(58)【調査した分野】(Int.Cl.,DB名)
前記輝度画像補正部の前記判定値演算部は、前記ヒストグラム平滑化の補正を実行すると決定した場合は、前記判定値を加算し、前記ヒストグラム平滑化の補正を実行しないと決定した場合は、前記判定値を減算することを特徴とする
請求項1乃至4のいずれか一項に記載の画像処理装置。
前記フレーム毎の前記入力画像信号の記憶色の含有率を検出し、前記輝度画像補正部に対して、前記ヒストグラム平滑化を強めるか弱めるかの判定に対して、前記記憶色の含有率も反映させる記憶色反映部、をさらに備えることを特徴とする
請求項1乃至4のいずれかに記載の画像処理装置。
前記記憶色反映部が、一のフレームの前記記憶色の含有率が定められた閾値よりも高いと判定した場合、前記輝度画像補正部において、前記判定値を無効にして、前記一のフレームの前記ヒストグラム平滑化による補正強度を、前記一のフレームの直前のフレームに対して、弱めるよう変化させることを特徴とする
請求項6に記載の画像処理装置。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明を実施するための形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
【0017】
〔全体構成〕
図3は本発明の一実施形態に係る画像処理装置10の概略構成を示す説明図である。本発明の実施形態に係る画像処理装置10は、入力画像(RGB)記憶部1、RGB・YCbCr変換部2、輝度画像補正部3、色差画像補正部4、YCbCr・RGB変換部5、及び出力画像(RGB)記憶部6を備える。なお、
図11で後述するように、画像処理装置10はさらに、記憶色反映部7及び設定情報取得部8を備えていてもよい。
【0018】
図3に示すように、RGBの入力信号(動画信号の各フレーム)をYCbCr信号(輝度色差信号)に変換した後、Y(輝度:Luminance)とCbCr(色差(Color Difference Blue, Color Difference Red)でそれぞれ異なる変換処理を施す。
【0019】
そして、輝度画像(Y)にはヒストグラム平滑化(平坦化、平均化ともいう)による補正を適用し、色度画像(CbCr)には彩度強調を適用する。
【0020】
ここで、画像の補正対象を、変換したYCbCr信号にすることで、輝度(Y)のみのヒストグラム平滑化のため処理負荷が小さくなり、平滑化は輝度信号にのみ実行されるため、色バランスも好適に保持される。
【0021】
それと並行して、CbCrには彩度強調を施すことで、色鮮やかさが増し、HDR調をさらに好適にできるようになる。
【0022】
詳しくは、RGB・YCbCr変換部(入力画像色空間反映部)2において、下記の変換アルゴリズムを実行する。
【0023】
まず、RGBの入力信号(Rin, Gin, Bin)を、下記の(式1)〜(式3)を用いてYCbCr信号(Yin, Cbin, Crin)に変換する。
例えば、本明細書では、RGB信号を10bitのスケール(0〜1023)として述べる。
【0026】
【数3】
ここで、「>>」はシフト演算であり、「<<」は左側に、「>>」は右側に指定されたビット数だけシフトさせる。
【0027】
このように、輝度色差信号として、整数型に変換したYCbCrを用いている。また、RGBとYCbCrとの相互変換には、整数演算およびシフト演算を用いている。
【0028】
上記の(式1)〜(式3)は、8bit右側にシフト、つまり256(28)で除算することを意味している。除算はハードウェア実装で無駄な部分が多いため、除算をシフト演算に代替するのが大きく有利である。
【0029】
上記によりRGBで有る入力画像信号をYCbCr信号に変換した後、CbCr(青色差画像、赤色差画像)に対して彩度強調(
図4参照)、Y(輝度画像)に対してヒストグラム平滑化(
図5〜
図9参照)を施す。
【0030】
また、YCbCr・RGB変換部(出力画像色空間変換部)5は、CbCrに対して彩度が強調され、Yに対してヒストグラム平滑化処理が適用された、YCbCr値(Yout, Cb_out, Cr_out)を、下記(式4)〜(式6)を用いて、入力された画像信号と同じ形式であるRGB値(Rout, Gout, Bout)に戻して出力画像信号とする。
【0033】
【数6】
上式はRGB画像が各10bitの場合であり、もし変換結果が10bitの範囲(0〜1023)を外れた場合は、その範囲にクリッピングする。
【0034】
<彩度補正>
次に、RGBから変換したCbCr(色差画像信号)に対する彩度(Saturation)強調について説明する。
【0035】
図4に彩度強調にS字トーンカーブを適用した画像補正例を示す。彩度強調にはS字トーンカーブを、ルックアップテーブルとして用いる(参照する)のが高速処理に好適である。
【0036】
そのルックアップテーブルを、Satu_Curve(階調変換関数)とすると、下記、(式7)、(式8)のように、Cb(青色差画像信号)、Cr(赤色差画像信号)に対して、階調変換関数を掛けて、出力値へ変換する。
【0038】
【数8】
ルックアップテーブルにおける入力画素値と出力画素値の関係、即ち階調変換関数をグラフ化すると、S字状のトーンカーブ(S字トーンカーブ)となる。
【0039】
S字トーンカーブを用いると、ヒストグラムの分布が中央に偏ったコントラストの低い画像は、中間調が引き伸ばされコントラストが上がる。即ち、色差画像の高域部分をより高く、低域部分をより低くすることができる。
【0040】
これにより、色味を変えることなく、彩度が好適に強調される。
【0041】
なお、表1で示すように彩度強調の補正強度レベルを設定できるように、補正強度の異なるS字トーンカーブを構成する階調変換関数の中から1つを選択して用いて、出力画像(出力画像信号)を補正してもよい。
【0042】
【表1】
このような彩度強調を行うことで、ヘルムホルツ・コールラウシュ効果(H−K効果)という視覚効果が得られる。H−K効果とは、明るさは同じでも、彩度が高い色ほど明るく感じる視覚効果で、HDR調をもたらすには有効な手段である。
【0043】
特に、DLP(Digital Light Processing)プロジェクタは
図16で後述するように色がくすみやすいため、色を鮮やかにする彩度強調は、画質向上に効果的である。
【0044】
なお、この彩度強調に用いる階調変換関数は、大幅に簡略化することも可能である。
【0045】
例えば、CbCrの入力値は10bitとしても、階調変換関数によって変換したCbCr値は10bit(0〜1023)対応でなく、約10分の1の7bit(0〜127)にしても、画質劣化はほとんど知覚できないことが分かった。
【0046】
人間の視覚は輝度(Y)よりも色差(CbCr)の方が鈍感なため、CbCrの処理を簡略化しても、劣化を感じにくい。
【0047】
したがって、作成された色差補正画像信号のビット数は、入力された色差画像のビット数よりも小さくなるように処理してもよい。これにより、色差画像の処理の演算負担を軽減し、ハードウェアロジック規模の削減や処理の高速化が可能となる。
【0048】
<輝度補正>
輝度(Y)に対して、ヒストグラム平滑化処理を用いて輝度補正画像信号を作成する方法を以下に詳述する。
【0049】
図5に、輝度画像(原画像)から、輝度ヒストグラム及び累積ヒストグラムを作成する例を示す。
図6に、累積ヒストグラムをルックアップテーブルに用いた(参照した)トーンカーブの変換例と、ヒストグラム平滑化した画像補正例を示す。
【0050】
最初に、上記(式1)によって変換された輝度画像(Y)のヒストグラムを作成する。
なお、ヒストグラムを得る際に、対象とする画素を空間的に間引くと、処理の負荷が軽くなって好適である。
【0051】
例えば、水平方向と垂直方向ともに16画素おきにサンプリングし、それらからヒストグラムを形成する。間引いてもヒストグラムの特性、即ち画質はあまり変わらず、処理の負荷だけを、大きく削減することができる。
【0052】
YCbCr画像が10bit対応であるとすると、ヒストグラムを格納する行列は1024ステップ(Org_Hist[0]〜Org_Hist[1023])となるので、ヒストグラムは対象映像(動画)の1フレームについて、(式9)のように算出される。式中の「++」はヒストグラムの頻度を1つずつ加算している意味である。作成されたヒストグラムの例を
図5(b)に示す。
図5(b)では、横軸に画素数(輝度数)、縦軸に度数(頻度)を示し、ヒストグラムは、模式的に示しているとする。
【0053】
【数9】
次に、得られたヒストグラムから累積ヒストグラムを形成する。詳しくは、(式10)に示すように、累積ヒストグラムをSum_Hist[0]〜Sum_Hist[1023]とし、その範囲で度数を順次累積させることで、累積ヒストグラムが形成される。作成されたヒストグラムの例を
図5(c)に示す。
図5(b)では、横軸に画素数(輝度数)、縦軸に累積度数(規格化された度数、相対比率)を示しており、
図5(b)をトーンカーブとする際は、横軸は入力画素値、縦軸を出力画素値として対応させてもよい。
【0054】
【数10】
累積ヒストグラムの度数を輝度補正のルックアップテーブルとして用いるために、累積ヒストグラムを10bit(0〜1023)の範囲に正規化し、それをEqu_Table[0]〜Equ_Table[1023]とする。
【0055】
下記(式11)により、
図5(c)に示す、累積ヒストグラムが0〜1023の範囲に正規化される(例えば
図2(b)参照)。
【0056】
【数11】
ここで生成されたEqu_Table[0]〜Equ_Table[1023]を、出力画像の輝度補正のルックアップテーブルとして、下記(式12)のように用いる。
【0057】
【数12】
このように累積ヒストグラムを用いた輝度補正の具体例について、
図6を用いて説明する。
図6の上段に示すように暗いコンテンツの場合、累積ヒストグラムに基づいた平滑化トーンカーブ(補正用トーンカーブ、
図6(b)参照)は凸型になるハイキーなので、明るさが上がるように補正される。
【0058】
逆に
図6の下段に示すように、明るいコンテンツの場合、累積ヒストグラムに基づいた平滑化トーンカーブ(
図6(b)参照)は凹型になるロウキーなので、明るさが抑えるように補正される。
【0059】
しかし、このように累積ヒストグラムをそのままルックアップテーブルとして用いると(参照すると)、動画に含まれる画像のコンテンツの内容によって、過補正になることがあるため、場合により、その効果を弱めることもできると望ましい。
【0060】
<ヒストグラム平滑化の調整>
図7は、ヒストグラム平滑化のON/OFFの場合分け判定を説明する図である。
図8は、本発明の制御例として動画の補正画像(信号)を作成する際のヒストグラム平滑化画像と原画像の混合比率の推移例を示す。
【0061】
上述のようなヒストグラム平滑化処理について、
図7(a)に示す自然画像のような連続的なヒストグラムであれば問題ないが、文章や図表のような2値画像に近いコンテンツの場合、ヒストグラムが局所的になるため、不要な階調変換によって望ましくない輝度変換になる場合がある。即ち、ヒストグラム平滑化による補正の良否は、コンテンツに依存する。
【0062】
一例として、全画素が黒(0)の黒ベタの場合、ヒストグラムの度数はOrg_Hist[0]に集中するため、累積ヒストグラムもSum_Hist[0] - Sum_Hist[1023]の範囲で一定値となる。そのため、黒ベタにヒストグラム平滑化を適用すると黒ではない不適切な変換結果となる。
【0063】
また、黒ベタの例の他に、
図7(d)に示すような文章や図表のような2値画像に近いコンテンツであると、黒ベタ画像での黒色変化に近い誤変換が生じる可能性がある。
【0064】
このような不適切な変換を防ぐために、画像のコンテンツのヒストグラムが連続的か離散的かを簡便に判定する。そして、連続的と判定された場合はヒストグラム平滑化を施し、離散的と判定された場合はヒストグラム平滑化を行わず、Yin値(輝度画像)を非加工で、スルーさせるようにする。即ち、入出力トーンカーブは対角線直線形状の非加工トーンカーブを用いる。
【0065】
ヒストグラムが連続的か離散的かをコンテンツ内容に基づいて判定するには、ヒストグラムの分散や標準偏差を用いる方法などが考えられるが、それらは処理負荷が大きくなる。
【0066】
そこで、処理が軽い判定方法の一例として、ヒストグラムOrg_Histのピーク値を用いる。ヒストグラムの総度数はコンテンツの画素数になるため、ヒストグラムの最大値であるピーク値が総度数のピーク所定値未満であれば連続的、ピーク所定値以上であれば離散的と見なす。例えば、
図7(b)にピーク値を示す。
図7(e)のピーク値は、右端において上限まで達しているものとする。
【0067】
図7は模式的に示しているが、その閾値となる「ピーク所定値」は例えば、最大頻度の1/16前後が好適で、分母が2のべき乗である方がハードウェア実装に好適となる。
【0068】
あるいは、度数が、ピーク所定値よりも小さいある所定値を超える割合が、全輝度値(画素値)に対して、所定割合以上であるかどうかの度数を有するかどうかで、割合以上の場合は連続的、割合以下の場合は離散的とみなしてもよい。例えば、
図7(b)、
図7(e)に所定値も示す。
【0069】
以上のように、ヒストグラムのピーク値(あるいは所定値を超えた割合)を用いた判定により、コンテンツに応じたヒストグラム平滑化のON/OFF切り替えを行う。
【0070】
しかしながら上述のようなピーク値とピーク所定値との閾値を用いたON/OFF切り替えを動画に適用すると、フレームによってON/OFFの閾値の上下で行ったり来たりする場合、ヒストグラム平滑化のON/OFFも細かく切り替わる現象が生じ、不適切な動画になることも起こり得る。
【0071】
<第1の制御例>
それを回避するために、第1の制御例として、ヒストグラム平滑化の強度を徐々に変化させると好適である。
【0072】
そこで、ヒストグラム平滑化のON/OFFが時間的に小まめに切り替わると判定されるような動画映像である場合は、ONやOFFのフレームの連続数をカウントするカウント値(hdr_frame_cnt)を重み付け係数として用いて、ヒストグラム平滑化の補正強度を、徐々に変化させる。これにより、
図8に示すように、コンテンツの内容に応じた、ヒストグラム平滑化のON/OFFを緩やかに移行可能であり、視聴者の違和感を軽減することができる。
【0073】
<混合比率調整によるヒストグラム平滑化の補正強度調整>
上記のヒストグラム平滑化(HDR化)の移行のため、累積ヒストグラムをルックアップテーブルとして作成した平滑化トーンカーブ(
図6(b)参照)と、非加工トーンカーブ(右上がりの対角線直線、いわゆる入力画素値そのまま)とを合成して、補正用トーンカーブを作成する。そして、その補正用トーンカーブに基づいて輝度補正画像(信号)を作成する。
【0074】
補正用トーンカーブを合成する際の、平滑化トーンカーブと、非加工トーンカーブとの混合の比率を、判定値(カウント値)に応じて重み付けして設定することで、輝度補正画像のヒストグラム平滑化の補正強度を調整できる。
【0075】
このトーンカーブの混合調整による補正は、後述するフレーム毎に、実行される。
【0076】
例えば、上述のようにヒストグラムのピーク値とピーク所定値との比較や、所定値以上の度数の画素値(輝度値)の割合などによって、ヒストグラム平滑化をOFFと判定した場合、カウント値(累積された判定値)hdr_frame_cntをデクリメントする。
【0077】
ヒストグラム平滑化がOFF条件であれば、そのフレームカウンタのカウント値を、デクリメント、即ち、「−1減算」する。
【0078】
【数13】
ただし、カウント値hdr_frame_cntの下限値は0とする。
【0079】
一方、ヒストグラム平滑化がON条件であれば、フレームカウンタのカウント値をインクリメント、即ち「+1加算」する。
【0080】
【数14】
ただし、カウント値hdr_frame_cntの上限値は例えば32フレームや64フレーム等、任意の値とするが、上限値が大きいほど、ヒストグラム平滑化のON/OFFは緩やかに変化される。
【0081】
このカウント値を、過去フレームから累積された判定値として、ヒストグラム平滑化のON/OFFを重み付けすることで、コンテンツの内容によりヒストグラム平滑化のON/OFFが突然切り替わることなく、ジワジワ切り替えることができる。
【0082】
下記、(式15)は、ヒストグラム平滑化の補正強度が32段階で、32フレームかけて切替える際の例を示す。
【0083】
【数15】
このように補正強度を徐々に変化させるため、コンテンツの内容に応じて、ヒストグラム平滑化のON/OFFが切り替わる際の、視覚的な違和感を軽減できるようになる。
【0084】
なお、この例では、カウント値を±1ずつ変化させる例を示したが、カウント値のカウント範囲(例えば、0〜31、0〜63、所定の範囲)に対して十分に小さい数であれば、所定数(例えば、1〜5)ずつ変化させてもよい。
【0085】
<合成画像の作成>
図9は、合成画像を作成する際の重み付け合成手順を示す模式図を示す。この模式図は後述の
図12の制御フローに示すステップS8に対応している。
【0086】
ステップS801でカウント値が入力される。ここで、カウント値は、重み付け係数の一例であり、上述の(式13)〜(式15)で説明したように、例えば、合計が64であり、一方の重み付け係数hdr_frame_cntが50であるとすると、他のカウント値(重み付け係数)は、14になる。
【0087】
ステップS802では、ヒストグラム平滑化を適用した画像Aに対して、重み付け係数(例えば50)をかける。具体的には、ヒストグラム平滑化画像用の平滑化トーンカーブに重み付け係数をかける。
【0088】
ステップS803では、ヒストグラム平滑化の非適用画像である原画像Bに対して、全体数から重み付け係数を差し引いた数(例えば14)をかける。具体的には、原画像用の非加工トーンカーブ(対角線直線)に重み付け係数をかける。
【0089】
そして、ステップS804で、S802で作成したカウント値を掛けた平滑化画像と、S803で全体値からカウント値を引いた数を掛けた原画像を混合して合成し、全体値(64)で割って、合成画像を作成する。具体的な例として、重み付け係数(50)を掛けた平滑化トーンカーブと、全体数から重み付け係数を差し引いた数(例えば14)を掛けた非加工トーンカーブ(対角線直線)とを足しあわて、64で割って補正用トーンカーブを作成する。
【0090】
そして、ステップS805で作成した画像を出力する。詳しくは、補正用トーンカーブをルックアップテーブルとして(輝度入力画像から、グラフ化すると補正用トーンカーブになる階調変換係数をかけて)、輝度補正画像(信号)を出力する。
【0091】
よって、
図8に示すように、上記のON/OFFが時間的に小まめに切り替わるような映像である場合、
図9に示すように、連続数をカウントするカウント値(hdr_frame_cnt)を重み付け係数として用いて画像の混合比率を徐々に変化させながら、ヒストグラム平滑化の補正のON/OFF(有無)を切り替える。よって、視聴者のヒストグラム平滑化のON/OFF切り替えの違和感を軽減することができる。
【0092】
<累積ヒストグラムの強弱調整(設定レベル調整)>
次に、累積ヒストグラムを用いた輝度補正の範囲について、予め指定する強弱調整の設定方法を示す。この設定は、コンテンツの内容に依らない、輝度補正のヒストグラム平滑化の補正強度の前提となる任意の選択設定であるとする。
【0093】
図10に、オフセットを加えた累積ヒストグラムをルックアップテーブルに用いたトーンカーブの変換例と、画像補正例を示す。
【0094】
出力画像のヒストグラム平滑化の補正強度のレベルを、ユーザーが任意に設定可能にする。
【0095】
コンテンツが有するヒストグラムに均一なオフセットを加算すると、ヒストグラムの集中度合(偏り)が分散されるため、累積ヒストグラムの凹凸が小さくなり、直線に近づく。
【0096】
加算するオフセットの大小により、ユーザーの任意で輝度補正の強弱が制御可能となる。
【0097】
輝度画像補正部3において、ユーザーが設定した補正強度が最も強いレベル以外は、所定量のオフセットをヒストグラムに加算し、補正強度のレベルが弱いほど、ヒストグラムに加算するオフセットを多くする。
【0098】
【表2】
例えば、表2に示すようにレベル分けして、ヒストグラム平滑化の強さ(混合した際の最大強さ)を設定する。
【0099】
具体的には、輝度画像補正部3は、所定量のオフセットをヒストグラムに加算し、オフセットが加算されたヒストグラムから、オフセット累積ヒストグラムを作成し、輝度信号のビット数に正規化したオフセット累積ヒストグラムをルックアップテーブルとして用いて(参照して)、ヒストグラム平滑化を行う。
【0100】
このようにヒストグラムにオフセットを加算する場合でも、
図9に示したように平滑化トーンカーブと非加工トーンカーブとの混合の比率を、判定値(カウント値)に応じて重み付けして、補正用トーンカーブを合成することで、輝度補正画像のヒストグラム平滑化の補正強度を、設定した補正強度のレベル内で、調整できる。
【0101】
<画像処理部の構成>
図11に、
図9に示す制御が実行可能な画像処理装置の機能ブロック図を示す。
【0102】
本発明の実施形態に係る画像処理装置10は、入力画像(RGB)記憶部1、RGB・YCbCr変換部2、輝度画像補正部3、色差画像補正部4、YCbCr・RGB変換部5、出力画像(RGB)記憶部6、記憶色反映部7、及び設定情報取得部8を備える。
【0103】
輝度画像補正部3は、ヒストグラム平滑化に利用される、Y画像記憶部301と、ヒストグラム作成部302と、オフセット量記憶部303と、オフセット加算部304と、ヒストグラム累積部305と、ヒストグラム規格化部306と、平滑化トーンカーブ作成部307と、を備える。
【0104】
また、輝度画像補正部3は、補正画像作成に利用される、ピーク値・所定値比較部308と、過去フレームカウント値記憶部(過去フレーム判定値記憶部)309と、カウント値演算部310と、重み付け合成画像作成部311とを備える。重み付け合成画像作成部311は補正用トーンカーブ合成部312と、合成画像作成部313とを備えている。
【0105】
色差画像補正部4は、CbCr画像記憶部41と、トーンカーブ記憶部42と、彩度強調処理部43とを備える。
【0106】
記憶色反映部7は、記憶色含有判断部71と、肌色記憶部72と、空色記憶部73と、灰色記憶部74と、記憶色割合カウンタ部75とを備える。
【0107】
輝度画像補正部3において、ヒストグラム作成部302で、Y画像記憶部301に記憶されたY画像から、
図5(b)に示すヒストグラム(輝度ヒストグラム)を作成する。
【0108】
設定情報取得部8で設定された補正強度レベルに合わせて、オフセット量を決定し、オフセットを追加する。
【0109】
ヒストグラム累積部305でヒストグラムを累積して、
図5(c)に示す累積ヒストグラムを作成する。
【0110】
ヒストグラム規格化部306は、累積ヒストグラム(
図5(c))をルックアップテーブルとして、ヒストグラムを規格化して、平滑化トーンカーブ作成部307は、補正に用いる平滑化トーンカーブ(
図6(b))を作成する。
【0111】
あるいは、ヒストグラム規格化部306・平滑化トーンカーブ作成部307は、平滑化の補正強度が弱く設定されている場合は、オフセット累積ヒストグラムをアップテーブルとして、オフセット調整累積ヒストグラムをルックアップテーブルとして、オフセット調整平滑化トーンカーブ(
図10(b),
図10(c))を作成する。
【0112】
また、ピーク値・所定値比較部308は、その時点(フレーム)の画像のヒストグラムのピーク値がピーク所定値を超えているかの判定、あるいは、度数が所定値を超える割合(全輝度値(画素値)に対する、所定値以上の度数を有する(集中している、頻度が多い)輝度値の割合)を算出して(
図7(b),(e))、そのヒストグラムに対して平滑化処理を強めるか弱めるかを判定する。即ち、ピーク値・所定値比較部308は、平滑化有無判定部として機能する。
【0113】
カウント値演算部(フレームカウンタ)310は、過去フレームカウント値記憶部309に記憶された直前のカウント値を読み出し、ピーク値・所定値比較部308の判定により、平滑化処理を強める場合はカウント値を増加させ、弱める場合はカウント値を減少させる。カウント値が判定値となるため、カウント値演算部310は判定値演算部として機能する。
【0114】
重み付け合成画像作成部311は、カウント値が示す重み付け係数に応じて、非加工トーンカーブ(対角線直線)と、平滑化トーンカーブ作成部307で作成された平滑化カーブとを混合した補正用トーンカーブを基にして、合成画像を作成する。
【0115】
記憶色の処理を行う記憶色反映部7における処理は、
図13を用いて詳述する。
【0116】
色差画像補正部4において、彩度強調処理部43は、CbCr画像記憶部41に記憶されたCbCr画像(
図4(a))に対して、トーンカーブ記憶部42で記憶された補正用トーンカーブ(S字カーブ)(
図4(b)参照)を適用して、彩度強調画像(
図4(c))を作成する。
【0117】
<制御フロー>
図12は、本発明の画像処理手順を示すフローチャートを示す。
【0118】
ステップS1で、画像処理装置10において、スキャンを開始する。
【0119】
ステップS2で、入力画像としてRGB画素値が入力され、入力画像記憶部1で記憶される。
【0120】
ステップS3で、RGB・YCbCr変換部2は、RGB画像からYCbCr画像へ変換する。ステップS3の後は、輝度画像(原画像)Bと、色差画像に対して別々に並列に処理が実行される。
【0121】
ステップS3で作成された、輝度画像Bは、S4のヒストグラム作成工程、S7のカウント値算出工程及びS8の合成画像作成工程で利用される。
【0122】
ステップS4で、ヒストグラム作成部302は、画素内でヒストグラム作成対象を間引いて、ヒストグラムを作成する。
【0123】
ステップS5で、ヒストグラム累積部305は、ヒストグラム、又はオフセットが加算されたヒストグラムを基にして、累積ヒストグラムを作成する。
【0124】
ステップS6で、平滑化トーンカーブ作成部307は、累積ヒストグラム又はオフセット累積ヒストグラムをルックアップテーブルとして、平滑化トーンカーブBを作成する。
【0125】
ステップS7で、カウント値演算部310は、フレームカウンタのカウント値を算出する。カウンタの詳細は
図13とともに後述する。
【0126】
ステップS8で、重み付け合成画像作成部311は、カウント値を重み付け係数として適用し、トーンカーブを用いて、輝度画像(元画像)、ヒストグラム平滑化画像を重み付けして混合し、合成画像(Y画像)を作成する。
【0127】
また、ステップS4〜S8と平行して、ステップS9で、色差(彩度)に対して、彩度強調画像を作成する。
【0128】
ステップS10で、YCbCr・RGB変換部5において、S8で作成した合成画像である輝度補正画像(Y)と、彩度が強調された色差補正画像(CbCr)を組み合わせ、出力用のRGB画像へ変換する。
【0129】
ステップS11で、出力画像(RGB)記憶部6から出力用のRGB画像(出力画像信号)を出力する。
【0130】
なお、
図12で示した本発明の画像処理は、他の画像処理との併用も可能である。例えばプロジェクタを4K・8K等の高解像化を行う有力な手段として画素ズラシ(ウォブリング)と併用してもよい。
【0131】
例えば2方向の画素ズラシ(ズラシ位置αとβが存在する場合)で4Kの映像を出力する場合、ズラシ位置αとズラシ位置βにそれぞれ本発明の画像処理のアルゴリズムを適用することにより、4Kの映像そのものに適用するよりもメモリ使用量等の節約になる。
【0132】
上記の画像処理の制御に、この画素ズラシと併用すると、高解像化とHDR調(見えやすさ)の双方を実現できる。
【0133】
<カウント方法>
図13に、フレームカウンタにおける演算手順を示す詳細フローチャートを示す。この詳細フローは
図12に示すステップS7に対応している。
【0134】
まず、
図8に示す、ヒストグラム平滑化の補正強度を少しずつ変化させる、重ね付け推移を実現可能な標準フローを説明する。
【0135】
ステップS701で、カウント値演算部310は、過去フレームカウント値記憶部309に記憶された直前のカウント値を呼び出す。
【0136】
ステップS702で、ピーク値・所定値比較部308は、対象のフレームの最も大きいピーク値が、ピーク所定値未満であれば連続的であり、ピーク所定値以上であれば、離散的であるとする。あるいは、度数が所定値を超える割合を算出して閾値よりも大きいかどうか比較する(
図8(b),
図8(e))。なお、ピーク所定値>割合を示す所定値であるとする。
【0137】
S702でピーク値がピーク所定値よりも小さい場合、又は度数がある所定値を超える割合が大きい場合、原画像は連続的なヒストグラムであるとして、ステップS703で、ヒストグラム平滑化を強くするように、フレームカウンタを加算して、ステップS704で前回のカウント値+1を出力する。
【0138】
S702でピーク値がピーク所定値よりも大きい場合、原画像は離散的なヒストグラムであるとして、ステップS705でヒストグラム平滑化を強くするように、フレームカウンタを加算して、ステップS706で前回のカウント値+1を出力する。
【0139】
カウント値の演算が終了すると、重み付け合成画像作成部311による合成工程に進む(
図11、S8)。
【0140】
上記S701〜S706は、
図8に示す補正強度の徐変を実現する通常のカウントであるが、記憶色を考慮して、さらにカウント値の設定を変更してもよい。
【0141】
<記憶色による調整>
肌色や空、緑は記憶色と呼ばれ、特に印象に残りやすい色として知られている。前述のヒストグラム平滑化は、映像の明瞭感を大きく向上させる一方、映像にノイズがある場合、ノイズも強調させることがある。
【0142】
映像によく含まれるノイズには、MPEG(Moving Picture Experts Group)に圧縮する際のブロックノイズやモスキートノイズがある。
【0143】
画像にヒストグラム平滑化を施すと、そのブロックノイズやモスキートノイズも強調させることがあり、特に肌色や空に強調されたノイズが含まれると、映像の印象が損なわれやすい。
【0144】
そこで、ヒストグラム平滑化のON/OFF判定に、記憶色である肌色や空の色、さらには視覚的に感度の高い灰色の含有率を用い、ある一定以上の含有率の場合、上記S702での判定結果に依らず、カウント値を減らし、ヒストグラム平滑化をOFFにするように徐々に移行させることで、肌色や空の不快なノイズ強調を抑制することができる。
【0145】
S707において、記憶色含有判断部71は、フレーム毎の入力画像であるRGB画像から、肌色かどうかを判定するためのRGB画素値を肌色記憶部72に記録する。
【0146】
そして、S708で肌色記憶部72に記録されたRGB画素値を呼び出す。そのRGB画素値から肌色かどうか(肌色に相当するかどうか)を判定し、肌色ではないと判定した場合は(No)、S709の肌色カウンタはインクリメントさせない。
【0147】
肌色であると判定した場合は(S708でYes)、S709へ進み、肌色カウンタをインクリメントさせる。
【0148】
詳しくは、肌色の画素数をカウントする肌色カウント値skin_counterと空の色の画素数をカウントする空色カウント値sky_counter、さらに灰色カウント値gray_counterのカウント値を判定に用いる。
【0149】
例えば、肌色の場合、RGBの画素値(10bit)について、R(赤)の画素値がG(緑)の1.2倍以上かつB(青)の1.4倍以上、さらにはR(赤)の画素値が255(/1023)以上の場合に肌色と見なし、肌色カウント値skin_counterをインクリメントさせる。
【0150】
【数16】
S710において、カウントが閾値以上、即ち、入力画像における肌の色が占める割合が閾値以上であった場合、S702の結果の有無にかかわらず、S705へ進み、フレームカウンタを強制的に減算させる。
【0151】
S711〜S713の空の色に対する判定は、S708〜S710の肌の色に対する判定と同様であって、肌の色に対する判定と並行して実行される。
【0152】
例えば、空の色の場合、RGBの画素値(10bit)について、B(青)の画素値がG(緑)の1.2倍以上かつR(赤)の1.2倍以上、さらにはRの画素値が511(/1023)の場合に空の色と見なし、空の色のカウント値sky_counterをインクリメントさせる。
【0153】
さらに、S714〜S716の灰色に対する判定は、S708〜S710の肌の色に対する判定及びS711〜S713の空の色に対する判定と同様であって、肌の色、及び空の色に対する判定と並行して実行される。
【0154】
例えば、灰色の場合、RGBの画素値(10bit)について、R(赤)の画素値がB(青)の±10、G(緑)の画素値がB(青)の±10、さらにはBの画素値が511(/1023)以上の場合に灰色と見なし、灰色のカウント値gray_counterをインクリメントさせる。
【0155】
【数17】
以上の記憶色のカウント値skin_counter、sky_counter、gray_counterの夫々の累積値が所定値を超えたら、ノイズの強調が生じないよう、ヒストグラム平滑化を減算させる。
【0156】
【数18】
このように制御することにより、画像処理装置において、コンテンツの内容に応じて、例えば、自然画像と2値画像が切り替わる場合であっても、視聴者に違和感を与えずに、動画のフレーム単位でヒストグラム平滑化による補正強度を調整することができる。
【0157】
<第2の制御例>
上記の第1の制御例では、
図7(a)に示すような自然画像のコンテンツと、
図7(d)に示すような2値画像のコンテンツとの切り替え等、極端な変化が起こる場合であって、切り換わった画像が一定期間しばらく維持される場合に特に有効であった。
【0158】
しかし、動画内の変化が早い場合(例えば、大きく異なるシーンに急変するような場合)は、上記のようにフレーム単位のヒストグラムの平滑化の補正強度を徐々に変化させるのでは、急変する前に最適であった補正強度を引きずり、急変した後のシーンではそれが最適でない場合(例えば、画像補正が追い付かない場合)がありうる。
【0159】
また、類似したシーンが連続的に続く場合であっても、ヒストグラム平滑化の補正強度が細かく変動することにより、視覚的に不快なチラツキが生じる場合もありうる。
【0160】
そこで、動画の種類に応じて、輝度補正の制御を下記の第2の制御例のように切り替えてもよい。
【0161】
本制御例においては、ヒストグラム平滑化の補正強度をクリップさせる。即ち、本制御例において、輝度画像補正部は、フレーム毎の輝度画像のコンテンツ内容に基づいて計算されるヒストグラム平滑化の補正強度が所定の範囲内となるように、フレーム毎に調整している。
【0162】
その概要を
図14に示す。
図14において、(a)は、ヒストグラムと平滑化強度の対応式を示し、(b)は、平滑化強度のクリッピングの説明図を示し、(c)は、(b)のクリッピングを適用した暗いシーンでの明るさ調整例を示す。
【0163】
本制御例では、フレーム毎の輝度画像に基づいて演算されるヒストグラムのピーク値から算出される平滑化強度が明方向閾値又は暗方向閾値を上回る場合は、その明方向閾値や暗方向閾値を超えないように、平滑化強度を明方向閾値又は暗方向閾値でクリップする。即ち、暗く偏った又は明るく偏ったフレームから算出された補正強度を、明方向閾値や暗方向閾値に丸めるように補正強度を設定する。なお、本制御例の主体については、下記
図15とともに説明する。
【0164】
ここで、
図14(b)のグラフにおいて、ヒストグラムのピーク値から算出された平滑化強度が明方向閾値を上回る場合、即ち暗く偏ったフレームでは、平滑化強度が明方向補正のリミット値である明方向閾値に収まるように補正する。
【0165】
また、
図14(b)のグラフにおいて、ヒストグラムのピーク値から算出された平滑化強度が暗方向閾値を上回る(
図14(b)において暗方向閾値よりも下にある)場合、即ち明るく偏ったフレームでは、平滑化強度が暗方向補正のリミット値である暗方向閾値に収まるように補正する。
【0166】
この制御により、原画像の明るさや暗さ、即ち、輝度画像信号のヒストグラムにおけるピーク値が過剰に変動していた場合に、明方向閾値や暗方向閾値に合わせて平滑化強度を設定することで補正強度が一定範囲に収まる。そのため、ヒストグラム平滑化の強度の安定性が向上し、ON/OFFの移行が急な場合に対応できつつ、画像の明るさが急に変化する場合に出現するチラツキを軽減でき、視聴者の違和感を軽減させることができる。
【0167】
ここで、
図14(c)に例示している暗いシーンのように、暗い側に偏ったフレームの輝度画像信号のヒストグラムの平滑化処理の補正強度を明方向閾値にクリップすることで、輝度値の上限値及び下限値もクリップすることになり、チラツキの軽減に対して効果的である。
【0168】
なお、本制御例では、フレーム毎のすばやい動作に対応するため上記の制御例1のよう平滑化の補正強度を累積変化させず、
図14(b)で示すように、明方向閾値や暗方向閾値以下の強度になるように平滑化の補正強度を制限して(クリップして)、フレーム毎に設定する。
【0169】
図15に、本発明の第2の制御例に係る、画像処理装置1Aの詳細機能ブロック図を示す。下記において、上述の
図11の画像処理装置1とは異なる点を説明する。
【0170】
図15において、輝度画像補正部3Aは、Y画像記憶部301、ヒストグラム作成部302、ヒストグラム累積部321、ピーク値算出部322、補正強度算出部323、補正強度設定部324、補正強度閾値記憶部325、ヒストグラム規格化部326、平滑化トーンカーブ作成部327、及び輝度補正画像作成部328を有する。
【0171】
ヒストグラム累積部321は、フレーム毎の輝度画像(信号)のヒストグラムを累積する。この累積結果により、輝度画像を明るい方向に補正するか、暗い方向に補正するか判定する。
【0172】
ピーク値算出部322はヒストグラムのピークを検出してピーク値を算出する(演算する)。
【0173】
補正強度算出部323は、演算したヒストグラムのピーク値に基づき、
図14(a)に示す関係式に基づいて、平滑化強度を算出する。
図14(a)は、ヒストグラムと平滑化強度の対応式(関係式)を示す。なお、
図14(a)に示す関係式は、例えば、画像処理装置(回路)10内部に予め実装されているとする。
【0174】
図14(a)の関係式を参照して、ヒストグラムのピーク値が小さいほど、平滑化強度が強くなるように対応づけられている。また、ヒストグラムのピーク値が所定の値を超えると、ヒストグラムの平滑化強度は0になる。
【0175】
例えば、写真やイラスト等の画像は、大体、ヒストグラムのピーク値が低いことが多く、
図14(a)に示すように、相対的に強い平滑化強度が算出される。
【0176】
一方、
図7(d)のようなWordやExcelのようなテキスト画像の場合、ピーク値が高いため、
図14(a)に示すように、平滑化強度は0である、つまり、平滑化を行わない。
【0177】
なお、補正強度算出部323は、ヒストグラム累積部321によって累積ヒストグラムから判定された輝度画像の補正の方向(明るい方向又は暗い方向)の情報も取得して、上記算出した平滑化強度とともに、補正強度設定部324へ出力する。
【0178】
補正強度閾値記憶部325は、
図14(b)で示す補正強度の閾値として、明るい方向に補正する場合の明方向閾値、暗い方向に補正する場合の暗方向閾値を設定する。この閾値は、設定情報取得部8Aによってユーザーによって任意に設定されてもよいし、製造時に予め設定されていてもよい。また、明方向閾値と、暗方向閾値との強度は同じであってもよいし、異なっていてもよい。
【0179】
補正強度設定部324は、補正強度算出部323で算出された補正強度と、補正強度閾値記憶部325に記憶された補正強度の明方向閾値、暗方向閾値とを比較して、明方向閾値、暗方向閾値を超えない範囲内の場合は、算出された補正強度をそのまま補正強度として設定する。
【0180】
一方、補正強度設定部324は、暗いフレーム(一のクレーム)の輝度画像信号に基づいて演算されるピーク値と対応づけられた平滑化強度が明方向閾値を明るい方向に上回る場合は、その平滑化強度を明方向閾値に合わせて設定する。
【0181】
また、補正強度設定部324は、明るいフレーム(他のクレーム)の輝度画像信号に基づいて演算されるピーク値と対応づけられた平滑化強度が暗方向閾値を暗い方向に上回る場合は、その平滑化強度を暗方向閾値に合わせて設定する。
【0182】
そして、ヒストグラム規格化部326は、輝度画像信号のビット数に正規化した累積ヒストグラムを作成する。
【0183】
平滑化トーンカーブ作成部327は、正規化した累積ヒストグラムをルックアップテーブルとして用いて(参照して)、補正強度設定部324で設定された平滑化強度で、ヒストグラム平滑化のための平滑化トーンカーブを作成する。
【0184】
輝度補正画像作成部328は、平滑化トーンカーブを用いて、輝度画像にヒストグラム平滑化処理を行い、輝度補正画像を作成する。
【0185】
そして、
図11と同様に、YCbCr・RGB変換部5において、作成した合成画像である輝度補正画像(Y)と、彩度が強調された色差補正画像(CbCr)を組み合わせ、出力用のRGB画像へ変換する。
【0186】
その後、出力画像(RGB)記憶部6から出力用のRGB画像を出力する。
【0187】
このように制御することにより、画像処理装置において、例えば、自然画像を含んで動画内の変化が早い場合であっても、視聴者に違和感を与えずに、画面のチラツキを防いで、動画のフレーム単位でヒストグラム平滑化による補正強度を調整することができる。
【0188】
なお、第1の制御例と、第2の制御例とを別々に説明したが、上記の2つの制御例は、択一的に選択してもよいし、組み合わせて実行させることも可能である。
【0189】
詳しくは、輝度画像補正部は、投影する動画のコンテンツの種類に応じて、
(1)作成する輝度補正画像におけるヒストグラム平滑化の補正強度に対応付けられた判定値を動画信号の連続するフレーム間で徐々に変化させ、判定値に応じて、ヒストグラム平滑化の補正強度をフレーム毎に調整する輝度補正と、
(2)作成するフレーム毎の前記輝度画像信号の、ヒストグラム平滑化の補正強度を、ヒストグラムのピーク値に基づいて算出し、クリッピングする輝度補正とを、
選択可能である、又は組み合わせることができる。
【0190】
例えば、
図13で説明したように、ヒストグラム平滑化の補正強度を減算させる記憶色割合カウンタ部75の肌色カウント値(skin_counter)、空色カウント値(sky_counter)、灰色カウント値(gray_counter)の各カウント値の上限に閾値を設定する。そして、カウンタ値が上限を超えたら閾値にクリッピングすることによっても、ヒストグラム平滑化の補正強度の安定化に繋がり、画面のチラツキを防ぐことができる。
【0191】
以上説明したような本発明の実施形態に係る画像処理制御は、映像デバイス全般に効果があるが、特に、FPGA(Field-programmable gate array:論理回路が現場でプログラミング可能なアレイ状にした集積回路)やASIC(application specific integrated circuit:特定用途向け集積回路)といったハードウェアの実装や変更に制約がある、画像投影装置の一例であるDLPプロジェクタに適用すると好適である。
【0192】
<カラーホイールへの適用>
図16に、DLPプロジェクタのカラーホイールを示す。
図16において、(a)は、RGB各色の扇型の色分離フィルタが円盤上に順次配置されている構成例、(b)は、RGB各色+C(シアン)、Y(イエロー)、W(ホワイト)の色分離フィルタが順次配置されている構成例を示す。
【0193】
後述する
図17に示すようなDLPプロジェクタは
図16(a)に示すような、原色を分割配置したカラーホイールを高速に回転させた時分割混色によって表示する。よって、一般的なディスプレイや液晶プロジェクタと比べると、原色の利用効率が下がり、素の状態で投影すると色がくすみやすい。よって、本発明の上述の画像処理制御を実施すると好ましい。
【0194】
また、
図16(b)に示すカラーホイールは、シアンやイエローの色分離フィルタを設けているため、構造により、
図16(a)よりは、黄色や水色系統の色再現領域を再現しやすい。
【0195】
よって上述の
図4、表1に示すような色差画像の彩度強調の設定で、
図16(a)に示すフィルタ色のカラーホイールを用いる場合は彩度強調を強くし、
図16(b)に示すようなフィルタ色のカラーホイールを用いる場合は、彩度強調を弱くすると好ましい。
【0196】
<DLPプロジェクタへの適用>
図17は、本発明の画像処理方法が適用可能なDLPプロジェクタ(画像投影装置)の構成例の一例を示すブロック図である。
【0197】
例えば、
図17に示すように、プロジェクタ20は、入力I/F201と、操作パネル213と、DLPコントローラ210と、ROM215と、RAM216と、スピーカ221と、発光装置231とカラーホイール233と、DMD(Digital Mirror Device)235とを、備える。
【0198】
なお、DLPコントローラ210は、制御部の一例であり、発光装置231、カラーホイール233、及びDMD235は、投影部の一例である。
【0199】
入力I/F201は、LANコントローラ202、AFE(Analog Front End)203、HDMI(登録商標)204、及びUSB205などの入力インタフェースを有する。
【0200】
操作パネル213及びプロジェクタ20と通信可能なリモコン214は、ユーザーからの各種操作入力をDLPコントローラ210に通知する。
【0201】
通信部223は、PCや電子ペンなどの外部装置と無線通信するものであり、無線通信装置により実現できる。
【0202】
DLPコントローラ210は、ROM215に記憶されたプログラムを実行し、RAM216をワーク領域に用いて、プロジェクタ20の各部を制御する。
【0203】
DLPコントローラ210は、入力I/F201から入力された投影画像に階調変換処理、スケーリング、及び台形補正などの各種画像処理を施し、画像処理後の部分投影画像をDMD235に表示する。またDLPコントローラ210は、発光装置231に対する発光制御、カラーホイール233に対する回転制御、DMD235に対する表示制御、及びスピーカ221に対する音声出力制御などを連動して行う。
【0204】
発光装置231は、例えば、ランプ及びバラスト、又はLED(Light Emitting Diode)光源などが挙げられる。
【0205】
そして、DLPコントローラ210がカラーホイール233を回転させることにより、カラーホイール233は、発光装置231からの光源光を時分割でRGB各色に分離し、RGBそれぞれの単色光をDMD235の表示領域全面に入射させる。
【0206】
図18にDLPコントローラの例を示す。
【0207】
上述の画像処理方法を実行可能な機能構成が含まれる、FPGAやASICを簡便に実装できる。
【0208】
よって、
図18に示すように、DLPコントローラ内部であってCPUの前段に、FPGAやASIC後付けすることで、階調変換処理によりコンテンツに応じた画像処理によるHDR化による画質向上する効果をもたらす。
【0209】
このように、HDR調の効果が大きく、視聴者に違和感を与えずに、コンテンツの内容に応じて、動画のフレーム単位でヒストグラム平滑化による補正強度を切り替えることができる、画像処理装置を比較的安価なFPGA等によってハードウェア実装が可能になる。
【0210】
図17、
図18では、本発明の画像処理をDLPプロジェクタへの実装する例について説明したが、本発明の画像処理の適用はDLPプロジェクタに限られない。例えば、動画を再生するビデオプロジェクタ、映写機、液晶パネルが搭載されるビデオ、車載カメラ、ビデオ、テレビ、パソコン、タブレット、スマートフォン、携帯電話等に適用可能である
また、上述の実施形態では、輝度色差信号として、YCbCrを用いた例を説明したがそれと同様な輝度色差信号であるYUV((Y)Lumina, U Axis blue component, V axis red component)等でもYCbCrと同様に好適に変換できる。
【0211】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の実施形態の要旨の範囲内において、種々の変形、変更が可能である。