(57)【特許請求の範囲】
【請求項１】
コンピュータグラフィックスを用いて、形状の特定されている各種の物体を陰影付けして表示する表示制御装置であって、
物体の形状を記憶している形状記憶手段と、視点の方向又は位置を画面の更新周期ごとに設定する視点設定手段と、光源の方向又は位置を陰影更新周期ごとに設定する光源設定・更新手段と、形状記憶手段に記憶された物体の形状に基づいて、物体を構成する各面の方向を読み取り、この方向と、光源設定・更新手段によって設定された光源の方向又は位置に基づいて各面の陰影を前記光源設定・更新手段の陰影更新周期ごとに設定する陰影設定手段と、陰影設定手段により設定された陰影を記憶する陰影記憶手段と、陰影記憶手段により記憶された陰影に基づいて、視点設定手段に設定された視点の方向又は位置から見た画面を作成する画面作成手段とを備え、
前記光源設定・更新手段の陰影更新周期が、前記視点設定手段による画面の更新周期よりも長い値であることを特徴とする表示制御装置。
【請求項２】
前記光源設定・更新手段は、一定時間ごとに光源の方向又は位置を更新するものである請求項１記載の表示制御装置。
【請求項３】
前記視点設定手段は、移動体の位置に基づいて視点の方向又は位置を設定するものである請求項１又は請求項２記載の表示制御装置。
【請求項４】
地図データ記憶手段と、地図上の経路を自動的に計算する経路計算手段とをさらに備え、前記視点設定手段は、計算された経路上に沿った移動体の位置に基づいて視点の方向又は位置を設定するものである請求項３記載の表示制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックス（以下「ＣＧ」という）を用いて、形状の特定されている各種の物体を陰影付けする表示制御装置に関するものである。
本発明の表示制御装置は、例えば、車載ナビゲーション装置やドライビングシミュレータなどに使用される地図表示装置、ナビゲーションソフトを実行するパソコンの表示装置、ウォーキングナビソフトを実行する携帯パソコンの表示装置などに適用することができる。
【０００２】
【従来の技術】
形状の特定されている各種の物体を立体的に表示したい場合、陰影を付けると立体感が出て効果的である。この陰影付けの方法には、種々のものが考えられるが、いずれの方法でも、光線のベクトルを仮定して物体面の法線ベクトルとの角度を計算して、この角度に応じた濃さの陰影を付ける。
【０００３】
物体を陰影付けして画像として表示する場合、光源と物体を構成する各面（以下「ポリゴン」という）との相対角度関係、視点とポリゴンとの相対角度関係を分けて考えなければならない。
視点とポリゴンとの相対角度が固定されていて、しかも光源とポリゴンとの相対角度、つまり光線ベクトルとポリゴンの法線ベクトルとの角度が変動しない静止画像の場合は、前記陰影付け計算は一度行えば済む。
【０００４】
また、視点とポリゴンとの相対角度が変動する画像であって、光源とポリゴンとの相対角度、つまり光線ベクトルとポリゴンの法線ベクトルとの角度が1コマずつ変わる画像であれば、前記角度計算、陰影付け計算は、1コマごとにリアルタイムで行わなければならない。
【０００５】
【発明が解決しようとする課題】
ところが、視点とポリゴンとの相対角度が変動する画像であっても、光線ベクトルとポリゴンの法線ベクトルとの角度が変動しない画像、あるいは変動してもその変動時間が画像の１コマよりもはるかに長い画像がある。
例えば、ドライブしながら風景を見る画像のような場合、視線の位置方向は変わっても、風景と太陽との角度関係はほとんど変わらない。
【０００６】
このような画像を表示する場合は、角度計算、陰影付け計算を１コマごとにリアルタイムで行っていると、計算機やメモリの容量が多く必要となり、極めて効率が悪い。
したがって、視点とポリゴンとの相対角度が時間的に変動する画像であって、光源とポリゴンとの相対角度が時間的に変動しない画像、又は変動してもその変動時間が画像の１コマよりもはるかに長い画像を、物体面に陰影付けをして表示させる場合に、メモリの容量や、コンピュータの計算の負担が最小限で済む表示制御装置が求められていた。
【０００９】
【課題を解決するための手段】
(1) 本発明の表示制御装置は、物体の形状を記憶している形状記憶手段と、視点の方向又は位置を画面の更新周期ごとに設定する視点設定手段と、光源の方向又は位置を陰影更新周期ごとに設定する光源設定・更新手段と、形状記憶手段に記憶された物体の形状に基づいて、物体を構成する各面の方向を読み取り、この方向と、光源設定・更新手段によって設定された光源の方向又は位置に基づいて各面の陰影を前記光源設定・更新手段の陰影更新周期ごとに設定する陰影設定手段と、陰影設定手段により設定された陰影を記憶する陰影記憶手段と、陰影記憶手段により記憶された陰影に基づいて、視点設定手段に設定された視点の方向又は位置から見た画面を作成する画面作成手段とを備え、前記光源設定・更新手段の陰影更新周期が、前記視点設定手段による画面の更新周期よりも長い値であることを特徴とする。
【００１０】
この表示制御装置においては、光源の方向又は位置が変動するという前提なので、できる陰影も変動していく。この光源の方向又は位置を更新する周期を、画面の更新周期（１コマの時間）よりも長くとる。これにより、画面の更新周期よりも長い周期で陰影を更新していくことができ、陰影設定手段の計算負荷を軽減し、陰影記憶手段の容量を減らすことができる。
【００１１】
前記光源設定・更新手段は、一定時間ごとに光源の方向又は位置を更新するものであってもよい。例えば、太陽のように光源の位置が時間的に変動していく場合に有効である。
(2) 前記視点設定手段は、移動体の位置に基づいて視点の方向又は位置を設定するものであってもよい。
【００１２】
例えば、車載ナビゲーション装置であればドライバの目の高さ若しくは鳥瞰図のように上空における所定の高さと、検出された車両の現在位置における車両の進行方向とにより、視点の方向又は位置を設定してもよい。ユーザが任意に位置と方向を設定してもよい。この表示制御装置は、地図データ記憶手段と、地図上の経路を自動的に計算する経路計算手段とをさらに備え、前記視点設定手段は、計算された経路上に沿った移動体の位置に基づいて視点の方向又は位置を設定するものであってもよい。
【００１３】
この発明であれば、視点は、最適経路に沿った所定の高さと方向に設定される。最適経路に沿った景観地図を作製することができる。ここで「所定の高さ」とは、例えばドライバの目の高さでもよく、鳥瞰図のように上空における所定の高さでもよい。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を、添付図面を参照しながら詳細に説明する。本発明の実施の形態では、「物体」は、多面体であるものとし、「ポリゴン」とは、多面体である物体を構成する各面のことをいう。
−参考となる実施形態−
この発明の実施形態では、光線の方向を固定してオフラインで陰影を設定する。
【００１５】
図１は、陰影設定装置の機能ブロック図である。陰影設定装置は、光源ベクトルを記憶しているデータベース３と、ポリゴンデータ記憶している形状データベース４と、形状データベース４に記憶されているポリゴンデータに対して陰影付けを行うコンピュータ１と、マンマシンインタフェイス２（例えば画面とキーボード、マウスなどのポインティングデバイスの組み合わせ）とを備えている。
【００１６】
前記コンピュータ１は、光源ベクトル設定部１２と、ポリゴン陰影付け部１３とを有している。
形状データは、1つ1つの物体の形状を特定するためのデータであり、図２に示されるような形で記憶されている。その記憶媒体は何でもよく、例えばＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＣＤ−ＲＯＭ，ＭＤ，ハードディスク，フロッピーディスク，ＭＯ，ＤＡＴなどあげられる。
【００１７】
形状データは、ファイルサイズ、ポリゴンテーブルサイズ、頂点テーブルサイズのデータと、物体を構成するポリゴン数のデータと、頂点数のデータと、ポリゴンデータと、頂点データとで構成されている。
ポリゴンデータの内訳は、1つ1つのポリゴンについて、頂点数、色、テクスチャデータ、α値、各頂点へのポインタ、となっている。ここで、頂点数は、例えば五角形なら５となる。色は、明度のみで表わしてもよく、ＲＧＢ値で表わしてもよく、ＸＹＺ表色系、マンセル表色系で表わしてもよく、色見本の番号で表わしてもよい。テクスチャデータとは、レンガ、石壁、花崗岩、窓付レンガ壁、窓付石壁などのポリゴン面の表面模様のデータである。α値とは、下のポリゴンの上にポリゴンを塗り重ねる場合に、上の色を下の色に対して、どのような重みで加えるかを示すパラメータである。すなわち重みをα（０≦α≦１）とし、下の色のＲＧＢ値を（Ｒ1，Ｇ1，Ｂ1）、上の色のＲＧＢ値を（Ｒ2，Ｇ2，Ｂ2）と書くと、塗り重ねた部分の最終的な色のＲＧＢ値は、
（Ｒ，Ｇ，Ｂ）＝α（Ｒ2，Ｇ2，Ｂ2）＋（１−α）（Ｒ1，Ｇ1，Ｂ1）、
と表される。不透明色の場合はα＝１、半透明色の場合は０＜α＜１、無色透明の場合は、α＝0である。
【００１８】
頂点データは、各頂点の位置を決定するデータである。
図３は、ポリゴンデータの中の各ポリゴンについて陰影付け処理を施して保存する処理を示すフローチャートである。まず，光源ベクトルが固定されると(ステップＳ１)、コンピュータ１は、ポリゴンを順に処理する(ステップＳ２)。ポリゴンテーブルからポリゴン色を読み込み(ステップＳ４)、陰影付け処理を行う(ステップＳ５)。そして、処理後、ポリゴン色を保存し(ステップＳ６)、全ポリゴンについてこの処理を繰り返す(ステップＳ３)。
【００１９】
図４は、１つのポリゴンに対する陰影付け処理の詳細を示すフローチャートである。まず、ポリゴンの法線ベクトルＮを算出し(ステップＳ５１)、光源ベクトルｄとの内積をとることにより両ベクトルのなす角θを算出し（ステップＳ５２）、角θに応じて減衰率を算出する（ステップＳ５３）。この減衰率の算出式は、
Ｉ（θ）／Ｉ＝［（１− cosθ）（１−ｋ）］／２＋ｋ
である。ここで、Ｉは最大明度、Ｉ（θ）は角θにおける明度、ｋは両ベクトルのなす角θが０のとき（ポリゴンが光源に対して真裏を向いているとき）の、Ｉ（０）／Ｉのことである。
【００２０】
ｋが０．７５のときの減衰率Ｉ（θ）／Ｉを角度θに対してプロットしたグラフが図５である。
以上に説明した陰影付け処理は、ランバートモデルと言われるものであるが、これ以外にも、フォン・シェーディング、ブリン・シェーディング、スムーズ・シェーディングなどが採用可能である。
【００２１】
Ｓ５４では、Ｒ＝Ｇ＝Ｂであるかどうか判定する。Ｒ＝Ｇ＝Ｂであれば、無彩色ということであり、ステップＳ５に進み、Ｒ，Ｇ，Ｂにそれぞれ減衰率をかける。
Ｒ＝Ｇ＝Ｂでなければ、ポリゴンの色をＨＳＩ（色相、彩度、明度）に変換し(ステップＳ５６)、明度Ｉに減衰率をかけて(ステップＳ５７)、Ｒ，Ｇ，Ｂに戻す(ステップＳ５８)。
【００２２】
−第１の実施形態−
ここでは、一日の太陽の動きをシミュレートするときなど、光源を移動させる必要のある場合の実施形態を説明する。この実施形態では、ドライブシミュレーターなど、道路地図上に経路が設定されていて、ドライバの視点や上空から見た景色をＣＧで再現する場合を想定するが、これに限定されるものでなく、マンマシンインタフェイスを使って視点位置と方向を設定するものであってもよい。
【００２３】
表示周期ごとに光源を移動させなくても、例えば１０分や１時間ごとに太陽の位置を計算して光源ベクトルを自動的に設定することにより、自然光を実現することができる。
図６は、表示制御装置の全体構成図であり、表示制御装置は、経路設定部５で設定された経路に沿って走行するドライバの視点や上空の位置・方向を記憶する視点位置データベース６と、マンマシンインタフェイス２と、ポリゴンデータを記憶している形状データベース４と、形状データベース４に記憶されているポリゴンデータに対して陰影付けを行うコンピュータ１と、表示装置８と、時計７とを備えている。
【００２４】
コンピュータ１は、図６に示すように、視点位置データベース６に記憶されたデータ又はマンマシンインタフェイス２で設定されたデータに基づいて、視点位置を設定する視点位置設定部１１と、陰影更新周期監視部１５と、光源ベクトル設定部１２と、ポリゴン陰影付け部１３と、表示周期監視部１６と、ＣＧ作成・表示部１４とを有している。
【００２５】
陰影更新周期監視部１５は、光源ベクトルを更新する周期（例えば１時間）を監視する。表示周期監視部１６は、視点位置を更新する周期（例えば１／３０秒）を監視する。
以上のコンピュータ１の陰影付け処理を説明したのが図７のフローチャートである。
【００２６】
図７に沿って説明する。まず、視点の初期位置・方向が設定されると（ステップＴ１）、時計７から時刻を取得し（ステップＴ３）、表示更新時刻になれば（ステップＴ４）、視点位置を更新する（ステップＴ５）。そして、表示対象ポリゴンを読み込み（ステップＴ６）、その表示対象ポリゴンに対して、回転、拡大・縮小、平行移動等の公知の３次元コンピュータグラフィックス処理（例えば特開平６−８３９３７号公報、特開平５−２０３４５７号公報参照）を施して、ＣＧ作成・表示を行う（ステップＴ１３）。
【００２７】
陰影更新周期がくると（ステップＴ７のｙｅｓ）、コンピュータ１は、視点位置と時計から光源ベクトルを更新し（ステップＴ８）、ポリゴンを順に処理する(ステップＴ９)。ポリゴンテーブルからポリゴン色を読み込み(ステップＴ１１)、陰影付け処理を行う(ステップＴ１２)。そして、その表示対象ポリゴンに対して、ＣＧ作成・表示を行う（ステップＴ１３）。
【００２８】
このように、表示更新時刻になるごとに、ＣＧ作成・表示を行うが、光源ベクトルの更新は表示更新周期より長い陰影更新周期ごとに行うことが特徴である。
−第２の実施形態−
この実施形態では、車載ナビゲーション装置など、実際にドライバの視点や上空からの視点が動く場合に、見た景色をＣＧで再現する場合を想定する。
【００２９】
図８は全体構成図であり、車載ナビゲーション装置２１は、車速計、ジャイロなどのセンサ１７からの信号に基づいて車両の位置を検出する位置検出部１９と、ポリゴンデータを含む地図データを記憶している地図データベース２０と、経路計算部１８と、陰影更新周期監視部１５と、光源ベクトル設定部１２と、地図データベース２０に記憶されているポリゴンデータに対して陰影付けを行うポリゴン陰影付け部１３と、表示周期監視部１６と、ＣＧ作成・表示部１４とを有している。さらに、表示装置８、時計７が付属している。
【００３０】
経路計算部１８は、位置検出部１９で算出された車両の現在位置データに基づいて、地図データベース２０から経路計算のためのリンクデータを読み出し、現在位置から目的地までの最短経路の計算を行い、得られた最短経路をＣＧ作成・表示部１４に送るものである（経路計算法については、例えば特開昭５８−２２３０１７号公報参照）。
【００３１】
車載ナビゲーション装置２１は、さらに、ＧＰＳ衛星からの信号を受信して、絶対位置や方位を検出するＧＰＳ受信機（図示せず）を備えていてもよく、ビーコンアンテナ、漏洩同軸ケーブル、ＦＭ多重放送機、通信衛星、放送衛星、携帯電話、自動車電話などから送出される位置情報や道路情報、施設情報（渋滞情報，事故情報，交差点名称，行き先案内）等のデータを受信する受信機（図示せず）を備えていてもよい。
【００３２】
また、位置検出部１９は、この車両の位置データと、地図データベース２０に格納されている道路のパターンとの比較（いわゆる地図マッチング法；例えば特開昭６１−５６９１０号公報参照）に基いて、車両の存在確率を加味した道路及び道路上の車両位置を検出する機能を備えていてもよい。
前記地図データは、地図を一定の緯度経度で区画した長方形又は正方形であるメッシュ単位で記憶されている。地図データは、道路地図データ及びポリゴンデータを含んでいる。
【００３３】
道路地図データは、道路（高速自動車国道、自動車専用道路、一般国道、都道府県道など）の交差点又は折曲点を表わすノードと、ノード同士をつなぐリンク（道路を表わす）との組合せデータからなる。
ここで「ノード」とは、道路の交差点や折曲点を特定するための座標位置のことであり、交差点を表わすノードを交差点ノード、交差点以外の折曲点を表わすノードを補間点ノードという。各ノードをつないだ方向付き線分がリンクであり、リンクデータは、リンク番号、リンクを構成するノードへのポインタ、リンクの長さ、リンクの方向、その方向における走行所要時間、国道などの道路種別のデータを含んでいる。
【００３４】
ポリゴンデータは、施設の立体形状等を特定するためのデータであり、基本的には、図２に示されるように色、テクスチャデータ、α値などのデータが、ポリゴンテーブルの形で記憶されている。なお、図２に示した以外にも、１つ１つの施設の識別番号や、各施設の属性（例：民家、オフィスビル、公園、学校など）番号がデータに加わることもある。
【００３５】
頂点データは、当該地図メッシュの中での頂点の相対座標で記憶されている。ここで、「相対座標」とは、当該メッシュの端から測った座標をいう。
以上の車載ナビゲーション装置２１の動作についてを用いて説明するが、基本的には、図７のフローチャートを用いて説明したのと同様である。ただし、地図を見る視点位置と方向が、車両の走行に連れて位置検出部１９から入力されるところが異なっている。
【００３６】
すなわち、表示更新時刻になればその時刻の視点位置に基づいて表示対象ポリゴンを読み込み、その表示対象ポリゴンに対して、ドライバの視点や上空から見たＣＧ作成・表示を行う。
陰影更新周期がくると、視点位置と時計から光源ベクトルを更新し、ポリゴンに対して、陰影付け処理を行い、立体的な景観地図を作成する。
【００３７】
図９、図１０は、作成された景観地図の表示例を示す。
図９は、経路３４に沿って交差点を左折する前の画面を示す景観図であり、図１０は、交差点を左折した直後の景観図である。建物３１，３２，３３には、太陽３５による陰影が付けられている（図９参照）が、交差点を曲がった時には、車両の回転に伴い、陰影の向きが見かけ上変わる（図１０参照）。しかし、交差点を曲がる前と曲がる後で、陰影更新周期が経過していないことを前提とすれば、太陽や大地を基準にして見た陰影の向きは不変となっている。
【００３８】
なお、陰影更新周期が経過すれば、太陽の位置が変わるので、陰影の向きは変化する。図１１は、太陽の位置がさらに低くなった場合の景観図を示している。太陽の位置は３５ａで示され、建物３１，３２，３３には、図９と比較して新たなポリゴン面に陰影が加わっている。
陰影更新周期は、一定時間時間ごとである必要はなく、時刻あるいは時間帯によってその長さを変化させてもよい。図１２は、陰影更新周期ｔ0，ｔ1，ｔ2，ｔ3，‥‥を時間帯によって変化させた例を示す。この例では、１８時から６時までは、陰影を更新しないこととしている。夜間は太陽の位置が変わっても、陰影に変化はないからである。
【００３９】
以上、本発明の実施の形態を説明してきたが、本発明は前記実施の形態に限られるものではなく、本発明の範囲内で種々の変更を施すことが可能である。
【００４１】
【発明の効果】
以上のように請求項１記載の本発明によれば、光源と物体との相対角度が時間的に変動しても、その変動時間が画像の１コマよりもはるかに長い場合に、画面の更新周期よりも長い周期で陰影を更新していくことができ、陰影設定手段の計算負荷を軽減し、陰影記憶手段の容量を減らすことができる。
請求項３又は請求項４記載の本発明によれば、車載ナビゲーションやドライビングシミュレーション装置に最適である。
【図面の簡単な説明】
【図１】  参考となる実施形態にかかる表示制御装置のブロック図である。
【図２】  形状データの記憶形態を示す図である。
【図３】  ポリゴンデータの中の各ポリゴンについて陰影付け処理を施して保存する処理を示すフローチャートである。
【図４】  陰影付け処理の詳細を示すフローチャートである。
【図５】  ｋが０．７５のときの減衰率Ｉ（θ）／Ｉを角度θに対してプロットしたグラフである。
【図６】  第１の発明の実施形態にかかる表示制御装置のブロック図である。
【図７】  コンピュータ１の陰影付け及び表示制御処理を説明するためのフローチャートである。
【図８】  第２の発明の実施形態にかかる表示制御装置のブロック図である。
【図９】  本発明の表示制御処理により作成された景観地図の表示例を示す図である。
【図１０】  本発明の表示制御処理により作成された景観地図の表示例を示す図である。
【図１１】  本発明の表示制御処理により作成された、時間帯の異なる景観地図の表示例を示す図である。
【図１２】  陰影更新周期を、時間帯に応じて変化させた例を示すグラフである。
【符号の説明】
１    コンピュータ
本発明の表示制御処理により作成された景観地図の表示例を示す図である。
２    マンマシンインタフェイス
３    データベース
４    形状データベース
５    経路設定部
６    視点位置データベース
７    時計
８    表示装置
１１  視点位置設定部
１２  光源ベクトル設定部
１３  ポリゴン陰影付け部
１４  ＣＧ作成・表示部
１５  陰影更新周期監視部
１６  表示周期監視部
１８  経路計算部
１９  位置検出部
２０  地図データベース
２１  車載ナビゲーション装置
【図１】
0004018291.tif 000002
【図２】
0004018291.tif 000003
【図３】
0004018291.tif 000004
【図４】
0004018291.tif 000005
【図５】
0004018291.tif 000006
【図６】
0004018291.tif 000007
【図７】
0004018291.tif 000008
【図８】
0004018291.tif 000009
【図９】
0004018291.tif 000010
【図１０】
0004018291.tif 000011
【図１１】
0004018291.tif 000012
【図１２】
0004018291.tif 000013