(57)【要約】【課題】省メモリ機器においても検索結果内を高速に移動する。【解決手段】登録処理部２０１は、メインテーブル２０５に対してデータを登録するとともに、メインテーブル２０５に登録されるデータを所定の間隔毎に取得し、サンプリングテーブル２０６に登録する。検索処理部２０２は、指定された検索条件に適合するデータをメインテーブル２０５から検索する。表示位置移動処理部２０３は、検索条件に適合するデータをサンプリングテーブル２０６から検索してリストを生成する。また表示位置移動処理部２０３は、移動指示によって指定された移動量に対応するリスト内における位置のデータを判断し、検索条件に適合し、且つ、当該判断したデータに対して所定の条件を満たすデータをメインテーブル２０５から取得する。【選択図】図２
2013093671.tif 000002
【特許請求の範囲】
【請求項１】
第１のテーブルに対してデータを登録する第１の登録手段と、
前記第１のテーブルに登録されるデータを所定の間隔毎に取得し、第２のテーブルに登録する第２の登録手段と、
指定された検索条件に適合するデータを前記第１のテーブルから検索する検索手段と、
前記検索手段により検索されたデータに対する移動指示を受け付ける受付手段と、
前記検索条件に適合するデータを前記第２のテーブルから検索してリストを生成する生成手段と、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断手段と、
前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して所定の条件を満たすデータを前記第１のテーブルから取得する取得手段とを有することを特徴とする情報処理装置。
【請求項２】
前記リストが有効であるか否かを判定する判定手段を更に有し、
前記判定手段により前記リストが有効であると判定された場合、前記判断手段は、前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断し、前記取得手段は、前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して前記所定の条件を満たすデータを前記第１のテーブルから取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記リストのデータ数に基づいて、前記リストが有効であるか否かを判定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の登録手段は、前記第１のテーブルに登録されるデータを複数の間隔毎に取得し、前記各間隔に対応する複数の前記第２のテーブルに登録し、前記生成手段は、複数の前記第２のテーブルのうちの一つの前記第２のテーブルから前記検索条件に適合するデータを検索して前記リストを生成し、
前記リストのデータ数に応じて、他の前記第２のテーブルから前記検索条件に適合するデータを検索して前記リストを再生成する再生成手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
情報処理装置によって実行される情報処理方法であって、
第１のテーブルに対してデータを登録する第１の登録ステップと、
前記第１のテーブルに登録されるデータを所定の間隔毎に取得し、第２のテーブルに登録する第２の登録ステップと、
指定された検索条件に適合するデータを前記第１のテーブルから検索する検索ステップと、
前記検索ステップにより検索されたデータに対する移動指示を受け付ける受付ステップと、
前記検索条件に適合するデータを前記第２のテーブルから検索してリストを生成する生成ステップと、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断ステップと、
前記検索条件に適合し、且つ、前記判断ステップにより判断されたデータに対して所定の条件を満たすデータを前記第１のテーブルから取得する取得ステップとを有することを特徴とする情報処理方法。
【請求項６】
第１のテーブルに対してデータを登録する第１の登録ステップと、
前記第１のテーブルに登録されるデータを所定の間隔毎に取得し、第２のテーブルに登録する第２の登録ステップと、
指定された検索条件に適合するデータを前記第１のテーブルから検索する検索ステップと、
前記検索ステップにより検索されたデータに対する移動指示を受け付ける受付ステップと、
前記検索条件に適合するデータを前記第２のテーブルから検索してリストを生成する生成ステップと、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断ステップと、
前記検索条件に適合し、且つ、前記判断ステップにより判断されたデータに対して所定の条件を満たすデータを前記第１のテーブルから取得する取得ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索結果内における移動の高速化を図る技術に関するものである。
【背景技術】
【０００２】
小型機器におけるメモリデバイスとして、フラッシュメモリが一般的に利用されている。近年、このフラッシュメモリの容量の増加が続いており、カメラ等の小型機器においても大量のデータを蓄積することが可能である。
【０００３】
また、認識技術やＧＰＳ（Global Positioning System）等のセンサ情報の利用により、カメラ上でも豊富なメタデータを付与することが可能である。一例としては、事前に登録された顔情報との照合による人物名の付与やＧＰＳ情報利用による撮影場所の地名付与が可能なカメラが存在する。撮影時にメタデータが多数付与されると、カメラにおいてもメタデータを用いた検索機能や閲覧機能の搭載が可能となる。また、フォトフレームのように、画像データを蓄積して閲覧することが目的のデバイスも増えており、小型機器におけるデータの検索や閲覧の機会は増加している。
【０００４】
検索システムが検索結果を表示する際は、検索結果は最新のデータを先頭に、撮影順にソートして表示することが一般的である。従って、大量の検索結果が存在し、一画面内に検索結果の全件を表示できない場合には、ユーザは撮影日時の記憶を頼りに検索結果内を移動する。例えば、５年分の写真の中から、数年前の写真を閲覧したい場合には、ユーザは検索結果の後半部分へ表示を移動する。
【０００５】
しかしながら、小型機器における検索システムでは、検索時には一画面内に表示可能な件数分しか検索結果を取得しないことが一般的である。検索結果が表示枚数分取得できた時点で表示を開始することにより、ユーザに対するレスポンスを向上させているためである。このため、上述したように検索結果内を移動しようとする場合には、表示移動が指示された後に新たに検索結果を取得する必要があり、移動先のデータに到達するまで時間がかかってしまう。メモリ等のリソースが豊富な場合には、検索時に検索結果を全件先読みすることで任意の位置へのアクセスを高速に実現することができるが、小型機器のような省メモリ機器では、リソース制約上、検索結果を全件先読みすることは難しい。
【０００６】
ここで、特許文献１、２には、小型機器におけるデータ表示（再生）位置の高速移動を実現する方式が開示されている。特許文献１に開示される技術は、データを所定の間隔毎にサンプリングしておくことにより、任意の移動先の位置から高速に再生を開始することが可能である。特許文献２に開示される技術は、格納されたデータ内を、データに付与されたＧＰＳ情報に基づいてサンプリングしている。その上で、格納されたデータ内を移動する際には、サンプリングしたデータのみを表示することにより、目的のデータへ到達する時間を短縮することを可能にしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２２１７１４号公報
【特許文献２】特開２００５−３９８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１、２に開示される技術を用いた場合、省メモリ機器においても、離れた位置のデータへの高速アクセスを実現することができる。しかし、これらの従来技術は何れも検索結果内の表示移動を高速化するものではない。検索結果は、ユーザが指定する検索条件によって定まるため、検索結果内を移動するためには、動的に定まる集合内を移動する手段が必要である。
【０００９】
そこで、本発明の目的は、省メモリ機器においても検索結果内を高速に移動することにある。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、第１のテーブルに対してデータを登録する第１の登録手段と、前記第１のテーブルに登録されるデータを所定の間隔毎に取得し、第２のテーブルに登録する第２の登録手段と、指定された検索条件に適合するデータを前記第１のテーブルから検索する検索手段と、前記検索手段により検索されたデータに対する移動指示を受け付ける受付手段と、前記検索条件に適合するデータを前記第２のテーブルから検索してリストを生成する生成手段と、前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断手段と、前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して所定の条件を満たすデータを前記第１のテーブルから取得する取得手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、省メモリ機器においても検索結果内を高速に移動することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るデータ表示装置の構成を示す図である。
【図２】本発明の第１及び第２の実施形態に係るデータ表示装置の機能的な構成を示す図である。
【図３】本発明の第１の実施形態における登録処理部の処理を示すフローチャートである。
【図４】メインテーブルとサンプリングテーブルとの構成を示す図である。
【図５】本発明の第１の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【図６】図５のステップＳ５０２における処理を模式的に示す図である。
【図７】入力部及び出力部を構成するユーザインタフェースの例を示す図である。
【図８】図５のステップＳ５０４の処理を模式的に示す図である。
【図９】図５のステップＳ５０５及びＳ５０６の処理を模式的に示す図である。
【図１０】本発明の第２の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【図１１】本発明の第３の実施形態に係るデータ表示装置の機能的な構成を示す図である。
【図１２】本発明の第３の実施形態における登録処理部の処理を示すフローチャートである。
【図１３】本発明の第３の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１４】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係るデータ表示装置の構成を示す図である。図１において、１０１はＣＰＵであり、後述するＲＯＭに格納されている制御プログラムを実行することにより本装置全体の制御を行う。１０２はＲＯＭであり、ＣＰＵ１０１が実行するプログラムを格納する。ＣＰＵ１０１は、当該プログラムを実行することにより、後述するフローチャートに示す処理を実行するための各種手段として機能する。１０３はＲＡＭであり、各構成要素からの各種データを一時記憶するとともに、ＣＰＵ１０１によって実行されるプログラムを展開する。１０４は外部記憶装置であり、本実施形態の処理対象となるデータを格納する装置である。これらのデータを格納する記憶媒体としては、メモリカード、ＨＤＤ、ＤＶＤ−ＲＡＭ等を用いることができる。１０５は入力部であり、操作ボタン、タッチパネル等で構成され、ユーザからの指示を受け付ける。１０６は出力部であり、液晶パネル等で構成され、本実施形態の処理対象となるデータを表示する。なお、本実施形態では、ＣＰＵ１０１がプログラムを読み込み、実行することにより、後述するフローチャートの各ステップに対応する処理を実現させているが、その処理の一部又は全部を電子回路等のハードウェアで実現させるようにしてもよい。なお、本実施形態に係るデータ表示装置は、情報処理装置の適用例となる構成である。
【００１５】
図２は、本実施形態に係るデータ表示装置の機能的な構成を示す図である。但し、図２における入力部１０５及び出力部１０６は、図１における同一符号のものと同じ構成である。図２において、２０１は登録処理部であり、新たなデータの登録が指示された際に、後述のデータベースにデータを格納する。２０２は検索処理部であり、ユーザによって指定された検索条件による検索をデータベースに対して行う。２０４はデータベースであり、処理対象となるデータを格納しており、メインテーブル２０５及びサンプリングテーブル２０６で構成される。データベース２０４に格納するデータの一例として画像データが挙げられる。２０３は表示位置移動処理部であり、後述する検索結果サンプリングリスト２０７を用いてユーザからの移動指示に応じた移動先データを推定し、推定した移動先データを出力部１０６に表示させる。上述した登録処理部２０１、検索処理部２０２及び表示位置移動処理部２０３は、ＣＰＵ１０１がＲＯＭ１０２に格納される必要なプログラムをＲＡＭ１０３に展開し、実行することにより実現する機能的な構成である。なお、メインテーブル２０５は第１のテーブルの例であり、サンプリングテーブル２０６は第２のテーブルの例である。
【００１６】
図３は、登録処理部２０１の処理を示すフローチャートである。以下、図３を参照しながら、登録処理部２０１の処理について説明する。ステップＳ３０１において、登録処理部２０１は、ユーザからデータの登録が指示されたか否かを判定する。データの登録が指示された場合、処理はステップＳ３０２に移行する。一方、データの登録が指示されていない場合、処理はステップＳ３０１に戻る。ステップＳ３０２において、登録処理部２０１は、メインテーブル２０５に対するデータの登録を実行する。ステップＳ３０３において、登録処理部２０１は、今回登録したデータが、前回サンプリングテーブル２０６に登録したデータから何件目のデータに相当するかを算出する。ステップＳ３０４において、登録処理部２０１は、ステップＳ３０３で算出した件数（何件目のデータか）に基づいて、サンプリングテーブル２０６にデータを登録するか否かを判定する。即ち、登録処理部２０１は、ステップＳ３０３で算出した件数が事前に設定された閾値以上であるか否かを判定する。ステップＳ３０３で算出された件数が事前に設定された閾値以上である場合、処理はステップＳ３０５に移行する。一方、ステップＳ３０３で算出された件数が事前に設定された閾値未満である場合、処理はステップＳ３０１に戻る。ステップＳ３０５において、登録処理部２０１は、サンプリングテーブル２０６にデータを登録することにより、サンプリングデータの生成を実行する。なお、ステップＳ３０２は第１の登録手段の処理例であり、ステップＳ３０５は第２の登録手段の処理例である。
【００１７】
図４（Ａ）は、メインテーブル２０５の一例を示す図である。メインテーブル２０５においては、メタデータとして、一意なＩＤ４０１、撮影日時４０２、イベント名４０３及び撮影場所４０４が記録されている。
【００１８】
図４（Ｂ）は、図４（Ａ）に示すメインテーブル２０５に対応するサンプリングテーブル２０６の一例を示す図である。図４（Ｂ）に示すように、サンプリングテーブル２０６においては、メインテーブル２０５から所定の間隔毎（ここでは５件毎）に１件のデータがサンプリングテーブル２０６に格納されることにより、サンプリングデータが生成されている。即ち、図４（Ｂ）に示すサンプリングテーブル２０６は、ステップＳ３０４における閾値が５である場合の例を示している。
【００１９】
次に、図５に示すフローチャートを参照しながら、検索処理部２０２及び表示位置移動処理部２０３の処理について説明する。なお、検索処理部２０２及び表示位置移動処理部２０３は、ユーザが入力部１０５を介してデータの検索や再生を指示した場合に処理を実行する。
【００２０】
ステップＳ５０１において、検索処理部２０２は、ユーザからデータの検索が指示されたか否かを判定する。ユーザからデータの検索が指示された場合、処理はステップＳ５０２に移行する。一方、ユーザからデータの検索が指示されていない場合、処理はステップＳ５０１に戻る。ステップＳ５０２において、検索処理部２０２は、ユーザによって指定された検索条件に適合するデータを検索し、その検索結果を出力部１０６において表示させる。即ち、検索処理部２０２は、データベース２０４内のメインテーブル２０５に対してデータの検索を実行し、出力部１０６上に表示可能な件数分の検索結果を取得した時点で表示を行う。
【００２１】
図６は、図５のステップＳ５０２における処理を模式的に示す図である。検索処理部２０２は、メインテーブル２０５から検索条件に適合するデータを検索し、出力部１０６上に表示可能な件数分の検索結果を取得した時点で、当該検索結果を出力部１０６において表示させる。
【００２２】
図７（Ａ）は、入力部１０５及び出力部１０６を構成するユーザインタフェースの例を示している。十字キー７０１及び回転ダイヤル７０２は入力部１０５を構成し、表示領域７０３は出力部１０６を構成する。表示領域７０３は、メインテーブル２０５に格納されるデータ及び操作メニューを表示する領域である。ユーザは十字キー７０１又は回転ダイヤル７０２を操作することにより、本データ表示装置に対して指示を与えることができる。指示内容には、検索条件の指定及び表示領域７０３に表示されているデータ一覧内の表示位置の指定等が含まれる。
【００２３】
図７（Ｂ）は、ユーザが検索条件を指定した状態の検索画面を示している。ユーザは、十字キー７０１又は回転ダイヤル７０２を操作することにより、検索条件候補７０４から所望の検索条件を指定することができる。図７（Ｂ）の例は、イベント名を用いた検索画面を示しており、検索条件候補７０４として「旅行」、「運動会」、「遠足」、「誕生日」が表示されている。ここでは、イベント名が「運動会」であるデータの検索が検索条件として指定されている。
【００２４】
図７（Ｃ）は、図７（Ｂ）に示す検索画面において指定された検索条件「運動会」による検索結果を表示した状態を示している。即ち、図７（Ｃ）の表示領域７０３には、イベント名が「運動会」であるデータが表示されている。また、図７（Ｃ）の表示領域７０３には、スクロールバー７０５が表示され、検索結果内における現在の表示位置を知ることができる。
【００２５】
ステップＳ５０３において、表示位置移動処理部２０３は、ユーザから表示位置の移動が指示されたか否かを判定する。ユーザから表示位置の移動が指示された場合、処理はステップＳ５０４に移行する。一方、ユーザから表示位置の移動が指示されていない場合、処理はステップＳ５０３に戻る。ステップＳ５０４において、表示位置移動処理部２０３は、検索結果サンプリングリスト２０７の生成処理を実行する。
【００２６】
図８は、図５のステップＳ５０４の処理を模式的に示す図である。ステップＳ５０４において、表示位置移動処理部２０３は、サンプリングテーブル２０６に対し、ユーザによって指定された検索条件を用いてデータ検索を実行する。本ステップでは、ステップＳ５０２におけるメインテーブル２０５に対するデータ検索とは異なり、サンプリングテーブル２０６から検索結果を全件取得するまで処理が続けられる。図８に示すように、サンプリングテーブル２０６は、メインテーブル２０５から５件毎に１件のデータが格納されたものであるため、メインテーブル２０５に比べて小規模である。従って、サンプリングテーブル２０６から検索結果を全件取得する時間も短時間になる。本ステップで得られた検索結果は、検索結果サンプリングリスト２０７として保持される。
【００２７】
図７（Ｄ）は、ユーザが検索結果内の表示位置の移動を指示している状態を示している。ユーザは、十字キー７０１又は回転ダイヤル７０２を操作することにより、スクロールバー７０５を移動させ、表示位置の移動を指示することができる。スクロールバー７０５をスクロール領域７０６中の何％の位置に移動させたかによって、移動先の表示位置を指定することができる。図７（Ｄ）の例では、検索結果内の７０％の位置が移動先の表示位置として指定されている。
【００２８】
ステップＳ５０５において、表示位置移動処理部２０３は、移動先データを推定する。図９は、図５のステップＳ５０５及びＳ５０６の処理を模式的に示す図である。本ステップでは、検索結果全体に対する割合として指定された移動量を、検索結果サンプリングリスト２０７に対する割合として置き換えることにより、移動先データを推定する。例えば、図９に示すように、検索結果サンプリングリスト２０７のデータ数が１０個のときは、検索結果内の７０％の位置に移動するという処理を、検索結果サンプリングリスト２０７の７番目のデータへ移動するという処理に置き換える。つまり、表示位置移動処理部２０３は、検索結果サンプリングリスト２０７内において指定された割合分移動した位置のデータを、移動先データとして判断する。
【００２９】
本方式は、データに付与されているメタデータの値がある程度連続して出現する確率が高いという前提に基づいている。例えば、対象データが写真データである場合を考えると、一般的にユーザは１回のイベントで複数枚の写真を撮影している。このため、１回のイベントにおいて同一の値が付与されるメタデータ（撮影場所名、イベント名等）は一定枚数連続して出現する。
【００３０】
メタデータの連続性が高い場合、検索条件に適合したサンプリングデータの近辺には、一定数の検索結果が存在している可能性が高い。一方で、検索条件に適合しなかったサンプリングデータの近辺には、検索結果が存在している可能性は低い。従って、検索結果は、検索結果サンプリングリスト２０７内のデータを中心に分布しており、検索結果サンプリングリスト２０７内の各データは、検索結果内でほぼ均等に散らばっているとみなすことができる。
【００３１】
ステップＳ５０６において、表示位置移動処理部２０３は、ステップＳ５０５で推定した移動先データを取得し、出力部１０６に表示させる。図９に示すように、本ステップでは、表示位置移動処理部２０３は、メインテーブル２０５において、ユーザが指定した検索条件に適合し、且つステップＳ５０５で推定した移動先データより後方のデータを検索する。図７（Ｅ）は、ステップＳ５０６の処理が終了した後の状態を示している。表示領域７０３上には、推定された移動先データより後方の検索結果が表示されている。
【００３２】
本実施形態によれば、検索結果内の表示位置の移動が指示された場合、移動先データを高速に表示することができる。これにより、表示位置を大幅に移動する操作に対しても高速に移動先データを表示することができるため、目的のデータを表示するまでの必要操作回数を減らすことができる。
【００３３】
また、省メモリ環境にも適用可能なため、カメラ等の小型機器における検索機能を強化することができる。本実施形態を写真の閲覧に適用した場合には、イベント名を用いた検索で写真を絞り込んだ後に、イベント内の目的のシーンの写真まで高速に表示を移動することができる。
【００３４】
次に、本発明の第２の実施形態について説明する。第２の実施形態に係るデータ表示装置は、図２に示した第１の実施形態に係るデータ表示装置の構成と同様である。従って、第２の実施形態においても図２に示した符号を用いて説明を行うものとする。
【００３５】
第２の実施形態においては、第１の実施形態と同様に、検索結果サンプリングリスト２０７内から移動先データを推定する。但し、第２の実施形態では、検索結果サンプリングリスト２０７のデータ数に基づいて、検索結果サンプリングリスト２０７が移動先データを推定するために有効であるか否かを判定する。これにより、検索結果サンプリングリスト２０７のデータ数が少ない場合に移動先データの推定精度が劣化してしまうことを回避することができる。
【００３６】
図１０は、第２の実施形態における検索処理部２０２及び表示位置移動処理部２０３の処理を示すフローチャートである。なお、図１０のステップＳ１００１〜Ｓ１００４は、図５のステップＳ５０１〜Ｓ５０４と同様の処理であるため、説明は省略する。
【００３７】
ステップＳ１００５において、表示位置移動処理部２０３は、検索結果サンプリングリスト２０７のデータ数が事前に設定した閾値以上であるか否かを判定基準として、検索結果サンプリングリスト２０７が有効であるか否かを判定する。検索結果サンプリングリスト２０７のデータ数が閾値以上である場合、処理はステップＳ１００６に移行する。一方、データ数が閾値未満である場合、処理はステップＳ１００８に移行する。ステップＳ１００６において、表示位置移動処理部２０３は、図５のステップＳ５０５と同様に、検索結果サンプリングリスト２０７を用いて移動先データを推定する。ステップＳ１００７において、表示位置移動処理部２０３は、図５のステップＳ５０６と同様に、ステップＳ１００６において推定した移動先データを取得し、出力部１０６に表示させる。
【００３８】
ステップＳ１００８において、表示位置移動処理部２０３は、メインテーブル２０５に対してデータの検索を実行し、検索結果を全件取得する。検索結果サンプリングリスト２０７のデータ数が閾値未満である場合、検索結果数が少ない可能性が高いため、検索結果を全件取得しても大幅に計算時間が増加することはない。
【００３９】
ステップＳ１００９において、表示位置移動処理部２０３は、検索結果全体に対する割合として指定された移動量とステップＳ１００８における検索結果数とから移動件数を算出する。即ち、上記移動量は検索結果全体に対する割合として指定されているので、ステップＳ１００８における検索結果件数に対して上記移動量を乗算することにより移動件数を算出することができる。
【００４０】
ステップＳ１０１０において、表示位置移動処理部２０３は、移動先データを取得する。即ち、表示位置移動処理部２０３は、ステップＳ１００８で取得した検索結果内を、ステップＳ１００９で算出した移動件数分移動することにより、移動先データを取得する。
【００４１】
本実施形態においては、検索結果サンプリングリスト２０７のデータ数に基づいて、検索結果サンプリングリスト２０７が有効であるか否かを判定している。検索結果サンプリングリスト２０７が移動先データを推定するために有効でない場合、検索結果を全件取得することで正確な移動先データに移動することができる。このため、移動先データの推定精度を高めることができ、より目的のデータの近くに移動することができる。
【００４２】
次に、本発明の第３の実施形態について説明する。検索結果サンプリングリスト２０７のデータ数が少ない場合には、一つの解決策として、サンプリング間隔を狭めることにより、検索結果サンプリングリスト２０７のデータ数を増やし、移動先データの推定精度を上げることが考えられる。しかしながら、サンプリング間隔を狭めることは、検索結果サンプリングリスト２０７の生成時間の増加を意味する。そこで、第３の実施形態では、サンプリング間隔を複数用意することにより、検索結果の規模に応じたサンプリング間隔の適用を可能としている。
【００４３】
図１１は、第３の実施形態に係るデータ表示装置の機能的な構成を示す図である。なお、また図１１は、図２に示した構成と同様のものについては図２と同一符号を付している。但し、第３の実施形態におけるデータベース２０４は、メインテーブル２０５、サンプリングテーブルＡ１１０１及びサンプリングテーブルＢ１１０２から構成される。
【００４４】
図１２は、第３の実施形態における登録処理部２０１の処理を示すフローチャートである。ステップＳ１２０１において、登録処理部２０１は、ユーザからデータの登録が指示されたか否かを判定する。ユーザからデータの登録が指示された場合、処理はステップＳ１２０２に移行する。一方、ユーザからデータの登録が指示されていない場合、処理はステップＳ１２０１に戻る。
【００４５】
ステップＳ１２０２において、登録処理部２０１は、データをメインテーブル２０５に登録する。ステップＳ１２０３において、登録処理部２０１は、今回登録したデータが、前回サンプリングテーブルＡ１１０１に登録したデータから何件目のデータに相当するかを算出する。ステップＳ１２０４において、登録処理部２０１は、ステップＳ１２０３で算出した件数（何件目のデータか）に基づいて、データをサンプリングテーブルＡ１１０１に登録するか否かを判定する。即ち、登録処理部２０１は、ステップＳ１２０３で算出した件数が事前に設定された第１の閾値以上であるか否かを判定する。ステップＳ１２０３で算出された件数が第１の閾値以上である場合、処理はステップＳ１２０５に移行する。一方、ステップＳ１２０３で算出された件数が第１の閾値未満である場合、処理はステップＳ１２０５をスキップしてステップＳ１２０６に移行する。
【００４６】
ステップＳ１２０５において、登録処理部２０１は、データをサンプリングテーブルＡ１１０１に登録する。ステップＳ１２０６において、登録処理部２０１は、今回のデータが、前回サンプリングテーブルＢ１１０２に登録したデータから何件目のデータに相当するかを算出する。ステップＳ１２０７において、登録処理部２０１は、ステップＳ１２０６で算出した件数（何件目のデータか）に基づいて、データをサンプリングテーブルＢ１１０２に登録するか否かを判定する。即ち、登録処理部２０１は、ステップＳ１２０６で算出した件数が事前に設定された第２の閾値以上であるか否かを判定する。ステップＳ１２０６で算出された件数が事前に設定された第２の閾値以上である場合、処理はステップＳ１２０８に移行する。一方、ステップＳ１２０６で算出された件数が事前に設定された第２の閾値未満である場合、処理はステップＳ１２０１に戻る。ステップＳ１２０８において、登録処理部２０１は、サンプリングテーブルＢ１１０２にデータを登録する。なお、本実施形態では、第１の閾値は第２の閾値より大きい値であるものとする。従って、サンプリングテーブルＡ１１０１に登録されるサンプリングデータの数より、サンプリングテーブルＢ１１０２に登録されるサンプリングデータの数の方が多くなる。
【００４７】
図１３は、第３の実施形態における検索処理部２０２及び表示位置移動処理部２０３の処理を示すフローチャートである。
【００４８】
ステップＳ１３０１において、検索処理部２０２は、ユーザからデータの検索が指示されたか否かを判定する。ユーザからデータの検索が指示された場合、処理はステップＳ１３０２に移行する。一方、ユーザからデータの検索が指示されていない場合、処理はステップＳ１３０１に戻る。ステップＳ１３０２において、検索処理部２０２は、ユーザによって指定された検索条件に適合するデータを検索し、その検索結果を出力部１０６において表示させる。即ち、検索処理部２０２は、データベース２０４内のメインテーブル２０５に対してデータの検索を実行し、出力部１０６上に表示可能な件数分の検索結果を取得した時点で表示を行う。
【００４９】
ステップＳ１３０３において、表示位置移動処理部２０３は、ユーザから表示位置の移動が指示されたか否かを判定する。ユーザから表示位置の移動が指示された場合、処理はステップＳ１３０４に移行する。一方、ユーザから表示位置の移動が指示されていない場合、処理はステップＳ１３０３に戻る。
【００５０】
ステップＳ１３０４において、表示位置移動処理部２０３は、検索結果サンプリングリスト２０７を生成する。即ち、表示位置移動処理部２０３は、サンプリングテーブルＡ１１０１に対し、ユーザによって指定された検索条件による検索を実行する。本ステップで得られた検索結果は、検索結果サンプリングリスト２０７として保持される。
【００５１】
ステップＳ１３０５において、表示位置移動処理部２０３は、ステップＳ１３０４で生成した検索結果サンプリングリスト２０７のデータ数が、事前に設定された閾値以上であるか否かを判定する。検索結果サンプリングリスト２０７のデータ数が事前に設定された閾値未満である場合、処理はステップＳ１３０８に移行する。一方、検索結果サンプリングリスト２０７のデータ数が事前に設定された閾値以上である場合、処理はステップＳ１３０８をスキップしてステップＳ１３０６に移行する。
【００５２】
ステップＳ１３０８において、表示位置移動処理部２０３は、検索結果サンプリングリスト２０７を再生成する。即ち、表示位置移動処理部２０３は、サンプリングテーブルＢ１１０２に対し、ユーザによって指定された検索条件による検索を実行し、取得した検索結果で検索結果サンプリングリスト２０７を更新する。サンプリングテーブルＢ１１０２は、サンプリングテーブルＡ１１０１より狭い間隔でサンプリングしたデータを格納している。そのため、ステップＳ１３０８にて生成された検索結果サンプリングリスト２０７のデータ数は、ステップＳ１３０４にて生成された検索結果サンプリングリスト２０７のデータ数より増加している。
【００５３】
ステップＳ１３０６において、表示位置移動処理部２０３は、図５のステップＳ５０５と同様に移動先データを推定する。ステップＳ１３０７において、表示位置移動処理部２０３は、図５のステップＳ５０６と同様に、ステップＳ１３０６で推定した移動先データを取得し、出力部１０６に表示させる。
【００５４】
本実施形態においては、サンプリングテーブルＡ１１０１から生成された検索結果サンプリングリスト２０７のデータ数に応じて、検索結果サンプリングリスト２０７を再生成する。これにより、検索結果の規模に応じて、適切なサンプリング間隔のサンプリングデータを利用することができるため、処理速度を落とさずに移動先データの推定精度を高めることができる。
【００５５】
なお、本実施形態では、サンプリングテーブルの数を２つとしたが、３つ以上のサンプリングテーブルを用いることも可能である。３つ以上のサンプリングテーブルを用いることにより、適用するサンプリング間隔の選択肢を増やすことができるため、より移動先データの推定精度を高めることが可能である。
【００５６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５７】
２０１：登録処理部、２０２：検索処理部、２０３：表示位置移動処理部、２０４：データベース、２０５：メインテーブル、２０６：サンプリングテーブル
【図１】
2013093671.tif 000003
【図２】
2013093671.tif 000004
【図３】
2013093671.tif 000005
【図４】
2013093671.tif 000006
【図５】
2013093671.tif 000007
【図６】
2013093671.tif 000008
【図７】
2013093671.tif 000009
【図８】
2013093671.tif 000010
【図９】
2013093671.tif 000011
【図１０】
2013093671.tif 000012
【図１１】
2013093671.tif 000013
【図１２】
2013093671.tif 000014
【図１３】
2013093671.tif 000015