(57)【要約】【課題】簡易な構成で、階調量子化ビット精度の変更時に生ずる疑似輪郭を軽減できるようにする。【解決手段】ｓビット（ｓは３以上の整数）のカラー画像をｄビット（ｄは（ｓ−２）以下の整数）のカラー画像に階調変換する画像処理装置であって、ｓビットの階調値に依存して変化するとともに、カラー画像の彩度及び輝度に応じて程度が変化するばらつきを持つ変換テーブルを生成する変換テーブル生成部と、画像圧縮処理の前または画像ファイルの保存の前、且つ色空間変換の後に、変換テーブルを用いて、ｓビットのカラー画像をｄビットのカラー画像に変換する階調変換部とを備える。【選択図】図４
2010177929.tif 000002
【特許請求の範囲】
【請求項１】
ｓビット（ｓは３以上の整数）のカラー画像をｄビット（ｄは（ｓ−２）以下の整数）のカラー画像に階調変換する画像処理装置であって、
前記ｓビットの階調値に依存して変化するとともに、前記カラー画像の彩度及び輝度に応じて程度が変化するばらつきを持つ変換テーブルを生成する変換テーブル生成手段と、
画像圧縮処理の前または画像ファイルの保存の前、且つ色空間変換の後に、前記変換テーブルを用いて、前記ｓビットのカラー画像を前記ｄビットのカラー画像に変換する階調変換手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記変換テーブルは、前記カラー画像の信号成分ごとに異なり、前記カラー画像の変換前のビット精度が１４ビットまたは１６ビットであり、前記カラー画像の変換後のビット精度が８ビットであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記カラー画像の信号成分は、輝度成分Ｙと色差成分Ｃｂ、Ｃｒであることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記信号成分のうちのＣｒ成分に用いられる変換テーブルのばらつきは輝度Ｙが小さいほど大きく、Ｃｂ成分に用いられる変換テーブルのばらつきは輝度Ｙの大きさに依存しないことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記カラー画像の信号成分は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）であることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記信号成分であるＲ成分、Ｇ成分、Ｂ成分にそれぞれ用いられる変換テーブルはＢ成分の値が大きいほどばらつきの程度が大きいことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
ｓビット（ｓは３以上の整数）のカラー画像をｄビット（ｄは（ｓ−２）以下の整数）のカラー画像に階調変換する画像処理方法であって、
前記ｓビットの階調値に依存して変化するとともに、前記カラー画像の彩度及び輝度に応じて程度が変化するばらつきを持つ変換テーブルを生成する変換テーブル生成工程と、
画像圧縮処理の前または画像ファイルの保存の前、且つ色空間変換の後に、前記変換テーブルを用いて、前記ｓビットのカラー画像を前記ｄビットのカラー画像に変換する階調変換工程と、
を備えることを特徴とする画像処理方法。
【請求項８】
請求項７に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の階調量子化ビット精度の変更時に生ずる疑似輪郭を軽減する技術に関する。
【背景技術】
【０００２】
階調変換処理とはビット精度の高い値から低い値、もしくはビット精度の低い値から高い値へと変換する際に用いられる処理である。従来の階調変換方法には単純なビットシフトによるもののほか、誤差拡散法が知られている。
【０００３】
例えば１６ビット長の信号ｓｉｇ１６を８ビット長の信号ｓｉｇ８に変換する場合、ビットシフトでは単純に、
ｓｉｇ８＝（（ｕｎｓｉｇｎｅｄ  ｌｏｎｇ）ｓｉｇ１６＆０×ＦＦ００）＞＞８
といった形で行われる。この際、図１５に示したように下位ビットが失われるため階段状に信号が形成される。さらにこの場合、１６ビットで０〜２５５の範囲の値が８ビットの０に変換される一方、１６ビットで６５５３５だけが８ビットの２５５に変換されてしまうため、均等に変換されず色も変化してしまう。これを四捨五入を用いて、
ｓｉｇ８＝（（（ｕｎｓｉｇｎｅｄ  ｌｏｎｇ）ｓｉｇ１６＋１２８）＆０×ＦＦＦ００）＞＞８
としても、均等性は改善されるが階段状に信号が形成されることに違いはない。
【０００４】
一方、階調量子化精度が低い場合に生じる疑似輪郭を解消する方法として、誤差拡散法が知られている。誤差拡散法を１６ビット長の信号ｓｉｇ１６の８ビット長の信号ｓｉｇ８への変換に適用する場合、１６ビットから８ビットに変換した際に生じた誤差（ｅｒｒ＝ｓｉｇ１６−ｓｉｇ８＊２５６）を周囲の画素に拡散させ、局所的な平均値を一定にする（例えば非特許文献１参照）。また、非特許文献１の方法では階調１／２付近の偽輪郭は残ってしまうという問題があり、これを改良した方法がある（例えば、特許文献１）。特許文献１では階調レベルに応じて誤差の与え方を変更している。しかし、いずれも周囲の画素を参照した適応的な処理であり、比較的多くの分岐命令や演算が必要であった。
【特許文献１】特許第３３９９３４１号公報
【非特許文献１】Floｙd， Ｒ.W. ａnd L. Steinberg， An ａdａptive ａlgorithm for spａtiａl greｙscａle. Proc. SID， vol. 17: pp. 75−77， （1975）.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
被写体に青空や撮影スタジオのフォトグラデーションなどが含まれる場合、これらの階調は非常に緩やかに変化している。このような被写体を撮影した場合、しばしば用いられる階調量子化数が８ビット長の画像ではグラデーション部分に色や輝度のトーンジャンプとして知覚される疑似輪郭が生じる場合がある。特にこれが低ＩＳＯ感度の場合などノイズの少ない条件で発生する場合、１６ビット長など高いビット精度での画像処理の後に行われる階調変換方法を改善することで軽減することができる。従来の階調変換方法のうちビットシフトでは擬似輪郭の問題が改善できず、誤差拡散法では演算量が多く回路規模や処理時間が必要であった。
【０００６】
従って、本発明は上述した課題に鑑みてなされたものであり、その目的は、簡易な構成で、階調量子化ビット精度の変更時に生ずる疑似輪郭を軽減できるようにすることである。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、ｓビット（ｓは３以上の整数）のカラー画像をｄビット（ｄは（ｓ−２）以下の整数）のカラー画像に階調変換する画像処理装置であって、前記ｓビットの階調値に依存して変化するとともに、前記カラー画像の彩度及び輝度に応じて程度が変化するばらつきを持つ変換テーブルを生成する変換テーブル生成手段と、画像圧縮処理の前または画像ファイルの保存の前、且つ色空間変換の後に、前記変換テーブルを用いて、前記ｓビットのカラー画像を前記ｄビットのカラー画像に変換する階調変換手段と、を備えることを特徴とする。
【０００８】
また、本発明に係わる画像処理方法は、ｓビット（ｓは３以上の整数）のカラー画像をｄビット（ｄは（ｓ−２）以下の整数）のカラー画像に階調変換する画像処理方法であって、前記ｓビットの階調値に依存して変化するとともに、前記カラー画像の彩度及び輝度に応じて程度が変化するばらつきを持つ変換テーブルを生成する変換テーブル生成工程と、画像圧縮処理の前または画像ファイルの保存の前、且つ色空間変換の後に、前記変換テーブルを用いて、前記ｓビットのカラー画像を前記ｄビットのカラー画像に変換する階調変換工程と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、簡易な構成で、階調量子化ビット精度の変更時に生ずる疑似輪郭を軽減することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
【００１１】
（第１の実施形態）
この第１の実施形態では、デジタルカメラの画像処理において、ＹＣｂＣｒ，１４ｂｉｔのカラー画像を８ｂｉｔに階調変換する場合について説明する。なお、階調変換前のカラー画像のビット数をｓビット（ｓは３以上の整数）、階調変換後のカラー画像のビット数をｄビット（ｄは（ｓ−２）以下の整数とする。
【００１２】
図１は、本発明の第１の実施形態に係わるデジタルカメラの構成を示すブロック図である。
【００１３】
レンズ５０１を通ってきた光は、絞り５０２により光量を調節され、赤外カットフィルタ５０３及び光学ＬＰＦ（ローパスフィルタ）５０４を通過し、撮像素子５２０（以下ＣＭＯＳと呼ぶ）に結像される。なお、５０６は、レンズ５０１を構成するズームレンズ、フォーカスレンズなどを駆動するためのレンズ駆動部であり、５０７は、絞り５０２を駆動する絞り駆動部である。
【００１４】
ＣＭＯＳ５２０の受光面にはフォトダイオードを用いた光電変換センサが２次元的に配置されており、各センサに対して、１色のカラー、例えば、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の原色カラーフィルタが所定の配列で配置されている。なお、本実施形態では、カラーフィルタを用いて光をＲＧＢの３色の成分に分離しているが、例えば、撮像素子を複数枚（例えば３枚）用いて、各撮像素子に対して１色を割り当てる形態も可能である。
【００１５】
ＣＭＯＳ５２０に結像された光は、各センサにおいて、入射光量に応じた量の電荷に変換される。タイミングジェネレータ５０８が発生する信号は、水平基準パルス生成用ドライバ５２２と垂直基準パルス生成用ドライバ５２１に供給される。そして、水平基準パルス生成用ドライバ５２２と垂直基準パルス生成用ドライバ５２１によりＣＭＯＳ５２０の読み出し画素が選択され、選択された画素のセンサに蓄積された電荷が電圧信号に変換されて、ＣＭＯＳ５２０から出力される。
【００１６】
ＣＭＯＳ５２０から出力された電圧信号は、相関二重サンプリング回路５２３（以下ＣＤＳと呼ぶ）でサンプリングされ、ＡＧＣ回路５２４でＩＳＯ感度に応じて増幅された後、Ａ／Ｄ変換器５０９で１４ビット精度で量子化されデジタル信号に変換される。
【００１７】
デジタル信号に変換された画像データは、画像処理ＩＣ５２５に入力され、ＷＢ算出回路５２９によりホワイトバランスゲインを算出した後、メモリ制御回路５１４によって制御されたメモリ５１７に格納される。
【００１８】
デジタル信号に変換された画像データは、そのまま可逆圧縮（ロスレス圧縮）をかける可逆圧縮回路５１３に入力される。そして、可逆圧縮回路５１３において可逆圧縮され、可逆圧縮されたＲＡＷデータが、ＣＰＵバス５２８を介してメモリカード制御回路５１５によって制御されたメモリカード５１８にＲＡＷ形式のファイルとして保存される。
【００１９】
また、デジタル信号に変換された画像データは、画像処理回路５２６にも入力される。ＲＧＢの画像データは、画像処理回路５２６において各色８ビットのＹＣｂＣｒ信号（ＣＣＩＲ６０１）に変換されるとともに、ラスタブロック変換されて、ＪＰＥＧ圧縮回路５２７でＪＰＥＧ圧縮される。ＪＰＥＧ圧縮回路５２７から出力されたＪＰＥＧ形式の画像データは、ＣＰＵバス５２８を介してメモリカード制御回路５１５によって制御されたメモリカード５１８にＪＰＥＧ形式のファイルとして保存される。
【００２０】
なお、図１において、５１０はデジタルカメラ全体の動作を制御するＣＰＵ、５１１はＣＰＵに対してユーザーが各種の指示を入力するための操作部である。また、５１９は表示制御部５１６に制御されて、各種の表示を行うディスプレイである。
【００２１】
ここで、画像処理回路５２６で行われる画像処理についてさらに詳しく説明する。
【００２２】
図２は、画像処理回路５２６における画像処理の概要を示すブロック図である。
【００２３】
メモリ５１７から入力された１４ビットデジタル画像データは、黒補正回路７１０に入力される。黒補正回路７１０では暗電流による黒浮きをＣＭＯＳの遮光部の座標領域における画像データの積算平均値から概算し、画像データから積算平均値を減算する。黒補正回路で黒引きされた画像データは、レンズ補正回路７２０においてレンズの周辺減光によって減少した信号量が増幅され、その後レンズの倍率色収差が色毎に拡大縮小を行うことで補正される。
【００２４】
レンズ補正回路７２０においてレンズ補正された画像データはホワイトバランス補正回路７３０に入力され、ホワイトバランス補正が行われる。ホワイトバランス補正回路７３０では、予めＷＢ算出回路５２９で算出されたデータに基づいてＣＰＵ５１０で計算されたホワイトバランス係数を画像データに掛ける。もしくは、予め設定されているホワイトバランス（例えばデイライト、タングステン、蛍光灯等）の係数を画像データに掛ける。ホワイトバランス補正回路７３０でホワイトバランスがとられた画像データは、色補間回路７４０で色補間される。色補間回路７４０では図３に示すようにＲＧＢ（赤、緑、青）が格子状に配列されたパターン（例えばベイヤー配列）のデータから、ＲＧＢ（Ｒ成分、Ｇ成分、Ｂ成分）の３プレーンが作り出される。
【００２５】
次に、ＲＧＢの３プレーンが揃った画像データは、色調整回路７５０において、例えば、式（１）に示すような３×３のマトリクス演算等で色の最適化が行われる。
【００２６】
Ｒｃ＝ｍ１１×Ｒ＋ｍ１２×Ｇ＋ｍ１３×Ｂ
Ｇｃ＝ｍ２１×Ｒ＋ｍ２２×Ｇ＋ｍ２３×Ｂ
Ｂｃ＝ｍ３１×Ｒ＋ｍ３２×Ｇ＋ｍ３３×Ｂ                …（１）
ここで、式（１）のｍ１１〜ｍ３３は最適化の係数である。色調整後の画像データはガンマ補正回路７６０によって式（２）のようにガンマ変換される。
【００２７】
Ｒγ＝γ（Ｒｃ）
Ｇγ＝γ（Ｇｃ）
Ｂγ＝γ（Ｂｃ）                                        …（２）
次に、ガンマ変換された画像データは、ＹＣ変換回路７７０によって偽色処理や、エッジ強調処理を行なうために、式（３）に示すようにＲＧＢ信号からＹＣｂＣｒという輝度成分と色差成分の信号に変換される。
【００２８】
Ｙ１４＝ｋ１１×Ｒｃ＋ｋ１２×Ｇｃ＋ｋ１３×Ｂｃ
Ｃｂ１４＝ｋ２１×Ｒｃ＋ｋ２２×Ｇｃ＋ｋ２３×Ｂｃ
Ｃｒ１４＝ｋ３１×Ｒｃ＋ｋ３２×Ｇｃ＋ｋ３３×Ｂｃ      …（３）
式（３）のｋ１１〜ｋ３３はＹＣｂＣｒに変換するための係数である。
【００２９】
通常のＪＰＥＧ画像を作成する場合は、ＹＣｂＣｒ変換された信号のうちの輝度成分Ｙ１４は、輝度処理回路７９０でエッジ強調される。また、ＹＣｂＣｒ変換された信号のうちの色差成分Ｃｂ１４、Ｃｒ１４は、色処理回路７８０でメディアンフィルタをかけられる。最後に、整ったＹＣｂＣｒのデータは１４ｂｉｔ→８ｂｉｔ変換処理回路７９５で８ビットデータ７９９に変換され、ＪＰＥＧ圧縮回路５２７でＪＰＥＧ圧縮（画像圧縮処理）される。
【００３０】
ここで、１４ｂｉｔ→８ｂｉｔ変換処理回路７９５についてさらに詳しく説明する。
【００３１】
１４ビットのＹＣｂＣｒデータＹ１４，Ｃｂ１４，Ｃｒ１４は１４ｂｉｔ→８ｂｉｔ変換処理回路７９５において、式（４）のようにＬＵＴ（ルックアップテーブル、変換テーブルとも呼ぶ）を用いて８ビットのデータに変換される。この際利用されるＬＵＴの作成方法（変換テーブル生成方法）については後に説明する。
【００３２】
Ｙ８＝ＹＬＵＴ（Ｙ１４）
Ｃｂ８＝ＣｂＬＵＴ（Ｃｂ１４）
Ｃｒ８＝ＣｒＬＵＴ（Ｃｒ１４）                          …（４）
ＹＬＵＴは１４ｂｉｔ階調値を３の剰余で３等分し、８ビット階調値が切り替わる１４ｂｉｔ値の前半と後半で、切り上げと切り捨ての割合を変化させることで、疑似輪郭を軽減する効果を奏する。切り上げと切り捨ては、１４ｂｉｔ値にばらつき量（ｄｉｆｆ）を加算（切上げ）、減算（切り捨て）することで行い、ばらつき量（ｄｉｆｆ）は１４ｂｉｔ値の大きさに依存して変化させる。ＣｂＬＵＴ，ＣｒＬＵＴについてもばらつきを持つＬＵＴとする。１４ビットレベルで階調がなだらかに変化する場合、局所的な領域で擬似的に３段階の中間調を持つことができるため、疑似輪郭の発生を低減することができる。
【００３３】
まず、式（４）のＹＬＵＴの作成方法について説明する。
【００３４】
ＹＬＵＴは図４のような処理フローで作成する。初めに８ｂｉｔ→１４ｂｉｔＬＵＴ作成（８ｔｏ１４ＬＵＴ）ステップＳ２００において、８ｂｉｔ変換閾値中間レベル算出処理ステップＳ２０１で使用するＬＵＴを作成する。このＬＵＴは単純な８ｂｉｔ→１４ｂｉｔ変換ＬＵＴであり、式（５）のように演算する。式（５）のｉは０〜２５５の値をとり、除算では切り捨て処理する。
【００３５】
８ｔｏ１４ＬＵＴ[ｉ]＝（ｉ＊１６３８３＋１２７）／２５５
次に１４ビット値すべてについてステップＳ２０１〜Ｓ２１１の処理を行う。８ｂｉｔ変換閾値中間レベル算出処理ステップＳ２０１では図５のように着目した１４ビット値に対応する８ｂｉｔ変換閾値中間レベル（ｍｉｄｄｌｅ１４）を求める。
【００３６】
図５の処理フローを１４ｂｉｔ値（×１４）が２００の場合（×１４＝２００）を例に図６を用いて説明する。
【００３７】
図５の８ｂｉｔ値（ｔｅｍｐ８）算出処理ステップＳ２２１では図６のｔｅｍｐ８に相当する値を得る。８ｂｉｔ→１４ｂｉｔＬＵＴ作成（８ｔｏ１４ＬＵＴ）ステップＳ２００において得られた８ｔｏ１４ＬＵＴを用いて、ｘ＝８ｔｏ１４ＬＵＴ[ｙ]の値をｙが小さいものから見て、初めてｘがｉを超える場合のｙから１を引いたｙ−１をｔｅｍｐ８とする。図６の例ではｔｅｍｐ８＝３となる。次に下側１４ｂｉｔ切り替え値（ｍｉｎｕｓ１４）算出ステップＳ２２２において、ｍｉｎｕｓ１４＝８ｔｏ１４ＬＵＴ（ｔｅｍｐ８）のようにｍｉｎｕｓ１４値を得る。図６の例ではｍｉｎｕｓ１４＝１９３となる。次に同様に上側１４ｂｉｔ切り替え値（ｐｌｕｓ１４）算出ステップＳ２２３において、ｐｌｕｓ１４＝８ｔｏ１４ＬＵＴ（ｔｅｍｐ８＋１）のようにｐｌｕｓ１４値を得る。図６の例ではｐｌｕｓ１４＝２５７となる。次に８ｂｉｔ変換閾値中間レベル（ｍｉｄｄｌｅ１４）算出ステップＳ２２４において、式（５）のようにしてｍｉｄｄｌｅ１４値を求める。
【００３８】
ｈａｌｆ＝（ｐｌｕｓ１４−ｍｉｎｕｓ１４）／２
ｍｉｄｄｌｅ１４＝ｍｉｎｕｓ１４＋ｈａｌｆ              …（５）
次に、ばらつき量（ｄｉｆｆ）算出処理ステップＳ２０２でばらつき量ｄｉｆｆを求める。ばらつき量（ｄｉｆｆ）は１４ｂｉｔ値の切り上げと切り捨ての制御に用いるオフセットである。一般に使われる四捨五入による値の丸めでは０．５を加算して切り捨てすることに相当するが、ここでは算出したばらつき量を加算（切上げ）、減算（切り捨て）することで値を丸める。１４ｂｉｔ→８ｂｉｔ変換を四捨五入で行う場合、８ｂｉｔで０．５に相当する１４ビット値１６３８３／２５５＊０．５＝３２を１４ｂｉｔ値に加算して切り捨てれば実現できる。ここでは１４ｂｉｔの最大値でｍａｘＤｉｆｆ＝３２とし、四捨五入以上の誤差を持たせないようにばらつき量（ｄｉｆｆ）を制御するため、式（６）を用いる。
【００３９】
ｄｉｆｆ（ｘ１４）＝ｘ１４＊ａＤｉｆｆ／１６３８３＋ｍｉｎＤｉｆｆ
ａＤｉｆｆ＝ｍａｘＤｉｆｆ−ｍｉｎＤｉｆｆ                          …（６）
ここでｍａｘＤｉｆｆ， ｍｉｎＤｉｆｆはパラメータであり、ばらつき量を制御できる。例えば以下のような値に設定する。
【００４０】
ｍａｘＤｉｆｆ＝３２（初期値）：ばらつき量の程度を決める定数（１４ｂｉｔ， 最大値）
ｍｉｎＤｉｆｆ＝８（初期値）：ばらつき量の程度を決める定数（１４ｂｉｔ， 最小値）
ここまでで得られた値を用いてステップＳ２０３〜Ｓ２０９の処理を行う。まず切り替わりレベル後半判別ステップＳ２０３では、ｍｉｄｄｌｅ１４に比べて着目値ｘ１４の大小に分け、さらにステップＳ２０４、Ｓ２０５でｘ１４を３で割った余りによって２分割する。それぞれステップＳ２０６〜Ｓ２０９に記載された処理を行うことにより、１４ｂｉｔ階調値を３の剰余で３等分し、８ビット階調値が切り替わる１６ｂｉｔ値の前半、後半で、切り上げと切り捨ての割合を変化させる。切り上げと切り捨ての割合は、１６ｂｉｔ値にばらつき量（ｄｉｆｆ）を加算（切上げ）、減算（切り捨て）することで行い、ばらつき量（ｄｉｆｆ）は１６ｂｉｔ値の大きさに依存して変化させている。
【００４１】
以上のことから、１６ビットレベルで階調がなだらかに変化する場合、局所的な領域で擬似的に３段階の中間調を持つことができ、輝度の疑似輪郭の発生を低減することができる。上記のとおり作成した際のＹＬＵＴの例を図７〜９に示した。図７〜９で１４ｔｏ８ＬＵＴは図４のフローチャートのとおり作成したＬＵＴであり、理想値は連続値（小数点以下）を利用できる場合の値である。輝度が高いほど広い範囲でばらつきを持つ。
【００４２】
次に、式（４）のＣｂＬＵＴ、ＣｒＬＵＴの作成方法について説明する。
【００４３】
ＣｂＬＵＴ、ＣｒＬＵＴは図１０のような処理フローで作成する。基本的にはＹＬＵＴの場合と同じであるが、ｘ１４の値が図４ではＹの値であったが、ＣｂＬＵＴを作成する場合はＣｂ、ＣｒＬＵＴを作成する場合はＣｒの値であるほか以下の点が異なる。まず第１に負の値をとるため、オフセット加算ステップＳ４２０、オフセット減算ステップＳ４２１が追加されている。第２にばらつき量（ｄｉｆｆ）算出処理がＹに依存したばらつき量（ｄｉｆｆ）算出処理ステップＳ４０２に変更されている。
【００４４】
そのため以下ではＹに依存したばらつき量（ｄｉｆｆ）算出処理ステップＳ４０２について詳しく説明する。Ｃｂ（Ｃｒ）のばらつき量（ｄｉｆｆ_Ｃｂ（ｄｉｆｆ_Ｃｒ））は、輝度Ｙの値を用いて式（７）を用いて算出する。
【００４５】
ｄｉｆｆ_Ｃｂ（ｘ１４）＝Ｙ１４＊ａＤｉｆｆ_Ｃｂ／１６３８３＋ｍｉｎＤｉｆｆ_Ｃｂ
ｄｉｆｆ_Ｃｒ（ｘ１４）＝Ｙ１４＊ａＤｉｆｆ_Ｃｒ／１６３８３＋ｍｉｎＤｉｆｆ_Ｃｒ                                                    …（６）
ａＤｉｆｆ_Ｃｂ＝ｍａｘＤｉｆｆ_Ｃｂ−ｍｉｎＤｉｆｆ_Ｃｂ
ａＤｉｆｆ_Ｃｒ＝ｍａｘＤｉｆｆ_Ｃｒ−ｍｉｎＤｉｆｆ_Ｃｒ
ここでｍａｘＤｉｆｆ_Ｃｂ， ｍｉｎＤｉｆｆ_Ｃｂ， ｍａｘＤｉｆｆ_Ｃｒ， ｍｉｎＤｉｆｆ_Ｃｒはパラメータであり、ばらつき量を制御できる。暗部では特に赤がよく知覚されるため、Ｃｒは暗部であってもばらつきを多くする。また、色は青の寄与が多いことから輝度の全域にわたってＣｂのばらつきを多くする。例えば以下のような値に設定する。
【００４６】
ｍａｘＤｉｆｆ_Ｃｂ＝１６３８３／２５５＊０．５＝３２（初期値，１４ｂｉｔ，ばらつき量の最大値）
ｍｉｎＤｉｆｆ_Ｃｂ＝ｍａｘＤｉｆｆ_Ｃｂ／４＝８（初期値，１４ｂｉｔ，ばらつき量の最小値）
ｍａｘＤｉｆｆ_Ｃｒ＝１６３８３／２５５＊０．５＝３２（初期値，１４ｂｉｔ，ばらつき量の最大値）
ｍｉｎＤｉｆｆ_Ｃｒ＝ｍａｘＤｉｆｆ_Ｃｂ＝３２（初期値，１４ｂｉｔ，ばらつき量の最小値）
図１０における他の処理ステップについては、ＹＬＵＴでの図４の処理ステップと同様に処理し、ＣｂＬＵＴ、ＣｒＬＵＴを作成する。Ｒ画素のノイズはホワイトバランスゲインによって大きなゲインを掛けられた上、ガンマカーブによって増幅されるため目立ちやすくなっており、さらにノイズリダクションなどの画像処理によって空間的に広がっている。暗部の赤（Ｃｒ）でばらつきを大きくすることによってノイズを拡散する効果を得られる。青（Ｃｂ）については値に対する色差への影響が大きいため、できるだけ広い範囲でばらつきを持たせる。
【００４７】
（第２の実施形態）
この第２の実施形態では、ＰＣ（パーソナルコンピュータ）でのＲＡＷ現像（ＹＣｂＣｒ，１６ｂｉｔ→８ｂｉｔ変換）について説明する。
【００４８】
図１１は本発明の第２の実施形態に係わる情報処理装置の構成を示すブロック図である。情報処理装置としては一般的なパーソナルコンピュータ（ＰＣ）を用いることができる。
【００４９】
図１１において、ＣＰＵ６０９はメモリ６０３に保持されたプログラムを実行することにより各処理を実現する。ハードディスク６０４には情報処理装置における基本入出力システムやプログラム等が格納されており、プログラムはハードディスク６０４からメモリ６０３に読み込まれて実行される。ディスプレイ６０７はＣＰＵ６０９の制御下で各種表示を行う。情報処理装置の利用者はキーボード６０１やマウス６０２を用いて情報処理装置を操作する。カードリーダ６０５はデジタルカメラのメモリカード５１８を装着可能とし、メモリカード５１８に記録されているＲＡＷ形式またはＪＰＥＧ形式の画像ファイルをメモリ６０３やハードディスク６０４に取り込むことができる。プリンタ６０８はＣＰＵ６０９の制御下で各種情報や画像をプリントする。以下では、上述のデジタルカメラによって生成されたＲＡＷ形式の画像ファイルを処理するアプリケーションを説明する。
【００５０】
図１２は情報処理装置によって実行されるＲＡＷ形式の画像ファイルを処理するアプリケーションの画像処理フローである。ＲＡＷ形式の画像データ１００はハードディスク６０４またはカードリーダ６０５から読み込まれ、１６ｂｉｔ化処理（ステップＳ１０５）で１６ｂｉｔ化された後、黒補正処理（ステップＳ１１０）に入力される。黒補正処理（ステップＳ１１０）では暗電流による黒浮きをＣＭＯＳの遮光部の座標領域における画像データの積算平均値から概算（ＯＢ値）し、画像データからＯＢ値を減算する。黒補正処理（ステップＳ１１０）で黒引きされた画像データは、レンズ補正処理（ステップＳ１２０）においてレンズの周辺減光によって減少した信号量が増幅され、その後レンズの倍率色収差が色毎に拡大縮小を行うことで補正される。レンズ補正処理（ステップＳ１２０）においてレンズ補正された画像データは補間処理（ステップＳ１４０）に入力され色補間される。補間処理（ステップＳ１４０）では図３に示す様にＲＧＢ（赤、緑、青）が格子状に配列されたパターン（例えばベイヤー配列）のデータから、ＲＧＢの３プレーンが作り出される。次に、ＲＧＢ（Ｒ成分、Ｇ成分、Ｂ成分）の３プレーンが揃った画像データは、中間画像データ１４５として、一旦メモリ６０３に保存される。ここまでの処理はアプリケーションのユーザーが指定する画像処理設定値、例えばユーザー指定ホワイトバランス設定値やユーザー指定明るさ調整設定値に依存せず行うことができる。ユーザーが指定する画像処理設定値に依存した処理は、メモリ６０３に保存した中間画像データ１４５を元に行うことで、ユーザー設定値を反映するために必要な画像処理の一部を省略できる。
【００５１】
メモリ６０３に保存した中間画像データ１４５はゲイン補正処理（ステップＳ１５０）に入力される。ゲイン補正処理（ステップＳ１５０）ではホワイトバランス補正と明るさ調整処理が行われる。式（７）のようにユーザーが指定したホワイトバランス設定をユーザー設定パラメータ変換部でゲイン補正処理（ステップＳ１５０）用に変換したＲＧＢの色毎のゲイン値（ｗｂＲ， ｗｂＧ， ｗｂＢ）とユーザーが指定した明るさ調整設定値をユーザー設定パラメータ変換部でゲイン補正処理（ステップＳ１５０）用に変換したＲＧＢ各色で共通のゲイン値（ｂｒｉｇｈｔＧａｉｎ）を掛けたゲイン（ｇａｉｎＲ， ｇａｉｎＧ， ｇａｉｎＢ）を式（８）のように画像データに掛ける。
【００５２】
ｇａｉｎＲ＝ｗｂＲ×ｂｒｉｇｈｔＧａｉｎ
ｇａｉｎＧ＝ｗｂＧ×ｂｒｉｇｈｔＧａｉｎ
ｇａｉｎＢ＝ｗｂＢ×ｂｒｉｇｈｔＧａｉｎ              …（７）
Ｒｗｂ＝ｇａｉｎＲ×Ｒ
Ｇｗｂ＝ｇａｉｎＧ×Ｇ
Ｂｗｂ＝ｇａｉｎＢ×Ｂ                                …（８）
ホワイトバランスがとられた画像データは、色調整処理（ステップＳ１５５）において、例えば、式（１）に示すような３×３のマトリクス演算等で色の最適化が行われ、ガンマ補正処理（ステップＳ１６０）でガンマ変換される。ガンマ変換された画像データは、ＹＣ変換処理（ステップＳ１７０）によって偽色処理や、エッジ強調処理を行なうためにＲＧＢ信号からＹＣｂＣｒという輝度成分（Ｙ成分）と色差成分（Ｃｒ成分、Ｃｂ成分）の信号成分に変換（色空間変換）される。ＹＣｂＣｒ変換された信号のうちの輝度成分Ｙは、輝度ノイズ低減処理（ステップＳ１９１）によってざらざらしたノイズが抑制された後、シャープネス処理（ステップ１９２）でエッジ強調される。また、ＹＣｂＣｒ変換された信号のうちの色差成分ＣｂＣｒは、メディアン処理（ステップＳ１８１）で偽色低減のためメディアンフィルタをかけたのち色ノイズ低減処理（ステップＳ１８２）によって局所的な色バランスがずれた領域が均質化される。最後に出力ファイル形式が８ビットデータの場合には、１６ｂｉｔ→８ｂｉｔ変換処理（ステップＳ１９５）によって８ビットＹＣｂＣｒデータに変換される。整ったＹＣｂＣｒのデータ１９９はユーザー指定出力ファイル形式に従って出力ファイル形式に合わせた変換処理が行われる。出力ファイル形式には例えばＪＰＥＧ形式やＴＩＦＦ形式がある。
【００５３】
ここで、１６ｂｉｔ→８ｂｉｔ変換処理（ステップ１９５）についてさらに詳しく説明する。１６ｂｉｔ→８ｂｉｔ変換処理ステップＳ１９５は式（９）のように第１の実施形態の式（４）と同様、予め作成したＬＵＴを元に処理される。
【００５４】
Ｙ８＝ＹＬＵＴ（Ｙ１６）
Ｃｂ８＝ＣｂＬＵＴ（Ｃｂ１６）
Ｃｒ８＝ＣｒＬＵＴ（Ｃｒ１６）                        …（９）
ＹＬＵＴ、ＣｂＬＵＴ，ＣｒＬＵＴの作成方法は基本的に第１の実施形態の図４、図１０で説明した処理と同様であるが第１の実施形態では１４ｂｉｔ値を８ｂｉｔ値に変換していたのに対して、本実施形態では１６ｂｉｔ値を８ｂｉｔ値に変換する点が異なる。第１の実施形態の図４、図１０で１４ビット値を１６ビット値に置換すれば図４、図１０で説明した処理と同様にＬＵＴを作成することができる。
【００５５】
（第３の実施形態）
この第３の実施形態では、汎用の１６ビット→８ビット変換画像処理（ＲＧＢ， １６ｂｉｔ→８ｂｉｔ変換）について説明する。
【００５６】
図１３は汎用的な１６ビット画像を入力し、画像処理を施して８ビット画像として出力する際の処理を示す図である。１６ｂｉｔのＴＩＦＦ画像３００を入力し、ＲＧＢデータに対してＲＧＢ画像処理ステップＳ３１０で例えば式（１０）で示されるトーンカーブ補正を行う。
【００５７】
Ｒｔ＝ＴｏｎｅＣｕｒｖｅ（Ｒｃ）
Ｇｔ＝ＴｏｎｅＣｕｒｖｅ（Ｇｃ）
Ｂｔ＝ＴｏｎｅＣｕｒｖｅ（Ｂｃ）                      …（１０）
ＲＧＢ画像処理ステップＳ３１０で画像処理が施された１６ビットＲＧＢ画像は１６ｂｉｔ→８ｂｉｔ変換処理ステップＳ３２０において８ｂｉｔ画像に変換されたのち、８ｂｉｔＴＩＦＦもしくはＪＰＥＧ画像として保存される。
【００５８】
ここで、１６ｂｉｔ→８ｂｉｔ変換処理ステップＳ３２０についてさらに詳しく説明する。１６ｂｉｔ→８ｂｉｔ変換処理ステップ３２０は式（１１）のように第１の実施形態の式（４）と同様、予め作成したＬＵＴを元に処理される。
【００５９】
Ｒ８＝ＲＬＵＴ（Ｒ１６）
Ｇ８＝ＧＬＵＴ（Ｇ１６）
Ｂ８＝ＢＬＵＴ（Ｂ１６）                              …（１１）
ＲＬＵＴの作成方法を図１４に示した。基本的なフローは第１の実施形態の図４で説明したＹＬＵＴの作成処理と同様である。図４では輝度信号Ｙの１４ｂｉｔ値を８ｂｉｔ値に変換していたのに対して、図１４ではＲ，Ｇ，Ｂそれぞれ１６ｂｉｔ値を８ｂｉｔ値に変換する点が異なる。第１の実施形態の図４で１４ビット値を１６ビット値用に置換すれば図４で説明した処理と同様にＬＵＴを作成することができる。また式（６）は式（１２）のように１６ビット入力のＲＧＢ各色用に変形したものを利用する。ＧＬＵＴ，ＢＬＵＴについてもパラメータであるｄｉｆｆの値が異なるのみでＲＬＵＴと同じである。
【００６０】
ｄｉｆｆ_Ｒ（Ｒ１６）＝Ｒ１６＊ａＤｉｆｆ_Ｒ／６５５３５＋ｍｉｎＤｉｆｆ_Ｒ
ｄｉｆｆ_Ｇ（Ｇ１６）＝Ｇ１６＊ａＤｉｆｆ_Ｇ／６５５３５＋ｍｉｎＤｉｆｆ_Ｇ
ｄｉｆｆ_Ｂ（Ｂ１６）＝Ｂ１６＊ａＤｉｆｆ_Ｂ／６５５３５＋ｍｉｎＤｉｆｆ_Ｂ
ａＤｉｆｆ_Ｒ＝ｍａｘＤｉｆｆ_Ｒ−ｍｉｎＤｉｆｆ_Ｒ
ａＤｉｆｆ_Ｇ＝ｍａｘＤｉｆｆ_Ｇ−ｍｉｎＤｉｆｆ_Ｇ
ａＤｉｆｆ_Ｂ＝ｍａｘＤｉｆｆ_Ｂ−ｍｉｎＤｉｆｆ_Ｂ            …（１２）
ここで、Ｒ１６，Ｇ１６，Ｂ１６は階調変換前のＲＧＢ値であり、ｄｉｆｆ_Ｒ，ｄｉｆｆ_Ｇ，ｄｉｆｆ_Ｂは図１４のステップＳ８０６〜Ｓ８０９のｄｉｆｆに相当する。
【００６１】
疑似輪郭には、ビット精度の問題と所謂ＭａｃＡｄａｍ楕円やＣＩＥ２０００色差式であらわされる色の識別閾の違いが関連する。疑似輪郭は視覚的な識別閾が小さい部分、即ちＭａｃＡｄａｍ楕円の小さい部分で発生しやすいと考えられ、この色領域で大きなばらつきを割り当てることで疑似輪郭が改善されると考えられる。このため、Ｒ，Ｂでは値の大きさ（彩度）に依存したばらつきを持たせるなど、色毎にパラメータを変化させてもよい。例えば式（１３）のように値を設定する。
【００６２】
ｍａｘＤｉｆｆ_Ｒ＝１２８，  ｍｉｎＤｉｆｆ_Ｒ＝３２
ｍａｘＤｉｆｆ_Ｇ＝６４，  ｍｉｎＤｉｆｆ_Ｇ＝６４
ｍａｘＤｉｆｆ_Ｂ＝１２８，  ｍｉｎＤｉｆｆ_Ｂ＝６４          …（１３）
あるいは式（１４）のようにＲ，ＧのばらつきはＢの値に依存して変化させてもよい。例えば式（１５）のように値を設定する。
【００６３】
ｄｉｆｆ_Ｒ（Ｒ１６）＝Ｂ１６＊ａＤｉｆｆ_Ｒ／６５５３５＋ｍｉｎＤｉｆｆ_Ｒ
ｄｉｆｆ_Ｇ（Ｇ１６）＝Ｂ１６＊ａＤｉｆｆ_Ｇ／６５５３５＋ｍｉｎＤｉｆｆ_Ｇ
ｄｉｆｆ_Ｂ（Ｂ１６）＝Ｂ１６＊ａＤｉｆｆ_Ｂ／６５５３５＋ｍｉｎＤｉｆｆ_Ｂ
ａＤｉｆｆ_Ｒ＝ｍａｘＤｉｆｆ_Ｒ−ｍｉｎＤｉｆｆ_Ｒ
ａＤｉｆｆ_Ｇ＝ｍａｘＤｉｆｆ_Ｇ−ｍｉｎＤｉｆｆ_Ｇ
ａＤｉｆｆ_Ｂ＝ｍａｘＤｉｆｆ_Ｂ−ｍｉｎＤｉｆｆ_Ｂ            …（１４）
ｍａｘＤｉｆｆ_Ｒ＝１２８，  ｍｉｎＤｉｆｆ_Ｒ＝６４
ｍａｘＤｉｆｆ_Ｇ＝１２８，  ｍｉｎＤｉｆｆ_Ｇ＝３２
ｍａｘＤｉｆｆ_Ｂ＝１２８，  ｍｉｎＤｉｆｆ_Ｂ＝６４            …（１５）
（他の実施形態）
また、各実施形態の目的は、次のような方法によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、本発明には次のような場合も含まれる。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００６４】
さらに、次のような場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００６５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施形態に係わるデジタルカメラの構成を示すブロック図である。
【図２】画像処理回路における画像処理の概要を示すブロック図である。
【図３】ＲＧＢの画素の配列を示す図である。
【図４】１４ｂｉｔ→８ｂｉｔ変換処理ＬＵＴ作成処理を示すフローチャートである。
【図５】８ｂｉｔ変換閾値中間レベル算出処理を示すフローチャートである。
【図６】８ｂｉｔ変換閾値中間レベル算出処理を示す図である。
【図７】低輝度付近の１４ビット→８ビット変換を示す図である。
【図８】中間輝度付近の１４ビット→８ビット変換を示す図である。
【図９】高輝度付近の１４ビット→８ビット変換を示す図である。
【図１０】１４ｂｉｔ→８ｂｉｔ変換処理ＬＵＴ作成処理を示すフローチャートである。
【図１１】本発明の第２の実施形態に係わる情報処理装置の構成を示すブロック図である。
【図１２】情報処理装置における画像処理を示すフローチャートである。
【図１３】ＲＧＢ汎用画像処理を示すフローチャートである。
【図１４】１６ｂｉｔ→８ｂｉｔ変換処理ＲＬＵＴ作成処理を示すフローチャートである。
【図１５】一般的な１６ビット→８ビット変換を示す図である。
【図１】
2010177929.tif 000003
【図２】
2010177929.tif 000004
【図３】
2010177929.tif 000005
【図４】
2010177929.tif 000006
【図５】
2010177929.tif 000007
【図６】
2010177929.tif 000008
【図７】
2010177929.tif 000009
【図８】
2010177929.tif 000010
【図９】
2010177929.tif 000011
【図１０】
2010177929.tif 000012
【図１１】
2010177929.tif 000013
【図１２】
2010177929.tif 000014
【図１３】
2010177929.tif 000015
【図１４】
2010177929.tif 000016
【図１５】
2010177929.tif 000017