図1は、本発明の画像検索システム10の構成の概略を示す図、図2は、画像検索システム10を構成する表示装置16aの構成の概略を示す図である。図1に示すように、画像検索システム10は、画像検索サーバ15と、電子機器16とから構成される。この電子機器16と画像検索サーバ15とはインターネット17を介してネットワーク接続される。電子機器16としては、表示装置16a、PC16c、携帯型電話機16cなど、表示部を備えた、又は表示部との接続が可能な電子機器が挙げられる。以下では、電子機器16として表示装置16aを挙げて説明する。
表示装置16aは、例えばテレビジョン(TV)装置が挙げられる。表示装置16aは、CPU21はROM22に記憶された制御プログラム(図示省略)を実行することで、表示装置16aの各部を統括的に制御する。なお、このCPU21には、後述する操作部26からの操作信号が入力されるので、これら操作信号に基づいた処理が実行される。ROM22は、制御プログラムの他に、WEBブラウザ23と呼ばれるアプリケーションソフトを記憶する。このWEBブラウザ23は、CPU21により実行されることで、インターネット17を介して画像検索サーバ15と接続される。これにより、表示装置16aと画像検索サーバ15との間で各種信号やデータの送受信を行うことが可能となる。RAM24は、CPU21における制御の際に生成される数値や、画像検索サーバ15から送信された各種信号やデータが一時的に格納される。なお、CPU21は、バス25を介して、上述したROM22やRAM24の他に、通信I/F27、表示制御回路28、メディアスロット29、I/Fポート30などと接続される。
操作部26は、画像検索時に画像一覧が表示部31に表示されたときに選択エリアを指定する際に操作される。この選択エリアは、二次元に配置される複数の画像の配置領域から、検索対象となる範囲を絞り込むために用いられる。なお、この選択エリアは、画像一覧として表示される画像の画像数に応じて、その大きさが変化する。なお、実際には、選択エリアを示す表示として、後述するエリア枠が挙げられる。
また、操作部26は、表示倍率を変更する際にも操作される。この表示倍率を変更することによって、表示部31に表示される画像数が変更される。例えば表示倍率を大きくすると、表示部31に表示される画像数、つまり検索対象となる画像が絞り込まれる。以下、表示部31に1つの画像が表示されるときを拡大率が最大であると称する。一方、表示倍率を小さすると、表示部31に表示される画像数が多くなる。以下、全ての画像が表示されるときを、縮小率が最大であると称する。
なお、本実施形態では表示装置16aとしてテレビジョンを挙げていることから、この操作部26としては、表示装置16aに設けられた入力操作部26やリモートコントローラなどが挙げられる。なお、マウスやキーボードを接続することができるのであれば、これらマウスやキーボードも操作部26となる。通信I/F27は、ルータやモデムなどが挙げられる。この通信I/F27を介してインターネット17に接続される。
表示制御回路28は、表示部31の駆動を制御する。表示装置16aが液晶表示装置であれば、表示部31は、液晶パネルとバックライトとから構成されることから、表示制御回路28は、これら液晶パネルとバックライトとの駆動制御を行う。メディアスロット29は、メモリカード、光学ディスク及び磁気ディスクなどの記憶媒体32が抜き差しされる。I/Fポート30は、例えばUSB規格のケーブル端子を接続する接続ポートや、IEEE規格のケーブル端子を接続する接続ポートなどから構成される。このI/Fポート30を介して、USBメモリ33、ハードディスクドライブ(HDD)34などが電気的に接続される。
このような表示装置16aを含む電子機器16がネットワーク接続される画像検索サーバ15は、以下の構成からなる。この画像検索サーバ15は、CPU41、ROM42、RAM43、データベース44及び通信I/F45等を備えている。なお、これらは、バス46を介して接続される。CPU41は、画像検索サーバ15の各部を統括的に制御する。ROM42は、画像検索用プログラム48や図示を省略した制御プログラムが記憶される。RAM43は、CPU41がこれらプログラムを実行することで算出される演算子や受信したデータなどが一次記憶される。
データベース44は、画像ファイル49が記憶される。この画像検索サーバ15には、複数のユーザが接続することが一般的であることから、データベース44に記憶される画像ファイル49は、該画像検索サーバ15に接続可能なユーザ毎に生成されたフォルダにまとめられて記憶されるのが一般的である。しかしながら、本実施形態では、説明を簡略化するために、1人のユーザが接続することが可能な画像検索サーバ15の場合について説明する。なお、上述した画像ファイル49は、デジタルカメラやカメラ機能付き携帯電話機などにより撮影された静止画像や動画像の元になる画像ファイルである。画像ファイル49が静止画像に基づいたものであれば、この画像ファイル49は、静止画像データやサムネイル画像データの他に、撮影情報などの付帯情報がまとめられている。また、このデータベース44には、画像一覧の元になる画像データ(以下、一覧画像データ)50が複数記憶される。
上述したCPU41は、ROM42に記憶された画像検索用プログラム48を実行することで、トリミング処理部51、画像配置部52及び画像合成部53の機能を有する。
トリミング処理部51は、データベース44に記憶された画像ファイル49から読み出されたサムネイル画像データを読み出しトリミング処理を実行する。周知のようにトリミング処理は、画像から必要な領域を切り出す処理である。
例えば撮影時に取得される画像のアスペクト比は4:3(横縦比1.33:1)又は16:9(横縦比1.78:1)が用いられるのが一般的である。そこで、トリミング処理部51では、トリミング処理後の画像における横縦比が1:1となるように、各画像に対するトリミング処理を行う。例えば横長の画像であれば、画像の左右を残して画像の中心のみを切り出す。また、縦長の画像であれば、画像の上下を残して画像の中心のみを切り出す。つまり、短辺の長さに合わせて長辺が切り取られる。このトリミング処理は、データベース44に記憶される全ての画像ファイル49のサムネイル画像データを対象として実行される。
画像配置部52は、トリミング処理済みの画像データに対して、画像サイズが同一サイズとなるようにリサイズ処理を施した後、リサイズ処理が施された画像データを配置する。以下、リサイズ処理が施された画像データを、検索用画像データと称する。なお、検索用画像データは、例えば撮影日時に基づいて所定の順序で配置される。なお、撮影日時に限定される必要はなく、例えばイベント毎に分けて、又は画像に含まれる被写体毎に分けて配置してもよい。
以下、検索用画像を配置する手順を説明する。画像配置部52は、検索用画像を、例えば縦2個×横3個の計6個などの最小画像数配置した第1画像配置領域61を形成するように検索用画像のそれぞれを配置する。図3に示すように、第1画像配置領域61を形成する際の検索用画像の配列順序は、配置領域62a、配置領域62b、配置領域62c、配置領域62d、配置領域62e、配置領域62fの順となる。
図4に示すように、検索用画像を配列した第1画像配置領域61aが形成されると、画像配置部52は、形成された第1画像配置領域61aの右隣に検索用画像を配置していく。そして、第1画像配置領域61bが形成されると、画像配置部52は、領域61cに検索用画像を配置していく。そして、横方向に4つの第1画像配置領域61a〜61dが配置されると、画像配置部52は、第1画像配置領域61aの下隣となる位置に、検索用画像を配置していく。これにより、横方向に4つの第1画像配置領域61e〜61hがそれぞれ形成される。同様にして、画像配置部52は、領域61i、領域61j、領域61k、領域61lの順で検索用画像を配置することで、第1画像配置領域を形成する。最後に、画像配置部52は、領域61m、領域61n、領域61o、領域61pの順で検索用画像を配置し、第1画像配置領域を形成する。このようにして、縦4個×横4個の計16個の第1画像配置領域61を組み合わせることで、第2画像配置領域63が形成される。
画像配置部52は、第2画像配置領域63が形成されると、形成された第2画像配置領域63の右隣に検索用画像を配置していく。なお、この検索用画像を配置していく手順は、上述した手順と同様であることから、ここでは、省略する。これにより、第3画像配置領域64が形成される。なお、第3画像配置領域64が形成される位置の順序は、第2画像配置領域が形成される位置の順序と同一である。この様に、縦4個×横4個の計16個の第2画像配置領域63を組み合わせると、第3画像配置領域64が形成される(図5参照)。
画像合成部53は、画像配置部52によって配置された画像を合成することで、画像一覧用の画像を生成する。なお、この画像一覧用の画像の元になる一覧画像データ50はデータベース44に記憶される。画像一覧を表示する際には、この一覧画像データ50が表示装置16aに送信される。
次に、画像検索時の表示装置における処理の流れについて、図6のフローチャートに基づいて説明する。
ステップS101は、WEBブラウザ23を起動したか否かを判定する処理である。操作部26を操作することによって、操作部26からの操作信号がCPU21に入力される。CPU21に入力される操作信号が、WEBブラウザ23を起動する旨の信号であれば、CPU21は、WEBブラウザ23を起動すると判定する。この場合、ステップS101の判定処理がYesとなり、ステップS102に進む。一方、CPU21に入力される操作信号がWEBブラウザ23を起動する旨の信号以外であれば、CPU21は、WEBブラウザ23を起動しないと判定する。この場合ステップS101の判定処理がNoとなり、操作信号に基づく処理を実行する。この場合、操作信号に基づく処理が実行されることから、画像検索に係る処理は実行されないので、このフローチャートの処理は終了する。
ステップS102は、WEBブラウザ23を起動する処理である。CPU21は、ROM22に記憶されたWEBブラウザ23を読み出して、読み出したWEBブラウザ23を起動する。WEBブラウザ23を起動する際には、CPU21は、WEBブラウザ23を起動したことを示す起動コマンドを画像検索サーバ15に送信している。なお、画像検索サーバ15によって画像検索用プログラム48が実行されることで、メニュー画像の元になる画像データが表示装置16aに送信される。これを受けて、CPU21は、表示制御回路28にメニュー画像データを出力する。これにより、表示制御回路28は、表示部31にメニュー画像を表示させる。
ステップS103は、画像一覧の表示の指示があるか否かを判定する処理である。操作部26による操作信号が、画像一覧の表示の指示を示すものであれば、CPU21は、このステップS103の判定をYesとする。この場合ステップS104に進む。一方、操作部26による操作信号が、画像一覧の表示の指示を示すものでない場合には、CPU21は、ステップS103の判定をNoとする。この場合、画像一覧の表示の指示を示す操作信号がCPU21に入力されるまで、このステップS103の判定処理が実行される。
ステップS104は、画像一覧表示コマンドを送信する処理である。CPU21は、画像検索サーバ15に対して画像一覧表示コマンドを送信する。
ステップS105は、一覧画像データを受信したか否かを判定する処理である。一覧画像データ50を受信した場合には、CPU21はステップS105の判定処理をYesとする。この場合、ステップS106に進む。なお、一覧画像データ50は、RAM24に一次記憶される。一方、一覧画像データ50を受信していない場合には、CPU21はステップS105の判定処理をNoとする。この場合、一覧画像データ50を受信するまで、ステップS105の判定処理を繰り返し実行する。
ステップS106は、画像一覧を表示するステップである。CPU21は、RAM24に記憶された一覧画像データ50を読み出し、表示制御回路28に出力する。これにより、表示部31には、画像一覧が表示される。この画像一覧としては、図9に示すように、第3画像配置領域64を表示範囲とした画像一覧が挙げられる。なお、図9においては、図の煩雑さを解消するために、各画像配置領域に配置される画像については省略している。なお、第3画像配置領域64を表示範囲とした画像一覧が表示部31に表示されたときには、選択エリアを示すエリア枠71が、画像一覧と重畳されて表示される。この場合、エリア枠71の大きさとして、第2画像配置領域63の大きさが用いられる。
ステップS107は、エリア枠を移動するか否かを判定する処理である。操作部26の操作信号がCPU21に入力されると、CPU21は、入力された操作信号がエリア枠71を移動する旨の信号であるか否かを判定する。例えば操作部26の操作信号が、エリアを選択する旨の信号であれば、CPU21は、ステップS107の判定処理をYesとする。一方、操作部26の操作信号が、選択エリアを選択する旨の信号でない場合には、CPU21は、ステップS107の判定処理をNoとする。この場合は、ステップS109に進む。
ステップS108は、エリア枠を移動させる処理である。ステップS107において、CPU21に入力される操作信号がエリア枠71を移動させる旨の信号であると判定されているので、CPU21は、表示制御回路28に該操作信号に基づくエリア枠71の移動方向を示す信号を出力する。これを受けて、表示制御回路28は、画像一覧に重畳表示されるエリア枠71を図9中x方向又はy方向に移動させる。
ステップS109は、エリア枠の位置を決定するか否かを判定する処理である。操作部26の操作信号がエリア枠71の位置を決定する旨の信号である場合には、このステップS109の判定処理をYesとする。この場合、ステップS110に進む。一方、操作部26の操作信号がない場合や、異なる信号である場合には、このステップS109の判定処理をNoとする。この場合、ステップS107に戻る。
ステップS110は、拡大表示をするか否かを判定する処理である。操作部26の操作による操作信号が、拡大表示を示す旨の信号であれば、CPU21は、このステップS110の判定処理をYesとし、ステップS111に進む。一方、操作信号が拡大表示を示す旨の信号でない場合には、CPU21は、このステップS110の判定処理をNoとし、ステップS121に進む。
ステップS111は、拡大率が最大であるか否かを判定する処理である。画像一覧を表示する際の拡大率は、少なくとも上限値が設定されている。この拡大率が最大となる場合には、CPU21は、ステップS111の判定処理をYesとする。この場合、ステップS115に進む。一方、拡大率が最大でない場合には、CPU21はステップS111の判定処理をNoとし、ステップS112に進む。
ステップS112は、拡大表示コマンドを画像検索サーバ15に送信する処理である。表示制御回路28は、エリア枠の大きさと位置とを示す情報をCPU21に出力する。これを受けて、CPU21は、エリア枠の大きさと位置とを示す情報を拡大表示コマンドに付与した後、該拡大表示コマンドを画像検索サーバ15に送信する。
ステップS113は、一覧画像データを受信したか否かを判定する処理である。一覧画像データ50を受信していれば、CPU21は、このステップS113の判定処理をYesとする。この場合、ステップS114に進む。なお、受信した一覧画像データ50は、RAM24に一次記憶される。一方、一覧画像データ50を受信していない場合には、CPU21は、このステップS113の判定処理をNoとする。この場合、一覧画像データ50を受信するまで、このステップS113の判定処理を実行する。
ステップS114は、画像一覧の表示を行う処理である。CPU21はRAM24に記憶された一覧画像データ50を表示制御回路28に出力する。これを受けて、表示部31に表示される画像が差し替えられる。例えば、第3画像配置領域64を表示範囲にした画像一覧が表示部31の表示画面31aに表示された場合、エリア枠71は該第3画像配置領域64に含まれる第2画像配置領域63のいずかが選択されるので、第3画像配置領域64を表示範囲にした画像一覧の表示から、選択された第2画像配置領域63を表示範囲とした画像一覧に切り替わる(図9及び図10参照)。この画像一覧の切り替えとしては、例えばエリア枠71に含まれる画像がそれぞれ拡大される様子を擬似的に表示することが可能である。
なお、第3画像配置領域64は、第2画像配置領域63を縦4個×横4個の計16個を配置したものであるから、第2画像配置領域63を表示範囲とした画像一覧を表示したときの画像数は、第3画像配置領域64を表示範囲とした画像一覧を表示したときの画像数の1/16となる。一方、第2画像配置領域63を表示範囲とした画像一覧を表示したときの画像の表示面積は、第3画像配置領域64を表示範囲とした画像一覧を表示したときの画像の表示面積は16倍となる。なお、第2画像配置領域63を表示範囲とした画像一覧が表示部31の表示画面31aに表示されたときには、選択エリアを示すエリア枠72が、第1画像配置領域61のいずれかに重畳されて表示される。この場合、エリア枠72の大きさは、配置領域62の大きさとなる。
ステップS115は、画像検索を終了するか否かを判定する処理である。操作部26による操作信号が画像検索を終了する旨の信号であれば、CPU21は、このステップS115の判定処理をYesとする。この場合ステップS116に進む。一方、操作部26による操作信号が画像検索を終了する旨の信号でない場合、CPU21は、このステップS115の判定処理をNoとする。この場合、ステップS107に戻る。
ステップS116は、WEBブラウザ23を終了するか否かを判定する処理である。操作部26からの操作信号がWEBブラウザ23を終了する旨の信号であれば、CPU21は、ステップS116の判定処理をYesとする。この場合、一連の処理が終了する。この際、CPU21は、WEBブラウザ23を終了する際に、画像検索サーバ15に向けて終了コマンドを送信する。一方、操作部26からの操作信号がWEBブラウザ23を終了する旨の信号でない場合には、CPU21は、ステップS116の判定処理をNoとする。この場合、ステップS103に戻る。
ステップS110において、CPU21に入力される操作信号が、拡大表示を行う旨の信号でない場合には、ステップS121に進む。
ステップS121は、縮小表示をするか否かを判定する処理である。操作部26の操作による操作信号が、縮小表示を示す旨の信号であれば、CPU21は、このステップS121の判定処理をYesとし、ステップS122に進む。一方、操作信号が縮小表示を示す旨の信号でない場合には、CPU21は、このステップS121の判定処理をNoとし、ステップS115に進む。
ステップS122は、縮小率が最大であるか否かを判定する処理である。画像一覧を表示する際の縮小率は、少なくとも上限値が設定されている。この縮小率が最大となる場合には、CPU21は、ステップS122の判定処理をYesとする。この場合、ステップS115に進む。一方、縮小率が最大でない場合には、CPU21はステップS122の判定処理をNoとし、ステップS123に進む。
ステップS123は、縮小表示コマンドを画像検索サーバ15に送信する処理である。表示制御回路28は、エリア枠の大きさと位置とを示す情報をCPU21に出力する。これを受けて、CPU21は、エリア枠の大きさと位置とを示す情報を縮小表示コマンドに付与した後、該縮小表示コマンドを画像検索サーバ15に送信する。
ステップS124は、一覧画像データを受信したか否かを判定する処理である。一覧画像データ50を受信すれば、CPU21は、このステップS124の判定処理をYesとする。この場合、ステップS125に進む。なお、受信した一覧画像データ50は、RAM24に一次記憶される。一方、一覧画像データ50を受信していない場合には、CPU21は、このステップS124の判定処理をNoとする。この場合、一覧画像データ50を受信するまで、このステップS124の判定処理を実行する。
ステップS125は、画像一覧の表示を行う処理である。CPU21はRAM24に記憶された一覧画像データ50を表示制御回路28に出力する。これを受けて、表示制御回路28は、一覧画像データ50に基づく画像を表示部31に表示する。これにより、決定されたエリア枠内に配置される画像が縮小された画像一覧が表示される。なお、この場合、エリア枠は、縮小率に応じた大きさのものが画像一覧に重畳される。この処理が実行されると、ステップS115に進む。
例えば、図10に示すように、第2画像配置領域63を表示範囲とした画像一覧を表示部31に表示している際に縮小表示を行う場合には、第3画像配置領域64を表示範囲とした画像一覧に切り替わる(図9参照)。上述したように、第3画像配置領域64は、第2画像配置領域63を縦4個×横4個の計16個配置したものであるから、第2画像配置領域63を表示範囲とした画像一覧から、第3画像配置領域64を表示範囲とした画像一覧に切り替えた場合には、表示される画像数は16倍となり、画像の表示面積は1/16に縮小される。
次に、画像検索時における画像検索サーバ15の処理の流れを、図7及び図8に示すフローチャートに基づいて説明する。ステップS201は、起動コマンドを受信したか否かを判定する処理である。表示装置16aにおいて、WEBブラウザを起動させたときには、起動コマンドが表示装置16aから画像検索サーバ15に送信される。起動コマンドを受信した場合には、CPU41は、このステップS201の判定処理をYesとする。この場合、ステップS202に進む。一方、起動コマンドを受信していない場合には、CPU41は、ステップS201の判定処理をNoとし、起動コマンドを受信したと判定されるまで、ステップS201の判定処理が繰り返し実行される。
ステップS202は、画像検索用プログラムを実行する処理である。CPU41は、ROM42に記憶された画像検索用プログラム48を読み出し、該アプリケーションソフトを実行する。この画像検索用プログラム48を実行することで、CPU41は、メニュー画像の元になる画像データを表示装置16aに送信する。
ステップS203は、画像一覧表示コマンドを受信したか否かを判定する処理である。表示装置16aから、画像一覧表示コマンドを受信した場合には、CPU41は、このステップS203の判定処理をYesとし、ステップS204に進む。一方、画像一覧表示コマンドを受信していない場合には、CPU41は、ステップS203の判定処理をNoとする。この場合、画像一覧表示コマンドが受信されるまで、このステップS203の判定処理が繰り返し実行される。
ステップS204は、画像データに対するトリミング処理である。CPU41は、データベース44に記憶された画像ファイルからサムネイル画像データを読み出す。そして、サムネイル画像データに基づく画像の横縦比が1:1となるように、画像の中心部分を切り出す。なお、この際に、画像の短辺の長さはトリミング処理前と、トリミング処理後とは同一の長さとなる。なお、このステップS204におけるトリミング処理は、データベース44に記憶された全画像ファイルに記憶されたサムネイル画像データに対して実行される。
ステップS205は、画像データを配置する処理である。CPU41は、ステップS204にて実行されたトリミング処理済みの画像データに対して、画像サイズが一定の大きさとなるようにリサイズ処理を施す。これにより、検索用画像の元になる画像データ(検索用画像データ)が生成される。なお、トリミング処理済みの画像データの画像サイズが、配置する検索用画像データの画像サイズと一致している場合には、トリミング処理済みの画像データが検索用画像データとして使用される。
この検索用画像データを下記に示す手順で配置する。まず、CPU41は、配置領域62a、配置領域62b、配置領域62c、配置領域62d、配置領域62e、配置領域62fの順で検索用画像を配置する。これにより、第1画像配置領域61aが形成される(図4参照)。第1画像配置領域61aへの画像の配置が終了すると、領域61bに検索用画像が同様の手順で配置され、第1画像配置領域が形成される。以下、領域61c、領域61d、領域61e、領域61f、領域61g、・・・・領域61pの順で配置され、各第1画像配置領域61が形成される。これら縦4個×横4個の計16個の第1画像配置領域61を組み合わせることで、第2画像配置領域63が形成される。同様にして、縦4個×横4個の計16個の第2画像配置領域63を組み合わせることで第3画像配置領域64が形成される。そして、全ての検索用画像が配置されることで、ステップS205の処理が終了する。
ステップS206は、画像データを合成する処理である。ステップS207において、トリミング処理された検索用画像が全て配置されていることから、CPU41は、配置された検索用画像を合成し、一つの画像を生成する。この合成された画像の元になる画像データが一覧画像データ50としてデータベース44に記憶される。
ステップS207は、一覧画像データを送信する処理である。CPU41は、データベースに記憶された一覧画像データ50を読み出し、該一覧画像データ50を表示装置16aに送信する。
ステップS208は、拡大表示コマンドの受信があるか否かを判定する処理である。画像一覧を拡大する際には、表示装置16aから画像検索サーバ15に拡大表示コマンドが送信される。拡大表示コマンドを受信した場合には、CPU41はステップS208の判定処理をYesとし、ステップS209に進む。一方、拡大表示コマンドを受信していない場合には、CPU41はステップS208の判定処理をNoとし、ステップS221に進む。
ステップS209は、拡大率が最大であるか否かを判定する処理である。拡大表示コマンドには、エリア枠の大きさと位置とを示す情報が付与されている。CPU41は、エリア枠の大きさが、検索用画像の大きさであるか否かを判定する。例えばエリア枠の大きさが、検索用画像の大きさであれば、指定される拡大率は最大となるので、CPU41は、ステップS209の判定処理をYesとする。この場合ステップS211に進む。一方、エリア枠の大きさが第1画像配置領域61以上の大きさであれば、指定される拡大率は最大ではないので、CPU41は、ステップS209の判定処理をNoとする。この場合、ステップS215に進む。
ステップS210は、画像データを読み出す処理である。ステップS210において、エリア枠の大きさが検索用画像の大きさであると判定されている。また、拡大表示コマンドには、エリア枠の位置を示す情報が付与されている。CPU41は、このエリア枠の位置を示す情報と、データベース44に記憶された一覧画像データとから、検索用画像を特定する。そして、特定された検索用画像の元になる画像ファイルから、サムネイル画像データ又は、静止画像データを読み出す。
ステップS211は、画像データを送信する処理である。ステップS210によって、サムネイル画像データ又は静止画像データが読み出されているので、CPU41は、読み出した画像データを画像一覧データ50として表示装置16aに送信する。
ステップS212は、画像検索終了コマンドを受信したか否かを判定する処理である。表示装置16aから画像検索終了コマンドを受信した場合には、CPU41は、このステップS212の判定処理をYesとして、ステップS213に進む。一方、表示装置16aから画像検索終了コマンドを受信していない場合には、CPU41は、このステップS212の判定処理をNoとして、ステップS208に戻る。
ステップS213は、画像検索プログラムを終了する処理である。このステップS213を実行することで、ネットワーク接続を利用した画像検索が終了する。
一方、ステップS209の判定処理においてNoとなる場合、つまり指定される拡大率は最大ではない場合には、ステップS215に進む。
ステップS215は、画像データに対するトリミング処理である。CPU41は、一覧画像データと、拡大表示コマンドに付与されたエリア枠の位置を示す情報とを用いて、エリア枠に含まれる検索用画像を特定する。そして、特定された検索用画像に基づく画像ファイルからサムネイル画像データを読み出す。そして、サムネイル画像データに基づく画像の横縦比が1:1となるように、画像の中心部分を切り出す。
ステップS216は、画像データを配置する処理である。CPU41は、トリミング処理済みの画像データに対して、一定の画像サイズとなるようにリサイズ処理を施し、検索用画像データを生成する。この生成された検索用画像データを用いて、各画像データを配置する。
ステップS217は、画像データを合成する処理である。ステップS216において、検索用画像データが全て配置されていることから、CPU41は、配置された検索用画像データを合成し、一覧画像データ50を生成する。生成された一覧画像データ50は、データベース44に記憶される。
ステップS218は、一覧画像データを送信する処理である。CPU41は、ステップS217により生成された一覧画像データ50を読み出す。そして、CPU41は、読み出した一覧画像データを表示装置16aに送信する。このステップS218の処理が実行されると、ステップS212に進む。これにより、拡大表示コマンドを受信した場合には、拡大表示コマンドに付与されたエリア枠の大きさや位置の情報に基づいたサムネイル画像データが読み出され、一覧画像データが生成される。
また、ステップS208の判定処理においてNoとなる場合、つまり、受信したコマンドが拡大表示コマンドでない場合には、ステップS221に進む。
ステップS221は、縮小表示コマンドを受信したか否かを判定する処理である。画像一覧を縮小する際には、表示装置16aから画像検索サーバ15に縮小表示コマンドが送信される。縮小表示コマンドを受信した場合には、CPU41はステップS221の判定処理をYesとし、ステップS222に進む。一方、縮小表示コマンドを受信していない場合には、CPU41はステップS221の判定処理をNoとし、ステップS212に進む。
ステップS222は、一覧画像データを読み出す処理である。CPU41は、データベース44に記憶された過去の一覧画像データ50から、2番目に新しく生成された一覧画像データを読み出す。なお、最も新しく生成された一覧画像データは、表示装置16aの表示部31に表示された画像一覧の元になる画像データである。
ステップS223は、一覧画像データを送信する処理である。CPU41は、データベース44から読み出した一覧画像データ50を表示装置16aに送信する。このステップS223の処理が終了すると、ステップS212に進む。このように、縮小表示コマンドを受信した場合には、新たに一覧画像データを生成せずに、データベース44に記憶された一覧画像データを読み出すだけで済むので、一覧画像データを生成する手間を省くことができる。
以下、表示部31における表示形態について説明する。図9に示すように、画像一覧の表示として、第3画像配置領域64を表示範囲とした画像一覧が表示されている場合、第2画像配置領域63の大きさのエリア枠71が、画像一覧とともに表示部31の表示画面31aに表示される。ユーザが操作部26を操作することで、エリア枠71がx方向又はy方向に移動する。このとき、エリア枠71は、隣り合う第2画像配置領域63毎にずれながら移動する。エリア枠71の位置が、ユーザの意図する位置となる場合に、操作部26を操作してエリア枠71の位置を決定した後、拡大表示する旨の操作を行うことで、エリア枠71により決定された第2画像配置領域63を表示範囲とした画像一覧が表示部31の表示画面31aに表示される(図10参照)。なお、第3画像配置領域64は、縦4個×横4個計16個の第2画像配置領域63からなるので、1つの第2画像配置領域63を表示範囲とした画像一覧を表示させると、16倍の表示倍率で画像が拡大表示される。
第2画像配置領域63を表示範囲とした画像一覧が表示部31の表示画面31aに表示されたときには、選択エリアを示すエリア枠72が重畳されて表示される。なお、このエリア枠72は、第1画像配置領域61の大きさからなる。この場合も、同様にして、ユーザは操作部26を操作して、エリア枠72をユーザの意図する位置に移動させる。このとき、エリア枠72は、エリア枠71は、隣り合う第1画像配置領域61毎にずれながら移動する。エリア枠72の位置が、ユーザの意図する位置となる場合に、操作部26を操作してエリア枠72の位置を決定する。この決定の後、ユーザは拡大表示する旨の操作を行うことで、エリア枠72により決定された第1画像配置領域61を表示範囲とした画像一覧が表示部31の表示画面31aに表示される(図11参照)。なお、第2画像配置領域63は、縦4個×横4個計16個の第1画像配置領域61からなるので、1つの第1画像配置領域61を表示範囲とした画像一覧を表示させると、16倍の表示倍率で各画像が拡大表示される。
第1画像配置領域61を表示範囲とした画像一覧が表示部31の表示画面31aに表示されたときには、選択エリアを示すエリア枠73が重畳されて表示される。なお、このエリア枠73は、検索用画像の大きさからなる。この場合も、同様にして、ユーザは操作部26を操作して、エリア枠73をユーザの意図する位置に移動させる。このとき、エリア枠73は、隣り合う検索用画像毎にずれながら移動する。エリア枠73の位置が、ユーザの意図する位置となる場合に、操作部26を操作してエリア枠73の位置を決定する。その後、ユーザが操作部26を操作して、拡大表示する旨の操作を行うことで、エリア枠73が重畳される検索用画像が、該検索用画像の中心が表示画面31aの中心となるように移動した後、該検索用画像の元になる静止画像が、図12の斜線で示す領域に表示される。
このように検索対象となる画像の範囲の決定を、エリア枠の大きさが最小画像数となるまで段階的に絞り込むことができる。この際、配置される検索用画像の位置は固定であることから、絞り込み時に各画像の配置関係は変化しない。つまり、ユーザは、画像の配置関係がある程度覚えていれば、その配置関係に一致する領域を指定するだけで、画像を絞り込むことができる。これによれば、ユーザの目視による画像の確認作業を実行する回数が減少し、画像検索に係る手間を省くことができる。また、配置される画像は、撮影月日の順序で配置されていれば、同一の撮影月日となる画像のいずれかの位置さえ覚えておけば、検索対象となる画像の範囲を容易に特定することができる。この結果、画像検索に係る時間を短縮することができる。
一方、画像の絞り込み時に拡大表示を行う選択エリアを間違えて決定してしまった場合には、ユーザは、操作部26を用いて縮小表示を行う旨の操作を行う。例えば第2画像配置領域63を表示範囲とした画像一覧が表示部31の表示画面31aに表示されるときに、縮小表示を行う場合には、表示部31の表示画面31aには、第2画像配置領域63を表示範囲とした画像一覧の表示から、第3画像配置領域64を表示範囲とした画像一覧の表示に切り替わる。このとき、画像一覧として表示される第3画像配置領域64は、先に表示した第2画像配置領域63が含まれる第3画像配置領域64であるとともに、拡大表示を行う第2画像配置領域63を選択する際に表示部31の表示画面31aに表示された第3画像配置領域64と同一の配置領域である。つまり、選択した範囲に意図する画像がない場合であっても、直前の画像一覧に戻すことが可能となるので、検索対象となる画像の範囲を容易に変更することができる。
本実施形態では、画像検索サーバ15は電子機器16から送信される拡大表示コマンドに基づいて一覧画像データを生成し、該一覧画像データを電子機器16に送信しているが、これに限定する必要はなく、例えば画像検索サーバは、全ての画像ファイルのサムネイル画像データを用いた一覧画像データを生成し、この生成された一覧画像データを電子機器に送信するだけでも良い。この場合、電子機器16は、受信した一覧画像データに対してトリミング処理により切り出し、切り出した画像データを用いて画像一覧を表示部に表示させるなどすればよい。
本実施形態では、第1画像配置領域が形成される順序として、横方向に形成される4つの領域(領域61a、領域61b、領域61c、61d)にそれぞれ検索用画像を配置した後、これら領域の下方に形成される4つの領域(領域61e、領域61f、領域61g、61h)に検索用画像を配置していくようにしているが、これに限定される必要はなく、例えば、横2個×縦2個計4個の領域毎に検索用画像を配置することも可能である。この場合、まず、領域61aに検索用画像を配置した後、領域61b、領域61e、61fの順で画像を配置する。その後、横2個×縦2個計4個の領域全てに検索用画像が配置された後、これら領域の右側方となる領域(この場合、領域61c)に検索用画像を配置する。そして、横方向に4個の第1画像配置領域が形成された後、領域61iに検索用画像を配置する。このようにして、横4個×縦4個計16個の第1画像配置領域61を組み合わせることで、第2画像配置領域63を形成することも可能である。
本実施形態では、画像検索サーバ15に設けられたデータベース44に記憶された画像ファイル49を対象とした画像検索について述べているが、これに限定される必要はない。本実施形態の表示装置16aにおいては、メディアスロット29に記憶媒体32を差し込むことが可能であり、又I/Fポート30にUSBメモリ33やHDD34等を接続させることが可能である。つまり、画像検索サーバ15に設けられたデータベース44に記憶される画像ファイル49だけでなく、メディアスロット29に差し込まれた記憶媒体32に記憶された画像ファイル、また、I/Fポート30に差し込まれたUSBメモリ33や、HDD34に記憶された画像ファイルを画像検索時の検索対象とすることも可能である。この場合、画像検索サーバ15に設けられたデータベース44、メディアスロット29に差し込まれた記憶媒体32、I/Fポートポート30に接続されるUSBメモリ33やHDD34など、画像検索時に用いる画像ファイルが記憶される部位が複数となることから、画像検索時に用いられる画像ファイルが記憶される部位を予め選択できるようにしても良い。
この場合、図7のフローチャートにおけるステップS204において、画像に対するトリミング処理を実行する前に、表示装置16aのCPU41により、画像検索時に用いられる画像ファイルが記憶される部位を予め選択させる。この選択時に、画像検索時に用いられる画像ファイルが記憶される部位として、メディアスロット29に差し込まれた記憶媒体32、I/Fポートポート30に接続されるUSBメモリ33やHDD34が選択されていれば、これら選択された部位から画像ファイルを読み出して、読み出した画像ファイルを表示装置16aから画像検索サーバ15に送信させる。画像検索サーバ15は、受信した画像ファイルを用いて画像のトリミング処理を実行すればよい。
なお、このように、画像ファイルが複数の部位に亘って記憶されている場合に、これら画像ファイルに基づく画像一覧を表示させたときには、その画像がどこに記憶されているものかが不明である。このため、データベース44に記憶される画像ファイルに基づいた検索用画像には「○」、メディアスロット29に差し込まれた記憶媒体32に記憶される画像ファイルに基づいた検索用画像の場合には「×」など、検索用画像の元になる画像ファイルが記憶された箇所を示すマークを各検索用画像に重畳して表示してもよい。また、この他に、データベース44に記憶される画像ファイルに基づく検索用画像に関しては明るく表示し、それ以外の検索用画像に対しては、ぼかして表示させる、または暗く表示させることも可能である。さらに、この場合、画像ファイルの所在毎に画像を切り替え表示することも可能である。この場合、検索用画像の位置は変更せずに固定であることが好ましい。
本実施形態では、画像検索サーバ15のデータベース44に記憶される画像ファイルを一定の数記憶されている場合について説明しているが、この画像検索サーバ15のデータベース44に新たな画像ファイルを記憶することも可能であるし、不要となる画像ファイルを削除することも可能である。
例えば新たな画像ファイルを記憶させたときに、画像検索サーバ15のCPU41は、新たに記憶された画像ファイルからサムネイル画像データを読み出し、トリミング処理や解像度変換処理を行うことで、検索用画像を生成する。そして、検索用画像の元になる画像データと、一覧画像データとを合成すればよい。なお、新たに生成された検索用画像の配置位置は、テンプレートに最後に配置される検索用画像の位置に基づいて配置される。図3に示すように、第1画像配置領域61の配置領域62bまで検索用画像が配置されているのであれば、新たに生成された検索用画像は、第1画像配置領域61の配置領域62cに配置される。
一方、画像検索サーバ15のデータベース44に記憶された画像ファイルを削除した場合、画像検索サーバ15のCPU41は一覧画像データを読み出し、削除した画像ファイルに基づく検索用画像を削除する。これに併せて、CPU41は、一覧画像データを読み出し、削除した検索用画像が配置される配置領域には、検索用画像を配置しない。図13に示すように、配置領域Aから配置領域Xのそれぞれに検索用画像が配置されており、配置領域Eや配置領域Oに配置される検索用画像の元になる画像ファイルが削除された場合には、配置領域Eや配置領域Oに配置された検索用画像を削除し、これら配置領域Eや配置領域Oは空けておく。これによれば、表示される画像一覧における各検索用画像の配置位置が変化しないので、ユーザは、画像一覧における各検索用画像の配置を記憶しておけば、検索対象となる画像が含まれるであろう領域を容易に特定することが可能となる。
なお、この検索用画像が削除されることによって空いた配置領域には、検索用画像とは異なる画像を配置することも可能である。検索用画像とは異なる画像としては、例えば、編み目の画像や所定の色で塗りつぶした画像や、削除を示す画像などが挙げられる。また、この他に、花や山などのイメージ画像であってもよい。これら画像を配置する場合には、共通のものを使用してもよいし、検索用画像が削除されることによって空いた配置領域近傍の画像に沿ったものを使用してもよい。なお、これら画像は、ランダムに決定されるものであってもよい。
本実施形態では、例えば第3画像配置領域を表示範囲とした画像一覧を表示した場合、エリア枠の大きさを第2画像配置領域の大きさとし、また、このときのエリア枠の移動量を、第2画像配置領域の横幅又は縦幅に相当する移動量としている。しかしながら、エリア枠の移動量は、これに限定される必要はない。上述したように、第2画像配置領域は、二次元状に配置された複数の第1画像配置領域から構成されることから、第3画像配置領域を表示したときのエリア枠の移動量を、第2画像配置領域の横幅又は縦幅に相当する移動量ではなく、第1画像配置領域の横幅又は縦幅に相当する移動量としてもよい。これによれば、エリア枠を移動させるときの自由度、言い換えれば検索対象領域を選択する際の自由度を高くすることが可能となる。
本実施形態では、第1画像配置領域を、縦2個×横3個の計6個の検索用画像から構成しているが、これに限定されるものではなく、縦3個×横2個の計6個の検索用画像や、縦4個×横2個の計8個の検索用画像から構成するなどしてよい。なお、これら検索用画像の数は、表示部の縦横比に基づいて設定されていればよいものである。また、第2画像配置領域における第1画像配置領域の配置数や、第3画像配置領域における第2画像配置領域の配置数を、縦4個×横4個の計16個としているが、例えば縦2個×横2個の計4個の配置領域とするなど、適宜設定してよい。
また、この他に、配置領域に配置される検索用画像の大きさは一定としているが、画像によっては、その大きさが一致しない場合もある。図14に示すように、例えば配置領域75と、該配置領域の4倍の大きさからなる配置領域76との組み合わせから、第1画像配置領域61に対する検索用画像の配置を行うことも可能である。
本実施形態においては、電子機器16と画像検索サーバ15とをインターネット17を介したネットワーク接続により接続した画像検索システム10としているが、これに限定される必要はなく、例えば画像検索を実行することが可能な電子機器であってもよい。この場合、電子機器としては、デジタルカメラ、携帯型電話機、携帯型端末機や、家庭用ゲーム機器、TVなどの表示装置などが挙げられる。
図15に示すように、電子機器81は、CPU82によって統括的に制御される。このCPU82は、ROM83に記憶された制御プログラム(図示省略)を実行することで、電子機器81の各部を統括的に制御する。なお、このCPU82には、操作部84からの操作信号が入力されるので、これら操作信号に基づいた処理が実行される。ROM83は、制御プログラムの他に、画像検索用プログラム85を記憶する。RAM86は、CPU82における制御の際に生成される数値やデータが一時的に格納される。なお、CPU82は、バス87を介して、上述したROM83やRAM86の他に、表示制御回路88、メディアスロット89及びI/Fポート90などと接続される。
操作部84は、マウスやキーボードの他に、リモートコントローラなどが挙げられる。表示制御回路88は、表示部91の駆動を制御する。メディアスロット89は、メモリカード、光学ディスク及び磁気ディスクなどの記憶媒体92が抜き差しされる。I/Fポート90は、例えばUSB規格のケーブル端子を接続する接続ポートや、IEEE規格のケーブル端子を接続する接続ポートなどから構成される。このI/Fポート90を介して、USBメモリ93、ハードディスクドライブ(HDD)94などが電気的に接続される。
上述したCPU82は、ROM83に記憶された画像検索用プログラム85を実行することで、トリミング処理部95、画像配置部96及び画像合成部97の機能を有する。なお、これら機能は、本実施形態にて説明しているので、ここでは、その詳細を省略する。
以下、この電子機器における画像検索の手順について図16及び図17のフローチャートに基づいて説明する。なお、このフローチャートは、主電源がオンとなる場合を契機にして実行される。
ステップS301は、画像検索用プログラムを実行する処理である。CPU82は、ROM83に記憶された画像検索用プログラム85を読み出し、読み出した画像検索用プログラム85を実行する。
ステップS302は、画像一覧の表示を実行するか否かを判定する処理である。CPU82には、操作部84からの操作信号が入力される。この操作部84からの操作信号が、画像一覧の表示を行う旨の信号であれば、CPU82は、このステップS302の判定処理をYesとする。この場合、ステップS303に進む。一方、操作部84からの操作信号が、画像一覧の表示を行う旨の信号でない場合には、CPU82は、このステップS302の判定処理をNoとする。この場合、操作部84からの操作信号が画像一覧の表示を行う旨の信号であると判定されるまで、このステップS302の判定処理が繰り返し実行される。
ステップS303は、画像データに対するトリミング処理である。CPU82は、メディアスロット89に差し込まれた記憶媒体92、又はI/Fポート90に接続されたUSBメモリ93やHDD94の有無を確認した上で、これらに記憶された画像ファイルのサムネイル画像データを読み出す。このとき、メディアスロット89に記憶媒体92が差し込まれ、又I/Fポート90にUSBメモリ93やHDD94が接続されている場合には、これらのいずれかから画像ファイルを読み出すようにしてもよいし、これら全てから画像ファイルを読み出すことも可能である。このように画像ファイルが読み出されると、CPU82は、画像ファイルのサムネイル画像データを読み出す。そして、CPU82は、画像の縦横比が1:1となるように、読み出したサムネイル画像データに対するトリミング処理を実行する。
ステップS304は、画像データを配置する処理である。なお、この画像を配置する処理については、ステップS205にて説明しているので、ここでは、詳細を省略する。
ステップS305は、画像データを合成する処理である。CPU82は、ステップS304の処理を実行することで二次元に配置される複数の検索用画像を合成する。これにより、一覧画像データ95が生成される。なお、この一覧画像データ95はRAM86に記憶される。
ステップS306は、画像一覧を表示する処理である。CPU82は、RAM86に記憶された一覧画像データ95を表示制御回路88に出力する。これを受けて、表示制御回路88は、一覧画像データ95に基づく画像を表示部91に表示する。これにより、表示部91に画像一覧が表示される。この画像一覧を表示する際に、表示制御回路88は、画像一覧にエリア枠を重畳させて記憶する。
ステップS307は、エリア枠を移動するか否かを判定する処理である。CPU82には操作部84の操作に基づく操作信号が入力される。この操作信号が、エリア枠を移動する旨を示す信号であると判定した場合に、CPU82は、ステップS307の処理をYesと判定する。この場合ステップS308に進む。一方、CPU82に入力される操作信号が、エリア枠を移動する旨を示す信号でない場合には、CPU82は、ステップS307の判定処理をNoとし、ステップS309に進む。
ステップS308は、エリア枠を移動する処理である。ステップS307を実行することで、CPU82に入力される操作信号がエリア枠を示す旨の信号であることから、CPU82は、該エリア枠を移動する旨の信号を表示制御回路88に出力する。これを受けて、表示制御回路88は、表示部91に重畳されたエリア枠を操作信号に基づいた方向に移動させる。
ステップS309は、エリア枠の位置を決定するか否かを判定する処理である。操作部84の操作信号がエリア枠の位置を決定する旨の信号である場合には、CPU82は、ステップS309の判定処理をYesとする。この場合、ステップS310に進む。一方、操作部84の操作信号がない場合や、異なる信号である場合には、CPU82は、ステップS309の判定処理をNoとする。この場合、ステップS307に戻る。
ステップS310は、拡大表示をするか否かを判定する処理である。操作部84の操作による操作信号が、拡大表示を示す旨の信号であれば、CPU82は、ステップS310の判定処理をYesとし、ステップS311に進む。一方、操作信号が拡大表示を示す旨の信号でない場合には、CPU82は、このステップS310の判定処理をNoとし、ステップS321に進む。
ステップS311は、指定された拡大率が最大であるか否かを判定する処理である。CPU82は、表示制御回路88からエリア枠の大きさを示す情報を取得している。CPU82は、この情報に基づいて、エリア枠の大きさが検索用画像の大きさであるか否かを判定する。例えばエリア枠の大きさが検索用画像の大きさであれば、指定される拡大率は最大となるので、CPU82はステップS311の判定処理をYesとする。この場合、ステップS312に進む。一方、エリア枠の大きさが第1画像配置領域61以上の大きさであれば、指定される拡大率は最大ではないので、CPU82は、ステップS311の判定処理をNoとする。この場合、ステップS315に進む。
ステップS312は、画像データを読み出す処理である。ステップS312において、エリア枠の大きさが検索用画像の大きさであると判定されている。また、拡大表示コマンドには、エリア枠の位置を示す情報が付与されている。CPU82は、このエリア枠の位置を示す情報と、RAM86に記憶された一覧画像データ95とから、検索用画像を特定する。そして、特定された検索用画像の元になる画像ファイルから、サムネイル画像データ又は静止画像データを読み出す。
ステップS313は、画像を表示する処理である。CPU82は、特定された検索用画像の元になる画像ファイルから、サムネイル画像データ又は静止画像データを読み出しているので、この画像データを表示制御回路88に出力する。これを受けて、表示制御回路88は、画像データに基づく画像を表示部91に表示する。
ステップS314は、画像検索を終了するか否かを判定する処理である。操作部84からCPU82に出力される操作信号が、画像検索を終了する旨の信号であれば、CPU82は、このステップS314の判定処理をYesとし、画像検索に係る処理を終了する。一方、操作部84からCPU82に出力される操作信号が画像検索を終了する旨以外の信号であれば、CPU82は、ステップS314の判定処理をNoとする。この場合、ステップS307に戻る。
ステップS311の判定処理において、指定された拡大率が最大でない場合には、ステップS311の判定処理はNoとなる。この場合、ステップS315に進む。
ステップS315は、画像データに対するトリミング処理である。CPU82は、エリア枠の位置を示す情報と一覧画像データ95とから、エリア枠に含まれる検索用画像を特定する。そして、特定された検索用画像に基づく画像ファイルからサムネイル画像データを読み出す。そして、サムネイル画像データに基づく画像の横縦比が1:1となるように、画像の中心部分を切り出す。
ステップS316は、画像データを配置する処理である。CPU82は、トリミング処理済みの画像データに対して、一定の画像サイズとなるようにリサイズ処理を施し、検索用画像データを生成する。この生成された検索用画像データを用いて、各画像データを配置する。なお、各画像データの配置手順については、図7のステップS216と同一で有るため説明を省略する。
ステップS317は、画像データを合成する処理である。ステップS316において、検索用画像データが全て配置されていることから、CPU82は、配置された検索用画像データを合成し、一覧画像データ95を生成する。生成された一覧画像データ95は、RAM86に記憶される。
ステップS318は、画像一覧を表示する処理である。CPU82は、ステップS317において生成された一覧画像データ95を表示制御回路88に出力する。これを受けて、表示制御回路88は、表示部91に画像一覧の表示を実行する。この処理が実行されると、ステップS314に進む。
また、ステップS310の判定処理においてNoとなる場合、つまり、受信したコマンドが拡大表示コマンドでない場合には、ステップS321に進む。
ステップS321は、縮小表示を行うか否かを判定する処理である。操作部84の操作による操作信号が、縮小表示を示す旨の信号であれば、CPU82は、ステップS321の判定処理をYesとし、ステップS322に進む。一方、操作信号が縮小表示を示す旨の信号でない場合には、CPU82は、このステップS321の判定処理をNoとし、ステップS314に進む。
ステップS322は、一覧画像データを読み出す処理である。CPU82は、RAM86に記憶された過去の一覧画像データ95から、2番目に新しい一覧画像データ95を読み出す。
ステップS323は、画像一覧を表示する処理である。CPU82は、ステップS317において生成された一覧画像データ95を表示制御回路88に出力する。これを受けて、表示制御回路88は、表示部91に画像一覧の表示を実行する。この処理が実行されると、ステップS314に進む。このように、縮小表示コマンドを受信した場合には、新たに一覧画像データ95を生成せずに、RAM86に記憶された一覧画像データ95を読み出すだけで済むので、一覧画像データ95を生成する手間を省くことができる。
なお、図18に示すように、上述した電子機器81は、インターネット98を介して画像記憶サーバ99とネットワーク接続させることも可能である。この場合、ROM83にWEBブラウザ100を記憶させておく。CPU82がWEBブラウザ100を実行すると、電子機器81がインターネット98を介して画像記憶サーバ99とネットワーク接続される。なお、符号101は通信I/Fである。この場合、画像記憶サーバ99に設けられたデータベース102に記憶された画像ファイルからサムネイル画像データを読み出し、画像一覧の表示を表示部に実行させることが可能となる。
本発明は、画像検索を実行するための画像検索システムや画像検索が実行可能な電子機器について説明しているが、この他に、図1におけるトリミング処理部51、画像配置部52及び画像合成部53の機能、或いは、図15におけるトリミング処理部95、画像配置部96及び画像合成部97の機能や、図16及び図17のフローチャートの機能をコンピュータに実行させる可能な画像検索プログラムであってもよい。この画像検索プログラムは、例えばメモリカード、光学ディスク、磁気ディスクなどのコンピュータが読み取り可能な記憶媒体に記憶されることが好ましい。