以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
<第1の実施形態>
図1は、画像処理システムの一例として、情報処理装置を含んで構成されるフォトアルバム作成/注文システムの構成の一例を示す図である。図1において、情報処理装置1、2、5及び7は、例えば、一般的なパーソナルコンピュータまたはサーバー(以下、PCと略す場合がある)で構成される。PC1、PC2、PC5、PC7は、図2で後述するようなハードウェアで構成される。なお、PC2、PC5、PC7は、PC1の外部装置である。本実施形態では、各PCには、Operating System(以下、OSと略す場合がある)としてWindows(登録商標)8またはWindows(登録商標) Server 2012と同等のOSがインストールされているものとする。PC1、PC2、PC5、PC7は、それぞれEthernet(登録商標)で構成されるネットワーク4及び8に接続されている。
フォトアルバム作成アプリケーション80(以下、アプリケーションと略す場合がある)は、例えば、Windows(登録商標)用の実行可能形式のファイル(*.EXE)で構成される。Webブラウザアプリケーション143(以下、Webブラウザと略す場合がある)は、WWW(World Wide Web)を利用する際に用いられるブラウザである。ネットワーク4は、PC1を使用するユーザ(顧客等)が住んでいる自宅に構築された一般家庭用のホームネットワークである。ネットワーク8は、ABC社の拠点内に構築されたオフィスネットワークである。
ネットワーク8に接続されているPC2は、Webサーバの機能を備えるWebサーバ9を含み、インターネットを介してABC社のWebサイトを提供している。ショッピングサイト11は、ABC社がユーザ向けにサービスを提供しているショッピングサイトであり、ユーザはショッピングサイト11を利用してフォトアルバムを注文することができる。つまり、ABC社は、PC2にてショッピングシステムを構成し、ユーザに対してショッピングサービスを提供する。
プリンタ14は、印刷システム12から送信された印刷データを受信して、ユーザが注文したフォトアルバムを印刷する。印刷データは、例えば、印刷設定等が記載されているプリントチケットと、印刷画像データであるPDF(Portable Document Format)ファイルを含む。ネットワーク8に接続されているPC5は、管理システム6を含み、管理システム6は、インターネットを介してPC1、PC2、PC7とデータの送受信を行う。ネットワーク8に接続されているPC7は、印刷システム12を含み、PC5とデータの送受信を行う。
ショッピングサイト11は、ユーザからフォトアルバムの注文を受け付けると、その注文に関する注文関連情報(氏名、住所、電話番号、配送先、etc.)を管理システム6に送信する。また、ショッピングサイト11は、管理システム6から送信された注文情報のステータス情報と配送伝票番号(トラッキング番号)を受信して、それらの情報に基づいてユーザにメールで発送通知を送信する。
管理システム6は、アプリケーション80から送信されるフォトアルバムのデータを受信して一時的に保管し、ショッピングサイト11から送信されるユーザの注文関連情報とフォトアルバムのデータを関連付けて注文情報として管理する。そして、管理システム6は、フォトアルバムのデータと注文関連情報から構成される注文情報を印刷システム12へ送信する。また、管理システム6は、印刷システム12から送信された各注文情報のステータス情報と配送されたフォトアルバムの配送状況を追跡する為の配送伝票番号(トラッキング番号)を受信して、管理している各注文情報のステータスを更新する。更に、管理システム6は、そのステータス情報と配送伝票番号(トラッキング番号)をショッピングサイト11へ送信する。
印刷システム12は、管理システム6から送信されたユーザが注文したフォトアルバムのデータと注文関連情報から構成される注文情報を受信する。そして、印刷システム12は、ラボシステムソフトウェア(不図示)を用いて、フォトアルバムのデータをプリンタ14で印刷する為の印刷データに変換する。更に、管理システム6は、プリンタ14に印刷データを送信する印刷制御機能と、製本機(不図示)を使ってフォトアルバムを制作する各工程を管理する工程管理機能と、製作したフォトアルバムを注文関連情報に従って配送する配送機能等を備える。なお、フォトアルバムを製本する際に使用する製本機等は、本実施形態では省略する。
本実施形態では、PC2、PC5、PC7、プリンタ14がネットワーク8を介して接続されている例を示した。しかし、この例に限られることなく、例えば、PC2、PC5、PC7、プリンタ14がインターネットを介して接続されているケースも一般的に考えられ、そのようなケースにおいても、本発明を適用可能である。
図2は、PCのハードウェア構成の一例を表す図である。PC1、PC2、PC5及びPC7は、図2に示すようなハードウェアを含む。図2に示す通り、PC1、PC2、PC5及びPC7は、ランダムアクセスメモリ部であるRAM201、ハードディスクドライブ部であるHDD202、キーボード部であるKBD203、及びCPU204を含む。更に、PC1、PC2、PC5及びPC7は、表示用ディスプレイであるLCD205、及びネットワークボードであるNB207を含む。更に、PC1、PC2、PC5及びPC7は、少なくとも図2に示す各ブロックを互いに通信可能に接続するバス206を含む。HDD202は、不揮発性の記憶部である。なお、可搬性CD−ROMまたは内部据付のROM等が記憶部として用いられてもよい。KBD203は、PC1、PC2、PC5及びPC7の入力部である。CPU204は、PC1、PC2、PC5及びPC7の制御部である。LCD205は、PC1、PC2、PC5及びPC7の表示部である。NB207は、PC1、PC2、PC5及びPC7の通信制御部である。
フォトアルバム作成アプリケーション80やWebブラウザ143等のアプリケーション、および、図3に示す各モジュール(ソフトウェア)は、例えばHDD202に記憶され、必要に応じてRAM201に読み出されてCPU204により実行される。これにより、CPU204が、各種アプリケーション(ソフトウェア)の機能を実現する。
Webサーバ9、ショッピングサイト11、管理システム6、印刷システム12は、例えばHDD202に記憶され、必要に応じてRAM201に読み出されて各装置のCPU204により実行される。これにより、各装置のCPU204が、Webサーバ9、ショッピングサイト11、管理システム6、印刷システム12の機能を実現する。
図3は、PCのソフトウェアのモジュール構成の一例を表す図である。図3において、モジュール92は、Ethernet(登録商標)を制御するEthernet(登録商標)制御スタックである。モジュール91は、IP Networkを制御するIP Network制御スタックである。モジュール90は、ネットワーク上のデバイス探索の仕組みを提供するWSD(Web Service on Devices)を制御するWSD制御スタックである。モジュール88は、ネットワークのプラグアンドプレイを制御するPnP−X制御スタックである。尚、PnP−Xとは、ネットワーク接続デバイスに対するサポートを提供する、プラグアンドプレイの一連の拡張機能としてWindows(登録商標)8 OSに標準搭載されている機能であるPlug and Play Extensionsの略称である。モジュール85は、デバイスドライバ群であり、OSに標準で同梱されている標準ドライバ群87と、IHV(Independent Hardware Vendor)から提供されるIHV製ドライバ群86とを含んで構成される。
モジュール84は、アプリケーション/DDIインタフェースであり、API(Application Programing Interface)、DDI(Device Driver Interface)を含んで構成される。モジュール80は、例えば、フォトアルバム作成アプリケーションであり、モジュール143は、例えば、Webブラウザアプリケーションである。モジュール82は、アプリケーション群であり、フォトアルバム作成アプリケーション80、Webブラウザ143等を含んで構成される。
図4は、各種アプリケーションの画面の構成例を示す図である。図4(a)は、アプリケーション80のメイン画面の一例を示す。図4(b)は、アプリケーション80のプレビュー/編集画面の一例を示す。図4(c)は、Webブラウザ143で表示されるフォトアルバムの注文画面の一例を示す。
図4(a)に示すメイン画面401は、アプリケーション80のメイン画面である。フォトアルバムタイプ選択部402は、フォトアルバムタイプの選択部であり、フォトアルバムタイプの選択を受け付けるための選択ボタンが表示される。本実施形態では、フォトアルバムタイプとしては、作成するフォトアルバムの種類としてタイプK、タイプM、タイプN、タイプN大、タイプS、タイプT、タイプUのいずれかの選択を受け付けることができる。なお、アルバムの種類としては、例えば、形状、用紙の種類、綴じ方、カバーの材質等が挙げられる。図4(a)では、タイプK及びタイプMが表示された状態を示しているが、フォトアルバムタイプ選択部402をスクロールすることで、これ以外の種類のフォトアルバムを表示することができ、ユーザはこれらのうちいずれかを選択することができる。ボタン403は、タイプKのフォトアルバムの選択を受け付ける為のフォトアルバムの選択ボタンである。タイプKのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 15cm×15cm スクエア
ページ数: 20ページ
用紙の種類: サテン
綴じ方: 2つ折り
カバー: ソフト
ボタン404は、タイプMのフォトアルバムの選択を受け付ける為のフォトアルバムの選択ボタンである。タイプMのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: A4(210mm×297mm) 縦
ページ数: 50ページ
用紙の種類: 光沢
綴じ方: フラット
カバー: ハード
タイプNのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 15cm×15cm スクエア
ページ数: 4ページ
用紙の種類: 光沢
綴じ方: フラット
カバー: ハード
タイプN大のフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 30cm×30cm スクエア
ページ数: 4ページ
用紙の種類: 光沢
綴じ方: フラット
カバー: ハード
タイプSのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 15cm×15cm スクエア
ページ数: 4ページ
用紙の種類: サテン
綴じ方: フラット
カバー: ハード
タイプTのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 15cm×15cm スクエア
ページ数: 4ページ
用紙の種類: 光沢
綴じ方: 2つ折り
カバー: ハード
タイプUのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 15cm×15cm スクエア
ページ数: 4ページ
用紙の種類: 光沢
綴じ方: フラット
カバー: ソフト
タイプN、タイプN大、タイプS、タイプT、タイプUは、形状(サイズ)違い、用紙の種類違い、綴じ方違い、カバー違いというような互換性がある。
マーク405は、フォトアルバム選択状態の表示マークであり、選択されているフォトアルバムに関連付けられているフォトアルバム選択ボタンを囲うように表示される。図4(a)は、ボタン403が押されてタイプKのフォトアルバムが選択されている状態を示している。なお、選択ボタンが選択されていることを識別可能に表示できるものであれば、マーク405に限定されるものではない。フォトアルバム作成ボタン412に対するユーザの押下が検出されると、アプリケーション80は、フォトアルバムの自動作成を開始する。動画像ファイル処理方法選択部406は、動画像ファイルに対する処理方法の選択部であり、動画像から静止画像を抽出する処理方法として、自動、時間、シーン、テーマの何れかからのラジオボタンによる選択を受け付ける。
自動選択ボタン407は、動画像から静止画像を抽出する処理方法として、後述する図5に示す自動処理を実行する方法が対応している。時間選択ボタン408は、動画像から静止画像を抽出する処理方法として、後述する図8(a)に示すような撮影年月日時刻に基づく処理を実行する方法が対応している。シーン選択ボタン409は、動画像から静止画像を抽出する処理方法として、後述する図8(b)に示すような色、ヒストグラムに基づくシーン判定処理を実行する方法が対応している。テーマ選択ボタン410は、動画像から静止画像を抽出する処理方法として、後述する図8(c)に示すようなオブジェクトに基づくテーマ判定処理を実行する方法が対応している。
ファイル選択ボタン411は、シーン選択ボタン409またはテーマ選択ボタン410が選択されている時に有効である。ユーザによるファイル選択ボタン411の押下を検出すると、ファイル選択画面(不図示)が表示され、ユーザによる静止画像ファイルの選択が可能になる。アプリケーション80は、ファイル選択画面(不図示)を介してユーザにより選択された静止画像ファイルを、アプリケーション80が使用するRAM201内のワークメモリに一時的に保存する。ユーザによるフォトアルバム作成ボタン412の押下を検出すると、アプリケーション80は、ワークメモリに一時的に保存されている静止画像ファイルに基づいて、シーン判定処理またはテーマ判定処理を実行する。フレーム抽出時間間隔指定部413は、ユーザから、動画像から静止画像を抽出する時間間隔の指定を例えば1秒単位で受付可能である。尚、デフォルト値は、例えば1秒で設定されている。
図4(b)に示す編集画面415は、アプリケーション80のプレビュー/編集画面を示す。詳細は後述するが、図4(a)の画面で設定された条件に従って、フォルダから画像データ群が取得され、取得された画像データ群から複数の画像データを選択し、画像データに基づく画像をそれぞれテンプレートに配置することにより、レイアウト画像を生成する。なお、レイアウト画像は、フォトアルバムタイプ選択部402で受け付けたページ数に基づいて、複数ページ分生成される。そして、アプリケーション80は、生成されたレイアウト画像のうち選択された見開きページ分(すなわち、2ページ分)のレイアウト画像のプレビューを、プレビュー表示部418に表示する。見開きページ選択部416は、ユーザから、プレビュー表示部418に表示する見開きページの選択を受付可能である。ユーザにより選択されている見開きページには、見開きページ選択状態を識別可能な表示マーク417が表示される。選択状態を識別可能な表示はこれに限定されず、例えば、選択された見開きページの色を変更して表示するようにしてもよい。図4(b)では、7ページと8ページで構成される見開きページが選択されている状態を示している。なお、見開きページ数が多い場合は、見開きページ選択部416をスクロールすることにより、これ以外の見開きページを表示することができるようにする。
購入商品追加ボタン419は、ユーザがフォトアルバムを購入する際に、商品としてショッピングカート(不図示)に追加することができる。ユーザによる購入商品追加ボタン419の押下を検出すると、アプリケーション80がプレビュー表示部418に表示されている開きページを含むフォトアルバムをショッピングカートに追加する。ユーザは、ショッピングカートに追加されたフォトアルバムを、ショッピングカートに関連付けられている図4(c)に示すオンライン注文サイトと、それと連携している決済サイト(不図示)を介して購入することができる。尚、オンライン注文サイト、決済サイト、ショッピングカートに関しては、一般的なオンラインショッピングサイトとそれと連携する決済サイトやショッピングカートと同様なので、その説明を省略する。
図4(c)において、Webブラウザ143に表示されるURL設定部421は、ユーザがWebブラウザ143で表示させたいWebサイト(ページ)のURL(Uniform Resource Locator)の指定を受け付ける。また、Webブラウザ143がWebサイト(ページ)を表示している場合は、表示しているWebサイトのURLがURL設定部421に表示される。注文画面422は、Webブラウザ143が表示しているフォトアルバムの注文画面であり、図4(c)は注文番号「4649」のフォトアルバムを注文する一例を示している。注文情報表示部423は、フォトアルバムの注文に関する情報を表示する。注文に関する情報としては、注文を識別する識別子(例えば、注文番号)、フォトアルバムの種類、価格等が挙げられる。図4(c)は、以下のような例を示している。
注文番号: 4649
フォトアルバムの種類: タイプN
価格: ¥100,000
注文ボタン424の押下を受け付けると、氏名、住所、電話番号、配送先等の必要な情報を入力する入力画面を表示する。ユーザが入力画面において必要な情報を入力し、決済サイトで決済を完了することで、アプリケーション80で作成されたフォトアルバムの注文が確定して、ユーザはそのアルバムを購入することができる。
図10は、フォトアルバムの構成の一例を示す。図10(a)はタイプKのフォトアルバムの構成の一例を示し、図10(b)はタイプMのフォトアルバムの構成の一例を示す。
図10(a)に示すフォトアルバムは、タイプKのフォトアルバム関し、表紙1001、裏表紙1004、本身の1ページと2ページの見開きページ1002、本身の19ページと20ページの見開きページ1003を含む。タイプKのフォトアルバムの場合、本身に関しては、1ページ目が先頭ページ、20ページ目が最終ページである。
図10(b)に示すフォトアルバムは、タイプMのフォトアルバムに関し、表紙1011、裏表紙1014、本身の1ページと2ページの見開きページ1012、本身の49ページと50ページの見開きページの1013を含む。タイプMのフォトアルバムの場合、本身に関しては、1ページ目が先頭ページ、50ページ目が最終ページである。
図10(c)に示すフォトアルバムは、タイプNのフォトアルバム関し、表紙1021、裏表紙1024、本身の1ページと2ページの見開きページ1022、本身の3ページと4ページの見開きページ1023を含む。タイプNのフォトアルバムの場合、本身に関しては、1ページ目が先頭ページ、4ページ目が最終ページである。
図11は、画像データに基づく画像を配置するためのレイアウトテンプレート(以下、テンプレートともいう)の一例を示す。図11(a)は、タイプKのフォトアルバムの時間ベース用のレイアウトテンプレートの一例を示す。図11(b)は、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの一例を示す。図11(c)は、タイプKのフォトアルバムのテーマベース用のレイアウトテンプレートの一例を示す。
図11(a)は、ページ単位で領域をグループ化し、そのグループ(片側1ページ)内の全てのスロットを同一グループの領域に属するものとした例を示している。図11(a)に示すレイアウトテンプレート1100は、例えば、タイプKのフォトアルバムの時間ベース用のレイアウトテンプレートの、本身の1ページと2ページの見開き2ページのレイアウトテンプレートである。テンプレート1101は、本身の1ページのレイアウトテンプレートである。テンプレート1102は、本身の2ページのレイアウトテンプレートである。スロット1103〜1106は本身の1ページに配置されているスロットであり、スロット1107〜1110は、本身の2ページに配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。
スロット1103〜1106は、グループ1の領域に属する。テンプレート1101に付加されているコードK−A−G1−P1は、このテンプレートの属性を表す。Kは、タイプKのフォトアルバム用であることを表す。Aは、時間ベース用であることを表す。G1は、グループ1の領域用であることを表す。P1は、本身の1ページ用であることを表す。スロット1103〜1106に付加されているコードK−A−G1−1、K−A−G1−2、K−A−G1−3、K−A−G1−4はそれぞれ、これらのスロットの属性を表す。K−A−G1は上記と同様であり、最後の数字はスロット番号を表す。スロット番号は、グループ単位で割り当てられる。
スロット1107〜1110は、グループ2の領域に属する。テンプレート1102に付加されているコードK−A−G2−P2はこのテンプレートの属性を表す。K及びAは上記と同様であり、G2は、グループ2の領域用であることを表す。P2は、本身の2ページ用であることを表す。スロット1107〜1110に付加されているコードK−A−G2−1、K−A−G2−2、K−A−G2−3、K−A−G2−4はそれぞれ、これらのスロットの属性を表す。K−A−G2は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
図11(b)は、見開きページ単位で領域をグループ化し、そのグループ(見開き2ページ)内の全てのスロットを同一グループの領域に属するものとした例を示している。図11(b)に示すテンプレート1120は、例えば、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの、本身の7ページと8ページの見開き2ページのレイアウトテンプレートである。テンプレート1121は、本身の7ページのレイアウトテンプレートである。テンプレート1122は、本身の8ページのレイアウトテンプレートである。スロット1124は、本身の7ページに配置されているスロットである。スロット1126は、本身の8ページに配置されているスロットである。スロット1123、1125は、それぞれ本身の7ページと8ページの両方にまたがって配置されているスロットである。アプリケーション80は、静止画像をこれらのスロットに配置する。
スロット1123〜1126は、グループ4の領域に属する。テンプレート1121に付加されているコードK−B−G4−P7、および、テンプレート1122に付加されているコードK−B−G4−P8は、それぞれのテンプレートの属性を表す。Kは、タイプKのフォトアルバム用であることを表す。Bは、シーンベース用であることを表す。G4は、グループ4の領域用であることを表す。P7は、本身の7ページ用であることを示す。P8は、本身の8ページ用であることを表す。スロット1123〜1126に付加されているコードK−B−G4−1、K−B−G4−2、K−B−G4−3、K−B−G4−4はそれぞれ、これらのスロットの属性を表す。K−B−G4は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
図11(c)は、ページ単位で領域をグループ化し、そのグループ(片側1ページ)内の全てのスロットを同一グループの領域に属するものとした例を示している。図11(c)に示すレイアウトテンプレート1140は、例えば、タイプKのフォトアルバムのテーマベース用のレイアウトテンプレートの、本身の5ページと6ページの見開き2ページのレイアウトテンプレートである。テンプレート1141は本身の5ページのレイアウトテンプレートである。テンプレート1142は、本身の6ページのレイアウトテンプレートである。スロット1143〜1147は、本身の5ページに配置されているスロットであり、スロット1148〜1151は、本身の6ページに配置されているスロットであり、アプリケーション80は、静止画像をこれらのスロットに配置する。
スロット1143〜1147は、グループ5の領域に属する。テンプレート1141に付加されているコードK−C−G5−P5はこのテンプレートの属性を表す。Kは、タイプKのフォトアルバム用であることを表す。Cは、テーマベース用であることを表す。G5は、グループ5の領域用であることを表す。P5は、本身の5ページ用であることを表す。スロット1143〜1147に付加されているコードK−C−G5−1、K−C−G5−2、K−C−G5−3、K−C−G5−4、K−C−G5−5はそれぞれ、これらのスロットの属性を表す。K−C−G5は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
スロット1148〜1151は、グループ6の領域に属する。テンプレート1142に付加されているコードK−C−G6−P6は、このテンプレートの属性を表す。K−Cは前述の説明と同じ内容であり、G6は、グループ6の領域用であることを表す。P6は、本身の6ページ用であることを表す。スロット1148〜1151に付加されているコードK−C−G6−1、K−C−G6−2、K−C−G6−3、K−C−G6−4はそれぞれ、これらのスロットの属性を表す。K−C−G6は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
図11に示すレイアウトテンプレートの情報は、アルバムの外形や位置、スロットの形状や位置等を指定するベクター情報、テンプレートやスロットの重なり具合を表すレイヤ情報、背景色等の色情報、背景の模様等の画像情報等の情報を含んでデータ化される。このレイアウトテンプレートに関する情報は、クライアント側のアプリケーション80と、サーバ側の印刷システム12とに予め組み込まれている。すなわち、クライアント側のアプリケーション80に保存されているレイアウトテンプレートに関する情報と、サーバ側の印刷システム12に保存されているレイアウトテンプレートに関する情報は、同じ内容である。これにより、情報(データ)量が多いレイアウトテンプレートに関する情報を、インターネットを介してアプリケーション80から管理システム6や印刷システム12に送信する必要がない。その結果、印刷データを生成する為に、アプリケーション80が管理システム6を介して印刷システム12に送信するフォトアルバムのデータの情報量を少なくすることができる。更には、データ通信に要する時間を短縮できるので、ユーザの待ち時間を減らすことができ、ユーザの操作性に優れる。また、データ送受信の負荷が減るので、管理システム6や印刷システム12を実行しているサーバをコストダウンすることもできる。
図12は、レイアウトテンプレートとスロット管理を説明するための図である。図12(a)は、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの一例を示す。図12(b)は、スロットの管理方法の一例を示す。図12(a)は、図11(b)に示すレイアウトテンプレートと同様に、見開きページ単位で領域をグループ化し、そのグループ内の全てのスロットを同一グループの領域に属するものとしたテンプレートである。このテンプレートは、静止画像と、動画像から抽出した静止画像をそれぞれ適切なスロットに配置するためのものである。
図12(a)に示すレイアウトテンプレート1200は、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの、本身の15ページと16ページの見開きページのレイアウトテンプレートである。テンプレート1201は、本身の15ページのレイアウトテンプレートである。テンプレート1202は、本身の16ページのレイアウトテンプレートである。スロット1205、1206は、本身の15ページに配置されているスロットである。スロット1208、1209は、本身の16ページに配置されているスロットである。スロット1203、1207は本身の15ページと16ページの両方にまたがって配置されているスロットである。アプリケーション80は、静止画像をこれらのスロットに配置する。
スロット1203〜1209は、グループ8の領域に属する。Kは、タイプKのフォトアルバム用であることを表す。Bは、シーンベース用であることを表す。G8は、グループ8の領域用であることを表す。P15は、本身の15ページ用であることを表す。P16は、本身の16ページ用であることを表す。テンプレート1201に付加されているコードK−B−G8−P15、および、テンプレート1202に付加されているコードK−B−G8−P16は、それぞれのテンプレートの属性を表す。
スロット1203〜1209に付加されているコード(K−B−G8−1−S等)はそれぞれ、スロットの属性を表す。K−B−G8の次の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。そして、最後の文字は配置する画像の属性を表す。Sは、一般的な静止画像用のスロットであることを示す属性を表す。ここでの一般的な静止画像とは、動画像から抽出された静止画像ではなく、デジタルスチルカメラ等で撮影して保存された写真等を意味するものとし、以下、単に「静止画像」という。Dは、動画像からフレームの解析等を行って抽出した静止画像用のスロットであることを示す属性を表す。例えば、スロット1203にはコードK−B−G8−1−Sが付加されていて、画像の属性はSであるため、このスロットに配置するのに適した画像は、一般的な静止画像である。また、例えば、スロット1205にはコードK−B−G8−3−Dが付加されていて、画像の属性はDであるため、このスロットに配置するのに適した画像は、動画像から抽出した静止画像である。動画像から抽出した静止画像は、以下、「フレーム画像」ともいう。
尚、静止画像用として適しているスロット1203に配置するのに適した静止画像が存在しない場合には、このスロットに動画像から抽出したフレーム画像を配置してもよい。また、フレーム画像用として適しているスロット1205に配置するのに適したフレーム画像が存在しない場合には、このスロットに静止画像を配置してもよい。
また、動画像から抽出した複数のフレーム画像の中に、例えば少しピンボケしていてフォトアルバムとしてはあまり適切でないフレーム画像と、その少しピンボケしているフレーム画像よりも品位の高い静止画像とが存在するケースがある。そのようなケースでも、本実施形態では、あえて少しピンボケしたフレーム画像をフレーム画像用として適している属性Dのスロットに、動画像から抽出した連続しているフレーム画像の内の1つとして配置する。つまり、動画像から抽出した連続している複数のフレーム画像を、フレーム画像用として適している属性Dのスロットに配置する。これにより、レイアウトテンプレートの特徴を引き出したダイナミックなフォトアルバムを自動的に作成することができる。また、魅力のあるフォトアルバムを自動生成する機能を備えるフォトアルバム作成アプリケーションを提供することができる。
図12(b)を用いて、図12(a)に示すタイプKのフォトアルバムのシーンベース用のレイアウトテンプレートのスロットの管理方法について説明する。図12(b)では、説明の都合上、スロット1203以外のスロットに関しては、その記載を省略する。図12(b)において、点Oはフォトアルバムの基準点である。アプリケーション80は、フォトアルバムの見開きページの左上端の角を基準点として、各スロットの位置を定義し、それぞれのスロットに対する画像の配置を管理/制御する。アプリケーション80は、点Oから右方向を横のプラス(+)座標、左方向を横のマイナス(−)座標、下方向を縦のプラス(+)座標、上方向を縦のマイナス(−)座標と定義している。各点の座標は(横座標、縦座標)と表され、例えば点Oの座標は(0,0)[単位:cm]である。
点Wはスロット1203の基準点であり、このスロットの左上端の角と一致する。このように、各スロットの基準点は、それぞれのスロットの左上端とする。点Wは点Oから右方向に1cm、下方向に1cmの位置にあり、座標は(1,1)[単位:cm]である。Lはスロット1203の幅であり、16cmである。Hはスロット1203の高さであり、6cmである。これらにより、スロット1203を構成する長方形の各点及びその座標は、それぞれ点X(17,1)[単位:cm]、点Y(17,7)[単位:cm]、点Z(1,7)[単位:cm]である。点Pはスロット1203の中点であり、その座標は(9,4)[単位:cm]である。Rはスロット1203の回転角度であり、図12(b)の例ではスロット1203は回転されていないので、回転角度は0度である。このように、アプリケーション80は、レイアウトテンプレートに配置する各スロットを座標と回転角度を用いて定義し、管理/制御する際にその情報を使用する。定義されたレイアウトテンプレート情報は、図15に示すテーブルのように管理される。すなわち、図15に示すように、各スロットは、基準点の座標、幅(横の長さ)及び高さ(縦の長さ)と、回転角度が管理される。
図15は、スロットの位置と配置する画像に関する情報の一例を表す。スロット位置情報1501は、スロットの位置に関する情報を示す。Slotはスロット番号である。ReferencePointはスロットの基準点である。Lengthはスロットの幅(スロットの横の長さ)である。Heightはスロットの高さ(スロットの縦の長さ)である。Rotationはスロットの回転角度である。画像配置情報1502は、スロットに配置される画像に関する情報である。Auto Photo Correctionは、自動写真補正のオン(true)/オフ(false)を示す。Red Eye Correctionは、赤目補正のオン(true)/オフ(false)を示す。Trimmingは、トリミング情報である。Angleは、画像の回転角度である。トリミング情報は、(x,y)が基準点を示し、w×hが基準点からの幅と高さ(幅×高さ)の画素数を示す。図15は、図12(a)に示すレイアウトテンプレート1200のスロット1203〜1209の位置の例を示す。画像配置情報1502は、上記に限定するものではなく、画像処理の補正処理の内容の他、画像のステータス情報、配置時のサイズ情報などを含めてもよい。図15に示すスロットに関する情報は、レイアウトテンプレートに関する情報に含まれる。
図5は、フォトアルバムを自動作成する処理を示すフローチャートである。図5のフローチャートに係るアプリケーションプログラムは、例えば、HDD202に記憶されており、CPU204により読み出されて実行される。アプリケーションを起動することにより、図4(a)に示す画面が表示される。そして、ユーザによる図4(a)に示す自動選択ボタン407を選択及びフォトアルバム作成ボタン412が押下を受け付けると、アプリケーション80が図5に示すフォローチャートに従ってその処理を実行する。
S501にて、アプリケーション80は、静止画像ファイルまたは動画像ファイルが格納されているPC1内のフォルダ(不図示)、又はPC1内の各ファイルを、フォトアルバムを作成する際に必要な画像データ群の格納先または画像データ群として指定する。尚、S501にて、ユーザに静止画像または動画像が格納されているPC1内のフォルダやPC1内のファイルを選択させるようにしてもよい。
S502にて、アプリケーション80は、動画像ファイルから静止画像(フレーム画像)を取得して保存する処理を実行する。本工程の処理の詳細は、図16(a)を用いて後述する。
S503にて、アプリケーション80は、S502で保存した静止画像に対して、その静止画像のもととなった動画像内のフレームの位置情報(フレーム番号)を、その静止画像と関連付けて保存する。ここでの関連付けの例を図17を用いて説明する。
図17は、フレーム画像と動画像の関連付けと、フレーム画像の分類の一例を示す。図17において、JPEGはフレーム画像のファイル名であり、MPEGはMPEG動画像のファイル名であり、Date&Timeは撮影年月日時刻であり、Infoは分類に関する情報であり、Groupは分類結果である。また、Frameは動画像を構成するフレーム番号であり、RelatedFileは静止画像ファイルもしくは動画像ファイルに関連付けられている関連ファイル(動画像ファイル/静止画像ファイル)のファイル名である。JPEG欄に記載されているフレーム画像ファイルは、同じ行のMPEG欄に記載されている動画像ファイルから抽出されて保存された静止画像ファイル(フレーム画像ファイル)である。Date&Timeの書式は年月日と時刻(1/1000秒)である。例えば、図17(a)のdynamic15.jpgの行のDate&Time欄に記載されている「20140330100010334」は、2014年03月30日10時00分10と334/1000秒を表す。なお、図17において「−」はデータが存在しないことを表す。本実施形態では、例えば、図17(a)に示すように、フレーム番号とフレーム画像とが関連付けされる。
S504にて、アプリケーション80は、フォトアルバムを作成する際に必要な画像群の中の各静止画像に対して、フォトアルバム用の画像としての適切さを示す図14中の各要素について解析を行う。ここで、「適切さ」は、図14に示す基準に基づいて解析する。
図14は、静止画像のスコアの一例を示す。図14において、Fileはファイル名であり、Elementsはフォトアルバム用の画像としての適切さを定義する要素(基準)であり、Scoreはその各要素の総合的なスコアである。スコアは、Elementの各要素の点から導き出された、テンプレートに配置(レイアウト)される上での総合的な適切さを示す指標である。
Elementsは、Color(色)、Contrast(コントラスト)、Brightness(明るさ)、Focus(ピント)、Composition(構図)の各要素を含む。各要素は、0(最低)〜10(最高)のポイントで、フォトアルバム用の画像としての適切さを表す。各要素のポイントは、予め定められた基準に基づいて付与する。本実施形態では、例えば、静止画像内の輝度値の最大値と最小値の差が所定の各レベルに対応すれば、対応するポイントをコントラスト点として付与する。また、例えば、静止画像内のオブジェクトに基づいた三角構図の評価結果が所定の各レベルに対応すれば、対応するポイントを構図点として付与する。また、例えば、静止画像内の輝度分布の変化の尖鋭度が所定の各レベルに対応すれば、対応するポイントをピント点として付与する。なお、ポイントの付与方法は、これらに限定されるものではない。図14の「−」はデータが存在しないことを表す。
このように、アプリケーション80は、各要素の適切さを示す評価値として、各静止画像に対してスコアを算出し、付与する。ここでスコアが付与される画像は、静止画像ファイル内の静止画像と、S502にて保存された静止画像である。なお、S504では、静止画像ファイル内の静止画像、動画像ファイルから抽出された静止画像の両方に対して共通の評価基準によりスコアが付与される。S504にて、アプリケーション80は、S502で追加した、動画像から抽出した静止画像に対しても、フォトアルバム用の画像としての各要素の適切さに応じてスコアを付与する。
S505にて、アプリケーション80は、動画像から抽出したフレーム画像のスコアを補正する。S505にて、アプリケーション80は、動画像から抽出したフレーム画像に対して、例えば、オリジナルのスコアに1.2倍を乗算してスコアを増やす。ここで用いられた重み付けの値は、1.2に限定するものではなく、経験的に求められた他の値を用いてもよい。この値は、予め定義され記憶部に保持されているものとする。アプリケーション80は、静止画像を各スロットに配置する際に、図14に示すオリジナルのスコア(Original)または補正後のスコア(Modified)から高い方のスコアを採用する。そして、テンプレート内のスロット数分の静止画像を各スロットに対して配置する。
図14において、Originalはオリジナルのスコアであり、Color(色)、Contrast(コントラスト)、Brightness(明るさ)、Focus(ピント)、Composition(構図)のそれぞれのポイントの平均値である。Modifiedはオリジナルのスコアを補正したスコアである。アプリケーション80は、動画像から抽出したフレーム画像に対して、そのメリットを表す分の重み付けをスコアとして表す為に、本実施形態では、例えばオリジナルのスコアに1.2倍を乗算してスコアを増やす。
ここでのメリットとは、例えば、オリジナルのスコア値を大きくすることによって、動画像から抽出した静止画像がテンプレートへのレイアウト対象として特定される可能性を高めることができる。つまり、動画像から抽出したフレーム画像については、再度の抽出し直しでより良い静止画像を取得することも可能であるので、最終的に完成するレイアウト画像のユーザ満足度を向上させることができる。
アプリケーション80は、静止画像を各スロットに配置する際に、オリジナルのスコア(Original)または補正後のスコア(Modified)から高い方のスコアを採用して、テンプレートへのレイアウト対象としてより適切な画像の特定に使用する。そして、テンプレート内のスロット数分の静止画像を各スロットに対して配置する。これにより、フレーム画像は、静止画像よりもオリジナルのスコアが低かったとしても、高い評価が得られることでレイアウト画像に配置されやすくなる。動画が撮影された場面は、ユーザの印象に残っている場面・お気に入りの場面である可能性が高く、動画から抽出したフレーム画像をレイアウト画像に配置することにより、ユーザの満足度が向上する可能性が高まる。
尚、本実施形態では、動画像から抽出した静止画像のオリジナルのスコアに1.2倍を乗算してそのスコアを増やすことにより、動画像から抽出した静止画像のスコアの方が、一般的な静止画像のスコアよりも相対的に高くなるように制御している。しかしながら、このような制御方法に限られることなく、例えば、静止画像のスコアに0.8倍を乗算して静止画像のスコアをフレーム画像よりも減らすようにしても良い。これにより、動画像から抽出したフレーム画像のスコアの方が、静止画像のスコアよりも相対的に高くなるように制御することを実現できる。
S506にて、アプリケーション80は、レイアウトテンプレート内の各スロットに、スコアの高い順に静止画像を配置する。配置するスロットは、各スロットに割り当てられた番号の順であってもよいし、スロット自体に割り当てられた優先度(スコア)に従ってもよい。
S507にて、アプリケーション80は、動画像から抽出したフレーム画像がスロットに配置されているか否かの判定を行う。動画像から抽出したフレーム画像がスロットの中の少なくとも何れか1つのスロットに配置されていると判定された場合には(S508にてYES)S509へ進む。また、スロットのいずれにも配置されていないと判定された場合には(S508にてNO)本処理フローを終了する。
S509にて、画像からより適切な静止画像の取得をし、S510にて、動画像から抽出されたより適切な静止画像(フレーム画像)をスロットに配置して、本処理フローを終了する。
以下、図11(a)に示すレイアウトテンプレート1100を例に挙げて、各スロットに画像を配置してフォトアルバムを作成する処理に関して説明する。例えば、S506にて、図14のスコアに基づき、スロット1107〜1110に、static1.jpg、static2.jpg、static3.jpg、dynamic20.jpgを配置したとする(図13(a)に相当)。S509にて、アプリケーション80は、スロット1110に配置されたdynamic20.jpgに基づいて、動画像からテンプレートへのレイアウト対象としてより適切なフレーム画像を取得して保存する処理(図16(b))を実行する。アプリケーション80は、dynamic20.jpgに関連付けられている位置情報(フレーム番号)に基づき、元となった動画像ファイルの中から、前後の一定時間の所定範囲内に含まれる全てのフレームを解析する。そして、アプリケーション80は、フォトアルバム用としてより適切なフレームを抽出する。ここでの前後の一定時間の所定範囲内として、例えば、前1秒、後1秒の合計2秒を設定する。
ここで、図13は、スロットと静止画像の配置の関係の一例を示す。同13(a)と図13(b)はテンプレート1102におけるスロットと静止画像の配置の関係を示す。図13(c)と図13(d)は、テンプレート1141におけるスロットと静止画像の配置の関係を示す。図13(e)は、レイアウトテンプレート1200におけるスロットと静止画像の配置の関係を示す。図13において、Album Typeはフォトアルバムの種類であり、Groupは領域(グループ)番号であり、Pageはページ番号であり、Slotはスロット番号であり、Attributeは画像の属性であり、Fileはオリジナルのファイル名である。図13(a)と図13(b)において、スロット番号1〜4のスロットはそれぞれ、スロット1107〜1110に該当する。図13(c)と図13(d)において、スロット番号1〜5はそれぞれ、スロット1143〜1147に該当する。図13(e)において、スロット番号1〜7はそれぞれ、スロット1203〜1209に該当する。図13において、オリジナルのファイル名の「static*.jpg」(*は任意の数字)はデジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像である。また、「dynamic*.jpg」(*は任意の数字)は動画像から抽出された静止画像である。
その際、アプリケーション80は、より適切なフレームを抽出する為に、図14に示す各要素を使って、フレーム画像をスコアリングし、オリジナルのスコア(Original)でより高いスコアのフレームを採用する。アプリケーション80は、フォトアルバム用としてより適切なフレームを抽出し、抽出したフレーム画像を静止画像dynamic24.jpgとして保存する。
S510にて、アプリケーション80は、スロット1110に配置されているdynamic20.jpgをスロット1110から外す。そして、アプリケーション80は、S509で保存したフォトアルバム用としてより適切なdynamic24.jpgをスロット1110に配置して置き換える。その結果、スロット1107〜1110に対して、図13(b)に示す画像が配置される。つまり、図13(b)に示すスロット4の画像が置き換えられている。そして本処理フローを終了する。本処理フローの終了後、アプリケーション80は、図4(b)に示す編集画面415を表示する。
以上のように、静止画像と動画像の両方を一緒に取り扱い、ユーザの煩わしい操作を伴わずに、自動的により適切な画像を抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。
また、上記の例では、S505にて、動画像から抽出したフレーム画像のオリジナルのスコアに1.2倍を乗算してスコアを増やす、又は通常の静止画像のスコアに0.8倍を乗算してスコアを減らす。これにより、フレーム画像がスロットに配置されやすいようにした。しかし、これらのような例に限られることなく、例えば、動画像の解像度等の指標に基づくクオリティに応じて、スコアに重み付けをしてもよい。具体的には、そのクオリティが高いと判断した場合はその動画像から抽出したフレーム画像のオリジナルのスコアに1.5倍を乗算してもよい。例えば、解像度が基準値以上であれば、クオリティが高いと判定してもよい。また、静止画像の解像度等の指標に基づくクオリティに応じて、スコアに重み付けをしてもよい。具体的には、クオリティが低い場合はその静止画像のオリジナルのスコアに0.5倍を乗算してもよい。このような構成により、フォトアルバム用の画像としての適切さを示すスコア値を柔軟に制御することができる。
また、上記の例では、S504にて静止画像に対してスコアを付与した後、S505にてそのスコアを補正した。しかし、この構成に限らず、S504にて、動画像から抽出された静止画像に高いスコアが付与されるように処理を行ってもよい。例えば、PCは、高いスコアが付与されやすい第1の評価基準と、第1の評価基準よりは低いスコアが付与されやすい第2の評価基準とをHDD202に記憶しておく。そして、CPU204は、S504にて、動画像から抽出されたフレーム画像については第1の評価基準によりスコアを付与し、それ以外の静止画像については第2の評価基準によりスコアを付与してもよい。
また、上記の例では、S510にて、スロット1110に配置されているdynamic20.jpgをスロット1110から外し、S509で保存したフォトアルバム用としてより適切なdynamic24.jpgを配置して置き換えた。しかしながら、このような制御方法に限られることなく、例えば、dynamic24.jpgのオリジナルのスコア(Original)により、図13(b)に示すテンプレート1102におけるスロットとフレーム画像の配置の関係を見直してもよい。例えば、dynamic24.jpgのオリジナルのスコア(Original)が7.5であるとする。この場合、dynamic24.jpgの方が、static3.jpgのオリジナルのスコアである7.0よりもスコア(=オリジナルのスコア)が高くなる。従って、アプリケーション80は、dynamic24.jpgを図13(b)のスロット3に、static3.jpgを図13(b)のスロット4にそれぞれ配置する。この場合も、dynamic20.jpgは置き換えられることにより、配置されなくなる。
ここで、図16を用いて、S502及びS509の処理について詳細に説明する。図16は、動画像からフレーム画像(静止画像)を取得して保存する処理を示すフローチャートである。図16のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、CPU204により読み出されて実行される。図16(a)は動画像から静止画像を取得して保存する処理の一例を示すフローチャートであり、図5のS502の工程に対応する。図16(b)は、動画像からより適切な静止画像を取得して保存する処理を示すフローチャートであり、図5のS509の工程に対応する。
図5のS502の処理が実行されると、アプリケーション80は、図16(a)の処理を開始する。
S1611にて、アプリケーション80は、図5のS501で指定したフォルダに格納されている静止画像または動画像、もしくは、図5のS501で指定した画像データ群から動画像を検索する。
S1612にて、アプリケーション80は、検索された動画像から図4のフレーム抽出時間間隔指定部413で指定されている時間間隔で複数のフレームを抽出する。ここでは、フレーム抽出時間間隔指定部413で指定されている時間間隔をデフォルト値の1秒としている。
S1613にて、アプリケーション80は、抽出した各フレームを静止画像(JPEGファイル)に変換して、これらの静止画像(フレーム画像)を保存する。なお、このとき静止画像をファイル化する場合に限らず、CPU204が静止画像を例えばビットマップ形式でRAM201に記憶させておいてもよい。この時、図17(a)に示すように、アプリケーション80は、各静止画像に対して、その静止画像を抽出した動画像のファイル名と、その静止画像の元であるフレームの位置情報(フレーム番号)を、その静止画像と関連付けて保存する。なお、静止画像を抽出した動画像のファイルの情報は格納先のフルパスを含むが、図17(a)では格納先のフルパスを省略している。
S1614にて、アプリケーション80は、フォトアルバムを作成する際に必要な画像群の中にこれらの静止画像を追加する。その後、本処理フローを終了する。
例えば、S506にて、図14に示すスコアに基づいて、スロット1107〜1110にstatic1.jpg、static2.jpg、static3.jpg、dynamic20.jpgが配置されたとする(図13(a)に相当)。ここで、図17(a)に示すように、dynamic20.jpgは、video1.mp4から抽出されたフレームを元に保存されたファイルである。尚、video1.mp4はMPEG4形式の動画像ファイルであり、フレームレートは30fps(フレーム/秒)である。
図5のS509の処理が実行されると、アプリケーション80は、スロット1110に配置された動画像から抽出したdynamic20.jpgを基に、図16(b)の処理を開始する。図16(b)の処理は、動画像からテンプレートへのレイアウト対象としてより適切なフレーム画像を取得して保存する処理である。
S1621にて、アプリケーション80は、図17(a)に示すテーブルを参照し、dynamic20.jpgに関連付けられている位置情報(フレーム番号)を取得する。
S1622にて、アプリケーション80は、取得した位置情報(フレーム番号)に基づいて、その前後の一定時間の所定範囲(例えば、前1秒、後1秒の合計2秒)の中に含まれる全てのフレームを抽出する。
S1623にて、アプリケーション80は、抽出した全てのフレームを解析して、フォトアルバム用としてより適切なフレームを選択する。その際、アプリケーション80は、より適切なフレームを選択する為に、図14に示す各要素を使って、フレームの画像をスコアリングし、オリジナルのスコア(Original)でより高いスコアのフレームを選択する。例えば、抽出されたフレームの中でオリジナルのスコアが最も高いフレームを選択する。つまり、ここでのより適切なフレームとは、各画像に割り当てられたスコアに基づき判定される。
S1624にて、アプリケーション80は、選択したフレームを静止画像(JPEGファイル)に変換して、その静止画像(フレーム画像)をを保存する。ここで、アプリケーション80は、dynamic20.jpgを基準として、フォトアルバム用としてより適切なフレームを選択し、その選択したフレームをdynamic24.jpgとして保存する。その後、本処理フローを終了する。
以上で説明した処理によれば、静止画像がテンプレートにレイアウトされるに際し、動画像から抽出されたフレーム画像に高いスコアが付与されやすくなり、その静止画像がテンプレートに配置されやすくなる。
以上で説明した処理によれば、動画像から抽出された複数のフレーム画像に優先的に高いスコアが付与され、さらにその複数のフレーム画像のうち評価の高い画像がレイアウトされる。そのため、ボケ等の少ない適切な画像をレイアウトすることができる。動画像の場合、あるシーンについて多数の画像(静止画像)が撮影されるため、その多数の画像の中にボケが少ない適切な画像が含まれることがある。したがって、本実施形態では、上述した方法により、より適切な画像を抽出し、テンプレートのスロットにレイアウトする。
図19は、タイプNのフォトアルバムの時間ベース用のレイアウトテンプレートの一例を示す。図19(a)に示すレイアウトテンプレート1900は、例えば、タイプNのフォトアルバムの時間ベース用のレイアウトテンプレートにおける、表紙と裏表紙のレイアウトテンプレートである。レイアウトテンプレート1900は、ページ単位で領域をグループ化し、そのグループ(片側1ページ)内の全てのスロットを同一グループの領域に属するものとする。N−A−G9999は、レイアウトテンプレートの属性を表し、テンプレートIDとしてこの情報が利用される。テンプレート1901は、表紙のレイアウトテンプレートである。テンプレート1902は、裏表紙のレイアウトテンプレートである。スロット1903、1904は表紙に配置されているスロットであり、アプリケーション80は静止画像、文字や文字列等のテキストをそれぞれのスロットに配置する。
テンプレート1901に付加されているコードN−A−G0−Fは、このテンプレートの属性を表す。Nは、タイプNのフォトアルバム用であることを表す。Aは、時間ベース用であることを表す。G0は、グループ0の領域用であることを表す。Fは、表紙用であることを表す。スロット1903、1904は、グループ0の領域に属する。スロット1903、1904に付加されているコードN−A−G0−1、N−A−G0−2はそれぞれ、これらのスロットの属性を表す。N−A−G0は上記と同様であるが、最後の数字はスロット番号を表す。スロット番号は、グループ単位で割り当てられる。
スロット1904は文字や文字列等のテキスト用のスロットであり、このスロットには静止画像や動画像から生成された静止画像ではなく、ユーザが入力した文字や文字列等のテキストが配置される。尚、ユーザが文字や文字列等のテキストを入力する方法に関しては、公知の入力方法を利用できるものとする。N−A−G0は、レイアウトテンプレートの属性を表し、テンプレートIDとしてこの情報が利用される。テンプレートIDは、印刷システム内において各テンプレートを一意に識別するための識別情報であり、この識別情報の利用については、図21にて後述する。
テンプレート1902に付加されているコードN−A−G9999−Bはこのテンプレートの属性を表す。N−Aは上記と同様であり、G9999はグループ9999の領域用であることを表す。Bは、裏表紙用であることを表す。スロット1905、1906は表表紙に配置されているスロットであり、アプリケーション80は、静止画像、文字や文字列等のテキストをそれぞれのスロットに配置する。スロット1905、1906は、グループ9999の領域に属する。スロット1905、1906に付加されているコードN−A−G9999−1、N−A−G9999−2はそれぞれ、これらのスロットの属性を表す。N−A−G9999は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。スロット1906は文字や文字列等のテキスト用のスロットであり、このスロットには静止画像や動画像から生成された静止画像ではなく、ユーザが入力した文字や文字列等のテキストが配置される。
図19(b)に示すレイアウトテンプレート1910は、ページ単位で領域をグループ化し、そのグループ(片側1ページ)内の全てのスロットを同一グループの領域に属するものとした例である。N−A−G2は、レイアウトテンプレートの属性を表し、テンプレートIDとしてこの情報が利用される。レイアウトテンプレート1910は、例えば、タイプNのフォトアルバムの時間ベース用のレイアウトテンプレートにおける、本身の1ページと2ページの見開きページのレイアウトテンプレートである。テンプレート1911は、本身の1ページ目のレイアウトテンプレートである。テンプレート1912は、本身の2ページ目のレイアウトテンプレートである。スロット1913〜1916は本身の1ページ目に配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。テンプレート1911に付加されているコードN−A−G1−P1は、このテンプレートの属性を表す。Nは、タイプNのフォトアルバム用であることを表す。Aは、時間ベース用であることを表す。G1は、グループ1の領域用であることを表す。P1は、本身の1ページ用であることを表す。スロット1913〜1916は、グループ1の領域に属する。スロット1913〜1916に付加されているコードN−A−G1−1、N−A−G1−2、N−A−G1−3、N−A−G1−4はそれぞれ、これらのスロットの属性を表す。N−A−G1は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。N−A−G1は、レイアウトテンプレートの属性を表し、テンプレートIDとしてこの情報が利用される。
スロット1917〜1920は、本身の2ページ目に配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。テンプレート1912に付加されているコードN−A−G2−P2は、このテンプレートの属性を表す。N−Aは上記と同様である。G2は、グループ2の領域用であることを表す。P2は、本身の2ページ用であることを表す。スロット1917〜1920はグループ2の領域に属する。スロット1917〜1920に付加されているコードN−A−G2−1、N−A−G2−2、N−A−G2−3、N−A−G2−4はそれぞれ、これらのスロットの属性を表す。N−A−G2は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
図19(c)に示されるテンプレート1930は、例えば、タイプNのフォトアルバムの時間ベース用のレイアウトテンプレートにおける、本身の3ページと4ページの見開きページのレイアウトテンプレートである。このテンプレートの色(背景色)は青色で、千鳥格子の模様が入っているものとする。テンプレート1931は、本身の3ページ目のレイアウトテンプレートである。テンプレート1932は、本身の4ページ目のレイアウトテンプレートである。スロット1934は本身の3ページ目に配置されているスロットである。スロット1933、1935は本身の3ページ目と4ページ目の両方にまたがって配置されているスロットである。アプリケーション80は静止画像、文字や文字列等のテキストをそれぞれのスロットに配置する。
スロット1933〜1935は、グループ3の領域に属する。テンプレート1931に付加されているコードN−A−G3−P3、テンプレート1932に付加されているコードN−A−G3−P4はそれぞれのテンプレートの属性を表す。Nは、タイプNのフォトアルバム用であることを表す。Aは、時間ベース用であることを表す。G3は、グループ3の領域用であることを表す。P3は、本身の3ページ用であることを表す。P4は、本身の4ページ用であることを表す。スロット1933〜1935に付加されているコードN−A−G3−1、N−A−G3−2、N−A−G3−3はそれぞれ、これらのスロットの属性を表す。N−A−G3は上記と同様であり、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
スロット1934は、四角形とは異なる異形のスロットであり、このような異形のスロットをベクターデータで表現する場合、例えば四角形のスロットと比較してデータの情報量が膨大な量となる。スロット1935は、文字や文字列等のテキスト用のスロットであり、このスロットには静止画像や動画像から生成された静止画像ではなく、ユーザが入力した文字や文字列等のテキストが配置される。テンプレート1931、1932、および、スロット1933〜1935はそれぞれ異なるレイヤに配置されている。テンプレート1931と1932が最も下のレイヤ0に配置される。スロット1933がレイヤ0の直上のレイヤ1に配置される。スロット1934がレイヤ1の直上のレイヤ2に配置される。スロット1935が最も上のレイヤであるレイヤ3に配置される。本実施形態では、このようにテンプレートやスロットを異なるレイヤに分けて、それぞれを重ねて配置する。例えば、青色で千鳥格子の模様の付いたテンプレート1931、1932の上に、大きな長方形のスロット1933を配置して図20に示すdynamic88.jpg(0010.dat)の静止画像を合成する。更に、スロット1933の上に異形のスロット1934を配置して図20に示すstatic77.jpg(0011.dat)の静止画像を合成する。なお、static77.jpg(0011.dat)の静止画像は、レイアウト画像を生成する際には、スロット1934の形状に合わせてトリミングされることになる。更に、スロット1934の上にテキスト用の長方形のスロット1935を配置して図20に示すテキストデータ(0012.dat)を合成する。その結果、色や模様の付いた(青色で千鳥格子模様の)テンプレートの上に動画像から生成した静止画像を配置し、その上に静止画像を配置し、さらにその上にテキストを配置する。これにより、template on photo、photo on photo、photo on textを実現することができる。
テンプレート1930は、見開きページ単位(2ページ単位)で領域をグループ化し、そのグループ(見開き2ページ)内の全てのスロットを同一グループの領域に属するものとした例である。N−A−G3は、レイアウトテンプレートの属性を表し、テンプレートIDとしてこの情報が利用される。テンプレート1930のように、異形のスロットを含んだり、複数のレイヤを重ね合わせて表現されたりするようなテンプレートの場合、テンプレートを表現する為に必要な情報が複雑かつ膨大なものとなり、テンプレートの情報量が膨大な量となる。
図19において、S/Nはシリアル番号であり、便宜上、0000、0001、0002、・・・というように、アプリケーション80が自ら規定した規則に基づいて各スロットに割り振っている番号である。このシリアル番号は、レイアウトテンプレートを表す情報の中には含まれておらず、あくまでも便宜上、図面に記載している。すなわち、アプリケーション80や印刷システム12は、レイアウトテンプレート情報を読み込んだ時に、その中にシリアル番号の情報が含まれていないので、このシリアル番号は読み込まれない。
図22は、フォトアルバム用印刷データを生成する処理の一例を示すフローチャートである。図22のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図22(a)は、印刷システム12がフォトアルバム用印刷データを生成する処理の一例を示すフローチャートである。ユーザが図4(b)に示す購入商品追加ボタン419を押下すると、図22(a)の処理が開始される。すなわち、CPU204は、購入商品追加ボタン419の押下を受け付けると、フォトアルバムの全ての見開きページのレイアウトが確定し、図22(a)の処理が開始される。なお、レイアウトの確定により、アルバムに使用する画像及び使用するレイアウトテンプレートが確定する。
S2201にて、アプリケーション80は、レイアウトテンプレートの番号(テンプレートID)を、ページの並び順でフォトアルバムに関する情報として保存する。
ここで、図21(a)を用いて、フォトアルバムのレイアウト情報について説明する。図21は、フォトアルバムのデータの一例を示す。図21(a)は、フォトアルバムに関する情報の一例を示す。図21(a)に示すフォトアルバム情報2101(レイアウト情報2101)は、album_info.jsonという名前のJSON形式のファイルであり、タイプNのフォトアルバムの情報が記載されている。ページ情報2105には、フォトアルバムのページに関する情報が、表紙、本身、裏表紙の順に記載されている。尚、例えば、フォトアルバムの背表紙に静止画像やテキストデータが印刷されているようなフォトアルバムの場合、ページ情報2105内に、表紙、本身、背表紙、裏表紙の順に各ページに関する情報が記載される。テンプレートID情報2102には、表紙のテンプレートIDが記載されている。図21(a)では、図19に示すテンプレート1902のテンプレートIDである「N−A−G9999」が記載されている。テンプレートID情報2103は、本身に含まれている各ページのテンプレートIDがページ順に記載されている。図21(a)では、図19に示すテンプレート1911、1912、1931(1932)のテンプレートIDである「N−A−G1」、「N−A−G2」、「N−A−G3」がページ順に記載されている。テンプレートID情報2104には、裏表紙のテンプレートIDが記載されている。図21(a)では、図19に示すテンプレート1901のテンプレートIDである「N−A−G0」が記載されている。すなわち、S2201では、アプリケーション80は、レイアウトテンプレートの識別情報を、フォトアルバム情報2101のページ情報2105内のテンプレートID情報2102〜2104に、ページの並び順で保存する。
印刷システム12は、フォトアルバム情報2101に記載されているページ情報2105と、テンプレートID情報2102〜2104より、フォトアルバムを構成する各ページで使用されるレイアウトテンプレートとページ順を特定することができる。図21(a)の例では、各ページで使用されるレイアウトテンプレートとページ順は次の通りとなる。
N−A−G0
N−A−G1
N−A−G2
N−A−G3
N−A−G9999
S2202にて、アプリケーション80は、図20と図21(b)に示すように、レイアウトテンプレート内の各スロットに配置する画像を、ファイル名を連番にして保存する。
図20は、スロットと静止画像の配置の関係の一例を示す。図20は、図19に示したレイアウトテンプレート1900、1910、1930におけるスロットと静止画像またはテキストデータの配置の関係を示す。Album Typeはフォトアルバムの種類である。Groupは領域(グループ)番号である。Pageはページ番号である。Slotはスロット番号である。Fileはオリジナルのファイル名である。Dataはアプリケーション80が管理システム6へ送信するフォトアルバムのデータに含まれる静止画像またはテキストデータのファイル名である。図20において、ページ番号Fのスロット番号1〜2のスロットはそれぞれ、スロット1903、1904に該当する。ページ番号1のスロット番号1〜4はそれぞれ、スロット1913〜1916に該当する。ページ番号2のスロット番号1〜4はそれぞれ、スロット1917〜1920に該当する。ページ番号3、4のスロット番号1〜3はそれぞれ、スロット1933〜1935に該当する。
図20において、オリジナルのファイル名の「static*.jpg」(*は任意の数字)は通常の静止画像である。dynamic*.jpg(*は任意の数字)は動画像から抽出された静止画像である。「−」は画像無し(テキストデータのケース)を示す。テキストデータ0001.dat、0012.dat、0014.datは、例えば、ベジェ曲線を表す為の点座標の集合(アウトライン)と色情報等から構成されるデータであり、文字や文字列等のテキストを表現することができるデータである。尚、テキストデータは、この例に限られることなく、例えば、二値画像と色情報等を組合せたデータ、フォントとサイズと色情報等を組合せたデータでもよい。その場合、アプリケーション80と印刷システム12に同じフォントを予め組み込んでおき、アプリケーション80は、テキストデータとして、フォント名、サイズ、色情報等を組合せたデータを生成する。
アプリケーション80は、フォトアルバムのデータに含める静止画像は、自らが規定した規則に基づいてファイル名をリネームして、フォトアルバムのデータに格納する。ここでの規則は、表紙→本身→裏表紙というように並べた時に表紙内のスロットから裏表紙のスロットまで、各スロットに対して順に割り振った番号である。例えば、図19に示す例の場合、表紙、本身の1ページ目、2ページ目、3ページ目、4ページ目、裏表紙の順に並べ、各スロットに対して順に0000、0001、0002、・・・、0013、0014という番号を一時的に割り振る。なお、ここでは、割り振る番号を4桁の数字にて示しているがこれに限定するものではなく、また番号の付与体系もこれに限定するものではない。
スロットに静止画像が割り当てられている場合、アプリケーション80は、その静止画像のファイル名をそのスロットに割り振られている番号を用いてリネームする。そして、アプリケーション80は、リネーム後のファイルをフォトアルバムのデータに格納する。例えば、アプリケーション80は、static1.jpgを0000.datというようにリネームする。スロットにテキストデータが割り当てられている場合、アプリケーション80は、そのテキストデータをそのスロットに割り振られている番号を用いて、例えば0001.datという名前のファイルに出力し、フォトアルバムのデータに格納する。
尚、本実施形態では、表紙、本身、裏表紙で構成されるフォトアルバムの例を挙げて説明したが、この例に限られることなく、例えば、表紙、本身、背表紙、裏表紙で構成されるフォトアルバムにも応用できる。また、本実施形態では、各スロットに静止画像やテキストデータを割り当てる例を挙げて説明したが、この例に限られることなく、例えば、商品管理用のバーコードを印字する領域をスロットに割り当てるような応用もできる。
図21(b)に示すアルバムデータ2110は、フォトアルバム情報2101、および、各スロットに配置する静止画像またはテキストデータに関する配置データ2112〜2126を含んで構成されるデータセットである。配置データ2112は、タイプNのフォトアルバムの表紙のスロット1903に配置する静止画像と、その配置方法、画像補正に関する情報等から構成される。配置データ2112において、0000.datは、静止画像であり、そのファイル名は、スロット1903に配置するstatic1.jpgのファイル名をリネームしたものを用いる。このデータは、図19で示したような、アプリケーション80が自ら規定した規則に基づいて各スロットに一時的に割り振った番号をファイル名の一部(拡張子を除く部分)に使用する。0000.iniは、スロット1903に配置する静止画像の画像配置情報である。この情報には、例えば、画像配置情報1502に各スロットに対して記載されているような情報と同様の情報を、スロット1903にstatic1.jpgを配置する時の設定値で格納する。画像配置情報は、図19で示したような、アプリケーション80が自ら規定した規則に基づいて各スロットに一時的に割り振った番号を、ファイル名の一部(拡張子を除く部分)に使用する。
例えば、アプリケーション80が、画像にトリミングを行った場合、そのトリミング情報を画像配置情報の中に含め、その画像配置情報を、管理システム6を介して印刷システム12に送信する。印刷システム12が、各スロットに割り当てられている静止画像を配置する際に、上記のトリミング情報に基づいてトリミングを行い、そのトリミングされた画像をスロットに配置する。これにより、アプリケーション80のプレビュー表示部418に表示されるフォトアルバムのプレビューと、印刷システム12とプリンタ14で印刷及び製本されたフォトアルバムの印刷結果を、各スロットに対する静止画像の配置に関して同じにすることができる。
0000.prmは、自動写真補正や赤目補正等の画像補正や画像処理用のパラメータ情報である。スロット1903に配置するstatic1.jpgに対して補正を有効にしたり、画像処理を実施する場合、0000.prmには、その補正や画像処理に使用するパラメータが格納される。このパラメータ情報には、例えば、顔検出結果の座標等が含まれている。尚、顔検出は、static1.jpgの実画像に対して行ってもよいが、例えば、static1.jpgの短辺を数百画素に小さくリサイズした静止画像に対して行うようにしてもよい。小さくリサイズした静止画像に対して顔検出を行うことで、顔検出処理を高速化することができる。なお、この時の顔検出結果をパラメータとして格納してもよい。そして、自動写真補正を行う際は、顔検出結果に基づいて、顔の色を既定の色等を使って補正される。また、このパラメータには、例えば、自動写真補正に使用する情報も含まれる。例えば、static1.jpgに対して自動写真補正を行う場合、アプリケーション80のプレビュー表示部418に表示する際は、static1.jpgの短辺を数百〜数千画素に小さくリサイズした静止画像に対して自動写真補正を行う。これにより、自動写真補正処理を高速化することができる。
印刷システム12が印刷データを生成する際は、オリジナルのstatic1.jpgに対して自動写真補正を行うことで、フォトアルバムの印刷品位を向上することができる。印刷システム12は、パラメータに含まれるリサイズした静止画像に対して顔検出した結果を用いて、自動写真補正を行うので、自動写真補正の処理を高速化することができる。また、アプリケーション80と印刷システム12それぞれが実行されているOSが異なる場合でも、色味や写真の補正内容に関するユーザの見た目の差を少なくすることができる。具体的には、アプリケーション80のプレビュー表示部418に表示されるフォトアルバムのプレビューと、印刷システム12とプリンタ14で印刷及び製本されたフォトアルバムの、色味や写真の補正内容に関するユーザの見た目の差を少なくすることができる。
パラメータ情報は、図19で示したように、アプリケーション80が自ら規定した規則に基づいて各スロットに一時的に割り振った番号を、ファイル名の一部(拡張子を除く部分)に用いる。配置データ2113は、タイプNのフォトアルバムの表紙のスロット1904に配置するテキストデータから構成される。配置データ2113において、0001.datは、スロット1904に配置するテキストデータである。テキストデータは、図19で示したような、上記の規則に基づいて割り振られた番号をファイル名の一部に用いている。つまり、スロットに配置される静止画像と、その静止画像に対応する画像配置情報および画像処理のパラメータ情報は、同じ番号をファイル名に用いることで、対応していることが示される。
配置データ2114〜2117はそれぞれ、タイプNのフォトアルバムの本身の1ページ目のスロット1913〜1916に配置する静止画像と、その配置方法、画像補正に関する情報等から構成される。配置データ2118〜2121はそれぞれ、タイプNのフォトアルバムの本身の2ページ目のスロット1917〜1920に配置する静止画像と、その配置方法、画像補正に関する情報等から構成される。配置データ2122、2123はそれぞれ、タイプNのフォトアルバムの本身の3ページ目と4ページ目のスロット1933、1934に配置する静止画像と、その配置方法、画像補正に関する情報等から構成される。配置データ2124は、タイプNのフォトアルバムの表紙のスロット1935に配置するテキストデータから構成される。配置データ2125は、タイプNのフォトアルバムの裏表紙のスロット1905に配置する静止画像と、その配置方法、画像補正に関する情報等から構成される。配置データ2126は、タイプNのフォトアルバムの裏表紙のスロット1906に配置するテキストデータから構成される。
静止画像が配置されるスロットに対する配置データ2114〜2123、2125における静止画像と、その配置方法、補正に関する情報は、配置データ2112の説明と同様であるので、ここではその詳細説明を省略する。テキストデータが配置されるスロット1905、1906に対する配置データ2124、2126におけるテキストデータは、配置データ2113の説明と同様であるので、ここではその詳細説明を省略する。
S2203にて、アプリケーション80は、アルバムデータ2110を管理システム6に送信する。図21(b)に示すように、アルバムデータ2110の中に、レイアウトテンプレートの番号(テンプレートID)とその並び順が記載されているフォトアルバム情報2101、及び、配置データ2112〜2126が含まれている。ここでの配置データ2112〜2126は、静止画像、画像配置情報、画像補正や画像処理用のパラメータ、テキストデータ等から構成されている。管理システム6は、ショッピングサイト11から送信されるユーザの注文関連情報とフォトアルバムのデータ、例えばアルバムデータ2110を関連付けて注文情報として管理する。さらに、管理システム6は、フォトアルバムのデータと注文関連情報から構成される注文情報をサーバ7の印刷システム12へ送信する(不図示)。
S2204にて、印刷システム12は、アルバムデータ2110の中のフォトアルバム情報2101から、レイアウトテンプレートの番号(テンプレートID)とその並び順を取得する。更に、印刷システム12は、配置データ2112〜2126から、連番のファイル名が付加されている静止画像、画像配置情報、画像補正や画像処理用のパラメータ、テキストデータ等に基づいて、フォトアルバム用印刷データを生成する。そして、本処理フローを終了する。本処理フローが終了した後、印刷システム12は、生成した印刷データをプリンタ14へ送信する。その後、プリンタ14は、印刷データを受信して、フォトアルバムを印刷する。
このように、本実施形態によれば、印刷データを生成する為に、アプリケーション80が管理システム6を介して印刷システム12に送信するフォトアルバムのデータの情報量を少なくすることができる。その結果、データ通信に要する時間を短縮できるので、ユーザの待ち時間を減らすことができ、ユーザの操作性に優れる。また、データ送受信の負荷が減るので、管理システム6や印刷システム12を実行しているサーバをコストダウンすることもできる。
本実施形態では、アプリケーション80と印刷システム12に、レイアウトテンプレートに関する情報を予め組み込んでおく。アプリケーション80が、各スロットに配置するファイル名が付加されている静止画像やテキストデータ、静止画像に関する画像配置情報、画像補正や画像処理用のパラメータ等を、自らが規定した規則に基づいて連番のファイル名にして印刷システム12に送信する。また、印刷システム12が、それらのファイルと、予め組み込んでいるレイアウトテンプレートに関する情報に基づいて、印刷データを生成する。この構成により、印刷データを生成する為のアルゴリズムが簡略化され、制御も簡略化されるので、印刷データを生成する為のプログラムの規模を小さくすることができ、簡単な制御で実現することができる。
また、本実施形態では、管理システム6が、アプリケーション80から送信されるフォトアルバムのデータを受信して一時的に保管する。そして、管理システム6は、ショッピングサイト11から送信されるユーザの注文関連情報(氏名、住所、電話番号、配送先、etc.)とフォトアルバムのデータとを関連付けて注文情報として管理する。更に、管理システム6は、フォトアルバムのデータと注文関連情報から構成される注文情報を印刷システム12へ送信する。しかし、この例に限られることなく、例えば、印刷システム12が管理システム6のこの機能を備えることで、管理システム6のサーバー(PC5)が無くても本発明を実現することができる。
<第2の実施形態>
本実施形態では、関連性のある画像を自動的に動画像から抽出してレイアウトを行う。
図18は、動画像を構成するフレームの一例を示す。図18は、動画像video444.mp4の例を示す。図18において、各フレームの下に記載されている番号はそのフレームのフレーム番号である。dynamic44.jpg、dynamic45.jpg、dynamic46.jpgは、アプリケーション80がvideo444.mp4のフレーム3、4、5からそれぞれ抽出して保存した静止画像ファイルである。dynamic54.jpg、dynamic55.jpg、dynamic56.jpgは、アプリケーション80がvideo444.mp4のフレーム925、926、927からそれぞれ抽出して保存した静止画像ファイルである。dynamic87.jpg、dynamic88.jpg、dynamic89.jpgは、アプリケーション80がvideo444.mp4のフレーム3334、3335、3336からそれぞれ抽出して保存した静止画像ファイルである。図18に示す通り、フレーム1〜5、フレーム924〜928、フレーム3333〜3337は、それぞれ異なる場面のフレーム群である。
本実施形態では、各場面について、フレーム画像中に含まれるオブジェクトに基づいてフレーム画像が分類される。例えば、静止画像中に含まれるオブジェクトの種類が異なれば、異なる場面として場面分けする。場面分けは、他の基準に因ってもよく、例えば、同一若しくは類似の構図ごとに場面分けされてもよい。
図6は、本実施形態に係るフォトアルバムを自動作成する処理を示すフローチャートである。図6のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。ユーザは、図4(a)に示す時間選択ボタン408、シーン選択ボタン409、テーマ選択ボタン410の何れか1つを選択して、フォトアルバム作成ボタン412を押下する。その押下に応じて、アプリケーション80は図6に示す処理を実行する。
S601にて、アプリケーション80は、静止画像または動画像が格納されているPC1内のフォルダ(不図示)、またはPC1内の静止画像または動画像を選択して、フォトアルバムを作成する際に必要な画像群の格納先または画像群として指定する。尚、S601にて、ユーザに、静止画像または動画像が格納されているPC1内のフォルダ、またはPC1内の静止画像または動画像を選択させてもよい。
S602にて、アプリケーション80は、図7に示す静止画像の分類処理を実行する。本工程の処理の詳細については後述する。
S603にて、アプリケーション80は、S602の静止画像の分類処理における分類方法(時間ベース、シーンベース、テーマベース)の各方法に応じて、各方法に該当する図8(a)〜(c)のいずれかの処理を実行する。図8(a)〜(c)に示す処理は、分類に対応した、動画像から静止画像(フレーム画像)を抽出する処理である。尚、分類方法は、時間ベース、シーンベース、テーマベースの何れか1つを適用するケースの他に、これらのいくつかを組合せて適用するケースも本実施形態に含まれる。本工程の処理の詳細については後述する。
S604にて、アプリケーション80は、S602で適用した分類方法に基づいて、その分類方法に関連付けられているレイアウトテンプレートを選択する。例えば、S602にて、アプリケーション80がテーマベースの分類方法を選択したとする。この場合、S604にて、アプリケーション80は、テーマベースの分類方法に関連付けられているレイアウトテンプレートを選択する。ここでは、アプリケーション80は、図11(c)に示すレイアウトテンプレート1140が含まれたレイアウトテンプレートを選択したとする。
S605にて、アプリケーション80は、レイアウトテンプレート内で関連付けられている一連の領域内の各スロットに、互いに関連する静止画像を配置する。その際に、本分類(例えば、テーマ)に分類分けされた静止画像が、一連の領域内の所定のスロット数より多い場合、第1の実施形態で説明したようなスコアリングが行われて、スコアの高い順に所定数のスロットに割り当てるようにしてもよい。
S606にて、アプリケーション80は、各スロットに配置されている静止画像を確認し、動画像から抽出したフレーム画像が複数配置されているか否かを判定する。複数配置されていると判定された場合には(S607にてYES)S608へ進み、複数配置されていないと判定された場合には(S607にてNO)本処理フローを終了する。本処理フローが終了した後、アプリケーション80は、図4(b)に示す編集画面415を表示する。
ここで、図13(c)に示す通り、スロット1143〜1147にstatic14.jpg、static28.jpg、dynamic44.jpg、dynamic45.jpg、dynamic46.jpgが各配置されたとする。
S608にて、アプリケーション80は、複数配置されている動画像から抽出したフレーム画像の中に同一場面のものが含まれているか否かを判定する。同一場面のものが含まれていると判定された場合には(S609にてYES)S610へ進み、同一場面のものが含まれていないと判定された場合には(S609にてNO)本処理フローを終了する。本処理フローが終了した後、アプリケーション80は、図4(b)に示す編集画面415を表示する。
S610にて、アプリケーション80は、動画像から抽出したフレーム画像の中に同一場面と判定した場面とは異なる場面のフレーム画像があるかを判定する。異なる場面のフレーム画像が有ると判定された場合には(S611にてYES)S612へ進み、異なる場面のフレーム画像が無いと判定された場合には(S611にてNO)S613へ進む。
S612にて、アプリケーション80は、スロットに配置されている動画像から抽出したフレーム画像の中の同一場面のフレーム画像の一方を、動画像から抽出した異なる場面のフレーム画像と置き換えて、そのスロットに配置する。その結果、ここでの例の場合、スロット1146に配置されているdynamic45.jpgがdynamic55.jpgに置き換えられる。また、スロット1147に配置されているdynamic46.jpgがdynamic88.jpgに置き換えられる。図13(d)に示す通り、スロット1143〜1147にstatic14.jpg、static28.jpg、dynamic44.jpg、dynamic55.jpg、dynamic88.jpgがそれぞれ配置される。その後、本処理フローを終了する。本処理フローが終了した後、アプリケーション80は、図4(b)に示す編集画面415を表示する。
S613にて、アプリケーション80は、スロットに配置されている動画像から抽出したフレーム画像の中の同一場面のフレーム画像の一方を、動画像から抽出したフレーム画像ではない、同一分類の静止画像と置き換えて、そのスロットに配置する。このときに、図14に示すスコア値が大きくなるように、置き換えを行ってもよい。若しくは、図14に示す各要素のいずれかのポイントが大きくなるように、置き換えを行ってもよい。その結果、最終的に完成されるレイアウト画像のユーザの満足度を向上させることができる。その後、本処理フローを終了する。本処理フローが終了した後、アプリケーション80は、図4(b)に示す編集画面415を表示する。
(静止画像の分類処理)
図7は、静止画像の分類処理を示すフローチャートである。図7のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。本処理は、図6のS602の処理に対応する。
S701にて、アプリケーション80は、ユーザによる動画像ファイル処理方法選択部406の選択状態を取得し、ユーザが選択した動画像から静止画像を抽出する処理方法に基づいて、分類方法を判定する。分類方法が時間ベースの分類方法であると判定した場合には(S702にてYES)S703へ進み、時間ベースの分類方法ではないと判定した場合には(S702にてNO)S704へ進む。
S703にて、アプリケーション80は、静止画像(JPEGファイル)のExif情報のDateTime情報、静止画像のファイルの作成日、更新日時、アクセス日時等を参照し、それらの情報から得られた撮影年月日時刻に基づき静止画像を分類する。そして、アプリケーション80は、その分類情報と分類結果(グループ)を、対象の静止画像と関連付けて保存する。この時、アプリケーション80は、Exif情報のDateTime情報が存在しない場合、ファイルの作成日、更新日時、アクセス日時等から得られた撮影年月日時刻を、静止画像と関連付けて保存する。
分類の方法としては、例えば、同一日の静止画像をまとめて同じ分類としたり、同一月等の同一の時間情報の静止画像をまとめて同じ分類としたりする方法等がある。例えば、図17(b)のstatic100.jpg、static102.jpg、static103.jpg、static108.jpg、static109.jpgがこのケースを表す。static102.jpgは、Info(分類情報)に2013年12月24日20時台(20:00〜20:59)で分類したことを表す情報が関連付けられて格納されている。
分類方法がシーンベースの分類方法であると判定した場合には(S704にてYES)S705へ進み、シーンベースの分類方法ではないと判定した場合には(S704にてNO)S706へ進む。
S705にて、アプリケーション80は、静止画像の色情報やヒストグラム等を解析し、その解析結果に基づいて静止画像を分類し、その分類情報と分類結果(グループ)を対象の静止画像と関連付けて保存する。この時、アプリケーション80は、色情報やヒストグラムの情報も、静止画像と関連付けて保存する。分類の方法としては、例えば同じような色味の静止画像をまとめて同じ分類としたり、RGBまたはYCrCbのヒストグラムが一致あるいは色度が所定の閾値範囲内の近い静止画像をまとめて同じ分類としたりする方法等がある。例えば、図17(b)のstatic120.jpg、static121.jpg、static123.jpg、static125.jpgがこのケースを表す。static120.jpgは、Info(分類情報)にヒストグラム4(histogram4−*、*は自然数、ヒストグラム4のグループとして判定されるヒストグラム値)で分類したことを表す情報が関連付けられて格納されている。本工程の処理の後、本処理フローを終了する。
分類方法がテーマベースの分類方法であると判定した場合には(S706にてYES)S707へ進み、テーマベースの分類方法ではないと判定した場合には(S706にてNO)S708へ進む。
S707にて、アプリケーション80は、ユーザがファイル選択ボタン411で選択したファイルに含まれているオブジェクトを解析し、その解析結果に基づいて静止画像を分類する。そして、アプリケーション80は、その分類情報と分類結果(グループ)を対象の静止画像と関連付けて保存する。この時、アプリケーション80は、オブジェクト情報も、静止画像と関連付けて保存する。ここでオブジェクトの例としては、人、犬や猫等の動物、花、列車、自動車、バイクなど様々なものがあり、特に限定するものではない。尚、オブジェクトの例の人として、人物、顔等を区別してもよい。例えば、図17(b)のstatic155.jpg、static156.jpg、static157.jpg、static160.jpgがこのケースを表す。static155.jpgは、Info(分類情報)にオブジェクト8(object8−*、*は自然数、オブジェクト8のグループとして判定されるオブジェクトを規定する情報)で分類したことを表す情報が関連付けられて格納されている。本工程の処理の後、本処理フローを終了する。
S708にて、アプリケーション80は、その他の方法(時間、シーン、テーマ以外)に基づいて静止画像を分類し、その結果を対象の静止画像と関連付けて保存する。この時、アプリケーション80は、上記のその他の方法の情報も、静止画像と関連付けて保存する。尚、ユーザが本実施形態のメイン画面401を操作する場合、アプリケーション80がS708の処理を実行しない場合もある。本工程の処理の後、本処理フローを終了する。
(静止画像の抽出処理)
図8は、動画像から静止画像の抽出処理を示すフローチャートである。図8のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図8に示す3つの処理フローは、図6のS603の処理に対応する。図8(a)は時間ベースで動画像から静止画像(フレーム画像)を抽出する処理を示すフローチャートである。また、図8(b)はシーンベースで動画像から静止画像(フレーム画像)を抽出する処理を示すフローチャートである。また、図8(c)はテーマベースで動画像から静止画像(フレーム画像)を抽出する処理を示すフローチャートである。
ユーザが、図4(a)に示す時間選択ボタン408を選択して、フォトアルバム作成ボタン412を押下したとする。この場合、図6のS603でアプリケーション80が動画像から静止画像の抽出処理を実行すると、アプリケーション80は、図8(a)の静止画像の抽出処理を開始する。
S811にて、アプリケーション80は、S703で静止画像に関連付けられている分類情報と、その静止画像のExif情報のDateTime情報又はその静止画像に関連付けられている撮影年月日時刻に基づいて、動画像から関連するフレームを抽出する。その際、アプリケーション80は、まず、動画像の撮影年月日時刻を取得し、S703で得られた静止画像に関連付けられている分類情報(例えば、同一日、同一月)を使って、分類が一致する動画像を特定する。そして、アプリケーション80は、特定した動画像にその分類情報を関連付けて、その情報を保存する。次に、アプリケーション80は、同一分類のフレーム静止画像から、Exif情報のDateTime情報又はそのフレーム画像に関連付けられている撮影年月日時刻を取得し、同一分類の動画像から、撮影年月日時刻が一致するフレームを抽出する。その際、アプリケーション80は、撮影年月日時刻を基準時刻として、その前後の一定時間の所定範囲(例えば、前3秒、後3秒の合計6秒)の中に含まれる全てのフレームを解析して、フォトアルバム用としてより適切なフレームを抽出する。
ここで、アプリケーション80は、複数のフレームを抽出してもよい。その際、アプリケーション80は、より適切なフレームを抽出する為に、図14に示す各要素を使って、フレームの画像をスコアリングし、オリジナルのスコア(Original)でスコアの高い順にフレームを採用する。フレームの採用数については、例えば、動画像から抽出したフレーム画像をレイアウト可能なスロット数を、フレームの採用数として決定してもよい。
S812にて、アプリケーション80は、S811で抽出されたフレームを静止画像として保存する。なお、S811にて、撮影年月日時刻が一致するフレームが存在しない場合、アプリケーション80は、その動画像に対して図16(a)に示す処理を実行して静止画像を抽出する。
S813にて、アプリケーション80は、動画像から抽出したフレーム画像と、分類情報、分類結果、関連ファイルを関連付けて、その情報を保存する。例えば、図17(b)のdynamic301.jpg、dynamic302.jpgこのケースを表す。dynamic301.jpgには、Info(分類情報)に2013年12月24日20時台(20:00〜20:59)で分類したことを表す情報が関連付けて格納されている。また、Group(分類結果)にdateTime1というグループ情報が関連付けて格納されている。また、RelatedFile(関連ファイル)にstatic102.jpgが関連付けて格納されている。その後、本処理フローを終了する。
ユーザが、図4(a)に示すシーン選択ボタン409を選択して、フォトアルバム作成ボタン412を押下したとする。この場合、図6のS603でアプリケーション80が動画像から静止画像の抽出処理を実行すると、アプリケーション80は、図8(b)の静止画像の抽出処理を開始する。
S821にて、アプリケーション80は、図7のS705で静止画像に関連付けられた色情報やヒストグラム等の分類情報に基づいて、動画像から関連するフレームを抽出する。その際、アプリケーション80は、各動画像からフレームを抽出し、そのフレームの色情報やヒストグラム等を解析し、図7のS705で得られた静止画像に関連付けられた分類情報(色やヒストグラム等)と比較する。比較の結果、両者が一致または類似している場合、アプリケーション80は、動画像にその分類情報を関連付けてその情報を保存する。また、アプリケーション80は、分類情報が一致したフレームにもその分類情報を関連付けて、その情報を保存する。アプリケーション80は、分類情報が一致した全てのフレームを解析して、フォトアルバム用として適切なフレームを抽出する。ここで、アプリケーション80は、複数のフレームを抽出してもよい。適切なフレームの抽出(スコア順及びフレーム採用数)については、図8(a)と同じ基準で行われる。
S822にて、アプリケーション80は、S821で抽出されたフレームを静止画像(フレーム画像)として保存する。
S823にて、アプリケーション80は、動画像から抽出したフレーム画像と分類情報、分類結果、関連ファイルを関連付けて、その情報を保存する。例えば、図17(b)のdynamic321.jpgの行がこのケースを表す。この画像には、Info(分類情報)にヒストグラム4(histogram4−*、*は自然数、ヒストグラム4のグループとして判定されるヒストグラム値)で分類したことを表す情報が関連付けて格納されている。また、この画像には、Group(分類結果)にhistogram4というグループ情報が関連付けて格納されている。また、この画像には、RelatedFile(関連ファイル)にstatic120.jpgが関連付けられて格納されている。その後、本処理フローを終了する。
ユーザが、図4(a)に示すテーマ選択ボタン410を選択して、フォトアルバム作成ボタン412を押下したとする。この場合、図6のS603でアプリケーション80が動画像から静止画像の抽出処理を実行すると、アプリケーション80は、図8(c)の静止画像の抽出処理を開始する。
S831にて、アプリケーション80は、図7のS707で静止画像に関連付けられたオブジェクトの分類情報に基づいて、動画像から関連するフレームを抽出する。その際、アプリケーション80は、各動画像からフレームを抽出し、そのフレームの中に含まれているオブジェクトを解析し、図7のS707で得られた静止画像に関連付けられている分類情報(オブジェクト)と比較する。比較の結果、両者が一致または類似している場合、アプリケーション80は、動画像にその分類情報を関連付けてその情報を保存する。また、アプリケーション80は、分類情報が一致したフレームにもその分類情報を関連付けて、その情報を保存する。アプリケーション80は、分類情報が一致した全てのフレームを解析して、フォトアルバム用として適切なフレームを抽出する。ここで、アプリケーション80は、複数のフレームを抽出してもよい。適切なフレームの抽出(スコア順及びフレーム採用数)については、図8(a)と同じ基準で行われる。
S832にて、アプリケーション80は、S831で抽出されたフレームを静止画像として保存する。
S833にて、アプリケーション80は、動画像から抽出した静止画像と、分類情報、分類結果、関連ファイルを関連付けてその情報を保存する。例えば、図17(b)のdynamic341.jpgの行がこのケースを表す。この画像には、Info(分類情報)にオブジェクト8(object8−*、*は自然数、オブジェクト8のグループとして判定されるオブジェクトを規定する情報)で分類したことを表す情報が関連付けて格納されている。また、この画像には、Group(分類結果)にobject8というグループ情報が関連付けて格納されている。また、この画像には、RelatedFile(関連ファイル)にstatic155.jpgが関連付けて格納されている。その後、本処理フローを終了する。
以上のように、本実施形態では、分類分けされた静止画像に基づいて、動画像から、静止画像と関連する静止画像(フレーム画像)を自動的に抽出し、これらの静止画像をレイアウト内の一連の領域に配置する。それにより、ユーザの煩わしい操作を伴わずに、関連性のある適切な画像を自動的に動画像から抽出してレイアウトを行うことができる。また、1つの動画像から異なる場面の複数の静止画像を抽出して一連の領域に配置することで、ユーザの煩わしい操作を伴わずに、変化に富んだ画像を自動的に抽出してレイアウトを行うことができる。
<第3の実施形態>
本実施形態では、解像度が高い静止画像を、テンプレートのスロットのうちのより大きなサイズのスロットに配置することで、静止画像の良さと動画像の動きを合わせた臨場感のある画像レイアウトを自動的に行う。
図9は、本実施形態に係るフォトアルバムを自動作成する処理を示すフローチャートである。図9のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。ユーザが、図4(a)に示す時間選択ボタン408、シーン選択ボタン409、テーマ選択ボタン410の何れか1つを選択して、フォトアルバム作成ボタン412を押下する。その押下に応じて、アプリケーション80は、図9に示す処理を実行する。本実施形態では、図13(e)に示すデータを用いて説明を行う。
S901にて、アプリケーション80は、静止画像または動画像が格納されているPC1内のフォルダ(不図示)、またはPC1内の静止画像または動画像を選択して、フォトアルバムを作成する際に必要な画像群の格納先または画像群として指定する。尚、S901にて、ユーザに静止画像または動画像が格納されているPC1内のフォルダ、またはPC1内の静止画像または動画像を選択させてもよい。
S902にて、アプリケーション80は、第2の実施形態で説明した図7に示す静止画像の分類処理を実行する。ここで、static11.jpgとstatic12.jpgは、デジタルスチルカメラで撮影して保存された写真(静止画像)であるものとする。また、図13(e)に示す、static11.jpgに関連付けられている分類情報と、static12.jpgに関連付けられている分類情報とは、一致しているものとする。
S903にて、アプリケーション80は、S902の静止画像の分類処理における分類方法(時間ベース、シーンベース、テーマベース)の各方法に応じて、それぞれの方法に対応する図8(a)〜(c)の処理のいずれかを実行する。図8(a)〜(c)の処理は、第2の実施形態にて述べたように、動画像から静止画像(フレーム画像)を抽出する処理である。尚、分類方法は、時間ベース、シーンベース、テーマベースの何れか1つを適用するケースの他に、これらのいくつかを組合せて適用するケースも本実施形態に含まれる。ここで、図13(e)に示す、dynamic22.jpg、dynamic43.jpg、dynamic50.jpg、dynamic78.jpg、dynamic85.jpgは、1つの動画像から抽出された静止画像であるものとする。また、これらの各フレーム画像に関連付けられている分類情報は全て一致し、static11.jpgに関連付けられている分類情報と、static12.jpgに関連付けられている分類情報とも一致しているとする。
S904にて、アプリケーション80は、S902で適用した分類方法に基づいて、その分類方法に関連付けられているレイアウトテンプレートを選択する。ここで、S902にて、アプリケーション80が、シーンベースの分類方法を選択したとする。この場合、S904にて、アプリケーション80は、シーンベースの分類方法に関連付けられているレイアウトテンプレートを選択する。ここで、アプリケーション80は、図12(a)に示すレイアウトテンプレート1200が含まれたレイアウトテンプレートを選択したとする。
S905にて、アプリケーション80は、レイアウトテンプレート内で関連付けられている一連の領域内の通常の静止画像(動画像から抽出したフレーム画像ではない静止画像)に適した各スロットに、互いに関連する通常の静止画像を配置する。ここでは、スロット1203、1204に、互いに関連する通常の静止画像static11.jpg、static12.jpgがそれぞれ配置される。その際に、分類分けされた静止画像が、一連の領域内の所定のスロット数より多い場合、第1の実施形態で説明したようなスコアリングを行い、スコアの高い順に所定数のスロットに割り当てるようにしてもよい。
S906にて、アプリケーション80は、レイアウトテンプレート内で関連付けられている一連の領域内の動画像から抽出されたフレーム画像に適した各スロットに、互いに関連する動画像から抽出されたフレーム画像をそれぞれ配置する。ここでは、スロット1205〜1209に、互いに関連する動画像から抽出された静止画像dynamic22.jpg、dynamic43.jpg、dynamic50.jpg、dynamic78.jpg、dynamic85.jpgがそれぞれ配置される。その後、本処理フローを終了する。本処理フローが終了した後、アプリケーション80は、図4(b)に示す編集画面415を表示する。
以上のように、本実施形態では、解像度が高い静止画像を、レイアウトテンプレート内で関連付けられている一連の領域内の通常の静止画像に適した大きめのスロット1203、1204に配置する。また、1つの動画像から抽出された静止画像を一連のフレーム画像用のスロット、すなわち、一連のスロット1205〜1209に配置する。これにより、ユーザの煩わしい操作を伴わずに、静止画像の良さと動画像の動きを合わせた臨場感のある画像レイアウトを自動的に行うフォトアルバム作成アプリケーションを提供することができる。このように、1つの動画像から抽出した複数のフレーム画像を連続して配置することにより、動きを表現したレイアウト画像を生成することができる。
<第4の実施形態>
本実施形態では、ユーザが、注文するフォトアルバムと形状(サイズ)、色や模様、用紙の種類、綴じ方、カバー等が異なるフォトアルバムを追加で注文したり、写真のレイアウトはそのままで互換性のあるフォトアルバムに変更したりする場合のユーザの操作性を向上させる。
図4(c)は、クライアント側のWebブラウザ143に表示されるフォトアルバムの注文画面の一例である。注文画面422において、フォトアルバムタイプ選択部425は、注文するフォトアルバムと形状(サイズ)違い、用紙の種類違い、綴じ方違い、カバー違い等の互換性のあるフォトアルバムの選択肢を表示する。なお、フォトアルバムタイプ選択部425は、例えば、プルダウンにより複数のタイプの選択肢を表示する。つまり、ショッピングサイトにて、互換性のあるテンプレートが選択可能に提示される。これにより、ユーザは、フォトアルバムタイプ選択部425に表示される選択肢の中からフォトアルバムを選択することで、容易に互換性のあるフォトアルバムを生成することができる。
例えば、ユーザが、タイプNのフォトアルバムを注文しようとしている時、フォトアルバムタイプ選択部425には、タイプNと互換性のある、タイプN大、タイプS、タイプT、タイプUのフォトアルバムが選択肢として表示される。ユーザが、フォトアルバムタイプ選択部425でタイプN大のフォトアルバムを選択し、追加ボタン426を押下することで、フォトアルバムタイプ選択部425で選択したタイプN大のフォトアルバムをショッピングカート(不図示)に追加することができる。これにより、ユーザは、例えばタイプNとタイプN大のフォトアルバムの2つのフォトアルバムをショッピングカートに入れて、同時に注文することができる。すなわち、アプリケーション80において、レイアウト画像を再生成して、テンプレートIDとその並び順と、画像やテキスト等をサーバに再送信することなく、2つのタイプのフォトアルバムを同時に注文することができる。
また、例えば、ユーザが、タイプNのフォトアルバムを注文しようとしている時、フォトアルバムタイプ選択部425には、タイプNと互換性のある、タイプN大、タイプS、タイプT、タイプUのフォトアルバムが選択肢として表示される。ユーザが、フォトアルバムタイプ選択部425でタイプTのフォトアルバムを選択し、変更ボタン427を押下することで、ショッピングカートに入っているタイプNのフォトアルバムがショッピングカートから削除される。さらに、フォトアルバムタイプ選択部425で選択したタイプTのフォトアルバムがショッピングカートに追加される。これにより、注文するフォトアルバムのタイプをタイプNからタイプTに変更することができる。すなわち、アプリケーション80において、レイアウト画像を再生成して、テンプレートIDとその並び順と、画像やテキスト等をサーバに再送信することなく、異なるタイプのフォトアルバムに変更して注文することができる。
第4の実施形態では、ユーザがすでに注文しようとして選択しているフォトアルバムと形状(サイズ)、色や模様、用紙の種類、綴じ方、カバー等が異なるフォトアルバムを注文できるように、レイアウトテンプレートとして、このような互換性のあるテンプレートを複数備える。そして、これらのテンプレートは、フォトアルバムの外形や位置、スロットの形状や位置等を指定するベクター情報、テンプレートやスロットの重なり具合を表すレイヤ情報、背景色等の色情報、背景の模様等の画像情報等の情報を含んでデータ化されている。また、互換性のあるテンプレートについては、その互換性に関する情報が保持されているものとする。このレイアウトテンプレートに関する情報として、クライアント側のアプリケーション80とサーバ側の印刷システム12に同じ内容の情報が予め組み込まれている。その結果、情報(データ)量が多いレイアウトテンプレートに関する情報を、インターネットを介してアプリケーション80から管理システム6や印刷システム12に送信する必要がない。そのため、印刷データを生成する為に、アプリケーション80が管理システム6を介して印刷システム12に送信するフォトアルバムのデータの情報量を少なくすることができる。また、データ通信に要する時間を短縮できるので、ユーザの待ち時間を減らすことができ、ユーザの操作性に優れる。また、データ送受信の負荷が減るので、管理システム6や印刷システム12を実行しているサーバをコストダウンすることもできる。
尚、前述したような互換性のあるフォトアルバムの注文を、ショッピングサイト11だけで注文可能な特別なオプションまたは機能としてユーザに提供する場合、レイアウトテンプレートに関する情報が印刷システム12に予め組込まれていればよい。この場合には、同じものが必ずしもアプリケーション80に予め組込まれていなくてもよい。但し、アプリケーション80の機能として、上記の互換性のあるフォトアルバムを注文できるようにする場合は、レイアウトテンプレートに関する情報が、アプリケーション80と印刷システム12に同じ情報を予め組み込むようにすればよい。また、ショッピングサイト11は、テンプレートの互換性に関する情報を自ら保持していてもよいし、管理システム6もしくは印刷システム12から参照できるようにしてもよい。
図22(b)は、本実施形態に係るフォトアルバム用印刷データを生成する処理の一例を示すフローチャートである。例えば、ユーザが、タイプNのフォトアルバムを注文しようとしている時、フォトアルバムタイプ選択部425には、タイプNと互換性のある、タイプN大、タイプS、タイプT、タイプUのフォトアルバムが選択肢として表示される。この場合、ユーザが、フォトアルバムタイプ選択部425でタイプN大のフォトアルバムを選択し、追加ボタン426を押下すると、図22(b)の追加処理が開始される。あるいは、ユーザが、フォトアルバムタイプ選択部425でタイプTのフォトアルバムを選択し、変更ボタン427を押下すると、図22(b)の変更処理が開始される。
S2211にて、ショッピングサイト11は、異なるタイプのフォトアルバムの追加注文、あるいは、フォトアルバムを異なるタイプへ変更する変更注文を受け付ける。例えば、S2211にて、ショッピングサイト11は、タイプTのフォトアルバムへの変更注文を受け付けると、ショッピングカートに入っているタイプNのフォトアルバムをショッピングカートから削除し、タイプTのフォトアルバムをショッピングカートに追加する。そして、ショッピングサイト11は、注文するフォトアルバムのタイプをタイプNからタイプTに変更する。
S2211にて、例えば、タイプNの注文と、タイプN大の追加注文を受け付けた場合、S2212にて、ショッピングサイト11は、注文関連情報に、タイプNとタイプN大のフォトアルバムが注文されたことを表す情報を付加し、その注文関連情報を管理システム6に送信する。一方、S2211にて、例えば、タイプNからタイプTへの変更注文を受け付けた場合、S2212にて、ショッピングサイト11は、注文関連情報に、タイプNのフォトアルバムの削除(キャンセル)とタイプTのフォトアルバムの追加注文(変更注文)が行われたことを表す情報を付加する。そして、ショッピングサイト11は、その注文関連情報を管理システム6に送信する。ここでの注文関連情報には、氏名、住所、電話番号、配送先等が含まれる。
図21(b)に示すように、アルバムデータ2110の中に、レイアウトテンプレートの番号(テンプレートID)とその並び順が記載されているフォトアルバム情報2101、及び、配置データ2112〜2126が含まれている。ここでの配置データ2112〜2126は、静止画像、画像配置情報、画像補正や画像処理用のパラメータ、テキストデータ等から構成されている。管理システム6は、ショッピングサイト11から送信されるユーザの注文関連情報とフォトアルバムのデータ、例えばアルバムデータ2110を関連付けて注文情報として管理する。更に、管理システム6は、フォトアルバムのデータと注文関連情報から構成される注文情報を印刷システム12へ送信する(不図示)。
S2213にて、サーバー7の印刷システム12は、異なるタイプの追加、あるいは、タイプの変更に対応するフォトアルバム用印刷データを生成する。具体的には、印刷システム12は、アルバムデータ2110の中のフォトアルバム情報2101から、レイアウトテンプレートの番号(テンプレートID)とその並び順を取得する。更に、印刷システム12は、配置データ2112〜2126から、連番のファイル名が付加されている静止画像、画像配置情報、画像補正や画像処理用のパラメータ情報、テキストデータ等に基づいて、フォトアルバム用印刷データを生成する。その際、印刷システム12は、注文関連情報に含まれている追加注文や変更注文の情報に従って、異なるサイズの追加、あるいは、サイズ変更に対応するフォトアルバム用印刷データを生成する。そして、本処理フローを終了する。本処理フローが終了した後、印刷システム12は、生成した印刷データをプリンタ14へ送信する。その後、プリンタ14は、印刷データを受信して、フォトアルバムを印刷する。
なお、S2213にて、フォトアルバムタイプの追加や変更を行う方法として、例えば、次に示すような方法がある。
[方法1]
追加/変更するフォトアルバム用のレイアウトテンプレートを利用して、これに画像を配置することにより、印刷データを生成する。
[方法2]
ショッピングカートに最初に追加された元のフォトアルバム用のレイアウトテンプレートを変倍して、これに画像を配置することにより、追加/変更するフォトアルバムの印刷データを生成する。
第4の実施形態によれば、互換性のあるフォトアルバムを追加で注文したり、写真のレイアウトはそのままで互換性のあるフォトアルバムに変更したりする際に、アプリケーション80を使ってフォトアルバムを自動作成するところからやり直す必要がない。ユーザは、注文画面422内のフォトアルバムタイプ選択部425でフォトアルバムを選択して、追加ボタン426または変更ボタン427を押下するだけで追加注文や変更ができるので、ユーザの操作性に優れる。
本実施形態では、ユーザが注文しているフォトアルバムと形状(サイズ)、色や模様、用紙の種類、綴じ方、カバー等が異なるフォトアルバムを注文できるように、レイアウトテンプレートとして、このような互換性のあるテンプレートを複数用意する。そして、そのレイアウトテンプレートに関する情報を、クライアント側のアプリケーション80とサーバ側の印刷システム12に同じ内容の情報が予め組み込まれている例を示した。例えば、互換性のあるテンプレートを備えていない場合でも、ユーザが最初に選択しているフォトアルバムのタイプ用のレイアウトテンプレートを利用して、それを拡大または縮小してもよい。これにより、ユーザは、サイズ違いのタイプのフォトアルバムを追加で注文したり、変更して注文したりすることができる。
<第5の実施形態>
本実施形態では、本願発明に係る印刷データ生成システムにおけるカラーマネジメントについて説明する。
図23は、本願発明に係る自動写真補正とカラーマネジメントに関するデータフローを示す。フォトアルバムのデータ(例えばアルバムデータ2110)に含まれている静止画像の例として、ここではJPEGファイルの例で説明する。JPEGファイルは、色空間を指定できるので、ここではsRGBとAdobeRGBを例に挙げて説明する。
sRGBの色空間を持つ静止画像(JPEGファイル)の場合、アプリケーション80は、S2301にて、sRGBの色空間で自動写真補正を行い、プレビュー表示部418にフォトアルバムのプレビューを表示する。一方で、アプリケーション80は、sRGBの色空間を持つ静止画像(JPEGファイル)が含まれているフォトアルバムのデータ(例えばアルバムデータ2110)を、自動写真補正を行わずに、管理システム6を介して印刷システム12に送信する。印刷システム12は、このsRGBの色空間を持つ静止画像を含むフォトアルバムのデータ(例えばアルバムデータ2110)を受信する。すなわち、印刷システム12が受信するフォトアルバムのデータは、自動写真補正は行われていない。
印刷システム12は、S2304にて、sRGBの色空間を持つ静止画像(JPEGファイル)に対して、sRGBの色空間で自動写真補正を行い、ラボシステム(不図示)がサポートしている色空間に合わせて色変換を行う。例えば、ラボシステム(不図示)がsRGBの色空間をサポートしている場合、印刷システム12は、sRGBの色空間で色変換を行う。一方、例えば、ラボシステムがAdobeRGBの色空間をサポートしている場合、印刷システム12は、S2305にて、AdobeRGBの色空間で色変換を行う。
印刷システム12は、S2308にて、フォトアルバムの見開きページ毎(2ページ毎)、あるいは1ページ毎にJPEGファイルを生成する。印刷システム12は、フォトアルバムの全てのページを生成した後、フォトアルバムとして1つのPDFファイルを作成する。
一方、AdobeRGBの色空間を持つ静止画像(JPEGファイル)の場合、アプリケーション80は、S2302にて、AdobeRGBの色空間で自動写真補正を行う。
S2303にて、アプリケーション80は、sRGBに色変換して、プレビュー表示部418にフォトアルバムのプレビューを表示する。一方で、アプリケーション80は、AdobeRGBの色空間を持つ静止画像(JPEGファイル)が含まれているフォトアルバムのデータ(例えばアルバムデータ2110)を、自動写真補正や色変換を行わずに、管理システム6を介して印刷システム12に送信する。印刷システム12は、このAdobeRGBの色空間を持つ静止画像を含むフォトアルバムのデータ(例えばアルバムデータ2110)を受信する。すなわち、印刷システム12が受信するフォトアルバムのデータは、自動写真補正も色変換も行われていない。
印刷システム12は、S2306にて、AdobeRGBの色空間を持つ静止画像(JPEGファイル)に対して、AdobeRGBの色空間で自動写真補正を行い、ラボシステム(不図示)がサポートしている色空間に合わせて色変換を行う。例えば、ラボシステム(不図示)がAdobeRGBの色空間をサポートしている場合、印刷システム12は、AdobeRGBの色空間で色変換を行う。一方、例えば、ラボシステムがsRGBの色空間をサポートしている場合、印刷システム12は、S2307にて、sRGBの色空間で色変換を行う。その後、上述したように、S2308の処理を行う。
本実施形態では、任意の色空間を持つ静止画像を用いてフォトアルバムを自動作成する場合に、アプリケーション80のプレビュー表示部418に表示されるフォトアルバムのプレビューと、印刷システム12とプリンタ14で印刷及び製本されたフォトアルバムの、色味や写真の補正内容に関するユーザの見た目を同じにすることができる。その結果、ユーザのイメージ通りの高品質なフォトアルバムを制作することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上述した実施形態では、アプリケーションの例として図4に示すようなフォトアルバム作成アプリケーション80を挙げたが、この例に限られることなく、同様な画像抽出機能を備える任意のアプリケーションでも実現可能である。
また、上述した実施形態では、情報処理装置としてパーソナルコンピュータを想定した。しかしながら、携帯電話、携帯情報端末、デジタルスチルカメラ、デジタルビデオカメラ、携帯ミュージックプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置(端末)を用いてもよい。
また、上述した実施形態では、OSに例としてWindows(登録商標)8と同等のOSを使用したが、このOSに限られることなく、任意のOSを使用することができる。また、上述した実施形態では、ネットワーク4の構成例としてEthernet(登録商標)を用いたが、この例に限られることなく、例えば、無線LAN、IEEE1394、Bluetooth(登録商標)等、他の任意のネットワーク構成であってもよい。
以上のように、第1の実施形態によれば、静止画像と動画像の両方を一緒に取り扱い、ユーザの煩わしい操作を伴わずに、自動的により適切な画像を抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。
また、第2の実施形態では、分類分けされた静止画像に基づいて、動画像から、静止画像と関連するフレーム画像を自動的に抽出し、これらの静止画像を一連の領域に配置する。これにより、ユーザの煩わしい操作を伴わずに、関連性のある適切な画像を自動的に抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。また、1つの動画像から異なる場面の複数のフレーム画像を抽出して一連の領域に配置することで、ユーザの煩わしい操作を伴わずに、変化に富んだ画像を自動的に抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。
また、第3の実施形態では、レイアウトテンプレート内に、デジタルスチルカメラ等で撮影して保存された写真等の静止画像に適したスロットと、動画像から抽出されたフレーム画像に適したスロットに対して、各適した静止画像を配置する。これにより、ユーザの煩わしい操作を伴わずに、静止画像の良さと動画像の動きを合わせた臨場感のある画像レイアウトを自動的に行うフォトアルバム作成アプリケーションを提供することができる。
静止画像の分類、動画像から静止画像を抽出する処理方法として、撮影年月日時刻、色やヒストグラム、オブジェクトを利用する例を挙げたが、これらの例に限られることなく、同様な目的を達成し得る任意の処理方法を利用して本発明を実現することができる。さらに、撮影年月日時刻、色やヒストグラム、オブジェクト、その他の処理方法等を組み合わせて静止画像を分類したり、動画像から静止画像を抽出したりしてもよい。このように複数の処理方法を組合せることで、フォトアルバムの完成度を向上することができる。
また、画像の解析方法として、Color(色)、Contrast(コントラスト)、Brightness(明るさ)、Focus(ピント)、Composition(構図)の要素を利用する例を挙げた。しかしながら、これらの例に限られることなく、同様な目的を達成し得る任意の解析方法を利用して本発明を実現することができる。
上記の実施形態において、アプリケーション80は、静止画像をそのまま加工することなく管理システム6を介して印刷システム12に送信し、印刷システム12が各スロットの形状や静止画像の配置位置に合わせて静止画像をトリミングして配置する例を挙げた。しかし、例えば、アプリケーション80が、各スロットに配置される静止画像をそれぞれのスロットの形状や静止画像の配置位置に合わせてトリミング処理を適用し、そのトリミングした静止画像を、管理システム6を介して印刷システム12に送信してもよい。この場合、各スロットに対するトリミング情報や画像の配置位置情報を、アプリケーション80が管理システム6を介して印刷システム12に送信する必要がなくなる。その結果、アプリケーション80が送信するフォトアルバムのデータの情報量を少なくすることができ、データ通信に要する時間を短縮できる。これにより、ユーザの待ち時間を減らすことができ、ユーザの操作性に優れる。また、データ送受信の負荷が減るので、管理システム6や印刷システム12を実行しているサーバをコストダウンすることもできる。
さらに、例えば、アプリケーション80が、トリミングした静止画像を、管理システム6を介して印刷システム12に送信する際に、プリンタ14の性能に合わせて、高解像度の静止画像をそれよりも低解像度に変換した静止画像を生成する。これにより、フォトアルバムのデータの情報量をさらに少なくすることができ、データ通信に要する時間を大幅に短縮できる。そのため、ユーザの待ち時間を大幅に減らすことができ、ユーザの操作性に優れる。また、データ送受信の負荷が減るので、管理システム6や印刷システム12を実行しているサーバを大幅にコストダウンすることもできる。
また、スロットの形状や大きさに合わせて、解像度変換を行うことができる。例えば、大きなスロットに配置する静止画像は1200dpiに変換し、中くらいの大きさのスロットに配置する静止画像は600dpiに変換し、小さなスロットに配置する静止画像は300dpiに変換する。これにより、各スロットに合わせて解像度を変換した静止画像を生成する。その結果、データ通信量を減らしつつ、適切な印刷品位を保つことができる。これにより、フォトアルバムの印刷品位を高く保ちつつ、ユーザの操作性にも優れる。
アプリケーション80が、管理システム6に送信するフォトアルバムのデータは、例えば、アルバムデータ2110を圧縮して1つのZIPファイル(第1のZIPファイル)とする。また、管理システム6が、ショッピングサイトから受信した注文関連情報とフォトアルバムのデータのZIPファイル(第1のZIPファイル)をまとめて、それらを圧縮して1つのZIPファイル(第2のZIPファイル)とする。管理システム6は、第2のZIPファイルを印刷システム12に送信する。
アプリケーション80は、第1のZIPファイルを、例えば約50MBくらいの大きさの複数のファイルに分割し、それらの分割ファイルを管理システム6に送信する。ここで、第1のZIPファイルの分割ファイルの大きさは、例えば、約50MBにする。分割ファイルのサイズが大きい場合、アプリケーション80が表示するデータ送信中を表すプログレスバーの進み具合が遅くなったり、データの送信中に途中でキャンセルする場合のユーザ操作に対するレスポンスが悪くなったりする。一方で、分割ファイルのサイズが小さい場合、分割ファイルの数が増える為、管理システム6に対するリクエスト数が増え、通信負荷が増大し、サーバのコストアップにつながってしまう。したがって、分割ファイルの大きさを適切なサイズとすることにより、ユーザの操作性が低下するのを抑制しつつ、通信負荷を低減させることができる。
また、管理システム6は、第2のZIPファイルを、例えば約100MBくらいの大きさの複数のファイルに分割し、それらの分割ファイルを印刷システム12に送信する。ここで、第2のZIPファイルの分割ファイルの大きさは、例えば、約100MBにする。分割ファイルのサイズが小さい方が、通信エラーでリトライとなるリスクが減る。一方で、分割ファイルのサイズが大きい方が、分割ファイルの数が減るので、印刷システム12に対するリクエスト数が減り、サーバの通信負荷が減少し、サーバのコストダウンにつながる。したがって、分割ファイルのサイズを適切なサイズとすることにより、通信エラーとなるリスクを低減させつつ、サーバの通信負荷を減少させることができる。
以上、各実施形態について詳述したが、特定の実施形態に限定されるものではなく、本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上、本願発明に係る各実施形態により、以下のような効果を得ることができる。
(1)フォトアルバムのデータの情報量を少なくすることができ、データ通信に要する時間を短縮できるので、ユーザの待ち時間を減らすことができ、ユーザの操作性に優れる。
(2)印刷データを生成する為のアルゴリズムが簡略化され、制御も簡略化されるので、印刷データを生成する為のプログラムの規模を小さくすることができ、簡単な制御で実現することができる。
(3)データ送受信の負荷が減るので、サーバをコストダウンすることができる。
(4)フォトアルバムの印刷品位を高く保ちつつ、ユーザの操作性にも優れる。
(5)互換性のあるフォトアルバムを追加で注文したり、写真のレイアウトはそのままで互換性のあるフォトアルバムに変更したりする際に、アプリケーションを使ってフォトアルバムを自動作成するところからやり直す必要がない。注文画面内のフォトアルバムタイプ選択部でフォトアルバムを選択して、追加ボタンまたは変更ボタンを押下するだけで追加注文や変更ができるので、ユーザの操作性に優れる。
(6)任意の色空間を持つ静止画像を用いてフォトアルバムを自動作成する場合に、アプリケーションのプレビュー表示部に表示されるフォトアルバムのプレビューと、印刷及び製本されたフォトアルバムのユーザの見た目を同じにすることができる。ここでいうユーザの見た目とは、例えば、色味や写真の補正内容に関する見た目である。そのため、ユーザのイメージ通りの高品質なフォトアルバムを制作することができる。