JP2008287696A - 画像処理方法と装置 - Google Patents
画像処理方法と装置 Download PDFInfo
- Publication number
- JP2008287696A JP2008287696A JP2007286801A JP2007286801A JP2008287696A JP 2008287696 A JP2008287696 A JP 2008287696A JP 2007286801 A JP2007286801 A JP 2007286801A JP 2007286801 A JP2007286801 A JP 2007286801A JP 2008287696 A JP2008287696 A JP 2008287696A
- Authority
- JP
- Japan
- Prior art keywords
- data
- coordinates
- camera
- panorama
- image
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 11
- 238000000034 method Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 38
- 238000009877 rendering Methods 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 13
- 238000003786 synthesis reaction Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001131 transforming 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】カメラが移動しても同じ背景データが利用されるため、背景が変化しない。
【解決手段】3次元空間2中の複数の座標P1〜Pn(nは2以上の整数)に、それぞれの座標から見た遠景を示す複数のパノラマデータPD1〜PDnを用意し、対応づけておく。カメラ20が、パノラマデータPDが対応づけられていない座標に位置する場合、カメラ座標Pcから見た遠景を示す背景データを、2つ以上のパノラマデータPDを合成して生成する。
【選択図】図1
【解決手段】3次元空間2中の複数の座標P1〜Pn(nは2以上の整数)に、それぞれの座標から見た遠景を示す複数のパノラマデータPD1〜PDnを用意し、対応づけておく。カメラ20が、パノラマデータPDが対応づけられていない座標に位置する場合、カメラ座標Pcから見た遠景を示す背景データを、2つ以上のパノラマデータPDを合成して生成する。
【選択図】図1
Description
この発明は、3次元コンピュータグラフィックス技術に関し、特に3次元オブジェクトの背景に遠景としてマッピングされる背景オブジェクトの描画技術に関する。
映画やアニメ、ゲームなどさまざまな分野において利用される3次元コンピュータグラフィックスは、演算処理装置の高速化に伴って高精細化の一途をたどっており、近年では実写と見紛うほどの画像処理が可能となっている。
3次元コンピュータグラフィックスにおいて、より現実に近い映像を生成するために、3次元オブジェクトの背面に、背景を描画する場合がある。
背景を3次元オブジェクトを利用して描画すると演算量が膨大となる。
本発明はかかる課題に鑑みてなされたものであり、その目的は、背景を描画する際の演算量を低減する技術の提供にある。
本発明のある態様の画像処理方法は、3次元グラフィックスの画像処理方法に関する。この画像処理方法は、3次元空間中の少なくとも2つの座標に、それぞれの座標から見た遠景を示すパノラマデータを対応づけて予め用意しておく。カメラが、パノラマデータが対応づけられていない座標に位置する場合、カメラの座標(以下、単にカメラ座標という)から見た遠景を示す背景データを、予め用意されたパノラマデータを合成して生成する。生成された背景データは、配置された3次元オブジェクトをレンダリングする際の、背景として利用される。
本発明によれば、カメラ位置に応じた適切な背景を描画することができ、視聴者の違和感を低減できる。
実施の形態は、3次元グラフィックスの描画技術に関し、ビューボリューム内に配置される3次元オブジェクトをレンダリングする際に、その背景として利用されるデータ(以下、背景データという)を生成する技術に関する。まずその概要を説明する。
ある実施の形態の画像処理方法は、3次元グラフィックスの画像処理方法に関する。この方法は、以下の処理を実行する。この処理は主に図1〜図3に示される。
(1)3次元空間2中の複数の座標P1〜Pn(nは整数)に、それぞれの座標P1〜Pnから見た遠景を示す複数のパノラマデータPD1〜PDnを対応づける。
(2)続いて、カメラ20が、パノラマデータPDが対応づけられていない座標に位置する場合、カメラ20の座標Pcから見た遠景を示す背景データBGDを、パノラマデータPDを合成して生成する。
この実施の形態によれば、カメラの位置に応じた適切な背景を生成することができる。
(1)3次元空間2中の複数の座標P1〜Pn(nは整数)に、それぞれの座標P1〜Pnから見た遠景を示す複数のパノラマデータPD1〜PDnを対応づける。
(2)続いて、カメラ20が、パノラマデータPDが対応づけられていない座標に位置する場合、カメラ20の座標Pcから見た遠景を示す背景データBGDを、パノラマデータPDを合成して生成する。
この実施の形態によれば、カメラの位置に応じた適切な背景を生成することができる。
パノラマデータPDはそれぞれ、対応する座標Pから見た360度の遠景データを保持してもよい。カメラの視線方向をθ(θは実数)、視野角をφ(φは実数)とするとき、背景データBGDを生成する際に、以下の処理を行ってもよい。
(2−a)第1のパノラマデータPDiから、方向θを中心として、少なくとも視野角φを含むように切り抜いた第1画像データGDiを抽出する。
(2−b)第2のパノラマデータPDjから、方向θを中心として、少なくとも視野角φを含むように切り抜いた第2画像データGDjを抽出する。
(2−c)第1、第2画像データGDi、GDj間でマッチング計算を実行する。
(2−d)マッチング計算の結果をもとに第1、第2画像データGDi、GDj間の補間画像データを生成する。
(2−e)生成された補間画像を背景データBGDとして出力する。
この処理は、図2、図4に示される。
(2−a)第1のパノラマデータPDiから、方向θを中心として、少なくとも視野角φを含むように切り抜いた第1画像データGDiを抽出する。
(2−b)第2のパノラマデータPDjから、方向θを中心として、少なくとも視野角φを含むように切り抜いた第2画像データGDjを抽出する。
(2−c)第1、第2画像データGDi、GDj間でマッチング計算を実行する。
(2−d)マッチング計算の結果をもとに第1、第2画像データGDi、GDj間の補間画像データを生成する。
(2−e)生成された補間画像を背景データBGDとして出力する。
この処理は、図2、図4に示される。
背景データBGDを生成する際に、カメラ座標Pcを通り、カメラ20の視線方向θを含む直線lcによって2分される2つの領域RGN1、RGN2から、それぞれ座標Pi、Pjを選択し、選択された座標Pi、Pjに対応づけられた2つのパノラマデータPDi、PDjを合成してもよい。この処理は、主に図2に示される。
背景データBGDを生成する際に、以下の処理を行ってもよい。この処理は、主に図4に示される。
(2−f)カメラ20の座標Pcを内包するm角形(mは3以上の整数)を形成するm個の座標Pi、Pj、Pkを選択する。
(2−g)選択された座標Pi、Pj、Pkに対応づけられたm個のパノラマデータPDi、PDj、PDkを合成する。
合成するパノラマデータの個数を増やすことにより、より正確な背景データを生成することが可能となる。
(2−f)カメラ20の座標Pcを内包するm角形(mは3以上の整数)を形成するm個の座標Pi、Pj、Pkを選択する。
(2−g)選択された座標Pi、Pj、Pkに対応づけられたm個のパノラマデータPDi、PDj、PDkを合成する。
合成するパノラマデータの個数を増やすことにより、より正確な背景データを生成することが可能となる。
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
図1は、描画の対象となる3次元空間2を示す図である。3次元空間2は、いくつかの3次元オブジェクト10と、複数のパノラマデータPD1〜PDnを含む。
パノラマデータPD1〜PDnは、3次元空間中の複数の座標P1〜Pnに対応づけられている。各パノラマデータPD1〜PDnは、それぞれの座標P1〜Pnから見た遠景を示すデータである。本実施の形態において、パノラマデータPDはそれぞれ、対応する座標P1〜Pnから見た360度(水平視野角)の遠景データを保持している。実際のパノラマデータPDは、X座標が視線方向θと1対1に対応づけられた2次元(縦vピクセル×横hピクセル)の画像データであり、たとえば、X=0には、視線方向0度を望んだときに、座標Pから見える遠景が描画され、X=hには、視線方向360度を望んだときに見える遠景が描画される。つまり、任意のX座標には、視線方向θ=X/h×360度を望んだときに見える遠景が描画される。図1においてパノラマデータPDは、理解の容易のために、2次元の画像データの左右2辺が合致するように変形させた円筒型のオブジェクトとして示している。仮想的に円筒型として示されるパノラマデータPDは、実際に3次元オブジェクトとして配置されているわけではない。
円筒型データの代わりに、球面型データを利用してもよい。この場合、視野角を立体角で表現してもよい。また、カメラの視線方向がある範囲に制限される場合、パノラマデータは全方位0〜360度に対して用意される必要はない。
パノラマデータPD1〜PDnは、3次元空間中の複数の座標P1〜Pnに対応づけられている。各パノラマデータPD1〜PDnは、それぞれの座標P1〜Pnから見た遠景を示すデータである。本実施の形態において、パノラマデータPDはそれぞれ、対応する座標P1〜Pnから見た360度(水平視野角)の遠景データを保持している。実際のパノラマデータPDは、X座標が視線方向θと1対1に対応づけられた2次元(縦vピクセル×横hピクセル)の画像データであり、たとえば、X=0には、視線方向0度を望んだときに、座標Pから見える遠景が描画され、X=hには、視線方向360度を望んだときに見える遠景が描画される。つまり、任意のX座標には、視線方向θ=X/h×360度を望んだときに見える遠景が描画される。図1においてパノラマデータPDは、理解の容易のために、2次元の画像データの左右2辺が合致するように変形させた円筒型のオブジェクトとして示している。仮想的に円筒型として示されるパノラマデータPDは、実際に3次元オブジェクトとして配置されているわけではない。
円筒型データの代わりに、球面型データを利用してもよい。この場合、視野角を立体角で表現してもよい。また、カメラの視線方向がある範囲に制限される場合、パノラマデータは全方位0〜360度に対して用意される必要はない。
パノラマデータPDは、JPEGやビットマップ形式のデータとして用意される。こうしたパノラマデータは、たとえばデジタルスチルカメラなどによって撮像した複数の画像を合成することにより、既知の画像処理ソフトウェアを利用して生成してもよいし、別の方法によって生成してもよい。パノラマデータPDは、ドロー系、ペイント系などの2次元のコンピュータグラフィックスを用いて作成してもよい。あるいは、予め3次元コンピュータグラフィックスを用いて遠景の3次元オブジェクトをモデリングし、これを2次元平面に投影変換することにより生成してもよい。
3次元空間中には、カメラ20が設けられる。カメラ20は仮想的なものであり、レンダリングする際の視点を示す。つまり、3次元空間中にモデリングされるオブジェクトのうち、カメラ20の視野に含まれる部分が、平面投影されてディスプレイに表示される。カメラ20の座標(以下単にカメラ座標という)をPcと書く。
本実施の形態では、カメラ20が、パノラマデータPDが対応づけられていない座標、すなわちP1〜Pn以外に位置する場合、カメラ20の座標Pcから見た遠景を示す背景データBGDを、いくつかのパノラマデータを合成して生成する。以下、合成処理の方法について説明する。
(第1の合成処理)
図2は、実施の形態に係るパノラマデータの第1の合成処理を示す図である。図2は、図1の3次元空間2をZ軸の負方向に望んだ平面図、つまりXY平面を示す。本実施の形態では、パノラマデータPDは円筒型のデータとして用意されているものとし、カメラ20の視線方向θは、XY平面内において、X軸を基準とした偏角を表すものとする。また、カメラ20の視野角をφと表記する。
図2は、実施の形態に係るパノラマデータの第1の合成処理を示す図である。図2は、図1の3次元空間2をZ軸の負方向に望んだ平面図、つまりXY平面を示す。本実施の形態では、パノラマデータPDは円筒型のデータとして用意されているものとし、カメラ20の視線方向θは、XY平面内において、X軸を基準とした偏角を表すものとする。また、カメラ20の視野角をφと表記する。
第1の合成処理では、背景データBGD(図示せず)を生成するために、複数のパノラマデータPD1〜PDnのうち、2つのパノラマデータPDi、PDjを選択する。2つのパノラマデータPDi、PDjの選択は以下のように行う。
まず、カメラ20の座標Pcを通り、カメラ20の視線方向θの直線lcによって2つの領域RGN1、RGN2に2分する。そして、各領域RGN1、RGN2から、それぞれひとつずつの座標Pi、Pjを選択する。選択された座標に対応づけられた2つのパノラマデータを合成する。各領域RGN1、RGN2に、複数のパノラマデータPDが配置される場合、それぞれの領域から、カメラ座標Pcと最も近いパノラマデータPDを選択する。
まず、カメラ20の座標Pcを通り、カメラ20の視線方向θの直線lcによって2つの領域RGN1、RGN2に2分する。そして、各領域RGN1、RGN2から、それぞれひとつずつの座標Pi、Pjを選択する。選択された座標に対応づけられた2つのパノラマデータを合成する。各領域RGN1、RGN2に、複数のパノラマデータPDが配置される場合、それぞれの領域から、カメラ座標Pcと最も近いパノラマデータPDを選択する。
パノラマデータPDiから、視線方向θを中心として、少なくとも視野角φを含むように切り抜いた画像データGDiを抽出する。つまり、2次元の画像データであるパノラマデータPDiから、X座標がθ−φ/2からθ+φ/2である範囲を切り抜く。同様に、パノラマデータPDjから、視線方向θを中心として、少なくとも視野角φを含むように切り抜いた画像データGDjを抽出する。切り抜きには、垂直方向の視野角を考慮してもよい。また、画像の両端におけるマッチングの精度を高めるために、実際の視野角φに加えて角度マージンΔφを付加した範囲の画像を抽出するのが好ましい。
背景データBGDの生成は、画像データGDi、GDj間でマッチング計算を実行し、マッチング計算の結果をもとに画像データGDi、GDj間の補間画像データを生成することにより実行される。図3は、補間による背景データの生成、および背景データと3次元オブジェクトの合成を示す図である。
画像データGDiは、座標Piから見た遠景を示すデータであって、視線方向θ、視野角(φ+2Δφ)の遠景を示している。同様に、画像データGDjは、座標Pjから見た遠景を示すデータであって、視線方向θ、視野角(φ+2Δφ)の遠景を示している。
画像データGDiは、座標Piから見た遠景を示すデータであって、視線方向θ、視野角(φ+2Δφ)の遠景を示している。同様に、画像データGDjは、座標Pjから見た遠景を示すデータであって、視線方向θ、視野角(φ+2Δφ)の遠景を示している。
画像データGDi、GDjでマッチング処理が実行され、互いに対応する対応点あるいは対応領域(以下、「対応点」で代表させる)が検出される。画像データGDi、GDj間の対応点を対応づけるデータを対応点情報データという。図3には、対応点の一例として山の稜線上の点(xi、yi)、(xj、yj)が示される。
カメラ座標Pcから見た遠景内で、対応点(xi、yi)、(xj、yj)と対応する対応点(xc、yc)は、画像データGDiの対応点(xi、yi)と、画像データGDjの対応点(xj、yj)を、内分する点に配置される。図2に示すように、座標Pi、Pjを結ぶ直線Pi−Pjを、直線lcがα:1−αに内分するとき、補間処理は内分比αを利用して行ってもよい。たとえば、背景データBGDの対応点の座標(xc、yc)は、以下の式にもとづいて決定してもよい。
(xc、yc)= (α−1)・(xi、yi)+α・(xj、yj)
この例は単純補間である。あるいは、αを関数として、別のパラメータを利用した計算式によって、座標(xc、yc)を計算してもよい。
その他の対応点について同様の処理を行い、それら対応点同士の位置と画素値を補間して補間画像を生成する。その結果、カメラ座標Pcから方向θ、視野角φを望んだ背景データBGD全体を生成することができる。
(xc、yc)= (α−1)・(xi、yi)+α・(xj、yj)
この例は単純補間である。あるいは、αを関数として、別のパラメータを利用した計算式によって、座標(xc、yc)を計算してもよい。
その他の対応点について同様の処理を行い、それら対応点同士の位置と画素値を補間して補間画像を生成する。その結果、カメラ座標Pcから方向θ、視野角φを望んだ背景データBGD全体を生成することができる。
マッチング計算自体はオプティカルフロー、ブロックマッチング、本出願人が提案する特許第2927350号の手法など、その内容は問わない。マッチング結果をもとに補間画像を生成する手法も、特許第2927350号の手法など、その内容は問わない。
ディスプレイ上に表示される最終的な画像50は、3次元オブジェクト10と背景データBGDの合成によって生成される。つまり、背景データBGDは、3次元オブジェクトをレンダリングする際の背景データとして、投影先の平面上にマッピングされる。Zバッファ法を用いる場合、背景データはZ値を最大にして描画される。3次元オブジェクト10は、同一の投影面に背景データよりも小さなZ値を用いて投影される。こうした画像処理は、公知の技術を用いればよい。
実施の形態の効果をより明確とするため、ある3次元空間の座標系に対してひとつの背景データを準備した場合について考察する。本来、移動方向とカメラの視線方向が異なれば、背景もカメラの移動とともに変化するはずであるが、この場合、カメラが移動しても同じ背景データが利用されるため、背景が変化しないという問題がある。これによって、その映像の視聴者はその画像に違和感を覚える可能性がある。
これに対して本実施の形態に係る画像処理技術によれば、パノラマデータPDをいくつか用意しておくことにより、パノラマデータが存在しない座標から任意の方向を見た背景データを、簡易に生成することができる。
これに対して本実施の形態に係る画像処理技術によれば、パノラマデータPDをいくつか用意しておくことにより、パノラマデータが存在しない座標から任意の方向を見た背景データを、簡易に生成することができる。
さらに、カメラ座標Pcを変化させると、それに応じて新たなカメラ座標に応じた背景データBGDが生成される。したがって、視点(カメラの位置)が移動させる際に、背景をそれに応じて変化させることができるため、従来に比べてよりリアリティのあるコンピュータグラフィックスが生成できる。
(第2の合成処理)
第1の合成処理では2つのパノラマデータPDi、PDjを合成する場合を説明した。これに対して、第2の合成処理では3つ以上のパノラマデータPDを合成する。図4は、実施の形態に係るパノラマデータの第2の合成処理を示す図である。図4の例では、3つのパノラマデータPDi、PDj、PDkを合成して、背景データBGDを生成する。
第1の合成処理では2つのパノラマデータPDi、PDjを合成する場合を説明した。これに対して、第2の合成処理では3つ以上のパノラマデータPDを合成する。図4は、実施の形態に係るパノラマデータの第2の合成処理を示す図である。図4の例では、3つのパノラマデータPDi、PDj、PDkを合成して、背景データBGDを生成する。
第2の合成処理では、まず、パノラマデータPDが対応づけられている座標Pの中から、カメラ座標Pcを内包する三角形(m=3)を形成する3個の座標を選択する。カメラ座標Pcを内包する三角形が複数選択可能な場合、3個の座標は以下に示す選択規則のいずれか、または複数の組み合わせにしたがって選択してもよい。
1. 三角形の各頂点が、カメラ座標Pcと最も近接する組み合わせ
2. 形成される三角形の重心が、カメラ座標Pcと最も近接する組み合わせ
3. 形成される三角形が、最も正三角形に近づく組み合わせ
規則1に従う場合、カメラ座標Pcから近い順に3つの頂点を選択すればよい。
規則3に従う場合、三角形の内角をθ1、θ2、θ3とするとき、評価式(60−θ1)2+(60−θ2)2+(60−θ3)2を最小とする組み合わせを選択すればよい。あるいは、三角形の三辺をa、b、cとするとき、評価式(a−b)2+(b−c)2+(c−a)2または、評価式(a−d)2+(b−d)2+(c−d)2を最小とする組み合わせを選択すればよい。ここでd=(a+b+c)/3である。
そして、いずれかの規則にもとづいて選択された座標Pi、Pj、Pkに対応づけられた3個のパノラマデータPDi、PDj、PDkを合成する。
1. 三角形の各頂点が、カメラ座標Pcと最も近接する組み合わせ
2. 形成される三角形の重心が、カメラ座標Pcと最も近接する組み合わせ
3. 形成される三角形が、最も正三角形に近づく組み合わせ
規則1に従う場合、カメラ座標Pcから近い順に3つの頂点を選択すればよい。
規則3に従う場合、三角形の内角をθ1、θ2、θ3とするとき、評価式(60−θ1)2+(60−θ2)2+(60−θ3)2を最小とする組み合わせを選択すればよい。あるいは、三角形の三辺をa、b、cとするとき、評価式(a−b)2+(b−c)2+(c−a)2または、評価式(a−d)2+(b−d)2+(c−d)2を最小とする組み合わせを選択すればよい。ここでd=(a+b+c)/3である。
そして、いずれかの規則にもとづいて選択された座標Pi、Pj、Pkに対応づけられた3個のパノラマデータPDi、PDj、PDkを合成する。
3つのパノラマデータPDi、PDj、PDkの合成は以下のように行ってもよい。まず、座標Pkと座標Pcを通る直線l1によって、座標Pi、Pjを結ぶ直線Pi−Pjを内分する。2つの直線の交点を中間座標Pmという。直線l1は視線方向θとは無関係である点で、図2の処理とは異なっている。中間座標Pmによる直線Pi−Pjの内分比をα:1−αとするとき、パノラマデータPDi、PDjから切り抜いた画像データGDi、GDjを、αを用いて内挿補間することにより、中間画像データGDmを生成する。補間処理については、第1の合成処理と同様の技術を利用すればよい。
続いて、中間画像データGDmと、パノラマデータPDkから切り抜いた画像データGDkを合成して、カメラ座標Pcから見た目的の背景データBGDを生成する。この合成には、座標Pm、Pkを結ぶ直線Pm−Pkの、カメラ座標Pcによる内分比をβ:1−βを利用すればよい。
この処理によれば、3つのパノラマデータPDを利用するため、図2の処理に比べて、さらに正確な背景データBGDの生成が可能となる。
カメラが、選択した三角形の外側の領域に移動する場合、新たな三角形の頂点座標として、カメラが横切る辺を形成する2つの頂点を保持し、残りの1つの頂点の座標を変更することが望ましい。この場合、カメラが移動しても、2つの頂点が保持されるため、補間により生成される背景データBGDが不連続となるのを防止することができる。
カメラの移動にともなって、カメラ座標を包含する三角形の切換(再選択)が行われる場合、切換前の三角形の頂点のパノラマデータPDの合成により生成された背景データBGDと、切換後の三角形の頂点のパノラマデータPDの合成により生成された背景データBGDと、をαブレンディングによって合成してもよい。この処理によって、三角形の再選択によって背景データBGDが不連続となるのを防止できる。
図5は、実施の形態に係る画像処理装置の構成を示す。本発明の別の態様は、画像処理装置100の構成を示すブロック図である。画像処理装置100は、プロセッサ、メモリを搭載するコンピュータ、ワークステーション、ゲーム機器、等のハードウェアを利用して構成可能である。
画像処理装置100は、モデリング部30、レンダリング部32、パノラマデータ記憶部34、パノラマデータ合成部36、メモリ38、画像出力部42を備える。
モデリング部30は、いわゆるエディタ機能を備え、ユーザとの相互作用によって3次元オブジェクトを所定の座標系に配置し、3次元空間のモデリングを行う。モデリングにより生成されたポリゴンや多面体などのプリミティブの頂点データ、輝度データなどは、メモリ38に格納される。
また、モデリング部30は、ユーザとの相互作用によって仮想的なカメラの座標Pc、視線方向θ、視野角φ(以下、カメラパラメータという)を定義し、メモリ38に格納する。カメラの位置や視線が時間とともに時々刻々と変化する場合、カメラパラメータは時間の関数として定義される。その結果、カメラが移動する際の経路(以下、モーションパスという)が記述される。ゲームプログラムなどの場合、カメラパラメータは、予め定義されるのではなく、レンダリングの際にゲームユーザの指示に従ってモデリング部30がリアルタイムで設定してもよい。
レンダリング部32は、モデリング部30によってモデリングされた3次元空間のデータをメモリ38から読み出す。さらに、レンダリング部32は、カメラパラメータを読み出し、これらにもとづいて平面投影処理、隠面処理などのレンダリング処理を実行する。
パノラマデータ記憶部34は、3次元空間中の複数の座標P1〜Pnに対応づけられ、それぞれの座標から見た遠景を示す複数のパノラマデータPD1〜PDnを保持する。パノラマデータ記憶部34は、メモリ38の一部の領域として設けられてもよいし、ハードディスクの一部の領域として設けられてもよい。
パノラマデータ合成部36は、カメラパラメータ(Pc、θ、φ)を受け、そのカメラ座標Pcからθ方向を見た背景データBGDを、いくつかのパノラマデータPDを合成することにより生成する。この処理は上述した。
メモリ38は、フレームバッファ40を含む。パノラマデータ合成部36により生成された背景データBGDは、直接、または間接的に、フレームバッファ40に書き込まれる。Zバッファ法を利用する場合、背景データBGDのZ値は最大に設定される。レンダリング部32は、レンダリング処理の結果生成されたデータを、フレームバッファ40に書き込む。その結果、フレームバッファ40には、モデリング部30によってモデリングしたオブジェクトと、背景データとを含むデータが書き込まれる。
画像出力部42は、図示しないディスプレイに対して、生成された画像データを出力する。画像データの出力先は、ディスプレイに限定されない。画像処理装置100によって生成された画像(静止画、動画であるとを問わない)は、ビットマップ形式、JPEG形式、MPEG(Moving Picture Expert Group)形式など、所定の形式で保存されてもよい。
以下、ユーザ(以下、プログラマという)が、図5の装置を用いて3次元グラフィクスを作成する場合の動作を説明する。
たとえばプログラマが、カーレースのゲームをプログラムするとする。この場合、仮想的なカメラに近接する領域には、車や建物を、3次元オブジェクトとして配置するが、遠景の山や町並みを3次元オブジェクトとして描画すると、データ量および描画に要する演算量が膨大となる。
たとえばプログラマが、カーレースのゲームをプログラムするとする。この場合、仮想的なカメラに近接する領域には、車や建物を、3次元オブジェクトとして配置するが、遠景の山や町並みを3次元オブジェクトとして描画すると、データ量および描画に要する演算量が膨大となる。
そこでプログラマは、車や建物などの3次元オブジェクトを配置して3次元空間をモデリングする。それとともに、モデリングする3次元座標系のいくつかの座標から見た遠景を示すパノラマデータPDを用意し、各パノラマデータPDをその視点に対応した座標に対応付けて、パノラマデータ記憶部34に保存する。
プログラムされたゲームのユーザ(以下ゲームユーザという)がゲームを開始し、操作対象の車を移動させると、それに伴ってカメラパラメータが時々刻々と変化する。パノラマデータ合成部36はカメラパラメータにもとづいてパノラマデータPDを合成し、背景データBGDを生成する。レンダリング部32は、カメラパラメータにもとづいて3次元空間をレンダリングし、背景データBGDと合成する。
図5の画像処理装置100によれば、カメラパラメータが時々刻々と変化する状況においても、少ない演算量で違和感の少ない背景を描画することができ、ゲームユーザが3次元グラフィックスに没頭することができる。
以上、実施の形態は例示に過ぎず、その構成や処理ステップにはいろいろな変形技術が考えられる。以下例示する。
実施の形態では、複数のパノラマデータPDi、PDj(およびPk)を合成して、カメラ座標Pcからの背景データBGDを生成したが、その他の処理も可能である。たとえば、カメラ座標Pcからの視線方向θの直線lc上に、パノラマデータPDが存在する座標が位置する場合、合成処理を行わずに、そのパノラマデータPDをそのまま利用してもよい。
また、カメラ座標ときわめて近接する箇所に、パノラマデータPDが存在する座標が位置する場合には、そのパノラマデータを利用してもよい。たとえば、カメラ座標とパノラマデータPDが存在する座標の距離が、所定のしきい値以下のとき、そのパノラマデータPDを利用してもよい。所定のしきい値は、以下のように決定してもよい。
1. パノラマデータPDに描画されている遠景と、その視点との距離をrとするとき、rに所定比率を乗じた値をしきい値とする。所定比率は数%程度に設定する。
2. パノラマデータPDが存在する複数の座標間の距離のうち、最短の距離をsとするとき、sに所定比率を乗じた値をしきい値とする。
3. カメラ座標から2番目に近いパノラマデータが存在する座標と、カメラ座標との距離をtとするとき、tに所定比率を乗じた値をしきい値とする。
4. カメラ座標から2番目に近いパノラマデータが存在する座標と、カメラ座標との距離をtとするとき、tに所定比率を乗じた値をしきい値とする。
これらの処理によれば、合成処理が不要となるため、演算処理を減らすことができる。
1. パノラマデータPDに描画されている遠景と、その視点との距離をrとするとき、rに所定比率を乗じた値をしきい値とする。所定比率は数%程度に設定する。
2. パノラマデータPDが存在する複数の座標間の距離のうち、最短の距離をsとするとき、sに所定比率を乗じた値をしきい値とする。
3. カメラ座標から2番目に近いパノラマデータが存在する座標と、カメラ座標との距離をtとするとき、tに所定比率を乗じた値をしきい値とする。
4. カメラ座標から2番目に近いパノラマデータが存在する座標と、カメラ座標との距離をtとするとき、tに所定比率を乗じた値をしきい値とする。
これらの処理によれば、合成処理が不要となるため、演算処理を減らすことができる。
また、画像データPDi、PDk間の対応点を検出する処理は、その都度計算するのではなく、予め計算しておいてもよい。
たとえば、すべてのパノラマデータPDのうち、隣接する組み合わせに対し、全角度(360度)を含む画像データ同士で、対応点情報を計算しておいてもよい。この場合、カメラが高速に移動する場合に、マッチング処理により描画が遅れることを回避することができる。
たとえば、すべてのパノラマデータPDのうち、隣接する組み合わせに対し、全角度(360度)を含む画像データ同士で、対応点情報を計算しておいてもよい。この場合、カメラが高速に移動する場合に、マッチング処理により描画が遅れることを回避することができる。
実施の形態では、補間として内挿補間を利用した。この際の内分比として、直線lcによる座標Pi、Pj間の直線の内分点を利用した。別の変形例として、座標Pi、Pjそれぞれと、直線lcとの距離の比を用いてもよい。
さらに、内装補間に代えて、外挿補間を利用してもよい。特に、カメラ座標Pcを含み、視線方向θを有する直線lcによって2分される2つの領域RGN1、RGN2のいずれか一方にのみ、パノラマデータPDが存在する場合、外挿補間の利用が有効である。
さらに、内装補間に代えて、外挿補間を利用してもよい。特に、カメラ座標Pcを含み、視線方向θを有する直線lcによって2分される2つの領域RGN1、RGN2のいずれか一方にのみ、パノラマデータPDが存在する場合、外挿補間の利用が有効である。
実施の形態にもとづき、本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を離脱しない範囲において、多くの変形例や配置の変更が可能である。
2 3次元空間、 10 3次元オブジェクト、 20 カメラ、 30 モデリング部、 32 レンダリング部、 34 パノラマデータ記憶部、 36 パノラマデータ合成部、 38 メモリ、 40 フレームバッファ、 42 画像出力部、 100 画像処理装置、 P 座標、 PD パノラマデータ、 GD 画像データ、 BGD 背景データ。
Claims (7)
- 3次元グラフィックスの画像処理方法であって、
3次元空間中の複数の座標に、それぞれの座標から見た遠景を示す複数のパノラマデータを対応づける過程と、
仮想的なカメラが前記パノラマデータが対応づけられていない座標に位置する場合、カメラの座標から見た遠景を示す背景データを、画像マッチングによって前記パノラマデータを合成して生成する過程と、
を備えることを特徴とする画像処理方法。 - 前記パノラマデータはそれぞれ、対応する座標から見た360度の遠景データを保持しており、前記カメラの視線方向をθ(θは実数)、視野角をφ(φは実数)とするとき、
前記背景データを生成する過程は、
第1のパノラマデータから、方向θを中心として、少なくとも視野角φを含むように切り抜いた第1画像データを抽出する過程と、
第2のパノラマデータから、方向θを中心として、少なくとも視野角φを含むように切り抜いた第2画像データを抽出する過程と、
前記第1、第2画像データ間でマッチング計算を実行する過程と、
マッチング計算の結果をもとに前記第1、第2画像データ間の補間画像データを生成する過程と、
生成された補間画像を前記背景データとして出力する過程と、
を含むことを特徴とする請求項1に記載の画像処理方法。 - 前記背景データを生成する過程は、
前記カメラの座標を通り、カメラの視線方向を含む直線によって2分される2つの領域から、それぞれ座標を選択し、選択された座標に対応づけられた2つのパノラマデータを合成することを特徴とする請求項1に記載の画像処理方法。 - 前記背景データを生成する過程は、
前記カメラの座標を内包するm角形(mは3以上の整数)を形成するm個の座標を選択する過程と、
選択された座標に対応づけられたm個のパノラマデータを合成する過程と、
を含むことを特徴とする請求項1に記載の画像処理方法。 - 3次元空間中の複数の座標に対応づけられ、それぞれの座標から見た遠景を示す複数のパノラマデータを保持するパノラマデータ記憶部と、
仮想的なカメラが、前記パノラマデータが対応づけられていない座標に位置する場合、カメラの座標から見た遠景を示す背景データを、前記パノラマデータを合成して生成するパノラマデータ合成部と、
前記3次元空間中に配置された3次元オブジェクトを、前記背景データとともにレンダリングするレンダリング部と、
を備えることを特徴とする画像処理装置。 - 3次元グラフィックスを描画するプログラムであって、
描画対象となる3次元空間中の複数の座標に対応づけられ、それぞれの座標から見た遠景を示す複数のパノラマデータを、記憶領域に格納する過程と、
カメラの座標を取得する過程と、
取得した前記カメラの座標が、前記パノラマデータが対応づけられていない座標に位置する場合、少なくとも2つの前記パノラマデータを前記記憶領域から読み出す過程と、
演算処理装置を用いて、読み出した前記パノラマデータを合成して、前記カメラの座標から見た遠景を示す背景データを生成する過程と、
演算処理装置を用いて、前記3次元空間中に配置された3次元オブジェクトを、前記背景データとともにレンダリングする過程と、
を備えることを特徴とするプログラム。 - 3次元グラフィックスプログラムのプラグインモジュールとして提供されることを特徴とする請求項6に記載のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/798,935 US20080309668A1 (en) | 2007-05-17 | 2007-05-17 | Image processing method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008287696A true JP2008287696A (ja) | 2008-11-27 |
Family
ID=40131847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007286801A Pending JP2008287696A (ja) | 2007-05-17 | 2007-11-02 | 画像処理方法と装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080309668A1 (ja) |
JP (1) | JP2008287696A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5891388B2 (ja) * | 2011-03-31 | 2016-03-23 | パナソニックIpマネジメント株式会社 | 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム |
WO2017017790A1 (ja) * | 2015-07-28 | 2017-02-02 | 株式会社日立製作所 | 画像生成装置、画像生成システム及び画像生成方法 |
JP2019145059A (ja) * | 2018-02-22 | 2019-08-29 | 大日本印刷株式会社 | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7990394B2 (en) | 2007-05-25 | 2011-08-02 | Google Inc. | Viewing and navigating within panoramic images, and applications thereof |
US9477368B1 (en) | 2009-03-31 | 2016-10-25 | Google Inc. | System and method of indicating the distance or the surface of an image of a geographical object |
WO2010119496A1 (ja) * | 2009-04-13 | 2010-10-21 | 富士通株式会社 | 画像処理装置、画像処理プログラム、画像処理方法 |
US8325187B2 (en) * | 2009-10-22 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method and device for real time 3D navigation in panoramic images and cylindrical spaces |
JP2011255119A (ja) * | 2010-06-11 | 2011-12-22 | Nintendo Co Ltd | 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法 |
US20130106990A1 (en) | 2011-11-01 | 2013-05-02 | Microsoft Corporation | Planar panorama imagery generation |
US9406153B2 (en) | 2011-12-14 | 2016-08-02 | Microsoft Technology Licensing, Llc | Point of interest (POI) data positioning in image |
US10008021B2 (en) * | 2011-12-14 | 2018-06-26 | Microsoft Technology Licensing, Llc | Parallax compensation |
US9324184B2 (en) | 2011-12-14 | 2016-04-26 | Microsoft Technology Licensing, Llc | Image three-dimensional (3D) modeling |
US10217283B2 (en) | 2015-12-17 | 2019-02-26 | Google Llc | Navigation through multidimensional images spaces |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3138313B2 (ja) * | 1992-02-05 | 2001-02-26 | 株式会社ナムコ | 画像合成用スコープ、画像合成装置及びゲーム装置 |
US5495562A (en) * | 1993-04-12 | 1996-02-27 | Hughes Missile Systems Company | Electro-optical target and background simulation |
US6005967A (en) * | 1994-02-18 | 1999-12-21 | Matushita Electric Industrial Co., Ltd. | Picture synthesizing apparatus and method |
US5574836A (en) * | 1996-01-22 | 1996-11-12 | Broemmelsiek; Raymond M. | Interactive display apparatus and method with viewer position compensation |
US6268862B1 (en) * | 1996-03-08 | 2001-07-31 | Canon Kabushiki Kaisha | Three dimensional virtual space generation by fusing images |
US6038074A (en) * | 1997-05-20 | 2000-03-14 | Ricoh Company, Ltd. | Three-dimensional measuring apparatus and method, image pickup apparatus, and apparatus and method for inputting image |
EP2408193A3 (en) * | 2004-04-16 | 2014-01-15 | James A. Aman | Visible and non-visible light sensing camera for videoing and object tracking |
-
2007
- 2007-05-17 US US11/798,935 patent/US20080309668A1/en not_active Abandoned
- 2007-11-02 JP JP2007286801A patent/JP2008287696A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5891388B2 (ja) * | 2011-03-31 | 2016-03-23 | パナソニックIpマネジメント株式会社 | 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム |
WO2017017790A1 (ja) * | 2015-07-28 | 2017-02-02 | 株式会社日立製作所 | 画像生成装置、画像生成システム及び画像生成方法 |
JPWO2017017790A1 (ja) * | 2015-07-28 | 2017-07-27 | 株式会社日立製作所 | 画像生成装置、画像生成システム及び画像生成方法 |
JP2019145059A (ja) * | 2018-02-22 | 2019-08-29 | 大日本印刷株式会社 | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
JP7196421B2 (ja) | 2018-02-22 | 2022-12-27 | 大日本印刷株式会社 | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20080309668A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008287696A (ja) | 画像処理方法と装置 | |
US10607417B2 (en) | Image generating apparatus and image generating method | |
US10096157B2 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
CN112513712B (zh) | 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法 | |
US10755472B2 (en) | Method and apparatus for displaying image based on user motion information | |
JP5168580B2 (ja) | 運転模擬装置、広角カメラ映像模擬装置および画像変形合成装置 | |
JP2009237680A (ja) | プログラム、情報記憶媒体および画像生成システム | |
CN104781852A (zh) | 用于渲染三维场景的计算机绘图方法 | |
JP2008090617A (ja) | 立体画像生成装置、方法およびプログラム | |
JP6698972B2 (ja) | 仮想物体表示制御装置、仮想物体表示システム、仮想物体表示制御方法、及び仮想物体表示制御プログラム | |
CN104103092A (zh) | 一种基于聚光灯实时动态阴影的实现方法 | |
US9401044B1 (en) | Method for conformal visualization | |
US10719124B2 (en) | Tracking system, tracking method for real-time rendering an image and non-transitory computer-readable medium | |
US8400445B2 (en) | Image processing program and image processing apparatus | |
JP4749198B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US10699372B2 (en) | Image generation apparatus and image display control apparatus | |
JP4868586B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP6503098B1 (ja) | 画像処理装置、画像処理プログラム及び画像処理方法 | |
CA3155612A1 (en) | Method and system for providing at least a portion of content having six degrees of freedom motion | |
JP2005346417A (ja) | 仮想三次元座標ポリゴンによるオブジェクト画像の表示制御方法及びこれを用いた画像表示装置 | |
US20200258290A1 (en) | Image generation apparatus and image generation method | |
CN115830210A (zh) | 虚拟对象的渲染方法、装置、电子设备及存储介质 | |
CN114511664A (zh) | 全景纹理的映射方法 | |
JP5063022B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US20230351674A1 (en) | Image processing device and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080820 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090608 |