(57)【要約】【課題】メモリ資源のメモリ容量を抑制することのできる画像処理装置、ルックアップテーブルの設定方法を提供する。【解決手段】画像処理装置は、予め設定された生成規則に従って基本テーブルを生成する基本テーブル生成手段と、基本テーブルに対する補正値としての所定の差分テーブルを記憶する差分テーブル記憶手段と、基本テーブル生成手段によって生成された基本テーブルと、差分テーブル記憶手段に記憶されている所定の差分テーブルとを基に演算処理を実行する演算処理手段と、演算処理手段による演算処理の結果をルックアップテーブルデータとして記憶するルックアップテーブル記憶手段と、を備える。【選択図】        図１
2008048098.tif 000002
【特許請求の範囲】
【請求項１】
基本テーブルの生成に関する生成規則に従って基本テーブルを生成する基本テーブル生成手段と、
前記基本テーブルに対する補正値としての所定の差分テーブルを記憶する差分テーブル記憶手段と、
前記基本テーブル生成手段によって生成された基本テーブルと、前記差分テーブル記憶手段に記憶されている所定の差分テーブルとを演算処理する演算処理手段と、
前記演算処理手段による演算処理の結果をルックアップテーブルデータとして記憶するルックアップテーブル記憶手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記差分テーブル記憶手段は、
前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、
前記演算処理手段は、
前記基本テーブル生成手段によって生成された基本テーブルと、前記差分テーブル記憶手段に記憶されている前記複数の差分テーブルとを演算処理し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記差分テーブル記憶手段は、
前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、
前記演算処理手段は、
前記基本テーブル生成手段によって生成された基本テーブルと、前記差分テーブル記憶手段に記憶されている前記複数の差分テーブルのうち所望の差分テーブルとを演算処理し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納し、
前記ルックアップテーブル記憶手段の記憶内容と、前記差分テーブル記憶手段に記憶され前記複数の差分テーブルのうち前記所望の差分テーブル以外の差分テーブルとを演算処理し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記演算処理手段は、
前記ルックアップテーブル記憶手段の記憶内容と、前記複数の差分テーブルのうち前記所望の差分テーブル以外の差分テーブルとを演算処理するときは、
前記複数の差分テーブルのうち演算処理が未実施の１つの差分テーブルと、前記ルックアップテーブル記憶手段の記憶内容とを演算処理し、この演算処理した結果を前記ルックアップテーブル記憶手段に格納する処理を、前記所望の差分テーブル以外の全ての差分テーブルについて実施する、
ことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記差分テーブル記憶手段から差分テーブルを読み出すアクセス制御手段と、
圧縮された所定のデータを伸長する伸長手段と、
を更に備え、
前記差分テーブル記憶手段は、圧縮された前記差分テーブルを記憶し、
前記アクセス制御手段は、前記差分テーブル記憶手段から圧縮された差分テーブルを読み出し、
前記伸長手段は、前記アクセス制御手段によって読み出された差分テーブルを伸長し、
前記演算処理手段は、前記基本テーブル生成手段によって生成された基本テーブルと前記伸長手段によって伸長された差分テーブルとを演算処理する、
ことを特徴とする請求項１〜４の何れか一項に記載の画像処理装置。
【請求項６】
所定の画像処理に対応する基本テーブルを記憶する基本テーブル記憶手段と、
前記基本テーブルと設定すべき所定のルックアップテーブルとの差分の結果としての補間テーブルを記憶する補間テーブル記憶手段と、
前記基本テーブルと前記補間テーブルとを演算処理する演算処理手段と、
を有し、
前記補間テーブル記憶手段は、
値０以外の差分値と前記所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを記憶し、
前記演算処理手段は、
前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを演算処理し、この演算処理した結果を出力するとともに、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、そのまま出力する、
ことを特徴とする画像処理装置。
【請求項７】
前記基本テーブル記憶手段から基本テーブルを読み出すとともに、前記補間テーブル記憶手段から補間テーブルを読み出すアクセス制御手段と、
ルックアップテーブルを記憶するルックアップテーブル記憶手段と、
前記演算処理手段から出力された出力内容をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する格納制御手段と、
を更に備えることを特徴とする請求項６記載の画像処理装置。
【請求項８】
所定の画像処理に対応する基本テーブルを記憶する基本テーブル記憶手段と、
前記基本テーブルと設定すべき所定のルックアップテーブルとの差分の結果としての補間テーブルであって、値０以外の差分値と当該所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを記憶する補間テーブル記憶手段と、
前記所定のルックアップテーブルを記憶するルックアップテーブル記憶手段と、
を有し、
前記基本テーブル記憶手段から基本テーブルを読み出し、この読み出した基本テーブルを前記ルックアップテーブル記憶手段に格納し、
次に、前記補間テーブルから補間テーブルを読み出すとともに、前記ルックアップテーブル記憶手段から基本テーブルを読み出し、これら読み出した基本テーブルと補間テーブルとを演算処理し、
さらに、前記演算処理した結果を前記所定のルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、
ことを特徴とする画像処理装置。
【請求項９】
前記演算処理を実施するに際し、前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを演算処理し、この演算処理した結果を出力するとともに、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、そのまま出力する、
ことを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記基本テーブル記憶手段から基本テーブルを読み出すとともに、前記補間テーブル記憶手段から補間テーブルを読み出すアクセス制御手段と、
所定の演算処理を実行する演算処理手段と、
所定のデータを前記ルックアップテーブル記憶手段に格納する格納制御手段と、
を更に備え、
前記アクセス制御手段は、
前記基本テーブル記憶手段から基本テーブルを読み出し、
前記格納制御手段は、
前記アクセス制御手段によって読み出された基本テーブルを前記ルックアップテーブル記憶手段に格納し、
さらに前記アクセス制御手段は、
前記補間テーブル記憶手段から補間テーブルを読み出し、
前記演算処理手段は、
前記ルックアップテーブル記憶手段から基本テーブルを読み出し、この読み出した基本テーブルと前記アクセス制御手段によって読み出された補間テーブルとを演算処理するに際し、
前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを演算処理し、この演算処理した結果を出力するとともに、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、そのまま出力し、
さらに前記格納制御手段は、
前記演算処理手段から出力された出力内容をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、
ことを特徴とする請求項８または９記載の画像処理装置。
【請求項１１】
複数種類の色に対応し、互いに異なる画像処理を実行する複数の画像処理手段と当該複数の画像処理手段に対応して設けられる複数の記憶手段とを有する複数の画像処理パスと、
取得したルックアップテーブルデータを前記複数の画像処理パスへ転送するとともに、当該ルックアップテーブルデータを更新対象の画像処理に対応する記憶手段に格納するよう前記複数の画像処理パスを制御するアクセス制御手段と、
を有することを特徴とする画像処理装置。
【請求項１２】
ルックアップテーブルデータを格納する格納手段と、
ルックアップテーブルの設定に関わる制御を行う上位の制御手段と、
を更に備え、
前記アクセス制御手段は、
前記上位の制御手段のルックアップテーブルを設定すべき旨の命令に従って、ダイレクトメモリアクセスにより、前記格納手段からルックアップテーブルデータを取り込み、この取り込んだルックアップテーブルデータを、更新対象の画像処理に対応する記憶手段に格納するよう前記複数の画像処理パスを制御し、
前記複数の画像処理パスのそれぞれの前記更新対象の画像処理を実行する画像処理手段は、
前記ルックアップテーブルデータを当該画像処理手段に対応する記憶手段に同時に書き込む、
ことを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
複数種類の色に対応し、互いに異なる画像処理を実行する複数の画像処理手段と当該複数の画像処理手段に対応して設けられる複数の記憶手段と前記複数の画像処理手段を制御する制御手段とを有する複数の画像処理パス、
を有し、
前記複数種類の色のうち所定の色に対応するコピー元の画像処理パスにおける更新対象の画像処理に対応する記憶手段に記憶されているルックアップテーブルデータを、前記複数種類の色のうち前記所定の色とは異なる色に対応するコピー先の画像処理パスにおける前記更新対象の画像処理に対応する記憶手段にコピーする、
ことを特徴とする画像処理装置。
【請求項１４】
所定のルックアップテーブルデータを前記複数の画像処理パスのそれぞれの更新対象の画像処理に対応する記憶手段に格納するに際し、
既にルックアップテーブルデータの格納処理が終了したコピー元の画像処理パスにおいては、
更新対象の画像処理を示す情報に基づく画像処理手段が、当該画像処理パスの制御手段の制御に従って、対応する記憶手段からルックアップテーブルデータを読み出し、当該読み出したルックアップテーブルデータと更新対象の画像処理を示す情報とを当該ルックアップテーブルデータの格納処理が未実施のコピー先の画像処理パスへ出力し、
前記コピー先の画像処理パスにおいては、
取得した更新対象の画像処理を示す情報に対応する画像処理手段が、取得したルックアップテーブルデータを当該画像処理手段に対応する記憶手段に格納する、
ことを特徴とする請求項１３記載の画像処理装置。
【請求項１５】
前記複数の画像処理パスのうち最優先の画像処理パスにおいては、
当該最優先の画像処理パスの制御手段が、取得したルックアップテーブルデータを更新対象の画像処理に対応する画像処理手段へ転送し、
当該画像処理手段が、転送されてきたルックアップテーブルデータを当該画像処理手段に対応する記憶手段に格納する、
ことを特徴とする請求項１４記載の画像処理装置。
【請求項１６】
ルックアップテーブルデータを格納する格納手段と、
ルックアップテーブルの設定に関わる制御を行う上位の制御手段と、
を更に備え、
前記最優先の画像処理パスの制御手段は、
前記上位の制御手段のルックアップテーブルを設定すべき旨の命令に従って、ダイレクトメモリアクセスにより、前記格納手段からルックアップテーブルデータを取り込み、この取り込んだルックアップテーブルデータを、更新対象の画像処理に対応する画像処理手段に転送する、
ことを特徴とする請求項１５記載の画像処理装置。
【請求項１７】
前記複数の画像処理パスは、シアン、マゼンタ、シアン、ブラックの各色に対応したものであり、タンデム方式の印刷処理に関わる画像処理を実施するものである、
ことを特徴とする請求項１１〜１６の何れか一項に記載の画像処理装置。
【請求項１８】
時系列にルックアップテーブルを設定し、このルックアップテーブルを基に画像処理を実施する画像処理装置であって、
画像処理のときに参照されるルックアップテーブルを記憶するルックアップテーブル記憶手段と、
所定のルックアップテーブルとの差分の結果としての差分テーブルを取得し、この取得した差分テーブルと前記ルックアップテーブル記憶手段から読み出したルックアップテーブルとを演算処理し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む演算処理手段と、
を有することを特徴とする画像処理装置。
【請求項１９】
所定の色成分に対応するルックアップテーブルを記憶する第１の記憶手段と、
前記所定の色成分とは異なる所望の色成分に対応するルックアップテーブルに関わる差分テーブルを記憶する第２の記憶手段と、
前記第１の記憶手段からルックアップテーブルを読み出すとともに、前記第２の記憶手段から差分テーブルを読み出し、これらの読み出した結果を前記演算手段へ出力するアクセス制御手段と、
を更に備え、
前記演算処理手段は、
前記アクセス制御手段から出力されたルックアップテーブルを取得したときは、これを前記ルックアップテーブル記憶手段に書き込み、
一方、前記アクセス制御手段から出力された差分テーブルを取得したときは、この取得した差分テーブルと前記ルックアップテーブル記憶手段から読み出したルックアップテーブルとを演算処理し、この演算処理した結果を前記所望の色成分に対応するルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とする請求項１８記載の画像処理装置。
【請求項２０】
前記第１の記憶手段は、
第一色成分に対応するルックアップテーブルを記憶し、
前記第２の記憶手段は、
第二色成分に対応するルックアップテーブルに関わる第１の差分テーブルと、第三の色成分に対応するルックアップテーブルに関わる第２の差分テーブルとを記憶し、
前記演算処理手段は、
第一色成分に対応するルックアップテーブルを取得したときは、当該ルックアップテーブルを前記ルックアップテーブル記憶手段に書き込み、
前記第１の差分テーブルを取得したときは、当該第１の差分テーブルと前記ルックアップテーブル記憶手段から読み出した第一色成分に対応するルックアップテーブルとを演算処理し、この演算処理した結果を第二色成分に対応するルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込み、
さらに、前記第２の差分テーブルを取得したときは、当該第２の差分テーブルと前記ルックアップテーブル記憶手段から読み出した第二色成分に対応するルックアップテーブルとを演算処理し、この演算処理した結果を第三色成分に対応するルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とする請求項１９記載の画像処理装置。
【請求項２１】
取得した入力データとしてのＲＧＢデータの配列を回転させる座標回転手段と、
前記座標回転手段による回転処理の結果と前記ルックアップテーブル記憶手段に記憶されているルックアップテーブルとを基に所定の画像処理を実行する画像処理手段と、
を更に備えたことを特徴とする請求項１８〜２０の何れか一項に記載の画像処理装置。
【請求項２２】
基本テーブルの生成に関する生成規則に従って基本テーブルを生成し、この生成した基本テーブルと当該基本テーブルに対する補正値であって予め準備される所定の差分テーブルとを演算処理し、この演算処理した結果をルックアップテーブルデータとしてルックアップテーブル記憶手段に書き込む、
ことを特徴とするルックアップテーブルの設定方法。
【請求項２３】
前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、
前記生成された基本テーブルと前記記憶されている複数の差分テーブルとを演算処理し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とする請求項２２記載のルックアップテーブルの設定方法。
【請求項２４】
前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、
前記生成された基本テーブルと前記記憶されている複数の差分テーブルのうち所望の差分テーブルとを演算処理し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込み、
前記ルックアップテーブル記憶手段の記憶内容と、前記複数の差分テーブルのうち前記所望の差分テーブル以外の差分テーブルとを演算処理し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とする請求項２２記載のルックアップテーブルの設定方法。
【請求項２５】
所定の画像処理に対応する基本テーブルを取得するとともに、設定すべき所定のルックアップテーブルとの差分の結果であって、値０以外の差分値と前記所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを取得し、
前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを演算処理し、この演算処理した結果をルックアップテーブル記憶手段に書き込み、
一方、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、当該データを前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とするルックアップテーブルの設定方法。
【請求項２６】
所定の画像処理に対応する基本テーブルを取得し、当該基本テーブルをルックアップテーブル記憶手段に書き込み、
次に、設定すべき所定のルックアップテーブルとの差分の結果であって、値０以外の差分値と前記所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを取得し、当該補間テーブルと前記ルックアップテーブル記憶手段から読み出した基本テーブルとを演算処理し、
前記演算処理の結果を前記所定のルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とするルックアップテーブルの設定方法。
【請求項２７】
前記ルックアップテーブル記憶手段から読み出した基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを演算処理し、この演算処理した結果を前記ルックアップテーブル記憶手段に書き込み、
一方、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、当該データを前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とする請求項２６記載のルックアップテーブルの設定方法。
【請求項２８】
上位の制御手段の命令に従って所定の処理を実行する下位の制御手段が、第１の記憶手段からルックアップテーブルデータを取り込み、この取り込んだルックアップテーブルデータを、複数種類の色に対応し互いに異なる画像処理を実行する複数の画像処理パスのそれぞれの更新対象の画像処理に対応する記憶手段に同時に書き込む、
ことを特徴とするルックアップテーブルの設定方法。
【請求項２９】
複数種類の色に対応し、互いに異なる画像処理を実行する複数の画像処理手段と当該複数の画像処理手段に対応して設けられる複数の記憶手段と前記複数の画像処理手段を制御する下位の制御手段とを有する複数の画像処理パス、のそれぞれの更新対象の画像処理に対応する記憶手段にルックアップテーブルデータを書き込むルックアップテーブルの設定方法であって、
上位の制御手段が、前記複数の画像処理パスにおけるコピー元の画像処理パスの下位の制御手段に対し、更新対象の画像処理を示す情報とコピー先の画像処理パスを示す情報とコピーすべき旨の命令を送信し、
前記コピー元の画像処理パスにおいては、更新対象の画像処理を示す情報に基づく画像処理手段が、当該画像処理パスの下位の制御手段による制御に従って、対応する記憶手段からルックアップテーブルデータを読み出し、この読み出したルックアップテーブルデータと取得した更新対象の画像処理を示す情報とをコピー先の画像処理パスを示す情報に基づく画像処理パスへ出力し、
コピー先の画像処理パスにおいては、取得した更新対象の画像処理を示す情報に対応する画像処理手段が、取得したルックアップテーブルデータを当該画像処理手段に対応する記憶手段に書き込む、
ことを特徴とするルックアップテーブルの設定方法。
【請求項３０】
時系列にルックアップテーブルを設定するルックアップテーブルの設定方法であって、
ルックアップテーブル記憶手段に書き込まれたルックアップテーブルとの差分の結果としての差分テーブルを取得し、
この取得した差分テーブルと前記ルックアップテーブル記憶手段から読み出したルックアップテーブルとを演算処理し、
この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、
ことを特徴とするルックアップテーブルの設定方法。
【請求項３１】
入力データとして取得したＲＧＢデータの配列を回転させることにより得られる回転後のＲＧＢデータと前記ルックアップテーブル記憶手段から読み出されるルックアップテーブルとを基に画像処理が実施されることを条件に、前記差分テーブルを作成する、
ことを特徴とする請求項３０記載のルックアップテーブルの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルックアップテーブルを使用した画像処理を実施する画像処理装置、ルックアップテーブルの設定方法に関する。
【背景技術】
【０００２】
入出力特性変換、色空間変換、ハーフトーンなどの画像処理においては、これらの処理の際に参照されるルックアップテーブル（以下「ＬＵＴ」という。）を使用して画像処理が行われることがある。この場合、ＬＵＴを使用する画像処理は細かい調整ができる反面、そのＬＵＴサイズが大きくなり、ＬＵＴデータを格納する例えばＲＯＭ（読み出し専用メモリ）などのメモリの容量を増加させるという問題がある。
【０００３】
また、このようにＬＵＴを使用する画像処理では、入力データの種類に応じてＬＵＴを変更する必要がる。例えば、文字データの場合には文字の見易さを高めるためのＬＵＴを使用し、写真データの場合は色の再現性を高めるためのＬＵＴを使用する必要がある。従って、一つの画像処理に対して複数のＬＵＴが必要になるため、これらのＬＵＴを格納するメモリの容量を増加させることになる。
【０００４】
すなわち、ＬＵＴを使用して画像処理を実施するようにするということは、メモリ容量の増加は避けられない。
【０００５】
この問題を解決する方法としては、特許文献１に記載されたものが知られている。この特許文献１では、ＬＵＴ毎に１つの色補正圧縮テーブル（いわゆる基本テーブル）と複数の色補正差分データ（いわゆる差分テーブル）とを有し、これらの色補正差分データを量子化することで、複数のＬＵＴ（色の種類に応じた複数のＬＵＴ）をメモリに格納するに際し、複数のＬＵＴに対するデータサイズを削減している。一方、色補正圧縮テーブルについては、全てのテーブルを作成してから圧縮率がよくなるように色補正圧縮テーブルを決めている。
【０００６】
ところで、プリンタで印字を行うときは、プリント記述言語に従って描画を行った後、当該プリンタに適応した色表現を行うために、色変換、ガンマ補正、スクリーン処理、輪郭補正処理など画像処理を実行する。このとき、これらの画質に関する画像処理（色変換、ガンマ補正など）は、ＬＵＴを用いたハードウェアで実施される。
【０００７】
通常、プリンタは画質モードを複数選択できるような仕様になっているため、ＬＵＴは色変換、ガンマ補正など画像処理ごとに複数用意しておく必要がある。しかし、高画質化に伴い、予め用意しておくＬＵＴのサイズが大きくなり、このＬＵＴを保持しておくＲＯＭなどの記憶領域は圧迫する傾向にある。
【０００８】
この問題を解決する方法としては、基本メモリテーブル（いわゆる基本テーブル）と係数メモリテーブル（いわゆる補間テーブル）とに分けて保持しておき、画像処理条件に応じてホストコンピュータ、あるいはプリントＪＯＢごとに必要に応じてＣＰＵ（中央演算処理装置）でＬＵＴを書き換える方法がある（例えば特許文献２参照）。しかし、この特許文献２では、ＬＵＴのサイズが大きくなるほど、ＬＵＴの設定に多くの時間が必要となり、全体のパフォーマンスが劣化する傾向にある。
【特許文献１】特開２００３−１１０８６９号公報
【特許文献２】特開昭６３−１５９９８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１のものでは、最も効率よく機能した場合には、複数のＬＵＴの全てのデータはほぼ１つの基本テーブル分のデータ量になるものの、複数のＬＵＴを格納するメモリは１つの基本テーブル分のデータ量に対応する記憶領域が必要となり、メモリ資源のメモリ容量を抑制することはできないという問題がある。
【００１０】
また、上記特許文献２の如く、ＬＵＴを基本テーブルと補間テーブルとに分けて保持しておき、ＬＵＴの設定時にこれらのテーブルの内容を合成する方法では、複数のテーブルを装置に実装する上では、テーブルのデータ量が削減され、ＲＯＭなどのメモリの記憶領域における実際の格納領域（書き込み領域）を抑制することができる一方、次のような問題がある。
【００１１】
すなわち、実際にＬＵＴを設定する際には、ＣＰＵが、基本テーブルおよび補間テーブルを、これらのテーブルの格納領域であるＲＡＭ（随時書き込み読み出しメモリ）またはＲＯＭなどメモリから読み込むとともに、読み込んだ基本テーブルおよび補間テーブルに対して演算し、さらに、この演算した結果をハードウェアのＬＵＴに書き込む作業が必要となり、ＬＵＴの設定作業に多くの時間を必要としていた。
【００１２】
また、特にＣ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）の各色のデータ（印刷データ）を一括（同時）に処理するタンデムエンジン用のプリンタコントローラによる画像処理として、上述したようにＬＵＴを基本テーブルと補間テーブルとに分けて保持しておき、ＬＵＴの設定時にこれらのテーブルの内容を合成する方法を採用した場合では、ＣＰＵが、前記４色に対応する４つの処理回路に対して、それぞれＬＵＴの設定作業を実施なければならず、ＬＵＴの設定時間がより一層長く必要になっていた。
【００１３】
そこで、本発明は、メモリ資源のメモリ容量を抑制することのできる画像処理装置、ルックアップテーブルの設定方法を提供することを目的とする。
【００１４】
また、本発明は、ルックアップテーブルの設定時間を短縮することのできる画像処理装置、ルックアップテーブルの設定方法を提供することを目的とする。
【００１５】
さらに、本発明は、メモリ資源のメモリ容量を抑制することができ、かつルックアップテーブルの設定時間を短縮することのできる画像処理装置、ルックアップテーブルの設定方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、請求項１に記載の本発明の画像処理装置は、予め設定された生成規則に従って基本テーブルを生成する基本テーブル生成手段と、前記基本テーブルに対する補正値としての所定の差分テーブルを記憶する差分テーブル記憶手段と、前記基本テーブル生成手段によって生成された基本テーブルと、前記差分テーブル記憶手段に記憶されている所定の差分テーブルとを基に演算処理を実行する演算処理手段と、前記演算処理手段による演算処理の結果をルックアップテーブルデータとして記憶するルックアップテーブル記憶手段と、を有することを特徴とする。
【００１７】
請求項２に記載の発明は、上記請求項１に記載の発明において、前記差分テーブル記憶手段は、前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、前記演算処理手段は、前記基本テーブル生成手段によって生成された基本テーブルと、前記差分テーブル記憶手段に記憶されている前記複数の差分テーブルとを基に演算処理を実行し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、ことを特徴とする。
【００１８】
請求項３に記載の発明は、上記請求項１に記載の発明において、前記差分テーブル記憶手段は、前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、前記演算処理手段は、前記基本テーブル生成手段によって生成された基本テーブルと、前記差分テーブル記憶手段に記憶されている前記複数の差分テーブルのうち所望の差分テーブルとを基に演算処理を実行し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納し、前記ルックアップテーブル記憶手段の記憶内容と、前記差分テーブル記憶手段に記憶され前記複数の差分テーブルのうち前記所望の差分テーブル以外の差分テーブルとを基に演算処理を実行し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、ことを特徴とする。
【００１９】
請求項４に記載の発明は、上記請求項３に記載の発明において、前記演算処理手段は、前記ルックアップテーブル記憶手段の記憶内容と、前記複数の差分テーブルのうち前記所望の差分テーブル以外の差分テーブルとを基に演算処理を実施するときは、前記複数の差分テーブルのうち演算処理が未実施の１つの差分テーブルと、前記ルックアップテーブル記憶手段の記憶内容とを基に演算処理を実施し、この演算処理した結果を前記ルックアップテーブル記憶手段に格納する処理を、前記所望の差分テーブル以外の全ての差分テーブルについて実施する、ことを特徴とする。
【００２０】
請求項５に記載の発明は、上記請求項１〜４の何れか一項に記載の発明において、前記差分テーブル記憶手段から差分テーブルを読み出すアクセス制御手段と、圧縮された所定のデータを伸長する伸長手段と、を更に備え、前記差分テーブル記憶手段は、圧縮された前記差分テーブルを記憶し、前記アクセス制御手段は、前記差分テーブル記憶手段から圧縮された差分テーブルを読み出し、前記伸長手段は、前記アクセス制御手段によって読み出された差分テーブルを伸長し、前記演算処理手段は、前記基本テーブル生成手段によって生成された基本テーブルと前記伸長手段によって伸長された差分テーブルとを基に演算処理を実行する、ことを特徴とする。
【００２１】
また、上記課題を解決するため、請求項６に記載の本発明の画像処理装置は、所定の画像処理に対応する基本テーブルを記憶する基本テーブル記憶手段と、前記基本テーブルと設定すべき所定のルックアップテーブルとの差分の結果としての補間テーブルを記憶する補間テーブル記憶手段と、前記基本テーブルと前記補間テーブルとを基に演算処理を実行する演算処理手段と、を有し、前記補間テーブル記憶手段は、値０以外の差分値と前記所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを記憶し、前記演算処理手段は、前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを基に演算処理を実行し、この演算処理した結果を出力するとともに、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、そのまま出力する、ことを特徴とする。
【００２２】
請求項７に記載の発明は、上記請求項６に記載の発明において、前記基本テーブル記憶手段から基本テーブルを読み出すとともに、前記補間テーブル記憶手段から補間テーブルを読み出すアクセス制御手段と、ルックアップテーブルを記憶するルックアップテーブル記憶手段と、前記演算処理手段から出力された出力内容をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する格納制御手段と、を更に備えることを特徴とする。
【００２３】
また、上記課題を解決するため、請求項８に記載の本発明の画像処理装置は、所定の画像処理に対応する基本テーブルを記憶する基本テーブル記憶手段と、前記基本テーブルと設定すべき所定のルックアップテーブルとの差分の結果としての補間テーブルであって、値０以外の差分値と当該所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを記憶する補間テーブル記憶手段と、前記所定のルックアップテーブルを記憶するルックアップテーブル記憶手段と、を有し、前記基本テーブル記憶手段から基本テーブルを読み出し、この読み出した基本テーブルを前記ルックアップテーブル記憶手段に格納し、次に、前記補間テーブルから補間テーブルを読み出すとともに、前記ルックアップテーブル記憶手段から基本テーブルを読み出し、これら読み出した基本テーブルと補間テーブルとを基に演算処理を実施し、さらに、前記演算処理した結果を前記所定のルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、ことを特徴とする。
【００２４】
請求項９に記載の発明は、上記請求項８に記載の発明において、前記演算処理を実施するに際し、前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを基に演算処理を実行し、この演算処理した結果を出力するとともに、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、そのまま出力する、ことを特徴とする。
【００２５】
請求項１０に記載の発明は、上記請求項８または９に記載の発明において、前記基本テーブル記憶手段から基本テーブルを読み出すとともに、前記補間テーブル記憶手段から補間テーブルを読み出すアクセス制御手段と、所定の演算処理を実行する演算処理手段と、所定のデータを前記ルックアップテーブル記憶手段に格納する格納制御手段と、を更に備え、前記アクセス制御手段は、前記基本テーブル記憶手段から基本テーブルを読み出し、前記格納制御手段は、前記アクセス制御手段によって読み出された基本テーブルを前記ルックアップテーブル記憶手段に格納し、さらに前記アクセス制御手段は、前記補間テーブル記憶手段から補間テーブルを読み出し、前記演算処理手段は、前記ルックアップテーブル記憶手段から基本テーブルを読み出し、この読み出した基本テーブルと前記アクセス制御手段によって読み出された補間テーブルとを基に所定の演算処理を実施するに際し、前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを基に演算処理を実行し、この演算処理した結果を出力するとともに、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、そのまま出力し、さらに前記格納制御手段は、前記演算処理手段から出力された出力内容をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に格納する、ことを特徴とする。
【００２６】
また、上記課題を解決するため、請求項１１に記載の本発明の画像処理装置は、複数種類の色に対応し、互いに異なる画像処理を実行する複数の画像処理手段と当該複数の画像処理手段に対応して設けられる複数の記憶手段とを有する複数の画像処理パスと、取得したルックアップテーブルデータを前記複数の画像処理パスへ転送するとともに、当該ルックアップテーブルデータを更新対象の画像処理に対応する記憶手段に格納するよう前記複数の画像処理パスを制御するアクセス制御手段と、を有することを特徴とする。
【００２７】
請求項１２に記載の発明は、上記請求項１１に記載の発明において、ルックアップテーブルデータを格納する格納手段と、ルックアップテーブルの設定に関わる制御を行う上位の制御手段と、を更に備え、前記アクセス制御手段は、前記上位の制御手段のルックアップテーブルを設定すべき旨の命令に従って、ダイレクトメモリアクセスにより、前記格納手段からルックアップテーブルデータを取り込み、この取り込んだルックアップテーブルデータを、更新対象の画像処理に対応する記憶手段に格納するよう前記複数の画像処理パスを制御し、前記複数の画像処理パスのそれぞれの前記更新対象の画像処理を実行する画像処理手段は、前記ルックアップテーブルデータを当該画像処理手段に対応する記憶手段に同時に書き込む、ことを特徴とする。
【００２８】
また、上記課題を解決するため、請求項１３に記載の本発明の画像処理装置は、複数種類の色に対応し、互いに異なる画像処理を実行する複数の画像処理手段と当該複数の画像処理手段に対応して設けられる複数の記憶手段と前記複数の画像処理手段を制御する制御手段とを有する複数の画像処理パス、を有し、前記複数種類の色のうち所定の色に対応するコピー元の画像処理パスにおける更新対象の画像処理に対応する記憶手段に記憶されているルックアップテーブルデータを、前記複数種類の色のうち前記所定の色とは異なる色に対応するコピー先の画像処理パスにおける前記更新対象の画像処理に対応する記憶手段にコピーする、ことを特徴とする。
【００２９】
請求項１４に記載の発明は、上記請求項１３に記載の発明において、所定のルックアップテーブルデータを前記複数の画像処理パスのそれぞれの更新対象の画像処理に対応する記憶手段に格納するに際し、既にルックアップテーブルデータの格納処理が終了したコピー元の画像処理パスにおいては、更新対象の画像処理を示す情報に基づく画像処理手段が、当該画像処理パスの制御手段の制御に従って、対応する記憶手段からルックアップテーブルデータを読み出し、当該読み出したルックアップテーブルデータと更新対象の画像処理を示す情報とを当該ルックアップテーブルデータの格納処理が未実施のコピー先の画像処理パスへ出力し、前記コピー先の画像処理パスにおいては、取得した更新対象の画像処理を示す情報に対応する画像処理手段が、取得したルックアップテーブルデータを当該画像処理手段に対応する記憶手段に格納する、ことを特徴とする。
【００３０】
請求項１５に記載の発明は、上記請求項１４に記載の発明において、前記複数の画像処理パスのうち最優先の画像処理パスにおいては、当該最優先の画像処理パスの制御手段が、取得したルックアップテーブルデータを更新対象の画像処理に対応する画像処理手段へ転送し、当該画像処理手段が、転送されてきたルックアップテーブルデータを当該画像処理手段に対応する記憶手段に格納する、ことを特徴とする。
【００３１】
請求項１６に記載の発明は、上記請求項１５に記載の発明において、ルックアップテーブルデータを格納する格納手段と、ルックアップテーブルの設定に関わる制御を行う上位の制御手段と、を更に備え、前記最優先の画像処理パスの制御手段は、前記上位の制御手段のルックアップテーブルを設定すべき旨の命令に従って、ダイレクトメモリアクセスにより、前記格納手段からルックアップテーブルデータを取り込み、この取り込んだルックアップテーブルデータを、更新対象の画像処理に対応する画像処理手段に転送する、ことを特徴とする。
【００３２】
請求項１７に記載の発明は、上記請求項１１〜１６の何れか一項に記載の発明において、前記複数の画像処理パスは、シアン、マゼンタ、シアン、ブラックの各色に対応したものであり、タンデム方式の印刷処理に関わる画像処理を実施するものである、ことを特徴とする。
【００３３】
また、上記課題を解決するため、請求項１８に記載の本発明の画像処理装置は、時系列にルックアップテーブルを設定し、このルックアップテーブルを基に画像処理を実施する画像処理装置であって、画像処理のときに参照されるルックアップテーブルを記憶するルックアップテーブル記憶手段と、所定のルックアップテーブルとの差分の結果としての差分テーブルを取得し、この取得した差分テーブルと前記ルックアップテーブル記憶手段から読み出したルックアップテーブルとを基に演算処理を実行し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む演算処理手段と、を有することを特徴とする。
【００３４】
請求項１９に記載の発明は、上記請求項１８に記載の発明において、所定の色成分に対応するルックアップテーブルを記憶する第１の記憶手段と、前記所定の色成分とは異なる所望の色成分に対応するルックアップテーブルに関わる差分テーブルを記憶する第２の記憶手段と、前記第１の記憶手段からルックアップテーブルを読み出すとともに、前記第２の記憶手段から差分テーブルを読み出し、これらの読み出した結果を前記演算手段へ出力するアクセス制御手段と、を更に備え、前記演算処理手段は、前記アクセス制御手段から出力されたルックアップテーブルを取得したときは、これを前記ルックアップテーブル記憶手段に書き込み、一方、前記アクセス制御手段から出力された差分テーブルを取得したときは、この取得した差分テーブルと前記ルックアップテーブル記憶手段から読み出したルックアップテーブルとを基に演算処理を実行し、この演算処理した結果を前記所望の色成分に対応するルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００３５】
請求項２０に記載の発明は、上記請求項１９に記載の発明において、前記第１の記憶手段は、第一色成分に対応するルックアップテーブルを記憶し、前記第２の記憶手段は、第二色成分に対応するルックアップテーブルに関わる第１の差分テーブルと、第三色成分に対応するルックアップテーブルに関わる第２の差分テーブルとを記憶し、前記演算処理手段は、第一色成分に対応するルックアップテーブルを取得したときは、当該ルックアップテーブルを前記ルックアップテーブル記憶手段に書き込み、前記第１の差分テーブルを取得したときは、当該第１の差分テーブルと前記ルックアップテーブル記憶手段から読み出した第一色成分に対応するルックアップテーブルとを基に演算処理を実行し、この演算処理した結果を第二色成分に対応するルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込み、さらに、前記第２の差分テーブルを取得したときは、当該第２の差分テーブルと前記ルックアップテーブル記憶手段から読み出した第二色成分に対応するルックアップテーブルとを基に所定の演算処理を実行し、この演算処理した結果を第三色成分に対応するルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００３６】
請求項２１に記載の発明は、上記請求項１８〜２０の何れか一項に記載の発明において、取得した入力データとしてのＲＧＢデータの配列を回転させる座標回転手段と、前記座標回転手段による回転処理の結果と前記ルックアップテーブル記憶手段に記憶されているルックアップテーブルとを基に所定の画像処理を実行する画像処理手段と、を更に備えたことを特徴とする。
【００３７】
また、上記課題を解決するため、請求項２２に記載の本発明のルックアップテーブルの設定方法は、予め設定された生成規則に従って基本テーブルを生成し、この生成した基本テーブルと当該基本テーブルに対する補正値であって予め準備される所定の差分テーブルとを基に演算処理を実行し、この演算処理した結果をルックアップテーブルデータとしてルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００３８】
請求項２３に記載の発明は、上記請求項２２に記載の発明において、前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、前記生成された基本テーブルと前記記憶されている複数の差分テーブルとを基に演算処理を実行し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００３９】
請求項２４に記載の発明は、上記請求項２２に記載の発明において、前記所定の差分テーブルに関わる複数の差分テーブルであって、同一の格納領域に存在する差分値を演算して得られる演算結果が前記所定の差分テーブルの前記同一の格納領域に存在する差分値と同一となる複数の差分テーブルを記憶し、前記生成された基本テーブルと前記記憶されている複数の差分テーブルのうち所望の差分テーブルとを基に演算処理を実行し、この演算処理した結果をルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込み、前記ルックアップテーブル記憶手段の記憶内容と、前記複数の差分テーブルのうち前記所望の差分テーブル以外の差分テーブルとを基に演算処理を実行し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００４０】
また、上記課題を解決するため、請求項２５に記載の本発明のルックアップテーブルの設定方法は、所定の画像処理に対応する基本テーブルを取得するとともに、設定すべき所定のルックアップテーブルとの差分の結果であって、値０以外の差分値と前記所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを取得し、前記基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを基に演算処理を実行し、この演算処理した結果をルックアップテーブル記憶手段に書き込み、一方、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、当該データを前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００４１】
また、上記課題を解決するため、請求項２６に記載の本発明のルックアップテーブルの設定方法は、所定の画像処理に対応する基本テーブルを取得し、当該基本テーブルをルックアップテーブル記憶手段に書き込み、次に、設定すべき所定のルックアップテーブルとの差分の結果であって、値０以外の差分値と前記所定のルックアップテーブルにおける当該差分値が適用される範囲を示す範囲情報とを含む補間テーブルを取得し、当該補間テーブルと前記ルックアップテーブル記憶手段から読み出した基本テーブルとを基に所定の演算処理を実行し、前記所定の演算処理の結果を前記所定のルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００４２】
請求項２７に記載の発明は、上記請求項２６に記載の発明において、前記ルックアップテーブル記憶手段から読み出した基本テーブルにおける前記補間テーブルに含まれる前記範囲情報に対応する範囲のデータと前記補間テーブルの差分値とを基に所定の演算処理を実行し、この演算処理した結果を前記ルックアップテーブル記憶手段に書き込み、一方、前記基本テーブルにおける前記範囲情報に対応する範囲のデータ以外のデータについては、当該データを前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００４３】
また、上記課題を解決するため、請求項２８に記載の本発明のルックアップテーブルの設定方法は、上位の制御手段の命令に従って所定の処理を実行する下位の制御手段が、第１の記憶手段からルックアップテーブルデータを取り込み、この取り込んだルックアップテーブルデータを、複数種類の色に対応し互いに異なる画像処理を実行する複数の画像処理パスのそれぞれの更新対象の画像処理に対応する記憶手段に同時に書き込む、ことを特徴とする。
【００４４】
また、上記課題を解決するため、請求項２９に記載の本発明のルックアップテーブルの設定方法は、複数種類の色に対応し、互いに異なる画像処理を実行する複数の画像処理手段と当該複数の画像処理手段に対応して設けられる複数の記憶手段と前記複数の画像処理手段を制御する下位の制御手段とを有する複数の画像処理パス、のそれぞれの更新対象の画像処理に対応する記憶手段にルックアップテーブルデータを書き込むルックアップテーブルの設定方法であって、上位の制御手段が、前記複数の画像処理パスにおけるコピー元の画像処理パスの下位の制御手段に対し、更新対象の画像処理を示す情報とコピー先の画像処理パスを示す情報とコピーすべき旨の命令を送信し、前記コピー元の画像処理パスにおいては、更新対象の画像処理を示す情報に基づく画像処理手段が、当該画像処理パスの下位の制御手段による制御に従って、対応する記憶手段からルックアップテーブルデータを読み出し、この読み出したルックアップテーブルデータと取得した更新対象の画像処理を示す情報とをコピー先の画像処理パスを示す情報に基づく画像処理パスへ出力し、コピー先の画像処理パスにおいては、取得した更新対象の画像処理を示す情報に対応する画像処理手段が、取得したルックアップテーブルデータを当該画像処理手段に対応する記憶手段に書き込む、ことを特徴とする。
【００４５】
さらに、上記課題を解決するため、請求項３０に記載の本発明のルックアップテーブルの設定方法は、時系列にルックアップテーブルを設定するルックアップテーブルの設定方法であって、ルックアップテーブル記憶手段に書き込まれたルックアップテーブルとの差分の結果としての差分テーブルを取得し、この取得した差分テーブルと前記ルックアップテーブル記憶手段から読み出したルックアップテーブルとを基に所定の演算処理を実行し、この演算処理した結果を新たなルックアップテーブルデータとして前記ルックアップテーブル記憶手段に書き込む、ことを特徴とする。
【００４６】
請求項３１に記載の発明は、上記請求項３０に記載の発明において、入力データとして取得したＲＧＢデータの配列を回転させることにより得られる回転後のＲＧＢデータと前記ルックアップテーブル記憶手段から読み出されるルックアップテーブルとを基に画像処理が実施されることを条件に、前記差分テーブルを作成する、ことを特徴とする。
【発明の効果】
【００４７】
本発明によれば、ルックアップテーブルの設定のときに基本テーブルを生成するようにし、この生成した基本テーブルと予め記憶される差分テーブルとを基にルックアップテーブルを求めるようにしているので、データサイズが大きい傾向にある基本テーブルを予め記憶しておく必要がなく、メモリ資源のメモリ容量を抑制することができる。
【００４８】
また、本発明によれば、演算処理手段が基本テーブルと差分テーブルとを演算して、ルックアップテーブルを求めるようにしているので、演算処理手段を含むハードウェアによってルックアップテーブルの更新処理を高速に実施することができ、ルックアップテーブルの設定時間を短縮することができる。これにより、ルックアップテーブルの設定時間が短縮されることで、そのルックアップテーブルを使用した画像処理を早く終了させることが可能となる。
【００４９】
また、本発明によれば、設定対象のルックアップテーブルは、複数種類の色に対応する複数の画像処理パスのそれぞれの記憶手段に同時に書き込まれるため（いわゆるルックアップテーブルが複数色一括設定されるため）、ルックアップテーブルの設定時間を短縮することができる。
【００５０】
さらに、本発明によれば、複数種類の色に対応する複数の画像処理パスのうち何れかの画像処理パスが画像処理中であることに起因して、ルックアップテーブルの複数色一括設定が不可能な場合が発生しても、コピー元の画像処理パスは、画像処理済みのコピー先の画像処理パスに対してルックアップテーブルをコピーすることにより、ルックアップテーブルの設定を実施することができる。これにより、ルックアップテーブルの設定時間を短縮することができる。
【発明を実施するための最良の形態】
【００５１】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００５２】
本明細書においては、「ルックアップテーブル」を「ＬＵＴ」と表記する。
（実施の形態１）
【００５３】
図１は、本発明の実施の形態１に係る画像処理装置の機能構成を示している。
【００５４】
図１に示すように、画像処理装置１０は、画像処理回路１００、ＣＰＵ（中央演算処理装置）１１０、外部メモリ１２０を備えている。
【００５５】
画像処理回路１００は、ＤＭＡコントローラ１０１、伸長器１０２、演算処理部１０３、基本テーブル生成部１０４およびＬＵＴ用メモリ１０５を備えている。
【００５６】
ＤＭＡコントローラ（アクセス制御手段）１０１は、ＣＰＵ１１０の設定に従い、ダイレクトメモリアクセス（ＤＭＡ）により、外部メモリ１２０からデータ（圧縮された差分テーブルの差分テーブル値）を読み出し、この読み出したデータを伸長器１０２へ出力する。
【００５７】
伸長器（伸長手段）１０２は、受け取った圧縮された差分テーブル値を伸長し、この伸長した差分テーブル値を演算処理部１０３へ出力する。
【００５８】
基本テーブル生成部（基本テーブル生成手段）１０４は、ＣＰＵ１１０によって設定される基本テーブルの生成に関わる生成規則情報を基に基本テーブル値を作成し、この作成した基本テーブル値を伸長器１０２の出力タイミングに合わせて演算処理部１０３へ出力する。なお、上記基本テーブルの生成に関わる生成規則情報（以下「生成規則情報」という。）については後述する。
【００５９】
演算処理部（演算処理手段）１０３は、基本テーブル生成部１０４からの基本テーブル値と伸長器１０２からの差分テーブル値とを演算処理することによりＬＵＴ（ルックアップテーブル）データを求め、この求めたＬＵＴデータをＬＵＴ用メモリ（ルックアップテーブル記憶手段）１０５に書き込む。
【００６０】
ＣＰＵ１１０は、ＤＭＡコントローラ１０１、伸長器１０２、演算処理部１０３および基本テーブル生成部１０４と接続され、これら各構成要素に対して、それぞれの処理に応じた設定を行う。
【００６１】
外部メモリ（差分テーブル記憶手段）１２０は、圧縮された差分テーブル１６０を格納している。
【００６２】
本実施の形態１では、画像処理回路１００による画像処理は入出力特性変換とする。ここでは、例えば図２に示すような入出力特性１３０ａに基づく入出力特性変換を行うものとする。
【００６３】
入出力特性１３０ａは入力データに対する出力データを得るためのものであり、入出力特性１３０ａからは、例えば、入力データが値「３２」、値「９６」、値「１２８」のときは、出力データはそれぞれ値「８２」、値「１２０」、値「１３０」が得られる。
【００６４】
図３は、図２に示す入出力特性１３０ａに基づく入出力特性変換表１３０と、この入出力特性変換表１３０に対応するＬＵＴデータ１４０とを示している。
【００６５】
入出力特性変換表１３０は、図３に示すように、入力データの項目１３１と出力データの項目１３２とから構成されている。入力データの項目１３１には入出力特性１３０ａの入力データの各値が記述され、出力データの項目１３２には入出力特性１３０ａの入力データの各値に対応する出力データの各値が記述される。
【００６６】
ＬＵＴデータ１４０は、図３に示すように、アドレスの項目１４１とデータの項目１４２とから構成されている。アドレスの項目１４１には入出力特性変換表３０の項目１３１の各値がアドレス値として記述され、データの項目１４２には入出力特性変換表３０の項目１３２の各値（出力データ値）が各データとして記述される。
【００６７】
本実施の形態１では、入出力特性変換表１３０をＬＵＴデータ１４０としてＬＵＴ用メモリ１０５に格納するものとする。実際にはＬＵＴデータ１４０のみがＬＵＴ用メモリ１０５に格納される。なお、ＬＵＴデータのＬＵＴ用メモリ１０５への格納処理（ＬＵＴデータの更新（設定）処理）については後述する。
【００６８】
次に、基本テーブル生成部１０４による基本テーブルの生成について説明する。
【００６９】
基本テーブル生成部１０４に対して設定可能な生成規則情報は例えば数式であり、この数式は複数の１次元関数とし、入力データに対する閾値によって複数の１次元関数の切り替えが可能なものとする。
【００７０】
ここで、上記入力データは、図２に示す入出力特性１３０ａの入力データ、つまり図３に示す入出力特性変換表１３０の項目１３１の入力データに相当する。
【００７１】
さて、本実施の形態１では、生成規則情報としての数式は、次の（１）〜（５）の複数の１次元関数になっている。
【００７２】
基本テーブルは、入力データが値０の時は値０、入力データが値２５５の時は値２５５とする。
【００７３】
（１）入力データは値１から値４８までは、
【００７４】
「基本テーブル＝入力データ＊２＋１５」とする。
【００７５】
（２）入力データが値４９から値９６までは、
【００７６】
「基本テーブル＝１１２」とする。
【００７７】
（３）入力データが値９７から値１６０までは、
【００７８】
「基本テーブル＝１３０」とする。
【００７９】
（４）入力データが値１６１から値２０８までは、
【００８０】
「基本テーブル＝１５０」とする。
【００８１】
（５）入力データが値２０９から値２５４までは、
【００８２】
「基本テーブル＝（入力データ−２０８）＊２＋１４０」とする。
【００８３】
図４は、図２に示した入出力特性１３０ａと、上述した生成規則情報としての数式（複数の１次元関数）に基づき生成される基本テーブルの特性を示す基本テーブル特性１４０ａ（点線で示される線分）とを示している。入出力特性１３０ａと基本テーブル特性１４０ａの入力データの各値は同一となっている。
【００８４】
図３に示した入出力特性変換表１３０を、基本テーブル生成部１０４に設定可能な基本テーブルつまり基本テーブル生成部１０４による数式の演算結果である基本テーブル１５０と、この基本テーブル１５０に対する差分テーブル１６０とに分解した例を、図５および図６に示す。
【００８５】
差分テーブル１６０は、図５および図６に示すように、基本テーブル１５０の各データの値と入出力特性変換表１３０の出力データの項目１３２の値（出力データの値）との差分、つまり「基本テーブル１５０のデータの値−入出力特性変換表１３０の出力データの値」を演算した結果である。
【００８６】
例えば、入出力特性変換表１３０の出力データの値が「１０２」、「１２０」、「１３０」の場合は、基本テーブル１５０の基本テーブル値はそれぞれ「１１１」、「１１２」、「１３０」であるので、基本テーブル１５０の基本テーブル値に対する差分としての差分テーブル１６０の差分テーブル値（差分値）は、それぞれ「−９」、「８」、「０」となる。
【００８７】
なお、図５および図６においては、入出力特性変換表１３０、ＬＵＴデータ１４０、基本テーブル１５０および差分テーブル１６０を示している。また、図５は入出力特性変換表１３０の入力データが値０から値１３５までの各値に対応する部分を示し、図６は入出力特性変換表１３０の入力データが値１３６から値２５５までの各値に対応する部分を示している。
【００８８】
ところで、差分テーブル１６０は圧縮されて外部メモリ１２０に格納され、基本テーブル１５０は基本テーブル生成部１０４によって生成され、ＬＵＴデータ１４０は基本テーブル１５０と差分テーブル１６０とを基に生成されＬＵＴ用メモリ１０５に格納される。
【００８９】
次に、画像処理装置１０のＬＵＴ更新（設定）処理について、図７を参照して説明する。
【００９０】
なお、図７は、ＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【００９１】
ＬＵＴ更新（設定）要求が発生すると、外部メモリ１２０に圧縮された差分テーブル１６０が格納される（ステップＳ１０１）。
【００９２】
ＣＰＵ１１０は、ＤＭＡコントローラ１０１、伸長器１０２、演算処理部１０３および基本テーブル生成部１０４に対し後述する動作条件を設定し（ステップＳ１０２）、その後、ＤＭＡコントローラ１０１に対しＤＭＡ（ダイレクトメモリアクセス）の開始を要求する（ステップＳ１０３）。
【００９３】
ここで、ＣＰＵ１１０による動作条件の設定内容について説明する。
【００９４】
ＤＭＡコントローラ１０１には、メモリ１２０に格納されている圧縮された差分テーブル１６０の格納アドレスおよびデータサイズが設定される。その格納アドレスは、差分テーブル１６０の先頭の差分テーブル値の格納アドレスである。伸長器１０２には、伸長後の差分テーブル１６０のサイズおよび伸長に必要な条件が設定される。演算処理部１０３には、処理する演算式が設定される。基本テーブル生成部１０４には、生成規則情報としての数式が設定される。
【００９５】
ところで、ＤＭＡコントローラ１０１は、ＣＰＵ１１０によって設定された圧縮された差分テーブル１６０の格納アドレスを基に、外部メモリ１２０から圧縮された差分テーブル１６０の差分テーブル値（差分値）を読み出し（リードし）、これを伸長器１０２へ出力する（ステップＳ１０４）。
【００９６】
ステップＳ１０４を終了したＤＭＡコントローラ１０１は、ＣＰＵ１１０によって設定されたデータサイズ分の複数のデータ（差分テーブル値＝差分値）を伸長器１０２へ出力したか否かを判断し（ステップＳ１０５）、この判断した結果、伸長器１０２へ出力すべきデータ（差分テーブル値）が存在する場合は、上記ステップＳ１０４に戻り、一方、前記データサイズ分のデータ（差分テーブル値）を伸長器１０２へ出力した場合は、処理を終了する（ステップＳ１０６）。
【００９７】
ここで、ＤＭＡコントローラ１０１は、取り込んだ差分テーブル値を伸長器１０２へ出力する毎に例えば「データサイズ＝データサイズ−１単位」を演算し、この演算した結果が、「データサイズ≠０」の場合には伸長器１０２へ出力すべき差分テーブル値が存在すると判断し、一方、「データサイズ＝０」の場合は全ての差分テーブル値を伸長器１０２へ出力したと判断するようになっている。
【００９８】
なお、１単位はワード（語）を意味し、例えば８ビットや１６ビットである。
【００９９】
伸長器１０２は、入力された圧縮された差分テーブル値を伸長し、これを演算処理部１０３へ出力するとともに（ステップＳ１０７）、ＣＰＵ１１０によって設定された伸長後の差分テーブル１６０のサイズ分の複数の差分テーブル値を伸長したか否かを判断する（ステップＳ１０８）。
【０１００】
次に、伸長器１０２は、ステップＳ１０８において、伸長すべき差分テーブル値が存在すると判断した場合には上記ステップＳ１０７に戻り、一方、上記設定されたサイズ分の差分テーブル値を伸長したと判断した場合は、処理を終了する（ステップＳ１０９）。
【０１０１】
ここで、伸長器１０２は、差分テーブル値を伸長する毎に例えば「差分テーブルのサイズ＝差分テーブルのサイズ−１単位」を演算し、この演算した結果が、「差分テーブルのサイズ≠０」の場合には伸長すべき差分テーブル値が存在すると判断し、一方、「差分テーブルのサイズ＝０」の場合は全ての差分テーブル値を伸長したと判断するようになっている。
【０１０２】
上述したようなＤＭＡコントローラ１０１による圧縮された差分テーブル１６０の差分テーブル値の取り込み処理、および伸長器１０２による圧縮された差分テーブル１６０の差分テーブル値の伸長処理と並行して、基本テーブル生成部１０４は、ＣＰＵ１００によって設定された数式を基に基本テーブル１５０の基本テーブル値を作成し、この作成した基本テーブル値を、伸長器１０２の差分テーブル値の出力にタイミングを合わせて、演算処理部１０３へ出力する（ステップＳ１１０）。
【０１０３】
演算処理部１０３は、伸長器１０２からの差分テーブル値と基本テーブル生成部１０４からの基本テーブル値とをＣＰＵ１１０によって設定された演算式に従って演算処理することにより、ＬＵＴデータを作成し、この作成したＬＵＴデータをＬＵＴ用メモリ１０５に書き込む（ステップＳ１１１）。
【０１０４】
その後、演算処理部１０３は、伸長器１０２が処理を終了し、伸長器１０３からの差分テーブル値が存在しない（全ての差分テーブル値を処理した）か否かを判断し（ステップＳ１１２）、この判断した結果、未処理の差分テーブル値が存在する場合にはステップＳ１１１に戻り、一方、全ての差分テーブル値を処理した場合は、全てのＬＵＴデータをＬＵＴ用メモリ１０５に書き込んだと判断して、ＬＵＴ更新が終了したことをＣＰＵ１１０へ通知する（ステップＳ１１３）。
【０１０５】
以上でＬＵＴ更新（設定）処理の説明を終了する。なお、上述したようにしてＬＵＴ更新（設定）処理が実行されることにより、ＬＵＴ用メモリ１０５には、図３に示すようなＬＵＴデータ１４０が格納されることになる。
【０１０６】
次に、伸長器１０２、演算処理部１０３および基本テーブル生成部１０４の処理、特に演算処理部１０３の演算処理について、図８を参照して説明する。
【０１０７】
図８において、基本テーブルｎ、差分テーブルｎ、ＬＵＴデータｎは、それぞれ入力データ（図５の入出力特性表１３０の項目１３１の入力データに対応）が値「ｎ」の時の基本テーブル（図５の基本テーブル１５０の基本テーブル値に対応）、差分テーブル（図５の差分テーブル１６０の差分テーブル値に対応）、ＬＵＴデータ（図５のＬＵＴデータ１４０の項目１４２のデータに対応）の各値を示す。
【０１０８】
また、図８において、符号Ｐ１０１〜符号Ｐ１０６はデータの流れ、あるいは処理の実行を示している。
【０１０９】
図８に示すように、伸長器１０２は、入力データが０から２５５までの圧縮された差分テーブル（差分テーブル値）に関し、入力データが０の時の差分テーブル値から順に伸長し（Ｐ１０１）、伸長した差分テーブルｎ（差分テーブル値）を入力データが０の時の差分テーブルｎから順に演算処理部１０４へ出力するとともに（Ｐ１０２）、差分テーブルｎを出力することを基本テーブル生成部１０４へ通知する（Ｐ１０３）。
【０１１０】
基本テーブル生成部１０４は、伸長器１０２からの通知に従って、ＣＰＵ１１０によって設定された数式を基に作成した基本テーブルｎ（基本テーブル値）を、入力データが０の時の基本テーブルｎ（基本テーブル値）から順に演算処理部１０３へ出力する（Ｐ１０４）。
【０１１１】
演算処理部１０３は、伸長器１０２からの差分テーブルｎと基本テーブル生成部１０４からの基本テーブルｎとを加算する（Ｐ１０５）ことでＬＵＴデータｎを作成し、この作成したＬＵＴデータｎをＬＵＴ用メモリ１０５に書き込む（Ｐ１０６）。
【０１１２】
これにより、図３の入出力特性変換表１３０が図３のＬＵＴデータ１４０としてＬＵＴ用メモリ１０５に設定されることになる。
【０１１３】
以上説明したように、実施の形態１によれば、ＬＵＴの設定時に、基本テーブル生成部１０４によって基本テーブルを生成するようにしているので、基本テーブルをメモリ上に予め格納する必要がなくなるため、メモリ資源のメモリ容量を削減することができる。
【０１１４】
すなわち、基本テーブルは、数式を利用してハードウェア（基本テーブル生成部）で自動生成されるので、メモリに格納する必要がない。そのため、量子化することでサイズを小さくすることができる差分テーブルのみ圧縮してメモリに格納し、大きなサイズの基本テーブルはメモリに格納しないようにすることで、メモリ資源のメモリ容量の削減に効果がある。また、基本テーブルを差分テーブルに関わる処理のときにハードウェア（基本テーブル生成部）で自動生成させるので、基本テーブルのみを設定する時間が不要となる。
【０１１５】
また、実施の形態１によれば、基本テーブルを、設定するＬＵＴデータに応じて設定することができるので、従来技術の如く、基本テーブルを全てのテーブルを作成していから圧縮率がよくなるように決める必要がなくなる。
【０１１６】
さらに、実施の形態１によれば、差分テーブルに関しても、図４に示したように、差分テーブルがとりうる値は「−１５」から「＋１５」までとなり、８ｂｉｔで表現するＬＵＴデータが５ｂｉｔで表現でき、また、量子化を行うことで、さらにメモリ容量の削減が期待できる。
【０１１７】
すなわち、差分テーブルは、第１の差分テーブル（第１の差分）、第２の差分テーブル（第２の差分）の如く複数分割することにより、量子化による圧縮効率が上がり、更にそのサイズを小さくすることが可能である。そのため、メモリ資源のメモリ容量を抑制することができる。
（実施の形態２）
【０１１８】
図９は、本発明の実施の形態２に係る画像処理装置の機能構成を示している。
【０１１９】
この画像処理装置２０は、図１に示した実施の形態１の画像処理装置１０とは、基本的な機能は同様であるが、差分テーブルの圧縮（量子化）効率を向上させるために、差分テーブルを２つに分割する点が相違する。
【０１２０】
なお、図９において、図１に示した実施の形態１の画像処理装置１０の構成要素と同様の機能を果たす部分には同一の符号を付している。
【０１２１】
本実施の形態２においては、外部メモリ１２０は、分割して圧縮した第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２を格納している。
【０１２２】
ＤＭＡコントローラ１０１は、ＣＰＵ１１０の設定に従い、ダイレクトメモリアクセス（ＤＭＡ）により、外部メモリ１２０から圧縮された第１の差分テーブル１６１の差分テーブル値および第２の差分テーブル１６２の差分テーブル値を交互に読み出し、これらの差分テーブル値を伸長器１０２へ出力する。
【０１２３】
伸長器１０２は、受け取った圧縮された第１の差分テーブル１６１の差分テーブル値、および第２の差分テーブル１６２の差分テーブル値を伸長し、これら各差分テーブル値を演算処理部１０３へ出力する。
【０１２４】
基本テーブル生成部１０４は、実施の形態１の場合と同様に、ＣＰＵ１１０によって設定される生成規則情報を基に基本テーブル値を作成し、この作成した基本テーブル値を伸長器１０２の出力タイミングに合わせて演算処理部１０３へ出力する。
【０１２５】
演算処理部１０３は、基本テーブル生成部１０４からの基本テーブル値と、伸長器１０２からの第１の差分テーブル１６１の差分テーブル値および第２の差分テーブル１６２の差分テーブル値とを演算処理することによりＬＵＴデータを求め、この求めたＬＵＴデータをＬＵＴ用メモリ１０５に書き込む。
【０１２６】
図１０および図１１は、実施の形態１の差分テーブル１６０（図５参照）を第１の差分テーブル（差分テーブルＡ）１６１と第２の差分テーブル（差分テーブルＢ）１６２とに分割した一例を示している。
【０１２７】
なお、図１０は、図５に示した入出力特性変換表１３０の入力データが値０から値１３５までの各値に対応する差分テーブル１６０の各差分テーブル値に対応する部分を示している。また、図１１は、図５に示した入出力特性変換表１３０の入力データが値１３６から値２５５までの各値に対応する差分テーブル１６０の各差分テーブル値に対応する部分を示している。
【０１２８】
図１０および図１１から明らかなように、所定の差分テーブルに関わる複数の差分テーブルとしての第１の差分テーブル１６１および第２の差分テーブル１６２は、同一の格納領域に存在する差分テーブル値（差分値）を演算して得られる演算結果が、所定の差分テーブルとしての差分テーブル１６０の前記同一の格納領域に存在する差分テーブル値（差分値）と同一となるに、所定の差分テーブルとしての差分テーブル１６０が分割されたものである。
【０１２９】
ここで、同一の格納領域とは、入出力特性変換表１３０の入力データの値が同一である位置に対応する領域のことである。
【０１３０】
例えば、図１０に示すように、入出力特性変換表１３０の入力データが「４８」、「９６」の場合では、差分テーブル１６０の差分テーブル値は、それぞれ「−９」、「８」となっている。
【０１３１】
この場合の差分テーブル１６０の差分テーブル値「−９」を、第１の差分テーブル１６１の差分テーブル値「−８」と第２の差分テーブル１６２の差分テーブル値「−１」とに分割して表すようにする。また、差分テーブル１６０の差分テーブル値「８」を、第１の差分テーブル１６１の差分テーブル値「８」と第２の差分テーブル１６２の差分テーブル値「０」とに分割して表すようにする。
【０１３２】
同様に、差分テーブル１６０の他の差分テーブル値についても、第１の差分テーブル１６１の差分テーブル値と第２の差分テーブル１６２の差分テーブル値とに分割して表すようにする。
【０１３３】
なお、この場合、第１の差分テーブル１６１の差分テーブル値と第２の差分テーブル１６２の差分テーブル値とを加算することにより、差分テーブル１６０の差分テーブル値が得られることになる。
【０１３４】
このような第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２が圧縮されて、外部メモリ１２０に格納されている。
【０１３５】
次に、画像処理装置１０のＬＵＴ更新（設定）処理について、図１２を参照して説明する。
【０１３６】
なお、図１２は、ＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【０１３７】
ＬＵＴ更新（設定）要求が発生すると、外部メモリ１２０に圧縮された第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２が格納される（ステップＳ２０１）。
【０１３８】
ＣＰＵ１１０は、ＤＭＡコントローラ１０１、伸長器１０２、演算処理部１０３および基本テーブル生成部１０４に対し後述する動作条件を設定し（ステップＳ２０２）、その後、ＤＭＡコントローラ１０１に対しＤＭＡ（ダイレクトメモリアクセス）の開始を要求する（ステップＳ２０３）。
【０１３９】
ここで、ＣＰＵ１１０による動作条件の設定内容について説明する。
【０１４０】
ＤＭＡコントローラ１０１には、メモリ１２０に格納されている圧縮された第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２のそれぞれの格納アドレスおよびデータサイズが設定される。その格納アドレスは、第１の差分テーブル１６１の先頭の差分テーブル値の格納アドレス、および第２の差分テーブル１６２の先頭の差分テーブル値の格納アドレスである。
【０１４１】
伸長器１０２には、伸長後の第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２のそれぞれのサイズおよび伸長に必要な条件が設定される。演算処理部１０３には、処理する演算式が設定される。基本テーブル生成部１０４には、生成規則情報としての数式が設定される。
【０１４２】
ところで、ＤＭＡコントローラ１０１は、ＣＰＵ１１０によって設定された圧縮された第１の差分テーブル１６１および第２の差分テーブル１６２のそれぞれの格納アドレスを基に、外部メモリ１２０から圧縮された第１の差分テーブル１６１および第２の差分テーブル１６２のそれぞれの差分テーブル値（差分値）を交互に読み出し（リードし）、これらの差分テーブル値を伸長器１０２へ出力する（ステップＳ２０４）。
【０１４３】
ステップＳ２０４を終了したＤＭＡコントローラ１０１は、ＣＰＵ１１０によって設定されたデータサイズ分の複数のデータ（差分テーブル値＝差分値）を伸長器１０２へ出力したか否かを判断し（ステップＳ２０５）、この判断した結果、伸長器１０２へ出力すべきデータ（差分テーブル値）が存在する場合には、上記ステップＳ２０４に戻り、一方、前記データサイズ分のデータ（差分テーブル値）を伸長器１０２へ出力した場合は、処理を終了する（ステップＳ２０６）。
【０１４４】
ここで、ＤＭＡコントローラ１０１は、取り込んだ差分テーブル値を伸長器１０２へ出力する毎に例えば「データサイズ＝データサイズ−１単位」を演算し、この演算した結果が、「データサイズ≠０」の場合には伸長器１０２へ出力すべき差分テーブル値が存在すると判断し、一方、「データサイズ＝０」の場合は全ての差分テーブル値を伸長器１０２へ出力したと判断するようになっている。
【０１４５】
なお、第１の差分テーブル１６１と第２の差分テーブル１６２とは同一のデータサイズとなっているので、何れか一方の差分テーブルの差分テーブル値を伸長器１０２へ出力する毎に上述した演算を実施するようにすればよい。
【０１４６】
伸長器１０２は、交互に入力される圧縮された第１の差分テーブル１６１および第２の差分テーブル１６２のそれぞれの差分テーブル値を伸長するとともに、伸長した第１の差分テーブル１６１の差分テーブル値および第２の差分テーブル１６２の差分テーブル値を、これらの差分テーブル値の出力タイミングを合わせて演算処理部１０３へ出力する（ステップＳ２０７）。
【０１４７】
その後、伸長器１０２は、ＣＰＵ１１０によって設定された伸長後の差分テーブル１６１，１６２のサイズ分の複数の差分テーブル値を伸長したか否かを判断し（ステップＳ１０８）、この判断した結果、伸長すべき差分テーブル値が存在する場合には上記ステップＳ２０７に戻り、一方、上記設定されたサイズ分の差分テーブル値を伸長した場合は、処理を終了する（ステップＳ２０９）。
【０１４８】
ここで、伸長器１０２は、差分テーブル値を伸長する毎に例えば「差分テーブルのサイズ＝差分テーブルのサイズ−１単位」を演算し、この演算した結果が、「差分テーブルのサイズ≠０」の場合には伸長すべき差分テーブル値が存在すると判断し、一方、「差分テーブルのサイズ＝０」の場合は全ての差分テーブル値を伸長したと判断するようになっている。
【０１４９】
なお、第１の差分テーブル１６１と第２の差分テーブル１６２とは同一のサイズとなっているので、何れか一方の差分テーブルの差分テーブル値を伸長する毎に上述した演算を実施するようにすればよい。
【０１５０】
上述したようなＤＭＡコントローラ１０１による圧縮された差分テーブル１６１，１６２の差分テーブル値の取り込み処理、および伸長器１０２による圧縮された差分テーブル１６１，１６２の差分テーブル値の伸長処理と並行して、基本テーブル生成部１０４は、ＣＰＵ１１０によって設定された数式を基に基本テーブル１５０の基本テーブル値を作成し、この作成した基本テーブル値を、伸長器１０２の第１の差分テーブルの差分テーブル値および第２の差分テーブルの差分テーブル値の出力にタイミングを合わせて、演算処理部１０３へ出力する（ステップＳ２１０）。
【０１５１】
演算処理部１０３は、伸長器１０２からの第１の差分テーブル１６１（の差分テーブル値）および第２の差分テーブル１６２（の差分テーブル値）と基本テーブル生成部１０４からの基本テーブル１５０（の基本テーブル値）とを、ＣＰＵ１１０によって設定された演算式に従って演算することにより、ＬＵＴデータを作成し、この作成したＬＵＴデータをＬＵＴ用メモリ１０５に書き込む（ステップＳ２１１）。
【０１５２】
その後、演算処理部１０３は、伸長器１０２が処理を終了し、伸長器１０３からの第１の差分テーブル１６１および第２の差分テーブル１６２の各差分テーブル値が存在しない（全ての差分テーブル値を処理した）か否かを判断し（ステップＳ２１２）、この判断した結果、未処理の差分テーブル値が存在する場合にはステップＳ２１１に戻り、一方、全ての差分テーブル値を処理した場合は、全てのＬＵＴデータをＬＵＴ用メモリ１０５に書き込んだと判断して、ＬＵＴ更新が終了したことをＣＰＵ１１０へ通知する（ステップＳ２１３）。
【０１５３】
次に、伸長器１０２、演算処理部１０３および基本テーブル生成部１０４の処理、特に演算処理部１０３の演算処理について、図１３を参照して説明する。
【０１５４】
図１３において、基本テーブルｎ、差分テーブルＡｎ、差分テーブルＢｎ、ＬＵＴデータｎは、それぞれ入力データ（図５の入出力特性表１３０の項目１３１の入力データに対応）が値「ｎ」の時の基本テーブル（図５の基本テーブル１５０の基本テーブル値に対応）、第１の差分テーブルＡ（図１０の差分テーブル（差分テーブルＡ）１６１の差分テーブル値に対応）、第２の差分テーブルＢ（図１０の差分テーブル（差分テーブルＢ）１６２の差分テーブル値に対応）、ＬＵＴデータ（図５のＬＵＴデータ１４０の項目１４２のデータに対応）の各を示す。
【０１５５】
また、図１３において、符号Ｐ１１１〜符号Ｐ１１６はデータの流れ、あるいは処理の実行を示している。
【０１５６】
最初に、伸長器１０２は、入力データが０から２５５までの圧縮された第１の差分テーブルＡ（差分テーブル値）および第２の差分テーブルＢ（差分テーブル値）に関し、入力データが０の時の差分テーブル値から順に伸長する。
【０１５７】
伸長器１０２は、図１３に示すように、伸長した第１の差分テーブルＡｎ（差分テーブル値）および第２の差分テーブルＢｎ（差分テーブル値）を、入力データが０の時の差分テーブルＡｎおよび差分テーブルＢｎから順に演算処理部１０３へ出力するとともに（Ｐ１１１、Ｐ１１２）、差分テーブルＡｎおよび差分テーブルＢｎを出力することを基本テーブル生成部１０４へ通知する（Ｐ１１３）。
【０１５８】
基本テーブル生成部１０４は、伸長器１０２からの通知に従って、ＣＰＵ１１０によって設定された数式を基に作成した基本テーブルｎ（基本テーブル値）を、入力データが０の時の基本テーブルｎから順に演算処理部１０３へ出力する（Ｐ１１４）。
【０１５９】
演算処理部１０３は、伸長器１０３からの差分テーブルＡｎおよび差分テーブルＢｎと基本テーブル生成部１０４からの基本テーブルｎとを加算する（Ｐ１１５）ことでＬＵＴデータｎを作成し、この作成したＬＵＴデータｎをＬＵＴ用メモリ１０５に書き込む（Ｐ１１６）。
【０１６０】
これにより、図３の入出力特性変換表１３０が図３のＬＵＴデータ１４０としてＬＵＴ用メモリ１０５に設定されることになる。
【０１６１】
本実施の形態２では、１つの差分テーブルを２つの差分テーブルに分割するようにしているが、本発明はこれに限定されることなく、３つ、４つなど３以上の差分テーブルに分割するようにしてもよい。この場合、これらの差分テーブルの差分テーブル値を加算することで、当該１つの差分テーブルの差分テーブル値が得られることになる。
【０１６２】
また、本実施の形態２では、１つの差分テーブルを２つの差分テーブルに分割し、ＬＵＴの設定のときに第１の差分テーブルの差分テーブル値と第２の差分テーブルの差分テーブル値とを加算して、１つの差分テーブルの差分テーブル値を求めるようにしているが、本発明はこれに限定されることなく、次のようにしてもよい。
【０１６３】
すなわち、１つの差分テーブルを２つの差分テーブルに分割し、ＬＵＴの設定のときに、第１の差分テーブルの差分テーブル値と第２の差分テーブルの差分テーブル値とを減算して、元の１つの差分テーブルの差分テーブル値を求めるようにしてもよい。
【０１６４】
また、１つの差分テーブルを３以上の差分テーブルに分割し、ＬＵＴの設定のときに、これら分割した複数の差分テーブルの差分テーブル値を減算することで、元の１つの差分テーブルの差分テーブル値を求めるようにしてもよい。
【０１６５】
以上説明したように、実施の形態２によれば、実施の形態１の作用効果に加えて、第１の差分テーブルおよび第２の差分テーブルの圧縮効率を向上させることができる。
【０１６６】
すなわち、一般的に、量子化等の圧縮は、値のとりうる範囲もしくは種類が少ないもど圧縮効率が上がる。例えば、図１０および図１１に示したように、第１の差分テーブル（差分テーブルＡ）１６１の値は、−８、０、８、１５の４種類であり、第２の差分テーブル（差分テーブルＢ）１６２の値は、−７から０の８種類である。これに対し、差分テーブルを分割しない場合（差分テーブル１６０）は、「−１５」から「＋１５」の３２種類となる。このようなことから、所定の差分テーブルを複数の差分テーブルに分割した場合は、明らかに圧縮効率が上がることになる。
（実施の形態３）
【０１６７】
図１４は、本発明の実施の形態３に係る画像処理装置の機能構成を示している。
【０１６８】
この画像処理装置３０は、図１に示した実施の形態１の画像処理装置１０とは、基本的な機能は同様であるが、差分テーブルの圧縮（量子化）効率を向上させるために差分テーブルを２つに分割する点と、演算処理部がＬＵＴ用メモリに格納されているＬＵＴデータを演算処理に使用する点が相違する。
【０１６９】
なお、図１４において、図１に示した実施の形態１の画像処理装置１０の構成要素と同様の機能を果たす部分には同一の符号を付している。
【０１７０】
本実施の形態３においては、外部メモリ１２０は、実施の形態２の場合と同様に、分割して圧縮した第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２を格納している（図１０および図１１参照）。
【０１７１】
ＤＭＡコントローラ１０１は、ＣＰＵ１１０の設定に従い、ダイレクトメモリアクセス（ＤＭＡ）により、外部メモリ１２０から圧縮された第１の差分テーブル１６１の差分テーブル値を読み出すとともに、圧縮された第２の差分テーブル１６２の差分テーブル値を読み出し、これらの差分テーブル値を伸長器１０２へ出力する。
【０１７２】
伸長器１０２は、受け取った圧縮された第１の差分テーブル１６１の差分テーブル値または第２の差分テーブル１６２の差分テーブル値を伸長し、この伸長した差分テーブル値を演算処理部１０３へ出力する。
【０１７３】
基本テーブル生成部１０４は、実施の形態１の場合と同様に、ＣＰＵ１１０によって設定される生成規則情報を基に基本テーブル値を作成し、この作成した基本テーブル値を伸長器１０２の出力タイミングに合わせて演算処理部１０３へ出力する。
【０１７４】
演算処理部１０３は、基本テーブル生成部１０４からの基本テーブル値と、伸長器１０２からの第１の差分テーブル１６１または第２の差分テーブル１６２の差分テーブル値と、ＬＵＴ用メモリ１０５からのＬＵＴリードデータとを演算処理することによりＬＵＴデータを求め、この求めたＬＵＴデータをＬＵＴ用メモリ１０５に書き込む。
【０１７５】
次に、画像処理装置３０のＬＵＴ更新（設定）処理について、図１５を参照して説明する。
【０１７６】
なお、図１５は、ＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【０１７７】
ＬＵＴ更新（設定）要求が発生すると、外部メモリ１２０に圧縮された複数の差分テーブル例えば第１の差分テーブル（差分テーブルＡ）１６１および第２の差分テーブル（差分テーブルＢ）１６２が格納される（ステップＳ３０１）。
【０１７８】
ＣＰＵ１１０は、ＤＭＡコントローラ１０１、伸長器１０２、演算処理部１０３および基本テーブル生成部１０４に対し後述する動作条件を設定し（ステップＳ３０２）、その後、ＤＭＡコントローラ１０１に対しＤＭＡ（ダイレクトメモリアクセス）の開始を要求する（ステップＳ３０３）。
【０１７９】
ここで、ＣＰＵ１１０による動作条件の設定内容について説明する。
【０１８０】
ＤＭＡコントローラ１０１には、メモリ１２０に格納されている圧縮された第１の差分テーブル（差分テーブルＡ）１６１の格納アドレスおよびデータサイズが設定される。その格納アドレスは、第１の差分テーブル１６１の先頭の差分テーブル値の格納アドレスである。
【０１８１】
伸長器１０２には、伸長後の第１の差分テーブル（差分テーブルＡ）１６１のサイズおよび伸長に必要な条件が設定される。演算処理部１０３には、処理する演算式が設定される。基本テーブル生成部１０４には、生成規則情報としての数式が設定される。
【０１８２】
ところで、ＤＭＡコントローラ１０１は、ＣＰＵ１１０によって設定された圧縮された第１の差分テーブル１６１の格納アドレスを基に、外部メモリ１２０から圧縮された第１の差分テーブル１６１の差分テーブル値（差分値）を読み出し（リードし）、この差分テーブル値を伸長器１０２へ出力する（ステップＳ３０４）。
【０１８３】
ステップＳ３０４を終了したＤＭＡコントローラ１０１は、例えば実施の形態２の場合と同様に、ＣＰＵ１１０によって設定されたデータサイズ分の複数のデータ（差分テーブル値＝差分値）を伸長器１０２へ出力したか否かを判断する（ステップＳ３０５）。
【０１８４】
ＤＭＡコントローラ１０１は、ステップＳ３０５において、伸長器１０２へ出力すべきデータ（差分テーブル値）が存在すると判断した場合には、上記ステップＳ３０４に戻り、一方、前記データサイズ分のデータ（差分テーブル値）を伸長器１０２へ出力したと判断した場合は、処理を終了する（ステップＳ３０６）。
【０１８５】
伸長器１０２は、入力された圧縮された第１の差分テーブル１６１の差分テーブル値を伸長し、これを演算処理部１０３へ出力するとともに（ステップＳ３０７）、例えば実施の形態２の場合と同様に、ＣＰＵ１１０によって設定された伸長後の第１の差分テーブル１６１のサイズ分の複数の差分テーブル値を伸長したか否かを判断する（ステップＳ３０８）。
【０１８６】
次に、伸長器１０２は、ステップＳ３０８において、伸長すべき差分テーブル値が存在すると判断した場合には上記ステップＳ３０７に戻り、一方、上記設定されたサイズ分の差分テーブル値を伸長したと判断した場合は、処理を終了する（ステップＳ３０９）。
【０１８７】
上述したようなＤＭＡコントローラ１０１による圧縮された差分テーブル１６１の差分テーブル値の取り込み処理、および伸長器１０２による圧縮された差分テーブル１６１の差分テーブル値の伸長処理と並行して、基本テーブル生成部１０４は、ＣＰＵ１１０によって設定された数式を基に基本テーブル１５０の基本テーブル値を作成し、この作成した基本テーブル値を、伸長器１０２の第１の差分テーブル１６１の差分テーブル値の出力にタイミングを合わせて、演算処理部１０３へ出力する（ステップＳ３１０）。
【０１８８】
演算処理部１０３は、ＬＵＴ用メモリ１０５からＬＵＴリードデータをリードし、リードしたＬＵＴリードデータと伸長器１０２からの第１の差分テーブル（差分テーブルＡ）１６１（の差分テーブル値）と基本テーブル生成部１０４からの基本テーブル１５０（の基本テーブル値）とを、ＣＰＵ１１０によって設定された演算式に従って演算することにより、ＬＵＴデータを作成し、この作成したＬＵＴデータをＬＵＴ用メモリ１０５に書き込む（ステップＳ３１１）。
【０１８９】
ステップＳ３１１を終了した演算処理部１０３は、伸長器１０２が処理を終了し、伸長器１０３からの第１の差分テーブル１６１の差分テーブル値が存在しない（全ての差分テーブル値を処理した）か否かを判断し（ステップＳ３１２）、この判断した結果、未処理の差分テーブル値が存在する場合にはステップＳ３１１に戻り、一方、全ての差分テーブル値を処理した場合は、第１の差分テーブル（差分テーブルＡ）１６１の処理が終了したことをＣＰＵ１１０へ通知する（ステップＳ３１３）。
【０１９０】
差分テーブルを終了したことを通知されたＣＰＵ１１０は、１つの差分テーブルに関して複数に分割され圧縮された複数の差分テーブルを全て設定したか否かを判断し（ステップＳ３１４）、この判断した結果、未設定の差分テーブルが存在する場合には上記ステップＳ３０２に戻り、一方、複数の差分テーブルを全て設定した場合はＬＵＴ更新（設定）処理を終了する。
【０１９１】
次に、未設定の差分テーブルが存在する場合のＬＵＴ更新（設定）処理について説明する。
【０１９２】
この例では、第２の差分テーブル（差分テーブルＢ）１６２が未設定であるので、ＣＰＵ１１０は、第１の差分テーブル（差分テーブルＡ）１６１の処理終了が通知されると、第２の差分テーブル（差分テーブルＢ）１６２に関する設定を、ＤＭＡコントローラ１０１、伸長器１０２には、演算処理部１０３および基本テーブル生成部１０４に対し実施し（ステップＳ３０２）、その後、ＤＭＡコントローラ１０１に対しＤＭＡ（ダイレクトメモリアクセス）の開始を要求する（ステップＳ３０３）。
【０１９３】
ＤＭＡコントローラ１０１は、ＣＰＵ１１０によって設定された圧縮された第２の差分テーブル（差分テーブルＢ）１６２の格納アドレスを基に、外部メモリ１２０から圧縮された第２の差分テーブル１６２の差分テーブル値（差分値）を読み出し（リードし）、この差分テーブル値を伸長器１０２へ出力する（ステップＳ３０４）。
【０１９４】
ステップＳ３０４を終了したＤＭＡコントローラ１０１は、例えば実施の形態２の場合と同様に、ＣＰＵ１１０によって設定されたデータサイズ分の複数のデータ（差分テーブル値＝差分値）を伸長器１０２へ出力したか否かを判断する（ステップＳ３０５）。
【０１９５】
ＤＭＡコントローラ１０１は、ステップＳ３０５において、伸長器１０２へ出力すべきデータ（差分テーブル値）が存在すると判断した場合には、上記ステップＳ３０４に戻り、一方、前記データサイズ分のデータ（差分テーブル値）を伸長器１０２へ出力したと判断した場合は、処理を終了する（ステップＳ３０６）。
【０１９６】
伸長器１０２は、入力された圧縮された第２の差分テーブル１６２の差分テーブル値を伸長し、これを演算処理部１０３へ出力するとともに（ステップＳ３０７）、例えば実施の形態２の場合と同様に、ＣＰＵ１１０によって設定された伸長後の第２の差分テーブル１６２のサイズ分の複数の差分テーブル値を伸長したか否かを判断する（ステップＳ３０８）。
【０１９７】
次に、伸長器１０２は、ステップＳ３０８において、伸長すべき差分テーブル値が存在すると判断した場合には上記ステップＳ３０７に戻り、一方、上記設定されたサイズ分の差分テーブル値を伸長したと判断した場合は、処理を終了する（ステップＳ３０９）。
【０１９８】
上述したようなＤＭＡコントローラ１０１による圧縮された差分テーブル１６２の差分テーブル値の取り込み処理、および伸長器１０２による圧縮された差分テーブル１６２の差分テーブル値の伸長処理と並行して、基本テーブル生成部１０４は、ＣＰＵ１１０によって設定された数式を基に基本テーブル１５０の基本テーブル値を作成し、この作成した基本テーブル値を、伸長器１０２の第２の差分テーブル１６２の差分テーブル値の出力にタイミングを合わせて、演算処理部１０３へ出力する（ステップＳ３１０）。
【０１９９】
演算処理部１０３は、ＬＵＴ用メモリ１０５からＬＵＴリードデータをリードし、リードしたＬＵＴリードデータと伸長器１０２からの第２の差分テーブル（差分テーブルＢ）１６２（の差分テーブル値）と基本テーブル生成部１０４からの基本テーブル１５０（の基本テーブル値）とを、ＣＰＵ１１０によって設定された演算式に従って演算することにより、ＬＵＴデータを作成し、この作成したＬＵＴデータをＬＵＴ用メモリ１０５に書き込む（ステップＳ３１１）。
【０２００】
ステップＳ３１１を終了した演算処理部１０３は、伸長器１０２が処理を終了し、伸長器１０３からの第２の差分テーブル１６２の差分テーブル値が存在しない（全ての差分テーブル値を処理した）か否かを判断し（ステップＳ３１２）、この判断した結果、未処理の差分テーブル値が存在する場合にはステップＳ３１１に戻り、一方、全ての差分テーブル値を処理した場合は、第２の差分テーブル（差分テーブルＢ）１６２の処理が終了したことをＣＰＵ１１０へ通知する（ステップＳ３１３）。
【０２０１】
差分テーブルを終了したことを通知されたＣＰＵ１１０は、１つの差分テーブルに関して複数に分割され圧縮された複数の差分テーブルを全て設定したか否かを判断し（ステップＳ３１４）、この判断した結果、未設定の差分テーブルが存在する場合には上記ステップＳ３０２に戻り、一方、複数の差分テーブルを全て設定した場合はＬＵＴ更新（設定）処理を終了する。
【０２０２】
本実施の形態３では、複数の差分テーブルに関わる処理の際に、基本テーブル生成部１０４による基本テーブルの生成処理、演算処理部１０３におるＬＵＴリードデータのリード処理を実施するようにしているが、本発明はこれに限定されることなく、次のようにしてもよい。
【０２０３】
すなわち、複数の差分テーブルとして第１の差分テーブル（差分テーブルＡ）１６１、第２の差分テーブル（差分テーブルＢ）１６２を考えた場合、第１の差分テーブル１６１と基本テーブル１４０とを演算して第１のＬＵＴデータを作成し、次に、この第１のＬＵＴデータと第２の差分テーブル１６１と基本テーブル１４０とを演算して第２のＬＵＴデータつまり最終的なＬＵＴデータを作成するようにしてもよい。
【０２０４】
この場合、ＣＰＵ１１０は、差分テーブルに対する演算処理に基本テーブルを使用しないときは、基本テーブル生成部１０４の処理動作（基本テーブルの生成処理動作）を停止させるとともに、ＬＵＴリードデータを使用しないときは、演算処理部１０４のＬＵＴ用メモリ１０６に対するリード処理を停止させる。
【０２０５】
次に、上述したようにしてＬＵＴデータを作成するための、伸長部１０２、演算処理部１０３および基本テーブル生成部１０４の処理、特に演算処理部１０３の演算処理について、図１６および図１７を参照して説明する。
【０２０６】
図１６において、基本テーブルｎ、差分テーブルＡｎ、ＬＵＴデータｎ、ＬＵＴリードデータｎは、それぞれ入力データ（図５の入出力特性表１３０の項目１３１の入力データに対応）が値「ｎ」の時の基本テーブル（図５の基本テーブル１５０の基本テーブル値に対応）、第１の差分テーブルＡ（図１０の差分テーブル（差分テーブルＡ）１６１の差分テーブル値に対応）、ＬＵＴデータ（図５のＬＵＴデータ１４０の項目１４２のデータに対応）、ＬＵＴリードデータを示す。
【０２０７】
なお、図１６において、符号Ｐ１２１〜符号Ｐ１２５はデータの流れ、あるいは処理の実行を示している。
【０２０８】
また、図１７において、基本テーブルｎ、差分テーブルＡｎ、ＬＵＴデータｎ、ＬＵＴリードデータｎは、それぞれ入力データ（図５の入出力特性表１３０の項目１３１の入力データに対応）が値「ｎ」の時の基本テーブル（図５の基本テーブル１５０の基本テーブル値に対応）、第２の差分テーブルＢ（図１０の差分テーブル（差分テーブルＢ）１６２の差分テーブル値に対応）、ＬＵＴデータ（図５のＬＵＴデータ１４０の項目１４２のデータに対応）、ＬＵＴリードデータの各値を示す。
【０２０９】
なお、図１７において、符号Ｐ１３１〜符号Ｐ１３４はデータの流れ、あるいは処理の実行を示している。
【０２１０】
さて、最初に第１の差分テーブルＡに関わる処理について説明する。
【０２１１】
図１６に示すように、伸長器１０２は、入力データが０から２５５までの圧縮された第１の差分テーブルＡ（差分テーブル値）に関し、入力データが０の時の差分テーブル値から順に伸長し、伸長した差分テーブルＡｎ（差分テーブル値）を入力データが０の時の差分テーブルＡｎから順に演算処理部１０３へ出力するとともに（Ｐ１２１）、差分テーブルＡｎを出力することを基本テーブル生成部１０４へ通知する（Ｐ１２２）。
【０２１２】
基本テーブル生成部１０４は、伸長器１０２からの通知に従って、ＣＰＵ１１０によって設定された数式を基に作成した基本テーブルｎ（基本テーブル値）を、入力データが０の時の基本テーブルｎ（基本テーブル値）から順に演算処理部１０３へ出力する（Ｐ１２３）。
【０２１３】
差分テーブルＡに関わる処理時には、ＬＵＴ用メモリ１０５からのＬＵＴデータリードは演算処理には使用されないため、演算処理部１０４は、リード処理は実施しない
【０２１４】
演算処理部１０３は、伸長器１０３からの差分テーブルＡｎと基本テーブル生成部１０４からの基本テーブルｎとを加算する（Ｐ１２４）ことで第１のＬＵＴデータｎを作成し、この作成した第１のＬＵＴデータｎをＬＵＴ用メモリ１０５に書き込む（Ｐ１２５）。
【０２１５】
これにより、ＬＵＴ用メモリ１０５には、「基本テーブル＋差分テーブルＡ」が格納されることになる。
【０２１６】
ちなみに、第１の差分テーブルＡに関わる処理のときは、図１５のＬＵＴ更新（設定）処理の処理手順におけるステップＳ３１１において、複数の差分テーブルのうち最初に処理対象となる差分テーブル例えば第１の差分テーブル（差分テーブルＡ）に関わる処理のときは、図１５を参照して説明したように、演算処理部１０３によるＬＵＴリードデータのリード処理は行われない。
【０２１７】
次に、第２の差分テーブルＢに関わる処理について説明する。
【０２１８】
差分テーブルＢに関わる処理時には、基本テーブルは演算処理に使用されないため、基本テーブル生成部１０４は動作しない。
【０２１９】
図１７に示すように、伸長器１０２は、入力データが０から２５５までの圧縮された第２の差分テーブルＢ（差分テーブル値）に関し、入力データが０の時の差分テーブル値から順に伸長し、伸長した差分テーブルＢｎ（差分テーブル値）を入力データが０の時の差分テーブルＢｎから順に演算処理部１０４へ出力する（Ｐ１３１）。
【０２２０】
演算処理部１０３は、入力データが０の時のＬＵＴリードデータから順にリードし（Ｐ１３２）、リードしたＬＵＴリードデータｎと伸長器１０３からの差分テーブルＢｎとを加算する（Ｐ１３３）ことで第２のＬＵＴデータｎを作成し、この作成した第２のＬＵＴデータｎをＬＵＴ用メモリ１０５に書き込む（Ｐ１３４）。
【０２２１】
ＬＵＴ用メモリ１０５からリードされるＬＵＴリードデータｎは、差分テーブルＡに関わる処理により「基本テーブル＋差分テーブルＡ」となるので、差分テーブルＢに関わる処理が終了した後のＬＵＴ用メモリ１０５には、「基本テーブル＋差分テーブルＡ＋差分テーブルＢ」が格納されることになる。
【０２２２】
ちなみに、第２の差分テーブルＢに関わる処理のときは、図１５のＬＵＴ更新（設定）処理の処理手順におけるステップＳ３１０において、基本テーブル生成部１０４による基本テーブルの生成処理は実施されない。すなわちステップＳ３１０は実施されない。
【０２２３】
図１８は、演算処理部１０３の他の演算処理を説明する図である。
【０２２４】
演算処理部１０３が図１８に示すように加算および乗算の演算を実施することにより、出力データｎ＝｛（入力データｎ＋差分テーブルデータＡｎ）＊（入力データｎ＋差分テーブルＢｎ）、ただし、（基本テーブルを出力データｎ＝入力データｎとする）｝のような多次元テーブルも設定可能となる。
【０２２５】
以上説明したように、実施の形態３によれば、実施の形態２の作用効果に加えて、差分テーブルの分割数に制限がないので、圧縮効率に応じて差分テーブルの分割数を変更することが可能となる。
（実施の形態４）
【０２２６】
図１９は、本発明の実施の形態４に係る画像処理装置の機能構成を示している。
【０２２７】
図１９に示すように、画像処理装置４０は、画像処理回路２００と、テーブル情報を格納するメモリ等の外部記憶領域２１０とを有している。
【０２２８】
外部記憶領域２１０は、ＲＯＭ（読み出し専用メモリ）、ＤＲＡＭ（記憶保持動作が必要な随時書き込み読み出しメモリ）などのように複数のデバイスが存在していてもかまわない。
【０２２９】
画像処理回路２００は、ＤＭＡコントローラ２０１，２０２、ＬＵＴ設定値演算回路２０３と、ＬＵＴ制御回路２０４と、画像処理モジュール２０５ａ，２０６ａを含む複数の画像処理モジュールと、各画像処理モジュールがテーブルを参照するための画像処理用ＬＵＴ２０５，２０６とを備える。
【０２３０】
ＤＭＡコントローラ（アクセス制御手段）２０１は、設定されたアドレスを基にＬＵＴに関わる基本テーブルを、ダイレクトメモリアクセス（ＤＭＡ）により外部記憶領域２１０から取得し、この取得した基本テーブルをＬＵＴ設定値演算回路２０３に転送する機能を有している。
【０２３１】
ＤＭＡコントローラ（アクセス制御手段）２０２は、設定されたアドレスを基にＬＵＴに関わる補間テーブルをＤＭＡにより外部記憶領域２１０から取得し、この取得した補間テーブルをＬＵＴ演算回路２０３に転送する機能を有する。
【０２３２】
また、ＤＭＡコントローラ２０２は、補間テーブルの該当する範囲を認識し、補間テーブルの無効な範囲は０（補間情報なし）を出力、補間テーブルが有効な範囲はＤＭＡにより取得したデータを出力する機能も有する。
【０２３３】
ＬＵＴ設定値演算回路（演算処理手段）２０３は、２つのＤＭＡコントローラ２０１，２０２の出力データの同期をとる機能を有しており、２つのＤＭＡコントローラ２０１，２０２の出力データが有効になると、それらの有効になった出力データ（基本テーブルおよび補間テーブルの各データ）をＬＵＴ設定値演算回路２０３に取り込むとともに、取り込んだデータ（基本テーブルおよび補間テーブルの各データ）を基に補間演算を実行し、さらにその演算した結果（ＬＵＴデータ）を、ＬＵＴ制御回路２０４へ出力する。
【０２３４】
ＬＵＴ制御回路（格納制御手段）２０４は、ＬＵＴ設定値演算回路２０３からのデータを、選択された画像処理用ＬＵＴ（ＬＵＴ記憶手段）２０５または画像処理用ＬＵＴ（ＬＵＴ記憶手段）２０６に書き込む機能を有している。
【０２３５】
外部記憶領域（基本テーブル記憶手段、補間テーブル記憶手段）２１０は、所定の画像処理に対応する基本テーブルを記憶するとともに、この基本テーブルと設定すべき所定のルックアップテーブルとの差分の結果としての補間テーブルを記憶する。
【０２３６】
すなわち、所定の画像処理に対応するＬＵＴに関わる基本テーブルデータおよび補間テーブルデータは予め記憶領域２１０に格納しておく。このとき、補間テーブルデータには予め補間テーブルが有効なＬＵＴの範囲を付加しておく。
【０２３７】
次に、基本テーブルと補間テーブルについて説明する。
【０２３８】
例えば、画像処理装置４０において、図２０に示すように第１のＬＵＴ（ＬＵＴ１）２２１と第２のＬＵＴ（ＬＵＴ２）２２２とを実装する場合は、基本テーブルを第１のＬＵＴ２２１とし、第２のＬＵＴ２２２は第１のＬＵＴ２２１と補間テーブル２３０のデータ（補間テーブルデータ）とを基に作成する。
【０２３９】
図２０において、色変換やγ補正など画像処理のときに、その画像処理に対応する第１のＬＵＴ（ＬＵＴ１）２２１または第２のＬＵＴ（ＬＵＴ２）２２２を参照することにより、画像入力データの各値（０から２５５までの２５６階調の各値）が入力された場合に、この値とＬＵＴ２２１またはＬＵＴ２２２との交点に対応する画像出力データの値を求めることができる。
【０２４０】
図２１は、画像入力データ、第１のＬＵＴ２２１、第２のＬＵＴ２２２、第１のＬＵＴ２２１と第２のＬＵＴ２２２との差分の関係を表している。
【０２４１】
図２１において、画像入力データの項目２４１には、図２０に示す横軸の画像入力データの各値（０から２５５までの２５６階調の各値）が記述されている。
【０２４２】
画像出力データ用ＬＵＴ値の項目２４２には、第１のＬＵＴ（基本テーブル）２２１および第２のＬＵＴ（設定したいテーブル）２２２のそれぞれに関わる画像入力データの各値に対応する図２０に示す縦軸の画像出力データの各値が記述されている。
【０２４３】
ＬＵＴ１とＬＵＴ２の差分の項目２４３には、第１のＬＵＴ（基本テーブル）２２１の各値と第２のＬＵＴ（設定したいテーブル）２２２の各値との差分が記述されている。
【０２４４】
なお、図２１の第１のＬＵＴ（ＬＵＴ１）２２１が記憶領域２１０に予め格納され、画像処理用ＬＵＴ２０５または画像処理用ＬＵＴ２０６に書き込まれる。
【０２４５】
そして、第２のＬＵＴ（ＬＵＴ２）２２２を作成するための第１のＬＵＴ２２１に対する差分は、図２１の項目２４３に記述されている各差分値となる。
【０２４６】
本実施の形態１では、画像入力データの０から２５５の２５６階調の各値に対応する各差分値を有する補間テーブルを作成することはせず、値０以外の差分値を有する補間テーブルを作成する。
【０２４７】
このような補間テーブルの一例を、図２２に示す。この補間テーブル２３０は、値０以外の差分値情報２３１と、所定のルックアップテーブルとしての第１のＬＵＴ（基本テーブル）２２１における当該差分値情報２３１が適用される範囲を示す範囲情報２３２とを含んでいる。なお、範囲情報２３２は、当該補間テーブル２３０が有効なＬＵＴの範囲を示していると言える。
【０２４８】
範囲情報２３２は、補間テーブルの有効なＬＵＴの範囲はスタート番地からエンド番地までの範囲であり、この例ではＳｔａｒｔ５０番地（スタート番地）からＥｎｄ１９９番地（エンド番地）までの範囲を示している。
【０２４９】
ここで、Ｓｔａｒｔ５０番地は、有効な範囲の開始位置を示す番地であり、図２１に示す項目２４１の画像入力データの値「５０」が位置する番地（５０番地）に相当する。
【０２５０】
また、Ｅｎｄ１９９番地は、有効な範囲の終了位置を示す番地であり、図２１に示す項目２４１の画像入力データの値「１９９」が位置する番地（１９９番地）に相当する。
【０２５１】
このような補間テーブル２３０が記憶領域２１０に予め格納される。
【０２５２】
次に、画像処理装置４０によるＬＵＴ更新（設定）処理について、図２３を参照して説明する。
【０２５３】
図２３は、そのＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【０２５４】
図２３において、第１のＤＭＡコントローラはＤＭＡコントローラ２０１を意味し、第２のＤＭＡコントローラはＤＭＡコントローラ２０２を意味し、第１の画像処理用ＬＵＴは画像処理用ＬＵＴ２０５を意味する。
【０２５５】
ここでは、画像処理用ＬＵＴ２０５に第２のＬＵＴ（ＬＵＴ２）２２２を設定する場合を想定する。
【０２５６】
ＣＰＵ（中央演算処理装置）等のフォアームウェアは、ＬＵＴ設定値演算回路２０３に演算方法を指定するとともに、ＬＵＴ制御回路２０４にターゲットとなる画像処理用ＬＵＴ例えば第１の画像処理用ＬＵＴ２０５の指定を行う（ステップＳ４０１）。
【０２５７】
次に、ファームウェアは、第１のＤＭＡコントローラ２０１に対して、基本テーブルデータ（第１のＬＵＴ（ＬＵＴ１）２２１のデータ）が格納されている外部記憶領域２１０内のアドレスとそのテーブルサイズを設定し、その後、ＤＭＡを起動すると同時に、第２のＤＭＡコントローラ２０２に対して、補間テーブルデータ（補間テーブル２３０のデータ）が格納されている外部記憶領域２１０内のアドレスとそのテーブルサイズを設定し、その後、ＤＭＡを起動する（ステップＳ４０２）。
【０２５８】
ハードウェアにおいては、第１のＤＭＡコントローラ２０１は起動がかかると、ＤＭＡにより、指定されたアドレスに基づく領域から基本テーブルデータを取得し（ステップＳ４０３）、この取得した基本テーブルデータをＬＵＴ設定値演算回路２０３に転送する。
【０２５９】
一方、第２のＤＭＡコントローラ２０２は起動がかかると、ＤＭＡにより、指定されたアドレスに基づく領域から補間テーブルデータを取得し（ステップＳ４０３）、この取得した補間テーブルデータあるいは０（差分なし）の補間テーブルに関するデータをＬＵＴ設定値演算回路２０３に転送する。
【０２６０】
ここで、補間テーブルに関するデータの転送処理について説明する。第２のＤＭＡコントローラ２０２は、０番地から２５５番地までの各補間テーブルデータ（差分値）をＬＵＴ設定値演算回路２０３に設定する際に、図２２に示す補間テーブル２３０の範囲情報２３２で示される範囲（有効なＬＵＴの範囲）の番地のときは、ＤＭＡにより取得した補間テーブルデータ（差分値情報２３１の各差分値）をＬＵＴ設定値演算回路２０３に転送し、範囲情報２３２で示される範囲以外の番地（有効なＬＵＴの範囲外の番地）のときは、値０（差分なし）をＬＵＴ設定値演算回路２０３に転送する。
【０２６１】
ＬＵＴ設定値演算回路２０３は、第１のＤＭＡコントローラ２０１の出力である基本テーブルデータと第２のＤＭＡコントローラ２０２の出力である補間テーブルデータ（補間情報）とを基に、第１の画像処理用ＬＵＴ２０５に設定すべき第２のＬＵＴ（ＬＵＴ２）２２２の値（ＬＵＴ設定値）をファームウェアで設定された演算方法で演算し（ステップＳ４０４）、この得算した結果をＬＵＴ演算制御回路２０４へ出力する。
【０２６２】
ステップＳ４０４においては、ＬＵＴ設定値演算回路２０３は、次の（１）、（２）の処理を実行してＬＵＴ設定値を求めるようになっている。
【０２６３】
（１）第２のＤＭＡコントローラ２０２の出力である補間テーブルデータ（補間情報）のうち、図２２に示す補間テーブル２３０の範囲情報２３２で示される範囲（有効なＬＵＴの範囲）の番地の補間テーブルデータに関わる処理のときは、基本テーブル２２１（図２１参照）における補間テーブル（図２２参照）に含まれる範囲情報２３２に対応する範囲のデータ（図２１の符号２４４で示される範囲の基本テーブルデータ）と補間テーブル（図２２参照）の差分値（図２２の符号２３１で示される各差分値＝各補間テーブルデータ）とを演算処理し、この演算処理した結果をＬＵＴ演算制御回路２０４へ出力する。
【０２６４】
（２）一方、第２のＤＭＡコントローラ２０２の出力である補間テーブルデータ（補間情報）のうち、図２２に示す補間テーブル２３０の範囲情報２３２で示される範囲（有効なＬＵＴの範囲）以外の番地（０番地から４９番地までの各番地および２００番地から２５５番地までの各番地）の補間テーブルデータに関わる処理のときは、基本テーブル２２１（図２１参照）における範囲情報２３２に対応する範囲のデータ以外のデータ（図２１の符号２４５および符号２４６で示される範囲の基本テーブルデータ）については、そのままＬＵＴ演算制御回路２０４へ出力する。
【０２６５】
このようにしてＬＵＴ設定値演算回路２０３から出力された演算結果（ＬＵＴ設定値）を受け取ったＬＵＴ制御回路２０４は、ファームウェアで設定されたターゲットとなる第１の画像処理用ＬＵＴ２０５のテーブル格納アドレスを生成するとともに、ＬＵＴにあった制御方法で、前記受け取った演算結果（第２のＬＵＴ（ＬＵＴ２）２２２に関わるＬＵＴ設定値）を、前記生成したテーブル格納アドレスに基づき第１の画像処理用ＬＵＴ２０５に書き込む（ステップＳ４０５）。
【０２６６】
ステップＳ４０５を終了したＬＵＴ制御回路２０４は、指定されたＬＵＴつまりターゲットとなる第１の画像処理用ＬＵＴ２０４へのＬＵＴの書き込みが終了した（ＬＵＴの更新が完了した）か否かを判断し（ステップＳ４０６）、この判断した結果、指定されたＬＵＴの書き込みが終了した場合は、ファームウェアに対して終了割り込み、または終了ステータスを発行して、ＬＵＴの設定が終了したことを通知する（ステップＳ４０７）。
【０２６７】
ステップＳ４０６において、指定されたＬＵＴの書き込みが終了していないと判断された場合は、上記ステップＳ４０３に戻る。
【０２６８】
ＣＰＵ（中央演算処理装置）等のフォアームウェアは、割り込み処理等を実行し（ステップＳ４０７）、このＬＵＴ更新（設定）処理を終了する。
【０２６９】
本実施の形態４では、設定すべきＬＵＴを求めるためのＬＵＴ設定値演算回路２０３による演算処理は、加算回路による加算処理としたが、本発明はこれに限定されることなく、次のようにしてもよい。
【０２７０】
すなわち、ＬＵＴ設定値演算回路２０３は、加算とは別の演算方法による演算処理を実施して、設定すべきＬＵＴを求めるようにしてもよい。
【０２７１】
また、ＬＵＴ設定値演算回路２０３は、異なる複数の演算方法を保有し、これらの演算方法を選択できるような回路を有するようにし、この回路によって選択された演算処理を実施して、設定すべきＬＵＴを求めるようにしてもよい。
【０２７２】
以上説明したように、実施の形態４によれば、複数のＬＵＴの保存するための不揮発性記憶容量を緩和するために基本テーブルと補間テーブルを実装し、基本テーブルと補間テーブルとの演算でＬＵＴの内容を更新するに際し、ファームウェアでのＬＵＴの取り込み、および演算をすることなく、ＤＭＡコントローラによってＬＵＴを取り込み、また演算処理部によって基本テーブルと補間テーブル（差分テーブル）とを演算するようにしているので、ＤＭＡコントローラや演算処理部などのハードウェアによってＬＵＴの更新処理を高速に実施することができる。すなわち、ＬＵＴの設定時間を短縮することができる。
【０２７３】
また、ハードウェアによるＬＵＴの更新中はファームウェアは別の作業を実施することができるため、装置性能を向上させることができる。
（実施の形態５）
【０２７４】
図２４は、本発明の実施の形態５に係る画像処理装置の機能構成を示している。
【０２７５】
この図２４に示す画像処理装置５０は、図１９に示した実施の形態４の画像処理装置４０と機能構成において、第２のＤＭＡコントローラ２０２を削除した機能構成になっている。なお、図２４において、図１９に示した構成要素と同様の機能を果たす部分には同一の符号を付している。
【０２７６】
実施の形態５においても、外部記憶領域（基本テーブル記憶手段、補間テーブル記憶手段）２１０は、実施の形態４の場合と同様に、図２０に示した第１のＬＵＴ（ＬＵＴ１）２２１つまり図２１に示した第１のＬＵＴ（基本テーブル）２２１と、図２２に示した補間テーブル２３０とを格納している。
【０２７７】
実施の形態５において、ＤＭＡコントローラ（アクセス制御手段）２０１は、ダイレクトメモリアクセス（ＤＭＡ）により、設定されたアドレスを基に外部記憶領域）２１０からテーブル（基本テーブル２２１または補間テーブル２３０）を取得し、この取得したテーブルをＬＵＴ設定値演算回路２０３に転送する機能を有する。
【０２７８】
この場合、ＤＭＡコントローラ２０１は、基本テーブルの転送時は取得した基本テーブルのデータ（基本テーブルデータ）をスルー（そのまま出力）させ、一方、補間テーブルの転送時は補間テーブルの該当する範囲を認識し、補間テーブルの無効な範囲については０（補間情報なし）を出力し、補間テーブルが有効な範囲についてはＤＭＡにて取得したデータを出力する機能を有する。
【０２７９】
ここで、補間テーブルの該当する範囲とは、図２２の符号２３２で示される範囲情報に基づく範囲（５０番地から１９９番地までの範囲）のことである。この範囲は、補間テーブルが有効な範囲と言える。
【０２８０】
補間テーブルの無効な範囲とは、図２２の範囲情報２３２で示される範囲以外の範囲であって、例えば、図２１の項目２４１の画像入力データが０から２５５の各値あるいは０番地から２５５番地までの各番地における、図２１の符号２４５および符号２４６で示される範囲のことである。この範囲については上述したように０（補間情報なし）が出力される。
【０２８１】
補間テーブルが有効な範囲とは、図２２の範囲情報２３２で示される範囲であって、例えば、図２１の項目２４１の画像入力データが０から２５５の各値あるいは０番地から２５５番地までの各番地における、図２１の符号２４４で示される範囲のことである。この範囲については、上述したようにＤＭＡにより取得されたデータ（図２２の差分値情報２３１の各差分値＝補間テーブルデータ）が出力される。
【０２８２】
また、ＤＭＡコントローラ２０１は、出力している情報が基本テーブルであるか補間テーブルであるかをＬＵＴ設定値演算回路２０３に通知する機能を有する。
【０２８３】
ＬＵＴ設定値演算回路（演算処理手段）２０３は、入力されたＤＭＡコントローラ２０１からのデータが基本テーブルデータであるときは、その基本テーブルデータに対する演算をせずに、その基本テーブルデータをＬＵＴ制御回路２０４へ出力し、一方、補間テーブルデータであるときは、画像処理用ＬＵＴ２０５からのデータとＤＭＡコントローラ２０１からのデータ（補間テーブルデータ）とで演算し、この演算した結果をＬＵＴ制御回路２０４へ出力する機能を有する。
【０２８４】
ＬＵＴ制御回路（格納制御手段）２０４は、入力されたＬＵＴ設定値演算回路２０３からのデータを、図示しないＣＰＵ（中央演算処理装置）などファームウェアによって設定され書き込み対象として指定される画像処理用ＬＵＴ（ルックアップテーブル記憶手段）２０５または画像処理用ＬＵＴ（ルックアップテーブル記憶手段）２０６に書き込む機能を有する。
【０２８５】
実施の形態５は、実施の形態４とは、ＬＵＴ更新（設定）処理において、１つのＤＭＡコントローラで時系列に基本テーブルデータと補間テーブルを読み込む、という点で、大きく異なっている。
【０２８６】
次に、画像処理装置５０のＬＵＴ更新（設定）処理について、図２５を参照して説明する。
【０２８７】
図２５は、そのＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。図２５において、第１の画像処理用ＬＵＴは画像処理用ＬＵＴ２０５を意味する。
【０２８８】
この実施の形態５においても、実施の形態４の場合と同様に、画像処理用ＬＵＴ２０５に第２のＬＵＴ（ＬＵＴ２）２２２（図２０および図２１参照）を設定する場合を想定する。
【０２８９】
ＣＰＵ（中央演算処理装置）等のフォアームウェアは、ＬＵＴ設定値演算回路２０３に演算方法を指定するとともに、ＬＵＴ制御回路２０４にターゲットとなる画像処理用ＬＵＴ例えば第１の画像処理用ＬＵＴ２０５の指定を行う（ステップＳ５０１）。
【０２９０】
次に、ファームウェアは、ＤＭＡコントローラ２０１に対して、基本テーブルデータ（第１のＬＵＴ（ＬＵＴ１）２２１のデータ）が格納されている外部記憶領域２１０内のアドレスとそのテーブルサイズ、および補間テーブルデータ（補間テーブル２３０のデータ）が格納されている外部記憶領域２１０内のアドレスとそのテーブルサイズを設定し、その後、ＤＭＡを起動する（ステップＳ５０２）。
【０２９１】
ハードウェアにおいてはＤＭＡコントローラ２０１は起動がかかると、ＤＭＡにより、指定された基本テーブルデータに関するアドレスに基づく領域から基本テーブルデータを取得し（ステップＳ５０３）、この取得した基本テーブルデータをＬＵＴ設定値演算回路２０３へ転送すると同時に現在の出力データが基本テーブルデータであるという情報を渡す。
【０２９２】
基本テーブルデータと基本テーブルデータであるという情報とを受け取ったＬＵＴ設定値演算回路２０３は、基本テーブルデータであるという情報を基に、取得したテーブルデータは基本テーブルデータであると認識し、何も演算処理することなく、当該取得した基本テーブルデータをそのままＬＵＴ制御回路２０４へ出力する（ステップＳ５０４）
【０２９３】
ＬＵＴ制御回路２０４は、ＬＵＴ設定値演算回路２０３からの基本テーブルデータを第１の画像処理用ＬＵＴ２０５に書き込む（ステップＳ５０５）。
【０２９４】
次に、ＬＵＴ制御回路２０４は、全ての基本テーブルデータを第１の画像処理用ＬＵＴ２０５に書き込んだ（基本テーブルの更新（設定）が終了した）か否かを判断する（ステップＳ５０６）。
【０２９５】
ステップＳ５０６において基本テーブルの更新（設定）が終了していないと判断された場合には、上記ステップＳ５０３に戻る。
【０２９６】
ステップ５０６において基本テーブルの更新（設定）が終了したと判断したＬＵＴ制御回路２０４は、ＤＭＡコントローラ２０１に対して基本テーブルの更新（設定）終了を通知する。
【０２９７】
ＤＭＡコントローラ２０１は、ＬＵＴ制御回路２０４から通知された基本テーブルの更新（設定）終了を受け取ると、ＤＭＡにより、指定された補間テーブルデータに関するアドレスに基づく領域から補間テーブルデータを取得し（ステップＳ５０７）、この取得した補間テーブルデータをＬＵＴ設定値演算回路２０３へ転送すると同時に現在の出力データが補間テーブルデータであるという情報を渡す。
【０２９８】
この場合、ＤＭＡコントローラ２０１は、補間テーブルの該当する範囲を認識し、補間テーブルの無効な範囲については０（補間情報なし）を出力し、補間テーブルが有効な範囲についてはＤＭＡにて取得したデータを出力する。すなわち、ＤＭＡコントローラ２０１から出力されるデータ（補間情報）は、０番地から２５５番地までの各番地、あるいは画像入力データの値０から値２５５までの２５６階調の各値に対応する各差分値となっている。
【０２９９】
ＬＵＴ演算回路２０３は、第１の画像処理用ＬＵＴ２０５から記憶内容（基本テーブルデータ）を読み出し、この読み出した基本テーブルデータとＤＭＡコントローラ２０１からのデータ（補間情報）とを基に、ファームウェアによって指定された演算方法に従ってＬＵＴの値（ＬＵＴ設定値）を演算し（ステップＳ５０８）、この演算した結果つまりＬＵＴ設定値（第２のＬＵＴ（ＬＵＴ２）２２２に関わるＬＵＴ設定値）をＬＵＴ制御回路２０４へ出力する。
【０３００】
ステップＳ５０８においては、ＬＵＴ設定値演算回路２０３は、次の（１）、（２）の処理を実行してＬＵＴ設定値を求めるようになっている。
【０３０１】
（１）第１のＬＵＴ（基本テーブル）２２１における補間テーブル２３０に含まれる範囲情報２３２に対応する範囲のデータ（図２１の符号２４４で示される範囲の各データ）と補間テーブル２３０の差分値（図２３の差分値情報２３１の各差分値）とを演算処理し、この演算処理した結果を出力する。
【０３０２】
（２）第１のＬＵＴ（基本テーブル）２２１における範囲情報２３２に対応する範囲のデータ以外のデータ（図２１の符号２４５および符号２４６で示される範囲のデータ）については、そのまま出力する。
【０３０３】
このようにしてＬＵＴ設定値演算回路２０３から出力された演算結果（ＬＵＴ設定値）を受け取ったＬＵＴ制御回路２０４は、ファームウェアで設定されたターゲットとなる第１の画像処理用ＬＵＴ２０５のテーブル格納アドレスを生成するとともに、ＬＵＴにあった制御方法で、前記受け取った演算結果（第２のＬＵＴ（ＬＵＴ２）２２２に関わるＬＵＴ設定値）を、前記生成したテーブル格納アドレスに基づき第１の画像処理用ＬＵＴ２０５に書き込む（ステップＳ５０９）。
【０３０４】
ステップＳ５０９を終了したＬＵＴ制御回路２０４は、指定されたＬＵＴつまりターゲットとなる第１の画像処理用ＬＵＴ２０４へのＬＵＴの書き込みが終了した（ＬＵＴの更新が完了した）か否かを判断し（ステップＳ５１０）、この判断した結果、指定されたＬＵＴの書き込みが終了した場合は、ファームウェアに対して終了割り込み、または終了ステータスを発行して、ＬＵＴの設定が終了したことを通知する（ステップＳ５１１）。
【０３０５】
ステップＳ５１０において、指定されたＬＵＴの書き込みが終了していないと判断された場合は、上記ステップＳ５０７に戻る。
【０３０６】
ＣＰＵ（中央演算処理装置）等のフォアームウェアは、割り込み処理等を実行し（ステップＳ５１２）、このＬＵＴ更新（設定）処理を終了する。
【０３０７】
本実施の形態５においては、基本テーブルの転送と補間テーブルの転送とをハードウェアで連続的に行うようにしているが、基本テーブルの転送終了時に一旦ファームウェアに終了通知を行い、別途、補間テーブルの転送を行う方法も考えられる。
【０３０８】
また、本実施の形態５においては、補間データで補間テーブル内の補間すべき領域外は０（差分なし）として演算するようにしているが、補間データの有効な領域のみ演算、更新する方法も考えられる。
【０３０９】
さらに、本実施の形態５では、補間テーブルについて有効な範囲（区間）の情報をステート番地からエンド番地までというような情報としているが、本発明はこれに限定されることなく、次のようにしてもよい。
【０３１０】
すなわち、第１のＬＵＴ（基本テーブル）に対する差分が分布するほぼ中央部２５０をＬＵＴ設定のスタート位置にし、この中央部２５０を基準にして、変更するテーブル量を指定する方法でもよい。
【０３１１】
このようなＬＵＴ設定の方法について、図２６〜図２８を参照して説明する。
【０３１２】
図２６は、図２０に示した内容（画像入力データ、画像出力データ、第１のＬＵＴ２２１、第２のＬＵＴ２２２）と同様である。
【０３１３】
図２７は、図２１に示した内容（画像入力データ、画像出力データ用ＬＵＴ値、ＬＵＴ１とＬＵＴ２の差分の各値そのもの）は同様である。
【０３１４】
図２７において、画像入力データの項目２４１ａには、図２６に示す横軸の画像入力データの各値（０から２５５までの２５６階調の各値）が、図２６の中央部２５０を基準にして、左側に位置する階調の値と、右側に位置する階調の値とが交互に記述されている。
【０３１５】
画像出力データ用ＬＵＴ値の項目２４２ａには、第１のＬＵＴ（基本テーブル）２２１および第２のＬＵＴ（設定したいテーブル）２２２のそれぞれに関わる画像入力データの各値に対応する図２６に示す縦軸の画像出力データの各値が記述されている。その画像出力データの各値そのものは図２１に示した内容のものと同じである。
【０３１６】
ＬＵＴ１とＬＵＴ２の差分の項目２４３ａには、第１のＬＵＴ（基本テーブル）２２１の各値と第２のＬＵＴ（設定したいテーブル）２２２の各値との差分が記述されている。それらの差分値そのものは図２１に示した内容のものと同じである。
【０３１７】
図２８は、補間テーブル２３０ａを示している。この補間テーブル２３０ａは、差分値情報２３１ａと、所定のルックアップテーブルとしての第１のＬＵＴ（基本テーブル）２２１における当該差分値情報２３１ａが適用される範囲を示す範囲情報２３２ａとを含んでいる。
【０３１８】
差分値情報２３１ａは、画像入力データの値が０から２５５までの２５６階調の各値に対応する各差分値（値０の場合も含む）であり、中央部２５０に位置する画像入力データの値に対応する差分値が先頭に位置し、次に中央部２５０に対し左側に位置する画像入力データの値に対応する差分値が位置し、続いて中央部２５０に対し右側に位置する画像入力データの値に対応する差分値が位置し、以降、中央部２５０に対し右側の差分値と左側の差分値とが交互に位置している。
【０３１９】
範囲情報２３２ａは、図２２の範囲情報２３２で示されるＳｔａｒｔ５０番地（スタート番地）からＥｎｄ１９９番地（エンド番地）までの範囲の補間テーブルデータ（値０以外の差分値）の個数を示している。すなわち、差分値情報２３１ａの先頭に位置する差分値から１４９個目までが、補間テーブル２３０ａが有効なＬＵＴの範囲を示している。
【０３２０】
そして、ＬＵＴ更新（設定）のために、ＬＵＴ設定演算回路２０３が、図２７の第１のＬＵＴ（ＬＵＴ１）２２１ａのＬＵＴデータと図２８の補間テーブル２３０ａの補間テーブルデータ（差分値）とを演算処理するようにする。
【０３２１】
この場合、中央部２５０に位置する画像入力データの値に対応する第１のＬＵＴ（基本テーブル）２２１ａのＬＵＴデータに対して補間テーブル２３０ａの差分値を指定し、次に、中央部２５０に対し左側に位置する画像入力データの値に対応する第１のＬＵＴ２２１ａのＬＵＴデータと、中央部２５０に対し右側に位置する画像入力データの値に対応する第１のＬＵＴ２２１ａのＬＵＴデータとに、補間テーブル２３０ａの差分値情報２３１ａでの差分値の並び順に、当該差分値を指定するようにする。
【０３２２】
以上説明したように、実施の形態５によれば、実施の形態４の場合と同様の作用効果を期待することができる。
（実施の形態６）
【０３２３】
図２９は、本発明の実施の形態６に係る画像処理装置の機能構成を示している。
【０３２４】
図２９に示すように、画像処理装置６０は、画像処理回路３００、ＣＰＵ（中央演算処理装置）３６０、外部メモリ３７０を備えている。
【０３２５】
なお、図２９において、上下方向の矢印線、左右方向の矢印線、右方向の矢印線は、各構成要素間を接続する配線（結線）を意味し、またデータあるいは命令の流れる方向も意味する。
【０３２６】
ＣＰＵ（上位の制御手段）３６０は、後述するメモリコントローラ３５０を経由して、上記各色用の画像処理パス３１０，３２０，３３０，３４０に接続され、各処理に応じた処理を行う。
【０３２７】
外部メモリ（格納手段）３７０は画像データ、ＬＵＴデータを記憶する。
【０３２８】
画像処理回路３００は、ＡＳＩＣ（特定用途向けＩＣ）で構成されており、複数種類の色に対応する複数の画像処理パス３１０，３２０，３３０，３４０と、メモリコントローラ３５０とを有している。
【０３２９】
ここで、シアン（Ｃ）の色に対応する画像処理パス３１０をＣ用画像処理パス３１０とし、マゼンタ（Ｍ）の色に対応する画像処理パス３２０をＭ用画像処理パス３２０とし、イエロー（Ｙ）の色に対応に対応する画像処理パス３３０をＹ用画像処理パス３３０とし、ブラック（Ｋ）の色に対応に対応する画像処理パス３４０をＫ用画像処理パス３４０とする。
【０３３０】
Ｃ用画像処理パス３１０は、シアン（Ｃ）の色に対応し、互いに異なる画像処理を実行する第１の画像処理部３１１、第２の画像処理部３１２および第３の画像処理部３１３と、当該複数の画像処理部に対応して設けられる複数の画像処理用メモリ３１１ａ，３１２ａ，３１３ａと、ＤＭＡコントローラ３１４とを有している。
【０３３１】
Ｍ用画像処理パス３２０は、マゼンタ（Ｍ）の色に対応し、互いに異なる画像処理を実行する第１の画像処理部３２１、第２の画像処理部３２２および第３の画像処理部３２３と、当該複数の画像処理部に対応して設けられる複数の画像処理用メモリ３２１ａ，３２２ａ，３２３ａと、ＤＭＡコントローラ３２４とを有している。
【０３３２】
Ｙ用画像処理パス３３０は、イエロー（Ｙ）の色に対応し、互いに異なる画像処理を実行する第１の画像処理部３３１、第２の画像処理部３３２および第３の画像処理部３３３と、当該複数の画像処理部に対応して設けられる複数の画像処理用メモリ３３１ａ，３３２ａ，３３３ａと、ＤＭＡコントローラ３３４とを有している。
【０３３３】
Ｋ用画像処理パス３４０は、ブラック（Ｋ）の色に対応し、互いに異なる画像処理を実行する第１の画像処理部３４１、第２の画像処理部３４２および第３の画像処理部３４３と、当該複数の画像処理部に対応して設けられる複数の画像処理用メモリ３４１ａ，３４２ａ，３４３ａと、ＤＭＡコントローラ３４４とを有している。
【０３３４】
Ｃ用画像処理パス３１０におけるＤＭＡコントローラ３１４と画像処理部３１１間の結線３６１と、Ｍ用画像処理パス３２０におけるＤＭＡコントローラ３２４と画像処理部３２１間の結線３６２、Ｙ用画像処理パス３３０におけるＤＭＡコントローラ３３４と画像処理部３３１間の結線３６３、およびＫ用画像処理パス３４０におけるＤＭＡコントローラ３４４と画像処理部３４１間の結線３６４とは、それぞれ結線３６２ａ、結線３６３ａ、および結線３６４ａで接続されている。
【０３３５】
Ｃ用画像処理パス３１０において、ＤＭＡコントローラ（アクセス制御手段）３１４は、ＣＰＵ３７０の設定に従い、ダイレクトメモリアクセス（ＤＭＡ）により、外部メモリ３７０からデータを読み出し最前段の第１の画像処理部３１１へ出力する。
【０３３６】
第１の画像処理部（画像処理手段）３１１は、印刷時においては、入力データに対して第１の画像処理を実施し、画像処理後のデータを第２の画像処理部３１２へ転送する。また、第１の画像処理部３１１は、ＬＵＴ設定時においては、ＬＵＴの設定対象でないときは、入力データをそのまま第２の画像処理部３１２へ転送し、ＬＵＴの設定対象のときは、管理下の画像処理用メモリ３１１ａに入力データを格納する。
【０３３７】
第２の画像処理部（画像処理手段）３１２は、印刷時においては、入力データに対して第２の画像処理を実施し、画像処理後のデータを第３の画像処理部３１３へ転送する。また、第２の画像処理部３１２は、ＬＵＴ設定時においては、ＬＵＴの設定対象でないときは、入力データをそのまま第３の画像処理部３１３へ転送し、ＬＵＴの設定対象のときは、管理下の画像処理用メモリ３１２ａに入力データを格納する。
【０３３８】
第３の画像処理部（画像処理手段）３１３は、印刷時においては、入力データに対して第３の画像処理を実施し、画像処理後のデータを外部へ転送する。また、第３の画像処理部３１３は、ＬＵＴ設定時においては、ＬＵＴの設定対象でないときは、最終段の画像処理部なので入力データを破棄し、ＬＵＴの設定対象のときは、管理下の画像処理用メモリ３１３ａに入力データを格納する。
【０３３９】
複数の画像処理用メモリ（記憶手段）３１１ａ，３１２ａ，３１３ａは、ＬＵＴ設定のときは、それぞれ第１〜第３の画像処理部３１１，３１２，３１３から入力されるデータを格納し、印刷処理のときは、保持しているＬＵＴデータを、対応する画像処理部へ出力する。
【０３４０】
他の色用画像処理パス３２０，３３０，３４０の各構成要素も、上記Ｃ用画像処理パス３１０の場合と同様の機能を有している。
【０３４１】
なお、各色用画像処理パス３１０〜３４０における各第１の画像処理部３１１、３２１，３３１，３４１は、それぞれ同一の第１の画像処理を実行する。
【０３４２】
また、各色用画像処理パス３１０〜３４０における各第２の画像処理部３１２、３２２，３３２，３４２は、それぞれ同一の第２の画像処理を実行する。
【０３４３】
さらに、各色用画像処理パス３１０〜３４０における各第３の画像処理部３１３、３２３，３３３，３４３は、それぞれ同一の第３の画像処理を実行する。
【０３４４】
次に、画像処理装置６０のＬＵＴ設定処理について、図３０を参照して説明する。
【０３４５】
図３０は、そのＬＵＴ設定処理の処理手順を示すフローチャートである。
【０３４６】
この例では、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０のそれぞれの第２の画像処理部つまり画像処理用メモリをＬＵＴ設定の更新対象とする場合を想定する。
【０３４７】
このＬＵＴ設定処理はソフトウェア側の処理とハードウェア側の処理とに分けられるので、最初にソフトウェア側の処理つまりＣＰＵ３６０による処理について説明する。
【０３４８】
ＣＰＵ３６０は、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４に対して、必要な情報を設定する（ステップＳ６０１）。
【０３４９】
ここで、必要な情報は、更新対象の画像処理番号（更新対象画像処理番号）、画像処理パスごとの更新の有無（画像処理パスの更新ＯＮ／ＯＦＦ）、更新するＬＵＴの外部メモリのアドレス（更新ＬＵＴアドレス）、更新するＬＵＴのサイズ（更新ＬＵＴサイズ）である。
【０３５０】
更新対象画像処理番号は、更新対象のＬＵＴに関わる画像処理を示す番号（画像処理番号）を意味する。すなわち、第１の画像処理を示す画像処理番号１、第２の画像処理を示す画像処理番号２、および第３の画像処理を示す画像処理番号３のうち何れかの画像処理番号である。この例では、画像処理番号２が設定される。
【０３５１】
画像処理パスの更新ＯＮ／ＯＦＦは、画像処理毎の更新対象の画像処理番号で示される画像処理に対応するＬＵＴの更新（設定）を実施するか否かを示す情報（画像処理パスの更新ＯＮ／ＯＦＦ）を意味する。ＬＵＴの更新（設定）を実施する場合には「画像処理パスの更新ＯＮ」が設定され、一方、ＬＵＴの更新（設定）を実施しない場合は「画像処理パスの更新ＯＦＦ」が設定される。
【０３５２】
例えば、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用画像処理パス３１０，３２０，３３０，３４０全てについてＬＵＴの更新（設定）を実施する場合は、各色用画像処理パス３１０，３２０，３３０，３４０のそれぞれを示す情報に対応して「画像処理パスの更新ＯＮ」が設定される。
【０３５３】
更新ＬＵＴアドレスは、更新対象のＬＵＴが格納されている外部メモリ３７０の格納場所情報（格納アドレス）を意味する。
【０３５４】
更新ＬＵＴサイズは、外部メモリ３７０に格納されている更新対象のＬＵＴのデータサイズを意味する。
【０３５５】
次に、ＣＰＵ３６０は、上記設定内容に基づき動作を開始するように、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４に起動命令（ＬＵＴ更新開始命令）を書き込み（ステップＳ６０２）、ＤＭＡコントローラ３１４を起動させる。
【０３５６】
そして、ＣＰＵ３６０は、起動命令を書き込みした後は、ハードウェアからの終了割り込みを待ちつつ、他の処理が割り当てられた場合は当該他の処理を実行するとともに、ハードウェアからの終了割り込みが発行されたときは、当該割り込み等を実行し（ステップＳ６０３）、このＬＵＴ設定処理を終了する。
【０３５７】
次に、ハードウェア側の処理について説明する。
【０３５８】
Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４は、ＣＰＵ３６０からのＬＵＴ更新開始命令を取得したことを条件に、次の（１）〜（３）の各処理を実行する（ステップＳ６１１）。
【０３５９】
（１）更新対象画像処理番号で示される画像処理番号に対応する画像処理（更新対象の画像処理）を実行する画像処理部へ、ＬＵＴ設定開始とともに更新ＬＵＴサイズを通知する。
【０３６０】
ここで、更新対象画像処理番号は画像処理番号２であるとすると、更新対象は、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用画像処理パス３１０，３２０，３３０，３４０の第２の画像処理部３１２，３２２，３３２，３４２となる。そのため、これらの画像処理部に対してＬＵＴ設定開始を通知される。
【０３６１】
ＬＵＴ設定開始の通知を受け取った第２の画像処理部３１２，３２２，３３２，３４２はＬＵＴデータ入力に備えてメモリライトアドレス（ライト数）を０に初期化する。
【０３６２】
（２）更新対象画像処理番号で示される画像処理願号以外の画像処理番号に対応する画像処理（更新対象以外の画像処理）を実行する画像処理部に対しては、入力されてくるデータをそのまま出力すべき旨（入力データの転送開始）を通知する。
【０３６３】
この例では、画像処理番号１に対応する第１の画像処理を実行する第１の画像処理部３１１，３２１，３３１，３４１画像処理番号３に対応する第３の画像処理を実行する第３の画像処理部３１３，３２３，３３３，３４３に対しては、入力されてくるデータをそのまま出力すべき旨（入力データの転送開始）が通知される。
【０３６４】
なお、最終段の画像処理部（第３の画像処理部）は、入力されてくるデータをそのまま出力すべき旨が通知された場合は、入力データを破棄することになる。
【０３６５】
（３）ＤＭＡコントローラの内部にＣＰＵ３６０によって設定された設定値（更新ＬＵＴアドレスおよび更新ＬＵＴサイズ）をロードしておく。
【０３６６】
ＤＭＡアドレス＝更新ＬＵＴアドレス
【０３６７】
ＤＭＡサイズ＝更新ＬＵＴサイズ
【０３６８】
次に、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４は、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用画像処理パス３１０，３２０，３３０，３４０の第１〜第３の画像処理に対応する第１〜第３の画像処理部への上述した内容の通知が終了したことを確認したら、次の（４）、（５）の各処理を実行する（ステップＳ６１２）。
【０３６９】
（４）メモリコントローラ３５０を経由して外部メモリ３７０からＬＵＴデータを１単位リードする。
【０３７０】
ここで、リードした１単位のＬＵＴデータを「１単位ＬＵＴデータ」と定義する。
【０３７１】
また、リードした１単位ＬＵＴデータを次の処理に向けて、当該ＤＭＡコントローラ３１４の内部に設けられている図示しない記憶領域に保存しておく。
【０３７２】
ここで、１単位はワード（語）を意味し、当該画像処理装置６０の仕様に応じて決定されており、例えば８ビットや１６ビットなどである。
【０３７３】
（５）１単位ＬＵＴデータのリードが完了したら、パラメータを以下の通りに更新する。
【０３７４】
ＤＭＡアドレス＝ＤＭＡアドレス＋１単位
【０３７５】
ＤＭＡサイズ＝ＤＭＡサイズ−１単位
【０３７６】
続いて、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４は、外部メモリ３７０からリードした１単位ＬＵＴデータを、「画像処理パスの更新ＯＮ」が設定されている全ての画像処理パスの第１の画像処理を実行する第１の画像処理部へライトする（ステップＳ６１３）。
【０３７７】
この例では、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０の第１の画像処理部に１単位ＬＵＴデータがライトされる。
【０３７８】
ここで、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０の全てに関わる第１の画像処理部３１１，３２１，３３１，３４１を「第１の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）」と定義する。
【０３７９】
同様に、第２の画像処理部３１２，３２２，３３２，３４２を「第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）」と定義し、第３の画像処理部３１３，３２３，３３３，３４３を「第３の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）」と定義する。
【０３８０】
ところで、１単位ＬＵＴデータを取得した第１の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は、次の（ａ）、（ｂ）の各処理を実行する（ステップＳ６１４）。
【０３８１】
（ａ）既にＤＭＡコントローラ３１４から「ＬＵＴ設定開始」が通知されて、当該第１の画像処理に対応するＬＵＴが更新対象であると認識した場合は、取得した入力データ（１単位ＬＵＴデータ）を、管理下の画像処理用メモリに格納し、次の入力に備えてライトアドレス（ライト数）を加算しておく。
【０３８２】
ライトアドレス（ライト数）＝ライトアドレス（ライト数）＋１単位
【０３８３】
（ｂ）既にＤＭＡコントローラ３１４から「入力されてくるデータをそのまま出力すべき旨」が通知されて、当該第１の画像処理に対応するＬＵＴが更新対象ではないと認識した場合は、入力されたデータ（１単位ＬＵＴデータ）をそのまま第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）へ出力する。
【０３８４】
なお、第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）、第３の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）の動作も、第１の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）による上記（ａ）および（ｂ）の処理の場合と同様である。ただし、最終段の画像処理部この例では第３の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は、ＬＵＴが更新対象ではないと認識した場合は、入力されたデータ（１単位ＬＵＴデータ）を破棄する。
【０３８５】
この例では、更新対象は第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）であるので、第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）が、それぞれ管理下の画像処理用メモリに１単位ＬＵＴデータを書き込み、「ライトアドレス（ライト数）＝ライトアドレス（ライト数）＋１単位」を演算することになる。
【０３８６】
更新対象の画像処理部、例えば第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は、１単位ＬＵＴデータを管理下の画像処理用メモリに書き込み、ライトアドレス（ライト数）を更新した後、ライトアドレス（ライト数）がＣ用画像処理パス３１０のＤＭＡコントローラ３１４から既に通知された更新ＬＵＴサイズと等しいか否かを判断する（ステップＳ６１５）。
【０３８７】
更新対象の例えば第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は、ステップＳ６１５において、ライトアドレス（ライト数）と更新ＬＵＴサイズとが等しいと判断した場合は、ＬＵＴサイズ（更新ＬＵＴサイズ）数分のＬＵＴデータの書き込みが終了した旨を示すＬＵＴ書き込み完了信号を、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４へ通知する（ステップＳ６１６）。
【０３８８】
ステップＳ６１５において、ライトアドレス（ライト数）と更新ＬＵＴサイズとが等しくないと判断された場合は、ステップＳ６１７に進む。
【０３８９】
ＬＵＴ書き込み完了信号が通知されたＣ用画像処理パス３１０のＤＭＡコントローラ３１４は、ＤＭＡサイズが０になっている（ＤＭＡサイズ＝０）か否かを判断し（ステップＳ６１７）、この判断した結果、「ＤＭＡサイズ≠０」の場合には、上記ステップＳ６１２に戻り、「ＤＭＡサイズ＝０」の場合は、更新対象の全ての画像処理パスからＬＵＴサイズ数分のＬＵＴ書き込み完了が通知されたか否かを判断する（ステップＳ６１８）。
【０３９０】
ステップＳ６１８においては、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４は、ＣＰＵ３６０によって既に設定されている画像処理パスの更新ＯＮ／ＯＦＦおよび更新対象画像処理番号を基に、更新対象はＣ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０であって、第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）であるということを認識しているので、Ｃ色、Ｍ色、Ｙ色、Ｋ色の全ての色用画像処理パスの第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）からのＬＵＴ書き込み完了が通知されたかを確認することになる。
【０３９１】
ところで、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４は、ステップＳ６１８において、更新対象の全ての画像処理パスからＬＵＴ書き込み完了が通知されないと判断した場合には、更新対象の全ての画像処理パスからＬＵＴ書き込み完了が通知されるまで待機し、一方、更新対象の全ての画像処理パスからＬＵＴ書き込み完了が通知されたと判断した場合は、全ての画像処理部つまり第１〜第３の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）に対して、ＬＵＴ更新（設定）作業の終了を通知するとともに、通常の画像処理開始を通知する（ステップＳ６１９）。
【０３９２】
ＬＵＴ更新（設定）作業の終了および通常の画像処理開始が通知されたＣ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０の第１〜第３の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は、入力データに、該当する画像処理を施して出力するようになる。
【０３９３】
ステップＳ６１９を終了したＣ用画像処理パス３１０のＤＭＡコントローラ３１４はＬＵＴ更新作業が終了したことを示す割り込み、または終了ステータスを、ＣＰＵ３６０へ発行する（ステップＳ６２０）。
【０３９４】
他の作業中であったＣＰＵ３６０は、例えば割り込みを受けてＬＵＴ更新作業が終了したことを認識し（ステップＳ６０３）、このＬＵＴ設定処理を終了する。
【０３９５】
次に、画像処理装置６０のＬＵＴ設定処理の際のＬＵＴデータの流れについて、図３１を参照して説明する。
【０３９６】
図３１は、そのＬＵＴ設定処理の際のＬＵＴデータの流れを説明する図である。なお、図３１において、画像処理装置６０は図２９に示す画像処理装置６０の機能構成と同一であるが、一部、符号を省略している。
【０３９７】
さて、ここでは、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０の第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）に対応する画像処理用ＬＵＴ３１２ａ，３２２ａ，３３２ａ，３４２ａを更新する場合を想定する。
【０３９８】
このような前提条件の下では、画像処理装置６０は、次の（１）〜（４）の各処理を実行することで、ＬＵＴを更新（設定）する。
【０３９９】
（１）Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４は、外部メモリ３７０に格納されている更新対象のＬＵＴデータをＤＭＡリード（１単位ごとリード）する。
【０４００】
（２）ＤＭＡコントローラ３１４は、取り込んだ更新用のＬＵＴデータ（１単位ＬＵＴデータ）をＣ用画像処理パス３１０だけでなく、全ての画像処理パスの第１の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）に同時に書き込む。
【０４０１】
すなわち、更新用のＬＵＴデータは、配線３６１を経由してＣ用画像処理パス３１０の第１の画像処理部３１１に書き込まれ、配線３６１、配線３６２ａおよび配線３６２を経由してＭ用画像処理パス３２０の第１の画像処理部３２１に書き込まれ、配線３６１、配線３６３ａおよび配線３６３を経由してＹ用画像処理パス３３０の第１の画像処理部３３１に書き込まれ、配線３６１、配線３６４ａおよび配線３６４を経由してＫ用画像処理パス３４０の第１の画像処理部３４１に書き込まれる。
【０４０２】
（３）第１の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は更新対象ではないので、入力データをそのまま次の第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）へ転送する。
【０４０３】
（４）第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）は、更新対象なので、入力データ（１単位ＬＵＴデータ）を管理下の画像処理用メモリにアドレス順に書き込んでいく。
【０４０４】
そして、上記（１）〜（４）の各処理を繰り返すことにより、第２の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）の管理下の画像処理用メモリを同時に更新することが可能となる。
【０４０５】
ところで、画像処理装置６０によるＬＵＴ設定と印字動作は、図３２に示すようなタイミングで実施されることになる。
【０４０６】
すなわち、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色の画像処理パス３１０，３２０，３３０，３４０による１枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３０１）。これは４色一括によるＬＵＴ設定が実施されると言える。その後、印字動作（画像処理）が実施される。
【０４０７】
次に、Ｃ色、Ｍ色、Ｙ色、Ｋ色の全ての色に関わる１枚目の印字動作が終了した後に、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色の画像処理パス３１０，３２０，３３０，３４０による２枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３０２）。この場合も、４色一括によるＬＵＴ設定が実施されると言える。その後、印字動作（画像処理）が実施される。
【０４０８】
以上説明したように、実施の形態６によれば、共通ＬＵＴデータをＣ色、Ｍ色、Ｙ色、Ｋ色の４つの画像処理パスのそれぞれの画像処理用メモリに設定する場合、ＣＰＵによる４回のライト処理ではなく、ＤＭＡコントローラによる１回のＤＭＡにより共通ＬＵＴデータを取り込み、この共通ＬＵＴデータを４つの画像処理パス同時に更新することができる。つまり共通ＬＵＴデータを、４つの画像処理パスに関わる各画像処理用メモリに同時に格納することができる。
【０４０９】
そのため、実施の形態６によれば、ＬＵＴの更新時間の短縮、ＣＰＵの負荷軽減、メモリパス帯域の削減などの効果が期待できる。
（実施の形態７）
【０４１０】
図３３は、本発明の実施の形態７に係る画像処理装置の機能構成を示している。
【０４１１】
図３３に示す画像処理装置７０は、図２９に示した実施の形態６の画像処理装置６０の機能構成において、配線３６２ａ、配線３６３ａおよび配線３６４ａを削除し、配線３８１、配線３８２、配線３８３および配線３８４を追加した構成になっている。
【０４１２】
なお、図３３において、図２９に示した構成要素と同様の機能を果たす部分には同一の符号を付している。また、図３３においては、第３の画像処理部から外部への配線に符号３７１〜符号３７４を付与している。
【０４１３】
実施の形態７は実施の形態６とは相違する機能部分があるので、次に、その相違する機能について説明する。
【０４１４】
Ｃ用画像処理パス３１０の第３の画像処理部３１３から外部への配線３７１と、Ｍ用画像処理パス３２０におけるＤＭＡコントローラ３２４と画像処理部３２１間の結線３６２とは、配線３８１で接続されている。
【０４１５】
Ｍ用画像処理パス３２０の第３の画像処理部３２３から外部への配線３７２と、Ｙ用画像処理パス３３０におけるＤＭＡコントローラ３３４と画像処理部３３１間の結線３６３とは、配線３８２で接続されている。
【０４１６】
Ｙ用画像処理パス３３０の第３の画像処理部３３３から外部への配線３７３と、Ｋ用画像処理パス３４０におけるＤＭＡコントローラ３４４と画像処理部３４１間の結線３６３とは、配線３８３で接続されている。
【０４１７】
Ｋ用画像処理パス３４０の第３の画像処理部３４３から外部への配線３７４と、Ｃ用画像処理パス３１０におけるＤＭＡコントローラ３１４と画像処理部３１１間の結線３６１とは、配線３８４で接続されている。
【０４１８】
第１の画像処理部３１１は、印刷時においては、入力データに対して第１の画像処理を実施し、画像処理後のデータを第２の画像処理部３１２へ転送する。
【０４１９】
また、第１の画像処理部３１１は、ＬＵＴ設定時においては、コピー元であるときは、管理下の画像処理用メモリ３１１ａから格納ＬＵＴデータをリードして出力し、コピー先であるときは、入力データを管理下の画像処理用メモリ３１１ａに格納する。
【０４２０】
さらに、第１の画像処理部３１１は、ＬＵＴの設定対象でないときは、入力データをそのまま第２の画像処理部３１２へ転送する。
【０４２１】
第２の画像処理部３１２は、印刷時においては、入力データに対して第２の画像処理を実施し、画像処理後のデータを第３の画像処理部３１３へ転送する。
【０４２２】
また、第２の画像処理部３１２は、ＬＵＴ設定時においては、コピー元であるときは、管理下の画像処理用メモリ３１２ａから格納ＬＵＴデータをリードして出力し、コピー先であるときは、入力データを管理下の画像処理用メモリ３１２ａに格納する。
【０４２３】
さらに、第２の画像処理部３１２は、ＬＵＴの設定対象でないときは、入力データをそのまま第２の画像処理部３１３へ転送する。
【０４２４】
第３の画像処理部３１３は、印刷時においては、入力データに対して第３の画像処理を実施し、画像処理後のデータを外部へ転送する。
【０４２５】
また、第３の画像処理部３１３は、ＬＵＴ設定時においては、コピー元であるときは、管理下の画像処理用メモリ３１３ａから格納ＬＵＴデータをリードして出力し、コピー先であるときは、入力データを管理下の画像処理用メモリ３１３ａに格納する。
【０４２６】
さらに、第３の画像処理部３１３は、ＬＵＴの設定対象でないときは、最終段の画像処理部なので配線３８１を使いＭ用画像処理パス３２０の画像処理部３２１へ転送する。
【０４２７】
複数の画像処理用メモリ３１１ａ，３１２ａ，３１３ａは、印刷時には保持しているＬＵＴデータを、対応する画像処理部へ出力する。
【０４２８】
また、複数の画像処理用メモリ３１１ａ，３１２ａ，３１３ａは、ＬＵＴ設定のときに、コピー元である場合には、格納ＬＵＴデータをアドレス順に対応する画像処理部にリードさせ、一方、コピー先の場合は、転送されてくるＬＵＴデータをアドレス順にライトされる。
【０４２９】
さらに、複数の画像処理用メモリ３１１ａ，３１２ａ，３１３ａは、コピー元またはコピー先でない場合は、未使用となる。
【０４３０】
次に、画像処理装置７０のＬＵＴ設定処理について、図３４を参照して説明する。
【０４３１】
図３４は、そのＬＵＴ設定処理の処理手順を示すフローチャートである。
【０４３２】
この例では、Ｍ色用画像処理パス３２０の第２の画像処理部３２２の管理下の画像処理用メモリ３２２ａの内容を、Ｙ色用画像処理パス３３０の第２の画像処理部３３２の管理下の画像処理用メモリ３３２ａにコピーする場合を想定する。この場合、Ｍ色用画像処理パス３２０が最優先の画像処理パスとなる。
【０４３３】
このＬＵＴ設定処理はソフトウェア側の処理とハードウェア側の処理とに分けられるので、最初にソフトウェア側の処理つまりＣＰＵ３６０による処理について説明する。
【０４３４】
ＣＰＵ３６０は、コピー元の画像処理パス例えばＭ用画像処理パス３２０のＤＭＡコントローラ３２４に対して、更新対象画像処理番号、コピー先の画像処理パス名を設定する（ステップＳ７０１）。
【０４３５】
更新対象画像処理番号は、更新対象のＬＵＴに関わる画像処理を示す番号（画像処理番号）を意味する。すなわち、第１の画像処理を示す画像処理番号１、第２の画像処理を示す画像処理番号２、および第３の画像処理を示す画像処理番号３のうち何れかの画像処理番号である。この例では、更新対象画像処理番号として画像処理番号２が設定される。
【０４３６】
コピー先の画像処理パス名は、コピー先の画像処理パスを示す情報を意味する。すなわち、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３１０，３２０，３３０，３４０のうち何れかの画像処理パスを示すパス名である。
【０４３７】
次に、ＣＰＵ３６０は、コピー元の画像処理パスのＤＭＡコントローラに対して、コピー開始コマンドを発行し（ステップＳ７０２）、その後、ハードウェアからの終了割り込みを待ちつつ、他の処理が割り当てられた場合は当該他の処理を実行するとともに、ハードウェアからの終了割り込みが発行されたときは、当該割り込み等を実行し（ステップＳ７０３）、このＬＵＴ設定処理を終了する。
【０４３８】
ところで、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の各色のうち何れの色に関わる処理を１回目のＬＵＴ更新（設定）とするかで、コピー先の画像処理パス名は、次の（１）〜（４）の４つのパターンに分けられる。
【０４３９】
（１）Ｃ色、Ｍ色、Ｙ色、Ｋ色の順に、ＬＵＴ更新（設定）が行われる場合においては、Ｍ色、Ｙ色、Ｋ色の各色用の画像処理パス３２０，３３０，３４０のうち何れかの画像処理パスを示すパス名である。
【０４４０】
この場合、Ｃ色に関わる処理のときは、外部メモリ３７０からリードされたＬＵＴデータが使用されるので、コピー処理は行われない。
【０４４１】
また、Ｍ色に関わる処理のときは、コピー処理が行われることになり、コピー元の画像処理パスはＣ用画像処理パス３１０で、コピー先の画像処理パスはＭ用画像処理パス３２０となる。
【０４４２】
また、Ｙ色に関わる処理のときは、コピー処理が行われることになり、コピー元の画像処理パスはＭ用画像処理パス３２０で、コピー先の画像処理パスはＹ用画像処理パス３３０となる。
【０４４３】
さらに、Ｋ色に関わる処理のときは、コピー処理が行われることになり、コピー元の画像処理パスはＹ用画像処理パス３３０で、コピー先の画像処理パスはＫ用画像処理パス３４０となる。
【０４４４】
（２）Ｍ色、Ｙ色、Ｋ色、Ｃ色の順に、ＬＵＴ更新（設定）が行われる場合においては、Ｙ色、Ｋ色、Ｃ色の各色用の画像処理パス３１０，３３０，３４０のうち何れかの画像処理パスを示すパス名である。
【０４４５】
この場合、Ｍ色に関わる処理のときは、外部メモリ３７０からリードされたＬＵＴデータが使用されるので、コピー処理は行われない。
【０４４６】
また、Ｙ色に関わる処理のときは、コピー処理が行われることになり、コピー元の画像処理パスはＭ用画像処理パス３２０で、コピー先の画像処理パスはＹ用画像処理パス３３０となる。
【０４４７】
また、Ｋ色に関わる処理のときは、コピー処理が行われることになり、コピー元の画像処理パスはＹ用画像処理パス３３０で、コピー先の画像処理パスはＫ用画像処理パス３４０となる。
【０４４８】
さらに、Ｃ色に関わる処理のときは、コピー処理が行われることになり、コピー元の画像処理パスはＫ用画像処理パス３４０で、コピー先の画像処理パスはＣ用画像処理パス３１０となる。
【０４４９】
（３）Ｙ色、Ｋ色、Ｃ色、Ｍ色の順に、ＬＵＴ更新（設定）が行われる場合においては、Ｋ色、Ｃ色、Ｍ色の各色用の画像処理パス３１０，３２０，３４０のうち何れかの画像処理パスを示すパス名である。この場合も、上記（１）、（２）の場合と同様にして、コピー元の画像処理パスとコピー先の画像処理パスが決定される。
【０４５０】
（４）Ｋ色、Ｃ色、Ｍ色、Ｙ色の順に、ＬＵＴ更新（設定）が行われる場合においては、Ｃ色、Ｍ色、Ｙ色の各色用の画像処理パス３１０，３２０，３３０のうち何れかの画像処理パスを示すパス名である。この場合も、上記（１）、（２）の場合と同様にして、コピー元の画像処理パスとコピー先の画像処理パスが決定される。
【０４５１】
この例では、上記（１）の処理パターンでＬＵＴ更新（設定）が行われるようになっており、また、コピー元はＭ色用画像処理パス３２０で、コピー先はＹ色用画像処理パス３３０であり、さらに更新対象画像処理番号として画像処理番号２が設定される。
【０４５２】
次に、ハードウェア側の処理について説明する。
【０４５３】
コピー元のＭ用画像処理パス３２０のＤＭＡコントローラ３２４はコピー開始コマンドの入力を受けて、更新対象画像処理番号およびコピー先の画像処理パス名を基に、コピー元の画像処理部３２２に対してＬＵＴリード開始を通知するとともに、コピー先の画像処理部３３２に対してＬＵＴライト開始を通知し、さらに、コピー元またはコピー先の画像処理部以外の画像処理部へは入力データの転送を通知する（ステップＳ７１１）。
【０４５４】
コピー元の画像処理部３２２およびコピー先の画像処理部３３２は、コピー元のＭ用画像処理パス３２０のＤＭＡコントローラ３２４からのコピー開始コマンドの通知を受けて、内部のパラメータを初期化する（ステップＳ７１２）。
【０４５５】
すなわち、コピー元の画像処理部３２２は、コピー開始コマンドの通知を受けて、内部のパラメータを初期化する。具体的には以下の通り更新する。
【０４５６】
リード数（次のリードアドレス）＝０
【０４５７】
コピー先の画像処理部３３２は、コピー開始コマンドの通知を受けて、内部のパラメータを初期化する。具体的には以下の通り更新する。
【０４５８】
ライト数（次のライトアドレス）＝０
【０４５９】
次に、コピー元の画像処理部３２２は、管理下の画像処理用メモリ３２２ａからアドレス順に１単位ＬＵＴデータを取り出し、この取り出した１単位ＬＵＴデータを出力すると同時に、リード数（次のアドレス）を更新する（ステップＳ７１３）。具体的には以下の通り更新する。
【０４６０】
リード数＝リード数＋１単位
【０４６１】
ここで、この例では、コピー元の画像処理部３２２から出力された１単位ＬＵＴデータは、コピー元のＭ用画像処理パス３２０の画像処理部３２３に入力され、続いて配線３７２および配線３８２を経由して、コピー先のＹ用画像処理パス３３０の画像処理部３３１に入力され、さらにコピー先のＹ用画像処理パス３３０のコピー先の画像処理部３３２に入力される。
【０４６２】
この場合、コピー元のＭ用画像処理パス３２０の画像処理部３２３、およびコピー先のＹ用画像処理パス３３０の画像処理部３３１は、更新対象外の画像処理部であるので、これらの更新対象外の画像処理部は、入力データを加工せずにそのまま次の画像処理部へ転送する（ステップＳ７１４）。
【０４６３】
そして、コピー先の画像処理部３３２は、入力された１単位ＬＵＴデータを管理下の画像処理用メモリ３３２ａにアドレス順に格納すると同時に、ライト数（次のライトアドレス）を更新する（ステップＳ７１５）。具体的には以下の通り更新する。
【０４６４】
ライト数＝ライト数＋１単位
【０４６５】
コピー先の画像処理部３３２は、更新した更新後のライト数が管理下の画像処理用メモリ３３２ａのサイズと等しくなったか否かを判断し（ステップＳ７１６）、この判断した結果、更新した更新後のライト数と管理下の画像処理用メモリ３３２ａのサイズとが等しくなった場合は、コピー元のＭ用画像処理パス３２０のＤＭＡコントローラ３２４に対して転送終了を通知する（ステップＳ７１７）。
【０４６６】
ステップＳ７１６において、更新した更新後のライト数と画像処理用メモリ３３２ａのサイズとが等しくないと判断された場合は、上記ステップＳ７１３に戻る。
【０４６７】
転送終了通知を受け取ったコピー元のＭ用画像処理パス３２０のＤＭＡコントローラ３２４は、全ての画像処理部つまり第１〜第３の画像処理部（Ｃ色、Ｍ色、Ｙ色、Ｋ色）に対して、ＬＵＴ更新（設定）作業の終了を通知するとともに、通常の画像処理開始を通知する（ステップＳ７１８）。
【０４６８】
ステップＳ７１８を終了したコピー元のＭ用画像処理パス３２０のＤＭＡコントローラ３２４はＬＵＴ更新作業が終了したことを示す割り込み、または終了ステータスを、ＣＰＵ３６０へ発行する（ステップＳ７１９）。
【０４６９】
他の作業中であったＣＰＵ３６０は、例えば割り込みを受けてＬＵＴ更新作業が終了したことを認識し（ステップＳ７０３）、このＬＵＴ設定処理を終了する。
【０４７０】
次に、画像処理装置７０のＬＵＴ設定処理の際のＬＵＴデータの流れについて、図３５を参照して説明する。
【０４７１】
図３５は、そのＬＵＴ設定処理の際のＬＵＴデータの流れを説明する図である。なお、図３５において、画像処理装置７０は図３３に示す画像処理装置７０の機能構成と同一であるが、一部、符号を省略している。
【０４７２】
さて、ここでは、Ｍ色用画像処理パス３２０の第２の画像処理部３２２の管理下の画像処理用メモリ３２２ａの内容を、Ｙ色用画像処理パス３３０の第２の画像処理部３３２の管理下の画像処理用メモリ３３２ａにコピーする場合を想定する。
【０４７３】
このような前提条件の下では、画像処理装置７０は、次の（１）〜（６）の各処理を実行することで、ＬＵＴを更新（設定）する。
【０４７４】
（１）ＣＰＵ３６０は、コピー元のＭ用画像処理パス３２０のＤＭＡコントローラ３２４に対し、画像処理部３２２からＹ用画像処理パス３３０へコピーするようコピー開始コマンドを発行する。
【０４７５】
（２）ＤＭＡコントローラ３２４は、更新対象の画像処理部３２２にＬＵＴリード開始を通知する。
【０４７６】
（３）コピー元のＭ用画像処理パス３２０の画像処理部３２２は、管理下の画像処理用メモリ３２２ａからアドレス順に１単位ＬＵＴデータをリードし、このリードした１単位ＬＵＴデータを次段の画像処理部３２３へ出力していく。
【０４７７】
（４）コピー元のＭ用画像処理パス３２０の画像処理部３２３は、更新対象ではないので、入力された１単位ＬＵＴデータをそのままコピー先のＹ用画像処理パス３３０の画像処理部３３１へ出力する。
【０４７８】
（５）コピー先のＹ用画像処理パス３３０の画像処理部３３１は、更新対象ではないので、入力された１単位ＬＵＴデータをそのままコピー先のＹ用画像処理パス３３０の画像処理部３３２へ出力する。
【０４７９】
（６）コピー先のＹ用画像処理パス３３０の画像処理部３３２は、更新対象なので、届いた１単位ＬＵＴデータを、管理下の画像処理用メモリ３３２ａにアドレス順に書き込んでいく。
【０４８０】
そして、上記（１）〜（６）の各処理を繰り返すことにより、外部メモリ３７０にアクセスすることなく、Ｙ用画像処理パス３３０の画像処理部３３２の管理下の画像処理用メモリ３３２ａにＬＵＴデータを設定することができる。
【０４８１】
また、上記（１）〜（６）の各処理の場合と同様にして、コピー元のＹ用画像処理パス３３０の画像処理部３３２からコピー先のＫ用画像処理パス３４０の画像処理部３４２へ１単位ＬＵＴデータをコピーしていくことで、外部メモリ３７０にアクセスすることなく、Ｋ用画像処理パス３４０の画像処理部３４２の管理下の画像処理用メモリ３４２ａにＬＵＴデータを設定することができる。
【０４８２】
このように、Ｃ用画像処理パス３１０の画像処理部３１２の管理下の画像処理用メモリ３１２ａにＬＵＴデータを設定するときに、Ｃ用画像処理パス３１０のＤＭＡコントローラ３１４が、外部メモリ３７０へアクセスするのみで、Ｍ色、Ｙ色、Ｋ色の各色の画像処理パスに関わるＬＵＴの設定はコピー処理でよいこととなる。
【０４８３】
ところで、画像処理装置７０によるＬＵＴ設定と印字動作は、図３６に示すようなタイミングで実施されることになる。
【０４８４】
（１）実施の形態６で説明したように、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色の画像処理パス３１０，３２０，３３０，３４０による１枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３１１）。これは、４色一括によるＬＵＴ設定が実施されると言える。
【０４８５】
（２）Ｃ用画像処理パス３１０に関わる１枚目の印字動作が終了したときは、他のＭ色、Ｙ色、Ｋ色の画像処理パスが１枚目の印字動作の最中であっても、実施の形態６で説明したように、Ｃ色の画像処理パス３１０のみによる２枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３１２）。つまり外部メモリ３７０からＣ用画像処理パス３１０にＬＵＴデータが取り込まれ、Ｃ用画像処理パス３１０に書き込まれていく。
【０４８６】
（３）Ｍ用画像処理パス３２０に関わる１枚目の印字動作が終了したときは、他のＹ色、Ｋ色の画像処理パスが１枚目の印字動作の最中であっても、実施の形態７で説明したように、Ｃ色の画像処理パス３１０からＭ用画像処理パス３２０へＬＵＴデータがコピーされ、２枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３１３）。
【０４８７】
（４）Ｙ用画像処理パス３３０に関わる１枚目の印字動作が終了したときは、他のＫ色の画像処理パスが１枚目の印字動作の最中であっても、上記（３）の場合と同様に、Ｍ色の画像処理パス３２０からＹ用画像処理パス３３０へＬＵＴデータがコピーされ、２枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３１４）。
【０４８８】
（５）最後に、Ｋ用画像処理パス３４０に関わる１枚目の印字動作が終了したときは、上記（３）の場合と同様に、Ｙ色の画像処理パス３３０からＹ用画像処理パス３４０へＬＵＴデータがコピーされ、２枚目の印字のための処理に関わるＬＵＴ設定が実施される（Ｐ３１５）。
【０４８９】
このように、タンデムエンジンにおいては、４色（Ｃ色、Ｍ色、Ｙ色、Ｋ色）の何れかが動作中で４つの画像処理用メモリに同時に書き込むことができない期間があるが、本実施の形態７の例の如く、ある色に設定したＬＵＴを他の色の画像処理用メモリにコピーすることで、４色一括によるＬＵＴの設定ができない期間が存在する場合にも対応することが可能である。
【０４９０】
以上説明したように、実施の形態７によれば、共通ＬＵＴデータをＣ色、Ｍ色、Ｙ色、Ｋ色の４つの画像処理パスのそれぞれの画像処理用メモリに設定する場合、ＣＰＵによる４回のライト処理ではなく、ＤＭＡコントローラによる１回のＤＭＡにより共通ＬＵＴデータを取り込み、この共通ＬＵＴデータを所定の色の画像処理部に取り込み、その後、取り込んだＬＵＴデータを、他の色の画像処理パスへコピーすることができるので、ＬＵＴの更新時間の短縮、ＣＰＵの負荷軽減、メモリバス帯域の削減などを期待できる。
【０４９１】
ところで、タンデムエンジンにおいては、４色（Ｃ色、Ｍ色、Ｙ色、Ｋ色）の何れかが印字動作（画像処理）中で、４つの画像処理用メモリに同時にＬＵＴデータを書き込むことができない期間が存在する。この場合は、４色に関わる印字動作（画像処理）が終了するまで、ＬＵＴの設定処理が実施されないことになる。
【０４９２】
しかし、実施の形態７によれば、所定の色に関わる画像処理用メモリに設定したＬＵＴを他の色に関わる画像処理用メモリにコピーすることができるので、前述したＬＵＴを４色一括で設定できない期間が存在する場合においても、既に印字動作（画像処理）を終了している画像処理パスに対してはＬＵＴの設定処理を実施することができる。
【０４９３】
また、実施の形態７によれば、画像処理パスの印字動作が終了した後に、ＬＵＴデータのコピーが開始されるようなハードウェア構成にすることにより、さらにＣＰＵの負荷を軽減することが可能になる。
（実施の形態８）
【０４９４】
図３７は本発明の実施の形態８に係る画像処理装置の機能構成を示している。
【０４９５】
図３７に示すように、画像処理装置８０は、画像処理回路４００と、外部メモリ４１０と、ＣＰＵ（中央演算処理装置）４２０とを有している。
【０４９６】
外部メモリ４１０は、テーブル情報を格納するメモリなどの外部記憶領域であり、ＤＲＡＭ（保持記憶動作が必要な随時書き込み読み出しメモリ）、ＲＯＭ（読み出し専用メモリ）のように複数のデバイスが存在していても構わない。
【０４９７】
また、外部メモリ（第１の記憶手段、第２の記憶手段）４１０は、シアンの色成分に対応するＬＵＴを記憶する第１の記憶手段の機能と、マゼンタの色成分に対応するＬＵＴに関わる第１の差分テーブルと、イエローの色成分に対応するＬＵＴに関わる第２の差分テーブルとを記憶する第２の記憶手段の機能とを有している。
【０４９８】
すなわち、外部メモリ４１０は、Ｃ色のＬＵＴ（基本テーブル＝テーブルＣ）４１１、Ｍ色に関わる第１の差分テーブル（差分テーブルＭ）４１２およびＹ色に関わる第２の差分テーブル（差分テーブルＹ）４１３、ブラックの色成分に対応するＬＵＴ（テーブルＫ）４１４を予め記憶するとともに、実際に画像処理を行う３原色（Ｇ，Ｂ，Ｒ）のデータ（以下「ＲＧＢデータという。）４１５を記憶する。
【０４９９】
ＣＰＵ（中央演算処理装置）４２０は、後述するメモリコントローラ４０７を経由して、ＤＭＡコントローラ４０１，４０２に、テーブル情報の格納場所情報（アドレス）やデータサイズなど、必要な情報を設定する。
【０５００】
画像処理回路４００は、ＤＭＡコントローラ４０１，４０２、差分演算回路４０３、ＬＵＴ用メモリ４０４、座標回転部４０５、画像処理部４０６を備えている。
【０５０１】
ＤＭＡコントローラ（アクセス制御手段）４０１は、メモリコントローラ４０７を経由して、ダイレクトメモリアクセス（ＤＭＡ）により、ＣＰＵ４２０によって設定されたアドレスを基に、ルックアップテーブル（ＬＵＴ）に関わる基本テーブルあるいは差分テーブルを外部メモリ４１０から取り込み、この取り込んだ情報をＬＵＴ差分回路４０３へ転送する。
【０５０２】
差分演算回路（演算処理手段）４０３は、ＤＭＡコントローラ４０１から転送されてきた情報が基本テーブルの場合には、そのままＬＵＴ用メモリ４０４に書き込む。
【０５０３】
具体的には、ＤＭＡコントローラ４０１から出力されたＬＵＴ例えばシアンの色成分に対応するＬＵＴとしての基本テーブルを取得したときは、当該基本テーブルをＬＵＴ用メモリ４０４に書き込む。
【０５０４】
また、差分演算回路４０３は、上記転送されてきた情報が差分テーブル情報つまり所定のＬＵＴとの差分の結果としての差分テーブルである場合は、その差分テーブル情報とＬＵＴ用メモリ４０４に既に設定されている値とで演算を行うとともに、この演算した結果をＬＵＴ用メモリ４０４に書き込み、さらにＬＵＴ用メモリ４０４の更新が終了した場合に、ＣＰＵ４２０に対して更新終了を通知する。
【０５０５】
具体的には、ＤＭＡコントローラ４０１から出力された差分テーブル例えば上記第１の差分テーブルを取得したときは、当該第１の差分テーブルとＬＵＴ用メモリ４０４から読み出したシアンの色成分に対応するＬＵＴとを演算処理し、この演算処理した結果を、新たなＬＵＴすなわちマゼンタの色成分に対応するＬＵＴとしてＬＵＴ用メモリ４０４に書き込む。
【０５０６】
また、ＤＭＡコントローラ４０１から出力された差分テーブル例えば上記第２の差分テーブルを取得したときは、当該第２の差分テーブルとＬＵＴ用メモリ４０４から読み出したマゼンタの色成分に対応するＬＵＴとを演算処理し、この演算処理した結果を、新たなＬＵＴすなわちイエローの色成分に対応するＬＵＴとしてＬＵＴ用メモリ４０４に書き込む。
【０５０７】
ＬＵＴ用メモリ（ルックアップテーブル記憶手段）４０４は、画像処理時に参照されるＬＵＴを記憶する。
【０５０８】
すなわち、ＬＵＴ用メモリ４０４には、シアンの色成分に対応するＬＵＴ、マゼンタの色成分に対応するＬＵＴ、イエローの色成分に対応するＬＵＴ、ブラックの色成分に対応するＬＵＴが、差分演算回路４０３によって時系列に書き込まれることになる。
【０５０９】
ＤＭＡコントローラ４０１は、時系列にＬＵＴ用メモリ４０４へのＬＵＴの更新が終了すると、ＬＵＴの更新が終了した旨をＣＰＵ４２０へ通知する。
【０５１０】
ＤＭＡコントローラ４０２は、画像処理時に使用されるものであり、メモリコントローラ４０７を経由して、ダイレクトメモリアクセス（ＤＭＡ）により、外部メモリ４１０上のデータを取り込み、この取り込んだデータを座標回転部４０５へ転送する。
【０５１１】
座標回転部（座標回転手段）４０５は、入力データ（ＲＧＢデータ）が３原色（Ｒ，Ｇ，Ｂ）の２４ｂｉｔ形式であった場合、８ｂｉｔごとに、画像処理部４０６へのデータを３原色（Ｒ，Ｇ，Ｂ）、３原色（Ｇ，Ｂ，Ｒ）、３原色（Ｂ，Ｒ，Ｇ）のように３原色のデータを回転させる機能を有する。
【０５１２】
画像処理部（画像処理手段）４０６が、座標回転部４０５からの３原色のデータ（ＲＧＢデータ）とＬＵＴ用メモリ４０４の記憶内容とを基に所定の画像処理を行う。
【０５１３】
本実施の形態８では、画像処理装置は、例えば、シアン（Ｃ）色、マゼンタ（Ｍ）色、イエロー（Ｙ）色、ブラック（Ｋ）色の各色単位ごとに時系列で処理を分割して実行する画像処理装置例えば４サイクル方式のプリンタ（あるいはそのプリンタコントローラ）を想定している。
【０５１４】
このような４サイクル方式プリンタにおいては、図３７に示す例の如く、画像処理回路４００にＬＵＴ用メモリを１色分（ＬＵＴを１色分）しか実装しない場合、図３８に示すように、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色ごとの画像処理Ｐ４１１，Ｐ４１２，Ｐ４１３，Ｐ４１４の開始前に、ＣＰＵ４２０によって、所定のタイミングでＬＵＴ更新作業Ｐ４１１Ｃ，Ｐ４１２Ｍ，Ｐ４１３Ｙ，Ｐ４１４Ｋが発生する。
【０５１５】
このとき、処理をする色の順番は装置で固定となるため、ＬＵＴの更新時は、前に処理した色のＬＵＴと、その色のＬＵＴとの予め設定される差分情報）とを演算し、この演算した結果を基に更新する。
【０５１６】
そして、３原色（Ｇ，Ｂ，Ｒ）の入力信号をＣ色、Ｍ色、Ｙ色、Ｋ色の順で色変換を行う場合においては、ＬＵＴの設定に関し、Ｃ色のＣ色用ＬＵＴと、そのＣ用ＬＵＴとの予め設定される第１の差分情報とを演算することでＭ色のＭ用ＬＵＴを得ることができ、また、そのＭ用ＬＵＴと、そのＭ用ＬＵＴとの予め設定される第２の差分情報とを演算することでＹ色のＹ用ＬＵＴを得ることができる。
【０５１７】
本実施の形態８では、第１の差分情報が第１の差分テーブル（差分テーブルＭ）４１２として、また第２の差分情報が第２の差分テーブル（差分テーブルＹ）４１３として、外部メモリ４１０に予め記憶されている。
【０５１８】
ところで、３原色（Ｇ，Ｂ，Ｒ）と、Ｃ色、Ｍ色、Ｙ色、Ｋ色の各色との関係においては、Ｃ＝ｎｏｔ（Ｒ）、Ｇ＝ｎｏｔ（Ｙ）、Ｂ＝ｎｏｔ（Ｍ）で近似される。このような特徴を生かし、図３９に示すように、入力ＲＧＢの配列を回転させると、Ｍ用の差分テーブルとＹ用の差分テーブルの情報量を少なくすることができる。
【０５１９】
図３９において、項目５１０はシアン色のＬＵＴの設定値に関する情報であり、項目５２０はマゼンタ色のＬＵＴの設定値に関する情報であり、項目５３０はイエロー色のＬＵＴの設定値に関する情報である。
【０５２０】
項目５１０においては、入力軸を（Ｒ，Ｇ，Ｂ）とした場合の入力値（Ｒ，Ｇ，Ｂ）５１１と、ＬＵＴ設定値（ＬＵＴ設定値Ｃ）５１２との関係を示している。
【０５２１】
項目５２０においては、入力軸を（Ｒ，Ｇ，Ｂ）から（Ｇ，Ｂ，Ｒ）へ回転させた場合の入力値（Ｇ，Ｂ，Ｒ）５２１と、ＬＵＴ設定値（ＬＵＴ設定値Ｍ）５２２と、第１の差分テーブル値（ＬＵＴ設定値Ｃ−ＬＵＴ設定値Ｍ）５２３との関係を示している。
【０５２２】
項目５３０においては、入力軸を（Ｒ，Ｇ，Ｂ）から（Ｂ，Ｒ，Ｇ）へ回転させた場合の入力値（Ｂ，Ｒ，Ｇ）５３１と、ＬＵＴ設定値（ＬＵＴ設定値Ｙ）５３２と、第２の差分テーブル値（ＬＵＴ設定値Ｍ−ＬＵＴ設定値Ｙ）５３３との関係を示している。
【０５２３】
そして、ＬＵＴ設定値５１２が図３７のＣ色のＬＵＴ（テーブルＣ）４１１として、第１の差分テーブル値５２３が図３７の第１の差分テーブル（差分テーブルＭ）４１２として、第２の差分テーブル値５３３が図３７の第２の差分テーブル（差分テーブルＹ）４１３として、それぞれ外部メモリ４１０に記憶される。
【０５２４】
この場合、入力信号（Ｒ，Ｇ，Ｂ）の配列を回転させることにより、Ｍ色の差分テーブル（第１の差分テーブル値５２３＝第１の差分テーブル４１２）、Ｙ色の差分テーブル（第２の差分テーブル値５３３＝第２の差分テーブル４１３）の情報量を少なくすることができるので、外部メモリ４１０のメモリ容量を節約することが可能となる。
【０５２５】
従って、本実施の形態８では、画像処理部４０６による画像処理のときに、座標回転部４０５によって入力信号（Ｒ，Ｇ，Ｂ）の配列を回転させることを条件に、上述したＭ色の差分テーブルおよびＹ色の差分テーブルを作成して外部メモリ４１０に予め格納するようにしている。
【０５２６】
次に、画像処理装置８０のＬＵＴ設定処理について、図４０を参照して説明する。
【０５２７】
図４０は、そのＬＵＴ設定処理の処理手順を示すフローチャートである。
【０５２８】
ここでは、入力信号（Ｒ，Ｇ，Ｂ）を、Ｃ色、Ｍ色、Ｙ色、Ｋ色の順に色変換する場合を想定する。
【０５２９】
（１）入力信号（Ｒ，Ｇ，Ｂ）からＣ色への色変換（Ｃ成分のＬＵＴ設定および画像処理）について
【０５３０】
ＣＰＵ４２０は、メモリコントローラ４０７を介して、ＤＭＡコントローラ４０１に対して、Ｃ色のＬＵＴ（基本テーブル＝テーブルＣ）４１１の格納アドレスを設定し、Ｃ成分のＬＵＴ更新を起動させる（ステップＳ８０１）。
【０５３１】
ＤＭＡコントローラ４０１は、設定された格納アドレスを基に、ＤＭＡにより、メモリコントローラ４０７を介して、外部メモリ４１０からＣ色のＬＵＴ４１１を取り込み（ステップＳ８０２）、この取り込んだＣ色のＬＵＴ４１１を差分演算回路４０３に転送する。
【０５３２】
差分演算回路４０３は、転送されてきたＣ色のＬＵＴ４１１が基本テーブルであるので、そのままＬＵＴ用メモリ４０４に書き込み（ステップＳ８０２）、Ｃ色のＬＵＴ４１１の書き込みが完了したら、その旨をＤＭＡコントローラ４０１へ通知する。
【０５３３】
ＤＭＡコントローラ４０１は、差分演算回路４０３からの書き込みが完了した旨を受け取ったか否か（ＬＵＴの更新が完了したか否か）を判断し（ステップＳ８０３）、この判断した結果、ＬＵＴの更新が完了していない場合にはステップＳ８０２に戻り、一方、ＬＵＴの更新が完了した場合、ＬＵＴの更新が完了した旨を示す割り込みを、メモリコントローラ４０７を介してＣＰＵ４２０へ通知する。
【０５３４】
ＬＵＴの更新完了に関わる割り込みを受け取ったＣＰＵ４２０は、その割り込み処理を実行し（ステップＳ８０４）、その後、メモリコントローラ４０７を介して、ＤＭＡコントローラ４０２に対して、ＲＧＢデータ４１５の格納アドレスを設定し、Ｃ成分の画像処理を起動させる（ステップＳ８０５）。
【０５３５】
ＤＭＡコントローラ４０２は、設定された格納アドレスを基に、ＤＭＡにより、メモリコントローラ４０７を介して、外部メモリ４１０からＲＧＢデータ４１５を取り込み（ステップＳ８０６）、この取り込んだＲＧＢデータ４１５を座標回転部４０５に転送する。
【０５３６】
座標回転部４０５は、転送されてきたＲＧＢデータ（Ｒ，Ｇ，Ｂ）４１５を、そのまま画像処理部４０６へ転送する。
【０５３７】
画像処理部４０６は、転送されてきたＲＧＢデータ４１５と、ＬＵＴメモリ４０４から読み出したＬＵＴつまりＣ色のＬＵＴ（基準テーブル）４１１とを基に画像処理、すなわち、ＲＧＢデータ４１５を、３原色（Ｒ，Ｇ、Ｂ）からＣ成分の色に色変換する（ステップＳ８０６）。
【０５３８】
画像処理部４０６は、画像処理（Ｃ成分の色への色変換）が終了したら、その旨をＤＭＡコントローラ４０２へ通知する。
【０５３９】
ＤＭＡコントローラ４０２は、画像処理部４０６からの画像処理が終了した旨を受け取ったか否かを判断し（ステップＳ８０７）、この判断した結果、画像処理が終了した旨を受け取っていない場合にはステップＳ８０６に戻り、一方、画像処理が終了した旨を受け取った場合は、画像処理が終了した旨を示す割り込みを、メモリコントローラ４０７を介してＣＰＵ４２０へ通知する。
【０５４０】
（２）入力信号（Ｒ，Ｇ，Ｂ）からＭ色への色変換（Ｍ成分のＬＵＴ設定および画像処理）について
【０５４１】
画像処理（Ｃ成分の色への色変換）が終了した旨を示す割り込みを受け取ったＣＰＵ４２０は、その割り込みを実行し（ステップＳ８０８）、その後、メモリコントローラ４０７を介して、ＤＭＡコントローラ４０１に対して、第１の差分テーブル（差分テーブルＭ）４１２の格納アドレスを設定し、Ｍ成分のＬＵＴ更新を起動させる（ステップＳ８０９）。
【０５４２】
ＤＭＡコントローラ４０１は、設定された格納アドレスを基に、ＤＭＡにより、メモリコントローラ４０７を介して、外部メモリ４１０から第１の差分テーブル（差分テーブルＭ）４１２を取り込み（ステップＳ８１０）、この取り込んだ第１の差分テーブル（差分テーブルＭ）４１２を差分演算回路４０３に転送する。
【０５４３】
差分演算回路４０３は、ＬＵＴ用メモリ４０４からＣ色のＬＵＴ（基準テーブル）４１１のＬＵＴ設定値（ＬＵＴデータ）を読み出し（ステップＳ８１１）、この読み出したＣ色のＬＵＴ（基準テーブル）４１１のＬＵＴ設定値と、転送されてきた第１の差分テーブル（差分テーブルＭ）４１２とを演算して、新たなＬＵＴつまりＭ成分のＬＵＴのＬＵＴ設定値（ＬＵＴデータ）を作成し（ステップＳ８１２）、この演算結果（Ｍ成分のＬＵＴのＬＵＴ設定値）をＬＵＴ用メモリ４０４に書き込む（ステップＳ８１３）。
【０５４４】
差分演算回路４０３は、Ｍ成分のＬＵＴのＬＵＴ設定値の書き込みが完了したら、その旨をＤＭＡコントローラ４０１へ通知する。
【０５４５】
ＤＭＡコントローラ４０１は、差分演算回路４０３からの書き込みが完了した旨を受け取ったか否か（ＬＵＴの更新が完了したか否か）を判断し（ステップＳ８１４）、この判断した結果、ＬＵＴの更新が完了していない場合にはステップＳ８１０に戻り、一方、ＬＵＴの更新が完了した場合、ＬＵＴの更新が完了した旨を示す割り込みを、メモリコントローラ４０７を介してＣＰＵ４２０へ通知する。
【０５４６】
ＬＵＴの更新完了に関わる割り込みを受け取ったＣＰＵ４２０は、その割り込み処理を実行し（ステップＳ８１５）、その後、メモリコントローラ４０７を介して、ＤＭＡコントローラ４０２に対して、ＲＧＢデータ４１５の格納アドレスを設定し、Ｍ成分の画像処理を起動させる（ステップＳ８１６）。
【０５４７】
ＤＭＡコントローラ４０２は、設定された格納アドレスを基に、ＤＭＡにより、メモリコントローラ４０７を介して、外部メモリ４１０からＲＧＢデータ４１５を取り込み（ステップＳ８１７）、この取り込んだＲＧＢデータ４１５を座標回転部４０５に転送する。
【０５４８】
座標回転部４０５は、転送されてきたＲＧＢデータ４１５の配列を、（Ｒ，Ｇ，Ｂ）から（Ｇ，Ｂ，Ｒ）へ回転させ、回転後のＲＧＢデータ（Ｇ，Ｂ，Ｒ）４１５を画像処理部４０６へ転送する。
【０５４９】
画像処理部４０６は、転送されてきたＲＧＢデータ４１５と、ＬＵＴメモリ４０４から読み出したＬＵＴつまりＭ成分のＬＵＴとを基に画像処理、すなわち、ＲＧＢデータ４１５を、３原色（Ｒ，Ｇ、Ｂ）からＭ成分の色に色変換する（ステップＳ８１７）。
【０５５０】
画像処理部４０６は、画像処理（Ｍ成分の色への色変換）が終了したら、その旨をＤＭＡコントローラ４０２へ通知する。
【０５５１】
ＤＭＡコントローラ４０２は、画像処理部４０６からの画像処理が終了した旨を受け取ったか否かを判断し（ステップＳ８０７）、この判断した結果、画像処理が終了した旨を受け取っていない場合にはステップＳ８１７に戻り、一方、画像処理が終了した旨を受け取った場合は、画像処理が終了した旨を示す割り込みを、メモリコントローラ４０７を介してＣＰＵ４２０へ通知する。
【０５５２】
（３）入力信号（Ｒ，Ｇ，Ｂ）からＹ色への色変換（Ｙ成分のＬＵＴ設定および画像処理）について
【０５５３】
画像処理（Ｍ成分の色への色変換）が終了した旨を示す割り込みを受け取ったＣＰＵ４２０は、その割り込みを実行し（ステップＳ８１９）、その後、メモリコントローラ４０７を介して、ＤＭＡコントローラ４０１に対して、第２の差分テーブル（差分テーブルＹ）４１３の格納アドレスを設定し、Ｙ成分のＬＵＴ更新を起動させる（ステップＳ８２０）。
【０５５４】
ＤＭＡコントローラ４０１は、設定された格納アドレスを基に、ＤＭＡにより、メモリコントローラ４０７を介して、外部メモリ４１０から第２の差分テーブル（差分テーブルＹ）４１３を取り込み（ステップＳ８２１）、この取り込んだ第２の差分テーブル（差分テーブルＹ）４１３を差分演算回路４０３に転送する。
【０５５５】
差分演算回路４０３は、ＬＵＴ用メモリ４０４からＭ成分のＬＵＴのＬＵＴ設定値（ＬＵＴデータ）を読み出し（ステップＳ８２２）、この読み出したＭ色のＬＵＴのＬＵＴ設定値と、転送されてきた第２の差分テーブル（差分テーブルＹ）４１３とを演算して、新たなＬＵＴつまりＹ成分のＬＵＴのＬＵＴ設定値（ＬＵＴデータ）を作成し（ステップＳ８２３）、この演算結果（Ｙ成分のＬＵＴのＬＵＴ設定値）をＬＵＴ用メモリ４０４に書き込む（ステップＳ８２４）。
【０５５６】
差分演算回路４０３は、Ｙ成分のＬＵＴのＬＵＴ設定値の書き込みが完了したら、その旨をＤＭＡコントローラ４０１へ通知する。
【０５５７】
ＤＭＡコントローラ４０１は、差分演算回路４０３からの書き込みが完了した旨を受け取ったか否か（ＬＵＴの更新が完了したか否か）を判断し（ステップＳ８２５）、この判断した結果、ＬＵＴの更新が完了していない場合にはステップＳ８２１に戻り、一方、ＬＵＴの更新が完了した場合、ＬＵＴの更新が完了した旨を示す割り込みを、メモリコントローラ４０７を介してＣＰＵ４２０へ通知する。
【０５５８】
ＬＵＴの更新完了に関わる割り込みを受け取ったＣＰＵ４２０は、その割り込み処理を実行し（ステップＳ８２６）、Ｍ成分の画像処理の場合と同様にして、ＤＭＡコントローラ４０２に対してＹ成分の画像処理を起動させる。
【０５５９】
その後、画像処理用回路４００では、Ｍ成分の画像処理の場合と同様にして、Ｙ成分の画像処理を実行する。なお、この場合、座標回転部４０５では、転送されてきたＲＧＢデータ４１５の配列を、（Ｒ，Ｇ，Ｂ）から（Ｂ，Ｒ，Ｇ）へ回転させ、回転後のＲＧＢデータ（Ｂ，Ｒ，Ｇ）４１５を画像処理部４０６へ転送する。
【０５６０】
（４）入力信号（Ｒ，Ｇ，Ｂ）からＫ色への色変換（Ｋ成分のＬＵＴ設定および画像処理）について
【０５６１】
Ｙ成分の画像処理が終了した場合には、Ｋ成分のＬＵＴ更新およびＫ成分の画像処理については、Ｋ成分の色に関わるＬＵＴの特性は上述したＣ成分、Ｍ成分、Ｙ成分の各色に関わるＬＵＴの特性とは全く異なっているので、Ｃ成分のＬＵＴ更新およびＣ成分の画像処理の場合に、外部メモリ４１０からＫ色に関わるＬＵＴ（テーブルＫ）４１４を取り込んで処理することになる。
【０５６２】
以上説明したように、実施の形態８によれば、複数のＬＵＴの保存するための不揮発性記憶容量を緩和するために基本テーブルと補間テーブルを実装し、基本テーブルと補間テーブルとの演算でＬＵＴの内容を更新するに際し、ファームウェアでのＬＵＴの取り込み、および演算をすることなく、ＤＭＡコントローラによってＬＵＴを取り込み、また演算処理部によって基本テーブルと補間テーブル（差分テーブル）とを演算するようにしているので、ＤＭＡコントローラや演算処理部などのハードウェアによってＬＵＴの更新処理を高速に実施することができる。すなわち、ＬＵＴの設定時間を短縮することができる。
【０５６３】
また、ハードウェアによるＬＵＴの更新中はファームウェアは別の作業を実施することができるため、装置性能を向上させることができる。
【０５６４】
また、実施の形態８によれば、入力される３原色（Ｒ，Ｇ，Ｂ）のデータの配列を回転させた後、画像処理を実施するようにしているので、３原色（Ｒ，Ｇ，Ｂ）のデータの配列を回転させることを条件に、差分テーブルを作成することで、当該差分テーブルの情報量を少なくすることができる。これにより、差分テーブルを予め記憶する外部メモリのメモリ容量をより一層削減するこができる。
（実施の形態９）
【０５６５】
図４１は本発明の実施の形態９に係る画像処理装置の機能構成を示している。
【０５６６】
図４１に示す画像処理装置９０は、図３７に示した実施の形態８の画像処理装置８０の機能構成において、ＤＭＡコントローラ４０２を削除した機能構成になっている。なお、図４１において、図３７に示した構成要素と同様の機能を果たす部分には同一の符号を付している。
【０５６７】
実施の形態９において、ＤＭＡコントローラ４０１は、ＬＵＴ設定用のＤＭＡコントローラの機能と画像処理用のＤＭＡコントローラの機能とを有している。
【０５６８】
すなわち、ＬＵＴの更新と画像処理は時系列で実行するため、ＤＭＡコントローラ４０１は１つのみでよい。
【０５６９】
ＣＰＵ４２０は、画像処理用回路４００に対してＬＵＴ更新モードであることを設定した後、ＤＭＡコントローラ４０１を起動する。このＬＵＴ更新モードでのＬＵＴ更新処理は、実施の形態８のＬＵＴ更新処理と同様であるので、ここではその説明を省略する。
【０５７０】
また、色ごとに、画像処理用回路４００のＤＭＡコントローラ４０１から通知されるＬＵＴの更新終了を受け取ったＣＰＵ４２０は、画像処理用回路４００に対して画像モードであることを設定した後、ＤＭＡコントローラ４０１を起動する。この画像モードでの画像処理は、実施の形態８の画像処理と同様であるので、ここではその説明を省略する。なお、この画像処理においては、ＤＭＡコントローラ４０１が、メモリコントローラ４０７を介して、外部メモリ４１０からＲＧＢデータ４１５を取り込むことになる。
【０５７１】
以上説明したように、実施の形態９によれば、実施の形態８の作用効果に加えて、１つのＤＭＡコントローラによって、ＬＵＴの設定に関わる処理と、画像処理に関わる処理とを時系列に実行するようにしているので、部品点数を削減することができ、画像処理回路を小型化することが可能となる。
【産業上の利用可能性】
【０５７２】
本発明は、ルックアップテーブルを基に画像データなど所定のデータに対し画像処理を施す例えば画像形成装置など電子装置に適用することができる。
【図面の簡単な説明】
【０５７３】
【図１】本発明の実施の形態１に係る画像処理装置の機能構成を示す機能ブロック図である。
【図２】実施の形態１に係る入出力特性を示す図である。
【図３】実施の形態１に係る入出力特性に基づく入出力特性変換表、およびこの入出力特性変換表に対応するＬＵＴデータを説明する図である。
【図４】実施の形態１に係る入出力特性および基本テーブル特性の一例を示す図である。
【図５】実施の形態１に係る入出力特性変換表を基本テーブルと該基本テーブルに対する差分テーブルとに分解した一例を示す図である。
【図６】実施の形態１に係る入出力特性変換表を基本テーブルと該基本テーブルに対する差分テーブルとに分解した一例を示す図である。
【図７】実施の形態１に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図８】実施の形態１に係る画像処理装置の演算処理部の演算処理を説明する図である。
【図９】本発明の実施の形態２に係る画像処理装置の機能構成を示す機能ブロック図である。
【図１０】実施の形態２に係る差分テーブルを第１の差分テーブルと第２の差分テーブルとに分割した一例を示す図である。
【図１１】実施の形態２に係る差分テーブルを第１の差分テーブルと第２の差分テーブルとに分割した一例を示す図である。
【図１２】実施の形態２に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図１３】実施の形態２に係る画像処理装置の演算処理部の演算処理を説明する図である。
【図１４】本発明の実施の形態３に係る画像処理装置の機能構成を示す機能ブロック図である。
【図１５】実施の形態３に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図１６】実施の形態３に係る画像処理装置の演算処理部の演算処理（第１の差分テーブルに関わる処理）を説明する図である。
【図１７】実施の形態３に係る画像処理装置の演算処理部の演算処理（第２の差分テーブルに関わる処理）を説明する図である。
【図１８】実施の形態３に係る画像処理装置の演算処理部の他の演算処理を説明する図である。
【図１９】本発明の実施の形態４に係る画像処理装置の機能構成を示す機能ブロック図である。
【図２０】実施の形態４に係る第１のＬＵＴおよび第２のＬＵＴを示す図である。
【図２１】実施の形態４に係る画像入力データ、第１のＬＵＴ、第２のＬＵＴおよび第１のＬＵＴと第２のＬＵＴとの差分の関係を示す図である。
【図２２】実施の形態４に係る補間テーブルの一例を示す図である。
【図２３】実施の形態４に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図２４】本発明の実施の形態５に係る画像処理装置の機能構成を示す機能ブロック図である。
【図２５】実施の形態５に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図２６】実施の形態５に係る第１のＬＵＴおよび第２のＬＵＴを示す図である。
【図２７】実施の形態５に係る画像入力データ、第１のＬＵＴ、第２のＬＵＴおよび第１のＬＵＴと第２のＬＵＴとの差分の関係を示す図である。
【図２８】実施の形態５に係る補間テーブルの一例を示す図である。
【図２９】本発明の実施の形態６に係る画像処理装置の機能構成を示す機能ブロック図である。
【図３０】実施の形態６に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図３１】実施の形態６に係る画像処理装置のＬＵＴ設定処理の際のＬＵＴデータの流れを説明する図である。
【図３２】実施の形態６に係る画像処理装置によるＬＵＴ設定および印字動作のタイミングを説明する図である。
【図３３】本発明の実施の形態７に係る画像処理装置の機能構成を示す機能ブロック図である。
【図３４】実施の形態７に係る画像処理装置のＬＵＴ更新（設定）処理の処理手順を示すフローチャートである。
【図３５】実施の形態７に係る画像処理装置のＬＵＴ設定処理の際のＬＵＴデータの流れを説明する図である。
【図３６】実施の形態７に係る画像処理装置によるＬＵＴ設定および印字動作のタイミングを説明する図である。
【図３７】本発明の実施の形態８に係る画像処理装置の機能構成を示す機能ブロック図である。
【図３８】実施の形態８に係る画像処理装置のＬＵＴ設定および印字動作のタイミングを説明する図である。
【図３９】実施の形態８に係るシアン色のＬＵＴの設定値に関する情報、マゼンタ色のＬＵＴの設定値に関する情報、およびイエロー色のＬＵＴの設定値に関する情報を説明する図である。
【図４０】実施の形態８に係る画像処理装置のＬＵＴ設定処理の際のＬＵＴデータの流れを説明する図である。
【図４１】本発明の実施の形態９に係る画像処理装置の機能構成を示す機能ブロック図である。
【符号の説明】
【０５７４】
１０，２０，３０，４０，５０，６０，７０，８０，９０  画像処理装置
１００  画像処理回路
１０１  ＤＭＡコントローラ（アクセス制御手段）
１０２  伸長器（伸長手段）
１０３  演算処理部（演算処理手段）
１０４  基本テーブル生成部（基本テーブル生成手段）
１０５  ＬＵＴ用メモリ（ルックアップテーブル記憶手段）
１１０  ＣＰＵ
１２０  外部メモリ（差分テーブル記憶手段）
１３０  入出力特性変換表
１４０  ＬＵＴデータ
１５０  基本テーブル
１６０  差分テーブル
１６１  第１の差分テーブル
１６２  第２の差分テーブル
２００  画像処理回路
２０１  ＤＭＡコントローラ（アクセス制御手段）
２０２  ＤＭＡコントローラ（アクセス制御手段）
２０３  ＬＵＴ設定値演算回路（演算処理手段）
２０４  ＬＵＴ制御回路（格納制御手段）
２０５  画像処理用ＬＵＴ（ルックアップテーブル記憶手段）
２０６  画像処理用ＬＵＴ（ルックアップテーブル記憶手段）
２１０  外部記憶領域（基本テーブル記憶手段、補間テーブル記憶手段）
２２１  基本テーブル
２３０  補間テーブル
３００  画像処理回路
３１０  Ｃ用画像処理パス
３２０  Ｍ用画像処理パス
３３０  Ｙ用画像処理パス
３４０  Ｋ用画像処理パス
３１１、３２１，３３１，３４１  第１の画像処理部（画像処理手段）
３１２、３２２，３３２，３４２  第２の画像処理部（画像処理手段）
３１３、３２３，３３３，３４３  第３の画像処理部（画像処理手段）
３１１ａ，３２１ａ，３３１ａ，３４１ａ  第１の画像処理用メモリ（記憶手段）
３１２ａ，３２２ａ，３３２ａ，３４２ａ  第２の画像処理用メモリ（記憶手段）
３１３ａ，３２３ａ，３３３ａ，３４３ａ  第３の画像処理用メモリ（記憶手段）
３１４、３２４，３３４，３４４  ＤＭＡコントローラ（アクセス制御手段）
３５０  メモリコントローラ
３６０  ＣＰＵ（上位の制御手段）
３７０  外部メモリ（格納手段）
４００  画像処理回路
４０１  ＤＭＡコントローラ（アクセス制御手段）
４０２  ＤＭＡコントローラ
４０３  差分演算回路（演算処理手段）
４０４  ＬＵＴ用メモリ（ルックアップテーブル記憶手段）
４０５  座標回転部（座標回転手段）
４０６  画像処理部（画像処理手段）
４１０  外部メモリ（第１の記憶手段、第２の記憶手段）
４１１  Ｃ色用ＬＵＴ
４１２  第１の差分テーブル
４１３  第２の差分テーブル
４１４  Ｋ色用ＬＵＴ
４１５  データ（ＲＧＢデータ）
４２０  ＣＰＵ
５１２  ＬＵＴ値
５２３  第１の差分テーブル値
５３３  第２の差分テーブル値
【図１】
2008048098.tif 000003
【図２】
2008048098.tif 000004
【図３】
2008048098.tif 000005
【図４】
2008048098.tif 000006
【図５】
2008048098.tif 000007
【図６】
2008048098.tif 000008
【図７】
2008048098.tif 000009
【図８】
2008048098.tif 000010
【図９】
2008048098.tif 000011
【図１０】
2008048098.tif 000012
【図１１】
2008048098.tif 000013
【図１２】
2008048098.tif 000014
【図１３】
2008048098.tif 000015
【図１４】
2008048098.tif 000016
【図１５】
2008048098.tif 000017
【図１６】
2008048098.tif 000018
【図１７】
2008048098.tif 000019
【図１８】
2008048098.tif 000020
【図１９】
2008048098.tif 000021
【図２０】
2008048098.tif 000022
【図２１】
2008048098.tif 000023
【図２２】
2008048098.tif 000024
【図２３】
2008048098.tif 000025
【図２４】
2008048098.tif 000026
【図２５】
2008048098.tif 000027
【図２６】
2008048098.tif 000028
【図２７】
2008048098.tif 000029
【図２８】
2008048098.tif 000030
【図２９】
2008048098.tif 000031
【図３０】
2008048098.tif 000032
【図３１】
2008048098.tif 000033
【図３２】
2008048098.tif 000034
【図３３】
2008048098.tif 000035
【図３４】
2008048098.tif 000036
【図３５】
2008048098.tif 000037
【図３６】
2008048098.tif 000038
【図３７】
2008048098.tif 000039
【図３８】
2008048098.tif 000040
【図３９】
2008048098.tif 000041
【図４０】
2008048098.tif 000042
【図４１】
2008048098.tif 000043