以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明の概要について説明する。本発明は、フォトグラメトリーによる3DCGモデルが配置されたバーチャル空間において、360度映像の撮影位置に相当する位置に、当該360度映像のアイコンを置く。そして、本発明は、バーチャル空間において、ユーザがアイコンに近づくと、3DCGモデルの映像(以下、「3DCGモデル映像」という。)の世界から360度映像の世界へ遷移(トランジション)し、360度映像を徐々に拡大表示する。本発明は、例えばユーザによるキー操作があると、拡大表示された360度映像を縮小表示し、360度映像の世界から元の3DCGモデル映像の世界へ遷移する。
これにより、ユーザは、3DCGモデル映像の世界において6DoF体験することができ、360度映像の世界において3DoF体験することができる。
このように、3DCGモデル映像及び360度映像を相補的に提示することで、3DCGモデル映像の一部が欠落等するという欠点を補うことができ、両映像を幾何学的に一致させ、見た目の連続性を実現することができる。つまり、バーチャル空間における3DCGモデル映像及び360度映像を視聴するユーザは、両映像を相補的に正しく理解することができる。
〔本発明の概要〕
まず、本発明の概要について説明する。バーチャル空間において、ユーザが3DCGモデル映像及び360度映像を相補的に正しく理解するためには、これらの2つの映像の見た目の連続性、すなわち両映像をシームレスに繋げることが必要である。
具体的には、ユーザがアイコンに近づいたときに3DCGモデル映像の世界から360度映像の世界へ遷移し、また、例えばキー操作があったときに360度映像の世界から3DCGモデル映像の世界へ遷移する場合、2つの映像の見た目の連続性を実現する必要がある。
2つの映像の見た目の連続性を実現するための条件としては、以下の(A)~(D)が挙げられる。
(A)2つの世界(3DCGモデル映像の世界及び360度映像の世界)が幾何学的に一致すること。
(B)2つの世界の時間的な重複及び欠落を回避すること。
(C)2つの世界が連続的に変化すること。
(D)360度映像を表示するアイコンが直感的なデザインで構成されていること。
<(A)2つの世界が幾何学的に一致すること>
3DCGモデル映像の世界から360度映像の世界へのトランジション前後で、これらの世界が幾何学的に一致するためには、トランジション前において、360度映像の撮影位置と同じ見え方をする3DCGモデル映像の地点に、ユーザが存在することが必要である。
そこで、本発明の映像表示処理装置は、3DCGモデル映像の世界において、ユーザの位置(視点位置)が360度映像の撮影位置に近づいたときに、トランジションを開始する。尚、360度映像の向きは、3DCGモデル映像の向きと合わせておくものとする。
図12は、バーチャル空間におけるトランジション前後の状態を説明する図である。図12(1)は、3DCGモデル映像の世界を示しており、この世界には、ユーザ100、及び2つの被写体(本例では2つの建物)の映像等が含まれている。図12(2)は、360度映像の世界を示しており、この世界にも、ユーザ100、及び2つの被写体の映像等が含まれている。
図12(1)におけるユーザ100の位置は、図12(2)に示す360度映像の撮影位置に相当する位置にあるとする。また、図12(2)におけるユーザ100の位置は、360度映像の球面スクリーンの球(スクリーン球)の中心位置にあるとする。そうすると、ユーザ100から見た2つの世界は、幾何学的に一致することとなる。
<(B)2つの世界の時間的な重複及び欠落を回避すること>
トランジションの役割は、3DCGモデル映像及び360度映像を差し替えることにあり、映像の差し替えの際に、タイミングが早すぎたり、遅すぎたりすると、同一の被写体が2つの映像で重複して見えたり(二重に見えたり)、どちらも欠落したりする可能性がある。
そこで、本発明の映像表示装置は、トランジション中に2つの映像を重複して表示する際に、ユーザ100の視野内の各画素において提示制御を適切に行うことで、同一の被写体の重複及び欠落を回避する。また、本発明の映像表示処理装置は、360度映像を最前面に表示することで、同一の被写体の重複を回避する。
<(C)2つの世界が連続的に変化すること。>
ユーザ100による2つの映像の認知的コストを下げるためには、2つの世界が連続的に変化することが必要である。
そこで、前記(A)と同様に、本発明の映像表示処理装置は、3DCGモデル映像の世界において、ユーザ100の位置(視点位置)が360度映像の撮影位置に近づいたときに、トランジションを開始する。この場合、本発明の映像表示処理装置は、トランジションを開始した時点で、3DCGモデル映像の全てを360度映像に即座に置き換えるのではなく、トランジションを開始する以前において、ユーザ100が360度映像のアイコンに近づくほど、視野の一部が徐々に360度映像のアイコンに置き換わるようにする。また、トランジションについても、見た目の連続的な変化を実現する。
<(D)360度映像を表示するアイコンが直感的なデザインで構成されていること>
3DCGモデル映像の世界において、どこにどのような360度映像が存在しているかをユーザ100に分かりやすく示すために、アフォーダンスのあるアイコンを用意する必要がある。
そこで、アイコンは、3DCGモデル映像の世界において、360度映像の撮影位置に相当する位置に置かれ、例えばゆっくりと上下に動いているようにする。また、アイコンには、360度映像の冒頭フレームの縮小画像がサムネイル(アイコンの絵柄)として表示されるようにする。
図13は、360度映像が表示されるアイコンを説明する図である。図13(1)は、3DCGモデル映像の世界を示しており、ユーザ100、アイコン101及び2つの被写体等が示されている。図13(2)は、アイコン101の表示例を示しており、図13(3)は、球型オブジェクトのレンダリング処理を示している。
図13(1)及び図13(2)に示すように、アイコン101の形状は球であり、アイコン101の球(アイコン球)の内面には、360度映像の冒頭フレームの一部がサムネイルとして貼り付けられている。また、アイコン101は、3DCGモデル映像の世界において、360度映像の撮影位置に相当する位置に置かれる。
図13(3)に示すように、アイコン101を表示するための球型オブジェクトは、アイコン球の内側のみを対象として、カリングの機能を用いてレンダリングされる。ユーザ100の視点から見て、αは、レンダリングされる球型オブジェクトの球における内側の領域を示しており、βは、レンダリングされない球型オブジェクトの球における外側の領域を示している。つまり、球型オブジェクトのレンダリングによりアイコン101が表示される場合、360度映像の冒頭フレームである静止画のうち、球型オブジェクトの球の内側であるαの領域の画像のみが、アイコン101のサムネイルとして表示されることとなる。
ここで、アイコン101は、球の中心から見て、サムネイル及び3DCGモデル映像に対して、見た目の向きが重なるように回転した状態で表示される。すなわち、ユーザ100の視点がアイコン101の球の中心にあるとき、視点から見て、球の内面に表示されるサムネイルに含まれる被写体と、3DCGモデル映像における同一の被写体とが同一方向にあるように、アイコン101は回転した状態で表示される。
(アイコンの表示形態)
次に、アイコン101の表示形態について説明する。図14は、3DCGモデル映像の世界から360度映像の世界へ遷移する前後のアイコン101の表示形態を説明する図であり、図15は、図14の続きを説明する図である。
図14(1)において、ユーザ100から見て3DCGモデル映像の世界には、アイコン101、オブジェクト102-1,102-2が存在する。
また、アイコン101の内側には、360度映像の冒頭フレームが貼り付けられ、アイコン101は、カリングにより、球の外側を対象外とし球の内側のみ(本例の場合は、ほぼ半球)を対象としてレンダリングされ、ユーザ100の視点から見た部分のみが表示される。ユーザ100から見てアイコン101には、360度映像の冒頭フレームのうち(球の内側のα及びβの領域のうち)、αの領域の画像のみが表示される。αの領域の画像には、3DCGモデル映像の世界のオブジェクト102-2に対応するオブジェクト103-2が含まれる(同一の被写体が含まれる)。つまり、3DCGモデル映像の世界のオブジェクト102-2、及びアイコン101に含まれるオブジェクト103-2は、ユーザ100の視点からすると、見た目の向きが重なるように表示される。
アイコン101の球の内側には、360度映像の冒頭フレームが表示され、ユーザ100の視点から見た球の内側におけるαの領域の映像は、外界である3DCGモデル映像の世界を、球の中心へ投影したものに相当する。
図14(2)において、ユーザ100がアイコン101に近づけば近づくほど、ユーザ100から見たアイコン101の表示と、外界の表示(3DCGモデル映像の表示)とが幾何学的に一致してくる。これは、ユーザ100がアイコン101に近づくことで、ユーザ100の視点から見てアイコン101の球のサイズが大きくなり(見た目が大きくなる)、球の内側の映像も大きく表示され、アイコン101の表示と3DCGモデル映像の表示の見た目の向きが一層重なるようになるからである。
また、アイコン101は、図14(1)と同様に、カリングにより、球の内側の半球以上がレンダリングされており、図14(1)よりもレンダリングされる部分が多くなっている。ユーザ100から見てアイコン101には、360度映像の冒頭フレームのうち、図14(1)よりも広いαの領域の画像が表示される。αの領域の画像には、3DCGモデル映像の世界のオブジェクト102-1,102-2に対応するオブジェクト103-1,103-2が含まれる。
図14(3)において、ユーザ100がアイコン101に近づき、ユーザ100がアイコン101の球内に入ると(ユーザ100とアイコン101との間の距離が所定の閾値よりも小さく(短く)なると)、その瞬間にトランジションが開始する。これにより、ユーザ100は、3DCGモデル映像の世界から360度映像の世界へ移行することとなる。つまり、ユーザ100の視野には、徐々に拡大される360度映像が表れるようになる。
具体的には、映像表示処理装置は、トランジションを開始すると、アイコン101の球であるアイコン球をスクリーン球として扱い、ユーザ100の視点とアイコン101との間の距離に関わらず、最前面マテリアルを適用する(360度映像を最前面に表示する)と共に、スクリーン球が拡大するように、球型オブジェクトのレンダリングを行い、360度映像の再生表示の処理を開始する。
これにより、スクリーン球が拡大すると、視点からスクリーン球の内側に貼り付けられた360度映像までの距離が長くなるが、360度映像に最前面マテリアルを適用することで、3DCGモデル映像が360度映像よりも物理的に前面に存在する(視点の近くに存在する)場合であっても、360度映像は、3DCGモデル映像に上書きされることがなく、360度映像が3DCGモデル映像よりも前面に優先して表示されることとなる。
図15(4)において、アイコン101のスクリーン球は、球面スクリーンの運動視差がなくなる程度まで拡大する。そして、その拡大縮小率が所定の拡大完了設定値に到達すると、図15(5)に示すように、拡大を完了する。
図15(4)及び(5)においては、360度映像に対し最前面マテリアルが適用される。このため、360度映像のオブジェクト103-1及び3DCGモデル映像のオブジェクト102-1が重複して表示されることがなく、360度映像のオブジェクト103-2及び3DCGモデル映像のオブジェクト102-2も重複して表示されることがない。360度映像のオブジェクト103-1,103-2は、3DCGモデル映像のオブジェクト102-1,102-2よりも前面に優先して表示される。尚、図15(4)及び(5)において、3DCGモデル映像のオブジェクト102-1,102-2は、説明のために示されているが、実際には表示されることはない。また、スクリーン球が拡大すると、ユーザ100の視点から見た360度映像の歪みは、徐々に小さくなる。
(映像表示例)
次に、具体的な表示映像の例について説明する。図16は、表示映像の例を説明する図であり、図17及び図18は、その続きを説明する図である。
ユーザ100は、3DCGモデル映像の世界において、6DoFのバーチャル体験をしているものとする。
図16(1)を参照して、ユーザ100は、3DCGモデル映像の世界に浮かぶ球上のアイコン101を見ることができる。アイコン101には、当該アイコン101の向こう側の世界を縮小したサムネイル、すなわち360度映像の冒頭フレームのうちユーザ100の視点から見える画像のみが、カリングによりレンダリングされたサムネイルとして表示されている。この図16(1)は、図14(1)に対応している。
図16(2)を参照して、ユーザ100がコントローラの操作を行うと、ユーザ100の視点位置及び視線方向が変化し、アイコン101のサムネイルの表示も変わる(視点から見た表示が変わる)。そして、ユーザ100が、アイコン101に近づくと、アイコン101のサムネイルの表示と、向こう側の世界の表示(3DCGモデル映像の表示)とが幾何学的に一致してくる。これは、ユーザ100がアイコン101に近づけば近づくほど、ユーザ100の視野内におけるアイコン101の占有割合が高くなり、ユーザ100の視点からアイコン101の見た目が大きくなり、アイコン球の内側の映像も大きく表示され、アイコン101の表示と3DCGモデル映像の表示の見た目の向きが一層重なるからである。この図16(2)は、図14(2)に対応している。
ユーザ100が、コントローラの操作に従ってアイコン101に近づき、アイコン101の球内に入る場合を想定する。
図17(3)を参照して、ユーザ100がコントローラの操作に従ってアイコン101に近づき、アイコン101の球内に入る直前までは、アイコン101にはサムネイルが表示されている。また、アイコン101以外の個所には、3DCGモデル映像が表示されている。図17(3)は、図14(3)に対応している。
ユーザ100がアイコン101の球内に入ると、その瞬間にトランジションが開始し、アイコン球がスクリーン球として扱われ、スクリーン球の拡大が開始し、360度映像が再生された状態でスクリーン球面に拡大表示される。これにより、ユーザ100は、3DCGモデル映像の世界から360度映像の世界へ移行することとなる。
つまり、図17(4)及び図18(5)を参照して、アイコン球のサムネイルは、連続する360度映像の動画として再生されるように表示され、アイコン球は、360度映像が再生されたスクリーン球となる。図17(4)及び図18(5)は、図15(4)及び(5)に対応している。
これにより、ユーザ100は、3DCGモデル映像の被写体の近くに置かれたアイコン101に近づくことで、3DCGモデル映像の世界から360度映像の世界へ移行することができ、例えば当該被写体の詳細について、360度映像にて認識することができる。
ここで、トランジションの開始に伴い、360度映像には最前面マテリアルが適用されるため、視点を基準に3DCGモデル映像が360度映像の内側(視点に近い側)に存在する距離以上にスクリーン球が拡大したとしても、3DCGモデル映像が表示されることはない。つまり、スクリーン球が拡大することで、3DCGモデル映像の被写体がスクリーン球の内側に存在するようになったとしても、360度映像が3DCGモデル映像よりも優先して表示される。
そして、スクリーン球の拡大縮小率が所定の拡大完了設定値に到達すると、スクリーン球の拡大が完了する。その後、例えばユーザ100のキー操作に従って、スクリーン球が縮小すると共に、3DCGモデル映像が表示され、スクリーン球の拡大縮小率が所定の縮小完了設定値よりも小さくなって元のサイズに戻ると、360度映像に対する最前面マテリアルの適用(最前面の表示の適用)が解除され、縮小を完了する。
ユーザ100が、コントローラの操作に従ってアイコン101から離れ、アイコン101の球内から外へ出ると(その距離が所定の閾値を超えると)、図14(1)及び(2)並びに図16(1)及び(2)に示したような3DCGモデル映像の世界に戻る。
〔映像表示処理装置〕
次に、本発明の実施形態による映像表示処理装置について説明する。図1は、本発明の実施形態による映像表示処理装置の構成例を示すブロック図である。
この映像表示処理装置1は、トランジション機能部2-1,2-2,・・・,2-N、球型オブジェクト3-1,3-2,・・・,3-N、3DCGオブジェクト4-1,4-2,・・・,4-M等からなる3DCGモデルオブジェクト、カメラオブジェクト5、レンダラ6及び表示装置7を備えている。N,Mは、2以上の整数である。
映像表示処理装置1は、フォトグラメトリーによる3DCGオブジェクト4-1,4-2,・・・,4-M等からなる3DCGモデルオブジェクトが配置されたバーチャル空間に、球型オブジェクト3-1,3-2,・・・,3-Nを配置し、ユーザ100の視界に入る3DCGモデルオブジェクトの3DCGモデル映像を表示すると共に、ユーザ100の視界に入る球型オブジェクト3-1,3-2,・・・,3-Nの360度映像をアイコン101として表示する。
球型オブジェクト3-1,3-2,・・・,3-Nのそれぞれは、360度映像が表示されるアイコン101に関するデータにより構成され、対応するトランジション機能部2-1,2-2,・・・,2-Nにアタッチされている。つまり、球型オブジェクト3-1,3-2,・・・,3-Nのそれぞれのデータは、基本的に、対応するトランジション機能部2-1,2-2,・・・,2-Nにより設定される。
3DCGオブジェクト4-1,4-2,・・・,4-M等からなる3DCGモデルオブジェクトは、3DCGモデル映像が表示される際の構成要素であるオブジェクト等に関するデータにより構成される。
以下、トランジション機能部2-1,2-2,・・・,2-Nを総称してトランジション機能部2とし、球型オブジェクト3-1,3-2,・・・,3-Nを総称して球型オブジェクト3とする。また、3DCGオブジェクト4-1,4-2,・・・,4-Mを総称して3DCGオブジェクト4とする。
トランジション機能部2は、対応する球型オブジェクト3をアタッチしており、バーチャル空間の世界において、3DCGモデル映像の世界から360度映像の世界へ遷移する際、またはその逆へ遷移する際のトランジションの状態を管理し、当該球型オブジェクト3に、トランジションの状態に応じたデータを設定する。
具体的には、トランジション機能部2は、トランジションの状態に応じて、360度映像の冒頭フレームを静止画とし、静止画を示す球型映像を当該球型オブジェクト3に設定し、360度映像を再生し、これを再生360度映像とし、再生360度映像を示す球型映像を当該球型オブジェクト3に設定する。
また、トランジション機能部2は、トランジションの状態に応じて、360度映像が表示されるスクリーン球の拡大縮小率scale_magni(t)を算出し、これを当該球型オブジェクト3の大きさとして当該球型オブジェクト3に設定する。また、トランジション機能部2は、マテリアル(アンリット(Unlit(照明無効))マテリアルまたは最前面マテリアル)を変更して当該球型オブジェクト3に設定する。拡大縮小率scale_magni(t)のtは、時間を示す。
また、トランジション機能部2は、トランジションの状態に応じて、当該球型オブジェクト3以外の全てのオブジェクト(他の球型オブジェクト3及び3DCGオブジェクト4)の表示の可否を判断し、非表示または表示を示す表示可否情報を他の球型オブジェクト3及び3DCGオブジェクト4に設定する。
ここで、トランジション機能部2は、初期設定として、アタッチされている球型オブジェクト3を除き、他の球型オブジェクト3、3DCGオブジェクト4及びカメラオブジェクト5のリストを所持している。トランジション機能部2は、他の球型オブジェクト3、3DCGオブジェクト4及びカメラオブジェクト5に設定されている位置及び方向等を取得することができると共に、これらのオブジェクトに設定されている表示可否情報等のデータを変更することができる。トランジション機能部2の処理の詳細な説明については後述する。
球型オブジェクト3は、対応するトランジション機能部2にアタッチされており、トランジション機能部2から出力された各種データが設定される。球型オブジェクト3は、初期設定として、バーチャル空間において、360映像の撮影位置に相当する位置に配置される。複数の球型オブジェクト3は、互いに重ならない距離に配置されている。
図2は、球型オブジェクト3のデータ構成例を示す図である。球型オブジェクト3は、図2に示す各種データを保持する。球型オブジェクト3を構成する各種データとしては、バーチャル空間の世界において、当該球型オブジェクト3が置かれている位置を示す球型オブジェクト位置(当該球型オブジェクト3の360度映像の撮影位置を当該球型オブジェクト3の配置位置とする球型オブジェクト位置、当該球型オブジェクト3の中心位置)、当該球型オブジェクト3の向いている方向、当該球型オブジェクト3が表示されるときの映像の大きさ(拡大縮小率scale_magni(t))、当該球型オブジェクト3が表示される映像を示す球型映像(静止画を示す球型映像、または再生360度映像を示す球型映像)、マテリアル(アンリットマテリアルまたは最前面マテリアル)、非表示または表示を示す表示可否情報、音声情報及び運動情報等である。
3DCGオブジェクト4は、フォトグラメトリーによる3DCGモデルであり、3DCGモデル映像の世界におけるオブジェクトに関するデータが設定される。3DCGオブジェクト4は、初期設定として、バーチャル空間の所定位置に配置される。
3DCGオブジェクト4に設定されているデータとしては、例えばバーチャル空間の世界において、当該オブジェクトが置かれている位置、方向、当該オブジェクトの大きさ、形状、映像、及び前述の表示可否情報等である。オブジェクトの大きさとしては、例えば原寸大の大きさが設定される。
尚、球型オブジェクト3及び3DCGオブジェクト4について、単数及び複数のオブジェクトがグルーピングされることで、グループ毎に表示可否情報等をまとめて扱うようにしてもよい。
カメラオブジェクト5は、バーチャル空間の世界におけるユーザ100の視点位置及び視線方向等のデータが設定される。
ここで、図示しないカメラ処理部は、図示しないコントローラに対するユーザ100の操作に従って、バーチャル空間の世界におけるバーチャルカメラの位置及び方向を、ユーザ100の視点位置及び視線方向として決定し、これらのデータをカメラオブジェクト5に設定する。
レンダラ6は、バーチャル空間において、バーチャルカメラにより撮影された3DCGオブジェクト4を特定し、特定した3DCGオブジェクト4等を含む3DCGモデルオブジェクトを描画(レンダリング)すると共に、バーチャルカメラにより撮影された球型オブジェクト3を特定してレンダリングし、表示映像を生成し、表示装置7に出力する。
具体的には、レンダラ6は、カメラオブジェクト5に設定されたユーザ100の視点位置及び視線方向(バーチャルカメラの位置及び方向)に基づいて、バーチャルカメラが撮影している範囲内の(ユーザ100の視界に入る)球型オブジェクト3及び3DCGオブジェクト4を、これらのオブジェクトに設定された位置等のデータを用いて特定する。
そして、レンダラ6は、特定された3DCGオブジェクト4について、当該3DCGオブジェクト4に設定された表示可否情報等のデータを用いて、画素単位でレンダリングすると共に、特定された球型オブジェクト3について、当該球型オブジェクト3に設定された大きさ、球型映像、マテリアル、表示可否情報等のデータを用いて、画素単位でレンダリングする。そして、レンダラ6は、レンダリングにより得られた両映像を結合した表示映像を生成し、表示装置7に出力する。
尚、レンダラ6は、球型オブジェクト3に非表示を示す表示可否情報が設定されている場合、当該球型オブジェクト3のレンダリングを行わず、表示を示す表示可否情報が設定されている場合、当該球型オブジェクト3のレンダリングを行う。3DCGオブジェクト4についても同様である。
また、レンダラ6は、球型オブジェクト3のレンダリングの際に、当該球型オブジェクト3に設定された球型映像を球面の内側に貼り付け、カメラオブジェクト5に設定された視点位置及び視線方向、並びに球型オブジェクト3に設定された大きさに従って、ユーザ100の視点から見た球の映像を拡大または縮小し、アイコン球またはスクリーン球の映像を含む表示映像を生成する。
また、レンダラ6は、球型オブジェクト3のレンダリングの際に、当該球型オブジェクト3に設定されたマテリアルが最前面マテリアルの場合、他の球型オブジェクト3及び3DCGオブジェクト4の映像よりも優先して最前面に当該球型オブジェクト3の球型映像が表示されるように表示映像を生成する。
表示装置7は、例えばHMD(Head Mounted Display:ヘッドマウントディスプレイ)であり、レンダラ6から表示映像を入力し、表示映像を画面に表示する。
これにより、ユーザ100の視点位置及び視線方向に応じた表示映像(例えば図16(1)若しくは(2)、図17(3)若しくは(4)、または図18(5)に示した映像)が生成され、表示装置7に表示される。
尚、レンダラ6の処理は、Unity(ユニティ)等の一般的なゲームエンジンのCG描画処理により実現される。
〔トランジション機能部2〕
次に、図1に示したトランジション機能部2について詳細に説明する。図3は、トランジション機能部2の構成例を示すブロック図である。
このトランジション機能部2は、距離算出部10、キー入力部11、状態管理部12、拡大縮小部13、マテリアル記録部14、マテリアル変更部15、360度映像記録部16、映像再生制御部17、静止画抽出部18、映像選択部19及び他オブジェクト表示制御部20を備えている。360度映像記録部16、映像再生制御部17、静止画抽出部18及び映像選択部19により、映像再生処理部が構成される。
距離算出部10は、カメラオブジェクト5に設定された視点位置を入力すると共に、当該トランジション機能部2に対応する球型オブジェクト3に設定された球型オブジェクト位置を入力する。
距離算出部10は、視点位置の座標及び球型オブジェクト位置の座標を用いて、これらの位置の差の二乗和のルートを算出することで、ユーザ100の視点位置と球型オブジェクト3の位置(アイコン球またはスクリーン球の中心位置)との間の距離distance(t)を算出する。距離distance(t)におけるtは、時間を示す。距離算出部10は、距離情報として距離distance(t)を状態管理部12に出力する。
キー入力部11は、ユーザ100によるコントローラのキー操作に伴い、コントローラからのキー情報の入力を監視する。キー入力部11は、コントローラからキー情報を入力すると、キー情報に対応するキー制御信号を生成し、キー制御信号を状態管理部12に出力する。
状態管理部12は、距離算出部10から距離distance(t)を、キー入力部11からキー制御信号を、拡大縮小部13からスクリーン球の拡大縮小率scale_magni(t)を入力する。また、状態管理部12は、映像再生制御部17から360度映像の再生状態(未再生、再生完了、再生中、一時停止中、現在の再生時刻等)を入力する。
状態管理部12は、後述する条件に従って、後述する図4に示す状態遷移のとおり、球型オブジェクト3のトランジションの状態(待機S1、拡大中S2、拡大済みS3、縮小中S4及び縮小済みS5)を順次遷移させる。
図4は、球型オブジェクト3の状態遷移を示す図である。図4に示すとおり、球型オブジェクト3のトランジションの状態には、待機S1、拡大中S2、拡大済みS3、縮小中S4及び縮小済みS5の5つがある。
前述のとおり、distance(t)は、ユーザ100の視点位置と球型オブジェクト3の位置との間の距離であり、scale_magni(t)は、スクリーン球の拡大縮小率であり、スクリーン球の半径を予め設定されたアイコン球の半径で除算することで得られる。
dist_th_inは、スクリーン球の拡大が開始するトランジション開始閾値であり、予め設定される。トランジション開始閾値dist_th_inとしては、例えばアイコン球の半径が予め設定される。
また、dist_th_outは、トランジションを完了して待機S1の状態にするためのトランジション完了閾値であり、予め設定される。トランジション完了閾値dist_th_outとしては、トランジション開始閾値dist_th_inよりも大きい値、例えばアイコン球の半径の2倍の値が予め設定される。トランジション完了閾値dist_th_outとして、トランジション開始閾値dist_th_inよりも大きい値が設定されるのは、距離distance(t)がトランジション開始閾値dist_th_in及びトランジション完了閾値dist_th_outに近くなったときに、意図しない状態のチャタリングを防ぐためである。
max_scale_magniは、スクリーン球の拡大が完了するスクリーン球の拡大縮小率を示す拡大完了閾値であり、予め設定される。拡大完了閾値max_scale_magniとしては、例えば50が予め設定される。
球型オブジェクト3のトランジションの状態が待機S1のときに、距離distance(t)<トランジション開始閾値dist_th_inの条件を満たすと、トランジションの状態は、待機S1から拡大中S2へ遷移する。この条件は、ユーザ100が球型オブジェクト3に対し、トランジション開始閾値dist_th_inよりも近づいた場合である。
尚、距離distance(t)≧トランジション開始閾値dist_th_inの条件を満たしている限り、トランジションの状態は、待機S1を保持する。この条件は、ユーザ100が球型オブジェクト3からトランジション開始閾値dist_th_in以上離れている場合である。
球型オブジェクト3のトランジションの状態が拡大中S2のときに、拡大縮小率scale_magni(t)≧拡大完了閾値max_scale_magniの条件を満たすと、トランジションの状態は、拡大中S2から拡大済みS3へ遷移する。この条件は、球型オブジェクト3の大きさである拡大縮小率scale_magni(t)が拡大完了閾値max_scale_magniに到達した場合である。
球型オブジェクト3のトランジションの状態が拡大済みS3のときに、ユーザ100によるキー入力があったという条件を満たすと、トランジションの状態は、拡大済みS3から縮小中S4へ遷移する。この場合のキー入力は、トランジションの状態を拡大済みS3から縮小中S4へ遷移させるためのキー入力である。
尚、球型オブジェクト3のトランジションの状態が拡大済みS3のときに、360度映像の再生が完了したという条件(状態管理部12が再生完了の再生状態を入力するという条件)を満たすと、トランジションの状態は、拡大済みS3から縮小中S4へ遷移するようにしてもよい。
球型オブジェクト3のトランジションの状態が縮小中S4のときに、拡大縮小率scale_magni(t)<1.0の条件を満たすと、トランジションの状態は、縮小中S4から縮小済みS5へ遷移する。この条件は、球型オブジェクト3の大きさである拡大縮小率scale_magni(t)が1.0よりも小さくなった場合である。
球型オブジェクト3のトランジションの状態が縮小済みS5のときに、距離distance(t)>トランジション完了閾値dist_th_outの条件を満たすと、トランジションの状態は、縮小済みS5から待機S1へ遷移する。この条件は、ユーザ100が球型オブジェクト3に対し、トランジション完了閾値dist_th_outよりも離れた場合である。
尚、球型オブジェクト3に非表示の表示可否情報が設定されている場合、図4に示した状態遷移は発生しないものとする。
図3へ戻って、状態管理部12は、球型オブジェクト3のトランジションの状態に応じて制御信号を生成し、当該制御信号を拡大縮小部13、マテリアル変更部15、映像再生制御部17及び他オブジェクト表示制御部20に出力する。
具体的には、状態管理部12は、球型オブジェクト3のトランジションの状態に応じて、拡大、拡大停止、縮小または縮小停止を示す制御信号を生成し、当該制御信号を拡大縮小部13に出力する。
状態管理部12は、球型オブジェクト3のトランジションの状態に応じて、アンリットマテリアルまたは最前面マテリアルを示す制御信号を生成し、当該制御信号をマテリアル変更部15に出力する。
状態管理部12は、球型オブジェクト3のトランジションの状態に応じて、360度映像の開始、360度映像の頭出しまたは360度映像の終了を示す制御信号を生成し、当該制御信号を映像再生制御部17に出力する。
状態管理部12は、球型オブジェクト3のトランジションの状態に応じて、当該球型オブジェクト3以外のオブジェクト(他の球型オブジェクト3及び3DCGオブジェクト4)のそれぞれについて、表示または非表示を示す制御信号を生成する。そして、状態管理部12は、当該制御信号を他オブジェクト表示制御部20に出力する。状態管理部12の処理の詳細な説明については後述する。
拡大縮小部13は、初期設定として、スクリーン球の半径を予め設定されたアイコン球の半径で除算することで得られる拡大縮小率scale_magni(t)を1とし、拡大縮小率scale_magni(t)を状態管理部12に出力すると共に、拡大縮小率scale_magni(t)を当該球型オブジェクト3が表示されるときの映像の大きさとして、当該球型オブジェクト3に設定する。
拡大縮小部13は、状態管理部12から、拡大、拡大停止、縮小または縮小停止を示す制御信号を入力する。
拡大縮小部13は、拡大を示す制御信号を入力すると、当該球型オブジェクト3のスクリーン球が拡大するように(スクリーン球の半径を時間の経過と共に徐々に大きくするために)、スクリーン球の半径を予め設定されたアイコン球の半径で除算することで、拡大縮小率scale_magni(t)を算出する。拡大縮小部13は、拡大停止を示す制御信号を入力すると、当該球型オブジェクト3のスクリーン球の拡大が停止するように(スクリーン球の半径を大きくする処理を停止するために)、拡大縮小率scale_magni(t)の算出を停止する。これにより、拡大が停止したときの拡大縮小率scale_magni(t)は一定値となる。
拡大縮小部13は、縮小を示す制御信号を入力すると、当該球型オブジェクト3が縮小するように(スクリーン球の半径を時間の経過と共に徐々に小さくするために)、拡大縮小率scale_magni(t)を算出する。拡大縮小部13は、縮小停止を示す制御信号を入力すると、当該球型オブジェクト3のスクリーン球の縮小が停止するように(スクリーン球の半径を小さくする処理を停止するために)、拡大縮小率scale_magni(t)の算出を停止する。これにより、縮小が停止したときの拡大縮小率scale_magni(t)は一定値となる。
また、拡大縮小部13は、算出した拡大縮小率scale_magni(t)を状態管理部12に出力すると共に、拡大縮小率scale_magni(t)を当該球型オブジェクト3の大きさとして、当該球型オブジェクト3に設定する。これにより、当該球型オブジェクト3の大きさが、当該球型オブジェクト3に設定される。
マテリアル記録部14には、アンリットマテリアル及び最前面マテリアルが記録されている。
マテリアルとは、バーチャル空間において、球面を含むCG物体のレンダリング規則を定めるプログラム及び設定データ群である。アンリットマテリアルは、照明無効の場合(ライティングがない場合)の一般的なレンダリング規則を定めるプログラム等である。最前面マテリアルは、ユーザ100の視点位置との間の距離に依存することなく常に映像を表示するために、当該映像に他の映像を上書きしないように、全ての映像のうち当該映像(本発明の実施形態では再生360度映像)を最前面に表示する場合のレンダリング規則を定めるプログラム等である。
マテリアル変更部15は、初期設定として、マテリアル記録部14からアンリットマテリアルを読み出し、アンリットマテリアルを当該球型オブジェクト3に設定する。
マテリアル変更部15は、状態管理部12から、アンリットマテリアルまたは最前面マテリアルを示す制御信号を入力する。
マテリアル変更部15は、アンリットマテリアルを示す制御信号を入力すると、マテリアル記録部14からアンリットマテリアルを読み出すことで、マテリアルをアンリットマテリアルに変更する。一方、マテリアル変更部15は、最前面マテリアルを示す制御信号を入力すると、マテリアル記録部14から最前面マテリアルを読み出すことで、マテリアルを最前面マテリアルに変更する。
マテリアル変更部15は、変更したアンリットマテリアルまたは最前面マテリアルを当該球型オブジェクト3に設定する。これにより、アンリットマテリアルまたは最前面マテリアルが、当該球型オブジェクト3に設定される。
360度映像記録部16には、当該球型オブジェクト3の360度映像が記録されている。
映像再生制御部17は、初期設定として、360度映像記録部16から360度映像を読み出し、360度映像の再生を最初から開始し、冒頭フレームにて再生を一時停止することで頭出しし、再生時刻を冒頭フレームの時刻に設定し、360度映像の再生状態を一時停止中とする。そして、映像再生制御部17は、一時停止中の再生状態を状態管理部12に出力する。この場合、状態管理部12は、初期設定として、映像再生制御部17から一時停止中の再生状態を入力すると、トランジションの状態を待機S1に設定する。
また、映像再生制御部17は、360度映像を静止画抽出部18に出力する。これにより、静止画抽出部18において、360度映像から冒頭フレームが静止画として抽出される。
映像再生制御部17は、状態管理部12から、360度映像の開始、360度映像の頭出しまたは360度映像の終了を示す制御信号を入力する。
映像再生制御部17は、360度映像の再生を示す制御信号を入力すると、冒頭フレームにて一時停止中の360度映像の再生を行い、360度映像の再生状態を再生中とする。そして、映像再生制御部17は、再生中の再生状態を状態管理部12に出力する。また、映像再生制御部17は、再生された360度映像を再生360度映像として映像選択部19に出力する。
映像再生制御部17は、360度映像の頭出しを示す制御信号を入力すると、360度映像の再生を最初から開始し、冒頭フレームにて再生を一時停止することで頭出しし、再生時刻を冒頭フレームの時刻に設定し、360度映像の再生状態を一時停止中とする。そして、映像再生制御部17は、一時停止中の再生状態を状態管理部12に出力し、360度映像の冒頭フレームを再生360度映像の冒頭フレームとして映像選択部19に出力する。
映像再生制御部17は、360度映像の終了を示す制御信号を入力すると、再生360度映像を映像選択部19に出力しないようにする。これにより、映像選択部19は、静止画抽出部18からの静止画のみを入力することとなる。
映像再生制御部17は、360度映像の再生が完了したときに、360度映像の再生状態を再生完了とし、再生完了の再生状態を状態管理部12に出力する。また、映像再生制御部17は、360度映像が未再生のときに、360度映像の再生状態を未再生とし、未再生の再生状態を状態管理部12に出力する。さらに、映像再生制御部17は、現在の再生時刻等の再生状態を状態管理部12に出力する。
静止画抽出部18は、映像再生制御部17から360度映像を入力し、360度映像から冒頭フレームを抽出し、冒頭フレームを静止画として映像選択部19に出力する。静止画抽出部18において、360度映像が入力されなくなったとしても、静止画の出力状態は保持される。これにより、映像選択部19において、静止画は常に入力されている状態となる。
映像選択部19は、静止画抽出部18から静止画を入力し、映像再生制御部17から再生360度映像を入力する。
映像選択部19は、静止画を入力しており、再生360度映像(再生360度映像の冒頭フレーム等を含む)を入力していない場合、静止画を示す球型映像を選択して当該球型オブジェクト3に設定する。これにより、ユーザ100から当該球型オブジェクト3を見ると、当該球型オブジェクト3はアイコン球として機能することとなる。つまり、レンダラ6により、当該球型オブジェクト3がレンダリングされることで、アイコン球に(アイコン101の球の内側に)静止画のサムネイルが表示される。
映像選択部19は、静止画を入力しており、再生360度映像を入力している場合、再生360度映像を示す球型映像を選択して当該球型オブジェクト3に設定する。これにより、ユーザ100から当該球型オブジェクト3を見ると、当該球型オブジェクト3はスクリーン球として機能することとなる。つまり、レンダラ6により、当該球型オブジェクト3がレンダリングされることで、スクリーン球に再生360度映像(再生された360度映像)が表示される。
他オブジェクト表示制御部20は、初期設定として、当該球型オブジェクト3以外のオブジェクト(他の球型オブジェクト3及び3DCGオブジェクト4)のそれぞれについて、表示を示す表示可否情報を設定する。これにより、全ての球型オブジェクト3及び3DCGオブジェクト4のそれぞれについて、初期設定として、表示を示す表示可否情報が設定される。
他オブジェクト表示制御部20は、状態管理部12から、当該球型オブジェクト3以外のオブジェクト(他の球型オブジェクト3及び3DCGオブジェクト4)のそれぞれについて、表示または非表示を示す制御信号を入力する。
他オブジェクト表示制御部20は、当該球型オブジェクト3以外のオブジェクトについての表示を示す制御信号を入力すると、表示を示す表示可否情報を、当該球型オブジェクト3以外のオブジェクトに設定する。他オブジェクト表示制御部20は、当該球型オブジェクト3以外のオブジェクトについての非表示を示す制御信号を入力すると、非表示を示す表示可否情報を、当該球型オブジェクト3以外のオブジェクトに設定する。
(状態管理部12の処理例)
次に、図3に示した状態管理部12の処理について詳細に説明する。図5は、状態管理部12の処理例を示すフローチャートである。
状態管理部12は、映像再生制御部17から、初期設定としての一時停止中の再生状態を入力すると、トランジションの状態SSを待機S1に設定する(ステップS501)。この場合、距離算出部10から入力したユーザ100の視点位置と球型オブジェクト3の位置との間の距離distance(t)が、予め設定されたトランジション開始閾値dist_th_inよりも大きい(長い)ものとする。
この待機S1の状態SSは、図14(1)及び(2)、並びに図16(1)及び(2)に示したとおり、ユーザ100が、アイコン101からトランジション開始閾値dist_th_in以上離れていることを示している。
トランジションの状態SSが待機S1の場合、当該球型オブジェクト3には、拡大縮小率scale_magni(t)=1.0である当該球型オブジェクト3の大きさ、静止画を示す球型映像、アンリットマテリアル、表示を示す表示可否情報等が設定される。その他の球型オブジェクト3も同様である。また、3DCGオブジェクト4には、表示を示す表示可否情報等が設定される。
ここで、レンダラ6は、カメラオブジェクト5に設定されたユーザ100の位置及び視点の方向に基づき、バーチャルカメラが撮影している範囲内の球型オブジェクト3等を特定する。そして、レンダラ6は、特定された球型オブジェクト3について、球面の内側に静止画を張り付け、カリングにより球面の外側を対象外とし内側のみを対象として、ユーザ100の視点位置及び視線方向にてレンダリングすることで、ユーザ100の視点から見た(アイコン球の内側に静止画を張り付けた)アイコン球のサムネイルであるアイコン101の映像を生成する。
また、レンダラ6は、バーチャルカメラが撮影している範囲内の3DCGオブジェクト4等を含む3DCGモデルオブジェクトをレンダリングすることで、3DCGモデル映像を生成する。そして、レンダラ6は、アイコン球のサムネイルであるアイコン101の映像及び3DCGモデル映像を結合することで表示映像を生成して表示装置7に出力する。
これにより、図14(1)及び(2)、並びに図16(1)及び(2)に示したように、サムネイルのアイコン101を含む3DCGモデル映像が表示される。
状態管理部12は、距離算出部10から入力したユーザ100の視点位置と球型オブジェクト3の位置との間の距離distance(t)が、予め設定されたトランジション開始閾値dist_th_inよりも小さい(短い)か否かを判定する(ステップS502、distance(t)<dist_th_in)。
状態管理部12は、ステップS502において、距離distance(t)がトランジション開始閾値dist_th_inよりも小さくないと判定した場合(ステップS502:N)、一定時間経過後(t←t+1)に(ステップS503)、ステップS502へ移行する。
状態管理部12は、ステップS502において、距離distance(t)がトランジション開始閾値dist_th_inよりも小さいと判定した場合(ステップS502:Y)、トランジションの状態SSを拡大中S2に設定し(ステップS504)、拡大中処理を行う(ステップS505)。これにより、トランジションが開始し、スクリーン球の拡大が開始する。スクリーン球は、アイコン球と同じサイズから徐々に大きくなる。つまり、3DCGモデル映像の世界から360度映像の世界へ移行したときの見た目の連続性を実現することができる。
この拡大中S2の状態SSにおいては、図14(3)、図15(4)及び(5)、図17(3)及び(4)、並びに図18(5)に示したとおり、ユーザ100は、アイコン101からトランジション開始閾値dist_th_inよりも近くにいる。後述する拡大済みS3、縮小中S4及び縮小済みS5の状態SSにおいても、ユーザ100は、アイコン101からトランジション開始閾値dist_th_inよりも近くにいる。
図6は、拡大中処理(ステップS505)の例を示すフローチャートである。状態管理部12は、図5に示したステップS504からステップS505へ移行すると、拡大中処理において、360度映像の開始を示す制御信号を生成し、当該制御信号を映像再生制御部17に出力する(ステップS601)。
これにより、映像再生制御部17において、冒頭フレームにて一時停止中の360度映像が再生され、映像選択部19により、再生360度映像を示す球型映像が当該球型オブジェクト3に設定される。
状態管理部12は、最前面マテリアルを示す制御信号を生成し、当該制御信号をマテリアル変更部15に出力する(ステップS602)。
これにより、マテリアル変更部15において、アンリットマテリアルから最前面マテリアルに変更され、最前面マテリアルが当該球型オブジェクト3に設定される。
状態管理部12は、拡大を示す制御信号を生成し、当該制御信号を拡大縮小部13に出力する(ステップS603)。
これにより、拡大縮小部13において、当該球型オブジェクト3のスクリーン球の半径が時間の経過と共に徐々に大きくなるように、拡大縮小率scale_magni(t)が算出され、当該球型オブジェクト3の大きさとして当該球型オブジェクト3に設定される。
状態管理部12は、他のオブジェクトである当該球型オブジェクト3以外のオブジェクト(他の球型オブジェクト3及び3DCGオブジェクト4)のそれぞれについて、非表示を示す制御信号を生成し、当該制御信号を他オブジェクト表示制御部20に出力する(ステップS604)。
これにより、他オブジェクト表示制御部20において、非表示を示す表示可否情報が他のオブジェクトに設定される。
このように、当該球型オブジェクト3のトランジションが拡大中S2の状態SSの場合に、前述のデータが当該球型オブジェクト3及び他のオブジェクトに設定される。そして、レンダラ6により、表示を示す表示可否情報が設定された当該球型オブジェクト3のみのレンダリングが行われ、図14(3)、図15(4)及び(5)、図17(3)及び(4)、並びに図18(5)に示したように、徐々に拡大される再生360度映像が表示装置7に表示される。
ここで、レンダラ6は、当該球型オブジェクト3について、球面の内側に再生360度映像を張り付け、ユーザ100の視点位置及び視線方向にてレンダリングすることで、当該球型オブジェクト3に設定された大きさに応じて時間の経過と共に大きくなり、かつ当該球型オブジェクト3に設定された最前面マテリアルに従い最前面に表示されるスクリーン球の映像を生成する。
また、レンダラ6は、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3以外の球型オブジェクト3について、非表示を示す表示可否情報が設定されているため、レンダリングを行わない。バーチャルカメラが撮影している範囲内の3DCGオブジェクト4についても同様である。
レンダラ6は、スクリーン球の映像を含み、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3以外の球型オブジェクト3及び3DCGオブジェクト4の映像を含まず、当該スクリーン球の映像が最前面に表示される表示映像を生成して表示装置7に出力する。
つまり、当該球型オブジェクト3には最前面マテリアルが設定されているため、再生360度映像は最前面に表示され、また、3DCGオブジェクト4には非表示を示す表示可否情報が設定されているため、3DCGオブジェクト4の映像は表示されない。これにより、3DCGモデルの映像の一部が欠落したり変形したりするという欠点を補うことができる。
尚、映像再生制御部17において、360度映像の再生が完了したときの動作モードとして、ループ設定、停止設定及び終了設定のうちのいずれかが予め設定される。
映像再生制御部17は、動作モードとしてループ設定が設定されている場合、360度映像の再生が完了すると、再生時刻を冒頭フレームの時刻に設定し、当該360度映像の冒頭フレームから再生を継続し、再生360度映像を継続して映像選択部19に出力する。これにより、再生360度映像の冒頭フレームに戻ってレンダリングされ、表示装置7に表示される。
また、映像再生制御部17は、動作モードが停止設定に設定されている場合、360度映像の再生が完了すると、最終フレームにて一時停止し、再生360度映像の最終フレームを映像選択部19に出力する。これにより、再生360度映像の最終フレームがレンダリングされ、表示装置7に表示される。
また、映像再生制御部17は、動作モードが終了設定に設定されている場合、360度映像の再生が完了すると、再生完了の再生状態を状態管理部12に出力する。状態管理部12は、映像再生制御部17から再生完了の再生状態を入力すると、後述するステップS510,S511の処理を行うことなく、後述するステップS512へ移行し、トランジションの状態SSを縮小中S4に設定する。これらの処理は、状態SSが拡大済みS3のときも同様である。
図5に戻って、状態管理部12は、ステップS505の拡大中処理から移行して、拡大縮小部13から入力した拡大縮小率scale_magni(t)が予め設定された拡大完了閾値max_scale_magni以上であるか否かを判定する(ステップS506、scale_magni(t)≧max_scale_magni)。
状態管理部12は、ステップS506において、拡大縮小率scale_magni(t)が拡大完了閾値max_scale_magniよりも小さいと判定した場合(ステップS506:N)、一定時間経過後(t←t+1)に(ステップS507)、ステップS506へ移行する。
状態管理部12は、ステップS506において、拡大縮小率scale_magni(t)が拡大完了閾値max_scale_magni以上であると判定した場合(ステップS506:Y)、トランジションの状態SSを拡大済みS3に設定し(ステップS508)、拡大済み処理を行う(ステップS509)。これにより、スクリーン球の拡大が終了する。
図7は、拡大済み処理(ステップS509)の例を示すフローチャートである。状態管理部12は、図5に示したステップS508からステップS509へ移行すると、拡大済み処理において、拡大停止を示す制御信号を生成し、当該制御信号を拡大縮小部13に出力する(ステップS701)。
これにより、拡大縮小部13において、当該球型オブジェクト3のスクリーン球の半径が時間の経過と共に徐々に大きくなる処理が停止され、拡大縮小率scale_magni(t)が一定値となる。そして、この一定値である拡大縮小率scale_magni(t)が当該球型オブジェクト3の大きさとして当該球型オブジェクト3に設定される。
このように、当該球型オブジェクト3のトランジションが拡大済みS3の状態SSの場合に、一定値の拡大縮小率scale_magni(t)が当該球型オブジェクト3の大きさとして当該球型オブジェクト3に設定されるため、レンダラ6により、拡大済みの再生360度映像が表示装置7に表示される。
ここで、レンダラ6は、当該球型オブジェクト3について、球面の内側に再生360度映像を張り付け、ユーザ100の視点位置及び視線方向にてレンダリングすることで、当該球型オブジェクト3に設定された一定値の大きさであり、かつ当該球型オブジェクト3に設定された最前面マテリアルに従い最前面に表示されるスクリーン球の映像を生成する。
また、レンダラ6は、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3以外の球型オブジェクト3について、非表示を示す表示可否情報が設定されているため、レンダリングを行わない。バーチャルカメラが撮影している範囲内の3DCGオブジェクト4についても同様である。
レンダラ6は、拡大が完了したスクリーン球の映像を含み、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3以外の球型オブジェクト3及び3DCGオブジェクト4の映像を含まず、当該スクリーン球の映像が最前面に表示される表示映像を生成して表示装置7に出力する。
つまり、拡大中S2の状態SSの場合と同様に、当該球型オブジェクト3には最前面マテリアルが設定されているため、再生360度映像は最前面に表示され、また、3DCGオブジェクト4には非表示を示す表示可否情報が設定されているため、3DCGオブジェクト4の映像は表示されない。これにより、3DCGモデルの映像の一部が欠落したり変形したりするという欠点を補うことができる。
図5に戻って、状態管理部12は、ステップS509の拡大済み処理から移行して、キー入力部11からキー制御信号が入力されたか否かを判定する(ステップS510)。このキー制御信号は、ユーザ100がコントローラを用いて、状態SSを拡大済みS3から縮小中S4へ遷移させるためのキー操作を行ったときに、キー入力部11から出力される信号である。
状態管理部12は、ステップS510において、キー制御信号を入力していないと判定した場合(ステップS510:N)、一定時間経過後(t←t+1)に(ステップS511)、ステップS510へ移行する。
状態管理部12は、ステップS510において、キー制御信号を入力したと判定した場合(ステップS510:Y)、トランジションの状態SSを縮小中S4に設定し(ステップS512)、縮小中処理を行う(ステップS513)。これにより、スクリーン球の縮小が開始する。
図8は、縮小中処理(ステップS513)の例を示すフローチャートである。状態管理部12は、図5に示したステップS512からステップS513へ移行すると、縮小中処理において、360度映像の頭出しを示す制御信号を生成し、当該制御信号を映像再生制御部17に出力する(ステップS801)。
これにより、映像再生制御部17において、360度映像の再生が最初から開始され、冒頭フレームで一時停止して頭出しが行われ、映像選択部19により、再生360度映像の冒頭フレームの球型映像が当該球型オブジェクト3に設定される。
状態管理部12は、縮小を示す制御信号を生成し、当該制御信号を拡大縮小部13に出力する(ステップS802)。
これにより、拡大縮小部13において、当該球型オブジェクト3のスクリーン球の半径が時間の経過と共に徐々に小さくなるように、拡大縮小率scale_magni(t)が算出され、当該球型オブジェクト3の大きさとして当該球型オブジェクト3に設定される。
状態管理部12は、他のオブジェクトである当該球型オブジェクト3以外のオブジェクト(他の球型オブジェクト3及び3DCGオブジェクト4)のそれぞれについて、表示を示す制御信号を生成し、当該制御信号を他オブジェクト表示制御部20に出力する(ステップS803)。
これにより、他オブジェクト表示制御部20において、表示を示す表示可否情報が他のオブジェクトに設定される。
このように、当該球型オブジェクト3のトランジションが縮小中S4の状態SSの場合に、前述のデータが当該球型オブジェクト3及び他のオブジェクトに設定される。そして、カメラオブジェクト5に設定されたユーザ100の視点位置及び視線方向により特定される、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3及び他のオブジェクトについて、レンダラ6によりレンダリングが行われ、徐々に縮小する再生360度映像の冒頭フレームが表示装置7に表示されると共に、他のオブジェクトの映像が表示装置7に再表示される。
ここで、レンダラ6は、当該球型オブジェクト3について、球面の内側に再生360度映像の冒頭フレームを張り付け、ユーザ100の視点位置及び視線方向にてレンダリングすることで、当該球型オブジェクト3に設定された大きさに応じて時間の経過と共に小さくなり、かつ当該球型オブジェクト3に設定された最前面マテリアルに従い最前面に表示されるスクリーン球の映像を生成する。
また、レンダラ6は、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3以外の球型オブジェクト3について、表示を示す表示可否情報が設定されているため、レンダリングを行い、球型オブジェクト3の映像を生成する。レンダラ6は、バーチャルカメラが撮影している範囲内の3DCGオブジェクト4についても同様の処理を行い、3DCGオブジェクト4の映像を生成する。
レンダラ6は、スクリーン球の映像を含み、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3以外の球型オブジェクト3の映像及び3DCGオブジェクト4の映像を含み、当該スクリーン球の映像が最前面に表示される表示映像を生成して表示装置7に出力する。つまり、拡大中S2及び拡大済みS3の状態SSの場合と同様に、当該球型オブジェクト3には最前面マテリアルが設定されているため、再生360度映像は最前面に表示される。
図5に戻って、状態管理部12は、ステップS513の縮小中処理から移行して、拡大縮小部13から入力した拡大縮小率scale_magni(t)が予め設定された値1.0よりも小さいか否かを判定する(ステップS514、scale_magni(t)<1.0)。
尚、予め設定された値1.0の代わりに、値1.0以外の予め設定された縮小完了閾値min_scale_magniを用いるようにしてもよい。この場合、状態管理部12は、ステップS514において、拡大縮小率scale_magni(t)が予め設定された縮小完了閾値min_scale_magniよりも小さいか否かを判定する。
状態管理部12は、ステップS514において、拡大縮小率scale_magni(t)が1.0よりも小さくないと判定した場合(ステップS514:N)、一定時間経過後(t←t+1)に(ステップS515)、ステップS514へ移行する。
状態管理部12は、ステップS514において、拡大縮小率scale_magni(t)が1.0よりも小さいと判定した場合(ステップS514:Y)、トランジションの状態SSを縮小済みS5に設定し(ステップS516)、縮小済み処理を行う(ステップS517)。これにより、スクリーン球の縮小が完了し、トランジションの状態SSが待機S1のときのアイコン球とほぼ同じ大きさとなる。つまり、360度映像の世界から3DCGモデル映像の世界へ移行したときの見た目の連続性を実現することができる。
図9は、縮小済み処理(ステップS517)の例を示すフローチャートである。状態管理部12は、図5に示したステップS516からステップS517へ移行すると、縮小済み処理において、縮小停止を示す制御信号を生成し、当該制御信号を拡大縮小部13に出力する(ステップS901)。
これにより、拡大縮小部13において、当該球型オブジェクト3のスクリーン球の半径が時間の経過と共に徐々に小さくなる処理が停止され、拡大縮小率scale_magni(t)が1.0よりも小さい値にて一定値となる。そして、この1.0よりも小さい一定値である拡大縮小率scale_magni(t)が当該球型オブジェクト3の大きさとして当該球型オブジェクト3に設定される。
状態管理部12は、360度映像の終了を示す制御信号を生成し、当該制御信号を映像再生制御部17に出力する(ステップS902)。
これにより、映像再生制御部17において、再生360度映像の冒頭フレームの出力が停止され(出力がなくなり)、映像選択部19により、サムネイルの球型映像が当該球型オブジェクト3に設定される。
状態管理部12は、アンリットマテリアルを示す制御信号を生成し、当該制御信号をマテリアル変更部15に出力する(ステップS903)。
これにより、マテリアル変更部15において、最前面マテリアルからアンリットマテリアルに変更され、最前面マテリアルの適用が解除されたアンリットマテリアルが当該球型オブジェクト3に設定される。
このように、当該球型オブジェクト3のトランジションが縮小済みS5の状態SSの場合に、表示装置7には、徐々に縮小するスクリーン球における再生360度映像の冒頭フレームの表示から抜けて、スクリーン球の半径がアイコン球よりも小さくなると、スクリーン球からアイコン球に代わり、サムネイルが表示される。
ここで、レンダラ6は、カメラオブジェクト5に設定されたユーザ100の位置及び視点の方向に基づき、バーチャルカメラが撮影している範囲内の当該球型オブジェクト3等を、カリングによりレンダリングすることで、ユーザ100の視点から見たアイコン球の内側に静止画を張り付けたアイコン101の映像(サムネイルの球型映像)を生成する。
また、レンダラ6は、バーチャルカメラが撮影している範囲内の3DCGオブジェクト4等を含む3DCGモデルオブジェクトをレンダリングすることで、3DCGモデル映像を生成する。そして、レンダラ6は、アイコン101の映像及び3DCGモデル映像を結合することで表示映像を生成し、表示映像を表示装置7に出力する。
図5に戻って、状態管理部12は、ステップS517の縮小済み処理から移行して、距離算出部10から入力した距離distance(t)が、予め設定されたトランジション完了閾値dist_th_outよりも大きい(長い)か否かを判定する(ステップS518、distance(t)>dist_th_out)。
状態管理部12は、ステップS518において、距離distance(t)がトランジション完了閾値dist_th_outよりも大きくないと判定した場合(ステップS518:N)、一定時間経過後(t←t+1)に(ステップS519)、ステップS518へ移行する。
状態管理部12は、ステップS518において、距離distance(t)がトランジション完了閾値dist_th_outよりも大きいと判定した場合(ステップS518:Y)、ステップS501へ移行し、トランジションの状態SSを待機S1に設定する。これにより、トランジションが終了する。
以上のように、本発明の実施形態の映像表示処理装置1によれば、状態管理部12は、当該球型オブジェクト3のトランジションの状態SS(待機S1、拡大中S2、拡大済みS3、縮小中S4及び縮小済みS5)を管理し、トランジションの状態SSに応じた制御信号を生成して拡大縮小部13、マテリアル変更部15、映像再生制御部17及び他オブジェクト表示制御部20に出力する。
具体的には、状態管理部12は、距離distance(t)がトランジション開始閾値dist_th_inよりも小さくないと判定した場合、ユーザ100がアイコン101の球内に入っていないと判断し、トランジションの状態SSを待機S1に保持する。
この場合、当該球型オブジェクト3には、初期設定として、大きさである拡大縮小率scale_magni(t)=1、静止画を示す球型映像及びアンリットマテリアル等が設定され、他のオブジェクトには、表示を示す表示可否情報等が設定される。
これにより、サムネイルのアイコン101を含む3DCGモデル映像が表示される。また、アイコン101には、ユーザ100の視点から見たアイコン球の内側に360度映像の冒頭フレームの一部がサムネイルとして張り付けられているため、ユーザ100がアイコン101に近づけば近づくほど、ユーザ100から見たアイコン101の表示と、外界の3DCGモデル映像の表示とが幾何学的に一致することとなる。
また、状態管理部12は、距離distance(t)がトランジション開始閾値dist_th_inよりも小さいと判定した場合、ユーザ100がアイコン101の球内に入ったと判断し、トランジションの状態SSを待機S1から拡大中S2へ遷移させる。そして、状態管理部12は、360度映像の開始を示す制御信号、最前面マテリアルを示す制御信号、拡大を示す制御信号及び他のオブジェクトの非表示を示す制御信号を生成して出力する。
この場合、当該球型オブジェクト3には、徐々に大きくなる拡大縮小率scale_magni(t)が大きさとして設定されると共に、再生360度映像を示す球型映像及び最前面マテリアル等が設定され、他のオブジェクトには、非表示を示す表示可否情報等が設定される。
これにより、当該球型オブジェクト3には最前面マテリアルが設定されているため、再生360度映像は最前面に表示され、また、他の球型オブジェクト3及び3DCGオブジェクト4には非表示を示す表示可否情報が設定されているため、他の球型オブジェクト3及び3DCGオブジェクト4の映像は表示されない。これにより、3DCGモデルの映像の一部が欠落したり変形したりするという欠点を補うことができる。
また、状態管理部12は、拡大縮小率scale_magni(t)が拡大完了閾値max_scale_magni以上であると判定した場合、スクリーン球の拡大が完了したと判断し、トランジションの状態SSを拡大中S2から拡大済みS3へ遷移させる。そして、状態管理部12は、拡大停止を示す制御信号を生成して出力する。
これにより、再生360度映像の拡大が完了し、拡大中S2へ遷移した場合と同様に、3DCGモデルの映像の一部が欠落したり変形したりするという欠点を補うことができる。
また、状態管理部12は、ユーザ100のキー操作があり、キー制御信号を入力したと判定した場合、トランジションの状態SSを拡大済みS3から縮小中S4へ遷移させる。そして、状態管理部12は、360度映像の頭出しを示す制御信号、縮小を示す制御信号及び他のオブジェクトの表示を示す制御信号を生成して出力する。
この場合、当該球型オブジェクト3には、徐々に小さくなる拡大縮小率scale_magni(t)が大きさとして設定されると共に、再生360度映像の冒頭フレームの球型映像等が設定され、他のオブジェクトには、表示を示す表示可否情報等が設定される。
これにより、当該球型オブジェクト3の再生360度映像の冒頭フレームが徐々に小さくなるように表示されると共に、他のオブジェクトの映像も表示される。また、拡大中S2及び拡大済みS3の場合と同様に、当該球型オブジェクト3には最前面マテリアルが設定されているため、再生360度映像は最前面に表示され、他のオブジェクト及び360度映像が重複することがない。
また、状態管理部12は、拡大縮小率scale_magni(t)が1.0よりも小さいと判定した場合、スクリーン球の縮小が完了したと判断し、トランジションの状態SSを縮小中S4から縮小済みS5へ遷移させる。そして、状態管理部12は、縮小停止を示す制御信号、360度映像の終了を示す制御信号及びアンリットマテリアルを示す制御信号を生成して出力する。
この場合、当該球型オブジェクト3には、1.0よりも小さい値のscale_magni(t)が大きさとして設定されると共に、静止画を示す球型映像及びアンリットマテリアル等が設定される。
これにより、スクリーン球からアイコン球に代わり、サムネイルが表示される。また、当該球型オブジェクト3にはアンリットマテリアルが設定されているため、ユーザ100の視点からの距離に応じて、サムネイル及び他のオブジェクトの映像が表示される。
また、状態管理部12は、距離distance(t)がトランジション完了閾値dist_th_outよりも大きいと判定した場合、ユーザ100がアイコン101の球内から出たと判断し、トランジションの状態SSを縮小済みS5から待機S1へ遷移させる。
このように、3DCGモデル映像の世界において、360度映像の撮影位置に、360度映像の球を配置し、ユーザ100の視点から見たアイコン球の内側に360度映像の冒頭フレームの一部がサムネイルとして張り付けられるため、アイコン球に近づくことで、6DoFの世界及び3DoFの世界の見た目が幾何学的に一致することとなる。
トランジションの状態SSが拡大中S2のときに、視界の全てが、スクリーン球に徐々に覆われるようになるため、3DCGモデル映像及び360度映像の重複、並びに3DCGモデル映像の欠落の心配はない。
そして、拡大中S2、拡大済みS3及び縮小中S4のときには、360度映像について最前面マテリアルが適用されるため、3DCGモデル映像がスクリーン球の手前に表示されることがなく、3DCGモデル映像及び360度映像が重複することがない。
さらに、拡大中S2及び拡大済みS3のときには、3DCGモデル映像について非表示を示す表示可否情報が設定されており、縮小中S4、縮小済みS5及び待機S1のときに、3DCGモデル映像について表示を示す表示可否情報が設定されているため、縮小中のスクリーン球以外及び縮小完了後のアイコン球以外の個所に3DCGモデル映像が表示されることとなり、3DCGモデル映像が見えなくなるという不安が解消される。
また、ユーザ100がアイコン101に近づくと、アイコン球の内部の見た目(サムネイル)が、その後ろの3DCGモデル映像と幾何学的に重なってくる。また、拡大中S2へ遷移してトランジションが開始すると、360度映像のサムネイルの代わりに連続的な動画が表示されるようになる。また、トランジションの状態SSは、連続的に待機S1、拡大中S2、拡大済みS3、縮小中S4及び縮小済みS5へ遷移するため、見た目の連続性を実現することができる。縮小済みS5へ遷移したときも、ユーザ100はアイコン101の近くに存在すると考えられるため、ユーザ100は、見た目において360度映像の世界から3DCGモデル映像の世界へ戻ることができる。
また、アイコン101を、非現実的な球状をした直感的なデザインの物体として中空に存在させることで、ユーザ100は、何らかのインタラクションを期待するアフォーダンスを持つことができる。また、360度映像の冒頭フレームをアイコンのサムネイルとして用いるようにしたため、ユーザ100は、その映像の内容を容易に認識することができる。
したがって、フォトグラメトリーによる3DCGモデルの映像及び360度映像を相補的に提示することで、3DCGモデルの映像の一部が欠落等するという欠点を補うことができる。また、両映像を幾何学的に一致させ、見た目の連続性を実現することができる。
〔トランジション機能部2の他の例/第1の変形例〕
次に、図3に示したトランジション機能部2の他の例(第1の変形例)について説明する。図10は、トランジション機能部2の構成例における第1の変形例を示すブロック図である。
このトランジション機能部2’は、距離算出部10、キー入力部11、状態管理部12、拡大縮小部13’、マテリアル記録部14、マテリアル変更部15、360度映像記録部16、映像再生制御部17、静止画抽出部18、映像選択部19、他オブジェクト表示制御部20、音声記録部21及び音声選択部22を備えている。
図3に示したトランジション機能部2とこのトランジション機能部2’とを比較すると、両トランジション機能部2,2’は、距離算出部10、キー入力部11、状態管理部12、マテリアル記録部14、マテリアル変更部15、360度映像記録部16、映像再生制御部17、静止画抽出部18、映像選択部19及び他オブジェクト表示制御部20を備えている点で共通する。
これに対し、トランジション機能部2’は、トランジション機能部2に備えた拡大縮小部13とは異なる拡大縮小部13’を備え、さらに、音声記録部21及び音声選択部22を備えている点でトランジション機能部2と相違する。図10において、図3と共通する部分には図3と同一の符号を付し、その詳しい説明は省略する。
拡大縮小部13’は、図3に示した拡大縮小部13と同様の処理を行い、さらに、拡大縮小率scale_magni(t)を当該球型オブジェクト3の大きさとして、音声選択部22に出力する。
音声選択部22は、拡大縮小部13’から、当該球型オブジェクト3の大きさである拡大縮小率scale_magni(t)を入力する。
音声選択部22は、一定値を継続していた拡大縮小率scale_magni(t)が当該一定値よりも大きい値に変化した場合、スクリーン球の拡大が開始したと判断し(トランジションの状態SSが待機S1から拡大中S2へ遷移したと判断し)、音声記録部21から拡大開始時の効果音(SE:Sound Effect)を読み出すことで、拡大開始時の効果音を選択し、当該効果音を示す音声情報を当該球型オブジェクト3に設定する。
また、音声選択部22は、一定値を継続していた拡大縮小率scale_magni(t)が当該一定値よりも小さい値に変化した場合、スクリーン球の縮小が開始したと判断し(トランジションの状態SSが拡大済みS3から縮小中S4へ遷移したと判断し)、音声記録部21から縮小開始時の効果音を読み出すことで、縮小開始時の効果音を選択し、当該効果音を示す音声情報を当該球型オブジェクト3に設定する。
音声記録部21には、スクリーン球の拡大が開始したときの(拡大開始時の)効果音、及びスクリーン球の縮小が開始したときの(縮小開始時の)効果音が記録されている。
この場合、レンダラ6は、球型オブジェクト3に設定された音声情報に従って、当該音声情報の示す効果音を再生する。
以上のように、本発明の実施形態の映像表示処理装置1によれば、トランジション機能部2’の音声選択部22は、トランジションの状態SSが待機S1から拡大中S2へ遷移したときに、スクリーン球の拡大が開始したことを示す効果音を選択し、当該効果音を示す音声情報を当該球型オブジェクト3に設定する。また、音声選択部22は、トランジションの状態SSが拡大済みS3から縮小中S4へ遷移したときに、スクリーン球の縮小が開始したことを示す効果音を選択し、当該効果音を示す音声情報を当該球型オブジェクト3に設定する。これにより、レンダラ6がこの効果音を再生することで、ユーザ100は、スクリーン球の変化を効果音により認識することができる。
このように、図3に示したトランジション機能部2と同様に、フォトグラメトリーによる3DCGモデルの映像及び360度映像を相補的に提示することで、3DCGモデルの映像の一部が欠落等するという欠点を補い、かつ、両映像を幾何学的に一致させ、見た目の連続性を実現することができる。さらに、360度映像のスクリーン球の拡大中及び縮小中における一瞬歪むような見た目の違和感を、効果音により低減することができる。
尚、音声記録部21には、スクリーン球の拡大開始時の効果音、及びスクリーン球の縮小開始時の効果音が記録されるようにしたが、これ以外のときの効果音(無音を含む)も記録されるようにしてもよい。例えば、音声記録部21には、トランジションの状態SSが遷移する毎の異なる効果音が記録されているようにしてもよい。また、音声記録部21には、トランジションの状態SS毎の異なる効果音が記録されているようにしてもよい。この場合、音声選択部22は、トランジションの状態SSの遷移または状態SSを判断すると、音声記録部21から状態SSの遷移または状態SSに対応する効果音を読み出すことで、効果音を選択し、当該効果音の音声情報を当該球型オブジェクト3に設定する。これにより、ユーザ100は、トランジションの状態SSの遷移または状態SS自体を効果音により認識することができる。
〔トランジション機能部2の他の例/第2の変形例〕
次に、図3に示したトランジション機能部2の他の例(第2の変形例)について説明する。図11は、トランジション機能部2の構成例における第2の変形例を示すブロック図である。
このトランジション機能部2”は、距離算出部10、キー入力部11、状態管理部12’、拡大縮小部13’、マテリアル記録部14、マテリアル変更部15、360度映像記録部16、映像再生制御部17、静止画抽出部18、映像選択部19、他オブジェクト表示制御部20、音声記録部21、音声選択部22及び運動部23を備えている。
図10に示したトランジション機能部2’とこのトランジション機能部2”とを比較すると、両トランジション機能部2’,2”は、距離算出部10、キー入力部11、拡大縮小部13’、マテリアル記録部14、マテリアル変更部15、360度映像記録部16、映像再生制御部17、静止画抽出部18、映像選択部19、他オブジェクト表示制御部20、音声記録部21及び音声選択部22を備えている点で共通する。
これに対し、トランジション機能部2”は、トランジション機能部2’に備えた状態管理部12とは異なる状態管理部12’を備え、さらに、運動部23を備えている点でトランジション機能部2’と相違する。図11において、図10と共通する部分には図10と同一の符号を付し、その詳しい説明は省略する。
状態管理部12’は、図3及び図10に示した状態管理部12と同様の処理を行い、さらに、トランジションの状態SSが待機S1のときに、動作を示す制御信号を生成し、当該制御信号を運動部23に出力する。また、状態管理部12’は、トランジションの状態SSが待機S1以外のときに、停止を示す制御信号を生成し、当該制御信号を運動部23に出力する。
運動部23は、状態管理部12’から、動作または停止を示す制御信号を入力する。運動部23は、動作を示す制御信号を入力すると、動作を示す運動情報を当該球型オブジェクト3に設定し、停止を示す制御信号を入力すると、停止を示す運動情報を当該球型オブジェクト3に設定する。
この場合、レンダラ6は、球型オブジェクト3をレンダリングする際に、当該球型オブジェクト3に設定された運動情報が動作を示している場合、当該球型オブジェクト3のアイコン101(アイコン球)が所定速度にて上下等にゆっくりと移動するように、アイコン球の映像を含む表示映像を生成し、表示装置7に出力する。
また、レンダラ6は、球型オブジェクト3に設定された運動情報が停止である場合、当該球型オブジェクト3のアイコン101が上下等に移動する動作を停止した(停止している)アイコン球の映像を含む表示映像を生成し、表示装置7に出力する。
以上のように、本発明の実施形態の映像表示処理装置1によれば、トランジション機能部2”の運動部23は、トランジションの状態SSが待機S1のときに、アイコン101を上下等に移動させる動作の運動情報を当該球型オブジェクト3に設定し、トランジションの状態SSが待機S1以外のときに、アイコン101の移動を停止させる停止の運動情報を当該球型オブジェクト3に設定する。これにより、ユーザ100は、トランジションの状態SSが待機S1のときのバーチャル空間において、アイコン101が存在している位置を容易に認識することができる。
したがって、図10に示したトランジション機能部2’と同様の効果に加え、3DCGモデル映像の世界において、アイコン101がどこに存在しているか、また、どのような360度映像が存在しているかを容易に認識することができる。
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
例えば図11に示した第2の変形例のトランジション機能部2”は、音声記録部21、音声選択部22及び運動部23を備えているが、第3の変形例のトランジション機能部2は、音声記録部21及び音声選択部22を備えておらず、運動部23を備えるようにしてもよい。この場合、第3の変形例のトランジション機能部2は、距離算出部10、キー入力部11、状態管理部12’、拡大縮小部13、マテリアル記録部14、マテリアル変更部15、360度映像記録部16、映像再生制御部17、静止画抽出部18、映像選択部19、他オブジェクト表示制御部20及び運動部23を備えている。
尚、本発明の実施形態による映像表示処理装置1のハードウェア構成としては、通常のコンピュータを使用することができる。映像表示処理装置1は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
映像表示処理装置1に備えたトランジション機能部2-1,2-2,・・・,2-N、球型オブジェクト3-1,3-2,・・・,3-N、3DCGオブジェクト4-1,4-2,・・・,4-M等からなる3DCGモデルオブジェクト、カメラオブジェクト5、レンダラ6の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
この場合のトランジション機能部2-1,2-2,・・・,2-Nは、図3に示したトランジション機能部2だけでなく、図10に示した第1の変形例のトランジション機能部2’または図11に示した第2の変形例のトランジション機能部2”であってもよい。
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。