(57)【要約】【課題】本発明は、データの記憶容量を抑制するとともにデータ処理能力を向上させることが可能なデータ処理装置を提供することを目的とする。【解決手段】本発明によるデータ処理装置は、データを読み込むデータ読み込み部１１と、データ読み込み部１１にて読み込まれたデータに含まれる項目のうち所定の項目を中間データとして生成する中間データ生成部１２とを有するデータアクセスライブラリ部１と、データ読み込み部１１にて読み込まれたデータのうち中間データの生成対象とならなかったデータと、中間データ生成部１２にて生成された中間データとを記憶するデータアクセスライブラリ記憶部２とを備える。【選択図】図１
2014160384.tif 000002
【特許請求の範囲】
【請求項１】
データを読み込むデータ読み込み部と、
前記データ読み込み部にて読み込まれた前記データに含まれる項目のうち所定の項目を中間データとして生成する中間データ生成部と、
を有するデータアクセスライブラリ部と、
前記データ読み込み部にて読み込まれた前記データのうち前記中間データの生成対象とならなかったデータと、前記中間データ生成部にて生成された前記中間データとを記憶するデータアクセスライブラリ記憶部と、
を備える、データ処理装置。
【請求項２】
前記データアクセスライブラリ部は、前記所定の項目を前記中間データの生成対象として決定する中間データ生成対象決定部をさらに備え、
前記中間データ生成部は、前記中間データ生成対象決定部にて決定された前記所定の項目を前記中間データとして生成することを特徴とする、請求項１に記載のデータ処理装置。
【請求項３】
前記中間データ生成対象決定部は、前記所定の項目を含む生成対象データを取得し、取得した前記生成対象データに含まれる前記所定の項目を前記中間データの生成対象として決定することを特徴とする、請求項２に記載のデータ処理装置。
【請求項４】
前記生成対象データは、少なくとも１つ以上の所定の機種またはスペックに対応する前記所定の項目をさらに含み、
前記中間データ生成対象決定部は、前記所定の機種またはスペックに対応する前記所定の項目を前記中間データの生成対象として決定することを特徴とする、請求項３に記載のデータ処理装置。
【請求項５】
前記中間データ生成対象決定部は、前記データのサイズまたは前記中間データのサイズに基づいて、前記所定の項目を前記中間データの生成対象として決定することを特徴とする、請求項２に記載のデータ処理装置。
【請求項６】
前記データアクセスライブラリ記憶部の残量を測定するデータアクセスライブラリ記憶残量測定部をさらに備え、
前記中間データ生成対象決定部は、前記データアクセスライブラリ記憶残量測定部にて測定された前記残量に基づいて、前記所定の項目を前記中間データの生成対象として決定することを特徴とする、請求項２に記載のデータ処理装置。
【請求項７】
前記データまたは前記中間データを用いて所定の機能を実行するアプリケーションからの要求に基づいて、前記所定の項目を前記中間データの生成対象として決定することを特徴とする、請求項２に記載のデータ処理装置。
【請求項８】
前記データアクセスライブラリ記憶部から前記中間データを削除する中間データ削除部をさらに備え、
前記データ読み込み部は、前記中間データ削除部が削除した前記中間データに対応する前記データを読み込むことを特徴とする、請求項１に記載のデータ処理装置。
【請求項９】
前記データアクセスライブラリ記憶部の残量を測定するデータアクセスライブラリ記憶残量測定部をさらに備え、
前記中間データ削除部は、前記データアクセスライブラリ記憶残量測定部にて測定された前記残量に基づいて、前記中間データを削除することを特徴とする、請求項８に記載のデータ処理装置。
【請求項１０】
前記中間データ削除部は、前記データまたは前記中間データを用いて所定の機能を実行するアプリケーションからの要求に基づいて、前記中間データを削除することを特徴とする、請求項８に記載のデータ処理装置。
【請求項１１】
前記中間データ削除部は、所定の期間を経過した前記中間データを削除することを特徴とする、請求項８に記載のデータ処理装置。
【請求項１２】
前記中間データは固定長であることを特徴とする、請求項１に記載のデータ処理装置。
【請求項１３】
前記データは可変長であり、
前記中間データは前記データに含まれる前記項目のアクセスに用いるポインタを含むことを特徴とする、請求項１に記載のデータ処理装置。
【請求項１４】
（ａ）データを読み込む工程と、
（ｂ）前記工程（ａ）にて読み込まれた前記データに含まれる項目のうち所定の項目を中間データとして生成する工程と、
（ｃ）前記工程（ａ）にて読み込まれた前記データのうち前記中間データの生成対象とならなかったデータと、前記工程（ｂ）にて生成された前記中間データとを記憶する工程と、
を備える、データ処理方法。
【請求項１５】
前記工程（ａ）と前記工程（ｂ）との間に、
（ｄ）前記所定の項目を前記中間データの生成対象として決定する工程をさらに備え、
前記工程（ｂ）は、前記工程（ｄ）にて決定された前記所定の項目を前記中間データとして生成することを特徴とする、請求項１４に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データアクセスライブラリ（ＤＡＬ : Data Access Library）を利用したデータ処理装置およびデータ処理方法に関する。
【背景技術】
【０００２】
ナビゲーション装置では、利用する地図データのデータサイズを抑制するために、必要最小限のデータサイズで表現する、あるいは地図データの利用の有無を示す存在有無フラグを用い、当該存在有無フラグが無い場合には地図データを利用しない等のデータ構成を採用している。
【０００３】
ナビゲーション装置を動作させるアプリケーション（以下、単にナビアプリという）が上記の地図データを使用する場合は、所定のビットサイズの地図データから必要なビットサイズの地図データの取り出しや、存在有無フラグに従って地図データの取得・読み飛ばし等を行う必要があり、処理が非常に煩雑なため処理時間がかかるという問題がある。
【０００４】
上記の問題を解決する一手段として、元のデータ（以下、地図データを含めて単に元データという）をアクセス容易な中間データの形式に変換し、中間データから必要なデータを取得する方法が提案されている。
【０００５】
従来では、元データを中間データに変換・記憶しておくことによって、データ読み出しにかかる時間を軽減し、処理の高速化を図った方法が開示されている（例えば、特許文献１参照）。
【０００６】
また、データ圧縮技術を用いて元データを圧縮した中間データを生成し、使用時には中間データを伸張（解凍）する方法が開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１５４１５５号公報
【特許文献２】特開２００４−７０２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、存在有無フラグの有無に関わらず、全ての元データを中間データとして生成している。従って、存在有無フラグが無い場合でもデータが存在しているかのようなデータ構成にしたり、データサイズが小さい元データをデータサイズが大きい中間データとして生成したりするため、データ処理の時間は短くなるものの、生成した中間データの記憶容量を多く確保する必要がある。
【０００９】
また、特許文献２では、中間データのデータサイズは小さくなるが、伸張処理の負荷が大きくなり、必ずしも処理時間が短くなるとはいえない。
【００１０】
一方、従来では、元データをアクセス容易な中間データの形式に変換し、ナビアプリ使用時に中間データから必要なデータを取得することが可能なデータアクセスライブラリ（ＤＡＬ）を利用することが提案されている。しかし、データアクセスライブラリを利用した場合であっても、全ての元データを中間データに変換すると、上記のように生成した中間データの記憶容量を多く確保する必要がある。
【００１１】
本発明は、これらの問題を解決するためになされたものであり、データの記憶容量を抑制するとともにデータ処理能力を向上させることが可能なデータ処理装置およびデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明によるデータ処理装置は、データを読み込むデータ読み込み部と、データ読み込み部にて読み込まれたデータに含まれる項目のうち所定の項目を中間データとして生成する中間データ生成部とを有するデータアクセスライブラリ部と、データ読み込み部にて読み込まれたデータのうち中間データの生成対象とならなかったデータと、中間データ生成部にて生成された中間データとを記憶するデータアクセスライブラリ記憶部とを備える。
【００１３】
また、本発明によるデータ処理方法は、（ａ）データを読み込む工程と、（ｂ）工程（ａ）にて読み込まれたデータに含まれる項目のうち所定の項目を中間データとして生成する工程と、（ｃ）工程（ａ）にて読み込まれたデータのうち中間データの生成対象とならなかったデータと、工程（ｂ）にて生成された中間データとを記憶する工程とを備える。
【発明の効果】
【００１４】
本発明によると、データ処理装置は、データを読み込むデータ読み込み部と、データ読み込み部にて読み込まれたデータに含まれる項目のうち所定の項目を中間データとして生成する中間データ生成部とを有するデータアクセスライブラリ部と、データ読み込み部にて読み込まれたデータのうち中間データの生成対象とならなかったデータと、中間データ生成部にて生成された中間データとを記憶するデータアクセスライブラリ記憶部とを備えるため、データの記憶容量を抑制するとともにデータ処理能力を向上させることが可能となる。
【００１５】
また、データ処理方法は、（ａ）データを読み込む工程と、（ｂ）工程（ａ）にて読み込まれたデータに含まれる項目のうち所定の項目を中間データとして生成する工程と、（ｃ）工程（ａ）にて読み込まれたデータのうち中間データの生成対象とならなかったデータと、工程（ｂ）にて生成された中間データとを記憶する工程とを備えるため、データの記憶容量を抑制するとともにデータ処理能力を向上させることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態によるデータ処理装置の構成の一例を示すブロック図である。
【図２】本発明の実施の形態によるデータ処理装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施の形態によるデータアクセスライブラリ部の動作の概念を示す図である。
【図４】本発明の実施の形態による元データおよび中間データのフォーマットの一例を示す図である。
【図５】本発明の実施の形態による中間データ生成の動作の一例を示すフローチャートである。
【図６】本発明の実施の形態によるアプリデータ提供部の動作の一例を示すフローチャートである。
【図７】本発明の実施の形態による生成対象データのフォーマットの一例を示す図である。
【図８】本発明の実施の形態による生成対象データのフォーマットの他の一例を示す図である。
【図９】本発明の実施の形態による中間データ生成対象決定部の動作の一例を示すフローチャートである。
【図１０】本発明の実施の形態による中間データ生成対象決定部の動作の他の一例を示すフローチャートである。
【図１１】本発明の実施の形態による中間データ生成対象決定部の動作の他の一例を示すフローチャートである。
【図１２】本発明の実施の形態による中間データ生成対象決定部の動作の他の一例を示すフローチャートである。
【図１３】本発明の実施の形態による中間データ生成対象決定部の動作の他の一例を示すフローチャートである。
【図１４】本発明の実施の形態による中間データの削除の動作の一例を示すフローチャートである。
【図１５】本発明の実施の形態による中間データの削除の動作の他の一例を示すフローチャートである。
【図１６】本発明の実施の形態による中間データの削除の動作の他の一例を示すフローチャートである。
【図１７】本発明の実施の形態による中間データのフォーマットの他の一例を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施の形態について、図面に基づいて以下に説明する。
【００１８】
＜実施の形態＞
まず、本発明の実施の形態によるデータ処理装置の構成について説明する。なお、以下では、データ処理装置はナビゲーション装置であるものとして説明する。
【００１９】
図１は、データ処理装置の構成の一例を示すブロック図である。
【００２０】
図１に示すように、データ処理装置は、データアクセスライブラリ部１と、データアクセスライブラリ記憶部２と、ナビアプリ部３と、地図データ記憶部４とを備えている。なお、データアクセスライブラリ部１およびナビアプリ部３は、ソフトウェア的な構成を示している。
【００２１】
データアクセスライブラリ部１は、データ読み込み部１１と、中間データ生成部１２と、中間データ生成対象決定部１３と、タイムスタンプ設定・取得部１４と、中間データ削除部１５と、データアクセスライブラリ記憶残量測定部１６と、アプリデータ提供部１７と、機種スペック取得部１８とを備えている。
【００２２】
データ読み込み部１１は、地図データ記憶部４から元データ（地図データ）を読み込む。データ読み込み部１１にて読み込まれた元データのうち、中間データ生成部１２にて中間データの生成対象とならなかった元データは、データアクセスライブラリ記憶部２に記憶される。
【００２３】
中間データ生成部１２は、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、中間データ生成対象決定部１３にて決定された所定の項目を中間データとして生成する。生成した中間データは、データアクセスライブラリ記憶部２に記憶される。ここで、地図データに含まれる項目とは、例えば、道路データ、背景データ、あるいは名称データ等、地図表示する際に付随される情報のことをいう。
【００２４】
中間データ生成対象決定部１３は、生成対象データ５１に含まれる所定の項目を中間データの生成対象として決定する。また、中間データ生成対象決定部１３は、機種スペック取得部１８にて取得された情報に基づいて、生成対象データ５１に含まれる所定の項目を中間データの生成対象として決定することもできる。
【００２５】
タイムスタンプ設定・取得部１４は、データ読み込み部１１からデータアクセスライブラリ記憶部２に記憶される元データと、中間データ生成部１２からデータアクセスライブラリ記憶部２に記憶される中間データとに関連付けて、データ読み込み部１１が元データを読み込んだ時のタイムスタンプを設定してデータアクセスライブラリ記憶部２に記憶する。また、タイムスタンプ設定・取得部１４は、データアクセスライブラリ記憶部２に記憶されたタイムスタンプを取得する。
【００２６】
中間データ削除部１５は、データアクセスライブラリ記憶部２から中間データを削除する。
【００２７】
データアクセスライブラリ記憶残量測定部１６は、データアクセスライブラリ記憶部２の残量（残りの記憶容量）を測定する。
【００２８】
アプリデータ提供部１７は、ナビアプリ部３からの要求に従って、データアクセスライブラリ記憶部２から元データまたは中間データを取得し、取得した元データまたは中間データをナビアプリ部３に提供する。
【００２９】
機種スペック取得部１８は、ナビゲーション装置の機種または機種スペックを取得する。ここで、機種とは、例えばナビゲーション装置の機種名あるいは型番等、ナビゲーション装置を個別に識別可能な情報のことをいう。また、機種スペックとは、例えばナビゲーション装置におけるＣＰＵ（Central Processing Unit）の処理速度、あるいはデータアクセスライブラリ記憶部２の記憶容量等のことをいう。
【００３０】
データアクセスライブラリ記憶部２は、データ読み込み部１１にて読み込まれた元データのうち中間データの生成対象とならなかった元データと、中間データ生成部１２にて生成された中間データとを記憶する。すなわち、データアクセスライブラリ記憶部２には、元データと中間データとが混在している。
【００３１】
ナビアプリ部３は、元データまたは中間データを用いてナビゲーション装置の各機能（所定の機能）を実現（実行）するためのアプリケーションを備えている。具体的に、ナビアプリ部３は、地図表示を行う地図表示アプリ３１と、自車位置を決定するロケータアプリ３２と、出発地から目的地までの経路を探索して決定する経路探索アプリ３３と、出発地から目的地までの経路案内を行う経路誘導アプリ３４とを備えている。
【００３２】
地図データ記憶部４は、地図データを記憶している。
【００３３】
図２は、データ処理装置のハードウェア構成の一例を示すブロック図である。
【００３４】
図２に示すように、データ処理装置は、データアクセスライブラリ記憶部２と、地図データ記憶部４と、生成対象データ記憶部５と、ＣＰＵ６とを備えている。
【００３５】
生成対象データ記憶部５は、図１に示す生成対象データ５１を記憶している。
【００３６】
ＣＰＵ６は、インストールされたプログラムに基づいて動作することにより、図１にてソフトウェア的な構成として示されるデータアクセスライブラリ部１およびナビアプリ部３の機能を有している。
【００３７】
なお、データ処理装置がナビゲーション装置である場合は、他に必要な構成要素（例えば、表示ディスプレイ、操作スイッチ、ＧＰＳ（Global Positioning System）等）も備えているが、ここでは図示を省略している。
【００３８】
次に、データ処理装置の動作について説明する。
【００３９】
図３は、データアクセスライブラリ部１の動作の概念を示す図である。
【００４０】
データ読み込み部１１が読み込む元データ（地図データ）は、上述の通り、道路データ、背景データ、名称データ等の項目（例えば、図３の項目Ａ〜Ｄ）に分類して構成されている。
【００４１】
データアクセスライブラリ部１では、元データの各項目のうち所定の項目（図３では項目Ａ）の中間データを生成する。データアクセスライブラリ記憶部２には、項目Ａの中間データと、項目Ｂ〜Ｄの元データとが混在して記憶されている。なお、図３では、項目Ａの元データよりも項目Ａの中間データの方が、データサイズが大きいことを示している。
【００４２】
ナビアプリ部３は、データアクセスライブラリ部１に対して必要なデータを要求することにより、データアクセスライブラリ部１から当該必要なデータを取得することができる。このとき、ナビアプリ部３は、元データまたは中間データを意識することなく使用することができる。
【００４３】
ここで、元データおよび中間データのフォーマットについて説明する。
【００４４】
図４は、元データおよび中間データのフォーマットの一例を示す図である。なお、図４では、道路データの元データおよび中間データについて示しているが、他のデータ（背景データ、名称データ等）も同様に構成されているものとする。また、元データおよび中間データは固定長であるものとする（ここでは３２bit）。
【００４５】
図４では、データ処理装置のＣＰＵ（図２のＣＰＵ６）が３２bitであることを想定した場合を示している。
【００４６】
元データは、複数種類のbit数のデータで構成されており、例えば、道路データサイズが１８bit、道路データ数が１４bit、道路データ種別が１６bit、道路座標数が１６bit、座標点が１５bit、リンク種別変化フラグが１bit、リンク種別が４bitであるものとして示されている。また、ヘッダファイルには、元データにおける道路データ、背景データ、名称データ等の各項目の格納範囲が示されている。
【００４７】
元データにおいて、リンク種別は、リンク種別変化フラグが「１」である座標点でのみ定義されており、定義されていない座標点でのリンク種別は、当該座標点の直前の座標点のリンク種別と同じとなる。例えば、図４では、座標点＃０，＃３に対してリンク種別が定義され（座標点＃０，＃３のリンク種別変化フラグは「１」）、座標点＃１，＃２のリンク種別は座標点＃０のリンク種別と同じである。
【００４８】
具体的な動作として、例えば元データから座標点＃０のデータを取得する場合は、座標点＃０，＃１と、リンク種別変化フラグ＃０，＃１とを取得した後に、座標点＃０のデータを抜き出す処理を行う。
【００４９】
また、例えばリンク種別＃１のデータを取得する場合は、リンク種別変化フラグが「１」となる直前の座標点（ここでは、座標点＃０）を探し、座標点＃０に対応するリンク種別（リンク種別＃０）を取得する。
【００５０】
中間データは、全て３２bitのデータとして構成されている。すなわち、元データの各項目のデータを固定長の３２bitとして生成している。このとき、例えばリンク種別がないデータ（例えばリンク種別＃１）についても、データがあるものとして３２bitのデータサイズを確保している。従って、中間データから座標点やリンク種別のデータを取得する際には、元データのような処理を行わずにダイレクトに取得することができる。すなわち、中間データは、元データよりもデータサイズが大きくなるが、元データよりも早く必要なデータを取得することができる（すなわち、元データから必要なデータを取得するよりも処理時間が短い）。
【００５１】
次に、中間データ生成の動作について説明する。
【００５２】
図５は、中間データ生成の動作の一例を示すフローチャートである。
【００５３】
ステップＳ５０１において、ナビアプリ部３は、データ読み込み部１１に対して元データ（地図データ）の読み込みを要求する。このとき、ナビアプリ部３の各アプリ（例えば、図１の地図表示アプリ３１、ロケータアプリ３２、経路探索アプリ３３、経路誘導アプリ３４等）が、それぞれのアプリケーションを実行する際に地図データの読み込みを要求する。
【００５４】
ステップＳ５０２において、中間データ生成対象決定部１３は、データ読み込み部１１が読み込んだ元データに含まれる項目が、中間データの生成対象であるか否かの判断を行う。中間データの生成対象である場合はステップＳ５０３に移行する。一方、中間データの生成対象でない場合はステップＳ５０６に移行する。なお、ステップＳ５０２の詳細については、後述する（図９〜１３参照）。
【００５５】
ステップＳ５０３において、データ読み込み部１１は、読み込んだ元データに含まれる項目が既に読み込み済みであるか否かの判断を行う。既に読み込み済みである場合はステップＳ５０８に移行する。一方、まだ読み込んでいない場合はステップＳ５０４に移行する。
【００５６】
ステップＳ５０４において、中間データ生成部１２は、中間データ生成対象決定部１３の決定に基づき、データ読み込み部１１が読み込んだ元データに含まれる項目のうち、中間データ生成対象決定部１３にて決定された項目（所定の項目）を中間データとして生成する。すなわち、中間データ生成部１２は、ナビアプリ部３の各アプリから地図データの読み込み要求ごとに中間データを生成する。
【００５７】
ステップＳ５０５において、中間データ生成部１２は、生成した中間データをデータアクセスライブラリ記憶部２に書き込む（記憶させる）。
【００５８】
ステップＳ５０６において、データ読み込み部１１は、読み込んだ元データに含まれる項目が既に読み込み済みであるか否かの判断を行う。既に読み込み済みである場合はステップＳ５０８に移行する。一方、まだ読み込んでいない場合はステップＳ５０７に移行する。
【００５９】
ステップＳ５０７において、データ読み込み部１１は、中間データ生成対象決定部１３の決定に基づき、読み込んだ元データをデータアクセスライブラリ記憶部２に書き込む（記憶させる）。
【００６０】
ステップＳ５０８において、データ読み込み部１１は、元データに含まれる全項目を読み込んだか否かを判断する。全項目を読み込んだ場合はステップＳ５０９に移行する。一方、全項目を読み込んでいない場合はステップＳ５１０に移行する。
【００６１】
ステップＳ５０９において、タイムスタンプ設定・取得部１４は、データ読み込み部１１からデータアクセスライブラリ記憶部２に書き込まれた元データと、中間データ生成部１２からデータアクセスライブラリ記憶部２に書き込まれた中間データとに関連付けて、データ読み込み部１１が元データを読み込んだ時のタイムスタンプを設定してデータアクセスライブラリ記憶部２に記録（記憶）し、処理を終了する。
【００６２】
ステップＳ５１０において、データ読み込み部１１は、元データに含まれる次の項目（ステップＳ５０２にて中間データの生成対象であるか否かの判断がなされていない項目）を読み込む。読み込んだ後、ステップＳ５０２に移行する。
【００６３】
次に、ナビアプリ部３からデータ（地図データ）の要求があった場合の動作について説明する。
【００６４】
図６は、アプリデータ提供部１７の動作の一例を示すフローチャートである。
【００６５】
ステップＳ６０１において、アプリデータ提供部１７は、ナビアプリ部３からデータの要求を受ける。
【００６６】
ステップＳ６０２において、ナビアプリ部３から要求されたデータ（要求データ）が中間データであるか否かを判断する。要求されたデータが中間データである場合はステップＳ６０３に移行する。一方、要求されたデータが中間データでない場合（すなわち、元データである場合）はステップＳ６０４に移行する。
【００６７】
ステップＳ６０３において、ナビアプリ部３から要求されたデータに対応する中間データをデータアクセスライブラリ記憶部２から取得し、取得した中間データをナビアプリ部３にて使用可能なデータ（アプリ使用データ）に形式変換する。
【００６８】
ステップＳ６０４において、ナビアプリ部３から要求されたデータに対応する元データをデータアクセスライブラリ記憶部２から取得し、取得した元データをナビアプリ部３にて使用可能なデータ（アプリ使用データ）に形式変換する。
【００６９】
ステップＳ６０５において、変換したデータをナビアプリ部３に提供し、処理を終了する。
【００７０】
ここで、生成対象データ５１のフォーマットについて説明する。
【００７１】
図７は、生成対象データ５１のフォーマットの一例を示す図である。
【００７２】
図７に示すように、生成対象データ５１には、中間データの生成対象となる項目の情報が含まれている。
【００７３】
図８は、生成対象データ５１のフォーマットの他の一例を示す図である。
【００７４】
図８に示すように、生成対象データ５１には、少なくとも１以上の機種スペックに対応した中間データの生成対象となる項目の情報、およびいずれの機種スペックにも該当しない場合における中間データの生成対象となる項目（デフォルト対象項目）の情報が含まれている。
【００７５】
図７，８に示す生成対象データ５１は、ユーザによって予め設定され、図２の生成対象データ記憶部５に記憶される。
【００７６】
例えば、図８に示すフォーマットにおいて、メモリ（図１のデータアクセスライブラリ記憶部２に対応）の容量が大きい機種の場合は、できるだけ多くの中間データを生成するために中間データの生成対象となる項目数を多く設定することができる。また、ＣＰＵの処理速度が速い場合は、中間データの生成対象となる項目数を少なくすることができる。このように、機種スペックに応じた中間データの生成対象の項目を設定することができるため、機種ごとに最適な中間データを生成することができる。
【００７７】
中間データ生成対象決定部１３は、図７または図８に示すフォーマットを有する生成対象データ５１を参照して、中間データの生成対象となる項目を決定する。
【００７８】
次に、中間データの生成対象を決定する動作について説明する。
【００７９】
図９は、中間データ生成対象決定部１３の動作の一例を示すフローチャートである。なお、生成対象データ５１は、図７に示すフォーマットを用いているものとする。また、図９に示す処理は、図５のステップＳ５０２における処理に対応している。
【００８０】
ステップＳ９０１において、データ読み込み部１１が読み込んだ元データに含まれる項目が、生成対象データ５１に含まれる項目（所定の項目）に該当するか否かを判断する。元データに含まれる項目が生成対象データ５１に含まれる項目に該当する場合はステップＳ９０２に移行する。一方、元データに含まれる項目が生成対象データ５１に該当しない場合はステップＳ９０３に移行する。
【００８１】
ステップＳ９０２において、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、生成対象データ５１に該当する項目を中間データの生成対象であると決定し、処理を終了する。
【００８２】
ステップＳ９０３において、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、生成対象データ５１に該当しない項目を中間データの生成対象外であると決定し、処理を終了する。
【００８３】
上記より、データアクセスライブラリ部１のプログラムを変更することなく、生成対象データ５１に応じて適切に中間データを生成することができる。
【００８４】
図１０は、中間データ生成対象決定部１３の動作の他の一例を示すフローチャートである。なお、生成対象データ５１は、図８に示すフォーマットを用いているものとする。また、図１０に示す処理は、図５のステップＳ５０２における処理に対応している。
【００８５】
ステップＳ１００１において、機種スペック取得部１８から機種スペックを取得する。
【００８６】
ステップＳ１００２において、機種スペック取得部１８から取得した機種スペックに該当する機種スペック（所定のスペック）が生成対象データ５１にあるか否かを判断する。該当する機種スペックが生成対象データ５１にある場合はステップＳ１００３に移行する。一方、該当する機種スペックが生成対象データ５１にない場合はステップＳ１００４に移行する。
【００８７】
ステップＳ１００３において、機種スペックに対応する生成対象データ５１の項目をチェックする。
【００８８】
ステップＳ１００４において、生成対象データ５１のデフォルトの項目をチェックする。
【００８９】
ステップＳ１００５において、データ読み込み部１１が読み込んだ元データに含まれる項目が、ステップＳ１００３にてチェックした生成対象データ５１の項目に該当するか否かを判断する。元データに含まれる項目がステップＳ１００３またはステップＳ１００４にてチェックした生成対象データ５１の項目に該当する場合はステップＳ１００６に移行する。一方、元データに含まれる項目がステップＳ１００３またはステップＳ１００４にてチェックした生成対象データ５１の項目に該当しない場合はステップＳ１００７に移行する。
【００９０】
ステップＳ１００６において、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、生成対象データ５１に該当する項目を中間データの生成対象であると決定し、処理を終了する。
【００９１】
ステップＳ１００７において、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、生成対象データ５１に該当しない項目を中間データの生成対象外であると決定し、処理を終了する。
【００９２】
上記より、データアクセスライブラリ部１のプログラムを変更することなく、機種スペックに応じて適切に中間データを生成することができる。
【００９３】
図１１は、中間データ生成対象決定部１３の動作の他の一例を示すフローチャートである。図１１において、中間データ生成対象決定部１３は、データ読み込み部１１が読み込んだ元データに含まれる項目のデータサイズに基づいて、元データに含まれる項目を中間データの生成対象とするか否かを決定している。なお、図１１に示す処理は、図５のステップＳ５０２における処理に対応している。
【００９４】
ステップＳ１１０１において、データ読み込み部１１にて読み込まれた元データに含まれる項目のデータサイズを算出する。
【００９５】
ステップＳ１１０２において、ステップＳ１１０１にて算出した元データに含まれる項目のデータサイズが閾値以下であるか否かを判断する。元データに含まれる項目のデータサイズが閾値以下である場合はステップＳ１１０３に移行する。一方、元データに含まれる項目のデータサイズが閾値以下でない場合はステップＳ１１０４に移行する。
【００９６】
ステップＳ１１０３において、データ読み込み部１１にて読み込まれた元データに含まれる項目を中間データの生成対象であると決定し、処理を終了する。
【００９７】
ステップＳ１１０４において、データ読み込み部１１にて読み込まれた元データに含まれる項目を中間データの生成対象外であると決定し、処理を終了する。
【００９８】
上記より、元データのデータサイズに応じて適切に中間データを生成することができる。
【００９９】
図１２は、中間データ生成対象決定部１３の動作の他の一例を示すフローチャートである。図１２において、中間データ生成対象決定部１３は、データアクセスライブラリ記憶部２の残量（記憶可能な残量）に基づいて、元データに含まれる項目を中間データの生成対象とするか否かを決定している。なお、図１２に示す処理は、図５のステップＳ５０２における処理に対応している。
【０１００】
ステップＳ１２０１において、データアクセスライブラリ記憶残量測定部１６によるデータアクセスライブラリ記憶部２の残量の測定結果を取得する。
【０１０１】
ステップＳ１２０２において、データアクセスライブラリ記憶部２の残量が閾値以下であるか否かを判断する。残量が閾値以下である場合はステップＳ１２０３に移行する。一方、残量が閾値以下でない場合はステップＳ１２０４に移行する。
【０１０２】
ステップＳ１２０３において、データ読み込み部１１にて読み込まれた元データに含まれる項目を中間データの生成対象外であると決定し、処理を終了する。
【０１０３】
ステップＳ１２０４において、データ読み込み部１１にて読み込まれた元データに含まれる項目について、中間データの生成対象であるか否かの判断処理を行う。なお、当該判断処理は、図９，１０に示す処理を行うものとする。
【０１０４】
上記より、データアクセスライブラリ記憶部２の残量に応じて適切に中間データを生成することができる。
【０１０５】
図１３は、中間データ生成対象決定部１３の動作の他の一例を示すフローチャートである。図１３において、中間データ生成対象決定部１３は、ナビアプリ部３からの要求に基づいて、元データに含まれる項目を中間データの生成対象とするか否かを決定している。なお、図１３に示す処理は、図５のステップＳ５０２における処理に対応している。
【０１０６】
ステップＳ１３０１において、データ読み込み部１１にて読み込まれた元データに含まれる項目が、ナビアプリ部３から要求された項目に該当するか否かを判断する。ナビアプリ部３から要求された項目に該当する場合はステップＳ１３０２に移行する。一方、ナビアプリ部３から要求された項目に該当しない場合はステップＳ１３０３に移行する。
【０１０７】
ステップＳ１３０２において、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、ナビアプリ部３から要求された項目に該当する項目を中間データの生成対象であると決定し、処理を終了する。
【０１０８】
ステップＳ１３０３において、データ読み込み部１１にて読み込まれた元データに含まれる項目のうち、ナビアプリ部３から要求された項目に該当しない項目を中間データの生成対象外であると決定し、処理を終了する。
【０１０９】
上記より、ナビアプリ部３の各アプリ（地図表示アプリ３１、ロケータアプリ３２、経路探索アプリ３３、経路誘導アプリ３４）における使用方法に応じて適切に中間データを生成することができる。すなわち、各アプリにおいて直ぐに必要となるデータが異なるため、各アプリの要求に応じて中間データの生成対象となる項目を変えることによって、各アプリがデータを取得しやすくなるという効果を奏する。
【０１１０】
次に、中間データを削除する動作について説明する。
【０１１１】
図１４は、中間データの削除の動作の一例を示すフローチャートである。図１４において、中間データ削除部１５は、データアクセスライブラリ記憶部２の残量に基づいて、中間データを削除するか否かの判断を行っている。
【０１１２】
ステップＳ１４０１において、データアクセスライブラリ記憶残量測定部１６は、データアクセスライブラリ記憶部２の残量を測定する。
【０１１３】
ステップＳ１４０２において、中間データ削除部１５は、データアクセスライブラリ記憶残量測定部１６にて測定されたデータアクセスライブラリ記憶部２の残量が閾値以下であるか否かを判断する。データアクセスライブラリ記憶部２の残量が閾値以下である場合はステップＳ１４０３に移行する。一方、データアクセスライブラリ記憶部２の残量が閾値以下でない場合は処理を終了する。
【０１１４】
ステップＳ１４０３において、中間データ削除部１５は、データアクセスライブラリ記憶部２に中間データが存在するか（記憶されているか）否かを判断する。データアクセスライブラリ記憶部２に中間データが存在する場合はステップＳ１４０４に移行する。一方、データアクセスライブラリ記憶部２に中間データが存在しない場合は処理を終了する。
【０１１５】
ステップＳ１４０４において、中間データ削除部１５は、タイムスタンプ設定・取得部１４にて取得されたタイムスタンプに基づいて、データアクセスライブラリ記憶部２からタイムスタンプが最も古い中間データを削除する。
【０１１６】
ステップＳ１４０５において、データ読み込み部１１は、中間データ削除部１５が削除した中間データに対応する元データを地図データ記憶部４から読み込み、当該元データをデータアクセスライブラリ記憶部２に書き込む（記憶させる）。その後、ステップＳ１４０１に移行する。
【０１１７】
上記より、データアクセスライブラリ記憶部２を、その残量に応じて有効に使用することができる。
【０１１８】
図１５は、中間データの削除の動作の他の一例を示すフローチャートである。図１５において、中間データ削除部１５は、ナビアプリ部３からの要求に基づいて、中間データを削除するか否かの判断を行っている。
【０１１９】
ステップＳ１５０１において、中間データ削除部１５は、ナビアプリ部３からデータアクセスライブラリ記憶部２の残量確保の要求を受ける。
【０１２０】
ステップＳ１５０２において、中間データ削除部１５は、データアクセスライブラリ記憶部２に中間データが存在するか否かを判断する。データアクセスライブラリ記憶部２に中間データが存在する場合はステップＳ１５０３に移行する。一方、データアクセスライブラリ記憶部２に中間データが存在しない場合は処理を終了する。
【０１２１】
ステップＳ１５０３において、中間データ削除部１５は、タイムスタンプ設定・取得部１４にて取得されたタイムスタンプに基づいて、データアクセスライブラリ記憶部２からタイムスタンプが最も古い中間データを削除する。
【０１２２】
ステップＳ１５０４において、データ読み込み部１１は、中間データ削除部１５が削除した中間データに対応する元データを地図データ記憶部４から読み込み、当該元データをデータアクセスライブラリ記憶部２に書き込む。その後、処理を終了する。
【０１２３】
上記より、各アプリの使用状況に応じて、データアクセスライブラリ記憶部２を有効に使用することができる。
【０１２４】
図１６は、中間データの削除の動作の他の一例を示すフローチャートである。図１６において、中間データ削除部１５は、タイムスタンプに基づいて、中間データを削除するか否かの判断を行っている。
【０１２５】
ステップＳ１６０１において、中間データ削除部１５は、データアクセスライブラリ記憶部２に中間データが存在するか否かを判断する。データアクセスライブラリ記憶部２に中間データが存在する場合はステップＳ１６０２に移行する。一方、データアクセスライブラリ記憶部２に中間データが存在しない場合は処理を終了する。
【０１２６】
ステップＳ１６０２において、中間データ削除部１５は、タイムスタンプ設定・取得部１４にて取得されたタイムスタンプに基づいて、データアクセスライブラリ記憶部２からタイムスタンプが最も古い中間データを取り出す（取得する）。
【０１２７】
ステップＳ１６０３において、ステップＳ１６０２にて取り出した中間データが、データアクセスライブラリ記憶部２に記憶されてから規定時間（所定の期間）以上経過しているか否かを判断する。規定時間以上経過している場合はステップＳ１６０４に移行する。一方、規定時間以上経過していない場合は処理を終了する。
【０１２８】
ステップＳ１６０４において、中間データ削除部１５は、ステップＳ１６０２にて取り出した中間データを削除する。
【０１２９】
ステップＳ１６０５において、データ読み込み部１１は、中間データ削除部１５が削除した中間データに対応する元データを地図データ記憶部４から読み込み、当該元データをデータアクセスライブラリ記憶部２に書き込む。その後、ステップＳ１６０１に移行する。
【０１３０】
上記より、各アプリのデータの使用状況に応じて、データアクセスライブラリ記憶部２を有効に使用することができる。すなわち、使用頻度が高くない中間データを削除することができる。
【０１３１】
＜変形例＞
上述において、元データおよび中間データは図４に示すフォーマットを用いるものとして説明したが、他のフォーマットであってもよい。ここでは、他のフォーマットの一例について説明する。
【０１３２】
図１７は、中間データのフォーマットの他の一例を示す図である。
【０１３３】
図１７に示すように、中間データは、可変長の元データ（図示せず）に含まれる各項目へのアクセスに用いるポインタを有している。
【０１３４】
例えば、可変長の元データにおいて、道路データに含まる道路データ＃１の先頭を求めるためには、道路データ＃０の全てのデータサイズを加算する必要がある。
【０１３５】
一方、中間データでは、ポインタから元データの各項目（例えば、道路データ＃０，＃１）の先頭に直接アクセスすることができる。
【０１３６】
上記より、中間データを用いて元データから必要な項目のデータ（上記の例では道路データ）を取得する方が、元データのみから必要な項目のデータを取得するよりも処理時間が短くなり、早くデータを取得することができる。
【０１３７】
以上のことから、本実施の形態によれば、データの記憶容量を抑制するとともにデータ処理能力を向上させることが可能となる。
【０１３８】
以上で説明したデータ処理装置は、車載用ナビゲーション装置、すなわちカーナビゲーション装置だけでなく、車両に搭載可能な、ＰＮＤ（Portable Navigation Device）および携帯通信端末（例えば携帯電話、スマートホンおよびタブレット端末など）、並びにサーバなどを適宜に組み合わせてシステムとして構築されるナビゲーション装置にも適用することができる。この場合、データ処理装置の各機能あるいは各構成要素は、上記システムを構築する各機能に分散して配置される。ただし、図１のデータアクセスライブラリ部１およびデータアクセスライブラリ記憶部２は一体で配置される必要がある（以下、同様）。
【０１３９】
具体的には、データ処理装置の一部の機能を携帯通信端末、ＰＮＤあるいはサーバに配置することができる。また、車載装置としてＤＡ（Display Audio）を用いた場合、ＤＡは表示および音声出力のみ可能なのでそれ以外の機能を携帯通信端末、ＰＮＤ、あるいはサーバに配置することができる。
【０１４０】
上記の構成とした場合であっても、実施の形態と同様の効果が得られる。
【０１４１】
また、実施の形態における動作を実行するソフトウェア（データ処理方法）を、例えば携帯通信端末、ＰＮＤあるいはサーバに組み込んでもよい。
【０１４２】
具体的に、上記のデータ処理方法は、（ａ）データを読み込む工程と、（ｂ）工程（ａ）にて読み込まれたデータに含まれる項目のうち所定の項目を中間データとして生成する工程と、（ｃ）工程（ａ）にて読み込まれたデータのうち中間データの生成対象とならなかったデータと、工程（ｂ）にて生成された中間データとを記憶する工程とを備える。
【０１４３】
また、工程（ａ）と工程（ｂ）との間に、（ｄ）所定の項目を中間データの生成対象として決定する工程をさらに備え、工程（ｂ）は、工程（ｄ）にて決定された所定の項目を中間データとして生成する。
【０１４４】
上記より、実施の形態における動作を実行するソフトウェアを携帯通信端末、ＰＮＤあるいはサーバに組み込んで動作させることによって、実施の形態と同様の効果が得られる。
【０１４５】
なお、図１において、データアクセスライブラリ部１（データ読み込み部１１、中間データ生成部１２、中間データ生成対象決定部１３、タイムスタンプ設定・取得部１４、中間データ削除部１５、データアクセスライブラリ記憶残量測定部１６、アプリデータ提供部１７、機種スペック取得部１８）の各々は、ソフトウェアに基づくＣＰＵを用いたプログラム処理を実行することによって実現されるものとして説明したが、可能であれば、データアクセスライブラリ部１（データ読み込み部１１、中間データ生成部１２、中間データ生成対象決定部１３、タイムスタンプ設定・取得部１４、中間データ削除部１５、データアクセスライブラリ記憶残量測定部１６、アプリデータ提供部１７、機種スペック取得部１８）の各々を、ハードウェア（例えば、電気信号に対して特定の演算あるいは処理を行うように構成された演算／処理回路等）として構成するようにしてもよい。また、上記の両者を混在させてもよい。
【０１４６】
図１，２において、データアクセスライブラリ記憶部２、地図データ記憶部４、生成対象データ記憶部５の各々は、データを保持しておく機能を、例えばＨＤＤ（Hard Disk Drive）、ＤＶＤ（Digital Versatile Disk）、半導体メモリなどによって構成してもよい。また、ナビアプリ部３の各アプリ（地図表示アプリ３１、ロケータアプリ３２、経路探索アプリ３３、経路誘導アプリ３４）は、上記と同様の機能を有する所定の記憶部に記憶されているものとする。
【０１４７】
図１において、地図データ記憶部４は、外部から地図データを取得する機能を有し、必要時に必要な地図データを外部から取得するようにしてもよい。
【０１４８】
図２において、ＣＰＵ６は、図１にてソフトウェア的な構成として示されるデータアクセスライブラリ部１およびナビアプリ部３を有しているものとして図示しているが、データアクセスライブラリ部１とナビアプリ部３との各々に対して別個のＣＰＵを備えてもよい。
【０１４９】
図４では、データ処理装置のＣＰＵが３２bitであることを想定した場合について説明したが、３２bitに限らず、例えば６４bitであってもよい。
【０１５０】
図６のステップＳ６０３およびステップＳ６０４において、中間データまたは元データからアプリ使用データへの形式変換は、従来の変換方法を含めてどのような方法であってもよい。
【０１５１】
図７，８では、生成対象データ５１のフォーマットの一例を示したが、他のフォーマットであってもよい。
【０１５２】
図１０では、機種スペックに基づいて中間データの生成対象とするか否かを判断しているが、機種スペックに代えて機種（機種名等）に基づいて判断するようにしてもよい。
【０１５３】
図１１では、元データに含まれる項目のデータサイズに基づいて中間データの生成対象とするか否かを判断しているが、元データに含まれる項目を中間データとして生成した場合における当該中間データのデータサイズに基づいて中間データの生成対象とするか否かを判断するようにしてもよい。
【０１５４】
図１１のステップＳ１１０３では、データ読み込み部１１にて読み込まれた元データに含まれる項目のすべてを中間データの生成対象であると決定しているが、これに限らず、図１２のステップＳ１２０４における処理と同様に、図９，１０に示す処理を行うようにしてもよい。
【０１５５】
図１２のステップＳ１２０４では、図９，１０に示す処理を行っているが、これに限らず、データ読み込み部１１にて読み込まれた元データに含まれる項目のすべてを中間データの生成対象であると決定してもよい。
【０１５６】
図１５のステップＳ１５０３において、中間データ削除部１５は、タイムスタンプが最も古い中間データを削除しているが、これに限らず、ナビアプリ部３から削除要求された項目のうちタイムスタンプが最も古い項目の中間データを削除するようにしてもよい。
【０１５７】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１５８】
１  データアクセスライブラリ部、２  データアクセスライブラリ記憶部、３  ナビアプリ部、４  地図データ記憶部、５  生成対象データ記憶部、６  ＣＰＵ、１１  データ読み込み部、１２  中間データ生成部、１３  中間データ生成対象決定部、１４  タイムスタンプ設定・取得部、１５  中間データ削除部、１６  データアクセスライブラリ記憶残量測定部、１７  アプリデータ提供部、１８  機種スペック取得部、３１  地図表示アプリ、３２  ロケータアプリ、３３  経路探索アプリ、３４  経路誘導アプリ、５１  生成対象データ。
【図１】
2014160384.tif 000003
【図２】
2014160384.tif 000004
【図３】
2014160384.tif 000005
【図４】
2014160384.tif 000006
【図５】
2014160384.tif 000007
【図６】
2014160384.tif 000008
【図７】
2014160384.tif 000009
【図８】
2014160384.tif 000010
【図９】
2014160384.tif 000011
【図１０】
2014160384.tif 000012
【図１１】
2014160384.tif 000013
【図１２】
2014160384.tif 000014
【図１３】
2014160384.tif 000015
【図１４】
2014160384.tif 000016
【図１５】
2014160384.tif 000017
【図１６】
2014160384.tif 000018
【図１７】
2014160384.tif 000019