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