JP7589268B2 - program - Google Patents
program Download PDFInfo
- Publication number
- JP7589268B2 JP7589268B2 JP2023012137A JP2023012137A JP7589268B2 JP 7589268 B2 JP7589268 B2 JP 7589268B2 JP 2023012137 A JP2023012137 A JP 2023012137A JP 2023012137 A JP2023012137 A JP 2023012137A JP 7589268 B2 JP7589268 B2 JP 7589268B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- user
- camera
- viewpoint
- virtual space
- 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
- 238000003384 imaging method Methods 0.000 claims description 43
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 45
- 238000010586 diagram Methods 0.000 description 25
- 238000000034 method Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 25
- 210000001508 eye Anatomy 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000002834 transmittance Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 210000004087 cornea Anatomy 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Processing Or Creating Images (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本発明は、プログラムに関する。 The present invention relates to a program.
従来より、ユーザの動きをキャプチャしてVR空間内のキャラクタを動作させる技術が知られている。そして、この技術を利用して、VR空間内のキャラクタにパフォーマンス(例えば、歌唱、楽器演奏、ダンス等)をさせた様子が、映像コンテンツとして配信されている。 Technology has been known for some time that captures a user's movements and causes a character in a VR space to move. Using this technology, a character in a VR space performing (e.g., singing, playing an instrument, dancing, etc.) is distributed as video content.
このような映像コンテンツの魅力を高める方法の一つとして、様々な方向(例えば、正面、側面、上半身のアップなど)から撮影したキャラクタの映像を組み合わせることが考えられる。そこで、仮想空間内に配置された仮想カメラの位置を切り替える技術が、特許文献1に開示されている。 One way to enhance the appeal of such video content is to combine footage of the character taken from various angles (e.g., the front, the side, a close-up of the upper body, etc.). Patent Document 1 discloses a technology for switching the position of a virtual camera placed in a virtual space.
しかしながら、キャラクタを操作しながら仮想カメラの位置を切り替えようとすると、作業が煩雑になるばかりでなく、キャラクタの動きの連続性が失われて、映像コンテンツとしての魅力が損なわれる。 However, if you try to change the position of the virtual camera while controlling a character, not only does the process become cumbersome, but the continuity of the character's movements is lost, reducing the appeal of the video content.
本発明は、上記の事情に鑑みてなされたものであり、その目的は、簡単な操作で、魅力ある映像コンテンツの素材を得ることができるプログラムを提供することにある。 The present invention was made in consideration of the above circumstances, and its purpose is to provide a program that allows users to obtain attractive video content materials with simple operations.
本発明は、前記課題を解決するため、本発明に係るプログラムは、操作装置を備えるコンピュータを、仮想空間内に配置される一の対象オブジェクトを、互いに異なる設定視点から撮像する複数の仮想カメラを設定するカメラ設定手段と、複数の前記仮想カメラそれぞれで撮像された複数の設定視点映像を生成する映像生成手段として機能させ、前記カメラ設定手段は、複数の前記仮想カメラそれぞれに対して、前記対象オブジェクトからの距離、前記対象オブジェクトに対する角度、前記対象オブジェクトの撮像部位の少なくとも1つを含む撮像条件を、前記操作装置を通じたユーザの操作に従って設定し、前記コンピュータを、前記操作装置を通じたユーザの操作に従った前記対象オブジェクトの動作に追従して、設定された前記撮像条件を満たすように複数の前記仮想カメラそれぞれを移動させるカメラ移動手段として機能させ、前記撮像条件は、複数の前記仮想カメラそれぞれについて、前記対象オブジェクトと異なる周辺オブジェクトのうち、前記仮想カメラから見て前記対象オブジェクトに重なる前記周辺オブジェクトを、前記設定視点映像に含めるか否かを含み、前記映像生成手段は、前記撮像条件に従って、複数の前記仮想カメラそれぞれの前記設定視点映像に前記周辺オブジェクトを含めるか否かを切り替える。 In order to solve the above-mentioned problem, the present invention provides a program that causes a computer equipped with an operation device to function as a camera setting means for setting a plurality of virtual cameras that capture an image of a target object placed in a virtual space from different set viewpoints, and as an image generation means for generating a plurality of set viewpoint images captured by each of the plurality of virtual cameras, the camera setting means setting imaging conditions for each of the plurality of virtual cameras including at least one of a distance from the target object, an angle relative to the target object, and an imaging portion of the target object in accordance with a user's operation via the operation device, and the computer functions as a camera movement means for moving each of the plurality of virtual cameras in accordance with a movement of the target object in accordance with the user's operation via the operation device so as to satisfy the set imaging conditions , the imaging conditions including whether or not to include in the set viewpoint image for each of the plurality of virtual cameras a peripheral object that is different from the target object and that overlaps with the target object as viewed from the virtual camera, and the image generation means switching whether or not to include the peripheral object in the set viewpoint image for each of the plurality of virtual cameras in accordance with the imaging conditions .
本発明によれば、簡単な操作で、魅力ある映像コンテンツの素材を得ることができる。 According to the present invention, attractive video content materials can be obtained with simple operations.
以下、実施形態に係るシステム1を図面に基づいて説明する。なお、以下に記載する本発明の実施形態は、本発明を具体化する際の一例を示すものであって、本発明の範囲を実施形態の記載の範囲に限定するものではない。従って、本発明は、実施形態に種々の変更を加えて実施することができる。 Below, the system 1 according to the embodiment will be described with reference to the drawings. Note that the embodiment of the present invention described below is an example of how the present invention can be realized, and does not limit the scope of the present invention to the scope of the described embodiment. Therefore, the present invention can be implemented by making various modifications to the embodiment.
[システム1の概要]
図1は、本実施形態に係るシステム1の概要を示す図である。図1に示すように、システム1は、サーバ10と、ユーザ端末20A、20B、20C(以下、これらを総称して、「ユーザ端末20」と表記することがある。)とを主に備える。なお、図1には3つのユーザ端末20が図示されているが、システム1に含まれるユーザ端末20の例はこれに限定されない。サーバ10及びユーザ端末20は、通信ネットワーク2を介して相互通信可能に接続されている。通信ネットワーク2の具体例は特に限定されないが、例えば、インターネット、移動体通信システム(例えば、4G、5Gなど)、Wi-Fi(登録商標)などの無線ネットワーク、またはこれらの組み合わせで構成される。
[Overview of System 1]
FIG. 1 is a diagram showing an overview of a system 1 according to this embodiment. As shown in FIG. 1, the system 1 mainly includes a
本実施形態に係るシステム1は、サーバ10が提供する共通の仮想空間を、複数のユーザ端末20A~20Cそれぞれのユーザに体験させるためのシステムである。より詳細には、ユーザ端末20は、ユーザに関連付けられたユーザキャラクタ(以下、「アバター」と表記することがある。)を仮想空間に配置し、予め設定された視点から仮想空間を見た画像をユーザ端末20に表示させる。
The system 1 according to this embodiment is a system that allows each user of a plurality of
また、ユーザ端末20は、操作装置に対するユーザの操作に連動して、仮想空間内でアバターを動作させる。アバターの動作とは、例えば、仮想空間内で移動すること、身体の各部を動かすこと、姿勢を変えること、顔の表情を変化させること、発話すること、仮想空間内に配置されたオブジェクトを動かすことなどを含む。
The
また、ユーザ端末20は、アバターの動作やステータスの変化を示すアバターデータを、通信ネットワーク2を通じてサーバ10に送信する。サーバ10は、ユーザ端末20から受信したアバターデータを、通信ネットワーク2を通じて他のユーザ端末20に送信する。そして、ユーザ端末20は、サーバ10から受信したアバターデータに基づいて、仮想空間内の対応するアバターの動作やステータスを更新する。
The
また、ユーザ端末20は、仮想空間内のアバターを予め設定した設定視点から撮像して、設定視点映像を生成する。また、ユーザ端末20は、生成した設定視点映像を編集して視聴映像を生成し、生成した視聴映像をサーバ10にアップロードする。さらに、ユーザ端末20は、サーバ10から視聴映像をダウンロードしてユーザに視聴させる。
The
以下、アバターを動作させるためのユーザ端末20を「プレイ端末」と表記し、設定視点映像を編集するためのユーザ端末20を「編集端末」と表記し、視聴映像を視聴するためのユーザ端末20を「視聴端末」と表記することがある。プレイ端末、編集端末、視聴端末は、同一の端末でもよいし、異なる端末でもよい。例えば、プレイ端末としてはHMDセットが好適であり、編集端末としてはラップトップ型コンピュータまたはデスクトップコンピュータが好適であり、視聴端末としてはタブレット端末またはスマートフォンが好適である。但し、各端末の具体的な形態は、前述の例に限定されない。
Hereinafter, the
[サーバ10の構成]
図2は、サーバ10のハードウェア構成図である。サーバ10は、例えば、ワークステーション、またはパーソナルコンピュータなどの汎用コンピュータで実現される。図2に示すように、サーバ10は、プロセッサ11と、メモリ12と、ストレージ13と、入出力インタフェース14と、通信インタフェース15とを主に備える。サーバ10の各構成要素は、通信バス19に接続されている。
[Configuration of Server 10]
Fig. 2 is a hardware configuration diagram of the
プロセッサ11は、メモリ12またはストレージ13に格納されているサーバプログラム13Pに含まれる一連の命令を実行することによって、後述する処理を実現する。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)、その他のデバイスとして実現される。
The
メモリ12は、サーバプログラム13P及びデータを一時的に保持する。サーバプログラム13Pは、例えば、ストレージ13からロードされる。データは、サーバ10に入力されたデータと、プロセッサ11によって生成されたデータとを含む。例えば、メモリ12は、RAM(Random Access Memory)、その他の揮発メモリとして実現される。
The
ストレージ13は、サーバプログラム13P及びデータを永続的に保持する。ストレージ13は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。また、ストレージ13は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の例として、ストレージ13は、サーバ10に内蔵されることに代えて、外部記憶装置としてサーバ10に接続されていてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のユーザ端末20が使用される場面において、サーバプログラム13Pやデータの更新を一括して行うことが可能になる。
The
入出力インタフェース14は、モニタ、入力装置(例えば、キーボード、ポインティングデバイス)、外部記憶装置、スピーカ、カメラ、マイク、センサ等の外部装置をサーバ10に接続するためのインタフェースである。プロセッサ11は、入出力インタフェース14を通じて外部装置と通信する。入出力インタフェース14は、例えば、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface、登録商標)、その他の端子で用いて実現される。
The input/
通信インタフェース15は、通信ネットワーク2に接続されている他の装置(例えば、ユーザ端末20)と通信する。通信インタフェース15は、例えば、LAN(Local Area Network)など有線通信インタフェース、Wi-Fi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)などの無線通信インタフェースとして実現される。
The
[ユーザ端末20の構成]
図3は、ユーザ端末20の一例であるHMD(Head Mounted Display)セットのハードウェア構成図である。図4は、ユーザ端末20の他の例であるタブレット端末のハードウェア構成図である。ユーザ端末20は、例えば、図3に示すHMDセット、図4に示すタブレット端末の他、スマートフォン、フィーチャーフォン、ラップトップ型コンピュータ、デスクトップコンピュータなどとして実現される。
[Configuration of user terminal 20]
Fig. 3 is a hardware configuration diagram of an HMD (Head Mounted Display) set, which is an example of the
図3に示すように、HMDセットとして実現されるユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、入出力インタフェース24と、通信インタフェース25とを有するコンピュータ26を備える。コンピュータ26の各構成要素は、通信バス29に接続されている。プロセッサ21、メモリ22、ストレージ23、入出力インタフェース24、通信インタフェース25、通信バス29の基本的な構成は、図2に示すプロセッサ11、メモリ12、ストレージ13、入出力インタフェース14、通信インタフェース15、通信バス19と共通する。また、ストレージ23は、端末プログラム23Pを保持する。
As shown in FIG. 3, the
また、HMDセットとして実現されるユーザ端末20は、コンピュータ26の外部装置として、HMD30と、動きセンサ41と、操作装置42とを備える。HMD30、動きセンサ41、及び操作装置42は、入出力インタフェース24を通じてプロセッサ21に接続されている。
The
HMD30は、ユーザの頭部に装着されて、仮想空間をユーザに提供する。より詳細には、HMD30は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。HMD30は、モニタ31(表示装置)と、注視センサ32と、カメラ33、34と、マイク35と、スピーカ36とを主に備える。
The
一例として、モニタ31は、非透過型の表示装置として実現される。モニタ31は、例えば、ユーザの両目の前方に位置するようにHMD30の本体に配置されている。非透過型のモニタ31は、例えば、液晶モニタ、有機EL(Electro Luminescence)モニタとして実現される。
As an example, the
他の例として、モニタ31は、透過型の表示装置として実現される。この場合のHMD30は、ユーザの目を覆う密閉型ではなく、メガネ型のような開放型となる。モニタ31は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。一例として、透過型のモニタ31は、HMD30に搭載されたカメラで撮像した現実空間の画像を表示してもよい。他の例として、透過型のモニタ31は、透過率を調整可能に構成されていてもよい。そして、透過型のモニタ31は、表示領域の一部の透過率を高く設定して、現実空間を直接視認できるようにしてもよい。
As another example, the
また、モニタ31は、ユーザに3次元画像を視認させるために、以下の構成を採用してもよい。一例として、モニタ31は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含んでもよい。他の例として、モニタ31は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合のモニタ31は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
The
注視センサ32は、ユーザの右目及び左目の視線が向けられる方向を検知する。つまり、注視センサ32は、ユーザの視線を検知する。注視センサ32は、例えば、アイトラッキング機能を有するセンサにより実現される。注視センサ32は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ32は、ユーザの右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検知する。そして、注視センサ32は、検知した各回転角に基づいて、ユーザの視線を特定する。 The gaze sensor 32 detects the direction in which the user's right and left eyes are looking. In other words, the gaze sensor 32 detects the user's gaze. The gaze sensor 32 is realized, for example, by a sensor with an eye tracking function. It is preferable that the gaze sensor 32 includes a sensor for the right eye and a sensor for the left eye. The gaze sensor 32 irradiates the user's right and left eyes with infrared light, and detects the rotation angle of each eyeball by receiving reflected light from the cornea and iris in response to the irradiated light. The gaze sensor 32 then identifies the user's gaze based on each detected rotation angle.
カメラ33は、HMD30を装着したユーザの顔の上部(より詳細には、ユーザの目、眉など)を撮像する。カメラ34は、HMD30を装着したユーザの顔の下部(より詳細には、ユーザの鼻、口など)を撮像する。例えば、HMD30の筐体のうち、ユーザに対面する側にカメラ33が取り付けられ、ユーザと対面する側と反対側にカメラ34が取り付けられる。なお、HMD30は、2台のカメラ33、34に代えて、ユーザの顔全体を撮像する1台のカメラを備えてもよい。
Camera 33 captures the upper part of the face of the user wearing HMD 30 (more specifically, the user's eyes, eyebrows, etc.). Camera 34 captures the lower part of the face of the user wearing HMD 30 (more specifically, the user's nose, mouth, etc.). For example, camera 33 is attached to the side of the housing of
マイク35は、ユーザの発話を音声信号(電気信号)に変換してコンピュータ26に出力する。スピーカ36は、コンピュータ26から出力された音声信号を音声に変換してユーザに出力する。なお、HMD30は、スピーカ36に替えてイヤホンを含み得る。
The
動きセンサ41は、HMD30の動きを検出するためのポジショントラッキング機能を有する。一例として、動きセンサ41は、HMD30が発する複数の赤外線を読み取って、現実空間内におけるHMD30の位置及び傾きを検出してもよい。他の例として、動きセンサ41は、カメラで実現されてもよい。この場合の動きセンサ41は、カメラから出力されるHMD30の画像情報を解析して、HMD30の位置及び傾きを検出する。さらに他の例として、動きセンサ41は、角速度センサ、地磁気センサ、あるいは加速度センサで実現されてもよい。
The
操作装置42は、有線または無線によりコンピュータ26に接続されている。操作装置42は、ユーザによるコンピュータ26に対する命令の入力(操作)を受け付ける。一例として、操作装置42は、ユーザが把持した状態で操作する、所謂コントローラでもよい。他の例として、操作装置42は、ユーザの身体あるいは衣類の一部に装着可能に構成され、モーションセンサによってユーザの動きを検知するものでもよい。但し、操作装置42の具体例はこれらに限定されず、キーボード、ポインティングデバイス、タッチパネルなどでもよい。
The
図4に示すように、タブレット端末として実現されるユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース25と、モニタ31と、カメラ33、34と、マイク35と、スピーカ36と、動きセンサ41と、操作装置42とを主に備える。タブレット端末の各構成要素は、通信バス29に接続されている。プロセッサ21、メモリ22、ストレージ23、通信インタフェース25、モニタ31、カメラ33、34、マイク35、スピーカ36、動きセンサ41、操作装置42の基本的な構成は、HMDセットの場合と共通するので、以下、タブレット端末に特有の構成を説明する。
As shown in FIG. 4, the
モニタ31は、平板状の筐体の表面に設けられている。カメラ33は、平板状の筐体の表面に取り付けられて、モニタ31を視認するユーザの顔を撮像する、所謂インカメラである。カメラ34は、平板状の筐体の裏面(モニタ31と反対側の面)に取り付けられて、周囲を撮像する、所謂アウトカメラである。動きセンサ41は、筐体の動き(例えば、互いに直交する3軸周りの回転)を検知する。タブレット端末に好適な操作装置42としては、例えば、モニタ31に重畳されて、ユーザによる各種タッチ操作(例えば、タップ、スライド、フリック、ピンチイン、ピンチアウトなど)を受け付けるタッチパネルである。
The
[仮想空間90の概要]
図5は、仮想空間90の一態様を概念的に表す図である。図6は、仮想空間90において視界領域94をX方向から見たYZ断面を表す図である。図7は、仮想空間90において視界領域94をY方向から見たXZ断面を表す図である。
[Outline of Virtual Space 90]
Fig. 5 is a diagram conceptually illustrating one aspect of the
図5に示すように、仮想空間90は、中心Cの360度方向の全体を覆う全天球状の構造を有する。図5では説明を複雑にしないために、仮想空間90の上半分の天球が例示されている。仮想空間90では各メッシュが規定される。各メッシュの位置は、仮想空間90に規定されるグローバル座標系であるXYZ座標系における座標値として予め規定されている。仮想空間90に展開可能なパノラマ画像91(静止画、動画等)を構成する各部分画像は、仮想空間90において対応する各メッシュにそれぞれ対応付けられる。
As shown in FIG. 5, the
例えば、仮想空間90では、中心Cを原点とするXYZ座標系が規定される。XYZ座標系は、例えば、実座標系に平行である。XYZ座標系における水平方向、鉛直方向(上下方向)、及び前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)が実座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)が実座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)が実座標系のz軸と平行である。
For example, in
仮想空間90には、ユーザ端末20に対応付けられた仮想カメラ92が配置される。仮想空間90内における仮想カメラ92の位置は、仮想空間90内におけるユーザの視点に相当する。また、仮想カメラ92の向きは、仮想空間90におけるユーザの視線(基準視線93)に相当する。そして、プロセッサ21は、仮想カメラ92の位置と向きとに基づいて、仮想空間90における視界領域94(仮想カメラ92の画角)を規定する。
A
図6に示すように、視界領域94は、YZ断面において領域95を含む。領域95は、仮想空間90内で基準視線93を含む鉛直断面(YZ断面)において、基準視線93を中心とする極角αの範囲である。図7に示すように、視界領域94は、XZ断面において領域96を含む。領域96は、仮想空間90内で基準視線93を含む水平断面(XZ断面)において、基準視線93を中心とする方位角βの範囲である。
As shown in FIG. 6, the field of
プロセッサ21は、仮想空間90に展開されたパノラマ画像91のうち、視界領域94に含まれる部分画像を、仮想カメラ92が撮像した仮想空間画像97として生成(抽出)する。そして、プロセッサ21は、生成した仮想空間画像97をモニタ31に表示させる。すなわち、視界領域94は、仮想空間90内におけるユーザの視界に相当する。さらに、仮想空間90内で仮想カメラ92の位置及び向きの変化に追従して視界領域94が移動し、モニタ31に表示される仮想空間画像97が更新される。すなわち、ユーザの視界が移動する。
The
例えば、プロセッサ21は、操作装置42で受け付けたユーザの操作に連動して、仮想空間90内で仮想カメラ92を移動させる。また、プロセッサ21は、動きセンサ41で検知されたユーザ端末20の動き(例えば、互いに直交する3軸周りの回転)に連動して、仮想カメラ92の向き(すなわち、基準視線93)を変化させる。さらに、プロセッサ21は、位置及び向きが変化した後の仮想カメラ92で撮像した仮想空間画像97をモニタ31に表示させる。
For example, the
[サーバ10及びユーザ端末20の機能ブロック図]
図8は、サーバ10及びユーザ端末20の機能ブロック図である。図8に示すように、メモリ12にロードされたサーバプログラム13Pは、サーバ10を、アバター同期手段110、編集補助手段120、視聴補助手段130として機能させる。また、メモリ22にロードされた端末プログラム23Pは、ユーザ端末20(コンピュータ26)を、仮想空間定義手段210、配置手段220、カメラ設定手段230、カメラ移動手段240、映像生成手段250、映像表示手段260、編集手段270として機能させる。
[Functional block diagram of
Fig. 8 is a functional block diagram of the
アバター同期手段110は、ユーザ端末20の1つから通信ネットワーク2を通じて受信したアバターデータを、他のユーザ端末20に送信(中継)する。これにより、全てのユーザ端末20A~20Cは、同一のアバターデータを保持する。その結果、全てのユーザ端末20A~20Cそれぞれで定義される仮想空間90において、同一の位置に同一のアバターが配置される。すなわち、全てのユーザ端末20A~20Cにおいて、アバターが同期される。
The avatar synchronization means 110 transmits (relays) avatar data received from one of the
編集補助手段120は、例えば、プレイ端末(ユーザ端末20A)で生成された設定視点映像を、編集端末(ユーザ端末20B)で編集するのを補助する。より詳細には、編集補助手段120は、通信ネットワーク2を通じてプレイ端末から受信した設定視点映像データを、ストレージ13に保存する。また、編集補助手段120は、編集端末の要求に応じて、ストレージ13に保存された設定視点映像データを、通信ネットワーク2を通じて編集端末に送信する。さらに、編集補助手段120は、通信ネットワーク2を通じて編集端末から受信した視聴映像データを、ストレージ13に保存する。視聴補助手段130は、視聴端末(ユーザ端末20C)の要求に応じて、ストレージ13に保存された視聴映像データを、通信ネットワーク2を通じて視聴端末に送信する。
The editing assistance means 120, for example, assists in editing the set viewpoint video generated at the play terminal (
なお、編集補助手段120及び視聴補助手段130の機能の一部または全部は、サーバ10と独立したコンピュータ上で実現されてもよい。一例として、編集補助手段120は、クラウド上で記憶領域を提供するストレージサーバによって実現可能である。他の例として、視聴補助手段130は、映像視聴サービス(ストリーミングサービス)を提供するサーバによって実現可能である。
In addition, some or all of the functions of the editing assistance means 120 and the viewing assistance means 130 may be realized on a computer independent of the
仮想空間定義手段210は、現実空間に対応する仮想空間90を定義する。より詳細には、仮想空間定義手段210は、仮想空間90を示す仮想空間データをメモリ22に展開する。仮想空間データは、例えば、パノラマ画像91と、仮想空間90内に配置されるオブジェクト(例えば、建物、植物)の形状及び位置とを示す。なお、仮想空間データは、予めサーバ10からダウンロードしてストレージ23に保持されていてもよいし、仮想空間90を定義する際にサーバ10からダウンロードされてもよい。また、仮想空間定義手段210は、複数の仮想空間90のうちから操作装置42を通じて選択された仮想空間90を定義してもよい。仮想空間90を定義する具体的な処理は既に周知なので、詳細な説明は省略する。
The virtual space definition means 210 defines a
配置手段220は、仮想空間定義手段210で定義された仮想空間90にキャラクタを配置する。ここでは、ユーザ端末20Aで端末プログラム23Pが実行される場合を説明する。配置手段220が仮想空間90に配置するキャラクタは、ユーザ端末20Aのユーザのアバター(以下、「本人アバター」と表記する。)と、他のユーザ端末20B、20Cのユーザのアバター(以下、「他人アバター」と表記する。)とを含む。
The placement means 220 places characters in the
まず、配置手段220は、ストレージ23に予め記憶されているアバターデータに基づいて、本人アバターを仮想空間90に配置する。そして、配置手段220は、本人アバターのアバターデータを、通信ネットワーク2を通じてサーバ10に送信する。また、配置手段220は、本人アバターの動作を指示するユーザの操作を操作装置42を通じて受け付けた場合に、当該操作に従って仮想空間90内で本人アバターを動作させる。そして、配置手段220は、本人アバターの動作後の状態を示すようにアバターデータを更新し、更新したアバターデータを通信ネットワーク2を通じてサーバ10に送信する。
First, the placement means 220 places the principal avatar in the
また、配置手段220は、他人アバターのアバターデータを、通信ネットワーク2を通じてサーバ10から受信する。そして、配置手段220は、サーバ10から受信したアバターデータに基づいて、他人アバターを仮想空間90に配置する。さらに、配置手段220は、アバターデータが更新される度に他人アバターを配置し直すことによって、仮想空間90内で他人アバターが動作する。
The placement means 220 also receives avatar data of the other person's avatar from the
カメラ設定手段230は、操作装置42を通じたユーザの操作に従って、仮想カメラ92(より詳細には、設定視点カメラ92B~92D)の撮像条件を設定する。図9は、撮像条件設定画面の画面例である。図9に示すように、撮像条件設定画面は、撮像条件として、設定距離、設定角度、撮像部位、設定視点カメラの表示/非表示、他人アバターの表示/非表示、閾値距離の設定を受け付ける。但し、撮像条件の具体例は、これらに限定されない。また、撮像条件を設定するインタフェースは、図9の例に限定されない。そして、カメラ設定手段230は、操作装置42を通じてユーザに指定された撮像条件を満たすように、仮想空間90内に仮想カメラ92を配置する。
The camera setting means 230 sets the imaging conditions of the virtual camera 92 (more specifically, the
なお、図11に示すように、本実施形態に係る仮想カメラ92は、自己視点カメラ92Aと、複数の設定視点カメラ92B、92C、92Dとを含む。以下、自己視点カメラ92Aによって撮像された映像を「自己視点映像」と表記し、設定視点カメラ92B~92Dによって撮像された映像を「設定視点映像」と表記する。自己視点映像及び設定視点映像は、複数の仮想空間画像97を時系列に並べて構成される。
As shown in FIG. 11, the
自己視点カメラ92Aは、本人アバターの自己視点から基準視線93に向かって仮想空間90を撮像する仮想カメラである。すなわち、自己視点カメラ92Aの撮像範囲は、本人アバターの視界に一致する。但し、自己視点カメラ92Aは、本人アバターの後方から基準視線93に向かって仮想空間90を撮像してもよい。設定視点カメラ92B、92C、92Dは、本人アバターと異なる位置に予め設定された設定視点から本人アバターを撮像する仮想カメラである。なお、設定視点カメラ92B、92C、92Dの数は3つに限定されず、2つ以上であればよい。以下、設定視点カメラ92Bの撮像条件について説明する。
The self-
「設定距離」は、本人アバターと設定視点カメラ92Bとの距離を示す。「設定角度」は、本人アバターの基準視線93と、本人アバター及び設定視点カメラ92Bを結ぶ直線とのなす角を示す。すなわち、本人アバターの正面を撮像する場合の設定角度は0°であり、本人アバターの右側面を撮像する場合の設定角度は90°である。「撮像部位」は、設定視点カメラ92Bが撮像する本人アバターの部位(例えば、全身、上半身、顔など)を示す。「設定視点カメラの表示/非表示」は、自己視点映像に設定視点カメラ92Bを含めるか否かを示す。
"Set distance" indicates the distance between the user's avatar and the
「他人アバターの表示/非表示」は、本人アバターと設定視点カメラ92Bとの間に位置する他人アバターを、設定視点映像に含めるか否かを示す。「閾値距離」は、他人アバターの非表示が選択された場合において、他人アバターを非表示にする設定視点カメラ92Bからの距離を示す。一例として、閾値距離を5mに設定すると、本人アバターと設定視点カメラ92Bとの間に位置する他人アバターのうち、設定視点カメラ92Bからの距離が5m未満の他人アバターが設定視点映像から除かれ、設定視点カメラ92Bからの距離が5m以上の他人アバターが設定視点映像に含められる。他の例として、設定距離=閾値距離に設定すると、本人アバターと設定視点カメラ92Bとの間に位置する全ての他人アバターが設定視点映像から除外される。
"Show/hide other person's avatar" indicates whether or not other person's avatars located between the user's own avatar and the
カメラ移動手段240は、動きセンサ41で検知されたユーザ端末20の動きまたは操作装置42を通じたアバターの動作指示に基づいて、仮想空間90内で仮想カメラ92を移動させる。ユーザ端末20を動かすこと及び操作装置42を通じてアバターの動作を指示することは、移動操作の一例である。そして、カメラ移動手段240は、配置手段220が移動させた本人アバターに追従して、カメラ設定手段230によって設定された撮像条件を満たすように仮想カメラ92を移動させる。
The camera moving means 240 moves the
映像生成手段250は、仮想カメラ92で仮想空間90内を撮像した映像を生成する。より詳細には、映像生成手段250は、パノラマ画像91のうちの視界領域94に相当する画像を仮想空間画像97として抽出する。また、映像生成手段250は、所定の時間間隔(例えば、1/60秒間隔)で抽出した仮想空間画像97を時系列に並べて映像を生成する。
The image generating means 250 generates an image captured within the
なお、映像生成手段250は、自己視点カメラ92Aで仮想空間90内を撮像した自己視点映像と、設定視点カメラ92B~92Dそれぞれで仮想空間90内を撮像した複数の設定視点映像とを生成する。そして、映像生成手段250は、自己視点映像を示す自己視点映像データをメモリ22に記憶させる。また、映像生成手段250は、設定視点映像を示す設定視点映像データをストレージ23に記憶させる。
The image generating means 250 generates a self-viewpoint image captured by the self-
映像表示手段260は、自己視点映像をモニタ31に表示させる。より詳細には、映像表示手段260は、映像生成手段250によって生成された自己視点映像データを、モニタ31のグラフィックメモリに展開する。そして、仮想空間90内のキャラクタが更新される度に、映像生成手段250が仮想空間画像97を新たに生成し、新たに生成された仮想空間画像97を映像表示手段260がモニタ31に表示させる。これにより、ユーザ端末20のユーザは、仮想空間90内で動作するキャラクタの視界を示す自己視点映像を、モニタ31を通じて視聴することができる。
The video display means 260 displays the self-viewpoint video on the
編集手段270は、操作装置42を通じたユーザの操作に従って、映像生成手段250によって生成された複数の設定視点映像を編集して、視聴映像を生成する。編集とは、例えば、複数の設定視点映像それぞれから抽出した静止画像を時系列に並べることを指す。なお、図8の例では、編集手段270と他の手段210~270とが異なるユーザ端末20A、20Bに実装されているが、同一のユーザ端末20に実装されてもよい。また、編集手段270は、周知の映像編集プログラムで代替することができる。
The editing means 270 edits the multiple set viewpoint videos generated by the video generating means 250 in accordance with user operations via the operating
図10~図16を参照して、設定視点映像を生成する際のシステム1の動作を説明する。本実施形態では、2人のアバター50、51が仮想空間90内で行うパフォーマンス(例えば、歌唱、楽器演奏、ダンスなど)を、ユーザ端末20のユーザがアバター52、53を通じて視聴することを想定する。以下、アバター50に関連付けられたユーザ端末20Aの処理を中心に説明する。そして、ユーザ端末20Aのアバター50を「本人アバター50」と表記し、他のユーザ端末20のアバター51、52、53を「他人アバター51、52、53」と表記する。
The operation of system 1 when generating a set viewpoint video will be described with reference to Figures 10 to 16. In this embodiment, it is assumed that a user of a
また、本実施形態では、本人アバター50のパフォーマンスを、3台の設定視点カメラ92B~92Dで撮像して、3つの設定視点映像を生成する。そして、本実施形態では、設定視点カメラ92Bの撮像条件を、設定距離=15m、設定角度=0°、撮像部位=全身、設定視点カメラ=表示、他人アバター=非表示、閾値距離=5mとする。また、設定視点カメラ92Cの撮像条件を、設定距離=10m、設定角度=0°、撮像部位=上半身、設定視点カメラ=非表示、他人アバター=非表示、閾値距離=10mとする。さらに、設定視点カメラ92Dの撮像条件を、設定距離=10m、設定角度=90°、撮像部位=全身、設定視点カメラ=非表示、他人アバター=非表示、閾値距離=3mとする。
In this embodiment, the performance of the person's
図10は、ユーザ端末20Aの処理を示すフローチャートである。図11は、ステップS11、S12に対応する仮想空間90の概念図である。図12は、自己視点映像生成&表示処理のフローチャートである。図13は、設定視点カメラ92Bの表示/非表示を切り替えた場合の自己視点映像の例を示す図である。図14は、設定視点映像生成&保存処理のフローチャートである。図15は、設定視点カメラ92Cで他人アバターの表示/非表示を切り替えた場合の設定視点映像の例を示す図である。図16は、設定視点カメラ92Dで閾値距離を変更した場合の設定視点映像の例を示す図である。
Figure 10 is a flowchart showing the processing of the
図10に示すように、ユーザ端末20A(仮想空間定義手段210)は、ストレージ23に記憶された仮想空間データをメモリ12に展開することによって、仮想空間90を定義する(S11)。次に、ユーザ端末20A(配置手段220及びカメラ設定手段230)は、図11に示すように、ステップS11で定義された仮想空間90に本人アバター50及び仮想カメラ92を配置すると共に、通信ネットワーク2を通じてサーバ10にアバターデータを送信する(S12)。本人アバター50の初期位置は、例えば、仮想空間90の中心Cである。また、自己視点カメラ92Aの初期位置は、本人アバター50の頭の位置である。さらに、設定視点カメラ92B~92Dの初期位置は、撮像条件設定画面で設定された撮像条件で示される位置である。
As shown in FIG. 10, the
次に、ユーザ端末20A(配置手段220)は、通信ネットワーク2を通じてサーバ10からアバターデータを受信した場合に(S13:Yes)、例えば図11に示すように、受信したアバターデータに従って仮想空間90に他人アバター51、52、53を配置する(S14)。なお、他人アバター51、52、53は、ユーザ端末20Aと異なるユーザ端末20から送信されたアバターデータに対応する。
Next, when the
次に、ユーザ端末20A(映像生成手段250及び映像表示手段260)は、自己視点映像の一部を構成する仮想空間画像97に他人アバター51、52、53を反映させるために、図12に示す自己視点映像生成&表示処理を実行する(S17)。これにより、自己視点映像の一部を構成する仮想空間画像97が生成され、ユーザ端末20Aのユーザがモニタ31を通じて視認する。
Next, the
また、ユーザ端末20A(映像生成手段250)は、設定視点映像の一部を構成する仮想空間画像97に他人アバター51、52、53を反映させるために、設定視点カメラ92B~92Dそれぞれに対して、図14に示す設定視点映像生成&保存処理を実行する(S18)。これにより、設定視点映像の一部を構成する仮想空間画像97が生成され、設定視点映像データの一部としてストレージ23に記憶される。
Furthermore, the
また、ユーザ端末20A(配置手段220及びカメラ移動手段240)は、本人アバター50の動作を指示する操作を操作装置42を通じて受け付けた場合に(S15:Yes)、操作装置42に対するユーザの操作に従って本人アバター50を動作させ、本人アバター50に追従して仮想カメラ92を移動させ、動作後の本人アバター50を示すアバターデータを、通信ネットワーク2を通じてサーバ10に送信する(S16)。また、ユーザ端末20A(カメラ移動手段240)は、動きセンサ41で検知されたユーザ端末20Aの動きに追従して、仮想カメラ92を移動させる。
When the
次に、ユーザ端末20A(映像生成手段250及び映像表示手段260)は、自己視点カメラ92Aの移動後の画角に対応する仮想空間画像97を生成するために、自己視点映像生成&表示処理を実行する(S17)。モニタ31に表示される自己視点映像が更新される。また、ユーザ端末20A(映像生成手段250)は、設定視点カメラ92B~92Dそれぞれの移動後の画角に対応する仮想空間画像97を生成するために、設定視点映像生成&保存処理を実行する(S18)。これにより、設定視点映像に新たな仮想空間画像97が追加される。
Next, the
ユーザ端末20Aは、端末プログラム23Pの終了を指示する操作(例えば、ログアウト)を操作装置42を通じて受け付けるまで(S19:No)、ステップS13~S18の処理を繰り返し実行する。なお、ユーザ端末20Aは、アバターデータを不定期に受信し、ユーザ操作を不定期に受け付ける。すなわち、ステップS14、S16の処理は、任意のタイミング及び頻度で実行される。そして、ユーザ端末20Aは、端末プログラム23Pの終了を指示する操作を操作装置42を通じて受け付けた場合に(S19:Yes)、図10の処理を終了する。
The
また、図12に示すように、ユーザ端末20A(映像生成手段250)は、自己視点カメラ92Aの視界領域94を特定する(S21)。次に、ユーザ端末20A(映像生成手段250)は、撮像条件に基づいて、視界領域94に含まれる設定視点カメラ92B、92Cの表示または非表示を判定する(S22)。そして、ユーザ端末20A(映像生成手段250)は、「設定視点カメラ=表示」が設定された設定視点カメラ92Bを仮想空間画像97に含め(S22:Yes→S23)、「設定視点カメラ=非表示」が設定された設定視点カメラ92Cを仮想空間画像97から除く(S22:No→S24)。
As shown in FIG. 12, the
次に、ユーザ端末20A(映像生成手段250)は、図11の視界領域94に含まれる他人アバター52、53及び設定視点カメラ92B、92Cのうち、他人アバター52、53及び設定視点カメラ92Bを含む仮想空間画像97を、自己視点映像の一部として生成する(S25)。次に、ユーザ端末20A(映像表示手段260)は、ステップS25で生成した仮想空間画像97をモニタ31に表示させる(S26)。
Next, the
これにより、図13(A)に示すように、ユーザ端末20Aのユーザは、設定視点カメラ92Bの位置を意識しながら、本人アバター50にパフォーマンスさせることができる。一方、設定視点カメラ92Bが邪魔な場合は、撮像条件を「設定視点カメラ=非表示」とすることによって、図13(B)に示すように、設定視点カメラ92Bが含まれない仮想空間画像97が生成される。
As a result, as shown in FIG. 13(A), the user of the
さらに、図14に示すように、ユーザ端末20A(映像生成手段250)は、設定視点カメラ92B~92Dそれぞれの視界領域94を特定する(S31)。次に、ユーザ端末20A(映像生成手段250)は、撮像条件に基づいて、視界領域94に含まれる他人アバター51~53の表示または非表示を判定する(S32)。次に、ユーザ端末20A(映像生成手段250)は、設定視点カメラ92B~92Dの撮像条件に「他人アバター=非表示」が設定されていると判定した場合に(S32:No)、視界領域94に含まれる他人アバター51~53が、本人アバター50と設定視点カメラ92B~92Dそれぞれとの間に位置しているか否かを判定する(S33)。次に、ユーザ端末20A(映像生成手段250)は、視界領域94の他人アバター51~53が本人アバター50と設定視点カメラ92B~92Dそれぞれとの間に位置すると判定した場合に(S33:Yes)、設定視点カメラ92B~92Dから当該他人アバター51~53までの距離と閾値距離とを比較する(S34)。
Furthermore, as shown in FIG. 14, the
仮に、設定視点カメラ92Bの撮像条件に「他人アバター=表示」が設定されている場合(S32:Yes)、ユーザ端末20A(映像生成手段250)は、ステップS33~S34の判定処理をスキップして、設定視点カメラ92Bの視界領域94に含まれる全ての他人アバター51、52を仮想空間画像97に含める(S35)。これにより、図15(A)に示すように、聴衆として設定視点カメラ92Bの近くにいる他人アバター52が仮想空間画像97に大きく映り込んで、本人アバター50の大部分を覆い隠してしまう。
If the imaging conditions of the
そこで、前述したように、設定視点カメラ92Bの撮像条件に「他人アバター=非表示、閾値距離=5m」を設定するのが望ましい。これにより、ユーザ端末20A(映像生成手段250)は、設定視点カメラ92Bの視界領域94に含まれる他人アバター51、52のうち、本人アバター50に重ならない他人アバター51を仮想空間画像97に含め(S33:No→S35)、本人アバター50に重なり且つ設定視点カメラ92Bからの距離が閾値距離未満の他人アバター52を仮想空間画像97から除く(S33:Yes&S34:No→S36)。これにより、図15(B)に示すように、聴衆として設定視点カメラ92Bの近くにいる他人アバター52に邪魔されずに、本人アバター50を適切に撮像することができる。
Therefore, as described above, it is desirable to set the imaging conditions of the
また、設定視点カメラ92Dの撮像条件に「他人アバター=非表示、閾値距離=3m」を設定することによって、ユーザ端末20A(映像生成手段250)は、本人アバター50に重なり且つ設定視点カメラ92Bからの距離が閾値距離以上の他人アバター51を仮想空間画像97に含める(S33:Yes&S34:Yes→S35)。これにより、図16(A)に示すように、本人アバター50の近くで一緒にパフォーマンスする他人アバター51を、本人アバター50と共に設定視点映像に含めることができる。
In addition, by setting the imaging conditions of the
一方、設定視点カメラ92Dの撮像条件に「設定距離=10m、他人アバター=非表示、閾値距離=10m」を設定することによって、ユーザ端末20A(映像生成手段250)は、本人アバター50に重なる全ての他人アバター51を仮想空間画像97から除く(S33:Yes&S34:No→S36)。その結果、図16(B)に示すように、設定視点カメラ92Dからの距離に関係なく、本人アバター50に重なる全ての他人アバター51を非表示にできる。
On the other hand, by setting the imaging conditions of the
次に、ユーザ端末20A(映像生成手段250)は、例えば図15~図16に示す仮想空間画像97を、設定視点映像の一部として生成する(S37)。次に、ユーザ端末20A(映像生成手段250)は、ステップS37で生成した仮想空間画像97をストレージ23に保存(すなわち、設定視点映像データに追加)する(S38)。そして、設定視点映像生成&保存処理を繰り返し実行することによって、設定視点映像がストレージ23に蓄積される。
Next, the
次に、図17及び図18を参照して、設定視点映像を編集する際のシステム1の動作を説明する。図17は、設定視点映像を編集する処理のフローチャートである。図18は、編集画面及び視聴映像の例である。 Next, the operation of the system 1 when editing the set viewpoint video will be described with reference to Figs. 17 and 18. Fig. 17 is a flowchart of the process of editing the set viewpoint video. Fig. 18 shows an example of the editing screen and the video to be viewed.
まず、プレイ端末であるユーザ端末20A(映像生成手段250)は、生成した複数の設定視点映像を通信ネットワーク2を通じてサーバ10に送信する(S41)。次に、サーバ10(編集補助手段120)は、通信ネットワーク2を通じてユーザ端末20Aから受信した複数の設定視点映像を、ストレージ13に保存する(S42)。
First, the
次に、編集端末であるユーザ端末20B(編集手段270)は、設定視点映像の編集を開始する際に、通信ネットワーク2を通じてサーバ10に編集要求を送信する(S43)。サーバ10(編集補助手段120)は、通信ネットワーク2を通じてユーザ端末20Bから受信した編集要求の返信として、ストレージ13に保存した複数の設定視点映像を、通信ネットワーク2を通じてユーザ端末20Bに送信する(S44)。
Next, when starting to edit the set viewpoint video, the
次に、ユーザ端末20B(編集手段270)は、操作装置42を通じたユーザの操作に従って、通信ネットワーク2を通じてサーバ10から受信した複数の設定視点映像を編集して、視聴映像を生成する(S45)。ユーザ端末20B(編集手段270)は、例えば、図18(A)に示す編集画面をモニタ31に表示させて、設定視点映像を編集するユーザの操作を操作装置42を通じて受け付ける。
Next, the
図18(A)に示す編集画面は、複数の設定視点映像それぞれを構成する複数の静止画像を時系列に並べて表示する。次に、ユーザ端末20B(編集手段270)は、時刻t1~t4それぞれについて、同一時刻の複数の静止画像の1つを選択するユーザの操作を、操作装置42を通じて受け付ける。そして、ユーザ端末20B(編集手段270)は、図18(B)に示すように、操作装置42を通じて選択された静止画像(図18(A)において、太枠で囲った静止画像)を抽出し、抽出した複数の静止画像を時系列に並べて視聴映像を生成する。
The editing screen shown in FIG. 18(A) displays multiple still images constituting each of multiple set viewpoint videos arranged in chronological order. Next, the
次に、ユーザ端末20B(編集手段270)は、ステップS45で生成した視聴映像を、通信ネットワーク2を通じてサーバ10に送信する(S46)。次に、サーバ10(編集補助手段120)は、通信ネットワーク2を通じてユーザ端末20Aから受信した視聴映像を、ストレージ13に保存する(S47)。さらに、サーバ10(視聴補助手段130)は、視聴端末であるユーザ端末20Cの要求に応じて、ストレージ13に保存した視聴映像を、通信ネットワーク2を通じて視聴端末に送信する。そして、ユーザ端末20Cは、通信ネットワーク2を通じてサーバ10から受信した視聴映像を、モニタ31に表示させる。
Next,
一例として、図17に示す処理は、図10に示す処理が終了した後に開始されてもよい。すなわち、図17に示す処理は、設定視点映像が完成した後に、図10に示す処理とは非同期に実行されてもよい。他の例として、図10に示す処理と、図17に示す処理とは、並行して実行されてもよい。すなわち、ユーザ端末20A(映像生成手段250)は、設定視点映像の一部を構成する仮想空間画像97を生成する度に、ステップS41の処理を実行してもよい。また、ユーザ端末20B(編集手段270)は、サーバ10がユーザ端末20Aから仮想空間画像97を受信する度に、ステップS43~S46の処理を実行してもよい。これにより、本人アバター50のパフォーマンスと同時に(厳密には、僅かに遅れて)視聴端末が生成される。
As an example, the process shown in FIG. 17 may be started after the process shown in FIG. 10 is completed. That is, the process shown in FIG. 17 may be executed asynchronously with the process shown in FIG. 10 after the set viewpoint video is completed. As another example, the process shown in FIG. 10 and the process shown in FIG. 17 may be executed in parallel. That is, the
また、ユーザ端末20B(編集手段270)は、複数セットの設定視点映像をサーバ10から取得して、これらから抽出した仮想空間画像97を時系列に並べて視聴映像を生成してもよい。例えば、ユーザ端末20B(編集手段270)は、アバター50を本人アバターとする複数の設定視点映像と、アバター51を本人アバターとする複数の設定視点映像とを用いて、視聴映像を生成してもよい。
The
[本実施形態の作用効果]
上記の実施形態によれば、複数の設定視点カメラ92B~92Dを予め設定した状態で、本人アバター50にパフォーマンスさせることによって、視聴映像の素材となる複数の設定視点映像が生成される。すなわち、設定視点カメラ92B~92Dの設定と、本人アバター50をパフォーマンスさせる操作とを別々のタイミングで実行することによって、本にアバター50の動作の連続性が損なわれることがない。その結果、簡単な操作で、魅力ある視聴映像の素材を得ることができる。
[Effects of this embodiment]
According to the above embodiment, a plurality of set viewpoint images that serve as material for the viewing video are generated by having the person's
また、上記の実施形態によれば、設定視点カメラ92B~92Dの撮像条件を予め設定しておくことによって、所望の設定視点映像を得ることができる。なお、撮像条件の具体例は、図9の例に限定されない。他の例として、水平線と、本人アバター50及び設定視点カメラ92Bを結ぶ直線とのなす角(すなわち、仰角または俯角)を、撮像条件に加えてもよい。
Furthermore, according to the above embodiment, a desired set viewpoint image can be obtained by setting the imaging conditions of the
また、上記の実施形態によれば、設定視点カメラ92B~92Dを自己視点映像に含めるか否かを切り替えることによって、本人アバター50を操作するユーザの好み(すなわち、設定視点カメラ92B~92Dを意識するか否か)に合わせて、適切な自己視点映像をモニタ31に表示させることができる。
In addition, according to the above embodiment, by switching whether or not to include the
また、上記の実施形態によれば、本人アバター50と設定視点カメラ92B~92Dとの間に位置する他人アバター51~53の表示及び非表示を切り替えることによって、さらに魅力ある視聴映像の素材を得ることができる。例えば、本人アバター50のパフォーマンスの魅力を向上させる他人アバター51を表示させ、本人アバター50のパフォーマンスの邪魔になる他人アバター52を非表示とすればよい。
Furthermore, according to the above embodiment, by switching between displaying and hiding the other person's avatars 51-53 located between the user's
例えば、本人アバター50の近くにいる他人アバター51はパフォーマンスの魅力を向上させる可能性が高く、設定視点カメラ92B~92Dの近くにいる他人アバター52、53はパフォーマンスの邪魔になる可能性が高い。そこで、上記の実施形態によれば、設定視点カメラ92B~92Dからの距離に応じて、他人アバター51~53の表示及び非表示を切り替えることによって、簡単な設定で魅力ある視聴映像の素材を得ることができる。但し、他人アバター51~53の表示及び非表示を切り替えるパラメータは、前述の例に限定されない。他の例として、ユーザ端末20A(映像生成手段250)は、仮想空間90内に予め設定された表示領域に位置する他人アバターを設定視点映像に含め、仮想空間90内に予め設定された非表示領域に位置する他人アバターを設定視点映像から除いてもよい。
For example, the other person's
さらに、上記の実施形態によれば、複数セットの設定視点映像を用いて視聴映像を生成することによって、例えば、複数のアバター50、51がグループとしてパフォーマンスする場合に、さらに魅力的な視聴映像を生成することができる。
Furthermore, according to the above embodiment, by generating viewing images using multiple sets of set viewpoint images, it is possible to generate even more attractive viewing images, for example, when
なお、本実施形態において、本人アバター50は「対象オブジェクト」の一例であり、他人アバター51~53は「周辺オブジェクト」の一例である。但し、オブジェクト(対象オブジェクト、周辺オブジェクト)は、仮想空間90内に配置されて移動したり、形を変えるものであれば、人の形をした「キャラクタ」に限定されない。他の例として、オブジェクトは、自動車、船舶、航空機、建設中の建物、動物などでもよい。また、設定視点カメラ92B~92Dで撮像するのは、本人アバター50(対象オブジェクト)のパフォーマンスに限定されず、仮想空間90内での任意の動作であってよい。
In this embodiment, the user's
また、本発明に係るプログラムは、単一のプログラムに限定されず、複数のプログラムの集合体でもよい。また、本発明に係るプログラムは、単一の装置で実行されるものに限定されず、複数の装置で分担して実行されてもよい。さらに、サーバ10及びユーザ端末20の役割分担は、前述の例に限定されない。すなわち、サーバ10の処理の一部がユーザ端末20によって実行されてもよいし、ユーザ端末20の処理の一部がサーバ10によって実行されてもよい。
The program according to the present invention is not limited to a single program, but may be a collection of multiple programs. The program according to the present invention is not limited to being executed by a single device, but may be executed by multiple devices in a shared manner. Furthermore, the division of roles between the
さらに、プログラムによって実現される各手段の一部または全部は、集積回路などのハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード、DVDの他、インターネット上のサーバ等を指す。 Furthermore, some or all of the means realized by the program can be realized by hardware such as an integrated circuit. Furthermore, the program may be provided in a form recorded on a non-transitory recording medium that can be read by a computer. Examples of recording media include hard disks, SD cards, DVDs, and servers on the Internet.
1…システム、2…通信ネットワーク、3…検知装置、10…サーバ、11,21…プロセッサ、12,22…メモリ、13,23…ストレージ、13P…サーバプログラム、14,24…入出力インタフェース、15,25…通信インタフェース、19,29…通信バス、20…ユーザ端末、23P…端末プログラム、26…コンピュータ、30…HMD、31…モニタ、32…注視センサ、33,34…カメラ、35…マイク、36…スピーカ、41…動きセンサ、42…操作装置、50…本人アバター、51,52,53…他人アバター、90…仮想空間、91…パノラマ画像、92…仮想カメラ、92A…自己視点カメラ、92B,92B,92C,92D…設定視点カメラ、93…基準視線、94…視界領域、95,96…領域、97…仮想空間画像、110…アバター同期手段、120…編集補助手段、130…視聴補助手段、210…仮想空間定義手段、220…配置手段、230…カメラ設定手段、240…カメラ移動手段、250…映像生成手段、260…映像表示手段、270…編集手段 1...system, 2...communication network, 3...detection device, 10...server, 11, 21...processor, 12, 22...memory, 13, 23...storage, 13P...server program, 14, 24...input/output interface, 15, 25...communication interface, 19, 29...communication bus, 20...user terminal, 23P...terminal program, 26...computer, 30...HMD, 31...monitor, 32...gaze sensor, 33, 34...camera, 35...microphone, 36...speaker, 41...motion sensor, 42...operation device, 50...user avatar , 51, 52, 53...Other avatars, 90...Virtual space, 91...Panoramic image, 92...Virtual camera, 92A...Self-viewpoint camera, 92B, 92B, 92C, 92D...Set viewpoint camera, 93...Reference line of sight, 94...Field of view area, 95, 96...Area, 97...Virtual space image, 110...Avatar synchronization means, 120...Editing assistance means, 130...Viewing assistance means, 210...Virtual space definition means, 220...Placement means, 230...Camera setting means, 240...Camera movement means, 250...Image generation means, 260...Image display means, 270...Editing means
Claims (5)
仮想空間内に配置される一の対象オブジェクトを、互いに異なる設定視点から撮像する複数の仮想カメラを設定するカメラ設定手段と、
複数の前記仮想カメラそれぞれで撮像された複数の設定視点映像を生成する映像生成手段として機能させ、
前記カメラ設定手段は、複数の前記仮想カメラそれぞれに対して、前記対象オブジェクトからの距離、前記対象オブジェクトに対する角度、前記対象オブジェクトの撮像部位の少なくとも1つを含む撮像条件を、前記操作装置を通じたユーザの操作に従って設定し、
前記コンピュータを、前記操作装置を通じたユーザの操作に従った前記対象オブジェクトの動作に追従して、設定された前記撮像条件を満たすように複数の前記仮想カメラそれぞれを移動させるカメラ移動手段として機能させ、
前記撮像条件は、複数の前記仮想カメラそれぞれについて、前記対象オブジェクトと異なる周辺オブジェクトのうち、前記仮想カメラから見て前記対象オブジェクトに重なる前記周辺オブジェクトを、前記設定視点映像に含めるか否かを含み、
前記映像生成手段は、前記撮像条件に従って、複数の前記仮想カメラそれぞれの前記設定視点映像に前記周辺オブジェクトを含めるか否かを切り替える、プログラム。 A computer having an operating device,
a camera setting means for setting a plurality of virtual cameras for capturing images of a target object placed in a virtual space from different set viewpoints;
functioning as an image generating means for generating a plurality of set viewpoint images captured by the plurality of virtual cameras,
the camera setting means sets, for each of the plurality of virtual cameras, imaging conditions including at least one of a distance from the target object, an angle with respect to the target object, and an imaging portion of the target object in accordance with a user's operation via the operation device;
causing the computer to function as a camera moving unit that moves each of the plurality of virtual cameras in accordance with a movement of the target object in accordance with a user's operation through the operation device so as to satisfy the set imaging condition ;
the imaging condition includes, for each of the plurality of virtual cameras, whether or not to include, in the set viewpoint image, a peripheral object that overlaps with the target object as viewed from the virtual camera, among peripheral objects different from the target object;
The image generating means switches whether or not to include the peripheral object in the set viewpoint image of each of the multiple virtual cameras in accordance with the imaging conditions .
前記映像生成手段は、
前記仮想カメラから見て前記対象オブジェクトに重なる前記周辺オブジェクトのうち、前記仮想カメラとの距離が閾値距離以上の前記周辺オブジェクトのみを前記設定視点映像に含め、
前記仮想カメラから見て前記対象オブジェクトに重ならない前記周辺オブジェクトを、前記仮想カメラからの距離に拘わらず前記設定視点映像に含める、プログラム。 The program according to claim 1 ,
The image generating means includes:
Among the peripheral objects that overlap the target object as viewed from the virtual camera, only the peripheral objects whose distance from the virtual camera is equal to or greater than a threshold distance are included in the set viewpoint image ;
The program includes, in the set viewpoint image, the peripheral objects that do not overlap the target object as viewed from the virtual camera, regardless of their distance from the virtual camera .
前記対象オブジェクトは、ユーザ端末を通じて操作されるユーザキャラクタであり、
前記映像生成手段は、さらに、前記ユーザキャラクタの自己視点から前記仮想空間内を撮像した自己視点映像を生成し、
前記撮像条件は、複数の前記仮想カメラそれぞれを前記自己視点映像に含めるか否かを含み、
前記コンピュータを、前記撮像条件に従って複数の前記仮想カメラそれぞれを含めるか否かが切り替えられた前記自己視点映像を、前記ユーザキャラクタを操作する前記ユーザ端末に表示させる映像表示手段として機能させる、プログラム。 The program according to claim 1,
The target object is a user character operated through a user terminal,
The image generating means further generates a self-viewpoint image capturing an image of the virtual space from a self-viewpoint of the user character,
the imaging conditions include whether or not to include each of the plurality of virtual cameras in the self-viewpoint image;
A program that causes the computer to function as an image display means that displays the self-viewpoint image, in which the inclusion or non-inclusion of each of the multiple virtual cameras is switched according to the imaging conditions, on the user terminal that controls the user character.
前記コンピュータを、複数の前記設定視点映像を編集して視聴映像を生成する編集手段として機能させる、プログラム。 The program according to claim 1,
A program that causes the computer to function as an editing unit that edits a plurality of the set viewpoint videos to generate a viewing video.
前記編集手段は、複数の前記対象オブジェクトそれぞれを撮像した複数セットの前記設定視点映像を用いて、前記視聴映像を生成する、プログラム。 The program according to claim 4 ,
The editing means generates the viewing image using a plurality of sets of the set viewpoint images each capturing a plurality of the target objects.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023012137A JP7589268B2 (en) | 2023-01-30 | 2023-01-30 | program |
PCT/JP2024/002461 WO2024162216A1 (en) | 2023-01-30 | 2024-01-26 | Program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023012137A JP7589268B2 (en) | 2023-01-30 | 2023-01-30 | program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2024107935A JP2024107935A (en) | 2024-08-09 |
JP7589268B2 true JP7589268B2 (en) | 2024-11-25 |
Family
ID=92146668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023012137A Active JP7589268B2 (en) | 2023-01-30 | 2023-01-30 | program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7589268B2 (en) |
WO (1) | WO2024162216A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005319040A (en) | 2004-05-07 | 2005-11-17 | Nintendo Co Ltd | Enlarged image display system reflecting motion of character |
JP2020204856A (en) | 2019-06-17 | 2020-12-24 | 株式会社バンダイナムコアミューズメント | Image generation system and program |
JP7167388B1 (en) | 2021-12-24 | 2022-11-09 | 正啓 榊原 | Movie creation system, movie creation device, and movie creation program |
-
2023
- 2023-01-30 JP JP2023012137A patent/JP7589268B2/en active Active
-
2024
- 2024-01-26 WO PCT/JP2024/002461 patent/WO2024162216A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005319040A (en) | 2004-05-07 | 2005-11-17 | Nintendo Co Ltd | Enlarged image display system reflecting motion of character |
JP2020204856A (en) | 2019-06-17 | 2020-12-24 | 株式会社バンダイナムコアミューズメント | Image generation system and program |
JP7167388B1 (en) | 2021-12-24 | 2022-11-09 | 正啓 榊原 | Movie creation system, movie creation device, and movie creation program |
Non-Patent Citations (1)
Title |
---|
「ばっきーのブログ 2.7 外観の調整」、2021年3月19日、http://backyduck.cocolog-nifty.com/blog/2021/03/post-af3a05.html |
Also Published As
Publication number | Publication date |
---|---|
JP2024107935A (en) | 2024-08-09 |
WO2024162216A1 (en) | 2024-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4550280A2 (en) | Presenting avatars in three-dimensional environments | |
JP6276882B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
JP7042644B2 (en) | Information processing equipment, image generation method and computer program | |
EP3117290B1 (en) | Interactive information display | |
JP2019510321A (en) | Virtual reality pass-through camera user interface elements | |
JP2017097122A (en) | Information processing device and image generation method | |
KR20180112599A (en) | Mobile terminal and method for controlling the same | |
JP2019139673A (en) | Information processing apparatus, information processing method, and computer program | |
JP6201028B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
JP6321263B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
US20240406368A1 (en) | Devices, methods, and graphical user interfaces for capturing and viewing immersive media | |
JPWO2018216402A1 (en) | Information processing apparatus, information processing method, and program | |
JP2018195287A (en) | Information processing method, device and program causing computer to execute information processing method | |
JP6554139B2 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
US20240395073A1 (en) | Devices, methods, and graphical user interfaces for biometric feature enrollment | |
JP2018192238A (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
JP2019030638A (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
JP7589268B2 (en) | program | |
JP6856572B2 (en) | An information processing method, a device, and a program for causing a computer to execute the information processing method. | |
WO2024060959A1 (en) | Method and apparatus for adjusting viewing picture in virtual environment, and storage medium and device | |
JP2023065528A (en) | Head-mounted information processing device and head-mounted display system | |
JP2018092592A (en) | Information processing method, apparatus, and program for implementing that information processing method on computer | |
JP7625039B2 (en) | program | |
JP7650309B2 (en) | Program and system | |
JP7650308B2 (en) | Program and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230209 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230706 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231117 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231128 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20231222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7589268 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |