以下、地図表示装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における地図表示システム10のブロック図である。
地図表示システム10は、地図表示装置1と、視線追跡システム5とを備えている。
地図表示装置1は、地図情報格納部101、表示部102、視点位置情報受付部103、操作受付部104、および地図画像取得部105を備える。
地図画像取得部105は、視点位置履歴蓄積手段1051、視点位置履歴格納手段1052、操作履歴蓄積手段1053、操作履歴格納手段1054、パターン対応情報格納手段1055、変更指示取得手段1056、および地図画像取得手段1057を備える。
地図表示システム10は、例えば、コンピュータや、カーナビゲーションシステムや、携帯電話、スマートフォン、携帯情報端末等である。
視線追跡システム5は、ユーザの視線に関する情報である視線追跡情報を取得し、出力する。視線追跡システム5は、例えば、予め指定された定期あるいは不定期のタイミングで視線追跡情報を繰り返し取得して出力する。視線追跡情報は、具体的には、ユーザの視線の方向等を示す情報である視線方向情報や、ユーザの視点の位置を示す情報や、ユーザの瞳孔の状況を示す情報や、ユーザがまばたきしたか否か等を示す情報を含む情報である。視点の位置を示す情報は、ユーザが視覚によって注視している位置を示す情報を含むものであることが好ましい。
視線追跡システム5は、本実施の形態においては、少なくとも後述する表示部102に表示された地図画像に対するユーザの視線に関する情報である視点位置情報を少なくとも含む視点位置情報を取得する。視線追跡情報は、視点位置情報だけで構成されていても良い。地図画像に対するユーザの視線に関する情報とは、表示された地図画像に向けられたユーザの視線に関する情報である。視点位置情報は、具体的には、表示部102に表示された地図画像上におけるユーザの視線が示す位置、即ちユーザの視点の位置を示す情報を含む情報である。視点位置情報が含むユーザの視点の位置の情報は、例えば、地図画像上の視点が位置する座標情報である。この座標情報の解像度、例えば値の細かさ等は問わない。また、ユーザの視点の位置の情報は、地図画像を格子状等の複数エリアで分割した場合の、視点が位置するエリアを識別可能な識別情報等であってもよい。また、視点位置情報は、例えば、ユーザの地図画像に対する視線を妨げるユーザのまばたきが行われたことを示す情報や、地図画像を見ているユーザの瞳孔のサイズを示す情報である瞳孔情報を更に含んでいてもよい。瞳孔情報とは、例えば瞳孔のサイズや、瞳孔が開いているか否かを示す情報である。
視線追跡システム5は、アイトラッキングシステム等とも呼ばれる。視線追跡システムとしては、例えば、特表2006−507054号公報に開示されているような、ユーザの頭部の方向に光線を発する光源と、ユーザの頭部からの光線を受光し、そのピクチャを反復的に取り込む検知器と、目の位置及び/又は凝視方向を決定するために前記検知器に接続された評価ユニットを備えるようにしたものが知られている。このシステムにおいては、例えば、ユーザのモニタ上に対する視点の位置を示す情報、例えば座標等の情報や、瞳孔の大きさの情報等を取得することが可能である。また、視線追跡システム5としては、特開2002−143094号公報に開示されている、被験者の頭部に取り付ける不可視光により眼球を照明するための照明手段および眼球を撮影するための撮影するための撮影手段と、被験者頭部から離れた位置に配置した不可視光により眼球を照明するための照明手段と、上記撮影手段から得られる眼の画像から、頭部に取り付けられた照明手段の照明光が角膜で反射して作る反射像の位置と、頭部から離れた位置に配置された照明手段からの照明光が角膜で反射して作る反射像の位置と、瞳孔の位置とを検出する手段と、この検出結果を用いて空間座標における視線を演算する手段を備えた視線検出装置が利用可能である。また、まばたきを検出する技術は、特開2009―282650号公報に記載されている。
視線追跡システム5は、ここでは、取得した視点位置情報を地図表示装置1に送信する。視点位置情報を含む視線追跡情報を送信しても良い。視線追跡システム5と地図表示装置1は、ネットワークや通信回線、配線等により、情報の受け渡しが可能となるよう接続されている。なお、地図表示装置1が内部に視線追跡システム5を含むようにしても良い。なお、視線追跡システム5は、視点位置情報の作成時刻や出力時刻を有する視点位置情報を出力しても良い。
地図情報格納部101には、地図に関する情報である1以上の地図情報が格納され得る。
地図情報は、地図を表示するために用いられる情報であり、例えば、地図の画像情報である。地図の画像情報は、ビットマップデータ(ラスタデータ)であってもよいし、ベクタデータであっても良い。また、画像情報は、地名や建物や道路等を示すための文字の情報、例えばフォントデータを含んでもよい。地図情報のデータ構造は問わない。地図情報は、ISOのkiwi地図データフォーマットであっても良い。地図情報格納部101に格納されている複数の地図情報は、例えば、タイル状に分割された地図を示す地図情報であり、これらの地図情報を適宜組み合わせることで、様々な領域の地図を表示することができる。各地図情報には、識別情報が対応付けられていても良い。地図情報格納部101には、同じ地域についての異なる縮尺の地図が、縮尺の情報と対応付けられて格納されていても良い。ここで述べる「地図」は、地形図や、地勢図、地質図、土地利用図等である。また、道路地図や、住宅地図、路線図、ガイドマップ、案内図、鳥瞰図等であってもよい。また、ここでの「地図」は、地形や、道路等が把握可能な航空写真や衛星写真、航空写真や衛星写真上に記号文字等を記入したもの等であってもよい。地図情報は、例えば、その地図情報が表示する地域の経度や緯度等の、絶対的な座標を示す座標情報や、各地図情報間において、それぞれの地図が示す位置の対応関係が分かるような相対的な座標を示す座標情報を有していても良い。例えば、地図情報の表示する地図の範囲を、緯度と経度との範囲で定義する情報を有していてもよい。なお、これらの情報は、地図情報格納部101に、地図情報と対応付けられて蓄積されていてもよい。また、地図情報は、住所等の位置を指定可能な情報と対応付けられていても良い。
また、地図情報格納部101には、地図情報と対応付けられて、当該地図情報が示す地図の1以上の構成要素の位置を示す情報が格納され得るようにしても良い。構成要素は、具体的には、地図上に表示されるオブジェクトと考えても良い。この位置を示す情報は、領域を示す情報であってもよい。構成要素は、例えば、道路や建物やランドマーク等である。ランドマークとは、地域の特徴を表したり、象徴となる建物や記念碑等である。あるいは、土地の目印となるものであっても良い。位置を示す情報とは、例えば、位置の緯度と経度の情報や、地図情報上の座標情報である。ここで述べる、地図情報と対応付けて格納されるとは、地図情報内に位置を示す情報が含まれることも含む概念である。
地図情報格納部101に地図情報が蓄積される過程は問わない。例えば、記録媒体を介して地図情報が地図情報格納部101に蓄積されても良く、通信回線等を介して送信された地図情報が地図情報格納部101に蓄積されても良く、あるいは、入力デバイスを介して入力された地図情報が地図情報格納部101に蓄積されてもよい。ここで述べる格納は、外部の装置等から受信した地図情報等を一時的に記憶する一時記憶も含む概念である。地図情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
表示部102は、後述する地図画像取得部105が取得した地図画像を表示する。具体的には、地図情報格納部101に格納されている地図情報を用いて、地図画像取得部105が取得した地図画像を表示する。地図画像取得部105が取得した地図画像が変更された場合、この変更された地図画像で表示を更新する。表示部102は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部102は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
視点位置情報受付部103は、表示部102に表示された地図画像に対するユーザの視線に関する情報である視点位置情報を受け付ける。視点位置情報受付部103は、例えば、視線追跡システム5が出力する視点位置情報を受け付ける。また、視点位置情報受付部103は、例えば、視線追跡システム5が出力する上述したような視線追跡情報に含まれる視点位置情報を選択的に受け付けてもよい。あるいは、一旦受け付けた視線追跡情報から、視点位置情報だけを選択的に取り出して受け付けても良い。この視点位置情報は、例えば、ユーザの瞳孔についての瞳孔情報を含む情報であってもよい。
視点位置情報受付部103は、有線もしくは無線の通信回線を介して送信された視点位置情報、あるいは視点位置情報を含む視線対的情報を受信してもよい。また、信号線を介して出力された視点位置情報、あるいは視点位置情報を含む視線追跡情報を受け付けても良い。なお、視点位置情報受付部103は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、視点位置情報受付部103は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。なお、視線追跡システム5が、地図表示装置1内に設けられている場合、視点位置情報受付部103は、視点位置情報を受け付けるための入力インターフェース等と考えても良い。
操作受付部104は、ユーザの操作を受け付ける。操作受付部104は、例えば、表示部102が表示する地図画像に対するユーザの操作を受け付ける。操作受付部104が受け付ける表示部102が表示する地図画像に対する操作は、どのような操作であっても良く、例えば、地図の移動を含む操作であっても、地図の移動を含まない操作であってもよい。操作受付部104が受け付ける操作は、例えば、地図の表示を開始あるいは終了させる操作や、地図上の位置をマウスポインタ等を配置して示したり、その示した位置を移動させたり、その示した位置で、マウスクリックや、タッチパッドのタップ等を行う操作である。また、例えば、地図に表示させる地図の位置を指定する操作や、地図を移動させる操作(以下、記号「p操作」と称す)や、地図を拡大するズームイン操作(以下、記号「i操作」と称す)や、地図を縮小する操作(以下、記号「o操作」と称す)や、地図をセンタリング(以下、記号「c操作」と称す)する操作や、地図を慣性移動させる操作等である。慣性移動させる操作とは、具体的には地図上でポインタ等を高速でスライドさせることで、そのスライド方向に地図を慣性移動させるための操作等である。地図の移動等は、地図画像の移動と考えても良いし、地図での表示対象となる領域の移動と考えても良い。例えば、相対的な位置の移動(例えば、表示中の地図に対する右や左、上、下への移動等)であってもよく、絶対的な位置の指定による移動(例えば、移動後の座標を指定した移動)であってもよい。位置の移動は、操作受付部104は、例えば、直前に地図画像が表示している位置(例えば地図画像の中心の位置)の情報とは、異なる位置を指定する情報を受け付けた場合に、p操作を受け付けたと判断しても良い。なお、ここで述べる位置は、一の地点であっても良いし、一の領域を含む概念と考えても良い。地図に表示させる位置を指定する操作は、結果的に、表示対象となる地図上の領域を指定することが可能な操作であればよく、例えば、地図情報上の領域を指定する操作でも良いし、実際の地域の領域を指定する操作でもよい。例えば、地図で表示したい実際の領域内の一点(例えば中心)の緯度および経度と、その点を基準とした領域のサイズ(例えば縦幅と横幅)とを組合せた情報の受け付けであってもよい。なお、予めデフォルトで領域のサイズ等が指定されている場合等には、地図で表示したい実際の領域内の一点の緯度および経度等の情報だけを、表示させたい位置を指定する情報として受け付けても良い。また、実際の領域の、4隅や対角となる二隅の緯度・経度を組み合わせた情報の受け付けであってもよい。また、位置を指定する操作は、上述した地図情報上の位置を示す情報の受け付けであってもよい。例えば、表示させたい地図情報を指定する情報、例えば識別情報や、表示させたい地図情報内の座標情報の受け付けであっても良い。また、表示させたい位置を指定する操作が、地図の縮尺や、地図の拡大率を指定する操作を含むようにしてもよい。なお、ここでは、縮小率も拡大率と考える。また、操作受付部104は、地域の住所や、地名等のキーワード等の入力を受け付け、当該住所やキーワードに対応して予め用意されている位置を指定する座標情報等の情報を受け付けるようにしても良い。地図に対する操作は、例えば、表示されているボタンのクリックや、スライダのドラッグ等や、表示されている地図画像や景色画像におけるクリックやドラッグなどのGUI(Graphical User Interface)を用いて行われてもよく、あるいは、キーボード等の上下左右ボタンの押下や、操作に対応するコマンドのキーボード入力等によって行われてもよい。これらの操作は、オンライン地図を表示するシステム(例えば、ストリートビューやロケーションビュー等)の操作として公知であり、詳細な説明を省略する。また、操作は音声による操作であっても良い。
操作受付部104は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された操作を受け付けてもよく、有線もしくは無線の通信回線を介して送信された操作を受信してもよい。なお、操作受付部104は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、操作受付部104は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
地図画像取得部105は、地図情報格納部101に格納されている地図情報を用いて、地図の画像情報である地図画像を取得する。例えば、地図画像取得部105は、予め指定された領域やユーザにより指定された領域の地図画像を取得する。例えば、地図情報格納部101に格納されている地図情報を用いて、地図に対する操作に応じた地図画像を取得する。この地図に対する操作は、操作受付部104が受け付けたものである。例えば、地図情報がラスタデータである場合には、地図画像取得部105は、その領域の地図画像を切り出すことによって取得してもよい。その際に、指示されている縮尺に応じた地図情報を用いてもよい。具体的には、地図画像取得部105は、表示される地図画像のサイズ(例えば、縦の長さ、横の長さ等)を、表示対象となる地図画像の縮尺を用いて地図上の長さに変換し、その長さを用いて、指定された領域を切り出すことによって取得してもよい。また、例えば、地図情報がベクタデータである場合には、地図画像取得部105は、指示されている縮尺に応じて、その地図画像を拡大・縮小すると共に、指定された領域の地図画像を切り出してもよい。また、ベクタデータの地図情報をラスタライズしても良い。なお、ここでの地図画像の取得は、表示用の地図画像の情報を構成することを含む概念と考えても良い。地図画像取得部105は、例えば、操作等に応じて新たな地図情報を取得した場合、取得した地図画像で直前に取得した地図画像、即ち直前の表示に用いられた地図情報を更新する。
地図画像取得部105は、例えば、視点位置情報受付部104が受け付けた視点位置情報に応じた新たな地図画像を取得する。そして、地図画像取得部105は、例えば取得した地図画像で古い地図画像を更新する。
地図画像取得部105は、例えば、視点位置情報受付部103が受け付けた視点位置情報に含まれる視点位置情報に応じた地図画像を取得する。地図画像取得部105は、具体的には、視点位置情報の履歴に応じた地図画像を取得する。視点位置情報に応じた地図画像を取得する処理については後述する。
また、地図画像取得部105は、例えば、操作受付部104が、操作受付部104が受け付けた操作と、視点位置情報受付部103が受け付けた視点位置情報に含まれる視点位置情報との組合せに応じた地図画像を取得する。地図画像取得部105は、具体的には、操作の履歴と、視点位置情報の履歴とに応じた地図画像を取得する。操作と視点位置情報とに応じた地図画像を取得する処理については後述する。
この実施の形態においては、地図画像取得部105が、視点位置履歴蓄積手段1051、視点位置履歴格納手段1052、操作履歴蓄積手段1053、操作履歴格納手段1054、パターン対応情報格納手段1055、変更指示取得手段1056、および地図画像取得手段1057を備えており、視点位置情報に応じた地図画像を取得する場合、および、視点位置情報と操作とに応じた地図画像情報を取得する場合を例に挙げて説明する。
なお、本実施の形態では、地図画像取得部105が地図情報格納部101にアクセスすることによって地図画像を取得する場合について説明するが、そうでなくてもよい。例えば、地図画像取得部105は、ネットワーク等で接続された地図情報を保持している図示しないサーバにアクセスすることによって、地図画像を取得してもよい。その場合には、例えば、地図画像取得部105は、所望の地図画像の領域や縮尺等をサーバに送信し、それに応じて地図画像を受信してもよい。また、地図情報がベクタデータである場合には、地図画像取得部105は、送信した領域に対応する地図情報をサーバから受信し、その受信した地図情報を用いて、所望の縮尺に対応する地図画像を生成してもよい。これらの処理は、2次元のオンライン地図における地図画像を取得する処理として公知であり、その詳細な説明を省略する。地図画像取得部105は、通信に関するデバイスを備えていてもよい。
地図画像取得部105は、通常、MPUやメモリ等から実現され得る。地図画像取得部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
視点位置履歴蓄積手段1051は、視点位置情報受付部103が受け付けた視点位置情報の履歴を1以上蓄積する。視点位置履歴蓄積手段1051は、視点位置情報の履歴を、例えば、後述する視点位置履歴格納手段1052に蓄積する。ただし、蓄積先は問わない。視点位置情報の履歴は、例えば、視点位置情報を、時系列に沿って蓄積した情報、あるいは視点位置情報が取得された時刻や蓄積される時刻等の時刻を示す情報と対応付けた情報である。視点位置情報の履歴は、例えば、少なくとも視点位置情報に含まれるユーザの視点の位置を示す情報の履歴である。ユーザの視点の位置を示す情報は、例えば、ユーザの視点の位置を、地図画像上、あるいは表示画面上のxy座標等の座標で表した情報である。また、この座標の情報を、地図が示す緯度や経度の座標に変換した情報であっても良い。また、ユーザの視点の位置を含む領域を示す識別情報等であってもよい。視点位置情報の履歴は、視点位置情報を受け付けた際に表示されている地図画像やその縮尺や拡大率等と対応付けられた情報であっても良い。視点位置情報の履歴は、地図画像の表示が変更された時点や、予め指定されたタイミングやトリガーで、削除や、無効化、あるいはリセットされるようにしてもよい。
なお、視点位置履歴蓄積手段1051は、視点位置情報に含まれる視点位置情報を図示しないメモリ等の記憶媒体等に順次一時記憶するようにし、この一時記憶した一以上の視点位置情報が、予め指定された1以上の条件のいずれかと一致した場合に、その一致した条件と対応付けて予め用意された視点位置の状況情報を図示しない格納部等から読み出して、視点位置情報の履歴として蓄積しても良い。視点位置の状況を示す情報は、例えば1以上の視点の行動を表す情報である。視点位置の状況を示す情報は、例えば、後述する視点パターン情報の各要素として用いられるパターンを示す情報と同じもしくは相当するものであっても良い。視点位置の状況を示す情報は、例えば、視点が一箇所で停留していることを示す情報、例えば「停留」等であっても良いし、視点が移動していることを示す情報、例えば「移動」等であってもよい。あるいは視点が予め指定された領域に位置することを示す情報、例えば「停留(領域名)」等であっても良い。また、この場合、視点位置の状況を示す情報が、視点の停留している位置(例えば座標)や時間等の情報を含むようにしても良い。例えば停留を判断するための条件は、予め指定された時間以上の時間内の連続した視点位置情報が示す位置同士の距離が全て予め指定された範囲内である、という条件である。また、予め指定された領域を視点が通過したことを示す履歴を示す情報に対応付けられた条件は、一時記憶された一の視点位置情報が示す位置が、予め指定された領域内にあり、その直後に一時記憶された一の視点位置情報が示す位置が、予め指定された領域外にある、という条件である。
視点位置履歴蓄積手段1051は、通常、MPUやメモリ等から実現され得る。視点位置履歴蓄積手段1051の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
視点位置履歴格納手段1052には、視点位置履歴蓄積手段1051によって蓄積される視点位置情報の履歴が1以上格納され得る。視点位置履歴格納手段1052は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
操作履歴蓄積手段1053は、操作受付部104が受け付けた地図画像に対するユーザの操作の履歴を1以上蓄積する。操作履歴蓄積手段1053は、操作受付部104が受け付けた地図画像に対するユーザの操作の履歴を、例えば、後述する操作履歴格納手段1054に蓄積する。ただし、蓄積先は問わない。ユーザの操作の履歴は、例えば、ユーザの操作を示す情報を、時系列に沿って蓄積した情報、あるいは操作を受け付けた時刻や操作を示す情報が蓄積される時刻等の時刻を示す情報と対応付けた情報である。地図画像に対するユーザの操作を示す情報は、例えば、操作を識別可能な情報(以下、操作識別情報)である。操作識別情報は、例えば、1以上の操作によって発生するイベントやコマンドの識別情報である。イベントやコマンドの識別情報は、例えば「mouse click」や「mouse over」等のイベント名やコマンド名等である。また、操作識別情報は、関数名や実行モジュール名等でもよい。また、操作識別情報は、操作に対して予め指定された識別情報、例えば操作の総称等であっても良い。操作識別情報は、例えば、移動、ズームイン、ズームアウトを識別するものであってもよい。操作識別情報は、例えば上述した「p」や、「o」、「i」等の情報であってもよい。また、操作識別情報は、操作の指示の対象となる地図画像上の位置を示す座標等の情報や、地図画像上の領域を示す情報、例えば領域識別情報や、領域の輪郭等を定義する座標情報等や、地図画上のオブジェクトを示す情報、例えばオブジェクトの識別情報や、オブジェクトの位置やオブジェクトが配置される領域を示す座標情報等を含んでいても良い。
地図画像に対する操作の履歴においては、操作を識別する操作識別情報と、その操作後に表示される地図画像の位置を示す情報、例えば地図画像の中心位置と、ズームインやズームアウトがなされた場合には、そのズームインやズームアウトの中心となる注目位置と、その操作後に表示される地図画像の縮尺とが蓄積されてもよい。中心位置や注目位置は、地図画像上の座標で示されるものであっても良いし、例えば、緯度・経度などの座標によって示されるものであってもよい。例えば、地図画像に対するドラッグの操作や、移動後の地図画像の中心位置をクリックする操作が受け付けられた場合には、操作履歴蓄積手段1053は、移動を示す操作識別情報等を蓄積してもよい。あるいはドラッグの方向や移動方向を示す情報を含む操作の履歴を蓄積しても良い。また、例えば、地図画像に対する、注目位置を指定したズームインやズームアウトの操作が受け付けられた場合には、操作履歴蓄積手段1053は、その注目位置や、ズームインやズームアウトを示す操作IDなどを蓄積してもよい。また、例えば、地図画像に対する移動ボタンがクリックされた場合には、操作履歴蓄積手段1053は、移動を示す操作識別情報等を蓄積してもよい。
なお、操作履歴蓄積手段1053は、操作受付部104が操作識別情報そのものを受け付けた場合には、それに応じて操作識別情報を蓄積する。また、操作受付部104が受け付けた操作によって発生したイベント名やコマンド名等の操作識別情報を蓄積しても良い。また、操作受付部104が変更後の中心位置の座標や、拡大率や、縮尺や、地図画像の移動方向の情報等を受け付けた場合には、それに応じてどのような操作が行われたのかについて判断し、操作識別情報を取得してもよい。例えば、地図画像に対する操作において、縮尺が変更された場合であって、ズームイン(ズームアウト)の方向に変更された場合には、操作履歴蓄積手段1053は、ズームイン(ズームアウト)が行われたと判断する。また、例えば、地図画像に対する操作において、中心位置が変更された場合には、操作履歴蓄積手段1053は、移動が行われたと判断する。なお、これらの場合に、操作履歴蓄積手段1053は、操作受付部104が受け付けた操作内容と、操作識別情報とを対応付ける情報を用いて、その操作内容を、操作識別情報に変換してもよい。例えば、操作受付部104が受け付けた操作によって発生する命令やイベントと操作識別情報とが対応付けて図示しない格納部等に格納しておくようにし、操作によって発生したイベントや命令に対応した操作識別情報を取得し、蓄積するようにしても良い。
なお、操作の履歴は、予め指定されたタイミングやトリガー等に応じて、削除されたり、無効化されたり、リセットされるようにしても良い。
操作履歴蓄積手段1053は、通常、MPUやメモリ等から実現され得る。操作履歴蓄積手段1053の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
操作履歴格納手段1054には、操作履歴蓄積手段1053により蓄積される操作の履歴が1以上蓄積され得る。操作履歴格納手段1054は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
パターン対応情報格納手段1055には、視点位置情報の出現するパターンを示す情報である1以上の視点パターン情報と、地図画像を変更する指示である1以上の変更指示とを対応付ける情報であるパターン対応情報が格納され得る。
視点位置情報の出現するパターンとは、視点位置情報の変化するパターンと考えても良い。視点位置情報の出現するパターンとは、例えば、どのような視点位置情報がどのような順番で現れるかを示す情報である。視点位置情報の出現するパターンとは、例えば、連続した1以上のユーザの視点の位置を示す情報の出現するパターンを示す情報を含む情報である。視点パターン情報とは、具体的には、連続した1以上のユーザの視点の位置の変化をパターン化したもの、もしくは、そのパターンを複数用いて配列して得られたパターンである。なお、視点位置情報の出現するパターンは、視点位置の状況が変化するパターンと考えても良い。また、視点パターン情報は、ユーザの視点を示す情報が、地図上の予め指定された領域にあることを指定する情報を含んでいてもよい。また、視点位置情報に含まれる瞳孔情報の状態を指定する情報を含むパターンであっても良い。
例えば視点パターン情報は、視点位置情報が示す地図上のユーザの視点の位置が、地図上の一地点で予め指定された時間以上連続して停留する停留パターンを示す情報である。この場合の停留する時間を指定する情報も視点パターン情報に含ませてよい。また、例えば視点パターン情報は、視点位置情報が示すユーザの視点の位置が、地図上の一地点に停留せずに変化する移動パターンを示す情報である。また、視点パターン情報は、上述した停留パターンに対して、視点の停留する地図上の領域を指定する情報を付加した情報であっても良い。例えば、視点パターン情報は、地図の4隅近傍のいずれかで、ユーザの視点が予め指定された時間以上連続して停留する停留パターンを示す情報であっても良い。また、視点パターン情報は、上述した移動パターンに対して、移動方向や、移動先となる地図上の位置を指定する情報を付加した情報でも良い。例えば、視点パターン情報は、地図の一方の隅から、その対角となる隅に視点を移動させる移動パターンを示す情報であっても良い。また、視点パターン情報は、ユーザの瞳孔が開いたことを示す瞳孔情報があることを示すパターンの情報であっても良い。
また、視点パターン情報は、これらのパターンのうちの2以上の組合せにより構成されるパターンを示す情報であってもよい。この組合せは、組み合わせたパターンの出現する順序(シーケンス)を含むものであることが好ましい。例えば、このような視点パターン情報は、ユーザの視点が、停滞パターン後、移動パターンが続く、というパターンを示す情報である。あるいは、停滞パターン後、瞳孔が開くパターンが続く、というパターンを示す情報である。また、出現するパターンを正規表現や、繰り返しや除外を示す記号等を用いて表した情報であっても良い。なお、上述したように、視点位置情報の出現するパターンを、視点位置の状況が変化するパターンと考える場合、この場合、視点位置情報は、視点位置の状況を示す情報の1以上を配列して示したものであっても良い。
変更指示とは、地図画像取得部105、具体的には、後述する地図画像取得手段1057が取得する地図画像を変更する指示である。表示部102が表示する地図画像を変更する指示と考えても良い。変更指示は、地図画像取得手段1057に地図画像の変更を指示するための命令等を含んでいても良い。また、変更指示は、変更後の地図画像を取得可能な情報を含んでいてもよい。例えば、変更後に表示される地図画像のサイズや、地図画像が示す位置(座標等)や向きや縮尺等のパラメータを指定する情報を含んでいてもよい。あるいは、現在表示されている地図画像から、これらの情報を取得可能な情報を含んでいてもよい。例えば、現在の地図情報が表示する領域からの移動方向や移動距離や拡大/縮小率等を示す情報を含んでいてもよい。変更指示は、例えば、「現在の地図画像の中心位置を拡大の中心として、予め指定された倍率で拡大した地図画像を取得すること」を命令する指示である。あるいは、「最新の視点位置情報が示す位置(座標)を中心とした縮尺が同じ地図画像を取得すること」を命令する指示である。なお、視点位置情報の履歴等に応じた変更指示を取得する処理については後述する。このような変更指示を受け付けた場合、地図画像取得手段1057は、例えば、指定された地図画像上の位置(座標)に対応した緯度と経度の情報を取得し、この緯度と経度に対応した位置が中心となる地図情報を地図情報格納部101から取得し、この地図情報を用いて地図画像を取得する。なお、地図画像上の位置に対応した新たな地図画像を取得する処理や、拡大した地図画像を取得する処理等は、従来の地図表示装置等の処理として公知であるので、ここでは説明を省略する。なお、地図画像取得手段1057が拡大した(あるいは縮小した)地図画像を取得する処理は、縮尺の大きい(あるいは小さい)地図画像を取得する処理と考えても良い。
視点パターン情報と対応付けられた変更指示は、この視点パターン情報に一致するパターンの視点位置情報を受け付けた場合に、変更される地図画像を指示するための情報と考えても良い。視点パターン情報と、変更指示とを対応付けるパターン対応情報は、例えば、対応付けられた視点パターン情報と変更指示とを一のレコードに有する情報である。ただし、パターン対応情報は、視点パターン情報と、変更指示とを対応付けることが可能な情報であれば、どのような情報であっても良い。また、例えば、パターン対応情報自身が、視点パターン情報と対応情報を有していても良いし、パターン対応情報が、これらの対応関係を管理する情報であっても良い。
視点パターン情報と、変更指示とを対応付けるパターン対応情報(以下、第一パターン対応情報と称す)としては、次のようなものが考えられる。
(1−1)視点が一点で、予め指定された時間以上停留する視点パターン情報と、ズームインを指示する変更指示とを対応付けるパターン対応情報。停留により、その地点にユーザが興味を持っていることが分かるため、自動的に拡大表示してやることにより詳細な情報提供が可能である。なお、連続した複数の視点が一点で停留していることを検出するためには、複数の視点間の相互間の距離が予め指定された値以下であるか否かを検出したり、複数の視点のうちの一の視点と他の視点との距離が予め指定された値以下であるか否かを検出したり、全ての視点を含む領域を検出し、その領域のサイズが予め指定されたサイズより小さいか否かを判断するよい。
(1−2)予め指定された領域内を視点が移動するパターンと、その後、領域内に予め指定された時間以上停留するパターンとで構成される視点パターン情報と、ズームインを指示する変更指示とを対応付けるパターン対応情報。予め指定された領域内に、重要な地図の情報が含まれていると考えられるため、ズームインして詳細な情報を提供することは有益である。
(1−3)瞳孔が大きくなる視点パターン情報と、ズームインを指示する変更指示とを対応付けるパターン対応情報。これにより、ユーザの地図に対する興味を瞳孔で判断して、適切な地図を提供することが可能となる。
(1−4)複数点における予め指定された時間以上の停留が発生する視点パターン情報と、これらの停留点を含むようなズームインを指示する変更指示とを対応付けるパターン対応情報。ユーザの興味のある箇所の全てを適切に表示することができる。なお、複数の停留点間の移動は、移動として検出しても良いし、検出しなくても良い。
(1−5)地図画像の周辺を見回す(具体的には、地図画像の四隅のうちの二隅以上の周辺に停留する)視点パターン情報と、ズームアウトを指示する変更指示とを対応付けるパターン対応情報。地図の四隅周辺の領域は、予め地図画像に指定しておくようにすればよい。
(1−6)視点が地図画像上を大きく動き続けている(停留点ができない)視点パターン情報と、ズームアウトを指示する変更指示とを対応付けるパターン対応情報。この場合、停留点の有無や、視点間の移動距離等の組合せ等で大きく動き続けていることを判断することが可能である。
(1−7)地図画像周辺部で停留点ができたパターンと、その後逆サイドの周辺部へ視点を素早く移動させるパターンとで構成される視点パターン情報と、ズームアウトを指示する変更指示とを対応付けるパターン対応情報。これにより、現在の地図が表示している地域の範囲が、ユーザの考えている地域よりも狭いことを判断して、適切な拡大率(あるいは縮尺)の地域を示す地図を表示することが可能となる。
(1−8)一定速度で一方向へ移動する視点パターン情報と、移動方向が示す方向の地図の表示を指示する変更指示とを対応付けるパターン対応情報。一定速度であるか否かは、例えば、視点間の移動距離を時間で除算して算出可能である。一定方向であるか否かは、例えば、視点間を結んだ直線同士がなす角度が一定の角度以下であるか否かで判断可能である。
(1−9)ある方向にゆっくり視点を移動するパターンと、その後、逆方向に素早く視線移動させるパターンとで構成される視点パターン情報と、素早く視線移動させた方向への移動を指示する変更指示とを対応付けるパターン対応情報。最初の移動方向には、ユーザの求めるものがなかったと考えられるため、次の視点の移動方向の地図を取得することが好ましい。
(1−10)道路のような予め指定された線上のオブジェクトを視点が辿る視点パターン情報と、視点の進む方向に移動させた地図画像の表示を指示する変更指示とを対応付けるパターン対応情報。線上のオブジェクトの領域は、地図情報と予め対応付けて蓄積しておくようにし、地図画像の表示後は、地図画像に対応付けて管理するようにすればよい。地図画像を辿っているか否かは、例えば、線上の領域における視点の移動距離が予め指定された距離以上であるか否かや、移動方向が、線上の領域に沿った方向であるかを検出するようにすればよい。これによりユーザが道路等を辿ると、その先の地図を提供することが可能となる。
(1−11)素早く視点が移動し、地図画像の辺に視点が交差する視点パターン情報と、視点の移動方向に移動した地図画像の表示を指示する変更指示とを対応付けるパターン対応情報。視点が辺に交差するか否かは、視点が辺周辺に最終的に移動したか否かにより判断しても良いし、その直前までの視点の移動方向から、次の視点の移動方向が辺と交差するか否かを推測しても良い。
(1−12)画面周辺部で視点が停留する視点パターン情報と、視点が停留した位置をセンタリングした地図画像の表示を指示する変更指示とを対応付けるパターン対応情報。視点が停留した位置がユーザによって重要な部分と考えられるため、この位置を中心とした地図を表示することで、ユーザにとって好ましい地図を表示可能である。
(1−13)素早い視点移動のパターンと、その後に視点が停留するパターンと構成される視点パターン情報と、停留点でセンタリングした地図画像の表示を指示する変更指示とを対応付けるパターン対応情報。素早い視点移動であるか否かは、例えば、視点間の移動距離を移動時間で除算して算出し、得られた値がしきい値以上であるかを判断することで検出可能である。
(1−14)地図画像上の一の地点で停留点ができるパターンと、その後、視点を画面の中心近傍に移動させるパターンとで構成される視点パターン情報と、停留点でセンタリングした地図画像の表示を指示する変更指示とを対応付けるパターン対応情報。視点が中心近傍に移動したか否かは,予め中心近傍を示す領域を地図画像に設定しておき、その領域内に視点が位置するか否かで判断可能である。
(1−15)二点以上の停留点ができるパターンと、その二点以上の停留点間を視点が往復するパターンとで構成される視点パターン情報と、停留点の点集合の中点に地図画像のセンタリングを指示する変更指示とを対応付けるパターン対応情報。ユーザが、視点が行き来している停留点に対するユーザの興味がほぼ同じ程度と判断して、これらの停留点の中心位置でセンタリングした地図を表示して、ユーザに停留点の比較等を行いやすくすることができる。
また、パターン対応情報格納手段1055には、視点位置情報の出現するパターンを示す情報である1以上の視点パターン情報と、ユーザの操作のパターンを示す情報である1以上の操作パターン情報と、地図画像を変更する指示である1以上の変更指示とを対応付ける情報であるパターン対応情報が格納されてもよい。
このパターン対応情報において、視点パターン情報と変更指示は、上記のパターン対応情報と同様である。
操作パターン情報は、ユーザの地図画像に対する1以上の操作のパターンを示す情報である。操作パターン情報の1以上の操作のパターンは、通常、その操作の順序(シーケンス)を含めたパターンである。操作パターン情報は、例えば、1以上の操作識別情報の並びであってもよい。また、操作パターン情報は、操作の対象となる位置を示す座標の情報や、操作の対象となる領域やオブジェクト等の識別情報を有していてもよい。操作パターン情報においては、例えば、操作の対象となる座標や領域名やオブジェクト名等が、正規表現を用いて記述されてもよい。また、操作パターン情報は、操作識別情報以外の注目位置等に関する条件を含んでもよい。例えば、操作パターン情報は、「mouse over領域A,mouse click(x,y)」である。この操作パターン情報は、マウスのポインタを領域Aに配置後、座標(x、y)をマウスクリックする一連の操作のパターンを示す。また、操作パターン情報は、例えば、上述した操作識別情報「p」、「i」、「o」や、これらを組みあわせたものであっても良い。例えば、組み合わせた操作識別情報は例えば「m*c+i+」である。なお、ここで、[*]は0回以上の繰り返し、[+]は1回以上の繰り返し、を意味する。操作パターン情報には、操作によって実行されている処理の開始や、終了や、処理が継続中であることを示す情報を含むようにしてもよい。また、操作が行われてからの経過時間や操作対象となる位置等の条件を示す情報が操作と対応付けられて格納されていてもよい。
視点パターン情報と操作パターン情報と対応付けられた変更指示は、この指定パターン情報と操作パターン情報との組合せに一致するパターンの視点位置情報と操作を受け付けた場合に、変更される地図画像を指示するための情報と考えても良い。視点パターン情報と、操作パターン情報と、変更指示とを対応付けるパターン対応情報は、例えば、対応付けられた視点パターン情報と操作パターン情報と変更指示とを一のレコードに有する情報である。ただし、パターン対応情報は、視点パターン情報と、操作パターン情報と、変更指示とを対応付けることが可能な情報であれば、どのような情報であっても良い。また、例えば、パターン対応情報自身が、視点パターン情報と対応情報を有していても良く、パターン対応情報が、これらの対応関係を管理する情報であっても良い。
操作パターン情報と、視点パターン情報と、変更指示とを対応付けるパターン対応情報(以下、第二パターン対応情報と称す)としては、次のようなものが考えられる。
(2−1)地図画像の一点にマウスポインタを配置してマウスボタンを押された状態、すなわち、一点をマウスで押した状態を示す操作パターン情報と、その点に近づく視点移動を示す視点パターン情報と、ズームインする変更指示とを対応付けたパターン対応情報。ユーザの興味が、マウスで押した箇所に近づいていることが分かるため、マウスで押した位置を拡大した詳細な地図を表示することが好ましい。マウスで押した地点に近づくか否かは、例えば、視点とマウスで押した位置との距離が経時的に縮まっているか否かで判断可能である。
(2−2)地図画像の一点をマウスで押した状態を示す操作パターン情報と、その点から離れる視点移動を示す視点パターン情報と、ズームアウトする変更指示とを対応付けたパターン対応情報。マウスで押した位置にユーザの興味がないと判断できるため、より広範囲な情報を提供して、ユーザに興味のある部分を広く検出できるようにすることが好ましい。
(2−3)地図画像の一点をマウスで押した状態を示す操作パターン情報と、マウスで押した場所とは別の一点に停留点ができる視点パターン情報と、その二点が入るように地図画像をズームインする変更指示とを対応付けたパターン対応情報。マウスで押した位置も、停留点も、ユーザが興味を持つ位置であると考えて、これらの位置を詳細に表示する地図を表示することが好ましい。
(2−4)地図画像を慣性移動させるための操作を示す操作パターン情報と、特定オブジェクト上に視点が追従している視点パターン情報と、その特定オブジェクトで地図画像をセンタリングする変更指示とを対応付けたパターン対応情報。慣性移動とは、地図が慣性で動くように移動することであり、例えば、地図をスライドさせる操作をおこなうことで、地図がゆっくり移動開始したり、ゆっくりと止まったりする動作である。慣性移動中の地図上のオブジェクトを追従しているか否かは、例えば慣性移動による地図画像上の座標の変化と、移動前の地図画像上のオブジェクトの位置と、視点の座標の変化を用いて判断可能である。
(2−5)ズームインする操作パターン情報と、特定のオブジェクト上に停留点がある視点パターン情報と、そのオブジェクトを中心にズームインする変更指示とを対応付けたパターン対応情報。例えば特定のオブジェクト上に視点の停留点がある場合に、ズームインする操作を受け付けた場合、ユーザの興味があると考えられる視点の停留点がある場所を中心にズームインすることで、ユーザに興味がある部分についての詳細な地図を提供することができる。
(2−6)ズームアウトする操作パターン情報と、特定のオブジェクト上に停留点がある視点パターン情報と、特定のオブジェクトを中心にズームアウトする変更指示とを対応付けたパターン対応情報。例えば特定のオブジェクト上に視点の停留点がある場合に、ズームアウトする操作を受け付けた場合、ユーザの興味があると考えられる視点の停留点がある場所を中心にズームアウトすることで、ユーザに興味がある部分を中心とした全体的な地図を提供することができる。
(2−7)地図画像上の特定のオブジェクト上に停留点がある視点パターン情報と、その停留点を、表示画面外に移動させる操作パターン情報と、ズームアウトする変更指示とを対応付けたパターン対応情報。ユーザの興味があると考えられる視点の停留点と、ユーザが地図を操作して閲覧しようとした領域との両方を含むような地図を提供することができる。
(2−8)地図画像上の特定のオブジェクト上に停留点がある視点パターン情報と、センタリングする操作パターン情報と、停留点と操作が指示するセンタリング地点との中点でセンタリングを行う変更指示とを対応付けたパターン対応情報。停留点とセンタリングの中心位置との両方がユーザに取って興味がある領域と判断して、その両者がともに中心に近い位置に配置されるような地図を表示することができる。
(2−9)ズームインする操作パターン情報と、複数の停留点がある視点パターン情報と、全ての停留点が収まるようにズームインする変更指示とを対応付けたパターン対応情報。ユーザの興味があった場所と考えられる複数の停留点についての詳細を示すことが可能な地図を提供することができる。
(2−10)センタリングする操作パターン情報と、複数の停留点がある視点パターン情報と、全ての停留点が収まるようにセンタリングする変更指示とを対応付けたパターン対応情報。ユーザの興味があった場所と考えられる複数の停留点を中心として、その周辺等の情報や位置関係がわかりやすい地図を提供することができる。
(2−11)視点が地図画像情報を移動するパターンと、その後停留点ができるパターンとで構成される視点パターン情報と、視点の後をマウスポインタで追いかける操作パターン情報と、停留点ができたところでズームインする変更指示とを対応付けたパターン対応情報。視点の後をマウスポインタが追いかけたか否かは、視点の座標と、ほぼ同時刻のマウスカーソルの位置を示す座標との差が、予め指定した範囲内であるか否か等により判断可能である。
(2−12)マウスポインタを地図画像上の一の位置に配置する操作パターン情報と、マウスポインタを中心として、視点が周辺を移動している視点パターン情報と、視点の移動領域が収まるようズームインする変更指示とを対応付けたパターン対応情報。視点がマウスポインタの周辺を移動しているか否かは、マウスポインタの位置を中心等とした予め指定された領域を地図画像上に設定し、視点がその領域内だけで移動しているか否かによって判断可能である。
(2−13)マウスポインタを地図画像上で移動させる操作パターン情報と、視点の位置がマウスポインタの位置と無関係に独立して移動している視点パターン情報と、ズームアウトする変更指示とを対応付けたパターン対応情報。この場合、探すべきものが見つからず、混乱していると考えられるため、より広域の地図画像の取得を指示することが必要となる。
(2−14)ズームインする操作パターン情報と、視点が定まらない(停留点がない)視点パターン情報と、ズームアウトする変更指示とを対応付けたパターン対応情報。この場合、視点がいろいろな場所を探して素早く移動し、ユーザの探すものが見つからなかったと考えられるため、ズームアウトを行うことが好ましい。なお、視点が定まらない視点パターン情報は、ズームイン操作後、予め指定された期間内に停留点が検出できない視点の位置のパターンを示す。
(2−15)ズームアウトする操作パターン情報と、視点が定まらない(停留点がない)視点パターン情報と、ズームインする変更指示とを対応付けたパターン対応情報。ズームアウトしてもユーザの探すものが見つからないため、元の状態に戻して、ユーザの次の操作等を待つことが可能となる。
(2−16)移動する操作パターン情報と、視点が定まらない(停留点がない)視点パターン情報と、移動操作と逆方向に移動した地図画像を取得する変更指示とを対応付けたパターン対応情報。ユーザの地図の移動によって、ユーザの探すものが見つからなかったと判断して、元の地図画像の周辺の地図のうちの異なる地図を、ユーザの探す範囲として提示してやることができる。
(2−17)センタリングする操作パターン情報と、視点が定まらない(停留点がない)視点パターン情報と、直前の中心点にセンタリングする変更指示とを対応付けたパターン対応情報。センタリングしてもユーザの探すものが見つからないため、元の状態に戻して、ユーザの次の操作等を待つことが可能となる。
なお、上記において、マウス操作は、タッチパッド等を用いたマウス操作と同等の操作と置き換えて考えても良い。例えば、マウスで押した操作は、タッチパッドによる指で押さえる操作と考えても良い。
特に、視点位置履歴蓄積手段1051が蓄積した最新の履歴が、ユーザの瞳孔が開いたことを示す瞳孔情報を含む視点位置情報を受け付けたことを示す場合に、変更指示取得手段1056は、直前に取得した地図画像の一部を拡大した地図画像を取得する変更指示を、パターン対応情報から取得する。
なお、上記の視点パターン情報と変更指示とを対応付けるパターン対応情報と、上記の視点パターン情報と操作パターン情報と変更指示とを対応付けるパターン対応情報と、を一のパターン対応情報で実現しても良い。例えば、視点パターン情報と操作パターン情報と変更指示とを対応付けるパターン対応情報において、操作パターン情報と対応付けないパターン対応情報については、操作パターン情報を無しとする、もしくは対応付けられた操作パターン情報が無いことを示す情報と対応付けておくようにすればよい。
なお、各視点パターン情報や、操作パターン情報には、視点位置情報の履歴や操作の履歴がこれらのパターンを満たすか否かの判断に用いられる条件を示す情報が対応付けられていても良い。
パターン対応情報格納手段1055にパターン対応情報が蓄積される過程は問わない。パターン対応情報格納手段1055は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
変更指示取得手段1056は、視点位置履歴蓄積手段1051が蓄積した履歴が、視点パターン情報のいずれかと一致する場合に、一致する視点パターン情報に対応した変更指示を、パターン対応情報を用いて取得する。例えば、視点位置履歴蓄積手段1051が蓄積した最新の視点位置情報の履歴が、視点パターン情報と変更指示とを対応付けているパターン対応情報により対応付けられている視点パターン情報のいずれかと一致するか否かを判断し、一致するものがある場合、パターン対応情報によりこの一致する視点パターン情報と対応付けられた変更指示を取得する。
具体的には、変更指示取得手段1056は、パターン対応情報により対応付けられている視点パターン情報を一つずつ取り出し、取り出した視点パターン情報が示す視点位置情報が出現するパターンと、視点位置履歴蓄積手段1051が蓄積した視点位置情報の最新の履歴から順番に時間軸を遡って取得した1以上の視点位置情報の履歴とが一致するか否かを判断する。言い変えれば、視点パターン情報が示す視点位置情報が出現するパターンと、視点位置履歴蓄積手段1051が蓄積した視点位置情報の、最新の履歴を含む連続した1以上の履歴が一致するか否かを判断する。ここでの一致は、出現するパターンの一致である。一致は、例えば、パターンマッチングにより判断される。ここでの一致は完全一致であっても部分一致であっても良い。なお、ここでは、例えば、少なくともパターンが一致していれば、パターン内の具体的な情報が一致していなくても一致と考えても良い。あるいは正規表現を用いた場合の比較を行った場合の一致と考えても良い。あるいはここで行われる一致の判断は、視点パターン情報が示すパターンを視点位置情報の出現する条件と考えて、この条件を満たす視点位置情報が出現するか否かの判断と考えても良い。この場合、上記の一致は、条件を満たすという判断結果と考えて良い。なお、最新の履歴から順番に時間軸を遡って取得した1以上の視点位置情報の履歴として、最新の履歴のみを取得しても良い。例えば、視点位置情報の履歴が示す視点の座標が一点で予め指定された時間以上、連続して停留しており、視点パターン情報が、視点が一点で指定された時間以上停留していることを示すパターンを示す「停留」であった場合、視点位置情報の履歴と視点パターン情報が一致すると判断される。
そして、一致すると判断された場合、変更指示取得手段1056は、パターン対応情報によって、この視点位置情報の履歴と対応付けられた変更指示を取得する。なお、視点パターン情報と視点位置情報の履歴とが直接比較できない情報である場合、視点パターン情報が示す視点の行動のパターンと視点位置情報の履歴とが一致するか否かの判断を、変更指示取得手段1056がどのように行うかについての情報は、例えば、各視点パターン情報と対応付けて図示しない記憶媒体等に蓄積しておくようにして、一致を判断する際に、適宜読み出して利用するようにしてもよい。また、操作パターン情報とユーザの操作の履歴とが直接比較できない情報である場合、操作パターン情報が示す操作のパターンと、ユーザの操作の履歴とが一致するか否かの判断を、変更指示取得手段1056がどのように行うかについての情報は、例えば、各操作パターン情報あるいは操作パターンを構成する各操作識別情報と対応付けて図示しない記憶媒体等に蓄積しておくようにして、一致を判断する際に、適宜読み出して利用するようにしてもよい。
例えば、視点パターン情報が示すパターンが、ユーザの視点の位置についてのパターンであるとすると、パターン対応情報からそれぞれ視点パターン情報を取り出し、取り出した視点パターン情報が示すパターンと適合するユーザの視点の位置を示す情報が、視点位置情報の履歴にあるか否かを順次判断する。
例えば、一のパターン対応情報で対応付けられている視点パターン情報が上述した停留パターンだけであったとすると、視点位置情報の最新の履歴から順番に履歴を遡って、ユーザの視点の位置が予め指定された時間以上、一定であることを示すユーザの視点の位置を示す視点位置情報があるか否かを判断する。そして、ある場合、停留パターンがあるため、この視点パターン情報と一致すると判断する。なお、ここでの一定の位置とは、例えば視点位置情報が示す視点の位置を示す情報が座標情報である場合、厳密な座標情報が一致する位置と考えても良いし、予め指定した誤差等を含む範囲で一致する位置と考えても良い。例えば、連続した視点位置情報が示す座標情報が完全に一致する場合だけを一定の位置と考えるようにしても良いし、視点位置情報が示す座標に対して、予め指定された誤差を含めて構成した範囲を、視点位置情報が示す位置と考えて、連続した視点位置情報が示すこのような範囲同士の少なくとも一部が重複する場合に、連続した視点位置情報が示すユーザの視点の位置が、一定の位置であると考えるようにしても良い。また、連続した視点位置情報が示す座標を含む最小範囲となる領域のサイズが予め指定されたサイズ以下である場合に、一定の位置であると考えるようにしてもよい。
また、一のパターン対応情報で対応付けられている視点パターン情報が、予め指定された領域、例えば地図画像上の中央の予め指定されたサイズおよび形状の領域内に、ユーザの視点の位置が、予め指定された時間以上停留する停留パターンだけであったとすると、最も新しい視点位置情報の履歴から上記の予め指定された時間だけ遡った時刻までの視点位置情報の履歴のうちの、ユーザの視点の位置を示す視点位置情報の履歴が示す視点の位置の座標が全て、上記の予め指定された領域内の座標であるか否かを判断し、全てが領域内の座標であれば、この視点パターン情報に対応する視点位置情報の履歴があると判断する。
また、一のパターン対応情報で対応付けられている視点パターン情報が、停留パターン後に、移動パターンが続き、さらに、停留パターンが現れることを示すものであった場合、視点位置情報の最新の履歴から順場に履歴を遡って、ユーザの視点の位置が予め指定された時間以上、一定であることを示すユーザの視点の位置を示す視点位置情報があるか否かを判断する。そして、ある場合、さらにそれ以前の履歴が、ユーザの視点の位置が変化していることを示す視点位置情報を含むか否かを判断し、さらにそれ以前に停留したパターンが現れるか否かを判断し、全ての満たす場合に、この視点パターン情報に対応する視点位置情報の履歴があると判断する。
また、視点パターン情報に瞳孔情報についてのパターンが含まれている場合についてもユーザの視点の位置の場合と同様の判断処理を行うようにすればよい。例えば、一のパターン対応情報で対応付けられた視点パターン情報が、停留パターン後に、ユーザの瞳孔が開くパターンを続くことを示すものであった場合、最新の視点位置情報の履歴が、ユーザの瞳孔が開いたことを示す瞳孔情報を含むものであるか否かを判断し、含む場合に、その直前の視点位置情報の履歴が、上記のような停留パターンに対応したものであるか否か判断し、停留パターンに対応したものである場合、この視点パターン情報に対応する視点位置情報の履歴があると判断する。
なお、視点位置情報の履歴が、上述したように視点位置の状況を示す情報で構成されている場合、視点パターン情報も、この視点位置の状況を示す情報を1以上配列したパターンとし、変更指示取得手段1056は、視点パターン情報が示す視点位置の状況を示す情報を配列したパターンと一致する視点位置の状況を示す情報が最新の履歴を含む連続した履歴の中にあるか否かをパターンマッチング等で判断することで、視点パターン情報に一致する指定位置情報の履歴があるか否かを判断するようにすればよい。例えば、視点位置情報の履歴が、「停留」、「移動」、「停留」という視点位置の状況を示す情報の配列であった場合、視点パターン情報のなかに、「停留」、「移動」、「停留」という視点位置の状況の配列パターンを持つものがあれば、この視点パターン情報と一致すると判断される。
また、変更指示取得手段1056は、視点位置履歴蓄積手段1051が蓄積した視点位置情報の履歴と操作履歴蓄積手段1053が蓄積した操作の履歴との組合せが、パターン対応情報により対応付けられた視点パターン情報と操作パターン情報との組合せのいずれかと一致する場合に、一致する視点パターン情報と操作パターン情報との組合せに対応した変更指示をパターン対応情報から取得するようにしてもよい。
具体的には、変更指示取得手段1056は、パターン対応情報により対応付けられている視点パターン情報と操作パターン情報との組みを一つずつ取り出す。そして、取り出した視点パターン情報が示す視点位置情報が出現するパターンと、視点位置履歴蓄積手段1051が蓄積した視点位置情報の最新の履歴から順番に時間軸を遡って取得した1以上の視点位置情報の履歴とが一致するか否かの判断を行う。また、取り出した操作パターン情報が示す操作のパターンと、操作履歴蓄積手段1053が蓄積した最新の履歴から順番に時間軸を遡って取得した1以上のユーザの操作の履歴とが一致するか否かの判断を行う。そして、視点パターン情報が示す視点位置情報が出現するパターンと視点位置履歴蓄積手段1051が蓄積した視点位置情報の履歴とが一致し、かつ、操作パターン情報が示す操作のパターンとユーザの操作の履歴とが一致すると判断された場合に、パターン対応情報から取り出したこの視点パターン情報と操作パターン情報との組みに対応する視点位置情報の履歴とユーザの操作の履歴との組みがあると判断する。そして、変更指示取得手段1056は、パターン対応情報によって、この視点位置情報の履歴とユーザの操作の履歴との組みに対応付けられた変更指示を取得する。
操作パターン情報が示す操作のパターンと、操作の履歴とが一致するか否かは、例えば、操作パターン情報が示す操作識別情報の配列と、操作の履歴が示す最新の操作から遡った操作を示す操作識別情報の配列とが一致するか否かを判断すればよい。
なお、2以上の視点パターン情報間に、重複するパターンが含まれる場合、視点位置情報の履歴と視点パターン情報との比較を行う際には、パターンの長さが長いものから順に視点パターン情報を取り出して比較を行うことが好ましい。なお、パターンが長いとは、異なるパターンの連続する数が多いことを意味する。
また、2以上の操作パターン情報間に、重複するパターンが含まれる場合、操作の履歴と操作パターン情報との比較を行う際には、パターンの長さが長いものから順に操作パターン情報を取り出して、比較を行うことが好ましい。なお、パターンが長いとは、異なるパターンの連続する数が多いことを意味する。
また、2以上の視点パターン情報に、部分的に重複するパターンを含む場合、いずれのパターンが行われたか否かを判断できるように、パターンの継続時間等の条件を適宜ずらすように視点パターン情報を設定することが好ましい。
また、パターン対応情報格納手段1055に、視点パターン情報と変更指示とを対応付けた第一パターン対応情報と、視点パターン情報と操作パターン情報と変更指示とを対応付けた第二パターン対応情報と、が格納されている場合、第一パターン対応情報と第二パターン対応情報とで、視点パターン情報同士が重複するものがあることが考えられるため、変更指示取得手段1056は、例えば、まず、第二パターン対応情報で対応付けられている視点パターン情報と操作パターン情報との組合せと一致する視点位置情報の履歴と操作の履歴との組合せがあるか否かを判断し、ない場合に、第一パターン対応情報の視点パターン情報と一致する視点位置情報の履歴があるか否かを判断するようにしてもよい。
変更指示取得手段1056は、通常、MPUやメモリ等から実現され得る。変更指示取得手段1056の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
地図画像取得手段1057は、変更指示取得手段1056が取得した変更指示に応じた地図画像を取得する。具体的には地図情報格納部101に格納されている地図情報を用いて、変更指示により指定される位置や縮尺等の地図画像を取得する。地図画像取得手段1057は、例えば、直前に取得した地図画像、即ち現在の表示に用いられている地図画像を、取得した地図画像で更新する。この変更指示に応じた地図画像は、結果的には、視点位置情報に応じた地図画像、あるいは視点位置情報と操作との組合せに応じた地図画像であると考えられる。なお、地図画像取得手段1057が、地図画像取得部105が行う変更指示に応じた地図画像を取得する処理以外の、地図画像を取得する処理の全てや一部を行うようにしても良い。上述した表示部102は、例えば、変更指示取得手段1056が変更指示に応じた地図画像を、直前に表示していた地図画像と置き換えて表示する。
地図画像取得手段1057は、通常、MPUやメモリ等から実現され得る。地図画像取得手段1057の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
図2は、地図表示装置1の動作を説明するためのフローチャートである。以下、図2のフローチャートを用いて地図表示装置1の動作を説明する説明する。ここでは、パターン対応情報として、上述した第一パターン対応情報と、第二パターン対応情報とが格納されている場合を例に挙げて説明する。
(ステップS201)地図画像取得部105は、デフォルト等で指定されている地図情報等を地図情報格納部101から読み出して、地図画像を取得する。この地図画像は、デフォルト等で指定された地図画像やユーザにより指定された地図画像である。
(ステップS202)表示部102は、ステップS201で取得した地図画像を表示する。
(ステップS203)視点位置情報受付部103は、視点位置情報を受け付けたか否かを判断する。受け付けた場合、ステップS204に進み、受け付けていない場合、ステップS205に進む。
(ステップS204)視点位置履歴蓄積手段1051は、ステップS203において受け付けた視点位置情報の履歴を、例えば時刻の情報と対応付けて視点位置履歴格納手段1052に蓄積する。そして、ステップS203に戻る。
(ステップS205)操作受付部104は、ユーザによる操作を受け付けたか否かを判断する。受け付けた場合、ステップS206に進み、受け付けていない場合、ステップS209に進む。
(ステップS206)操作履歴蓄積手段1053は、ステップS205で受け付けた操作の履歴を操作履歴格納手段1054に蓄積する。
(ステップS207)地図画像取得部105は、ステップS205で受け付けた操作が、地図画像を変更する操作であるか否かを判断する。変更する操作である場合、ステップS208に進み、変更する操作でない場合、ステップS203に戻る。
(ステップS208)地図画像取得部105は、ステップS205で受け付けた操作に応じた地図画像を取得する。そして、ステップS202に戻る。
(ステップS209)変更指示取得手段1056は、視点位置履歴格納手段1052に視点位置情報の履歴が格納されているか否かを判断する。なお、ここでの判断は、現在までの予め指定されている時間内の時刻と対応付けられた指定位置情報の履歴が格納されているか否かの判断としてもよい。格納されている場合、ステップS210に進み、格納されていない場合、ステップS203に戻る。
(ステップS210)変更指示取得手段1056は、視点位置情報、または視点位置情報と操作の履歴の組合せに応じた地図画像の変更指示を取得する処理を行う。この処理の詳細は後述する。
(ステップS211)地図画像取得手段1057は、変更指示取得手段1056が地図画像を変更する変更指示を取得したか否かを判断する。取得した場合、ステップS211に進み、取得していない場合、ステップS203に戻る。
(ステップS212)地図画像取得手段1057は、変更指示取得手段1056が取得した変更指示に従って地図画像を取得する。取得した地図画像で、直前の表示に用いられた地図画像を更新する。そして、ステップS202に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図3は、図2のステップS210で示した、変更指示取得手段1056が視点位置情報、または視点位置情報と操作の履歴の組合せに応じた地図画像の変更指示を取得する処理の詳細を示すフローチャートである。以下、図3を用いて、この変更指示を取得する処理について説明する。
(ステップS301)変更指示取得手段1056は、現在までの予め指定された時間以内に蓄積された操作の履歴が操作履歴格納手段1054に格納されているか否かを判断する。格納されている場合、ステップS302に進み、格納されていない場合、ステップS309に進む。なお、ここでは、予め指定された時間内で蓄積された操作履歴があるか否かを判断するようにしたが、現在行われている操作や、直前に行われた操作等の履歴が蓄積されているか否かが判断できればこれ以外の判断を行っても良い。
(ステップS302)変更指示取得手段1056は、カウンターnに1を代入する。
(ステップS303)変更指示取得手段1056は、n番目の第二パターン対応情報を、パターン対応情報格納手段1055から読み出す。n番目の第二パターン対応情報は、第二パターン対応情報を管理する管理表のn番目のレコードのデータと考えても良い。ここでは、例えば、パターンの組合せの長いものから順に読み出す。
(ステップS304)変更指示取得手段1056は、n番目の第二パターン対応情報に含まれる操作パターン情報が、操作履歴格納手段1054に格納されている操作履歴情報と一致するか否かを判断する。具体的には、最新の操作の履歴を含む連続した履歴が、操作パターン情報と一致するか否かを判断する。ただし、ここで述べる連続した履歴は、予め指定された履歴、例えば操作パターン情報との比較が不要な履歴等、を除いた履歴のうちの連続した履歴としてもよい。また、予め指定された時間以上の間隔が開いた連続した操作がある場合、それよりも以前の操作の履歴は取得しないようにしてもよい。一致する場合、ステップS305に進み、一致しない場合、ステップS307に進む。
(ステップS305)変更指示取得手段1056は、n番目の第二パターン対応情報に含まれる視点パターン情報が、操作履歴格納手段1054に格納されている視点位置情報の履歴と一致するか否かを判断する。具体的には、最新の視点位置情報の履歴を含む連続した視点位置情報の履歴が、操作パターン情報と一致するか否かを判断する。ただし、ここで述べる連続した履歴は、予め指定された履歴、例えば視点パターン情報との比較が不要な履歴等、を除いた履歴のうちの連続した履歴としてもよい。一致する場合、ステップS306に進み、一致しない場合、ステップS307に進む。
(ステップS306)変更指示取得手段1056は、n番目の第二パターン対応情報に含まれる変更指示を取得する。そして、上位の処理にリターンする。
(ステップS307)変更指示取得手段1056は、カウンターnの値を1インクリメントする。
(ステップS308)変更指示取得手段1056は、n番目の第二パターン対応情報があるか否かを判断する。ある場合、ステップS303に戻り、ない場合、ステップS309に進む。
(ステップS309)変更指示取得手段1056は、カウンターmに1を代入する。
(ステップS310)変更指示取得手段1056は、m番目の第一パターン対応情報を、パターン対応情報格納手段1055から読み出す。m番目の第一パターン対応情報は、第一パターン対応情報を管理する管理表のn番目のレコードのデータと考えても良い。ここでは、例えば、パターンの組合せの長いものから順に読み出す。なお、読み出し順を予め決めておき、その順番で読み出すようにしても良い。
(ステップS311)変更指示取得手段1056は、m番目の第一パターン対応情報に含まれる視点パターン情報が、操作履歴格納手段1054に格納されている視点位置情報の履歴と一致するか否かを判断する。一致する場合、ステップS312に進み、一致しない場合、ステップS313に進む。
(ステップS312)変更指示取得手段1056は、m番目の第一パターン対応情報に含まれる変更指示を取得する。そして、上位の処理にリターンする。
(ステップS313)変更指示取得手段1056は、カウンターmの値を1インクリメントする。
(ステップS314)変更指示取得手段1056は、m番目の第二パターン対応情報があるか否かを判断する。ある場合、ステップS310に戻り、ない場合、上位の処理にリターンする。
以下、本実施の形態における地図表示システム10の具体的な動作について説明する。
図4は、地図表示システム10の概念図である。地図表示装置1の表示部102はモニタ50と接続されている。モニタ50は表示面がユーザに対向するよう配置される。モニタ50の前方には、ユーザに対向するように視線追跡システム5が配置されている。なお、視線追跡システム5は、モニタ50に対するユーザの視点の位置が検出できるよう設定等が調整されているものとする。
図5は、地図表示装置1の地図情報格納部101に格納されている地図情報を示す図である。地図情報において、地図画像と、縮尺とが対応付けられている。地図画像は、表示対象となる全領域の地図を示すビットマップのデータの画像である。この地図画像には、緯度・経度が対応付けられているものとする。したがって、地図画像取得部105は、所望の領域の地図画像を切り出すことによって取得することができる。また、各地図画像は、対応する縮尺で表示されるものである。例えば、地図画像「map001」は、縮尺「SC001」で表示する際に用いられる地図画像である。
まず、ユーザが地図を表示する指示を地図表示装置に与えたとすると、地図画像取得部105は、地図情報格納部101に格納されている地図情報を用いて、デフォルトで指定された、もしくはユーザにより指定された地域の地図画像を取得する。表示部102は、地図画像取得部105が取得した地図画像を、モニタ50に表示する。
図6は、表示部102が表示する地図画像を示す図である。
次に,ユーザが、モニタ50に表示された地図の一点51を見たとする。視線追跡システム5は、ユーザの視線等を検出して、この視線の情報等を用いて、モニタ50上のユーザの視点の位置を示す情報を含む視点位置情報を取得する。ここで取得する位置を示す情報は、モニタ50に表示される地図画像上のxy座標の情報であるとする。そして、取得した視点位置情報を含む視点位置情報を、地図表示装置1に出力する。
地図表示装置1の視点位置情報受付部103は、視線追跡システム5から送信される視点位置情報を受け付ける。そして、視点位置履歴蓄積手段1051は、受け付けた視点位置情報を、視点位置情報を受け付けた時刻の情報と対応付けて、視点位置情報の履歴として、視点位置履歴格納手段1052に蓄積する。この時刻の情報は、例えば、地図表示装置1内の時計等から取得可能である。
上記と同様に、視線追跡システム5は、予め指定された一定または不定のタイミングで視点位置情報を取得して出力する処理を繰り返し、視点位置情報受付部103は視線追跡システム5から出力される視点位置情報を受け付け、受け付けた視点位置情報に含まれる視点位置情報の履歴を、順次、視点位置履歴格納手段1052に追記する。
図7は、視点位置履歴格納手段1052に蓄積された視点位置情報の履歴を示す図である。ここでの、視点位置情報の履歴は、視点位置情報と時刻(時:分.秒)とを対応付けた情報である。この履歴における視点位置情報としては、例えば、ユーザの視点の位置の座標の情報が格納されている。なお、この視点位置情報の履歴としては、瞳孔が開いていることを示す「dilate」等の瞳孔情報などがさらに格納されても良い。
つぎに、ユーザがマウス等を操作して、地図画像上の一点にマウスポインタを置いて、マウスのボタン等をそのまま押し続けたとする。操作受付部104は、ユーザの操作を受け付けて、地図画像上のマウスのボタンが押された位置の座標(x11,y11)と、マウスボタンが押された操作が行われていることを示す情報である「mouse down」とを取得する。そして、操作履歴蓄積手段1053が、この操作を示す情報を、操作を受け付けた時刻の情報と対応付けて、操作の履歴として操作履歴格納手段1054に蓄積する。ここでの操作を示す情報は、行われた操作を示す「mouse down」と、操作により指定された位置等とを組み合わせた情報であるとする。なお、ここでは、操作受付部104がマウスボタンを押した操作を受け付けると、マウスが押されたことを示すフラグを立て、マウスのボタンが放された場合に、マウスが押されたことを示すフラグをおろすものとする。なお、ここでは、マウスボタンが放された操作は、操作の履歴として蓄積しないものとする。
また、同様に、ユーザがマウスボタンを押し続けた状態を保つと、操作履歴蓄積手段1053は、操作の履歴を蓄積するタイミングで、マウスのボタンが押されたことを示すフラグが立っているか否かを判断する。そして、フラグが立っているため、マウスが地図画像上のポインタが置かれた位置の座標(x11,y11)と、マウスボタンが押された操作が行われていることを示す情報である「mouse down」とを取得する。そして、操作履歴蓄積手段1053が、この操作を示す情報を、操作を受け付けた時刻の情報と対応付けて、操作の履歴として操作履歴格納手段1054に追記する。
以下、同様に、操作を受け付けるごとに操作の履歴が操作履歴格納手段1054に追記されていく。
図8は、操作履歴格納手段1054に格納されたユーザの操作の履歴を示す図である。ここでの、操作の履歴は、操作を示す情報と、視点位置情報と時刻(時:分.秒)とを対応付けた情報である。操作を示す情報は、操作対象となった位置や領域の情報を含むものであってもよい。例えば、「mouse over(A1)」は、地図画像上の予め指定された領域A1上に、カーソル(ポインタ)が配置された操作を示す。また、「zoom in(x14,y14)」は、座標(x14,y14)を拡大の中心とした拡大操作が行われたことを示す。この操作の履歴は、例えば、操作によって発生するイベント名や操作に対応付けられている操作の識別情報である。
なお、操作受付部104が受け付けた操作が、表示されている地図画像を変更する操作である場合、この操作に応じて、地図画像取得部105が、新たに地図画像を取得して、この地図画像を用いて表示部102が表示を更新する。このような操作に応じた地図画像の更新は公知であるので、ここでは説明を省略する。
図9は、パターン対応情報格納手段1055に予め格納されているパターン対応情報を示す図である。このパターン対応情報は、上述した第一パターン対応情報と第二パターン対応情報とを組み合わせたものである。このパターン対応情報において、「視点パターン」は視点パターン情報を示し、「操作パターン」は操作パターン情報を示し、「変更指示」は、変更指示を示す。このパターン対応情報の各レコードの、視点パターン情報と操作パターン情報と変更指示とが互いに対応付けられている。なお、「操作パターン」の情報がないレコードは、視点パターン情報が変更指示と対応付けられた第一パターン対応情報であり、その他が、第二パターン対応情報である。なお、このパターン対応情報の座標の値、例えば(a,b)や、領域の値E1等は、座標や領域を正規表現化したものであるとする。
図9の「視点パターン」において、例えば、「stay(a,b)」は、ある座標(a,b)で、視点位置情報が示す視点が停留していることを示すパターンである。また、「stayC1」は地図画像の一の隅の近傍に視点位置情報が示す視点が停留していることを示すパターンである。また、「dilate」は、視点位置情報が示す瞳孔が開いていることを示すパターンである。視点位置情報が、瞳孔が開いていることを示す情報であれば、このパターン「dilate」と一致していると判断される。「move toward(a、b)」は、地図画像上のある座標(a,b)に視点位置情報が示す視点が移動しているパターンである。「leave(a,b)」は、地図画像上のある座標から視点位置情報が示す視点が離れていくパターンである。「tracking(a、b)」は、地図画像が移動する動作を行っている際に、地図情報上のある座標で示される位置を、移動中も視点が追跡しているパターンである。また、「move,stay(a,b)」は、視点位置情報が示す視点が、移動後、一の座標で停留するパターンである。また、「stayC1,move,stayC2」は、視点位置情報が示す視点が地図上の第一の隅に停留後、第二の隅に移動し、再度そこで停留するパターンである。なお、ここでのある座標(a,b)や座標(c,d)等は、任意の座標であり、視点位置情報が示す座標に対応する。
また、図9の「操作パターン」において、「mouse down(a,b)」は、ある座標(a,b)でマウスのボタンが押された状態であることを示すパターンである。「sweep start」は、カーソルをスライドさせて、地図をスライド方向に慣性移動させる操作を開始したことを示すパターンである。また、「centering(a,b)」は、ボタン操作や、特定のマウス操作等による、ある座標(a,b)を中心として地図のセンタリングを行う操作のパターンである。この操作パターンは、ここでは例として、操作によって発生し得るイベント名に相当するものである。なお、ここでのある座標(a,b)は、任意の座標であり、操作の履歴が示す座標に対応する。
また、図9の「変更指示」において、「zoom in(a,b)」は、ある座標(a,b)を拡大の中心として予め指定された拡大率で地図の拡大を行う指示である。「zoom in move area」は、視点パターン情報の「move」に対応すると判断された一連の視点位置情報が示す全ての位置を含むような領域の最大のサイズに、地図の拡大を行う指示である。この指示は、例えば、一連の視点位置情報が示す位置を含む最小外接矩形の領域、即ちMBR(Minimum Bounding Rectangle)を含む領域を拡大した地図を表示する指示である。なお、MBRや複数の座標からMBRを決定する処理等は公知技術であるので、ここでは説明を省略する。例えば、非特許文献である「馬強、他2名,「 ページ内容と位置情報に基づくWebコンテンツのローカル度検出とその応用」,情報処理学会研究報告,2002,Vol.2002,No.67,2002−DBS−128−69,pp.515−522」等に記載されている。「zoom out」は現在表示されている地図を、現在の地図の中心を中心として縮小する指示である。centering((a+c)/2,(b+d)/2)は、ある座標(a,b)と座標(c,d)との中点を中心として、地図のセンタリングを行う指示である。また、「zoom in both area」は、ある座標(a,b)と座標(c,d)を含む領域の最大のサイズに、地図の拡大を行う指示である。上記のようなMBRを用いて、領域は設定可能である。
ここで、視点位置情報や、操作の入力がなく、視点位置情報の履歴が視点位置履歴格納手段1052に格納されているため、変更指示取得手段1056が、図2のステップS210のパターン対応情報を用いた変更指示を取得する処理を行う場合について説明する。
まず、変更指示取得手段1056は、図8に示したような操作の履歴から、現在までの予め指定された時間内の時刻の情報と対応付けて蓄積された操作の履歴が操作履歴格納手段1054に格納されているか否かを判断する。
(例1)
ここでは、まず、現在までの予め指定された時間内の時刻の情報と対応付けられた操作の履歴がなかった場合の例を(例1)に挙げて説明する。
予め指定された時間内の時刻の情報と対応付けられた操作の履歴がないため、変更指示取得手段1056は、変更指示を取得する際に利用する、パターン対応情報として、パターン対応情報のうちの第一パターン対応情報を用いることを決定する。即ち図9に示したパターン対応情報のうちの、「操作パターン」が「−」であるレコードのパターン対応情報を用いる。
変更指示取得手段1056は、図9に示すような、パターン対応情報格納手段1055に格納されている第一パターン対応情報のうちの、パターンの組合せの最も長い視点パターン情報を読み出す。ここでは、視点パターン情報を構成する各パターンは、「,」(カンマ)で区切られているため、視点パターン情報の中から、「,」で区切られたパターン数が多いものを予め指定されている読み出し順に読み出す。ここでは、例えば図9のパターン対応情報の中から、「stayC1,move,stayC2」を読み出したとする。
次に、変更指示取得手段1056は、まず、図7に示した視点位置情報の履歴のうちの最新の履歴を含む1以上の履歴が、読み出したパターン対応情報のうちの最後尾のパターンである「stayC2」が示すパターンと一致するか否かを判断する。「stayC2」は、上述したように、表示されている地図画像の一の隅近傍に、予め指定された時間以上、視点位置情報が示す視点の位置が停留しているパターンである。すなわち、変更指示取得手段1056は、視点位置情報の履歴のうちの、最新の視点位置情報の履歴から遡った予め指定された時間内の時刻と対応付けられた視点位置情報のすべてが、表示されている地図画像の一の隅近傍の領域に含まれるか否かを判断する。隅近傍の領域を示す情報は、予め地図画像の四隅に対して指定しておくようにすればよい。
具体的には、まず、視点の位置を示す最新の視点位置情報から視点の座標を示す情報を取得し、この位置が、地図画像の四隅のいずれかの近傍の領域内に含まれるか否かを判断する。ここでは、含まれなかったとする。このため、変更指示取得手段1056は、この読み出した第一パターン対応情報「stayC1,move,stayC2」と視点位置情報の履歴とが一致しないと判断する。
このため、変更指示取得手段1056は、図9に示す第一パターン対応情報から、「stayC1,move,stayC2」の次に、パターンの組合せが最も長い視点パターン情報を読み出す。ここでは、「stay(a,b),move,stay(c,d)」を読み出したとする。
次に、変更指示取得手段1056は、まず、図7に示した視点位置情報の履歴のうちの最新の履歴を含む1以上の履歴が、読み出したパターン対応情報のうちの最後尾のパターンである「stay(c,d)」が示すパターンと一致するか否かを判断する。「stay(c,d)」は、上述したように、表示されている地図画像の一点に、予め指定された時間以上、視点位置情報が示す視点の位置が停留しているパターンである。すなわち、変更指示取得手段1056は、視点位置情報の履歴のうちの、最新の視点位置情報の履歴から遡った予め指定された時間内の時刻と対応付けられた視点位置情報のすべてが、表示されている地図画像の一点に位置しているか否かを判断する。なお、ここでの一点は、予め指定された範囲のぶれを考慮した一点であるとする。例えば、予め指定された点に近い一の領域内に視点の位置が収まることも一点に位置していると考える。ここでは、一の視点の位置と、これに遡って連続する複数の視点の位置との距離が、予め指定された値より小さい場合に、これらの点が一点に位置していると判断する。
具体的には、変更指示取得手段1056は、まず、視点の位置を示す最新の視点位置情報の履歴から視点の座標を示す情報を取得する。そして、この視点位置情報の履歴の一つ前の視点位置情報の履歴が示す視点の位置と、最新の視点位置情報の履歴が示す視点の位置との差を算出し、その差が、予め指定された範囲内であるか否かを判断する。ここでは、予め指定された範囲内であったとすると、変更指示取得手段1056は、更に、最新の履歴に対して二つ前の履歴から、視点の位置の座標を取得し、同様に、この座標と、最新の視点位置情報の履歴が示す視点の位置との差が、予め指定された範囲内であるか否かを判断する。この差が、予め指定された範囲内であったとすると、更に、その一つ前の履歴が示す視点の位置と、最新の視点位置情報の履歴が示す視点の位置との差を算出し、その差が、予め指定された範囲内であるか否かを判断する。このような処理を、算出した差が、予め指定された値以上となるまで繰り返し行う。この予め指定された値は、一点であると判断するための許容範囲を示す値である。ここで、最新の履歴に対してp個前(pは1以上の整数)の履歴が示す位置と、最新の履歴の位置との差が、予め指定された値以上となったとする。
次に、変更指示取得手段1056は、このp個前の履歴の時刻と最新の履歴の時刻との差が、予め指定された時間以上であるか否かを判断する。差が予め指定された時間以上であったとすると、変更指示取得手段1056は、この視点位置情報の履歴が示す視点の位置のパターンが、視点パターン情報「stay(c,d)」に対応したパターンと一致すると判断する。この差が予め指定された時間以上でなかったとすると、この視点位置情報の履歴が示す視点の位置のパターンが、視点パターン情報「stay(c,d)」に対応したパターンと一致しないと判断する。ここでは一致したとする。この場合の座標(c,d)の値は、ここでは、最新の位置指定情報の履歴が示す視点の位置の座標とする。例えば、最新の視点位置情報の履歴が示す視点の位置の座標が座標B(x222,y222)であったとすると、座標(c,d)は、座標(x222,y222)となる。ただし、一致すると判断された全ての座標の平均の値を示す座標等であっても良いし、全ての座標の中から任意に選択した座標の値や、出現頻度の高い座標の値等であっても良い。
さらに、変更指示取得手段1056は、第一パターン対応情報から読み出した「stay(a,b),move,stay(c,d)」の最後尾のパターンである「stay(c,d)」の前に、パターンがあるか否かを判断する。ここでは、最後尾から一つ前のパターンとしてパターン「move」があるため、変更指示取得手段1056は、図7に示した視点位置情報の履歴のうちの「stay(c,d)」と一致すると判断されたものから時間軸を遡った1以上の履歴が、読み出したパターン対応情報のうちの最後尾から一つ前のパターンである「move」が示すパターンと一致するか否かを判断する。この「move」は、連続した2以上の視点位置情報が示す履歴の位置が、一点に収まらないことを示すパターンである。
具体的には、変更指示取得手段1056は、「stay(c,d)」に対応したパターンと一致すると判断された位置指定情報の履歴の最も古いものが示す視点の位置と、それよりも一つ前の位置指定情報の履歴が示す視点の位置との差を算出する。ここでは、この差が、上記の「stay(c,d)」の判断において一点に位置していることを判断するために用いた予め指定された距離以上であるか否かを判断する。ここでは、距離以上であったとする。この指定位置情報は、「move」のパターンに一致することとなる。
つぎに、変更指示取得手段1056は、第一パターン対応情報から読み出した「stay(a,b),move,stay(c,d)」の最後尾から一つ前のパターンである「move」の前に、パターンがあるか否かを判断する。ここでは、最後尾から二つ前のパターンとしてパターン「stay(a,b)」があるため、変更指示取得手段1056は、図7に示した視点位置情報の履歴のうちの「move」のパターンと一致するものの前に、「stay(a,b)」と一致するパターンの視点位置情報の履歴があるか否かを検出する処理を行う。
ここでは、まず、先に検出された「move」のパターンに対応する位置指定情報よりも以前の位置指定情報の中から、「stay(a,b)」に対応する視点の位置を示す一連の位置指定情報を検出する処理を行う。具体的には、変更指示取得手段1056は、「move」のパターンと一致すると判断された位置指定情報の履歴が示す視点の位置と、その一つ前の位置指定情報の履歴が示す視点の位置との差を算出し、その差が予め指定された距離以上であるか否かを判断する。予め指定された距離以上であれば、その位置指定情報も、上記の「move」のパターンと一致すると判断された位置指定情報と同じパターンを構成する一連の位置指定情報と判断される。一方、その差が予め指定された距離未満であると判断された場合、「stay(a,b)」の判断として、上記の「stay(c,d)」と同様の判断を繰り返し行い、「stay(a,b)」のパターンと判断された場合には、変更指示取得手段1056は、この「stay(a,b)」のパターンと判断された位置指定情報の直後に「move」のパターンに一致するパターンの位置指定情報の履歴があったと判断する。「stay(a,b)」のパターンと一致すると判断されなかった場合、ここで判断された位置指定情報は、上記で「move」のパターンと一致すると判断された位置指定情報と同じパターンを構成する一連の位置指定情報と判断される。変更指示取得手段1056は、更に上記と同様に一つずつ位置指定情報の履歴を遡って、「stay(a,b)」に対応するパターンが検出されるか、位置指定情報の履歴が無くなるまで、上記と同様に一つずつ位置指定情報の履歴を遡って、連続する位置指定情報間の距離が、予め指定された距離以上であるか否かの判断と、「stay(a,b)」のパターンと一致するか否かの判断とを適宜行う。
ここで、いくつかの履歴を遡った時点で、「stay(a,b)」のパターンと一致するパターンが検出されたとする。
さらに、変更指示取得手段1056は、第一パターン対応情報から読み出した「stay(a,b),move,stay(c,d)」の最後尾から二つ前のパターンである「stay(a,b)」の前に、パターンがあるか否かを判断する。ここでは、パターンがないため、変更指示取得手段1056は、視点位置情報の履歴が、第一パターン対応情報から読み出した「stay(a,b),move,stay(c,d)」の視点パターン情報と一致すると判断する。そして、変更指示取得手段1056は、この「stay(a,b),move,stay(c,d)」の視点パターン情報と対応付けられた変更指示「centering((a+c)/2,(b+d)/2)」を取得する。例えば、最新の視点位置情報の履歴が示す視点の位置の座標が座標B(x222,y222)、視点が「move」パターンに相当する移動を行う前に停留していた位置の座標Aが(x111,y111)であったとすると、この変更指示は、具体的には、「centering((x111+x222)/2,(y111+y222)/2)」となる。
地図画像取得手段1057は、変更指示取得手段1056が取得した変更指示「centering((a+c)/2,(b+d)/2)」に応じた地図画像を新たに取得する。具体的には、この変更指示が示す座標((a+c)/2,(b+d)/2)を中心とした地図画像を、地図情報格納部101に格納されている地図情報から切り出す。切り出す際には、適宜、現在表示されている地図画像の座標を緯度,経度の情報に変換して用いる。
そして、表示部102は、地図画像取得手段1057が地図画像を変更するために新たに作成した地図画像をモニタに表示する。
このような地図表示装置1の動作により、例えば、図10に示すような地図画像において、ユーザが地図上の座標A(x111,y111)上の位置で視点を停留させた後、さらに、ユーザが視線を移動させて、視点を座標B(x222,y222)に停留させたことを示す視点位置情報の履歴が蓄積されている場合、図11に示すように、この座標Aと座標Bとの中心点を中心とした地図画像が新たな地図画像として表示される。このため、例えば、ユーザが地図のある地点に興味を感じて視点を行った止め、さらに、同じ地図の他の地点に興味を感じて更に視点を止めた場合、この二つの地点の中心位置を中心とした、この二つの地点が見やすくなるような地図画像を表示することが可能となる。
(例2)
つぎに、現在までの予め指定された時間内の時刻の情報と対応付けられた操作の履歴がなかった場合の例を(例2)に挙げて説明する。
予め指定された時間内の時刻の情報と対応付けられた操作の履歴があるため、変更指示取得手段1056は、変更指示を取得する際に利用する。パターン対応情報として、パターン対応情報のうちの第二パターン対応情報を用いることを決定する。即ち図9に示したパターン対応情報のうちの、「操作パターン」が「−」でないレコードのパターン対応情報を用いる。
変更指示取得手段1056は、図9に示すような、パターン対応情報格納手段1055に格納されている第二パターン対応情報のうちの、パターンの組合せの最も長い視点パターン情報と、これに対応付けられた操作パターン情報とを読み出す。なお、パターンの組合せの最も長い操作パターン情報と、これと対応付けられた視点パターン情報とを読み出しても良い。なお、読み出す第二パターン対応情報の順番は、どのように決定されても良く、例えばデフォルト等で読み出される順番が予め指定されていても良い。ここでは、視点パターン情報を構成する各パターンは、「,」(カンマ)で区切られているため、視点パターン情報の中から、「,」で区切られたパターン数が多いものを予め指定されている読み出し順に読み出す。ここでは、全ての視点パターン情報のパターン数が1であったとする。このため、例えば図9のパターン対応情報の中の一番上の第二パターン対応情報から、視点パターン情報「move toward(a,b)」および操作パターン情報「mouse down(a,b)」を読み出したとする。
次に、変更指示取得手段1056は、図7の操作の履歴のうちの最新の履歴を含む1以上の連続した履歴が、取得した操作パターン情報「mouse down(a,b)」と一致するか否かを判断する。ここでは、操作パターン情報は、一つのパターンのみであるため、操作パターン情報と最新の操作の履歴とが一致するか否かを判断する。なお、操作パターン情報「mouse down(a,b)」の「(a,b)」を、正規表現化した座標として扱って最新の操作の履歴とのパターンマッチングを行う。最新の操作の履歴が、ユーザがマウスボタンを押していることを示す「mouse down(x333,y333)」であったとすると、変更指示取得手段1056は、操作の履歴と操作パターン情報とが一致すると判断する。
さらに、変更指示取得手段1056は、視点位置情報の履歴のうちの最新の履歴を含む連続した履歴が、視点パターン情報が示すパターンと一致するか否かを判断する。ここでは、視点パターン情報が、「move toward(a,b)」であり、これは、視点位置情報が、操作の履歴が示す座標(x333,y333)に向かって、移動してくるパターンを示す。このパターンを満たすか否かの判断として、ここでは、変更指示取得手段1056は、視点位置情報の履歴が示す視点の位置と、座標(a,b)、即ち座標(x333,y333)との距離の絶対値が、少なくとも過去5回、減少傾向に有るか否かを判断することが予め指定されているとする。
まず、位置指定情報の履歴のうちの、最新から4つ前までの履歴から、それぞれ視点の位置の座標((x01,y01)から(x05,y05))を取得し、それぞれについて、最新の操作の履歴が示す位置である座標(x333,y333)との距離を算出する。そして、算出した距離が、履歴が新しくなるほど短くなっているか否かを、例えば隣接する履歴間で差を算出すること等で判断する。ここでは、差が短くなっていたとする。この場合、視点パターン情報が示すパターンと、視点位置情報の履歴とが一致すると変更指示取得手段1056が判断する。
これにより、操作パターン情報が示すパターンと操作の履歴とが一致し、視点パターン情報が示すパターンと視点位置情報の履歴とが一致するため、変更指示取得手段1056は、読み出した視点パターン情報「move toward(a,b)」および操作パターン情報「mouse down(a,b)」に対応付けられた変更指示「zoom in(a,b)」を図9に示したパターン対応情報から取得する。この変更指示は、座標(a,b)を中心として、地図の拡大表示を行う指示である。なお、この座標(a,b)は、最新の操作の履歴が示す座標(x333,y333)である。
なお、操作パターン情報が示すパターンと操作の履歴とが一致しない場合、あるいは、視点パターン情報が示すパターンと視点位置情報の履歴とが一致しない場合、もしくはその両方が一致しない場合には、他の第二パターン対応情報について上記の処理を繰り返し行う。
地図画像取得手段1057は、変更指示取得手段1056が取得した変更指示「zoom in(a,b)」に応じた地図画像を新たに取得する。具体的には、この変更指示が示す座標(a,b)を中心として、予め指定された倍率で拡大した地図画像を、地図情報格納部101に格納されている地図情報から切り出す。なお、拡大した地図画像は、直前に表示されていた地図画像よりも、縮尺の小さい地図画像と考えても良い。切り出す際には、適宜、現在表示されている地図画像の座標を緯度,経度の情報に変換して用いる。
そして、表示部102は、地図画像取得手段1057が地図画像を変更するために新たに作成した地図画像をモニタに表示する。
このような地図表示装置1の動作により、例えば、図12に示すような地図画像において、ユーザが地図上の座標C(x333,y333)上の位置にマウスポインタを配置して、マウスボタンを押した状態で、ユーザが視線を移動させて、視点を座標E5(x05,y05)から、座標E1(x01,y01)まで移動させた場合、座標Cを中心として拡大した地図画像が新たな地図画像として表示される。このため、例えば、ユーザが地図の興味のある一の地点をマウスポインタを配置し、マウスボタンを押した状態で、その地点に向かうように道路等を辿った場合に、マウスで示した場所がユーザの目的地等であると判断して、この地点の地図が見やすくなるように、地図画像を表示することが可能となる。
以上のように、本実施の形態によれば、ユーザの視点位置情報の履歴、またはユーザの視点位置情報の履歴とユーザの操作の履歴との組合せに応じた地図画像を表示することが可能となる。
これにより、例えば、ユーザの地図画像に対する要求をユーザの視点の履歴等から判断して、ユーザの要求にあった地図画像を提供できるという効果がある。このため、ユーザは、ユーザの閲覧に適した地図画像を自動的に提供してやること等が可能となる。例えば、ユーザが地図の操作を忘れていたり、操作が面倒であるため操作をしなかったとしても、適切な地図画像を表示することができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態では、地図表示装置がスタンドアロンである場合について説明したが、地図表示装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における地図表示装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、地図に関する情報である地図情報を用いて、地図の画像である地図画像を取得する地図画像取得部と、地図画像を表示する表示部と、表示部に表示された地図画像に対するユーザの視線に関する情報である視点位置情報を受け付ける視点位置情報受付部として機能させるプログラムであって、地図画像取得部は、視点位置情報受付部が受け付けた視点位置情報に応じた地図画像を取得するプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図13は、上記プログラムを実行して、上記実施の形態による地図表示装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図13において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図14は、コンピュータシステム900の内部構成を示す図である。図14において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による地図表示装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による地図表示装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。