(57)【特許請求の範囲】
【請求項１】
地図を表示して移動体のナビゲーションを行うナビゲーションシステムにおいて、
地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算手段と、
地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持手段と、
係数に基づいて地図を表示する表示手段と、
を備え、
前記計算手段は、前記表示範囲の中心座標の緯度のコサインを使って前記係数を計算するように構成され、
前記表示手段は、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットするように構成され、
前記保持手段は、スクロール中にフラグがリセットされているときは、スクロールの開始地点に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供するように構成されたことを特徴とするナビゲーションシステム。
【請求項２】
スクロール中であっても地図の表示スケールを変化させると係数を更新する更新手段を備えたことを特徴とする請求項１記載のナビゲーションシステム。
【請求項３】
地図を表示して移動体のナビゲーションを行うナビゲーションシステムにおいて、
地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算手段と、
地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持手段と、
係数に基づいて地図を表示する表示手段と、
を備え、
前記表示手段は、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットするように構成され、
前記保持手段は、スクロール中にフラグがリセットされているときは、そのときの表示範囲に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供するように構成され、
地図の表示スケールが変化したことを検出すると前記フラグをリセットする更新手段を備えたことを特徴とするナビゲーションシステム。
【請求項４】
地図を表示して移動体のナビゲーションを行うナビゲーション方法において、
地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算のステップと、
地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持のステップと、
係数に基づいて地図を表示する表示のステップと、
を備え、
前記計算のステップは、前記表示範囲の中心座標の緯度のコサインを使って前記係数を計算し、
前記表示のステップは、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットし、
前記保持のステップは、スクロール中にフラグがリセットされているときは、スクロールの開始地点に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供することを特徴とするナビゲーション方法。
【請求項５】
スクロール中であっても地図の表示スケールを変化させると係数を更新するステップを含むことを特徴とする請求項４記載のナビゲーション方法。
【請求項６】
地図を表示して移動体のナビゲーションを行うナビゲーション方法において、
地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算するステップと、
地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持のステップと、
係数に基づいて地図を表示する表示のステップと、
を含み、
前記表示のステップは、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットし、
前記保持のステップは、スクロール中にフラグがリセットされているときは、そのときの表示範囲に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供し、
地図の表示スケールが変化したことを検出すると前記フラグをリセットするステップを含むことを特徴とするナビゲーション方法。
【請求項７】
コンピュータを使って、地図を表示して移動体のナビゲーションを行うためのナビゲーション用ソフトウェアを記録した記録媒体において、
そのソフトウェアは前記コンピュータに、
地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算させ、
地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持させ、
係数に基づいて地図を表示させ、
前記地図の表示について、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示させると共にあらかじめ決められたフラグをリセットさせ、
前記係数の保持について、スクロール中にフラグがリセットされているときは、スクロールの開始地点に基づいて計算された係数を保存させると共に前記フラグをセットさせ、
スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供させることを特徴とするナビゲーション用ソフトウェアを記録した記録媒体。
【請求項８】
前記ソフトウェアは前記コンピュータに、
スクロール中であっても地図の表示スケールを変化させると係数を更新させることを特徴とする請求項７記載のナビゲーション用ソフトウェアを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、地図を表示して移動体のナビゲーションを行う技術の改良にかかわるもので、より具体的には、地図の正確さとスクロール時の滑らかさを効果的に両立させるようにしたものである。
【０００２】
【従来の技術】
近年、自動車に代表される移動体の道案内を自動的に行う電子機器として、ナビゲーションシステムが知られている。ナビゲーションシステムは、人工衛星からの電波やジャイロなどを使って、搭載している自動車（自車）の現在位置（自車位置）を計算し、液晶表示パネルなどの表示画面で、自車位置を地図上でコンピュータグラフィックス表示しながら、次にどこをどちらへ曲がればよいといった道案内をするものである。
【０００３】
このようなナビゲーションシステムで地図を表示するための技術はいろいろ知られている。例えば、互いに縮尺の違う地図が何種類かある場合、縮尺比をあらかじめ計算しておき、ある縮尺の地図をスクロールするとき、それより１段階詳しい地図で表示できる範囲を枠で示す技術が知られている。これにより、１段階詳しい縮尺に切り換えたところ、期待したのと違う範囲が表示されるといった問題を防ぐことができる。また、所定の操作をすると、出発地と目的地のような２つの地点を同時に表示できる縮尺の地図を、自動的に選択する技術も知られている。
【０００４】
ところで、地球は回転楕円体であるので、平面上に地図を表示する場合、ある程度、道路その他の位置座標や形状については、経度方向をひずませて表示することになる。つまり、ナビゲーション装置において地図を表示する際にも、経度方向の距離にかかわる表示は、ある程度の誤差を生じることとなる。
【０００５】
このような誤差を減らす技術としては、大きく分けて次のような２通りの技術が知られている。１番目の技術は、地図全体での誤差平均化である。すなわち、図５に示すように、地球Ｇは回転楕円体であるので、地形図の図郭形状は不等辺四角形Ｇ１を成している。そして、図６に示すように、このような不等辺四角形Ｇ１同士は、同じ緯度を基準に単純に並べても、互いに接しない部分があるため、地図のスクロールなどで隣の領域に移動するとき、本来的には連続的につなぎ合わせることが出来ない。
【０００６】
上に述べた地図全体での誤差平均化は、このような問題を緩和する技術の１つで、表示の対象となる日本全土のような広い範囲の全体を１枚の地図として、その誤差を平均化するものである。この場合、あるスケールで地図をスクロールさせても、図７に示すように、表示される部分Ｄは、大きな地図Ｍの一部分を表示しているのと同じことになるので、地図のいろいろな部分を連続的に表示することが可能である。
【０００７】
２番目の技術は、表示範囲内での誤差平均化である。これは、ナビゲーション画面に表示されている地図の範囲を対象として誤差を平均化するもので、これにより、楕円体である地球を平面で表す際の誤差を減らし、正しい形状や距離に近い状態で地図を表現することができる。
【０００８】
【発明が解決しようとする課題】
しかしながら、上に述べたような従来技術では、地図の精度とスクロールの滑らかさが両立しにくいという問題があった。
すなわち、まず、１番目に述べた地図全体の誤差平均化では、上に述べたように、例えば日本全土のような広い範囲を１枚の地図として平均化するものであるため、スクロールの際には連続的になめらかに地図を表示可能することができる。
【０００９】
しかし、この地図全体の誤差平均化では、楕円体である地球を広い範囲で平均化して平面で表現するので、地図の中心部分ではほぼ正しい形状、距離を表すものの、地図の端に近づくほど変形が大きくなるため、実際の形状、距離との誤差が拡大し実際とはかなり異なる表示になるという問題を生ずる。
【００１０】
次に、２番目の表示範囲内での誤差平均化では、誤差の平均化は表示範囲という狭い対象ごとに行うので、地図の変形は小さくて済む。しかし、この表示範囲内での誤差平均化では、誤差を平均化するための係数が表示する部分ごとに変化するため、地図の「揺れ」や「ブレ」といった問題が生じる。ここで、地図の「揺れ」や「ブレ」とは、地図の表示範囲を南や北にスクロールするとき、表示内容が途中で東西に伸び縮みすることで、地図の各部分が滑らかにつながらないことである。
【００１１】
このような「揺れ」や「ブレ」が生じる原理を図８の概念図に示す。ここでは北が上になっている地図上に２本の経線Ｘ１ａ，Ｘ１ｂが引かれており、経度間の距離をＬ１、地図の中心緯度をＹ１［度］とする（図８（ａ））。
【００１２】
この状態から地図を北方向にスクロールさせる場合、中心緯度がＹ２［度］の地点では、同じ２本の経線間の距離Ｌ２は
Ｌ２＝Ｌ１×（ｃｏｓＹ２／ｃｏｓＹ１）
に変化する（図８（ｂ））。
【００１３】
このように、２番目の表示範囲内での誤差平均化では、地図を北にスクロールするに従って経度方向が縮み、逆に、南にスクロールするときはそれにしたがって経度方向が広がるように表示される。この結果、スクロール時には、ある一定間隔で地図が横方向に縮んだり広がったりして、その境目の道路などが段違いにずれて表示されるといった現象を生ずる。
【００１４】
以上のように、上に述べたような従来技術では、スクロール時の地図表示の滑らかさを取ると地図の精度が失われ（１番目の地図全体の誤差平均化）、地図の正確さをとると、スクロール時に地図に揺れが生じる（２番目の表示範囲内での誤差平均化）ため、地図の精度とスクロールの滑らかさが両立しにくいという問題があった。
【００１５】
この発明は、上に述べたような従来技術の問題点を解決するために提案されたもので、その目的は、地図の正確さとスクロール時の滑らかさを効果的に両立させることである。
【００１６】
【課題を解決するための手段】
上に述べた目的を達成するため、請求項１の発明は、地図を表示して移動体のナビゲーションを行うナビゲーションシステムにおいて、地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算手段と、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持手段と、係数に基づいて地図を表示する表示手段と、を備え、前記計算手段は、前記表示範囲の中心座標の緯度のコサインを使って前記係数を計算するように構成され、前記表示手段は、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットするように構成され、前記保持手段は、スクロール中にフラグがリセットされているときは、スクロールの開始地点に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供するように構成されたことを特徴とする。請求項４の発明は、請求項１の発明を方法という見方からとらえたもので、地図を表示して移動体のナビゲーションを行うナビゲーション方法において、地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算のステップと、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持のステップと、係数に基づいて地図を表示する表示のステップと、を備え、前記計算のステップは、前記表示範囲の中心座標の緯度のコサインを使って前記係数を計算し、前記表示のステップは、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットし、前記保持のステップは、スクロール中にフラグがリセットされているときは、スクロールの開始地点に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供することを特徴とする。請求項７の発明は、請求項１，４の発明を、コンピュータプログラムを記録した記録媒体という見方からとらえたもので、コンピュータを使って、地図を表示して移動体のナビゲーションを行うためのナビゲーション用ソフトウェアを記録した記録媒体において、そのソフトウェアは前記コンピュータに、地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算させ、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持させ、係数に基づいて地図を表示させ、前記地図の表示について、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示させると共にあらかじめ決められたフラグをリセットさせ、前記係数の保持について、スクロール中にフラグがリセットされているときは、スクロールの開始地点に基づいて計算された係数を保存させると共に前記フラグをセットさせ、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供させることを特徴とする。
【００１７】
本発明では、スクロールを始めるときに表示している開始地点に基づいて係数を決めることで、誤差を最小限に抑えて地図の正確さすなわち精度を維持し、しかも、スクロール中は開始地点に基づく係数を固定して使うので、表示内容のブレや揺れが生じることがなく、なめらかなスクロール表示が可能となる。また、スクロールしていないときも個々の表示範囲に基づいて係数を計算するので誤差が最小となる。また、本発明では、表示範囲の中心座標の緯度のコサインという簡単な計算で、表示範囲での誤差を最小にすることができる。
【００１８】
さらに、本発明では、フラグという簡単な構成を使って、スクロール中以外と、スクロール開始直後と、スクロール継続中と、にそれぞれ必要な動作を制御することができる。つまり、スクロール中以外はフラグをリセットし、スクロール中にフラグがリセットされているときは、スクロール開始直後と判断して係数を保存しフラグをセットする。そして、スクロール中に２度目以降にフラグをチェックするとセットされているので、そのときは保存されている係数を地図の表示のために提供する。
【００１９】
請求項２の発明は、請求項１記載のナビゲーションシステムにおいて、スクロール中であっても地図の表示スケールを変化させると係数を更新する更新手段を備えたことを特徴とする。請求項５の発明は、請求項２の発明を方法という見方からとらえたもので、請求項４記載のナビゲーション方法において、スクロール中であっても地図の表示スケールを変化させると係数を更新するステップを含むことを特徴とする。請求項８の発明は、請求項２，５の発明を、コンピュータのソフトウェアを記録した記録媒体という見方からとらえたもので、請求項７記載のナビゲーション用ソフトウェアを記録した記録媒体において、前記ソフトウェアは前記コンピュータに、スクロール中であっても地図の表示スケールを変化させると係数を更新させることを特徴とする。本発明では、スクロール中であっても、スケールを変える度に係数が更新されることで誤差が最小になるので、地図の精度が向上する。
【００２０】
請求項３の発明は、地図を表示して移動体のナビゲーションを行うナビゲーションシステムにおいて、地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算手段と、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持手段と、係数に基づいて地図を表示する表示手段と、を備え、前記表示手段は、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットするように構成され、前記保持手段は、スクロール中にフラグがリセットされているときは、そのときの表示範囲に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供するように構成され、地図の表示スケールが変化したことを検出すると前記フラグをリセットする更新手段を備えたことを特徴とする。請求項６の発明は、請求項３の発明を方法という見方からとらえたもので、地図を表示して移動体のナビゲーションを行うナビゲーション方法において、地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算するステップと、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持のステップと、係数に基づいて地図を表示する表示のステップと、を含み、前記表示のステップは、スクロール中以外は、そのときの表示範囲の緯度に基づいて計算された前記係数に基づいて地図を表示すると共にあらかじめ決められたフラグをリセットし、前記保持のステップは、スクロール中にフラグがリセットされているときは、そのときの表示範囲に基づいて計算された係数を保存すると共に前記フラグをセットし、スクロール中にフラグがセットされているときは、保存されている係数を地図の表示のために提供し、地図の表示スケールが変化したことを検出すると前記フラグをリセットするステップを含むことを特徴とする。本発明では、地図の表示スケールが変化したときに係数を更新するという動作を、スケールが変化したときにフラグをリセットするという簡単な構成で実現することができる。つまり、フラグがリセットされれば、そのときの表示範囲に基づいて改めて係数が計算されて保持される。
【００２１】
【発明の実施の形態】
次に、この発明のナビゲーションシステムの実施の形態（以下「実施形態」という）について、図面を参照して具体的に説明する。なお、以下の説明で使うそれぞれの図について、それより前で説明した図と同じ部材や同じ種類の部材については同じ符号をつけ、説明は省略する。
【００２２】
また、この実施形態は、いろいろなハードウェア装置と、ソフトウェアによって制御されるコンピュータとを使って実現される。この場合、そのソフトウェアは、この明細書の記載にしたがった命令を組み合わせることで作られ、上に述べた従来技術と共通の部分には従来技術で説明した手法も使われる。また、そのソフトウェアは、プログラムコードだけでなく、プログラムコードの実行のときに使うために予め用意されたデータも含む。そして、そのソフトウェアは、ナビゲーションシステムに組み込まれたＣＰＵ、各種チップセットといった物理的な処理装置を活用することでこの発明の作用効果を実現する。
【００２３】
但し、この発明を実現する具体的なハードウェアやソフトウェアの構成はいろいろ変更することができる。例えば、回路の構成やＣＰＵの処理能力に応じて、ある機能を、ＬＳＩなどの物理的な電子回路で実現する場合も、ソフトウェアによって実現する場合も考えられる。また、ソフトウェアを使う部分についても、ソフトウェアの形式には、コンパイラ、アセンブラなどいろいろ考えられる。また、この発明を実現するソフトウェアを記録した記録媒体は、それ単独でもこの発明の一態様である。
【００２４】
以上のように、コンピュータを使ってこの発明を実現する態様はいろいろ考えられるので、以下では、この発明や実施形態に含まれる個々の機能を実現する仮想的回路ブロックを使って、この発明と実施形態とを説明する。
【００２５】
〔１．実施形態の構成〕
まず、図１は、この実施形態の構成を示す機能ブロック図である。すなわち、この実施形態は、入力部１１と、制御部４と、ＣＤ−ＲＯＭ部１２と、データ読み出し用ＲＡＭ７と、表示用ＶＲＡＭ８と、表示部１０と、を備えている。
【００２６】
このうち、入力部１１は、ユーザが命令や目的地などさまざまな情報を入力するための部分であり、ナビゲーションシステム本体のフロントパネルに設けられた各種キースイッチやリモコン、リモコンからの赤外線信号を受け取るための受光部などを含むものである。
【００２７】
また、制御部４は、いろいろな情報処理やナビゲーションシステム全体を制御する制御回路の役割を果たす部分であり、ＣＰＵを上に述べたようなソフトウェアが制御することによって、計算部４１と、保持部４２と、表示制御部４３と、更新部４４と、の役割を果たす。
【００２８】
このうち、計算部４１は、地図の表示内容を経度方向について補正するための係数を、地図の表示範囲の緯度に基づいて計算する計算手段である。また、保持部４２は、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数を保持する保持手段である。表示制御部４３は、表示部１０に表示する地図の内容を係数に基づいて描画する部分であり、表示部１０とともに、地図を表示する表示手段を構成している。また、更新部４４は、スクロール中であっても地図の表示スケールを変化させると係数を更新する更新手段である。
【００２９】
また、ＣＤ−ＲＯＭ部１２は、ナビゲーションシステムの作用を実現するアプリケーションプログラムや地図のデータを、内部にセットされたＣＤ−ＲＯＭから読み出す部分であり、データ読み出し用ＲＡＭ７は、ＣＤ−ＲＯＭ部１２から読み出されたデータを格納する部分である。
【００３０】
また、表示部１０は、地図や操作メニューなど各種の情報を液晶表示パネルなどの表示画面を使って出力するための部分であり、表示用ＶＲＡＭ８は、表示部１０の表示画面に表示する内容を書き込むためのメモリであり、表示用ＶＲＡＭ８の所定の領域に所定の形式で書き込まれたデータは、ビデオ回路などを通じて表示部１０の表示画面に表示される。
【００３１】
なお、図示はしないが、ナビゲーションシステムは、図１に示した構成のほかに、絶対位置・方位検出部、相対方位検出部、車速検出部、ＦＭ多重受信及び処理部や、場合によって音声認識部などを備えることが一般的である。
【００３２】
このうち、絶対位置・方位検出部は、ＧＰＳ衛星から送られてくるＧＰＳ電波を受信することで、自動車（自車）の現在位置について地表での絶対的な位置座標や方位を計算する手段である。また、相対方位検出部は、ジャイロなどを使って自動車の相対的な方位を検出する部分である。また、車速検出部は、自動車より得られる車速パルスを処理することで、車の速度を計算する部分である。
【００３３】
また、ＦＭ多重受信及び処理部は、複数のアンテナを受信状態に応じて切り換えることで、ラジオのＦＭ放送を受信する部分である。また、音声認識部は、認識しようとする語句ごとの特徴を表す特徴パラメータや波形のデータ、すなわち認識用辞書を備え、マイクロホンから入力される音声をデジタル信号に変換し、認識用辞書とパタンマッチングすることで、発話された語句を認識する手段である。
【００３４】
また、この実施形態のナビゲーションシステムは、図１に示した以外のメモリとして、ＢＩＯＳやブートアッププログラムなどを格納しているＲＯＭ、ワークエリアなどに使うＤＲＡＭなどを備えている。
【００３５】
〔２．実施形態の作用〕
上に述べたように構成された第１実施形態は、次のように作用する。
〔２−１．大まかな作用〕
すなわち、この実施形態では、制御部４が、自車の現在地に応じてＣＤ−ＲＯＭ部１２にセットされているＣＤ−ＲＯＭから、経度方向に補正されていない地図のデータ（生データと呼ぶ）をデータ読み出し用ＲＡＭ７に転送させる。そして、入力部１１のスクロールキーが操作されると、データ読み出し用ＲＡＭ７に格納された生データを制御部４が取り込む。そして、制御部４は、以下に述べるような補正計算を行い、この計算結果に基づく表示用データをＶＲＡＭ（ビデオＲＡＭ）に書き込むことで、表示部１０に地図を表示させる。
【００３６】
〔２−２．補正計算の概略〕
上に述べた補正計算は、ＣＤ−ＲＯＭ部１２から読み出された地図のデータを、経度方向について、係数ｋを使って補正することで、表示内容を決める計算である。ここでは、表示のもととなる地図データは、経度、緯度により与えられるものとする。例えば、図２（ａ）に示すような台形の地形はデータとしては
（ｘ１，ｙ１），（ｘ２，ｙ２），
（ｘ３，ｙ３），（ｘ４，ｙ４）
の４点それぞれの座標地として与えられる。
【００３７】
これをスクリーン上に表示する場合、スケールをｓ、スクリーンの左下にあたる地点の座標を（ｘ０，ｙ０）とすると、図５（ｂ）のように表示される。補正計算は、与えられた生データから、係数ｋやスケールｓに基づいて、表示画面上の実際の表示座標を計算する処理である。
【００３８】
〔２−３．係数ｋの計算〕
ここで、上に述べた係数ｋは、経度方向の距離を実距離に近づけるための係数である。このｋが常に一定であるのが、従来技術として説明した１番目の地図全体の誤差平均化であり、このｋの値を地図表示の部分ごとに求めるのが、従来技術として説明した２番目の表示範囲内での誤差平均化である。
【００３９】
この実施形態では、計算部４１がこの係数ｋを、地図の表示範囲の緯度に基づいて計算する。すなわち、地図の誤差をできる限り減らすためにはｋは表示領域の中心緯度Ｙを用いて
ｋ＝ｃｏｓ（Ｙ）
であらわされる。
【００４０】
この実施形態では、スクロール中以外に地図を表示する通常時には、常に地図の誤差を最小にするために表示範囲ごとにｋを求めそれを地図表示に使用するが、この点では、従来技術として説明した２番目の表示範囲内での誤差平均化と共通する。
【００４１】
〔２−４．係数の保持〕
そして、この実施形態では、スクロール時には、スクロール開始時点のｋを保存し、そのｋを地図表示に使用することで、表示制御部４３が、表示部１０に地図を表示する。すなわち、保持部４２が、地図のスクロールのあいだ、スクロールの開始地点に基づいて計算された係数ｋを保持する。このことにより、通常地図を表示する場合には、従来技術として説明した２番目の表示範囲内での誤差平均化と同等の精度を持ち、且つ、ｋを一定とすることで地図の揺れが発生することもない。
【００４２】
なお、スクロール中の誤差については、従来技術として説明した１番目の地図全体の誤差平均化では、地図中心の誤差が最も小さくなっていたのに対し、この実施形態では、スクロール開始地点の誤差が最も小さくなる。
【００４３】
このことは、分かりやすく言えば、従来技術として説明した１番目の地図全体の誤差平均化では、日本全土を含む地図を対象に考えた場合、緯度のうえで中心付近である関東地方等では誤差が小さいものの、北海道では常に地図が東西に伸びた形で表示され、沖縄では常に東西に縮まった形で表示されていたということである。
【００４４】
この実施形態では北海道であろうと沖縄であろうと、スクロール開始地点で最も誤差が少なくなる。もちろん、北海道から沖縄までスクロールさせれば、誤差は比較的大きくなるが、そのような使い方は非常に希であり、また、後で説明するように、スケール変更時にｋを更新することで、誤差を抑えることが可能である。
【００４５】
〔２−５．具体的な手順の例〕
次に、経度、緯度座標列よりなる地図の生データを、補正計算によって表示用の座標に展開する処理の流れを、図３のフローチャートに示す。この手順では、フラグという簡単な構成を使って、スクロール中以外と、スクロール開始直後と、スクロール継続中と、にそれぞれ必要な動作を制御することができる。
【００４６】
この手順では、具体的には、まず、計算部４１が、現在の表示範囲の緯度に基づいて係数ｋを求める（ステップ６１）。これは現在表示中心座標の緯度をＹとすると
ｋ＝ｃｏｓ（Ｙ）
により求めることができる。
【００４７】
そして、表示制御部４３は、通常の固定地図表示のようにスクロール中以外は（ステップ６２）、スクロール開始を判定するためのフラグｆ＿ｆｌａｇを０に初期化（リセット）したのち（ステップ６３）、そのときの表示範囲の緯度に基づいて計算された係数ｋに基づいて表示座標計算を行うことで（ステップ６４）地図を表示する。
【００４８】
また、ステップ６２の判断においてスクロール中であった場合、保持部４２は、スクロール中に（ステップ６２）フラグがリセットされているとき（ステップ６７）、すなわちｆ＿ｆｌａｇ＝０のときのみ、スクロール開始直後であるとして、スクロールの開始地点に基づいてステップ６１で計算された係数ｋを変数ｋｂに保存すると共に（ステップ６８）、フラグをセットする（ステップ６９）。
【００４９】
一方、ステップ６７の判断において、スクロール中であるのにフラグがすでにセットされているときは（ステップ６７）、変数ｋｂにすでにスクロール開始直後の係数が保存されているので、この変数ｋｂに保存されている係数を係数ｋとして取り出すことで（ステップ７０）地図の表示のための表示座標の計算に（ステップ６４）提供する。
【００５０】
つまり、図３に示した手順では、スクロール中以外はフラグをリセットし、スクロール中にフラグがリセットされているときは、スクロール開始直後と判断して係数を保存しフラグをセットする。そして、スクロール中に２度目以降にフラグをチェックするとセットされているので、そのときは保存されている係数を地図の表示のために提供する。
【００５１】
〔２−６．別の手順の例〕
図３に示した手順では、スクロール中は係数の更新は行わないが、スクロール中であっても地図の表示スケールを変化させた際に係数の更新を行うことも考えられる。この場合の処理の流れを図４のフローチャートに示す。
【００５２】
この手順では、図３に示した各ステップに加えて、更新部４４が、地図の表示スケールが前回表示時と変化したことを検出すると（ステップ６５）、フラグｆ＿ｆｌａｇを０にリセットする（ステップ６６）。つまり、このようにフラグがリセットされれば、それに続くステップ６７では、スクロール開始直後と同じように、フラグがリセットされていると判断されるため、そのときの表示範囲に基づいて改めて係数ｋが計算されて変数ｋｂに保持され、その後の表示座標計算に用いられる。これによって、この場合、スクロール中であっても、スケールを変える度に誤差が最小になるように係数が更新される。
【００５３】
〔３．実施形態の効果〕
以上のように、この実施形態では、スクロールを始めるときに表示している開始地点に基づいて係数を決めることで、誤差を最小限に抑えて地図の正確さすなわち精度を維持し、しかも、スクロール中は、保持部４２によって、開始地点に基づく係数を固定して使うので、表示内容のブレや揺れが生じることがなく、なめらかなスクロール表示が可能となる。また、スクロールしていないときも、計算部４１が表示範囲に基づいて係数を計算するので誤差が最小となる。
【００５４】
特に、この実施形態では、計算部４１が、表示範囲の中心座標の緯度のコサインという簡単な計算を使って、表示範囲での誤差を最小にすることができる。
【００５５】
また、この実施形態では、フラグという簡単な構成を使って、スクロール中以外と、スクロール開始直後と、スクロール継続中と、にそれぞれ必要な動作を制御することができる。つまり、スクロール中以外は表示制御部４３がフラグをリセットし、保持部４２は、スクロール中にフラグがリセットされているときは、スクロール開始直後と判断して係数を保存しフラグをセットする。そして、保持部４２がスクロール中に２度目以降にフラグをチェックするとセットされているので、そのときは保存されている係数を地図の表示のために提供する。
【００５６】
また、この実施形態では、スクロール中であっても、更新部４４が、スケールを変える度に係数を更新するので誤差が最小になり、地図の精度が向上する。
【００５７】
また、この実施形態では、地図の表示スケールが変化したときに係数を更新するという動作を、更新部４４が、スケールが変化したときにフラグをリセットするという簡単な構成で実現することができる。つまり、フラグがリセットされれば、保持部４２と計算部４１との働きによって、そのときの表示範囲に基づいて改めて係数が計算されて保持される。
【００５８】
以上のように、この実施形態では、地図の表示での誤差を最小限に押さえたまま、なめらかな地図のスクロール表示を実現することができる。すなわち、回転楕円体である地球を地図として平面で表示するためには、常にある程度の誤差を生じることとなる。従来技術では、誤差を最小にしようとするとスクロール中に地図の揺れを生じ、スクロール中の揺れを防ごうとするとスクロール対象となっている地図に含まれる端の方、例えば日本全土を対象とした場合、北海道や沖縄では、誤差が非常に大きくなるといった問題点があった。
【００５９】
これに対して、以上に説明したようなこの実施形態では、通常の地図表示時は場所ごとの表示範囲に基づいて計算した係数を表示に使うことで、地図の形状や距離をほぼ正確に表示し、かつ、スクロール時には、スクロール開始地点の係数を固定することで、あまり地図精度を落とすことなく、地図表示が揺れることのないスムーズなスクロールが実現できる。
【００６０】
この結果、この実施形態では、通常表示時の誤差は常に最小に押さえられ、かつ、スクロール地図においても、スクロール開始地点での誤差は最小である。このことを分かりやすくいえば、例えば北海道であろうと、沖縄であろうと、自車周辺のどの部分に表示をスクロールしても、常に誤差はほぼ最小に押さえられるということである。また、この実施形態では、上に述べたように、スケール変換時に誤差を修正することによって、遠く離れた場所へスクロールした際にも誤差を最小に押さえることができる。
【００６１】
〔４．他の実施の形態〕
なお、この発明は上に述べた実施形態に限定されるものではなく、次に例示するような他の実施の形態も含むものである。例えば、この発明のナビゲーションシステムは、自動車に搭載するいわゆるカーナビゲーションシステムだけでなく、二輪車など他の種類の移動体に使うこともできる。
【００６２】
また、上に述べた実施形態では、北海道や沖縄を含む日本の地図を例にとって説明したが、表示する地図としては世界のどの場所の地図でもよいし、また、どのような縮尺、形式のものでもよい。また、上に述べた実施形態では、表示範囲の中心座標の緯度のコサインを使って係数を計算する例を示したが、表示範囲の中心座標ではなく、表示範囲の隅の座標を使っても余り大幅に誤差は悪化しない。
【００６３】
また、上に述べた実施形態では、１つのフラグを使ってスクロール中やそれ以外などにそれぞれ必要な動作を行ったり、係数を更新するように制御したが、このような制御は複数のフラグを組み合わせて実現したり、フラグ以外の例えば各種割り込み、オブジェクト、デーモン、その他の手法を使って実現してもよい。
【００６４】
【発明の効果】
以上のように、この発明によれば、地図の正確さとスクロール時の滑らかさを効果的に両立させることができるので、ナビゲーションで表示される地図が見やすくなる。
【図面の簡単な説明】
【図１】この発明の実施形態の構成を示す機能ブロック図。
【図２】この発明の実施形態において、表示のための座標変換の例を示す概念図。
【図３】この発明の実施形態における処理手順の例を示すフローチャート。
【図４】この発明の実施形態における処理手順の別の例を示すフローチャート。
【図５】地球を平面の地図で表す状態を示す概念図。
【図６】地球を平面の地図で表すときの問題点を示す概念図。
【図７】従来技術のうち、１番目の地図全体の誤差平均化における地図のスクロールを示す概念図。
【図８】従来技術のうち、２番目の表示範囲内での誤差平均化を使ったスクロールの問題点を示す概念図。
【符号の説明】
４…制御部
７…データ読み出し用ＲＡＭ
８…表示用ＶＲＡＭ
１０…表示部
１１…入力部
１２…ＣＤ−ＲＯＭ部
４１…計算部
４２…保持部
４３…表示制御部
４４…更新部
【図１】
0003742508.tif 000002
【図２】
0003742508.tif 000003
【図３】
0003742508.tif 000004
【図４】
0003742508.tif 000005
【図５】
0003742508.tif 000006
【図６】
0003742508.tif 000007
【図７】
0003742508.tif 000008
【図８】
0003742508.tif 000009