(57)【要約】【課題】  対象データに対して新規な画像処理を実行して、面白味のある画像をユーザに提供すること。【解決手段】  画像処理サーバは、各対象オブジェクトＴＯ１〜ＴＯ５の画素数及び密度を算出する。画像処理サーバは、各対象オブジェクトＴＯ１等の画素数及び密度を利用して対象データを変換して、変換済み画像ＣＩを表わす変換済みデータを生成する。変換済み画像ＣＩは、画素数が多くかつ密度が高い対象オブジェクトＴＯ２に代えて、２色以上を示す変換済みオブジェクトＣＯ２を含む。変換済み画像ＣＩは、画素数が少ない対象オブジェクトＴＯ３〜ＴＯ５に代えて、単色を示す変換済みオブジェクトＣＯ３〜ＣＯ５を含む。変換済み画像ＣＩは、密度が低い対象オブジェクトＴＯ１に代えて、単色を示す変換済みオブジェクトＣＯ１を含む。【選択図】図１２
2015041957.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
複数個の対象オブジェクトを含む対象画像を表わす対象データを取得する対象データ取得部と、
前記複数個の対象オブジェクトのそれぞれについて、当該対象オブジェクトの特徴を示す特徴データを算出する算出部と、
前記複数個の対象オブジェクトの複数個の前記特徴データを利用して前記対象データを変換して、変換済みデータを生成する変換部であって、前記変換済みデータは、前記複数個の対象オブジェクトに代えて、複数個の変換済みオブジェクトを含む変換済み画像を表わす、前記変換部と、
前記変換済みデータを出力する出力部と、を備え、
前記変換部は、
前記複数個の対象オブジェクトのうちの第１の対象オブジェクトの前記特徴データが、第１の特徴を示す場合に、前記変換済み画像が、前記第１の対象オブジェクトに代えて、２色以上を示す第１の変換済みオブジェクトを含むように、前記対象データ内の前記第１の対象オブジェクトを表わす各第１画素の各画素値を変換し、
前記複数個の対象オブジェクトのうち、前記第１の対象オブジェクトとは異なる第２の対象オブジェクトの前記特徴データが、前記第１の特徴とは異なる第２の特徴を示す場合に、前記変換済み画像が、前記第２の対象オブジェクトに代えて、単色を示す第２の変換済みオブジェクトを含むように、前記対象データ内の前記第２の対象オブジェクトを表わす各第２画素の各画素値を変換する、
画像処理装置。
【請求項２】
前記画像処理装置は、さらに、
前記対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する判断部を備え、
２個以上の前記注目画素を複数個の画素グループに分類することによって、前記複数個の画素グループによって表わされる前記複数個の対象オブジェクトを決定するオブジェクト決定部と、を備える、請求項１に記載の画像処理装置。
【請求項３】
前記算出部は、前記複数個の対象オブジェクトのそれぞれについて、当該対象オブジェクトを表わす画素数を含む前記特徴データを算出し、
前記変換部は、
前記第１の対象オブジェクトの前記特徴データに含まれる前記画素数が第１の閾値以上である場合に、前記第１の対象オブジェクトの前記特徴データが前記第１の特徴を示すと判断し、
前記第２の対象オブジェクトの前記特徴データに含まれる前記画素数が前記第１の閾値未満である場合に、前記第２の対象オブジェクトの前記特徴データが前記第２の特徴を示すと判断する、請求項１又は２に記載の画像処理装置。
【請求項４】
前記出力部は、前記変換済みデータを出力して、前記変換済み画像の印刷を印刷実行部に実行させ、
前記変換部は、
前記変換済み画像が印刷されるべき用紙のサイズが第１のサイズである場合に、第１の所定値を前記第１の閾値として利用し、
前記変換済み画像が印刷されるべき用紙のサイズが前記第１のサイズよりも大きい第２のサイズである場合に、前記第１の所定値よりも大きい第２の所定値を前記第１の閾値として利用する、請求項３に記載の画像処理装置。
【請求項５】
前記算出部は、前記複数個の対象オブジェクトのそれぞれについて、当該対象オブジェクトの密度を含む前記特徴データを算出し、
前記変換部は、
前記第１の対象オブジェクトの前記特徴データに含まれる前記密度が第２の閾値以上である場合に、前記第１の対象オブジェクトの前記特徴データが前記第１の特徴を示すと判断し、
前記第２の対象オブジェクトの前記特徴データに含まれる前記密度が前記第２の閾値未満である場合に、前記第２の対象オブジェクトの前記特徴データが前記第２の特徴を示すと判断する、請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記画像処理装置は、さらに、
複数個の色を含む特定画像を表わす特定データを取得する特定データ取得部を備え、
前記変換部は、前記第１の対象オブジェクトの前記特徴データが前記第１の特徴を示す場合に、前記対象データ内の前記各第１画素の各位置に対応する前記特定データ内の各位置に存在する各対応画素の各画素値を抽出して、前記対象データ内の前記各第１画素の各画素値を、前記特定データ内の前記各対応画素の各画素値に一致する各値に変換する、請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記変換部は、前記第２の対象オブジェクトの前記特徴データが前記第２の特徴を示す場合に、Ｍ個（前記Ｍは２以上の整数）の色の中から１個の色を選択して、前記各第２画素の前記各画素値の全てを、選択済みの前記１個の色を示す値に変換する、請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
前記画像処理装置は、さらに、
複数個の個の色を含む特定画像を表わす特定データを取得する特定データ取得部と、
前記特定データを利用して、前複数個の色の中から前記Ｍ個の色を決定する色決定部と、を備え、
前記変換部は、
前記第１の対象オブジェクトの前記特徴データが前記第１の特徴を示す場合に、前記対象データ内の前記各第１画素の各位置に対応する前記特定データ内の各位置に存在する各対応画素の各画素値を抽出して、前記対象データ内の前記各第１画素の各画素値を、前記特定データ内の前記各対応画素の各画素値に一致する各値に変換し、
前記第２の対象オブジェクトの前記特徴データが前記第２の特徴を示す場合に、決定済みの前記Ｍ個の色の中から前記１個の色を選択して、前記各第２画素の前記各画素値の全てを、選択済みの前記１個の色を示す値に変換する、請求項７に記載の画像処理装置。
【請求項９】
前記対象データ取得部は、第１の媒体サイズに対応する元データを縮小化して、前記第１の媒体サイズよりも小さい第２の媒体サイズに対応する前記対象データを取得し、
前記画像処理装置は、さらに、
第１の指示が与えられる場合に、前記第１の媒体サイズに対応するテンプレートデータ内に前記変換済みデータを書き込んで、出力データを生成する生成部を備え、
前記出力部は、
前記第１の指示が与えられる場合に、前記出力データを出力して、前記第１の媒体サイズを有する印刷媒体への印刷を印刷実行部に実行させ、
前記第１の指示とは異なる第２の指示が与えられる場合に、前記第１の変換済みデータを前記印刷実行部に出力して、前記第２の媒体サイズを有する印刷媒体への印刷を前記印刷実行部に実行させる、請求項１から８のいずれか一項に記載の画像処理装置。
【請求項１０】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
複数個の対象オブジェクトを含む対象画像を表わす対象データを取得する対象データ取得処理と、
前記複数個の対象オブジェクトのそれぞれについて、当該対象オブジェクトの特徴を示す特徴データを算出する算出処理と、
前記複数個の対象オブジェクトの複数個の前記特徴データを利用して前記対象データを変換して、変換済みデータを生成する変換処理であって、前記変換済みデータは、前記複数個の対象オブジェクトに代えて、複数個の変換済みオブジェクトを含む変換済み画像を表わす、前記変換処理と、
前記変換済みデータを出力する出力処理と、を備え、
前記変換処理では、
前記複数個の対象オブジェクトのうちの第１の対象オブジェクトの前記特徴データが、第１の特徴を示す場合に、前記変換済み画像が、前記第１の対象オブジェクトに代えて、２色以上を示す第１の変換済みオブジェクトを含むように、前記対象データ内の前記第１の対象オブジェクトを表わす各第１画素の各画素値を変換し、
前記複数個の対象オブジェクトのうち、前記第１の対象オブジェクトとは異なる第２の対象オブジェクトの前記特徴データが、前記第１の特徴とは異なる第２の特徴を示す場合に、前記変換済み画像が、前記第２の対象オブジェクトに代えて、単色を示す第２の変換済みオブジェクトを含むように、前記対象データ内の前記第２の対象オブジェクトを表わす各第２画素の各画素値を変換する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、対象データに対して画像処理を実行する画像処理装置を開示する。
【背景技術】
【０００２】
特許文献１には、副情報を主画像情報に重畳させる画像処理装置が開示されている。画像処理装置は、第１の副情報によって第１の色差格子パターンを変調して、第１の色差格子パターンを主画像情報に重畳させる。次いで、画像処理装置は、第２の副情報によって第２の色差格子パターンを変調して、第２の色差格子パターンを主画像情報にさらに重畳させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２５２７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、対象データに対して新規な画像処理を実行して、面白味のある画像をユーザに提供し得る技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される画像処理装置は、対象データ取得部と、算出部と、変換部と、出力部と、を備える。対象データ取得部は、複数個の対象オブジェクトを含む対象画像を表わす対象データを取得する。算出部は、複数個の対象オブジェクトのそれぞれについて、当該対象オブジェクトの特徴を示す特徴データを算出する。変換部は、複数個の対象オブジェクトの複数個の特徴データを利用して対象データを変換して、変換済みデータを生成する。変換済みデータは、複数個の対象オブジェクトに代えて、複数個の変換済みオブジェクトを含む変換済み画像を表わす。出力部は、変換済みデータを出力する。変換部は、複数個の対象オブジェクトのうちの第１の対象オブジェクトの特徴データが、第１の特徴を示す場合に、変換済み画像が、第１の対象オブジェクトに代えて、２色以上を示す第１の変換済みオブジェクトを含むように、対象データ内の第１の対象オブジェクトを表わす各第１画素の各画素値を変換し、複数個の対象オブジェクトのうち、第１の対象オブジェクトとは異なる第２の対象オブジェクトの特徴データが、第１の特徴とは異なる第２の特徴を示す場合に、変換済み画像が、第２の対象オブジェクトに代えて、単色を示す第２の変換済みオブジェクトを含むように、対象データ内の第２の対象オブジェクトを表わす各第２画素の各画素値を変換する。
【０００６】
上記の構成によると、画像処理装置は、対象画像に含まれる複数個の対象オブジェクトの複数個の特徴データを算出する。そして、画像処理装置は、複数個の特徴データを利用して対象データを変換して、複数個の変換済みオブジェクトを含む変換済み画像を表わす変換済みデータを生成する。特に、画像処理装置は、各対象オブジェクトが有する各特徴に応じて、２色以上を示す第１の変換済みオブジェクトと、単色を示す第２の変換済みオブジェクトと、を含む変換済み画像を表わす変換済みデータを生成して、当該変換済みデータを出力する。この結果、面白味のある画像をユーザに提供し得る。
【０００７】
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納する記録媒体も、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】第１実施例のシーケンス図を示す。
【図３】二値化処理のフローチャートを示す。
【図４】対象データ及び二値データを示す。
【図５】ラべリング処理のフローチャートを示す。
【図６】対象データ及び二値データを示す。
【図７】中間ラベルデータ及びラベルデータを示す。
【図８】合成／配色決定処理のフローチャートを示す。
【図９】変換処理のフローチャートを示す。
【図１０】対象データ内の画素値が参照データ内の画素値に変換される様子を示す。
【図１１】対象データ内の画素値が配色パターン内の各値に変換される様子を示す。
【図１２】対象画像が変換される様子を示す。
【図１３】第２実施例のシーケンス図を示す。
【図１４】第３実施例のシーケンス図を示す。
【図１５】配色パターン決定処理のフローチャートを示す。
【図１６】第４実施例のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
図１に示されるように、通信システム２は、多機能機１０と、画像処理サーバ５０と、を備える。多機能機１０及び画像処理サーバ５０は、インターネットを介して、相互に通信可能である。以下では、多機能機１０のことを、「ＭＦＰ（Multi-Function Peripheralの略）１０」と呼ぶ。
【００１０】
（ＭＦＰ１０の構成）
ＭＦＰ１０は、印刷機能及びスキャン機能を含む多機能を実行可能な周辺機器（即ちＰＣ等の周辺機器）である。ＭＦＰ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、印刷実行部２０と、スキャン実行部２２と、制御部３０と、を備える。
【００１１】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をＭＦＰ１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークインターフェース１６は、インターネットに接続されている。印刷実行部２０は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部２２は、ＣＣＤ方式、ＣＩＳ方式等のスキャン機構である。
【００１２】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に記憶されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ３４は、ＲＡＭ、ＲＯＭ等によって構成される。
【００１３】
（画像処理サーバ５０の構成）
画像処理サーバ５０は、画像処理を実行するためのサーバであり、ＭＦＰ１０のベンダによってインターネット上に設置される。画像処理サーバ５０は、ネットワークインターフェース５６と、制御部６０と、を備える。
【００１４】
ネットワークインターフェース５６は、インターネットに接続されている。制御部６０は、ＣＰＵ６２と、メモリ６４と、を備える。ＣＰＵ６２は、メモリ６４に記憶されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ６４は、ＲＡＭ、ＲＯＭ等によって構成される。
【００１５】
メモリ６４は、複数個の合成用データ７０を予め記憶している。複数個の合成用データ７０のそれぞれは、参照番号と、参照データと、サムネイルデータと、が対応付けられたデータである。参照番号は、参照データを識別するための番号である。参照データは、対象データを変換するために利用されるＲＧＢビットマップデータである。参照データは、はがきサイズに対応する画素数を有する。参照データは、全ての画素の画素値が同じであるデータ（即ち単色を表わすデータ）ではなく、複数色を示す複数個の領域を表わすデータである。サムネイルデータは、参照データが縮小化されたデータである。
【００１６】
メモリ６４は、さらに、複数個の配色用データ８０を予め記憶している。複数個の配色用データ８０のそれぞれは、配色番号と、配色パターンと、サムネイルデータと、が対応付けられたデータである。配色番号は、配色パターンを識別するための番号である。配色パターンは、複数個の色のそれぞれについて、当該色を識別するための色番号（ＣＬ１、ＣＬ２等）と、当該色を示すＲＧＢ値（ＲＧＢｃｏｌ１、ＲＧＢｃｏｌ２等）と、が対応付けられた情報である。サムネイルデータは、当該サムネイルデータに対応する配色パターンが示す複数個の色を含む画像を表わすＲＧＢビットマップデータである。
【００１７】
（ＭＦＰ１０及び画像処理サーバ５０が実行する処理；図２）
続いて、図２を参照して、ＭＦＰ１０及び画像処理サーバ５０が実行する処理について説明する。ＭＦＰ１０のユーザは、まず、Ａ４サイズの特定の用紙に手書きで文字、図形等のオブジェクトを描画する。次いで、ユーザは、ＭＦＰ１０の操作部１２を操作して、変換指示をＭＦＰ１０に入力する。
【００１８】
ＭＦＰ１０のＣＰＵ３２は、ユーザによって変換指示が入力されると、複数個の合成用データ７０に含まれる各サムネイルデータの送信を要求するための合成用サムネイル要求１００を画像処理サーバ５０に送信する。
【００１９】
画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０から合成用サムネイル要求１００を受信すると、複数個の合成用データ７０のそれぞれについて、当該合成用データ７０に含まれる参照番号とサムネイルデータとが対応付けられている組合せデータを生成する。この結果、ＣＰＵ６２は、複数個の合成用データ７０から複数個の組合せデータ１１０を生成する。そして、ＣＰＵ６２は、複数個の組合せデータ１１０をＭＦＰ１０に送信する。
【００２０】
ＭＦＰ１０のＣＰＵ３２は、画像処理サーバ５０から複数個の組合せデータ１１０を受信すると、Ｔ２において、複数個の組合せデータ１１０に含まれる複数個のサムネイルデータによって表わされる複数個のサムネイル画像を表示部１４に表示させる。
【００２１】
図１には、Ｔ２で表示されるサムネイル画像ＳＩ１，ＳＩ２の一例が示されている。サムネイル画像ＳＩ１は、青色の領域と黄色の領域とを含む。また、サムネイル画像ＳＩ２は、サムネイル画像ＳＩ１とは異なる画像であり、赤色の領域と青色の領域と黄色の領域とを含む。ユーザは、表示部１４に表示される各サムネイル画像ＳＩ１，ＳＩ２を見ながら、操作部１２を操作して、１個のサムネイル画像を選択する。
【００２２】
図２に示されるように、ＭＦＰ１０のＣＰＵ３２は、ユーザによって１個のサムネイル画像が選択されると、複数個の組合せデータ１１０に含まれる複数個の参照番号の中から、選択済みのサムネイル画像を表わすサムネイルデータに対応付けられている１個の参照番号を選択する。次いで、ＣＰＵ３２は、複数個の配色用データ８０に含まれる各サムネイルデータの送信を要求するための配色用サムネイル要求１２０を画像処理サーバ５０に送信する。
【００２３】
画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０から配色用サムネイル要求１２０を受信すると、複数個の配色用データ８０のそれぞれについて、当該配色用データ８０に含まれる配色番号とサムネイルデータとが対応付けられている組合せデータを生成する。この結果、ＣＰＵ６２は、複数個の配色用データ８０から複数個の組合せデータ１３０を生成する。そして、ＣＰＵ６２は、複数個の組合せデータ１３０をＭＦＰ１０に送信する。
【００２４】
ＭＦＰ１０のＣＰＵ３２は、画像処理サーバ５０から複数個の組合せデータ１３０を受信すると、Ｔ４において、複数個の組合せデータ１３０に含まれる複数個のサムネイルデータによって表わされる複数個のサムネイル画像を表示部１４に表示させる。
【００２５】
図１には、Ｔ４で表示されるサムネイル画像ＳＩ３，ＳＩ４の一例が示されている。サムネイル画像ＳＩ３，ＳＩ４は、それぞれ、３色を示す３個の領域を含む。ユーザは、表示部１４に表示される各サムネイル画像ＳＩ３，ＳＩ４を見ながら、操作部１２を操作して、１個のサムネイル画像を選択する。
【００２６】
図２に示されるように、ＭＦＰ１０のＣＰＵ３２は、ユーザによって１個のサムネイル画像が選択されると、複数個の組合せデータ１３０に含まれる複数個の配色番号の中から、選択済みのサムネイル画像を表わすサムネイルデータに対応付けられている１個の配色番号を選択する。次いで、ＣＰＵ３２は、上記の特定の用紙（即ちユーザによってオブジェクトが描画されたＡ４サイズの用紙）のスキャンの指示をスキャン実行部２２に供給する。これにより、スキャン実行部２２は、上記の特定の用紙のカラースキャンを実行して、スキャンデータＳＤを生成する。スキャンデータＳＤは、Ａ４サイズに対応する画素数を有するＲＧＢビットマップデータである。
【００２７】
次いで、ＭＦＰ１０のＣＰＵ３２は、スキャンデータＳＤと、選択済みの参照番号と、選択済みの配色番号と、を含む変換指示１５０を、画像処理サーバ５０に送信する。
【００２８】
画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０から変換指示１５０を受信すると、Ｔ１０において、複数個の合成用データ７０に含まれる複数個の参照データの中から、変換指示１５０に含まれる参照番号に対応付けられている１個の参照データＲＤを取得する。ここで取得される参照データＲＤは、はがきサイズに対応する画素数を有する。次いで、Ｔ２０において、ＣＰＵ６２は、複数個の配色用データ８０に含まれる複数個の配色パターンの中から、変換指示１５０に含まれる配色番号に対応付けられている１個の配色パターンＣＯＰを取得する。
【００２９】
次いで、Ｓ１０において、画像処理サーバ５０のＣＰＵ６２は、変換指示１５０に含まれるスキャンデータＳＤに対する縮小化処理を実行する。具体的に言うと、ＣＰＵ６２は、Ａ４サイズに対応する画素数を有するスキャンデータＳＤを縮小化して、はがきサイズに対応する画素数を有する対象データＴＤを生成する。例えば、Ａ４サイズに対応する画素数、はがきサイズに対応する画素数が、それぞれ、「Ｋ１」、「Ｋ２」である場合には、ＣＰＵ６２は、Ｋ１個の画素を含むスキャンデータＳＤから（Ｋ１−Ｋ２）個の画素を間引いて、Ｋ２個の画素を含む対象データＴＤを生成する。
【００３０】
次いで、Ｓ１００では、画像処理サーバ５０のＣＰＵ６２は、対象データＴＤに対する二値化処理を実行する。これにより、ＣＰＵ６２は、対象データＴＤから、「１」又は「０」を示すＫ２個の画素を含む二値データＢＤを生成する。
【００３１】
次いで、Ｓ２００において、画像処理サーバ５０のＣＰＵ６２は、二値データＢＤを利用して、ラべリング処理を実行する。これにより、ＣＰＵ６２は、Ｋ２個の画素を含むラベルデータＬＤを生成する。
【００３２】
次いで、Ｓ３００において、画像処理サーバ５０のＣＰＵ６２は、ラベルデータＬＤを利用して、合成／配色決定処理を実行する。これにより、ＣＰＵ６２は、決定テーブルＤＴを生成する。
【００３３】
次いで、Ｓ４００において、画像処理サーバ５０のＣＰＵ６２は、決定テーブルＤＴと、参照データＲＤと、配色パターンＣＯＰと、を利用して、対象データＴＤに対する変換処理を実行する。これにより、ＣＰＵ６２は、Ｋ２個の画素を含む変換済みデータＣＤを生成する。そして、ＣＰＵ６２は、変換済みデータＣＤをＭＦＰ１０に送信する。
【００３４】
ＭＦＰ１０のＣＰＵ３２は、ＭＦＰ１０から変換済みデータＣＤを受信すると、変換済みデータＣＤを印刷実行部２０に供給する。この結果、印刷実行部２０は、変換済みデータＣＤによって表わされる画像を、はがきサイズの用紙に印刷する。これにより、印刷済みの用紙をユーザに提供することができる。
【００３５】
（二値化処理；図３）
続いて、図３を参照して、図２のＳ１００の二値化処理の内容を説明する。Ｓ１０２では、画像処理サーバ５０のＣＰＵ６２は、画素の位置を示すポインタｍ及びｎのそれぞれの値を「０」に設定する。
【００３６】
図４は、対象データＴＤ及び二値データＢＤのそれぞれの一部を模式的に示す。ポインタｍの値は、各データＴＤ等内の各画素の第１方向（本実施例では図４の左右方向）の位置を示す。ポインタｍの値は、第１方向の第１側から第２側（本実施例では図４の左側から右側）に向かって大きくなる。ポインタｎの値は、各データＴＤ等内の各画素の第２方向（本実施例では図４の上下方向）の位置を示す。ポインタｎの値は、第２方向の第１側から第２側（本実施例では図４の上側から下側）に向かって大きくなる。
【００３７】
図３のＳ１０４では、ＣＰＵ６２は、対象データＴＤ内の１個の画素ＴＰ（ｍ，ｎ）を選択する。次いで、Ｓ１０６では、ＣＰＵ６２は、画素ＴＰ（ｍ，ｎ）の画素値ＲＧＢｔｐ（ｍ，ｎ）に対してＹＣＣ変換を実行する。具体的に言うと、ＣＰＵ６２は、Ｓ１０６内の数式に従って、輝度値Ｙ（ｍ，ｎ）と、第１の色差値Ｃｂ（ｍ，ｎ）と、第２の色差値Ｃｒ（ｍ，ｎ）と、を算出する。Ｓ１０６内の数式において、Ｒ（ｍ，ｎ）、Ｇ（ｍ，ｎ）、Ｂ（ｍ，ｎ）は、それぞれ、ＲＧＢｔｐ（ｍ，ｎ）のＲ値、Ｇ値、Ｂ値である。
【００３８】
Ｓ１０８では、ＣＰＵ６２は、輝度値Ｙ（ｍ，ｎ）が予め決められた所定値以下であるのか否かを判断する。輝度値Ｙ（ｍ，ｎ）が上記の所定値以下である（Ｓ１０８でＹＥＳ）ということは、画素ＴＰ（ｍ，ｎ）の濃度が比較的に高い（即ち所定の濃度以上である）ことを意味する。輝度値Ｙ（ｍ，ｎ）が上記の所定値より大きい（Ｓ１０８でＮＯ）ということは、画素ＴＰ（ｍ，ｎ）の濃度が比較的に低い（即ち上記の所定の濃度未満である）ことを意味する。即ち、Ｓ１０８では、ＣＰＵ６２は、画素ＴＰ（ｍ，ｎ）の濃度が所定の濃度以上であるのか否かを判断する。なお、以下では、所定の濃度以上であると判断される対象データＴＤ内の画素（即ちＳ１０８でＹＥＳと判断される画素）のことを「注目画素」と呼ぶ。
【００３９】
ＣＰＵ６２は、輝度値Ｙ（ｍ，ｎ）が所定値以下であると判断する場合（即ちＳ１０８でＹＥＳ）には、Ｓ１１０において、二値データＢＤ内の画素ＢＰ（ｍ，ｎ）の画素値として「１」を記憶する。また、ＣＰＵ６２は、輝度値Ｙ（ｍ，ｎ）が所定値よりも大きいと判断する場合（Ｓ１０８でＮＯ）には、Ｓ１１２において、二値データＢＤ内の画素ＢＰ（ｍ，ｎ）の画素値として「０」を記憶する。
【００４０】
Ｓ１１０又はＳ１１２が終了すると、Ｓ１２０において、ＣＰＵ６２は、ポインタｍの現在の値に「１」を加算して、ポインタｍの新たな値を設定する。次いで、Ｓ１２２では、ＣＰＵ６２は、ポインタｍの値がｍｍａｘよりも大きいのか否かを判断する。ｍｍａｘは、対象データＴＤの第１方向の画素数（即ち図４の左右方向に並ぶ画素数）に一致する値である。
【００４１】
ＣＰＵ６２は、ポインタｍの値がｍｍａｘよりも大きいと判断する場合（Ｓ１２２でＹＥＳ）には、Ｓ１２４において、ポインタｍの値を「０」に設定し、さらに、ポインタｎの現在の値に「１」を加算して、ポインタｎの新たな値を設定する。次いで、Ｓ１２６では、ＣＰＵ６２は、ポインタｎの値がｎｍａｘよりも大きいのか否かを判断する。ｎｍａｘは、対象データＴＤの第２方向の画素数（即ち図４の上下方向に並ぶ画素数）に一致する値である。
【００４２】
ＣＰＵ６２は、ポインタｍの値がｍｍａｘ以下であると判断する場合（Ｓ１２２でＮＯ）、又は、ポインタｎの値がｎｍａｘ以下であると判断する場合（Ｓ１２６でＮＯ）には、Ｓ１０４に戻る。これにより、ＣＰＵ６２は、対象データＴＤ内の新たな画素ＴＰ（ｍ，ｎ）を選択して、Ｓ１０６〜Ｓ１１２の処理を再び実行する。
【００４３】
また、ＣＰＵ６２は、ポインタｎの値がｎｍａｘよりも大きいと判断する場合（Ｓ１２６でＹＥＳ）には、対象データＴＤ内の全ての画素について、Ｓ１０６〜Ｓ１１２の処理が実行されたと判断し、二値化処理を終了する。これにより、二値データＢＤ（図４参照）が完成する。
【００４４】
（ラべリング処理；図５）
続いて、図５を参照して、図２のＳ２００のラべリング処理の内容を説明する。ラべリング処理は、対象データＴＤ内の各注目画素を複数個の画素グループに分類するために実行される。ラべリング処理では、まず、二値データＢＤから中間ラベルデータＭＬＤが生成され、その後、中間ラベルデータＭＬＤからラベルデータＬＤが生成される。
【００４５】
以下では、図６に示される対象データＴＤ及び二値データＢＤが生成される場合を例として、ラべリング処理の内容を説明する。図６の各データＴＤ，ＢＤ内の１個のボックスは、１個の画素を示す。対象データＴＤにおいて、グレーの塗りつぶしを有するボックスは、所定の濃度以上を有する画素（即ち注目画素）を示し、白色のボックスは、所定の濃度よりも小さい濃度を有する画素を示す。二値データＢＤでは、対象データＴＤ内の各画素の濃度に応じた画素値（即ち「１」又は「０」）が記述されている。
【００４６】
図５のＳ２０２では、画像処理サーバ５０のＣＰＵ６２は、画素の位置を示すポインタｍ及びｎのそれぞれの値を「０」に設定し、さらに、ポインタＬの値を「０」に設定する。Ｓ２０４では、ＣＰＵ６２は、二値データＢＤに含まれる１個の画素ＢＰ（ｍ，ｎ）を選択する。そして、Ｓ２０６では、ＣＰＵ６２は、画素ＢＰ（ｍ，ｎ）の画素値が「１」であるのか否かを判断する。
【００４７】
ＣＰＵ６２は、画素ＢＰ（ｍ，ｎ）の画素値が「０」であると判断する場合（即ちＳ２０６でＮＯ）には、Ｓ２０８において、中間ラベルデータＭＬＤ内の画素ＭＬＰ（ｍ，ｎ）の画素値として「０」を記憶する。Ｓ２０８が終了すると、Ｓ２４０に進む。
【００４８】
図７は、中間ラベルデータＭＬＤの一例を示す。例えば、図６の二値データＢＤでは、画素ＢＰ（０，０）の画素値は「０」である。従って、ＣＰＵ６２は、図５のＳ２０４で画素ＢＰ（０，０）を選択する場合には、Ｓ２０６でＮＯと判断し、Ｓ２０８で中間ラベルデータＭＬＤ内の画素ＭＬＰ（０，０）の画素値として「０」を記憶する。
【００４９】
図５のＳ２０６において、ＣＰＵ６２は、画素ＢＰ（ｍ，ｎ）の画素値が「１」であると判断する場合（Ｓ２０６でＹＥＳ）には、Ｓ２１０において、４個の特定隣接画素のいずれかの画素値が「０」より大きいのか否かを判断する。
【００５０】
図７を参照して、４個の特定隣接画素について説明する。中間ラベルデータＭＬＤ内の画素ＭＬＰ（ｍ，ｎ）の画素値を決定すべき段階では、画素ＭＬＰ（ｍ，ｎ）に隣接する８個の画素のうちの４個の画素（即ちハッチングが付されている４個の画素）の各画素値が、既に決定されている。画素値が既に決定されているこれらの４個の画素が、４個の特定隣接画素である。
【００５１】
図５のＳ２１０において、ＣＰＵ６２は、４個の特定隣接画素の全ての画素値が「０」であると判断する場合（Ｓ２１０でＮＯ）には、Ｓ２２０において、ポインタＬの現在の値に「１」を加算して、ポインタＬの新たな値を設定する。そして、Ｓ２２２では、ＣＰＵ６２は、中間ラベルデータＭＬＤ内の画素ＭＬＰ（ｍ，ｎ）の画素値として、ポインタＬの値を記憶する。Ｓ２２２が終了すると、Ｓ２４０に進む。
【００５２】
例えば、図７の中間ラベルデータＭＬＤ内の画素ＭＬＰ（３，１）の画素値を決定すべき段階では、４個の特定隣接画素の全ての画素値が「０」であり、ポインタＬの値が「０」である。従って、ＣＰＵ６２は、図５のＳ２０４で画素ＢＰ（３，１）を選択する場合には、Ｓ２１０でＮＯと判断し、Ｓ２２０でポインタＬの値として「１」を設定し、Ｓ２２２で画素ＭＬＰ（３，１）の画素値として「１」を記憶する。
【００５３】
また、例えば、図７の中間ラベルデータＭＬＤ内の画素ＭＬＰ（２，９）の画素値を決定すべき段階では、４個の特定隣接画素の全ての画素値が「０」であり、ポインタＬの値が「３」である。従って、ＣＰＵ６２は、図５のＳ２０４で画素ＢＰ（２，９）を選択する場合には、Ｓ２１０でＮＯと判断し、Ｓ２２０でポインタＬの値として「４」を設定し、Ｓ２２２で画素ＭＬＰ（２，９）の画素値として「４」を記憶する。
【００５４】
図５のＳ２１０において、ＣＰＵ６２は、４個の特定隣接画素のいずれかの画素値が「０」より大きいと判断する場合（Ｓ２１０でＹＥＳ）には、Ｓ２３０において、４個の特定隣接画素が、「０」より大きい複数の異なる画素値を示すのか否かを判断する。
【００５５】
ＣＰＵ６２は、４個の特定隣接画素が、「０」より大きい複数の異なる画素値を示すと判断する場合（Ｓ２３０でＹＥＳ）には、Ｓ２３２において、変更データを記憶する。変更データは、４個の特定隣接画素の４個の画素値のうち、「０」より大きい最大の画素値Ｌｍａｘを、「０」より大きい最小の画素値Ｌｍｉｎに変更すべきことを示すデータである。
【００５６】
次いで、Ｓ２３４では、ＣＰＵ６２は、中間ラベルデータＭＬＤ内の画素ＭＬＰ（ｍ，ｎ）の画素値として、４個の特定隣接画素の４個の画素値のうち、「０」より大きい最小の画素値Ｌｍｉｎを記憶する。Ｓ２３４を終えると、Ｓ２４０に進む。
【００５７】
例えば、図７の中間ラベルデータＭＬＤ内の画素ＭＬＰ（３，９）の画素値を決定すべき段階では、特定隣接画素ＭＬＰ（４，８）の画素値が「３」であり、特定隣接画素ＭＬＰ（２，９）の画素値が「４」であり、他の２個の特定隣接画素の各画素値が「０」である。従って、ＣＰＵ６２は、図５のＳ２０４で画素ＢＰ（３，９）を選択する場合には、Ｓ２１０でＹＥＳと判断し、Ｓ２３０でＹＥＳと判断する。そして、Ｓ２３２において、ＣＰＵ６２は、４個の特定隣接画素の４個の画素値のうち、「０」より大きい最大の画素値「４（即ちＬｍａｘ）」を、「０」より大きい最小の画素値「３（即ちＬｍｉｎ）」に変更すべきことを示す変更データを記憶する。次いで、Ｓ２３４において、ＣＰＵ６２は、画素ＭＬＰ（３，９）の画素値として、４個の特定隣接画素の４個の画素値のうち、「０」より大きい最小の画素値「３」を記憶する。
【００５８】
図５のＳ２３０において、ＣＰＵ６２は、４個の特定隣接画素が、「０」より大きい複数の異なる画素値を示さないと判断する場合（Ｓ２３０でＮＯ）には、Ｓ２３２をスキップして、Ｓ２３４において、中間ラベルデータＭＬＤ内の画素ＭＬＰ（ｍ，ｎ）の画素値として、画素値Ｌｍｉｎを記憶する。
【００５９】
例えば、図７の中間ラベルデータＭＬＤ内の画素ＭＬＰ（４，１）の画素値を決定すべき段階では、特定隣接画素ＭＬＰ（３，１）の画素値が「１」であり、他の３個の特定隣接画素ＭＦＰの各画素値が「０」である。従って、ＣＰＵ６２は、図５のＳ２０４で画素ＢＰ（４，１）を選択する場合には、Ｓ２３０でＮＯと判断し、Ｓ２３４において、画素ＭＬＰ（４，１）の画素値として、４個の特定隣接画素の４個の画素値のうち、「０」より大きい最小の画素値「１」を記憶する。
【００６０】
Ｓ２４０〜Ｓ２４６は、図３のＳ１２０〜Ｓ１２６と同様である。Ｓ２４６でＹＥＳと判断されると、中間ラベルデータＭＬＤが完成する。この場合、Ｓ２５０において、ＣＰＵ６２は、Ｓ２３２で変更データが記憶されたのか否かを判断する。
【００６１】
ＣＰＵ６２は、Ｓ２３２で変更データが記憶されたと判断する場合（Ｓ２５０でＹＥＳ）には、Ｓ２５２において、変更データに従って、中間ラベルデータＭＬＤを変更して、ラベルデータＬＤを生成するための変更処理を実行する。例えば、画素値「４」を画素値「３」に変更すべきことを示す変更データが記憶されている場合には、ＣＰＵ６２は、図７の中間ラベルデータＭＬＤ内の画素ＭＬＰ（２，９）の画素値「４」を画素値「３」に変更する。これにより、変更後の画素値「３」を有する画素ＬＰ（２，９）を含むラベルデータＬＤが生成される（図７のラベルデータＬＤ参照）。Ｓ２５２が終了すると、ラべリング処理が終了する。
【００６２】
また、ＣＰＵ６２は、Ｓ２３２で変更データが記憶されなかったと判断する場合（Ｓ２５０でＮＯ）には、Ｓ２５２をスキップして、ラべリング処理を終了する。この場合、中間ラベルデータＭＬＤに一致するラベルデータＬＤが完成する。
【００６３】
ラべリング処理が終了すると、対象データＴＤ内の各注目画素が複数個の画素グループに分類されることになる。１個の画素グループは、同じ画素値を有するラベルデータＬＤ内の各画素に対応する各位置に存在する各注目画素によって構成される。以下では、各画素グループのことを、ラベルデータＬＤ内の画素値Ｌ（例えば画素値「１」）を利用して、「画素値Ｌ（例えば画素値「１」）に対応する画素グループ」と呼ぶことがある。
【００６４】
（合成／配色決定処理；図８）
続いて、図８を参照して、図２のＳ３００の合成／配色変換処理の内容を説明する。Ｓ３０２では、画像処理サーバ５０のＣＰＵ６２は、図２のＴ２０で取得される配色パターンＣＯＰに含まれる色番号（即ちＣＬ１、ＣＬ２・・・ＣＬｋ）の数ｋを特定する。次いで、Ｓ３０４では、ＣＰＵ６２は、ポインタｊの値として「１」を設定する。次いで、Ｓ３０６では、ＣＰＵ６２は、ポインタＬｔａｒの値として「１」を設定する。
【００６５】
Ｓ３１０では、ＣＰＵ６２は、画素値Ｌｔａｒに対応する画素グループの画素数を算出する。具体的には、ＣＰＵ６２は、ラベルデータＬＤを参照して、ポインタＬｔａｒの値に一致する画素値を有する画素数を算出する。
【００６６】
Ｓ３１２では、ＣＰＵ６２は、画素値Ｌｔａｒに対応する画素グループの密度を算出する。具体的には、ＣＰＵ６２は、まず、ラベルデータＬＤを参照して、ポインタＬｔａｒの値に一致する画素値を有する複数個の画素のうち、第１方向の最も第１側に存在する画素から最も第２側に存在する画素までの画素数ｍｔを算出する。ＣＰＵ６２は、さらに、ラベルデータＬＤを参照して、ポインタＬｔａｒの値に一致する画素値を有する複数個の画素のうち、第２方向の最も第１側に存在する画素から最も第２側に存在する画素までの画素数ｎｔを算出する。そして、ＣＰＵ６２は、ｍｔ及びｎｔを乗算することによって得られる乗算値を、Ｓ３１０で算出された画素数で除算して、密度を算出する。
【００６７】
例えば、図７のラベルデータＬＤでは、画素値「１」を有する画素が１２個存在する。画素値「１」を有する１２個の画素において、第１方向（即ち左右方向）の最も第１側（即ち左側）に存在する画素から最も第２側（即ち右側）に存在する画素までの画素数ｍｔは、「５」である。また、画素値「１」を有する１２個の画素において、第２方向（即ち上下方向）の最も第１側（即ち上側）に存在する画素から最も第２側（即ち下側）に存在する画素までの画素数ｎｔは、「３」である。従って、ＣＰＵ６２は、画素値Ｌｔａｒに対応する画素グループの密度として、１２／（５ｘ３）を算出する。
【００６８】
図８の３１４では、ＣＰＵ６２は、Ｓ３１０で算出された画素数が予め決められている閾値Ｔｈ１以上であり、かつ、Ｓ３１２で算出された密度が予め決められている閾値Ｔｈ２以上であるのか否かを判断する。
【００６９】
ＣＰＵ６２は、画素数が閾値Ｔｈ１以上であり、かつ、密度が閾値Ｔｈ２以上であると判断する場合（Ｓ３１４でＹＥＳ）には、Ｓ３２０において、ポインタＬｔａｒの値と、「合成」を示すデータと、が対応付けられている情報（例えば「Ｌｔａｒ＝１」と「合成」）を、決定テーブルＤＴに記述する。これにより、ＣＰＵ６２は、画素値Ｌｔａｒに対応する画素グループに対して合成処理を実行すべきことを決定する。Ｓ３２０を終えると、Ｓ３５０に進む。
【００７０】
また、ＣＰＵ６２は、画素数が閾値Ｔｈ１未満であると判断する場合、又は、密度が閾値Ｔｈ２未満であると判断する場合（Ｓ３１４でＮＯ）には、Ｓ３３０において、ポインタＬｔａｒの値と、「配色」を示すデータと、ポインタｊの値に対応する色番号ＣＬｊと、が対応付けられている情報（例えば「Ｌｔａｒ＝２」と「配色」と「ＣＬ１」）とが対応付けられている情報）を、決定テーブルＤＴに記述する。これにより、ＣＰＵ６２は、画素値Ｌｔａｒに対応する画素グループに対して配色処理を実行すべきことを決定する。
【００７１】
Ｓ３３０を終えると、Ｓ３３４において、ＣＰＵ６２は、ポインタｊの現在の値に「１」を加算して、ポインタｊの新たな値を設定する。次いで、Ｓ３３６では、ＣＰＵ６２は、ポインタｊの値が、Ｓ３０２で特定されたｋよりも大きいのか否かを判断する。ＣＰＵ６２は、ポインタｊの値がｋよりも大きいと判断する場合（Ｓ３３６でＹＥＳ）には、Ｓ３３８において、ポインタｊの値を「１」に設定する。Ｓ３３８が終了すると、Ｓ３５０に進む。また、ＣＰＵ６２は、ポインタｊの値がｋ以下であると判断する場合（Ｓ３２６でＮＯ）には、Ｓ３３８をスキップして、Ｓ３５０に進む。
【００７２】
Ｓ３５０では、ＣＰＵ６２は、ポインタＬｔａｒの現在の値に「１」を加算して、ポインタＬｔａｒの新たな値を設定する。次いで、Ｓ３５２では、ＣＰＵ６２は、ポインタＬｔａｒの値が、ラベルデータＬＤに含まれる最大の画素値よりも大きいのか否かを判断する。
【００７３】
Ｓ３５２において、ＣＰＵ６２は、ポインタＬｔａｒの値が最大の画素値以下であると判断する場合（Ｓ３５２でＮＯ）には、Ｓ３５４において、ラベルデータＬＤの中に、ポインタＬｔａｒの値に一致する画素値を有する画素が存在するのか否かを判断する。ＣＰＵ６２は、ポインタＬｔａｒの値に一致する画素値を有する画素が存在すると判断する場合（Ｓ３５４でＹＥＳ）には、Ｓ３１０に進む。
【００７４】
Ｓ３５４において、ＣＰＵ６２は、ポインタＬｔａｒの値に一致する画素値を有する画素が存在しないと判断する場合（Ｓ３５４でＮＯ）には、Ｓ３５０に戻る。例えば、図５のＳ２３２において、画素値「４」が画素値「３」に変更されるべきことを示す変更データが記憶される場合には、Ｓ２５２において、画素値「４」が画素値「３」に変更されたラベルデータＬＤが生成されるので、ラベルデータＬＤ内に画素値「４」を有する画素が存在しない。この場合、図８のＳ３５４では、ＣＰＵ６２は、ラベルデータＬＤの中に、ポインタＬｔａｒの値「４」に一致する画素値「４」を有する画素が存在しないと判断する（Ｓ３５４でＮＯ）。
【００７５】
また、Ｓ３５２において、ＣＰＵ６２は、ポインタＬｔａｒの値が最大の画素値よりも大きいと判断する場合（Ｓ３５２でＹＥＳ）には、合成／配色決定処理を終了する。これにより、決定テーブルＤＴが完成する。
【００７６】
（変換処理；図９）
続いて、図９を参照して、図２のＳ４００の変換処理の内容を説明する。Ｓ４０２では、画像処理サーバ５０のＣＰＵ６２は、画素の位置を示すポインタｍ及びｎのそれぞれの値を「０」に設定する。Ｓ４０４では、ＣＰＵ６２は、ラベルデータＬＤ内の１個の画素ＬＰ（ｍ，ｎ）を選択する。Ｓ４０６では、ＣＰＵ６２は、画素ＬＰ（ｍ，ｎ）の画素値が「０」より大きいのか否かを判断する。即ち、ＣＰＵ６２は、対象データＴＤ内の画素ＴＰ（ｍ，ｎ）が、所定の濃度以上を有する注目画素であるのか否かを判断する。
【００７７】
Ｓ４０６において、ＣＰＵ６２は、画素ＬＰ（ｍ，ｎ）の画素値が「０」より大きいと判断する場合（Ｓ４０６でＹＥＳ）には、Ｓ４０８において、決定テーブルＤＴから、画素ＬＰ（ｍ，ｎ）の画素値に対応付けられている処理を特定する。例えば、図８の決定テーブルＤＴでは、「Ｌｔａｒ＝１」と「合成」とが対応付けられており、「Ｌｔａｒ＝２」と「配色」とが対応付けられている。従って、図９のＳ４０６において、ＣＰＵ６２は、画素ＬＰ（ｍ，ｎ）の画素値が「１」である場合には「合成」を特定し、画素ＬＰ（ｍ，ｎ）の画素値が「２」である場合には「配色」を特定する。
【００７８】
次いで、Ｓ４１０では、ＣＰＵ６２は、Ｓ４０８で特定された処理が「合成」であるのか否かを判断する。ＣＰＵ６２は、Ｓ４０８で特定された処理が「合成」であると判断する場合（Ｓ４１０でＹＥＳ）には、Ｓ４２０及びＳ４２２の合成処理を実行し、Ｓ４０８で特定された処理が「配色」であると判断する場合（Ｓ４１０でＮＯ）には、Ｓ４３０及びＳ４３２の配色処理を実行する。
【００７９】
Ｓ４２０では、ＣＰＵ６２は、図２のＴ１０で取得された参照データＲＤから、画素ＲＰ（ｍ，ｎ）の画素値ＲＧＢｒｐ（ｍ，ｎ）を抽出する。これにより、ＣＰＵ６２は、対象データＴＤ内の注目画素ＴＰ（ｍ，ｎ）の画素値ＲＧＢｔｐ（ｍ，ｎ）を変換するための変換色（即ち画素値ＲＧＢｒｐ（ｍ，ｎ）が示す色）を選択する。
【００８０】
Ｓ４２２では、ＣＰＵ６２は、対象データＴＤ内の注目画素ＴＰ（ｍ，ｎ）の画素値ＲＧＢｔｐ（ｍ，ｎ）を、抽出済みの画素値ＲＧＢｒｐ（ｍ，ｎ）に変換する。これにより、変換済みデータＣＤ内の画素ＣＰ（ｍ，ｎ）の画素値ＲＧＢｃｐ（ｍ，ｎ）は、参照データＲＤ内の画素ＲＰ（ｍ，ｎ）の画素値ＲＧＢｒｐ（ｍ，ｎ）に一致する。即ち、対象データＴＤに対して、参照データＲＤ内の画素ＲＰ（ｍ，ｎ）が合成される。Ｓ４２２を終えると、Ｓ４４０に進む。
【００８１】
図１０は、対象データＴＤ、ラベルデータＬＤ、参照データＲＤ、及び、変換済みデータＣＤの一例を示す。ラベルデータＬＤ内の画素ＬＰ（１，１）は、画素値「１」を有する。従って、ＣＰＵ６２は、図９のＳ４０４で画素ＬＰ（１，１）を選択する場合には、Ｓ４０６でＹＥＳと判断し、Ｓ４０８で決定テーブルＤＴ（図８参照）から「合成」を特定し、Ｓ４１０でＹＥＳと判断する。そして、ＣＰＵ６２は、Ｓ４２０において、参照データＲＤから画素値ＲＧＢｒｐ（１，１）を抽出し、Ｓ４２２において、対象データＴＤ内の画素値ＲＧＢｔｐ（１，１）を画素値ＲＧＢｒｐ（１，１）に変換する。これにより、変換済みデータＣＤ内の画素ＣＰ（１，１）の画素値ＲＧＢｃｐ（１，１）は、画素値ＲＧＢｒｐ（１，１）に一致する。
【００８２】
同様に、画素ＴＰ（２，１）、画素ＴＰ（２，２）も、それぞれ、画素値ＲＧＢｒｐ（２，１）、画素値ＲＧＢｒｐ（２，２）に変換される。即ち、画素値「１」に対応する画素グループ（即ち、画素ＴＰ（１，１）、画素ＴＰ（２，１）、画素ＴＰ（２，２））に対して、合成処理が実行される。
【００８３】
図９のＳ４３０では、ＣＰＵ６２は、決定テーブルＤＴから、画素ＬＰ（ｍ，ｎ）の画素値に対応付けられている色番号を取得する。次いで、ＣＰＵ６２は、図２のＴ２０で取得された配色パターンＣＯＰから、取得済みの色番号に対応付けられているＲＧＢ値を抽出する。以下では、ここで取得されるＲＧＢ値のことを「ＲＧＢｃｏｌｔａｒ」と記載する。
【００８４】
例えば、図８の決定テーブルＤＴでは、「Ｌｔａｒ＝２」と「配色」と「ＣＬ１」とが対応付けられている。従って、図９のＳ４３０では、ＣＰＵ６２は、画素ＬＰ（ｍ，ｎ）の画素値が「２」である場合には、決定テーブルＤＴから、「Ｌｔａｒ＝２」に対応付けられている色番号「ＣＬ１」を取得する。そして、ＣＰＵ３２は、配色パターンＣＯＰから、色番号「ＣＬ１」に対応付けられているＲＧＢ値（即ちＲＧＢｃｏｌｔａｒ）を抽出する。
【００８５】
Ｓ４３２では、ＣＰＵ６２は、対象データＴＤ内の注目画素ＴＰ（ｍ，ｎ）の画素値ＲＧＢｔｐ（ｍ，ｎ）を、ＲＧＢｃｏｌｔａｒに変換する。これにより、変換済みデータＣＤ内の画素ＣＰ（ｍ，ｎ）の画素値ＲＧＢｃｐ（ｍ，ｎ）は、ＲＧＢｃｏｌｔａｒに一致する。即ち、対象データＴＤにおいて、注目画素ＴＰ（ｍ，ｎ）によって表わされる色が、配色パターンＣＯＰが示す色に配色される。Ｓ４３２を終えると、Ｓ４４０に進む。
【００８６】
図１１は、対象データＴＤ、ラベルデータＬＤ、配色パターンＣＯＰ、及び、変換済みデータＣＤの一例を示す。ラベルデータＬＤ内の画素ＬＰ（１０，１０）は、画素値「２」を有する。従って、ＣＰＵ６２は、図９のＳ４０４で画素ＬＰ（１０，１０）を選択する場合には、Ｓ４０６でＹＥＳと判断し、Ｓ４０８で決定テーブルＤＴ（図８参照）から「配色」を特定し、Ｓ４１０でＮＯと判断する。そして、ＣＰＵ６２は、Ｓ４３０において、図８の決定テーブルＤＴから色番号「ＣＬ１」を取得し、配色パターンＣＯＰから色番号「ＣＬ１」に対応付けられているＲＧＢ値であるＲＧＢｃｏｌ１を抽出する。次いで、ＣＰＵ６２は、Ｓ４３２において、対象データＴＤ内の画素ＴＰ（１０，１０）の画素値ＲＧＢｔｐ（１０，１０）をＲＧＢｃｏｌ１に変換する。これにより、変換済みデータＣＤ内の画素ＣＰ（１０，１０）の画素値ＲＧＢｃｐ（１０，１０）は、ＲＧＢｃｏｌ１に一致する。
【００８７】
同様に、画素ＴＰ（１１，１０）、画素ＴＰ（１２，１０）も、それぞれ、ＲＧＢｃｏｌ１に変換される。即ち、画素値「２」に対応する画素グループ（即ち、画素ＴＰ（１０，１０）、画素ＴＰ（１１，１０）、画素ＴＰ（１２，１０））に対して、色番号ＣＬ１に対応する色が配色される。また、同様に、画素値「３」に対応する画素グループ（即ち、画素ＴＰ（１０，１２）、画素ＴＰ（１１，１２）、画素ＴＰ（１２，１２））に対して、色番号ＣＬ２に対応する色が配色される。
【００８８】
また、図９のＳ４０６において、ＣＰＵ６２は、画素ＬＰ（ｍ，ｎ）の画素値が「０」であると判断する場合（Ｓ４０６でＮＯ）には、Ｓ４０８〜Ｓ４３２をスキップして、Ｓ４４０に進む。即ち、ＣＰＵ６２は、対象データＴＤ内の画素ＴＰ（ｍ，ｎ）の画素値ＲＧＢｔｐ（ｍ，ｎ）を変換しない。これにより、変換済みデータＣＤ内の画素ＣＰ（ｍ，ｎ）の画素値ＲＧＢｃｐ（ｍ，ｎ）は、対象データＴＤ内の画素ＴＰ（ｍ，ｎ）の画素値ＲＧＢｔｐ（ｍ，ｎ）に一致する。
【００８９】
例えば、図１０のラベルデータＬＤ内の画素（０，０）は、画素値「０」を有する。従って、ＣＰＵ６２は、図９のＳ４０４で画素ＬＰ（０，０）を選択する場合には、Ｓ４０６でＮＯと判断し、対象データＴＤ内の画素ＴＰ（０，０）の画素値ＲＧＢｔｐ（０，０）を変換しない。これにより、これにより、変換済みデータＣＤ内の画素ＣＰ（０，０）の画素値ＲＧＢｃｐ（０，０）は、画素値ＲＧＢｔｐ（０，０）に一致する。
【００９０】
Ｓ４４０〜Ｓ４４６は、図３のＳ１２０〜Ｓ１２６と同様である。Ｓ４４６でＹＥＳと判断されると、変換処理が終了する。これにより、対象データＴＤ内の全ての画素グループのそれぞれに対して、合成処理（即ちＳ４２０及びＳ４２２）又は配色処理（即ちＳ４３０及びＳ４３２）が実行され、変換済みデータＣＤが完成する。
【００９１】
（画像の変換の例；図１２）
図１２（Ａ）は、対象データＴＤによって表わされる対象画像ＴＩの一例を示す。対象画像ＴＩは、白色の背景オブジェクトＢＯと、５個の対象オブジェクトＴＯ１〜ＴＯ５（即ち、ユーザによって手書きで描画された各オブジェクト）と、を含む。
【００９２】
対象オブジェクトＴＯ１は、隣り合う２個の文字が連続している８個の黒色の文字「ｃｏｍｐｌｅｔｅ」を示す。対象オブジェクトＴＯ１は、比較的に大きいサイズを有する。従って、対象オブジェクトＴＯ１を表わす画素グループの画素数は、比較的に大きい（即ち図８のＳ３１４の閾値Ｔｈ１以上である）。ただし、対象オブジェクトＴＯ１は、比較的に細い線で描かれている。従って、対象オブジェクトＴＯ１を表わす画素グループの密度は、比較的に小さい（即ち図８のＳ３１４の閾値Ｔｈ２未満である）。
【００９３】
対象オブジェクトＴＯ２は、黒色の文字「Ａ」を示す。対象オブジェクトＴＯ２は、比較的に大きいサイズを有する。従って、対象オブジェクトＴＯ２を表わす画素グループの画素数は、比較的に大きい（即ち閾値Ｔｈ１以上である）。また、対象オブジェクトＴＯ２は、比較的に太い線で描かれている。従って、対象オブジェクトＴＯ２を表わす画素グループの密度は、比較的に大きい（即ち閾値Ｔｈ２以上である）。
【００９４】
３個の対象オブジェクトＴＯ３〜ＴＯ５は、それぞれ、黒色の文字「ｂ」、「ｃ」、「ｄ」を示す。３個の対象オブジェクトＴＯ３〜ＴＯ５は、それぞれ、比較的に太い線で描かれている。従って、３個の対象オブジェクトＴＯ３〜ＴＯ５を表わす３個の画素グループのそれぞれの密度は、比較的に大きい（即ち閾値Ｔｈ２以上である）。ただし、３個の対象オブジェクトＴＯ３〜ＴＯ５は、それぞれ、比較的に小さいサイズを有する。従って、３個の対象オブジェクトＴＯ３〜ＴＯ５を表わす３個の画素グループのそれぞれの画素数は、比較的に小さい（即ち閾値Ｔｈ１未満である）。
【００９５】
図１２（Ｂ）は、参照データＲＤによって表わされる参照画像ＲＩの一例を示す。上述したように、ユーザは、複数個のサムネイル画像ＳＩ１，ＳＩ２（図１参照）の中から１個のサムネイル画像を選択する。そして、画像処理サーバ５０は、選択済みのサムネイル画像に対応する参照データＲＤを取得する（図２のＴ１０参照）。図１２（Ｂ）の参照画像ＲＩは、ユーザによってサムネイル画像ＳＩ１が選択された場合に、画像処理サーバ５０によって取得される参照データＲＤによって表わされる画像である。参照画像ＲＩは、黄色の連続する線を示す領域（図１２（Ｂ）ではグレーの領域）と、当該領域によって区分されている複数個の青色のブロックを示す領域（図１２（Ｂ）では黒色の領域）と、を含む。
【００９６】
図２のＳ１００の二値化処理では、画像処理サーバ５０は、対象データＴＤに含まれる複数個の画素のうち、５個の対象オブジェクトＴＯ１〜ＴＯ５を表わす各画素について、濃度が比較的に高い注目画素であると判断する（図３のＳ１０８でＹＥＳ）。また、画像処理サーバ５０は、対象データＴＤ内の複数個の画素のうち、背景オブジェクトＢＯを表わす各画素について、濃度が比較的に低い画素であると判断する（図３のＳ１０８でＮＯ）。
【００９７】
図２のＳ２００のラべリング処理では、画像処理サーバ５０は、対象データＴＤ内の各注目画素を、５個の対象オブジェクトＴＯ１〜ＴＯ５を表わす５個の画素グループに分類する（図５参照）。
【００９８】
図２のＳ３００の合成／配色処理では、画像処理サーバ５０は、対象オブジェクトＴＯ２を表わす画素グループについて、画素数が閾値Ｔｈ１以上であり、かつ、密度が閾値Ｔｈ２以上であると判断し（図８のＳ３１４でＹＥＳ）、合成処理を実行すべきと決定する（Ｓ３２０）。この結果、図２のＳ４００の変換処理では、画像処理サーバ５０は、参照画像ＲＩを表わす参照データＲＤを利用して、対象オブジェクトＴＯ２を表わす画素グループに対する合成処理を実行する（図９のＳ４２０，Ｓ４２２）。
【００９９】
また、図２のＳ３００の合成／配色処理では、画像処理サーバ５０は、対象オブジェクトＴＯ３〜ＴＯ５を表わす３個の画素グループのそれぞれについて、密度が閾値Ｔｈ２以上であるが、画素数が閾値Ｔｈ１未満であるので（図８のＳ３１４でＮＯ）、配色処理を実行すべきと決定する（Ｓ３３０）。また、画像処理サーバ５０は、対象オブジェクトＴＯ１を表わす画素グループについて、画素数が閾値Ｔｈ１以上であるが、密度が閾値Ｔｈ２未満であるので（Ｓ３１４でＮＯ）、配色処理を実行すべきと決定する（Ｓ３３０）。しかも、画像処理サーバ５０は、４個の対象オブジェクトＴＯ１，ＴＯ３〜ＴＯ５を表わす４個の画素グループのそれぞれについて、異なる色番号ＣＬ１〜ＣＬ４を決定テーブルＤＴに記述する。この結果、図２のＳ４００の変換処理では、画像処理サーバ５０は、４個の対象オブジェクトＴＯ１，ＴＯ３〜ＴＯ５を表わす４個の画素グループに対する配色処理を実行する（図９のＳ４３０，Ｓ４３２）。
【０１００】
なお、図２のＳ４００の変換処理では、画像処理サーバ５０は、対象データＴＤ内の複数個の画素のうち、背景オブジェクトＢＯを表わす各画素の画素値を変換しない（図９のＳ４０６でＮＯ）。
【０１０１】
上記の各処理Ｓ１００〜Ｓ４００が実行されると、図１２（Ｃ）に示される変換済み画像ＣＩを表わす変換済みデータＣＤが生成される。変換済み画像ＣＩは、白色の背景オブジェクトＢＯと、５個の変換済みオブジェクトＣＯ１〜ＣＯ５と、を含む。即ち、変換済み画像ＣＩは、５個の対象オブジェクトＴＯ１〜ＴＯ５に代えて、変換済みオブジェクトＣＯ１〜ＣＯ５を含む。
【０１０２】
変換済みオブジェクトＣＯ２は、参照画像ＲＩと同じパターン（即ち、黄色の連続する線、及び、複数個の青色のブロック）を有する文字「Ａ」を示す。換言すると、変換済みオブジェクトＣＯ２は、ユーザによって描画された文字「Ａ」を示すオブジェクトに対応する形状を有すると共に、複数色を含む参照画像ＲＩと同じパターンを有するオブジェクトである。
【０１０３】
４個の変換済みオブジェクトＣＯ１，ＣＯ３〜ＣＯ５は、それぞれ、色番号ＣＬ１〜ＣＬ４に対応する単色を示す。換言すると、４個の変換済みオブジェクトＣＯ１，ＣＯ３〜ＣＯ５は、それぞれ、ユーザによって描画された文字（例えば「ｃｏｍｐｌｅｔｅ」）に対応する形状を有すると共に、単色を示すオブジェクトである。そして、４個の変換済みオブジェクトＣＯ１，ＣＯ３〜ＣＯ５によって示される各色は、異なる色番号ＣＬ１〜ＣＬ４に対応する異なる色である。
【０１０４】
仮に、画素数又は密度が比較的に小さい画素グループに対して合成処理が実行されると、ユーザは、変換済みオブジェクトの中に参照画像ＲＩのパターンを認識しにくい。このために、本実施例では、画像処理サーバ５０は、画素数又は密度が比較的に小さい画素グループに対して配色処理を実行して（図８のＳ３１４でＮＯ、図９のＳ４３０、Ｓ４３２）、単色を示す変換済みオブジェクトＣＯ１，ＣＯ３〜ＣＯ５を表わす変換済みデータＣＤを生成する。また、画像処理サーバ５０は、画素数及び密度が比較的に大きい画素グループに対して合成処理を実行して（図８のＳ３１４でＹＥＳ、図９のＳ４２０、Ｓ４２２）、複数色を示す変換済みオブジェクトＣＯ２を表わす変換済みデータＣＤを生成する。これにより、ユーザは、変換済みオブジェクトＣＯ２の中に参照画像ＲＩのパターンを認識することができる。
【０１０５】
上述したように、画像処理サーバ５０は、各対象オブジェクトが有する各特徴、即ち、各画素グループの画素数及び密度に応じて、各画素グループに対して合成処理又は配色処理を適切に実行することができる。そして、画像処理サーバ５０は、変換済みデータＣＤを生成して、当該変換済みデータＣＤをＭＦＰ１０に送信する。この結果、ＭＦＰ１０は、変換済み画像ＣＩをはがきサイズの用紙に印刷する。従って、面白味のある画像をユーザに提供し得る。
【０１０６】
本実施例によると、ユーザは、例えば、ニューイヤーカード、クリスマスカード等に利用されるべき面白味のあるカードを容易に取得することができる。即ち、ユーザは、Ａ４サイズの用紙にオブジェクトを手書きで描画する。そして、ユーザは、複数個のサムネイル画像ＳＩ１，ＳＩ２を見ながら参照番号を選択し、複数個のサムネイル画像ＳＩ３，ＳＩ４を見ながら配色番号を選択し、上記の用紙のスキャンをＭＦＰ１０に実行させる。これにより、ユーザは、変換済み画像ＣＩが印刷されたはがきサイズの用紙を容易に取得することができる。
【０１０７】
（対応関係）
画像処理サーバ５０が、「画像処理装置」の一例である。図１２（Ｂ）の参照画像ＲＩ、参照データＲＤが、それぞれ、「特定画像」、「特定データ」の一例である。この場合、黄色と青色の２個の色が、「複数個の色」の一例である。また、図８のＳ３０２で特定されるｋ個の色が、「Ｍ個の色」の一例である。図８のＳ３１０，Ｓ３１２で算出される画素数及び密度が、「特徴データ」の一例である。閾値Ｔｈ１、閾値Ｔｈ２が、それぞれ、「第１の閾値」、「第２の閾値」の一例である。画素数が閾値Ｔｈ１以上であり、かつ、密度が閾値Ｔｈ２以上であること（Ｓ３１４でＹＥＳ）が、「第１の特徴」の一例である。画素数が閾値Ｔｈ１未満であること、又は、密度が閾値Ｔｈ２以上であること（Ｓ３１４でＮＯ）が、「第２の特徴」の一例である。例えば、図１２（Ａ）の対象オブジェクトＴＯ２を表わす画素グループ、当該画素グループを構成する各画素が、それぞれ、「第１の画素グループ」、「第１画素」の一例である。また、図１２（Ａ）の対象オブジェクトＴＯ１を表わす画素グループ、当該画素グループを構成する各画素が、それぞれ、「第２の画素グループ」、「第２画素」の一例である。また、図９のＳ４２０で抽出される画素ＲＰ（ｍ，ｎ）が、「対応画素」の一例である。
【０１０８】
図２のＳ１０の処理、Ｔ１０の処理、Ｓ１００の処理、Ｓ２００の処理、Ｓ３００の処理、Ｓ４００の処理が、それぞれ、「対象データ取得部」、「特定データ取得部」、「判断部」、「オブジェクト決定部」、「算出部」、「変換部」によって実行される処理の一例である。また、図２において、変換済みデータＣＤをＭＦＰ１０に送信する処理が、「出力部」によって実行される処理の一例である。
【０１０９】
（第２実施例；図１３）
第１実施例では、変換済み画像ＣＩがはがきサイズの用紙に印刷されることが前提となっている。本実施例では、ユーザは、変換済み画像ＣＩが印刷されるべき用紙のサイズを選択することができる。
【０１１０】
本実施例では、画像処理サーバ５０のメモリ６４内の複数個の合成用データ７０のそれぞれは、はがきサイズに対応する画素数を有する参照データのみならず、他のサイズ（例えばＢ５サイズ、Ａ４サイズ等）に対応する画素数を有する参照データを含む。１個の合成用データに含まれる各サイズに対応する各参照データは、同じ画像（例えば図１２（Ｂ）のパターン）を表わす。
【０１１１】
ユーザは、配色番号を選択した後に、ＭＦＰ１０の操作部１２を操作して、変換済み画像ＣＩの印刷のための用紙サイズを選択する。
【０１１２】
ＭＦＰ１０のＣＰＵ３２は、スキャンデータＳＤを生成すると、スキャンデータＳＤと、参照番号と、配色番号と、用紙サイズ情報と、を含む変換指示１５０を、画像処理サーバ５０に送信する。用紙サイズ情報は、ユーザによって選択された用紙サイズを示す情報である。
【０１１３】
Ｔ１０では、画像処理サーバ５０のＣＰＵ６２は、変換指示１５０に含まれる参照番号及び用紙サイズ情報に従って、参照データＲＤを取得する。即ち、ＣＰＵ６２は、当該参照番号に対応付けられている各参照データ（例えば、はがきサイズ、Ｂ５サイズ、Ａ４サイズに対応する各参照データ）の中から、当該用紙サイズ情報が示す用紙サイズに対応する画素数を有する参照データＲＤを取得する。Ｔ２０は、図２のＴ２０と同様である。
【０１１４】
Ｓ１０では、ＣＰＵ６２は、変換指示１５０に含まれる用紙サイズ情報に従って、Ｓ１０の縮小化処理を実行する。例えば、用紙サイズ情報が「はがきサイズ」を示す場合には、第１実施例と同様に、ＣＰＵ６２は、Ａ４サイズに対応する画素数を有するスキャンデータＳＤに対する縮小化処理を実行して、はがきサイズに対応する画素数を有する対象データＴＤを生成する。また、例えば、用紙サイズ情報が「Ｂ５サイズ」を示す場合には、ＣＰＵ６２は、スキャンデータＳＤに対する縮小化処理を実行して、Ｂ５サイズに対応する画素数を有する対象データＴＤを生成する。また、例えば、用紙サイズ情報が「Ａ４サイズ」を示す場合には、ＣＰＵ６２は、スキャンデータＳＤに対する縮小化処理を実行しない（即ちＳ１０をスキップする）。この場合、対象データＴＤは、スキャンデータＳＤに一致する。
【０１１５】
Ｓ１００〜Ｓ４００の処理は、図２のＳ１００〜Ｓ４００と同様である。ＣＰＵ６２は、用紙サイズ情報を利用して、Ｓ３００の合成／配色決定処理を実行する。具体的に言うと、図８のＳ３１４において、ＣＰＵ６２は、用紙サイズ情報に応じて閾値Ｔｈ１を決定する。即ち、ＣＰＵ６２は、用紙サイズ情報が示すサイズが大きい程、閾値Ｔｈ１として大きい値を決定する。例えば、用紙サイズ情報が「はがきサイズ」を示す場合には、ＣＰＵ６２は、閾値Ｔｈ１として第１の所定値を決定する。また、例えば、用紙サイズ情報が「Ｂ５サイズ」を示す場合には、ＣＰＵ６２は、閾値Ｔｈ１として第１の所定値よりも大きい第２の所定値を決定する。Ｓ４００が実行されると、用紙サイズ情報が示す用紙サイズに対応する画素数を有する変換済みデータＣＤが生成される。
【０１１６】
ＭＦＰ１０のＣＰＵ３２は、変換済み画像ＣＩの印刷を印刷実行部２０に実行させる際に、ユーザによって選択された用紙サイズを印刷実行部２０に通知する。これにより、印刷実行部２０は、選択済みの用紙サイズを有する用紙に変換済み画像ＣＩの印刷を実行する。変換済みデータＣＤは、選択済みの用紙サイズに対応する画素数を有する。従って、変換済み画像ＣＩは、選択済みの用紙サイズを有する用紙の全域に亘って印刷される。
【０１１７】
（第２実施例の効果）
本実施例によると、ＣＰＵ６２は、変換済み画像ＣＩが印刷されるべき用紙のサイズに応じて、閾値Ｔｈ１として適切な値を決定することができ、この結果、画素グループに対して合成処理及び配色処理のどちらを実行すべきかを適切に決定することができる。本実施例では、「はがきサイズ」、「Ｂ５サイズ」が、それぞれ、「第１のサイズ」、「第２のサイズ」の一例である。
【０１１８】
（第３実施例；図１４）
第１実施例では、画像処理サーバ５０は、メモリ６４に予め記憶されている参照データＲＤ及び配色パターンＣＯＰを取得する。本実施例では、画像処理サーバ５０は、ＭＦＰ１０から参照データＲＤを取得し、参照データＲＤを利用して配色パターンＣＯＰを取得する。
【０１１９】
ＭＦＰ１０のＣＰＵ３２は、ユーザによって変換指示が入力されると、Ｔ６において、参照画像のスキャンを促すメッセージを表示部１４に表示させる。これにより、ユーザは、所望の参照画像（例えば、書籍に描画されている画像、ユーザ自身によって描画された画像等）のスキャンをＭＦＰ１０に実行させる。
【０１２０】
ＭＦＰ１０のＣＰＵ３２は、参照画像のスキャンをスキャン実行部２２に実行させて、はがきサイズに対応する画素数を有する参照データＲＤを生成する。例えば、ＣＰＵ３２は、参照画像のスキャンによって得られるスキャンデータがＡ４サイズに対応する画素数を有する場合には、当該スキャンデータに対する縮小化処理を実行して、はがきサイズに対応する画素数を有する参照データＲＤを生成する。そして、ＣＰＵ３２は、参照データＲＤを画像処理サーバ５０に送信する。
【０１２１】
画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０から参照データＲＤを受信することによって、参照データＲＤを取得する。次いで、Ｓ５００において、ＣＰＵ６２は、参照データＲＤを利用して、配色パターン決定処理を実行する。この結果、ＣＰＵ６２は、配色パターンＣＯＰを取得する。
【０１２２】
ＭＦＰ１０のＣＰＵ３２は、参照データＲＤを画像処理サーバ５０に送信すると、Ｔ６において、変換されるべき対象画像（上記の参照画像とは異なる画像）のスキャンを促すメッセージを表示部１４に表示させる。これにより、ユーザは、所望の対象画像（例えば、書籍に描画されている画像、ユーザ自身によって描画された画像等）のスキャンをＭＦＰ１０に実行させることができる。
【０１２３】
ＭＦＰ１０のＣＰＵ３２は、対象画像のスキャンをスキャン実行部２２に実行させて、スキャンデータＳＤを生成する。そして、ＣＰＵ３２は、スキャンデータＳＤを画像処理サーバ５０に送信する。
【０１２４】
画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０からスキャンデータＳＤを受信すると、第１実施例と同様に、Ｓ１０，Ｓ１００〜Ｓ４００の各処理を順次実行して、変換済みデータＣＤを生成する。なお、図８のＳ３０２では、ＣＰＵ６２は、図１４のＳ５００で生成された配色パターンＣＯＰを利用して、色番号の数ｋを特定する。また、図９のＳ４２０では、ＣＰＵ６２は、ＭＦＰ１０から取得された参照データＲＤを利用して、画素値ＲＧＢｒｐ（ｍ，ｎ）を抽出する。また、図９のＳ４３０では、ＣＰＵ６２は、図１４のＳ５００で生成された配色パターンＣＯＰを利用して、ＲＧＢｃｏｌｔａｒを抽出する。
【０１２５】
（配色パターン決定処理；図１５）
続いて、図１５を参照して、図１４のＳ５００の配色パターン決定処理の内容を説明する。Ｓ５０２では、画像処理サーバ５０のＣＰＵ６２は、参照データＲＤ内の各画素値の頻度を算出する。具体的には、ＣＰＵ６２は、まず、Ｒ値、Ｇ値、及び、Ｂ値のそれぞれが「０」である画素値（０，０，０）を有する画素の数（Ｓ５０２の例では「８０２」）を、参照データＲＤから算出する。これにより、ＣＰＵ６２は、画素値（０，０，０）の頻度を算出する。同様に、ＣＰＵ６２は、他の全ての画素値のそれぞれについて、頻度を算出する。即ち、ＣＰＵ６２は、２５６×２５６×２５６通りの画素値のそれぞれについて、頻度を算出する。
【０１２６】
次いで、Ｓ５０４において、ＣＰＵ６２は、２５６階調のＲＧＢ色空間を５１２個（即ち８×８×８個）のブロックに区分する。図１５は、５１２個のブロックを模式的に示す。次いで、ＣＰＵ６２は、５１２個のブロックのそれぞれについて、当該ブロックの代表値ＢＬ１〜ＢＬ５１２を決定する。ブロックの代表値は、当該ブロックに含まれる各画素値のうち、最も高い頻度を有する画素値である。例えば、Ｒ値が「０」〜「３１」であり、かつ、Ｇ値が「０」〜「３１」であり、かつ、Ｂ値が「０」〜「３１」であるブロックでは、最も高い頻度を有する画素値は、（０，０，０）である。この場合、ＣＰＵ６２は、当該ブロックの代表値ＢＬ１として（０，０，０）を決定する。
【０１２７】
次いで、Ｓ５０６において、ＣＰＵ６２は、Ｓ５０４で決定された５１２個の代表値ＢＬ１〜ＢＬ５１２の中から、予め決められている個数（例えば７個）の代表値を選択する。具体的には、ＣＰＵ６２は、まず、頻度が最も高い代表値を選択し、色番号ＣＬ１と当該代表値ＲＧＢｃｏｌ１とを対応付ける。次いで、ＣＰＵ６２は、頻度が次に高い代表値を選択し、色番号ＣＬ２と当該代表値ＲＧＢｃｏｌ２とを対応付ける。ＣＰＵ６２は、予め決められている個数の代表値を選択するまで、同様の動作を実行する。この結果、配色パターンＣＯＰが完成する。
【０１２８】
なお、変形例では、ＣＰＵ６２は、Ｓ５０４の処理を実行せずに、Ｓ５０６において、高い頻度を有する各画素値を順に選択して、配色パターンＣＯＰを決定してもよい。ただし、本実施例のように、Ｓ５０４で各ブロックの代表値を決定して、Ｓ５０６で各ブロック代表値を選択する手法を採用すれば、見た目の色がほぼ同じである２個以上の画素値を含む配色パターンＣＯＰが決定されるのを抑制することができる。例えば、画素値（０，０，０）と画素値（０，０，１）を含む配色パターンＣＯＰが決定されるのを抑制することができる。
【０１２９】
（第３実施例の効果）
本実施例によると、画像処理サーバ５０は、ＭＦＰ１０から取得される参照データＲＤを利用して、合成処理を実行することができる。参照データＲＤは、ユーザによって準備される参照画像のスキャンによって生成されるデータである。このために、面白味のある変換済み画像をユーザに提供し得る。また、画像処理サーバ５０は、参照データＲＤを利用して、配色パターンＣＯＰを決定する（図１４のＳ５００）。即ち、画像処理サーバ５０は、ユーザによって準備される参照画像に含まれる複数個の色に基づいて、配色パターンＣＯＰを決定する。このために、合成処理によって得られる変換済みオブジェクトに含まれる色と、配色処理によって得られる変換済みオブジェクトに含まれる色と、が近似する。この結果、変換後の各色が統一感を有するとユーザに感じさせ得る変換済み画像を、ユーザに提供することができる。
【０１３０】
（対応関係）
図１４のＳ５００の処理が、「色決定部」によって実行される処理の一例である。図１５のＳ５０２において、「０」より大きい頻度が算出される各画素値が示す各色が、「複数個の色」の一例である。また、Ｓ５０６で決定される各色が、「Ｍ個の色」の一例である。
【０１３１】
（第４実施例；図１６）
本実施例では、画像処理サーバ５０は、ＭＦＰ１０から受信する指示に応じて、変換済みデータＣＤをＭＦＰ１０に送信するのか、確認データＣＤ’をＭＦＰ１０に送信するのか、を変える。
【０１３２】
配色番号が選択されるまでの各処理は、第１実施例と同様である（図２参照）。ユーザは、配色番号を選択した後に、さらに、ＭＦＰ１０の操作部１２を操作して、変換済み画像がはがきサイズの用紙に印刷されるべきか、変換済み画像の内容を確認するために、変換済み画像がＡ４サイズの用紙に印刷されるべきか、を選択することができる。
【０１３３】
はがきサイズの用紙が選択される場合には、第１実施例の図２と同様に、ＭＦＰ１０のＣＰＵ３２は、変換指示１５０を画像処理サーバ５０に送信する。そして、画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０から変換指示１５０を受信すると、はがきサイズに対応する画素数を有する変換済みデータＣＤをＭＦＰ１０に送信する。これにより、ＭＦＰ１０は、変換済み画像をはがきサイズの用紙に印刷する。
【０１３４】
一方、Ａ４サイズの用紙が選択される場合（即ち確認のための印刷が選択される場合）には、図１６に示されるように、ＭＦＰ１０のＣＰＵ３２は、スキャンデータＳＤと、参照番号と、配色番号と、を含む確認指示１５２を、画像処理サーバ５０に送信する。
【０１３５】
画像処理サーバ５０のＣＰＵ６２は、ＭＦＰ１０から確認指示１５２を受信すると、第１実施例と同様に、Ｓ１０，Ｓ１００〜Ｓ４００の各処理を順次実行して、変換済みデータＣＤを生成する。
【０１３６】
次いで、Ｓ６００において、画像処理サーバ５０のＣＰＵ６２は、メモリ６４に予め記憶されているテンプレートデータ内の所定の位置に変換済みデータＣＤを書き込んで、確認データＣＤ’を生成する。テンプレートデータは、Ａ４サイズに対応する画素数を有しており、さらに、印刷確認であることを示すメッセージを表わすデータを含む。そして、ＣＰＵ６２は、確認データＣＤ’をＭＦＰ１０に送信する。
【０１３７】
ＭＦＰ１０のＣＰＵ３２は、画像処理サーバ５０から確認データＣＤ’を受信すると、確認データＣＤ’を印刷実行部２０に供給する。この結果、印刷実行部２０は、確認データＣＤ’によって表わされる画像を、Ａ４サイズの用紙に印刷する。これにより、ユーザは、印刷済みの用紙を見ることによって、変換済み画像の内容を確認することができる。
【０１３８】
図１６は、確認データＣＤ’によって表わされる画像が印刷されたＡ４サイズの用紙の一例を示す。Ａ４サイズの用紙の中央の部分に変換済み画像が印刷され、変換済み画像の下方に印刷確認であることを示すメッセージが印刷される。このように、本実施例では、Ａ４サイズの用紙の全域に亘って変換済み画像が印刷されるのではなく、Ａ４サイズの用紙の一部分に変換済み画像が印刷される。この点において、ユーザによって選択される用紙サイズを有する用紙の全域に亘って変換済み画像が印刷される第２実施例（図１３参照）とは異なる。
【０１３９】
（対応関係）
Ａ４サイズ、はがきサイズが、それぞれ、「第１の媒体サイズ」、「第２の媒体サイズ」の一例である。確認指示１５２、変換指示１５０が、それぞれ、「第１の指示」、「第２の指示」の一例である。スキャンデータＳＤ、確認データＣＤ’が、それぞれ、「元データ」、「出力データ」の一例である。Ｓ６００の処理が、「生成部」によって実行される処理の一例である。
【０１４０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１４１】
（変形例１）例えば、ＭＦＰ１０は、複数個の合成用データ７０又は複数個の配色用データ８０を予め記憶していてもよい。そして、ＭＦＰ１０は、画像処理サーバ５０に代えて、上記の各実施例の各処理（例えば、図２のＴ１０、Ｓ２０、Ｓ１０、Ｓ１００〜Ｓ４００等）を実行してもよい。この場合、ＭＦＰ１０は、ＭＦＰ１０自身によって生成される変換済みデータＣＤを利用して、印刷を実行することができる。本変形例では、ＭＦＰ１０が、「画像処理装置」の一例である。
【０１４２】
（変形例２）例えば、ＭＦＰ１０のためのドライバプログラムは、複数個の合成用データ７０又は複数個の配色用データ８０を含んでいてもよい。この場合、ドライバプログラムがインストールされるＰＣは、画像処理サーバ５０に代えて、上記の各実施例の各処理を実行してもよい。本変形例では、ＰＣが、「画像処理装置」の一例である。
【０１４３】
（変形例３）上記の各実施例では、「Ａ４サイズ」の用紙のスキャンが実行される。これに代えて、他のサイズ（例えば、はがきサイズ、Ｂ４、Ｂ５、リーガル等）の用紙のスキャンが実行されてもよい。
【０１４４】
（変形例４）画像処理サーバ５０は、図２のＳ１０の縮小化処理を実行せずに、例えば、Ａ４サイズに対応する第１の画素数を有するスキャンデータＳＤに対して二値化処理及びラべリング処理を順次実行して、第１の画素数を有するラベルデータＬＤを生成してもよい。この場合、画像処理サーバ５０は、第１の画素数を有するラベルデータＬＤと、第１の画素数を有する参照データＲＤと、を利用して、合成／配色決定処理及び変換処理を順次実行して、第１の画素数を有する変換済みデータＣＤを生成してもよい。そして、画像処理サーバ５０は、変換済みデータＣＤに対する縮小化処理を実行して、例えば、はがきサイズに対応する第２の画素数を有する縮小データを生成し、当該縮小データをＭＦＰ１０に送信してもよい。この場合も、ＭＦＰ１０は、変換済み画像をはがきサイズの用紙に印刷することができる。本変形例では、スキャンデータＳＤ、縮小データが、それぞれ、「対象データ」、「変換済みデータ」の一例である。
【０１４５】
（変形例５）上記の実施例では、画像処理サーバ５０は、変換済み画像ＣＩをＭＦＰ１０に印刷させるために、変換済みデータＣＤをＭＦＰ１０に送信する。これに代えて、例えば、画像処理サーバ５０は、変換済み画像ＣＩをディスプレイに表示させるために、変換済みデータＣＤをディスプレイに送信してもよい。即ち、「変換済みデータ」は、印刷のためのデータでなくてもよく、表示のためのデータであってもよい。即ち、「出力部」は、変換済みデータを出力すればよい。
【０１４６】
（変形例６）「対象データ」は、スキャンデータから得られるデータでなくてもよく、例えば、デジタルカメラで撮影された画像を表わすデータであってもよいし、描画ソフトウェアによって描画された画像を表わすデータであってもよい。即ち、「対象データ」は、変換対象の対象画像を表わすデータであればよい。
【０１４７】
（変形例７）上記の各実施例では、画像処理サーバ５０は、対象データＴＤ内の注目画素以外の各画素（以下では「非注目画素」と呼ぶ）の画素値を変換しない（即ち図９のＳ４０６でＮＯ）。これに代えて、画像処理サーバ５０は、各非注目画素の画素値を変換してもよい。例えば、画像処理サーバ５０は、各非注目画素の画素値を、白色を示すＲＧＢ値（２５５，２５５，２５５）に変換してもよい。この場合、画像処理サーバ５０は、仮に、スキャン対象の用紙が白色でない場合に、白色を示す背景オブジェクトを表わす変換済み画像の印刷をＭＦＰ１０に実行させることができる。一般的に言うと、「変換部」は、対象データ内の対象オブジェクトを表わす各画素の画素値を変換すればよく、対象データ内の背景オブジェクトを表わす各画素の画素値については、変換してもよいし、変換しなくてもよい。
【０１４８】
（変形例８）上記の各実施例では、画像処理サーバ５０は、画素グループの画素数及び密度を算出する（図８のＳ３１０、Ｓ３１２）。これに代えて、画像処理サーバ５０は、画素グループの密度を算出せずに、当該画素グループの画素数を算出してもよい。そして、画像処理サーバ５０は、当該画素グループの画素数が閾値Ｔｈ１以上である場合に、当該画素グループに対する合成処理を実行し、当該画素グループの画素数が閾値Ｔｈ１未満である場合に、当該画素グループに対する配色処理を実行してもよい。本変形例では、「特徴データ」は、密度を含まずに、画素数を含む。また、画像処理サーバ５０は、画素グループの画素数を算出せずに、当該画素グループの密度を算出してもよい。そして、画像処理サーバ５０は、当該画素グループの密度が閾値Ｔｈ２以上である場合に、当該画素グループに対する合成処理を実行し、当該画素グループの密度が閾値Ｔｈ２未満である場合に、当該画素グループに対する配色処理を実行してもよい。本変形例では、「特徴データ」は、画素数を含まずに、密度を含む。
【０１４９】
（変形例９）「特徴データ」は、画素グループの画素数及び密度に限られず、他の特徴を示すデータであってもよい。例えば、画像処理サーバ５０は、対象画像ＴＩに対するＯＣＲ（Optical Character Readerの略）解析を実行して、対象画像ＴＩに含まれる複数個の対象オブジェクトのそれぞれについて、当該対象オブジェクトが文字であるのか文字以外の図形であるのかを示す解析結果データを算出してもよい。そして、画像処理サーバ５０は、解析結果データが図形を示す場合には、画素グループに対する合成処理を実行し、解析結果データが文字を示す場合には、画素グループに対する配色処理を実行してもよい。本変形例では、解析結果データが、「特徴データ」の一例である。即ち、「特徴データ」は、対象オブジェクトの特徴を示すデータであればよい。
【０１５０】
（変形例１０）上記の第３実施例（図１４参照）では、参照データＲＤは、参照画像のスキャンによって生成される。これに代えて、第１実施例と同様に、画像処理サーバ５０は、複数個の組合せデータ１１０をＭＦＰ１０に送信して、ＭＦＰ１０からユーザによって選択された参照番号を受信してもよい。次いで、画像処理サーバ５０は、複数個の合成用データ７０に含まれる複数個の参照データの中から、選択済みの参照番号に対応付けられている参照データＲＤを取得してもよい（図２のＴ１０参照）。そして、画像処理サーバ５０は、取得済みの参照データＲＤを利用して、図１４のＳ５００の配色パターン決定処理を実行してもよい。本変形例では、ユーザに配色番号を選択させずに済む。一般的に言うと、「色決定部」は、特定データを利用してＭ個の色を決定すれよい。
【０１５１】
（変形例１１）上記の各実施例では、画像処理サーバ５０のＣＰＵ６２がメモリ６４内のプログラムを実行することによって、図２、図３、図５、図８、図９等の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１５２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１５３】
２：通信システム、１０：多機能機、１２：操作部、１４：表示部、１６：ネットワークインターフェース、２０：印刷実行部、２２：スキャン実行部、３０：制御部、３２：ＣＰＵ、３４：メモリ、５０：画像処理サーバ、５６：ネットワークインターフェース、６０：制御部、６２：ＣＰＵ、６４：メモリ、７０：複数個の合成用データ、８０：複数個の配色用データ、ＳＤ：スキャンデータ、ＴＤ：対象データ、ＢＤ：二値データ、ＲＤ：参照データ、ＭＬＤ：中間ラベルデータ、ＬＤ：ラベルデータ、ＣＤ：変換済みデータ、ＳＩ１〜ＳＩ４：サムネイル画像、ＴＩ：対象画像、ＲＩ：参照画像、ＣＩ：変換済み画像、ＴＯ１〜ＴＯ５：対象オブジェクト、ＣＯ１〜ＣＯ５：変換済みオブジェクト、ＢＯ：背景オブジェクト
【図２】
2015041957.tif 000003
【図３】
2015041957.tif 000004
【図５】
2015041957.tif 000005
【図８】
2015041957.tif 000006
【図９】
2015041957.tif 000007
【図１３】
2015041957.tif 000008
【図１４】
2015041957.tif 000009
【図１５】
2015041957.tif 000010
【図１】
2015041957.tif 000011
【図４】
2015041957.tif 000012
【図６】
2015041957.tif 000013
【図７】
2015041957.tif 000014
【図１０】
2015041957.tif 000015
【図１１】
2015041957.tif 000016
【図１２】
2015041957.tif 000017
【図１６】
2015041957.tif 000018