説明

情報処理装置、その制御方法及びコンピュータプログラム

【課題】コンテンツの検索結果をソートして表示する際に、検索途中で所望のコンテンツが見つかったときのコンテンツの選択を容易に行う。
【解決手段】コンテンツの検索結果をソートして表示する際に、所定の時間までは条件に一致したコンテンツを順次表示して、所定の時間が経過すると、予め定めておいたソート順に従ってコンテンツをソートして表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、その制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
検索可能なコンテンツ、例えば画像を検索する際に、予め定めているソート順に従って検索結果を表示するものがある。検索結果のコンテンツをソートして表示する際は、条件に一致するコンテンツが1つ見つかる毎に、ソートを行う方法が一般的に考えられる。特許文献1では、画像1枚ごとに顔領域を抽出して特徴量を算出し、既に特徴量の算出が終わっている顔画像と合わせてソートして並べて表示することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−102549
【発明の概要】
【発明が解決しようとする課題】
【0004】
検索途中で所望のコンテンツが見つかった場合は、すぐにそのコンテンツを選択して次の操作を実行したい場合がある。しかし、検索途中でコンテンツを選択しようとしても、条件に一致するコンテンツが1つ見つかる毎にソートを行うと、選択しようとしたコンテンツが別の位置に移動してしまい、誤ったコンテンツを選択してしまう可能性がある。特に、ネットワーク上のコンテンツの検索や、顔画像の特徴量を算出して検索に利用する場合には、1つ1つの検索に時間がかかるため、検索をしている間に画面が頻繁にソートされる可能性がある。
【課題を解決するための手段】
【0005】
上記課題を解決するための本発明はコンテンツの検索を行なう情報処理装置であって、
コンテンツを格納する格納手段と、
前記格納手段に格納されたコンテンツを順次選択し、指定された検索条件を満たすか否かを判定することで、コンテンツの検索を行う検索手段と、
前記検索手段により順次選択され、前記検索条件を満たすと判定されたコンテンツを、検索途中で表示部に順次表示させる表示制御手段と、
前記表示制御手段が前記表示部に順次表示した前記コンテンツを、指定されたソート順に従って一定時間ごとにソートするソート手段と
を備え、
前記表示制御手段は、前記ソート手段による前記ソートが行われてソートされた結果のコンテンツを表示した後、前記一定時間が経過するまでは、前記検索手段により新たに検索されたコンテンツを、前記ソート手段によるソートを実行しない状態で、前記ソートが行われた結果のコンテンツに追加して前記表示部に順次表示させることを特徴とする。
【発明の効果】
【0006】
コンテンツの検索途中で所望のコンテンツが見つかった場合、そのコンテンツを選択することが容易となる。
【図面の簡単な説明】
【0007】
【図1】発明の実施形態に係る情報処理装置の構成例を示すブロック図。
【図2】発明の実施形態に係るコンテンツの検索処理の一例を示すフローチャート。
【図3】発明の実施形態に係る画像管理アプリケーションのメイン画面の表示例を示す図。
【図4】発明の実施形態に係る画像管理アプリケーションにおいて顔検索を実行する場合の設定画面の一例を示す図。
【図5】発明の実施形態に係る画像管理アプリケーションにおいて顔検索を実行した場合の、ソート前後の検索結果を説明するための図。
【図6】発明の実施形態に係る画像管理アプリケーションでの顔検索実行中に検索結果のコンテンツが選択された場合の表示例を説明するための図。
【図7】発明の実施形態に係るコンテンツの検索処理において検索結果のソートを一時停止する処理の一例を示すフローチャート。
【図8】発明の実施形態に係るコンテンツの検索において、ユーザー操作がなくなってから所定の時間が経過した際にソートを行う処理の一例を示すフローチャート。
【発明を実施するための形態】
【0008】
以下、発明の実施形態について説明する。説明する発明の実施形態として画像管理アプリケーションによる顔検索を行う場合を例にして説明する。しかしながら、本発明の適用範囲は、画像に関する顔検索にのみ限定されるものではない。画像に限定されることなく、他のコンテンツ、例えば、文書データ、動画像データ、音声データ等に適用することができる。また、データ形式も特に問わない。また、類似度判定についても、顔画像を検索キーとする判定手法に限定されるものではなく、文字、画像、音声、その他を検索キーとして利用可能なものを利用して行なうことができる。
【0009】
本願発明は、検索キーとなる情報との類似度或いは関連度が一定以上であることをコンテンツの検索条件とする。よって、当該検索条件について判定が可能なコンテンツであれば、どのようなものに対しても本願発明の適用が可能である。ただし、説明の簡単のために以下では顔画像検索をベースとする画像管理アプリケーションの例を説明することとした。
【0010】
図1は、実施例のシステム構成を示す図である。情報処理装置100は、発明の実施形態に対応する画像管理アプリケーションがインストールされている。情報処理装置は、例えばパーソナルコンピュータ(PC)として実現される。しかし、PCに限らず、それ以外の情報処理装置として、例えば、携帯電話、デジタルカメラ、デジタルビデオカメラ、スマートフォン、メディアプレーヤ、ゲーム端末等、検索キーに基づいてコンテンツを検索可能な装置であればどのような装置であってもよい。
【0011】
CPU101は、情報処理装置100の動作を制御する処理部である。なお、CPU101は、発明の実施形態において、コンテンツを検索するための検索処理部、あるいは、検索結果をソートするためのソート処理部として機能することができる。表示制御部102は、表示部105に、本実施形態に対応するコンテンツ検索処理の結果表示を行わせるためのディスプレイ・コントローラである。一次記憶装置103は、例えばRAMなどにより構成され、CPU101が実行するためのプログラムや処理に使用するデータを記憶して、CPU101の作業領域として機能する。二次記憶装置104は、ハードディスクなどにより構成され、CPU101を動かすプログラムを格納する。当該プログラムには、画像管理アプリケーションが含まれている。また、検索対象のコンテンツは、二次記憶装置104内に格納される。二次記憶装置104のプログラムは、一次記憶装置103に読み出され、CPU101により実行される。表示部105は、液晶ディスプレイ等の表示装置である。操作部106は、キーボードやマウスなどで構成され、ユーザからの入力操作を受け付ける。
【0012】
なお、情報処理装置100は、スタンドアロンの装置として機能することもできるが、ネットワークを介してクライアント装置と接続するサーバとして機能してもよい。サーバとして機能する場合、サーバはクライアント装置から検索条件の指定を受け付け、サーバが管理するコンテンツデータベース内を検索する。当該コンテンツデータベースは、二次記憶装置104に相当する。検索結果は、クライアント装置にネットワークを介して送信され、クライアント装置側でユーザに表示される。この時、クライアント装置側のディスプレイは表示部105に相当し、表示制御部102と表示部105とがネットワーク(インターネット等)を介して接続されることとなる。即ち、表示制御部102はネットワーク通信を制御するための通信制御部としても機能することとなる。また、ユーザからの操作は、ネットワークを介して受け付けるので、操作部106に相当する機能もクライアント装置側に置かれることとなる。以下では、情報処理装置100をスタンドアロンの装置として動作させる場合を実施形態として説明するが、上記の想定に基づけばサーバとしても同様に動作可能である。
【0013】
以下、発明の実施形態に対応する画像管理アプリケーションを用いて情報処理装置100が行う処理を説明する。まず、図3は、画像管理アプリケーションを情報処理装置100が実行した場合に表示されるメイン画面である。図3の画像管理アプリケーションの機能の一つとして、顔検索を実行することができる。顔検索の詳細フローについては後述するが、基準となる顔画像を選択すると、選択した顔画像と同じ人物が写っていると判定された画像を検索するものである。
【0014】
例えば、ユーザが「花子ちゃん」という特定の人物の顔画像を選択して顔検索を実行すると、画像管理アプリケーションによって花子ちゃんが写っていると判定された画像が検索結果として表示される。画像管理アプリケーションは、顔領域抽出機能と類似度算出機能とを有する。顔領域抽出機能では、画像から顔の局所的特徴要素を抽出して配置情報を構成して顔領域を抽出する。当該配置情報は特徴量としても用いられ、類似度算出機能において基準画像と対象画像それぞれの特徴量を比較して類似度を算出する。もし、算出された類似度が所定の閾値以上であれば、類似画像として検索結果に表示する。なお、顔検索に関する技術は公知の技術を用いればよく、また、本願発明の本質的技術的事項ではないので、より詳細な説明は省略する。
【0015】
なお、顔検索以外の類似判定については、検索キーに相当する情報を、検索対象のコンテンツから抽出するための技術を利用して、検索条件を満たすか否かの判定を行うことができる。
【0016】
図3において、フォルダ選択エリア301には、画像管理アプリケーションが管理しているフォルダが表示される。サムネイル表示エリア303は、フォルダ選択エリア301でユーザーが選択したフォルダ内の画像が表示される。図3の場合は、フォルダ302が選択されており、フォルダ302内の画像が表示されている。メニュー304は、ユーザが選択可能なメニュー項目を表示しており、図3の場合「顔検索」が選択候補として表示されている。この「顔検索」メニューが選択されると、顔検索を実行することができる。
【0017】
なお、ユーザが選択可能な項目としては「顔検索」の他に、「被写体検索」、「色検索」、「キーワード検索」等も考えられる。「被写体検索」とは、画像に写っている被写体の種類を判別し、判別された被写体と類似の被写体が含まれる画像を検索する処理をいう。「色検索」とは、画像で最も多く使われている色(代表色)、或いは、画素の色値を平均して得られる平均色等を算出して、代表色や平均色が同一又は類似の画像を検索する処理をいう。「キーワード検索」とは、文字情報として検索条件を受け付け、当該文字情報に該当する画像を、画像そのものから抽出可能な情報、或いは、画像に付加されている属性情報に基づいて判定する処理である。キーワードとしては、色や被写体名、撮影場所など、どのような情報を用いても良い。これらの項目のいずれかが選択された場合であっても、以下に説明する処理と同様の処理を行うことが可能である。
【0018】
図4は、メニュー304の顔検索を選択したときの画像管理アプリケーションの表示例を示す。メニュー304を選択すると、設定パネル401が表示される。設定パネル401には、顔検索の設定を行うためのコントロールが配置されている。選択エリア402は基準となる顔画像が選択可能に表示される。本実施形態では、選択エリア402には、画像管理アプリケーションが管理している顔画像のリストが表示される。画像管理アプリケーションへの顔画像の登録方法については、一般的な画像登録方法を利用すればよいので、ここでの説明は省略する。
【0019】
ユーザはこの顔画像リストから検索のキーとしたい顔画像を選択することで、選択した顔画像と同じ人物が写っていると判定された画像を検索できる。検索結果の画像は、検索結果表示エリア406に表示される。ソートを行う前は、検索結果として見つかった順に画像を表示していく。リストボックス404は、検索結果を表示する際のソート順を選択するためのコントロールである。リストボックス404により選択したソート順に従い、検索結果の画像がソートして表示される。図4の場合、類似度が高い順にソート順が設定されているので、画像のソート時は、顔検索を行った際の類似度が高い順に画像が表示される。つまり、ユーザが選択した基準の顔画像403と類似度が高い順に、画像がソートされ、表示が行われる。リストボックス404で選択可能な項目として、画像の撮影日時が新しい順、ファイル名の昇順、降順などが考えられる。検索ボタン405は、検索開始の指示を受け付けるためのボタンであって、ユーザが基準の顔画像とソート順を選択した後に検索を開始する際に操作される。
【0020】
次に、図2を参照して、発明の実施形態に対応する顔検索処理について説明する。図2は、顔検索処理の一例に対応するフローチャートである。当該フローチャートに対応する処理は、画像管理アプリケーションをCPU101が実行することにより実現される。
【0021】
ユーザによって検索ボタン405が操作されると、図2の検索フローに従って顔画像の検索を行う。ここでは、ユーザが基準画像403と、「類似度が高い順」をソート順としてリストボックス404で選択している場合を例として説明する。検索ボタン405が押下されると、S201でCPU102は、画像管理アプリケーションが内部的に持つ変数nを1に設定する。nは検索対象の全画像数Nに対するインデックスであり、1〜Nの値をとる。すなわち検索対象の画像総数がN枚であり、そのn番目の画像を現在検索していることを表す。本実施形態での検索対象の画像は、画像管理アプリケーションでユーザが選択しているフォルダ内の画像である。すなわち、図3で選択しているフォルダ302の中にある全画像が検索対象となり、その全画像数がNとなる。ここでは、図3にある画像307をn=1の画像として説明する。
【0022】
S202でCPU101は、現在時刻を取得して変数t1に代入する。ここで取得した現在時刻は、画像のソートを行うタイミングを判定するために後述するステップで使用される。また、ここで取得する現在時刻は、画像管理アプリケーションを起動してからの経過時間を取得したものとし、例えば1234.567秒のような値をとるものとする。
【0023】
次にS203でCPU101は、現在検索中の画像に顔が写っているかを判定する。画像に顔が写っていなければ顔検索は行えないので、顔が写っていない場合はS207に遷移する。例えば、画像305、306のように、顔が写っていない風景の写真などは、S207に遷移する。顔が写っているかの判定は、画像管理アプリケーションが持つ上述の顔領域抽出機能によって行うものとする。画像307には顔が写っているので、S204に遷移する。
【0024】
S204でCPU101は、基準の顔画像と現在検索中の顔画像との類似度を算出する。すなわち、ユーザが選択した403の基準画像と、1枚目の画像である307の類似度を算出する。2枚の画像の類似度の算出は、画像管理アプリケーションが持つ上述の類似度算出機能によって行うものとする。本実施形態では、類似度は0〜100の値を取り、値が大きいほど基準画像に近い顔画像であるものとする。
【0025】
次にS205でCPU101は、S204で算出した類似度が所定の閾値(Th1)以上であるかを判定する。例えば、閾値Th1を70に設定する場合は、類似度が70以上の画像のみを検索結果として表示することができる。つまり、閾値が高い場合は検索結果の数は少なくなるが、より基準画像に近い画像が検索結果として表示される。逆に、閾値が低い場合は検索結果の数は多くなるが、基準画像とそれほど似ていない画像も検索結果として表示されることになる。ここでの閾値は画像管理アプリケーションによって予め定められた固定の値でもよいし、ユーザが任意の値を設定できてもよい。類似度が閾値Th1以上の場合は、S206に遷移する。
【0026】
S206でCPU101は、現在検索している画像を検索結果として表示する。検索結果の画像は図4の検索結果表示エリア406に表示される。S204で算出した類似度が閾値Th1より小さい場合、S205の後にS207に遷移するので、検索中の画像を検索結果として表示しない。ここで、基準の顔画像403と現在検索している画像307の類似度が91であり、S205での閾値が70の場合は、画像307を検索結果として表示する。次にS207でCPU101は、変数nに1の値を足す。前述したようにnは検索中の画像のインデックスを表しており、1を足すことで次の画像を検索対象にする。本実施形態では、検索対象の全画像数Nのうちのいずれかの画像が順次選択されて処理されてる。
【0027】
次にS208でCPU101は、変数nの値が検索対象の全画像数Nより大きいかを判定する。n値がNより大きい場合は、全ての画像の検索が終わったことを示すのでS212へ遷移する。nの値がN以下である場合は、未検索の画像が残っていることを示すので、S209へ遷移する。S209でCPU101は、現在時刻を取得して変数t2に代入する。ここで取得する現在時刻は前述と同じように、画像管理アプリケーションを起動してからの経過時間とし、例えば1235.678秒のような値をとるものとする。
【0028】
次にS210でCPU101は、取得したt2とt1の差を算出し、その値がソート間隔に相当する一定時間:T以上であるかを判定する。例えばソート間隔が7秒である場合は、前述のt2とt1の差を算出しても1.111秒となり、Tの値の方が大きくなる。その場合は、S203に遷移し、次の画像の検索を行う。このように、所定の間隔Tが経過するまでは、検索結果を順次表示していき、画像のソートは行わない。つまり、ソート間隔が7秒の場合は、7秒間はソートが行われないことになる。
【0029】
S210からS203に遷移した後は、前述のフローと同じようにして画像の検索を行う。例えば、2枚目の画像の検索が終わって、S209に遷移し、S209で取得した現在時刻が1236.789の場合は、t2とt1の差分は2.222秒になる。しかし、ソート間隔の7秒よりは小さいので、この場合も再度S203に遷移する。このように画像の検索を繰り返していく中で、S210でt2とt1の差がソート間隔の7秒以上になった場合は、S211に遷移する。S211でCPU101は、検索結果のソートを行う。
【0030】
検索結果のソートについて、図5を用いて説明する。図5(a)はソート直前の画像管理アプリケーションを示しており、図5(b)はソート直後の画像管理アプリケーションを示している。図5(a)では、検索結果表示エリア501に502〜506の5枚の画像が表示されている。なお、前述したように502〜506の画像は、検索した順に表示されている。ここで502〜506の各画像と基準画像の類似度をテーブル化したものが、図5(c)のテーブル520である。テーブル520をみると、類似度が一番高い画像は画像504である。そこで、ソート時は画像504を優先度が最も高いソート位置に表示する。すなわち、図5(b)の507の位置(画面左上)に類似度が一番高い画像を表示する。次に、図5(c)の中で類似度が二番目に高い画像は502である。そこで、図5(b)の508の位置に表示する。このようにして図5(b)の画像507から画像511までの各位置にソート後の画像が表示される。更に検索された画像は、画像512の位置に表示されることとなる。
【0031】
なお、図5(b)で、残り時間表示エリア513には、画面の表示内容が更新されるまでの残り時間の情報と、検索の一時停止を指示するための一時停止ボタン514とが表示される。本実施形態では残り時間は、当該残り時間を示すメーターと、残り時間数そのものとして表示される。
【0032】
以上のように、画像のソート時は、現在検索結果として表示されている画像をソート順に従って表示する。S211での画像のソートが終了すると、S202に遷移する。S202では、前述したように現在時刻を取得して変数t1に代入する。このように、画像のソートを行った際はS202に遷移することで、基準時刻をリセットする。以降は前述したステップを繰り返していく。このとき、新たに検索された画像は、ソート後の検索結果に追加されて表示されていく。また、S202で基準時刻をリセットした後に、S210でt2とt1の差がソート間隔T以上になった場合は、S211で再度ソートを行う。そして、全ての画像の検索が終わるとS212へ遷移する。S212でCPU101は、検索結果の画像をソートする。ここでソートを行うのは、S211でソートを行った後に検索結果として表示された画像がある状態で検索が終了すると、一部の画像が未ソートになってしまうためである。そこで、全画像の検索終了時に、S212で画像のソートを行う。以上が、画像の検索とソートを行う一連の流れである。
【0033】
以上の処理によれば、検索結果の画像は一定時間を経過するまではソートされずに表示状態が維持されるので、ユーザは、コンテンツの検索途中で所望のコンテンツが見つかった場合、そのコンテンツを選択することが容易となる。
【0034】
次に、検索途中でユーザが検索結果表示エリアに表示されている画像を選択した場合の処理について説明する。図6の(a)は、検索結果表示エリア601に表示されている画像のうち、ユーザが画像602を選択した状態を表している。検索途中でも検索結果の画像を選択できるようにすることで、ユーザが所望する画像がすぐに見つかった場合、その画像を選択して次のユーザ操作を行うことが可能となる。検索途中でのコンテンツの選択は、マウス操作で対象画像を選択することで行うことができる。
【0035】
図6の(a)の例では、残り時間表示エリア513に表示されるように次のソートを行うまで3秒の時間があるが、ここでは新たな検索結果が見つからないまま3秒が経過したとする。この場合、検索結果表示エリア601に表示されている5枚の画像でソートを行うのだが、前述の図2のフローに従えば類似度に従って画像がソートされる。しかし、検索途中でユーザが画像を選択したということは、ユーザが所望している画像である可能性がある。そこで、検索途中にユーザが選択した画像は、優先度が最も高いソート位置に表示する。ソートを行った後の画像管理アプリケーションの状態を図6の(b)に示す。ここでは、表示の優先度が高い順に画像が検索結果表示エリア603に表示される。図6の(a)で選択していた画像602は、優先度が最も高いソート位置である604に表示している。選択されていない画像については、画像604の後にソート順に従ってソートして表示する。図6の(b)の場合は、画像604を除く画像の中で画像605の類似度が最も高いことを示しており、以降は606〜608の順に類似度が高いものとなっている。なお、図6の(b)の状態でユーザが別の画像を選択した際は、次のソート時にユーザが新たに選択した画像を優先度が最も高いソート位置に表示する。そして、前に選択していた画像は、他の画像と同じように類似度に従ってソートして表示する。
【0036】
次に、一定の時間間隔で行う画像のソートを一時停止する処理について説明する。例えば、画像の検索中に検索結果の画像を注目して確認したい場合は、画像の検索は継続したいが、ソートは一時的に停止したいことが考えられる。そこで、図5のボタン514のように、画像のソートを一時停止するボタンを設ける。このボタンを押下することで、一定時間ごと行われる画像のソートを一時的に停止することができる。なお、前述したようにソートの一時停止中であっても画像の検索は継続する。また、画像のソートを一時停止した後は、ソートを再開することもできる。ソートの一時停止中は、ボタン514が再開ボタンとなり、ソートの一時停止中に再開ボタン514を押下することで、画像のソートを再開することができる。ソートの一時停止を含めた画像の検索フローについて、図7を用いて説明する。なお、図7の検索フローは、図2の検索フローを基にしているので、図2のフローとの差異を中心にして説明を行う。図7のフローチャートに対応する処理は、画像管理アプリケーションをCPU101が実行することにより実現される。
【0037】
ステップ701でCPU101は、画像管理アプリケーションが内部的に持つ変数nを1に、変数t3を0に設定する。nは前述したように、検索対象の全画像数Nに対するインデックスである。t3はソートを行うかを判定するために利用する変数であり、後述するステップでt3の値がソート間隔Tより大きい場合にソートを行う。S702からS708については図2の検索フローと同一なので、説明を省略する。S709でCPU101は、画像のソートが一時停止中であるかを判定する。図5(b)にある一時停止ボタン514が押下されていない場合は、S710に遷移する。
【0038】
S710でCPU101は、現在時刻を取得して変数t2に代入する。次にS711でCPU101は、t2からt1を引いた値と、t3の値を足して、t3に代入する。例えば、変数t1が1234.567秒、変数t2が1235.678秒であった場合を考える。なお、変数t3はS701で0が代入されている。ここで前述の計算を行うと、t3の値は1.111秒となる。図2の検索フローでは単純にt2とt1の差を計算してソートを行うかを判定していたが、図7の場合は、t2とt1の差を計算して、t3にその値を足している。そしてS712でCPU101は、t3の値がソート間隔のT以上であるかを判定する。例えば、ソート間隔Tが7秒で、t3が1.111秒である場合は、t3の値がTより小さいので、S702に遷移して、次の画像の検索を行う。S702に遷移した後は、1枚目の画像の検索と同じようにS702〜S708の処理を行う。
【0039】
そして、S709で画像のソートが一時停止中であるかを判定する。一時停止中でない場合は前述のフローと同じなので、ここでは1枚目の画像の検索が終わった後にユーザが一時停止ボタンを押下して、ソートが一時停止中になっている場合を考える。その場合は、S710に遷移せず、すぐにS702へ遷移する。つまり、一時停止中である場合はS710〜S712が省略されるので、変数t3の値が増加することがなくソートも行われない。
【0040】
このようにS709で、ソートが一時停止中であるかを判定することで、一時停止ボタンが押下されている間は、画像のソートを一時的に停止することができる。また、一時停止中にユーザが再開ボタンを押下した場合は、S710〜S712の処理を行うので、変数t3の値も増加していく。このとき、変数t3にはソートを一時停止する前に加算された値が代入されている。すなわち前述の例では、1.111秒が変数t3に代入されている。つまり、ソートを一時停止した時点での変数t3の値が保持されることになる。そして、検索を続けていく中でS712で変数t3の値がソート間隔T以上になった場合は、S713に遷移して画像のソートを行う。画像のソートを行った後は、変数t3に0を代入して値をリセットする。これにより一時停止指示に基づきソートを停止していた期間の前後で最後にソートを行ってから一定時間が経過した場合に、停止指示の解除後の新たなソートを行なうことができる。なお、本処理の変形例として、一時停止が解除された後に直ちにソートを行っても良い。
【0041】
このようにして画像の検索を繰り返していき、全ての画像の検索が終わったらS715へ遷移する。S715でCPU101は、S709と同じように画像のソートが一時停止中であるかを判定する。全画像の検索が終了した時点で一時停止中である場合は、ソートを行わずに検索を終了する。図2の検索フローの場合は、検索終了時にも画像のソートを行っていたが、図7のフローでは一時停止ボタンが押下されている場合は、検索終了時にもソートを行わない。また、検索終了時に一時停止ボタンが押下されていない場合は、図2のフローと同じようにS716に遷移して画像のソートを行う。
【0042】
以上の処理によれば、検索結果の画像の表示状態を一時停止指示により維持することが可能となるので、ユーザは、コンテンツの検索途中で所望のコンテンツが見つかった場合、そのコンテンツを選択することが容易となる。
【0043】
次に、コンテンツの検索中に、次のソートを行うまでの残り時間を表示する処理について図6の(a)を用いて説明する。例えば、検索途中にユーザが検索結果のコンテンツを選択しようとした場合、ソート直前にコンテンツを選択してしまうと、ユーザがマウス操作などを行っている間にソートが行われてしまい、選択しようとした画像が別の位置に移動してしまうことが考えられる。そこで、コンテンツの検索中は次のソートを行うまでの残り時間を表示しておくことで、ユーザがコンテンツを選択するタイミングの目安にすることができる。ここでは、残り時間の表示方法について2つの例を説明する。第一に、図6の(a)のエリア513にあるように、残り時間をそのまま文字列として表示する方法である。図6の(a)の例では、残り3秒と表示されているので、3秒後にソートが行われることが明確に分かるようになっている。また、ここでは1秒単位で次のソートを行うまでの残り時間を表示している。残り時間は、例えば0.001秒単位で表示することもできるが、その場合0.001秒単位で残り時間の文字列の更新を行うことになり、ユーザにとっては表示が煩わしい可能性もある。そこで、ここでは1秒単位で残り時間を表示するようにしている。
【0044】
第二の残り時間の表示方法として、同じエリア513にあるようにアイコンを表示して、残り時間に応じた制御を行う方法がある。図6の(a)の例では、7個のランプのうち左4つのランプが点灯し、右3つのランプが消灯している。これは、前回ソートを行ってから既に4秒の時間が経過していることを点灯しているランプの数で示しており、次のソートを行うまので時間が3秒であることを消灯しているランプの数で示している。
【0045】
つまり、検索開始時はランプが全て消灯しており、1秒経過するごとにランプが左から順に1つずつ点灯していくことになる。そして、全てのランプが点灯すると、コンテンツのソートを行う。ソート後はランプが全て消灯し、再度同じフローでランプの点灯を繰り返していく。このように、点灯または消灯しているランプの数に応じて次のソートを行うまでの残り時間を表すことで、ユーザにとって直感的に次のソートを行うまでの残り時間が分かるようになっている。
【0046】
なお、ここではソート間隔が7秒でランプの数も7個であるため、1秒毎にランプを点灯するようにしているが、ランプを点灯する間隔は、ソート間隔とランプの数によって決めることができる。例えば、ソート間隔が20秒でランプの数が5個の場合は、4秒毎にランプを点灯していけばよい。
【0047】
次に、検索中に画像をソートする際に、ユーザによる操作がなくなってから所定時間が経過する毎に画像をソートする処理について、図8を用いて説明する。例えば、検索中にユーザが注目して確認したい画像が見つかった場合は、マウスやキーボード操作をして表示されている画像を選択しようとすることが考えられる。このようなユーザ操作が行われる際に画像をソートしてしまうと、ユーザが選択しようとした画像が別の位置に移動してしまい、誤った画像を選択してしまうことが考えられる。そこで、ユーザによる操作がなくなってから所定時間が経過した場合に画像をソートすることで、前述のような問題を防ぐことができる。
【0048】
以下、図8の検索フローについて具体的に説明する。なお、図8の検索フローは、図2の画像検索フローを基にしており、図2のフローと異なるのはS810の処理だけであるので、S810の処理を中心にして説明を行う。S801〜S809の処理は図2の検索フローと同一なので、説明を省略する。次に、S810でCPU101は、t1からt2の間にユーザ操作が行われたかを判定する。なお、ここでのユーザ操作とは、検索を行っている情報処理装置100の操作部106に対する操作をいう。当該操作には、マウス操作やキーボード操作が含まれる。この判定を行うためには、t1からt2の間にユーザ操作が行われた場合に、画像管理アプリケーションが内部的なフラグを立てておき、S810ではそのフラグを見てユーザ操作が行われたかを判定するなどの方法が考えられる。
【0049】
ここで、t1からt2の間にユーザ操作が行われていない場合は、S811に遷移する。そしてS811以降は、前述の図2の検索フローと同じように、変数t2とt1の差を算出し、その値がソート間隔のT以上であるかを判定する。なお、時間間隔Tは、図2のS210における時間間隔Tと同一の値であってもよいし、異なる値であっても良い。そして、変数t2とt1の差がソート間隔T以上であればS812に遷移して画像のソートを行い、変数t2とt1の差がソート間隔Tより小さい場合は、S803に遷移して次の画像の検索を行う。
【0050】
ここで、1枚目の画像の検索が終わるまではユーザ操作はなかったが、2枚目の画像の検索を行っている間にユーザ操作が行われたとする。その場合は、2枚目の検索が終わった後に、S810からS802へ遷移する。S802へ遷移すると変数t1に現在時刻が代入されるので、ソートを行うタイミングを判定する基準時刻がリセットされる。そして、S803へ遷移して次の画像の検索を行う。以降は前述のフローを繰り返して検索を行っていき、t1からt2の間にユーザ操作が行われなかった場合は画像のソートを行う。そして、全画像の検索が終了した後に、S813で画像のソートを行う。
【0051】
以上の処理によれば、ユーザが操作部106を操作すれば、検索結果の画像の表示状態を維持することが可能となるので、ユーザは、コンテンツの検索途中で所望のコンテンツが見つかった場合、そのコンテンツを選択することが容易となる。 なお、図2、図7及び図8に記載したフローチャートに対応する処理は、それぞれ独立に実施されてもよいし、或いは、それらの処理を任意の組み合わせにおいて実施しても良い。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0052】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
コンテンツの検索を行なう情報処理装置であって、
コンテンツを格納する格納手段と、
前記格納手段に格納されたコンテンツを順次選択し、指定された検索条件を満たすか否かを判定することで、コンテンツの検索を行う検索手段と、
前記検索手段により順次選択され、前記検索条件を満たすと判定されたコンテンツを、検索途中で表示部に順次表示させる表示制御手段と、
前記表示制御手段が前記表示部に順次表示した前記コンテンツを、指定されたソート順に従って一定時間ごとにソートするソート手段と
を備え、
前記表示制御手段は、前記ソート手段による前記ソートが行われてソートされた結果のコンテンツを表示した後、前記一定時間が経過するまでは、前記検索手段により新たに検索されたコンテンツを、前記ソート手段によるソートを実行しない状態で、前記ソートが行われた結果のコンテンツに追加して前記表示部に順次表示させる
ことを特徴とする情報処理装置。
【請求項2】
前記情報処理装置のユーザから、前記表示部に表示されているいずれかのコンテンツの選択を受け付けた場合、
前記ソート手段は、前記ソートにおいて当該選択されたコンテンツの優先度を他のコンテンツよりも優先させる
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置のユーザから、前記ソート手段によるソートの停止指示を受け付けた場合、
前記ソート手段は、前記停止指示の解除をさらに受け付けるまで前記ソートを停止し、
前記表示制御手段は、前記停止指示を受け付けた後に前記検索手段より新たに検索されたコンテンツを、前記ソート手段によるソートを実行しない状態で、前記停止指示を受け付けた時点でのソートの結果に追加して前記表示部に表示させる
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記ソート手段は、前記停止指示に基づき前記ソートを停止していた期間の前後で、最後にソートを行ってから前記一定時間が経過した場合に、前記停止指示の解除後の新たなソートを行なうことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記情報処理装置のユーザから操作を受け付けた場合、該操作を受け付けなくなった期間が所定時間を経過するまで前記ソート手段は前記ソートを停止し、
前記表示制御手段は、前記操作を受け付けた後に前記検索手段が更に行った検索の結果を、前記操作を受け付けた時点でのソートの結果に追加して前記表示部に順次表示させる
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記表示制御手段は、ソートがされた結果と共に、前記ソート手段による前記一定時間ごとのソートが行われるまでの残り時間を前記表示部に更に表示させることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
コンテンツの検索を行なう情報処理装置の制御方法であって、
検索手段が、格納手段に格納されたコンテンツを順次選択し、指定された検索条件を満たすか否かを判定することで、コンテンツの検索を行う検索工程と、
表示制御手段が、前記検索工程で順次選択され、前記検索条件を満たすと判定されたコンテンツを、検索途中で表示部に順次表示させる表示制御工程と、
ソート手段が、前記表示制御工程において前記表示部に順次表示した前記コンテンツを、指定されたソート順に従って一定時間ごとにソートするソート工程と
を備え、
前記表示制御工程では、前記ソート工程における前記ソートが行われてソートされた結果のコンテンツを表示した後、前記一定時間が経過するまでは、前記検索工程において新たに検索されたコンテンツを、前記ソート手段によるソートを実行しない状態で、前記ソートが行われた結果のコンテンツに追加して前記表示部に順次表示させる
ことを特徴とする情報処理装置の制御方法。
【請求項8】
コンテンツを格納する格納手段を有するコンピュータを、請求項1乃至6のいずれか1項に記載の検索手段、表示制御手段及びソート手段を有する情報処理装置として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図7】
image rotate

【図8】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−242854(P2012−242854A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−108732(P2011−108732)
【出願日】平成23年5月13日(2011.5.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】