(57)【特許請求の範囲】
【請求項１】
画像処理に使用されるデータを保存するメモリと、前記メモリから読み出されたデータを記憶するキャッシュメモリと、を備え、前記メモリ及び前記キャッシュメモリに保存されているデータを使用して、複数の処理の工程により画像データを処理するデータ処理装置であって、
前記工程の進捗状況の遅れを監視する進捗状況監視手段と、
前記進捗状況監視手段の監視の結果、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記工程において実行される処理の内容を変更して処理時間を短縮する処理内容変更手段と、
を備え、
前記進捗状況監視手段は、
前記工程において実行される処理にかかった時間を取得するタイマと、
前記タイマによって取得された時間と処理済みの画像処理のサイクル数とを比較して現状の処理レートを算出し、予め設定された処理レートに対する算出された処理レートの遅れを判定する処理レート判定手段と、を含むことを特徴とするデータ処理装置。
【請求項２】
前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記処理内容変更手段は、画像データの処理に使用されるデータの数を減じて処理を実行することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記複数の処理の工程が画像データの色を補間することによって変換する処理を含み、
前記処理内容変更手段は、前記補間に用いられる色のデータ数を減じて処理を実行することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記処理内容変更手段は、画像データを、該画像データの値にのみ応じて定められた所定の値に変換することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記処理内容変更手段が画像データを所定の値に変換する場合、該所定の値に置換係数を加えてばらつきを持たせる置換係数付加手段を備えることを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記複数の処理の工程が画像データを２値化する２値化工程を含み、
前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記処理内容変更手段は、画像データを、先に実行された工程に使用されたディザマスクを使って２値化することを特徴とする請求項１から５のいずれか１項に記載のデータ処理装置。
【請求項７】
前記工程に使用されるデータを保存する第１処理データ保存手段と、
前記第１処理データ保存手段に保存されているデータを読み出すデータ読出手段と、
前記データ読出手段によって読出されたデータを保存する第２処理データ保存手段と、を備え、
前記データ読出手段は、一の工程に使用されるデータを読み出す際、他の工程に使用され得る他のデータをも読み出すことを特徴とする請求項１から６のいずれか１項に記載のデータ処理装置。
【請求項８】
画像処理に使用されるデータを保存するメモリと、前記メモリから読み出されたデータを記憶するキャッシュメモリと、を備え、前記メモリ及び前記キャッシュメモリに保存されているデータを使用して、複数の処理の工程により画像データを処理するデータ処理方法であって、
前記工程の進捗状況を判断する進捗状況判断ステップと、
前記進捗状況判断ステップにおいて判断された進捗状況の遅れを監視する進捗状況監視ステップと、
前記進捗状況監視ステップにおける監視の結果、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記工程において実行される処理の内容を変更して処理時間を短縮する処理内容変更ステップと、
を含み、
前記進捗状況監視ステップは、
前記工程において実行される処理にかかった時間を取得するステップ、取得された時間と処理済みの画像処理のサイクル数とを比較して現状の処理レートを算出するステップ、予め設定された処理レートに対する算出された処理レートの遅れを判定するステップを含むことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理方法にかかり、特に画像の処理にルックアップテーブルを用いたデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
現在、プリンタ等の画像処理装置では、ますます高速に画像データを処理することが要求されている。また、レーザプリンタ、インクジェット式のプリンタのいずれにあっても、カラー画像の処理に対するニーズが高まっている。カラー画像の処理にあっては、画像処理速度の高速化の要求がいっそう高くなる。
ところで、画像処理には、現在、ルックアップテーブルを用いるものが多くある。ルックアップテーブルを参照して行われる処理としては、例えば、ＲＧＢ−ＹＭＣＫ色変換、ディザ法を用いた２値化処理があって、画像データを印刷するための印刷データを生成する１回の処理中に複数回ルックアップテーブルを参照するものも多い。ルックアップテーブル参照の処理は、一般的な画像処理にあって比較的時間を要する処理であって、８０ｐｐｍ（ページ／分）、あるいは９０ｐｐｍといった高い処理速度を要求されるカラープリンタに適用するにはいまだ改良の余地がある。
【０００３】
このような点を改良する従来技術としては、例えば、特許文献１が挙げられる。特許文献１は、画像処理装置に画像処理に特化されたキャッシュメモリを設けることによって画像処理を高速に行うものである。キャッシュメモリを設けることによって、画像処理装置は、より外側のメモリから必要なデータを画像処理に先んじて読み出す、あるいは読み出し順序を変更する、アウトオブオーダの手法を用いるといった方法によって画像処理の速度を高めることができる。
【０００４】
特許文献１は、キャッシュメモリを備えた構成において、さらにキャッシュヒット率を向上させて画像処理の速度をいっそう高めるものである。なお、キャッシュヒット率とは、一のサイクルでキャッシュメモリにアクセスし、取得すべき画像データをキャッシュメモリから得ることをいう。
【特許文献１】特開２０００−２１１０５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、キャッシュヒット率は、画像処理の内容によって変化する。すなわち、画像処理にあっては、同じ値の画像データを連続して処理する場合には比較的高い値が得られるものの、処理される画像において画像の色や濃度が変化する場合に低下することが知られている。したがって、従来の画像処理装置は、処理の対象となる画像によっては充分処理効率を高めることができない場合がある。
【０００６】
また、画像処理装置は、画像処理を画像データの読出し、解釈、演算といった工程（サイクル）ごとに実行していて、先にキャッシュメモリに読み出された画像データは１回のサイクルで直ちに読み出すことができる。一方、先の画像処理で使用されなかった画像データは、キャッシュメモリから読出すことができずに処理時間が長くなる。
このため、上記した従来技術の画像処理装置は、キャッシュミスヒットが連続して起こる最悪の条件を想定し、想定された最悪の条件に備えてバッファとなるメモリの規模を設計していた。この点は、画像処理装置に備えられるバッファメモリの規模の大型化を招き、また、低コスト化を妨げる一因になっていた。
【０００７】
本発明は、このような点に鑑みてなされたものであって、予め設定された時間内にデータの処理が可能であって、しかもバッファメモリの大規模化を抑えることが可能なデータ処理装置及びデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の課題を解決するため、本発明のデータ処理装置は、複数の処理の工程によってデータを処理するデータ処理装置であって、前記工程の進捗状況の遅れを監視する進捗状況監視手段と、前記進捗状況監視手段の監視の結果、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記工程において実行される処理の内容を変更する処理内容変更手段と、を備えることを特徴とする。 
【０００９】
このような発明によれば、複数の処理の工程によってデータを処理するデータ処理装置において、工程の進捗状況の遅れを監視することができる。そして、進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えた場合、工程において実行される処理の内容を変更して処理時間を短縮することができる。
このため、予め設定されている進捗予定に対する現状の進捗状況の遅れを取り返し、予め設定された時間内にデータの処理が可能なデータ処理装置を提供することができる。 
【００１０】
また、処理を設定された時間内に終了できる本発明は、本来キャッシュのヒット、ミスヒットによって変わる処理時間が正確に予想できる。このため、処理に必要なバッファメモリの規模に大きなマージンをとる必要がなく、バッファメモリの大規模化を抑えることが可能なデータ処理装置を提供することができる。 
また、本発明のデータ処理装置は、前記複数の処理の工程が画像にかかる画像データを処理する工程を含み、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記処理内容変更手段は、画像データの処理に使用されるデータの数を減じて処理を実行することを特徴とする。 
【００１１】
このような発明によれば、画像データ処理の演算にかかる時間が短縮され、ひいては画像処理全体の時間を短縮することができる。 
また、本発明は、前記複数の処理の工程が画像データの色を補間することによって変換する処理を含み、前記処理内容変更手段は、前記補間に用いられる色のデータ数を減じて処理を実行することを特徴とする。
【００１２】
このような発明によれば、色補間に使用される例えば格子点のデータの数を減じることによって色変換のための演算にかかる時間が短縮され、ひいては画像処理全体の時間を短縮することができる。 
また、本発明のデータ処理装置は、前記複数の処理の工程が画像にかかる画像データを処理する工程を含み、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記処理内容変更手段は、画像データを、該画像データの値にのみ応じて定められた所定の値に変換することを特徴とする。 
【００１３】
このような発明によれば、画像データの周辺画像の画像データ等の影響を計算することなく、短時間のうちに画像データを変換することが可能になる。
また、本発明のデータ処理装置は、前記処理内容変更手段が画像データを所定の値に変換する場合、該所定の値に係数を付加してばらつきを持たせる係数付加手段を備えることを特徴とする。
【００１４】
このような発明によれば、画像データの変更後の値に偏りが発生して画像品質が劣化することを防ぐことができる。 
また、本発明のデータ処理装置は、前記複数の処理の工程が画像データを２値化する２値化工程を含み、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記処理内容変更手段は、画像データを、先に実行された工程に使用されたディザマスクを使って２値化することを特徴とする。
【００１５】
このような発明によれば、新たなディザマスクのデータを使用しないことによって処理に使用されるデータ数を減じ、また、読み出しのための処理を省いて画像処理時間を短縮することができる。 
また、本発明のデータ処理装置は、前記工程に使用されるデータを保存する第１処理データ保存手段と、前記第１処理データ保存手段に保存されているデータを読み出すデータ読出手段と、前記データ読出手段によって読出されたデータを保存する第２処理データ保存手段と、を備え、前記データ読出手段は、一の工程に使用されるデータを読み出す際、他の工程に使用され得る他のデータをも読み出すことを特徴とする。
【００１６】
このような発明によれば、使用の可能性があるデータを先読みしておき、キャッシュミスヒットの発生率を低下して画像処理にかかる時間を短縮することができる。
また、本発明のデータ処理方法は、複数回の処理の工程によってデータを処理するデータ処理方法であって、前記工程の進捗状況を判断する進捗状況判断ステップと、前記進捗状況判断ステップにおいて判断された進捗状況の遅れを監視する進捗状況監視ステップと、前記進捗状況監視ステップにおける監視の結果、前記進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、前記工程において実行される処理の内容を変更する処理内容変更ステップと、を含むことを特徴とする。
【００１７】
このような発明によれば、複数回の処理の工程によってデータを処理するデータ処理装置において、工程の進捗状況の遅れを監視することができる。そして、進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えた場合、工程において実行される処理の内容を変更して処理時間を短縮することができる。このため、予め設定されている進捗予定に対する現状の進捗状況の遅れを取り返し、予め設定された時間内にデータの処理が可能なデータ処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図を参照して本発明にかかる一実施の形態のデータ処理装置を説明する。なお、本実施形態は、データ処理装置を画像データを処理して画像を生成する画像処理装置として構成した例について述べるものとする。また、画像データとは、対象物の反射光の強度に基づくデータであって、画像処理とは画像データを変換して画像を生成する処理を指すものとする。
【００１９】
図１は、本実施形態の画像処理装置を含む画像出力システムを示した図である。図示した構成は、実際に画像のプリントするプリンタエンジン２、画像データを処理してプリント可能なデータに変換し、プリンタエンジンに２に渡す画像処理装置１を含む画像出力装置４、画像処理装置を制御するホストコンピュータ３とで構成されている。ホストコンピュータ３には、ＰＣ（Personal Computer）等の汎用的なコンピュータを用いることができる。
【００２０】
図２は、図１に示した画像出力装置によって実行される画像出力の一連の処理について示したフローチャートである。フローチャートに示したとおり、画像出力装置は、ホストコンピュータ３からプリントすべき画像のデータを入力する（Ｓ２０１）。次に、入力された画像データの解像度をプリントの条件に合わせて変換し（Ｓ２０２）、画像データのＲ，Ｇ，Ｂの色をインク色のＹ，Ｍ，Ｃ，Ｋに変換する（Ｓ２０３）。このような処理は、一般的に色変換と呼ばれる処理である。
【００２１】
図３は、色変換の処理を説明するための図であって、（ａ）は、Ｒ，Ｇ，Ｂの色空間において定められる点ＡないしＨの８点の四面体の格子点と、画像データＰの色との関係を示している。また、（ｂ）は、色変換の処理を説明するためのフローチャートである。
色変換処理では、先ず、色変換すべき画像データを入力する（Ｓ３０１）。次に、（ａ）に示した点ＡないしＨの８点の格子点の色情報を、Ｒ，Ｇ，Ｂ空間の座標として取得する（Ｓ３０２）。次に、画像データＰと各格子点とのＲ，Ｇ，Ｂ空間上の距離に基づいて画像データＰの色を補間処理する（Ｓ３０３）。色補間によって変換された画像データＰ'を出力し（Ｓ３０４）、色変換処理は終了する。
【００２２】
なお、このような色変換の処理は、格子点のうち８点の全てを使用するものばかりでなく、８点のうち一部を使用しても実行できる。色変換に使用される格子点の数を減じた場合、色変換の演算にかかる時間が短くなって画像処理の速度を高めることが可能になる。
次に、画像出力装置は、変換された画像データをガンマ補正する（Ｓ２０４）。ガンマ補正は、Ｒ，Ｇ，Ｂの色と変換後のＹ，Ｍ，Ｃ，Ｋの色とをプリンタエンジン２の特性に合わせて調整する処理をいう。
【００２３】
さらに、画像出力装置は、画像データを２値化処理する（Ｓ４０１）。２値化処理は、画像データをプリント画像において黒と表現するか、または白と表現するかを決定する処理である。
２値化処理は、ガンマ補正後の画像データをしきい値マトリックスの各点の濃度と比較し、対応する濃度よりも値が高い画像データを黒、低い画像データを白とするものである。図４に２値化処理を説明するための模式図を示す。図４（ａ）は、２値化処理の対象となる画像データの値（濃度）を示している。（ｂ）は、２値化処理に使用されるディザマスクを示し、（ｃ）は、（ａ）に示した画像データを（ｂ）に示したディザマスクと比較して得られた黒または白の結果を示している。
【００２４】
２値化処理は、通常、画像データの各々に対応したディザマスクを読出して行われる。読出しにおいて、画像データに対応するディザマスクがキャッシュメモリにない場合、キャッシュミスヒットが発生する。したがって、対応するディザマスクがキャッシュメモリにない場合には代替となるディザマスクをキャッシュメモリから読み出して使用することによってキャッシュミスヒットをなくし、処理速度を高めることが可能になる。
【００２５】
なお、本実施形態では、色変換、２値化の処理を、いずれもルックアップテーブル（ＬＵＴ）を用いて実行している。
図５は、図１に示した画像処理装置１のブロック図である。画像処理装置１は、画像処理全般を制御するＣＰＵ２５、ＣＰＵ２５によって制御され、画像処理に特化された制御だけを行うコプロセッサ２６を備えている。また、ホストコンピュータ３によってなされる一般的な命令を蓄積する汎用命令メモリ２１、汎用命令メモリ２１から読み出された命令を一時的に記憶するためのキャッシュメモリ２３、コプロセッサ２６の画像処理に使用される画像データやルックアップテーブルの値を一時的に保存する画像処理用キャッシュメモリ２４を備えている。
【００２６】
なお、本実施形態では、コプロセッサ２６を、より上位の制御装置であるＣＰＵ２５と接続し、ＣＰＵ２５から入力される制御信号にしたがって動作するものとして構成した。ただし、本実施形態はこのような構成に限定されるものでなく、コプロセッサ２６の構成をＣＰＵ２５に組み込んで一体的なプロセッサとして構成することも可能である。
図６は、図５に示した画像処理装置１をより詳細に示したブロック図である。画像処理装置１は、ＬＵＴ（対照表）を参照して複数の画素のデータでなる画像データを処理する画像処理装置である。なお、図６中に示した構成のうち、図５に示した構成と同様の構成については同様の符号を付し、説明を一部略すものとする。
【００２７】
画像処理１は、複数回の処理の工程によってデータを処理するデータ処理装置であって、特に画像データを処理するコプロセッサ２６を備えている。コプロセッサ２６は、コプロセッサＩ／Ｆ７６によってＣＰＵ２５と接続し、ＣＰＵ２５の指示によって画像処理を実行する。画像処理の工程は、所定の時間を単位にして行われ、この単位時間をサイクルと以降記す。
【００２８】
コプロセッサ２６は、メモリＩ／Ｆ６６を介して画像処理すべき画像データ、ルックアップテーブル（ＬＵＴ）に書き込まれている値を入力し、画像処理して出力する。このため、画像処理１の画像処理用メモリ２２は、画像処理対象の画像データを蓄積する入力画像メモリ６１、画像処理の種別（アルゴリズム）や処理条件に応じた複数のＬＵＴを保存するＬＵＴメモリ６２、画像処理された画像データを蓄積する出力画像メモリ６３を備えている。
【００２９】
また、コプロセッサ２６は、画像処理用キャッシュメモリ６８を備えている。画像処理用キャッシュメモリ６８にはキャッシュＴＡＧメモリ６７が付加されていて、キャッシュＴＡＧメモリ６７には画像処理用キャッシュメモリ６８内の複数の領域の先頭アドレスが記憶されている。
画像処理用キャッシュメモリ６８は、入力画像メモリ６１、ＬＵＴメモリ６２から読み出された画像データあるいはルックアップテーブルの値を保存する構成である。また、コプロセッサ２６は、画像処理用キャッシュメモリ６８からの画像データ等の読み出しを制御するキャッシュ制御部６９及びデータ読出部７０、先行読出部７１を備えている。
【００３０】
本実施形態では、入力画像メモリ６１、ＬＵＴメモリ６２が画像処理の工程に使用されるデータを保存する第１処理データ保存手段として機能する。また、画像処理用キャッシュメモリ６８が第２処理データ保存手段として機能する。さらに、キャッシュ制御部６９、データ読出部７０、先行読出部７１が、第１処理データ保存手段に保存されているデータを読み出すデータ読出手段として機能する。
【００３１】
データ読出手段のうち、特に先行読出部７１は、一の画像処理の工程に使用されるデータを読み出す際、他の工程に使用され得る他のデータをも読み出す動作を実行するものである。また、キャッシュ制御部６９は、画像処理用キャッシュメモリ６８に対する画像データの読出しや、読出し動作におけるキャッシュのヒット、ミスヒットを判断している。
コプロセッサ２６は、処理工程の進捗状況の遅れを監視する処理レートテスト部７２及びタイマ７３を備えている。処理レートテスト部７２は、タイマ７３を使って処理にかかった時間を取得し、取得された時間と処理済の画像処理のサイクル数を比較して現状の処理レートを算出する。さらに、算出された処理レートを処理レート設定レジスタ７４の値と比較し、設定された処理レートに対する現在の処理レートの遅れを判定する。
【００３２】
また、画像処理装置１は、処理レートテスト部７２の監視の結果、処理の進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えたと判断された場合、画像処理の工程において実行される画像処理の内容を変更することによって処理時間を短縮する置換処理部７７を備えている。
図７は、以上の処理レートの比較、遅れの判定について説明するための図である。図７に示したグラフは、横軸に処理に費やされたサイクルの数を、縦軸に画像処理開始からの時間を示している。縦軸上の点Ｌは、画像データの処理の制限時間を示す値であって、本実施形態では、処理レート設定レジスタ７３に記録されているものとする。
【００３３】
処理レートテスト部７２は、画像データの処理中に、画像処理に費やされたサイクルを例えば処理カウントによって検出する。そして、検出されたカウント数をカウント開始（画像処理開始）からの時間に対応させて記録することによって図７に示した線分Ｃを得る。線分Ｃは、画像処理の処理レート（進捗状況）を表していて、処理レートテスト部７２は、線分Ｃが示す状況から画像処理が、点Ｌが示す時間内に終了するか否か判断する。
【００３４】
画像処理の終了時間の判断は、例えば、線分Ｃの傾きの平均を示す線分Ａを延長して線分Ａと所定のカウント数に対応する縦軸との交点が点Ｌ以上になるか、または点Ｌ以下になるかを判断することによって実現できる。本実施形態では、処理レートテスト部７２が、線分Ａと縦軸とが点Ｌ以上の点で交わる場合、現状では画像処理時間（進捗予定）の遅れが許容範囲を超えると判断する。そして、処理時間を短縮するため画像処理の内容を変更するよう置換処理部７７に指示する。
【００３５】
また、画像処理の終了時間の判断は、線分Ｃの直近の傾きを示す直線を延長して線分Ｂを得る。そして、線分Ｂと縦軸との交点が点Ｌ以上になるか、または点Ｌ以下になるかを判断することによっても実現できる。処理レートテスト部７２は、判断の結果、線分Ｂと縦軸とが点Ｌ以上の点で交わる場合、現状では画像処理時間の遅れが許容範囲を超えると判断する。
【００３６】
なお、本実施形態の置換処理部７７は、進捗状況の遅れが許容範囲を超えた場合に限らず、画像データに画像処理を施して画像データの値を変換する構成であるものとする。
置換処理部７７は、進捗状況の遅れが許容範囲を超えた場合、現在実行されている画像処理の内容を変更して処理時間を短縮し、画像処理を所定の時間内に終了させるものである。処理時間を短縮するための画像処理の内容の変更は、例えば、処理に使用されるデータの数を減じることによって実現できる。
【００３７】
画像処理に使用されるデータ数を減じる具体的な方法としては、例えば、図３で説明した色変換の補間処理に用いられる色のデータ数を減じることが挙げられる。具体的には、置換処理部７７が、通常図３に示した８個の格子点が示す色のデータを用いて画像データＰの色を変換しているものとする。このような場合、置換処理部７７は、８個のうち４個の格子点が示す色のデータを採用して色変換することによって演算回数を低減し、画像処理にかかる時間を短縮することができる。
【００３８】
上記した処理のため、コプロセッサ２６は、格子点数制御部７９を備えている。格子点数制御部７９は、処理レートテスト部７２の画像処理内容変更の指示にしたがって置換処理部７７に色置換処理に使用すべき格子点の数を出力する。
また、置換処理部７７は、色変換の工程において、格子点が示す色のデータを使用することなく、読み出された画像データの値を、この値にのみ応じた所定の値に置換することも可能である。置換は、例えば、画像データが０〜２５５の値をとり得る場合、設定値を１２５と２５５とに設定する。そして、読み出された画像データが１２５以下であった場合には全て１２５、１２５以上２５５以下であった場合には全て２５５とすることによって実行できる。
【００３９】
上記した処理のため、コプロセッサ２６は、色変換部７８を備えている。色変換部７８は、読み出された画像データを画像処理の内容に応じて１２５等の値と今回読み出された画像データの値とを比較する。そして、比較の結果から画像データの値とみなされる値を置換処理部７７に出力する。
また、このような処理において、今回読み出された画像データが１２５または２５５の一方の値に偏って置換されて画像品質を損なうことを防ぐため、本実施形態は、置換係数付加部７５を備えている。置換係数付加部７５は、読み出された画像データの値に所定の値（例えば５）を加えるまたは減じることによって画像データの値にばらつきを付加するものである。
【００４０】
本実施形態の置換係数付加部７５は、ばらつきを加えたことによって画像データ全体の濃度が変化することを防いでいる。具体的には、複数回置換係数印加の処理を行う場合、置換係数として画像データに与えられる値及び正または負の方向を、処理全体で加算した場合に合計値は０になるように制御する。
なお、置換係数付加部７５は、より細かい間隔で設定された値と画像データを比較する場合、変換後の画像データの値をばらつかせるものであってもよい。
【００４１】
また、置換処理部７７は、色変換の工程において、先に読み出された画像データの変換後の値に画像データを置換することによって色置換に使用されるデータ数を減じて処理時間を短縮することも可能である。なお、変換に使用される先の画像データとしては、画像において隣接する画像データの値が連続する傾向にあることに考慮し、直前に読み出された画像データを使用することが考えられる。
【００４２】
さらに、置換処理部７７は、図４に示した２値化処理の内容を変更しても処理時間を短縮することができる。すなわち、置換処理部７７は、画像処理の進捗状況の遅れが予め設定されている処理時間に対する許容範囲を超えたと判断された場合、今回読み出された画像データを、先に実行された工程に使用されたディザマスクを使って２値化することによって新たなディザマスクのデータを省き、処理時間を短縮することができる。
【００４３】
なお、上記した処理では、今回読み出された画像データの２値化に直前の処理で使用されたディザマスクを使用するものとする。このような処理の条件は、画像において隣接する画像データの値が連続する傾向にあることに考慮して設定されたものである。
次に、以上述べた画像処理装置の動作を説明する。
置換処理部７７は、画像処理用キャッシュメモリ６８または入力画像メモリ６１、ＬＵＴメモリ６２からデータを読み出し、色変換や２値化の処理をして出力画像メモリ６３に出力する。処理レートテスト部７２は、このような処理中に図７に示した進捗状況を記録している。そして、所定の処理が終了するごとに、または定期的に進捗状況を置換処理部７７に通知する。
【００４４】
置換処理部７７は、処理が時間Ｌの範囲で終了しない場合、予め設定されている画像処理の変更内容にしたがって画像処理の内容を変更し、処理時間の短縮を実行する。この処理のため、格子点数制御部７９、ディザマスクパターン制御部８０、置換係数付加部７５、色変換部７８の少なくとも一つが画像処理の変更に必要なデータを置換処理部７７に入力する。
【００４５】
なお、本実施形態の画像処理装置は、処理レートテスト部７２によって行われた次回の判断において、進捗状況が進捗予定の時間内に終了すると判断された場合、変更した画像処理の内容を変更前の内容に戻すことも可能である。また、本実施形態は、進捗の遅れの程度を多段階に設定し、この段階に合わせて画像処理の変更内容を多段階に設定することも可能である。
【００４６】
図８、図９は、以上述べた画像処理装置１のコプロセッサ２６で行われる画像処理方法を説明するためのフローチャートである。図８は、色変換の処理の変更について説明し、図９は、２値化の処理の変更について説明している。
図８に示したように、本実施形態の色変換処理では、画像処理の開始直後、処理レート設定レジスタ７４に図７に示した点Ｌが示す時間内に処理を終了できる処理レートが設定される（Ｓ８０１）。処理レートテスト部７２は、処理カウントとタイマ７３による計時の結果に基づいて現状のデータ処理レートを判定する（Ｓ８０２）。続いて、キャッシュのＴＡＧテストを実行し（Ｓ８０３）、対象となるデータの取得において画像処理用キャッシュメモリ６８にヒットしたか否かの判定結果を置換処理部７７に与える。
【００４７】
次に、処理レートテスト部７２は、ステップＳ８０２の判定によって得られた処理レート（実際の処理レート）と予め設定されたレートとを、図７で説明した方法によって比較する（Ｓ８０４）。この比較の結果、実際の処理レートが設定された処理レートより高い場合（Ｓ８０４：Ｎｏ）、置換処理部７７は、色補間において四面体補間に使用される８個の格子点の全てを読出し（Ｓ８０５）、通常のとおり８個の格子点を使って色変換を実行する（Ｓ８０６）。
【００４８】
一方、ステップＳ８０４において、実際の処理レートが設定された処理レートより低いと判断された場合（Ｓ８０４：Ｎｏ）、格子点数制御部７９の制御にしたがって、置換処理部７７が画像処理に使用する格子点数を削減処理する（Ｓ８０８）。置換処理部７７は、削減された格子点の数分の格子点をＬＵＴメモリ６２から読み出す（Ｓ８０９）。さらに、処理すべき画像データの周辺に位置する画素の画像データと共に入力画像メモリ６１から読み出しておく（Ｓ８１０）。
【００４９】
また、置換係数付加部７５が読み出された画像データに置換係数を付加する（Ｓ８１１）。置換係数の付加にあたって、本実施形態では、置換係数によって画像データに付加された値の大きさや正、負の別を蓄積する（Ｓ８１２）。蓄積された値は、後に画像処理全体で付加された値が０になるよう調整する処理に使用される。そして、本実施形態の画像処理装置は、少ない格子点を使って画像データの色変換を実行する（Ｓ８１３）。
【００５０】
本実施形態の画像処理装置は、以上の処理を処理対象の画像を構成する全画像データについて終了するまで繰り返す（Ｓ８０７）。そして、全画像データの処理の終了後、色変換の処理を終了する（Ｓ８０７：Ｙｅｓ）。
また、図９に示したように、本実施形態の２値化処理では、画像処理の開始直後、処理レート設定レジスタ７４に図７に示した点Ｌが示す時間内に処理を終了できる処理レートが設定される（Ｓ９０１）。処理レートテスト部７２は、処理カウントとタイマ７３による計時の結果に基づいて現状のデータ処理レートを判定する（Ｓ９０２）。続いて、キャッシュのＴＡＧテストを実行し（Ｓ８０３）、対象となるデータの取得において画像処理用キャッシュメモリ６８にヒットしたか否かの判定結果を置換処理部７７に与える。
【００５１】
次に、処理レートテスト部７２は、ステップＳ９０２の判定によって得られた処理レート（実際の処理レート）と予め設定されたレートとを、図７で説明した方法によって比較する（Ｓ９０４）。この比較の結果、実際の処理レートが設定された処理レートより高い場合（Ｓ９０４：Ｎｏ）、置換処理部７７は、画像データに対応するルックアップテーブルにあるディザマスクパターンを読出し（Ｓ９０５）、通常のとおり２値化処理を実行する（Ｓ９０６）。
【００５２】
一方、ステップＳ９０４において、実際の処理レートが設定された処理レートより低いと判断された場合（Ｓ９０４：Ｎｏ）、ディザマスクパターン制御部８０の制御にしたがって、置換処理部７７が先の処理で使用されたディザマスクを今回の処理にも使用する共用処理をする（Ｓ９０８）。
置換処理部７７は、前回使用されたディザマスクのうち今回使用されるディザマスクとして選択されたディザマスクを画像処理用キャッシュメモリ６８から読み出す（Ｓ９０９）。このとき、先行読み出し部７１の制御により、今回処理される画像データの周辺に位置する画像データに対応するディザマスクも画像処理用キャッシュメモリ６８に読み出される（Ｓ９１０）。
【００５３】
また、置換係数付加部７５が読み出された画像データに置換係数を付加する（Ｓ９１１）。置換係数を付加することにより、本実施形態は、画像データを黒または白に判定される許容値を設定することが可能になる。また、置換係数の付加にあたって、本実施形態では、置換係数によって画像データに与えられた値の大きさや正、負の別を蓄積する（Ｓ９１２）。蓄積された値は、後に画像処理全体で付加された値が０になるよう調整する処理に使用される。そして、本実施形態の画像処理装置は、少ない格子点を使って画像データの色変換を実行する（Ｓ９１３）。
【００５４】
本実施形態の画像処理装置は、以上の処理を処理対象の画像を構成する全画像データについて終了するまで繰り返す（Ｓ９０７）。そして、全画像データの処理の終了後、色変換の処理を終了する（Ｓ９０７：Ｙｅｓ）。
以上述べたように、本実施形態のデータ処理装置及びデータ処理方法は、複数回の処理の工程によってデータを処理するデータ処理装置において、工程の進捗状況の遅れを監視することができる。そして、進捗状況の遅れが予め設定されている進捗予定に対する許容範囲を超えた場合、工程において実行される処理の内容を変更して処理時間を短縮することができる。このため、予め設定されている進捗予定に対する現状の進捗状況の遅れを取り返し、予め設定された時間内にデータの処理を終了できる。
【００５５】
また、処理を設定された時間内に終了できる本発明は、本来キャッシュのヒット、ミスヒットによって変わる処理時間が正確に予想できる。このため、処理に必要なバッファメモリの規模に大きなマージンをとる必要がなく、バッファメモリの大規模化を抑えることができる。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態の画像処理装置を含む画像出力システムを示した図である。
【図２】図１に示した画像出力装置によって実行される画像出力の一連の処理について示したフローチャートである。
【図３】一般的な色変換の処理を説明するための図である。
【図４】一般的な２値化処理を説明するための図である。
【図５】図１に示した画像処理装置のブロック図である。
【図６】図５に示した画像処理装置をより詳細に示したブロック図である。
【図７】図６に示したコプロセッサの処理の進捗状況の判定処理を説明するための図である。
【図８】図６に示したコプロセッサで行われる画像処理方法を説明するためのフローチャートである。
【図９】図６に示したコプロセッサで行われる画像処理方法を説明するための他のフローチャートである。
【符号の説明】
【００５７】
１  画像処理装置、２  プリンタエンジン、３  ホストコンピュータ、４  画像出力装置、２１  汎用命令メモリ、２２  画像処理用メモリ、２３  キャッシュメモリ、２４       画像処理用キャッシュメモリ、２５  ＣＰＵ、２６  コプロセッサ、６１  入力画像メモリ、６２  ＬＵＴメモリ、６３  出力画像メモリ、６８  画像処理用キャッシュメモリ６９  キャッシュ制御部、７０  データ読出部、７１  先行読出部、７２  処理レートテスト部、７３  タイマ、７４  処理レート設定レジスタ、７５  置換係数付加部、７６  コプロセッサＩ／Ｆ、７７  置換処理部、７８  色比較部、７９  格子点数制御部、８０  ディザマスクパターン制御部
【図１】
0004715408.tif 000002
【図２】
0004715408.tif 000003
【図３】
0004715408.tif 000004
【図４】
0004715408.tif 000005
【図５】
0004715408.tif 000006
【図６】
0004715408.tif 000007
【図７】
0004715408.tif 000008
【図８】
0004715408.tif 000009
【図９】
0004715408.tif 000010