(57)【要約】      （修正有）【課題】テンプレートに合成される画像に応じた画像処理を実行することによって、合成画像データを生成する技術を提供する。【解決手段】画像処理サーバ１０は、Ｓ１４の代表色特定処理において算出済みの写真の代表色と、Ｓ１１で取得済みのテンプレート情報に含まれる代表色データと、を用いて、写真データに対する色補正処理を実行するＳ１８ことによって、写真データに含まれる複数の画素の画素値のそれぞれが変更された処理済みの写真画像を含む合成画像を表す合成画像データを生成する。【選択図】図２
2015228574.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
画像処理の対象画像を表す対象データを取得する対象データ取得部と、
テンプレートを表すテンプレートデータと、前記テンプレートデータに対応付けられている処理情報と、を取得するテンプレート関係情報取得部であって、前記処理情報は、前記対象画像内の複数の画素の画素値を変更する画像処理を示す、前記テンプレート関係情報取得部と、
取得済みの前記処理情報によって示される前記画像処理に応じて、前記対象画像の特徴を示す特徴値を、取得済みの前記対象データを用いて算出する算出部と、
前記処理情報と前記特徴値とに従って、前記対象画像内の前記複数の画素の画素値が変更された変更済み対象画像と、前記テンプレートと、を含む合成画像を表す合成画像データを生成する生成部と、
前記合成画像を出力部に出力させる出力制御部と、を備え、
前記生成部は、
算出済みの前記特徴値が第１の特徴値である場合に、取得済みの前記処理情報と算出済みの前記第１の特徴値とに基づいて、前記対象画像内の前記複数の画素の画素値のそれぞれが変更された変更済み第１の対象画像を含む前記合成画像を表す前記合成画像データを生成し、
算出済みの前記特徴値が第２の特徴値である場合に、取得済みの前記処理情報と算出済みの前記第２の特徴値とに基づいて、前記対象画像内の前記複数の画素の画素値のそれぞれが変更された変更済み第２の対象画像であって、前記第１の対象画像と異なる前記第２の対象画像を含む前記合成画像を表す前記合成画像データを生成する、画像処理装置。
【請求項２】
前記テンプレート関係情報取得部は、さらに、前記合成画像に付加されるべき付加画像を表す付加画像データを取得し、
前記算出部は、前記対象画像内の特定領域を示す前記特徴値を算出し、
前記生成部は、算出済み前記特徴値によって示される前記特定領域内の前記複数の画素の画素値のそれぞれが、前記付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成する、請求項１に記載の画像処理装置。
【請求項３】
前記テンプレート関係情報取得部は、さらに、前記合成画像に付加されるべき付加画像を表す付加画像データを取得し、
前記算出部は、前記対象画像内の特定領域を示す前記特徴値を算出し、
前記生成部は、算出済み前記特徴値によって示される前記特定領域の外側であって前記対象画像内の前記複数の画素の画素値のそれぞれが、前記付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成する、請求項１に記載の画像処理装置。
【請求項４】
前記算出部は、前記対象画像内の前記複数個の画素の画素値を用いて、前記複数個の画素で表現される色に関する前記特徴値を算出する、請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画像処理装置は、さらに、
取得済みの前記処理情報と前記特徴値とを用いて、前記対象データに特定の画像処理を実行すべきであるか否かを判断する判断部を備え、
前記生成部は、
前記対象データに前記特定の画像処理を実行すべきであると判断される場合に、前記対象画像内の複数の画素の画素値のそれぞれが変更された変更済みの対象画像を含む前記合成画像を表す前記合成画像データを生成し、
前記対象データに前記特定の画像処理を実行すべきでないと判断される場合に、取得済みの前記テンプレートデータによって表される前記テンプレート内の複数の画素の画素値が変更された変更済みテンプレートを含む前記合成画像を表す前記合成画像データを生成する、請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記テンプレート関係情報取得部は、さらに、前記合成画像に付加すべき付加画像を表す付加画像データを取得し、
前記判断部は、さらに、前記対象画像のうち、特定領域と異なる外部領域の寸法が、前記付加画像の寸法よりも大きいか否かを判断し、
前記外部領域の寸法が、前記付加画像の寸法よりも大きいと判断される場合に、
前記算出部は、前記外部領域を示す前記特徴値を算出し、
前記生成部は、算出済み前記特徴値によって示される前記外部領域内の前記複数の画素の画素値のそれぞれが、前記付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成し、
前記外部領域の寸法が、前記付加画像の寸法よりも大きくないと判断される場合に、
前記生成部は、前記テンプレート内の複数の画素の画素値のそれぞれが、前記付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成する、請求項５に記載の画像処理装置。
【請求項７】
前記生成部は、前記対象画像内に前記特定画像が含まれていない場合に、前記対象画像に関わらずに予め決められている位置に配置される前記対象画像内の前記複数の画素の画素値のそれぞれが、前記付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成する、請求項６に記載の画像処理装置。
【請求項８】
前記算出部は、前記対象画像を表す前記複数個の画素の画素値を用いて、前記複数個の画素によって表現される色に関する前記特徴値を特定し、
前記判断部は、前記テンプレートに関連する関連色と前記特徴値との関係が、特定条件を満たす場合に、前記対象データに前記画像処理を実行すべきであると判断し、前記テンプレートに関連する関連色と前記特徴値との関係が、前記特定条件を満たさない場合に、前記対象データに前記画像処理を実行すべきでないと判断する、請求項５から７のいずれか一項に記載の画像生成装置。
【請求項９】
前記テンプレート関係情報取得部は、さらに、前記合成画像に付加すべき付加画像を表す付加画像データを取得し、
前記算出部は、前記外部領域を示す前記特徴値を算出し、
前記判断部は、前記対象画像のうち、特定領域とは異なる外部領域の寸法が、前記付加画像の寸法よりも大きいか否かを判断し、
前記外部領域の寸法が、前記付加画像の寸法よりも大きいと判断される場合に、
前記生成部は、算出済み前記特徴値によって示される前記外部領域であって前記対象画像内の前記複数の画素の画素値のそれぞれが、前記付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成し、
前記外部領域の寸法が、前記付加画像の寸法よりも大きくないと判断される場合に、
前記テンプレート関係情報取得部は、さらに、前記付加画像に基づいて生成される縮小付加画像を取得し、
前記生成部は、算出済み前記特徴値によって示される前記外部領域であって前記対象画像内の前記複数の画素の画素値のそれぞれが、前記縮小付加画像に含まれる複数の画素の画素値のそれぞれに変更された前記合成画像を表す前記合成画像データを生成する、請求項１から４のいずれかに記載の画像処理装置。
【請求項１０】
画像処理装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
画像処理の対象画像を表す対象データを取得する対象データ取得処理と、
テンプレートを表すテンプレートデータと、前記テンプレートデータに対応付けられている処理情報と、を取得するテンプレート関係情報取得処理であって、前記処理情報は、合成画像を表す合成画像データを生成するために、前記対象画像内の複数の画素の画素値を変更する画像処理を示す、前記テンプレート関係情報取得処理と、
取得済みの前記処理情報によって示される前記画像処理に応じて、前記対象画像の特徴を示す特徴値を、取得済みの前記対象データを用いて算出する算出処理と、
前記処理情報と前記特徴値とに従って、前記対象画像内の前記複数の画素の画素値が変更された変更済み対象画像と、前記テンプレートと、を含む合成画像を表す合成画像データを生成する生成処理と、
前記合成画像を出力部に出力させる出力制御処理と、を実行させ、
前記生成処理は、
算出済みの前記特徴値が第１の特徴値である場合に、取得済みの前記処理情報と算出済みの前記第１の特徴値とに基づいて、前記対象画像内の前記複数の画素の画素値のそれぞれが変更された変更済み第１の対象画像を含む前記合成画像を表す前記合成画像データを生成し、
算出済みの前記特徴値が第１の特徴値である場合に、取得済みの前記処理情報と算出済みの前記第２の特徴値とに基づいて、前記対象画像内の前記複数の画素の画素値のそれぞれが変更された変更済み第２の対象画像であって、前記第１の対象画像と異なる前記第２の対象画像を含む前記合成画像を表す前記合成画像データを生成する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、合成画像データを生成する画像処理装置を開示する。
【背景技術】
【０００２】
特許文献１には、サンプル画像とテンプレートとの合成画像を表す合成画像データを生成する技術が開示されている。画像合成装置は、テンプレートに、サンプル画像を挿入し、テンプレートに対応する編集記述に記載されている画像処理命令に従った画像処理、例えば、サンプル画像の周囲に白縁を設ける処理を実行することによって、合成画像を表す合成画像データを生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１５５１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術のように、画像とテンプレートとを合成して、多様な合成画像データを出力することが望まれている。
【０００５】
本明細書では、多様な合成画像を出力することが可能な技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書で開示される技術は、画像処理装置に関する。画像処理装置は、対象データ取得部と、テンプレート関係情報取得部と、算出部と、生成部と、を備える。対象データ取得部は、画像処理の対象画像を表す対象データを取得する。テンプレート関係情報取得部は、テンプレートを表すテンプレートデータと、テンプレートデータに対応付けられている処理情報と、を取得する。処理情報は、合成画像を表す合成画像データを生成するために、対象画像内の複数の画素の画素値を変更する画像処理を示す。算出部は、取得済みの処理情報によって示される画像処理に応じて、対象画像の特徴を示す特徴値を、取得済みの前記対象データを用いて算出する。生成部は、処理情報と特徴値とに従って、対象画像内の複数の画素の画素値が変更された変更済み対象画像と、テンプレートと、を含む合成画像を表す合成画像データを生成する。出力制御部は、合成画像を出力部に出力させる。生成部は、算出済みの前記特徴値が第１の特徴値である場合に、取得済みの前記処理情報と算出済みの前記第１の特徴値とに基づいて、対象画像内の複数の画素の画素値のそれぞれが変更された変更済み第１の対象画像を含む合成画像を表す合成画像データを生成する。生成部は、算出済みの前記特徴値が第２の特徴値である場合に、取得済みの前記処理情報と算出済みの前記第２の特徴値とに基づいて、対象画像内の複数の画素の画素値のそれぞれが変更された変更済み第２の対象画像であって、第１の対象画像と異なる第２の対象画像を含む合成画像を表す合成画像データを生成する。
【０００７】
上記の構成では、取得済みの処理情報が、対象画像の特徴を示す特徴値に基づいて、対象画像の画素値を変更する。この構成によると、取得された対象画像に応じた画像処理を実行することによって、合成画像データを生成することができる。これにより、多様な合成画像を出力することが可能となり得る。
【０００８】
テンプレート関係情報取得部は、さらに、合成画像に付加されるべき付加画像を表す付加画像データを取得してもよい。算出部は、対象画像内の特定領域を示す特徴値を算出してもよい。生成部は、算出済み特徴値によって示される特定領域内の複数の画素の画素値のそれぞれが、付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。上記の構成によると、対象画像内の特定領域に付加画像が配置されている合成画像を表す合成画像データを生成することができる。
【０００９】
テンプレート関係情報取得部は、さらに、前記合成画像に付加されるべき付加画像を表す付加画像データを取得してもよい。算出部は、対象画像内の特定領域を示す特徴値を算出してもよい。生成部は、算出済み特徴値によって示される特定領域の外側であって対象画像内の複数の画素の画素値のそれぞれが、付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。上記の構成によると、対象画像内であって特定領域外に付加画像が配置されている合成画像を表す合成画像データを生成することができる。この結果、付加画像を適切に付加することができる。
【００１０】
算出部は、対象画像内の複数個の画素の画素値を用いて、複数個の画素で表現される色に関する特徴値を算出してもよい。上記の構成によると、対象画像によって表される色に応じた画像処理を実行することによって、合成画像データを生成することができる。
【００１１】
画像処理装置は、さらに、取得済みの処理情報と、特徴値と、を用いて、対象データに特定の画像処理を実行すべきであるか否かを判断してもよい。上記の構成によると、処理情報と対象画像の特徴値とに応じて、対象画像に画像処理を実行するか、テンプレートに画像処理を実行するか、を判断することができる。この結果、処理情報と対象画像の特徴値とに応じて、適切な画像処理を実行することによって、合成画像データを生成することができる。
【００１２】
テンプレート関係情報取得部は、さらに、合成画像に付加すべき付加画像を表す付加画像データを取得してもよい。判断部は、さらに、対象画像のうち、特定領域と異なる外部領域の寸法が、付加画像の寸法よりも大きいか否かを判断してもよい。外部領域の寸法が、付加画像の寸法よりも大きいと判断される場合に、算出部は、外部領域を示す特徴値を算出してもよい。生成部は、算出済み特徴値によって示される外部領域内の複数の画素の画素値のそれぞれが、付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。外部領域の寸法が、付加画像の寸法よりも大きくないと判断される場合に、生成部は、テンプレート内の複数の画素の画素値のそれぞれが、付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。上記の構成によると、外部領域の寸法が付加画像の寸法よりも大きいと判断される場合に、対象画像内に付加画像を配置することができる。一方、外部領域の寸法が付加画像よりも大きくないと判断される場合に、テンプレートに付加画像を配置することができる。この構成によると、外部領域の寸法が付加画像よりも小さい場合に、特定領域に付加画像を配置するために、付加画像を適切に付加することができる。
【００１３】
生成部は、対象画像内に特定画像が含まれていない場合に、対象画像に関わらずに予め決められている位置に配置される対象画像内の複数の画素の画素値のそれぞれが、付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。上記の構成によると、対象画像内に特定画像が含まれていない場合に、付加画像を対象画像内の所定の位置に配置することができる。
【００１４】
算出部は、対象画像を表す複数個の画素の画素値を用いて、複数個の画素によって表現される色に関する特徴値を特定してもよい。判断部は、テンプレートに関連する関連色と特徴値との関係が、特定条件を満たす場合に、対象データに画像処理を実行すべきであると判断し、テンプレートに関連する関連色と特徴値との関係が、特定条件を満たさない場合に、対象データに画像処理を実行すべきでないと判断してもよい。上記の構成によると、対象画像によって表される色に応じて、画像処理を実行するか否かを判断することができる。この結果、対象画像の特徴値を用いて、画像処理を実行する必要が無いと判断される状況において、対象画像に画像処理を実行せずに済む。
【００１５】
テンプレート関係情報取得部は、さらに、合成画像に付加すべき付加画像を表す付加画像データを取得してもよい。算出部は、外部領域を示す特徴値を算出してもよい。判断部は、対象画像のうち、特定領域とは異なる外部領域の寸法が、付加画像の寸法よりも大きいか否かを判断してもよい。外部領域の寸法が、付加画像の寸法よりも大きいと判断される場合に、生成部は、算出済み特徴値によって示される外部領域であって対象画像内の複数の画素の画素値のそれぞれが、付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。外部領域の寸法が、付加画像の寸法よりも大きくないと判断される場合に、テンプレート関係情報取得部は、さらに、付加画像に基づいて生成される縮小付加画像を取得し、生成部は、算出済み特徴値によって示される外部領域であって対象画像内の複数の画素の画素値のそれぞれが、縮小付加画像に含まれる複数の画素の画素値のそれぞれに変更された合成画像を表す合成画像データを生成してもよい。この構成によると、外部領域の寸法が付加画像の寸法よりも大きいと判断される場合に、対象画像内に付加画像を配置することができる。一方、外部領域の寸法が付加画像よりも大きくないと判断される場合に、付加画像が縮小された縮小付加画像を配置することができる。この構成によると、付加画像を適切に付加することができる。
【００１６】
また、上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【００１７】
【図１】画像処理システムの構成を示す。
【図２】第１実施例の画像処理サーバの画像生成処理のフローチャートを示す。
【図３】画像処理サーバの代表色特定処理のフローチャートを示す。
【図４】写真の色を補正すべき場合と、テンプレートの色を補正すべき場合と、を説明するための図を示す。
【図５】顔認識処理において顔が認識されなかったケースＡを説明するための図を示す。
【図６】顔認識処理において顔が認識され、かつ、写真内に文字画像が付加されるケースＢを説明するための図を示す。
【図７】顔認識処理において顔が認識され、かつ、テンプレート内に文字画像が負荷されるケースＣを説明するための図を示す。
【図８】顔認識処理において顔が認識され、かつ、写真内にもテンプレート内にも文字が付加できないケースＤを説明するための図を示す。
【図９】第２実施例の画像処理サーバの画像生成処理のフローチャートを示す。
【図１０】顔認識処理において顔が認識され、かつ、写真内にもテンプレート内にも文字が付加できないケースＥを説明するための図を示す。
【発明を実施するための形態】
【００１８】
（画像処理システム２の構成）
図１に示されるように、画像処理システム２は、画像処理サーバ１０と、プリンタ１００と、ＰＣ２００と、を備える。画像処理サーバ１０は、プリンタ１００、ＰＣ２００のそれぞれと、インターネット４を介して相互に通信可能である。プリンタ１００とＰＣ２００とは、ＬＡＮ（Local Area Networkの略）６を介して、相互に通信可能である。画像処理サーバ１０は、プリンタ１００のベンダによってインターネット４上に設けられるサーバである。
【００１９】
（画像処理サーバ１０の構成）
画像処理サーバ１０は、ＰＣ２００から受信される画像データ（例えば図５の写真を表す写真データＰＩ２）と、画像処理サーバ１０に格納されているテンプレートデータと、を用いて、合成画像データ（例えば図５の合成画像を表す合成画像データＳＩ１）を生成し、当該合成画像データをプリンタ２００に送信する。画像処理サーバ１０は、ネットワークインターフェース１２と、制御部２０と、を備える。ネットワークインターフェース１２は、インターネット４に接続される。制御部２０は、ＣＰＵ２２とメモリ２４とを備える。ＣＰＵ２２は、メモリ２４に格納されているプログラム２６に従って、様々な処理（即ち図２等の処理）を実行するプロセッサである。メモリ２４は、ＲＯＭ、ＲＡＭ、ハードディスク等によって構成される。
【００２０】
メモリ２４は、プログラム２６の他に、複数のテンプレート情報ＴＩ１，ＴＩ２を格納している。複数のテンプレート情報ＴＩ１，ＴＩ２は、ベンダによって、メモリ２４に格納される。複数のテンプレート情報ＴＩ１，ＴＩ２のそれぞれは、当該テンプレート情報を識別するための識別情報（例えば番号）と、テンプレートデータと、代表色データと、処理情報テーブルと、を含む。また、テンプレート情報ＴＩ１は、付加画像データを含み、テンプレート情報ＴＩ２は、付加画像データを含まない。
【００２１】
テンプレートデータは、複数の画素によって、テンプレート（例えば図４のテンプレートＴ１）を表すデータである。テンプレートデータは、後述する写真等の合成対象の対象画像を、テンプレートの所定の位置に配置することによって、テンプレートと対象画像との合成画像を表す合成画像データを生成するために利用される。テンプレートデータは、対象画像の周辺に表される画像と、当該画像内で対象画像を配置する位置を示す配置座標と、を含む。
【００２２】
処理情報テーブルには、処理内容と実行の有無とが対応付けられている。画像処理サーバ１０は、処理情報テーブルに従って、画像処理を実行することによって、合成画像データを生成する。例えば、処理情報テーブルにおいて、処理内容「テンプレートの色と写真の色とを近づける」と「ＯＮ」とが対応付けられている場合、図２の画像生成処理において、「テンプレートの色と写真の色とを近づける」処理が実行される。一方、処理情報テーブルにおいて、処理内容「テンプレートの色と写真の色とを遠ざける」と「ＯＦＦ」とが対応付けられている場合、図２の画像生成処理において、「テンプレートの色と写真の色とを遠ざける」処理は実行されない。
【００２３】
代表色データは、処理内容「テンプレートの色と写真の色とを近づける」と、「テンプレートの色と写真の色とを遠ざける」と、のいずれかに「ＯＮ」が対応付けられているテンプレート情報に含まれている。処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」と対応付けられている場合、代表色データは、テンプレート画像の代表色を表すＲ値、Ｇ値及びＢ値を含む。テンプレート画像の代表色は、例えば、テンプレート画像に含まれる全ての画素のうち、Ｒ値、Ｇ値及びＢ値が同じ画素の個数が最も多いＲ値、Ｇ値及びＢ値である。処理内容「テンプレートの色と写真の色とを遠ざける」が「ＯＮ」と対応付けられている場合、代表色データは、テンプレート画像の代表色の補色を表すＲ値、Ｇ値及びＢ値を含む。
【００２４】
さらに、処理内容が「顔領域以外に付加画像（文字）」に、「ＯＮ」が対応付けられているテンプレート情報（例えば、テンプレート情報Ｔ１）には、図示省略の代替テンプレート識別情報が含まれている。代替テンプレート識別情報は、当該テンプレート情報に含まれているテンプレートを用いて、合成画像を生成することができない場合に、当該テンプレート情報の代わりに利用される代替のテンプレート情報を示す識別情報を含む。
【００２５】
付加画像データは、付加画像（例えば図５の文字列「Happy Birthday」、ひげの画像）を表すデータと、付加画像内の基準位置を示す基準位置データと、を含む。顔領域以外に付加すべき付加画像を表す付加画像データには、さらに、所定の付加位置を示す付加位置データを含む。顔領域に付加すべき付加画像を表す付加画像データには、さらに、基準となる顔領域の幅（即ち顔領域の横方向の画素数）を示す基準顔領域寸法を含む。
【００２６】
（プリンタ１００の構成）
プリンタ１００は、印刷機能を実行可能な周辺機器（例えばＰＣ２００の周辺機器）である。プリンタ１００は、ネットワークＩ／Ｆ１２と同様のネットワークＩ／Ｆ（図示省略）を備える。プリンタ１００は、様々な装置（例えば画像処理サーバ１０、ＰＣ２００）と、ネットワークＩ／Ｆを利用して通信可能である。なお、プリンタ１００は、スキャン機能等を実行可能な多機能機であってもよい。
【００２７】
（ＰＣ２００の構成）
ＰＣ２００は、デスクトップ型、ラップトップ型、タブレット型とのコンピュータである。ＰＣ２００は、ネットワークＩ／Ｆ１２と同様のネットワークＩ／Ｆ（図示省略）を備える。ＰＣ２００は、様々な装置（例えばプリンタ１００）と、ネットワークＩ／Ｆを利用して通信可能である。
【００２８】
（画像処理サーバ１０が実行する画像生成処理；図２）
次いで、図２に示す画像生成処理について説明する。ＰＣ２００のユーザは、テンプレートにユーザが選択した写真（例えば顔を含む写真、風景の写真）が挿入された合成画像の印刷を、プリンタ２００に実行させることを望む場合がある。例えば、ＰＣ２００のユーザは、プリンタ２００を利用して、ユーザが撮影した写真を含む誕生日カード等を作成することを望む場合がある。
【００２９】
この場合、ＰＣ２００のユーザは、ＰＣ２００の操作部を操作することによって、合成画像のためのテンプレートを選択する。具体的には、ＰＣ２００のユーザは、ＰＣ２００に所定の操作（例えばウェブブラウザを起動する操作）を実行することによって、インターネット４を介して、画像処理サーバ１０から、複数のテンプレート情報Ｔ１，Ｔ２を取得する。ＰＣ２００は、画像処理サーバ１０から、複数のテンプレート情報Ｔ１，Ｔ２を取得すると、複数のテンプレート情報Ｔ１，Ｔ２に含まれる複数のテンプレートデータによって表されるテンプレートを、ＰＣ２００の表示部に表示させる。なお、ＰＣ２００は、テンプレート情報に付加画像データが含まれる場合、当該付加画像データによって表される付加画像を、テンプレートとともに表示させる。ユーザは、ＰＣ２００を操作することによって、複数のテンプレートの中から、１個のテンプレートを選択する。ＰＣ２００は、ユーザによって選択されたテンプレートを表すテンプレートデータを含むテンプレート情報の識別情報を、ＰＣ２００のメモリに一時的に格納しておく。
【００３０】
次に、ＰＣ２００のユーザは、ＰＣ２００を利用して、ＰＣ２００のメモリ、あるいは、ＰＣ２００に接続されている外部メモリから、合成画像に挿入すべき写真を表す写真データ（例えばＪＰＥＧ（Joint Photographic Experts Groupの略）形式の写真データ）を選択する。ＰＣ２００は、ユーザによって選択された写真データと、メモリ内のテンプレート情報の識別情報と、を、画像処理サーバ１０に送信する。
【００３１】
画像処理サーバ１０のＣＰＵ２２は、ＰＣ２００から、画像データと、テンプレートを識別するためのテンプレート識別情報とを受信することを監視している。図２に示すように、ＣＰＵ２２は、画像データとテンプレート情報の識別情報とを受信する（Ｓ１０）と、Ｓ１１において、Ｓ１０で受信済みの識別情報によって識別されるテンプレート情報（例えばテンプレート情報ＴＩ１）を、メモリ３２から取得する。
【００３２】
次いで、Ｓ１２では、ＣＰＵ２２は、Ｓ１１で取得済みのテンプレート情報に含まれる処理情報を用いて、色補正に関する設定がＯＮになっているか否かを判断する。色補正とは、画像生成処理において、Ｓ１０で取得済みの画像データによって表される写真及びテンプレートのいずれかの色を補正することを意味する。例えば、ＣＰＵ２２は、Ｓ１１で取得済みの処理情報テーブルに含まれる処理内容「テンプレートの色と写真の色とを近づける」と、「テンプレートの色と写真の色とを遠ざける」と、のうち、いずれか一方が「ＯＮ」である場合に、色補正に関する設定がＯＮになっている（Ｓ１２でＹＥＳ）と判断する。また、「テンプレートの色と写真の色とを近づける」と、「テンプレートの色と写真の色とを遠ざける」と、のいずれもが「ＯＦＦ」である場合に、色補正に関する設定がＯＮになっていない（Ｓ１２でＮＯ）と判断する。Ｓ１２でＮＯの場合、Ｓ１４〜Ｓ２０の処理をスキップして、Ｓ２２に進む。
【００３３】
一方、Ｓ１２でＹＥＳの場合、Ｓ１４において、ＣＰＵ２２は、代表色特定処理を実行する。Ｓ１４の代表色特定処理は、Ｓ１０で取得された写真データによって表される画像を代表する色を特定する処理である。
【００３４】
（画像処理サーバ１０が実行する代表色特定処理；図３）
本処理では、最初に、Ｓ５２において、ＣＰＵ２２は、エッジ検出処理を実行することによって、二値化データを生成する。具体的には、Ｓ１０で取得された写真データに対して、エッジ検出処理（例えばＳｏｂｅｌフィルタによるフィルタリング処理）を実行する。これにより、ＣＰＵ２２は、写真によって表される物体（例えば人、建物等）の輪郭線（即ちエッジ）を表す画素の画素値が「１」であり、輪郭線を表す画素以外の画素の画素値が「０」である二値化データを生成する。
【００３５】
次いで、Ｓ５４では、ＣＰＵ２２は、Ｓ５２で生成済みの二値化データのうち、ＯＮ画素（即ち画素値が「１」の画素）の数をカウント（以下では「Ｎ個」とする）する。次いで、Ｓ５６では、ＣＰＵ２２は、Ｓ５２で生成済みの二値化データのうち、Ｎ個のＯＮ画素と同じ位置に配置されているＮ個の画素を、写真データから特定する。次いで、ＣＰＵ２２は、特定済みのＮ個の画素のそれぞれについて、当該画素のＲ値、Ｇ値、Ｂ値から、輝度値Ｙ（Ｙ＝0.298912×Ｒ値＋0.586611×Ｇ値＋0.114478×Ｂ値）を算出する。そして、ＣＰＵ２２は、特定済みのＮ個の画素のうち、輝度値Ｙが大きい方から順にＮ×α個（例えばα＝０．０５〜０．１のうちのいずれかの値）の画素を特定する。
【００３６】
続いて、Ｓ５８では、ＣＰＵ２２は、特定済みのＮ×α個の画素のＲ値、Ｇ値、Ｂ値のそれぞれの平均値（以下では、Ｒ値の平均を「平均Ｒ値」、Ｇ値の平均を「平均Ｇ値」、Ｂ値の平均を「平均Ｂ値」と呼ぶ）を算出して、代表色特定処理を終了する。
【００３７】
（画像生成処理；図２のＳ１６から）
代表色特定処理が終了すると、Ｓ１６において、ＣＰＵ２２は、Ｓ１０で取得済みの写真データによって表される写真の色を補正すべきであるか否かを判断する。具体的には、最初に、ＣＰＵ２２は、Ｓ１４で特定された写真の代表色と、Ｓ１０で取得済みの代表色データで表される代表色と、のＲＧＢの色空間における距離が、所定の距離（例えば１０〜２０のうちのいずれかの値）以下であるか否かを判断する。
【００３８】
ここで、Ｓ１６における判断結果は、Ｓ１１で取得済みの処理情報テーブルによって異なる。例えば、処理情報テーブルに含まれる処理内容「テンプレートの色と写真の色とを近づける」と、「テンプレートの色と写真の色とを遠ざける」とのうち、いずれが「ＯＮ」であるかに応じて異なる。
【００３９】
処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」である場合、ＣＰＵ２２は、２個の代表色の距離が所定の距離よりも短い場合、写真の色を補正すべきであると判断し（Ｓ１６でＹＥＳ）、２個の代表色の距離が所定の距離以上である場合、テンプレートの色を補正すべきであると判断する（Ｓ１６でＮＯ）。
【００４０】
一方、処理内容「テンプレートの色と写真の色とを遠ざける」が「ＯＮ」である場合、ＣＰＵ２２は、２個の代表色の距離が所定の距離以上である場合、写真の色を補正すべきであると判断し（Ｓ１６でＹＥＳ）、２個の代表色の距離が所定の距離より小さい場合、テンプレートの色を補正すべきであると判断する（Ｓ１６でＮＯ）。
【００４１】
次いで、Ｓ１６でＹＥＳの場合、Ｓ１８において、ＣＰＵ２２は、写真データの色補正処理を実行する。具体的には、ＣＰＵ２２は、写真データによって表される写真の各画素のＲ値、Ｇ値、Ｂ値のそれぞれを、以下の数式により補正する。
【００４２】
【数１】
2015228574.tif 000003
【００４３】
なお、Ｃは、Ｒ、Ｇ、Ｂのいずれかを表し、Ｉｃは、補正前の画素のＣ（Ｒ、Ｇ、Ｂのいずれか）値を表し、Ｉｃ´は、補正後の画素のＣ（Ｒ、Ｇ、Ｂのいずれか）値を表す。但し、ＥＲ、ＥＧ、ＥＢについては、Ｓ１１で取得済みの処理情報テーブルに含まれる処理内容「テンプレートの色と写真の色とを近づける」と、「テンプレートの色と写真の色とを遠ざける」とのうち、いずれが「ＯＮ」であるかに応じて異なる。処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」である場合、ＥＲ、ＥＧ、ＥＢは、それぞれ、テンプレートの代表色のＲ値、Ｇ値、Ｂ値を表す。一方、処理内容「テンプレートの色と写真の色とを遠ざける」が「ＯＮ」である場合、ＥＲ、ＥＧ、ＥＢは、それぞれ、テンプレートの代表色の補色のＲ値、Ｇ値、Ｂ値を表す。例えば、Ｃ＝Ｒである場合、上記の数式は、補正前のＲ値＝ＩＲを用いて、補正後のＲ値＝ＩＲ´を算出する。
【００４４】
一方、Ｓ１６でＮＯの場合、Ｓ２０において、ＣＰＵ２２は、テンプレートデータの色補正処理を実行する。具体的には、ＣＰＵ２２は、テンプレートデータによって表されるテンプレートの各画素のＲ値、Ｇ値、Ｂ値のそれぞれを、上記の数式により補正する。なお、Ｓ２０では、処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」である場合、ＥＲ、ＥＧ、ＥＢは、それぞれ、写真の代表色のＲ値、Ｇ値、Ｂ値を表し、処理内容「テンプレートの色と写真の色とを遠ざける」が「ＯＮ」である場合、ＥＲ、ＥＧ、ＥＢは、それぞれ、写真の代表色の補色のＲ値、Ｇ値、Ｂ値を表す。
【００４５】
図４にＳ１６〜Ｓ２０の処理の具体例を示す。図４で示されるケースは、Ｓ１０で写真ＰＩ１の写真データが取得され、Ｓ１１でテンプレートＴ１のテンプレートデータが取得され、処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」であるケースである。なお、写真ＰＩ１は、カラー写真であり、テンプレートＴ１内の斜線は、テンプレートＴ１の色（例えば黄色）を表す。Ｓ１６において、写真の色を補正すべきであると判断される場合（Ｓ１６でＹＥＳ）、テンプレートＴ１は補正されずに、写真ＰＩ１は、テンプレートＴ１の代表色に近づくように、写真ＰＩ１全体の色が補正される。図４に示すように、補正後の写真ＰＩ１´に表される斜線は、写真ＰＩ１が全体的にテンプレートＴ１の色（例えば黄色）に近づいたことを表す。Ｓ１６において、テンプレートの色を補正すべきであると判断される場合（Ｓ１６でＮＯ）、写真ＰＩ１は補正されずに、テンプレートＴ１は、写真ＰＩ１の代表色（例えば青色）に近づくように、テンプレートＴ１全体の色が補正される。補正後のテンプレートＴ１´に表されるドットは、テンプレートＴ１が全体的にス写真ＰＩ１の代表色（例えば青色）に近づいたことを表す。
【００４６】
なお、処理内容「テンプレートの色と写真の色とを遠ざける」が「ＯＮ」である場合のＳ２０では、ＣＰＵ２２は、最初に、写真の代表色のＲ値、Ｇ値、Ｂ値を用いて、写真の代表色の補色のＲ値、Ｇ値、Ｂ値を算出する。具体的には、ＣＰＵ２２は、写真の代表色のＲ値、Ｇ値、Ｂ値を、Ｌａｂ色空間に変換し、変換後のａ値及びｂ値に「−１」を乗算する。次いで、ＣＰＵ２２は、変換後のＬ値と、「−１」を乗算した後のａ値及びｂ値と、を、ＲＧＢ色空間に変換することによって、写真の代表色の補色のＲ値、Ｇ値、Ｂ値を算出する。
【００４７】
２個の代表色の距離が所定の距離よりも短い場合とは、写真の代表色とテンプレートの代表色とが、比較的に似ている（即ち、写真とテンプレートとの色合いが比較的に近い）。一方、２個の代表色の距離が所定の距離以上である場合とは、写真の代表色とテンプレートの代表色とが、比較的に似ていない（即ち、写真とテンプレートとの色合いが比較的に遠い）。処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」である場合において、Ｓ１６〜Ｓ２０の処理を実行すると、写真の代表色とテンプレートの代表色とが比較的に似ている場合には、写真の色を補正し、写真の代表色とテンプレートの代表色とが比較的に似ていない場合には、テンプレートの色を補正する。即ち、色の補正量が小さい場合には、写真の色が補正される。この結果、テンプレートの色が維持される。これにより、テンプレートのデザイン性が損なわれずに済む。一方、色の補正量が大きい場合には、テンプレートの色が補正される。これにより、写真の色が大きく補正される事態を回避することができる。
【００４８】
この構成では、写真の代表色とテンプレートの代表色とに基づいて、写真データの色補正処理が実行される（図２のＳ１８）。この構成によると、ユーザによって選択された写真に応じた画像処理を実行することによって、合成画像データを生成することができる。
【００４９】
次いで、Ｓ２２では、ＣＰＵ２２は、Ｓ１１で取得済みのテンプレート情報に、付加画像データが含まれているか否かを判断する。例えば、Ｓ１１において、テンプレート情報ＴＩ１が取得される場合、テンプレート情報ＴＩ１は、１個以上の付加画像データが含まれているため、Ｓ２２でＹＥＳと判断される。一方、Ｓ１１において、テンプレート情報ＴＩ２が取得される場合、テンプレート情報ＴＩ２は、１個以上の付加画像データが含まれていないため、Ｓ２２でＮＯと判断される。Ｓ２２でＮＯの場合、Ｓ２２〜Ｓ４２をスキップして、Ｓ４４に進む。
【００５０】
一方、Ｓ２２でＹＥＳの場合、Ｓ２４において、ＣＰＵ２２は、Ｓ１０で取得済みの写真データを用いて、写真内の人間の顔を認識するための顔認識処理を実行する。具体的には、まず、ＣＰＵ２２は、写真データによって表される写真の左上に位置するＭ×Ｍ個の画素（Ｍは正の整数であり、例えばＭ＝３）を抽出する。次いで、Ｍ×Ｍ個の画素のそれぞれの画素値から、当該画素に関する特徴値（例えば輝度値）を算出する。そして、Ｍ×Ｍ個の画素から算出された特徴値を用いて、Ｍ×Ｍ個の画素から、顔の外縁を示す画素を特定する。例えば、Ｍ×Ｍ個の画素の特徴値を相互に比較することによって、Ｍ×Ｍ個の画素が顔の外縁を示す画素であるか否かを判断する。続いて、ＣＰＵ２２は、特徴値が算出されたＭ×Ｍ個の画素に隣接するＭ×Ｍ個の画素を抽出し、抽出済みのＭ×Ｍ個の画素のそれぞれから、特徴値を算出して、顔の外縁を示す画素を特定する。ＣＰＵ２２は、写真データによって表される写真に含まれる全画素について、Ｍ×Ｍ個の画素の抽出処理と、顔の外縁を示す画素の特定処理を、を実行する。これにより、顔の外縁を示す画素群が特定される。
【００５１】
次いで、ＣＰＵ２２は、顔の外縁を示す画素群の全てを囲む最小の矩形（即ち、顔の外縁を示す画素群に外接する矩形、図５の矩形ＦＲ１）を、特定する。なお、以下では、Ｓ２４で特定済みの矩形によって画定される領域を、「顔領域」と呼ぶ。
【００５２】
次いで、Ｓ２５では、ＣＰＵ２２は、Ｓ１１で取得済みのテンプレート情報に、顔領域以外への付加画像データが含まれているか否かを判断する。例えば、Ｓ１１において、テンプレート情報ＴＩ１が取得される場合、テンプレート情報ＴＩ１では、処理内容「顔領域以外に付加画像」が「ＯＮ」であるため、Ｓ２５でＹＥＳと判断される。一方、例えば、Ｓ１１において、テンプレート情報ＴＩ２が取得される場合、テンプレート情報ＴＩ２は、処理内容「顔領域以外に付加画像」が「ＯＦＦ」であるため、Ｓ２５でＮＯと判断される。Ｓ２５でＮＯの場合、Ｓ２６〜Ｓ３６をスキップして、Ｓ３８に進む。
【００５３】
一方、Ｓ２５でＹＥＳの場合、Ｓ２６において、ＣＰＵ２２は、Ｓ２４において、顔が認識されたか否かを判断する。Ｓ２４において、顔領域が算出されている場合、顔が認識されたと判断して（Ｓ２６でＹＥＳ）、Ｓ２８に進む。一方において、Ｓ２４において、顔領域が特定されていない場合、顔が認識されていないと判断して（Ｓ２６でＮＯ）、Ｓ２７に進む。
【００５４】
Ｓ２７では、ＣＰＵ２２は、Ｓ１１で取得済みのテンプレート情報に含まれる付加画像データによって表される付加画像（例えば、図５の文字列「Happy Birthday」）を付加すべき位置を示す付加位置データを、Ｓ１１で取得済みのテンプレート情報から取得して、Ｓ３８に進む。テンプレート情報に含まれる付加位置データによって示される付加位置は、写真の内容（例えば被写体）に関わらず、一意に決められている位置である。
【００５５】
一方、Ｓ２６でＹＥＳの場合、Ｓ２８において、ＣＰＵ２２は、写真内の顔領域を除く領域（例えば図５の領域ＥＡ１）に、付加画像を配置可能であるか否かを判断する。具体的には、写真内の顔領域を除く領域に、付加画像を含む最小矩形領域の縦方向の長さよりも長い縦方向を有し、かつ、付加画像を含む最小矩形領域の横方向の長さよりも長い横方向を有する特定領域が存在する場合、写真内の顔領域を除く領域に、付加画像を配置可能であると判断して（Ｓ２８でＹＥＳ）、Ｓ３０に進む。一方、写真内の顔領域を除く領域に、付加画像を含む最小矩形領域の縦方向の長さよりも長い縦方向を有し、かつ、付加画像を含む最小矩形領域の横方向の長さよりも長い横方向を有する領域が存在しない場合、写真内の顔領域を除く領域に、付加画像を配置不可能であると判断して（Ｓ２８でＮＯ）、Ｓ３２に進む。
【００５６】
Ｓ３０では、ＣＰＵ２２は、特定領域から付加画像がはみ出ないように、付加画像の基準位置を配置する付加位置を、特定領域内に決定して、Ｓ３８に進む。
【００５７】
Ｓ３２では、ＣＰＵ２２は、テンプレートに、付加画像を配置可能であるか否かを判断する。具体的には、テンプレートに、付加画像の縦方向の長さよりも長い縦方向を有し、かつ、付加画像の横方向の長さよりも長い横方向を有する領域が存在する場合、テンプレートに、付加画像を配置可能であると判断して（Ｓ３２でＹＥＳ）、Ｓ３４に進む。一方、テンプレートに、付加画像の縦方向の長さよりも長い縦方向を有し、かつ、付加画像の横方向の長さよりも長い横方向を有する領域が存在しない場合、テンプレートに、付加画像を配置不可能であると判断して（Ｓ３２でＮＯ）、Ｓ３６に進む。
【００５８】
Ｓ３４では、ＣＰＵ２２は、テンプレートから付加画像がはみ出ないように、付加画像の基準位置を配置する付加位置を、テンプレート内に決定して、Ｓ３８に進む。
【００５９】
Ｓ３６では、ＣＰＵ２２は、Ｓ１１で取得済みのテンプレート情報に含まれている代替テンプレート識別情報を用いて、代替のテンプレート情報を、メモリ２４から取得する。なお、代替のテンプレート情報に含まれるテンプレートデータによって表されるテンプレートは、代替のテンプレート情報に含まれる付加画像データのうち、テンプレートに付加され得る付加画像データによって表される付加画像を含む最小矩形領域よりも大きい領域を有する。次いで、ＣＰＵ２２は、取得済みの代替のテンプレート情報から、付加画像を付加するための付加位置を取得して、Ｓ３８に進む。
【００６０】
Ｓ３８では、ＣＰＵ２２は、Ｓ１１で取得済みのテンプレート情報に、顔領域への付加画像データが含まれているか否かを判断する。例えば、Ｓ１１において、テンプレート情報ＴＩ１が取得される場合、テンプレート情報ＴＩ１では、処理内容「顔領域に付加画像」が「ＯＮ」であるため、Ｓ３８でＹＥＳと判断され、Ｓ４０に進む。一方、例えば、Ｓ１１において、テンプレート情報ＴＩ２が取得される場合、テンプレート情報ＴＩ２は、処理内容「顔領域に付加画像」が「ＯＦＦ」であるため、Ｓ３８でＮＯと判断され、Ｓ４０，Ｓ４２をスキップして、Ｓ４４に進む。
【００６１】
Ｓ４０では、ＣＰＵ２２は、Ｓ２６と同様の手法で、Ｓ２４の顔認識処理において、顔が認識されたか否かを判断する。顔が認識されたと判断される場合（Ｓ４０でＹＥＳ）、Ｓ４２に進む。一方において、顔が認識されていないと判断される場合（Ｓ４０でＮＯ）、Ｓ４２をスキップして、Ｓ４４に進む。
【００６２】
Ｓ４２では、ＣＰＵ２２は、顔領域内に付加画像の基準点を配置するための付加位置を算出する。具体的には、ＣＰＵ２２は、Ｓ２４で特定済みの顔領域の幅（即ち横方向の画素数）（例えば図５の幅Ｗ）と、高さ（即ち上下方向の画素数）（例えば図５の高さＨ）と、を算出する。次いで、ＣＰＵ２２は、算出済みの幅の左から所定の位置（例えば幅の１／２の位置）であって、算出済みの高さの下から所定の位置（例えば１／３の位置）の座標を、付加位置と決定する。さらに、ＣＰＵ２２は、Ｓ２４で算出された顔領域の幅を、Ｓ１１で取得済みのテンプレート情報に含まれる基準顔領域寸法で除算した値だけ、付加画像を拡大又は縮小して、Ｓ４４に進む。
【００６３】
Ｓ４４では、ＣＰＵ２２は、合成画像を表す合成画像データを生成する。図５〜８を用いて、Ｓ４４の合成画像データの生成処理を説明する。なお、Ｓ１１で取得済みのテンプレート情報は、文字列「Happy Birthday」を示す付加画像の付加画像データと、ひげを示す付加画像の付加画像データと、を含む。また、Ｓ１１で取得済みのテンプレート情報の処理内容「顔領域以外に付加画像（文字）」、「顔領域に付加画像（ひげ）」は、ともに「ＯＮ」である。Ｓ４４では、さらに、ＣＰＵ２２は、生成済みの合成画像データを、Ｓ１０の写真データの送信元のデバイス（例えばＰＣ２００）に送信して、画像生成処理を終了する。これにより、デバイスは、画像処理サーバ１０から受信済みの合成画像データを用いた印刷処理を実行する。あるいは、デバイスは、画像処理サーバ１０から受信済みの合成画像データによって表される合成画像を、デバイスの表示部に表示させてもよいし、外部のデバイスに送信してもよい。なお、ケースＡ〜Ｄの写真は、Ｓ１８の処理が実行されている場合もあれば、実行されていない場合もある。また、ケースＡ〜Ｄのテンプレートは、Ｓ２０の処理が実行されている場合もあれば、実行されていない場合もある。
【００６４】
（ケースＡ：顔が認識されなかったケース；図５）
本ケースでは、Ｓ４４では、最初に、ＣＰＵ２２は、写真ＰＩ２を、テンプレートＴ１の所定位置に挿入する。なお、Ｓ１０で取得された写真ＰＩ２には、人間の顔が写っていない。ケースＡでは、顔認識処理（図２のＳ２４）において顔認識がされていないため（Ｓ２６でＮＯ）、文字列「Happy Birthday」の基準点がテンプレート情報に含まれている所定の付加位置に一致するように、写真ＰＩに文字列「Happy Birthday」が付加される。具体的には、ＣＰＵ２２は、文字列「Happy Birthday」の基準点がテンプレート情報に含まれている所定の付加位置に一致するように、写真ＰＩに文字列「Happy Birthday」が重ね合されたときに、文字列「Happy Birthday」を構成する複数の画素のそれぞれについて、当該画素に重複する写真ＰＩ２内の画素の画素値を、当該画素の画素値に置換する。これにより、ＣＰＵ２２は、合成画像ＳＩ１を表す合成画像データを生成する。この構成によれば、文字列を所定の付加位置に配置することができる。
【００６５】
ケースＡでは、顔認識処理（図２のＳ２４）において顔認識がされていないため（Ｓ４０でＮＯ）、テンプレート情報において「顔領域に付加画像（ひげ）」は「ＯＮ」であるにも関わらず、ひげを表す画像は、写真ＰＩ２に付加されない。
【００６６】
（ケースＢ：顔が認識され、かつ、写真内に文字が付加されるケース；図６）
ケースＢでは、Ｓ１１において、ケースＡと同一のテンプレート情報が取得されている。図６に示すように、ケースＢでは、顔認識処理（図２のＳ２４）において顔認識がされている（Ｓ２６でＹＥＳ）。但し、写真ＰＩ１に対して、顔領域ＦＲ１が比較的に小さいため、文字列「Happy Birthday」は、写真ＰＩ１内の顔領域ＦＲ１以外の領域ＥＡ１に配置可能である（Ｓ２８でＹＥＳ）。この場合、ＣＰＵ２２は、領域ＥＡ１内で、文字列「Happy Birthday」を配置可能な位置を特定し、文字列「Happy Birthday」の基準点を配置すべき付加位置の座標を特定する（Ｓ３０）。また、ＣＰＵ２２は、顔領域Ｒの幅Ｗと高さＨから、ひげ画像の基準点を配置すべき付加位置を算出する（Ｓ４２）。
【００６７】
Ｓ４４の処理において、最初に、ＣＰＵ２２は、写真ＰＩ１を、テンプレートＴ１の所定位置に挿入する。次いで、ＣＰＵ２２は、ケースＡの場合と同様に、文字列「Happy Birthday」の基準点がＳ３０で特定された付加位置に一致するように、写真ＰＩ１に文字列「Happy Birthday」を付加する。さらに、ＣＰＵ２２は、ひげ画像の基準点がＳ４２で算出された付加位置に一致するように、写真ＰＩ１にひげ画像を付加する。即ち、ＣＰＵ２２は、ひげ画像の基準点がＳ４２で算出された付加位置に一致するように、写真ＰＩにひげ画像が重ね合されたときに、ひげ画像を構成する複数の画素のそれぞれについて、当該画素に重複する写真ＰＩ１内の画素の画素値を、当該画素の画素値に置換する。これにより、ＣＰＵ２２は、合成画像ＳＩ２を表す合成画像データを生成する。この構成によると、写真内の領域ＥＡ１に、文字列が配置されている合成画像データＳＩ２を生成することができる。
【００６８】
（ケースＣ：顔が認識され、かつ、テンプレート内に文字が付加されるケース；図７）
ケースＣでは、Ｓ１１において、ケースＢと同一のテンプレート情報が取得されている。図７に示すように、ケースＣでは、顔認識処理（図２のＳ２４）において顔認識がされている（Ｓ２６でＹＥＳ）。但し、写真ＰＩ３に対して、顔領域ＦＲ２が比較的に大きいため、文字列「Happy Birthday」は、写真ＰＩ３内の顔領域ＦＲ２以外の領域ＥＡ２に配置不可能である（Ｓ２８でＮＯ）。この場合、ＣＰＵ２２は、テンプレート内で、文字列「Happy Birthday」を配置可能な位置を特定し、文字列「Happy Birthday」の基準点を配置すべき付加位置の座標を特定する（Ｓ３４）。また、ケースＢと同様に、ＣＰＵ２２は、顔領域Ｒの幅Ｗと高さＨから、ひげ画像の基準点を配置すべき付加位置を算出する（Ｓ４２）。
【００６９】
Ｓ４４の処理において、最初に、ＣＰＵ２２は、写真ＰＩ３を、テンプレートＴ１の所定位置に挿入する。次いで、ＣＰＵ２２は、文字列「Happy Birthday」の基準点がＳ３４で特定された付加位置に一致するように、テンプレートＴ１に文字列「Happy Birthday」を付加する。具体的には、ＣＰＵ２２は、文字列「Happy Birthday」の基準点がＳ３４で特定された付加位置に一致するように、テンプレートＴ１に文字列「Happy Birthday」が重ね合されたときに、文字列「Happy Birthday」を構成する複数の画素のそれぞれについて、当該画素に重複するテンプレートＴ１内の画素の画素値を、当該画素の画素値に置換する。
【００７０】
さらに、ＣＰＵ２２は、ケースＢと同様に、ひげ画像の基準点がＳ４２で算出された付加位置に一致するように、写真ＰＩ２にひげ画像を付加する。これにより、ＣＰＵ２２は、合成画像ＳＩ３を表す合成画像データを生成する。この構成によると、写真内の領域ＥＡ２の寸法が文字列よりも小さい場合に、領域ＥＡに文字列を配置して、写真内の顔に文字列が重複する事態を回避することができる。
【００７１】
ケースＡ〜Ｃから明らかなように、Ｓ１１で取得されるテンプレート情報が同一であっても、写真ＰＩ１〜ＰＩ３から得られる顔領域に応じて、生成される合成画像が異なる。一般的には、「生成部は、テンプレートデータと処理情報が取得される場合であって、かつ、算出済みの特徴値が第１の特徴値である場合に、取得済みのテンプレートデータと処理情報と対象画像データとを用いて、第１の合成画像データを生成し、算出済みの特徴値が第１の特徴値と異なる第２の特徴値である場合に、取得済みのテンプレートデータと処理情報と対象画像データとを用いて、第１の合成画像データと異なる第２の合成画像データを生成する」と言うことができる。
【００７２】
（ケースＤ：顔が認識され、かつ、写真内にもテンプレート内にも文字が付加できないケース；図８）
図８に示すように、ケースＤでは、顔認識処理（図２のＳ２４）において顔認識がされている（Ｓ２６でＹＥＳ）。但し、写真ＰＩ３に対して、顔領域ＦＲ２が比較的に大きいため、文字列「Happy Birthday」は、写真ＰＩ３内の顔領域ＦＲ２以外の領域ＥＡ２に配置不可能である（Ｓ２８でＮＯ）。また、テンプレートＴＩ２には、文字列「Happy Birthday」を配置可能な領域が存在しない（Ｓ３２でＮＯ）。この場合、ＣＰＵ２２は、Ｓ３６で特定された代替テンプレートＴ１を用いて、ケースＣと同様にして、合成画像ＳＩ４を表す合成画像データを生成する。
【００７３】
上記から明らかなように、本実施例の構成では、画像処理サーバ１０は、図２のＳ１１で取得済みのテンプレート情報に基づいて、図２の画像生成処理を完結することができる。即ち、画像処理サーバ１０は、画像生成処理を実行する際に、画像生成処理に関して、ユーザから何らかの指示を取得せずに済む。この結果、画像生成処理を実行する際に、ユーザに処理内容を選択させずに済む。
【００７４】
本実施例では、図２のＳ１４〜Ｓ２０において、Ｓ１１において取得されたテンプレート情報（「テンプレートデータ」と「処理情報」との一例）が同一であっても、写真の代表色（「特徴値」の一例）に応じて、処理内容（即ち、写真データの色補正処理又はテンプレートデータの色補正処理）が変化する。この結果、異なる合成画像データが生成される。一般的には、「生成部は、取得済みのテンプレートでデータと処理情報とのいずれもが同一であっても、特徴値が異なれば、異なる合成画像データが生成される」ということができる。
【００７５】
本実施例では、例えば、テンプレート情報に含まれる処理情報に応じて、Ｓ１４の代表色特定処理が実行されるか否かが異なる。また、例えば、付加画像の有無に応じて、Ｓ２４の顔認識処理が実行されるか否かが異なる。一般的には、「算出部は、処理情報に応じて、異なる特徴値を算出する」ということができる。
【００７６】
（対応関係）
画像処理サーバ１０が、「画像処理装置」の一例であり、プリンタ１００が、「出力部」の一例である。写真ＰＩ１〜４が、「対象画像」の一例である。テンプレート情報ＴＩ１、ＴＩ２に含まれる処理内容が「処理情報」の一例であり、処理内容「テンプレートの色と写真の色とを近づける」、「テンプレートの色と写真の色とを遠ざける」が、それぞれ、「第１の処理情報」、「第２の処理情報」の一例である。図２のＳ１４で算出される写真の代表色を表す画素値、Ｓ２４で算出される顔領域ＦＲ１，２が、それぞれ、「特徴値」の一例である。顔領域が、「特定領域」の一例である。Ｓ１６で算出されるテンプレートの代表色が、「テンプレートに関連する関連色」の一例である。Ｓ１６において、処理内容「テンプレートの色と写真の色とを近づける」が「ＯＮ」である場合に、ＣＰＵ２２は、２個の代表色の距離が所定の距離よりも短いこと、処理内容「テンプレートの色と写真の色とを遠ざける」が「ＯＮ」である場合に、２個の代表色の距離が所定の距離以上であること、が、それぞれ「特定条件」の一例である。
【００７７】
図２のＳ１０で写真データを取得する処理が、「対象データ取得部」が実行する処理の一例である。Ｓ１１でテンプレート情報を取得する処理が、「テンプレート関係情報取得部」が実行する処理の一例である。Ｓ１４で代表色を算出する処理と、Ｓ２４で顔領域を算出する処理と、のそれぞれが、「算出部」が実行する処理の一例である。ＡＳ１６で写真の色を補正すべきであるか否かを判断する処理と、Ｓ２８において付加画像を顔領域以外の領域に配置可能である否かを判断する処理と、のそれぞれが、「判断部」が実行する処理の一例である。Ｓ４４で合成画像データを生成する処理が、「生成部」が実行する処理の一例である。Ｓ４４で合成画像データを送信する処理が、「出力制御部」が実行する処理の一例である。
【００７８】
（第２実施例）
第１実施例と異なる点を説明する。図９に示すように、本実施例では、画像処理サーバ１０が実行する画像生成処理において、図２のＳ３２と同様のＳ３２において、テンプレートに、付加画像を配置不可能であると判断される場合（Ｓ３２でＮＯ）、Ｓ１０１において、ＣＰＵ２２は、付加画像の寸法がテンプレートの所定の付加位置に配置可能となるように、即ち、付加画像がテンプレートからはみ出さないように、付加画像の寸法を縮小して、Ｓ３４に進む。なお、所定の付加位置は、テンプレート情報に含まれている。
【００７９】
図１０は、本実施例の画像生成処理の具体例を示す。図１０では、図９のＳ１０１において、文字列「Happy Birthday」が縮小される。そして、Ｓ４０の処理では、最初に、ＣＰ２２は、写真ＰＩ３を、テンプレートＴＩ２の所定位置に挿入する。次いで、ＣＰＵ２２は、縮小された文字列「Happy Birthday」を、ケースＣと同様に、テンプレートの所定の付加位置に付加する。また、ケースＣと同様に、ひげ画像を、写真ＰＩ３に配置するころによって、合成画像ＳＩ４を表す合成画像データを生成する。
【００８０】
本実施例によると、文字列「Happy Birthday」がテンプレートに配置することができない場合に、代替のテンプレートを使用せずに済む。この結果、ユーザが選択したテンプレートを変更せずに済む。なお、変形例では、テンプレート情報が、付加画像データに加えて、付加画像データによって表される付加画像の寸法が縮小された縮小付加画像を表す画像データを、予め含んでいてもよい。
【００８１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００８２】
（変形例１）上記の各実施例では、画像処理サーバ１０が画像生成処理（図２、図８参照）を実行することによって、合成画像データを生成し、合成画像データをプリンタ１００に送信する。しかしながら、プリンタ１００が画像生成処理（図２、図８参照）を実行することによって、合成画像データを生成し、合成画像データによって表される合成画像を印刷媒体に印刷してもよい。本変形例では、プリンタ１００が、「画像処理装置」の一例である。あるいは、ＰＣ２００が、画像処理サーバ１０の機能を備えていてもよい。この場合、ＰＣ２００が「画像処理装置」の一例である。
【００８３】
（変形例２）
上記の各実施例では、図２のＳ２４において顔認識処理を実行している。顔認識処理の手法は、上記の実施例の手法（即ちＭ×Ｍ個の画素を抽出する手法）以外の手法であってもよい。例えば、予めメモリに格納されている複数のサンプル画像を用いて、写真内の顔領域を特定してもよい（例えば特開２００９−２３７６１８号公報参照）。この場合、写真と予めメモリに格納されている複数のサンプル画像とを比較して、類似度を算出し、類似度に応じて、写真内の顔領域を特定してもよい。
【００８４】
（変形例３）
上記の各実施例において、画像生成処理の処理順序は、図２、図８のフローチャートで示される順序に限られない。例えば、Ｓ３８〜Ｓ４２の処理（顔領域に付加画像）が先に実行され、Ｓ２５〜Ｓ３６の処理（顔領域以外に付加画像）が後に実行されてもよい。また、例えば、テンプレートに写真を挿入する処理（Ｓ４４の一部の処理）の後に、Ｓ１６〜Ｓ２０（色補正処理）を実行してもよい。一般的には、「対象画像に対して付加画像を付加するための画像処理を実行した後で、処理済みの対象画像とテンプレートとの合成画像を生成してもよく、対象画像とテンプレートとの合成画像を生成した後で、合成済みの対象画像に対して付加画像を付加するための画像処理を実行してもよい」と言うことができる。
【００８５】
（変形例４）上記の実施例では、画像処理サーバ１０のＣＰＵ２２がプログラム２６（即ちソフトウェア）を実行することによって、図２、図３、図８の処理が実現される。これに代えて、図２、図３、図８の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００８６】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８７】
２：画像処理システム、１０：画像処理サーバ、２０：制御部、２２：ＣＰＵ、２４：メモリ、１００：プリンタ、２００：ＰＣ、ＴＩ１，ＴＩ２：テンプレート情報
【図１】
2015228574.tif 000004
【図２】
2015228574.tif 000005
【図３】
2015228574.tif 000006
【図４】
2015228574.tif 000007
【図５】
2015228574.tif 000008
【図６】
2015228574.tif 000009
【図７】
2015228574.tif 000010
【図８】
2015228574.tif 000011
【図９】
2015228574.tif 000012
【図１０】
2015228574.tif 000013