(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2019145937
(43)【公開日】20190829
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
   H04N 1/46 20060101AFI20190802BHJP
   H04N 1/60 20060101ALI20190802BHJP
   G06T 1/00 20060101ALI20190802BHJP
【FI】
   !H04N1/46 Z
   !H04N1/40 D
   !G06T1/00 510
【審査請求】未請求
【請求項の数】10
【出願形態】OL
【全頁数】13
(21)【出願番号】2018026782
(22)【出願日】20180219
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】萩原 克行
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内
【テーマコード(参考)】
5B057
5C077
5C079
【Fターム(参考)】
5B057BA23
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CE16
5B057CH07
5B057CH18
5B057DA17
5B057DB02
5B057DB06
5B057DB09
5B057DC23
5C077LL19
5C077MP08
5C077PP32
5C077PP37
5C077PP65
5C077PQ08
5C077PQ23
5C077SS05
5C079HB01
5C079HB11
5C079LA01
5C079LA05
5C079LA31
5C079LB01
5C079MA04
5C079MA19
5C079NA03
5C079NA29
(57)【要約】      (修正有)
【課題】所定のハードウェア資源の制限内で、より精度の高い色変換処理を実現する。
【解決手段】本発明の画像処理装置は、格子状に分割された入力色空間の格子点の各々にLUT出力値を格納する色変換LUT105と、色変換LUT105における格子点の位置情報を保持する格子点位置情報テーブル103と、所定の類型から入力画像データに適合する類型を選択する選択部107と、選択部107により選択された類型に基づいて、色変換LUT105における格子点の位置情報と、LUT出力値とを設定する設定部108と、格子点の位置情報に基づいて、入力画像データを構成する入力画素値の各々を格子点の位置情報に応じたLUTアドレスと、補間係数とに変換する第1変換部102と、LUTアドレスに基づいて色変換LUT105より取得したLUT出力値と、補間係数とから、出力画素値を導出する第2変換部104とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
格子状に分割された入力色空間の格子点の各々にLUT出力値を格納する色変換LUTと、
前記色変換LUTにおける格子点の位置情報を保持する位置情報保持手段と、
所定の類型から入力画像データに適合する類型を選択する選択手段と、
前記選択手段により選択された類型に基づいて、前記色変換LUTにおける格子点の位置情報と、前記LUT出力値とを設定する設定手段と、
前記格子点の位置情報に基づいて、前記入力画像データを構成する入力画素値の各々を前記格子点の位置情報に応じたLUTアドレスと、補間係数とに変換する変換手段と、
前記LUTアドレスに基づいて前記色変換LUTより取得したLUT出力値と、前記補間係数とから、出力画素値を導出する導出手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記所定の類型のうち、前記選択手段により何れの類型も選択されなかった場合に、
前記設定手段は、前記色変換LUTにおいて、前記入力色空間を均等に分割した格子点の各々に対応するLUT出力値を設定し、前記色変換LUTの記憶領域を、前記位置情報保持手段の記憶領域に、拡張して割り当てることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記所定の類型のうち、前記選択手段により何れかの類型が選択された場合に、
前記設定手段は、前記選択された類型に応じて、前記格子点を、特定の入力色に対応する軸において、他の入力色に対応する軸より密に設定することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記入力画像データからヒストグラムを取得するヒストグラム取得手段をさらに備え、
前記選択手段は、前記ヒストグラムに基づいて、前記入力画像データに適合する類型を選択することを特徴とする請求項1又は3に記載の画像処理装置。
【請求項5】
前記入力画像データから前記入力画像データに附随する情報を取得する附随情報取得手段をさらに備え、
前記選択手段は、前記附随する情報に基づいて、前記入力画像データに適合する類型を選択することを特徴とする請求項1又は3に記載の画像処理装置。
【請求項6】
ユーザにより設定された変換条件を取得する変換条件取得手段をさらに備え、
前記選択手段は、前記ユーザの設定に基づいて、前記入力画像データに適合する類型を選択することを特徴とする請求項1又は3に記載の画像処理装置。
【請求項7】
前記色変換LUTは、前記導出手段により、前記入力画素値が属する格子の格子点のうち、複数の格子点におけるLUT出力値が同時に取得されるように構成されることを特徴とする請求項1から6のいずれか1項に記載の画像処理装置。
【請求項8】
前記補間係数は、前記入力画素値が属する格子における格子点間の距離に対する、前記入力画素値と当該格子点間の下限値との差の割合として算出されることを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
【請求項9】
コンピュータを、請求項1から8のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項10】
格子状に分割された入力色空間の格子点の各々にLUT出力値を格納する色変換LUTと、前記色変換LUTにおける格子点の位置情報を保持する位置情報保持手段とを備えた画像処理装置における画像処理方法であって、
選択手段により、所定の類型から入力画像データに適合する類型を選択する選択ステップと、
設定手段により、前記選択ステップにおいて選択された類型に基づいて、前記色変換LUTにおける格子点の位置情報と、前記LUT出力値とを設定する設定ステップと、
変換手段により、前記格子点の位置情報に基づいて、前記入力画像データを構成する入力画素値の各々を前記格子点の位置情報に応じたLUTアドレスと、補間係数とに変換する変換ステップと、
導出手段により、前記LUTアドレスに基づいて前記色変換LUTより取得したLUT出力値と、前記補間係数とから、出力画素値を導出する導出ステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理、特に、入力色空間における画素値を出力色空間における画素値に変換する技術に関する。
【背景技術】
【0002】
従来、入力の色空間における画素値を、これとは異なる出力の色空間における同等の色の画素値に変換する技術(即ち、色空間変換技術)が知られている。このような色空間変換技術として、入力の色空間を格子状に分割し、各頂点に対応する出力値を格納したルックアップテーブル(LUT)を用いて、格子点(頂点)以外の入力値に対する出力値を補間演算により求める方法が知られている。
【0003】
この方法を前提に、例えば、特許文献1には、入力の色空間を不均等な大きさの格子に分割することで、画質の劣化を低減することが開示されている。また、例えば、特許文献2には、入力の画素値から直接的に色変換LUTの読み出しアドレスと補間係数の組に変換し、入力色空間を不均等な大きさの格子に分割した色変換LUTから、出力画素値を補間演算により求める方法が開示されている。なお、ここで、不均等な大きさの格子に分割するとは、各々の格子の大きさが異なるように分割する場合、また、入力色空間の各々の座標軸に配した格子点数が軸により異なるように分割する場合も含む。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−294212号公報
【特許文献2】特開2005−244620号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1及び2の技術では、入力画像データによっては、格子点を密に配置した領域に対応する入力画素値の頻度が低く、逆に、格子点を疎に配置した領域に対応する入力画素値の頻度が高くなることがあり、変換精度が低下する恐れがある。
【0006】
そのため、同一のLUTの容量で、より精度の高い変換処理を実現するためには、入力画像データの画素値の頻度が高い領域において、格子点を密に配置する必要がある。即ち、入力画像データに応じて、格子点位置情報を設定する必要がある。また、入力色空間を構成する各色成分のうち、より広範囲に分布している色成分に対応する座標軸については、より細かく分割して、格子点数を多く配置することが好ましい。
【0007】
本発明は、前記従来の問題に鑑みてなされたものであって、所定のハードウェア資源の制限内で、より精度の高い色変換処理を実現することである。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の画像処理装置は、格子状に分割された入力色空間の格子点の各々にLUT出力値を格納する色変換LUTと、前記色変換LUTにおける格子点の位置情報を保持する位置情報保持手段と、所定の類型から入力画像データに適合する類型を選択する選択手段と、前記選択手段により選択された類型に基づいて、前記色変換LUTにおける格子点の位置情報と、前記LUT出力値とを設定する設定手段と、前記格子点の位置情報に基づいて、前記入力画像データを構成する入力画素値の各々を前記格子点の位置情報に応じたLUTアドレスと、補間係数とに変換する変換手段と、前記LUTアドレスに基づいて前記色変換LUTより取得したLUT出力値と、前記補間係数とから、出力画素値を導出する導出手段と、を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、所定のハードウェア資源の制限内で、より精度の高い色変換処理を実現することができる。
【図面の簡単な説明】
【0010】
【図1】画像処理装置の構成を示すブロック図である。
【図2】格子点位置情報テーブルを示す図である。
【図3】入力色空間を格子状に分割した図である。
【図4】色変換LUTのバンクインターリーブを説明するための図である。
【図5】入力画像データを、入力画素値ヒストグラムにより分類するときの類型を示した図である。
【図6】画像処理装置の構成(出力色毎に入力色空間を分割して処理する場合)を示すブロック図である。
【図7】格子点位置情報テーブルを示す図である。
【図8】第1変換部の構成を示すブロック図である。
【図9】第2変換部の構成を示すブロック図である。
【図10】色変換LUTを拡張したときのメモリの使用態様を説明するための図である。
【発明を実施するための形態】
【0011】
以下、本発明の好適な実施の形態に関して、添付図面を参照しながら、詳細に説明する。なお、以下の実施形態は、本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0012】
[実施形態1]
図1は、本実施形態に係る画像処理装置の概略構成を示すブロック図である。図1に示されるように、画像処理装置は、入力部101、第1変換部102、格子点位置情報テーブル103、第2変換部104、色変換LUT105、出力部106、選択部107、設定部108を備える。
【0013】
入力部101は、外部の共有メモリ(不図示)に予め格納された画像データを逐次読み出して、入力画像データを構成する各画素を所定の順序で第1変換部102に伝達する(例えば、1画素毎に第1変換部102に伝達する)。
【0014】
入力画像データの各画素は、Rチャネル(赤色成分)、Gチャネル(緑色成分)、Bチャネル(青色成分)の各々0以上255以下の整数画素値で構成され、また、入力色空間は、これら各チャネルを各々座標軸とした3次元空間として示される。
【0015】
なお、画像データに関して、共有メモリから読み出す以外に、外部装置から所定の通信インタフェースを介して読み出すことで、取得することもできる。また、画像データを構成する画素の処理順序については、出力部106と整合している限り、任意に定めることができる。
【0016】
第1変換部102は、入力画像データの画素値(入力画素値)を、格子点位置情報テーブル103の格子点位置座標値と比較して、格子状に分割された色変換LUTの入力色空間のどの格子に入力画素値が属しているかを判別し、LUTアドレスを求める。また、第1変換部102は、その判別された格子の頂点(格子点)と、入力画素値との距離に応じて、補間係数を求める。
【0017】
格子点位置情報テーブル103は、格子点の位置情報を保持するテーブル(位置情報保持テーブル)であり、上述の第1変換部102により入力画素値が格子状に分割された色空間LUTの入力色空間のどの格子に属しているかを判別するときに用いられる。また、格子点位置情報テーブル103は、不均等な分割において、その格子の大きさを取得するために用いられる。
【0018】
図2は、格子点位置情報テーブル103を示す図である。図2では、各チャネルに対する区間番号と、画素下限値及び画素上限値との対応を示している。図2(a)は、後述の図3(a)に示されるように、色変換LUTの入力色空間を格子状に分割するときの分割位置を示すものである。ここでは、R軸において7区間、G軸において11区間、B軸において7区間に各々、分割する。そのため、各々の区間の両端を含む格子点はR軸上で8個、G軸上で12個、B軸上で8個となり、また、入力色空間全体の格子点は、8×12×8個となる。
【0019】
この場合、例えば、図2の格子点位置情報テーブルにより、入力画素値X(R=50,G=60,B=80)の画素に対して、対応する区間番号(R=2,G=3,B=3)が取得される。
【0020】
ここで、図3(b)は、図3(a)のうち、区間番号(R=2,G=3,B=3)に対応する部分を拡大したものである。図3(b)に示されるように、格子には、8個の格子点が含まれる。また、区間の下限値と同じ座標値の格子点に区間番号と同じ格子番号を付与すると、8個の格子点は、格子点番号(R=[2,3],G=[3,4],B=[3,4])の範囲のものとなる。
【0021】
そして、この場合において、LUTアドレスは、例えば、格子点番号から、R軸について96倍(8x12)、G軸について8倍、B軸について1倍したものの和として、各格子点に対して一意に付与される。また、補間係数は、各軸(即ち、R軸、G軸、B軸)に関して、入力画素値の属する格子における格子点間の距離に対する、入力画素値と区間下限値との差の割合として算出される。図3(b)に示す例では各々、R軸について(50−32)/(64−32)=18/32、G軸について(60−48)/(64−48)=12/16、B軸について(80−80)/(112−80)=0/32として算出される。
【0022】
第2変換部104は、第1変換部102により算出されたLUTアドレスと補間係数とに応じて、色変換LUT105から取得されたLUT出力値に対して、対応する補間係数を適用して出力画素値を算出(導出)する。色変換LUTは、一般に、出力色空間における色数に応じた要素数のベクトル値であり、第2変換部104における演算処理は、各々、スカラ値の補間係数を乗じたベクトル値同士の加算処理である。
【0023】
具体的には、図3(b)において、先ず、R軸の補間係数18/32と、格子点A、B各々のLUT出力値に対して内分点Pに相当する補間値を、P=A×(1−18/32)+B×18/32として求める。同様に、格子点D及びCから内分点S、格子点E及びFから内分点Q、格子点H及びGから内分点Tを各々、求める。次に、G軸についても同様に、補間係数12/16により、R=P×(1−12/16)+Q×12/16、及びU=S×(1−12/16)+T×12/16として求める。最後に、B軸についても同様に、補間係数0/32により、X=R×(1−0/32)+U×0/32として求める。このようにして、入力画素値Xに対応する出力画素値が取得される。
【0024】
なお、第2変換部104は、演算の線形性を利用して、各格子点について3軸各々の係数を予め合成してもよい。即ち、先ず、格子点Aの寄与分として(1−18/32)×(1−12/16)×(1−0/32)、格子点Bの寄与分として18/32×(1−12/16)×(1−0/32)のように、各軸における係数の積を求める。次に、各々の格子点について、LUT出力値と係数の積との積を求め、8個の格子点について積和を求める。
【0025】
また、上述では、3軸の各々に対して線形補間として出力画素値を算出したが、その他、入力画素値を内包する3角柱の6格子点、或いは、3角錐の4格子点のみを参照する補間演算方法を用いてもよい。3角錐の場合、例えば、図3(b)の格子を、格子点A及びGを共有する6個の3角錐、ABCG、ABFG、ADCG、ADHG、AEFG、AEHGに分割することができる。そして、入力画素値Xについては、三角錐ADCGを用いて、これら4格子点から補間して求めることができる。
【0026】
色変換LUT105は、所定の格子点に対応するLUT出力値を格納し、LUTアドレスにより指定された入力色空間の格子点に対応する出力色空間の画素値を出力する。具体的には、色変換LUT105は、格子点位置情報テーブル103により指定されている8×12×8個の格子点の各々の入力色空間における画素値に対応する出力色空間における画素値を格納する。色変換LUT105は、格子点に対応したアドレスが指定されると、対応するLUT出力値(出力色空間における画素値)を出力する。
【0027】
なお、色変換LUT105に関して、各軸の格子点数については均一にして、入力色空間を均一な立方体状の格子に分割する他、軸毎に異なる格子点数として直方体状の格子に分割することもできる。
【0028】
補足として、色変換LUT105に関して、処理性能向上のために、第2変換部104における補間演算で、出力画素値1個を算出するのに必要なLUT出力値が同時に取得されるように構成してもよい。ここで、図3(b)において、8個の格子点について同時にアクセス可能とするには、例えば、図4(a)のように、8個の格子点を複数のバンク(ここでは、8バンク)に分けて、メモリに格納するとよい。この場合、図4(a)に示されるように、入力色空間の各軸に関して、互いに隣接する格子点の一方を偶数、他方を奇数の格子点番号として設定するため、単位格子を構成する8個の格子点を、重複なく分散させることができる。
【0029】
また、3角錐で4個の格子点のみを参照する場合には、上述のように、単位格子内の原点に最も近い格子点と、最も遠い格子点とを結ぶ対角線を共有する6個の3角錐に分割すればよい。このように分割することで、各々の3角錐は、原点からの距離(マンハッタン距離)が各々異なる4格子点で構成されることになる。そのため、このような3角錐については、図4(b)に示されるように、格子点番号の和の4による剰余で分類することで、4バンクに重複なく分散させることができる。
【0030】
出力部106は、所定の画素順により、上述の各部により処理された結果(即ち、出力画素値)を収集して、出力画像データに再構成し、さらに、外部の共有メモリ(不図示)の所定の領域に画像データを格納する。なお、画像データに関して、外部の共有メモリに格納する以外に、記憶媒体に記憶する、或いは、外部装置に対して通信インタフェースを介して送信することで出力することができる。
【0031】
選択部107は、入力部101に入力された画像データに応じて、所定の類型のうち、入力画像データに適合するものを選択する。選択部107は、例えば、入力画像データの各色成分、色変換処理に先立って画像データを走査して抽出された特徴に応じて、適合する類型を選択する。また、選択部107は、入力画像データに附随する情報に応じて(例えば、場所、時刻等の附随情報を取得する附随情報取得手段(不図示)をさらに備え、その取得した附随情報に応じて)、適合する類型を選択する。選択部107は、上述に加えて、ユーザの嗜好や目的を考慮して(即ち、ユーザの設定した変換条件を取得する変換条件取得手段(不図示)をさらに備え、その取得した変換条件に基づいて)、適合する類型を選択することもできる。
【0032】
以下、入力画像データの各色成分に応じて、適合する類型を選択する処理に関して、図5を用いて説明を補足する。図5では、入力画像データの各色成分に応じて分類される4つの類型を示している。具体的には、図5において、図5(a)のように画素値の偏りが少ないもの、図5(b)のように画素値 小の頻度が高いもの、図5(c)のように画素値 中の頻度が高いもの、図5(d)のように画素値 大の頻度が高いものの4つの類型で示される。
【0033】
なお、この場合、3軸で各々、4通りとなり、その組み合わせは全部で4×4×4=64通りとなる。ここで、格子点位置情報テーブル103、及び色変換LUT105は、処理時間低減のため、高速にランダムアクセス可能な記憶領域であることが望ましい。但し、記憶領域を、予め64通り全てのテーブルを格納するように構成すると(即ち、大容量にすると)、コスト増大の懸念がある。そのため、本実施形態では、入力画像データに適合するテーブルを都度、設定するように構成している。
【0034】
また、補足として、選択部107が「汎用」、「夜景」、「青空」、「夕焼け」等の動作モードを選択可能なように構成してもよい。この場合、例えば、「汎用」では各色に図5(a)のような偏りの少ないものを設定し、「夜景」では各色に図5(b)のような画素値 小の頻度が高いものを設定する。また、「青空」では、特定の入力色の成分(ここでは、青色の成分)に関して、細かく設定可能なように、例えば、図2(b)のように青色11区間(12格子点)、緑色と赤色それぞれ7区間(8格子点)のテーブルに切り替えるように構成することができる。
【0035】
その他、入力部101は第1変換部102から第2変換部104にかけての変換処理に先立って、処理対象と同一の画像データをヒストグラム取得部(不図示)に送信し、選択部107は、取得したヒストグラムに基づいて、類型を選択するようにしてもよい。
【0036】
設定部108は、選択部107が選択した類型に応じて、格子点位置情報テーブル103及び色変換LUT105を各々、設定する。なお、設定部108は、例えば、2次記憶装置(不図示)から読み出した各々のテーブル設定値を、より高速に動作可能な1次記憶装置の格子点位置情報テーブル103及び色変換LUT105に設定するようにすればよい。
【0037】
以上のように画像処理装置を構成することで、入力色空間のうち、入力画像データの特性に応じて画素値頻度の高い部分に多くのLUT出力値を割り当てることが可能となり、変換精度の高い色変換処理結果を得ることができる。
【0038】
補足として、図6のように、第1変換部102a乃至102d、格子点位置情報テーブル103a乃至103d、第2変換部104a乃至104d、色変換LUT105a乃至105dと最大で出力色数分まで、色数毎に独立して設けることもできる。なお、この場合、第1変換部102a乃至102dには、同一の入力画素値を各々、複製して入力する。このように画像処理装置を構成することで、入力色空間の各入力色の分割数、又は、分割位置を出力色毎に各々、独立して設定することができる。
【0039】
[実施形態2]
次に、実施形態2について説明する。本実施形態では、所定の類型に適合するものがない「汎用」の設定において、色変換LUT105の格子点間隔を均一にし、その代わりとして、格子点位置情報テーブル103の記憶容量を、色変換LUT105の格子点数を拡張する目的で用いる。即ち、色変換LUTの格子点間隔が均一であれば、その区間に対応する画素下限値及び画素上限値を計算できるため、格子点位置情報テーブルを記憶させておく必要はなく、その分の記憶容量を用いて、色変換LUT105の格子点数を拡張することができる。
【0040】
なお、本実施形態において、所定の類型に適合する場合には第1のモードで、所定の類型に適合するものがない場合(即ち、「汎用」が選択される場合)には第2のモードで、色変換処理が実行されるものとする。また、第1のモードに関しては、実施形態1と同様の色変換処理となる。
【0041】
以下、上述の内容に関して、図7の格子点位置情報テーブルを用いて、説明を補足する。なお、図7では、格子点位置情報テーブル103を、入力チャネル毎の1次元LUTとして示しており、格子点位置情報テーブル103は、所定の入力画素値に対する変換後の画素値を保持している。また、第1のモードに関する格子点位置情報テーブルを図7(a)、(b)、第2のモードに関する格子点位置情報テーブルを図7(c)として示している。
【0042】
所定の類型において、第1変換部102は、画素が入力されると、図7(a)に示されるように、入力画素値に応じて格子点位置情報テーブル103を参照して(縦矢印(点線))、線形補間により変換後の画素値(即ち、変換後画素値)を算出する。そして、第2変換部104は、その変換後の画素値を用いて色変換LUT105を参照することで、色変換処理を実行する。このように、図7(a)は、結果として、入力画素値に対する格子点位置を間接的に示すテーブルとして解釈される。
【0043】
ここで、図7(b)に示されるように、色変換LUT105が均等な格子として分割されていると仮定して、等間隔に選択した変換後の画素値(横矢印(点線))から、入力画素値を逆算することを考える。この場合、等間隔に選択した変換後の画素値は、不均等な間隔の入力画素値に対応することがわかる。即ち、この場合、入力画素値と変換後の画素値は、所定の比で対応付けられていない。そのため(即ち、入力画素値から変換後の画素値を計算することができないため)、図7(b)(第1のモード)では、入力画素値に対応する変換後の画素値を設定した格子点位置情報テーブル103を保持しておく必要がある。
【0044】
次に、所定の類型に適合するものがない場合、即ち、選択部107において「汎用」が選択される場合について説明する。選択部107において「汎用」が選択される場合、第1変換部102は、第1のモードと異なる第2のモードに設定することで、図7(c)に示されるように(即ち、入力画素値と変換後の画素値が所定の比で定まるように)、入力画素値を変換する。つまり、第1変換部102は、格子点位置情報テーブル103を参照することなく、所定の変換により変換後の画素値を算出する。
【0045】
そのため、第2のモードでは、格子点位置情報テーブル103として使用しない記憶領域を、色変換LUT105として使用することができ、第1のモードと比較してより多くの格子点数からなる色変換LUT105を用いることができる。
【0046】
以上の内容を踏まえ、次に、本実施形態に係る画像処理装置の第1変換部102の構成に関して図8を用いて、また、第2変換部104の構成に関して図9を用いて説明する。図8(図8(b))は、本実施形態に係る画像処理装置の第1変換部102の構成を示すブロック図である。第1変換部102は、各々1チャネルの入力画素値に対して画素値変換処理を実行する3個の画素値変換処理部809a、809b、809c、及びアドレス・補間係数算出部810を有する。アドレス・補間係数算出部810は、変換後の画素値に基づいて、等間隔の格子に分割された入力色空間において、LUTアドレス及び補間係数を算出する。
【0047】
なお、本実施形態では、図4(b)に示されるように、色変換LUT105を4バンクに分割して格納するものとする。アドレス・補間係数算出部810は、各々のバンクに対するアドレス、及び取得されたLUT出力値に対する係数を別々に算出する。また、アドレス・補間係数算出部810は、後述するように、第1のモードと、第2のモードとで各々、異なる格子点数に基づいて、アドレス及び補間係数を算出する。
【0048】
図8(a)は、画素値変換処理部809の構成を示すブロック図である。第1のモードにおいて、1次元LUTアドレス・補間係数算出部801は、入力画素値に基づいて、1次元LUT802のアドレス及び補間係数を算出する。1次元LUT802は、図7(a)に示すような、入力画素値に対応するアドレスの入力に対して、変換後の画素値を出力するものである。ここでは、補間処理部804での補間処理において参照する1組の画素値が同時に取得されるように、1次元LUT802は2個のSRAMにインターリーブして格納している。このため、1次元LUTアドレス・補間係数算出部801は、各々のSRAMに対するアドレスを別々に算出する。
【0049】
遅延バッファ803は、1次元LUT802の参照に要する時間を遅延として補間係数に付与し、補間処理部804における入力を同期させるためのものである。補間処理部804は、1次元LUT802より出力される1組の出力値に対して、1次元LUTアドレス・補間係数算出部801が算出した補間係数を用いて、線形補間により変換後の画素値を算出する。
【0050】
また、第2のモードにおいて、比例変換処理部806は、図7(c)に相当する変換処理を実行する。ここで、入力画素値と変換後の画素値が同じビット数であれば、特に処理を実行する必要はない。但し、入力画素値と変換後の画素値に関してビット数が異なる場合は、例えば、上位詰めにして空いた下位ビットに、入力画素値の上位ビットから順に必要なビット数だけ複製して詰めるといった処理を実行する。その他、定数倍の方法として、例えば、固定ビット数のシフト処理、及び加算処理があり、この方法の場合、比較的小回路規模で実現することができる。
【0051】
選択器807及び選択器808は、モードに応じて選択処理を実行する。具体的には、選択器807は、モードに応じてSRAMアドレスを選択する。
【0052】
選択器807は、第1のモードにおいては、1次元LUTアドレス・補間係数算出部801により算出された1次元LUT802のアドレスを選択する。また、第2のモードにおいては、画素値変換処理部809の外部から入力された色変換LUT拡張アドレス(より詳細には、後述する第2変換部104から出力された色変換LUT拡張アドレス)を選択する。
【0053】
選択器808は、変換後画素値を選択する。選択器808は、第1のモードにおいては、補間処理部804がSRAM802を用いて算出した変換画素値を、また、第2のモードにおいては、比例変換処理部806がSRAM802を用いずに算出した変換画素値を選択する。
【0054】
次に、図9を用いて、第2変換部104の構成について説明する。図9(図9(b))は、本実施形態に係る画像処理装置の第2変換部104の構成を示すブロック図である。第2変換部104は、図9に示されるように、色変換LUT105の1バンク分に対応する4個のLUT参照部904a乃至904d、及び補間処理部905を有する。
【0055】
図9(a)は、LUT参照部904の構成を示すブロック図である。アドレス判定部901は、第1変換部102により算出されたアドレス(LUTアドレス)が所定のアドレスの範囲内か否かを判定し、所定のアドレス範囲外の拡張アドレスに対しては、外部の記憶領域からLUTデータを参照する。具体的には、上述のように、色変換LUT拡張アドレスを信号として、第1変換部102に入力させ、第1変換部102より出力される色変換LUT拡張出力値を受信することで、LUTデータを取得する。即ち、図9(a)の色変換LUT拡張アドレス(出力)と図8(a)の色変換LUT拡張アドレス(入力)は接続され、また、図8(a)の色変換LUT拡張出力値(出力)と図9(a)の色変換LUT拡張出力値(入力)は接続される。
【0056】
SRAM902は、第1のモードにおける色変換LUT105の1バンク分の容量を備えた記憶手段である。選択器903は、拡張アドレスが有効の場合には、外部から入力された色変換LUT拡張出力値を選択し、そうでない場合には、SRAM902から得られるLUT出力値を選択する。
【0057】
以上のように、第1のモードでは、色変換LUT105における格子点数が少ないことから、拡張アドレスを用いない。そのため、SRAM902から取得されるLUT出力値を選択する。他方、第2のモードでは、LUTアドレスが所定のアドレスの範囲外と判定された場合に拡張アドレスを有効にして、LUTアドレスから所定のアドレス範囲の上限に相当するオフセット値を減算した色変換LUT拡張アドレスを出力する。
【0058】
図10は、色変換LUTを拡張した場合のメモリの使用態様を説明するための図である。第1のモードにおいては、図10(a)のように、SRAM902を4個に分割して、色変換LUT105を格納している。また、SRAM802については、各入力チャネルに関して2個、即ち、計6個を使用して格子点位置情報テーブル103を格納している。
【0059】
他方、第2のモードにおいては、上述のように、入力画素値と変換後の画素値が所定の比で対応付けられていることから、格子点位置情報テーブル103としてメモリ(SRAM802)を使用しない。そのため、そのSRAM802の一部を色変換LUT105の拡張に使用する。
【0060】
以上のように、画像処理装置を構成することで、「汎用」の設定時において、格子点位置情報テーブル(画素値変換テーブル)103に割り当てていた記憶容量を色変換LUT105の拡張に用いることが可能となる。
【0061】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0062】
101 入力部
102 第1変換部
103 格子点位置情報テーブル
104 第2変換部
105 色変換LUT
106 出力部
107 選択部
108 設定部
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】