以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に関わる本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせすべてが本発明の解決手段に必須のものとは限らない。
以下の実施形態では、画像処理装置上で、アルバム(フォトアルバム、フォトブック)作成のためのアプリケーションプログラム(以下、「アルバム作成アプリ」ともいう)を動作させる形態について説明する。以下に説明する画像とは、特に断りが無い限り、静止画、動画、動画中のフレーム画像、また、SNS(ソーシャル・ネットワーキング・サービス)上の静止画と動画と動画中のフレーム画像を含む。
(第1実施形態)
図24は、本発明に係る画像処理装置100のハードウェアの構成を説明するブロック図である。画像処理装置としては、例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末、カメラ、プリンタ等が挙げられ、本実施形態ではPCとする。
図24において、画像処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、ディスプレイ105と、キーボード106と、マウス107と、データ通信部108と、を備えている。これらは、データバス109により相互に接続されている。
CPU(中央演算装置/プロセッサ)101は、システム制御部であり、画像処理装置100全体を制御する。また、CPU101は、本実施形態で説明する画像処理方法をプログラムに従って実行する。なお、図中のCPUは1つとしたが、これに限定されず、複数備えられていてもよい。
ROM102には、CPU101により実行されるプログラムやOS(オペレーティングシステム)が記憶されている。RAM103は、CPU101によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。HDD(ハードディスク)104は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。本実施形態では、RAM103は、後述するアルバム作成アプリを記憶する。
ディスプレイ105(表示部)は、本実施形態のUI(ユーザインターフェイス)や画像のレイアウト結果をユーザに提示する装置である。ディスプレイ105は、タッチセンサー機能を備えていても良い。キーボード106は、入力装置の1つであり、例えば、ディスプレイ105に表示されたUI上に所定の情報を入力するのに用いられる。所定の情報とは、例えば、作成したいアルバムの見開き数やページ数等の情報である。マウス107は、入力装置の1つであり、例えば、ディスプレイ105に表示されたUI上のボタンをクリックするのに用いられる。なお、例えばユーザが、ディスプレイ105に表示されている、アルバム作成アプリに対応するアイコンを、マウス107の操作によりダブルクリックすることで、アルバム作成アプリが起動する。
データ通信部108(通信部)は、プリンタやサーバなどの外部装置と通信するための装置である。例えば、アルバム作成アプリによって作成されたデータは、データ通信部108を介して、画像処理装置100に接続された不図示のプリンタやサーバに送信される。また、データ通信部108は、不図示のサーバやSNS(ソーシャルネットワーキングサービス)サーバ上の静止画データを受信する。なお、本実施形態では、データ通信部108は、SNSサーバから静止画データを受信するが、動画データも受信しても良い。
データバス109は、上述した各部(102〜108)とCPU101とを接続する。
図1は、本実施形態の印刷システムを示す図である。この印刷システムには、画像処理装置100のほかに、画像形成装置200、ネットワーク300、外部サーバ400及び画像形成装置500が含まれるものとする。
画像形成装置200は、画像処理装置100等から受け付ける印刷ジョブに基づいて、記録剤によって記録媒体上に画像を形成する画像形成処理(印刷処理)を実行する。なお、本実施形態では、画像処理装置100が、生成したレイアウト情報を外部サーバに送信(出力)する形態を説明するが、例えば、画像処理装置100が、生成したレイアウト情報を印刷ジョブとして画像形成装置200に送信する形態であっても良い。この場合、レイアウト情報に基づくアルバムは、画像形成装置200によって作成される。
ネットワーク300は、画像処理装置100及び外部サーバ400と接続しており、両者の間における情報の伝達を行うための通信網である。なお、ネットワーク300は、有線ネットワークであっても良いし、無線ネットワークであっても良い。
外部サーバ400は、ネットワーク300を介して画像処理装置100から後述のレイアウト情報を受け付ける。すなわち、外部サーバ400は、アルバムの受注・管理を司るサーバである。外部サーバ400は、画像処理装置100を操作するユーザによってアルバム購入手続きが行われたら、受け付けたレイアウト情報に基づくアルバムを、画像形成装置500に画像形成処理によって作成させる。その後、画像形成装置500によって作成されたアルバムは、アルバム購入手続きを行ったユーザに届けられる。
<アルバムの自動レイアウト>
図2は、本実施形態のアルバム作成用のアプリケーションプログラム(以下、アルバム作成アプリ)のソフトウェアブロック図である。本実施形態では、HDD104に保存されているアルバム作成アプリは、ディスプレイ105に表示されている、アルバム作成アプリに対応するアイコンを、ユーザがマウス107の操作によりダブルクリックすることで起動される。また、アルバム作成アプリは、例えば、データ通信部108を介して外部のサーバからインストールされることで、HDD104に保存される。
アルバム作成アプリは様々な機能を持つが、ここでは、特に自動レイアウト処理部219により提供される自動レイアウト機能に関して説明する。自動レイアウト機能は、静止画や動画をその内容や属性に基づいて分類及び選択することで取得された画像データによって表わされる画像が、予め用意されたテンプレートに配置された画像であるレイアウト画像を作成するための機能である。ひいては、レイアウト画像を表わすためのレイアウト情報を生成するための機能である。このようにして表示されたレイアウト画像は、ユーザがアルバム注文処理を実行することで、アルバムとして出力される。
図2に示すように、アルバム作成アプリは、アルバム作成条件指定部201と、自動レイアウト処理部219と、を含む。
アルバム作成条件指定部201は、例えばマウス107による後述のUI操作に応じたアルバム作成条件の指定を受付け、自動レイアウト処理部219に出力する。指定される条件には、例えば処理の対象となる画像データの範囲や主人公のID、アルバムの見開き数、テンプレート情報、画像補正のON/OFF条件、動画使用のON/OFF条件、アルバムのモード等の指定が含まれる。処理の対象となる画像データの範囲とはすなわち、テンプレートに配置される画像の候補となる画像を表わす画像データの範囲である。画像データの指定は、例えば、撮影日時など個別の画像データの付随情報や属性情報による指定であってもよいし、デバイスやディレクトリ(フォルダ)の指定など、画像データを含むファイルシステムの構造に基づく指定であってもよい。なお、見開きとは、異なるシート(又はページ)に印刷された、互いに隣接する1対のページに相当する。また、本実施形態のアルバム作成アプリでは、一つの表示用ウィンドウで1つの見開きのレイアウトを作成するものとする。なお、アルバム作成条件指定部201は、例えば図3に示すような設定画面を表示し、当該画面に対する入力を受け付けることで、アルバム作成条件の指定を受付ける。なお、動画解析部203は、動画データから切り出され、時系列順に管理されているフレームを、所定の間隔毎に抽出して解析対象とする。なお、動画解析部203は、オブジェクト検出、サイズ特定、笑顔判定、目瞑り判定、ブレボケ判定、明るさ判定等の解析処理により、動画におけるどのフレームが良い画像かを特定することができる。
フレーム取得部204は、動画解析部203で解析された結果(評価)に基づいて、動画からフレームを切り出し、切り出したフレームを画像データとしてHDD104に保存する。
画像取得部205は、アルバム作成条件指定部201により指定された画像群(画像データ群)をHDD104等の記憶領域から取得する。なお、画像取得部205は、データ通信部108を介してネットワーク上のサーバやSNSサーバ等の記憶領域から画像群を取得しても良い。ここでいう画像群とは、アルバム作成に利用される画像データの候補を指す。例えば、アルバム作成条件指定部201において、レイアウト対象となる画像データが生成された(当該画像データに対応する写真が撮影された)日時(以後、撮影日時という。)に関する条件としてXX年1月1日〜XX年12月31日が指定される場合がある。この場合、画像取得部205は、XX年1月1日〜XX年12月31日に生成された全ての画像データを画像群として取得する。
記憶領域に保存されている画像データは、例えば、静止画像データや、動画データからフレームが切り出されることで取得される切り出し画像データである。静止画像データや切り出し画像データは、撮像デバイスから取得されたものである。撮像デバイスは、画像処理装置100が備えていてもよいし、画像処理装置100の外部の装置である外部装置(PCやスマートホン、デジタルカメラ、タブレット端末等)が備えるものであってもよい。なお、画像処理装置100は、外部装置から画像データを取得する場合は、データ通信部108を介して画像データを取得する。また、画像処理装置100は、静止画像データや切り出し画像データを、データ通信部108を介してネットワークやサーバから取得してもよい。CPU101は、画像データに付随したデータを解析して、各画像データがどこから取得されたのかを判定する。
画像変換部206は、画像取得部205によって取得された画像データの画素数情報や色情報を変換する。なお、画像変換部206によって、どのような画素数情報や色情報の画像データへの変換が行われるかは予め決められており、その情報は、アルバム作成アプリ又はアルバム作成アプリが用いるパラメータファイルに保存されている。本実施形態では、画像取得部205によって取得された画像データを、画素数が短辺420画素、色情報がsRGBである画像データに変換する。
画像解析部207は、画像データの解析処理をする。本実施形態では、画像解析部207は、画像変換部206で変換済みの画像データの解析処理をする。具体的には、変換済みの画像データから特徴量を取得し、変換済みの画像データにおけるオブジェクト検出、顔検出、検出した顔の表情認識、検出した顔の個人認識を実行する。さらに、画像取得部205によって取得された変換前の画像データに付随したデータ(例えば、Exif情報)から、撮影日時情報の取得を行う。撮影日時情報として、Exif情報からの取得に限らず、画像データを作成または更新した日時の情報が用いられてもよい。また、ローカルサーバやSNSサーバに画像データをアップロードまたはローカルサーバやSNSサーバから画像データをダウンロードした日時の情報が用いられてもよい。これらの日時の情報も、以下では撮影日時情報として取り扱う。なお、ローカルサーバとは、HDD104等の、画像処理装置100が備える記憶領域であるものとする。
画像分類部208は、画像データ群に対して、撮影日時情報や枚数、検出した顔情報などのオブジェクト検出結果情報を使って後述のシーン分割、シーン分類を実行する。シーンとは、「旅行」や「日常」、「結婚式」等の撮影シーンのことである。シーンとは、例えば、一時期の撮影機会に生成された画像データの集まりであるともいえる。
主人公情報入力部209は、アルバム作成条件指定部201から指定された主人公のID(識別情報)を画像得点部210に入力する。
画像得点部210は、各画像データに対して、レイアウトに適した画像データが高得点になるように得点付けをする。得点付けは、画像解析部207で得られた情報と、画像分類部208で得られた情報に応じて実行される。また、他の情報が付加的に或いは代替的に用いられてもよい。本実施形態では、画像得点部210は、主人公情報入力部209から入力された主人公IDが含まれる画像データの得点が高得点になるように、各画像データに対して得点付けをする。
見開き入力部211は、アルバム作成条件指定部201から指定されたアルバムの見開き数を見開き割当部212に入力する。
見開き割当部212は、画像群を分割(グルーピング)して各見開きに割り当てる。見開き割当部212は、入力された見開き数に応じて画像群を分割して、各見開きに画像群の一部を割り当てる。
画像選択部213は、見開き割当部212で各見開きに割り当てられた画像群から、画像得点部210で付けた得点に基づいて、画像データを選択する。
テンプレート設定部214は、アルバム作成条件指定部201から指定されたテンプレート情報に応じた複数のテンプレートをHDD104から読み込み、画像レイアウト部215に入力する。なお、本実施形態では、複数のテンプレートは、HDD104に保存されているアルバム作成アプリに保持されているものとする。また、複数のテンプレートには、例えば、テンプレート全体のサイズに関する情報や、テンプレートが備えるスロットの個数、サイズ、位置に関する情報等が含まれる。
画像レイアウト部215は、見開きのレイアウトを決定する。具体的には、テンプレート設定部214により入力された複数のテンプレートから画像選択部213で選択した画像データに適したテンプレートを選択し、各画像の配置位置を決定する。これにより、見開きのレイアウトが決定される。レイアウト情報出力部218から出力される画像データは、例えば図13に示すような形式でディスプレイ105に表示される。
レイアウト情報出力部218は、画像レイアウト部215が決定したレイアウトに従って、ディスプレイ105にレイアウト画像を表示するためのレイアウト情報を出力する。レイアウト画像は、例えば、選択されたテンプレートに画像選択部213により選択された画像データが表わす画像が配置された画像であり、レイアウト情報は、当該画像を表わすビットマップデータである。
画像補正部217は、覆い焼き補正(輝度補正)、赤目補正、コントラスト補正等の各補正処理を実行する。補正条件入力部216は、アルバム作成条件指定部201から指定された画像補正のON/OFF条件を画像補正部217に入力する。
本実施形態に係るアルバム作成アプリが、画像処理装置100にインストールされると画像処理装置100上で動作するOSによりディスプレイ105に表示されるトップ画面(デスクトップ)上に起動アイコンが生成される。そして、ユーザが起動アイコンをマウス107の操作によりダブルクリックすると、HDD104に保存されているアルバム作成アプリのプログラムがRAM103にロードされる。そして、RAM103にロードされたプログラムがCPU101によって実行されて、アルバム作成アプリケーションが起動する。
図3は、起動したアルバム作成アプリが提供するUI構成画面301の一例を示す図である。UI構成画面301は、ディスプレイ105に表示される。ユーザがUI構成画面301を介して、後述するアルバムの作成条件を設定することで、アルバム作成条件指定部201は、ユーザから指定される設定内容を取得する。UI構成画面301上のパスボックス302は、アルバム作成の対象となる画像・動画群のHDD104中の保存場所(パス)を示す。フォルダ選択ボタン303は、ユーザによるマウス107の操作によりクリックされることより、アルバム作成の対象とする画像・動画群を含むフォルダをツリー構成でユーザが選択可能に表示する。そして、ユーザにより選択された画像・動画群を含むフォルダパスがパスボックス302に表示される。
主人公指定アイコン304は、ユーザが主人公を指定するためのアイコンであり、人物の顔画像がアイコンとして表示される。そして、ユーザ操作によって選択されたアイコンに対応する人物が、作成対象のアルバムの主人公として設定される。また、主人公指定アイコン304は、解析対象の画像データが表わす画像に写った人物から中心人物である主人公を特定するために用いられる。主人公指定アイコン304は、例えば顔データベースに登録された人物の顔画像のうち、ユーザによって選択された人物の顔画像や後述の方法で決定された人物の顔画像である。なお、主人公は図4に示す手順で自動設定されることもできる。 見開き数ボックス305は、ユーザからのアルバムの見開き数の設定を受け付ける。ユーザは、キーボード106を介して見開き数ボックス305に直接数字を入力するか、マウス107を用いてリストから見開き数ボックスに数字を入力する。なお、アルバムの見開き数とは、後述のレイアウト情報によって表わされる複数の画像に含まれる画像の枚数に相当する。
テンプレート指定アイコン306は、テンプレートのテイスト(ポップ調やシック調等)別にイラスト画像を表示する。そして、ユーザ操作によって選択されたアイコンに対応するテンプレートが、作成対象のアルバムに用いられるテンプレートとして設定される。本実施形態では、テンプレートは、画像データを配置するための画像配置枠(スロット)を有する。そして、テンプレートが有するスロットに、画像データが埋め込まれることで、1つのレイアウト画像が完成する。
モード指定部307は、作成対象のアルバムのモードに対応するアイコンである。なお、アルバムのモードとは、所定のオブジェクトを含む画像を優先してテンプレートにレイアウトするためのモードであり、各モードのアルバムには、各モードに応じたオブジェクトがより多く配置されることになる。本実施形態では、「人物」、「動物」、「料理」の3つのモードがある。なお、アルバムのモードは、例えば、アルバムのテーマと言い換えることができる。例えば、アルバムのモードとして「動物」が選択された場合は、動物を含む画像を優先してテンプレートにレイアウトする。なお、上述の3つ以外のオブジェクトが写りこんでいる画像を表わす画像データを優先してテンプレートにレイアウトするためのモードがあっても良い。また、同時に複数のモードが選択されても良い。その場合、選択された複数のモードに対応する複数のオブジェクトの少なくとも1つを含む画像を優先してテンプレートにレイアウトする。そして、選択されたアイコンに対応するモードが、作成対象のアルバムのモードとして設定される。
なお、アルバムのモードは上述の3つに限定されず、例えば、「建物」、「乗り物」、「花」等、他のモードがあっても良い。
チェックボックス308は、ユーザからの画像補正のON/OFFの設定を受け付ける。OKボタン309は、設定が完了したことをユーザから受け付けるためのボタンである。OKボタン309がユーザによって押下されると、アルバム作成条件指定部201は、自動レイアウト処理部219に、画面301上で設定されている各設定情報を、各設定情報に対応する各モジュールに出力する。
リセットボタン310は、UI構成画面301上の各設定情報をリセットするためのボタンである。
なお、UI構成画面301上では、上述した設定以外の設定を実行可能であっても良い。例えば、動画に関する設定や、画像・動画データの取得先の設定等を実行可能であっても良い。また、例えば、テンプレートに配置される画像の数の設定等を実行可能であっても良い。
サーバ名ボックスは、アルバム作成に利用される画像群を含むサーバ名やSNS名を示す。ログイン画面を介したユーザの操作により、指定されたサーバやSNSへのログインが完了すると、CPU101は、指定されたサーバやSNSからの画像データの取得が可能となる。
動画使用チェックボックスは、パスボックス302に指定のフォルダや、サーバ名ボックスに指定のサーバやSNS上にある動画をアルバム作成に利用するか否かの設定をユーザから受け付ける。
対象期間ボックスは、アルバム作成の対象となる画像群や動画群の撮影日時期間の条件の設定をユーザから受け付ける。
図4は、本実施形態に係るアルバム作成アプリにより実行される自動レイアウト処理を示すフローチャートである。図4に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。図4を参照しながら、自動レイアウトの処理を説明する。以下に示す通り、本実施形態では、アルバムを作成する際に、アルバムを作成するための画像群を撮影時間に応じて分割し、分割して得られた各サブ画像群からページに配置する画像を選択する。
まず、S401では、CPU101は、アルバム作成条件を設定する。具体的には例えば、図3に示す画面を介して、ユーザからアルバム作成条件の設定を受け付ける。
S402では、CPU101は、動画取得部202によって、検索対象の記憶領域に含まれる動画データを取得する。
S403では、CPU101は、動画解析部203によって、S402で取得した動画データの解析を行う。
S404では、CPU101は、フレーム取得部204によって、S403で解析した動画データからフレームを切り出して、切り出したフレームを画像データとしてHDD104に保存する。
S405では、CPU101は、検索対象の記憶領域に含まれる動画データ全てに対して、S402〜S404の処理が終了したか否かを判定する。終了していない場合(S405でNo)、S402に戻り、まだ処理の対象となっていない動画データが取得される。終了している場合(S405でYes)はS406に移行する。
S406では、CPU101は、画像取得部205により、検索対象の記憶領域に含まれる画像データを取得する。
S407では、CPU101は、画像変換部206によって画像データの変換を行う。
S408では、CPU101は、画像解析部207によって、S407で変換済みの画像データから特徴量を取得する。
S409では、CPU101は、画像解析部207によって、S407で変換された画像データに対してオブジェクト検出処理を実行する。まず、CPU101は、S407で変換された画像データが表す画像から人物の顔を検出する。また、CPU101は、顔画像を抽出すると共に、検出した顔画像の位置の左上座標値と右下座標値を取得する。この2種類の座標を持つことにより、CPU101は、顔画像の位置と顔画像のサイズを取得することが可能となる。なお、CPU101は、Adaboostを用いて顔検出の処理を実行することで、検出したオブジェクトの信頼度の情報も取得することができる。信頼度の詳細については後述する。また、S409では、CPU101は、なお、顔に限らず、犬や猫等の動物、花、料理、建物、置物、乗り物等のオブジェクトを検出対象としてAdaboostによって強識別器を作成しても良い。これにより、CPU101は、顔以外のオブジェクトも検出することが可能となる。本実施形態では、S409では、CPU101は、顔を検出する処理だけでなく、動物と料理を検出する処理を実行する。
S410では、CPU101は、画像解析部207により個人認識処理を実行する。CPU101は、類似性が閾値以上であり且つ最も類似性が高い代表顔画像に対応する人物を、S409で抽出した顔画像に対応する人物として特定する。なお、CPU101は、S409で抽出した顔画像と、顔辞書データベースに保存されている全ての代表顔画像との類似性が閾値未満の場合は、抽出した顔画像に新規の個人IDを割り振って、新規の人物として顔辞書データベースに登録する。
S408からS410で取得された、各画像データの画像解析情報500は、各画像データを識別するための画像ID501それぞれに紐づけされてRAM103やHDD104等の記憶領域に記憶される。例えば、図5に示すように、S408で取得された撮影日時情報502とピント判別結果504、S409で検出された顔画像の数506と位置情報507がテーブル形式で記憶される。
画像属性503は、各画像データの属性を表す。例えば、ローカルサーバから取得された静止画データである画像データは、「静止画」の属性となる。また、例えば、ローカルサーバから取得された動画データから切り出されて保存された画像データは、「動画」の属性となる。また、例えば、SNSサーバから取得された画像データは、「SNS」の属性となる。
オブジェクト分類505は、各画像データが表す画像に含まれるオブジェクトのカテゴリ(種類)及び、カテゴリの信頼度を示す。
本実施形態では、「人物」、「動物」、「料理」の3カテゴリ(種類)のオブジェクトが検出されるものとし、オブジェクト分類505には、各画像データが表す画像において検出されたオブジェクトのカテゴリを示す情報が格納されている。すなわち、オブジェクト分類505は、各画像データが表す画像が、いずれのカテゴリのオブジェクトを含むのかを示す情報である。なお、当該情報は、例えばフラグによって管理されていても良い。また、上述したように、検出されるオブジェクトは「人物」、「動物」、「料理」の3カテゴリに限定されないため、オブジェクト分類505には例えば、「花」、「建物」、「置物」、「乗り物」等のカテゴリを示す情報が格納されても良い。
カテゴリの信頼度とは、画像データが表す画像に含まれるオブジェクトが、何のカテゴリである可能性が高いかを示す情報であり、信頼度が高いカテゴリほど、画像データが表す画像に含まれるオブジェクトのカテゴリである可能性が高いことになる。
S411では、CPU101は、検索対象の記憶領域に含まれる画像データ全てに対してS407からS410の処理が終了したか否かを判定する。
S412では、CPU101は、画像分類部208によってシーン分割をする。シーン分割とは、S401〜S411にて得られた全画像データを、シーン毎に分割して、複数の画像群として管理することを指す。なお、以下の説明において、全画像データ(メイン画像群)が分割されて得られる各画像群を、サブ画像群と言う。撮像画像データのグループ分けの一例を図6(A)に示す。図6(A)〜(C)において横軸は撮像日時(左側に向かうほど古く、右側に向かうほど新しい)、縦軸は撮像画像データの数を示す。図6(A)では、撮像画像データ群をグループ601〜608の8個のサブ画像群(グループ)に分割している。図6(A)において矢印はグループの境界を示している。
S413では、CPU101は、画像分類部208により、シーン分類をする。具体的には、CPU101は、S412でシーン分割されることで得られたサブ画像群をシーンの種類毎に得点化して、一番得点が高いシーンの種類に、当該サブ画像群を分類する。なお、以下の説明において、S413における得点化をシーン分類得点化という。本実施形態では、シーンの種類として、「旅行」、「日常」、「セレモニー」があるものとし、サブ画像群をこれらのシーンのいずれかに分類する。なお、シーン分類得点化には、シーンの各種類に対応する特徴量の情報が格納されたシーン分類テーブルが利用される。
本実施形態では、シーン分類テーブルとして、図7に示すテーブル700が利用されるものとする。テーブル700では、シーンID701に対応付けて、撮影期間702、撮影枚数703、撮影人数704それぞれの平均値と標準偏差とが登録されている。
S414では、CPU101は、S412で取得された全サブ画像群に対してS413のシーン分類が終了したか否かを判定する。終了していない場合(S414でNo)、S413に戻り、まだシーン分類の対象となっていないサブ画像群に対してシーン分類を行う。
S415では、CPU101は、画像得点部210によって主人公設定をする。主人公設定はユーザが指定した画像群に対して実行され、自動と手動の2種類の設定方法のうちいずれかにより行われる。
S416では、CPU101は、画像得点部210により、画像得点化をする。S416における画像得点化とは、画像データ毎に後述の観点で評価した得点を付与する(スコアリング)ことであり、後述の、テンプレートに配置する画像を表す画像データの選択時に参照される。ここで、図8及び図10を用いて、得点化方法について説明する。
図10は、画像データのレイアウトに使うテンプレート群を示している。テンプレート群に含まれている複数のテンプレートのそれぞれが、各見開きに対応している。テンプレート1001は、1枚のテンプレートであり、メインスロット1002はメインスロットを示し、サブスロット1003と1004とはサブスロットを示す。メインスロット1002とは、テンプレート1001内でメインとなるスロット(画像をレイアウト(配置)する枠)であり、サブスロット1003と1004よりもサイズが大きい。S416では、CPU101は、画像得点化処理として、画像データが属する種類のシーンに対応するメインスロット用の得点とサブスロット用の得点の両方を画像データに付与する処理を行う。
画像得点化においては、メインスロットとサブスロットとに採用されるべき画像の特徴量の情報がシーンの種類毎に格納されたスロット特徴テーブルが利用される。これにより、メインスロット用とサブスロット用の両方に関する得点化が画像データについて実行される。 本実施形態では、更に、CPU101は、上述のようにして算出された得点に対して、アルバム作成条件指定部201で指定されたモードに基づいて、点数を加算する。具体的には例えば、CPU101は、モード指定部307によって指定されたモードと、各画像データのオブジェクト分類結果に応じて点数を加算する。
なお、CPU101は、画像得点化を、ユーザが指定した画像データ群における各画像データについて行う。画像得点化によって付加された得点が後段のS423での画像選択処理における選択基準となる。このようにすることで、CPU101は後述の画像選択処理において、アルバムのモードに対応するカテゴリのオブジェクトが含まれる画像を表わす画像データを、当該オブジェクトが含まれない画像を表わす画像データより優先して選択することができる。
図8(B)は、レイアウト得点化による得点結果の一例を示している。例えば画像ID1は、メインスロット用として20点が付与され、画像ID2は、メインスロット用として45点が付与されている。これは、つまり、メインスロット用としては、画像ID2の方がユーザの判断基準により近いということを表している。
S417では、CPU101は、画像取得部205により取得された全ての画像データに対してS416の画像得点化が終了したか否かを判定する。終了していない場合(S417でNo)、S416に戻り、まだ処理の対象となっていない画像データに対して画像得点化が実行される。
S418では、CPU101は、S412のシーン分割により得られたシーン数(サブ画像群の数)が見開き数入力部211により入力された見開き数(見開き数ボックス305に入力されている見開き数)と同じか否かを判定する。
S419では、CPU101は、S412のシーン分割により得られたシーン数が見開き数入力部211により入力された見開き数より少ないか否かを、見開き割当部212により判定する。
S420では、CPU101は、見開き割当部212により、サブシーン分割をする。サブシーン分割とは、シーン分割数<見開き数の場合に、シーン分割により得られた各シーンを更に細分割することをいう。
S421では、CPU101は、見開き割当部212によりシーン統合をする。シーン統合とは、シーン分割数>アルバムの見開き数の場合、分割されたシーン(サブ画像群)を統合することを表す。具体的には、CPU101は、シーン数と見開き数が一致するように、シーン統合をする。ここでは、図6(A)のようにシーン分割数が8であり、それに対して指定見開き数が6の場合を例として説明する。図6(C)は図6(A)をシーン統合した結果である。破線の箇所の前後のシーンを統合したことで、分割数を6にしている。
S422では、CPU101は、見開き割当部212により見開き割当をする。S418〜S421によって、サブ画像群の数と指定見開き数は同じになっている。本実施形態では、撮影日時が先頭のサブ画像群から見開きの先頭に割り当てる。すなわち、撮影日時順にサブ画像群をアルバムの各見開きのページに割当てる。これにより、撮影日時順にサブ画像群が並んだアルバムを作成することができる。
S423では、CPU101は、画像選択部213により画像選択を実行する。ここでは、ある見開きに割り当てられた分割画像データ群から画像データを4枚選択する例を、図9を参照しながら説明する。なお、見開きとは、2ページ分の領域であるが、最初の見開き及び最後の見開きは、1ページ分の領域となる。
図9(A)は見開きに割り当てられた分割画像データ群のうち、撮影日時が一番早い画像データと一番遅い画像データとの撮影日時の時間差(分割撮影期間)、言い換えれば、分割画像データ群の撮影期間を示している。なお、ここでは、画像データの選択を、メインスロット、サブスロットの順で行う。ここでは、見開きに対応するテンプレートには1枚のメインスロット1002が含まれるものとする。そのため、1枚目に選択される画像データは、メインスロット用の画像データである。CPU101は、メインスロット用の画像データとして、図9(B)に示す分割撮影期間に対応する画像データのうち、S416で付加したメインスロット用の得点が最高点の画像データ(1)を選択する。
2枚目以降に選択される画像データは、サブスロット用の画像データである。2枚目以降の画像データの選択は分割撮影期間の一部に集中しないように、以下説明するような方法により行われる。まず、CPU101は、図9(C)に示すように、分割撮影期間を2分割する。次にCPU101は、図9(D)に示すように、1枚目の画像データが選ばれていない分割撮影期間(図中、実線で示している期間)に生成された画像データから2枚目の画像データを選択する。なお、2枚目の画像データとしては、1枚目の画像データが選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データ(2)を選択する。次にCPU101は、図9(E)に示すように図9(D)に示す各分割撮影期間を2分割する。そして、CPU101は、図9(F)に示すように1枚目の画像データと2枚目の画像データがいずれも選ばれていない分割撮影期間(図中、実線で示している期間)に生成された画像データから3枚目の画像データを選択する。なお、3枚目の画像データとしては、1枚目の画像データと2枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データ(3)を選択する。そして、4枚目の画像データとしては、1枚目、2枚目及び3枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データを選択する。
次に、1枚目、2枚目及び3枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像が存在せず、当該分割撮影期間に生成された画像データから4枚目の画像データを選択できない例を説明する。ここで、図9(G)に示すように、まだ画像データが選ばれていない分割撮影期間(図中、斜線で示している期間)に生成された画像データは存在しないものとする。その場合、CPU101は、図9(H)に示すように各分割撮影期間をさらに2分割する。次にCPU101は、図9(I)に示すように、期間内に生成された画像データがないと認識された分割撮影期間以外で、且つ未だ画像データが選ばれていない分割撮影期間(図中、実線で示している期間)に生成された画像から4枚目の画像データを選択する。なお、CPU101は、4枚目の画像データとしては、当該分割撮影期間に生成された画像データのうちサブスロット用の最高点の画像データ(4)を選択する。
S424では、CPU101は、テンプレート設定部214により、アルバム作成条件指定部201から指定されたテンプレート情報に応じた複数のテンプレートを取得する。
S425では、CPU101は、画像レイアウト部215により、処理対象の見開きの画像レイアウトを決定する。
S426では、CPU101は、画像補正部217により画像補正をする。
S427では、CPU101は、レイアウト情報出力部218によりレイアウト情報を作成する。具体的には、CPU101は、S425で選択されたテンプレートの各スロットに、S426の画像補正が実行された、各スロットに対応する画像データを紐づけて管理する。なお、ここで用いる画像は、S407で生成した解析画像であり、S408〜18で用いた画像とは異なる画像である。そして、CPU101は、テンプレートに画像をレイアウトしたビットマップデータを生成する。このとき、CPU101は、スロットのサイズ情報に合わせてレイアウトする画像を変倍又は等倍してレイアウトする。
S428はS423〜S427の処理が全ての見開きに対して終了したか否かを判定する。終了していない場合(S428でNo)はS423に戻り、未だ処理対象となっていない見開きに対して、S423〜S427の処理を行う。
自動レイアウト処理が終了されると、CPU101は、作成したレイアウト情報に基づき、テンプレートに画像が配置されたレイアウト画像をディスプレイ105に表示する。なお、このとき、CPU101は、1つのアルバムを作成するための複数のレイアウト画像を表示しても良い。また、CPU101は、作成したレイアウト情報を画像形成装置200等のプリンタに送信し、レイアウト画像を印刷しても良い。レイアウト画像が印刷されることにより、アルバムが作成される。
なお、上述の自動レイアウト処理では、アルバム作成アプリによって自動で(ユーザから選択指示を受け付けることなく)テンプレートや画像データが選択されて、レイアウト画像が生成されていた。しかし、レイアウト情報によって表わされる画像は、テンプレート及び画像データによって表わされる画像が含まれるものに限られない。これは、本実施形態ではレイアウト情報は、アルバムを作成するために用いられるものだが、アルバムには例えば、見返しや遊び紙、扉、奥付と呼ばれる、画像データによって表わされる画像が一般に印刷されない領域も含まれるためである。本実施形態ではレイアウト情報は、見返しや遊び紙、扉、奥付に対応する画像をも表わす。これらの画像を表わすためのデータは、上述のような自動レイアウト処理によっては生成されないため、予め見返しや遊び紙、扉、奥付に対応する画像用として作成されたデータが、レイアウト情報にいずれかのタイミングで含まれるものとする。
なお、本実施形態において、自動レイアウト処理の詳細は上述の形態に限定されない。例えば、アルバムに使用されるテンプレートの選択や、テンプレートに配置される画像を表わす画像データの選択の方法は、上述の形態に限定されない。少なくとも、アルバムに使用されるテンプレートの選択や、テンプレートに配置される画像を表わす画像データの選択等をユーザが実行せずに、レイアウト情報が作成される形態であれば良い。
<アルバムの編集>
CPU101は、上述のようにしてレイアウト情報を作成した後、作成したレイアウト情報によって表わされるアルバムの編集を受け付けるための画面を表示する。なお、この画面においては、ユーザは、自動レイアウト処理によって作成されたレイアウト情報によって表わされるアルバムの内容を確認することができる。そのため、以後このような画面を確認画面という。本実施形態では、確認画面には、作成したレイアウト情報によって表わされるアルバムが有する複数の見開きのうち1つが表示され、ユーザ操作に応じて、表示される見開きが切り替えられる。なおこのとき、確認画面には、見開き単位でなく、ページ単位でアルバムが表示されても良い。また、自動レイアウト処理が終了した直後に表示される確認画面において表示される見開きは特に限定されず、例えば、複数の見開きのうち一番初めの見開きであっても良いし、後述の重要度が一番高い見開きであっても良い。本実施形態では、自動レイアウト処理が終了した直後に表示される確認画面において表示される見開きは、複数の見開きのうち一番初めの見開き(見開き名が「表紙」である見開き)であるものとする。
図13に確認画面の一例を示す。表示領域1301は、1つの見開きを表わしている。ここで、1つの見開きとは、アルバムにおいてそれぞれ対向する2ページ分の領域を指す。本実施形態では、1つの見開きに1つのテンプレートが対応しているため、表示領域1301には、1つのテンプレートと、それに配置された画像とが表示されることになる。なお、表紙(オモテ表紙)と裏表紙の関係は、上述の見開きの定義に該当しないが、本実施形態では、表示と裏表紙を1つの見開きとみなし、表示領域1301は、表紙と裏表紙とを並行して表示する。また、表示領域1301は、1つの見開きを表わす形態に限定されず、例えば、1ページを表わす形態であっても良い。また、表示領域1301は、1つの見開きを表わす状態と、1ページを表わす状態とを切り替えても良い。この場合例えば、表示領域1301は、表紙や裏表紙については、1ページを表わす状態で表示し、本身については、1つの見開きを表わす状態で表示する。
サムネイル領域1302は、アルバムの各見開きに対応するサムネイルを一覧で表示する領域である。ユーザによって、サムネイルが選択された場合、選択されたサムネイルに対応する見開きが、表示領域1301に表示される。すなわち、ユーザは、サムネイルを選択することによって、選択したサムネイルに対応する見開きを閲覧することができる。
また、アイコン1303は、サムネイルに対応する見開きが未閲覧であることを示すアイコンである。各アイコンは、図12のデータ構造に含まれる閲覧状態の情報に基づいて表示される。具体的には、図12のデータ構造において閲覧状態が未閲覧となっている見開きに対応するサムネイルに、アイコンが表示される。このように、本実施形態の画像処理装置100は、未だユーザによって閲覧されていない見開きに対応するサムネイルにアイコンを付加することで、未だユーザによって閲覧されていない見開きの確認を促すことができる。なお、既にユーザによって閲覧されている見開き(閲覧済みの見開き)については、ユーザに確認を促す必要はないため、アイコンは表示されない。
見開き送りボタン1304、1305は、表示領域1301に表示されている見開きを切り替えるためのボタンである。見開き送りボタン1304が押下された場合、そのときに表示領域1301に表示されていた見開きの前の見開きが表示される。また、見開き送りボタン1305が押下された場合、そのときに表示領域1301に表示されていた見開きの後ろの見開きが表示される。このように、サムネイル領域1302上のサムネイルを選択する方法でなく、これらのボタンを操作することでも、ユーザは、表示領域1301に表示される見開きを切り替えることが可能である。
アルバム編集ボタン1306は、アルバム全体に関する設定を変更するためのボタンである。具体的にはたとえば、アルバム編集ボタン1306は、アルバム全体の背景色や、アルバム全体で使用されるフォント等を変更するためのボタンである。また、例えば、アルバムのテーマや主人公、指定オブジェクトが含まれる画像がアルバムに採用される割合等を変更して、自動レイアウトを再度実行するためのボタンである。なお、アルバム全体とは、アルバムに含まれる全ての見開きやページを指す。すなわち、ユーザは、アルバム編集ボタン1306を押下することでアルバム全体に関する編集・変更を一括で行うことができる。アルバム全体に関する編集・変更は、確認画面上の不図示の入力領域にて入力された情報に基づいて行われる。例えば、不図示の入力領域において背景色の変更が指定されてアルバム編集ボタン1306が押下された場合、アルバム編集アプリは、アルバム全体の背景色を変更する。なお、アルバム編集ボタン1306が押下された場合に、アルバム全体に関する設定を変更するための変更画面が確認画面上に表示され、表示された画面に対する入力によって、アルバム全体が編集・変更される形態であっても良い。また、アルバム編集ボタン1306によって必ずしもアルバムに含まれる全ての見開きやページに関する設定変更が行われなくとも良く、少なくとも1以上の見開きやページに関する設定変更が行われれば良い。
見開き編集ボタン1307は、表示領域1301に表示されている見開きに関する設定を変更するためのボタンである。具体的にはたとえば、見開き編集ボタン1307は、見開きに対応するテンプレートや、見開きに含まれる画像、見開きの重要度の変更や、テキストを追加・入力するためのボタンである。表示領域1301に表示されている見開きに関する設定の変更は、確認画面上の不図示の入力領域にて入力された情報に基づいて行われる。例えば、不図示の入力領域において背景色の変更が指定されて見開き編集ボタン1307が押下された場合、アルバム編集アプリは、表示領域1301に表示されている見開きの背景色を変更する。なお、見開き編集ボタン1307が押下された場合に、表示領域1301に表示されている見開きに関する設定を変更するための変更画面が確認画面上に表示され、表示された画面に対する入力によって、見開きが編集・変更される形態であっても良い。また、表示領域1301に表示されている見開きに関する設定変更は、例えば、表示領域1301上に表示されている見開きを直接操作することでも実行可能である。
アルバム注文ボタン1308は、アルバムを注文するためのボタンである。アルバム注文ボタン1308が押下された場合、このときの設定のレイアウト情報が外部サーバ400に送信され、当該レイアウト情報に基づいてアルバムが作成されることになる。
上述したように、アルバムは、自動レイアウト処理によって作成されたレイアウト情報に基づいて作成される。ユーザは、確認画面によってアルバムの内容を確認し、ユーザ満足度の低い見開きがあれば、見開き編集ボタン1307を押下することで当該見開きの内容を適宜編集・変更することができる。また、ユーザは、アルバム編集ボタン1306を押下することでアルバム全体に関する編集・変更を一括で行うこともできる。
しかしながら例えば、ユーザは、アルバムの内容を全て確認せずにアルバム注文ボタン1308を押してアルバムの注文を指示することがある。この場合、例えば、アルバムの中にユーザ満足度が低い見開きがあっても、それが編集・変更されずにアルバムが注文されて、ユーザ満足度が低いアルバムが出力結果として得られてしまうという課題がある。
また例えば、一旦ユーザによって見開きが確認されていたとしても、その後にアルバム全体に関する編集・変更が行われる場合がある。そのような場合、アルバムの内容はユーザが確認した内容と異なるため、アルバム全体に関する編集・変更が行われた後にもユーザによる見開きの確認が行われなければ、ユーザ満足度が低い見開きを有するアルバムが注文されてしまうことがある。
そのため、例えば、ユーザによって閲覧されていない見開き(未閲覧の見開き)がある状態でユーザからアルバムの注文が指示された場合、アルバムの注文指示を受け付けないためのエラー処理を実行する形態がある。また、例えば、未閲覧の見開きがある状態でユーザからアルバムの注文が指示された場合、この状態でアルバムの注文を実行して良いかどうかをユーザに問うための警告処理を実行する形態がある。
しかしながら、未閲覧の見開きの内容を考慮せずに上記のエラー処理や警告処理が実行される形態では、ユーザの確認を必要としないような見開きが未閲覧である場合もエラー処理や警告処理が実行され、ユーザに煩雑な操作が要求されてしまう課題がある。
そこで、本実施形態では、未閲覧の見開きの内容を考慮して、上記のエラー処理や警告処理を実行するか否かを切り替える形態について説明する。
まず、作成したレイアウト情報によって表わされるアルバムが有する各見開き又はページの閲覧状態を管理するためのデータ(以後、閲覧状態管理データという)の一例を、図12に示す。なお、図12は、自動レイアウト処理が終了した直後に確認画面が表示されたタイミングにおける閲覧状態管理データを示している。閲覧状態管理データにおいて、本実施形態では、ページ毎に管理されている部位と、見開き毎に管理されている部位とがあるが、全てページ毎に管理されたり、全て見開き毎に管理される形態であっても良い。
閲覧状態管理データにおいて、「名前」は、各見開きや各ページの名前を示す。なお、アルバムにおけるそれぞれの名前の部位は、図25に示すとおりである。名前が「〜頁」の見開きは、アルバムの本身に対応している。
また、閲覧状態管理データにおいて、「重要度」は、各見開きや各ページの重要度を示す。ここで重要度とは、アルバム作成アプリのベンダーによって予め設定された設定値である。重要度が高い見開きやページほど、自動レイアウト処理後にユーザに確認(閲覧)されるべき見開きやページであることが示される。また、重要度が低い見開きやページほど、自動レイアウト処理後にユーザに確認(閲覧)されなくても良い見開きやページであることが示される。なお、各見開きや各ページの重要度が、ユーザによって設定される形態であったり、ベンダーによって予め設定された各見開きや各ページの重要度がユーザによって変更可能な形態であったりしても良い。
また、閲覧状態管理データにおいて、「閲覧状態」は、各見開きや各ページがユーザによって閲覧されたか否かを示す。
「閲覧状態」が「未閲覧」である見開きやページは、自動レイアウト処理が行われた後に、ユーザによって確認・閲覧が行われていないことが示される。又は、「閲覧状態」が「未閲覧」である見開きやページは、アルバム全体に関する編集・変更が行われた後に、ユーザによって確認・閲覧が行われていないことが示される。言いかえれば、「閲覧状態」が「未閲覧」である見開きやページは、レイアウト情報が生成又は変更された後の現在の当該見開きや当該ページの内容が、ユーザによって確認・閲覧が行われていないことが示される。一方、「閲覧状態」が「閲覧済み」である見開きやページは、自動レイアウト処理が行われた後に、ユーザによって確認・閲覧が行われたことが示される。又は、「閲覧状態」が「閲覧済み」である見開きやページは、アルバム全体に関する編集・変更が行われた後に、ユーザによって確認・閲覧が行われたことが示される。言いかえれば、「閲覧状態」が「閲覧済み」である見開きやページは、レイアウト情報が生成又は変更された後の現在の当該見開きや当該ページの内容が、ユーザによって確認・閲覧が行われたことが示される。
なお、本実施形態においてある見開きやページが閲覧されることとは、当該ある見開きやページが表示領域1301に表示されることを指す。そのため例えば、表示領域1301に表示されていないが、サムネイル領域1302に表示されている見開きやページは、閲覧されていないものとみなされる。
本実施形態では、名前が「表紙」、「〜頁」、「裏表紙」である見開きやページの重要度が「2」に設定されている。名前が「表紙」、「〜頁」、「裏表紙」である見開きやページは、テンプレートに自動選択画像(配置画像)が配置されることで作成される見開きやページであり、アルバムのメインコンテンツである。なお、自動選択画像とは、例えば図3に示すような設定画面に対して入力された設定情報の内容に応じて異なる画像であり、ユーザの選択指示を受け付けることなく、アルバム作成アプリによって自動で選択される画像データによって表わされる画像である。すなわち、本実施形態では、図3に示すような設定画面に対して入力された設定情報の内容に基づかずに配置される画像は、自動選択画像には含まれないものとする。
上述のように、これらの見開きやページはアルバムのメインコンテンツを含むため、アルバム作成用アプリの自動レイアウト処理やアルバム全体に関する設定変更によってユーザが所望する内容になっているかどうかを、ユーザに確認してもらうことが好ましい。よって、本実施形態では、これらの見開きやページの重要度が最大値である「2」に設定されている。なお、名前が「表紙」、「〜頁」、「裏表紙」である見開きやページには、テキストが含まれるものも含まれないものもある。テキストが含まれるか否かに応じて、名前が「表紙」、「〜頁」、「裏表紙」である見開きやページの重要度がさらに詳細に設定されても良い。
また、本実施形態では、名前が「扉」、「奥付」である見開きやページの重要度が「1」に設定されている。これらの見開きやページは、自動選択画像は配置されないが、例えば、アルバムのタイトルや編集後記、アルバムの作成日時等のテキストが配置されることがあるテキスト画像である。これらの見開きやページの内容は、アルバム全体としての完成度に大きくは影響しないため、これらの見開きやページの内容を気にするユーザと、気にしないユーザとが存在することが考えられる。そのため、本実施形態では、これらの見開きやページの重要度が中間値である「1」に設定されている。
また、本実施形態では、名前が「見返し1」、「遊び紙1(表)」、「遊び紙1(裏)」、「遊び紙2(表)」「遊び紙2(裏)」、「見返し2」である見開きやページの重要度が「0」に設定されている。これらの見開きやページは、基本的には自動選択画像やテキストが配置されない非レイアウト画像である。そのため、これらの見開きやページについてユーザが編集可能な要素はなく、自動レイアウト処理後にこれらの見開きやページの内容をユーザが確認する必要は特にない。よって、本実施形態では、これらの見開きやページの重要度が最低値である「0」に設定されている。
なお、各見開きやページに設定される重要度は上述の形態に限定されない。例えば、本実施形態では、名前が「扉」、「奥付」であるページの重要度が中間値である「1」に設定されているが、中間値以外の重要度が設定されても良い。例えば、扉や奥付にも自動選択画像を配置可能な形態であったり、自動選択画像を配置可能な形態でなくとも扉や奥付の内容を気にするユーザが多いような環境であったりすれば、名前が「扉」、「奥付」であるページの重要度を最大値に設定しても良い。また、テキストの内容を気にするユーザが少ない環境であれば、名前が「扉」、「奥付」であるページの重要度を最小値に設定しても良い。
また、上述では、画像が配置される見開きやページに高い重要度を設定し、画像が配置されない見開きやページに低い重要度を設定していた。しかし、画像の有無に基づいて重要度を設定するのではなく、図3に示すような設定画面に対して入力された設定情報の内容に応じて異なるコンテンツ(画像・テキスト等)の有無に基づいて重要度が設定されても良い。そのため、例えば、自動選択画像が配置される見開きやページに高い重要度を設定し、自動選択画像でない画像は配置されるが、自動選択画像は配置されない見開きやページに低い重要度を設定しても良い。また例えば、自動選択画像は配置されないが、図3の画面に対して入力された設定情報の内容に応じて異なるテキストを含む見開きやページが有れば、当該見開きやページの重要度に高い重要度を設定しても良い。
上述を踏まえ、未閲覧の見開きやページがある状態でアルバムの注文のための入力をユーザから受け付けた場合に、上述の重要度に応じて、処理を切り替える形態について説明する。
図11は、本実施形態に係る画像処理装置100が実行する処理を示すフローチャートである。本フローチャートでは、レイアウト情報の作成処理から、レイアウト情報に基づくアルバムの発注処理までの一連の処理について説明する。図11に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。
S1101で、CPU101は、自動レイアウト処理によってレイアウト情報を生成する。レイアウト情報の生成方法は、図4のフローチャートで示した通りである。CPU101は、レイアウト情報を生成した後、図13に示すような確認画面を表示する。上述したように確認画面とは、生成したレイアウト情報に基づくアルバムの内容をユーザに確認させるための画面である。このとき、確認画面には、名前が「表紙」と「裏表紙」であるページを含む見開きが表示されるため、閲覧状態管理データは図12のようになっている。
続いてS1102で、CPU101は、図13に示す確認画面において、ユーザ操作を受け付ける。そして、CPU101は、受け付けたユーザ操作の内容を特定し、特定した内容に応じて、次の処理に進む。具体的には、CPU101は、サムネイル領域1302上のサムネイルが選択されたり、見開き送りボタン1304、1305が押下された場合は、S1103に進む。また、CPU101は、アルバム編集ボタン1306が押下された場合は、S1104に進み、見開き編集ボタン1307が押下された場合は、S1105に進む。また、CPU101は、アルバム注文ボタン1308が押下された場合は、S1106に進む。
S1103では、CPU101は、表示領域1301に表示されている見開きを、ユーザから受け付けた操作に応じた見開きに切り替える。このとき、CPU101は、ユーザから受け付けた操作に応じて、閲覧状態管理データを更新する。具体的にはCPU101は、ユーザから受け付けた操作に応じた見開きやページの閲覧状態に関する項目を、閲覧済みを示す情報に更新する。例えば、レイアウト情報の自動生成直後に、1−2頁に対応する見開きを表示するための操作をユーザから受け付けた場合、CPU101は、閲覧状態管理データを、図12に示すデータから図14に示すデータに更新する。その後、CPU101は、S1102に戻る。
S1104では、CPU101は、受け付けた入力に応じて、アルバム全体に関する設定を変更する。また、CPU101は、受け付けた入力に応じて、S1101で生成したレイアウト情報の内容を適宜編集・変更する。なお、設定変更は表示領域1301に見開きが表示されたまま行われるが、このときユーザは、表示領域1301に表示されている見開きに関する設定変更の結果しか確認することができない。そのため、CPU101は、アルバム全体に関する設定を変更した場合、閲覧状態管理データを更新する。具体的には、CPU101は、アルバム全体に関する設定が変更された時に表示領域1301に表示されている見開き以外の全ての見開きやページに対応する「閲覧状態」に関する項目を、「未閲覧」に切り替える。そして、CPU101は、S1102に戻る。なお、アルバム編集ボタン1306が押下された場合に、アルバム全体に関する設定を変更するための変更画面が確認画面上に表示される形態であれば、変更画面に対する入力が行われた場合にS1104の処理が行われる。
S1105では、CPU101は、受け付けた入力に応じて、表示領域1301に表示されている見開きに関する設定を変更する。CPU101は、見開き設定画面に対する入力をユーザから受け付けることで、表示領域1301に表示されている見開きに関する設定を変更する。また、CPU101は、受け付けた入力に応じて、S1101で生成したレイアウト情報の内容を適宜編集・変更する。そして、CPU101は、S1102に戻る。なおこのとき、CPU101は、ユーザから受け付けた入力に応じて見開きの重要度を変更しても良い。例えば、CPU101は、画像が配置されていない見開き(例えば、扉や奥付のページを含む見開き)に、ユーザから受け付けた入力によって画像が配置された場合、画像が配置された見開きの重要度を最大値に設定しても良い。また、例えば、CPU101は、画像もテキストも配置されていない見開き(例えば、見返しや遊び紙のページを含む見開き)に、ユーザから受け付けた入力によってテキストが配置された場合、画像が配置された見開きの重要度を中間値に設定しても良い。また、例えば、CPU101は、画像が配置されていた見開き(例えば、本身のページを含む見開き)から、ユーザから受け付けた入力によって全ての画像が取り除かれた場合、画像が取り除かれた見開きの重要度を中間値や最低値に設定しても良い。なお、設定変更は表示領域1301に見開きが表示されたまま行われるため、このときの設定変更の結果は、ユーザが閲覧することになる。そのため、閲覧状態管理データの更新は特に行われない。なお、見開き編集ボタン1307が押下された場合に、表示領域1301に表示されている見開きに関する設定を変更するための変更画面が確認画面上に表示される形態であれば、変更画面に対する入力が行われた場合にS1103の処理が行われる。
S1106で、CPU101は、注文前の確認処理を行う。具体的にはこのとき、CPU101は、例えば、解像度が低く印刷できない画像を表わす画像データがレイアウト情報に含まれていないことを確認する。また、CPU101は、例えば、画像が配置されていないスロットを含むテンプレートによって構成される見開きが無いことを確認する。解像度が低く印刷できない画像を表わす画像データがレイアウト情報に含まれていたり、画像が配置されていないスロットを含むテンプレートによって構成される見開きがある場合には、CPU101は、S1102に戻っても良い。またこのときCPU101は、解像度が低く印刷できない画像を表わす画像データがレイアウト情報に含まれていたり、画像が配置されていないスロットを含むテンプレートによって構成される見開きがあることを示す画面をディスプレイ105に表示しても良い。
S1107で、CPU101は、注文対象のアルバムが有する複数の見開きやページ内に、未閲覧の見開きやページが1つでもあるか否かを、閲覧状態管理データに基づいて判定する。CPU101は、閲覧状態管理データが図12や図14に示すようなデータ構造であり、未閲覧の見開きやページがあると判定した場合、S1108に進む。一方CPU101は、閲覧状態管理データが図15に示すようなデータ構造であり、未閲覧の見開きやページが1つもないと判定した場合、S1112に進む。
S1108で、CPU101は、未閲覧の見開きやページの重要度のうち最大の重要度がいずれかを特定する。例えば、閲覧状態管理データが図14に示すようなデータ構造である場合、最大の重要度は、2となる。CPU101は、最大の重要度が0であると判定した場合(重要度が1及び2の見開きやページが閲覧されており、重要度が0の見開きやページが閲覧されていない場合)、後述のエラー処理や警告表示処理を行わずに、S1112の注文処理に進む。すなわちCPU101は、名前が「見返し1」、「遊び紙1(表)」、「遊び紙1(裏)」、「遊び紙2(表)」「遊び紙2(裏)」、「見返し2」であるページのみ未閲覧である場合は、後述のエラー処理や警告表示処理を行わずにS1112の注文処理に進む。このような形態とすることで、重要度が低く、ユーザによる確認が無くとも良い見開きやページのみが未閲覧である場合は、未閲覧の見開きやページの確認を省略させユーザビリティを向上させることができることができる。また、CPU101は、最大の重要度が1であると判定した場合、重要度が1未満の見開きやページが未閲覧であるか否かにかかわらず、S1110の警告表示処理に進む。最大の重要度が1であると判定した場合とはすなわち、重要度が2の見開きやページが閲覧されており、重要度が1の見開きやページが閲覧されていない場合である。また、CPU101は、最大の重要度が2であると判定した場合(重要度が2の見開きやページが閲覧されていない場合)、重要度が2未満の見開きやページが未閲覧であるか否かにかかわらず、S1109のエラー処理に進む。
S1109で、CPU101は、エラー処理を実行する。具体的にはCPU101は、例えば、図16に示すようなエラー画面を表示する。エラー画面は、例えば、未閲覧の見開きやページがあることを示すメッセージを含む。そして、CPU101は、エラー画面におけるOKボタンが押下されたら、S1102に戻る。すなわち、CPU101は、重要度が2の見開きやページが閲覧済みとなるまで注文処理には進まず、再度確認画面を表示する。なおこのとき、CPU101は、エラー画面におけるOKボタンが押下されたら、ディスプレイ105に表示されている画面を、未閲覧の見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。また、CPU101は、未閲覧の見開きやページが複数ある場合は、例えば、未閲覧の見開きやページのうち一番初めの見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。また、CPU101は、未閲覧の見開きやページのうち一番重要度が高い見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。また、CPU101は、未閲覧の見開きやページのうちいずれかをユーザに選択させ、選択された見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。
S1109は、未閲覧の見開きやページの重要度のうち最大の重要度が「2」である場合に実行される処理である。上述のように、ユーザの確認が行われることが好ましく重要度が高い見開きやページが閲覧済みとなるまで注文処理が行われない形態とすることで、ユーザの確認が行われないままユーザの満足度が低いアルバムの注文が行われてしまうことを抑制できる。
S1110で、CPU101は、警告表示処理を実行する。具体的にはCPU101は、例えば、図17に示すような警告画面を表示する。警告画面は、例えば、未閲覧の見開きやページがある状態で、アルバムの注文を実行してよいか否かを示す入力をユーザから受け付けるための領域を含む。また、警告画面は例えば、未閲覧の見開きやページがあることを示すメッセージや、ディスプレイ105に表示されている画面を、未閲覧の見開きやページを表示している表示領域1301を含む確認画面に切り替えることを通知するためのメッセージを含む。
次に、S1111で、CPU101は、アルバムの注文を実行することを示す入力をユーザから受け付けたか否かを判定する。CPU101は、警告画面におけるOKボタンが押下されたら、アルバムの注文を実行することを示す入力をユーザから受け付けたとみなし、S1112の注文処理に進む。一方、CPU101は、警告画面におけるCancelボタンが押下されたら、アルバムの注文を実行することを示さない入力をユーザから受け付けたとみなし、S1112の注文処理に進まず、S1102に戻る。なおこのとき、CPU101は、警告画面におけるCancelボタンが押下されたら、ディスプレイ105に表示されている画面を、未閲覧の見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。また、CPU101は、未閲覧の見開きやページが複数ある場合は、例えば、未閲覧の見開きやページのうち一番初めの見開きを表示している表示領域1301を含む確認画面に切り替えても良い。また、CPU101は、未閲覧の見開きやページのうち一番重要度が高い見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。また、CPU101は、未閲覧の見開きやページのうちいずれかをユーザに選択させ、選択された見開きやページを表示している表示領域1301を含む確認画面に切り替えても良い。
このように、CPU101は、未閲覧の見開きやページの重要度のうち最大の重要度が1である場合は、アルバムの注文処理に直接進まず、アルバムの注文を実行するか否かをユーザに確認する。そして、CPU101は、アルバムの注文を実行することが確認された場合にアルバムの注文処理に進み、アルバムの注文を実行することが確認されなかった場合には、見開きやページを閲覧するための画面(確認画面)を表示する。なお、上述したように重要度が1である見開きやページは画像が配置されない見開きやページであり、このような見開きやページの内容を気にするユーザと、気にしないユーザとが存在することが考えられる。そのため、本実施形態では、CPU101が、上述のようにアルバムの注文を実行するか否かをユーザに確認し、確認結果に応じた処理を実行することで、ユーザが所望の処理を選択できるようになる。
S1112では、CPU101は、注文処理を実行する。具体的にはCPU101は、生成したレイアウト情報を、ネットワーク300を介し、外部サーバ400に送信する。なお、このとき送信されるレイアウト情報は、S1104やS1105で編集済みであっても良い。なお、このとき送信されるレイアウト情報は、アルバムに使用されるテンプレートに関する情報や、テンプレートに配置される画像を表わす画像データ等を含む。レイアウト情報が外部サーバ400に送信された場合、外部サーバ400に接続された画像形成装置500により当該レイアウト情報に基づく印刷が行われることで、アルバムが作成される。
このように、アルバムに含まれる各見開きや各ページに重要度を設定し、ユーザからアルバムの注文の指示を受け付けた場合には、未閲覧の見開きやページに設定された重要度に応じて処理を切り替えることで、ユーザの利便性を向上させることができる。具体的には、未閲覧の見開きやページに設定された重要度が高い場合にはエラー処理や警告表示処理を実行することで、ユーザによるアルバム内容の確認が行われずにユーザ満足度が低いアルバムが注文されてしまうことを抑制することができる。また、未閲覧の見開きやページに設定された重要度が低い場合にはエラー処理や警告表示処理を実行しないことで、ユーザによるアルバム内容の確認を省略することができる。
(第2実施形態)
1つのアルバムを複数のユーザが共同で編集可能な形態において、アルバムの注文の指示が行われた場合の処理を各ユーザの閲覧状態を考慮して実行する形態について説明する。
図18に、本実施形態の印刷システムを示す。本実施形態における印刷システムにおいて、画像処理装置100、画像形成装置200、ネットワーク300、外部サーバ400及び画像形成装置500は、第1実施形態にて説明したものと同様である。画像処理装置100は、ユーザAが操作する装置であるものとする。画像処理装置600は、画像処理装置100と同様の構成の装置である。画像処理装置600は、ユーザBが操作する装置であるものとする。画像形成装置700は、画像形成装置200と同様の構成の装置であり、画像処理装置600に接続されている。ネットワークストレージ800は、画像処理装置100及び画像処理装置600からのアクセスを、ネットワーク300を介して受け付け可能なストレージである。画像処理装置100及び画像処理装置600は、アルバム作成アプリによる自動レイアウト処理やアルバムの編集処理に必要なデータを、ネットワークストレージ800にアップロードしたり、ネットワークストレージ800からダウンロードしたりする。
なお、ここでは、複数のユーザが、複数の画像処理装置を利用してアルバムの編集を行う形態を説明するが、この形態に限定されず、例えば、複数のユーザが1つの画像処理装置を利用してアルバムの編集を行う形態であってもいい。
図19は、本実施形態に係る画像処理装置100が実行する処理を示すフローチャートである。本フローチャートでは、レイアウト情報の作成処理から、レイアウト情報をネットワークストレージ800にアップロードする処理までの一連の処理について説明する。図19に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。
S1901で、CPU101は、ユーザAからの操作を受け付け、自動レイアウト処理によってレイアウト情報を生成する。レイアウト情報の生成方法は、第1実施形態にて、図4のフローチャートで示した通りである。
S1902で、CPU101は、S1901で生成したレイアウト情報を、ユーザAからの操作を受け付けて、ネットワークストレージ800にアップロードする。本処理により、ユーザBは、画像処理装置600を用いて、ネットワークストレージ800からレイアウト情報をダウンロードし、ユーザAにより生成されたレイアウト情報に基づくアルバムを閲覧・編集することが可能となる。なお、CPU101は、S1901で生成したレイアウト情報を、ユーザAからの操作を受け付けずに自動でネットワークストレージ800にアップロードしても良い。また、ここでは、ユーザAが画像処理装置100によってレイアウト情報を生成及びアップロードしていたが、ユーザBが画像処理装置600によってレイアウト情報を生成及びアップロードしても良い。
S1903で、CPU101は、S1901で生成したレイアウト情報を編集・変更可能なユーザ(共同編集者)を設定するための処理を行う。具体的には、例えば、CPU101は、E−mailやチャットシステム等で、共同編集者として設定したいユーザに、S1901で生成したレイアウト情報を編集・変更するために利用されるURLを送信する。また、例えば、CPU101は、共同編集者として設定したいユーザに対応するアカウントに関する情報をネットワークストレージ800にアップロードする。これにより、共同編集者として設定したいユーザのみ、S1901で生成したレイアウト情報をダウンロードしたり、編集・変更したりすることが可能なように設定される。なお、共同編集者の設定はこのとき行われる必要はなく、例えば、アルバムの編集・変更処理中に行われても良いし、自動レイアウト処理が行われる前に行われても良い。
図20は、画像処理装置100がユーザAからの操作を受け付けることで実行する各処理を示すフローチャートである。図20に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。
S2001で、CPU101は、レイアウト情報の同期処理を行う。同期処理は、ユーザAの操作によって編集・変更されたレイアウト情報や閲覧管理データをネットワークストレージ800にアップロードする処理である。また、同期処理は、共同編集者の操作によって編集・変更されたレイアウト情報や閲覧管理データをネットワークストレージ800からダウンロードしたりする処理である。この同期処理により、常に最新の編集結果や、閲覧状態を、共同編集者と共有することができる。
なお、本実施形態の閲覧管理データの一例を図23に示す。本実施形態では、各見開きや各ページの閲覧状態や重要度が、図19に示す処理で生成したレイアウト情報を編集・変更可能なユーザ毎に管理されている。ユーザAに関する閲覧管理状態が、「未閲覧」の見開きやページは、ユーザAによって未だ閲覧されていないことが示される。また、ユーザBに関する閲覧管理状態が、「未閲覧」の見開きやページは、ユーザBによって未だ閲覧されていないことが示される。なお、図23は、ユーザAによってレイアウト情報が生成された後に確認画面が表示されたタイミングにおける閲覧管理データを示している。そのため、この閲覧管理データによって、ユーザAは確認画面に一番初めに表示される「表示」と「裏表紙」のページのみ閲覧しているが、ユーザBはいずれの見開きやいずれのページも閲覧していないことが示される。
続いてS2002で、CPU101は、図13に示す確認画面において、ユーザ操作を受け付ける。そして、CPU101は、受け付けたユーザ操作の内容を特定し、特定した内容に応じて、次の処理に進む。具体的には、CPU101は、サムネイル領域1302上のサムネイルが選択されたり、見開き送りボタン1304、1305が押下された場合は、S2003に進む。また、CPU101は、アルバム編集ボタン1306が押下された場合は、S2004に進み、見開き編集ボタン1307が押下された場合は、S2005に進む。また、CPU101は、アルバム注文ボタン1308が押下された場合は、図21に示すフローチャートに進む。
S2003で、CPU101は、表示領域1301に表示されている見開きを、ユーザAから受け付けた操作に応じた見開きに切り替える。このとき、CPU101は、ユーザAから受け付けた操作に応じて、閲覧状態管理データ内の、ユーザAに関する項目を更新する。具体的にはCPU101は、ユーザAから受け付けた操作に応じた見開きやページの閲覧状態に関する項目を、閲覧済みを示す情報に更新する。
S2004では、CPU101は、受け付けた入力に応じて、アルバム全体に関する設定を変更する。また、CPU101は、受け付けた入力に応じて、S1901で生成したレイアウト情報の内容を適宜編集・変更する。さらに、CPU101は、アルバム全体に関する設定を変更した場合、閲覧状態管理データを更新する。具体的には、CPU101は、アルバム全体に関する設定が変更された時に表示領域1301に表示されている見開き以外の全ての見開きやページの、ユーザAに関する閲覧状態の項目を、「未閲覧」に切り替える。また、CPU101は、ユーザA以外の全ての共同編集者に関する、全ての見開きやページの閲覧状態の項目を、「未閲覧」に切り替える。そして、CPU101は、S2001に戻る。
S2005では、CPU101は、受け付けた入力に応じて、表示領域1301に表示されている見開きに関する設定を変更する。CPU101は、見開き設定画面に対する入力をユーザから受け付けることで、表示領域1301に表示されている見開きに関する設定を変更する。また、CPU101は、受け付けた入力に応じて、S1101で生成したレイアウト情報の内容を適宜編集・変更する。また、本実施形態では、閲覧状態管理データのユーザAに関する項目の更新は特に行われないが、ユーザA以外の全ての共同編集者に関する、表示領域1301に表示されている見開きやページの閲覧状態の項目を、「未閲覧」に切り替える。そして、CPU101は、S2001に戻る。なおこのとき、CPU101は、ユーザから受け付けた入力に応じて見開きの重要度を変更しても良いのは第1実施形態のS1105と同様である。
S2006の処理は、S1106の処理と同様であるため説明を省略する。
S2007で、CPU101は、レイアウト情報によって表わされる複数の見開きやページ内に、画像処理装置100を操作するユーザ(ユーザA)が未閲覧の見開きやページが1つでもあるか否かを、閲覧状態管理データに基づいて判定する。CPU101は、ユーザAが未閲覧の見開きやページがあると判定した場合、S2008に進む。一方CPU101は、ユーザAが未閲覧の見開きやページが1つもないと判定した場合、図21のフローチャートが示す処理に進む。
S2008で、CPU101は、画像処理装置100を操作するユーザ(ユーザA)が未閲覧の見開きやページの重要度のうち最大の重要度がいずれかを特定する。CPU101は、最大の重要度が0であると判定した場合、エラー処理や警告表示処理を行わずに、図21のフローチャートが示す処理に進む。また、CPU101は、最大の重要度が1であると判定した場合、S2010の警告表示処理に進む。また、CPU101は、最大の重要度が2であると判定した場合、S2009のエラー処理に進む。
S2009のエラー処理、S2010の警告表示処理及びS2011の処理は、S1109のエラー処理、S1110の警告表示処理及びS1111の処理と同様であるため説明を省略する。
上述のような形態とすることで、画像処理装置100を操作するユーザ(ユーザA)が未閲覧の見開きやページに設定された重要度に応じて、処理を切り替えることができる。
図21は、画像処理装置100がユーザAからの操作を受け付けることで実行する各処理を示すフローチャートである。図21に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。
S2101で、CPU101は、レイアウト情報によって表わされる複数の見開きやページ内に、共同編集者(ユーザB)が未閲覧の見開きやページが1つでもあるか否かを、閲覧状態管理データに基づいて判定する。CPU101は、ユーザBが未閲覧の見開きやページがあると判定した場合、S2102に進む。一方CPU101は、ユーザBが未閲覧の見開きやページが1つもないと判定した場合、S2017の注文処理に進む。このように、本実施形態では、画像処理装置100を操作しているユーザだけでなく、アルバムの共同編集者についても、未閲覧の見開きやページが無い場合に注文処理が行われる。なお、例えば、ユーザB以外にも共同編集者がいる場合は、CPU101は、ユーザB以外の各共同編集者の閲覧状況を確認し、いずれかの共同編集者によって未閲覧の見開きやページが1つでもあるか否かを、閲覧状態管理データに基づいて判定する。
S2102で、CPU101は、共同編集者(ユーザB)が未閲覧の見開きやページの重要度のうち最大の重要度がいずれかを特定する。CPU101は、最大の重要度が0であると判定した場合、エラー処理や警告表示処理を行わずに、S2107の注文処理に進む。また、CPU101は、最大の重要度が1であると判定した場合、S2104の警告表示処理に進む。また、CPU101は、最大の重要度が2であると判定した場合、S2103のエラー処理に進む。
S2103で、CPU101は、エラー処理を実行する。具体的にはCPU101は、例えば、図26に示すようなエラー画面を表示する。エラー画面は、例えば、共同編集者が未閲覧の見開きやページがあることを示す通知メッセージを含む。そして、CPU101は、エラー画面におけるOKボタンが押下されたら、未閲覧の見開きやページの閲覧を共同編集者に要求・依頼する。具体的には、CPU101は、E−mailやチャットシステム等で、未閲覧の見開きやページの閲覧を共同編集者に要求・依頼するための情報を共同編集者が操作する画像処理装置(画像処理装置600)に送信する。すなわち、CPU101は、重要度が2の見開きやページが共同編集者によって閲覧済みとなるまで注文処理には進まない。その後、CPU101は、S2001に戻る。このような形態とすることで、共同編集者がアルバムの内容の確認をしていない状態で、アルバムが注文されてしまうことを抑制できる。
S2104で、CPU101は、警告表示処理を実行する。具体的にはCPU101は、例えば、図27に示すような警告画面を表示する。警告画面は例えば、共同編集者が未閲覧の見開きやページがあることを示す通知メッセージを含む。また、警告画面は例えば、共同編集者が未閲覧の見開きやページがある状態で、アルバムの注文を実行してよいか否かを示す入力を共同編集者から受け付けることを示す情報を含む。そして、CPU101は、エラー画面におけるOKボタンが押下されたら、共同編集者が未閲覧の見開きやページがある状態でアルバムの注文を実行してよいか否かを共同編集者に問うための処理を実行する。具体的には、CPU101は、E−mailやチャットシステム等で、共同編集者が未閲覧の見開きやページがある状態で、アルバムの注文を実行してよいか否かを共同編集者に問うための情報を共同編集者が操作する画像処理装置に送信する。
そして、S2105で、CPU101は、共同編集者が未閲覧の見開きやページがある状態でアルバムの注文を実行してよいか否かを示す情報を、共同編集者が操作する画像処理装置から受信する。
そして、S2105で、CPU101は、受信した情報が、アルバムの注文を実行してよいことを示すか否かを判定する。CPU101は、受信した情報が、アルバムの注文を実行してよいことを示す場合、S2017の注文処理に進む。一方、CPU101は、受信した情報が、アルバムの注文を実行してよいことを示さない場合、S2017の注文処理に進まず、S2001に戻る。
なお、CPU101は、共同編集者が未閲覧の見開きやページがある状態でアルバムの注文を実行してよいか否かを示す情報を、一定時間以上経過しても受信しなかった場合は、S2017の注文処理に進んでも良い。
このように、CPU101は、共同編集者が未閲覧の見開きやページの重要度のうち最大の重要度が1である場合は、アルバムの注文処理に直接進まず、アルバムの注文を実行するか否かを共同編集者に確認する。そして、CPU101は、アルバムの注文を実行することが確認された場合にアルバムの注文処理に進む。また、アルバムの注文を実行することが確認されなかった場合には、共同編集者によって見開きやページが閲覧されるかアルバムの注文を実行することが確認されるまで、アルバムの注文処理に進まない。本実施形態では、CPU101が、上述のようにアルバムの注文を実行するか否かを共同編集者に確認し、確認結果に応じた処理を実行することで、共同編集者が所望する処理を実行することができる。
S2107では、CPU101は、注文処理を実行する。S2107はS1112と同様であるため説明を省略する。
図22は、画像処理装置600がユーザBからの操作を受け付けることで実行する各処理を示すフローチャートである。図22に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。なお、本フローチャートは、S2103やS2104において画像処理装置100から送信される情報を受信した場合に開始されるものとする。
S2201で、CPU101は、S2103やS2104において画像処理装置100から送信される情報に基づく画面を、画像処理装置600が備えるディスプレイ105に表示する。具体的には、CPU101は、受信した情報がS2103において画像処理装置100から送信される情報であった場合は、ユーザBが未閲覧の見開きやページの閲覧が要求されていることを示す画面をディスプレイ105に表示する。またCPU101は、受信した情報がS2104で画像処理装置100から送信される情報であった場合、ユーザBが未閲覧の見開きやページがある状態でアルバムの注文を実行してよいか否かが問われていることを示す画面をディスプレイ105に表示する。
S2202で、CPU101は、S2201で表示した画面に対する入力をユーザBから受け付ける。具体的には例えば、CPU101は、ユーザBが未閲覧の見開きやページの閲覧が要求されていることを示す画面をS2201で表示していた場合、ユーザBが未閲覧の見開きやページを含む確認画面を表示するための入力をユーザBから受け付ける。そして、CPU101は、当該入力を受け付けた場合、ユーザBが未閲覧の見開きやページを含む確認画面を表示する。これにより、ユーザBが未閲覧であった見開きやページが、ユーザBが閲覧済みの見開きやページに切り替わる。なおこのとき、CPU101は、ユーザBが未閲覧であった見開きやページが、ユーザBによって閲覧されたことを示す情報を画像処理装置100に送信しても良い。
また例えば、CPU101は、ユーザBが未閲覧の見開きやページがある状態でアルバムの注文を実行してよいか否かが問われていることを示す画面をS2201で表示していた場合、アルバムの注文を実行してよいか否かを示す入力をユーザBから受け付ける。そして、CPU101は、当該入力を受け付けた場合、受け付けた入力に応じて、アルバムの注文を実行してよいか否かを示す情報を、画像処理装置100に送信する。なお、アルバムの注文を実行してよいことを示す入力が行われた場合、CPU101は、閲覧状態管理データにおける、ユーザBに関する見開きやページの閲覧状態の項目を、全て「閲覧済み」に切り替えても良い。
このように、本実施形態では、アルバムの共同編集者が設定されている場合には、画像処理装置100を操作しているユーザが未閲覧の見開きやページだけでなく、アルバムの共同編集者が未閲覧の見開きやページについても考慮して処理が行われる。このような形態とすることで、画像処理装置100を操作するユーザだけでなく、共同編集者の利便性をも向上させることができる。
なお、S2005の見開き編集処理で、重要度の設定変更を行うことができる形態としているが、このとき、ユーザは、閲覧状態管理データにおける、自身に関わる情報の設定変更が可能なものとする。例えば、ユーザは、自身が映っていない画像のみが含まれる見開きやページに関する重要度を低く設定しておくことで、他のユーザが当該見開きやページを編集したとしても、当該見開きやページを確認する作業を省略することができる。また、例えば、ユーザは、自身が映っている画像が含まれる見開きやページに関する重要度を高く設定しておくことで、他のユーザが当該見開きやページを編集した場合に、当該見開きやページを確認してから注文が行われるようにすることができる。
なお、図23には、ユーザAに関する各見開きや各ページに設定された重要度が、ユーザBに関する各見開きや各ページに設定された重要度とで同一である例を示したが、この形態に限定されない。例えば、ユーザAに関する各見開きや各ページに設定された重要度のうち、ユーザAが含まれる画像が配置されていない見開きやページに設定された重要度を低く設定しても良い。同様に、ユーザAに関する各見開きや各ページに設定された重要度のうち、ユーザBが含まれる画像が配置されている見開きやページに設定された重要度を高く設定しても良い。
なお、本実施形態では、アルバムの共同編集者が設定されている場合について説明したが、例えば、CPU101は、アルバムの共同編集者が設定されているか否かに応じて、第1実施形態の処理と、第2実施形態の処理とを切り替えても良い。具体的には例えば、CPU101は、アルバム注文ボタン1308が押下された場合は、注文対象のアルバムについて共同編集者が設定されているか否かを判定する。そして、CPU101は、共同編集者が設定されていると判定した場合、S1106〜S1112の処理を行う。またCPU101は、共同編集者が設定されていないと判定した場合、S2006〜S2011及びS2101〜S2106の処理を行う。
また、本実施形態では、共同編集者が未閲覧であり、且つ重要度が高い見開きがある状態では、アルバムの注文が行われないように制御していたが、この形態に限定されない。例えば、注文指示が受け付けられた場合に、共同編集者が未閲覧の見開きがあることを示し、且つ注文を続けるか否かを問う画面を表示しても良い。そして、注文を続けることを示す入力が受け付けられた場合にアルバムを注文し、注文を続けることを示さない入力が受け付けられた場合にアルバムを注文しないような形態としても良い。
(その他の実施形態)
上述の実施形態では、レイアウト情報に基づくアルバムの注文の指示をユーザから受け付けた場合に、未閲覧の見開きやページの重要度に応じてエラー処理や警告表示処理を行うか否かを切り替える画像処理装置100を説明したが、この形態に限定されない。例えば、画像形成装置200にレイアウト情報に基づく印刷を行わせるための指示をユーザから受け付けた場合に、未閲覧の見開きやページの重要度に応じてエラー処理や警告表示処理を行うか否かを切り替える画像処理装置100であっても良い。また、例えば、ネットワーク300を介して他の画像処理装置にレイアウト情報を送信するための指示をユーザから受け付けた場合に、未閲覧の見開きやページの重要度に応じてエラー処理や警告表示処理を行うか否かを切り替える形態であっても良い。また、例えば、ネットワーク300を介してSNSサーバにレイアウト情報をアップロードするための指示をユーザから受け付けた場合に、未閲覧の見開きやページの重要度に応じてエラー処理や警告表示処理を行うか否かを切り替える形態であっても良い。すなわち、本発明は、レイアウト情報に関する送信処理が行われる形態であれば、いずれの形態にも適用可能である。これにより、例えば、ユーザの満足度が低い印刷物が出力結果として得られたり、ユーザの満足度が低い画像が出力結果として外部の表示部に表示されたりすることを抑制できる。
また、上述の実施形態では、レイアウト情報に基づくアルバムの注文の指示をユーザから受け付けた場合に、閲覧されていない画像があること示すメッセージを表示していたが、この形態に限定されない。例えば、レイアウト情報に基づくアルバムの注文の指示をユーザから受け付ける前から、閲覧されていない画像があること示すメッセージを表示しても良い。
上述の実施形態では、未閲覧の見開きやページの重要度が高い場合、エラー処理として、エラー画面を表示したり、注文処理には進まずに確認画面を再度表示したりしていたが、この形態に限定されない。例えば、未閲覧の見開きやページの重要度が高い場合、アルバム注文ボタン1308をグレーアウトさせ、アルバム注文ボタン1308の押下を実行できないようにする形態であっても良い。このような形態とすることでも、未閲覧の見開きやページの重要度が高い場合に注文処理に進ませないための制御を実行できる。
上述の実施形態では、未閲覧の見開きやページの重要度を3段階で設定していた。そして、未閲覧の見開きやページがある状態でレイアウト情報に基づくアルバムの注文の指示をユーザから受け付けた場合に、未閲覧の見開きやページの重要度に応じて、エラー処理、警告表示処理、注文処理のいずれかを実行していた。しかしながら、本発明はこの形態に限定されない。例えば、未閲覧の見開きやページの重要度を2段階で設定し、未閲覧の見開きやページの重要度に応じて、エラー処理と注文処理のいずれかを実行する形態であっても良い。また、例えば、上述と同様に未閲覧の見開きやページの重要度を2段階で設定し、未閲覧の見開きやページの重要度に応じて、警告表示処理、注文処理のいずれかを実行する形態であっても良い。
上述の実施形態における出力対象は、アルバムの作成に用いられるレイアウト情報であるが、この形態に限定されない。すなわち、出力対象となる情報は、アルバムの作成に用いられる必要はなく、複数の見開きやページのような複数の画像を表わす情報であればいい。
上述の実施形態では、レイアウト情報が自動レイアウト処理によって生成されていたが、この形態に限定されない。例えば、テンプレートの選択や、テンプレートに配置される画像の選択をユーザが手動で行うことで、レイアウト情報が生成される形態であってもいい。このような形態では、レイアウト情報によって表わされる画像は、レイアウト情報の生成時に全てユーザによって閲覧される。しかしながら例えば、レイアウト情報の生成後にアルバム全体に関する編集処理が行われた場合は、編集後の画像がユーザによって閲覧されていない状態で注文処理が行われてしまうことがある。この課題を解決するために、本発明は、手動で生成されるレイアウト情報が出力される形態においても適用可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。