以下、本発明に係る実施形態について図面を用いて詳細に説明する。
<実施形態1>
本実施形態では、画像処理装置上で、アルバム作成アプリケーション(アプリ)を動作させ、自動レイアウトを生成するまでの手順について説明する。なお、以下の説明において、「画像」とは、特に断りが無い限り、静止画、動画、及び動画中のフレーム画像を含む。また、ここでの画像は、SNS(ソーシャル・ネットワーキング・サービス)などのネットワーク上のサービスや、ネットワーク上のストレージ等、ネットワークに保持され、ネットワーク経由で取得可能な、静止画、動画、及び動画中のフレーム画像をも含む。
図1は、画像処理装置のハードウェアの構成を示すブロック図である。なお、画像処理装置としては、例えば、パーソナルコンピュータ(PC)、スマートフォン等が挙げられ、本実施形態ではPCとする。CPU(中央演算装置/プロセッサー)101は、画像処理装置100を統括的に制御し、例えば、ROM102に記憶されたプログラムをRAM103に読み出して実行することにより、本実施形態の動作を実現する。図1では、CPUは1つであるが、複数のCPUで構成されてもよい。ROM102は、汎用的なROMであり、例えば、CPU101により実行されるプログラムが記憶されている。RAM103は、汎用的なRAMであり、例えば、CPU101によるプログラムの実行時に、各種情報を一時的に記憶するためのワーキングメモリとして用いられる。HDD(ハードディスク)104は、静止画ファイルや動画ファイル、画像解析などの処理結果を保持するデータベースや、アルバム作成アプリケーションにより用いられるテンプレートなどを記憶するための記憶媒体(記憶部)である。
ディスプレイ105は、本実施形態のユーザインタフェース(UI)や画像のレイアウト結果をユーザに表示する。キーボード106及びポインティングデバイス107は、ユーザからの指示操作を受け付ける。ディスプレイ105が、タッチセンサ機能を備えてもよい。キーボード106は、例えば、ユーザが、ディスプレイ105に表示されたUI上に作成したいアルバムの見開き数を入力する際に用いられる。ポインティングデバイス107は、座標指示デバイスであり、例えば、ユーザが、ディスプレイ105に表示されたUI上のボタンをクリックする際に用いられる。
データ通信部108は、有線や無線等のネットワークを介した、又は画像処理装置に直接接続された、外部の装置との通信を行う。データ通信部108は、例えば、自動レイアウト機能によりレイアウトされたデータを画像処理装置100と通信可能なプリンタやサーバに送信する。また、データ通信部108は、画像処理装置100と通信可能なサーバやSNSなどのネットワーク上のストレージから静止画や動画を受信することもできる。データバス109は、上述の各部とCPU101とを接続する。
本実施形態のアルバム作成アプリケーションは、HDD104に保存されており、例えば、ユーザがディスプレイ105に表示されているアプリケーションのアイコンをポインティングデバイス107によりダブルクリックしたことに応じて、起動される。
図2は、アルバム作成アプリケーションのソフトウェアブロック図である。図2は、特に、自動レイアウト機能を実行する自動レイアウト処理部217に関するソフトウェアブロック図を示している。自動レイアウト機能により、撮影された静止画や動画をその内容や属性に基づいて分類又は選択して画像をレイアウトし、ディスプレイ105に表示されるアルバム画像が生成される。なお、CPU101がHDD104に保存されているアルバム作成アプリケーションを実行することにより、CPU101が図2に示す各ブロックとして機能する。
条件指定部201は、例えばポインティングデバイス107による後述のユーザのUI操作等の入力に応じたアルバム作成条件を、自動レイアウト処理部217に出力する。ここで、指定される条件は、例えば、対象の画像や主人公のID、アルバムの見開き数、テンプレート情報、画像補正のON/OFF条件、動画使用のON/OFF条件等を含みうる。画像の指定は、例えば撮影日時など、個別の画像データの付随情報や属性情報によってもよいし、デバイスやディレクトリ(フォルダ)の指定など、画像データを含むファイルシステムの構造に基づいてもよい。なお、「見開き」とは、例えば、表示における1つの表示用ウィンドウに、又は、印刷における、異なるシートに印刷された、互いに隣接する1対のページに、それぞれ相当する。
画像取得部202は、条件指定部201から指定された静止画や動画の画像データ群を、HDD104から、又はデータ通信部108を介してネットワーク上のサーバやSNSから、取得する。なお、静止画像や動画像は、例えば、デジタルカメラやスマートデバイス等の撮像デバイスが撮像によって取得したものである。画像処理装置は、その内部に撮像デバイスを有してもよいし、外部の撮像デバイスから撮像結果を取得するのであってもよい。なお、撮像デバイスが外部装置である場合は、画像データは、データ通信部108を介して取得される。
動画像条件入力部203は、条件指定部201から指定された動画像切り出しのON/OFF条件を画像取得部202に入力する。動画像切り出しのON/OFFは、動画像の種類ごとに指定されてもよいし、全ての種類についてまとめて指定されてもよい。画像取得部202は、動画像切り出しがONの場合に動画像の切り出しを行い、動画像切り出しがOFFの場合には動画像の切り出しを行わない。画像取得部202における動画像切り出しの処理フローについては後述する。なお、本実施形態では、条件指定部201で動画像切り出しの設定が行われ、その設定に従って動画像切り出しの処理の制御が行われるが、これに限定されない。アルバム作成アプリケーションは、例えば、動画切り出しの設定を行わずに、条件指定部201で指定された画像群に動画像が含まれる場合に動画像切り出しの処理を実行し、動画像が含まれない場合は動画像切り出しの処理を実行しないようにしてもよい。
画像変換部204は、以降の処理に用いる画像データを所望の画素数や色情報に変換する。本実施形態では、画像変換部204は、画像データを、短辺420画素の画素数とsRGBの色情報の解析画像データ(以下では「解析画像」と呼ぶ。)へ変換するものとする。画像解析部205は、解析画像から、後述の、特徴量の取得、顔検出、表情認識、個人認識の各処理を実行する。また、画像解析部205は、HDD104から又はデータ通信部108を介してネットワークから取得した画像データに付随したデータの取得、例えばExif情報からの撮影日時の情報の取得も実行する。
画像分類部206は、画像データ群に対して撮影日時情報や撮影枚数、検出した顔情報等を用いて、後述のシーン分割やシーン分類を実行する。シーンとは、旅行や日常、結婚式等の撮影シーンである。1つのシーンに対応する画像データは、例えば、1つの撮影対象について一時期の撮影機会に撮影された画像の集まりとして捉えられる。画像得点部208は、各画像データに対してレイアウトに適した画像が高得点になるような得点付けを行う。後述するが、画像得点部208は、画像解析部205からの情報と、画像分類部206からの情報を用いて得点付けを行う。なお、画像得点部208は、画像解析部205からの情報と、画像分類部206からの情報以外の情報を、付加的に、又は代替的に用いて、得点付けを行ってもよい。主人公情報入力部207は、条件指定部201から指示された主人公のID(識別情報)を画像得点部208に入力する。画像得点部208は、主人公情報入力部207から入力された主人公IDが含まれる画像データについて、より高い得点を付加するように構成されうる。
見開き割当部210は、画像データ群を分割(グルーピング)してアルバムの各見開きに割り当てる。見開き数入力部209は、条件指定部201から指定されたアルバムの見開き数を見開き割当部210に入力する。アルバムの見開き数は、複数の画像が配置される複数のテンプレートの数に相当する。見開き割当部210は、入力された見開き数に応じて画像データ群を分割し、各見開きに画像データ群の一部(分割分)を割り当てる。画像選択部211は、見開き割当部210で各見開きに割り当てられた画像データ群の一部から、画像得点部208で付された得点に基づいて画像を選択する。
画像レイアウト部213は、画像データのレイアウトを決定する。テンプレート入力部212は、条件指定部201から指定されたテンプレート情報に応じた複数のテンプレートを画像レイアウト部213に入力する。画像レイアウト部213は、画像選択部211で選択された画像データに適したテンプレートを、テンプレート入力部212から入力された複数のテンプレートから選択し、画像データのレイアウトを決定する。レイアウト情報出力部216は、画像レイアウト部213が決定した画像データのレイアウトに従って、ディスプレイ105に表示するためのレイアウト情報を出力する。レイアウト情報は、例えば、選択されたテンプレートに画像選択部211により選択された画像データをレイアウトしたビットマップデータである。
画像補正部215は、輝度補正、赤目補正、コントラスト補正等を実行する。補正条件入力部214は、条件指定部201から指定された画像補正のON/OFF条件を画像補正部215に入力する。画像補正のON/OFFは、補正の種類ごとに指定されてもよいし、全ての種類についてまとめて指定されてもよい。画像補正部215は、画像補正条件がONの場合、画像データに対して補正を実行し、画像補正条件がOFFの場合、補正を実行しない。なお、画像補正部215は、画像変換部204から入力された画像データに対して補正のON/OFFに従って、補正を実行する。画像変換部204から画像補正部215に入力される画像データの画素数は、画像レイアウト部213で決定したレイアウトのサイズに合わせて変更可能である。レイアウト情報出力部216から出力される画像データは、例えば図3に示すような形式でディスプレイ105に表示される。
アルバム作成アプリケーションが画像処理装置100にインストールされると、画像処理装置100上で動作するOS(オペレーティングシステム)のトップ画面(デスクトップ)上に、その起動アイコンが表示される。ユーザがディスプレイ105に表示されている起動アイコンをポインティングデバイス107でダブルクリックすると、HDD104に保存されているアルバム作成アプリケーションのプログラムがRAM103にロードされる。RAM103のプログラムがCPU101により実行されると、アルバム作成アプリケーションが起動する。なお、画像処理装置100は、プログラムがROM102に記憶されるように構成されてもよい。
図3は、アルバム作成アプリケーションが提供する表示画面301の一例を示す図である。表示画面301は、ディスプレイ105に表示される。ユーザは表示画面301を介して後述するアルバムの作成条件を設定し、条件指定部201は、ユーザからの設定内容を取得する。
表示画面301上のパスボックス302は、アルバム作成の対象となる画像データ群のHDD104中の保存場所(パス)を表示する。フォルダ選択ボタン303は、ユーザからのポインティングデバイス107でのクリック操作により、アルバム作成の対象とする画像データ群を含むフォルダをツリー構成でユーザ選択可能に表示する。ユーザにより選択された、画像データ群を含むフォルダパスが、パスボックス302に表示される。なお、ユーザは、キーボード106を介して、アルバム作成の対象となる画像データ群を含むフォルダへのフォルダパスを、パスボックス302に直接入力してもよい。
主人公指定アイコン304は、解析対象の画像(例えば写真)に写った人物から中心人物として特定されるべき主人公が特定されるアイコンであり、人物の顔画像がアイコンとして表示される。主人公指定アイコン304には、例えば顔データベースに登録された人物の顔画像のうち、ユーザによって手動選択された、又は後述の手順で自動設定された、人物の顔画像が表示される。主人公指定アイコン304には、複数の異なる顔画像のアイコンが並んで表示されてもよい。なお、顔画像のアイコンは、それぞれ、例えば事前に画像から検出され、それぞれ個人IDと関連付けられて、顔データベースに登録される。ユーザは、例えば、ポインティングデバイス107により主人公指定アイコン304をクリックすることにより、顔データベースに格納されている顔画像を表示させ、その表示された顔画像のうちの1つ以上を選択することにより、手動で主人公を選択しうる。なお、主人公指定アイコン304には、図4に示す後述の方法で特定された人物の顔画像が表示されてもよい。
見開き数ボックス305は、ユーザからのアルバムの見開き数の設定を受け付ける。ユーザは、キーボード106を介して見開き数ボックス305に直接数字を入力するか、ポインティングデバイス107を用いてリストから見開き数ボックス305に数字を入力することができる。テンプレート指定アイコン306は、テンプレートのテイスト(ポップ調やシック調等)別にイラスト画像を表示する。テンプレート指定アイコン306には、複数のテンプレートアイコンが並んで表示され、ユーザがポインティングデバイス107によりクリックして選択可能である。画像補正チェックボックス307は、ユーザからの画像補正のON/OFFの指定を受け付ける。チェックが入った状態は画像補正ONが指定された状態であり、チェックが入っていない状態は画像補正OFFが指定された状態である。図3の例では、1つ以上の種類の補正の全てについて、まとめてONまたはOFFが指定される。なお、1つ以上の種類の補正について、個別に又は一定の単位ごとにON又はOFFが指定されてもよい。
動画像切り出しチェックボックス308は、ユーザからの動画像切り出しのON/OFFの指定を受け付ける。チェックが入った状態は動画像の切り出しONが指定された状態であり、チェックが入っていない状態は動画像の切り出しOFFが指定された状態である。動画像から画像が切り出された場合、その切り出された画像はレイアウトの画像の候補となる。図3の例では、動画像の全てについて、まとめてONまたはOFFが指定される。なお、個別の動画像ごとに又は一部の動画群の単位ごとに、切り出しのON又はOFFが指定されてもよい。
ユーザによりOKボタン309が押下されると、条件指定部201は、表示画面301上で設定されている内容を取得する。条件指定部201は、取得した設定内容を、アルバム作成アプリケーションの自動レイアウト処理部217に出力する。その際、パスボックス302に入力されているパスは、画像取得部202に伝えられる。主人公指定アイコン304で選択されている主人公の個人IDは、主人公情報入力部207に伝えられる。見開き数ボックス305に入力されている見開き数は、見開き数入力部209に伝えられる。テンプレート指定アイコン306で選択されているテンプレート情報は、テンプレート入力部212に伝えられる。画像補正チェックボックス307の画像補正のON/OFF指定は、補正条件入力部214に伝えられる。動画像切り出しチェックボックス308の動画像切り出しのON/OFF指定は、動画像条件入力部203に伝えられる。表示画面301上のリセットボタン310は、表示画面301上の各設定情報をリセットするためのボタンである。
表示画面301には、アルバム作成の対象となる画像データ群を含むサーバ名やSNS名を表示する、不図示のサーバ名ボックスが含まれてもよい。この場合、例えば、何らかの選択ボタンがユーザからのポインティングデバイス107でクリック操作されることにより、アルバム作成の対象となる画像データ群を保持するサーバ名やSNS名を、ツリー構成によりユーザが選択可能な状態で表示する。そして、ユーザにより選択された、画像データ群を保持するサーバ名やSNS名が、サーバ名ボックスに表示される。なお、ユーザは、キーボード106を介して、アルバム作成の対象となる画像データ群を保持するサーバ名やSNS名を、サーバ名ボックスに直接入力してもよい。なお、サーバ名ボックスにサーバ名やSNS名が入った状態で、OKボタン309が押下されると、指定されたサーバやSNSへのログイン画面が表示されうる。アルバム作成アプリケーションは、ユーザによる表示されたログイン画面への操作を受け付けて、ログインが成功した後に、指定されたサーバやSNSから画像を取得することが可能となる。
続いて、図4を用いて、アルバム作成アプリケーションの画像取得部202における動画像切り出しの処理について説明する。
S401において、画像取得部202は、条件指定部201において指定された画像群からファイルを取得する。S402では、画像取得部202は、S401で取得したファイルが動画像であるか否かを判定し、動画像であると判定した場合(S402でYES)は処理をS403に移し、動画像でないと判定した場合(S402でNO)は、処理をS412に移す。S403では、画像取得部202は、動画像切り出しがONと指定されているか否かを判定する。なお、動画像ファイルの拡張子をリスト化して予めHDD104に保持しておき、画像取得部202は、S401で取得されたファイルに対してリストに含まれるか否かによって、動画像であるか否かの判定を行ってもよい。そして、画像取得部202は、動画像切り出しがONと設定されている場合(S403でYES)は、処理をS404に移し、ONと設定されていない場合(S403でNO)は、処理をS412に移す。
S404では、画像取得部202は、動画像に関連付けられた日時の情報を取得する。ここで、画像取得部202は、動画像ファイルに複数の日時情報が付加されている場合は、最も古い日時の情報を取得する。例えば、ファイルの作成日時と更新日時との情報がそれぞれ設定されており、更新日時の方が作成日時よりも古い場合は、画像取得部202は、更新日時の情報を動画像に関連付けられた日時情報として取得する。
その後、画像取得部202は、S405において動画像ファイルに付加されている情報から、動画像の時間の長さを取得し、S406において動画像から静止画像を切り出す枚数を取得する。静止画像が切り出される枚数は、本実施形態では内部で予め固定値が設定されているものとするが、動的に算出されてもよいし、外部からの入力を受け付けることによって設定されてもよく、さらに他の手法で特定されてもよい。
S407では、画像取得部202は、S405で取得された動画像の長さと、S406で取得された静止画像の切り出し枚数とを用いて、静止画像を切り出すタイミングを算出する。画像取得部202は、例えば、時間軸において等間隔となるように、静止画像の切り出しタイミングを算出しうる。例えば、10分間の動画に対して、静止画像の切り出し枚数が10枚と設定されている場合、適切に設定された最先の切り出しタイミングの後に1分ごとに画像が切り出されるように、切り出しタイミングが算出されうる。なお、最先の切り出しタイミングと最後の切り出しタイミングとが併せて決定されうる。この場合、簡単な計算によって、高速に切り出しタイミングが特定されうる。なお、画像取得部202は、動画像を解析することにより、静止画像の切り出しタイミングを算出してもよい。この場合、画像取得部202は、同じシーン(又は変化に乏しいシーン)から複数切り出さないように制御すること、または、より適切なコンテンツの切り出しが行われるように制御することが可能となる。
S408では、画像取得部202は、S407で算出した静止画像を切り出すタイミングを用いて、動画像から静止画像の切り出しを行い、HDD104に保存する。また、画像取得部202は、切り出された画像に対して、切り出し元の動画像に付加されている幅、高さ、位置情報等の情報を付加する。S409では、画像取得部202は、S404で取得した動画像の日時とS407で算出した静止画像の切り出しタイミングとから、切り出した静止画像に関連付けるべき日時を算出し、S408で切り出した静止画像に対して、その日時を付与する。S410では、画像取得部202は、S409で日時を付与した静止画像に対して、ファイル属性を1として設定する。なお、ファイル属性は、上述のように「1」などの数値で設定されてもよいが、動画像からの切り出し画像であることを識別可能な情報であれば、数値でない情報によって設定されてもよい。
S411では、画像取得部202は、S406で取得した静止画像の切り出し枚数分だけ切り出しが終了したかを判定する。そして、処理は、切り出しが終了した場合(S411でYES)にはS412に進み、切り出しが終了していない場合(S411でNO)にはS408に戻る。画像取得部202は、取得した切り出し枚数分の静止画像の切り出しが終了するまで、S408からS410の処理を繰り返し実行する。その後、画像取得部202は、S412において、条件指定部201において指定された動画像の全てに対して、S401からS411までの処理が終了したか否かを判定する。画像取得部202は、指定された動画像の全てに対して処理が終了している場合(S412でYES)に図4の処理を終了し、指定された動画像の全てに対して処理が終了していない場合(S412でNO)は処理をS401に戻す。以上のようにして、指定された動画像の全てに対して処理が終了するまでS401からS411の処理が繰り返し実行される。
続いて、図5を用いて、アルバム作成アプリケーションの自動レイアウト処理部217において実行される処理の流れについて説明する。図5に示す処理は、例えば、CPU101がHDD104に格納されたプログラムをROM102やRAM103に読み出して実行することにより実現される。
S501では、自動レイアウト処理部217は、シーン解析除外設定処理を行う。シーン解析除外設定がなされた画像は、後述する画像のシーン分割処理の対象外となる。例えば動画像から切り出された静止画像は撮影日時の信頼度が低いことがあるため、シーン解析除外設定が行われることで、本来のシーンとは異なるシーンでシーン分割が行われてしまうことを防ぐことができる。本処理の詳細について図6を用いて説明する。
自動レイアウト処理部217は、S601において、画像取得部202による動画像からの静止画像の切り出し処理において図4のS410で設定されたファイル属性を取得する。そして、自動レイアウト処理部217は、S602において、ファイル属性が1であるか、すなわち、動画像から切り出された画像であるかを判定する。そして、自動レイアウト処理部217は、動画像からの切り出し画像であると判定した場合(S602でYES)は、S603で、その画像に対してシーン解析除外設定を行う。一方で、自動レイアウト処理部217は、動画像からの切り出し画像でないと判定した場合(S602でNO)は、S604で、シーン解析対象画像数である変数sNumに、1を加算する。S603でシーン解析除外設定をされた画像は、後述のS508のシーン分割およびS509のシーン分類において使用される、シーン解析対象の画像群から除外される。
S502では、画像変換部204が、着目画像の解析画像を生成する。すなわち、画像変換部204は、条件指定部201で指定された画像群の(画像取得部202における動画像切り出しによって動画像から切り出された画像を含む)各画像を、所望の画素数と色情報とを有する画像に変換する。本実施形態では、着目画像は、短辺420画素の画素数とsRGBの色情報とを有する解析画像に変換される。
S503では、画像解析部205は、着目画像の画像特徴量を取得する。画像解析部205は、着目画像に付随する、例えばExif情報から撮影日時を取得する。また、画像解析部205は、着目画像が撮影された位置に関する位置情報を取得してもよい。さらに、画像解析部205は、着目画像が撮影された際に用いられた撮影デバイスに関する情報を取得してもよい。なお、画像解析部205は、動画像から切り出された画像については、画像取得部202が動画像切り出し処理において付与した日時を、撮影日時として取得する。また、画像解析部205は、Exif情報や画像取得時に付した識別情報から、画像の画素数を取得する。画像解析部205は、着目画像を変換して得られた解析画像から特徴量を取得する。特徴量は、例えば、ピントでありうる。
例えば、エッジの検出方法として一般的に知られているソーベルフィルタでエッジ検出を行い、エッジの始点と終点の輝度差を、始点と終点の距離で割ることにより、エッジの傾き、すなわち輝度勾配を算出することができる。そして、対象画像中のエッジの平均傾きを算出した結果から、平均傾きが大きい画像は、平均傾きが小さい画像よりもピントが合っているとみなすことができる。したがって、この平均傾きの値を、特徴量として用いることができる。ここで、平均傾きに対して異なる複数の閾値を設定し、算出した平均傾きがどの閾値以上であるかを判定することにより、ピント量の評価値を出力することもできる。本実施形態では、異なる2つの閾値(第1の閾値及び第2の閾値。なお、第1の閾値>第2の閾値とする。)を予め設定しておき、○△×の3段階により、ピント量を判定する。例えば、ピント量は、算出した平均傾きが第1の閾値以上の場合は良好(○)、第1の閾値より小さく第2の閾値以上の場合は許容可能(△)、第2の閾値より小さい場合は許容不能(×)と判定されうる。そして、アルバムに採用したいピントの傾きを○、許容可能なピントの傾きを△、許容不能な傾きを×とし、各閾値を予め設定しておく。閾値は、例えば、アルバム作成アプリケーションの作成元等により(例えば実験結果などの結果に応じた値として)提供されてもよいし、ユーザインタフェースを介して設定されてもよい。なお、○△×に対してそれぞれ異なる数値をピント量として設定してもよい。
S504では、画像解析部205は、解析画像に対して、顔検出を実行する。ここで、顔検出の処理には、公知の方法を用いることができ、例えば、複数用意した弱識別器から強識別器を作成するAdaboostを用いることができる。本実施形態では、Adaboostにより作成した強識別器により人物(オブジェクト)の顔の領域が検出対象画像から検出される。画像解析部205は、顔画像を抽出するとともに、検出した顔の領域の位置の左上座標値と右下座標値とを取得する。この2種の座標を持つことにより、画像解析部205は、顔の領域の位置とサイズとを取得することができる。ここで、顔に限らず、犬や猫等の動物、花、食べ物、建物、置物等のオブジェクトを、顔の代わりの検出対象としてAdaboostによる強識別器を作成してもよい。これにより、画像解析部205は、顔画像以外のオブジェクトを検出することができる。
S505では、画像解析部205は、S504で検出した顔画像と、顔辞書データベースに個人IDごとに保存されている代表顔画像との類似性を比較することにより、個人認識を行う。画像解析部205は、類似性が閾値以上で類似性が最も高いIDを、検出した顔画像のIDとする。なお、類似性が閾値未満の場合、画像解析部205は、抽出した顔画像を新規の顔として新規の個人IDとして顔辞書データベースに登録する。
画像解析部205は、図7に示すように、S503〜S505で取得した画像解析情報700を、各画像を識別するID701ごとに区別して、RAM103等の記憶領域に記憶する。例えば、図7に示すように、S503で取得された撮影日時情報702とピント判別結果703、S504で検出された顔(領域)の数704と位置情報705とがテーブル形式で記憶される。なお、顔画像の位置情報は、S505で取得された個人IDごとに区別して記憶される。
S506では、条件指定部201で指定されたHDD104の画像データ群の全画像データに対してS501〜S505の処理が終了したか否かが判定される。ここで、終了していないと判定された場合(S506でYES)、S501からの処理が繰り返され、終了していると判定された場合(S506でNO)、処理はS507に進む。
S507では、シーン解析画像追加処理が実行される。本処理の詳細について、図8を用いて説明する。
S801において、シーン解析対象画像数が、条件指定部201で指定された見開き数分だけレイアウトを作成するのに必要な数に足りているか否かが判定される。ここで、シーン解析対象画像数は、S501のシーン解析除外設定処理において取得されたsNumに対応する。シーン解析対象画像数が必要数に達していない場合(S801でNO)、処理はS802に進み、シーン解析対象画像数が必要数に達している場合(S801でYES)、図8の処理は終了して後述のS508の処理へと移行する。S802では、条件指定部201で指定されたHDD104の画像群から画像データが取得され、その後、S803において、取得された画像データが、図6のS603においてシーン解析除外設定されたものであるかが判定される。取得された画像データがシーン解析除外設定されていた場合(S803でYES)は、続いて、S804において、その画像データがシーン解析に使用する画像として追加可能な画像であるかが判定される。そして、取得された画像データが、シーン解析に使用する画像として追加可能な画像である場合(S804でYES)は、処理はS805に進む。一方、取得された画像データが、シーン解析除外設定されていない場合(S803でNO)、又はシーン解析に使用する画像として追加可能な画像でない場合(S804でNO)は、処理はS802に戻り、次のファイルが取得される。
シーン解析に使用する画像として追加可能であるか否かの判定では、その基準として、日時情報が使用される。例えば、条件指定部201で指定された画像群に含まれる切り出し画像でない静止画像の全てについてのS503において取得された日時情報から、静止画像の撮影期間が特定される。そして、動画像からの切り出し画像に関連付けられた日時がその撮影期間内である場合に、その切り出し画像がシーン解析に使用する画像として追加可能な画像であると判定される。このとき、切り出し画像に関連付けられた日時が、静止画像の撮影期間外である場合であっても、その撮影期間との日時の差分が閾値を超えない場合には、その切り出し画像がシーン解析に使用する画像として追加可能な画像であると判定されうる。なお、上述のように日時情報を基準とした判定ではなく、例えば、動画像からの切り出し画像に付加された位置情報を基準とした判定など、他の基準による判定が行われてもよい。例えば、条件指定部201で指定された画像群に含まれる切り出し画像でない静止画像の全てについてS503で取得された、その静止画像の位置情報と、動画像からの切り出し画像に関連付けられた位置情報との距離が、所定値を超えるか否かが判定されうる。この場合、位置情報間の距離が所定値を超えない場合に、対応する切り出し画像がシーン解析に使用する画像として追加可能な画像であると判定されうる。また、撮影に用いられたデバイス情報が、シーン解析に使用する画像として追加可能であるか否かの判定に用いられてもよい。例えば、条件指定部201で指定された画像群に含まれる切り出し画像でない静止画像の撮像に用いられたデバイスと、同一のデバイスで撮影された動画像から切り出された画像は、シーン解析に使用する画像として追加可能な画像であると判定されうる。
S805では、S804においてシーン解析に使用する画像として追加可能な画像であると判定された切り出し画像に対して、シーン解析除外設定が解除される。これにより、その切り出し画像が、後述のS508のシーン分割とS509のシーン分類において使用されるシーン解析対象画像群に追加される。S806では、シーン解析対象画像数(sNum)を1だけ増加させる。そして、シーン解析対象画像数(sNum)が、必要数に達するまで(S801でNOとなるまで)、S802からS806の処理が繰り返し実行される。
図5に戻り、S508では、画像分類部206は、シーン解析除外設定がなされており、かつ、解除されていない画像がシーン解析対象画像群から除かれた状態で、シーン分割を実行する。画像分類部206は、S503で取得済みでありシーン解析除外設定対象の画像判定に使用された撮影日時情報から算出した、画像と画像との間の時間差に基づいて、画像データ群を複数のシーンに分割する。本実施形態では、例えば、以下の基準に従ってシーン分割が行われる。
1.画像データ間に撮影していない日が存在する場合は分割する。
2.画像データ間で、撮影日が連続しているが、その時間差が16時間以上空いている場合は分割する。
3.画像データ間で、撮影日が連続しており、かつその時間差が16時間未満の場合は、連続する各日の最初の撮影から最後の撮影までの時間差が4時間未満であれば分割する。
4.画像データ間で、撮影日が連続しており、その時間差が16時間未満であり、かつ連続する各日の最初の撮影から最後の撮影までの時間差が4時間以上である場合は、連続する各日の撮影枚数が50枚未満である場合に分割する。
5.上記以外の場合には分割しない。
画像分類部206は、例えば、画像データ群のうち、最も撮影日時が古い画像に最初に着目し、その次に古い画像との時間差を参照する。そして、画像分類部206は、着目画像を順次撮影日時が新しいものに置き換えながら同様の手法で時間差を参照して、上述の条件のいずれかに該当するか判定を行う。画像分類部206は、画像データ群の新しい方の画像から古い方の画像への順に上述の時間差の参照および分割判定を行ってもよい。なお、ここでの「分割」は、着目した2つの画像間を境界として、撮影日時の新しい方と古い方とに画像データ群を分割(グルーピング)することを指す。なお、分割は、他の基準により行われてもよい。画像分類部206は、例えば、撮影地が画像の付随情報に含まれている場合に、時間的には上記の分割の条件に合致しなくても、撮影地が所定距離以上離れていることを条件に、それぞれ異なる撮影地について画像データを分割してもよい。図9(A)は、上記のシーン分割方法で画像データ群がシーン分割された結果の一例を示す図である。
S509では、画像分類部206は、S508と同様にシーン解析除外設定がなされており、かつ、解除されていない画像がシーン解析対象画像群から除かれた状態で、画像分類部206がシーン分類を実行する。本実施形態では、画像分類部206は、例えば、シーン分割された分割画像群の画像データを、旅行、日常、セレモニーのいずれかのシーンに分類する。ここで、図5の自動レイアウト処理部が開始される前に、ユーザが、予め、旅行、日常、セレモニーのシーンであると判断した複数の画像データをそれぞれ集めて指定しうる。そして、画像分類部206は、それらの複数の画像データの一部又は全部からなる画像データ群について、特徴量を取得する。ここで取得される特徴量は、例えば、撮影期間、撮影枚数、及び撮影人数を含む。撮影期間は、画像データ群の最初の撮影から最後の撮影までの時間差である。撮影枚数は、画像データ群に含まれた画像の撮影枚数である。撮影人数は、各画像データに含まれる顔の数である。そして、シーンごとに集められた複数の画像データ群に対して、撮影期間の平均値と標準偏差、撮影枚数の平均値と標準偏差、及び1画像あたりの人数の平均値と標準偏差が特定される。図10は、特定された各平均値と標準偏差を示すテーブル1000の例である。アルバム作成アプリケーションのプログラムには、図10に示すようなテーブル1000が予め組み込まれうる。テーブル1000では、シーンID1001に対応付けて、撮影期間1002、撮影枚数1003、及び撮影人数1004について、それぞれの平均値と標準偏差とが登録される。
S509では、アルバム作成アプリケーションが起動された後、パスボックス302等で指定された画像データ群がS508でシーン分割された結果の各分割画像群に対して、撮影期間、撮影枚数、及び撮影人数の平均値が算出される。そして、画像分類部206は、各分割群についての撮影期間、撮影枚数、撮影人数の特徴量について、図10のシーンごとの平均値と標準偏差とを用いて以下の式(1)及び(2)により得点化を行う。
得点 = 50−|10×(平均値−特徴量)/標準偏差| ・・・(1)
平均得点 = (撮影期間の得点+撮影枚数の得点+撮影人数の得点)/特徴量項目数 ・・・(2)
ここで、式(1)は、撮影期間、撮影枚数、及び撮影人数のそれぞれについて計算され、式(2)は、式(1)の計算結果から計算される。なお、これらの計算は、シーンごとに行われ、1つの分割画像群について、全シーンに対応する平均得点が算出される。このとき、式(1)で用いられる平均値および標準偏差は、テーブル1000に登録された値が用いられ、特徴量は、分割画像群ごとの撮影期間、撮影枚数、及び撮影人数のそれぞれの値が用いられる。また、特徴量項目数は本例では3となる。
以上の算出の結果、各分割画像群に対して、旅行、日常、セレモニーのシーンごとの平均得点が算出される。そして、画像分類部206は、各分割群の画像データを、上記のうち最高得点に対応するシーンに分類する。ここで、複数のシーンについて得点が同点となった場合には、予め定められたシーンの優先順位に従って分類する。例えば、本実施形態では、日常>セレモニー>旅行の優先順位が定められており、日常シーンの優先度が最も高いものとする。例えば、図9(A)のシーン分割された後の分割画像群5は、撮影期間が36時間、撮影枚数が300枚、撮影人数が1.7人であったとする。この場合、上記の式(1)及び(2)により算出された旅行シーンの平均得点は45.32、日常シーンの平均得点は18.38、セレモニーシーンの平均得点は−29.92となる。従って、分割画像群5は、旅行シーンに分類される。画像分類部206は、分類されたシーンに対して、識別可能なようにシーンIDを付与して管理する。
S510では、S508で分割された全分割画像群に対してS509のシーン分類が終了したか否かが判定される。ここで、終了していないと判定された場合(S510でNO)は、S509の処理を繰り返し、終了していると判定された場合(S510でYES)、処理はS511に進む。
S511では、S508のシーン分割及びS509のシーン分類で使用されず、シーンの割当がされなかった画像に対して、シーンの割当を行うシーン割当処理が実行される。本処理の詳細について、図11を用いて説明する。S508のシーン分割及びS509のシーン分類で使用されていない画像について、S1101では、シーン解析除外設定がされているか否かが判定される。そして、対象の画像にシーン解析除外設定がされていない場合(S1101でNO)は、処理はS1104へ進む。一方、シーン解析除外設定がされている(S1101でYES)画像については、続いて、S1102において、日時情報が取得され、S1103において、S1102で取得された日時に基づいてシーン割当が行われる。シーン割当は、例えば、シーンごとに、シーンの開始時間と終了時間とを取得し、対象の画像の日時がシーンの開始時間と終了時間に含まれる場合は、そのシーンに割り当てるようにして行われる。この場合、対象の画像の日時がシーンの開始時間と終了時間に含まれない場合は、各シーンの開始時間および終了時間と比較し、最も近い時間のシーンにその対象の画像が割り当てられる。S1104では、S1101からS1103の処理が、シーン解析除外設定となっている画像の全てに対して終了したかが判定される。全対象画像に対して処理が終了した場合(S1104でYES)は本処理を終了し、少なくとも一部の対象画像について処理が終了していない場合(S1104でNO)は、処理はS1101に戻る。このようにして、シーン解析除外設定となっている画像の全てに対して処理が終了するまで、S1101からS1103の処理が繰り返し実行される。
図11に示す処理により、シーン分割には使用されなかった画像であっても、結果的にシーンが特定される。そのため、後述するシーンに応じたレイアウト処理において、その画像を使用することができる。
なお、S1102において日時情報を取得しなくてもよく、S503において既に取得され、シーン解析除外設定に用いられた撮影日時情報が、S1103におけるシーン特定に用いられても良い。
S512では、画像得点部208が主人公設定を実行する。主人公設定は、ユーザが指定した画像データ群に対して実行され、自動と手動の2種類の設定方法のいずれかにより行われる。画像得点部208は、S505で実行された個人認識結果と、S508で実行されたシーン分割の結果から、画像データ群に登場する各個人IDの回数、各シーンに登場する各個人ID回数、各個人IDが登場するシーン回数等を取得可能である。画像得点部208は、それらの情報から、ユーザ指定によらず自動で主人公を設定することができる。本実施形態では、画像得点部208は、シーンが複数ある場合、複数のシーンでの登場回数が多い個人IDを主人公IDと設定し、単一のシーンのみである場合、単一シーンにおいて登場回数が多い個人IDを主人公IDと設定する。また、ユーザが主人公指定アイコン304の指定を行っている場合、主人公情報入力部207は、その指定されている個人IDを画像得点部208に伝える。ユーザにより個人IDが指定されている場合、画像得点部208は、上記の自動で設定された主人公IDによらず、ユーザにより指定された個人IDを主人公IDとして設定する。この設定を手動設定と呼ぶ。
S513では、画像得点部208が得点化を実行する。得点化とは、画像データごとに後述の観点で評価した得点を付与する(スコアリング)ことであり、後述の、レイアウトに用いられる画像データの選択時に参照される。図12は、画像データのレイアウトに使うテンプレート群を示す図である。テンプレート群に含まれている複数のテンプレートのそれぞれが、各見開きに対応している。テンプレート1201は1枚のテンプレートであり、スロット1202はメインスロットを示し、スロット1203と1204はサブスロットを示す。メインスロット1202は、テンプレート1201内でメインとなるスロット(画像をレイアウトする枠)であり、サブスロット1203と1204よりもサイズが大きい。画像得点部208は、各画像データに対して、メインスロット用の得点とサブスロット用の得点の両方を付与する。
図13(A)は、旅行、日常、セレモニーの各シーンによってアルバムに採用する画像の特徴をメインスロットとサブスロットとについて示した図である。図13(A)に示す表において、各シーンのメインスロット向き画像の特徴とサブスロット向きの画像の特徴とのそれぞれについて、適合すると判定した複数の画像データが予め集められる。なお、集められた各画像データについて、その画像データに含まれる顔の数、顔の位置、顔のサイズの特徴量が、予め抽出される。そして、それらの特徴量の平均値と標準偏差とが、収集された画像データが対応する各シーンおよび各スロット種類(メインスロットとサブスロット)に対して求められ、アルバム作成アプリケーションのプログラムとともに記憶される。
画像得点部208は、各画像データがどのシーンに属すかについて、S509のシーン分類の結果から取得可能である。画像得点部208は、注目画像データのシーンに対応する予め求めておいた上記の平均値と標準偏差、および注目画像データの主人公IDの顔数、顔位置、顔サイズの各特徴量を用いて、式(3)及び(4)により、平均得点を算出する。
得点 = 50−|10×(平均値−特徴量)/標準偏差| ・・・(3)
平均得点 = (顔数の得点+顔位置の得点+顔サイズの得点)/特徴量項目数 ・・・(4)
画像得点部208は、上記の得点化を、メインスロット用とサブスロット用の両方について実行する。ここで、アルバムに用いる画像はピントが合っている方が適切であるため、図7に示すピントの特徴量が○である画像IDの画像データに対しては所定の得点を加算するようにしてもよい。図13(B)は、上記の得点化による得点結果の一例を示しており、各画像IDに対して、メインスロットとサブスロットについて得点化されている。すなわち、本実施形態では、各シーンについてメインスロットとサブスロットとにそれぞれ適する条件が図13(A)に示すように定められており、予め、それらに適するであろうと判断された画像データが指定される。そして、その指定された画像データについて、顔数、顔位置、顔サイズの特徴量が取得され、特徴量ごとに平均値と標準偏差とが求められる。そして、図5の自動レイアウト処理が開始されると、自動レイアウト処理対象の各画像データ(シーン分類済)が、どの程度、メインスロット向きであるか等の、ユーザ判断基準への近さを示す得点化(類似度の数値化)が行われる。例えば、図13(B)では、画像ID1は、メインスロット用として20点が付与され、画像ID2は、メインスロット用として45点が付与されている。これは、メインスロット用としては、画像ID2の画像データが、画像ID1の画像データよりも、ユーザの判断基準に近いことを表している。図13(B)の表1300においては、各画像ID1301に対して、メインスロットとサブスロットとのそれぞれについての得点化の結果1302が登録されている。
また、画像得点部208は、画像取得部202において各画像データに対して設定された属性を、得点化に反映させてもよい。例えば、動画像からの切り出し画像であるという属性を有する画像データに対しては、得点が加算されてもよい。ユーザが動画像を撮影するのは、ユーザにとって重要なシーンである可能性が高く、画像選択部211で選択されやすくする方が適切であると考えられるからである。また、動画像からの切り出し画像は、静止画像に比べてノイズなど画質が劣る可能性が高いため、画質が目立つメインスロットではなく、サブスロットにレイアウトされるように、サブスロット用の得点のみが加算されてもよい。
S514において、画像得点部208が、ユーザ指定の画像データ群の全ての画像データに対して、S512およびS513の処理が終了したか否かを判定する。終了していないと判定された場合(S514でNO)は、処理はS512へ戻り、S512およびS513の処理が繰り返され、終了していると判定された場合(S514でYES)、処理はS515に進む。
S515では、見開き割当部210が、S508でのシーン分割の分割数が見開き数入力部209から入力されるアルバムの見開き数と同じであるか否かを判定する。同じでないと判定された場合(S515でNO)は、処理はS516に進み、同じであると判定された場合(S515でYES)は、処理はS519に進む。例えば、図9(A)に示すようにシーン分割数が8であり、見開き数入力部209の入力数が8である場合、処理はS519に進む。
S516では、見開き割当部210は、S508でのシーン分割の分割数が見開き数入力部209から入力される見開き数(アルバムに使用されるテンプレート数)より少ないか否かを判定する。シーンの分割数の方が見開き数より多いと判定された場合(S516でNO)は、処理はS518に進み、シーンの分割数の方が見開き数より少ないと判定された場合(S516でYES)は、処理はS517に進む。図9(A)に示すようにシーン分割数が8であり、見開き数入力部209の入力数が10である場合、処理はS517に進む。
S517では、見開き割当部210は、サブシーン分割を実行する。サブシーン分割とは、シーン分割数<アルバムの見開き数の場合に、分割されたシーンを更に細分割することを表す。図9(A)のシーン分割数8に対して指定されたアルバムの見開き数が10の場合で説明する。図9(B)は、図9(A)をサブシーン分割した結果を示す。図9(B)は、図9(A)の状態に対して、太線矢印で示す2箇所でサブシーン分割を行ったことにより、分割数を10にしている。
分割の基準について説明する。図9(A)の分割の中で、画像枚数が多い分割箇所が検索される。ここでは、分割数を8から10に2箇所増やすために、画像枚数が多い2箇所の分割画像群が検索される。なお、画像数が同数の分割画像群については、画像間の撮影日時の差の最大値が大きい方の分割画像群が選択される。なお、それでも決定できない場合のために、例えば、より早い時間に対応する分割画像群を優先的に再分割するなど、選択基準をさらに定めておいてもよい。図9(A)では、多い方から分割画像群5、次に、分割画像群1と分割画像群2である。分割画像群1と分割画像群2は同じ枚数の画像を含むが、分割画像群2の方が最初の画像から最後の画像の時間差が大きいため、分割画像群2が再分割対象として選択され、分割画像群5と分割画像群2とが、それぞれ再分割される。
分割画像群2には、(例えば撮影日が異なる)画像枚数の山が2つあるため、その部分に対応する図9(B)の太線矢印の箇所で分割する。一方、分割画像群5には、(例えばそれぞれ撮影日が異なる)画像枚数の山が3つあり、この場合、例えば撮影日が変わるなどの分割候補となり得る箇所が2箇所ある。この場合、分割画像群5は、分割後の枚数差が小さくなるように、図9(B)の太線矢印の箇所で分割される。一般的には、シーンの再分割では、選択したシーンに撮影日の異なる画像が含まれている場合は、撮影日の相違するそれぞれの画像データ群を新たなシーンとするような分割が行われる。そして、撮影日が3日以上にわたる場合、各シーンに含まれる画像の数の差が最小になり、同一撮影日の画像が同一シーンに含まれるような再分割が行われる。以上のようにして、分割数を8から10へと増加させる。なお、ここでは、撮影日の異なる箇所で分割したが、画像枚数が多い箇所が単一日である場合、単一日の中で時間差が最大の箇所で分割するようにしてもよい。以上の手順によって、見開き数と画像群の数とを一致させる。なお、分割により生成された画像群については、改めて分類が行われてもよいし、分割前の画像群の分類が引き継がれてもよい。
S518では、画像群の数がアルバムの見開き数より多い場合に、見開き割当部210が画像群の統合を実行する。図9(C)は、図9(A)のように分割された画像群の統合が実行された結果を示す。破線の箇所において分割されていた画像群を統合したことにより、分割数が6となっている。
統合の基準について説明する。画像群の中で、画像枚数が少ない画像群が検索される。そして、画像枚数が同じ画像群については、それらの画像群のうち、隣接する画像群が統合対象として選択されていない画像群が、優先的に統合対象として特定される。図9(A)の例では、分割数を8から6に2箇所分だけ減らすために、画像枚数が少ない2箇所が特定される。図9(A)では、少ない方から分割画像群8、分割画像群3、分割画像群7である。分割画像群3と分割画像群7は同じ枚数の画像を含んでいる。ただし、分割画像群7に隣接する分割画像群8が統合対象であるので、分割画像群3が統合対象として選択される。結果、分割画像群8と分割画像群3それぞれの統合が行われる。
分割画像群の統合の際には、まず、統合対象の分割画像群を、撮影日時が前の分割画像群に統合するか、撮影日時が後の分割画像群に統合するかが決定される。この決定では、例えば、統合対象の分割画像群と隣接する2つの分割画像群のうち、撮影日時の時間差が小さい方の分割画像群が統合の相手として特定される。図9(A)では、上述のように分割画像群3が統合対象として決定されているため、それに隣接する分割画像群2及び分割画像群4のいずれかが統合の相手とされる。ここで、図9(A)では、分割画像群3と、その前後の分割画像群2と分割画像群4とのそれぞれとの時間差を比較すると、分割画像群3と分割画像群4との時間差の方が、分割画像群3と分割画像群2との時間差より小さい。このため、分割画像群3は、分割画像群4と統合される。このようにして、図9(C)の破線で示される箇所で統合が行われる。一方、分割画像群8は、隣接する分割画像群が1つしかないため、図9(C)の破線で示される箇所で、その唯一の隣接分割画像群(分割画像群7)と統合される。なお、統合には、例えば、分割画像群に含まれる画像ファイルを示す情報を、統合後の分割画像群に応じて更新することが含まれる。
S519では、見開き割当部210が見開き割当を実行する。S515〜S518によって、シーン分割数と指定見開き数とが一致している。このため、見開き割当部210は、撮影日時順に先頭の画像群から、見開きの先頭に順に割り当てる。
S520では、画像選択部211が1つ以上の画像選択を実行する。以下、ある見開きに割り当てられた分割画像群から画像データを4枚選択する例を、図14を参照しながら説明する。
図14(A)に示すスタート〜エンドの区間は、見開きに割り当てられた分割画像群の、最初の画像データの撮影日時から最後の画像データの撮影日時までの時間差(分割撮影期間)を示している。図14(B)を参照しながら、1枚目を選択する方法を説明する。テンプレートには、1枚のメインスロット1202が含まれる。したがって、1枚目として、メインスロット用の画像データが選択される。図14(B)に示す画像群の撮影期間に対応する複数の画像データのうち、S513で付与されたメインスロット用の得点が最高点の画像データが選択される。この選択された画像データの撮影日時が、図14(B)において(1)として示されている。2枚目以降は、サブスロット用の画像データが選択される。
本実施形態では、選択される画像データの撮影日時が、分割画像群の撮影期間の一部に集中しないように、画像選択が行われる。以下、本実施形態における、分割画像群の撮影期間を細分化する方法について説明する。まず、図14(C)に示すように、画像群の撮影期間が2分割される。次に、図14(D)に示すように、1枚目が選ばれていない実線で示される撮影期間に対応する画像データから、2枚目の画像データが選択される。例えば、図14(D)の実線の撮影期間に対応する複数の画像データのうち、サブスロット用の得点が最高点の画像データが選択される。
次に、図14(E)に示すように、図14(D)において分割されていた2つの撮影期間をさらに2分割する。そして、図14(F)に示すように、1枚目及び2枚目が選ばれていない実線の撮影期間に対応する複数の画像データのうち、例えばサブスロット用の得点が最高点の画像データが3枚目として選択される。
画像データの選択対象の撮影期間に画像データが存在せず、そのため選択できない場合について、4枚目の選択を例として説明する。図14(G)は、まだ画像データが選択されていない斜線の撮影期間から4枚目を選択しようとしたが、この斜線の撮影期間に画像データが存在しなかった状態を示している。この場合、図14(H)に示すように、分割されている撮影期間のそれぞれがさらに2分割される。次に、図14(I)に示すように、1〜3枚目が選ばれていない実線の撮影期間に対応する複数の画像データのうち、例えばサブスロット用の最高点の画像データが4枚目として選択される。
図5に戻り、S521では、画像レイアウト部213は、画像レイアウトの決定を行う。画像レイアウト部213は、テンプレート入力部212が入力したテンプレート群を候補として、その中から、テンプレート内のメインスロットの位置が、着目シーンの選択されたメインスロット用画像の時系列的な位置に対応しているテンプレートを選択する。本実施形態では、テンプレートの左上に撮影日時のより古い画像データがレイアウトされ、右下に撮影日時のより新しい画像がレイアウトされるものとする。一方で、各スロットの位置と画像とを個別に対応付けるのは煩雑であるため、例えばテンプレートをメインスロットとサブスロットの位置に応じてグループ分けしておき、さらに画像の方向(縦長、横長)に応じてさらにグループ分けしておくことができる。そして、メインスロット用画像の時系列上の位置及び方向に応じてテンプレートが絞り込まれ、その絞り込んだテンプレートの中でサブスロットについても同様の絞り込みが行われる。このようにして、テンプレート入力部212は、テンプレートの候補を絞り込み、最終的に採用するテンプレートを決定することができる。
ここで、テンプレート入力部212が、指定のテンプレート情報にしたがって、ある見開きに対して図12の(1−1)〜(4−4)をテンプレートの候補として用いる場合の例について説明する。入力されたテンプレートのスロット数は、図12に示すように、3である。ここで、選択されている3枚の画像データの画像の向きが縦方向か横方向かを撮影日時について並べると、図14(J)のようであり、ここでは、画像データ1005がメインスロット用であり、画像データ1006と1007がサブスロット用であるものとする。ここで、メインスロット用画像1005は、図14(J)に示すように、撮影日時が最も新しいため、右側にメインスロットが配置された図14の(3−1)〜(3−4)と(4−1)〜(4−4)のテンプレートが候補として絞り込まれる。このうち、メインスロット用の画像データ1005は縦長であるため、テンプレート(3−1)〜(3−4)が候補となる。そして、サブスロット用の古い方の画像1006が縦画像で、新しい方の画像1007が横画像であるため、テンプレート(3−2)が、選択された画像に最も適したテンプレートとして選択される。以上のようにして、S521では、S520で選択された画像を、どのテンプレートのどのスロットにレイアウトするかが決定される。
S522では、画像補正部215が画像補正を実行する。画像補正部215は、補正条件入力部214から画像補正ONが入力された場合に、画像補正を実行する。画像補正として、例えば、輝度補正、赤目補正、コントラスト補正が実行される。画像補正部215は、補正条件入力部214から画像補正OFFが入力された場合には、画像補正を実行しない。画像補正は、例えば、短辺1200画素で、sRGBの色空間にサイズが変換された画像データに対して実行可能である。
S523では、レイアウト情報出力部216がレイアウト情報を作成する。画像レイアウト部213は、S521で決定されたテンプレートの各スロットに対して、(例えばS522の画像補正が実行された)画像データをレイアウトする。このとき、画像レイアウト部213は、スロットのサイズ情報に合わせてレイアウトする画像データを変倍してレイアウトする。そして、レイアウト情報出力部216は、テンプレートに画像データをレイアウトしたビットマップデータを生成する。
S524では、S520〜S523の処理が全ての見開きに対して終了したか否かが判定される。終了していないと判定された場合(S524でNO)はS520からの処理を繰り返し、終了していると判定された場合(S524でYES)は、図5の自動レイアウト処理は終了する。
本実施形態では、入力画像群に動画像が含まれる場合に、動画像からの切り出し画像は、シーン分割とシーン分類の解析には使用しない。しかしながら、レイアウトの作成には静止画像と共に動画像からの切り出し画像が使用される。これにより、撮影日時の信頼性が低い動画像の影響を受けることなく、シーン分割およびシーン分類の精度を保つことができる。また、レイアウト作成の際には、静止画像と共に動画像からの切り出し画像が使用されるため、ユーザがアルバムへの掲載対象としたい画像が、掲載対象から除かれることを防止することができる。さらに、シーン分割の際に動画像からの切り出し画像が使用されないため、同一シーンであるか否かの判定回数を減らすことができる。これにより、シーン分割において、動画像からの切り出し画像が使用される場合よりも、処理の高速化を図ることが可能となる。
<実施形態2>
実施形態1では、入力画像群に動画像が含まれる形態について説明したが、ソーシャル・ネットワーキング・サービス(SNS)やサーバ等、ネットワークに保持されており、ネットワーク経由で取得した画像が入力画像群に含まれていてもよい。本実施形態では、アプリケーションを介してSNSから取得された画像(「SNS画像」と呼ぶ。)が入力画像群に含まれる場合の処理について説明する。なお、装置構成など、実施形態1と同様のものについては、その説明を省略する。
まず、図15を用いて、条件指定部201においてSNS画像が指定された場合に、画像取得部202が実行する処理について説明する。S1501では、画像取得部202は、条件指定部201において指定された画像群から画像データを取得する。なお、SNSから画像をダウンロードして保存する際には、ダウンロード元のURLを付加情報として画像に関連付けておく。S1502では、画像取得部202は、S1501で取得された画像データがSNS画像であるかを判定する。ここで、SNSのURL情報を予めリスト化してHDD104に保持しておき、画像取得部202は、S1501で取得されたファイルのダウンロード元のURLがリストに含まれるか否かでSNS画像であるか否かの判定を行ってもよい。そして、画像取得部202は、取得した画像データがSNS画像である場合(S1501でYES)は、処理をS1503に移し、取得した画像データがSNS画像でない場合(S1501でNO)は、処理をS1506に移す。
そして、画像取得部202は、S1503では、SNS画像がSNS上にアップロードされた日時の情報を取得し、S1504では、S1503で取得されたアップロード日時を撮影日時としてSNS画像に付与して、HDD104に保存する。S1505では、画像取得部202は、ファイル属性を2に設定する。ここで、ファイル属性は、上述のように「2」などの数値で設定されてもよいが、SNS画像であることを識別可能な情報であれば、数値でない情報によって設定されてもよい。S1506では、画像取得部202は、条件指定部201において指定された画像群に対して、S1501からS1505までの処理が終了したか否かを判定する。画像取得部202は、処理が終了していると判定した場合(S1506でYES)は、図15の処理を終了し、処理が終了していないと判定した場合(S1506でNO)は処理をS1501に戻す。このようにして、全ファイルに対して、S1501からS1505の処理が繰り返し行われる。
本実施形態のアルバム作成アプリケーションの自動レイアウト処理部217において実行される処理は、S501のシーン解析除外設定処理以外は、実施形態1と同様である。このため、ここでは、S501のシーン解析除外設定処理の詳細について、図16を用いて説明する。
S1601において、自動レイアウト処理部217は、図15のS1505で設定されたファイル属性を取得する。S1602では、自動レイアウト処理部217は、ファイル属性が2であるか否か、すなわち、SNS画像であるか否かを判定する。SNS画像である場合(S1602でYES)は、処理はS1603に移り、SNS画像でない場合(S1602でNO)は、処理はS1604に移る。S1603では、S1602でファイル属性がSNS画像であると判定された画像に対して、シーン解析除外設定が行われる。ここで、シーン解析除外設定がなされた画像については、実施形態1と同様に、シーン分割とシーン分類の対象画像群から除かれる。S1604では、シーン解析対象画像数(sNum)に、1が加算される。
なお、図5のS513の画像得点化においては、実施形態1と同様に画像取得部202で設定されたファイル属性が用いられうる。例えば、ファイル属性がSNS画像である場合は、そのSNS画像には、ファイル属性が静止画である場合よりも得点が加算されてもよい。ユーザがSNS上にアップロードする画像は、ユーザにとって思い入れの深い画像である可能性が高く、画像選択部211で選択されやすくする方が適切であると考えられるからである。また、SNS画像は、解像度の低い画像である可能性があるため、サブスロットにレイアウトされるように、サブスロット用の得点のみが加算されてもよい。
本実施形態では、入力画像群にSNS画像が含まれる場合、SNS画像はシーン分割とシーン分類の解析には使用されないが、レイアウトの作成には静止画像と共に使用される。これにより、撮影日時の信頼性が低いSNS画像の影響を受けることなく、シーン分割およびシーン分類の精度を保つことが可能となる。また、レイアウト作成の際には、静止画像と共にSNS画像も使用するため、ユーザがアルバムへの掲載対象としたい画像が、掲載対象から除かれることを防止することができる。
<実施形態3>
本実施形態では、入力画像群に、複数の異なるデバイスによって撮影された静止画像が含まれる場合の処理について説明する。なお、実施形態1および2と同様の部分については、その説明を省略する。
図17を用いて、条件指定部201において複数の異なるデバイスによって撮影された静止画像群が指定された場合に、画像取得部202が実行する処理の流れについて説明する。S1701では、画像取得部202は、条件指定部201において指定された画像群から画像データを取得する。S1702では、画像取得部202は、S1701で取得された画像データを撮影したデバイスが新規デバイスであるか否かを判定する。対象画像データの撮影デバイスが新規デバイスである場合(S1702でYES)は、処理はS1704へ進み、新規デバイスでない場合(S1702でNO)は、処理はS1703へ進む。S1704では、デバイス名とそのデバイスに対応するデバイスIDとを含み、HDD104内に記憶されているデバイスリストに、新規デバイスの項目を追加登録する。S1703では、画像取得部202は、HDD104に保存されたデバイスリストから、対応するデバイス名を検索してデバイスIDを取得する。S1705では、画像取得部202は、S1704で登録したデバイスID、またはS1703で取得したデバイスIDを、ファイル属性として設定する。なお、デバイスID自体がファイル属性として設定されなくてもよく、ファイル属性には、撮影デバイスを特定できる何らかの情報が設定されれば足りる。S1706では、画像取得部202は、指定された画像群の全てに対して、S1701からS1705までの処理を終了したかを判定する。画像取得部202は、処理が終了している場合(S1706でYES)は、処理を終了し、終了していない場合(S1706でNO)は、処理をS1701に戻し、S1701からS1705の処理を実行する。
図18を用いて、自動レイアウト処理部217において実行される、アルバム作成の自動レイアウト処理について説明する。S1801では、自動レイアウト処理部217は、基準となるデバイスを設定し、そのデバイスのデバイスIDを取得する。自動レイアウト処理部217は、各デバイスで撮影された画像枚数を特定してその比率を求め、その比率が最も多いものを、基準デバイスとして決定しうる。なお、比率の特定に用いられる画像は、例えば所定の日時以降に撮像されたものなど、時間的な制約や、所定の地理的範囲で撮像されたものなど、地理的な制約によって限定されてもよく、また、追加的又は代替的に他の条件によって限定されてもよい。また、自動レイアウト処理部217は、全ての画像から撮影日時が最も新しい画像を取得し、その画像を撮影したデバイスを基準デバイスとして設定してもよい。さらに、自動レイアウト処理部217は、ユーザが使用したデバイスを特定し、そのデバイスを基準デバイスとして設定してもよい。さらに、上述の方法以外の方法によって、基準となるデバイスが設定されてもよい。
S1802では、自動レイアウト処理部217は、図19のようにして、シーン解析除外設定を行う。自動レイアウト処理部217は、S1901において、ファイル属性を取得する。S1902では、自動レイアウト処理部217は、取得したファイル属性が、S1801で取得された基準デバイスのデバイスIDと一致しているかを判定する。そして、ファイル属性が基準デバイスのデバイスIDと一致している場合(S1902でYES)は、処理はS1904に移り、一致していない場合(S1902でNO)は、処理はS1903に移る。S1903では、自動レイアウト処理部217は、ファイル属性が基準デバイスのデバイスIDと一致していない画像に対して、シーン解析除外設定を行う。ここで、シーン解析除外設定をされた画像は、実施形態1と同様に、シーン分割及びシーン分類の対象画像群から除かれる。S1904では、シーン解析対象画像数(sNum)に、1が加算される。
図18のS1802からS1825までの処理については、図5のS501からS524までの処理と同様であるため、説明は省略する。
ここで、S1814の画像得点化おいては、実施形態1と同様に、画像取得部202で設定されたファイル属性が用いられうる。例えば、自動レイアウト処理部217は、撮影デバイス名とランクとを対応付けたリストを予めHDD104に保持しておく。ここでのランクとは、撮影デバイスがプロユーザ向けであればA、セミプロユーザ向けであればB、一般ユーザ向きであればCとするなど、各撮影デバイスの特徴(撮影品質など)を推定可能な情報でありうる。ファイル属性を、そのリストと照合することにより、そのファイル属性を有する画像がどのランクのデバイスで撮影されたかを判別することが可能となる。たとえば、Aランクのデバイスで撮影された画像であれば、高画質である可能性が高いため、得点が加算されうる。また、高画質であればスロットサイズの大きいメインスロットに入れた方がレイアウトとしての見栄えが良くなる可能性が高いため、このような画像については、メインスロット用の得点に対して、さらなる加算がなされてもよい。
本実施形態では、入力画像群に複数の異なるデバイスで撮影された静止画像が含まれる場合、基準デバイスで撮影された画像のみを用いてシーン分割とシーン分類とが行われる。これにより、デバイス間での日時情報のズレを除いた状態で処理が行われるため、シーン分割およびシーン分類の精度を保つことができる。さらに、デバイスのランクに応じて画像得点化における加算点の変更を行うことができるため、デバイスのランクを考慮しなかった場合よりも、適切なスロットに適切な画質の画像をレイアウトすることが可能となる。
<実施形態4>
実施形態1および2では、動画像およびSNS画像はそれぞれ一律に撮影日時の信頼性が低いものとして扱う処理について説明した。しかしながら、動画像又はSNS画像であっても、場合によっては撮影日時の信頼性が高いものが存在する。そこで、本実施形態では、撮影日時の信頼性に応じて処理を切り替える処理について説明する。なお、以下では、実施形態1および2と同様の部分については、その説明を省略する。
図20は、条件指定部201において信頼性の異なる複数の動画像が含まれる画像群が指定された場合の、画像取得部202が実行する処理の流れを示すフローチャートである。図20において、S2001からS2009及びS2013からS2014の処理については、それぞれ、図4のS401からS409及びS411からS412の処理と同様である。このため、これらの処理についての説明については省略し、以下では、S2010〜S2012の処理について説明する。
S2010では、画像取得部202は、切り出し元の動画像の信頼性が高いか(例えば、信頼性が高いほど高い数値を示す指標値が所定値以上であるか)否かを判定する。画像取得部202は、例えば、撮影日時についての信頼性が高い動画像の種類等についてのリストを予めHDD104に保持しておき、リストに登録されている動画像であれば信頼性が高いと判定しうる。なお、画像取得部202は、他の方法で信頼性の判定を行ってもよい。例えば、画像取得部202は、切り出し元の動画像ファイルのヘッダ中に撮影日時情報があるか否かを判定基準として用いてもよい。画像取得部202は、切り出された画像の日時情報の信頼性が高いと判定した場合(S2010でYES)は、S2011において、その画像に対してファイル属性を「0」に設定する。一方、画像取得部202は、切り出された画像の日時情報の信頼性が高くないと判定した場合(S2010でNO)は、S2012において、その画像に対してファイル属性を「1」に設定する。なお、ファイル属性は、数値ではない情報で表されてもよい。
図21を用いて、条件指定部201において信頼性の異なる複数のSNS画像が含まれる画像群が指定された場合に、画像取得部202が実行する処理について説明する。図21のS2101からS2104及びS2108の処理は図15のS1501からS1504及びS1506と同様であるため、以下では、これらについての説明は省略し、S2105からS2107の処理について説明する。
S2105では、画像取得部202は、SNS画像の信頼性が高いか(例えば、信頼性が高いほど高い数値を示す指標値が所定値以上であるか)否かを判定する。画像取得部202は、例えば、撮影日時についての信頼性が高いSNSサイト等についてのリストを予めHDD104に保持しておき、リストに登録されているSNSサイトからダウンロードされた画像であれば信頼性が高いと判定しうる。なお、画像取得部202は、他の方法で信頼性の判定を行ってもよい。例えば、画像取得部202は、SNS画像ファイルのヘッダ中に撮影日時情報があるか否かを判定基準として用いてもよい。画像取得部202は、SNS画像の撮影日時情報の信頼性が高いと判定した場合(S2105でYES)は、S2106において、その画像に対してファイル属性を「0」に設定する。一方、画像取得部202は、SNS画像の撮影日時情報の信頼性が高くないと判定した場合(S2105でNO)は、S2107において、その画像に対してファイル属性を「2」に設定する。なお、ファイル属性は、数値ではない情報で表されてもよい。
自動レイアウト処理部217に関する他の処理は、実施形態1と同様である。
本実施形態では、入力画像群に信頼性の異なる動画像またはSNS画像が含まれる場合に、その撮影日時情報の信頼性が高いか否かが判定され、信頼性の高い画像のみを用いてシーン分割とシーン分類とが行われる。これにより、シーン分割およびシーン分類の精度を保つことができる。また、本実施形態では、信頼性の低い動画像やSNS画像がシーン分割およびシーン分類に使用されないものとしたが、これに限られない。例えば、信頼性の低いコンテンツがシーン分割およびシーン分類に使用された場合と使用されなかった場合のそれぞれの結果の両方が使用されてもよい。この場合、信頼性の低いコンテンツが使用された場合の結果については相対的に小さな重み付けを行い、信頼性の低いコンテンツが使用されなかった場合の結果については相対的に大きな重み付けを行ってもよい。
<その他の実施形態>
撮影場所における実際の時間と撮影日時時間がずれている場合がある。例えば、海外旅行で撮影した写真の撮影日時は、現地の時間とずれている場合がある。そのような画像が日本で撮影した画像の中に含まれていると、シーン分割およびシーン分類が正しくなされない可能性がある。その場合、日本で撮影した画像以外は、シーン解析除外設定を行うことにより、シーン分割およびシーン分類の精度をあげることができる。さらに、どの撮影場所が撮影者にとって基準であるかの判定結果に基づいて、シーン解析除外設定が行われてもよい。たとえば、画像に付加されている撮影位置情報を全画像から取得して解析することで、撮影枚数の最も多い撮影位置が基準として設定されてもよい。
また、上述の実施形態では、1つの入力画像群から複数のレイアウトが作成される例について説明したが、1つの入力画像群から1つレイアウトのみが作成されてもよい。また、上述の実施形態では、1つの見開き上に複数の画像を配置することでレイアウトを作成する場合について説明したが、1つの見開き上に1つの画像のみが配置され、それらが複数集められてアルバムとして作成されてもよい。また、上述の実施形態では、アルバム作成における処理について説明したが、アルバムプレビューを作成する処理において上述の処理が実行されてもよい。また、上述の各実施形態は、組み合わせて用いられてもよい。
なお、上述の実施形態では、シーン分割とシーン分類との両方において使用されない画像が設定される場合について説明したが、これらのいずれかのみにおいて使用されない画像が設定されてもよい。すなわち、シーン分割においてのみ、所定の属性を有する画像が使用されないようにし、シーン分類では、それらの画像をも用いるようにしてもよい。また、シーン分類においてのみ、所定の属性を有する画像が使用されないようにし、シーン分割では、それらの画像をも用いるようにしてもよい。シーン分類とシーン分割との少なくともいずれかにおいて、撮影日時の情報の信頼性が低い画像を除外することにより、シーン分割とシーン分類との双方の信頼性を向上させることができる場合があるからである。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。