JP4595801B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4595801B2
JP4595801B2 JP2005356189A JP2005356189A JP4595801B2 JP 4595801 B2 JP4595801 B2 JP 4595801B2 JP 2005356189 A JP2005356189 A JP 2005356189A JP 2005356189 A JP2005356189 A JP 2005356189A JP 4595801 B2 JP4595801 B2 JP 4595801B2
Authority
JP
Japan
Prior art keywords
color
correction
data
image
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005356189A
Other languages
English (en)
Other versions
JP2007165989A (ja
Inventor
崇之 延壽寺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005356189A priority Critical patent/JP4595801B2/ja
Publication of JP2007165989A publication Critical patent/JP2007165989A/ja
Application granted granted Critical
Publication of JP4595801B2 publication Critical patent/JP4595801B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は画像処理装置に関し、特に3次元色変換テーブルを用いた画像の色補正に関する。
写真画像の色補正では、トーンカーブ変換やレベル変換によるダイナミックレンジの改善、明るさやコントラストの調整、色かぶり除去のためのカラーバランス調整、特定の色相に対する色味の変換などの様々な色変換が行われる。これらの色変換も、それらを組み合わせた色変換も、全て変換前の色を表すデータ(以下、元色データという。)が何らかの変換規則によって別の色を表すデータ(以下、補正色データという。)に置き換わる処理である。従来、補正前の色に対応する補正後の色を表す補正色データを保持する3次元色変換テーブルを用いた色補正が知られている。3次元色変換テーブルを用いた色補正では、注目画素毎に補正色データをメモリから読み込むだけで、注目画素の色を補正した結果の色を表す補正色データを取得することができるため、高速な色補正が可能である。また、3次元色変換テーブルを用いた色補正では、色成分毎に補正結果を求める必要がないため、1次元色変換テーブルを用いた色補正に比べても高速な色補正が可能である。しかし、3次元色変換テーブルで全ての色に対応する補正色データが保持される場合、3次元色変換テーブルのデータ量が膨大になる。特許文献1には色空間の格子点に対応する色(以下、色空間の格子点に対応する色をグリッド色という。)についてのみ3次元色変換テーブルで補正色データを保持しておき(以下、3次元色変換テーブルで保持される補正色データをグリッド補正色データという。)、グリッド色でない任意の色に対応する補正色データは線形補間演算によって求める技術が開示されている。3次元色変換テーブルと線形補間演算の組み合わせによる色補正では、高速処理が可能であるが、3次元色変換テーブルの内容によって線形補間演算の誤差が大きくなる場合があるため、色補正によって画質が荒れる場合がある。
特開平3−244292号公報
本発明は、上記の問題に鑑みて創作されたものであって、画質を犠牲にすることなく高速な画像の色補正が可能な画像処理装置を提供することを目的とする。
(1)上記目的を達成するため、本発明による画像処理装置は、メモリと、前記メモリに格納されている元画像に対する補正モードを前記元画像毎に連続モード又は補間モードに設定するモード設定手段と、前記元画像の注目画素の色を表す元色データを取得し、N個の色に対応する補正色を規定する関数情報を前記元色データに基づいて利用することによって、前記元画像の注目画素の色に対応する前記補正色を表す前記補正色データを第一補正色データとして導出し、前記注目画素に関して前記第一補正色データを前記メモリに格納する、一連の処理を前記補正モードが前記連続モードであるとき繰り返すことにより各画素の色が前記第一補正色データで表された補正画像を生成する連続補正手段と、前記元色データを取得し、n(n<N)個のグリッド色に対応するn個のグリッド補正色データを保持している3次元色変換テーブルから、前記注目画素の色に近い複数の前記グリッド色に対応する複数の前記グリッド補正色データで構成されるユニットデータを、前記元色データに基づいて取得し、前記ユニットデータを用いた線形補間演算により前記元画像の注目画素の色に対応する第二補正色データを導出し、前記注目画素に関して前記第二補正色データを前記メモリに格納する、一連の処理を前記補正モードが前記補間モードであるとき繰り返すことにより各画素の色が前記第二補正色データで表された補正画像を生成する補間補正手段と、を備える。
この画像処理装置の連続モードでは、N個の色に対応する補正色を規定する関数情報が、注目画素の色を表す元色データに基づいて利用されることによって、元色データが表す色に対応する補正色を表す第一補正色データが取得される。N個の色に対応する補正色を規定する関数情報を利用することによって、色数がN個であるディジタル色空間の全色に対応する補正色データを導出できるため、連続モードでは目標画質通りの補正画像を生成することができる。この画像処理装置の補間モードでは、n(n<N)個のグリッド色に対応するn個のグリッド補正色データを保持する3次元色変換テーブルと線形補間演算の組み合わせによって、元色データに対する第二補正色データが導出される。3次元色変換テーブルを利用することによって、元色データに対応する第二補正色データを高速に導出できるため、補間モードでは補正画像を高速に生成することができる。この画像処理装置では、元画像に対する補正モードが元画像毎に連続モード又は補間モードに設定される。したがってこの画像処理装置によると、高速に色補正することも目標通りに色補正することも画像毎にできる。いずれの補正モードで色補正するかは、元画像や補正パラメータの内容に応じて決めればよい。
(2)前記画像処理装置は、前記連続補正手段として機能する汎用プロセッサと、前記補間補正手段として機能する専用プロセッサと、を備えてもよい。
1つの注目画素に関する色補正は、3次元色変換テーブルを用いる場合、注目画素の色を表す元色データの取得、注目画素の色に近いグリッド補正色を表すグリッド補正色データのアドレス特定、グリッド補正色データの取得、線形補間演算、第二補正色データの格納という一連の処理で完了する。これらの一連の処理機能は、比較的小規模で段数の少ない回路によって実現することができる。また、これらの一連の処理機能をハードウェアで実現すると、データラインの幅を無視した場合には、メモリアクセスは、元色データの取得、グリッド補正色データの取得、第二補正色データの格納の3回となる。すなわち、これらの一連の処理機能をハードウェアで実現すると、補間演算に必要なメモリアクセス回数が激減する。したがって、専用プロセッサによって線形補間演算を実行する場合、1画素当たりの処理速度を向上でき、メモリアクセス回数を低減できる。この画像処理装置によると、補間補正モードでは専用プロセッサによるさらに高速な色補正が可能である。
(3)前記画像処理装置は、前記元画像を解析し、前記関数情報及び前記3次元色変換テーブルを規定する補正パラメータを解析結果に基づいて生成する解析手段と、前記補正パラメータが予め決められたパラメータ基準を満たすか判定するパラメータ判定手段と、をさらに備えてもよい。前記モード設定手段は、対応する前記補正パラメータが前記パラメータ基準を満たさない前記元画像に対する前記補正モードを前記連続モードに設定してもよい。
この画像処理装置によると、補間モードでは目標画質に到達しない可能性の高い画質の画像に対する補正モードを連続モードに設定することができる。
(4)前記画像処理装置は、前記補正パラメータが前記パラメータ基準を満たす場合、前記補正パラメータに基づいて前記3次元色変換テーブルを生成するテーブル生成手段と、前記補正パラメータが前記パラメータ基準を満たす場合、前記グリッド色でない判定色に対応する前記第一補正色データを前記連続補正手段から取得し、前記判定色に対応する前記第二補正色データを前記補間補正手段から取得し、前記第一補正色データと前記第二補正色データとを比較し、比較結果が予め決められたテーブル基準を満たすか判定するテーブル判定手段と、をさらに備えてもよい。前記モード設定手段は、対応する前記3次元色変換テーブルが前記テーブル基準を満たす前記元画像に対する前記補正モードを前記補間モードに設定し、対応する前記3次元色変換テーブルが前記テーブル基準を満たさない前記元画像に対する前記補正モードを前記連続モードに設定してもよい。
同一の補正パラメータが適用される互いに異なる2つの画像を、その補正パラメータによって規定される1つの3次元色変換テーブルを利用して補正すると、それぞれの画像について生ずる線形補間誤差は異なる値となる。すなわち、補正パラメータが同じであっても、画像が異なれば、補間モードで補正して得られる画質と連続モードで補正して得られる画質との差は異なる。この画像処理装置によると、関数情報から導出される第一補正色データと、3次元色変換テーブルと線形補間演算の組み合わせで導出される第二補正色データとを実際に比較した結果に基づいて補正モードが設定されるため、色補正結果の目標画質を精度よく管理することができる。さらにこの画像処理装置によると、補間モードでは目標画質に到達しない可能性の高い画質の画像に対して、無用な3次元色変換テーブルが生成されることがない。
(5)前記画像処理装置は、前記元画像を解析し、前記関数情報及び前記3次元色変換テーブルを規定する補正パラメータを解析結果に基づいて生成する解析手段と、前記補正パラメータに基づいて前記3次元色変換テーブルを生成するテーブル生成手段と、前記グリッド色でない判定色に対応する前記第一補正色データを前記連続補正手段から取得し、前記判定色に対応する前記第二補正色データを前記補間補正手段から取得し、前記第一補正色データと前記第二補正色データとを比較し、比較結果が予め決められたテーブル基準を満たすか判定するテーブル判定手段と、をさらに備えてもよい。前記モード設定手段は、対応する前記3次元色変換テーブルが前記テーブル基準を満たす前記元画像に対する前記補正モードを前記補間モードに設定してもよい。
この画像処理装置によると、関数情報から導出される第一補正色データと3次元色変換テーブルと線形補間演算の組み合わせで導出される第二補正色データとを実際に比較した結果に基づいて補正モードが設定されるため、色補正結果の目標画質を精度よく管理することができる。
(6)前記判定色は、前記ユニットデータに対応する複数の前記グリッド色を頂点とする多面体領域の重心の色であってもよい。
判定色が多くなるほど、連続モードで生成される補正画像と補間モードで生成される補正画像との画質の差を正確に予測することができるが、計算量が増大する。ところで、3次元空間での線形補間演算は多面体領域単位に行われる。統計的には、注目画素の色が多面体領域の重心にあるときに線形補間演算の誤差が最も大きくなる。この画像処理装置によると、線形補間演算の誤差が統計的に最も大きくなる判定色について第一補正色データと第二補正色データとの比較が行われるため、連続モードで生成される補正画像の画質と補間モードで生成される補正画像の画質との差を少ない計算量で正確に予測し、予測結果に基づいて適正な補正モードを設定することができる。
(7)前記判定色は、グレー軸を含む前記ディジタル色空間の部分領域内の色であってもよい。
グレー軸近傍では色のねじれや階調飛びが目立ちやすい。この画像処理装置によると、グレー軸を含む部分領域内の判定色について第一補正色データと第二補正色データとの比較が行われるため、連続モードで生成される補正画像の画質と補間モードで生成される補正画像の画質との感覚的な差を少ない計算量で予測し、予測結果に基づいて適正な補正モードを設定することができる。
本発明の実施の形態を以下の順に説明する。
[画像処理装置のハードウェア構成]
[画像処理装置のソフトウェア構成]
[3次元色変換テーブル]
・・元画像の解析と補正パラメータの設定
・・グリッド色に対応するグリッド補正色データの導出
・・3次元色変換テーブルの構成
[色変換ブロックの構成と作動]
・・全体構成
・・データ転送
・・補間演算
・・・4面体補間
・・・6面体補間
・・ディザ処理
[画像補正の流れ]
[他の実施形態]
[画像処理装置のハードウェア構成]
図2は、本発明を適用したプリンタ1の概略構成を示すブロック図である。プリンタ1は、リムーバブルメモリ10からJPEGなどの汎用フォーマットの写真画像やRAWデータを読み込み、自動で色補正された写真画像の印刷が可能な所謂スタンドアロン型プリンタである。またプリンタ1は、ディジタルカメラ30、PC(Personal Computer)32、カメラ付携帯型電話端末34等の外部システムから汎用フォーマットの画像やRAWデータを直接入力し、色が自動補正された写真画像を印刷することが可能である。
外部IF(Inter Face)20は、ディジタルカメラ30、PC32、カメラ付携帯型電話端末34等の外部システムと通信するためのUSBコントローラ、USBコネクタ等を備え、汎用フォーマットの画像やRAWデータや印刷設定パラメータをプリンタ1に入力する。
リムーバブルメモリコントローラ(RMC)12は、図示しないコネクタを介してリムーバブルメモリ10に接続され、リムーバブルメモリ10とRAM14との間でデータ転送を制御し、汎用フォーマットの画像やRAWデータをプリンタ1に入力する。
画像処理ユニット16は、JPEGデコード、3次元色変換テーブルを用いた色補正、シャープネス補正処理、分版処理、ハーフトーニング、インタレース処理等の印刷対象画像から印刷データを生成するための処理をCPU22と協働して高速に実行するための画像処理LSIやDSPで構成される。
画像処理ユニット16の一部を構成している色変換ブロック17(図3参照)は、3次元色変換テーブルを用いた色補正のための専用プロセッサである。色変換ブロック17は、CPU22によって指定される元画像に対しCPU22が生成した3次元色変換テーブルを用いて画像の色補正を実行することにより、色が自動補正された補正画像を生成する。以下、元画像の色も補正画像の色も2563色のRGBディジタル色空間で表されるものとして説明するが、元画像の色空間の色数も、補正画像の色空間の色数も、2563色に限定されない。また色空間の表色系もRGB表色系に限らずいかなるものでもよい。
印刷ユニット18は、印刷データに基づいてインクジェット方式で用紙に画像を形成するための記録ヘッド、記録ヘッドの往復移動機構、給排紙機構等を備える。尚、印刷方式は、インクジェット方式、レーザ方式、サーマル方式、ドットインパクト方式等のいかなる印刷方式でも採用し得る。
操作ユニット26は、ユーザのメニュー操作や印刷設定要求や印刷開始要求を受け付けるための各種のボタンを備えている。特定のモードで特定のボタンが押されると、そのモードに応じた各種の要求がプリンタ1に入力される。
表示ユニット28は、メニューや印刷対象画像を表示するためのLCD等のFPD(Flat Panel Display)、グラフィックコントローラ等を備える。
RAM14は、プログラムやプログラムの処理対象となるデータ、例えば元画像や補正画像や3次元色変換テーブルが一時的に格納される揮発性の記憶媒体である。
汎用プロセッサとしてのCPU22は、フラッシュメモリ24に格納されている制御プログラムを実行することにより、プリンタ1の各部を制御して印刷の実行を制御する。制御プログラムはコンピュータ読み取り可能な記憶媒体からフラッシュメモリ24に転送してもよいし、遠隔地のサーバからネットワークを経由してフラッシュメモリ24に転送してもよい。
[画像処理装置のソフトウェア構成]
図4はCPU22によって実行される制御プログラムの構成を示すブロック図である。
印刷制御モジュール40は、操作ユニット26又はプリンタ1に接続されているディジタルカメラ30、PC32、携帯型電話機34等の外部システムによって設定される印刷設定パラメータに応じてJPEGデコード、色補正、分版処理、ハーフトーニング、インタレース処理等の印刷データを生成するための処理の実行を制御するためのプログラム部品である。
色補正制御モジュール42は、印刷制御モジュール40から渡された印刷対象の元画像と印刷設定パラメータとに基づいて色補正モジュール46を制御するためのプログラム部品である。具体的には、色補正制御モジュール42は、補正方法判定モジュール44に補正パラメータを渡してS/W色補正モジュール52、H/W色補正モジュール54のいずれによって色変換を実行させるかを判定させ、判定結果に応じてS/W色補正モジュール52、H/W色補正モジュール54のいずれかによって色変換を実行させるかを設定する。S/W色補正モジュール52がCPU22によって実行されるモードが連続補正モードである。H/W色補正モジュール54がCPU22によって実行されるモードが補間補正モードである。色補正制御モジュール42は、CPU22をモード設定手段として機能させる。
色補正モジュール46は印刷対象の元画像の色を補正して補正画像を生成するためのプログラム部品である。色補正モジュール46の一部を構成する補正パラメータ生成モジュール48は元画像を解析し、色補正のための補正パラメータを解析結果に基づいて設定するためのプログラム部品である。補正パラメータ生成モジュール48はCPU22を解析手段として機能させる。テーブル生成モジュール50は補正パラメータに基づいて3次元色変換テーブルを生成するためのプログラム部品である。テーブル生成モジュール50はCPU22をテーブル生成手段として機能させる。S/W色補正モジュール52は補正パラメータに基づいてCPU22によって色を補正するためのプログラム部品である。S/W色補正モジュール52はCPU22を連続補正手段として機能させる。H/W色補正モジュール54は3次元色変換テーブルを用いて色変換ブロック17に色を補正させるためのプログラム部品である。すなわち、H/W色補正モジュール54は色変換ブロック17をCPU22が制御するためのプログラム部品である。H/W色補正モジュール54は色変換ブロック17を補間補正手段として機能させる。
補正方法判定モジュール44は、補正パラメータ及び3次元色変換テーブルをパラメータ基準及びテーブル基準に照らして検証し、CPU22、色変換ブロック17のいずれに色補正を実行させるかを判定するためのプログラム部品である。補正方法判定モジュール44はCPU22をパラメータ判定手段及びテーブル判定手段として機能させる。
[3次元色変換テーブルの生成]
・・3次元色変換テーブルの概要
3次元色変換テーブルは図5(A)に示すRGB色空間の格子点の色であるグリッド色(Gr、Gg、Gb)毎に、その色が補正された結果の色を表すグリッド補正色データ(Pr、Pg、Pb)(図5(B)参照)を保持するデータ構造体である。3次元色変換テーブルは、CPU22によって写真画像毎に生成されるため、3次元色変換テーブルによって決まる補正前後の変化量が写真画像の画質に応じて変更される。
・・元画像の解析と補正パラメータの設定
本実施形態では、写真画像の色を自動補正するために複数の補正パラメータが設定される。写真画像の画質を決める要素には、露出、光源色温度、コントラスト、ディジタルカメラのイメージセンサ特性、被写体自体の色等がある。写真画像の画質を補正するには、これらの要素を元画像の解析によって特定し、これらの要素に応じて補正パラメータを設定する必要がある。これらの要素は元画像を複数の色空間で解析することによって特定される。元画像の解析及び補正パラメータの設定は、補正パラメータ生成モジュール48を実行するCPU22によって以下のように行われる。
露出、被写体の色等によって決まる輝度を補正するための補正パラメータである輝度補正パラメータは、例えば輝度の平均値に応じて設定される。被写体の色、光源の強さ等に応じて決まるコントラストを補正するための補正パラメータであるシャドーパラメータ及びハイライトパラメータは、それぞれハイライトポイントとシャドーポイントに応じて設定される。輝度補正パラメータ、シャドーパラメータ及びハイライトパラメータの設定のために、QVGAサイズのグレートーン画像の画素値である輝度についてヒストグラムが生成され、ヒストグラムに基づいて輝度の平均値、最大値、最小値がそれぞれ解析される。QVGAサイズのグレートーン画像は元画像のサンプリングによって生成される。グレートーン画像とは画素毎に輝度の階調レベルを表す1成分の画像である。平均値と予め決められた固定値との差が輝度補正パラメータして設定される。輝度補正パラメータはR(Red)、G(Green)、B(Blue)、それぞれのトーンカーブ毎に2つある制御点を上下させる幅に相当する。最大値と予め決められた固定値との差がハイライトパラメータとして設定される。ハイライトパラメータはR(Red)、G(Green)、B(Blue)、それぞれのトーンカーブ毎に2つある制御点のうちハイライト側の1点を上下させる幅に相当する。最小値と予め決められた固定値との差がコントラスト補正パラメータとしてのシャドーパラメータとして設定される。シャドーパラメータはR(Red)、G(Green)、B(Blue)それぞれのトーンカーブ毎に2つある制御点のうちシャドー側の1点を上下させる幅に相当する。
被写体の色、光源色温度、イメージセンサ特性等によって決まる記憶色を補正するための補正パラメータである記憶色補正パラメータは、各記憶色の平均値に応じて決まる。記憶色補正パラメータの設定のために、QVGAサイズのRGBトーン画像のうち、色相が葉緑色、空色、赤色、肌色の色相に近似する画素群についてR(Red)、G(Green)、B(Blue)それぞれのヒストグラムがそれらの色相毎に生成され、各ヒストグラムに基づいて色相が葉緑色、空色、赤色、肌色の色相に近似する画素群のR(Red)、G(Green)、B(Blue)の平均値が解析される。QVGAサイズのRGBトーン画像は元画像のサンプリングによって生成される。RGBトーン画像とは画素毎にR(Red)、G(Green)、B(Blue)の階調レベルを表す3成分の画像である。各平均値と予め決められた固定値の差がそれぞれ葉緑色の記憶色補正パラメータ、空色の記憶色補正パラメータ、赤色の記憶色補正パラメータ、肌色の記憶色補正パラメータとして設定される。各記憶色補正パラメータはRGBトーンカーブ毎に2つある制御点を上下させる幅に相当する。
光源色温度に応じて決まるカラーバランスを補正するための補正パラメータであるカラーバランス補正パラメータは、解析によって特定されるR(Red)、G(Green)、B(Blue)、輝度それぞれの平均値に応じて決まる。カラーバランス補正パラメータの設定のために、QVGAサイズのRGBトーン画像についてR(Red)、G(Green)、B(Blue)のヒストグラムが生成され、QVGAサイズのグレートーン画像について輝度のヒストグラムが生成され、各ヒストグラムに基づいて輝度、R(Red)、G(Green)、B(Blue)の各平均値が解析される。輝度平均値とR(Red)の平均値の差、輝度平均値とG(Green)の平均値の差、輝度平均値とB(Blue)の平均値との差がそれぞれ重み付けされた値がカラーバランス補正パラメータとして設定される。カラーバランス補正パラメータはRGBトーンカーブ毎に2つある制御点のうちハイライト側の制御点を上下させる幅に相当する。
被写体である人物の肌色、光源色温度等によって決まる人物の肌色を補正するための補正パラメータである肌色補正パラメータは、解析によって特定される人物の顔領域内のR(Red)、G(Green)、B(Blue)それぞれの平均値に応じて決まる。人物の顔領域は目や口や鼻の配置に応じたテンプレート等を用いたパターン認識によって特定される。肌色補正パラメータの設定のために、QVGAサイズのグレートーン画像について人物の顔領域が特定される。QVGAサイズのRGBトーン画像について人物の顔領域毎に256画素のR(Red)、G(Green)、B(Blue)の各平均値が求められる。各平均値と予め決められた固定値との差に応じて肌色補正パラメータが設定される。肌色補正パラメータは、R(Red)、G(Green)、B(Blue)のトーンカーブの肌色制御点の座標と、階調とびを抑制する補間制御点の座標とに相当する。肌色制御点は好ましい肌色をピンポイントで指定するための制御点である。
・・グリッド色に対応するグリッド補正色データの導出
図6は元画像の色と補正画像の色との対応関係を成分毎に規定するトーンカーブを示す図である。元画像の色と補正画像の色とが等しい対応関係をR(Red)、G(Green)、B(Blue)の成分毎に規定する直線のトーンカーブに2つずつの制御点が存在している(図6の(A)、(B)、(C)参照)。2つの制御点の座標は、例えばシャドー側が(64/255、64/255)、ハイライト側が(195/255、195/255)として予め決められている。尚、制御点の座標成分は元画像の階調(入力階調)、補正画像の階調(出力階調)の順に記載するものとする。また、本実施形態では元画像、補正画像ともにR、G、B各成分は256階調(0−255)であるとして説明されるが、階調数は任意である。上述した輝度補正パラメータ、シャドーパラメータ、ハイライトパラメータ、葉緑色の記憶色補正パラメータ、空色の記憶色補正パラメータ、赤色の記憶色補正パラメータ、肌色記憶色補正パラメータ及びカラーバランス補正パラメータが制御点の出力階調成分に累積加算されることによって制御点が移動する。さらに肌色制御点及び補間制御点の座標が肌色補正パラメータによって決まる。また、印刷設定パラメータに応じて補正パラメータが調整される。例えば印刷設定パラメータに応じて補正パラメータの制御値が+10に設定され、画像解析によって設定された補正パラメータが+20であれば最終的な補正パラメータは+30となる。このようにして補正パラメータによって決まる各制御点と(0/255、0/255)と(255/255、255/255)とをなめらかに結ぶトーンカーブが曲線補間処理によって導出される。入力階調と出力階調の対応関係を成分毎に規定するトーンカーブ(図6の(A)、(B)、(C)参照)は、元色データの1成分である入力階調毎に補正色データの1成分である出力階調を保持する3つの1次元色変換テーブルとしてRAM14に格納される。3つの1次元色変換テーブルによって、2563個の色に対する2563個の補正色を表す2563個の補正色データが規定される。したがって、3つの1次元色変換テーブルの合計データサイズは6144ビット(256×8×3)である。3つの1次元色変換テーブルは関数情報に相当する。
R成分のトーンカーブを規定する一次元色変換テーブルのとびとびの入力階調がグリッド色のR成分であり、とびとびの入力階調に対応するとびとびの出力階調がグリッド補正色データのR成分(Pr)である。G及びB成分のトーンカーブについても同様である。したがって、R、G及びB成分のトーンカーブを生成するための上述の処理によってグリッド色に対するグリッド補正色データが導出される。例えば、図7にP0で示されるグリッド色に対応するグリッド補正色データのR成分P0rは、R成分のトーンカーブを規定する一次元色変換テーブルから取り出される出力階調であって、対応する入力階調がグリッド色のR成である出力階調である。
・・3次元色変換テーブルの構成
線形補間演算は、色空間を構成する多面体の部分領域毎に実行される。線形補間演算の対象となる部分領域をユニットというものとする。本来、4面体補間演算で必要なグリッド補正色データは4個であり、6面体補間演算で必要なグリッド補正色データは8個である。したがって、4面体補間演算の対象となるユニットは本来4面体であり、6面体補間演算の対象となるユニットは本来6面体である。しかし、4面体補間演算にも6面体補間演算にも対応する色変換ブロック17を単純化するため、色変換ブロック17では4面体補間演算でも6面体補間演算でも同一のユニット単位で補間演算が実行される。すなわち、4面体補間演算でも6面体補間演算でも、8個のグリッド補正色データで構成されるユニットデータがRAM14から色変換ブロック17に転送される。
図8は本実施形態のユニットとRGB色空間との関係を示す模式図である。色空間を細かく分割してユニットを小さくすればするほど、線形補間演算の精度は向上するが、グリッド変換色データの数が多くなるため3次元色変換テーブルのデータ量が増大する。色空間を何個のユニットで分割するかは任意であって、分版精度等に応じて決めればよいが、本実施形態では色空間は4096個のユニットに分割される。各頂点を隣接ユニットで共有することにより、補間演算の精度を実質的に下げずに3次元色変換テーブルのデータ量を低減することができる。しかし、一画素の元色データを補正色データに変換するためには、1つのユニットデータをRAM14から色変換ブロック17に読み込む必要がある。したがって、グリッド補正色データがユニットデータ毎にRAM14の連続アドレスに格納されていなければ、ユニットデータをRAM14から色変換ブロック17に転送するために必要な時間が長くなる。ユニットの各頂点を隣接ユニットで共有し、グリッド補正色データを冗長性無しにRAM14に格納すると、1ユニットの全頂点分のグリッド補正色データで構成される1つのユニットデータを連続アドレスに格納することができなくなる。本実施形態では、ユニットデータの転送時間を短縮して画像の色補正を高速化するため、グリッド補正色データはユニットデータ毎にRAM14の連続アドレスに格納され、隣接ユニットで頂点は共有されない。その結果、本実施形態では、4096×8個のグリッド色に対応する4096×8個のグリッド補正色データが3次元色変換テーブルに保持され、1つのユニットは一辺の長さが15である直方体の領域になる。
ここで、任意の1つのユニットの各頂点に対応するグリッド色を、それらの色空間内の位置に応じて図9に示すようにP0、P1、P2、P3、P4、P5、P6、P7と定義する。P0はユニットの原点に最も近い頂点に対応するグリッド色である。P7はユニットの原点から最も遠い頂点に対応するグリッド色である。ユニットデータは、1ユニットの8個の頂点に対応するグリッド補正色データ群で構成される。
図10は、3次元色変換テーブルのデータ配置を示す表である。[a:b]はアドレス又はデータのa桁目(b=0,1,2・・・)からb桁目(a=0,1,2・・・)までのビット列で表される数値を表すものとする。グリッド色Pn(n=0、1、2・・・7)に対応するグリッド補正色データのR成分をPnr、グリッド色Pnに対応するグリッド補正色データのG成分をPng、グリッド色Pnに対応するグリッド補正色データのB成分をPnbと表記するものとする。本実施形態ではRAM14は8ビットあたりに1アドレスが割り当てられている。色変換ブロック17によって生成される補正画像はR、G、Bの各階調が8ビットで表現されるRGBトーン画像であるため、グリッド補正色データのR、G、B各成分(Pnr、Png、Pnb(n=0,1,2・・・7))はそれぞれ8ビットである。したがって、グリッド補正色データのR、G、B各成分はそれぞれ1アドレスに格納される。連続した4アドレスのうちの1アドレスにはグリッド補正色データが格納されない。すなわち、合計192ビットになる8個のグリッド補正色データで構成される1つのユニットデータは256ビットの連続領域に割り付けられる。尚、グリッド補正色データの各成分を何ビットにするかは設計事項であって、補正画像の色を表すディジタル色空間の色数に応じて決めればよい。また、上述して3次元色変換テーブルのデータ配置はあくまで一例であって、ユニットデータ単位で連続領域にグリッド補正色データが割り付けられていればよい。また、ユニットデータを圧縮することにより、1つのユニットデータを1度のメモリアクセスで色変換ブロック17に読み込むこともできる。
[色変換ブロックの構成と作動]
・・全体構成
図11は専用プロセッサとしての色変換ブロック17の構成を示すブロック図である。色変換ブロック17は、元画像の注目画素の順次選択、注目画素の色を表す元色データの読み込み、注目画素の色に対応するユニットデータを読み込むためのアドレス特定、ユニットデータの読み込み、線形補間演算、補正色データの書き込みという一連の処理を自律的に繰り返す専用回路である。色変換ブロック17を構成するホストインタフェースブロック60、データインタフェースブロック62、ユニットアドレス生成ブロック66、アービタブロック64、補間演算ブロック68はそれぞれワイヤードロジックで制御されるため、マイクロプログラム制御方式に比べて高速に作動する。尚、色変換ブロック17はマイクロプログラム制御方式で作動してもよい。
ホストインタフェースブロック60は、元画像の開始アドレス、元画像の画像サイズ、3次元色変換テーブルの開始アドレス、補正画像の開始アドレス、色変換ブロック17のモード(4面体補間演算モード、6面体補間演算モード)、色補正の開始・中断等を制御するためのレジスタ群を備えている。端子ainはレジスタ群のアドレスを指定するための端子である。端子dinは指定されたアドレスに格納される元画像の開始アドレス、補正画像の開始アドレス、3次元色変換テーブルの開始アドレス等のデータを入力するための端子である。これらのデータはH/W色補正モジュール54を実行しているCPU22によって入力される。端子doutはCPU22に色変換ブロック17の状態を認識させるためにレジスタ群のデータを出力するための端子である。端子doutからは例えばある時点の注目画素について補正色データを書き込まれたRAM14のアドレス信号が出力される。したがって、H/W色補正モジュール54を実行しているCPU22は任意の時点における注目画素を認識できる。また、注目画素の色に応じて4面体補間演算モードと6面体補間演算モードとを切り換えることも可能である。例えば、グレー軸近傍の色については4面体補間演算モードで補正し、グレー軸から遠い色については6面体補間演算モードで補正することなども可能である。
・・データ入力
図12はRAM14と色変換ブロック17とのデータ転送タイミングを示す図である。1回のRAMアクセスサイクルでRAM14と色変換ブロック17との間で転送可能なデータ量は128ビットである。また色変換ブロック17は4つの注目画素の色変換をパイプライン処理する。このため、4つの注目画素の色を表す4つの元色データ、Dnr−0、Dnr−1、Dnr−2、Dnr−3が1回のRAMアクセスサイクルでRAM14から色変換ブロック17に転送され、続いて、4つのユニットデータ(Pn0、Pn1、Pn2、Pn3、Pn4、Pn5、Pn6、Pn7(n=0、1,2,3))が8回のRAMアクセスサイクルでRAM14から色変換ブロック17に転送され、続いて、4つの補正色データ、Dnw−0、Dnw−1、Dnw−2、Dnw−3が一回のRAMアクセスサイクルで色変換ブロック17からRAM14に転送される。
データインタフェースブロック62(図11参照)は元画像の4つの注目画素の色を表す4つの元色データを読み出すための1つのアドレス信号sd_ra_dをアービタブロック64に出力する。データインタフェースブロック62は4つの注目画素の色を表す元色データが端子sd_d_inから入力されると、4つの注目画素について1つの補間演算開始要求rgb_enをユニットアドレス生成ブロック66に出力し、元色データの各成分Rin[7:0]、Gin[7:0]、Bin[7:0]を1画素毎に順次ユニットアドレス生成ブロック66に出力する。
ユニットアドレス生成ブロック66は、注目画素の元色データを、注目画素の色に近い8個のグリッド色に対応するグリッド補正色データで構成されるユニットデータのアドレスに変換する。アービタブロック64は、ユニットアドレス生成ブロック66から出力される、ユニットデータを読み出すための要求信号req_sr_lと、データインタフェースブロック62から出力される、注目画素の元色データを読み出すための要求信号req_srdとを調停し、いずれかの要求信号に応じたアドレス信号sd_sr_lまたはsd_ra_dを端子sd_raからRAMC15に出力する。端子sd_raから出力されるアドレス信号は、16アドレス分のデータを一括して読み出すため、物理アドレスの[25:4]のビットパターンになっている。端子sd_raから出力されるアドレス信号に応じて4アドレス分のデータが1度にRAM14からデータインタフェースブロック62又はユニットアドレス生成ブロック66に転送される。注目画素の元色データを読み出すためのアドレス信号sd_ra_dが端子sd_raから出力されると注目画素の元色データがRAM14からデータインタフェースブロック62に転送される。ユニットデータを読み出すためのアドレス信号sd_sr_lが端子sd_raから出力されると4つのグリッド補正色データがRAM14からユニットアドレス生成ブロック66に転送される。ユニットアドレス生成ブロック66は注目画素の元色に対応するユニットデータを読み出すためのアドレス信号とユニットデータとを保持するためのキャッシュメモリを有する。ユニットアドレス生成ブロック66のキャッシュメモリに注目画素に対応するユニットデータが保持されている場合、要求信号req_sr_lとキャッシュメモリに保持されたアドレス信号sd_sr_lとはアービタブロック64に出力されない。データインタフェースブロック62、アービタブロック64及びユニットアドレス生成ブロック66は、データ取得手段に相当する。
図13は元色データとユニットデータのアドレスとの対応関係を示す図である。RAM_address[16:4]はユニットアドレス生成ブロック66の端子sd_sr_lから出力されるアドレス信号のビットパターンの一部を表している。端子sd_sr_lから出力されるアドレス信号はホストインタフェースブロック60のレジスタにセットされる3次元色変換テーブルの開始アドレスとRAM_address[16:4]の和である。CPU22は常に[16:4]=0のアドレスからはじまるRAM14の連続領域に3次元色変換テーブルを格納する。したがって3次元色変換テーブルの開始アドレスはCPU22によって常に[16:4]=0にセットされる。
任意の元色データとRAM_address[16:4]との対応関係は高速化と回路の単純化のため次のように定められている。ユニットデータを読み込むためのアドレス信号の[16:5]のビットパターンは、当該ユニットデータによって補間演算が実行される元色データのR、G、B各上位4ビットのパターン(Rin[7:4]、Gin[7:4]、Bin[7:4])をRGBの順に直結したビットパターンと同一である。グリッド色P0、P1、P2、P3に対応するグリッド補正色データを読み込むためのアドレス信号の[4:4]のビットSは0であり、グリッド補正色データP4、P5、P6、P7に対応するグリッド補正色データを読み込むためのアドレス信号の[4:4]のビットSは1である。
上述したとおり、補間演算ブロック68は、6面体補間演算モードであっても、4面体補間演算モードであっても、8個のグリッド色で構成されるユニットデータ単位で補間演算を実行するため、6面体補間演算モードであっても、4面体補間演算モードであっても、データインタフェースブロック62、ユニットアドレス生成ブロック66、アービタブロック64の動作は以下の1通りである(図11参照)。
具体的には、注目画素の色に近い4個のグリッド色P0、P1、P2、P3に対応するグリッド補正色データを読み出すためのアドレス信号と、注目画素の色に近い4個のグリッド色P4、P5、P6、P7に対応するグリッド補正色データ群を読み出すためのアドレス信号とが注目画素毎に元色データに基づいてユニットアドレス生成ブロック66によって生成され、それらのアドレス信号がユニットアドレス生成ブロック66の端子sd_sr_lから出力される。RAM14と色変換ブロック17との間でのデータ転送単位は128ビットであるため、RAM14と色変換ブロック17との間では4アドレス分のデータが1つのアドレス指定によって1度に転送される。ユニットアドレス生成ブロック66の端子sd_sr_lから出力されるアドレス信号は物理アドレスの[25:4]のビットパターンである。
・・補間演算
データインタフェースブロック62からユニットアドレス生成ブロック66に補間演算開始要求rgb_enが入力されると、1つの注目画素の色を表す元色データの各成分Rin[7:0]、Gin[7:0]、Bin[7:0]の下位4ビット(r[3:0]、g[3:0]、b[3:0])と、ユニットデータとがユニットアドレス生成ブロック66から補間演算ブロック68に出力される。具体的にはユニットデータはグリッド補正色データ毎に補間演算ブロック68に入力され、1つのグリッド補正色データのR、G、Bの各成分であるPr、Pg、Pbは同時に補間演算ブロック68に入力される。
図14は補間演算手段としての補間演算ブロック68の構成を示す回路図である。補間演算ブロック68は、ユニットアドレス生成ブロック66から入力されるユニットデータと注目画素の元色データの各成分Rin[7:0]、Gin[7:0]、Bin[7:0]の下位4ビット(r[3:0]、g[3:0]、b[3:0])とを用いた線形補間演算によって4つの注目画素について補正色データをパイプライン処理によって順次導出する。補間演算ブロック68は、係数生成回路に相当する係数演算ブロック102と、累積加算回路に相当する累積加算ブロック104とで構成されている。係数演算ブロック102は、注目画素の元色データの各成分Rin[7:0]、Gin[7:0]、Bin[7:0]の下位4ビット(r、g、b)に基づいて8個のグリッド補正色データのそれぞれに掛け合わせる係数を導出する。累積加算ブロック104は、係数演算ブロック102から出力される係数を8個のグリッド補正色データのそれぞれに掛け合わせ、乗算結果を累積加算する。尚、シフト演算回路が係数演算ブロック102、累積加算ブロック104のそれぞれに組み込まれているが、シフト演算はどの段階で実行されてもよい。
・・・6面体補間演算モードにおける線形補間演算
6面体補間演算では、補正色データの各成分Rout、Gout、Boutは原理的には以下の演算によって求められる。尚、Pnr、Png、Pnbは、それぞれグリッド色Pnに対応する補正色データのR成分、G成分、B成分である。
out=(15−r)×(15−g)×(15−b)×P0r/153
+(15−r)×(15−g)×b×P1r/153
+(15−r)×g×(15−b)×P2r/153
+(15−r)×g×b×P3r/153
+r×(15−g)×(15−b)×P4r/153
+r×(15−g)×b×P5r/153
+r×g×(15−b)×P6r/153
+r×g×b×P7r/153
out=(15−r)×(15−g)×(15−b)×P0g/153
+(15−r)×(15−g)×b×P1g/153
+(15−r)×g×(15−b)×P2g/153
+(15−r)×g×b×P3g/153
+r×(15−g)×(15−b)×P4r/153
+r×(15−g)×b×P5g/153
+r×g×(15−b)×P6g/153
+r×g×b×P7g/153
out=(15−r)×(15−g)×(15−b)×P0b/153
+(15−r)×(15−g)×b×P1b/153
+(15−r)×g×(15−b)×P2b/153
+(15−r)×g×b×P3b/153
+r×(15−g)×(15−b)×P4b/153
+r×(15−g)×b×P5b/153
+r×g×(15−b)×P6b/153
+r×g×b×P7b/153
しかし、153で割る除算回路は段数が多くなるため、本実施形態では、153で割る除算をシフト演算に置き換える。具体的には、以下の演算とディザ処理(0,1,2,3の固定値加算)の組み合わせによって補正色データの各成分Rout[7:0」、Gout[7:0」、Bout[7:0」が求められる。尚、以下の数式において>>nはnビット繰り下げるシフト演算を意味する。
out={(64−mR)×(64−mG)×(64−mB)×P0r>>16
+(64−mR)×(64−mG)×mB×P1r>>16
+(64−mR)×mG×(64−mB)×P2r>>16
+(64−mR)×mG×mB×P3r>>16
+mR×(64−mG)×(64−mB)×P4r>>16
+mR×(64−mG)×mB×P5r>>16
+mR×mG×(64−mB)×P6r>>16
+mR×mG×mB×P7r>>16
out={(64−mR)×(64−mG)×(64−mB)×P0g>>16
+(64−mR)×(64−mG)×mB×P1g>>16
+(64−mR)×mG×(64−mB)×P2g>>16
+(64−mR)×mG×mB×P3g>>16
+mR×(64−mG)×(64−mB)×P4g>>16
+mR×(64−mG)×mB×P5g>>16
+mR×mG×(64−mB)×P6g>>16
+mR×mG×mB×P7g>>16
out={(64−mR)×(64−mG)×(64−mB)×P0b>>16
+(64−mR)×(64−mG)×mB×P1b>>16
+(64−mR)×mG×(64−mB)×P2b>>16
+(64−mR)×mG×mB×P3b>>16
+mR×(64−mG)×(64−mB)×P4b>>16
+mR×(64−mG)×mB×P5b>>16
+mR×mG×(64−mB)×P6b>>16
+mR×mG×mB×P7b>>16
回路70は、元色データの各成分Rin[7:0]、Gin[7:0]、Bin[7:0]の下位4ビット(r[3:0]、g[3:0]、b[3:0])が表す数を、その4倍に近い数mR、mG、mBに変換する。r[3:0]とmR[6:0]の対応関係は例えば図15に示すとおりである。回路74はセレクタ78に64及び0を入力する。回路76は(64−mR)、(64−mG)及び(64−mB)をそれぞれ出力する除算回路である。セレクタ78はグリッド補正色データ毎に(64−mR)、(64−mG)、(64−mB)、mR、mG、mBのうちのいずれか3つを選択しフリップフロップ80に出力する選択回路である。グリッド補正色データとセレクタ78が選択する3つのデータとの対応関係は上記の式に対応している。例えばP0に対応するグリッド補正色データに対しては(64−mR)、(64−mG)、(64−mB)が選択され、P1に対応するグリッド補正色データに対しては(64−mR)、(64−mG)、mBが選択される。乗算回路82はセレクタ78によって選択された(64−mR)、(64−mG)、(64−mB)、mR、mG、mBのうちのいずれか3つを掛け合わせる。回路84は乗算回路82から出力される値を32で割るために5ビットシフトするシフト演算回路である。
乗算回路90、103、112には、グリッド補正色データのR、G、Bの各成分であるPr、Pg、Pbがフリップフロップ86、88を介して入力される。乗算回路90はグリッド補正色データのR成分であるPrと係数演算ブロック102から出力される値とを掛け合わせる。ユニットアドレス生成ブロック66から順次出力される8個のグリッド補正色データのR成分であるP0r、P1r、P2r、P3r、P4r、P5r、P6r、P7rと係数演算ブロック102から順次出力される8個の値とが掛け合わされた8個の乗算結果が乗算回路90から順次出力される。乗算回路103、112はグリッド補正色データのG、B成分であるPg、Pbについて乗算回路109と同一の演算を実行する。
回路92、回路105、回路114は乗算回路90、乗算回路103、乗算回路112から出力される値をそれぞれ211で割るためのシフト演算回路である。
上述の演算によって回路92から1つの注目画素のR成分について以下の8個の値が順次出力される。加算回路94及びフリップフロップ96は、以下の8個の値を累積加算する。
(64−mR)×(64−mG)×(64−mB)×P0r>>16
(64−mR)×(64−mG)×mB×P1r>>16
(64−mR)×mG×(64−mB)×P2r>>16
(64−mR)×mG×mB×P3r>>16
mR×(64−mG)×(64−mB)×P4r>>16
mR×(64−mG)×mB×P5r>>16
mR×mG×(64−mB)×P6r>>16
mR×mG×mB×P7r>>16
また、上述の演算によって回路105から1つの注目画素のG成分について以下の8個の値が順次出力される。加算回路106及びフリップフロップ109は、以下の8個の値を累積加算する。
(64−mR)×(64−mG)×(64−mB)×P0g>>16
(64−mR)×(64−mG)×mB×P1g>>16
(64−mR)×mG×(64−mB)×P2g>>16
(64−mR)×mG×mB×P3g>>16
mR×(64−mG)×(64−mB)×P4g>>16
mR×(64−mG)×mB×P5g>>16
mR×mG×(64−mB)×P6g>>16
mR×mG×mB×P7g>>16
また、上述の演算によって回路114から1つの注目画素のB成分について以下の8個の値が順次出力される。加算回路116及びフリップフロップ118は、以下の8個の値を累積加算する。
(64−mR)×(64−mG)×(64−mB)×P0b>>15
(64−mR)×(64−mG)×mB×P1b>>15
(64−mR)×mG×(64−mB)×P2b>>15
(64−mR)×mG×mB×P3b>>15
mR×(64−mG)×(64−mB)×P4b>>15
mR×(64−mG)×mB×P5b>>15
mR×mG×(64−mB)×P6b>>15
mR×mG×mB×P7b>>15
回路98、110、120はそれぞれディザ処理と4で割るための2ビットシフト演算によって補正色データのR成分Rout[7:0」、G成分Gout[7:0」、B成分Bout[7:0」を生成する。ディザ処理では、注目画素の位置に応じて0,1,2,3のいずれかの値が加算される。図16はディザパターンを例示している。この結果、8ビット精度のRout[7:0」、Gout[7:0」、Bout[7:0」は、10ビット精度の面積階調を有することになる。補正色データの各成分Rout[7:0」、Gout[7:0」、Bout[7:0」はフリップフロップ100を介して累積加算ブロック104から同時に出力される。
・・・4面体補間演算モードにおける係数演算
図17に示すように、P0とP7を結ぶ対角線で1個のユニットは6個の4面体領域に分割される。この4面体領域をサブユニットというものとする。4面体補間演算では、注目画素の色を包含するサブユニットの頂点に対応する4個のグリッド補正色データが必要になる。しかし、本実施形態では、4面体補間演算モードでも6面体補間演算モードでもセレクタ78を除いて色変換ブロック17の作動は同一である。このため4面体補間演算モードでは、係数演算ブロック102はユニットデータを構成する8個のグリッド補正色データのうちの4個に掛け合わせる係数を0にセットする。すなわち、注目画素の色を包含するサブユニットの頂点に対応しない4個のグリッド補正色データに対応する係数が0にセットされる。具体的には、4面体補間演算モードでは、注目画素の色を包含するサブユニットを特定するための判定を比較回路としての回路72及びセレクタ78で実行し、セレクタ78はその演算結果に応じて係数の要素として64、0、(64−mR)、(64−mG)、(64−mB)、mR、mG、mB、(mR−mG)、(mR−mB)、(mG−mR)、(mG−mB)、(mB−mR)、(mB−mG)のうちのいずれか3つを選択しフリップフロップ80に出力する。回路72は、元色データの各成分Rin[7:0]、Gin[7:0]、Bin[7:0]の下位4ビット(r[3:0]、g[3:0]、b[3:0])の大小関係を明らかにするための減算回路である。
回路72及びセレクタ78によって行われるサブユニットの特定は次の表1の通りである。
Figure 0004595801
四面体補間モードにおいてセレクタ78によって選択される3つの係数要素とグリッド変換色データの対応関係は下記の表2〜表7の通りである。尚、注目画素の色が6つのサブユニットによって共有されるユニットの対角線上に位置する場合、mR−mG、mG−mB、mB−mRがいずれも0になる。この場合、いずれのサブユニットについて補間演算を行っても同一の演算結果が得られる。本実施形態では、mR−mG、mG−mB、mB−mRがいずれも正または0の場合にはサブユニットAについて補間演算が実行され、mR−mG、mG−mB、mB−mRがいずれも負の場合にはサブユニットFについて補間演算が実行される。
Figure 0004595801
Figure 0004595801
Figure 0004595801
Figure 0004595801
Figure 0004595801
Figure 0004595801
・・データ出力
以上の演算によって累積加算ブロック104から出力される補正色データは、データインタフェースブロック62(図11参照)に出力される。また、4つの注目画素について補間演算が終了すると補間演算ブロック68から補間演算終了通知out_enがデータインタフェースブロック62に出力され、補間演算終了通知out_enの入力に応じてデータインタフェースブロック62から4画素分の補正色データが端子sd_d_outから出力される。このとき4画素分の補正色データで色が表される画素(4つの注目画素に対応する補正画像の4つの画素)に対応するアドレス信号req_swが出力され、4画素分の補正色データをRAM14に書き込むための書き込み要求信号req_swが出力される。また、補間演算終了通知out_enが入力されると、データインタフェースブロック62は次の4画素について上述したデータ入力を繰り返す。
[画像補正の流れ]
図1は、プリンタ1による写真画像の自動画質補正のための色補正の流れを示すフローチャートである。図1に示す処理はステップS114を除いて上述した制御プログラムを実行するCPU22によって実行される。
ステップS100では印刷設定パラメータが解析され、補正パラメータを変動させるための制御値が設定される。具体的には印刷制御モジュール40(図4参照)から渡された印刷設定パラメータが色補正制御モジュール42によって解析され、印刷設定パラメータに応じて補正パラメータの制御値が設定される。画像補正に影響を与える印刷設定パラメータは例えば印刷対象の写真画像に対して設定されるシーンや輝度操作値やコントラスト操作値である。シーン設定としては、標準、人物、風景、夜景、逆光等がある。シーン設定、輝度操作値、コントラスト操作値等に応じて補正パラメータが表す制御点の上下幅を変動させる制御値が設定される。
ステップS102では印刷対象の元画像が解析される。すなわち、補正パラメータ生成モジュール48によって、RGBトーンの元画像がサンプリングされ、サンプリングによって生成されたQVGAサイズのRGBトーン画像等の統計値が導出される。尚、印刷対象がJPEGフォーマットである場合には、解析前のデコードによりRGBトーンの元画像が生成される。また印刷対象がRAWデータの場合には、解析前のデモザイク処理によりRGBトーンの元画像が生成される。詳細は、3次元色変換テーブルの生成について既に述べたとおりである。
ステップS104では補正パラメータが設定される。すなわち、補正パラメータ生成モジュール48によって、元画像の解析結果と補正パラメータの制御値とに応じた補正パラメータが設定される。詳細は、3次元色変換テーブルの生成について既に述べたとおりである。
補正パラメータによって決まるトーンカーブの制御点の上下幅が大きくなると、トーンカーブの曲率半径が平均的に小さくなるため、トーンカーブを規定する1次元色変換テーブルによって求まる補正色データの各成分と線形補間演算によって求まる補正色データの各成分との差(図18に示すΔB参照)が大きくなる。この差が大きくなると、補正画像の階調のなめらかさが損なわれる。
そこでステップS106では、3次元色変換テーブルの検証結果がハードウェアによる色補正の可能な範囲を決める第一の基準であるパラメータ基準を満たすか否かが補正方法判定モジュール44によって判定される。具体的には例えば、各補正パラメータの下限値及び上限値をパラメータ基準として保持する図19に示すテーブルに基づいて次のように判定される。このテーブルは制御プログラムに包含されている。補正パラメータの1つであるパラメータ1(例えばハイライトパラメータ)が基準下限値である−50以下又は基準上限値である+50以上であればパラメータ基準は満たされていないと判定される。この場合、連続モードに設定され、ステップS116の処理に進む。また、基準下限値以下又は基準上限値以上の補正パラメータが1つでも存在すればパラメータ基準は満たされていないと判定される。パラメータ基準は例えば次のように定められる。まず多数の写真画像に対して任意の補正パラメータが設定され、設定された補正パラメータに応じて3次元色変換テーブルが生成される。次に、生成された3次元色変換テーブルを用いた線形補間演算によって多数の補正画像が生成される。このようにして生成された多数の補正画像を感覚的に評価することによって、いずれの補正画像についても十分な画質の補正画像が得られる補正パラメータを特定することができる。
パラメータ基準が満たされている場合、テーブル生成モジュール50によって3次元色変換テーブルが生成される(ステップS108)。パラメータ基準が満たされない限り、3次元色変換テーブルが生成されないため、十分な画質の補正画像を生成できない3次元色変換テーブルが無駄に生成されることがない。まず、R、G及びB成分のトーンカーブに対応する1次元色変換テーブルが補正パラメータに基づいて生成される。また、3次元色変換テーブルの開始アドレスが設定される。任意のグリッド色の各成分に対応する出力階調が3つの1次元色変換テーブルからそれぞれグリッド補正色データの各成分として取得される。取得された各グリッド補正色データは対応するグリッド色に対応するアドレスに格納される。これらの詳細は既に説明したとおりである。実際には、各画素がグリッド色である画像を元画像としてS/W色補正モジュール52による色補正を実行すれば、各画素がグリッド補正色データで構成される画像が生成されるため、このように生成した画像の各画素の画素値をグリッド補正色データとして順次所定のアドレスに格納すればよい。
ステップS110では、3次元色変換テーブルが補正方法判定モジュール44によって検証される。線形補間演算の精度が統計的に最も悪くなるのは、元色データが表す色がユニットの重心に位置する場合である。したがって、ユニットの重心に対応する色(判定色)を表す元色データに対して色変換ブロック17による線形補間演算を実行し、線形補間演算の結果として求まる補正色データ(第二補正色データ)と、R、G及びBのトーンカーブに対応する1次元色変換テーブルを用いたソフトウェア処理によって求まる補正色データ(第一補正色データ)とを比較することによって線形補間演算の精度を判定することができる。ここで、色変換ブロック17による線形補間演算によって求まる補正色データを(Rh、Gh、Bh)とし、R、G及びBのトーンカーブに対応する1次元色変換テーブルを用いたソフトウェア処理(S/W色補正モジュール52による色補正処理)によって求まる補正色データを(Rs、Gs、Bs)とする(図20参照)。ステップS110では、ユニットの重心に対応する2つの補正色データ(Rh、Gh、Bh)及び(Rs、Gs、Bs)が示す色空間内の2点間の距離Δdの二乗が求められる。
Δd2=(Rh−Rs)2+(Gh−Gs)2+(Rh−Rs)2
3次元色変換テーブルの検証は全てのユニットを対象として実行されてもよいし、一部のユニットを対象として実行されてもよい。例えば、Rin=Gin=Binであるグレー軸では色のねじれや階調飛びが特に目立つため、グレー軸が貫くユニットのみ、或いはグレー軸が貫くユニットとそれらに隣接するユニットのみを対象として3次元色変換テーブルの検証が実行されてもよい。3次元色変換テーブルの検証を一部のユニットに限定して実行することにより、検証に要する時間を短縮することができる。
具体的には例えば以下のようにして3次元色変換テーブルが検証される。まず、検証対象となる各ユニットの重心に対応する元色データで各画素の色が表されたサンプル画像に対してS/W色補正モジュール52によって1次元色変換テーブルを用いた色補正が実行され、その結果としてS/W補正画像が生成される。また、同じサンプル画像に対して色変換ブロック17による線形補間演算が実行され、その結果としてH/W補正画像が生成される。そして、S/W補正画像とH/W補正画像の全画素についてΔd2が導出される。最後に、全画素について導出されたΔd2を母集団として、平均値、最大値、中央値等の統計値が導出される。
ステップS112では、3次元色変換テーブルの検証結果がハードウェアによる色補正の可能な範囲を決める第二の基準であるテーブル基準を満たしているか否かが補正方法判定モジュール44によって判定される。具体的には例えば、S/W補正画像とH/W補正画像とから求められたΔd2を母集団として導出された平均値、最大値、中央値等の統計値がテーブル基準として予め決められた固定値以下であれば、テーブル基準を満たしていると判定される。このような定量解析によってハードウェアによる色補正の可能な範囲を決めることにより、元画像がどのような画質であっても補正画像の目標画質を精度よく管理することができる。
パラメータ基準もテーブル基準も満たされている場合、ステップS114においてハードウェアによる画像の色補正が実行される。すなわち、色変換ブロック17によって既に述べたとおりの線形補間演算が実行され、色変換ブロック17によって導出された変換データがH/W色補正モジュール54によって設定される補正画像の開始アドレスから順次RAM14に格納される。その結果、各画素の色が変換データで表された補正画像が生成される。
パラメータ基準、テーブル基準のいずれかが満たされていない場合、ステップS116においてソフトウェアによる画像補正が実行される。すなわち、S/W色補正モジュール52を実行するCPU22によって以下の処理が行われる。
図21はソフトウェアによる画像補正の処理の流れを示すフローチャートである。
ステップS200では、元画像の画素の1つが注目画素として選択される。
ステップS202では、注目画素の色を表す元色データがRAM14からCPU22に読み込まれる。
ステップS204では、元色データのR成分がR成分のトーンカーブに対応する一次元変換テーブルのアドレスに変換され、元色データのG成分がG成分のトーンカーブに対応する一次元変換テーブルのアドレスに変換され、元色データのB成分がB成分のトーンカーブに対応する一次元変換テーブルのアドレスに変換される。生成された3つのアドレスから補正色データのR、G及びB成分が順次CPU22に読み込まれる。
ステップS206では、注目画素に対応する画素に補正色データが格納される。すなわち、注目画素に対応するRAM14のアドレスに補正色データが格納される。
ステップS208では注目画素が元画像の最終画素であるかが判定される。ステップS200からステップS206までの処理が元画像の最終画素まで繰り返される。
以上述べた連続モードにおけるソフトウェアによる色補正では、元色データの読み込み、R成分の1次元色変換テーブルのアドレス生成、補正色データのR成分の読み込み、G成分の1次元色変換テーブルのアドレス生成、補正色データのG成分の読み込み、B成分の1次元色変換テーブルのアドレス生成、補正色データのB成分の読み込み、補正色データの書き込みという一連の処理が画素毎にCPU22によって繰り返されるため、ハードウェアによる色補正よりも色補正にかかる時間が長くなる。一方、ソフトウェアによる色補正では、2563色のRGB色空間で表される全色に対応する補正色データを保持する1次元色変換テーブルで非線形な色変換が実行されるため、3次元色変換テーブルを用いた線形補間演算による色変換に比べて緻密な色変換が可能である。本実施形態では、補正パラメータによって決まる補正量に応じてソフトウェアによる色補正とハードウェアによる色補正とが切り換わるため、ハードウェアによる色補正によって補正画像の画質が実質的に劣化することはない。またハードウェアによって色補正がされる限りは高速に色補正が実行される。また自動設定された撮像条件のもとでディジタルカメラによって生成された写真画像に対しては、ほとんどの場合、補正量が小幅な色補正によって適性画質を得ることができる。したがって、実際には相当高い割合でハードウェアによる色補正によって写真画像の画質改善が可能である。
[他の実施形態]
以上述べた実施形態では、写真画像の解析結果に基づいて3次元色変換テーブルが生成されたが、写真画像を解析せずに3次元色変換テーブルを生成してもよい。例えば、補正パラメータが一義的に決まる制御値が印刷対象となる画像に添付されているような場合には、写真画像を解析しなくても、その写真画像に対して適正な3次元色変換テーブルを生成することが可能である。また上記実施形態では、ソフトウェア処理による色補正では、1次元色変換テーブルを用いたトーンカーブ変換で補正色データが導出されたが、1画素毎に四則演算を伴う関数演算によって補正色データが導出されてもよい。このような関数演算を定義する情報(プログラムコード)や一次元色変換テーブルが関数情報に相当する。また上記実施例では、3次元色変換テーブルと線形補間演算を組み合わせて補正色データを導出する機能をハードウェアによって実現したが、この機能はソフトウェアによって実現してもよい。すなわち、CPU22が3次元色変換テーブルからユニットデータを取得して線形補間演算を実行してもよい。また、本発明はプリンタ以外の様々な画像処理装置に適用可能である。本発明が適用可能な画像処理装置としては、例えばプロジェクタ、ディジタルカメラ、イメージスキャナ、MFP(Multi Function Printer)、レーザ複写機、写真画像の専用プリントシステムなどがある。
本発明の一実施形態に係るフローチャート。 本発明の一実施形態に係るブロック図。 本発明の一実施形態に係るブロック図。 本発明の一実施形態に係るブロック図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係るトーンカーブを示す図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係るメモリマップ。 本発明の一実施形態に係るブロック図。 本発明の一実施形態に係るタイミング図。 本発明の一実施形態に係るアドレス信号を説明する表。 本発明の一実施形態に係るブロック図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係るトーンカーブを示す図。 本発明の一実施形態に係るパラメータ基準を示す表。 本発明の一実施形態に係る模式図。 本発明の一実施形態に係るフローチャート。
符号の説明
1:プリンタ(画像処理装置)、17:色変換ブロック(専用プロセッサ)、22:CPU22(汎用プロセッサ)、42:色補正制御モジュール(モード設定手段)、44:補正方法判定モジュール(パラメータ判定手段、テーブル設定手段)、48:補正パラメータ生成モジュール(解析手段)、50:テーブル生成モジュール(テーブル生成手段)、52:S/W色補正モジュール(連続補正手段)、62:データインタフェースブロック(データ取得手段)、64:アービタブロック(データ取得手段)、66:ユニットアドレス生成ブロック(データ取得手段)、68:補間演算ブロック(補間演算手段)、72:回路(比較回路)、78:セレクタ(比較回路)、102:係数演算ブロック(係数生成回路)、104:累積加算ブロック(累積加算回路)

Claims (4)

  1. 色数がN個であるディジタル色空間で表された画像の色を補正するための画像処理装置であって、
    メモリと、
    前記メモリに格納されている元画像に対する補正モードを前記元画像毎に連続モード又は補間モードに設定するモード設定手段と、
    前記元画像の注目画素の色を表す元色データを取得し、N個の色に対応する補正色を規定する関数情報を前記元色データに基づいて利用することによって、前記元画像の注目画素の色に対応する前記補正色を表す前記補正色データを第一補正色データとして導出し、前記注目画素に関して前記第一補正色データを前記メモリに格納する、一連の処理を前記補正モードが前記連続モードであるとき繰り返すことにより各画素の色が前記第一補正色データで表された補正画像を生成する連続補正手段と、
    前記元色データを取得し、n(n<N)個のグリッド色に対応するn個のグリッド補正色データを保持している3次元色変換テーブルから、前記注目画素の色に近い複数の前記グリッド色に対応する複数の前記グリッド補正色データで構成されるユニットデータを、前記元色データに基づいて取得し、前記ユニットデータを用いた線形補間演算により前記元画像の注目画素の色に対応する第二補正色データを導出し、前記注目画素に関して前記第二補正色データを前記メモリに格納する、一連の処理を前記補正モードが前記補間モードであるとき繰り返すことにより各画素の色が前記第二補正色データで表された補正画像を生成する補間補正手段と、
    前記元画像を解析し、前記関数情報及び前記3次元色変換テーブルを規定する補正パラメータを解析結果に基づいて生成する解析手段と、
    前記補正パラメータが予め決められたパラメータ基準を満たすか判定するパラメータ判定手段と、
    を備え、
    前記モード設定手段は、対応する前記補正パラメータが前記パラメータ基準を満たさない前記元画像に対する前記補正モードを前記連続モードに設定する、
    画像処理装置。
  2. 前記補正パラメータが前記パラメータ基準を満たす場合、前記補正パラメータに基づいて前記3次元色変換テーブルを生成するテーブル生成手段と、
    前記補正パラメータが前記パラメータ基準を満たす場合、前記グリッド色でない判定色に対応する前記第一補正色データを前記連続補正手段から取得し、前記判定色に対応する前記第二補正色データを前記補間補正手段から取得し、前記第一補正色データと前記第二補正色データとを比較し、比較結果が予め決められたテーブル基準を満たすか判定するテーブル判定手段と、をさらに備え、
    前記モード設定手段は、対応する前記3次元色変換テーブルが前記テーブル基準を満たす前記元画像に対する前記補正モードを前記補間モードに設定し、対応する前記3次元色変換テーブルが前記テーブル基準を満たさない前記元画像に対する前記補正モードを前記連続モードに設定する、
    請求項1に記載の画像処理装置。
  3. 前記判定色は、前記ユニットデータに対応する複数の前記グリッド色を頂点とする多面体領域の重心の色である、
    請求項2に記載の画像処理装置。
  4. 前記判定色は、グレー軸を含む前記ディジタル色空間の部分領域内の色である、
    請求項3に記載の画像処理装置。
JP2005356189A 2005-12-09 2005-12-09 画像処理装置 Expired - Fee Related JP4595801B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005356189A JP4595801B2 (ja) 2005-12-09 2005-12-09 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005356189A JP4595801B2 (ja) 2005-12-09 2005-12-09 画像処理装置

Publications (2)

Publication Number Publication Date
JP2007165989A JP2007165989A (ja) 2007-06-28
JP4595801B2 true JP4595801B2 (ja) 2010-12-08

Family

ID=38248426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005356189A Expired - Fee Related JP4595801B2 (ja) 2005-12-09 2005-12-09 画像処理装置

Country Status (1)

Country Link
JP (1) JP4595801B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8054316B2 (en) * 2008-11-14 2011-11-08 Nvidia Corporation Picture processing using a hybrid system configuration
CN104205795B (zh) * 2012-03-27 2017-05-03 汤姆逊许可公司 色彩分级预览方法和装置
CN114928730B (zh) * 2022-06-23 2023-08-22 湖南国科微电子股份有限公司 图像处理方法和图像处理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339617A (ja) * 2000-05-26 2001-12-07 Minolta Co Ltd 画像処理装置および画像処理方法
JP2005269131A (ja) * 2004-03-18 2005-09-29 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09168095A (ja) * 1995-12-15 1997-06-24 Sharp Corp 色修正方法およびカラー画像処理装置
JP3618889B2 (ja) * 1996-04-02 2005-02-09 キヤノン株式会社 画像処理装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339617A (ja) * 2000-05-26 2001-12-07 Minolta Co Ltd 画像処理装置および画像処理方法
JP2005269131A (ja) * 2004-03-18 2005-09-29 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム

Also Published As

Publication number Publication date
JP2007165989A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
US10356282B2 (en) Image processing apparatus and color separation processing method by interpolation processing using a multi-dimensional lookup table
JP4924264B2 (ja) 画像処理装置、画像処理方法、および、コンピュータプログラム
JP4160335B2 (ja) カラー画像からグレー値画像への変換
JP2007208956A (ja) 画像処理装置、画像形成装置、画像処理装置の制御方法、画像処理プログラム、コンピュータ読み取り可能な記録媒体
US20020008762A1 (en) Method, apparatus and recording medium for image processing
JP6747224B2 (ja) 画像処理装置、および、コンピュータプログラム
JP4877074B2 (ja) 画像処理装置、画像処理方法、および、コンピュータプログラム
JP4774757B2 (ja) 画像処理装置、画像処理プログラム、電子カメラ、および画像処理方法
JP4595801B2 (ja) 画像処理装置
US20080240561A1 (en) Image processing apparatus
JP2017184040A (ja) 画像処理装置、および、コンピュータプログラム
JP3880465B2 (ja) 色変換テーブルの作成方法およびその装置
JP2005192162A (ja) 画像処理方法、画像処理装置及び画像記録装置
JPH0750761A (ja) 独立タイプの入・出力機で構成される画像処理システムの色再現法
JP4208877B2 (ja) 画像処理装置及び方法、コンピュータプログラム及び記憶媒体
JP5457123B2 (ja) Lutを生成する方法、lutから輝度値を読み出す方法、プログラム及び装置
CN104519237B (zh) 图像处理装置及图像处理方法
JPH10191090A (ja) 色変換テーブルの製造装置及び製造方法並びに記録媒体
JP2007189487A (ja) 画像処理装置
JP2002015314A (ja) 画像出力方法および装置並びに記録媒体
US20110255104A1 (en) Image processing apparatus and program therefor
JP4930503B2 (ja) 画像処理装置と画像処理プログラム
JP7321885B2 (ja) 画像処理装置、画像処理方法、およびプログラム
US8643907B2 (en) Image processing apparatus and program therefor
JP6781398B2 (ja) 画像処理装置、および、コンピュータプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees