(57)【特許請求の範囲】
【請求項１】
画像データを構成する複数の画素の値を、当該画素の値と他の値との対応関係を示す対照表に基づいて、当該他の値に変換する色変換処理または２値化処理を行う画像処理装置であって、
前記画像データにおける各画素の位置に関するデータである位置データを取得する位置データ取得手段と、
前記位置データ取得手段によって取得された位置データを保存する位置データ保存手段と、
前記位置データ保存手段に保存されている位置データに対応する各画素の値について、前記対照表が示す値を読み出す対照表参照手段と、
前記対照表参照手段によって読み出された前記対照表の値を前記位置データに対応付けて保存する参照結果保存手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記位置データ保存手段に保存されている位置データに対応する各画素値を取得する画素値取得手段及び該画素値取得手段によって取得された画素値を保存する画素値保存手段を備え、前記対照表参照手段は、前記画素値保存手段によって保存されている画素値に基づいて前記対照表から値を読み出すことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記対照表参照手段が一の画素値に対応する値を前記対照表から読み出した後、前記一の画素値と同じ値の画素値に対応する値の読み出しを禁止する参照禁止手段を備え、
参照結果保存手段は、先に読み出された値を後に読み出された値として保存することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記位置データ取得手段は、複数の画素でなる画素ブロックごとに各画素の位置データを連続して取得し、
前記位置データ保存手段は、前記位置データ取得手段によって取得された位置データを前記画素ブロックごとに保存し、
前記対照表参照手段は、前記画素ブロックに含まれる各画素の位置データに対応する各画素の値について、前記対照表が示す値を連続して前記対照表から読み出し、
前記参照結果保存手段は、前記対照表参照手段によって読み出された値を画素ブロックに含まれる画素ごとに保存することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画素ブロックの位置にかかる情報を保存する画素ブロック位置保存手段を備え、
前記位置データ取得は、前記画素ブロック位置保存手段に保存されている画素ブロックの位置にかかる情報に基づいて各画素の位置に関する位置データを取得することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記対照表参照手段によって読み出された値を外部に出力する参照結果出力手段を備え、当該参照結果出力手段、前記位置データ取得手段、前記対照表参照手段は、同時にデータを出力または入力することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
より上位の制御装置と接続し、該制御装置から入力される制御信号にしたがって動作するプロセッサとして構成されることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
画像データを構成する複数の画素の値を、当該画素の値と他の値との対応関係を示す対照表に基づいて、当該他の値に変換する色変換処理または２値化処理を行う画像処理方法であって、
画像データにおける各画素の位置に関するデータである位置データを取得する位置データ取得ステップと、
前記位置データ取得ステップにおいて取得された位置データに対応する各画素の値について、前記対照表が示す値を読み出す対照表参照ステップと、
前記対照表参照ステップにおいて読み出された前記対照表の値を前記位置データに対応付けて保存する画像生成ステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法にかかり、特に画像の処理にルックアップテーブルを用いた画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
現在、プリンタ等の画像処理装置では、ますます高速に画像データを処理することが要求されている。また、レーザプリンタ、インクジェット式のプリンタのいずれにあっても、カラー画像の処理に対するニーズが高まっている。カラー画像の処理にあっては、画像処理速度の高速化の要求がいっそう高くなる。
ところで、画像処理には、現在、ルックアップテーブルを用いるものが多くある。ルックアップテーブルを参照して行われる処理としては、例えば、ＲＧＢ−ＹＭＣＫ色変換、ディザ法を用いた２値化処理があって、画像データを印刷するための印刷データを生成する１回の処理中に複数回ルックアップテーブルを参照するものも多い。ルックアップテーブル参照の処理は、一般的な画像処理にあって比較的時間を要する処理であって、８０ｐｐｍ（ページ／分）、あるいは９０ｐｐｍといった高い処理速度を要求されるカラープリンタに適用するにはいまだ改良の余地がある。
【０００３】
このような点を改良する従来技術としては、例えば、特許文献１、特許文献２が挙げられる。このような従来技術のうち、特許文献１は、色変換処理における補間のための専用ハードウェアを設けて色変換の処理を高速化している。また、特許文献２は、汎用的なＣＰＵによる画像処理に専用のハードウェアの制御を効率化することによって画像処理を高速化している。
【特許文献１】特開平８−１８１８７４号公報
【特許文献２】特開２０００−２１１０５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来技術は、いずれも専用のハードウェアを用いるものであって、画像処理の色変換あるいは二値化といったアルゴリズムによってハードウェア構成が異なる。このため、従来の画像処理では、画像処理ごとに異なる専用のハードウェアを備える必要があって、装置の汎用性に欠けるという欠点があった。また、専用のハードウェアを設ける構成は、ＣＰＵとハードウェアとが完全に独立した構成になるため、処理を高速化し難いという欠点があった。
【０００５】
本発明は、上記した点に鑑みてなされたものであって、複数の種別の画像処理に対応可能であって、しかも制御用のＣＰＵと密接に連携して高速に画像処理できる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明は、対照表を参照して複数の画素のデータでなる画像データを処理する画像処理装置であって、各画素の位置に関する位置データを取得する位置データ取得手段と、前記位置データ取得手段によって取得された位置データを保存する位置データ保存手段と、前記位置データ保存手段に保存されている位置データをに対応する各画素の対照表を参照する対照表参照手段とを備えることを特徴とする。
【０００７】
このような発明によれば、各画素の位置に関する位置データを取得し、取得された位置データを保存することができる。また、保存されている位置データに対応する各画素の対照表を参照することができる。このため、対照表の構成によらず、画像データに含まれる各画素に対応する対照表の情報を取得することができる。
また、参照結果を前記位置データに対応付けて保存することができるので、対照表の構成に関わらず、対照表から得られる結果を画素位置に応じて並び替え、保存することができる。したがって、保存されている結果を順次出力することによって画素の画像データを連続して画像処理することができる。
【０００８】
このような本発明は、複数の種別の画像処理に対応可能であって、かつ高速に画像処理できる画像処理装置を提供することができる。
また、本発明の画像処理装置は、前記位置データ保存手段に保存されている位置データに対応する各画素の値を取得する画素値取得手段及び該画素値取得手段によって取得された画素値を保存する画素値保存手段を備え、前記対照表参照手段は、該画素値保存手段によって保存されている画素値に対応する対照表を参照することを特徴とする。
【０００９】
このような発明によれば、位置データに対応する各画素の値を取得して保存することができる。また、保存されている画素値に対応する対照表を参照することから、位置データから間接的に対照表を参照することができる。このため、画素値と画素値に対応する値との関係を示す対照表にあっても対照表を参照することができる。
また、本発明の画像処理装置は、前記対照表参照手段が一の画素値に対応する対照表を参照した後、前記一の画素値と同じ値の画素値の対照表への参照を禁止する参照禁止手段を備え、前記参照結果保存手段は、前記一の画素値の参照の結果を、前記対照表への参照が禁止された画素値の参照の結果として保存することを特徴とする。
【００１０】
このような発明によれば、同一の画素値を対照することをなくし、対照の処理回数を低減することができる。このため、画像処理を効率化することができる。特に画像処理にあっては、同じ値を持った画素値が連続することが多いので、この発明は、効果的に画像処理の効率を高めることができる。
また、本発明の画像処理装置は、前記位置データ取得手段が、複数の画素でなる画素ブロックごとに各画素の位置データを連続して取得し、前記位置データ保存手段は、前記位置データ取得手段によって取得された位置データを前記画素ブロックごとに保存し、前記対照表参照手段は、前記画素ブロックに含まれる各画素の位置データを連続して前記対照表と対照し、前記参照結果保存手段は、参照結果を画素ブロックに含まれる画素ごとに保存することを特徴とする。
【００１１】
このような発明によれば、画素ブロックに含まれる複数の画素の画素データを連続して画像処理することができるので、画像処理の処理時間をより短縮することができる。
また、本発明の画像処理装置は、前記位置データ取得が、前記画素ブロック位置保存手段に保存されている画素ブロックの位置にかかる情報に基づいて各画素の位置に関する位置データを取得することを特徴とする。
【００１２】
このような発明によれば、画素ブロックの画素の配列が不連続である場合にも、位置データ取得手段が位置データの取得開始位置を速やかに認識して効率的に位置データを取得することができる。
また、本発明の画像処理装置は、対照表参照手段の参照結果を外部に出力する参照結果出力手段を備え、当該参照結果出力手段、前記位置データ取得手段、前記対照表参照手段は、同時にデータを出力または入力することを特徴とする。
【００１３】
このような発明によれば、参照結果の出力、位置データの取得、対照表の参照が同時に可能になり、処理効率の高い画像処理装置を得ることができる。
また、本発明の画像処理装置は、より上位の制御装置と接続し、該制御装置から入力される制御信号にしたがって動作するプロセッサとして構成されることを特徴とする。
このような発明によれば、上位の制御装置によって出力される制御信号にしたがって動作することができるので、制御用のＣＰＵと密接に連携することができる。また、制御装置と独立した特定の処理に特化した構成とすることができるので、処理の実行にかかる負荷が上位の制御装置にかかることを防ぐことができる。
【００１４】
また、本発明の画像処理方法は、対照表を参照して複数の画素のデータでなる画像データを処理する画像処理方法であって、各画素の位置に関する位置データを取得する位置データ取得ステップと、前記位置データ取得ステップにおいて取得された位置データに対応する対照表を参照する対照表参照ステップと、前記対照表参照ステップにおける参照結果を前記位置データに対応付けて出力する画像生成ステップと、
を含むことを特徴とする。
【００１５】
このような発明によれば、各画素の位置に関する位置データを取得し、取得された位置データを保存することができる。また、保存されている位置データに対応する各画素の対照表を参照することができる。このため、対照表の構成によらず、画像データに含まれる各画素に対応する対照表の情報を取得することができる。
また、参照結果を前記位置データに対応付けて保存することができるので、対照表の構成に関わらず、対照表から得られる結果を画素位置に応じて並び替え、保存することができる。したがって、保存されている結果を順次出力することによって画素の画像データを連続して画像処理することができる。
【００１６】
このような本発明は、複数の種別の画像処理に対応可能であって、かつ高速に画像処理できる画像処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図を参照して本発明にかかる一実施の形態の画像処理装置を説明する。
図１は、本実施形態の画像処理装置を含む画像出力システムを示した図である。図示した構成は、実際に画像のプリントするプリンタエンジン２、画像データを処理してプリント可能なデータに変換し、プリンタエンジンに２に渡す画像処理装置１を含む画像出力装置４、画像処理装置を制御するホストコンピュータ３とで構成されている。ホストコンピュータ３には、ＰＣ（Personal Computer）等の汎用的なコンピュータを用いることができる。
【００１８】
図２は、図１に示した画像出力装置によって実行される画像出力の一連の処理について示したフローチャートである。フローチャートに示したとおり、画像出力装置は、ホストコンピュータ３からプリントすべき画像のデータを入力する（Ｓ２０１）。次に、入力された画像データの解像度をプリントの条件に合わせて変換し（Ｓ２０２）、画像データのＲ，Ｇ，Ｂの色をインク色のＹ，Ｍ，Ｃ，Ｋに変換する（Ｓ２０３）。このような処理は、一般的に色変換と呼ばれる処理であって、一般的にルックアップテーブルを使って実行される。
【００１９】
図３は、色変換の処理を説明するための図であって、（ａ）は、Ｒ，Ｇ，Ｂの色空間において定められる点ＡないしＨの８点の四面体の格子点と、画像データＰの色との関係を示している。また、（ｂ）は、色変換の処理を説明するためのフローチャートである。
色変換処理では、先ず、色変換すべき画像データを入力する（Ｓ３０１）。次に、（ａ）に示した点ＡないしＨの８点の格子点の色情報を、Ｒ，Ｇ，Ｂ空間の座標として取得する（Ｓ３０２）。次に、画像データＰと各格子点とのＲ，Ｇ，Ｂ空間上の距離に基づいて画像データＰの色を補間処理する（Ｓ３０３）。色補間によって変換された画像データＰ’を出力し（Ｓ３０４）、色変換処理は終了する。
【００２０】
次に、画像出力装置は、変換された画像データをガンマ補正する（Ｓ２０４）。ガンマ補正は、Ｒ，Ｇ，Ｂの色と変換後のＹ，Ｍ，Ｃ，Ｋの色とをプリンタエンジン２の特性に合わせて調整する処理をいう。
さらに、画像出力装置は、画像データを２値化処理する（Ｓ４０１）。２値化処理は、画像データをプリント画像において黒と表現するか、または白と表現するかを決定する処理であって、通常ルックアップテーブルを使って実行される。
【００２１】
２値化処理は、ガンマ補正後の画像データをしきい値マトリックスの各点の濃度と比較し、対応する濃度よりも値が高い画像データを黒、低い画像データを白とするものである。図４に２値化処理を説明するための模式図を示す。図４（ａ）は、２値化処理の対象となる画像データの値（濃度）を示している。（ｂ）は、２値化処理に使用されるしきい値のマトリックスを示し、（ｃ）は、（ａ）に示した画像データを（ｂ）に示したマトリックスと比較して得られた黒または白の結果を示している。
【００２２】
なお、以降本実施形態でいう画像処理とは、以上説明した色変換、２値化処理指すものとする。
図５は、図１に示した画像処理装置１のブロック図である。画像処理装置１は、画像処理全般を制御するＣＰＵ２５、ＣＰＵ２５によって制御され、画像処理に特化された制御だけを行うコプロセッサ２６を備えている。また、ホストコンピュータ３によってなされる一般的な命令を蓄積する汎用命令メモリ２１、汎用命令メモリ２１から読み込んだ命令を一時的に記憶するためのキャッシュメモリ２３、コプロセッサ２６の画像処理に使用される画像データやルックアップテーブルの値を一時的に保存する画像処理用キャッシュメモリ２４を備えている。
【００２３】
なお、本実施形態では、コプロセッサ２６を、より上位の制御装置であるＣＰＵ２５と接続し、ＣＰＵ２５から入力される制御信号にしたがって動作するものとして構成した。
ただし、本実施形態はこのような構成に限定されるものでなく、コプロセッサ２６の構成をＣＰＵ２５に組み込んで一体的なプロセッサとして構成することも可能である。
図６は、図５に示した画像処理装置１をより詳細に示したブロック図である。画像処理装置１は、ＬＵＴ（対照表）を参照して複数の画素のデータでなる画像データを処理する画像処理装置である。なお、図６中に示した構成のうち、図５に示した構成と同様の構成については同様の符号を付し、説明を一部略すものとする。
【００２４】
コプロセッサ２６は、画像処理用キャッシュメモリ２４を介して画像処理すべき画像データ、ルックアップテーブル（ＬＵＴ）に書き込まれている値を入力し、画像処理して出力する。このため、画像処理装置１の画像処理用メモリ２２は、画像処理対象の画像データを蓄積する入力画像メモリ６１、画像処理の種別（アルゴリズム）や処理条件に応じた複数のＬＵＴを保存するＬＵＴメモリ６２、画像処理された画像データを蓄積する出力画像メモリ６３を備えている。
【００２５】
コプロセッサ２６は、ベクトルレジス６９と、汎用レジスタ６７とを備えている。ベクトルレジスタ６９は、ベクトルレジスタ６９ａ、ベクトルレジスタ６９ｂ、ベクトルレジスタ６９ｃで構成されるバンクレジスタであって、各々のバンクが１回に８個の画素についてのデータを保存することができる。
また、画像処理装置１は、入力画像メモリ６１から各画素の位置に関する位置データを取得するメモリＩ／Ｆ  ＩＮ０（以下メモリＩ／Ｆ６４と記す）と、取得された位置データを保存するベクトルレジスタ６９ａと、保存されている位置データに基づいて、ＬＵＴメモリ６２にアクセスして位置データに対応するＬＵＴを参照するメモリＩ／Ｆ  ＩＮ１（以下メモリＩ／Ｆ６５と記す）とを備え、参照結果を位置データに対応付けてベクトルレジスタ６９ｃに保存する。
【００２６】
本実施形態では、ベクトルレジスタ６９ａが画像を構成する各画素の位置データを保存し、ベクトルレジスタ６９ｂが各画素の値（画素値）を位置データに対応付けて保存する。また、ベクトルレジスタ６９ｃが各画素値に対応するＬＵＴの参照結果を保存している。対照表の参照は、ベクトルレジスタ６９ａに保存されている位置データを用いて行われる。
【００２７】
本実施形態では、位置データに基づいて画素値を取得する。そして、ベクトルレジスタ６９ｂに保存し、保存されている画素値に対応する対照表を参照している。なお、本実施形態では、画素値とは画像データが示す色の濃度をいうものとする。
ベクトルレジスタ６９ｃが保存する参照結果は、必要に応じて加工され、出力画像メモリ６３に出力される。参照結果の出力のため、コプロセッサ２６は、メモリＩ／Ｆ  ＯＵＴ０（以下メモリＩ／Ｆ６６と記す）を備えている。
【００２８】
また、画像処理装置１は、ベクトル命令制御部７２を備えていて、ベクトル命令制御部７２は、ＣＰＵ２５から入力された制御命令にしたがってコプロセッサ２６全般を制御する。
以上述べたメモリＩ／Ｆ６４は、ベクトル命令制御部７２と共に本実施形態の位置データ取得手段及び画素値取得手段として機能する。また、メモリＩ／Ｆ６５はベクトル命令制御部７２と共に対照表参照手段、メモリＩ／Ｆ６６はベクトル命令制御部７２と共に参照結果出力手段としてそれぞれ機能する。
【００２９】
画像処理装置１は、ベクトルレジスタ６９がバンク構成を有するうえ、独立のメモリＩ／Ｆ６４、メモリＩ／Ｆ６５、メモリＩ／Ｆ６６を備えている。また、メモリＩ／Ｆ６４、メモリＩ／Ｆ６５、メモリＩ／Ｆ６６が各々別個独立のアクセスラインＬa1、Ｌa2、Ｌa3と接続している。このため、メモリＩ／Ｆ６４、メモリＩ／Ｆ６５、メモリＩ／Ｆ６６は、それぞれが同時にデータを出力または入力することが可能である。
【００３０】
また、本実施形態は、同時にアクセス可能なベクトルレジスタ６９の構成としてバンク構成に限定されるものでなく、他の構成であっても良い。また、同時に３つのデータの入出力が可能な構成に限定されるものでなく、２つまたは３つ以上のアクセスラインからアクセス可能な構成であってもよい。２つのアクセスラインで同時にアクセス可能な構成としては、例えば、デュアルポートやマルチポートを使うものが考えられる。
【００３１】
また、コプロセッサ２６は、汎用レジスタ６７を備えている。汎用レジスタ６７は、ＬＵＴメモリ６２における各ＬＵＴの先頭アドレスや処理手順（同じ処理を繰り返す場合のループ回数）、処理すべきあるいは処理後に出力すべき画像の位置のオフセット等を記憶している。
また、本実施形態では、画像処理装置１が複数の画素の画像データを連続して画像処理することが可能であって、連続して処理される画素の単位を画素ブロックという。汎用レジスタ６７は、画素ブロックの位置にかかる情報を示す基準点をも記憶している。なお、この基準点を本実施形態では開始点とも記す。したがって、汎用レジスタ６７は、画素ブロック位置保存手段として機能する。
【００３２】
本実施形態の汎用レジスタ６７は、ＧＲ０、ＧＲ１、ＧＲ２、ＧＲ３の４つのレジスタ部分で構成されている。しかし、４つのレジスタ部分は、上記した情報のいずれかに専用に割り当てられるものでなく、どの情報を記憶してもよい。
画像処理における画像データの連続処理は、次のような構成によって実現される。すなわち、８個の画素で構成される画素ブロックごとに画像処理する場合、メモリＩ／Ｆ６４及びベクトル命令制御部７２は、8個の画素でなる画素ブロックごとに各画素の位置データを連続して取得する。取得された画素の位置データは、画素ブロックごとに（本実施形態では8個ごとに）ベクトルレジスタ６９ａに保存される。
【００３３】
次に、本実施形態では、メモリＩ／Ｆ６４及びベクトル命令制御部７２が、入力画像メモリ６１にアクセスし、ベクトルレジスタ６９ａに保存されている各位置データが示す位置にある８画素分の画素値を連続して取得する。ベクトルレジスタ６９ｂは、８画素分の画素値を保存する。
そして、メモリＩ／Ｆ６５及びベクトル命令制御部７２が、ベクトルレジスタ６９ｂに保存されている８画素分の画素値を連続してＬＵＴメモリ６２にあるＬＵＴと対照することによって画素ブロックに含まれる各画素の位置データを連続してＬＵＴと対照することができる。なお、対照の結果は、ベクトルレジスタ６９ｃに画素ブロックに含まれる８画素ごとに保存される。
【００３４】
さらに、コプロセッサ２６は、汎用レジスタ６７とベクトルレジスタ６９ｃとに保存されている情報を入力し、例えば加算等の論理演算をするＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ）６８を備えている。ＡＬＵ６８は、例えば、ベクトル命令制御部７２が画素値を取得する場合、ベクトルレジスタ６９ａから位置データを入力し、汎用レジスタ６７からはブロック画素の画素値の先頭アドレスを入力する。そして、両者使って論理演算し、演算結果をベクトルレジスタ６９ｃに書き戻す。
【００３５】
さらに、コプロセッサ２６は、条件判断部７０及び比較器７１を備えている。条件判断部７０は、画像処理の条件を判断してベクトルレジスタ６９のＬＵＴへのアクセスを制御するものであって、画像処理の条件とは、例えばループの有無や回数、画素ブロックに含まれる画素数をいう。
また、比較器７１は、ベクトルレジスタ６９がＬＵＴに対照（参照）される画素値を比較している。そして、連続して、あるいは比較的短期間のうちに同じ値の画素値がＬＵＴに対照される場合、同じ値の画素値が対照されることをベクトル命令制御部７２に通知する。ベクトル命令制御部７２は、この通知を受け、先にＬＵＴに参照された画素値と同じ値の画素値のＬＵＴへの参照を禁止する。また、ベクトル命令制御部７２は、先に参照された画素値の参照結果を、参照が禁止された画素値の参照の結果としてベクトルレジスタ６９ｃに保存するようにベクトルレジスタ６９を制御する。
【００３６】
このような条件判断部７０、比較器７１、ベクトル命令制御部７２は、本実施形態の参照禁止手段として機能する。
次に、以上述べた構成の動作について説明する。
図７は、コプロセッサ２６の動作を説明するための図である。本実施形態では、ベクトル命令制御部７２が、汎用レジスタ６７に開始点（画素ブロックの位置情報）を設定する。図７の構成では、開始点は汎用レジスタ６７のＧＲ２に記憶されている。ベクトルレジスタ６９ａは、ＧＲ２から開始点を読み込み、入力画像メモリ６１の開始点にあたるアドレスにアクセスする。そして、順に画素ブロックに含まれる８画素の各々の位置データを取得する。取得された位置データは、ベクトルレジスタ６９ａに順に記憶される。
【００３７】
図７に示した構成では、入力画像メモリ６１に保存されている画像データが６４ビットであって、ブロック画素は、このうちの４×２個の８個の画素でなるものとする。このため、ベクトルレジスタ６９ａに1回の処理で記憶される画素の位置データは、０，１，２，３，６４，…と不連続な値をとることになる。
開始点の情報は、このようにブロック画素が不連続な値をとる場合、アクセスすべき画素ブロックの最初のアドレスを示すことができる。このため、開始点を汎用レジスタ６７に保存する本実施形態の構成は、ベクトルレジスタ６９の入力画像メモリへのアクセスを効率化する効果を得ることができる。
【００３８】
次に、ＡＬＵ６８は、ベクトルレジスタ６９ａに記憶された各画素の位置データと、汎用レジスタ６７に記憶されている画素ブロックの画素値の先頭アドレスとを入力し、演算してベクトルレジスタ６９ｂに書き戻す。ベクトルレジスタ６９ｂは、ベクトル命令制御部７２の制御によって入力画像メモリ６１にアクセスし、ブロック画素を構成する８画素の画素値（画像データ）を読み込む。読み込まれた画素値は、ベクトルレジスタ６９ｂに記憶される。
【００３９】
図７の構成では、画素値の先頭アドレスは汎用レジスタ６７のＧＲ０に記憶されている。また、図７中に８画素の画素値をａ〜ｈとして示す。
次に、ＡＬＵ６８は、ベクトルレジスタ６９ｂに記憶された各画素の画素値と、汎用レジスタ６７に記憶されているＬＵＴメモリ６２に記憶されたＬＵＴの先頭アドレスを入力し、演算してベクトルレジスタ６９ｃに書き戻す。ベクトルレジスタ６９ｃは、ベクトル命令制御部７２の制御によってＬＵＴメモリ６２にアクセスし、画素値に対応するＬＵＴを参照する。そして、参照の結果得られる値（参照値）を読み込む。読み込まれた参照値は、ベクトルレジスタ６９ｃに記憶される。
【００４０】
なお、以上述べた画像処理方法において、画素値をＬＵＴメモリ６２に対照して対応するＬＵＴの参照値を特定する処理を、本実施形態では、画素値をインデックスにするとも記す。
図７の構成では、ＬＵＴの先頭アドレスは汎用レジスタ６７のＧＲ２に記憶されている。また、図７中に８画素の参照値をｔａｂｌｅ＿ａ〜ｔａｂｌｅ＿ｈとして示す。
【００４１】
ベクトルレジスタ６９ｃに記憶された参照値は、必要に応じて加工され、出力データとして出力画像メモリ６３に書き出される。このとき、ＡＬＵ６８にはベクトルレジスタ６９ａに記憶された各画素の位置データと汎用レジスタ６７に記憶されている出力画像のオフセットが入力され、演算されることによって出力画像の先頭アドレスが得られる。このアドレスは、ＡＬＵ６８から出力画像メモリ６３に出力される。出力データは、出力すべき位置に関する情報と共に出力画像メモリ６３に保存される。
【００４２】
図８は、以上述べた画像処理装置１のコプロセッサ２６で行われる画像処理方法を説明するためのフローチャートである。図示するように、本実施形態の画像処理にあっては、汎用レジスタ６７に画素ブロックの位置を示すアドレス（図中の位置情報アドレス）を設定する（Ｓ８０１）。この設定は、例えばベクトル命令制御部７２によって行われるものであってもよい。
【００４３】
次に、ベクトルレジスタ６９が、入力画像メモリ６１にアクセスする。そして、位置情報アドレスに基づいてブロック画素に含まれる各画素の位置データを取得する（Ｓ８０２）。ベクトル命令制御部７２は、取得された位置データに基づいて位置データに対応するＬＵＴを参照する。そして、参照の結果を読み出してベクトルレジスタ６９ｂに保存する。
【００４４】
ベクトル命令制御部７２は、ベクトルレジスタ６９が１画素ブロックに含まれる全ての画素値の読出しを完了したか否か判断する（Ｓ８０３）。
また、画像をブロック画素ごとに連続して処理する本実施形態は、各画素の画像データの処理を画素数（本実施形態では８画素）分繰り返す。ループが適正な回数繰り返されるように、条件判断部７０は、ループ回数を初期化する（Ｓ８０４）。そして、処理対象となっている画像データのオフセットアドレス（Ｓ８０５）、ＬＵＴの先頭アドレスのオフセット値（Ｓ８０６）を設定する。
【００４５】
なお、ステップＳ８０５、ステップＳ８０６のオフセットアドレスの設定は、画像データ全体の処理にあって１回行えばよい。
次に、ベクトル命令制御部７２は、ベクトルレジスタ６９に対し、読み出されてベクトルレジスタ６９ｂに保存されている画素値をインデックスとしてＬＵＴを読み出すよう指示する（Ｓ８０７）。比較器７１は、過去にＬＵＴへのアクセスのインデックスとなった画素値と今回インデックスとなった画素値とを比較して過去にアクセスしたことがあるデータであるか否か判断する（Ｓ８０８）。そして、今回インデックスとなった画素値が過去にインデックスとなった画素値と同様の値を有する場合（Ｓ８０８：Ｙｅｓ）、過去のアクセスで取得された参照値をベクトルレジスタ６９ｃにコピーする（Ｓ８０９）。
【００４６】
また、ステップＳ８０７において、今回インデックスとなった画素値が過去にインデックスとなった画素値と一致しないと判断された場合（Ｓ８０７：Ｎｏ）、ベクトル命令制御部７２は、ＬＵＴメモリ６２に対するアクセスを実行させる（Ｓ８１２）。
以上の処理の終了後、条件判断部７０は、ループ回数をデクリメントし、１つの画素についての処理が終了したことを記録する（Ｓ８１０）。そして、ループの回数分の画像処理が完了したか否か判断し（Ｓ８１１）、完了していない（１画素ブロックの処理においてすでにオフセットアドレスの設定がなされている）場合、次のテーブルの読み出し命令を発行する（Ｓ８０６）。また、ループの回数分の処理が終了したと判断された場合（Ｓ８１１：Ｙｅｓ）、１画素ブロック分の画像データの処理が終了する。
【００４７】
１画素ブロックについて画像処理が終了すると、コプロセッサ２６は、図７で示したように、ベクトルレジスタ６９ｃに保存されている参照値を汎用レジスタ６７に保存されている画素の位置データに対応付けて出力する。参照値を位置データにしたがって出力することにより、本実施形態の画像処理１は、画像処理された画像を生成することができる。
図９は、図８に示したフローチャートの処理を実行するための命令の具体例を示した図である。図示した例は、ブロック画素に含まれる各画素の位置データを取得し、ブロックに含まれる画素の数と同じ回数のループを設定する。そして、画像とＬＵＴテーブルとのオフセットを設定し、参照結果を格納するためのベクトルレジスタのオフセットも設定する。
【００４８】
さらに、位置データが示す位置にある画像データ、つまり対応する画素値を取得する。そして、習得された画素値をインデックスにしてＬＵＴテーブルを参照し、参照の結果得られた値をベクトルレジスタ６９ｃに書き戻す。以上の処理の後、１画素分の画像処理が「完了したとして先に設定されたループ回数を１つデクリメントする。
本実施形態では、ベクトルレジスタ６９ｃのサイズを８要素に、画像の処理単位を８画素として説明しているが、本発明の実施範囲はベクトルレジスタのサイズを８要素に固定するものでなく、画像のサイズも８画素に限らず、連続して処理する画像の大きさに合わせて拡張できる。
【００４９】
以上述べたように、本実施形態の画像処理装置及び画像処理方法は、ＬＵＴの構成に関わらずＬＵＴの参照値を読出し、画像の各画素の位置に対応して保存することができる。このため、保存されている参照の結果を順次出力することによって画素の画像データを連続して画像処理することができる。
このような本実施形態は、複数の種別の画像処理に対応可能な高い汎用性を有し、しかも制御用のＣＰＵと密接に連携して高速に画像処理できる画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態の画像処理装置を含む画像出力システムを示した図である。
【図２】図１に示した画像出力装置によって実行される画像出力の一連の処理について示したフローチャートである。
【図３】一般的な色変換の処理を説明するための図である。
【図４】一般的な２値化処理を説明するための図である。
【図５】図１に示した画像処理装置のブロック図である。
【図６】図５に示した画像処理装置をより詳細に示したブロック図である。
【図７】図６に示したコプロセッサの動作を説明するための図である。
【図８】図６に示したコプロセッサで行われる画像処理方法を説明するためのフローチャートである。
【図９】図８に示したフローチャートの処理を実行するための命令の具体例を示した図である。
【符号の説明】
【００５１】
１  画像処理装置、２  プリンタエンジン、３  ホストコンピュータ、４  画像出力装置、２１  汎用命令メモリ、２２  画像処理用メモリ、２３  キャッシュメモリ、２４       画像処理用キャッシュメモリ、２６  コプロセッサ、６１  入力画像メモリ、６２  ＬＵＴメモリ、６３  出力画像メモリ、６７  汎用レジスタ、６９ａ，６９ｂ，６９ｃ  ベクトルレジス、７０  条件判断部、７１  比較器、７２  ベクトル命令制御部
【図１】
0004770345.tif 000002
【図２】
0004770345.tif 000003
【図３】
0004770345.tif 000004
【図４】
0004770345.tif 000005
【図５】
0004770345.tif 000006
【図６】
0004770345.tif 000007
【図７】
0004770345.tif 000008
【図８】
0004770345.tif 000009
【図９】
0004770345.tif 000010