JP4930505B2 - 画像形成装置、色変換プログラムおよび色変換方法 - Google Patents

画像形成装置、色変換プログラムおよび色変換方法 Download PDF

Info

Publication number
JP4930505B2
JP4930505B2 JP2008333516A JP2008333516A JP4930505B2 JP 4930505 B2 JP4930505 B2 JP 4930505B2 JP 2008333516 A JP2008333516 A JP 2008333516A JP 2008333516 A JP2008333516 A JP 2008333516A JP 4930505 B2 JP4930505 B2 JP 4930505B2
Authority
JP
Japan
Prior art keywords
processing target
dimension
grid point
vector
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008333516A
Other languages
English (en)
Other versions
JP2010157797A (ja
Inventor
述宏 粟飯原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2008333516A priority Critical patent/JP4930505B2/ja
Priority to US12/645,089 priority patent/US8335019B2/en
Publication of JP2010157797A publication Critical patent/JP2010157797A/ja
Application granted granted Critical
Publication of JP4930505B2 publication Critical patent/JP4930505B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6016Conversion to subtractive colour signals
    • H04N1/6019Conversion to subtractive colour signals using look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/603Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Image Processing (AREA)

Description

この発明は、画像形成装置色変換プログラムおよび色変換方法に関し、特に、第1のプリンタでプリントするために生成されたデータを第2のプリンタでプリントするためのデータに変換する画像形成装置、その画像形成装置で実行される色変換プログラムおよび色変換方法に関する。
異機種間で色の再現性が異なることに対応するための技術として、カラーマネジメントシステムが知られている。カラーマネジメントシステムにおいては、装置毎に色に関する特性を記述したICC(国際カラーコンソーシアム)プロファイルが用いられる。入力側の装置のICCプロファイルと出力側装置のICCプロファイルとを用いて、色変換ルックアップテーブルを生成しておくことで、入力側の装置で出力するためのカラーデータを出力側装置で出力するためのカラーデータに容易に変換することができる。
色変換ルックアップテーブルは、入力側の装置のデバイス空間(表色系)の予め定められた複数の格子点と、出力側の装置のデバイス空間の予め定められた複数の格子点とを対応付けるため、入力側の装置のために生成される第1色データが複数の格子点の間に位置する場合に、色変換ルックアップテーブルを用いて出力側装置のために変換する出力データを補間する必要がある。特公昭58−16180号公報(特許文献1)には、3次元ルックアップテーブルで定義される入力側の装置のデバイス空間の複数の格子点のうち、色変換の対象となる色データの画素を囲む三角錐の頂点を構成する4つの格子点を用いて色変換する方法が記載されている。従来の色変換方法は、色データが3次元の場合に限らず、N次元(Nは、4以上の整数)の場合であっても適用することができる。
一方、一般的に画像データに用いられる色空間は、RGB表色系における3次元のデバイス空間である。このため、出力側装置は、3次元のデバイス空間から自装置のデバイス空間に色データを変換する際に、上記補間を演算するための既存のハードウェアまたはプログラムが実装されている。既存のハードウェアまたはプログラムは、例えば後述する式(8)のように比較的低い時限の補間処理を実行するためのハードウェアまたはプログラムである。
しかしながら、色データのデバイス空間が3次元とは異なる場合は、従来の色変換方法を用いなければならず、装置がもともと有する既存のハードウェアまたはプログラムを利用することができないといった問題がある。
また、特開平10−307911号公報(特許文献2)には、3次元補間において補間しようする格子点および補間演算の重み係数を、入力データの下位ビットを大きさ順にソートすることで決定する技術が記載されている。しかしながら、特開平10−307911号公報に記載の技術を、3次元よりも大きな次元の入力データに適用する場合には、ソート処理による演算回数が増大して、処理時間が長くなるといった問題がある。
特公昭58−16180号公報 特開平10−307911号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の1つは、既存のハードウェアまたはプログラムを利用することが可能な画像形成装置色変換プログラムおよび色変換方法を提供することである。
この発明の他の目的は、演算回数を少なくして処理速度を速くすることが可能な画像形成装置色変換プログラムおよび色変換方法を提供することである。
上述した目的を達成するためにこの発明のある局面によれば、画像形成装置は、M次元(Mは正の整数)の第1色空間の第1色データをN次元(NはMより小さい正の整数)の第2色空間の第2色データに変換するためのルックアップテーブルを記憶する記憶手段と、ルックアップテーブルにより定義される第1色空間における複数の格子点のうちM個の要素それぞれが第1色データのM個の要素の値以下の格子点を基準格子点に設定する基準格子点設定手段と、第1色データのM個の要素それぞれについて、基準格子点の対応する次元の要素との差を算出し、M次元それぞれの差分を出力する差分算出手段と、基準格子点を第1処理対象格子点に設定する第1設定手段と、M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定する処理対象次元設定手段と、ルックアップテーブルにより定義される第1色空間における複数の格子点のうち、処理対象次元以外の次元の要素が第1処理対象格子点と同じであって、処理対象次元の要素が第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定する第2設定手段と、処理対象次元の差分と、第1処理対象格子点と、第2処理対象格子点とに基づいて、第2色空間における部分ベクトルを算出するベース項算出手段と、部分ベクトルが予め定められた(M−L)(LはN以下の正の整数)個算出されるまで、第2処理対象格子点を第1処理対象格子点に設定しなおす再設定手段と、部分ベクトルが算出される毎に部分ベクトルを加算した総和ベクトルを算出する総和ベクトル算出手段と、処理対象次元設定手段により処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、第2設定手段により(M−L)個目に処理対象次元に設定された次元に対応する第2処理対象格子点が設定された後、第2処理対象格子点と、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する第2色空間における第2基準ベクトルを、ルックアップテーブルを用いて算出する基準ベクトル算出手段と、基準ベクトルと総和ベクトルの和とを加算することにより、第2色データを算出する変換手段と、を備える。
この局面に従えば、M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元が処理対象次元に設定され、処理対象次元の差分と、第1処理対象格子点と、第2処理対象格子点とに基づいて、第2色空間における部分ベクトルが算出され、部分ベクトルが算出される毎に部分ベクトルを加算した総和ベクトルが算出され、処理対象次元として設定されていない次元の数がL個になると、第2処理対象格子点と、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する第2色空間における第2基準ベクトルが算出され、基準ベクトルと総和ベクトルの和とを加算することにより、第2色データが算出される。このため、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する第2色空間における第2基準ベクトルを、ルックアップテーブルを用いて算出するための既存のハードウェアまたはプログラムを利用することができる。その結果、既存のハードウェアまたはプログラムを利用することが可能な画像形成装置を提供することができる。また、M個の差分をソートする必要がないので、演算回数を少なくして処理速度を速くすることが可能な画像形成装置を提供することができる。
好ましくは、ベース項算出手段は、第1色空間の格子点間隔から処理対象次元の要素を減算した値を、第1処理対象格子点を示すベクトルから第2処理対象格子点を示すベクトルを減算したベクトルに乗算した第1部分ベクトルを算出する第1部分ベクトル算出手段と、ルックアップテーブルを用いて、第1部分ベクトルに対応する第2色空間における第2部分ベクトルを部分ベクトルとして算出する第2部分ベクトル算出手段と、を含む。
好ましくは、L=3であり、予め定められた演算式は、次式である、
M−3+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1
ただし、PM−3は、第2設定手段により(M−L)個目に処理対象次元に設定された次元に対応する第2処理対象格子点であり、PM−2、PM−1、Pは、処理対象次元設定手段により処理対象次元として設定されていない次元の第1色空間におけるL個の格子点であり、ΔM−2、ΔM−1、Δは、PM−2、PM−1、Pと基準格子点の対応する次元の要素との差であり、ΔM−2>ΔM−1>Δである。
好ましくは、L=4であり、予め定められた演算式は、次式である、
M−4+ΔM−3×(PM−3−PM−4)+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1
ただし、PM−4は、第2設定手段により(M−L)個目に処理対象次元に設定された次元に対応する第2処理対象格子点であり、PM−3、PM−2、PM−1、Pは、処理対象次元設定手段により処理対象次元として設定されていない次元の第1色空間におけるL個の格子点であり、ΔM−3、ΔM−2、ΔM−1、Δは、PM−3、PM−2、PM−1、Pと基準格子点の対応する次元の要素との差であり、ΔM−3>ΔM−2>ΔM−1>Δである。
この発明の他の局面によれば、色変換プログラムは、M次元(MはMより小さい正の整数)の第1色空間の第1色データをN次元(Nは正の整数)の第2色空間の第2色データに変換するためのルックアップテーブルを記憶するステップと、ルックアップテーブルにより定義される第1色空間における複数の格子点のうちM個の要素それぞれが第1色データのM個の要素の値以下の格子点を基準格子点に設定するステップと、第1色データのM個の要素それぞれについて、基準格子点の対応する次元の要素との差を算出し、M次元それぞれの差分を出力するステップと、基準格子点を第1処理対象格子点に設定するステップと、M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定するステップと、ルックアップテーブルにより定義される第1色空間における複数の格子点のうち、処理対象次元以外の次元の要素が第1処理対象格子点と同じであって、処理対象次元の要素が第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定するステップと、処理対象次元の差分と、第1処理対象格子点と、第2処理対象格子点とに基づいて、第2色空間における部分ベクトルを算出するステップと、部分ベクトルが予め定められたL個算出されるまで、第2処理対象格子点を第1処理対象格子点に設定しなおすステップと、部分ベクトルが算出される毎に部分ベクトルを加算した総和ベクトルを算出するステップと、処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、(M−L)(LはN以下の正の整数)個目に処理対象次元に設定された次元に対応する第2処理対象格子点が設定された後、第2処理対象格子点と、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する第2色空間における第2基準ベクトルを、ルックアップテーブルを用いて算出するステップと、基準ベクトルと総和ベクトルの和とを加算することにより、第2色データを算出するステップと、を画像形成装置に実行させる。
この局面に従えば、既存のハードウェアまたはプログラムを利用することが可能な色変換プログラムを提供することができる。また、演算回数を少なくして処理速度を速くすることが可能な色変換プログラムを提供することができる。
好ましくは、ベース項を算出するステップは、第1色空間の格子点間隔から処理対象次元の要素を減算した値を、第1処理対象格子点を示すベクトルから第2処理対象格子点を示すベクトルを減算したベクトルに乗算した第1部分ベクトルを算出するステップと、ルックアップテーブルを用いて、第1部分ベクトルに対応する第2色空間における第2部分ベクトルを部分ベクトルとして算出するステップと、を含む。
この発明の他の局面によれば、色変換方法は、M次元(MはMより小さい正の整数)の第1色空間の第1色データをN次元(Nは正の整数)の第2色空間の第2色データに変換するためのルックアップテーブルを記憶するステップと、ルックアップテーブルにより定義される第1色空間における複数の格子点のうちM個の要素それぞれが第1色データのM個の要素の値以下の格子点を基準格子点に設定するステップと、第1色データのM個の要素それぞれについて、基準格子点の対応する次元の要素との差を算出し、M次元それぞれの差分を出力するステップと、基準格子点を第1処理対象格子点に設定するステップと、M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定するステップと、ルックアップテーブルにより定義される第1色空間における複数の格子点のうち、処理対象次元以外の次元の要素が第1処理対象格子点と同じであって、処理対象次元の要素が第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定するステップと、処理対象次元の差分と、第1処理対象格子点と、第2処理対象格子点とに基づいて、第2色空間における部分ベクトルを算出するステップと、部分ベクトルが予め定められた(M−L)(LはN以下の正の整数)個算出されるまで、第2処理対象格子点を第1処理対象格子点に設定しなおすステップと、部分ベクトルが算出される毎に部分ベクトルを加算した総和ベクトルを算出するステップと、処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、(M−L)個目に処理対象次元に設定された次元に対応する第2処理対象格子点が設定された後、第2処理対象格子点と、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する第2色空間における第2基準ベクトルを、ルックアップテーブルを用いて算出するステップと、基準ベクトルと総和ベクトルの和とを加算することにより、第2色データを算出するステップと、を画像形成装置に実行させる。
好ましくは、ベース項を算出ステップは、第1色空間の格子点間隔から処理対象次元の要素を減算した値を、第1処理対象格子点を示すベクトルから第2処理対象格子点を示すベクトルを減算したベクトルが本に乗算した第1部分ベクトルを算出するステップと、ルックアップテーブルを用いて、第1部分ベクトルに対応する第2色空間における第2部分ベクトルを部分ベクトルとして算出するステップと、を含む。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおける画像処理システムの全体概要を示す図である。図1を参照して、画像処理システム1は、それぞれがネットワーク2に接続され、画像処理装置として機能するMFP(Multi Function Peripheral)100と、印刷専用のプリンタ300と、MFP100およびプリンタ300をそれぞれ制御するパーソナルコンピュータ(以下「PC」という)200とを含む。
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、インターネットにゲートウェイを介して接続されている。ネットワーク2の接続形態は有線または無線を問わない。またネットワーク2は、LANに限らず、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク、ワイドエリアネットワーク(WAN)、インターネットであってもよい。
プリンタ300は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)、オレンジ(O)およびグリーン(G)の6色を用いた印刷が可能な画像形成装置であり、MFP100は、シアン(C)、マゼンタ(M)、イエロー(Y)およびブラック(K)の4色を用いた印刷が可能な画像形成装置である。なお、ここでは、プリンタ300が印刷に用いる6色を、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)、オレンジ(O)およびグリーン(G)としたが、印刷に用いる色はこれに限定されることなく、例えば、オレンジ(O)およびグリーン(G)に代えてレッド(R)およびブルー(B)を用いてもよいし、他の色を用いてもよい。また、プリンタ300を6色を用いた印刷が可能な画像形成装置とする例を説明するが、これに限らず、プリンタ300は、4色以上を用いた印刷が可能な画像形成装置であればよい。プリンタ300のハード構成および機能は周知なので、ここでは説明を繰返さない。
PC200は、一般的なコンピュータであり、PC200には、MFP100およびプリンタ300をそれぞれ制御するためのドライバプログラムがインストールされている。このため、PC200は、データの画像をプリンタ300でプリントさせることができるとともに、MFP100でプリントさせることができる。また、PC200は、周知の画像処理機能を有し、データに画像処理を実行する。
ユーザは、PC200を操作して、データをプリンタ300でプリントさせることが可能であり、この際、PC200はデータに基づいてプリンタ300でプリントさせるためのプリントデータを生成する。一方、ユーザが、プリンタ300でプリントさせる前に、MFP100にデータの画像をプリントさせ、用紙に形成された画像を確認することを望む場合がある。PC200は、プリンタ300の色に関する特性を記述したICCプロファイルを記憶しており、プリンタ300でプリントするために生成されたプリントデータとプリンタ300のICCプロファイルとをMFP100に送信する。なお、プリンタ300が、PC200から受信したデータに基づいてプリントデータを生成し、記憶するようにし、MFP100がプリンタ300からプリンタ300において生成されたプリントデータとプリンタ300のICCプロファイルとを受信するなどして取得するようにしてもよい。
MFP100は、原稿を読み取るためのスキャナ装置、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成装置およびファクシミリ装置を含み、画像読取機能、複写機能、ファクシミリ送受信機能を備えている。
図2は、MFPの外観を示す斜視図である。図3は、MFPのハードウェア構成の一例を示すブロック図である。図2および図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する静止画像、または外部から受信されるプリントデータの画像を用紙等に形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザインターフェースとしての操作パネル160と、を含む。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、EEPROM(Electronically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、フラッシュメモリ118Aが装着されるカードインターフェース(I/F)118とを含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる静止画像を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部160Aと操作部160Bとを含む。表示部160Aは、液晶表示装置(LCD)、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部160Bは、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部160Bは、表示部160A上に設けられたタッチパネルをさらに含む。
通信I/F部112は、MFP100をネットワーク2に接続するためのインターフェースである。CPU111は、通信I/F部112を介してプリンタ300またはPC200との間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク2を介してインターネットに接続されたコンピュータと通信が可能である。
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部117により受信されたファクシミリデータを用紙に印刷する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
カードI/F118は、フラッシュメモリ118Aが装着される。CPU111は、カードI/F118を介してフラッシュメモリ118Aにアクセス可能である。CPU111は、カードI/F118に装着されたフラッシュメモリ118Aに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、フラッシュメモリ118Aに記録されたプログラムに限られず、HDD116に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク2に接続された他のコンピュータが、MFP100のHDD116に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク2に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD116に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、MFPが備えるCPUが有する機能の一例をEEPROMに記憶される情報とともに示す機能ブロック図である。図4を参照して、MFP100が備えるCPU111は、プリンタ300のICCプロファイルを取得する入力プロファイル情報取得部51と、色変換ルックアップテーブル(LUT)を生成するための色変換LUT生成部53と、プリンタ300でプリントするためのプリントデータを取得するプリントデータ取得部55と、プリントデータを色変換LUTに基づいて色変換する色変換部57と、画像形成部140を制御する画像形成制御部59と、を含む。
入力プロファイル情報取得部51は、通信I/F部112がPC200またはプリンタ300からプリンタ300のICCプロファイルを受信すると、そのICCプロファイルを取得する。入力プロファイル情報取得部51は、取得されたICCプロファイルを色変換LUT生成部53に出力する。入力プロファイル情報取得部51が取得するICCプロファイルは、プリンタ300のICCプロファイルである。プリンタ300のICCプロファイルは、デバイスに非依存の基準空間であるプロファイルコネクションスペース(PCS)、ここではL*a*b空間からプリンタ300に依存するデバイス空間、ここではCMYKOG色空間に変換するための第1変換テーブルであるBtoAタグと、デバイス空間(CMYKOG色空間)から基準空間(L*a*b空間)に変換するための第2変換テーブルであるAtoBタグと、を含む。
プリンタ300のICCプロファイルに含まれるBtoAタグは、L*a*b空間における予め定められた複数のすべての格子点(色)それぞれに対応するプリンタ300のデバイス空間における格子点(色)を関連付けるテーブルである。L*a*b空間における格子点は、3つの要素色であるL、*aおよび*bそれぞれの値を含む。プリンタ300のデバイス空間における格子点は、M個の要素色として、ここでは6個のC,M,Y、K、OおよびGそれぞれの値を含む。
プリンタ300のICCプロファイルに含まれるAtoBタグは、プリンタ300のデバイス空間における予め定められた複数のすべての格子点(色)それぞれにL*a*b空間における格子点(色)を関連付けるテーブルである。
EEPROM115は、出力プロファイル情報81を予め記憶している。出力プロファイル情報は、MFP100のICCプロファイルを含む。MFP100のICCプロファイルは、基準空間(L*a*b空間)からMFP100に依存するデバイス空間、ここではCMYK色空間に変換するための表であるBtoAタグと、デバイス空間(CMYK色空間)から基準空間に変換するための表であるAtoBタグと、を含む。BtoAタグおよびAtoBタグのデータフォーマットは、プリンタ300のICCプロファイルに含まれるBtoAタグおよびAtoBタグのデータフォーマットと同じなので、ここでは説明を繰返さない。
色変換LUT生成部53は、プリンタ300のICCプロファイルのAtoBタグと、MFP100のICCプロファイルのBtoAタグとを参照して、プリンタ300のICCプロファイルのAtoBタグで定義されている複数の格子点それぞれにおいて、対応するプリンタ300のデバイス空間における格子点(色)と、MFP100のデバイス空間における格子点(色)とを関連付けることにより、色変換LUTを生成する。色変換LUT生成部53は、生成した色変換LUTをEEPROM115に記憶する。これにより、EEPROM115に色変換LUT83が記憶される。
プリントデータ取得部55は、通信I/F部112がPC200またはプリンタ300からプリントデータを受信すると、そのプリントデータを取得する。プリントデータ取得部55は、取得されたプリントデータを色変換部57に出力する。プリントデータ取得部55が取得するプリントデータは、プリンタ300のために生成されたものであり、プリンタ300のデバイス空間(CMYKOG色空間)におけるプリントデータである。
色変換部57は、プリントデータ取得部55からプリントデータが入力され、EEPROM115に記憶された色変換LUT83を参照して、プリントデータに含まれる複数の画素それぞれを、プリンタ300のデバイス空間からMFP100のデバイス空間に変換する。以下の説明では、プリントデータに含まれる複数の画素の1つをプリンタ300に依存するデバイス空間からMFP100のデバイス空間に変換する場合を例に説明する。ここでは、プリントデータに含まれるプリンタ300のデバイス空間の画素を第1色データといい、それを変換したMFP100のデバイス空間の画素を第2色データという。また、プリンタ300のデバイス空間をM(Mは正の整数)次元、MFP100のデバイス空間をN次元(Nは正の整数)として説明する。したがって、第1色データは、M次元それぞれに対応するM個の要素を含み、プリンタ300のデバイス空間におけるベクトルで示される。同様に、第2色データは、N次元それぞれに対応するN個の要素を含み、MFP100のデバイス空間におけるベクトルで示される。ここでは、プリンタ300はC,M,Y,K、O,Gの6次元であり、MFP100のデバイス空間はC,M,Y,Kの4次元である。
色変換LUT83は、プリンタ300のデバイス空間における複数の格子点と、MFP100のデバイス空間における複数の格子点とを対応付けるが、プリントデータに含まれる画素である第1色データが、プリンタ300のデバイス空間に含まれる複数の格子点と一致することなく、複数の格子点の間に位置する場合がある。このため、色変換部57は、色変換LUT83で定義される複数の格子点を補間することによって第2色データを算出する。
以下、第2色データを算出する方法について説明する。第1色データのベクトルf(p)は次式(1)で表される。
f(p)=P×(1−Δ)+P×(Δ−Δ)+…+PM−1×(ΔM−1−Δ)+P×Δ … (1)
上記式(1)は、次の式(2)に変換できる。
f(p)=P+Δ×(P−P)+Δ×(P−P)+…+Δ×(P−PM−1)… (2)
ここで、P〜Pは、プリンタ300の色空間における複数の格子点を示すベクトルであり、M次元それぞれに対応するM個の要素を含む。P〜Pは、第1色データを囲む超立体の(M+1)個の頂点を構成する格子点であり、Pは、それに含まれるM個の要素のいずれもが、第1色データに含まれるM個の要素の値以下である。ここでは、Pを基準格子点という。
差分Δ〜Δは、第1色データとPとの差分ベクトルのM個の要素であり、Δ>Δ>…>ΔM−1>Δの関係にある。P〜Pは、差分Δ〜Δによって定まる。Pは、差分Δの次元以外の次元の要素がすべて基準格子点Pの対応する次元の要素と同じ値であり、差分Δの次元の要素が基準格子点Pの対応する次元の要素よりも大きな値の格子点である。また、Pは、差分Δの次元以外の次元の要素がすべてPの対応する次元の要素と同じ値であり、差分Δの次元の要素がPの対応する次元の要素よりも大きな値の格子点である。同様にして、P、P…PM−1Pが定まり、Pは、差分Δの次元以外の次元の要素がすべてPM−1の対応する次元の要素と同じ値であり、差分Δの次元の要素がPM−1の対応する次元の要素よりも大きな値の格子点である。
ここで、上記式(2)について図面を用いて説明する。ここでは、説明を簡単にするために、M=3として説明する。
図5は、プリンタのデバイス空間における第1色データと格子点との関係を示す図である。図5を参照して、第1色データ301に対して、基準格子点PとΔ〜Δとが定まり、ΔからP、ΔからP、ΔからPがそれぞれ定まる。M=3の場合、式(2)は、次式(3)となる。
f(p)=P+Δ×(P−P)+Δ×(P−P)+Δ×(P−P)… (3)
第1色データ301が、式(3)で表す通り、第1色データ301を囲む三角錐の4つの頂点の格子点P、P、P、P、Pと、4つの差分Δ〜Δとで表すことができるのが分かる。
上記色変換式(2)において、P〜Pを、それらに対して色変換LUT83において対応付けられているMFP100のデバイス空間における格子点に置き換えることにより、第1色データに対応するMFP100のデバイス空間における第2色データを算出することができる。しかしながら、上記式(2)は、Δ〜Δを並べ替えなければP〜Pを定めることができないため、上記式(2)を用いて第2色データを算出するためには、差分Δ〜Δを並べ替えるソート処理が必要になる。本実施の形態におけるMFP100は、ソート処理を行わないように、上記式(2)を変換した次式(4)を用いる。
f(p)=(1−Δ)×(P−P)+
+Δ×(P−P)+Δ×(P−P)+…+Δ×(P−PM−1)… (4)
式(4)の第1項の(1−Δ)×(P−P)をRとおけば、式(4)は、Rを用いて次式(5)に置き換えることができる。
f(p)=R+(1−Δ)×(P−P)+
+Δ×(P−P)+Δ×(P−P)+…+Δ×(P−PM−1)… (5)
式(5)の第2項の(1−Δ)×(P−P)をRと置き換え、同様にして順にRM−3に置き換えた式(6)を導き出すことができる。
f(p)=R+R+…+RM−3
M−3+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1)… (6)
但し、1≦t≦M−3である。
〜RM−3は、変数tを用いて一般化すれば、次式(7)で示される。
=(1−Δ)×(Pt−1−P) … (7)
は、基準格子点Pと差分Δとから格子点Pが定まるので、算出することができ、R(1<t≦M−3)は、格子点Pt−1と差分Δとから格子点Pが定まるので、算出することができる。したがって、Δ〜Δの最大値を順に求めることにより、Δ〜ΔをソートすることなくR〜RM−3を算出することができる。
具体的には、ベクトルRは、プリンタ300のデバイス空間におけるベクトルであるが、Pt−1およびPに代えて、色変換LUT83によりそれら対応付けられるMFP100のデバイス空間における格子点Ut−1、Uの値を代入すれば、MFP100のデバイス空間におけるベクトルを算出することができる。したがって、Δ〜Δのうちから大きいものから順に選択し、選択されたΔにより定まるPと、それ以前に選択されたΔt−1により定まるPt−1とにそれぞれ対応するTおよびTt−1とからRに対応するTを順に求めるようにすれば、Δ〜Δを大きいものから順に並べ替える必要がない。
また、式(6)に含まれる下記式(8)の項は、上記式(2)で示した3次元の三角錐補間で用いる演算式と同じである。
M−3+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1) … (8)
式(8)で示される演算式を実行するためのハードウェアまたはプログラムは、通常用いられるRGB表色系の画像データを処理するために、MFP100が備えている既存のハードウェアまたはプログラムに相当する。このため、式(8)の4つの格子点PM−3、PM−2、PM−1、Pに代えて、色変換LUT83によりそれら対応付けられるMFP100のデバイス空間における格子点UM−3、UM−2、UM−1、Uの値を代入すれば、MFP100のデバイス空間におけるベクトルを算出することができる。したがって、4つの格子点PM−3、PM−2、PM−1、Pにそれぞれ対応する格子点UM−3、UM−2、UM−1、Uの値と、3つの差分ΔM−2、ΔM−1、Δを既存のハードウェアまたはプログラムに与えることにより、ベクトルを算出することができる。
本実施の形態におけるMFP100は、R〜RM−Lに対応するベクトルT〜TM−L順に求め、式(8)で示される残りの項を既存のプログラムを利用することにより求めることにより、第2色データを算出する。ここでは、Rをt次のベース項といい、Pt−1をt次の第1処理対象格子点といい、Pをt次の第2処理対象格子点という。
図4に戻って、色変換部57は、第1色データに対応する基準格子点を抽出する基準格子点設定部61と、第1色データと基準格子点との差分を算出する差分算出部63と、ベース項算出の基礎となる第1処理対象格子点を設定する第1設定部65と、処理対象次元を設定する処理対象次元設定部67と、第2処理対象格子点を設定する第2設定部69と、ベース項を算出するベース項算出部73と、ベース項の総和を算出する総和ベクトル算出部75と、第1処理対象格子点を再設定する再設定部71と、基準ベクトルを算出する基準ベクトル算出部77と、基準ベクトルと総和クトルとから第2色データを算出する変換部79と、を含む。
基準格子点設定部61は、EEPROM115に記憶されている色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、M次元それぞれのM個の要素すべてが第1色データの対応する次元の要素以下である格子点を抽出し、それを基準格子点に設定する。本実施の形態において、色変換LUT83が定義する格子点は、上位ビットと下位ビットとを有し、下位ビットがゼロである。このため、基準格子点設定部61は、第1色データのM次元のM個の要素それぞれの下位ビットを0とし、上位ビットが同じM個の要素を有する格子点を抽出し、それを基準格子点に設定する。基準格子点設定部61は、基準格子点を第1設定部65および差分算出部63に出力する。
差分算出部63は、第1色データのM次元それぞれのM個の要素と、基準格子点の対応する次元の要素との差分を算出する。具体的には、第1色データのM次元のM個の要素それぞれの下位ビットを差分とする。差分算出部63は、算出されたM次元それぞれの差分を処理対象次元設定部67に出力する。
処理対象次元設定部67は、M次元のうち処理対象となる次元を処理対象次元に設定する。具体的には、M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定する。処理対象次元設定部67は、処理対象次元とその次元の差分とを第2設定部69およびベース項算出部73に出力する。処理対象次元設定部67は、後述するベース項算出部73によりベース項が算出される毎に、M個の差分の大きいものから順に抽出し、抽出された差分の次元を処理対象次元に設定する。
また、処理対象次元抽出部67は、M次元のうち処理対象次元として設定されていない次元の数が予め定められた数L、ここではL=3になると、M次元それぞれのM個の要素のうち処理対象次元に設定されていない3次元と、それらに対応する3個の差分とを基準ベクトル算出部77に出力する。
M−L個のベース項を算出するために、M個の差分の最大値を順に選択するためには、比較処理のみを行えばよく、その比較ステップ数はM×(M−1)/2−L×(L−1)/2である。これに対して、M個の差分をソートするためには、ループ判定処理と比較処理とを行わなければならず、ループ判定ステップ数がM×(M+1)/2となり、比較ステップ数がM×(M−1)/2となる。このため、演算のためのステップ数を、ソート処理をする場合と比較して、M×(M+1)/2+L×(L−1)/2だけステップ数を少なくすることができ、処理速度を速めることができる。
第2設定部69は、第1設定部65または再設定部71から第1処理対象格子点が入力され、処理対象次元設定部67から処理対象次元とそれに対応する差分とが入力される。第1設定部65からは、後述するベース項算出部73によりベース項が算出される前に設定される第1処理対象格子点(基準格子点)が入力され、ベース項算出部73によりベース項が算出された後は、再設定部71から第1処理対象格子点が入力される。
第2設定部69は、色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、M次元のうち処理対象次元以外の次元の要素すべてが第1処理対象格子点の対応する次元の要素と同じで、処理対象次元の要素が第1処理対象格子点の対応する次元の要素より大きい格子点を第2処理対象格子点に設定する。第2設定部69は、M次元のうち処理対象次元として設定されていない次元の数が予め定められた数L、ここではL=3になるまで第2処理対象格子点をベース項算出部73に出力し、処理対象次元として設定されていない次元の数がL(=3)になると第2処理対象格子点を基準ベクトル算出部77に出力する。
ベース項算出部73は、処理対象次元の差分と、第1処理対象格子点と、第2処理対象格子点とに基づいて、プリンタ300のデバイス空間における部分ベクトルRに対応するMFP100のデバイス空間における部分ベクトルTを算出し、部分ベクトルTを総和ベクトル算出部75に出力する。具体的には、上記式(7)の格子点のベクトルPおよびPt−1に、色変換LUT83によりそれらに対応付けられたMFP100のデバイス空間における格子点UおよびUt−1を代入することによりTを算出する。
総和ベクトル算出部75は、ベース項算出部73から入力される部分ベクトルTを積算することによって総和ベクトルSを算出し、総和ベクトルSを変換部79に出力する。総和ベクトルSは、MFP100のデバイス空間におけるベクトルである。
再設定部71は、ベース項算出部73により部分ベクトルTが算出されると、第2処理対象格子点を、新たな第1処理対象格子点に設定し、新たな第1処理対象格子点を、第2設定部69およびベース項算出部73に出力する。再設定部71は、M次元のM個の要素のうち処理対象次元として設定されていない次元の数が予め定められた数(L+1)、ここではL+1=4になるまで、第2処理対象格子点を新たな第1処理対象格子点に設定する。
M次元のM個の要素のうち処理対象次元として設定されていない次元の数が予め定められた数L、ここではL=3個目になるまで処理対象次元が設定され、(M−L)個目、ここでは3個目に設定された処理対象次元に対応する第2処理対象格子点が設定された後、基準ベクトル算出部77は、第2処理対象格子点と、L個の未処理次元それぞれの差分と、L個の未処理次元にそれぞれ対応するL個の格子点とに基づいて予め定められた演算式で定まる第1基準ベクトルを決定する。そして、第1基準ベクトルに対応し、MFP100のデバイス空間における第2基準ベクトルを、色変換LUT83を用いて算出する。具体的には、既存のプログラムを実行することによって、上記式(8)で示される演算式の4つの格子点PM−3、PM−2、PM−1、Pに代えて、色変換LUT83によりそれらに対応付けられるMFP100のデバイス空間における格子点UM−3、UM−2、UM−1、Uの値と、3個の未処理次元それぞれの差分ΔM−2、ΔM−1、Δとを既存のハードウェアまたはプログラムに与えることにより、第2基準ベクトルを算出する。基準ベクトル算出部77は、第2基準ベクトルを変換部79に出力する。
変換部79は、基準ベクトル算出部77から入力される第2基準ベクトルと総和ベクトル算出部75から入力される総和ベクトルSとを加算し、得られるベクトルを第2色データとし、プリントデータに含まれるすべての画素それぞれに対応する第1色データに対応する第2色データを算出すると、第2色データの画素で構成されるプリントデータを、画像形成制御部59に出力する。
画像形成制御部59は、色変換部57から入力されるプリントデータを画像形成部140に出力し、画像形成部140にプリントデータに従って画像を形成させる。
図6は、色変換処理の流れの一例を示すフローチャートである。色変換処理は、MFP100が備えるCPU111が色変換プログラムを実行することにより、CPU111により実行される処理である。図6を参照して、CPU111は、プリントデータを受け付けたか否かを判断する。プリントデータを受け付けるまで待機状態となり(ステップS01でNO)、プリントデータを受け付けたならば(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、プリントデータに含まれる複数の画素のうちから1つを処理対象画素に選択する。次のステップS03においては、ステップS02において選択された処理対象画素の値を第1色データに設定する。そして次のステップS04においては、第1色データが有するM次元のM個の要素それぞれを、上位ビットと下位ビットとに分割する。そして、色データが有するM次元それぞれのM個の要素の下位ビットをゼロとし上位ビットと同じ値の要素を有する格子点を基準格子点に設定する。
次のステップS06においては、第1色データと基準格子点との差分を算出する。具体的には、第1色データが有するM次元それぞれのM個の要素と、基準色データの対応する次元の要素との差を算出する。これにより、M次元それぞれのM個の差分が算出される。ここでは、色データが有するM次元それぞれのM個の要素の下位ビットを差分とする。
次のステップS07においては、基準格子点を第1処理対象格子点に設定する。そして、総合ベクトルSに「0」を設定する(ステップS08)。総合ベクトルSを「0」に初期化するためである。次のステップS09においては、変数nにプリンタ300のデバイス空間の次元数Mを設定する。ここでは、プリンタ300のデバイス空間の次元数Mは6である。変数nは、処理対象次元に設定されていない次元をカウントするための変数である。
次のステップS10においては、処理対象次元を設定する。具体的には、第1色データが有するM次元それぞれのM個の要素のうち未だ処理対象次元に設定されていない次元の要素のうちから最大の要素を抽出し、最大の要素の次元を処理対象次元に設定する。
次のステップS11において、第2処理対象格子点を設定する。具体的には、色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、処理対象次元以外の次元のすべての要素が第1処理対象格子点の対応する次元の要素と同じであり、処理対象次元の要素が第1処理対象格子点の対応する次元の要素よりも大きい格子点を、第2処理対象格子点に設定する。
次のステップS12においては、変数nをそれから1を減算した値に設定する。そして変数nがしきい値Lと同じか否かを判断する(ステップS13)。しきい値Lは、前述の既存のハードウェアまたはプログラムにおける上記式(8)を用いるために予め定められた値であり、ここでは3である。変数nがしきい値Lと同じならば処理をステップS14に進めるが、そうでなければ処理をステップS18に進める。ステップS18においては、ベース項Ttを、上記式(7)を用いて算出する。但し、t=M―nである。ベース項Ttは、プリンタ300のデバイス空間におけるベクトルRに対応するMFP100のデバイス空間におけるベクトルTである。ベクトルRは、プリンタ300のデバイス空間において第1処理対象格子点を始点とし、第2処理対象格子点に向かうベクトルであって、そのスカラー量がステップS10において設定された処理対象成次元の差分をΔとして(1-Δ)で表されるベクトルである。したがって、上記式(7)の格子点のベクトルPおよびPt−1に代えて、色変換LUT83によりそれらに対応付けられたMFP100のデバイス空間における格子点UおよびUt−1を代入することによりTを算出する。
次のステップS19においては、総合ベクトルSを、それにステップS18において算出されたベース項Tのベクトルを加算した値に設定する。そして次のステップS20においては、ステップS11において第2処理対象格子点設定された格子点を、新たな第1処理対象格子点に設定し、処理をステップS09に戻す。ステップS18〜ステップS20が、変数nがしきい値Lと同じになるまで繰返し実行されることにより、第M次〜第(M−L)次それぞれのベース項T〜TM−Lの総和である総和ベクトルSが算出される。
一方、ステップS14においては、L次元の補間演算項Qを算出する。L次元の補間演算項Qは、予め定められた演算式で算出される。具体的には、第1色データが有するM次元それぞれのM個の要素のうちステップS10において未だ処理対象に設定されていないL個の次元それぞれに対応するL個の格子点を決定する。そして、未だ処理対象に設定されていないL個の次元それぞれに対応するL個の要素を大きい順に並び替える。ここでは、L=3なので、3つの要素を大きい順に第1要素、第2要素、第3要素とし、それらに対応する次元を、第1次元、第2次元および第3次元とした場合に、第1〜第3次元にそれぞれ対応する第1格子点、第2格子点および第3格子点を決定する方法について説明する。
第1格子点は、色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、第1次元以外の次元の要素が第2処理対象格子点の対応する要素と同じであり、第1次元の要素が第2処理対象格子点の対応する要素よりも大きい格子点である。第2格子点は、色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、第2次元以外の次元の要素が第1格子点の対応する要素と同じであり、第2次元の要素が第1格子点の対応する要素よりも大きい格子点である。第3格子点は、色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、第3次元以外の次元の要素が第2格子点の対応する要素と同じであり、第3次元の要素が第2格子点の対応する要素よりも大きい格子点である。
補間演算項Qは、プリンタ300のデバイス空間における第2処理対象格子点、第1格子点、第2格子点および第3格子点と、第1次元の差分、第2次元の差分および第3次元の差分とから上記式(8)を用いて算出する。
補間演算項Qは、MFP100のデバイス空間におけるベクトルであるため、上記式(8)の格子点のベクトルPM−3、PM−2、PM−1、およびPに色変換LUT83によりそれらに対応付けられたMFP100のデバイス空間における格子点UM−3、UM−2、UM−1、およびUを代入することにより算出する。
次のステップS15においては、総和ベクトルSをそれに補間演算項Qを加算した値に設定し、処理をステップS16に進める。
ステップS16において、総和ベクトルSを、第2色データに設定する。そして、第2色データをステップS02において選択された処理対象画素に置き換えて、プリントデータを更新する。ステップS21においては、ステップS01において受け付けられたプリントデータに含まれる複数の画素のうち、未だ処理対象として選択されていない画素が存在するか否かを判断する。そのような画素が存在するならば処理をステップS02に戻し、存在しなければ処理をステップS22に進める。ステップS22においては、プリントデータを画像形成部140に出力し、処理を終了する。
以上説明したように本実施の形態におけるMFP100は、色変換LUT83により定義されるプリンタ300のデバイス空間(第1色空間)における複数の格子点のうちM個の要素それぞれが第1色データのM個の要素以下の格子点を基準格子点に設定し、第1色データのM個の要素それぞれについて、基準格子点の対応する次元の要素との差を算出し、基準格子点を第1処理対象格子点に設定する。そして、M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定し、色変換LUT83により定義されるプリンタ300のデバイス空間における複数の格子点のうち、処理対象次元以外の次元の要素が第1処理対象格子点と同じであって、処理対象次元の要素が第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定する。そして、処理対象次元の差分と、第1処理対象格子点と、第2処理対象格子点とに基づいて、第2色空間におけるベース項(部分ベクトル)を算出し、ベース項が予め定められた(M−L)個算出されるまで、第2処理対象格子点を第1処理対象格子点に設定しなおし、部分ベクトルが算出される毎に部分ベクトルを加算した総和ベクトルを算出する。処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、(M−L)個目に処理対象次元に設定された次元に対応する第2処理対象格子点が設定された後、第2処理対象格子点と、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応するMFP100のデバイス空間(第2色空間)における第2基準ベクトルを、色変換LUT83を用いて算出し、基準ベクトルと総和ベクトルの和とを加算することにより、第2色データを算出する。
このため、L個の次元の差分と、L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する第2色空間における第2基準ベクトルを、色変換LUT83を用いて算出するための既存のハードウェアまたはプログラムを利用することができる。また、M個の差分をソートする必要がないので、演算回数を少なくして処理速度を速くすることができる。
なお、上述した実施の形態においては、MFP100が備えている既存のハードウェアまたはプログラムが、RGB表色系の画像データを処理するための式(8)の演算式を実行する場合を例に説明したが、MFP100がCMYK表色系の画像データを処理するために既存のハードウェアまたはプログラムを備えている場合には、その既存のハードウェアまたはプログラムは次式(9)の演算式を実行する。
M−4+ΔM−3×(PM−3−PM−4)+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1) … (9)
さらに、図7のステップS13においては、変数nがしきい値Lと同じか否かを判断するが、既存のハードウェアまたはプログラムが式(9)の演算式を実行する場合、しきい値Lは、前述の既存のハードウェアまたはプログラムが上記式(9)の演算式を実行するために予め定められた値であり、しきい値L=4となる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の実施の形態の1つにおける画像処理システムの全体概要を示す図である。 MFPの外観を示す斜視図である。 MFPのハードウェア構成の一例を示すブロック図である。 MFPが備えるCPUが有する機能の一例をEEPROMに記憶される情報とともに示す機能ブロック図である。 プリンタのデバイス空間における第1色データと格子点との関係を示す図である。 色変換処理の流れの一例を示すフローチャートである。
符号の説明
1 画像処理システム、2 ネットワーク、51 入力プロファイル情報取得部、53 色変換KUT生成部、55 プリントデータ取得部、57 色変換部、59 画像形成制御部、61 基準格子点設定部、63 差分算出部、65 第1設定部、67 処理対象次元設定部、69 第2設定部、71 再設定部、73 ベース項算出部、75 総和ベクトル算出部、77 基準ベクトル算出部、79 変換部、81 出力プロファイル情報、83 色変換LUT、100 MFP、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 EEPROM、116 HDD、117 ファクシミリ部、118 カードI/F、118A フラッシュメモリ、120 自動原稿搬送装置、130 原稿読取部、140 画像形成部、150 給紙部、160 操作パネル、160A 表示部、160B 操作部、300 プリンタ、200 PC、301 色データ。

