IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アキュートロジック株式会社の特許一覧

特許7583898オートホワイトバランス処理方法および装置、撮影装置、記憶媒体
<>
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図1
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図2
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図3
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図4
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図5
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図6
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図7
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図8
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図9
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図10
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図11
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図12
  • 特許-オートホワイトバランス処理方法および装置、撮影装置、記憶媒体 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-06
(45)【発行日】2024-11-14
(54)【発明の名称】オートホワイトバランス処理方法および装置、撮影装置、記憶媒体
(51)【国際特許分類】
   H04N 9/73 20230101AFI20241107BHJP
   G06T 7/90 20170101ALI20241107BHJP
   H04N 23/88 20230101ALI20241107BHJP
【FI】
H04N9/73 B
G06T7/90 D
H04N23/88
【請求項の数】 11
(21)【出願番号】P 2023195971
(22)【出願日】2023-11-17
【審査請求日】2023-11-17
(73)【特許権者】
【識別番号】323014029
【氏名又は名称】アキュートロジック株式会社
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】新井 恵美
(72)【発明者】
【氏名】吉田 敏明
【審査官】櫃本 研太郎
(56)【参考文献】
【文献】特開2007-13415(JP,A)
【文献】特開2014-7611(JP,A)
【文献】特開2021-168465(JP,A)
【文献】国際公開第2016/175178(WO,A1)
【文献】特表2009-506700(JP,A)
【文献】特開2015-204532(JP,A)
【文献】特開2014-7528(JP,A)
【文献】特開2014-6745(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 9/00-9/898
H04N 23/83-23/88
H04N 1/40-1/64
G09G 5/00-5/42
G06T 1/00-7/90
(57)【特許請求の範囲】
【請求項1】
画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、前記各画像ブロック毎に前記明るさ情報の統計処理を行う統計解析ステップと、
前記各画像ブロックの前記統計処理の結果に基づいて、前記各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する分類処理ステップと、
前記分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する抽出処理ステップと、
抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出するホワイトバランスゲイン算出ステップと、を含
前記統計解析ステップにおいて、各画像ブロックの画素の明るさ情報に基づいて、各画像ブロックの明るさレベルが異なる複数の画素群のうち、最も明るいレベルの画素群と次に明るいレベルの画素群を特定し、特定した前記最も明るいレベルの画素群と次に明るいレベルの画素群の画素値平均を算出し、
前記分類処理ステップにおいて、各画像ブロック毎に、前記統計解析ステップで算出された最も明るいレベルの画素群の前記画素値平均と次に明るいレベルの画素群の前記画素値平均のそれぞれに基づいて前記分類を行う、
ことを特徴とするオートホワイトバランス処理方法。
【請求項2】
前記分類処理ステップにおいて、前記統計解析ステップで算出された各画素の明るさ情報の平均が所定の値よりも低い画像ブロック、および各画素の画素値情報の平均が前記画像ブロックのすべてに基づいた画素値情報の平均から所定値以上外れている画像ブロックを除去して、前記分類を行う、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項3】
前記抽出処理ステップにおいて、
前記統計解析ステップで算出された各画像ブロックの前記最も明るいレベルの画素群の明るさ情報で前記画像ブロックをソートし、ソートに基づいて所定数の画像ブロックを第1の画像ブロックとして抽出し、
前記統計解析ステップで算出された各画像ブロックの前記次に明るいレベルの画素群の明るさ情報で前記画像ブロックをソートし、ソートに基づいて前記所定数の画像ブロックを第2の画像ブロックとして抽出する、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項4】
前記抽出処理ステップにおいて、前記分類の結果に基づいて、前記所定数の前記第1の画像ブロックの分類されたグループの類別と前記所定数の前記第2の画像ブロックの分類されたグループの類別とが同じになるように、前記第1の画像ブロックと前記第2の画像ブロックをホワイトバランスゲイン算出用の画像ブロックとして抽出する、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項5】
前記抽出処理ステップにおいて、彩度又は色相範囲が前記最も明るいレベルの画素群に対して所定の値以上外れている前記次に明るいレベルの画素群をもつ画像ブロックを除去する、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項6】
前記抽出処理ステップにおいて、前記最も明るいレベルの画素群および前記次に明るいレベルの画素群の画素数が、前記第1の画像ブロックと前記第2の画像ブロックのもつ前記最も明るいレベルの画素群および前記次に明るいレベルの画素群の画素数の平均より、所定の値以上小さい画像ブロックを除去する、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項7】
前記ホワイトバランスゲイン算出ステップにおいて、前記抽出処理ステップで抽出された、ホワイトバランスゲイン算出用の画像ブロックの最も明るいレベルの画素群の画素値平均と次に明るいレベルの画素群の画素値平均に基づいて、鏡面反射成分を求め、前記鏡面反射成分に基づいてホワイトバランスゲインを算出する、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項8】
前記ホワイトバランスゲイン算出ステップは、前記統計解析ステップで算出された各画像ブロックの画素値平均の標準偏差が所定の値よりも小さくなる場合、前記抽出処理ステップで抽出されたホワイトバランスゲイン算出用の画像ブロックの前記最も明るいレベルの画素群の画素値平均に基づいて、ホワイトバランスゲインを算出するステップを含む、ことを特徴とする請求項に記載のオートホワイトバランス処理方法。
【請求項9】
画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、前記各画像ブロック毎に前記明るさ情報の統計処理を行う統計解析部と、
前記各画像ブロックの前記統計処理の結果に基づいて、前記各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する分類処理部と、
前記分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する抽出処理部と、
抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出するホワイトバランスゲイン算出部と、を含
前記統計解析部は、各画像ブロックの画素の明るさ情報に基づいて、各画像ブロックの明るさレベルが異なる複数の画素群のうち、最も明るいレベルの画素群と次に明るいレベルの画素群を特定し、特定した前記最も明るいレベルの画素群と次に明るいレベルの画素群の画素値平均を算出し、
前記分類処理部は、各画像ブロック毎に、前記統計解析部が算出した最も明るいレベルの画素群の前記画素値平均と次に明るいレベルの画素群の前記画素値平均のそれぞれに基づいて前記分類を行う、
ことを特徴とするオートホワイトバランス処理装置。
【請求項10】
プロセッサと、
プロセッサにより実行可能な命令を記憶するための記憶部と、を含み、
前記プロセッサは、前記記憶部に記憶されている命令を実行すると、請求項1~のいずれか一項に記載のオートホワイトバランス処理方法を実行するように構成される、ことを特徴とする撮影装置。
【請求項11】
コンピュータプログラム命令が記憶されている不揮発性コンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラム命令がプロセッサにより実行されると、請求項1~のいずれか一項に記載のオートホワイトバランス処理方法を実現させる、ことを特徴とする不揮発性コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デジタル映像分野に関し、特にオートホワイトバランス処理方法および装置、撮影装置、不揮発性コンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
携帯電話などのデジタルカメラやビデオカメラを搭載した機器には、センサから出力される画像に対して自動的にホワイトバランス調整を行うオートホワイトバランス機能が搭載されていることが多い。
【0003】
オートホワイトバランス機能は、一般的に、シーンの平均色が無彩色であると仮定して全ての画素の積分値からホワイトバランスの補正係数を求める方法や、白色領域に含まれる画素の積分値から補正係数を求める方法がある。また、あらかじめ標準光源についてセンサのRGB感度を測定しておき補正係数の算出精度を上げるキャリブレーション手法が併用されることが多い。
【0004】
前述の手法では、シーンに含まれる彩度・色相が偏っていたり、白色領域が存在しない場合には正しい結果が得られない。また、白色領域はユーザーが調整できるパラメータで指定することが多く、調整結果が性能に大きな影響を及ぼし、本来の性能より大きく劣化することもある。キャリブレーションについては正しく校正された機材が必要であり、コスト面で問題が発生する場合がある。また、調整やキャリブレーションのための測定には多大な工数を要する。
【0005】
シーンに含まれる情報から光源を推定し、光源色が白色になるようにホワイトバランスの補正係数を求めることは前述の問題を解決するために有効な方法である。光源の推定には、二色性反射モデルに基づき、反射光を鏡面反射成分と拡散反射成分に分離して鏡面反射成分を光源として抽出する手法が開発されている。
【0006】
従来手法では、2種類の充分明るい領域を用いて、これらの両領域に含まれる拡散反射成分を除去し、鏡面反射成分のみを抽出する。この処理の前提として、両領域の拡散反射成分すなわち物体色は同じであり、鏡面反射成分は強度のみ異なる同じ光源でなければならない。しかし、その条件を満たす両領域の選択方法は明確になっていない。画像全体から両領域を選定して平均的な値を取り扱う、または同じ物体の同じ光源による反射光はおそらく明るさも近いであろうという仮定の基に画像の一部から両領域を選定する方法が提案されているが、これらの方法は、必ずしも正しい光源推定結果を得られるものではない。
【発明の概要】
【0007】
本開示は、上記実情に鑑みて、光源推定の精度を向上させ、オートホワイトバランス処理の性能を改善することができるオートホワイトバランス処理方法および装置、撮影装置、不揮発性コンピュータ読み取り可能な記憶媒体を提案する。
【0008】
本開示の一の態様によれば、画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、前記各画像ブロック毎に前記明るさ情報の統計処理を行う統計解析ステップと、
前記各画像ブロックの前記統計処理の結果に基づいて、前記各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する分類処理ステップと、前記分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する抽出処理ステップと、抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出するホワイトバランスゲイン算出ステップと、を含むオートホワイトバランス処理方法を提供する。
【0009】
本開示の別の態様によれば、画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、前記各画像ブロック毎に前記明るさ情報の統計処理を行う統計解析部と、前記各画像ブロックの前記統計処理の結果に基づいて、前記各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する分類処理部と、前記分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する抽出処理部と、抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出するホワイトバランスゲイン算出部と、を含むオートホワイトバランス処理装置を提供する。
【0010】
本開示の別の態様によれば、プロセッサと、プロセッサにより実行可能な命令を記憶するための記憶部と、を含み、前記プロセッサは、前記記憶部に記憶されている命令を実行すると、上述したオートホワイトバランス処理方法を実行するように構成される撮影装置を提供する。
【0011】
本開示の別の態様によれば、コンピュータプログラム命令が記憶されている不揮発性コンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラム命令がプロセッサにより実行されると、上述したオートホワイトバランス処理方法を実現させる不揮発性コンピュータ読み取り可能な記憶媒体を提供する。
【0012】
本開示の別の態様によれば、コンピュータ読み取り可能なコード又はコンピュータ読み取り可能なコードを記憶する不揮発性コンピュータ読み取り可能な記憶媒体を含み、前記コンピュータ読み取り可能なコードが電子機器のプロセッサにおいて動作すると、前記電子機器のプロセッサに上述したオートホワイトバランス処理方法を実行させるコンピュータプログラム製品を提供する。
【0013】
本開示の各態様のオートホワイトバランス処理方法および装置、撮影装置、コンピュータ読み取り可能な記憶媒体によれば、画像信号の明るさ情報を参照することで鏡面反射成分と拡散反射成分を含む領域を抽出して分類し、同一グループに分類された領域を同一の物体色による反射光とみなすことで、適切な光源色が得られ、適切なホワイトバランス補正係数を求めることを可能とする。これにより、高精度の光源推定を実現し、オートホワイトバランス処理の性能を改善することができる。
【0014】
以下、図面を参照しながら例示的な実施例について詳細に説明することにより、本開示の他の特徴及び方面は明瞭になる。
【図面の簡単な説明】
【0015】
明細書の一部をなす図面は明細書と共に、本開示の例示的な実施例、特徴及び態様を示し、本開示の原理を解釈するために用いられる。
図1図1は本開示の一実施例に係るオートホワイトバランス処理方法のフローチャートを示す。
図2図2は本開示の別の実施例に係るオートホワイトバランス処理方法のフローチャートを示す。
図3図3はセンサから出力される画像をブロック分割する例を示す。
図4図4は一つの画像ブロックにおける各画素のレベル分けの例を示す。
図5図5は最も明るいレベルの画素群と次に明るいレベルの画素群の画素値平均、画素数を格納した表の一例を示す。
図6図6はBlockIdx、R/G、B/G、useIdxを格納した表の一例を示す。
図7図7は明るさ情報によるブロック除去処理の一例を示す。
図8図8は画像ブロックに対する分類を格納した表の一例を示す。
図9図9はソートされたuseIdx1及びuseIdx2と、図5のR1、G1、B1、Cnt1、R2、G2、B2及びCnt2と、図8のGroup1、Group2とを統合した表の一例を示す。
図10図10図9の表からuseIdx1=24が除去された場合の更新後の表の一例を示す。
図11図11の(A)、(B)、(C)はDNGに保存されているホワイトバランスゲイン、従来手法で求めたホワイトバランスゲイン、本開示の提案手法により求めたホワイトバランスゲインをそれぞれ適用してホワイトバランス処理した写真の一例を示す。
図12図12は例示的な実施例に係るオートホワイトバランス処理装置のブロック図である。
図13図13は実施例に係るオートホワイトバランス処理装置を適用した撮影装置の構成例を示す。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本開示の様々な例示的実施例、特徴および態様を詳細に説明する。図面において、同じ符号は、機能が同じまたは類似する要素を表す。図面において実施例の様々な態様を示したが、特に明記されていない限り、図面は、必ずしも原寸に比例しているとは限らない。
【0017】
ここでの用語「例示的」とは、「例、実施例として用いられることまたは説明的なもの」を意味する。ここで「例示的」に説明されるいかなる実施例は、必ずしも他の実施例より好ましい又は優れたものであると解釈されるとは限らない。
【0018】
また、本開示をより良く説明するために、以下の具体的な実施形態には多くの具体的な細部が示されている。当業者であれば、何らかの具体的な細部がなくても、本開示は同様に実施できることを理解すべきである。いくつかの実施例では、本開示の趣旨を強調するために、当業者によく知られている方法、手段、素子および回路について、詳細な説明を行わない。
【0019】
関連技術では、オートホワイトバランス処理の手法として、二色性反射モデルに基づき、画素の明るさに着目した鏡面反射成分と拡散反射成分を分離する手法が提案されているが、ホワイトバランス処理性能が必ずしも十分でないという課題がある。この問題を解決するために、2種類の充分明るい領域を抽出する際に、似た色の領域を選定することで処理の精度を向上することを検討して、本開示を達成した。本開示では、同一の物体色と見なされる反射光の領域の抽出により光源推定の精度を向上させることで、上記の課題を解決した。
【0020】
本開示では、図1に示すように、携帯電話、デジタルスチルカメラ・ビデオカメラ、カメラモジュール、イメージシグナルプロセッサ、画像処理ソフトウェア等、ホワイトバランス補正を必要とする製品群で実行されるオートホワイトバランス処理方法を提案する。
【0021】
図1に示す実施例では、オートホワイトバランス処理方法は以下のステップを含んでもよい。
【0022】
ステップS110(統計解析ステップ):画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、前記各画像ブロック毎に前記明るさ情報の統計処理を行う。
【0023】
本実施例では、センサから出力されたRaw画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、各画像ブロック毎に明るさ情報の統計処理を行う。
【0024】
1つの可能な実現形態では、各画像ブロックの画素の明るさ情報に基づいて、各画像ブロックの、明るさレベルが異なる複数の画素群のうち、最も明るいレベルの画素群と次に明るいレベルの画素群を特定し、特定した最も明るいレベルの画素群と次に明るいレベルの画素群の画素値平均を算出する。
【0025】
また、最も明るいレベルの画素群の画素が飽和画素である場合、最も明るいレベルの画素群から一段暗い画素群を最も明るいレベルの画素群とし、次に明るいレベルの画素群から一段暗い画素群を次に明るいレベルの画素群とすることが可能である。
【0026】
ステップS120(分類処理ステップ):前記各画像ブロックの前記統計処理の結果に基づいて、前記各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する。
【0027】
本実施例では、各画像ブロックの明るさ情報の統計処理結果を任意の空間に変換して、各画像ブロックの画素値情報が生成され、各画像ブロックの画素値情報に基づいて、各画像ブロックのそれぞれを同一の物体色とみなされるグループに分類する。つまり、各画像ブロックの明るさ情報の統計処理結果を任意の空間に変換して、各画像ブロックの画素値情報が生成され、各画像ブロックの画素値情報に基づいて、各画像ブロックを異なるグループに分け、グループ毎の画像ブロックは、同一の物体色からの反射によるものとみなされる。
【0028】
1つの可能な実現形態では、各画像ブロック毎に、統計解析ステップで算出された最も明るいレベルの画素群の前記画素値平均と次に明るいレベルの画素群の前記画素値平均のそれぞれに基づいて分類を行う。例えば、統計解析ステップで算出された各ブロックの最も明るいレベルの画素群と次に明るいレベルの画素群の画素値平均について任意の空間でグループ化処理を行う。また、統計解析ステップで算出された各画素の明るさ情報の平均が所定の値よりも低い画像ブロック、および各画素の画素値情報の平均が画像ブロックのすべてに基づいた画素値情報の平均から所定値以上外れている画像ブロックを除去して、分類を行ってもよい。
【0029】
ステップS130(抽出処理ステップ):分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する。
【0030】
本実施例では、分類の結果に基づいて、ホワイトバランスゲイン算出用の鏡面反射成分と拡散反射成分を含む画像ブロックを抽出する。
【0031】
1つの可能な実現形態では、統計解析ステップで算出された各画像ブロックの前記最も明るいレベルの画素群の明るさ情報で画像ブロックをソートし、ソートに基づいて所定数の画像ブロックを第1の画像ブロックとして抽出し、統計解析ステップで算出された各画像ブロックの次に明るいレベルの画素群の明るさ情報で画像ブロックをソートし、ソートに基づいて前記所定数の画像ブロックを第2の画像ブロックとして抽出する。例えば、ソートに採用される明るさ情報は、最も明るいレベルの画素群又は次に明るいレベルの画素群の画素値平均である。
【0032】
また、分類の結果に基づいて、前記所定数の第1の画像ブロックの分類されたグループの類別と前記所定数の第2の画像ブロックの分類されたグループの類別とが同じになるように、前記第1の画像ブロックと前記第2の画像ブロックをホワイトバランスゲイン算出用の画像ブロックとして抽出してもよい。例えば、同一の物体色とみなされる画像ブロックが鏡面反射成分と拡散反射成分を含む場合にその彩度・色相がほぼ同じとなることを利用し、分類の結果を参照して、第1の画像ブロックの分類されたグループのグループ番号の種類と第2の画像ブロックの分類されたグループのグループ番号の種類とが同じように、第1の画像ブロックと第2の画像ブロックをホワイトバランスゲイン算出用の画像ブロックとして抽出してもよい。
【0033】
また、彩度又は色相範囲が最も明るいレベルの画素群に対して所定の値以上外れている次に明るいレベルの画素群をもつ画像ブロックを除去してもよい。例えば、最も明るいレベルの画素群と次に明るいレベルの画素群の彩度・色相がほぼ同じ範囲に分布することから、彩度・色相範囲が最も明るいレベルの画素群に対して所定の値以上外れている次に明るいレベルの画素群をもつ画像ブロックを除去してもよい。
【0034】
また、最も明るいレベルの画素群および次に明るいレベルの画素群の画素数が、第1の画像ブロックと第2の画像ブロックのもつ最も明るいレベルの画素群および次に明るいレベルの画素群の画素数の平均より、所定の値以上小さい画像ブロックを除去してもよい。例えば、ブロックの最も明るいレベルの画素群および次に明るいレベルの画素群の画素数が、第1の画像ブロックと第2の画像ブロックのもつ最も明るいレベルの画素群および次に明るいレベルの画素群の画素数の平均より、所定の値以上小さい場合、該当のブロックをノイズとして除去してもよい。
【0035】
ステップS140(ホワイトバランスゲイン算出ステップ):抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出する。
【0036】
1つの可能な実現形態では、抽出処理ステップで抽出されたホワイトバランスゲイン算出用の画像ブロックの最も明るいレベルの画素群の画素値平均と次に明るいレベルの画素群の画素値平均に基づいて、鏡面反射成分を求め、鏡面反射成分に基づいてホワイトバランスゲインを算出する。例えば、画像ブロックの画素値統計量の差分をとることで鏡面反射成分と拡散反射成分を分離し、鏡面反射成分及び画素値統計量からホワイトバランスゲインを算出してもよい。
【0037】
また、統計解析ステップで算出された各画像ブロックの画素値平均の標準偏差が所定の値よりも小さくなる場合、抽出処理ステップで抽出されたホワイトバランスゲイン算出用の画像ブロックの最も明るいレベルの画素群の画素値平均に基づいて、ホワイトバランスゲインを算出してもよい。例えば、ホワイトチャートやカラーチャートの白パッチなど、ほぼ光源色の拡散反射成分で構成されるものである場合には、鏡面反射成分と拡散反射成分の分離は必要ない。そのような場合に、鏡面反射成分でなく、白色成分である拡散反射成分のみでホワイトバランスを計算する。
【0038】
実施例によれば、画像信号の明るさ情報を参照することで鏡面反射成分と拡散反射成分を含む領域を抽出して分類し、同一グループに分類された領域を同一の物体色による反射光とみなすことで、適切な光源色が得られ、適切なホワイトバランス補正係数を求めることを可能とする。これにより、高精度の光源推定を実現し、オートホワイトバランス処理の性能を改善することができる。
【0039】
二色性反射モデルによるホワイトバランスゲインの算出では、最も明るい領域、およびそれより少し暗い、次に明るい領域は、鏡面反射成分と拡散反射成分を含むと考え、それぞれ下記のように記述できる。
I1 = f1*Spec + Diff
I2 = f2*Spec + Diff … (1)
I1は最も明るい領域の強度を示し、I2は次に明るい領域の強度を示す。Specは鏡面反射成分の強度であり、Diffは拡散反射成分の強度である。f1は最も明るい領域における鏡面反射成分の比率を示し、f2は次に明るい領域における鏡面反射成分の比率を示す。この強度についての式は、3刺激値の各値に適用することができる(RGBであれば、R、G、Bのそれぞれに適用できる)。
【0040】
拡散反射成分は共通のため、I1とI2を減算すれば、拡散反射成分を除去した式が得られる。
I1-I2 = (f1-f2)*Spec … (2)
【0041】
R、G、Bの各刺激値に適用した場合、下記のように記述することができる。
R1-R2 = (f1-f2)*Spec_r
G1-G2 = (f1-f2)*Spec_g
B1-B2 = (f1-f2)*Spec_b … (3)
R1、G1、B1はI1の各刺激値の値であり、R2、G2、B2はI2の各刺激値の値であり、Spec_r、Spec_g、Spec_bはSpecの各刺激値の値である。
【0042】
鏡面反射成分のRGB比、即ちSpec_r/Spec_g、Spec_b/Spec_gは、(3)における(R1-R2)/(G1-G2)、(B1-B2)/(G1-G2)と同値であることは明らかである。つまり、最も明るい領域の強度と次に明るい領域の強度の差分をとることで、光源である鏡面反射成分のRGB比を取得でき、それをホワイトバランスゲインの計算に用いることができる。
【0043】
前述の計算の前提として、I1とI2のSpec及びDiffは同じである必要がある。
本発明では、できるだけ近いSpecとDiffを持つI1、I2を抽出する手法を提供する。
【0044】
図2は本開示の別の実施例に係るオートホワイトバランス処理方法のフローチャートを示す。図2に示すように、当該オートホワイトバランス処理方法は、以下のステップを含んでもよい。
【0045】
ステップS201:センサから出力された画像をブロック分割して複数の画像ブロックが得られる。
【0046】
センサから出力された画像を任意のブロック数に分割してもよい。例えば、図3に示すように、5行6列の30分割とし、分割した各画像ブロックにはID番号をつける。
【0047】
ステップS202:各画像ブロックの画素値を明るさレベル毎に分類する。
【0048】
例えば、各画像ブロックの画素値を、任意の分割数にレベル分けされた明るさレベル毎に分類する。具体的には、各画像ブロックの画素を、画素値の明るさを基準にnレベルに分ける(例:n=16)。例えばRGGB等のBayer配列の場合、2×2の単位を1画素として扱い、GrとGbの画素値平均を明るさとする。
【0049】
図4は一つの画像ブロックにおける各画素のレベル分けの例を示す。Lv0、Lv1は暗い部分を示し、Lv14、Lv15は明るい部分を示す。
【0050】
ステップS203:画素値を明るさレベル毎に集計する。
【0051】
例えば、レベル分けされた明るさレベル毎に各チャネル(例:RGB)の画素値の積算値と画素数を算出し、メモリに格納する。
【0052】
ステップS204:最も明るいレベルの画素群および次に明るいレベルの画素群の画素値平均を算出する。
【0053】
ステップS203でレベル分けした画素のうち、上位m1レベル(例:m1=3)の画素値の平均値を求める。これをR1、G1、B1と置く。さらに、対象の画素数Cnt1も求める。
【0054】
次に、上位m1レベルのすぐ下のレベルからm2レベル(例:m2=3)の画素値の平均値を求める。これをR2、G2、B2と置く。さらに、対象の画素数Cnt2も求める。
【0055】
最も明るいレベルの画素群および次に明るいレベルの画素群の画素値平均を算出する前に、飽和領域判定処理を行うことが好ましい。
【0056】
具体的には、明るさレベルが最高レベルに属する画素値が飽和画素と認められる場合(RGBチャネル全ての画素値が画素値のビット幅で示せる最大の値である場合、または、センサから出力された画像が飽和画素値のスレッショルドを持つ場合にRGBチャネル全ての画素値が当該スレッショルドを超える場合)、飽和画素数が予め設定した数を超えており、飽和画素が含まれる画像ブロックが予め設定した数を超えている場合、センサから出力された画像は飽和領域を持つと判断する。
【0057】
センサから出力された画像が飽和領域を持つと判断された場合、上位m1レベルの選択に最高レベル(例:Lv15)を含めず、一段低いLv14から下にシフトすることで、飽和画素による不正確性を回避することができる。当該処理に伴い、m2レベルも下にシフトする。
【0058】
上記計算は各ブロックについて実施する。求めた平均値及び画素数は、図5の表に示すメモリ領域に格納してもよい。図5の表のBlockIdx1、BlockIdx2はそれぞれ、ステップS201で分割した画像ブロックのブロック番号を示す。
【0059】
ステップS205:算出された最も明るいレベルの画素群および次に明るいレベルの画素群の画素値平均について色空間変換を行う。
【0060】
具体的には、ステップS204で算出されたR1、G1、B1について、G1を分母とした比を計算する。また、R2、G2、B2についても同様に計算する。計算したR1/G1、R2/G2は、一列のデータとして取り扱う。B1/G1、B2/G2も同様に扱う。BlockIdxは、BlockIdx1と、BlockIdx2にBlockIdx1の要素数を加算した配列を連結して求める。
【0061】
また、BlockIdxは別変数にコピーし管理する。ここで、当該変数名をuseIdxとする。
【0062】
例えば、BlockIdx、R/G、B/G、useIdxは、図6の表に示すメモリ領域に格納する。
【0063】
ステップS206:画像ブロックを分類処理、即ちグループ化処理する。
【0064】
図6の表に示すメモリ領域を参照し、useIdxに含まれる画像ブロック群のR/G、B/Gを抽出し、当該抽出したデータ列を入力とし、各種グループ化手法を適用してグループ番号を取得する。グループ化手法としては、例えばkmeans法、階層的クラスタリング法などの一般的なクラスタリング手法を用いることができる。これらのクラスタリング手法で、クラスタ数、各種オプションは任意で指定できる(例:クラスタ数3)。
【0065】
グループ化処理の結果は図8の表に示すメモリ領域に格納する。useIdxをBlockIdx1、BlockIdx2に対応する値に換算し、useIdx1、useIdx2とおき、対応するグループ番号をGroup1、Group2に格納する。
【0066】
好ましくは、分類処理で、明るさ情報によるブロック除去処理を行ってもよい。例えば、図6の表に示すメモリ領域を参照し、R/G=B/G=0となる画像ブロック、またGの値が一定値より低い画像ブロック(最大値の1%以下などの画像ブロック)のブロック番号をuseIdxから除去する。図7の表に、処理後のuseIdxの例を示す。
【0067】
好ましくは、分類処理で、平均・標準偏差によるブロック除去処理を行ってもよい。例えば、図6の表に示すメモリ領域を参照し、useIdxに含まれる画像ブロック群のR/Gの平均値と標準偏差を求め、標準偏差のn倍(例:n=2又は3が適当)の範囲から外れている画像ブロックのブロック番号をuseIdxから除去する。B/Gについても同様の処理を行う。処理後のuseIdxは、図7に示す例と同様に更新される。
【0068】
図8の表でuseIdx1、useIdx2に記載されている数値は一例であり、明るさ情報や平均・標準偏差によるブロック除去処理を行う場合、図6図7の結果に応じて変化する。
【0069】
ステップS207:明るさでソートした画像ブロックのうち上位n画像ブロックを抽出する。
【0070】
useIdx1、useIdx2に含まれる画像ブロック群を、図5の表を参照して明るさ(例:Gの画素値)で降順にソートし、上位n画像ブロックを抽出する(nは任意の自然数)。
【0071】
例えば、降順にソートした結果が、
useIdx1: 5, 15, 24, 23, 4…
useIdx2: 6, 5, 23, 22, 7, …
であった場合、かつn=3の場合に、抽出されるブロック番号は、useIdx1、useIdx2についてそれぞれ[5, 15, 24]、[6, 5, 23]である。これらのブロック番号配列をIdx1_sel、Idx2_selと置くことにする。つまり、
Idx1_sel = [5, 15, 24]
Idx2_sel = [6, 5, 23]
と表現できる。
【0072】
図9は、ソートされたuseIdx1及びとuseIdx2と、図5の表におけるR1、G1、B1、Cnt1、R2、G2、B2、Cnt2と、図8の表におけるGroup1、Group2とを統合した表を示す。但し、Group1、Group2の番号は一例である。
【0073】
好ましくは、上記抽出の処理で、画素数によるブロック除去処理を行ってもよい。例えば、Idx1_selに含まれるブロックのCnt数を図9の表を参照することで抽出し、抽出したCnt数の平均値を求め(Cnt_meanと置く)、useIdx1に含まれる全てのブロックのCnt数とCnt_meanを比較し、例えばCnt_meanの1%未満など極端にCnt数が少ない画像ブロックが存在した場合は、その画像ブロックをuseIdx1から除去し、改めて画像ブロックの抽出処理を行い、上位n画像ブロックを抽出することでIdx1_selを更新する。Idx2_sel、useIdx2に関しても同様の処理を行う。図10に、図9の表からuseIdx1=24が除去された場合の更新後の表を示す。
【0074】
好ましくは、上記抽出の処理で、彩度・色相範囲によるブロック除去処理を行ってもよい。例えば、useIdx2に含まれる画像ブロックの彩度・色相がIdx1_selに含まれる画像ブロックの分布範囲から所定の値以上離れている場合に、当該画像ブロックのブロック番号をuseIdx2から除去し、改めて画像ブロックの抽出処理を行い、上位n画像ブロックを抽出することでIdx2_selを更新する。彩度・色相の色空間は任意であり、例えばR/G対B/G空間等を用いる。
【0075】
好ましくは、上記抽出の処理で、分類の結果を参照して上位n画像ブロックを更新してもよい。例えば、Group1に存在し、Group2に存在しないグループ番号が存在する場合には、当該グループ番号に対応する画像ブロックをuseIdx1から除去し、改めて画像ブロックの抽出処理を行い、Idx1_selを更新する。
【0076】
例えば、図8の表を参照し、Idx1_selに対応するグループ番号とIdx2_selに対応するグループ番号の種類が一致しない、即ち、Idx1_selに対応するグループの類別とIdx2_selに対応するグループの類別が一致しない場合には、Idx2_selのブロックを更新することでグループ番号の種類を一致させる。例えば、図10の表では、Idx1_sel、Idx2_selに対応するグループ番号が下記のようになる。
Idx1_sel = 5, 15, 23 Group1[Idx1_sel]= 0, 2, 2
Idx2_sel = 6, 5, 23 Group2[Idx2_sel]= 0, 0, 0
【0077】
Idx1_selに対応するグループ番号が0、2であり、Idx2_selに対応するグループ番号が0のみであるので、Idx2_selの最下位の画像ブロック(23)を除去し、代わりに上位n+1画像ブロック以下から最も上位の、グループ番号2の画像ブロックをIdx2_selに追加する。
【0078】
本例では、追加するブロック番号が22であるので、Idx2_selは下記のように更新される。
Idx2_sel = 6, 5, 22 Group2[Idx2_sel] = 0, 0, 2
【0079】
ステップS208:画像ブロックの主成分が光源色の拡散反射成分か否かを判定する。
【0080】
図6の表に示すメモリ領域を参照し、useIdxに含まれる画像ブロック群を抽出し、抽出した画像ブロック群のR/GとB/Gの分布における標準偏差がある一定の値より小さい場合は、最も明るいレベルの画素群と次に明るいレベルの画素群の正規化された色空間での色度はほぼ同じとみなせることから、抽出した画像ブロック群の主成分は拡散反射成分であるとみなす。また、抽出したブロック群のR/GとB/Gの分布における標準偏差が当該一定の値以上である場合は、抽出した画像ブロック群の主成分が鏡面反射成分と拡散反射成分を含むと判定する。抽出した画像ブロック群の主成分が光源色の鏡面反射成分と拡散反射成分を含むと判定する場合、ステップS209へ移行し、抽出した画像ブロック群の主成分が光源色の拡散反射成分であると判定する場合、ステップS211へ移行する。
【0081】
なお、useIdxは、画素数によるブロック除去処理、彩度・色相範囲によるブロック除去処理、分類処理の結果によるブロック更新処理で更新したuseIdx1、useIdx2を反映して更新しても良い。
【0082】
ステップS209:鏡面反射成分と拡散反射成分の分離計算を行う。
【0083】
以上のように述べた(3)式に従って、拡散反射成分を除去するために、図5に示す表を参照し、Idx1_sel及びIdx2_selに含まれる画像ブロック群に対応するRGBの強度の平均値を求め、これらの平均の差分を計算する。式を下記に示す。
F*Spec_r = mean(R1[Idx1_sel])-mean(R2[Idx2_sel])
F*Spec_g = mean(G1[Idx1_sel])-mean(G2[Idx2_sel])
F*Spec_b = mean(B1[Idx1_sel])-mean(B2[Idx2_sel])
但し、F=f1-f2とする。
【0084】
ステップS210:鏡面反射成分を用いてホワイトバランスゲインを算出する。
【0085】
ステップS209で求めた鏡面反射成分を用いてホワイトバランスゲイン(White balance gain)を算出する。すなわち、下記の式のようになる。
White balance gain R = Spec_g/Spec_r
White balance gain G = 1.0
White balance gain B = Spec_g/Spec_b
【0086】
ステップS211:最も明るいレベルの画素群を光源色とみなし、ホワイトバランスゲインを算出する。
【0087】
抽出した画像ブロックの主成分が光源色の拡散反射成分であると判定する場合、最も明るいレベルの画素群を白領域と扱い、白領域の強度の平均値から以下の式でホワイトバランスゲインを算出する。
White_r = mean(R1[Idx1_sel])
White _g = mean(G1[Idx1_sel])
White _b = mean(B1[Idx1_sel])
White balance gain R = White_g/White_r
White balance gain G = 1.0
White balance gain B = White_g/White_b
【0088】
図11の(A)、(B)、(C)に示す写真は、MIT-Adobe FiveK Dataset(https://data.csail.mit.edu/graphics/fivek/)に公開されているDNGファイルを使って、DNGに保存されているホワイトバランスゲイン、従来手法で求めたホワイトバランスゲイン、本公開の提案手法により求めたホワイトバランスゲインをそれぞれ適用して現像した例である。図11の(A)に示す写真は、DNGに保存されている理想なホワイトバランスゲインによる正解の画像である。図11の(B)示す写真は、図11の(A)に示す写真に対して、色調がより暖かい(赤っぽい)といった差異がある。図11の(C)示す写真は、図11の(B)示す写真と比べて、色調などが望ましい画像である図11の(A)に示す写真に近づく。したがって、本公開の提案手法では、従来手法より画質が向上していることがわかる。
【0089】
実施例によれば、画像信号の明るさ情報を参照することで鏡面反射成分と拡散反射成分を含む領域を抽出して分類し、同一グループに分類された領域を同一の物体色による反射光とみなすことで、適切な光源色が得られ、適切なホワイトバランス補正係数を求めることを可能とする。これにより、高精度の光源推定を実現し、オートホワイトバランス処理の性能を改善することができる。
【0090】
図12は、例示的な実施例に係るオートホワイトバランス処理装置のブロック図である。図12に示すように、このオートホワイトバランス処理装置は、画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、各画像ブロック毎に明るさ情報の統計処理を行う統計解析部1201と、各画像ブロックの統計処理の結果に基づいて、各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する分類処理部1202と、分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する抽出処理部1203と、抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出するホワイトバランスゲイン算出部1204と、を含んでもよい。
【0091】
1つの可能な実現形態では、統計解析部1201は、各画像ブロックの画素の明るさ情報に基づいて、各画像ブロックの明るさレベルが異なる複数の画素群のうち、最も明るいレベルの画素群と次に明るいレベルの画素群を特定し、特定した最も明るいレベルの画素群と次に明るいレベルの画素群の画素値平均を算出する。
【0092】
1つの可能な実現形態では、統計解析部1201は、最も明るいレベルの画素群の画素が飽和画素である場合、最も明るいレベルの画素群から一段暗い画素群を最も明るいレベルの画素群とし、次に明るいレベルの画素群から一段暗い画素群を次に明るいレベルの画素群とする。
【0093】
1つの可能な実現形態では、分類処理部1202は、各画像ブロック毎に、統計解析部1201で算出された最も明るいレベルの画素群の画素値平均と次に明るいレベルの画素群の画素値平均のそれぞれに基づいて分類を行う。
【0094】
1つの可能な実現形態では、分類処理部1202は、統計解析部1201で算出された各画素の明るさ情報の平均が所定の値よりも低い画像ブロック、および各画素の画素値情報の平均が画像ブロックのすべてに基づいた画素値情報の平均から所定値以上外れている画像ブロックを除去して、分類を行う。
【0095】
1つの可能な実現形態では、抽出処理部1203は、統計解析部1201で算出された各画像ブロックの最も明るいレベルの画素群の明るさ情報で画像ブロックをソートし、ソートに基づいて所定数の画像ブロックを第1の画像ブロックとして抽出し、統計解析部1201で算出された各画像ブロックの次に明るいレベルの画素群の明るさ情報で画像ブロックをソートし、ソートに基づいて前記所定数の画像ブロックを第2の画像ブロックとして抽出する。
【0096】
1つの可能な実現形態では、抽出処理部1203は、分類の結果に基づいて、前記所定数の第1の画像ブロックの分類されたグループの類別と前記所定数の第2の画像ブロックの分類されたグループの類別とが同じになるように、前記第1の画像ブロックと前記第2の画像ブロックをホワイトバランスゲイン算出用の画像ブロックとして抽出する。
【0097】
1つの可能な実現形態では、抽出処理部1203は、彩度又は色相範囲が最も明るいレベルの画素群に対して所定の値以上外れている次に明るいレベルの画素群をもつ画像ブロックを除去する。
【0098】
1つの可能な実現形態では、抽出処理部1203は、最も明るいレベルの画素群および次に明るいレベルの画素群の画素数が、第1の画像ブロックと第2の画像ブロックのもつ最も明るいレベルの画素群および次に明るいレベルの画素群の画素数の平均より、所定の値以上小さい画像ブロックを除去する。
【0099】
1つの可能な実現形態では、ホワイトバランスゲイン算出部1204は、抽出処理部1203で抽出されたホワイトバランスゲイン算出用の画像ブロックの最も明るいレベルの画素群の画素値平均と次に明るいレベルの画素群の画素値平均に基づいて、鏡面反射成分を求め、鏡面反射成分に基づいてホワイトバランスゲインを算出する。
【0100】
1つの可能な実現形態では、ホワイトバランスゲイン算出部1204は、統計解析部1201で算出されたホワイトバランスゲイン算出用の各画像ブロックの画素値平均の標準偏差が所定の値よりも小さくなる場合、抽出処理部1203で抽出された画像ブロックの最も明るいレベルの画素群の画素値平均に基づいて、ホワイトバランスゲインを算出する。
【0101】
上記の実施例における装置について、各ユニットが動作を実行する具体的な方法は、当該方法に係る実施例において詳細に説明されているため、ここでは詳細な説明を省略する。
【0102】
図13は実施例に係るオートホワイトバランス処理装置を適用した撮影装置の構成例を示す。本撮影装置は、光学レンズ部1301と、イメージセンサー部1302と、シェーディング補正部1303と、オートホワイトバランス処理装置1304と、ホワイトバランス補正部1305と、を含む。オートホワイトバランス処理装置1304は、以上のように、統計解析部1201と、分類処理部1202と、抽出処理部1203と、ホワイトバランスゲイン算出部1204と、を含む。
【0103】
オートホワイトバランス処理装置は、ハードウェアにより実現してもよいし、ソフトウェアにより実現してもよいし、ハードウェアとソフトウェアの連携により実現してもよい。
【0104】
実施例によれば、画像信号の明るさ情報を参照することで鏡面反射成分と拡散反射成分を含む領域を抽出して分類し、同一グループに分類された領域を同一の物体色による反射光とみなすことで、適切な光源色が得られ、適切なホワイトバランス補正係数を求めることを可能とする。これにより、高精度の光源推定を実現し、オートホワイトバランス処理の性能を改善することができる。
【0105】
本開示の実施例は、コンピュータプログラム命令が記憶されているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラム命令がプロセッサにより実行されると、上述したオートホワイトバランス処理方法を実現させるコンピュータ読み取り可能な記憶媒体をさらに提供する。コンピュータ読み取り可能な記憶媒体は、揮発性または不揮発性のコンピュータ読み取り可能な記憶媒体であってもよい。
【0106】
本開示の実施例は、プロセッサと、プロセッサにより実行可能な命令を記憶するための記憶部と、を含み、前記プロセッサは、前記記憶部に記憶されている命令を実行すると、上述したオートホワイトバランス処理方法を実行するように構成される撮影装置をさらに提供する。
【0107】
本開示の実施例は、コンピュータ読み取り可能なコード又はコンピュータ読み取り可能なコードを記憶している不揮発性コンピュータ読み取り可能な記憶媒体を含み、前記コンピュータ読み取り可能なコードが電子機器のプロセッサにおいて動作すると、前記電子機器のプロセッサに上述したオートホワイトバランス処理方法を実行させるコンピュータプログラム製品をさらに提供する。
【0108】
以上、本開示の各実施例を記述したが、上記説明は例示的なものに過ぎず、網羅的なものではなく、かつ披露された各実施例に限定されるものでもない。当業者にとって、説明された各実施例の範囲および精神から逸脱することなく、様々な修正および変更が自明である。本明細書に選ばれた用語は、各実施例の原理、実際の適用または既存技術に対する改善を好適に解釈するか、または他の当業者に本文に披露された各実施例を理解させるためのものである。
【要約】      (修正有)
【課題】オートホワイトバランス処理の性能を改善することができるオートホワイトバランス処理方法、装置、撮影装置及び不揮発性コンピュータ読み取り可能な記憶媒体を提供する。
【解決手段】オートホワイトバランス処理方法は、画像をブロック分割し、各画像ブロック毎に含まれる画素の明るさ情報を算出し、前記各画像ブロック毎に前記明るさ情報の統計処理を行う統計解析ステップと、前記各画像ブロックの前記統計処理の結果に基づいて、前記各画像ブロックのそれぞれを同一の物体色とみなすグループに分類する分類処理ステップと、前記分類の結果に基づいて、ホワイトバランスゲイン算出用の画像ブロックを抽出する抽出処理ステップと、抽出された画像ブロックにおける鏡面反射成分からホワイトバランスゲインを算出するホワイトバランスゲイン算出ステップと、を含む。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13