(57)【特許請求の範囲】
【請求項１】
世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、前記判定された矩形領域を表わす情報を符号化する第１の符号化処理と、前記２点の地理座標それぞれが前記判定された矩形領域の四隅の頂点座標のいずれに対応するかを判定し、前記判定された２点の頂点座標の組の情報を符号化する第２の符号化処理と、前記第１の符号化部および前記第２の符号化部により得られる各符号データを出力する符号データ出力処理と、を実行する処理部を備える地理座標符号化装置。
【請求項２】
前記処理部は、
前記第１の符号化処理により符号化された情報の桁数を符号化する第３の符号化処理をさらに実行し、
前記符号データ出力処理において、は、前記第１の符号化処理および前記第２の符号化処理により得られる各符号データと、前記第３の符号化処理により得られる符号データとを合わせて出力する処理を実行する、請求項１に記載の地理座標符号化装置。
【請求項３】
前記処理部は、前記第１の符号化処理において、前記判定された矩形領域を表わす情報をジオハッシュ形式で符号化する処理を実行する、請求項１または２の地理座標符号化装置。
【請求項４】
前記地理座標を検出するセンサと、請求項１乃至３のいずれかに記載の地理座標符号化装置とを備える端末装置。
【請求項５】
請求項４に記載の端末装置において、前記地理座標を検出するセンサがＧＰＳセンサで構成される端末装置。
【請求項６】
請求項１乃至３のいずれかに記載の地理座標符号化装置が出力した符号データを受信して、前記２点それぞれの緯度及び経度を表わす地理座標に復号する地理座標復号装置。
【請求項７】
処理部を有する地理座標符号化装置に用いられる地理座標符号化方法であって、前記処理部が、
世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、
前記判定された矩形領域を表わす情報を第１符号データとして符号化し、
前記２点の地理座標それぞれが前記割り当てられた矩形領域の四隅の頂点座標のいずれに対応するかを判定し、
前記判定された２点の頂点座標の組の情報を第２符号データ符号化し、
前記第１符号及び第２符号データを出力する、地理座標符号化方法。
【請求項８】
地理座標復号装置で用いられる地理座標復号方法であって、前記地理座標復号装置が、
請求項１乃至３のいずれかに記載の地理座標符号化装置が出力した符号データを受信して、前記２点それぞれの緯度及び経度を表わす地理座標に復号する、地理座標復号方法。
【請求項９】
地理座標符号化装置として用いられるコンピュータに、
世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、前記判定された矩形領域を表わす情報を符号化する第１の符号化ステップと、
前記２点の地理座標それぞれが前記割り当てられた矩形領域の四隅の頂点座標のいずれに対応するかを判定し、前記判定された２点の頂点座標の組の情報を符号化する第２の符号化ステップと、前記第１の符号化ステップおよび前記第２の符号化ステップにより得られる各符号データを出力する符号データ出力ステップと、
を実行させるためのプログラム。
【請求項１０】
地理座標復号化装置として用いられるコンピュータに、
請求項１乃至３のいずれかに記載の地理座標符号化装置が出力した符号データを受信して、前記２点それぞれの緯度及び経度を表わす地理座標に復号するステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、緯度、経度などの地理座標を符号化／復号する技術に関する。
【背景技術】
【０００２】
ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：全地球測位システム）センサを搭載したスマートフォンなどの端末装置が普及しており、これによって得られる緯度、経度などの地理座標を、端末の位置情報の履歴（ログ）として保存、またはインターネットを介してサーバコンピュータなどに送信する端末が増えている。
【０００３】
従来、例えば緯度、経度の情報を保存または送信するためには、緯度、経度それぞれの情報を十分な精度で表現（符号化）するために、それぞれ３２ビット程度のデータ量が必要で、１点の地理座標を表現するためには３２ビット×２＝６４ビット＝８バイトのデータ量が必要であった。仮に１０００点の地理座標を記録する場合、８バイト×１０００＝８００００バイト＝８０ｋバイト程度のデータ容量となる。
【０００４】
一方、ジオハッシュ（ｇｅｏｈａｓｈ）という文字列で地理座標を表現する技術が知られている。ジオハッシュは、緯度、経度の組を一組の文字列で表現する。ジオハッシュは、文字列中の左端の文字から右端の文字に向かって階層構造を持ち、左端の文字は世界全体を３２の区域に分割したいずれかの矩形領域（第１の矩形領域）を示し、その右横の次の文字は第１の矩形領域をさらに３２分割したいずれかの矩形領域（第２の矩形領域）を示し、以下順次、文字列の右に向かって一つ左の文字列によって分割された矩形領域を３２分割ずつしたいずれかの矩形領域を表すように、文字による符号化が行われる。従って、１桁の文字は、３２個の半角英数字３２文字の中から選択される１文字であり、ｂａｓｅ３２と呼ばれるエンコーディング方式により、５ビットのデータで表現される。このように、ジオハッシュの文字列の桁数が大きいほど、それが表す矩形領域は狭くなって精度が高くなる。逆に、右端の文字列から順次文字を削ってゆくと、ジオハッシュが表す矩形領域は広くなってゆき精度が低くなってゆく。このように、ジオハッシュは、文字列の桁数に応じた任意の精度で、地理上の範囲を表現することができる。例えば、１２桁のジオハッシュの文字列では、全世界中の２ｃｍ×３ｃｍの矩形領域を表現することができる。
【０００５】
例えば、特許文献１には、緯度、経度の組をジオハッシュに変換し、ジオハッシュによって表された位置情報により所定のサイズの地理矩形領域に存在しているユーザ端末を検索する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−０４５３１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
端末の位置情報をできる限りリアルタイムで記録または送信するために、緯度、経度のデータ量は増加してゆく。しかしながら、前述したように緯度、経度をそのまま符号化するためには１点の地理座標を表現するために８バイトのデータ量が必要となる。このため、例えば１秒ごとに地理座標を記録または送信する場合、１時間では８バイト×３６００秒＝２８８００バイトものデータ量が必要となってしまい、端末のメモリまたは通信帯域を圧迫してしまうという課題があった。
【０００８】
一方、前述したジオハッシュで地理座標を表現する技術は、前述したように、文字列の桁数に応じた任意の精度で地理上の範囲を表現できるという特徴を有する。しかしながら、例えば緯度、経度を前述した１２桁の文字列のジオハッシュで符号化する場合、１桁の文字は前述したように５ビットで表現されるため、５ビット×１２桁＝６０ビットが必要となり、緯度、経度をそのまま符号化する場合（６４ビット）と比較して、それほど大きな情報圧縮は行えない。
【０００９】
そこで、本発明は、ジオハッシュを用いることにより地理座標のさらなる情報圧縮を実現することを目的とする。
【課題を解決するための手段】
【００１０】
態様の一例では、世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、判定された矩形領域を表わす情報を符号化する第１の符号化処理と、２点の地理座標それぞれが判定された矩形領域の四隅の頂点座標のいずれに対応するかを判定し、判定された２点の頂点座標の組の情報を符号化する第２の符号化処理と、第１の符号化部および第２の符号化部により得られる各符号データを出力する符号データ出力処理と、を実行する処理部を備える。
【発明の効果】
【００１１】
本発明によれば、ジオハッシュを用いることにより地理座標のさらなる情報圧縮を実現することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における端末装置のハードウェア構成例を示す図である。
【図２】ジオハッシュの説明図（その１）である。
【図３】ジオハッシュの説明図（その２）である。
【図４】矩形領域の四隅の頂点の説明図である。
【図５】２点ずつの地理座標の符号化の例を示す説明図である。
【図６】サブＣＰＵによる地理座標符号化処理の例を示すフローチャートである。
【図７】ＣＰＵによる地理座標符号データの取得・送信処理の例を示すフローチャートである。
【図８】サーバコンピュータによる地理座標復号処理の例を示すフローチャートである。
【図９】ジオハッシュ符号データを用いた場合のデータ量と緯度及び経度データをそのまま用いた場合のデータ量の違いを示す説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。図１は、本実施形態における端末装置１００のハードウェア構成例を示す図である。端末装置１００は、ＧＰＳセンサ１０１、サブＣＰＵ（サブ中央演算処理装置）１０２、および１次キャッシュメモリ１０３が、第１のバス１０７により相互に接続された構成を有する。また、メインＣＰＵ（メイン中央演算処理装置）１０４、１次キャッシュメモリ１０３、ストレージ１０５、および無線ローカルエリアネットワークインタフェース（ＷＬＡＮ  Ｉ／Ｆ）１０６が、第２のバス１０８により相互に接続された構成を有する。
【００１４】
サブＣＰＵ１０２は、ＧＰＳセンサ１０１から第１のバス１０７を介してＧＰＳデータである緯度、経度データを順次取得し、その緯度、経度データをジオハッシュ方式をベースとする地理座標符号化処理により符号化し、その結果順次得られる符号データを、第１のバス１０７を介して１次キャッシュメモリ１０３に蓄積してゆく。
【００１５】
メインＣＰＵ１０４は、一定時間間隔で第２のバス１０８を介して１次キャッシュメモリ１０３の内容を確認し、符号データがある場合に、それらの符号データをまとめて、第２のバス１０８を介してストレージ１０５に移動させた後、そこからＷＬＡＮ  Ｉ／Ｆ１０６を介して特には図示しないサーバコンピュータに向けて無線送信する。
【００１６】
次に、サブＣＰＵ１０２において実行される、ジオハッシュ方式をベースとする地理座標符号化処理について説明する。本実施形態では、基本的に、ジオハッシュによる符号化が採用される。図２および図３は、ジオハッシュの説明図である。
【００１７】
ジオハッシュではまず、メルカトル図法の世界地図が最初は、図２に示されるように、横（経度）×８、縦（緯度）×４に３２分割され、それぞれの分割された各矩形領域に、ｂａｓｅ３２と呼ばれる３２進法のエンコーディング方式により、予め定められた半角英数字３２文字の中から１つずつ文字が割り振られる。図２の例では、東京都内の緯度３５．６８５、経度１３９．７５により表される地理座標は、図２に示されるように第１回目に３２分割された矩形領域のうち、文字「ｘ」が割り振られた矩形領域（緯度０〜４５、経度１３５〜１８０)の範囲内にある。従って、上記地理座標は、まず最初１文字「ｘ」として符号化される。
【００１８】
次に、上記「ｘ」が割り振られた矩形領域が、図３に示されるように、横（経度）×４、縦（緯度）×８に３２分割され、それぞれの分割された各矩形領域に、最初の１文字「ｘ」に加えて、ｂａｓｅ３２により予め定められた半角英数字３２文字の中から１つずつ文字が割り振られる。図３の例では、上記地理座標は、第２回目に３２分割された矩形領域のうち、文字「ｘ」に加えて「ｎ」が割り振られた矩形領域（緯度３３．７５〜３９．３７５、経度１３５〜１４６．２５)の範囲内にある。従って、上記地理座標は、最初の文字「ｘ」に２文字目の「ｎ」を加えた２文字「ｘｎ」として符号化される。
【００１９】
これ以降は、
・奇数回目：横×８、縦×４
・偶数回目：縦×４、横×８
にそれぞれ３２分割され、その都度得られるｂａｓｅ３２による文字が、符号化の文字列の右側に追加されてゆく。
【００２０】
以上の階層的な分割処理の結果、
文字数８文字（８分割＝４０ビット）：１９ｍ×３０ｍ
文字数１０文字（１０分割＝５０ビット）：６０ｃｍ×９７ｃｍ
文字数１２文字（１２分割＝６０ビット）：２ｃｍ×３ｃｍ
の矩形領域によって、地図上の矩形を表現することができる。
【００２１】
例えば前述した東京都内の緯度３５．６８５、経度１３９．７５により表される地理座標を１０桁のジオハッシュで符号化すると、「ｘｎ７７ｈ０６ｂ５ｎ」となる。これは、上記地理座標が、緯度３５．６８４９９９２２７５２３８〜３５．６８５００４５９１９４１８、経度１３９．７４９９９９０４６３２６〜１３９．７５０００９７７５１６２の範囲の、１辺のサイズが６０ｃｍ×９７ｃｍの矩形領域に含まれることを示している。
【００２２】
以上のジオハッシュ符号化により、まず、ジオハッシュの文字列の桁数が大きいほど、それが表す矩形領域は狭くなって精度が高くなる。逆に、右端の文字列から順次文字を削ってゆくと、ジオハッシュが表す矩形領域は広くなってゆき精度が低くなってゆく。このように、ジオハッシュは、文字列の桁数に応じた任意の精度で、地理上の範囲を表現することができる。例えば、１２桁のジオハッシュの文字列では、全世界中の２ｃｍ×３ｃｍの矩形領域を表現することができる。
【００２３】
また、ジオハッシュ符号化により、前方一致で矩形領域が含まれているかがわかる。例えば、上述した「ｘｎ７７ｈ０６ｂ５ｎ」の矩形領域は、「ｘ」、「ｘｎ７」、「ｘｎ７７」・・・の各矩形領域に含まれることがわかる。この性質は、エリア毎のデータをまとめる際に扱いやすい。
【００２４】
ジオハッシュの符号化では、１文字は３２文字から選択されるため、１文字を表現するためには、２5 ＝３２より、５ビットが必要となる。このため、８桁から１２桁のジオハッシュ符号化を行うためには、５ビット×８桁＝４０ビットから５ビット×１２桁＝６０ビットのデータ量が必要となる。本実施形態では、図１のサブＣＰＵ１０２が、ＧＰＳセンサ１０１が出力する各地理座標（緯度、経度データ）を２点ずつで区切り、その２点の地理座標を、上述したジオハッシュ符号化により分割して得られる矩形領域のうちその２点の地理座標に最も良く対応する１つの矩形領域に割り当てて符号化する。これを第１の符号化と呼び、サブＣＰＵ１０２は、この第１の符号化処理を実行する第１の符号化部として機能する。
【００２５】
次に、サブＣＰＵ１０２は、上記２点の地理座標が上記第１の符号化処理により割り当てられた矩形領域の四隅の頂点のうちのどの２点に最も良く対応するかを判定し、その判定して頂点の組の情報を符号化する。図４は、矩形領域の四隅の頂点の説明図である。図４に示されるように、四隅の頂点をそれぞれI、II、III、IVと名付ければ、これらの四隅の頂点のうちどの２点が用いられるかが、下記のように分類されて、それぞれに値が割り当てられる。なお、ＧＰＳセンサ１０１からの出力の最後が２点ではなく１点の場合もあり得るため、四隅の頂点のうち１点だけが用いられる場合も分類される。
【００２６】
Iのみ：０ｘ０、I→II：０ｘ１、I→III：０ｘ２、I→IV：０ｘ３
IIのみ：０ｘ４、II→I：０ｘ５、II→III：０ｘ６、II→IV：０ｘ７
IIIのみ：０ｘ８、III→I：０ｘ９、III→II：０ｘａ、III→IV：０ｘｂ
IVのみ：０ｘｃ、IV→I：０ｘｄ
【００２７】
以上の分類より、矩形領域の四隅の頂点のうちどの２点または１点が使用されるかは、０ｘ０から０ｘｄまでの値（「０ｘ」はそれに続く値が１６進値であることを示す記号）によって表すことができる。
【００２８】
例えば、２点の地理座標が頂点IとIIIに最もよく対応するとすれば、上述の分類より、それら２つの頂点の組の情報を値０ｘ２として符号化することができる。上述の分類は１４分類あるため、符号化のために必要なビット数は２4 ＝１６より４ビットである。これを第２の符号化と呼び、サブＣＰＵ１０２は、この第２の符号化処理を実行する第２の符号化部としても機能する。
【００２９】
ここで、前述した第１の符号化処理において、何桁のジオハッシュに符号化されるかは、２点の地理座標がジオハッシュ符号化により分割して得られる何階層目の矩形領域に最も良く対応するかによって異なる。従って、サブＣＰＵ１０２は、第１の符号化処理において符号化された文字列が何桁であるかという桁数の情報も符号化する。これを第３の符号化と呼び、サブＣＰＵ１０２は、この第３の符号化処理を実行する第３の符号化部としても機能する。この場合、１５桁まであれば地理座標の精度上十分であるため、この第３の符号化のために必要なビット数は２4 ＝１６より４ビットである。例えば或る２点の地理座標が１０桁のジオハッシュ「ｘｎ７７ｈ０６ｂ５ｎ」として符号化されるならば、上述の第３の符号化処理により、１０桁を示す値「０ｘａ」が桁数を示す符号として得られる。
【００３０】
以上より、本実施形態では、ＧＰＳセンサ１０１から得られる緯度、経度データを２点ずつ区切って得られるそれぞれの２点または１点の地理座標に対して、まず第１の符号化処理により、ジオハッシュにより階層的に分割して得られる矩形領域のうち上記２点または１点の地理座標に最も良く対応する１つの矩形領域を示す、例えば４０〜６０ビット程度の符号データ（以下これを「ジオハッシュ符号データ」と呼ぶ）が算出される。次に、第２の符号化処理により、第１の符号化処理で割り当てられた矩形領域の四隅の頂点のうち上記２点または１点の地理座標が最も良く対応する２点または１点の頂点の組の情報を示す、４ビットの符号データ（以下これを「頂点組符号データ」と呼ぶ）が算出される。さらに、第３の符号化処理により、第１の符号化処理で得られたジオハッシュ符号データの桁数を示す、４ビットの符号データ（以下これを「桁数符号データ」と呼ぶ）が算出される。
【００３１】
図１のサブＣＰＵ１０２は、上述のようにして算出したジオハッシュ符号データ、頂点組符号データ、および桁数符号データを、
［桁数符号データ］［頂点組符号データ］［ジオハッシュ符号データ］
の順に並べて得られる符号データを、上記２点または１点の地理座標に対応する符号データとして出力し、図１の第１のバス１０７を介して１次キャッシュメモリ１０３に蓄積する。或る２点の地理座標について、桁数符号データ＝「０ｘａ」（１０桁）、頂点組符号データ＝「０ｘ２」（図４の頂点I→III）、ジオハッシュ符号データ＝「ｘｎ７７ｈ０６ｂ５ｎ」が算出されたとすれば、サブＣＰＵ１０２が出力する符号データは、「ａ２ｘｎ７７ｈ０６ｂ５ｎ」となる。左端から見て最初の１文字「ａ」が１６進表現による４ビットの桁数符号データであり、次の１文字「２」が１６進表現による４ビットの頂点組符号データであり、残りの「ｘｎ７７ｈ０６ｂ５ｎ」が５０ビットのジオハッシュ符号データである。従って、この符号データのデータ量は、４ビット＋４ビット＋５０ビットに６ビットのパディングビットを加えて、計６４ビットとなる。前述したように、ジオハッシュ符号データのデータ量は、最大で６０ビット程度になる。
本実施形態のようにジオハッシュ符号データを用いた場合のデータ量と緯度及び経度データをそのまま用いた場合のデータ量の違いを図９に示す。（ａ）の符号化される情報に対して、（ｂ）の緯度・経度データをそのまま用いて符号化した場合は、１２８ビット（ｂｉｔ）必要なのに対して、（ｃ）の本実施形態によるジオハッシュ符号データを用いた場合は、５８ビットで済むことがわかる。
【００３２】
以上のようにして本実施形態では、２点の地理座標（緯度、経度データ）を、４ビット＋４ビット＋４０〜６０ビット＝４８ビット〜６８ビットで表現できることになるため、従来は１点の地理座標を表現するのに８バイト（６４ビット）必要であったのに対して、地理座標の符号化におけるデータ量を削減することが可能となる。
【００３３】
図５は、２点ずつの地理座標の符号化の例を示す説明図である。図５において、例えば図１の端末装置１００を携帯したユーザがウォーキングを行うことにより、ＧＰＳセンサ１０１から出されるＧＰＳデータ（緯度、経度データ）が、黒い縁取りの白丸で示されている。また、図１のサブＣＰＵ１０２による前述した第１の符号化処理により２点ずつの地理座標（緯度、経度データ）に対して対応付けられたジオハッシュの各矩形領域が、灰色に塗りつぶされた矩形で示されている。さらに、サブＣＰＵ１０２による前述した第２の符号化処理により２点ずつの地理座標に対して対応付けられた各矩形領域上の２組ずつの頂点が、白い縁取りの黒丸で示されている。加えて、サブＣＰＵ１０２による前述した第１の符号化処理により２点ずつの地理座標に対して対応付けられた各矩形領域およびそれらの上位階層の矩形領域の各ジオハッシュ符号データが、破線枠で囲まれた文字列で示されている。サブＣＰＵ１０２は、前述した第１の符号化処理により算出したこれらのジオハッシュ符号データに、前述した第３の符号化処理により算出した桁数符号データと、前述した第２の符号化処理により算出した頂点組符号データを付加する。この結果、図５の３０１ｓから３０１ｅまでの各地理座標を２点ずつ区切ってそれぞれ符号化した符号データとして、サブＣＰＵ１０２は、「ａ３ｘｎ７７ｈ２ｘ００ｈ」、「ａ３ｘｎ７７ｈ２ｘ００ｅ」「ａ３ｘｎ７７ｈ２ｘ０１４」「ａ３ｘｎ７７ｈ２ｘ０１９」「ａ３ｘｎ７７ｈ２ｘ０２０」の５個の符号データを、１次キャッシュメモリ１０３に順次出力する。
【００３４】
上述の５個の符号データにより、図５の９点の白丸のＧＰＳデータを図５の９点の黒丸の頂点データに量子化したデータを伝送することができる。１個の符号データに必要なデータ量は、前述したように、４ビット（桁数符号データ）＋４ビット（頂点組符号データ）＋５０ビット（ジオハッシュ符号データ）に６ビットのパディングビットを加えた計６４ビット＝８バイトである。このため、５個の符号データの記録または送信に必要なデータ量は、８バイト×５＝４０バイトである。これに対して、従来１個ＧＰＳデータを記録または送信するために必要なデータ量は８バイト程度であるため、９点のＧＰＳデータを記録または送信するたには、８バイト×９＝７２バイトのデータ量が必要であった。従って、本実施形態では、従来技術に比較して、４０÷７２×１００＝約５６％のデータ量で、ＧＰＳデータを記録または送信することが可能となる。なお、図５で、ジオハッシュ符号データが示す灰色の矩形領域が十分に小さければ、９点の白丸のＧＰＳデータを９点の黒丸の頂点データに量子化したデータにおいては、十分な精度を確保することができる。
【００３５】
図６は、図１のサブＣＰＵ１０２による地理座標符号化処理の例を示すフローチャートである。この処理は、サブＣＰＵ１０２が、内蔵する特には図示しないメモリに記憶された地理座標符号化処理プログラムを実行する処理として実現される。このプログラムは、端末装置１００が備える特には図示しない可搬記録媒体駆動装置を介して可搬記録媒体から上記メモリにインストールされて実行されてもよいし、ＷＬＡＮ  Ｉ／Ｆ１０６を介してネットワーク上の特には図示しないサーバコンピュータ等からダウンロードされて上記メモリにインストールされ実行されてもよい。
【００３６】
まず、サブＣＰＵ１０２は、第１のバス１０７を介して、ＧＰＳセンサ１０１から、ＧＰＳデータ（緯度、経度データ）を順次取得する（ステップＳ６０１）。
【００３７】
次に、サブＣＰＵ１０２は、順次取得したＧＰＳデータを２点ずつ区切って、その２点のＧＰＳデータに対して、ジオハッシュ（Ｇｅｏｈａｓｈ）ベースの符号化として、前述した第１の符号化処理、第２の符号化処理、および第３の符号化処理を実行して、その２点のＧＰＳデータに対応する符号データ（桁数符号データ＋頂点組符号データ＋ジオハッシュ符号データ）を出力する（ステップＳ６０２）。
【００３８】
そして、サブＣＰＵ１０２は、ステップＳ６０２で出力した符号データを、第１のバス１０７を介して、１次キャッシュメモリ１０３に順次蓄積してゆく（ステップＳ６０３）。
【００３９】
その後、サブＣＰＵ１０２は、ステップＳ６０１の処理に戻り、ＧＰＳデータの取得および符号化を続ける。
【００４０】
図７は、図１のＣＰＵ２０１による地理座標符号データの取得・送信処理の例を示すフローチャートである。
【００４１】
まず、ＣＰＵ２０１は、サブＣＰＵ１０２によるＧＰＳデータの処理間隔の数倍〜数十倍の一定時間毎に、第２のバス１０８を介して１次キャッシュメモリ１０３に一定量の符号データが蓄積されるまで待ち状態を繰り返す（ステップＳ７０１の判定がＮＯの繰返し）。
【００４２】
やがて、ステップＳ７０１の判定がＹＥＳになると、ＣＰＵ２０１は、第２のバス１０８を介して、１次キャッシュメモリ１０３に蓄積された符号データをストレージ１０５に移動させき、１次キャッシュメモリ１０３内の符号データを削除する（ステップＳ７０２）。
【００４３】
その後、ＣＰＵ２０１は、ストレージ１０５内の符号データを、ＷＬＡＮ  Ｉ／Ｆ１０６経由で、ＬＡＮ（ローカルエリアネットワーク）やインターネットを介して特には図示しないサーバコンピュータに送信する（ステップＳ７０３）。その後、ＣＰＵ２０１は、ステップＳ７０１の待機処理に戻る。
【００４４】
図８は、サーバコンピュータによる地理座標復号処理の例を示すフローチャートである。この処理は、特には図示しないサーバコンピュータのＣＰＵ（中央演算処理装置）（以下「サーバＣＰＵ」と呼ぶ）が、サーバコンピュータ内の特には図示しないメモリに記憶された地理座標復号処理プログラムを実行する処理として実現される。このプログラムは、サーバコンピュータが備える特には図示しない可搬記録媒体駆動装置を介して可搬記録媒体から上記メモリにインストールされて実行されてもよいし、サーバコンピュータ内のネットワークインタフェースを介してネットワーク上の特には図示しない他のサーバコンピュータ等からダウンロードされて上記メモリにインストールされ実行されてもよい。
【００４５】
サーバＣＰＵは、図１の端末１００から符号データを受信するまで待機状態を維持する（ステップＳ８０１の判定がＮＯの繰返し）。
【００４６】
端末１００からの符号データを受信すると、サーバＣＰＵは、符号データに対して地理座標復号処理を実行して、緯度、経度データを復号する（ステップＳ８０２）。前述のように符号データは、
［桁数符号データ］［頂点組符号データ］［ジオハッシュ符号データ］
の形式を有している。よって、まず、受信した符号データの先頭の４ビットから桁数符号データ、次の４ビットから頂点組符号データを抽出し、さらに、桁数符号データが示す桁数のビット数分のジオハッシュ符号データを抽出する。ジオハッシュ符号データからは、その桁数により、図２または図３で説明したように対応する矩形領域の緯度および経度の範囲がわかるため、その矩形領域の四隅の頂点の地理座標（緯度、経度データ）もわかる。そして、頂点組符号データを復号することにより、図５の黒丸に相当する矩形領域上の２点または１点の頂点もわかるため、それらの頂点の地理座標として復号された緯度、経度データが得られる。
【００４７】
サーバＣＰＵは、ステップＳ８０２で復号した緯度、経度データを、サーバコンピュータ内の特には図示しないデータベースに蓄積してゆき、各種アプリケーションからアクセスさせる（ステップＳ８０３）。その後、ＣＰＵ２０１は、ステップＳ８０１の待機処理に戻る。
【００４８】
以上説明した実施形態において、図１のサブＣＰＵ１０２がＧＰＳセンサ１０１からＧＰＳデータを取得する際に間欠動作をさせる等することにより、ＧＰＳデータに必要なデータ量を更に削減することも可能である。
【００４９】
以上説明したようにして、ジオハッシュを用いることにより地理座標のさらなる情報圧縮を実現することが可能となる。ＧＰＳデータのデータ量が削減できるため、従来と比較して多くのデータを端末１００上に保存することが可能となる。また、サーバコンピュータに送信すべきＧＰＳデータのデータ量が削減できるため、サーバコンピュータへの通信の際の負荷軽減も実現される。
【００５０】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、前記判定された矩形領域を表わす情報を符号化する第１の符号化処理と、前記２点の地理座標それぞれが前記判定された矩形領域の四隅の頂点座標のいずれに対応するかを判定し、前記判定された２点の頂点座標の組の情報を符号化する第２の符号化処理と、前記第１の符号化部および前記第２の符号化部により得られる各符号データを出力する符号データ出力処理と、を実行する処理部を備える地理座標符号化装置。
（付記２）
前記処理部は、
前記第１の符号化処理により符号化された情報の桁数を符号化する第３の符号化処理をさらに実行し、
前記符号データ出力処理において、は、前記第１の符号化処理および前記第２の符号化処理により得られる各符号データと、前記第３の符号化処理により得られる符号データとを合わせて出力する処理を実行する、付記１に記載の地理座標符号化装置。
（付記３）
前記処理部は、前記第１の符号化処理において、前記判定された矩形領域を表わす情報をジオハッシュ形式で符号化する処理を実行する、付記１または２の地理座標符号化装置。
（付記４）
前記地理座標を検出するセンサと、付記１乃至３のいずれかに記載の地理座標符号化装置とを備える端末装置。
（付記５）
付記３に記載の端末装置において、前記地理座標を検出するセンサがＧＰＳセンサで構成される端末装置。
（付記６）
付記１乃至３のいずれかに記載の地理座標符号化装置が出力した符号データを受信して、前記２点それぞれの緯度及び経度を表わす地理座標に復号する地理座標復号装置。
（付記７）
処理部を有する地理座標符号化装置に用いられる地理座標符号化方法であって、前記処理部が、
世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、
前記判定された矩形領域を表わす情報を第１符号データとして符号化し、
前記２点の地理座標それぞれが前記割り当てられた矩形領域の四隅の頂点座標のいずれに対応するかを判定し、
前記判定された２点の頂点座標の組の情報を第２符号データ符号化し、
前記第１符号及び第２符号データを出力する、地理座標符号化方法。
（付記８）
地理座標復号装置で用いられる地理座標復号方法であって、前記地理座標復号装置が、
付記１乃至３のいずれかに記載の地理座標符号化装置が出力した符号データを受信して、前記２点それぞれの緯度及び経度を表わす地理座標に復号する、地理座標復号方法。
（付記９）
地理座標符号化装置として用いられるコンピュータに、
世界全体の地理範囲を階層的に分割して得られる複数の矩形領域の中から、地理座標を検出するセンサによって検出された緯度及び経度を表わす地理情報のうち連続する２点の地理座標それぞれが、四隅の頂点座標のいずれかに対応している矩形領域を判定し、前記判定された矩形領域を表わす情報を符号化する第１の符号化ステップと、
前記２点の地理座標それぞれが前記割り当てられた矩形領域の四隅の頂点座標のいずれに対応するかを判定し、前記判定された２点の頂点座標の組の情報を符号化する第２の符号化ステップと、前記第１の符号化ステップおよび前記第２の符号化ステップにより得られる各符号データを出力する符号データ出力ステップと、
を実行させるためのプログラム。
（付記１０）
地理座標復号化装置として用いられるコンピュータに、
付記１乃至３のいずれかに記載の地理座標符号化装置が出力した符号データを受信して、前記２点それぞれの緯度及び経度を表わす地理座標に復号するステップを実行させるプログラム。
【符号の説明】
【００５１】
１０１  ＧＰＳセンサ
１０２  サブＣＰＵ
１０３  １次キャッシュメモリ
１０４  メインＣＰＵ
１０５  ストレージ
１０６  ＷＬＡＮ  Ｉ／Ｆ
１０７  第１のバス
１０８  第２のバス
【図１】
0006638267.tif 000002
【図２】
0006638267.tif 000003
【図３】
0006638267.tif 000004
【図４】
0006638267.tif 000005
【図５】
0006638267.tif 000006
【図６】
0006638267.tif 000007
【図７】
0006638267.tif 000008
【図８】
0006638267.tif 000009
【図９】
0006638267.tif 000010