以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本発明の実施形態に係るフォトブック作成システムの構成を示す図である。
画像入力装置101は、イメージ情報である光学像を電気信号に変換し、所定の画像処理を施した後にデジタル情報として記録、再生する。例えば、画像入力装置101は、デジタルスチルカメラや、デジタルビデオカメラ又はスキャナである。クライアント装置102は、ユーザが操作するパーソナルコンピュータ等の情報処理装置で、フォトブック編集部108とWebブラウザ109などのアプリケーションを含む。プリントサイト103は、ネットワーク106を介してクライアント装置102に接続される。ユーザは、クライアント装置102のWebブラウザ109を使用して、クライアント装置102のフォトブック編集部108を使用して作成したフォトブックデータの印刷をプリントサイト103に発行することができる。出力装置104は、プリントサイト103に送られたフォトブックデータを実際に印刷してフォトブック111を作成する。フォトサイト105は、画像データベース(DB)110に、各種Webページ情報、画像、音声などのマルチメディア情報を保存して管理する。ネットワーク106は、インターネット等のネットワークで、クライアント装置102、プリントサイト103及びフォトサイト105が接続され、これらの間で各種データの送受信が行われる。ローカル通信媒体107は、画像入力装置101で取得した画像データをクライアント装置102へ転送するための通信媒体である。このローカル通信媒体107としては、例えば、USBやIEEE1394に代表される有線通信媒体と、Bluetoothに代表される無線系通信媒体がある。
このローカル通信媒体107を介して画像入力装置101からクライアント装置102へ転送された画像データは、クライアント装置102のハードディスクドライブ(HDD)に記憶される。フォトブック編集部108は、画像データやコメントなどを配置可能な複数ページで構成されるフォトブックを編集できる。ユーザはWebブラウザ109を使用して、ネットワーク106経由でフォトサイト105にアクセスする。そしてフォトブック編集部108を使用してフォトブックを作成する際に使用するテンプレートデータや画像データを、このフォトサイト105からダウンロードすることができる。画像DB110は、Webブラウザ109によってダウンロードされる電子フォトブック用のテンプレートデータや画像データを格納している。フォトブック111は、出力装置104で作成されたフォトブックで、このシステムの最終成果物である。
フォトブック編集部108で編集に使用される画像データは大きく分けて2種類ある。1つ目は、クライアント装置102のHDDなどの記憶媒体に登録された画像データである。このHDDに記憶された画像データには、画像入力装置101から取得され、ローカル通信媒体107を介してクライアント装置102に転送されものも含まれる。もう一つは、フォトサイト105の画像DB110に格納されている画像データである。これらの画像データは、一般にクライアント装置102よりネットワーク106を介してフォトサイト105へアップロードされたものを含む。フォトブックの編集時には、それらはネットワーク106を介してフォトサイト105からクライアント装置102へ適宜ダウンロードされる。
クライアント装置102は、プリントサイト103の部分で説明した注文方法の他に、編集されたフォトブックのプリント注文をフォトサイト105経由でプリントサイト103に依頼することも可能である。プリントサイト103は、出力装置104を使ってフォトブックのプリント注文に対する印刷処理を実行してフォトブック111を出力する。尚、図1では、プリントサイト103を1つだけ図示したが、2つ以上備えるようにしてもよい。
図2は、実施形態に係るクライアント装置102のハードウェア構成を示すブロック図である。
表示部201は、その表示画面に、例えば編集中の文書、図形、画像、その他の編集情報、ウインドウ、アイコン、メッセージ、メニュー、その他のユーザインターフェース情報を表示する。VRAM202には、表示部201に表示するための画像が描画される。このVRAM202に生成された画像データは、所定の規定に従って表示部201に転送されることにより、表示部201に画像が表示される。外部メディアドライブ203は、CD又はDVDに代表される記憶メディア媒体に対する記録再生動作を行い、またアプリケーションを含む各種制御プログラムやデータをクライアント装置102と記憶媒体との間で授受する際の制御を担う。キーボード204は、文字入力や種々の操作を行うための各種キーを有する。ポインティングデバイス205は、例えば、表示部201の表示画面に表示されたアイコン、メニュー、その他のオブジェクトを指示し、操作するために使用される。CPU206は、ROM207、記憶装置(HDD)209及び外部メディアドライブ203に格納されたアプリケーションを含む制御プログラムに基づいて、CPU206に接続された各デバイスを制御する。ROM207は、各種の制御プログラムやデータを保持する。RAM208は、CPU206のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。HDDなどの記憶部209は、オペレーションシステム(OS)やアプリケーションを含む各種制御プログラム及び各種データを格納する。ローカル通信インターフェース(ローカル通信I/F)210は、ローカル通信媒体107を介して画像入力装置101などの外部の機器からのデータを授受する際の制御を担う。ネットワーク・インターフェース(I/F)211は、他の情報処理装置やプリンタ等とネットワーク213を介して通信を行う。CPUバス212は、アドレスバス、データバス及びコントロールバスを含む。尚、CPU206に対する制御プログラムの提供は、ROM207、記憶部209、ローカル通信I/F210、外部メディアドライブ203等から行うこともでき、更に、ネットワーク213を介して他の情報処理装置等から行うことも可能である。
本実施形態に係るフォトブック編集部108はアプリケーションとして実現され、記憶部209にOSが実行可能なデータとして格納されている。ユーザのポインティングデバイス205やキーボード204の操作をうけてOSがフォトブック編集部108の実行可能なデータをRAM206へマップしCPU206を用いて実行する。フォトブック編集部108は、OS提供のAPI関数をコールすることによりVRAM202へユーザインターフェースを表示する。そのユーザインターフェースに対するポインティングデバイス205やキーボード204のユーザ操作をうけてOSがフォトブック編集部108へイベントを伝え、フォトブック編集部108がイベントの解釈し対応する処理を実行する。
図3は、本実施形態に係るフォトブック編集部108の機能構成を示す機能ブロック図である。
データ制御部301は、最終成果物であるフォトブック111を作成するための画像データや描画データを管理及び制御する。データ制御部301は、候補画像3011、フォトブック構成データ3012、表紙用コンテンツデータ3013、及び内部ページコンテンツデータ3014を管理する。GUI制御部302は、フォトブックを作成するためにGUIを制御し、ユーザの操作を受け付ける操作手段や編集内容を表示する表示手段を提供する。デザイン制御部303は、フォトブックに使用されるデザイン情報(レイアウト、テンプレートデータ等)を管理及び制御する。デザイン制御部303は、レイアウト情報3031と、画像割付テーブル3032を管理する。通信制御部304は、作成されたフォトブック情報を基に印刷注文に必要な印刷データを作成して、その印刷データ及び注文処理に必要な情報の通信及び管理を行う。通信制御部304は、商品構成データ3041を管理する。候補画像3011は、フォトブックを作成する時の画像選択工程でユーザによって選択された、フォトブックに含まれる候補の画像群である。この候補画像3011から選択された画像を、フォトブック作成時の編集及びプレビュー工程で、フォトブックの各ページに割り当てることによりフォトブックが作成される。
フォトブック構成データ3012は、作成中のフォトブックの基本構成情報を保持する。フォトブック構成データ3012は、フォトブックの商材設定、構成ページ数、及び表紙用コンテンツデータ3013へのリンクと、内部ページコンテンツデータ3014へのリンクを保持する。表紙用コンテンツデータ3013は、データ制御部301により管理されているフォトブックの表紙、裏表紙、及び背表紙に割り振られる画像データと、その描画位置、フォトブックのタイトル、及び台紙に対する付加描画に関するデータを保持する。内部ページコンテンツデータ3014は、フォトブックの表紙及び裏表紙以外の内部を構成するページへ割り振られる画像データとその描画位置、写真へのコメント、及び台紙部分への付加描画に関するデータ等を保持する。これら作成中のフォトブックの情報である、フォトブック構成データ3012、表紙用コンテンツデータ3013、及び内部ページコンテンツデータ3014は、フォトブック作成時の編集及びプレビュー工程で生成される。
レイアウト情報3031は、デザイン制御部303により管理されているレイアウトファイルで、各ページ見開きにおける画像や文字列の配置を決定するための情報を記憶している。画像割付けテーブル3032は、デザイン制御部303により管理されており、各ページに割り付けられる画像数に関わる情報を記憶している。商品構成データ3041は、プリントサイト103へ注文可能な商品構成の選択肢に関する情報である。商品構成データ3041は、商品構成の選択肢毎に、A4等のフォトブックサイズ、構成可能なページ数、及びフォトブックの構成用紙の厚み情報等を保持する。商品構成データ3041は、プリントサイト103で注文可能な商品構成の選択肢毎にそれらの情報を保持する。通信制御部304は、プリントサイト103と適宜、通信することにより、商品構成データ3041を最新の状態とする。
図4は、本実施形態に係るフォトブック編集部108による大まかな処理の流れを説明するフローチャートである。尚、この図4に示す処理は、記憶部209にインストールされているプログラムをRAM208にロードし、CPU206の制御の下に、そのプログラムを実行することにより達成される。
図5(A)〜(E)は、本実施形態に係るフォトブック編集部108のユーザインターフェースを説明する図である。ユーザインターフェース(UI)での操作説明を交えながら、図4のフローチャートを参照して説明する。
図4において、S401は商品選択工程である。フォトブック編集部108は通信制御部304を用いてプリントサイト103へ注文可能な商品構成に関する情報である商品構成データ3041を取得する。フォトブック編集部108は、その商品構成データ3041に基づいて、図5(A)に示す商品の選択肢を表す商品選択UI500を構築し、GUI制御部302により、そのUI500を表示部201へ表示する。以下特に明記しない限り、UIへの操作は、全てGUI制御部302が応答して処理する。図5(A)に示す本実施形態に係る商品選択UI500は、商品の選択肢である選択肢501,502を有している。各選択肢501,502のラジオボタン5011,5012を排他的に選択することにより、フォトブック編集部108で作成する商品がどちらになるかが決定される。
選択肢501の商品は、フォトブックを構成するページ数と、ページ内の写真の位置とを自由に編集可能な自由レイアウトのフォトブックである。このフォトブックを構成するページ数は、表紙と裏表紙を含めて「160ページ」から「400ページ」の範囲で指定できる。更に、選択肢501の商品の表紙として、紙厚が薄めのソフトカバーと、厚いハードカバーを排他的に選択可能である。これはユーザが、ラジオボタン50111,50112のいずれかを排他的に選択することにより、フォトブック編集部108で作成する商品の表紙のタイプが決定される。
選択肢502の商品は、フォトブックを構成するページ数を、12ページ、20ページ、24ページのいずれかに制限するフォトブックで、ページ内の写真の位置を自動レイアウトで決定する簡単フォトブックである。選択肢501の商品の表紙として、501の場合と同様に、ソフトカバーとハードカバーのいずれかが、ラジオボタン50121,50122の排他的な選択により指定できる。またラジオボタン50123,50124,50125のいずれかを排他的に選択することにより、フォトブックを構成するページ数を上述のページ数のいずれかに決定できる。
図5(A)の商品選択UI500でフォトブックの表紙及びページ数を選択した後、「進む」ボタン503が押下されると、フォトブック編集部108で作成する商品が決定される。この商品の決定を受けてGUI制御部302は、その選択されたフォトブックの設定をデータ制御部301へ伝える。データ制御部301は、作成するフォトブックの設定として、フォトブック構成データ3012へ、この設定された内容を保存する。こうして設定を保存した後、フォトブック編集部108が次のステップへ処理を進める。以上がS401の商品選択工程の説明である。本実施形態では、以下構成ページ数の自由度が高い、自由レイアウトフォトブックを選択した場合(図5(A)の選択肢501の商品を選択)で説明する。
次にS402に進み、画像データ選択工程を実行する。このS402では、フォトブック編集部108は、GUI制御部302を用いて、図5(B)に示す、フォトブックへ配置する画像の候補を選択する画像選択UI510を表示部210へ表示する。以下特に明記しない限り、画像選択UI510へのUI操作は、全てGUI制御部302が応答し処理する。
画像選択UI510には、画像の取得先を選択するためのフォルダ選択領域511が含まれている。更にフォルダ選択領域511には、デスクトップ5111とフォトサイト5112のフォルダアイコンが表示されている。デスクトップ5111は、クライアント装置102の記憶部209のデスクトップフォルダから画像を取得するためのアイコンである。ここでデスクトップ5111のアイコンがクリックされると、デスクトップフォルダが選択された状態となり、選択中のフォルダに画像ファイルが格納されていると、それら画像ファイルのサムネール群がフォルダ内画像領域512へ表示される。また選択されたフォルダの下位に位置するフォルダが存在する場合は、ツリー構造で下位フォルダのアイコンが表示される。またクライアント装置102の外部メディアドライブ203に外部メディアがマウントされていると、デスクトップフォルダの下位に、その外部メディアに格納されているフォルダのアイコンが表示される。また、クライアント装置102のローカル通信I/F210を介して画像入力装置101が接続されている場合も、画像入力装置101の内部フォルダもデスクトップフォルダの下位フォルダとして表示される。
フォトサイト5112は、図1のフォトサイト105の画像DB110よりネットワーク106経由での画像データを取得するためのアイコンである。このフォトサイト5112へのクリック操作に関しては、デスクトップ5111の場合のアイコンと同様なUI挙動をとる。但し、デスクトップフォルダと異なるところは、フォルダ内画像領域512へ表示される画像は、通信制御部304によりネットワークI/F211経由でフォトサイト105より取得されて表示されることである。フォルダ内画像領域512に表示されるサムネイル群は、ポインティングデバイス205のクリック或いはキーボード204のショートカットキー操作等により、複数同時に選択することができる。フォルダ内画像領域512で画像を選択した後、追加ボタン513が押下されると、その選択された画像のサムネールが選択画像領域514へコピーされる。こうしてコピーされたサムネイルに対応する画像が、フォトブックに配置される候補画像となる。また、この選択画像領域514でも、ポインティングデバイス205のクリック、又はキーボード204のショートカットキー操作等により、複数個の画像を選択することが可能である。選択画像領域514で画像を選択した後、削除ボタン515が押下されると、その選択された画像を選択画像領域514から除外できる。この選択画像領域514に候補画像がある場合に「進む」ボタン516が有効になる。この「進む」ボタン516が押下されると、フォトブック編集部108は、データ制御部301を用いて、選択画像領域514の候補画像の画像データを候補画像3011へ保存する。尚、「戻る」ボタン517が押下された場合は、図4のS401の商品選択工程へ処理を戻す。
次に図4のS403の編集&プレビュー工程について説明する。フォトブック編集部108は、GUI制御部302を用いて、図5(C)に示すフォトブックの編集とそのプレビューを行うUIである編集&プレビューUI520を表示部210へ表示する。以下特に明記しない限り、編集&プレビューUI520へのUI操作は、全てGUI制御部302が応答して処理する。
編集&プレビューUI520は大きく分けて4つの領域で構成される。第1の領域は操作ボタン領域521であり、フォトブックの作成に必要な各種操作ボタンが配置されている。第2の領域は、見開きページ編集領域522であり、フォトブックの見開きのページのプレビューを表示している。第3の領域は、候補画像トレー523で、図4のS402の画像データ選択工程で選択された画像のサムネールが表示されている。これらサムネールは、データ制御部301が管理する候補画像3011の画像群より生成されて表示される。第4の領域は、フォトブック全体のプレビュー524であり、フォトブック全体を構成する全てのページに関して見開きページ形式のプレビューが表示される。ここで表示するプレビューは、データ制御部301が管理するフォトブック構成データ3012、表紙用コンテンツデータ3013、及び内部ページコンテンツデータ3014の情報を基に生成される。尚、新規作成されたフォトブック場合、選択されたフォトブック形式で作成可能な最低枚数のページを有するフォトブックのプレビューが表示される。
フォトブック全体のプレビュー524では、見開きページのプレビューの内の必ず1つが選択状態となる。キーボード204やポインティングデバイス205によるそれらプレビューに対する選択操作により、選択対象を別の見開きプレビューに変更できる。選択プレビューが変更されると、見開きページ編集領域522での編集対象のプレビューも連動して変更される。図5(C)では、フォトブックの表紙と裏表紙のプレビュー5241が選択されている状態を示しており、見開きページ編集領域522には、表紙と裏表紙のプレビュー5221が表示されている。図5(C)は左開きのフォトブックの例を示しているため、表紙と裏表紙のプレビュー5221の右半分は表紙のプレビュー、左半分は裏表紙のプレビューである。それらに挟まれて中央部分に背表紙のプレビューが表示される。表紙のプレビュー上には、タイトルのテキスト領域5222が存在する。また背表紙のプレビュー上には、背表紙タイトルのテキスト領域5223が存在する。これらテキスト領域5222,5223は、ポインティングデバイス205でのクリックを受けて選択状態になり、キーボード204からの文字入力を受け付ける。図5(C)では、テキスト領域5222,5223に「旅の思い出」という文字列が入力されている。これら入力された文字情報は、表紙用コンテンツデータ3013(図3)として、データ制御部301によって管理される。
更に表紙のプレビュー上には、表紙の画像領域5224が表示される。ポインティングデバイス205で候補画像トレー523の画像を選択した後、表紙の画像領域5224にドラック・アンド・ドロップされると、その選択された画像が画像領域5224に割り当てられる。こうして割り当てられた画像は、データ制御部301に伝えられ、表紙用コンテンツデータ3013として管理される。見開きページ編集領域522に、表紙及び裏表紙以外のページが表示されている場合も同様に、キーボード204とポインティングデバイス205を用いて、テキスト領域と画像領域を編集可能である。その場合、編集内容は、内部ページコンテンツデータ3014に保存される。
操作ボタン領域521には、レイアウト変更ボタン5211と、ページ追加/削除ボタン5212が配置されている。レイアウト変更ボタン5211が押下されると、見開きページ編集領域522で表示中の編集対象ページに対し、テキスト領域や画像領域の配置位置を変更可能な、図5(D)に示すダイアログ530が表示される。このダイアログ530には、レイアウト情報3031と画像割付テーブル3032の情報とを基に、デザイン制御部303が計算した選択可能なレイアウト構成5301が表示される。このレイアウト構成5301に表示されたレイアウトのいずれかが選択されると、デザイン制御部303が、見開きページ編集領域522で表示されている編集対象ページ上のテキストや写真の配置位置を、その選択されたレイアウトに従って変更する。編集対象ページのレイアウトの変更結果は、データ制御部301の制御により、表紙用コンテンツデータ3013又は内部ページコンテンツデータ3014へ保存される。その保存をうけてGUI制御部302が見開きページ編集領域522とフォトブック全体のプレビュー524のプレビューを変更する。
見開きページ編集領域522で表示されている現在の編集対象ページがフォトブックの内部ページである場合、ページ追加/削除ボタン5212が有効になる。ページ追加/削除ボタン5212が押下されると、このフォトブックに対してページの追加や削除を可能にする図5(E)のダイアログ540が表示される。ここでラジオボックス群5401のいずれかを指定することにより、現在の編集対象ページの前後へのページ追加、或いは編集対象ページの削除が可能になる。このページ追加/削除処理の結果は、データ制御部301によって、内部ページコンテンツデータ3014に格納され、またフォトブックの総ページ数は、フォトブック構成データ3012へ格納される。更に、この変更をうけて、GUI制御部302が見開きページ編集領域522とフォトブック全体プレビュー524のプレビューを変更する。尚、商品としてフォトブックが構成可能なページ数の範囲が予め決まっており、その情報は商品構成データ3041の一部として通信制御部304が管理する。その構成可能なページ数の範囲情報を基に、フォトブックが構成可能なページ数の範囲内でページの追加/削除がなされる。図5(C)の見開きページ編集領域522の「1/200」は、200ページの最初ページであることを表している。
尚、操作ボタン領域521には、上述したボタン5211,5212の他にも、テキスト領域の文字属性を変更するボタンや、枠や背景などの飾りを変更可能なボタンが存在するが、これらボタンの説明は省略する。
図5(C)で「進む」ボタン525が押下されると、フォトブック編集部108はS403で作成したフォトブックデータ(図3の3012〜3014)の商品としての検証及び整形処理を、データ制御部301により実施する。この検証及び整形処理で問題がなければ、フォトブック編集部108はS404へ処理を進める。一方、この検証及び整形処理で問題があれば、ユーザへ警告メッセージを出して、S403でのフォトブックの再編集を促す。
次にS404の注文工程を説明する。まずフォトブック編集部108は、S403で作成したフォトブックデータ(3012〜3014)を、通信制御部304を使ってプリントサイト103へアップロードする。アップロード終了後、プリントサイト103は、そのアップロードに関連付けられたIDを返却する。フォトブック編集部108は、そのIDに関連したプリントサイトの注文ページの表示をWebブラウザ109へ依頼する。これによりWebブラウザ109の注文ページを用いて、フォトブックの決裁方法や送付先の指定が行われる。それらの処理は、Webベースのフォトブック注文サイトと同様なので説明を省略する。
<実施形態1>
次に本発明の実施形態1に係る処理を図6を参照して説明する。
図6は、実施形態1に係るフォトブック編集部108によるフォトブック作成処理を説明するフローチャートである。この処理は、記憶部209にインストールされているプログラムをRAM208にロードし、CPU206の制御の下に、そのプログラムを実行することにより達成される。
まずS601で、ユーザがフォトブックに載せるために、候補として選択している画像群の情報を取得し、その画像のアスペクト比を取得する。ここで使用するアスペクト比は、短辺に対する長辺の割合を示すものとする。次にS602に進み、S601で取得した画像群のアスペクト比の中から、基準となる画像のアスペクト比を判定する。ここで、S601でユーザが選択した画像群のアスペクト比が単一あれば、S601で取得したアスペクト比を基準アスペクト比として判定する。一方、S601でユーザが選択した画像群のアスペクト比が複数ある場合には、1つ又は複数の判定基準を以って、基準アスペクト比を判定する。ここで判定基準とするのは、画像群の中で最も高い頻度のアスペクト比、或いはユーザが重要度等のパラメータを設定したアスペクト比、或いは画像群の中で最も画素数の多い画像のアスペクト比であるとする。また、これらの判定基準を複数使用する方法は、画像群に対して重み付けを行うといった判定方法とする。
次にS603に進み、オリジナルのフォトブックの画像の配置領域のアスペクト比と、S602で求めた画像のアスペクト比とが同じであるか否かを判定する。ここで同じアスペクト比であると判定した場合はS606に進み、オリジナルのテンプレートを使用して、ユーザが選択した画像群を配置する。
一方、S603で、アスペクト比がオリジナルのフォトブックのアスペクト比と異なると判定した場合はS604に進み、フォトブックのテンプレートでの画像の配置領域を、S602で判定した基準アスペクト比となるように変更する。そしてS605に進み、その変更したテンプレートに合わせて、フォトブックのサイズを変更してS606に進む。そしてS606では、オリジナルのテンプレートを使用するフォトブック、或いは、S605でテンプレートを変更し、サイズを変更したフォトブックに対して、画像群の配置を行って、この処理を終了する。
<フォトブックのサイズ変更処理>
前述のS605のフォトブックのサイズ変更における処理について、図7(A)(B)を用いて説明する。
図7(A)は、フォトブックのサイズ変更を説明する図であり、説明のためにフォトブックのサイズとテンプレートのサイズが同じであるとして簡略化して表している。
テンプレート701は、デフォルトのフォトブックのテンプレート(アスペクト比が「3:4」)を示し、アスペクト比が「3:4」の画像は、そのまま貼り付けることができる。テンプレート702は、その縦方向の長さがテンプレート701の縦方向の長さと同じで、アスペクト比を「16:9」にしたテンプレートを示す。これによりアスペクト比が「16:9」の画像は、そのアスペクト比を変更することなく貼り付けることができる。テンプレート703は、横方向の長さをテンプレート701の横方向の長さと同じで、アスペクト比を「16:9」に変更したテンプレートを示す。ここで、テンプレート701が図で示すように横長であれば、テンプレート702はサイズを拡大したものになり、テンプレート703はサイズを縮小したものとなる。仮にテンプレート701が縦長であれば、テンプレート702,703の大小は逆となる。
図7(B)は、フォトブックのテンプレート及びサイズを変更した場合に、ユーザに通知するメッセージの一例を示す図である。
メッセージ704には、ラジオボタン705〜708が含まれている。ラジオボタン705は、フォトブックをデフォルトのテンプレート701から変更しない場合に選択される。ラジオボタン706は、横幅を変更したテンプレート702を使用する場合に選択される。ラジオボタン707は、縦幅を変更したテンプレート703へ変更する場合に選択される。ラジオボタン708は、ユーザが自由にテンプレート及びサイズを指定する場合に選択される。この場合は、縦及び横方向の長さを任意に設定できる。
<画像の回転処理>
フォトブックのテンプレートの画像領域と、配置する画像が、縦方向(Portrait)/横方向(landscape)で異なる場合に、テンプレートの画像領域に対して画像を、より大きく配置することを目的として画像の回転処理を行う。この画像の回転処理を図8のフローチャートを参照して説明する。
図8は、実施形態1に係るフォトブック編集部108による画像の回転処理を説明するフローチャートである。この処理は、記憶部209にインストールされているプログラムをRAM208にロードし、CPU206の制御の下に、そのプログラムを実行することにより達成される。
まずS801で、配置する画像のアスペクト比を取得し、次にS802に進み、前述のS602で判定した基準のアスペクト比と同じか否かを判定する。ここで基準のアスペクト比と同じであると判定するとS808へ進むが、基準のアスペクト比と異なると判定した場合はS803に進み、縦長或いは横長が、フォトブックのテンプレートの画像領域のアスペクト比と同じであるか否かを判定する。S803で、縦長或いは横長が、基準のアスペクト比と同じと判定するとS805に進むが、異なると判定するとS804に進み、基準のアスペクト比と近しくなるように、その画像の縦長或いは横長の比が反転するように画像を90度回転してS805に進む。
S805では、画像を配置する際に、画像の縦サイズに対する横サイズの割合が、フォトブックの縦サイズに対する横サイズの割合よりも大きいかどうかを判定する。この判定の結果、画像の縦サイズに対する横サイズの割合が、フォトブックの縦サイズに対する横サイズの割合よりも大きいと判定した場合はS806に進み、縦サイズを基準として、画像の拡縮処理を行ってS808に進む。一方、S805の判定の結果で、画像の縦サイズに対する横サイズの割合が、フォトブックの縦サイズに対する横サイズの割合よりも小さいと判定した場合はS807に進み、横サイズを基準として画像の拡縮処理を行ってS808に進む。S808では、それらの画像を配置して、処理を終了する。
以上説明したように本実施形態1によれば、テンプレートを使用して、所望の画像を含むフォトブックを作成することができる。更に、その選択したテンプレートのアスペクト比と異なる画像が含まれていても、その画像のアスペクト比をできる限り維持しながら、より大きく画像を配置したフォトブックを作成することができる。これにより、例えばその画像が写真の場合には、ユーザが撮影した画像の構図を維持した状態でフォトブックを作成することができるという効果がある。
<実施形態2>
次に本発明に係る実施形態2を説明する。この実施形態2では、フォトブックの1ページに複数の画像(写真)を配置する場合について説明する。尚、実施形態2に係るシステム構成、およびクライアント装置などの構成は、前述の実施形態1と同様であるため、その説明を省略する。
図9は、本発明の実施形態2に係るフォトブック編集部108によるフォトブック作成処理を説明するフローチャートである。この処理は、記憶部209にインストールされているプログラムをRAM208にロードし、CPU206の制御の下に、そのプログラムを実行することにより達成される。
まずS901で、ユーザが選択した画像群の情報を取得する。次にS902で、S901で取得した画像群の情報に含まれる日時等の情報に基づいて、その画像がどのようなシーンで撮影されているものかを判定する。そしてS903に進み、その中からメインとなるシーンを判定する。次にS904に進み、メインシーンからフォトブックの1ページに配置する枚数分の画像を選出して、画像の仮配置を行う。次にS905に進み、S904で仮配置した画像の外接矩形を判定(矩形判定)し、その外接矩形のアスペクト比を、基準となるアスペクト比として設定する。次にS906に進み、S905で設定した基準のアスペクト比を基にして、前述の図6のS602〜S605の処理に従って、フォトブックのテンプレート及びサイズを変更するテンプレート変更処理を実行する。そしてS907に進み、テンプレートとサイズを変更したフォトブックに対して、ユーザ選択の画像群を配置して、この処理を終了する。
次にS902のシーン判定処理の詳細処理の一例を図10のフローチャートを参照して説明する。
図10は、S902のシーン判定処理を説明するフローチャートである。
まずS1001で、S901でユーザが選択した画像群から画像の撮影日時を取得し、その画像群の画像を撮影日時順にソートする。以下の説明では、説明のためにソートした画像群のN番目の画像の撮影日時をNTとし、判定する画像のシーンをM番目とする。
次にS1002に進み、S1001で画像群をソートした後、N番目の画像(N;初期値=1)をシーンM(M;初期値=1)にプロットする。そしてS1003で、(N+1)番目の画像の撮影日時(N+1)Tと、N番目の画像の撮影日時NTとの時間差が、規定時間(RT)内にあるか否かを判定する。ここで規定時間内にあると判定するとS1004に進み、(N+1)番目の画像をシーンMにプロットする。一方、S1003で規定時間外であると判定するとS1005に進み、シーンを(M+1)へ変更してS1004に進み、(N+1)番目の画像をプロットする。次にS1006に進み、次の画像を判定するためN=N+1とし、S1007で、N番目の画像がソートした最後の画像(Nmax)かどうかを判定する。ここで最後の画像でないときはS1003へ戻って前述の処理を繰り返し、N番目の画像がNmaxになると、この処理を終了する。
前述のシーン判定の後で、実施形態2に係る図9のS903のメインシーン判定処理の一例を図11(A)のフローチャートを参照して説明する。
図11(A)は、S903のメインシーンの判定処理を説明するフローチャートである。
まずS1101で、前述のシーン判定を行った後で、各シーンごとに各画像の総ピクセル数を取得する。次にS1102に進み、各画像を撮影したカメラの情報に従って、カメラ情報テーブル(図11(B))を参照して、重み数値を各画像の総ピクセル数に乗算する。次にS1103に進み、各シーンごとに、各画像の重み付けされた総ピクセル数の平均値を取得し、S1104で、平均値の最も大きなシーンをメインシーンとして設定する。
図11(B)は、カメラ情報テーブルとして、画像のExif情報に含まれる画像入力機器のメーカ名と画像入力機器のモデル名1111と、画像の重み数値1112とを対応つけたテーブルの一例を示す図である。
メインシーン判定処理として、本実施形態2では、Exif情報の画像入力機器のモデル名重み付けのためのパラメーターとしたが、Exif情報のレンズ最小F値や35mm換算焦点距離といった他のパラメーターを重み付けのために使用しても良い。
次に図9のS904の画像の仮配置の処理の一例を図12を参照して説明する。
図12(A)〜(C)は、実施形態2に係る外接矩形の判定処理の一例を説明する図である。
まず、1ページに2枚の画像を配置する場合を例にして、図12(A)は、メインシーンから選出された2枚の画像1201,1202に対して、一方の画像を基準とする。ここでは、縦:横の比が「3:4」の画像1201を基準とする。
図12(B)は、この基準とした画像1201の横方向の長さと一致するように、他方の画像1202のアスペクト比を変更せずに、画像1202を縮小した画像1203を求めた場合(パターン1)を示す。
また図12(C)は、この基準とした画像1201の縦方向の長さと一致するように、他方の画像1202のアスペクト比を変更せずに、画像1202を拡大した画像1204を求めた場合(パターン2)を示す。
ここでパターン1における画像1201と1203とを組み合わせた画像1205の外接矩形の比は、「21:16」となる。またパターン2における画像1201と1204とを組み合わせた画像1206の外接矩形の比は、「9:28」となる。
従って、いまオリジナルのフォトブックの1ページのアスペクト比を「3:4」とすると、パターン1の方が近しい矩形であると判定することができる。
以上説明したように本実施形態2によれば、前述の実施形態1の効果に加えて、もっとも重要なメインとなる画像の構図に近い画像のアスペクト比で、フォトブックの画像を配置できるという効果がある。
また、メインとなる画像の判定に際しても、例えば写真であれば、撮影したカメラの種類に応じた重み係数に基づいて判定するため、より重要な画像に近い構図を採用してフォトブックを作成できるという効果がある。
またフォトブックの1ページに複数の画像を配置する場合に、元になるフォトブックのアスペクト比に近くなるように複数の画像を配置できるため、ユーザが意図したフォトブックのサイズを大幅に変更することなくフォトブックを作成できる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。