| 【発明の名称】 |
画像処理方法、画像処理装置、およびルックアップテーブルの設定方法 |
| 【発明者】 |
【氏名】秋山 実
【氏名】森田 到明
【氏名】大野 智之
【氏名】原 雅敏
|
| 【要約】 |
【課題】圧縮されたルックアップテーブルデータの伸長に関わる専用の伸長手段を不要とすることのできる画像処理方法および画像処理装置を提供する。
【構成】画像処理装置は、所定の圧縮方法に従って圧縮された画像データを記憶するとともに、前記所定の圧縮方法に従って圧縮されたLUTルデータを記憶するメモリ101と、メモリ101から読み出した圧縮されたLUTデータをデータ伸長部103へ転送するDMAコントローラ102と、圧縮されたLUTデータを伸長するデータ伸長部103と、伸長されたLUTデータをLUT用メモリ105に格納するとともに、LUTデータを基に伸長された画像データに対し画像処理を施す画像処理部104と、を備える。 |
【特許請求の範囲】
【請求項1】 所定の圧縮方法に従って圧縮された画像データを伸長するとともに該伸長された画像データに対し所定の画像処理を施す画像データに関わるデータパスを使用して、前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを伸長する、 ことを特徴とする画像処理方法。 【請求項2】 前記所定の圧縮方法に従って、前記ルックアップテーブルデータを圧縮するとともに前記画像データを圧縮し、 圧縮されたデータを伸長する伸長手段によって、前記圧縮されたルックアップテーブルデータを伸長するとともに前記圧縮された画像データを伸長する、 ことを特徴とする請求項1記載の画像処理方法。 【請求項3】 所定の圧縮方法に従って圧縮された画像データを伸長するとともに前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを伸長する伸長手段、 を有することを特徴とする画像処理装置。 【請求項4】 前記伸長手段によって伸長された画像データを、前記伸長手段によって伸長されたルックアップテーブルデータに基づき画像処理する、 ことを特徴とする請求項3記載の画像処理装置。 【請求項5】 所定の圧縮方法に従って圧縮された画像データを記憶するとともに、前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを記憶する第1の記憶手段と、 前記伸長手段によって伸長されたルックアップテーブルデータを記憶する第2の記憶手段と、 前記第1の記憶手段に記憶されているルックアップテーブルデータを読み出し、該読み出したルックアップテーブルデータを前記伸長手段へ転送するとともに、前記第1の記憶手段から画像データを読み出し、該読み出した画像データを前記伸長手段へ転送するアクセス制御手段と、 前記伸長手段によって伸長されたルックアップテーブルデータを前記第2の記憶手段に格納するとともに、前記伸長手段によって伸長された画像データを前記第2の記憶手段に記憶されているルックアップテーブルデータに基づき画像処理する画像処理手段と、 を更に備えた、ことを特徴とする請求項3または4記載の画像処理装置。 【請求項6】 所定の圧縮方法に従って圧縮された画像データを記憶する第1の記憶手段と、 圧縮された画像データを伸長する伸長手段と、 前記第1の記憶手段から画像データを読み出し、該読み出した画像データを前記伸長手段へ転送するアクセス制御手段と、 前記伸長手段によって伸長された画像データに対し所定の画像処理を施す画像処理手段と、 前記伸長手段によって伸長された所定のデータを記憶する第2の記憶手段と、 を有し、 前記第1の記憶手段は、前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを記憶し、 前記アクセス制御手段は、前記第1の記憶手段からルックアップテーブルデータを読み出し、該読み出したルックアップテーブルデータを前記伸長手段へ転送し、 前記伸長手段は、前記アクセス制御手段から転送されてきたルックアップテーブルデータを伸長し、 前記画像処理手段は、前記伸長手段によって伸長されたルックアップテーブルデータを前記第2の記憶手段に格納するとともに、前記伸長手段によって伸長された画像データを前記第2の記憶手段に格納されているルックアップテーブルデータに基づき画像処理する、 ことを特徴とする画像処理装置。 【請求項7】 前記アクセス制御手段は、ダイレクトメモリアクセスにより、前記第1の記憶手段からルックアップテーブルデータまたは画像データを読み出す、 ことを特徴とする請求項6記載の画像処理装置。 【請求項8】 互いに異なる画像処理を実行する複数の画像処理手段と、 互いに異なる複数の画像処理に対応する複数のルックアップテーブルデータを記憶する第1のデータ記憶手段と、 前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報を記憶する第2のデータ記憶手段と、 前記複数の画像処理手段に対応して設けられ、対応する画像処理手段によって格納処理されるルックアップテーブルデータを記憶する複数の第3のデータ記憶手段と、 上位の制御手段の命令に従って、前記第2のデータ記憶手段の記憶内容を基に前記複数の画像処理手段のそれぞれに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、前記第2のデータ記憶手段の記憶内容および前記第1のデータ記憶手段の記憶内容を基に所望のルックアップテーブルデータを読み出すアクセス制御手段と、 を有し、 画像処理を有効にする旨が設定された画像処理手段は、当該画像処理に対応し前記アクセス制御手段によって読み出されたルックアップテーブルデータを当該画像処理手段に対応する前記第3のデータ記憶手段に格納する、 ことを特徴とする画像処理装置。 【請求項9】 互いに異なる画像処理を実行する複数の画像処理手段と、 互いに異なる複数の画像処理に対応し、圧縮された複数のルックアップテーブルデータを記憶する第1のデータ記憶手段と、 前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報を記憶する第2のデータ記憶手段と、 前記複数の画像処理手段に対応して設けられ、伸長されたルックアップテーブルデータを記憶する複数の第3のデータ記憶手段と、 上位の制御手段の命令に従って、前記第2のデータ記憶手段の記憶内容を基に前記複数の画像処理手段のそれぞれに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、前記第2のデータ記憶手段の記憶内容および前記第1のデータ記憶手段の記憶内容を基に所望のルックアップテーブルデータを読み出すアクセス制御手段と、 前記アクセス制御手段によって読み出されたルックアップテーブルデータを伸長する伸長手段と、 を有し、 画像処理を有効にする旨が設定された画像処理手段は、当該画像処理に対応し前記伸長手段によって伸長されたルックアップテーブルデータを当該画像処理手段に対応する前記第3のデータ記憶手段に格納する、 ことを特徴とする画像処理装置。 【請求項10】 前記第1のデータ記憶手段に記憶されるルックアップテーブルデータは、所定の圧縮方法に従って圧縮される画像データの場合と同一の圧縮方法に従って圧縮されている、 ことを特徴とする請求項9記載の画像処理装置。 【請求項11】 前記第2のデータ記憶手段は、 前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報を、これらの情報に対応する複数の要素データが関連付けされたリストデータとして記憶する、 ことを特徴とする請求項8または9記載の画像処理装置。 【請求項12】 前記リストデータを構成する複数の要素データは、 ルックアップテーブルデータの前記第1の記憶手段における格納場所情報と、次の要素データが存在する場合の当該次の要素データの前記第2の記憶手段における格納場所情報と、画像処理手段を示す情報とを含む複数のパラメータを含んでいる、 ことを特徴とする請求項11記載の画像処理装置。 【請求項13】 前記第2のデータ記憶手段は、 前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報に対応する複数の要素データが関連付けされたリストデータであって、ルックアップテーブルデータの前記第1のデータ記憶手段における格納場所情報と、次の要素データが存在する場合の当該次の要素データの前記第2のデータ記憶手段における格納場所情報と、画像処理手段を示す情報とを含む複数のパラメータが含まれている複数の要素データが関連付けされたリストデータを記憶し、 前記上位の制御手段は、 第1番目の前記要素データの前記第2の記憶手段における格納場所情報とルックアップテーブルデータ設定命令を前記アクセス制御手段へ送信し、 前記アクセス制御手段は、 前記上位の制御手段から指定された第1番目の要素データの格納場所情報を基に前記第2のデータ記憶手段から要素データを読み出し、この読み出した要素データに含まれる画像処理手段を示す情報を基に該当する画像処理手段のみに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、当該読み出した要素データに含まれるルックアップテーブルデータの格納場所情報を基に前記第1のデータ記憶手段からルックアップテーブルデータを読み出す、 ことを特徴とする請求項8または9記載の画像処理装置。 【請求項14】 前記アクセス制御手段は、 前記第2のデータ記憶手段から読み出した要素データに次の要素データに関する格納場所情報が含まれている場合は、当該読み出した要素データに関わる処理が終了した後に、当該次の要素データに関わる処理を実行する、 ことを特徴とする請求項10〜13の何れか一項に記載の画像処理装置。 【請求項15】 前記アクセス制御手段は、 ダイレクトメモリアクセスにより、前記第1のデータ記憶手段および前記第2のデータ記憶手段から所望のデータを読み出す、 ことを特徴とする請求項8〜14の何れか一項に記載の画像処理装置。 【請求項16】 互いに異なる複数の画像処理に対応する複数のルックアップテーブルデータを第1のデータ記憶手段に記憶するとともに、前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報に対応する複数の要素データが関連付けされたリストデータを第2のデータ記憶手段に記憶し、 上位の制御手段による制御の下に所定の処理を実行する下位の制御手段が、前記要素データの格納場所情報を基に前記第2のデータ記憶手段から該当する要素データを読み出し、この読み出した要素データに含まれる設定対象の画像処理を示す情報を基に当該画像処理を実行する画像処理手段のみに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、この読み出した要素データに含まれるルックアップテーブルデータの格納場所を基に前記第1のデータ記憶手段から該当するルックアップテーブルデータを読み出し、 互いに異なる画像処理を実行する複数の画像処理手段のち画像処理を有効にする旨が設定された画像処理手段が、当該画像処理に対応し前記下位の制御手段によって読み出されたルックアップテーブルデータを当該画像処理手段に対応して設けられる第3のデータ記憶手段に格納する、 ことを特徴とするルックアップテーブルの設定方法。 【請求項17】 前記ルックアップテーブルデータが圧縮されたものであったときは、前記下位の制御手段による読み出し処理により得られたルックアップテーブルデータを伸長し、 前記画像処理を有効にする旨が設定された画像処理手段は、当該画像処理に対応し前記伸長されたルックアップテーブルデータを当該画像処理手段に対応して設けられる第3の記憶手段に格納する、 ことを特徴とする請求項16記載のルックアップテーブルの設定方法。 【請求項18】 第1番目の要素データの格納場所情報は前記上位の制御手段から与えられる、 ことを特徴とする請求項16または17記載のルックアップテーブルの設定方法。 【請求項19】 前記下位の制御手段によるデータの読み出しは、ダイレクトメモリアクセスにより実施される、 ことを特徴とする請求項16〜18の何れか一項に記載のルックアップテーブルの設定方法。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、ルックアップテーブルに基づいて画像データを画像処理する画像処理方法、画像処理装置、およびルックアップテーブルの設定方法に関する。 【背景技術】 【0002】 従来の画像処理装置においては、入出力特性変換処理、色空間変換処理、ハーフトーン処理などの画像処理毎にルックアップテーブル(以下「LUT」という。)を有し、入力画像データに対し、これらのLUTを基に画像処理を実施するようにするものがある。 【0003】 このような画像処理装置には、入力画像データの格納サイズを小さくするために、当該画像データを圧縮してメモリに格納し、画像処理時に、前記圧縮された画像データを伸長するとともに、この伸長された画像データを、LUTを基に画像処理するようにしているものがある。 【0004】 しかし、LUTを使用する画像処理では、細かい調整ができる反面、LUTのデータサイズが大きくなり、このLUTを記憶するROM(読み出し専用メモリ)などのメモリの容量を増加させるという問題がある。 【0005】 この問題を解決する方法としては、LUTデータのデータサイズを小さくするために、LUTデータを圧縮してメモリに格納する技術が知られている(例えば、特許文献1、特許文献2参照)。 【0006】 特許文献1では、LUTデータの圧縮効率を向上させるために、色空間変換に用いる色変換テーブルデータを色成分ごとに圧縮して圧縮データバッファに格納するとともに、その圧縮された色変換テーブルデータの伸長処理と、伸長された色変換テーブルデータの並び替え処理とを実施した後、当該色変換テーブルデータを色空間変換処理のLUT用メモリへ格納するようにしている。 【0007】 特許文献2では、LUTデータの圧縮効率を向上させるために、第1の表色系より成る入力画像データに対応する第2の表色系より成る出力画像データと予め定める基準値との差分を求め、さらに当該差分値を量子化することで、色補正テーブルを圧縮して圧縮テーブル格納部に格納するとともに、その圧縮された差分値(色補正圧縮テーブル)の伸長処理と、この伸長された差分値と基準値との演算処理とを実施した後、該演算処理の結果としての色補正テーブルを色空間変換処理のLUT用メモリへ格納するようにしている。 【0008】 また、特許文献2では、色補正テーブル(画像処理用LUT)を画質設定ごとに複数使用する場合、具体的にはRGBの入力信号に対応するCMYの出力信号のテーブル値を記憶したCMY各色毎の色補正テーブルを使用する場合は、それら複数の色補正テーブル間の性質(平均値や冗長性など)を利用して色補正テーブルを圧縮する(色補正圧縮テーブルを作成する)とともに、画質設定が変更される毎に、その変更後の色補正圧縮テーブルを伸長し、これを画像処理に利用するようにしている。 【特許文献1】特開2000−22974号公報 【特許文献2】特開2003−110869号公報 【発明の開示】 【発明が解決しようとする課題】 【0009】 ところで、メモリ資源の有効利用という観点から、上述したように画像データを圧縮し、画像処理時にその圧縮された画像データを伸長するようにした従来の画像処理装置と、上述した特許文献1または特許文献2に記載された画像処理装置(LUTに関する圧縮及び伸長の処理を実施する画像処理装置)とを組み合わせることにより、画像データが圧縮されるともにLUTデータが圧縮されるので、これらのデータの格納サイズを小さくすることができ、これによりメモリを有効に利用することが可能となる。 【0010】 しかし、この場合、画像データに関わる圧縮及び伸長の処理を行う第1の処理回路部(例えばメモリ、圧縮部、伸長部など)と、LUTデータに関わる圧縮及び伸長の処理を行う第2の処理回路部とが必要になる。 【0011】 すなわち、上記特許文献1及び上記特許文献2では、色変換テーブルデータや色補正テーブルデータなどLUTデータの圧縮効率の向上が目的であるため、LUTデータのデータサイズは小さくなるが、圧縮されたLUTを伸長し、この伸長されたLUTをLUT用メモリに格納するために、次のような問題がある。 【0012】 上記特許文献1では、圧縮された色変換テーブルデータの伸長処理と伸長された色変換テーブルデータの並び替え処理とを実施するデータ復元部が必要となる。一方、上記特許文献2では、差分値(出力画像データと基準値との差分)の伸長処理と、この伸長された差分値と基準値との演算処理とを実施する圧縮テーブル展開部が必要となる。 【0013】 そのため、画像データの圧縮及び伸長を行う上記従来の画像処理装置と上述した特許文献1または特許文献2に記載された画像処理装置とを組み合わせたものでは、画像データに関わる圧縮及び伸長の処理を行う第1の処理回路部(例えばメモリ、圧縮部、伸長部など)と、色空間変換処理など画像処理時に参照されるLUTデータに関わる圧縮及び伸長の処理を行う第2の処理回路部(圧縮データバッファ及びデータ復元部、または圧縮テーブル格納部及び圧縮テーブル展開部)とが必要となる。 【0014】 すなわち、処理回路部として例えばASIC(特定用途向けIC)を使用する場合、このASICにおいては、画像データ専用の第1の処理回路部に対応する回路とLUT専用の第2の処理回路部に対応する回路とが必要となり、回路規模が増え、コストアップになるという問題がある。 【0015】 また、上述した特許文献1及び特許文献2では、色変換テーブルや色補正テーブルなどLUT自体のサイズが大きい場合、またLUTの設定(LUTのLUT用メモリへの格納)が必要な画像処理回路(LUT用メモリに対応する画像処理回路)が複数ある場合は、各画像処理回路についてLUTの設定を実施する必要があるので、LUTの更新作業自体に多くの時間を要することになる。特に、ページ単位にLUTの設定を変更する必要のあるプリントジョブの場合にはプリントアウト時間も長くなってしまう。 【0016】 また、LUTの更新作業を実施する場合、圧縮されたLUTの伸長作業と画像処理回路への伸長されたLUTの設定作業はCPUを介して実施されるようになっているので、LUTの更新作業のときは、本来CPUが実行するべき作業が後回しにされてしまうという問題がある。 【0017】 そこで、本発明は、圧縮されたルックアップテーブルデータの伸長に関わる専用の伸長手段を不要とすることのできる画像処理方法および画像処理装置を提供することを目的とする。 【0018】 また、本発明は、ルックアップテーブルの設定処理を実施するに際し、上位の制御手段の関与を最小限に抑制することのできる画像処理装置およびルックアップテーブルの設定方法を提供することを目的とする。 【0019】 さらに、本発明は、ルックアップテーブルの設定処理を実施するに際し、上位の制御手段の関与を最小限に抑制することで、当該上位の制御手段の負荷を軽減することのできる画像処理装置およびルックアップテーブルの設定方法を提供することを目的とする。 【課題を解決するための手段】 【0020】 上記課題を解決するため、請求項1に記載の本発明の画像処理方法は、所定の圧縮方法に従って圧縮された画像データを伸長するとともに該伸長された画像データに対し所定の画像処理を施す画像データに関わるデータパスを使用して、前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを伸長する、ことを特徴とする。 【0021】 請求項2に記載の発明は、上記請求項1に記載の発明において、前記所定の圧縮方法に従って、前記ルックアップテーブルデータを圧縮するとともに前記画像データを圧縮し、圧縮されたデータを伸長する伸長手段によって、前記圧縮されたルックアップテーブルデータを伸長するとともに前記圧縮された画像データを伸長する、ことを特徴とする。 【0022】 また、上記課題を解決するため、請求項3に記載の本発明の画像処理装置は、所定の圧縮方法に従って圧縮された画像データを伸長するとともに前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを伸長する伸長手段、を有することを特徴とする。 【0023】 請求項4に記載の発明は、上記請求項3に記載の発明において、前記伸長手段によって伸長された画像データを、前記伸長手段によって伸長されたルックアップテーブルデータに基づき画像処理する、ことを特徴とする。 【0024】 請求項5に記載の発明は、上記請求項3または4に記載の発明において、所定の圧縮方法に従って圧縮された画像データを記憶するとともに、前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを記憶する第1の記憶手段と、前記伸長手段によって伸長されたルックアップテーブルデータを記憶する第2の記憶手段と、前記第1の記憶手段に記憶されているルックアップテーブルデータを読み出し、該読み出したルックアップテーブルデータを前記伸長手段へ転送するとともに、前記第1の記憶手段から画像データを読み出し、該読み出した画像データを前記伸長手段へ転送するアクセス制御手段と、前記伸長手段によって伸長されたルックアップテーブルデータを前記第2の記憶手段に格納するとともに、前記伸長手段によって伸長された画像データを前記第2の記憶手段に記憶されているルックアップテーブルデータに基づき画像処理する画像処理手段と、を更に備えた、ことを特徴とする。 【0025】 また、上記課題を解決するため、請求項6に記載の本発明の画像処理装置は、所定の圧縮方法に従って圧縮された画像データを記憶する第1の記憶手段と、圧縮された画像データを伸長する伸長手段と、前記第1の記憶手段から画像データを読み出し、該読み出した画像データを前記伸長手段へ転送するアクセス制御手段と、前記伸長手段によって伸長された画像データに対し所定の画像処理を施す画像処理手段と、前記伸長手段によって伸長された所定のデータを記憶する第2の記憶手段と、を有し、前記第1の記憶手段は、前記所定の圧縮方法に従って圧縮されたルックアップテーブルデータを記憶し、前記アクセス制御手段は、前記第1の記憶手段からルックアップテーブルデータを読み出し、該読み出したルックアップテーブルデータを前記伸長手段へ転送し、前記伸長手段は、前記アクセス制御手段から転送されてきたルックアップテーブルデータを伸長し、前記画像処理手段は、前記伸長手段によって伸長されたルックアップテーブルデータを前記第2の記憶手段に格納するとともに、前記伸長手段によって伸長された画像データを前記第2の記憶手段に格納されているルックアップテーブルデータに基づき画像処理する、ことを特徴とする。 【0026】 請求項7に記載の発明は、上記請求項6に記載の発明において、前記アクセス制御手段は、ダイレクトメモリアクセスにより、前記第1の記憶手段からルックアップテーブルデータまたは画像データを読み出す、ことを特徴とする。 【0027】 また、上記課題を解決するため、請求項8に記載の本発明の画像処理装置は、互いに異なる画像処理を実行する複数の画像処理手段と、互いに異なる複数の画像処理に対応する複数のルックアップテーブルデータを記憶する第1のデータ記憶手段と、前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報を記憶する第2のデータ記憶手段と、前記複数の画像処理手段に対応して設けられ、対応する画像処理手段によって格納処理されるルックアップテーブルデータを記憶する複数の第3のデータ記憶手段と、上位の制御手段の命令に従って、前記第2のデータ記憶手段の記憶内容を基に前記複数の画像処理手段のそれぞれに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、前記第2のデータ記憶手段の記憶内容および前記第1のデータ記憶手段の記憶内容を基に所望のルックアップテーブルデータを読み出すアクセス制御手段と、を有し、画像処理を有効にする旨が設定された画像処理手段は、当該画像処理に対応し前記アクセス制御手段によって読み出されたルックアップテーブルデータを当該画像処理手段に対応する前記第3のデータ記憶手段に格納する、ことを特徴とする。 【0028】 また、上記課題を解決するため、請求項9に記載の本発明の画像処理装置は、互いに異なる画像処理を実行する複数の画像処理手段と、互いに異なる複数の画像処理に対応し、圧縮された複数のルックアップテーブルデータを記憶する第1のデータ記憶手段と、前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報を記憶する第2のデータ記憶手段と、前記複数の画像処理手段に対応して設けられ、伸長されたルックアップテーブルデータを記憶する複数の第3のデータ記憶手段と、上位の制御手段の命令に従って、前記第2のデータ記憶手段の記憶内容を基に前記複数の画像処理手段のそれぞれに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、前記第2のデータ記憶手段の記憶内容および前記第1のデータ記憶手段の記憶内容を基に所望のルックアップテーブルデータを読み出すアクセス制御手段と、前記アクセス制御手段によって読み出されたルックアップテーブルデータを伸長する伸長手段と、を有し、画像処理を有効にする旨が設定された画像処理手段は、当該画像処理に対応し前記伸長手段によって伸長されたルックアップテーブルデータを当該画像処理手段に対応する前記第3のデータ記憶手段に格納する、ことを特徴とする。 【0029】 請求項10に記載の発明は、上記請求項9に記載の発明において、前記第1のデータ記憶手段に記憶されるルックアップテーブルデータは、所定の圧縮方法に従って圧縮される画像データの場合と同一の圧縮方法に従って圧縮されている、ことを特徴とする。 【0030】 請求項11に記載の発明は、上記請求項8または9に記載の発明において、前記第2のデータ記憶手段は、前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報を、これらの情報に対応する複数の要素データが関連付けされたリストデータとして記憶する、ことを特徴とする。 【0031】 請求項12に記載の発明は、上記請求項11に記載の発明において、前記リストデータを構成する複数の要素データは、ルックアップテーブルデータの前記第1の記憶手段における格納場所情報と、次の要素データが存在する場合の当該次の要素データの前記第2の記憶手段における格納場所情報と、画像処理手段を示す情報とを含む複数のパラメータを含んでいる、ことを特徴とする。 【0032】 請求項13に記載の発明は、上記請求項8または9に記載の発明において、前記第2のデータ記憶手段は、前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報に対応する複数の要素データが関連付けされたリストデータであって、ルックアップテーブルデータの前記第1のデータ記憶手段における格納場所情報と、次の要素データが存在する場合の当該次の要素データの前記第2のデータ記憶手段における格納場所情報と、画像処理手段を示す情報とを含む複数のパラメータが含まれている複数の要素データが関連付けされたリストデータを記憶し、前記上位の制御手段は、第1番目の前記要素データの前記第2の記憶手段における格納場所情報とルックアップテーブルデータ設定命令を前記アクセス制御手段へ送信し、前記アクセス制御手段は、前記上位の制御手段から指定された第1番目の要素データの格納場所情報を基に前記第2のデータ記憶手段から要素データを読み出し、この読み出した要素データに含まれる画像処理手段を示す情報を基に該当する画像処理手段のみに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、当該読み出した要素データに含まれるルックアップテーブルデータの格納場所情報を基に前記第1のデータ記憶手段からルックアップテーブルデータを読み出す、ことを特徴とする。 【0033】 請求項14に記載の発明は、上記請求項10〜13の何れか一項に記載の発明において、前記アクセス制御手段は、前記第2のデータ記憶手段から読み出した要素データに次の要素データに関する格納場所情報が含まれている場合は、当該読み出した要素データに関わる処理が終了した後に、当該次の要素データに関わる処理を実行する、ことを特徴とする。 【0034】 請求項15に記載の発明は、上記請求項8〜14の何れか一項に記載の発明において、前記アクセス制御手段は、ダイレクトメモリアクセスにより、前記第1のデータ記憶手段および前記第2のデータ記憶手段から所望のデータを読み出す、ことを特徴とする。 【0035】 さらに、上記課題を解決するため、請求項16に記載の本発明のルックアップテーブルの設定方法は、互いに異なる複数の画像処理に対応する複数のルックアップテーブルデータを第1のデータ記憶手段に記憶するとともに、前記複数のルックアップテーブルデータのそれぞれの格納処理に関わる情報に対応する複数の要素データが関連付けされたリストデータを第2のデータ記憶手段に記憶し、上位の制御手段による制御の下に所定の処理を実行する下位の制御手段が、前記要素データの格納場所情報を基に前記第2のデータ記憶手段から該当する要素データを読み出し、この読み出した要素データに含まれる設定対象の画像処理を示す情報を基に当該画像処理を実行する画像処理手段のみに対し対応する画像処理を有効にするか否かを示す情報を設定するとともに、この読み出した要素データに含まれるルックアップテーブルデータの格納場所を基に前記第1のデータ記憶手段から該当するルックアップテーブルデータを読み出し、互いに異なる画像処理を実行する複数の画像処理手段のち画像処理を有効にする旨が設定された画像処理手段が、当該画像処理に対応し前記下位の制御手段によって読み出されたルックアップテーブルデータを当該画像処理手段に対応して設けられる第3のデータ記憶手段に格納する、ことを特徴とする。 【0036】 請求項17に記載の発明は、上記請求項16に記載の発明において、前記ルックアップテーブルデータが圧縮されたものであったときは、前記下位の制御手段による読み出し処理により得られたルックアップテーブルデータを伸長し、前記画像処理を有効にする旨が設定された画像処理手段は、当該画像処理に対応し前記伸長されたルックアップテーブルデータを当該画像処理手段に対応して設けられる第3の記憶手段に格納する、ことを特徴とする。 【0037】 請求項18に記載の発明は、上記請求項16または17に記載の発明において、第1番目の要素データの格納場所情報は前記上位の制御手段から与えられる、ことを特徴とする。 【0038】 請求項19に記載の発明は、上記請求項16〜18の何れか一項に記載の発明において、前記下位の制御手段によるデータの読み出しは、ダイレクトメモリアクセスにより実施される、ことを特徴とする。 【発明の効果】 【0039】 本発明の画像処理方法および画像処理装置によれば、所定の圧縮方法に従って圧縮する画像データの場合と同一の圧縮方法に従って圧縮されたルックアップテーブルデータを、同一の伸長手段によって伸長するようにしているので、圧縮されたルックアップテーブルデータの伸長に関わる専用の伸長手段を不要とすることができる。 【0040】 また、本発明の画像処理方法および画像処理装置によれば、このように同一の伸長手段を用いて、圧縮された画像データ及びルックアップテーブルデータを伸長するようにしているので、資源を有効利用することができる。 【0041】 また、本発明の画像処理装置およびルックアップテーブルの設定方法によれば、アクセス制御手段が、上位の制御手段の命令に従って第1のデータ記憶手段からの非圧縮のルックアップテーブルデータまたは圧縮されたルックアップテーブルデータを読み出し、画像処理手段が、前記読み出された非圧縮のルックアップテーブルデータを第3のデータ記憶手段に格納するか、あるいは伸長手段が前記圧縮されたルックアップテーブルデータを伸長し、画像処理手段が、前記伸長されたルックアップテーブルデータを第3のデータ記憶手段に格納するようにしているので、ルックアップテーブルの設定処理を実施するに際し、上位の制御手段の関与を最小限に抑制することができる。 【0042】 さらに、本発明の画像処理装置およびルックアップテーブルの設定方法によれば、ルックアップテーブルの設定処理を実施するに際し、例えばCPU(中央演算処理装置)など上位の制御手段の関与を最小限に抑制することで、当該上位の制御手段の負荷を軽減することができる。これにより、上位の制御手段は本体の処理を実行することができる。 【発明を実施するための最良の形態】 【0043】 以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。 (実施の形態1) 【0044】 図1は、本発明の実施の形態1に係る画像処理装置の機能構成を示している。 【0045】 図1に示すように、画像処理装置10は、CPU100、メモリ101、DMAコントローラ102、データ伸長部103、画像処理部104、LUT用メモリ105、および印字部106を備えている。 【0046】 CPU100は、DMAコントローラ102、データ伸長部103、および画像処理部104とシステムバス107を介して接続されており、各処理に応じた設定を行う。 【0047】 メモリ(第1の記憶手段)101は、圧縮された画像データ、および圧縮されたLUT(ルックアップテーブル)データを保持する。もちろん、圧縮された画像データと圧縮されたLUTデータとをそれぞれ異なるメモリに格納するようにしてもよい。 【0048】 ここで、画像データおよびLUT(ルックアップテーブル)データの圧縮方法としては、例えば可逆圧縮方法を使用する。なお、可逆圧縮方法とは、圧縮した状態から完全に元の非圧縮状態に戻せるデータの圧縮方法を総じて指すものである。 【0049】 なお、圧縮されたデータは、固定長符号(圧縮して符号化した時にデータ幅が変わらない)または可変長符号(圧縮して符号化した時にデータ幅が変わる)の何れを採用するようにしてもよい。 【0050】 可逆圧縮方法の一例であるランレングス符号化法、ハフマン符号法、ZIP圧縮方法などの一般的な圧縮アルゴリズムでも高い圧縮率で圧縮することが可能である。 【0051】 ランレングス符号化法とは、連続するデータの個数を2進数で表すことにより圧縮して記憶する方法である。 【0052】 ハフマン符号法とは、データの出現頻度にあわせて、ビット長を変化させることにより圧縮して記憶する方法である。 【0053】 ZIP圧縮方法とは、LZ77と上記のハフマン符号法とを組合わせた方法である。LZ77とは、繰返し現れる文字列をポインタ、すなわち何バイト前という情報に置換える方法である。 【0054】 本発明では、画像データとLUTデータとは、例えば、ランレングス符号化法、ハフマン符号法、ZIP圧縮方法など何れかの可逆圧縮方法、すなわち同一の圧縮方法に従って圧縮されるようになっている。 【0055】 DMAコントローラ(アクセス制御手段)102は、CPU100の設定に従い、ダイレクトメモリアクセス(以下「DMA」という。)により、メモリ101からの圧縮されたデータ(以下「圧縮データ」という。)を読み出し、これをデータ伸長部103へ出力する。この場合、LUT設定時には圧縮データとしてのLUTデータの読み出し処理が実施され、これに対し印刷時には圧縮データとしての画像データの読み出し処理が実施される。 【0056】 データ伸長部(伸長手段)103は、DMAコントローラ102からの圧縮データを伸長し、この伸長されたデータ(以下「伸長データ」という。)を画像処理部104へ出力する。この場合、LUT設定時には圧縮データとしてのLUTデータの伸長処理が実施され、これに対し印刷時には圧縮データとしての画像データの伸長処理が実施される。 【0057】 画像処理部(画像処理手段)104は、印刷時には、データ伸長部103からの伸長データとしての画像データを、LUT用メモリ105から読み出したLUTデータに基づき画像処理を実施し、この画像処理後の画像データを印字部106へ出力する。 【0058】 また、画像処理部104は、LUT設定時には、データ伸長部103からの伸長データとしてのLUTデータを、LUT用メモリ105に格納する。 【0059】 LUT用メモリ(第2の記憶手段)105は、印刷時には、保持されているLUTデータ(伸長データ)を画像処理部104へ出力し、一方、LUT設定時には、画像処理部105からのLUTデータ(伸長データ)を格納する。 【0060】 印字部106は、画像処理部104からのデータ(画像データ)を印字する。 【0061】 なお、図1において、メモリ101、DMAコントローラ102、データ伸長部103、画像処理部104および印字部106は、所定の圧縮方法に従って圧縮された画像データを伸長するとともに該伸長された画像データに対し所定の画像処理を施す画像データに関わるデータパスを形成している。 【0062】 本発明では、上記画像データに関わるデータパスを使用して、所定の圧縮方法に従って圧縮されたLUTデータを伸長する。すなわち、所定の圧縮方法に従って圧縮された画像データを伸長する上記データパスを使用して、前記所定の圧縮方法と同一の圧縮方法に従って圧縮されたLUTデータを伸長する。 【0063】 この場合、上述したように、所定の圧縮方法に従って画像データを圧縮するとともに、この画像データに対する圧縮処理の圧縮方法と同一の圧縮方法に従ってLUTデータを圧縮し、これら圧縮されたLUTデータと圧縮された画像データとをメモリ101に格納するようにする。もちろん、圧縮された画像データと圧縮されたLUTデータとをそれぞれ異なるメモリに格納するようにしてもよい。 【0064】 そして、同一のデータ伸長部103によって、同一の圧縮方法に従って圧縮されたLUTデータおよび画像データを伸長するようにする。 【0065】 これにより、圧縮されたLUTデータを伸長するLUTデータ用の専用のデータ伸長部が不要となる。 【0066】 次に、このような画像処理装置10のLUT設定時および印刷時の処理について説明する。 【0067】 LUT設定時においては、CPU100は、DMAコントローラ102に対し、メモリ101に格納されている圧縮されたLUTデータの格納アドレスとデータサイズを設定し、DMAを開始させる。 【0068】 DMAコントローラ102は、CPU100によって設定された格納アドレスおよびデータサイズに従って、メモリ101からLUTデータ(圧縮データ)を読み出して、データ伸長部103へ出力する。 【0069】 データ伸長部103は、DMAコントローラ102からのLUTデータ(圧縮データ)を伸長し、これを画像処理部104へ出力する。 【0070】 画像処理部104は、データ伸長部103からのLUTデータ(伸長データ)をLUT用メモリ105に格納する。 【0071】 一方、印刷時においては、CPU100は、DMAコントローラ102に対し、メモリ101に格納されている圧縮された画像データの格納アドレスとデータサイズを設定し、DMAを開始させる。 【0072】 DMAコントローラ102は、CPU100によって設定された格納アドレスおよびデータサイズに従って、メモリ101から画像データ(圧縮データ)を読み出して、データ伸長部103へ出力する。 【0073】 データ伸長部103は、DMAコントローラ102からの画像データ(圧縮データ)を伸長し、この伸長画像データを画像処理部104へ出力する。 【0074】 画像処理部104は、データ伸長部103からの画像データ(伸長データ)を、LUT用メモリ105から読み出したLUTデータに基づき画像処理を行い、この画像処理後の画像データを印字部106へ出力する。 【0075】 印字部は、画像処理部104からのデータを印字する。 【0076】 次に、画像処理部104の詳細な構成について、図2を参照して説明する。 【0077】 なお、図2において、符号211〜符号224で示される矢印線は、データあるいは信号の流れを示している。 【0078】 図2に示すように、画像処理部104は、入出力特性変換を画像処理として実行するものであり、画像処理設定部200、アドレス生成部201、アドレス選択部202、およびメモリ制御部203を備えている。 【0079】 画像処理設定部200は、CPU100とシステムバス107を介して接続され、CPU100からの設定に従い、アドレス生成部201に対し初期化要求211を出力するとともに、アドレス生成部201、アドレス選択部202、およびメモリ制御部203に対し印刷動作あるいはLUT設定動作の何れかの動作を示す動作設定情報212を出力する。 【0080】 また、画像処理設定部200は、印刷動作に対応する処理またはLUT設定動作に対応する処理が終了した時は、これらの処理が終了した旨をCPU100へ通知する。 【0081】 アドレス生成部201は、LUT設定時に入力データをカウントするカウンタ201aを有し、LUT用メモリ105へのアドレスを生成する。 【0082】 アドレス生成部201のカウンタ201aは、画像処理設定部200からの初期化要求211に応じてアドレス生成部201によって初期化され、この初期化された状態から、データ伸長部103からの入力データが有効であることを示す入力データイネーブル214を基にカウントアップを行う。 【0083】 アドレス選択部202は、画像処理部200からの動作設定212が印刷のときは、データ伸長部103からの入力データ(画像データ)215を選択し、この入力データ215をアドレス219(入力データ215と同一)としてLUT用メモリ105へ出力する。また、アドレス選択部202は、動作設定がLUT設定のときは、アドレス生成部201の出力信号(アドレス)218を選択し、これをアドレス219(アドレス218と同一)としてLUT用メモリ105へ出力する。 【0084】 メモリ制御部203は、画像処理設定部200から動作設定212が印刷のときは、入力データイネーブル214を基にLUT用メモリ105に対しリード制御を示すメモリ制御信号220を出力するとともに、出力データが有効であることを示す出力データイネーブル221を有効にする。 【0085】 このとき、LUT用メモリ105からは、アドレス選択部202からのアドレス219およびメモリ制御部203からのリード制御を示すメモリ制御信号220に基づくリードデータ222が画像処理部104へ出力される。そして、このリードデータ222が出力データ223(リードデータ222と同一)として画像処理部104から出力される。 【0086】 また、動作設定212が印刷のときは、メモリ制御部203は、データ伸長部103からの入力データ215が最後であることを示す入力エンドフラグ216が有効の場合は、最後の入力データ215を画像処理し出力するときに、出力エンドフラグ224を有効にし、処理が終了した旨213を画像処理設定部200へ出力する。 【0087】 また、メモリ制御部203は、画像処理設定部200から動作設定212がLUT設定のときは、入力データイネーブル214を基にLUT用メモリ105に対しライト制御を示すメモリ制御信号220を出力する。 【0088】 このとき、LUT用メモリ105には、アドレス選択部202からのアドレス219およびメモリ制御部203からのライト制御を示すメモリ制御信号220に基づき、ライトデータ217が書き込まれる。 【0089】 また、動作設定212がLUT設定のときは、メモリ制御部203は、入力エンドフラグ216が有効の場合は、最後の入力データ215をLUT用メモリ105へ格納した後、処理が終了した旨213を画像処理設定部200へ出力する。 【0090】 次に、印字部106における入出力特性例について、図3を参照して説明する。 【0091】 画像処理部104が実施する入出力特性変換とは、画像処理部104が取得する入力データ(図2の入力データ215)に基づく濃度と、印字部106が出力する出力結果の濃度つまり印刷(あるいは印字)の濃度(印刷濃度あるいは印字濃度)とが、同等の濃度となるように、入力データを所定のデータに変換することである。 【0092】 ここで、入力データは8bitとし、「0」から「255」の値(256階調の値)をとる。印字部106では、図3に示すように、実際の入出力特性310においては、入力データが値「95」のときは、印刷濃度は16.7%となる。 【0093】 しかし、入力データが濃度を表す理想値の場合の理想の入出力特性320においては、入力データが値「95」のときは、印刷濃度は37.5%となる。 【0094】 そして、図3からは、印字部106による印刷の濃度(印刷濃度)が37.5%になるのは、入力データが、この印刷濃度と入出力特性310との交点に対応する値「120」のときであることが分かる。 【0095】 次に、入出力特性変換表について図4を参照して説明する。 【0096】 図4(a)は、画像処理部104が取得する入力データ(図2の入力データ215)と、画像処理部104が出力する出力データ(図2の出力データ223)との関係を示す入出力特性を示している。 【0097】 なお、この場合の出力データは、図3を用いて既に説明したように、入力データが256階調中の所望の階調の値(例えば値「95」)のときに得られる入出力特性320における印刷濃度(例えば37.5%)と同等の印刷濃度が得られる、入出力特性310における入力データの所定の値(例えば値「120」)を、256階調分について求めたものである。 【0098】 ちなみに、図4(a)では、入力データの9つの階調の値と、これら各値のそれぞれに対応する出力データの値との対応関係が示されている。 【0099】 図4(b)は、入力データと出力データとを対応付けた対応表を示している。 【0100】 対応表300は、図4(b)に示すように、入力データの項目331と出力データの項目332とが対応付けされており、項目331には図4(a)の入出力特性における入力データの値(256階調に対応する値)が登録され、項目332には図4(a)の入出力特性における出力データの値が登録される。 【0101】 したがって、画像処理部104が、この対応表300を参照して、入力データを出力データに変換することにより、画像処理部104が取得する入力データ(図2の入力データ215)に基づく濃度と印刷部106が出力する印刷結果の印刷濃度とが同等になる。 【0102】 次に、LUT(ルックアップテーブル)について、図5を参照して説明する。 【0103】 LUTデータ400は、図5に示すように、アドレスの項目410とデータの項目420とが対応付けされた表形式のデータになっている。 【0104】 アドレスの項目410には、図4(b)の対応表300の項目331に登録されている入力データの値(256階調に対応する値)がアドレスとして登録されている。 【0105】 データの項目420には、図4(b)の対応表300の項目332に登録されている出力データの値(256階調に対応する値)がデータとして登録されている。 【0106】 ところで、LUT設定時に、このようなLUTデータ400が画像処理部104によってLUT用メモリ105に格納されることにより、印刷時において、画像処理部104は、入力データ(図2の入力データ215)が例えば値「95」の場合、アドレスを95(図2のアドレス219)にしてLUT用メモリ105に対しリードアクセス(図2のメモリ制御信号220の出力)を行う。 【0107】 LUT用メモリ105は、アドレス95番地に格納されているデータ「120」をリードデータ(図2のリードデータ222)として出力する。 【0108】 画像処理部104は、LUT用メモリ105からのリードデータ(図2のリードデータ222)を出力データ(図2の出力データ223)として出力する。 【0109】 これにより、入力データの値「95」が画像処理部104で値「120」に変換されるので、印字部106から出力される印刷結果の印刷濃度が37.5%となる。 【0110】 次に、画像処理部104によるLUT設定時のLUT設定処理について、図6および上述した図2を参照して説明する。 【0111】 図6は、そのLUT設定処理の処理手順を示すフローチャートである。 【0112】 ここで、LUT用メモリ105に格納するLUTデータは、図5に示したLUTデータ400をアドレス0番地のデータから順に、画像データの場合と同じ圧縮方式で圧縮されているLUTデータであり、メモリ101に格納されているものとする。 【0113】 しかも、メモリ101に格納されている圧縮されたLUTデータ400について、DMAコントローラ102がアドレス0番地のデータから順に読み出し、これをデータ伸長部103へ転送するものとする。 【0114】 したがって、データ伸長部103からのデータ(伸長データ)は、アドレス0番地のデータから順に出力されることとなる。 【0115】 さて、CPU100がシステムバス107を通して画像処理部104に初期化要求を設定すると(ステップS101)、画像処理部104では、画像処理設定部200がアドレス生成部201に対して初期化要求211を行う。 【0116】 そして、アドレス生成部201は、カウンタ201aの初期化を行い(ステップS102)、出力(アドレス値)を「0」にする。つまりアドレス生成部201からはアドレス値「0」を示す出力信号218が出力される。 【0117】 CPU100が画像処理部104の動作設定をLUT設定に設定すると(ステップS103)、画像処理設定部200は動作設定をLUT設定にする。つまり画像処理設定部200は、LUT設定を示す動作設定情報212をアドレス生成部201、アドレス選択部202およびメモリ制御部203へ出力する。 【0118】 LUT設定を示す動作設定情報212を受け取ったアドレス選択部202は、動作設定がLUT設定になったと認識して、アドレス生成部201の出力信号218を選択し、この出力信号218で示されるアドレスを、LUT用メモリ105のアドレス219とする(ステップS104)。 【0119】 LUT設定を示す動作設定情報212を受け取ったメモリ制御部203は、動作設定がLUT設定になったと認識して、データ伸長部103からの入力データイネーブル214が有効か否か(入力データがあるか否か)を判断する(ステップS105)。 【0120】 メモリ制御部203は、ステップS105において、入力データイネーブル214が有効でないと判断した場合にはそれが有効になるまで待機し、一方、LUT設定時に入力データイネーブル214が有効になったと判断した場合は、LUT用メモリ105に対しライト制御を示すメモリ制御信号220を出力してライト制御を行う。 【0121】 このとき、画像処理部104は、データ伸長部103からの入力データ215を、LUT用メモリ105へのライトデータ217として出力する。 【0122】 そして、LUT用メモリ105は、画像処理部104(のアドレス選択部202)からのアドレス(例えばアドレス値「0」)で指定された番地に、ライトデータ217を格納する(ステップS106)。 【0123】 次に、アドレス生成部201は、データ伸長部103からの入力データイネーブル214を基にカウンタ201aをカウントアップする(ステップS107)。 【0124】 これにより、アドレス生成部201の出力信号218は、最初の入力データがLUT用メモリ105にライトされるときは値「0」を示し、その最初の入力データがライトされた後は値「1」を示すことになる。 【0125】 このようにしてアドレス生成部201の出力信号218が「0」から「255」の256階調の各値に変化することにより、LUTデータ400(図5参照)の項目420に登録されているデータが、LUT用メモリ105における指定されたアドレス(出力信号218で示されるアドレス値)に対応する記憶領域に格納されることになる。 【0126】 さて、ステップS107を終了した場合、画像処理部104では、メモリ制御部203は、データ伸長部103からの入力エンドフラグ216が有効であるか否か(入力データが最後のデータであるか否か)を判断する(ステップS108)。 【0127】 ステップS108において、入力エンドフラグ216が有効でないと判断された場合は上記ステップS105に戻る。 【0128】 一方、ステップS108において入力エンドフラグ216が有効であると判断したメモリ制御部203は、LUT設定処理が終了した旨(処理終了を示す旨)213を画像処理設定部200へ出力する。 【0129】 すると、画像処理設定部200は、メモリ制御部203からの処理終了を示す旨213が入力されると、システムバス107を通して処理が終了(処理終了)したことをCPU100へ通知する(ステップS109)。これで、LUT設定処理が終了する。 【0130】 次に、画像処理部104による印刷時の印刷処理について、図7および上述した図2を参照して説明する。 【0131】 図7は、その印刷処理の処理手順を示すフローチャートである。 【0132】 CPU100がシステムバス107を通して画像処理部104の動作設定を印刷に設定すると(ステップS201)、画像処理部104では、画像処理設定部200は動作設定を印刷に設定にする。つまり画像処理設定部200は、印刷を示す動作設定情報212をアドレス生成部201、アドレス選択部202およびメモリ制御部203へ出力する。 【0133】 印刷を示す動作設定情報212を受け取ったアドレス選択部202は、動作設定が印刷になったと認識して、データ伸長部103からの入力データ215を選択し、この入力データ215を、LUT用メモリ105のアドレス219とする(ステップS202)。 【0134】 印刷を示す動作設定情報212を受け取ったメモリ制御部203は、動作設定が印刷になったと認識して、データ伸長部103からの入力データイネーブル214が有効か否か(入力データがあるか否か)を判断する(ステップS203)。 【0135】 メモリ制御部203は、ステップS203において、入力データイネーブル214が有効でないと判断した場合にはそれが有効になるまで待機し、一方、印刷時に入力データイネーブル214が有効になったと判断した場合は、LUT用メモリ105に対しリード制御を示すメモリ制御信号220を出力してリード制御を行う。 【0136】 LUT用メモリ105は、画像処理部104(のアドレス選択部202)からのアドレスで指定された番地に格納されているデータをリードデータ222として画像処理部104へ出力する(ステップS204)。 【0137】 画像処理部104では、メモリ制御部203は、データ伸長部103からの入力エンドフラグ216が有効であるか否か(入力データが最後のデータであるか否か)を判断する(ステップS205)。 【0138】 ステップS205において入力エンドフラグ216が無効であると判断された場合には、画像処理部104がLUT用メモリ105からのリードデータ222を出力データ223として印刷部106へ出力するとともに、メモリ制御部203が出力データイネーブル221のみ有効にし(ステップS206)、その後、ステップS203に戻る。 【0139】 これに対し、ステップS205において入力エンドフラグ216が有効であると判断された場合は、画像処理部104がLUT用メモリ105からのリードデータ222を出力データ223として印刷部106へ出力するとともに、メモリ制御部203が出力データイネーブル221と出力エンドフラグ224とを有効にし(ステップS207)、その後、印刷処理が終了した旨(処理終了を示す旨)213を画像処理設定部200へ出力する。 【0140】 すると、画像処理設定部200は、メモリ制御部203からの処理終了を示す旨213が入力されると、システムバス107を通して処理が終了(処理終了)したことをCPU100へ通知する(ステップS208)。これで、印刷設定処理が終了する。 【0141】 以上説明したように、実施の形態1によれば、LUTデータを、画像データを圧縮する場合と同じ圧縮方式で圧縮することにより、印刷時に使用するデータ伸長部をLUT設定時にも使用することができる。すなわち、LUTデータを画像データの場合と同じ圧縮方式で圧縮し、画像データの伸長に使用するデータ伸長部を用いて、圧縮されたLUTデータを伸長することで、LUTデータ用のデータ伸長部が不要になる。これにより、圧縮されたLUTデータを展開または復元するための専用回路が不要になるので、回路規模の削減が可能となる。 【0142】 また、実施の形態1によれば、LUT設定の処理を画像データに関わるデータパスと同じデータパスを使用することにより、当該LUT設定がDMAで行えることになり、LUTの設定時間を短縮することができるとともに、CPUの処理を軽減することができる。 (実施の形態2) 【0143】 図8は、本発明の実施の形態2に係る画像処理装置を適用したプリンタコントローラの構成を示している。 【0144】 図8に示すように、プリンタコントローラ50は、ASIC(特定用途向けIC)500、CPU(中央演算処理装置)501、ROM(読み出し専用メモリ)502、RAM(随時書き込み読み出しメモリ)503、HDD(ハードディスク装置)504、およびその他デバイス505を備えている。 【0145】 ROM(第1のデータ記憶手段および第2のデータ記憶手段)502は、ファームウェアや圧縮されているLUTデータを格納する。 【0146】 CPU(上位の制御手段)501は、ROM502から読み出したファームウェアを実行する。 【0147】 RAM503、HDD504およびデバイス505は、CPU501あるいは図示しないホストコンピュータから転送されてくる圧縮された印刷データ、圧縮されたLUTデータ、後述するリストデータなど各種のデータを一時的に格納する。なお、RAM503、HDD504およびデバイス505は、上述した第1のデータ記憶手段および第2のデータ記憶手段の機能を有している。 【0148】 ASIC500は、上述した各構成要素501〜505を結合するものであり、画像処理した結果を、プリンタエンジン506へ転送する。 【0149】 ASIC500は、メモリコントローラ510、LIST−DMAコントローラ520、VIDEO−DMAコントローラ530、伸長器540、複数の画像処理部551〜553、および複数のLUT格納用SRAM561〜563を備えている。 【0150】 メモリコントローラ510は、CPU501、LIST−DMAコントローラ520およびVIDEO−DMAコントローラ530など制御手段と、ROM502、RAM503、ハードディスク504およびデバイス505など記憶手段との間のインタフェースを司る機能を有している。 【0151】 LIST−DMAコントローラ(アクセス制御手段、下位の制御手段)520は、メモリコントローラ510を経由してリストデータを取得するとともに、この取得したリストデータに含まれるパラメータを、そのパラメータの内容に応じてVIDEO−DMA530、伸長器540、複数の画像処理部551〜553へ出力する。 【0152】 VIDEO−DMAコントローラ(アクセス制御手段、下位の制御手段)530は、メモリコントローラ510を経由して、圧縮された画像データや圧縮されたLUTデータを取得するとともに、これらの圧縮されたデータを伸長器540へ転送する。 【0153】 伸長器(伸長手段)540は、VIDEO−DMA530から転送される圧縮された画像データや圧縮されたLUTデータを伸長するとともに、これらの伸長されたデータを画像処理部551へ転送する。 【0154】 複数の画像処理部(画像処理手段)551〜553は、互いに異なる画像処理を実行するものであり、画像処理部551は第1の画像処理を実行し、画像処理部552は画像処理部551からのデータに対し第2の画像処理を実行し、さらに画像処理部553は画像処理部552からのデータに対し第3の画像処理を実行する。したがって、画像処理部553から出力されるデータは、第1〜第3の画像処理が施されていることになる。 【0155】 第1〜第3の画像処理としては、例えば、入出力特性変換処理、色空間変換処理、ハーフトーン処理などがある。 【0156】 LUT格納用SRAM(第3のデータ記憶手段)561〜563は、スタティックRAMで構成され、上記各画像処理部551〜553に対応して設けられる(第1〜第3の画像処理に対応して設けられる)ものであり、画像処理毎の伸長されたLUTデータを格納する。 【0157】 なお、本実施の形態2では、CPU501あるいは図示しないホストコンピュータから転送されてくるLUTデータは圧縮されたLUTデータとしているが、本発明はこれに限定されることなく、非圧縮のLUTデータであってもよい。 【0158】 この場合、非圧縮のLUTデータのみを取り扱うときは、伸長器540は不要となり、VIDEO−DMAコントローラ530は取得した非圧縮のLUTデータを画像処理部551へ転送することになる。 【0159】 しかし本実施の形態2においては、圧縮されたLUTデータおよび非圧縮のLUTデータの何れのLUTデータにおいても画像処理が実施できるように、伸長器540を備えるようにし、非圧縮のLUTデータを取り扱うときは、伸長器540が機能しないように設定される。 【0160】 次に、リストデータとLUTデータについて、図9を参照して説明する。 【0161】 図9は、リストデータとLUTデータのデータ形式(フォーマット)を示している。 【0162】 なお、本実施の形態2では、複数の画像処理つまり複数の画像処理部に応じた数のLUTデータが準備され、しかも、そのLUTデータの数に応じた数のリストデータが準備される。例えば、第1〜第3の画像処理に対応して3つのLUTデータが準備され、これら3つのLUTデータに対応して3つのリストデータが準備される。 【0163】 図9においては、3つのリストデータ610,620,630、およびLUTデータ710,720、730が示されている。 【0164】 なお、リストデータ610およびLUTデータ710は第1の画像処理に関わるデータとし、リストデータ620およびLUTデータ720は第2の画像処理に関わるデータとし、リストデータ630およびLUTデータ730は第3の画像処理に関わるデータとする。 【0165】 また、3つのLUTデータ710〜730においては、全てが圧縮されたLUTデータまたは非圧縮のLUTデータでもよいし、一部が非圧縮のLUTデータでもよい。 【0166】 さて、リストデータ610およびLUTデータ710のそれぞれのフォーマットについて説明する。 【0167】 リストデータ610は、図9に示すように、設定対象画像処理番号611、画像処理動作ON/OFF612、LUT圧縮ON/OFF613、次のリストあり/なし614、次リストアドレス615、LUTデータアドレス616、およびLUTデータサイズ617の各フィールドから構成されている。 【0168】 設定対象画像処理番号611は、LUTの設定対象となる画像処理を示す番号(画像処理番号)を意味する。 【0169】 設定対象画像処理番号611のフィールドには、上記第1の画像処理を示す画像処理番号1、上記第2の画像処理を示す画像処理番号2、および第3の画像処理を示す画像処理番号3のうち何れかの画像処理番号が、それぞれパラメータとして記述される。換言すれば、設定対象画像処理番号611は、LUTの設定対象の画像処理を実行すべき、複数の画像処理部551,552,553のうち何れかの画像処理部を示す情報を意味することになる。 【0170】 画像処理動作ON/OFF612は、印刷処理動作時に、該当する画像処理部を有効にするか否かを示す情報(画像処理動作ON/OFF)、すなわち設定対象の画像処理に対応する画像処理部を有効にするか否かを示す情報を意味する。 【0171】 画像処理動作ON/OFF612のフィールドには、印刷処理動作時に設定対象画像処理番号611のパラメータに対応する画像処理を実行する画像処理部の画像処理動作を有効にする旨を示す「画像処理動作ON」またはその画像処理動作を無効にする旨を示す「画像処理動作OFF」がパラメータ(の設定値)として記述される。 【0172】 そのため、設定対象画像処理番号611のフィールドに所定の画像処理番号が記述された場合において、画像処理動作ON/OFF612のフィールドに「画像処理動作ON」が設定された場合には、当該所定の画像処理番号に対応する画像処理を実行する画像処理部は、入力されるLUTデータの格納処理を実施し、これに対し画像処理動作ON/OFF612のフィールドに「画像処理動作OFF」が設定された場合は、当該所定の画像処理番に対応する画像処理を実行する画像処理部は、入力されるLUTデータを次の画像処理部へ転送することになる。 【0173】 なお、上記所定の画像処理番号以外の画像処理番号に対応する画像処理を実行する画像処理部は、入力されるLUTデータを次の画像処理部へ転送することになる。 【0174】 ところで、例えば、設定対象画像処理番号611のフィールドに画像処理番号1が記述された場合で、画像処理動作ON/OFF612のフィールドに「画像処理動作ON」が設定された場合には、次の印刷処理動作時においては、例えば画像処理部551は、伸長部540からの入力データに画像処理を施し、この画像処理後のデータを画像処理部552へ出力することになる。 【0175】 これに対し、設定対象画像処理番号611のフィールドに画像処理番号1が記述された場合で、画像処理動作ON/OFF612のフィールドに「画像処理動作OFF」が設定された場合は、次の印刷処理動作時においては、例えば画像処理部551は、伸長部540からの入力データに対する画像処理を実施せずに、そのままのデータを画像処理部552へ出力することになる。 【0176】 LUT圧縮ON/OFF613は、設定対象のLUTデータが圧縮されているか否かを示す情報(LUT圧縮ON/OFF)を意味する。 【0177】 LUT圧縮ON/OFF613のフィールドには、設定対象のLUTデータが、圧縮されたLUTデータのときは圧縮データである旨を示す「LUT圧縮ON」がパラメータとして記述され、一方、非圧縮のLUTデータのときは非圧縮データである旨を示す「LUT圧縮OFF」がパラメータとして記述される。 【0178】 なお、「LUT圧縮ON」がパラメータとして記述されているときは、伸長器540はVIDEO−DMAコントローラ530からの圧縮されたLUTデータを伸長し、これを画像処理部551へ転送することになる。一方、「LUT圧縮OFF」がパラメータとして記述されているときは、伸長器540は、伸長器として機能せず、VIDEO−DMAコントローラ530からの非圧縮のLUTデータをそのまま画像処理部551へ転送することになる。 【0179】 次のリストあり/なし614は、次のリストデータがあるか否かを示す情報(次のリストあり/なし)を意味する。 【0180】 次のリストあり/なし614のフィールドには、次のリストデータがある場合には存在する旨(次のリストあり)がパラメータとして記述され、次のリストデータがない場合は存在しない旨(次のリストなし)がパラメータとして記述される。 【0181】 例えば、第1の画像処理および第2の画像処理のそれぞれに関わる各リストデータ610,620のときは、次のリストデータが存在する旨(次のリストあり)がパラメータとして記述され、第3の画像処理に関わるリストデータ630のときは、次のリストデータが存在しない旨(次のリストなし)がパラメータとして記述される。 【0182】 次リストアドレス615は、次のリストデータの格納場所情報を意味する。次のリストアドレス615のフィールドには、次のリストデータが存在する場合には当該次のリストデータの先頭のアドレス情報がパラメータとして記述され、次のリストデータが存在しない場合は終了である旨がパラメータとして記述される。 【0183】 例えば、第1の画像処理に関わるリストデータ610のときは、第2の画像処理に関わるリストデータ620の先頭のアドレス情報がパラメータとして記述され、リストデータ620のときは、第3の画像処理に関わるリストデータ630の先頭のアドレス情報がパラメータとして記述され、リストデータ630のときは、終了である旨がパラメータとして記述される。 【0184】 LUTデータアドレス616は、設定対象画像処理番号に対応する画像処理の際に参照、つまり設定対象画像処理番号に対応する画像処理部によって参照されるLUTデータの先頭のアドレス情報を意味する。 【0185】 LUTデータアドレス616のフィールドには、例えば、リストデータ610の場合では、第1の画像処理に関わるLUTデータ710の先頭のアドレス情報がパラメータとして記述される。 【0186】 LUTデータサイズ617は、設定対象画像処理番号に対応する画像処理の際に参照されるLUTデータのデータサイズ情報を意味する。 【0187】 LUTデータサイズ617のフィールドには、例えば、リストデータ610の場合では、第1の画像処理に関わるLUTデータ710のデータサイズ情報がパラメータとして記述される。 【0188】 LUTデータ710は、動作関連パラメータ群711、LUT部分713のデータサイズを含むLUT関連パラメータ群712、およびLUTの実体としてのLUT部分713を含んでいる。 【0189】 他のリストデータ620,630および他のLUTデータ720,730においても、それぞれリストデータ610およびLUTデータ710の場合と同様のフォーマットになっている。 【0190】 なお、本実施の形態2では、3つのリストデータ610,620,630で広義のリストデータを構成し、各リストデータ610,620,630は、広義のリストデータを構成する要素データであって、LUTデータの格納処理に関わる情報として機能する。 【0191】 なお、各要素データとしての各リストデータ610,620,630が関連付けされて、広義のリストデータが形成される。 【0192】 LUTデータの格納処理に関わる情報とは、上記要素データとしての例えばリストデータ610に含まれる「設定対象画像処理番号611」、「画像処理動作ON/OFF612」、「LUT圧縮ON/OFF613」、「次のリストあり/なし614」、「次リストアドレス615」、「LUTデータアドレス616」、「LUTデータサイズ617」の各パラメータ(の設定値)のことである。 【0193】 次に、上述した構成のプリンタコントローラ50による印刷処理について説明する。 【0194】 ASIC500では、VIDEO−DMAコントローラ530が、RAM503に格納された圧縮された印刷データをメモリコントローラ510を経由して取り込み、これを伸長器540へ転送する。 【0195】 伸長器540は、転送されてきた圧縮された印刷データを伸長して画像処理部551へ転送する。 【0196】 画像処理部551は、伸長器540からの印刷データに対して、LUT格納用SRAM561に格納されているLUTデータに基づき第1の画像処理(補正)を実行し、この画像処理後の印刷データを画像処理部552へ転送する。 【0197】 画像処理部552は、画像処理部551からの印刷データに対して、LUT格納用SRAM562に格納されているLUTデータに基づき第2の画像処理(補正)を実行し、この画像処理後の印刷データを画像処理部553へ転送する。 【0198】 画像処理部553は、画像処理部552からの印刷データに対して、LUT格納用SRAM563に格納されているLUTデータに基づき第3の画像処理(補正)を実行し、この画像処理後のプリンタエンジン506へ転送する。 【0199】 LIST−DMAコントローラ520は、RAM503に圧縮された印刷データが分割されて格納されている場合に使用する。 【0200】 すなわち、LIST−DMAコントローラ520は、分割後の圧縮された印刷データが格納されているアドレス、その分割後の圧縮された印刷データのサイズなどのパラメータを、VIDEO−DMAコントローラ530に指示する。 【0201】 すると、VIDEO−DMAコントローラ530は、RAM503に格納されている分割後の圧縮された印刷データを順次、メモリコントローラ510を経由して取り込み、これを伸長器540へ転送することになる。 【0202】 このような印刷処理の前に、画像処理部551,552,553に対応するLUT格納用SRAM561,562,563に対しLUTデータの設定を行う必要がある。 【0203】 次に、プリンタコントローラ50によるLUT設定処理について、図10を参照して説明する。 【0204】 図10は、そのLUT設定処理の処理手順を示すフローチャートである。図10においては、LIST−DMAコントローラはLIST−DMAと表記し、またVIDEO−DMAコントローラはVIDEO−DMAと表記する。 【0205】 LUTデータ設定処理にはソフトウェア側の処理とハードウェア側の処理とがあるので、最初にソフトウェア側の処理について説明する。 【0206】 CPU501は、図10に示すように、メモリコントローラ510を経由して、RAM503にリストデータを格納(準備)するとともに、LUTデータをROM502、RAM503、ハードディスク(HDD)504などデバイス(メモリデバイス)に格納(準備)する(ステップS301)。これらのデータがメモリに予め格納されている場合は、このようなデータの準備処理は必要ない。 【0207】 次に、CPU501は、メモリコントローラ510を経由して、ASIC500のLIST−DMAコントローラ520に最初にリストデータが格納されているアドレスを書き込み(ステップS302)、その後、メモリコントローラ510を経由して、LIST−DMAコントローラ520内に設けられているLUT設定開始レジスタにSTART(スタート)コマンドをライトする(ステップS303)。 【0208】 このSTARTコマンドがLIST−DMAコントローラ520にライトされることにおり、ハードウェア側の動作がスタートするので、CPU501は、ハードウェア側からの処理の終了を意味する割り込みが入力されるまで、他の処理を行う。 【0209】 そして、CPU501は、ハードウェア側からの処理の終了を意味する割り込みを検出したら、その割り込みをクリアし、その後、LUT格納用SRAMへのLUT設定を完了する(ステップS313)。 【0210】 次に、ハードウェア側の処理について説明する。 【0211】 LIST−DMAコントローラ520に対するCPU501によるSTARTコマンドのライトにより、ハードウェア側は動作を開始する。 【0212】 LIST−DMAコントローラ520は、図10に示すように、CPU501によって設定された最初のリストデータのアドレスを取り出すとともに、この取り出したアドレスの格納領域に格納されている1番目のリストデータを、メモリコントローラ510を経由してDMA(ダイレクトメモリアクセス)で取り込む(ステップS304)。 【0213】 LIST−DMAコントローラ520は、取り込んだ1番目のリストデータ610に記述されている各パラメータ611〜617を、そのパラメータ内容に応じて、各機能すなわちVIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553に向けて送信し、設定する(ステップS305)。 【0214】 すなわち、VIDEO−DMAコントローラ530に対しては、LUTデータアドレス616およびLUTデータサイズ617の各パラメータが送信される。VIDEO−DMAコントローラ530は、取得した各パラメータを自己の所定の記憶領域に保存し設定する。 【0215】 伸長器540に対しては、LUT圧縮ON/OFF613つまりLUT圧縮ONまたはLUT圧縮OFFのパラメータが送信される。伸長器540は、取得したパラメータを自己の所定の記憶領域に保存し設定する。 【0216】 例えば、設定対象のLUTデータが圧縮されている場合は、LUT圧縮ONのパラメータが送信される。 【0217】 画像処理部551,552,553に対しては、設定対象画像処理番号611のパラメータと、画像処理動作ON/OFF612つまり画像処理動作ONまたは画像処理動作OFFのパラメータが送信される。各画像処理部551〜553は、設定対象画像処理番号611のパラメータの設定値(画像対象番号)と自分の番号(画像対象番号)とを比較し、この比較した結果、そのパラメータの設定値(画像対象番号)と自分の番号(画像対象番号)とが一致した場合には、取得した各パラメータを自己の所定の記憶領域に保存し設定し、一方、そのパラメータの設定値(画像対象番号)と自分の番号(画像対象番号)とが一致しなかった場合は、各パラメータを保存せずに破棄する。 【0218】 例えば、設定対象画像処理番号が第1の画像処理を示す画像処理番号1であった場合は、画像処理番号1および画像処理動作ON/OFFの各パラメータが、各画像処理部551,552,553に送信される。そして、画像処理部551では、受け取った各パラメータを自己の所定の記憶領域に保存する。一方、画像処理部552および画像処理部553では、受け取った各パラメータを自己の所定の記憶領域に保存せずに破棄する。 【0219】 さて、ステップS305を終了したLIST−DMAコントローラ520は、VIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553に向けてクリア要求を送信してクリア処理を行う(ステップS306)。 【0220】 VIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553のそれぞれは、LIST−DMAコントローラ520からのクリア要求に応じて、自己の内容をクリアする。なお、動作を規定する設定済みのパラメータ(上記ステップS305の処理により設定されるパラメータ)等は保存するようにする。 【0221】 クリア要求を送信したLIST−DMAコントローラ520は、VIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553に向けてLUT設定開始コマンドを出力する(ステップS307)。 【0222】 VIDEO−DMAコントローラ530は、LUT設定開始コマンドを取得したことを条件に、設定されたLUTデータアドレスを基に、設定されたLUTデータサイズ分のデータ(LUTデータ)を、メモリコントローラ510を経由して、DMAによりリードする。 【0223】 メモリコントローラ510は、VIDEO−DMAコントローラ530から指定されたLUTデータアドレスに対応するROM502、RAM503、ハードディスク504などデバイス(メモリデバイス)からデータ(LUTデータ)をASIC500に取り込み、このLUTデータをVIDEO−DMAコントローラ530に渡す。 【0224】 VIDEO−DMAコントローラ530は、メモリコントローラ510を経由してリードしたデータ(LUTデータ)を伸長器540へ転送するとともに(ステップS308)、上記LUTデータサイズ分のデータの転送が終了した場合には、LIST−DMAコントローラ520へ転送終了を通知する。 【0225】 伸長器540は、LUT圧縮ONが設定された場合に、VIDEO−DMAコントローラ530から転送されるデータ(LUTデータ)を伸長処理して画像処理部551へ転送し、一方、LUT圧縮OFFが設定された場合は、VIDEO−DMAコントローラ530から転送されるデータ(LUTデータ)をそのまま画像処理部551へ転送する(ステップS308)。 【0226】 各画像処理部551、552,553は、設定対象画像処理番号と自分の番号(画像処理番号)とが一致した場合、伸長器540または前段の画像処理部から転送されてくるデータ(LUTデータ)から、動作関連パラメータ群を抽出し、これを自己の画像処理部内に設けられている動作関連レジスタ群に保持する。 【0227】 また、各画像処理部551、552,553は、伸長器540または前段の画像処理部から転送されてくるデータ(LUTデータ)から、LUT関連パラメータ群を抽出し、この抽出したLUT関連パラメータ群の中からLUT部分のデータサイズ(大きさ)を取り出す。 【0228】 また、各画像処理部551、552,553は、LUT関連パラメータ群以降のデータつまりLUT部分のデータを、当該画像処理部に対応するLUT格納用SRAMに更新データとして書き込み(ステップS308)、LUT部分の大きさ分のデータを書き込んだ場合は、LIST−DMAコントローラ520へ書き込み終了を通知する。 【0229】 さらに、各画像処理部551、552,553は、既にLIST−DMAコントローラ520から送信されている画像処理動作ON/OFFのパラメータ(設定値)を保持し、印刷動作時に反映させる。 【0230】 なお、各画像処理部551、552,553は、設定対象画像処理番号と自分の番号(画像処理番号)とが不一致の場合、伸長器540または前段の画像処理部から転送されてくるデータ(LUTデータ)をそのまま次の画像処理番号に対応する画像処理部へ転送し、かつLIST−DMAコントローラ520からの画像処理動作ON/OFFのパラメータ(設定値)は保存せず、破棄する。 【0231】 ところで、LIST−DMAコントローラ520は、VIDEO−DMAコントローラ530からの転送終了通知と、リストデータ内の設定対象画像処理番号に対応する画像処理部からの書き込み終了通知とに基づき、LUTの更新は完了したか否かを判断する(ステップS309)。 【0232】 LIST−DMAコントローラ520は、ステップS309において、上記転送終了通知と上記書き込み終了通知とを受け取っていないので、LUTの更新は完了していないと判断した場合には、前記2つの通知を受け取るまではウェイト状態となり、一方、前記2つの通知を受け取った場合は、前記2つの通知を受け取ったタイミングで所望のリストデータ(例えば1番目のリストデータ610)に対応するLUTの更新は完了したと判断する。 【0233】 次に、LIST−DMAコントローラ520は、ステップS309において、1番目のリストデータ610に対応するLUTの更新が完了したと判断した場合は、既に取り込み済みのリストデータ610の次のリストあり/なし614のパラメータに基づいて、次のリストデータがあるか否かを判断する(ステップS310)。 【0234】 そして、LIST−DMAコントローラ520は、ステップS310において、次のリストあり/なし614のパラメータが「次のリストあり」を示しているパラメータなので、「次のリストあり」と判断した場合は、1番目のリストデータ610から次リストアドレス615を取り出し、この取り出したリストアドレスを2番目のリストデータ620が格納されるリストアドレスとして更新し(ステップS311)、その後、上記ステップS304に戻る。これにより、2番目のLUT更新(LUT設定)処理が実行されることになる。 【0235】 さらに、この2番目のLUT更新(LUT設定)処理の実行においては、LIST−DMAコントローラ520は、ステップS310において、2番目のリストデータ620の中の次のリストあり/なし614のパラメータが「次のリストあり」を示しているパラメータなので、「次のリストあり」と判断する(ステップS310「YES」)。 【0236】 そのため、LIST−DMAコントローラ520は、2番目のリストデータ620から次リストアドレス615を取り出し、この取り出したリストアドレスを3番目のリストデータ630が格納されるリストアドレスとして更新し、その後、上記ステップS304に戻る。これにより、3番目のLUT更新(LUT設定)処理が実行される。 【0237】 そして、この3番目のLUT更新(LUT設定)処理の実行においては、LIST−DMAコントローラ520は、ステップS310において、3番目のリストデータ630の中の次のリストあり/なし614のパラメータが「次のリストなし」を示しているパラメータなので、「次のリストなし」と判断する(ステップS310「NO」)。 【0238】 ステップS310において「次のリストなし」と判断したLIST−DMAコントローラ520は、CPU510に対し処理の終了を意味する割り込みを発行することにより処理の終了を通知し(ステップS312)、全てのLUT更新(LUT設定)作業を終了する。 【0239】 ここで、各画像処理部551〜553のステップS308の処理について具体的に説明する。 【0240】 なお、リストデータ620,630の各パラメータにおいて、リストデータ610の各パラメータと同様の機能を果たす部分には同一の符号を付し、また、LUTデータ720,730の各構成要素において、LUTデータ710の各構成要素と同様の機能を果たす部分には同一の符号を付すものとする(図9参照)。 【0241】 また、この例では、印刷処理動作のときに、所定の画像データ(印刷時に入力される印刷データ)に対して、第1〜第3の画像処理(画像処理番号1,2,3に対応する各画像処理)全てを実施するものとする。つまり、LUTデータ710,720,730の全てが設定されるものとする。 【0242】 さらに、この例では、図10に示すLUT設定処理においては、ステップS304〜ステップS310(「YES」)およびステップS311の処理(LUTデータ710の設定に関わる処理とLUTデータ720の設定に関わる処理)が2回実施され、ステップS304〜ステップS310(「NO」)の処理(LUTデータ730の設定に関わる処理)が1回実施される。 【0243】 (A)LUTデータ710の設定に関わる処理 【0244】 1番目のリストデータ610のときは、1回目のLUT設定処理におけるステップS305において、LIST−DMAコントローラ520から各画像処理部551,552,553へ、設定対象画像処理番号161のパラメータの設定値としての「設定対象画像処理番号1」および画像処理動作ON/OFF162のパラメータの設定値としての「画像処理動作ON/OFF」が送信される。 【0245】 画像処理部551は、自己は画像処理番号1であることを認識しているので、1回目のLUT設定処理におけるステップS305において、設定対象画像処理番号1と自分の画像処理番号1とが一致していると判断して、設定対象画像処理番号1および画像処理動作ON/OFFを自己の所定の記憶領域に保存し設定する。 【0246】 なお、このようにして設定された画像処理動作ON/OFF162のパラメータの設定値「画像処理動作ON/OFF」は、印刷処理動作時に反映される。 【0247】 次に、画像処理部551は、1回目のLUT設定処理におけるステップS308において、次の(A1)〜(A4)の各処理を実施する。 【0248】 (A1)伸長器540から転送されてくるデータ(LUTデータ710)から、動作関連パラメータ群711を抽出し、これを自己の画像処理部内に設けられている動作関連レジスタ群に保持する。 【0249】 (A2)伸長器540から転送されてくるデータ(LUTデータ710)から、LUT関連パラメータ群712を抽出し、この抽出したLUT関連パラメータ群712の中からLUT部分713のデータサイズ(大きさ)を取り出す。 【0250】 (A3)その後、そのLUT部分713のデータを、LUT格納用SRAM561に更新データとして書き込む。 【0251】 (A4)LUT部分713の大きさ分のデータを書き込んだ場合は、LIST−DMAコントローラ520へ書き込み終了を通知する。 【0252】 これに対し、画像処理部552および画像処理部553は、1回目のLUT設定処理におけるステップS305において、設定対象画像処理番号と自分の画像処理番号とが不一致であると判断して、LIST−DMAコントローラ520からの設定対象画像処理番号611および画像処理動作ON/OFF612の各パラメータは保存せず、破棄する。 【0253】 (B)LUTデータ720の設定に関わる処理 【0254】 2番目のリストデータ620のときは、2回目のLUT設定処理におけるステップS305において、LIST−DMAコントローラ520から各画像処理部551,552,553へ、設定対象画像処理番号161のパラメータの設定値としての「設定対象画像処理番号2」および画像処理動作ON/OFF162のパラメータの設定値としての「画像処理動作ON/OFF」が送信される。 【0255】 画像処理部551は、自己は画像処理番号1であることを認識しているので、次の(b1)、(b2)の各処理を実施する。 【0256】 (b1)2回目のLUT設定処理におけるステップS305において、設定対象画像処理番号と自分の画像処理番号とが不一致であると判断して、LIST−DMAコントローラ520からの設定対象画像処理番号611および画像処理動作ON/OFF612の各パラメータは保存せず、破棄する。 【0257】 (b2)設定対象画像処理番号と自分の画像処理番号とが不一致であるので、2回目のLUT設定処理におけるステップS308において、伸長器540から転送されてくるデータ(LUTデータ720)をそのまま次の画像処理番号2に対応する画像処理部552へ転送する。 【0258】 画像処理部552は、自己は画像処理番号2であることを認識しているので、2回目のLUT設定処理におけるステップS305において、設定対象画像処理番号2と自分の画像処理番号2とが一致していると判断して、設定対象画像処理番号2および画像処理動作ON/OFFを自己の所定の記憶領域に保存し設定する。 【0259】 なお、このようにして設定された画像処理動作ON/OFF162のパラメータの設定値「画像処理動作ON/OFF」は、印刷処理動作時に反映される。 【0260】 次に、画像処理部552は、2回目のLUT設定処理におけるステップS308において、次の(B1)〜(B4)の各処理を実施する。 【0261】 (B1)画像処理部551から転送されてくるデータ(LUTデータ720)から、動作関連パラメータ群711を抽出し、これを自己の画像処理部内に設けられている動作関連レジスタ群に保持する。 【0262】 (B2)画像処理部551から転送されてくるデータ(LUTデータ720)から、LUT関連パラメータ群712を抽出し、この抽出したLUT関連パラメータ群712の中からLUT部分713のデータサイズ(大きさ)を取り出す。 【0263】 (B3)その後、そのLUT部分713のデータを、LUT格納用SRAM562に更新データとして書き込む。 【0264】 (B4)LUT部713分の大きさ分のデータを書き込んだ場合は、LIST−DMAコントローラ520へ書き込み終了を通知する。 【0265】 画像処理部553は、2回目のLUT設定処理におけるステップS305において、設定対象画像処理番号と自分の画像処理番号とが不一致であると判断して、LIST−DMAコントローラ520からの設定対象画像処理番号611および画像処理動作ON/OFF612の各パラメータは保存せず、破棄する。 【0266】 (C)LUTデータ730の設定に関わる処理 【0267】 3番目のリストデータ630のときは、3回目のLUT設定処理におけるステップS305において、LIST−DMAコントローラ520から各画像処理部551,552,553へ、設定対象画像処理番号161のパラメータの設定値としての「設定対象画像処理番号3」および画像処理動作ON/OFF162のパラメータの設定値としての「画像処理動作ON/OFF」が送信される。 【0268】 画像処理部551は、自己は画像処理番号1であることを認識しているので、次の(c1)、(c2)の各処理を実施する。 【0269】 (c1)3回目のLUT設定処理におけるステップS305において、設定対象画像処理番号と自分の画像処理番号とが不一致であると判断して、LIST−DMAコントローラ520からの設定対象画像処理番号611および画像処理動作ON/OFF612の各パラメータは保存せず、破棄する。 【0270】 (c2)設定対象画像処理番号と自分の画像処理番号とが不一致であるので、3回目のLUT設定処理におけるステップS308において、伸長器540から転送されてくるデータ(LUTデータ720)をそのまま次の画像処理番号2に対応する画像処理部552へ転送する。 【0271】 画像処理部552は、自己は画像処理番号2であることを認識しているので、次の(c3)、(c4)の各処理を実施する。 【0272】 (c3)3回目のLUT設定処理におけるステップS305において、設定対象画像処理番号と自分の画像処理番号とが不一致であると判断して、LIST−DMAコントローラ520からの設定対象画像処理番号611および画像処理動作ON/OFF612の各パラメータは保存せず、破棄する。 【0273】 (c4)設定対象画像処理番号と自分の画像処理番号とが不一致であるので、3回目のLUT設定処理におけるステップS308において、画像処理部551から転送されてくるデータ(LUTデータ730)をそのまま次の画像処理番号3に対応する画像処理部553へ転送する。 【0274】 そして、画像処理部553は、自己は画像処理番号3であることを認識しているので、3回目のLUT設定処理におけるステップS305において、設定対象画像処理番号3と自分の画像処理番号3とが一致していると判断して、設定対象画像処理番号2および画像処理動作ON/OFFを自己の所定の記憶領域に保存し設定する。 【0275】 なお、このようにして設定された画像処理動作ON/OFF162のパラメータの設定値「画像処理動作ON/OFF」は、印刷処理動作時に反映される。 【0276】 次に、画像処理部553は、3回目のLUT設定処理におけるステップS308において、次の(C1)〜(C4)の各処理を実施する。 【0277】 (C1)画像処理部552から転送されてくるデータ(LUTデータ730)から、動作関連パラメータ群711を抽出し、これを自己の画像処理部内に設けられている動作関連レジスタ群に保持する。 【0278】 (C2)画像処理部552から転送されてくるデータ(LUTデータ730)から、LUT関連パラメータ群712を抽出し、この抽出したLUT関連パラメータ群712の中からLUT部分713のデータサイズ(大きさ)を取り出す。 【0279】 (C3)その後、そのLUT部分713のデータを、LUT格納用SRAM563に更新データとして書き込む。 【0280】 (C4)LUT部713分の大きさ分のデータを書き込んだ場合は、LIST−DMAコントローラ520へ書き込み終了を通知する。 【0281】 以上でハードウェア側のLUTデータの設定に関わる処理が終了したことになる。 【0282】 この例では、所定の画像データに対して、第1〜第3の画像処理(画像処理番号1,2,3に対応する各画像処理)全てを実施するものとしているので、上述したようにしてLUTデータ710〜730の設定に関わる処理が実施されることにより、各画像処理部551〜553には、それぞれ画像処理動作ON/OFF162のパラメータの設定値「画像処理動作ON/OFF」が設定されるとともに、各画像処理部551〜553に対応するLUT格納用SRAM561〜563には、それぞれLUTデータ710〜730が格納されることになる。 【0283】 なお、この例において、例えば、所定の画像データに対して第2の画像処理(画像処理番号2に対応する画像処理)のみを実施するものとした場合は、上述したようにしてLUTデータ710〜730の設定に関わる処理が実施されることにより、各画像処理部551〜553にはそれぞれ画像処理動作ON/OFF162のパラメータの設定値「画像処理動作ON/OFF」が設定される。また、画像処理部552に対応するLUT格納用SRAM562にはLUTデータ720が格納されるものの、画像処理部551,553に対応するLUT格納用SRAM561,563にはLUTデータは格納されない。 【0284】 次に、プリンタコントローラ50によるLUT設定処理の際のデータの流れについて、図11を参照して説明する。 【0285】 図11は、そのLUT設定処理の際のデータの流れを説明する図を示している。なお、図11において、符号P1〜符号P7で示される矢印線はデータの流れを示している。 【0286】 ここでは、第1〜第3の画像処理(換言すれば、画像処理部551〜553)つまり画像処理は3つとし、リストデータ610〜630つまりリストデータは3つとし、LUTデータ710〜730つまりLUTデータは3つとし、さらに3つのLUTデータは全て圧縮されているとした場合の処理について説明する。 【0287】 このような前提条件の下では、プリンタコントローラ50は、次のP1〜P8の各処理を実行する。なお、次の各処理「P1」、「P2−1,2」、「P3−1〜3」、「P4−1,2」、「P5−1〜4」、「P6−1,2」、「P7−1〜5」、および「P8」は、それぞれ図11に示す符号P1〜P8と対応している。 【0288】 (P1)CPU501は、メモリコントローラ510を経由して、LIST−DMAコントローラ520に対し、リストデータ610のアドレスを書き込み、その後、STARTコマンドを書き込む。 【0289】 (P2−1)LIST−DMAコントローラ520は、リストデータ610のアドレスを基に、メモリコントローラ510を経由してリストデータ610を取得するとともに、このリストデータ610内の各パラメータを、VIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に設定する。 【0290】 (P2−2)次に、LIST−DMAコントローラ520は、VIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に向けて、LUT設定開始コマンド(動作開始命令)を出力する。 【0291】 (P3−1)VIDEO−DMAコントローラ530は、LIST−DMAコントローラ520からのリストデータ610のパラメータ(LUTデータサイズ616およびLUTデータサイズ617)を基に、メモリコントローラ510を経由してLUTデータ710を取得し、これを伸長器530へ転送する。 【0292】 (P3−2)伸長器530は、VIDEO−DMAコントローラ530からのLUTデータ710を伸長し、これを画像処理部551へ転送する。 【0293】 (P3−3)画像処理部551は、伸長部530からの伸長されたLUTデータ710をLUT格納用SRAM561へ書き込む。 【0294】 (P4−1)LIST−DMAコントローラ520は、リストデータ610の次リストアドレスを基に、メモリコントローラ510を経由してリストデータ620を取得するとともに、このリストデータ620内の各パラメータを、VIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に設定する。 【0295】 (P4−2)次に、LIST−DMAコントローラ520は、VIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に向けて、LUT設定開始コマンド(動作開始命令)を出力する。 【0296】 (P5−1)VIDEO−DMAコントローラ530は、LIST−DMAコントローラ520からのリストデータ620のパラメータ(LUTデータサイズ616およびLUTデータサイズ617)を基に、メモリコントローラ510を経由してLUTデータ720を取得し、これを伸長器530へ転送する。 【0297】 (P5−2)伸長器530は、VIDEO−DMAコントローラ530からのLUTデータ720を伸長し、これを画像処理部551へ転送する。 【0298】 (P5−3)画像処理部551は、伸長器530からの伸長されたLUTデータ720をそのまま画像処理部552へ転送する。 【0299】 (P5−4)画像処理部552は、画像処理部551からのLUTデータ720をLUT格納用SRAM562へ書き込む。 【0300】 (P6−1)LIST−DMAコントローラ520は、リストデータ620の次リストアドレスを基に、メモリコントローラ510を経由してリストデータ630を取得するとともに、このリストデータ630内の各パラメータを、VIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に設定する。 【0301】 (P6−2)次に、LIST−DMAコントローラ520は、VIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に向けて、LUT設定開始コマンド(動作開始命令)を出力する。 【0302】 (P7−1)VIDEO−DMAコントローラ530は、LIST−DMAコントローラ520からのリストデータ630のパラメータ(LUTデータサイズ616およびLUTデータサイズ617)を基に、メモリコントローラ510を経由してLUTデータ730を取得し、これを伸長器530へ転送する。 【0303】 (P7−2)伸長器530は、VIDEO−DMAコントローラ530からのLUTデータ630を伸長し、これを画像処理部551へ転送する。 【0304】 (P7−3)画像処理部551は、伸長器530からの伸長されたLUTデータ730をそのまま画像処理部552へ転送する。 【0305】 (P7−4)画像処理部552も、画像処理部551からのLUTデータ730をそのまま画像処理部553へ転送する。 【0306】 (P7−5)画像処理部553は、画像処理部553からのLUTデータ730をLUT格納用SRAM563へ書き込む。 【0307】 (P8)LIST−DMAコントローラ520は、CPU501に対して終了を通知する割り込みを出力する。 【0308】 次に、LIST−DMAコントローラ520の詳細な構成について、図12を参照して説明する。 【0309】 なお、図12において、符号D801〜符号D814で示される矢印線は、データ、信号あるいはコマンドの流れを示している。 【0310】 LIST−DMAコントローラ520は、図12に示すように、レジスタ制御部521、DMA制御部522、ステート制御部523を備えている。 【0311】 レジスタ制御部521は、次の(1)〜(6)の各処理を実行する。 【0312】 (1)メモリコントローラ510を経由して、CPU501からのライトコマンド(I/Oコマンド)D801を取得したことを条件に、当該レジスタ制御部に設けられている内部レジスタ(図示せず)の設定値(レジスタ設定値)を更新する。 【0313】 (2)CPU501からのリードコマンド(I/Oコマンド)D801を取得したことを条件に、当該レジスタ制御部の内部レジスタの設定値D802をメモリコントローラ510に渡す。 【0314】 (3)CPU501からのSTARTコマンドを検出した場合は、そのSTART検出信号D803をステート制御部523へ通知する。 【0315】 (4)DMA制御部522からの更新するリストデータD804を取得したことを条件に、当該レジスタ制御部の内部レジスタの設定値を更新する。 【0316】 (5)当該レジスタ制御部の内部レジスタの設定値すなわちリストデータD805については、関連する各モジュールつまりVIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553へ、常に送信し続ける。 【0317】 (6)また、リストデータとは別に、現在の動作が印刷なのか、あるいはLUT更新(LUT設定)なのかを示す動作設定D805についても、VIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553へ、常に送信し続ける。 【0318】 DMA制御部522は、次の(1)〜(3)の各処理を実行する。 【0319】 (1)ステート制御部523からのDMA開始要求D806を取得したことを条件に、レジスタ制御部521から次リストアドレスD807を取り込む。 【0320】 (2)メモリコントローラ510に対し次リストアドレスへのDMAリード要求D808を発行する。 【0321】 (3)メモリコントローラ510から送られてきたDMAリードデータD809を、レジスタ制御部521へ更新リストデータD803として転送する。 【0322】 ステート制御部523は、レジスタ制御部521からのSTARTコマンド検出信号D803を取得したことを条件に、各モジュールすなわちVIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553へ、動作命令D810を発行する。ステート制御部523の詳細については後述する。 【0323】 VIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553の各モジュールは、レジスタ制御部521からのレジスタ設定値つまりリストデータD805および動作設定D805を取得する。 【0324】 そして、VIDEO−DMAコントローラ530、伸長器540、および各画像処理部551〜553の各モジュールは、取得した動作設定D805がLUT更新動作(LUT設定動作)の設定を示している場合で、ステート制御部523からの動作命令D810としてのスタートコマンド(スタート信号)を取得したときはLUT更新の動作を行い、これに対し、取得した動作設定D805が印刷動作の設定を示している場合で、ステート制御部523からの動作命令D810としてのスタートコマンド(スタート信号)を取得した場合は印刷動作を行う。 【0325】 次に、LIST−DMAコントローラ520のステート制御部523の処理について、図13および上述した図12を参照して説明する。 【0326】 図13はステート制御部523の処理の処理手順を示すフローチャートである。図13においては、LIST−DMAコントローラはLIST−DMAと表記し、またVIDEO−DMAコントローラはVIDEO−DMAと表記する。 【0327】 ステート制御部523は、レジスタ制御部521からのSTART検出信号D802を受信したか否かを判断し(ステップS401)、この判断した結果、START検出信号D803を受信しない場合には、START検出信号D803を受信するまで停止状態(待機状態)となる。 【0328】 ステップS401において、START検出信号D803を受信したと判断したステート制御部523は、レジスタ制御部521の動作設定(LUT更新動作または印刷動作)D805を基に、LUT更新動作であるか印刷動作であるいかは判定し(ステップS402)、この判定した結果に応じた処理を行う。 【0329】 ステップS402において、レジスタ制御部521の動作設定D805はLUT更新動作設定であると判定したステート制御部523は、DMA制御部522に対し、次リストアドレスに格納されるリストデータをDMAで取得するようDMA開始要求D806を発行する(ステップS403)。 【0330】 DMA開始要求D806を発行したステート制御部523は、DMA制御部522からDMA終了通知D811が届いたか否かを判断し(ステップS404)、この判断した結果、DMA終了通知D811が届いていない場合には、DMA終了通知D811が届くまで待機状態となる。 【0331】 ステップS404において、DMA終了通知D811が届いたと判断したステート制御部523は、今回のリストデータに対応するLUT更新作業開始前にVIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に対し、クリアコマンド(クリア信号)D810を発行する(ステップS405)。 【0332】 なお、DMA制御部523からのDMA終了後通知D810がステート制御部523に届いたタイミングで、レジスタ制御部521から各モジュールつまりVIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に向けて送信されるリストデータD805は更新されている。 【0333】 ところで、ステート制御部523から発行されたクリアコマンドD810を受け取ったVIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553はそれぞれ自己を初期化する。 【0334】 ステップS405を終了したステート制御部523は、STARTコマンド(スタート信号)D810を発行する(ステップS406)。 【0335】 STARTコマンドD810の発行により処理が開始される。具体的には、VIDEO−DMAコントローラ530が、外部からデータ(LUTデータ)を取り込む(メモリコントローラ510を経由してデータ(LUTデータ)を取り込む)。次に、伸長器540が、その取り込まれたデータ(LUTデータ)を伸長する。さらに、各画像処理部551〜553が、伸長されたデータ(LUTデータ)を、対応するLUT更新用SRAMに書き込む。このような処理が、全てのLUTデータについて順次行われる。 【0336】 STARTコマンドD810を発行したステート制御部523は、VIDEO−DMAコントローラ530からの転送終了通知D812と更新対象となった画像処理に対応する画像処理部からの書き込み終了通知D813とを受信したか否かを判断し(ステップS407)、この判断した結果、前記2つの終了通知を受信していない場合には、前記2つの終了通知を受信するまで待機する。 【0337】 これに対し、ステップS407において前記2つの終了通知を受信したと判断したステート制御部523は、現在のリストデータ中の次のリストあり/なし614のパラメータの設定値を基に、「次のリストあり」であるか否かを判断する(ステップS408)。 【0338】 ステート制御部523は、ステップS408において、次のリストあり/なし614のパラメータの設定値が、「次のリストあり」の場合には上記ステップS403に戻り、一方、「次のリストなし」の場合は、現在のリストデータに対応するLUT更新作業が終了したと判断して、CPU501に対し、メモリコントローラ510を経由して、終了を意味する割り込みD814を発行して、処理の終了を通知する(ステップS409)。 【0339】 このステップS409が終了した後は、上記ステップS401に戻る。 【0340】 ところで、ステップS402において、レジスタ制御部521の動作設定D805は印刷動作設定であると判定したステート制御部523は、伸長器540、各画像処理部551〜553に対し、クリアコマンドD810を発行する(ステップS410)。 【0341】 そのクリアコマンドD810を受け取った伸長器540、各画像処理部551〜553はそれぞれ自己を初期化する。 【0342】 ステップS410を終了したステート制御部523は、STARTコマンドD810を発行するとともに(ステップS411)、DMA制御部522に対し、次リストアドレスに格納されるリストデータをDMAで取得するようDMA開始要求D806を発行し(ステップS412)、さらに、DMA制御部522からDMA終了通知D811が届いたか否かを判断する(ステップS413)。 【0343】 ステップS413において、DMA終了通知D811が届いていないと判断したステート制御部523は、DMA終了通知D811が届くまで待機状態となる。 【0344】 これに対し、ステップS413において、DMA終了通知D811が届いたと判断したステート制御部523は、VIDEO−DMAコントローラ530に対し、クリアコマンド(クリア信号)D810を発行するとともに(ステップS414)、STARTコマンド(スタート信号)D810を発行する(ステップS415)。 【0345】 なお、DMA制御部523からのDMA終了後通知D810がステート制御部523に届いたタイミングで、レジスタ制御部521から各モジュールつまりVIDEO−DMAコントローラ530、伸長器540、各画像処理部551〜553に向けて送信されるリストデータD805は更新されている。 【0346】 STARTコマンドD810の発行により、VIDEO−DMAコントローラ530が、外部からデータ(印刷データ)を取り込む(メモリコントローラ510を経由してデータ(印刷データ)を取り込む)。次に、伸長器540が、その取り込まれたデータ(印刷データ)を伸長する。さらに、各画像処理部551〜553が、伸長器540または前段の画像処理部からのデータ(印刷データ)に対し、対応するLUT更新用SRAMから読み出したLUTデータを基に画像処理を実施する。 【0347】 そして、各画像処理部551〜553による画像処理が施された印刷データは、最終段の画像処理部553によってプリンタエンジン506へ出力される。 【0348】 ところで、STARTコマンドD810を発行したステート制御部523は、VIDEO−DMAコントローラ530からの転送終了通知D812を受信したか否かを判断し(ステップS416)、この判断した結果、転送終了通知D812を受信していない場合には、転送終了通知D812を受信するまで待機する。 【0349】 ステップS416において、VIDEO−DMAコントローラ530からの転送終了通知D812を受信したと判断したステート制御部523は、VIDEO−DMAコントローラ530に対し、クリアコマンドD810を発行し(ステップS417)、その後、現在のリストデータ中の次のリストあり/なし614のパラメータの設定値を基に、「次のリストあり」か否かを判断する(ステップS418)。 【0350】 ステート制御部523は、ステップS418において、次のリストあり/なし614のパラメータの設定値が、「次のリストあり」の場合には上記ステップS412に戻り、一方、「次のリストなし」の場合は、現在のリストデータに対応するデータ取り込みが終了したと判断して、CPU501に対し、メモリコントローラ510を経由して、終了を意味する割り込みD814を発行して、処理の終了を通知する(ステップS409)。 【0351】 次に、VIDEO−DMAコントローラ530の詳細な構成について、図14を参照して説明する。 【0352】 なお、図14において、符号D805,D810,D812、D901〜D905で示される矢印線は、データ、信号あるいはコマンドの流れを示している。 【0353】 VIDEO−DMAコントローラ530は、図14に示すように、ステート制御部531、およびDMA制御部532を備えている。 【0354】 ステート制御部531は、次の(1)〜(4)の各処理を実行する。 【0355】 (1)LIST−DMAコントローラ520からSTARTコマンドD810を取得すると、LIST−DMAコントローラ520からのリストデータに含まれているLUTデータアドレスおよびLUTデータサイズD805を取り込む。 【0356】 (2)DMA制御部531に対し、取り込んだLUTデータアドレスに対するDMA開始要求D901を発行する。 【0357】 (3)DMA制御部532からのそのLUTデータアドレスに対するDMA終了通知D902を取得する。 【0358】 (4)DMA開始要求D901とDMA終了通知D902のループをLUTデータサイズ数分繰り返したら、LIST−DMAコントローラ520に対し、転送終了通知D812を発行する。 【0359】 DMA制御部532は、次の(1)、(2)の各処理を実行する。 【0360】 (1)ステート制御部531からのDMA開始要求D901および対象とするLUTデータアドレスD901を取得して、DMAリード要求D903およびそのLUTデータアドレスD903をメモリコントローラ510に渡す。 【0361】 (2)メモリコントローラ510からの対象LUTデータアドレスに対応するDMAリードデータD904を取得して、このDMAリードデータD904を転送データD905として伸長器540に転送する。 【0362】 次に、VIDEO−DMAコントローラ530のステート制御部531の処理について、図15および上述した図14を参照して説明する。 【0363】 図15はステート制御部531の処理の処理手順を示すフローチャートである。 【0364】 VIDEO−DMAコントローラ530のステート制御部531は、LIST−DMAコントローラ520からのSTARTコマンドD810を検出したか否かを判断し(ステップS501)、この判断した結果、STARTコマンドD810を検出しない場合にはSTARTコマンドD810を検出するまで待機する。 【0365】 これに対し、ステップS501においてSTARTコマンドD810を検出したと判断したステート制御部531は、そのSTARTコマンドD810の検出と同時にLUTデータアドレスおよびLUTデータサイズを、当該ステート制御部531に設けられている内部カウンタ(DMAアドレスおよびDMAサイズ)に取り込む(ステップS502)。 【0366】 このステップS502においては、「DMAアドレス=LUTデータアドレス」および「DMAサイズ=LUTデータサイズ」と定義される。 【0367】 ステップS502を終了したステート制御部531は、DMA制御部532に対し、取り込んだDMAアドレスに対するDMA開始要求D901を発行し(ステップS503)、その後、DMA制御部532からのDMA終了通知D902を受信したか否かを判断する(ステップS504)。 【0368】 ステート制御部531は、ステップS504において、DMA終了通知D902を受信しない場合にはDMA終了通知D902を受信するまで待機し、一方、DMA終了通知D902を受信した場合は、上記内部カウンタを更新する(ステップS505)。 【0369】 このステップS505において、上記内部カウンタ(図示せず)は、「DMAアドレス=DMAアドレス+1単位」および「DMAサイズ=DMAサイズ−1単位」に更新される。ここで、1単位はワード(語)を意味し、プリンタコントローラ50の仕様に応じて決定されており、例えば8ビットや16ビットなどである。 【0370】 さて、ステップS505を終了したステート制御部531は、当該ステート制御部531の内部カウンタ(図示せず)を更新した結果、LUTデータサイズ数分の動作が終了したか否か(DMAサイズ=0であるか否か)を判断する(ステップS506)。 【0371】 ステート制御部531は、ステップS506において、LUTデータサイズ数分の動作が終了していないと判断した場合(DMAサイズ≠0であると判断した場合)には、上記ステップS503に戻り、一方、LUTデータサイズ数分の動作が終了したと判断した場合(DMAサイズ=0であると判断した場合)は、LIST−DMAコントローラ520に対し、転送終了通知D812を発行して(ステップS507)、今回のSTARTコマンドD810の検出による動作を終了し、その後、上記ステップS501に戻る。 【0372】 なお、本実施の形態2では、LIST−DMAコントローラ520とVIDEO−DMAコントローラ530とは別々の構成としているが、本発明はこれに限定されることなく、LIST−DMAコントローラ520とVIDEO−DMAコントローラ530とを一体化したDMAコントローラの構成とするようにしてもよい。 【0373】 以上説明したように、本実施の形態2によれば、ASIC500内の複数の画像処理用LUT(LUTデータ610,620,630)の更新作業を、CPU501のリード/ライトではなくASIC500からのDMA(ダイレクトメモリアクセス)により全て処理することで、LUTの更新作業時間を短縮することができる。 【0374】 また、本実施の形態2によれば、CPU501の作業はリストデータの作成、次リストアドレスの設定、一回のSTARTコマンド(DMA起動コマンド)の発行のみとなるため、CPU501で直接リード/ライトする場合と比較して、CPUの負荷を大幅に軽減することができる。 【0375】 さらに、本実施の形態2によれば、画像処理毎にSTARTコマンド(DMA起動コマンド)を発行する場合であっても、十分設定時間を短縮することが可能となる。 【0376】 ここで、上述した実施の形態2の効果について、画像処理部551,552,553がそれぞれ256wordつまり256ワード(語)のLUTを必要とする場合を例にして具体的に説明する。 【0377】 ここでは、256word(ワード)の非圧縮のLUTを設定するものとし、また動作は極端であるが全て最速の1CLK(1クロック)で出来るとものと仮定する。 (e)従来の画像処理装置による処理(発明未適用時の処理動作)では、次の(e1)および(e2)の各処理が実施される。 【0378】 (e1)CPUがRAMからLUTを1word分リードする。この場合、クロック数は、1クロック=1clock必要となる。 【0379】 (e2)CPUがリードしたRAMデータをASIC内蔵のSRAMに1word分ライトする。この場合、クロック数は、1クロック=1clock必要となる。 【0380】 したがって、従来の画像処理装置による処理では、LUTの設定作業に要する時間は、{(e1)でのクロック数(1)+(e2)でのクロック数(1)}×画像処理個数(3)×テーブルサイズ(256)=1536clock(クロック)となる。 (E)本発明の画像処理装置による処理(本発明適用時の処理動作)では、次の(E1)〜(E11)の各処理が実施される。 【0381】 (E1)CPUがRAMにリストデータ(5word分)を3つの画像処理分作成する。 この場合、クロック数は、5clock×3画像処理=15clock(クロック)必要となる。 【0382】 (E2)CPUがLIST−DMAコントローラに次リストアドレスを1word分ライトする。この場合、クロック数は、1クロック=1clock必要となる。 【0383】 (E3)CPUがLIST−DMAコントローラにSTARTコマンド(1word)をライトする。この場合、クロック数は、1クロック=1clock必要となる。 【0384】 (E4)LIST−DMAコントローラがRAMから1番目のリストデータ(5word)を取得する。この場合、クロック数は、5クロック=5clock必要となる。 【0385】 (E5)VIDEO−DMAコントローラがRAMから1番目のLUTデータ(256word)を取得する。この場合、クロック数は、256クロック=256clock必要となる。 【0386】 (E6)LIST−DMAコントローラがRAMから2番目のリストデータ(5word)を取得する。この場合、クロック数は、5クロック=5clock必要となる。 【0387】 (E7)VIDEO−DMAコントローラがRAMから2番目のLUTデータ(256word)を取得する。この場合、クロック数は、256クロック=256clock必要となる。 【0388】 (E8)LIST−DMAコントローラがRAMから3番目のリストデータ(5word)を取得する。この場合、クロック数は、5クロック=5clock必要となる。 (E9)VIDEO−DMAコントローラがRAMから3番目のLUTデータ(256word)を取得する。この場合、クロック数は、256クロック=256clock必要となる。 (E10)LIST−DMAコントローラがCPUに対し終了割り込みを発生する。この場合、クロック数は、1クロック=1clock必要となる。 【0389】 (E11)CPUが終了割り込みを検出。この場合、クロック数は、1クロック=1clock必要となる。 【0390】 したがって、本発明の画像処理装置による処理では、LUTの設定作業に要する時間は、(E1)〜(E11)の各処理でのクロック数の合計値すなわち802clock(クロック)となり、上記従来の画像処理装置の場合の1536clock(クロック)と比較して、大幅に短縮することができる。これによりLUTの設定作業は、高速化が可能となる。 【0391】 また、LUTが圧縮されている場合においては、従来の画像処理装置による処理では、CPUが伸長する処理(CPUによるRAMからのリード、CPUによる伸長、ASICへのライト)が加わるので、LUTの設定作業に要する時間は、LUTが非圧縮の場合よりもさらに遅くなる。 【0392】 これに対し、本発明の画像処理装置による処理では、LUTが圧縮されているので、ASICへのLUTデータの取り込みデータサイズが小さくなり、これにより、LUTの設定作業に要する時間は、より一層速くなる。 【0393】 さらに、CPUの動作に関しても、従来の画像処理装置による処理では、1536clock(クロック)全てCPUの関与が必要であるのに対し、本発明の画像処理装置による処理では、上記(E1)〜(E3)、(E11)の各処理でのクロック数の合計値すなわち18clock(クロック)のみである。 【0394】 実際はCPUによるRAMアクセスよりもVIDEO−DMAコントローラによるRAMアクセスの方が高速であるため、さらに効果は高まることになる。 【0395】 そのため、本発明の画像処理装置においては、CPUは、従来の場合の1536クロックとの差分のクロック(1536−18=1518クロック)数分の時間については、LUTの設定作業に関わる処理以外の他の処理を実行することができる。 【産業上の利用可能性】 【0396】 本発明は、ルックアップテーブルを基に画像データなど所定のデータに対し画像処理を施す例えば画像形成装置など電子装置に適用することができる。 【図面の簡単な説明】 【0397】 【図1】本発明の実施の形態1に係る画像処理装置の構成を示す構成図である。 【図2】実施の形態1に係る画像処理装置の画像処理部の詳細な構成を示す構成図である。 【図3】実施の形態1に係る画像処理装置の印字部における入出力特性の一例を示す図である。 【図4】実施の形態1に係る入出力特性および入出力特性変換表の一例を示す図である。 【図5】実施の形態1に係るルックアップテーブルの一例を示す図である。 【図6】実施の形態1に係る画像処理部によるLUT設定処理の処理手順を示すフローチャートである。 【図7】実施の形態1に係る画像処理部104による印刷処理の処理手順を示すフローチャートである。 【図8】発明の実施の形態2に係る画像処理装置を適用したプリンタコントローラの構成を示す構成図である。 【図9】実施の形態2に係るリストデータおよびルックアップテーブルデータのフォーマットの一例を示す図である。 【図10】実施の形態2に係るLUT設定処理の処理手順を示すフローチャートである。 【図11】実施の形態2に係るLUT設定処理の際のデータの流れを説明する図である。 【図12】実施の形態2に係る画像処理装置を適用したプリンタコントローラに設けられるLIST−DMAコントローラの詳細な構成を示す構成図である。 【図13】図12に示したLIST−DMAコントローラのステート制御部の処理の処理手順を示すフローチャートである。 【図14】実施の形態2に係る画像処理装置を適用したプリンタコントローラに設けられるVIDEO−DMAコントローラの詳細な構成を示す構成図である。 【図15】図14に示したVIDEO−DMAコントローラのステート制御部の処理の処理手順を示すフローチャートである。 【符号の説明】 【0398】 10 画像処理装置 50 プリンタコントローラ 100 CPU 101 メモリ(第1の記憶手段) 102 DMAコントローラ(アクセス制御手段) 103 データ伸長部(伸長手段) 104 画像処理部(画像処理手段) 105 LUT用メモリ(第2の記憶手段) 106 印字部 107 システムバス 200 画像処理設定部 201 アドレス生成部 201a カウンタ 202 アドレス選択部 203 メモリ制御部 300 対応表 400 LUTデータ 501 CPU(上位の制御手段) 502 ROM(第1のデータ記憶手段および第2のデータ記憶手段) 503 RAM(第1のデータ記憶手段および第2のデータ記憶手段) 504 ハードディスク(第1のデータ記憶手段および第2のデータ記憶手段) 506 プリンタエンジン 510 メモリコントローラ 520 LIST−DMAコントローラ(アクセス制御手段、下位の制御手段) 521 レジスタ制御部 522 DMA制御部 523 ステート制御部 530 VIDEO−DMAコントローラ(アクセス制御手段、下位の制御手段) 531 ステート制御部 532 DMA制御部 540 伸長器(伸長手段) 551,552,553 画像処理部(画像処理手段) 561,562,563 LUT格納用SRAM(第3のデータ記憶手段) 610,620,630 リストデータ 710,720,730 LUTデータ
|
| 【出願人】 |
【識別番号】000005496 【氏名又は名称】富士ゼロックス株式会社
|
| 【出願日】 |
平成18年8月14日(2006.8.14) |
| 【代理人】 |
【識別番号】100101971 【弁理士】 【氏名又は名称】大畑 敏朗
|
| 【公開番号】 |
特開2008−48099(P2008−48099A) |
| 【公開日】 |
平成20年2月28日(2008.2.28) |
| 【出願番号】 |
特願2006−221099(P2006−221099) |
|