(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022033773
(43)【公開日】2022-03-02
(54)【発明の名称】表示装置および制御プログラム
(51)【国際特許分類】
G01C 21/26 20060101AFI20220222BHJP
G09B 29/00 20060101ALI20220222BHJP
G09B 29/10 20060101ALI20220222BHJP
【FI】
G01C21/26 P
G09B29/00 C
G09B29/10 A
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021184834
(22)【出願日】2021-11-12
(62)【分割の表示】P 2021012135の分割
【原出願日】2021-01-28
(31)【優先権主張番号】P 2020015659
(32)【優先日】2020-01-31
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2020145701
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】504050275
【氏名又は名称】株式会社 ミックウェア
(74)【代理人】
【識別番号】100140486
【弁理士】
【氏名又は名称】鎌田 徹
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100137947
【弁理士】
【氏名又は名称】石井 貴文
(72)【発明者】
【氏名】藤吉 正也
(57)【要約】
【課題】
画面に表示された地図の更新を行う表示装置および制御プログラムを実現する。
【解決手段】
ユーザ端末100は、地図データをコンテンツ配信サーバ10から取得し、HTMLデータをウェブサーバ20から取得するユーザ端末通信部110と、位置データを取得する要求部171と、位置データに対応した箇所を示す地図を要素に含むウェブページ8をウェブブラウザ101で表示する出力部130と、コンテンツ配信サーバ10から地図データが新たに取得された場合に、地図を更新する描画部173とを備え、ユーザ端末通信部110は、ウェブページがウェブブラウザに表示されている場合、ウェブページに埋め込まれているタグに基づき、位置データに対応する地図データをコンテンツ配信サーバ10から取得する。
【選択図】図1
【特許請求の範囲】
【請求項1】
地図データを第1サーバから取得し、地図を要素に含むウェブページの構成が記述されたHTML(Hyper Text Markup Language)データを前記第1サーバと異なる第2サーバから取得する通信取得部と、
位置データを所定の時間間隔で取得する位置データ取得部と、
前記第1サーバから取得された前記地図データと前記第2サーバから取得された前記HTMLデータとに基づいて、前記位置データに対応した箇所を示す前記地図を要素に含む前記ウェブページをウェブブラウザで表示する表示部と、
前記第1サーバから前記地図データが新たに取得された場合に、前記ウェブブラウザに表示されている前記地図を更新する表示制御部とを備え、
前記通信取得部は、前記ウェブページが前記ウェブブラウザに表示されている場合、前記ウェブページに埋め込まれているタグに基づき、前記位置データ取得部によって取得された前記位置データに対応する前記地図データを前記第1サーバから取得することを特徴とする表示装置。
【請求項2】
前記通信取得部は、前記ウェブブラウザに表示された前記地図を更新させるプログラムを前記第1サーバから取得し、
前記プログラムは、
前記ウェブブラウザに表示されている前記地図の更新に用いられるデータを前記通信取得部によって取得された前記地図データから取り出すパース処理を行うWebAssemblyモジュールに対応することを特徴とする請求項1に記載の表示装置。
【請求項3】
コンピュータを、
地図データを第1サーバから取得し、地図を要素に含むウェブページの構成が記述されたHTML(Hyper Text Markup Language)データを前記第1サーバと異なる第2サーバから取得する通信取得部と、
位置データを所定の時間間隔で取得する位置データ取得部と、
前記第1サーバから取得された前記地図データと前記第2サーバから取得された前記HTMLデータとに基づいて、前記位置データに対応した箇所を示す前記地図を要素に含む前記ウェブページをウェブブラウザで表示する表示部と、
前記第1サーバから前記地図データが新たに取得された場合に、前記ウェブブラウザに表示されている前記地図を更新する表示制御部として機能させ、
前記通信取得部は、前記ウェブページが前記ウェブブラウザに表示されている場合、前記ウェブページに埋め込まれているタグに基づき、前記位置データ取得部によって取得された前記位置データに対応する前記地図データを前記第1サーバから取得することを特徴とする制御プログラム。
【請求項4】
前記通信取得部によって前記第1サーバから取得され、
前記ウェブブラウザに表示されている前記地図の更新に用いられるデータを前記通信取得部によって取得された前記地図データから取り出すパース処理を行うWebAssemblyモジュールに対応することを特徴とする請求項3に記載の制御プログラム。
【請求項5】
前記表示制御部は、前記ウェブページに含まれる要素である前記地図として、ユーザの現在地と目的地とを含む所定領域の前記地図を前記ウェブブラウザに表示させ、
前記ユーザの前記現在地から前記目的地までの誘導ルートに沿った案内を音声で実行し、前記ウェブブラウザに表示されている前記地図が更新されるたびに、更新された前記地図に前記誘導ルートを表示させるナビゲーション部としてさらに機能させることを特徴とする請求項3または請求項4に記載の制御プログラム。
【請求項6】
JavaScript(登録商標)で記述されたJavaScriptファイルを含み、
前記パース処理に対応する前記データよりそれぞれ生成された、道路及び建物に対応する矩形の頂点に関する情報とポリゴン情報とに基づき、前記ウェブブラウザに表示されている前記地図を更新することを特徴とする請求項4に記載の制御プログラム。
【請求項7】
前記コンピュータは、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)を備え、
前記表示制御部は、前記ウェブブラウザに表示されている前記地図が次に更新されるまでの間隔に対応する時間を設定し、前記CPU又は前記MPUの負荷が前回検出された前記負荷よりも下がった場合、前記時間を前回設定された前記時間よりも短く設定することを特徴とする請求項3から請求項6のいずれか1つに記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示装置および制御プログラムに関する。
【背景技術】
【0002】
特許文献1には、地図を画面に表示する際に、画面に表示される地図の表示形態に変化を持たせて画面に表示された地図の視認性を高めた地図表示装置が開示されている。特許文献1に開示の地図表示装置は、自己の位置情報に基づいて、地図を画面に表示する。この地図表示装置は、画面に表示された地図に、特定された経路に沿った所定幅の範囲を明瞭に表示する。上記の地図表示装置は、画面に表示された地図に、上記の所定幅の範囲以外の範囲を薄く表示する。上記の地図表示装置は、携帯電話機、PDA(Personal Digital Assistant)、パソコン等で実現される。
【0003】
カーナビゲーションなどの地図表示装置は、自己の位置情報に合わせて、所定の時間間隔で地図を更新する必要がある。地図表示装置は、地図を更新する頻度が低い場合、画面に表示される地図の更新をスムーズに行えない。この理由としては、画面に表示される地図は、更新される頻度が低いほど、1回の更新で大きく変化しやすく、更新時に、カクカクした印象で画面に描画されるためである。このような地図は、ユーザにとって見づらい。このような現象は、自己の位置情報を示す位置マークが画面の所定位置に固定され、当
該位置マーク周囲の地図が自己の移動に合わせて変化するモードで起こりやすい。以下、このモードを「現在地表示モード」と呼ぶ。上記の位置マークが固定される所定位置は、例えば画面の中央である。
【0004】
また、上記の地図表示装置では、地図を更新する頻度が低い場合、上記の位置マークがスムーズに移動しないこともある。詳細には、当該位置マークが、それまで表示されていた位置から、ある程度離れた位置に表示される。この場合、地図表示装置は、急に或る位置から別の或る位置へ位置マークが飛んだ印象をユーザに与える。このような現象は、画面に表示される地図をユーザによってスクロール可能で、上記の位置マークが自己の移動に合わせて画面を移動するモードで起こりやすい。以下、このモードを、「現在地移動モード」と呼ぶ。
【0005】
一方、上記の地図表示装置では、地図を更新する頻度が高い場合、1回の更新による地図の変化が小さくなる。また、1回の更新で、上記の位置マークが移動する移動量が小さくなる。このため、地図を更新する頻度が高ければ、上記の地図表示装置は、画面に表示される地図をスムーズに更新できる。また、上記の地図表示装置は、位置マークをスムーズに移動させることができる。
【0006】
しかしながら、上記の地図表示装置では、地図を更新する頻度を高くすると、画面に地図を描画する処理のコンピューティング時間の占有率が高くなる。占有率が高くなるほど、地図の描画以外の処理に割り当てられる時間が減少する。そのため、地図表示装置は、地図の更新の頻度が高いと、画面に表示された地図の拡縮、および当該地図の変更等の処理を実行し難くなる。その結果、ユーザの利便性が低下する。
【0007】
このような問題を解決する技術として、特許文献2には、画面に表示中の地図の縮尺と自車の速度とに基づき、地図描画の更新要否を判定し、地図描画の更新要と判定された場合に、地図描画の更新を行う描画更新制御装置が開示されている。
【0008】
特許文献2に開示の描画更新制御装置は、不要な更新を行わないで地図描画の更新頻度を下げることができる。上記の描画更新制御装置は、更新頻度を下げることにより、地図描画にかかる負荷を抑制することができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003-57045号公報
【特許文献2】特開2014-173862号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ここで、HTTP(HyperText Transfer Protocol)通信で地図データを取得し、取得した地図データに基づき、ナビゲーションを目的としてウェブブラウザを利用した地図の更新を行う技術は、従来知られていない。HTTP通信は、ウェブサーバとウェブブラウザとの間などで一般的に用いられており、ウェブブラウザは、今後、PC、携帯端末のみならず、スマートメータやカーナビゲーション装置等の様々な端末に標準装備されるようになると考えられる。ウェブブラウザを用いたシステムは、クラウド上のウェブサービスと連携させて新たなサービスを創出できると期待される。そこで、新たなサービスを創出できる可能性を持つ技術として、ウェブブラウザとの通信を可能にするHTTP等の通信プロトコルを利用して、画面に表示された地図の更新を行う新たな技術が望まれている。
【0011】
本発明の一態様は、HTTP等のウェブサーバと通信を行うための通信プロトコルを利用して、画面に表示された地図の更新を行う表示装置および制御プログラムを実現することを目的とする。
【課題を解決するための手段】
【0012】
本開示の一態様に係る表示装置は、表示部と、通信取得部と、位置データ取得部と、表示制御部とを備える。表示部は、地図を表示する。地図は、地図データとHTML(Hyper Text Markup Language)データとに基づいて表示される。通信取得部は、地図データおよびHTMLデータを取得する。地図データおよびHTMLデータは、HTTP(HyperText Transfer Protocol)通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。通信取得部が取得する地図データは、位置データに対応する地図データである。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。地図の更新は、地図データに基づいて行われる。地図データは、通信取得部が取得した地図データである。
【0013】
また本開示の一態様に係る表示装置において、通信取得部はプログラムを取得する。プログラムは、地図を更新させるプログラムである。地図は、表示部が表示する地図である。
【0014】
また本開示の一態様に係る表示装置において、表示制御部は、移動体の速度と、地図の縮尺と、取得時間とに基づいて、地図の更新を行う。移動体の速度は、位置データから求められる。取得時間は、通信取得部が地図データを取得するためにかかる時間である。
【0015】
また本開示の一態様に係る表示装置において、地図は、ウェブブラウザによって表示される。
【0016】
また本開示の一態様に係る表示装置において、通信取得部は、第1サーバ、および、第2サーバとそれぞれ通信する。第2サーバは、第1サーバと異なるサーバである。通信取得部は、地図データとプログラムとを取得する。地図データとプログラムは、第1サーバから取得される。通信取得部は、HTMLデータを取得する。HTMLデータは、第2サーバから取得される。HTMLデータには、ページの構成が記述されている。ページは、地図を要素に含む。
【0017】
また本開示の一態様に係る表示装置において、地図は、アプリケーションによって表示される。
【0018】
本開示の一態様に係る制御プログラムは、JavaScript(登録商標)ファイルと、モジュールとで構成される。JavaScriptファイルは、JavaScriptで記述されている。モジュールは、WebAssemblyのモジュールである。プログラムは、表示装置を、位置データ取得部と表示制御部として機能させる。表示装置は、表示部と通信取得部とを備える。表示部は、地図を表示する。地図は、地図データとHTMLデータとに基づいて表示される。通信取得部は、地図データおよびHTMLデータを取得する。地図データおよびHTMLデータは、HTTP通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。プログラムは、通信取得部に、位置データに対応する地図データを取得させる。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。プログラムは、表示制御部に、地図データに基づいて、地図を更新させる。地図データは、通信取得部が取得した地図データである。
【0019】
本開示の各態様に係る表示装置は、コンピュータによって実現してもよく、この場合には、コンピュータを表示装置が備える各部(ソフトウェア要素)として動作させることにより表示装置をコンピュータにて実現させる表示装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0020】
本発明の一態様によれば、HTTP等のウェブサーバと通信を行うための通信プロトコルを利用して、画面に表示された地図の更新を行う表示装置および制御プログラムを実現することができる。
【図面の簡単な説明】
【0021】
【
図1】実施形態1に係るユーザ端末が実行する表示処理の一例を示す図である。
【
図2】実施形態1に係るシステムの構成例を示す図である。
【
図3】実施形態1に係るコンテンツ配信サーバの構成例を示す図である。
【
図4】実施形態1に係るユーザ端末の構成例を示す図である。
【
図5】上記ユーザ端末による表示処理の手順を示すシーケンス図である。
【
図6】実施形態2に係るユーザ端末が実行する表示処理の一例を示す図である。
【
図8】ウェブページの表示領域および地図領域の具体例を示す図である。
【
図9】iframeタグが埋め込まれたHTMLファイルの一例を示す図である。
【
図11】ウェブページの表示領域および地図領域の具体例を示す図である。
【
図12】ウェブページの表示領域および地図領域の具体例を示す図である。
【
図13】実施形態2に係るシステムの構成例を示す図である。
【
図14】実施形態2に係るウェブサーバの構成例を示す図である。
【
図15】上記ユーザ端末の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【
図16】変形例3に係るユーザ端末の構成例を示す図である。
【
図17】変形例4に係るユーザ端末の構成例を示す図である。
【
図18】変形例5に係るユーザ端末の構成例を示す図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、図面を参照しながら説明する。以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0023】
≪実施形態1≫
〔1.表示処理〕
図1は、本発明の実施形態1に係る表示装置が実行する表示処理の一例を示す図である。
図1では、本実施形態に係る表示装置において、本実施形態に係る制御プログラムが実行する処理の一例について説明する。
【0024】
具体的に、
図1では、本実施形態に係る表示装置の一例であるユーザ端末100によって、第1地
図1および第2地
図2が、この順に表示される例を示す。詳細には、ユーザ端末100は、第1地
図1に関する地図データの取得処理を実行する。ユーザ端末100は、取得した第1地
図1に関する地図データの描画処理を実行する。そして、第1地
図1は、ユーザ端末100の画面に表示される。次に、ユーザ端末100では、第2地
図2に関する地図データの取得処理に先立って、第2地
図2に関する地図データの取得処理の実行を開始するまでの間隔時間であるインターバルを決定する。ユーザ端末100は、当該インターバル経過後、第2地
図2に関する地図データの取得処理を実行する。ユーザ端末100は、取得した地図データに基づいて、描画処理を実行する。第2地
図2は、ユーザ端末100の画面に表示される。
【0025】
以下では、第1地
図1および第2地
図2として、ユーザ端末100を利用するユーザ5の周囲の地図を例に挙げる。例えば、
図1では、ユーザ端末100が実行する処理によって、ユーザ端末100の画面に表示される地図が更新される。地図の更新は、ユーザ5の移動に合わせて行われる。
図1の例では、第1地
図1は、第2地
図2に更新される。第1地
図1および第2地
図2は、それぞれ、位置マーク3によって、ユーザ5の位置を示している。位置マーク3は、ユーザ5の位置データに対応する箇所に表示される。ユーザ5の位置データは、ユーザ5が保持するユーザ端末100の位置データであるともいえる。
【0026】
以下、「地図の更新」は、画面に地図を表示するために実行される描画処理の更新を意味する。より具体的には、「地図の更新」は、当該描画処理を改めてやり直すことを意味する。
【0027】
なお、本実施形態では、第1地
図1および第2地
図2の表示処理が「現在地表示モード」で行われる例を用いて説明する。また、本実施形態では、地図の更新が不要の場合でも、地図データの取得処理を所定の頻度で実行する例を用いて説明する。地図の更新が不要の場合は、例えば、ユーザ5が移動しないため、画面に表示させる地図を変化させる必要がない場合である。
【0028】
ユーザ端末100は、携帯端末装置である。ユーザ端末100は、無線通信網を介して任意のサーバ装置と通信を行う。ユーザ端末100は、例えば、PC、スマートフォン、タブレット、又は車載ナビゲーション装置等であってもよい。ユーザ端末100は、液晶ディスプレイ等の画面を有する。例えば、ユーザ端末100は、タッチパネルを有する。ユーザ5は、指やスタイラスで画面をタッチすることで、ユーザ端末100を操作する。
【0029】
なお、本実施形態において、移動体は、人であるユーザ5である。本実施形態に係る移動体の他の例としては、車両、又は電車が挙げられる。
【0030】
また、ユーザ端末100は、ウェブブラウザ101を搭載する。ユーザ端末100は、HTTP(HyperText Transfer Protocol)通信によって、コンテンツ配信サーバ10との間で情報のやり取りを行う。HTTP通信は、ウェブブラウザ101が備える機能により実現される。詳細には、ユーザ端末100でウェブブラウザ101を用いてユーザアクションが行われ、コンテンツ配信サーバ10にHTTPリクエストが送信される。コンテンツ配信サーバ10は、HTTPリクエストに従ってサーバ処理を行い、要求された処理を完了すると、HTTPレスポンスをユーザ端末100に返す。なお、ユーザ端末100は、コンテンツ配信サーバ10と通信を行うための通信プロトコルを利用する構成であれば、HTTP通信を利用する構成に限定されない。ユーザ端末100は、例えばHTTPS(HyperText Transfer Protocol Secure)通信を利用する構成であってもよい。
【0031】
コンテンツ配信サーバ10は、ユーザ端末100に地図データを配信するサーバ装置である。コンテンツ配信サーバ10によって配信される地図データは、例えば、表示用となる所定の地図画像情報と、リンク情報、ノード情報およびリンク間接続情報等を含む道路網情報とからなるデータである。
図1の例では、コンテンツ配信サーバ10は、地図データの一例である第1地
図1に関する地図データおよび第2地
図2に関する地図データをユーザ端末100に配信する。
【0032】
また、コンテンツ配信サーバ10は、上述の地図データに加え、地図表示用のHTMLデータと、意匠画像データと、プログラムデータとをユーザ端末100に配信する。HTMLデータは、地図が画面に表示されるようにHTMLによって記述されたデータである。意匠画像データは、HTMLデータとリンクしており、HTMLデータに基づいて画面に表示される画像データである。プログラムデータは、ユーザ端末100に地図の描画とナビゲーション機能とを実現させるための制御プログラムのデータである。
【0033】
以下、
図1を用いて、ユーザ端末100が実行する表示処理の流れについて説明する。なお、ユーザ端末100の画面の状態遷移を図示する場合、左から順に第1状態、第2状態、第3状態、及び第4状態と表記する。
【0034】
まずステップS11において、ユーザ端末100の画面は第1状態である。第1状態において、ユーザ端末100は、ユーザ5の位置データに基づき、第1地
図1に関する地図データの配信をコンテンツ配信サーバ10に要求する。第1地
図1に関する地図データは、現在のユーザ5の位置データに対応する。すなわち、第1地
図1に関する地図データは、ユーザ5の現在地の周囲を表す地図の地図データである。コンテンツ配信サーバ10は、ステップS12において、ユーザ端末100からの要求を受けて、第1地
図1に関する地図データを配信する。
【0035】
ユーザ端末100は、第1地
図1に関する地図データを取得する。ユーザ端末100は、ステップS13において、取得した地図データに基づいて、ユーザ端末100の画面に第1地
図1を表示する。ステップS13の処理により、ユーザ端末100の画面は、第2状態に遷移する。
【0036】
ステップS14において、ユーザ端末100の画面は第2状態である。第2状態において、ユーザ端末100は、第2地
図2に関する地図データの取得処理の実行を開始するまでのインターバルを決定する。ステップS14では、ユーザ端末100は、速度データと、縮尺データとを取得する。速度データは、ユーザ5が移動する速度を示すデータである。縮尺データは、第2地
図2を表示する際に適用される地図の縮尺を示すデータである。ユーザ端末100は、例えば、第1地
図1に関する地図データの取得処理の際、ユーザ端末100に搭載されたGPS機能を用いて、速度データを取得する。ユーザ端末100は、例えば、第1地
図1に関する地図データの取得処理の際、ユーザ端末100に設定された地図の縮尺データを取得する。
【0037】
ユーザ端末100は、取得した速度データ、および縮尺データ、並びに、所定のパラメータを用いて、上記のインターバルを決定する。ユーザ端末100がインターバルを決定する方法は、後述する。
【0038】
ユーザ端末100は、ステップS15において、ステップS14にて決定したインターバルが経過するまで、第2地
図2に関する地図データの取得処理を待機する。ステップS15の処理により、ユーザ端末100の画面は、第3状態に遷移する。なお、第2状態において画面に表示される地図および第3状態において画面に表示される地図は、いずれも第1地
図1である。
【0039】
第3状態において、ユーザ端末100は、ステップS16において、ステップS14にて決定したインターバル経過後、ユーザ5の位置データに基づき、第2地
図2に関する地図データの配信をコンテンツ配信サーバ10に要求する。第2地
図2に関する地図データは、現在のユーザ5の位置データに対応する。すなわち、第2地
図2に関する地図データは、ユーザ5の現在地の周囲を表す地図の地図データである。コンテンツ配信サーバ10は、ステップS17において、ユーザ端末100からの要求を受けて、第2地
図2に関する地図データを配信する。
【0040】
ユーザ端末100は、ステップS18において、第2地
図2に関する地図データを取得する。ユーザ端末100は、取得した地図データを描画し、ユーザ端末100の画面に第2地
図2を表示する。ステップS18の処理により、ユーザ端末100の画面は、第4状態に遷移する。
【0041】
以下、上述した表示処理を実行するユーザ端末100等について詳細に説明する。
【0042】
〔2.システムの構成〕
図2を用いて、本実施形態に係るシステムの構成について説明する。
図2は、本実施形態に係るシステムの構成例を示す図である。
図2に示すように、本実施形態に係るシステムは、ユーザ端末100と、コンテンツ配信サーバ10とを含む。ユーザ端末100およびコンテンツ配信サーバ10は、ネットワーク4を介して有線または無線により通信可能に接続される。なお、
図2に示すシステムに含まれる各装置の数は、特に限定されない。例えば、本実施形態に係るシステムには、複数台のユーザ端末100が含まれてもよい。また、例えば、本実施形態に係るシステムには、複数台のコンテンツ配信サーバ10が含まれてもよい。
【0043】
〔3.コンテンツ配信サーバの構成〕
次に、
図3を用いて、コンテンツ配信サーバ10の構成について説明する。
図3は、コンテンツ配信サーバ10の構成例を示す図である。
図3に示すように、コンテンツ配信サーバ10は、コンテンツ配信サーバ通信部11と、コンテンツデータ記憶部12と、コンテンツ配信サーバ制御部13とを有する。コンテンツ配信サーバ10は、第1サーバに相当する。
【0044】
コンテンツ配信サーバ通信部11は、例えば、NIC(Network Interface Card)等によって実現される。コンテンツ配信サーバ通信部11は、
図2に示すネットワーク4と有線または無線で接続される。コンテンツ配信サーバ通信部11は、ユーザ端末100との間で情報の送受信を行う。
【0045】
コンテンツデータ記憶部12は、記憶装置によって実現される。記憶装置としては、例えば、RAM(Random Access Memory)、もしくはフラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスク、または、光ディスク等が挙げられる。
【0046】
また、コンテンツデータ記憶部12は、地図データDB121およびオブジェクトデータDB122を格納する。コンテンツ配信サーバ10は、ユーザ端末100から要求された地図に関する地図データを地図データDB121から読み出す。コンテンツ配信サーバ10は、読み出した地図データをユーザ端末100に配信する。また、地図データDB121には、オブジェクトの情報と、オブジェクト画像とが蓄積されてもよい。オブジェクトの情報は、例えば、主要な建物やランドマーク、銀行、郵便局、学校、及び病院などの各機関の建物などのオブジェクトの情報である。オブジェクト画像は、各オブジェクトを表示するためのアイコン画像等である。ユーザ端末100は、コンテンツ配信サーバ10から配信された地図データをウェブブラウザ101に表示するとともに、オブジェクトの情報を参照して、オブジェクト画像を地図の所定の位置に表示させる。
【0047】
オブジェクトデータDB122は、意匠画像データを蓄積するデータベースである。オブジェクトデータDB122に蓄積される意匠画像データは、一般的な地図データに含まれない画像データである。意匠画像データは、例えば、ユーザ5に対して操作案内をするためのマーク、文字または記号を表す画像データである。ユーザ端末100は、意匠画像データをコンテンツ配信サーバ10から取得する。ユーザ端末100は、意匠画像データを含む地図を画面に表示する。
【0048】
また、コンテンツデータ記憶部12は、地図表示用のHTML、制御プログラムデータを記憶してもよい。
【0049】
コンテンツ配信サーバ制御部13は、例えば、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等によって実現される。CPU又はMPU等は、コンテンツ配信サーバ10内部の所定の記憶装置に記憶されている各種プログラムを、RAMを作業領域として実行する。また、コンテンツ配信サーバ制御部13は、例えば、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の半導体集積回路により実現される。
【0050】
図3に示すように、コンテンツ配信サーバ制御部13は、コンテンツ配信サーバ受付部14と、コンテンツ配信サーバ配信部15とを有する。コンテンツ配信サーバ制御部13は、以下に説明する情報処理の機能や作用を実現または実行する。なお、コンテンツ配信サーバ制御部13の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、コンテンツ配信サーバ制御部13が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0051】
コンテンツ配信サーバ受付部14は、ユーザ端末100から地図データの配信要求を受け付ける。例えば、コンテンツ配信サーバ受付部14は、地図データの配信要求として、HTTPリクエストを受け付ける。
【0052】
コンテンツ配信サーバ配信部15は、コンテンツ配信サーバ受付部14によって地図データの配信要求が受け付けられた場合に、配信要求対象の地図データをユーザ端末100に配信する。具体的には、コンテンツ配信サーバ配信部15は、コンテンツデータ記憶部12に記憶された地図データDB121から配信要求対象の地図データを読み出し、読み出した地図データをユーザ端末100に配信する。
【0053】
〔4.ユーザ端末の構成〕
次に、
図4を用いて、ユーザ端末100の構成について説明する。
図4は、ユーザ端末100の構成例を示す図である。
図4に示すように、ユーザ端末100は、ユーザ端末通信部110と、ユーザ入力部120と、出力部130と、ユーザ端末記憶部140と、センサ入力部150と、GPS受信部160と、ユーザ端末制御部170とを有する。
【0054】
ユーザ端末通信部110は、例えば、NIC等によって実現される。ユーザ端末通信部110は、
図2に示すネットワーク4と有線または無線で接続される。ユーザ端末通信部110は、コンテンツ配信サーバ10との間で情報の送受信を行う。
【0055】
具体的に、ユーザ端末通信部110は、ユーザ端末100の画面に表示された地図が更新される場合、所定の頻度で地図データを受信する。所定の頻度は、インターバル決定部174が決定したインターバルに対応する頻度である。ユーザ端末通信部110は、通信取得部に相当する。
【0056】
ユーザ入力部120は、ユーザから各種操作を受け付ける入力装置である。例えば、ユーザ入力部120は、キーボード、マウスまたは操作キー等によって実現される。出力部130は、各種情報を表示するための装置である。例えば、出力部130は、ユーザ端末100の画面である。出力部130は液晶ディスプレイ等によって実現される。なお、ユーザ端末100にタッチパネルが採用される場合には、ユーザ入力部120と出力部130とは一体化される。出力部130は、表示部に相当する。
【0057】
なお、地図は、ユーザ端末100の画面である出力部130の全面に表示されるとは限らない。地図は、出力部130内に表示されるウェブブラウザ101のウインドウに表示される場合がありうる。この場合、地図を表示する際のユーザ端末100における表示エリアとは、ウェブブラウザ101のウインドウを意味する。以下、ユーザ端末100における表示エリアは、ウェブブラウザ101のウインドウを意味するものとする。
【0058】
ユーザ端末記憶部140は、記憶装置によって実現される。記憶装置は、例えば、RAM、もしくはフラッシュメモリ等の半導体メモリ素子、ハードディスク、または光ディスク等が挙げられる。ユーザ端末記憶部140は、各種の情報を記憶する。ユーザ端末記憶部140は、ユーザ端末100が実行する各種プログラム等を記憶する。ユーザ端末記憶部140は、前述の制御プログラム等を一時的に記憶する。制御プログラムは、ウェブブラウザ101によって、ウェブページを表示するためのソフトウェアである。また、ユーザ端末記憶部140は、現在の地図の縮尺データ等を一時的に記憶することもできる。
【0059】
センサ入力部150は、例えば、ジャイロセンサおよび加速度センサによりそれぞれ測定される角速度および加速度を取得する。ユーザ端末制御部170は、後述するGPS受信部160による測位の際、センサ入力部150により取得された角速度および加速度を用いてユーザ5の位置データの測位精度を高めることができる。なお、センサ入力部150は、ユーザ端末100における必須の構成要件ではない。
【0060】
GPS受信部160は、図示しないGPS(Global Positioning System)センサによりGPS衛星からの電波を受信する。GPS受信部160は、GPSセンサにより受信される電波により、ユーザ端末100を操作するユーザ5の現在地を示す位置データを測位する。当該位置データは、例えば、緯度情報および経度情報である。GPS受信部160による測位は、所定の時間間隔で行われる。当該所定の時間間隔は、例えば1秒である。また、GPS受信部160は、ユーザ5の速度を検出する。ユーザ5の速度は、ユーザ5が保持するユーザ端末100の速度であるともいえる。
【0061】
ユーザ端末制御部170は、例えば、CPU又はMPU等によって実現される。CPU又はMPU等は、ユーザ端末100内部の記憶装置に記憶されている各種プログラムを、RAMを作業領域として実行する。この各種プログラムは、本実施形態に係る制御プログラムの一例である。例えば、この各種プログラムは、ウェブブラウザ101に該当する。また、ユーザ端末制御部170は、例えば、ASIC又はFPGA等の半導体集積回路により実現される。
【0062】
図4に示すように、ユーザ端末制御部170は、要求部171と、取得部172と、描画部173と、インターバル決定部174と、ナビゲーション部175とを有する。ユーザ端末制御部170は、以下に説明する情報処理の機能や作用を実現または実行する。なお、ユーザ端末制御部170の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、ユーザ端末制御部170が有する各処理部の接続関係は、
図4に示した接続関係に限られず、他の接続関係であってもよい。
【0063】
要求部171は、コンテンツ配信サーバ10に地図データの配信を要求する。取得部172は地図データを取得する。具体的には、取得部172は、要求部171によって送信された地図データの配信要求に応答したコンテンツ配信サーバ10から、地図データを取得する。
【0064】
描画部173は、取得部172によって取得された地図データに基づいて、ユーザ端末100の画面である出力部130に地図を表示させる。
【0065】
インターバル決定部174は、GPS受信部160からユーザ5の速度データを取得する。また、インターバル決定部174は、ユーザ端末100の所定の記憶装置から、地図の縮尺データを取得する。
【0066】
インターバル決定部174は、次のとおり、上記のインターバルを決定する。
【0067】
まず、インターバル決定部174は、単位時間あたりの表示エリアの移動量を推定する。単位時間あたりの表示エリアの移動量とは、地図の任意の位置が単位時間あたりに表示エリアを移動する距離である。以下、特に断らない限り、単位時間あたりの表示エリアの移動量を「表示エリアの移動量」または単に「移動量」と呼ぶ。
【0068】
任意の位置は、「現在地表示モード」の場合、例えば、ユーザ端末100の周囲に所在する建物や道路等を表示している位置である。この場合、表示エリアの移動量は、表示エリアにおいて当該建物や道路を表示している位置が単位時間に移動する距離となる。また、任意の位置は、「現在地移動モード」の場合、例えば、ユーザ端末100を表すマークが表示されている位置である。この場合、表示エリアの移動量は、表示エリアにおいて当該マークが単位時間に移動する距離となる。
【0069】
インターバル決定部174は、ユーザ5の速度および地図の縮尺に基づいて、表示エリアの移動量を推定する。インターバル決定部174は、以下の式(1)に基づき、表示エリアの移動量を推定する。
表示エリアの移動量=ユーザ5の速度×単位時間×地図の縮尺 (1)
【0070】
次に、インターバル決定部174は、式(1)に基づき推定された表示エリアの移動量を用いて、インターバルを決定する。インターバルは、次の描画更新までの時間の間隔である。インターバルは、滑らかな地図の描画を担保できる間隔に設定される。すなわち、インターバルは、画面に表示される地図をスムーズに更新できる間隔に設定される。上述のとおり、
図1の例では、インターバルは、第1地
図1が表示されてから、第2地
図2に関する地図データの取得処理の実行が開始されるまでの間隔である。
【0071】
インターバル決定部174は、以下の式(2)に基づき、インターバルを決定する。
インターバル=滑らかな地図の描画を担保できる移動量÷表示エリアの移動量 (2)
【0072】
滑らかな地図の描画を担保できる移動量は、ユーザ端末100を視認するユーザ5にとって、地図がスムーズに遷移しているように見える程度の移動量である。または、滑らかな地図の描画を担保できる移動量は、ユーザ端末100を視認するユーザ5にとって、ユーザ端末100を表すマークがスムーズに移動しているように見える程度の移動量である。滑らかな地図の描画を担保できる移動量は、表示エリアのサイズおよび地図の縮尺等に基づき設定される値である。滑らかな地図の描画を担保できる移動量は、さらに、地図に現れた領域の状況に基づいて、設定されてもよい。地図に現れた領域の状況とは、具体的には、例えば、建物の数が多いか少ないか、及び道路の数が多いか少ないか、等である。
【0073】
ここで、表示エリアの移動量の推定例、およびインターバルの決定例につき、具体的に説明しておく。
【0074】
例として、地図の縮尺を1/5000、ユーザ5の速度を90km/h、単位時間を1秒(s)、滑らかな地図の描画を担保できる移動量を0.1cm・Sとする。
【0075】
まず、表示エリアの移動量は、以下のとおり、推定される。
表示エリアの移動量=90km/h×1S×1/5000
=25000cm/s×1S×0.0002
=0.5cm
【0076】
次に、インターバルは、以下のとおり、決定される。
インターバル=0.1cm・S÷0.5cm
=0.2S
【0077】
このようにして、インターバル決定部174は、表示エリアの移動量を推定する。また、インターバル決定部174は、インターバルを決定する。なお、ユーザ5の速度がゼロである場合、すなわち、ユーザ端末100が停止している場合、上記の式(1)の値はゼロとなる。そして、上記の式(1)の値がゼロである場合、上記の式(2)の値は無限大となる。この場合、インターバルが無限大ということになるが、無限大の長さのインターバルは、現実的ではない。したがって、ユーザ5の速度がゼロまたは所定の速度以下である場合、インターバル決定部174は、予め定められた間隔時間であるインターバルを決定する。インターバル決定部174および上記の描画部173は、表示制御部に相当する。
【0078】
ユーザ端末100は、決定されたインターバルで地図データを取得することで、ユーザ5が移動する距離に応じた頻度で、地図データを受信できる。すなわち、ユーザ端末100は、先に取得する位置データと、次に取得する他の位置データとの距離に応じた頻度で、地図データを受信できる。このようにインターバル決定部174および描画部173は、ユーザ5の現在地を示す位置データに応じてユーザ端末通信部110が取得した地図データに基づき、出力部130に表示された地図を更新できる。
【0079】
ナビゲーション部175は、ユーザ端末100の現在地から目的地までユーザ5を案内する案内機能を有する。また、ナビゲーション部175は、所望位置または所望施設の検索機能を有する。ただし、これら機能は公知な機能であり、説明は省略する。なお、ナビゲーション部175は、ユーザ端末制御部170に必須の処理部ではない。ナビゲーション部175が備える機能は、例えば、コンテンツ配信サーバ10が備えていてもよい。
【0080】
例えば、ナビゲーション部175は、ユーザ5の位置データとコンテンツ配信サーバ10から配信された地図データとのマップマッチング処理を実行する。マップマッチング処理の実行によりユーザ端末100の現在位置を求める。また、ナビゲーション部175は、現在位置から、ユーザ5が設定した目的地までの誘導ルートの探索および設定を実行する。ナビゲーション部175は、設定した誘導ルートに沿った走行を案内する。案内は、例えば、案内内容の音声、および地図に表示されるマークを用いて、ユーザ5に対して実行される。ナビゲーション部175は、地図が更新されるたびに、設定された誘導ルートを、更新された地図上に表示する。
【0081】
〔5.処理フロー〕
図5を用いて、ユーザ端末100による表示処理の手順について、より詳細に説明する。
図5は、ユーザ端末100による表示処理の手順を示すシーケンス図である。
【0082】
(初回描画)
図5に示すように、ステップS101において、インターバル決定部174は、初回描画時のインターバルを決定する。ステップS101では、ユーザ端末100でウェブブラウザ101を用いてユーザアクションが行われると、インターバル決定部174は、予め定められた時間でインターバルを決定する。インターバル決定部174は、ユーザ5の速度データおよび地図の縮尺データの取得処理は実行しない。
【0083】
次に、インターバル決定部174は、ステップS102において、ステップS101にて決定したインターバルをタイマーに設定する。このタイマー機能は、例えば、ウェブブラウザ101に実装されているJavaScript(登録商標)が提供するタイマー機能である。このタイマーは、要求部171に対し、設定される。要求部171は、ステップS103において、ステップS102にて設定されたタイマーのタイムアウトを待機する。
【0084】
ステップS104において、ステップS103にて設定されたタイマーがタイムアウトすると、要求部171は、当該タイムアウトをインターバル決定部174に通知する。インターバル決定部174は、ステップS105において、要求部171からタイムアウトの通知を受けると、要求部171にGPS情報を要求する。GPS情報は、詳細には、ユーザ5の位置データおよび速度データである。
【0085】
なお、JavaScriptはウェブブラウザ101で動作するプログラミング言語である。具体的には、インターバル決定部174は、JavaScriptが提供するタイマー機能に対して、地図の描画のため一連の処理を担う関数を、コールバック関数として登録する。そして、インターバル決定部174は、タイマーをスタートさせる。タイマーがタイムアウトすると、コールバック関数が呼び出される。なお、インターバル決定部174の処理は、JavaScriptを利用する構成に限定されない。
【0086】
GPS受信部160による測位は、所定の時間間隔で行われる。要求部171は、ステップS106において、GPS受信部160からGPS情報が出力されると、出力されたGPS情報を受け取る。要求部171は、ステップS107において、ステップS106にて受け取ったGPS情報をインターバル決定部174に出力する。
【0087】
インターバル決定部174は、ステップS108において、要求部171に対して、地図データの配信を要求させる。インターバル決定部174は、受け取ったGPS情報に含まれるユーザ5の位置データに基づき配信要求対象の地図データを決定する。配信要求対象の地図データは、現在のユーザ5の位置データに対応する。
【0088】
要求部171は、ステップS109において、コンテンツ配信サーバ10にHTTPリクエストを送信する。HTTPリクエストは、詳細には、上記の配信要求対象の地図データの配信を要求する処理である。HTTPリクエストには、ユーザ5の位置データが含まれる。そのため、要求部171は、ユーザ5の位置データを所定の時間間隔で取得する。要求部171は、位置データ取得部に相当する。
【0089】
コンテンツ配信サーバ10は、受信したHTTPリクエストを受け付けると、ステップS110において、要求部171にHTTPレスポンスを返す。HTTPレスポンスは、詳細には、配信要求対象の地図データを地図データDB121から読み出し、読み出した地図データを要求部171に送信する処理である。
【0090】
要求部171は、ステップS111において、コンテンツ配信サーバ10から受け取った地図データを描画部173に出力する。描画部173は、ステップS112において、要求部171から受け取った地図データを描画する。ユーザ端末100の出力部130に地図が表示される。
【0091】
インターバル決定部174は、上記のステップS107にて受け取ったGPS情報に含まれるユーザ5の速度データ、および、ユーザ端末100の所定の記憶部に記憶された地図の縮尺データを取得する。そして、インターバル決定部174は、ステップS113において、上記の速度および地図の縮尺、並びに、上記の単位時間および滑らかな地図の描画を担保できる移動量に基づいて、インターバルを決定する。
【0092】
(第2回描画)
図5に示すように、インターバル決定部174は、ステップS114において、ステップS113にて決定したインターバルをタイマーに設定する。このタイマーは、要求部171に対し、設定される。要求部171は、ステップS115において、ステップS114にて設定されたタイマーのタイムアウトを待機する。
【0093】
設定されたタイマーがタイムアウトすると、要求部171は、ステップS116において、当該タイムアウトをインターバル決定部174に通知する。インターバル決定部174は、要求部171からタイムアウトの通知を受けると、ステップS117において、要求部171にGPS情報を要求する。
【0094】
以降、初回描画の場合と同様、上記のステップS106からステップS113までが繰り返されることになる。
【0095】
このようにして、ユーザ端末100は、表示エリアの移動量に応じた必要最小限の頻度での地図描画の更新を実現できる。それゆえ、ユーザ端末100は、スムーズな地図の表示が可能となる。
【0096】
また、ユーザ端末100は、地図描画の更新頻度を下げることができるので、地図描画にかかる負荷を抑制することができる。これにより、ユーザ端末100は、ユーザ5の利便性を低下させることも無い。
【0097】
地図の更新にかかる処理は、本実施形態に係る制御プログラムに基づいて行われる。本実施形態において、制御プログラムは、HTMLファイルと、JavaScriptファイルと、WebAssemblyモジュールとで構成される。HTMLファイルは、地図表示用のHTMLデータを含む。本実施形態において、地図表示用のHTMLデータは、ウェブページを形成するHTMLデータのうち、出力部130に地図を表示させるHTMLデータを示す。JavaScriptファイルは、JavaScript(登録商標)で記述されている。WebAssemblyモジュールは、C言語やC♯言語で記述されたプログラムのソースコードを、WebAssemblyコードにコンパイルして得られる。なお、コンパイルには、専用のコンパイラが使用される。
【0098】
制御プログラムには、JavaScriptが提供するタイマー機能に対して、地図の描画のため一連の処理を担う関数が、コールバック関数として登録されている。出力部130に表示された地図を更新する場合、インターバル決定部174は、制御プログラムに基づき、タイマーをスタートさせる。タイマーがタイムアウトすると、コールバック関数が呼び出される。コールバック関数が呼び出されると、インターバル決定部174は、制御プログラムに基づき、GPS情報を取得する。取得部172は、GPS情報をパラメータとしてコンテンツ配信サーバ10から地図データを取得する。描画部173は、制御プログラムに基づき、地図データを元に地図描画を行う。インターバル決定部174は、制御プログラムに基づき、再びタイマーを設定する。これにより、ユーザ端末制御部170は、定期的に描画処理を繰り返し、ユーザ5の現在位置の移動に追従して地図を描画できる。なお、インターバル決定部174の処理は、JavaScriptを利用する構成に限定されない。また、取得部172の処理は、JavaScriptを利用する構成に限定されない。
【0099】
従来、ウェブブラウザで動作するプログラム言語は、JavaScriptのみであった。JavaScriptは、シンプルなスクリプト言語であり、高速に処理できるように設計されていない。スクリプト言語は、人間の言語に近いプログラム言語で、プログラムの実行時に、マシン語に変換される必要がある。JavaScriptで記述されたプログラムは、マシン語に変換されながら実行されるので、コンパイラで事前に変換されたプログラムに比べて、処理速度が遅くなる。そのため、従来のウェブブラウザは、一度に大量の演算を行えず、高度なパフォーマンスを実現できなかった。
【0100】
これに対して、最近の主要な全てのウェブブラウザ101は、WebAssemblyに対応する仕様である。WebAssemblyは、バイナリコードの新しく策定されたフォーマットである。バイナリコードは、マシン語なので、JavaScriptに比べて高速で実行される。
【0101】
本実施形態の制御プログラムは、ウェブブラウザ101で実行される場合、JavaScriptからWebAssemblyの関数を呼び出すことができる。また、制御プログラムは、WebAssemblyからJavaScriptの関数を呼び出すことができる。すなわち、制御プログラムは、JavaScriptによって実行される処理を、WebAssemblyで補完することができる。そのため、ウェブブラウザ101は、大量の演算を行って、リッチなコンテンツを動作させることが可能になる。
【0102】
例えば、ウェブブラウザ101は、WebAssemblyモジュールに基づいて、地図データをパースするパース処理を行う。パース処理において、ウェブブラウザ101は、コンテンツ配信サーバ10から送信された地図データのうち、地図の更新に必要なデータと不要なデータとを判別し、地図データから地図の更新に必要なデータを取り出す。地図の更新に必要なデータは、例えば、地図の見た目に関するデータである。地図の更新に必要なデータとしては、道路の位置や形状、幅を示すデータ、および、施設の形状を示すデータ等が挙げられる。地図の更新に不要なデータとしては、例えば、ルート検索のためのデータ、および、ルート案内のためのデータ等が挙げられる。またウェブブラウザ101は、WebAssemblyモジュールに基づいて、取り出したデータから描画用データを生成する。描画用データは、道路や建物等に対応する矩形の頂点に関する情報を含む。また描画用データは、ポリゴン情報を含む。ポリゴン情報は、道路や建物等に対応するポリゴンの頂点に関する情報である。このように、ウェブブラウザ101は、WebAssemblyモジュールに基づいて、地図データから描画用データの生成を行う。
【0103】
本実施形態において、ウェブブラウザ101は、canvasを利用して地図を描画する。canvasは、ウェブブラウザ101で2次元コンピュータグラフィックスを表示させるためのHTMLの要素である。canvasは、HTMLデータを利用して出力部130に図形を表示させることができる。canvasは、HTMLのタグで定義される。地図表示用のHTMLデータには、地図を構成する各図形を描画するためのcanvas要素が含まれる。ウェブブラウザ101は、canvasで形成される地図領域に、canvasの2D(2-Dimensions)図形を描画する機能によってPOI(Point Of Interface)やランドマーク等のアイコン画像を表示する。ウェブブラウザ101は、WebGL(Graphics Library)で地図領域に道路等を表す図形を描画する。WebGLは、ウェブブラウザ101で3次元コンピュータグラフィックスを表示させるための技術である。ウェブブラウザ101は、描画用データに含まれる矩形の頂点に関する情報及びポリゴンの頂点に関する情報が引数としてcanvas要素に渡されることで、アイコン画像や道路等を表す図形を描画する。これによって出力部130に地図が表示される。
【0104】
ウェブブラウザ101は、地図表示用のHTMLデータに基づき、ユーザがナビゲーション機能を発揮させるためにユーザ端末100を操作する場合のHMI(Human Machine Interface)として各種の表示を行う。本実施形態において、ウェブブラウザ101は、例えば
図11に示す「ここに行く」という文字を表すボタン52B-1を表示する。
【0105】
ウェブブラウザ101は、ユーザ端末100がナビゲーション機能を実行している場合に、コンテンツ配信サーバ10にリクエストして、新たにHTMLファイルを取得してもよい。これによって、ウェブブラウザ101は、ユーザ端末100がナビゲーション機能を実行中に、ウェブページの構成を大きく変えることができる。
【0106】
このようにウェブブラウザ101は、JavaScriptファイルと、描画用データとに基づいて、地図を更新する。なお、ウェブブラウザ101は、WebAssemblyモジュールに基づいて、上記以外の処理を行う構成であってもよい。また、地図表示用のHTMLデータは、制御プログラムに含まれる構成に限定されない。ユーザ端末100は、ユーザ端末記憶部140に地図表示用のHTMLデータが予め記憶されている構成であってもよい。
【0107】
以上のことから、ユーザ端末100は、本実施形態の制御プログラムを用いることで、ウェブブラウザ101で処理を高速で行え、ルート検索、地図の更新、およびナビゲートなど、カーナビゲーション装置と同様の機能をウェブブラウザで発揮させることができる。
【0108】
(実施形態1の変形例)
上述のとおり、本実施形態では、第1地
図1および第2地
図2の表示処理は「現在地表示モード」で行われる例を用いて説明した。また、本実施形態では、地図の更新が不要な場合でも、地図データの取得処理を所定の頻度で実行する例を用いて説明した。しかしながら、本実施形態は、それらの例に限られるものではない。
【0109】
本実施形態の変形例において、ユーザ端末100は、「現在地表示モード」でなく、「現在地移動モード」を実行してもよい。また、本実施形態の変形例において、ユーザ端末100は、地図の更新が不要な場合、地図データの取得処理を行わない構成であってもよい。
【0110】
本実施形態の変形例において、ユーザ端末100は、「現在地表示モード」の場合、下記のとおり、地図の更新の要否を判断する。
・地図の更新が必要:ユーザ5が移動している場合、または、ユーザ5の向きが変化している場合の少なくともいずれか一方。
・地図の更新が不要:ユーザ5が停止している場合。
【0111】
ユーザ端末100は、「現在地移動モード」の場合、下記のとおり、地図の更新の要否を判断する。
・地図の更新が必要:ユーザ5の移動に伴い、位置マーク3がじきに画面に表示されなくなる場合、または、ユーザ5の向きが変化している場合の少なくともいずれか一方。位置マーク3がじきに画面に表示されなくなる場合は、位置マーク3が画面の端部まで移動した場合である。この場合、位置マーク3を画面中央付近に再配置するため、地図の更新が必要となる。
・地図の更新が不要:ユーザ5が停止している場合、または、ユーザ5は移動しているものの、所定の時間、位置マーク3が画面に表示され続けると推測される場合の少なくともいずれか一方。
【0112】
変形例1に係るユーザ端末100は、タイマーがタイムアウトすると、地図の更新が不要と判断した場合には、地図データの取得処理を行わず、地図の更新が必要と判断した場合には、地図データの取得処理を実行する。
【0113】
変形例1に係るユーザ端末100によれば、地図データの取得処理を実行する頻度を抑制することができる。
【0114】
また、変形例2に係るユーザ端末100は、ユーザ5とは異なる第三者の位置データに対応する位置マークを、位置マーク3として表示させる。第三者とは、例えば、ユーザ5が存在する場所から離れた遠隔地に存在する第三者である。離れている距離の長短は問わない。第三者は移動体である。移動体は、例えば、人又は車両である。また、変形例2に係るユーザ端末100は、ユーザ端末100と異なる他の装置から、第三者の位置データを取得する。ユーザ端末100は、例えば、コンテンツ配信サーバ10から第三者の位置データを取得する。この場合、第三者からコンテンツ配信サーバ10に対し、第三者の位置データが随時送信される。第三者の位置データの取得先であるサーバは、コンテンツ配信サーバ10とは異なるサーバであってもよい。
【0115】
変形例2に係るユーザ端末100によれば、ユーザ端末100から離れた位置にある第三者の位置を、ユーザ5のユーザ端末100で追うことができる。より具体的には、変形例2に係るユーザ端末100は、遠隔地にいる第三者を、目的地にナビゲーションすることができる。あるいは、変形例2に係るユーザ端末100は、ユーザ5から離れた場所にいる第三者の移動を見守ることができる。
【0116】
なお、上述の変形例1および変形例2は、表示処理が「現在地表示モード」および「現在地移動モード」のいずれであっても適用可能である。また、上述の変形例2は、地図の更新の要否に拘らず、所定の頻度で、地図データの取得処理を実行してもよい。また、上述の変形例2は、地図の更新が不要となる場合、地図データの取得処理を停止し、地図の更新が必要となる場合、地図データの取得処理を実行してもよい。
【0117】
≪実施形態2≫
図6を用いて、本発明の実施形態2に係る表示装置が実行する表示処理の一例について説明する。
【0118】
図6に示したウェブサーバ20は、ユーザ端末100にウェブページを配信するサーバ装置である。ウェブサーバ20によって配信されるウェブページは、例えば、HTML(HyperText Markup Language)ファイル、又はXML(Extensible Markup Language)ファイル等により形成される。HTMLファイルは、HTMLで記述されている。XMLファイルは、XMLで記述されている。
図6の例では、ウェブサーバ20は、ウェブページの一例であるウェブページ8をユーザ端末100に配信する。
【0119】
ウェブページ8は、ページを構成する要素である一部のコンテンツを、別のサーバ装置から取得するようタグによって指定する。本実施形態において、別のサーバ装置は、コンテンツ配信サーバ10である。例えば、ウェブページ8を取得したユーザ端末100は、タグによるコンテンツ取得指定に従って、コンテンツ配信サーバ10に、コンテンツとして地図データの配信を要求する。そして、コンテンツ配信サーバ10は、ユーザ端末100に地図データを配信する。地図データの配信の要求は、ウェブページ8に埋め込まれたiframe(Inline frame)タグをウェブブラウザ101が実行することで行われる。地図はウェブページ8を構成するHTMLファイルの入れ子として取り扱われる。
【0120】
〔1.表示処理〕
以下では、ユーザ端末100の状態遷移を図示する場合、
図6中において左から順に第1-1状態、第1-2状態と表記する。
【0121】
図6に示すように、まずステップS21において、ユーザ端末100は、ユーザ5が閲覧を所望したウェブページ8の取得先URL(Uniform Resource Locator)にアクセスする。取得先URLは、例えば、
図7の1001で示すURLである。詳細には、ユーザ端末100は、ウェブページ8を提供するウェブサーバ20にアクセスする。ウェブサーバ20は、ユーザ端末100のアクセスを受けて、ステップS22において、ウェブページ8を配信する。
【0122】
図6の例において、ウェブページ8は、例えば、お店又は商業施設など、消費者を集客したい店舗等のアクセスガイド用のコンテンツである。
図6の例では、図示を省略しているが、ウェブページ8の縦方向のサイズは、ユーザ端末100の表示エリアにおける縦方向のサイズよりも長くてもよい。この場合、ユーザ端末100の表示エリア内に位置するウェブページ8の領域のみが表示エリアに表示され、表示エリア外に位置するウェブページ8の領域は表示されない。ユーザ端末100のユーザは、例えば、指を用いてスワイプ操作やフリック操作を行うことで、表示されたウェブページ8をスクロールさせ、ウェブページ8のうち表示エリア内に位置させる領域を変更する。
【0123】
また、第1-1状態において、ウェブページ8は、お店又は商業施設などに関する住所、連絡先、およびトピックス等を表示する表示領域51の他に、ウェブページ8とは別に配信される地図を表示する表示領域である地図領域52を含む。地図領域52は、例えば、ウェブページ8の下方に配置される。地図領域52は、ウェブページ8とは別に配信される地図が表示される領域である。
図8に、表示領域51および地図領域52の具体例を示す。
図8に示すように、表示領域51Aには、住所、電話番号、および受付時間が表示されている。また、地図領域52Bには地図は表示されていない。
【0124】
ウェブページ8を形成するHTMLファイル等には、地図領域52で表示する地図に関する地図データの配信を要求するためのiframeタグが埋め込まれている。ウェブページ8を形成するHTMLファイルは、例えば、
図9の1002で示すHTMLファイルである。また、HTMLファイルに埋め込まれるiframeタグは、例えば、
図9の1003で示すiframeタグである。ユーザ端末100は、ステップS23において、ウェブページ8のiframeタグに基づいて、地図データの配信を要求する。具体的には、ユーザ端末100は、HTMLファイルに記載されているURLにアクセスし、地図データを取得する。このアクセス先であるURLは、例えば、
図10の1004で示すURLである。
図10の1004で示すURLは、
図9の1003で示すiframeタグに含まれるURLである。
【0125】
なお、本実施形態では、ユーザ端末100は、コンテンツ配信サーバ10から地図データを取得する。
【0126】
ユーザ端末100は、ステップS24において、地図データの配信をコンテンツ配信サーバ10に要求する。コンテンツ配信サーバ10は、地図データの配信の要求に従い、ステップS25において、対象の地図データをユーザ端末100に配信する。
【0127】
ここで、本実施形態でも、ユーザ端末100からコンテンツ配信サーバ10に対する地図データの取得処理は、上述の実施形態1と同様に実行される。すなわち、本実施形態は、地図の更新が不要な場合でも、地図データの取得処理を実行する構成であってもよく、地図の更新が不要な場合に、地図データの取得処理を実行しない構成であってもよい。
【0128】
上記の処理を経て、ユーザ端末100は、地図データを取得する。ユーザ端末100は、配信された地図データに基づいて、ステップS26において、地図領域52に地図を表示する。ステップS26の処理により、ユーザ端末100は、第1-2状態に遷移する。
図11に、表示領域51および地図領域52の具体例を示す。
図11に示すように、表示域51Aには、住所、電話番号、および受付時間が表示されている。また、地図領域52Bには地図が表示されている。
【0129】
なお、
図11の例では、地図領域52Bには、目的地が示された地図が表示されている。目的地は、例えば店舗等の位置である。詳細には、地図には、目的地を示す位置マーク6が表示されている。また、地図領域52Bには、「ここに行く」という文字を表すボタン52B-1が表示されている。ボタン52B-1が表示された位置をユーザ5がクリックすると、
図12に示すように、位置マーク3と、経路マーク7とが表示される。位置マーク3は、ユーザ5の現在地に表示される。経路マーク7は、ユーザ5の現在地から目的地までの経路を示す。ボタン52B-1の表示された位置がクリックされた後、地図の縮尺は、ユーザ5の現在地と目的地との距離によって変化する。ユーザ5の現在地と目的地とが離れているほど、地図の縮尺は大きくなる。
【0130】
また、ユーザ5がユーザ端末100をナビゲーションとして利用する場合、ユーザ端末100は、ユーザ5の現在地を含む所定領域を示す地図を表示する。この所定領域は、地図の縮尺によって変化する。所定領域は、地図の縮尺が大きいほど広くなる。所定領域は、地図の縮尺が小さいほど狭くなる。また、所定領域は、ユーザ5の移動に伴って変化する。
【0131】
〔2.システムの構成〕
図13を用いて、本実施形態に係るシステムの構成について説明する。
図13は、本実施形態に係るシステムの構成例を示す図である。
図13に示すように、本実施形態に係るシステムは、ユーザ端末100と、コンテンツ配信サーバ10と、ウェブサーバ20とを含む。ユーザ端末100、コンテンツ配信サーバ10およびウェブサーバ20は、ネットワーク4を介して有線または無線により通信可能に接続される。なお、
図13に示すシステムに含まれる各装置の数は図示したものに限られず、例えば、本実施形態に係るシステムには、複数台のユーザ端末100が含まれてもよい。また、例えば、本実施形態に係るシステムには、複数台のコンテンツ配信サーバ10が含まれてもよい。また、例えば、本実施形態に係るシステムには、複数台のウェブサーバ20が含まれてもよい。
【0132】
〔3.ウェブサーバの構成〕
図14を用いて、ウェブサーバ20の構成について説明する。
図14は、ウェブサーバ20の構成例を示す図である。
図14に示すように、ウェブサーバ20は、ウェブサーバ通信部21と、ウェブページ記憶部22と、ウェブサーバ制御部23とを有する。ウェブサーバ20は、第2サーバに相当する。
【0133】
ウェブサーバ通信部21は、例えば、NIC等によって実現される。そして、ウェブサーバ通信部21は、ネットワーク4と有線または無線で接続され、ユーザ端末100やコンテンツ配信サーバ10との間で情報の送受信を行う。
【0134】
ウェブページ記憶部22は、記憶装置によって実現される。記憶装置は、例えば、RAM、もしくはフラッシュメモリ等の半導体メモリ素子、ハードディスク、又は光ディスク等が挙げられる。ウェブページ記憶部22は、例えば、HTMLファイル又は画像データ等を記憶する。HTMLファイルは、ウェブページ8に対応するHTMLで記述されている。画像データは、ウェブページ8を構成する静止画像や動画像のデータである。
【0135】
ウェブサーバ制御部23は、例えば、CPU又はMPU等によって実現される。CPU又はMPU等は、ウェブサーバ20内部の記憶装置に記憶されている各種プログラムを、RAMを作業領域として実行する。また、ウェブサーバ制御部23は、例えば、ASIC又はFPGA等の集積回路により実現される。
【0136】
図14に示すように、ウェブサーバ制御部23は、ウェブサーバ受付部24と、ウェブサーバ配信部25とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、ウェブサーバ制御部23の内部構成は、
図14に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、ウェブサーバ制御部23が有する各処理部の接続関係は、
図14に示した接続関係に限られず、他の接続関係であってもよい。
【0137】
ウェブサーバ受付部24は、ユーザ端末100からウェブページ8の配信の要求を受け付ける。例えば、ウェブサーバ受付部24は、ウェブページ8の取得要求として、HTTPリクエストを受け付ける。
【0138】
ウェブサーバ配信部25は、ウェブサーバ受付部24によってウェブページ8の配信の要求が受け付けられた場合に、ウェブページ8をユーザ端末100に配信する。具体的には、ウェブサーバ配信部25は、ウェブページ記憶部22から配信する対象のウェブページ8を取得し、取得したウェブページ8をユーザ端末100に配信する。ユーザ端末100は、取得したウェブページ8を表示する際に、コンテンツ配信サーバ10に対して地図データの配信を要求する。ユーザ端末100に配信される地図データは、地図領域52に表示する地図に関する地図データである。ユーザ端末100は、地図領域52に表示される地図に関する地図データの取得処理を実行する。
【0139】
〔4.ユーザ端末の応用例〕
ユーザ端末100は、ウェブページの中で目的地までの道案内をすることが可能になる。そのため、ユーザ端末100をナビゲーションシステムとして利用する企業にとっては、シームレスな店舗誘導を実現でき、集客の手助けとなる。
【0140】
また、本実施形態に係る制御プログラムは、ウェブブラウザさえあれば、どんなモバイル端末でも利用可能である。そのため、専用のアプリケーションや特別なシステムは不要であり、本実施形態に係る制御プログラムをナビゲーションシステムとして企業が導入する際の障壁が低い。
【0141】
さらに、ユーザ端末100を利用する顧客は、ウェブサイトで見つけた店舗等へ向かう際、専用のアプリケーションに目的地を設定する手間が不要になる。
【0142】
本実施形態を利用したビジネスモデルとしては、本実施形態の制御プログラムに対応したウェブページを採用する企業に対して、ユーザ端末100からコンテンツ配信サーバ10へ送信された要求の種類や、要求の回数に応じて、従量的に課金することが考えられる。
【0143】
なお、本実施形態に係る制御プログラムは、ウェブブラウザで実行されるプログラムに限定されず、アプリケーションで実行されてもよい。
【0144】
≪ハードウェア構成≫
上述の実施形態1および実施形態2に係るシステムのハードウェア構成につき、説明する。
【0145】
ユーザ端末100、コンテンツ配信サーバ10、およびウェブサーバ20は、例えば
図15に示すような構成のコンピュータ200によって実現される。以下、ユーザ端末100を例に挙げて説明する。
【0146】
図15は、ユーザ端末100の機能を実現するコンピュータ200の一例を示すハードウェア構成図である。コンピュータ200は、CPU210、RAM220、ROM(Read Only Memory)230、HDD等からなる記憶装置240、通信インターフェイス(I/F)250、入出力インターフェイス(I/F)260、およびメディアインターフェイス(I/F)270を有する。これら各構成部材同士は、バス280を介して、情報の送受信を行う。
【0147】
CPU210は、ROM230または記憶装置240に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM230は、コンピュータ200の起動時にCPU210によって実行されるブートプログラムや、コンピュータ200のハードウェアに依存するプログラム等を格納する。
【0148】
記憶装置240は、CPU210によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス250は、例えば、
図2に示したネットワーク4を介して他の機器からデータを受信してCPU210へ送る。また、通信インターフェイス250は、ネットワーク4を介してCPU210が生成したデータを他の機器へ送信する。
【0149】
CPU210は、入出力インターフェイス260を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU210は、入出力インターフェイス260を介して、入力装置からデータを取得する。また、CPU210は、入出力インターフェイス260を介して生成したデータを出力装置へ出力する。
【0150】
メディアインターフェイス270は、図示しない記録媒体に格納されたプログラムまたはデータを読み取り、RAM220を介してCPU210に提供する。CPU210は、かかるプログラムを、メディアインターフェイス270を介して記録媒体からRAM220上にロードし、ロードしたプログラムを実行する。記録媒体は、例えばDVD(Digital Versatile Disc)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0151】
例えば、コンピュータ200がユーザ端末100として機能する場合、コンピュータ200のCPU210は、RAM220にロードされたプログラムを実行することにより、ユーザ端末制御部170の機能を実現する。コンピュータ200のCPU210は、他の装置からネットワーク4を介してこれらのプログラムを取得する。他の例として、CPU210は、これらのプログラムを記録媒体から読み取ってもよい。
【0152】
≪実施形態3≫
上記の実施形態1および実施形態2では、上記の実施形態1および実施形態2に係る移動体の一例として、ユーザ5を例として説明した。本実施形態では、本実施形態に係る移動体の一例として、車両を例に実施形態として説明する。
【0153】
本実施形態では、ユーザ端末100は車両に搭載される。ユーザ端末100は、当該車両に搭載されたナビゲーション装置とSDL(Smart Device Link)を用いて連携する。当該連携により、近距離無線通信を介して、ナビゲーション装置との間で情報の送受信を行う。これにより、ユーザ端末100は、ナビゲーション装置から、車両の位置データと、車両の速度データとを取得することができる。
【0154】
本実施形態によれば、ユーザ端末100は、GPS受信部160は不要となるので、ユーザ端末100の低コスト化を図ることができる。
【0155】
≪変形例3≫
上記実施形態1、実施形態2、および実施形態3の変形例3について説明する。
図16は、本変形例3に係るユーザ端末100Aの構成例を示す図である。本変形例3に係るユーザ端末100Aが上記実施形態1、実施形態2、および実施形態3に係るユーザ端末100と異なる点は、インターバル決定部174に代えて、遅延検出部174A-1を有するインターバル決定部174Aを備えた点である。
【0156】
上記実施形態、実施形態2、および実施形態3に係るユーザ端末100では、
図2のネットワーク4を経由して、コンテンツ配信サーバ10と通信する。ネットワーク4は、例えばインターネットである。このため、ユーザ端末100とコンテンツ配信サーバ10と間の通信速度が、ネットワーク4の通信品質等によって左右されて、通信遅延が生じることが考えられる。
【0157】
そこで、本変形例3に係るユーザ端末100では、インターバルを決定する際、ユーザ端末100とコンテンツ配信サーバ10との間の通信時間を考慮する。通信時間は、ユーザ端末100が地図データをコンテンツ配信サーバ10から取得するためにかかる時間である。これにより、本変形例3に係るユーザ端末100は、通信遅延の影響を抑制できるようなインターバルを求めることができる。
【0158】
詳細には、インターバル決定部174Aは、以下の式(3)に基づき、インターバルを決定する。
インターバル
=滑らかな地図の描画を担保できる移動量÷表示エリアの移動量-通信時間 (3)
式(3)内の通信時間は、遅延検出部174A-1が取得する。詳細には、遅延検出部174A-1は、要求部171がコンテンツ配信サーバ10にHTTPリクエストを送信したときのタイムスタンプと、要求部171がコンテンツ配信サーバ10からHTTPレスポンスを受信したときのタイムスタンプとの差分をとる。当該差分が、式(3)内の通信時間となる。
【0159】
≪変形例4≫
上記実施形態1、実施形態2、および実施形態3の変形例4について説明する。
図17は、本変形例4に係るユーザ端末100Bの構成例を示す図である。本変形例4に係るユーザ端末100Bが上記実施形態1、実施形態2、および実施形態3に係るユーザ端末100と異なる点は、インターバル決定部174に代えて、移動体検出部174B-1を有するインターバル決定部174Bを備えた点である。
【0160】
インターバル決定部174Bは、単位時間あたりの表示エリアの移動量に代えて、移動体の種類に応じて、インターバルを決定する。
【0161】
詳細には、移動体検出部174B-1によって、移動体が人であると判断された場合、インターバル決定部174Bは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的小さいと推定する。この場合、インターバル決定部174Bは、インターバルを比較的大きく設定する。
【0162】
これに対して、移動体検出部174B-1によって、移動体が車両であると判断された場合、インターバル決定部174Bは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的大きいと推定する。この場合、インターバル決定部174Bは、インターバルを比較的小さくする。
【0163】
なお、インターバル決定部174Bは、さらに地図の縮尺にも基づいて、インターバルを決定してもよい。
【0164】
≪変形例5≫
上記実施形態1、実施形態2、および実施形態3の変形例5について説明する。
図18は、本変形例5に係るユーザ端末100Cの構成例を示す図である。本変形例5に係るユーザ端末100Cが上記実施形態1、実施形態2、および実施形態3に係るユーザ端末100と異なる点は、インターバル決定部174に代えて、道路検出部174C-1を有するインターバル決定部174Cを備えた点である。
【0165】
インターバル決定部174Cは、移動体が車両の場合、車両が走行する道路の種別を地図データから取得する。インターバル決定部174Cは、取得した道路の種別に応じて、インターバルを決定する。
【0166】
詳細には、道路検出部174C-1によって、道路の種別が高速道路であると判断された場合、インターバル決定部174Cは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的大きいと推定する。この場合、インターバル決定部174Cは、インターバルを比較的小さくする。
【0167】
これに対して、道路検出部174C-1によって、道路の種別が細街路であると判断された場合、インターバル決定部174Cは、移動体の移動に伴う、単位時間当たりの地図の変化は比較的小さいと推定する。この場合、インターバル決定部174Cは、インターバルを比較的大きくする。
【0168】
なお、インターバル決定部174Cは、さらに地図の縮尺にも基づいて、インターバルを決定してもよい。
【0169】
≪変形例6≫
変形例6に係るユーザ端末100において、画面に表示された地図は、ユーザ端末100のCPUが実行する処理の程度である負荷に応じて更新される。ユーザ端末100は、CPUの負荷が比較的小さい場合、画面に表示された地図の更新頻度を比較的高くするように構成されている。ユーザ端末100は、CPUの負荷が比較的大きい場合、画面に表示された地図の更新頻度を比較的低くするように構成されている。
【0170】
すなわち、ユーザ端末100は、CPUの負荷が、前回検知された負荷よりも低下した場合、画面に表示された地図の更新頻度を、前回設定された更新頻度よりも上げる。これによって、画面に表示された自車位置マーク又は建物等を表す図形が1回の更新で移動する距離を小さくでき、地図を滑らかに画面に描画できる。そのため、ユーザ端末100は、装置の処理性能を活かし、地図の画質を良好にできる。またユーザ端末100は、例えば、他の機能が起動してCPUの負荷が上がった場合、画面に表示された地図の更新頻度を、前回設定された更新頻度よりも下げることで、他の機能の動作に影響を与えないようにできる。したがって、ユーザ端末100は、利便性を維持しつつ、地図の良好な画質を実現できる。
【0171】
インターバルを決定する場合、インターバル決定部174は、CPU使用率を取得する。CPU使用率は、CPUの負荷を表す。CPU使用率は、ユーザ端末制御部170が一度に扱える処理量のうち、どの程度の割合を処理に使用しているかを示した値である。なお、インターバル決定部174は、ユーザ端末制御部170の負荷を表す値であれば、CPU使用率以外の値を取得する構成であってもよい。ユーザ端末制御部170の負荷を表す値としては、他に、リソース使用率やメモリ使用率等が挙げられる。
【0172】
インターバル決定部174は、CPU使用率に基づき、インターバルを決定する。インターバルは、ある程度の滑らかな地図の描画を担保できる間隔に設定される。加えて、インターバルは、ユーザ端末100のCPUの負荷が、前回検知された負荷よりも下がった場合、前回設定されたインターバルよりも短く設定される。またインターバルは、ユーザ端末100のCPUの負荷が、前回検知された負荷よりも上がった場合、前回設定されたインターバルよりも長く設定される。
【0173】
インターバル決定部174は、例えば、CPU使用率が30%未満の場合、インターバルを30msec以上100msec未満とし、CPU使用率が30%以上50%未満の場合、インターバルを100msec以上200msec未満とし、CPU使用率が50%以上の場合、インターバルを200msec以上400msec未満とすることが好ましい。
【0174】
取得部172は、決定されたインターバルで地図データを取得することで、ユーザ端末100のCPUの負荷に応じた頻度で、地図データを受信できる。
【0175】
以上のようにユーザ端末制御部170は、CPUの負荷が比較的少ない場合、地図の更新頻度をこれまでよりも上げることで、画面に表示された自車位置マーク又は建物等を表す図形が1回の更新で移動する距離を小さくでき、より滑らかに地図を画面に描画できる。そのため、変形例6に係るユーザ端末100は、装置の処理性能を活かし、地図を画面に表示した場合の画質を良好にできる。
【0176】
なお、変形例6に係るユーザ端末100は、インターバル決定部174が、速度データと縮尺データとに基づいて決定したインターバルを、CPU使用率に基づき調整する構成であってもよい。
【0177】
例えば、インターバル決定部174は、CPU使用率が50%以上の場合、決定したインターバルを変更せず、CPU使用率が30%以上50%未満の場合、決定したインターバルを5%以上20%未満の範囲で短くし、CPU使用率が30%未満の場合、決定したインターバルを20%以上30%未満の範囲で短くする。
【0178】
これによって、変形例6に係るユーザ端末100は、表示エリアの移動量に応じた必要最小限の頻度での地図描画の更新を実現しつつ、ユーザ端末100のCPUの負荷に応じて、地図を画面に表示した場合の画質を良好にできる。
【0179】
≪その他の実施形態≫
上記の実施形態1、実施形態2、および実施形態3において、インターバルは、ユーザ端末100によって決定されるが、ユーザが自身で決めた値を手動で設定できるように構成されてもよい。
【0180】
上記の実施形態1、実施形態2、および実施形態3において、ユーザ端末100はGPS機能を備えるが、この構成に限定されない。ユーザ端末100は、外部に備わるGPSから、位置データを取得する構成であってもよい。
【0181】
≪ソフトウェアによる実現例≫
ユーザ端末100、100A、100B、および100Cの制御ブロック(特にユーザ端末制御部170、170A、170B、および170C)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現されてもよいし、ソフトウェアによって実現されてもよい。
【0182】
後者の場合、ユーザ端末100、100A、100B、および100Cは、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPUを用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM等の他、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAMなどをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0183】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0184】
本開示の一態様に係る表示装置は、表示部と、通信取得部と、位置データ取得部と、表示制御部とを備える。表示部は、地図を表示する。地図は、地図データとHTMLデータとに基づいて表示される。通信取得部は、地図データおよびHTMLデータを取得する。地図データおよびHTMLデータは、HTTP通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。通信取得部が取得する地図データは、位置データに対応する地図データである。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。地図の更新は、地図データに基づいて行われる。地図データは、通信取得部が取得した地図データである。
【0185】
また本開示の一態様に係る表示装置において、通信取得部はプログラムを取得する。プログラムは、地図を更新させるプログラムである。地図は、表示部が表示する地図である。
【0186】
また本開示の一態様に係る表示装置において、表示制御部は、移動体の速度と、地図の縮尺と、取得時間とに基づいて、地図の更新を行う。移動体の速度は、位置データから求められる。取得時間は、通信取得部が地図データを取得するためにかかる時間である。
【0187】
また本開示の一態様に係る表示装置において、地図は、ウェブブラウザによって表示される。
【0188】
また本開示の一態様に係る表示装置において、通信取得部は、第1サーバ、および、第2サーバとそれぞれ通信する。第2サーバは、第1サーバと異なるサーバである。通信取得部は、地図データとプログラムとを取得する。地図データとプログラムは、第1サーバから取得される。通信取得部は、HTMLデータを取得する。HTMLデータは、第2サーバから取得される。HTMLデータには、ページの構成が記述されている。ページは、地図を要素に含む。
【0189】
また本開示の一態様に係る表示装置において、地図は、アプリケーションによって表示される。
【0190】
本開示の一態様に係る制御プログラムは、JavaScript(登録商標)ファイルと、モジュールとで構成される。JavaScriptファイルは、JavaScriptで記述されている。モジュールは、WebAssemblyのモジュールである。プログラムは、表示装置を、位置データ取得部と表示制御部として機能させる。表示装置は、表示部と通信取得部とを備える。表示部は、地図を表示する。地図は、地図データとHTMLデータとに基づいて表示される。通信取得部は、地図データおよびHTMLデータを取得する。地図データおよびHTMLデータは、HTTP通信で取得される。位置データ取得部は、位置データを取得する。位置データは、所定の時間間隔で取得される。表示制御部は、地図を更新する。地図は、表示部に表示された地図である。プログラムは、通信取得部に、位置データに対応する地図データを取得させる。地図データは、所定の頻度で取得される。所定の頻度は、位置データと、次に取得される他の位置データとの距離に応じた頻度である。プログラムは、表示制御部に、地図データに基づいて、地図を更新させる。地図データは、通信取得部が取得した地図データである。
【0191】
本開示の各態様に係る表示装置は、コンピュータによって実現してもよく、この場合には、コンピュータを表示装置が備える各部(ソフトウェア要素)として動作させることにより表示装置をコンピュータにて実現させる表示装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【0192】
本開示の一態様に係る表示装置は、通信部と、表示部と、制御部とを備える。通信部は、地図データを取得する。地図データは、移動体の位置データに基づいて取得される。地図データは、HTTP通信で取得される。地図データは、繰り返し取得される。地図データは、移動体の現在地に対応する。表示部は、地図を表示する。地図は、移動体の現在地を示す。地図は、位置データと地図データとHTMLデータとに基づいて表示される。地図は、HTML形式で表示される。HTML形式は、HTMLで整形される形式である。制御部は、通信部及び表示部をそれぞれ制御する処理を実行する。制御部は、位置データ取得部を有する。位置データ取得部は、移動体の位置データを取得する。位置データは、繰り返し位置データを取得する。制御部は、地図データが取得される間隔を、前回設定された間隔よりも縮める。地図データは、通信部によって取得される地図データである。制御部は、地図を更新する頻度を、前回設定された頻度よりも上げる。地図は、表示部に表示された地図である。これらは、負荷が前回検知された負荷よりも低下した場合に行う。負荷は、制御部が実行する処理の程度である。
【0193】
また本開示の一態様に係る表示装置において、通信部はプログラムを取得する。プログラムは、地図を更新させるプログラムである。地図は、表示部に表示される地図である。通信部は、HTTP通信で、プログラムを取得する。
【0194】
また本開示の一態様に係る表示装置において、制御部は、インターバル決定部を有する。インターバル決定部は、負荷と、移動体の速度と、地図の縮尺と、取得時間とに基づいて、間隔を決定する。間隔は、地図が更新される間隔である。地図は、表示部に表示された地図である。取得時間は、通信部が地図データを取得するためにかかる時間である。
【0195】
また本開示の一態様に係る表示装置において、表示部は、ウェブブラウザを利用して地図を表示する。
【0196】
また本開示の一態様に係る表示装置において、通信部は、第1サーバ、及び、第2サーバとそれぞれ通信する。第2サーバは、第1サーバと異なるサーバである。通信部は、地図データとプログラムとを取得する。地図データとプログラムは、第1サーバから取得される。通信部は、HTMLデータを取得する。HTMLデータは、第2サーバから取得される。HTMLデータには、ページの構成が記述されている。ページは、地図を要素に含む。
【0197】
また本開示の一態様に係る表示装置において、表示部は、アプリケーションを利用して地図を表示する。
【0198】
本開示の一態様に係る制御プログラムは、モジュールを含んで構成される。JavaScriptファイルは、JavaScriptで記述されている。モジュールは、WebAssemblyのモジュールである。制御プログラムは、コンピュータに処理を実現させる。コンピュータは、通信部と表示部と制御部とを備える。通信部は、地図データを取得する。地図データは、移動体の位置データに基づいて取得される。地図データは、繰り返し取得される。地図データは、移動体の現在地に対応する。地図データは、HTTP通信で取得される。表示部は、地図を表示する。地図は、移動体の現在地を示す。地図は、位置データと地図データとHTMLデータとに基づき表示される。地図は、HTML形式で表示される。HTML形式は、HTMLで整形される形式である。制御部は、表示部及び通信部をそれぞれ制御するための処理を実行する。制御プログラムは、コンピュータに移動体の位置データを繰り返し取得させる。また制御プログラムは、コンピュータに、地図データが取得される間隔を、前回設定された間隔よりも縮める処理を実行させる。また制御プログラムは、コンピュータに、地図を更新する頻度を、前回設定された頻度よりも上げる処理を実行させる。地図データは、通信部によって取得される地図データである。地図は、表示部に表示させた地図である。処理は、負荷が、前回検知された負荷よりも低下した場合に行われる。負荷は、御部が実行する処理の程度である。
【符号の説明】
【0199】
8 ウェブページ
10 コンテンツ配信サーバ
20 ウェブサーバ
100、100A、100B、100C ユーザ端末
101 ウェブブラウザ
110 ユーザ端末通信部
130 出力部
170 ユーザ端末制御部
171 要求部
173 描画部
174、174A、174B、174C インターバル決定部