JP7828393B2 - Program, method, and system - Google Patents
Program, method, and systemInfo
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
Description
本発明は、プログラム、方法、およびシステムに関する。 The present invention relates to a program, a method, and a system.
現実空間に仮想物体などの情報を付加し、現実の世界を拡張するAR(Augmented Reality、拡張現実(感))といった技術がある。具体的には、現実空間を撮影するカメラによって撮影された現実空間の画像に仮想オブジェクト(キャラクタなどの非現実オブジェクト)画像を合成して端末の表示部に表示する画像処理技術などである。また、このような拡張現実では、ユーザ操作によって、ユーザ好みの仮想オブジェクト(例えば、キャラクタオブジェクトなど)を現実の空間に存在するように表示させることが可能である(例えば、特許文献1参照)。 A technology called AR (Augmented Reality) adds information such as virtual objects to real space, enhancing the real world. Specifically, this is an image processing technology that synthesizes an image of a virtual object (a non-real object such as a character) onto an image of real space captured by a camera, and displays the image on a device's display. Furthermore, with this type of augmented reality, users can operate the device to display their preferred virtual object (e.g., a character object) as if it were actually in real space (see, for example, Patent Document 1).
ところで、前述の拡張現実を用いて屋外などで撮影をする場合がある。また、このような拡張現実での撮影をする際に、ユーザが納得する配置イメージ(構図)にするために、何度も仮想オブジェクトを配置し直すことなどにより、表示態様を調整する場合がある。しかし、撮影場所によっては、人目が気になることなどにより、撮影継続が困難な場合があり、結局ユーザが納得できる画像を完成させられないまま撮影を終了せざるを得ないこともある。 By the way, there are cases where the aforementioned augmented reality is used to take photos outdoors. Furthermore, when taking photos using such augmented reality, users may adjust the display mode by repeatedly rearranging virtual objects to create an arrangement image (composition) that satisfies them. However, depending on the shooting location, it may be difficult to continue taking photos due to concerns about being seen by others, and users may end up having to end the shoot without completing an image that satisfies them.
本発明は、かかる実情に鑑み考え出されたものであり、拡張現実画像の再編集を可能とするプログラム、方法、およびシステムを提供するものである。 The present invention was conceived in light of this situation, and provides a program, method, and system that enables the re-editing of augmented reality images.
(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等)する。
(1) A program according to an aspect of the present invention includes a computer (e.g., a user terminal 300) including an information acquisition unit (e.g., an information acquisition unit 350, a camera equipped with a depth sensor, etc.) that captures an image and acquires depth information (e.g., depth information) that enables the depth position of each real object that may be included in the image to be identified.
a means (e.g., step S102 in FIG. 10, an acquired information analysis unit 362, an augmented reality data generation unit 363, etc.) for identifying a real object (e.g., a person or object that actually exists, such as the chair R1 in FIG. 4) that may be included in the captured image based on depth information that may be identified from the information acquired by the information acquisition unit (e.g., a captured image, depth information, etc.) and for identifying a depth position of the real object in a virtual space (e.g., coordinates in the virtual space determined based on the depth information of the chair R1 in FIG. 4);
a means (e.g., steps S102 to S107 of FIG. 10 , an augmented reality data generating unit 363, etc.) for generating a virtual space (e.g., virtual space data in which the real object RO1 and the character object C are arranged, such as FIG. 5(D)) in which a real object corresponding to the real object identified in the virtual space is arranged at a depth position of the real object (e.g., generating a mask polygon for the real object RO1 so that it matches the real position and shape of the chair R1) and a specific object to be arranged in response to an operation from a user (e.g., arranging an unreal object such as a character object C or a sticker DO by a tap operation from the user);
a means (e.g., steps S103 to S107 of FIG. 10, an augmented reality data generating unit 363, a display control unit 364, an output unit 340, etc.) for displaying a composite image in which a portion of the specific object that overlaps with a real object located in front of the specific object is hidden and a portion that does not overlap can be superimposed on the captured image (e.g., an image in which a character object C is displayed in a state where it is occluded by a real object RO1, as shown in FIG. 6B), by combining the captured image with an object that is placed in the virtual space generated by the generating means;
a means (e.g., steps S108 to S109 in FIG. 10, the re-edited data management unit 365, etc.) for storing a captured image when a user performs a capture operation (e.g., a captured image that can be acquired by the information acquisition unit 350 when an operation is performed on the capture button S displayed on the capture screen in FIG. 4), and virtual space identification information for identifying the virtual space generated by the generating means (e.g., depth information, information on masks corresponding to real objects, etc.);
The virtual space data updating unit 363 functions as a unit (e.g., steps S201 to S209 in FIG. 11 , the augmented reality data generating unit 363, etc.) for updating specific objects (e.g., character object C, decorative object DO, etc.) to be placed in the virtual space based on the virtual space identification information (e.g., information on the depth of an object stored as re-editing data) stored by the storing unit in accordance with a change operation from the user (e.g., as exemplified in FIG. 6 , a change to the display mode in accordance with a change operation such as a change to the size, expression, motion, or type of character object C, or a change to a decorative object),
After the change operation, the displaying means displays a composite image obtained by combining the captured image stored by the storing means with the object placed in the virtual space being updated by the updating means (e.g., the augmented reality image after the re-editing operation in Figures 7 and 6 (B) to (D), steps S205 to S209 in Figure 11, etc.).
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に特定オブジェクトを変更し、当該撮像画像と合成した画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。 With this configuration, even after a composite image has been displayed and a photograph has been taken, it is possible to change the specific object afterward and regenerate an image composited with the captured image. This allows the user to change the specific object in a relaxed state, improving user convenience.
(2) 上記(1)において、前記変更操作に応じた態様は、特定オブジェクトの前記仮想空間内における配置位置の変更(例えば、拡大縮小・左右位置移動操作などに基づく仮想空間における座標の変更等)、異なる種類の特定オブジェクトへの変更(例えば、異なるキャラクタ、異なる装飾オブジェクトへの変更等)、および、前記特定オブジェクトの表示態様の変更(例えば、キャラクタオブジェクトCのモーション・表情・ポーズ・衣装等)のうちの少なくともいずれかを含む。 (2) In (1) above, the behavior in response to the change operation includes at least one of a change in the placement position of the specific object in the virtual space (e.g., a change in coordinates in the virtual space based on zooming in/out or moving the position left/right), a change to a different type of specific object (e.g., a change to a different character or a different decorative object), and a change in the display behavior of the specific object (e.g., the motion, facial expression, pose, or costume of character object C).
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、ユーザからの変更操作に応じて特定オブジェクトの変更を事後的に行うことができる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。 With this configuration, even after the composite image has been displayed and the photographing operation has been performed, the specific object can be changed after the fact in response to a change operation from the user. This allows the user to change the specific object in a relaxed state, improving user convenience.
(3) 上記(1)において、前記特定オブジェクトは、所定のモーションを伴うキャラクタオブジェクト(例えば、ダンス、ジャンプなどのアニメーション動作を行うキャラクタオブジェクトC等)を含み、
前記特定オブジェクトとして前記キャラクタオブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを所定のモーションで動作させて表示可能である(例えば、ダンスを踊る動きを伴う態様でキャラクタオブジェクトCが表示される等)。
(3) In the above (1), the specific object includes a character object with a predetermined motion (for example, a character object C that performs an animation action such as dancing or jumping),
When the character object is placed as the specific object, the display means can display the character object by moving it in a predetermined motion (for example, character object C is displayed in a manner involving dancing movements).
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的にキャラクタオブジェクトを動作させ、所定のタイミングの動きのキャラクタオブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。 With this configuration, even after the composite image is displayed and a photo is taken, the character object can be moved later and the character object's movements at a specified timing can be saved, thereby expanding the range of expression and increasing the user's interest.
(4) 上記(1)において、前記特定オブジェクトは、キャラクタオブジェクトと、アニメーションを伴う装飾オブジェクト(例えば、動きを伴う複数粒子から構成されたオブジェクトや、流体などを動作させるパーティクル、図9のパーティクルP等)とを含み、
前記特定オブジェクトとして前記キャラクタオブジェクトおよび前記装飾オブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを表示可能であるとともに、当該装飾オブジェクトを動作させて表示可能である(例えば、キャラクタオブジェクトCが表示されるとともに、パーティクルが動作を伴って表示される等)。
(4) In the above (1), the specific object includes a character object and an animation-related decorative object (for example, an object composed of multiple moving particles, a particle that moves a fluid, or the like, particle P in FIG. 9, etc.),
When the character object and the decorative object are arranged as the specific object, the displaying means is capable of displaying the character object and also of displaying the decorative object by moving it (for example, character object C is displayed and particles are displayed with movement, etc.).
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に装飾オブジェクトを動作させ、所定のタイミングの装飾オブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。 With this configuration, even after the composite image is displayed and a photo is taken, the decorative object can be activated later and the appearance of the decorative object at a specified timing can be saved, thereby expanding the range of expression and increasing the user's interest.
(5) 上記(3)または(4)において、前記コンピュータを、
前記表示する手段により動作させて表示される特定オブジェクトの動作速度を、ユーザからの操作に応じて変更する手段として機能させる(例えば、図6(D)の速度変更アイコンT4への操作などにより、キャラクタオブジェクトの動作をスローモーションに変更等)。
(5) In the above (3) or (4), the computer is
It functions as a means for changing the movement speed of a specific object that is operated and displayed by the display means in response to an operation from the user (for example, changing the movement of a character object to slow motion by operating the speed change icon T4 in Figure 6 (D)).
このような構成によれば、オブジェクトの動作タイミングについて、ユーザが望むタイミングでの特定が容易となるため、表現の幅が広がり、ユーザの興趣が向上する。 This configuration makes it easier for users to specify the timing of object movements at their desired timing, broadening the scope of expression and increasing user interest.
本発明のある局面にしたがう方法は、画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報(例えば、深度情報等)を取得する情報取得部(例えば、情報取得部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等)する。
A method according to an aspect of the present invention is a method for controlling a computer (e.g., a user terminal 300, etc.) including an information acquisition unit (e.g., an information acquisition unit 350, a camera equipped with a depth sensor, etc.) that captures an image and acquires depth information (e.g., depth information, etc.) that enables identification of a depth position of each real object that may be included in the image,
A step of identifying a real object (e.g., a person/object that actually exists, such as the chair R1 in FIG. 4 ) that may be included in the captured image based on depth information that may be identified from the information acquired by the information acquisition unit (e.g., the captured image, depth information, etc.) and identifying the depth position of the real object in the virtual space (e.g., coordinates in the virtual space determined based on the depth information of the chair R1 in FIG. 4 ) (e.g., step S102 in FIG. 10 , the acquired information analysis unit 362, the augmented reality data generation unit 363, etc.);
a step of generating a virtual space (e.g., virtual space data in which the real object RO1 and the character object C are arranged, such as in FIG. 5(D)) in which a real object corresponding to the real object identified in the virtual space is arranged at a depth position of the real object (e.g., generating a mask polygon for the real object RO1 so that it matches the real position and shape of the chair R1) and a specific object to be arranged in response to an operation from the user (e.g., arranging unreal objects such as the character object C and the sticker DO by a tap operation from the user); and
a step of displaying a composite image (e.g., steps S103 to S107 in FIG. 10, the augmented reality data generation unit 363, the display control unit 364, the output unit 340, etc.) in which a portion of the specific object that overlaps with a real object located in front of the specific object is hidden and a non-overlapping portion of the specific object can be superimposed on the captured image; and
a step of storing a captured image when a user performs a shooting operation (for example, a captured image that can be acquired by the information acquisition unit 350 when the shooting button S displayed on the shooting screen in FIG. 4 is operated), and virtual space identification information for identifying the virtual space generated in the generating step (for example, depth information, information on masks corresponding to real objects, etc.) (for example, steps S108 to S109 in FIG. 10, the re-edited data management unit 365, etc.);
a step of updating the virtual space (e.g., steps S201 to S209 in FIG. 11 , the augmented reality data generation unit 363, etc.) in which specific objects (e.g., character object C, decorative object DO, etc.) to be placed in the virtual space based on the virtual space identification information stored in the storing step (e.g., depth information of an object stored as re-editing data, etc.) are changed in accordance with a change operation from the user (e.g., as exemplified in FIG. 6 , a change to a display mode in accordance with a change operation such as a change to the size, expression, motion, or type of character object C, or a change to a decorative object, etc.);
The displaying step displays a composite image obtained by combining the captured image stored in the storing step with the object placed in the virtual space updated in the updating step after the change operation (e.g., the augmented reality image after the re-editing operation in Figures 7 and 6 (B) to (D), steps S205 to S209 in Figure 11, etc.).
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に特定オブジェクトを変更し、当該撮像画像と合成した画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。 With this configuration, even after a composite image has been displayed and a photograph has been taken, it is possible to change the specific object afterward and regenerate an image composited with the captured image. This allows the user to change the specific object in a relaxed state, improving user convenience.
(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等)する。
(7) A system according to an aspect of the present invention includes a computer (e.g., a user terminal 300) that captures an image and acquires depth information (e.g., depth information) that enables identification of a depth position of each real object that may be included in the image, and includes an information acquisition unit (e.g., an information acquisition unit 350, a camera equipped with a depth sensor, etc.),
a means (e.g., step S102 in FIG. 10, an acquired information analysis unit 362, an augmented reality data generation unit 363, etc.) for identifying a real object (e.g., a person or object that actually exists, such as the chair R1 in FIG. 4) that may be included in the captured image based on depth information that may be identified from the information acquired by the information acquisition unit (e.g., a captured image, depth information, etc.) and for identifying a depth position of the real object in a virtual space (e.g., coordinates in the virtual space determined based on the depth information of the chair R1 in FIG. 4);
a means for generating a virtual space (e.g., virtual space data in which the real object RO1 and the character object C are arranged, such as in FIG. 5(D)) in which a real object corresponding to the real object identified in the virtual space is arranged at a depth position of the real object (e.g., generating a mask polygon for the real object RO1 so as to match the real position and shape of the chair R1) and a specific object to be arranged in response to a user operation (e.g., arranging an unreal object such as a character object C or a sticker DO by a tap operation from the user) is arranged (e.g., steps S102 to S107 of FIG. 10, an augmented reality data generating unit 363, etc.);
a means (e.g., steps S103 to S107 of FIG. 10, an augmented reality data generating unit 363, a display control unit 364, an output unit 340, etc.) for displaying a composite image in which a portion of the specific object that overlaps with a real object located in front of the specific object is hidden and a portion that does not overlap can be superimposed on the captured image (e.g., an image in which a character object C is displayed in a state where it is occluded by a real object RO1, as shown in FIG. 6B), by combining the captured image with an object that is placed in the virtual space generated by the generating means;
a means (e.g., steps S108 to S109 in FIG. 10, the re-edited data management unit 365, etc.) for storing a captured image when a user performs a capture operation (e.g., a captured image that can be acquired by the information acquisition unit 350 when an operation is performed on the capture button S displayed on the capture screen in FIG. 4), and virtual space identification information for identifying the virtual space generated by the generating means (e.g., depth information, information on masks corresponding to real objects, etc.);
a means for updating the virtual space (e.g., steps S201 to S209 in FIG. 11 , an augmented reality data generation unit 363, etc.) so that specific objects (e.g., character object C, decorative object DO, etc.) placed in the virtual space based on the virtual space identification information (e.g., information on the depth of an object stored as re-editing data) stored by the storing means are displayed in a manner corresponding to a change operation from the user (e.g., as illustrated in FIG. 6 , a change to the display manner corresponding to a change operation such as a change to the size, expression, motion, or type of character object C, or a change to a decorative object, etc.);
After the change operation, the displaying means displays a composite image obtained by combining the captured image stored by the storing means with the object placed in the virtual space being updated by the updating means (e.g., the augmented reality image after the re-editing operation in Figures 7 and 6 (B) to (D), steps S205 to S209 in Figure 11, etc.).
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に特定オブジェクトを変更し、当該撮像画像と合成した画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。 With this configuration, even after a composite image has been displayed and a photograph has been taken, it is possible to change the specific object afterward and regenerate an image composited with the captured image. This allows the user to change the specific object in a relaxed state, improving user convenience.
以下、図面を参照しつつ本発明に係る通信システムについての実施の形態について説明する。なお、本発明は以下の例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。 Embodiments of a communication system according to the present invention will be described below with reference to the drawings. Note that the present invention is not limited to the examples below, but is defined by the claims, and all modifications within the meaning and scope of the claims are intended to be included in the present invention. In the following description, identical elements in the drawings will be given the same reference numerals, and redundant explanations will not be repeated.
本実施例は、現実空間を撮像した撮像画像に、仮想的な3次元コンピュータグラフィック(3DCG)を合成して表示する拡張現実感をユーザに体験させることができるプログラムに関する。例えば、ユーザが操作するスマートフォンなどにおいて、ユーザ好みのキャラクタオブジェクトなどを、現実の空間に配置させた画像を表示させることができる。また、本実施例におけるキャラクタオブジェクトには、キャラクタの身長に関する情報が関連付けられており、ユーザ端末において現実空間の撮像とともに取得された深度情報を基に、現実の空間と設定された身長とが適合するようにキャラクタオブジェクトが配置される。これにより、ユーザは現実空間にキャラクタが存在するような感覚を抱くことができる。 This embodiment relates to a program that allows a user to experience augmented reality by synthesizing and displaying virtual three-dimensional computer graphics (3DCG) on captured images of real space. For example, an image of a character object of the user's choice placed in real space can be displayed on a smartphone operated by the user. In addition, information regarding the character's height is associated with the character object in this embodiment, and the character object is placed so that the real space matches the set height based on depth information acquired on the user's device along with capturing an image of the real space. This allows the user to feel as if the character is actually present in real space.
ところが、拡張現実でキャラクタオブジェクト等を配置する際に、すぐにユーザが所望する配置位置、つまり画角にならないこともある。例えば、被写体が実際の現実に存在するモデルであった場合、撮影者(カメラマンなど)は、納得する構図の写真が撮れるまで、何度も撮影操作を行う。つまり、何枚もの撮像画像データを生成する。何度も撮影操作する際には、例えば、撮影者が、モデルに対して立ち位置やポーズなどに指示を出し、納得する画(構図)となるまで微調整をすることがある。この被写体がCGキャラクタであった場合、ユーザ操作によってキャラクタの配置位置や、アングル(角度)などの調整がされる。このとき、ユーザ画面には被写体が表示されているが、撮影者であるユーザの周囲の人間からは、被写体は見えていない。そのため、拡張現実による撮影行為を長時間にわたって行っていた場合、周囲に不信に思われる虞があり、結局、ユーザは納得がいかずとも撮影を終了せざるを得ない状況になることもあった。 However, when placing a character object or the like in augmented reality, the desired position, or angle of view, may not always be achieved immediately. For example, if the subject is a model that exists in the real world, the photographer (e.g., a cameraman) will repeatedly capture images until they are satisfied with the composition. In other words, multiple captured image data will be generated. When capturing images multiple times, the photographer may, for example, give instructions to the model about their position and pose, and make fine adjustments until they are satisfied with the image (composition). If the subject is a CG character, the user adjusts the character's position and angle. At this time, the subject is displayed on the user's screen, but is not visible to people around the user who is taking the photo. Therefore, if the user continues capturing images using augmented reality for a long period of time, there is a risk that those around them will become suspicious, and the user may end up having no choice but to end the capture even if they are not satisfied with the result.
そこで、本実施例における拡張現実をユーザに体験させる処理を実行するプログラムにおいては、拡張現実による撮影後であったとしても、事後的に再編集可能となるようにした。さらに、拡張現実による撮影をした画像データ(例えば、ラスタライズされる前の画像)に対する装飾機能を備える。従来の装飾機能を実行可能なアプリケーション(デコレーション機能・画像編集アプリケーション)などでは、2次元(x,y軸)の情報に基づいて、シール(スタンプ)などの装飾の大小の変更が可能であったが、本実施例においては、3次元(x,y,z軸)の概念を用いた画像編集が可能となる。つまり、現実空間の撮像とともに取得した情報に含まれる深度情報や画像編集に用いる仮想オブジェクトの奥行きの情報を用いて従来よりも画像を装飾する際の表現の幅を広げることを可能とした。 Therefore, in this embodiment, the program that executes the process of allowing the user to experience augmented reality allows for subsequent re-editing, even after an image has been captured using augmented reality. Furthermore, it is equipped with a decoration function for image data captured using augmented reality (for example, an image before it is rasterized). While conventional applications capable of executing decoration functions (decoration functions/image editing applications) allowed for the size of decorations such as stickers (stamps) to be changed based on two-dimensional (x, y axis) information, this embodiment enables image editing using three-dimensional (x, y, z axis) concepts. In other words, it is now possible to expand the range of expression when decorating images compared to the past by using depth information included in information acquired along with capturing an image of real space and depth information of virtual objects used in image editing.
図1は、通信システム1のハードウェア構成例を示す図である。通信システム1は、配信サーバ100と、複数のユーザ端末300a、300b、300c…とを含む。複数のユーザ端末300a、300b、300c…は、複数のユーザ各々が所有する端末であって、以下ではまとめてユーザ端末300ともいう。 Figure 1 is a diagram showing an example hardware configuration of communication system 1. Communication system 1 includes a distribution server 100 and multiple user terminals 300a, 300b, 300c, etc. The multiple user terminals 300a, 300b, 300c, etc. are terminals owned by multiple users, and are hereinafter collectively referred to as user terminals 300.
配信サーバ100、およびユーザ端末300は、各々、ネットワーク2を介して通信接続可能であり、双方向に情報(データ)を送受信できる。ネットワーク2は、例えばインターネットであり、LAN(Local Area Network)、WAN(Wide Area Network)、移動通信網(例えば、5G、無線ネットワークなど)、有線電話網、FTTH(Fiber To The Home)、CATV(Cable Television)網等のアクセス網などで構成される。 The distribution server 100 and the user terminal 300 can each communicate via network 2, allowing them to send and receive information (data) in both directions. Network 2 is, for example, the Internet, and is composed of access networks such as LANs (Local Area Networks), WANs (Wide Area Networks), mobile communication networks (e.g., 5G, wireless networks, etc.), wired telephone networks, FTTH (Fiber To The Home), and CATV (Cable Television) networks.
配信サーバ100は、例えば、通信機能を有するワークステーションまたはパーソナルコンピュータなどのコンピュータである。配信サーバ100は、現実の世界と仮想世界とを融合するXR(Extended Reality)を、ユーザに提供する(体験させる)ためのプログラムやコンテンツデータ等を管理する。例えば、ユーザ端末において本実施例における拡張現実による画像表示処理を実行可能とするプログラムや、コンピュータ上に構築される仮想的な世界である仮想空間(例えば、拡張現実による画像表示処理を行うための仮想空間、メタバース空間を含む)を管理し、ネットワーク2を介してユーザ端末300に提供する。 The distribution server 100 is, for example, a computer such as a workstation or personal computer with communication capabilities. The distribution server 100 manages programs and content data for providing (allowing users to experience) XR (Extended Reality), which blends the real world and the virtual world. For example, the distribution server 100 manages programs that enable the user terminal to execute the augmented reality image display processing of this embodiment, and virtual spaces, which are virtual worlds constructed on a computer (including, for example, virtual spaces for executing augmented reality image display processing, and metaverse spaces), and provides these to the user terminal 300 via the network 2.
仮想空間は、提供されるコンテンツの種類毎に管理・設定されている。提供可能なコンテンツには、拡張現実の他、例えば、ゲーム、ライブ、イベント、番組などを視聴・体験可能なコンテンツや、ユーザ間におけるチャットやエモートなどを利用して交流やコミュニケーションを図るコンテンツなどが含まれるが、これに限るものではない。また、例えば、仮想空間がいわゆるメタバース空間であれば、ユーザは、ユーザ端末300を用いて配信サーバ100にアクセスし、所望するコンテンツを選択することにより、当該コンテンツへシームレスに参加(回遊)して、当該コンテンツに応じた仮想空間を視聴・体験等が可能となる。 Virtual spaces are managed and configured for each type of content provided. In addition to augmented reality, content that can be provided includes, but is not limited to, content that allows users to view or experience games, live performances, events, and programs, as well as content that allows users to interact and communicate with each other using chat and emotes. For example, if the virtual space is a so-called metaverse space, users can access the distribution server 100 using the user terminal 300 and select the desired content, thereby seamlessly participating in (navigating) that content and viewing or experiencing the virtual space corresponding to that content.
仮想空間には、コンテンツの種類に応じて、CG(Computer Graphics)によって生成される3次元の空間(3次元データに基づき構築される空間)や、2次元の空間(2次元データに基づき構築される空間)が含まれる。また、仮想空間には、仮想キャラクタ(アバターオブジェクト・キャラクタオブジェクト)や、コンテンツの種類に応じた背景・仮想的な物体を示すオブジェクト、ユーザが選択可能なメニューオブジェクトなどが配置される。 Depending on the type of content, virtual space can include three-dimensional space (space constructed based on three-dimensional data) generated by CG (Computer Graphics) or two-dimensional space (space constructed based on two-dimensional data). Virtual spaces also contain virtual characters (avatar objects, character objects), objects representing backgrounds and virtual objects according to the type of content, and menu objects that can be selected by the user.
コンテンツデータには、例えば、仮想空間内に配置されるオブジェクトなどに関する情報(例えば、オブジェクトの種類、配置位置、向き、姿勢、態様など)を特定するための情報や、当該仮想空間に参加しているユーザ各々のユーザキャラクタなどに関する情報(例えば、ユーザキャラクタの種類、配置位置、向き、姿勢、態様、モーションデータ、音声データなど)、コンテンツの種類に応じた背景・仮想的な物体を示すオブジェクト、ユーザにより選択されるメニューオブジェクトなどを特定するための情報を含む。 Content data includes, for example, information for identifying information about objects placed within the virtual space (e.g., object type, placement position, orientation, posture, appearance, etc.), information about the user characters of each user participating in the virtual space (e.g., user character type, placement position, orientation, posture, appearance, motion data, audio data, etc.), objects representing backgrounds and virtual objects according to the type of content, and information for identifying menu objects selected by the user.
なお、本実施の形態における配信サーバ100は、1台のコンピュータによって実現されていてもよいし、また、複数台のコンピュータ(例えば、複数台のサーバ)によって実現されているものであってもよい。 Note that the distribution server 100 in this embodiment may be realized by a single computer, or may be realized by multiple computers (e.g., multiple servers).
ユーザ端末300は、拡張現実による画像を表示可能なコンピュータであり、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン等の操作入力機能や通信機能を有するコンピュータである。 The user terminal 300 is a computer capable of displaying augmented reality images, such as a personal computer, tablet terminal, smartphone, or other computer with operation input and communication functions.
ユーザ端末300は、当該端末への操作に応じて、配信サーバ100と通信して受信したプログラムを実行可能である。ユーザ端末300は、ユーザが選択したコンテンツのコンテンツデータを配信サーバ100から受信する。また、ユーザ端末300は、受信したコンテンツデータに基づいて、配信サーバ100において構築されている仮想空間のうちユーザが選択したコンテンツの仮想空間をユーザ端末300の記憶領域内において構築し、当該仮想空間内の画像を表示するとともに音を出力する。これにより、ユーザ端末300を介して、コンテンツの仮想空間を視聴・体験等が可能となる。例えば、ユーザ端末300は、配信サーバ100から受信した拡張現実による画像表示処理を行うためのプログラムに基づいて、情報取得部(カメラなど)によって取得し得る撮像画像(画像データ)と、CG等を合成して、ユーザに拡張現実を提供することを可能とする。以下では、拡張現実による画像表示処理を行うためのプログラムによって、ユーザに拡張現実を提供するアプリケーションのことをARコンテンツとも称する。ユーザに拡張現実を提供するアプリケーションとは、例えば、ユーザ端末300にインストール可能なアプリケーションである。 The user terminal 300 can communicate with the distribution server 100 and execute programs received in response to operations on the terminal. The user terminal 300 receives content data for content selected by the user from the distribution server 100. Based on the received content data, the user terminal 300 constructs a virtual space for the content selected by the user from the virtual spaces constructed on the distribution server 100 in its own storage area, and displays images and outputs sounds from the virtual space. This allows the user to view and experience the content's virtual space via the user terminal 300. For example, the user terminal 300 can provide the user with augmented reality by combining captured images (image data) acquired by an information acquisition unit (such as a camera) with CG, etc., based on a program for performing augmented reality image display processing received from the distribution server 100. Hereinafter, an application that provides augmented reality to the user using a program for performing augmented reality image display processing is also referred to as AR content. An application that provides augmented reality to the user is, for example, an application that can be installed on the user terminal 300.
<配信サーバの構成>
次に、配信サーバ100の構成を説明する。図2に示すように、配信サーバ100は、他のコンピュータと通信を行う通信部110と、各種データを記憶する記憶部120と、コンピュータ全体の制御を行う制御部130とを備える。通信部110、記憶部120、および、制御部130は、バスラインによって相互に接続される。
<Configuration of distribution server>
Next, the configuration of distribution server 100 will be described. As shown in Fig. 2, distribution server 100 includes a communication unit 110 that communicates with other computers, a storage unit 120 that stores various data, and a control unit 130 that controls the entire computer. Communication unit 110, storage unit 120, and control unit 130 are interconnected by a bus line.
通信部110は、有線通信又は無線通信を行うためのNIC(Network Interface Card controller)を備える通信インターフェースである。通信部110は、ネットワーク2を介して、他のコンピュータと通信を行う。 The communication unit 110 is a communication interface equipped with a NIC (Network Interface Card controller) for wired or wireless communication. The communication unit 110 communicates with other computers via the network 2.
記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等から構成される。記憶部120は、各種制御処理を実行するためのプログラム(例えば、拡張現実による撮影や画像表示を可能とするARコンテンツや、メタバースなどの仮想空間)を用いたコンテンツを管理・提供するためのプログラムなど)、各種データ等を記憶する。記憶部120に記憶される各種データには、ユーザに提供されるARコンテンツにおいて表示し得るオブジェクトデータを記憶するオブジェクトデータ121などが記憶されている。また、図示していないが、コンテンツ(例えばゲームコンテンツ)の種類毎に設けられている仮想空間の画像を特定するための情報を含むゲームプログラムや、ユーザに関するユーザ情報などが含まれる。ユーザに関するユーザ情報には、例えば、ユーザを識別するためのIDや、ユーザ名などを含む。 The storage unit 120 is composed of RAM (Random Access Memory), ROM (Read Only Memory), flash memory, HDD (Hard Disk Drive), etc. The storage unit 120 stores programs for executing various control processes (e.g., AR content that enables augmented reality photography and image display, and programs for managing and providing content using virtual spaces such as the Metaverse), various data, etc. The various data stored in the storage unit 120 includes object data 121 that stores object data that can be displayed in AR content provided to the user. Also included, although not shown, are game programs that include information for identifying images of virtual spaces provided for each type of content (e.g., game content), and user information related to the user. User information related to the user includes, for example, an ID for identifying the user and a username.
オブジェクトデータ121には、ユーザに提供するARコンテンツの仮想空間において配置される各種オブジェクトが含まれ、管理されている。記憶部120に記憶されるオブジェクトデータのテーブルには、各種オブジェクトの形状や模様、各種オブジェクトの生成に必要なキャッシュや仮想通貨の額など情報が記憶されている。 Object data 121 includes and manages various objects that are placed in the virtual space of the AR content provided to the user. The object data table stored in the storage unit 120 stores information such as the shape and pattern of various objects, and the amount of cash or virtual currency required to generate the various objects.
オブジェクトとは、例えば、キャラクタオブジェクトや装飾オブジェクトなど、2次元および3次元のCGデータが含まれる。これらのCGデータは、ユーザの任意の操作によって拡張現実の画像に表示させることが可能である。以降、本実施例においては、キャラクタオブジェクトや、装飾オブジェクトなどの、現実空間の物体とは異なる仮想オブジェクトを非現実オブジェクトとも称する。非現実オブジェクトは、撮像画像内の現実空間の物体とは異なるオブジェクトであればよく、現実空間には存在し得ないオブジェクトや、現実空間の物体を模したオブジェクトなど様々な仮想的なオブジェクトを含む。撮像画像内の現実空間の物体等と対応するオブジェクト(例えば、現実空間を撮像した撮像画像内に含まれる物体や面などに対応するオブジェクト・ポリゴンマスクなど)を、現実オブジェクトとも称する。また、キャラクタオブジェクトの表示態様は、ユーザ操作に応じて変更可能である。例えば、キャラクタの表情・ポーズ・衣装・モーションなの変更が可能である。キャラクタオブジェクトには、予めキャラクタに応じた身長が定められている。 Objects include, for example, two-dimensional and three-dimensional CG data such as character objects and decorative objects. This CG data can be displayed in an augmented reality image through user manipulation. Hereinafter, in this embodiment, virtual objects that differ from real-space objects, such as character objects and decorative objects, are also referred to as unreal objects. Unreal objects are objects that differ from real-space objects in the captured image, and include various virtual objects such as objects that do not exist in real space and objects that mimic real-space objects. Objects that correspond to real-space objects in the captured image (e.g., objects and polygon masks that correspond to objects or surfaces contained in a captured image of real space) are also referred to as real objects. Furthermore, the display mode of a character object can be changed in response to user manipulation. For example, the character's facial expression, pose, costume, and motion can be changed. A height corresponding to the character is predetermined for each character object.
装飾オブジェクトには、例えば、文字やアイコンなどのデコレーション(シール、スタンプ等)・フレーム・パーティクルなどが含まれる。装飾オブジェクトの表示態様は、ユーザ操作に応じて変更可能である。例えば、装飾オブジェクトの大きさ・色・柄などの変更が可能である。パーティクルとは、アニメーションを伴う視覚エフェクトであって、例えば、雪・花・雨・光などといった複数の粒子で構成されたオブジェクトや、水・炎などの流体などを動作させるオブジェクトであり、所定エリアに雪が降る演出や、所定エリアが燃え上がる演出などが可能となる。 Decorative objects include, for example, decorations such as letters and icons (stickers, stamps, etc.), frames, and particles. The display mode of decorative objects can be changed in response to user operations. For example, the size, color, and pattern of decorative objects can be changed. Particles are visual effects that accompany animation, and are objects that move objects made up of multiple particles such as snow, flowers, rain, and light, or fluids such as water and fire, making it possible to create effects such as snow falling in a specified area or a specified area bursting into flames.
制御部130は、CPU(Central Processing Unit)等から構成される。制御部130は、記憶部120に記憶されているプログラムを実行することにより、配信サーバ100の全体の動作を制御する。 The control unit 130 is composed of a CPU (Central Processing Unit) and other components. The control unit 130 controls the overall operation of the distribution server 100 by executing programs stored in the storage unit 120.
以下、制御部130の機能的な構成を説明する。制御部130は、少なくとも、データ送受信部131や、コンテンツ管理部、ユーザ管理部(図示していない)などとして機能する。 The functional configuration of the control unit 130 will be described below. The control unit 130 functions as at least a data transmission/reception unit 131, a content management unit, and a user management unit (not shown).
データ送受信部131は、ユーザ端末300から送信される各種情報の受信や、ユーザ端末300に対して各種情報の送信を行う。データ送受信部131は、記憶部120に格納されている各種管理テーブルを参照する。データ送受信部131が送受信を行う各種情報には、例えば、コンテンツ管理部において管理されている仮想空間内に配置されるオブジェクトに関する情報(例えば、ユーザに関連付けられるオブジェクトを仮想空間内に配置する操作、削除する操作、移動する操作など)の他、ゲーム情報、各種通知などが含まれる。仮想空間内に配置されるオブジェクトに関する情報は、例えば、オブジェクトデータ121として記憶されるキャラクタオブジェクトや、装飾オブジェクトを、ユーザ端末300において表示させるための情報などを含む。 The data transmission/reception unit 131 receives various information transmitted from the user terminal 300 and transmits various information to the user terminal 300. The data transmission/reception unit 131 references various management tables stored in the memory unit 120. The various information transmitted and received by the data transmission/reception unit 131 includes, for example, information about objects placed in the virtual space managed by the content management unit (for example, operations to place, delete, or move an object associated with the user in the virtual space), as well as game information and various notifications. Information about objects placed in the virtual space includes, for example, information for displaying character objects and decorative objects stored as object data 121 on the user terminal 300.
<ユーザ端末の構成>
次に、ユーザ端末300の構成を詳細に説明する。図3に示すように、ユーザ端末は、配信サーバ100を含む他のコンピュータと通信を行う通信部310と、各種データを記憶する記憶部320と、操作などを入力するための操作部330と、画像などを出力するための出力部340と、情報取得部350と、コンピュータ全体の制御を行う制御部360とを備える。通信部310、記憶部320、操作部330、出力部340、情報取得部350、および、制御部360は、バスラインによって相互に接続される。
<Configuration of user terminal>
Next, the configuration of user terminal 300 will be described in detail. As shown in Fig. 3, the user terminal includes a communication unit 310 that communicates with other computers including distribution server 100, a storage unit 320 that stores various data, an operation unit 330 for inputting operations, an output unit 340 for outputting images, an information acquisition unit 350, and a control unit 360 that controls the entire computer. Communication unit 310, storage unit 320, operation unit 330, output unit 340, information acquisition unit 350, and control unit 360 are interconnected by a bus line.
通信部310は、有線通信又は無線通信を行うための通信インターフェースである。通信部310は、ネットワーク2を介して、配信サーバ100を含む他のコンピュータと通信を行う。 The communication unit 310 is a communication interface for wired or wireless communication. The communication unit 310 communicates with other computers, including the distribution server 100, via the network 2.
記憶部320は、RAM、ROM等から構成されるメモリである。記憶部320は、各種制御処理を実行するためのプログラム(例えば、拡張現実による撮影や画像表示を可能とするARコンテンツのアプリケーションを実行するためのプログラム、メタバースなどの仮想空間を用いたコンテンツを視聴等するためのプログラムなど)、各種データ等を記憶する。各種データとしては、例えば、配信サーバ100のオブジェクトデータ121として記憶されるキャラクタオブジェクトや装飾オブジェクト、拡張現実による合成画像について、ユーザによって再編集可能とするためのデータ(例えば、撮像画像や、各種オブジェクトの座標を特定する仮想空間データ)などが含まれる。 The storage unit 320 is a memory composed of RAM, ROM, etc. The storage unit 320 stores programs for executing various control processes (for example, a program for executing an AR content application that enables augmented reality photography and image display, a program for viewing content that uses virtual spaces such as the Metaverse, etc.), various data, etc. Examples of the various data include character objects and decorative objects stored as object data 121 on the distribution server 100, and data that allows users to re-edit synthesized images created by augmented reality (for example, captured images and virtual space data that specifies the coordinates of various objects).
操作部330は、ユーザからの入力操作・音声を受け付けるための入力装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード、マイクロフォン等)を含む。本実施形態におけるユーザ操作とは、これらの操作部330に対するユーザからの操作をいう。例えば、タッチパネルに対するタッチ操作、スライド操作、フリック操作、あるいは、ボタン操作や、ドラッグ(スワイプ)操作、ピンチイン/アウト操作、ユーザ端末300の表示部に表示されるアイコンに対する操作や、ポインティングデバイス、キーボードに対する操作、マイクロフォンに対する音声入力などが含まれる。操作部330に対するユーザからの操作によって、ARコンテンツによって表示され得る非現実オブジェクトの選択や移動、回転、拡縮操作などが可能となる。 The operation unit 330 includes an input device (e.g., a touch panel, touch pad, pointing device such as a mouse, keyboard, microphone, etc.) for receiving input operations and voice from the user. In this embodiment, user operations refer to operations from the user on the operation unit 330. Examples include touch operations on the touch panel, slide operations, flick operations, button operations, drag (swipe) operations, pinch-in/out operations, operations on icons displayed on the display unit of the user terminal 300, operations on a pointing device or keyboard, and voice input to a microphone. User operations on the operation unit 330 enable the selection, movement, rotation, scaling, etc. of unreal objects that may be displayed by the AR content.
出力部340は、ユーザに対し情報(テキスト、画像、音声等)を提示・出力するための出力装置(ディスプレイなどの表示部、スピーカ等)を含む。 The output unit 340 includes an output device (such as a display unit or speaker) for presenting and outputting information (text, images, audio, etc.) to the user.
情報取得部350は、現実空間に関する情報を取得するための入力装置であって、カメラや、加速度センサ、ジャイロセンサ等の各種センサを備える。情報取得部350は、現実空間の撮像処理を行い、情報取得部350から現実空間の物体までの距離(例えば、深度、奥行位置)や、物体の形状等を特定する。情報取得部350は、例えば、レンズ(光学系)と、イメージセンサ(撮像素子)とを組み合わせたカメラであって、端末から物体等までの距離や、物体間の距離を測定する深度センサを備えた深度センシングカメラ等が含まれる。例えば、デプスセンサ(例えば、ToF(Time of Flight)方式のセンサなど)が搭載されたカメラなどが含まれる。なお、カメラは、深度を推定可能なステレオカメラであってもよく、撮像画像内の深度を推定可能にする種々のセンサを搭載したカメラを用いることが可能である。 The information acquisition unit 350 is an input device for acquiring information about real space, and includes various sensors such as a camera and an acceleration sensor and a gyro sensor. The information acquisition unit 350 performs imaging processing of real space and identifies the distance from the information acquisition unit 350 to an object in real space (e.g., depth, depth position) and the shape of the object. The information acquisition unit 350 is, for example, a camera that combines a lens (optical system) and an image sensor (image capture element), and includes a depth-sensing camera equipped with a depth sensor that measures the distance from the terminal to an object or the distance between objects. For example, it includes a camera equipped with a depth sensor (e.g., a ToF (Time of Flight) sensor). The camera may be a stereo camera capable of estimating depth, or it is possible to use a camera equipped with various sensors that enable depth estimation within a captured image.
制御部360は、CPU等から構成される。制御部360は、記憶部320に記憶されているプログラムを実行することにより、ユーザ端末300の全体の動作を制御や演算を行う。 The control unit 360 is composed of a CPU and other components. The control unit 360 controls the overall operation of the user terminal 300 and performs calculations by executing programs stored in the storage unit 320.
以下、制御部360の機能的な構成を説明する。制御部360には、ARコンテンツを表示させるための画像処理部361が含まれる。画像処理部361は、取得情報解析部362、拡張現実データ生成部363、表示制御部364、および、再編集データ管理部365などとして機能する。 The functional configuration of the control unit 360 will be described below. The control unit 360 includes an image processing unit 361 for displaying AR content. The image processing unit 361 functions as an acquired information analysis unit 362, an augmented reality data generation unit 363, a display control unit 364, and a re-edited data management unit 365, among others.
取得情報解析部362は、情報取得部350によって取得した撮像画像(一般的なカメラ映像)や情報取得部350のデプスセンサによって特定(推定)される深度情報(奥行情報であって、センサによる測定や機械学習による深度推定に基づき生成された画像形式の情報))に基づいて、現実空間の平面(水平あるいは垂直)の検出や、物体等の検出・座標の特定を行う。例えば、情報取得部350により取得される画像内に映る物体の形状を特定し、当該物体の位置(座標)の特定を行うことが可能である。また、取得情報解析部362は、情報取得部350によって撮影された撮像画像に関連付けられるカメラセンサのサイズ、焦点距離、明るさ等のカメラに関する情報を特定する。取得情報解析部362は、情報取得部350によって取得した情報に基づき座標系(例えば、ワールド座標)を決定する。 The acquired information analysis unit 362 detects planes (horizontal or vertical) in real space and identifies the coordinates of objects, etc., based on the captured image (general camera image) acquired by the information acquisition unit 350 and the depth information (depth information in image format generated based on sensor measurements or depth estimation by machine learning) identified (estimated) by the depth sensor of the information acquisition unit 350. For example, it is possible to identify the shape of an object shown in the image acquired by the information acquisition unit 350 and identify the position (coordinates) of the object. The acquired information analysis unit 362 also identifies information about the camera, such as the size, focal length, and brightness of the camera sensor, associated with the captured image captured by the information acquisition unit 350. The acquired information analysis unit 362 determines a coordinate system (e.g., world coordinates) based on the information acquired by the information acquisition unit 350.
拡張現実データ生成部363は、ARコンテンツによって表示され得る非現実オブジェクト(キャラクタオブジェクトや装飾オブジェクト等)を配置するための仮想空間(拡張現実を実現するための仮想空間)を生成する。以降説明する拡張現実を実現するための仮想空間は、拡張現実による座標を特定するための情報であり、少なくとも、非現実オブジェクトと、現実空間の物体等(現実オブジェクト)との前後関係を特定可能とする情報を含むものであればよい。本実施例における仮想空間内の位置は、深度情報等に基づいて取得情報解析部362によって決定された座標に基づいて特定される。拡張現実データ生成部363は、ユーザ操作により、記憶部320に記憶されるキャラクタオブジェクトや装飾オブジェクトなどを仮想空間内に配置する。拡張現実データ生成部363は、情報取得部350によって取得される情報に基づいて、仮想空間の仮想カメラを、現実の撮像画像に対応(相当)する位置に配置し、仮想カメラの位置や、向き、傾きなどを制御する。また、拡張現実データ生成部363は、仮想カメラから取得する仮想空間内のオブジェクトの画像と、情報取得部350によって取得される撮像画像とを合成した合成画像を生成する。 The augmented reality data generation unit 363 generates a virtual space (a virtual space for realizing augmented reality) in which unreal objects (such as character objects and decorative objects) that can be displayed by AR content are placed. The virtual space for realizing augmented reality, described below, is information for identifying coordinates using augmented reality and includes at least information that enables identification of the anteroposterior relationship between unreal objects and objects in real space (real objects). In this embodiment, a position within the virtual space is identified based on coordinates determined by the acquired information analysis unit 362 based on depth information, etc. The augmented reality data generation unit 363 places character objects, decorative objects, etc. stored in the memory unit 320 in the virtual space in response to user operation. Based on information acquired by the information acquisition unit 350, the augmented reality data generation unit 363 places a virtual camera in the virtual space at a position corresponding to (equivalent to) the real-world captured image and controls the position, orientation, tilt, etc. of the virtual camera. In addition, the augmented reality data generation unit 363 generates a composite image by combining an image of an object in the virtual space acquired from the virtual camera with the captured image acquired by the information acquisition unit 350.
また、拡張現実データ生成部363は、取得情報解析部362によって検出された物体などに対応する現実オブジェクトとして、後述する図5(C)、(D)に示すように透明ポリゴンメッシュ(以降単にマスク、あるいは、マスクポリゴンとも称する。)を生成する。当該マスクは、撮像情報の深度情報等によって特定された座標(配置位置)に配置される。例えば、拡張現実データ生成部363は、情報取得部350によって取得した深度情報等を用いてマスクポリゴンを作成し、仮想空間上でキャラクタオブジェクトとマスクポリゴンとの前後関係を作ることを可能とする。なお、当該マスクは、透明であって表示されるものではないが、現実の物体に対応するオブジェクトであるため現実オブジェクトとも称する。 The augmented reality data generation unit 363 also generates a transparent polygon mesh (hereinafter simply referred to as a mask or mask polygon) as a real object corresponding to the object detected by the acquired information analysis unit 362, as shown in Figures 5(C) and (D) described below. The mask is placed at coordinates (placement position) specified by depth information, etc., of the imaging information. For example, the augmented reality data generation unit 363 creates a mask polygon using depth information, etc., acquired by the information acquisition unit 350, making it possible to create a front-to-back relationship between the character object and the mask polygon in virtual space. Note that although the mask is transparent and not displayed, it is also referred to as a real object because it is an object corresponding to a real object.
表示制御部364は、通信部310によって取得したコンテンツデータに基づいて記憶部320に記憶されている仮想空間のうち、仮想カメラからの視界である視界領域に対応する画像を表示部(ディスプレイなど)に表示させる。つまり、ユーザは、入力部330への操作に応じて仮想空間内に配置されている仮想カメラの位置や、向き、傾きなどを変更することにより、仮想空間内の画像のうち仮想カメラの視界領域内の画像をユーザ端末300に表示させて視認することができる。また、表示制御部364は、拡張現実データ生成部363によって生成された現実空間の画像と仮想空間の画像との合成画像を表示部(ディスプレイなど)に表示する。表示制御部364は、例えば、二次元または三次元の画像データをレンダリングして描画する。 The display control unit 364 displays on the display unit (such as a display) an image of the virtual space stored in the storage unit 320 based on the content data acquired by the communication unit 310, which corresponds to the field of view of the virtual camera. In other words, the user can change the position, orientation, tilt, etc. of the virtual camera placed in the virtual space in response to operations on the input unit 330, thereby displaying on the user terminal 300 an image of the virtual space within the field of view of the virtual camera. The display control unit 364 also displays on the display unit (such as a display) a composite image of the real space image and the virtual space image generated by the augmented reality data generation unit 363. The display control unit 364, for example, renders and draws two-dimensional or three-dimensional image data.
再編集データ管理部365は、表示制御部364によってユーザ端末300の表示部に表示されている現実空間の画像と仮想空間の画像との合成画像(拡張現実の画像)を、操作部330に対するユーザからの撮影操作を受け付けることにより、記憶部320に記憶する。また、ARコンテンツによって撮影された拡張現実の画像を、再編集可能とするように再編集用データを記憶部320に記憶する。再編集用データには、撮影当時のカメラから見た瞬間の世界を、マスク情報に対する加筆・修正(例えば、深度の上書き)を可能とする状態で再現するための情報が含まれる。例えば、背景となる撮像画像(一般的なカメラ映像)、と、仮想空間を特定するための仮想空間特定用情報とが含まれる。仮想空間特定用情報には、例えば、深度情報、現実の物体に対応する透明ポリゴンメッシュの情報、背景の撮像画像に紐づけられていた仮想空間の座標上のカメラの位置・姿勢(向き)の情報、及び、情報取得部350に含まれる撮像画像を撮像したカメラに関する情報(例えば、カメラセンサのサイズや、焦点距離、明るさなど)が含まれる。これにより、本実施例におけるARコンテンツを用いて拡張現実の画像の撮影を行った後であっても、事後的に合成された3DCGを用いた再編集が可能となる。 The re-editing data management unit 365 stores in the storage unit 320 a composite image (augmented reality image) of a real-space image and a virtual-space image displayed on the display unit of the user terminal 300 by the display control unit 364 in response to a user's shooting operation via the operation unit 330. The re-editing data management unit 365 also stores re-editing data in the storage unit 320 so that augmented reality images captured using AR content can be re-edited. The re-editing data includes information for recreating the world as seen from the camera at the time of capture in a state that allows for additions and corrections to mask information (e.g., depth overwriting). For example, the re-editing data includes a background captured image (general camera image) and virtual-space identification information for identifying the virtual space. The virtual-space identification information includes, for example, depth information, transparent polygon mesh information corresponding to real objects, information on the position and orientation (direction) of the camera in the virtual-space coordinate system associated with the background captured image, and information about the camera that captured the captured image included in the information acquisition unit 350 (e.g., camera sensor size, focal length, brightness, etc.). This makes it possible to re-edit the augmented reality image using the synthesized 3DCG after the image has been captured using the AR content in this embodiment.
<AR撮影時の画面表示態様例>
(撮影画面例)
図4~図9を参照して、本実施例におけるARコンテンツのユーザ端末300の表示部における表示態様について説明する。図4は、本実施例におけるARコンテンツのプログラムを実行し、拡張現実による撮影(以降、AR撮影とも称する)を行う際の撮影画面例である。図4(A)は、ユーザ端末300の情報取得部350によって撮像されて取得された現実空間の撮像画像と、キャラクタオブジェクトCの3DCG(三次元コンピュータグラフィックス)とが合成された状態で表示された画面の例である。
<Example of screen display during AR shooting>
(Example of a shooting screen)
4 to 9, the display mode of the AR content on the display unit of the user terminal 300 in this embodiment will be described. Fig. 4 shows an example of a capture screen when the AR content program in this embodiment is executed and augmented reality capture (hereinafter also referred to as AR capture) is performed. Fig. 4(A) shows an example of a screen displayed in which a captured image of real space captured and acquired by the information acquisition unit 350 of the user terminal 300 is combined with 3DCG (three-dimensional computer graphics) of a character object C.
本実施例における拡張現実の撮影は、まず、ARコンテンツによって撮影を開始する際に、仮想空間の床面に相当する水平面を決定するための平面スキャンによって検出された平面と対応するように床面の座標を決定する。情報取得部350によって例えば図5(B)のような、背景画像となり得る現実空間の撮影をしつつ、ユーザが端末を操作することにより取得情報解析部362によって平面検出がされる。初めに検出される平面は、床や地面など、床面となり得る水平面である。平面検出後、ユーザが撮影開始確定操作を行うことなどにより(例えば、スタートボタンへの操作など)、図4(A)や、図5(A)に示すように、キャラクタオブジェクトCが現実空間に配置された態様でユーザ端末300の表示部にプレビュー表示されるようになる。キャラクタオブジェクトCの配置場所は、平面と検出された範囲へのタップ操作によって移動可能である。また、表示されているキャラクタオブジェクトCに対する操作(例えば、スライド操作)に応じて、キャラクタオブジェクトCの向きを回転させることができる。なお、キャラクタオブジェクトCの仮想空間における初期配置は、ユーザから撮影開始確定操作がされたことに基づいてデフォルトの座標などに自動配置されてもよく、ユーザからのタップ操作などを受け付けることにより配置されるようにしてもよい。 In this embodiment, when augmented reality shooting begins with AR content, floor coordinates are determined to correspond to the plane detected by a plane scan to determine the horizontal plane corresponding to the floor of the virtual space. While the information acquisition unit 350 captures a real-world image that could potentially serve as a background image, such as that shown in FIG. 5B, the acquired information analysis unit 362 detects the plane as the user operates the device. The first plane detected is a horizontal plane that could potentially serve as the floor, such as the floor or ground. After the plane is detected, the user can confirm the start of shooting (e.g., by pressing the start button), and a preview of the character object C placed in real space is displayed on the display unit of the user terminal 300, as shown in FIG. 4A or 5A. The character object C can be moved by tapping on the plane and the detected area. The orientation of the displayed character object C can also be rotated in response to an operation (e.g., a slide operation) performed on the character object C. The initial placement of character object C in the virtual space may be automatically placed at default coordinates or the like based on the user's operation to confirm the start of shooting, or may be placed by accepting a tap operation or the like from the user.
図4(A)に例示する撮影画面には、AR撮影をするにあたってユーザが操作するための操作アイコン等が複数表示されている。例えば、キャラ変更アイコンT1は、配置するキャラクタオブジェクトCを、異なるキャラクタに変更するためのアイコンである。リセットアイコンT2は、キャラクタオブジェクトCを配置する際に基準となる水平の平面検出をし直すためのアイコンである。例えば、平面と検出された場所が、実際の床などとずれが生じている場合など、平面検出をし直したい場合に、リセットアイコンT2に対する操作がされることにより、平面が再検出され、再検出された面の上にキャラクタオブジェクトCが再配置されるようになる。UI表示アイコンT3は、アイコンや操作メニューなどのUI(User Interface)の表示・非表示を切り替えるためのアイコンである。UI表示アイコンT3に対する操作がされることにより、ユーザは、撮影される画像の全体を把握しやすくなる。 The shooting screen shown in Figure 4 (A) displays multiple operation icons and the like for the user to operate when taking AR photos. For example, the character change icon T1 is an icon for changing the character object C to be placed to a different character. The reset icon T2 is an icon for re-detecting the horizontal plane that serves as the reference when placing the character object C. For example, if you want to re-detect the plane because the location detected as a plane is misaligned with the actual floor, for example, operating the reset icon T2 will re-detect the plane and re-position the character object C on the re-detected plane. The UI display icon T3 is an icon for switching between displaying and hiding the UI (User Interface), such as icons and operation menus. Operating the UI display icon T3 makes it easier for the user to grasp the overall picture of the image being taken.
取得情報解析部362によって特定される深度情報等に基づいて、現実空間に適合するように(例えば、現実空間と、仮想オブジェクトとの3次元的な位置合わせが、ユーザ視点に応じて矛盾がない状態(幾何学的整合性)が実現されるように)キャラクタオブジェクトCが配置される。そのため、例えば、図4(B)に例示するように、ユーザがキャラクタオブジェクトCから遠ざかるように後方に下がり移動すれば(ユーザUの動きを参照)、キャラクタオブジェクトCが配置されている位置が遠くなり、キャラクタオブジェクトCのサイズも小さく表示されるようになる(引きの画角)。なお、撮影画面において奥側をタップ操作することなどにより、画面奥にキャラクタを配置させても、キャラクタオブジェクトCを引きの画角で撮影する表示態様となる。 Based on the depth information and other information identified by the acquired information analysis unit 362, character object C is positioned to fit into the real space (for example, to achieve a state where there is no inconsistency (geometric consistency) in the three-dimensional alignment between the real space and the virtual object according to the user's viewpoint), as shown in Figure 4(B). Therefore, for example, if the user moves backward away from character object C (see the movement of user U), as shown in Figure 4(B), the position at which character object C is positioned will become farther away, and character object C will also be displayed smaller in size (wide angle of view). Note that even if the character is positioned at the back of the screen by tapping the back side of the shooting screen, character object C will be displayed in a wide angle of view.
また、キャラクタオブジェクトCは、3DCGであるため、図4(C)に例示するように、ユーザが、表示部に表示されるキャラクタオブジェクトCの後ろに回り込むように撮影の立ち位置を移動すれば(ユーザUの動きを参照)、図4(A)に示す現実空間のキャラクタオブジェクトCの配置位置(座標)で、キャラクタオブジェクトCを後方から撮影することが可能となる。このように、ユーザは、撮影時におけるユーザ自身の立ち位置やユーザ端末の向きを調整することにより好みの画角からの画像を撮影することができる。また、図5を参照して後述するように、現実空間の物体に対応する椅子Rには、情報取得部350によって取得された深度情報に基づいてマスクが生成されている。これにより、図4(C)の画面では、3DCGであるキャラクタオブジェクトCの一部が椅子Rによって遮蔽されて、ユーザ端末300の表示部に表示されない。 Furthermore, because character object C is 3DCG, if the user moves their shooting position so as to go around behind character object C displayed on the display unit, as illustrated in FIG. 4(C) (see the movement of user U), they can photograph character object C from behind at the position (coordinates) of character object C in real space shown in FIG. 4(A). In this way, the user can photograph an image from a preferred angle of view by adjusting their own standing position and the orientation of the user terminal when photographing. Also, as will be described later with reference to FIG. 5, a mask has been generated for chair R, which corresponds to an object in real space, based on depth information acquired by information acquisition unit 350. As a result, on the screen of FIG. 4(C), part of character object C, which is 3DCG, is obscured by chair R and is not displayed on the display unit of user terminal 300.
図4の撮影画面の下方には、複数のタブが表示された操作メニューT10が表示されている。操作メニューT10に表示される複数タブのうち、例えば、「表情」・「ポーズ」・「モーション」は、キャラクタオブジェクトCの表示態様を変更するためのメニューである。モーションとは、キャラクタオブジェクトCに、ダンスやジャンプなどのアニメーション動作を行わせることである。例えば、後述する図6(D)に例示するように、モーションタブが選択され、いずれかの動作が選択されることで、キャラクタオブジェクトCに動作をさせることができる。また、速度調整アイコンT4への操作により、モーションスピードを、ユーザ任意のスピードに調整(コントロール操作)することも可能である。なお、モーションスピードのコントロール操作は、初回撮影時には実行(選択)できず、再編集時における落ち着いた状況下で実行可能な操作であってもよい。 At the bottom of the shooting screen in Figure 4, an operation menu T10 with multiple tabs is displayed. Of the multiple tabs displayed in the operation menu T10, for example, "Expression," "Pose," and "Motion" are menus for changing the display mode of the character object C. Motion refers to making the character object C perform an animated action such as dancing or jumping. For example, as illustrated in Figure 6 (D) described below, selecting the motion tab and one of the actions will cause the character object C to perform the action. In addition, by operating the speed adjustment icon T4, the user can adjust (control) the motion speed to a speed of their choice. Note that the motion speed control operation cannot be performed (selected) during initial shooting, but may be an operation that can be performed under calm conditions during re-editing.
「スペシャル」は、キャラクタオブジェクトCの表示態様を通常とは異なる特別仕様の態様に変更可能とするタブである。例えば、期間限定のモーションなどが選択可能となる。「装飾」は、シール等のデコレーションやフレーム等の装飾オブジェクトの配置や、フィルターなどによる色調整等の画像に対する装飾を行うためのメニューを表示するためのタブである。例えば、後述する図7のようにシールによる装飾操作が可能となる。また、操作メニューT10の中に、キャラクタオブジェクトCの衣装の変更を可能とするためのタブが表示されるようにしてもよい。 "Special" is a tab that allows you to change the display mode of character object C to a special mode that is different from the normal mode. For example, time-limited motions can be selected. "Decoration" is a tab that displays a menu for decorating images, such as placing decorations like stickers and decorative objects like frames, and adjusting colors using filters. For example, decoration operations using stickers are possible, as shown in Figure 7 below. Furthermore, a tab that allows you to change the costume of character object C may be displayed within the operation menu T10.
なお、操作メニューT10に表示されるメニューのうちのいずれかの操作や、キャラ変更T1に対する操作によるキャラ変更は、初回撮影時には実行(選択)できず、後述する再編集操作のときに操作できるものであってもよい。例えば、「装飾」が操作されることによる装飾操作は、初めに撮像画像とキャラクタオブジェクトCとを合成した拡張現実による合成画像を保存する際には操作できず、撮像画像を撮影した後の再編集操作時において装飾が行えるものであってもよい。以降は、装飾操作は、再編集時において実行可能な操作であるとして説明する。 Note that operating any of the menus displayed in the operation menu T10 or changing the character by operating the character change T1 may not be possible (selectable) during the initial shooting, but may be possible during the re-editing operation described below. For example, the decoration operation performed by operating "Decorate" may not be possible when initially saving the composite image created by augmented reality that combines the captured image with character object C, but may be possible during the re-editing operation after the captured image has been taken. Hereinafter, decoration operations will be described as operations that can be performed during re-editing.
撮影ボタンSは、表示部に表示されている画像を保存するための操作ボタンである。例えば、図4(A)に示す現実空間とキャラクタオブジェクトCとが合成されている表示態様で撮影ボタンSが操作されることにより、プレビュー表示されていたキャラクタオブジェクトCのCGと背景の撮像画像とを合成した合成画像がユーザ端末300の記憶部320に保存される。例えば、プレビュー表示されていた画像が、高解像度でラスタライズ(画像データをピクセルデータに変換して軽量化)された画像が保存される。当該保存された画像は、例えば、ユーザ端末300のストレージ内の画像データフォルダ等(例えば、ユーザ端末300にインストールされているカメラアプリで撮影した画像が保存されるフォルダと同じフォルダ、あるいは、ARコンテンツ専用のフォルダなど)から確認することができる。また、本実施例におけるARコンテンツでは、静止画のみならず、動画を撮影することも可能である。動画を撮影する場合には、撮影ボタンSが操作されることにより、動画撮影の開始・停止が可能となる。なお、図4(A)などの撮影画面に、静止画・動画への切替アイコンを表示させるようにしてもよい。 The capture button S is an operation button for saving the image displayed on the display unit. For example, by operating the capture button S in the display mode shown in FIG. 4A , in which the real space and the character object C are combined, a composite image combining the CG of the previewed character object C with the captured image of the background is saved in the storage unit 320 of the user terminal 300. For example, the previewed image is rasterized (image data is converted into pixel data to reduce the size) at high resolution and saved. The saved image can be viewed, for example, in an image data folder in the storage of the user terminal 300 (for example, the same folder as the folder in which images captured with the camera app installed on the user terminal 300 are saved, or a folder dedicated to AR content). Furthermore, the AR content in this embodiment can capture not only still images but also videos. When capturing videos, the capture button S can be operated to start and stop video capture. Note that a still image/video switching icon may be displayed on the capture screen shown in FIG. 4A or the like.
また、本実施例のARコンテンツにおいては、撮影ボタンSが操作され、現実空間の撮像画像と、キャラクタオブジェクトCとを合成した画像が生成された後であっても、合成画像を再編集し、再合成が可能となる。そのため、撮影ボタンSが操作され、AR撮影がされたときに、ラスタライズされた合成画像を生成するととともに、再編集用データを記憶する。再編集用データとしては、撮像画像や、キャラクタオブジェクトCを再合成可能とする仮想空間を特定するための仮想空間特定用情報等が含まれる。仮想空間特定用情報には、現実の物体などに対応するマスク(現実オブジェクト)を特定するための情報(例えば、座標・形状等の情報)等が含まれる。 Furthermore, in the AR content of this embodiment, even after the shooting button S is operated and an image is generated by combining a captured image of real space with the character object C, the composite image can be re-edited and re-combined. Therefore, when the shooting button S is operated and AR photography is performed, a rasterized composite image is generated and re-editing data is stored. The re-editing data includes information for identifying the captured image and virtual space in which the character object C can be re-combined. The virtual space identification information includes information for identifying a mask (real object) corresponding to a real object (for example, information such as coordinates and shape).
(合成画像を生成する情報例)
図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)における、キャラクタの左側)から見た場合の仮想空間データの例である。
(Example of information for generating a composite image)
With reference to FIG. 5, information for generating a composite image in this embodiment will be described. FIG. 5(A) is a composite image displayed on the capture screen of FIG. 4(A) described above. FIG. 5(B) is a captured image of real space captured by the information acquisition unit 350, which serves as the background image of FIG. 5(A). FIG. 5(C) is an example of virtual space data in which real objects corresponding to real objects in the captured image of FIG. 5(B) are placed. FIG. 5(D) is an example of virtual space data to be composited with the captured image of FIG. 5(B), in which a character object C, which is a non-real object, is placed in the virtual space data of FIG. 5(C). FIG. 5(E) is an example of virtual space data when the virtual space of FIG. 5(D) is viewed from the right side of FIG. 5(D) (the left side of the character in FIG. 5(D)).
AR撮影開始時において、図5(B)に映る道路をスキャンするように、ユーザがユーザ端末300を動かすことで、道路が平面として検出される。また、現実の空間には、椅子R1や、木R2が存在し、情報取得部350によって取得し得る撮像画像内に表示されている。取得情報解析部362は、情報取得部350によって取得・蓄積される撮像情報に基づいて深度情報等に基づいて、現実の物体の形状や座標を特定し、リアルタイムにレンダリングする。例えば、取得情報解析部362は、取得した撮像情報の深度情報等に基づいて、撮像画像内に映る物体などの検出を行う。拡張現実データ生成部363は、取得情報解析部362によって解析された深度情報等に基づいて、現実の物体等に対応する現実オブジェクトを、仮想空間に配置する。現実オブジェクトは、撮像画像に映る現実の物体に対応する位置・範囲に生成されたマスクポリゴン(表示部に描画されない透明ポリゴンメッシュ)である。例えば、撮像情報内の深度情報等に基づいて特定される形状に対応する範囲にマスク処理がされる。例えば、椅子R1に対応する形状の現実オブジェクトRO1、木R2に対応する形状の現実オブジェクトRO2が、仮想空間内に配置される。このように、現実の物体などに対応するマスクポリゴンがリアルタイムに生成される。 At the start of AR imaging, the user moves the user terminal 300 as if scanning the road shown in Figure 5 (B), and the road is detected as a flat surface. Also, a chair R1 and a tree R2 exist in the real space and are displayed in the captured image acquired by the information acquisition unit 350. The acquired information analysis unit 362 identifies the shape and coordinates of real objects based on depth information and other information from the imaging information acquired and accumulated by the information acquisition unit 350, and renders them in real time. For example, the acquired information analysis unit 362 detects objects and other objects appearing in the captured image based on the depth information and other information of the acquired imaging information. The augmented reality data generation unit 363 places real objects corresponding to the real objects and other objects in the virtual space based on the depth information and other information analyzed by the acquired information analysis unit 362. The real objects are mask polygons (transparent polygon meshes that are not drawn on the display unit) generated in positions and ranges corresponding to the real objects appearing in the captured image. For example, a mask process is performed on the range corresponding to the shape identified based on the depth information and other information in the imaging information. For example, a real object RO1 with a shape corresponding to a chair R1 and a real object RO2 with a shape corresponding to a tree R2 are placed in the virtual space. In this way, mask polygons corresponding to real objects are generated in real time.
図5(C)は、図5(B)の撮像画像の物体に対応する現実オブジェクトを配置させた仮想空間の例である。図5(D)は、図5(C)の仮想空間に、現実オブジェクトに加え、キャラクタオブジェクトCを配置させた仮想空間の例である。当該仮想空間の平面は、撮像情報によってAR撮影開始時に検出された平面に対応する。また、情報取得部350によって取得されてユーザ端末300の表示部に表示される現実空間と、仮想空間とが対応する(例えば、幾何学的整合性を実現する)ように仮想カメラが配置される。現実オブジェクトRO1、RO2、キャラクタオブジェクトCは、現実空間の座標と対応するように配置される。キャラクタオブジェクトや後述する装飾オブジェクトと、現実オブジェクトとの仮想空間内における座標(横,縦,奥行きの情報、x,y,z軸)の関係は、深度情報等に基づいて特定される。例えば、キャラクタオブジェクトは、情報取得部350によって取得される情報内の深度情報等に基づいて、撮像画像内の現実の空間に適合するような大きさで配置される。例えば、身長が160センチで設定されたキャラクタオブジェクトを配置する場合、撮像画像内の現実の空間内において160センチ相当となる態様で撮像画像に合成されて表示されるようになる。 Figure 5(C) is an example of a virtual space in which real objects corresponding to the objects in the captured image of Figure 5(B) are placed. Figure 5(D) is an example of a virtual space in which a character object C is placed in addition to the real objects in the virtual space of Figure 5(C). The plane of the virtual space corresponds to the plane detected at the start of AR shooting using the imaging information. Furthermore, the virtual camera is positioned so that the real space acquired by the information acquisition unit 350 and displayed on the display unit of the user terminal 300 corresponds to the virtual space (e.g., achieving geometric consistency). The real objects RO1, RO2, and character object C are positioned so that they correspond to the coordinates of the real space. The relationship between the character objects and decorative objects described below and the coordinates (horizontal, vertical, and depth information, x, y, and z axes) of the real objects in the virtual space is determined based on depth information, etc. For example, the character object is positioned at a size that fits the real space in the captured image based on depth information, etc. in the information acquired by the information acquisition unit 350. For example, if a character object with a height set to 160 cm is placed, it will be composited into the captured image and displayed in a manner that makes it appear to be 160 cm tall in the real space within the captured image.
また、現実オブジェクトは、図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は表示部に描画されない。 The real object is a stereoscopic, three-dimensional mask, as exemplified in Figures 5(C) to 5(E). The mask is rendered so that a corresponding mask is generated each time the information acquired by the information acquisition unit 350 is updated during image capture. Furthermore, by generating a mask, when a character object, for example, is positioned further back than the real object, as shown in Figure 4(C) above or Figure 6(B) below, occlusion processing can be performed to prevent a portion of the character object from being drawn by the mask corresponding to chair R1. This allows the character object to appear as if it is occluded by the real chair R1. For example, in Figure 5(D), character object C is positioned in front of real object RO1, so in Figure 5(A), character object C is drawn in front of chair R1, and a portion of chair R1 is occluded by character object C. On the other hand, when the user taps or performs other operations to position character object C further back than chair R1, character object C is positioned at coordinates further back than real object RO1 in the virtual space of Figure 5(D). As a result, as shown in Figures 4(C) and 6(B), part of the character object C is displayed as being obscured by the chair R1. In other words, the character object C is not rendered on the display unit in the area that overlaps with the masked area as seen from the virtual camera.
以上のように、撮像画像と、仮想空間データとが合成された画像(例えば、高解像度にラスタライズされた画像)が、図4の撮影ボタンSが操作されることにより記憶部320に保存される。また、図5(A)の合成画像が保存されるとともに、再編集可能となるように、当該合成画像を撮影した際の世界を、マスク情報に対する加筆・修正を可能とする状態で再現するための情報が、再編集用データとして記憶部320に記憶される。マスク情報に対する加筆・修正とは、キャラクタオブジェクトCの座標や表示態様などの変更にともなって、現実オブジェクトの深度の上書きを行うことなどが含まれる。再編集用データには、例えば、図5(B)の撮像画像と、対応する図5(C)の仮想空間データを再現可能とする仮想空間特定用情報(例えば、深度情報や、現実オブジェクトの形状・座標の情報、カメラの位置や姿勢の情報、撮影時のカメラに関する情報等)等が含まれる。また、再編集用データによって再現される仮想空間特定用情報は、図5(C)のように、キャラクタオブジェクトCの情報を除くデータであってもよい。 As described above, an image (e.g., a high-resolution rasterized image) combining the captured image and virtual space data is saved in the storage unit 320 by operating the capture button S in FIG. 4. Furthermore, while the composite image of FIG. 5(A) is saved, information for recreating the world at the time the composite image was captured, allowing for additions and modifications to the mask information, is stored in the storage unit 320 as re-editing data, so that the composite image can be re-edited. Adding and modifying the mask information includes overwriting the depth of real objects in conjunction with changes to the coordinates and display mode of character object C. The re-editing data includes, for example, virtual space identification information (e.g., depth information, information on the shape and coordinates of real objects, information on the camera's position and orientation, information about the camera at the time of capture, etc.) that enables the captured image of FIG. 5(B) and the corresponding virtual space data of FIG. 5(C) to be reproduced. Furthermore, the virtual space identification information reproduced by the re-editing data may be data excluding information about character object C, as in FIG. 5(C).
(再編集操作の概要)
本実施例におけるARコンテンツでは、AR撮影がされた後であっても、再編集用データに基づいて、現実空間の撮像画像と3DCGとの合成画像の再編集操作を可能とする。再編集操作によって編集可能な機能としては、図5(A)の合成画像に対して、深度(奥行き)情報を用いた装飾(デコレーション)操作などが含まれる。また、キャラクタオブジェクトCを再配置させ、キャラクタオブジェクトCの表示態様の変更操作も可能となる。従来AR撮影後は、キャラクタオブジェクトの3DCGと背景となる撮像画像とが合成されると、キャラクタの編集はもちろんのこと、装飾を施そうとしても、キャラクタの前(表示部において手前)に2次元の装飾レイヤーを追加することしかできなかった。しかし、本実施例においては、再編集用データを用いて、撮影済みの撮像画像と幾何学的整合性がとれるように、キャラクタオブジェクトを再合成し、かつ、装飾操作を行うことができる。そのため、現実の物体(現実オブジェクト)と、キャラクタの3DCGと、装飾オブジェクトとで、三次元での前後関係を構築することができる。これにより、従来の2Dレイヤーのよる編集よりも、編集によって得られる表現態様に自由度が増し、ユーザの興趣が向上する。
(Overview of re-editing operations)
In the AR content of this embodiment, even after AR shooting, a composite image of a captured image of real space and 3DCG can be re-edited based on re-editing data. Editing functions enabled by the re-editing operation include decoration operations using depth information for the composite image of FIG. 5A . It is also possible to rearrange the character object C and change the display mode of the character object C. Conventionally, after AR shooting, when the 3DCG of the character object and the captured image serving as the background are combined, the only way to edit the character, and even to add decoration, was to add a two-dimensional decoration layer in front of the character (toward the display unit). However, in this embodiment, the re-editing data can be used to re-combine the character object and perform decoration operations so that it is geometrically consistent with the captured image. Therefore, a three-dimensional front-to-back relationship can be created between the real object, the 3DCG of the character, and the decoration object. This allows for greater freedom in the expression obtained by editing than with conventional editing using 2D layers, increasing the user's interest.
なお、再編集画面には、ユーザ端末300にダウンロードされている本実施例におけるARコンテンツを提供可能なアプリケーション等のメニューから遷移できるようにしてもよい。例えば、ホーム画面のメニューから、再編集操作を選択することで、再編集用データに基づいて図5(A)の合成画像が表示部に描画されるようにしてもよい。 The re-editing screen may be accessible from a menu of an application or the like that can provide the AR content of this embodiment that has been downloaded to the user terminal 300. For example, by selecting a re-editing operation from a menu on the home screen, the composite image of Figure 5 (A) may be drawn on the display unit based on the re-editing data.
再編集した画像や動画をユーザ端末300のストレージに保存するための出力は、初回の撮影時と同様に、撮影ボタンSに対する操作を行うことにより実行可能である。つまり、ユーザ好みの態様に拡張現実による合成画像を編集した後に再撮影することができる。 The re-edited images and videos can be output and saved to the user terminal 300's storage by operating the capture button S, just as when capturing the first image. In other words, the user can re-capture the augmented reality composite image after editing it to their liking.
再編集用データに基づき表示させた再編集画面は、例えば、図4(A)と同様の操作アイコンや、メニューが表示されるものであってもよく、一部操作アイコン等が非表示となっていてもよい。初回撮影時と異なる点としては、情報取得部350により、撮像画像をリアルタイムに取得しておらず、合成される背景画像となる撮像画像はすでに撮影済みの画像である。そのため、図4(B)や、図4(C)のような撮像画像自体を異なるものにすることができない。しかし、一度AR撮影をした画像に基づく再編集であるため、ユーザは、キャラクタオブジェクトの理想的な配置位置の見当がつきやすい。以降、再編集画面において表示される操作アイコンなどは、図4で説明したアイコン等と同様のものとして説明する。図7の装飾画面は、例えば再編集画面として表示される図4(A)の操作メニューT10内の、「装飾」を選択することで表示されるものとする。 The re-editing screen displayed based on the re-editing data may, for example, display operation icons and menus similar to those shown in FIG. 4(A), or some operation icons may be hidden. One difference from the initial shooting is that the captured image is not acquired in real time by the information acquisition unit 350, and the captured image that will be used as the composite background image is an image that has already been captured. Therefore, the captured image itself cannot be different, as in FIG. 4(B) or FIG. 4(C). However, because the re-editing is based on an image that has already been captured using AR photography, the user can easily estimate the ideal placement position for the character object. Hereinafter, operation icons and the like displayed on the re-editing screen will be described as being the same as the icons and the like described in FIG. 4. The decoration screen of FIG. 7 is displayed, for example, by selecting "Decoration" from the operation menu T10 of FIG. 4(A) displayed as the re-editing screen.
(キャラクタオブジェクトの再編集画面例)
図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と重なる範囲が遮蔽され、表示部に出力される際に描画されない。
(Example of character object re-editing screen)
FIG. 6 shows an example of an editing screen for a character object C during re-editing. Note that (A) to (C) of FIG. 6 show an example of a screen in which the operation icons are hidden, while FIG. 6 (D) shows an example of a screen in which the operation icons are displayed. Assuming that the re-editing data is the data captured in FIG. 4 (A), the re-editing data is previewed as a composite image into which the character object C is superimposed, as shown in FIG. 6 (A). The virtual space generated based on the re-editing data is a space in which the real objects are positioned when the image in FIG. 4 (A) is captured, as shown in FIG. 5 (C). Note that if the re-editing data does not include information about the character object C, the initial position of the character object C in the composite image displayed during re-editing may be automatically positioned when the re-editing screen is displayed, or may be positioned by a tap operation or the like by the user. Furthermore, the type of character object C positioned during re-editing may be a type that is preset as a default by user operation or the like, or may be a type selected by the user during re-editing. During re-editing, it is possible to change the position of the character object C, change its pose, motion, costume, and facial expression, and even change the type of the character itself. For example, the character object C may be moved by tapping on the desired location or by using the operation icons (D1 to D4) illustrated in FIG. 7, etc. As illustrated in FIG. 6(B), if the character object C is placed further back than a chair R1 in the captured image, the area of the character object C that overlaps with the chair R1 as viewed from the virtual camera is obscured by a real object RO1 that has been masked to correspond to the shape of the chair R1, and is not drawn when output to the display unit.
また、再編集時において、キャラクタオブジェクトCの配置位置を変更したとしても、再編集用データに含まれる、撮像画像に対応する座標のデータなどに基づいて、キャラクタオブジェクトCの身長に対応するように、表示サイズの調整がされる。そのため、例えば、図6(C)に示すように、ユーザ操作によって、撮像画像の手前よりも奥側遠方にキャラクタオブジェクトCが配置されると、配置された位置に対応するようにキャラクタオブジェクトCの縦横比率が変更されて小さく表示されるようになる。 Furthermore, even if the position of character object C is changed during re-editing, the display size is adjusted to correspond to the height of character object C based on coordinate data corresponding to the captured image, which is included in the re-editing data. Therefore, for example, as shown in Figure 6(C), if character object C is placed further back than the foreground in the captured image by a user operation, the aspect ratio of character object C is changed to correspond to the position, and it is displayed smaller.
図6(D)は、図6(A)の再編集データのキャラクタオブジェクトCにモーション動作をさせた場合の例である。また、再編集時においては、速度調整アイコンT4に対する操作により、モーションスピードのコントロールが可能である。そのため、例えばスローモーションで動作するようにすれば、ユーザが望む画を収めることが容易となる。 Figure 6 (D) shows an example of a motion being performed by character object C of the re-edited data in Figure 6 (A). During re-editing, the motion speed can be controlled by operating the speed adjustment icon T4. Therefore, for example, by making the character move in slow motion, it becomes easier for the user to capture the desired image.
また、本実施例におけるARコンテンツによるAR撮影は、連続撮影(例えば、1秒毎に10枚連続して撮影など)を行うことを可能としてもよい。また、制御部310によって、連続で撮影して生成された複数枚の合成画像の中から、ユーザに推奨する1枚を決定し、ユーザに提供可能としてもよい。例えば、複数枚の画像の中から、画像処理部361によって、キャラクタオブジェクトCの顔が最も正面を向いている画像や、最も顔が隠れていない画像(例えば、キャラクタオブジェクトの手が動くモーション動作などによって隠れていない画像)などを特定するようにしてもよい。例えば、キャラクタオブジェクトCの顔の正面部分の面積が最も多く含まれると判定される画像を抽出し、ユーザに提示する処理を行ってもよい。 In addition, the AR photography using the AR content in this embodiment may be capable of continuous photography (for example, taking 10 consecutive photos every second). The control unit 310 may also be able to determine one image to recommend to the user from multiple composite images generated by continuous photography and provide it to the user. For example, from multiple images, the image processing unit 361 may identify the image in which the face of character object C is facing most forward, or the image in which the face is least obscured (for example, the image in which the face is not obscured by a motion such as the character object's hand movements). For example, the image determined to include the largest area of the frontal portion of character object C's face may be extracted and presented to the user.
また、キャラクタオブジェクトCは、3DCGであるため、初回撮影時と同様に回転させる操作が可能である。つまり、キャラクタオブジェクトCの正面が描画されるものに限らず、キャラクタオブジェクトCをななめや、背面などが描画されるように回転させることが可能である。 Also, because character object C is 3DCG, it can be rotated in the same way as when it was first photographed. In other words, it is not limited to drawing the front of character object C; it is also possible to rotate character object C so that it is drawn diagonally, rearward, etc.
また、再編集時においては、もともと配置していたキャラクタオブジェクトC自体の表示態様や、異なるキャラクタオブジェクト(例えば、キャラクタAから、異なるキャラクタBへの変更など)に変更するのみならず、複数種類のキャラクタオブジェクトを追加して配置可能としてもよい。 Furthermore, when re-editing, not only can the display mode of the originally placed character object C itself be changed, or a different character object be created (for example, changing from character A to a different character B), but multiple types of character objects can also be added and placed.
(再編集装飾操作画面例)
図7は、再編集時における装飾ツールを使用し、AR画像をデコレーションするための操作を行う画面の例である。装飾ツールには、写真のトリミング(縮小・拡大など)や、はめ込みフレームの選択、デコレーション(シール、スタンプ等)の配置、パーティクルの配置、ポストエフェクト機能等が含まれる。ポストエフェクト機能としては、深度推定による被写界深度(フォーカス)加工や、手振れ補正、カラーフィルタ、人物抽出等が可能である。以降、はめ込みフレームや、シール、パーティクル、テキストなどの画像内に配置可能なオブジェクトを装飾オブジェクトとも称する。
(Example of re-editing and decoration operation screen)
7 shows an example of a screen for performing operations to decorate an AR image using a decoration tool during re-editing. The decoration tools include photo trimming (reducing/enlarging, etc.), inset frame selection, decoration (sticker, stamp, etc.) placement, particle placement, post-effect functions, etc. Post-effect functions include depth of field (focus) processing using depth estimation, image stabilization, color filters, person extraction, etc. Hereinafter, objects that can be placed in an image, such as inset frames, stickers, particles, and text, are also referred to as decoration objects.
図7は、シールを配置する場合の画面例である。当該シールは、再編集データに含まれる深度情報に基づいて、仮想空間上でキャラクタオブジェクトCの前後に配置可能な装飾オブジェクトである。例えば、画面下方に装飾ツールのメニューを表示させ、当該シールがユーザ操作により選択されると、図7(A)に例示するように、シールDOが、合成画像に配置される。シールDOは、操作アイコン(D1~D4)などによって表示態様の編集が可能である。例えば、図7(A)では、シールDOの周囲に操作アイコンとして、シールを捨てる(配置取りやめ)ためのアイコンである捨てるアイコンD1や、シールを回転させることが可能な回転アイコンD2、シールの拡大縮小操作を可能とする拡縮アイコンD3、シールの奥行き操作を可能とする奥行きアイコンD4などが表示されている。例えば、拡縮アイコンD3は、アイコンに対してタッチをしながら斜めに操作がされることでシールの拡縮を可能とし、奥行きアイコンD4は、アイコンに対してタッチをしながら縦に操作がされることでシールの奥行き操作を可能とする。また、縦・横・奥方向への移動編集操作は、スタンプ自体をスライドさせる操作がされることにより可能となってもよく、別のアイコンへの操作により可能としてもよい。なお、奥行き操作なども、操作アイコンに対する操作を行うものに限らず、シール自体への直接操作(例えば、タッチ・スワイプなど)がされることなどによって同様の編集操作が行えるものとしてもよい。 Figure 7 shows an example screen for placing a sticker. The sticker is a decorative object that can be placed in front of or behind a character object C in virtual space based on depth information included in the re-edited data. For example, when a decorative tool menu is displayed at the bottom of the screen and the sticker is selected by a user operation, a sticker DO is placed in the composite image, as shown in Figure 7(A). The display mode of the sticker DO can be edited using operation icons (D1-D4). For example, in Figure 7(A), operation icons are displayed around the sticker DO, including a discard icon D1 for discarding the sticker (cancelling placement), a rotate icon D2 for rotating the sticker, a scale icon D3 for scaling the sticker, and a depth icon D4 for adjusting the sticker's depth. For example, the scale icon D3 allows the sticker to be scaled by touching the icon and operating diagonally, and the depth icon D4 allows the sticker's depth to be adjusted by touching the icon and operating vertically. Furthermore, editing operations to move the stamp vertically, horizontally, or in the depth direction may be possible by sliding the stamp itself, or by operating on another icon. Note that depth operations are not limited to operations on the operation icon, and similar editing operations may also be possible by directly operating on the sticker itself (for example, touching or swiping).
当該合成画像は、ユーザ端末300の表示部上で、再編集時においても合成された状態でプレビュー表示されているが、再編集操作は、最終出力(プリントとも称する)の前段階の最終ラスタライズされる前のデータに対する処理を行うものであるため、3DCGデータを用いた編集操作が可能となる。また、再編集データ上に配置し得る装飾オブジェクトにも、奥行きを含む3次元の情報が関連付けられている。そのため、例えば、図7(B)に例示するように、奥行きアイコンD4によってシールDOが奥側に配置されるようユーザからの操作がされると、シールの大きさも変化する。つまり、図5(C)の仮想カメラから遠い座標に配置されるようになるためである。また、シールDOを、椅子R1の奥側に配置されると、正面から見て椅子R1と、シールDOとが重複する範囲については、椅子R1によって遮蔽されてシールDOは描画されない。なお、配置可能なシールには、シール自体が3Dの立体形状であるものと、平面の形状のものとがいずれも含まれていてもよい。 The composite image is previewed on the display of the user terminal 300 in a composited state even during re-editing. However, because the re-editing operation processes data before final rasterization, which is the stage prior to final output (also called printing), editing operations using 3D CG data are possible. Furthermore, decorative objects that can be placed on the re-edited data are also associated with three-dimensional information, including depth. For example, as shown in FIG. 7(B), when a user operates the depth icon D4 to place sticker DO at the back, the size of the sticker also changes. This is because the sticker is placed at coordinates farther from the virtual camera in FIG. 5(C). Furthermore, when sticker DO is placed behind chair R1, the chair R1 obscures the area where sticker DO overlaps with chair R1 when viewed from the front, and sticker DO is not rendered. Placeable stickers may include both 3D and flat stickers.
図8は、写真のトリミングや、はめ込みフレームの位置調整がされる場合の画面例である。例えば、ユーザからのタッチパネルに対するピンチ操作で画像が拡縮され、ドラッグで移動させると、図8(A)から(B)のように画像の編集をすることができる。トリミング時に、はめ込みフレーム(フレームF)を表示させるか否かのオンオフの選択が可能であってもよい。また、本実施例においては、キャラクタオブジェクトCは3DCGのデータとして配置しているため、当該トリミングを行ったとしても、キャラクタオブジェクトCは、最終ラスタライズされる前(撮像画像や装飾操作による編集内容とともに最終出力される前)の状態であるため、最終出力時にエッジがきれいにレンダリングされるようになる。 Figure 8 shows an example screen when trimming a photo or adjusting the position of an inset frame. For example, the user can pinch the touch panel to enlarge or reduce the image, and drag to move it, resulting in image editing as shown in Figure 8 (A) to (B). When trimming, it may be possible to select whether or not to display the inset frame (frame F). Furthermore, in this embodiment, because character object C is positioned as 3DCG data, even if trimming is performed, character object C is in a state before final rasterization (before final output together with the captured image and editing content created by decorative operations), so the edges are rendered neatly when final output.
また、はめ込みフレームの装飾オブジェクト(フレームF)は、座標として他のオブジェクトよりも手前となり、常に等倍で描画されるように配置されるが、ユーザ操作により、他の装飾オブジェクトとの前後関係を調整することができるようにしてもよい。なお、装飾オブジェクトの中には、フレーム座標に対して配置される種類のシールのオブジェクトが含まれるようにしてもよい。例えば、フレーム座標に対して配置される種類のシールは、フレームFに対して2Dレイヤーを重ねるようにして配置・描画されるようにしてもよい。フレーム座標に対して配置される種類のシールについては、フレームの前と後ろとで、表示位置を切り替えるボタン(選択操作可能なボタン)を表示させてもよい。例えば、操作ツールなどとともに表示させてもよい。図8(C)に示すように、フレームFより前に表示するよう選択操作されたシールは、シールDO2のように、フレームの座標よりも手前に表示される。つまり、図5(C)を映す仮想カメラから見て手前の位置に配置される。一方、シールDO3は、フレームよりも奥側に表示するように選択操作されているため、フレーム座標よりも奥側に配置される。 Furthermore, the decorative object of the inset frame (frame F) is positioned in front of other objects in terms of coordinates and is always drawn at the same scale, but the user may be able to adjust its anteroposterior relationship with other decorative objects. The decorative objects may include sticker objects of a type that are placed relative to the frame coordinates. For example, stickers of a type that are placed relative to the frame coordinates may be placed and drawn as 2D layers overlaid on frame F. For stickers of a type that are placed relative to the frame coordinates, a button (selectable button) may be displayed to switch the display position between in front of and behind the frame. For example, this may be displayed together with an operation tool. As shown in FIG. 8(C), stickers selected to be displayed in front of frame F are displayed in front of the frame coordinates, like sticker DO2. In other words, they are positioned in a position closer to the virtual camera capturing FIG. 5(C). On the other hand, sticker DO3 has been selected to be displayed behind the frame, and is therefore positioned behind the frame coordinates.
はめ込みフレームの装飾オブジェクトと、フレーム座標に対して配置される種類のシールは、他のオブジェクトよりも手前に描画されるように配置されるが、ユーザ端末300の表示部上では等倍表示されつつも、ユーザ操作によって仮想空間上で奥側に座標を移動させるようにしてもよい。例えば、キャラクタオブジェクトCにフレームFをより近づけたい場合などに、操作ツールへのユーザ操作があったことなどにより(例えば、図8(A)から図8(B)のように合成画像を拡大する操作などにより)、フレームFをキャラクタオブジェクトCへより近い位置へ移動させることができる。このとき、フレームFよりも手前に、現実オブジェクトが配置されている場合は、現実オブジェクトの深度がフレームFの位置で上書きされることなどにより、フレームFがカメラから見て前面に位置するように処理をすることができる。また、キャラクタオブジェクトCに関しては、キャラクタオブジェクトの全部あるいは一部が、フレームFよりも手前に描画することを可能としてもよい。これにより、図8(C)に例示するように、フレームFからキャラクタオブジェクトCの手や体などが飛び出だしたような表現が可能となる。 Decorative objects in the inset frame and stickers of a type placed relative to the frame coordinates are positioned so that they are drawn in front of other objects. However, while displayed at full size on the display unit of the user terminal 300, the coordinates may be moved further back in the virtual space by user operation. For example, if frame F needs to be brought closer to character object C, frame F can be moved closer to character object C by user operation of the operation tool (e.g., by enlarging the composite image from FIG. 8(A) to FIG. 8(B)). In this case, if a real object is placed in front of frame F, the depth of the real object can be overwritten with the position of frame F, so that frame F is positioned in front as seen from the camera. Furthermore, with regard to character object C, all or part of the character object may be drawn in front of frame F. This makes it possible to express the hands or body of character object C as if they are protruding from frame F, as exemplified in FIG. 8(C).
図9は、パーティクルの装飾オブジェクトを配置した場合の画面例である。パーティクルとは、アニメーションを伴う装飾オブジェクトである。図9においては、花のオブジェクトを降らすことができるパーティクルPの例を説明する。花のパーティクルPは、複数の花のオブジェクトで構成されている。パーティクルについても、奥行きなどを含む座標の情報が、粒子のオブジェクト各々に関連付いている。そのため、キャラクタオブジェクトCの配置位置と重なるように、花のパーティクルPを配置した場合、花のオブジェクトのうちの一部は、キャラクタオブジェクトCよりも手前の座標であるため、キャラクタオブジェクトCの手前に描画される。一方、キャラクタオブジェクトCの奥側の座標が関連付いている花のオブジェクトは、キャラクタオブジェクトCよりも奥側に描画されるため、キャラクタオブジェクトCと重複する部分については非表示となる。 Figure 9 is an example of a screen where particle decorative objects have been placed. Particles are decorative objects that involve animation. Figure 9 illustrates an example of particles P that can drop flower objects. Flower particles P are made up of multiple flower objects. Coordinate information, including depth, is associated with each particle object as well. Therefore, if flower particles P are placed so that they overlap with the placement position of character object C, some of the flower objects will be drawn in front of character object C, as their coordinates are in front of character object C. On the other hand, flower objects associated with coordinates behind character object C will be drawn behind character object C, and so the parts that overlap with character object C will not be displayed.
また、再編集用データに含まる撮像時に取得された深度情報と、パーティクルの座標の情報等に基づき、図9(B)に例示するように、奥側にだけ描画されるようにすることも可能であり、このとき、図6(B)のシールについての説明と同様に、推定される距離に合わせて大きさが変更される。これにより、例えば、深度情報により撮像画像内の手前の被写体等から30メートル先のエリアに、雪などのパーティクルを降らせたい場合、奥側に小さな粒子で表示されるようにパーティクルを描画することが可能である。このため、よりリアリティが増す。なお、編集操作は、図7でシールを用いて例示したように、操作アイコンを表示させて場所や大きさの移動、あるいは、パーティクルに対する直接の操作により表示態様の変更ができてもよい。 In addition, based on the depth information acquired during image capture and particle coordinate information included in the re-editing data, it is also possible to have particles drawn only in the back, as shown in the example of Figure 9(B). In this case, the size is changed according to the estimated distance, as explained for the stickers in Figure 6(B). This means that, for example, if you want particles such as snow to fall in an area 30 meters away from a subject in the foreground in the captured image based on depth information, it is possible to draw the particles so that they appear as small particles in the back. This increases realism. Note that editing operations may be performed by displaying an operation icon to move the location or size, or by directly operating on the particles to change the display mode, as shown in the example using stickers in Figure 7.
また、撮像画像内に壁があると判定され、壁の外に配置するようにパーティクルを配置したときには、図9(C)に示すように、オクルージョン処理によって壁が存在する範囲にはマスク処理(現実オブジェクトの配置)がされて、壁の範囲には、パーティクルが描画されないようにすることもできる。一方、壁の外(図9(C)の場合は、壁よりも奥側)である窓に相当する範囲には、パーティクルが描画される。 Furthermore, when it is determined that there is a wall in the captured image and particles are placed outside the wall, as shown in Figure 9(C), occlusion processing can be used to mask the area where the wall exists (placement of real objects), preventing particles from being drawn within the area of the wall. On the other hand, particles are drawn in the area outside the wall (in the case of Figure 9(C), which corresponds to the window, which is further back than the wall).
パーティクルのアニメーションは、撮影ボタンSが操作されるまでは、再生されたままであってもよい。撮影ボタンSが操作されることで、操作されたタイミングのアニメーションの位置で固定されて出力される。また、パーティクルのアニメーションスピードのコントロールがユーザ操作により可能となるようにしてもよい。例えば、キャラクタオブジェクトのモーションと同様に速度調整アイコンを表示させて、当該アイコンに対する操作がされることにより可変可能としてもよい。これにより、ユーザの好みのアニメーションのタイミングなどで静止画や動画を撮影することができるため、ARコンテンツを用いた創作表現の幅が広がる。 The particle animation may continue to play until the capture button S is operated. When the capture button S is operated, the animation is fixed at the position at the timing of the operation and output. The particle animation speed may also be controlled by user operation. For example, a speed adjustment icon may be displayed in the same way as the character object motion, and the speed may be made variable by operating the icon. This allows still images and videos to be taken with the user's preferred animation timing, thereby expanding the scope of creative expression using AR content.
装飾ツールで編集可能なポストエフェクト機能としては、再編集データ(仮想空間特定用情報による3Dシーンの保存)を活かして、深度推定による被写界深度(フォーカス)の調整や、手ぶれ補正、カラーフィルタや、撮像画像に写る人物を抽出ができるものであってもよい。例えば、初回の撮像時には、人物判定がされない場合などに、後の再編集時に人物を抽出し、画像認識処理により、撮像画像の人物に相当する部分にプライバシー加工(モザイク加工処理等)を行うことを可能とする処理)をしてもよい。また、再編集時には、人物に限らず、商品のロゴ等の抽出も可能であり、モザイク加工処理を行うことを可能としてもよい。このように、再編集用データとして撮像画像と、当該撮像画像に対応する現実オブジェクトの情報(現実の物体に対応する透明ポリゴンメッシュの情報)等も共に記憶されていることから、背景となる撮像画像自体に映る対象物に対して後処理によって用途に応じた加工をかけつつも、従来と異なり、キャラクタなどの非現実オブジェクトを現実世界に3Dの関係を持たせつつ再合成することが可能となる。よって、本実施例におけるARコンテンツによれば、専門知識を有するアプリケーションを操作することなくとも、ユーザにとって簡易な操作によって、合成写真の表現の幅が広がり、また、撮影をした合成写真を使用する用途の幅に広がりを持たせることが可能である。 Post-effect functions that can be edited with the decoration tool may utilize the re-editing data (3D scene storage using virtual space identification information) to adjust depth of field (focus) using depth estimation, apply image stabilization, color filters, or extract people from captured images. For example, if a person is not identified during the initial capture, the person may be extracted during a later re-editing process, and image recognition processing may be used to apply privacy processing (such as mosaic processing) to the portion of the captured image corresponding to the person. Furthermore, during re-editing, it may be possible to extract not only people but also product logos and other items, and apply mosaic processing. In this way, since the re-editing data includes both the captured image and information about the real objects corresponding to the captured image (such as transparent polygon mesh information corresponding to real objects), it is possible to apply post-processing to the objects in the background captured image itself according to the purpose, while recombining unreal objects such as characters into the real world while maintaining a 3D relationship, unlike conventional methods. Therefore, with the AR content in this embodiment, the user can easily operate the composite photograph, without having to operate an application that requires specialized knowledge, thereby expanding the range of expressions possible with the composite photograph, and also expanding the range of uses for the captured composite photograph.
なお、装飾オブジェクトは、座標が関連付いていれば、2DCGであっても、3DCGであってもいずれでもよい。装飾オブジェクトの3DCGの回転操作を行うことを可能としてもよい。また、装飾ツールの機能を複数セットにしたテンプレートデコレーション機能があってもよい。例えば、フレーム・シール複数枚・パーティクルなどの視覚エフェクト・ポストエフェクトなどの効果などが1セットになったテンプレートをテーマ毎に選択可能としてもよい。これにより、画像編集に不慣れなユーザであっても簡単に装飾を行うことができる。以上のように、再編集データに基づいて3DCGの編集操作を容易に行えるようにしたことで、好みのキャラクタを用いて現実空間を合成させた画像の創作の表現の幅が広がり、ユーザの興趣が向上する。 Note that decorative objects may be either 2DCG or 3DCG, as long as they are associated with coordinates. It may also be possible to rotate the 3DCG of decorative objects. There may also be a template decoration function that combines multiple sets of decorative tool functions. For example, a template that combines a set of effects such as frames, multiple stickers, visual effects such as particles, and post-effects may be selectable for each theme. This allows even users who are unfamiliar with image editing to easily decorate. As described above, making it easy to edit 3DCG based on re-edited data broadens the scope of creative expression for images that combine real space with favorite characters, enhancing user enjoyment.
<ARコンテンツ撮影処理についての流れ>
(AR撮影処理)
図10は、ユーザ端末300における本実施例のARコンテンツの初回撮影時のAR撮影処理を説明するためのフローチャートである。制御部360では、ユーザからARコンテンツを実行するためのアプリを立ち上げる操作がされることなどに応じて所定時間経過毎にAR撮影処理を繰り返し行う。
<AR content shooting process flow>
(AR photography processing)
10 is a flowchart for explaining the AR image capturing process when capturing the AR content of this embodiment for the first time in the user terminal 300. The control unit 360 repeatedly performs the AR image capturing process at predetermined time intervals in response to an operation by the user to launch an application for executing the AR content, etc.
ステップS101では、AR撮影モードを起動する。例えば、ユーザ端末300にインストールされているARコンテンツを実行可能なアプリケーションがユーザ操作に応じて立ち上げられることなどにより、AR撮影を開始する要求あったと判定されたときに、AR撮影モードを起動する。また、取得情報解析部362は、AR撮影モードを起動することで、情報取得部350より取得される撮像画像から平面を検出する。 In step S101, the AR photography mode is activated. For example, the AR photography mode is activated when it is determined that a request to start AR photography has been made, such as when an application capable of executing AR content installed on the user terminal 300 is launched in response to a user operation. In addition, by activating the AR photography mode, the acquired information analysis unit 362 detects a plane from the captured image acquired by the information acquisition unit 350.
ステップS102では、拡張現実データ生成部363は、取得情報解析部362によって情報取得部350によって取得した情報から特定される深度情報や色情報に基づいて現実オブジェクトが配置された仮想空間内の所定位置に、非現実オブジェクトを配置する処理を実行する。例えば、ステップS101によって、撮像画像内の平面が検出された後、拡張現実データ生成部363は、図5に例示するように、当該検出された平面(図5(B)の平面)と床となる平面が対応(例えば角度等)する仮想空間上(図5(C))にキャラクタオブジェクトC(非現実オブジェクト)を配置する。非現実オブジェクトであるキャラクタオブジェクトCを配置させる所定位置は、初期配置された座標から、ユーザ操作によって異なる座標に移動可能である。例えば、移動させたい場所にタップ操作などがされることによりキャラクタオブジェクトCが表示される場所が変更される。また、取得情報解析部362によって特定された深度情報等に基づいて、物体や面などが検出されていれば、当該物体や面などにマスク処理がされる。例えば、図5(B)に例示するように、物体として椅子R1や、木R2が検出されていれば、対応する仮想空間上には、現実オブジェクトRO1や、RO2の透明ポリゴンメッシュが配置される。 In step S102, the augmented reality data generation unit 363 executes a process of placing an unreal object at a predetermined position in the virtual space where the real object is placed, based on the depth information and color information identified by the acquired information analysis unit 362 from the information acquired by the information acquisition unit 350. For example, after a plane in the captured image is detected in step S101, the augmented reality data generation unit 363 places a character object C (unreal object) in the virtual space (FIG. 5C) where the detected plane (the plane in FIG. 5B) corresponds (e.g., angle) to the plane that serves as the floor, as illustrated in FIG. 5. The predetermined position where the unreal object character object C is placed can be moved from its initial coordinates to different coordinates by user operation. For example, the location where the character object C is displayed can be changed by performing a tap operation or the like on the desired location. Furthermore, if an object, surface, etc. is detected based on the depth information, etc. identified by the acquired information analysis unit 362, the object, surface, etc. are masked. For example, as shown in Figure 5(B), if a chair R1 or a tree R2 is detected as an object, the transparent polygon meshes of the real objects RO1 and RO2 are placed in the corresponding virtual space.
ステップS103では、撮像画像と、仮想空間データとを合成した合成画像をユーザ端末300の表示部に表示する処理を実行する。例えば、表示制御部364は、図5(B)の撮像画像と、対応する図5(C)の仮想空間のデータを合成した画像データを表示部にレンダリングする。このとき、図6(B)のように現実オブジェクトROよりも奥の座標にキャラクタオブジェクトCが配置されていれば、レンダリングされる際に、キャラクタオブジェクトCの仮想カメラから見て遮蔽される範囲は描画されない。 In step S103, a process is executed to display a composite image obtained by combining the captured image and virtual space data on the display unit of the user terminal 300. For example, the display control unit 364 renders image data obtained by combining the captured image of FIG. 5(B) with the corresponding virtual space data of FIG. 5(C) on the display unit. At this time, if character object C is placed at coordinates deeper than real object RO, as shown in FIG. 6(B), the area that is blocked from the perspective of the virtual camera of character object C will not be drawn when rendering.
ステップS104では、情報取得部350によって取得した情報から特定される深度情報等に基づいて現実オブジェクトを生成して仮想空間を更新する。例えば、ユーザがユーザ端末300の角度を変更したことなどにより、情報取得部350から取得される現実空間の画像に変化があると、拡張現実データ生成部363は、情報取得部350から取得した深度情報等に基づいて特定される物体や面などに応じて所定時間経過毎にマスクを生成する(マスク処理)。つまり、仮想空間上の現実オブジェクトが更新される。 In step S104, a real object is generated based on depth information, etc., identified from the information acquired by the information acquisition unit 350, and the virtual space is updated. For example, if the image of real space acquired from the information acquisition unit 350 changes because the user changes the angle of the user terminal 300, the augmented reality data generation unit 363 generates a mask at predetermined time intervals according to the object, surface, etc. identified based on the depth information, etc., acquired from the information acquisition unit 350 (mask processing). In other words, the real object in the virtual space is updated.
ステップS105では、非現実オブジェクトの表示態様変更条件が成立したか否かが判定される。表示態様変更条件が成立したと判定されれば、ステップS106で、成立した非現実オブジェクトの表示態様変更条件に応じて非現実オブジェクトの表示態様を変更して更新する処理を実行する。表示態様の変更条件の成立とは、例えば、図4の操作メニューT10から選択されることにより、キャラクタオブジェクトCの表情やポーズ、衣装などの変更操作がされること、モーションが選択されてキャラクタオブジェクトCが動作させられること、キャラ変更T1への操作によるキャラクタオブジェクトCを異なる種類のキャラクタオブジェクトCに変更する操作がされることなどが含まれる。拡張現実データ生成部363は、例えば、表情の変更操作がされたと判定すると、変更後の表情にキャラクタオブジェクトCの表情を変更した態様になるようにキャラクタオブジェクトCを更新する。また、モーションが選択された際には、キャラクタオブジェクトCが、モーション動作を実行するように表示態様を切り替えて更新する。 In step S105, it is determined whether a display mode change condition for the unreal object has been met. If it is determined that the display mode change condition has been met, in step S106, a process is executed to change and update the display mode of the unreal object in accordance with the met display mode change condition for the unreal object. Meeting a display mode change condition includes, for example, an operation to change the facial expression, pose, or costume of character object C by selecting it from the operation menu T10 of FIG. 4; selecting a motion to cause character object C to move; or an operation to change character object C to a different type of character object C by operating character change T1. For example, when the augmented reality data generation unit 363 determines that an operation to change the facial expression has been performed, it updates character object C so that the facial expression of character object C is changed to the changed facial expression. Furthermore, when a motion is selected, the display mode is switched and updated so that character object C performs the motion action.
ステップS105で、非現実オブジェクトの表示態様変更条件が成立したと判定されなかったとき、あるいは、ステップS106で表示態様変更条件に応じて非現実オブジェクトを更新した後は、ステップS107で、撮像画像と仮想空間データとを合成した合成画像をユーザ端末300の表示部に表示する処理を実行する。例えば、表示制御部364は、ステップS104で更新される仮想空間のデータと、取得されている撮像画像とをリアルタイムレンダリングによって表示部に描画させてプレビュー表示されるようにする。また、ステップS106で、仮想空間上のキャラクタオブジェクトCの表示態様に変更がされていれば、変更後の表示態様でレンダリングする。 If it is not determined in step S105 that the display mode change condition for the unreal object has been met, or after the unreal object has been updated in accordance with the display mode change condition in step S106, processing is performed in step S107 to display a composite image, which is a composite of the captured image and the virtual space data, on the display unit of the user terminal 300. For example, the display control unit 364 uses real-time rendering to render the virtual space data updated in step S104 and the captured image that has been acquired, on the display unit, so that a preview is displayed. Furthermore, if the display mode of the character object C in the virtual space has been changed in step S106, rendering is performed in the changed display mode.
ステップS108では、撮影操作がされたか否かが判定される。撮影操作がされたと判定されたときには、ステップS109で、撮影操作を受け付けたときの撮像画像・仮想空間特定用情報・合成画像を記憶部320に記憶する。例えば、図4で例示した撮影画面における撮影ボタンSがタップ操作されることなどにより、再編集データ管理部365は、撮影ボタンSが操作されたタイミングでレンダリングされ表示部にプレビュー表示されていた合成画像の背景画像となる撮像画像と、現実オブジェクトの位置や形状等の情報等を含む、図5(C)の仮想空間を特定するための仮想空間特定用情報と、プレビュー表示されていた合成画像を高解像度でラスタライズした合成画像とを記憶する。撮像画像と、座標情報が含まれる仮想空間特定用情報は、ステップS108で撮影された合成画像を再編集するための再編集用データとして、読出し可能となるように記憶される。また、ステップS109の後は、引き続きAR撮影を行うことが可能であるため、ステップS104に戻り、処理を繰り返す。 In step S108, it is determined whether a shooting operation has been performed. If it is determined that a shooting operation has been performed, in step S109, the captured image, virtual space identification information, and composite image at the time the shooting operation was received are stored in the storage unit 320. For example, when the shooting button S on the shooting screen illustrated in FIG. 4 is tapped, the re-editing data management unit 365 stores the captured image that is rendered at the time the shooting button S is operated and serves as the background image of the composite image previewed on the display unit, virtual space identification information for identifying the virtual space of FIG. 5(C) that includes information such as the position and shape of real objects, and a composite image obtained by rasterizing the previewed composite image at high resolution. The captured image and the virtual space identification information including coordinate information are stored so that they can be read as re-editing data for re-editing the composite image captured in step S108. Furthermore, since AR shooting can continue after step S109, the process returns to step S104 and repeats.
一方、ステップS108で撮影操作がされたと判定されなかったときには、ステップS110で終了操作があったか否かが判定される。例えば、当該AR撮影処理を実行するアプリケーションを閉じる操作、あるいは、図11を参照して後述するAR再撮影処理を実行するための操作など、AR撮影を終了する操作がされた場合に処理を終了する。ステップS110で、終了操作があったと判定されなかったときには、ステップS104に戻り、処理を繰り返す。 On the other hand, if it is not determined in step S108 that a shooting operation has been performed, it is determined in step S110 whether an end operation has been performed. For example, the process ends when an operation to end AR shooting has been performed, such as an operation to close the application that executes the AR shooting process, or an operation to execute the AR re-shooting process described below with reference to Figure 11. If it is not determined in step S110 that an end operation has been performed, the process returns to step S104 and repeats the process.
(AR再撮影処理)
図11は、ユーザ端末300における図10を参照して説明したAR撮影処理のステップS109で記憶された再編集用データに基づく、AR再撮影処理を説明するためのフローチャートである。制御部360では、ユーザからARコンテンツを実行するためのアプリに対して、AR画像の再編集を要求する操作がされることなどに応じて所定時間経過毎にAR再撮影処理を繰り返し行う。
(AR re-shooting process)
11 is a flowchart for explaining the AR re-capture processing based on the re-editing data stored in step S109 of the AR capture processing described with reference to Fig. 10 in the user terminal 300. The control unit 360 repeatedly performs the AR re-capture processing at predetermined time intervals in response to an operation from the user requesting re-editing of the AR image to an application for executing AR content, etc.
ステップS201では、再撮影操作がされたか否かが判定される。再撮影操作がされたと判定されなかったときには処理を終了する。一方、再撮影操作がされたと判定されると、ステップS202で、記憶していた撮像画像・仮想空間特定用情報を読み出す。例えば、再編集データ管理部365は、図10のステップS109で記憶した再編集用データを読み出す。再編集用データは、図10のステップS108の撮影操作がされた際に記憶されたデータであり、例えば、背景画像となる図5(B)の撮像画像と、図5(C)の現実オブジェクトが配置された仮想空間を特定するための仮想空間特定用情報とを記憶部320から読み出す。ステップS202における仮想空間特定用情報は、例えば、現実オブジェクト(透明ポリゴンメッシュ)の座標や形状等の情報や、仮想カメラの向き等の情報等が含まれる。 In step S201, it is determined whether a re-shooting operation has been performed. If it is determined that a re-shooting operation has not been performed, the process ends. On the other hand, if it is determined that a re-shooting operation has been performed, in step S202, the stored captured image and virtual space identification information is read out. For example, the re-editing data management unit 365 reads out the re-editing data stored in step S109 of FIG. 10. The re-editing data is data stored when the shooting operation was performed in step S108 of FIG. 10. For example, the captured image of FIG. 5(B) that serves as the background image and virtual space identification information for identifying the virtual space in which the real object of FIG. 5(C) is placed are read out from the storage unit 320. The virtual space identification information in step S202 includes, for example, information such as the coordinates and shape of the real object (transparent polygon mesh), and information such as the orientation of the virtual camera.
ステップS203では、読み出した仮想空間特定用情報に基づき、仮想空間内の所定位置に、非現実オブジェクトを配置する処理を行う。例えば、拡張現実データ生成部363は、再編集用データに含まれる仮想空間特定用情報に基づき生成された現実オブジェクトROが配置された図5(C)の仮想空間データに基づいて、図5(D)のように仮想空間内の位置にキャラクタオブジェクトCを再配置する。当該再配置は、初回撮影時の初期配置と同様に、再編集画面を表示する際に自動表示されてもよく、あるいは、ユーザからの配置操作によって配置されるようにしてもよい。 In step S203, a process is performed to place a non-real object at a predetermined position in the virtual space based on the read virtual space identification information. For example, the augmented reality data generation unit 363 re-positions the character object C at a position in the virtual space as shown in FIG. 5(D) based on the virtual space data of FIG. 5(C) in which the real object RO generated based on the virtual space identification information included in the re-editing data is positioned. This re-positioning may be automatically displayed when the re-editing screen is displayed, as with the initial positioning at the time of initial shooting, or may be performed by a positioning operation by the user.
ステップS204では、撮像画像と仮想空間内データとを合成した合成画像を表示する処理を実行する。例えば、表示制御部364は、オブジェクトが配置された仮想空間と、撮像画像と合成して、図4(A)のように表示部にプレビュー表示されるようにレンダリングする。このとき、図10で説明した初回撮影時とは異なり、撮像画像は新たに取得されず、固定されている。 In step S204, processing is performed to display a composite image obtained by combining the captured image with the virtual space data. For example, the display control unit 364 combines the captured image with the virtual space in which the object is placed, and renders it so that it is displayed as a preview on the display unit as shown in Figure 4(A). At this time, unlike the initial capture described in Figure 10, the captured image is not newly acquired but is fixed.
ステップS205では、非現実オブジェクトの追加配置操作がされたか否かが判定される。例えば、図7~図9を参照して説明した装飾オブジェクトの配置操作や、キャラクタオブジェクトCを追加配置する操作がされると、非現実オブジェクトが追加配置操作されたと判定される。 In step S205, it is determined whether an operation to add and place an unreal object has been performed. For example, if an operation to place a decorative object as described with reference to Figures 7 to 9 or an operation to add and place a character object C is performed, it is determined that an operation to add and place an unreal object has been performed.
ステップS205で、追加配置操作があったと判定されたときには、ステップS206で、追加された非現実オブジェクトを仮想空間に配置して仮想空間を更新する処理を実行する。例えば、図7のように、キャラクタオブジェクトCとの前後関係を構築可能な種類のシールを配置する選択がされると、シールに関連付いた座標の情報が仮想空間データに関連付けられ、装飾オブジェクトであるシールDOが配置されて仮想空間が更新される。 If it is determined in step S205 that an additional placement operation has been performed, then in step S206, the added unreal object is placed in the virtual space, and the virtual space is updated. For example, as shown in Figure 7, when a selection is made to place a type of sticker that can be placed in a posterior-to-posterior relationship with character object C, the coordinate information associated with the sticker is associated with the virtual space data, and the decorative object sticker DO is placed, updating the virtual space.
ステップS205で、非現実オブジェクトの追加配置操作があったと判定されなかったとき、あるいは、非現実オブジェクトの追加配置がされた後は、ステップS207で、非現実オブジェクトの表示態様の変更条件が成立したか否かが判定される。例えば、キャラクタオブジェクトCについては、操作メニューT10が操作されることよる表情・ポーズ・衣装・モーションなどの変更操作や、タップ操作による配置位置の移動操作、立体的な回転操作、キャラ変更アイコンT1への操作によるキャラクタの種類の変更操作があったときに、表示態様の変更条件が成立したと判定される。また、装飾オブジェクトについては、拡縮操作や、配置位置変更操作等がされることにより、表示態様変更条件が成立したものと判定される。なお、キャラクタのモーションや、パーティクルのアニメーションについては、スピードコントロール操作がされたときにも表示態様の変更操作がされたと判定されるものとする。 If it is determined in step S205 that no operation to add or place an unreal object has been performed, or after an unreal object has been added or placed, it is determined in step S207 whether or not a condition for changing the display mode of the unreal object has been met. For example, for character object C, it is determined that a condition for changing the display mode has been met when an operation to change the facial expression, pose, costume, motion, etc. by operating the operation menu T10, an operation to move the placement position by tapping, an operation to rotate the object three-dimensionally, or an operation to change the character type by operating the character change icon T1 has been performed. Furthermore, for decorative objects, it is determined that a condition for changing the display mode has been met when an operation to enlarge or reduce the object or an operation to change its placement position has been performed. It should be noted that for character motion and particle animation, a display mode change operation is also determined to have been performed when a speed control operation is performed.
ステップS208では、ステップS207で成立したと判定された表示態様変更条件に応じて非現実オブジェクトの表示態様を変更して更新する。拡張現実データ生成部363は、例えば、キャラクタオブジェクトCのポーズの変更操作があった判定されると、仮想空間上のキャラクタオブジェクトCのポーズを、変更操作によって選択されているポーズに変更することで仮想空間を更新する。 In step S208, the display mode of the unreal object is changed and updated in accordance with the display mode change condition determined to be met in step S207. For example, when it is determined that an operation to change the pose of character object C has been performed, the augmented reality data generation unit 363 updates the virtual space by changing the pose of character object C in the virtual space to the pose selected by the change operation.
ステップS208で、非現実オブジェクトの表示態様の変更がされた後は、ステップS209で、撮像画像と仮想空間データとを合成した合成画像を表示する処理を実行する。例えば、表示制御部364は、再編集用データの撮像画像と、ステップS206で追加、あるいは、ステップS208で変更された非現実オブジェクトが表示された更新後の仮想空間と、撮像画像との合成画像が表示部にレンダリングする処理を行うようにする。 After the display mode of the unreal object is changed in step S208, processing is performed in step S209 to display a composite image obtained by combining the captured image and virtual space data. For example, the display control unit 364 performs processing to render on the display unit a composite image of the captured image, the captured image of the re-editing data, the updated virtual space displaying the unreal object added in step S206 or changed in step S208, and the captured image.
ステップS209で更新後の仮想空間を表示させた後、あるいは、ステップS207で、非現実オブジェクトの表示態様の変更操作があったと判定されなかったときには、ステップS210で、撮影操作があったか否かが判定される。撮影操作があったと判定されると、ステップS211で、撮影操作を受け付けたときの仮想空間特定用情報・合成画像を記憶部320に記憶する。例えば、図10の初回撮影時のステップS108と同様に、撮影ボタンSが操作されることにより、現在表示部にプレビュー表示されている合成画像がラスタライズされユーザ端末300の記憶部320に記憶する。なお、ステップS211において、図10のステップS109と同様に撮像画像も記憶部320に記憶されるようにしてもよい。ステップS210の撮影操作は、動画撮影を可能としてもよく、例えば、再編集データの撮像画像が静止画であった場合であっても、キャラクタオブジェクトのモーション動作の動画の記憶を可能としてもよい。 After the updated virtual space is displayed in step S209, or if it is not determined in step S207 that an operation to change the display mode of the unreal object has been performed, it is determined in step S210 whether a shooting operation has been performed. If it is determined that a shooting operation has been performed, the virtual space identification information and composite image at the time the shooting operation was received are stored in the storage unit 320 in step S211. For example, as in step S108 of FIG. 10 when shooting for the first time, when the shooting button S is operated, the composite image currently being previewed on the display unit is rasterized and stored in the storage unit 320 of the user terminal 300. Note that in step S211, the captured image may also be stored in the storage unit 320, as in step S109 of FIG. 10. The shooting operation in step S210 may enable video shooting; for example, even if the captured image of the re-edited data is a still image, a video of the motion of the character object may be stored.
ステップS211で、合成画像が記憶された後、あるいは、ステップS210で撮影操作があったと判定されなかったときには、ステップS212で終了操作があったか否かが判定される。例えば、図10のS110と同様に、アプリを終了する操作や、別の再編集データに基づいて再編集操作を行う操作がされたときには、処理を終了する。一方、終了操作があったと判定されなかったときには、ステップS205に戻り、処理を繰り返す。これにより、再編集データに基づいて、複数の合成画像を生成可能となる。例えば、同じ撮像画像を背景としつつ、キャラクタオブジェクトの表示態様を複数パターン生成することが可能となる。 After the composite image is stored in step S211, or if it is determined in step S210 that a shooting operation has not been performed, it is determined in step S212 whether or not an end operation has been performed. For example, similar to S110 in FIG. 10, if an operation to end the app or an operation to perform a re-editing operation based on different re-edited data is performed, the process ends. On the other hand, if it is not determined that an end operation has been performed, the process returns to step S205 and repeats the process. This makes it possible to generate multiple composite images based on the re-edited data. For example, it is possible to generate multiple patterns of display modes for character objects using the same captured image as the background.
<具体的構成および効果の例> <Examples of specific configurations and effects>
(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に記憶可能となる。これにより、拡張現実による初回の撮影操作が行われた後においても、事後的にキャラクタオブジェクトなどの非現実オブジェクトを変更し、当該撮像画像と合成した新たな拡張現実の画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、キャラクタオブジェクトなどの非現実オブジェクトを表示させる拡張現実画像の編集操作ができるため、納得する画像を作りやすくなり、ユーザの利便性が向上する。 (1) In the above-described embodiment, in steps S102 to S107 of the AR imaging process of FIG. 10, based on depth information acquired from the information acquisition unit 350 (e.g., a camera equipped with a depth sensor), a mask polygon (real object RO1) corresponding to the shape of an object such as a chair R1 that may be included in a captured image of real space, such as that of FIG. 5(B) acquired by the information acquisition unit 350, is positioned at coordinates consistent with the real space. Furthermore, an augmented reality composite image, which combines virtual space data in which an unreal object, such as a character object C, is placed based on user operations, with the captured image of real space, can be displayed on the display unit of the user terminal 300. In other words, a composite image combining a captured image and an object in virtual space can be displayed. Furthermore, in the augmented reality composite image, as in FIG. 4(C) or FIG. 6(B), an unreal object, such as character object C, is positioned further back than a real object, such as chair R1, so that the portion of character object C that overlaps with chair R1 is obscured by chair R1 and not rendered. 10, when the user performs a photographing operation using the photographing button S displayed on the photographing screen of FIG. 4, the captured image acquired by the information acquisition unit 350 and virtual space identification information that specifies the coordinates of the real object RO1, which is the mask polygon of the real object, and the character object C are stored as re-editing data in the storage unit 320. Also, the rasterized composite image generated when the photographing button S is operated is stored in the storage unit 320, and is saved in an image data folder or the like of the user terminal 300. 11 , in steps S202 to S204, a composite image obtained by combining the captured image with virtual space data in which real objects such as those shown in FIG. 5C are arranged, which are identified based on the virtual space identification information stored as re-editing data, is displayed on the display unit of the user terminal 300. In steps S205 to S209, the virtual space data is updated based on user operations, such as adding and arranging unreal objects such as character object C and sticker DO, and changing the display mode of character object C, such as changing the size, expression, motion, or type of character object C, to obtain an augmented reality composite image obtained by combining the updated virtual space data with the captured image of real space, and the updated composite image is displayed on the display unit of the user terminal 300. In addition, when the user operates the capture button S, the composite image in step S209 is subjected to a 3DCG editing operation, and then newly rasterized and can be stored in the storage unit 320. This makes it possible to change unreal objects such as character objects after the initial augmented reality capture operation has been performed, and regenerate a new augmented reality image by combining the captured image with the unreal object. This allows users to calmly edit augmented reality images that display unreal objects such as character objects, making it easier to create images that they are satisfied with and improving user convenience.
(2)上述した実施の形態では、図11のAR再撮影処理のステップS207により、図6~図9を参照して例示したように、非現実オブジェクトの拡大縮小・左右位置移動操作などに基づく仮想空間における非現実オブジェクトの座標の変更することや、キャラクタオブジェクトCを異なるキャラクタに変更すること、装飾オブジェクトを異なる装飾オブジェクトへ変更すること、キャラクタオブジェクトCのモーション・表情・ポーズ・衣装などを変更することなどの、非現実オブジェクトの表示態様の変更が可能である。これにより、合成画像を表示させて拡張現実による初回の
撮影操作が行われた後においても、ユーザからの変更操作に応じてキャラクタオブジェクトなど非現実オブジェクトの変更を事後的に行うことができる。これにより、ユーザは、落ち着いた状態で、キャラクタオブジェクトなどの非現実オブジェクトを表示させる拡張現実画像の編集操作ができるため、納得する画像を作りやすくなり、ユーザの利便性が向上する。
(2) In the above-described embodiment, in step S207 of the AR re-photographing process in Fig. 11, as illustrated with reference to Figs. 6 to 9, it is possible to change the display mode of an unreal object, such as changing the coordinates of an unreal object in the virtual space based on operations such as enlarging/reducing the unreal object or moving the unreal object to the left or right, changing the character object C to a different character, changing a decorative object to a different decorative object, or changing the motion, expression, pose, costume, etc. of the character object C. This allows a composite image to be displayed, and the initial augmented reality experience can be improved.
Even after a photographing operation has been performed, unreal objects such as character objects can be changed after the fact in response to a change operation from the user. This allows the user to calmly edit an augmented reality image that displays unreal objects such as character objects, making it easier to create an image that satisfies the user, improving user convenience.
(3)上述した実施の形態では、図6(D)で例示したように、キャラクタオブジェクトCは、ダンス、ジャンプなどの所定のモーションによるアニメーション動作を伴わせて表示させることが可能であり、AR再撮影処理において、図11のステップS207~S208で、キャラクタオブジェクトCを所定のモーションで動作させた態様でユーザ端末300の表示部に表示することが可能である。これにより、すでに合成画像を表示させて撮影操作が行われた後においても、事後的にキャラクタオブジェクトを動作させ、ユーザが納得する所定のタイミングでの動きのキャラクタオブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。 (3) In the above-described embodiment, as illustrated in FIG. 6(D), character object C can be displayed with animation movements based on a predetermined motion, such as dancing or jumping. In the AR re-capture process, in steps S207 to S208 of FIG. 11, character object C can be displayed on the display unit of the user terminal 300 in a state where it is moving with a predetermined motion. This allows the character object to be moved after the fact, even after a composite image has already been displayed and a capture operation has been performed, and the state of the character object moving at a predetermined timing that satisfies the user can be saved, thereby expanding the range of expression and increasing the user's interest.
(4)上述した実施の形態では、図9で例示したように、キャラクタオブジェクトCとともに、動きを伴う複数粒子から構成されたオブジェクトや、流体などを動作させるパーティクルを表示可能である。これにより、合成画像を表示させて撮影操作が行われた後においても、事後的に装飾オブジェクトを動作(アニメーション表示)させ、所定のタイミングの装飾オブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。 (4) In the above-described embodiment, as illustrated in FIG. 9, it is possible to display, together with the character object C, an object made up of multiple moving particles, or particles that move a fluid, etc. This allows the decorative object to be moved (animated) after the composite image has been displayed and a photographing operation has been performed, and the appearance of the decorative object at a predetermined timing can be saved, thereby expanding the range of expression and increasing the user's interest.
(5)上述した実施の形態では、図11のステップS207~S208などにおいて、図6(D)で例示したキャラクタオブジェクトのモーションや、図9で例示したパーティクルのアニメーションを、ユーザからの速度変更アイコンT4への操作などにより、速度変更させて表示可能である。これにより、例えば、キャラクタオブジェクトの動作をスローモーションに変更することができるため、オブジェクトの動作タイミングについて、ユーザが望むタイミングでの特定が容易となるため、表現の幅が広がり、ユーザの興趣が向上する。 (5) In the above-described embodiment, in steps S207 to S208 of FIG. 11, the motion of the character object exemplified in FIG. 6(D) or the particle animation exemplified in FIG. 9 can be displayed at a different speed by the user operating the speed change icon T4, for example. This allows the movement of the character object to be changed to slow motion, making it easier for the user to specify the timing of the object's movement at the desired timing, thereby expanding the range of expression and increasing the user's interest.
<変形例>
以上説明した実施の形態に対する変形例などを以下に列挙する。
<Modification>
Modifications to the above-described embodiment are listed below.
(現実の物体等の検出について)
上述した実施形態では、情報取得部350のデプスセンサによって取得した深度情報等に基づいて、平面や物体の検出を行うことができる例を説明した。しかし、これに替えて、あるいは加えて、物体等の検出は、他のセンサや、機械学習を用いた画像認識処理(例えば、深度推定アルゴリズムを使用)によって取得情報解析部362で、深度推定がされることにより検出されるようにしてもよい。例えば、情報取得部350により取得される画像内に映る物体の種類の特定や、画像内の物体等を物体領域ごとに色分けをする(セグメンテーション・ラベル付け)ことで、例えば、床・壁・人物・椅子・机・動物などの区分け処理を行うことができるようにしてもよい。区分け処理に基づいて、区分けごとの位置の特定や、画像内における範囲の特定を行うようにしてもよい。
(Regarding detection of real objects, etc.)
In the above-described embodiment, an example has been described in which planes and objects can be detected based on depth information acquired by the depth sensor of the information acquisition unit 350. However, instead of or in addition to this, detection of objects and the like may be performed by depth estimation by the acquired information analysis unit 362 using other sensors or image recognition processing using machine learning (e.g., using a depth estimation algorithm). For example, it may be possible to identify the type of object appearing in the image acquired by the information acquisition unit 350 or color-code the objects and the like in the image by object region (segmentation/labeling), thereby performing segmentation processing, such as into floors, walls, people, chairs, desks, animals, etc. Based on the segmentation processing, it may be possible to identify the position of each segment or identify the range within the image.
例えば、AR撮影開始時の平面検出であれば、リセットアイコンT2が操作されることにより、撮影済みの撮像画像を解析し、セグメンテーションにより、地面などの床に相当する部類にラベル付け可能な範囲が特定されれば、当該地面の範囲を平面として、図5(C)の仮想空間を再構成するようにしてもよい。また、図9で例示したパーティクルの表示態様についても、例えば、セグメンテーションにより判定されたタグ付けに基づき、パーティクルを配置可能とする範囲が決定されるものとしてもよい。例えば、屋外あるいは屋内であるかをセグメンテーションにより判定し、例えば屋外にはパーティクルが描画されるが、屋内と判定された範囲には描画されない処理がされるようにしてもよい。 For example, in the case of plane detection at the start of AR shooting, operating the reset icon T2 analyzes the captured image, and if an area that can be labeled as a floor, such as the ground, is identified through segmentation, the area of the ground may be treated as a plane, and the virtual space of FIG. 5(C) may be reconstructed. Furthermore, with regard to the particle display mode exemplified in FIG. 9, the area in which particles can be placed may be determined, for example, based on the tagging determined through segmentation. For example, whether the area is indoors or outdoors may be determined through segmentation, and particles may be drawn outdoors, but not in areas determined to be indoors.
(遮蔽される対象について)
上述した実施形態では、取得情報解析部362によって平面や物体等であると検出された現実空間に存在する物体等にマスク処理(現実オブジェクトとなる透明ポリゴンメッシュの生成)を行い、キャラクタオブジェクトCなどの非現実オブジェクトの一部がユーザ端末300の表示部に描画されないようにするオクルージョン処理が可能である例を説明した。このオクルージョン処理によって非現実オブジェクトが遮蔽される対象を、予めユーザからの設定操作に応じて、選択可能とするようにしてもよい。例えば、人物(例えば、人物全体や、人物の一部である手など)によって、キャラクタオブジェクトのオクルージョン処理を行うか否かがユーザ操作によって予め設定可能であってもよい。あるいは、平面によってキャラクタオブジェクトのオクルージョン処理を実行するか否かがユーザ操作によって予め設定可能であってもよい。
(Regarding the object to be shielded)
In the above-described embodiment, an example has been described in which occlusion processing is possible, in which masking (generating a transparent polygon mesh that becomes a real object) is performed on an object, etc., in real space that is detected by the acquired information analysis unit 362 as a plane, an object, etc., so that a portion of an unreal object, such as the character object C, is not rendered on the display unit of the user terminal 300. The target of the unreal object that is occluded by this occlusion processing may be selectable in advance in accordance with a setting operation by the user. For example, whether or not to perform occlusion processing on a character object by a person (e.g., an entire person or a hand that is part of a person) may be set in advance by a user operation. Alternatively, whether or not to perform occlusion processing on a character object by a plane may be set in advance by a user operation.
(再編集データについて)
上述した実施形態では、ステップS109で再編集用データとして記憶される仮想空間特定用情報は、図5(C)の現実オブジェクトが配置された仮想空間を特定し再現可能とする情報であり、ステップS108で撮影操作がされたときのキャラクタオブジェクトCの情報は含まれない例を説明した。しかしこれに限らず、再編集用データには、図5(A)の合成画像を再現できるキャラクタオブジェクトCの情報も含められた仮想空間特定用情報が含まれていてもよい。例えば、図10のステップS108の初回撮影時の撮影ボタンSが操作された際に、背景画像となる図5(B)の撮像画像と、図5(C)のキャラクタオブジェクトCと現実オブジェクトとが配置された仮想空間を特定して再現可能とする仮想空間特定用情報とが記憶されるようにしてもよい。再編集用データとして記憶されるキャラクタオブジェクトCの情報は、キャラクタオブジェクトCの種類や、ポーズや表情などの表示態様、配置されている座標などの情報が含まれていることにより、例えば、図6などの再編集画面において、図4(A)等での初回撮像時と同じ態様で再表示されるようにしてもよい。あるいは、キャラクタオブジェクトCの種類や、ポーズや表情などの表示態様、配置されている座標などの情報のうちのいずれかを記憶することにより、初回撮影時のキャラクタオブジェクトCの態様の一部が再現されるようにしてもよい。これにより、ユーザは前回の撮影時に基づいて微調整を行うことが容易となる。
(Regarding re-edited data)
In the above-described embodiment, the virtual space identification information stored as the re-editing data in step S109 is information that identifies and enables reproduction of the virtual space in which the real object of FIG. 5C is placed, and does not include information about the character object C at the time of the photographing operation in step S108. However, this is not limiting, and the re-editing data may also include virtual space identification information that includes information about the character object C that can reproduce the composite image of FIG. 5A. For example, when the photographing button S for the first photographing is operated in step S108 of FIG. 10, the captured image of FIG. 5B that serves as the background image and virtual space identification information that identifies and enables reproduction of the virtual space in which the character object C and the real object of FIG. 5C are placed may be stored. The information about the character object C stored as the re-editing data may include information about the type of character object C, its display mode (e.g., pose and facial expression), and the coordinates at which it is placed, so that, for example, the character object C may be re-displayed in the same mode as when it was initially photographed in the re-editing screen of FIG. 6 or the like. Alternatively, a part of the appearance of the character object C at the time of the first photograph may be reproduced by storing any of information such as the type of character object C, the display appearance such as pose and facial expression, the coordinates where the character object C is located, etc. This makes it easy for the user to make fine adjustments based on the previous photograph.
また、図11のステップS212で、再編集時の撮影操作によって保存するデータは、合成画像である例を説明した。しかし、これに限らず、再編集操作の際にも撮影操作の都度、図10のステップS109と同様に、撮像画像および仮想空間特定用情報が記憶、あるいは、いずれか一方の情報も記憶されるようにしてもよい。例えば、ステップS212で、合成画像の記憶に加え、再編集操作後の仮想空間を再現するための情報として、キャラクタオブジェクトや装飾オブジェクトを特定する非現実オブジェクトの情報が含められた仮想空間特定用情報が記憶されるようにしてもよい。これにより、再度当該仮想空間特定用情報に基づいて再編集操作を行う際には、ステップS204で、前回の合成態様で、キャラクタオブジェクトや装飾オブジェクトが仮想空間に配置され、前回の続きから編集することができるようになる。 Furthermore, in step S212 of FIG. 11, an example was described in which the data saved by the shooting operation during re-editing is a composite image. However, this is not limited to this. Similarly to step S109 of FIG. 10, during re-editing, the captured image and virtual space identification information, or either one of the pieces of information, may be stored each time a shooting operation is performed. For example, in step S212, in addition to storing the composite image, virtual space identification information including information on unreal objects that identify character objects and decorative objects may be stored as information for reproducing the virtual space after the re-editing operation. As a result, when re-editing is performed again based on the virtual space identification information, in step S204, the character objects and decorative objects are placed in the virtual space in the previous composition mode, and editing can be continued from where it left off last time.
また、再編集用データに、現実オブジェクトのマスクの情報を含めるものに限らず、再編集用データの仮想空間特定用情報に含まれる初回の撮影時に情報取得部350により取得した撮像画像に関連付けられた深度情報に基づき、透明ポリゴンメッシュが新たにされることなどにより、現実の物体と合成する3D表現を可能としてもよい。 In addition, the re-editing data is not limited to including mask information for real objects. 3D representations that are combined with real objects may be possible by, for example, creating new transparent polygon meshes based on depth information associated with the captured image acquired by the information acquisition unit 350 at the time of the initial shooting, which is included in the virtual space identification information in the re-editing data.
上述した実施形態では、AR撮影を行った際に、再編集用データを記憶部320に記憶することでAR再撮影処理が可能である例を説明した。この再撮影(再編集)可能な再編集用データは、前回撮影した画像についてのみ一時的に編集可能であってもよく、あるいは、ユーザが本実施例におけるARコンテンツを利用して撮影した複数の合成画像のうちからいずれかを再編集するデータとして選択できるように記憶可能としてもよい。例えば、ARコンテンツのアプリケーションで再編集可能なデータをユーザが選択可能なようにサムネイル表示するようにしてもよい。また、再編集可能な再編集用データは、選択肢として記憶可能な数に上限を設けてもよく、古いデータであることやユーザによる削除操作があったことなどにより、一部が削除されるようにしてもよい。また、選択肢として記憶する上限数は、ユーザ操作により可変可能であってもよい。 In the above-described embodiment, an example has been described in which AR re-shooting processing is possible by storing re-editing data in the storage unit 320 when AR shooting is performed. This re-shooting (re-editing) re-editing data may be temporarily editable only for the previously shot image, or may be stored so that the user can select one of multiple composite images shot using the AR content of this embodiment as the data to be re-edited. For example, the AR content application may display thumbnails of re-editable data so that the user can select it. Furthermore, an upper limit may be set on the number of re-editable re-editing data that can be stored as options, and some of the data may be deleted due to old data or a deletion operation by the user. Furthermore, the upper limit on the number of options that can be stored may be variable by user operation.
また、再編集画面については、メニュー画面等から遷移するものに限らず、撮影ボタンSに対する操作がされたことによる撮像画像の撮影とともに、引き続き再編集画面に遷移できるようにしてもよい。例えば、合成画像について、SNS等に投稿するための操作メニューとともに、再編集操作の選択肢を表示するようにしてもよい。 Furthermore, the re-editing screen is not limited to a transition from a menu screen or the like, but may be configured to transition to the re-editing screen immediately after capturing an image by operating the capture button S. For example, for a composite image, options for re-editing operations may be displayed along with an operation menu for posting to SNS or the like.
(配信サーバ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に配信するようにしてもよい。
(Processing that can also be performed by the distribution server 100)
In the above-described embodiment, an example has been described in which the image capture processing shown in FIGS. 10 and 11 is performed in the user terminal 300. However, this is not limiting, and some of the processing (e.g., some of the functions of the image processing unit 361) may be executed in the distribution server 100. For example, information obtainable by the information acquisition unit 350 of the user terminal 300 may be transmitted to the distribution server 100, and shape and coordinate information (information for generating a transparent polygon mesh) corresponding to a real object may be identified based on depth information obtained from the information obtained from the information acquisition unit 350 in the distribution server 100. Based on the information about the identified object, virtual space data in which a polygon mask corresponding to the real object is generated may be generated in the distribution server 100, and virtual space data in which a non-real object is arranged may be distributed to the user terminal 300. Furthermore, during the AR re-shooting process of FIG. 11 , for example, the re-editing data may be stored in the storage unit 120 of the distribution server 100, and in response to a request from the user terminal 300 (e.g., corresponding to step S201), the read re-editing data may be distributed to the user terminal 300 (e.g., corresponding to step S202), and virtual space data updated in response to a re-editing operation on the user terminal 300 (e.g., corresponding to steps S206 and S208 performed in response to operations from the user in steps S205 and S207) may be distributed to the user terminal 300.
(AR撮影に使用される撮像画像について)
上述した実施形態では、ARコンテンツを用いて撮影した撮像画像に基づいて、AR再撮影処理を実行する例を説明した。しかし、これに限らず、画像処理部361によって、ARコンテンツを用いて撮影しない撮像画像を読み出し、キャラクタオブジェクトCを配置するAR撮影が可能であってもよい。例えば、予めユーザ端末300に記憶されている画像データを用いて、深度推定アルゴリズムを使用した画像認識処理等によって撮像画像内に映り得る物体等を特定し、撮像画像との幾何学的整合が実現できる位置にキャラクタオブジェクトが描画される処理を実行可能としてもよい。なお、図10のAR撮影処理、図11のAR再撮影処理は、情報取得部350(デプスセンサを備えた深度を特定可能なカメラなど)による現実空間の情報の取得と、現実空間の画像および非現実オブジェクトを拡張現実により合成する処理とが異なる端末によって実行されるようにしてもよい。つまり、拡張現実により撮像画像と3DCGとを合成する処理を行う端末は、情報取得部350を備えていない端末であってもよい。
(Regarding captured images used in AR photography)
In the above-described embodiment, an example of executing the AR re-capture process based on a captured image captured using AR content has been described. However, this is not limited to this. AR capture may also be possible, in which the image processing unit 361 reads a captured image not captured using AR content and positions a character object C. For example, a process may be performed in which, using image data previously stored in the user terminal 300, objects that may appear in the captured image are identified by image recognition processing using a depth estimation algorithm, and the character object is drawn at a position where geometric consistency with the captured image can be achieved. Note that, in the AR capture process of FIG. 10 and the AR re-capture process of FIG. 11, the acquisition of real-space information by the information acquisition unit 350 (e.g., a camera capable of determining depth with a depth sensor) and the process of combining the real-space image and the unreal object using augmented reality may be performed by different devices. In other words, the terminal performing the process of combining the captured image and 3DCG using augmented reality may not be equipped with the information acquisition unit 350.
(再編集時に可能な画像編集操作について)
上述した実施形態では、図11などを参照して説明したAR再撮影処理において、現実空間と3DCGとの幾何学的整合性を図ることが可能となる再編操作ができる例を説明した。つまり、撮像画像内の現実空間と、3次元的整合性がとれる位置にキャラクタオブジェクト等の3DCGが描画されるように編集できる例を説明した。これに加え、さらに光学的整合性を実現する処理を再編集時に実行可能としてもよい。例えば、再編集時に再編集用データに基づいて、現実空間の撮像画像内の照明環境に対応するように、非現実オブジェクトに陰影をつける編集操作が可能となるようにしてもよい。例えば、キャラクタオブジェクトCの影が地面に描画されるようにすることができる。
(Image editing operations available when re-editing)
In the above-described embodiment, an example has been described in which a reorganization operation can be performed in the AR re-capture process described with reference to FIG. 11 and the like, enabling geometric consistency between the real space and the 3DCG. That is, an example has been described in which editing can be performed so that the 3DCG of a character object or the like is rendered at a position that achieves three-dimensional consistency with the real space in the captured image. In addition, a process for achieving optical consistency may be performed during re-editing. For example, during re-editing, an editing operation may be performed to shade a non-real object so as to correspond to the lighting environment in the captured image of real space based on the re-editing data. For example, the shadow of the character object C may be rendered on the ground.
〔ソフトウェアによる実現例〕
前述した実施の形態におけるサーバ、端末などのコンピュータが備える制御部の各種の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。CPUを用いてソフトウェアによって実現している場合、制御部を備えたコンピュータは、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
[Software implementation example]
The various control blocks of the control unit of a computer such as a server or terminal in the above-described embodiments may be implemented by logic circuits (hardware) formed on an integrated circuit (IC chip) or by software using a CPU (Central Processing Unit). When implemented by software using a CPU, the computer equipped with the control unit includes a CPU that executes instructions from a program, which is software that implements each function; a ROM (Read Only Memory) or storage device (collectively referred to as a "recording medium") in which the program and various data are recorded so as to be readable by the computer (or CPU); and a RAM (Random Access Memory) in which the program is deployed. The object of the present invention is achieved when the computer (or CPU) reads and executes the program from the recording medium. The recording medium may be a "non-transitory tangible medium," such as a tape, disk, card, semiconductor memory, or programmable logic circuit. The program may also be supplied to the computer via any transmission medium capable of transmitting the program (such as a communication network or broadcast waves). Note that one aspect of the present invention may also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of the present invention is indicated by the claims, not the above description, and is intended to include all modifications that are equivalent in meaning to and within the scope of the claims.
1 通信システム、2 ネットワーク、100 配信サーバ、300 ユーザ端末、110 通信部、120 記憶部、310 通信部、320 記憶部、330 操作部、340 出力部、350 情報取得部、360 制御部
REFERENCE SIGNS LIST 1 Communication system, 2 Network, 100 Distribution server, 300 User terminal, 110 Communication unit, 120 Storage unit, 310 Communication unit, 320 Storage unit, 330 Operation unit, 340 Output unit, 350 Information acquisition unit, 360 Control unit
Claims (6)
前記情報取得部が取得した情報から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体を特定するとともに当該現実の物体の仮想空間内における奥行位置を特定する手段と、
前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した仮想空間を生成する手段と、
前記撮像画像と前記生成する手段により生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る第1合成画像を表示する手段と、
前記表示する手段によって第1合成画像が表示されている第1合成画像表示状態においてユーザからの撮影操作を受け付けたときの撮像画像、および、当該撮影操作を受け付けたときに前記生成する手段により生成されている仮想空間を特定するための情報であって当該仮想空間内に配置されている特定オブジェクトの態様をも特定する仮想空間特定用情報を記憶する手段と、
前記記憶する手段によって記憶している仮想空間特定用情報に基づき、前記第1合成画像表示状態における仮想空間を再生成し、当該仮想空間内に配置される特定オブジェクトの態様が、ユーザからの変更操作に応じた態様であって前記第1合成画像表示状態とは異なる態様となる仮想空間に更新する手段として機能させ、
前記変更操作に応じた態様は、前記仮想空間内において前記特定オブジェクトが配置される配置位置が変更された態様、前記仮想空間内において配置される特定オブジェクトが異なる種類の特定オブジェクトに変更された態様、および、前記仮想空間内において配置される特定オブジェクトの表示態様が変更された態様のうちの少なくともいずれかを含み、
前記表示する手段は、前記再生成された前記第1合成画像表示状態における仮想空間と前記記憶する手段によって記憶している撮像画像との合成画像を再表示し、さらに、前記変更操作後において、前記記憶する手段によって記憶している撮像画像と前記更新する手段により更新している仮想空間に配置されるオブジェクトとを合成した合成画像を第2合成画像として、当該第2合成画像を表示するタイミングにおける前記撮像部の撮影状態にかかわらず表示する、プログラム。 a computer including an information acquisition unit that captures an image according to a shooting state of an imaging unit at the time of shooting and acquires depth information that enables identification of a depth position of each real object that may be included in the image;
a means for identifying a real object that may be included in the captured image and identifying a depth position of the real object in the virtual space based on depth information that may be identified from the information acquired by the information acquisition unit;
a means for placing real objects corresponding to the real objects identified in the virtual space at depth positions of the real objects, and generating a virtual space in which specific objects are placed in response to an operation by a user;
a means for combining the captured image with an object placed in the virtual space generated by the generating means, and displaying a first composite image in which a portion of the specific object that overlaps with a real object located in front of the specific object is not displayed and a non-overlapping portion can be superimposed on the captured image;
a means for storing a captured image when a photographing operation is received from a user in a first composite image display state in which a first composite image is displayed by the display means , and virtual space identification information for identifying a virtual space generated by the generating means when the photographing operation is received, the virtual space also identifying a state of a specific object placed in the virtual space ;
regenerating the virtual space in the first composite image display state based on the virtual space identification information stored by the storing means, and updating the virtual space so that the appearance of a specific object placed in the virtual space corresponds to a change operation from the user and is different from the appearance in the first composite image display state ;
the aspect corresponding to the change operation includes at least one of an aspect in which a placement position of the specific object in the virtual space is changed, an aspect in which the specific object placed in the virtual space is changed to a specific object of a different type, and an aspect in which a display aspect of the specific object placed in the virtual space is changed;
The displaying means re-displays a composite image of the regenerated virtual space in the first composite image display state and the captured image stored by the storing means, and further, after the change operation, displays a composite image obtained by combining the captured image stored by the storing means with the object placed in the virtual space being updated by the updating means as a second composite image , regardless of the shooting state of the imaging unit at the timing of displaying the second composite image.
前記特定オブジェクトとして前記キャラクタオブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを所定のモーションで動作させて表示可能である、請求項1に記載のプログラム。 the specific object includes a character object with a predetermined motion;
2. The program according to claim 1, wherein when the character object is arranged as the specific object, the displaying means is capable of displaying the character object by moving it with a predetermined motion.
前記特定オブジェクトとして前記キャラクタオブジェクトおよび前記装飾オブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを表示可能であるとともに、当該装飾オブジェクトを動作させて表示可能である、請求項1に記載のプログラム。 the specific objects include character objects and decorative objects with animation;
The program according to claim 1 , wherein when the character object and the decorative object are arranged as the specific object, the display means is capable of displaying the character object and also capable of moving and displaying the decorative object.
前記表示する手段により動作させて表示される特定オブジェクトの動作速度を、ユーザからの操作に応じて変更する手段として機能させる、請求項2または請求項3に記載のプログラム。 The computer
4. The program according to claim 2 , further comprising a function of changing the movement speed of the specific object that is moved and displayed by said display means in response to an operation by a user.
前記情報取得部が取得した情報から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体を特定するとともに当該現実の物体の仮想空間内における奥行位置を特定するステップと、
前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した仮想空間を生成するステップと、
前記撮像画像と前記生成するステップにより生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る第1合成画像を表示するステップと、
前記表示するステップによって第1合成画像が表示されている第1合成画像表示状態においてユーザからの撮影操作を受け付けたときの撮像画像、および、当該撮影操作を受け付けたときに前記生成するステップにより生成されている仮想空間を特定するための情報であって当該仮想空間内に配置されている特定オブジェクトの態様をも特定する仮想空間特定用情報を記憶するステップと、
前記記憶するステップによって記憶している仮想空間特定用情報に基づき、前記第1合成画像表示状態における仮想空間を再生成し、当該仮想空間内に配置される特定オブジェクトの態様が、ユーザからの変更操作に応じた態様であって前記第1合成画像表示状態とは異なる態様となる仮想空間に更新するステップとを備え、
前記変更操作に応じた態様は、前記仮想空間内において前記特定オブジェクトが配置される配置位置が変更された態様、前記仮想空間内において配置される特定オブジェクトが異なる種類の特定オブジェクトに変更された態様、および、前記仮想空間内において配置される特定オブジェクトの表示態様が変更された態様のうちの少なくともいずれかを含み、
前記表示するステップは、前記再生成された前記第1合成画像表示状態における仮想空間と前記記憶するステップによって記憶している撮像画像との合成画像を再表示し、さらに、前記変更操作後において、前記記憶するステップによって記憶している撮像画像と前記更新するステップにより更新している仮想空間に配置されるオブジェクトとを合成した合成画像を第2合成画像として、当該第2合成画像を表示するタイミングにおける前記撮像部の撮影状態にかかわらず表示する、方法。 A method for controlling a computer including an information acquisition unit that captures an image according to a shooting state of an imaging unit at the time of capturing the image and acquires depth information that enables identification of a depth position of each real object that may be included in the image,
a step of identifying a real object that may be included in the captured image and identifying a depth position of the real object in the virtual space based on depth information that may be identified from the information acquired by the information acquisition unit;
a step of placing real objects corresponding to the identified real objects at depth positions of the identified real objects in the virtual space, and generating a virtual space in which specific objects are placed in response to an operation by a user;
a step of combining the captured image with an object placed in the virtual space generated by the generating step, and displaying a first composite image in which a portion of the specific object that overlaps with a real object located in front of the specific object is not displayed and a non-overlapping portion can be superimposed on the captured image;
a step of storing a captured image when a photographing operation is received from a user in a first composite image display state in which the first composite image is displayed by the displaying step , and virtual space identification information for identifying the virtual space generated by the generating step when the photographing operation is received, the virtual space identification information also identifying the state of a specific object placed in the virtual space ;
a step of regenerating the virtual space in the first composite image display state based on the virtual space identification information stored in the storing step, and updating the virtual space so that a state of a specific object to be placed in the virtual space corresponds to a change operation from a user and is different from that in the first composite image display state ,
the aspect corresponding to the change operation includes at least one of an aspect in which a placement position of the specific object in the virtual space is changed, an aspect in which the specific object placed in the virtual space is changed to a specific object of a different type, and an aspect in which a display aspect of the specific object placed in the virtual space is changed;
The displaying step re-displays a composite image of the regenerated virtual space in the first composite image display state and the captured image stored in the storing step, and further, after the change operation, displays a composite image obtained by combining the captured image stored in the storing step with the object placed in the virtual space updated in the updating step as a second composite image , regardless of the shooting state of the imaging unit at the timing of displaying the second composite image.
前記情報取得部が取得した情報から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体を特定するとともに当該現実の物体の仮想空間内における奥行位置を特定する手段と、
前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した仮想空間を生成する手段と、
前記撮像画像と前記生成する手段により生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る第1合成画像を表示する手段と、
前記表示する手段によって第1合成画像が表示されている第1合成画像表示状態においてユーザからの撮影操作を受け付けたときの撮像画像、および、当該撮影操作を受け付けたときに前記生成する手段により生成されている仮想空間を特定するための情報であって当該仮想空間内に配置されている特定オブジェクトの態様をも特定する仮想空間特定用情報を記憶する手段と、
前記記憶する手段によって記憶している仮想空間特定用情報に基づき、前記第1合成画像表示状態における仮想空間を再生成し、当該仮想空間内に配置される特定オブジェクトの態様が、ユーザからの変更操作に応じた態様であって前記第1合成画像表示状態とは異なる態様となる仮想空間に更新する手段とを備え、
前記変更操作に応じた態様は、前記仮想空間内において前記特定オブジェクトが配置される配置位置が変更された態様、前記仮想空間内において配置される特定オブジェクトが異なる種類の特定オブジェクトに変更された態様、および、前記仮想空間内において配置される特定オブジェクトの表示態様が変更された態様のうちの少なくともいずれかを含み、
前記表示する手段は、前記再生成された前記第1合成画像表示状態における仮想空間と前記記憶する手段によって記憶している撮像画像との合成画像を再表示し、さらに、前記変更操作後において、前記記憶する手段によって記憶している撮像画像と前記更新する手段により更新している仮想空間に配置されるオブジェクトとを合成した合成画像を第2合成画像として、当該第2合成画像を表示するタイミングにおける前記撮像部の撮影状態にかかわらず表示する、システム。 A system having a computer including an information acquisition unit that captures an image according to a shooting state of an imaging unit at the time of capturing an image and acquires depth information that enables identification of a depth position of each real object that may be included in the image,
a means for identifying a real object that may be included in the captured image and identifying a depth position of the real object in the virtual space based on depth information that may be identified from the information acquired by the information acquisition unit;
a means for placing real objects corresponding to the real objects identified in the virtual space at depth positions of the real objects, and generating a virtual space in which specific objects are placed in response to an operation by a user;
a means for combining the captured image with an object placed in the virtual space generated by the generating means, and displaying a first composite image in which a portion of the specific object that overlaps with a real object located in front of the specific object is not displayed and a non-overlapping portion can be superimposed on the captured image;
a means for storing a captured image when a photographing operation is received from a user in a first composite image display state in which a first composite image is displayed by the display means , and virtual space identification information for identifying a virtual space generated by the generating means when the photographing operation is received, the virtual space also identifying a state of a specific object placed in the virtual space ;
a means for regenerating the virtual space in the first composite image display state based on the virtual space identification information stored by the storing means, and updating the virtual space so that a state of a specific object to be placed in the virtual space corresponds to a change operation by a user and is different from that in the first composite image display state ;
the aspect corresponding to the change operation includes at least one of an aspect in which a placement position of the specific object in the virtual space is changed, an aspect in which the specific object placed in the virtual space is changed to a specific object of a different type, and an aspect in which a display aspect of the specific object placed in the virtual space is changed;
The display means re-displays a composite image of the virtual space in the regenerated first composite image display state and the captured image stored by the storage means, and further, after the change operation, displays a composite image obtained by combining the captured image stored by the storage means with the object placed in the virtual space being updated by the update means as a second composite image , regardless of the shooting state of the imaging unit at the timing of displaying the second composite image.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024097704A JP7828393B2 (en) | 2024-06-17 | 2024-06-17 | Program, method, and system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024097704A JP7828393B2 (en) | 2024-06-17 | 2024-06-17 | Program, method, and system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2026000378A JP2026000378A (en) | 2026-01-05 |
| JP7828393B2 true JP7828393B2 (en) | 2026-03-11 |
Family
ID=98316046
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024097704A Active JP7828393B2 (en) | 2024-06-17 | 2024-06-17 | Program, method, and system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7828393B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003141569A (en) | 2001-10-31 | 2003-05-16 | Canon Inc | Information processing method and video composition apparatus |
| JP2010267241A (en) | 2008-10-17 | 2010-11-25 | Square Enix Co Ltd | 3D model display system |
| JP2017192106A (en) | 2016-04-15 | 2017-10-19 | キヤノン株式会社 | Imaging apparatus and control method thereof |
| JP2022124095A (en) | 2021-02-15 | 2022-08-25 | キヤノン株式会社 | Image synthesizing method, computer program and image synthesizing device |
| JP2024071199A (en) | 2022-11-14 | 2024-05-24 | 株式会社バンダイ | Computer program, information processing terminal, and control method thereof |
-
2024
- 2024-06-17 JP JP2024097704A patent/JP7828393B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003141569A (en) | 2001-10-31 | 2003-05-16 | Canon Inc | Information processing method and video composition apparatus |
| JP2010267241A (en) | 2008-10-17 | 2010-11-25 | Square Enix Co Ltd | 3D model display system |
| JP2017192106A (en) | 2016-04-15 | 2017-10-19 | キヤノン株式会社 | Imaging apparatus and control method thereof |
| JP2022124095A (en) | 2021-02-15 | 2022-08-25 | キヤノン株式会社 | Image synthesizing method, computer program and image synthesizing device |
| JP2024071199A (en) | 2022-11-14 | 2024-05-24 | 株式会社バンダイ | Computer program, information processing terminal, and control method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2026000378A (en) | 2026-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7559033B2 (en) | Augmented and Virtual Reality | |
| US11425283B1 (en) | Blending real and virtual focus in a virtual display environment | |
| JP6317854B2 (en) | Virtual three-dimensional space generation method, video system, control method thereof, and recording medium readable by computer device | |
| Wang et al. | Distanciar: Authoring site-specific augmented reality experiences for remote environments | |
| KR102638526B1 (en) | Modifying scenes in augmented reality using parameterized markers | |
| KR102502794B1 (en) | Methods and systems for customizing virtual reality data | |
| JP5254505B1 (en) | Movie processing apparatus, movie processing method, and information recording medium | |
| CN106027855B (en) | A kind of implementation method and terminal of virtual rocker arm | |
| KR101686693B1 (en) | Viewer-centric user interface for stereoscopic cinema | |
| EP3839699A1 (en) | Augmented virtuality self view | |
| JP2019510321A (en) | Virtual reality pass-through camera user interface elements | |
| CN114049459A (en) | Mobile device, information processing method, and non-transitory computer readable medium | |
| CN113347373B (en) | Image processing method for making special-effect video in real time through AR space positioning | |
| US11758112B2 (en) | Information processing apparatus, control method, and storage medium | |
| JP2020064592A (en) | Image generator, image generation system, image generation method, and program | |
| KR102337020B1 (en) | Augmented reality video production system and method using 3d scan data | |
| JP7119854B2 (en) | Changed pixel region extraction device, image processing system, changed pixel region extraction method, image processing method and program | |
| JP7828393B2 (en) | Program, method, and system | |
| JP7119853B2 (en) | Changed pixel region extraction device, image processing system, changed pixel region extraction method, image processing method and program | |
| CN109561338B (en) | Interface seamless switching display method and storage medium of song-ordering system | |
| JP2021182443A (en) | Transmitter, transmission method, program | |
| JP7745726B1 (en) | Image generation device, image generation system, and image generation method | |
| KR102934847B1 (en) | a 3D background model construction method based on ray tracing for disocclusion filling and a depth image based view synthesis method using the 3D background model construction method | |
| Ryu et al. | Proposal for local pose animation system for games using iClone | |
| CN113316804A (en) | Image processing apparatus, image processing method, and program |
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 |