以下、本発明の実施の形態の地理情報システムの構成について、図に従って説明する。なお、以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。
(実施の形態1)
本実施の形態においては、古地図や手書きの地図や看板に描かれたイラスト地図を撮影した地図(以後、「第1地図」という)と、地理座標系に基づいて平面上に描かれた地図(以後、「第2地図」という)とのうちの一方の上にユーザにより設定された注視点の表示位置を、第1地図と第2地図との間で相互に置換し、第1地図と第2地図とを切り替えて表示する機能を有する地図情報システムについて説明する。
ここで、「地理座標系」とは、地球上の位置を表す座標をいう。2次元では緯度と経度で表し、3次元ではこれに標高を加えるのが一般的である。例として、世界測地系(World Geodetic System)はグローバル・ポジショニング・システムで用いられており、日本の測地座標系は、世界測地系(ITRF:国際地球基準座標系)である。さらに、地球は、地球は真球ではなく、おおよそ回転楕円体であり、測地系は、地球上の位置を経緯度(経度・緯度)及び標高を用いる座標によって表すとき、前提とする条件のことである。測地系は、準拠楕円体、測地座標系、ジオイド面の3要素を特定する事により定められる。
さらに、「地形図」とは、回転楕円体である地球上にある地形を所定の投影法により平面に投影することにより得られる図であり、緯度および経度により地球上の位置が表現される。上記第2地図は、基本的に、このような地形図に対応する。第2地図は、ラスタ地図であっても、ベクトル地図であってもよい。
一方、上記第1地図は、必ずしも、このような正確に緯度経度による規格に沿っていないものを意味する。第1地図は、基本的には、ラスタ画像であるものとして以下説明するが、ベクタ画像でもよい。
そこで、以下では、第2地図上において表示される地点の位置を「絶対位置」と呼び、第1地図上において表示される地点の位置を「相対位置」と呼ぶ。また、第2地図上における地点の位置を示す座標系を「絶対座標」と呼び、第1地図上における地点の位置を示す座標系を「相対座標」と呼ぶ。「絶対座標」は、以下で説明するような変換の数式において使用される。たとえば、「絶対座標」としては、第2地図がメルカトル図法で描かれている場合、絶対座標としては、メルカトル座標を用いることができる。
このような状況では、第1地図と第2地図との間では、同一の地点を示す相互の対応地点が非線形な演算によって変換されるような関係にある。
さらに、「注視点」とは、第1地図と第2地図との間で、地図表示を切り替えて表示することを前提とするとき、一方の地図においてユーザが指定した特定の地点を意味する。ここで、第1地図と第2地図との切替表示の際、2つの地図の間の特定の地点の位置の対応関係がユーザに認識できるように表示されていればよく、たとえば、
i)対応地点を示すマーカを両地図に表示(マーカ位置が注視点)
ii)両地図上の注視点を表示画面の中央点と一致させて表示(中央点が注視点)
などのような態様をとることが可能である。
以下では、特に限定されないが、両地図上の注視点を表示画面の中央点と一致させて表示させる場合を例にとって説明する。
図1は、本実施の形態における地図情報システム1の概念図である。地図情報システム1は、1以上の端末装置1000a〜1000c、およびサーバ装置2000を備える。端末装置1000a〜1000cを総称するときは、端末装置1000と呼ぶ。端末装置1000は、携帯端末(携帯電話を含む)、いわゆるパーソナルコンピュータ、テレビ、ナビゲーション端末等のような情報処理機能を有する装置(以下、「情報処理装置」)のいずれであってもよい。
図2は、端末装置1000aにおいて、第1地図を表示した状態(図2(a))と、第2地図を表示した状態(図2(b))とを示す図である。
上述したように、図2においては、注視点は、画面の中央点である。したがって、たとえば、図2(a)に示した状態で、注視点を移動させる際には、所定のキー操作やタッチパネルに対する操作などにより、表示される地図をスクロール等により移動させて、画面中央に表示される地点を移動させる。なお、特に限定されないが、たとえば、注視点を小円で表示する構成としてもよい。
図3は、本発明の実施の形態1の端末装置1000の機能ブロック図である。
以下に説明するように、本実施の形態における端末装置1000では、第1地図の画面上の相対位置情報(第1位置情報)と、絶対位置を示す絶対位置情報(第2位置情報)とを対応付けた情報である1以上の位置対応情報を位置情報格納部1304に格納している。注視点については、上述のとおり、表示画面の中央点となるように表示されている。
さらに、端末装置1000は、現在位置情報を取得し、当該現在位置情報に対応する位置である現在相対位置情報が視覚的に認識可能なように当該位置を示す情報(印など)を画面上に出力する。
また、端末装置1000は、第1地図として利用可能な画像データを撮影して格納し、あるいは、手書き入力データを画像化して第1地図として格納したり、これらの第1地図における地点と、第2地図における対応する地点との対応関係を、上述した現在位置情報に基づいて取得し、格納する機能も有する。
図3を参照して、端末装置1000は、位置情報演算処理部1100と、ユーザからの指示やデータ入力を受け付けるための入力装置1202と、表示装置1204と、図示しないサーバ装置と通信するための通信装置1206と、画像を撮影するための撮影装置1208と、記憶装置1300とを備える。撮影装置1208は、写真を撮影するための、いわゆるカメラである。
記憶装置1300は、第1地図を格納するための画像格納部1302と、第2地図を格納するための地図格納部1303と、第1および第2位置情報を位置対応情報として格納するための位置情報格納部1304と、第1地図および第2地図についての表示状態を示す情報を格納するための表示情報格納部1306とを含む。「表示状態を示す情報」とは、第1地図または第2地図を表示するために中央点をどの地点として表示するかという情報や表示倍率(縮尺)をどの値とするかや、地図の表示の方向(方角)に対する情報などである。
画像格納部1302は、第1地図に対応する1以上の画像を格納し得る。1以上の各画像は、例えば、撮影された画像、手書き入力された画像である。撮影された画像とは、例えば、街の看板に描かれた地図をカメラ(撮影装置1208)で撮影して取得された地図画像である。また、手書き入力された画像とは、手書き入力された地図の画像である。
入力装置1202は、たとえば、キー入力またはタッチパネル入力の機能の他に、ペン入力を受け付ける機能を有しており、ペン入力された画像(線図)は、入力処理部1102によりデータに変換された後、画像構成部1104により画像に変換されて、画像蓄積処理部1134により記憶装置1300内の画像格納部1302に格納される。
なお、手書入力を受け付ける機構は、ペンに限定されるものではなく、マウスや十字キーなど他の機構であってもよい。画像構成部1104は、例えば、手書き入力された場合に、手書入力の軌跡を示す位置の情報群(例えば、座標情報群)から、画像を構成する。なお、画像構成部1104は、手書入力受付部104が受け付けた手書き入力の情報である座標情報群を関連付けて、そのまま画像蓄積処理部1134に渡しても良い。
また、画像は、例えば、イラスト地図であって、撮影装置1208により撮影されたものであってもよい。あるいは、イラスト地図は、送受信制御部1130の制御により、サーバ装置2000からウェブを介して、通信装置1206により受信され、地図・画像受信部1132により、記憶装置1300内の画像格納部1302に格納されるものであってもよい。
さらに、第1地図は、ダウンロードした画像以外に、記録媒体(可搬型メモリなど)に格納されていた画像であって、図示しないドライブ装置により読み込まれ、記憶装置1300内の画像格納部1302に格納されるものであってもよい。また、画像は、あらかじめ記録されている画像や写真に手書き等で追加の情報を加えた画像でも良い。また、画像は、ビットマップのようなラスタ画像でも良いし、ベクターデータによるベクタ画像でも良い。また、文字コードの集合でも良い。つまり、画像のデータフォーマット等は問わず、第1地図としての画像は、表示され得る情報であれば良い。
なお、第1地図上において表示される地点の位置が「相対位置」であり、第2地図上において表示される地点の位置が「絶対位置」であることから、第1画像を「相対地図」と呼び、第2画像を「絶対地図」と呼ぶ。つまり、相対地図とは、(緯度,経度)の絶対位置の情報を有しない地図であり、例えば、人が記載したイラスト地図や、地図の写真などである。絶対地図とは、(緯度,経度)の絶対位置の情報を有する正確な地図であり、航空写真により取得された地図や、地図情報の提供を専業とする企業などが提供する正確な地図である。
地図格納部1303に格納される絶対地図についても、サーバ装置2000からウェブを介して、通信装置1206により受信され、地図・画像受信部1132により、記憶装置1300内の地図格納部1303に格納されたものであってもよいし、あるいは、記録媒体(可搬型メモリなど)に格納されていた画像であって、図示しないドライブ装置により読み込まれ、記憶装置1300内の地図格納部1303に格納されるものであってもよい。
さらに、画像格納部1302は、2以上の異なる画像を格納していてもよい。2以上の異なる画像とは、例えば、イラスト地図と、当該イラスト地図に対応する場所の航空写真等であってもよいし、同一の領域についての異なる時代に描かれた地図画像であってもよい。このように、画像格納部1302に、2以上の異なる画像が格納される場合であっても、それぞれの画像の相対地図と絶対地図との間の位置対応情報が位置情報格納部1304に格納されているものとする。さらに、画像格納部1302が、2以上の異なる画像を格納することから、各画像についてはそれらを識別するための識別子が付されているものとする。
記憶装置1300は、特に限定されないが、不揮発性の記憶装置、たとえば、フラッシュメモリなどを用いることができる。ただし、記憶装置1300の上述したような機能を実現するためには、不揮発性の記録媒体、揮発性の記録装置または記録媒体でも実現可能である。
上述したように、位置情報格納部1304は、複数の位置対応情報を格納し得る。位置対応情報とは、相対位置を示す相対位置情報と絶対位置を示す絶対位置情報とを対応付けた情報である。「対応付けた情報」とは、2つの情報(ここでは、相対位置情報と絶対位置情報)を含む情報でも良いし、2つの情報をリンク付け、当該2つの情報を引き出すための情報でも良い。相対位置情報とは、ディスプレイに表示されている画像上の相対的な位置を示す情報であってもよく、例えば、画像上の座標位置を示す情報(x,y)や、縦横、矩形であるブロックで区切られた画像上のブロックを特定するIDなどである。
測位装置1210とは、端末装置1000の現在の絶対位置を計測する装置であり、現在位置情報取得部11400は、測位装置1210を制御して絶対位置(現在絶対位置情報)を取得する。現在絶対位置情報は、例えば、(緯度,経度)である。ただし、現在絶対位置情報は、(緯度,経度)の他に、高さを表現する情報を含んでもよい。測位装置1210は、GPS(Global Positioning System)受信機で実現されてもよいし、携帯電話の3つの基地局からの電波強度や公衆無線LAN基地局からの電波強度を用いて、現在位置情報を取得する機能を有するものであってもよい。
相対位置情報取得部1110は、入力装置1202を介してユーザからの指示を受け付けた表示中の画像上の相対位置情報(例えば、座標情報)を取得する。なお、相対位置情報とは、指示に対応する画像上の位置を示す情報である。位置情報蓄積部1112は、相対位置情報取得部1110が取得した相対位置情報(例えば、座標情報)と、現在位置情報取得部11400が取得した現在位置情報(例えば、(緯度,経度))とから位置対応情報を構成し、当該位置対応情報を、位置情報格納部1304に蓄積する。このように、位置対応情報をユーザからの入力に基づいて、蓄積することで、後に説明するように、第1地図と第2地図との間で、これらの地図内の任意の地点について、この地点に対応する位置を相互に変換することが可能となる。ただし、このような位置対応情報は、たとえば、第1地図に予め位置対応情報のデータが関連付けられて、第1地図とともにダウンロードされたり、記録媒体から読み込まれたりする構成であってもよい。
画像出力処理部1150は、ユーザの指示に応じて、画像格納部1302または地図格納部1303に格納された第1地図または第2地図を表す画像を出力する。画像出力処理部1150は、現在絶対位置情報に応じて、画像格納部1302に格納されている2以上の画像のうち、一の画像を選択して、出力しても良い。ここで、出力とは、表示装置1204への表示の他、プロジェクターを用いた投影、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む。
注視点位置取得部1120は、現在表示中の第1地図または第2地図のうちの一方についての注視点(たとえば、表示装置1204の画面の中央に表示される地点)の位置を、第1地図または第2地図のうちの他方の位置に変換する。すなわち、注視点位置取得部1120からの情報に従って、画像出力処理部1150は、第1地図と第2地図とを図2に示すように切り替えて表示する際に、双方の地図の対応する位置が、注視点の位置として表示されるように出力する画像の位置を制御する。
注視点位置取得部1120は、第1地図の地図識別子に対応する2組以上の位置対応情報を用いて、注視点についての相対位置情報と絶対位置情報とを相互に変換する。ここで、2組以上の位置対応情報とは、地図識別子に対応するすべての位置対応情報でも良いし、一部の位置対応情報でも良い。
注視点位置取得部1120は、後に詳しく説明するように、変換に使用する位置対応情報(これに対応する位置を「参照位置」と呼ぶ)を選択する参照位置取得部1121と、選択された参照位置に基づいて、注視点の相対位置座標を変換する相対位置座標取得部1122と、変換された注視点の相対位置座標を画像出力処理部1150に対する表示指示として出力する注視点位置情報取得部1124とを含む。
図3に示した構成のうち、位置情報演算処理部1100、入力処理部1102、画像構成部1104、送受信制御部1130、地図・画像受信部1132、画像蓄積処理部1134、現在位置情報取得部11400、画像出力処理部1150、注視点位置取得部1120の各々が実行する機能の全部または一部は、記憶装置1300に格納されるプログラム(図示せず)に基づいて、MPUのような演算処理装置により実現され得る。ただし、それらの機能の一部または全部をハードウェア(専用回路)で実現しても良い。
図4は、サーバ装置2000のコンピュータシステムのブロック図である。
図4において、サーバ装置2000のコンピュータ本体2010は、メモリドライブ2020、ディスクドライブ2030に加えて、CPU2040と、ディスクドライブ2030及びメモリドライブ2020に接続されたバス2050と、ブートアッププログラム等のプログラムを記憶するためのROM2060とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM2070と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク(HDD)2080とを含む。ここでは、図示しないが、コンピュータ本体2010は、さらに、インターネットなどのネットワークへの接続を提供するネットワークカードを含んでも良い。
サーバ装置2000に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD−ROM2200、またはメモリ媒体2210に記憶されて、ディスクドライブ2030またはメモリドライブ2020に挿入され、さらにハードディスク2080に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ本体2010に送信され、ハードディスク2080に記憶されても良い。プログラムは実行の際にRAM2070にロードされる。
サーバ装置2000は、さらに、入力装置としてのキーボード2100およびマウス2110と、出力装置としてのディスプレイ2120とを備える。
上述したようなサーバーとして機能するためのプログラムは、コンピュータ本体2010に、情報処理装置等の機能を実行させるオペレーティングシステム(OS)は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。サーバ装置2000がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
なお、端末装置1000がノートパソコンやネットブックのようなコンピュータである場合は、マウスやキーボード等の入力装置や出力装置には、装置によって相違はあるものの、基本的なハードウェア構成は、図4の構成と同様である。
図5は、サーバ装置2000のハードディスク2080に格納される相対地図情報管理表を示す概念図である。
相対地図情報管理表は、「地図の名称」「地図識別子」「位置対応情報」「相対地図」を有するレコードを1以上、保持している。1レコードに、複数の位置対応情報が存在し得る。また、「相対地図」は、例えば、カメラで撮影された画像や、手書きの地図(データ形式は問わない)などである。
たとえば、端末装置1000から、「武家屋敷マップ」という地図の名称と地図の画像と位置対応情報とを受信し、当該地図等をハードディスク2080に蓄積する。このとき、CPU2040は、地図識別子「m001」を生成し、ハードディスク2080内の相対地図情報管理表に蓄積する。なお、地図識別子は、例えば、「m001」から自動的に1ずつインクリメントされて、生成される。
一方で、サーバ装置2000は、端末装置1000からの要求に応じて、たとえば、地図識別子「m001」のレコードの情報を端末装置1000にネットワークを介して送信することができる。したがって、この場合、端末装置1000は、サーバ装置2000から相対地図情報管理表の一部のレコードを受信して、第1地図の画像を地図識別子とともに画像格納部1302に格納し、対応する位置対応情報を地図識別子とともに位置情報格納部1304に格納する。ここで、相対地図情報管理表の一部のレコードを受信する端末装置は、対応するレコードをサーバ装置2000に登録したのとは別の端末装置でよい。
図6は、ユーザが端末装置1000により撮影する第1地図の画像の例を示す図である。
たとえば、ユーザは、図6に示すように、アミューズメント会場の入り口の手前に立てかけられているアミューズメント会場のイラスト地図の看板を、撮影装置1208により撮影し、画像蓄積処理部1134は、取得されたイラスト地図の画像を、画像格納部1302に蓄積する。
図7は、端末装置1000の動作を説明するためのフローチャートである。
入力処理部1102は、撮影装置1208での撮影指示を受け付けたか否かを判断する。撮影指示を受け付ければ、撮影装置1208は、撮影を実施して、画像を取得し(ステップS104)、撮影指示を受け付けなければステップS110に移行する(ステップS102)。
画像が撮影されると、画像蓄積処理部1134は、ステップS104で取得された画像を、画像格納部1302に蓄積し、処理はステップS102に戻る。
一方、ステップS110では、入力処理部1102は、手書き入力を受け付けたか否かを判断する。手書き入力を受け付ければ、処理はステップS112に移行し、手書き入力を受け付けなければステップS120に移行する。
ステップS112では、画像構成部1104は、手書き入力された情報から、画像を構成し、ステップS106に移行する。
ステップS120では、入力処理部1102は、指示の入力を受け付けたか否かを判断する。指示の入力を受け付ければ処理はステップS122に移行し、指示の入力を受け付けなければ、処理はステップS102に移行する。なお、ここでの一の指示は、出力されている画像(地図)上の1点を特定する指示である。なお、一の指示は、出力されている画像(地図)上の一の領域を特定する指示でも良い。
ステップS122では、相対位置情報取得部1110は、ステップS120で受け付けられた指示に対応する、画像上の位置情報(例えば、座標情報)を取得する。
ステップS124では、現在位置情報取得部11400は、現在の絶対位置情報を取得する。
ステップS126において、位置情報蓄積部1112は、ステップS122で取得された相対位置情報と、ステップS124で取得された絶対位置情報を対応付ける位置対応情報を構成する。
位置情報蓄積部1112は、ステップS126で構成した位置対応情報を、位置情報格納部1304に蓄積し、処理はステップS102に戻る。
なお、上述したように、このようにして蓄積された第1地図の画像とこれに対応する位置対応情報とを、ユーザからの指示に応じて、端末装置1000からサーバ装置2000にアップロードしてもよい。
以下、ステップS122〜S128での処理をより詳しく説明する。
ユーザは、端末装置1000に対して、画像に対する指示を入力する。この指示は、現在の位置を画像上で特定するための指示である。また、この画像に対する指示は、例えば、端末装置1000の付属のペンを用いて、画面上にタッチすることにより行う。これに応じて、相対位置情報取得部1110は、受け付けられた指示に対応する、画像上の位置情報(ここでは、(a1,b1))を取得する(S122)。
次に、現在位置情報取得部1140は、絶対位置情報(x1,y1)を取得する(S124)。
そして、位置情報蓄積部1112は、取得された相対位置情報(a1,b1)と、取得された絶対位置情報(x1,y1)を対応付ける位置情報「(a1,b1)(x1,y1)」を構成する(S126)。
次に、位置情報蓄積部1112は、構成した位置情報「(a1,b1)(x1,y1)」を、位置情報格納部1304に蓄積する。
同様に、ユーザは、アミューズメント会場を歩きながら、イラスト地図上において、自分が居る位置が分かった場合、ユーザは、当該位置を、ペンで指示する。かかる指示は、画像に対する指示である。そして、ユーザは、かかる指示を、何度か行う、とする。
このようなユーザの上記の指示により、図5に示すような位置情報管理表が構成される。
(地図の表示切替の際の調整処理)
図8は、端末装置1000aにおいて、第1地図と第2地図とを切り替えて表示する際の問題点を示す図である。
まず、第2地図(絶対地図)が表示されている状態(図8(a))から、第1地図(相対地図)が表示されている状態に切り替えが行われたとする(図8(b))。さらに、図8(b)の状態から、第2地図への切り替えが行われたとする(図8(c))。
このような切替は、たとえば、ユーザがある領域を歩いている際に、特定の時点で、自分の現在位置を、第1地図と第2地図の双方を見比べながら確認するような場合に生じうる。
なお、特に限定されないが、たとえば、端末装置1000は、現在位置情報取得部1140が取得した現在の絶対位置がユーザの移動に応じて変化することに追随して、第2地図上の注視点を現在の絶対位置に合わせるように表示する機能を有していてもよい。
絶対座標で表現される正確な座標系(X,Y)と、相対座標で表される歪座標系(x,y)とにおいて、定義された対応点の関係が以下のようなものであるとする。
このような対応点間の変換について、順方向の変換を変換Ω、逆方向の変換を変換ωとおく。
この時、変換Ω、変換ωともに非線形な変換である。よって可逆変換ではなく、連続して変換を行うとどんどん座標が異なるものになっていく。
したがって、図8に示すように第1地図と第2地図との表示の切り替えのたびに、注視点の表示位置を得るために、変換Ω、変換ωを実行すると注視点と表示される画像との位置関係が切替のたびにずれてしまう。したがって、以下の関係がある。
そこで、図8のような第1地図と第2地図の切り替え操作を複数回繰り返した場合、ユーザにとっては、違和感が生じてしまう。
図9は、図8で説明するような問題点を解決するための地図の表示切替の際の調整処理を説明するための図である。
図9に示すように、実施の形態1の端末装置1000において、画像出力処理部1150は、ユーザが、第1地図または第2地図の一方の表示を行っている状態(図9(a))から、変換Ωにより注視点の位置を変換して、第1地図または第2地図の他方の表示を行うように表示切替(図9(b))の指示をするものとする。このような表示切替の指示の後、この他方の表示中に、表示される領域が変更されるような操作を行うことなく、再び、第1地図または第2地図の一方を表示するように切替操作をした場合(図9(c))には、注視点についての変換Ωの逆変換ωを実行することなく、元の注視点の位置(図9(a)の表示の際の位置)をそのまま使用して、表示の切り替えを行うように調整するものとする。
ここで、「表示される領域が変更されるような操作」とは、スクロール操作により注視点(画面の中央)に表示される位置を変更する操作、画像の表示範囲の拡大または縮小による変更(縮尺の変更)の操作をいうものとする。なお、「表示される領域が変更されるような操作」には、たとえば、表示される画像の方向(方角)のみを変更するような操作は含まれないものとしてもよい。「方向のみを変更する場合」とは、注視点の位置は画面の中央から変更されず、単に、画像の方向のみが変更されることをいう。
図10は、実施の形態1の端末装置1000における地図の表示切替の処理を説明するためのフローチャートである。
図10を参照して、地図の表示処理が開始されると(S200)、画像出力処理部1150は、地図の表示処理について終了の指示がなされているかを検知する(S202)。
表示処理の終了が指示されていない場合(S202でNo)、続いて、画像出力処理部1150は、第1地図の出力が指示されているかを判断し(S204)、第1地図の出力が指示されている場合(S204でYes)、第2地図がすでに表示済みであって、地図表示の切替えの処理をする場合(S206でYes)は、処理をステップS208に移行し、地図表示の切替えの処理でない場合(S206でNo)は、処理をステップS214に移行する。
ステップS208では、すでに表示済みである第2地図についての表示情報を読み出し、第2地図の表示情報が第2地図の表示が開始された時点から変更されていないか、すなわち、第2地図について表示される領域が変更されるような操作がなされていなかを判断する(S210)。
表示される領域が変更されるような操作がなされている場合(S210でYes)、続いて、注視点の変換処理を実行する(S212)。
一方で、表示される領域が変更されるような操作がなされていない場合(S210でNo)、処理は、ステップS214に移行して、第1地図を注視点の相対位置の情報に基づいて、表示領域について読み出し(S214)、第1地図を表示装置1204に表示し(S216)、処理は、ステップS202に復帰する。
さらに、ステップS204において、第1地図の出力が指示されていない場合(S204でNo)、画像出力処理部1150は、第2地図の出力が指示されているかを判断し(S220)、第2地図の出力が指示されている場合(S220でYes)、第1地図がすでに表示済みであって、地図表示の切替えの処理をする場合(S222でYes)は、処理をステップS224に移行し、地図表示の切替えの処理でない場合(S222でNo)は、処理をステップS230に移行する。
ステップS224では、すでに表示済みである第1地図についての表示情報を読み出し、第1地図の表示情報が第1地図の表示が開始された時点から変更されていないか、すなわち、第1地図について表示される領域が変更されるような操作がなされていなかを判断する(S226)。
表示される領域が変更されるような操作がなされている場合(S226でYes)、続いて、注視点の変換処理を実行する(S228)。
一方で、表示される領域が変更されるような操作がなされていない場合(S226でNo)、処理は、ステップS230に移行して、第2地図を注視点の絶対位置の情報に基づいて、表示領域について読み出し(S230)、第2地図を表示装置1204に表示し(S232)、処理は、ステップS202に復帰する。
さらに、ステップS220において、第2地図の出力が指示されていない場合(S220でNo)、画像出力処理部1150は、注視点の位置または表示される地図の縮尺の変更が指示されているかを判断する(S240)。
現在表示中の地図の注視点の移動(スクロール処理等)や、縮尺の変更(地図表示の拡大または縮小)が指示されていれば、画像出力処理部1150は、対応する処理を実行し(S242)、このような表示中の地図に関する表示情報を表示情報格納部1306に格納する。このとき、現在表示中の地図について、注視点の移動や、縮尺の変更の指示が表示中になされたときは、画像出力処理部1150は、このことを示すフラグを併せて、表示情報として表示情報格納部1306に格納する(S244)。
一方、ステップS240において、表示される領域が変更されるような操作の指示がなされていない場合、処理はステップS202に復帰する。
なお、上述の処理において、地図が表示されるとは、表示装置1204への表示に限られず、対応する画像データをプロジェクタに出力したり、あるいは、他のディスプレイ装置に出力することであってもよい。
(注視点の変換処理)
以下、注視点位置取得部1120の参照位置取得部1121が絶対位置情報(x0,y0)(注視点の絶対位置)に対応する相対位置情報(a0,b0)(表示される地図の画像上の位置)を取得するアルゴリズムについて説明する。
このようなアルゴリズムの例は種々あり、そのアルゴリズムの例(第1のアルゴリズムから第8のアルゴリズム)について、以下に詳細に説明する。
(参照点の選択)
第1のアルゴリズムから第8のアルゴリズムにおいて、まず、相対位置情報を取得するために、参照位置取得部1121が、2組以上の位置対応情報を、位置情報格納部1304から取得する処理を行う。
参照位置取得部1121は、例えば、以下のように(第一から第六の方法のように)、n組の位置対応情報を取得する。
第一に、参照位置取得部1121は、現在の注視点の位置O(絶対位置情報(x0,y0))の近傍の絶対位置情報(緯度経度系)の点とそれに対する相対位置情報に対応する点をn組取得する。なお、「近傍」とは、現在の注視点の位置Oに近いところから、nの絶対位置情報の点とそれに対する相対位置情報に対応する点を取得することである。ただし、絶対位置情報(緯度経度系)の点は、それぞれ緯度経度が異なることを条件とする。
第二に、参照位置取得部1121は、現在の注視点の位置Oの近傍の絶対位置情報(緯度経度系)の点とそれに対する相対位置情報に対応する点をn組取得する。ただし、緯度経度系の点は、それぞれ緯度経度が異なること、さらに、それぞれの点からなる各線分どうしがなす角が180度でないことを条件とする。
第三に、参照位置取得部1121は、現在の注視点の位置Oの近傍の絶対位置情報(緯度経度系)より、△ABCの内角が全て120度以下となる3点(A,B,C)と、それらに対する相対位置情報に対応する3点(A',B',C')を取得する。
第四に、参照位置取得部1121は、現在の注視点の位置Oを原点とする4象限の各n点とそれらに対応する相対位置情報に対応する点を取得する。(計4×n組の点が取得される)。
第五に、参照位置取得部1121は、現在の注視点の位置Oの近傍の絶対位置情報(緯度経度系)より、△ABCの内角が全て30度以上かつ120度以下となる3点(A,B,C)と、それらに対する相対位置情報に対応する3点(A',B',C')を取得する。なお、通常、多数の位置対応情報を用いて、相対位置情報を取得する方が、精度が高くなる。なお、下記において、位置対応情報は、絶対位置情報(xn,yn)と相対位置情報(an,bn)の組である、とする。
さらに、第六に、参照位置取得部1121は、上述した第五の方法を改良した方法で、参照点についての位置対応情報を取得することができる。
このような参照位置取得部1121の実行する第六の方法について、以下、詳しく説明する。
図11は、参照位置取得部1121の実行する第六の方法が必要である理由を説明するための概念図である。
まず、第五の方法にしたがって、注視点の位置Oの近傍で、対応点(P1,P2,P3)(P1´,P2´,P3´)を選択したとする。
すなわち、位置Oに最も近い側から、△P1P2P3の内角が全て30度以上かつ120度以下となるような3点(P1,P2,P3)と、それらに対する相対位置情報に対応する3点(P1´,P2´,P3´)を選択し、注視点Oの変換点OP1P2P3´に変換されたとする。
この状態で、注視点Oが微小に移動して、点P3よりも点P4の方が注視点Oに近くなったとする。すると、第五の方法では、注視点の位置Oの近傍で、対応点(P1,P2,P4)(P1´,P2´,P4´)が選択され、これらの位置対応情報に基づいて、注視点の変換が行われる。すると、注視点Oは微小距離動いただけであるのに、変換された変換点の位置は、不連続に飛んでしまう、ということが起こりうる。
図12は、第六の方法の概念を示す図である。
そこで、第六の方法では、注視点Oから(内角が全て30°以上120°以内を満たしつつ)もっとも近い3点P1P2P3の他に、距離OP4が距離OP3の(1+Δd)倍以内である点P4が存在すれば、そちらも参照点として取得し、最終的に注視点の変換に利用する。ここで、Δdは、所定の定数であり、たとえば、Δd=0.05とすることができる。このとき、3点P1P2P4についても、内角が全て30°以上120°以内の条件を課すことが望ましい。
すなわち、注視点Oを△P1P2P3と△P1P2P4の両方を用いて変換し、それぞれにおける変換点をOP1P2P3´および変換点OP1P2P4´と置く。
求まった2つの変換点について、注視点Oからの距離の比に従って、以下のような重み付け座標計算を行い、得られた点O´を変換点とする。
なお、上記の式(0)においては、変換点OP1P2P3´および変換点OP1P2P4´は、2次元の座標を表している。したがって、式(0)は、座標成分のそれぞれについて、成り立つ式をまとめて記載したものである。式(0)では、距離OP3と距離OP4とが同じであれば、変換点OP1P2P3´の座標の成分および変換点OP1P2P4´の座標の成分は、それぞれ、同じ重みで平均され、一方、距離OP4が、距離OP3の(1+Δd)まで大きくなれば、変換点OP1P2P3´の座標の方が変換点O´の座標として採用されるように、加重平均されていることを表す。
このような処理を行うことで、注視点が連続的に移動する限り、変換点も連続的に移動し、変換点が跳ぶことはなくなる。
上記第一から第六のいずれの方法で、参照点を取得してもよいが、実験上は、第六の方法が優れている場合が多いことが分かっている。
(相対位置の座標を取得する処理)
次に、以上のようにして取得した参照点を用いて、注視点の相対位置情報を取得する処理のアルゴリズムについて説明する。
なお、特許文献3(特開2011−154172号公報)には、このようなアルゴリズムとして第1〜第8のアルゴリズムが開示されている。そこで、本明細書では、典型的な例として、第1〜第8のアルゴリズムのうちの第1〜第3のアルゴリズムについて簡単に説明する。もちろん、端末装置1000においても、第1〜第8のアルゴリズムのすべてについて利用可能である。
(相対位置の座標を取得する第1のアルゴリズム)
まず、第1のアルゴリズムについて説明する。
すなわち、第1のアルゴリズムでは、絶対座標から相対座標への変換にあたって、相対位置情報取得部1122は、1つ以上の絶対位置情報(xn,yn)と一つの絶対位置情報(x0,y0)(注視点の座標)との距離rnの逆数に基づいた係数による、相対位置情報(an,bn)の集合の加重平均の値として、注視点の相対位置情報(a0,b0)を取得する。(a0,b0)は、距離rnの逆数を重みとした(an,bn)の加重平均で求められる。具体的には、例えば、以下の数式により、相対位置情報取得部1122は、相対位置情報を取得する。なお、nは1以上の自然数である。
また、相対位置情報取得部1122または図示しない補正手段は、各位置情報(例えば、絶対座標と相対座標を関連させた座標)の歪みを補正する機能を有することとしてもよい。
(相対位置の座標を取得する第2のアルゴリズム)
また、相対位置情報取得部1122は、以下の第2のアルゴリズムにより、相対位置情報を取得しても良い。
まず、注視点Oは、一の絶対位置情報(x0,y0)が示す点とする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、参照位置取得部1121は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、点Oから近い順にA,B,Cとする。そして、点A,B,Cに対応する相対位置情報が示す点を点A',B',C'とする。
相対位置情報取得部1122は、以下の数式(1)により、αおよびβを算出する。そして、相対位置情報取得部1122は、以下の数式(2)にα、β、A、B、C、A'、B'、およびC'を代入し、注視点の変換点O'を決定する。この変換点O'が注視点Oに対応する相対位置情報であり、第1地図画像上の点を示す。なお、第2のアルゴリズムでは、注視点位置取得部1120は、3個の点のみ用いる(n=3である)。
(相対位置の座標を取得する第3のアルゴリズム)
また、相対位置情報取得部1122は、以下の第3のアルゴリズムにより、相対位置情報を取得しても良い。
まず、注視点Oは、一の絶対位置情報(x0,y0)が示す点とする。また、上記の位置対応情報を取得するいずれかのアルゴリズムにより、参照位置取得部1121は、3組の位置対応情報を取得する。そして、3組の位置対応情報が有する3つの絶対位置情報が示す点を、点Oから近い順にA,B,Cとする。そして、点A,B,Cに対応する相対位置情報が示す点を点A',B',C'とする。
相対位置情報取得部1122は、数式(1)により、αおよびβを算出する。次に、相対位置情報取得部1122は、数式(3)および(4)にα、β、A、B、C、A´、B´、およびC´を代入し、α2およびβ2を算出する。そして、相対位置情報取得部1122は、以下の数式(5)にα2、β2、A'、B'、C'を代入し、変換点O'を決定する。なお、第3のアルゴリズムでも、相対位置情報取得部1122は、3個の点のみ用いる(n=3である)。
上述のとおり、たとえば、端末装置1000においても、特許文献3において、第6のアルゴリズムとして説明されているようなホモグラフィー行列を用いた変換を使用してもよい。
(本実施の形態での相対位置の座標を取得するアルゴリズム)
ただし、以下の説明では、相対位置情報取得部1122は、以下に説明するような処理により、相対位置座標を取得するものとする。この例では、第1地図から第2地図への変換と、第2地図から第1地図への変換とは、単に、変数を入れ変えるのみで、相互に順変換または逆変換を行うことができる。
すなわち、まず、注視点Oは、一の絶対位置情報(x0,y0)(絶対座標)が示す点とする。また、上記の位置対応情報を取得する第六のアルゴリズムにより、参照位置取得部1121は、3組または4組の位置対応情報を取得する。そして、3組(または4組)の位置対応情報が有する3つ(または4つ)の絶対位置情報が示す点を、注視点Oから近い順に(P1,P2,P3)(または(P1,P2,P3,P4))とし、これらの点に対応する相対位置情報が示す点を(P1´,P2´,P3´)(または(P1´,P2´,P3´,P4´))とする。
相対位置情報取得部1122は、3組の位置対応情報については、以下の数式(6)により、αおよびβを算出する。そして、相対位置情報取得部1122は、以下の数式(7)により、注視点の変換点O'を決定する。
また、相対位置情報取得部1122は、4組の位置対応情報を利用する場合は、上述した加重平均の式(0)により変換点O'を決定する。
(注視点の変換処理のフロー)
以上の説明をもとに、以下では、参照位置取得部1121は、第六の方法で参照点を取得し、相対位置情報取得部1122は、式(6)および式(7)または式(0)により、変換点O'を決定するものとして説明する。
図13は、図10で説明した注視点の変換処理(S212またはS228)について説明するフローチャートである。
注視点の変換処理では、まず、参照位置取得部1121が参照点を取得すると(S302)、相対位置情報取得部1122が、相対位置情報の変換処理を行い(S304)、上位の処理にリターンする(S306)。
図14および図15は、図13で説明した参照点の取得処理を説明するためのフローチャートである。
なお、以下の説明では、絶対地図上の注視点Oから相対地図上の注視点O´への変換を説明するが、相対地図上の注視点Oから絶対地図上の注視点O´への変換についても、各変数の役割を入れ替えることで同様の処理を行うことが可能である。
図14を参照して、参照位置取得部1121は、位置情報格納部1304の絶対位置情報を注視点Oから近い順にソートする(ステップS1002)。
参照位置取得部1121は、カウンタiに1を代入する(ステップS1004)。
参照位置取得部1121は、ステップS1002でソートした絶対位置情報の中に、i番目の絶対位置情報が存在するか否かを判断する(ステップS1006)。i番目の絶対位置情報が存在すればステップS1012に処理は移行し、存在しなければステップS1008に処理は移行する。ステップS1008では、参照位置取得部1121は、任意の3点(P1,P2,P3)を3つの絶対位置情報として取得し、上位処理にリターンする(S1010)。
一方、ステップS1012では、参照位置取得部1121は、変数P1に、i番目の絶対位置情報を代入する。
参照位置取得部1121は、カウンタjにi+1を代入する(ステップS1014)。
参照位置取得部1121は、ステップS1002でソートした絶対位置情報の中に、j番目の絶対位置情報が存在するか否かを判断する(ステップS1016)。j番目の絶対位置情報が存在すればステップS1020に処理は移行し、存在しなければステップS1018に処理は移行する。ステップS1018では、参照位置取得部1121は、カウンタiを1だけインクリメントし、処理はステップS1006に戻る。
一方、ステップS1020では、参照位置取得部1121は、変数P2に、j番目の絶対位置情報を代入する。
参照位置取得部1121は、カウンタkにj+1を代入する(ステップS1022)。
参照位置取得部1121は、ステップS1002でソートした絶対位置情報の中に、k番目の絶対位置情報が存在するか否かを判断する(ステップS1024)。k番目の絶対位置情報が存在すればステップS1028に処理は移行し、存在しなければステップS1026に処理は移行する。ステップS1026において、参照位置取得部1121は、カウンタjを1、インクリメントし、処理はステップS1016に戻る。
一方、ステップS1028では、参照位置取得部1121は、変数P3に、k番目の絶対位置情報を代入する。
参照位置取得部1121は、△P1P2P3の内角を、それぞれ算出する(ステップS1030)。
図15を参照して、参照位置取得部1121は、ステップS1030で算出した3つの内角が、30度以上であり、かつ120度以下であるか否かを判断する(ステップS1032)。この条件を満たせばステップS1036に処理は移行し、この条件を満たさなければステップS1034に移行する。ステップS1034では、参照位置取得部1121は、カウンタkを1、インクリメントし、処理はステップS1024に戻る。
ステップS1036において、参照位置取得部1121は、3点(P1,P2,P3)のうち注視点Oから最も遠い点P3までの距離OP3の(1+Δd)倍の値(=R)を算出する。
参照位置取得部1121は、注視点Oから距離Rの範囲内に他の点P4が存在するかを判断する(S1038)。
点P4が存在しない場合、参照位置取得部1121は、点(P1,P2,P3)の内容を、3つの絶対位置情報として取得し(S1040)、上位処理にリターンする(S1042)。
一方、点P4が存在する場合、参照位置取得部1121は、(P1,P2,P3,P4)の内容を、4つの絶対位置情報として取得し(S1044)、上位処理にリターンする(S1046)。
なお、ステップS1044では、4点の情報を上位処理に返すこととしているが、距離Rの範囲内に複数の点が存在する場合は、これらの点をすべて上位処理に返すこととしてもよい。ただし、以下では、このような場合、距離Rの範囲内の点のうち、たとえば、一番近い点を1つ選び、これを含めた4点を上位の処理に返すものとして説明する。
図16は、図14および図15の処理に引き続いて、相対位置情報取得部1122が実行する処理を説明するためのフローチャートである。
ここでも、相対位置情報取得部1122の処理として、絶対地図上の注視点Oから相対地図上の注視点O´への変換を説明するが、相対地図上の注視点Oから絶対地図上の注視点O´への変換についても、各変数の役割を入れ替えることで同様の処理を行うことが可能である。
図16を参照して、相対位置情報取得部1122は、処理が開始されると(S2000)、取得された参照点の数が3点であるか4点であるかを判断する(S2002)。
取得された参照点の数が3点である場合、続いて、相対位置情報取得部1122は、点(P1,P2,P3)に対応する相対位置情報(P1´,P2´,P3´)を取得する(S2004)。
続いて、相対位置情報取得部1122は、ベクトルP1O、ベクトルP1P2、ベクトルP1P3を算出する(S2006)。
相対位置情報取得部1122は、上述した式(6)に従い、係数αおよび係数βを算出する(S2008)。
さらに、相対位置情報取得部1122は、ベクトルP1´P2´、ベクトルP1´P3´を算出する(S2010)。
そして、相対位置情報取得部1122は、ベクトルP1´O´を式(7)に従って算出する(S2012)。
ベクトルP1´O´により、相対位置情報O´が算出され(S2014)、上位処理にリターンする(S2016)。
一方、取得された参照点の数が4点である場合、相対位置情報取得部1122は、点(P1,P2,P3,P4)に対応する相対位置情報(P1´,P2´,P3´,P4´)を取得する(S2020)。
続いて、相対位置情報取得部1122は、ベクトルP1O、ベクトルP1P2、ベクトルP1P3、ベクトルP1P4を算出する(S2022)。
相対位置情報取得部1122は、以下の式(8)および式(9)に従い、係数α1および係数β1ならびに係数α2および係数β2を算出する(S2024)。
さらに、相対位置情報取得部1122は、ベクトルP1´P2´、ベクトルP1´P3´、ベクトルP1´P4´を算出する(S2026)。
そして、相対位置情報取得部1122は、ベクトルP1´O1´およびP1´O2´を式(10)および式(11)に従って算出する(S2028)。
ベクトルP1´O1´およびP1´O2´から、式(0)により、相対位置情報O´が算出され(S2030)、上位処理にリターンする(S2032)。
なお、式(0)において、点O1´が点OP1P2P3´に相当し、O2´が点OP1P2P4´に相当する。
以上説明したような処理により、端末装置1000において、相互の対応する位置が非線形変換で結ばれた第1地図と第2地図とを切り替えて表示することが可能な場合に、ユーザに快適な操作感を与えることが可能である。
(実施の形態2)
実施の形態1においては、地図の表示切替の際の調整処理として、端末装置1000の画像出力処理装置1150において、ユーザが、第1地図または第2地図の一方の表示を行っている状態から、変換Ωにより注視点の位置を変換して、第1地図または第2地図の他方の表示を行うように表示切替をした後、この他方の表示中に、表示される領域が変更されるような操作を行うことなく、再び、第1地図または第2地図の一方を表示するように切替操作をした場合には、注視点についての変換Ωの逆変換ωを実行することなく、元の注視点の相対位置をそのまま使用して、表示の切り替えを行うように調整する構成について説明した。
実施の形態2では、逆変換ωについて補正処理を行うことで、調整処理を実行する例について説明する。
したがって、実施の形態2の端末装置1000の構成は、図3に示した端末装置1000の構成と基本的は同様であるものの、実施の形態1とは、注視点位置情報取得部1124により、変換Ωの逆変換ωによる注視点の表示位置のずれの大きさに応じて、相対位置座標取得部1122の実行する逆変換ωを逆変換ω´に補正する処理を行う点が異なる。
図17は、実施の形態2の端末装置1000における地図の表示切替の処理を説明するためのフローチャートである。
図17を参照して、地図の表示処理が開始されると(S400)、画像出力処理部1150は、地図の表示処理について終了の指示がなされているかを検知する(S402)。
表示処理の終了が指示されていない場合(S402でNo)、続いて、画像出力処理部1150は、第1地図の出力が指示されているかを判断し(S404)、第1地図の出力が指示されている場合(S404でYes)、第2地図がすでに表示済みであって、地図表示の切替えの処理をする場合(S406でYes)は、処理をステップS408に移行し、地図表示の切替えの処理でない場合(S406でNo)は、処理をステップS414に移行する。
ステップS408では、すでに表示済みである第2地図についての表示情報を読み出し、第1地図において表示する際に注視点の位置の情報や、表示する際の縮尺についての情報を取得する。
続いて、注視点位置取得部1120は、注視点の変換処理を実行する(S410)。ここで、注視点の変換処理は、図10と同様であるので、説明を省略する。
次に、注視点位置取得部1120の注視点位置情報取得部1124は、変換の補正処理を実行する。その後、処理は、ステップS414に移行して、第1地図を注視点の相対位置の情報に基づいて、表示領域について読み出し(S414)、第1地図を表示装置1204に表示し(S416)、処理は、ステップS402に復帰する。
さらに、ステップS404において、第1地図の出力が指示されていない場合(S404でNo)、画像出力処理部1150は、第2地図の出力が指示されているかを判断し(S420)、第2地図の出力が指示されている場合(S420でYes)、第1地図がすでに表示済みであって、地図表示の切替えの処理をする場合(S422でYes)は、処理をステップS424に移行し、地図表示の切替えの処理でない場合(S422でNo)は、処理をステップS430に移行する。
ステップS424では、すでに表示済みである第1地図についての表示情報を読み出し、第1地図において表示する際に注視点の位置の情報や、表示する際の縮尺についての情報を取得する。
続いて、注視点位置取得部1120は、注視点の変換処理を実行する(S426)。ここでも、注視点の変換処理は、図10と同様である。
次に、注視点位置取得部1120の注視点位置情報取得部1124は、変換の補正処理を実行する。その後、処理は、ステップS430に移行して、第2地図を注視点の相対位置の情報に基づいて、表示領域について読み出し(S430)、第2地図を表示装置1204に表示し(S432)、処理は、ステップS402に復帰する。
さらに、ステップS420において、第2地図の出力が指示されていない場合(S420でNo)、画像出力処理部1150は、注視点の位置または表示される地図の縮尺の変更が指示されているかを判断する(S440)。
現在表示中の地図の注視点の移動(スクロール処理等)や、縮尺の変更(地図表示の拡大または縮小)が指示されていれば、画像出力処理部1150は、対応する処理を実行し(S442)、このような表示中の地図に関する表示情報を表示情報格納部1306に格納する。このとき、現在表示中の地図について、注視点の移動や、縮尺の変更の指示が表示中になされたときは、画像出力処理部1150は、このことを示すフラグを併せて、表示情報格納部1306に格納する(S444)。
一方、ステップS440において、表示される領域が変更されるような操作の指示がなされていない場合、処理はステップS402に復帰する。
なお、図10の場合と同様に、上述の処理において、地図が表示されるとは、表示装置1204への表示に限られず、対応する画像データをプロジェクタに出力したり、あるいは、他のディスプレイ装置に出力することであってもよい。
図18〜図20は、図17で説明した変換の補正処理(S412またはS428)を説明するためのフローチャートである。
簡単に、変換の補正処理の概略を説明すると、以下のとおりである。
変換Ωおよび変換ωのうち、変換Ωを順変換、変換ωを逆変換とする。
順変換Ωは変換結果をそのまま使う。一方で、逆変換ωは、変換結果を必ず順変換で再度戻し、元の座標と2重変換した結果を比較する。元の座標と2重変換した結果との距離が、一定許容誤差範囲内であれば変換結果をそのまま使用する。許容誤差をオーバーしていれば、追加の補正計算を実行する。
ここで、追加の補正とは、たとえば、逆変換ωによる元の座標(xα,yα)の変換結果(Xαω,Yαω)を順変換Ωにより2重変換した結果の座標(XαωΩ,YαωΩ)と元の座標(xα,yα)とが、一定許容誤差範囲を超えて離れており逆変換ωが不正確であると検知された場合、この変換チェックによって生じた「逆変換ωによる元の座標の変換結果の座標(Xαω,Yαω)」と「順変換Ωにより2重変換した結果の座標(XαωΩ,YαωΩ)」との対応点セットを、ωを定義する対応点群に加えた新しい変換、ω´を変換ωに代えて定義する。なお、ここで、座標の表示においてギリシャ文字は、座標に対する変換の履歴を表しており、本来は下付文字である。
補正された変換ω´によって、再び、元の座標(xα,yα)を変換し、変換値(Xαω´,Yαω´)を得る。これをさらに順変換Ωで再変換し、その結果が許容誤差内に収まっているかを確認する。
このような誤差確認および補正再計算を、
i)結果が許容誤差内に収まる
ii)1つ前の計算より結果が悪くなる
iii)許容再計算回数を越える、
のいずれかが成立まで行い、その中でもっとも誤差の小さかった変換値を、注視点の変換処理の結果として採用する。
以下、上述のような処理について、図を参照して、さらに詳しく説明する。
なお、注視点の変換処理における順変換を変換Ωとし、逆変換を変換ωで表すものとする。つまり、第2地図(絶対地図)から第1地図(相対地図)への変換を順方向変換Ωとし、第1地図(相対地図)から第2地図(絶対地図)への変換を逆方向変換ωと呼ぶことにする。もちろん、以下の説明は、逆変換ωと順変換Ωとの順序を入れ替えた場合にも成り立つ。
まず、図18を参照して、変換の補正処理が開始されると(S3000)、注視点位置情報取得部1124は、逆変換ωにより変換処理をする際の変換元の注視点Oの座標(相対座標)を変数W1に待避させ(S3002)、逆変換ωにより変換処理をする際の変換先の注視点O′の座標(絶対座標)を変数W2に待避させる(S3002)。
次に、注視点位置情報取得部1124は、順変換Ωにより変換するために、変換元の注視点Oの座標を、注視点O′の座標で置き換える(S3006)。
続いて、注視点位置情報取得部1124は、変換元の注視点Oの座標について、参照点の取得処理を行い(S3008)、相対位置座標の取得処理を実行する(S3010)。
注視点位置情報取得部1124は、順変換Ωによる変換先の注視点O′の座標(相対座標)を変数W3に待避させる(S3012)。
注視点位置情報取得部1124は、座標W1と座標W3との間の距離d1(W1,W3)が所定の値(許容誤差範囲)pd以下であるかを判断する(S3014)。
距離d1が所定の値以下であれば(S3014でYes)、注視点位置情報取得部1124は、注視点の変換処理として、逆変換ωでの変換先の注視点O′の座業として、変数W2に待避させていた値を代入し(S3016)、上位の処理にリターンする(S3018)。
一方、距離d1が所定の値を超えていれば(S3014でNo)、注視点位置情報取得部1124は、変換ωに対して点W2と点W3のセットを対応点群に加えた新たな変換ω´を定義する(S3100)。
続いて、注視点位置情報取得部1124は、変数W1とステップS3014で算出した距離d1を引数として、誤差の確認処理を呼出し(S3102)、誤差の確認処理の戻り値W4を、逆変換ωでの変換先の注視点O′の座業として代入し(S3104)、上位の処理にリターンする(S3106)。
図19および図20は、図18に示した誤差の確認処理を説明するためのフローチャートである。
誤差の確認処理においては、第2地図(絶対地図)から第1地図(相対地図)への変換を順方向変換Ω′とし、第1地図(相対地図)から第2地図(絶対地図)への変換を逆方向変換ω′と呼ぶことにする。
図19を参照して、注視点位置情報取得部1124は、カウンタiの値を1とし、また、所定の制限回数をPNとするとき、j=1からj=PNまでのすべてのカウンタjについて、変数配列FW(j)=0、Fd(j)=PVに初期設定する(S4002)。ここで、値PVは、後に説明する距離d1がその値をとることが想定できないほど十分に大きな値に設定される。
続いて、注視点位置情報取得部1124は、変数d2に距離d1の値を待避させ(S4004)、逆変換ω′の変換元の注視点Oの座標といて、変数W1の値を設定する(S4006)。
続いて、注視点位置情報取得部1124は、変換元の注視点Oについて、参照点の取得処理を実行し(S4008)、相対位置座標の取得処理を実行する(S4010)。
次に、注視点位置情報取得部1124は、逆変換ω′により変換処理をする際の変換元の注視点Oの座標を変数W1に待避させ(S4012)、逆変換ω′により変換処理をする際の変換先の注視点O′の座標を変数W2に待避させる(S4014)。
次に、注視点位置情報取得部1124は、順変換Ω′により変換するために、変換元の注視点Oの座標を、注視点O′の座標で置き換える(S4016)。
続いて、注視点位置情報取得部1124は、変換元の注視点Oの座標について、参照点の取得処理を行い(S4018)、相対位置座標の取得処理を実行する(S4020)。
注視点位置情報取得部1124は、順変換Ω′による変換先の注視点O′の座標を変数W3に待避させる(S4022)。
図20を参照して、注視点位置情報取得部1124は、座標W1と座標W3との間の距離d1(W1,W3)が所定の値(許容誤差範囲)pd以下であるかを判断する(S4024)。所定の値以下であれば、処理はステップS4026に移行する。
さらに、ステップS4024で所定の値を超えていれば、注視点位置情報取得部1124は、距離d1が1つ前のステップの距離d2よりも大きいかを判断する(S4030)。大きければ、処理はステップS4026に移行する。
さらに、ステップS4030で距離d1が距離d2以下であれば、注視点位置情報取得部1124は、確認回数iが所定の回数PNを超えているかを判断する(S4032)。所定の回数を超えていれば、処理はステップS4026に移行する。
さらに、ステップS4032で、変数iが所定の回数PNを超えていなければ、注視点位置情報取得部1124は、変数FW(i)に変数W2の値を代入し、変数Fd(i)に距離d1の値を代入し(S4034)、カウンタiを1だけインクリメントする(S4036)。そして、注視点位置情報取得部1124は、変換ωに対して点W2と点W3のセットを対応点群に加えた新たな変換として変換ω´を定義し、処理はステップS4004に復帰する(S4038)。
一方、ステップS4026においては、注視点位置情報取得部1124は、PVでないFd(j)のうち最小のものがFd(jm)であるとき、戻り値W4に変数FW(jm)の値を代入して、上位の処理にリターンする(S4028)。
以上のような処理によっても、端末装置1000において、相互の対応する位置が非線形変換で結ばれた第1地図と第2地図とを切り替えて表示することが可能な場合に、ユーザに快適な操作感を与えることが可能である。
(実施の形態3)
実施の形態1および実施の形態2においては、相互の対応する位置が非線形変換で結ばれた第1地図と第2地図とを切り替えて表示することが可能な場合に、注視点が画面上で表示される位置が、不自然に変更されることがないようにする所定について説明した。
実施の形態3においては、相互の対応する位置が非線形変換で結ばれた第1地図と第2地図とを切り替えて表示することが可能な場合に、注視点の位置についてだけでなく、2つの地図の間で、表示される方向(方角)と表示範囲とを可能な限りそろえて表示することで、ユーザに快適な操作感を与えることが可能な構成について説明する。したがって、以下で説明する実施の形態3の端末装置1000の機能は、実施の形態1の端末装置の機能と組み合わせて実現することも可能であるし、あるいは、実施の形態3の端末装置1000の機能を、実施の形態2の端末装置の機能と組み合わせて実現することも可能である。
図21は、2つの地図の間で、表示される方向(方角)と表示範囲とをそろえることなく表示の切り替えをした状態を説明するための図である。
すなわち、図21においては、第1地図と第2地図とについて、表示される際の中央点のみをそろえるように表示している。
これに対して、図22は、第1地図と第2地図とについて、表示される中央点の位置および表示範囲・方角をそろうように表示の切替えをした状態を説明するための図である。
図21に示すように、中央位置がそろえられるだけでは、対応点の状況がユーザにとってわかりにくい。特に、第1地図が古地図のような場合は、そもそも、古地図では、地図内の領域の面積や方向が、必ずしも正確に描かれているわけではないため、表示の切り替えをした際に、対応点の状況がわかりにくい。
一方、第1地図と第2地図との間では、相互の対応する位置が非線形変換で結ばれているため、表示される範囲を2つの地図の間で完全に一致させることが困難である。
すなわち、第2地図の矩形領域が第1地図の相似な矩形領域に変換されるとは限らない等の事情がある。
このため、「表示範囲および表示される方角をそろえる」と言う場合において、ユーザにとって、違和感の少ない切り替えを実現することは、自明なことではない。
図23は、実施の形態3の端末装置1000の構成を説明するための機能ブロック図である。
図23に示した端末装置1000の構成が、図3の実施の形態1の端末装置の構成と異なる点は、画像出力処理部1150内に、表示範囲算出部1152と表示方角算出部1154とが設けられる構成となっていることである。その他の点は、図3と基本的に共通であるので、説明は繰り返さない。
図24は、実施の形態3の端末装置1000において、表示範囲算出部1152と表示方角算出部1154とが行う処理の概念を説明する図である。
図24に示されるように、画像出力処理部1150は、表示範囲算出部1152と表示方角算出部1154とにより、一方の地図上での中心点、半径、方角を計算し、切り替え先地図上で逆展開するという処理を行う。
図25は、画像出力処理部1150の実行する処理の概念を示し、図26は、図25に対応して、画像出力処理部1150が実行する処理を示すフローチャートである。
以下に説明するように、画像出力処理部1150での画像の表示範囲と方角の制御においては、表示範囲を表す指標として、絶対座標(たとえば、メルカトル図法における緯度および経度)を基準とした表示範囲に内接する円の半径と、北からの回転角を導入する。
そして、画像出力処理部1150は、遷移元地図における中央点から、画面表示範囲に内接する円のピクセル座標半径(表示された画像上での半径の大きさ)を算出する。画像出力処理部1150は、同時に対応点群について表示中央の絶対位置からの距離を計算することで、絶対座標上距離を算出し、この絶対座標上距離の平均とピクセル座標距離の平均との比を計算し、画面内接円の絶対座標上の距離半径を算出する。さらに、画像出力処理部1150は、中央位置からみたときの各対応点の角度としての方角(北からの時計回りの回転角)を平均し、遷移元地図の北を上とした場合の回転角を算出する。画像出力処理部1150は、求めた絶対座標半径と絶対回転角を遷移先地図で逆展開し、2つの地図の間で、表示範囲と方角とをほぼ一致させる、との処理を行う。
図25および図26を参照して、より詳しく説明すると、まず、画像出力処理部1150は、図25(a)に示すように、表示範囲に内接する円のピクセル半径Rpを求める(S502)。
次に、画像出力処理部1150は、図25(a)に示すように、表示範囲周辺の対応点をいくつか選び、表示画面の中央点との間のピクセル座標距離Lp、絶対座標距離Lg、ピクセル座標上での方向(回転角)Θp、絶対座標上での方角(北からの時計回りの回転角)Θgをそれぞれについて求める。ここで、ピクセル座標上での方向Θpとは、表示画面において上に向かう方向を基準とし、表示中央位置から見たときの、対応点のこの基準の方向からの時計回りの回転角である。
さらに、画像出力処理部1150は、選んだ対応点全てについて、距離Lp、距離Lgの平均を求める。すると、絶対座標上での表示範囲の内接円半径RgはRg=Rp×AVE(Lg)÷ AVE(Lp)で求まる(S506)。ここで、AVE(…)は対応点についての平均操作を表す関数である。
続いて、画像出力処理部1150は、同様に、現在表示中の地図における地理的北方向の傾きθgを、θg=AVEΘ(Θp−Θg)として求める(S508)。ここで、AVEΘ(…)とは、角度の平均操作を表す関数である。角度の平均とは、たとえば、それぞれの回転角に相当する単位円上でのベクトルを加算した後、この加算されたベクトルを平均したベクトルの方向(回転角)として求めることができる。
そして、画像出力処理部1150は、切り替え先の地図を表示する際に、この表示範囲内接円半径Rgと地理的北方向の傾きθgを、地図間切り替え時に表示範囲と方角を合わせるための指標として導入する。すなわち、切り替え先の地図においても、表示範囲内接円半径Rgと地理的北方向の傾きθgが一致するように、切り替え先の地図の表示を制御する(S510)。
なお、上述したような表示範囲/方角算出用の対応点選定にあたっては、以下の点を考慮する必要がある。
図27は、このような表示範囲/方角算出用の対応点選定における問題点を説明する図である。
すなわち、第1地図が、非線形な絵地図の場合、このような絵地図の座標系では、中央部と周辺部で地理的距離との換算比率が異なる場合が多い(図27(a))。したがって、中心点付近の対応点のみで範囲/方角を算出すると、ユーザの認識する表示範囲とズレる場合がある(図27(b))。
図28は、表示範囲/方角算出用の対応点選定のための処理を示す概念図である。
図28(a)に示すように、地図の距離換算及び方角計算には、地図の表示中央点付近の対応点は使わず、視野内接円に所定の範囲(半径に対する所定の比率の範囲内)近い対応点を使うこととする。ここで、たとえば、所定の範囲は、内接円の半径をRとするとき、R(1−α)〜R(1+α)(αは所定の定数)のように表される範囲とすることができる。
このようにすれば、図28(b)に示すように、ユーザの主観的表示範囲に合致した
表示範囲が得られる。
以上説明したような実施の形態3の構成では、相互の対応する位置が非線形変換で結ばれた第1地図と第2地図とを切り替えて表示することが可能な場合に、注視点の位置についてだけでなく、2つの地図の間で、表示される方向(方角)と表示範囲とをそろえて表示することで、ユーザに快適な操作感を与えることが可能である。
(実施の形態4)
実施の形態1〜実施の形態3においては、端末装置1000において、注視点位置取得部1120が、注視点の変換処理のすべてを実行するものとして説明した。
しかしながら、この注視点の変換処理の一部またはすべては、サーバ装置2000側で行うこととすることも可能である。なお、サーバ装置2000は、実施の形態1で説明した機能も有するものとする。
図29は、注視点の変換処理を分散処理として実行するための構成を説明する図である。
図29においては、たとえば、注視点位置情報取得部1124が、参照位置取得部1121からの情報と相対位置情報取得部1122からの情報を、送受信制御部1130により、通信装置1206を介して、サーバ装置2000の通信装置2010に送信する構成を示す。サーバ装置2000では、受信部2012が送信されてきた情報を受信して、処理部2014が、位置情報格納部2020に位置対応情報を格納し、処理部2014が、実施の形態1または実施の形態2の注視点位置取得部1120の処理を実行した後、実行結果を送信部2022の制御により、通信装置2010および通信装置1206を介して、注視点位置取得部1120に返信する構成となっている。
なお、分散処理としては、図29のような構成に限定されず、たとえば、注視点位置取得部1120の実行する処理のすべてを、サーバ装置2000側で実行する構成としてもよい。
さらに、実施の形態3における画像出力処理部1150の実行する表示範囲/方角算出の処理をサーバ装置2000側で実行する構成とすることも可能である。
このような構成によっても、実施の形態1〜3と同様な効果が奏される。
今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。