(57)【特許請求の範囲】
【請求項１】
映像フレームに含まれる複数の画素を複数のブロックに分割し、前記複数のブロックそれぞれに含まれる複数の画素の輝度値を用いて、前記複数のブロックに対応する複数のブロック特徴量を算出するブロック特徴量算出手段と、
前記複数のブロック特徴量を用いて、前記複数のブロックに対応する複数の局所コントラスト補正カーブを生成する局所コントラスト補正カーブ生成手段と、
前記映像フレームに含まれる複数の画素の輝度値を用いて、前記映像フレームに対応するフレーム特徴量を算出するフレーム特徴量算出手段と、
前記フレーム特徴量を用いて、前記映像フレームに対応する大域コントラスト補正カーブを生成する大域コントラスト補正カーブ生成手段と、
前記生成された複数の局所コントラスト補正カーブの内の第１局所コントラスト補正カーブと、前記大域コントラスト補正カーブとをブレンディングし、当該ブレンディングされたコントラスト補正カーブを用いて、前記第１局所コントラスト補正カーブに対応するブロックに含まれる複数の画素の輝度値を補正するコントラスト補正手段とを具備する電子機器。
【請求項２】
前記特徴量算出手段は、ブロック毎に、前記複数のブロックそれぞれに含まれる複数の画素の輝度値の内の最大値と最小値とを検出し、前記最大値と前記最小値との差分を算出し、
前記局所コントラスト補正カーブ生成手段は、前記複数のブロックの内の第１ブロックに対応する前記差分を用いて、前記第１ブロックに対応する前記局所コントラスト補正カーブを生成する請求項１記載の電子機器。
【請求項３】
前記局所コントラスト補正カーブ生成手段は、前記第１ブロックに対応する前記差分がしきい値未満である場合、前記第１ブロックに含まれる複数の画素の輝度値を変更しない前記局所コントラスト補正カーブを生成する請求項２記載の電子機器。
【請求項４】
前記局所コントラスト補正カーブ生成手段は、前記第１ブロックに対応する前記差分がしきい値以上である場合、前記差分の大きさに比例してコントラスト補正の効果が強められる前記局所コントラスト補正カーブを生成する請求項２記載の電子機器。
【請求項５】
前記特徴量算出手段は、前記第１ブロックに対応する前記差分と、前記第１ブロックの近傍の第２ブロック群に対応する前記差分とを用いて、前記第２ブロック群に対応する前記差分それぞれと前記第１ブロックに対応する前記差分との差の絶対値の総和を算出し、
前記局所コントラスト補正カーブ生成手段は、前記総和を用いて、前記第１ブロックに対応する前記局所コントラスト補正カーブを生成する請求項２記載の電子機器。
【請求項６】
前記特徴量算出手段は、ブロック毎に、前記複数のブロックそれぞれに含まれる複数の画素の輝度値の平均値を算出し、前記複数のブロックそれぞれに含まれる複数の画素の輝度値の内の最大値と最小値とを検出し、前記最大値と前記最小値との差分を算出し、
前記局所コントラスト補正カーブ生成手段は、前記複数のブロックの内の第１ブロックに対応する前記平均値と前記差分とを用いて、前記第１ブロックに対応する前記局所コントラスト補正カーブを生成する請求項１記載の電子機器。
【請求項７】
前記コントラスト補正手段は、前記複数のブロックの内の第１ブロックに含まれる第１画素の輝度値を補正する場合、前記第１ブロックに対応する前記局所コントラスト補正カーブと、前記第１ブロックの近傍の第２ブロック群に対応する前記局所コントラスト補正カーブとを用いて、前記第１画素の輝度値を補正する請求項１記載の電子機器。
【請求項８】
前記補正された映像フレームを画面に表示する表示制御手段をさらに具備する請求項１記載の電子機器。
【請求項９】
映像フレームに含まれる複数の画素を複数のブロックに分割し、前記複数のブロックそれぞれに含まれる複数の画素の輝度値を用いて、前記複数のブロックに対応する複数のブロック特徴量を算出し、
前記複数のブロック特徴量を用いて、前記複数のブロックに対応する複数の局所コントラスト補正カーブを生成し、
前記映像フレームに含まれる複数の画素の輝度値を用いて、前記映像フレームに対応するフレーム特徴量を算出し、
前記フレーム特徴量を用いて、前記映像フレームに対応する大域コントラスト補正カーブを生成し、
前記生成された複数の局所コントラスト補正カーブの内の第１局所コントラスト補正カーブと、前記大域コントラスト補正カーブとをブレンディングし、当該ブレンディングされたコントラスト補正カーブを用いて、前記第１局所コントラスト補正カーブに対応するブロックに含まれる複数の画素の輝度値を補正する映像処理方法。
【請求項１０】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータに、
映像フレームに含まれる複数の画素を複数のブロックに分割し、前記複数のブロックそれぞれに含まれる複数の画素の輝度値を用いて、前記複数のブロックに対応する複数のブロック特徴量を算出する手順と、
前記複数のブロック特徴量を用いて、前記複数のブロックに対応する複数の局所コントラスト補正カーブを生成する手順と、
前記映像フレームに含まれる複数の画素の輝度値を用いて、前記映像フレームに対応するフレーム特徴量を算出する手順と、
前記フレーム特徴量を用いて、前記映像フレームに対応する大域コントラスト補正カーブを生成する手順と、
前記生成された複数の局所コントラスト補正カーブの内の第１局所コントラスト補正カーブと、前記大域コントラスト補正カーブとをブレンディングし、当該ブレンディングされたコントラスト補正カーブを用いて、前記第１局所コントラスト補正カーブに対応するブロックに含まれる複数の画素の輝度値を補正する手順とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、映像のコントラストを補正する電子機器及び映像処理方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ、ＰＤＡ、携帯電話、スマートフォンのような様々な電子機器が普及している。このような電子機器は、例えば映像を再生する機能を有している。
【０００３】
再生される映像には、鮮鋭化処理や階調補正処理等の画質を改善するための処理が施されることがある。例えば、階調補正処理では、映像の輝度信号に基づく輝度ヒストグラムに応じて、映像のコントラストが補正される。補正により映像のコントラストが強められることにより、ユーザは、鮮明で臨場感のある映像を観賞することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２００３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、輝度ヒストグラムに基づく階調補正処理では、映像の画質が劣化することがある。例えば、映像フレーム内の、輝度値が滑らかに変化する平坦領域では、コントラストが強められることによって、等高線のような疑似輪郭が発生することがある。輝度値が滑らかに変化する平坦領域が疑似輪郭を含む領域に変換された場合、他の領域が鮮明な映像に変換されていたとしても、ユーザは表示される映像に違和感を覚える可能性がある。
【０００６】
本発明は、映像のコントラストを補正することによって発生する画質の劣化を抑制できる電子機器及び映像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態によれば、電子機器は、ブロック特徴量算出手段、局所コントラスト補正カーブ生成手段、フレーム特徴量算出手段、大域コントラスト補正カーブ生成手段、及びコントラスト補正手段を具備する。ブロック特徴量算出手段は、映像フレームに含まれる複数の画素を複数のブロックに分割し、前記複数のブロックそれぞれに含まれる複数の画素の輝度値を用いて、前記複数のブロックに対応する複数のブロック特徴量を算出する。局所コントラスト補正カーブ生成手段は、前記複数の特徴量を用いて、前記複数のブロックに対応する複数の局所コントラスト補正カーブを生成する。フレーム特徴量算出手段は、前記映像フレームに含まれる複数の画素の輝度値を用いて、前記映像フレームに対応するフレーム特徴量を算出する。大域コントラスト補正カーブ生成手段は、前記フレーム特徴量を用いて、前記映像フレームに対応する大域コントラスト補正カーブを生成する。コントラスト補正手段は、前記生成された複数の局所コントラスト補正カーブの内の第１局所コントラスト補正カーブと、前記大域コントラスト補正カーブとをブレンディングし、当該ブレンディングされたコントラスト補正カーブを用いて、前記第１局所コントラスト補正カーブに対応するブロックに含まれる複数の画素の輝度値を補正する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る電子機器の外観を示す斜視図。
【図２】同実施形態の電子機器のシステム構成を示すブロック図。
【図３】同実施形態の電子機器によって実行される映像処理プログラムの機能構成の例を説明する図。
【図４】同実施形態の電子機器によって生成される大域コントラスト補正カーブの例を示す図。
【図５】図４の大域コントラスト補正カーブを生成するために用いられる画素頻度関数の例を示す図。
【図６】図４の大域コントラスト補正カーブを生成するために用いられる画素頻度関数の別の例を示す図。
【図７】同実施形態の電子機器によって算出される画素ブロックの特徴量を説明するための図。
【図８】同実施形態の電子機器によって生成される局所コントラスト補正カーブに用いられる振幅の例を示す図。
【図９】同実施形態の電子機器によって生成される局所コントラスト補正カーブの例を示す図。
【図１０】同実施形態の電子機器による映像のコントラストの補正を説明するための図。
【図１１】同実施形態の電子機器によって実行されるコントラスト補正処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。
【００１０】
図１は、実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えばノートブックタイプのパーソナルコンピュータ１０として実現されている。図１に示すように、本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（liquid crystal display）１７が組み込まれている。ディスプレイユニット１２は、コンピュータ本体１１の上面が露出される開放位置とコンピュータ本体１１の上面を覆う閉塞位置との間を回動自在にコンピュータ本体１１に取り付けられている。
【００１１】
コンピュータ本体１１は、薄い箱形の筐体を有しており、その上面には、キーボード１３、本コンピュータ１０を電源オン／電源オフするためのパワーボタン１４、入力操作パネル１５、タッチパッド１６、スピーカ１８Ａ，１８Ｂなどが配置されている。入力操作パネル１５上には、各種操作ボタンが設けられている。
【００１２】
また、コンピュータ本体１１の右側面には、例えばＵＳＢ（universal serial bus）２．０規格のＵＳＢケーブルやＵＳＢデバイスを接続するためのＵＳＢコネクタ１９が設けられている。
【００１３】
図２は、本コンピュータ１０のシステム構成を示す図である。  
本コンピュータ１０は、図２に示されているように、ＣＰＵ（central processing unit）１０１、ノースブリッジ１０２、主メモリ１０３、サウスブリッジ１０４、ＧＰＵ（Graphics Processing Unit）１０５、ＶＲＡＭ（ビデオＲＡＭ:random access memory）１０５Ａ、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ（basic input/output system-read only memory）１０７、ＬＡＮ（local area network）コントローラ１０８、ハードディスクドライブ（ＨＤＤ）１０９、光ディスクドライブ（ＯＤＤ）１１０、ＵＳＢコントローラ１１１Ａ、カードコントローラ１１１Ｂ、無線ＬＡＮコントローラ１１２、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）１１３、ＥＥＰＲＯＭ（electrically erasable programmable ROM）１１４等を備える。
【００１４】
ＣＰＵ１０１は、本コンピュータ１０内の各部の動作を制御するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０９から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）２０１、及び映像処理プログラム２０２のような各種アプリケーションプログラムを実行する。映像処理プログラム２０２は、例えばＨＤＤ１０９等に格納された各種デジタルコンテンツデータ（例えば、映像データ）を再生するソフトウェアである。映像処理プログラム２０２は、再生される映像の画質（例えば、コントラスト）を補正する画質補正機能を有する。映像処理プログラム２０２は、例えば、映像データを再生し、画質が補正された映像を画面（ＬＣＤ１７）に表示する。
【００１５】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１６】
ノースブリッジ１０２は、ＣＰＵ１０１のローカルバスとサウスブリッジ１０４との間を接続するブリッジデバイスである。ノースブリッジ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１０２は、例えば、PCI EXPRESS規格のシリアルバスなどを介してＧＰＵ１０５との通信を実行する機能も有している。
【００１７】
ＧＰＵ１０５は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このＧＰＵ１０５によって生成される表示信号はＬＣＤ１７に送られる。
【００１８】
サウスブリッジ１０４は、ＰＣＩ（Peripheral Component Interconnect）バス上の各デバイス及びＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１０４は、ＨＤＤ１０９及びＯＤＤ１１０を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。
【００１９】
サウンドコントローラ１０６は音源デバイスであり、再生対象のオーディオデータをスピーカ１８Ａ，１８Ｂに出力する。ＬＡＮコントローラ１０８は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線ＬＡＮコントローラ１１２は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。ＵＳＢコントローラ１１１Ａは、（ＵＳＢコネクタ１９を介して接続される）例えばUSB 2.0規格に対応した外部機器との通信を実行する。カードコントローラ１１１Ｂは、コンピュータ本体１１に設けられたカードスロットに挿入されるメモリカードに対するデータの書き込み及び読み出しを実行する。
【００２０】
ＥＣ／ＫＢＣ１１３は、電力管理のためのエンベデッドコントローラと、キーボード１３及びタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ１１３は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０を電源オン／電源オフする機能を有している。
【００２１】
次いで、図３を参照して、映像処理プログラム２０２の一機能構成を説明する。映像処理プログラム２０２は、上述のように、再生される映像の画質を補正する機能を有する。映像処理プログラム２０２は、例えば、映像の特徴に応じたコントラスト補正カーブを用いて、映像のコントラストを補正する。コントラスト補正カーブは、入力輝度値と出力輝度値との対応を示す関数である。より具体的には、映像処理プログラム２０２は、処理対象のフレームの特徴を考慮した大域コントラスト補正カーブ（フレームコントラスト補正カーブとも称する）と、処理対象のフレームに含まれる複数のブロックそれぞれの特徴を考慮した局所コントラスト補正カーブ（ブロックコントラスト補正カーブとも称する）とを用いて、処理対象のフレームに含まれる画素のコントラストを補正する。
【００２２】
映像処理プログラム２０２は、映像リード部３１、フレーム特徴量算出部３２、ヒストグラム算出部３３、大域コントラスト補正カーブ生成部３４、ブロック特徴量算出部３５、局所コントラスト補正カーブ生成部３６、補正カーブブレンディング部３７、コントラスト補正部３８、及び表示制御部３９を備える。
【００２３】
映像リード部３１は、ＨＤＤ１０９等に格納された映像データ１０９Ｂを読み出し、映像データに含まれる複数の映像フレームの内の、先頭の映像フレームを処理対象の映像フレームに設定する。映像データに含まれる複数の映像フレームは、先頭のフレームから順次、処理対象の映像フレームに設定される。なお、映像リード部３１は、ＨＤＤ１０９に限らず、ＤＶＤ等の記憶メディアに格納された映像データを読み出してもよい。また、映像リード部３１は、ネットワークを介して、他のコンピュータ（サーバー）から映像データを受信してもよい。映像リード部３１は、処理対象の映像フレームを、フレーム特徴量算出部３２、ヒストグラム算出部３３及びブロック特徴量算出部３５に出力する。
【００２４】
フレーム特徴量算出部３２は、映像リード部３１によって出力された処理対象の映像フレームに含まれる画素の輝度値ｘｉに基づいて、次式のように、処理対象の映像フレームに含まれる画素の平均輝度値（フレーム平均輝度値）ＡＰＬＦを算出する。  
【数１】
0005269964.tif 000002
【００２５】
なお、Ｎは処理対象のフレームに含まれる画素の数を示す。フレーム特徴量算出部３２は、算出されたフレーム平均輝度値ＡＰＬＦを大域コントラスト補正カーブ生成部３４に出力する。
【００２６】
また、ヒストグラム算出部３３は、映像リード部３１によって出力された処理対象の映像フレームに含まれる画素の輝度値を用いて、処理対象の映像フレームに含まれる画素の輝度ヒストグラムを算出する。輝度ヒストグラムは、処理対象の映像フレームの輝度レベル毎の画素数を示す。ヒストグラム算出部３３は、算出された輝度ヒストグラムを大域コントラスト補正カーブ生成部３４に出力する。
【００２７】
大域コントラスト補正カーブ生成部３４は、フレーム特徴量算出部３２によって出力されたフレーム平均輝度値ＡＰＬＦ、ヒストグラム算出部３３によって出力された輝度ヒストグラム、及びＨＤＤ１０９に格納されたパラメータ１０９Ａを用いて、処理対象のフレームに対応する大域コントラスト補正カーブを生成する。より具体的には、大域コントラスト補正カーブ生成部３４は、フレーム平均輝度値ＡＰＬＦをと、パラメータ１０９Ａによって規定された第１補正カーブの変曲点に設定する。この第１補正カーブは、例えば、低い輝度値の画素のコントラストを弱め、高い輝度値の画素のコントラストを強めるためのＳ字型のカーブである。また、大域コントラスト補正カーブ生成部３４は、輝度ヒストグラムに基づいて画素頻度関数を算出する。そして、大域コントラスト補正カーブ生成部３４は、フレーム平均輝度値ＡＰＬＦが変曲点に設定された第１補正カーブと画素頻度関数とを所定の割合でブレンディング（アルファブレンディング）することによって、大域コントラスト補正カーブを生成する。大域コントラスト補正カーブ生成部３４は、生成された大域コントラスト補正カーブを補正カーブブレンディング部３７に出力する。
【００２８】
図４は、大域コントラスト補正カーブの例を示す。
【００２９】
大域コントラスト補正カーブ生成部３４は、例えば、次式のように、フレームの平均輝度値ＡＰＬＦが変曲点５６に設定された第１補正カーブ５３と画素頻度関数５２とを所定の割合（ここでは、ブレンディングパラメータλ）でブレンディングすることによって、大域コントラスト補正カーブ５４を算出する。
【００３０】
大域コントラスト補正カーブ＝λ×画素頻度関数＋（１−λ）×第１補正カーブ  
ブレンディングパラメータλは、例えば、０．５であり、ＨＤＤ１０９に格納されたパラメータ１０９Ａに含まれる。なお、大域コントラスト補正カーブ生成部３４は、大域コントラスト補正カーブ５４を、コントラスト補正の効果がないように設定する場合には、入力輝度値＝出力輝度値である線形関数５５を算出する。
【００３１】
また、大域コントラスト補正カーブ生成部３４は、上述のように、輝度ヒストグラム５１に基づいて画素頻度関数５２を生成する。図５及び図６は、大域コントラスト補正カーブを生成するために用いられる画素頻度関数５２の例を示す。画素頻度関数５２は、入力階調値（入力輝度値とも称する）と出力階調値（出力輝度値とも称する）との対応を示す関数である。入力階調値と出力階調値とは、例えば、０から２５５までの値を取り得る。
【００３２】
図５に示す例では、入力階調値の範囲が、二つの範囲（例えば、０から１２７までの第１範囲と１２８から２５５までの第２範囲）に分割され、それら二つの範囲それぞれに対応する累積頻度が算出されている。つまり、大域コントラスト補正カーブ生成部３４は、処理対象のフレーム内で、０から１２７までの階調値を有する画素の数（第１累積頻度とも称する）と、１２８から２５５までの階調値を有する画素の数（第２累積頻度とも称する）とを算出する。そして、大域コントラスト補正カーブ生成部３４は、算出された第１累積頻度と第２累積頻度とに応じて、二つの範囲それぞれに割り当てる出力階調値の範囲を決定する。大域コントラスト補正カーブ生成部３４は、例えば、次式によって、二つの範囲それぞれに割り当てる出力階調値の境界値を算出する。  
境界値＝第１累積頻度／（第１累積頻度＋第２累積頻度）×２５５  
すなわち、大域コントラスト補正カーブ生成部３４は、第１累積頻度と第２累積頻度との比に応じて、累積頻度が小さい入力階調値の範囲には狭い出力階調値の範囲を割り当て、累積頻度が大きい入力階調値の範囲には広い出力階調値の範囲を割り当てる。具体的には、大域コントラスト補正カーブ生成部３４は、第１範囲に対して、０から境界値までの出力階調値の範囲を割り当て、第２範囲に対して、境界値から２５５までの出力階調値の範囲を割り当てる折れ線状の画素頻度関数５２を算出する。これにより、画素数が多い入力階調値の範囲が、広い出力階調値の範囲に割り当てられるように画素頻度関数５２が算出されるので、画素数が多い入力階調値の範囲に属する画素に施されるコントラスト補正の効果を強めることができる。
【００３３】
図６に示す例では、図５に示した例の入力階調値の範囲をさらに分割し、同様にして、４つに分割された入力階調値の範囲それぞれに割り当てる出力階調値の範囲が決定されている。大域コントラスト補正カーブ生成部３４は、４つに分割された入力階調値の範囲それぞれの累積頻度を算出し、算出された累積頻度を用いて、出力階調値の範囲の境界値を算出する。これにより、大域コントラスト補正カーブ生成部３４は、４つに分割された入力階調値の範囲の累積頻度に対応する画素頻度関数５２を算出することができる。  
図５及び図６に示す例のように、入力階調値の範囲が細かく分割されるほど、輝度ヒストグラムにおける画素数の変化に合った画素頻度関数５２を算出できる。
【００３４】
以上により、大域コントラスト補正カーブ生成部３４は、この画素頻度関数５２と、フレームの平均輝度値ＡＰＬＦに基づいて調整された第１補正カーブ５３とをブレンディングすることによって、処理対象のフレームの特徴量に応じた大域コントラスト補正カーブ５４を生成することができる。大域コントラスト補正カーブ５４を用いることにより、処理対象のフレームに応じたコントラストの補正を、当該フレームに含まれる画素に施すことができる。しかし、大域コントラスト補正カーブ５４によるコントラストの補正では、画質の劣化が生じることがある。例えば、輝度値が滑らかに変化する領域（映像フレーム内の小領域）に対して、コントラストを強める補正を施した場合、その輝度値の変化が等高線のように描画され、疑似輪郭が発生する可能性がある。すなわち、ある領域におけるごく小さな輝度値の変化が、コントラスト補正によって大きな輝度値の変化に変換され、滑らかな輝度値の変化を含む領域の画質が劣化する可能性がある。また、例えば、輝度値がほとんど変化しない平坦な領域に含まれるノイズが、より強調されてしまう可能性がある。そのため本実施形態では、以下のように、ブロック特徴量算出部３５と局所コントラスト補正カーブ生成部３６とによって、処理対象のフレームを分割した複数のブロックそれぞれの特徴量に応じた局所コントラスト補正カーブを生成する。
【００３５】
ブロック特徴量算出部３５は、映像リード部３１によって出力された処理対象のフレームを、所定のサイズ（例えば、１６画素×１６画素）のブロックに分割する。そして、ブロック特徴量算出部３５は、先頭のブロック（例えば、処理対象のフレーム内の左上端に位置するブロック）を処理対象のブロックに設定する。ブロック特徴量算出部３５は、処理対象のフレームに含まれるブロックを、例えば、フレーム内の左上端に位置するブロックからフレーム内の右下端に位置するブロックまで、順番に処理対象のブロックに設定する。
【００３６】
ブロック特徴量算出部３５は、処理対象のブロックに含まれる画素の輝度値の内の、最大輝度値と最小輝度値とを検出し、それら最大輝度値と最小輝度値との差分ＶＡＲを算出する。この差分ＶＡＲは、処理対象のブロックの輝度値の平坦度に関連する。つまり、差分ＶＡＲは、処理対象のブロック内の輝度値の変化が小さい場合（すなわち、平坦度が高い場合）に小さくなり、処理対象のブロック内の輝度値の変化が大きい場合（すなわち、平坦度が低い場合）に大きくなる。また、ブロック特徴量算出部３５は、次式のように、処理対象のブロックに含まれる画素ｘｊの平均輝度値（ブロック平均輝度値）ＡＰＬＢを算出する。  
【数２】
0005269964.tif 000003
【００３７】
なお、Ｍは、処理対象のブロックに含まれる画素の数を示す。ブロック特徴量算出部３５は、算出された差分ＶＡＲとブロック平均輝度値ＡＰＬＢとを局所コントラスト補正カーブ生成部３６に出力する。
【００３８】
なお、ブロック特徴量算出部３５は、処理対象のブロックと当該処理対象のブロックの近傍のブロックとを用いて、処理対象のブロックの特徴量を算出してもよい。  
図７は、処理対象のブロック４２（数字“４”で示されるブロック）と、当該処理対象のブロックの近傍のブロック群４３（数字“０”から“３”と“５”から“８”で示されるブロック）との例を示す。図７に示す例では、処理対象のブロック４２と近傍のブロック群４３のそれぞれに対応する差分ＶＡＲとブロック平均輝度値ＡＰＬＢとが算出済みであることを想定する。特徴量マップ４１には、処理対象のフレーム内の複数のブロックに対応する複数の特徴量（例えば、差分ＶＡＲ、ブロック平均輝度値ＡＰＬＢ等）が示されている。
【００３９】
ブロック特徴量算出部３５は、処理対象のブロック４２に対応する特徴量として、例えば、次式のように、処理対象のブロック４２と近傍のブロック群４３それぞれに対応する差分ＶＡＲｋを用いて、差分ＶＡＲの差分絶対値和ＶＡＲＤを算出する。すなわち、ブロック特徴量算出部３５は、処理対象のブロック４２に対応する差分ＶＡＲ４と、近傍のブロック群４３それぞれに対応する差分ＶＡＲｋ（ｋ＝０〜３，５〜８）との差の絶対値の総和を算出する。なお、ｋは、図７に示したブロックの位置を表す数字に対応する。  
【数３】
0005269964.tif 000004
【００４０】
また、ブロック特徴量算出部３５は、処理対象のブロック４２に対応する特徴量として、次式のように、処理対象のブロック４２の近傍のブロック群４３それぞれに対応するブロック平均輝度値ＡＰＬＢｋを用いて、ブロック平均輝度値ＡＰＬＢの差分絶対値和ＡＰＬＤを算出してもよい。すなわち、ブロック特徴量算出部３５は、処理対象のブロック４２に対応するブロック平均輝度値ＡＰＬＢ４と、近傍のブロック群４３それぞれに対応するブロック平均輝度値ＡＰＬＢｋ（ｋ＝０〜３，５〜８）との差の絶対値の総和を算出する。  
【数４】
0005269964.tif 000005
【００４１】
ブロック特徴量算出部３５は、算出された差分ＶＡＲの差分絶対値和ＶＡＲＤと、ブロック平均輝度値ＡＰＬＢの差分絶対値和ＡＰＬＤとを局所コントラスト補正カーブ生成部３６に出力する。
【００４２】
局所コントラスト補正カーブ生成部３６は、ブロック特徴量算出部３５によって出力された差分ＶＡＲ及びブロック平均輝度値ＡＰＬＢ（又は差分ＶＡＲの差分絶対値和ＶＡＲＤ及びブロック平均輝度値ＡＰＬＢの差分絶対値和ＡＰＬＤ）と、ＨＤＤ１０９に格納されたパラメータ１０９Ａとを用いて、処理対象のブロックに対応する局所コントラスト補正カーブを生成する。
【００４３】
具体的には、局所コントラスト補正カーブ生成部３６は、例えば、差分ＶＡＲに基づいて、パラメータ１０９Ａによって規定された第２補正カーブに設定する振幅を算出する。この第２補正カーブは、例えば、低い輝度値の画素のコントラストを弱め、高い輝度値の画素のコントラストを強めるためのＳ字型のカーブである。また、振幅には、例えば、差分ＶＡＲが第１しきい値未満である場合には小さな値（例えば、０）が設定され、差分ＶＡＲが第１しきい値以上である場合には、差分ＶＡＲの増加に比例して増加する値が設定される。
【００４４】
図８は、差分ＶＡＲと振幅との関係の例を示す。図８に示す例では、差分ＶＡＲが、ブロックのサイズ（すなわち、ブロックに含まれる画素の数）に所定の値αを加えた第１しきい値未満である場合、振幅は０に設定される。そして、差分ＶＡＲが第１しきい値以上である場合、振幅には、差分ＶＡＲの増加に比例して増加する値が設定される。つまり、ブロックに対応する差分ＶＡＲが小さい場合には、当該ブロックが輝度値の変化が小さい平坦領域であると推定されるので、コントラスト補正の効果が小さくなるように振幅が設定される。一方、ブロックに対応する差分ＶＡＲが大きい場合には、当該ブロックが平坦領域でないと推定されるので、コントラスト補正の効果が大きくなるように振幅が設定される。また、所定の値αは、例えば、映像に含まれるノイズの量に応じて、ノイズが少ない場合には小さな値が設定され、ノイズが多い場合には大きな値が設定される。これは、ノイズによって、差分ＶＡＲが大きくなる可能性があるためである。映像に含まれるノイズの量は、例えば、映像データ１０９Ｂのビットレートや輝度値の累積フレーム間差分に基づいて推定される。輝度値の累積フレーム間差分は、値が大きいほど映像に含まれるノイズの量が多いと推測される。一方、値が小さいほど映像に含まれるノイズの量が少ないと推測される。
【００４５】
局所コントラスト補正カーブ生成部３６は、算出された振幅とブロック平均輝度値ＡＰＬＢとに基づいて、第２補正カーブを調整する。局所コントラスト補正カーブ生成部３６は、図９に示すように、ブロック平均輝度値ＡＰＬＢが変曲点６４に設定され、算出された振幅を有する第２補正カーブを、処理対象のブロックに対応する局所コントラスト補正カーブ６３に設定する。したがって、差分ＶＡＲが第１しきい値以上である場合、振幅が差分ＶＡＲの増加に比例して増加するので、差分ＶＡＲの大きさに比例してコントラスト補正の効果が強められる局所コントラスト補正カーブ６３が生成される。また、差分ＶＡＲが第１しきい値未満である場合（例えば、処理対象のブロックが平坦領域である場合）、振幅が０であるので、入力輝度値＝出力輝度値である線形関数６２が局所コントラスト補正カーブ６３として生成される。この線形関数６２では、画素の輝度値が変更されないので、コントラスト補正の効果がなく、原画像（入力映像フレーム）が保持される。
【００４６】
また、ブロック特徴量算出部３５によって出力された差分ＶＡＲの差分絶対値和ＶＡＲＤ及びブロック平均輝度値ＡＰＬＢの差分絶対値和ＡＰＬＤを用いて、処理対象のブロックに対応する局所コントラスト補正カーブを生成する場合には、局所コントラスト補正カーブ生成部３６は、以下のように局所コントラスト補正カーブ６３を生成する。まず、局所コントラスト補正カーブ生成部３６は、例えば、差分絶対値和ＶＡＲＤが第２しきい値未満であり、且つ差分絶対値和ＡＰＬＤが第３しきい値未満である場合、その処理対象のブロックが平坦領域であり、且つ周囲のブロックと類似しているので、疑似輪郭が発生しやすいブロックであると判断する。そして、局所コントラスト補正カーブ生成部３６は、処理対象のブロックが、疑似輪郭が発生しやすいブロックである場合、当該ブロックに対応する局所コントラスト補正カーブ６３に、コントラスト補正の効果が弱いコントラスト補正カーブを設定する。一方、局所コントラスト補正カーブ生成部３６は、例えば、差分絶対値和ＶＡＲＤが第２しきい値以上である場合、又は差分絶対値和ＡＰＬＤが第３しきい値以上である場合、その処理対象のブロックが、疑似輪郭が発生しやすいブロックでないと判断する。そして、局所コントラスト補正カーブ生成部３６は、処理対象のブロックが、疑似輪郭が発生しやすいブロックでない場合、当該ブロックに対応する局所コントラスト補正カーブ６３に、コントラスト補正の効果が強いコントラスト補正カーブを設定する。
【００４７】
以上により、局所コントラスト補正カーブ生成部３６は、処理対象のブロックの特徴量に応じた局所コントラスト補正カーブ６３を生成することができる。局所コントラスト補正カーブ生成部３６は、処理対象のフレーム内の他のブロックに対応する局所コントラスト補正カーブ６３も同様に生成する。なお、局所コントラスト補正カーブ生成部３６は、時間軸方向での変化の大きさを所定値以内にするように、局所コントラスト補正カーブ６３を制御してもよい。その場合、局所コントラスト補正カーブ生成部３６は、例えば、処理対象のブロックと同じ位置にある、一つ前のフレーム内のブロックを検出し、その一つ前のフレーム内のブロックに対応する局所コントラスト補正カーブと、処理対象のブロックに対応するコントラスト補正カーブ６３との間の変化量が所定値以内になるように、処理対象のブロックに対応するコントラスト補正カーブ６３を変更する。これにより、時間軸方向の映像のちらつきを抑制することができる。局所コントラスト補正カーブ生成部３６は、生成された局所コントラスト補正カーブ６３を補正カーブブレンディング部３７に出力する。
【００４８】
補正カーブブレンディング部３７は、大域コントラスト補正カーブ生成部３４によって出力された大域コントラスト補正カーブ５４と、局所コントラスト補正カーブ生成部３６によって出力された局所コントラスト補正カーブ６３とを所定の割合でブレンディング（アルファブレンディング）することによって、処理対象のブロックに対応する第３コントラスト補正カーブ（ブレンディングされたコントラスト補正カーブ）を算出する。補正カーブブレンディング部３７は、算出された第３コントラスト補正カーブをコントラスト補正部３８に出力する。
【００４９】
コントラスト補正部３８は、補正カーブブレンディング部３７によって出力された第３コントラスト補正カーブを用いて、処理対象のフレーム内の画素の輝度値を補正する。コントラスト補正部３８は、第３コントラスト補正カーブを用いて、処理対象のフレームに含まれる複数の画素の輝度値（入力輝度値）に対応する複数の出力輝度値を算出する。そして、コントラスト補正部３８は、算出された複数の出力輝度値を、処理対象のフレーム内の複数の画素の新たな輝度値に設定する。コントラスト補正部３８は、新たな輝度値（すなわち、補正された輝度値）を含むフレームを表示制御部３９に出力する。
【００５０】
なお、図１０に示すように、コントラスト補正部３８は、処理対象の画素７０（輝度値ｘ）を含むブロック７４に対応するコントラスト補正カーブｆ４（ｘ）に限らず、周辺（近傍）のブロック７１，７２，７３に対応するコントラスト補正カーブをさらに用いて、処理対象の画素７０を補正してもよい。  
具体的には、コントラスト補正部３８は、まず、処理対象の画素７０を中心とするウィンドウ７２と重複する領域７２１，７２２，７２３，７２４をそれぞれ有するブロック７１，７２，７３，７４を検出する。このウィンドウ７２は、ブロックと同じサイズを有する。コントラスト補正部３８は、検出されたブロック７１，７２，７３，７４に対応するコントラスト補正カーブｆ１（ｘ），ｆ２（ｘ），ｆ３（ｘ），ｆ４（ｘ）を検出する。そして、コントラスト補正部３８は、次式のように、ウィンドウ７２と重複する領域７２１，７２２，７２３，７２４の面積（すなわち、領域に含まれる画素数）Ｓ１，Ｓ２，Ｓ３，Ｓ４に応じた重みａｉ（ｉ＝１〜４）を用いて重み付け加算されたコントラスト補正カーブＦ（ｘ）を算出する。  
F(x) = a1 × f1(x) + a2 × f2(x) + a3 × f3(x) + a4 × f4(x)  
ai = Si / (S1 + S2 + S3 + S4)  
コントラスト補正部３８は、算出されたコントラスト補正カーブＦ（ｘ）を用いて、処理対象の画素７０の輝度値（入力輝度値）に対応する出力輝度値を算出する。そして、コントラスト補正部３８は、算出された出力輝度値を、処理対象の画素７０の新たな輝度値に設定する。周辺のブロックに対応するコントラスト補正カーブも用いることにより、ブロック間での輝度値の変化が滑らかになるように（ブロック間で境界が発生しないように）、映像のコントラストを補正することができる。なお、上述の方法では、画素毎に、重みａｉを予め算出しておくことによって、計算量を削減し、コントラストを補正するための処理にかかる時間を短縮することができる。
【００５１】
表示制御部３９は、コントラスト補正部３８によって出力された、補正された輝度値を含む映像フレームが画面（ＬＣＤ）１７に表示されるように制御する。
【００５２】
以上の構成により、映像のコントラストを補正することによって発生する画質の劣化を抑制することができる。大域コントラスト補正カーブ生成部３４は、処理対象のフレームの特徴を考慮した大域コントラスト補正カーブ５４を生成し、局所コントラスト補正カーブ生成部３６は、処理対象のフレームに含まれる複数のブロックそれぞれの特徴を考慮した複数の局所コントラスト補正カーブ６３を生成する。コントラスト補正部３８は、大域コントラスト補正カーブ５４と局所コントラスト補正カーブ６３とがブレンディングされた第３コントラスト補正カーブを用いて、フレーム全体の特徴だけでなく、ブロック毎の特徴も考慮して、映像のコントラストを補正する。局所コントラスト補正カーブ６３は、輝度値の変化が小さいブロック（平坦領域）では、コントラストが過度に強調されないように設定されるので、そのブロックでの疑似輪郭の発生を抑制することができる。なお、コントラスト補正部３８は、局所コントラスト補正カーブ６３を用いて、処理対象のブロックに含まれる画素のコントラストを補正してもよい。
【００５３】
また、ブロック特徴量算出部３５は、処理対象のブロックの特徴量として、ブロックに含まれる画素の輝度値の勾配（勾配の大きさ）と、勾配の方向とを算出してもよい。具体的には、ブロック特徴量算出部３５は、処理対象のブロックの四隅にある画素の輝度値を用いて、水平方向、垂直方向及び斜め方向の勾配（すなわち、四隅にある画素の輝度値の差）を算出する。また、ブロック特徴量算出部３５は、算出された勾配に基づいて、勾配の方向を検出する。ブロック特徴量算出部３５は、例えば、勾配の大きさが最も大きい方向を、勾配の方向として検出する。そして、局所コントラスト補正カーブ生成部３６は、勾配の大きさが小さく、且つ勾配の方向が隣接するブロックと類似している場合、処理対象のブロックが、滑らかに変化する輝度値（滑らかなグラデーション）を含むブロックであると推定し、局所コントラスト補正カーブ６３を入力輝度値＝出力輝度値である線形関数６２に設定する。具体的には、局所コントラスト補正カーブ生成部３６は、算出された勾配の大きさの内の最大値が第４しきい値未満であり、且つ検出された勾配の方向と隣接するブロックの勾配方向との類似度（例えば、内積）が第５しきい値以上である場合に、局所コントラスト補正カーブ６３を線形関数６２に設定する。勾配に基づいて生成された局所コントラスト補正カーブ６３でも、ブロック毎の平坦度が反映されるので、映像のコントラストを補正することによって発生する疑似輪郭を抑制することができる。
【００５４】
次いで、図１１のフローチャートを参照して、電子機器１０によって実行されるコントラスト補正処理の手順の例を説明する。  
まず、映像リード部３１は、ＨＤＤ１０９等に格納された映像データ１０９Ｂを読み出し、映像データ１０９Ｂに含まれる複数の映像フレームの内の、先頭の映像フレームを処理対象の映像フレームに設定する（ブロックＢ１０１）。
【００５５】
次いで、フレーム特徴量算出部３２は、処理対象の映像フレームに含まれる画素の平均輝度値（フレーム平均輝度値）ＡＰＬＦを算出する（ブロックＢ１０２）。また、ヒストグラム算出部３３は、処理対象の映像フレームに含まれる画素の輝度値に基づいて、輝度ヒストグラムを算出する（ブロックＢ１０３）。そして、大域コントラスト補正カーブ生成部３４は、算出されたフレーム平均輝度値ＡＰＬＦ及び輝度ヒストグラムと、ＨＤＤ１０９に格納されたパラメータ１０９Ａとを用いて、処理対象のフレームに対応する大域コントラスト補正カーブ５４を生成する（ブロックＢ１０４）。具体的には、大域コントラスト補正カーブ生成部３４は、算出されたフレーム平均輝度値ＡＰＬＦを、パラメータ１０９Ａによって規定された第１補正カーブ５３の変曲点５６に設定する。また、大域コントラスト補正カーブ生成部３４は、算出されたヒストグラムに基づいて、画素頻度関数５２を算出する。そして、大域コントラスト補正カーブ生成部３４は、フレーム平均輝度値ＡＰＬＦが変曲点５６に設定された第１補正カーブ５３と画素頻度関数５２とを所定の割合でブレンディングすることによって、大域コントラスト補正カーブ５４を生成する。
【００５６】
次いで、ブロック特徴量算出部３５は、処理対象のフレームを所定のサイズ（例えば、１６画素×１６画素）のブロックに分割する（ブロックＢ１０５）。そして、ブロック特徴量算出部３５は、先頭のブロック（例えば、処理対象のフレーム内の左上端に位置するブロック）を処理対象のブロックに設定する（ブロックＢ１０６）。ブロック特徴量算出部３５は、処理対象のフレームに含まれるブロックを、例えば、フレーム内の左上端に位置するブロックからフレーム内の右下端に位置するブロックまで、順番に処理対象のブロックに設定する。
【００５７】
ブロック特徴量算出部３５は、処理対象のブロックに含まれる画素の輝度値の内の、最大輝度値と最小輝度値とを検出し、それら最大輝度値と最小輝度値との差分ＶＡＲを算出する（ブロックＢ１０７）。ブロック特徴量算出部３５は、処理対象のブロックに含まれる画素の平均輝度値（ブロック平均輝度値）ＡＰＬＢを算出する（ブロックＢ１０８）。そして、局所コントラスト補正カーブ生成部３６は、算出された差分ＶＡＲ及びブロック平均輝度値ＡＰＬＢと、ＨＤＤ１０９に格納されたパラメータ１０９Ａとを用いて、処理対象のブロックに対応する局所コントラスト補正カーブ６３を生成する（ブロックＢ１０９）。具体的には、局所コントラスト補正カーブ生成部３６は、算出された差分ＶＡＲに基づいて、パラメータ１０９Ａによって規定された第２補正カーブに設定する振幅を算出する。局所コントラスト補正カーブ生成部３６は、算出された振幅とブロック平均輝度値ＡＰＬＢとに基づいて、第２補正カーブを調整する。局所コントラスト補正カーブ生成部３６は、ブロック平均輝度値ＡＰＬＢが変曲点６４に設定され、算出された振幅を有する第２補正カーブを、処理対象のブロックに対応する局所コントラスト補正カーブ６３に設定する。
【００５８】
そして、補正カーブブレンディング部３７は、処理対象のフレームに対応する大域コントラスト補正カーブ５４と、処理対象のブロックに対応する局所コントラスト補正カーブ６３とを所定の割合でブレンディングすることによって、処理対象のブロックに対応する第３コントラスト補正カーブ（ブレンディングされたコントラスト補正カーブ）を算出する（ブロックＢ１１０）。
【００５９】
次いで、ブロック特徴量算出部３５は、処理対象のフレーム内に、処理対象のブロックに後続するブロックがあるか否かを判定する（ブロックＢ１１１）。後続するブロックがある場合（ブロックＢ１１１のＹＥＳ）、ブロック特徴量算出部３５は、その後続するブロックを、新たな処理対象のブロックに設定する（ブロックＢ１１２）。そして、ブロックＢ１０７に戻り、新たに設定された処理対象のブロックに対応する第３コントラスト補正カーブが算出される。
【００６０】
後続するブロックがない場合（すなわち、処理対象のフレーム内の全てのブロックに対応する第３コントラスト補正カーブが算出された場合）（ブロックＢ１１１のＮＯ）、コントラスト補正部３８は、算出されたブロック毎の第３コントラスト補正カーブを用いて、処理対象のフレーム内の画素の輝度値を補正する（ブロックＢ１１３）。そして、表示制御部３９は、補正された画素を含む処理対象のフレームを画面（ＬＣＤ）１７に表示する（ブロックＢ１１４）。
【００６１】
次いで、映像リード部３１は、処理対象のフレームに後続するフレームがあるか否かを判定する（ブロックＢ１１５）。後続するフレームがある場合（ブロックＢ１１５のＹＥＳ）、その後続するフレームを、新たな処理対象のフレームに設定する（ブロックＢ１１６）。そして、ブロックＢ１０２に戻り、新たに設定された処理対象のフレームのコントラストを補正する。  
後続するフレームがない場合（ブロックＢ１１５のＮＯ）、処理を終了する。
【００６２】
なお、上述の処理では、大域コントラスト補正カーブ５４と局所コントラスト補正カーブ６３とがブレンディングされた第３コントラスト補正カーブを用いて、映像フレームに含まれる画素の輝度値を補正する例を説明したが、局所コントラスト補正カーブ６３を用いて映像フレームに含まれる画素の輝度値を補正してもよい。局所コントラスト補正カーブ６３を用いることにより、疑似輪郭の発生を抑制しながら、映像フレームのコントラストを補正することができる。
【００６３】
以上説明したように、本実施形態によれば、映像のコントラストを補正することによって発生する画質の劣化を抑制できる。大域コントラスト補正カーブ生成部３４は、処理対象のフレームの特徴を考慮した大域コントラスト補正カーブ５４を生成し、局所コントラスト補正カーブ生成部３６は、処理対象のフレームに含まれる複数のブロックそれぞれの特徴を考慮した複数の局所コントラスト補正カーブ６３を生成する。コントラスト補正部３８は、大域コントラスト補正カーブ５４と局所コントラスト補正カーブ６３とがブレンディングされた第３コントラスト補正カーブを用いることにより、フレーム全体の特徴だけでなく、ブロック毎の局所的な特徴も考慮して、映像のコントラストを補正する。局所コントラスト補正カーブ６３は、輝度値の変化が小さいブロックでは、コントラスト補正の効果が小さくなるように設定されるので、そのブロックでの疑似輪郭の発生を抑制することができる。
【００６４】
なお、本実施形態のコントラスト補正処理の手順は全てソフトウェアによって実行することができる。このため、コントラスト補正処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００６５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６６】
１０９…ＨＤＤ、１０９Ａ…パラメータ、１０９Ｂ…映像データ、２０２…映像処理プログラム、３１…映像リード部、３２…フレーム特徴量算出部、３３…ヒストグラム算出部、３４…大域コントラスト補正カーブ生成部、３５…ブロック特徴量算出部、３６…局所コントラスト補正カーブ生成部、３７…補正カーブブレンディング部、３８…コントラスト補正部、３９…表示制御部。
【図１】
0005269964.tif 000006
【図２】
0005269964.tif 000007
【図３】
0005269964.tif 000008
【図４】
0005269964.tif 000009
【図５】
0005269964.tif 000010
【図６】
0005269964.tif 000011
【図７】
0005269964.tif 000012
【図８】
0005269964.tif 000013
【図９】
0005269964.tif 000014
【図１０】
0005269964.tif 000015
【図１１】
0005269964.tif 000016