【文献】
清水浩行, 外2名,”航空高度データとレンジデータの統合による3次元街モデルの構築”,映像情報メディア学会誌,日本,(社)映像情報メディア学会,2004年 6月 1日,第58巻, 第6号,p.827-834
(58)【調査した分野】(Int.Cl.,DB名)
上記視点決定部は、上記第2の視点と上記第3の視点を、それぞれ水平方向に45度回転させた第4の視点と第5の視点とを決定することを特徴とする請求項2記載の画像描画装置。
上記視点決定部は、異なる位置、視線方向を持つ複数の視点から構成される視点群を複数設定し、上記複数設定した視点群において、視点群を構成する各視点から生成される上記オリジナルモデルのシルエットを用いて得られるボリュームが、最小となる該視点群を構成する各視点を、視点として決定することを特徴とする請求項1記載の画像描画装置。
上記輪郭結合部は、隣り合う2つの輪郭において、上記隣り合う2つの輪郭が共有する頂点における一方の輪郭が為す内角ともう一方の輪郭が為す内角との和が180度である場合に上記隣り合う2つの輪郭を結合するとともに、
上記隣り合う2つの輪郭が共有する頂点における一方の輪郭が為す内角ともう一方の輪郭が為す内角との和が180度となるように上記共有する頂点を移動させた際の上記隣り合う2つの輪郭の変形量が特定の閾値以下であるかどうかを判定し、閾値以下であれば上記隣り合う2つの輪郭を変形させて結合することを特徴とする請求項1記載の画像描画装置。
上記ポリゴン削減部で削除されるポリゴンは、隣り合う柱体同士の向かい合った2つの壁面において、一方の壁面に包含されるもう一方の壁面を構成するポリゴンであることを特徴とする請求項1記載の画像描画装置。
上記テクスチャ生成部は、上記オリジナルモデルの鉛直上方と、上記第2、第3の視点と、上記第2、第3の視点をそれぞれ水平方向に180度回転させた2つの視点とから、上記オリジナルモデルに対応するテクスチャでテクスチャマッピングされた上記オリジナルモデルを描画して、テクスチャを生成することを特徴とする請求項2記載の画像描画装置。
上記描画対象決定部は、描画時に使用する縮尺に応じた詳細度の3次元ポリゴンモデルもしくはオリジナルモデルを描画するよう決定することを特徴とする請求項1記載の画像描画装置。
【発明を実施するための形態】
【0011】
実施の形態1.
図1は、この発明の実施の形態1に係る画像描画装置の構成を示す図である。画像描画装置は、前処理部1、実行時処理部2、記憶装置3、画像出力装置4を備える。前処理部1は、テクスチャマッピングされた建物モデル群データを入力とし、複数の詳細度で簡略化された建物モデル群データを作成する。また、該入力された建物モデル群データと該複数の詳細度で簡略化された建物モデル群データとを記憶装置3に出力する。記憶装置3は、前処理部1から出力されたこれら建物モデル群データを記憶する。実行時処理部2は、記憶装置3に記憶されている建物モデル群データを読み出し、例えば縮尺などで数値化されて示される視点位置などの入力情報に応じて、適切な詳細度の建物モデル群を描画して画像出力装置4に出力する。画像出力装置4は、実行時処理部2から出力された建物モデル群をモニターなどの画像表示装置(図示せず)に出力する。なお、前処理部1に入力される建物モデル群データとして、3次元の建物モデル群データ、特に例えばテクスチャを持ったポリゴンで構成された3次元建物モデル群データなどが考えられる。
【0012】
前処理部1は、視点決定部11、モデル投影部12、輪郭生成部13、輪郭分割部14、輪郭結合部15、輪郭ポリゴン化部16、ポリゴン削減部17、テクスチャ生成部18を備える。
視点決定部11は、データとして入力された建物モデル群内の各モデルに対して、2つ以上の視点を決定する。モデル投影部12は、視点決定部11で決定した視点を用いて各モデルを平行投影で描画することで、シルエット画像を生成する。輪郭生成部13は、モデル投影部12が生成したシルエット画像に含まれるシルエットの輪郭を線分の集合として生成する。輪郭分割部14は、輪郭生成部13が生成した輪郭のうち1つを、他の輪郭を用いて分割し、高さ情報を付与する。輪郭結合部15は、輪郭分割部14が分割した輪郭の内、条件に応じて一部を結合する。輪郭ポリゴン化部16は、輪郭結合部15が結合処理した輪郭から3次元ポリゴンモデルを生成する。ポリゴン削減部17は、輪郭ポリゴン化部16が生成した3次元ポリゴンモデルから、描画に不必要なポリゴンを削除する。テクスチャ生成部18は、テクスチャ画像のデータを生成し、視点決定部11に入力された建物モデル群データとテクスチャ、ポリゴン削減部17が削減処理した3次元ポリゴンモデルのデータと共に記憶装置3に出力する。
【0013】
また、実行時処理部2は、描画対象決定部21、描画部22を備える。描画対象決定部21は、記憶装置3に記憶されている建物モデル群データを読み出し、視点位置などの入力情報に応じて描画する建物モデル群を決定する。描画部22は、描画対象決定部21が決定した建物モデル群を描画して、画像出力装置4に出力する。
【0014】
次に、この発明の実施の形態1に係る画像描画装置の動作について説明する。
図2、3を用いて、前処理部1を構成する視点決定部11の動作について説明する。
図2に、簡略化するモデルの一例を示す。
図2に示されるモデルは、視点決定部11に入力される建物モデル群データをそのまま表示装置にて表示した場合の詳細度のモデルであり、簡略化前のモデル、つまりオリジナルモデルである。
視点決定部11では、データとして入力された建物モデル群内の各モデルに対して、モデルのシルエットを生成するために使用する2つ以上の視点を決定する。以降、決定する視点のうち1つを主視点、それ以外をサブ視点と呼ぶこととする。主視点は、モデルを見下ろすように決定され、サブ視点は主視点以外の視点として1つ以上決定される。
【0015】
これらの視点を決定する方法として、例えば、主視点の位置と視線方向は、モデルのバウンディングボックスの中心を鉛直上方から見る視点とできる。また、主視点の向きを次のように決定できる。まず、一時的に東方向を主視点の右手方向として、モデルのシルエット画像とその輪郭を主視点からの平行投影により生成する。この際、シルエット画像(輪郭)のXY座標軸として、主視点の右手方向(東方向)を例えばX軸方向とし、主視点の上方向(北方向)をY軸方向とする2次元直交座標系を設定する。そして、輪郭を構成する各微小線分のベクトル(ベクトルの向きは、微小線分の2つの端点のうち、どちらを始点にしても構わない)において、設定したX、Y軸方向のベクトルであり大きさが等しいベクトル(例えばX、Y軸の単位ベクトル)それぞれとの内積を算出し、算出した2つの内積値のうち絶対値が小さいほうの値を選択する。さらに、各微小線分において選択したそれら絶対値の総和を算出する。
【0016】
次に、主視点の右手方向を、主視点の視線方向つまり鉛直方向を回転軸とし、視線方向に対して垂直な平面つまり水平面上で少量回転させる。このとき、上記で設定したXY座標軸も、主視点の右手方向に合わせて同様に少量回転させる。そして、該回転した主視点の向き、XY座標軸において、上記と同様に内積値の絶対値の総和を算出する処理を、主視点の右手方向およびXY座標軸が90度回転するまで繰り返す。すなわち、シルエット画像(輪郭)に対して複数の2次元直交座標系を設定し、それぞれの2次元直交座標系において、上記した内積値の絶対値の総和を算出する処理を行う。
最後に、主視点の右手方向およびXY座標軸が90度回転したときに、上記絶対値の総和が最小となったときの主視点の向きを求め、該主視点の向きを、主視点の向きとして決定する。すなわち、設定した複数の2次元直交座標系のうち、上記絶対値の総和が最小となる2次元直交座標系を求め、該2次元直交座標系のX軸方向を主視点の右手方向、Y軸方向を主視点の上方向とする。
なお、主視点の右手方向およびXY座標軸を少量回転させるときの回転軸の位置は任意であり、例えばモデルの重心を通る位置とすることができる。
【0017】
サブ視点の位置、視線方向および向きは、例えば、鉛直上方を上方向とし、主視点の右手方向(上記絶対値の総和が最小となったときのXY座標軸におけるX軸方向)を視線方向とする視点をサブ視点Aとでき、鉛直上方を上方向とし、主視点の上方向(上記絶対値の総和が最小となったときのXY座標軸におけるY軸方向)を視線方向とする視点をサブ視点Bとできる。
【0018】
さらに、サブ視点AおよびBの視線方向をそれぞれ水平方向に45度回転させたものをサブ視点D、Cとできる。
図3は、以上のとおり生成した主視点とサブ視点を示している。この決定方法では、各視点の視線方向同士が直交または45度に交わるため、次に説明するモデル投影部12以降の各部での処理動作における計算を、容易にできる。
なお、モデル投影部12の動作で後述するように、視点決定部11で決定した視点は、平行投影に用いるので、視点の位置は無限遠となる。
図3では、便宜的に各視点の位置を示している。
決定された各視点の情報は、モデル投影部12へ出力される。
【0019】
なお、主視点を決定する方法は、上記の方法に限らず、視線方向がモデルを見下ろす方向であって、そのときに平行投影により得られるモデルのシルエットの面積が、小さくなるように決定すれば、任意の方法でよい。例えば、ランダムに複数の主視点位置候補を設定し、シルエットの面積が最も小さくなるものを主視点として決定するなどの方法が考えられる。
【0020】
また、サブ視点を決定する方法は、後述するポリゴン削減部17で生成されるモデルのポリゴン数が少なく、かつ、該モデル形状と簡略化前の元のモデル形状との差が小さくなるように決定すれば任意の方法でよい。
例えば、主視点および2つ以上のサブ視点の各視点からの平行投影によるシルエットを交差させたボリュームを生成し、そのボリュームを最小化するように各視点を決定するなどしてもよい。つまり、異なる位置、視線方向を持つ複数の視点から構成される視点群を複数設定し、1つの視点群において、該視点群を構成する各視点からの平行投影によるモデルのシルエットを交差させたボリュームを求める処理を、設定した全ての視点群に対して行う。そして、ボリュームが最小となった視点群を選択し、該視点群を構成する各視点を、主視点およびサブ視点として決定してよい。
【0021】
さらに、サブ視点の数も任意であり、後述する輪郭ポリゴン化部16で生成したモデルの品質に応じて変化させてもよく、品質が低い場合にサブ視点を追加するなどしてもよい。サブ視点の数を増加させることで、生成されるモデルの品質を向上させることができる。
なお、モデルの品質の判断基準としては、例えば、視点決定部11に入力されたモデルと輪郭ポリゴン化部16で生成したモデルとのボリュームを比較して、差分の体積が小さいものほど品質が高いと判断するなどの方法を用いることができる。
【0022】
図4を用いて、前処理部1を構成するモデル投影部12の動作について説明する。モデル投影部12では、視点決定部11にて決定した視点から、モデルを2値画像として平行投影で描画し、シルエット画像を生成する。
図4は、各視点から生成したシルエット画像を示している。
図4(a)は主視点から生成したシルエット画像、(b)はサブ視点Aから生成したシルエット画像、(c)はサブ視点Bから生成したシルエット画像、(d)はサブ視点Cから生成したシルエット画像、(e)はサブ視点Dから生成したシルエット画像である。ただし、同図には、後述する輪郭生成部13が生成する輪郭も描かれている。また、同図では、各視点から生成したシルエット画像と輪郭について、該視点の右手方向をX軸方向とし、この方向に直交するY軸方向とで定められるXY座標を設定することができる。
【0023】
このときに生成するシルエット画像の解像度は、3次元空間内の長さLがPピクセルになるよう決定する。このとき、Lに対するPの比率P/Lを大きくすることで、生成されるモデルの詳細度は高くなり、反対に小さくすることで、モデルの詳細度は低くなる。そのため、P/Lは生成するモデルの詳細度を制御するパラメータとなる。
生成されたシルエット画像の情報は、輪郭生成部13へ出力される。
【0024】
図4を用いて、前処理部1を構成する輪郭生成部13の動作について説明する。まず、主視点から生成したシルエットの輪郭を求める。そして、輪郭を誤差E
1ピクセル以下で最小数の線分の集合に近似する。なお、誤差Eが大きいほど最終的に生成されるモデルが荒く、元のモデルとの差が大きいものになる。これは、モデルの詳細度を制御するパラメータとなる。以降、この輪郭を主輪郭と呼ぶ。
図4(a)に主輪郭を示す。また、主輪郭の各頂点に対して、高さ情報を付与する。この高さとは、主輪郭を構成している各頂点における、地面から主視点の視線方向と反対方向の距離のことである。
【0025】
次に、各サブ視点から生成したシルエットに対し、以下の方法で輪郭を生成する。以降、この輪郭をサブ輪郭と呼ぶ。まず、上記の通り各サブ視点から生成したシルエットにおいて設定したXY座標において、シルエット画像のx=i(0≦i<画像幅−1、iは自然数)におけるピクセルの内、シルエットに含まれる最大のy座標をy(i)として求める。次に、求めた座標(i,y(i))をi=0から順に接続する。そして、接続された線分群を、誤差E
2ピクセル以下で最小数の線分群に近似する。ただし、近似する際には、x=0となる輪郭の端点からもう一方の端点に線分を辿ったとき、線分のx成分が0以上となるようにする。
図4(b)〜(e)は、
図3に示したサブ視点A〜Dから生成したサブ輪郭A〜Dをそれぞれ示している。生成された輪郭の情報は、輪郭分割部14へ出力される。
【0026】
図5を用いて、前処理部1を構成する輪郭分割部14の動作について説明する。輪郭分割部14では、まず、サブ輪郭Aの各頂点を視線方向に延長した直線を生成し、主輪郭上に投影する。そして、投影された直線を用いて主輪郭を分割する。ここで、投影された直線と主輪郭との交点に生成された新たな頂点の高さには、その頂点につながる主輪郭上の2頂点の高さを線形補間した値と、交点における投影された直線の高さとを比較し、小さい方を採用する。なお、交点における投影された直線の高さとは、該交点を形成している投影された直線がサブ輪郭Aと交わる点における、y座標成分の値である。以降、同様に他のサブ輪郭B〜Dを用いて、主輪郭を分割する。
図5(a)は、
図4で生成したサブ輪郭AとBで主輪郭を分割する様子を示し、
図5(b)は、
図5(a)で示す状態からさらにサブ輪郭CとDで主輪郭を分割する様子を示す。
また、とあるサブ輪郭から投影した直線と他のサブ輪郭から投影した直線とが交わる場合、この交点(頂点)における高さは、投影され交わったそれぞれの直線の高さのうち、小さい方を採用する。
【0027】
なお、
図4で生成した主輪郭の元となった主視点の視線は鉛直方向であったため、主輪郭を構成している各頂点の高さは、地面からの鉛直方向の距離に一致しており、各サブ輪郭の視線は水平方向であるため、頂点から視線方向へ伸ばした直線も水平方向に一致しており、主輪郭を分割する際に、主輪郭と、サブ輪郭の各頂点を視線方向に延長して主輪郭上に投影した直線との交点と、該交点の高さを容易に計算することが可能である。さらに、サブ視点A、Bの視線方向を互いに垂直かつ主視点の視線方向に対して垂直に決定したため、上記直線は主輪郭を生成したシルエット画像のX軸方向またはY軸方向に平行となっている。同様に、サブ輪郭C、Dから伸ばした直線も水平方向に一致しており、主輪郭の元となったシルエット画像のX軸方向またはY軸方向に対して45度のため、主輪郭を分割する際に、主輪郭と、サブ輪郭の各頂点を視線方向に延長して主輪郭上に投影した直線との交点と、該交点の高さを容易に計算できる。
以上のように分割された主輪郭の情報は、輪郭結合部15へ出力される。
【0028】
図6と
図7を用いて、前処理部1を構成する輪郭結合部15の動作について説明する。輪郭結合部15では、分割された主輪郭を構成する線分の内、不要なものを検出して削除する。
例えば、
図6(a)のように、分割されて互いに接している2つの輪郭C1とC2があった場合、頂点P0が線分L1側と線分L2側で同じ高さかつ、頂点P1が線分L3側と線分L4側で同じ高さであり、さらに線分L1と線分L2が同じ向き(線分同士が交わる角度が0度)かつ線分L3と線分L4が同じ向きである場合、線分L5を削除して輪郭C1とC2を結合できる。
【0029】
ここで、線分側の高さについて、
図6(b)に示すような主輪郭とサブ輪郭が得られたモデルにおいて説明すると、頂点P0は、線分L1側でh0の高さを、線分L2側でh1の高さを持つ。同様に、頂点P1は、線分L3側でh0の高さを、線分L4側でh1の高さを持つ。この場合、頂点P0は、線分L1側と線分L2側で同じ高さでなく、同様に、頂点P1は、線分L3側と線分L4側で同じ高さでない。従って、この場合は輪郭を結合することはできない。
図7は、
図5で示すように分割された主輪郭を構成する線分のうち、結合可能なものを全て結合した結果である。
分割された後に不要な線分が結合された主輪郭の情報は、輪郭ポリゴン化部16へ出力される。
【0030】
ただし、結合可能か否かの判定方法は任意であり、判定条件を緩めることでより多くの輪郭を結合するようにしてもよい。例えば、
図6(a)に示すように分割されて互いに接している2つの輪郭C1とC2において、線分L1と線分L2、線分L3と線分L4がそれぞれ同じ向きであれば輪郭C1とC2を結合して1つの輪郭とするとともに、
図6(c)に示すように分割されて互いに接している2つの輪郭C3とC4において、線分L5と線分L6、および線分L7と線分L8が、それぞれ同じ向き、つまり頂点P2および頂点P3における輪郭C3が為す内角と輪郭C4が為す内角との和が180度になるように頂点P2および線分P3の位置と高さを
図6(d)に示すように変更したとき(なお、線分L7と線分L8はもともと同じ方向であるので、P3の変位は0である)、変更前後の頂点P2および頂点P3の位置の変位つまり変更前後の輪郭C3とC4の変形量が特定の閾値以下であれば、輪郭を変更させて結合するなどの方法としてもよい。
【0031】
前処理部1を構成する輪郭ポリゴン化部16の動作について説明する。輪郭ポリゴン化部16では、輪郭結合部15で生成された輪郭を、各頂点が持つ高さに合わせて地面から主視点の方向に持ちあげて、柱体とする。そして、各柱体の上面と側面を3角形の集合に分割し、3次元ポリゴンモデルとしてポリゴン化する。生成された3次元ポリゴンモデルの情報は、ポリゴン削減部17へ出力される。
【0032】
前処理部1を構成するポリゴン削減部17の動作について説明する。ポリゴン削減部17では、全ての隣り合う柱体同士を調べ、一方の柱体の壁面の1つがもう一方の柱体の壁面の1つに包含されている場合、包含される壁面を構成するポリゴンを、描画に不必要なポリゴンとして削除する。柱体で構成され、描画に不必要なポリゴンが削除された3次元ポリゴンモデルの情報は、テクスチャ生成部18へ出力される。
なお、上記した前処理部1を構成する各部での処理に平行して、視点決定部11に入力された簡略化前のテクスチャマッピングされた建物モデル群データについては、各部での処理が施されない状態で、順次各部への受け渡しも行われる。
【0033】
図8、
図9を用いて、前処理部1を構成するテクスチャ生成部18の動作について説明する。テクスチャ生成部18では、入力された簡略化前のテクスチャマッピングされたモデルをいくつかの方向から平行投影で描画して画像とすることで、簡略化したモデルである3次元ポリゴンモデルに適用するテクスチャ画像を生成する。例えば、鉛直上方と水平4方向の計5方向から簡略化前のテクスチャマッピングされたモデルを描画することなどでテクスチャ画像を生成できる。
図8は、
図3に示す主視点とサブ視点AとB、およびサブ視点AとBとを反対方向に向けた視点を用いて生成したテクスチャ画像である。
図8(a)は主視点から生成したテクスチャ画像、(b)はサブ視点Aから生成したテクスチャ画像、(c)はサブ視点Aを反対方向に向けた視点から生成したテクスチャ画像、(d)はサブ視点Bから生成したテクスチャ画像、(e)はサブ視点Bを反対方向に向けた視点から生成したテクスチャ画像である。
図9は、上述したポリゴン削減部17までの処理によって生成した3次元ポリゴンモデル、つまり、簡略化したモデルに対して、テクスチャ生成部18で生成したテクスチャ画像をマッピングして描画した例である。
【0034】
なお、上記では、視点決定部11で決定される視点の数が、主視点1つサブ視点4つの計5つの視点である場合について説明した。視点の数が5つ以外、例えば3つの場合においては、元々のモデル形状の再現精度が、
図9に示すような視点の数が5つの場合における精度よりも低くはなるが、従来技術を用いて同じポリゴン数で生成された場合のモデルよりも、元々のモデル形状により近いモデルを得ることができる。
【0035】
最後に、テクスチャ生成部18は、ポリゴン削減部17までの処理によって生成した3次元ポリゴンモデルのデータとテクスチャのデータを、HDDなどで実現される記憶装置3に記録する。また、視点決定部11に入力された簡略化前のモデルとテクスチャのデータも同時に記憶装置3に記録する。
【0036】
実行時処理部2を構成する描画対象決定部21の動作について説明する。描画対象決定部21は、記憶装置3から、前処理部1の入力となったオリジナルのモデル群データと、前処理部1で用いるパラメータP/LとE
1とE
2とを変化させて前処理部1での処理を実行することで複数の詳細度で簡略化されたモデル群データと、それぞれに対応したテクスチャとを読み出す。そして、視点位置などの入力情報に応じて、描画するモデルを決定する。例えば、視点とモデルの距離に応じて、近距離つまり入力された縮尺が大きい場合などではオリジナルのモデルを使用し、遠距離つまり入力された縮尺が小さい場合などではより簡略化されたモデルを使用するなどの方法で決定できる。描画対象として決定した詳細度のモデル群データは、描画部22へ出力される。
【0037】
実行時処理部2を構成する描画部22の動作について説明する。描画部22では、描画対象決定部21で描画対象としたモデル群を対応するテクスチャを用いて描画し、画像出力装置4に出力する。モデルの描画方法は、一般的なポリゴン描画処理に準ずるため、省略する。
【0038】
以上のように、本発明の実施の形態1によれば、従来技術を用いて生成したモデルが持つポリゴン数と同じポリゴン数で構成されるモデルを生成した場合に、従来技術を用いたものよりも元のモデル形状により近いモデルを得ること、また、生成したモデルに適用するテクスチャを自動生成すること、さらにそれらモデルとテクスチャを用いて3次元建物群を高速に描画することができる。
【0039】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。