(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
特定の色空間内の座標値で色が定義されるＫ個（前記Ｋは２以上の整数）のオブジェクトデータと、Ｊ個（前記Ｊは２以上の整数）の入力側プロファイルと、を含む対象ファイルを取得する取得部であって、
前記Ｋ個のオブジェクトデータのそれぞれは、前記Ｊ個の入力側プロファイルのいずれかに対応付けられており、
前記Ｊ個の入力側プロファイルのそれぞれは、前記特定の色空間内の座標値を第１の色空間内の座標値に変換するためのデータを含む、前記取得部と、
前記Ｊ個の入力側プロファイルの中からｊ個（前記ｊは２以上Ｊ以下の整数）の入力側プロファイルを特定する特定部と、
前記ｊ個の入力側プロファイルが特定された後に、前記ｊ個の入力側プロファイルのうちの少なくとも１個の入力側プロファイルと、前記第１の色空間内の座標値を第２の色空間内の座標値に変換するためのデータを含む出力側プロファイルと、を利用して、１個の変換テーブルを生成するテーブル生成部であって、前記１個の変換テーブルは、前記特定の色空間内の座標値を、前記第１の色空間内の座標値への変換を経ずに、前記第２の色空間内の座標値に変換するためのデータを含む、前記テーブル生成部と、
前記Ｋ個のオブジェクトデータのうち、前記ｊ個の入力側プロファイルに対応付けられているｋ個（前記ｋは２以上Ｋ以下の整数）のオブジェクトデータのそれぞれを、前記１個の変換テーブルを利用して変換して、ｋ個の部分画像データを生成する変換部であって、前記ｋ個の部分画像データのそれぞれは、前記第２の色空間内の座標値を示す複数個の画素によって構成される、前記変換部と、
前記ｋ個の部分画像データを利用して、前記対象ファイルによって表わされる画像を出力部に出力させる出力制御部と、
を備える画像処理装置。
【請求項２】
前記テーブル生成部は、
前記ｊ個の入力側プロファイルの中から、対応付けられているオブジェクトデータの個数が最大である入力側プロファイルを選択し、
前記選択済みの入力側プロファイルと、前記出力側プロファイルと、を利用して、前記１個の変換テーブルを生成する、請求項１に記載の画像処理装置。
【請求項３】
前記テーブル生成部は、
前記ｊ個の入力側プロファイルに対応付けられている前記ｋ個のオブジェクトデータの中から、前記対象ファイルによって表わされる画像内でのサイズが最大であるオブジェクトを表わすオブジェクトデータを特定し、
前記ｊ個の入力側プロファイルの中から、前記特定済みのオブジェクトデータに対応付けられている入力側プロファイルを選択し、
前記選択済みの入力側プロファイルと、前記出力側プロファイルと、を利用して、前記１個の変換テーブルを生成する、請求項１に記載の画像処理装置。
【請求項４】
前記画像処理装置は、さらに、
オブジェクトデータの種類毎の優先順位を示す順位情報を格納可能なメモリを備え、
前記テーブル生成部は、
前記ｊ個の入力側プロファイルに対応付けられている前記ｋ個のオブジェクトデータの中から、最も高い優先順位を有する種類のオブジェクトデータを特定し、
前記ｊ個の入力側プロファイルの中から、前記特定済みのオブジェクトデータに対応付けられている入力側プロファイルを選択し、
前記選択済みの入力側プロファイルと、前記出力側プロファイルと、を利用して、前記１個の変換テーブルを生成する、請求項１に記載の画像処理装置。
【請求項５】
前記テーブル生成部は、
前記ｊ個の入力側プロファイルに対応付けられている前記ｋ個のオブジェクトデータの中から、所定の色範囲内の色で定義される領域のサイズが最大であるオブジェクトデータを特定し、
前記ｊ個の入力側プロファイルの中から、前記特定済みのオブジェクトデータに対応付けられている入力側プロファイルを選択し、
前記選択済みの入力側プロファイルと、前記出力側プロファイルと、を利用して、前記１個の変換テーブルを生成する、請求項１に記載の画像処理装置。
【請求項６】
前記特定部は、
前記Ｊ個の入力側プロファイルのうちの第１の入力側プロファイルを利用して、前記特定の色空間及び前記第１の色空間のうちの一方の色空間内の所定座標値を変換することによって、他方の色空間内の第１の座標値を算出し、
前記Ｊ個の入力側プロファイルのうちの第２の入力側プロファイルを利用して、前記一方の色空間内の前記所定座標値を変換することによって、前記他方の色空間内の第２の座標値を算出し、
前記第１の座標値と前記第２の座標値との間の距離を利用して得られる指標値であって、前記第１の入力側プロファイルと前記第２の入力側プロファイルとの間の類似度を示す前記指標値と、所定の閾値と、を比較して、前記第１の入力側プロファイルと前記第２の入力側プロファイルとが類似すると判断する場合に、前記第１の入力側プロファイルと前記第２の入力側プロファイルとを前記ｊ個の入力側プロファイルとして特定する、請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記出力側プロファイルは、第１の出力側プロファイルと、第２の出力側プロファイルと、を含み、
前記第１の出力側プロファイルは、前記第１の色空間内の座標値を第３の色空間内の座標値に変換するためのデータを含み、
前記第２の出力側プロファイルは、前記第１の出力側プロファイルによって変換された後の前記第３の色空間内の座標値を前記第２の色空間内の座標値に変換するためのデータを含む、請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置のコンピュータを、
特定の色空間内の座標値で色が定義されるＫ個（前記Ｋは２以上の整数）のオブジェクトデータと、Ｊ個（前記Ｊは２以上の整数）の入力側プロファイルと、を含む対象ファイルを取得する取得部であって、
前記Ｋ個のオブジェクトデータのそれぞれは、前記Ｊ個の入力側プロファイルのいずれかに対応付けられており、
前記Ｊ個の入力側プロファイルのそれぞれは、前記特定の色空間内の座標値を第１の色空間内の座標値に変換するためのデータを含む、前記取得部と、
前記Ｊ個の入力側プロファイルの中からｊ個（前記ｊは２以上Ｊ以下の整数）の入力側プロファイルを特定する特定部と、
前記ｊ個の入力側プロファイルが特定された後に、前記ｊ個の入力側プロファイルのうちの少なくとも１個の入力側プロファイルと、前記第１の色空間内の座標値を第２の色空間内の座標値に変換するためのデータを含む出力側プロファイルと、を利用して、１個の変換テーブルを生成するテーブル生成部であって、前記１個の変換テーブルは、前記特定の色空間内の座標値を、前記第１の色空間内の座標値への変換を経ずに、前記第２の色空間内の座標値に変換するためのデータを含む、前記テーブル生成部と、
前記Ｋ個のオブジェクトデータのうち、前記ｊ個の入力側プロファイルに対応付けられているｋ個（前記ｋは２以上Ｋ以下の整数）のオブジェクトデータのそれぞれを、前記１個の変換テーブルを利用して変換して、ｋ個の部分画像データを生成する変換部であって、前記ｋ個の部分画像データのそれぞれは、前記第２の色空間内の座標値を示す複数個の画素によって構成される、前記変換部と、
前記ｋ個の部分画像データを利用して、前記対象ファイルによって表わされる画像を出力部に出力させる出力制御部と、
して機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、対象ファイルに含まれるオブジェクトデータに対する色変換を実行して、対象ファイルによって表わされる画像を出力する画像処理装置を開示する。
【背景技術】
【０００２】
例えば、プリンタは、ＰＤＦファイルを取得する場合に、ＰＤＦファイル内の入力側プロファイルとプリンタに格納されている出力側プロファイルとを順次利用して、ＰＤＦファイル内のオブジェクトデータに対する色変換を実行する。そして、プリンタは、色変換によって得られる画像データを利用して、ＰＤＦファイルによって表わされる画像を印刷する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１２０８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
オブジェクトデータに対する色変換を迅速に実行し得る技術が求められている。本明細書では、画像処理装置が対象ファイル内の各オブジェクトデータに対する色変換を迅速に実行し得る技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される画像処理装置は、特定の色空間内の座標値で色が定義されるＫ個（前記Ｋは２以上の整数）のオブジェクトデータと、Ｊ個（前記Ｊは２以上の整数）の入力側プロファイルと、を含む対象ファイルを取得する取得部であって、前記Ｋ個のオブジェクトデータのそれぞれは、前記Ｊ個の入力側プロファイルのいずれかに対応付けられており、前記Ｊ個の入力側プロファイルのそれぞれは、前記特定の色空間内の座標値を第１の色空間内の座標値に変換するためのデータを含む、前記取得部と、前記Ｊ個の入力側プロファイルの中からｊ個（前記ｊは２以上Ｊ以下の整数）の入力側プロファイルを特定する特定部と、前記ｊ個の入力側プロファイルが特定された後に、前記ｊ個の入力側プロファイルのうちの少なくとも１個の入力側プロファイルと、前記第１の色空間内の座標値を第２の色空間内の座標値に変換するためのデータを含む出力側プロファイルと、を利用して、１個の変換テーブルを生成するテーブル生成部であって、前記１個の変換テーブルは、前記特定の色空間内の座標値を、前記第１の色空間内の座標値への変換を経ずに、前記第２の色空間内の座標値に変換するためのデータを含む、前記テーブル生成部と、前記Ｋ個のオブジェクトデータのうち、前記ｊ個の入力側プロファイルに対応付けられているｋ個（前記ｋは２以上Ｋ以下の整数）のオブジェクトデータのそれぞれを、前記１個の変換テーブルを利用して変換して、ｋ個の部分画像データを生成する変換部であって、前記ｋ個の部分画像データのそれぞれは、前記第２の色空間内の座標値を示す複数個の画素によって構成される、前記変換部と、前記ｋ個の部分画像データを利用して、前記対象ファイルによって表わされる画像を出力部に出力させる出力制御部と、備える。
【０００６】
上記の画像処理装置は、Ｊ個の入力側プロファイルの中からｊ個の入力側プロファイルを特定し、ｊ個の入力側プロファイルのうちの少なくとも１個の入力側プロファイルと、出力側プロファイルと、を利用して、１個の変換テーブルを生成する。そして、画像処理装置は、ｊ個の入力側プロファイルに対応付けられているｋ個のオブジェクトデータのそれぞれを、上記の１個の変換テーブルを利用して変換して、ｋ個の部分画像データを生成する。従って、画像処理装置は、ｋ個のオブジェクトデータに対する色変換を迅速に実行し得る。
【０００７】
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】実施例の概略を説明するための説明図を示す。
【図３】印刷処理のフローチャートを示す。
【図４】グループ化処理のフローチャートを示す。
【図５】図４の処理を説明するための説明図を示す。
【図６】類似指標値算出処理のフローチャートと、類似指標値に応じたケースＡ及びＢを説明するための説明図を示す。
【図７】変換テーブル生成処理のフローチャートを示す。
【図８】図７の処理を説明するための説明図を示す。
【図９】描画処理のフローチャートを示す。
【図１０】第２〜第４実施例の処理を説明するための説明図を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
（通信システム２の構成）
図１に示されるように、通信システム２は、プリンタ１０と端末装置５０とを備える。プリンタ１０と端末装置５０とは、ＬＡＮ（Local Area Networkの略）４に接続されており、ＬＡＮ４を介して相互に通信可能である。ＬＡＮ４は、有線ＬＡＮでもよいし、無線ＬＡＮでもよい。例えば、端末装置５０からプリンタ１０にＬＡＮ４を介してＰＤＦファイル１００が供給されると、プリンタ１０は、ＰＤＦファイル１００によって表わされる画像を印刷することができる。
【００１０】
（プリンタ１０の構成）
プリンタ１０は、印刷機能を実行可能な周辺機器（即ち端末装置５０等の周辺機器）である。プリンタ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、印刷エンジン１８と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。操作部１２は、複数のキーによって構成されている。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、いわゆるタッチパネルとして機能する。即ち、表示部１４は、ユーザによって操作される操作部としても機能する。ネットワークインターフェース１６は、ＬＡＮ４に接続されている。印刷エンジン１８は、インクジェット方式、レーザ方式等の印刷機構を備える。
【００１１】
制御部３０は、ＣＰＵ３２とメモリ３４とを備える。ＣＰＵ３２は、メモリ３４内のプログラム３６に従って、様々な処理を実行する。メモリ３４は、１個又は複数個のメモリデバイスによって構成され、プリンタ１０の電源がＯＦＦされても情報が消去されない不揮発性領域３４ａと、プリンタ１０の電源がＯＦＦされると情報が消去される揮発性領域３４ｂと、を備える。不揮発性領域３４ａ内の情報は、プリンタ１０の出荷段階から予め格納されている。揮発性領域３４ｂ内の情報は、ＣＰＵ３２が処理を実行する過程で格納される。
【００１２】
不揮発性領域３４ａは、プログラム３６と、第１出力プロファイルＯＰ１と、第２出力プロファイルＯＰ２と、単独出力プロファイルＯＰ３と、を格納する。第１及び第２出力プロファイルＯＰ１，ＯＰ２のそれぞれは、ＰＤＦ（Portable Document Formatの略）ファイル１００に含まれる入力プロファイルＩＰ１等と共に利用されるべき出力側ＩＣＣ（International Color Consortiumの略）プロファイルである。単独出力プロファイルＯＰ３は、入力プロファイルＩＰ１等と共に利用されるものではなく、単独で利用されるべき出力側ＩＣＣプロファイルである。
【００１３】
第１出力プロファイルＯＰ１は、デバイスの特性に依存しないデバイス非依存色空間（Device Independent Color Space）内の座標値を、標準の色空間内の座標値に変換するためのデータを含む。デバイス非依存色空間は、本実施例では、Ｌ＊ａ＊ｂ＊色空間であるが、変形例では、例えばＸＹＺ色空間であってもよい。なお、以下では、Ｌ＊ａ＊ｂ＊のことを簡単に「Ｌａｂ」と記載する。また、標準の色空間は、予め決められている標準の色空間であり、本実施例ではＲＧＢ色空間であるが、変形例では他の色空間であってもよい。
【００１４】
第１出力プロファイルＯＰ１は、Ｌａｂ色空間内の複数個の座標値（例えば１７３個の格子点（グリッド））と、ＲＧＢ色空間内の複数個の座標値と、が対応付けられたグリッドタイプのプロファイルであってもよいし、Ｌａｂ色空間内の座標値をＲＧＢ色空間内の座標値に変換するための関数を示す関数タイプのプロファイルであってもよい。他の出力プロファイルＯＰ２，ＯＰ３、及び、入力プロファイルＩＰ１等も、グリッドタイプのプロファイル及び関数タイプのプロファイルのどちらでもよい。
【００１５】
第２出力プロファイルＯＰ２は、第１出力プロファイルＯＰ１によって変換された後の座標値、即ち、標準の色空間（即ちＲＧＢ色空間）内の座標値を、プリンタ１０の特性に依存するデバイス依存色空間（Device Dependent Color Space）内の座標値に変換するためのデータを含む。プリンタ１０のデバイス依存色空間は、本実施例では、ＣＭＹＫ色空間であるが、変形例では、ＣＭＹＫの４色よりも多い色数（例えば、６色（例えばＣＭＹＫ＋オレンジ＋グリーン）、８色等）を有する色空間であってもよい。
【００１６】
単独出力プロファイルＯＰ３は、標準の色空間（即ちＲＧＢ色空間）内の座標値を、プリンタ１０の特性に依存するデバイス依存色空間（即ちＣＭＹＫ色空間）内の座標値に変換するためのデータを含む。
【００１７】
上記の各出力プロファイルＯＰ２，ＯＰ３は、共に、ＲＧＢ色空間内の座標値をＣＭＹＫ色空間内の座標値に変換するためのプロファイルであるが、以下の相違点を有する。第２出力プロファイルＯＰ２では、Ｃ値が、Ｇ値及びＢ値に依存せずに、Ｒ値のみに依存する。同様に、Ｍ値、Ｙ値が、それぞれ、Ｇ値、Ｂ値のみに依存する。このように、第２出力プロファイルＯＰ２では、ＣＭＹのそれぞれの値が、ＲＧＢのうちの１個の値のみに依存する。これに対し、単独出力プロファイルＯＰ３では、ＣＭＹのそれぞれの値が、ＲＧＢのうちの２個以上の値に依存する。なお、変形例では、各出力プロファイルＯＰ２，ＯＰ３は、同じプロファイルであってもよい。
【００１８】
揮発性領域３４ｂは、ＣＰＵ３２が後述の図２の処理を実行することによって生成される処理テーブルＰＴを格納する。処理テーブルＰＴは、ＰＤＦファイル１００内の各オブジェクトデータＯＤ１等に対する色変換を実行するために利用される。
【００１９】
（ＰＤＦファイル１００の構成）
ＰＤＦファイル１００では、「1obj」、「2obj」等のオブジェクト識別子毎に、当該オブジェクト識別子によって識別されるオブジェクトの内容が記述される。例えば、「10obj」には「/ICCBased 11obj」と記述されており、これは、「11obj」に入力側ＩＣＣプロファイルである入力プロファイルＩＰ１が記述されていることを意味する。また、「12obj」には「ColorSpace 10obj」とオブジェクトデータＯＤ１とが記述されており、これは、「10obj」で定義されている入力プロファイル、即ち、「11obj」に記述されている入力プロファイルＩＰ１を利用した色変換が、オブジェクトデータＯＤ１に対して実行されるべきことを意味する。即ち、「10obj」〜「12obj」の記述内容において、入力プロファイルＩＰ１と、当該入力プロファイルＩＰ１を利用した色変換が実行されるべきオブジェクトデータＯＤ１と、が対応付けられている。
【００２０】
同様に、「20obj」〜「22obj」の記述内容において、入力プロファイルＩＰ２とオブジェクトデータＯＤ２とが対応付けられている。なお、１個の入力プロファイル（例えばＩＰ１）に１個のオブジェクトデータ（例えばＯＤ１）のみが対応付けられるとは限られない。例えば、入力プロファイルＩＰ１には、オブジェクトデータＯＤ１を含む２個以上のオブジェクトデータが対応付けられ得る。また、オブジェクトデータには入力プロファイルが必ず対応付けられるとは限らず、入力プロファイルが対応付けられていないオブジェクトデータが存在し得る。このように、ＰＤＦファイル１００は、複数個のオブジェクトデータと複数個の入力プロファイルとを含み、複数個のオブジェクトデータは、入力プロファイルが対応付けられているオブジェクトデータと、入力プロファイルが対応付けられていないオブジェクトデータと、を含み得る。
【００２１】
各入力プロファイルＩＰ１，ＩＰ２は、ＰＤＦファイル１００を生成したデバイス（例えば端末装置５０）の特性に依存するデバイス依存色空間の座標値（本実施例ではＲＧＢ色空間）を、デバイス非依存色空間（即ちＬａｂ色空間）内の座標値に変換するためのデータを含む。
【００２２】
各オブジェクトデータＯＤ１，ＯＤ２は、ＰＤＦファイル１００を生成したデバイスのデバイス依存色空間（即ちＲＧＢ色空間）内の座標値で色が定義されるデータである。各オブジェクトデータＯＤ１，ＯＤ２は、ＲＧＢ色空間内の座標値を示す複数個の画素によって構成されるビットマップデータ（即ち画像オブジェクト）であってもよいし、テキスト形式のデータ（即ちテキストオブジェクト）であってもよいし、他の形式のデータ（例えば、タイルパターンを定義するデータ、グラフを描画するためのデータ等）であってもよい。
【００２３】
また、「12obj」には「subtype/image」とオブジェクトデータＯＤ１とが記述されており、これは、オブジェクトデータＯＤ１の種類が画像オブジェクトであることを意味する。また、「22obj」には「subtype/text」とオブジェクトデータＯＤ２とが記述されており、これは、オブジェクトデータＯＤ２の種類がテキストオブジェクトであることを意味する。
【００２４】
また、「99obj」には「12obj/sizeXXX」が記述されており、これは、「12obj」に記述されているオブジェクトデータＯＤ１によって表わされるオブジェクトのサイズが「XXX」であることを意味する。当該サイズは、オブジェクトデータＯＤ１の画素数を意味するのではなく、ＰＤＦファイル１００によって表わされる画像内でのオブジェクトの高さ及び幅を意味する。同様に、「99obj」の記述内容から、オブジェクトデータＯＤ２によって表わされるオブジェクト画像のサイズが「YYY」であることが理解できる。
【００２５】
（本実施例の概要；図２）
図２を参照して、プリンタ１０がＰＤＦファイル１００によって表わされる画像を印刷するための手法を説明する。まず、比較例の手法を説明した後に、本実施例の手法を説明する。
【００２６】
比較例では、オブジェクトデータＯＤ１が入力プロファイルＩＰ１によって変換されてＬａｂ画像データＬＤ１が生成され、当該データＬＤ１が第１出力プロファイルＯＰ１によって変換されてＲＧＢ画像データＲＤ１が生成され、当該データＲＤ１が第２出力プロファイルＯＰ２によって変換されてＣＭＹＫ画像データＣＤ１が生成される。同様に、オブジェクトデータＯＤ２が、各プロファイルＩＰ２，ＯＰ１，ＯＰ２によって順次変換されて、各データＬＤ２，ＲＤ２，ＣＤ２が順次生成される。このように、比較例の手法では、オブジェクトデータ毎に３回の変換処理が必要であるので、印刷に要する時間が長くなり得る。
【００２７】
これに対し、本実施例では、プリンタ１０は、例えば、２個の入力プロファイルＩＰ１，ＩＰ２が類似する場合に、以下のようにして処理を実行する。即ち、プリンタ１０は、入力プロファイルＩＰ１、第１出力プロファイルＯＰ１、及び、第２出力プロファイルＯＰ２を順次利用して、予め決められている複数個のＲＧＢ座標値を変換することによって、複数個のＣＭＹＫ座標値を算出し、複数個のＲＧＢ座標値と複数個のＣＭＹＫ座標値とが対応付けられている変換テーブルＣＴ１を生成する。そして、プリンタ１０は、変換テーブルＣＴ１を利用して、類似している各入力プロファイルＩＰ１，ＩＰ２に対応付けられている各オブジェクトデータＯＤ１，ＯＤ２を変換することによって、Ｌａｂ色空間内の座標値及びＲＧＢ色空間内の座標値への変換を経ずに、各ＣＭＹＫ画像データＣＤ１’，ＣＤ２’を生成する。ここで、入力プロファイルＩＰ２を利用してオブジェクトデータＯＤ２が変換されないが、入力プロファイルＩＰ２に類似する入力プロファイルＩＰ１の変換特性を有する変換テーブルＣＴ１を利用してオブジェクトデータＯＤ２が変換される。従って、ＣＭＹＫ画像データＣＤ２’は、オブジェクトデータＯＤ２によって表わされる画像の色が適切に表現されたものであり得る。本実施例の手法では、入力プロファイルＩＰ１を利用して変換テーブルＣＴ１を生成するための時間が必要になるが、オブジェクトデータ毎に３回の変換処理を実行せずに済むので、比較例の手法と比べて、印刷に要する時間を短縮し得る。
【００２８】
なお、各ＣＭＹＫ画像データＣＤ１’，ＣＤ２’が生成された後に、各ＣＭＹＫ画像データＣＤ１’，ＣＤ２’を含む多階調（例えば２５６階調）のＣＭＹＫ画像データに対するハーフトーン処理が実行されて、比較的に少ない階調（例えば２階調、３階調等）を有するＣＭＹＫ画像データ（以下では「印刷データ」と呼ぶ）が生成される。そして、印刷データが印刷エンジン１８に供給されると、印刷データによって表わされる画像、即ち、ＰＤＦファイル１００によって表わされる画像の印刷が実行される。
【００２９】
（印刷処理；図３）
続いて、図３を参照して、プリンタ１０のＣＰＵ３２によって実行される印刷処理の内容を説明する。プリンタ１０の電源がＯＮされている間、ＣＰＵ３２は、図３の処理を継続的に実行する。Ｓ１０では、ＣＰＵ３２は、端末装置５０からネットワークインターフェース１６を介してＰＤＦファイル１００を取得することを監視する。ＣＰＵ３２は、ＰＤＦファイル１００を取得する場合（Ｓ１０でＹＥＳ）に、Ｓ２０に進む。
【００３０】
Ｓ２０では、ＣＰＵ３２は、ＰＤＦファイル１００内の類似している各入力プロファイルＩＰ１等をグループ化するグループ化処理（後述の図４参照）を実行する。これにより、揮発性領域３４ｂ内に処理テーブルＰＴ（図１参照）が生成される。
【００３１】
Ｓ３０では、ＣＰＵ３２は、Ｓ２０で特定されたグループ毎に、変換テーブル（図２のＣＴ１参照）を生成する変換テーブル生成処理（後述の図７参照）を実行する。これにより、処理テーブルＰＴ内の各グループについて、変換テーブルが生成される。
【００３２】
Ｓ４０では、ＣＰＵ３２は、描画処理（後述の図９参照）を実行する。描画処理は、Ｓ３０で生成された変換テーブルを利用して各オブジェクトデータから各ＣＭＹＫ画像データを生成する処理、印刷データを生成する処理等を含む。
【００３３】
Ｓ５０では、ＣＰＵ３２は、Ｓ４０で生成された印刷データを印刷エンジン１８に供給して、印刷データによって表わされる画像の印刷を印刷エンジン１８に実行させる。
【００３４】
最後に、Ｓ６０では、ＣＰＵ３２は、Ｓ２０及びＳ３０で生成された処理テーブルＰＴ及び各変換テーブルを揮発性領域３４ｂから削除する。即ち、ＰＤＦファイル１００に基づいて生成される処理テーブルＰＴ内の各情報は、他のＰＤＦファイルの印刷時に利用されない。Ｓ６０が終了すると、図３の処理が終了する。
【００３５】
（グループ化処理；図４）
続いて、図４を参照して、図３のＳ２０で実行されるグループ化処理の内容を説明する。図示省略しているが、図４の処理では、ＣＰＵ３２は、まず、揮発性領域３４ｂ内に処理テーブルＰＴを生成する。処理テーブルＰＴは、図５に示されるように、グループ識別子と、プロファイル識別子と、プロファイルデータと、データ識別子と、が関連付けられた関連情報が登録されるテーブルである。グループ識別子、プロファイル識別子は、それぞれ、グループ、入力プロファイルを識別するための識別子である。プロファイルデータは、入力プロファイルから生成されるデータである。データ識別子は、入力プロファイルに対応付けられているオブジェクトデータを識別するための識別子である。処理テーブルＰＴが生成された時点では、処理テーブルＰＴ内にはまだ関連情報が登録されていない。
【００３６】
図４のＳ１００では、ＣＰＵ３２は、ＰＤＦファイル１００内の各オブジェクト識別子を昇順に検出して、１個の入力プロファイル（例えば図１のＩＰ１）を特定する。以下では、ここで特定される入力プロファイルのことを「対象入力プロファイル」と呼ぶ。
【００３７】
Ｓ１０２では、ＣＰＵ３２は、Ｓ１００で特定された対象入力プロファイルを利用して、Ｍ組の座標値データを含む対象プロファイルデータを生成する。具体的には、図５のＳ１００の例に示されるように、ＣＰＵ３２は、対象入力プロファイル（図５の例ではＩＰ１）を利用して、予め決められているＭ個（Ｍは２以上の整数）のＲＧＢ座標値Ｐ１〜ＰＭを変換することによって、Ｍ個のＬａｂ座標値Ｑ１〜ＱＭを取得する。
【００３８】
例えば、対象入力プロファイルが関数タイプのプロファイルである状況を想定する。この場合、ＣＰＵ３２は、変換対象のＲＧＢ座標値を関数に代入して、Ｌａｂ座標値を算出する。また、例えば、対象入力プロファイルがグリッドタイプのプロファイルである状況を想定する。対象入力プロファイルが変換対象のＲＧＢ座標値に一致するＲＧＢ座標値を含む場合には、ＣＰＵ３２は、対象入力プロファイルにおいて当該ＲＧＢ座標値に対応付けられているＬａｂ座標値を特定する。一方、対象入力プロファイルが変換対象のＲＧＢ座標値に一致するＲＧＢ座標値を含まない場合には、ＣＰＵ３２は、対象入力プロファイルに含まれる１個以上のＲＧＢ座標値であって、変換対象のＲＧＢ座標値の近傍に存在する１個以上のＲＧＢ座標値を利用した補間処理を実行して、Ｌａｂ座標値を算出する。なお、対象入力プロファイルがグリッドタイプのプロファイルである場合には、Ｍは、対象入力プロファイルのグリッド数（例えば１７３）よりも小さい値（例えば２５６等）を有することが好ましい。これにより、ＣＰＵ３２は、対象入力プロファイルそのものを処理テーブルＰＴに登録する構成と比べて、後述の類似判断処理（即ち図４のＳ１２２、Ｓ１３０）を迅速に実行することができる。ただし、変形例では、ＣＰＵ３２は、対象入力プロファイルそのものを処理テーブルＰＴに登録してもよい。
【００３９】
ＣＰＵ３２は、Ｍ個のＬａｂ座標値Ｑ１〜ＱＭを取得すると、Ｍ個のＲＧＢ座標値Ｐ１〜ＰＭとＭ個のＬａｂ座標値Ｑ１〜ＱＭとが対応付けられているＭ組の座標値データを含む対象プロファイルデータＰＤ１を生成する。
【００４０】
なお、Ｍ個のＲＧＢ座標値Ｐ１〜ＰＭは、無彩色を示す座標値（例えばＰ１（０，０，０）、ＰＭ（２５５，２５５，２５５））を含む。図２で説明したように、本実施例では、例えば、オブジェクトデータＯＤ２は、オブジェクトデータＯＤ２に対応付けられている入力プロファイルＩＰ２によって変換されずに、入力プロファイルＩＰ１の変換特性を有する変換テーブルＣＴ１によって変換され得る。仮に、無彩色に関する変換特性を考慮せずに２個の入力プロファイルＩＰ１，ＩＰ２が類似すると判断する構成を採用すると、入力プロファイルＩＰ２の無彩色に関する変換特性とは大きく異なる変換特性（即ち入力プロファイルＩＰ１の無彩色に関する変換特性）がオブジェクトデータＯＤ２に反映され得る。無彩色に関する変換特性は、他の色と比べて、変換後の色に大きな影響を与える。従って、オブジェクトデータＯＤ２から得られる変換後の色が、ＰＤＦファイル１００で実際に定義されている色と大きく異なり得る。これを避けるために、本実施例では、ＣＰＵ３２は、無彩色を示す座標値Ｐ１，ＰＭを利用して、対象プロファイルデータＰＤ１を生成する。これにより、ＣＰＵ３２は、無彩色に関する変換特性を考慮して、２個の入力プロファイルＩＰ１，ＩＰ２が類似するのか否かを判断することができる。この結果、ＰＤＦファイル１００で実際に定義されている色と大きく異なる色が出力（即ち印刷）されるのを抑制することができる。なお、変形例では、Ｍ個のＲＧＢ座標値Ｐ１〜ＰＭは、無彩色を示す座標値を含まなくてもよい。
【００４１】
次いで、図４のＳ１１０では、ＣＰＵ３２は、処理テーブルＰＴ内に少なくとも１個の基準プロファイルデータが登録されているのか否かを判断する。基準プロファイルデータは、Ｓ１１０の時点で処理テーブルＰＴ内に登録されているプロファイルデータを意味する。１回目のＳ１１０の処理では、処理テーブルＰＴ内にまだ情報が登録されていないので、ＣＰＵ３２は、Ｓ１１０でＮＯと判断して、Ｓ１５０に進む。
【００４２】
Ｓ１５０では、ＣＰＵ３２は、新たな関連情報を処理テーブルＰＴに登録する。具体的には、ＣＰＵ３２は、まず、新たなグループを識別するための新たなグループ識別子を生成し、さらに、対象入力プロファイル（例えばＩＰ１）が記述されているオブジェクト識別子（例えば「11obj」）をプロファイル識別子として決定する。また、ＣＰＵ３２は、ＰＤＦファイル１００内をサーチして、対象入力プロファイル（例えばＩＰ１）に対応付けられているオブジェクトデータ（例えばＯＤ１）が記述されているオブジェクト識別子（例えば「12obj」）を特定し、特定済みのオブジェクト識別子をデータ識別子として決定する。ここで、対象入力プロファイルに複数個のオブジェクトデータが対応付けられている場合には、複数個のオブジェクト識別子が特定されて、当該複数個のオブジェクト識別子のそれぞれがデータ識別子として決定される。そして、ＣＰＵ３２は、生成済みのグループ識別子と、決定済みのプロファイル識別子と、Ｓ１０２で生成された対象プロファイルデータと、決定済みのデータ識別子と、が関連付けられている新たな関連情報を処理テーブルＰＴに登録する。図５の例では、グループ識別子Ｇ１とプロファイル識別子「11obj」とプロファイルデータＰＤ１とデータ識別子「12obj」とを含む新たな関連情報が登録される。Ｓ１５０が終了すると、Ｓ１７０に進む。
【００４３】
Ｓ１７０では、ＣＰＵ３２は、ＰＤＦファイル１００内の全ての入力プロファイルをＳ１００で特定したのか否かを判断する。具体的には、ＣＰＵ３２は、最新のＳ１００で特定された対象入力プロファイルよりも後ろの部分に他の入力プロファイルが記述されていないことを確認した場合には、Ｓ１７０でＹＥＳと判断して図４の処理を終了する。一方、ＣＰＵ３２は、当該他の入力プロファイルが記述されていることを確認した場合には、Ｓ１７０でＮＯと判断して、Ｓ１００〜Ｓ１１０を再び実行する。
【００４４】
２回目以降のＳ１１０が実行される際には、少なくとも１個のプロファイルデータが処理テーブルＰＴに登録されている。従って、Ｓ１１０では、ＣＰＵ３２は、処理テーブルＰＴ内に少なくとも１個の基準プロファイルデータが登録されていると判断し（Ｓ１１０でＹＥＳ）、Ｓ１２０に進む。
【００４５】
Ｓ１２０では、ＣＰＵ３２は、処理テーブルＰＴを参照して、１個のグループを特定する。具体的には、ＣＰＵ３２は、グループ識別子（例えば図５のＧ１）を特定する。以下では、ここで特定されるグループ識別子、グループのことを、それぞれ、「対象グループ識別子」、「対象グループ」と呼ぶ。
【００４６】
Ｓ１２２では、ＣＰＵ３２は、対象プロファイルデータを利用して、対象グループ内の各基準プロファイルデータに対応する各類似指標値を算出する。図６のフローチャートを参照して、Ｓ１２２の類似指標値算出処理の内容を説明する。図６の例では、入力プロファイルＩＰ２が対象入力プロファイルであり、入力プロファイルＩＰ２から生成されるプロファイルデータが対象プロファイルデータＰＤ２であり、グループ識別子Ｇ１によって識別されるグループが対象グループであり、グループ識別子Ｇ１に関連付けられているプロファイルデータＰＤ１（図５参照）が基準プロファイルデータである。
【００４７】
Ｓ２００では、ＣＰＵ３２は、プロファイルデータを算出するためのＭ個のＲＧＢ座標値Ｐ１〜ＰＭ（図５参照）のそれぞれについて、当該ＲＧＢ座標値から算出された基準プロファイルデータＰＤ１内のＬａｂ座標値と、当該ＲＧＢ座標値から算出された対象プロファイルデータＰＤ２内のＬａｂ座標値と、の間の距離（即ちユークリッド距離）を算出する。この結果、ＣＰＵ３２は、Ｍ個の距離Ｄ１〜ＤＭを算出する。
【００４８】
Ｓ２１０では、ＣＰＵ３２は、Ｍ個の距離Ｄ１〜ＤＭの単純平均値Ｄａｖｅを算出する。単純平均値Ｄａｖｅが大きい程、２個のプロファイルデータＰＤ１，ＰＤ２の間の変換特性の相違が大きい。
【００４９】
Ｓ２２０では、ＣＰＵ３２は、予め決められている所定値（本実施例では１２８）から単純平均値Ｄａｖｅを減算することによって、類似指標値ＩＶを算出する。類似指標値ＩＶが大きい程、２個のプロファイルデータＰＤ１，ＰＤ２の間の変換特性の相違が小さく、２個のプロファイルデータＰＤ１，ＰＤ２（即ち２個の入力プロファイルＩＰ１，ＩＰ２）の間の類似度が高い。Ｓ２２０が終了すると、図６の処理が終了する。
【００５０】
対象グループ識別子に関連付けられている複数個の基準プロファイルデータが処理テーブルＰＴ内に存在する場合には、図４のＳ１２２では、ＣＰＵ３２は、複数個の基準プロファイルデータに対応する複数個の類似指標値ＩＶを算出する。なお、図６のフローチャートでは符号ＰＤ１，ＰＤ２が記載されているが、他のプロファイルデータについても同様に、類似指標値が算出される。図４のＳ１２２が終了すると、Ｓ１３０に進む。
【００５１】
Ｓ１３０では、ＣＰＵ３２は、Ｓ１２０で算出された１個以上の類似指標値のうちの最大の類似指標値が予め決められている閾値（例えば１２０）よりも大きいのか否かを判断する。ＣＰＵ３２は、最大の類似指標値が閾値よりも大きいと判断する場合（Ｓ１３０でＹＥＳ）には、対象プロファイルデータに類似する基準プロファイルデータが対象グループ内に存在すると判断してＳ１６０に進む。
【００５２】
Ｓ１６０では、ＣＰＵ３２は、新たな関連情報を処理テーブルＰＴに登録する。具体的には、ＣＰＵ３２は、まず、対象入力プロファイル（例えばＩＰ２）が記述されているオブジェクト識別子（例えば「21obj」）をプロファイル識別子として決定する。また、ＣＰＵ３２は、ＰＤＦファイル１００内をサーチして、対象入力プロファイル（例えばＩＰ２）に対応付けられているオブジェクトデータ（例えばＯＤ２）が記述されているオブジェクト識別子（例えば「22obj」）を特定し、特定済みのオブジェクト識別子をデータ識別子として決定する。そして、ＣＰＵ３２は、対象グループ識別子と、決定済みのプロファイル識別子と、Ｓ１０２で生成された対象プロファイルデータと、決定済みのデータ識別子と、が関連付けられている新たな関連情報を処理テーブルＰＴに登録する。図６のケースＡの例では、グループ識別子Ｇ１とプロファイル識別子「21obj」とプロファイルデータＰＤ２とデータ識別子「22obj」とを含む新たな関連情報が登録される。Ｓ１６０が終了すると、Ｓ１７０に進む。
【００５３】
一方、ＣＰＵ３２は、最大の類似指標値が閾値よりも小さいと判断する場合（Ｓ１３０）には、対象プロファイルデータに類似する基準プロファイルデータが対象グループ内に存在しないと判断してＳ１４０に進む。
【００５４】
Ｓ１４０では、ＣＰＵ３２は、処理テーブルＰＴ内の全てのグループをＳ１２０で特定したのか否かを判断する。ＣＰＵ３２は、処理テーブルＰＴ内に未特定グループが存在する場合には、Ｓ１４０でＮＯと判断して、Ｓ１２０〜Ｓ１３０を再び実行する。一方、ＣＰＵ３２は、処理テーブルＰＴ内に未特定グループが存在しない場合には、Ｓ１４０でＹＥＳと判断して、Ｓ１５０に進む。これにより、新たなグループ識別子等を含む新たな関連情報が処理テーブルＰＴに登録される。図６のケースＢの例では、グループ識別子Ｇ２とプロファイル識別子「21obj」とプロファイルデータＰＤ２とデータ識別子「22obj」とを含む新たな関連情報が登録される。
【００５５】
Ｓ１７０でＹＥＳと判断されるまで、Ｓ１００〜Ｓ１６０の処理が繰り返し実行されると、ＰＤＦファイル１００内の全ての入力プロファイルのそれぞれについて、当該入力プロファイルに対応する関連情報が処理テーブルＰＴに登録される。この結果、類似している各入力プロファイルがグループ化されている処理テーブルＰＴが完成する。
【００５６】
（変換テーブル生成処理；図７）
続いて、図７を参照して、図３のＳ３０で実行される変換テーブル生成処理の内容を説明する。Ｓ３００では、ＣＰＵ３２は、図４のＳ１２０と同様に、対象グループ（即ち対象グループ識別子）を特定する。
【００５７】
Ｓ３０２では、ＣＰＵ３２は、２個以上の入力プロファイルが対象グループ内に存在するのか否かを判断する。具体的には、ＣＰＵ３２は、対象グループ識別子に２個以上のプロファイル識別子が関連付けられている場合には、Ｓ３０２でＹＥＳと判断してＳ３２０に進み、対象グループ識別子に１個のプロファイル識別子のみが関連付けられている場合には、Ｓ３０２でＮＯと判断してＳ３１０に進む。例えば、図６のケースＡ又はＢに示される処理テーブルＰＴが存在し、グループ識別子Ｇ１が対象グループ識別子である状況を想定する。ケースＡでは、対象グループ識別子Ｇ１に２個のプロファイル識別子「11obj」，「21obj」が関連付けられているので、ＣＰＵ３２は、Ｓ３０２でＹＥＳと判断する。一方、ケースＢでは、対象グループ識別子Ｇ１に１個のプロファイル識別子「11obj」のみが関連付けられているので、ＣＰＵ３２は、Ｓ３０２でＮＯと判断する。
【００５８】
Ｓ３１０では、ＣＰＵ３２は、対象グループ内の１個のプロファイル識別子（例えば図６のケースＢの「11obj」）によって識別される入力プロファイル（例えばＩＰ１）を利用して、変換テーブルを生成する。具体的には、ＣＰＵ３２は、当該入力プロファイル、第１出力プロファイルＯＰ１、及び、第２出力プロファイルＯＰ２を順次利用して、予め決められている複数個（例えば１７３個）のＲＧＢ座標値を変換することによって、複数個のＣＭＹＫ座標値を算出する。そして、ＣＰＵ３２は、複数個のＲＧＢ座標値と複数個のＣＭＹＫ座標値とが対応付けられている変換テーブルを生成する。上述したように、変換テーブルは、入力プロファイル及び各出力プロファイルＯＰ１，ＯＰ２を利用した変換が順次実行されることによって生成される。このために、変換テーブルは、入力プロファイルの変換特性と各出力プロファイルＯＰ１，ＯＰ２の変換特性とを有するデータである。ここで、「変換特性」とは、変換前の各座標値と変換後の各座標値との間の関係を意味し、例えば、グリッドタイプのプロファイルであれば、ある色空間内の各座標値と、当該各座標値に対応付けられている異なる色空間内の各座標値と、の間の関係を意味する。また、「変換テーブルが上記の各変換特性を有するデータである」とは、入力プロファイル及び各出力プロファイルＯＰ１，ＯＰ２を順次利用して各ＲＧＢ座標値を変換して得られる各ＣＭＹＫ座標値が、変換デーブルを利用して当該各ＲＧＢ座標値を変換して得られる各ＣＭＹＫ座標値に略等しいことを意味する。Ｓ３１０が終了すると、Ｓ３４０に進む。
【００５９】
一方、Ｓ３３０では、ＣＰＵ３２は、対象グループ内の２個以上のプロファイル識別子（例えば図６のケースＡの「11obj」，「21obj」）によって識別される２個以上の入力プロファイル（例えばＩＰ１，ＩＰ２）の中から、所定の基準に従って、１個の入力プロファイルを選択する。本実施例の所定の基準では、対応付けられているオブジェクトデータの個数が最大である入力プロファイル（以下では「最大入力プロファイル」と呼ぶ）が選択される。
【００６０】
例えば、図８の処理テーブルＰＴが存在する状況を想定する。グループＧ１は、３個のプロファイル識別子「11obj」，「21obj」，「25obj」によって識別される３個の入力プロファイルを含む。プロファイル識別子「11obj」，「21obj」，「25obj」には、それぞれ、１個、１個、３個のデータ識別子が関連付けられている。グループＧ１が対象グループである場合には、図７のＳ３２０において、ＣＰＵ３２は、関連付けられているデータ識別子の個数が最大であるプロファイル識別子「25obj」を選択することによって、最大入力プロファイルを選択する。
【００６１】
また、グループＧ２は、２個のプロファイル識別子「41obj」，「45obj」によって識別される２個の入力プロファイルを含む。プロファイル識別子「41obj」，「45obj」には、それぞれ、２個のデータ識別子が関連付けられている。即ち、グループＧ２が対象グループである場合には、２個の最大入力プロファイルが存在する。この場合、図７のＳ３２０において、ＣＰＵ３２は、２個の最大入力プロファイルのうち、先に登録されたプロファイル識別子「41obj」によって識別される入力プロファイルを選択する。なお、変形例では、ＣＰＵ３２は、後に登録されたプロファイル識別子「45obj」によって識別される入力プロファイルを選択してもよいし、２個の最大入力プロファイルの中からランダムに入力プロファイルを選択してもよい。
【００６２】
図７のＳ３２０が終了すると、Ｓ３３０において、ＣＰＵ３２は、Ｓ３２０で選択された入力プロファイルを利用して、変換テーブルを生成する。Ｓ３３０は、Ｓ３１０と同様である。例えば、図８のグループＧ１が対象グループである場合には、ＣＰＵ３２は、プロファイル識別子「25obj」によって識別される入力プロファイルを利用して、変換テーブルＣＴｇ１を生成する。また、例えば、図８のグループＧ２が対象グループである場合には、ＣＰＵ３２は、プロファイル識別子「41obj」によって識別される入力プロファイルを利用して、変換テーブルＣＴｇ２を生成する。
【００６３】
なお、図８のグループＧ３は、１個のプロファイル識別子「51obj」によって識別される１個の入力プロファイルのみを含む。この場合、上述したように、ＣＰＵ３２は、図７のＳ３０２でＮＯと判断して、Ｓ３１０において、プロファイル識別子「51obj」によって識別される入力プロファイルを利用して、変換テーブルＣＴｇ３を生成する。Ｓ３１０又はＳ３３０が終了すると、Ｓ３４０に進む。
【００６４】
Ｓ３４０では、ＣＰＵ３２は、対象グループ識別子に関連付けて、Ｓ３１０又はＳ３３０で生成された変換テーブルを処理テーブルＰＴに登録する。これにより、処理テーブルＰＴでは、データ識別子と変換テーブルとが関連付けられることになる。これは、当該データ識別子によって識別されるオブジェクトデータが、当該変換テーブルによって変換されるべきことを意味する。
【００６５】
Ｓ３５０では、ＣＰＵ３２は、処理テーブルＰＴ内の全てのグループをＳ３００で特定したのか否かを判断する。ＣＰＵ３２は、処理テーブルＰＴ内に未特定グループが存在する場合には、Ｓ３５０でＮＯと判断して、Ｓ３００〜Ｓ３４０を再び実行する。一方、ＣＰＵ３２は、処理テーブルＰＴ内に未特定グループが存在しない場合には、Ｓ３５０でＹＥＳと判断して、図７の処理を終了する。
【００６６】
（描画処理；図９）
続いて、図９を参照して、図３のＳ４０で実行される描画処理の内容を説明する。Ｓ４００では、ＣＰＵ３２は、ＰＤＦファイル１００内の各オブジェクト識別子を昇順に検出して、１個のオブジェクトデータ（例えば図１のＯＤ１）を特定する。具体的には、ＣＰＵ３２は、当該１個のオブジェクトデータが記述されている１個のオブジェクト識別子（例えば図１の「12obj」）を特定する。以下では、ここで特定されるオブジェクトデータ、オブジェクト識別子のことを、それぞれ、「対象オブジェクトデータ」、「対象オブジェクト識別子」と呼ぶ。
【００６７】
Ｓ４０２では、ＣＰＵ３２は、対象オブジェクトデータに入力プロファイルが対応付けられているのか否かを判断する。具体的には、ＣＰＵ３２は、対象オブジェクト識別子の記述内容が入力プロファイルを定義する文字列（例えば図１の「ColorSpace 10obj」）を含んでいる場合には、Ｓ４０２でＹＥＳと判断してＳ４０４に進み、対象オブジェクト識別子の記述内容が上記の文字列を含んでいない場合には、Ｓ４０２でＮＯと判断してＳ４０６に進む。
【００６８】
Ｓ４０４では、ＣＰＵ３２は、処理テーブルＰＴから、Ｓ４００で特定された対象オブジェクト識別子に一致するデータ識別子に関連付けられている変換テーブルを取得する。そして、ＣＰＵ３２は、取得済みの変換テーブルを利用して、Ｓ４００で特定された対象オブジェクトデータを変換することによって、ＣＭＹＫ色空間内の座標値を示す複数個の画素を含むＣＭＹＫ画像データを生成する。
【００６９】
例えば、対象オブジェクト識別子が図８のグループＧ１に含まれるデータ識別子「12obj」である場合には、ＣＰＵ３２は、変換テーブルＣＴｇ１を利用して、対象オブジェクトデータＯＤ１を変換することによって、ＣＭＹＫ画像データを生成する。また、例えば、対象オブジェクト識別子がグループＧ１に含まれるデータ識別子「22obj」である場合には、ＣＰＵ３２は、変換テーブルＣＴｇ１を利用して、対象オブジェクトデータＯＤ２を変換することによって、ＣＭＹＫ画像データを生成する。Ｓ４０４が終了すると、Ｓ４０８に進む。
【００７０】
一方、Ｓ４０６では、ＣＰＵ３２は、単独出力プロファイルＯＰ３を利用して、Ｓ４００で特定された対象オブジェクトデータを変換することによって、ＣＭＹＫ色空間内の座標値を示す複数個の画素を含むＣＭＹＫ画像データを生成する。Ｓ４０６が終了すると、Ｓ４０８に進む。
【００７１】
Ｓ４０８では、ＣＰＵ３２は、ＰＤＦファイル１００内の全てのオブジェクトデータをＳ４００で特定したのか否かを判断する。具体的には、ＣＰＵ３２は、最新のＳ４００で特定された対象オブジェクト識別子よりも後ろの部分に他のオブジェクトデータが記述されていないことを確認した場合には、Ｓ４０８でＹＥＳと判断してＳ４１０に進む。一方、ＣＰＵ３２は、当該他のオブジェクトデータが記述されていることを確認した場合には、Ｓ４０８でＮＯと判断してＳ４００に戻る。
【００７２】
Ｓ４０８でＹＥＳと判断される状況では、全てのオブジェクトデータから生成された各ＣＭＹＫ画像データを含む多階調のＣＭＹＫ画像データが完成している。そして、Ｓ４１０では、ＣＰＵ３２は、多階調のＣＭＹＫ画像データに対するハーフトーン処理を実行して、印刷データを生成する。Ｓ４１０が終了すると、図９の処理が終了する。
【００７３】
（本実施例の効果）
例えば、図８に示されるように、プリンタ１０は、ＰＤＦファイル１００内の複数個の入力プロファイルＩＰ１等をグループ分けする。１個のグループに含まれる各入力プロファイルＩＰ１等は、相互に類似している。そして、プリンタ１０は、例えば、グループＧ１に含まれる３個の入力プロファイルのうちの１個の入力プロファイルと、各出力プロファイルＯＰ１，ＯＰ２と、を利用して、変換テーブルＣＴｇ１を生成する。グループＧ１に含まれる３個の入力プロファイルには、合計で５個のオブジェクトデータ「12obj」，「22obj」，「26obj」等が対応付けられている。プリンタ１０は、同じ変換テーブルＣＴｇ１を利用して５個のオブジェクトデータのそれぞれを変換して、５個のＣＭＹＫ画像データを生成する。従って、プリンタ１０は、５個のオブジェクトデータのそれぞれについて、当該オブジェクトデータに対応付けられている入力プロファイルと各出力プロファイルＯＰ１，ＯＰ２とを利用して変換せずに済む。このために、プリンタ１０は、５個のオブジェクトデータに対する色変換を迅速に実行することができ、この結果、ＰＤＦファイル１００によって表わされる画像の印刷を迅速に実行することができる。
【００７４】
また、プリンタ１０は、入力プロファイルＩＰ１から得られる基準プロファイルデータＰＤ１内の複数個のＬａｂ座標値と、入力プロファイルＩＰ２から得られる対象プロファイルデータＰＤ２内の複数個のＬａｂ座標値と、の間の複数個の距離を利用して（図６のＳ２００〜Ｓ２２０）、基準プロファイルデータＰＤ１と対象プロファイルデータＰＤ２とが類似するのか否かを判断する（図４のＳ１３０）。このように、プリンタ１０は、各入力プロファイルＩＰ１，ＩＰ２を利用した変換を実際に実行し、それによって得られる各Ｌａｂ座標値間の距離を利用するので、基準プロファイルデータＰＤ１と対象プロファイルデータＰＤ２とが類似するのか否か、換言すると、入力プロファイルＩＰ１と入力プロファイルＩＰ２とが類似するのか否か、を適切に判断することができる。この結果、プリンタ１０は、類似している各入力プロファイルを含むグループを適切に特定することができる。
【００７５】
また、プリンタ１０は、対象グループ内の複数個の入力プロファイルの中から、最大入力プロファイルを選択する（図７のＳ３２０）。即ち、プリンタ１０は、変換後の印刷データによって表わされる画像に比較的に大きな影響を与え得る入力プロファイルを選択する。そして、プリンタ１０は、選択済みの入力プロファイルを利用して、変換テーブルを生成する（Ｓ３３０）。従って、プリンタ１０は、比較的多くのオブジェクトデータに対応付けられている入力プロファイルを利用して、これらのオブジェクトデータを変換することができる。このために、ＰＤＦファイル１００によって表わされる画像の色と、変換後の印刷データによって表わされる画像の色と、が大きく相違する事象が発生するのを抑制することができる。
【００７６】
（対応関係）
プリンタ１０、ネットワークインターフェース１６、印刷エンジン１８が、それぞれ、「画像処理装置」、「通信インターフェース」、「出力部」の一例である。ＰＤＦファイル１００を生成したデバイスの特性に依存するＲＧＢ色空間、Ｌａｂ色空間、ＣＭＹＫ色空間が、それぞれ、「特定の色空間」、「第１の色空間」、「第２の色空間」の一例である。また、Ｌａｂ色空間から変換された後の標準の色空間であるＲＧＢ色空間が、「第３の色空間」の一例である。図８において、グループＧ１に含まれる３個のプロファイル識別子「11obj」，「21obj」，「25obj」によって識別される３個の入力プロファイルが、「ｊ個の入力側プロファイル」の一例である。「25obj」によって識別される入力プロファイル、変換テーブルＣＴｇ１が、それぞれ、「少なくとも１個の入力側プロファイル」、「変換テーブル」の一例である。グループＧ１に含まれる５個のデータ識別子「12obj」，「22obj」，「26obj」等によって識別される５個のオブジェクトデータが、「ｋ個のオブジェクトデータ」の一例である。図５において、入力プロファイルＩＰ１、ＲＧＢ座標値、Ｌａｂ座標値が、それぞれ、「第１の入力側プロファイル」、「所定座標値」、「第１の座標値」の一例である。図６において、入力プロファイルＩＰ２、対象プロファイルデータＰＤ２内のＬａｂ座標値が、それぞれ、「第２の入力側プロファイル」、「第２の座標値」の一例である。第１出力プロファイルＯＰ１、第２出力プロファイルＯＰ２が、それぞれ、「第１の出力側プロファイル」、「第２の出力側プロファイル」の一例である。
【００７７】
（第２実施例）
本実施例では、図７のＳ３２０で採用される所定の基準が、第１実施例とは異なる。本実施例の所定の基準では、対応付けられているオブジェクトデータによって表わされるオブジェクトのサイズが最大である入力プロファイルを選択することである。なお、以下では、識別子「数字+obj」によって識別される入力プロファイル、オブジェクトデータのことを、それぞれ、入力プロファイル「数字+obj」、オブジェクトデータ「数字+obj」と記載する。また、オブジェクトデータ「数字+obj」によって表わされるオブジェクトのことを、オブジェクト「数字+obj」と記載する。
【００７８】
例えば、図１０の処理テーブルＰＴが存在する状況を想定する。グループＧ１が対象グループである場合には、図７のＳ３２０において、ＣＰＵ３２は、グループＧ１に含まれる各オブジェクト「12obj」，「22obj」のサイズを特定する。具体的には、図１に示されるように、ＰＤＦファイル１００内のオブジェクト識別子「99obj」には、各オブジェクトのサイズが記述される。ＣＰＵ３２は、当該記述内容を参照して、各オブジェクトのサイズを特定する。図１０の例では、オブジェクト「12obj」のサイズが、オブジェクト「22obj」のサイズよりも大きい。このために、ＣＰＵ３２は、処理テーブルＰＴ内においてデータ識別子「12obj」に関連付けられているプロファイル識別子「11obj」を選択することによって、入力プロファイル「11obj」を選択する。この場合、図７のＳ３３０では、入力プロファイル「11obj」を利用して、変換テーブルＣＴｇ１が生成される。
【００７９】
また、図１０のグループＧ２が対象グループである場合には、図７のＳ３２０において、ＣＰＵ３２は、グループＧ２に含まれる各オブジェクト「42obj」，「43obj」，「46obj」のサイズを特定する。この例では、１個のプロファイル識別子「41obj」に対して複数個のオブジェクト「42obj」，「43obj」が関連付けられている。この場合、ＣＰＵ３２は、複数個のオブジェクト「42obj」，「43obj」の合計サイズを算出する。図１０の例では、当該合計サイズが、オブジェクト「46obj」のサイズよりも小さい。このために、ＣＰＵ３２は、処理テーブルＰＴ内においてデータ識別子「46obj」に関連付けられているプロファイル識別子「45obj」を選択することによって、入力プロファイル「45obj」を選択する。この場合、図７のＳ３３０では、入力プロファイル「45obj」を利用して、変換テーブルＣＴｇ２が生成される。
【００８０】
本実施例でも、プリンタ１０は、変換後の印刷データによって表わされる画像に比較的に大きな影響を与え得る入力プロファイルを選択し、選択済みの入力プロファイルを利用して変換テーブルを生成することができる。このために、ＰＤＦファイル１００によって表わされる画像の色と、変換後の印刷データによって表わされる画像の色と、が大きく相違する事象が発生するのを抑制することができる。
【００８１】
（第３実施例）
本実施例では、不揮発性領域３４ａは、オブジェクトデータの種類毎の優先順位を示す順位情報ＲＩ（図１参照）を格納している。順位情報ＲＩでは、変換後の印刷データによって表わされる画像内でユーザが着目し易いオブジェクトデータの種類の優先順位が高い。具体的には、画像オブジェクトを表わすオブジェクトデータの優先順位が最も高く、タイルパターンを示すオブジェクトを表わすオブジェクトデータの優先順位が二番目に高く、テキストオブジェクトを表わすオブジェクトデータの優先順位が最も低い。なお、変形例では、順位情報ＲＩは、上記の優先順序とは異なる優先順序を示していてもよいし（例えば、（１）画像オブジェクト、（２）テキストオブジェクト、（３）パターンオブジェクトの順序）、他のオブジェクトの種類の優先順位をさらに含んでいてもよい。
【００８２】
本実施例では、図７のＳ３２０で採用される所定の基準が、上記の各実施例とは異なる。本実施例の所定の基準では、順位情報ＲＩ内の最も高い優先順位を有するオブジェクトデータに対応付けられている入力プロファイルが選択される。
【００８３】
例えば、図１０の処理テーブルＰＴが存在する状況を想定する。グループＧ１が対象グループである場合には、図７のＳ３２０において、ＣＰＵ３２は、グループＧ１に含まれる各オブジェクトデータ「12obj」，「22obj」の種類を特定する。具体的には、図１に示されるように、ＰＤＦファイル１００内のオブジェクト識別子「12obj」，「22obj」には、それぞれ、「subtype/image」、「subtype/text」が記述されている。このために、ＣＰＵ３２は、オブジェクトデータ「12obj」，「22obj」の種類として、それぞれ、画像オブジェクト、テキストオブジェクトを特定する。次いで、ＣＰＵ３２は、順位情報ＲＩを参照して、オブジェクトデータ「12obj」，「22obj」の中から、最も高い優先順位を有する画像オブジェクトを表わすオブジェクトデータ「12obj」を特定する。そして、ＣＰＵ３２は、処理テーブルＰＴ内においてデータ識別子「12obj」に関連付けられているプロファイル識別子「11obj」を選択することによって、入力プロファイル「11obj」を選択する。この場合、図７のＳ３３０では、入力プロファイル「11obj」を利用して変換テーブルＣＴｇ１が生成される。
【００８４】
また、例えば、グループＧ２では、１個のプロファイル識別子「41obj」に対して複数個のオブジェクトデータ「42obj」，「43obj」が関連付けられている。ＣＰＵ３２は、複数個のオブジェクトデータ「42obj」，「43obj」の種類が異なる場合には、そのうちの優先順位が高い種類を有するオブジェクトデータがプロファイル識別子「41obj」に関連付けられているとして扱って、グループＧ１と同様に、入力プロファイルを選択する。
【００８５】
本実施例では、プリンタ１０は、ユーザが着目し易いオブジェクトデータに関連付けられている入力プロファイルを選択する。このために、ユーザが、ＰＤＦファイル１００によって表わされる画像の色と、変換後の印刷データによって表わされる画像の色と、が相違すると知覚するのを抑制することができる。
【００８６】
（第４実施例）
本実施例では、図７のＳ３２０で採用される所定の基準が、上記の各実施例とは異なる。本実施例の所定の基準では、対応付けられているオブジェクトデータによって表わされるオブジェクト内の肌色領域のサイズが最大である入力プロファイルが選択される。
【００８７】
例えば、図１０の処理テーブルＰＴが存在する状況を想定する。グループＧ１が対象グループである場合には、図７のＳ３２０において、ＣＰＵ３２は、グループＧ１に含まれる各オブジェクト「12obj」，「22obj」に含まれる肌色領域のサイズを特定する。具体的には、ＣＰＵ３２は、まず、各オブジェクト「12obj」，「22obj」を表わすビットマップデータであるＲＧＢ画像データを取得する。例えば、オブジェクト「12obj」が画像オブジェクトである場合には、オブジェクトデータＯＤ１がＲＧＢ画像データそのものである。この場合、ＣＰＵ３２は、ＰＤＦファイル１００からオブジェクトデータＯＤ１を取得することによって、オブジェクト「12obj」を表わすＲＧＢ画像データを取得する。また、例えば、オブジェクト「22obj」がテキストオブジェクトである場合には、オブジェクトデータＯＤ２は、テキストを記述するためのコマンドを含む。この場合、ＣＰＵ３２は、当該コマンドを実行して、オブジェクト「22obj」を表わすＲＧＢ画像データを生成する。次いで、ＣＰＵ３２は、取得済みの各ＲＧＢ画像データについて、当該ＲＧＢ画像データを構成する複数個の画素の中から、予め決められている色範囲内の肌色及びその近傍色を示す画素の数（以下では「肌色画素数」と呼ぶ）を特定する。肌色画素数は、オブジェクトに含まれる肌色領域のサイズに対応する数である。図１０の例では、オブジェクト「12obj」の肌色画素数が、オブジェクト「22obj」の肌色画素数よりも大きい。このために、ＣＰＵ３２は、処理テーブルＰＴ内においてデータ識別子「12obj」に関連付けられているプロファイル識別子「11obj」を選択することによって、入力プロファイル「11obj」を選択する。この場合、図７のＳ３３０では、入力プロファイル「11obj」を利用して、変換テーブルＣＴｇ１が生成される。
【００８８】
なお、グループＧ２に示されるように、１個のプロファイル識別子「41obj」に対して複数個のオブジェクト「42obj」，「43obj」が関連付けられている場合には、ＣＰＵ３２は、複数個のオブジェクト「42obj」，「43obj」のそれぞれの肌色画素数の合計と、オブジェクト「46obj」の肌色画素数と、を比較して、グループＧ１と同様に、入力プロファイルを選択する。
【００８９】
一般的には、ユーザは、入力画像の肌色と出力画像の肌色とが相違すると、入力画像の色と出力画像の色とが相違すると知覚し易い。このような知見に鑑みて、本実施例では、プリンタ１０は、肌色領域のサイズに基づいて、入力プロファイルを選択する。このために、ＰＤＦファイル１００によって表わされる画像の肌色と、変換後の印刷データによって表わされる画像の肌色と、が大きく相違するのを抑制することができる。この結果、ユーザが、ＰＤＦファイル１００によって表わされる画像の色と、変換後の印刷データによって表わされる画像の色と、が相違すると知覚するのを抑制することができる。
【００９０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。変形例を以下に列挙する。
【００９１】
（変形例１）上記の実施例では、ＣＰＵ３２は、ネットワークインターフェース１６を介して、端末装置５０からＰＤＦファイル１００を取得する。これに代えて、ＣＰＵ３２は、例えば、メモリデバイスが着脱可能に装着されるメモリインターフェースを介して、メモリデバイスからＰＤＦファイル１００を取得してもよい。また、例えば、プリンタ１０に代えてＰＣが「画像処理装置」の一例である場合には、ＰＣのＣＰＵは、ＰＣのメモリからＰＤＦファイル１００を読み出すことによって、ＰＤＦファイル１００を取得してもよい。
【００９２】
（変形例２）図７のＳ３２０の変形例を以下に列挙する。（１）ＣＰＵ３２は、対象グループに含まれる複数個のプロファイル識別子の中から、処理テーブルＰＴに最初に登録された１個のプロファイル識別子を選択することによって、１個の入力プロファイルを選択してもよい。（２）また、ＣＰＵ３２は、対象グループに含まれる複数個のプロファイル識別子によって識別される複数個の入力プロファイルの全ての変換特性を有する１個の入力プロファイルを生成してもよい。具体的には、ＣＰＵ３２は、複数個の入力プロファイルのそれぞれを利用して、予め決められている１個のＲＧＢ座標値から得られる１個のＬａｂ座標値を算出する。そして、ＣＰＵ３２は、当該１個のＲＧＢ座標値と、複数個の入力プロファイルを利用して得られる複数個のＬａｂ座標値の中間値と、を対応付ける。ＣＰＵ３２は、予め決められている他の各ＲＧＢ値についても同様の処理を実行して、上記の１個の入力プロファイルを生成する。一般的に言うと、上記の実施例のように、ｊ個の入力側色変換プロファイルのうちの１個の入力側色変換プロファイルのみを利用して、変換テーブルが生成されてもよいし、ｊ個の入力側色変換プロファイルのうちの複数個の入力側色変換プロファイルを利用して、変換テーブルが生成されてもよい。
【００９３】
（変形例３）ＣＰＵ３２は、図３のＳ２０において、１個のグループのみを特定してもよい。例えば、ＣＰＵ３２は、処理テーブルＰＴに最初に登録されたグループ（例えば図８のグループＧ１）に含まれる各オブジェクトデータに対して、同じ変換テーブル（例えば図８のＣＴｇ１）を利用した変換を実行する。ＣＰＵ３２は、他の全てのオブジェクトデータのそれぞれについて、当該オブジェクトデータに対応付けられている入力側プロファイルと出力側プロファイルＯＰ１，ＯＰ２とを利用して変換テーブルを生成する。そして、ＣＰＵ３２は、他の全てのオブジェクトデータのそれぞれについて、当該オブジェクトデータに対応付けられている入力プロファイルと出力プロファイルＯＰ１，ＯＰ２とから得られる個別の変換テーブルを利用した変換を実行してもよい。一般的に言うと、「画像処理装置」は、ｋ個のオブジェクトデータのそれぞれを１個の変換テーブルを利用して変換すればよく、残りの（Ｋ−ｋ）個のオブジェクトデータについては、（１）上記の実施例のようにグループ化されてもよいし、（２）入力側プロファイル及び出力側プロファイルから得られる変換テーブルを利用して変換してもよいし、（３）デフォルトの変換テーブルを利用して変換してもよいし、（４）変換テーブルを利用せずに入力側プロファイル及び出力側プロファイルを順次利用して変換してもよい。
【００９４】
（変形例４）図６のＳ２１０，Ｓ２２０において、ＣＰＵ３２は、所定値（上記の実施例では１２８）からＭ個の距離の単純平均値Ｄａｖｅを減算することによって類似指標値ＩＶを算出する代わりに、単純平均値Ｄａｖｅそのものを類似指標値として利用してもよいし、Ｍ個の距離の和を類似指標値として利用してもよい。この場合、類似指標値が大きい程、類似度が低くなる。従って、図４のＳ１３０では、ＣＰＵ３２は、各基準プロファイルデータに対応する各類似指標値のうちの最小の類似指標値が閾値以下である場合に、基準プロファイルデータと対象プロファイルデータとが類似している（即ちＳ１３０でＹＥＳ）と判断してもよい。
【００９５】
（変形例５）図４のＳ１０２において、ＣＰＵ３２は、Ｍ個のＲＧＢ座標値Ｐ１〜ＰＭを利用する代わりに、１個のＲＧＢ座標値のみを利用して、対象プロファイルデータを生成してもよい。この場合、ＣＰＵ３２は、図６のＳ２００において、１個の距離のみを算出し、Ｓ２１０及びＳ２２０を実行せずに、図４のＳ１３０において、各基準プロファイルデータから算出される各距離（即ち各類似指標値）のうちの最小の距離が閾値以下である場合に、基準プロファイルデータと対象プロファイルデータとが類似している（即ちＳ１３０でＹＥＳ）と判断してもよい。
【００９６】
（変形例６）ＣＰＵ３２は、図４のＳ１２２において、類似指標値が算出される毎に、当該類似指標値が閾値よりも大きいのか否かを判断してもよい。そして、ＣＰＵ３２は、類似指標値が閾値より大きいと判断する場合には、他の基準プロファイルデータに対応する類似指標値を算出することなく、Ｓ１６０に進み、類似指標値が閾値以下であると判断する場合には、他の基準プロファイルデータに対応する類似指標値を算出してもよい。
【００９７】
（変形例７）図４のＳ１０２において、ＣＰＵ３２は、Ｍ個のＲＧＢ座標値Ｐ１〜ＰＭを利用する代わりに、対象入力プロファイルを利用して、予め決められているＭ個のＬａｂ座標値を逆変換して、Ｍ個のＲＧＢ座標値を算出してもよい。そして、対象プロファイルデータは、上記のＭ個のＲＧＢ座標値と上記のＭ個のＬａｂ座標値とが対応付けられているＭ組の座標値データを含むものであってもよい。この場合、ＣＰＵ３２は、図６のＳ２００において、基準プロファイルデータＰＤ１内のＭ個のＲＧＢ座標値と、対象プロファイルデータＰＤ２内のＭ個のＲＧＢ座標値と、の間のＭ個の距離を算出してもよい。本変形例では、Ｌａｂ座標値、基準プロファイルデータＰＤ１内のＲＧＢ座標値、対象プロファイルデータＰＤ２内のＲＧＢ座標値が、それぞれ、「所定座標値」、「第１の座標値」、「第２の座標値」の一例である。
【００９８】
（変形例８）入力プロファイルの類似判断は、上記の実施例の手法に限られない。例えば、ＣＰＵ３２は、２個の入力プロファイルに対応付けられている２個の属性情報（例えばプロファイル名等）が一致する場合に、当該２個の入力プロファイルが類似していると判断してもよい。このような手法も、「Ｊ個の入力側プロファイルの中からｊ個の入力側プロファイルを特定する」の一例である。
【００９９】
（変形例９）ＣＰＵ３２は、図７のＳ３１０及びＳ３３０において、出力プロファイルＯＰ２を利用せずに、入力プロファイルと出力プロファイルＯＰ１とを利用して、変換テーブルを生成してもよい。この場合、変換テーブルは、ＰＤＦファイル１００を生成したデバイスの特性に依存するＲＧＢ色空間内の座標値を、標準の色空間であるＲＧＢ色空間内の座標値に変換するためのデータである。そして、図９のＳ４０４では、ＣＰＵ３２は、変換テーブルを利用してオブジェクトデータに対する色変換を実行してＲＧＢ画像データを生成し、第２出力プロファイルＯＰ２を利用して当該ＲＧＢ画像データに対する色変換を実行してＣＭＹＫ画像データを生成する。本変形例では、標準の色空間であるＲＧＢ色空間が、「第２の色空間」の一例である。また、第１出力プロファイルＯＰ１のみが、「出力側色変換プロファイル」の一例である。
【０１００】
（変形例１０）メモリ３４は、第１及び第２出力プロファイルＯＰ１，ＯＰ２を格納する代わりに、第１出力プロファイルＯＰ１の変換特性と第２出力プロファイルＯＰ２の変換特性とを有する１個の出力プロファイルを格納していてもよい。上記の１個の出力プロファイルは、Ｌａｂ色空間内の座標値をＣＭＹＫ色空間内の座標値に変換するためのデータを含む。この場合、図７のＳ３１０及びＳ３３０において、ＣＰＵ３２は、入力プロファイルと上記の１個の出力プロファイルとを利用して変換テーブルを生成する。本変形例では、上記の１個の出力プロファイルが、「出力側色変換プロファイル」の一例である。
【０１０１】
（変形例１１）ＣＰＵ３２は、標準の色空間であるＲＧＢ色空間内の座標値を示す複数個の画素を含むＲＧＢ画像データを生成する場合に、当該ＲＧＢ画像データを表示部１４に供給して、当該ＲＧＢ画像データによって表わされる画像を表示部１４に表示させてもよい。本変形例では、表示部１４が、「出力部」の一例である。また、標準の色空間であるＲＧＢ色空間が、「第２の色空間」の一例である。
【０１０２】
（変形例１２）上記の第４実施例において、ＣＰＵ３２は、肌色領域のサイズに代えて、赤色領域、青色領域等の他の色の領域のサイズを利用してもよい。本変形例では、当該他の色及びその近傍色が、「所定の色範囲内の色」の一例である。
【０１０３】
（変形例１３）ＣＰＵ３２は、ＰＤＦファイルに代えて、他の形式（例えばＪＰＥＧ等）のファイルを取得する場合に、上記の各実施例と同様の処理を実行してもよい。即ち、「対象ファイル」は、入力プロファイルとオブジェクトデータとが対応付けられる形式であれば、どのような形式のファイルであってもよい。
【０１０４】
（変形例１４）「画像処理装置」は、プリンタ１０でなくてもよく、例えば、ＰＣ、サーバ、携帯端末等の他のデバイスであってもよい。例えば、ＰＣは、上記の実施例と同様の処理を実行して印刷データを生成し、印刷データをプリンタに送信してもよい。この場合、プリンタが「出力部」の一例である。
【０１０５】
（変形例１５）例えば、プリンタ１０とは別体に構成されている外部メモリ（例えばＵＳＢメモリ、サーバ、ＰＣ等）が各プロファイルＯＰ１〜ＯＰ３、順位情報ＲＩ、及び、処理テーブルＰＴを格納し、ＣＰＵ３２は、当該外部メモリを利用して、図３の処理を実行してもよい。この場合、外部メモリが、「メモリ」の一例である。また、上記の各実施例の全ての処理がＣＰＵ３２によって実行されなくてもよく、他のデバイスによって実行されてもよい。例えば、ＣＰＵ３２は、図３のＳ１０を実行すると、ＰＤＦファイル１００を第１のサーバに送信してもよい。この場合、第１のサーバが、図３のＳ２０〜Ｓ４０の処理を実行し、印刷データをプリンタ１０に送信する。そして、ＣＰＵ３２は、Ｓ５０を実行する。本変形例では、プリンタ１０と第１のサーバとの組合せが、「画像処理装置」の一例である。また、別の変形例では、上記の第１のサーバがＳ２０を実行し、第１のサーバとは別体に構成されている第２のサーバがＳ３０を実行し、上記の第１及び第２のサーバとは別体に構成されている第３のサーバがＳ４０を実行してもよい。本変形例では、プリンタ１０と第１〜第３のサーバとの組合せが、「画像処理装置」の一例である。
【０１０６】
（変形例１６）上記の各実施例では、ＣＰＵ３２がプログラム３６に従って処理を実行することによって、図２〜図１０の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１０７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１０８】
２：通信システム、１０：プリンタ、１２：操作部、１４：表示部、１６：ネットワークインターフェース、１８：印刷エンジン、３０：制御部、３２：ＣＰＵ、３４：メモリ、３４ａ：不揮発性領域、３４ｂ：揮発性領域、３６：プログラム、５０：端末装置、１００：ＰＤＦファイル、ＣＤ１，ＣＤ２：ＣＭＹＫ画像データ、ＣＴ１，ＣＴｇ１〜ＣＴｇ３：変換テーブル、Ｄ１〜ＤＭ：距離、Ｄａｖｅ：平均値、Ｇ１〜Ｇ３：グループ識別子、ＩＰ１，ＩＰ２：入力プロファイル、ＩＶ：類似指標値、ＬＤ１，ＬＤ２：Ｌａｂ画像データ、ＯＤ１，ＯＤ２：オブジェクトデータ、ＯＰ１〜ＯＰ３：出力プロファイル、Ｐ１〜ＰＭ：ＲＧＢ座標値、ＰＤ１，ＰＤ２：プロファイルデータ、ＰＴ：処理テーブル、Ｑ１〜ＱＭ：Ｌａｂ座標値、ＲＤ１，ＲＤ２：ＲＧＢ画像データ、ＲＩ：順位情報
【図１】
0006613880.tif 000002
【図２】
0006613880.tif 000003
【図３】
0006613880.tif 000004
【図４】
0006613880.tif 000005
【図５】
0006613880.tif 000006
【図６】
0006613880.tif 000007
【図７】
0006613880.tif 000008
【図８】
0006613880.tif 000009
【図９】
0006613880.tif 000010
【図１０】
0006613880.tif 000011