(57)【特許請求の範囲】
【請求項１】
画像変換時に入力画素値を用いて参照される座標空間の座標の情報と、前記座標空間の座標に対する出力データの情報とを含み、前記座標空間は複数の格子点で格子状に分割され、前記出力データはそれぞれ格子点単位で記録されている変換テーブルを取得する取得部と、
前記座標空間の分割領域を区画する各格子点から得た複数の出力データを用いて、前記分割領域内での出力の非線形性を補正する補正点の出力データを求める演算部と、
前記分割領域に対応する前記補正点の出力データを前記座標空間の局所座標に変換する変換部と、
前記分割領域に対応する前記局所座標の情報を前記変換テーブルに対応づけて記録する
記録処理部と、
を備え、
前記演算部は、前記分割領域を区画する各格子点から得た複数の出力データを平均して前記補正点の出力データを求め、
前記変換部は、前記出力データを前記座標空間の座標に変換するための逆変換処理を用いて前記座標空間で局所座標を求める情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記座標空間の座標を前記出力データに変換して変換テーブルを作成するテーブル作成部をさらに備え、
前記取得部は、前記テーブル作成部が作成した前記変換テーブルを取得する情報処理装置。
【請求項３】
請求項１または請求項２に記載の情報処理装置において、
前記演算部は、前記座標空間に含まれる複数の分割領域のうち、指定された分割領域について前記補正点の出力データを求める情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記演算部は、前記座標空間に含まれる各分割領域内で格子点の座標に対する出力データの２次微分を求めるとともに、前記２次微分の結果から求まる変換誤差が閾値を超えるときに、前記補正点の出力データを求める分割領域として指定する情報処理装置。
【請求項５】
請求項１から請求項４のいずれか１項に記載の局所座標の情報および変換テーブルを取得する取得部と、
処理対象の画像データの入力画素値を用いて変換テーブルの座標空間を参照し、前記入力画素値の属する分割領域に対応した局所座標を取得する参照処理部と、
取得した前記局所座標を用いて、前記座標空間の分割領域内で前記入力画素値の座標を移動させる座標移動部と、
前記分割領域を区画する各格子点から得た複数の出力データを用いて、移動後の前記入力画素値の座標に対応する出力画素値を求める画素値演算部と、
を備える情報処理装置。
【請求項６】
請求項５に記載の情報処理装置において、
前記座標移動部は、
前記局所座標から前記分割領域の中心座標に向かうベクトルを求め、
前記座標空間の分割領域内で、前記局所座標と前記入力画素値の座標とを通過する直線上に基準座標を設定し、
前記基準座標から前記入力画素値の座標までの第１距離と、前記基準座標から前記局所座標までの第２距離との距離比を求め、
前記距離比および前記ベクトルを用いて、前記入力画素値の座標を移動させる情報処理装置。
【請求項７】
請求項５または請求項６に記載の情報処理装置において、
前記座標移動部は、前記入力画素値が指定された分割領域に属するときに、前記入力画素値の座標を移動させる情報処理装置。
【請求項８】
コンピュータを請求項１から請求項７のいずれか１項に記載の情報処理装置として動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来から、デジタルカメラ、プリンタ、ディスプレイを含む映像機器でデジタル画像が扱われているが、同一画像を複数の機器にまたがって扱う際には、各々の機器の色再現特性を考慮した画像信号の変換が必要となる。
【０００３】
上記した画像信号の変換では、入力画素値と出力画素値との対応関係を示すルックアップテーブル（ＬＵＴ）を用いた変換処理が公知である。また、変換空間を格子状に分割して格子点単位で画素値の情報をＬＵＴに保持させるとともに、変換処理時には近傍格子点の画素値を用いた補間演算を行うことで、ＬＵＴのデータ量を小さくする技術も知られている。また、上記のＬＵＴおよび補間演算による変換処理では、変換後のトーンジャンプを抑制するために、変換範囲のうちの一部分で格子状の分割領域をさらに細分化して高精度変換処理を行う技術も提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許３４９３１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のＬＵＴおよび補間演算による変換処理では、格子点の刻みを小さくすれば変換精度を向上させることができる。しかし、上記の場合には、ＬＵＴのデータ量および変換時の演算負荷が著しく増大する点で、なお改善の余地があった。
【０００６】
上記事情に鑑み、変換テーブルのデータ量および変換時の演算負荷を抑制しつつ、比較的精度の高い変換処理を実現する技術を提供する。
【課題を解決するための手段】
【０００７】
一の態様の情報処理装置は、変換テーブルを取得する取得部と、演算部と、変換部と、記録処理部とを備える。変換テーブルは、画像変換時に入力画素値を用いて参照される座標空間の座標の情報と、座標空間の座標に対する出力データの情報とを含む。また、座標空間は複数の格子点で格子状に分割され、出力データはそれぞれ格子点単位で記録されている。演算部は、座標空間の分割領域を区画する各格子点から得た複数の出力データを用いて、分割領域内での出力の非線形性を補正する補正点の出力データを求める。変換部は、分割領域に対応する補正点の出力データを座標空間の局所座標に変換する。記録処理部は、分割領域に対応する局所座標の情報を変換テーブルに対応づけて記録する。
【０００８】
一の態様において、演算部は、分割領域を区画する各格子点から得た複数の出力データを平均して補正点の出力データを求めてもよい。また、変換部は、出力データを座標空間の座標に変換するための逆変換処理を用いて座標空間で局所座標を求めてもよい。
【０００９】
一の態様の情報処理装置は、座標空間の座標を出力データに変換して変換テーブルを作成するテーブル作成部をさらに備えていてもよい。そして、取得部は、テーブル作成部が作成した変換テーブルを取得してもよい。
【００１０】
一の態様において、演算部は、座標空間に含まれる複数の分割領域のうち、指定された分割領域について補正点の出力データを求めてもよい。このとき、演算部は、座標空間に含まれる各分割領域内で格子点の座標に対する出力データの２次微分を求めてもよい。そして、演算部は、２次微分の結果から求まる変換誤差が閾値を超えるときに、補正点の出力データを求める分割領域として指定してもよい。
【００１１】
他の態様の情報処理装置は、一の態様に記載の局所座標の情報および変換テーブルを取得する取得部と、参照処理部と、座標移動部と、画素値演算部とを備える。参照処理部は、処理対象の画像データの入力画素値を用いて変換テーブルの座標空間を参照する。そして、参照処理部は、入力画素値の属する分割領域に対応した局所座標を取得する。座標移動部は、取得した局所座標を用いて、座標空間の分割領域内で入力画素値の座標を移動させる。画素値演算部は、分割領域を区画する各格子点から得た複数の出力データを用いて、移動後の入力画素値の座標に対応する出力画素値を求める。
【００１２】
他の態様において、座標移動部は、局所座標から分割領域の中心座標に向かうベクトルを求めてもよい。また、座標移動部は、座標空間の分割領域内で、局所座標と入力画素値の座標とを通過する直線上に基準座標を設定してもよい。また、座標移動部は、基準座標から入力画素値の座標までの第１距離と、基準座標から局所座標までの第２距離との距離比を求めてもよい。そして、座標移動部は、距離比およびベクトルを用いて、入力画素値の座標を移動させてもよい。
【００１３】
他の態様において、座標移動部は、入力画素値が指定された分割領域に属するときに、入力画素値の座標を移動させてもよい。
【００１４】
なお、コンピュータを上記の情報処理装置として動作させるプログラムや、上記のプログラムを記憶した記憶媒体や、上記の情報処理装置の動作を方法のカテゴリで表現したものは、いずれも本発明の具体的態様として有効である。
【発明の効果】
【００１５】
分割領域での出力の非線形性を補正するための局所座標の情報が変換テーブルに対応づけて記録される。変換時には、上記の局所座標を用いて分割領域内で入力画素値の座標を移動させることで、変換テーブルのデータ量および変換時の演算負荷を抑制しつつ、比較的精度の高い変換処理が実現できる。
【図面の簡単な説明】
【００１６】
【図１】第１の情報処理装置の一例であるコンピュータの構成例を示す図
【図２】一の実施形態におけるコンピュータの動作例を示す流れ図
【図３】変換テーブルの分割領域の例を示す図
【図４】変換データセットのデータ構造例を示す模式図
【図５】第２の情報処理装置の一例である電子カメラの構成例を示す図
【図６】一の実施形態における電子カメラの動作例を示す流れ図
【図７】正規化された分割領域の座標空間における各座標の位置関係の例を示す図
【図８】ＲＡＷ−ディスプレイ変換の例を示す図
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、一の実施形態での画像処理システムの例を説明する。一の実施形態での画像処理システムは、ＲＡＷ画像データから写真に相当する色再現画像データへの変換（ＲＡＷ−ディスプレイ変換と称する）を行うために用いられる。一の実施形態での画像処理システムは、ＲＡＷ−ディスプレイ変換に用いる変換データセットを生成する第１の情報処理装置と、上記の変換データセットを用いてＲＡＷ−ディスプレイ変換を行う第２の情報処理装置とを有している。
【００１８】
ここで、ＲＡＷ画像データは、入射光の光量に対する出力信号値の関係が線形性を有するデジタルのカラー画像データである。このＲＡＷ画像は、欠陥画素の補正処理が施されたものであってもよい。また、ＲＡＷ画像は、色補間前の状態であるベイヤ配列構造のモザイク状の画像であってもよく、あるいは色補間処理が施された後のカラー画像であってもよい。一の実施形態でのＲＡＷ画像データは、各色階調が１６ビットのＲＧＢ画像データである。また、一の実施形態での色再現画像データは、各色階調が８ビットのＲＧＢ画像データである。
【００１９】
ＲＡＷ−ディスプレイ変換は、一例として、階調変換処理、色変換処理を含む。上記のＲＡＷ−ディスプレイ変換の変換特性は、例えば、撮像素子の特性、表示デバイスの特性、画像の色再現の意図などを考慮して調整される。また、上記のＲＡＷ−ディスプレイ変換は、一般的にデバイスの機種別にそれぞれ異なる処理が行われる。また、１つの機種上で複数の色再現モード（例えばStandardモード、Neutralモード、Vividモードなど）がある場合、各々の色再現モードに対応するＲＡＷ−ディスプレイ変換はそれぞれ異なる処理となる。なお、一の実施形態の画像処理システムは、ＲＡＷ−ディスプレイ変換の処理ごとに、それぞれ異なる変換データセットを用意する。
【００２０】
また、一の実施形態でのＲＡＷ−ディスプレイ変換は、入力画像データ（ＲＡＷ画像データ）の画素値を出力画像データ（色再現画像データ）の画素値に変換する変換テーブルを用いて行われる。
【００２１】
変換テーブルは、ＲＡＷ画像データの画素値を用いて参照される座標空間での座標の情報と、色再現画像データの画素値を示す出力データの情報とを対応付けて記録している。すなわち、ＲＡＷ画像データの入力画素値を参照して座標空間の座標を求め、この座標に対応する出力データを得る処理により、ＲＡＷ画像データの画素値は色再現画像データの画素値に変換される。
【００２２】
一の実施形態において座標空間は、ＲＧＢ色空間に対応する立方体状の三次元空間である。また、ＲＡＷ画像データの各色成分はそれぞれ１６ビット（０〜６５５３５）で表現され、色再現画像データの各色成分はそれぞれ８ビット（０〜２５５）で表現される。
【００２３】
また、変換テーブルの座標空間は、複数の格子点で格子状に分割されている。例えば、座標空間の各色成分は、１６個の格子点で全階調範囲が１５の区間に等分割されている。よって、座標空間は、３３７５（＝１５×１５×１５）個の立方体状の分割領域を有している（図３参照）。
【００２４】
そして、変換テーブルでの出力データの値はそれぞれ格子点単位で記録されている。例えば、座標空間の座標から出力データの値を求める場合、注目する座標の存在する分割領域に属する格子点の座標を取得し、これらの座標を用いて補間演算を行うことで、注目する座標に対応する出力データの値が求められる。
【００２５】
（第１の情報処理装置の説明）
図１は、第１の情報処理装置の一例であるコンピュータの構成例を示す図である。第１の情報処理装置は、分割領域での出力の非線形性を補正するための局所座標の情報を上記の変換テーブルに付与し、変換データセットを生成する。
【００２６】
図１に示すコンピュータ１１は、データ読込部１２と、記憶装置１３と、ＣＰＵ１４と、メモリ１５および入出力Ｉ／Ｆ１６と、バス１７とを有している。データ読込部１２、記憶装置１３、ＣＰＵ１４、メモリ１５および入出力Ｉ／Ｆ１６は、バス１７を介して相互に接続されている。さらに、コンピュータ１１には、入出力Ｉ／Ｆ１６を介して、入力デバイス１８（キーボード、ポインティングデバイスなど）とモニタ１９とがそれぞれ接続されている。なお、入出力Ｉ／Ｆ１６は、入力デバイス１８からの各種入力を受け付けるとともに、モニタ１９に対して表示用のデータを出力する。
【００２７】
データ読込部１２は、上記の変換テーブルのデータや、後述の変換式のデータや、コンピュータ１１が実行するプログラムなどを外部から読み込むときに用いられる。例えば、データ読込部１２は、着脱可能な記憶媒体からデータを取得する読込デバイス（光ディスク、磁気ディスク、光磁気ディスクの読込装置など）や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス（ＵＳＢインターフェース、ＬＡＮモジュール、無線ＬＡＮモジュールなど）である。
【００２８】
記憶装置１３は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体で構成される。この記憶装置１３には、上記のプログラムや各種のデータが記録されている。
【００２９】
ＣＰＵ１４は、コンピュータ１１の各部を統括的に制御するプロセッサである。このＣＰＵ１４は、上記のプログラムの実行によって、演算部２１、変換部２２、テーブル作成部２３、記録処理部２４として機能する。
【００３０】
演算部２１は、注目する分割領域内での出力の非線形性を補正する補正点での出力データの値を求める。例えば、演算部２１は、注目する分割領域を区画する各格子点の出力データの値を平均化することで補正点での出力データの値を求める。
【００３１】
変換部２２は、変換テーブルに対応した変換式を用いて、ＲＡＷ画像データの画素値を色再現画像データの画素値に変換する変換処理（ＲＡＷ−ディスプレイ変換）と、色再現画像データの画素値をＲＡＷ画像データの画素値に変換する逆変換処理（ディスプレイ−ＲＡＷ変換）とをそれぞれ実行する。また、変換部２２は、上記の逆変換処理により、上記の補正点の出力データの値から座標空間での局所座標を求める。
【００３２】
テーブル作成部２３は、変換部２２の変換式を用いて座標空間の座標を出力データの値に変換し、変換テーブルを作成する。
【００３３】
記録処理部２４は、分割領域ごとに求められた局所座標の情報を変換テーブルに対応づけて記録し、変換データセットを生成する。
【００３４】
メモリ１５は、プログラムでの各種演算結果を一時的に記憶する。このメモリ１５は、例えば揮発性のＳＤＲＡＭなどで構成される。
【００３５】
次に、図２の流れ図を参照しつつ、一の実施形態におけるコンピュータ１１の動作例を説明する。図２の流れ図の処理は、ユーザからの変換データセットの生成指示に応じてＣＰＵ１４が開始する。
【００３６】
ステップ＃１０１：ＣＰＵ１４は、変換テーブルの読み込みまたは変換テーブルの作成のいずれかの指示がユーザによって入力されたか否かを判定する。変換テーブルの読み込みが指示された場合には、＃１０２に処理が移行する。一方、変換テーブルの作成が指示された場合には、＃１０４に処理が移行する。
【００３７】
ステップ＃１０２：ＣＰＵ１４は、予め作成されている処理対象の変換テーブルをデータ読込部１２から読み込んで取得する。＃１０２で取得された変換テーブルは、ＣＰＵ１４の制御によって記憶装置１３またはメモリ１５に記録される。
【００３８】
ステップ＃１０３：ＣＰＵ１４は、処理対象の変換テーブル（＃１０２）に対応する変換式のデータをデータ読込部１２から読み込んで取得する。＃１０３で取得された変換式のデータは、ＣＰＵ１４の制御によって記憶装置１３またはメモリ１５に記録される。なお、変換式のデータが予め記憶装置１３に記憶されている場合には、ＣＰＵ１４は＃１０３の処理を省略してもよい。その後、ＣＰＵ１４は＃１０６に処理を移行させる。
【００３９】
ステップ＃１０４：ＣＰＵ１４は、作成すべき変換テーブルに対応する変換式のデータをデータ読込部１２から読み込んで取得する。なお、＃１０４の処理は、＃１０３の処理に対応するので重複説明は省略する。
【００４０】
ステップ＃１０５：テーブル作成部２３は、変換式のデータ（＃１０４）を用いて変換テーブルのデータを作成する。
【００４１】
一例として、＃１０５でのテーブル作成部２３は、座標空間での格子点の刻みと、各格子点の座標との入力を受け付ける。例えば、テーブル作成部２３には、格子点の刻みとして１６×１６×１６の値が入力される。ここで、座標空間での各格子点の座標は、ＲＡＷ画像データのＲＧＢ画素値に一致する。すなわち、座標空間で各色成分の階調範囲は０〜６５５３５であり、座標空間での格子点の刻みは４３６９（＝６５５３５／（１６−１））となる。
【００４２】
これにより、テーブル作成部２３は、座標空間での各格子点での座標を順次取得できる［例えば、（０，０，０），（０，０，４３６９），…，（０，０，６５５３５），（０，４３６９，０），…，（０，４３６９，６５５３５），…，（６５５３５，６５５３５，６５５３５）］。なお、記録処理部２４は、上記の各格子点の座標をメモリ１５等に記録する。なお、図３に、変換テーブルの分割領域の例を示す。
【００４３】
次に、テーブル作成部２３は、ＲＡＷ−ディスプレイ変換により、各格子点の座標に対応する出力データの値を順次求める［例えば、（０，０，０），（２，５，１０），…，（３０，８０，２５５），（２，５，１），…，（３５，９０，２５５），…，（２５５，２５５，２５５）］。ここで、色再現画像データの各色成分の階調範囲は０〜２５５である。ＲＡＷ−ディスプレイ変換は非線形の変換であるため、各格子点の座標と出力データの値とは非線形の関係となる。
【００４４】
その後、テーブル作成部２３は、座標空間の各格子点での座標と出力データの値との対応関係をメモリ１５等に記録して変換テーブルを作成する。これにより、ＣＰＵ１４は、処理対象の変換テーブルを取得できる（図４参照）。
【００４５】
ステップ＃１０６：ＣＰＵ１４は、全ての分割領域（Ｄ１〜Ｄ３３７５）のうちから、演算対象となる注目分割領域を指定する。なお、ＣＰＵ１４は、全ての分割領域（Ｄ１〜Ｄ３３７５）を順番に注目分割領域に指定するものとする。
【００４６】
ステップ＃１０７：演算部２１は、処理対象の変換テーブル（＃１０２、＃１０５）を用いて、注目分割領域を対象として、分割領域内での出力の非線形性を補正する補正点での出力データの値をそれぞれ求める。＃１０７での演算部２１は、注目分割領域を区画する各格子点から得た複数の出力データの値を平均して、上記の補正点での出力データの値を求める。
【００４７】
一例として、座標空間上の分割領域Ｄ１の場合を考える。上記の分割領域Ｄ１は、Ｍ１（０，０，０）、Ｍ２（０，０，４３６９）、Ｍ３（０，４３６９，０）、Ｍ４（０，４３６９，４３６９）、Ｍ５（４３６９，０，０）、Ｍ６（４３６９，０，４３６９）、Ｍ７（４３６９，４３６９，０）、Ｍ８（４３６９，４３６９，４３６９）の８つの格子点で区画される。変換テーブルには、Ｍ１〜Ｍ８の各格子点に対応する８つの出力データの値が記録されている。演算部２１は、格子点Ｍ１〜Ｍ８の出力データの値をＲＧＢの各色別に平均化する。そして、演算部２１は、Ｍ１〜Ｍ８での出力データのＲＧＢの各平均値を、分割領域Ｄ１の補正点での出力データの値とする。
【００４８】
ステップ＃１０８：変換部２２は、補正点での出力データの値（＃１０７）に対して逆変換処理（ディスプレイ−ＲＡＷ変換）を施す。これにより、変換部２２は、補正点での出力データの値（各格子点での出力データの平均値）を注目分割領域内の座標に変換する。
【００４９】
分割領域Ｄ１の例で云えば、Ｍ１〜Ｍ８での出力データの平均値による補正点に対応する座標（＃１０８）は、分割領域Ｄ１の立体中心と必ずしも一致しない。これは、各格子点の座標と各出力データの値とが非線形の関係にあるためである。なお、一の実施形態の例では、分割領域Ｄ１における補正点の座標空間の座標を（４０００，３０００，２０００）とし、分割領域Ｄ１の立体中心からずれているものとする。
【００５０】
ステップ＃１０９：変換部２２は、＃１０８で求めた座標を局所座標に変換する。具体的には、＃１０９での変換部２２は、＃１０８で求めた座標の最大値を１．０に正規化して局所座標とする。なお、＃１０９で求めた局所座標の情報は、ＣＰＵ１４の制御によりメモリ１５に記録される。
【００５１】
上記の分割領域Ｄ１の例では、変換部２２は以下の演算により局所座標Ｌ１を算出できる。
【００５２】
（４０００／４３６９，３０００／４３６９，２０００／４３６９）＝Ｌ１（０．９１５５，０．６８６７，０．４５７８）
ステップ＃１１０：ＣＰＵ１４は、全ての分割領域が注目分割領域に指定されたか否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、＃１１１に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、ＣＰＵ１４は＃１０６に戻って新たな注目分割領域を指定し、上記の動作を繰り返す。＃１０６から＃１１０のＮＯ側のループにより、全ての分割領域Ｄ１〜Ｄ３３７５に対応する局所座標Ｌ１〜Ｌ３３７５の情報がそれぞれ生成される。
【００５３】
ステップ＃１１１：記録処理部２４は、処理対象の変換テーブル（＃１０２、＃１０５）に、局所座標Ｌ１〜Ｌ３３７５の情報を対応付けて記録し、変換データセットを生成する。図４に、変換データセットのデータ構造例を模式的に示す。この変換データセットは、ＣＰＵ１４の制御により記憶装置１３に記録される。以上で、図２の流れ図の説明を終了する。
【００５４】
なお、複数種類の変換データセットが必要となる場合は、図２の流れ図の処理を各変換テーブルについてそれぞれ実行すればよい。
【００５５】
（第２の情報処理装置の説明）
図５は、第２の情報処理装置の一例である電子カメラの構成例を示す図である。第２の情報処理装置は、上記の第１の情報処理装置で生成された変換データセットを用いて、ＲＡＷ画像データを色再現画像データに変換する。
【００５６】
図５に示す電子カメラ３１は、撮像素子３２と、信号処理部３３と、第１バッファメモリ３４と、不揮発性メモリ３５と、画像処理エンジン３６と、第２バッファメモリ３７と、モニタ３８と、記録Ｉ／Ｆ３９と、ＣＰＵ４０とを有している。撮像素子３２、信号処理部３３、画像処理エンジン３６、記録Ｉ／Ｆ３９はそれぞれＣＰＵ４０と接続されている。このＣＰＵ４０は、電子カメラ３１の各部動作を統括的に制御するプロセッサである。また、第１バッファメモリ３４、不揮発性メモリ３５および第２バッファメモリ３７は、画像処理エンジン３６に接続されている。
【００５７】
撮像素子３２は、撮影光学系（不図示）を通過した光束による被写体の結像を撮像するデバイスである。この撮像素子３２の出力は信号処理部３３に接続されている。上記の撮像素子３２は、順次走査方式の固体撮像素子（例えばＣＣＤ）であってもよく、ＸＹアドレス方式の固体撮像素子（例えばＣＭＯＳ）であってもよい。
【００５８】
また、撮像素子３２の受光面には、複数の受光素子がマトリックス状に配列されている。また、撮像素子３２の各受光素子にはカラーフィルタが配置されている。例えば、一の実施形態では、ＲＧＢのカラーフィルタが公知のベイヤ配列にしたがって各受光素子に配置されている。そのため、撮像素子３２の各受光素子は、カラーフィルタでの色分解によって各色に対応する画像信号を出力する。これにより、撮像素子３２は、撮影時にカラーの画像を取得できる。
【００５９】
信号処理部３３は、入力画像信号に対して相関二重サンプリング、Ａ／Ｄ変換、欠陥画素補正などの信号処理を実行し、後段にＲＡＷ画像データを出力する回路である。この信号処理部３３の出力は第１バッファメモリ３４に接続されている。
【００６０】
第１バッファメモリ３４は、ＲＡＷ画像データを一時的に記録する。第１バッファメモリ３４は、例えば揮発性の記憶媒体であるＳＤＲＡＭで構成される。また、不揮発性メモリ３５は、上記の第１の情報処理装置で生成された変換データセットや、画像処理エンジン３６で実行されるプログラムを記憶する。
【００６１】
画像処理エンジン３６は、バッファメモリのＲＡＷ画像データを色再現画像データに変換するプロセッサである。この画像処理エンジン３６は、プログラムの実行により、参照処理部４１、座標移動部４２、画素値演算部４３として機能する（参照処理部４１、座標移動部４２、画素値演算部４３の各機能は後述する）。
【００６２】
第２バッファメモリ３７は、画像処理エンジン３６から出力される色再現画像データを一時的に記録する。第２バッファメモリ３７にはモニタ３８および記録Ｉ／Ｆ３９が接続されている。なお、第２バッファメモリ３７は、例えば揮発性の記憶媒体であるＳＤＲＡＭで構成される。
【００６３】
モニタ３８は、色再現画像データに基づく出力画像を表示する表示デバイスである。また、記録Ｉ／Ｆ３９は、不揮発性の記憶媒体４４を接続するためのコネクタを有している。そして、記録Ｉ／Ｆ３９は、コネクタに接続された記憶媒体４４に対してデータの書き込み／読み込みを実行する。上記の記憶媒体４４は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、図５では記憶媒体４４の一例としてメモリカードを図示する。
【００６４】
次に、図６の流れ図を参照しつつ、一の実施形態における電子カメラ３１の動作例を説明する。以下の動作例は、画像撮影時にＲＡＷ画像データを色再現画像データに変換するケースである。なお、図６の流れ図の処理は、ユーザの撮影画像の取得指示（電子カメラ３１のレリーズ釦の全押し操作など）に応じてＣＰＵ４０が開始する。
【００６５】
ステップ＃２０１：ＣＰＵ４０は、撮像素子３２を駆動させて被写体の像を撮影する。撮像素子３２から出力された画像信号は、信号処理部３３をパイプライン式に通過する。そして、第１バッファメモリ３４には、処理対象となるＲＡＷ画像データが蓄積される。なお、簡単のため、ＲＡＷ画像データはこの段階で色補間処理が施された状態にあるものとする。
【００６６】
ステップ＃２０２：画像処理エンジン３６は、今回のＲＡＷ−ディスプレイ変換に対応する変換データセットを不揮発性メモリ３５から読み出して取得する。
【００６７】
ステップ＃２０３：画像処理エンジン３６は、ＲＡＷ画像データのうちから注目画素を指定する。そして、画像処理エンジン３６は、第１バッファメモリ３４からＲＡＷ画像データの注目画素のＲＧＢ画素値を読み込む。なお、画像処理エンジン３６は、順次走査で画像内の全画素を順番に注目画素に指定するものとする。
【００６８】
ステップ＃２０４：画像処理エンジン３６の参照処理部４１は、注目画素（＃２０３）のＲＧＢ画素値を用いて変換テーブルの座標空間を参照する。そして、参照処理部４１は、注目画素に対応する座標空間の座標を求める。また、参照処理部４１は、変換テーブルの全分割領域のうちで注目画素の座標が属する分割領域を求める。そして、参照処理部４１は、変換データセットを参照し、注目画素が属する分割領域に対応する局所座標Ｌの情報を取得する。
【００６９】
具体的には、参照処理部４１は、注目画素のＲＧＢ画素値（ｒ，ｇ，ｂ）を以下の式（１）〜式（３）に代入し、ｒＩ、ｇＩ、ｂＩの各値を求める。なお、下式（１）〜（３）の「ＩＮＴ（）」は、括弧内の値の整数部分を返す関数である。
ｒＩ＝ＩＮＴ（（ｒ／６５５３５）×（１６−１））×４３６９    ……（１）
ｇＩ＝ＩＮＴ（（ｇ／６５５３５）×（１６−１））×４３６９    ……（２）
ｂＩ＝ＩＮＴ（（ｂ／６５５３５）×（１６−１））×４３６９    ……（３）
上記の（ｒＩ，ｇＩ，ｂＩ）は、注目画素の属する分割領域において原点に最も近い格子点の座標となる。よって、参照処理部４１は、上記の（ｒＩ，ｇＩ，ｂＩ）から注目画素の座標が属する分割領域を求めることができる。
【００７０】
一例として、注目画素のＲＧＢ画素値が（２６００，１３００，１７００）である場合を考える。この場合、（ｒＩ，ｇＩ，ｂＩ）＝（０，０，０）となるので、Ｍ１（０，０，０）が原点に最も近い格子点である分割領域Ｄ１に注目画素の座標が属していると分かる。よって、参照処理部４１は、変換データセットから分割領域Ｄ１に対応する局所座標Ｌ１の情報を読み出せばよい。
【００７１】
ステップ＃２０５：参照処理部４１は、注目画素のＲＧＢ画素値（ｒ，ｇ，ｂ）を最大値が１．０となるように正規化する。これにより、正規化後の注目画素の画素値は、局所座標Ｌと同じ形式の座標Ｐに換算される。
【００７２】
具体的には、参照処理部４１は、以下の式（４）〜式（６）の演算により、正規化後の注目画素の座標Ｐ（ｒ’，ｇ’，ｂ’）を求める。
ｒ’＝（ｒ／６５５３５）×（１６−１）−ｒＩ    ……（４）
ｇ’＝（ｇ／６５５３５）×（１６−１）−ｇＩ    ……（５）
ｂ’＝（ｂ／６５５３５）×（１６−１）−ｂＩ    ……（６）
一例として、上記のように注目画素のＲＧＢ画素値が（２６００，１３００，１７００）のとき、式（４）〜式（６）より、座標Ｐ（ｒ’，ｇ’，ｂ’）＝（０．５９５１，０．６８６７，０．４５７８）となる。
【００７３】
ステップ＃２０６：座標移動部４２は、最大値が１．０に正規化された分割領域の座標空間において、局所座標Ｌ（＃２０４）から分割領域の中心座標Ｃ（０．５，０．５，０．５）に向かうベクトルＬＣを求める。図７は、正規化された分割領域（Ｄ１）の座標空間における各座標の位置関係の例を示す。
【００７４】
【数１】
0005605067.tif 000002
【００７５】
ステップ＃２０７：座標移動部４２は、正規化された分割領域の座標空間内で、局所座標Ｌと座標Ｐ（＃２０５）とを通過する直線上に基準座標Ｓを設定する。一例として、座標移動部４２は、座標Ｌから座標Ｐに向かう直線の延長線と、分割領域の４つの格子点がなす正方形の境界面との交点に基準座標Ｓを設定する（図７参照）。
【００７６】
【数２】
0005605067.tif 000003
【００７７】
となるので、α＝１．７６５となる。
【００７８】
【数３】
0005605067.tif 000004
【００７９】
ステップ＃２０８：座標移動部４２は、基準座標Ｓから座標Ｐまでの第１距離と、基準座標Ｓから局所座標Ｌまでの第２距離との距離比ｓ（＝ＰＳ／ＬＳ）を求める。
【００８０】
上記の例であれば、距離比ｓ＝（１．７６５−１．０）／（１．７６５）＝０．４３３４となる。
【００８１】
ステップ＃２０９：座標移動部４２は、距離比ｓ（＃２０８）とベクトルＬＣ（＃２０６）とを用いて分割領域内で座標Ｐを移動させる。なお、移動後の座標はＰ’と表記する。上記の例であれば、座標移動部４２は下記の演算で座標Ｐ’を求めることができる。
【００８２】
【数４】
0005605067.tif 000005
【００８３】
よって、座標Ｐ’＝（０．４１５０，０．２１６７，０．４０７４）となる。かかる座標Ｐ’は、後段の線形補間処理での入力座標となる。＃２０９の処理において、座標移動部４２は、局所座標Ｌおよび中心座標Ｃの関係を用いて、分割領域内での出力の非線形性を補正するように座標Ｐを座標Ｐ’へ移動させる。
【００８４】
ここで、注目画素の座標Ｐが局所座標Ｌと一致する場合には、＃２０９の処理により座標Ｐが中心座標Ｃに移動する。この場合の線形補間処理での出力データの値は、分割領域を区画する格子点の出力データの平均値と等しくなる。なお、分割領域の４つの格子点がなす正方形の境界面上に座標Ｐが位置する場合には、＃２０９の処理で座標Ｐは移動しない。
【００８５】
ここで、図８を参照しつつ、一の実施形態において局所座標Ｌを用いて座標Ｐを移動させる理由を説明する。なお、簡単のため、図８では一次元の補間処理の例を示す。図８の横軸は入力信号ｘの値を示し、図８の縦軸は出力信号ｙの値を示す。また、図８の例では、ｙ＝ｘ2の画像変換が行われるものとする。また、図８の座標（０，０）、（１，１）、（２，４）がそれぞれ格子点の位置に相当する。
【００８６】
図８（ｉ）はｙ＝ｘ2の変換結果を示している（図中の細実線）。これに対し、図８（ｉｉ）は、格子間隔１．０で格子点間を線形補間した結果を示している（図中の破線）。図８（ｉｉ）では、ｘ＜１．０の区間はｙ＝ｘで変換され、ｘ≧１．０の区間はｙ＝３ｘ−２で変換される。図８（ｉｉ）の補間では、ｘ＝１．０を境界として急激な出力変化が生じる。
【００８７】
図８（ｉｉｉ）は、一の実施形態の手法による変換の結果を示している（図中の太実線）。図８（ｉｉｉ）では、まず、格子点間の出力平均値から局所座標Ｌとなるｘ値を求める。そして、図８（ｉｉｉ）では、局所座標Ｌが格子点間の中心になるように、ｘの座標を移動させる。
【００８８】
図８の例において、０≦ｘ＜１．０区間の出力平均は、ｙ＝（１．０−０．０）／２＝０．５である。よって、０≦ｘ＜１．０区間の局所座標Ｌは、ｘ＝（０．５）(1/2)＝０．７０７１となる。同様に、１．０≦ｘ＜２．０区間の出力平均は、ｙ＝（１．０＋４．０）／２＝２．５である。よって、１．０≦ｘ＜２．０区間の局所座標Ｌは、ｘ＝（２．５）(1/2)＝１．５８１となる。
【００８９】
そして、０≦ｘ＜１．０区間では、ｘ＝０．７０７１をｘ＝０．５に移動させる。１．０≦ｘ＜２．０区間では、ｘ＝１．５８１をｘ＝１．５に移動させる。なお、その他の点は上記の座標移動に応じて線形変換すればよい。
【００９０】
よって、図８（ｉｉｉ）の座標変換は、０≦ｘ＜１．０区間で以下のようになる。
ｘ’＝（０．５／０．７０７１）ｘ    ［ｘ≦０．７０７１］
ｘ’＝（０．５／（１−０．７０７１））（ｘ−１）＋１    ［ｘ＞０．７０７１］
また、図８の（ｉｉｉ）の座標変換は、１．０≦ｘ＜２．０区間で以下のようになる。
ｘ’＝（（１．５−１）／（１．５８１−１））（ｘ−１）＋１    ［ｘ≦１．５８１］
ｘ’＝（（２−１．５）／（２−１．５８１））（ｘ−２）＋２    ［ｘ＞１．５８１］
上記の座標変換後に、０≦ｘ＜１．０区間ではｙ＝ｘ’の補間処理が行われる。同様に、１．０≦ｘ＜２．０区間ではｙ＝３ｘ’−２の補間処理が行われる。これにより、図８（ｉｉｉ）の例では太実線で示す入出力特性を得ることができる。図８（ｉｉｉ）の場合、単純な補間処理の場合（図８（ｉｉ））と比べて、理想的なｙ＝ｘ2の変換（図８（ｉ））によく近似することが分かる。
【００９１】
ステップ＃２１０：画素値演算部４３は、分割領域を区画する各格子点から得た複数の出力データの値を用いて、移動後の座標Ｐ’に対応する出力データの値を線形補間で求める。この座標Ｐ’に対応する出力データの値は、色再現画像データでの注目画素の画素値となる。なお、＃２１０で求めた注目画素の画素値は第２バッファメモリ３７に逐次記録される。
【００９２】
ステップ＃２１１：画像処理エンジン３６は、ＲＡＷ画像データの全画素が注目画素に指定されたか否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、＃２１２に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、画像処理エンジン３６は＃２０３に戻って新たな注目画素を指定し、上記の動作を繰り返す。＃２０３から＃２１１のＮＯ側のループにより、ＲＡＷ画像データの全画素が色再現画像データに変換される。
【００９３】
ステップ＃２１２：ＣＰＵ４０は、第２バッファメモリ３７に蓄積された変換後の色再現画像のデータを記憶媒体４４に記録する。また、ＣＰＵ４０は、色再現画像データによる出力画像をモニタ３８に表示する。以上で、図６の流れ図の説明を終了する。
【００９４】
一の実施形態での第１の情報処理装置は、座標空間の格子点単位で出力データの値の情報をもつ変換テーブルに、分割領域ごとの局所座標の情報を対応づけて変換データセットを生成する。そして、一の実施形態での第２の情報処理装置は、ＲＡＷ−ディスプレイ変換時に、上記の局所座標を用いて分割領域内で入力画素値の座標を移動させる。これにより、格子点間で線形補間する場合と比べて精度の高いＲＡＷ−ディスプレイ変換処理が実現できる。また、一の実施形態での変換データセットのデータ構造によれば、例えば変換テーブルの格子点の刻みを小さくする場合と比べて、変換テーブルのデータ量や変換時の演算負荷を抑制しつつ、精度の高いＲＡＷ−ディスプレイ変換を行うことができる。
【００９５】
＜実施形態の補足事項＞
（変形例１）：一の実施形態の説明では、局所座標の記録、使用により理想の変換に近い変換を実現できることを示した。しかし、第１の情報処理装置は、局所座標への変換前（正規化される前）の座標を変換データセットに記録しても良い。例えば、第１の情報処理装置は、上記の例において、局所座標Ｌ１（０．９１５５，０．６８６７，０．４５７８）の代わりに、座標（４０００，３０００，２０００）を記録してもよい。また、第１の情報処理装置は、局所座標Ｌから中心座標Ｃに向かうベクトル(図７のベクトルＬＣ)を記録しても良い。
【００９６】
（変形例２）：一の実施形態の説明では逆変換処理で局所座標を求めたが、本発明は上記実施形態の例に限定されない。例えば、第１の情報処理装置は、順方向の変換を実験的に何回か行い、平均値に近い出力となる入力値を調査することで局所座標を求めてもよい。また、局所座標の認識は順方向の変換にとどまらない。例えば、カラーマネジメントにおけるプリンタプロファイルの作成に適用することができる。プリンタプロファイルの作成のためにはプリント時にプリンタに送信するデータ（カラーパッチのデータ）と、これをプリントして測定器で測定したときの測定値との対応関係（ＬＵＴ）を得ることになる。このＬＵＴの格子点で形成される立体について、より理想的な変換を求める場合、本発明の局所座標を利用する方法が適用できる。そのためには例えばデータ間隔を細かくしたカラーパッチを作成し、これをプリントして、立体を構成する格子点の出力平均となる入力データを調査すればよい。
【００９７】
（変形例３）：一の実施形態では、全分割領域で局所座標を算出する例を説明したが、本発明は上記実施形態の例に限定されない。例えば、第１の情報処理装置は、分割領域のうち、通常の線形補間を行った場合に理想の変換との変換誤差が大きいものを対象として局所座標を算出してもよい。より具体的には、第１の情報処理装置は、各分割領域内において格子点の座標に対する出力データの値の２次微分を求め、この２次微分の結果から求まる変換誤差が閾値を超えるときに、局所座標を求める分割領域として指定してもよい。
【００９８】
上記の処理で生成された変換データセットは、変換誤差が大きくなる分割領域のみ局所座標の情報をもつことになる。そのため、上記の変換データセットを適用するケースにおいて、第２の情報処理装置は、局所座標の情報をもつ分割領域を指定して入力画素値の座標を移動させる処理を行えばよい。なお、局所座標の情報がない分割領域については、第２の情報処理装置は、複数の格子点を用いた通常の線形補間処理で出力画素値を求めればよい。
【００９９】
（変形例４）：一の実施形態では、第２の情報処理装置が電子カメラ３１に実装される例を説明した。しかし、本発明の第２の情報処理装置は電子カメラに限定されず、ＲＡＷ−ディスプレイ変換を行う電子デバイス全般（例えば、フォトビューア、プリンタなど）に広く適用できる。また、第２の情報処理装置としての電子カメラは、記憶媒体４４に記憶されているＲＡＷ画像データを再生するときに、図６の＃２０２〜＃２１１の処理を実行してもよい。
【０１００】
（変形例５）：一の実施形態での第１の情報処理装置は、演算部２１、変換部２２、記録処理部２４の各処理をソフトウエア的に実現する例を説明した。同様に、一の実施形態での第２の情報処理装置は、参照処理部４１、座標移動部４２、画素値演算部４３の各処理をソフトウエア的に実現する例を説明した。しかし、本発明では、ＡＳＩＣによって上記の各処理をハードウエア的に実現しても勿論かまわない。
【０１０１】
（変形例６）：一の実施形態では、変換テーブルの座標空間がＲＧＢ色空間に対応する３次元空間である例を説明した。しかし、本発明は上記実施形態の構成に限定されることなく、平面座標が格子状に分割された二次元空間の変換テーブルの場合にも応用できる。例えば、第１の情報処理装置は、明るさと色とを変換する二次元の変換テーブルを対象として、分割領域に対応する局所座標を求めてもよい。
【０１０２】
（変形例７）：一の実施形態の第１の情報処理装置は、１つの分割領域内に局所座標を２点以上設定してもよい。また、一の実施形態の第１の情報処理装置は、複数の格子点での出力データの平均値以外で補正点を求めてもよい。
【０１０３】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【０１０４】
１１…コンピュータ、１２…データ読込部、１３…記憶装置、１４…ＣＰＵ、１５…メモリ、１６…入出力Ｉ／Ｆ、１７…バス、１８…入力デバイス、１９…モニタ、２１…演算部、２２…変換部、２３…テーブル作成部、２４…記録処理部、３１…電子カメラ、３２…撮像素子、３３…信号処理部、３４…第１バッファメモリ、３５…不揮発性メモリ、３６…画像処理エンジン、３７…第２バッファメモリ、３８…モニタ、３９…記録Ｉ／Ｆ、４０…ＣＰＵ、４１…参照処理部、４２…座標移動部、４３…画素値演算部、４４…記憶媒体
【図１】
0005605067.tif 000006
【図２】
0005605067.tif 000007
【図３】
0005605067.tif 000008
【図４】
0005605067.tif 000009
【図５】
0005605067.tif 000010
【図６】
0005605067.tif 000011
【図７】
0005605067.tif 000012
【図８】
0005605067.tif 000013