(57)【要約】【課題】    原画像に対して、複数のスタンプ画像を重畳した合成画像を生成する処理速度を向上させる。【解決手段】  原画像に対してスタンプ画像を合成する位置を記録した配置データを用意する。スタンプ画像を合成する際には、処理対象ピクセルの周囲の配置データを検索することによって、処理対象ピクセルにスタンプ画像の一部が重なる形で合成される全てのスタンプ画像を特定する。そして、この特定結果に基づいて、処理対象ピクセルに合成されるべき画素値を算出し、合成を行う。このように配置データを用いることにより、処理対象ピクセルに対して、繰り返しスタンプ画像の合成処理を行う必要なく、一度の処理で複数のスタンプ画像を合成した結果を得ることができるため、多数のスタンプ画像を重畳して合成する際の処理速度を向上させることができる。【選択図】  図２
2015188164.tif 000002
【特許請求の範囲】
【請求項１】
複数のピクセルからなる原画像に対して、複数のスタンプ画像を重畳した合成画像を生成する画像処理装置であって、
前記原画像を表す原画像データを記憶する原画像データ記憶部と、
前記スタンプ画像を表すスタンプ画像データを記憶するスタンプ画像データ記憶部と、
前記スタンプ画像が配置されるべき位置を、前記原画像データのピクセルで表した配置データを記憶する配置データ記憶部と、
前記原画像データに、前記スタンプ画像データを重畳する重畳処理部とを備え、
前記重畳処理部は、
前記原画像データから前記重畳処理を施す対象ピクセルを選択し、
前記配置データに基づいて、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その配置を特定し、
前記特定された結果に基づいて、前記スタンプ画像データを参照して、前記対象ピクセルに全ての前記スタンプ画像を重畳した場合の画素値を算出し、
該算出結果を、前記合成画像における前記対象ピクセルの画素値として記憶する画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記重畳処理部は、前記対象ピクセルを中心として、前記スタンプ画像のサイズに応じた距離だけ離れた範囲内を検出範囲と設定し、
前記配置データから前記検出範囲内の各ピクセルに対応するデータを検索することによって、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その配置を特定する画像処理装置。
【請求項３】
請求項１または２記載の画像処理装置であって、
前記スタンプ画像は、透過部分を有する画像であり、
前記配置データは、さらに、前記スタンプ画像を重畳する回数を表す重畳回数を記憶しており、
前記重畳処理部は、前記重畳回数だけ繰り返し前記スタンプ画像を適用して、前記画素値を算出する画像処理装置。
【請求項４】
請求項１〜３いずれか記載の画像処理装置であって、さらに、
前記配置データ記憶部は、前記配置データとは別に、前記スタンプ画像が配置されるべき位置を、前記原画像データより粗い解像度の粗ピクセルで表した粗配置データを記憶しており、
前記重畳処理部は、
前記粗配置データに基づいて、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その粗ピクセルでの配置を特定し、
前記特定された粗ピクセルでの配置に基づいて、前記配置データを参照することによって、前記原画像のピクセル単位での前記スタンプ画像の配置を特定する画像処理装置。
【請求項５】
請求項３または４記載の画像処理装置であって、
前記原画像データは、地物の３次元モデルを投影して明度を低下させた夜景画像であり、
前記スタンプ画像は、前記地物の明かりを表す光源画像であり、
前記配置データは、前記夜景画像内での前記地物の位置を前記光源画像の配置位置とし、該夜景画像において同一のピクセルとなる地物の数を前記重畳回数として記憶する画像処理装置。
【請求項６】
複数のピクセルからなる原画像に対して、複数のスタンプ画像を重畳した合成画像を生成する画像処理方法であって、
前記原画像を表す原画像データを記憶する原画像データ記憶部にアクセスするステップと、
前記スタンプ画像を表すスタンプ画像データを記憶するスタンプ画像データ記憶部にアクセスするステップと、
前記スタンプ画像が配置されるべき位置を、前記原画像データのピクセルで表した配置データを記憶する配置データ記憶部にアクセスするステップと、
前記原画像データに、前記スタンプ画像データを重畳する重畳ステップとを備え、
前記重畳ステップは、
前記原画像データから前記重畳処理を施す対象ピクセルを選択し、
前記配置データに基づいて、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その配置を特定し、
前記特定された結果に基づいて、前記スタンプ画像データを参照して、前記対象ピクセルに全ての前記スタンプ画像を重畳した場合の画素値を算出し、
該算出結果を、前記合成画像における前記対象ピクセルの画素値として記憶する画像処理方法。
【請求項７】
複数のピクセルからなる原画像に対して、複数のスタンプ画像を重畳した合成画像を生成するためのコンピュータプログラムであって、
前記原画像を表す原画像データを記憶する原画像データ記憶部にアクセスする機能と、
前記スタンプ画像を表すスタンプ画像データを記憶するスタンプ画像データ記憶部にアクセスする機能と、
前記スタンプ画像が配置されるべき位置を、前記原画像データのピクセルで表した配置データを記憶する配置データ記憶部にアクセスする機能と、
前記原画像データに、前記スタンプ画像データを重畳する重畳機能とをコンピュータに実現させ、
前記重畳機能として、
前記原画像データから前記重畳処理を施す対象ピクセルを選択し、
前記配置データに基づいて、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その配置を特定し、
前記特定された結果に基づいて、前記スタンプ画像データを参照して、前記対象ピクセルに全ての前記スタンプ画像を重畳した場合の画素値を算出し、
該算出結果を、前記合成画像における前記対象ピクセルの画素値として記憶する機能をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原画像に複数のスタンプ画像を重畳した合成画像を生成する画像処理装置に関する。
【背景技術】
【０００２】
ナビゲーション装置やコンピュータの画面等に用いられる電子地図では、建物などの地物を３次元的に表現した３次元地図が用いられることがある。電子地図は、昼間の景色だけでなく夜景の表示も行うことがある。例えば、地図の表示時刻に応じて、昼間の景色と夜景とを使い分けることによって、電子地図のリアリティをより向上させることができる。
図１は、夜景の３次元地図の表示例を示す説明図である。こうした夜景の地図は、３次元モデルを投影した画像上に、点光源を表す多数のスタンプ画像を重畳することで生成できる。線状の部分は道路を表す道路夜景であり、上方の光源が固まった部分は街を表す建物夜景である。
このように多数のスタンプ画像を重畳して画像を生成するには、多大な処理負荷がかかるため、処理負荷を軽減することが課題となる。特許文献１は、処理負荷を軽減する一つの方法として、多数のパーティクルを描いて水しぶき等を表現する際に、視点からの距離に応じてパーティクルの描画順序をソートする技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２１６１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図１に示した夜景画像では、点光源の数は億にも至ることがあり、このように多大な数となると、処理負荷は看過できないほど大きなものとなる。従来技術の方法では、処理に多大な時間を要し、円滑な表示を実現するには、まだ多大な改善の余地がある。かかる課題は、夜景画像に限らず、多数のスタンプ画像を合成する画像処理において共通の課題である。本発明は、かかる課題に鑑み、多数の３次元のスタンプ画像を合成する際の処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、複数のピクセルからなる原画像に対して、複数のスタンプ画像を重畳した合成画像を生成する画像処理装置であって、
前記原画像を表す原画像データを記憶する原画像データ記憶部と、
前記スタンプ画像を表すスタンプ画像データを記憶するスタンプ画像データ記憶部と、
前記スタンプ画像が配置されるべき位置を、前記原画像データのピクセルで表した配置データを記憶する配置データ記憶部と、
前記原画像データに、前記スタンプ画像データを重畳する重畳処理部とを備え、
前記重畳処理部は、
前記原画像データから前記重畳処理を施す対象ピクセルを選択し、
前記配置データに基づいて、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その配置を特定し、
前記特定された結果に基づいて、前記スタンプ画像データを参照して、前記対象ピクセルに全ての前記スタンプ画像を重畳した場合の画素値を算出し、
該算出結果を、前記合成画像における前記対象ピクセルの画素値として記憶する画像処理装置として構成することができる。
【０００６】
本発明によれば、配置データを用いることにより、スタンプ画像を重畳する処理の高速化を図ることができる。本発明において高速化が実現される原理について説明する。
図２は、スタンプ画像の重畳方法を示す説明図である。図の下側にはスタンプ画像が重畳されるべき原画像データ、図の上方には重畳するスタンプ画像を、それぞれ模式的に示した。図中の破線で区切ったマス目は、それぞれピクセルを表している。スタンプ画像とは、このように画像上に多数貼り付けられる画像を言う。原画像上に多数貼り付けることを考えると、スタンプ画像は、原画像データよりも小さいサイズとすることが好ましいが、原画像データ以上のサイズとすることもできる。
矢印Ｍ１、Ｍ２で示すように、図中のピクセルＰ１、Ｐ２の位置にそれぞれスタンプ画像を重畳する場合を考える。従来技術においては、かかる場合、まず、ピクセルＰ１を中心とする太線の枠内の９つのピクセルに対して、それぞれスタンプ画像の画素値を合成する。そして、次に、ピクセルＰ２を中心とする太線の枠内の９つのピクセルに対して、それぞれスタンプ画像の画素値を合成する。かかる方法では、例えば、ピクセルＰ１に着目すると、矢印Ｍ１での合成のときと、矢印Ｍ２での合成の２回にわたって合成処理が行われる。このように、従来技術の合成方法では、合成すべきスタンプ画像の数が増えるほど、原画像データを繰り返し読み出し、合成処理を行って、その結果を書き込む処理の回数が増えることとなる。
これに対し、本発明では、配置データを参照することにより、対象ピクセルに全てのスタンプ画像を重畳した場合の画素値を算出することができる。図２の例で説明する。この例によれば、配置データには、スタンプ画像の位置として、ピクセルＰ１、Ｐ２が記録されることになる。そして、ピクセルＰ１の処理を行う場合には、この配置データを参照することにより、ピクセルＰ１にはスタンプ画像の中央の画素が合成され、またピクセルＰ２にスタンプ画像を配置することによって、ピクセルＰ１にはスタンプ画像の左上の画素が合成されることが特定できる。このように本発明の方法によれば、配置データを用いることにより、処理対象のピクセルＰ１に重畳される全てのスタンプ画像を特定でき、ピクセルＰ１に合成される画素値を一義的に算出することができる。
このように本発明によれば、多数のスタンプ画像を合成する場合であっても、原画像データの読み出し、書き込みを繰り返す必要がなくなり、原画像データの各ピクセルの合成処理を一度で済ませることができる。
一方、本発明の方法では、スタンプ画像を合成する過程で配置データを繰り返し参照する必要が生じるが、配置データへの書き込みは一切、行われない。即ち、従来技術では、原画像データに対して、読み出し、書き込みの双方の処理が行われるのに対し、本発明の方法では、配置データに対しては読み出しのみの処理が行われ、原画像データに対しては主として書き込みの処理が行われることになり、配置データと原画像データとの間で、読み出し／書き込みの処理を分離することができる。一般にデータへのアクセスは、読み出しと書き込みとを同時に行うことはできないため、原画像データに対して、読み出し、書き込みの双方の処理が行われる従来技術では、読み出しが完了するまで書き込みを待つ必要があり処理時間を要するが、本発明では、読み出し／書き込みの処理が分離されるため、配置データからの読み出しと、原画像データへの書き込みを同時に行うことも可能となる。こうした並列処理効果も奏し、本発明ではさらに処理速度を高速化することができる。
【０００７】
本発明において、スタンプ画像のサイズは、任意に設定可能である。また、原画像データに合成されるスタンプ画像は一種類である必要はなく、種々のサイズの複数種類のスタンプ画像が混在していてもよい。
配置データは、スタンプ画像を合成する位置が特定できるものであれば、種々の構造で用意することができる。図２に示した例では、例えば、原画像データと同じ解像度の仮想的な画像データを用意し、スタンプ画像を配置すべきピクセルＰ１、Ｐ２に何らかの画素値を記録したものを配置データとして用意してもよい。この場合には、画素値によって、スタンプ画像を配置する数を表すこともできる。また、別の態様として、スタンプ画像を配置すべき原画像データ上の座標値と、そこに配置するスタンプ画像の数とを表すテーブルなどの形で配置データを用意してもよい。
また、配置データは、原画像データ内だけでなく、その周囲の画素に対するスタンプ画像の合成位置を特定可能なデータとしてもよい。例えば、図２のように仮想的な画像データの形式で配置データを用意する場合には、原画像データよりも縦横のサイズが大きい画像データを配置データとして使用する態様に相当する。
原画像よりも外側にスタンプ画像が配置される場合であっても、位置関係によっては、スタンプ画像の一部が原画像に重なることがある。原画像データの周囲の画素に対する情報も含める形で配置データを用意しておけば、このように原画像の外側に配置されるスタンプ画像についても、原画像の各ピクセルへの影響を特定することができ、隣接する原画像間での連続性を確保しつつ、原画像の境界付近の画素に対しても効率的にスタンプ画像の合成を行うことができる。
上述の態様において、配置データのサイズは任意に設定可能である。例えば、配置データは、原画像データの境界上のピクセルにスタンプ画像の境界上のピクセルが重なる位置までカバーしていれば足りることを考慮し、概ねスタンプ画像の縦方向、横方向の最大幅のそれぞれ半分を原画像データの周囲に付加した状態で用意してもよい。  
【０００８】
本発明の画像処理装置において、
前記重畳処理部は、前記対象ピクセルを中心として、前記スタンプ画像のサイズに応じた距離だけ離れた範囲内を検出範囲と設定し、
前記配置データから前記検出範囲内の各ピクセルに対応するデータを検索することによって、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その配置を特定するようにしてもよい。
【０００９】
こうすることにより、配置データの検索を効率的に行うことができる。図２に即して説明する。例えば、ピクセルＰ１の処理を考えると、ピクセルＰ２に配置されるスタンプ画像はピクセルＰ１にも影響を与えるが、矢印Ｍ３のようにピクセルＰ３に配置されるスタンプ画像は、ピクセルＰ１には影響を与えない。従って、配置データを参照して、ピクセルＰ１に影響を与えるスタンプ画像の位置を特定する場合、ピクセルＰ１から離れたピクセルＰ３は参照する必要はないことになる。
上記態様では、スタンプ画像のサイズに応じて配置データを参照する範囲を絞り込むため、無用な参照を抑制することができ、処理速度の向上を図ることが可能となる。
上記態様においても、スタンプ画像のサイズは統一されている必要はない。サイズの異なるスタンプ画像が用いられる場合には、例えば、最もサイズの大きいスタンプ画像に合わせて検出範囲を設定すればよい。
【００１０】
本発明において、
前記スタンプ画像は、透過部分を有する画像であり、
前記配置データは、さらに、前記スタンプ画像を重畳する回数を表す重畳回数を記憶しており、
前記重畳処理部は、前記重畳回数だけ繰り返し前記スタンプ画像を適用して、前記画素値を算出するものとしてもよい。
このように透過部分を有するスタンプ画像の場合は、同じ位置に繰り返し重畳することによって得られる画像が異なってくる。上記態様では、配置データにおいて、スタンプ画像を重畳する位置だけでなく、その回数まで記憶しているため、この繰り返し数も踏まえて処理対象画素に重畳される画素値を一義的に特定することが可能となり、処理速度の向上を図ることができる。
【００１１】
本発明の画像処理装置においては、さらに、
前記配置データ記憶部は、前記配置データとは別に、前記スタンプ画像が配置されるべき位置を、前記原画像データより粗い解像度の粗ピクセルで表した粗配置データを記憶しており、
前記重畳処理部は、
前記粗配置データに基づいて、前記対象ピクセルに重畳される全ての前記スタンプ画像と、その粗ピクセルでの配置を特定し、
前記特定された粗ピクセルでの配置に基づいて、前記配置データを参照することによって、前記原画像のピクセル単位での前記スタンプ画像の配置を特定するものとしてもよい。
【００１２】
粗配置データは、原画像データの数ピクセル分の範囲にスタンプ画像が配置されるべきか否かを記録したものである。この粗配置データのある粗ピクセルを参照したときに、スタンプ画像が配置されないという結果が得られれば、その粗ピクセルに対応する箇所については、配置データを参照するまでなくスタンプ画像は配置されないことが明らかとなる。従って、粗配置データを利用することによって、配置データを無駄に参照することを抑制することができる。
粗配置データと配置データとの併用は、原画像データの全ての領域で一様に行う必要はなく、スタンプ画像の密度が比較的低い領域においてのみ粗配置データを併用するようにしてもよい。例えば、配置データを参照することによってスタンプ画像の位置が特定できた割合を監視しておき、これが所定値を下回ったときには、スタンプ画像が疎な領域に到達したと判断して、粗配置データの併用を開始し、所定値以上となったときには、粗配置データの併用を停止するなどの方法が考えられる。
粗配置データを、配置データに対してどの程度粗くするかは、任意に設定することができる。また上記態様においては、解像度に応じて、粗配置データを２段階以上備えるようにしてもよい。
【００１３】
本発明は、種々の画像の処理に適用可能であるが、
前記原画像データは、地物の３次元モデルを投影して明度を低下させた夜景画像であり、
前記スタンプ画像は、前記地物の明かりを表す光源画像であり、
前記配置データは、前記夜景画像内での前記地物の位置を前記光源画像の配置位置とし、該夜景画像において同一のピクセルとなる地物の数を前記重畳回数として記憶するものとしてもよい。
図１に示したように、夜景画像においては、地物の位置に応じて光源画像を配置することにより、道路や建物、その密度などを反映させることができ、リアリティの高い夜景を実現することができる。しかしながら、地図内の地物の数は非常に多く、これに光源画像をスタンプ画像として重畳していくと、その処理は非常に大きな負荷となる。従って、かかる画像には、本発明の有用性が特に高くなる。
このように、本発明を適用すれば、短い時間で、リアリティの高い夜景画像を実現することが可能となるのである。
【００１４】
本発明においては、上述した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。
本発明は、その他、コンピュータによって画像処理を行う画像処理方法として構成してもよいし、かかる表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したＣＤ−Ｒ、ＤＶＤその他のコンピュータが読み取り可能な記録媒体として構成してもよい。
【図面の簡単な説明】
【００１５】
【図１】夜景の３次元地図の表示例を示す説明図である。
【図２】スタンプ画像の重畳方法を示す説明図である。
【図３】３次元地図表示システムの構成例を示す説明図である。
【図４】夜景テクスチャ生成処理のフローチャートである。
【図５】スタンプ描画処理のフローチャート（１）である。
【図６】スタンプ描画処理のフローチャート（２）である。
【図７】本実施例における処理方法による効果を示す説明図である。
【図８】地図表示処理のフローチャートである。
【図９】変形例としての地図表示処理のフローチャートである。
【図１０】第２実施例におけるスタンプ画像の重畳方法を示す説明図である。
【図１１】第２実施例におけるスタンプ描画処理のフローチャート（１）である。
【図１２】第２実施例におけるスタンプ描画処理のフローチャート（２）である。
【発明を実施するための形態】
【実施例１】
【００１６】
本発明の実施例について、夜景を表示する３次元地図表示システムを例にとって説明する。この３次元地図表示システムでは、光源のスタンプ画像を多数重畳したテクスチャを貼付することによって夜景を表現する。本発明の画像処理装置は、点光源を重畳したテクスチャを生成するための装置として実現されることになる。
Ａ．装置構成：
図３は、実施例における３次元地図表示システムの構成を示す説明図である。サーバ２００からネットワークＮＥ２等を介して提供される地図データに基づいて、端末３００に地図を表示する構成例を示した。地図を表示する端末としては、スマートフォン、携帯電話、タブレットなどの携帯端末の他、パーソナルコンピュータ、ナビゲーション装置などを用いてもよい。また、３次元地図表示システムは、端末３００とサーバ２００とからなるシステムの他、スタンドアロンで稼働するシステムとして構成してもよい。
図中には、３次元地図データを生成するデータ生成装置１００も併せて示した。データ生成装置１００は、点光源を重畳したテクスチャも生成する画像処理装置としての機能も有している。
【００１７】
端末３００には、主制御部３０４の下で稼働する種々の機能ブロックが構成されている。本実施例では、主制御部３０４および各機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部３０１は、サーバ２００とのネットワークＮＥ２を介した通信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。
コマンド入力部３０２は、端末の操作等を通じて、ユーザからの指示を入力する。本実施例における指示としては、３次元地図の表示範囲、拡大・縮小の指定、経路案内を行う際の出発地、目的地の設定などが揚げられる。
ＧＰＳ入力部３０３は、ＧＰＳ（Global Positioning System）の信号に基づいて緯度経度の座標値を得る。また、経路案内では、緯度経度の変化に基づいて進行方向を算出する。
地図情報記憶部３０５は、サーバ２００から提供された地図データを一時的に記憶しておくバッファである。経路案内時のように表示すべき地図が時々刻々と移動していく場合、地図情報記憶部３０５では不足する範囲の地図データをサーバ２００から受信して地図を表示する。
マップマッチング変換部３０７は、経路案内をする場合に、探索された経路および現在位置を、平行投影された３次元地図上の道路上にずれなく表示するため、経路位置および現在位置の座標値に対して必要な座標変換を施す。
表示制御部３０６は、地図情報記憶部３０５およびマップマッチング変換部３０７から提供されるデータに基づいて、端末３００のディスプレイ３００ｄに３次元地図を表示する。
【００１８】
サーバ２００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
地図データベース２１０は、３次元地図を表示するためのデータベースである。本実施例では、平行投影データ２１１、文字データ２１２、ネットワークデータ２１３を含む地図データを格納する。平行投影データ２１１は、道路、建物などの地物を３次元的に表示するためのデータであり、地物の３次元モデルを平行投影することで得られた２次元のポリゴンデータである。本実施例では、昼間の景色を表した平行投影データと、夜景を表した平行投影データとが用意されている。
文字データ２１２は、地図に表示すべき文字、例えば、地物の名称や地名などのデータである。ネットワークデータ２１３は、道路をノード、リンクの集まりで表現したデータである。
送受信部２０１は、ネットワークＮＥ２を介して端末３００とのデータの送受信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。また、送受信部２０１は、ネットワークＮＥ１を介してデータ生成装置１００との通信も行う。本実施例では、生成された地図データの授受が主として行われる。
データベース管理部２０２は、地図データベース２１０からのデータの読み出し、書き込みを制御する。
経路探索部２０３は、地図データベース２１０内のネットワークデータ２１３を用いて、経路探索を行う。経路探索には、ダイクストラ法などを用いることができる。
【００１９】
データ生成装置１００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、パーソナルコンピュータに、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部１０４は、ネットワークＮＥ１を介してサーバ２００とデータの授受を行う。
コマンド入力部１０１は、キーボード等を介してオペレータの指示を入力する。本実施例では、地図データを生成すべき領域の指定、平行投影パラメータの指定、夜景モードの指定等が含まれる。
３Ｄ地図データベース１１０は、地図データを生成するために用いられる３次元モデルを格納するデータベースである。道路、建物などの地物については、３次元形状を表す電子データが格納されている。３Ｄ地図データベース１１０は、従来、透視投影によって３次元地図を表示するために備えられる３次元モデルを利用することができる。
平行投影部１０３は、３Ｄ地図データベース１１０に基づいて平行投影による描画を行って平行投影データを生成する。描画された投影図は、平行投影データ１１３に格納され、送受信部１０４を介してサーバ２００の地図データベース２１０の平行投影データ２１１に格納される。
【００２０】
本実施例では、３次元モデルに対して夜景のテクスチャを貼り付けた上で平行投影することによって、夜景の平行投影データも生成される。
夜景テクスチャ生成部１０２は、３Ｄ地図データベース１１０に格納された３次元モデルを真上から投影した２次元地図上の建物および道路の位置に、スタンプ画像を重畳することで、夜景テクスチャを生成する。このスタンプ画像は、スタンプ画像データベース１１１に格納されている。夜景テクスチャ生成部１０２によって生成された夜景テクスチャは、夜景テクスチャデータベース１１２に格納される。本実施例では、夜景テクスチャは、３次元モデルが管理される地図上のメッシュ単位で生成される。
夜景の平行投影データを生成する際には、平行投影部１０３は、仮想３次元空間に３次元モデルを配置した上で、全体に夜景テクスチャデータベース１１２の夜景テクスチャを貼付し、平行投影を行う。こうすることによって、図１に示すような夜景を表した平行投影データが生成される。
【００２１】
平行投影データとは、上述の通り３次元モデルを鉛直方向に対して所定の投影角度だけ傾けた斜め方向から平行投影した２次元の描画データである。平行投影を用いることにより、左右方向および奥行き方向のそれぞれにおいて、相対的に縮尺を維持することができる利点がある。また、地図の画像を生成する際に、透視投影では投影する基準となる視点を定める必要があるのに対し、平行投影では視点を定める必要がない。透視投影では、視点が指定される度にレンダリングを施して投影図を得る必要があるが、平行投影では視点を指定する必要がないため、所定の投影方向に対する描画結果を予め用意しておくことができるのである。視点と無関係に生成された描画結果は、地図の描画範囲をどのように指定した場合でも共通して利用することができる。この結果、本発明では、３次元地図を描画する際のレンダリング処理が不要となるため、地図の描画時の処理負荷を激減させることが可能となる。
【００２２】
Ｂ．夜景テクスチャ生成処理：
Ｂ１．全体処理：
図４は、夜景テクスチャ生成処理のフローチャートである。データ生成装置１００の夜景テクスチャ生成部１０２が実行する処理であり、ハードウェア的にはデータ生成装置１００のＣＰＵが実行する処理である。
データ生成装置１００は、処理対象メッシュを選択する（ステップＳ１０）。オペレータの指示に従うようにしてもよいし、未処理のメッシュから順次、自動的に選択するようにしてもよい。
次に、データ生成装置１００は、処理対象メッシュ内の建物データ、ネットワークデータを読み込む（ステップＳ１２）。そして、建物の重心位置を光源位置として設定する（ステップＳ１４）。光源位置とは、点光源を表すスタンプ画像を重畳する位置を意味する。光源は、各位置に一定の数を重畳するように設定してもよいし、建物が高くなるほど光源の数が増えるように設定させてもよい。
また、データ生成装置１００は、ネットワークデータのリンク上に光源位置を設定する（ステップＳ１６）。図中に、光源位置の設定方法例を示した。高速道路の場合、ネットワークデータのリンクを所定の間隔ｄ１で等間隔に分割した点においてリンクに添って２条の光源を設定する。国道の場合は、リンクを間隔ｄ２（間隔ｄ２＜ｄ１）で等間隔に分割した点においてリンクに添って１条の光源を設定する。細街路のリンク上には光源は設定しない。本実施例では、このように道路種別に応じて、光源の有無およびその設定方法を変えているが、道路種別に関わらず一定の方法で光源を設定してもよい。
【００２３】
データ生成装置１００は、光源位置をインデックス画像に書き込む（ステップＳ２０）。インデックス画像とは、光源位置を指定する２次元のデータである。本実施例では、スタンプ画像を重畳した合成画像を描くキャンバスと同じ解像度からなる２次元画像をインデックス画像として用いるものとした。インデックス画像の各画素には、スタンプ画像のオン・オフおよびその回数を指定する値が記録されている。かかるインデックス画像を参照すれば、どの画素にスタンプ画像をいくつ配置すれば良いかを特定することが可能となる。この意味で、インデックス画像は、本発明における配置データに相当する。
【００２４】
データ生成装置１００は、生成されたインデックス画像を用いて、スタンプ描画処理を実行する（ステップＳ２２）。この処理は、インデックス画像で指定された位置に従ってスタンプ画像を重畳する処理である。処理の詳細は、後で説明する。こうして生成された画像は、光源が重畳された夜景画像となる。データ生成装置１００は、この夜景画像を、夜景テクスチャとして格納する（ステップＳ２４）。
データ生成装置１００は、全てのメッシュに対して夜景テクスチャの生成が終了するまで（ステップＳ２６）、以上の処理を繰り返し実行する。
【００２５】
Ｂ２．スタンプ描画処理：
図５および図６は、スタンプ描画処理のフローチャートである。夜景テクスチャ生成処理のステップＳ２２に相当する処理である。
データ生成装置１００は、処理対象メッシュに対してキャンバスおよびインデックス画像を読み込む（ステップＳ３０）。キャンバスとは、スタンプ画像を重畳し、合成画像を描く画像データまたは画像領域である。画像データとしては、メッシュ内の３次元モデルを真上から投影し、夜景用に明度を低下させた２次元画像を用いることができる。また、画像領域としては、メッシュに相当する広さの２次元の白画像または透明画像とすることができる。キャンバスとインデックス画像とは同一の解像度となっている。
【００２６】
データ生成装置１００は、キャンバスから処理対象ピクセルを選択する（ステップＳ３２）。処理対象ピクセルの選択方法は、任意に設定可能である。本実施例では、図中に示す矢印ａ１のように、キャンバスの左上から順に右方向に選択し、矢印ａ２に示すように、順次、次の行に移り同様に処理対象ピクセルを選択する。
データ生成装置１００は、インデックス画像を参照し、処理対象ピクセルに合成されるスタンプ画像を特定する（ステップＳ３４）。
図中にスタンプ画像の特定方法を示した。ここでは、３×３画素のサイズからなるスタンプ画像を合成する場合を例示した。スタンプの合成位置を特定するため、データ生成装置１００は、インデックス画像において処理対象ピクセルＰＰの周辺を検索する。検索範囲は、スタンプ画像の大きさに相当する範囲、即ち処理対象ピクセルＰＰを中心とする３×３画素の範囲である。
図の例では、インデックス画像中の画素Ｐ１、Ｐ２、Ｐ４にそれぞれ値１、２、４が記録されていることが分かる。画素Ｐ１の値１は、画素Ｐ１を中心としてスタンプ画像を１回重畳すること、即ち枠Ｍ１の範囲にスタンプ画像を重畳することを意味する。同様に、画素Ｐ２の値２は枠Ｍ２の範囲に２回、画素Ｐ４の値４は枠Ｍ４の範囲に４回、それぞれスタンプ画像を重畳することを意味している。枠Ｍ１、Ｍ２、Ｍ４にスタンプ画像を重畳することにより、処理対象ピクセルＰＰにそれぞれスタンプ画像の一部が合成されることになる。
これに対し、インデックス画像中の画素Ｐ３、Ｐ５にもそれぞれ値１が記録されている。これらの値もそれぞれ、枠Ｍ３、Ｍ５にスタンプ画像が重畳されることを意味する。しかし、枠Ｍ３、Ｍ５の範囲にスタンプ画像を重畳しても、処理対象ピクセルＰＰには影響はない。このように、処理対象ピクセルＰＰを中心としてスタンプ画像のサイズに応じた範囲でインデックス画像を検索しておけば、処理対象ピクセルＰＰに合成されるスタンプ画像を特定する処理としては足りる。図の例では、３×３のサイズからなるスタンプ画像を用いる例を示したが、種々のサイズからなる複数種類のスタンプ画像を用いる場合には、その中の最大のサイズのものに基づいて検索の範囲を設定すればよい。
【００２７】
図６に移り、データ生成装置１００は、次に処理対象ピクセルに合成されるスタンプ画像の画素値を算出する（ステップＳ３６）。図中に算出方法を示した。処理対象ピクセルＰＰに対して、枠Ｍ１の位置に１回、枠Ｍ２の位置に２回、枠Ｍ４の位置に４回、それぞれスタンプ画像が合成されるものとする。スタンプ画像の各画素の画素値が図の下に示すようにｔ１〜ｔ９で与えられているとすると、枠Ｍ１の位置にスタンプ画像を合成するときには、処理対象ピクセルＰＰには、右下の画素値ｔ９の画素が１回合成されることになる。同様にして、枠Ｍ２の合成では左下の画素値ｔ７の画素が２回合成され、枠Ｍ４の合成では中央上の画素値ｔ２の画素が４回合成される。これらの画素値を合成するための式は、スタンプ画像の各画素に設定された透過度、即ちアルファ値を考慮した合成式となる。
データ生成装置１００は、こうして画素値を算出すると、処理対象ピクセルに対して、算出された合成画素値を合成する（ステップＳ３８）。この処理では、処理対象ピクセルに影響を与えるスタンプ画像の画素値は全て反映されているから、処理対象ピクセルの画素値は他のピクセルに対する処理による影響を受けることなく、一義的に定まることになる。
データ生成装置１００は、以上の処理を全ての処理対象ピクセルについて終了するまで繰り返して実行する（ステップＳ４０）。
【００２８】
Ｂ３．効果：
図７は、本実施例における処理方法による効果を示す説明図である。図の上方には、サンプル地図画像およびスタンプ画像を例示した。左側に示す夜景のサンプル地図画像に対して、スタンプ画像を合成する処理を実行する。スタンプ画像の合成は３億回以上となる。
図の下側には、スタンプ描画時間を、従来技術と本実施例の方法とで比較した結果を示した。図示するとおり、実施例の方法によれば、処理時間は３０分の１ほどに短縮された。
このように処理時間が短縮された理由は、次の通りである。
図５のステップＳ３４の図中に示したように、処理対象ピクセルＰＰの周辺にスタンプ画像が重畳される場合、処理対象ピクセルＰＰは、枠Ｍ１、Ｍ２、Ｍ４のそれぞれに重畳されるスタンプ画像によって影響を受けることになる。従来技術では、枠Ｍ１、Ｍ２、Ｍ４の合成処理を順次、実行するため、処理対象ピクセルＰＰの画素値が決まるまでの間に、何度も、読み出し、合成、書き込みが繰り返し実行されていた。
これに対し、本発明では、インデックス画像を参照することにより、処理対象ピクセルＰＰに対して影響を与える全てのスタンプ画像を特定することができ、合成画素値を一義的に定めることができる。従って、キャンバスの各画素の読み出し、書き込みを繰り返す必要がなくなり、合成処理を一度で済ませることができるため、処理の高速化を図ることができるのである。
また、実施例の方法では、合成する過程でインデックス画像を繰り返し参照する必要が生じるが、インデックス画像への書き込みは一切、行われない。即ち、従来技術と異なり、実施例の方法では、スタンプ画像の合成位置を特定するためのデータの読み出しはインデックス画像に対してのみ行い、合成結果の書き込みはキャンバスに対してのみ行うというように、読み出し／書き込みの処理を分離することができる。一般にデータへのアクセスは、読み出しと書き込みとを同時に行うことはできないため、キャンバスに対して双方を分離していない従来技術では処理時間が長くなる傾向にあるが、本実施例のように読み出し／書き込みの処理を分離すれば、インデックス画像の参照と、キャンバスへの書き込みを同時に行うことも可能となる。こうした並列処理効果も奏し、本発明ではさらに処理速度を高速化することができる。
こうした並列化には、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）が特に適している。従って、本実施例の処理方法は、ＧＰＵ向けの処理であるとも言える。
【００２９】
Ｃ．地図表示処理：
Ｃ１．平行投影データを用いた地図表示：
次に、本実施例で生成された平行投影データを用いた地図表示の方法について説明する。
図８は、地図表示処理のフローチャートである。端末３００の表示制御部３０６が主として実行する処理であり、ハードウェア的には端末３００のＣＰＵが実行する処理である。
この処理では、まず端末３００は、表示範囲を設定する（ステップＳ５０）。ユーザが指定するものとしてもよいし、ＧＰＳで得られる現在位置を中心とする所定範囲を表示範囲と設定してもよい。
また、端末３００は夜景モードか否かを判断する（ステップＳ５２）。これもユーザの指定に従うものとしてもよいし、地図を表示する時刻が所定の時間帯の場合には夜景モードに設定する方法等で自動的に設定してもよい。
端末３００は、夜景モードの場合には、夜景用の平行投影データを読み込み（ステップＳ５４）、そうでない場合には、昼景用の平行投影データを読み込む（ステップＳ５６）。これらの読み込みは、従前の地図表示処理において既に取得し端末３００内の地図情報記憶部３０５に保持されている地図情報から行われる。端末３００は、地図情報記憶部３０５に保持されているデータでは、地図を表示するのに不足する場合には、サーバ２００から不足部分の地図情報を取得する。
【００３０】
こうして地図情報を取得し終えると、端末３００は夜景平行投影データまたは昼景平行投影データから、それぞれ表示範囲に対する部分を切り出して表示する（ステップＳ５８）。本実施例では、平行投影データは既に平行投影された後の２次元のポリゴンデータに過ぎないから、取得した平行投影データに従ってポリゴンを描画すれば３次元地図を表示することができる。
【００３１】
Ｃ２．変形例としての地図表示処理：
次に、変形例として、透視投影による地図表示の方法を示す。変形例では、平行投影データは用いず、データ生成装置１００の夜景テクスチャ生成部１０２で生成される夜景テクスチャを使用する。また、平行投影データ２１１に代えて、データ生成装置１００の３Ｄ地図データベース１１０に格納される３次元モデルを用いる。
図９は、変形例としての地図表示処理のフローチャートである。端末３００の表示制御部３０６が実行する処理である。
端末３００は、視点、視線方向、表示範囲を設定する（ステップＳ７０）。ユーザの指定に従ってこれらを設定するものとしてもよいし、現在位置に基づいてこれらを自動的に設定するものとしてもよい。
端末３００は、仮想３次元空間に３次元モデルを配置する（ステップＳ７２）。そして、夜景モードが設定されている場合には（ステップＳ７４）、これらの３次元モデルの全体に対して、夜景テクスチャを貼付する（ステップＳ７６）。夜景モードでない場合には（ステップＳ７４）、この処理はスキップされる。
こうして３次元モデルの配置が完了すると、端末３００は透視投影を行い（ステップＳ７８）、その投影図に文字を表示して（ステップＳ８０）、地図表示を完了する。
変形例によれば、透視投影によって夜景の地図表示を実現することができる。
【００３２】
以上で説明した実施例によれば、光源を表すスタンプ画像の合成の処理時間を短縮することができ、これによって夜景テクスチャを効率的に生成することができる。
また、生成された夜景テクスチャを利用して、リアリティの高い夜景の３次元地図を表示することができる。
【実施例２】
【００３３】
第１実施例では、キャンバスと同じ解像度のインデックス画像を用いてスタンプ画像を描画する処理について説明した。第２実施例では、異なる解像度のインデックス画像を用意し、これを段階的に使用する例を説明する。
【００３４】
図１０は、第２実施例におけるスタンプ画像の重畳方法を示す説明図である。第２実施例では、インデックス画像と低解像度インデックス画像の２種類を用いる。インデックス画像の解像度は、図の下側に示すキャンバスと同じ解像度である。低解像度インデックス画像は、インデックス画像の４ピクセルが１ピクセルに対応する解像度である。
インデックス画像は、第１実施例と同様、ピクセルごとにスタンプ画像を重畳すべき位置および回数についての情報を格納している。図の例では、ピクセルＩＤＸ１１には値１、ピクセルＩＤＸ２２には値４が記録され、ピクセルＩＤＸ１２、ＩＤＸ２１には値０が記録されている。低解像度インデックス画像には、画素ごとに、インデックス画像の４ピクセル分の情報が格納されている。図中のピクセルＬＤＸ１１は、インデックス画像の４つのピクセルＬＤＸ１１、ＬＤＸ１２、ＬＤＸ２１、ＬＤＸ２２に対応する。従って、低解像度インデックス画像のピクセルＬＤＸ１１には、これらの４つのピクセルを統合した値、図の例では値５（＝１＋４）が格納される。
このように生成された低解像度インデックス画像を見れば、これに対応するインデックス画像の４ピクセルのいずれかにスタンプ画像を配置するか否かを判断することができる。例えば、図中のピクセルＬＤＸ１１は値５であるため、これに対応する４つのピクセルのいずれかは値０でないこと、即ち、いずれかのピクセルにスタンプ画像が配置されることが分かる。仮に、ピクセルＬＤＸ１１が値０であれば、これに対応する４つのピクセルのいずれも値０であり、いずれのピクセルにもスタンプ画像は配置されないことが分かる。このように、低解像度インデックス画像を見れば、インデックス画像の４ピクセル分をまとめて判断することができることになる。
【００３５】
低解像度インデックス画像を用いたスタンプ描画処理の方法について説明する。
図１１、図１２は、第２実施例におけるスタンプ描画処理のフローチャートである。実施例１の夜景テクスチャ生成処理（図４のステップＳ２２）に代わる処理であり、データ生成装置１００が実行する処理である。
データ生成装置１００は、処理を開始すると、キャンバス、低解像度インデックス画像、およびインデックス画像を読み込む（ステップＳ１３０）。
データ生成装置１００は、処理対象ピクセルを選択する（ステップＳ１３２）。そして、低解像度インデックス画像を参照し、スタンプ画像の合成位置を検索する（ステップＳ１３４）。図中に検索方法を示した。スタンプ画像が３×３の大きさであるとすれば、図の上側に示す処理対象ピクセルＰＰについての検索範囲は、図中の枠内となる。低解像度インデックス画像において、この検索範囲の各画素に対応する範囲は、図中に示す低解像度検索範囲となる。低解像度インデックス画像は、各ピクセルがキャンバスの４ピクセルに相当するため、低解像度検索範囲は、検索範囲よりも広くなる。
【００３６】
図１２に移り、データ生成装置１００は、低解像度インデックス画像の検索結果に基づき、インデックス画像を参照する（ステップＳ１３６）。図中に参照方法を示した。低解像度インデックス画像が値０のときは、インデックス画像は参照不要である。その他の値のときは、インデックス画像の検索範囲内を参照する。
例えば、図中に示す通り、低解像度インデックス画像のピクセルＬＰ１、ＬＰ４は値０であるとする。これは、インデックス画像において、ピクセルＬＰ１、ＬＰ４に対応する範囲、即ち、ピクセルｐ１、ｐ２、ｐ４、ｐｐ、ｐ８にはスタンプ画像は配置されないことを意味する。従って、インデックス画像において、これらのピクセルは参照するまでなく、値０であると判断できる。一方、図中に示す通り、低解像度インデックス画像のピクセルＬＰ２、ＬＰ３はそれぞれ値１、値２であるとする。これは、インデックス画像において、これらのピクセルＬＰ２、ＬＰ３に対応するピクセルｐ３，ｐ５，ｐ６，ｐ７のいずれかにスタンプ画像が配置されることを意味している。従って、データ生成装置１００は、これらの画素についてインデックス画像を参照し、スタンプ画像を合成する位置および数を特定する。
【００３７】
上述の態様では、低解像度インデックスに、値１、２など、インデックス画像の対応するピクセルの合計値を格納する例を示した。低解像度インデックスには、かかる態様に代えて、値０または１の２値データを格納するものとしてもよい。即ち、低解像度インデックスには、インデックス画像の対応するピクセルにスタンプ画像が配置されない場合には値０、スタンプ画像が配置される場合にはその数に関わらず値１を格納するのである。低解像度インデックスは、スタンプ画像の位置や数を最終的に決定するために参照されるものではなく、インデックス画像を参照する必要があるか否かを特定するために参照されるものであるから、このように２値の情報で足りるのである。こうすることにより、低解像度インデックスのデータ容量を抑制することができる利点、およびインデックス画像の参照を要するか否かの判断処理を高速化できる利点がある。
【００３８】
こうして、処理対象ピクセルＰＰに影響する全てのスタンプ画像の配置が決定されると、データ生成装置１００は、実施例１と同様、処理対象ピクセルに合成画素値を合成する（ステップＳ１３８）。
データ生成装置１００は、全てのピクセルについてスタンプ画像の描画が完了するまで、繰り返し以上の処理を実行する（ステップＳ１４０）。
【００３９】
以上で説明した第２実施例によれば、低解像度インデックス画像とインデックス画像を利用することにより、スタンプ描画の処理速度を更に高速化することができる。低解像度インデックス画像を用いることにより、インデックス画像の全ての画素を参照する必要がなくなり、インデックス画像の読み出し回数を低減できるからである。かかる効果は、低解像度インデックス画像においてピクセルが値０となっているときに特に高い。
第２実施例では、全ての領域で低解像度インデックス画像とインデックス画像とを併用する例を示したが、両者を領域によって使い分けてもよい。また、低解像度インデックス画像は１種類に限らず、複数種類の解像度で用意してもよい。
【００４０】
第２実施例では、低解像度インデックスを、ピクセルごとに参照し、インデックスの参照の要否を判断する例を示した。この処理の変形例として、低解像度インデックスにおいて、以下の手順で、複数のピクセルをまとめて参照するようにしてもよい。まず、低解像度インデックス内のピクセルの格納値を、行方向（図１２におけるＬＰ１、ＬＰ２の方向）または列方向（図１２におけるＬＰ１、ＬＰ３の方向）に合計する。そして、この合計が値０か否かによって、インデックス画像の参照の要否を判断するのである。合計が値０であれば、インデックス画像の参照は不要ということを意味し、そうでない場合は参照が必要ということを意味する。
インデックス画像の参照の要否の判断の前に、低解像度インデックス画像をピクセル単位で参照するか否かの判断を行うようにしてもよい。即ち、合計が値０でない場合には、低解像度インデックスの行または列内の各ピクセルを個別に参照するのである。そして、低解像度インデックスにおいて、値０でないピクセルを発見したら、それに対応するインデックス画像を参照するのである。
上述の態様によれば、低解像度インデックス画像を参照する際の分岐処理の回数を低減することができ、処理の高速化を図ることができる。特に、ＧＰＵなど、分岐処理に時間を要するプロセッサを利用する場合に有用な方法である。
もっとも、スタンプ画像の密度が高い領域では、上述の態様では、かえって分岐処理が増大するおそれもある。従って、上述の態様は、スタンプ画像の密度に応じて適用するか否かを切り換えるようにしてもよい。
【００４１】
低解像度インデックスのピクセルを合計して判断するという手法は、換言すれば、合計値に相当する擬似的な低解像度インデックスを生成する処理であるということもできる。従って、予め低解像度インデックスの行方向または列方向に合計した第２の低解像度インデックスを用意しておいても、上述の合計値を用いた処理と同様の処理を行うことができる。
また、合計値による判断手法は、低解像度インデックス画像ではなく、インデックス画像に直接適用することも可能である。インデックス画像におけるピクセルの格納値を行方向または列方向に合計し、その行または列の参照要否を判断すればよい。こうすることで低解像度インデックス画像を用いたのと同様の処理を擬似的に実現することができる。
以上の説明において、ピクセルの合計は、必ずしも行方向または列方向に限定されるものでもなく、隣接する４つのピクセル単位で合計を算出するなど、種々の条件で行うことができる。
【００４２】
以上、本発明の実施例について説明した。実施例の画像処理装置は、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
実施例では、夜景地図を実現するための光源のスタンプ画像を合成する例を示したが、本発明の画像処理は、かかる場合のみならず、種々の画像およびスタンプ画像に対して適用可能である。
実施例では、比較的小さいサイズのスタンプ画像を利用する例を示したが、スタンプ画像のサイズは、原画像と同一またはそれ以上であってもよい。  
【００４３】
実施例では、キャンバスとインデックス画像が同じサイズの例を示したが、インデックス画像は種々のサイズで用意することができ、例えば、キャンバスよりも大きいサイズとしてもよい。具体的には、インデックス画像のサイズは、概ねスタンプ画像の縦方向、横方向の最大幅のそれぞれ半分を原画像データの周囲に付加したサイズ、即ち、キャンバスの境界上のピクセルにスタンプ画像の境界上のピクセルが重なる配置まで特定可能なサイズとしてもよい。
実施例のようにメッシュ単位で画像データが用意され、これを並べて地図を表示する場合には、メッシュの境界部分における画像の連続性を確保することが重要となることがある。そして、メッシュの外側にスタンプ画像が配置される場合であっても、その位置関係によっては、スタンプ画像の一部がメッシュ内に重なることがある。従って、連続性を確保するためには、このようにメッシュの外側に配置されるスタンプ画像に対しても適切な合成処理を施す必要がある。かかる方法の一つとしては、キャンバス自体をメッシュよりも大きなサイズとしておき、スタンプ画像を合成した後、メッシュに対応する領域を切り出す方法が考えられる。しかし、この方法では、メッシュ周辺部分の無駄な画素についてまで合成処理を施すことになり、効率が悪い。
これに対し、上述のように、インデックス画像をキャンバスよりも大きなサイズとしておけば、キャンバス内の各ピクセルを処理する際に、その外側に配置されるスタンプ画像も考慮して各ピクセルの画素値を一義的に特定することが可能となる。従って、かかるインデックス画像を用意しておけば、キャンバスをメッシュと同サイズとし、無駄な画素に対する処理を回避して、メッシュの境界付近の画素に対しても効率的にスタンプ画像の合成を行うことができる。
【産業上の利用可能性】
【００４４】
本発明は、原画像に複数のスタンプ画像を重畳した合成画像を生成する画像処理に利用可能である。
【符号の説明】
【００４５】
１００…データ生成装置
１０１…コマンド入力部
１０２…夜景テクスチャ生成部
１０３…平行投影部
１０４…送受信部
１１０…３Ｄ地図データベース
１１１…スタンプ画像データベース
１１２…夜景テクスチャデータベース
１１３…平行投影データ
２００…サーバ
２０１…送受信部
２０２…データベース管理部
２０３…経路探索部
２１０…地図データベース
２１１…平行投影データ
２１２…文字データ
２１３…ネットワークデータ
３００…端末
３００ｄ…ディスプレイ
３０１…送受信部
３０２…コマンド入力部
３０３…ＧＰＳ入力部
３０４…主制御部
３０５…地図情報記憶部
３０６…表示制御部
３０７…マップマッチング変換部
【図２】
2015188164.tif 000003
【図３】
2015188164.tif 000004
【図４】
2015188164.tif 000005
【図５】
2015188164.tif 000006
【図６】
2015188164.tif 000007
【図８】
2015188164.tif 000008
【図９】
2015188164.tif 000009
【図１０】
2015188164.tif 000010
【図１１】
2015188164.tif 000011
【図１２】
2015188164.tif 000012
【図１】
2015188164.tif 000013
【図７】
2015188164.tif 000014