(57)【要約】【課題】第１の画像を用いて、第２の画像を生成する新たな技術を提供する。【解決手段】画像処理装置は、第１の画像を表す第１の画像データを取得する取得部と、第１の画像に含まれる部分画像を特定する第１の特定部と、部分画像に含まれる内部領域を特定する第２の特定部と、部分画像が複数個連続して並べられた第２の画像を生成する生成部と、を備える。第２の画像内に並べられた複数個の部分画像は、第１の部分画像と、第１の部分画像と連続して並べられ、第１の部分画像の内部領域と重なる第２の部分画像を含む。【選択図】  図１２
2015041982.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
第１の画像を表す第１の画像データを取得する取得部と、
前記第１の画像に含まれる部分画像を特定する第１の特定部と、
前記部分画像に含まれる内部領域を特定する第２の特定部と、
前記部分画像が複数個連続して並べられた第２の画像を生成する生成部と、
を備え、
前記第２の画像内に並べられた複数個の前記部分画像は、第１の部分画像と、前記第１の部分画像と連続して並べられる部分画像であって前記第１の部分画像の前記内部領域と重なる第２の部分画像と、を含む、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記生成部は、複数個の前記部分画像が隙間無く並ぶ前記第２の画像を生成する、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記生成部は、前記第１の部分画像の前記内部領域と前記第２の部分画像の前記内部領域とが接する前記第２の画像を生成する、画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、
前記生成部は、前記第１の部分画像の前記内部領域を構成する全ての辺が、他の前記部分画像の前記内部領域を構成する複数個の辺のいずれかと接する前記第２の画像を生成する、画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像処理装置であって、
前記第１の特定部は、前記第１の画像の少なくとも前記部分画像を含む領域内の複数個の画素を、背景を表す背景画素と、オブジェクトを表すオブジェクト画素と、に分類し、複数個の前記オブジェクト画素によって構成される前記部分画像を特定する、画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記第１の特定部は、連続する複数個の前記オブジェクト画素によって構成される前記部分画像を特定する、画像処理装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の画像処理装置であって、
前記内部領域は、前記部分画像の輪郭に内接する矩形である内接矩形である、画像処理装置。
【請求項８】
請求項７に記載の画像処理装置であって、
前記内接矩形は、前記部分画像の輪郭に内接する最大の矩形である、画像処理装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載の画像処理装置であって、
前記第２の画像は、第２の部分画像と連続して並べられる第３の部分画像を含み、
前記第１の部分画像と前記第２の部分画像と前記第３の部分画像とは、特定方向に沿って並んでおり、
前記第２の部分画像が、前記第１の部分画像と前記第３の部分画像との上に重なるように配置されている、画像処理装置。
【請求項１０】
請求項９に記載の画像処理装置であって、
前記第２の画像は、前記特定方向に沿う第１の列を構成する複数個の前記部分画像と、前記第１の列と隣接し、前記特定方向に沿う第２の列を構成する複数個の前記部分画像と、を含み、
前記第１の列の奇数番目の前記部分画像は、前記第１の列の偶数番目の前記部分画像の上に重なるように配置され、
前記第２の列の偶数番目の前記部分画像は、前記第２の列の奇数番目の前記部分画像の上に重なるように配置されている、画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置であって、
前記第２の画像内の複数個の前記部分画像が重なる順序は、ランダムに決定されている、画像処理装置。
【請求項１２】
請求項１ないし請求項１１のいずれかに記載の画像処理装置であって、さらに、
前記部分画像のサイズを変更する第１の変更部を備え、
前記生成部は、サイズが互いに異なる前記部分画像が複数個連続して並べられた第２の画像を生成する、画像処理装置。
【請求項１３】
請求項１２に記載の画像処理装置であって、さらに、
前記第２の画像は、特定方向に並ぶサイズが互いに異なる複数個の前記部分画像を含む第１の部分画像群と、前記第１の部分画像群に対して、前記特定方向と交差する方向に隣り合う複数個の前記部分画像を含む第２の部分画像群と、を含み、
前記生成部は、前記第１の部分画像群に属するサイズが最も小さい前記部分画像の前記内部領域を基準として、前記第１の部分画像群に対して前記第２の部分画像群を配置する、画像処理装置。
【請求項１４】
請求項１２に記載の画像処理装置であって、さらに、
前記第１の変更部は、複数個の前記部分画像のサイズを互いに異なる倍率で拡大し、
前記第２の画像は、特定方向に並ぶサイズが互いに異なる複数個の前記部分画像を含む第１の部分画像群と、前記第１の部分画像群に対して、前記特定方向と交差する方向に隣り合う複数個の前記部分画像を含む第２の部分画像群と、を含み、
前記生成部は、拡大前のサイズの前記部分画像の前記内部領域を基準として、前記第１の部分画像群に対して前記第２の部分画像群を配置する、画像処理装置。
【請求項１５】
請求項１ないし請求項１４のいずれかに記載の画像処理装置であって、さらに、
前記部分画像の色を変更する第２の変更部を備え、
前記第２の画像は、色が互いに異なる複数個の前記部分画像を含む、画像処理装置。
【請求項１６】
請求項１５に記載の画像処理装置であって、さらに、
前記第２の変更部は、前記第２の画像内で複数個の前記部分画像が重なる順序に応じて、段階的に複数個の前記部分画像の色を変更する、画像処理装置。
【請求項１７】
請求項１ないし請求項１６のいずれかに記載の画像処理装置であって、さらに、
前記第２の画像を含む特定画像を表す第１の特定画像データと、前記特定画像と余白とを含む画像を表す第２の特定画像データと、を出力し、
前記第１の特定画像データを用いて第１種の用紙に印刷される前記特定画像の用紙上のサイズと、前記第２の特定画像データを用いて前記第１種の用紙より大きな第２種の用紙に印刷される前記特定画像の用紙上のサイズは等しい、画像処理装置。
【請求項１８】
コンピュータプログラムであって、
第１の画像を表す第１の画像データを取得する取得機能と、
前記第１の画像に含まれる部分画像を特定する第１の特定機能と、
前記部分画像に含まれる内部領域を特定する第２の特定機能と、
前記部分画像が複数個連続して並べられた第２の画像を生成する生成機能と、
をコンピュータに実現させ、
前記第２の画像内に並べられた複数個の前記部分画像は、第１の部分画像と、前記第１の部分画像と連続して並べられる部分画像であって前記第１の部分画像の前記内部領域と重なる第２の部分画像と、を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関し、特に、元画像を用いて、元画像とは異なる画像を生成する画像処理技術に関する。
【背景技術】
【０００２】
デジタルカメラなどによって取得された元画像を用いて、別の画像を生成することが行われている。例えば、写真画像内の顔領域と、フレーム画像と、を合成する技術が知られている（例えば、特許文献１）。この結果、顔領域を含む見栄えの良い画像を生成することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２００７−２３５１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、第１の画像を用いて、見栄えの良い第２の画像を生成することは、例えば、第１の画像の用途を広げることができ、有用である。
【０００５】
本発明の目的は、第１の画像を用いて、第２の画像を生成する新たな技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、
第１の画像を表す第１の画像データを取得する取得部と、
前記第１の画像に含まれる部分画像を特定する第１の特定部と、
前記部分画像に含まれる内部領域を特定する第２の特定部と、
前記部分画像が複数個連続して並べられた第２の画像を生成する生成部と、
を備え、
前記第２の画像内に並べられた複数個の前記部分画像は、第１の部分画像と、前記第１の部分画像と連続して並べられる部分画像であって前記第１の部分画像の前記内部領域と重なる第２の部分画像と、を含む、画像処理装置。
【０００８】
この構成によれば、第１の部分画像と、第１の部分画像の内部領域と重なる第２の部分画像と、を含む複数個の部分画像が連続して並べられた第２の画像が生成される。この結果、第１の部分画像と第２の部分画像との隙間の発生を抑制することによって第２の画像の見栄えを向上することができる。したがって、第１の画像を用いて見栄えの良い第２の画像を生成することができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、
前記生成部は、複数個の前記部分画像が隙間無く並ぶ前記第２の画像を生成する、画像処理装置。
【００１０】
この構成によれば、複数個の部分画像が隙間無く並ぶ第２の画像が生成されるので、第２の画像の見栄えをさらに向上することができる。
【００１１】
［適用例３］適用例１または適用例２に記載の画像処理装置であって、
前記生成部は、前記第１の部分画像の前記内部領域と前記第２の部分画像の前記内部領域とが接する前記第２の画像を生成する、画像処理装置。
【００１２】
この構成によれば、第１の部分画像と第２の部分画像との隙間の発生をより適切に抑制することができる。
【００１３】
［適用例４］適用例１ないし適用例３のいずれかに記載の画像処理装置であって、
前記生成部は、前記第１の部分画像の前記内部領域を構成する全ての辺が、他の前記部分画像の前記内部領域を構成する複数個の辺のいずれかと接する前記第２の画像を生成する、画像処理装置。
【００１４】
この構成によれば、複数個の部分画像が隙間無く並ぶ第２の画像を、より確実に生成できる。
【００１５】
［適用例５］適用例１ないし適用例４のいずれかに記載の画像処理装置であって、
前記第１の特定部は、前記第１の画像の少なくとも前記部分画像を含む領域内の複数個の画素を、背景を表す背景画素と、オブジェクトを表すオブジェクト画素と、に分類し、複数個の前記オブジェクト画素によって構成される前記部分画像を特定する、画像処理装置。
【００１６】
この構成によれば、適切に部分画像を特定することができる。
【００１７】
［適用例６］適用例５に記載の画像処理装置であって、
前記第１の特定部は、連続する複数個の前記オブジェクト画素によって構成される前記部分画像を特定する、画像処理装置。
【００１８】
この構成によれば、連続する複数個のオブジェクト画素によって構成される部分画像を複数個並べて第２の画像を生成するので、複数個のオブジェクトが並ぶ第２の画像において、オブジェクト間の隙間の発生を抑制することができる。
【００１９】
［適用例７］適用例１ないし適用例６のいずれかに記載の画像処理装置であって、
前記内部領域は、前記部分画像の輪郭に内接する矩形である内接矩形である、画像処理装置。
【００２０】
この構成によれば、複数個の部分画像が隙間無く並ぶ第２の画像を、より確実に生成できる。
【００２１】
［適用例８］適用例７に記載の画像処理装置であって、
前記内接矩形は、前記部分画像の輪郭に内接する最大の矩形である、画像処理装置。
【００２２】
この構成によれば、第２の画像において、複数個の部分画像が互いに重なる領域が過大になることを抑制できるので、第２の画像の見栄えを向上することができる。
【００２３】
［適用例９］適用例１ないし適用例８のいずれかに記載の画像処理装置であって、
前記第２の画像は、第２の部分画像と連続して並べられる第３の部分画像を含み、
前記第１の部分画像と前記第２の部分画像と前記第３の部分画像とは、特定方向に沿って並んでおり、
前記第２の部分画像が、前記第１の部分画像と前記第３の部分画像との上に重なるように配置されている、画像処理装置。
【００２４】
この構成によれば、第２の部分画像が、第１の部分画像と第３の部分画像との上に重ねられていることによって、第２の画像の見栄えが向上し得る。
【００２５】
［適用例１０］適用例９に記載の画像処理装置であって、
前記第２の画像は、前記特定方向に沿う第１の列を構成する複数個の前記部分画像と、前記第１の列と隣接し、前記特定方向に沿う第２の列を構成する複数個の前記部分画像と、を含み、
前記第１の列の奇数番目の前記部分画像は、前記第１の列の偶数番目の前記部分画像の上に重なるように配置され、
前記第２の列の偶数番目の前記部分画像は、前記第２の列の奇数番目の前記部分画像の上に重なるように配置されている、画像処理装置。
【００２６】
この構成によれば、複数個の部分画像の重なり方によって第２の画像の見栄えが向上し得る。
【００２７】
［適用例１１］適用例１０に記載の画像処理装置であって、
前記第２の画像内の複数個の前記部分画像が重なる順序は、ランダムに決定されている、画像処理装置。
【００２８】
この構成によれば、複数個の部分画像の重なり方によって第２の画像の見栄えが向上し得る。
【００２９】
［適用例１２］適用例１ないし適用例１１のいずれかに記載の画像処理装置であって、さらに、
前記部分画像のサイズを変更する第１の変更部を備え、
前記生成部は、サイズが互いに異なる前記部分画像が複数個連続して並べられた第２の画像を生成する、画像処理装置。
【００３０】
この構成によれば、複数個の部分画像のサイズが互いに異なることによって第２の画像の見栄えが向上し得る。
【００３１】
［適用例１３］適用例１２に記載の画像処理装置であって、さらに、
前記第２の画像は、特定方向に並ぶサイズが互いに異なる複数個の前記部分画像を含む第１の部分画像群と、前記第１の部分画像群に対して、前記特定方向と交差する方向に隣り合う複数個の前記部分画像を含む第２の部分画像群と、を含み、
前記生成部は、前記第１の部分画像群に属するサイズが最も小さい前記部分画像の前記内部領域を基準として、前記第１の部分画像群に対して前記第２の部分画像群を配置する、画像処理装置。
【００３２】
この構成によれば、第１の部分画像群と第２の部分画像群との隙間の発生を抑制することができる。この結果、第２の画像の見栄えが向上し得る。
【００３３】
［適用例１４］適用例１２に記載の画像処理装置であって、さらに、
前記第１の変更部は、複数個の前記部分画像のサイズを互いに異なる倍率で拡大し、
前記第２の画像は、特定方向に並ぶサイズが互いに異なる複数個の前記部分画像を含む第１の部分画像群と、前記第１の部分画像群に対して、前記特定方向と交差する方向に隣り合う複数個の前記部分画像を含む第２の部分画像群と、を含み、
前記生成部は、拡大前のサイズの前記部分画像の前記内部領域を基準として、前記第１の部分画像群に対して前記第２の部分画像群を配置する、画像処理装置。
【００３４】
この構成によれば、複数個の部分画像の隙間の発生を抑制することができる。この結果、第２の画像の見栄えが向上し得る。
【００３５】
［適用例１５］適用例１ないし適用例１４のいずれかに記載の画像処理装置であって、さらに、
前記部分画像の色を変更する第２の変更部を備え、
前記第２の画像は、色が互いに異なる複数個の前記部分画像を含む、画像処理装置。
【００３６】
この構成によれば、複数個の部分画像の色が互いに異なることによって第２の画像の見栄えが向上し得る。
【００３７】
［適用例１６］適用例１５に記載の画像処理装置であって、さらに、
前記第２の変更部は、前記第２の画像内で複数個の前記部分画像が重なる順序に応じて、段階的に複数個の前記部分画像の色を変更する、画像処理装置。
【００３８】
この構成によれば、複数個の部分画像が重なる順序に応じて、段階的に複数個の部分画像の色を変更するので、第２の画像の見栄えが向上し得る。
【００３９】
［適用例１７］適用例１ないし適用例１６のいずれかに記載の画像処理装置であって、さらに、
前記第２の画像を含む特定画像を表す第１の特定画像データと、前記特定画像と余白とを含む画像を表す第２の特定画像データと、を出力し、
前記第１の特定画像データを用いて第１種の用紙に印刷される前記特定画像の用紙上のサイズと、前記第２の特定画像データを用いて前記第１種の用紙より大きな第２種の用紙に印刷される前記特定画像の用紙上のサイズは等しい、画像処理装置。
【００４０】
この構成によれば、ユーザは、第２の特定画像データを用いて第２種の用紙に画像を印刷することによって、特定画像を第１種の用紙に印刷することなく、特定画像の内容を適切に確認することができる。
【００４１】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法、これらの装置の機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００４２】
【図１】第１実施例における画像処理システムの構成を示すブロック図である。
【図２】テンプレートデータの一例を示す図である。
【図３】画像処理システム１０００の動作を示すフローチャートである。
【図４】ＵＩ画像の一例を示す図である。
【図５】スキャン画像の一例を示す図である。
【図６】テクスチャ画像生成処理のフローチャートである。
【図７】素材画像情報１６の一例を示す図である。
【図８】素材画像配置処理のフローチャートである。
【図９】キャンバス領域２０と配置位置の一例を示す図である。
【図１０】順序データ２２の一例を示す図である。
【図１１】本実施例の一次元ルックアップテーブルの一例を説明する図である。
【図１２】素材画像５の配置処理を説明する図である。
【図１３】生成されたテクスチャ画像３０の一例を示す図である。
【図１４】合成画像データによって表される合成画像１０Ｍの一例を示す図である。
【図１５】変形例におけるキャンバス領域２０と配置位置の一例を示す図である。
【図１６】変形例におけるテクスチャ画像３０Ａが示されている。
【発明を実施するための形態】
【００４３】
Ａ．第１実施例：
Ａ−１：画像処理システム１０００の構成
図１は、第１実施例における画像処理システムの構成を示すブロック図である。画像処理システム１０００は、画像処理装置としてのサーバ４００と、複合機２００と、を備えている。サーバ４００は、インターネット７０に接続されており、複合機２００は、ＬＡＮ（Local Area Network）５０を介して、インターネット７０に接続されている。この結果、サーバ４００と複合機２００は、ＬＡＮ５０とインターネット７０とを介して、通信可能である。また、ＬＡＮ５０には、複合機２００のユーザのパーソナルコンピュータ５００が接続されていても良い。
【００４４】
サーバ４００は、ＣＰＵ４１０と、ＤＲＡＭなどの揮発性記憶装置４２０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置４３０と、インターネット７０などのネットワークに接続するためのインタフェースを含む通信部４８０と、を備えている。揮発性記憶装置４２０には、ＣＰＵ４１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域４２１が設けられている。不揮発性記憶装置４３０には、コンピュータプログラム４３１と、複数個のテンプレートデータを含むテンプレートデータ群４３２と、後述するＵＩデータ群４３３と、が格納されている。
【００４５】
コンピュータプログラム４３１は、例えば、ＤＶＤ−ＲＯＭなどに格納された形態で提供され、サーバ４００の管理者によって、サーバ４００にインストールされる。ＣＰＵ４１０は、コンピュータプログラム４３１を実行することにより、後述する画像処理を実現する。
【００４６】
図２は、テンプレートデータの一例を示す図である。１個のテンプレートデータは、テンプレート画像１０（図２（Ａ））を表すテンプレート画像データと、マスク画像１１（図２（Ｂ））を表すマスク画像データと、領域情報１２と、を含んでいる。
【００４７】
テンプレート画像データは、例えば、ＲＧＢ画像データである。図２の例では、テンプレート画像１０には、文字１０Ａなどのオブジェクトがデザインされた背景画像ＢＧと、他の画像を合成するための合成対象領域１０Ｂと、を含んでいる。合成対象領域１０Ｂの個数や形状やサイズ、および、背景画像ＢＧのデザインは、テンプレートごとに異なり得る。合成対象領域は、後述する画像処理において、テンプレート画像１０を用いて合成画像を生成する際に、後述するテクスチャ画像内の画像が、合成される領域である。
【００４８】
マスク画像１１は、テンプレート画像１０内の合成対象領域１０Ｂを特定するための画像である。マスク画像１１は、テンプレート画像１０と同じサイズ（すなわち、縦方向の画素数および横方向の画素数）を有する。マスク画像１１内の画素の値は、第１値と、第２値と、の２つの値を取る。このマスク画像１１では、第１値は、対応するテンプレート画像１０内の画素が背景画像ＢＧを構成する画素であることを示す。第２値は、対応するテンプレート画像１０内の画素が合成対象領域１０Ｂを構成する画素であることを示す。例えば、マスク画像データには、画素ごとに透過率を規定するアルファチャンネルが用いられる。この場合には、例えば、第１値は、透過率が０％であること、すなわち、不透明であることを示す値（例えば、２５５）であり、第２値は、透過率が１００％であること、すなわち、透明であることを示す値（例えば、０）である。
【００４９】
マスク画像１１内のハッチングされていない領域ＭＡは、第１値を有する複数個の画素で構成される領域である。領域ＭＡは、テンプレート画像１０の背景画像ＢＧに対応する。マスク画像１１内のハッチングされた領域１１Ｂは、第２値を有する複数個の画素で構成される領域である。領域１１Ｂは、テンプレート画像１０内の合成対象領域１０Ｂに対応する。
【００５０】
領域情報１２は、合成対象領域１０Ｂに関する情報である。具体的には、領域情報１２は、合成対象領域１０Ｂを識別する識別子としての領域番号と、合成対象領域１０Ｂの代表点ＳＰ１の座標、幅Ｗ１（左右方向の長さ）、および、高さＨ１（上下方向の長さ）を含む。代表点ＳＰ１には、例えば、合成対象領域１０Ｂに外接する外接矩形１０Ｃの左上の頂点が用いられる。
【００５１】
複合機２００は、ＣＰＵ２１０と、ＤＲＡＭなどの揮発性記憶装置２２０と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置２３０と、プリンタ部２４０と、スキャナ部２５０と、タッチパネルやボタンなどの操作部２６０と、液晶ディスプレイなどの表示部２７０と、外部機器と通信を行う通信部２８０と、を備えている。例えば、通信部２８０は、ＬＡＮ５０などのネットワークに接続するためのインタフェースや、外部記憶装置（例えば、ＵＳＢメモリ）と接続するためのインタフェースを含んでいる。
【００５２】
揮発性記憶装置２２０には、ＣＰＵ２１０が処理を行う際に生成される種々のデータを一時的に格納するバッファ領域２２１が設けられている。不揮発性記憶装置２３０には、制御プログラム２３１が格納されている。
【００５３】
プリンタ部２４０は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。スキャナ部２５０は、光電変換素子（例えば、ＣＣＤ、ＣＭＯＳ）を用いて光学的に原稿を読み取ることによってスキャンデータを生成する。
【００５４】
ＣＰＵ２１０は、制御プログラム２３１を実行することにより、複合機２００の制御を実行する。例えば、ＣＰＵ２１０は、プリンタ部２４０やスキャナ部２５０を制御して、コピー処理、印刷処理、スキャン処理などを実行する。さらに、ＣＰＵ２１０は、サーバ４００にアクセスして、サーバ４００が提供するサービスを利用するサービス利用処理を、実行することができる。
【００５５】
Ａ−２：画像処理システム１０００の動作
サーバ４００のＣＰＵ４１０は、クライアントとしての複合機２００の要求に応じて、後述するテクスチャ画像を生成し、生成されたテクスチャ画像をテンプレート画像に合成して、合成画像を生成する画像処理を実行する。この画像処理は、本実施例では、サーバ４００がクライアントに提供する画像生成サービスを実現するために、実行される。以下では、サーバ４００が提供する画像生成サービスを含む画像処理システム１０００の動作について説明する。
【００５６】
図３は、画像処理システム１０００の動作を示すフローチャートである。このフローチャートの処理は、複合機２００が、サーバ４００が提供する画像生成サービスの利用指示を、ユーザから受け付けた場合に開始される。この画像生成サービスは、具体的には、スキャナ部２５０を用いて生成されたスキャンデータを用いて、ハガキ（例えば、年賀ハガキ）に印刷するための合成画像を生成するサービスである。スキャンデータは、例えば、ＲＧＢ画像データである。
【００５７】
処理が開始されると、ステップＳ５では、複合機２００のＣＰＵ２１０は、サービス開始要求を、サーバ４００に対して送信する。サーバ４００のＣＰＵ４１０は、サービス開始要求を受信すると、ＵＩデータ群４３３（図１）から画像生成サービスの提供に必要なＵＩデータを選択し、該ＵＩデータを複合機２００に対して送信する（ステップＳ１０）。ＵＩデータは、具体的には、ＵＩ画像を表示するために必要な各種の画像データと、制御データと、を含む。この制御データは、例えば、ＵＩ画像を利用して複合機２００が所定の処理（具体的には、後述するＳ１５、Ｓ２０、Ｓ３０、Ｓ３５の処理）を行うために必要な各種のデータを含む。例えば、制御データは、ＵＩ画像（例えば、図４）を介して受け付けたユーザの指示に基づいて、複合機２００が実行すべき処理、例えば、サーバ４００に所定の情報を送信する処理を示す情報を含む。
【００５８】
ステップＳ１５では、ＣＰＵ２１０は、受信したＵＩデータに基づいて、テンプレート画像選択処理を実行する。テンプレート画像選択処理は、テンプレート画像（例えば、図２のテンプレート画像１０）を選択する指示を、ユーザから受け付ける処理である。
【００５９】
図４は、ＵＩ画像の一例を示す図である。先ず、ＣＰＵ２１０は、図４（Ａ）のＵＩ画像ＵＧ１を表示部２７０に表示して、利用するテンプレート画像の選択をユーザから受け付ける。例えば、ＵＩ画像ＵＧ１は、選択可能な複数個のテンプレート画像を示す複数個のサムネイル画像ＳＭ１、ＳＭ２と、テンプレート画像の選択を促すメッセージＭＳ１と、を含む。ＵＩ画像ＵＧ１やサムネイル画像ＳＭ１、ＳＭ２示す画像データ群は、サーバ４００から受信されたＵＩデータに含まれているデータ群が用いられる。
【００６０】
ステップＳ２０では、ＣＰＵ２１０は、ユーザによって選択されたテンプレート画像を指定する情報を含む選択指示データを、サーバ４００に対して送信する。
【００６１】
ステップＳ２５では、サーバ４００のＣＰＵ４１０は、受信された選択指示データに基づいて、不揮発性記憶装置４３０に格納されたテンプレートデータ群４３２（図１）の中から、ユーザによって選択されたテンプレート画像に対応するテンプレートデータを取得する。テンプレートデータは、外部機器、例えば、サーバ４００と接続された他のサーバや外部記憶装置から取得されても良い。なお、図２に示すテンプレート画像１０がユーザによって選択された場合を例として、以後の処理を説明する。
【００６２】
ステップＳ２０の選択指示データの送信に続いて、複合機２００のＣＰＵ２１０は、スキャンデータ生成処理を実行する（ステップＳ３０）。スキャンデータ生成処理は、テンプレート画像１０に合成すべきテクスチャ画像（詳細は後述）を生成するために用いられるスキャンデータを生成する処理である。具体的には、ＣＰＵ２１０は、図４（Ｂ）のＵＩ画像ＵＧ２を表示部２７０に表示する。ＵＩ画像ＵＧ２は、例えば、使用する素材をスキャナ部２５０に読み取らせるように、ユーザに促すメッセージＭＳ２を含む。使用する素材には、本実施例では、比較的薄く、様々な模様や形状を有する物、具体的には、植物の葉、布、和紙、折り紙、金属板、などが想定されている。以下では、植物の葉が素材として用いられる場合を例として、以後の処理を説明する。ステップＳ３０では、ＣＰＵ２１０は、利用者が用意した素材を、スキャナ部２５０を用いて読み取ることによって、スキャンデータを生成する。
【００６３】
図５は、スキャン画像の一例を示す図である。図５（Ａ）のスキャン画像１４は、植物の葉を読み取って得られるスキャンデータによって表される画像である。スキャン画像１４は、素材としての植物の葉を表す部分画像５と、異物を表す部分画像６と、背景画像７と、を含んでいる。
【００６４】
スキャンデータが生成されると、続くステップＳ３５では、ＣＰＵ４１０は、生成されたスキャンデータを、サーバ４００に送信する。この結果、サーバ４００のＣＰＵ４１０は、スキャンデータを取得する（ステップＳ４０）。
【００６５】
ステップＳ４５では、ＣＰＵ４１０は、テクスチャ画像生成処理を実行する。テクスチャ画像生成処理では、スキャン画像１４の部分画像である素材画像が複数個連続して並べられたテクスチャ画像を表すテクスチャ画像データが生成される。
【００６６】
図６は、テクスチャ画像生成処理のフローチャートである。ステップＳ１１０では、ＣＰＵ４１０は、スキャン画像１４（図５（Ａ））内のオブジェクト画素と背景画素とを特定する。具体的には、ＣＰＵ４１０は、スキャンデータを二値化して、背景の色（例えば、白）を有する背景画素と、背景の色とは異なる色を有するオブジェクト画素とに分類する。
【００６７】
図６（Ｂ）には、二値化されたスキャンデータによって表される二値画像１５が示されている。二値画像１５において、黒色の領域は、オブジェクト画素によって構成される領域であり、白色の領域は、背景画素によって構成される領域を示す。
【００６８】
ステップＳ１２０では、ＣＰＵ４１０は、二値画像１５において、連続する複数個のオブジェクト画素を、１個のオブジェクトとして特定する。図５（Ｂ）の例では、スキャン画像１４内の２個のオブジェクト、すなわち、植物の葉と異物に対応する２個の領域５Ａ、６Ａが特定される。この結果、スキャン画像１４内において、葉を表す部分画像５と、異物を表す部分画像６と、が特定される。この結果、スキャン画像１４において、後に素材画像として用いられる部分画像５を適切に特定することができる。
【００６９】
ステップＳ１３０では、ＣＰＵ４１０は、特定されたオブジェクトのうち、サイズが最大のオブジェクトを表す画像を素材画像に決定する。オブジェクトのサイズは、例えば、オブジェクトを構成するオブジェクト画素の個数で表すことができる。図５の例では、スキャン画像１４内の葉を表す部分画像５のサイズは、異物を表す部分画像６より大きいので、葉を表す部分画像５を、適切に素材画像として決定することができる。以下では、葉を表す部分画像５を素材画像５とも呼ぶ。
【００７０】
ステップＳ１４０では、ＣＰＵ４１０は、素材画像５の輪郭に内接する最大の内接矩形ＩＳを決定する（図５（Ａ））。最大の内接矩形ＩＳは、公知の方法で決定される。例えば、特開２００７−１４０５９３には、所定のアスペクト比の矩形のマスクで画像の所定領域内を走査して、所定領域内に留まる矩形のマスクの最大のサイズを記録する処理を、様々なアスペクト比のマスクを用いて繰り返す方法が開示されている。
【００７１】
ステップＳ１５０では、ＣＰＵ４１０は、素材画像情報１６を生成する。図７は、素材画像情報１６の一例を示す図である。素材画像情報１６は、ＲＧＢ画像データと、マスク画像データと、内接矩形情報と、を含む（図７（Ａ））。図７（Ｂ）には、素材画像情報１６に含まれるＲＧＢ画像データによって表される素材矩形画像１７の一例が示されている。
【００７２】
素材矩形画像１７は、スキャン画像１４から、素材画像５に外接する外接矩形ＯＳに対応する領域（図５（Ａ））を切り出すことによって得られる画像である。したがって、素材矩形画像１７は、スキャン画像１４内の素材画像５と、スキャン画像１４内の背景画像７の一部分である背景画像７Ａと、を含んでいる（図７（Ｂ））。
【００７３】
図７（Ｃ）には、マスク画像データによって表されるマスク画像１８の一例が示されている。例えば、マスク画像データには、テンプレート画像１０のためのマスク画像１１（図２）を表すマスク画像データと同様に、画素ごとに透過率を規定するアルファチャンネルが用いられる。マスク画像１８は、素材矩形画像１７と同じサイズを有する。マスク画像１８内の画素の値は、テンプレート画像１０のためのマスク画像１１（図２）と同様に、第１値（例えば、２５５）と、第２値（例えば、０）と、の２つの値を取る。このマスク画像１８では、第１値は、対応する素材矩形画像１７内の画素が素材画像５を構成する画素であることを示す。第２値は、対応する素材矩形画像１７内の画素が背景画像１７Ｃを構成する画素であることを示す。マスク画像データは、例えば、二値化されたスキャンデータ（図５（Ｂ））を用いて生成される。
【００７４】
内接矩形情報は、ステップＳ１４０で決定された内接矩形ＩＳ（図７（Ｂ））の位置およびサイズを示す情報である。具体的には、内接矩形情報は、内接矩形ＩＳの代表点ＰＲの座標、幅Ｗ２、および、高さＨ２を含む。代表点ＰＲには、例えば、内接矩形ＩＳの左上の頂点が用いられる。
【００７５】
素材画像情報１６が生成されると、続くステップＳ１６０（図６）では、ＣＰＵ４１０は、素材画像配置処理を実行する。図８は、素材画像配置処理のフローチャートである。図９は、キャンバス領域２０と配置位置の一例を示す図である。素材画像配置処理は、キャンバス領域２０内に、内接矩形ＩＳを基準にして、複数個の素材画像５を配置する処理である。
【００７６】
ステップＳ２００では、ＣＰＵ４１０は、素材画像５を配置するためのキャンバス領域２０を準備する。キャンバス領域２０のサイズは、合成対象領域１０Ｂ（図２（Ａ））のサイズより大きなサイズに設定される。キャンバス領域２０のサイズは、例えば、テンプレート画像１０と同一のサイズ、あるいは、合成対象領域１０Ｂの外接矩形１０Ｃ（図２（Ａ））と同一のサイズに設定される。
【００７７】
ステップＳ２１０では、ＣＰＵ４１０は、素材画像５の内接矩形ＩＳを基準にして、素材画像５の配置数ＰＮと配置位置とを決定する。具体的には、キャンバス領域２０内に、複数個の内接矩形ＩＳを格子状に隙間無く配置して得られる格子点Ｐ１〜Ｐ１６の個数と位置が、素材画像５の配置数および配置位置に決定される。図９では、１個の内接矩形ＩＳにハッチングを付した。図９の例では、素材画像５の配置数ＰＮは、１６個である。また、キャンバス領域２０の左上の座標を原点（０、０）とすると、配置位置Ｐ１、Ｐ２、Ｐ３の座標は、それぞれ、（０、０）、（Ｗ２、０）、（２×Ｗ２、０）である。また、配置位置Ｐ５、Ｐ６、Ｐ７の座標は、それぞれ、（０、Ｈ２）、（Ｗ２、Ｈ２）、（２×Ｗ２、Ｈ２）である。Ｗ２、Ｈ２は、上述した内接矩形ＩＳの幅Ｗ２、高さＨ２である（図７）。
【００７８】
ステップＳ２２０では、ＣＰＵ４１０は、配置数ＰＮ個の素材画像５の配置順序ＡＮ（１≦ＡＮ≦ＰＮ）を決定して、配置順序を示す順序データ２２を生成する。図１０は、順序データ２２の一例を示す図である。順序データ２２は、例えば、素材画像５の配置位置に対応したサイズの配列データである。例えば、図１０の順序データ２２は、縦４×横４の１６個の配置位置（図９）に対応した４×４の配列データである。順序データ２２内の各値が、素材画像５の配置順序ＡＮを示す。
【００７９】
本実施例では、キャンバス領域２０には、横方向（Ｘ方向）に沿う４本の配置ラインＰＬ１〜ＰＬ４が設定される（図９）。４本の配置ラインＰＬ１〜ＰＬ４のうち、図９の上から奇数番目の配置ラインＰＬ１、ＰＬ３を、奇数配置ラインとも呼び、偶数番目の配置ラインＰＬ２、ＰＬ４を、偶数配置ラインとも呼ぶ。そして、各配置ライン上に位置する４個の配置位置のうち、左から奇数番目の配置位置を奇数配置位置とも呼び、偶数番目の配置位置を偶数配置位置とも呼ぶ。本実施例では、奇数配置ライン上の奇数配置位置と、偶数ライン上の偶数配置位置と、の配置順序ＡＮが、奇数配置ライン上の偶数配置位置と、偶数ライン上の奇数配置位置と、の配置順序ＡＮより、先の順序に決定される。すなわち、ラインＰＬ１上の位置Ｐ１、Ｐ３と、ラインＰＬ２上の位置Ｐ６、Ｐ８と、ラインＰＬ３上の位置Ｐ９、Ｐ１１と、ラインＰＬ４上の位置Ｐ１４、Ｐ１６と、の配置順序ＡＮが、１〜８番目の順序に決定される。そして、ラインＰＬ１上の位置Ｐ２、Ｐ４と、ラインＰＬ２上の位置Ｐ５、Ｐ７と、ラインＰＬ３上の位置Ｐ１０、Ｐ１２と、ラインＰＬ４上の位置Ｐ１３、Ｐ１５と、の配置順序ＡＮが、９〜１６番目の順序に決定される。本実施例で規定される配置順序ＡＮは、白と黒とのチェッカーフラッグの白の位置を先に配置し、黒の位置を後に配置する配置パターンで規定されている、と言うことができる。
【００８０】
ステップＳ２３０では、ＣＰＵ４１０は、素材画像５のサイズを変更する。具体的には、ＣＰＵ４１０は、所定の範囲内からランダムに選択された倍率で、素材画像５を含む素材矩形画像１７のサイズを拡大して、拡大済みの素材矩形画像１７を生成する。本実施例では、１００％〜１２０％の範囲内から倍率が選択される。
【００８１】
ステップＳ２４０では、ＣＰＵ４１０は、素材画像５の色を変更する。具体的には、ＣＰＵ４１０は、拡大済みの素材矩形画像１７内の各画素の色値（本実施例では、ＲＧＢの各値）を、一次元ルックアップテーブル用いて、補正する。
【００８２】
図１１は、本実施例の一次元ルックアップテーブルの一例を説明する図である。本実施例の一次元ルックアップテーブルは、図１１に示すγカーブの入力値Ｐｉｎと出力値Ｐｏｕｔとを対応付けたテーブルである。これらのトーンカーブＬ２〜Ｌ５は、入力値Ｐｉｎを正規化した値（Ｐｉｎ／２５５）の（１／γ）乗に、係数として最大階調値２５５を乗じた値を、出力値Ｐｏｕｔとする式（図１１参照）で表される。図９において、直線Ｌ１は、入力値Ｐｉｎと出力値Ｐｏｕｔとが等しいことを表す直線であり、γ＝１に対応する。トーンカーブＬ４、Ｌ５は、γ＞１であるトーンカーブであり、輝度を大きくする補正に用いられる。また、トーンカーブＬ２、Ｌ３は、γ＜１であるトーンカーブであり、輝度を小さくする補正に用いられる。（γ−１）の絶対値が大きいほど、補正前の色値と補正後の色値との間の変化量が大きい（補正レベルが高い）。
【００８３】
補正レベルを規定するγ値は、図１１の式を用いて算出される。ＰＮは、上述した素材画像５の配置数であり、ＡＮは、現在処理中の素材画像５の配置順序ＡＮを示す。この式から解るように、γ値は、０.８≦γ≦１．２の範囲で、配置順序ＡＮが大きくなるほど、大きな値に設定される。すなわち、配置順序ＡＮが大きくなるに連れて、素材画像５が段階的に明るくなる。
【００８４】
ステップＳ２５０では、ＣＰＵ４１０は、キャンバス領域２０内に、色やサイズが変更された後の素材画像５を配置順序ＡＮに従って配置する。図１２は、素材画像５の配置処理を説明する図である。キャンバス領域２０内に配置済みの素材画像５を、以下では素材画像５（ＡＮ）とも表現する。また、例えば、配置順序ＡＮが４番目の素材画像５を、素材画像５（４）とも表現する。図１２には、配置順序ＡＮが１番目から３番目までの３個の素材画像５（１）〜５（３）が配置され、４番目の素材画像５（４）が配置される過程が図示されている。
【００８５】
配置処理では、ＣＰＵ４１０は、素材画像５の内接矩形ＩＳの代表点ＰＲ（図７（Ｂ））と、配置順序ＡＮに応じたキャンバス領域２０内の１個の配置位置と、が一致するように、キャンバス領域２０の座標系と、素材矩形画像１７の座標系と、を対応付ける。素材矩形画像１７の座標系とマスク画像１８の座標系とは同じであるので、キャンバス領域２０の座標系と、マスク画像１８の座標系と、を対応付ける、と言うこともできる。図１２の例では、配置順序ＡＮが４番目の配置位置Ｐ８（図１０）に対するマスク画像１８の相対的な位置が図示されている。
【００８６】
ＣＰＵ４１０は、素材矩形画像１７内の複数個の画素を１個ずつ注目画素に設定して、素材矩形画像１７内の画素ごとに次の処理を実行する。すなわち、ＣＰＵ４１０は、素材矩形画像１７内の注目画素に対応するマスク画像１８内の画素の値を参照する。参照したマスク画像１８内の画素の値が第１値である場合には、素材矩形画像１７内の注目画素に対応するキャンバス領域２０内の画素の色値を、素材矩形画像１７内の注目画素の色値に置換する。ＣＰＵ４１０は、参照したマスク画像１８内の画素の値が第２値である場合には、素材矩形画像１７内の注目画素に対応するキャンバス領域２０内の画素の色値を、元の値に維持する。なお、素材矩形画像１７内の注目画素がキャンバス領域２０の外側に位置する場合には、すなわち、素材矩形画像１７内の注目画素に対応するキャンバス領域２０内の画素がない場合には、次の注目画素の処理に移る。
【００８７】
この結果、素材矩形画像１７のうち、素材画像５だけが、キャンバス領域２０内に配置される。
【００８８】
各素材画像５が配置される際には、既にキャンバス領域２０に配置されている他の素材画像５の有無に拘わらずに、上記の処理が行われる。したがって、配置順序ＡＮが先の素材画像５と、配置順序ＡＮが後の素材画像５と、が重なる領域では、配置順序ＡＮが先の素材画像５が消去されて、配置順序ＡＮが後の素材画像５が配置される。すなわち、配置順序ＡＮが後の素材画像５は、配置順序ＡＮが先の素材画像５と重なる領域がある場合には、配置順序ＡＮが先の素材画像５の上に重ねられる、と言うことができる。例えば、図１２の例では、配置順序ＡＮが４番目の素材画像５（４）が配置されると、素材画像５（４）が素材画像５（２）の上に重ねられて、素材画像５（２）の右下部分が消去されることが解る。
【００８９】
ステップＳ２６０では、ＣＰＵ４１０は、ＰＮ個の素材画像５を配置したか否かを判断する。ＣＰＵ４１０は、全ての素材画像５の配置が完了していない場合には（ステップＳ２６０：ＮＯ）、ステップＳ２３０に戻って次の素材画像５を配置する（ステップＳ２３０〜Ｓ２５０）。ＣＰＵ４１０は、全ての素材画像５の配置が完了した場合には（ステップＳ２６０：ＹＥＳ）、素材画像配置処理を終了する。素材画像配置処理が終了すると、テクスチャ画像生成処理（図６）は、終了される。
【００９０】
図１３は、生成されたテクスチャ画像３０の一例を示す図である。テクスチャ画像３０は、複数個の素材画像５を含んでいる。素材画像配置処理において、配置されたが、後に配置された他の複数個の素材画像５によって、最終的には全体が消去されてしまう可能性があるので、テクスチャ画像３０は、必ずしもＰＮ個の素材画像５を含まない場合もある。
【００９１】
図１３には、テクスチャ画像３０を生成する際に用いられた配置位置Ｐ１〜Ｐ１６が図示されている。また、素材画像５（１）、５（２）の内接矩形ＩＳ１、ＩＳ２が、破線で図示されている。図１３の内接矩形ＩＳ１、ＩＳ２は、図６のステップＳ２３０でサイズが変更された後の素材画像５の内接矩形である。図１３から解るように、素材画像５（９）と、素材画像５（９）の左方向に連続する素材画像５（１）の内接矩形ＩＳ１とは、重なっている。また、素材画像５（９）と、素材画像５（９）の右方向に連続して並べられる素材画像５（２）の内接矩形ＩＳ２とは、重なっている。このように、複数個の素材画像５が配置されることによって、テクスチャ画像３０において、例えば、複数個の素材画像５の間に、隙間が発生することを抑制することができる。例えば、素材画像の外形が矩形などの単純な形状ではない場合であっても、隙間無く配置し得る。本実施例の素材画像５の外形は、ノコギリの歯のように比較的複雑に配置された多数の辺を含んでいるが、図１３のテクスチャ画像３０では、複数個の素材画像５は、隙間無く並んでいることが解る。この結果、テクスチャ画像３０の見栄えを向上することができるので、素材画像５を用いて見栄えの良いテクスチャ画像３０を生成することができる。
【００９２】
さらに、図９に示すように、複数個の配置位置Ｐ１〜Ｐ１６が、内接矩形ＩＳ（図７（Ｂ））を並べた格子点の位置に決定されている。換言すれば、図８のステップＳ２３０でサイズが変更される前の（すなわち、拡大前の）素材画像５の内接矩形ＩＳを基準にして、素材画像５の配置位置が決定されている。そして、連続して並ぶ２個の素材画像５の拡大前の内接矩形ＩＳが互いに接するように、複数個の配置位置Ｐ１〜Ｐ１６が決定されている。さらに言えば、例えば、素材画像５（３）の拡大前の内接矩形ＩＳの全ての辺は、他の複数個の素材画像のいずれかの辺に接している。すなわち、素材画像５（３）の拡大前の内接矩形ＩＳの上下左右の４つの辺は、隣接して配置される４つの素材画像５（９）、５（１１）、５（１２）、５（１３）の拡大前の内接矩形に接するように、複数個の配置位置Ｐ１〜Ｐ１６が決定されている。この結果、テクスチャ画像３０を生成する際に、複数個の素材画像５を隙間無く並べることができる。
【００９３】
また、ＣＰＵ４１０は、連続する複数個のオブジェクト画素によって構成される素材画像５（図５、図７）を、複数個並べてテクスチャ画像３０を生成するので、テクスチャ画像３０において、隙間が発生することを抑制することができる。
【００９４】
また、ＣＰＵ４１０は、拡大前の素材画像５の輪郭に内接する最大の内接矩形ＩＳを基準にして、素材画像５の配置位置を決定するので、複数個の素材画像５が隙間無く並ぶテクスチャ画像３０を確実に生成できるとともに、個々の素材画像５が互いに重なる部分が過大になることを抑制することができる。この結果、テクスチャ画像３０の見栄えを向上することができる。
【００９５】
また、ＣＰＵ４１０は、予め１６個の配置位置を決定した（図８のステップＳ２１０）後であって、かつ、素材画像５がキャンバス領域２０内に配置される（図８のステップＳ２３０〜Ｓ２６０）前に、素材画像５の配置順序ＡＮを決定している（図８のステップＳ２２０）。この結果、素材画像５の配置順序ＡＮを自由に設定することができる。これによって、単純な配置順序、例えば、１個の配置ライン上に、左側から右側に向かって素材画像５を配置することを、上側の配置ラインから下側の配置ラインまで順次に実行する場合と比較して、様々な趣向のテクスチャ画像３０を生成することができる。
【００９６】
具体的には、図１３において、横方向に沿って並ぶ３個の素材画像５（１）、５（９）、５（２）を見ると、素材画像５（９）の左側の部分は、自身の左側に位置する素材画像５（１）の上に重なっている。図１３には、理解の容易のために、素材画像５（１）、５（２）の外縁を示す仮想的な線ＯＬ１、ＯＬ２が示されている。素材画像５（１）、５（２）の外縁ＯＬ１、ＯＬ２は、素材画像５（９）などの他の素材画像が重ねられるために、テクスチャ画像３０には現れていない。そして、素材画像５（９）の右側の部分は、自身の右側に位置する素材画像５（２）の上に重なっている。このような重なり方は、上述した単純な配列順序で、複数個の素材画像５を配置した場合には発生しない。本実施例では、このような重なり方を実現できるので、テクスチャ画像３０の見栄えを向上できる。
【００９７】
さらに、具体的には、図１０を用いて説明した配置順序ＡＮを採用している。この結果、テクスチャ画像３０では、例えば、横方向に沿う第１の列を構成する素材画像５（１）、５（９）、５（２）、５（１０）と、この列の下に隣接する第２の列を構成する素材画像５（１１）、５（３）、５（１２）と、では、素材画像５の重なり方が異なる。すなわち、第１の列では、左から偶数番目の素材画像５（９）、５（１０）が、左から奇数番目の素材画像５（１）、５（２）の上に重なるように配置されている。第２の列では、左から奇数番目の素材画像５（１１）、５（１２）が、左から偶数番目の素材画像５（３）の上に重なるように配置されている。このように、複数個の素材画像５の重なり方によってテクスチャ画像３０の見栄えが向上し得る。
【００９８】
さらに、本実施例のテクスチャ画像３０には、サイズが互いに異なる複数個の素材画像５が連続して並べられている（図８のステップＳ２３０、図１３）。この結果、テクスチャ画像３０内における素材画像５の配置が単純化することがさらに抑制される。この結果、テクスチャ画像３０の見栄えが向上し得る。
【００９９】
さらに、図８のステップＳ２３０にてサイズが拡大される前の素材画像５の内接矩形ＩＳを基準として、素材画像５の配置が行われる（図９、図１２）。この結果、互いに異なるサイズの素材画像５を複数個配置する場合であっても、複数個の素材画像５の間に隙間が発生することを抑制することができる。
【０１００】
さらに、図８のステップＳ２４０にて素材画像５の色が補正されるので、テクスチャ画像３０は、色が互いに異なる複数個の素材画像５を含む。この結果、同じ色の素材画像５のみを含む画像と比較して、異なる趣向を有するテクスチャ画像３０を生成できる。この結果、テクスチャ画像３０の見栄えを向上し得る。
【０１０１】
より具体的には、テクスチャ画像３０内で、複数個の素材画像５が重なる順序に応じて、段階的に複数個の素材画像５の明るさを変更している（図１１）ので、テクスチャ画像３０の見栄えを向上し得る。図１１の例では、後に重ねられる素材画像５ほど、明るい色を有するように、素材画像５に対する補正が実行される。この結果、テクスチャ画像３０の見栄えに奥行き感を与えることができる。
【０１０２】
図３に戻って説明を続ける。テクスチャ画像生成処理が終了すると、続くステップＳ５５では、合成処理が実行される。合成処理は、テクスチャ画像３０を、テンプレート画像１０の合成対象領域１０Ｂ（図２）に合成して、合成画像を表す合成画像データを生成する処理である。
【０１０３】
具体的には、ＣＰＵ４１０は、領域情報１２（図２（Ｃ））を参照して、テンプレート画像１０上における合成対象領域１０Ｂの外接矩形１０Ｃの左上の頂点ＳＰ１の位置（座標）を取得する。ＣＰＵ４１０は、合成対象領域１０Ｂの頂点ＳＰ１の画素と、テクスチャ画像３０の左上の頂点の画素と、が対応するように、テンプレート画像１０の座標系と、テクスチャ画像３０の座標系と、を対応付ける。
【０１０４】
そして、ＣＰＵ４１０は、テクスチャ画像３０の画素を１個ずつ注目画素に設定して、テクスチャ画像３０内の画素ごとに次の処理を実行する。すなわち、ＣＰＵ４１０は、テクスチャ画像３０内の注目画素に対応する、マスク画像１１（図２（Ｂ））内の画素を参照する。ＣＰＵ４１０は、参照したマスク画像１１内の画素の値が第２値である場合には、参照したマスク画像１１内の画素に対応するテンプレート画像１０内の画素の色値を、テクスチャ画像３０の注目画素の色値に置換する。ＣＰＵ４１０は、参照したマスク画像１１内の画素の値が第１値である場合には、参照したマスク画像１１内の画素に対応するテンプレート画像１０内の画素の色値を、元の値に維持する。
【０１０５】
この結果、テンプレート画像１０の合成対象領域１０Ｂを構成する複数個の画素の色値が、テクスチャ画像３０内の画素の色値に置換されて、合成画像データが生成される。
【０１０６】
図１４は、合成画像データによって表される合成画像１０Ｍの一例を示す図である。合成画像１０Ｍにおいて、合成対象領域１０Ｂの形状（図２の例では馬の形状）を有するテクスチャ画像３０の一部の画像３０Ｐが、合成対象領域１０Ｂに合成されている。
【０１０７】
ステップＳ６０では、ＣＰＵ４１０は、ステップＳ５５で生成された合成画像データを用いて、テスト画像１０Ｔ（図１４（Ｂ））を表すテスト画像データを生成する。テスト画像１０Ｔは、合成画像１０Ｍと余白ＭＪとを含んでいる。余白ＭＪには、テスト画像１０Ｔが、合成画像１０Ｍのテスト印刷のための画像であることを示すメッセージＭＳ３、ＭＳ４が配置されている。
【０１０８】
なお、合成画像１０Ｍを示す合成画像データは、ハガキに合成画像１０Ｍを印刷するための画像データである。一方、テスト画像１０Ｔを表すテスト画像データは、ハガキより大きなＡ４サイズの用紙にテスト画像１０Ｔを印刷するためのデータである。合成画像データを用いて、ハガキに印刷される合成画像１０Ｍのハガキ上のサイズと、テスト画像データを用いて、Ａ４サイズの用紙に印刷されるテスト画像１０Ｔ内の合成画像１０Ｍの用紙上のサイズとは、互いに等しい。このために、Ａ４サイズの用紙に印刷されたテスト画像１０Ｔを見たユーザは、ハガキに合成画像１０Ｍを印刷することなく、ハガキに印刷された場合の合成画像１０Ｍの内容を適切に確認することができる。
【０１０９】
ステップＳ６５では、ＣＰＵ４１０は、生成された合成画像データと、テスト画像データと、を複合機２００に対して送信して処理を終了する。複合機２００のＣＰＵ２１０は、合成画像データとテスト画像データとを受信すると、これらの画像データをバッファ領域２２１に格納するとともに、ユーザに合成画像データとテスト画像データを受信したことを通知する。
【０１１０】
合成画像データとテスト画像データは、ユーザの利用に供される。ユーザは、例えば、複合機２００に、テスト画像１０ＴをＡ４サイズの用紙上に印刷させる。そして、ユーザは、Ａ４サイズの用紙に印刷されたテスト画像１０Ｔに含まれる合成画像１０Ｍを確認する。ユーザは、合成画像１０Ｍの内容に満足した場合には、複合機２００に、合成画像１０Ｍをハガキ上に印刷させる。ユーザは、合成画像１０Ｍの内容に満足しない場合には、合成画像１０Ｍの生成をもう一度行ってもよい。例えば、使用するテンプレート画像や、利用する素材を変更して、複合機２００とサーバ４００とに図３の処理をもう一度実行させても良い。
【０１１１】
上記実施例によれば、ユーザが用意した素材を表す素材画像を利用して、見栄えの良いテクスチャ画像３０が生成される。そして、テクスチャ画像３０がテンプレート画像１０に合成されることによって、独創性のある魅力的な合成画像１０Ｍが生成され得る。
【０１１２】
Ｂ．変形例
（１）上記実施例では、図８のステップＳ２３０でサイズが拡大される前の素材画像５の内接矩形ＩＳを基準にして、素材画像５の配置位置が決定されている（図８のステップＳ２１０、図９）。これに代えて、サイズが拡大された後の素材画像５の内接矩形を用いて、素材画像５の配置位置が決定されても良い。この場合には、例えば、ＣＰＵ４１０は、キャンバス領域２０内の配置位置を決定する（ステップＳ２１０）際に、配置すべきサイズの素材画像５の内接矩形をキャンバス領域２０に並べて、素材画像の配置位置を決定する。例えば、ＣＰＵ４１０は、素材画像５が拡大される（図８のステップＳ２３０）ときに用いられる倍率を、予め決定しておき、ステップＳ２１０では、予め決定された倍率で拡大された内接矩形ＩＳをキャンバス領域２０に並べて、素材画像の配置位置を決定すれば良い。
【０１１３】
図１５は、変形例におけるキャンバス領域２０と配置位置の一例を示す図である。図１５の例では、素材画像５１と、素材画像５１よりサイズが大きな素材画像５２と、の２種類のサイズの素材画像が縦方向および横方向に交互に配置される。この場合には、ＣＰＵ４１０は、素材画像５１の輪郭に内接する第１の内接矩形ＩＳＡと、素材画像５２の輪郭に内接する第２の内接矩形ＩＳＢとをキャンバス領域２０に並べる。図１５のハッチングされた破線の矩形は、第１の内接矩形ＩＳＡを示し、ハッチングされていない破線の矩形は、第２の内接矩形ＩＳＢを示す。
【０１１４】
ＣＰＵ４１０は、第１の配置ラインＨＬ１に沿って、横方向に隣合う内接矩形ＩＳＡ、ＩＳＢの辺が接するように、複数個の内接矩形ＩＳＡ、ＩＳＢを配置する。次に、ＣＰＵ４１０は、第１の配置ラインの下方向（＋Ｙ方向）に隣り合う第２の配置ラインＨＬ２の縦方向の位置を、第１の配置ラインＨＬ１に沿って配置される複数個の素材画像のうち、最小の素材画像の内接矩形を基準にして決定する。図１５の例では、第２の配置ラインＨＬ２の縦方向の位置は、２個の素材画像５１、５２のうち、サイズが小さい素材画像５１の第１の内接矩形ＩＳＡを基準にして、決定される。具体的には、第２の配置ラインＨＬ２の位置は、サイズが小さい素材画像５１の第１の内接矩形ＩＳＡの下端の位置に決定される。同様にして、第３の配置ラインＨＬ３は、第２の配置ラインＨＬ２に沿って配置される素材画像５１の第１の内接矩形ＩＳＡの下端に決定され、第４の配置ラインＨＬ４は、第３の配置ラインＨＬ３に沿って配置される素材画像５１の第１の内接矩形ＩＳＡの下端に決定される。
【０１１５】
本変形例のテクスチャ画像において、第１の配置ラインＨＬ１上に沿って並ぶ複数個の素材画像５１、５２を第１の素材画像群と呼び、第２の配置ラインＨＬ２上に沿って並ぶ複数個の素材画像５１、５２を含む第２の素材画像群と呼ぶ。本変形例の配置方法では、第１の素材画像群に属するサイズが最も小さい素材画像の内接矩形を基準として、第１の素材画像群に対して第２の素材画像群が配置される、と言うことができる。なお、上記実施例の配置方法では、拡大前のサイズの素材画像の内接矩形を基準として、第１の素材画像群に対して第２の素材画像群が配置される、と言うことができる。いずれの場合であっても、複数個の素材画像間の隙間の発生を抑制することができる。この結果、テクスチャ画像の見栄えが向上し得る。
【０１１６】
（２）上記実施例における素材画像５のサイズの変更（図８のステップＳ２３０）や、素材画像５の色の変更（図８のステップＳ２４０）は、省略されても良い。また、順序データ２２の生成は省略されて、素材画像５は、単純な配置順序ＡＮで配列されても良い。
【０１１７】
図１６は、変形例におけるテクスチャ画像３０Ａが示されている。このテクスチャ画像３０Ａは、素材画像５のサイズの変更と、素材画像５の色の変更と、が省略され、素材画像５が単純な配列順序で並べられる素材画像配置処理によって生成された画像である。このテクスチャ画像３０Ａには、同じ色および形状の１６個の素材画像５Ａ（１）〜５Ａ（１６）が規則的に並んでいる。素材画像の符号のかっこ内の数字は、実施例と同様に素材画像の配置順序ＡＮを示す。この数字からも解るように、本変形例では、横方向の配置ライン上に、左側から右側に向かって素材画像を配置することを、上側の配置ラインから下側の配置ラインまで順次に実行する単純な配置順序が採用されている。このように、本変形例のテクスチャ画像３０Ａ（図１５）は、実施例のテクスチャ画像３０（図１３）とは、大きく印象が異なる画像となる。このため、例えば、素材画像５のサイズや色の変更の有無や程度、配置順序ＡＮのパターンなどは、ユーザの指示に応じて適宜に設定されても良い。こうすれば、１個の素材画像５を用いて、ユーザの好みに応じた様々なテクスチャ画像を生成することができる。
【０１１８】
（３）図９において、キャンバス領域２０には、１６個の配置位置Ｐ１〜Ｐ１６を決定するために、複数個の内接矩形ＩＳは、隙間無く配置されているが、若干の隙間を置いて配置されても良い。例えば、横方向に隣り合う２個の内接矩形ＩＳ間の横方向の間隔は、素材画像５の内接矩形の左右の辺と、素材画像５の外接矩形の左右の辺と、の間隔ＲＭ、ＬＭ（図７（Ｂ））の平均値の半分より小さいことが好ましい。また、縦方向に隣り合う２個の内接矩形ＩＳ間の縦方向の間隔は、素材画像５の内接矩形の上下の辺と、素材画像５の外接矩形の上下の辺と、の間隔ＤＭ、ＵＭ（図７（Ｂ））の平均値の半分より小さいことが好ましい。こうすれば、一の素材画像が、一の素材画像と連続する他の素材画像の内接矩形ＩＳと重なるように、配置されたテクスチャ画像を生成することができる。
【０１１９】
（４）キャンバス領域２０内に素材画像５を配置する際に基準として用いられる素材画像５の内部領域の形状は、上記実施例では、素材画像５の輪郭に内接する内接矩形であるが、これに限られない。例えば、素材画像５の輪郭に内接しない図形であっても良いし、矩形とは異なる多角形であっても良い。また、素材画像５の内部領域の形状は、キャンバス領域２０内に隙間なく並べることができる形状であることが好ましい。
【０１２０】
（５）上記実施例における素材画像５の配置順序ＡＮ（図１０）は一例であり、これに限られない。配置順序ＡＮは、例えば、乱数に基づいてランダムに決定されても良い。こうれすれば、図１３のテクスチャ画像３０とは異なる趣を有するテクスチャ画像を生成することができる。
【０１２１】
（６）上記実施例のステップＳ２４０では、配置順序ＡＮに従って、段階的に明るさが変化するように、素材画像５の色が変更されている。これに代えて、ランダムに明るさが変化するように、素材画像５の色が変更されても良い。また、配置順序ＡＮに従って段階的に、または、ランダムに、色相が変化するように、素材画像５の色が変更されても良い。
【０１２２】
（７）上記実施例において、テクスチャ画像３０は、ユーザが用意した素材を読み取って得られるスキャン画像１４を用いて生成されている。これに代えて、写真や描画などを表す様々なデジタル画像を用いてテクスチャ画像３０が生成されても良い。これらの画像を表す画像データは、例えば、ユーザが所有するＵＳＢメモリなどの記憶装置から取得されて、サーバ４００に送信される。
【０１２３】
（８）上記実施例においてサーバ４００のＣＰＵ４１０によって実行される画像処理（例えば、図３のステップＳ４５〜Ｓ６０の処理）は、サーバ４００とは異なる装置、例えば、複合機２００のＣＰＵ２１０によって実行されても良い。この場合には、例えば、ＣＰＵ２１０は、合成画像を生成した後に、テスト画像データや合成画像データをプリンタ部２４０に出力することによって、テスト画像１０Ｔや合成画像１０Ｍ（図１５）をプリンタ部２４０に印刷させる。また、これらの画像処理は、プリンタなどの印刷装置と接続されたパーソナルコンピュータ５００（図１）のＣＰＵ（図示省略）によって実行されても良い。この場合には、ＣＰＵは、合成画像を生成した後に、テスト画像データや合成画像データを外部のプリンタに出力することによって、テスト画像１０Ｔや合成画像１０Ｍ（図１５）を外部のプリンタに印刷させる。すなわち、テスト画像データや合成画像データの出力には、実施例のようなサーバ４００からクライアント装置（例えば、複合機２００）への送信に加えて、複合機２００の内部でのＣＰＵ２１０からプリンタ部２４０への供給、パーソナルコンピュータ５００から外部のプリンタへの送信などが含まれる。
【０１２４】
（９）これらの画像処理は、例えば、複合機２００のスキャナ部２５０や、単体のスキャナ（図示せず）を、制御するためにパーソナルコンピュータ５００にインストールされたスキャナドライバによって実行されても良い。また、サーバ４００は、本実施例のように１つの計算機で構成されても良く、複数個の計算機を含む計算システム（例えば、いわゆるクラウドコンピューティングを実現する分散型の計算システム）によって構成されていても良い。
【０１２５】
（１０）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【符号の説明】
【０１２６】
５０...ＬＡＮ、７０...インターネット、２００...複合機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２３１...制御プログラム、２４０...プリンタ部、２５０...スキャナ部、２６０...操作部、２７０...表示部、２８０...通信部、４００...サーバ、４１０...ＣＰＵ、４２０...揮発性記憶装置、４２１...バッファ領域、４３０...不揮発性記憶装置、４３１...コンピュータプログラム、４３２...テンプレートデータ群、４３３...ＵＩデータ群、４８０...通信部、５００...パーソナルコンピュータ、１０００...画像処理システム
【図１】
2015041982.tif 000003
【図２】
2015041982.tif 000004
【図３】
2015041982.tif 000005
【図４】
2015041982.tif 000006
【図５】
2015041982.tif 000007
【図６】
2015041982.tif 000008
【図７】
2015041982.tif 000009
【図８】
2015041982.tif 000010
【図９】
2015041982.tif 000011
【図１０】
2015041982.tif 000012
【図１１】
2015041982.tif 000013
【図１２】
2015041982.tif 000014
【図１３】
2015041982.tif 000015
【図１４】
2015041982.tif 000016
【図１５】
2015041982.tif 000017
【図１６】
2015041982.tif 000018