〔第1実施形態〕
以下、本発明の最良の実施形態について図面を用いて説明する。
図1は、本発明の画像選択装置を適用可能な画像選択システムの構成の一例を示すシステム構成図である。
図1に示すように、本発明の画像選択システムでは、デジタルカメラ101と、印刷装置102と、現像・表示処理装置103とが、無線LANアダプタ100を介して互いに接続される構成となっている。なお、本実施形態では、無線LANを用いた構成を一例として説明するが、デジタルカメラ101と現像・表示処理装置103とが、有線によって接続される構成であってもよい。例えば、デジタルカメラ101と現像・表示処理装置103とが、有線のLANや、USB等のインタフェースで接続される構成であってもよい。
デジタルカメラ101には、無線LANアダプタと内蔵記憶媒体が装着されており、デジタルカメラ101により撮影された画像データは、この内蔵記憶媒体に記憶される。
なお、現像・表示処理装置103は、デジタルカメラ101の内蔵記憶媒体に記憶される画像データのファイル名及びバイト数を、外付けの記憶媒体と同様に参照し、該内蔵記憶媒体の画像データを、現像・表示処理装置103内(例えば、後述する図2に示すハードディスク28)にコピーしたり、移動したりすることができる。また、デジタルカメラ101から内蔵記憶媒体内の画像データを現像・表示処理装置103に送信(プッシュ)するように構成してもよい。
なお、デジタルカメラ101の内蔵記憶媒体は典型的は、コンパクトフラッシュ(登録商標)カードやスマートメディア等である。
デジタルカメラ101により撮影された画像データは、デジタルカメラ101に内蔵されている内蔵記憶媒体に記録され、次いで現像・表示処理装置103のハードディスク28の撮影中画像用フォルダにコピーされる。そして、現像・表示処理装置103は、該撮影中画像用フォルダにコピーした画像データを現像処理した後に、サムネール画像を生成する。
そして、現像・表示処理装置103は、画像管理プログラム(画像プレゼンテーションプログラムや画像選択プログラムを含む)が起動されると、画像表示用ディスプレイ104に、上記撮影中画像用フォルダ内に生成されたサムネール画像を表示する。なお、サムネール画像を選択して、拡大画像をディスプレイ104に表示することも可能になっている。
以下、図2を参照して、図1に示した現像・表示処理装置103のハードウェア構成について説明する。
図2は、図1に示した現像・表示処理装置103のハードウェア構成を示すブロック図である。
図2に示すように、現像・表示処理装置103は、CPU21、RAM22、ROM23、LANアダプタ24、ビデオアダプタ25、キーボード26、マウス27等のポインティングデバイス、ハードディスク28、CD−ROMドライブ29,DVD−ROMドライブ等の記録媒体ドライブ(記憶媒体ドライブ)等を備え、これらがシステムバス20を介して互いに接続されている構成となっている。
即ち、現像・表示処理装置103は、典型的にはパーソナルコンピュータ(PC)であるが、これに限らずいわゆるワークステーションやPCサーバや専用ハードウェアにより構成しても良い。
CPU21は、ROM23、ハードディスク28、又はCD−ROMドライブ29等の記録媒体に記憶保存されたプログラムを読み出してRAM22上等で実行することにより、装置全体を統括制御する。
RAM22は、CPU21のプログラムの実行とプログラム実行時の作業領域として使用される。LANアダプタ24は、ネットワークに接続するための通信インタフェースである。なお、本実施形態では、LANアダプタ24は無線LANアダプタである。
ビデオアダプタ25には、図1に示したディスプレイ104が接続されており、ディスプレイ104への表示を制御している。
また、ハードディスク28には、いわゆるオペレーションシステムの他、画像管理プログラム、現像処理プログラム、撮影された画像、各種管理用ファイル等が記録されている。
以下、本発明の画像選択システムの動作について説明する。
デジタルカメラ101で撮影され現像された画像データは、撮影中は上述した所定の撮影中画像用フォルダに記憶される。
なお、上記撮影中画像用フォルダに記憶される各画像データのファイル名は、カメラ側が付した画像ファイル名(例えば、P0001,P0002,・・・,Pnnnnといった連番)をそのまま記憶する。
なお、撮影終了後、後述する「保存処理」を実行することにより、例えば受付番号と撮影年月日時分からなるフォルダ名称の撮影画像保存用フォルダ中に記憶される。この撮影画像保存用フォルダは、本発明を写真館(写真撮影スタジオ)で使用する場合を例にすれば、顧客毎に作成されたフォルダの下に作成される。
また、現像・表示処理装置103のハードディスク28内には、顧客番号及び顧客名称と顧客電話番号と顧客住所等を記録した顧客マスタと、顧客番号と受付番号と写真番号と各写真のサイズやランクや分類(写真番号以下は複数可能)からなる注文履歴ファイルを記録している。
以下、図3〜図9を参照して、本発明における画像選択処理について説明する。
現像・表示処理装置103に電源が投入されると、CPU21は、オペレーションシステムの起動後、画像管理プログラムをハードディスク28からRAM22にロードして起動し、画像表示用ディスプレイ104に初期画面(不図示)を表示する。
そして、この初期画面で画像選択処理が選択指示されると、CPU21は、顧客ID又は受付番号の入力を要求するダイアログを表示する。そして、顧客ID又は受付番号が入力されると、CPU21は、画像選択処理プログラムをハードディスク28からRAM22にロードして起動する。さらに、操作者により画像保存用フォルダが指定されると、CPU21は、RAM22内に、フィルタフラグ(後述する)、及び、撮影中画像用フォルダ内の画像毎に、画像のファイル名と表示フラグと連番と物理削除フラグと選択フラグと印刷フラグとランクと分類の各項目を記憶するワークファイル(図3(1))を作成する。
なお、既にワークファイルがハードディスク28等に存在する場合には、該ワークファイルを指定してRAM22内に読み出させるように構成してもよい。
なお、図3は、本発明におけるワークファイル内のデータの遷移例を示す図である。なお、ワークファイルの最初の行には、図3(1)〜図3(6)に示すようにフィルタフラグ(後述する)の値が保存されされるものとする。
そして、CPU21は、上記ワークファイル内のデータに基づいて上記画像保存用フォルダ内の画像を図4に示すように、画像表示用ディスプレイ104にサムネール表示する。なお、図4〜図9は、画像表示用ディスプレイ104に表示されるサムネール表示画面の一例を示す模式図である。特に、図4はサムネール表示初期画面に対応する。
図4〜図9において、500はサムネール表示画面である。
サムネール表示画面500において、501はサムネール画像(ファイル名P0001〜P0006に対応)であり、本実施形態では6つ表示される。表示される各サムネール画像の画像右下隅には、513に示すように3桁の連番(「001」〜「nnn」)が表示される。また、各サムネール画像の画像左下隅には、514に示すように当該画像のランクが表示される。このランクは、例えば「☆」〜「☆☆☆」までの記号で表され、「☆」はランク1、「☆☆」はランク2、「☆☆☆」はランク3、☆無しはランク0を示す。なお、ランク0が最も低いランクとなり、ランク1,ランク2,ランク3の順に高くなる。なお、ランク4以上を設けてもよい。
なお、後述する選択状態でないサムネール画像501がマウス27等で1回押下操作(左ボタンでシングルクリック)されると、CPU21は、選択操作がなされたものと判断して、当該サムネール画像を選択状態とし、当該サムネール画像に対応するワークファイル内の選択フラグを「1」に設定する。
また、選択状態のサムネール画像501がマウス27等で1回押下操作(左ボタンでシングルクリック)されると、CPU21は、選択解除操作がなされたものと判断して、当該サムネール画像を非選択状態とし、当該サムネール画像に対応するワークファイル内の選択フラグを「0」に設定する。
また、サムネール画像501がマウス27等で所定時間内に2回押下操作(左ボタンでダブルクリック)されると、CPU21は、ランク変更操作があったものと判断して、当該画像サムネール画像のランクをサイクリックに変化させる。例えば、ランク1(☆)の場合ランク2(☆☆)に、ランク2(☆☆)の場合ランク3(☆☆☆)に、ランク3(☆☆☆)の場合ランク0(☆なし)に、ランク0(☆なし)の場合ランク1(☆)に変更する。
例えば、ランク2(☆☆)のサムネール画像を選択状態にしてから、更に4回ダブルクリックすると、ランク2(☆☆)→ランク3(☆☆☆)→ランク0(☆なし)→ランク1(☆)→ランク2(☆☆)に変化する。ここで「→」は1回のダブルクリックによる遷移を意味し、4回のクリックで元に戻る。
なお、ランク変更操作があった場合、CPU21は、該当するサムネール画像に対応するワークファイル内のランクを変更されたランクに設定する。
次に、502は「☆☆☆」ボタンであり、ランク3(☆☆☆)のサムネール画像の表示のオン/オフを切り換えるためのものである。503は「☆☆」ボタンであり、ランク2(☆☆3f)のサムネール画像の表示のオン/オフを切り換えるためのものである。504は「☆」ボタンであり、ランク1(☆)のサムネール画像の表示のオン/オフを切り換えるためのものである。505は「☆なし」ボタンであり、ランク0(☆なし)のサムネール画像の表示のオン/オフを切り換えるためのものである。
なお、「☆☆☆」ボタン502,「☆☆☆」ボタン503,「☆」ボタン504,「☆なし」ボタン505の状態は、フィルタフラグで管理されている。以下、このフィルタフラグについて説明する。
フィルタフラグは、「☆なし」ボタン505,「☆」ボタン504,「☆☆」ボタン503,「☆☆☆」ボタン502のオン/オフ状態を示すものであり、4ビットのデータから構成される。
フィルタフラグは、1ビット毎に左から「☆なし」ボタン505,「☆」ボタン504,「☆☆」ボタン503,「☆☆3f☆」ボタン502の状態を示すものであり、ビットが「1」の場合は表示ON(表示)、ビットが「0」の場合は表示OFF(非表示)を示す。
例えば、フィルタフラグの値が「0111」の場合、「☆なし」ボタン505が表示OFF、「☆」ボタン504が表示ON、「☆☆」ボタン503が表示ON、「☆☆☆」ボタン502が表示ONを示す。なお、フィルタフラグの値は、デフォルトで「0111」に設定されている。即ち、デフォルトで、「☆なし」ボタン505は表示OFF,「☆☆☆」ボタン502,「☆☆☆」ボタン503,「☆」ボタン504は表示ONとなる。
次に、506は「適用」ボタンであり、この「適用」ボタン506がマウス27等で押下操作されると、上述のように変更されたランクが適用されて、サムネール画像の表示状態が更新される。
507は「更新」ボタンであり、この「更新」ボタン507がマウス27等で押下操作されると、表示されているサムネール画像のみで連番表示514が整番される。
508は「リセット」ボタンであり、この「リセット」ボタン508がマウス27等で押下操作されると、全てのサムネール画像のランクがランク1に初期されて、サムネール画像の表示状態が更新される。
509は「保存」ボタンであり、この「保存」ボタン509がマウス27等で押下操作されると、CPU21は、例えば、ランク1以上のランクのサムネール画像に対応する画像データが、今回の撮影中画像用フォルダから上述した指定された撮影画像保存用フォルダ(例えば受付番号と撮影年月日を含む名称のフォルダ)にコピーされる。なお、写真館等では、この撮影画像保存用フォルダに保存された画像のサムネール一覧をオーダシートとして印刷して、該オーダシートに基づいて顧客に印刷をオーダさせるように使用することができる。
510は「終了」ボタンであり、この「終了」ボタン510がマウス27等で押下操作されると、CPU21は、当該サムネール表示画面500をクローズし、画像選択処理プログラムを終了する。
511は「前ページ」ボタンであり、この「前ページ」ボタン511がマウス27等で押下操作されると、CPU21は、当該サムネール表示画面500を前ページに遷移させ、前の6枚の画像を当該サムネール表示画面500に表示させるように制御する。
512は「次ページ」ボタンであり、この「次ページ」ボタン512がマウス27等で押下操作されると、CPU21は、当該サムネール表示画面500を次ページに遷移させ、次の6枚の画像を当該サムネール表示画面500に表示させるように制御する。
以下、サムネール表示画面とワークファイル内のデータの遷移を具体的に説明する。
例えば、フィルタフラグが初期状態「0111」、他のワークファイル内のデータが図3(1)に示した初期状態、サムネール表示画面500が図4に示した初期状態であったとする。
この図4の初期状態において、画像P0002,P0005のランクがマウス27等の押下操作によってランク0(☆なし)に変更指示されると、ワークファイル内のデータは図3(2)の状態に遷移され、画像P0002のランクが「0」に変更される。そして、サムネール表示画面500は、図5の状態に遷移され、画像P0002,P0005のランク表示513が「☆なし」となる。
次に、図5の状態において、「適用」ボタン506がマウス27等で押下操作されると、ワークファイル内のデータは図3(3)の状態に遷移され、画像P0002,P0005の表示フラグが「0」に変更される。そして、サムネール表示画面500は、図6の状態に遷移され、画像P0002,P0005が非表示となる。
次に、図6の状態において、「更新」ボタン507がマウス27等で押下操作されると、ワークファイル内のデータは図3(4)の状態に遷移され、画像P0003,P0004,P0006,・・・の連番が「002」,「003」,「004」,・・・に変更される。なお、非表示状態のP0002,P0005の連番は「999」に変更される。そして、サムネール表示画面500は図7の状態に遷移され、画像P0003,P0004,P0006,の連番表示514が「002」,「003」,「004」に変更される。
次に、図7の状態において、「リセット」ボタン508がマウス27等で押下操作されると、ワークファイル内のデータは図3(5)の状態に遷移され、全画像のランクが「1」にリセットされる。なお、全画像の表示フラグも「1」にリセットされる。そして、サムネール表示画面500は図8の状態に遷移され、全画像のランク表示513が「☆」にリセットされる。なお、この際、ワークファイル内のデータのうち、ランク=「999」に対応する画像の連番表示514は「−」と表示される。
次に、図8の状態において、「更新」ボタン507がマウス27等で押下操作されると、ワークファイル内のデータは図3(6)の状態に遷移され、全画像の連番が初期状態(「001」〜「006」)にリセットされる。そして、サムネール表示画面500は図9の状態に遷移され、全画像の連番表示514が初期状態(「001」〜「006」)にリセットされる。
以下、図10のフローチャートを参照して、本発明の画像選択処理について説明する。
図10は、本発明における第1の制御処理手順の一例を示すフローチャートであり、本発明の画像選択処理に対応する。なお、このフローチャートの処理は、図2に示したCPU21がハードディスク28又はその他の記録媒体に格納されたプログラムを読み出してRAM22上で実行することにより実現される。即ち、図中、S320〜S340は、現像・表示処理装置103のCPU21の制御の下で実行される各ステップを示す。
まず、ステップS320において、現像・表示処理装置103のCPU21は、RAM22内のワークファイル内のデータに基づいて、サムネール表示画面500を表示する。
詳細には、CPU21は、ワークファイル内で表示フラグが「1」となっているレコードに対応する、サムネール画像を、撮影中画像用フォルダから読み出して、サムネール表示画面500に表示する。また、CPU21は、ワークファイル内のランク値に基づいて、サムネール画像上にランク表示513(☆マーク)を表示する。詳細には、ランク1(☆)のサムネール画像には、白く太い線の☆1つと、グレーアウトされた薄い色の☆2つを表示する。ランク2(☆☆)のサムネール画像には、白く太い線の☆2つと、グレーアウトされた薄い色の☆1つを表示する。ランク3(☆☆☆)のサムネール画像には、白く太い線の☆3つを表示する。
なお、フィルタフラグに基づいて、サムネール表示画面500上の「☆なし」ボタン505,「☆☆☆」ボタン502,「☆☆☆」ボタン503,「☆」ボタン504の状態も制御するものとする。
また、CPU21は、ワークファイル内の連番値に基づいて、サムネール画像上に連番表示514を表示する。
なお、初期状態では、図4に示したようなサムネール表示初期画面(全画像がランク1(☆)且つ連番で表示され、フィルタフラグの値は「0111」である画面)が表示される。
次に、ステップS321において、CPU21は、サムネール表示画面500での操作の有無及び種類を判定する。この判定は、マウス27の座標やマウスボタンの押下によるマウスイベントの発生やキーボード26の入力に基づいて行うものであり、処理をステップS322に進める。
次に、ステップS322では、CPU21は、操作がランク変更操作であるか否かを判定する。この判定は以下のように行う。マウス27の左ボタンが所定時間内に2回押下(ダブルクリック)された場合、CPU21は、マウスポインタの座標位置を読み取って、サムネール画像のいずれかの表示範囲である場合は、そのサムネール画像へのランク変更操作であると判定する。
ステップS322で、ランク変更操作がなかったと判定した場合には、CPU21は、そのままステップS325に進める。
一方、ステップS322で、ランク変更操作があったと判定した場合、CPU21は、ステップS323に処理を進める。
ステップS323では、CPU21は、上記ランク変更操作に対応するサムネール画像のワークファイル内のランク値を更新し、ステップS324において、サムネール表示画面500上の該当するサムネール画像のランク表示513(☆マーク)をS323で更新したランク値に基づいて更新する。
例えば、ランク1(☆)の場合、白く太い線の☆1つと、グレーアウトされた薄い色の☆2つを表示する。ランク2(☆☆)の場合、白く太い線の☆2つと、グレーアウトされた薄い色の☆1つを表示する。ランク3(☆☆☆)の場合、白く太い線の☆3つを表示するように更新する。
そして、ステップS324の処理が終了すると、CPU21は、ステップS325に処理を進める。
次に、ステップS325において、CPU21は、「適用」ボタン506の押下操作の有無を判定し、「適用」ボタン506の押下操作がなかったと判定した場合は、そのまま処理をステップS329に進める。
一方、ステップS325で、CPU21が、「適用」ボタン506の押下操作があったと判定した場合は、処理をステップS326に進める。
次に、ステップS326では、CPU21は、フィルタフラグ及びワークファイル内のランクに基づいて、ワークファイル内の表示フラグを更新する。
詳細には、ステップS326では、CPU21は、フィルタフラグでビットが「1」となっているランクに対応するランクが設定されているワークファイル内のレコードの表示フラグを「0」に設定し、それ以外のレコードの表示フラグを「1」に設定する。
例えば、フィルタフラグの値が「0111」の場合、ワークファイル内でランク0が設定されているレコードの表示フラグを「0」に設定し、ワークファイル内でランク1〜3が設定されているレコードの表示フラグを「1」に設定する。
次に、ステップS327において、CPU21は、ワークファイル内の各画像毎の表示フラグの値(1なら表示、0なら非表示)に基づいてサムネール表示画面500を再表示し(S320と同様)、ステップS328に処理を進める。
次に、ステップS328では、CPU21は、「リセット」ボタン508の押下操作の有無を判定し、「リセット」ボタン508の押下操作がなかったと判定した場合は、そのままステップS332に処理を進める。
一方、ステップS328で、「リセット」ボタン508の押下操作があったと判定した場合は、CPU21は、処理をステップS329に進める。
次に、ステップS329では、CPU21は、ワークファイル内のランクを全て「1」に初期化する。
次に、ステップS330において、CPU21は、フィルタフラグ,ワークファイル内の表示フラグを初期化する。詳細には、CPU21は、フィルタフラグを「0111」に設定し、ワークフラグ内の全ての表示フラグを「1」に設定する。
次に、ステップS331において、CPU21は、ワークファイル内の各画像毎の表示フラグの値(1なら表示、0なら非表示)に基づいて、サムネール表示画面500を再表示し(S320と同様)、ステップS332に処理を進める。
次に、ステップS332では、CPU21は、「更新」ボタン507の押下操作の有無を判定し、「更新」ボタン507の押下操作がなかったと判定した場合は、そのままステップS335に進める。
一方、ステップS332で、「更新」ボタン507の押下操作があったと判定した場合は、CPU21は、ステップS333に処理を進める。
次に、ステップS333では、CPU21は、連番更新処理を実行する。詳細には、CPU21は、ワークファイル中で表示フラグが「1」の全てのレコードについて「001」から順に連番を割り付けて、ワークファイルを更新するように制御する。
次に、ステップS334において、CPU21は、ワークファイル内の各画像毎の表示フラグの値(1なら表示、0なら非表示)に基づいて、サムネール表示画面500を再表示し(S320と同様)、ステップS335に処理を進める。
次に、ステップS335では、CPU21は、フィルタ切替操作の有無とフィルタ切替操作の種類を判定する。そして、フィルタ切替操作がなかったと判定した場合には、CPU21は、そのままステップS339に処理を進める。
一方、ステップS335で、フィルタ切替操作があったと判定した場合には、CPU21は、処理をステップS336に進める。
ステップSS336では、CPU21は、フィルタフラグの更新処理を実行する。「☆なし」ボタン505が押下された場合には、フィルタフラグの一番左のビットを反転する。また、「☆」ボタン504が押下された場合には、フィルタフラグの左から2番目のビットを反転する。また、「☆☆」ボタン503が押下された場合には、フィルタフラグの左から3番目のビットを反転する。また、「☆☆☆」ボタン502が押下された場合には、フィルタフラグの左から4番目(一番右)のビットを反転する。例えば、操作前のフィルタフラグの値が「0111」で、「☆」ボタン504が押下操作された場合には、CPU21は、フィルタフラグの値を「0011」に更新する。
次に、ステップS337において、CPU21は、フィルタフラグ及びワークファイル内のランク値に基づいて、表示フラグを更新する(S326と同様)。
次に、ステップS338において、CPU21は、ワークファイル内の各画像毎の表示フラグの値(1なら表示、0なら非表示)に基づいて、サムネール表示画面500を再表示し(S320と同様)、ステップS339に処理を進める。
次に、ステップS339では、CPU21は、上記以外の操作(S340で後述する「保存」ボタン509の押下操作や、「終了」ボタン510の押下操作、上述した選択操作、選択解除操作等を示し、以下「その他の操作」と称する)の有無を判定し、その他の操作がなかったと判定した場合には、そのままステップS321に処理を戻し、次の操作を監視する。
一方、ステップS339で、その他の操作があったと判定した場合には、CPU21は、ステップS340に処理を進める。
ステップS340では、CPU21は、操作に対応した処理を実行する。
例えば、「保存」ボタン509が押下操作された場合、CPU21は、サムネール表示画面500上に表示されているサムネールに該当する画像を、今回の撮影中画像用フォルダから撮影画像保存用フォルダ(例えば受付番号と撮影年月日を含む名称のフォルダ)にコピーさせ(保存処理)、ステップS321に処理を戻し、次の操作を監視する。
また、「終了」ボタン510が押下操作された場合、CPU21は、保存処理が実行済みであるかを判定して、保存処理が実行済みの場合は、処理を終了し、保存処理が実行済みでない場合は保存処理を実行してから処理を終了するように制御する。
また、選択操作された場合、CPU21は、ワークファイル内の選択フラグを「1」に設定する。
また、選択解除操作された場合、CPU21は、ワークファイル内の選択フラグを「0」に設定する。
なお、上述の説明では「☆」の最大数を3つとした(ランクを3〜0として)が、これに限らず、3を超える数でもよい。また、A、B、C・・の文字でも良いし、例えば5〜1などの数字でもよい(数字が大きいほど評価が高い)。さらに、各画像に対してランクと同様に分類を対応付けてもよい。
例えば、結婚式の写真で新郎新婦配布用を分類A、親族配布用を分類B、新郎会社関係者配布用を分類C、新婦会社関係者配布用を分類D、学生時代友人配布用を分類Eとする。そして、この分類は、上記保存処理時に、ワークファイルから注文履歴ファイルに各画像毎に複写されるものとする。この分類に基づいて、画像を分類印刷することが可能となる。
なお、上述の説明ではワークファイル内の各画像毎の表示フラグの値(1なら表示、0なら非表示)に基づいてサムネール表示画面500の各サムネール画像の表示/非表示を制御しているが、ワークファイル内に表示フラグを記憶しない実施形態も可能である。すなわち、ステップS324やステップS327やステップS331やステップS337において、ワークファイル内の表示フラグの値によらず、フィルタフラグの値と各画像毎のランクに基づいて表示/非表示を制御しても良い。この場合、ステップS333の連番の更新処理では表示フラグの値によらず、フィルタフラグの値と各画像毎のランクに基づいてサムネールが表示される画像を判定して連番を更新することになる。
以上説明したように、図1に示した現像・表示処理装置103は、複数の画像を前記画像毎に付与された番号(連番)とともに表示させて、いずれか1又は複数の画像を選択させる画像選択装置であって、ランク変更操作により、前記複数の画像に対して前記画像毎のランクを設定可能である。また、「☆なし」ボタン505,「☆」ボタン504,「☆☆」ボタン503,「☆☆☆」ボタン502により、前記ランク毎に、該ランクが指定されている画像の前記表示手段への表示属性(フィルタフラグの各ビット)を表示/非表示に切り替え可能である。また、CPU21は、前記ランク毎の表示属性(フィルタフラグの各ビット)に基づいて、前記ランク毎に該ランクが設定されている画像の前記表示手段への表示を制御する。また、「更新」ボタン507が押下操作されると、CPU21は、前記画像毎に付与された番号(連番)を、表示されている複数の画像で連続する番号となるように更新するように制御する。
また、「リセット」ボタン508が押下操作されると、CPU21は、前記全ての画像のランクを特定ランク(ランク1(☆))にリセットするように制御する構成を有する。
以上のような構成によって、本実施形態の画像選択装置は、撮影した画像を複数サムネール表示し、所望の画像を非表示(保存対象から除外)として確定した後であっても、再度非表示とした画像を再表示して選択し直することができ、特にデジタルカメラで多数の類似画像を撮影した場合に依頼者が画像の選択に迷った場合でも効率的な画像選択を進めることができるといった優れた撮像画像選択環境を構築することができる等の効果を奏する。
例えば、写真館において、本画像選択システムを用いる場合、撮影した画像から、例えば「被写体が目を瞑った画像」等の顧客に見せたくない画像を、顧客に見せる前に、ランク0に設定しておき、「適用」「更新」を行っておく。このように使用することにより、写真館側では、「被写体が目を瞑った画像」等を顧客に見せたく画像を顧客に見せることなく、また、画像番号が整番されていることにより、顧客に不自然な印象を抱かせることなく、顧客に写真選択を行わせることができる。
また、「☆☆☆」ボタン502,「☆☆」ボタン503,「☆」ボタン504の表示ON/OFFを切り替えて、多数の類似画像の中から効率よく画像選択を進めることができる。
さらに、一旦、ランク0にされて除外された画像も、「☆なし」ボタン505を用いて表示させて、ランクを変更することにより、選択し直することも可能であり、除外した画像からの再選択を容易にしている。
〔第2実施形態〕
上記第1実施形態では、ランク付けにより表示/非表示を制御する構成について説明したが、全体の画像のうち最終的な保存が不要と思われる画像を削除する(例えば、各サムネール画像のそばに削除指定用のチェックボックスを設ける)ようなGUI(選択画面)としてもよい。
以下、図11,図12を参照して、本実施形態のサムネール表示画面について説明する。
図11,図12は、本発明の第2実施形態におけるサムネール表示画面の一例を示す模式図であり、図4〜図9と同一のものには同一の符号を付してある。
図11において、1101は削除指定用チェックボックスである。
なお、図11は、初期画面に対応する。また、図12は、初期画面図11の状態から特定画像(ここではP0002,P0005)の削除指定用チェックボックス1101にチェックを入れた状態に対応する。
そして、図12の状態で、「適用」ボタン506が押下操作されると、削除のチェックが入った画像P0002,P0005が非表示となる(不図示)。
詳細には、「適用」ボタン506の押下操作に応じて、CPU21が、削除指定用のチェックボックス1101がチェックされている画像に対応するワークファイル内の表示フラグを「0」に設定するようにワークファイルを更新し、該更新されたワークファイルに基づいて、サムネール表示画面を更新処理する。
なお、本実施形態において、上記削除指定用チェックボックス1101へのチェックは、物理削除を意味するものではない。
さらに、「更新」ボタン507が押下されると、CPU21は、表示されている(表示フラグ=「1」の)サムネール画像の連番を更新する。
また、「リセット」ボタン508が押下操作されると、上述の非表示とされたP0002とP0005の画像が再度表示される。
詳細には、「リセット」ボタン508の押下操作に応じて、CPU21が、削除指定用のチェックボックスのチェックを全て解除し、ワークファイル内の表示フラグを全て「1」に初期化するようにワークファイルを更新し、該更新されたワークファイルに基づいて、サムネール表示画面を更新処理する。
なお、「リセット」ボタン508の押下操作後も、連番は「−」で表示され、再度「更新」ボタン507が押下されると、連番が元の連番「002」,「005」に戻って表示される。詳細には、「更新」ボタン507の押下操作に応じて、CPU21が、ワークファイル内の表示フラグが「1」の画像に対して、連番を整番し、再表示するように制御する。
また、本実施形態では、図11,図12に示すように、特定画像を選択するための選択指定用チェックボックス1102も、各サムネール画像のそばに設けるものとする。
この構成の場合、「保存」ボタン509が押下された際に、CPU21が、選択指定用チェックボックス1102がチェックされている画像に対応する画像データを、保存用フォルダにコピー処理するものとする。
なお、以上示した以外の制御については、第1実施形態と同様である。
〔第3実施形態〕
本実施形態では、上記第1実施形態において図4〜図9に示したサムネール表示画面500に、更に「しおり」ボタンと、「戻る」ボタン及び「進む」ボタンを追加した画面構成として、「しおり」ボタンで特定の履歴を保存しておき、該履歴を「戻る」ボタン及び「進む」ボタンをもちいて、再現可能に構成する。
図13〜図21は、本発明の第3実施形態におけるサムネール表示画面の一例を示す模式図である。
図13〜図21において、1401は「しおり」ボタンであり、この「しおり」ボタン1401がマウス27等で押下操作されると、その時点のサムネール表示画面500の状態を履歴として保存することができる。
1402は「戻る」ボタンであり、この「戻る」ボタン1402がマウス27等で押下操作されると、1つ前の履歴にサムネール表示画面500の状態を戻す(再現する)ことができる。
1403は「進む」ボタンであり、この「進む」ボタン1403がマウス27等で押下操作されると、1つ後の履歴にサムネール表示画面500の状態を進める(再現する)ことができる。
図22A〜図22Cは、本発明の第3実施形態におけるワークファイル内のデータの遷移例を示す図である(以下、図22A〜図22Cは、図22と省略して記載する)。
図22(1)〜図22(11)に示すように、本実施形態のワークファイルは、フィルタフラグ、及び、各画像毎に、画像のファイル名、表示フラグ、ランク、連番、(連番1,ランク1)、(連番2,ランク2)、・・・、(連番n,ランクn)、物理削除フラグ、選択フラグ、印刷フラグ、分類を記憶する。
なお、ワークファイルの最初の行には、図22に示すようにフィルタフラグの値が保存され、(連番1,ランク1)、・・・、(連番n,ランクn)に対応するフィルタフラグ1、・・・、フィルタフラグnの値も保存される。
なお、現像・表示処理装置103のCPU21は、上記いずれの履歴(連番n,ランクn)を指しているかを保存するポインタをRAM22内に設ける。なお、ポインタはデフォルトでは「0」に設定されているものとする。即ち、ポインタ=「0」の場合は、履歴がないことを示す。
さらに、現像・表示処理装置103のCPU21は、「しおり」が設定された回数を保存する「しおり記憶数」をRAM22内に設ける。なお、「しおり記憶数」はデフォルトでは「0」に設定されているものとする。即ち、「しおり記憶数」=「0」の場合は、履歴がないことを示す。
以下、サムネール表示画面とワークファイル内のデータの遷移を具体的に説明する。
例えば、フィルタフラグが初期状態「0111」、他のワークファイル内のデータが図22(1)に示した初期状態、サムネール表示画面500が図13に示した初期状態であったとする。
この図13の初期状態において、画像P0002のランクがマウス27等の押下操作によってランク0(☆なし)に変更指示されると、ワークファイル内のデータは図22(2)の状態に遷移され、画像P0002のランクが「0」に変更される。そして、サムネール表示画面500は、図14の状態に遷移され、画像P0002のランク表示513が「☆なし」となる。
次に、図14の状態において、「適用」ボタン506がマウス27等で押下操作されると、ワークファイル内のデータは図22(3)の状態に遷移され、画像P0002の表示フラグが「0」に変更される。そして、サムネール表示画面500は、図15の状態に遷移され、画像P0002が非表示となる。
次に、図15の状態において、「更新」ボタン507がマウス27等で押下操作されると、ワークファイル内のデータは図22(4)の状態に遷移され、画像P0003〜P0006,・・・の連番が「002」〜「005」,・・・に変更される。なお、非表示状態のP0002の連番は「999」に変更される。
この状態において、さらに、「しおり」ボタン1401がマウス27等で押下操作されると、ワークファイル内のデータは図22(5)の状態に遷移され、各レコードにおいて、連番,ランクの値が、(連番1,ランク1)に保存される。また、フィルタフラグの値が、フィルタフラグ1に保存される。さらに、RAM22内に設けられたポインタが「1」に設定される。また、RAM22内に設けられた「しおり記憶数」が「1」に設定される。
なお、サムネール表示画面500は、上記「更新」ボタン507押下後に、図16の状態に遷移され、画像P0003〜P0006,・・・の連番表示514が「002」〜「005」,・・・に変更されている。
次に図16の状態において、画像P0003,P0004のランクがマウス27等の押下操作によってランク2(☆☆)に変更指示されると、ワークファイル内のデータは図22(6)の状態に遷移され、画像P0003,P0003のランクが「2」に変更される。そして、サムネール表示画面500は、図17の状態に遷移され、画像P0003,P0004のランク表示513が「☆☆」となる。
次に図17の状態において、「☆」ボタン504がマウス27等で押下操作されると、ワークファイル内のデータは図22(7)の状態に遷移され、フィルタフラグが「0011」に設定され、さらに、ランク1に対応するP0001,P0005,P0006の表示フラグが「0」に変更される。そして、サムネール表示画面500は、図18の状態に遷移され、画像P0001,P0005,P0006が非表示となる。
次に、図18の状態において、「更新」ボタン507がマウス27等で押下操作されると、ワークファイル内のデータは図22(8)の状態に遷移され、画像P0003,P0004の連番が「001」,「002」に変更される。なお、非表示状態のP0001,P0002,P0005,P0006の連番は「999」に変更される。
この状態において、さらに、「しおり」ボタン1401がマウス27等で押下操作されると、ワークファイル内のデータは図22(9)の状態に遷移され、各レコードにおいて、連番,ランクの値が、(連番2,ランク2)に保存される。また、フィルタフラグの値が、フィルタフラグ2に保存される。さらに、RAM22内に設けられたポインタが「2」に設定される。また、RAM22内に設けられた「しおり記憶数」が「2」に設定される。
なお、サムネール表示画面500は図19の状態に遷移され、画像P0003,P0004の連番表示514が「001」,「002」に変更される。
次に図19の状態において、「戻る」ボタン1402がマウス27等の押下操作によって押下操作されると、ポインタが「1」戻される。そして、ワークファイル内のデータは図22(10)の状態に遷移され、各レコードにおいて、(連番1,ランク1)の値が、連番,ランクの値に戻される。また、フィルタフラグ1の値がフィルタフラグの値に戻される。さらに、上記戻されたフィルタフラグの値とランクの値に基づいて表示フラグが変更される。そして、サムネール表示画面500は、図20の状態に遷移される(1つ目のしおりをセットした図16の状態に戻されている)。
なお、ポインタ=「0」(「しおり記憶数」=「0」)の時に、「戻る」ボタン1402が押下操作された場合には、履歴がないため、CPU21は、特に処理を行わない。
また、ポインタ=「1」の時に、「戻る」ボタン1402が押下操作された場合には、ポインタは「1」のままとし、CPU21は、(連番1,ランク1)、フィルタフラグ1に履歴を戻すものとする。
次に、図20の状態において、「進む」ボタン1403がマウス27等の押下操作によって押下操作されると、ポインタが「2」に進められる。そして、ワークファイル内のデータは図22(11)の状態に遷移され、各レコードにおいて、(連番2,ランク2)の値が、連番,ランクの値に戻される。また、フィルタフラグ2の値がフィルタフラグの値に戻される。さらに、上記戻されたフィルタフラグの値とランクの値に基づいて表示フラグが変更される。そして、サムネール表示画面500は、図21の状態に遷移される(2つ目のしおりをセットした図19の状態に進められている)。
なお、ポインタ=「0」(「しおり記憶数」=「0」)の時に、「進む」ボタン1403が押下操作された場合には、履歴がないため、CPU21は、特に処理を行わない。
また、ポインタ=「しおり記憶数」の時に、「進む」ボタン1403が押下操作された場合には、これ以上先の履歴がないため、CPU21は、特に処理を行わない。
以下、図23のフローチャートを参照して、本発明の第3実施形態における画像選択処理について説明する。
図23は、本発明における第2の制御処理手順の一例を示すフローチャートであり、本発明の第3実施形態における画像選択処理に対応する。なお、このフローチャートの処理は、図2に示したCPU21がハードディスク28又はその他の記録媒体に格納されたプログラムを読み出してRAM22上で実行することにより実現される。即ち、図中、S320〜S340,S1342〜S1349は、現像・表示処理装置103のCPU21の制御の下で実行される各ステップを示す。なお、S320〜S340は、図10に示した処理と同一であるため、説明は省略し、S1342〜S1349についてのみ詳細に説明する。
ステップS1342において、CPU21は、「しおり」ボタン1401の押下操作の有無を判定し、「しおり」ボタン1401の押下操作がなかったと判定した場合は、そのまま処理をステップS1344に進める。
一方、ステップS1342で、CPU21が、「しおり」ボタン1401の押下操作があったと判定した場合は、処理をステップS1343に進める。
次に、ステップS1343では、CPU21は、データ追加処理を実行する。詳細には、CPU21は,RAM22内のポインタの値=(「しおり記憶数」の値+1)とする。さらに、CPU21は、「しおり記憶数」の値をインクリメントする。さらに、CPU21は、ワークファイル内の各レコードにおいて、連番,ランクの値を、「しおり記憶数」の値nが示す(連番n,ランクn)にコピーする。さらに、CPU21は、フィルタフラグの値を、「しおり記憶数」の値nが示すフィルタフラグnにコピーする。そして、ステップS1343の処理が終了すると、CPU21は、ステップS1344に処理を進める。
次に、ステップS1344において、CPU21は、「戻る」ボタン1402の押下操作の有無を判定し、「戻る」ボタン1402の押下操作がなかったと判定した場合は、そのまま処理をステップS1347に進める。
一方、ステップS1344で、CPU21が、「戻る」ボタン1402の押下操作があったと判定した場合は、処理をステップS1345に進める(なお、なお、ポインタ=「0」(「しおり記憶数」=「0」)の場合は、そのまま処理をステップS1347に進める)。
次に、ステップS1345では、CPU21は、ポインタデクリメント処理を実行する。詳細には、CPU21は、ポインタの値をデクリメントする(なお、ポインタ=「1」の場合は「1」のままとする)。さらに、CPU21は、ワークファイル内の各レコードにおいて、ポインタの値nが示す(連番n,ランクn)の値を、連番,ランクにコピーする。さらに、CPU21は、ポインタの値nが示すフィルタフラグnの値を、フィルタフラグにコピーする。そして、ステップS1343の処理が終了すると、CPU21は、ステップS1346に処理を進める。
次に、ステップS1346において、CPU21は、S1345でポインタデクリメント処理されたワークファイルに基づいて、サムネール表示画面500を再表示し、ステップS1347に処理を進める。
次に、ステップS1347において、CPU21は、「進む」ボタン1403の押下操作の有無を判定し、「進む」ボタン1403の押下操作がなかったと判定した場合は、そのまま処理をステップS339に進める。
一方、ステップS1347で、CPU21が、「進む」ボタン1403の押下操作があったと判定した場合は、処理をステップS1348に進める。
次に、ステップS1348では、CPU21は、ポインタインクリメント処理を実行する。詳細には、CPU21は、ポインタの値をインクリメントする(なお、ポインタ=「0」(「しおり記憶数」=「0」)の場合、又は、ポインタ=「しおり記憶数」の場合は、そのまま処理をステップS339に進める)。さらに、CPU21は、ワークファイル内の各レコードにおいて、ポインタの値nが示す(連番n,ランクn)の値を、連番,ランクにコピーする。さらに、CPU21は、ポインタの値nが示すフィルタフラグnの値を、フィルタフラグにコピーする。そして、ステップS1348の処理が終了すると、CPU21は、ステップS1349に処理を進める。
次に、ステップS1349において、CPU21は、S1348でポインタインクリメント処理されたワークファイルに基づいて、サムネール表示画面500を再表示し、ステップS339に処理を進める。
以下、「しおり」ボタン1401押下時の処理について再度説明する。
最初の「しおり」ボタン1401押下時は、連番、ランク、フィルタの値が(連番1,ランク1)、フィルタ1に記憶される。さらに、ポインタの値に「1」、「しおり記憶数」の値に「1」をセットする。
そして、「しおり」ボタン1401押下操作があるたびに、連番、ランク、フィルタの値が、新たな(連番n,ランクn)、フィルタnに記憶していく。さらに、「しおり記憶数」の値をインクリメントしていく。
そして、「戻る」ボタン1402の押下操作があった場合は、ポインタの値をデクリメントし、該デクリメントしたポインタの値nに対応する(連番n,ランクn)、フィルタnの値を、連番、ランク、フィルタの値に戻す。そして、該値を戻したワークファイルに基づいて、サムネール表示画面を再表示する。
また、「進む」ボタン1403の押下操作があった場合は、ポインタの値をインクリメントし、該インクリメントしたポインタの値nに対応する(連番n,ランクn)、フィルタnの値を、連番、ランク、フィルタの値に戻す。そして、該値を戻したワークファイルに基づいて、サムネール表示画面を再表示する。
このように構成することで、N回までのしおり操作について、「しおり」ボタン1401の操作単位で、画面表示及びランクを元に戻したり、再度進めたりすることが可能となる。
なお、本実施形態では、「しおり」ボタン1401の操作単位で、画面表示及びランクを元に戻したり、再度進めたりする構成について示したが、全ての操作を保存しておき、全ての操作について画面表示及びランクを元に戻したり、再度進めたりするように構成してもよい。なお、この場合、差分情報のみを保存するように構成してもよい。
以上示したように、本実施形態の現像・表示処理装置103のCPU21は、操作者からの状態保存指示(「しおり」ボタン1401の押下操作)に応じて、その時点での前記画像毎のランク,前記画像毎の番号(連番),前記ランク毎の表示属性(フィルタフラグ)の状態をワークファイル内の(連番n,ランクn)、フィルタフラグnに保存する。また、CPU21は、操作者からの再現指示(「戻る」ボタン1402、又は、「進む」ボタン1402の押下操作)に応じて、ある時点での前記画像毎のランク,前記画像毎の番号(連番),前記ランク毎の表示属性(フィルタフラグ)を、(連番n,ランクn)、フィルタフラグnに保存されている状態に再現させるように制御する。
また、前記画像毎のランク,前記画像毎の番号(連番),前記ランク毎の表示属性(フィルタフラグ)の状態を時系列に複数保存可能であり、CPU21は、操作者からの第1の再現指示(「戻る」ボタン1402の押下操作)に応じて、ある時点での前記画像毎のランク,前記画像毎の番号(連番),前記ランク毎の表示属性(フィルタフラグ)の状態を、(連番n,ランクn)、フィルタフラグnとして時系列に保存されている1つ前の時点の状態に再現するように制御する。また、CPU21は、操作者からの第2の再現指示(「進む」ボタン1402の押下操作)に応じて、ある時点での前記画像毎のランク,前記画像毎の番号(連番),前記ランク毎の表示属性(フィルタフラグ)の状態を、(連番n,ランクn)、フィルタフラグnとして時系列に保存されている1つ後の時点の状態に再現するように制御する構成を有する。
以上のような構成により、本実施形態の画像選択装置では、画像選択中に、「しおり」をつけて記憶させた状態(複数可)に、戻したり、進めたりすることにより、多くの類似画像から効率的に画像選択することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図24に示すメモリマップを参照して本発明に係る画像選択装置で読み取り可能なデータ処理プログラムの構成について説明する。
図24は、本発明に係る画像選択装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図10,図23に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。