Claims (8)

  1. M次元(Mは正の整数)の第1色空間の第1色データをN次元(NはMより小さい正の整数)の第2色空間の第2色データに変換するためのルックアップテーブルを記憶する記憶手段と、
    前記ルックアップテーブルにより定義される前記第1色空間における複数の格子点のうちM個の要素それぞれが前記第1色データのM個の要素の値以下の格子点を基準格子点に設定する基準格子点設定手段と、
    前記第1色データのM個の要素それぞれについて、前記基準格子点の対応する次元の要素との差を算出し、M次元それぞれの差分を出力する差分算出手段と、
    前記基準格子点を第1処理対象格子点に設定する第1設定手段と、
    M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定する処理対象次元設定手段と、
    前記ルックアップテーブルにより定義される前記第1色空間における複数の格子点のうち、前記処理対象次元以外の次元の要素が前記第1処理対象格子点と同じであって、前記処理対象次元の要素が前記第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定する第2設定手段と、
    前記処理対象次元の差分と、前記第1処理対象格子点と、前記第2処理対象格子点とに基づいて、前記第2色空間における部分ベクトルを算出するベース項算出手段と、
    前記部分ベクトルが予め定められた(M−L)(LはN以下の正の整数)個算出されるまで、前記第2処理対象格子点を前記第1処理対象格子点に設定しなおす再設定手段と、
    前記部分ベクトルが算出される毎に前記部分ベクトルを加算した総和ベクトルを算出する総和ベクトル算出手段と、
    前記処理対象次元設定手段により前記処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、前記第2設定手段により(M−L)個目に処理対象次元に設定された次元に対応する前記第2処理対象格子点が設定された後、前記第2処理対象格子点と、L個の次元の差分と、前記L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する前記第2色空間における第2基準ベクトルを、前記ルックアップテーブルを用いて算出する基準ベクトル算出手段と、
    前記基準ベクトルと前記総和ベクトルの和とを加算することにより、前記第2色データを算出する変換手段と、を備えた画像形成装置。
  2. 前記ベース項算出手段は、
    前記第1色空間の格子点間隔から前記処理対象次元の要素を減算した値を、前記第1処理対象格子点を示すベクトルから前記第2処理対象格子点を示すベクトルを減算したベクトルに乗算した第1部分ベクトルを算出する第1部分ベクトル算出手段と、
    前記ルックアップテーブルを用いて、前記第1部分ベクトルに対応する前記第2色空間における第2部分ベクトルを前記部分ベクトルとして算出する第2部分ベクトル算出手段と、を含む請求項1に記載の画像形成装置。
  3. L=3であり、前記予め定められた演算式は、次式である、
    M−3+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1
    ただし、PM−3は、前記第2設定手段により(M−L)個目に処理対象次元に設定された次元に対応する前記第2処理対象格子点であり、
    M−2、PM−1、Pは、前記処理対象次元設定手段により前記処理対象次元として設定されていない次元の第1色空間におけるL個の格子点であり、
    ΔM−2、ΔM−1、Δは、PM−2、PM−1、Pと前記基準格子点の対応する次元の要素との差であり、ΔM−2>ΔM−1>Δである、請求項1または2に記載の画像形成装置。
  4. L=4であり、前記予め定められた演算式は、次式である、
    M−4+ΔM−3×(PM−3−PM−4)+ΔM−2×(PM−2−PM−3)+ΔM−1×(PM−1−PM−2)+Δ×(P−PM−1
    ただし、PM−4は、前記第2設定手段により(M−L)個目に処理対象次元に設定された次元に対応する前記第2処理対象格子点であり、
    M−3、PM−2、PM−1、Pは、前記処理対象次元設定手段により前記処理対象次元として設定されていない次元の第1色空間におけるL個の格子点であり、
    ΔM−3、ΔM−2、ΔM−1、Δは、PM−3、PM−2、PM−1、Pと前記基準格子点の対応する次元の要素との差であり、ΔM−3>ΔM−2>ΔM−1>Δである、請求項1または2に記載の画像形成装置。
  5. M次元(Mは正の整数)の第1色空間の第1色データをN次元(NはMより小さい正の整数)の第2色空間の第2色データに変換するためのルックアップテーブルを記憶するステップと、
    前記ルックアップテーブルにより定義される前記第1色空間における複数の格子点のうちM個の要素それぞれが前記第1色データのM個の要素の値以下の格子点を基準格子点に設定するステップと、
    前記第1色データのM個の要素それぞれについて、前記基準格子点の対応する次元の要素との差を算出し、M次元それぞれの差分を出力するステップと、
    前記基準格子点を第1処理対象格子点に設定するステップと、
    M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定するステップと、
    前記ルックアップテーブルにより定義される前記第1色空間における複数の格子点のうち、前記処理対象次元以外の次元の要素が前記第1処理対象格子点と同じであって、前記処理対象次元の要素が前記第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定するステップと、
    前記処理対象次元の差分と、前記第1処理対象格子点と、前記第2処理対象格子点とに基づいて、前記第2色空間における部分ベクトルを算出するステップと、
    前記部分ベクトルが予め定められた(M−L)(LはN以下の正の整数)個算出されるまで、前記第2処理対象格子点を前記第1処理対象格子点に設定しなおすステップと、
    前記部分ベクトルが算出される毎に前記部分ベクトルを加算した総和ベクトルを算出するステップと、
    前記処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、(M−L)個目に処理対象次元に設定された次元に対応する前記第2処理対象格子点が設定された後、前記第2処理対象格子点と、L個の次元の差分と、前記L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する前記第2色空間における第2基準ベクトルを、前記ルックアップテーブルを用いて算出するステップと、
    前記基準ベクトルと前記総和ベクトルの和とを加算することにより、前記第2色データを算出するステップと、を画像形成装置に実行させる色変換プログラム。
  6. 前記ベース項を算出ステップは、
    前記第1色空間の格子点間隔から前記処理対象次元の要素を減算した値を、前記第1処理対象格子点を示すベクトルから前記第2処理対象格子点を示すベクトルを減算したベクトルに乗算した第1部分ベクトルを算出するステップと、
    前記ルックアップテーブルを用いて、前記第1部分ベクトルに対応する前記第2色空間における第2部分ベクトルを前記部分ベクトルとして算出するステップと、を含む請求項5に記載の色変換プログラム。
  7. M次元(Mは正の整数)の第1色空間の第1色データをN次元(NはMより小さい正の整数)の第2色空間の第2色データに変換するためのルックアップテーブルを記憶するステップと、
    前記ルックアップテーブルにより定義される前記第1色空間における複数の格子点のうちM個の要素それぞれが前記第1色データのM個の要素の値以下の格子点を基準格子点に設定するステップと、
    前記第1色データのM個の要素それぞれについて、前記基準格子点の対応する次元の要素との差を算出し、M次元それぞれの差分を出力するステップと、
    前記基準格子点を第1処理対象格子点に設定するステップと、
    M次元のうち処理対象に設定されていない次元の差分のうちで最大の差分の次元を処理対象次元に設定するステップと、
    前記ルックアップテーブルにより定義される前記第1色空間における複数の格子点のうち、前記処理対象次元以外の次元の要素が前記第1処理対象格子点と同じであって、前記処理対象次元の要素が前記第1処理対象格子点よりも大きい格子点を第2処理対象格子点に設定するステップと、
    前記処理対象次元の差分と、前記第1処理対象格子点と、前記第2処理対象格子点とに基づいて、前記第2色空間における部分ベクトルを算出するステップと、
    前記部分ベクトルが予め定められた(M−L)(LはN以下の正の整数)個算出されるまで、前記第2処理対象格子点を前記第1処理対象格子点に設定しなおすステップと、
    前記部分ベクトルが算出される毎に前記部分ベクトルを加算した総和ベクトルを算出するステップと、
    前記処理対象次元として設定されていない次元の数がL個になるまで処理対象次元が設定され、(M−L)個目に処理対象次元に設定された次元に対応する前記第2処理対象格子点が設定された後、前記第2処理対象格子点と、L個の次元の差分と、前記L個の次元の差分で定まるL個の格子点とに基づいて、予め定められた演算式で定まる第1基準ベクトルに対応する前記第2色空間における第2基準ベクトルを、前記ルックアップテーブルを用いて算出するステップと、
    前記基準ベクトルと前記総和ベクトルの和とを加算することにより、前記第2色データを算出するステップと、を画像形成装置に実行させる色変換方法。
  8. 前記ベース項を算出ステップは、
    前記第1色空間の格子点間隔から前記処理対象次元の要素を減算した値を、前記第1処理対象格子点を示すベクトルから前記第2処理対象格子点を示すベクトルを減算したベクトルに乗算した第1部分ベクトルを算出するステップと、
    前記ルックアップテーブルを用いて、前記第1部分ベクトルに対応する前記第2色空間における第2部分ベクトルを前記部分ベクトルとして算出するステップと、を含む請求項7に記載の色変換方法。
JP2008333516A 2008-12-26 2008-12-26 画像形成装置、色変換プログラムおよび色変換方法 Expired - Fee Related JP4930505B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008333516A JP4930505B2 (ja) 2008-12-26 2008-12-26 画像形成装置、色変換プログラムおよび色変換方法
US12/645,089 US8335019B2 (en) 2008-12-26 2009-12-22 Image formation apparatus, color conversion program embodied on computer readable medium, and color conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008333516A JP4930505B2 (ja) 2008-12-26 2008-12-26 画像形成装置、色変換プログラムおよび色変換方法

Publications (2)

Publication Number Publication Date
JP2010157797A JP2010157797A (ja) 2010-07-15
JP4930505B2 true JP4930505B2 (ja) 2012-05-16

Family

ID=42284596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008333516A Expired - Fee Related JP4930505B2 (ja) 2008-12-26 2008-12-26 画像形成装置、色変換プログラムおよび色変換方法

Country Status (2)

Country Link
US (1) US8335019B2 (ja)
JP (1) JP4930505B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068281B2 (ja) * 2009-05-29 2012-11-07 京セラドキュメントソリューションズ株式会社 色変換テーブル調整装置及び色変換テーブル調整プログラム
US8937746B2 (en) * 2012-04-05 2015-01-20 Xerox Corporation Color conversion for rendering devices involving improved gamut mapping
JP5901563B2 (ja) * 2013-03-29 2016-04-13 富士フイルム株式会社 信号変換方法及び装置、プログラム並びにプリントシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5816180B2 (ja) 1977-04-01 1983-03-30 大日本スクリ−ン製造株式会社 メモリ装置における信号補間方法
JPH0287192A (ja) * 1988-09-22 1990-03-28 Konica Corp 色分解画像修正方法及び装置
JP3048227B2 (ja) * 1997-05-08 2000-06-05 松下技研株式会社 多次元補間装置
JP2000270232A (ja) * 1999-03-16 2000-09-29 Fuji Xerox Co Ltd 色変換方法および色変換装置
JP3823858B2 (ja) * 2002-03-20 2006-09-20 セイコーエプソン株式会社 補正テーブルを用いたカラー画像データの補正方法
JP4724413B2 (ja) 2004-11-26 2011-07-13 キヤノン株式会社 データ分類方法
JP2007174392A (ja) * 2005-12-22 2007-07-05 Canon Inc データ変換装置、データ変換装置の制御方法およびプログラム
JP2007329737A (ja) * 2006-06-08 2007-12-20 Fujifilm Corp 色変換定義作成装置および色変換定義作成プログラム

Also Published As

Publication number Publication date
US8335019B2 (en) 2012-12-18
US20100165412A1 (en) 2010-07-01
JP2010157797A (ja) 2010-07-15

Similar Documents

Publication Publication Date Title
JP4978598B2 (ja) 画像処理方法、画像処理装置、および画像処理プログラム
US8441691B2 (en) Reducing the size of a high resolution profile lookup table
JP2007221720A (ja) 変換テーブル圧縮方法およびプログラム
JP5003825B2 (ja) 画像処理方法、画像処理装置およびプログラム
WO2006109859A1 (en) Color processing method and apparatus
US8149456B2 (en) Color processing method and image forming apparatus for creating a color separation table
JP4930505B2 (ja) 画像形成装置、色変換プログラムおよび色変換方法
JP2006262238A (ja) 画像処理方法および画像処理装置並びにプログラム
CN101452235B (zh) 图像处理设备和图像处理方法
JP4250493B2 (ja) 色変換マトリックス生成方法、色変換テーブル作成方法およびプログラム
JP2006165864A (ja) カラー画像処理システム
US7898707B2 (en) Normalization method, and multi-dimensional interpolation method and apparatus
US8355572B2 (en) Mapping an out of gamut RGB color to a gamut surface
JP6012122B2 (ja) 画像形成装置、色変換プログラムおよび色変換方法
JP6635158B2 (ja) 色強制パラメータ変換を実行する機構
JP4992023B2 (ja) 色変換のための装置および方法
US6556312B1 (en) Data converter and method
JP5012336B2 (ja) デバイスリンクプロファイル作成装置、その方法及びプログラム並びに色変換処理装置
JP2009284488A (ja) 画像処理システムおよび方法
JP2007243957A (ja) カラー画像データからグレイ情報を抽出するシステム、方法およびプログラム
JP2010093573A (ja) 画像形成装置、色変換ルックアップテーブル生成方法および色変換ルックアップテーブル生成プログラム
JP4472594B2 (ja) 画像データの色変換装置、色変換方法及び色変換プログラム
JP6740729B2 (ja) データ変換装置、データ変換方法およびデータ変換プログラム
JP4921339B2 (ja) 色処理装置およびその方法
JP4972121B2 (ja) 色空間変換システムおよび方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees