(57)【特許請求の範囲】
【請求項１】
地図データとＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データとに基づいて、地図を表示する表示部と、
位置データを所定の時間間隔で取得する位置データ取得部と、
ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信で、前記位置データに対応する前記地図データ、および、前記ＨＴＭＬデータを取得する通信取得部と、
前記通信取得部によって前記地図データが取得された場合に、前記表示部に表示された前記地図を更新する表示制御部とを備え、
前記表示制御部は、
前記表示部に表示された前記地図を次に更新するまでの間隔に対応する時間を決定する場合、前記地図に示された任意の位置が単位時間あたりに前記表示部を移動する距離である移動量を推定し、推定した前記移動量が前に推定した前記移動量よりも長い場合に前記時間を前に推定した前記移動量に対応する前記時間よりも短くし、
前記通信取得部は、
前記表示制御部によって決定された前記時間に基づき、前記位置データと次に取得される他の前記位置データとの距離に応じた所定の頻度で前記地図データを取得することを特徴とする表示装置。
【請求項２】
前記通信取得部は、ＨＴＴＰ通信で、前記表示部に表示された前記地図を更新させるプログラムを取得し、
前記プログラムは、
前記通信取得部によって取得された前記地図データから、前記表示部に表示された前記地図の更新に用いられるデータを取り出すパース処理を行うＷｅｂＡｓｓｅｍｂｌｙモジュールに対応することを特徴とする請求項１に記載の表示装置。
【請求項３】
前記表示制御部は、
前記位置データ取得部が取得する前記位置データから求められる移動体の速度と前記表示部に表示される前記地図の縮尺とに基づいて求めた前記移動量と、前記通信取得部が前記地図データを取得するためにかかる取得時間とに基づいて前記時間を決定することを特徴とする請求項１又は請求項２に記載の表示装置。
【請求項４】
前記地図は、ウェブブラウザによって前記表示部に表示され、
前記表示制御部は、
前記移動体の移動に伴って、前記地図に示された任意の前記位置が前記ウェブブラウザのウインドウを単位時間あたりに移動する前記移動量を推定することを特徴とする請求項３に記載の表示装置。
【請求項５】
前記通信取得部は、前記地図データを記憶する第１サーバ、および、前記地図を要素の一部に含むウェブページの構成が記述された前記ＨＴＭＬデータを記憶する第２サーバとそれぞれ通信し、
前記通信取得部は、前記第２サーバから取得された前記ＨＴＭＬデータに基づいて前記ウェブブラウザに前記ウェブページが表示されている場合、前記ウェブページに埋め込まれたタグに基づき、前記第１サーバから前記地図データを取得することを特徴とする請求項４に記載の表示装置。
【請求項６】
前記プログラムは、
ＪａｖａＳｃｒｉｐｔ（登録商標）で記述されたＪａｖａＳｃｒｉｐｔファイルと、前記ＷｅｂＡｓｓｅｍｂｌｙのモジュールとで構成され、
前記表示制御部は、
前記パース処理に対応する前記データよりそれぞれ生成された、道路及び建物に対応する矩形の頂点に関する情報とポリゴン情報とに基づき、前記表示部に表示された前記地図を更新することを特徴とする請求項２に記載の表示装置。
【請求項７】
地図データとＨＴＭＬデータとに基づいて地図を表示する表示部と、位置データを所定の時間間隔で取得する位置データ取得部と、ＨＴＴＰ通信で、前記位置データに対応する前記地図データ、および、前記ＨＴＭＬデータを取得する通信取得部とを備えるコンピュータを、
前記表示部に表示された前記地図を次に更新するまでの間隔に対応する時間を決定する場合、前記地図に示された任意の位置が単位時間あたりに前記表示部を移動する距離である移動量を推定させ、推定した前記移動量が前に推定した前記移動量よりも長い場合に前記時間を前に推定した前記移動量に対応する前記時間よりも短くし、決定した前記時間に基づき、前記表示部に表示された前記地図を更新する表示制御部として機能させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置および制御プログラムに関する。
【背景技術】
【０００２】
特許文献１には、地図を画面に表示する際に、画面に表示される地図の表示形態に変化を持たせて画面に表示された地図の視認性を高めた地図表示装置が開示されている。特許文献１に開示の地図表示装置は、自己の位置情報に基づいて、地図を画面に表示する。この地図表示装置は、画面に表示された地図に、特定された経路に沿った所定幅の範囲を明瞭に表示する。上記の地図表示装置は、画面に表示された地図に、上記の所定幅の範囲以外の範囲を薄く表示する。上記の地図表示装置は、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、パソコン等で実現される。
【０００３】
カーナビゲーションなどの地図表示装置は、自己の位置情報に合わせて、所定の時間間隔で地図を更新する必要がある。地図表示装置は、地図を更新する頻度が低い場合、画面に表示される地図の更新をスムーズに行えない。この理由としては、画面に表示される地図は、更新される頻度が低いほど、１回の更新で大きく変化しやすく、更新時に、カクカクした印象で画面に描画されるためである。このような地図は、ユーザにとって見づらい。このような現象は、自己の位置情報を示す位置マークが画面の所定位置に固定され、当該位置マーク周囲の地図が自己の移動に合わせて変化するモードで起こりやすい。以下、このモードを「現在地表示モード」と呼ぶ。上記の位置マークが固定される所定位置は、例えば画面の中央である。
【０００４】
また、上記の地図表示装置では、地図を更新する頻度が低い場合、上記の位置マークがスムーズに移動しないこともある。詳細には、当該位置マークが、それまで表示されていた位置から、ある程度離れた位置に表示される。この場合、地図表示装置は、急に或る位置から別の或る位置へ位置マークが飛んだ印象をユーザに与える。このような現象は、画面に表示される地図をユーザによってスクロール可能で、上記の位置マークが自己の移動に合わせて画面を移動するモードで起こりやすい。以下、このモードを、「現在地移動モード」と呼ぶ。
【０００５】
一方、上記の地図表示装置では、地図を更新する頻度が高い場合、１回の更新による地図の変化が小さくなる。また、１回の更新で、上記の位置マークが移動する移動量が小さくなる。このため、地図を更新する頻度が高ければ、上記の地図表示装置は、画面に表示される地図をスムーズに更新できる。また、上記の地図表示装置は、位置マークをスムーズに移動させることができる。
【０００６】
しかしながら、上記の地図表示装置では、地図を更新する頻度を高くすると、画面に地図を描画する処理のコンピューティング時間の占有率が高くなる。占有率が高くなるほど、地図の描画以外の処理に割り当てられる時間が減少する。そのため、地図表示装置は、地図の更新の頻度が高いと、画面に表示された地図の拡縮、および当該地図の変更等の処理を実行し難くなる。その結果、ユーザの利便性が低下する。
【０００７】
このような問題を解決する技術として、特許文献２には、画面に表示中の地図の縮尺と自車の速度とに基づき、地図描画の更新要否を判定し、地図描画の更新要と判定された場合に、地図描画の更新を行う描画更新制御装置が開示されている。
【０００８】
特許文献２に開示の描画更新制御装置は、不要な更新を行わないで地図描画の更新頻度を下げることができる。上記の描画更新制御装置は、更新頻度を下げることにより、地図描画にかかる負荷を抑制することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−５７０４５号公報
【特許文献２】特開２０１４−１７３８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ここで、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信で地図データを取得し、取得した地図データに基づき、ナビゲーションを目的としてウェブブラウザを利用した地図の更新を行う技術は、従来知られていない。ＨＴＴＰ通信は、ウェブサーバとウェブブラウザとの間などで一般的に用いられており、ウェブブラウザは、今後、ＰＣ、携帯端末のみならず、スマートメータやカーナビゲーション装置等の様々な端末に標準装備されるようになると考えられる。ウェブブラウザを用いたシステムは、クラウド上のウェブサービスと連携させて新たなサービスを創出できると期待される。そこで、新たなサービスを創出できる可能性を持つ技術として、ウェブブラウザとの通信を可能にするＨＴＴＰ等の通信プロトコルを利用して、画面に表示された地図の更新を行う新たな技術が望まれている。
【００１１】
本発明の一態様は、ＨＴＴＰ等のウェブサーバと通信を行うための通信プロトコルを利用して、画面に表示された地図の更新を行う表示装置および制御プログラムを実現することを目的とする。
【課題を解決するための手段】
【００１２】
本開示の一態様に係る表示装置は、表示部と、通信取得部と、位置データ取得部と、表示制御部とを備える。表示部は、地図を表示する。地図は、地図データとＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データとに基づいて表示される。通信取得部は、地図データおよびＨＴＭＬデータを取得する。地図データおよびＨＴＭＬデータは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。通信取得部が取得する地図データは、位置データに対応する地図データである。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。地図の更新は、地図データに基づいて行われる。地図データは、通信取得部が取得した地図データである。
【００１３】
また本開示の一態様に係る表示装置において、通信取得部はプログラムを取得する。プログラムは、地図を更新させるプログラムである。地図は、表示部が表示する地図である。
【００１４】
また本開示の一態様に係る表示装置において、表示制御部は、移動体の速度と、地図の縮尺と、取得時間とに基づいて、地図の更新を行う。移動体の速度は、位置データから求められる。取得時間は、通信取得部が地図データを取得するためにかかる時間である。
【００１５】
また本開示の一態様に係る表示装置において、地図は、ウェブブラウザによって表示される。
【００１６】
また本開示の一態様に係る表示装置において、通信取得部は、第１サーバ、および、第２サーバとそれぞれ通信する。第２サーバは、第１サーバと異なるサーバである。通信取得部は、地図データとプログラムとを取得する。地図データとプログラムは、第１サーバから取得される。通信取得部は、ＨＴＭＬデータを取得する。ＨＴＭＬデータは、第２サーバから取得される。ＨＴＭＬデータには、ページの構成が記述されている。ページは、地図を要素に含む。
【００１７】
また本開示の一態様に係る表示装置において、地図は、アプリケーションによって表示される。
【００１８】
本開示の一態様に係る制御プログラムは、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイルと、モジュールとで構成される。ＪａｖａＳｃｒｉｐｔファイルは、ＪａｖａＳｃｒｉｐｔで記述されている。モジュールは、ＷｅｂＡｓｓｅｍｂｌｙのモジュールである。プログラムは、表示装置を、位置データ取得部と表示制御部として機能させる。表示装置は、表示部と通信取得部とを備える。表示部は、地図を表示する。地図は、地図データとＨＴＭＬデータとに基づいて表示される。通信取得部は、地図データおよびＨＴＭＬデータを取得する。地図データおよびＨＴＭＬデータは、ＨＴＴＰ通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。プログラムは、通信取得部に、位置データに対応する地図データを取得させる。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。プログラムは、表示制御部に、地図データに基づいて、地図を更新させる。地図データは、通信取得部が取得した地図データである。
【００１９】
本開示の各態様に係る表示装置は、コンピュータによって実現してもよく、この場合には、コンピュータを表示装置が備える各部（ソフトウェア要素）として動作させることにより表示装置をコンピュータにて実現させる表示装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２０】
本発明の一態様によれば、ＨＴＴＰ等のウェブサーバと通信を行うための通信プロトコルを利用して、画面に表示された地図の更新を行う表示装置および制御プログラムを実現することができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態１に係るユーザ端末が実行する表示処理の一例を示す図である。
【図２】実施形態１に係るシステムの構成例を示す図である。
【図３】実施形態１に係るコンテンツ配信サーバの構成例を示す図である。
【図４】実施形態１に係るユーザ端末の構成例を示す図である。
【図５】上記ユーザ端末による表示処理の手順を示すシーケンス図である。
【図６】実施形態２に係るユーザ端末が実行する表示処理の一例を示す図である。
【図７】ＵＲＬの一例を示す図である。
【図８】ウェブページの表示領域および地図領域の具体例を示す図である。
【図９】ｉｆｒａｍｅタグが埋め込まれたＨＴＭＬファイルの一例を示す図である。
【図１０】ＵＲＬの一例を示す図である。
【図１１】ウェブページの表示領域および地図領域の具体例を示す図である。
【図１２】ウェブページの表示領域および地図領域の具体例を示す図である。
【図１３】実施形態２に係るシステムの構成例を示す図である。
【図１４】実施形態２に係るウェブサーバの構成例を示す図である。
【図１５】上記ユーザ端末の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【図１６】変形例３に係るユーザ端末の構成例を示す図である。
【図１７】変形例４に係るユーザ端末の構成例を示す図である。
【図１８】変形例５に係るユーザ端末の構成例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について、図面を参照しながら説明する。以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００２３】
≪実施形態１≫
〔１．表示処理〕
図１は、本発明の実施形態１に係る表示装置が実行する表示処理の一例を示す図である。図１では、本実施形態に係る表示装置において、本実施形態に係る制御プログラムが実行する処理の一例について説明する。
【００２４】
具体的に、図１では、本実施形態に係る表示装置の一例であるユーザ端末１００によって、第１地図１および第２地図２が、この順に表示される例を示す。詳細には、ユーザ端末１００は、第１地図１に関する地図データの取得処理を実行する。ユーザ端末１００は、取得した第１地図１に関する地図データの描画処理を実行する。そして、第１地図１は、ユーザ端末１００の画面に表示される。次に、ユーザ端末１００では、第２地図２に関する地図データの取得処理に先立って、第２地図２に関する地図データの取得処理の実行を開始するまでの間隔時間であるインターバルを決定する。ユーザ端末１００は、当該インターバル経過後、第２地図２に関する地図データの取得処理を実行する。ユーザ端末１００は、取得した地図データに基づいて、描画処理を実行する。第２地図２は、ユーザ端末１００の画面に表示される。
【００２５】
以下では、第１地図１および第２地図２として、ユーザ端末１００を利用するユーザ５の周囲の地図を例に挙げる。例えば、図１では、ユーザ端末１００が実行する処理によって、ユーザ端末１００の画面に表示される地図が更新される。地図の更新は、ユーザ５の移動に合わせて行われる。図１の例では、第１地図１は、第２地図２に更新される。第１地図１および第２地図２は、それぞれ、位置マーク３によって、ユーザ５の位置を示している。位置マーク３は、ユーザ５の位置データに対応する箇所に表示される。ユーザ５の位置データは、ユーザ５が保持するユーザ端末１００の位置データであるともいえる。
【００２６】
以下、「地図の更新」は、画面に地図を表示するために実行される描画処理の更新を意味する。より具体的には、「地図の更新」は、当該描画処理を改めてやり直すことを意味する。
【００２７】
なお、本実施形態では、第１地図１および第２地図２の表示処理が「現在地表示モード」で行われる例を用いて説明する。また、本実施形態では、地図の更新が不要の場合でも、地図データの取得処理を所定の頻度で実行する例を用いて説明する。地図の更新が不要の場合は、例えば、ユーザ５が移動しないため、画面に表示させる地図を変化させる必要がない場合である。
【００２８】
ユーザ端末１００は、携帯端末装置である。ユーザ端末１００は、無線通信網を介して任意のサーバ装置と通信を行う。ユーザ端末１００は、例えば、ＰＣ、スマートフォン、タブレット、又は車載ナビゲーション装置等であってもよい。ユーザ端末１００は、液晶ディスプレイ等の画面を有する。例えば、ユーザ端末１００は、タッチパネルを有する。ユーザ５は、指やスタイラスで画面をタッチすることで、ユーザ端末１００を操作する。
【００２９】
なお、本実施形態において、移動体は、人であるユーザ５である。本実施形態に係る移動体の他の例としては、車両、又は電車が挙げられる。
【００３０】
また、ユーザ端末１００は、ウェブブラウザ１０１を搭載する。ユーザ端末１００は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信によって、コンテンツ配信サーバ１０との間で情報のやり取りを行う。ＨＴＴＰ通信は、ウェブブラウザ１０１が備える機能により実現される。詳細には、ユーザ端末１００でウェブブラウザ１０１を用いてユーザアクションが行われ、コンテンツ配信サーバ１０にＨＴＴＰリクエストが送信される。コンテンツ配信サーバ１０は、ＨＴＴＰリクエストに従ってサーバ処理を行い、要求された処理を完了すると、ＨＴＴＰレスポンスをユーザ端末１００に返す。なお、ユーザ端末１００は、コンテンツ配信サーバ１０と通信を行うための通信プロトコルを利用する構成であれば、ＨＴＴＰ通信を利用する構成に限定されない。ユーザ端末１００は、例えばＨＴＴＰＳ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）通信を利用する構成であってもよい。
【００３１】
コンテンツ配信サーバ１０は、ユーザ端末１００に地図データを配信するサーバ装置である。コンテンツ配信サーバ１０によって配信される地図データは、例えば、表示用となる所定の地図画像情報と、リンク情報、ノード情報およびリンク間接続情報等を含む道路網情報とからなるデータである。図１の例では、コンテンツ配信サーバ１０は、地図データの一例である第１地図１に関する地図データおよび第２地図２に関する地図データをユーザ端末１００に配信する。
【００３２】
また、コンテンツ配信サーバ１０は、上述の地図データに加え、地図表示用のＨＴＭＬデータと、意匠画像データと、プログラムデータとをユーザ端末１００に配信する。ＨＴＭＬデータは、地図が画面に表示されるようにＨＴＭＬによって記述されたデータである。意匠画像データは、ＨＴＭＬデータとリンクしており、ＨＴＭＬデータに基づいて画面に表示される画像データである。プログラムデータは、ユーザ端末１００に地図の描画とナビゲーション機能とを実現させるための制御プログラムのデータである。
【００３３】
以下、図１を用いて、ユーザ端末１００が実行する表示処理の流れについて説明する。なお、ユーザ端末１００の画面の状態遷移を図示する場合、左から順に第１状態、第２状態、第３状態、及び第４状態と表記する。
【００３４】
まずステップＳ１１において、ユーザ端末１００の画面は第１状態である。第１状態において、ユーザ端末１００は、ユーザ５の位置データに基づき、第１地図１に関する地図データの配信をコンテンツ配信サーバ１０に要求する。第１地図１に関する地図データは、現在のユーザ５の位置データに対応する。すなわち、第１地図１に関する地図データは、ユーザ５の現在地の周囲を表す地図の地図データである。コンテンツ配信サーバ１０は、ステップＳ１２において、ユーザ端末１００からの要求を受けて、第１地図１に関する地図データを配信する。
【００３５】
ユーザ端末１００は、第１地図１に関する地図データを取得する。ユーザ端末１００は、ステップＳ１３において、取得した地図データに基づいて、ユーザ端末１００の画面に第１地図１を表示する。ステップＳ１３の処理により、ユーザ端末１００の画面は、第２状態に遷移する。
【００３６】
ステップＳ１４において、ユーザ端末１００の画面は第２状態である。第２状態において、ユーザ端末１００は、第２地図２に関する地図データの取得処理の実行を開始するまでのインターバルを決定する。ステップＳ１４では、ユーザ端末１００は、速度データと、縮尺データとを取得する。速度データは、ユーザ５が移動する速度を示すデータである。縮尺データは、第２地図２を表示する際に適用される地図の縮尺を示すデータである。ユーザ端末１００は、例えば、第１地図１に関する地図データの取得処理の際、ユーザ端末１００に搭載されたＧＰＳ機能を用いて、速度データを取得する。ユーザ端末１００は、例えば、第１地図１に関する地図データの取得処理の際、ユーザ端末１００に設定された地図の縮尺データを取得する。
【００３７】
ユーザ端末１００は、取得した速度データ、および縮尺データ、並びに、所定のパラメータを用いて、上記のインターバルを決定する。ユーザ端末１００がインターバルを決定する方法は、後述する。
【００３８】
ユーザ端末１００は、ステップＳ１５において、ステップＳ１４にて決定したインターバルが経過するまで、第２地図２に関する地図データの取得処理を待機する。ステップＳ１５の処理により、ユーザ端末１００の画面は、第３状態に遷移する。なお、第２状態において画面に表示される地図および第３状態において画面に表示される地図は、いずれも第１地図１である。
【００３９】
第３状態において、ユーザ端末１００は、ステップＳ１６において、ステップＳ１４にて決定したインターバル経過後、ユーザ５の位置データに基づき、第２地図２に関する地図データの配信をコンテンツ配信サーバ１０に要求する。第２地図２に関する地図データは、現在のユーザ５の位置データに対応する。すなわち、第２地図２に関する地図データは、ユーザ５の現在地の周囲を表す地図の地図データである。コンテンツ配信サーバ１０は、ステップＳ１７において、ユーザ端末１００からの要求を受けて、第２地図２に関する地図データを配信する。
【００４０】
ユーザ端末１００は、ステップＳ１８において、第２地図２に関する地図データを取得する。ユーザ端末１００は、取得した地図データを描画し、ユーザ端末１００の画面に第２地図２を表示する。ステップＳ１８の処理により、ユーザ端末１００の画面は、第４状態に遷移する。
【００４１】
以下、上述した表示処理を実行するユーザ端末１００等について詳細に説明する。
【００４２】
〔２．システムの構成〕
図２を用いて、本実施形態に係るシステムの構成について説明する。図２は、本実施形態に係るシステムの構成例を示す図である。図２に示すように、本実施形態に係るシステムは、ユーザ端末１００と、コンテンツ配信サーバ１０とを含む。ユーザ端末１００およびコンテンツ配信サーバ１０は、ネットワーク４を介して有線または無線により通信可能に接続される。なお、図２に示すシステムに含まれる各装置の数は、特に限定されない。例えば、本実施形態に係るシステムには、複数台のユーザ端末１００が含まれてもよい。また、例えば、本実施形態に係るシステムには、複数台のコンテンツ配信サーバ１０が含まれてもよい。
【００４３】
〔３．コンテンツ配信サーバの構成〕
次に、図３を用いて、コンテンツ配信サーバ１０の構成について説明する。図３は、コンテンツ配信サーバ１０の構成例を示す図である。図３に示すように、コンテンツ配信サーバ１０は、コンテンツ配信サーバ通信部１１と、コンテンツデータ記憶部１２と、コンテンツ配信サーバ制御部１３とを有する。コンテンツ配信サーバ１０は、第１サーバに相当する。
【００４４】
コンテンツ配信サーバ通信部１１は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等によって実現される。コンテンツ配信サーバ通信部１１は、図２に示すネットワーク４と有線または無線で接続される。コンテンツ配信サーバ通信部１１は、ユーザ端末１００との間で情報の送受信を行う。
【００４５】
コンテンツデータ記憶部１２は、記憶装置によって実現される。記憶装置としては、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、もしくはフラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）等の半導体メモリ素子、ハードディスク、または、光ディスク等が挙げられる。
【００４６】
また、コンテンツデータ記憶部１２は、地図データＤＢ１２１およびオブジェクトデータＤＢ１２２を格納する。コンテンツ配信サーバ１０は、ユーザ端末１００から要求された地図に関する地図データを地図データＤＢ１２１から読み出す。コンテンツ配信サーバ１０は、読み出した地図データをユーザ端末１００に配信する。また、地図データＤＢ１２１には、オブジェクトの情報と、オブジェクト画像とが蓄積されてもよい。オブジェクトの情報は、例えば、主要な建物やランドマーク、銀行、郵便局、学校、及び病院などの各機関の建物などのオブジェクトの情報である。オブジェクト画像は、各オブジェクトを表示するためのアイコン画像等である。ユーザ端末１００は、コンテンツ配信サーバ１０から配信された地図データをウェブブラウザ１０１に表示するとともに、オブジェクトの情報を参照して、オブジェクト画像を地図の所定の位置に表示させる。
【００４７】
オブジェクトデータＤＢ１２２は、意匠画像データを蓄積するデータベースである。オブジェクトデータＤＢ１２２に蓄積される意匠画像データは、一般的な地図データに含まれない画像データである。意匠画像データは、例えば、ユーザ５に対して操作案内をするためのマーク、文字または記号を表す画像データである。ユーザ端末１００は、意匠画像データをコンテンツ配信サーバ１０から取得する。ユーザ端末１００は、意匠画像データを含む地図を画面に表示する。
【００４８】
また、コンテンツデータ記憶部１２は、地図表示用のＨＴＭＬ、制御プログラムデータを記憶してもよい。
【００４９】
コンテンツ配信サーバ制御部１３は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）又はＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等によって実現される。ＣＰＵ又はＭＰＵ等は、コンテンツ配信サーバ１０内部の所定の記憶装置に記憶されている各種プログラムを、ＲＡＭを作業領域として実行する。また、コンテンツ配信サーバ制御部１３は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の半導体集積回路により実現される。
【００５０】
図３に示すように、コンテンツ配信サーバ制御部１３は、コンテンツ配信サーバ受付部１４と、コンテンツ配信サーバ配信部１５とを有する。コンテンツ配信サーバ制御部１３は、以下に説明する情報処理の機能や作用を実現または実行する。なお、コンテンツ配信サーバ制御部１３の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、コンテンツ配信サーバ制御部１３が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００５１】
コンテンツ配信サーバ受付部１４は、ユーザ端末１００から地図データの配信要求を受け付ける。例えば、コンテンツ配信サーバ受付部１４は、地図データの配信要求として、ＨＴＴＰリクエストを受け付ける。
【００５２】
コンテンツ配信サーバ配信部１５は、コンテンツ配信サーバ受付部１４によって地図データの配信要求が受け付けられた場合に、配信要求対象の地図データをユーザ端末１００に配信する。具体的には、コンテンツ配信サーバ配信部１５は、コンテンツデータ記憶部１２に記憶された地図データＤＢ１２１から配信要求対象の地図データを読み出し、読み出した地図データをユーザ端末１００に配信する。
【００５３】
〔４．ユーザ端末の構成〕
次に、図４を用いて、ユーザ端末１００の構成について説明する。図４は、ユーザ端末１００の構成例を示す図である。図４に示すように、ユーザ端末１００は、ユーザ端末通信部１１０と、ユーザ入力部１２０と、出力部１３０と、ユーザ端末記憶部１４０と、センサ入力部１５０と、ＧＰＳ受信部１６０と、ユーザ端末制御部１７０とを有する。
【００５４】
ユーザ端末通信部１１０は、例えば、ＮＩＣ等によって実現される。ユーザ端末通信部１１０は、図２に示すネットワーク４と有線または無線で接続される。ユーザ端末通信部１１０は、コンテンツ配信サーバ１０との間で情報の送受信を行う。
【００５５】
具体的に、ユーザ端末通信部１１０は、ユーザ端末１００の画面に表示された地図が更新される場合、所定の頻度で地図データを受信する。所定の頻度は、インターバル決定部１７４が決定したインターバルに対応する頻度である。ユーザ端末通信部１１０は、通信取得部に相当する。
【００５６】
ユーザ入力部１２０は、ユーザから各種操作を受け付ける入力装置である。例えば、ユーザ入力部１２０は、キーボード、マウスまたは操作キー等によって実現される。出力部１３０は、各種情報を表示するための装置である。例えば、出力部１３０は、ユーザ端末１００の画面である。出力部１３０は液晶ディスプレイ等によって実現される。なお、ユーザ端末１００にタッチパネルが採用される場合には、ユーザ入力部１２０と出力部１３０とは一体化される。出力部１３０は、表示部に相当する。
【００５７】
なお、地図は、ユーザ端末１００の画面である出力部１３０の全面に表示されるとは限らない。地図は、出力部１３０内に表示されるウェブブラウザ１０１のウインドウに表示される場合がありうる。この場合、地図を表示する際のユーザ端末１００における表示エリアとは、ウェブブラウザ１０１のウインドウを意味する。以下、ユーザ端末１００における表示エリアは、ウェブブラウザ１０１のウインドウを意味するものとする。
【００５８】
ユーザ端末記憶部１４０は、記憶装置によって実現される。記憶装置は、例えば、ＲＡＭ、もしくはフラッシュメモリ等の半導体メモリ素子、ハードディスク、または光ディスク等が挙げられる。ユーザ端末記憶部１４０は、各種の情報を記憶する。ユーザ端末記憶部１４０は、ユーザ端末１００が実行する各種プログラム等を記憶する。ユーザ端末記憶部１４０は、前述の制御プログラム等を一時的に記憶する。制御プログラムは、ウェブブラウザ１０１によって、ウェブページを表示するためのソフトウェアである。また、ユーザ端末記憶部１４０は、現在の地図の縮尺データ等を一時的に記憶することもできる。
【００５９】
センサ入力部１５０は、例えば、ジャイロセンサおよび加速度センサによりそれぞれ測定される角速度および加速度を取得する。ユーザ端末制御部１７０は、後述するＧＰＳ受信部１６０による測位の際、センサ入力部１５０により取得された角速度および加速度を用いてユーザ５の位置データの測位精度を高めることができる。なお、センサ入力部１５０は、ユーザ端末１００における必須の構成要件ではない。
【００６０】
ＧＰＳ受信部１６０は、図示しないＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサによりＧＰＳ衛星からの電波を受信する。ＧＰＳ受信部１６０は、ＧＰＳセンサにより受信される電波により、ユーザ端末１００を操作するユーザ５の現在地を示す位置データを測位する。当該位置データは、例えば、緯度情報および経度情報である。ＧＰＳ受信部１６０による測位は、所定の時間間隔で行われる。当該所定の時間間隔は、例えば１秒である。また、ＧＰＳ受信部１６０は、ユーザ５の速度を検出する。ユーザ５の速度は、ユーザ５が保持するユーザ端末１００の速度であるともいえる。
【００６１】
ユーザ端末制御部１７０は、例えば、ＣＰＵ又はＭＰＵ等によって実現される。ＣＰＵ又はＭＰＵ等は、ユーザ端末１００内部の記憶装置に記憶されている各種プログラムを、ＲＡＭを作業領域として実行する。この各種プログラムは、本実施形態に係る制御プログラムの一例である。例えば、この各種プログラムは、ウェブブラウザ１０１に該当する。また、ユーザ端末制御部１７０は、例えば、ＡＳＩＣ又はＦＰＧＡ等の半導体集積回路により実現される。
【００６２】
図４に示すように、ユーザ端末制御部１７０は、要求部１７１と、取得部１７２と、描画部１７３と、インターバル決定部１７４と、ナビゲーション部１７５とを有する。ユーザ端末制御部１７０は、以下に説明する情報処理の機能や作用を実現または実行する。なお、ユーザ端末制御部１７０の内部構成は、図４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、ユーザ端末制御部１７０が有する各処理部の接続関係は、図４に示した接続関係に限られず、他の接続関係であってもよい。
【００６３】
要求部１７１は、コンテンツ配信サーバ１０に地図データの配信を要求する。取得部１７２は地図データを取得する。具体的には、取得部１７２は、要求部１７１によって送信された地図データの配信要求に応答したコンテンツ配信サーバ１０から、地図データを取得する。
【００６４】
描画部１７３は、取得部１７２によって取得された地図データに基づいて、ユーザ端末１００の画面である出力部１３０に地図を表示させる。
【００６５】
インターバル決定部１７４は、ＧＰＳ受信部１６０からユーザ５の速度データを取得する。また、インターバル決定部１７４は、ユーザ端末１００の所定の記憶装置から、地図の縮尺データを取得する。
【００６６】
インターバル決定部１７４は、次のとおり、上記のインターバルを決定する。
【００６７】
まず、インターバル決定部１７４は、単位時間あたりの表示エリアの移動量を推定する。単位時間あたりの表示エリアの移動量とは、地図の任意の位置が単位時間あたりに表示エリアを移動する距離である。以下、特に断らない限り、単位時間あたりの表示エリアの移動量を「表示エリアの移動量」または単に「移動量」と呼ぶ。
【００６８】
任意の位置は、「現在地表示モード」の場合、例えば、ユーザ端末１００の周囲に所在する建物や道路等を表示している位置である。この場合、表示エリアの移動量は、表示エリアにおいて当該建物や道路を表示している位置が単位時間に移動する距離となる。また、任意の位置は、「現在地移動モード」の場合、例えば、ユーザ端末１００を表すマークが表示されている位置である。この場合、表示エリアの移動量は、表示エリアにおいて当該マークが単位時間に移動する距離となる。
【００６９】
インターバル決定部１７４は、ユーザ５の速度および地図の縮尺に基づいて、表示エリアの移動量を推定する。インターバル決定部１７４は、以下の式（１）に基づき、表示エリアの移動量を推定する。
表示エリアの移動量＝ユーザ５の速度×単位時間×地図の縮尺  （１）
【００７０】
次に、インターバル決定部１７４は、式（１）に基づき推定された表示エリアの移動量を用いて、インターバルを決定する。インターバルは、次の描画更新までの時間の間隔である。インターバルは、滑らかな地図の描画を担保できる間隔に設定される。すなわち、インターバルは、画面に表示される地図をスムーズに更新できる間隔に設定される。上述のとおり、図１の例では、インターバルは、第１地図１が表示されてから、第２地図２に関する地図データの取得処理の実行が開始されるまでの間隔である。
【００７１】
インターバル決定部１７４は、以下の式（２）に基づき、インターバルを決定する。
インターバル＝滑らかな地図の描画を担保できる移動量÷表示エリアの移動量  （２）
【００７２】
滑らかな地図の描画を担保できる移動量は、ユーザ端末１００を視認するユーザ５にとって、地図がスムーズに遷移しているように見える程度の移動量である。または、滑らかな地図の描画を担保できる移動量は、ユーザ端末１００を視認するユーザ５にとって、ユーザ端末１００を表すマークがスムーズに移動しているように見える程度の移動量である。滑らかな地図の描画を担保できる移動量は、表示エリアのサイズおよび地図の縮尺等に基づき設定される値である。滑らかな地図の描画を担保できる移動量は、さらに、地図に現れた領域の状況に基づいて、設定されてもよい。地図に現れた領域の状況とは、具体的には、例えば、建物の数が多いか少ないか、及び道路の数が多いか少ないか、等である。
【００７３】
ここで、表示エリアの移動量の推定例、およびインターバルの決定例につき、具体的に説明しておく。
【００７４】
例として、地図の縮尺を１/５０００、ユーザ５の速度を９０ｋｍ／ｈ、単位時間を１秒（ｓ）、滑らかな地図の描画を担保できる移動量を０．１ｃｍ・Ｓとする。
【００７５】
まず、表示エリアの移動量は、以下のとおり、推定される。
表示エリアの移動量＝９０ｋｍ／ｈ×１Ｓ×１／５０００
＝２５０００ｃｍ／ｓ×１Ｓ×０．０００２
＝０．５ｃｍ
【００７６】
次に、インターバルは、以下のとおり、決定される。
インターバル＝０．１ｃｍ・Ｓ÷０．５ｃｍ
＝０.２Ｓ
【００７７】
このようにして、インターバル決定部１７４は、表示エリアの移動量を推定する。また、インターバル決定部１７４は、インターバルを決定する。なお、ユーザ５の速度がゼロである場合、すなわち、ユーザ端末１００が停止している場合、上記の式（１）の値はゼロとなる。そして、上記の式（１）の値がゼロである場合、上記の式（２）の値は無限大となる。この場合、インターバルが無限大ということになるが、無限大の長さのインターバルは、現実的ではない。したがって、ユーザ５の速度がゼロまたは所定の速度以下である場合、インターバル決定部１７４は、予め定められた間隔時間であるインターバルを決定する。インターバル決定部１７４および上記の描画部１７３は、表示制御部に相当する。
【００７８】
ユーザ端末１００は、決定されたインターバルで地図データを取得することで、ユーザ５が移動する距離に応じた頻度で、地図データを受信できる。すなわち、ユーザ端末１００は、先に取得する位置データと、次に取得する他の位置データとの距離に応じた頻度で、地図データを受信できる。このようにインターバル決定部１７４および描画部１７３は、ユーザ５の現在地を示す位置データに応じてユーザ端末通信部１１０が取得した地図データに基づき、出力部１３０に表示された地図を更新できる。
【００７９】
ナビゲーション部１７５は、ユーザ端末１００の現在地から目的地までユーザ５を案内する案内機能を有する。また、ナビゲーション部１７５は、所望位置または所望施設の検索機能を有する。ただし、これら機能は公知な機能であり、
説明は省略する。なお、ナビゲーション部１７５は、ユーザ端末制御部１７０に必須の処理部ではない。ナビゲーション部１７５が備える機能は、例えば、コンテンツ配信サーバ１０が備えていてもよい。
【００８０】
例えば、ナビゲーション部１７５は、ユーザ５の位置データとコンテンツ配信サーバ１０から配信された地図データとのマップマッチング処理を実行する。マップマッチング処理の実行によりユーザ端末１００の現在位置を求める。また、ナビゲーション部１７５は、現在位置から、ユーザ５が設定した目的地までの誘導ルートの探索および設定を実行する。ナビゲーション部１７５は、設定した誘導ルートに沿った走行を案内する。案内は、例えば、案内内容の音声、および地図に表示されるマークを用いて、ユーザ５に対して実行される。ナビゲーション部１７５は、地図が更新されるたびに、設定された誘導ルートを、更新された地図上に表示する。
【００８１】
〔５．処理フロー〕
図５を用いて、ユーザ端末１００による表示処理の手順について、より詳細に説明する。図５は、ユーザ端末１００による表示処理の手順を示すシーケンス図である。
【００８２】
（初回描画）
図５に示すように、ステップＳ１０１において、インターバル決定部１７４は、初回描画時のインターバルを決定する。ステップＳ１０１では、ユーザ端末１００でウェブブラウザ１０１を用いてユーザアクションが行われると、インターバル決定部１７４は、予め定められた時間でインターバルを決定する。インターバル決定部１７４は、ユーザ５の速度データおよび地図の縮尺データの取得処理は実行しない。
【００８３】
次に、インターバル決定部１７４は、ステップＳ１０２において、ステップＳ１０１にて決定したインターバルをタイマーに設定する。このタイマー機能は、例えば、ウェブブラウザ１０１に実装されているＪａｖａＳｃｒｉｐｔ（登録商標）が提供するタイマー機能である。このタイマーは、要求部１７１に対し、設定される。要求部１７１は、ステップＳ１０３において、ステップＳ１０２にて設定されたタイマーのタイムアウトを待機する。
【００８４】
ステップＳ１０４において、ステップＳ１０３にて設定されたタイマーがタイムアウトすると、要求部１７１は、当該タイムアウトをインターバル決定部１７４に通知する。インターバル決定部１７４は、ステップＳ１０５において、要求部１７１からタイムアウトの通知を受けると、要求部１７１にＧＰＳ情報を要求する。ＧＰＳ情報は、詳細には、ユーザ５の位置データおよび速度データである。
【００８５】
なお、ＪａｖａＳｃｒｉｐｔはウェブブラウザ１０１で動作するプログラミング言語である。具体的には、インターバル決定部１７４は、ＪａｖａＳｃｒｉｐｔが提供するタイマー機能に対して、地図の描画のため一連の処理を担う関数を、コールバック関数として登録する。そして、インターバル決定部１７４は、タイマーをスタートさせる。タイマーがタイムアウトすると、コールバック関数が呼び出される。なお、インターバル決定部１７４の処理は、ＪａｖａＳｃｒｉｐｔを利用する構成に限定されない。
【００８６】
ＧＰＳ受信部１６０による測位は、所定の時間間隔で行われる。要求部１７１は、ステップＳ１０６において、ＧＰＳ受信部１６０からＧＰＳ情報が出力されると、出力されたＧＰＳ情報を受け取る。要求部１７１は、ステップＳ１０７において、ステップＳ１０６にて受け取ったＧＰＳ情報をインターバル決定部１７４に出力する。
【００８７】
インターバル決定部１７４は、ステップＳ１０８において、要求部１７１に対して、地図データの配信を要求させる。インターバル決定部１７４は、受け取ったＧＰＳ情報に含まれるユーザ５の位置データに基づき配信要求対象の地図データを決定する。配信要求対象の地図データは、現在のユーザ５の位置データに対応する。
【００８８】
要求部１７１は、ステップＳ１０９において、コンテンツ配信サーバ１０にＨＴＴＰリクエストを送信する。ＨＴＴＰリクエストは、詳細には、上記の配信要求対象の地図データの配信を要求する処理である。ＨＴＴＰリクエストには、ユーザ５の位置データが含まれる。そのため、要求部１７１は、ユーザ５の位置データを所定の時間間隔で取得する。要求部１７１は、位置データ取得部に相当する。
【００８９】
コンテンツ配信サーバ１０は、受信したＨＴＴＰリクエストを受け付けると、ステップＳ１１０において、要求部１７１にＨＴＴＰレスポンスを返す。ＨＴＴＰレスポンスは、詳細には、配信要求対象の地図データを地図データＤＢ１２１から読み出し、読み出した地図データを要求部１７１に送信する処理である。
【００９０】
要求部１７１は、ステップＳ１１１において、コンテンツ配信サーバ１０から受け取った地図データを描画部１７３に出力する。描画部１７３は、ステップＳ１１２において、要求部１７１から受け取った地図データを描画する。ユーザ端末１００の出力部１３０に地図が表示される。
【００９１】
インターバル決定部１７４は、上記のステップＳ１０７にて受け取ったＧＰＳ情報に含まれるユーザ５の速度データ、および、ユーザ端末１００の所定の記憶部に記憶された地図の縮尺データを取得する。そして、インターバル決定部１７４は、ステップＳ１１３において、上記の速度および地図の縮尺、並びに、上記の単位時間および滑らかな地図の描画を担保できる移動量に基づいて、インターバルを決定する。
【００９２】
（第２回描画）
図５に示すように、インターバル決定部１７４は、ステップＳ１１４において、ステップＳ１１３にて決定したインターバルをタイマーに設定する。このタイマーは、要求部１７１に対し、設定される。要求部１７１は、ステップＳ１１５において、ステップＳ１１４にて設定されたタイマーのタイムアウトを待機する。
【００９３】
設定されたタイマーがタイムアウトすると、要求部１７１は、ステップＳ１１６において、当該タイムアウトをインターバル決定部１７４に通知する。インターバル決定部１７４は、要求部１７１からタイムアウトの通知を受けると、ステップＳ１１７において、要求部１７１にＧＰＳ情報を要求する。
【００９４】
以降、初回描画の場合と同様、上記のステップＳ１０６からステップＳ１１３までが繰り返されることになる。
【００９５】
このようにして、ユーザ端末１００は、表示エリアの移動量に応じた必要最小限の頻度での地図描画の更新を実現できる。それゆえ、ユーザ端末１００は、スムーズな地図の表示が可能となる。
【００９６】
また、ユーザ端末１００は、地図描画の更新頻度を下げることができるので、地図描画にかかる負荷を抑制することができる。これにより、ユーザ端末１００は、ユーザ５の利便性を低下させることも無い。
【００９７】
地図の更新にかかる処理は、本実施形態に係る制御プログラムに基づいて行われる。本実施形態において、制御プログラムは、ＨＴＭＬファイルと、ＪａｖａＳｃｒｉｐｔファイルと、ＷｅｂＡｓｓｅｍｂｌｙモジュールとで構成される。ＨＴＭＬファイルは、地図表示用のＨＴＭＬデータを含む。本実施形態において、地図表示用のＨＴＭＬデータは、ウェブページを形成するＨＴＭＬデータのうち、出力部１３０に地図を表示させるＨＴＭＬデータを示す。ＪａｖａＳｃｒｉｐｔファイルは、ＪａｖａＳｃｒｉｐｔ（登録商標）で記述されている。ＷｅｂＡｓｓｅｍｂｌｙモジュールは、Ｃ言語やＣ♯言語で記述されたプログラムのソースコードを、ＷｅｂＡｓｓｅｍｂｌｙコードにコンパイルして得られる。なお、コンパイルには、専用のコンパイラが使用される。
【００９８】
制御プログラムには、ＪａｖａＳｃｒｉｐｔが提供するタイマー機能に対して、地図の描画のため一連の処理を担う関数が、コールバック関数として登録されている。出力部１３０に表示された地図を更新する場合、インターバル決定部１７４は、制御プログラムに基づき、タイマーをスタートさせる。タイマーがタイムアウトすると、コールバック関数が呼び出される。コールバック関数が呼び出されると、インターバル決定部１７４は、制御プログラムに基づき、ＧＰＳ情報を取得する。取得部１７２は、ＧＰＳ情報をパラメータとしてコンテンツ配信サーバ１０から地図データを取得する。描画部１７３は、制御プログラムに基づき、地図データを元に地図描画を行う。インターバル決定部１７４は、制御プログラムに基づき、再びタイマーを設定する。これにより、ユーザ端末制御部１７０は、定期的に描画処理を繰り返し、ユーザ５の現在位置の移動に追従して地図を描画できる。なお、インターバル決定部１７４の処理は、ＪａｖａＳｃｒｉｐｔを利用する構成に限定されない。また、取得部１７２の処理は、ＪａｖａＳｃｒｉｐｔを利用する構成に限定されない。
【００９９】
従来、ウェブブラウザで動作するプログラム言語は、ＪａｖａＳｃｒｉｐｔのみであった。ＪａｖａＳｃｒｉｐｔは、シンプルなスクリプト言語であり、高速に処理できるように設計されていない。スクリプト言語は、人間の言語に近いプログラム言語で、プログラムの実行時に、マシン語に変換される必要がある。ＪａｖａＳｃｒｉｐｔで記述されたプログラムは、マシン語に変換されながら実行されるので、コンパイラで事前に変換されたプログラムに比べて、処理速度が遅くなる。そのため、従来のウェブブラウザは、一度に大量の演算を行えず、高度なパフォーマンスを実現できなかった。
【０１００】
これに対して、最近の主要な全てのウェブブラウザ１０１は、ＷｅｂＡｓｓｅｍｂｌｙに対応する仕様である。ＷｅｂＡｓｓｅｍｂｌｙは、バイナリコードの新しく策定されたフォーマットである。バイナリコードは、マシン語なので、ＪａｖａＳｃｒｉｐｔに比べて高速で実行される。
【０１０１】
本実施形態の制御プログラムは、ウェブブラウザ１０１で実行される場合、ＪａｖａＳｃｒｉｐｔからＷｅｂＡｓｓｅｍｂｌｙの関数を呼び出すことができる。また、制御プログラムは、ＷｅｂＡｓｓｅｍｂｌｙからＪａｖａＳｃｒｉｐｔの関数を呼び出すことができる。すなわち、制御プログラムは、ＪａｖａＳｃｒｉｐｔによって実行される処理を、ＷｅｂＡｓｓｅｍｂｌｙで補完することができる。そのため、ウェブブラウザ１０１は、大量の演算を行って、リッチなコンテンツを動作させることが可能になる。
【０１０２】
例えば、ウェブブラウザ１０１は、ＷｅｂＡｓｓｅｍｂｌｙモジュールに基づいて、地図データをパースするパース処理を行う。パース処理において、ウェブブラウザ１０１は、コンテンツ配信サーバ１０から送信された地図データのうち、地図の更新に必要なデータと不要なデータとを判別し、地図データから地図の更新に必要なデータを取り出す。地図の更新に必要なデータは、例えば、地図の見た目に関するデータである。地図の更新に必要なデータとしては、道路の位置や形状、幅を示すデータ、および、施設の形状を示すデータ等が挙げられる。地図の更新に不要なデータとしては、例えば、ルート検索のためのデータ、および、ルート案内のためのデータ等が挙げられる。またウェブブラウザ１０１は、ＷｅｂＡｓｓｅｍｂｌｙモジュールに基づいて、取り出したデータから描画用データを生成する。描画用データは、道路や建物等に対応する矩形の頂点に関する情報を含む。また描画用データは、ポリゴン情報を含む。ポリゴン情報は、道路や建物等に対応するポリゴンの頂点に関する情報である。このように、ウェブブラウザ１０１は、ＷｅｂＡｓｓｅｍｂｌｙモジュールに基づいて、地図データから描画用データの生成を行う。
【０１０３】
本実施形態において、ウェブブラウザ１０１は、ｃaｎｖaｓを利用して地図を描画する。ｃaｎｖaｓは、ウェブブラウザ１０１で２次元コンピュータグラフィックスを表示させるためのＨＴＭＬの要素である。ｃaｎｖaｓは、ＨＴＭＬデータを利用して出力部１３０に図形を表示させることができる。ｃaｎｖaｓは、ＨＴＭＬのタグで定義される。地図表示用のＨＴＭＬデータには、地図を構成する各図形を描画するためのｃaｎｖaｓ要素が含まれる。ウェブブラウザ１０１は、ｃaｎｖaｓで形成される地図領域に、ｃaｎｖaｓの２Ｄ（２−Ｄｉｍｅｎｓｉｏｎｓ）図形を描画する機能によってＰＯＩ（Ｐｏｉｎｔ  Ｏｆ  Ｉｎｔｅｒｆａｃｅ）やランドマーク等のアイコン画像を表示する。ウェブブラウザ１０１は、ＷｅｂＧＬ（Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ）で地図領域に道路等を表す図形を描画する。ＷｅｂＧＬは、ウェブブラウザ１０１で３次元コンピュータグラフィックスを表示させるための技術である。ウェブブラウザ１０１は、描画用データに含まれる矩形の頂点に関する情報及びポリゴンの頂点に関する情報が引数としてｃaｎｖaｓ要素に渡されることで、アイコン画像や道路等を表す図形を描画する。これによって出力部１３０に地図が表示される。
【０１０４】
ウェブブラウザ１０１は、地図表示用のＨＴＭＬデータに基づき、ユーザがナビゲーション機能を発揮させるためにユーザ端末１００を操作する場合のＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）として各種の表示を行う。本実施形態において、ウェブブラウザ１０１は、例えば図１１に示す「ここに行く」という文字を表すボタン５２Ｂ−１を表示する。
【０１０５】
ウェブブラウザ１０１は、ユーザ端末１００がナビゲーション機能を実行している場合に、コンテンツ配信サーバ１０にリクエストして、新たにＨＴＭＬファイルを取得してもよい。これによって、ウェブブラウザ１０１は、ユーザ端末１００がナビゲーション機能を実行中に、ウェブページの構成を大きく変えることができる。
【０１０６】
このようにウェブブラウザ１０１は、ＪａｖａＳｃｒｉｐｔファイルと、描画用データとに基づいて、地図を更新する。なお、ウェブブラウザ１０１は、ＷｅｂＡｓｓｅｍｂｌｙモジュールに基づいて、上記以外の処理を行う構成であってもよい。また、地図表示用のＨＴＭＬデータは、制御プログラムに含まれる構成に限定されない。ユーザ端末１００は、ユーザ端末記憶部１４０に地図表示用のＨＴＭＬデータが予め記憶されている構成であってもよい。
【０１０７】
以上のことから、ユーザ端末１００は、本実施形態の制御プログラムを用いることで、ウェブブラウザ１０１で処理を高速で行え、ルート検索、地図の更新、およびナビゲートなど、カーナビゲーション装置と同様の機能をウェブブラウザで発揮させることができる。
【０１０８】
（実施形態１の変形例）
上述のとおり、本実施形態では、第１地図１および第２地図２の表示処理は「現在地表示モード」で行われる例を用いて説明した。また、本実施形態では、地図の更新が不要な場合でも、地図データの取得処理を所定の頻度で実行する例を用いて説明した。しかしながら、本実施形態は、それらの例に限られるものではない。
【０１０９】
本実施形態の変形例において、ユーザ端末１００は、「現在地表示モード」でなく、「現在地移動モード」を実行してもよい。また、本実施形態の変形例において、ユーザ端末１００は、地図の更新が不要な場合、地図データの取得処理を行わない構成であってもよい。
【０１１０】
本実施形態の変形例において、ユーザ端末１００は、「現在地表示モード」の場合、下記のとおり、地図の更新の要否を判断する。
・地図の更新が必要：ユーザ５が移動している場合、または、ユーザ５の向きが変化している場合の少なくともいずれか一方。
・地図の更新が不要：ユーザ５が停止している場合。
【０１１１】
ユーザ端末１００は、「現在地移動モード」の場合、下記のとおり、地図の更新の要否を判断する。
・地図の更新が必要：ユーザ５の移動に伴い、位置マーク３がじきに画面に表示されなくなる場合、または、ユーザ５の向きが変化している場合の少なくともいずれか一方。位置マーク３がじきに画面に表示されなくなる場合は、位置マーク３が画面の端部まで移動した場合である。この場合、位置マーク３を画面中央付近に再配置するため、地図の更新が必要となる。
・地図の更新が不要：ユーザ５が停止している場合、または、ユーザ５は移動しているものの、所定の時間、位置マーク３が画面に表示され続けると推測される場合の少なくともいずれか一方。
【０１１２】
変形例１に係るユーザ端末１００は、タイマーがタイムアウトすると、地図の更新が不要と判断した場合には、地図データの取得処理を行わず、地図の更新が必要と判断した場合には、地図データの取得処理を実行する。
【０１１３】
変形例１に係るユーザ端末１００によれば、地図データの取得処理を実行する頻度を抑制することができる。
【０１１４】
また、変形例２に係るユーザ端末１００は、ユーザ５とは異なる第三者の位置データに対応する位置マークを、位置マーク３として表示させる。第三者とは、例えば、ユーザ５が存在する場所から離れた遠隔地に存在する第三者である。離れている距離の長短は問わない。第三者は移動体である。移動体は、例えば、人又は車両である。また、変形例２に係るユーザ端末１００は、ユーザ端末１００と異なる他の装置から、第三者の位置データを取得する。ユーザ端末１００は、例えば、コンテンツ配信サーバ１０から第三者の位置データを取得する。この場合、第三者からコンテンツ配信サーバ１０に対し、第三者の位置データが随時送信される。第三者の位置データの取得先であるサーバは、コンテンツ配信サーバ１０とは異なるサーバであってもよい。
【０１１５】
変形例２に係るユーザ端末１００によれば、ユーザ端末１００から離れた位置にある第三者の位置を、ユーザ５のユーザ端末１００で追うことができる。より具体的には、変形例２に係るユーザ端末１００は、遠隔地にいる第三者を、目的地にナビゲーションすることができる。あるいは、変形例２に係るユーザ端末１００は、ユーザ５から離れた場所にいる第三者の移動を見守ることができる。
【０１１６】
なお、上述の変形例１および変形例２は、表示処理が「現在地表示モード」および「現在地移動モード」のいずれであっても適用可能である。また、上述の変形例２は、地図の更新の要否に拘らず、所定の頻度で、地図データの取得処理を実行してもよい。また、上述の変形例２は、地図の更新が不要となる場合、地図データの取得処理を停止し、地図の更新が必要となる場合、地図データの取得処理を実行してもよい。
【０１１７】
≪実施形態２≫
図６を用いて、本発明の実施形態２に係る表示装置が実行する表示処理の一例について説明する。
【０１１８】
図６に示したウェブサーバ２０は、ユーザ端末１００にウェブページを配信するサーバ装置である。ウェブサーバ２０によって配信されるウェブページは、例えば、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル、又はＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル等により形成される。ＨＴＭＬファイルは、ＨＴＭＬで記述されている。ＸＭＬファイルは、ＸＭＬで記述されている。図６の例では、ウェブサーバ２０は、ウェブページの一例であるウェブページ８をユーザ端末１００に配信する。
【０１１９】
ウェブページ８は、ページを構成する要素である一部のコンテンツを、別のサーバ装置から取得するようタグによって指定する。本実施形態において、別のサーバ装置は、コンテンツ配信サーバ１０である。例えば、ウェブページ８を取得したユーザ端末１００は、タグによるコンテンツ取得指定に従って、コンテンツ配信サーバ１０に、コンテンツとして地図データの配信を要求する。そして、コンテンツ配信サーバ１０は、ユーザ端末１００に地図データを配信する。地図データの配信の要求は、ウェブページ８に埋め込まれたｉｆｒａｍｅ（Ｉｎｌｉｎｅ  ｆｒａｍｅ）タグをウェブブラウザ１０１が実行することで行われる。地図はウェブページ８を構成するＨＴＭＬファイルの入れ子として取り扱われる。
【０１２０】
〔１．表示処理〕
以下では、ユーザ端末１００の状態遷移を図示する場合、図６中において左から順に第１−１状態、第１−２状態と表記する。
【０１２１】
図６に示すように、まずステップＳ２１において、ユーザ端末１００は、ユーザ５が閲覧を所望したウェブページ８の取得先ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）にアクセスする。取得先ＵＲＬは、例えば、図７の１００１で示すＵＲＬである。詳細には、ユーザ端末１００は、ウェブページ８を提供するウェブサーバ２０にアクセスする。ウェブサーバ２０は、ユーザ端末１００のアクセスを受けて、ステップＳ２２において、ウェブページ８を配信する。
【０１２２】
図６の例において、ウェブページ８は、例えば、お店又は商業施設など、消費者を集客したい店舗等のアクセスガイド用のコンテンツである。図６の例では、図示を省略しているが、ウェブページ８の縦方向のサイズは、ユーザ端末１００の表示エリアにおける縦方向のサイズよりも長くてもよい。この場合、ユーザ端末１００の表示エリア内に位置するウェブページ８の領域のみが表示エリアに表示され、表示エリア外に位置するウェブページ８の領域は表示されない。ユーザ端末１００のユーザは、例えば、指を用いてスワイプ操作やフリック操作を行うことで、表示されたウェブページ８をスクロールさせ、ウェブページ８のうち表示エリア内に位置させる領域を変更する。
【０１２３】
また、第１−１状態において、ウェブページ８は、お店又は商業施設などに関する住所、連絡先、およびトピックス等を表示する表示領域５１の他に、ウェブページ８とは別に配信される地図を表示する表示領域である地図領域５２を含む。地図領域５２は、例えば、ウェブページ８の下方に配置される。地図領域５２は、ウェブページ８とは別に配信される地図が表示される領域である。図８に、表示領域５１および地図領域５２の具体例を示す。図８に示すように、表示領域５１Ａには、住所、電話番号、および受付時間が表示されている。また、地図領域５２Ｂには地図は表示されていない。
【０１２４】
ウェブページ８を形成するＨＴＭＬファイル等には、地図領域５２で表示する地図に関する地図データの配信を要求するためのｉｆｒａｍｅタグが埋め込まれている。ウェブページ８を形成するＨＴＭＬファイルは、例えば、図９の１００２で示すＨＴＭＬファイルである。また、ＨＴＭＬファイルに埋め込まれるｉｆｒａｍｅタグは、例えば、図９の１００３で示すｉｆｒａｍｅタグである。ユーザ端末１００は、ステップＳ２３において、ウェブページ８のｉｆｒａｍｅタグに基づいて、地図データの配信を要求する。具体的には、ユーザ端末１００は、ＨＴＭＬファイルに記載されているＵＲＬにアクセスし、地図データを取得する。このアクセス先であるＵＲＬは、例えば、図１０の１００４で示すＵＲＬである。図１０の１００４で示すＵＲＬは、図９の１００３で示すｉｆｒａｍｅタグに含まれるＵＲＬである。
【０１２５】
なお、本実施形態では、ユーザ端末１００は、コンテンツ配信サーバ１０から地図データを取得する。
【０１２６】
ユーザ端末１００は、ステップＳ２４において、地図データの配信をコンテンツ配信サーバ１０に要求する。コンテンツ配信サーバ１０は、地図データの配信の要求に従い、ステップＳ２５において、対象の地図データをユーザ端末１００に配信する。
【０１２７】
ここで、本実施形態でも、ユーザ端末１００からコンテンツ配信サーバ１０に対する地図データの取得処理は、上述の実施形態１と同様に実行される。すなわち、本実施形態は、地図の更新が不要な場合でも、地図データの取得処理を実行する構成であってもよく、地図の更新が不要な場合に、地図データの取得処理を実行しない構成であってもよい。
【０１２８】
上記の処理を経て、ユーザ端末１００は、地図データを取得する。ユーザ端末１００は、配信された地図データに基づいて、ステップＳ２６において、地図領域５２に地図を表示する。ステップＳ２６の処理により、ユーザ端末１００は、第１−２状態に遷移する。図１１に、表示領域５１および地図領域５２の具体例を示す。図１１に示すように、表示領域５１Ａには、住所、電話番号、および受付時間が表示されている。また、地図領域５２Ｂには地図が表示されている。
【０１２９】
なお、図１１の例では、地図領域５２Ｂには、目的地が示された地図が表示されている。目的地は、例えば店舗等の位置である。詳細には、地図には、目的地を示す位置マーク６が表示されている。また、地図領域５２Ｂには、「ここに行く」という文字を表すボタン５２Ｂ−１が表示されている。ボタン５２Ｂ−１が表示された位置をユーザ５がクリックすると、図１２に示すように、位置マーク３と、経路マーク７とが表示される。位置マーク３は、ユーザ５の現在地に表示される。経路マーク７は、ユーザ５の現在地から目的地までの経路を示す。ボタン５２Ｂ−１の表示された位置がクリックされた後、地図の縮尺は、ユーザ５の現在地と目的地との距離によって変化する。ユーザ５の現在地と目的地とが離れているほど、地図の縮尺は大きくなる。
【０１３０】
また、ユーザ５がユーザ端末１００をナビゲーションとして利用する場合、ユーザ端末１００は、ユーザ５の現在地を含む所定領域を示す地図を表示する。この所定領域は、地図の縮尺によって変化する。所定領域は、地図の縮尺が大きいほど広くなる。所定領域は、地図の縮尺が小さいほど狭くなる。また、所定領域は、ユーザ５の移動に伴って変化する。
【０１３１】
〔２．システムの構成〕
図１３を用いて、本実施形態に係るシステムの構成について説明する。図１３は、本実施形態に係るシステムの構成例を示す図である。図１３に示すように、本実施形態に係るシステムは、ユーザ端末１００と、コンテンツ配信サーバ１０と、ウェブサーバ２０とを含む。ユーザ端末１００、コンテンツ配信サーバ１０およびウェブサーバ２０は、ネットワーク４を介して有線または無線により通信可能に接続される。なお、図１３に示すシステムに含まれる各装置の数は図示したものに限られず、例えば、本実施形態に係るシステムには、複数台のユーザ端末１００が含まれてもよい。また、例えば、本実施形態に係るシステムには、複数台のコンテンツ配信サーバ１０が含まれてもよい。また、例えば、本実施形態に係るシステムには、複数台のウェブサーバ２０が含まれてもよい。
【０１３２】
〔３．ウェブサーバの構成〕
図１４を用いて、ウェブサーバ２０の構成について説明する。図１４は、ウェブサーバ２０の構成例を示す図である。図１４に示すように、ウェブサーバ２０は、ウェブサーバ通信部２１と、ウェブページ記憶部２２と、ウェブサーバ制御部２３とを有する。ウェブサーバ２０は、第２サーバに相当する。
【０１３３】
ウェブサーバ通信部２１は、例えば、ＮＩＣ等によって実現される。そして、ウェブサーバ通信部２１は、ネットワーク４と有線または無線で接続され、ユーザ端末１００やコンテンツ配信サーバ１０との間で情報の送受信を行う。
【０１３４】
ウェブページ記憶部２２は、記憶装置によって実現される。記憶装置は、例えば、ＲＡＭ、もしくはフラッシュメモリ等の半導体メモリ素子、ハードディスク、又は光ディスク等が挙げられる。ウェブページ記憶部２２は、例えば、ＨＴＭＬファイル又は画像データ等を記憶する。ＨＴＭＬファイルは、ウェブページ８に対応するＨＴＭＬで記述されている。画像データは、ウェブページ８を構成する静止画像や動画像のデータである。
【０１３５】
ウェブサーバ制御部２３は、例えば、ＣＰＵ又はＭＰＵ等によって実現される。ＣＰＵ又はＭＰＵ等は、ウェブサーバ２０内部の記憶装置に記憶されている各種プログラムを、ＲＡＭを作業領域として実行する。また、ウェブサーバ制御部２３は、例えば、ＡＳＩＣ又はＦＰＧＡ等の集積回路により実現される。
【０１３６】
図１４に示すように、ウェブサーバ制御部２３は、ウェブサーバ受付部２４と、ウェブサーバ配信部２５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、ウェブサーバ制御部２３の内部構成は、図１４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、ウェブサーバ制御部２３が有する各処理部の接続関係は、図１４に示した接続関係に限られず、他の接続関係であってもよい。
【０１３７】
ウェブサーバ受付部２４は、ユーザ端末１００からウェブページ８の配信の要求を受け付ける。例えば、ウェブサーバ受付部２４は、ウェブページ８の取得要求として、ＨＴＴＰリクエストを受け付ける。
【０１３８】
ウェブサーバ配信部２５は、ウェブサーバ受付部２４によってウェブページ８の配信の要求が受け付けられた場合に、ウェブページ８をユーザ端末１００に配信する。具体的には、ウェブサーバ配信部２５は、ウェブページ記憶部２２から配信する対象のウェブページ８を取得し、取得したウェブページ８をユーザ端末１００に配信する。ユーザ端末１００は、取得したウェブページ８を表示する際に、コンテンツ配信サーバ１０に対して地図データの配信を要求する。ユーザ端末１００に配信される地図データは、地図領域５２に表示する地図に関する地図データである。ユーザ端末１００は、地図領域５２に表示される地図に関する地図データの取得処理を実行する。
【０１３９】
〔４．ユーザ端末の応用例〕
ユーザ端末１００は、ウェブページの中で目的地までの道案内をすることが可能になる。そのため、ユーザ端末１００をナビゲーションシステムとして利用する企業にとっては、シームレスな店舗誘導を実現でき、集客の手助けとなる。
【０１４０】
また、本実施形態に係る制御プログラムは、ウェブブラウザさえあれば、どんなモバイル端末でも利用可能である。そのため、専用のアプリケーションや特別なシステムは不要であり、本実施形態に係る制御プログラムをナビゲーションシステムとして企業が導入する際の障壁が低い。
【０１４１】
さらに、ユーザ端末１００を利用する顧客は、ウェブサイトで見つけた店舗等へ向かう際、専用のアプリケーションに目的地を設定する手間が不要になる。
【０１４２】
本実施形態を利用したビジネスモデルとしては、本実施形態の制御プログラムに対応したウェブページを採用する企業に対して、ユーザ端末１００からコンテンツ配信サーバ１０へ送信された要求の種類や、要求の回数に応じて、従量的に課金することが考えられる。
【０１４３】
なお、本実施形態に係る制御プログラムは、ウェブブラウザで実行されるプログラムに限定されず、アプリケーションで実行されてもよい。
【０１４４】
≪ハードウェア構成≫
上述の実施形態１および実施形態２に係るシステムのハードウェア構成につき、説明する。
【０１４５】
ユーザ端末１００、コンテンツ配信サーバ１０、およびウェブサーバ２０は、例えば図１５に示すような構成のコンピュータ２００によって実現される。以下、ユーザ端末１００を例に挙げて説明する。
【０１４６】
図１５は、ユーザ端末１００の機能を実現するコンピュータ２００の一例を示すハードウェア構成図である。コンピュータ２００は、ＣＰＵ２１０、ＲＡＭ２２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２３０、ＨＤＤ等からなる記憶装置２４０、通信インターフェイス（Ｉ／Ｆ）２５０、入出力インターフェイス（Ｉ／Ｆ）２６０、およびメディアインターフェイス（Ｉ／Ｆ）２７０を有する。これら各構成部材同士は、バス２８０を介して、情報の送受信を行う。
【０１４７】
ＣＰＵ２１０は、ＲＯＭ２３０または記憶装置２４０に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ２３０は、コンピュータ２００の起動時にＣＰＵ２１０によって実行されるブートプログラムや、コンピュータ２００のハードウェアに依存するプログラム等を格納する。
【０１４８】
記憶装置２４０は、ＣＰＵ２１０によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス２５０は、例えば、図２に示したネットワーク４を介して他の機器からデータを受信してＣＰＵ２１０へ送る。また、通信インターフェイス２５０は、ネットワーク４を介してＣＰＵ２１０が生成したデータを他の機器へ送信する。
【０１４９】
ＣＰＵ２１０は、入出力インターフェイス２６０を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。ＣＰＵ２１０は、入出力インターフェイス２６０を介して、入力装置からデータを取得する。また、ＣＰＵ２１０は、入出力インターフェイス２６０を介して生成したデータを出力装置へ出力する。
【０１５０】
メディアインターフェイス２７０は、図示しない記録媒体に格納されたプログラムまたはデータを読み取り、ＲＡＭ２２０を介してＣＰＵ２１０に提供する。ＣＰＵ２１０は、かかるプログラムを、メディアインターフェイス２７０を介して記録媒体からＲＡＭ２２０上にロードし、ロードしたプログラムを実行する。記録媒体は、例えばＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光学記録媒体、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１５１】
例えば、コンピュータ２００がユーザ端末１００として機能する場合、コンピュータ２００のＣＰＵ２１０は、ＲＡＭ２２０にロードされたプログラムを実行することにより、ユーザ端末制御部１７０の機能を実現する。コンピュータ２００のＣＰＵ２１０は、他の装置からネットワーク４を介してこれらのプログラムを取得する。他の例として、ＣＰＵ２１０は、これらのプログラムを記録媒体から読み取ってもよい。
【０１５２】
≪実施形態３≫
上記の実施形態１および実施形態２では、上記の実施形態１および実施形態２に係る移動体の一例として、ユーザ５を例として説明した。本実施形態では、本実施形態に係る移動体の一例として、車両を例に実施形態として説明する。
【０１５３】
本実施形態では、ユーザ端末１００は車両に搭載される。ユーザ端末１００は、当該車両に搭載されたナビゲーション装置とＳＤＬ（Ｓｍａｒｔ  Ｄｅｖｉｃｅ  Ｌｉｎｋ）を用いて連携する。当該連携により、近距離無線通信を介して、ナビゲーション装置との間で情報の送受信を行う。これにより、ユーザ端末１００は、ナビゲーション装置から、車両の位置データと、車両の速度データとを取得することができる。
【０１５４】
本実施形態によれば、ユーザ端末１００は、ＧＰＳ受信部１６０は不要となるので、ユーザ端末１００の低コスト化を図ることができる。
【０１５５】
≪変形例３≫
上記実施形態１、実施形態２、および実施形態３の変形例３について説明する。図１６は、本変形例３に係るユーザ端末１００Ａの構成例を示す図である。本変形例３に係るユーザ端末１００Ａが上記実施形態１、実施形態２、および実施形態３に係るユーザ端末１００と異なる点は、インターバル決定部１７４に代えて、遅延検出部１７４Ａ−１を有するインターバル決定部１７４Ａを備えた点である。
【０１５６】
上記実施形態、実施形態２、および実施形態３に係るユーザ端末１００では、図２のネットワーク４を経由して、コンテンツ配信サーバ１０と通信する。ネットワーク４は、例えばインターネットである。このため、ユーザ端末１００とコンテンツ配信サーバ１０と間の通信速度が、ネットワーク４の通信品質等によって左右されて、通信遅延が生じることが考えられる。
【０１５７】
そこで、本変形例３に係るユーザ端末１００では、インターバルを決定する際、ユーザ端末１００とコンテンツ配信サーバ１０との間の通信時間を考慮する。通信時間は、ユーザ端末１００が地図データをコンテンツ配信サーバ１０から取得するためにかかる時間である。これにより、本変形例３に係るユーザ端末１００は、通信遅延の影響を抑制できるようなインターバルを求めることができる。
【０１５８】
詳細には、インターバル決定部１７４Ａは、以下の式（３）に基づき、インターバルを決定する。
インターバル
＝滑らかな地図の描画を担保できる移動量÷表示エリアの移動量−通信時間  （３）
式（３）内の通信時間は、遅延検出部１７４Ａ−１が取得する。詳細には、遅延検出部１７４Ａ−１は、要求部１７１がコンテンツ配信サーバ１０にＨＴＴＰリクエストを送信したときのタイムスタンプと、要求部１７１がコンテンツ配信サーバ１０からＨＴＴＰレスポンスを受信したときのタイムスタンプとの差分をとる。当該差分が、式（３）内の通信時間となる。
【０１５９】
≪変形例４≫
上記実施形態１、実施形態２、および実施形態３の変形例４について説明する。図１７は、本変形例４に係るユーザ端末１００Ｂの構成例を示す図である。本変形例４に係るユーザ端末１００Ｂが上記実施形態１、実施形態２、および実施形態３に係るユーザ端末１００と異なる点は、インターバル決定部１７４に代えて、移動体検出部１７４Ｂ−１を有するインターバル決定部１７４Ｂを備えた点である。
【０１６０】
インターバル決定部１７４Ｂは、単位時間あたりの表示エリアの移動量に代えて、移動体の種類に応じて、インターバルを決定する。
【０１６１】
詳細には、移動体検出部１７４Ｂ−１によって、移動体が人であると判断された場合、インターバル決定部１７４Ｂは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的小さいと推定する。この場合、インターバル決定部１７４Ｂは、インターバルを比較的大きく設定する。
【０１６２】
これに対して、移動体検出部１７４Ｂ−１によって、移動体が車両であると判断された場合、インターバル決定部１７４Ｂは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的大きいと推定する。この場合、インターバル決定部１７４Ｂは、インターバルを比較的小さくする。
【０１６３】
なお、インターバル決定部１７４Ｂは、さらに地図の縮尺にも基づいて、インターバルを決定してもよい。
【０１６４】
≪変形例５≫
上記実施形態１、実施形態２、および実施形態３の変形例５について説明する。図１８は、本変形例５に係るユーザ端末１００Ｃの構成例を示す図である。本変形例５に係るユーザ端末１００Ｃが上記実施形態１、実施形態２、および実施形態３に係るユーザ端末１００と異なる点は、インターバル決定部１７４に代えて、道路検出部１７４Ｃ−１を有するインターバル決定部１７４Ｃを備えた点である。
【０１６５】
インターバル決定部１７４Ｃは、移動体が車両の場合、車両が走行する道路の種別を地図データから取得する。インターバル決定部１７４Ｃは、取得した道路の種別に応じて、インターバルを決定する。
【０１６６】
詳細には、道路検出部１７４Ｃ−１によって、道路の種別が高速道路であると判断された場合、インターバル決定部１７４Ｃは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的大きいと推定する。この場合、インターバル決定部１７４Ｃは、インターバルを比較的小さくする。
【０１６７】
これに対して、道路検出部１７４Ｃ−１によって、道路の種別が細街路であると判断された場合、インターバル決定部１７４Ｃは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的小さいと推定する。この場合、インターバル決定部１７４Ｃは、インターバルを比較的大きくする。
【０１６８】
なお、インターバル決定部１７４Ｃは、さらに地図の縮尺にも基づいて、インターバルを決定してもよい。
【０１６９】
≪変形例６≫
変形例６に係るユーザ端末１００において、画面に表示された地図は、ユーザ端末１００のＣＰＵが実行する処理の程度である負荷に応じて更新される。ユーザ端末１００は、ＣＰＵの負荷が比較的小さい場合、画面に表示された地図の更新頻度を比較的高くするように構成されている。ユーザ端末１００は、ＣＰＵの負荷が比較的大きい場合、画面に表示された地図の更新頻度を比較的低くするように構成されている。
【０１７０】
すなわち、ユーザ端末１００は、ＣＰＵの負荷が、前回検知された負荷よりも低下した場合、画面に表示された地図の更新頻度を、前回設定された更新頻度よりも上げる。これによって、画面に表示された自車位置マーク又は建物等を表す図形が１回の更新で移動する距離を小さくでき、地図を滑らかに画面に描画できる。そのため、ユーザ端末１００は、装置の処理性能を活かし、地図の画質を良好にできる。またユーザ端末１００は、例えば、他の機能が起動してＣＰＵの負荷が上がった場合、画面に表示された地図の更新頻度を、前回設定された更新頻度よりも下げることで、他の機能の動作に影響を与えないようにできる。したがって、ユーザ端末１００は、利便性を維持しつつ、地図の良好な画質を実現できる。
【０１７１】
インターバルを決定する場合、インターバル決定部１７４は、ＣＰＵ使用率を取得する。ＣＰＵ使用率は、ＣＰＵの負荷を表す。ＣＰＵ使用率は、ユーザ端末制御部１７０が一度に扱える処理量のうち、どの程度の割合を処理に使用しているかを示した値である。なお、インターバル決定部１７４は、ユーザ端末制御部１７０の負荷を表す値であれば、ＣＰＵ使用率以外の値を取得する構成であってもよい。ユーザ端末制御部１７０の負荷を表す値としては、他に、リソース使用率やメモリ使用率等が挙げられる。
【０１７２】
インターバル決定部１７４は、ＣＰＵ使用率に基づき、インターバルを決定する。インターバルは、ある程度の滑らかな地図の描画を担保できる間隔に設定される。加えて、インターバルは、ユーザ端末１００のＣＰＵの負荷が、前回検知された負荷よりも下がった場合、前回設定されたインターバルよりも短く設定される。またインターバルは、ユーザ端末１００のＣＰＵの負荷が、前回検知された負荷よりも上がった場合、前回設定されたインターバルよりも長く設定される。
【０１７３】
インターバル決定部１７４は、例えば、ＣＰＵ使用率が３０％未満の場合、インターバルを３０ｍｓｅｃ以上１００ｍｓｅｃ未満とし、ＣＰＵ使用率が３０％以上５０％未満の場合、インターバルを１００ｍｓｅｃ以上２００ｍｓｅｃ未満とし、ＣＰＵ使用率が５０％以上の場合、インターバルを２００ｍｓｅｃ以上４００ｍｓｅｃ未満とすることが好ましい。
【０１７４】
取得部１７２は、決定されたインターバルで地図データを取得することで、ユーザ端末１００のＣＰＵの負荷に応じた頻度で、地図データを受信できる。
【０１７５】
以上のようにユーザ端末制御部１７０は、ＣＰＵの負荷が比較的少ない場合、地図の更新頻度をこれまでよりも上げることで、画面に表示された自車位置マーク又は建物等を表す図形が１回の更新で移動する距離を小さくでき、より滑らかに地図を画面に描画できる。そのため、変形例６に係るユーザ端末１００は、装置の処理性能を活かし、地図を画面に表示した場合の画質を良好にできる。
【０１７６】
なお、変形例６に係るユーザ端末１００は、インターバル決定部１７４が、速度データと縮尺データとに基づいて決定したインターバルを、ＣＰＵ使用率に基づき調整する構成であってもよい。
【０１７７】
例えば、インターバル決定部１７４は、ＣＰＵ使用率が５０％以上の場合、決定したインターバルを変更せず、ＣＰＵ使用率が３０％以上５０％未満の場合、決定したインターバルを５％以上２０％未満の範囲で短くし、ＣＰＵ使用率が３０％未満の場合、決定したインターバルを２０％以上３０％未満の範囲で短くする。
【０１７８】
これによって、変形例６に係るユーザ端末１００は、表示エリアの移動量に応じた必要最小限の頻度での地図描画の更新を実現しつつ、ユーザ端末１００のＣＰＵの負荷に応じて、地図を画面に表示した場合の画質を良好にできる。
【０１７９】
≪その他の実施形態≫
上記の実施形態１、実施形態２、および実施形態３において、インターバルは、ユーザ端末１００によって決定されるが、ユーザが自身で決めた値を手動で設定できるように構成されてもよい。
【０１８０】
上記の実施形態１、実施形態２、および実施形態３において、ユーザ端末１００はＧＰＳ機能を備えるが、この構成に限定されない。ユーザ端末１００は、外部に備わるＧＰＳから、位置データを取得する構成であってもよい。
【０１８１】
≪ソフトウェアによる実現例≫
ユーザ端末１００、１００Ａ、１００Ｂ、および１００Ｃの制御ブロック（特にユーザ端末制御部１７０、１７０Ａ、１７０Ｂ、および１７０Ｃ）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現されてもよいし、ソフトウェアによって実現されてもよい。
【０１８２】
後者の場合、ユーザ端末１００、１００Ａ、１００Ｂ、および１００Ｃは、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵを用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ等の他、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭなどをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１８３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１８４】
本開示の一態様に係る表示装置は、表示部と、通信取得部と、位置データ取得部と、表示制御部とを備える。表示部は、地図を表示する。地図は、地図データとＨＴＭＬデータとに基づいて表示される。通信取得部は、地図データおよびＨＴＭＬデータを取得する。地図データおよびＨＴＭＬデータは、ＨＴＴＰ通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。通信取得部が取得する地図データは、位置データに対応する地図データである。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。地図の更新は、地図データに基づいて行われる。地図データは、通信取得部が取得した地図データである。
【０１８５】
また本開示の一態様に係る表示装置において、通信取得部はプログラムを取得する。プログラムは、地図を更新させるプログラムである。地図は、表示部が表示する地図である。
【０１８６】
また本開示の一態様に係る表示装置において、表示制御部は、移動体の速度と、地図の縮尺と、取得時間とに基づいて、地図の更新を行う。移動体の速度は、位置データから求められる。取得時間は、通信取得部が地図データを取得するためにかかる時間である。
【０１８７】
また本開示の一態様に係る表示装置において、地図は、ウェブブラウザによって表示される。
【０１８８】
また本開示の一態様に係る表示装置において、通信取得部は、第１サーバ、および、第２サーバとそれぞれ通信する。第２サーバは、第１サーバと異なるサーバである。通信取得部は、地図データとプログラムとを取得する。地図データとプログラムは、第１サーバから取得される。通信取得部は、ＨＴＭＬデータを取得する。ＨＴＭＬデータは、第２サーバから取得される。ＨＴＭＬデータには、ページの構成が記述されている。ページは、地図を要素に含む。
【０１８９】
また本開示の一態様に係る表示装置において、地図は、アプリケーションによって表示される。
【０１９０】
本開示の一態様に係る制御プログラムは、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイルと、モジュールとで構成される。ＪａｖａＳｃｒｉｐｔファイルは、ＪａｖａＳｃｒｉｐｔで記述されている。モジュールは、ＷｅｂＡｓｓｅｍｂｌｙのモジュールである。プログラムは、表示装置を、位置データ取得部と表示制御部として機能させる。表示装置は、表示部と通信取得部とを備える。表示部は、地図を表示する。地図は、地図データとＨＴＭＬデータとに基づいて表示される。通信取得部は、地図データおよびＨＴＭＬデータを取得する。地図データおよびＨＴＭＬデータは、ＨＴＴＰ通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。プログラムは、通信取得部に、位置データに対応する地図データを取得させる。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。プログラムは、表示制御部に、地図データに基づいて、地図を更新させる。地図データは、通信取得部が取得した地図データである。
【０１９１】
本開示の各態様に係る表示装置は、コンピュータによって実現してもよく、この場合には、コンピュータを表示装置が備える各部（ソフトウェア要素）として動作させることにより表示装置をコンピュータにて実現させる表示装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１９２】
本開示の一態様に係る表示装置は、通信部と、表示部と、制御部とを備える。通信部は、地図データを取得する。地図データは、移動体の位置データに基づいて取得される。地図データは、ＨＴＴＰ通信で取得される。地図データは、繰り返し取得される。地図データは、移動体の現在地に対応する。表示部は、地図を表示する。地図は、移動体の現在地を示す。地図は、位置データと地図データとＨＴＭＬデータとに基づいて表示される。地図は、ＨＴＭＬ形式で表示される。ＨＴＭＬ形式は、ＨＴＭＬで整形される形式である。制御部は、通信部及び表示部をそれぞれ制御する処理を実行する。制御部は、位置データ取得部を有する。位置データ取得部は、移動体の位置データを取得する。位置データは、繰り返し位置データを取得する。制御部は、地図データが取得される間隔を、前回設定された間隔よりも縮める。地図データは、通信部によって取得される地図データである。制御部は、地図を更新する頻度を、前回設定された頻度よりも上げる。地図は、表示部に表示された地図である。これらは、負荷が前回検知された負荷よりも低下した場合に行う。負荷は、制御部が実行する処理の程度である。
【０１９３】
また本開示の一態様に係る表示装置において、通信部はプログラムを取得する。プログラムは、地図を更新させるプログラムである。地図は、表示部に表示される地図である。通信部は、ＨＴＴＰ通信で、プログラムを取得する。
【０１９４】
また本開示の一態様に係る表示装置において、制御部は、インターバル決定部を有する。インターバル決定部は、負荷と、移動体の速度と、地図の縮尺と、取得時間とに基づいて、間隔を決定する。間隔は、地図が更新される間隔である。地図は、表示部に表示された地図である。取得時間は、通信部が地図データを取得するためにかかる時間である。
【０１９５】
また本開示の一態様に係る表示装置において、表示部は、ウェブブラウザを利用して地図を表示する。
【０１９６】
また本開示の一態様に係る表示装置において、通信部は、第１サーバ、及び、第２サーバとそれぞれ通信する。第２サーバは、第１サーバと異なるサーバである。通信部は、地図データとプログラムとを取得する。地図データとプログラムは、第１サーバから取得される。通信部は、ＨＴＭＬデータを取得する。ＨＴＭＬデータは、第２サーバから取得される。ＨＴＭＬデータには、ページの構成が記述されている。ページは、地図を要素に含む。
【０１９７】
また本開示の一態様に係る表示装置において、表示部は、アプリケーションを利用して地図を表示する。
【０１９８】
本開示の一態様に係る制御プログラムは、モジュールを含んで構成される。ＪａｖａＳｃｒｉｐｔファイルは、ＪａｖａＳｃｒｉｐｔで記述されている。モジュールは、ＷｅｂＡｓｓｅｍｂｌｙのモジュールである。制御プログラムは、コンピュータに処理を実現させる。コンピュータは、通信部と表示部と制御部とを備える。通信部は、地図データを取得する。地図データは、移動体の位置データに基づいて取得される。地図データは、繰り返し取得される。地図データは、移動体の現在地に対応する。地図データは、ＨＴＴＰ通信で取得される。表示部は、地図を表示する。地図は、移動体の現在地を示す。地図は、位置データと地図データとＨＴＭＬデータとに基づき表示される。地図は、ＨＴＭＬ形式で表示される。ＨＴＭＬ形式は、ＨＴＭＬで整形される形式である。制御部は、表示部及び通信部をそれぞれ制御するための処理を実行する。制御プログラムは、コンピュータに移動体の位置データを繰り返し取得させる。また制御プログラムは、コンピュータに、地図データが取得される間隔を、前回設定された間隔よりも縮める処理を実行させる。また制御プログラムは、コンピュータに、地図を更新する頻度を、前回設定された頻度よりも上げる処理を実行させる。地図データは、通信部によって取得される地図データである。地図は、表示部に表示させた地図である。処理は、負荷が、前回検知された負荷よりも低下した場合に行われる。負荷は、御部が実行する処理の程度である。
【符号の説明】
【０１９９】
１０    コンテンツ配信サーバ                                                  
２０    ウェブサーバ                                                          
１００、１００Ａ、１００Ｂ、１００Ｃ    ユーザ端末                            
１０１    ウェブブラウザ                                                      
１１０    ユーザ端末通信部                                                    
１２０    ユーザ入力部                                                        
１３０    出力部                                                              
１４０    ユーザ端末記憶部                                                    
１５０    センサ入力部                                                        
１６０    ＧＰＳ受信部                                                        
１７０    ユーザ端末制御部                                                    
１７１    要求部                                                              
１７２    取得部                                                              
１７３    描画部                                                              
１７４、１７４Ａ、１７４Ｂ、１７４Ｃ    インターバル決定部                    
【要約】      （修正有）【課題】ＨＴＴＰ通信を利用して、画面に表示された地図の更新を行う表示装置および制御プログラムを実現する。【解決手段】地図データとＨＴＭＬデータとに基づいて、地図を表示する出力部１３０と、ＨＴＴＰ通信で、地図データおよびＨＴＭＬデータを取得するユーザ端末通信部１１０と、位置データを所定の時間間隔で取得する要求部１７１と、出力部に表示された地図を更新する描画部１７３およびインターバル決定部１７４とを備え、ユーザ端末通信部は、位置データと、次に取得される他の位置データとの距離に応じた所定の頻度で、位置データに対応する地図データを取得し、描画部およびインターバル決定部は、ユーザ端末通信部が取得した地図データに基づいて、出力部に表示される地図を更新するユーザ端末１００である。【選択図】図４【図１】
0006979141.tif 000002
【図２】
0006979141.tif 000003
【図３】
0006979141.tif 000004
【図４】
0006979141.tif 000005
【図５】
0006979141.tif 000006
【図６】
0006979141.tif 000007
【図７】
0006979141.tif 000008
【図８】
0006979141.tif 000009
【図９】
0006979141.tif 000010
【図１０】
0006979141.tif 000011
【図１１】
0006979141.tif 000012
【図１２】
0006979141.tif 000013
【図１３】
0006979141.tif 000014
【図１４】
0006979141.tif 000015
【図１５】
0006979141.tif 000016
【図１６】
0006979141.tif 000017
【図１７】
0006979141.tif 000018
【図１８】
0006979141.tif 000019