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