JP2021022032A - 合成装置、方法及びプログラム - Google Patents

合成装置、方法及びプログラム Download PDF

Info

Publication number
JP2021022032A
JP2021022032A JP2019136729A JP2019136729A JP2021022032A JP 2021022032 A JP2021022032 A JP 2021022032A JP 2019136729 A JP2019136729 A JP 2019136729A JP 2019136729 A JP2019136729 A JP 2019136729A JP 2021022032 A JP2021022032 A JP 2021022032A
Authority
JP
Japan
Prior art keywords
camera
viewpoint
subject
occlusion
determined
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.)
Granted
Application number
JP2019136729A
Other languages
English (en)
Other versions
JP7038683B2 (ja
Inventor
敬介 野中
Keisuke Nonaka
敬介 野中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2019136729A priority Critical patent/JP7038683B2/ja
Publication of JP2021022032A publication Critical patent/JP2021022032A/ja
Application granted granted Critical
Publication of JP7038683B2 publication Critical patent/JP7038683B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Image Generation (AREA)

Abstract

【課題】多視点画像を用いることで、オクルージョンが発生していたとしても、被写体を仮想視点で見た際の状態を高品質且つ効率的に合成することのできる合成装置を提供する。【解決手段】多視点画像より被写体の3次元モデルを生成する生成部1と、3次元モデルより、多視点画像の各カメラ視点での被写体の深度マップを推定する推定部2と、3次元モデルが表す被写体の表面上の空間点に関して、各カメラ視点での深度マップとの間で空間位置の整合を調べ、整合していると判定される場合及びされない場合にそれぞれオクルージョン無し及び有りである旨を紐づけることでカメラ視点ごと及び空間点ごとのオクルージョン情報を求める比較部3と、オクルージョン情報を参照して、多視点画像の各カメラ視点でのテクスチャを選択して利用することにより、指定される仮想視点において被写体を描画する描画部4と、を備える。【選択図】図2

Description

本発明は、多視点画像を用いることで、オクルージョンが発生していたとしても、被写体を仮想視点で見た際の状態を高品質且つ効率的に合成することのできる合成装置、方法及びプログラムに関する。
従来、新たな映像表現を目的として仮想的な視点から見た被写体映像を合成する、自由視点映像合成技術が数多く提案されている。その中でも、実写の映像のみから被写体の3次元コンピュータグラフィクス(3DCG、3次元CG)モデルを生成し、任意の仮想視点座標からの被写体鑑賞を可能とする方式(以下、フルモデル方式)は、少ないカメラ台数で実現可能であり、かつ視点の移動範囲に制限がないという長所をもち、広く利用されている。
ここで、フルモデル方式ではより自然な映像合成を実現するために、仮想視点と各カメラの3次元座標や方向を考慮して、近傍の(または類似の方向を向いている)カメラの映像をテクスチャとして動的に被写体3DCGに貼り付けるという方法が取られている(特許文献1)。しかしながら、複数の被写体が存在するシーンにおいて、前方の被写体によって後方の被写体の一部領域が遮蔽されてしまい、ある仮想視点において近傍カメラの映像から参照するべきテクスチャが得られず、映像合成した際に被写体の一部分が欠落するという問題がある(図1:以下、この被写体が遮蔽される現象をオクルージョン、遮蔽された領域をオクルージョン領域と呼ぶ)。なお、一般にゲームなどに用いられる3DCGモデルでは、すべてのテクスチャを予め制作しておくため本問題は発生しない。
図1は、オクルージョンにより合成映像した際の被写体の一部分が欠落することを模式的な例を用いて示す図である。撮影及び仮想視点の指定に関する状況EVに示される通り、XYZ世界座標系(XZ平面が水平であり地面とし、Y軸が垂直高さ方向とする)で指定される実世界において、実際のカメラacにより地面(XZ平面)上にある手前側の第1オブジェクトOB1(灰色の円柱)と奥側の第2オブジェクトOB2(白色の直方体)を地面上の概ね同じ高さで概ね水平に撮影しているものとする。すなわち、実際のカメラacから撮影される際に、第2オブジェクトOB2は第1オブジェクトOB1によって遮蔽されることにより、オクルージョンが発生しているものとする。
ここで、状況EVに示されるように、合成映像を得るための仮想視点が仮想カメラvcによって指定されるものとする。仮想カメラvcは、実際のカメラacよりも高い位置(+Y方向の位置)から、地面(XZ平面)上にある第2オブジェクトOB2を見下ろして撮影するようにすることで、その画角内に第2オブジェクトOB2のみを撮影するように、その位置姿勢が設定されている。従って、仮想カメラvcによる映像合成における本来の結果RVは、模式的に示される通り、第2オブジェクトOB2のレンダリング結果に関して、第2オブジェクトOB2由来の第2テクスチャTX2のみで構成されるべきものである。
しかしながら、仮想カメラvcによる合成映像に、第1オブジェクトOB1によるオクルージョンが発生している実際のカメラacによるテクスチャが利用されると、実際の結果RAとして模式的に示される通り、本来なら全て第2オブジェクトOB2由来の第2テクスチャTX2のみで構成されるべき第2オブジェクトOB2のレンダリング結果の領域の一部が、第1オブジェクトOB1の第1テクスチャTX1(オクルージョン領域をなす)によって欠落することとなる。
特開2018-163467号公報 特願2018-034847号 特開2015-045920号公報
W. N. Martin and J. K. Aggarwal, ``Volumetric Description of Objects from Multiple Views,'' IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 5, no. 2, pp. 150-158, 1983. A. Bogomjakov, C. Gotsmann, and M. Magnor, "Free-Viewpoint Video from Depth Cameras," Proc. Vision, Modeling and Visualization, pp. 89-96, 2006. J. Starck, J. Kilner and A. Hilton, "A Free-Viewpoint Video Renderer," Journal of Graphics, GPU, and Game Tools, 14:3, 57-72, 2009.
従来技術においては、オクルージョンがある際の合成映像における被写体の欠落に対して種々の対策が講じられているが、それぞれ問題になりうる点があった。
特許文献1では3DCGのオクルージョン領域の箇所においてのみ、最近傍のカメラだけではなくより離れたカメラの映像を参照することで、可能な限り被写体の欠落を防ぐ技術が提案されている。しかしながら、当該技術では、あるカメラにおけるオクルージョン領域を決定する際に、そのカメラからみたビューポートにおいて画素ごとに奥行方向に光線を飛ばし、一定間隔ごとにすべての被写体3DCGのポリゴンとの衝突判定を行うことで、前方被写体のポリゴンか否か(オクルージョン領域であるか否か)を判定しており、膨大な計算時間を要することがわかっている。そのため、上記従来技術ではリアルタイムでの自由視点映像合成などが困難であった。
非特許文献2では、デプスカメラから得られた深度情報を基にオクルージョンを決定するという方式が取られているが、映像のみを用いる場合においては対応ができず、またユーザ選択の仮想視点によらないテクスチャの貼り付けを行うため不自然な合成結果となることが想定される。
特許文献3、非特許文献3では、デプスカメラを利用することなく、被写体の概形から得られる深度情報を基に仮想視点の位置に応じた映像合成を行っている。しかしながら、特許文献3については可視であるカメラの合成の具体的な処理内容が規定されておらず、どのようにレンダリング映像の色を決めるかが明確ではない。非特許文献3ではオクルージョン領域を推定する対象となるカメラとして仮想視点の近傍カメラ群の一部(テクスチャ補間用カメラ群)を選択し、テクスチャ補間用カメラ群によるオクルージョン領域の補間を行っている。しかしながら、テクスチャ補間用カメラ群は近傍カメラ群から選択されるため、カメラ配置が近い場合には、必要なテクスチャ情報が得られず十分なオクルージョン領域の補間ができない可能性が高い。また、テクスチャ補間用カメラ群の選択には近傍カメラ群の深度情報を用いているため、近傍カメラ群の数を増やすことは結果として、リアルタイム性を損なうことにつながる。
そのため、高品質且つ効率的な自由視点映像合成を行うためは、上記近傍カメラ群に相当する「オクルージョン領域の算出対象となるカメラ(以下、参照カメラ)」をシーンに合わせて選択することが望ましいと考えられるが、非特許文献3ではこのような手法は採られていない。
以上のような従来技術の課題に鑑み、本発明は、多視点画像を用いることで、オクルージョンが発生していたとしても、被写体を仮想視点で見た際の状態を高品質且つ効率的に合成することのできる合成装置、方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明は合成装置であって、多視点画像より被写体の3次元モデルを生成する生成部と、前記3次元モデルより、前記多視点画像の各カメラ視点での、被写体の深度マップを推定する推定部と、前記3次元モデルが表す被写体の表面上の空間点に関して、前記各カメラ視点での深度マップとの間で空間位置の整合を調べ、整合していると判定される場合にはオクルージョン無しである旨を、整合していないと判定される場合にはオクルージョン無しである旨を紐づけることで、カメラ視点ごと及び空間点ごとのオクルージョン情報を求める比較部と、前記オクルージョン情報を参照して、前記多視点画像の各カメラ視点でのテクスチャを選択して利用することにより、指定される仮想視点において被写体を描画する描画部と、を備えることを特徴とする。また、当該合成装置に対応する合成方法及びプログラムであることを特徴とする。
本発明によれば、3次元モデルと各視点での深度マップとを比較して空間位置の整合を調べることによりカメラ視点ごと及び空間点ごとのオクルージョン情報を求め、このオクルージョン情報を用いて描画を行うことにより、多視点画像にオクルージョンが発生していたとしても、被写体を仮想視点で見た際の状態を高品質且つ効率的に合成することができる。
オクルージョンにより合成映像した際の被写体の一部分が欠落することを模式的な例を用いて示す図である。 一実施形態に係る合成装置の機能ブロック図である。 一実施形態に係る生成部の機能ブロック図である。 比較部における比較処理とその結果として得られるオクルージョン情報の模式例を示す図である。 式(2)によるマッピングに関連する各種のデータを模式的に示す図である。 第一実施形態及び第二実施形態で決定部によって決定されるカメラの模式例を示す図である。 第二実施形態において決定部がカメラ視点を限定されたものに決定する手法の一例をフローチャートで示す図である。 式(4)での算出における直線等の配置の模式例を示す図である。 図7のフローによる決定の例における撮影状況を示す図である。 一般的なコンピュータ装置におけるハードウェア構成を示す図である。
図2は、一実施形態に係る合成装置の機能ブロック図である。合成装置10は、生成部1、推定部2、比較部3、描画部4及び決定部5を備える。後述するように、一実施形態では合成装置10において決定部5を省略することも可能である。合成装置10はその全体的な動作として、多視点映像として構成される複数のカメラ映像を生成部1及び描画部4において読み込み、ユーザ入力等によって指定される仮想視点での自由視点映像を合成して描画部4より出力する。当該自由視点映像においては、仮想視点において見た状態にある被写体(多視点映像に撮影されている被写体)が描画されている。
説明のため、合成装置10において処理されるデータや処理の前提となるデータに関する用語(変数名)を次のように定めるものとする。入力データとしての多視点映像は複数(少なくとも2個)のN個の視点、すなわちN個のカメラ映像で構成されるものとする。i番目(1≦i≦N)のカメラをci、当該カメラciの3次元空間上の座標(世界座標)をpci=(xci,yci,zci)、当該座標pciから当該カメラciが撮影している2次元画像範囲としてのビューポート(当該カメラciの撮影している向きや画角に対応しているビューポート)をVci、ユーザ入力等で指定された仮想視点(最終的に出力される自由視点映像の視点)の座標(世界座標)をpu=(xu,yu,zu)、同様にユーザ入力等で指定されるビューポート(最終的に出力される自由視点映像における、当該視点座標puから見た向きや画角に対応しているビューポート)をVuとする。
なお、合成装置10における上記以外のデータに関する用語(変数名)も、以降の説明でその都度、定めるものとする。
合成装置10への入力としての多視点映像は、異なるカメラ視点の映像間において予め時刻同期が取られたうえで、共通のシーンが撮影されているものとする。特に言及がない限り、合成装置10における多視点映像の各時刻のフレーム(N視点の多視点画像)に対する処理は共通であるため、以下での合成装置10の各部の処理内容の説明においては、この各時刻(任意の1時刻)のN視点の多視点画像を処理の対象として説明を行う。
(生成部1)
生成部1は、入力される多視点画像より、多視点画像に撮影されている被写体の3DCGモデルを生成して、推定部2へと出力する。ここで、生成部1が出力する3DCGモデルとは、1つ以上の被写体の3次元形状情報で構成されるものであり、その表面のテクスチャ情報は含まないものである。生成部1での3DCGモデル生成には、任意の既存手法を用いてよく、例えば視体積交差法を用いてよい。
図3は、生成部1が視体積交差法を用いる場合の、一実施形態に係る生成部1の機能ブロック図である。生成部1は、パラメータ推定部11、マスク抽出部12及びモデル生成部13を備え、入力としての多視点画像はパラメータ推定部11及びマスク抽出部12において読み込まれ、モデル生成部13より3DCGモデルを出力する。
(パラメータ推定部11)
パラメータ推定部11は、ある時刻において撮影されている映像のフィールド(所定平面)の特徴的な点(コートの白線の交点など)と実際の実空間上のフィールド上の点との対応付けを行い、N視点の各々に関してカメラパラメータ(外部パラメータ及び内部パラメータ)として算出し、モデル生成部13へと出力する。例えば、多視点映像が一般的なスポーツ映像である場合は、スポーツ種別に応じたコートのサイズが規格化されているため、このサイズの情報を事前知識として利用して、画像平面上の点が実空間上(世界座標系)のどの座標に対応するかを容易に計算することが可能である。このカメラキャリブレーションは、手動のほか、任意の既存の自動キャリブレーションに関する手法を用いても行うことができる。例えば、手動の方法としては画面上の白線の交点をユーザ操作により選択し、あらかじめ測定されたフィールドモデルとの対応付をとることで、カメラパラメータを推定できる(画面に歪みがある場合は下記の通り先に内部パラメータを推定しておく)。
多視点映像において、固定カメラでの撮影を前提とした場合(すなわち、各カメラciの座標pci等が時間変化しない場合)は、パラメータ推定部11での本カメラキャリブレーションの処理は、多視点映像の任意の1時刻(例えば最初の時刻)のみに関して行い、得られたカメラパラメータを多視点映像のその他の時刻でも共通のものとして利用すればよい。また、移動カメラを前提とした場合(すなわち、各カメラciの座標pci等が時間変化する場合)は、前述の任意の既存手法の自動キャリブレーション処理により、映像の各時刻のフレーム(多視点画像)に対して処理を行うようにすればよい。
なお、3DCGの分野において数学的な関係として既知のように、パラメータ推定部11によって以上のようにして推定されたカメラパラメータを用いることで、「3次元世界座標⇔3次元カメラ座標系⇒2次元投影座標系⇒ビューポート」の変換関係(ビューイングパイプラインの関係)が取得されることから、各カメラciの座標pci及びビューポートVciを決定することができる。ここで、ビューポートVciは、カメラciで撮影した2次元画像(各々の画素位置(u,v)と画像サイズ「横w×縦h」で特定される2次元画像)に対応しており、推定されたカメラパラメータより、カメラciの位置pciから各画素位置(u,v)へ向けて、世界座標内へと逆投影する光線の情報なども算出可能となる。
なお、以上のような、パラメータ推定部11によって推定されるカメラパラメータ及びこれに関連する情報は、合成装置10内の全ての機能部において参照可能な情報として共有され、当該機能部において当該情報が必要となる処理の際に利用されるものとする。(この情報を参照する流れを表す矢印線などは、図2及び図3において描くのを省略している。)
(マスク抽出部12)
マスク抽出部12は、N視点の多視点画像の各カメラciの画像より、被写体の形状を0,1の2値マスク画像として得て、このN枚の2値マスク画像をモデル生成部13へと出力する。この2値マスク画像は、各画素位置において値0が被写体に該当しない背景、値1が被写体に該当する前景として定義され、被写体の形状(領域)を表現するものである。(なお、値0,1と前景・背景の対応付けに関しては逆の定義でもよい。)
マスク抽出部12において、2値マスクを得るための方法として、既存技術である背景差分法を用いてよい。この技術では、あらかじめ被写体のいない映像またはその平均値などの統計情報を背景統計情報として登録し、背景統計情報と対象時刻のカメラ映像との差分をとり、それに対してしきい値処理を行うことで被写体領域を抽出する。マスク抽出部12では背景差分法以外にも、機械学習を用いた人物領域抽出技術など、任意の既存技術を利用して、被写体領域を表す2値マスク画像を得るようにしてもよい。
(モデル生成部13)
モデル生成部13は、パラメータ推定部11にて推定されたN個のカメラパラメータと、マスク抽出部12にて抽出されたN個の2値マスク画像とを用いて、後段側の描画部4において自由視点映像として合成される被写体の3DCGモデルを生成し、生成部1での最終的な出力として、推定部2へと出力する。モデル生成部13では、任意の既存の自由視点映像技術(例えば前掲の特許文献1や非特許文献1)などでも利用されている、任意の既存の視体積交差法ベースの手法で3DCGモデルを生成することができる。既知のように、視体積交差法の原理は、N個の各カメラciの位置pciより対応する2値マスク画像の前景領域(シルエット)に向かって3次元逆投影を行うことで得られるN個の錐体(視体積)の共通部分として3DCGモデルを得るというものである。
以降、説明のために、モデル生成部13(生成部1)において生成された3DCGモデルをMj={v,e}とし、Mjはk(j)個の頂点vとそれらを結ぶm(j)本のエッジeにより表面形状が構成されるポリゴンモデルを想定する。ここで、各々のポリゴンモデルMjの識別子j=1,2,…,nであり、個別のオブジェクトにそれぞれ対応しているn個(n≧1)のポリゴンモデルが得られたものとする。(例えば、スポーツ映像において、複数の選手がそれぞれポリゴンモデルとして得られたものとする。)
(推定部2)
推定部2は、生成部1より得られた3DCGモデル(上記のように、ポリゴンモデルMjとして3次元世界座標で表面が定義されている)を、各カメラciの位置pciから見た際の深度マップDciを推定し、得られた深度マップDciを比較部3へと出力する。
当該深度マップDciはすなわち、次の情報で構成されるものである。説明のため、カメラciの画像PICi上の各画素位置(ui,vi)(カメラパラメータに関して前述の通り、この画素位置(ui,vi)は、ビューポートVciと対応が得られている)に対して、カメラciの位置pciより3次元逆投影による光線を飛ばし、n個のポリゴンモデルMj(j=1,2,…,n)のいずれかの表面に最初に衝突した3次元位置をs(ui,vi)とする。(従って、当該最初に衝突した位置s(ui,vi)よりも奥の側にさらに当該光線を延ばした範囲は、3DCGモデル内においてオクルージョンが発生しうる範囲となる。)深度マップDciは、各画素位置(ui,vi)に対して深度の値として、カメラの位置pciと光線の最初の衝突位置s(ui,vi)との間のユークリッド距離||pci-s(ui,vi)||2を与えたマップである。(ここで「||・||2」は引数「・」のユークリッド距離を表す。)
なお、深度マップDciのユークリッド距離の値は、対応するカメラciの画像PICiに対してマスク抽出部12で得られた2値マスクにおいて、前景として定義されているような画素位置(ui,vi)についてのみ求めるようにすればよい。背景として定義されているような画素位置(ui,vi)に関しては、光線の衝突位置s(ui,vi)を求めることができないため、深度の値なし、あるいは無限大である旨の情報を深度マップDciにおいて与えておけばよい。
推定部2での深度マップDciの推定処理は、既存のハードウェアとしてのGPU(グラフィック処理装置)と、既存のソフトウェアとしての当該GPUのプログラミングライブラリ等とを用いて、高速に行うことが可能である。
例えば、OpenGL等のレンダーバッファにデプスバッファを関連付けることで、オフスクリーンレンダリングとして当該ビューポートVciの深度情報を生成することができる。オフスクリーンレンダリングはウインドウ(表示装置としてのディスプレイ)に表示しない、GPU用のメモリ空間上の描画(レンダリング)処理のことであり、汎用GPUは3DCGレンダリング処理に最適化されていることから、極めて高速に処理が可能である。そのため、複数のオフスクリーンレンダリング(複数の見えないウインドウの3DCG描画)も可能である。上記処理により、カメラ位置pciから見た被写体の深度マップDciを取り出すことができる。なお、GPU用のメモリ空間は後述する図10でのGPU用メモリ78において構成される。なお、GPU及びGPU用メモリに代えて、又は加えて、CPU(中央演算装置)及びRAM(図10でのCPU71及びRAM73)により同様に、ディスプレイ表示させることなく深度マップDciを求めてもよい。
なお、推定部2において上記処理により得られる深度の値は一般に奥行きが深くなるにつれて急激に精度が落ちるという問題がある。この問題についてはシャドウマップと呼ばれる深度の精度低下を防ぐ既存技術を適用することができる。その他、シャドウマップ技術において既知の問題であるシャドウアクネやピーターパン現象なども発生することが懸念されるが、これらに対処する既存技術と同様のアプローチで緩和可能である。
なお、決定部5が省略される実施形態においては、推定部2は、N個の全てのカメラci(i=1,2,…,N)に関して対応する深度マップDciを求め、比較部3へと出力する。決定部5が利用される実施形態においては、後述するように決定部5ではN個の全てのカメラ視点の中から一部分のL個(L<N)のカメラ視点を決定して推定部2に出力することとなり、推定部2は当該決定された一部分のL個のカメラci'のみに関して対応する深度マップDci'を求め、比較部3へと出力する。(なお、i'は1,2,…,Nの中から決定部5で決定されたL個のインデクスのうち任意のものを表す。)
また、以下に説明する比較部3及び描画部4の処理も推定部2の処理と同様に、決定部5が省略される実施形態においてはN個全部のカメラ視点を対象として実施され、決定部5が利用される実施形態においては決定されたL個のみのカメラ視点を対象として実施される。実施される処理自体に関してはN個全部の場合と一部分のL個のみの場合とで共通であるため、比較部3及び描画部4の説明は、決定部5が省略されN個全部のカメラ視点を対象とする場合に関して説明する。
(比較部3)
比較部3は、各カメラci視点に関して、推定部2から得た深度マップDciの深度を、生成部1で得た3DCGモデルにおける対応する頂点vkの深度と比較することにより、比較結果としての各頂点vkが位置pciにあるカメラciから見えているか否かの情報(オクルージョン情報)を描画部4へと出力する。具体的には、以下の式(1)により各頂点vkに関する比較結果としてのフラグ情報flagci(vk)を得るようにすればよい。
Figure 2021022032
式(1)において、Dci(vk)は、深度マップDci内において、3DCGモデルの頂点vkに対応する画素値(深度値)を返す関数であり、具体的には、3次元世界座標で与えられる頂点vkの位置を深度マップDci上へと投影した(すなわち、ビューポートVci上へと投影した)2次元画素位置(u(vk),v(vk))を求めたうえで、この画素位置における深度値を返すようにすればよい。
なお、当該投影した2次元画素位置(u(vk),v(vk))の要素u(vk)及びv(vk)のうち少なくとも一方が、整数としての画素位置(u,v)ではない実数値の位置である場合には、画像の拡大縮小の際に用いられるのと同様の既存手法である補間処理を適用した値を、関数Dci(vk)が返すようにすればよい。例えば、最近傍補間により、実数値の位置に最も近い整数位置(u,v)での深度値を返すようにしてもよいし、線形補間により、近傍の複数の整数位置(u,v)での深度値の、実数値の位置との距離の近さに応じた重みづけ和として深度値を返すようにしてもよい。
また、式(1)において、「||・||2」は推定部2の説明で既に述べた通りユークリッド距離であり、その引数「vk-pci」は頂点vkの3次元世界座標(ベクトル値)からカメラ位置pciの3次元世界座標(ベクトル値)を減じたものである。すなわち、||vk-pci||2は、頂点vkの位置とカメラ位置pciとの間のユークリッド距離である。
さらに、式(1)において、λはユーザの設定によるオフセット値(実数値)である。λの値に特段の規定はないが、被写体3DCGモデルを生成した生成部1において、モデルの解像度を決定するボクセルのサイズなどに応じて決定してよい。例えばボクセルのサイズが1cm3(各辺1cmの立方体)であれば、1辺の半分の距離であるλ=0.5cmなどと設定することで判定誤差を吸収する。また、推定部2に関して述べたように深度の精度に応じて、精度が高い領域ではλを短く設定し、精度が低い領域ではλを長く設定することもできる。加えてλは負の値も取りうる。
すなわち、正の定数a>0,b>0を設けておき、一定範囲内のオフセット値λ(-a≦λ≦b)の全て又は少なくとも一部に関して成立する場合に、式(1)右辺の上段側の条件(「if」で示される条件)が成立するものと判定すればよい。全ての場合、式(1)右辺の上段側の条件部分は以下の式(1-1)となり、少なくとも一部の場合、式(1)右辺の上段側の条件部分は以下の式(1-2)となる。
Figure 2021022032
以上のようにして計算される式(1)のフラグ情報flagci(vk)の値が0の場合、頂点vkはカメラciから見て不可視でありオクルージョン領域にあることを意味し、値が1の場合は逆に、頂点vkはカメラciから見て可視でありオクルージョン領域にはないことを意味するものとして、このように定義されるフラグ情報flagci(vk)の形で、比較部3はオクルージョン情報として比較結果を得ることができる。すなわち、オクルージョン情報は頂点数k(各々がk(j)個の頂点を含む個別のモデルMj(j=1,2,…,n)のn個全部での頂点数k=Σk(j))、カメラ台数Nの場合にk*N個のフラグ情報として与えられることとなる。
上記のように本実施形態では、各カメラciのビューポートVci内での各画素位置についてオクルージョン情報を求めるのではなく、各カメラciで3DCGモデルを見た際の各頂点vkについてオクルージョン情報を求めるようにすることにより、比較部3において高速にオクルージョン情報を得ることができる。この際の処理は、ユークリッド距離||vk-pci||2を閾値判定によって評価するという簡素な処理であり、光線を飛ばして当該光線上の各位置やその近傍での様子を調べるといったような複雑な処理は不要であることからも、高速にオクルージョン情報を得ることができる。これは、次の式(1')の実施形態でも同様である。
あるいは、式(1)に代えて以下の式(1')でフラグ情報flagci(vk)を求めてもよい。(式(1')においても、フラグ情報の定義は式(1)の場合と同様である。)式(1')のthは判定用の正の閾値であり、式(1)のオフセットλと同様にユーザ設定で所定値を与えておけばよい。
Figure 2021022032
式(1)を用いる場合、カメラ位置pciから頂点vkまでの距離||vk-pci||2が対応する深度値Dci(vk)よりも閾値判定で大きいと判定される場合に、頂点vkは3DCGモデルの表面より奥側にあるものとして、オクルージョン有りと判定する。式(1')を用いる場合、カメラ位置pciから頂点vkまでの距離||vk-pci||2が対応する深度値Dci(vk)と閾値判定で一致すると判定される場合に、頂点vkは3DCGモデルの表面上にあるものとして、オクルージョン無しと判定する。
式(1),(1')のいずれを用いる場合も、カメラ位置pciから頂点vkまでの距離||vk-pci||2が対応する深度値Dci(vk)に整合していると判定される場合はオクルージョン無しと判定し、整合していないと判定される場合はオクルージョン有りと判定することとなる。
図4は、比較部3における比較処理とその結果として得られるオクルージョン情報の模式例を示す図である。3DCGモデル内のポリゴンgk1の1つの頂点vk1と、gk2の1つの頂点vk2とは、カメラciのビューポートVciに投影した際の位置が(偶然により)、共に(u0,v0)であったものとし、対応する共通の深度がDci(u0,v0)であったものとする。(なお、当該3DCGモデルにおけるポリゴンgk1及びgk2以外のポリゴンは描くのを省略している。)図4の例では、この深度と対応する距離との整合性の判定が、以下の通りであったことから、図中にも示される通り、頂点vk1及び頂点vk2のフラグ情報が以下に掲げるように得られる。
・Dci(u0,v0)≒||vk1-pci||2(深度と距離が概ね等しく整合する)との判定により、
flagci(vk1)=1(頂点vk1のフラグ情報は1、すなわち頂点vk1はオクルージョン無し)
・Dci(u0,v0)<||vk2-pci||2(「深度<距離」であり整合しない)との判定により、
flagci(vk2)=1(頂点vk2のフラグ情報は0、すなわち頂点vk2はオクルージョン有り)
(描画部4)
描画部4は、生成部1にて生成された3DCGモデルと、比較3部にて得られたオクルージョン情報とを用いて、ユーザ指定等により設定される仮想視点puから見たものとしての自由視点映像の各時刻のフレーム画像(自由視点画像)をレンダリング(描画)することにより、合成装置10からの出力としての合成映像の各時刻フレームを得る。描画部4では当該レンダリングの際に、前景として3DCGモデルの表面に貼り付けるテクスチャを生成部1に入力された元の多視点画像より取得して描画し、3DCGモデルの背景に関しては、マスク抽出部12で背景差分法を利用する場合に用いるのと同様の所定の背景情報を視点puから見たものとして描画すればよい。
具体的に描画部4では次のように、視点puから見た3DCGモデルの描画を行う。まず、視点puの近傍の2つのカメラを選択する。(説明のため、当該選択された2つの近傍カメラをc1,c2とする。)そして、これらカメラc1,c2の画像PIC1,PIC2よりテクスチャを取得して、各モデルMj(j=1,2,…,n)を構成している各ポリゴン(任意の1つをポリゴンgとする)へと、オクルージョン情報を考慮してマッピングする。
ここで、上記マッピングするための前処理としてのオクルージョン情報の考慮において、まず、3DCGモデルのあるポリゴンgを構成する3頂点のオクルージョン情報を用いて、当該ポリゴンの可視判定を行う。(ここでは、説明のためポリゴンgが三角ポリゴンで形成されるものとして3頂点であるものとしているが、実際にはそれぞれのポリゴンを構成する頂点数に依存し、例えば四角形ポリゴンなら4頂点となる。以下、説明例としてポリゴンgは3頂点であるものとするが、4頂点以上であっても同様に処理することが可能である。)
カメラc1に対するポリゴンgの可視判定フラグをgc1と表現する場合、ポリゴンgを構成する3頂点すべてが可視であれば(すなわち、比較部3でフラグ情報として得た3頂点のオクルージョン情報が全て「オクルージョン無し」であれば)gc1は可視、3頂点のうちいずれか1つでも不可視であれば(すなわち、比較部3でフラグ情報として得た3頂点のオクルージョン情報の少なくとも1つが「オクルージョン有り」であれば)、gc1は不可視と設定する。同様にして、カメラc2での当該ポリゴンgの可視判定フラグgc2も設定する。描画部4は、このカメラc1,c2ごとの各ポリゴンgの可視判定の結果(可視判定フラグgc1,gc2)に応じて、以下(1)、(2)、(3)のように場合分けすることでテクスチャマッピングを行う。
(1)…可視判定フラグgc1,gc2のいずれも可視である場合
以下の式(2)の通り、アルファブレンドによりマッピングを行えばよい。
Figure 2021022032
式(2)において、texturec1(g)及びtexturec2(g)はそれぞれ、ポリゴンgがカメラc1及びc2のビューポートVc1及びVc2において対応する画像領域のテクスチャであり(すなわち、元の画像PIC1及びPIC2においてポリゴンgが見えている範囲のテクスチャであり)、Hc1及びHc2はそれぞれ、これらビューポートVc1及びVc2でのテクスチャtexturec1(g)及びtexturec2(g)を、指定される仮想視点puのビューポートVuで見ている状態へと変形する平面射影変換行列である。既知のように、この平面射影変換行列はカメラパラメータ等を用いて計算することができる。
また、式(2)においてaは比率の係数であり、0<a<1の範囲で与えられ、比率a:(1-a)でテクスチャtexturec1(g)及びtexturec2(g)をアルファブレンドすることを指定するものである。この係数aは、仮想視点puとカメラ位置pc1の距離d(pu,pc1)と、仮想視点puとカメラ位置pc2の距離d(pu,pc2)と、の比率に応じたものとして、前者の距離が小さいほど(すなわち、視点puがカメラ位置pc1に近いほど)値が大きく1に近くなるものとして、この距離の比率を引数とした所定関数の返り値として求めるようにしてよい。
なお、距離d(pu,pc1)及びd(pu,pc2)に関しては、後述する決定部5での距離と同様にして、ユークリッド距離あるいは角度も考慮した距離として計算すればよい。
なお、図5に、上記説明した式(2)によるマッピングに関連する各種のデータを模式的に示す。図5にてポリゴンgは、世界座標内のボクセル格子VXを元に定義され、v1,v2,v3を3頂点とする三角ポリゴンである。ボクセル格子VX上の格子点は白丸または黒丸(○または●)で示され、前者は3DCGモデルの外部に位置し、後者は3DCGモデルの内部に位置することを表す。ポリゴンg等は、これら外部と内部の境界の表面として、3DCGモデルを表している。
(2)…可視判定フラグgc1,gc2のいずれかのみが可視である場合
当該ポリゴンgが可視であるカメラのテクスチャのみを用いてレンダリングする。すなわち式(2)において、可視であるカメラのtextureci(i=1,2のいずれか)に対応する係数a又は(1-a)の値を1とする。(c1が可視の場合a=1とし、c2が可視の場合(1-a)=1とする。)その他の形態としては、仮想視点puから見て次に近いカメラc3であってポリゴンgが可視であるものを、c1及びc2のうち不可視であるカメラの代わりとして参照する。この際、テクスチャのアルファブレンドの方法は式(2)と同様とすればよい。
(3)…可視判定フラグgc1,gc2の全てのみが不可視である場合
仮想視点puからみてカメラc1,c2の次に近いカメラc3(その判定フラグgc3が可視とする)のテクスチャを用いてレンダリングする。この際、当該可視であるカメラc3が上記の場合(2)の可視であるものに該当するとみなして、場合(2)と同様にしてもよい。次に近いカメラc3の判定フラグgc3も不可視であった場合は、さらに次に近いカメラc4,c5,…といったように順々にカメラテクスチャを参照し、最も近く且つ可視であるものを見つけたうえで同様にすればよい。
描画部4では、3DCGモデルの各ポリゴンg(仮想視点puから見える状態にあるもの)につき、以上(1)〜(3)の場合分けを行ってマッピングすることで、3DCGモデルの全体を仮想視点puで見た状態のレンダリング結果を得ることができる。
なお、以上の説明では、仮想視点puに最も近いものとして初期参照するカメラ台数を2としたが、ユーザ指定等により、2以上の任意の複数(B≧2とする)のカメラを初期参照する対象としてもよい。この際、初期参照カメラ台数Bに応じて、式(2)をB台のカメラの線形和(重みの総和が1)とする拡張(一般化)を行った以下の式(2')を利用することで、以上の説明と同様にマッピングが可能である。
Figure 2021022032
式(2')でB=2とする場合に該当する式(2)と同様に、式(2')にてwbはB個全体(あるいは場合(2)、(3)ではB'個全体)での総和が1(Σwb=1)となる重み係数であり、距離d(pu,pcb)の所定関数などを用いて、カメラcbの位置pcbが仮想視点puに近いほど大きな値として設定される。また同様に、Hcbは、カメラcbのビューポートVcbでのテクスチャtexturecb(g)を仮想視点puのビューポートVuで見ている状態へと変形する平面射影変換行列である。
なお、一般のB台の際に場合(2)、(3)に該当し、可視であるカメラが減ってB'台である(1≦B'<B)際も、式(2')と同様に、当該B'台での線形和(重みの総和が1)を用いればよい。また、全てのカメラにおいて不可視となったポリゴンgについては、テクスチャをマッピングしないようにすればよい。
(生成部1から描画部4までのまとめ)
既に述べたように合成装置10において決定部5が省略される実施形態が可能であり、この実施形態では、以上の生成部1から描画部4までの処理により、すべてのカメラ(N台)に対応するオクルージョン情報の高速な生成が可能となり、それに応じて、カメラ配置に応じた最適な参照カメラを参照することで、オクルージョンを高速且つ高品質に補間したレンダリングも可能となる。例えば、事前撮影した映像を用いたオフライン処理や、例えばN=20台程度のカメラ台数でのリアルタイム自由視点映像合成などに対応可能となる。
(決定部5)
一方で、カメラ台数Nが極めて多い場合、生成部1から描画部4までの処理ではリアルタイムでのオクルージョン情報の推定ができない可能性がある。そこで、このような場合に対処するための別の実施形態として、決定部5を追加で利用するようにしてよい。決定部5では、ユーザ指定等で設定される仮想視点puに応じて、N台全部の中から動的にオクルージョン情報を生成する対象カメラ(L<Nとして所定数L台とする)を決定して、当該L台のカメラの情報を推定部2、比較部3及び描画部4へと出力する。
推定部2、比較部3及び描画部4では、N台のカメラ全部のデータを参照対象として行っていたのと同様の処理をL台に限定されたカメラのデータに関してのみ行うようにすることで、カメラ台数Nが多い場合であっても高速処理が可能となる。なお、決定部5を用いる実施形態においても、生成部1において3DCGモデルを生成する際には、L台に限定するのではなく、N台全部のデータ(多視点画像のN視点全ての画像)を利用してよいことに注意されたい。
具体的に、決定部5にてN台全体から限定する一部のL台にカメラを決定する実施形態は、以下の第一実施形態又は第二実施形態が可能である。なお、所定数Lに関しては、合成装置10を実現しているハードウェアとしての計算機のCPUやGPUを用いて、合成装置10を実現するソフトウェアにより当該CPU及び/又はGPUを稼働させる際にリアルタイムでのオクルージョン情報生成処理が可能であるカメラ台数として、予め性能試験などを行うことで定めておけばよい。すなわち、台数Lは、合成装置10がハードウェアとして利用する演算装置(CPU及び/又はGPU)の性能を反映した値とすればよい。
(決定部5の第一実施形態)
第一実施形態にて決定部5は、N個のカメラciの位置pciと指定される仮想視点の位置puとの距離d(pci,pu)を計算し、この距離が小さい側のL個のカメラciのみを限定して利用するように決定してよい。すなわち、仮想視点puへ近い側の上位L個のカメラciに決定してよい。
ここで、距離d(pci,pu)に関しては、世界座標でのカメラciの視点位置pci及び仮想視点の位置puの間のユークリッド距離||pci-pu||2として計算してもよいし、さらに各視点の向きの違いも反映した距離として計算してもよい。例えば、カメラ視点pciの向きと仮想視点puの向きとの違いが角度θ(pci,pu)≧0°であったものとすると、以下の式(3)のようにユークリッド距離と角度の違いとの重みづけ和で距離d(pci,pu)を評価してもよい。この評価により、ユークリッド距離が同じ場合は、カメラ視点pciの向きが仮想視点puの向きにより近い方が、より近いものとして評価されることとなる。ここで、Aは正の値として予め設定しておく、長さ次元の重み係数である。
d(pci,pu)=||pci-pu||2+A*θ(pci,pu) …(3)
一般に、仮想視点から近いカメラ映像を用いるほど、レンダリングされる3DCGがより高品質となり、結果としてより高品質な自由視点映像合成が可能となるため、第一実施形態において、仮想視点pu近傍の限定されたカメラ台数L(<N)を用いることによる画質劣化は軽微である。
(決定部5の第二実施形態)
第二実施形態は、次の事情を考慮するものである。すなわち、複数のカメラの配置間隔が極めて近い場合は、オクルージョン領域のテクスチャマッピングを行う参照元のカメラとして仮想視点pu近傍のカメラよりも少し離れたカメラを用いるほうが良い場合がある。
従って、第二実施形態にて決定部5は、全N台のうちから限定するL台のカメラを、第一実施形態のように位置が仮想視点puに最も近い側の上位からL台として決定するのではなく、原則として位置が仮想視点puに近い側を優先して決定するが、実際に決定されるカメラ視点の位置が仮想視点puから見てある程度、拡がりを有するようにして決定する。
図6は、第一実施形態及び第二実施形態で決定部5によって決定されるカメラの模式例を示す図である。図6では、共通の多視点画像のカメラ群GR(180°の半円周上に10°ずつ離れてN=19個が配置されたカメラ視点で構成される)及び仮想視点puを表す仮想カメラvcに対して、L=5として第一実施形態を適用した結果R1と第二実施形態を適用した結果R2が、決定されたカメラをグレー表示することで示されている。結果R1では仮想カメラvcの最近傍のL=5台のカメラが限定対象として決定されているのに対し、結果R2では仮想カメラvcの近傍側の同数L=5台のカメラが基本的に選択されつつも、選択されるカメラ同士の間隔が結果R1よりも拡がっていることを見て取ることができる。カメラ群GRが並ぶ180°の半円の内部に被写体があるものとして、結果R2のカメラ配置では結果R1のカメラ配置と比べて被写体をより広い角度範囲で撮影可能となっている。
図7に、第二実施形態において決定部5がカメラ視点を限定されたものに決定する手法の一例をフローチャートで示す。
ステップS1では、N個のカメラ視点pciの位置に対して、仮想視点puの位置からの近さの順位付けを行ったうえで、ステップS2へと進む。この順位付けは、第一実施形態と同様の手法で距離d(pci,pu)を計算して、当該距離の小さい順とすればよい。この順位は、ステップS2及びS3にて参照して利用されるものである。
ステップS2では、決定カメラ集合及び候補カメラ集合に初期値を設定したうえで、ステップS3へと進む。ステップS2にて、決定カメラ集合の初期値には、ステップS1で求めた順位が高い(すなわち、仮想視点puにより近い)所定数(Lより小さい所定数、例えば1)のカメラ視点を設定すればよい。また、候補カメラ集合の初期値には、N台全体のカメラのうち、決定カメラ集合に所属するものとして設定されなかった残りのカメラ視点の全てを設定すればよい。例えば、決定カメラ集合として1台のみのカメラ視点が初期値に設定されたとすると、候補カメラ集合の初期値は、当該1台以外の残りのN-1台のカメラ視点で構成されることとなる。
以下、図7のフロー構造に示される通りのステップS3〜S8の繰り返し処理において、候補カメラ集合の中からカメラ視点が選択されて決定カメラ集合に追加されるという処理が繰り返されることで、決定カメラ集合(及び候補カメラ集合)が繰り返して更新され、最終的に得られる決定カメラ集合が、決定部5によって選ばれた結果として出力されることとなる。
ステップS3では、候補カメラ集合の中から、仮想視点puの位置に最も近いカメラ視点を判定対象のカメラ視点pcj[判定]として選出し、3DCGモデルが表現しているオブジェクトに対して、決定カメラ集合に属する各カメラ視点pciから当該オブジェクトを見た際の撮影配置と、判定対象のカメラ視点pcj[判定]から当該オブジェクトを見た際の撮影配置と、の乖離の大きさを評価してからステップS4へと進む。具体的には、決定カメラ集合に属するカメラ視点pciの各々と、判定対象のカメラ視点pcj[判定]との撮影配置の乖離を以下の式(4)の値Ai,j[判定]として評価する。
Figure 2021022032
式(4)にて、3DCGモデルはn個のオブジェクト(前述のモデルMj)で構成され、k番目(k=1,2,…,n)のオブジェクトの重心をGkとする。Line(pci,Gk)はカメラ視点pciより重心Gkに向かう線分であり、同様にLine(pcj[判定],Gk)はカメラ視点pcj[判定]より重心Gkに向かう線分であり、cos(Line(pci,Gk), Line(pcj[判定],Gk))はこれら2つの線分のなす角の余弦である。式(4)に示されるように、値Ai,j[判定]はn個のオブジェクトについての当該余弦の平均値である。
なお、式(4)の計算においてのカメラ視点pci及びpcj[判定]並びに重心Gkに関しては、3次元世界座標で計算してもよいし、人物の身長や動作を想定してあらかじめ一定の高さに設定しておいたX-Z平面に平行な平面に投影したカメラ視点や、当該平面でのオブジェクトの断面形状における重心を用いてもよい。
図8は、式(4)での算出における直線等の配置の模式例を示す図である。図8では決定カメラ集合に属するカメラ視点pci=pc1であり、判定対象のカメラ視点pcj[判定]=pc2とし、3DCGモデルは2個のオブジェクトOBJ-1及びOBJ-2で構成されその重心がそれぞれG1及びG2である場合の、式(4)に現れる4種類の直線Line(,)と、余弦が評価される2つの角度(2つのオブジェクトのそれぞれで定義される1つの角度、オブジェクトG1に関して2つの破線矢印の間の角度、オブジェクトG2に関して2つの一点鎖線矢印の間の角度)とが示されている。
ステップS4では、ステップS3で評価した値Ai,j[判定]により、判定対象のカメラ視点pcj[判定]の撮影配置の乖離が大きいか否かを判定し、肯定(乖離が大きい)判定の場合はステップS5へと進み、否定(乖離が小さい)判定の場合はステップS8へと進む。
余弦関数の性質から明らかなように、式(4)の値Ai,j[判定]が小さいほど当該なす角が大きく、撮影配置の乖離が大きいことを表している。従って、ステップS4では、決定カメラ集合に属する各カメラ視点pciの全てに関して、判定対象のカメラ視点pcj[判定]との間でステップS3にて式(4)により算出された値Ai,j[判定]を参照し、決定カメラ集合に属する全てのカメラ視点pciに関してこの値Ai,j[判定]が所定閾値以下となった場合に、前記なす角が大きく撮影配置の乖離が大きいものとして肯定判定を得る。一方、少なくとも1つのカメラ視点pciに関してこの値Ai,j[判定]が所定閾値より大きくなった場合、否定判定を得る。
ステップS5では、ステップS4で肯定判定を得た判定対象のカメラ視点pcj[判定]を決定カメラ集合に所属するものとして、決定カメラ集合の要素に追加し、且つ、候補カメラ集合の要素から削除することで、決定カメラ集合及び候補カメラ集合を更新してからステップS6へと進む。ステップS6では、現時点での決定カメラ集合の要素数がL台に到達したか否かを判定し、到達していればステップS7へと進み、到達していなければステップS3へと戻る。
ステップS7では、L台に到達した現時点での決定カメラ集合を決定部5で決定された最終結果として出力して、図7のフローを終了する。
ステップS8では、ステップS4で否定判定を得た判定対象のカメラ視点pcj[判定]を、候補カメラ集合から削除することで候補カメラ集合を更新してから、ステップS3へと戻る。(ステップS8で削除された判定対象のカメラ視点pcj[判定]は、候補カメラ集合に属さないものとなるため、以降のステップS3では判定対象として選出されないものとなり、従って、決定カメラ集合に属するものとしても選出されないものとなる。)
ここで、以上の図7のフローによる決定の例を示す。図9は、当該例における撮影状況を示す図である。3DCGモデルは1個のみのオブジェクトOBJ-0で構成され、その重心がG0であり、重心G0を中心とした円周上に5つのカメラc1〜c5が10°ずつ離れて配置されている。仮想視点pu(不図示)はカメラ視点c1に最も近く、ステップS1にて近い順は円周上の角度の通りにc1,c2,c3,c4,c5と算出されたものとする。ステップS2では初期値の決定カメラ集合{c1,c2}及び候補カメラ集合{c3,c4,c5}として決定されたものとする。従って、ステップS3〜S8の繰り返し処理では、判定対象のカメラ視点pcj[判定]として、1回目にカメラc3が評価され、2回目にカメラc4が評価され、3回目にカメラc5が評価されることとなる。式(4)の値Ai,j[判定]のステップS5での閾値判定は0.95以下であれば、乖離しているものと肯定判定するものとする。
1回目のカメラc3の評価では、カメラc1とc3の成す角が20°(値A=0.94)、カメラc2とc3のなす角度が10°(A=0.98)である。カメラc2,c3の組においてしきい値以下とならないので、候補としてのカメラc3に関して否定判定となり、決定カメラ集合に追加されない。
2回目のカメラc4の評価では、カメラc1とc4の成す角が30°(値A=0.87)、カメラc2とc4のなす角度が20°(値A=0.94)である。すべてにおいてしきい値以下なので、候補としてのカメラc4に関して肯定判定となり、決定カメラ集合に追加されて{c1,c2,c4}が得られる。
3回目のカメラc5の評価では、カメラc1とc5の成す角が40°(値A=0.77)、カメラc2とc5のなす角度が30度(値A=0.87)、カメラc4とc5のなす角度が10°(値A=0.98)である。カメラc4,c5の組においてしきい値以下とならないので、候補としてのカメラc3に関して否定判定となり、決定カメラ集合に追加されない。
以下、本発明に関して、追加や変形の実施形態等に関する補足説明を行う。
(1)決定部5での第二実施形態の変形例として、3DCGモデルを構成するn個のオブジェクト(重心がGkのモデルMk、k=1,2,…,n)ごとにL台のカメラを決定するようにしてもよい。この場合、式(4)に代えて以下の式(4')を利用してn個の平均ではなく個別の余弦をそれぞれ算出してモデルMk(オブジェクトMk)の評価値A'i,j[判定],kを求め、以上説明したのと同様の判定(値Aではなく値A'に関して判定する)を行うことで、図7のフローはn個のオブジェクトごとにそれぞれ実施すればよい。
Figure 2021022032
そして、推定部2、比較部3及び描画部4においてもそれぞれ、n個のオブジェクトごとに区別して設定されたL台のカメラに関して、同様の処理を行えばよい。この際、推定部2、比較部3及び描画部4では、3DCGモデルの全体ではなく、対象とする個別のオブジェクトMkのみに関して処理を行えばよい。(なお、推定部2で求める深度マップ自体は、N台の全カメラを利用した3DCGモデルとして生成部1で得られたものを利用して、L台のカメラに関して深度マップを得ているため、全てのn個のオブジェクトが反映されたものとなっているため、オブジェクトごとに処理する場合も比較部3において適切にオクルージョン情報を得ることができる。)
(2)本発明は前掲の特許文献2のように「モデル自体の形状を、モデル表面に配置されるポリゴンではなく描画空間全体に配置されるポリゴンを用いて表現する3DCGモデル」などにも広く適用可能である。その際には、以上の説明においてポリゴン頂点vkと記載していた項目が、レンダリング時のウインドウ内のピクセルが対応するポリゴン内部の空間座標に置き換わるといった差異が発生するが、モデルとして被写体表面を表すものであるという点では共通であるため、モデル形状表現の規則に則る形で一般性を損なわず容易に拡張可能である。例えば、特許文献2においては、空間上に平行に配置されたポリゴン群に張り付けられるテクスチャのアルファ(不透明度)を、対応する画素のオクルージョン情報に応じて増減させ複数のカメラのテクスチャを参照することで、以上の説明と同様に仮想視点からみたオクルージョン領域を補間することができる。
(3)図10は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。合成装置10はそれぞれ、このような構成を有する1台以上のコンピュータ装置70として実現可能である。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、GPU72用のメモリ空間を提供するGPUメモリ78、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77と、これらの間でデータを授受するためのバスBSと、を備える。
合成装置10の各部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。描画部4での描画結果としての自由視点画像はディスプレイ76で表示してもよい。
10…合成装置、1…生成部、2…推定部、3…比較部、4…描画部、5…決定部

Claims (11)

  1. 多視点画像より被写体の3次元モデルを生成する生成部と、
    前記3次元モデルより、前記多視点画像の各カメラ視点での、被写体の深度マップを推定する推定部と、
    前記3次元モデルが表す被写体の表面上の空間点に関して、前記各カメラ視点での深度マップとの間で空間位置の整合を調べ、整合していると判定される場合にはオクルージョン無しである旨を、整合していないと判定される場合にはオクルージョン無しである旨を紐づけることで、カメラ視点ごと及び空間点ごとのオクルージョン情報を求める比較部と、
    前記オクルージョン情報を参照して、前記多視点画像の各カメラ視点でのテクスチャを選択して利用することにより、指定される仮想視点において被写体を描画する描画部と、を備えることを特徴とする合成装置。
  2. 前記比較部は、前記3次元モデルが表す被写体の表面上の空間点(vk)を前記多視点画像の各カメラ(ci)視点の画像平面(Vci)へと投影した平面点(u(vk),v(vk))を求め、前記深度マップの当該平面点での深度値(Dci(vk))が示す空間位置と、当該空間点(vk)と、を比較することで前記空間位置での整合を調べることを特徴とする請求項1に記載の合成装置。
  3. 前記推定部は、演算装置用のメモリ空間を利用することで、ディスプレイに表示させない対象として前記深度マップを推定することを特徴とする請求項1または2に記載の合成装置。
  4. 前記描画部は、指定される仮想視点において、前記3次元モデルの表面要素ごとに描画を行うことで被写体の全体を描画し、
    各表面要素に対して、対応している前記3次元モデルが表す被写体の表面上の空間点を参照し、前記オクルージョン情報において当該空間点に関してオクルージョン無しである旨が紐づいているカメラ視点であって、且つ、前記多視点画像の各カメラ視点の中で仮想視点に近いと判定されるカメラ視点におけるテクスチャを選択して利用して、当該表面要素を描画することを特徴とする請求項1ないし3のいずれかに記載の合成装置。
  5. 前記描画部は、各表面要素を描画するに際して、前記近いと判定された各カメラ視点におけるテクスチャを、各カメラ視点と仮想視点との距離が小さいほど大きな割合でアルファブレンドして描画することを特徴とする請求項4に記載の合成装置。
  6. 前記全カメラ視点のうち一部分のみを、指定される仮想視点に近いと判定されるカメラ視点として決定する決定部をさらに備え、
    前記推定部、比較部及び描画部では、前記多視点画像の全カメラ視点のうち、前記決定部によって決定された一部分のみを対象としてそれぞれ、前記深度マップを推定すること、前記オクルージョン情報を求めること、前記被写体を描画すること、を実施することを特徴とする請求項1ないし5のいずれかに記載の合成装置。
  7. 前記決定部は、前記全カメラ視点のうち一部分のみを、指定される仮想視点に近いと判定されるカメラ視点であって、且つ、被写体を撮影するカメラ視点の配置が相互に乖離していると判定されるカメラ視点として決定することを特徴とする請求項6に記載の合成装置。
  8. 前記決定部で決定する前記全カメラ視点のうち一部分のみの数は、前記合成装置が利用する演算装置の性能を反映した所定数であることを特徴とする請求項6または7に記載の合成装置。
  9. 前記生成部では、視体積交差法を用いて、被写体の3次元モデルを生成することを特徴とする請求項1ないし8のいずれかに記載の合成装置。
  10. 多視点画像より被写体の3次元モデルを生成する生成手順と、
    前記3次元モデルより、前記多視点画像の各カメラ視点での、被写体の深度マップを推定する推定手順と、
    前記3次元モデルが表す被写体の表面上の空間点に関して、前記各カメラ視点での深度マップとの間で空間位置の整合を調べ、整合していると判定される場合にはオクルージョン無しである旨を、整合していないと判定される場合にはオクルージョン無しである旨を紐づけることで、カメラ視点ごと及び空間点ごとのオクルージョン情報を求める比較手順と、
    前記オクルージョン情報を参照して、前記多視点画像の各カメラ視点でのテクスチャを選択して利用することにより、指定される仮想視点において被写体を描画する描画手順と、を備えることを特徴とする合成方法。
  11. 多視点画像より被写体の3次元モデルを生成する生成手順と、
    前記3次元モデルより、前記多視点画像の各カメラ視点での、被写体の深度マップを推定する推定手順と、
    前記3次元モデルが表す被写体の表面上の空間点に関して、前記各カメラ視点での深度マップとの間で空間位置の整合を調べ、整合していると判定される場合にはオクルージョン無しである旨を、整合していないと判定される場合にはオクルージョン無しである旨を紐づけることで、カメラ視点ごと及び空間点ごとのオクルージョン情報を求める比較手順と、
    前記オクルージョン情報を参照して、前記多視点画像の各カメラ視点でのテクスチャを選択して利用することにより、指定される仮想視点において被写体を描画する描画手順と、をコンピュータに実行させることを特徴とする合成プログラム。
JP2019136729A 2019-07-25 2019-07-25 合成装置、方法及びプログラム Active JP7038683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019136729A JP7038683B2 (ja) 2019-07-25 2019-07-25 合成装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019136729A JP7038683B2 (ja) 2019-07-25 2019-07-25 合成装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2021022032A true JP2021022032A (ja) 2021-02-18
JP7038683B2 JP7038683B2 (ja) 2022-03-18

Family

ID=74573864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019136729A Active JP7038683B2 (ja) 2019-07-25 2019-07-25 合成装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7038683B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191010A1 (ja) * 2021-03-12 2022-09-15 ソニーグループ株式会社 情報処理装置および情報処理方法
EP4161069A1 (en) 2021-09-30 2023-04-05 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
WO2023095250A1 (ja) * 2021-11-25 2023-06-01 株式会社日立国際電気 異常検知システム
JP7465234B2 (ja) 2021-03-11 2024-04-10 Kddi株式会社 3dモデル生成装置、方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116421A (ja) * 2017-01-17 2018-07-26 Kddi株式会社 画像処理装置および画像処理方法
JP2018133063A (ja) * 2017-02-17 2018-08-23 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
WO2019050038A1 (ja) * 2017-09-11 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像生成方法および画像生成装置
JP2019121945A (ja) * 2018-01-09 2019-07-22 キヤノン株式会社 撮像装置、その制御方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116421A (ja) * 2017-01-17 2018-07-26 Kddi株式会社 画像処理装置および画像処理方法
JP2018133063A (ja) * 2017-02-17 2018-08-23 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
WO2019050038A1 (ja) * 2017-09-11 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像生成方法および画像生成装置
JP2019121945A (ja) * 2018-01-09 2019-07-22 キヤノン株式会社 撮像装置、その制御方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7465234B2 (ja) 2021-03-11 2024-04-10 Kddi株式会社 3dモデル生成装置、方法及びプログラム
WO2022191010A1 (ja) * 2021-03-12 2022-09-15 ソニーグループ株式会社 情報処理装置および情報処理方法
EP4161069A1 (en) 2021-09-30 2023-04-05 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
US11935182B2 (en) 2021-09-30 2024-03-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
WO2023095250A1 (ja) * 2021-11-25 2023-06-01 株式会社日立国際電気 異常検知システム

Also Published As

Publication number Publication date
JP7038683B2 (ja) 2022-03-18

Similar Documents

Publication Publication Date Title
JP7038683B2 (ja) 合成装置、方法及びプログラム
US8659593B2 (en) Image processing apparatus, method and program
RU2695528C2 (ru) Визуализация изображения данных лазерного сканирования
US7194125B2 (en) System and method for interactively rendering objects with surface light fields and view-dependent opacity
JP2017505471A (ja) レーザスキャンデータの画像レンダリング
US9367943B2 (en) Seamless fracture in a production pipeline
CN108230435B (zh) 采用立方图纹理的图形处理
JPH0749964A (ja) 3次元動画像生成装置
EP1634248B1 (en) Adaptive image interpolation for volume rendering
US20230230311A1 (en) Rendering Method and Apparatus, and Device
KR20120104071A (ko) 입체영상 시각효과 처리 방법
JP2021056679A (ja) 画像処理装置、方法及びプログラム
GB2406252A (en) Generation of texture maps for use in 3D computer graphics
Wang et al. Voge: a differentiable volume renderer using gaussian ellipsoids for analysis-by-synthesis
El Seoud et al. A comprehensive review on volume rendering techniques
Deepu et al. 3D Reconstruction from Single 2D Image
Villa-Uriol et al. Automatic creation of three-dimensional avatars
EP4158596A1 (en) Geometry-aware augmented reality effects with a real-time depth map
Lin et al. Filling holes in 3D scanned model base on 2D image inpainting
Dong et al. Occlusion handling method for ubiquitous augmented reality using reality capture technology and GLSL
JP2952585B1 (ja) 画像生成方法
Johansson Analyzing performance for lighting of tessellated grass using LOD
de Toledo et al. Geometry textures
Clemenz et al. Reflection Techniques in Real-Time Computer Graphics
Hamza Realistic Shadows In Computer Graphics

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220126

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: 20220216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220308

R150 Certificate of patent or registration of utility model

Ref document number: 7038683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150