以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
[第1の実施形態]
図1は、情報処理装置からなるフォトアルバム作成/注文システムの構成の一例を示す図である。図1において、情報処理装置1及び2は、例えば、一般的なパーソナルコンピュータまたはサーバー(以下、PCと略す場合がある)で構成される。PC1、PC2は、図2で後述するようなハードウェアで構成され、Operating System(以下、OSと略す場合がある)としてWindows(登録商標)8またはWindows(登録商標) Server 2012と同等のOSがインストールされている。PC1、PC2は、それぞれEthernet(登録商標)で構成されるネットワーク4及び8に接続されている。
フォトアルバム作成アプリケーション80は(以下、アプリケーションと略す場合がある)であり、例えばWindows(登録商標)用の実行可能形式のファイル(*.EXE)で構成される。Webブラウザアプリケーション143(以下、Webブラウザと略す場合がある)は、WWW(WorldWideWeb)を利用する際に用いられるブラウザである。ネットワーク4は、PC1を使用するユーザ(顧客等)が住んでいる自宅に構築された一般家庭用のホームネットワークである。ネットワーク8は、ABC社内に構築されたオフィスネットワークである。
ネットワーク8に接続されているPC2は、Webサーバの機能を備えるWebサーバ9を含み、インターネットを介してABC社のWebサイトを提供している。ショッピングサイト11は、ABC社がユーザ向けにサービスを提供しているショッピングサイトであり、ユーザはショッピングサイト11を利用してフォトアルバムを注文することができる。
図2は、PCのハードウェア構成の一例を表す図である。PC1及びPC2は、図2に示すようなハードウェアを含んで構成されている。図2に示す通り、PC1及びPC2は、ランダムアクセスメモリ部であるRAM201、ハードディスクドライブ部であるHDD202、キーボード部であるKBD203、CPU204を含む。また、PC1及びPC2は、表示用ディスプレイであるLCD205、ネットワークボードであるNB207をさらに含む。また、PC1及びPC2は、少なくとも図2に示す各ブロックを互いに通信可能に接続するバス206を含む。尚、HDD202は、例えば、PC1及びPC2の記憶部である。可搬性CD−ROMまたは内部据付のROM等が記憶部であっても良い。KBD203は、例えば、PC1及びPC2の入力部である。CPU204は、例えば、PC1及びPC2の制御部である。LCD205は、例えば、PC1及びPC2の表示部である。NB207は、例えば、PC1及びPC2の通信制御部である。
アプリケーション80、Webブラウザ143等のアプリケーションや、図3に示す各モジュール(ソフトウェア)は、例えばHDD202に記憶され、必要に応じてRAM201に読み出されてCPU204により実行される。これにより、CPU204が、アプリケーション80、Webブラウザ143等のアプリケーションや、図3に示す各モジュール(ソフトウェア)の機能を実現する。
図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と、IndependentHardwareVendor(IHV)から提供されるIHV製ドライバ群86とを含んで構成される。
モジュール84は、アプリケーション/DDIインタフェースであり、ApplicationProgramingInterface(API)、DeviceDriverInterface(DDI)を含んで構成される。モジュール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の何れかからの選択を受け付けることができる。ボタン403は、タイプKのフォトアルバムの選択を受け付ける為のフォトアルバム選択ボタンである。タイプKのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: 15cm×15cm スクエア
ページ数: 20ページ
用紙の種類: サテン
綴じ方: 2つ折り
カバー: ソフト
ボタン404は、タイプMのフォトアルバムの選択を受け付ける為のフォトアルバム選択ボタンである。タイプMのフォトアルバムは、例えば、次のようなフォトアルバムである。
形状: A4(210mm×297mm) 縦
ページ数: 50ページ
用紙の種類: 光沢
綴じ方: フラット
カバー: ハード
マーク405は、フォトアルバム選択状態表示マークであり、選択されているフォトアルバムに関連付けられているフォトアルバム選択ボタンにマーク405が表示される。図4(a)は、ボタン403が押されてタイプKのフォトアルバムが選択されている状態を示している。ボタン412は、フォトアルバム作成ボタンであり、ユーザによる押下を検出すると、アプリケーション80は、フォトアルバムの作成を開始する。選択部406は、動画像ファイル処理方法選択部であり、動画像から静止画像を抽出する処理方法として、自動、時間、シーン、テーマの何れかからのラジオボタンによる選択を受け付ける。
ボタン407は、自動選択ボタンであり、動画像から静止画像を抽出する処理方法として、後述する図5に示す自動処理を実行する方法が対応しており、ボタン407が押下された場合に実行される。ボタン408は、時間選択ボタンであり、動画像から静止画像を抽出する処理方法として、後述する図8(a)に示すような撮影年月日時刻をもとにした処理を実行する方法が対応しており、ボタン408が押下された場合に実行される。ボタン409は、シーン選択ボタンであり、動画像から静止画像を抽出する処理方法として、後述する図8(b)に示すような色、ヒストグラムをもとにしたシーン判定処理を実行する方法が対応しており、ボタン409が押下された場合に実行される。ボタン410は、テーマ選択ボタンであり、動画像から静止画像を抽出する処理方法として、後述する図8(c)に示すようなオブジェクトをもとにしたテーマ判定処理を実行する方法が対応しており、ボタン410が押下された場合に実行される。
ボタン411はファイル選択ボタンであり、シーン選択ボタン409またはテーマ選択ボタン410が選択されている時に有効である。ユーザによるボタン411の押下を検出すると、ファイル選択画面(不図示)が表示され、ユーザによる静止画像ファイルの選択が可能になる。アプリケーション80は、ファイル選択画面を介してユーザにより選択された静止画像ファイルを、アプリケーション80が使用するRAM201内のワークメモリに一時的に保存する。ユーザによるフォトアルバム作成ボタン412の押下を検出すると、アプリケーション80は、ワークメモリに一時的に保存されている静止画像ファイルに基づいて、前述のシーン判定処理またはテーマ判定処理を実行する。フレーム抽出時間間隔指定部413は、ユーザから、動画像から静止画像を抽出する時間間隔の指定を例えば1秒単位で受付可能である。尚、デフォルト値は例えば1秒で設定されている。
図4(b)において、画面415は、アプリケーション80のプレビュー/編集画面を示す。プレビュー表示部418は、プレビュー表示部であり、アプリケーション80は、作成中のフォトアルバムの見開き2ページ分のプレビューをプレビュー表示部418に表示する。見開きページ選択部416は、ユーザから、プレビュー表示部418に表示する見開きページの選択を受付可能である。ユーザにより選択されている見開きページに見開きページ選択状態表示マーク417が表示される。図4(b)は、7ページと8ページで構成される見開きページが選択されている状態を示している。
購入商品追加ボタン419は、ユーザがフォトアルバムを購入する際に、商品としてショッピングカート(不図示)に追加することができる。ユーザによる購入商品追加ボタン419の押下を検出すると、アプリケーション80がプレビュー表示部418に表示されているフォトアルバムをショッピングカートに追加する。ユーザは、ショッピングカートに追加されたフォトアルバムを、ショッピングカートに関連付けられている図4(c)に示すオンライン注文サイトと、それと連携している決済サイト(不図示)を介して購入することができる。尚、オンライン注文サイト、決済サイト、ショッピングカートに関しては、一般的なオンラインショッピングサイトとそれと連携する決済サイトやショッピングカートと同様なので、その説明を省略する。
図4(c)において、URL設定部421は、ユーザがWebブラウザ143で表示させたいWebサイト(ページ)のURLの指定を受け付ける。また、Webブラウザ143が表示しているWebサイト(ページ)のURLもURL設定部421に表示される。画面422は、Webブラウザ143が表示しているフォトアルバムの注文画面であり、図4(c)は注文番号4649のフォトアルバムを注文する一例を示している。注文情報表示部423は、フォトアルバムの注文に関する情報を表示する。図4(c)は、以下のような例を示している。
注文番号: 4649
フォトアルバムの種類: タイプK
価格: ¥100,000
ユーザは、注文ボタン424を押し、その後に表示される画面に従って氏名、住所、電話番号、配送先等の必要な情報を入力する。そして、決済サイトで決済を完了することで、アプリケーション80で作成されたフォトアルバムを注文して、そのアルバムを購入することができる。
図10は、フォトアルバムの構成の一例を示す図である。図10(a)はタイプKのフォトアルバムの構成の一例を示し、図10(b)はタイプMのフォトアルバムの構成の一例を示す。
図10(a)に示すフォトアルバムは、表紙1001、裏表紙1004、本身の1ページと2ページの見開き2ページ1002、本身の19ページと20ページの見開き2ページ1003を含む。タイプKのフォトアルバムの場合、本身に関しては、1ページ目が先頭ページ、20ページ目が最終ページである。
図10(b)に示すフォトアルバムは、タイプMのフォトアルバムに関し、表紙1011、裏表紙1014、本身の1ページと2ページの見開き2ページ1012、本身の49ページと50ページの見開き2ページの1013を含む。タイプMのフォトアルバムの場合、本身に関しては、1ページ目が先頭ページ、50ページ目が最終ページである。
図11は、レイアウトテンプレート(以下、テンプレートともいう)の一例を示す図である。図11(a)はタイプKのフォトアルバムの時間ベース用のレイアウトテンプレートの一例を示す。図11(b)はタイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの一例を示す。図11(c)はタイプKのフォトアルバムのテーマベース用のレイアウトテンプレートの一例を示す。
図11(a)において、テンプレート1100は、例えば、タイプKのフォトアルバムの時間ベース用のレイアウトテンプレートの、本身の1ページと2ページの見開き2ページのレイアウトテンプレートである。テンプレート1101は本身の1ページのレイアウトテンプレート、テンプレート1102は本身の2ページのレイアウトテンプレートである。スロット1103、1104、1105、1106は本身の1ページに配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。
スロット1103、1104、1105、1106はグループ1の領域に属する。テンプレート1101に付加されているコードK−A−G1−P1はこのテンプレートの属性を表す。KはタイプKのフォトアルバム用であることを表し、Aは時間ベース用であることを表し、G1はグループ1の領域用であることを表し、P1は本身の1ページ用であることを表す。スロット1103、1104、1105、1106に付加されているコードK−A−G1−1、K−A−G1−2、K−A−G1−3、K−A−G1−4は、それぞれ、これらのテンプレートの属性を表す。K−A−G1は前述の説明と同じ内容であるが、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。
スロット1107、1108、1109、1110は本身の2ページに配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。スロット1107、1108、1109、1110はグループ2の領域に属する。テンプレート1102に付加されているコードK−A−G2−P2はこのテンプレートの属性を表す。K−Aは前述の説明と同じ内容であるが、G2はグループ2の領域用であることを表し、P2は本身の2ページ用であることを表す。スロット1107、1108、1109、1110に付加されているコードK−A−G2−1、K−A−G2−2、K−A−G2−3、K−A−G2−4は、それぞれ、これらのスロットの属性を表す。K−A−G2は前述の説明と同じ内容であるが、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。図11(a)は、ページ単位で領域をグループ化し、そのグループ(片側1ページ)内の全てのスロットを同一グループの領域に属するものとした例である。
図11(b)において、テンプレート1120は、例えば、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの、本身の7ページと8ページの見開き2ページのレイアウトテンプレートである。テンプレート1121は本身の7ページのレイアウトテンプレートであり、テンプレート1122は本身の8ページのレイアウトテンプレートである。スロット1124は本身の7ページに配置されているスロットであり、スロット1126は本身の8ページに配置されているスロットであり、スロット1123、1125は本身の7ページと8ページの両方にまたがって配置されているスロットである。アプリケーション80は、静止画像をこれらのスロットに配置する。
スロット1123、1124、1125、1126はグループ4の領域に属する。テンプレート1121に付加されているコードK−B−G4−P7、テンプレート1122に付加されているコードK−B−G4−P8は、それぞれのテンプレートの属性を表す。KはタイプKのフォトアルバム用であることを表し、Bはシーンベース用であることを表し、G4はグループ4の領域用であることを表し、P7は本身の7ページ用、P8は本身の8ページ用であることを表す。スロット1123、1124、1125、1126に付加されているコードK−B−G4−1、K−B−G4−2、K−B−G4−3、K−B−G4−4は、それぞれ、これらのスロットの属性を表す。K−B−G4は前述の説明と同じ内容であるが、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。図11(b)は、見開き2ページ単位で領域をグループ化し、そのグループ(見開き2ページ)内の全てのスロットを同一グループの領域に属するものとした例である。
図11(c)において、テンプレート1140は、例えば、タイプKのフォトアルバムのテーマベース用のレイアウトテンプレートの、本身の5ページと6ページの見開き2ページのレイアウトテンプレートである。テンプレート1141は本身の5ページのレイアウトテンプレートであり、テンプレート1142は本身の6ページのレイアウトテンプレートである。スロット1143、1144、1145、1146、1147は本身の5ページに配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。
スロット1143、1144、1145、1146、1147はグループ5の領域に属する。テンプレート1141に付加されているコードK−C−G5−P5はこのテンプレートの属性を表す。KはタイプKのフォトアルバム用であることを表し、Cはテーマベース用であることを表し、G5はグループ5の領域用であることを表し、P5は本身の5ページ用であることを表す。スロット1143、1144、1145、1146、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、1149、1150、1151は本身の6ページに配置されているスロットであり、アプリケーション80は静止画像をこれらのスロットに配置する。
スロット1148、1149、1150、1151はグループ6の領域に属する。テンプレート1142に付加されているコードK−C−G6−P6はこのテンプレートの属性を表す。K−Cは前述の説明と同じ内容であり、G6はグループ6の領域用であることを表し、P6は本身の6ページ用であることを表す。スロット1148、1149、1150、1151に付加されているコードK−C−G6−1、K−C−G6−2、K−C−G6−3、K−C−G6−4は、それぞれ、これらのスロットの属性を表す。K−C−G6は前述の説明と同じ内容であるが、最後の数字はスロット番号を表す。スロット番号はグループ単位で割り当てられる。図11(c)は、ページ単位で領域をグループ化し、そのグループ(片側1ページ)内の全てのスロットを同一グループの領域に属するものとした例である。
図12は、レイアウトテンプレートとスロット管理を説明するための図である。図12(a)はタイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの一例を示し、図12(b)はスロットの管理方法の一例を示す。図12(a)は、図11(b)に示すレイアウトテンプレートが改良されたテンプレートであり、静止画像と、動画像から抽出した静止画像をそれぞれ適切なスロットに配置する例を示す。
図12(a)において、テンプレート1200は、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートの、本身の15ページと16ページの見開き2ページのレイアウトテンプレートである。テンプレート1201は本身の15ページのレイアウトテンプレート、テンプレート1202は本身の16ページのレイアウトテンプレートである。スロット1205、1206は本身の15ページに配置されているスロットであり、スロット1208、1209は本身の16ページに配置されているスロットである。スロット1203、1204は本身の15ページと16ページの両方にまたがって配置されているスロットである。アプリケーション80は、静止画像をこれらのスロットに配置する。
スロット1203、1204、1205、1206、1207、1208、1209は、グループ8の領域に属する。テンプレート1201に付加されているコードK−B−G8−P15、テンプレート1202に付加されているコードK−B−G8−P16は、それぞれのテンプレートの属性を表す。KはタイプKのフォトアルバム用であることを表し、Bはシーンベース用であることを表し、G8はグループ8の領域用であることを表し、P15は本身の15ページ用、P16は本身の16ページ用であることを表す。
スロット1203、1204、1205、1206、1207、1208、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であるので、このスロットに配置するのに適した画像は、動画像から抽出した静止画像である。スロット番号はグループ単位で割り当てられる。
図12(a)は、見開き2ページ単位で領域をグループ化し、そのグループ(見開き2ページ)内の全てのスロットを同一グループの領域に属するものとした例である。尚、一般的な静止画像用として適しているスロット1203に配置するのに適した一般的な静止画像が存在しない場合には、このスロットに動画像から抽出した静止画像を配置してもよい。また、動画像から抽出した静止画像用として適しているスロット1205に配置するのに適した動画像から抽出した静止画像が存在しない場合には、このスロットに一般的な静止画像を配置してもよい。
また、動画像から抽出した複数の静止画像の中に、例えば少しピンボケしていてフォトアルバムとしてはあまり適切でない静止画像が存在する場合で、仮にその少しピンボケしている静止画像よりも品位の高い一般的な静止画像が存在するケースがある。そのようなケースでも、あえて少しピンボケした静止画像を動画像から抽出した静止画像用として適している属性Dのスロットに、動画像から抽出した連続している静止画像の内の1つとして配置することも有効である。つまり、動画像から抽出した連続している複数の静止画像を、静止画像用として適している属性Dのスロットに一連の静止画像として配置する。それにより、ユーザの煩わしい操作を伴わずに、レイアウトテンプレートの特徴を引き出したダイナミックなフォトアルバムを自動的に作成することができる。また、魅力のあるフォトアルバムを自動生成する機能を備えるフォトアルバム作成アプリケーションを提供することができる。
図12(b)は、タイプKのフォトアルバムのシーンベース用のレイアウトテンプレートを用いた、スロットの管理方法の一例を示す図である。図12(b)は、図12(a)をもとにスロットの管理方法に着目した図である為、説明の都合上、スロット1203以外のスロットに関しては、その記載を省略している。図12(b)において、点Oはフォトアルバムの基準点であり、アプリケーション80は、フォトアルバムの見開き2ページの左上端の角を基準点として、各スロットの位置を定義し、それぞれのスロットに対する画像の配置を管理/制御する。アプリケーション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に示すテーブルのように管理される。
図13は、スロットと静止画像の配置の関係の一例を示す図である。同13(a)と図13(b)はテンプレート1102におけるスロットと静止画像の配置の関係を示す。図13(c)と図13(d)はテンプレート1141におけるスロットと静止画像の配置の関係を示す。図13(e)はテンプレート1200におけるスロットと静止画像の配置の関係を示す。これらの図において、AlbumTypeはフォトアルバムの種類、Groupは領域(グループ)番号、Pageはページ番号、Slotはスロット番号、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(*は任意の数字)は動画像から抽出された静止画像である。
図14は、静止画像のスコアの一例を示す図である。図14において、Fileはファイル名、Elementsはフォトアルバム用の画像としての適切さ(良さ)を定義する要素、Scoreはその各要素の総合的なスコアである。スコアは、Elementの各要素の点から導き出された、テンプレートに配置(レイアウト)される上での総合的な適切さを示す指標である。
Elementsは、Color(色)、Contrast(コントラスト)、Brightness(明るさ)、Focus(ピント)、Composition(構図)の各要素を含む。各要素は0(最低)〜10(最高)のポイントで、フォトアルバム用の画像としての適切さを表す。各要素のポイントは、予め定められた基準により付与されて良い。例えば、静止画像内の輝度値の最大値と最小値の差が所定の各レベルに対応すれば、対応するポイントをコントラスト点として付与しても良い。また、例えば、静止画像内のオブジェクトに基づいた三角構図の評価結果が所定の各レベルに対応すれば、対応するポイントを構図点として付与しても良い。また、例えば、静止画像内の輝度分布の変化の尖鋭度が所定の各レベルに対応すれば、対応するポイントをピント点として付与しても良い。
Originalはオリジナルのスコアであり、Color(色)、Contrast(コントラスト)、Brightness(明るさ)、Focus(ピント)、Composition(構図)のそれぞれのポイントの平均値である。Modifiedはオリジナルのスコアを補正したスコアである。アプリケーション80は、動画像から抽出した静止画像に対して、そのメリットを表す分の重み付けをスコアとして表す為に、例えばオリジナルのスコアに1.2倍を乗算してスコアを増やしている。
メリットとは、例えば、オリジナルのスコア値を大きくすることによって、動画像から抽出した静止画像がテンプレートへのレイアウト対象として特定される可能性を高めることができる。つまり、動画像から抽出した静止画像については、再度の抽出し直しでより良い静止画像を取得することが可能であるので、最終的に完成するテンプレートの品質を向上させることができる。
アプリケーション80は、静止画像を各スロットに配置する際に、オリジナルのスコア(Original)または補正後のスコア(Modified)から高い方のスコアを採用して、テンプレートへのレイアウト対象としてより適切な画像の特定に使用する。尚、前述の例では、動画像から抽出した静止画像のオリジナルのスコアに1.2倍を乗算してそのスコアを増やしている。それにより、動画像から抽出した静止画像のスコアの方が、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアよりも相対的に高くなるように制御している。しかしながら、このような制御方法に限られることなく、例えば、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアに0.8倍を乗算してそのスコアを減らすことでも良い。それにより、動画像から抽出した静止画像のスコアの方が、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアよりも相対的に高くなるように制御することを実現できる。図14の「−」はデータが存在しないことを表す。
図15は、スロットの位置の一例を表す図である。図15において、Slotはスロット番号、ReferencePointはスロットの基準点、Lengthはスロットの幅、Heightはスロットの高さ、Rotationはスロットの回転角度である。図15は、図12(a)に示すレイアウトテンプレート1200のスロット1203〜1209の位置の例を示す。
図17は、静止画像と動画像の関連付けと、静止画像の分類の一例を示す図である。図17(a)は本実施形態における一例を示し、図17(b)は後述する第2の実施形態での一例を示す。これらの図において、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の「−」はデータが存在しないことを表す。
図5は、フォトアルバムを自動作成する処理を示すフローチャートである。図5のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。ユーザにより、図4(a)に示す自動選択ボタン407を選択して、フォトアルバム作成ボタン412が押下されると、アプリケーション80が図5に示すフォローチャートに従ってS501からその処理を実行する。S502において、アプリケーション80は、静止画像ファイルまたは動画像ファイルが格納されているPC1内のフォルダ(不図示)、またはPC1内の静止画像ファイルまたは動画像ファイルを選択して、フォトアルバムを作成する際に必要な画像群の格納先または画像群として指定する。尚、S502において、ユーザに静止画像または動画像が格納されているPC1内のフォルダ、またはPC1内の静止画像ファイルまたは動画像ファイルを選択させてもよい。
S503において、アプリケーション80は、図16(a)に示す、動画像ファイルから静止画像を取得して保存する処理を実行する。S504において、アプリケーション80は、S503で保存した静止画像に対して、その静止画像のもととなった動画像内のフレームの位置情報(フレーム番号)を、その静止画像と関連付けて例えば図17(a)のように保存する。
S505において、アプリケーション80は、フォトアルバムを作成する際に必要な画像群の中の各静止画像に対して、フォトアルバム用の画像としての適切さを示す図4中の各要素について解析を行う。そして、各要素の適切さを示す評価値として、各静止画像に対してスコアを算出し、付与する。ここでスコアが付与される画像は、上記静止画像ファイル内の静止画像と、S503において保存された静止画像である。なお、S505では、静止画像ファイル内の静止画像、動画像ファイルから抽出された静止画像の両方に対して共通の評価基準によりスコアが付与される。S505において、アプリケーション80は、S503で追加した、動画像から抽出した静止画像に対しても、フォトアルバム用の画像としての各要素の適切さに応じてスコアを付与する。
S506において、アプリケーション80は、動画像から抽出した静止画像のスコアを補正する。S506において、アプリケーション80は、動画像から抽出した静止画像に対して、そのメリットを表す分の重み付けをスコアとして表す為に、例えば、オリジナルのスコアに1.2倍を乗算してスコアを増やす。アプリケーション80は、静止画像を各スロットに配置する際に、図14に示すオリジナルのスコア(Original)または補正後のスコア(Modified)から高い方のスコアを採用する。そして、テンプレート内のスロット数分の静止画像を各スロットに対して配置する。
アプリケーション80が、図16(a)に示す処理を実行して動画像から抽出した静止画像に対して図16(b)に示す処理を実行することで、フォトアルバム用の画像としてより適切な静止画像を抽出することができるというメリットがある。従って、アプリケーション80は、動画像から抽出した静止画像のオリジナルのスコアに対して、上記のメリット分の重み付けとして、1.2倍を乗算してスコアを増やしている。
以下、図11(a)に示すレイアウトテンプレート1100を例として、各スロットに画像を配置してフォトアルバムを作成する処理に関して説明する。S507において、アプリケーション80は、レイアウトテンプレート1100を含むタイプKのフォトアルバム用のレイアウトテンプレート内の各スロットに、スコアの高い順に静止画像を配置する。
S508において、アプリケーション80は、動画像から抽出した静止画像がスロットに配置されているか否かを判定する。S509において、アプリケーション80は、動画像から抽出した静止画像がスロットの中の少なくとも何れか1つのスロットに配置されていると判定した場合にはS510へ進む。また、スロットのいずれにも配置されていないと判定した場合にはS512へ進んで図5の処理を終了する。
S507で、動画像から抽出した静止画像を図14のスコアを基に図13(a)に示す通り、スロット1107〜1110にstatic1.jpg、static2.jpg、static3.jpg、dynamic20.jpgを各配置したとする。S510において、アプリケーション80は、スロット1110に配置されたdynamic20.jpgを基に、図16(b)に示す、動画像からテンプレートへのレイアウト対象としてより適切な静止画像を取得して保存する処理を実行する。静止画像dynamic20.jpgに関連付けられている位置情報(フレーム番号)を基に、前後の一定時間の所定範囲内(例えば、前1秒、後1秒の合計2秒)に含まれる全てのフレームを解析してフォトアルバム用としてより適切なフレームを抽出する。
その際、アプリケーション80は、より適切なフレームを抽出する為に、図14に示す各要素を使って、フレームの画像をスコアリングし、オリジナルのスコア(Original)でより高いスコアのフレームを採用する。アプリケーション80は、フォトアルバム用としてより適切なフレームを抽出し、抽出したフレームを静止画像dynamic24.jpgとして保存する。
S511において、アプリケーション80は、スロット1110に配置されている静止画像dynamic20.jpgをスロット1110から外す。そして、S510で保存したフォトアルバム用としてより適切な静止画像dynamic24.jpgをスロット1110に配置して置き換える。その結果、スロット1107、1108、1109、1110に対して、図13(b)に示す画像が配置される。S512において、アプリケーション80は、フォトアルバムを自動作成する処理を終了し、図4(b)に示すプレビュー/編集画面415を表示する。
以上のように、静止画像と動画像の両方を一緒に取り扱い、ユーザの煩わしい操作を伴わずに、自動的により適切な画像を抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。
上記では、S506において、動画像から抽出した静止画像のオリジナルのスコアに1.2倍を乗算してそのスコアを増やしている。そして、動画像から抽出した静止画像のスコアの方が、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアよりも相対的に高くなるように制御することを実現している。しかしながら、このような制御方法に限られることなく、例えば、アプリケーション80が、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアに0.8倍を乗算してそのスコアを減らすようにしても良い。そして、動画像から抽出した静止画像のスコアの方が、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアよりも相対的に高くなるように制御することでもよい。
尚、上記の例では、S506にて、動画像から抽出した静止画像のオリジナルのスコアに1.2倍を乗算してスコアを増やしたり、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像のスコアに0.8倍を乗算してスコアを減らしたりした。しかしながら、これらのような例に限られることなく、例えば、動画像の解像度等をもとにしたクオリティによってそのクオリティが高いと判断した場合はその動画像から抽出した静止画像のオリジナルのスコアに1.5倍を乗算してもよい。その場合には、解像度が基準値以上であれば、クオリティが高いと判定してもよい。また、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像の解像度等をもとにしたクオリティによってクオリティが低い場合はその静止画像のオリジナルのスコアに0.5倍を乗算してもよい。このような構成により、フォトアルバム用の画像としての適切さを示すスコア値を柔軟に制御することができる。
また上記の例では、S505において静止画像に対してスコアを付与した後、S506においてそのスコアを補正していた。しかしこれに限らず、S505において、動画像から抽出された静止画像に高いスコアが付与されるように処理が行われてもよい。例えば、高いスコアが付与されやすい第1の評価基準と、第1の評価基準よりは低いスコアが付与されやすい第2の評価基準とがHDD202に記憶されている。そして、CPU204はS505において、動画像から抽出された静止画像については第1の評価基準によりスコアを付与し、それ以外の静止画像については第2の評価基準によりスコアを付与してもよい。
尚、前述の例では、S511にて、スロット1110に配置されている静止画像dynamic20.jpgをスロット1110から外し、S510で保存したフォトアルバム用としてより適切な静止画像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にそれぞれ配置する。
図16は、動画像から静止画像を取得して保存する処理を示すフローチャートであり、S203における処理の詳細を示す。図16のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図16(a)は動画像から静止画像を取得して保存する処理の一例を示すフローチャート、図16(b)は動画像からより適切な静止画像を取得して保存する処理を示すフローチャートである。
図5のS503において、アプリケーション80が動画像から静止画像を取得して保存する処理を実行すると、アプリケーション80は、図16(a)のS1611からの処理を開始する。S1612において、アプリケーション80は、図5のS502で指定したフォルダに格納されている静止画像または動画像、または図5のS502で指定した画像群から動画像を検索する。
S1613において、アプリケーション80は、検索された動画像から図4のフレーム抽出時間間隔指定部413で指定されている時間間隔で複数のフレームを抽出する。ここでは、フレーム抽出時間間隔指定部413で指定されている時間間隔をデフォルト値の1秒としている。S1614において、アプリケーション80は、抽出した各フレームを静止画像(JPEGファイル)に変換して、これらの静止画像を保存する。なお、このとき静止画像をファイル化する場合に限らず、CPU204が静止画像を例えばビットマップ形式でRAM201に記憶させておいてもよい。この時、図17(a)に示すように、アプリケーション80は、各静止画像に対して、その静止画像を抽出した動画像のファイル名と、その静止画像のもととなっているフレームの位置情報(フレーム番号)を、その静止画像と関連付けて保存する。静止画像を抽出した動画像のファイルの情報は格納先のフルパスを含むが、図17(a)では格納先のフルパスを省略している。
S1615において、アプリケーション80は、フォトアルバムを作成する際に必要な画像群の中にこれらの静止画像を追加する。S1616において、アプリケーション80は、図16(a)の処理を終了し、この処理の呼び出し元へ戻る。
ここで、S507にて、図14に示すスコアを基に、図13(a)に示す通り、スロット1107〜1110に静止画像ファイルstatic1.jpg、static2.jpg、static3.jpg、dynamic20.jpgが各配置されたとする。ここで、図17(a)に示すように、静止画像ファイルdynamic20.jpgは、動画像ファイルvideo1.mp4から抽出されたフレームをもとに保存されたファイルである。尚、video1.mp4はMPEG4形式の動画像ファイルであり、フレームレートは30fps(フレーム/秒)である。
図5のS510で動画像からより適切な静止画像を取得して保存する処理が実行されると、アプリケーション80は、スロット1110に配置された動画像から抽出した静止画像dynamic20.jpgを基に図16(b)の処理をS1621から開始する。図16(b)の処理は、動画像からテンプレートのレイアウト対象としてより適切な静止画像を取得して保存する処理である。S1622において、アプリケーション80は、静止画像dynamic20.jpgに関連付けられている位置情報(フレーム番号)を取得する。S1623において、アプリケーション80は、その位置情報(フレーム番号)をもとに、その前後の一定時間の所定範囲(例えば、前1秒、後1秒の合計2秒)の中に含まれる全てのフレームを抽出する。
S1624において、アプリケーション80は、抽出した全てのフレームを解析して、フォトアルバム用としてより適切なフレームを選択する。その際、アプリケーション80は、より適切なフレームを選択する為に、図14に示す各要素を使って、フレームの画像をスコアリングし、オリジナルのスコア(Original)でより高いスコアのフレームを選択する。例えば、抽出されたフレームの中でオリジナルのスコアが最も高いフレームを選択する。
S1625において、アプリケーション80は、選択したフレームを静止画像(JPEGファイル)に変換して、その静止画像を保存する。ここで、アプリケーション80は、静止画像dynamic20.jpgをもとに、フォトアルバム用としてより適切なフレームを選択し、その選択したフレームを静止画像dynamic24.jpgとして保存する。S1627において、アプリケーション80は、図16(b)の処理を終了し、この処理の呼び出し元へ戻る。
以上で説明した処理によれば、静止画像がテンプレートにレイアウトされるに際し、動画像から抽出された静止画像に高いスコアが付与されやすくなり、当該静止画像がテンプレートに配置されやすくなる。
例えばカメラにより、あるシーンが静止画像として撮影された場合、ユーザがシャッターボタンを押したタイミングで撮影された画像が取得されるため、そのタイミングでピントがあっていなかった場合、画像にボケが発生する。一方、動画像の場合、あるシーンについて多数の画像(静止画像)が撮影されるため、その多数の画像の中にボケが少ない適切な画像が含まれることがある。
以上で説明した処理によれば、動画像から抽出された複数の静止画像に優先的に高いスコアが付与され、さらにその複数の静止画像のうち評価の高い画像がレイアウトされる。そのため、ボケ等の少ない適切な画像をレイアウトすることができる。
[第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からの処理を実行する。S602において、アプリケーション80は、静止画像または動画像が格納されているPC1内のフォルダ(不図示)、またはPC1内の静止画像または動画像を選択して、フォトアルバムを作成する際に必要な画像群の格納先または画像群として指定する。尚、S602において、ユーザに静止画像または動画像が格納されているPC1内のフォルダ、またはPC1内の静止画像または動画像を選択させてもよい。
S603において、アプリケーション80は、図7に示す静止画像の分類処理を実行する。S604において、アプリケーション80は、S603の静止画像の分類処理における分類方法(時間ベース、シーンベース、テーマベース)の各方法に応じて、各方法に該当する図8(a)、図8(b)、図8(c)の処理を実行する。図8(a)、図8(b)、図8(c)に示す処理は、分類に対応した、動画像から静止画像を抽出する処理である。尚、分類方法は、時間ベース、シーンベース、テーマベースの何れか1つを適用するケースの他に、これらのいくつかを組合せて適用するケースも本実施形態に含まれる。
S605において、アプリケーション80は、S603で適用した分類方法をもとに、その分類方法に関連付けられているレイアウトテンプレートを選択する。ここで、S603において、アプリケーション80がテーマベースの分類方法を選択したとする。S605において、アプリケーション80は、テーマベースの分類方法に関連付けられているレイアウトテンプレートを選択する。ここで、アプリケーション80は、図11(c)に示すレイアウトテンプレート1140が含まれたレイアウトテンプレートを選択したとする。
S606において、アプリケーション80は、レイアウトテンプレート内で関連付けられている一連の領域内の各スロットに、互いに関連する静止画像を配置する。その際に、本分類(例えば、テーマ)に分類分けされた静止画像が、一連の領域内の所定のスロット数より多い場合、第1の実施形態で説明したようなスコアリングが行われて、スコアの高い順に所定数のスロットに割り当てるようにしても良い。
S607において、アプリケーション80は、各スロットに配置されている静止画像を確認し、動画像から抽出した静止画像が複数配置されているか否かを判定する。S608において、アプリケーション80は、複数配置されていると判定された場合にはS609へ進み、複数配置されていないと判定された場合にはS615へ進んで図6の処理を終了する。
ここで、図13(c)に示す通り、スロット1143〜1147に静止画像ファイルstatic14.jpg、static28.jpg、dynamic44.jpg、dynamic45.jpg、dynamic46.jpgが各配置されたとする。S609において、アプリケーション80は、複数配置されている動画像から抽出した静止画像の中に同一場面のものが含まれているか否かを判定する。S610において、アプリケーション80は、同一場面のものが含まれていると判定された場合にはS611へ進み、同一場面のものが含まれていないと判定された場合にはS615へ進んで図6の処理を終了する。
S611において、アプリケーション80は、動画像から抽出した静止画像の中から、場面が異なる他の静止画像の有無を判定する。S612において、場面が異なる他の静止画像が有ると判定された場合にはS613へ進み、場面が異なる他の静止画像が無いと判定された場合にはS614へ進む。
S613において、アプリケーション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が各配置される。
S614において、アプリケーション80は、スロットに配置されている動画像から抽出した静止画像の中の同一場面の静止画像の一方を、動画像から抽出した静止画像ではない、同一分類の静止画像と置き換えて、そのスロットに配置する。このときに、図14に示すスコア値が大きくなるように、置き換えを行っても良い。若しくは、図14に示す各要素のいずれかのポイントが大きくなるように、置き換えを行っても良い。その結果、最終的に完成されるテンプレートの品質を向上させることができる。S615において、アプリケーション80は、図6のフォトアルバムを自動作成する処理を終了し、図4(b)に示すプレビュー/編集画面415を表示する。
図7は、静止画像の分類処理を示すフローチャートである。図7のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図6のS603において、アプリケーション80が静止画像の分類処理を実行すると、アプリケーション80は、図7のS701から静止画像の分類処理を開始する。
S702において、アプリケーション80は、ユーザによる動画像ファイル処理方法選択部406の選択状態を取得し、ユーザが選択した動画像から静止画像を抽出する処理方法をもとに、分類方法を判定する。S703において、アプリケーション80は、時間ベースの分類方法であると判定した場合にはS704へ進み、時間ベースの分類方法ではないと判定した場合にはS705へ進む。
S704において、アプリケーション80は、静止画像(JPEGファイル)のExif情報のDateTime情報、静止画像のファイルの作成日、更新日時、アクセス日時等を参照し、それらの情報から得られた撮影年月日時刻をもとに静止画像を分類する。そして、その分類情報と分類結果(グループ)を、対象の静止画像と関連付けて保存する。この時、アプリケーション80は、Exif情報のDateTime情報が存在しない場合、ファイルの作成日、更新日時、アクセス日時等から得られた撮影年月日時刻を、静止画像と関連付けて保存する。
分類の方法としては、例えば、同一日の静止画像をまとめて同じ分類としたり、同一月等の同一の時間情報の静止画像をまとめて同じ分類としたりする方法等がある。例えば、図17(b)のstatic102.jpgの行がこの方法で分類したケースを表す。Info(分類情報)に2013年12月24日20時台(20:00〜20:59)で分類したことを表す情報がstatic102.jpgに関連付けられて格納されている。
S705において、アプリケーション80は、シーンベースの分類方法であると判定した場合にはS706へ進み、シーンベースの分類方法ではないと判定した場合にはS707へ進む。
S706において、アプリケーション80は、静止画像の色情報やヒストグラム等を解析し、その解析結果をもとに静止画像を分類し、その分類情報と分類結果(グループ)を対象の静止画像と関連付けて保存する。この時、アプリケーション80は、色情報やヒストグラムの情報も、静止画像と関連付けて保存する。分類の方法としては、例えば同じような色味の静止画像をまとめて同じ分類としたり、RGBまたはYCrCbのヒストグラムが一致あるいは色度が所定の閾値範囲内の近い静止画像をまとめて同じ分類としたりする方法等がある。例えば、図17(b)のstatic120.jpgの行がこの方法で分類したケースを表す。Info(分類情報)にヒストグラム4(histogram4−*、*は自然数、ヒストグラム4のグループとして判定されるヒストグラム値)で分類したことを表す情報がstatic120.jpgに関連付けられて格納されている。
S707において、アプリケーション80は、テーマベースの分類方法であると判定した場合にはS708へ進み、テーマベースの分類方法ではないと判定した場合にはS709へ進む。
S708において、アプリケーション80は、ユーザがファイル選択ボタン411で選択したファイルに含まれているオブジェクトを解析し、その解析結果を基に静止画像を分類する。そして、その分類情報と分類結果(グループ)を対象の静止画像と関連付けて保存する。この時、アプリケーション80は、オブジェクト情報も、静止画像と関連付けて保存する。ここでオブジェクトの例としては、犬や猫等のペット、花、列車、自動車、バイク、その他、様々なものがある。尚、オブジェクトの例として、人(人物、顔、etc.)も含まれる。例えば、図17(b)のstatic155.jpgの行がこの方法で分類したケースを表す。Info(分類情報)にオブジェクト8(object8−*、*は自然数、オブジェクト8のグループとして判定されるオブジェクトを規定する情報)で分類したことを表す情報がstatic155.jpgに関連付けられて格納されている。
S709において、アプリケーション80は、その他の方法をもとに静止画像を分類し、その結果を対象の静止画像と関連付けて保存する。この時、アプリケーション80は、上記のその他の方法の情報も、静止画像と関連付けて保存する。尚、ユーザが本実施形態のメイン画面401を操作する場合、アプリケーション80がS709の処理を実行しない場合もある。S710において、アプリケーション80は、図7の静止画像の分類処理を終了し、この処理の呼び出し元へ戻る。
図8は、動画像から静止画像の抽出処理を示すフローチャートである。図8のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図8(a)は時間ベースで動画像から静止画像を抽出する処理を示すフローチャートである。また、図8(b)はシーンベースで動画像から静止画像を抽出する処理を示すフローチャートである。また、図8(c)はテーマベースで動画像から静止画像を抽出する処理を示すフローチャートである。
ユーザが、図4(a)に示す時間選択ボタン408を選択して、フォトアルバム作成ボタン412を押下したとする。そのケースにおいて、図6のS604でアプリケーション80が動画像から静止画像の抽出処理を実行すると、アプリケーション80は、図8(a)のS811で動画像から静止画像の抽出処理を開始する。
S812において、アプリケーション80は、S704で静止画像に関連付けられている分類情報と、その静止画像のExif情報のDateTime情報又はその静止画像に関連付けられている撮影年月日時刻を基に、動画像から関連するフレームを抽出する。その際、アプリケーション80は、まず、動画像の撮影年月日時刻を取得し、S704で得られた静止画像に関連付けられている分類情報(例えば、同一日、同一月)を使って、分類が一致する動画像を特定する。そして、特定した動画像にその分類情報を関連付けて、その情報を保存する。次に、アプリケーション80は、同一分類の静止画像から、Exif情報のDateTime情報又はその静止画像に関連付けられている撮影年月日時刻を取得し、同一分類の動画像から、撮影年月日時刻が一致するフレームを抽出する。その際、アプリケーション80は、撮影年月日時刻を基準時刻として、その前後の一定時間の所定範囲(例えば、前3秒、後3秒の合計6秒)の中に含まれる全てのフレームを解析して、フォトアルバム用としてより適切なフレームを抽出する。
ここで、アプリケーション80は、複数のフレームを抽出してもよい。その際、アプリケーション80は、より適切なフレームを抽出する為に、図14に示す各要素を使って、フレームの画像をスコアリングし、オリジナルのスコア(Original)でスコアの高い順にフレームを採用する。フレームの採用数については、例えば、動画像から抽出した静止画像をレイアウト可能なスロット数を、フレームの採用数として決定しても良い。
S813において、アプリケーション80は、S812で抽出されたフレームを静止画像として保存する。なお、S812において、撮影年月日時刻が一致するフレームが存在しない場合、その動画像に対して図16(a)に示す処理を実行して静止画像を抽出する。
S814において、アプリケーション80は、動画像から抽出した静止画像と、分類情報、分類結果、関連ファイルを関連付けて、その情報を保存する。例えば、図17(b)のdynamic301.jpgの行がこのケースを表し、Info(分類情報)に2013年12月24日20時台(20:00〜20:59)で分類したことを表す情報が関連付けて格納されている。また、Group(分類結果)にdateTime1というグループ情報が関連付けて格納されている。また、RelatedFile(関連ファイル)にstatic102.jpgが関連付けて格納されている。S815において、アプリケーション80は、図8(a)の処理を終了し、この処理の呼び出し元へ戻る。
ユーザが、図4(a)に示すシーン選択ボタン409を選択して、フォトアルバム作成ボタン412を押下したとする。そのケースにおいて、図6のS604でアプリケーション80が動画像から静止画像の抽出処理を実行すると、アプリケーション80は、図8(b)のS821で動画像から静止画像の抽出処理を開始する。
S822において、アプリケーション80は、図7のS706で静止画像に関連付けられた色情報やヒストグラム等の分類情報をもとに、動画像から関連するフレームを抽出する。その際、アプリケーション80は、各動画像からフレームを抽出し、そのフレームの色情報やヒストグラム等を解析し、図7のS706で得られた静止画像に関連付けられた分類情報(色やヒストグラム等)と比較する。そして、その結果、両者が一致または類似している場合、動画像にその分類情報を関連付けてその情報を保存する。また、アプリケーション80は、分類情報が一致したフレームにもその分類情報を関連付けて、その情報を保存する。アプリケーション80は、分類情報が一致した全てのフレームを解析して、フォトアルバム用として適切なフレームを抽出する。ここで、アプリケーション80は、複数のフレームを抽出してもよい。適切なフレームの抽出(スコア順及びフレーム採用数)については、図8(a)と同じ基準で行われる。S823において、アプリケーション80は、S822で抽出されたフレームを静止画像として保存する。
S824において、アプリケーション80は、動画像から抽出した静止画像と分類情報、分類結果、関連ファイルを関連付けて、その情報を保存する。例えば、図17(b)のdynamic321.jpgの行がこのケースを表す。Info(分類情報)にヒストグラム4(histogram4−*、*は自然数、ヒストグラム4のグループとして判定されるヒストグラム値)で分類したことを表す情報が関連付けて格納されている。また、Group(分類結果)にhistogram4というグループ情報が関連付けて格納されている。また、RelatedFile(関連ファイル)にstatic120.jpgが関連付けられて格納されている。S825において、アプリケーション80は、図8(b)の処理を終了し、この処理の呼び出し元へ戻る。
ユーザが、図4(a)に示すテーマ選択ボタン410を選択して、フォトアルバム作成ボタン412を押下したとする。そのケースにおいて、図6のS604でアプリケーション80が動画像から静止画像の抽出処理を実行すると、アプリケーション80は、図8(c)のS831で動画像から静止画像の抽出処理を開始する。
S832において、アプリケーション80は、図7のS708で静止画像に関連付けられたオブジェクトの分類情報をもとに、動画像から関連するフレームを抽出する。その際、アプリケーション80は、各動画像からフレームを抽出し、そのフレームの中に含まれているオブジェクトを解析し、図7のS708で得られた静止画像に関連付けられている分類情報(オブジェクト)と比較する。その比較の結果、両者が一致または類似している場合、動画像にその分類情報を関連付けてその情報を保存する。また、アプリケーション80は、分類情報が一致したフレームにもその分類情報を関連付けて、その情報を保存する。アプリケーション80は、分類情報が一致した全てのフレームを解析して、フォトアルバム用として適切なフレームを抽出する。ここで、アプリケーション80は、複数のフレームを抽出してもよい。適切なフレームの抽出(スコア順及びフレーム採用数)については、図8(a)と同じ基準で行われる。
S833において、アプリケーション80は、S832で抽出されたフレームを静止画像として保存する。S834において、アプリケーション80は、動画像から抽出した静止画像と、分類情報、分類結果、関連ファイルを関連付けてその情報を保存する。例えば、図17(b)のdynamic341.jpgの行がこのケースを表す。Info(分類情報)にオブジェクト8(object8−*、*は自然数、オブジェクト8のグループとして判定されるオブジェクトを規定する情報)で分類したことを表す情報が関連付けて格納されている。また、Group(分類結果)にobject8というグループ情報が関連付けて格納されている。また、RelatedFile(関連ファイル)にstatic155.jpgが関連付けて格納されている。S835において、アプリケーション80は、図8(c)の処理を終了し、この処理の呼び出し元へ戻る。
以上のように、分類分けされた静止画像をもとに、動画像から、静止画像と関連する静止画像を自動的に抽出し、これらの静止画像をレイアウト内の一連の領域に配置する。それにより、ユーザの煩わしい操作を伴わずに、関連性のある適切な画像を自動的に動画像から抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。また、1つの動画像から異なる場面の複数の静止画像を抽出して一連の領域に配置することで、ユーザの煩わしい操作を伴わずに、変化に富んだ画像を自動的に抽出してレイアウトを行うフォトアルバム作成アプリケーションを提供することができる。
[第3の実施形態]
図9は、フォトアルバムを自動作成する処理を示すフローチャートである。図9のフローチャートに係るプログラムは、例えば、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。ユーザが、図4(a)に示す時間選択ボタン408、シーン選択ボタン409、テーマ選択ボタン410の何れか1つを選択して、フォトアルバム作成ボタン412を押下する。その押下に応じて、アプリケーション80は、図9に示すフォローチャートに従ってS901から処理を実行する。
S902において、アプリケーション80は、静止画像または動画像が格納されているPC1内のフォルダ(不図示)、またはPC1内の静止画像または動画像を選択して、フォトアルバムを作成する際に必要な画像群の格納先または画像群として指定する。尚、S902において、ユーザに静止画像または動画像が格納されているPC1内のフォルダ、またはPC1内の静止画像または動画像を選択させてもよい。
S903において、アプリケーション80は、第2の実施形態で説明した図7に示す静止画像の分類処理を実行する。ここで、static11.jpgとstatic12.jpgは、デジタルスチルカメラで撮影して保存された写真(静止画像)である。また、static11.jpgに関連付けられている分類情報とstatic12.jpgに関連付けられている分類情報は、一致しているものとする。
S904において、アプリケーション80は、S903の静止画像の分類処理における分類方法(時間ベース、シーンベース、テーマベース)の各方法に応じて、それぞれの方法に該当する図8(a)、図8(b)、図8(c)の処理を実行する。図8(a)、図8(b)、図8(c)の処理は、動画像から静止画像を抽出する処理である。尚、分類方法は、時間ベース、シーンベース、テーマベースの何れか1つを適用するケースの他に、これらのいくつかを組合せて適用するケースも本実施形態に含まれる。ここで、dynamic22.jpg、dynamic43.jpg、dynamic50.jpg、dynamic78.jpg、dynamic85.jpgは、1つの動画像から抽出された静止画像である。また、これらの各静止画像に関連付けられている分類情報は全て一致し、static11.jpgに関連付けられている分類情報と、static12.jpgに関連付けられている分類情報とも一致しているとする。
S905において、アプリケーション80は、S903で適用した分類方法をもとに、その分類方法に関連付けられているレイアウトテンプレートを選択する。ここで、S903において、アプリケーション80がシーンベースの分類方法を選択したとする。S905において、アプリケーション80は、シーンベースの分類方法に関連付けられているレイアウトテンプレートを選択する。
ここで、アプリケーション80は、図12(a)に示すレイアウトテンプレート1200が含まれたレイアウトテンプレートを選択したとする。S906において、アプリケーション80は、レイアウトテンプレート内で関連付けられている一連の領域内の、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像に適した各スロットに、互いに関連する一般的な静止画像を各配置する。ここでは、スロット1203、1204に互いに関連する一般的な静止画像static11.jpg、static12.jpgが各配置される。その際に、分類分けされた静止画像が、一連の領域内の所定のスロット数より多い場合、第1の実施形態で説明したようなスコアリングが行われて、スコアの高い順に所定数のスロットに割り当てるようにしても良い。
S907において、アプリケーション80は、レイアウトテンプレート内で関連付けられている一連の領域内の、動画像から抽出された静止画像に適した各スロットに、互いに関連する動画像から抽出された静止画像をそれぞれ配置する。ここでは、スロット1205〜1209に、互いに関連する動画像から抽出された静止画像dynamic22.jpg、dynamic43.jpg、dynamic50.jpg、dynamic78.jpg、dynamic85.jpgが各配置される。
S908において、アプリケーション80は、図9のフォトアルバムを自動作成する処理を終了し、図4(b)に示すプレビュー/編集画面415を表示する。
以上のように、解像度が高い静止画像を、レイアウトテンプレート内で関連付けられている一連の領域内の、デジタルスチルカメラ等で撮影して保存された写真等の一般的な静止画像に適した大きめのスロット1203、1204に配置する。また、1つの動画像から抽出された静止画像を、一連の領域内の動画像から抽出された静止画像に適した連続した一連のスロット1205〜1209に配置する。その結果、ユーザの煩わしい操作を伴わずに、静止画像の良さと動画像の動きを合わせた臨場感のある画像レイアウトを自動的に行うフォトアルバム作成アプリケーションを提供することができる。
[他の実施形態]
本発明は、上述の実施形態の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(構図)の要素を利用する例を挙げた。しかしながら、これらの例に限られることなく、同様な目的を達成し得る任意の解析方法を利用して本発明を実現することができる。
以上、各実施形態について詳述したが、特定の実施形態に限定されるものではなく、本発明の要旨の範囲内において、種々の変形・変更が可能である。