特許第6305912号(P6305912)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ジオ技術研究所の特許一覧

<>
  • 特許6305912-テクスチャ生成システム 図000002
  • 特許6305912-テクスチャ生成システム 図000003
  • 特許6305912-テクスチャ生成システム 図000004
  • 特許6305912-テクスチャ生成システム 図000005
  • 特許6305912-テクスチャ生成システム 図000006
  • 特許6305912-テクスチャ生成システム 図000007
  • 特許6305912-テクスチャ生成システム 図000008
  • 特許6305912-テクスチャ生成システム 図000009
  • 特許6305912-テクスチャ生成システム 図000010
  • 特許6305912-テクスチャ生成システム 図000011
  • 特許6305912-テクスチャ生成システム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6305912
(24)【登録日】2018年3月16日
(45)【発行日】2018年4月4日
(54)【発明の名称】テクスチャ生成システム
(51)【国際特許分類】
   G06T 15/04 20110101AFI20180326BHJP
   G06T 17/05 20110101ALI20180326BHJP
   G09B 29/00 20060101ALI20180326BHJP
【FI】
   G06T15/04
   G06T17/05
   G09B29/00 F
【請求項の数】8
【全頁数】18
(21)【出願番号】特願2014-254808(P2014-254808)
(22)【出願日】2014年12月17日
(65)【公開番号】特開2016-115228(P2016-115228A)
(43)【公開日】2016年6月23日
【審査請求日】2017年9月13日
(73)【特許権者】
【識別番号】502002186
【氏名又は名称】株式会社ジオ技術研究所
(74)【代理人】
【識別番号】100165663
【弁理士】
【氏名又は名称】加藤 光宏
(72)【発明者】
【氏名】冨高 翼
(72)【発明者】
【氏名】内海 公志
(72)【発明者】
【氏名】福嶋 祐紀
【審査官】 千葉 久博
(56)【参考文献】
【文献】 特開2012−48529(JP,A)
【文献】 特開平11−339072(JP,A)
【文献】 特開平7−105401(JP,A)
【文献】 米国特許出願公開第2012/0194547(US,A1)
【文献】 米国特許出願公開第2009/0273601(US,A1)
【文献】 海賊屋,ローポリモデリング 第2版,株式会社秀和システム,2008年12月25日,第1版,p.262-267
【文献】 関根真弘,“GPUを用いたリアルタイム高次元テクスチャマッピング”,情報処理学会研究報告,日本,社団法人情報処理学会,2005年 8月19日,第2005巻, 第85号,p.13-18
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/04
G06T 17/05
G09B 29/00
(57)【特許請求の範囲】
【請求項1】
3次元地図において地物の外観を表すテクスチャを生成するテクスチャ生成システムであって、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを記憶するマトリックス記憶部と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成部とを備え、
該テクスチャ生成部は、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけ、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択し、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するテクスチャ生成システム。
【請求項2】
請求項1記載のテクスチャ生成システムであって、
前記マトリックスは、前記単位テクスチャの各種類と1対1に対応する制御値を記憶しているテクスチャ生成システム。
【請求項3】
請求項1記載のテクスチャ生成システムであって、
前記マトリックスは、前記単位テクスチャの種類数よりも広い数値範囲の制御値を記憶しており、
前記テクスチャ生成部は、前記制御値と所定の閾値との比較により、前記制御値を前記単位テクスチャの種類数に量子化して前記選択を行うテクスチャ生成システム。
【請求項4】
請求項3記載のテクスチャ生成システムであって、
前記テクスチャ生成部は、所定の条件に応じて前記閾値を変化させて、前記選択を行うテクスチャ生成システム。
【請求項5】
請求項1〜4いずれか記載のテクスチャ生成システムであって、
前記テクスチャ生成部は、前記テクスチャの生成ごとに、前記配列の各位置と前記マトリックスのピクセルとの対応づけを変化させるテクスチャ生成システム。
【請求項6】
請求項1〜5いずれか記載のテクスチャ生成システムであって、
前記単位テクスチャは、複数種類の前記単位テクスチャを相互に重ならないように配置した単一の統合テクスチャとして記憶されており、
前記テクスチャ生成部は、前記選択に応じて、前記統合テクスチャのうち選択された単位テクスチャに対応する部分を貼付するテクスチャ生成システム。
【請求項7】
3次元地図において地物の外観を表すテクスチャを生成するテクスチャ生成方法であって、
コンピュータが実行するステップとして、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースを参照するステップと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを参照するステップと、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成ステップとを備え、
該テクスチャ生成ステップは、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけるステップと、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択するステップと、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するステップとを備えるテクスチャ生成方法。
【請求項8】
コンピュータに、3次元地図において地物の外観を表すテクスチャを生成させるためのコンピュータプログラムであって、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースを参照する機能と、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを参照する機能と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成機能とをコンピュータ実現させ、
該テクスチャ生成機能として、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づける機能と、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択する機能と、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付する機能とをコンピュータに実現させるコンピュータプログラム。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地物の外観を表すテクスチャを生成するテクスチャ生成システムに関する。
【背景技術】
【0002】
ナビゲーション装置やコンピュータの画面等に用いられる電子地図として、建物などの地物を3次元的に表現した3次元地図がある。3次元地図では、3次元モデルによって地物の3次元形状を表し、その表面に、地物の外観を表したテクスチャを貼付することで、リアリティを向上させている。テクスチャは、地物の外観全体ではなく、窓などの部分に対して生成されることもある。特許文献1は、ビルのような建物に対し、各階などの要素単位でテクスチャを用意しておき、これを階数に応じて繰り返し適用することで壁面全体のテクスチャとする技術を開示している。
近年、3次元地図のリアリティ向上に対する要請はますます高くなり、3次元地図で昼景だけでなく夜景を表すことも求められている。夜景の場合、ビルの窓は、明かりが点灯している部分と、消灯している部分とが混在する。夜景のリアリティを向上させるためには、明かりの点灯、消灯を混在させたテクスチャを用意する必要がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−362184号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
夜景のリアリティを向上させるためには、明かりの点灯、消灯をランダムに配置することが望ましい。一つの方法として、建物の窓の点灯/消灯をそれぞれ表す2種類のテクスチャを用意し、窓ごとに乱数によって、点灯/消灯の2種類のテクスチャを選択しながら配置すれば、全体にランダムな点灯状態を表現することが可能である。しかし、3次元地図には多数の建物が含まれているため、このような方法では、夜景を表現するための処理負荷が膨大なものとなってしまう。
かかる処理負荷を軽減する方法として、複数の窓を配列したグループ単位で、点灯/消灯のパターンを表したテクスチャを複数種類用意し、乱数によって使い分けるという方法が考えられる。具体例を示す。
図11は、2種類の点灯パターンを用いた夜景の3次元地図を例示する説明図である。この例では、図の上側に示すように、横2列×縦4段の8つの窓をグループとしている。図中のハッチングを示した窓は消灯していることを表している。パターンAは、一番下の段と、下から2段目の右側の窓が消灯し、他の窓が点灯している状態のテクスチャである。パターンBは、下の2段の窓が消灯し、他の窓が点灯している状態のテクスチャである。図の下側には、これらの点灯パターンを、乱数によって配置して夜景を表した例を示した。しかし、この例を注意深く見ると、建物の枠囲みの部分に、パターンA、パターンBが見いだされ、このことによってリアリティが少なからず損なわれてしまうことになる。
【0005】
つまり、リアリティを向上させるために最小単位である窓ごとに乱数を用いるようにすれば処理負荷が膨大なものとなり、逆に、処理負荷を軽減するために複数の窓を配列したグループ単位でテクスチャを使い分けるようにすればリアリティが損なわれてしまうのである。同様の課題は、窓を対象とする場合に限られず、また夜景に限られるものでもない。樹木においても、枝や葉を表したテクスチャなど樹木の部分に適用できる複数種類の単位テクスチャを用意し、ランダムに単位テクスチャを選択しながら全体のテクスチャを生成することができる。山、田畑、雲などにおいても、同様である。上述の課題は、複数種類のテクスチャを選択しながら適用可能な種々の地物において同様に生じ得る。
本発明は、かかる課題に鑑み、処理負荷の抑制と、規則性を回避することによるリアリティの向上とを両立させたテクスチャの生成方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、3次元地図において地物の外観を表すテクスチャを生成するテクスチャ生成システムであって、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを記憶するマトリックス記憶部と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成部とを備え、
該テクスチャ生成部は、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけ、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択し、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するテクスチャ生成システムとして構成することができる。
【0007】
本発明によれば、3次元モデルの外観を表すテクスチャとして、単位テクスチャがランダムに配置されたテクスチャを生成することができる。また、単位テクスチャの選択には、マトリックスに記憶された制御値を用いるため、3次元モデルの部位ごとに乱数を発生させるなどの処理を行う必要がなく、処理負荷を抑制することができる。この結果、単位テクスチャの配置に対して、規則性が認識されにくくなり、地物について、より自然な外観を表現することが可能となる。
3次元地図では、テクスチャを適用すべき3次元モデルが多数存在するため、マトリックスを用いることによる処理負荷の軽減効果は非常に大きい。
【0008】
マトリックスのサイズは任意に設定可能である。そのサイズを大きくしておけば、ポリゴン上の各位置とマトリックスのピクセルとの対応づけが多様となるため、選択された単位テクスチャの配置パターンもより多様とすることができる。
ポリゴン上の各位置とマトリックスのピクセルとの対応付けは、種々の方法をとることができる。例えば、マトリックス上に基準点を定め、ポリゴン上の配列に応じた領域を対応づけてもよい。単位ピクセルをポリゴンに横2×縦3の配列で配置する場合には、それぞれの位置に基準点周りの2×3ピクセルを対応させるという方法である。ポリゴン上の各位置に対し、マトリックス上の連続した領域を割り当てる必要はない。例えば、ポリゴン上の各位置を所定の関数でマトリックス上のピクセルに座標変換する方法をとってもよい。
マトリックスは、単一種類である必要はなく、複数種類を使い分けるようにしてもよい。ただし、メモリからマトリックスを読み出す処理を軽減するという観点からは、多数のマトリックスを用意するよりも、単一の大きなサイズのマトリックスを用意する方が好ましい。
【0009】
本発明におけるテクスチャの「生成」は、単位テクスチャを配列した1枚のテクスチャ画像を生成する態様、および3次元モデルに単位テクスチャを選択しながら直接貼付する態様の双方を含む。
本発明を適用可能な3次元モデルとしては、例えば、図11に例示したような建物、樹木、山、田畑、雲などが考えられる。建物の場合は、単位テクスチャとして、窓の点灯/消灯状態を表すテクスチャを用意することができる。点灯、消灯の2種類のテクスチャを用意してもよいし、複数の窓の点灯パターンを表す3種類以上のテクスチャを用意してもよい。樹木の場合は、単位テクスチャとして、種々の状態の枝や葉などを表すテクスチャを用意することができる。そして、樹木の幹の周囲に、これらの単位テクスチャを選択しながら配置することによって、多様な樹木を表現することが可能となる。単位テクスチャ同士を重ねて配置するようにしてもよい。山や田畑も同様に、樹木や作物などの種々の状態を表す単位テクスチャを用意すればよい。雲の場合は、白、グレーなど、一つの雲の各部位の種々の色を表すテクスチャを用意することができる。雲の部分ごとに、これらのテクスチャを選択して配置すれば、種々の色が混じった多様な雲を容易に表現することができる。単位テクスチャ同士を重ねて配置するようにしてもよい。本発明は、この他にも多様な3次元モデルに適用可能である。
【0010】
本発明において、マトリックスに格納される制御値は、種々の態様をとることができる。
例えば、前記マトリックスは、前記単位テクスチャの各種類と1対1に対応する制御値を記憶しているものとしてもよい。
例えば、単位テクスチャが2種類用意されているときは、制御値も2種類とする態様である。必ずしも0と1のように連続の値とする必要はなく、10と100など任意の値をとることができる。単位テクスチャが3種類用意されているときは、制御値も3種類とすればよい。
このように単位テクスチャと制御値が1対1に対応するようにしておけば、マトリックスの制御値に応じて速やかに単位テクスチャを一義的に決定することができるため、処理負荷をより軽減することができる。
【0011】
また、本発明において、
前記マトリックスは、前記単位テクスチャの種類数よりも広い数値範囲の制御値を記憶しており、
前記テクスチャ生成部は、前記制御値と所定の閾値との比較により、前記制御値を前記単位テクスチャの種類数に量子化して前記選択を行うものとしてもよい。
例えば、制御値として0〜255の範囲のいずれかの値を格納しておく態様である。単位テクスチャが2種類用意されている場合には、閾値と制御値との大小関係に応じて、いずれかの単位テクスチャを選択するようにすればよい。単位テクスチャが3種類用意されている場合には、値が異なる第1、第2の閾値(第1の閾値<第2の閾値)を用意し、(1)制御値<第1の閾値の場合、(2)第1の閾値≦制御値<第2の閾値の場合、(3)第2の閾値≦制御値の場合に分けて3種類の単位テクスチャを選択するようにすればよい。上記態様では、制御値の範囲および閾値は任意に設定可能であり、これらの設定に応じて、単位テクスチャが使用される割合を柔軟に設定することができる利点がある。
【0012】
閾値を用いる場合には、
前記テクスチャ生成部は、所定の条件に応じて前記閾値を変化させて、前記選択を行うものとしてもよい。
こうすることにより、条件に応じて単位テクスチャが使用される割合を変化させることができ、多様なテクスチャを生成することができる利点がある。例えば、建物に対して、窓の点灯/消灯を表す2種類のテクスチャを用いる場合、閾値を時間に応じて変化させることによって、ほとんどの窓が点灯している夕刻過ぎの状態や、ほとんどの窓が消灯している夜中の状態など、多様な夜景を表現することが可能となる。
【0013】
単位テクスチャをどのように選択するかに関わらず、
前記テクスチャ生成部は、前記テクスチャの生成ごとに、前記配列の各位置と前記マトリックスのピクセルとの対応づけを変化させるものとしてもよい。
こうすることにより、テクスチャを生成する度に、マトリックスの異なるピクセル、即ち異なる制御値を用いることができ、単位テクスチャの配列をより多様に変化させることができる。対応づけは、例えば、テクスチャを生成する対象となる地物が異なるごとに変化させてもよいし、同一の地物においてテクスチャを生成するポリゴンが異なるごとに変化させてもよい。
対応付けを変化させる方法も、種々の態様をとることができる。例えば、マトリックスの基準点周囲のピクセルを対応づける態様では、基準点の位置を変化させればよい。基準点の位置は、規則的に変化させてもよいし、乱数などに基づいて変化させてもよい。また、配列の各位置とピクセルとを関数で対応づける場合には、対応づけに用いられる関数を変化させてもよい。
【0014】
また、本発明においては、単位テクスチャの形態も多様である。
前記単位テクスチャは、複数種類の前記単位テクスチャを相互に重ならないように配置した単一の統合テクスチャとして記憶されており、
前記テクスチャ生成部は、前記選択に応じて、前記統合テクスチャのうち選択された単位テクスチャに対応する部分を貼付するものとしてもよい。
仮に、複数種類の単位テクスチャが、個別の画像データとして用意されている場合には、選択結果に応じて、それぞれの単位テクスチャを読み出す処理が必要になることがある。これに対し、上記態様では、複数種類の単位テクスチャを配置した統合テクスチャが用意されているため、統合テクスチャをメモリから読み込みさえすれば、単位テクスチャの選択結果に応じた読み込み処理を繰り返す必要がなくなり、処理負荷を軽減することが可能となる。
統合テクスチャにおいて、単位テクスチャは、必ずしも隙間無く配置されている必要はなく、単位テクスチャの間に隙間が存在してもよい。
統合テクスチャは1つに限られない。非常に多くの単位テクスチャが用いられる場合、単位テクスチャを複数のグループに分け、グループごとに統合テクスチャを用意するようにしてもよい。
【0015】
本発明においては、上述した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。
本発明は、テクスチャ生成システムとしての構成だけでなく、こうしたテクスチャ生成を伴う3次元地図表示システムとして構成してもよい。また、コンピュータによって、テクスチャを生成させるテクスチャ生成方法、または3次元地図の表示方法として構成することもできる。本発明は、さらに、テクスチャの生成や3次元地図の表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
【図面の簡単な説明】
【0016】
図1】3次元地図表示システムの構成を示す説明図である。
図2】地図データベースの構造を示す説明図である。
図3】3次元地図表示処理のフローチャートである。
図4】夜景テクスチャ生成処理のフローチャートである。
図5】単位テクスチャの選択方法を示す説明図である。
図6】3次元地図の表示例(1)を示す説明図である。
図7】3次元地図の表示例(2)を示す説明図である。
図8】変形例(1)における単位テクスチャの選択方法を示す説明図である。
図9】変形例(2)における単位テクスチャの選択方法を示す説明図である。
図10】変形例としての単位テクスチャの配置方法を示す説明図である。
図11】2種類の点灯パターンを用いた夜景の3次元地図を例示する説明図である。
【発明を実施するための形態】
【実施例1】
【0017】
本発明についてコンピュータのディスプレイ上に3次元地図を表示する3次元地図表示システムとして構成した実施例を説明する。本発明のテクスチャ生成システムは、3次元地図表示システム内に組み込まれた形で実施される。3次元地図表示システムは、コンピュータの他、スマートフォン、携帯電話、タブレット端末などの携帯端末、ナビゲーション装置など種々の装置を用いて構成することもできる。
また、本実施例では、スタンドアロンで稼働するシステムを例示するが、図中に示す地図データベース20等をサーバに格納し、サーバとナビゲーション装置とをネットワークで接続したシステムとして構成してもよい。
【0018】
A.システム構成:
図1は、3次元地図表示システムの構成を示す説明図である。実施例としての3次元表示システム10は、CPU、RAM、ROMを備えるコンピュータに、図示する各機能を実現するためのコンピュータプログラムをインストールすることによってソフトウェア的に実現されている。各機能の少なくとも一部は、ハードウェア的に構成するものとしてもよい。また、コンピュータには、3次元地図のグラフィックスを行うために、CPUとは別に、GPU(Graphics Processing Unit)を搭載してもよい。
【0019】
図中の各機能ブロックの機能について説明する。
地図データベース20は、3次元地図を表示するために必要なデータを格納している。図中の例では、3次元モデル21、およびテクスチャデータ22を示した。この他に、例えば、地図中に表示する文字を記憶する文字データベースを備えても良い。また、経路探索のためのネットワークデータ、即ち道路をリンク、ノードで表したデータベースを備えても良い。
3次元モデル21は、建物などの地物の3次元形状を表すポリゴンデータ等を格納する。
テクスチャデータ22は、地物の外観を表す画像データを、ポリゴンに貼付されるためのテクスチャとして記憶する。昼用テクスチャ23は、昼景の3次元地図を表示する際に利用されるテクスチャである。夜景テクスチャ24は、夜景の3次元地図を表示する際に利用されるテクスチャである。ビルのような建物について、昼用テクスチャ23としては窓の形状を表す画像が用意され、夜景テクスチャ24としては、窓の点灯状態を表す画像、消灯状態を表す画像などが用意される。
テクスチャデータ22には、ポリゴン全体に貼付されるテクスチャと、ポリゴンに配列して貼付される単位テクスチャとが混在して用意されている。テクスチャデータ等の構造については、後述する。
【0020】
コマンド入力部11は、キーボードやマウスなどの操作部、またはネットワークを介してユーザのコマンドを入力する。コマンドとしては、3次元地図を表示する際の表示範囲、視点、視線方向、表示モードなどが挙げられる。本実施例では、3次元地図を昼景または夜景で表示可能となっているため、両者を切り換えるコマンドを含めてもよい。
地図表示制御部12は、3次元地図の表示を制御する。また、地図データベースから必要なデータの読み込みなども行う。
3次元ポリゴン生成部13は、3次元地図を表示するために仮想3次元空間内に、各地物の3次元モデル21を配置する。
テクスチャ生成部14は、3次元ポリゴンの表面にテクスチャを貼付する。昼用テクスチャ生成部15は、昼用テクスチャ23を用いて、昼景を表すテクスチャの貼付を行う。夜用テクスチャ生成部16は、夜用テクスチャ24を用いて夜景を表すテクスチャの貼付を行う。本実施例では、夜景を表す際には、窓の点灯/消灯状態を表した2種類の単位テクスチャをランダムに選択しながら配置することで、建物の窓がランダムに点灯した状態のテクスチャを生成している。この処理には、単位テクスチャの選択に用いられる制御値を格納したマトリックスが用いられる。マトリックス記憶部17は、このマトリックスを記憶している。
本明細書において、テクスチャの「生成」というとき、複数の単位テクスチャを配置して1枚のテクスチャを生成する態様、および複数の単位テクスチャをポリゴン上に順次、貼付する態様の双方を含む。本実施例では、テクスチャ生成部14は、後者の態様、即ち、単位テクスチャをポリゴン上に順次、貼付する態様でポリゴンのテクスチャを生成している。
以上で説明した機能ブロックのうち、本実施例においては、地図データベース20、テクスチャ生成部14、マトリックス記憶部17が、本発明におけるテクスチャ生成システムを構成することになる。
【0021】
図2は、地図データベースの構造を示す説明図である。
図の上側には、3次元モデル21のデータ例を示した。3次元モデル21には、地物ID、種別、ポリゴンなどのデータが格納される。
地物IDは、地物の識別情報であり、右に示した建物の例では、地物IDとして「B01」が付されている。
種別は、地物の種類であり、右に示した例では「建物」となる。種別としては、この他、道路、鉄道、山、畑など種々の情報を用いることができる。また、樹木、雲などを種別に含めても良い。
ポリゴンには、図示するデータが格納される。
ポリゴンIDは、3次元モデルを構成する各ポリゴンの識別情報であり、右に示した例では、建物の正面のポリゴンにPOL1が付されている。
形状は、ポリゴンの形状を特定するデータであり、本実施例では頂点の座標値を記憶している。右に示した例では、ポリゴンの頂点PP1、PP2、PP3、PP4のそれぞれについて3次元の座標値が格納されることになる。座標値は、3次元地図全体の原点を基準とする絶対座標を用いても良いし、地物ごとに設定された基準点を原点とする相対座標を用いてもよい。後者の場合は、3次元モデル21に、基準点の絶対座標値を別途、格納することになる。
テクスチャ繰り返し数とは、ポリゴンに貼付されるテクスチャの配列を規定する情報である。右の図の例では、建物の表面を横2×縦3の区分に分け、ここに窓のテクスチャを繰り返し貼付する。従って、テクスチャ繰り返し数には、(2,3)というデータが格納される。ポリゴン全体に一つのテクスチャを繰り替えしなく配置する場合には、テクスチャ繰り返し数は、(1,1)となる。
昼用テクスチャおよび夜用テクスチャは、それぞれポリゴンに使用されるテクスチャの識別情報を格納する。
3次元モデル21には、地物の属性を表す属性データを含めても良い。例えば、建物について、名称、階数などを表すデータを属性データとすることができる。
【0022】
図の下側には、テクスチャデータ22の例を示した。テクスチャデータ22には、昼用テクスチャ、夜用テクスチャが記憶されている。各テクスチャは、識別情報としてのテクスチャIDと、画像データで構成されている。
図の例では、昼用テクスチャについては、テクスチャIDとして「TEX1」が付され、窓の形状を表す画像が用意されている。先に説明した3次元モデル21では、昼用テクスチャとして、「TEX1」が指定されているから、図の右側に示した建物(B01)について昼景を表す際には、テクスチャデータ22のTEX1で表される画像が、横2×縦3で繰り返し配列されることになる。
図の例では、夜用テクスチャについては、テクスチャIDとして「TEX2」が付され、窓が消灯状態のOFF画像、窓が点灯状態のON画像の2種類の画像が用意されている。先に説明した3次元モデル21では、夜用テクスチャとして、「TEX2」が指定されているから、図の右側に示した建物(B01)について夜景を表す際には、テクスチャデータ22のTEX2で表されるON画像およびOFF画像が、選択されながら横2×縦3で繰り返し配列されることになる。
夜用テクスチャについては、OFF画像、ON画像に「TEX2OFF」「TEX2ON」のように個別のテクスチャIDを付してもよい。かかる場合には、両者を夜用テクスチャとして関連づける情報を、テクスチャデータ22に用意してもよいし、3次元モデル21の夜用テクスチャとして、「TEX2OFF」「TEX2ON」という2つのテクスチャIDを格納するようにしてもよい。
夜用テクスチャは、各3次元モデルに対してOFF画像、ON画像のように必ずしも複数種類の画像を用意しておく必要はなく、単一の画像を用意しておいてもよい。
【0023】
B.3次元地図表示処理:
次に、実施例の3次元地図表示システム10において、3次元地図を表示する際の処理内容について説明する。
図3は、3次元地図表示処理のフローチャートである。処理を開始すると、3次元地図表示システム10は、地図表示範囲を設定する(ステップS10)。地図の表示範囲は、例えば、ユーザからの指示によるものとしてもよい。また、3次元地図表示システムが経路案内システムに組み込まれている場合には、経路探索の結果や現在位置などに応じて設定してもよい。3次元地図表示システム10は、地図の表示範囲に応じて、地図表示に必要となる3次元モデルを地図データベース20から読み込み、仮想3次元空間内に配置する(ステップS12)。
【0024】
次に、地図の表示モードに応じて、背景およびテクスチャの表示を行う。
昼景モードの場合(ステップS14)、3次元地図表示システム10は、昼用の背景、空や遠方の景色などを設定する(ステップS16)。そして、地物に対して昼用テクスチャを表示する(ステップS18)。テクスチャデータ22から、3次元モデル21で指定された昼用テクスチャを読み込み、各ポリゴンに貼付するのである。
夜景モードの場合(ステップS14)、暗い空など夜景用の背景を設定し(ステップS20)、地物に対して夜景テクスチャ生成処理を実行する(ステップS22)。この処理は、テクスチャデータ22から、3次元モデル21で指定された夜用テクスチャを読み込み、ポリゴンの部位に応じてON画像、OFF画像をランダムに選択して貼付する処理である。処理の内容は後述する。
3次元地図表示システム10は、以上の処理を、各地物に行うことで、3次元地図を表示する。
【0025】
C.夜景テクスチャ生成処理:
図4は、夜景テクスチャ生成処理のフローチャートである。3次元地図表示処理(図3)のステップS22に相当する処理である。
処理を開始すると、3次元地図表示システム10は、マトリックス記憶部17からマトリックスを読み込む(ステップS50)。マトリックスには、各ピクセルに対し、ON画像、OFF画像を選択するための制御値が記憶されている。本実施例では、選択の対象となる単位テクスチャが、ON画像、OFF画像の2種類であるため、マトリックスには、0、1の2値を記憶するものとした。
【0026】
次に、3次元地図表示システム10は、処理の対象となる地物を対象モデルとして選択する(ステップS51)。対象モデルは、テクスチャの生成が未処理のものから選択すればよい。
対象モデルが建物ではない場合(ステップS52)、3次元地図表示システム10は、ON画像、OFF画像の使い分けは不要と判断し、3次元モデル21で指定された夜用テクスチャを貼付する(ステップS53)。夜用テクスチャは、ポリゴン全体に繰り返しなく貼付される場合もあれば、図2に示したように繰り返した配置で貼付される場合もある。
対象モデルが建物の場合(ステップS52)、3次元地図表示システム10は、3次元モデル21のテクスチャ繰り返し数に従って、繰り返し数を設定する(ステップS54)。図中に、横2×縦3の繰り返しをする場合の設定例を示した。本実施例では、テクスチャを貼付するための2次元の座標系(U,V)として、繰り返し数に応じた座標値を与えるものとした。図示するようにポリゴンの左下を原点(0,0)とし、右下を(2,0)、左上を(0,3)、右上を(2,3)というUV座標値を与えるのである。指定されたテクスチャ画像は、UV座標値で(0,0)−(1,1)の頂点で表される矩形領域に収まるように貼付され、UV座標値として1を超える値が設定されているときは、値に応じて繰り返し貼付される。従って、図中の各座標値が設定されれば、横2×縦3の配列を規定することができる。異なる配列においても同様にUV座標値で繰り返し数を規定することができる。
次に、3次元地図表示システム10は、マトリックスの使用領域を定める基準点を設定する(ステップS55)。基準点は、マトリックスの左下など任意に設定された固定の点としてもよいし、この処理を実行する度に、一定の規則または乱数によって選択するようにしてもよい。本実施例では、乱数を発生させ、基準点のx座標、y座標を設定するようにした。
基準点を設定すると、3次元地図表示システム10は、マトリックスの制御値に応じて単位テクスチャを選択し、貼付する(ステップS56)。本実施例では、マトリックスの各ピクセルには0、1の2値が格納されているため、値1の時はON画像、値0の時はOFF画像を選択するものとした。
ステップS55、S56におけるマトリックスを用いた単位テクスチャの選択については、具体例に基づいて後でより詳しく説明する。
【0027】
3次元地図表示システム10は、以上の処理によって、対象モデルに対して、夜用のテクスチャを貼付する。この処理を、全ての対象モデルに対して終了するまで(ステップS57)、繰り返し実行する。
本実施例では、対象モデルが建物か否かによって処理を分けているが(ステップS52参照)、これは、建物についてのみ、ON画像、OFF画像という2種類の単位テクスチャの使い分けを行うものとしているからである。建物以外の地物に対しても、複数種類の単位テクスチャを選択して用いる場合には、かかる地物についても、建物と同様の処理(ステップS54〜S56)を行うようにすればよい。
【0028】
図5は、単位テクスチャの選択方法を示す説明図である。図の上側には、マトリックスの例を示した。本実施例では、256×256ピクセルのサイズとしているが、マトリックスのサイズは任意に設定可能である。マトリックスの各ピクセルには、0,1の2値が格納されている。図の例では、値0が格納されているピクセルを黒、1が格納されているピクセルを白で表した。図の例では、値0、1は、概ね同数となっており、偏り無く分布するよう設定されているが、値0、1の割合や分布も任意に設定可能である。かかるマトリックスは、オペレータが各ピクセルの値を指定する方法、関数や乱数によって各ピクセルの値を決定する方法などを用いることができる。
図中には、夜景テクスチャ生成処理(図4)のステップS55で設定される基準点を併せて示した。マトリックスの左下を原点Oとし、横方向にMx、縦方向にMyの位置にあるピクセルが基準点である。基準点(Mx、My)の座標は、乱数、関数などによって定めることができる。
【0029】
図の中段には、マトリックスの一部の拡大図である。基準点(Mx,My)を左下とする矩形領域を示した。図中の各マスはマトリックスのピクセルを表しており、そこに0または1の制御値が格納されている。
夜景テクスチャ生成処理(図4)のステップS56では、3次元地図表示システム10は、マトリックスの基準点(Mx,My)を原点として、単位テクスチャの繰り返し数に対応する領域Aの各ピクセルをポリゴンの各部位と対応づける。図4に示したように、横2×縦3の繰り返し数で単位テクスチャを配置する場合には、各部位に、マトリックスの横2×縦3ピクセルからなる領域Aを対応づけることになる。
図の下段には、ON画像、OFF画像の選択結果を示した。領域Aの左下のピクセルには、制御値として0が格納されているから、OFF画像が選択される(図4のステップS56参照)。右下のピクセルも同様である。中段については、左側の制御値が1、右側の制御値が0となっているから、左側にはON画像、右側にはOFF画像が選択される。上段については、左側の制御値が0、右側の制御値が1となっているから、左側にOFF画像、右側にON画像が選択される。このようにピクセルの制御値に応じて、ON画像、OFF画像を選択し、ポリゴンの対応する部位に貼付することによって、図の下段に示すような建物全体のテクスチャを生成することができる。
マトリックス内の制御値の分布は、領域によって異なるから、基準点が異なれば、単位テクスチャの選択に用いる領域が変化し、得られる結果も異なることになる。また、常に固定された基準点を用いる場合でも、繰り返し数が異なれば、選択に適用する領域の大きさが変化するため、得られる結果に対する印象は異なったものとなる。
【0030】
図5で説明した処理は、GPUを利用する際に特に有用性が高い。一般にGPUは、比較的単純な処理を高速で行うことができるように設計されており、条件分岐については処理速度が比較的遅くなる特性を有している。図5の処理では、マトリックスの各ピクセルの制御値を取得し、その結果に応じて、ON画像、OFF画像を一義的に定めることができるため、高速化を図ることができるのである。例えば、得られた0または1の制御値を、そのままON画像、OFF画像を指定するための引数として用いれば、条件分岐を介さずに両者の使い分けが可能となる。
【0031】
図5の例では、基準点周りに設定された領域Aに対して、ポリゴンの各部位を対応づけるようにしたが、両者の対応づけは関数に基づいて行っても良い。ポリゴンの各部位に対し、マトリックスのいずれかのピクセルを割り当てることができる方法であれば、必ずしも、ポリゴンと同一形状の領域を割り当てる必要はないのである。
【0032】
D.地図表示例:
図6は、3次元地図の表示例(1)を示す説明図である。従来技術として、図11に示したのと同じ条件で夜景の3次元地図を表示した例を示した。図11では、パターンA、パターンBなど、点灯/消灯状態が規則的に配置された部位を視認することができるのに対し、図6の表示例(1)では、こうした規則性は見いだすことができない。このように、本実施例によれば、夜景における建物の点灯/消灯状態として、より自然な状態を表示することが可能となる。
【0033】
図7は、3次元地図の表示例(2)を示す説明図である。図6の表示例よりも、より上方の視点から俯瞰した例を示した。視点位置を高くすることにより、一層多くの建物の窓が視認可能となるが、かかる状態でも、建物の窓について、違和感のない点灯/消灯状態を表示できている。
【0034】
E.効果および変形例:
以上で説明した実施例によれば、マトリックスを利用することにより、処理負荷を抑制しつつ、ON画像、OFF画像を使い分けて、違和感のない夜景表示を実現することができる。
実施例では、2つの窓を単位テクスチャとして用いたが、単位テクスチャの形状等は任意に設定可能である。一つの窓を単位テクスチャとしてもよいし、更に多くの窓を単位テクスチャとしてもよい。ただし、図11に示したパターンA、パターンBのように2次元的に多くの窓が配置されたグループを単位テクスチャとすると、単位テクスチャごとのパターンを視認しやすくなる。従って、単位テクスチャは可能な限り最小の要素単位、即ち建物の例では一つの窓、に近づけることが好ましく、複数の窓を含む場合でも、一次元に配置されたものとすることが好ましい。
【0035】
本実施例は、3次元モデルに対して、複数の単位テクスチャを選択して配置するための技術であり、建物の夜景表現に限った技術ではない。種々の地物に対して、本実施例を適用することにより、処理負荷を抑制しつつ、多様な地物の表示が可能となり、3次元地図のリアリティをさらに向上させることができる。例えば、樹木に対して、枝や葉の状態が異なる複数の単位テクスチャを選択して適用するようにすれば、多様な樹木を表現可能となる。雲に対して、白、グレーなど多様な色の単位テクスチャを選択して適用するようにすれば、種々の形状、色の雲を表現可能となる。実施例では、単位テクスチャ同士が重ならずに配置される例を示したが、本技術を適用する地物によっては、単位テクスチャ同士を重ねるように貼付してもよい。
【0036】
本実施例に対しては、処理についてもさらに種々の変形例を考えることができる。以下に説明する。
【0037】
(1)単位テクスチャの選択方法についての変形例(1):
図8は、変形例(1)における単位テクスチャの選択方法を示す説明図である。実施例では、ON画像、OFF画像の2種類の単位テクスチャを用いたが、変形例(1)では、右下に示す3種類の単位テクスチャを用いる。0画像は、2つの窓が消灯の単位テクスチャである。1画像は、左側が消灯、右側が点灯の単位テクスチャである。2画像は、2つの窓が点灯の単位テクスチャである。
マトリックスには、上段に示した通り、0、1、2の3値を格納する。こうすることによって、実施例と同様、マトリックスの各ピクセルに応じて、3種類の単位テクスチャを使い分けて配置することができる。即ち、0の制御値が格納されたピクセルには0画像、1の制御値が格納されたピクセルには1画像、2の制御値が格納されたピクセルには2画像を配置すればよい。この結果、左下に示すように、実施例よりも多様な点灯状態を表現することが可能となる。
単位テクスチャを、4通り以上用意する場合も、変形例(1)と同様にして処理することができる。
【0038】
(2)単位テクスチャの選択方法についての変形例(2):
図9は、変形例(2)における単位テクスチャの選択方法を示す説明図である。この例では、ON画像、OFF画像の2種類の単位テクスチャを用いる。ただし、マトリックスには、0、1という2値の制御値ではなく、0〜255の範囲の制御値、即ち単位テクスチャの種類数よりも広い数値範囲の制御値が格納されている。制御値の範囲は任意に設定可能である。
変形例(2)では、各ピクセルに格納された制御値と、閾値THとの大小関係に基づいて、ON画像、OFF画像の選択を行う。つまり、制御値≦THのときはOFF画像を用い、制御値>THのときはON画像を用いるのである。
下段に、閾値TH=50の場合、150の場合について結果を示した。
閾値TH=50の場合、左下のピクセルP00の制御値は0であり、制御値≦THとなるからOFF画像が選択される。右下のピクセルP10の制御値は96であり、制御値>THとなるからON画像が選択される。同様にして、ピクセルP01はOFF画像、ピクセルP11、P02、P12はON画像が選択されることになる。この結果、閾値TH=50の場合は、左下に示すように点灯状態の窓が多いテクスチャが得られる。
次に、閾値TH=150の場合は、同様に単位テクスチャを選択すると、ピクセルP00、P10、P01、P12にOFF画像、ピクセルP11、P02にON画像が選択されることになる。この結果、閾値TH=100の場合は、右下に示すように消灯状態の窓が多いテクスチャが得られる。
このように変形例(2)によれば、同じ建物であっても、閾値THを変化させることによって、得られるテクスチャを変化させることができる。閾値THはユーザが指定してもよいし、3次元地図を表示する時刻などの条件に応じて変化させてもよい。例えば、夕刻過ぎなどの時刻には、閾値TH=50を利用し、深夜には閾値TH=150を用いるようにすれば、時間帯に応じた夜景を表現することが可能となる。
変形例(2)においても、3種類以上の単位テクスチャを用いることが可能である。例えば、変形例(1)(図8)のように3種類の単位テクスチャ(0画像、1画像、2画像)を用いる場合には、2つの閾値TH1、TH2(TH1<TH2)を用いればよい。制御値≦TH1の場合は0画像、TH1<制御値≦TH2の場合は1画像、TH2<制御値の場合は2画像というように使い分けることができる。この場合、閾値TH1、TH2の少なくとも一方の値を変化させることで、3種類の単位テクスチャの割合を変化させることが可能となる。
【0039】
(3)単位テクスチャの配置方法についての変形例:
図10は、変形例としての単位テクスチャの配置方法を示す説明図である。この例では、単位テクスチャを個別の画像データとして用意するのではなく、一つに配列した統合テクスチャとして用意する。中段に、統合テクスチャの例を示した。この例では、一つの画像の上段に昼用画像、下段の左側に夜用のOFF画像、下段の右側に夜用のON画像が配置されている。3つの単位テクスチャは、隙間無く配置されているが、隙間を設けてもよい。統合テクスチャの画像の位置は、統合テクスチャに定義された座標系(tu、tv)で表される。
図の上側には昼景を表示する際のテクスチャの利用方法を示した。建物のテクスチャには、UV座標系が定義されている。建物には昼用画像を貼付することになるから、配置の単位となる左下の点P3に昼用画像の点tp3を対応させ、右上の点P6に昼用画像の点tp6を対応させるように座標変換をする。点P3がUV座標系で(0,0)、点P6が(1,1)ならば、点tp3の座標が(0,0)、点tp6の座標が(1,1)となるよう、(tu、tv)の座標系を平行移動および拡大/縮小すればよい。
図の下側には夜景を表示する際のテクスチャの利用方法を示した。建物にはOFF用画像およびON画像を選択して貼付することになるから、配置の単位となる領域ごとにOFF画像、ON画像の頂点が対応するように座標変換をする。図示するように、ポリゴンの最上段の左側にOFF画像、右側にON画像を貼付する場合を考える。左側には、点P1、P4にそれぞれOFF画像の点tp1、tp4が対応するように座標変換すればよい。このとき、貼付されるポリゴンの点P1、P4もそれぞれUV座標系において(0,0)、(1,1)となるよう座標変換する必要がある。UV座標が1を超えるときは、(0,0)、(1,1)の範囲に対応するテクスチャが繰り返し適用されてしまうからである。同様に、右側には、点P2、P5をUV座標系で(0,0)、(1,1)となるよう座標変換した上で、これらの2点にON画像の点tp2、tp5が対応するように座標変換すればよい。
このように貼付すべき単位テクスチャの選択結果に応じて、統合テクスチャの中で使用する部位をずらすことによって、実施例と同様の画像を得ることができる。単位テクスチャを個別の画像として格納している場合には、選択結果に応じて、その都度、単位テクスチャを読み込む必要があるのに対し、変形例の方法によれば、統合テクスチャを一旦、読み込めば、テクスチャを生成する処理中は新たなテクスチャの読み込みを行う必要がないため、より一層、処理の高速化を図ることができる。
この変形例においても、夜用に3種類以上の単位テクスチャを用いることが可能である。
【0040】
以上、本実施例の種々の変形例を示してきた。本発明については、ここに記載した実施例および変形例に限らず、さらに種々の変形例を構成することが可能である。
【産業上の利用可能性】
【0041】
本発明は、地物の外観を表すテクスチャを生成するために利用することができる。
【符号の説明】
【0042】
10…3次元地図表示システム
11…コマンド入力部
12…地図表示制御部
13…3次元ポリゴン生成部
14…テクスチャ生成部
15…昼景テクスチャ生成部
16…夜景テクスチャ生成部
17…マトリックス記憶部
20…地図データベース
21…3次元モデル
22…テクスチャデータ
23…昼用テクスチャ
24…夜景テクスチャ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11