(57)【特許請求の範囲】
【請求項１】
回路構成が再構成可能な再構成可能回路と、
前記再構成可能回路内の回路として構成され、画像データを圧縮する圧縮手段と、
前記再構成可能回路内の回路として構成され、前記圧縮された画像データに対して画像処理を行う画像処理手段と、
前記画像処理手段の処理能力に応じて、前記圧縮手段の圧縮率を変えるように前記再構成可能回路の回路構成を変更する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記再構成可能回路内の回路として構成され、画像データを記憶する記憶手段と、
前記再構成可能回路内の回路として構成され、前記画像処理が施された圧縮後の画像データを伸張する伸張手段と、
前記再構成可能回路内の回路として構成され、前記記憶手段から画像データを取得して前記圧縮手段に出力し、前記伸張手段から前記伸張された画像データを取得して前記記憶手段に出力するメモリ制御手段と、
を更に有し、
前記制御手段は、前記メモリ制御手段と前記記憶手段との間における画像データの転送速度、及び、前記画像処理手段の処理能力に応じて、前記圧縮手段の圧縮率を変えるように前記再構成可能回路の回路構成を変更する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、単位時間当たりに前記圧縮手段から出力される前記圧縮された画像データの容量と、単位時間当たりに前記画像処理手段によって処理される画像データの容量とが同一となるように、前記圧縮手段の圧縮率を決定する、
ことを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記圧縮手段は、前記画像データを構成する画素のうち隣接する画素の値が同一である場合に、圧縮処理を行う、
ことを特徴とする請求項１から請求項３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画像処理手段は、前記圧縮された画像データの色変換を行うことで、出力色空間で表された出力画像データを生成する色変換手段である、
ことを特徴とする請求項１から請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
コンピュータに、
回路構成が再構成可能な再構成可能回路内に構成された圧縮手段により、画像データを圧縮するステップと、
前記再構成可能回路内に構成された画像処理手段によって、前記圧縮された画像データに対して画像処理を行うステップと、
前記画像処理手段の処理応力に応じて、前記圧縮手段の圧縮率を変えるように前記再構成可能回路の回路構成を変更するステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
画像データの色空間を変換することがある。例えば画像データを印刷する場合、印刷対象の画像データを、印刷エンジンに依存する出力色空間で表された画像データに変換し、色変換後の画像データを印刷エンジンによって印刷する。
【０００３】
色変換を高速に行うための技術が知られている。例えば特許文献１〜４には、キャッシュ方式を利用することで画像処理の高速化を図った装置が開示されている。また、特許文献５には、出力する色数を減らすことでキャッシュ処理のヒット率を向上させ、画像処理の高速化を図った装置が開示されている。また、特許文献６には、全体の色変換テーブルを複数の色変換テーブルに分割し、それらをシリアルに用いて色補間を行う装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２４２２１３号公報
【特許文献２】特開２００５−２７８０７２号公報
【特許文献３】特開２００７−１５０６８９号公報
【特許文献４】特開２００７−２８１７６４号公報
【特許文献５】特開２００７−８１８３３号公報
【特許文献６】特開２００２−３４４７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、色変換を行う色変換回路の処理速度よりも、メモリから色変換回路への画像データの転送速度が速い場合がある。例えば、色変換回路では１クロック毎に１ピクセル分のデータが処理されるのに対し、メモリから色変換回路には、１クロック毎に２ピクセル分のデータが入力される場合がある。この場合、色変換回路を並列化して対処することが考えられるが、色変換回路自体の規模が大きく、使用されるハードウェア資源には限りがあるため、色変換回路を並列化して対処することは困難である。そこで、メモリと色変換回路との間にＦＩＦＯを設置し、色変換回路への画像データの入力タイミングをＦＩＦＯによって調整することが考えられる。しかしながら、この場合、色変換回路へのデータ入力に待ち時間が発生するため、処理効率が低下することになる。そこで、圧縮回路によって画像データの容量を小さくすることで、色変換回路へのデータ入力の待ち時間を短縮することが考えられる。しかしながら、圧縮率の高い圧縮回路は回路規模が大きくなるため、限られたハードウェア資源においては、圧縮率の高い圧縮回路を採用することは困難である。また、圧縮率の高い圧縮回路が用いられたとしても、圧縮率が高くなってデータ容量が小さくなると、色変換回路が色変換処理を行っていない時間（色変換回路の待ち時間）が長くなるので、処理効率が低下することになる。
【０００６】
本発明の目的は、本発明の構成を用いない場合と比較して、画像処理を効率的に行うことが可能な画像処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
請求項１に係る発明は、回路構成が再構成可能な再構成可能回路と、前記再構成可能回路内の回路として構成され、画像データを圧縮する圧縮手段と、前記再構成可能回路内の回路として構成され、前記圧縮された画像データに対して画像処理を行う画像処理手段と、前記画像処理手段の処理能力に応じて、前記圧縮手段の圧縮率を変えるように前記再構成可能回路の回路構成を変更する制御手段と、を有することを特徴とする画像処理装置である。
【０００８】
請求項２に係る発明は、前記再構成可能回路内の回路として構成され、画像データを記憶する記憶手段と、前記再構成可能回路内の回路として構成され、前記画像処理が施された圧縮後の画像データを伸張する伸張手段と、前記再構成可能回路内の回路として構成され、前記記憶手段から画像データを取得して前記圧縮手段に出力し、前記伸張手段から前記伸張された画像データを取得して前記記憶手段に出力するメモリ制御手段と、を更に有し、前記制御手段は、前記メモリ制御手段と前記記憶手段との間における画像データの転送速度、及び、前記画像処理手段の処理能力に応じて、前記圧縮手段の圧縮率を変えるように前記再構成可能回路の回路構成を変更する、ことを特徴とする請求項１に記載の画像処理装置である。
【０００９】
請求項３に係る発明は、前記制御手段は、単位時間当たりに前記圧縮手段から出力される前記圧縮された画像データの容量と、単位時間当たりに前記画像処理手段によって処理される画像データの容量とが同一となるように、前記圧縮手段の圧縮率を決定する、ことを特徴とする請求項１又は請求項２に記載の画像処理装置である。
【００１０】
請求項４に係る発明は、前記圧縮手段は、前記画像データを構成する画素のうち隣接する画素の値が同一である場合に、圧縮処理を行う、ことを特徴とする請求項１から請求項３のいずれか一項に記載の画像処理装置である。
【００１１】
請求項５に係る発明は、前記画像処理手段は、前記圧縮された画像データの色変換を行うことで、出力色空間で表された出力画像データを生成する色変換手段である、ことを特徴とする請求項１から請求項４のいずれか一項に記載の画像処理装置である。
【００１２】
請求項６に係る発明は、コンピュータに、回路構成が再構成可能な再構成可能回路内に構成された圧縮手段により、画像データを圧縮するステップと、前記再構成可能回路内に構成された画像処理手段によって、前記圧縮された画像データに対して画像処理を行うステップと、前記画像処理手段の処理応力に応じて、前記圧縮手段の圧縮率を変えるように前記再構成可能回路の回路構成を変更するステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【００１３】
請求項１，６に係る発明によると、本発明の構成を用いない場合と比較して、画像処理を効率的に行うことが可能となる。
【００１４】
請求項２に係る発明によると、本発明の構成を用いない場合と比較して、画像データの転送及び画像処理における待ち時間の短縮化が図れる。
【００１５】
請求項３に係る発明によると、本発明の構成を用いない場合と比較して、画像処理における待ち時間の短縮化が図れる。
【００１６】
請求項４に係る発明によると、本発明の構成を用いない場合と比較して、画像処理の高速化が図れる。
【００１７】
請求項５に係る発明によると、本発明の構成を用いない場合と比較して、色変換処理を効率的に行うことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係るシステムの一例を示すブロック図である。
【図２】再構成可能回路を用いて処理を行うシステムの一例を示すブロック図である。
【図３】実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。
【図４】実施形態に係る色変換部の構成の一例を示すブロック図である。
【図５】実施形態に係る色変換部の構成の一例を示すブロック図である。
【図６】圧縮処理の一例を説明するための図である。
【図７】圧縮処理の一例を説明するための図である。
【図８】伸張処理の一例を説明するための図である。
【図９】比較例に係る色変換部の構成の一例を示すブロック図である。
【図１０】比較例に係る色変換部の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１９】
図１に、本発明の実施形態に係るシステムの一例を示す。本システムは、画像処理装置１と印刷装置６とを含む。画像処理装置１は、中間データ生成部２と、ラスタライザ３と、画像メモリ４と、色変換部５とを含む。
【００２０】
例えば、ページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述された画像データが、コンピュータ等の装置から画像処理装置１に提供される。ページ記述言語は、印刷処理やディスプレイ表示処理等を情報処理装置に実行させるためのコンピュータプログラミング言語である。ページ記述言語で記述された画像データは、印刷対象の画像を構成する文字や図形等のオブジェクトの位置情報、書式情報及び色情報等を含む。
【００２１】
例えば、ＣＭＹＫ（シアン、マゼンダ、イエロー、ブラック）の組み合わせで表された画像データ（ＣＭＹＫ色空間で表された画像データ）や、ＲＧＢ（レッド、グリーン、ブルー）の組み合わせで表された画像データ（ＲＧＢ色空間で表された画像データ）が、画像処理装置１に提供される。なお、上記の色空間は一例であり、本発明はこれらの例に限定されるものではない。画像データは、上記の色空間以外の色空間で表されてもよい。
【００２２】
中間データ生成部２は、画像データを解釈することで、印刷対象の画像が中間言語で記述された中間データを生成し、出力する。中間データは、最終的に印刷装置６に出力される描画データに変換される前段階のデータであり、描画データの生成の手順を表すコマンドを含む。中間データの具体例として、例えばディスプレイリスト（ＤＬ）があるが、本発明はこの例に限定されるものではない。
【００２３】
ラスタライザ３は、例えばＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）である。ラスタライザ３は、中間データ生成部２から中間データを取得し、当該中間データに従って、印刷装置６に適合し印刷装置６で取り扱われる描画データを生成する。描画データは、例えば印刷画像を構成する画素毎の情報（画素値）を含むラスタデータであり、一例としてビットマップデータ等である。ラスタライザ３は、画像メモリ４（フレームメモリ）にアクセスして描画データを画像メモリ４に書き込むことで、描画データを画像メモリ４に記憶させる。
【００２４】
色変換部５はカラーマネジメントシステム（ＣＭＳ）として機能し、描画データを、印刷装置６に依存する色空間であるデバイス色空間のデータに変換する。一例として、印刷装置６のデバイス色空間がＣＹＭＫ色空間の場合、色変換部５は、描画データを、ＣＭＹＫ色空間のデータ（ＣＭＹＫ色信号）に変換する。例えば、描画データがＣＭＹＫ色空間で表されたデータ（ＣＭＹＫ色信号）である場合、色変換部５は、このＣＭＹＫ色信号に対して、ルックアップテーブル（ＬＵＴ）を適用する等して、デバイス色空間のデータであるＣＭＹＫ色信号に変換する。また、描画データがＲＧＢ空間で表されたデータ（ＲＧＢ色信号）である場合、色変換部５は、描画データ（ＲＧＢ色信号）を、デバイス色空間のデータであるＣＭＹＫ色信号に変換する。
【００２５】
印刷装置６は、トナーやインク等の色材（記録材）を用いて、描画データに応じた画像を用紙等の記録媒体に印刷する。印刷装置６は、例えば、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）及びブラック（Ｋ）の各色のトナーを用いて、電子写真プロセスを適用して記録媒体に画像を形成する。但し、本発明はこの例に限定されるものではなく、他の色の色材が用いられてもよいし、５色以上の色材が用いられてもよい。
【００２６】
上述した画像処理装置１では、例えばＤＲＰ（Ｄｙｎａｍｉｃ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ：動的再構成可能プロセッサ）によって処理が実行される。
【００２７】
図２に、ＤＲＰを用いて処理を行うシステムの一例を示す。このシステムは、一例として、メインＣＰＵ（中央演算装置）１０と、メインメモリ１１と、ＣＰＵバス−ＰＣＩブリッジ１２と、ＤＲＰアクセラレータ１３と、これらを接続するための内部バス１６とを含む。ＤＲＰアクセラレータ１３は、例えば複数のＤＲＰシステム１４とＰＣＩスイッチ１５とを含む。ＰＣＩスイッチ１５には、複数のＤＲＰシステム１４が接続されている。ＤＲＰシステム１４は、ＤＲＰ２０とメモリ３０とを含む。メモリ３０には、ＤＲＰ１０を制御するためのデータやプログラム等が記憶される。
【００２８】
図３に、画像処理装置１のハードウェア構成の一例を示す。図３に示す例では、画像処理装置１は、ＤＲＰ２０によって構成される。
【００２９】
ＤＲＰ２０は、内部の論理回路の構成を動的に変更（再構成）可能なプロセッサである。ＤＲＰ２０は、一例として、特開２００９−３７６５号公報に開示されているＤＡＰ・ＤＮＡアーキテクチャのプロセッサであるが、本発明はこの例に限定されるものではなく、他の回路で構成されてもよい。以下、図３を参照してＤＲＰ２０の一例を説明する。
【００３０】
ＤＲＰ２０は、ＤＡＰ（Ｄｉｇｉｔａｌ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）と称される再構成制御部２１（ＲＩＳＣコアモジュール）と、ＤＮＡ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｎｅｔｗｏｒｋ  Ａｒｃｈｉｔｅｃｔｕｒｅ）と称される再構成可能回路部２２（ダイナミックコンフィギュラブルデータフローアクセラレータ）とを含む。ＤＲＰ２０は、再構成制御部２１及び再構成可能回路部２２に加え、再構成可能回路部２２のダイレクト入出力用のインタフェース２３と、ＰＣＩインタフェース２４と、ＳＤＲＡＭインタフェース２５と、ＤＭＡコントローラ２６と、その他の周辺デバイス２７と、これらを接続するための内部バス（高速スイッチングバス）２８とを含む。再構成制御部２１は、デバッグインタフェース２１ａと、ＲＩＳＣコア２１ｂと、命令キャッシュ２１ｃと、データキャッシュ２１ｄとを含む。再構成可能回路部２２は、ＰＥマトリックス２２ａと、コンフィギュレーションメモリ２２ｂとを含む。ＰＥマトリックス２２ａには、複数の処理エレメントＰＥ（論理回路要素）が２次元に配置されている。一例として、３７６個の処理エレメントＰＥが、ＰＥマトリックス２２ａに配置されている。コンフィギュレーションメモリ２２ｂには、コンフィギュレーションデータ２２ｃが格納されている。コンフィギュレーションデータ２２ｃは、ＰＥマトリックス２２ａに含まれる処理エレメントＰＥの機能及び／又は接続を変えてＰＥマトリックス２２ａを再構成するためのデータである。
【００３１】
再構成制御部２１は、再構成可能回路部２２を含むＤＲＰ２０全体の動作制御を行うモジュールであり、例えば、制御のためのプログラムを実行することで実現される。再構成制御部２１は、ＰＥマトリックス２２ａ内の処理エレメントＰＥの接続関係を制御することで、ＰＥマトリックス２２ａにおいてデータ処理のための回路を構成する。また、再構成制御部２１は、ＰＥマトリックス２２ａにおいて構成された回路に対してデータを供給したり、その回路からのデータを他のシステムに出力したりする制御を行う。
【００３２】
コンフィギュレーションデータ２２ｃは、ＰＥマトリックス２２ａの回路構成を規定するデータである。ＰＥマトリックス２２ａ内の回路の再構成は、コンフィギュレーションデータ２２ｃに従って行われる。コンフィギュレーションメモリ２２ｂには、複数のコンフィギュレーションデータ２２ｃが記憶される。コンフィギュレーションメモリ２２ｂ内の複数のコンフィギュレーションデータ２２ｃのうち１つが選択されてアクティブ状態になると、そのコンフィギュレーションデータ２２ｃが規定する回路構成がＰＥマトリックス２２ａ内に構成されることになる。一例として、コンフィギュレーションメモリ２２ｂには３つのコンフィギュレーションデータ２２ｃが記憶されている。但し、本発明はこの例に限定されるものではなく、３つ以外の数のコンフィギュレーションデータ２２ｃが、コンフィギュレーションメモリ２２ｂに記憶されてもよい。
【００３３】
コンフィギュレーションメモリ２２ｂについて詳しく説明すると、コンフィギュレーションメモリ２２ｂは、複数バンクの構成となっている。そして、フォアグラウンドバンクに格納されたコンフィギュレーションデータ２２ｃによって、ＰＥマトリックス２２ａには第１の機能が構成される。また、異なるバックグラウンドバンクにそれぞれ格納されたコンフィギュレーションデータ２２ｃによって、ＰＥマトリックス２２ａには第２の機能又は第３の機能が構成される。コンフィギュレーションメモリ２２ｂのバンクを切り替えることにより、ＰＥマトリックス２２ａには、第１の機能に替わって第２の機能又は第３の機能が再構成される。ＰＥマトリックス２２ａの再構成は、例えば１サイクル（クロックサイクル）でダイナミックに行われる。このようにＰＥマトリックス２２ａは、回路を構成するための複数の処理エレメントＰＥと、これらの処理エレメントＰＥを接続するための内部配線とを含む再構成ユニットであり、内部配線によって処理エレメントＰＥの接続を変えることにより、ＰＥマトリックス２２ａに含まれる回路が再構成される。
【００３４】
また、ＤＲＰ２０は、コンフィギュレーションメモリ２２ｂに新たなコンフィギュレーションデータ２２ｃを追加したり、コンフィギュレーションメモリ２２ｂ内のコンフィギュレーションデータ２２ｃを他のコンフィギュレーションデータ２２ｃに置き換えたり、削除したりする機能を備える。
【００３５】
次に、図４を参照して、色変換部５について説明する。色変換部５は、ＤＲＰ２０によって構成される。色変換部５は、ＤＤＲメモリ５０と、ＤＤＲコントローラ５１と、入力バッファとして機能するメモリ５２〜５５と、圧縮器５６と、ＦＩＦＯ５７と、処理回路５８と、例えばＤ−ＦＦ（Ｄフリップフロップ回路）である遅延回路５９と、伸張器６０と、出力バッファとして機能するメモリ６１〜６４とを含む。
【００３６】
ＤＤＲメモリ５０には、ラスタライザ３によって生成された描画データが記憶される。ＤＤＲコントローラ５１は、ＤＤＲメモリ５０から描画データを読み込み、当該描画データを入力バッファであるメモリ５２〜５５に出力する。一例として、描画データがＣＭＹＫ色空間で表されるデータ（ＣＭＹＫ色信号）の場合、ＤＤＲコントローラ５１は、Ｃ信号をＣ信号用のメモリ５２に出力し、Ｍ信号をＭ信号用のメモリ５３に出力し、Ｙ信号をＹ信号用のメモリ５４に出力し、Ｋ信号をＫ信号用のメモリ５５に出力する。メモリ５２〜５５は各信号を記憶する。圧縮器５６は、メモリ５２からＣ信号を読み込んで圧縮処理を行い、メモリ５３からＭ信号を読み込んで圧縮処理を行い、メモリ５４からＹ信号を読み込んで圧縮処理を行い、メモリ５５からＫ信号を読み込んで圧縮処理を行い、圧縮後のＣＭＹＫ色信号と圧縮フラグとをＦＩＦＯ５７に出力する。圧縮後のＣＭＹＫ色信号はＦＩＦＯ５７から処理回路５８に出力され、圧縮フラグはＦＩＦＯ５７から遅延回路５９に出力される。
【００３７】
処理回路５８は、圧縮後のＣＭＹＫ色信号をデバイス色空間のデータであるＣＭＹＫ色信号に変換し、デバイス色空間のＣＭＹＫ色信号を伸張器６０に出力する。例えば、処理回路５８は、ＣＭＹＫ色信号をデバイス色空間のシアン（Ｃ）信号に変換するＣ信号用のＬＵＴを用いてＣ信号を生成し、ＣＭＹＫ色信号をデバイス色空間のマゼンダ（Ｍ）信号に変換するＭ信号用のＬＵＴを用いてＭ信号を生成し、ＣＭＹＫ色信号をデバイス色空間のイエロー（Ｙ）信号に変換するＹ信号用のＬＵＴを用いてＹ信号を生成し、ＣＭＹＫ色信号をデバイス色空間のブラック（Ｋ）信号に変換するＫ信号用のＬＵＴを用いてＫ信号を生成する。
【００３８】
伸張器６０は、デバイス色空間のデータであるＣＭＹＫ色信号を圧縮フラグに基づき伸張し、伸張後のＣＭＹＫ色信号を出力バッファであるメモリ６１〜６４に出力する。例えば、伸張器６０は、Ｃ信号をＣ信号用のメモリ６１に出力し、Ｍ信号をＭ信号用のメモリ６２に出力し、Ｙ信号をＹ信号用のメモリ６３に出力し、Ｋ信号をＫ信号用のメモリ６４に出力する。メモリ６１〜６４は各信号を記憶する。そして、ＤＤＲコントローラ５１は、伸張後のＣ信号をメモリ６１から読み込んでＤＤＲメモリ５０に出力し、伸張後のＭ信号をメモリ６２から読み込んでＤＤＲメモリ５０に出力し、伸張後のＹ信号をメモリ６３から読み込んでＤＤＲメモリ５０に出力し、伸張後のＫ信号をメモリ６４から読み込んでＤＤＲメモリ５０に出力する。
【００３９】
以上のようにして、描画データが、デバイス色空間で表されるデータに変換される。
【００４０】
また別の例として、描画データがＲＧＢ色空間で表されたデータ（ＲＧＢ色信号）の場合、ＤＤＲコントローラ５１は、Ｒ信号をＲ信号用のメモリ５２に出力し、Ｇ信号をＧ信号用のメモリ５３に出力し、Ｂ信号をＢ信号用のメモリ５４に出力する。圧縮器５６は、ＲＧＢ色信号のそれぞれを圧縮してＦＩＦＯ５７に出力する。処理回路５８は、圧縮後のＲＧＢ色信号をデバイス色空間のデータであるＣＭＹＫ色信号に変換して伸張器６０に出力する。例えば、処理回路５８は、ＲＧＢ色信号をデバイス色空間のＣ信号に変換するＣ信号用のＬＵＴを用いてＣ信号を生成し、ＲＧＢ色信号をデバイス色空間のＭ信号に変換するＭ信号用のＬＵＴを用いてＭ信号を生成し、ＲＧＢ色信号をデバイス色空間のＹ信号に変換するＹ信号用のＬＵＴを用いてＹ信号を生成し、ＲＧＢ色信号をデバイス色空間のＫ信号に変換するＫ信号用のＬＵＴを用いてＫ信号を生成する。そして、伸張器６０によって伸張処理が行われ、伸張後のＣＭＹＫ色信号はメモリ６１〜６４に記憶される。ＤＤＲコントローラ５１は、伸張後のＣＭＹＫ色信号をメモリ６１〜６４から読み込んでＤＤＲメモリ５０に出力する。
【００４１】
ＤＲＰ２０の再構成制御部２１は、処理回路５８の処理能力に応じて、圧縮器５６の圧縮率を変えるように再構成可能回路部２２（ＰＥマトリックス２２ａ）の回路構成を変更する。例えば、再構成制御部２１は、圧縮器５６から単位時間当たりに出力される圧縮後のデータの容量と、処理回路５８の処理速度（単位時間当たりに処理されるデータの容量）とが同一となるように、圧縮器５６の最大圧縮率を設定する。このように圧縮率を設定することで、処理回路５８へのデータ入力の待ち時間の発生が抑制され、また、処理回路５８が処理を行っていない時間（処理回路５８の待ち時間）の発生が抑制される。
【００４２】
例えば、再構成制御部２１は、ＤＤＲメモリ５０とＤＤＲコントローラ５１との間の帯域（入出力帯域）と、処理回路５８の処理能力とに応じて、圧縮器５６の圧縮率を変えるように再構成可能回路部２２の回路構成を変更する。具体的には、再構成制御部２１は、ＤＤＲコントローラ５１からメモリ５２〜５５に単位時間当たりに出力されるデータの容量（入力帯域）と、メモリ６１〜６４からＤＤＲコントローラ５１に単位時間当たりに出力されるデータの容量（出力帯域）との合計が、入出力帯域以下になるようにするとともに、圧縮器５６から単位時間当たりに出力される圧縮後のデータの容量と、処理回路５８の処理速度（単位時間当たりに処理されるデータの容量）とが同一となるように、圧縮器５６の圧縮率を設定する。なお、伸張器６０から単位時間当たりに出力される伸張後のデータの容量が、メモリ６１〜６４からＤＤＲコントローラ５１に単位時間当たりに出力されるデータの容量に相当する。
【００４３】
また、再構成制御部２１は、入力帯域と出力帯域との合計が入出力帯域と同一になるようにするとともに、圧縮器５６から単位時間当たりに出力される圧縮後のデータの容量と、処理回路５８の処理速度とが同一となるように、圧縮器５６の圧縮率を設定してもよい。この場合、入出力帯域を最大限に利用しつつ、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８の待ち時間の発生が抑制される。
【００４４】
例えば、圧縮率が異なる圧縮器５６を構成するための複数のコンフィギュレーションデータ２２ｃを、コンフィギュレーションメモリ２２ｂに記憶させておく。再構成制御部２１は、入出力帯域と処理回路５８の処理能力とに応じて、コンフィギュレーションデータ２２ｃを選択し、選択したコンフィギュレーションデータ２２ｃに従い、ＰＥマトリックス２２ａ内の処理エレメントＰＥの接続関係を制御することで、入出力帯域と処理回路５８の処理能力とに応じた圧縮回路を構成する。
【００４５】
図４に示す例では、ＤＤＲメモリ５０とＤＤＲコントローラ５１との間の帯域（入出力帯域）の実効値は、例えば最大で３２００ＭＢ／ｓである。また、処理回路５８の処理能力は例えば８ｂｉｔ／２００ＭＨｚであり、処理回路５８は、１つの色信号当たり２００ＭＢ／ｓの処理速度で色変換を行う。従って、処理回路５８は、８００ＭＢ／ｓの処理速度でデバイス色空間のＣＭＹＫ色信号を生成する。具体的には、処理回路５８は、２００ＭＢ／ｓの処理速度でＣ信号、Ｍ信号、Ｙ信号及びＫ信号をそれぞれ生成して伸張器６０に出力する。
【００４６】
以上のように、処理回路５８の処理能力（処理速度）が８００ＭＢ／ｓであり、入出力帯域の最大値が３２００ＭＢ／ｓの場合、入力帯域及び出力帯域を１６００ＭＢ／ｓとし、圧縮器５６の圧縮率を２倍にして描画データの容量を半分にすることで、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８の待ち時間の発生が抑制される。以下、詳しく説明する。
【００４７】
入力帯域の実効値が１６００ＭＢ／ｓの場合、単位時間当たり４００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ対応するメモリ５２〜５５から圧縮器５６に出力される。そして、圧縮器５６の圧縮率が２倍の場合、圧縮器５６で圧縮された後のデータの容量は、圧縮前の半分となる。圧縮器５６には単位時間当たり１６００ＭＢのデータが入力されるため、圧縮後には、単位時間当たり８００ＭＢのデータが圧縮器５６からＦＩＦＯ５７に出力される。具体的には、単位時間当たり４００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ対応するメモリ５２〜５５から圧縮器５６に出力され、単位時間当たり２００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ圧縮器５６からＦＩＦＯ５７に出力される。
【００４８】
そして、単位時間当たり２００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれＦＩＦＯ５７から処理回路５８に出力される。すなわち、単位時間当たり８００ＭＢのＣＭＹＫ色信号が、ＦＩＦＯ５７から処理回路５８に出力される。処理回路５８の処理能力（処理速度）は８００ＭＢ／sであるため、処理回路５８に入力されるデータの容量（単位時間当たりに入力されるデータの容量）と、処理回路５８の処理速度とが同一になる。そして、処理回路５８は、色変換後のＣＭＹＫ色信号を伸張器６０に出力する。これにより、単位時間当たり２００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ処理回路５８から伸張器６０に出力される。
【００４９】
伸張器６０は、圧縮後のＣＭＹＫ色信号を圧縮フラグに基づき伸張し、伸張後のＣＭＹＫ色信号をメモリ６１〜６４に出力する。圧縮率が２倍の場合、伸張器６０で伸張された後のデータの容量は、伸張前の２倍となる。伸張器６０には単位時間当たり８００ＭＢのデータが入力されるため、伸張後には、単位時間当たり１６００ＭＢのデータが伸張器６０からメモリ６１〜６４に出力される。具体的には、単位時間当たり４００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、伸張器６０からそれぞれ対応するメモリ６１〜６４に出力される。
【００５０】
そして、単位時間当たり４００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ対応するメモリ６１〜６４からＤＤＲコントローラ５１に出力される。すなわち、出力帯域の実効値が１６００ＭＢ／ｓとなる。
【００５１】
以上のように、処理回路５８にて単位時間当たりに処理されるデータの容量（処理速度）と、圧縮器５６から単位時間当たりに出力される圧縮後のデータの容量とが同一となるように、圧縮器５６の圧縮率を設定することで、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８での待ち時間の発生が抑制されるので、処理の効率が向上する。
【００５２】
例えば、入出力帯域が３２００ＭＢ／ｓで入力帯域が１６００ＭＢ／ｓの条件下で、圧縮器５６の圧縮率を２倍よりも小さくした場合、単位時間当たり８００ＭＢよりも大きい容量のデータが圧縮器５６から出力され、処理回路５８に入力されることになる。処理回路５８の処理能力（処理速度）は８００ＭＢ／ｓであるため、処理回路５８での処理がデータの入力速度に追いつかないことになる。この場合、処理回路５８へのデータ入力を待機する必要があり、その結果、処理回路５８へのデータ入力に待ち時間が発生することになる。
【００５３】
一方、圧縮器５６の圧縮率を２倍よりも大きくした場合、単位時間当たり８００ＭＢよりも小さい容量のデータが圧縮器５６から出力され、処理回路５８に入力されることになる。この場合、処理回路５８の処理速度はデータの入力速度よりも速いので、処理回路５８へのデータ入力に待ち時間は発生しない。しかしながら、処理回路５８の処理速度よりもデータの入力速度が遅いため、処理回路５８が処理を行っていない時間が発生することになる。すなわち、処理回路５８にて待ち時間が発生することになる。
【００５４】
これに対して、本実施形態のように、圧縮器５６の圧縮率を２倍に設定することで、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８の待ち時間の発生が抑制される。また、図４に示す例では、入力帯域（１６００ＭＢ／ｓ）と出力帯域（１６００ＭＢ／ｓ）との合計が、入出力帯域（３２００ＭＢ／ｓ）と同一になるため、入出力帯域が最大限に利用される。
【００５５】
また、本実施形態では、キャッシュメモリを実装することなく、処理の効率が向上する。従って、キャッシュメモリを実装していない画像処理装置であっても、本実施形態を適用することで、画像処理の効率が向上する。
【００５６】
なお、圧縮率を１倍にして描画データを圧縮しない場合、処理回路５８の処理速度が８００ＭＢ／ｓであるので、入力帯域は８００ＭＢ／ｓに制限され、出力帯域は８００ＭＢ／ｓとなる。圧縮率が２倍の場合と１倍の場合とを比較してみると、圧縮率が２倍の場合、入力帯域は１６００ＭＢ／ｓとなり、単位時間当たり４００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ伸張器６０から出力されることになる（Ｍａｘ４００ＭＢ／ｓ）。一方、圧縮率が１倍の場合、入力帯域は８００ＭＢ／ｓとなり、単位時間当たり２００ＭＢのＣ信号、Ｍ信号、Ｙ信号及びＫ信号が、それぞれ伸張器６０から出力されることになる（Ｍｉｎ２００ＭＢ／ｓ）。
【００５７】
次に、図５を参照して、色変換部５の別の例を説明する。図５に示す例では、入出力帯域の実効値は、例えば最大で２８００ＭＢ／ｓである。この場合、図４に示す例と異なり、入力帯域及び出力帯域の両方を１６００ＭＢ／ｓに設定すると、入力帯域及び出力帯域の合計が入出力帯域を超えてしまう。この場合も、再構成制御部２１は、入力帯域と出力帯域との合計が入出力帯域以下となり、圧縮器５６から単位時間当たりに出力される圧縮後のデータの容量と、処理回路５８の処理速度とが同一となるように、圧縮器５６の圧縮率を設定する。一例として、入力帯域が１６００ＭＢ／ｓで出力帯域が８００ＭＢ／ｓの場合に、圧縮器５６の圧縮率を２倍に設定することで、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８の待ち時間の発生が抑制される。以下、詳しく説明する。
【００５８】
入力帯域の実効値が１６００ＭＢ／ｓであり、圧縮器５６の圧縮率が２倍の場合、図４に示す例と同様に、単位時間当たり８００ＭＢのＣＭＹＫ色信号が、ＦＩＦＯ５７から処理回路５８に出力される。図５に示す例では、入出力帯域は２８００ＭＢ／ｓであり、入力帯域は１６００ＭＢ／ｓであるので、出力帯域には８００ＭＢ／ｓの帯域が残されている。従って、伸張器６０から単位時間当たりに出力されるデータの容量が、８００ＭＢ／ｓ以下となるように、処理回路５８は色変換を行う。例えば、処理回路５８は、デバイス色空間のＣＭＹＫ色信号のすべてを一度に生成せずに、複数回に分けてＣＭＹＫ色信号を生成する。まず、処理回路５８は、Ｃ信号用のＬＵＴを用いてＣ信号を生成し、Ｍ信号用のＬＵＴを用いてＭ信号を生成する。これにより、単位時間当たり２００ＭＢのＣ信号及びＭ信号が、それぞれ処理回路５８から伸張器６０に出力される。伸張器６０は、圧縮後のＣ信号及びＭ信号を圧縮フラグに基づき伸張し、伸張後のＣ信号及びＭ信号をメモリ６１，６２に出力する。伸張器６０には単位時間当たり２００ＭＢのＣ信号及びＭ信号がそれぞれ入力されるため、伸張後には、単位時間当たり４００ＭＢのＣ信号及びＭ信号が、伸張器６０からそれぞれ対応するメモリ６１，６２に出力される。そして、単位時間当たり４００ＭＢのＣ信号及びＭ信号が、それぞれ対応するメモリ６１，６２からＤＤＲコントローラ５１に出力される。すなわち、出力帯域の実効値は８００ＭＢ／ｓとなる。
【００５９】
デバイス色空間のＹ信号及びＫ信号も同様にして生成される。この場合、処理回路５８は、Ｙ信号用のＬＵＴを用いてＹ信号を生成し、Ｋ信号用のＬＵＴを用いてＫ信号を生成する。そして、伸張器６０は、圧縮後のＹ信号及びＫ信号を圧縮フラグに基づき伸張し、伸張後のＹ信号及びＫ信号をメモリ６３，６４に出力する。そして、単位時間当たり４００ＭＢのＹ信号及びＫ信号が、それぞれ対応するメモリ６３，６４からＤＤＲコントローラ５１に出力される。
【００６０】
以上のように、入力帯域及び出力帯域が同一とならない場合であっても、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８の待ち時間の発生が抑制されるので、処理効率が向上する。また、図５に示す例では、入力帯域（１６００ＭＢ／ｓ）と出力帯域（８００ＭＢ／ｓ）との合計は２４００ＭＢ／ｓとなり、最大の入出力帯域（２８００ＭＢ／ｓ）の約８０％の帯域が使用されるので、入出力帯域が有効的に利用される。
【００６１】
なお、圧縮率を１倍にして描画データを圧縮しない場合、処理回路５８の処理速度が８００ＭＢ／ｓであるので、入力帯域は８００ＭＢ／ｓに制限され、出力帯域は４００ＭＢ／ｓとなる。図５に示す例では、圧縮率が２倍の場合、単位時間当たり４００ＭＢのＣ信号及びＭ信号（又は、Ｙ信号及びＫ信号）が、それぞれ伸張器６０から出力されることになる（Ｍａｘ４００ＭＢ／ｓ）。一方、圧縮率が１倍の場合、単位時間当たり２００ＭＢのＣ信号及びＭ信号（又は、Ｙ信号及びＫ信号）が、それぞれ伸張器６０から出力されることになる（Ｍｉｎ２００ＭＢ／ｓ）。
【００６２】
次に、圧縮器５６による圧縮処理の一例を説明する。圧縮器５６は、例えばランレングス圧縮を行う。一例として、圧縮器５６は、描画データを構成する画素のうち隣接する画素の値が同一である場合に圧縮処理を行う。但し、本発明の圧縮方式はランレングス圧縮に限定されるものではなく、他の圧縮方式が用いられてもよい。
【００６３】
図６に圧縮処理の一例を示す。図６には、色変換前のＣ信号１００、Ｍ信号１０１、Ｙ信号１０２、Ｋ信号１０３及びＴａｇデータ１０４が示されている。Ｃ信号１００は、画素Ｃ０，Ｃ１，Ｃ２，・・・等の複数の画素の値を含む。Ｍ信号１０１、Ｙ信号１０２、Ｋ信号１０３及びＴａｇデータ１０４もＣ信号１００と同様に、複数の画素の値を含む。なお、Ｔａｇデータ１０４は、描画データの色情報（例えば色空間等）を規定するデータである。
【００６４】
圧縮器５６は、隣接する画素の値が同一である場合に圧縮処理を行う。例えば、圧縮器５６は、同一クロックに含まれる複数の画素の値を比較し、さらに、前後のクロックのそれぞれに含まれる複数の画素の値を比較する。そして、圧縮器５６は、同一クロックに含まれる複数の画素の値が同一であり、前後のクロックのそれぞれに含まれる複数の画素の値が同一の場合、いずれか一方のクロックに含まれる画素を圧縮の対象として圧縮処理を行う。Ｃ信号１００を例にとって説明する。圧縮器５６は、同一クロックに含まれる画素Ｃ０，Ｃ１の値を比較し、また、同一クロックに含まれる画素Ｃ２，Ｃ３の値を比較する。さらに、圧縮器５６は、前後のクロックに含まれる画素Ｃ０、Ｃ１と画素Ｃ２，Ｃ３とを比較対象とし、画素Ｃ０，Ｃ１の値と画素Ｃ２，Ｃ３の値とを比較する。そして、同一クロックに含まれる画素Ｃ０，Ｃ１の値が同一であり、画素Ｃ２，Ｃ３の値が同一であり、さらに、前後のクロックに含まれる画素Ｃ０，Ｃ１の値と画素Ｃ２，Ｃ３の値とが同一の場合、圧縮器５６は、画素Ｃ０，Ｃ１又は画素Ｃ２，Ｃ３のいずれか一方を圧縮の対象として圧縮処理を行う。例えば、圧縮器５６は、画素Ｃ２，Ｃ３の値を出力せずに画素Ｃ０，Ｃ１の値を出力し、画素Ｃ２，Ｃ３の値が画素Ｃ０，Ｃ１の値と同一であることを示す圧縮フラグを出力する。Ｍ信号１０１、Ｙ信号１０２、Ｋ信号１０３及びＴａｇデータ１０４についてもＣ信号１００と同様に、圧縮処理が行われる。
【００６５】
次に、図７を参照して、圧縮器５６による処理を詳しく説明する。まず、描画データ（Ｃ信号、Ｍ信号、Ｙ信号、Ｋ信号及びＴａｇデータ）が圧縮器５６に入力されると、ＸＯＲ回路５６ａにて、同一クロックに含まれる複数の画素の値が比較され、比較結果が出力される。図７に示す信号Ａが、同一クロックに含まれる複数の画素の比較結果を示す。例えば、ＸＯＲ回路５６ａは、同一クロックに含まれる複数の画素の値が同一の場合、信号Ａの値として「１」を出力し、当該複数の画素の値が非同一の場合、信号Ａの値として「０」を出力する。信号Ａは、ＡＮＤ回路５６ｅ及び遅延回路（１ｄｅｌａｙ）５６ｃに入力される。信号Ａは遅延回路５６ｃにて１クロック分の遅延処理が行われ、遅延処理後の信号ＢはＡＮＤ回路５６ｅに入力される。一方、描画データは、遅延回路（１ｄｅｌａｙ）５６ｂにて１クロック分の遅延処理が行われる。そして、遅延処理後の信号がＸＯＲ回路５６ｄに入力され、ＸＯＲ回路５６ｄにて、前後のクロックのそれぞれに含まれる複数の画素の値が比較され、比較結果が出力される。図７に示す信号Ｃが、前後のクロックのそれぞれに含まれる複数の画素の比較結果を示す。例えば、ＸＯＲ回路５６ｄは、前後のクロックのそれぞれに含まれる複数の画素の値が同一の場合、信号Ｃの値として「１」を出力し、当該複数の画素の値が非同一の場合、信号Ｃの値として「０」を出力する。信号Ｃは、ＡＮＤ回路５６ｅに入力される。そして、ＡＮＤ回路５６ｅにて、同一及び前後クロックに含まれる複数の画素の値が同一又は非同一であることを示す信号Ｄが生成される。例えば、ＡＮＤ回路５６ｅは、同一及び前後クロックに含まれる複数の画素の値が同一の場合、信号Ｄの値として「１」を出力し、当該複数の画素の値が非同一の場合、信号Ｄの値として「０」を出力する。信号Ｄは、書き込みパルス発生器（ＦＩＦＯ  Ｗｒｉｔｅ  Ｇｅｎｅｒａｔｏｒ）５６ｆに入力される。
【００６６】
書き込みパルス発生器５６ｆは、信号Ｄに基づき、ＦＩＦＯ５７に描画データを書き込むための書き込みパルスＥを生成する。書き込みパルスＥの値のうち「１」は、描画データを書き込むことを示し、「０」は描画データを書き込まないことを示す。例えば、書込みパルス発生器５６ｆは、描画データに含まれる最初のデータをＦＩＦＯ５７に必ず書き込む。従って、書き込みパルスＥの初期値は「１」となる。そして、書き込みパルス発生器５６ｆは、入力された信号Ｄの値が「０」であれば書き込みパルスＥの値として「１」を出力し、入力された信号Ｄの値が「１」であればトグル動作によって決定される値を書き込みパルスＥの値として出力する。トグル動作においては、書込みパルス発生器５６ｆは、同一及び前後クロックに含まれる複数の画素の値が同一で１つ前の書き込みパルスＥの値が「１」の場合（描画データをＦＩＦＯ５７に書き込む場合）、書き込みパルスＥの値として「０」を出力し、同一及び前後クロックに含まれる複数の画素の値が同一で１つ前の書き込みパルスＥの値が「０」の場合（描画データをＦＩＦＯ５７に書き込まない場合）、書き込みパルスＥの値として「１」を出力する。そして、書き込みパルス発生器５６ｆから出力された書き込みパルスＥは、遅延回路５６ｈ（２ｄｅｌａｙ）にて２クロック分の遅延処理が行われ、ＦＩＦＯ５７に入力される。
【００６７】
例えば、信号Ｄの各タイミング（１）〜（５）に対応する書き込みパルスＥの値は、以下の通りになる。
（１）パルスＥの初期の出力値は「１」。
（２）信号Ｄの値が「１」であるため、トグル動作によってパルスＥの値は「０」。
（３）信号Ｄの値が「０」であるため、パルスＥの値は「１」。
（４）信号Ｄの値が「０」であるため、パルスＥの値は「１」。
（５）信号Ｄの値が「１」であるため、トグル動作によってパルスＥの値は「０」。
【００６８】
また、書き込みパルス発生器５６ｆは、圧縮フラグＧを生成してＦＩＦＯ５７に出力する。圧縮フラグＧは、同一及び前後クロックにおいて値が同一の画素であって、ＦＩＦＯ５７に値が書き込まれない画素が存在するか否かを示す情報である。圧縮フラグＧの値のうち「１」は、同一及び前後クロックにおいて値が同一の画素であって、ＦＩＦＯ５７に値が書き込まれない画素が存在することを示し、「０」は、値がＦＩＦＯ５７に書き込まれない画素が存在しないことを示す。すなわち、圧縮フラグＧの値が「１」の場合に、描画データが圧縮されたことになる。図７に示す例では、タイミング（２）及び（５）において、書き込みパルスＥの値は「０」である。また、信号Ｄを２クロック分遅延させた信号Ｆを参照すると、タイミング（２）及び（５）においては、同一及び前後クロックに含まれる複数の画素の値は同一である。従って、書き込みパルス発生器５６ｆは、タイミング（２）及び（５）における圧縮フラグＧの値として「１」を出力する。また、描画データは、遅延回路（Ｎｄｅｌａｙ）５６ｇにて遅延処理が行われる。
【００６９】
以上のように、書き込みパルスＥ、圧縮フラグＧ及び描画データが、ＦＩＦＯ５７に入力され、書き込みパルスＥに従って、描画データがＦＩＦＯ５７に書き込まれる。例えば、タイミング（１）、（３）及び（４）における書き込みパルスＥの値は「１」であるため、書き込みパルスＥのタイミング（１）、（３）及び（４）に対応する画素の値が、ＦＩＦＯ５７に書き込まれる。一方、タイミング（２）及び（５）における書き込みパルスＥの値は「０」であるため、書き込みパルスＥのタイミング（２）及び（５）に対応する画素の値は、ＦＩＦＯ５７に書き込まれない。また、圧縮フラグＧがＦＩＦＯ５７に書き込まれる。
【００７０】
Ｃ信号を例にとって説明する。例えば、同一クロックに含まれる画素Ｃ０，Ｃ１の値が同一であり、同一クロックに含まれる画素Ｃ２，Ｃ３の値が同一であり、前後クロックに含まれる画素Ｃ０，Ｃ１の値及び画素Ｃ２，Ｃ３の値が同一の場合、画素Ｃ０、Ｃ１の値がＦＩＦＯ５７に書き込まれ、画素Ｃ２，Ｃ３の値はＦＩＦＯ５７に書き込まれない。この場合、画素Ｃ２，Ｃ３の値がＦＩＦＯ５７に書き込まれなかったことを示す圧縮フラグＧの値として、「０００１」がＦＩＦＯ５７に書き込まれる。一方、同一及び前後クロックにおいて値が同一ではなく、ＦＩＦＯ５７に値が書き込まれなかった画素が存在しない場合、圧縮フラグＧの値として「００００」がＦＩＦＯ５７に書き込まれる。例えば、画素（Ｃ０，Ｃ１）、画素（Ｃ４，Ｃ５）及び画素（Ｃ６，Ｃ７）の値が、ＦＩＦＯ５７に書き込まれ、画素（Ｃ２，Ｃ３）及び画素（Ｃ８，Ｃ９）の値は、ＦＩＦＯ５７に書き込まれない。そして、画素（Ｃ２，Ｃ３）及び画素（Ｃ８，Ｃ９）の値が書き込まれなかったことを示す圧縮フラグＧの値として、「０００１」がＦＩＦＯ５７に書き込まれる。Ｍ信号、Ｙ信号及びＫ信号についてもＣ信号と同様に、それぞれ書き込みパルスＥに従ってＦＩＦＯ５７に書き込まれ、Ｍ信号、Ｙ信号及びＫ信号のそれぞれの圧縮フラグＧが、ＦＩＦＯ５７に書き込まれる。
【００７１】
以上の処理により、同一及び前後のクロックに含まれる複数の画素の値が同一の場合、一方のクロックに含まれる画素の値はＦＩＦＯ５７に書き込まれないので、描画データが圧縮されることになる。
【００７２】
次に、図８を参照して、伸張時の処理を詳しく説明する。まず、読み込みパルス発生器５７ａは、２クロック毎に１つのデータを読み込むための読み込みパルスを生成してＦＩＦＯ５７に出力する。これにより、データ１１０がＦＩＦＯ５７からパラレルシリアル変換部５８ａに出力され、パラレルシリアル変換器５８ａにてパラレルシリアル変換が行われる。パラレルシリアル変換後のデータ１２０は処理回路５８にて色変換が行われ、色変換後のデータ１３０はシリアルパラレル変換器５８ｂにてシリアルパラレル変換が行われる。なお、処理回路５８にて、色変換のキャリブレーションが行われてもよい。また、圧縮フラグは、遅延回路（Ｎｄｅｌａｙ）５９にて遅延処理が行われ、伸張器６０に出力される。伸張器６０は、圧縮フラグに従い、シリアルパラレル変換後のデータ１４０を伸張し、伸張後のデータ１５０をメモリ６１（６２〜６４）に出力する。このとき、伸張器６０は、あるクロックにおける圧縮フラグの値が「０００１」の場合、当該クロックにおけるデータを用いて、当該クロックの次のクロックにおけるデータを生成する。一方、伸張器６０は、あるクロックにおける圧縮フラグの値が「００００」の場合、当該クロックの次のクロックのデータを、当該次のクロックのデータとしてそのまま用いる。Ｃ信号を例にとって説明すると、画素Ｃ２，Ｃ３の値は画素Ｃ０，Ｃ１の値と同じであるため、画素Ｃ２，Ｃ３の値として画素Ｃ０、Ｃ１の値が用いられる。また、画素Ｃ８，Ｃ９の値は画素Ｃ６，Ｃ７の値と同じであるため、画素Ｃ８，Ｃ９の値として画素Ｃ６，Ｃ７の値が用いられる。このようにして伸張処理が行われる。Ｍ信号、Ｙ信号及びＫ信号もＣ信号と同様に、圧縮フラグに従って伸張処理が行われる。なお、読み込みパルス発生器５７ａ、パラレルシリアル変換器５８ａ及びシリアルパラレル変換器５８ｂは、図４及び図５に示されていないが、これらも色変換部５に含まれる。
【００７３】
なお、圧縮処理及び伸張処理に用いられる回路は、図７及び図８に示す回路に限定されるものではく、他の回路が用いられてもよい。
【００７４】
次に、図９を参照して、参考例に係る色変換部２００について説明する。参考例に係る色変換部２００は、圧縮器及び伸張器を備えておらず、描画データの圧縮処理を行わない。例えば図９に示すように、入出力帯域の実効値が、最大で２８００ＭＢ／ｓであるとする。処理回路５８の処理速度が８００ＭＢ／ｓであるため、処理回路５８へのデータ入力の待ち時間の発生を抑制するためには、入力帯域は８００ＭＢ／ｓに設定される。処理回路５８では、単位時間当たり２００ＭＢのＣ信号及びＭ信号が生成され、それぞれ対応するメモリ６１，６２に記憶される。そして、単位時間当たり２００ＭＢのＣ信号及びＭ信号が、それぞれ対応するメモリ６１，６２からＤＤＲコントローラ５１に出力される。すなわち、出力帯域の実効値は４００ＭＢ／ｓとなる。デバイス色空間のＹ信号及びＫ信号も同様にして生成され、ＤＤＲコントローラ５１に出力される。
【００７５】
以上のように、描画データを圧縮しない場合、入力帯域が制限され、色変換部２００の処理効率が低下する。これに対して、本実施形態に係る色変換部５では、参考例と比較して入力帯域が制限されないため、参考例よりも処理効率が向上する。例えば、参考例に係る色変換部２００では、入力帯域が８００ＭＢ／sに制限されるのに対し、図４及び図５に示す本実施形態に係る色変換部５では、入力帯域が１６００ＭＢ／ｓとなる。そのため、本実施形態によると、参考例と比較して、２倍の処理能力が発揮し得る。また、参考例では、入力帯域（８００ＭＢ／ｓ）と出力帯域（４００ＭＢ／ｓ）との合計は１２００ＭＢ／ｓとなり、入出力帯域（２８００ＭＢ／ｓ）の半分以下の帯域しか使用されない。一方、図４に示す本実施形態では、入出力帯域が最大限に利用され、図５に示す実施形態では、入出力帯域の約８０％が利用されるので、本実施形態によると、参考例と比較して、入出力帯域が有効的に利用される。
【００７６】
また、図１０に示すように、参考例の色変換部２００に含まれるメモリ５２〜５５、処理回路５８及びメモリ６１，６２を並列化することが考えられるが、回路規模が大き過ぎてＤＲＰに実装することが困難であるため、並列化を実現することは困難である。これに対して本実施形態では、回路を並列化しなくても、処理回路５８へのデータ入力の待ち時間の発生及び処理回路５８の待ち時間の発生が抑制され、処理効率が向上する。すなわち、本実施形態によると、回路を並列化する場合と比較して、より少ないハードウェア資源で、処理効率が向上する。
【００７７】
また、別の例として、再構成制御部２１は、描画データに表されたオブジェクトの種類に応じて、圧縮器５６の圧縮率を変えてもよい。例えば、再構成制御部２１は、描画データに表されたオブジェクトが文字等のテキストの場合、圧縮率を相対的に低く設定し、描画データに表されたオブジェクトがグラフィックスの場合、圧縮率を相対的に高く設定してもよい。さらに別の例として、再構成制御部２１は、描画データのページ毎に圧縮器５６の圧縮率を変えてもよい。例えば、再構成制御部２１は、ページ毎にデータの容量が異なる場合、データの容量に応じてページ毎に圧縮率を設定してもよい。この場合、再構成制御部２１は、ページ毎に再構成可能回路部２２の回路構成を変更する。
【００７８】
なお、上記の実施形態では、画像処理の一例として色変換が行われる場合について説明したが、処理回路５８で行われる画像処理は色変換に限らず、他の画像処理が行われてもよい。すなわち、本実施形態では、色変換処理のみならず、他の様々な画像処理に適用されてもよい。
【符号の説明】
【００７９】
１  画像処理装置、２  中間データ生成部、３  ラスタライザ、４  画像メモリ、５  色変換部、６  印刷装置、２０  ＤＲＰ、２１  再構成制御部、２２  再構成可能回路部、５６  圧縮器、５８  処理回路、６０  伸張器。
【図１】
0005942934.tif 000002
【図２】
0005942934.tif 000003
【図３】
0005942934.tif 000004
【図４】
0005942934.tif 000005
【図５】
0005942934.tif 000006
【図６】
0005942934.tif 000007
【図７】
0005942934.tif 000008
【図８】
0005942934.tif 000009
【図９】
0005942934.tif 000010
【図１０】
0005942934.tif 000011