(57)【要約】      （修正有）【課題】所定のハードウェア資源の制限内で、より精度の高い色変換処理を実現する。【解決手段】本発明の画像処理装置は、格子状に分割された入力色空間の格子点の各々にＬＵＴ出力値を格納する色変換ＬＵＴ１０５と、色変換ＬＵＴ１０５における格子点の位置情報を保持する格子点位置情報テーブル１０３と、所定の類型から入力画像データに適合する類型を選択する選択部１０７と、選択部１０７により選択された類型に基づいて、色変換ＬＵＴ１０５における格子点の位置情報と、ＬＵＴ出力値とを設定する設定部１０８と、格子点の位置情報に基づいて、入力画像データを構成する入力画素値の各々を格子点の位置情報に応じたＬＵＴアドレスと、補間係数とに変換する第１変換部１０２と、ＬＵＴアドレスに基づいて色変換ＬＵＴ１０５より取得したＬＵＴ出力値と、補間係数とから、出力画素値を導出する第２変換部１０４とを備える。【選択図】図１
2019145937.tif 000002
【特許請求の範囲】
【請求項１】
格子状に分割された入力色空間の格子点の各々にＬＵＴ出力値を格納する色変換ＬＵＴと、
前記色変換ＬＵＴにおける格子点の位置情報を保持する位置情報保持手段と、
所定の類型から入力画像データに適合する類型を選択する選択手段と、
前記選択手段により選択された類型に基づいて、前記色変換ＬＵＴにおける格子点の位置情報と、前記ＬＵＴ出力値とを設定する設定手段と、
前記格子点の位置情報に基づいて、前記入力画像データを構成する入力画素値の各々を前記格子点の位置情報に応じたＬＵＴアドレスと、補間係数とに変換する変換手段と、
前記ＬＵＴアドレスに基づいて前記色変換ＬＵＴより取得したＬＵＴ出力値と、前記補間係数とから、出力画素値を導出する導出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記所定の類型のうち、前記選択手段により何れの類型も選択されなかった場合に、
前記設定手段は、前記色変換ＬＵＴにおいて、前記入力色空間を均等に分割した格子点の各々に対応するＬＵＴ出力値を設定し、前記色変換ＬＵＴの記憶領域を、前記位置情報保持手段の記憶領域に、拡張して割り当てることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定の類型のうち、前記選択手段により何れかの類型が選択された場合に、
前記設定手段は、前記選択された類型に応じて、前記格子点を、特定の入力色に対応する軸において、他の入力色に対応する軸より密に設定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記入力画像データからヒストグラムを取得するヒストグラム取得手段をさらに備え、
前記選択手段は、前記ヒストグラムに基づいて、前記入力画像データに適合する類型を選択することを特徴とする請求項１又は３に記載の画像処理装置。
【請求項５】
前記入力画像データから前記入力画像データに附随する情報を取得する附随情報取得手段をさらに備え、
前記選択手段は、前記附随する情報に基づいて、前記入力画像データに適合する類型を選択することを特徴とする請求項１又は３に記載の画像処理装置。
【請求項６】
ユーザにより設定された変換条件を取得する変換条件取得手段をさらに備え、
前記選択手段は、前記ユーザの設定に基づいて、前記入力画像データに適合する類型を選択することを特徴とする請求項１又は３に記載の画像処理装置。
【請求項７】
前記色変換ＬＵＴは、前記導出手段により、前記入力画素値が属する格子の格子点のうち、複数の格子点におけるＬＵＴ出力値が同時に取得されるように構成されることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記補間係数は、前記入力画素値が属する格子における格子点間の距離に対する、前記入力画素値と当該格子点間の下限値との差の割合として算出されることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
コンピュータを、請求項１から８のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１０】
格子状に分割された入力色空間の格子点の各々にＬＵＴ出力値を格納する色変換ＬＵＴと、前記色変換ＬＵＴにおける格子点の位置情報を保持する位置情報保持手段とを備えた画像処理装置における画像処理方法であって、
選択手段により、所定の類型から入力画像データに適合する類型を選択する選択ステップと、
設定手段により、前記選択ステップにおいて選択された類型に基づいて、前記色変換ＬＵＴにおける格子点の位置情報と、前記ＬＵＴ出力値とを設定する設定ステップと、
変換手段により、前記格子点の位置情報に基づいて、前記入力画像データを構成する入力画素値の各々を前記格子点の位置情報に応じたＬＵＴアドレスと、補間係数とに変換する変換ステップと、
導出手段により、前記ＬＵＴアドレスに基づいて前記色変換ＬＵＴより取得したＬＵＴ出力値と、前記補間係数とから、出力画素値を導出する導出ステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理、特に、入力色空間における画素値を出力色空間における画素値に変換する技術に関する。
【背景技術】
【０００２】
従来、入力の色空間における画素値を、これとは異なる出力の色空間における同等の色の画素値に変換する技術（即ち、色空間変換技術）が知られている。このような色空間変換技術として、入力の色空間を格子状に分割し、各頂点に対応する出力値を格納したルックアップテーブル（ＬＵＴ）を用いて、格子点（頂点）以外の入力値に対する出力値を補間演算により求める方法が知られている。
【０００３】
この方法を前提に、例えば、特許文献１には、入力の色空間を不均等な大きさの格子に分割することで、画質の劣化を低減することが開示されている。また、例えば、特許文献２には、入力の画素値から直接的に色変換ＬＵＴの読み出しアドレスと補間係数の組に変換し、入力色空間を不均等な大きさの格子に分割した色変換ＬＵＴから、出力画素値を補間演算により求める方法が開示されている。なお、ここで、不均等な大きさの格子に分割するとは、各々の格子の大きさが異なるように分割する場合、また、入力色空間の各々の座標軸に配した格子点数が軸により異なるように分割する場合も含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２９４２１２号公報
【特許文献２】特開２００５−２４４６２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１及び２の技術では、入力画像データによっては、格子点を密に配置した領域に対応する入力画素値の頻度が低く、逆に、格子点を疎に配置した領域に対応する入力画素値の頻度が高くなることがあり、変換精度が低下する恐れがある。
【０００６】
そのため、同一のＬＵＴの容量で、より精度の高い変換処理を実現するためには、入力画像データの画素値の頻度が高い領域において、格子点を密に配置する必要がある。即ち、入力画像データに応じて、格子点位置情報を設定する必要がある。また、入力色空間を構成する各色成分のうち、より広範囲に分布している色成分に対応する座標軸については、より細かく分割して、格子点数を多く配置することが好ましい。
【０００７】
本発明は、前記従来の問題に鑑みてなされたものであって、所定のハードウェア資源の制限内で、より精度の高い色変換処理を実現することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の画像処理装置は、格子状に分割された入力色空間の格子点の各々にＬＵＴ出力値を格納する色変換ＬＵＴと、前記色変換ＬＵＴにおける格子点の位置情報を保持する位置情報保持手段と、所定の類型から入力画像データに適合する類型を選択する選択手段と、前記選択手段により選択された類型に基づいて、前記色変換ＬＵＴにおける格子点の位置情報と、前記ＬＵＴ出力値とを設定する設定手段と、前記格子点の位置情報に基づいて、前記入力画像データを構成する入力画素値の各々を前記格子点の位置情報に応じたＬＵＴアドレスと、補間係数とに変換する変換手段と、前記ＬＵＴアドレスに基づいて前記色変換ＬＵＴより取得したＬＵＴ出力値と、前記補間係数とから、出力画素値を導出する導出手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、所定のハードウェア資源の制限内で、より精度の高い色変換処理を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の構成を示すブロック図である。
【図２】格子点位置情報テーブルを示す図である。
【図３】入力色空間を格子状に分割した図である。
【図４】色変換ＬＵＴのバンクインターリーブを説明するための図である。
【図５】入力画像データを、入力画素値ヒストグラムにより分類するときの類型を示した図である。
【図６】画像処理装置の構成（出力色毎に入力色空間を分割して処理する場合）を示すブロック図である。
【図７】格子点位置情報テーブルを示す図である。
【図８】第１変換部の構成を示すブロック図である。
【図９】第２変換部の構成を示すブロック図である。
【図１０】色変換ＬＵＴを拡張したときのメモリの使用態様を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の好適な実施の形態に関して、添付図面を参照しながら、詳細に説明する。なお、以下の実施形態は、本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
［実施形態１］
図１は、本実施形態に係る画像処理装置の概略構成を示すブロック図である。図１に示されるように、画像処理装置は、入力部１０１、第１変換部１０２、格子点位置情報テーブル１０３、第２変換部１０４、色変換ＬＵＴ１０５、出力部１０６、選択部１０７、設定部１０８を備える。
【００１３】
入力部１０１は、外部の共有メモリ（不図示）に予め格納された画像データを逐次読み出して、入力画像データを構成する各画素を所定の順序で第１変換部１０２に伝達する（例えば、１画素毎に第１変換部１０２に伝達する）。
【００１４】
入力画像データの各画素は、Ｒチャネル（赤色成分）、Ｇチャネル（緑色成分）、Ｂチャネル（青色成分）の各々０以上２５５以下の整数画素値で構成され、また、入力色空間は、これら各チャネルを各々座標軸とした３次元空間として示される。
【００１５】
なお、画像データに関して、共有メモリから読み出す以外に、外部装置から所定の通信インタフェースを介して読み出すことで、取得することもできる。また、画像データを構成する画素の処理順序については、出力部１０６と整合している限り、任意に定めることができる。
【００１６】
第１変換部１０２は、入力画像データの画素値（入力画素値）を、格子点位置情報テーブル１０３の格子点位置座標値と比較して、格子状に分割された色変換ＬＵＴの入力色空間のどの格子に入力画素値が属しているかを判別し、ＬＵＴアドレスを求める。また、第１変換部１０２は、その判別された格子の頂点（格子点）と、入力画素値との距離に応じて、補間係数を求める。
【００１７】
格子点位置情報テーブル１０３は、格子点の位置情報を保持するテーブル（位置情報保持テーブル）であり、上述の第１変換部１０２により入力画素値が格子状に分割された色空間ＬＵＴの入力色空間のどの格子に属しているかを判別するときに用いられる。また、格子点位置情報テーブル１０３は、不均等な分割において、その格子の大きさを取得するために用いられる。
【００１８】
図２は、格子点位置情報テーブル１０３を示す図である。図２では、各チャネルに対する区間番号と、画素下限値及び画素上限値との対応を示している。図２（ａ）は、後述の図３（ａ）に示されるように、色変換ＬＵＴの入力色空間を格子状に分割するときの分割位置を示すものである。ここでは、Ｒ軸において７区間、Ｇ軸において１１区間、Ｂ軸において７区間に各々、分割する。そのため、各々の区間の両端を含む格子点はＲ軸上で８個、Ｇ軸上で１２個、Ｂ軸上で８個となり、また、入力色空間全体の格子点は、８×１２×８個となる。
【００１９】
この場合、例えば、図２の格子点位置情報テーブルにより、入力画素値Ｘ（Ｒ＝５０，Ｇ＝６０，Ｂ＝８０）の画素に対して、対応する区間番号（Ｒ＝２，Ｇ＝３，Ｂ＝３）が取得される。
【００２０】
ここで、図３（ｂ）は、図３（ａ）のうち、区間番号（Ｒ＝２，Ｇ＝３，Ｂ＝３）に対応する部分を拡大したものである。図３（ｂ）に示されるように、格子には、８個の格子点が含まれる。また、区間の下限値と同じ座標値の格子点に区間番号と同じ格子番号を付与すると、８個の格子点は、格子点番号（Ｒ＝［２，３］，Ｇ＝［３，４］，Ｂ＝［３，４］）の範囲のものとなる。
【００２１】
そして、この場合において、ＬＵＴアドレスは、例えば、格子点番号から、Ｒ軸について９６倍（８ｘ１２）、Ｇ軸について８倍、Ｂ軸について１倍したものの和として、各格子点に対して一意に付与される。また、補間係数は、各軸（即ち、Ｒ軸、Ｇ軸、Ｂ軸）に関して、入力画素値の属する格子における格子点間の距離に対する、入力画素値と区間下限値との差の割合として算出される。図３（ｂ）に示す例では各々、Ｒ軸について（５０−３２）／（６４−３２）＝１８／３２、Ｇ軸について（６０−４８）／（６４−４８）＝１２／１６、Ｂ軸について（８０−８０）／（１１２−８０）＝０／３２として算出される。
【００２２】
第２変換部１０４は、第１変換部１０２により算出されたＬＵＴアドレスと補間係数とに応じて、色変換ＬＵＴ１０５から取得されたＬＵＴ出力値に対して、対応する補間係数を適用して出力画素値を算出（導出）する。色変換ＬＵＴは、一般に、出力色空間における色数に応じた要素数のベクトル値であり、第２変換部１０４における演算処理は、各々、スカラ値の補間係数を乗じたベクトル値同士の加算処理である。
【００２３】
具体的には、図３（ｂ）において、先ず、Ｒ軸の補間係数１８／３２と、格子点Ａ、Ｂ各々のＬＵＴ出力値に対して内分点Ｐに相当する補間値を、Ｐ＝Ａ×（１−１８／３２）＋Ｂ×１８／３２として求める。同様に、格子点Ｄ及びＣから内分点Ｓ、格子点Ｅ及びＦから内分点Ｑ、格子点Ｈ及びＧから内分点Ｔを各々、求める。次に、Ｇ軸についても同様に、補間係数１２／１６により、Ｒ＝Ｐ×（１−１２／１６）＋Ｑ×１２／１６、及びＵ＝Ｓ×（１−１２／１６）＋Ｔ×１２／１６として求める。最後に、Ｂ軸についても同様に、補間係数０／３２により、Ｘ＝Ｒ×（１−０／３２）＋Ｕ×０／３２として求める。このようにして、入力画素値Ｘに対応する出力画素値が取得される。
【００２４】
なお、第２変換部１０４は、演算の線形性を利用して、各格子点について３軸各々の係数を予め合成してもよい。即ち、先ず、格子点Ａの寄与分として（１−１８／３２）×（１−１２／１６）×（１−０／３２）、格子点Ｂの寄与分として１８／３２×（１−１２／１６）×（１−０／３２）のように、各軸における係数の積を求める。次に、各々の格子点について、ＬＵＴ出力値と係数の積との積を求め、８個の格子点について積和を求める。
【００２５】
また、上述では、３軸の各々に対して線形補間として出力画素値を算出したが、その他、入力画素値を内包する３角柱の６格子点、或いは、３角錐の４格子点のみを参照する補間演算方法を用いてもよい。３角錐の場合、例えば、図３（ｂ）の格子を、格子点Ａ及びＧを共有する６個の３角錐、ＡＢＣＧ、ＡＢＦＧ、ＡＤＣＧ、ＡＤＨＧ、ＡＥＦＧ、ＡＥＨＧに分割することができる。そして、入力画素値Ｘについては、三角錐ＡＤＣＧを用いて、これら４格子点から補間して求めることができる。
【００２６】
色変換ＬＵＴ１０５は、所定の格子点に対応するＬＵＴ出力値を格納し、ＬＵＴアドレスにより指定された入力色空間の格子点に対応する出力色空間の画素値を出力する。具体的には、色変換ＬＵＴ１０５は、格子点位置情報テーブル１０３により指定されている８×１２×８個の格子点の各々の入力色空間における画素値に対応する出力色空間における画素値を格納する。色変換ＬＵＴ１０５は、格子点に対応したアドレスが指定されると、対応するＬＵＴ出力値（出力色空間における画素値）を出力する。
【００２７】
なお、色変換ＬＵＴ１０５に関して、各軸の格子点数については均一にして、入力色空間を均一な立方体状の格子に分割する他、軸毎に異なる格子点数として直方体状の格子に分割することもできる。
【００２８】
補足として、色変換ＬＵＴ１０５に関して、処理性能向上のために、第２変換部１０４における補間演算で、出力画素値１個を算出するのに必要なＬＵＴ出力値が同時に取得されるように構成してもよい。ここで、図３（ｂ）において、８個の格子点について同時にアクセス可能とするには、例えば、図４（ａ）のように、８個の格子点を複数のバンク（ここでは、８バンク）に分けて、メモリに格納するとよい。この場合、図４（ａ）に示されるように、入力色空間の各軸に関して、互いに隣接する格子点の一方を偶数、他方を奇数の格子点番号として設定するため、単位格子を構成する８個の格子点を、重複なく分散させることができる。
【００２９】
また、３角錐で４個の格子点のみを参照する場合には、上述のように、単位格子内の原点に最も近い格子点と、最も遠い格子点とを結ぶ対角線を共有する６個の３角錐に分割すればよい。このように分割することで、各々の３角錐は、原点からの距離（マンハッタン距離）が各々異なる４格子点で構成されることになる。そのため、このような３角錐については、図４（ｂ）に示されるように、格子点番号の和の４による剰余で分類することで、４バンクに重複なく分散させることができる。
【００３０】
出力部１０６は、所定の画素順により、上述の各部により処理された結果（即ち、出力画素値）を収集して、出力画像データに再構成し、さらに、外部の共有メモリ（不図示）の所定の領域に画像データを格納する。なお、画像データに関して、外部の共有メモリに格納する以外に、記憶媒体に記憶する、或いは、外部装置に対して通信インタフェースを介して送信することで出力することができる。
【００３１】
選択部１０７は、入力部１０１に入力された画像データに応じて、所定の類型のうち、入力画像データに適合するものを選択する。選択部１０７は、例えば、入力画像データの各色成分、色変換処理に先立って画像データを走査して抽出された特徴に応じて、適合する類型を選択する。また、選択部１０７は、入力画像データに附随する情報に応じて（例えば、場所、時刻等の附随情報を取得する附随情報取得手段（不図示）をさらに備え、その取得した附随情報に応じて）、適合する類型を選択する。選択部１０７は、上述に加えて、ユーザの嗜好や目的を考慮して（即ち、ユーザの設定した変換条件を取得する変換条件取得手段（不図示）をさらに備え、その取得した変換条件に基づいて）、適合する類型を選択することもできる。
【００３２】
以下、入力画像データの各色成分に応じて、適合する類型を選択する処理に関して、図５を用いて説明を補足する。図５では、入力画像データの各色成分に応じて分類される４つの類型を示している。具体的には、図５において、図５（ａ）のように画素値の偏りが少ないもの、図５（ｂ）のように画素値 小の頻度が高いもの、図５（ｃ）のように画素値 中の頻度が高いもの、図５（ｄ）のように画素値 大の頻度が高いものの４つの類型で示される。
【００３３】
なお、この場合、３軸で各々、４通りとなり、その組み合わせは全部で４×４×４＝６４通りとなる。ここで、格子点位置情報テーブル１０３、及び色変換ＬＵＴ１０５は、処理時間低減のため、高速にランダムアクセス可能な記憶領域であることが望ましい。但し、記憶領域を、予め６４通り全てのテーブルを格納するように構成すると（即ち、大容量にすると）、コスト増大の懸念がある。そのため、本実施形態では、入力画像データに適合するテーブルを都度、設定するように構成している。
【００３４】
また、補足として、選択部１０７が「汎用」、「夜景」、「青空」、「夕焼け」等の動作モードを選択可能なように構成してもよい。この場合、例えば、「汎用」では各色に図５（ａ）のような偏りの少ないものを設定し、「夜景」では各色に図５（ｂ）のような画素値 小の頻度が高いものを設定する。また、「青空」では、特定の入力色の成分（ここでは、青色の成分）に関して、細かく設定可能なように、例えば、図２（ｂ）のように青色１１区間（１２格子点）、緑色と赤色それぞれ７区間（８格子点）のテーブルに切り替えるように構成することができる。
【００３５】
その他、入力部１０１は第１変換部１０２から第２変換部１０４にかけての変換処理に先立って、処理対象と同一の画像データをヒストグラム取得部（不図示）に送信し、選択部１０７は、取得したヒストグラムに基づいて、類型を選択するようにしてもよい。
【００３６】
設定部１０８は、選択部１０７が選択した類型に応じて、格子点位置情報テーブル１０３及び色変換ＬＵＴ１０５を各々、設定する。なお、設定部１０８は、例えば、２次記憶装置（不図示）から読み出した各々のテーブル設定値を、より高速に動作可能な１次記憶装置の格子点位置情報テーブル１０３及び色変換ＬＵＴ１０５に設定するようにすればよい。
【００３７】
以上のように画像処理装置を構成することで、入力色空間のうち、入力画像データの特性に応じて画素値頻度の高い部分に多くのＬＵＴ出力値を割り当てることが可能となり、変換精度の高い色変換処理結果を得ることができる。
【００３８】
補足として、図６のように、第１変換部１０２ａ乃至１０２ｄ、格子点位置情報テーブル１０３ａ乃至１０３ｄ、第２変換部１０４ａ乃至１０４ｄ、色変換ＬＵＴ１０５ａ乃至１０５ｄと最大で出力色数分まで、色数毎に独立して設けることもできる。なお、この場合、第１変換部１０２ａ乃至１０２ｄには、同一の入力画素値を各々、複製して入力する。このように画像処理装置を構成することで、入力色空間の各入力色の分割数、又は、分割位置を出力色毎に各々、独立して設定することができる。
【００３９】
［実施形態２］
次に、実施形態２について説明する。本実施形態では、所定の類型に適合するものがない「汎用」の設定において、色変換ＬＵＴ１０５の格子点間隔を均一にし、その代わりとして、格子点位置情報テーブル１０３の記憶容量を、色変換ＬＵＴ１０５の格子点数を拡張する目的で用いる。即ち、色変換ＬＵＴの格子点間隔が均一であれば、その区間に対応する画素下限値及び画素上限値を計算できるため、格子点位置情報テーブルを記憶させておく必要はなく、その分の記憶容量を用いて、色変換ＬＵＴ１０５の格子点数を拡張することができる。
【００４０】
なお、本実施形態において、所定の類型に適合する場合には第１のモードで、所定の類型に適合するものがない場合（即ち、「汎用」が選択される場合）には第２のモードで、色変換処理が実行されるものとする。また、第１のモードに関しては、実施形態１と同様の色変換処理となる。
【００４１】
以下、上述の内容に関して、図７の格子点位置情報テーブルを用いて、説明を補足する。なお、図７では、格子点位置情報テーブル１０３を、入力チャネル毎の１次元ＬＵＴとして示しており、格子点位置情報テーブル１０３は、所定の入力画素値に対する変換後の画素値を保持している。また、第１のモードに関する格子点位置情報テーブルを図７（ａ）、（ｂ）、第２のモードに関する格子点位置情報テーブルを図７（ｃ）として示している。
【００４２】
所定の類型において、第１変換部１０２は、画素が入力されると、図７（ａ）に示されるように、入力画素値に応じて格子点位置情報テーブル１０３を参照して（縦矢印（点線））、線形補間により変換後の画素値（即ち、変換後画素値）を算出する。そして、第２変換部１０４は、その変換後の画素値を用いて色変換ＬＵＴ１０５を参照することで、色変換処理を実行する。このように、図７（ａ）は、結果として、入力画素値に対する格子点位置を間接的に示すテーブルとして解釈される。
【００４３】
ここで、図７（ｂ）に示されるように、色変換ＬＵＴ１０５が均等な格子として分割されていると仮定して、等間隔に選択した変換後の画素値（横矢印（点線））から、入力画素値を逆算することを考える。この場合、等間隔に選択した変換後の画素値は、不均等な間隔の入力画素値に対応することがわかる。即ち、この場合、入力画素値と変換後の画素値は、所定の比で対応付けられていない。そのため（即ち、入力画素値から変換後の画素値を計算することができないため）、図７（ｂ）（第１のモード）では、入力画素値に対応する変換後の画素値を設定した格子点位置情報テーブル１０３を保持しておく必要がある。
【００４４】
次に、所定の類型に適合するものがない場合、即ち、選択部１０７において「汎用」が選択される場合について説明する。選択部１０７において「汎用」が選択される場合、第１変換部１０２は、第１のモードと異なる第２のモードに設定することで、図７（ｃ）に示されるように（即ち、入力画素値と変換後の画素値が所定の比で定まるように）、入力画素値を変換する。つまり、第１変換部１０２は、格子点位置情報テーブル１０３を参照することなく、所定の変換により変換後の画素値を算出する。
【００４５】
そのため、第２のモードでは、格子点位置情報テーブル１０３として使用しない記憶領域を、色変換ＬＵＴ１０５として使用することができ、第１のモードと比較してより多くの格子点数からなる色変換ＬＵＴ１０５を用いることができる。
【００４６】
以上の内容を踏まえ、次に、本実施形態に係る画像処理装置の第１変換部１０２の構成に関して図８を用いて、また、第２変換部１０４の構成に関して図９を用いて説明する。図８（図８（ｂ））は、本実施形態に係る画像処理装置の第１変換部１０２の構成を示すブロック図である。第１変換部１０２は、各々１チャネルの入力画素値に対して画素値変換処理を実行する３個の画素値変換処理部８０９ａ、８０９ｂ、８０９ｃ、及びアドレス・補間係数算出部８１０を有する。アドレス・補間係数算出部８１０は、変換後の画素値に基づいて、等間隔の格子に分割された入力色空間において、ＬＵＴアドレス及び補間係数を算出する。
【００４７】
なお、本実施形態では、図４（ｂ）に示されるように、色変換ＬＵＴ１０５を４バンクに分割して格納するものとする。アドレス・補間係数算出部８１０は、各々のバンクに対するアドレス、及び取得されたＬＵＴ出力値に対する係数を別々に算出する。また、アドレス・補間係数算出部８１０は、後述するように、第１のモードと、第２のモードとで各々、異なる格子点数に基づいて、アドレス及び補間係数を算出する。
【００４８】
図８（ａ）は、画素値変換処理部８０９の構成を示すブロック図である。第１のモードにおいて、１次元ＬＵＴアドレス・補間係数算出部８０１は、入力画素値に基づいて、１次元ＬＵＴ８０２のアドレス及び補間係数を算出する。１次元ＬＵＴ８０２は、図７（ａ）に示すような、入力画素値に対応するアドレスの入力に対して、変換後の画素値を出力するものである。ここでは、補間処理部８０４での補間処理において参照する１組の画素値が同時に取得されるように、１次元ＬＵＴ８０２は２個のＳＲＡＭにインターリーブして格納している。このため、１次元ＬＵＴアドレス・補間係数算出部８０１は、各々のＳＲＡＭに対するアドレスを別々に算出する。
【００４９】
遅延バッファ８０３は、１次元ＬＵＴ８０２の参照に要する時間を遅延として補間係数に付与し、補間処理部８０４における入力を同期させるためのものである。補間処理部８０４は、１次元ＬＵＴ８０２より出力される１組の出力値に対して、１次元ＬＵＴアドレス・補間係数算出部８０１が算出した補間係数を用いて、線形補間により変換後の画素値を算出する。
【００５０】
また、第２のモードにおいて、比例変換処理部８０６は、図７（ｃ）に相当する変換処理を実行する。ここで、入力画素値と変換後の画素値が同じビット数であれば、特に処理を実行する必要はない。但し、入力画素値と変換後の画素値に関してビット数が異なる場合は、例えば、上位詰めにして空いた下位ビットに、入力画素値の上位ビットから順に必要なビット数だけ複製して詰めるといった処理を実行する。その他、定数倍の方法として、例えば、固定ビット数のシフト処理、及び加算処理があり、この方法の場合、比較的小回路規模で実現することができる。
【００５１】
選択器８０７及び選択器８０８は、モードに応じて選択処理を実行する。具体的には、選択器８０７は、モードに応じてＳＲＡＭアドレスを選択する。
【００５２】
選択器８０７は、第１のモードにおいては、１次元ＬＵＴアドレス・補間係数算出部８０１により算出された１次元ＬＵＴ８０２のアドレスを選択する。また、第２のモードにおいては、画素値変換処理部８０９の外部から入力された色変換ＬＵＴ拡張アドレス（より詳細には、後述する第２変換部１０４から出力された色変換ＬＵＴ拡張アドレス）を選択する。
【００５３】
選択器８０８は、変換後画素値を選択する。選択器８０８は、第１のモードにおいては、補間処理部８０４がＳＲＡＭ８０２を用いて算出した変換画素値を、また、第２のモードにおいては、比例変換処理部８０６がＳＲＡＭ８０２を用いずに算出した変換画素値を選択する。
【００５４】
次に、図９を用いて、第２変換部１０４の構成について説明する。図９（図９（ｂ））は、本実施形態に係る画像処理装置の第２変換部１０４の構成を示すブロック図である。第２変換部１０４は、図９に示されるように、色変換ＬＵＴ１０５の１バンク分に対応する４個のＬＵＴ参照部９０４ａ乃至９０４ｄ、及び補間処理部９０５を有する。
【００５５】
図９（ａ）は、ＬＵＴ参照部９０４の構成を示すブロック図である。アドレス判定部９０１は、第１変換部１０２により算出されたアドレス（ＬＵＴアドレス）が所定のアドレスの範囲内か否かを判定し、所定のアドレス範囲外の拡張アドレスに対しては、外部の記憶領域からＬＵＴデータを参照する。具体的には、上述のように、色変換ＬＵＴ拡張アドレスを信号として、第１変換部１０２に入力させ、第１変換部１０２より出力される色変換ＬＵＴ拡張出力値を受信することで、ＬＵＴデータを取得する。即ち、図９（ａ）の色変換ＬＵＴ拡張アドレス（出力）と図８（ａ）の色変換ＬＵＴ拡張アドレス（入力）は接続され、また、図８（ａ）の色変換ＬＵＴ拡張出力値（出力）と図９（ａ）の色変換ＬＵＴ拡張出力値（入力）は接続される。
【００５６】
ＳＲＡＭ９０２は、第１のモードにおける色変換ＬＵＴ１０５の１バンク分の容量を備えた記憶手段である。選択器９０３は、拡張アドレスが有効の場合には、外部から入力された色変換ＬＵＴ拡張出力値を選択し、そうでない場合には、ＳＲＡＭ９０２から得られるＬＵＴ出力値を選択する。
【００５７】
以上のように、第１のモードでは、色変換ＬＵＴ１０５における格子点数が少ないことから、拡張アドレスを用いない。そのため、ＳＲＡＭ９０２から取得されるＬＵＴ出力値を選択する。他方、第２のモードでは、ＬＵＴアドレスが所定のアドレスの範囲外と判定された場合に拡張アドレスを有効にして、ＬＵＴアドレスから所定のアドレス範囲の上限に相当するオフセット値を減算した色変換ＬＵＴ拡張アドレスを出力する。
【００５８】
図１０は、色変換ＬＵＴを拡張した場合のメモリの使用態様を説明するための図である。第１のモードにおいては、図１０（ａ）のように、ＳＲＡＭ９０２を４個に分割して、色変換ＬＵＴ１０５を格納している。また、ＳＲＡＭ８０２については、各入力チャネルに関して２個、即ち、計６個を使用して格子点位置情報テーブル１０３を格納している。
【００５９】
他方、第２のモードにおいては、上述のように、入力画素値と変換後の画素値が所定の比で対応付けられていることから、格子点位置情報テーブル１０３としてメモリ（ＳＲＡＭ８０２）を使用しない。そのため、そのＳＲＡＭ８０２の一部を色変換ＬＵＴ１０５の拡張に使用する。
【００６０】
以上のように、画像処理装置を構成することで、「汎用」の設定時において、格子点位置情報テーブル（画素値変換テーブル）１０３に割り当てていた記憶容量を色変換ＬＵＴ１０５の拡張に用いることが可能となる。
【００６１】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
１０１  入力部
１０２  第１変換部
１０３  格子点位置情報テーブル
１０４  第２変換部
１０５  色変換ＬＵＴ
１０６  出力部
１０７  選択部
１０８  設定部
【図１】
2019145937.tif 000003
【図２】
2019145937.tif 000004
【図３】
2019145937.tif 000005
【図４】
2019145937.tif 000006
【図５】
2019145937.tif 000007
【図６】
2019145937.tif 000008
【図７】
2019145937.tif 000009
【図８】
2019145937.tif 000010
【図９】
2019145937.tif 000011
【図１０】
2019145937.tif 000012