(57)【要約】【課題】ハードウェアの規模の拡大を抑えて、ハードウェアによる色変換処理の高速化を図る。【解決手段】画像処理装置は、１ブロックを複数段階で分割し、分割段階の順に分割されたサブブロック単位で各画素にアドレスを割り当てる入力バッファー１１と、アドレス順に色変換処理する色変換部１２と、最後の分割段階のサブブロック内の画素間で画素値を比較するとともに、各サブブロック内でアドレスが先頭の１画素を用いて、同じ分割段階で分割されたサブブロック間の画素値を比較する比較部Ｍｂと、最後の分割段階のサブブロック内の画素間で画素値が一致し、何れかの分割段階のサブブロック間で画素値が一致する場合、当該サブブロック間で最初に色変換処理された画素の色変換処理後の画素値を、各サブブロックの画素にコピーして記憶する出力バッファー１３と、を備える。【選択図】図２
2013098811.tif 000002
【特許請求の範囲】
【請求項１】
画像データをブロック単位で入力し、入力された１ブロックを複数段階で分割し、分割段階の順に、分割されたサブブロック単位で、各画素にアドレスを割り当てる入力バッファーと、
前記入力バッファーからアドレス順に画素単位で画素値を入力し、色変換処理する色変換部と、
前記色変換部によって色変換処理された各画素の画素値を、各画素に割り当てられた前記アドレスに対応付けて記憶する出力バッファーと、
前記入力バッファーから、１ブロックが複数段階で分割されたサブブロック単位で各画素の画素値を入力し、最後の分割段階で分割されたサブブロック内の画素間で画素値を比較するとともに、各サブブロック内でアドレスが先頭の１画素の画素値を用いて、同じ分割段階で分割されたサブブロック間で画素値を比較する比較部と、を備え、
前記出力バッファーは、前記比較部による比較の結果、最後の分割段階で分割されたサブブロック内の画素間で画素値が一致し、何れかの分割段階のサブブロック間で画素値が一致する場合、当該サブブロック間で最初に色変換処理された画素の色変換処理後の画素値を、各サブブロックの画素にコピーして記憶する画像処理装置。
【請求項２】
前記最後の分割段階で分割されたサブブロック内の画素間で画素値が一致しない場合、
前記色変換部は、前記最後の分割段階で分割されたサブブロック内の各画素を色変換処理し、
前記出力バッファーは、色変換処理された各画素の画素値を、前記最後の分割段階で分割されたサブブロック内の各画素の色変換処理後の画素値として記憶する請求項１に記載の画像処理装置。
【請求項３】
前記比較器は、画素の画素値とともに、当該画素値が属する色空間を比較し、
前記出力バッファーは、前記比較部による比較の結果、画素値と色空間が一致する場合のみ、前記画素値のコピーを行う請求項１又は２に記載の画像処理装置。
【請求項４】
前記比較部は、画素の画素値とともに、当該画素の画像の属性を比較し、
前記出力バッファーは、前記比較部による比較の結果、画素値と属性が一致する場合のみ、前記画素値のコピーを行う請求項１〜３の何れか一項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
プリンターやコピー機等の画像形成装置においては、画像データを色変換処理し、入力された画像データの色空間を、画像形成装置が表現可能な色空間に一致させている。
色空間同士は複雑な関係にあるため、色変換処理では、色変換後の画素値を逐一演算するのではなく、入力値に対し色変換後の出力値が定められたＬＵＴ（Look Up Table）が利用されている（例えば、特許文献１参照）。ＬＵＴにおいて、全ての入力値に対応する出力値を定めると、大容量のメモリーが必要となるため、ＬＵＴは、通常、代表色についてのみ入力値と出力値が定められ、他は補間演算によって出力値を得ている。
【０００３】
代表色のみ入力値と出力値を保持するようにしても、必要なメモリー容量は小さくない。そのうえ、色空間を構成する色数が増えれば、それだけＬＵＴに保持すべき入力値と出力値が増え、大容量のメモリーが必要となる。そのため、色変換処理を、ＬＳＩ（Large Scale Integration）のようなハードウェアで行うには、負担が大きいことが知られている。特に、出力がＣＭＹＫの色空間である画像形成装置の場合、色数が多く、負担が大きい。
【０００４】
ハードウェアによる処理速度を高速化するためには、処理回路を複数設けて、並列に処理していく方法が一般的であるが、色変換処理に関しては、上述したような容量の大きいＬＵＴを並列に設けることになるため、ハードウェアへの実装は困難を伴う。
【０００５】
そのため、従来、色変換処理は、ハードウェアではなく、ソフトウェアにより実現されることが多かった（例えば、特許文献１、２参照）。文字や図形の画像領域内は同一色である場合が多く、ソフトウェアによれば、そのような同一色の領域では色変換処理の結果を一括変換し、処理時間を短縮することができる。特許文献１によれば、注目画素と同一画素値を持つ画素の連続数を求め、その連続数だけ注目画素の色変換処理後の画素値に置換することにより、色変換処理する画素数を減じて処理時間を短縮する。特許文献２によれば、プリンタドライバーにより印刷データを生成する段階で、特許文献１と同様の処理を実現することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２０５６３６号公報
【特許文献２】特開２００４−５４６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、写真の画像領域は、隣接画素の画素値が同一であるとは限らず、予測できない。そのため、全画素について１画素ずつ色変換処理する以外に方法が無く、処理速度の低下の要因となっている。結果として、ソフトウェアによる色変換処理は、ハードウェアによって処理する場合に比べて、やはり処理速度が遅く、高速化が望まれている。
【０００８】
本発明の課題は、ハードウェアの規模の拡大を抑えて、ハードウェアによる色変換処理の高速化を図ることである。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明によれば、
画像データをブロック単位で入力し、入力された１ブロックを複数段階で分割し、分割段階の順に、分割されたサブブロック単位で、各画素にアドレスを割り当てる入力バッファーと、
前記入力バッファーからアドレス順に画素単位で画素値を入力し、色変換処理する色変換部と、
前記色変換部によって色変換処理された各画素の画素値を、各画素に割り当てられた前記アドレスに対応付けて記憶する出力バッファーと、
前記入力バッファーから、１ブロックが複数段階で分割されたサブブロック単位で各画素の画素値を入力し、最後の分割段階で分割されたサブブロック内の画素間で画素値を比較するとともに、同じ分割段階で分割されたサブブロック間で画素値を比較する比較部と、を備え、
前記比較部は、各サブブロック内でアドレスが先頭の１画素の画素値を用いて、サブブロック間の画素値を比較し、
前記出力バッファーは、前記比較部による比較の結果、最後の分割段階で分割されたサブブロック内の画素間で画素値が一致し、何れかの分割段階のサブブロック間で画素値が一致する場合、当該サブブロック間で最初に色変換処理された画素の色変換処理後の画素値を、各サブブロックの画素にコピーして記憶する画像処理装置が提供される。
【００１０】
請求項２に記載の発明によれば、
前記最後の分割段階で分割されたサブブロック内の画素間で画素値が一致しない場合、
前記色変換部は、前記最後の分割段階で分割されたサブブロック内の各画素を色変換処理し、
前記出力バッファーは、色変換処理された各画素の画素値を、前記最後の分割段階で分割されたサブブロック内の各画素の色変換処理後の画素値として記憶する請求項１に記載の画像処理装置が提供される。
【００１１】
請求項３に記載の発明によれば、
前記比較器は、画素の画素値とともに、当該画素値が属する色空間を比較し、
前記出力バッファーは、前記比較部による比較の結果、画素値と色空間が一致する場合のみ、前記画素値のコピーを行う請求項１又は２に記載の画像処理装置が提供される。
【００１２】
請求項４に記載の発明によれば、
前記比較部は、画素の画素値とともに、当該画素の画像の属性を比較し、
前記出力バッファーは、前記比較部による比較の結果、画素値と属性が一致する場合のみ、前記画素値のコピーを行う請求項１〜３の何れか一項に記載の画像処理装置が提供される。
【発明の効果】
【００１３】
本発明によれば、色変換処理において、１画素の色変換処理結果を他の画素にコピーする処理をハードウェアによって実現することができる。コピーにより、複数の色変換部を並列に設けずとも色変換処理の高速化が可能であり、ハードウェアの規模の拡大を抑えて、ハードウェアによる色変換処理の高速化を図ることができる。
また、アドレスを分割段階の順に割り当てることにより、色変換処理結果を効率良くコピーすることができ、さらなる高速化を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】画像形成装置の構成図である。
【図２】本実施の形態に係る画像処理装置の構成図である。
【図３】１ブロックが複数段階で分割されたときの各分割段階のサブブロック単位と、分割段階順にサブブロック単位で各画素に割り当てられたアドレスを示す図である。
【図４】アドレスと色変換処理の順番の関係を示す図である。
【図５】図３に示すアドレスが割り当てられた場合の色変換処理の処理時間を示す図である。
【図６】他のアドレスの割り当て例を示す図である。
【図７】図６に示すアドレスが割り当てられた場合の色変換処理の処理時間を示す図である。
【図８】各分割段階のサブブロック間での画素値の比較の結果と、色変換処理後の画素値のコピー例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明に係る画像処理装置の実施の形態について説明する。
【００１６】
図１は、画像形成装置Ｔの機能ブロック図を示す。画像形成装置Ｔには、本実施の形態に係る画像処理装置Ｇが搭載されている。画像形成装置Ｔは、コピーの他、ユーザー端末から送信されたＰＤＬ（Page Description Language）データを印刷することができる。
画像形成装置Ｔは、図１に示すように、コントローラー１、画像読取部２、画像処理装置Ｇ、画像メモリー３、画像形成部４、制御部５、記憶部６、操作部７、表示部８を備えている。
【００１７】
コントローラー１は、ユーザー端末から送信されたＰＤＬデータをラスタライズ処理し、ビットマップ形式の画像データを生成する。コントローラー１は、ＰＤＬデータから印刷コマンドを抽出し、画像データとともに出力する。印刷コマンドは、ユーザー端末において設定された、印刷部数、印刷サイズ、給紙トレイ等の基本的な印刷指示の他、ページ割付、スタンプの付加、ページ番号の付加等のオプションの印刷指示を含む。
【００１８】
コントローラー１は、ラスタライズ処理時、各画素について画像の属性を示す属性データを生成する。画像の属性としては、文字（text）、図形（graphic）、写真（photograph）が挙げられる。属性データは、画像データとともに出力される。
【００１９】
画像読取部２は、スキャナーを備え、原稿をスキャンして画像データを生成する。画像読取部２により生成された画像データの色空間は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の色空間である。
【００２０】
画像処理装置Ｇは、画像データを色変換処理し、画像データの色空間を、画像形成部４により表現可能なＣ（シアン）、Ｍ（マジェンタ）、Ｙ（イエロー）、Ｋ（黒）の色空間に変換する。画像読取部２により生成された画像データはＲＧＢの色空間に属するので、画像処理装置Ｇは、ＲＧＢの色空間をＣＭＹＫの色空間に変換する。コントローラー１により生成された画像データはＣＭＹＫの色空間に属するが、この色空間には、元のデータを作成したユーザー端末や、画像データを生成したコントローラー１に固有の色特性が反映されているので、画像処理装置Ｇは、ＣＭＹＫの色空間を、ユーザー端末、コントローラー１の色特性が補正されたＣＭＹＫの色空間に変換する。
【００２１】
その他、画像処理装置Ｇは、画像データに各種画像処理を施す。
例えば、画像処理装置Ｇは、色変換処理された画像データを圧縮処理し、画像メモリー３に出力する。また、画像処理装置Ｇは、画像メモリー３から圧縮処理された画像データを読み出し、伸張処理する。
画像処理装置Ｇは、印刷コマンドに従って、画像データに拡大縮小、回転、スタンプやページ番号の付加等の画像処理を施すこともできる。
また、画像処理装置Ｇは、画像データにスクリーン処理を施す。
【００２２】
画像メモリー３は、画像処理装置Ｇによって圧縮処理された画像データを記憶する。画像メモリー３としては、ＤＲＡＭ（Dynamic Random Access Memory）を用いることができる。
【００２３】
画像形成部４は、給紙部、露光部、現像部、感光ドラム、定着装置等を備え、電子写真方式の印刷処理を行う。印刷処理において、露光部はＰＷＭ変換された画像データに基づき、帯電した感光ドラム上にレーザ光を照射する。感光ドラム上には静電潜像が形成される。現像部が感光ドラムを現像すると、感光ドラム上にトナーの画像が形成され、当該トナー画像は中間転写ベルトに１次転写される。ＣＭＹＫの４色のトナーについて同様の画像形成が繰り返し行われ、中間転写ベルト上に４色分のトナー画像が重ねられ、カラー画像が形成される。カラー画像は、給紙部から給紙された用紙上に２次転写され、用紙は定着装置に搬送されて定着処理される。
【００２４】
制御部５は、ＣＰＵ（Central Processing Unit）、ＲＡＭ等を備えて構成されている。制御部５は、記憶部６に記憶されているプログラムを読み出し、当該プログラムとの協働によって各種処理を実行し、画像形成装置Ｔの各部を制御する。
記憶部６は、制御部５により用いられるプログラムやデータ等を記憶している。
【００２５】
操作部７は、タッチパネルやキー等を備え、これらの操作に応じた操作信号を制御部５に出力する。
表示部８は、制御部５の指示に従い、タッチパネルやディスプレイ上に、操作画面等を表示する。
【００２６】
次に、画像処理装置Ｇによる色変換処理について説明する。
図２は、上記画像処理装置Ｇの構成図であるが、色変換処理に関する構成部のみ示している。
図２に示すように、画像処理装置Ｇは、入力バッファー１１、色変換部１２、出力バッファー１３、ＦＩＦＯ（First In First Out）１４、比較部Ｍｂ、入力制御部Ｓ１、Ｓ２、タイミング制御部Ｓ３、出力制御部Ｓ４を備えて構成されている。
【００２７】
入力バッファー１１は、入力制御部Ｓ１から入力された制御信号に応じて、画像データをｍ×ｎ画素のブロック単位で入力し、保持するメモリーである。ブロックのサイズｍ×ｎ画素は、任意に設定することができる。サイズｍ×ｎ画素が大きければ、ブロック内の全画素が同一の画素値であった場合、そのうちの１画素のみ色変換処理すればよいので、処理時間の短縮が可能である。サイズｍ×ｎ画素が小さければ、入力バッファー１１及び出力バッファー１３を、小容量化することができ、色変換処理を行うハードウェア、つまり画像処理装置Ｇの規模を縮小することができる。
【００２８】
入力バッファー１１は、入力された１ブロックを分割し、分割されたサブブロック内を分割することを繰り返して、入れ子構造のように、１ブロックを複数段階で分割する。分割は、等分割であってもよいし、非等分割として異なるサイズのサブブロックを得てもよい。
【００２９】
入力バッファー１１は、分割されたサブブロック単位で各画素にアドレスを割り当てるが、分割段階の順に、最初の分割段階で分割されたサブブロック単位から、最後の分割段階で分割されたサブブロック単位の順に割り当てる。
【００３０】
図３は、１ブロックとして入力された８×８画素のアドレス例を示す。
図３に示すように、入力バッファー１１は、入力された１ブロックを４分割し、４分割されたサブブロック内をさらに４分割して、２段階で分割する。１段階目の分割によるサブブロックをサブブロック[１]、２段階目の分割によるサブブロックをサブブロック[２]と表す。
【００３１】
複数段階で分割されたサブブロック[１]、[２]のうち、最初の分割段階で分割されたサブブロック単位はサブブロック[１]であるので、図３に示すように、４つのサブブロック[１]のそれぞれ左上の画素に、０、１、２、３のアドレスが割り当てられている。次の分割段階のサブブロック単位は、最後の分割段階で分割されたサブブロック[２]である。よって、サブブロック[１]と代表画素が共通し、既にアドレスが割り当てられたサブブロック[２]を除き、図３に示すように、１２のサブブロック[２]のそれぞれの左上の画素に、４〜１５のアドレスが割り当てられている。これらのアドレス０〜１５が割り当てられた画素が、各サブブロック[１]、[２]の代表画素である。代表画素は、サブブロック[１]、[２]間の比較の際、その画素値が用いられる画素である。図３の例では、サブブロック[１]、[２]の左上に位置する画素を代表画素としたが、サブブロック[２]、[１]内の何れか１画素を選択するのであれば、どの画素を代表画素として選択するかは特に限定されない。
【００３２】
サブブロック[２]内の代表画素を除く他の画素には、各サブブロック[２]に割り当てられたアドレス０〜１５に、サブブロック[２]内の画素の位置を表すａ〜ｃを組み合わせたアドレスが割り当てられている。例えば、代表画素のアドレスが０のサブブロック[２]であれば、右上の画素に０ａ、左下の画素に０ｂ、右下の画素に０ｃのアドレスが、それぞれ割り当てられている。
【００３３】
入力バッファー１１は、上述のようにアドレスが割り当てられた画素のうち、入力制御部Ｓ２から出力されたアドレスの画素の画素値を、当該アドレスに対応付けて色変換部１２に出力する。
また、入力バッファー１１は、サブブロック[２]単位で各画素の画素値を、比較部Ｍｂの比較器Ｍ１１〜Ｍ１４にそれぞれ出力する。
【００３４】
色変換部１２は、入力バッファー１１からアドレス順に画素単位で入力された画素値を色変換処理する。
色変換部１２は、ＬＵＴを用いて色変換処理する。ＬＵＴは２種類準備され、１つはコントローラー１から出力された画像データ用に、ＣＭＹＫの色空間の画素値に対し、同じくＣＭＹＫの色空間の画素値が設定されたＬＵＴである。もう１つは、画像読取部２から出力された画像データ用に、ＲＧＢの色空間の画素値に対し、ＣＭＹＫの色空間の画素値が設定されたＬＵＴである。コントローラー１、画像読取部２、画像形成部４は、それぞれに固有の色特性を有するが、色変換処理後のＣＭＹＫの色空間の画素値は、これらの色特性が補正された画素値である。
【００３５】
ＬＵＴのデータ量を減じるため、色空間の全ての画素値ではなく、代表値のみ設定されたＬＵＴが用いられる。色変換部１２は、ＬＵＴに設定された代表値を補間演算することによって、代表値間の画素値を求める。
【００３６】
様々な色空間に対応するため、色変換部１２は、入力される画像データの色空間毎にＬＵＴを備え、色変換処理する画素値が属する色空間によって、ＬＵＴを切り替えることが好ましい。色空間毎のＬＵＴとしては、例えばＬ＊ａ＊ｂ＊の色空間をＣＭＹＫの色空間に変換するＬＵＴ、Ｌ＊ｕ＊ｖ＊の色空間をＣＭＹＫの色空間に変換するＬＵＴが挙げられる。また、ＲＧＢの中でも、ｓＲＧＢ、Ａｄｏｂｅ（登録商標）ＲＧＢがあるので、これらをＣＭＹＫの色空間に変換するＬＵＴをそれぞれ備えてもよい。
【００３７】
また、色変換部１２は、画像の属性毎にＬＵＴを備えることが好ましい。画像の属性によって、例えば文字と写真とでは求められる色特性が異なる。よって、色変換部１２が、それぞれの属性に応じた色特性を実現するように、入力値に対する出力値が定められたＬＵＴを備え、色変換処理する画素の画像の属性によって、ＬＵＴを切り替えることが好ましい。各画素の画像の属性は、画像データとともに出力された属性データに基づいて判断することができる。
【００３８】
出力バッファー１３は、１ブロックの各画素の色変換処理後の画素値を記憶するメモリーである。出力バッファー１３は、入力バッファー１１により各画素に割り当てられたアドレスに対応付けて、色変換処理後の画素値を記憶し、１ブロック分の色変換処理後の画素値が得られると、これを出力する。
【００３９】
比較部Ｍｂによる比較の結果、サブブロック[２]内の画素間で画素値が一致し、サブブロック[２]間で画素値が一致する場合、当該サブブロック[２]からなるサブブロック[１]内で画素値が一致することを示すフラグ信号が、比較部Ｍｂから出力バッファー１３に入力される。出力バッファー１３は、当該フラグ信号とともに入力されたサブブロック[１]の代表画素のアドレスに対応付けて、色変換部１２から出力された当該代表画素の色変換処理後の画素値を記憶するとともに、同じサブブロック[１]内の他のサブブロック[２]の画素にコピーして記憶する。
【００４０】
比較部Ｍｂによる比較の結果、サブブロック[２]内の画素間で画素値が一致し、サブブロック[２]間でもサブブロック[１]間でも画素値が一致する場合、１ブロック内で画素値が一致することを示すフラグ信号が、比較部Ｍｂから出力バッファー１３に入力される。出力バッファー１３は、サブブロック[１]間で最初に色変換処理された画素の色変換処理後の画素値を、他の画素にコピーして記憶する。
【００４１】
ＦＩＦＯ１４は、メモリーやフリップフロップ等から構成されている。ＦＩＦＯ１４は、比較部Ｍｂの比較器Ｍ１１〜Ｍ１４から出力された、サブブロック内で画素値が一致しない各画素のアドレスを記憶する。ＦＩＦＯ１４は、当該アドレスを入力制御部Ｓ２、出力制御部Ｓ４にそれぞれ出力する。
【００４２】
比較部Ｍｂは、比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３を備えている。
各比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３は、タイミング制御部Ｓ３から出力されたイネーブル信号に応じて、入力された画素値同士を比較する。
【００４３】
比較器Ｍ１１〜Ｍ１４は、入力バッファー１１から、１ブロックが分割されたサブブロック[２]単位で各画素の画素値を入力し、サブブロック[２]内の画素間で画素値を比較する。
図３に示すようにアドレスが割り当てられた場合、比較器Ｍ１１にはアドレス０、０ａ、０ｂ、０ｃの画素の画素値が入力され、比較器Ｍ１２にはアドレス４、４ａ、４ｂ、４ｃの画素値が入力される。同様に、比較器Ｍ１３にはアドレス５、５ａ、５ｂ、５ｃの画素値が入力され、比較器Ｍ１４には６、６ａ、６ｂ、６ｃの画素値が入力される。比較器Ｍ１１〜Ｍ１４は、それぞれ入力された４画素の画素値を比較する。比較が終了すると、次に、代表画素のアドレスが１、７〜９のサブブロック[２]の画素値が、それぞれ比較器Ｍ１１〜Ｍ１４に入力され、比較される。同様にして、代表画素のアドレスが２、１０〜１２のサブブロック[２]、３、１３〜１５のサブブロック[２]の画素値が、順次比較器Ｍ１１〜Ｍ１４に入力され、比較される。
【００４４】
比較器Ｍ１１〜Ｍ１４は、比較の結果、サブブロック[２]内の全ての画素間で画素値が一致した場合、一致することを示すフラグ信号を比較器Ｍ３に出力する。また、比較器Ｍ１１〜Ｍ１４は、当該サブブロック[２]の代表画素の画素値を、そのアドレスに対応付けて比較器Ｍ２に出力する。
比較器Ｍ１１〜Ｍ１４は、サブブロック[２]内の全ての画素間で画素値が一致しなかった場合、一致しないことを示すフラグ信号を比較器Ｍ２に出力する。また、比較器Ｍ１１〜Ｍ１４は、画素値が一致しないサブブロック[２]内の各画素のアドレスを、ＦＩＦＯ１４に出力する。
【００４５】
比較器Ｍ２は、同じサブブロック[１]に属する４つのサブブロック[２]間の画素値を比較する。比較器Ｍ２は、４つのサブブロック[２]内でアドレスが先頭の画素、つまり代表画素の画素値を用いて、サブブロック[２]間の画素値を比較する。比較は、比較器Ｍ１１〜Ｍ１４による比較の結果、４つのサブブロック[２]全てがサブブロック[２]内の画素値が一致する場合に限り、実施される。
比較器Ｍ２は、４つのサブブロック[２]間の画素値が一致する場合、サブブロック[１]で画素値が一致することを示すフラグ信号とともに、４つのサブブロック[２]が属するサブブロック[１]の代表画素の画素値をそのアドレスに対応付けて出力する。
比較器Ｍ２は、比較しなかった場合、又は４つのサブブロック[２]間の画素値が一致しない場合、比較器Ｍ１１〜Ｍ１４からの出力をそのまま比較器Ｍ３に転送する。
【００４６】
比較器Ｍ３は、４つのサブブロック[１]間の画素値を比較する。比較器Ｍ３は、各サブブロック[１]内でアドレスが先頭の画素、つまり代表画素の画素値を用いて、サブブロック[１]間の画素値を比較する。比較は、４つのサブブロック[１]全てがサブブロック[１]内のサブブロック[２]間で画素値が一致する場合に限り、実施される。
比較器Ｍ３は、４つのサブブロック[１]間の画素値が一致する場合、１ブロック内の全画素間で画素値が一致することを示すフラグ信号を出力する。
比較器Ｍ３は、比較しなかった場合、又は４つのサブブロック[１]間の画素値が一致しない場合、比較器Ｍ２からの出力をそのまま出力バッファー１３に転送する。
【００４７】
上記比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３は、画素の画素値とともに、当該画素値が属する色空間を比較する。上述のように、色変換部１２が入力される画像データの色空間毎にＬＵＴを備えている場合、色空間が異なれば、色変換処理に用いられるＬＵＴが切り替えられる。よって、比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３が、サブブロック内の各画素の画素値及びその色空間が一致する場合のみ、一致したことを示すフラグ信号を出力し、出力バッファー１３が、画素値だけでなく色空間も一致する場合のみ、色変換処理後の画素値をコピーするようにすればよい。
【００４８】
比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３は、画素の画素値とともに、当該画素の画像の属性を比較することが好ましい。上述のように、画像の属性によって色特性が異なり、色変換部１２が画像の属性毎にＬＵＴを備えている場合、画像の属性によって、用いられるＬＵＴが切り替えられる。よって、比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３が、サブブロック内の各画素の画素値及び属性が一致する場合のみ、一致したことを示すフラグ信号を出力し、出力バッファー１３が、画素値だけでなく画像の属性も一致する場合のみ、色変換処理後の画素値をコピーするようにすればよい。
【００４９】
なお、比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３が、画素の画素値とともに、当該画素の属性及び当該画素値が属する色空間を比較してもよい。
【００５０】
入力制御部Ｓ１は、入力バッファー１１がブロック単位の画像データを入力するタイミングを制御する。入力制御部Ｓ１は、比較部Ｍｂから１ブロック分の比較結果が出力されると、次の１ブロックの画像データの入力を指示する制御信号を、入力バッファー１１に出力する。これにより、間をおかずに次のブロックの画像データの入力が可能となる。
【００５１】
入力制御部Ｓ２は、入力バッファー１１に対し、代表画素のアドレス０〜１５を順次出力し、０〜１５のアドレス順に色変換処理されるように調整する。ＦＩＦＯ１４から入力されたアドレスがあれば、当該アドレスをアドレス０〜１５に続けて出力する。これにより、図４に示すように、入力バッファー１１から色変換部１２へは、アドレス０〜１５の順に代表画素の画素値が出力され、その後、サブブロック[２]内で画素値が一致しない画素の画素値が順次出力される。
【００５２】
タイミング制御部Ｓ３は、比較部Ｍｂの比較器Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３にイネーブル信号を出力し、比較部Ｍｂが画素値を比較するタイミングを制御する。１回の比較に１クロック要する場合、タイミング制御部Ｓ３は、各比較器Ｍ１１〜Ｍ１４に１クロック毎にイネーブル信号を４回出力する。タイミング制御部Ｓ３は、比較器Ｍ１１〜Ｍ１４に４回目のイネーブル信号を出力した後、比較器Ｍ２に１クロック毎にイネーブル信号を４回出力する。比較器Ｍ３に対しては、タイミング制御部Ｓ３は、比較器Ｍ２に４回目のイネーブル信号を出力した次のクロックでイネーブル信号を出力する。
【００５３】
タイミング制御部Ｓ３は、出力制御部Ｓ４にイネーブル信号を出力し、ＦＩＦＯ１４から出力されたアドレスを、出力制御部Ｓ４が出力バッファー１３に出力するタイミングを制御する。比較部Ｍｂから比較結果が出力されるタイミングに合わせて、ＦＩＦＯ１４からのアドレスを出力する場合、タイミング制御部Ｓ３は、比較器Ｍ３にイネーブル信号を出力した次のクロックで、出力制御部Ｓ４にイネーブル信号を出力する。
【００５４】
出力制御部Ｓ４は、タイミング制御部Ｓ３から出力されたイネーブル信号に応じて、出力バッファー１３に、ＦＩＦＯ１４から出力されたアドレスを転送する。
【００５５】
図２に示された画像処理装置Ｇによる色変換処理の流れを説明する。
まず、入力バッファー１１が１ブロックの画像データを入力する。入力バッファー１１は１ブロックを４分割し、分割された各サブブロック[１]の左上に位置する画素を代表画素として、アドレス０〜３を割り当てる。入力バッファー１１は、さらに各サブブロック[１]を４分割し、既にアドレスが割り当てられているサブブロック[２]を除き、分割された各サブブロック[２]の左上に位置する画素を代表画素として、アドレス４〜１５を割り当てる。最後に、入力バッファー１１は、サブブロック[２]内の代表画素以外の他の画素に、アドレス（０ａ、０ｂ、０ｃ）〜（１５ａ、１５ｂ、１５ｃ）を割り当てる。これにより、図３に示すようにアドレスが割り当てられる。
【００５６】
分割段階の順にサブブロック単位でアドレスを割り当てることにより、色変換処理される代表画素の順番が、最初の分割段階のサブブロック[１]から最後の分割段階のサブブロック[２]の順番となるように、調整することができる。これにより、比較部Ｍｂの比較結果に合わせて色変換処理結果を得ることができ、色変換処理全体として処理時間を短縮することができる。
【００５７】
図５に示すように、色変換部１２が１クロック毎に１画素入力し、１画素の色変換処理に１００クロックの処理時間を要する場合、１ブロックの全６４画素を個々に色変換処理すると、１６３（１６３＝１００＋６４−１）クロックの処理時間を要する。
比較部Ｍｂは、１画素の色変換処理の処理時間１００クロックに比べて、はるかに短時間で比較を終えることができる。比較部Ｍｂの比較の結果、１ブロック内の全画素の画素値が一致する場合、最初の１画素の色変換処理後の画素値を他の画素にコピーすればよいので、色変換処理は１画素の処理時間、つまり１００クロックで終了する。この場合、処理時間はアドレスの割り当てに左右されない。
【００５８】
アドレスの割り当てによって処理時間が変わるのは、サブブロック[１]内で画素値をコピーする場合である。
図３に示すように、分割段階の順に、サブブロック[１]単位からサブブロック[２]単位の順に、アドレスが割り当てられた場合、サブブロック[１]の代表画素のアドレスが、アドレスの先頭に位置するので、サブブロック[１]の代表画素から先に色変換処理される。そのため、サブブロック[１]の代表画素の色変換処理後の画素値を、当該サブブロック[１]内の他の画素にコピーする場合、図５に示すように、アドレス０〜３の代表画素の色変換処理結果が得られれば、各サブブロック[１]内で画素値をコピーでき、最大で１００＋４−１＝１０３クロックの処理時間で終了する。
【００５９】
これに対し、図６に示すように、分割段階の順番に関係無く、サブブロック[２]単位でアドレス０〜１５が割り当てられた場合、色変換処理に無駄が生じることがある。例えば、アドレス０のサブブロック[１]内で画素値が一致している場合、アドレス０の代表画素の画素値を他の画素にコピーすればいいので、代表画素１、４、５の色変換処理は無駄となる。全てのサブブロック[１]内で画素値が一致している場合、アドレス０、２、８、１０の代表画素が色変換処理されるまで、各サブブロック[１]内の他の画素に、代表画素の色変換処理結果をコピーすることができない。図７に示すように、アドレス１０の代表画素の色変換処理結果が得られるまで、最大で１００＋１１−１＝１１０クロックの処理時間を要する。
【００６０】
結果として、図３に示すアドレスの割り当ての場合、図６に示すアドレスの割り当ての場合と比較して、７クロック分の短縮が可能である。７クロックという処理時間の短縮は、短縮の程度が小さいように見えるが、例えば６００dpiでＡ４サイズの画像データは、４９６１×２４８０画素であるのに対し、１ブロックは８×８画素であるので、画像データの全領域に対するブロック数は非常に多い。よって、１ブロックで７クロックの短縮ができれば、全領域の処理時間を大きく短縮することができる。
また、１ブロックのサイズが大きければ大きいほど、サブブロック[１]の数が増えるので、処理時間の短縮の効果がより大きく働く。
【００６１】
サブブロック[２]内で代表画素の色変換処理後の画素値をコピーする場合も同様に、アドレス０〜１５の代表画素が色変換処理されるまでコピーができない。最大で、アドレス１５の画素の色変換処理結果が得られるまで、１００＋１６−１＝１１５（クロック）の処理時間を要する。しかし、サブブロック[１]と異なり、サブブロック[２]の場合、アドレスの割り当てによる処理時間の短縮の効果は無い。アドレスの割り当てによる処理時間の短縮の効果があるのは、最後の分割段階で分割されたサブブロック単位より前の分割段階で分割されたサブブロック単位の比較に対してである。
【００６２】
なお、４分割を２段階で行う例で説明したが、例えば１６画素×１６画素を1ブロックとして入力し、４分割を３段階で行う場合、最初の１段階目の分割によって４つのサブブロック[１]、２段階目の分割によって１６のサブブロック[２]、最後の３段階目の分割によって６４のサブブロック[３]が得られる。この場合は、最初の分割段階のサブブロック単位であるサブブロック[１]から先にアドレスを割り当て、続いて、次の分割段階のサブブロック[２]、最後の分割段階のサブブロック単位であるサブブロック[３]の順にアドレスを割り当てればよい。これにより、サブブロック[１]、[２]内で色変換処理後の画素値をコピーするとき、上述のように処理時間の短縮の効果が得られる。
【００６３】
アドレスが割り当てられると、入力制御部Ｓ２から代表画素のアドレス０〜１５が順次入力されるので、入力バッファー１１は、当該アドレスの代表画素の画素値を、アドレスに対応付けて色変換部１２に順次出力する。色変換部１２は、アドレス０〜１５の順に出力された代表画素の画素値を色変換処理する。
また、入力バッファー１１は、代表画素のアドレスが０のサブブロック[１]に属する４つのサブブロック[２]内の各画素の画素値を、比較器Ｍ１１〜Ｍ１４に出力する。これにより、アドレス０、０ａ、０ｂ、０ｃの画素が比較器Ｍ１１に、アドレス４、４ａ、４ｂ、４ｃの画素が比較器Ｍ１２に、アドレス５、５ａ、５ｂ、５ｃの画素が比較器Ｍ１３に、アドレス６、６ａ、６ｂ、６ｃの画素が比較器Ｍ１４に、それぞれ出力される。
【００６４】
比較器Ｍ１１〜Ｍ１４は、サブブロック[２]内の画素間で画素値が一致する場合、一致したことを示すフラグ信号と、当該サブブロック[２]の代表画素の画素値を、そのアドレスに対応付けて比較器Ｍ３に出力する。
【００６５】
比較器Ｍ１１〜Ｍ１４は、サブブロック[２]内の画素間で画素値が一致しない場合、一致しなかったことを示すフラグ信号を比較器Ｍ２に出力する。また、比較器Ｍ１１〜Ｍ１４は、画素値が一致しなかったサブブロック[２]内の各画素のアドレスを、ＦＩＦＯ１４に出力する。
【００６６】
ＦＩＦＯ１４に出力されたアドレスは、入力制御部Ｓ２を介して入力バッファー１１に出力される。入力バッファー１１は、アドレス０〜１５の代表画素に続けて、画素値が一致しなかったサブブロック[２]内の各画素の画素値を、そのアドレスに対応付けて色変換部１２に出力する。
また、ＦＩＦＯ１４に出力されたアドレスは、出力制御部Ｓ４を介して出力バッファー１３に出力される。
【００６７】
比較器Ｍ２は、比較器Ｍ１１〜Ｍ１４の全てから、サブブロック[２]内の画素間で画素値が一致したことを示すフラグ信号が入力された場合、フラグ信号とともに入力された各サブブロック[２]の代表画素の画素値を比較し、代表画素のアドレスが０のサブブロック[１]に属する４つのサブブロック[２]間で画素値を比較する。つまり、アドレス０、４、５、６の代表画素間で、それぞれ画素値が比較される。
【００６８】
比較器Ｍ２は、４つのサブブロック[２]の代表画素間で画素値が一致した場合、代表画素のアドレスが０のサブブロック[１]内で画素値が一致することを示すフラグ信号と、当該サブブロック[１]の代表画素の画素値をそのアドレス０に対応付けて出力する。
比較器Ｍ２は、４つのサブブロック[２]の代表画素間で画素値が一致しなかった場合、代表画素のアドレスが０のサブブロック[１]内で画素値が一致しないことを示すフラグ信号とともに、比較器Ｍ１１〜Ｍ１４から入力されたフラグ信号、代表画素の画素値等をそのまま比較器Ｍ３に転送する。
【００６９】
一方、比較器Ｍ１１〜Ｍ１４の何れかから、サブブロック[２]内の画素間で画素値が一致しないことを示すフラグ信号が入力された場合、比較器Ｍ２は比較を行わず、代表画素のアドレスが０のサブブロック[１]内で画素値が一致しないことを示すフラグ信号とともに、比較器Ｍ１１〜Ｍ１４から入力されたフラグ信号、代表画素の画素値等をそのまま比較器Ｍ３に転送する。
【００７０】
比較器Ｍ１１〜Ｍ１４、Ｍ２は、上記代表画素のアドレス０のサブブロック[１]と同様にして、代表画素のアドレス１、２、３のサブブロック[１]についても、順次比較する。
【００７１】
比較器Ｍ３は、比較器Ｍ２から、４つ全てのサブブロック[１]について、サブブロック[１]内の画素値が一致することを示すフラグ信号が入力された場合、当該フラグ信号とともに入力された各サブブロック[１]の代表画素の画素値を用いて、サブブロック[１]間の画素値を比較する。つまり、アドレス０、１、２、３の代表画素の画素値が比較される。
【００７２】
比較器Ｍ３は、全てのサブブロック[１]の代表画素の画素値が一致した場合、１ブロック内の全画素間で画素値が一致することを示すフラグ信号を出力バッファー１３に出力する。
出力バッファー１３は、当該フラグ信号に応じて、最初に色変換部１２から出力されたアドレス０の代表画素の色変換処理後の画素値を、１ブロック内の他の画素にコピーし、記憶する。
【００７３】
比較器Ｍ３は、比較器Ｍ２から、４つのうち、何れかのサブブロック[１]内で画素値が一致しないことを示すフラグ信号が入力された場合、比較は行わず、比較器Ｍ２から出力されたフラグ信号等を出力バッファー１３に転送する。
出力バッファー１３は、当該フラグ信号に応じて、サブブロック[２]間で画素値が一致するサブブロック[１]については、その代表画素の色変換処理後の画素値を、当該サブブロック[１]内の代表画素以外の他の画素にコピーし、記憶する。
同様に、出力バッファー１３は、サブブロック[２]内で画素値が一致するサブブロック[２]についても、その代表画素の色変換処理後の画素値を、当該サブブロック[２]内の代表画素以外の他の画素にコピーし、記憶する。
サブブロック[２]内でも画素値が一致しないサブブロック[２]については、当該サブブロック[２]内の各画素がそれぞれ色変換部１２に出力され、色変換処理される。出力バッファー１３には、出力制御部Ｓ４から当該サブブロック[２]内の各画素のアドレスが入力されるので、出力バッファー１３は、当該アドレスの画素の色変換処理後の画素値を記憶する。
【００７４】
図８は、色変換処理後の画素値のコピー例を示す。図８中、×の記号は画素値が一致しないことを表し、○の記号は画素値が一致することを表している。
図８に示すように、比較器Ｍ１１〜Ｍ１４による比較の結果、代表画素のアドレス０のサブブロック[２]以外のサブブロック[２]内の画素値が一致している。
比較器Ｍ２による比較の結果、代表画素のアドレス１、２、３のサブブロック[１]内のサブブロック[２]間で画素値が一致している。比較器Ｍ２は、アドレス０のサブブロック[１]に属するサブブロック[２]間では画素値の比較を行わず、比較器Ｍ１１〜Ｍ１４の比較結果をそのまま出力する。
比較器Ｍ３は、比較されなかったサブブロック[１]があるため、サブブロック[１]間で画素値の比較を行わず、比較器Ｍ２からの出力をそのまま出力バッファー１３に出力する。
【００７５】
以上の比較の結果、出力バッファー１３では、アドレス０のサブブロック[２]については、アドレス０、０ａ、０ｂ、０ｃの各画素の色変換処理後の画素値が記憶される。代表画素のアドレスが４、５、６のサブブロック[２]については、アドレス４、５、６の各代表画素の色変換処理後の画素値が、それぞれのサブブロック[２]内の他の画素にコピーされる。アドレス１、２、３のサブブロック[１]についても同様に、アドレス１、２、３の各代表画素の色変換処理後の画素値が、それぞれのサブブロック[１]内の他の画素にコピーされる。
【００７６】
以上のように、本実施の形態によれば、画像処理装置Ｇは、画像データをブロック単位で入力し、入力された１ブロックを複数段階で分割し、分割段階の順に、分割されたサブブロック単位で、各画素にアドレスを割り当てる入力バッファー１１と、入力バッファー１１からアドレス順に画素単位で画素値を入力し、色変換処理する色変換部１２と、色変換部１２によって色変換処理された各画素の画素値を、各画素に割り当てられたアドレスに対応付けて記憶する出力バッファー１３と、入力バッファー１１から、１ブロックが複数段階で分割されたサブブロック[２]単位で各画素の画素値を入力し、最後の分割段階で分割されたサブブロック[２]内の画素間で画素値を比較するとともに、各サブブロック[１]、[２]内でアドレスが先頭の１画素の画素値を用いて、同じ分割段階で分割されたサブブロック[１]、[２]間で画素値を比較する比較部Ｍｂと、を備える。出力バッファー１３は、比較部Ｍｂによる比較の結果、最後の分割段階で分割されたサブブロック[２]内の画素間で画素値が一致し、何れかの分割段階のサブブロック[１]、[２]間で画素値が一致する場合、当該サブブロック[１]、[２]間で最初に色変換処理された画素の色変換処理後の画素値を、各サブブロック[１]、[２]の画素にコピーして記憶する。
【００７７】
これにより、色変換処理と並行して画素値を比較し、１画素の色変換処理結果を他の画素にコピーする処理をハードウェアによって実現することができる。コピーにより、複数の色変換部を並列に設けずとも色変換処理の高速化が可能であり、ハードウェアの規模の拡大を抑えて、ハードウェアによる色変換処理の高速化を図ることができる。
一般に、画像データ全体のサイズに対し、１ブロックのサイズは非常に小さく、１ブロック内の画素値が一致することが多いと考えられる。この場合、１ブロックの処理時間は実質１画素の処理時間となり、ソフトウェアによって画像データを１画素ずつ処理する場合に比べて、大幅な処理時間の短縮が見込める。
【００７８】
また、同じ分割段階のサブブロック[１]、[２]間で画素値を比較するので、色変換処理結果をコピーする領域を段階的に拡大することができ、１ブロック内に異なる画素値が存在する場合にコピーの効率が良い。
さらに、アドレスを分割段階の順に割り当てることにより、比較の結果に合わせて色変換処理結果を効率良くコピーすることができ、色変換処理のさらなる高速化を図ることができる。
【００７９】
また、本実施の形態によれば、最後の分割段階で分割されたサブブロック[２]内の画素間で画素値が一致しない場合、色変換部１２は、最後の分割段階で分割されたサブブロック[２]内の各画素を色変換処理し、出力バッファー１３は、色変換処理された各画素の画素値を、最後の分割段階で分割されたサブブロック[２]内の各画素の色変換処理後の画素値として記憶する。
画素値が一致しないサブブロックのみ、各画素が色変換処理されるので、色変換処理全体の処理速度を高速化することができる。
【００８０】
上記実施の形態は本発明の好適な一例であり、これに限定されない。本発明の主旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【００８１】
Ｔ    画像形成装置
１    コントローラー
２    画像読取部
３    画像メモリー
４    画像形成部
Ｇ    画像処理装置
１１    入力バッファー
１２    色変換部
１３    出力バッファー
１４    メモリー
Ｍｂ    比較部
Ｍ１１〜Ｍ１４、Ｍ２、Ｍ３    比較器
Ｓ１、Ｓ２    入力制御部
Ｓ４    出力制御部
【図１】
2013098811.tif 000003
【図２】
2013098811.tif 000004
【図３】
2013098811.tif 000005
【図４】
2013098811.tif 000006
【図５】
2013098811.tif 000007
【図６】
2013098811.tif 000008
【図７】
2013098811.tif 000009
【図８】
2013098811.tif 000010