(57)【要約】【課題】本発明は、処理時間が多く必要なＬＵＴの参照回数を減らし、全体の処理時間が短く、かつコストパフォーマンスのよい色変換処理装置を提供する。【解決手段】色変換処理装置は、読み込んだＲＧＢデータと、第１の一時格納手段から読み出した前回格納したＲＧＢデータとが不一致の場合、第１の一時格納手段に格納されたＲＧＢデータを今回読み込んだＲＧＢデータに置き換えた後、ルックアップテーブルに基づいてＲＧＢデータをＣＭＹＫデータに変換し、このＣＭＹＫデータに基づいて線形補間処理を行い、そのＣＭＹＫデータを一時的に格納し、前記比較の結果に基づいて、一時的にＣＭＹＫデータを出力するかまたは線形補間処理がされたＣＭＹＫデータを出力するかを選択することにより、上記課題の解決を図る。【選択図】      図３
2009010532.tif 000002
【特許請求の範囲】
【請求項１】
第１の媒体に出力される第１の色データを第２の媒体に出力するために第２の色データに変換する色変換処理装置であって、
前記第１の色データを読み込む読込手段と、
今回読み込まれた前記第１の色データと以前に読み込まれた前記第１の色データとを比較する比較手段と、
前記第１の色データを一時的に格納することが可能であって、比較手段による比較の結果、前記２つの第１の色データが不一致の場合、前記以前に格納された第１の色データが前記今回読み込んだ第１の色データに置き換えられる第１の一時格納手段と、
前記第１の色データと、該第１の色データに対応する前記第２の色データとが断続的に格納された色変換データ格納手段と、
前記色変換データ格納手段に基づいて、前記第１の色データを前記第２の色データに変換する色変換手段と、
前記色変換手段により変換された前記第２の色データに基づいて、補間処理を行う補間手段と、
前記補間処理がされた第２の色データを一時的に格納することができる第２の一時格納手段と、
前記比較の結果に基づいて、前記第２の一時格納手段に格納された前記第２の色データを出力するか、または前記補間処理がされた前記第２の色データを出力するかを選択する選択手段と、
を備えることを特徴とする色変換処理装置。
【請求項２】
前記選択手段は、前記比較の結果、前記２つの第１の色データが一致する場合、前記第２の一時格納手段に格納された前記第２の色データを出力する
ことを特徴とする請求項１に記載の色変換処理装置。
【請求項３】
前記第１及び第２の一時格納手段はそれぞれ、複数の一時格納手段から構成されている
ことを特徴とする請求項１に記載の色変換処理装置。
【請求項４】
前記第１の一時格納手段には、該第１の一時格納手段を構成する前記一時格納手段相互間で異なる前記第１の色データが格納され、
前記比較手段は、前記読込手段により読み込まれた前記第１の色データと、前記各第１の一時格納手段に格納された前記第１の色データとを順次比較し、該比較の結果、一致した該第１の色データに対応する前記第２の色データの所在を示す情報を出力し、
前記選択手段は、前記第２の色データの所在を示す情報に基づいて、前記第２の一時格納手段群から前記第２の色データを選択する
ことを特徴とする請求項３に記載の色変換処理装置。
【請求項５】
第１の媒体に出力される第１の色データを第２の媒体に出力するために第２の色データに変換する色変換処理装置による色変換処理方法であって、
前記第１の色データを読み込み、
前記読み込まれた第１の色データと、前記第１の色データが一時的に格納されている第１の一時格納装置から読み出した第１の色データとを比較し、
前記比較の結果、前記２つの第１の色データが不一致の場合、前記第１の一時格納手段に格納された第１の色データを前記今回読み込んだ第１の色データに置き換え、
前記第１の色データと、該第１の色データに対応する前記第２の色データとが断続的に格納された色変換データ格納装置に基づいて、前記第１の色データを前記第２の色データに変換し、
前記変換された前記第２の色データに基づいて、補間処理を行い、
前記補間処理がされた第２の色データを一時的に格納することができる第２の一時格納装置に格納し、
前記比較の結果に基づいて、前記第２の一時格納装置に格納された前記第２の色データを出力するか、または前記補間処理がされた前記第２の色データを出力するかを選択する
ことを特徴とする色変換処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルックアップテーブルを用いた色変換技術に関する。
【背景技術】
【０００２】
近年のコンピュータの急速な進歩に伴い、ディスプレイに表示される画像の解像度が向上している。それに伴い、ディスプレイ上で表現できる色の種類も増加している。ディスプレイに表示される多数の色は、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の光の三原色（以下、「ＲＧＢ」「ＲＧＢデータ」と称する）を合成することにより表現されるものである。
【０００３】
一方、カラー印刷する場合には、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）の３原色に、ブラック（Ｋ）を加えた、いわゆるＣＭＹＫ（ＣＭＹＫデータ）で表される表現色で印刷される。
【０００４】
したがって、コンピュータのディスプレイ上に表現させたカラー画像をカラー印刷する場合には、ＲＧＢで表現された色データをＣＭＹＫで表された色データに変換しなければならない。
【０００５】
このような色変換を行う方法の１つに、ルックアップテーブル（以下、ＬＵＴと称する）を用いる方法がある。ＬＵＴには、ＲＧＢの組み合わせで表される各色に対応するＣＭＹＫデータが格納されている。よって、ＬＵＴを参照することで、ＲＧＢで表された画像データをＣＭＹＫで表された画像データに変換することができる。
【０００６】
ところが、ＲＧＢからＣＭＹＫへの非線形の色変換を行うためにＬＵＴを単純に参照することになると、ＲＧＢデータの各色成分がそれぞれ８ｂｉｔで表される場合には、２8×２8×２8の組み合わせの色が存在する。しかも出力のＣＭＹＫも色成分がそれぞれ８ｂｉｔからなる３２ｂｉｔ幅であるとすると、２５６×２５６×２５６×３２［ｂｉｔ］÷８［ｂｉｔ］＝６４［ＭＢ］の容量のＬＵＴが必要になってしまう。
【０００７】
そこで、通常、ＬＵＴを用いた色変換処理では、補間処理を併用することにより、ＬＵＴのためのメモリ容量を削減している。例えば、カラー印刷装置において、パーソナルコンピュータ（ＰＣ）からのＲＧＢ画像を正確にＣＭＹＫ画像に変換するために３Ｄ  ＬＵＴ方式が用いられることが多い。この方式は、代表点のみのＲＧＢデータとこれに対応するＣＭＹＫデータとを記録しておいて、それ以外のＲＧＢデータとこれに対応するＣＭＹＫデータは、その代表データのうち近傍のデータを基に補間計算をして算出する。
【０００８】
このような補間処理を併用する方法では、ＬＵＴに予め格納する値は等間隔の断続的な値である。そのため、ＬＵＴに格納されていない色への変換に際しては、その色を表す本来の値の前後の値から線形補間にて、その本来の値を算出している。即ち、ＲＧＢデータをＣＭＹＫデータに変換するにあたり、非線形の変換を行うためのＬＵＴを参照すると共に、線形補間処理のための乗除算を行っている。
なお、本願発明に関係する文献として以下のものが挙げられる。
【０００９】
【特許文献１】特開２０００−１９６９０３号公報
【特許文献２】特開２００４−２５４０３３号公報
【特許文献３】特開２００２−２０３２２５号公報
【特許文献４】特開平６−２４３２４３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
線形補間処理において、ＬＵＴに格納されたデータは、３次元の位置情報と捉えることができ、補間するＣＭＹＫデータは、その３次元上にある所定の立方体内の所定の位置で表すことができる。そのため、その補間するＣＭＹＫデータを求めるためには、その立方体の頂点（８つの格子点）を算出する必要があり、この８つの格子点はＬＵＴに予め登録されているデータである。したがって、ＬＵＴを参照して色変換を行う場合には、１ドット毎にＬＵＴを８回参照しなければならない。
【００１１】
特許文献１では、ＬＵＴと補間演算を併用して行う色変換処理において、補間演算の並列処理を行い高速の色変換を行っている。この引用文献１では、一度に処理するドット数を増やすことにより、その分だけ処理時間を短くしている。
【００１２】
しかしながら、この処理をハードウェアにて行う場合、処理時間が速くなった分だけ回路規模も同様の倍数の規模になる。また、ＬＵＴに使用するメモリも同様の倍数の容量が必要になり、特にその処理を実行する回路をＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）化する時にはコストへの影響が少なくない。
【００１３】
上記の課題に鑑み、本発明は、処理時間が多く必要なＬＵＴの参照回数を減らし、全体の処理時間が短く、かつコストパフォーマンスのよい色変換処理装置を提供する。
【課題を解決するための手段】
【００１４】
本発明にかかる、第１の媒体に出力される第１の色データを第２の媒体に出力するために第２の色データに変換する色変換処理装置は、前記第１の色データを読み込む読込手段と、今回読み込まれた前記第１の色データと以前に読み込まれた前記第１の色データとを比較する比較手段と、前記第１の色データを一時的に格納することが可能であって、比較手段による比較の結果、前記２つの第１の色データが不一致の場合、前記以前に格納された第１の色データが前記今回読み込んだ第１の色データに置き換えられる第１の一時格納手段と、前記第１の色データと、該第１の色データに対応する前記第２の色データとが断続的に格納された色変換データ格納手段と、前記色変換データ格納手段に基づいて、前記第１の色データを前記第２の色データに変換する色変換手段と、前記色変換手段により変換された前記第２の色データに基づいて、補間処理を行う補間手段と、前記補間処理がされた第２の色データを一時的に格納することができる第２の一時格納手段と、前記比較の結果に基づいて、前記第２の一時格納手段に格納された前記第２の色データを出力するか、または前記補間処理がされた前記第２の色データを出力するかを選択する選択手段と、を備えることを特徴とする。
【００１５】
このように構成することにより、処理時間が多く必要なＬＵＴの参照回数を減らし、全体の処理時間を短くすることができ、かつコストパフォーマンスを向上させることができる。
【００１６】
前記色変換装置において、前記選択手段は、前記比較の結果、前記２つの第１の色データが一致する場合、前記第２の一時格納手段に格納された前記第２の色データを出力することを特徴とする。
【００１７】
このように構成することにより、ＲＧＢデータをＣＭＹＫに変換するにあたり、同じ内容のドット情報が連続する場合には、ＬＵＴ参照および線形補間処理のための乗除演算を省略することができる。
【００１８】
前記色変換装置において、前記第１及び第２の一時格納手段はそれぞれ、複数の一時格納手段から構成されていることを特徴とする。
【００１９】
このように構成することにより、複数ドット分のＲＧＢデータ及びＣＭＹＫデータを保持しておくことができる。
【００２０】
前記色変換装置において、前記第１の一時格納手段には、該第１の一時格納手段を構成する前記一時格納手段相互間で異なる前記第１の色データが格納され、前記比較手段は、前記読込手段により読み込まれた前記第１の色データと、前記各第１の一時格納手段に格納された前記第１の色データとを順次比較し、該比較の結果、一致した該第１の色データに対応する前記第２の色データの所在を示す情報を出力し、前記選択手段は、前記第２の色データの所在を示す情報に基づいて、前記第２の一時格納手段群から前記第２の色データを選択することを特徴とする。
【００２１】
このように構成することにより、変換前のＲＧＢデータと、それに対応するＣＭＹＫデータを複数記憶し、これから変換しようとするドットがその記憶しているドットと同一かどうかを比較し、同一の場合にはＬＵＴ参照および線形補間処理のための乗除演算を省略することができる。
【００２２】
本発明にかかる、第１の媒体に出力される第１の色データを第２の媒体に出力するために第２の色データに変換する色変換処理装置による色変換処理方法は、前記第１の色データを読み込み、前記読み込まれた第１の色データと、前記第１の色データが一時的に格納されている第１の一時格納装置から読み出した第１の色データとを比較し、前記比較の結果、前記２つの第１の色データが不一致の場合、前記第１の一時格納手段に格納された第１の色データを前記今回読み込んだ第１の色データに置き換え、前記第１の色データと、該第１の色データに対応する前記第２の色データとが断続的に格納された色変換データ格納装置に基づいて、前記第１の色データを前記第２の色データに変換し、前記変換された前記第２の色データに基づいて、補間処理を行い、前記補間処理がされた第２の色データを一時的に格納することができる第２の一時格納装置に格納し、前記比較の結果に基づいて、前記第２の一時格納装置に格納された前記第２の色データを出力するか、または前記補間処理がされた前記第２の色データを出力するかを選択することを特徴とする。
【００２３】
このように構成することにより、処理時間が多く必要なＬＵＴの参照回数を減らし、全体の処理時間を短くすることができ、かつコストパフォーマンスを向上させることができる。
【発明の効果】
【００２４】
本発明を用いることにより、ＲＧＢデータとＹＭＣＫデータ相互間の色変換において、処理時間が多く必要なＬＵＴの参照回数を減らことができる。したがって、色変換にかかる全体の処理時間を短くことができ、かつコストパフォーマンスもよい。
【発明を実施するための最良の形態】
【００２５】
＜第１の実施形態＞
本実施形態では、同じ内容のドット情報が連続する場合に、ＬＵＴの参照及び線形補間処理のための乗除演算を省略することにより、色変換にかかる処理時間を短縮する色変換装置について説明する。
【００２６】
本実施形態にかかる色変換装置は、第１の媒体に出力される第１の色データを第２の媒体に出力するために第２の色データに変換するものである。当該色変換装置は、読込手段、第１の一時格納手段、比較手段、色変換データ格納手段、色変換手段、補間手段、及び第２の一時格納手段を備える。
【００２７】
読込手段は、前記第１の色データを読み込む。読込手段は、例えば本実施形態で言えば、ＬＵＴ参照制御部８によるＦＩＦＯ１（３）からＲＢＧデータを読み込むリード機能に相当する。
【００２８】
比較手段は、今回読み込まれた前記第１の色データと以前に読み込まれた前記第１の色データとを比較する。比較手段は、例えば本実施形態で言えば、比較器６に相当する。
【００２９】
第１の一時格納手段は、前記第１の色データを一時的に格納することが可能である。第１の一時格納手段では、比較手段による比較の結果、前記２つの第１の色データが不一致の場合、前記以前に格納された第１の色データが前記今回読み込んだ第１の色データに置き換えられる。第１の一時格納手段は、例えば本実施形態で言えば、第１の一時保管バッファ５に相当する。
【００３０】
色変換データ格納手段には、前記第１の色データと、該第１の色データに対応する前記第２の色データとが断続的に格納されている。色変換データ格納手段は、例えば本実施形態で言えば、ルクアップテーブル（ＬＵＴ）７に相当する。
【００３１】
色変換手段は、前記色変換データ格納手段に基づいて、前記第１の色データを前記第２の色データに変換する。色変換手段は、例えば本実施形態で言えば、ＬＵＴ参照制御部８に相当する。
【００３２】
補間手段は、前記色変換手段により変換された前記第２の色データに基づいて、補間処理を行う。補間手段は、例えば本実施形態で言えば、乗除演算部９に相当する。
【００３３】
第２の一時格納手段は、前記補間処理がされた第２の色データを一時的に格納することができる。第２の一時格納手段は、例えば本実施形態で言えば、第２の一時保管バッファ１０に相当する。
【００３４】
選択手段は、前記比較の結果に基づいて、前記第２の一時格納手段に格納された前記第２の色データを出力するか、または前記補間処理がされた前記第２の色データを出力するかを選択する。選択手段は、例えば本実施形態で言えば、セレクタ１１に相当する。選択手段は、前記比較の結果、前記２つの第１の色データが一致する場合、前記第２の一時格納手段に格納された前記第２の色データを出力する。
【００３５】
さらに、本実施形態における色変換装置は、前記第１及び第２の一時格納手段をそれぞれ、複数の一時格納手段から構成させることもできる。この場合、前記第１の一時格納手段には、該第１の一時格納手段を構成する前記一時格納手段相互間で異なる前記第１の色データが格納されている。そして、前記比較手段は、前記読込手段により読み込まれた前記第１の色データと、前記各第１の一時格納手段に格納された前記第１の色データとを順次比較し、該比較の結果、一致した該第１の色データに対応する前記第２の色データの所在を示す情報を出力する。すると、前記選択手段は、前記第２の色データの所在を示す情報に基づいて、前記第２の一時格納手段群から前記第２の色データを選択することができる。
【００３６】
（実施例１）
本実施例では、ＲＧＢデータをＣＭＹＫデータに変換するに際し、通常は、非線形の変形を行うためのＬＵＴ参照及び線形補間処理のための乗除演算を行ってからディザ処理の変換を行う。しかしながら、同じ内容のドットデータが連続する場合には、ＬＵＴ参照及び線形補間処理のための乗除演算を省略してディザ処理を連続して行う。これにより、全体の処理時間を短くすることができる。
【００３７】
図１は、色変換におけるＬＵＴの入力色データと格子点データとの関係を示す模式図である。同図は、２４ｂｉｔで表されるＲＧＢデータの各色成分を三次元方向に展開し、それぞれＬ等分して格子状にした、非線形変換するためのＬＵＴである。なお、Ｒ，Ｇ，Ｂは色データを示し、Ｌはグリッドの間隔を示す。ｒ軸はＲ／Ｌを示し、ｇ軸はＧ／Ｌを示し、ｂ軸はＢ／Ｌを示す。
【００３８】
まず、ＲＧＢ各８ｂｉｔのデータにおいて、グリッドの間隔Ｌで割った時の商と、その商に１を加えた値とをそれぞれ求める。例えば、ＲＧＢ（１００，９０，７０）、Ｌ＝１７の時には、
Ｒ＝１００をＬ＝１７で割った時の商＝６、商＋１＝７
Ｇ＝９０をＬ＝１７で割った時の商＝５、商＋１＝６
Ｂ＝７０をＬ＝１７で割った時の商＝４、商＋１＝５
となる。それぞれの値を組み合わせて得られる値は、以下の８通りである。
（１）ｒｇｂ＝（６，５，４）、  （２）ｒｇｂ＝（７，５，４）
（３）ｒｇｂ＝（６，６，４）、  （４）ｒｇｂ＝（７，６，４）
（５）ｒｇｂ＝（６，５，５）、  （６）ｒｇｂ＝（７，５，５）
（７）ｒｇｂ＝（６，６，５）、  （８）ｒｇｂ＝（７，６，５）
【００３９】
これら８個の値を図１に当てはめると、図１の中央にある立方体の各頂点が上記（１）〜（８）ｒｇｂそれぞれの座標に対応する。ＬＵＴを順に参照することにより、上述の８個の値（１）〜（８）ｒｇｂのそれぞれに対応する８個のｃｍｙｋ（（１）ｃｍｙｋ〜（８）ｃｍｙｋ）の値を得ることができる。
【００４０】
図２は、図１で特定された線形補間に用いる８つの格子点に基づく立方体の模式図を示す。同図を用いて、元のＲＧＢから各ｂｉｔのｃｍｙｋ（３２ｂｉｔ）を線形補間にて算出することについて説明する。
【００４１】
まず、元のＲ，Ｇ，Ｂのそれぞれについて、各色成分をＬで割った時の商（（１）ｒｇｂ）をＬ倍した場合の差、即ち元のＲ，Ｇ，ＢをＬで割った時の剰余を、それぞれｘ，ｙ，ｚとすると、以下の計算式による線形補間により、図中の（０）ＲＧＢに対応するｃｍｙｋデータを算出することができる。なお、図２では、（１）ｒｇｂ〜（８）ｒｇｂをＬ倍したものを（１）ＲＧＢ〜（８）ＲＧＢと表現している。
【００４２】
ｃｍｙｋ（３２ｂｉｔ）＝（（１）ｃｍｙｋ×（Ｌ−ｘ）×（Ｌ−ｙ）×（Ｌ−ｚ）
＋（２）ｃｍｙｋ×    ｘ    ×（Ｌ−ｙ）×（Ｌ−ｚ）
＋（３）ｃｍｙｋ×（Ｌ−ｘ）×    ｙ    ×（Ｌ−ｚ）
＋（４）ｃｍｙｋ×    ｘ    ×    ｙ    ×（Ｌ−ｚ）
＋（５）ｃｍｙｋ×（Ｌ−ｘ）×（Ｌ−ｙ）×    ｚ
＋（６）ｃｍｙｋ×    ｘ    ×（Ｌ−ｙ）×    ｚ
＋（７）ｃｍｙｋ×（Ｌ−ｘ）×    ｙ    ×    ｚ
＋（８）ｃｍｙｋ×    ｘ    ×    ｙ    ×    ｚ）
÷（Ｌ×Ｌ×Ｌ）
ｘ＝Ｒ−（１）ｒ×Ｌ
ｙ＝Ｇ−（１）ｇ×Ｌ
ｚ＝Ｂ−（１）ｂ×Ｌ
【００４３】
図３は、本実施形態（実施例１）における色変換装置のブロック図である。同図では、プリンタ内に搭載された色変換用のＡＳＩＣを例に説明する。同図において、プリンタ全体の制御する制御系チップ２０と、色変換を行うＡＳＩＣ１とは、ＰＣＩバス２５で接続されている。
【００４４】
制御系チップ２０は、ＣＰＵ（中央演算処理装置）２１、メモリコントローラ２２、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）コントローラ２３から構成されている。メモリコントローラ２２は、制御系チップ２０外部にあるメモリ２４に対するデータの入出力を制御するものである。ＰＣＩコントローラは、ＰＣＩバス２５に対するインターフェースである。
【００４５】
ＡＳＩＣ１は、ＰＣＩコントローラ２、第１の一時保管バッファ５、比較器６、ＬＵＴ７、ＬＵＴ参照制御部８、乗除演算部９、第２の一時保管バッファ１０、セレクタ１１、ディザ処理部１２から構成される。
【００４６】
ＰＣＩコントローラ２は、ＦＩＦＯ１（３）、ＦＩＦＯ２（４）を有する。ＦＩＦＯ１（３）、ＦＩＦＯ２（４）は、３２〜６４ｂｉｔのＰＣＩバス２５に対してバーストモードでアクセスする速度と、ＲＧＢデータを１ドットずつ定期的にＣＭＹＫに変換する速度とのギャップを埋めるために設けている先入れ先出し（ＦＩＦＯ）方式の記憶回路である。
【００４７】
第１の一時保管バッファ５は、ＲＧＢデータ（８ｂｉｔ×３色）を一時的に記憶するバッファ回路である。第２の一時保管バッファ１０は、ＣＭＹＫデータ（８ｂｉｔ×４色）を一時的に記憶するバッファ回路である。
【００４８】
ＬＵＴ７は、図１に示す非線形変換を行うためのメモリであり、ＲＧＢデータを入力するとＣＭＹＫデータが得られるものである。ただし、図１で説明した通り、ＲＧＢデータ（２４ｂｉｔ）を各色のｂｉｔ単位でそれぞれグリッドの間隔Ｌで割った値の商を用いるので、グリッドの間隔単位での精度しかない。
【００４９】
比較器６は、第１の一時保管バッファ５に記憶されたＲＧＢデータ（２４ｂｉｔ）と今回取得したＲＧＢデータ（２４ｂｉｔ）とが一致するか否かを判定し、その判定結果をＬＵＴ参照制御部８へ通知する回路である。
【００５０】
ＬＵＴ参照制御部８は、ＬＵＴからＲＧＢ（２４ｂｉｔ）をＬで割った商とＬで割った商＋１の組み合わせで得られる８種類のｃｍｙｋを読み出して乗除演算部９へ転送する。また、ＬＵＴ参照制御部８は、その８種類のｃｍｙｋ（（１）〜（８）ｃｍｙｋ）と、本来のＲＧＢとの差を表すｘｙｚを乗除演算部９へ転送する。
【００５１】
乗除演算部９は、ＬＵＴ参照制御部８から転送された８種類のｃｍｙｋ（（１）〜（８）ｃｍｙｋ）と、本来のＲＧＢとの差を表すｘｙｚから乗除演算を行い、図２で説明したように、ＣＭＹＫ（３２ｂｉｔ）のデータを得る。
【００５２】
セレクタ１１は、乗除演算部９で計算した結果または前回第２の一時保管バッファ１０に保存した内容のいずれをディザ処理部１２に出力するかを選択する。
【００５３】
ディザ処理部１２は、セレクタ１１から出力されたＣＭＹＫデータに対してディザ処理を施す回路である。ディザ処理後、プリンタエンジンに適した、例えば、２ｂｉｔ×４色のＣＭＹＫデータが得られる。この２ｂｉｔ×４色のＣＭＹＫデータは、ＦＩＦＯ２（４）へ出力される。
【００５４】
このＣＭＹＫデータをビデオ転送すれば、カラー印刷を行うことができる。ここでは一度、不図示のビデオ転送コントローラが、そのメモリ内のデータをプリンタエンジンに転送するとしている。
【００５５】
図４は、本実施形態（実施例１）におけるＬＵＴ７の一例を示す。入力色側には、ＲＧＢの各色データをグリッドの間隔Ｌで割った時の商ｒ，ｇ，ｂが格納されている。出力色側には、入力側のｒｇｂの組み合わせに対応するｃｍｙｋの数値が格納されている。同図では、一例として、Ｒ，Ｇ，Ｂはそれぞれ００ｈ〜ＦＦｈなので、Ｌ＝１７の時、Ｌで割った時の値は、それぞれ０〜１５（０ｈ〜Ｆｈ）となるような値が設定されている。したがって、Ｒ÷１７、Ｇ÷１７、Ｂ÷１７がそれぞれ０〜１５の１６通りの値を取り得るので、１６×１６×１６＝４０９６通りの組み合わせで入力と出力が対応するテーブルとなる。
【００５６】
図５は、本実施形態（実施例１）におけるＬＵＴ参照制御部８の動作シーケンスを示す。ここで、ＦＩＦＯ１（３）の出力ｂｉｔ幅と１ドットのｂｉｔ数が同じであるとする。即ちＰＣＩのｂｉｔ幅とＲＧＢのｂｉｔ数が一致しない場合には、途中にｂｉｔ幅を変換する回路を設け、その変換回路の出力がＦＩＦＯ１の出力であるとして説明する。
【００５７】
ＬＵＴ参照制御部８は、初期状態はステートＳＴ０で、ＦＩＦＯ１（３）にデータがなければ待機する（ステートＳＴ０−１で「Ｎ」へ進む）。ＦＩＦＯ１（３）にデータがあれば（ステートＳＴ０−１で「Ｙ」へ進む）、ＬＵＴ参照制御部８は、そのデータを１ワード、即ちＲＧＢ１ドット分のデータをリードする。
【００５８】
このとき、そのＲＧＢ１ドット分のデータは同時に比較器６にも入力される。比較器６は、第１の一時保管バッファ５に記憶されたＲＧＢデータ（２４ｂｉｔ）と今回取得したＲＧＢデータ（２４ｂｉｔ）とが一致するか否かを判定し（ステートＳＴ０−２）、その判定結果をＬＵＴ参照制御部８へ通知する。
【００５９】
比較器６からの通知信号に基づいて、ＬＵＴ参照制御部８は、そのリードしたＲＧＢ１ドット分のデータが前回のＲＧＢ１ドット分のデータと一致しなければ（ステートＳＴ０−２で「Ｎ」へ進む）、ステートＳＴ１へ移行する。このとき、ＬＵＴ参照制御部８は、リードしたＲＧＢ１ドット分のデータを前回のドット情報（ＲＧＢ２４ｂｉｔ）として第１の一時保管バッファ５に上書き保存する。
【００６０】
ステートＳＴ１では、ＬＵＴ参照制御部８は、ＲＧＢ÷Ｌの計算を行い、その値を（１）ｒｇｂとする。また、ＲＧＢ−（（１）ｒｇｂ×Ｌ）からｘｙｚを算出する。
【００６１】
次のステートＳＴ２では、ＬＵＴ参照制御部８は、（１）ｒｇｂをＬＵＴ７の入力、即ちＬＵＴ７が展開されたメモリのアドレスに出力する。
【００６２】
次のステートＳＴ３では、ＬＵＴ参照制御部８は、ＬＵＴ７の出力からｃｍｙｋを取得する。例えば、ＬＵＴの入力が（１）ｒｇｂだったら（１）ｃｍｙｋを取得する。
【００６３】
次の条件判断にて（８）ｃｍｙｋまでは取得していないので、ＬＵＴ参照制御部８は、ステートＳＴ４に移行し、図５の下方に記載した内容の通りに、（１）ｒｇｂを（２）ｒｇｂに変換する。すなわちｒの値をｒ＋１とする。上記と同様に、ＬＵＴ参照制御部８は、ステートＳＴ２にて（２）ｒｇｂをＬＵＴ７に出力して、ＳＴ３にて（２）ｃｍｙｋを得る。ＬＵＴ参照制御部８は、（１）ｃｍｙｋ〜（８）ｃｍｙｋの全ての値を取得し、ステートＳＴ３の判定にて、（８）ｃｍｙｋを取得していたと判断するまで繰り返す。ＬＵＴ参照制御部８は、取得した（１）ｃｍｙｋ〜（８）ｃｍｙｋと、ｘｙｚとを乗除演算部９へ転送する。
【００６４】
次のステートＳＴ５にて、乗除演算部９は、（１）〜（８）ｃｍｙｋとｘｙｚの値にて乗除演算を行い、ＣＭＹＫ（３２ｂｉｔ）を算出して、ディザ処理部１２にその結果を渡す。また、ＣＭＹＫ（３２ｂｉｔ）は、前回のドット情報（ＣＭＹＫ（３２ｂｉｔ））として第２の一時保管バッファ１０に保存しておく。
【００６５】
次に、ＦＩＦＯ１（３）からＲＧＢデータをリードした時に、前回のＲＧＢデータ１ドット分と同一だった場合（ステートＳＴ０−２で「Ｙ」へ進む）のフローを説明する。前回のドット情報（ＲＧＢ（２４ｂｉｔ））と同じ場合には、ＬＵＴ参照制御部８は、ステートＳＴ７に移行することにより、セレクタ１１に前回のドット情報（（ＣＭＹＫ３２ｂｉｔ））を選択させる。そして、セレクタ１１はそのデータをディザ処理部１２に渡す（ステートＳＴ６）。ステートＳＴ６まで処理したら、ＬＵＴ参照制御部８は、またステートＳＴ０に戻り、次のドットの変換を開始する。
【００６６】
本実施例によれば、ＲＧＢデータをＣＭＹＫに変換するにあたり、非線形の変換を行うためのＬＵＴ参照および線形補間処理のための乗除演算を行うに際し、同じ内容のドット情報が連続する場合には、ＬＵＴ参照および線形補間処理のための乗除演算を省略して、ディザ処理を連続して行うことができる。これにより、全体の処理時間を短縮することができる。さらに、コストパフォーマンスを向上させることができる。
【００６７】
（実施例２）
実施例１では１ドット分のＲＧＢデータとそれに対応するＣＭＹＫデータをそれぞれ一時的に記憶したが、本実施例では複数ドット分のＲＧＢデータとそれに対応するＣＭＹＫデータをそれぞれ一時的に記憶可能にした色変換装置について説明する。
【００６８】
図６は、本実施形態（実施例２）における色変換装置のブロック図である。図６のＡＳＩＣ１は、図３のＡＳＩＣ１の第１の一時保管バッファ５及び第２の一時保管バッファ１０をそれぞれ、第１の一時保管バッファ群３１及び第２の一時保管バッファ群３２に置き換えたものである。
【００６９】
第１の一時保管バッファ群３１は、複数の第１の一時保管バッファ５から構成される。第２の一時保管バッファ群３２は、複数の第２の一時保管バッファ１０から構成される。
【００７０】
図７は、本実施形態（実施例２）におけるＬＵＴ参照制御部８の動作シーケンスを示す。図７のフローにおいて、図５のフローと相違する部分は、ステートＳＴ０−２に対応するステートＳＴ０−３と、ステートＳＴ５に対応するステートＳＴ５−１と、ステートＳＴ７に対応するステートＳＴ７−１である。ＳＴ０−３については図８、図９を用いて説明する。ステートＳ５−１，ＳＴ７−１については、図１０、図１１を用いて説明する。
【００７１】
図８は、本実施形態（実施例２）における第１の一時保管バッファ群３１の構成を示す。本実施例では、４種類のデータ（ＲＧＢ）と４種類のデータ（ＣＭＹＫ）をそれぞれ、第１の一時保管バッファ群３１、第２の一時保管バッファ群３２に一時的に保管することができる。
【００７２】
同図はステートＳＴ０−３での処理に相当する。第１の一時保管バッファ群３１は、バッファ３１−０〜３１−３から構成される。バッファ３１−０〜３１−３の番地をそれぞれ０〜３番地とする。ＦＩＦＯ１から出力されたＲＧＢデータをＦ０とする。バッファ３１−０〜３１−３に格納されているＲＧＢデータをそれぞれ、Ａ０〜Ａ３とする。
【００７３】
比較器６による比較の結果、ＦＩＦＯ１（３）の出力データＦ０が０番地〜３番地の４種類のデータＡ０〜Ａ３と１つも一致しない場合には、３番地の内容が破棄されて、２番地の内容が３番地に上書きされる。同様に１番地の内容が２番地に、０番地の内容が１番地に上書きされ、ＦＩＦＯ１（３）の出力データＦ０が０番地に保管される。
【００７４】
ＦＩＦＯ１の出力データＦ０が、０番地〜３番地の４種類のデータ（ＲＧＢ）のうち１つでも一致した場合には、一時保管バッファ群３１に重複してデータ保管は行わない。この場合、比較器６は、ＦＩＦＯ１から出力されたＲＧＢデータＦ０と、各バッファ３１−０〜３１−３から出力されたＲＧＢデータＡ０〜Ａ３とを順次比較する。比較後、比較器６は、ＬＵＴ参照制御部８に対して、一致／不一致の旨を示す信号、及び一致した場合に一致したＲＧＢデータが格納された番地情報を出力する。
【００７５】
図９は、本実施形態（実施例２）における比較器６の内容を示す。同図において、Ｓは、１：一致、０：不一致を示す。Ｎは、番地情報を示す。図８を参照しながら、図９について説明する。
【００７６】
まず、比較器６は、ＦＩＦＯ１から出力されたＲＧＢデータＦ０とバッファ３１−０から出力されたＲＧＢデータＡ０とを比較する。比較の結果、Ｆ０とＡ０が一致する場合、比較器６は、一致する旨を示す信号（Ｓ＝１）と番地情報（Ｎ＝０）を出力する。
【００７７】
ＲＧＢデータＡ０との比較が不一致の場合、比較器６は、ＲＧＢデータＦ０とバッファ３１−１から出力されたＲＧＢデータＡ１とを比較する。比較の結果、Ｆ０とＡ１が一致する場合、比較器６は、一致する旨を示す信号（Ｓ＝１）と番地情報（Ｎ＝１）を出力する。
【００７８】
ＲＧＢデータＡ１との比較が不一致の場合、比較器６は、ＲＧＢデータＦ０とバッファ３１−２から出力されたＲＧＢデータＡ２とを比較する。比較の結果、Ｆ０とＡ２が一致する場合、比較器６は、一致する旨を示す信号（Ｓ＝１）と番地情報（Ｎ＝２）を出力する。
【００７９】
ＲＧＢデータＡ０との比較が不一致の場合、比較器６は、ＲＧＢデータＦ０とバッファ３１−３から出力されたＲＧＢデータＡ３とを比較する。比較の結果、Ｆ０とＡ３が一致する場合、比較器６は、一致する旨を示す信号（Ｓ＝１）と番地情報（Ｎ＝３）を出力する。
【００８０】
ＲＧＢデータＦ０がＲＧＢデータＡ０〜Ａ３のいずれにも一致しない場合、比較器６は、不一致である旨を示す信号（Ｓ＝０）を出力する。
【００８１】
図１０は、本実施形態（実施例２）における第２の一時保管バッファ群３２の構成を示す。同図において、第２の一時保管バッファ群３２は、バッファ３２−０〜３２−３から構成される。バッファ３２−０〜３２−３の番地をそれぞれ０〜３番地とする。乗除演算部９から出力されたＣＭＹＫデータをＭ０とする。バッファ３２−０〜３２−３に格納されているＣＭＹＫデータをそれぞれ、Ｂ０〜Ｂ３とする。
【００８２】
セレクタ１１は、ＬＵＴ参照制御部８から出力された一致／不一致の旨を示す信号Ｓと番地情報Ｎとに基づいて、乗除演算部９から出力されたＣＭＹＫデータＭ０またはバッファ３２−０〜３２−３に格納されたＢ０〜Ｂ３のいずれかを選択し、その選択したデータＹをディザ処理部１２に出力する。
【００８３】
図１１は、本実施形態（実施例２）におけるセレクタ１１の内容を示す。同図において、Ｓ＝１の場合はステートＳＴ７−１に相当し、Ｓ＝０の場合はステートＳＴ５−１に相当する。
【００８４】
セレクタ１１は、ＬＵＴ参照制御部８からの出力情報がＳ＝１、Ｎ＝０である場合、バッファ３２−０に格納されたＣＭＹＫデータＢ０を選択出力データＹとして出力する。
【００８５】
また、セレクタ１１は、ＬＵＴ参照制御部８からの出力情報がＳ＝１、Ｎ＝１である場合、バッファ３２−１に格納されたＣＭＹＫデータＢ１を選択出力データＹとして出力する。
【００８６】
また、セレクタ１１は、ＬＵＴ参照制御部８からの出力情報がＳ＝１、Ｎ＝２である場合、バッファ３２−２に格納されたＣＭＹＫデータＢ２を選択出力データＹとして出力する。
【００８７】
また、セレクタ１１は、ＬＵＴ参照制御部８からの出力情報がＳ＝１、Ｎ＝３である場合、バッファ３２−３に格納されたＣＭＹＫデータＢ３を選択出力データＹとして出力する。
【００８８】
このように、ＬＵＴ参照制御部８からの出力情報がＳ＝１の場合には、いずれの場合も第２の一時保管バッファ群３２に重複してデータ保管は行わない。
【００８９】
一方、セレクタ１１は、ＬＵＴ参照制御部８からの出力情報がＳ＝０である場合、乗除演算部９から出力されたＣＭＹＫデータＭ０を選択出力データＹとして出力する。このとき、バッファ３２−０〜３２−３に関しては、３番地の内容が破棄されて、２番地の内容が３番地に上書きされる。同様に１番地の内容が２番地に、０番地の内容が１番地に上書きされ、ＣＭＹＫデータＭ０が０番地に保管される。
【００９０】
本実施形態によれば、複数ドット分のＲＧＢデータ及びＣＭＹＫデータを保持しておくことができる。これにより、変換前のＲＧＢデータと、それに対応するＣＭＹＫデータを複数記憶し、これから変換しようとするドットがその記憶しているドットと同一かどうかを比較し、同一の場合にはＬＵＴ参照および線形補間処理のための乗除演算を省略し、ディザ処理を連続して行う。その結果、同一データの検出率を高めることができるので、全体の処理時間をより短縮することができる。
【００９１】
なお、第２の実施例では、一時保管バッファ群に書き込むアドレスを０番地固定としたが、保管したデータのアドレスは変更せずに、書き込む場所を可変としても良い。第２の実施例では、一時保管バッファ群のアドレスを０番地から３番地の４種類としたが、比較することが出来る限りアドレスの範囲を広げても良い。
【００９２】
また、白や黒のＲＧＢデータ及びＣＭＹＫデータをそれぞれ第１及び第２の一時バッファ群に予め固定で保持していてもよい。
【００９３】
＜第２の実施形態＞
実施形態では、全てのＲＧＢ入力に対して、変換されるべきＣＭＹＫデータが格納されたルックアップテーブルをメモリに用意する場合について説明する。
【００９４】
（実施例１）
図１２は、本実施形態（実施例１）における色変換装置の全体構成の概要を示す。同図において、ＡＳＩＣ内には少なくとも、不図示のＬＵＴ参照制御部と、ＲＯＭ（リードオンリーメモリ）４２を備える。ＲＯＭ（リードオンリーメモリ）４２には、入力可能な全てのＲＧＢデータに対応するＣＭＹＫデータが格納されたＬＵＴが記憶されている。
【００９５】
まず、ＬＵＴ参照制御部は、ＲＧＢの入力データ（各８ビット）４１をＲＯＭ４２のアドレスに入力する。例えば、Ｒの入力データＲ０，Ｒ１，・・をそれぞれアドレスＡ０，Ａ１，・・・に入力する。
【００９６】
そうすると、入力されたＲＧＢデータ４１に対応するＣＭＹＫデータ（各８ビット）４３がＲＯＭ４２から出力される。例えば、ドットデータＤ０，Ｄ１，・・・としてそれぞれ、Ｃ０，Ｃ１，・・・が出力される。
【００９７】
これにより、メモリ（ＲＯＭ４２）上の変換テーブル（ＬＵＴ）を参照するのみで、ＲＧＢデータからＣＭＹＫデータに変換されるため、色変換処理を非常に高速で行うことができる。
【００９８】
なお、この色変換は、パーソナルコンピュータ（ＰＣ）上で動作するソフトウェアで行うこともできる。この場合、例えば、ＬＵＴのテーブルサイズは、１６Ｍ×４バイト＝６４Ｍバイトとすることができる。
【００９９】
また、ＣＭＹＫデータからＲＧＢデータへの変換も同様に行うことができる。これについて図１３で説明する。
【０１００】
図１３は、本実施形態（実施例１の変形例）における色変換装置の全体構成の概要を示す。まず、ＬＵＴ参照制御部は、ＣＭＹＫの入力データ（各８ビット）４３をＲＯＭ４２のアドレスに入力する。そうすると、入力されたＣＭＹＫデータ４３に対応するＲＧＢデータ（各８ビット）４１がＲＯＭ４２から出力される。
【０１０１】
なお、本実施例では、ＬＵＴをＲＯＭに格納したが、これに限定されず、例えばフラッシュメモリ、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＨＤＤ（ハードディスクドライブ）に格納してもよい。
【０１０２】
（実施例２）
本実施例では、ＲＯＭに格納したＬＵＴを複数にして、一部のテーブルを兼用することで小型化を図る色変換装置について説明する。
【０１０３】
図１４は、本実施形態（実施例２）における色変換装置の全体構成の概要を示す。ＲＯＭ５２は、２4×２4×２4＝４０９６個のデータを格納することができるテーブルである。このテーブルに格納される各データの内容は、２５６個のＲＯＭ５３群のうちのいずれかを特定するためのＲＯＭ５３のアドレス（０〜２５５番地）である。したがって、ＬＵＴ参照制御部によりＲＧＢデータ５１の入力データ（各８ビット）の各色の上位４ビットがアドレスとしてＲＯＭ５２に入力されると、そのアドレスで指定されたテーブル内のデータからＲＯＭ５３群のうち所定のＲＯＭ５３を特定するアドレスを得ることができる。
【０１０４】
次に、ＬＵＴ参照制御部は、各色の下位４ビットを、上記で選択されたＲＯＭ５３のアドレスに入力する。その結果、その入力されたアドレスに格納されているデータがＣＭＹＫデータ５４として出力される。このようにして、２段階のＲＯＭテーブルを用いて、色変換を行うことができる。
【０１０５】
ここで、各ＲＯＭ５３は小さな範囲のＲＧＢ→ＣＭＹＫ変換テーブルである。したがって、色が近似できる範囲で２つ以上のテーブルのうちのいずれかを代表テーブルとし、その他のテーブルを省略することができる。つまり、代表テーブルは、省略したテーブルを兼用することになる。
【０１０６】
図１５は、本実施形態（実施例２）におけるＲＯＭテーブルの小型化について説明するための図である。同図では、ＲＯＭ５３−０とＲＯＭ５３−１は色が近似できる範囲内のテーブルであるとすると、一方を代表テーブルとすることができるので、他方を省略することができる。したがって、省略されなかった方のテーブルが省略された方のテーブルを兼用することになる。このとき、ＲＯＭ５２において、ＲＯＭ５３−１を特定するアドレスが格納されている場合には、ＲＯＭ５３−０のアドレスに書き換えられる。
【０１０７】
本実施例によれば、ＲＯＭ内のＲＧＢデータからＣＭＹＫデータへ色変換するためのＬＵＴを省略することができるので、ＬＵＴの小型化を図ることができる。
【０１０８】
なお、実施例１と同様に、この色変換は、パーソナルコンピュータ（ＰＣ）上で動作するソフトウェアで行うこともできる。また、実施例１と同様に、ＣＭＹＫデータからＲＧＢデータへの変換も同様に行うことができる。
【０１０９】
なお、本実施例では、ＬＵＴをＲＯＭに格納したが、これに限定されず、フラッシュメモリ、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＨＤＤ（ハードディスクドライブ）に格納してもよい。なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【図面の簡単な説明】
【０１１０】
【図１】色変換におけるＬＵＴの入力色データと格子点データとの関係を示す模式図である。
【図２】図１で特定された線形補間に用いる８つの格子点に基づく立方体の模式図を示す。
【図３】第１の実施形態（実施例１）における色変換装置のブロック図である。
【図４】第１の実施形態（実施例１）におけるＬＵＴ７の一例を示す。
【図５】第１の実施形態（実施例１）におけるＬＵＴ参照制御部８の動作シーケンスを示す。
【図６】第１の実施形態（実施例２）における色変換装置のブロック図である。
【図７】第１の実施形態（実施例２）におけるＬＵＴ参照制御部８の動作シーケンスを示す。
【図８】第１の実施形態（実施例２）における第１の一時保管バッファ群３１の構成を示す。
【図９】第１の実施形態（実施例２）における比較器６の内容を示す。
【図１０】第１の実施形態（実施例２）における第２の一時保管バッファ群３２の構成を示す。
【図１１】第１の実施形態（実施例２）におけるセレクタ１１の内容を示す。
【図１２】第２の実施形態（実施例１）における色変換装置の全体構成の概要を示す。
【図１３】第２の実施形態（実施例１の変形例）における色変換装置の全体構成の概要を示す。
【図１４】第２の実施形態（実施例２）における色変換装置の全体構成の概要を示す。
【図１５】第２の実施形態（実施例２）におけるＲＯＭテーブルの小型化について説明するための図である。
【符号の説明】
【０１１１】
１      ＡＳＩＣ
２      ＰＣＩコントローラ
３      ＦＩＦＯ１
４      ＦＩＦＯ２
５      第１の一時保管バッファ
６      比較器
７      ＬＵＴ
８      ＬＵＴ参照制御部
９      乗除演算部
１０    第２の一時保管バッファ
１１    セレクタ
１２    ディザ処理部
２０    制御系チップ
２１    ＣＰＵ
２２    メモリコントローラ
２３    ＰＣＩコントローラ
２４    メモリ
２５    バス
３１    第１の一時保管バッファ群
３２    第２の一時保管バッファ群
４２，５２，５３    ＲＯＭ
【図２】
2009010532.tif 000003
【図３】
2009010532.tif 000004
【図４】
2009010532.tif 000005
【図５】
2009010532.tif 000006
【図６】
2009010532.tif 000007
【図７】
2009010532.tif 000008
【図８】
2009010532.tif 000009
【図９】
2009010532.tif 000010
【図１０】
2009010532.tif 000011
【図１１】
2009010532.tif 000012
【図１２】
2009010532.tif 000013
【図１３】
2009010532.tif 000014
【図１４】
2009010532.tif 000015
【図１５】
2009010532.tif 000016
【図１】
2009010532.tif 000017