情報処理装置、情報処理方法及びプログラム
【課題】省メモリ機器においても検索結果内を高速に移動する。
【解決手段】登録処理部201は、メインテーブル205に対してデータを登録するとともに、メインテーブル205に登録されるデータを所定の間隔毎に取得し、サンプリングテーブル206に登録する。検索処理部202は、指定された検索条件に適合するデータをメインテーブル205から検索する。表示位置移動処理部203は、検索条件に適合するデータをサンプリングテーブル206から検索してリストを生成する。また表示位置移動処理部203は、移動指示によって指定された移動量に対応するリスト内における位置のデータを判断し、検索条件に適合し、且つ、当該判断したデータに対して所定の条件を満たすデータをメインテーブル205から取得する。
【解決手段】登録処理部201は、メインテーブル205に対してデータを登録するとともに、メインテーブル205に登録されるデータを所定の間隔毎に取得し、サンプリングテーブル206に登録する。検索処理部202は、指定された検索条件に適合するデータをメインテーブル205から検索する。表示位置移動処理部203は、検索条件に適合するデータをサンプリングテーブル206から検索してリストを生成する。また表示位置移動処理部203は、移動指示によって指定された移動量に対応するリスト内における位置のデータを判断し、検索条件に適合し、且つ、当該判断したデータに対して所定の条件を満たすデータをメインテーブル205から取得する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索結果内における移動の高速化を図る技術に関するものである。
【背景技術】
【0002】
小型機器におけるメモリデバイスとして、フラッシュメモリが一般的に利用されている。近年、このフラッシュメモリの容量の増加が続いており、カメラ等の小型機器においても大量のデータを蓄積することが可能である。
【0003】
また、認識技術やGPS(Global Positioning System)等のセンサ情報の利用により、カメラ上でも豊富なメタデータを付与することが可能である。一例としては、事前に登録された顔情報との照合による人物名の付与やGPS情報利用による撮影場所の地名付与が可能なカメラが存在する。撮影時にメタデータが多数付与されると、カメラにおいてもメタデータを用いた検索機能や閲覧機能の搭載が可能となる。また、フォトフレームのように、画像データを蓄積して閲覧することが目的のデバイスも増えており、小型機器におけるデータの検索や閲覧の機会は増加している。
【0004】
検索システムが検索結果を表示する際は、検索結果は最新のデータを先頭に、撮影順にソートして表示することが一般的である。従って、大量の検索結果が存在し、一画面内に検索結果の全件を表示できない場合には、ユーザは撮影日時の記憶を頼りに検索結果内を移動する。例えば、5年分の写真の中から、数年前の写真を閲覧したい場合には、ユーザは検索結果の後半部分へ表示を移動する。
【0005】
しかしながら、小型機器における検索システムでは、検索時には一画面内に表示可能な件数分しか検索結果を取得しないことが一般的である。検索結果が表示枚数分取得できた時点で表示を開始することにより、ユーザに対するレスポンスを向上させているためである。このため、上述したように検索結果内を移動しようとする場合には、表示移動が指示された後に新たに検索結果を取得する必要があり、移動先のデータに到達するまで時間がかかってしまう。メモリ等のリソースが豊富な場合には、検索時に検索結果を全件先読みすることで任意の位置へのアクセスを高速に実現することができるが、小型機器のような省メモリ機器では、リソース制約上、検索結果を全件先読みすることは難しい。
【0006】
ここで、特許文献1、2には、小型機器におけるデータ表示(再生)位置の高速移動を実現する方式が開示されている。特許文献1に開示される技術は、データを所定の間隔毎にサンプリングしておくことにより、任意の移動先の位置から高速に再生を開始することが可能である。特許文献2に開示される技術は、格納されたデータ内を、データに付与されたGPS情報に基づいてサンプリングしている。その上で、格納されたデータ内を移動する際には、サンプリングしたデータのみを表示することにより、目的のデータへ到達する時間を短縮することを可能にしている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−221714号公報
【特許文献2】特開2005−39858号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1、2に開示される技術を用いた場合、省メモリ機器においても、離れた位置のデータへの高速アクセスを実現することができる。しかし、これらの従来技術は何れも検索結果内の表示移動を高速化するものではない。検索結果は、ユーザが指定する検索条件によって定まるため、検索結果内を移動するためには、動的に定まる集合内を移動する手段が必要である。
【0009】
そこで、本発明の目的は、省メモリ機器においても検索結果内を高速に移動することにある。
【課題を解決するための手段】
【0010】
本発明の情報処理装置は、第1のテーブルに対してデータを登録する第1の登録手段と、前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録手段と、指定された検索条件に適合するデータを前記第1のテーブルから検索する検索手段と、前記検索手段により検索されたデータに対する移動指示を受け付ける受付手段と、前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成手段と、前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断手段と、前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得手段とを有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、省メモリ機器においても検索結果内を高速に移動することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係るデータ表示装置の構成を示す図である。
【図2】本発明の第1及び第2の実施形態に係るデータ表示装置の機能的な構成を示す図である。
【図3】本発明の第1の実施形態における登録処理部の処理を示すフローチャートである。
【図4】メインテーブルとサンプリングテーブルとの構成を示す図である。
【図5】本発明の第1の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【図6】図5のステップS502における処理を模式的に示す図である。
【図7】入力部及び出力部を構成するユーザインタフェースの例を示す図である。
【図8】図5のステップS504の処理を模式的に示す図である。
【図9】図5のステップS505及びS506の処理を模式的に示す図である。
【図10】本発明の第2の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【図11】本発明の第3の実施形態に係るデータ表示装置の機能的な構成を示す図である。
【図12】本発明の第3の実施形態における登録処理部の処理を示すフローチャートである。
【図13】本発明の第3の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0014】
先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係るデータ表示装置の構成を示す図である。図1において、101はCPUであり、後述するROMに格納されている制御プログラムを実行することにより本装置全体の制御を行う。102はROMであり、CPU101が実行するプログラムを格納する。CPU101は、当該プログラムを実行することにより、後述するフローチャートに示す処理を実行するための各種手段として機能する。103はRAMであり、各構成要素からの各種データを一時記憶するとともに、CPU101によって実行されるプログラムを展開する。104は外部記憶装置であり、本実施形態の処理対象となるデータを格納する装置である。これらのデータを格納する記憶媒体としては、メモリカード、HDD、DVD−RAM等を用いることができる。105は入力部であり、操作ボタン、タッチパネル等で構成され、ユーザからの指示を受け付ける。106は出力部であり、液晶パネル等で構成され、本実施形態の処理対象となるデータを表示する。なお、本実施形態では、CPU101がプログラムを読み込み、実行することにより、後述するフローチャートの各ステップに対応する処理を実現させているが、その処理の一部又は全部を電子回路等のハードウェアで実現させるようにしてもよい。なお、本実施形態に係るデータ表示装置は、情報処理装置の適用例となる構成である。
【0015】
図2は、本実施形態に係るデータ表示装置の機能的な構成を示す図である。但し、図2における入力部105及び出力部106は、図1における同一符号のものと同じ構成である。図2において、201は登録処理部であり、新たなデータの登録が指示された際に、後述のデータベースにデータを格納する。202は検索処理部であり、ユーザによって指定された検索条件による検索をデータベースに対して行う。204はデータベースであり、処理対象となるデータを格納しており、メインテーブル205及びサンプリングテーブル206で構成される。データベース204に格納するデータの一例として画像データが挙げられる。203は表示位置移動処理部であり、後述する検索結果サンプリングリスト207を用いてユーザからの移動指示に応じた移動先データを推定し、推定した移動先データを出力部106に表示させる。上述した登録処理部201、検索処理部202及び表示位置移動処理部203は、CPU101がROM102に格納される必要なプログラムをRAM103に展開し、実行することにより実現する機能的な構成である。なお、メインテーブル205は第1のテーブルの例であり、サンプリングテーブル206は第2のテーブルの例である。
【0016】
図3は、登録処理部201の処理を示すフローチャートである。以下、図3を参照しながら、登録処理部201の処理について説明する。ステップS301において、登録処理部201は、ユーザからデータの登録が指示されたか否かを判定する。データの登録が指示された場合、処理はステップS302に移行する。一方、データの登録が指示されていない場合、処理はステップS301に戻る。ステップS302において、登録処理部201は、メインテーブル205に対するデータの登録を実行する。ステップS303において、登録処理部201は、今回登録したデータが、前回サンプリングテーブル206に登録したデータから何件目のデータに相当するかを算出する。ステップS304において、登録処理部201は、ステップS303で算出した件数(何件目のデータか)に基づいて、サンプリングテーブル206にデータを登録するか否かを判定する。即ち、登録処理部201は、ステップS303で算出した件数が事前に設定された閾値以上であるか否かを判定する。ステップS303で算出された件数が事前に設定された閾値以上である場合、処理はステップS305に移行する。一方、ステップS303で算出された件数が事前に設定された閾値未満である場合、処理はステップS301に戻る。ステップS305において、登録処理部201は、サンプリングテーブル206にデータを登録することにより、サンプリングデータの生成を実行する。なお、ステップS302は第1の登録手段の処理例であり、ステップS305は第2の登録手段の処理例である。
【0017】
図4(A)は、メインテーブル205の一例を示す図である。メインテーブル205においては、メタデータとして、一意なID401、撮影日時402、イベント名403及び撮影場所404が記録されている。
【0018】
図4(B)は、図4(A)に示すメインテーブル205に対応するサンプリングテーブル206の一例を示す図である。図4(B)に示すように、サンプリングテーブル206においては、メインテーブル205から所定の間隔毎(ここでは5件毎)に1件のデータがサンプリングテーブル206に格納されることにより、サンプリングデータが生成されている。即ち、図4(B)に示すサンプリングテーブル206は、ステップS304における閾値が5である場合の例を示している。
【0019】
次に、図5に示すフローチャートを参照しながら、検索処理部202及び表示位置移動処理部203の処理について説明する。なお、検索処理部202及び表示位置移動処理部203は、ユーザが入力部105を介してデータの検索や再生を指示した場合に処理を実行する。
【0020】
ステップS501において、検索処理部202は、ユーザからデータの検索が指示されたか否かを判定する。ユーザからデータの検索が指示された場合、処理はステップS502に移行する。一方、ユーザからデータの検索が指示されていない場合、処理はステップS501に戻る。ステップS502において、検索処理部202は、ユーザによって指定された検索条件に適合するデータを検索し、その検索結果を出力部106において表示させる。即ち、検索処理部202は、データベース204内のメインテーブル205に対してデータの検索を実行し、出力部106上に表示可能な件数分の検索結果を取得した時点で表示を行う。
【0021】
図6は、図5のステップS502における処理を模式的に示す図である。検索処理部202は、メインテーブル205から検索条件に適合するデータを検索し、出力部106上に表示可能な件数分の検索結果を取得した時点で、当該検索結果を出力部106において表示させる。
【0022】
図7(A)は、入力部105及び出力部106を構成するユーザインタフェースの例を示している。十字キー701及び回転ダイヤル702は入力部105を構成し、表示領域703は出力部106を構成する。表示領域703は、メインテーブル205に格納されるデータ及び操作メニューを表示する領域である。ユーザは十字キー701又は回転ダイヤル702を操作することにより、本データ表示装置に対して指示を与えることができる。指示内容には、検索条件の指定及び表示領域703に表示されているデータ一覧内の表示位置の指定等が含まれる。
【0023】
図7(B)は、ユーザが検索条件を指定した状態の検索画面を示している。ユーザは、十字キー701又は回転ダイヤル702を操作することにより、検索条件候補704から所望の検索条件を指定することができる。図7(B)の例は、イベント名を用いた検索画面を示しており、検索条件候補704として「旅行」、「運動会」、「遠足」、「誕生日」が表示されている。ここでは、イベント名が「運動会」であるデータの検索が検索条件として指定されている。
【0024】
図7(C)は、図7(B)に示す検索画面において指定された検索条件「運動会」による検索結果を表示した状態を示している。即ち、図7(C)の表示領域703には、イベント名が「運動会」であるデータが表示されている。また、図7(C)の表示領域703には、スクロールバー705が表示され、検索結果内における現在の表示位置を知ることができる。
【0025】
ステップS503において、表示位置移動処理部203は、ユーザから表示位置の移動が指示されたか否かを判定する。ユーザから表示位置の移動が指示された場合、処理はステップS504に移行する。一方、ユーザから表示位置の移動が指示されていない場合、処理はステップS503に戻る。ステップS504において、表示位置移動処理部203は、検索結果サンプリングリスト207の生成処理を実行する。
【0026】
図8は、図5のステップS504の処理を模式的に示す図である。ステップS504において、表示位置移動処理部203は、サンプリングテーブル206に対し、ユーザによって指定された検索条件を用いてデータ検索を実行する。本ステップでは、ステップS502におけるメインテーブル205に対するデータ検索とは異なり、サンプリングテーブル206から検索結果を全件取得するまで処理が続けられる。図8に示すように、サンプリングテーブル206は、メインテーブル205から5件毎に1件のデータが格納されたものであるため、メインテーブル205に比べて小規模である。従って、サンプリングテーブル206から検索結果を全件取得する時間も短時間になる。本ステップで得られた検索結果は、検索結果サンプリングリスト207として保持される。
【0027】
図7(D)は、ユーザが検索結果内の表示位置の移動を指示している状態を示している。ユーザは、十字キー701又は回転ダイヤル702を操作することにより、スクロールバー705を移動させ、表示位置の移動を指示することができる。スクロールバー705をスクロール領域706中の何%の位置に移動させたかによって、移動先の表示位置を指定することができる。図7(D)の例では、検索結果内の70%の位置が移動先の表示位置として指定されている。
【0028】
ステップS505において、表示位置移動処理部203は、移動先データを推定する。図9は、図5のステップS505及びS506の処理を模式的に示す図である。本ステップでは、検索結果全体に対する割合として指定された移動量を、検索結果サンプリングリスト207に対する割合として置き換えることにより、移動先データを推定する。例えば、図9に示すように、検索結果サンプリングリスト207のデータ数が10個のときは、検索結果内の70%の位置に移動するという処理を、検索結果サンプリングリスト207の7番目のデータへ移動するという処理に置き換える。つまり、表示位置移動処理部203は、検索結果サンプリングリスト207内において指定された割合分移動した位置のデータを、移動先データとして判断する。
【0029】
本方式は、データに付与されているメタデータの値がある程度連続して出現する確率が高いという前提に基づいている。例えば、対象データが写真データである場合を考えると、一般的にユーザは1回のイベントで複数枚の写真を撮影している。このため、1回のイベントにおいて同一の値が付与されるメタデータ(撮影場所名、イベント名等)は一定枚数連続して出現する。
【0030】
メタデータの連続性が高い場合、検索条件に適合したサンプリングデータの近辺には、一定数の検索結果が存在している可能性が高い。一方で、検索条件に適合しなかったサンプリングデータの近辺には、検索結果が存在している可能性は低い。従って、検索結果は、検索結果サンプリングリスト207内のデータを中心に分布しており、検索結果サンプリングリスト207内の各データは、検索結果内でほぼ均等に散らばっているとみなすことができる。
【0031】
ステップS506において、表示位置移動処理部203は、ステップS505で推定した移動先データを取得し、出力部106に表示させる。図9に示すように、本ステップでは、表示位置移動処理部203は、メインテーブル205において、ユーザが指定した検索条件に適合し、且つステップS505で推定した移動先データより後方のデータを検索する。図7(E)は、ステップS506の処理が終了した後の状態を示している。表示領域703上には、推定された移動先データより後方の検索結果が表示されている。
【0032】
本実施形態によれば、検索結果内の表示位置の移動が指示された場合、移動先データを高速に表示することができる。これにより、表示位置を大幅に移動する操作に対しても高速に移動先データを表示することができるため、目的のデータを表示するまでの必要操作回数を減らすことができる。
【0033】
また、省メモリ環境にも適用可能なため、カメラ等の小型機器における検索機能を強化することができる。本実施形態を写真の閲覧に適用した場合には、イベント名を用いた検索で写真を絞り込んだ後に、イベント内の目的のシーンの写真まで高速に表示を移動することができる。
【0034】
次に、本発明の第2の実施形態について説明する。第2の実施形態に係るデータ表示装置は、図2に示した第1の実施形態に係るデータ表示装置の構成と同様である。従って、第2の実施形態においても図2に示した符号を用いて説明を行うものとする。
【0035】
第2の実施形態においては、第1の実施形態と同様に、検索結果サンプリングリスト207内から移動先データを推定する。但し、第2の実施形態では、検索結果サンプリングリスト207のデータ数に基づいて、検索結果サンプリングリスト207が移動先データを推定するために有効であるか否かを判定する。これにより、検索結果サンプリングリスト207のデータ数が少ない場合に移動先データの推定精度が劣化してしまうことを回避することができる。
【0036】
図10は、第2の実施形態における検索処理部202及び表示位置移動処理部203の処理を示すフローチャートである。なお、図10のステップS1001〜S1004は、図5のステップS501〜S504と同様の処理であるため、説明は省略する。
【0037】
ステップS1005において、表示位置移動処理部203は、検索結果サンプリングリスト207のデータ数が事前に設定した閾値以上であるか否かを判定基準として、検索結果サンプリングリスト207が有効であるか否かを判定する。検索結果サンプリングリスト207のデータ数が閾値以上である場合、処理はステップS1006に移行する。一方、データ数が閾値未満である場合、処理はステップS1008に移行する。ステップS1006において、表示位置移動処理部203は、図5のステップS505と同様に、検索結果サンプリングリスト207を用いて移動先データを推定する。ステップS1007において、表示位置移動処理部203は、図5のステップS506と同様に、ステップS1006において推定した移動先データを取得し、出力部106に表示させる。
【0038】
ステップS1008において、表示位置移動処理部203は、メインテーブル205に対してデータの検索を実行し、検索結果を全件取得する。検索結果サンプリングリスト207のデータ数が閾値未満である場合、検索結果数が少ない可能性が高いため、検索結果を全件取得しても大幅に計算時間が増加することはない。
【0039】
ステップS1009において、表示位置移動処理部203は、検索結果全体に対する割合として指定された移動量とステップS1008における検索結果数とから移動件数を算出する。即ち、上記移動量は検索結果全体に対する割合として指定されているので、ステップS1008における検索結果件数に対して上記移動量を乗算することにより移動件数を算出することができる。
【0040】
ステップS1010において、表示位置移動処理部203は、移動先データを取得する。即ち、表示位置移動処理部203は、ステップS1008で取得した検索結果内を、ステップS1009で算出した移動件数分移動することにより、移動先データを取得する。
【0041】
本実施形態においては、検索結果サンプリングリスト207のデータ数に基づいて、検索結果サンプリングリスト207が有効であるか否かを判定している。検索結果サンプリングリスト207が移動先データを推定するために有効でない場合、検索結果を全件取得することで正確な移動先データに移動することができる。このため、移動先データの推定精度を高めることができ、より目的のデータの近くに移動することができる。
【0042】
次に、本発明の第3の実施形態について説明する。検索結果サンプリングリスト207のデータ数が少ない場合には、一つの解決策として、サンプリング間隔を狭めることにより、検索結果サンプリングリスト207のデータ数を増やし、移動先データの推定精度を上げることが考えられる。しかしながら、サンプリング間隔を狭めることは、検索結果サンプリングリスト207の生成時間の増加を意味する。そこで、第3の実施形態では、サンプリング間隔を複数用意することにより、検索結果の規模に応じたサンプリング間隔の適用を可能としている。
【0043】
図11は、第3の実施形態に係るデータ表示装置の機能的な構成を示す図である。なお、また図11は、図2に示した構成と同様のものについては図2と同一符号を付している。但し、第3の実施形態におけるデータベース204は、メインテーブル205、サンプリングテーブルA1101及びサンプリングテーブルB1102から構成される。
【0044】
図12は、第3の実施形態における登録処理部201の処理を示すフローチャートである。ステップS1201において、登録処理部201は、ユーザからデータの登録が指示されたか否かを判定する。ユーザからデータの登録が指示された場合、処理はステップS1202に移行する。一方、ユーザからデータの登録が指示されていない場合、処理はステップS1201に戻る。
【0045】
ステップS1202において、登録処理部201は、データをメインテーブル205に登録する。ステップS1203において、登録処理部201は、今回登録したデータが、前回サンプリングテーブルA1101に登録したデータから何件目のデータに相当するかを算出する。ステップS1204において、登録処理部201は、ステップS1203で算出した件数(何件目のデータか)に基づいて、データをサンプリングテーブルA1101に登録するか否かを判定する。即ち、登録処理部201は、ステップS1203で算出した件数が事前に設定された第1の閾値以上であるか否かを判定する。ステップS1203で算出された件数が第1の閾値以上である場合、処理はステップS1205に移行する。一方、ステップS1203で算出された件数が第1の閾値未満である場合、処理はステップS1205をスキップしてステップS1206に移行する。
【0046】
ステップS1205において、登録処理部201は、データをサンプリングテーブルA1101に登録する。ステップS1206において、登録処理部201は、今回のデータが、前回サンプリングテーブルB1102に登録したデータから何件目のデータに相当するかを算出する。ステップS1207において、登録処理部201は、ステップS1206で算出した件数(何件目のデータか)に基づいて、データをサンプリングテーブルB1102に登録するか否かを判定する。即ち、登録処理部201は、ステップS1206で算出した件数が事前に設定された第2の閾値以上であるか否かを判定する。ステップS1206で算出された件数が事前に設定された第2の閾値以上である場合、処理はステップS1208に移行する。一方、ステップS1206で算出された件数が事前に設定された第2の閾値未満である場合、処理はステップS1201に戻る。ステップS1208において、登録処理部201は、サンプリングテーブルB1102にデータを登録する。なお、本実施形態では、第1の閾値は第2の閾値より大きい値であるものとする。従って、サンプリングテーブルA1101に登録されるサンプリングデータの数より、サンプリングテーブルB1102に登録されるサンプリングデータの数の方が多くなる。
【0047】
図13は、第3の実施形態における検索処理部202及び表示位置移動処理部203の処理を示すフローチャートである。
【0048】
ステップS1301において、検索処理部202は、ユーザからデータの検索が指示されたか否かを判定する。ユーザからデータの検索が指示された場合、処理はステップS1302に移行する。一方、ユーザからデータの検索が指示されていない場合、処理はステップS1301に戻る。ステップS1302において、検索処理部202は、ユーザによって指定された検索条件に適合するデータを検索し、その検索結果を出力部106において表示させる。即ち、検索処理部202は、データベース204内のメインテーブル205に対してデータの検索を実行し、出力部106上に表示可能な件数分の検索結果を取得した時点で表示を行う。
【0049】
ステップS1303において、表示位置移動処理部203は、ユーザから表示位置の移動が指示されたか否かを判定する。ユーザから表示位置の移動が指示された場合、処理はステップS1304に移行する。一方、ユーザから表示位置の移動が指示されていない場合、処理はステップS1303に戻る。
【0050】
ステップS1304において、表示位置移動処理部203は、検索結果サンプリングリスト207を生成する。即ち、表示位置移動処理部203は、サンプリングテーブルA1101に対し、ユーザによって指定された検索条件による検索を実行する。本ステップで得られた検索結果は、検索結果サンプリングリスト207として保持される。
【0051】
ステップS1305において、表示位置移動処理部203は、ステップS1304で生成した検索結果サンプリングリスト207のデータ数が、事前に設定された閾値以上であるか否かを判定する。検索結果サンプリングリスト207のデータ数が事前に設定された閾値未満である場合、処理はステップS1308に移行する。一方、検索結果サンプリングリスト207のデータ数が事前に設定された閾値以上である場合、処理はステップS1308をスキップしてステップS1306に移行する。
【0052】
ステップS1308において、表示位置移動処理部203は、検索結果サンプリングリスト207を再生成する。即ち、表示位置移動処理部203は、サンプリングテーブルB1102に対し、ユーザによって指定された検索条件による検索を実行し、取得した検索結果で検索結果サンプリングリスト207を更新する。サンプリングテーブルB1102は、サンプリングテーブルA1101より狭い間隔でサンプリングしたデータを格納している。そのため、ステップS1308にて生成された検索結果サンプリングリスト207のデータ数は、ステップS1304にて生成された検索結果サンプリングリスト207のデータ数より増加している。
【0053】
ステップS1306において、表示位置移動処理部203は、図5のステップS505と同様に移動先データを推定する。ステップS1307において、表示位置移動処理部203は、図5のステップS506と同様に、ステップS1306で推定した移動先データを取得し、出力部106に表示させる。
【0054】
本実施形態においては、サンプリングテーブルA1101から生成された検索結果サンプリングリスト207のデータ数に応じて、検索結果サンプリングリスト207を再生成する。これにより、検索結果の規模に応じて、適切なサンプリング間隔のサンプリングデータを利用することができるため、処理速度を落とさずに移動先データの推定精度を高めることができる。
【0055】
なお、本実施形態では、サンプリングテーブルの数を2つとしたが、3つ以上のサンプリングテーブルを用いることも可能である。3つ以上のサンプリングテーブルを用いることにより、適用するサンプリング間隔の選択肢を増やすことができるため、より移動先データの推定精度を高めることが可能である。
【0056】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0057】
201:登録処理部、202:検索処理部、203:表示位置移動処理部、204:データベース、205:メインテーブル、206:サンプリングテーブル
【技術分野】
【0001】
本発明は、検索結果内における移動の高速化を図る技術に関するものである。
【背景技術】
【0002】
小型機器におけるメモリデバイスとして、フラッシュメモリが一般的に利用されている。近年、このフラッシュメモリの容量の増加が続いており、カメラ等の小型機器においても大量のデータを蓄積することが可能である。
【0003】
また、認識技術やGPS(Global Positioning System)等のセンサ情報の利用により、カメラ上でも豊富なメタデータを付与することが可能である。一例としては、事前に登録された顔情報との照合による人物名の付与やGPS情報利用による撮影場所の地名付与が可能なカメラが存在する。撮影時にメタデータが多数付与されると、カメラにおいてもメタデータを用いた検索機能や閲覧機能の搭載が可能となる。また、フォトフレームのように、画像データを蓄積して閲覧することが目的のデバイスも増えており、小型機器におけるデータの検索や閲覧の機会は増加している。
【0004】
検索システムが検索結果を表示する際は、検索結果は最新のデータを先頭に、撮影順にソートして表示することが一般的である。従って、大量の検索結果が存在し、一画面内に検索結果の全件を表示できない場合には、ユーザは撮影日時の記憶を頼りに検索結果内を移動する。例えば、5年分の写真の中から、数年前の写真を閲覧したい場合には、ユーザは検索結果の後半部分へ表示を移動する。
【0005】
しかしながら、小型機器における検索システムでは、検索時には一画面内に表示可能な件数分しか検索結果を取得しないことが一般的である。検索結果が表示枚数分取得できた時点で表示を開始することにより、ユーザに対するレスポンスを向上させているためである。このため、上述したように検索結果内を移動しようとする場合には、表示移動が指示された後に新たに検索結果を取得する必要があり、移動先のデータに到達するまで時間がかかってしまう。メモリ等のリソースが豊富な場合には、検索時に検索結果を全件先読みすることで任意の位置へのアクセスを高速に実現することができるが、小型機器のような省メモリ機器では、リソース制約上、検索結果を全件先読みすることは難しい。
【0006】
ここで、特許文献1、2には、小型機器におけるデータ表示(再生)位置の高速移動を実現する方式が開示されている。特許文献1に開示される技術は、データを所定の間隔毎にサンプリングしておくことにより、任意の移動先の位置から高速に再生を開始することが可能である。特許文献2に開示される技術は、格納されたデータ内を、データに付与されたGPS情報に基づいてサンプリングしている。その上で、格納されたデータ内を移動する際には、サンプリングしたデータのみを表示することにより、目的のデータへ到達する時間を短縮することを可能にしている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−221714号公報
【特許文献2】特開2005−39858号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1、2に開示される技術を用いた場合、省メモリ機器においても、離れた位置のデータへの高速アクセスを実現することができる。しかし、これらの従来技術は何れも検索結果内の表示移動を高速化するものではない。検索結果は、ユーザが指定する検索条件によって定まるため、検索結果内を移動するためには、動的に定まる集合内を移動する手段が必要である。
【0009】
そこで、本発明の目的は、省メモリ機器においても検索結果内を高速に移動することにある。
【課題を解決するための手段】
【0010】
本発明の情報処理装置は、第1のテーブルに対してデータを登録する第1の登録手段と、前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録手段と、指定された検索条件に適合するデータを前記第1のテーブルから検索する検索手段と、前記検索手段により検索されたデータに対する移動指示を受け付ける受付手段と、前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成手段と、前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断手段と、前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得手段とを有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、省メモリ機器においても検索結果内を高速に移動することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係るデータ表示装置の構成を示す図である。
【図2】本発明の第1及び第2の実施形態に係るデータ表示装置の機能的な構成を示す図である。
【図3】本発明の第1の実施形態における登録処理部の処理を示すフローチャートである。
【図4】メインテーブルとサンプリングテーブルとの構成を示す図である。
【図5】本発明の第1の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【図6】図5のステップS502における処理を模式的に示す図である。
【図7】入力部及び出力部を構成するユーザインタフェースの例を示す図である。
【図8】図5のステップS504の処理を模式的に示す図である。
【図9】図5のステップS505及びS506の処理を模式的に示す図である。
【図10】本発明の第2の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【図11】本発明の第3の実施形態に係るデータ表示装置の機能的な構成を示す図である。
【図12】本発明の第3の実施形態における登録処理部の処理を示すフローチャートである。
【図13】本発明の第3の実施形態における検索処理部及び表示位置移動処理部の処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0014】
先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係るデータ表示装置の構成を示す図である。図1において、101はCPUであり、後述するROMに格納されている制御プログラムを実行することにより本装置全体の制御を行う。102はROMであり、CPU101が実行するプログラムを格納する。CPU101は、当該プログラムを実行することにより、後述するフローチャートに示す処理を実行するための各種手段として機能する。103はRAMであり、各構成要素からの各種データを一時記憶するとともに、CPU101によって実行されるプログラムを展開する。104は外部記憶装置であり、本実施形態の処理対象となるデータを格納する装置である。これらのデータを格納する記憶媒体としては、メモリカード、HDD、DVD−RAM等を用いることができる。105は入力部であり、操作ボタン、タッチパネル等で構成され、ユーザからの指示を受け付ける。106は出力部であり、液晶パネル等で構成され、本実施形態の処理対象となるデータを表示する。なお、本実施形態では、CPU101がプログラムを読み込み、実行することにより、後述するフローチャートの各ステップに対応する処理を実現させているが、その処理の一部又は全部を電子回路等のハードウェアで実現させるようにしてもよい。なお、本実施形態に係るデータ表示装置は、情報処理装置の適用例となる構成である。
【0015】
図2は、本実施形態に係るデータ表示装置の機能的な構成を示す図である。但し、図2における入力部105及び出力部106は、図1における同一符号のものと同じ構成である。図2において、201は登録処理部であり、新たなデータの登録が指示された際に、後述のデータベースにデータを格納する。202は検索処理部であり、ユーザによって指定された検索条件による検索をデータベースに対して行う。204はデータベースであり、処理対象となるデータを格納しており、メインテーブル205及びサンプリングテーブル206で構成される。データベース204に格納するデータの一例として画像データが挙げられる。203は表示位置移動処理部であり、後述する検索結果サンプリングリスト207を用いてユーザからの移動指示に応じた移動先データを推定し、推定した移動先データを出力部106に表示させる。上述した登録処理部201、検索処理部202及び表示位置移動処理部203は、CPU101がROM102に格納される必要なプログラムをRAM103に展開し、実行することにより実現する機能的な構成である。なお、メインテーブル205は第1のテーブルの例であり、サンプリングテーブル206は第2のテーブルの例である。
【0016】
図3は、登録処理部201の処理を示すフローチャートである。以下、図3を参照しながら、登録処理部201の処理について説明する。ステップS301において、登録処理部201は、ユーザからデータの登録が指示されたか否かを判定する。データの登録が指示された場合、処理はステップS302に移行する。一方、データの登録が指示されていない場合、処理はステップS301に戻る。ステップS302において、登録処理部201は、メインテーブル205に対するデータの登録を実行する。ステップS303において、登録処理部201は、今回登録したデータが、前回サンプリングテーブル206に登録したデータから何件目のデータに相当するかを算出する。ステップS304において、登録処理部201は、ステップS303で算出した件数(何件目のデータか)に基づいて、サンプリングテーブル206にデータを登録するか否かを判定する。即ち、登録処理部201は、ステップS303で算出した件数が事前に設定された閾値以上であるか否かを判定する。ステップS303で算出された件数が事前に設定された閾値以上である場合、処理はステップS305に移行する。一方、ステップS303で算出された件数が事前に設定された閾値未満である場合、処理はステップS301に戻る。ステップS305において、登録処理部201は、サンプリングテーブル206にデータを登録することにより、サンプリングデータの生成を実行する。なお、ステップS302は第1の登録手段の処理例であり、ステップS305は第2の登録手段の処理例である。
【0017】
図4(A)は、メインテーブル205の一例を示す図である。メインテーブル205においては、メタデータとして、一意なID401、撮影日時402、イベント名403及び撮影場所404が記録されている。
【0018】
図4(B)は、図4(A)に示すメインテーブル205に対応するサンプリングテーブル206の一例を示す図である。図4(B)に示すように、サンプリングテーブル206においては、メインテーブル205から所定の間隔毎(ここでは5件毎)に1件のデータがサンプリングテーブル206に格納されることにより、サンプリングデータが生成されている。即ち、図4(B)に示すサンプリングテーブル206は、ステップS304における閾値が5である場合の例を示している。
【0019】
次に、図5に示すフローチャートを参照しながら、検索処理部202及び表示位置移動処理部203の処理について説明する。なお、検索処理部202及び表示位置移動処理部203は、ユーザが入力部105を介してデータの検索や再生を指示した場合に処理を実行する。
【0020】
ステップS501において、検索処理部202は、ユーザからデータの検索が指示されたか否かを判定する。ユーザからデータの検索が指示された場合、処理はステップS502に移行する。一方、ユーザからデータの検索が指示されていない場合、処理はステップS501に戻る。ステップS502において、検索処理部202は、ユーザによって指定された検索条件に適合するデータを検索し、その検索結果を出力部106において表示させる。即ち、検索処理部202は、データベース204内のメインテーブル205に対してデータの検索を実行し、出力部106上に表示可能な件数分の検索結果を取得した時点で表示を行う。
【0021】
図6は、図5のステップS502における処理を模式的に示す図である。検索処理部202は、メインテーブル205から検索条件に適合するデータを検索し、出力部106上に表示可能な件数分の検索結果を取得した時点で、当該検索結果を出力部106において表示させる。
【0022】
図7(A)は、入力部105及び出力部106を構成するユーザインタフェースの例を示している。十字キー701及び回転ダイヤル702は入力部105を構成し、表示領域703は出力部106を構成する。表示領域703は、メインテーブル205に格納されるデータ及び操作メニューを表示する領域である。ユーザは十字キー701又は回転ダイヤル702を操作することにより、本データ表示装置に対して指示を与えることができる。指示内容には、検索条件の指定及び表示領域703に表示されているデータ一覧内の表示位置の指定等が含まれる。
【0023】
図7(B)は、ユーザが検索条件を指定した状態の検索画面を示している。ユーザは、十字キー701又は回転ダイヤル702を操作することにより、検索条件候補704から所望の検索条件を指定することができる。図7(B)の例は、イベント名を用いた検索画面を示しており、検索条件候補704として「旅行」、「運動会」、「遠足」、「誕生日」が表示されている。ここでは、イベント名が「運動会」であるデータの検索が検索条件として指定されている。
【0024】
図7(C)は、図7(B)に示す検索画面において指定された検索条件「運動会」による検索結果を表示した状態を示している。即ち、図7(C)の表示領域703には、イベント名が「運動会」であるデータが表示されている。また、図7(C)の表示領域703には、スクロールバー705が表示され、検索結果内における現在の表示位置を知ることができる。
【0025】
ステップS503において、表示位置移動処理部203は、ユーザから表示位置の移動が指示されたか否かを判定する。ユーザから表示位置の移動が指示された場合、処理はステップS504に移行する。一方、ユーザから表示位置の移動が指示されていない場合、処理はステップS503に戻る。ステップS504において、表示位置移動処理部203は、検索結果サンプリングリスト207の生成処理を実行する。
【0026】
図8は、図5のステップS504の処理を模式的に示す図である。ステップS504において、表示位置移動処理部203は、サンプリングテーブル206に対し、ユーザによって指定された検索条件を用いてデータ検索を実行する。本ステップでは、ステップS502におけるメインテーブル205に対するデータ検索とは異なり、サンプリングテーブル206から検索結果を全件取得するまで処理が続けられる。図8に示すように、サンプリングテーブル206は、メインテーブル205から5件毎に1件のデータが格納されたものであるため、メインテーブル205に比べて小規模である。従って、サンプリングテーブル206から検索結果を全件取得する時間も短時間になる。本ステップで得られた検索結果は、検索結果サンプリングリスト207として保持される。
【0027】
図7(D)は、ユーザが検索結果内の表示位置の移動を指示している状態を示している。ユーザは、十字キー701又は回転ダイヤル702を操作することにより、スクロールバー705を移動させ、表示位置の移動を指示することができる。スクロールバー705をスクロール領域706中の何%の位置に移動させたかによって、移動先の表示位置を指定することができる。図7(D)の例では、検索結果内の70%の位置が移動先の表示位置として指定されている。
【0028】
ステップS505において、表示位置移動処理部203は、移動先データを推定する。図9は、図5のステップS505及びS506の処理を模式的に示す図である。本ステップでは、検索結果全体に対する割合として指定された移動量を、検索結果サンプリングリスト207に対する割合として置き換えることにより、移動先データを推定する。例えば、図9に示すように、検索結果サンプリングリスト207のデータ数が10個のときは、検索結果内の70%の位置に移動するという処理を、検索結果サンプリングリスト207の7番目のデータへ移動するという処理に置き換える。つまり、表示位置移動処理部203は、検索結果サンプリングリスト207内において指定された割合分移動した位置のデータを、移動先データとして判断する。
【0029】
本方式は、データに付与されているメタデータの値がある程度連続して出現する確率が高いという前提に基づいている。例えば、対象データが写真データである場合を考えると、一般的にユーザは1回のイベントで複数枚の写真を撮影している。このため、1回のイベントにおいて同一の値が付与されるメタデータ(撮影場所名、イベント名等)は一定枚数連続して出現する。
【0030】
メタデータの連続性が高い場合、検索条件に適合したサンプリングデータの近辺には、一定数の検索結果が存在している可能性が高い。一方で、検索条件に適合しなかったサンプリングデータの近辺には、検索結果が存在している可能性は低い。従って、検索結果は、検索結果サンプリングリスト207内のデータを中心に分布しており、検索結果サンプリングリスト207内の各データは、検索結果内でほぼ均等に散らばっているとみなすことができる。
【0031】
ステップS506において、表示位置移動処理部203は、ステップS505で推定した移動先データを取得し、出力部106に表示させる。図9に示すように、本ステップでは、表示位置移動処理部203は、メインテーブル205において、ユーザが指定した検索条件に適合し、且つステップS505で推定した移動先データより後方のデータを検索する。図7(E)は、ステップS506の処理が終了した後の状態を示している。表示領域703上には、推定された移動先データより後方の検索結果が表示されている。
【0032】
本実施形態によれば、検索結果内の表示位置の移動が指示された場合、移動先データを高速に表示することができる。これにより、表示位置を大幅に移動する操作に対しても高速に移動先データを表示することができるため、目的のデータを表示するまでの必要操作回数を減らすことができる。
【0033】
また、省メモリ環境にも適用可能なため、カメラ等の小型機器における検索機能を強化することができる。本実施形態を写真の閲覧に適用した場合には、イベント名を用いた検索で写真を絞り込んだ後に、イベント内の目的のシーンの写真まで高速に表示を移動することができる。
【0034】
次に、本発明の第2の実施形態について説明する。第2の実施形態に係るデータ表示装置は、図2に示した第1の実施形態に係るデータ表示装置の構成と同様である。従って、第2の実施形態においても図2に示した符号を用いて説明を行うものとする。
【0035】
第2の実施形態においては、第1の実施形態と同様に、検索結果サンプリングリスト207内から移動先データを推定する。但し、第2の実施形態では、検索結果サンプリングリスト207のデータ数に基づいて、検索結果サンプリングリスト207が移動先データを推定するために有効であるか否かを判定する。これにより、検索結果サンプリングリスト207のデータ数が少ない場合に移動先データの推定精度が劣化してしまうことを回避することができる。
【0036】
図10は、第2の実施形態における検索処理部202及び表示位置移動処理部203の処理を示すフローチャートである。なお、図10のステップS1001〜S1004は、図5のステップS501〜S504と同様の処理であるため、説明は省略する。
【0037】
ステップS1005において、表示位置移動処理部203は、検索結果サンプリングリスト207のデータ数が事前に設定した閾値以上であるか否かを判定基準として、検索結果サンプリングリスト207が有効であるか否かを判定する。検索結果サンプリングリスト207のデータ数が閾値以上である場合、処理はステップS1006に移行する。一方、データ数が閾値未満である場合、処理はステップS1008に移行する。ステップS1006において、表示位置移動処理部203は、図5のステップS505と同様に、検索結果サンプリングリスト207を用いて移動先データを推定する。ステップS1007において、表示位置移動処理部203は、図5のステップS506と同様に、ステップS1006において推定した移動先データを取得し、出力部106に表示させる。
【0038】
ステップS1008において、表示位置移動処理部203は、メインテーブル205に対してデータの検索を実行し、検索結果を全件取得する。検索結果サンプリングリスト207のデータ数が閾値未満である場合、検索結果数が少ない可能性が高いため、検索結果を全件取得しても大幅に計算時間が増加することはない。
【0039】
ステップS1009において、表示位置移動処理部203は、検索結果全体に対する割合として指定された移動量とステップS1008における検索結果数とから移動件数を算出する。即ち、上記移動量は検索結果全体に対する割合として指定されているので、ステップS1008における検索結果件数に対して上記移動量を乗算することにより移動件数を算出することができる。
【0040】
ステップS1010において、表示位置移動処理部203は、移動先データを取得する。即ち、表示位置移動処理部203は、ステップS1008で取得した検索結果内を、ステップS1009で算出した移動件数分移動することにより、移動先データを取得する。
【0041】
本実施形態においては、検索結果サンプリングリスト207のデータ数に基づいて、検索結果サンプリングリスト207が有効であるか否かを判定している。検索結果サンプリングリスト207が移動先データを推定するために有効でない場合、検索結果を全件取得することで正確な移動先データに移動することができる。このため、移動先データの推定精度を高めることができ、より目的のデータの近くに移動することができる。
【0042】
次に、本発明の第3の実施形態について説明する。検索結果サンプリングリスト207のデータ数が少ない場合には、一つの解決策として、サンプリング間隔を狭めることにより、検索結果サンプリングリスト207のデータ数を増やし、移動先データの推定精度を上げることが考えられる。しかしながら、サンプリング間隔を狭めることは、検索結果サンプリングリスト207の生成時間の増加を意味する。そこで、第3の実施形態では、サンプリング間隔を複数用意することにより、検索結果の規模に応じたサンプリング間隔の適用を可能としている。
【0043】
図11は、第3の実施形態に係るデータ表示装置の機能的な構成を示す図である。なお、また図11は、図2に示した構成と同様のものについては図2と同一符号を付している。但し、第3の実施形態におけるデータベース204は、メインテーブル205、サンプリングテーブルA1101及びサンプリングテーブルB1102から構成される。
【0044】
図12は、第3の実施形態における登録処理部201の処理を示すフローチャートである。ステップS1201において、登録処理部201は、ユーザからデータの登録が指示されたか否かを判定する。ユーザからデータの登録が指示された場合、処理はステップS1202に移行する。一方、ユーザからデータの登録が指示されていない場合、処理はステップS1201に戻る。
【0045】
ステップS1202において、登録処理部201は、データをメインテーブル205に登録する。ステップS1203において、登録処理部201は、今回登録したデータが、前回サンプリングテーブルA1101に登録したデータから何件目のデータに相当するかを算出する。ステップS1204において、登録処理部201は、ステップS1203で算出した件数(何件目のデータか)に基づいて、データをサンプリングテーブルA1101に登録するか否かを判定する。即ち、登録処理部201は、ステップS1203で算出した件数が事前に設定された第1の閾値以上であるか否かを判定する。ステップS1203で算出された件数が第1の閾値以上である場合、処理はステップS1205に移行する。一方、ステップS1203で算出された件数が第1の閾値未満である場合、処理はステップS1205をスキップしてステップS1206に移行する。
【0046】
ステップS1205において、登録処理部201は、データをサンプリングテーブルA1101に登録する。ステップS1206において、登録処理部201は、今回のデータが、前回サンプリングテーブルB1102に登録したデータから何件目のデータに相当するかを算出する。ステップS1207において、登録処理部201は、ステップS1206で算出した件数(何件目のデータか)に基づいて、データをサンプリングテーブルB1102に登録するか否かを判定する。即ち、登録処理部201は、ステップS1206で算出した件数が事前に設定された第2の閾値以上であるか否かを判定する。ステップS1206で算出された件数が事前に設定された第2の閾値以上である場合、処理はステップS1208に移行する。一方、ステップS1206で算出された件数が事前に設定された第2の閾値未満である場合、処理はステップS1201に戻る。ステップS1208において、登録処理部201は、サンプリングテーブルB1102にデータを登録する。なお、本実施形態では、第1の閾値は第2の閾値より大きい値であるものとする。従って、サンプリングテーブルA1101に登録されるサンプリングデータの数より、サンプリングテーブルB1102に登録されるサンプリングデータの数の方が多くなる。
【0047】
図13は、第3の実施形態における検索処理部202及び表示位置移動処理部203の処理を示すフローチャートである。
【0048】
ステップS1301において、検索処理部202は、ユーザからデータの検索が指示されたか否かを判定する。ユーザからデータの検索が指示された場合、処理はステップS1302に移行する。一方、ユーザからデータの検索が指示されていない場合、処理はステップS1301に戻る。ステップS1302において、検索処理部202は、ユーザによって指定された検索条件に適合するデータを検索し、その検索結果を出力部106において表示させる。即ち、検索処理部202は、データベース204内のメインテーブル205に対してデータの検索を実行し、出力部106上に表示可能な件数分の検索結果を取得した時点で表示を行う。
【0049】
ステップS1303において、表示位置移動処理部203は、ユーザから表示位置の移動が指示されたか否かを判定する。ユーザから表示位置の移動が指示された場合、処理はステップS1304に移行する。一方、ユーザから表示位置の移動が指示されていない場合、処理はステップS1303に戻る。
【0050】
ステップS1304において、表示位置移動処理部203は、検索結果サンプリングリスト207を生成する。即ち、表示位置移動処理部203は、サンプリングテーブルA1101に対し、ユーザによって指定された検索条件による検索を実行する。本ステップで得られた検索結果は、検索結果サンプリングリスト207として保持される。
【0051】
ステップS1305において、表示位置移動処理部203は、ステップS1304で生成した検索結果サンプリングリスト207のデータ数が、事前に設定された閾値以上であるか否かを判定する。検索結果サンプリングリスト207のデータ数が事前に設定された閾値未満である場合、処理はステップS1308に移行する。一方、検索結果サンプリングリスト207のデータ数が事前に設定された閾値以上である場合、処理はステップS1308をスキップしてステップS1306に移行する。
【0052】
ステップS1308において、表示位置移動処理部203は、検索結果サンプリングリスト207を再生成する。即ち、表示位置移動処理部203は、サンプリングテーブルB1102に対し、ユーザによって指定された検索条件による検索を実行し、取得した検索結果で検索結果サンプリングリスト207を更新する。サンプリングテーブルB1102は、サンプリングテーブルA1101より狭い間隔でサンプリングしたデータを格納している。そのため、ステップS1308にて生成された検索結果サンプリングリスト207のデータ数は、ステップS1304にて生成された検索結果サンプリングリスト207のデータ数より増加している。
【0053】
ステップS1306において、表示位置移動処理部203は、図5のステップS505と同様に移動先データを推定する。ステップS1307において、表示位置移動処理部203は、図5のステップS506と同様に、ステップS1306で推定した移動先データを取得し、出力部106に表示させる。
【0054】
本実施形態においては、サンプリングテーブルA1101から生成された検索結果サンプリングリスト207のデータ数に応じて、検索結果サンプリングリスト207を再生成する。これにより、検索結果の規模に応じて、適切なサンプリング間隔のサンプリングデータを利用することができるため、処理速度を落とさずに移動先データの推定精度を高めることができる。
【0055】
なお、本実施形態では、サンプリングテーブルの数を2つとしたが、3つ以上のサンプリングテーブルを用いることも可能である。3つ以上のサンプリングテーブルを用いることにより、適用するサンプリング間隔の選択肢を増やすことができるため、より移動先データの推定精度を高めることが可能である。
【0056】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0057】
201:登録処理部、202:検索処理部、203:表示位置移動処理部、204:データベース、205:メインテーブル、206:サンプリングテーブル
【特許請求の範囲】
【請求項1】
第1のテーブルに対してデータを登録する第1の登録手段と、
前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録手段と、
指定された検索条件に適合するデータを前記第1のテーブルから検索する検索手段と、
前記検索手段により検索されたデータに対する移動指示を受け付ける受付手段と、
前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成手段と、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断手段と、
前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得手段とを有することを特徴とする情報処理装置。
【請求項2】
前記リストが有効であるか否かを判定する判定手段を更に有し、
前記判定手段により前記リストが有効であると判定された場合、前記判断手段は、前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断し、前記取得手段は、前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して前記所定の条件を満たすデータを前記第1のテーブルから取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定手段は、前記リストのデータ数に基づいて、前記リストが有効であるか否かを判定することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第2の登録手段は、前記第1のテーブルに登録されるデータを複数の間隔毎に取得し、前記各間隔に対応する複数の前記第2のテーブルに登録し、前記生成手段は、複数の前記第2のテーブルのうちの一つの前記第2のテーブルから前記検索条件に適合するデータを検索して前記リストを生成し、
前記リストのデータ数に応じて、他の前記第2のテーブルから前記検索条件に適合するデータを検索して前記リストを再生成する再生成手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
情報処理装置によって実行される情報処理方法であって、
第1のテーブルに対してデータを登録する第1の登録ステップと、
前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録ステップと、
指定された検索条件に適合するデータを前記第1のテーブルから検索する検索ステップと、
前記検索ステップにより検索されたデータに対する移動指示を受け付ける受付ステップと、
前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成ステップと、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断ステップと、
前記検索条件に適合し、且つ、前記判断ステップにより判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得ステップとを有することを特徴とする情報処理方法。
【請求項6】
第1のテーブルに対してデータを登録する第1の登録ステップと、
前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録ステップと、
指定された検索条件に適合するデータを前記第1のテーブルから検索する検索ステップと、
前記検索ステップにより検索されたデータに対する移動指示を受け付ける受付ステップと、
前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成ステップと、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断ステップと、
前記検索条件に適合し、且つ、前記判断ステップにより判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得ステップとをコンピュータに実行させるためのプログラム。
【請求項1】
第1のテーブルに対してデータを登録する第1の登録手段と、
前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録手段と、
指定された検索条件に適合するデータを前記第1のテーブルから検索する検索手段と、
前記検索手段により検索されたデータに対する移動指示を受け付ける受付手段と、
前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成手段と、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断手段と、
前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得手段とを有することを特徴とする情報処理装置。
【請求項2】
前記リストが有効であるか否かを判定する判定手段を更に有し、
前記判定手段により前記リストが有効であると判定された場合、前記判断手段は、前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断し、前記取得手段は、前記検索条件に適合し、且つ、前記判断手段により判断されたデータに対して前記所定の条件を満たすデータを前記第1のテーブルから取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定手段は、前記リストのデータ数に基づいて、前記リストが有効であるか否かを判定することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第2の登録手段は、前記第1のテーブルに登録されるデータを複数の間隔毎に取得し、前記各間隔に対応する複数の前記第2のテーブルに登録し、前記生成手段は、複数の前記第2のテーブルのうちの一つの前記第2のテーブルから前記検索条件に適合するデータを検索して前記リストを生成し、
前記リストのデータ数に応じて、他の前記第2のテーブルから前記検索条件に適合するデータを検索して前記リストを再生成する再生成手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
情報処理装置によって実行される情報処理方法であって、
第1のテーブルに対してデータを登録する第1の登録ステップと、
前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録ステップと、
指定された検索条件に適合するデータを前記第1のテーブルから検索する検索ステップと、
前記検索ステップにより検索されたデータに対する移動指示を受け付ける受付ステップと、
前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成ステップと、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断ステップと、
前記検索条件に適合し、且つ、前記判断ステップにより判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得ステップとを有することを特徴とする情報処理方法。
【請求項6】
第1のテーブルに対してデータを登録する第1の登録ステップと、
前記第1のテーブルに登録されるデータを所定の間隔毎に取得し、第2のテーブルに登録する第2の登録ステップと、
指定された検索条件に適合するデータを前記第1のテーブルから検索する検索ステップと、
前記検索ステップにより検索されたデータに対する移動指示を受け付ける受付ステップと、
前記検索条件に適合するデータを前記第2のテーブルから検索してリストを生成する生成ステップと、
前記移動指示によって指定された移動量に対応する前記リスト内における位置のデータを判断する判断ステップと、
前記検索条件に適合し、且つ、前記判断ステップにより判断されたデータに対して所定の条件を満たすデータを前記第1のテーブルから取得する取得ステップとをコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−93671(P2013−93671A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2011−233257(P2011−233257)
【出願日】平成23年10月24日(2011.10.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願日】平成23年10月24日(2011.10.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]