(57)【特許請求の範囲】
【請求項１】
システムであって、
目標ルミナンス値を格納するメモリと、
画像データプロセッサとを有し、当該画像データプロセッサは、
画像の１以上のブロックについて、
ブロックのルミナンス値の分布の表現、及び、１以上の近隣ブロックのルミナンス値の分布の表現の双方に適用するとき、前記ブロック及び前記１以上の近隣ブロックの、前記目標ルミナンス値に対応するルミナンス値と一致又は近似するルミナンス値を生成する１以上の階調調整値を決定し、
前記１以上の階調調整値に従って前記画像に対して１以上の階調調整を実行する
ことを特徴とするシステム。
【請求項２】
前記画像は、ビデオストリームのビデオフレームを有し、
前記画像データプロセッサは、更に、
前記ビデオストリームにおける以前のビデオフレームの画像のブロックの少なくとも部分的に基づいて前記目標ルミナンス値を生成する、
ここで前記目標ルミナンス値は、前記ビデオストリームの前記以前のビデオフレームの画像の輝度表現に少なくとも部分的に基づく、
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記画像は第１の画像であり、
前記画像データプロセッサは、更に、
第２の画像のブロックに少なくとも部分的に基づいて前記目標ルミナンス値を生成する、
ここで前記第２の画像は、前記第１の画像と類似するように決定され、
ここで、前記目標ルミナンス値は前記第２の画像の輝度表現に少なくとも部分的に基づく、
ことを特徴とする請求項１に記載のシステム。
【請求項４】
前記画像データプロセッサは、更に、
前記画像のブロックごとに目標ルミナンス値を生成する、
ここで前記目標ルミナンス値は前記画像の輝度表現に少なくとも部分的に基づく
ことを特徴とする請求項１に記載のシステム。
【請求項５】
前記ブロックのルミナンス値の分布の表現は、前記ブロックのルミナンスヒストグラム情報を含み、
前記１以上の階調調整値を決定するため、前記画像データプロセッサは、更に、
前記目標ルミナンス値と、前記決定された１以上の階調調整値と、前記ブロックのルミナンスヒストグラム情報との関係を定義し、
ここで前記定義された関係は制約条件付き最適化問題を有する
１以上の最適化制約条件に従って前記定義された関係に最適化解決技法を適用する
ことを特徴とする請求項１に記載のシステム。
【請求項６】
前記ブロックのヒストグラム情報は、ヒストグラムの複数のビンに対するルミナンス分布情報を有し、
前記定義された関係は、前記ブロック及び前記１以上の近隣ブロックそれぞれのルミナンス分布情報と、前記複数のビンについてのルミナンス値と、前記１以上の階調調整値と、前記目標ルミナンス値との関係を有する
ことを特徴とする請求項５に記載のシステム。
【請求項７】
前記最適化解決技法を適用するため、前記画像データプロセッサは、更に、
前記１以上の最適化制約条件が最小となるようにするために、１以上の問題解決アルゴリズムを適用する
ことを特徴とする請求項５に記載のシステム。
【請求項８】
前記１以上の最適化制約条件は、
前記決定された１以上の階調調整値に関する平滑度制約条件、又は、前記決定された１以上の階調調整値に関する等価制約条件の一方を有する
ことを特徴とする請求項７に記載のシステム。
【請求項９】
前記１以上の階調調整値は局所階調曲線を含み、
前記１つ以上の最適化制約条件が、前記局所階調曲線に対する正勾配制約条件、前記局所階調曲線に対する最小勾配制約条件、又は前記局所階調曲線に対する最大勾配制約条件の１つを含む
ことを特徴とする請求項７に記載のシステム。
【請求項１０】
前記１以上の階調調整値を決定するため、前記画像データプロセッサは、更に、前記ブロックの局所階調曲線を生成する
ことを特徴とする請求項１に記載のシステム。
【請求項１１】
前記１以上の階調調整値を決定するため、前記画像データプロセッサは、更に、
前記ブロック及び前記１以上の近隣ブロックそれぞれのヒストグラム情報に適用するとき、前記ブロック及び前記１以上の近隣のブロックそれぞれの前記目標ルミナンス値に一致又は近づく前記ブロック及び前記近隣のブロックについての新しいルミナンス値を生成する、前記ブロックのそれぞれについての１つ以上のゲインを生成する、
ここで、前記決定された１以上の階調調整を実行するため、前記画像データプロセッサは、更に、前記局所階調曲線に基づいて前記画像を調整する
ことを特徴とする請求項９又は１０に記載のシステム。
【請求項１２】
前記画像データプロセッサは、更に、前記画像のダウンサンプリングバージョンを生成し、
ここで、前記ダウンサンプリングバージョンは前記画像の輝度表現を含む、
前記目標ルミナンス値を生成するため、前記画像データプロセッサは、更に、前記ダウンサンプリングバージョンの前記１以上の目標ルミナンス値が前記画像のブロックに対応するように、前記目標ルミナンス値を含む前記ダウンサンプリングバージョンの目標バージョンを生成する
ことを特徴とする請求項４に記載のシステム。
【請求項１３】
方法であって、
１以上のコンピューティングデバイスにより、画像の１以上のブロックについて１以上の階調調整を実行すること、
ここで、前記実行することは、前記画像の１以上のブロックについて、
ブロックのルミナンス値の分布の表現、及び、１以上の近隣ブロックのルミナンス値の分布の表現の双方に適用するとき、前記ブロック及び前記１以上の近隣ブロックの、目標ルミナンス値に対応するルミナンス値に一致又は近似するルミナンス値を生成する１以上の階調調整値を決定すること、
前記１以上の階調調整値に従って前記画像に対して１以上の階調調整を実行すること
を有することを特徴とする方法。
【請求項１４】
前記画像はビデオストリームの現在のビデオフレームであって、前記方法は更に、
前記ビデオストリームにおいて以前のビデオフレームが示す以前の画像のブロックの少なくとも部分的に基づいて前記目標ルミナンス値を生成することと、
ここで前記目標ルミナンス値を生成することは、前記ビデオストリームの前記以前のビデオフレームが示す前記以前の画像の輝度表現に少なくとも部分的に基づく、
前記生成すること、前記決定すること、前記実行することを、連続するビデオフレームのイメージ、及び、対応する以前のビデオフレームについて繰り返す
ことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ブロックのルミナンス値の分布の表現は、前記画像の前記ブロックのルミナンスヒストグラム情報を有し、
ここで、前記１以上の階調調整値を決定することは、
前記目標ルミナンス値と、前記決定された１以上の階調調整値と、それぞれの前記ブロックのルミナンスヒストグラム情報との関係を定義することと、
ここで前記定義された関係は制約条件付き最適化問題を有する
１以上の最適化制約条件に従って前記定義された関係に最適化解決技法を適用することを含む
ことを特徴とする請求項１３に記載の方法。
【請求項１６】
更に、前記目標ルミナンス値を生成することを有し、当該生成することは、
前記画像のオリジナルの輝度表現を生成することと、
目標輝度表現についてのルミナンス範囲全体が、前記オリジナルの輝度表現についてのルミナンス範囲全体と比較して低減されるように、前記目標輝度表現についての前記目標ルミナンス値を決定することと、
を含むことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記１以上の階調調整を実行することは、
前記画像のピクセルについて
与えられた画素の近くの１以上のブロックについての階調調整値に基づいて、前記与えられた画素についての補間階調曲線を決定することと、
前記補間階調曲線に基づいて、前記与えられた画素についてのルミナンス値を調整することと、
を含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
システムであって、
目標ルミナンス値を記憶するメモリと、
ここで前記目標ルミナンス値は画像における望むルミナンス値に基づいて決定される、
画像データプロセッサとを有し、当該画像データプロセッサは、
前記画像の１以上のブロックについて階調曲線を生成し、
ここで前記階調曲線は、前記目標ルミナンス値及び前記画像の１以上のブロックについてのルミナンス値の分布の表現に少なくとも部分的に基づく、
前記画像の１以上のブロックの画素について
与えられた画素を含むブロックの階調曲線、及び、１以上の近隣ブロックの階調曲線に少なくとも部分的に基づき、前記与えられた画素のためのルミナンス値調整を決定することと、
前記与えられた画素の前記ルミナンス値調整に少なくとも部分的に基づき前記与えられた画素のルミナンス値を調整する
を有することを特徴とするシステム。
【請求項１９】
前記ルミナンス値調整を決定するために、前記画像データプロセッサは、更に、前記１以上の近隣ブロックの前記１以上の階調曲線の組み合わせを決定する
ことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記組み合わせを決定するため、前記画像データプロセッサは更に、
前記ブロック内の前記画素と前記１以上の近隣ブロック内の各画素間のそれぞれの距離に基づき、前記１以上の近隣ブロックの前記１以上の階調曲線の重み平均を決定する、
ここで前記１以上の近隣ブロックの前記各画素は、前記１以上の近隣ブロックそれぞれの中心に位置する、
ことを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、局所階調曲線計算を使用した画像階調調整に関するものである。
【発明の背景】
【０００２】
最新のデジタル画像は、より明るい区域とより暗い区域との間のダイナミックレンジの調整又は低減を必要とすることが多い。いくつかの場合には、より制限されたダイナミックレンジを有する媒体において、より高いダイナミックレンジのアピアランスに近づけるために調整が必要となる。例えば、実世界のシーンは、広いルミナンス範囲を有することがあり、現在のデジタル撮像技術は、天然のシーンのフルダイナミックレンジのキャプチャを可能にすることができる。しかしながら、印刷媒体、ディスプレイモニタ及びプロジェクタなどの様々な表示媒体は、全て、デジタル画像において表されるフルレンジの光強度を再現するには不十分又は十分な様々な能力を有することがある。これらの媒体を使用して表示される時、画像は、詳細が見えない区域を有することがある。したがって、画像が審美的に満足に表されるように、特定の媒体について画像のダイナミックレンジを圧縮する必要があることがある。
【０００３】
階調マッピングは、デジタル画像のダイナミックレンジ全体を調整するように、色の１つのセットを別のセットにマッピングするために使用される現在の１つの技術である。しかしながら、階調マッピングは、コントラスト歪みに起因する、暗いオブジェクトの周りのハロー若しくはリング、過度に飽和した色、又は不自然なアピアランスなど、画像中に種々のアーチファクト又は効果をもたらすことが多い。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書で説明するシステム及び方法は、局所階調曲線計算を使用した画像階調調整についての様々な技法を示している。例えば、シャドウを明るくし、ハイライトを暗くするように画像を調整して、より多くの画像の詳細を示すことができる。各種実施形態によれば、特定の適用例に応じて、種々の理由のために画像のダイナミックレンジを調整することができる。いくつかの実施形態では、審美的に満足な画像を生成することが全体的な目標であり得るが、他の実施形態では、目標は、可能な限り多くの画像の詳細を再現したいという要望、又は画像内のコントラスト全体を最大化するという要望が目標であることがある。
【０００５】
画像は、詳細を視覚的に引き出すために明るくする必要がある暗い区域を有することがある。同様に、画像は、詳細が褪せた明るい区域を有することがある。局所階調曲線計算を使用した画像階調調整は、最も明るい区域と最も暗い区域との間に大きな光強度の差がある、（例えば、日光をうけた）明るく照らされたシーンをキャプチャした画像などにおけるより小さい区域における局所的なコントラストを維持しながら、画像のコントラスト全体を低減することができる。
【０００６】
本明細書で説明する技法を使用することによって、画像アーチファクトの導入を最小化しながら（又はなくしながら）、画像のルミナンスを修正することができる。画像についての所望の視覚的アピアランス全体を生成し、それを局所的なルミナンスヒストグラムと併せて使用して、どの画像を調整するかに従って、局所階調曲線又はゲイン値の集合などの階調調整値を計算することができる。
【０００７】
例えば、画像は、ブロック又は画像の一部分の集合とみなすことができる。目標ルミナンス値とルミナンスヒストグラムとの間の関係を表す最適化問題を解いて、各画像ブロックについての階調調整値の集合を計算することができる。次いで、本明細書で説明するように、局所階調曲線を使用して画像内の画素のルミナンス値を調整することなどによって、決定した階調調整値に従って画像を調整することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る、局所階調曲線計算を使用した画像階調調整を使用するための１つの全体的なプロセスを示す論理ブロック図である。
【図２】本明細書で説明する、局所階調曲線計算を使用した画像階調調整を実行するシステムの一実施形態を示す論理ブロック図である。
【図３】本明細書で説明する、局所階調曲線計算を使用した画像階調調整のための方法の一実施形態を示すフローチャートである。
【図４】本明細書で説明する、目標ルミナンス値を生成するための方法の一実施形態を示すフローチャートである。
【図５】一実施形態に係る、２つのヒストグラムに対する局所階調曲線計算を使用した画像階調調整の適用を示す論理ブロック図である。
【図６】本明細書で説明するように、局所階調曲線計算を使用した画像階調調整で使用するためのゲイン値の集合を決定するための方法の一実施形態を示すフローチャートである。
【図７】一実施形態に係る、局所階調曲線計算を使用した画像階調調整を画像に適用するための方法の一実施形態を示すフローチャートである。
【図８】一実施形態に係る、局所階調曲線に基づく画素の調整を示す論理ブロック図である。
【図９】一実施形態に係る、ビデオストリームへの局所階調曲線計算を使用した画像階調調整の適用を示す論理ブロック図である。
【図１０】本明細書で説明する、局所階調曲線計算を使用した画像階調調整を実装するように構成されたシステムの一実施形態を示す論理ブロック図である。
【０００９】
本明細書においていくつかの実施形態及び例示の図面を例として各種実施形態が説明されているが、当業者は、これらの実施形態は、説明されている実施形態又は図面に限定されないことを認識するであろう。図面及び詳細な説明は、実施形態を、開示されている特定の形態に限定することを意図するものではなく、逆に、本開示の趣旨及び範囲に含まれる全ての変更、均等物及び代替物を網羅すること意図するものであることを理解されたい。本明細書で使用されるいかなる見出しも、構成目的に過ぎず、本明細書の範囲を制限するために使用されることを意味するものではない。本出願全体を通じて使用される時、「〜してもよい（ｍａｙ）」という語は、義務的な意味（すなわち、〜なければならない（ｍｕｓｔ）を意味する）ではなく、許容的な意味で使用される（すなわち、〜する可能性を有していることを意味する）。同様に、「含む（ｉｎｃｌｕｄｅ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、及び「含む（ｉｎｃｌｕｄｅｓ）」という語は、「〜を含むが、それに限定するものではないこと」を意味する。
【発明を実施するための形態】
【００１０】
局所階調曲線計算画像を使用した画像階調調整は、画像のルミナンス範囲全体を調整することができる。例えば、高ダイナミックレンジを有する画像は、（例えば、画像の高ダイナミックレンジを適切にレンダリングできない）より低いビット深さでディスプレイ上にそれをレンダリングすることができるように調整され得る。
【００１１】
本明細書で説明する技法を使用することによって、画像アーチファクトの導入を最小化しながら（又はなくしながら）、画像のルミナンス範囲全体を修正することができる。いくつかの実施形態では、画像のルミナンス範囲全体を低減することができるが、他の実施形態では、画像全体のルミナンス範囲全体を変更することなく、局所的なルミナンス値を修正してもよい。画像の輝度表現（例えば、サムネイル）を生成し、それを調整して画像のルミナンス範囲全体についての所望のルミナンス値を決定することができる。所望のルミナンス値を使用して、画像の対応する一部分（例えば、論理ブロック）についての目標ルミナンス値を含む所望の輝度表現を構成することができる。
【００１２】
画像を複数の論理ブロックへと分割することができ、各ブロックについて、ルミナンスヒストグラムを生成することができる。各ブロックについて、ブロックのヒストグラムに適用された時にそのブロックについての対応する所望の値と一致するルミナンス値を生じる階調調整値の集合を計算することができる。計算した階調調整値は、異なる実施形態に従って、種々の形態のうちのいずれかを取り得る。例えば、いくつかの実施形態では、局所階調曲線を計算することができるが、他の実施形態では、ゲインの集合（そこから階調曲線を決定することができる）を計算してもよい。ブロックは、１つ以上の他のブロックと連携して考えられ得る。各ブロックについての階調調整値の集合は、ブロックについてのヒストグラムに、場合によっては近隣のブロック（例えば、ブロックの周りの他のブロック）についてのヒストグラムにも適用された時に、各ブロックについて得られたルミナンス値が対応するブロックについての目標ルミナンス値と一致するように決定され得る。したがって、他のブロックを同様に使用して、各ブロックのゲイン値を決定することができる。
【００１３】
階調調整値を決定するために、１つ以上の最適化制約条件が最小化されるように、（例えば、標準的な問題解決技術を使用して）制約条件付き最適化問題／式を解くことができる。次いで、階調調整値に従って画像を調整することができる。例えば、一実施形態では、各ブロックについて局所階調曲線を計算することができ、その局所階調曲線を使用して画像を調整することができる。いくつかの実施形態によれば、複数の局所階調曲線の組み合わせによって画像の各画素を調整することができる。いくつかの実施形態では、局所階調曲線の組み合わせを使用することによって、得られた画像における視覚的アーチファクトの導入を回避することができる。
【００１４】
制約条件付き最適化問題／式を解くことによって、ゲイン、ゲイン係数又は局所階調曲線などの階調調整値の集合を決定することができる。階調調整値は、対応するブロック（例えば、それらについて決定されたブロック）についてのルミナンスヒストグラムに適用された時にブロックの目標ルミナンス値（単数又は複数）と一致する新しいルミナンス値を生成する。いくつかの実施形態では、あるブロックについて、そのブロック及び１つ以上の他の（例えば、近隣の）ブロックについての対応するヒストグラムに調整値が一緒に適用された時に、そのブロック及び他のブロックについての対応する目標ルミナンス値と合致させることによって、新たなルミナンス値を生成するように、階調調整値の集合を決定することができる。
【００１５】
最適化問題／式を解くことに関する説明について、本明細書では、局所階調曲線又はゲイン（若しくはゲイン係数）の集合を決定することを参照して説明しているが、一般には、各種実施形態に従って、局所階調曲線計算を使用した画像階調調整の他の技法及び特徴と併せて、多種多様の階調調整値のうちのいずれかを使用してもよい。
【００１６】
以下の詳細な説明において、請求項に記載された主題の完全な理解を提供するために、数多くの具体的な詳細を説明する。しかしながら、請求項に記載された主題は、これらの具体的な詳細を伴わずとも実施することができる点が、当業者には明らかとなるであろう。他の事例において、方法、装置又はシステムは、当業者には知られているので、請求項に記載された主題を不明瞭にしないために以下では詳細に説明しない。
【００１７】
この後に続く詳細な説明のいくつかの部分は、特定の装置又は専用コンピューティングデバイス若しくはプラットフォームのメモリ内に記憶された２値デジタル信号上の動作のアルゴリズム又は記号的表現を用いて提示される。この特定の明細書の文脈においては、汎用コンピュータが、プログラムソフトウェアからの命令に従う特定の機能を実行するようにプログラムされたならば、特定の装置という用語又は同様のものはその汎用コンピュータを含む。アルゴリズム的記述又は記号的表現は、信号処理又は関連技術分野における当業者によって自分たちの仕事の本質を他の当業者に伝えるために用いられる技法の例である。アルゴリズムとは、本明細書において、及び一般的に、所望の結果をもたらす自己矛盾のない動作又は同様の信号処理のシーケンスと考えられる。この文脈においては、動作又は処理は物理量の物理操作を含む。通常は、必須ではないが、これらの量は、記憶、転送、組み合わせ、比較、又は他の方式での操作が可能な、電気信号若しくは磁気信号の形態を取ってもよい。主として一般的な使用の理由から、これらの信号を、ビット、データ、値、要素、記号、文字、用語、数、数字などと称することが、好都合な場合があることが判明している。しかし、これらの用語又は同様の用語の全ては、適切な物理量と関連付けられるものであり、便宜的な標識に過ぎないことを理解されたい。
【００１８】
特に別途記載のない限り、以下の説明から明らかなように、本明細書の説明全体を通じて、「処理」、「計算」、「算出」、「判定」、又は同様のものなどの用語の利用は、専用コンピュータ又は同様の専用電子コンピューティングデバイスなどの、特定の装置のアクション又はプロセスに言及することを理解されたい。したがって、本明細書の文脈では、専用コンピュータ又は同様の専用電子コンピューティングデバイスは、その専用コンピュータ又は同様の専用電子コンピューティングデバイスのメモリ、レジスタ、若しくはその他の情報記憶デバイス、伝送デバイス、又は表示デバイス内の物理的な電子量又は磁気量として通例表される信号を操作又は変換する能力を有する。
【００１９】
一般に、局所階調マッピングにより、高ダイナミックレンジ（ＨＤＲ）のシーンを含む画像を、より低ビット深さ（例えば、低ダイナミックレンジ又はＬＤＲ）でディスプレイ上にレンダリングすることが可能になり得る。典型的には、それらの高コントラスト区域でより多くの画像の詳細を見ることができるように、シャドウを明るくすることができ、ハイライトを暗くすることができる。
【００２０】
本明細書で説明する技法、方法及び／又はアルゴリズムは、各種ソフトウェア及び／又はハードウェアシステムのうちのいずれかにおいて使用することができる。例えば、一実施形態によれば、デジタルカメラ（スチルカメラ又はビデオカメラのいずれも）は、ＨＤＲモードを使用してキャプチャされた画像を修正するために、局所階調曲線計算を使用した画像階調調整を利用することができる。他の実施形態では、スタンドアロンソフトウェアプログラムは、前にキャプチャされたデジタル画像を修正する際に使用するために、本明細書で説明する技法を実行することができる。
【００２１】
上述のように、高ダイナミックレンジ（ＨＤＲ）を使用してキャプチャされた画像を、依然として視覚的に魅力的なままにしながら、又は元のシーンと視覚的に一致させながら、ダイナミックレンジがより低いデバイス上に表示することを可能にするように、局所階調曲線計算を使用した画像階調調整を使用して画像のダイナミックレンジ全体を修正又は低減することができる。次に、図１を参照すると、画像についての階調範囲（例えば、ルミナンス範囲）を調整するために局所階調曲線計算を使用した画像階調調整を使用するプロセス全体の一実施形態を示している。
【００２２】
図１に示すように、入力画像１００をキャプチャ又は受信することができ、その入力画像に基づいて、輝度表現１１０を生成することができる。例えば、いくつかの実施形態では、輝度表現は、入力画像１００からの明度又はルミナンスに関する情報（例えば、ルミナンスチャネル）のみを含み得る。入力画像１００からの明度又は輝度情報が輝度表現１１０中にどのように記録されるか、キャプチャされるか、あるいは表現されるかは、実施形態によって変動し得る。
【００２３】
輝度表現１１０は、所望の輝度表現１３０を生成するための基礎として使用され得る。いくつかの実施形態では、所望の輝度表現１３０は、入力画像１００の（又は、いくつかの場合には、入力画像１００と同様の画像の）最終的に所望される、又は目標の輝度表現を示すルミナンス情報を含み得る。例えば、ダイナミックレンジを低減するように、１つ以上の階調マッピングアルゴリズムを輝度表現１１０に適用して既存の輝度情報を修正することができる。所望の輝度表現１３０は、輝度表現１１０における対応する区域に比べて、より明るい暗い区域とより暗い明るい（又は「ブローアウト」）区域とを有することがある。したがって、いくつかの実施形態によれば、所望の輝度表現１３０は、輝度表現１１０（又は入力画像１００）と比較して圧縮されたダイナミックレンジを有するとみなすことができる。
【００２４】
いくつかの実施形態では、輝度表現１１０及び／又は所望の輝度表現１３０は、入力画像１００よりも低い解像度で生成することができる。例えば、一実施形態では、輝度表現１１０は、入力画像１００のダウンサンプリングされた、ルミナンスのみのバージョンであり得る。したがって、いくつかの実施形態では、輝度表現１１０は、入力画像１１０のサムネイルバージョンとみなすことができる。ただし、他の実施形態では、輝度表現１１０及び所望の輝度表現１３０は、入力画像１００と同じ解像度で生成され得る。
【００２５】
更に、２つの別個のエンティティ、即ち、輝度表現１１０及び所望の輝度表現１３０として本明細書では説明しているが、いくつかの実施形態では、輝度表現１１０を、その場で所望の輝度表現１３０に変換することができる。したがって、輝度表現１１０及び所望の輝度表現１３０は、入力画像１００の同じ表現の２つの異なるバージョンを指すことがある。
【００２６】
図４に関してより詳細に説明するように、所望の輝度表現１３０は入力画像１００の種々の部分（例えば、ブロック）に対応する目標ルミナンス値を含み得る。いくつかの実施形態では、画像の各ブロックについて、単一の目標ルミナンス値を決定することができるが、他の実施形態では、画像の単一のブロックに複数の目標ルミナンス値が対応してもよい。
【００２７】
また図１に示すように、入力画像１００を複数のブロックへと論理的に分割することができ、各ブロックについて、ヒストグラム１２０などのヒストグラムを生成することができる。例えば、図１は、５×５パターンを使用して、入力画像１００を２５個のブロックへと論理的に分割することができ、各ブロックについて、個々のヒストグラムを生成することができる一実施形態を示している。他の実施形態では、他の個数のブロック（例えば、５×６、８×８、５×７など）へと画像を分割してもよい。一般に、様々な実施形態に従って、複数のブロックへの画像の任意の好適な分割を利用することができる。いくつかの実施形態では、ヒストグラム１２０のそれぞれは、ルミナンスのみのヒストグラムを表し得る。換言すると、一実施形態によれば、各ブロックについて、ブロック内のルミナンス（例えば、明度又は輝度）の分布を表すヒストグラムを生成することができる。
【００２８】
ヒストグラム１２０において表されるようなルミナンスヒストグラムは、入力画像１００内の相対輝度分布を含み得る。ルミナンスヒストグラムは、複数のルミナンスレベルにわたる画像のブロック内の画素についてのルミナンス分布データを含み得る。例えば、ヒストグラムは、異なるルミナンス範囲にそれぞれが対応する複数のビンを含み得る。各ビンについての値は、そのビンに対応するルミナンス範囲内のルミナンス値を有する、そのブロック内の画素のパーセンテージを表すことができる。
【００２９】
例えば、入力画像１００中の特定のブロックについてのヒストグラムを生成した時、そのブロック内の各画素についての色値は、画素の個々の色値（例えば、ＲＧＢ）の加重平均に基づき得るようなルミノシティ（luminosity）値を表すように変換され得る。次いで、ヒストグラムに含まれる異なるルミナンス範囲内のルミナンスレベルを表すそのブロック内の画素の数をカウントすることによって、ルミナンスヒストグラムを生成することができる。ヒストグラム１２０により表されるヒストグラムは、異なる種類の輝度情報を表すことができ、異なる実施形態では、異なる数の範囲（例えば、ビン）を使用して生成され得る。
【００３０】
以下により詳細に説明するように、個々のブロックヒストグラム１２０と所望の輝度表現１３０からの目標ルミナンス値とを使用して、図１の局所階調曲線１４０により表されるように、ブロックについての個々の局所階調曲線を生成することができる。いくつかの実施形態では、これらの局所階調曲線は、特定の画像ブロック内の画像の一部分の所望の階調範囲を表し得る。次いで、入力画像１１０などの画像データに局所階調曲線１４０を適用して、出力画像１５０を生成することができる。したがって、出力画像１５０は、異なる階調品質又はルミナンス範囲を有する入力画像１００の新しいバージョンを表すことができる。例えば、一実施形態では、入力画像１００と比較して、出力画像１５０における階調範囲全体が低減され得る一方で、他の実施形態では、階調範囲全体は同じであり得るが、視覚的魅力を向上させる及び／又はコントラスト歪みを除去するように、画像内の個々の輝度（例えば、ルミナンス）レベルが修正又は調整され得る。
【００３１】
出力画像１５０は主に入力画像１００の修正バージョンであるとして説明されるが、いくつかの実施形態では、入力画像１００は、出力画像１５０を生成するために使用されるものとは異なる画像を表すことがある。いくつかの実施形態では、入力画像１００を使用して、輝度表現１１０、所望の輝度表現１３０、ヒストグラム１２０、及び局所階調曲線１４０を生成することができるが、その後、局所階調曲線１４０を使用して、入力画像１００と類似し得る異なる入力画像に基づいて出力画像１５０を生成することができる。例えば、画像はビデオストリームの一部であり得、入力画像１００を使用して局所階調曲線１４０を生成し、次に、（例えば、ストリーム内の個々の画像間の輝度範囲は、１つの画像と次の画像とではあまり変化しないことがあるので）その局所階調曲線１４０を使用してビデオストリーム中の後続の画像を修正することができる。
【００３２】
図２は、本明細書で説明する、局所階調曲線計算を使用した画像階調調整を実行するシステムの一実施形態を示す論理ブロック図である。図２に示すように、画像階調アジャスタ２００は、各種実施形態に従って、局所階調曲線計算を使用した画像階調調整に関係する１つ以上のタスクを実行する役目をそれぞれが果たす種々の構成要素を含むことができる。画像階調アジャスタ２００は、入力画像１００を、又は少なくとも入力画像１００についての画像データを受信することができる。本明細書で使用される場合、用語「画像」は、画像データの任意の集合を指すことがあり、特定の画像フォーマットを指すことを意図するものではない。例えば、入力画像１００は、特定のデバイス内のメモリに保存され得る最終画像ファイルではなく、カメラ画像センサから受信した生画像データを表すことがある。
【００３３】
画像階調アジャスタ２００は、入力画像１００から輝度表現１１０を生成することができる画像データプロセッサ２１０を含むことができる。同様に、目標ルミナンス構成要素２２０は、いくつかの実施形態に従って、輝度表現１１０を解析して所望の輝度表現１３０を生成することができる。画像階調アジャスタ２００は、ヒストグラムジェネレータ２３０を利用して、入力画像１００内の各論理ブロックなどについて、局所ヒストグラムを生成することができる。いくつかの実施形態では、ヒストグラムジェネレータ２３０は、画像データプロセッサ２１０の一部であり得る。更に、局所階調曲線ジェネレータ２４０は、出力画像１５０を作成するために最終的に使用され得る局所階調曲線又は他の階調調整値を生成するために、ヒストグラムジェネレータ２３０により作成されたヒストグラム並びに目標ルミナンス構成要素２２０からの所望の輝度表現１１０を使用することができる。
【００３４】
いくつかの実施形態では、画像階調アジャスタ２００（及び／又はそれに含まれる構成要素）はデジタルカメラの一部でも、又は、モバイル機器（例えば、電話、タブレットなど）などのデジタルカメラを含むデバイスの一部でもよい。他の実施形態では、デジタルカメラデバイスとは別個に、画像階調アジャスタ２００（及びそれに含まれる構成要素）を利用することができる。例えば、画像階調アジャスタ２００は、画像をキャプチャしたデジタルカメラとは別個に画像を操作するために使用される後処理プログラム又は後処理デバイスの一部であり得る。
【００３５】
一般に、画像階調アジャスタ２００及び／又はその個々の構成要素は、ハードウェア、ソフトウェア、ファームウェア、又はハードウェア、ソフトウェア及び／又はファームウェアの組み合わせで実装され得る。更に、各種実施形態によれば、画像階調アジャスタ２００のいくつかの構成要素は、ハードウェアで実装され得るが、他の構成要素は、ソフトウェア又はファームウェアで実装され得る。例えば、一実施形態では、画像データプロセッサ２１０及びヒストグラムジェネレータ２３０は、ハードウェアで実装され得るが、目標ルミナンス構成要素２２０及び局所階調曲線ジェネレータ２４０は、ソフトウェアで実装され得る。更に、図２には４つの別個の構成要素として示されているが、画像階調アジャスタ２００の個々の構成要素を異なる数の構成要素ヘと組み合わせる（又は分割する）ことができる。図１に示した構成要素（例えば、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０及び局所階調曲線ジェネレータ２４０）は議論しやすいように使用されるものであり、異なる実施形態は、本明細書で説明する同じ機能、方法及び／又は技法を実行するために、より多くの構成要素、より少ない構成要素、及び／又は異なる構成要素を含み得る。
【００３６】
図３は、本明細書で説明する、局所階調曲線計算を使用した画像階調調整のための方法の一実施形態を示すフローチャートである。ブロック３００に示すように、局所階調曲線計算を使用した画像階調調整は、画像の各ブロックについての目標ルミナンス値の生成を含むことができる。各種実施形態によれば、局所階調曲線計算を使用した画像階調調整と共に使用するために、画像を１つ以上のブロックへと分割することができる。例えば、一実施形態では、画像を６４個のブロック（例えば、８×８）に分割することができるが、他の実施形態では、異なる数のブロックを使用してもよい。更に他の実施形態では、画像のサイズに基づいて、ブロックの数を決定することができる。例えば、各ブロックは、（例えば、画素に関して）特定の固定サイズであり得る。一般には、任意の好適な方法を使用して、本明細書で説明するよう、局所階調曲線計算を使用した画像階調調整と共に使用するために画像を１つ以上のブロックへと分割することができる。
【００３７】
ブロックへの画像の分割は、画像の一部分の実際の分離を含むわけではないことを留意されたい。換言すると、ブロック及び／又はブロック間の分割は、画像から任意のブロックを実際に動かすことなく、論理的に決定され得る。いくつかの実施形態では、本明細書で説明する技法は、単一の画像として連続して記憶されてない画像データにおいて実行され得る。更に、本明細書で説明する方法又は技法の一部（又は全て）は、全データを受信する前に（例えば、カメラ画像センサから）ストリーミング画像データを受信する際に、そのストリーミング画像データに対して実行され得る。
【００３８】
上述のように、画像の各ブロックについて、目標ルミナンス値を生成することができる。図４に関してより詳細に説明するように、輝度表現１１０など、画像のルミナンス表現又は輝度表現を生成し、次いで、所望の輝度表現１３０などの所望の輝度表現を表すためにそれを修正することができる。上述のように、いくつかの実施形態によれば、明るすぎる区域又は暗すぎる区域においてより視覚的コントラストを引き出すように、輝度表現を修正して、画像の輝度範囲全体を変更することができる。他の実施形態では、画像のルミナンス情報を表すために必要な画素数を低減するなどの、他の理由のために、画像データのルミナンス範囲全体を低減することができる。
【００３９】
所望の輝度表現は、画像のブロックのそれぞれについての目標ルミナンス値を含み得る。いくつかの実施形態では、輝度表現及び／又は所望の輝度表現は、原画像よりも解像度が低い（例えば、ダウンサンプリングされている）ことがある。いくつかの実施形態では、局所階調曲線計算を使用した画像階調調整を実行する計算コスト全体を低減するために、より解像度が低い輝度表現及び／又は所望の輝度表現が使用され得る。いくつかの実施形態では、所望の輝度表現は、各ブロックについて単一の目標ルミナンス値を含み得るが、他の実施形態では、各ブロックに複数の目標ルミナンス値が対応してもよい。
【００４０】
いくつかの実施形態では、ブロック３００及び３１０に関して上述したアクションを、画像データプロセッサ２００などの単一の構成要素が実行することができるが、他の実施形態では、ソフトウェア、ハードウェア、又は双方の組み合わせで実装される別個の構成要素が、ブロック３００及び３１０に関して上述したアクションの一部分をそれぞれ実行してもよい。
【００４１】
ブロック３３０に示すように、一実施形態によれば、各ブロックについて、ゲイン値（例えば、ゲイン）の集合又は局所階調曲線などの階調調整値を決定することができる。特定のブロックについての階調調整値は、そのブロックについてのヒストグラムに適用された時、また、１つ以上の近隣のブロックについてのヒストグラムにも適用された時に、対応するブロックについての目標ルミナンス値と一致するルミナンス値を生成するように決定され得る。換言すると、あるブロックについての階調調整値は、そのブロックの近傍を考慮して決定され得る。ブロックの階調調整値を決定する時に使用される近隣のブロックの数は、近くの数ブロックから、画像のブロックの集合全体まで変動し得る。いくつかの実施形態では、単一のブロックについて単独ではなく、ブロックの組み合わせに一緒に適用される階調調整値を生成することにより、最終画像を生成する時の視覚的アーチファクトを低減することができる。
【００４２】
ブロック３４０に示すように、決定した階調調整値に従って、画像に対して１回以上の階調調整を実行することができる。例えば、いくつかの実施形態によれば、画像におけるルミナンス範囲全体を低減するように、１回以上の階調調整を実行するために、画像の画像データに階調調整値を適用することができる。例えば、一実施形態では、各ブロックについて、（例えば、階調調整値の集合として）局所階調曲線を生成することができ、その局所階調曲線を使用して、画像に対して階調調整を行うことができる。別の実施形態では、各ブロックについて、ゲインの集合を決定することができ、次いで、各ブロックについてのゲインを個々のブロックの局所ヒストグラムに適用して、画像の画像データに適用され得る局所階調曲線を生成することができる。
【００４３】
図４は、本明細書で説明する、目標ルミナンス値を生成するための方法の一実施形態を示すフローチャートである。一実施形態によれば、ブロック４００に示すように、カメラ画像センサから画像を受信することができ、ブロック４１０に示すように、画像についてのルミナンス値に基づいて画像のダウンサンプリングされた輝度表現を生成することができる。例えば、カメラ画像センサか受信した画像データをルミナンス値に変換し、次いで、それをダウンサンプリングして画像の輝度表現を生成することができる。いくつかの実施形態では、輝度表現は、画像のルミナンスデータを含むサムネイル表現とみなすことができる。一実施形態では、輝度表現は、原画像中の各ブロックに対応する１つのルミナンス値を含み得る。
【００４４】
ダウンサンプリングされるか否かにかかわらず、各種実施形態に従って、種々の方法のうちのいずれかを使用して輝度表現を生成する使用することができる。例えば、一実施形態では、画像ブロック中の画素ごとのルミナンス値を一緒に平均化し、輝度表現において使用することができる。他の実施形態では、輝度表現のためのルミナンス値を決定する他の方法を使用することができる。
【００４５】
更に、いくつかの実施形態によれば、階調調整アルゴリズム及び／又は技法を輝度表現に適用して、画像についての目標ルミナンス値（例えば、所望の輝度レベル）を生成することができる。一実施形態によれば、（輝度表現においてモデル化されるように）画像のルミナンス範囲全体を低減するように構成されたアルゴリズムを輝度表現に適用することができる。他の実施形態では、ルミナンス範囲全体を変更するわけではなく、画像の異なる区域において、画像内の個々のルミナンスレベルを調整することができる。
【００４６】
例えば、一実施形態では、最も高いルミナンス値を低減するために、輝度表現にハイパスフィルタアルゴリズムを適用することができる。他の実施形態では、他の又は追加のアルゴリズム及び／又は技法を適用して、画像の所望についての輝度レベル及び／又は目標ルミナンス値を生成することができる。
【００４７】
図５は、一実施形態に係る、ルックアップテーブル（ＬＵＴ）を生成するための、２つのヒストグラムに対する局所階調曲線計算を使用した画像階調調整の適用を示す論理ブロック図である。上述のように、画像の各論理ブロックについて、１つ以上の近隣のブロックを考慮して局所階調曲線（又は、代替的にはゲインの集合）を決定することができる。決定した局所階調曲線（又はゲイン値）をヒストグラムと併せて使用して、局所階調曲線１４０など、ダイナミックレンジにわたるルミナンスデータの再マッピングを表す１つ以上の階調曲線を生成することができる。いくつかの実施形態では、そのような階調曲線は、ダイナミックレンジ全体内におけるルミナンス値の再マッピングを可能にするルックアップテーブル（ＬＵＴ）とみなすことができる。例えば、図５は、入力画像内の２つの論理ブロックのヒストグラムを表し得る２つのヒストグラムを示している。
【００４８】
図６に関して以下により詳細に説明するように、いくつかの実施形態によれば、ヒストグラムに適用された時に所望のルミナンス値と一致する（又は近似する）ルミナンス値を生じることができる局所階調曲線又はゲイン値の集合を決定又は計算することができる。いくつかの実施形態では、（例えば、２つのヒストグラムのうちの１つに対応する）ブロックについての局所階調曲線を決定する時には、ヒストグラム５００とヒストグラム５１０の双方が考慮され得る。得られた局所階調曲線を使用してグラフ５３０を構成することができ、グラフ５３０は、ゲイン値が決定された論理ブロック内の画素についてのルミナンス値を再マッピングするために使用され得るＬＵＴを表す。例えば、グラフ内のＬＵＴ曲線（又はＬＵＴ直線）は、等価線（identity line）付近の値を変換するために使用することができる。グラフ５３０内において、より低いルミナンス値（例えば、より暗い値）は２本の軸の原点により近いが、より高いルミナンス値（例えば、より明るい値）はそれぞれの軸の右上にある。
【００４９】
したがって、図５に示した例では、いくつかの実施形態に従って、グラフ５３０内のより低いルミナンス範囲中の等価線の上方のあるＬＵＴ曲線により示すように、より低いルミナンス範囲中により重度に分布している、ヒストグラム５００に表したルミナンス値を明るくすることができる。
【００５０】
図６は、本明細書で説明するように、局所階調曲線計算を使用した画像階調調整で使用するためのゲイン値の集合を決定するための方法の一実施形態を示すフローチャートである。ゲイン係数の集合の決定に関して以下に説明するが、いくつかの実施形態では、局所階調曲線又は他の階調調整値の決定も、図６に示す方法も適用されることができる。
【００５１】
ブロック６００及びブロック６１０に示すように、入力画像の各ブロックについて、ブロック自体及び１つ以上の近隣のブロックを含むブロックの集合を決定することができる。上述のように、あるブロックについてのルミナンスヒストグラムと１つ以上の近隣のブロックについてのルミナンスヒストグラムとに基づいて、そのブロックについてのゲイン値を決定することができる。例えば、一実施形態では、特定のブロックについてのゲインを決定するためのブロックの集合として、その特定のブロックを取り囲む８個のブロックを使用することができる。他の実施形態では、他の個数の近隣のブロックが使用され得る。
【００５２】
ブロック６２０に示すように、ブロックについてのゲインを決定することは、ブロックの集合についての目標ルミナンス値と、ブロックの集合についての対応するルミナンスヒストグラムと、決定すべきゲイン係数の集合と間の制約条件付き関係を規定する最適化問題を生成すること含むことができる。いくつかの実施形態によれば、ゲイン係数は、ブロックの集合（例えば、特定のブロック及びその近隣のブロック）中の各ブロックについてのルミナンスヒストグラムに適用された時に、そのブロックについての対応する目標値と一致するルミナンス値を生成するように決定され得る。
【００５３】
したがって、各ブロックについて、ブロックについてのルミナンスヒストグラムに適用された時にブロックについての目標ルミナンス値（例えば、所望の輝度レベル）と一致するルミナンス値を生成するゲインの集合が計算される。ただし、あるブロックについてのゲインを、そのブロックについて単独で決定するのではない。その代わりに、いくつかの実施形態では、そのブロックについて、１つ以上の近隣のブロックなどの他のブロックを考慮して同様にゲインを決定することができる。近隣のブロックのそれぞれの対応する局所ヒストグラムに決定したゲインを適用すると、その対応するブロックについての目標ルミナンス値と一致するルミナンス値が生成される。したがって、各ブロックについて、ゲイン値の集合を決定することができるが、いくつかの実施形態によれば、近隣のブロックに基づいて同様に各ブロックのゲイン値を決定することができる。
【００５４】
特定のブロックについてのゲイン値の集合を決定するために、目標ルミナンス値と、（ブロック及びその近隣のブロックの）局所ヒストグラムと、決定すべきゲイン値との間の制約条件付き関係に従って最適化問題又は式が定義される。
【００５５】
例えば、一実施形態では、式：
【数１】
0006486996.tif 000002
を解くべき最適化問題として使用して、特定の論理ブロックについてのゲインの集合を取得する式中、「Ｈ」は、一緒に解くべきＮ個のヒストグラムの（例えば、ブロック及び近隣のブロックについての）Ｍ×Ｎ行列を表すことができ、それぞれのサイズはＭである（例えば、各ヒストグラム内のＭ個のビン）。「Ｒ」は、ヒストグラムを有する各ビンについての輝度に対応するルミナンス値を含むＭ×Ｍ対角行列を表すことができる。例えば、「Ｒ」における各値は、ヒストグラムを有する特定のビンについてのルミナンス範囲内の平均値（average value）、平均値（mean value）又は中心値を表し得る。式中、「ｍ」は、「Ｈ」における各ヒストグラムについての（例えば、各論理ブロックについての）目標ルミナンス値を含むＮ×１ベクトルを表すことができる。それぞれが特定のヒストグラムビンに（したがって、特定のルミナンス範囲に）対応する、「ｘ」、ゲイン値のＭ×１ベクトルを取得するために、「Ｈ」おける全てのヒストグラムについてこの最適化問題を一緒に解くことができる。
【００５６】
別の実施形態では、ゲイン（又はゲイン係数）の代わりに局所階調曲線を決定するために、最適化問題又は式が定義され得る。例えば、一実施形態では、式：
【数２】
0006486996.tif 000003
を解くべき最適化プログラムとして使用して、１つ以上の局所階調曲線（例えば、ブロックについての、場合によっては１つ以上の近隣のブロックについての局所階調曲線）を取得することができる。式中、「ｙ」は、局所階調曲線を表すことができ、又は、前式によるＲｘを表すことができる。したがって、いくつかの実施形態では、ゲインの集合を決定することができ、その後、決定したゲインを使用して、局所階調曲線を計算することができるが、他の実施形態では、最適化問題を解決することにより局所階調曲線を決定し、それを使用して画像を調整してもよい。
【００５７】
次いで、ブロック６３０に示すように、１つ以上の最適化制約条件が最小化されるように、最適化問題に最適化解決技法を適用することができる。一般に、種々の最適化問題解決アルゴリズム又は技法のうちのいずれかを使用して、ゲイン値を計算することができる。いくつかの実施形態では、問題に対する考えられる解は２つ以上あり得、（例えば、多くの考えられる解のうちの１つの「最適な」解を有するために）１つ以上の最適化制約条件が最小化されるように、問題を解くことができる。
【００５８】
例えば、一実施形態では、最適化制約条件の１つの考えられる集合は、ゲイン（又は得られる階調曲線）にわたる変化率を最小化しながら同時に、得られるゲインを正規化しようとする（例えば、得られる階調曲線を等価線の近くに保とうとする）ことができる。そのような例示的な最適化は、上記で説明した式Ｈ’Ｒｘ＝ｍに関して、後続の性能指数により表すことができる。
【数３】
0006486996.tif 000004
【００５９】
最適化問題に対する解を制約するために使用され得る条件が他にもあり得ることに留意されたい。一実施形態では、得られる階調曲線の平滑度を最大化するために（例えば、任意の急激変化を最小化するために）、平滑度制約条件を使用することができる。例えば、ゲインの微分係数（上記の関係では「Ｄｘ」）を最小化した結果として、ゲイン間の変化率を最小化し、それにより、得られる階調曲線の平滑度を最大化することができる。代替的には、ゲインをビン値に（例えば、上記の関係では「Ｄｘ」の代わりに「ＤＲｘ」に）適用した結果として生じる値の微分係数を最小化することもまた、得られる階調曲線の平滑度を保証するために最適化制約条件として利用される。別の実施形態では、任意の得られる階調曲線が単一性又は等価曲線のその偏差を最小化することを保証するために、等価制約条件を使用することができる。例えば、上記の関係の場合のようにｘ−１を正規化することにより、得られる階調曲線が（最適化問題に他の潜在的な解と比較して）等価勾配からあまり変動しないことを保証することができる。
【００６０】
更に別の例では、ゲインの微分係数が常に正数（例えば、「Ｄｘ＞０」又は「ＤＲｘ＞０」）であることを保証する最適化制約条件を使用することは、調整された画像の区域内の階調反転の可能性を防止（又は最小化）する（例えば、得られる階調曲線の単調性を最大化する）ために使用され得る。
【００６１】
更に、正勾配制約条件を利用して、任意の得られる階調曲線が正勾配を有することを保証することができ、また、最小及び／又は最大勾配制約条件を利用して、得られる解を更に特徴づけることができる。いくつかの実施形態では、決定したゲインについての最小値又は最大値を使用して、得られる階調曲線の勾配が緩やかすぎず、かつ、急すぎないことを保証することができる。例えば、最小ゲイン０．２５及び最大ゲイン４．０を保証することを使用して、最適化問題に対する得られる解を改善することができる。そのような最小制約条件及び最大制約条件は、問題解決中又は問題解決後のいずれかに適用することができ、１つ以上の２次プログラミングツールを利用することができる。更に、いくつかの実施形態では、得られる階調曲線の平滑度を高めるように、（ゲイン、階調曲線及び又はルックアップテーブルのいずれかとしての）得られる解を調整することができる。
【００６２】
上述のように、いくつかの実施形態では、（例えば、ブロックについての、場合によっては近隣のブロックについての）局所階調曲線を決定するために、最適化問題が定義され得る。したがって、いくつかの実施形態では、（例えば、ゲインの代わりに）階調曲線に関して最適化制約条件が定義され得る。
【００６３】
更に、具体的な最適化問題及び使用される制約条件は、実施形態によって変動し得る。例えば、（ＬＣＤスクリーン、電子ペーパー、モバイル電話などのような）異なるレンダリング能力をもつ異なる種類のディスプレイについて適切に最終画像を調整するために、異なる式及び制約条件が使用され得る。更に、ゲイン及び／又はゲイン値に関して、例示的な最適化及び制約条件について上記で説明してきたが、ゲイン値を決定することなく局所階調曲線を決定する時に、同様の最適化及び制約条件を使用することができる。
【００６４】
画像の論理ブロックのそれぞれについてゲインの集合を決定した後、それらのゲインを使用して、各ブロックについての局所階調曲線を生成することができる。例えば、いくつかの実施形態によれば、ヒストグラムの対応する各ビンについての１つのゲインを含むゲインの集合を決定した場合、ビンについての対応する輝度値（例えば、ビンが表す範囲についての平均値（average value）、平均値（mean value）又は中心値）をゲイン値に乗算した結果として、対応する論理ブロックについての局所階調曲線が生じ得る。他の実施形態では、上述したように最初にゲインの集合を決定せずに、局所階調曲線を決定する。その後、以下により詳細に説明するように、局所階調曲線を使用して、画像を調整する（例えば、局所階調マッピングを実行する）ことができる。
【００６５】
図７は、一実施形態に係る、局所階調曲線計算を使用した画像階調調整を画像に適用するための方法の一実施形態を示すフローチャートである。ブロック７００及び７１０に示すように、画像の各画素について、ルミナンス値を決定することができる。
【００６６】
各画素について、１つ以上のブロックについての局所階調曲線に基づいて、画素についての階調曲線を生成することができる。例えば、画素が属するブロックについての局所階調曲線、並びに場合によっては１つ以上の近隣のブロックについての局所階調曲線を、画素についての単一の局所階調曲線へと合成することができる。一実施形態では、図８に関して以下により詳細に説明するように、画素が各ブロックの中心からどのくらい離れているかに従って個々の局所階調曲線に重み付けすることに基づいて、補間局所階調曲線を生成することができる。次いで、ブロック７３０に示すように、生成した階調曲線に基づいて、画素についてのルミナンス値を調整することができる。
【００６７】
画素を調整するために使用するために別個の新しい階調曲線を生成し、次いで、その新しい階調曲線に基づいて画素のルミナンス値を調整することに関して説明しているが、いくつかの実施形態では、画素についての別個の新しい階調曲線を実際に生成することなく、ブロックの個々の局所階調曲線を使用して画素のルミナンス値を調整できることに留意されたい。例えば、使用すべき各局所階調曲線を重み付し、画素のルミナンス値に対する調整全体が、別個の新しい局所階調曲線を生成した場合と同じになり得るような累積的な様式で、各局所階調曲線を画素についてのルミナンス値に適用することができる。
【００６８】
ブロック７４０に示すように、画素についての調整したルミナンス値を使用して、画素についての新しい色値を生成する（又は新しい色値に変換する）ことができる。例えば、画素のＲＧＢ値を、補間階調曲線に基づいて調整されるルミナンス値へと変換し、次いで、ＲＧＢ値へと変換して戻すことができる。各種実施形態に従って、ＲＧＢ以外の他の色及び／又は輝度スキーム（若しくは色空間）を使用してもよいことに留意されたい。
【００６９】
同様に、異なる実施形態に従って、各種様式のいずれかで画素についてのルミナンス値を生成及び調整することができる。本明細書で説明する例は、階調曲線の使用を含み得るが、いくつかの実施形態では、他の様式で画素を修正するために、ＬＵＴを生成又は使用することができ、又は、ゲイン自体を使用することができる。例えば、画素のＲＧＢ値をルミナンス値に変換し、決定したゲイン値に従ってルミナンス値を調整し、次いで、ルミナンス値を画素についてのＲＧＢ値へと変換して戻すのではなく、いくつかの実施形態では、画素についての個々のＲＧＢ値を調整することなどによって、異なる色空間内で同等のルミナンス調整を実行してもよい。
【００７０】
図８は、一実施形態に係る、局所階調曲線に基づく画素の調整を示す論理ブロック図である。上述したように、計算した局所階調曲線（又はゲイン値）に基づいて画像に対して階調調整を実行する時には、２つ以上の局所階調曲線に基づいて各画素を調整することができる。例えば、図８に示すように、画像８００を複数のブロックへと論理的に分割することができ、各ブロックについて、上述したように局所階調曲線を生成することができる。最終画像を生成する時には、局所階調曲線に基づいて、複数のブロックについて階調曲線を使用して、画素８５０などの単一の画素を調整することができる。例えば、一実施形態では、ブロック８１０、８２０、８３０及び８４０など、４つの異なる論理ブロックについての局所階調曲線を使用して、画素８５０についてのルミナンス値（したがって、色値）を調整することができる。
【００７１】
一般に、異なる実施形態によれば、各種技術のいずれかを使用して、画素８５０を調整するために使用される階調曲線を合成又は適用することができる。例えば、一実施形態では、画素８５０から対応するブロックの中心までの相対距離に従って、使用すべき各階調曲線を重み付けすることができる。したがって、図８に示した例において、ブロック８１０についての階調曲線は、最も重度に重み付けされた階調曲線となり得、ブロック８４０についての階調曲線は、最も重み付けされていない階調曲線となり得る。したがって、いくつかの実施形態によれば、画像８００の各画素は、画像にわたって輝度の平滑度が変化することを保証するのを助け、視覚的アーチファクト（例えば、ハロー効果、リンギング及び／又は他のコントラスト歪み）の導入を低減するのを助けるような様式で調整され得る。
【００７２】
図７に関して上述したように、一実施形態では、複数の局所階調曲線に基づいて補間階調曲線を生成することができ、その補間階調曲線を使用して、画像８００中の画素のルミナンス値を調整することができる。他の実施形態では、各局所階調曲線を画素に個々に適用することなどによって、別個の補間階調曲線を実際に生成することなく、同じ結果を取得することができる。
【００７３】
画像を調整する時に使用すべき局所階調曲線の数、並びに局所階調曲線を合成する具体的な様式は、実施形態によって変動し得る。更に、いくつかの実施形態によれば、局所階調曲線は、画素についてのルミナンス値を調整するたに使用されるルックアップテーブル（ＬＵＴ）とみなすことができる、又はそれに変換することができることに留意されたい。
【００７４】
図９は、一実施形態に係る、ビデオストリームへの局所階調曲線計算を使用した画像階調調整の適用を示す論理ブロック図である。図９に示し、上述したように、ビデオストリームの一部である画像に、それらの画像がキャプチャされている（例えば、ライブである）場合又はキャプチャ後である場合のいずれも、本明細書で説明する技法を適用することができる。いくつかの実施形態では、画像階調調整は、カメラ画像センサと画像記憶域との間など、デジタルカメラ内の画像キャプチャパイプラインの一部として実行され得る。局所曲線計算を使用した画像階調調整をライブビデオストリームに適用する時、ビデオストリームは、画像をメモリに保存する必要が生じる前にその画像が解析及び調整されることを防止する速度でキャプチャすることができる。したがって、いくつかの実施形態では、局所階調曲線を生成するために使用される画像は、（例えば、画像を調整する時に）局所階調曲線が適用される同一の画像でなくてもよい。一般に、ダイナミックレンジ及び／又は輝度レベルは、ビデオフレーム間であまり変化しないことがある。
【００７５】
図９に示すように、キャプチャされたビデオストリーム９００は、ビデオ画像９１０、９１５、９２０、９２５、９３０及び９３５などの複数の画像フレームを含むことができる。図９に示す例示的なビデオストリームでは、ビデオ画像Ｎは、ビデオストリームにおいて、ビデオ画像Ｎ＋１よりも前に生じ得、ビデオ画像Ｎ＋１は、ビデオ画像ｎ＋２よりも前に生じ得る。したがって、図９において、より早期のビデオ画像は図中のより上に現れ、より遅くの画像は図中のより下に現れる。局所階調計算を使用した画像階調調整をビデオストリーム中の画像に適用する時、同じ技法がビデオストリーム中の連続する画像に反復して適用され得る。したがって、一実施形態では、局所階調曲線９４０、９４５、９５０、９５５及び９６０を、ビデオ画像９１５、９２０、９２５、９３０及び９３５にそれぞれ適用することができる。したがって、いくつかの実施形態では、１つの画像について計算された局所階調曲線を適用して、より遅くの画像のルミナンス範囲を調整することができる。
【００７６】
局所階調曲線計算を使用した画像階調調整のための本明細書で説明する技法は、多種多様なコンピューティングデバイスのいずれかで実行され得る。次に、本明細書で説明する局所階調曲線計算を使用した画像階調調整を実行するように構成されたシステムの一実施形態を示す論理ブロック図を示している図１０を参照する。一般に、図１０に示したコンピュータシステムは、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピューティングデバイス、セルラー電話、スマートフォン、モバイル電話、ワークステーション、ネットワークコンピュータ、消費者デバイス、アプリケーションサーバ、記憶デバイス、インテリジェントディスプレイ、周辺デバイス（スイッチ、モデム、ルーターなど）を含む種々の種類のコンピューティングデバイスのうちのいずれか、又は一般には任意の種類のコンピューティングデバイスであり得るが、それらに限定されるものではない。１つの例示的な実施形態によれば、図１０に示したシステムは、システムオンチップ（ＳＯＣ）を表すことができる。名前により示されるように、ＳＯＣ  １０００の構成要素は、集積回路の「チップ」としての単一の半導体基板の上に集積化することができる。いくつかの実施形態では、構成要素はシステム内の２つ以上の別個のチップ上に実装されてもよい。ＳＯＣ  １０００が本明細書において例として用いられることになる。
【００７７】
図示されている実施形態では、ＳＯＣ  １０００の構成要素は、中央処理装置（ＣＰＵ）複合体１０２０、オンチップ周辺装置構成要素１０４０Ａ〜１０４０Ｂ（より短く、「周辺装置」）、メモリコントローラ（ＭＣ）１０３０、通信ファブリック１０１０、及び（それ自体を周辺装置成要素であるとみなすことができる）画像階調アジャスタ２００を含む。ＳＯＣ  １０００はまた、メモリ１８００及びカメラ画像センサ２５０など、追加の構成要素に結合され得る。構成要素１０２０、１０３０、１０４０Ａ〜１０４０Ｂ、及び２００は全て通信ファブリック１０１０に結合され得る。メモリコントローラ１０３０は使用中メモリ１８００に結合され得、周辺装置１０４０Ｂは使用中外部インターフェース１９００に結合され得る。更に、画像階調アジャスタ２００は、使用中カメラ画像センサ２５０に結合され得る。例示した実施形態では、ＣＰＵ複合体１０２０には、１つ以上のプロセッサ１０２４及びレベル２（Ｌ２）キャッシュ１０２２が含まれる。
【００７８】
周辺装置１０４０Ａ〜１０４０Ｂは、ＳＯＣ  １０００内に含まれる追加のハードウェア機能性の任意のセットであり得る。例えば、周辺装置１０４０Ａ〜１０４０Ｂは、１つ以上の表示デバイス上にビデオデータを表示するように構成されたディスプレイコントローラ、グラフィック処理ユニット（ＧＰＵ）、ビデオエンコーダ／デコーダ、スケーラ、ローテータ、ブレンダなどを含み得る。画像階調アジャスタ２００は、いくつかの実施形態では、カメラ画像センサ２５０（又は他の画像センサ）からの画像キャプチャデータを処理するように構成された画像信号プロセッサなどの別のビデオ周辺装置の一部であり得る。また、周辺装置は、マイクロホン、スピーカ、マイクロホン及びスピーカに対するインターフェース、オーディオプロセッサ、デジタル信号プロセッサ、ミキサなどのようなオーディオ周辺装置を含み得る。周辺装置は、ユニバーサルシリアルバス（ＵＳＢ）、ＰＣＩエクスプレス（ＰＣＩｅ）を含む周辺構成要素相互接続（ＰＣＩ）、シリアルポート及びパラレルポートなどのようなインターフェースを含む、ＳＯＣ  １０００の外部の種々のインターフェース１９００のための周辺インターフェースコントローラ（例えば周辺装置１０４０Ｂ）を含み得る。周辺装置は、メディアアクセス制御（ＭＡＣ）などのネットワーキング周辺装置を更に含み得る。一般に、各種実施形態によれば、ハードウェアの任意のセットが含まれ得る。
【００７９】
図１０により詳細に示すように、ＳＯＣ  １０００は、画像階調アジャスタ構成要素の少なくとも１つのインスタンス、例えば、本明細書で説明したような、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０、及び／又は局所階調曲線ジェネレータ２４０など、局所階調曲線計算を使用した画像階調調整を実行するように構成され得る構成要素を含む、図２に示したような画像階調アジャスタ２００を含み得る。
【００８０】
ＣＰＵ複合体１０２０は、ＳＯＣ  １０００のＣＰＵの役割を果たす１つ以上のＣＰＵプロセッサ１０２４含むことができる。システムのＣＰＵは、オペレーティングシステムなど、システムの主制御ソフトウェアを実行するプロセッサ（単数又は複数）を含み得る。概して、使用時にＣＰＵによって実行されるソフトウェアは、システムの所望の機能性を実現するためにシステムの他の構成要素を制御してもよい。プロセッサ１０２４は、アプリケーションプログラムなどの他のソフトウェアも、更に実行することができる。アプリケーションプログラムはユーザ機能性を提供してもよく、より低レベルのデバイス制御についてはオペレーティングシステムに依存してもよい。したがって、プロセッサ１０２４はまた、アプリケーションプロセッサと呼ぶことができる。ＣＰＵ複合体１０２０は、Ｌ２キャッシュ１０２２などの他のハードウェア、及び／又は及びシステムの他の構成要素へのインターフェース（例えば、通信ファブリック１０１０へのインターフェース）を更に含むことができる。
【００８１】
概して、プロセッサは、そのプロセッサによって実装される命令セットアーキテクチャ内で定義された命令を実行するように構成される任意の回路機構及び／又はマイクロコードを含んでもよい。命令及び命令を実行することに応答してプロセッサが動作するデータは、一般に、メモリ１８００に記憶され得るが、周辺装置への直接的なプロセッサのアクセスのために特定の命令を同様に定義することができる。プロセッサは、集積回路上に他の構成要素と共にシステムオンチップ（ＳＯＣ  １０００）又は他の一体化レベルとして実装されるプロセッサコアを包含し得る。プロセッサは、別個のマイクロプロセッサ、マルチチップモジュール実装形態内に一体化されるプロセッサコア及び／又はマイクロプロセッサ、複数の集積回路として実装されるプロセッサなどを更に包含してもよい。
【００８２】
概して、メモリコントローラ１０３０は、ＳＯＣ  １０００の他の構成要素からのメモリ操作を受信し、そのメモリ操作を完了するためにメモリ１８００にアクセスするための回路機構を含み得る。メモリコントローラ１０３０は任意の種類のメモリ１８００にアクセスするように構成され得る。例えば、メモリ１８００は、スタティックランダムアクセスメモリ（ＳＲＡＭ：static random access memory）、ダブルデータレート（ＤＤＲ、ＤＤＲ２、ＤＤＲ３など）ＤＲＡＭを含むシンクロナスＤＲＡＭ（ＳＤＲＡＭ：synchronous DRAM）などのダイナミックＲＡＭ（ＤＲＡＭ：dynamic RAM）であり得る。ＤＤＲ  ＤＲＡＭの低消費電力／モバイルバージョン（例えばＬＰＤＤＲ、ｍＤＤＲなど）がサポートされ得る。メモリコントローラ１０３０は、操作を順序付けし（及び潜在的に再順序付けし）、メモリ１８００へ操作を提示するための、メモリ操作のための待ち行列を含み得る。メモリコントローラ１０３０は、メモリへの書き込みを待っている書き込みデータ、及びメモリ操作の送信元への返送を待っている読み出しデータを記憶するためのデータバッファを更に含み得る。いくつかの実施形態では、メモリコントローラ１０３０は、最近アクセスされたメモリデータを記憶するためのメモリキャッシュを含み得る。ＳＯＣ実装形態では、例えば、メモリキャッシュは、データが再びすぐにアクセスされると予想される場合には、メモリ１８００からのデータの再アクセスを回避することによって、ＳＯＣ内の電力消費を低減し得る。場合によっては、メモリキャッシュはまた、特定の構成要素にのみ貢献する、Ｌ２キャッシュ１０２２などのプライベートキャッシュ又はプロセッサ１０２４内のキャッシュと対照的に、システムキャッシュと呼ばれることがある。更に、いくつかの実施形態では、システムキャッシュはメモリコントローラ１０３０内に配置される必要がない。
【００８３】
一実施形態では、メモリ１８００は、チップオンチップ又はパッケージオンパッケージ構成でＳＯＣ  １０００と共にパッケージ化され得る。ＳＯＣ  １０００及びメモリ１８００のマルチチップモジュール構成を同様に使用してもよい。そのような構成は、システム中の他の構成要素への（例えば、エンドポイント１６Ａ〜１６Ｂへの）送信よりも（データ可観測性に関して）比較的セキュアであり得る。そのため、保護されたデータは、暗号化されずにメモリ１８００中に常駐してもよいが、保護されたデータは、ＳＯＣ  １０００と外部のエンドポイントとの間での交換のために暗号化され得る。
【００８４】
通信ファブリック１０１０は、ＳＯＣ  １０００の構成要素間で通信するための任意の通信インターコネクト及びプロトコルであり得る。通信ファブリック１０１０は、共有バス構成、クロスバー構成、及びブリッジを有する階層バスを含む、バスベースであり得る。通信ファブリック１０１０はまた、パケットベースのものであってもよく、ブリッジを有する階層型、クロスバー型、ポイントツーポイント型、又はその他のインターコネクトであり得る。
【００８５】
ＳＯＣ  １０００の構成要素の数（及びＣＰＵ複合体１０２０内などの、図１０に示されているものについての下位構成要素の数）は実施形態によって異なり得ることに留意されたい。各構成要素／下位構成要素は、図１０に示されている数よりも多くても、又は少なくてもよい。
【００８６】
いくつかの実施形態では、本明細書で説明する方法は、コンピュータプログラム製品又はソフトウェアにより実行され得る。いくつかの実施形態では、非一時的コンピュータ可読記憶媒体は、本明細書で説明する技法の一部又は全部を実行するようにコンピュータシステム（又は他の電子デバイス）をプログラムするために使用され得る命令をその上に記憶し得る。コンピュータ可読記憶媒体は、機械（例えば、コンピュータ）によって読み取り可能な形態（例えば、ソフトウェア、処理アプリケーション）で情報を記憶するための、任意の機構を含み得る。マシン可読媒体としては、磁気記憶媒体（例えば、フロッピーディスケット）、光記憶媒体（例えば、ＣＤ−ＲＯＭ）、光磁気記憶媒体、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能なプログラマブルメモリ（例えば、ＥＰＲＯＭ及びＥＥＰＲＯＭ）、フラッシュメモリ、プログラム命令を記憶するのに適した電気又は他の種類の媒体を挙げ得るが、それらに限定されるものではない。更に、プログラム命令は、光学信号、音響信号、又は他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）を使用して通信され得る。
【００８７】
コンピュータシステム１１００は、画像階調アジャスタ２００、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０及び／若しくは局所階調曲線ジェネレータ２４０など、同じコンピュータシステムのメモリ１８００に記憶されたプログラム命令内に存在しても、又はコンピュータシステム１０００と類似する若しくはそれとは異なる別のコンピュータシステムのメモリ内に記憶されたプログラム命令内に存在してもよい１つ以上のモジュールを実行するように構成され得る（場合によって、マルチプロセッサ、シングルスレッドプロセッサ、マルチスレッドプロセッサ、マルチコアプロセッサなどを含む）プロセッサユニット１０２０を含むことができる。いくつかの実施形態では、局所階調曲線計算を使用した画像階調調整を実行するように構成された各種構成要素は、一緒に動作する異なるコンピュータシステムの一部であり得る。例えば、一実施形態では、コンピュータシステム８００は、画像データプロセッサ２１０を含むことができるが、他の実施形態では、コンピュータシステム１０００は、目標ルミナンス構成要素２２０を含んでもよい。更に他の実施形態では、コンピュータシステム１０００は、画像階調アジャスタ２００内などに、画像データプロセッサ２１０と画像データプロセッサ２１０の双方、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０及び／又は局所階調曲線ジェネレータ２４０を含むことができる。
【００８８】
システムメモリ１８００は、（本明細書に記載された実施形態のいずれかによる）局所階調曲線計算を使用した画像階調調整のための、本明細書で説明する技法の一部又は全部を実行するように構成されたプログラム命令を含み得る。例えば、メモリ１８００は、画像階調アジャスタ２００の構成要素の一部又は全部を実装及び／又は実行するためのコードを含み得る。
【００８９】
各種実施形態では、画像階調アジャスタ２００、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０、及び／若しくは局所階調曲線ジェネレータ２４０、並びに／又はこれらの構成要素の個々のサブモジュールはそれぞれ、種々のプログラミング言語又は方法のいずれかにおいて実装され得る。例えば、一実施形態では、画像階調アジャスタ２００、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０、及び／又は局所階調曲線ジェネレータ２４０は、ＪＡＶＡ（登録商標）ベースとすることができるが、別の実施形態では、画像階調アジャスタ２００、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０、及び／又は局所階調曲線ジェネレータ２４０は、Ｃ言語若しくはＣ＋＋言語、又はアセンブリプログラミング言語を使用して書き込んでもよい。更に、様々な実施形態では、画像階調アジャスタ２００、画像データプロセッサ２１０、目標ルミナンス構成要素２２０、ヒストグラムジェネレータ２３０、及び／又は局所階調曲線ジェネレータ２４０、並びにそれらの種々のサブモジュールは、同じプログラミング言語を使用して実装されなくてもよい。
【００９０】
具体的な実施形態を参照して、かつ、それらの文脈において、種々のシステム及び方法を本明細書で説明してきたが、これらの実施形態は例示的なものであり、本開示の範囲は、これらの具体的な実施形態に限定されるものではないことが理解されるであろう。多くの変形、修正、追加、及び改善が可能である。例えば、本明細書において特定されたブロック及び論理ユニットは、説明した実施形態を理解するためのものであり、本開示を限定するものではない。本明細書で説明した、又は異なる専門用語で説明したシステム及び方法の種々の実現では、機能性を、ブロック内で異なる方式で分離又は組み合わせてもよい。
【００９１】
これらの実施形態は、例示的なものであり、限定的なものではない。そのため、単一の事例として本明細書で説明した構成要素について、複数の事例を提供することができる。種々の構成要素、動作及びデータストアの間の境界は、任意のものであり、特定の動作は、特定の例示的な構成の文脈において示されている。機能の他の割り当てが想定され、以下の特許請求の範囲に含まれる。最終的に、例示的な構成において個別構成要素として提示した構造及び機能は、組み合わせた構造又は構成要素として実装され得る。これらの変形、修正、追加、及び改善、並びに他の変形、修正、追加、及び改善は、以下の特許請求の範囲で定義されるような、本開示の範囲内に包含することができる。
【００９２】
上記の実施形態は、詳細に説明されているが、上記の開示が完全に理解されると、数多くの変形形態及び修正形態が明らかとなるであろう。以下の特許請求の範囲は、そのような変形及び変更の全てを包含するように解釈されることが意図される。
【図１】
0006486996.tif 000005
【図２】
0006486996.tif 000006
【図３】
0006486996.tif 000007
【図４】
0006486996.tif 000008
【図５】
0006486996.tif 000009
【図６】
0006486996.tif 000010
【図７】
0006486996.tif 000011
【図８】
0006486996.tif 000012
【図９】
0006486996.tif 000013
【図１０】
0006486996.tif 000014