(57)【要約】【課題】データまたはレコードを格納するメモリ容量を少なくし、かつ、その読み出しのレスポンス低下を最小限に留めて、読み書きを行うこと。【解決手段】アプリケーション２に応じて格納されている多数のデータを読み出して、所望のデータを順次書き込み、読み出し自在な特定のデータリストを作成するデータリスト読み書き装置において、オフセットなしデータ格納部５に複数のデータをオフセットを対応させることなく特定位置に順次格納し、オフセットなしデータ格納部５とリンクするオフセットテーブル６に対して所定のデータ間隔でオフセットを対応させ、特定のデータリストから所望のデータを選択するとき、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットを基に所望のデータ数までデータ数を計算して読み書き部７から所望のデータを読み出すことができ、そのオフセットの情報分のメモリ領域が省略でき、メモリ容量が少なくでき、レスポンス低下を殆ど違和感を認識させないスポンスとなる。【選択図】図１
2010108398.tif 000002
【特許請求の範囲】
【請求項１】
データベースに格納されている多数のデータを読み出して、所望のデータを順次書き込み、読み出し自在なデータリストを作成するデータリスト読み書き装置において、
複数の各データに対してオフセットを対応させることなく特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成するオフセットなしデータ格納部と、
前記オフセットなしデータ格納部の特定位置に格納したデータ番号に対して、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させてなるオフセットテーブルと、
前記オフセットなしデータ格納部にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させて前記オフセットテーブルに書き込み、前記オフセットなしデータ格納部のデータリストから所望のデータを選択するときには、前記オフセットテーブルから最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算する読み書き部と
を具備することを特徴とするデータリスト読み書き装置。
【請求項２】
前記オフセットテーブルでオフセットを対応させた所定のデータ番号の間隔は、１番目のデータ番号及び所定の奇数間隔のデータ番号毎としたことを特徴とする請求項１に記載のデータリスト読み書き装置。
【請求項３】
前記読み書き部は、所望のデータ番号の読み出しが指示されたとき、所望のデータ番号から減算し、最寄りのオフセットが付与されたデータ番号を検索することを特徴とする請求項１または請求項２に記載のデータリスト読み書き装置。
【請求項４】
前記読み書き部におけるオフセットが付与されたデータ番号を基に所望のデータ数までの計算は、最寄りのオフセットが付与されたデータ番号を基準に所望のデータ番号から加算または減算することを特徴とする請求項１乃至請求項３の何れか１つに記載のデータリスト読み書き装置。
【請求項５】
データベースに格納されている多数のデータを読み出して、所望のデータを順次書き込み、読み出し自在なデータリストを作成するデータリスト読み書き方法において、
複数の各データに対してオフセットを対応させることなくオフセットなしデータ格納部の特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成する工程と、
前記オフセットなしデータ格納部の特定位置に格納したデータ番号に対して、前記オフセットなしデータ格納部とは別なメモリ領域からなるオフセットテーブルを形成し、当該オフセットテーブルで所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させる工程とを具備し、
前記オフセットなしデータ格納部にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させて前記オフセットテーブルに書き込み、前記オフセットなしデータ格納部のデータリストから所望のデータを選択するときには、前記オフセットテーブルから最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算することを特徴とするデータリスト読み書き方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定の目的に沿ったリストを多数のデータ、レコードから抽出して作成するデータリスト読み書き装置及びその方法に関するもので、例えば、車両を目的地まで案内する車載ナビゲーションの名称、住所等で目的地検索等に使用する特定のリストを作成する多数のデータ、レコードの取り扱いに関するものである。
【背景技術】
【０００２】
図６（ａ）は従来のデータを記億させたリスト例の概念図、図６（ｂ）は従来のデータを記億させたリスト例を変形した事例の概念図を示す。
一般に、連続的に格納されているデータ、レコードには、図６（ａ）の従来のデータを記億させたリスト例のように、データ、レコードと共に隣接情報をオフセット情報として書き込まれて、前後データの先頭を参照できるようなオフセット情報が格納されている。これによって、１つ前のデータ、レコードを参照したいときには、前データ、レコードへのオフセット情報を使用して、次、次々の移動位置を特定し、目的のデータの取得を行うことができる。
【０００３】
この種のデータリスト読み書き装置としては、特許文献１が公知である。なお、以下の（  ）内の数字は特許文献１の図面に記載の構成部品を示すものである。
特許文献１のデータリスト読み書き装置は、オフセット生成部（１３）がアプリケーション（２）から入力された構造化データ（３）を解析し、構造化データ（３）における特定のデータ要素のオフセット位置を算出して、当該データ要素のオフセット位置を示すオフセット情報を生成し、記憶部（１４）は構造化データ（３）にオフセット情報を含ませて、オフセット付構造化データ（４）として記憶し、制御部（１１）の入力部（１１０１）が、アプリケーション（２）から特定のレコードの取得要求を入力した場合に、制御部（１１）の出力部（１１０２）から取得要求のあったオフセット付構造化データ（４）を抽出し、抽出したオフセット付構造化データ（４）をアプリケーション（２）に出力し、オフセット付構造化データ（４）を取得したアプリケーション（２）では、オフセット情報に基づいて、特定のデータ要素に高速にアクセスすることができ、データベースに蓄積されているデータのうちの特定のデータ要素への高速アクセスを実現しようとする発明である。
【特許文献１】特開２００８−１４０３１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術に限らず、一般に各データまたはレコードに対して、データまたはレコード毎にオフセットを格納していると、それだけデータサイズが大きくなってしまい大きなメモリが必要となる。逆に言えば、オフセットをなくすと、それだけメモリ容量が少なくなる。
しかし、前後データのオフセット、前後レコードのオフセットが格納されていない場合には、特定のデータ、レコードを参照しようとすると、データ、レコード等のリストの先頭から順に各データ、レコードをカウントしなければならず、それだけレスポンスが悪くなる。例えば、図６（ｂ）の従来のデータを記億させたリスト例のように、基点となる１番目のデータに毎回戻ってデータ番号６６では「ＸＸＸＸ」位置、データ番号１２９では「ＹＹＹＹ」位置、データ番号１９３では「ＺＺＺＺ」位置のように、基点となる１番目のデータから繰り返し特定のデータを選択する必要があり、１番目のデータから繰り返し検索することから、それだけレスポンスが悪くなる。
【０００５】
そこで、この発明はかかる不具合を解決するためになされたもので、データ、レコードが格納するオフセットを少なくすることで、メモリ容量を少なくし、かつ、レスポンス低下を最小限に留めたデータリスト読み書き装置及びその方法の提供を目的とするものである。
【課題を解決するための手段】
【０００６】
請求項１にかかるデータリスト読み書き装置において、複数の各データに対してオフセットを対応させることなく特定位置にデータ番号と共に順次各データを格納してデータリストを作成したオフセットなしデータ格納部と、前記オフセットなしデータ格納部の特定位置に順次格納された各データに対して、所定の前記データ間隔毎に前記データ番号とオフセットを対応させ、前記オフセットなしデータ格納部と対応付けたオフセットテーブルと、前記オフセットなしデータ格納部にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させて前記オフセットテーブルに書き込み、前記オフセットなしデータ格納部のデータリストから所望のデータを選択するときには、前記オフセットテーブルから最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで加算または減算する読み書き部を具備するものである。
なお、一般に、レコードとは、データの１件分の単位を意味し、その表現内容に違いはあるが、何れも小さいデータと大きいデータとの違いに過ぎず、両者はデータであることに違いはないことから、本発明においては、両者を区別なく使用する。故に、本発明においては、データとの記載はレコードと同義語として解釈し、本発明の全体を通して、データ表現のみに留める。
ここで、上記オフセットなしデータ格納部は、特定格納位置に複数の各オフセットを削除したデータベースから得られたデータを順次格納するものである。
また、上記オフセットテーブルは、順次格納された複数の各データに対して、データ２５個毎、５０個毎、１００個毎等のように、所定の等間隔または任意の間隔毎にオフセットを対応させるテーブルであり、前記オフセットなしデータ格納部と対になるものである。なお、オフセットを対応させる所定の間隔とは、２５個毎、５０個毎、１００個毎等のように等間隔に設けるものに限定されるものではなく、不均一間隔としてもよいし、特定の個数以上と個数以下でその間隔を変更してもよい。しかし、前記オフセットテーブルでオフセットを対応させ所定のデータ間隔を奇数に設定してオフセットを付与すると、その間の数値が偶数となり、オフセットに到着する距離がカウントアップがよいか、カウントダウンがよいかの判断が単純化できる。例えば、下３桁のデータ番号が「００１」、「０５１」、「１０１」、「１５１」、・・・、「９５１」とすると、その間が５０個のメモリ番号となり、下２桁が「２５以下」または「７５以下」のとき、カウントダウンとし、「２６以上」または「７６以上」のとき、カウントアップが望ましい。
そして、上記読み書き部は、オフセットなしデータ格納部に格納した特定のデータリストから所望のデータを選択するとき、オフセットテーブルから最寄りのオフセットを選択し、当該オフセットを基に所望のデータまで格納されたデータ数を加算または減算し、該当のデータを読み出す。勿論、オフセットなしデータ格納部に格納したデータ数が不明のときには、オフセットテーブルから最寄りのオフセットを選択するには、所定のデータ番号からデータ番号を順次減算し、最寄りのオフセットを検索することになる。
【０００７】
請求項２にかかるデータリスト読み書き装置の前記オフセットテーブルでオフセットを対応させた所定のデータ間隔は、第１番目を除き、その間隔が５０個毎、１００個毎、２００個毎等の奇数の値、例えば、１、５１、１０１、・・・、９０１・・・としたものである。即ち、データ間隔の間のデータ数が偶数となり、オフセットを対応させた上側のデータ数と下側のデータ数の中間のデータ数がなくなるから、中間値を如何に扱うかの処理を行う必要がなくなる。
【０００８】
請求項３にかかるデータリスト読み書き装置の前記読み書き部は、所望のデータ番号の読み出しが指示されたとき、所望のデータ番号から減算し、最寄りのオフセットが付与されたデータ番号を検索するものである。ここで、所望のデータ数まで減算のみを行うものとは、カウントダウン機能を有するものであればよい。
【０００９】
請求項４にかかる前記読み書き部におけるオフセットが付与されたデータ番号を基に所望のデータ数までの計算は、最寄りのオフセットが付与されたデータ番号から所望のデータ番号まで加算または減算し、最寄りのオフセットが付与されたデータ番号を検索するものである。ここで、所望のデータ数まで加算または減算を行うものとは、選択されたデータ番号に応じた最寄りのオフセットを効率よく選択するものであるから、加算または減算を行う閾値が基準となるものである。
【００１０】
請求項５にかかるデータリスト読み書き方法は、複数の各データに対してオフセットを対応させることなくオフセットなしデータ格納部の特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成する工程と、前記オフセットなしデータ格納部の特定位置に格納したデータ番号に対して、前記オフセットなしデータ格納部とは別なメモリ領域からなるオフセットテーブルを形成し、当該オフセットテーブルで所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させる工程とを具備し、前記オフセットなしデータ格納部にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させて前記オフセットテーブルに書き込み、前記オフセットなしデータ格納部のデータリストから所望のデータを選択するときには、前記オフセットテーブルから最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算するものである。
【発明の効果】
【００１１】
請求項１にかかるデータリスト読み書き装置は、格納されている多数のデータを読み出して、所望のデータを順次書き込み、読み出し自在な特定のデータリストを作成するデータリスト読み書き装置において、オフセットなしデータ格納部に複数の各データに対してオフセットを対応させることなく特定位置に順次格納され、前記オフセットなしデータ格納部とリンクするオフセットテーブルに対して所定のデータ間隔でオフセットを対応させ、前記特定のデータリストから所望のデータを選択するとき、前記オフセットテーブルから最寄りのオフセットを選択し、当該オフセットを基に所望のデータ数までデータ数を計算して読み出し部から所望のデータを読み出す。
したがって、各データにオフセットを対応付ける必要がなくなるから、そのオフセットの情報分のメモリ領域が省略でき、メモリ容量が少なくできる。また、特定のオフセットを基に所望のデータ数までデータ数を計算する場合でも、データの最初を基点に計数するものではないので、その選択速度は、レスポンス低下を意識させる程度のものではなく、殆ど認識できないレスポンスである。
【００１２】
請求項２にかかるデータリスト読み書き装置は、前記オフセットテーブルでオフセットを対応させ所定のデータ間隔は、１番目のデータ番号及び所定の奇数間隔のデータ番号毎としたものであるから、請求項１に記載の効果に加えて、データ間隔の間のデータ数が偶数となり、オフセットを対応させた上側のデータ数と下側のデータ数の中間のデータ数が偶数となり、その境界となる中間値がなくなるから、上側のデータ数と下側のデータ数との距離が同じである中間値を如何に扱うかの処理を行う必要がなくなる。それだけレスポンスがよくなる。
【００１３】
請求項３にかかるデータリスト読み書き装置の前記読み出し部は、当該オフセットが付与されたデータ番号まで減算するものであるから、請求項１または請求項２に記載の効果に加えて、オフセットなしデータ格納部に格納された全データ数が不明であっても、検索でき、前記オフセットテーブルでオフセットを対応させる所定のデータ間隔によってレスポンスをよくすることができる。
【００１４】
請求項４にかかるデータリスト読み書き装置の前記読み出し部は、前記読み書き部におけるオフセットが付与されたデータ番号を基に所望のデータ数までの計算は、最寄りのオフセットが付与されたデータ番号を基準に、所望のデータ番号から加算または減算するものであるから、請求項１乃至請求項３の何れか１つに記載の効果に加えて、前記オフセットテーブルでオフセットを対応させ所定のデータ間隔を偶数個毎に設定したものでは、マイクロフィルムプロセッサの処理速度が速く、レスポンス低下を意識させる程度のものではなく、殆ど認識できないレスポンスが得られる。
【００１５】
請求項５にかかるデータリスト読み書き方法は、オフセットなしデータ格納部に複数の各データに対してオフセットを対応させることなく特定位置に順次格納され、前記オフセットなしデータ格納部とリンクするオフセットテーブルに対して所定のデータ間隔でオフセットを対応させ、前記特定のデータリストから所望のデータを選択するとき、前記オフセットテーブルから最寄りのオフセットを選択し、当該オフセットを基に所望のデータ数までデータ数を計算して読み出し部から所望のデータを読み出すものである。
したがって、各データにオフセットを対応付ける必要がなくなるから、そのオフセットの情報分のメモリ領域が省略でき、メモリ容量が少なくできる。また、特定のオフセットを基に所望のデータ数までデータ数を計算する場合でも、データの最初を基点に計数するものではないので、その選択速度は、レスポンス低下を意識させる程度のものではなく、殆どレスポンス低下を認識できない程度のレスポンスで対応できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面に基づいて説明する。なお、実施の形態において、図中、実施の形態の同一記号及び同一符号は、同一または相当する機能部分であるから、ここでは重複する説明を省略する。
【００１７】
[実施の形態１]
図１は本発明の実施の形態１にかかるデータリスト読み書き装置を機能表現した全体構成を示すブロック図で、図２は本発明の実施の形態１にかかるデータリスト読み書き装置の書き込みのフローチャート、図３は本発明の実施の形態１にかかるデータリスト読み書き装置の読み出しのフローチャートである。
【００１８】
図１において、本実施の形態のデータリスト読み書き装置は、全体を概念的に示すと、データベース１、アプリケーション２、ディスプレイ３、入力部４、オフセットなしデータ格納部５、オフセットテーブル６、読み書き部７から構成され、全体がディスプレイ３及び入力部４及び各種の、例えば、ナビゲーション装置等に必要な外部装置８を取り付けたマイクロプロセッサ１０として構成されている。
データベース１は、１以上のアプリケーションソフトによって共有されるデータの集合体で、ナビゲーション装置では、地図データ及び目的地検索に使用するインデックスデータ等を集めて管理し、容易に検索・抽出により各種の形態で利用できるようにしたものである。一般に、ナビゲーション装置では、住所地、施設名、駅名、郵便番号、スポット名、ジャンル等の検索が可能なように、それらのデータを保有している。
【００１９】
アプリケーション２は、特定用途に使用されるデータ処理のためのコンピューターのプログラムを含む処理機能で、ナビゲーション装置では、目的地設定の住所検索機能、施設名称検索する機能等として使用される。
ディスプレイ３は、操作者に対して操作情報、地図等の情報、地図データの書き込み情報等を表示する液晶からなる表示手段で、入力部４は、ナビゲーション装置では、ドライバ等の操作者からの操作を受け付ける各種キー入力、音声入力、タッチスイッチ等であり、この入力部４としては、キーボード、マウス、バーコードリーダ、遠隔操作用のリモートコントロール装置等を使用することも、ディスプレイ３の前面に設けたタッチパネルによって構成することもできる。
【００２０】
オフセットなしデータ格納部５は、複数の各データに対してオフセットを対応させることなく特定位置にデータ番号と共に順次データを格納し、所望のデータリストを作成するＲＡＭであり、データ番号とデータが格納できるものであればよい。通常、所定のメモリエリア毎にデータ番号を付し、データが格納自在なメモリが使用される。
また、オフセットテーブル６は、オフセットなしデータ格納部５の特定データ番号のデータ格納位置に順次格納されたデータに対して、所定のデータ番号間隔毎にデータ番号とオフセットを対応させるＲＡＭであり、オフセットなしデータ格納部５とオフセットテーブル６は、同一ＲＡＭに両者の領域を設け形成することもできる。
【００２１】
読み書き部７は、オフセットなしデータ格納部５にオフセットなしのデータをデータ番号と共に順次書き込む信号を出力し、また、オフセットテーブル６に所定のデータ番号間隔毎にデータ番号とオフセットを書き込み、所定のデータ番号間隔毎にのみデータ番号とオフセットを書き込む。そして、オフセットなしデータ格納部５のデータリストから所望のデータを選択するときには、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで加算または減算し、所望のデータを読み出す。即ち、特定のデータ番号のデータを読み出す場合には、まず、特定のデータ番号から、最寄りのオフセット付きのデータ番号を特定し、そこから、オフセット付きのデータ番号からそのデータの番号を順次増加させる、即ち、カウントアップさせ、または、そのデータの番号を順次減少させる、即ち、カウントダウンさせ、特定のデータ番号を読み出すものである。
【００２２】
オフセットテーブル６に所定のデータ番号間隔毎にデータ番号とオフセットを書き込む読み書き部７のタイミングは、例えば、下３桁がデータ番号「００１」、データ番号「０５１」、「１０１」、「１５１」、・・・、「９５１」にデータ番号とオフセットが書き込まれているとすると、その間が５０個のメモリ番号となる。このとき、加算または減算を判断する閾値として、下２桁が「X２５以下」または「Ｘ７５以下」のとき、カウント
ダウンとし、「Ｘ２６以上」または「Ｘ７６以上」のとき、カウントアップとする。ここ
で、Ｘは０から９までの整数が代入される。但し、この加算または減算は、オフセットな
しデータ格納部５に書き込まれているオフセットを有するデータ番号の最大の値以下において適用される。オフセットなしデータ格納部５に書き込まれているデータ番号の最大値が不明なものの場合には、指定されたデータ番号からカウントダウンすることのみによってオフセットが得られる。
【００２３】
ナビゲーション装置等に必要な外部装置８は、車載ナビゲーション装置の場合には、現在の自車の位置、方位、目標位置（例えば、交差点）までの距離等を検出することが可能となるように各種センサからなる自車の現在地を検出する現在地検出部と、同じく、各種の地図データが記録され、書込み、読出しが可能な記憶容量が大きいハードディスクからなる地図情報処理部、目的地から所定の距離範囲内の駐車場を検索する駐車場検索部等を具備している。
【００２４】
次に、図２及び図３のフローチャートを用いて、本実施の形態にかかるデータリスト読み書き装置の動作について説明する。
図２のフローチャートは、他のメインプログラムの実行中にコールされるプログラムである。このプログラムは、アプリケーション２によってその用途に特定されたリスト作成の際に使用される。また、ディスプレイ３で全データを表示する表示メモリとしても使用できる。
ステップＳ１で車両を目的地まで案内する車載ナビゲーションの名称で目的地検索するアプリケーション２によって、目的地検索で特定されたリスト作成用のデータがデータベース１から検索されると、ステップＳ２で当該データを抽出し、特定のデータ番号を付して特定のメモリ、即ち、オフセットなしデータ格納部５に格納する。ステップＳ３でそのオフセットなしデータ格納部５に格納したデータ番号が指定された間隔のデータ数であるか否かを判断し、例えば、データ間隔が５０個毎、１００個毎、２００個毎とするものであれば、最初の１個目、５１個目等のデータの番号であるか否かを判断し、所定のデータ数（データ番号）になってないとき、ステップＳ５で検索データの存在を確認し、ステップＳ２乃至ステップＳ５を繰り返し実行する。これによって、オフセットなしデータ格納部５にデータがデータ番号と共に順次格納される。
【００２５】
ステップＳ３でそのオフセットなしデータ格納部５に格納したデータ番号が指定されたデータ数の、例えば、１個、５１個、１０１個、１５１個、２０１個、・・・であるとき、ステップＳ４でそのデータ番号と共にオフセットをオフセットテーブル６に書き込む。そして、ステップＳ５で検索データの存在を確認し、検索データが存在するときには、ステップＳ２乃至ステップＳ５を繰り返し実行する。また、ステップＳ５で検索データが存在しないことが確認されたとき、ステップＳ６で当該リストの全データのオフセットなしデータ格納部５への書き込みが完了する。
【００２６】
図３のフローチャートも、他のメインプログラムの実行中にコールされるプログラムである。このプログラムは、オフセットなしデータ格納部５から表示している全データのなかから所定のデータを選択する場合に使用される。
ステップＳ１１においてディスプレイ３で表示している所定のリストから、入力部４によって特定データ番号のデータの読み出しの指示を受けると、ステップＳ１２で特定データ番号を基準として、それよりもデータ番号の小さい最寄りのオフセット付のデータ番号を検索し、ステップＳ１３でオフセット付のデータ番号を読み込み、ステップＳ１４においてステップＳ１１で指定されたデータ番号との間のデータ番号の移動量を計算し、ステップＳ１５でデータ番号からデータ位置を特定する。ステップＳ１６で当該データ番号から所定のデータを読み取り、記憶し、必要に応じてディスプレイ３の表示出力とする。
【００２７】
[実施の形態２]
上記実施の形態１の表示では、ディスプレイ３の表示メモリとして使用できる事例で説明したが、本発明を実施する場合には、そのレスポンスを上げることもできる。
図４は本発明の実施の形態２にかかるデータリスト読み書き装置の書き込みのフローチャート、図５は本発明の実施の形態２にかかるデータリスト読み書き装置の読み出しのフローチャートである。
【００２８】
図４のフローチャートは、他のメインプログラムの実行中にコールされるプログラムである。このプログラムは、アプリケーション２によってその用途に特定されたリスト作成の際に使用される。また、ディスプレイ３で全データを表示する表示メモリとしても使用できる。
まず、ステップＳ２１でアプリケーション２によってデータベース1からその用途に特定されたリスト作成用のデータが検索されると、ステップＳ２２でそのデータ数をカウントしてデータ数Ｎを特定する。ステップＳ２３でデータ数Ｎの内の特定のデータを抽出し、特定のデータ番号を付してオフセットなしデータ格納部５に格納する。ステップＳ２４でそのオフセットなしデータ格納部５に格納したデータ番号が指定されたデータ数であるか否かを判断し、例えば、データ間隔が５０個毎とするものであれば、最初の１個目、５１個目、・・・等のデータ番号であるか否かを判断し、所定のデータ数（データ番号）になっていないとき、ステップＳ２６で「−１」インクリメントし、ステップＳ２７でデータ数Ｎがゼロになっていないか、検索データの存在を確認し、データ数Ｎがゼロになっていないとき、ステップＳ２３乃至ステップＳ２７のルーチンを繰り返し実行する。これによって、オフセットなしデータ格納部５にデータがデータ番号と共に順次格納される。
【００２９】
ステップＳ２４でそのオフセットなしデータ格納部５に格納したデータ番号が指定されたデータ数（データ番号）の、例えば、１個、５１個、１０１個、１５１個、２０１個、・・・であるとき、ステップＳ２５で、そのデータ番号と共にオフセットをオフセットテーブル６に書き込む。そして、ステップＳ２７で検索データの存在を確認し、検索データが存在するときには、ステップＳ２３乃至ステップＳ２７を繰り返し実行する。また、ステップＳ２７で検索データが存在しないことが確認されたとき、ステップＳ２８で当該リストの全データのオフセットなしデータ格納部５への書き込みを完了する。
【００３０】
図５のフローチャートも、他のメインプログラムの実行中にコールされるプログラムである。このプログラムは、オフセットなしデータ格納部５から表示している全データのなかから所定のデータを選択する場合に使用される。
ステップＳ３１においてディスプレイ３で表示している所定のリストから、入力部４によって特定データ番号のデータの読み出し指示を受けると、ステップＳ３２で指定されたデータ番号が書き込まれた全データ数Ｎ以下であるか判断し、全データ数Ｎ以下でないとき、訂正されるのを待ち、全データ数Ｎ以下のとき、ステップＳ３３で指定データ番号の番号が所定の閾値位置以上であるか判断する。即ち、データ間隔を５０個毎とするとき、データ番号１、データ番号５１、データ番号１０１、データ番号１５１、データ番号２０１、・・・で、データ番号とオフセットをオフセットテーブル６に記録する。このとき、下２桁が「Ｘ２５以下」または「Ｘ７５以下」のとき、カウントダウンして前のオフセッ
トを選択する方が短距離となる。しかし、「Ｘ２６以上」または「Ｘ７６以上」のときに
は、カウントアップして後のオフセットを選択する方が短距離となる。そこで、ステップＳ３３でレスポンスのよい方を選択する。
【００３１】
更に、ステップＳ３４では、最大のデータ番号に対応する最寄りのオフセットから、オフセットを有する最大のデータ番号を基準に、それ以下の番号の値であるか判断する。即ち、最大のデータ番号の場合には、データ番号をカウントダウンのみでオフセットを有するデータ番号に辿り着くものであるから、データ番号とオフセットが対応するデータ番号の最大を求めてそれ以下であるか、否かを判断し、その後のカウントアップまたはカウントダウンの処理を行うものである。
【００３２】
ステップＳ３３またはステップＳ３４で下２桁が「Ｘ２６以上」または「Ｘ７６以上」
の閾値以上のとき、または、データ番号とオフセットが対応するデータ番号の最大以下のとき、ステップＳ３５でデータ番号の番号をカウントアップし、そして、ステップＳ３６でカウントアップした値を記憶し、ステップＳ３７でオフセット付きのデータ番号に辿り着いたか否かを判断し、オフセット付きのデータ番号に辿り着くまで、ステップＳ３５からステップＳ３７のルーチンの処理を継続する。
【００３３】
ステップＳ３３またはステップＳ３４で下２桁が「Ｘ２５以下」または「Ｘ７５以下」
の閾値以下とき、または、データ番号とオフセットが対応するデータ番号の最大を越えているとき、ステップＳ３８でデータ番号の番号をカウントダウンし、そして、ステップＳ３９でカウントダウンした値を記憶し、ステップＳ４０でオフセット付きのデータ番号に辿り着いたか否かを判断し、オフセット付きのデータ番号に辿り着くまで、ステップＳ３８からステップＳ４０のルーチンの処理を継続する。
【００３４】
ステップＳ３７またはステップＳ４０でオフセット付きのデータ番号に辿り着いたとき、ステップＳ４１でオフセットとデータ番号が対応するデータ番号の読み込みを行い、ステップＳ４２でステップＳ３１で指定されたデータ番号との間のデータ番号の移動量を計算し、ステップＳ４３でデータ番号からデータ位置を特定する。ステップＳ４４で当該データ番号から所定のデータを読み取り、記憶し、必要に応じてディスプレイ３で表示出力とする。
【００３５】
上記実施の形態のデータリスト読み書き装置は、格納されている多数のデータを読み出して、所望のデータを順次書き込み、その書き込んだデータを読み出し自在なデータリストを作成するデータリスト読み書き装置において、複数の各データに対してオフセットを対応させることなく特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成するオフセットなしデータ格納部５と、オフセットなしデータ格納部５の特定位置に格納したデータ番号に対して、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させてなるオフセットテーブル６と、前記オフセットなしデータ格納部にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させてオフセットテーブル６に書き込み、オフセットなしデータ格納部５のデータリストから所望のデータを選択するときには、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算する読み書き部７を具備する。また、必要に応じてディスプレイ３で所定のデータを表示する。
【００３６】
ここで、実施の形態１のオフセットなしデータ格納部５は、ステップＳ１からステップＳ３、ステップＳ５として機能し、複数の各データに対してオフセットを対応させることなく特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成する構成を有している。
また、実施の形態１のオフセットテーブル６は、ステップＳ３及びステップＳ４として作用し、オフセットなしデータ格納部５の特定位置に格納したデータ番号に対して、所定の前記データ番号間隔毎にデータ番号とオフセットを対応させる構成を有している。
【００３７】
そして、実施の形態１の読み書き部７は、ステップＳ１乃至ステップＳ６並びにステップＳ１１乃至ステップＳ１６として機能し、オフセットなしデータ格納部５にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させてオフセットテーブル６に書き込み、オフセットなしデータ格納部５のデータリストから所望のデータを選択するときには、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算するものである。
【００３８】
同様に、実施の形態２のオフセットなしデータ格納部５は、ステップＳ２１からステップＳ２４、ステップＳ２６、ステップＳ２７として機能し、複数の各データに対してオフセットを対応させることなく特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成する構成を有している。
また、実施の形態２のオフセットテーブル６は、ステップＳ２４及びステップＳ２５として作用し、オフセットなしデータ格納部５の特定位置に格納したデータ番号に対して、所定の前記データ番号間隔毎にデータ番号とオフセットを対応させる構成を有するものである。
【００３９】
そして、実施の形態２の読み書き部７は、ステップＳ２１乃至ステップＳ２８並びにステップＳ３１乃至ステップＳ４４として機能し、オフセットなしデータ格納部５にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させてオフセットテーブル６に書き込み、オフセットなしデータ格納部５のデータリストから所望のデータを選択するときには、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算するものである。
【００４０】
このように、上記実施の形態１及び実施の形態２は、アプリケーション２に応じて格納されている多数のデータを読み出して、所望のデータを順次書き込み、読み出し自在な特定のデータリストを作成するデータリスト読み書き装置において、オフセットなしデータ格納部５に複数のデータをオフセットを対応させることなく特定位置に順次格納し、オフセットなしデータ格納部５とリンクするオフセットテーブル６に対して所定のデータ間隔でオフセットを対応させ、特定のデータリストから所望のデータを選択するとき、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットを基に所望のデータ数までデータ数を計算して読み書き部７から所望のデータを読み出すことができる。
したがって、各データにオフセットを対応付ける必要がなくなるから、そのオフセットの情報分のメモリ領域が省略でき、メモリ容量が少なくできる。また、特定のオフセットを基に所望のデータ数までデータ数を計算する場合でも、データの最初を基点に計数するものではないので、その選択速度は、レスポンス低下を意識させる程度のものではなく、殆ど認識できない違和感のないレスポンスである。
【００４１】
上記実施の形態１及び実施の形態２のデータリスト読み書き装置は、データベース１に格納されている多数のデータを読み出して、所望のデータを順次書き込み、読み出し自在なデータリストを作成するデータリスト読み書き装置において、複数の各データに対してオフセットを対応させることなくオフセットなしデータ格納部５の特定位置にデータ番号と共に対応するデータを格納して、所望のデータリストを作成する工程と、オフセットなしデータ格納部５の特定位置に格納したデータ番号に対して、オフセットなしデータ格納部５とは別なオフセットテーブル６を形成し、オフセットテーブル６で所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させる工程とを具備し、前オフセットなしデータ格納部５にオフセットなしのデータをデータ番号と共に順次書き込み、また、所定の前記データ番号間隔毎に前記データ番号とオフセットを対応させてオフセットテーブル６に書き込み、オフセットなしデータ格納部５のデータリストから所望のデータを選択するときには、オフセットテーブル６から最寄りのオフセットを選択し、当該オフセットが付与されたデータ番号を基に所望のデータ数まで計算するデータリスト読み書き方法の発明の実施の形態とすることができる。
【００４２】
上記実施の形態２のように、オフセットテーブル６でオフセットを対応させた所定のデータ番号の間隔は、例えば、下３桁のデータ番号が「００１」、「０５１」、「１０１」、「１５１」、・・・、「９５１」というように、１番目のデータ番号及び所定の奇数間隔のデータ番号毎としたものである。
したがって、特に、ステップＳ３３乃至ステップＳ４０のように、オフセットテーブル６でオフセットを対応させ所定のデータ間隔は、１番目のデータ番号及び所定の奇数間隔のデータ番号毎としたものであるから、データ間隔の間のデータ数が偶数となり、オフセットを対応させた上側のデータ数と下側のデータ数の中間のデータ数が偶数となり、その境界となる中間値がなくなるから、上側のデータ数と下側のデータ数との距離が同じである中間値を如何に扱うかの処理を行う必要がなくなり、それだけレスポンスがよくなる。
【００４３】
上記実施の形態１のように、読み書き部７は、所望のデータ番号の読み出しが指示されたとき、所望のデータ番号から減算し、最寄りのオフセットが付与されたデータ番号を検索するものである。
この種の実施の形態では、オフセットなしデータ格納部５に格納された全データ数が不明であっても、検索でき、オフセットテーブル６でオフセットを対応させる所定のデータ間隔を狭めることによって、レスポンスをよくすることができる。
【００４４】
上記実施の形態２のように、読み書き部７におけるオフセットが付与されたデータ番号を基に所望のデータ数までの計算は、最寄りのオフセットが付与されたデータ番号を基準に所望のデータ番号から加算または減算するものであるから、オフセットテーブル６でオフセットを対応させ所定のデータ間隔を偶数個挟んで設定したものでは、マイクロフィルムプロセッサの処理速度が速く、レスポンス低下を意識させる程度のものではなく、殆ど認識できない良好なレスポンスが得られる。
【００４５】
なお、上記実施の形態におけるオフセットなしデータ格納部５とオフセットテーブル６は、同一領域にデータ番号とデータとを対応させ、更に、所定のデータ番号間隔毎にオフセットを格納する領域として実施することもできる。即ち、本発明を実施する場合のオフセットなしデータ格納部５とオフセットテーブル６は、データ番号を重複表現することができる。
【００４６】
上記実施の形態１及び実施の形態２のデータリスト読み書き装置は、特定のリストを作成し、それを読み出す事例で説明したが、本発明を実施する場合には、このリストは、ナビゲーション装置の目的地を特定する直接、ディスプレイ３で表示させる表示メモリとして使用することができる。
【図面の簡単な説明】
【００４７】
【図１】図１は本発明の実施の形態１にかかるデータリスト読み書き装置を機能表現した全体構成を示すブロック図である。
【図２】図２は本発明の実施の形態１にかかるデータリスト読み書き装置の書き込みのフローチャートである。
【図３】図３は本発明の実施の形態１にかかるデータリスト読み書き装置の読み出しのフローチャートである。
【図４】図４は本発明の実施の形態２にかかるデータリスト読み書き装置の書き込みのフローチャートである。
【図５】図５は本発明の実施の形態２にかかるデータリスト読み書き装置の読み出しのフローチャートである。
【図６】図６（ａ）は従来のデータを記億させたリスト例の概念図、図６（ｂ）は従来のデータを記億させたリスト例を変形した事例の概念図である。
【符号の説明】
【００４８】
１    データベース
２    アプリケーション
３    ディスプレイ
４    入力部
５    オフセットなしデータ格納部
６    オフセットテーブル
７    読み書き部
【図１】
2010108398.tif 000003
【図２】
2010108398.tif 000004
【図３】
2010108398.tif 000005
【図４】
2010108398.tif 000006
【図５】
2010108398.tif 000007
【図６】
2010108398.tif 000008