以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
<第1の実施形態>
図1は、アルバム作成装置100のハードウェア構成を示す図である。アルバム作成装置100は、例えばパーソナルコンピュータ等の情報処理装置によって構成可能である。なお、アルバム作成装置100は、画像をアルバムと関連付けて管理するとともに、これらの画像を使ったアルバムを作成する役割を担う。
図1において、101はCRT(Cathode Ray Tube)などの表示装置であり、その表示画面には、例えば編集中の文書、図形、画像その他の編集情報、アイコン、メッセージ、メニューその他のユーザインタフェース情報が表示される。なお、本実施例では、表示装置としてCRTを使用する場合について説明するが、これに限らず、LCD(Liquid Crystal Display)やEL(Electro Luminescent)ディスプレイ等であってもよい。
102はVideo RAM(VRAM)であり、CRT101の表示画面に表示するための画像が描画される。このVRAM102に生成された画像は、所定の規定に従ってCRT101に転送され、これによりCRT101に画像が表示される。
103はビットムーブユニット(BMU)であり、例えば、メモリ間(例えば、VRAM102と他のメモリ)のデータ転送や、メモリと各I/Oデバイス(例えば、ネットワークインタフェース111)との間のデータ転送を制御する。
104はキーボードであり、文書等を入力するための各種キーを有する。105はポインティングデバイスであり、例えば、CRT101の表示画面上に表示されたアイコン、メニューその他のオブジェクトを指示するために使用される。
106はCentral Processing Unit(CPU)であり、Read Only Memory(ROM)107、ハードディスク109に格納された制御プログラムに基づいて、バス112を介して接続された各デバイスを制御する。
107はROMであり、各種の制御プログラムやデータを保持する。108はRandom Access Memory(RAM)であり、CPU106のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
109はハードディスク(HDD)である。ハードディスク109は、アルバム作成装置100で実行される各制御プログラムや、画像ファイルやテキストファイル等のコンテンツファイルを格納することができる。例えば、ハードディスク109には、オペレーティングシステム(OS)、電子アルバムデータ、画像ファイル、アルバム作成プログラム、各種情報を管理するためのテーブルなどが格納されている。
ここで図2に、ハードディスク109に記憶された画像ファイル200の構成の一例を示す。201は例えば、画像ファイル200がデジタルカメラで撮影することによって得られたものであれば、撮影日時、デジタルカメラの機種、シャッター速度、絞り値、露出補正、ホワイトバランスなどの撮影情報が属性情報として格納される。202はサムネイル画像が格納される。サムネイル画像はExif規格等の標準規格に準拠し、画像の内容が確認できる程度の解像度を有する。203はオリジナル画像が格納される。オリジナル画像はサムネイル画像よりも高い解像度を有する。オリジナル画像203は用紙への印刷や、大画面ディスプレイでの表示に適している。
110はフレキシブルディスクドライブ(FDD)であり、フレキシブルディスクに対するアクセスを制御する。111はネットワークインタフェースであり、他の情報処理装置やプリンタ等と通信を行うことができる。
CPU106に対する制御プログラムの提供は、ROM107、ハードディスク、フレキシブルディスクから行うこともできるし、ネットワークインタフェース111を介して他の情報処理装置等から行うこともできる。
次に、アルバム作成装置100のCPU106がハードディスク109に記憶されたアルバム作成プログラムを実行し、アルバムを作成する手順について図3を参照して説明する。
ステップS301にてCPU106はアルバム設定画面をCRT101に表示させる。ユーザはアルバム設定画面にしたがい、キーボード104やポインティングデバイス105を操作して、アルバムの名称を入力する。そして、アルバムの新規作成の指示を入力する。
ステップS301にてアルバムの新規作成の指示が入力されると、ステップS302にてCPU106は新規に作成されるアルバムを一意に識別するためのアルバムIDを発行する。そして、図4に示すようなアルバム管理テーブル400に新規レコードを追加しハードディスク109に記憶する。図4のアルバム管理テーブル400では、アルバムID401、アルバム名称402や後述するテンプレート種類403を管理する。
ステップS303では、CPU106は画像選択画面をCRT101に表示させる。ユーザは画像選択画面に従い、キーボード104やポインティングデバイス105を操作して、アルバムに関連付ける画像ファイルを選択する。画像選択画面には、各画像ファイルのサムネイル画像が表示されており、ユーザはそれを参照して所望の画像を選択することができる。また、ステップS303にて選択された画像について、ハードディスク109の図5に示すような画像管理テーブル500に新規のレコードが作成され、管理される。なお、ステップS303にて同じ画像ファイルが複数回、選択されると、異なる画像番号501を有し、同じ画像ファイル名502と画像ファイルパス513を有するレコードが複数、作成される。
図5はアルバム作成装置100でアルバムに掲載される画像を管理するための画像管理テーブル500を示した図である。
画像管理テーブル500のレコードには、画像を管理するために、画像番号501、画像ファイル名502、画像ファイルパス513、当該画像が掲載されるアルバムのアルバムID514が格納される。ここで、画像番号501はステップS303にて選択された順に連続した番号が割り当てられる。さらに、画像内で実際にアルバムに表示される画像の部分の左端画素位置503、右端画素位置504、上端画素位置505、下端画素位置506がレコードに格納される。また、画像の回転角度507、画像の表示される領域の形状508、見開きページ内で画像の表示される領域の左端を示す位置509、右端を示す位置510、上端を示す位置511、下端を示す位置512もレコードに保管される。形状508は1なら長方形、2なら表示矩形に内接する楕円形等というように形状と関連付けられた値が格納される。また、表示位置に関する座標値は領域の左上を原点としx、y軸それぞれ右、下方向が正となる座標系で管理する。また、表示位置に関する座標値は、アルバムが印刷処理されるときに、各画像領域が印刷される用紙上での位置とも対応する。
なお、ステップS303では、レコードのうち画像番号501、画像ファイル名502、画像ファイルパス513及びアルバムID514に情報が格納される。レコードのうち他のパラメータへの情報の格納については後述する。
ステップS304では、CPU106はテンプレート選択画面をCRT101に表示させる。ユーザはテンプレート選択画面に従い、キーボード104やポインティングデバイス105を操作して、テンプレートの種類を選択する。テンプレートは各画像の配置や出力サイズ、縁取りのデザイン、背景、表紙のデザイン、ページサイズ、総ページ数等を定義する。また、各テンプレートの定義はハードディスク109に記憶されている。また、ステップS304にて選択されたテンプレートの種類を示す値はアルバム管理テーブル400のテンプレート種類403としてハードディスク109に格納される。
ステップS305では、CPU106は、ステップS304にて選択されたテンプレートに従い、ステップS303にて選択された順に画像をアルバムに配置する。そして、アルバム編集画面600をCRT101に表示させる。ここで、CPU106はテンプレートに従って配置された画像の状態に基づき、画像管理テーブル500のパラメータ502〜512のそれぞれに情報を格納する。
図6はアルバム作成装置100のCRT101に表示されるアルバム編集画面600を示した図である。
601はアルバム編集画面600において、アルバム内の1つの見開きページを編集するためのページ編集領域である。図6に示されるアルバム編集画面600では611から615に示される5つの画像領域に画像がはめ込まれていることを示している。ここで、ページ編集領域601に表示された各画像の見開きページにおける位置の座標がそれぞれ画像管理テーブル500の509〜512に格納される。また、その画像領域の形状や画像の回転角度が508や507に格納される。
また、実際にページ編集領域601で表示されている画像の部分の全体画像に対する座標が画像管理テーブル500の503〜506にそれぞれ格納される。そして、CPU106はハードディスク109に格納された画像ファイルの画像全体を読み出す。そして、読み出された画像全体に対する座標503〜506に示される部分の画像を描画画像として作成する。そして、CPU106は描画画像をVRAMに記憶し、CRT101に表示させる。
602はアルバム作成装置100で編集を行うべき見開きページを選択するためのページ選択領域602である。ページ選択領域602にはアルバム内に作成されているページが見開き単位でサムネイル表示されている。また、現在、ページ編集領域601に表示されている編集中の見開きページは強調表示されている。ユーザはこれらサムネイル表示されている見開きページの中から、これから編集したいページをポインティングデバイス105でクリックして選択することによってページ編集領域601に表示されている見開きページを変更することができる。
603は見開きページの選択領域に全てのページを表示できなかった場合に使用するスクロールバーである。ユーザはスクロールバーの両端にある左右矢印ボタンを選択することによって現在表示されている見開きページより前、及び後ろの見開きページをページ選択領域602に表示させることができる。
604は編集中の見開きページに画像を追加するためのボタンである。このボタンが押下された後、画像ファイルを選択することによってページ編集領域601に表示された見開きページに画像を追加することができる。画像が追加される場所は、アルバムの各ページに掲載される画像の枚数に応じた画像領域をテンプレートに予め保持しておき、自動的に画像が挿入されて表示される。なお、画像が追加される場所はユーザがポインティングデバイス105等を操作することにより明示的に指定するようにしてもかまわない。
605はページ編集領域601に表示された見開きページにある画像を削除するためのボタンである。ユーザはページ編集領域601に表示された見開きページから1つの画像を選択し、このボタン605を押下する。この操作に応答して、CPU106は選択された画像を見開きページ上に表示させないようにするとともに、画像管理テーブル500から当該画像のレコードを削除する。また、画像が削除されると残りの画像の枚数に応じて、予めテンプレートに保持されている画像領域を取得し、残りの画像の配置を再調整して表示させる。
606は画像の編集を行うためのボタンである。ユーザがページ編集領域601内の画像の1つを選択し、画像の編集ボタン606を押下すると、CPU106は図7に示すような画像編集画面700をCRT101に表示させる。
図7は本実施の形態における画像編集画面700を示した図である。図7に示される画像編集画面700では、画像の編集指示として、その画像一部分を切り出すトリミング処理や画像の回転処理の指示が行われる。
701は画像編集領域である。この画像編集領域701には現在編集中の画像が表示されている。また、現在編集中の画像のうち、実際にアルバムの見開きページの画像領域に表示される部分が矩形領域706で囲まれることによって明示されている。この矩形領域706は各辺、各頂点をドラッグすることにより拡大、縮小処理を行うことができる。このとき矩形領域706は見開きページの画像領域の矩形と相似形の形状を保ったまま拡大、縮小される。
702、703は画像を回転するためのボタンである。各ボタンが押下されることによって画像編集領域701に表示された編集中の画像がそれぞれ左、右に90度回転して表示される。
OKボタン704が押下されると、CPU106は画像編集画面700で編集された内容を反映した情報を画像管理テーブル500のレコードに保存する。
例えば、矩形領域706の位置やサイズの変更があれば、画像管理テーブル500のレコードのパラメータ502〜506の情報が更新されて保存される。CPU106はハードディスク109に格納された画像ファイルの画像全体を読み出す。次に、CPU106は読み出された画像全体に対する新たに更新された座標502〜506に示される部分の画像を描画画像として作成する。そして、CPU106は描画画像をVRAMに記憶し、編集された画像とともにアルバム編集画面600をCRT101に表示させる。また、矩形領域706の位置やサイズが変更されていれば、アルバム編集画面600のページ編集領域601の画像領域には画像のうち、新たに指定された画像の部分が表示される。
また、キャンセルボタン705が押下されると、画像編集画面700で編集された内容は取り消される。そして、CPU106は画像編集画面700の表示を終了し、CRT101での表示をアルバム編集画面600に戻させる。
図6の607はアルバム編集画面600が表示される前の画面に表示を戻すよう指示するためのボタンである。本実施の形態では詳細な説明は省略するが、ボタン607が押下されると、CPU106は例えばアルバム設定画面等をCRT101に表示させる。
608はアルバム編集画面600から次の画面の表示に遷移するよう指示するためのボタンである。ボタン608が押下されると、CPU106は図8に示すような処理選択画面800をCRT101に表示させる。
図8はアルバム編集画面600より次へボタン608が押下されたときにCRT101に表示される処理選択画面800を示した図である。
各種ボタン801〜804が押下されると、CPU106は後述する図13のフローに従った処理を開始する。以下、各種ボタン801〜804の押下操作に応答し、CPU106が図13のフローを実行した後に行われる処理について説明する。
保存ボタン801が押下されるとCPU106は編集操作の受け付けを終了し、アルバム編集画面600で編集を行ったアルバムの各ページの内容をハードディスク109の各種テーブルに保存する。そして、アルバム作成装置100における処理を終了する。
また、プレビューボタン802が押下されるとCPU106は編集操作の受け付けを終了し、アルバム編集画面600で編集を行ったアルバムの各ページの内容をCRT101に表示させる。これにより、ユーザはアルバムの内容を確認することができる。詳細に関しては省略する。
プリントボタン803が押下されると、CPU106は編集操作の受け付けを終了し、アルバム編集画面600などで表示されたのと同じ態様でアルバムが用紙上に印刷され、製本されるような印刷データを作成する。
具体的には、CPU106はハードディスク109に記憶されたページ管理テーブル1100からアルバム編集画面600で編集されていたアルバムのアルバムID1103を取得する。次に、ハードディスク109に記憶されたページ画像管理テーブル1200から、取得されたアルバムID1103と同じアルバムID1204を有するレコードを第1見開きページから順に取得する。次に、取得されたレコードの画像領域数1202と先頭画像番号1203を参照し、画像管理テーブル500から当該見開きページにある画像のレコードを取得する。次に、取得されたレコードの画像ファイルパス513に基づいて画像ファイル200を取得する。また、ハードディスク109に記憶されたアルバム管理テーブル400から、取得されたアルバムID1103と同じアルバムID401を有するレコードのテンプレートの種類403を参照する。そして、画像のトリミング領域の情報503〜506、画像の配置の情報507〜512及びテンプレートの種類403を参照して画像ファイル200のオリジナル画像203から印刷データを作成する。
CPU106は作成された印刷データに基づいて印刷処理を実行するようOSを介してプリンタドライバに指示する。アルバム作成装置100はプリンタ装置と有線ケーブル又は無線通信を介して接続されている。プリンタ装置はアルバム作成装置100のプリンタドライバから指示を受け、プリンタドライバによってレンダリングされた印刷データに基づきアルバムの印刷を実行する。
ネット注文ボタン804が押下されると、CPU106はネットワークインタフェース111を介してネットワークと接続する。次に、CPU106は上記した印刷ボタン803が押下された場合と同様にして印刷データを作成する。そして、CPU106はオンライン印刷ショップのWebサーバへアクセスし、作成された印刷データを送信する。Webサーバはアルバムの注文に必要な情報を入力するための入力フォームを定義したWebページ情報をアルバム作成装置100へ送信する。アルバム作成装置100はWebブラウザを起動し、Webページ情報に基づき入力フォームを表示する。ユーザは入力フォームに従って、アルバムの冊数や配送先住所、氏名、クレジット情報などの注文情報を入力する。アルバム作成装置100はWebブラウザによって注文情報をWebサーバへ送信する。Webサーバでは、印刷データ及び注文情報に基づいて、アルバムの印刷処理を実行する。また、Webサーバのオペレータが印刷されたアルバムの製本処理、配送処理を行う。
戻るボタン805が押下されると、CPU106はCRT101の表示をアルバム編集画面600に戻す。
図9は本実施の形態におけるアルバム作成装置100が、アルバムに掲載されている画像同士が重複している場合に警告するかどうかを制御するための閾値データを管理する警告管理テーブル900を示した図である。警告管理テーブル900はハードディスク109に記憶される。
本実施の形態ではCPU106は、警告管理テーブル900を用いて警告判断重複率901を管理する。
本実施の形態では、アルバム内の2つの画像領域に同一の画像が使用されていると判断された場合に、それぞれの画像領域で表示されている画像の部分の面積の比(重複率)を算出する。警告判断重複率901はユーザに対してアルバム内で同じ画像が使用されていることを警告するかどうかを決定するために使用する重複率の閾値である。
警告判断重複率901は、アルバム作成プログラムで予め固定された値として設定されたものをアルバム作成装置100がRAM108やハードディスク109に保持しておくようにしても良い。また、図10に示すようなアルバム作成プログラムに従ってCPU106がCRT101に表示する環境設定画面でユーザが自由に設定した値を使用できるようにしても良い。
図11はアルバム作成装置100がアルバムのページ数を管理するために用いるページ管理テーブル1100を示した図である。
アルバム作成装置100はページ管理テーブル1100を用いて見開きページ数1101及びページ編集領域601に表示された編集中の見開きページ番号1102、当該ページが属するアルバムのアルバムID1103を管理する。
見開きページ数1101に格納される値について説明する。まず、表紙と裏表紙を合わせたページを第1見開きページとし、表紙の裏側ページと1ページ目を合わせた見開きページが第2見開きページとして管理される。そして、例えば総ページ数が10ページのアルバムであった場合には、以降「2,3」「4,5」「6,7」「8,9」の4見開きページが第3〜6見開きページとして管理される。また、10ページ目と裏表紙の裏側のページを合わせた見開きページが最終の第7見開きページとして管理される。したがって、総ページ数が10ページであれば、全部で7見開きページがあることとなり、見開きページ数1101には7がセットされる。
編集中の見開きページ番号1102には既に説明したアルバム編集画面600のページ選択領域602より新たに編集するべき見開きページが選択され、ページ編集領域601に新たな見開きページが表示された時点でそのページ番号がセットされる。
図12はアルバム作成装置100で作成されるアルバムの各見開きページに掲載される画像に関する情報を管理するページ画像管理テーブル1200である。ページ画像管理テーブル1200では、アルバムに含まれる見開きページ数分のレコードが保管される。
各見開きページには見開きページ番号1201、ページ内の画像数(画像領域数)1202、及び、ページ内の先頭画像の画像番号1203が保管されている。ある見開きページに対してアルバム編集画面600で画像の追加ボタン604が選択されると、CPU106はその見開きページに対するページ内の画像数1202を1加算する。そして、それ以降の各見開きページの画像に関するレコードを取得し、先頭画像番号1203をそれぞれ1加算する。一方、ある見開きページに対してアルバム編集画面600で画像の削除ボタン605が選択されると、CPU106はそれぞれ1減算する。
ある見開きページに対してアルバム編集画面600で画像の追加ボタン604が選択されると、該当ページ以降のページに属する全ての画像管理テーブル500のレコードの画像番号501が1加算される。その後、画像管理テーブル500のレコードが新たに1つ作成され、画像管理テーブルの「最大の画像番号+1」を画像番号に持ったレコードが作成される。一方、ある見開きページに対してアルバム編集画面600で画像の削除ボタン605が選択されると該当画像番号のレコードが削除されるとともに、その画像番号501以降の画像番号501を持つ全レコードから画像番号501が1ずつ減算される。なお、画像管理テーブル500には、アルバムに含まれる画像の数だけレコードが存在する。
次に、アルバム作成装置100において、アルバムの複数箇所で同じ画像が使用されているかどうかを確認し警告を通知するフローについて、図13を参照して説明する。
本実施の形態では図13に示す処理はアルバム編集画面600で次へボタン608が押下されたことに応答して処理選択画面800が表示され、各種処理の実行を指示するためのボタン801〜804のいずれかが選択されたときに開始される。
なお、CPU106は、アルバム編集画面600において次へボタン608が押下されるとアルバム編集画面600を非表示又は編集操作不可能な状態で表示し、アルバムの編集処理を終了する。
図13は本実施の形態におけるアルバム作成装置100において画像のトリミング領域を考慮して、1つのアルバムの中で画像の重複があったかどうかを判断し、その旨を警告するかどうか制御するためのフローチャートである。尚、各ステップはCPU106がアルバム作成プログラムに従って実行する。
まず、ステップS1301にてCPU106はアルバム内で使用されている画像総数Nを求める。アルバム内で使用されている画像数はアルバムで使用している画像領域数と一致する。そのため、CPU106はハードディスク109からページ画像管理テーブル1200に保管されている見開きページの各レコードから画像領域数1202を読み出し、加算することによって画像総数Nを求められる。または、CPU106は図5に示される画像管理テーブル500で管理されているレコードのうち、当該アルバムのアルバムID514を有する総レコード数を取得することで画像総数Nを求めることも可能である。
次にステップS1302にてCPU106はハードディスク109に記憶された警告管理テーブル900から重複許容比率901を取得しPに代入する。
ステップS1303にてCPU106は画像数をカウントするワークパラメータIを1で初期化する。
ステップS1304にてCPU106はワークパラメータIが画像総数Nより小さいかどうかを比較する。IがNより小さい間は、CPU106はステップS1305以降の処理を行う。IがNと等しくなると、CPU106は処理を終了する。
ステップS1305にてCPU106は比較するために用いる画像をカウントするためのワークパラメータJをI+1で初期化する。
ステップS1306にてCPU106はワークパラメータJがN以下であるかどうかを判定する。JがN以下である場合には2つの画像領域に同一の画像が使用されているかを比較するためのフローS1307に遷移する。JがNより大きい場合にはステップS1315に遷移し、ワーキングパラメータIを1加算してステップS1304の処理に戻る。
ステップS1307にてCPU106は第I番目の画像と第J番目の画像が同一の画像ファイルであるかのチェックを行う。具体的には図5に示された画像管理テーブル500からアルバムのページ先頭より第I番目の画像に関するレコードを取得する。取得された第I番目の画像のレコードより画像ファイル名502及び、画像に対するトリミング領域の矩形情報503,504,505,506を取得する。同様に第J番目の画像に関するレコードの情報も取得することができる。ここでは取得されたそれぞれの画像のレコードの画像ファイル名502を比較することによって画像ファイルが同一であるかどうかを判断する。
尚、本実施の形態では画像ファイルが同一であるかどうかの判断を画像ファイル名502の比較によって行った。しかしながら、その画像ファイルパス513に基づいて画像ファイル200を取得し、オリジナル画像203それぞれを取得してバイナリデータが同一のものであるかどうかを比較するようにしてもかまわない。また、大容量のオリジナル画像203のバイナリデータの比較は処理に時間がかかるので、サムネイル画像202のバイナリデータを比較するようにしてもよい。なお、サムネイル画像202は画像ファイル200に予め保持しているものであってもよいし、比較のために一定サイズの縮小画像を作成しておくようにしてもよい。また、オリジナル画像203又はサムネイル画像202の画素情報を一定のアルゴリズムでハッシュ値などに換算し、そのハッシュ値を比較することによって画像ファイルの比較処理を高速化してもかまわない。
ステップS1307にて第I番目の画像と第J番目の画像が同一の画像ファイルであると判断された場合には、CPU106はステップS1308に移行する。ステップS1307にて第I番目の画像と第J番目の画像が異なる画像ファイルであると判断された場合にはCPU106は画像の比較処理を取りやめステップS1314に遷移する。
ステップS1308にてCPU106は第I番目の画像と第J番目の画像に対して、重複領域を算出する。ここで第I番目の画像のトリミング領域の座標を左上(SIX,SIY)、右下(EIX,EIY)、第J番目の画像のトリミング領域の座標を左上(SJX,SJY)、右下(EJX,EJY)、重複領域の矩形の座標を左上(SX,SY),右下(EX,EY)とすると、
SX=max(SIX,SJX)
SY=max(SIY,SJY)
EX=max(min(EIX,EJX),SX)
EY=max(min(EIY,EJY),SY)
として求められる。ただし、ここでmaxは括弧内の要素の大きい方、minは括弧内の値の小さい方を取得する関数である。
ステップS1309にてCPU106はステップS1308で求めた重複領域が第I番目の画像のトリミング領域に占める割合R(I)を求める。
R(I)=((EX−SX)×(EY−SY))/((EIX−SIX)×(EIY−SIY))
である。
ステップS1310にてCPU106はステップS1308で求めた重複領域が第J番目の画像のトリミング領域に占める割合R(J)を求める。
R(J)=((EX−SX)×(EY−SY))/((EJX−SJX)×(EJY−SJY))
である。
ステップS1311にてCPU106は重複率Rを取得する。
R=min(R(I),R(J))
である。
なお、本実施の形態では、トリミング領域が矩形であるか、楕円形であるかに関わらず、重複領域の算出及びその画像内でのその比率の算出は矩形を基準に行うこととしたが、楕円形の場合には詳細に面積計算を行ってもかまわない。
ステップS1312にてCPU106は重複率RをステップS1302で取得した重複許容比率Pと比較する。本実施の形態ではR<Pであれば第I番目の画像と第J番目の画像では画像のトリミング領域における重複領域が少ないために同一画像であることを警告しない。したがって、CPU106はR<Pであれば、次の処理としてステップS1314に遷移する。
一方、R≧Pであった場合には、同一の画像が複数箇所に表示されていることを警告する。従って、CPU106はステップS1313にて図14に示すような警告画面1400を表示する。CPU106はページ画像管理テーブル1200を参照し、第I番目の画像と第J番目の画像のある見開きページ番号を算出し、警告画面1400に表示する。
図14はステップS1312にて重複画像があったと判断された場合に、ステップS1313にてCPU106がCRT101に表示させる警告画面1400を示した図である。ボタン1401が押下されるとCPU106はCRT101の表示をアルバム編集画面600にもどし、第I番目の画像のある見開きページをページ編集領域601に表示する。ボタン1402が押下されるとCPU106はCRT101のアルバム編集画面600にもどし、第J番目の画像のある見開きページをページ編集領域601表示する。ボタン1403が押下されると重複を無視するものと判断して、CPU106は例えば印刷処理等の次の処理を実行する。ボタン1404が押下されると、CPU106はCRT101の表示を処理選択画面800にもどす。
ステップS1314でCPU106はワークパラメータJを1加算し、ステップS1306の処理に戻る。
以上の処理を続けることにより、アルバムに掲載される画像のうちトリミングされた部分の重複率に応じて、画像が重複して利用されているかどうかを判断することができる。さらに、その判断に応じて、重複の警告を行うかどうかを制御することができる。
また、本実施の形態では図13を用いて、アルバムの編集処理が終了し、処理選択画面800にて各種処理の実行が指示されたことをトリガーとして全ての画像の重複を検査するように説明したが、これに限るものではない。
例えば、アルバム編集画面600のページ選択領域603で新たな見開きページが選択されたことをトリガーとするようにしてもよい。この場合、まず、現在、ページ編集領域601に表示されている見開きページの画像が他の見開きページの画像と重複しているかを検査するように図13に示す処理を開始する。また、CPU106はステップS1303にてワーキングパラメータIの初期値を現在、ページ編集領域601に表示されている見開きページに対する先頭の画像番号1203から取得する。そして、CPU106はステップS1304の判断は総画像数Nとの比較ではなく、ワーキングパラメータIが現在の見開きページの先頭画像番号1203に見開きページ内の画像数1202を加算した値に達したかどうかで判断する。また、この場合には見開きページ内の各画像とアルバム内の他の全ての画像の重複を比較するために、ステップS1305で設定するワーキングパラメータJには1を代入することによって初期化する。そして、ステップS1307で第I番目の画像と第J番目の画像が同じ画像かどうかを判断するときにはIとJが等しくなくかつ第I番目の画像と第J番目の画像が同じ画像ファイルかどうかを判断すればよい。
また、例えば、画像編集画面700のOKボタン704が押下されたことをトリガーとしてもよい。この場合、現在、画像編集領域701に表示されている画像の画像番号をステップS1303で代入するIの初期値として設定する。そして、ステップS1304での判断は現在画像編集領域701に表示されている画像の画像番号に1を加算した値に達したかで判断するようにすればよい。そして、上記アルバム編集画面600の場合と同様の処理を実行すればよい。
以上説明したような処理を行うことによって、本実施の形態では、アルバムに掲載された画像のトリミング領域の重複率を考慮してアルバム作成者に重複して使用されている画像がある旨の警告を発することができる。従って、同じ画像であっても、その中で異なる部分がアルバムのページに掲載されていれば、意図的に同じ画像が使用されているものと考慮し、警告を行わないので、アルバム作成者は不要な警告を受けずに済む。
<第2の実施形態>
第2の実施形態では、拡大又は縮小の編集が行われた画像がアルバムのページに表示にされる場合に、アルバムに掲載された画像同士の重複を判定する処理ついて説明する。なお、本実施の形態では上記第1の実施形態と同様の部分については説明を省略し、異なる部分について、特に詳細に説明する。
図15は本実施の形態におけるアルバム作成装置100のCRT101に表示されるアルバム編集画面1500を示した図である。図15に示されるアルバム編集画面1500では、画像の編集指示としてその画像を拡大又は縮小する指示が行われるが、その他の部分については第1の実施形態のアルバム編集画面600と同様である。アルバム編集画面1500の倍率入力欄1501に入力された拡大率に従って、画像が拡大又は縮小されてページ編集領域601に表示される。
図16は本実施の形態におけるアルバム作成装置100が、アルバムに掲載されている画像同士が重複している場合に警告するかどうかを制御するための閾値データを管理する警告管理テーブル1600を示した図である。警告管理テーブル1600はハードディスク109に記憶される。
本実施の形態ではCPU106は、警告管理テーブル1600を用いて警告判断Zoom比率1601を管理する。
本実施の形態では、アルバム内の2つの画像領域に同一の画像が使用されていると判断された場合に、それぞれの領域で表示されている画像の表示倍率の比(Zoom比率)を算出する。警告判断Zoom比率1601はユーザに対して同じ画像が使用されていることを警告するかどうかを決定するために使用するZoom比率の閾値である。
警告判断Zoom比率1601は、アルバム作成プログラムで予め固定された値として設定されたものをアルバム作成装置100がRAM108やハードディスク109に保持しておくようにしても良い。また、上記した第1の実施形態と同様にして、アルバム作成プログラムに従ってCRT101に表示される環境設定画面でユーザが自由に設定した値を警告判断Zoom比率1601として使用できるようにしても良い。
図17は本実施の形態におけるアルバム作成装置100において、アルバムに掲載された画像の表示倍率を考慮した上で画像の重複があったことを警告するかどうかを判断するためのフローチャートである。尚、各ステップはCPU106がアルバム作成プログラムに従って実行する。
まず、ステップS1701にてCPU106はアルバム内で使用されている画像総数Nを求める。この処理の内容は上記第1の実施形態において図13で説明したステップS1301の処理と同じである。
次にステップS1702にてCPU106はハードディスク109に記憶された警告管理テーブル1600から許容拡大比率1601を取得しQに代入する。
ステップS1703にてCPU106は画像数をカウントするワークパラメータIを1で初期化する。
ステップS1704にてCPU106はワークパラメータIが画像総数Nより小さいかどうかを比較する。IがNより小さい間は、CPU106はステップS1705以降の処理を行う。IがNと等しくなると、CPU106は処理を終了する。
ステップS1705にてCPU106は比較するために用いる画像をカウントするためのワークパラメータJをI+1で初期化する。
ステップS1706にてCPU106はワークパラメータJがN以下であるかどうかを判定する。JがN以下である場合には2つの画像領域に同一の画像が使用されているかを比較するためのフローS1707に遷移する。JがNより大きい場合にはステップS1716に遷移し、ワーキングパラメータIを1加算してステップS1704の処理に戻る。
ステップS1707にてCPU106は第I番目の画像と第J番目の画像が同一画像ファイルであるかのチェックを行う。この処理は上記第1の実施の形態において説明した図13のステップS1307の処理と同様である。
ステップS1707にて第I番目の画像と第J番目の画像が同一の画像ファイルであると判断された場合には、CPU106はステップS1708に移行する。ステップS1707にて第I番目の画像と第J番目の画像が異なる画像ファイルであると判断された場合にはCPU106は画像の比較処理を取りやめステップS1715に遷移する。
ステップS1708にてCPU106は第I番目の画像のオリジナル画像に対する拡大率R(I)を求める。具体的にはCPUはハードディスク109の画像管理テーブル500から第I番目の画像に該当するレコードを検索し、その画像の表示左上位置(SX,SY)及び右下位置(EX,EY)を取得する。SXは領域の左端位置509、SYは領域の上端位置511、EXは領域の右端位置510、EYは領域の上端位置512である。次に第I番目の画像の画像のトリミング左端画素503,上端画素505、右端画素504,下端画素506を取得する。ここで第I番目の画像のトリミング領域の座標を左上(SIX,SIY)、右下(EIX,EIY)とすると拡大率R(I)は
R(I)=(EX−SX)/(EIX−SIX)
で求めることができる。尚、本実施の形態ではX軸方向に拡大率を求めたが、Y軸方向で拡大率を求めても同じ値を得ることができる。
ステップS1709にてCPU106は第J番目の画像のオリジナル画像に対する拡大率R(J)を求める。取得方法はS1708と同様で、画像のトリミング領域の座標を左上(SJX,SJY),右下(EJX,EJY)とすると
R(J)=(EX−SX)/(EJX−SJX)
で求めることができる。
ステップS1710にてCPU106はステップS1708で求めた拡大率R(I)とステップS1709で求めた拡大率R(J)を比較する。拡大率R(I)が拡大率R(J)より小さかった場合にはCPU106はステップS1712にて両画像の拡大率の比Rを
R=R(J)/R(I)
として求める。
一方、拡大率R(I)が拡大率R(J)以上である場合には、ステップS1711にて両画像の拡大率の比Rを
R=R(J)/R(I)
として求める。
ステップS1713にて拡大率の比RがステップS1702で求めた許容拡大率Qより小さいかどうかを判定する。拡大率の比Rが許容拡大率Qより小さかった場合には、よく似た倍率で表示される画像が別の画像領域に存在することになる。従って、CPU106はステップS1714に遷移して、上記第1の実施形態と同様にして警告画面1400を表示する。この処理は上記第1の実施形態にて説明した図13のステップS1313と同じである。
一方、ステップS1713にて拡大率の比Rが許容拡大率Q以上と判定された場合には、全く違う倍率で画像が複数の画像領域に表示されていることになる。従って、ユーザが意図して同じ画像ファイルの画像を使用していると判断できるので、CPU106はステップS1713に遷移する。
ステップS1714でCPU106はワークパラメータJを1加算し、ステップS1706の処理に戻る。
以上の処理を続けることにより、同一の画像が複数の画像領域に使用されているかどうかの判定を画像の表示倍率に基づいて行うことができる。また、その判定に従って、画像が重複して使用されていることを警告するかどうかを制御することができる。
尚、本実施の形態では図17を用いてアルバムの編集処理が終了したことをトリガーとして全ての画像の重複を検査するように説明したが、これに限られるものではない。
例えば、アルバム編集画面600にてページ選択領域602で新たな見開きページが選択されたことをトリガーとするようにしてもよい。そして、現在、ページ編集領域601に表示されている見開きページの画像が他の見開きページの画像と重複しているかを検査するように処理を変更しても構わない。その場合は、CPU106はステップS1703にてワーキングパラメータIの初期値を現在、ページ編集領域601に表示されている見開きページに対する先頭の画像番号1203から取得する。そして、CPU106はステップS1704の判断は総画像数Nとの比較ではなく、ワーキングパラメータIが現在の見開きページの先頭画像番号1203に見開きページ内の画像数1202を加算した値に達したかどうかで判断すればよい。また、この場合には見開きページ内の各画像とアルバム内の他の全ての画像の重複を比較するために、ステップS1705で設定するワーキングパラメータJには1を代入することによって初期化する。そして、ステップS1707で第I番目の画像と第J番目の画像が同じ画像かどうかを判断するときにはIとJが等しくなくかつ第I番目の画像と第J番目の画像が同じ画像ファイルかどうかを判断すればよい。
また、例えば、画像編集画面700のOKボタン704が押下されたことをトリガーとしてもよい。この場合、現在、画像編集領域701に表示されている画像の画像番号をステップS1703で代入するIの初期値として設定する。そして、ステップS1704での判断は現在画像編集領域701に表示されている画像の画像番号に1を加算した値に達したかで判断するようにすればよい。そして、上記アルバム編集画面600の場合と同様の処理を実行すればよい。
以上説明したような処理を行うことによって、本実施の形態では、アルバムに掲載された画像の表示倍率を考慮してアルバムの作成者に重複して使用されている画像がある旨の警告を発することができる。従って、同じ画像であっても、その表示倍率が異なるものがアルバムのページに掲載されていれば、意図的に同じ画像が使用されているものと判断し、警告を行わないので、アルバム作成者は不要な警告を受けずに済む。
<第3の実施形態>
第1又は2の実施形態ではそれぞれ、図13又は図17を用いてアルバムの編集処理が終了し、処理選択画面800にて各種処理の実行が指示されたことをトリガーとして全ての画像の重複を検査するように説明した。これに対して、本実施の形態では、アルバム作成者がアルバムを編集している間に画像の重複を検査する場合について説明する。尚、本実施の形態では上記した第1又は2の実施形態と同様の部分については説明を省略し、異なる部分について特に詳細に説明する。
CPU106はアルバム編集画面600をCRT101に表示させている間、現在、ページ編集領域601に表示されている画像の部分が、アルバムのページに表示された他の画像と重複しているかを検査するように図13に示す処理を定期的に開始する。又は、CPU106は画像編集画面700をCRT101に表示させている間、矩形領域706で示される画像の部分がアルバムのページに表示された他の画像と重複しているかを検査するように図13に示す処理を定期的に開始する。
これにより、アルバム作成者は重複があるかどうかをアルバムの編集処理や画像のトリミング処理をしながら、速やかに知ることができる。
また、本実施の形態では、図13のステップS1313でページ編集領域601の画像の周辺に注意を示すアイコンを表示することで警告するようにしてもよい。又は、図17のステップS1714で画像編集画面700中に注意を示すアイコンを表示することで警告するようにしてもよい。これにより、ユーザは編集中に図14に示すような警告画面1400に応対するという煩わしい操作をしなくて済む。
<第4の実施形態>
本実施形態では、比較される画像同士がどの見開きページにあるかを考慮して、重複していないかどうかを検査する場合について説明する。尚、本実施の形態では上記した第1又は2の実施形態と同様の部分については説明を省略し、異なる部分について特に詳細に説明する。
CPU106は図13のステップS1307で第I番目と第J番目の画像ファイル同士が同じであると判定されれば、ページ画像管理テーブル1200を参照して第I番目と第J番目の画像ファイルが同じ見開きページにあるかどうかを判定する。尚、図17のステップS1707の場合も同様である。
そして、第I番目と第J番目の画像ファイルが同じ見開きページにないと判定されれば、図13のステップS1308又は図17のステップS1708以降の処理を実行する。
アルバム作成者は同じ見開きページ上の画像同士であればアルバム編集画面600のページ編集領域601を参照している間等に重複を認識している可能性が高いので、意図的に重複して使用していると考慮できる。本実施形態によれば、画像が存在する見開きページが同じであれば警告を出すことがないので、アルバム作成者は不要な警告に煩わされることがなくなる。一方、アルバム作成者は異なる見開きページ上の画像はアルバム編集画面600でも確認しずらいため重複を認識している可能性が低くなるので、意図的に重複して使用していないと考慮できる。本発明によれば、効果的にアルバム作成者に対して警告を出すことができる。
あるいは、第I番目と第J番目の画像がそれぞれ同じ見開きページにないと判定されれば、一方が表紙と裏表紙で構成される第1見開きページであるかどうかをさらに判定する。そして、一方の画像が第1見開きページにあると判定されれば、図13のステップS1314又は図17のステップS1715以降の処理を実行するようにしてもよい。アルバム作成者は表紙や裏表紙と本文で同じ画像を使用する傾向が高いので、意図的に重複して使用していると考慮でき、不要な処理や警告をしなくて済む。
<第5の実施形態>
本実施形態では、アルバムのページに表示された各画像について、トリミングや拡大縮小などの編集が行われたことをフラグで管理し、そのフラグに基づいて画像の重複を検査する場合について説明する。
図7の画像編集画面700で画像についてトリミング処理や回転処理が行われ、OKボタン704が押下されると、CPU106は画像管理テーブル500のレコードの編集フラグを“ON”として格納する。一方、キャンセルボタン705が押下されると、編集フラグを“OFF”として格納する。
また、図15のアルバム編集画面1500で画像について拡大又は縮小処理が行われ、画像の拡大率が100%以外になると、CPU106は画像管理テーブルのレコードの編集フラグを“ON”として格納する。一方、画像の拡大率が100%になればCPU106は画像管理テーブルのレコードの編集フラグを“OFF”として格納する。
図13のステップS1307で第I番目の画像と第J番目の画像が同じ画像ファイルであると判定されれば、CPU106はハードディスク109の画像管理テーブル500の第I番目の画像と第J番目の画像のレコードそれぞれの編集フラグを参照する。尚、図17のステップS1707も同様である。そして、少なくとも一方の編集フラグが“ON”であれば図13のステップS1314又は図17のステップS1715の処理を実行する。一方、両方の編集フラグが“OFF”であれば図13のステップS1313又は図17のステップS1714の処理を実行する。
画像について、何らかの編集が行われていれば、アルバム作成者は意図的に重複して画像を使用しているものと考慮できる。したがって、本実施の形態のような構成により、アルバム作成者に対して不要な警告をしなくて済む。また、フラグによって編集の有無を簡単に判断するので、複雑な演算処理や比較処理をしなくて済み、CPU106は処理にかかる負荷を軽減できる。
また、本発明の目的はアルバム編集プログラムのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体からプログラムコードを読出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、記憶媒体から読み出されたプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれるようにしてもよい。そして、その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。