【実施例1】
【0015】
A.システム構成:
図1は、3次元地図表示システムの構成を示す説明図である。本実施例の3次元地図表示システムは、CPU、RAM、ROMを備えるパーソナルコンピュータのディスプレイ上に3次元地図を表示するシステムである。3次元地図表示システムは、単に地図を表示するシステムとして構成する他、3次元地図を表示しながらユーザに指定された出発地から目的地までの経路を案内する経路案内システムなど、種々の態様で構成することができる。
3次元地図を表示する装置としては、パーソナルコンピュータの他、スマートフォン、タブレットなどの携帯端末、カーナビゲーション装置など、種々の装置を利用できる。また、本実施例では、スタンドアロンで稼働するシステムを例示するが、3次元地図表示システムは、種々のサーバおよび端末をネットワーク等で接続して構成してもよい。
3次元地図表示システムは、パーソナルコンピュータに、図示する各機能を実現するソフトウェアをインストールすることによって構成される。図示する機能ブロックは、ハードウェア的に構成してもよい。
【0016】
各機能ブロックの機能について説明する。
コマンド入力部101は、ユーザからのコマンドを入力する。コマンドとしては、例えば、地図を表示するための投影方向、表示範囲の指定や、夜景モードの指定などが挙げられる。
地図データベース120は、3次元地図を表示するためのデータとして、3次元モデル121および文字データ122を記憶している。3次元モデル121とは、道路や建物など種々の地物の3次元形状を表すポリゴンデータである。3次元モデル121には、各地物の種別、道路の車線数や建物の高さなど種々の属性データが対応づけられている。文字データ122は、地図中に表示される文字列を表すデータである。
表示制御部110は、地図データベース120のデータを用いて3次元地図を表示する。本実施例では、夜景の3次元地図を表示可能であり、図示する各機能ブロックは、それぞれ夜景の表示に活用される。
明かり画像生成部111は、3次元モデルのうち、道路を浮かせるとともに光らせることによって、道路付近を光源とした状態の投影画像、即ち明かり画像を生成する。
マスク画像生成部112は、3次元モデルに含まれる地物を種別に応じて塗り分けてから投影することによって、投影図の各画素がいかなる地物に対応するかを判断するためのマスク画像を生成する。
カラー画像生成部113は、3次元モデルに含まれる地物を配置して、投影することで通常の投影画像を生成する。本実施例では、これをカラー画像と呼ぶ。
夜景画像生成部114は、以上で生成された明かり画像、マスク画像、カラー画像を重畳することによって、リアリティの高い夜景画像を生成する。夜景画像を生成する手順については、後述する。
【0017】
B.夜景表示処理:
図2は、夜景表示処理のフローチャートである。表示制御部110(
図1参照)が実行する処理であり、ハードウェア的には、3次元地図表示システムのCPUが実行する処理である。
処理を開始すると、3次元地図表示システムは、投影方向、表示範囲を設定する(ステップS10)。そして、素材画像生成処理(ステップS12)、カラー画像調整処理(ステップS14)、明かり画像調整処理(ステップS16)をそれぞれ実行する。素材画像生成処理(ステップS12)とは、夜景画像の表示に用いる3種類の画像、即ち明かり画像、マスク画像およびカラー画像をそれぞれ生成する処理である。カラー画像調整処理(ステップS14)とは、カラー画像と、明かり画像を重畳して、カラー画像の明度等を夜景用に調整した調整カラー画像を生成する処理である。明かり画像調整処理(ステップS16)は、明かり画像とマスク画像とを用いて、夜景のリアリティをより向上させるように明かり画像の明度を調整する処理である。
そして、3次元地図表示システムは、以上で生成された調整カラー画像と調整明かり画像を合成することによって(ステップS18)、夜景画像を生成する。
以下、各処理について詳しく説明する。
【0018】
C.素材画像生成処理:
図3〜5は、素材画像生成処理のフローチャートである。夜景表示処理(
図2)のステップS12に相当する処理である。
この処理では、3次元地図表示システムは、地図データベース120から地図データ、即ち3次元モデルを読み込み(ステップS30)、投影方向を設定して(ステップS32)、3次元モデルを仮想3次元空間に配置する(ステップS34)。
そして、指定された投影方向からの平行投影によってカラー画像を生成する(ステップS36)。図中にカラー画像の例を示した。鉛直方向から斜め方向に傾けた投影方向から平行投影することによって、図示するように、それぞれの地物を3次元的に描くことができる。図中には、高速道路、高層建物、道路などが描かれている。
本実施例では、このようにカラー画像の生成に平行投影を利用したが、透視投影を利用してもよい。
【0019】
図4に移り、3次元地図表示システムは、次に、仮想空間に配置された各地物を種別ごとに単色で塗り分ける(ステップS40)。本実施例では、図示する通り、高速道路をレッド(R)、道路をグリーン(G)、高層建物をブルー(B)とし、その他の地物を透明(A)(アルファ値を意味する)とした。このようにR、G、Bの3原色とアルファ値(A)を用いることにより、R,G,Bのフィルタを用いるだけで、マスク画像の各画素がいずれの地物に対応するかを容易に判断することができる利点がある。
もっとも、塗りつぶしは、必ずしも3原色および透明の4種類に分ける必要はなく、RGBが混在した多様な色を用いてもよい。この場合には、各画素の階調値を特定して、どの地物に対応するかを判断すればよい。
地物の種別は、3次元モデル121の属性データに基づいて行うことができる。実施例では、道路、高速道路、高層建物という種別を例示したが、道路を更に車線数で分類してもよいし、国道、県道などの種別で分類してもよい。
実施例では、マスク画像を1枚の単体画像としたが、複数枚に分けて用意してもよい。また、実施例では、高速道路、道路、高層建物、その他という種別に分けてマスク画像を用意したが、例えば、この他に、道路、建物、その他の3種類に分けたマスク画像など、マスク画像を作成する際の種別の設定を複数種類用意し、種別の設定が異なるマスク画像を複数種類備えるようにしてもよい。こうすることで、都市部の夜景、郊外の夜景、または日没後間もない時間帯、深夜など、夜景の種類に応じてマスク画像を使い分け多様な表現を実現することも可能となる。
【0020】
3次元地図表示システムは、地物の塗り分けが完了すると、平行投影によってマスク画像を生成する(ステップS42)。ここでの平行投影の投影方向は、カラー画像の生成時(ステップS36参照)と同じである。
図中にマスク画像の例を示した。図中のハッチングは、それぞれステップS40で塗り分けられた色を表している。ステップS36のカラー画像と比較すると高速道路、道路、高層建物が、それぞれ図中に示した位置および形状となって描かれることが分かる。このように生成されたマスク画像の各画素の色を見れば、それぞれの画素がどの地物に対応するかを容易に判断することができる。マスク画像とは、このように投影図内の各画素と地物との対応関係を特定するために用いられる画像である。
【0021】
図5に移り、3次元地図表示システムは、3次元モデルの道路のポリゴンを高さHだけ上方に移動させて浮かせる(ステップS50)。高さHは、ユーザが指定してもよいし、予め設定された所定値などとしてもよい。
3次元地図表示システムは、各地物のテクスチャを無くし、道路面を光らせる(ステップS52)。そして、この状態で、3次元地図表示システムは、平行投影することで明かり画像を生成する(ステップS54)。ここでの平行投影も、カラー画像およびマスク画像の平行投影と同じ条件である。
図中に明かり画像の例を示した。道路および高速道路の路面が白く光っており、建物の窓Wは、道路面の光で照らされた状態となっている。路面からの光以外に光源は設定していないため、地物の屋上部分は暗くなっている。明かり画像は、夜の街中における光の様子、例えば、道路を走行する車両の光や、道路の街灯などを表した画像となっていることが分かる。
道路を浮かせる高さHは、明かり画像のリアリティに影響する。現実の世界では、道路上の車両や街灯などによって実現される光の平均の高さは、道路表面よりもある程度高いところにあるため、道路を浮かせることで、現実の状態に近い明かりを再現できるからと推測される。道路を浮かせる高さHは、任意に設定可能であり、例えば、車両の平均高さや街灯の平均高さに基づいて設定してもよいし、試行錯誤的に最もリアリティの高い値を決めるようにしてもよい。また、道路を浮かせる高さは、道路面の明かりの強さに応じて変化させてもよい。
また、ステップS52、S54においては、一般の道路と高速道路とで明るさや、その色を変えても良い。また、それぞれの路面を一様に光らせる他、所定のパターンやグラデーションなどにより、明かりに変化を持たせても良い。
3次元地図表示システムは、以上の各処理によって、素材画像、即ちカラー画像、マスク画像、明かり画像の生成を終了する。
【0022】
D.調整カラー画像の生成:
図6は、調整カラー画像の生成例を示す説明図である。調整カラー画像の生成は、夜景表示処理のカラー画像調整処理(ステップS14)に相当する処理である。
調整カラー画像は、図示するように、カラー画像に明かり画像を重畳して合成することで生成される。図の下側に、生成された調整カラー画像を示した。調整カラー画像においては、明かり画像において白く光っている部分、例えば、道路、高速道路、建物の窓などの部分にカラー画像のテクスチャが再現されている。一方、建物の屋上などは、明かり画像のように暗く表現される。このように、調整カラー画像によれば、既にリアリティの高い夜景画像を実現することができる。
本実施例では、リアリティを向上させるため、カラー画像の明度を落とした上で明かり画像と合成するようにした。このように合成に際しては、リアリティを向上させるため、カラー画像の明度を含む色調や、明かり画像の明度などを調整してもよい。また、合成の際は、明かり画像を透過させた状態でカラー画像に重畳する。この透過率も任意に設定可能である。
【0023】
E.調整明かり画像の生成:
図7は、調整明かり画像の生成例を示す説明図である。調整明かり画像の生成は、夜景表示処理の明かり画像調整処理(ステップS16)に相当する処理である。
調整明かり画像は、図示するように、マスク画像を参照しながら、明かり画像の明度を地物の種別ごとに調整することで生成する。例えば、明かり画像内の道路A1、建物の窓B1、高速道路C1と、調整明かり画像内の道路A2、窓B2、高速道路C2とを比較すれば分かる通り、調整カラー画像内では、各地物はそれぞれ異なる明るさとなっている。
本実施例では、道路の明るさを弱く、高速道路をさらに弱く調整した。つまり、明かり画像において光源となった路面は、それぞれ暗くなるように調整している。一方、建物は明るさを強く、高層建物はさらに強く調整した。つまり、明かり画像において路面からの明かりで照らされる側の地物については、明るくなるように調整している。こうすることで、照らされた明かりの効果を強調させることができる。建物よりも高層建物をより強く調整したのは、明かり画像の生成時に、高層建物は路面から離れているため、路面からの明かりが届きにくいため、暗く表現されているからである。
図中に示した調整明かり画像は、夜景のリアリティを向上させるため、全体の明度を落としている。
【0024】
マスク画像の使用方法について改めて説明する。先に説明した通り、マスク画像は、地物との対応関係に応じて各画素の色が異なる画像となっている。本実施例では、RGBおよび透明を用いているため、マスク画像は、R,G,Bの各色の領域と、透明で何も表示されない領域から構成されることになる。
調整明かり画像を生成する際には、まず、マスク画像に対してレッド(R)のみを抽出するフィルタ処理を施す。こうすることによって、レッドに対応する高速道路部分の画素だけが表された画像を生成することができる。この画像と明かり画像との各画素の論理積をとった上で、各画素の明度を調整すれば、高速道路部分の明度のみを容易に調整することが可能となる。同様にして、フィルタ処理によってグリーン(G)のみを抽出した画像、ブルー(B)のみを抽出した画像を用いれば、それぞれ容易に道路および高層建物の明度を調整することができる。
透明部分については、レッド(R)、グリーン(G)、ブルー(B)のいずれかを除去するフィルタを用いればよい。こうすれば、透明部分の画素のみを抽出した画像を得ることができる。
【0025】
本実施例において、明度の調整方法は、上述した態様に限らず種々の方法を設定することが可能である。
また、各地物に対応する画素の特定方法も、上述した態様には限らない。例えば、明かり画像から処理対象の画素を一つずつ選択し、マスク画像において、これに対応する画素を参照することで、地物との関係を特定してもよい。
さらに、調整明かり画像の生成には、必ずしもマスク画像を用いる必要もない。明かり画像の各画素に対して、平行投影の逆変換を行うことにより、どの地物に対応する画素かを算出してもよい。
【0026】
F.夜景画像の生成:
図8は、夜景画像の生成例を示す説明図である。夜景画像生成処理(
図2)のステップS18に相当する処理である。
本実施例では、調整カラー画像と調整明かり画像とを合成することによって図の下側に示す夜景画像を生成した。合成する際に、全体の色相を赤に少し移行させた。このように夜景としてのリアリティを向上させるように明度、彩度、色相を調整してもよい。もっとも、こうした調整を行わなくても、本実施例の方法によれば、十分にリアリティの高い夜景画像を得ることができる。
【0027】
G.効果および変形例:
図9は、実施例における夜景画像例を示す説明図である。改めて手順を説明すると、まず3次元モデルの投影によって、カラー画像、マスク画像、明かり画像の3通りを生成する。そして、カラー画像と明かり画像を重畳して調整カラー画像を生成する。また、マスク画像を参照しながら明かり画像の明度を調整して、調整明かり画像を生成する。こうして得られた調整カラー画像と調整明かり画像とを重畳して、夜景画像を得るのである。
図9には、こうして得られた画像例を示した。図示する通り、路面からの光によって照らされる建物が夜景らしく再現されていることが分かる。
以上で説明した実施例の3次元地図表示システムによれば、
図9に示すように、リアリティの高い夜景画像を生成することが可能となる。
【0028】
以上、本発明の実施例について説明した。本発明では、実施例で説明した種々の特徴点は、必ずしも全てを備えている必要はなく、適宜、一部を省略したり組み合わせたりして適用してもよい。また、本発明は、上述した実施例の他、種々の変形例をとることができる。
(1)実施例においてソフトウェアで処理している部分はハードウェアに置き換えることもでき、その逆も可能である。
(2)実施例の方法に代えて、カラー画像と調整明かり画像とを重畳して夜景画像を生成してもよい。
(3)実施例では平行投影を用いたが、透視投影によって夜景画像を生成してもよい。この場合、各素材画像は、視点、視線方向などの投影条件を同一にして生成する必要がある。
(4)実施例では道路を光らせる例を示したが、建物の壁を光らせることで窓からの明かりを表現するなど、明かり画像を生成する際の光源となるポリゴンは種々の選択が可能である。