JP6352236B2 - 自動ホワイトバランス補償方法および自動ホワイトバランス補償装置 - Google Patents
自動ホワイトバランス補償方法および自動ホワイトバランス補償装置 Download PDFInfo
- Publication number
- JP6352236B2 JP6352236B2 JP2015233137A JP2015233137A JP6352236B2 JP 6352236 B2 JP6352236 B2 JP 6352236B2 JP 2015233137 A JP2015233137 A JP 2015233137A JP 2015233137 A JP2015233137 A JP 2015233137A JP 6352236 B2 JP6352236 B2 JP 6352236B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- frame
- pixels
- type
- luminance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 3
- 229920006395 saturated elastomer Polymers 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000475481 Nebula Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 101150049912 bin3 gene Proteins 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/741—Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
- H04N23/88—Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Color Television Image Signal Generators (AREA)
- Processing Of Color Television Signals (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
Description
V=0.3×R+0.6×G+0.1×B (1)
式(1)では、Rは赤色値を表し、Gは緑色値を表し、Bは青色値を表し、Vは輝度値を表す。処理ユニット110は各ブロックの平均輝度AveLumおよび輝度ヒストグラムを計算する。図5は、本発明の一実施形態に係るブロックの輝度ヒストグラムの概略図である。本実施形態では、例として0から4095までの範囲の12ビットの輝度値を挙げているが、本発明はこれに限定されることはない。ヒストグラムは、例えば16個のビンに分割され、ビン8の最小輝度値V8は2047.5(=4095/2)に設定される。ビン7の最小輝度値V7およびビン9のV9は次の式(2)および(3)を用いて計算することができる。
V7=4095×r (2)
[数3]
V9=4095×(1−r) (3)
式(2)および(3)において、rは0から0.5の間の任意の値であり得る。rが0.25に設定されていると仮定すると、V7は1023.75、V9は3071.25である。0からV7までの輝度値は、7個のビン(Bin0〜Bin6)に均等に分割され、V9から4095までの輝度値は7個のビン(Bin9〜Bin15)に均等に分割される。8個目のビン(Bin7)の輝度値はV7からV8までであり、9個目のビン(Bin8)の輝度値はV8からV9までである。各ブロックについて、処理ユニット110は、その輝度値に基づいて各画素を対応するビンに分配すると共に、各ビンに画素がいくつ存在するかをカウントする。ヒストグラムを生成するための例示的な疑似コードは次の通りである。
HighThr = 4096 - LowThr;
valuePerBin = (LowThr / (blockBinNum/ 2 - 1)); // blockBinNum = 16
//for each block
for(byIdx = 0; byIdx < block_cnt_y; byIdx ++) {
for(bxIdx = 0; bxIdx < block_cnt_x; bxIdx ++) {
lum = image->y[pxlIdx];
sum += lum;
if (lum < LowThr) { // (Bin 0~6)
bin = ((unsigned short)(lum * (((blockBinNum >> 1) - 1) << 2)) >> 12); }
else if (lum < (maximum_12bits + 1) / 2) { // (Bin 7)
Bin = ( blockEntryNum / 2 - 1); }
else if (lum < HighThr) { // (Bin 8)
Bin = ( blockEntryNum / 2); }
else { // (Bin 9~15)
tmpLum = lum - HighThr;
tmpBin = ((unsigned short)(tmpLum * (((blockBinNum >> 1) - 1) << 2)) >> 12);
if (tmpBin >= ((blockBinNum >> 1) -1)){
bin = blockBinNum - 1;}
else {
bin = (blockBinNum >> 1) + 1 + tmpBin;} }
bestExpBlockInfor[curLumSumIdx].block_hist[Bin]++; }
bestExpBlockInfor[curLumSumIdx].block_averVal = sum / block_size; }
ここで、bestExpBlockInforは構造体アレイであり、各構造体は、輝度平均値block_averValと、Bin0からBin15の画素数block_hist[Bin]とを含む1つのブロックの統計情報を保存する。
threBinLow≒(BinNum/2−1)/r×0.18 (4)
[数5]
threBinHigh≒BinNum−(BinNum/2−1)/r×0.18 (5)
式(4)および(5)において、threBinLowは低ビンしきい値を表し、threBinHighは高ビンしきい値を表し、BinNumはブロックのヒストグラム内のビンの総数を表し、例えばBinNum=16であり、かつrは0から5までの任意の値であり得る。rが0.25に設定されていると仮定すると、低ビンしきい値は5であり、高ビンしきい値は11である。各ブロックについて、Bin0からBin5までにある画素は暗領域に属し、一方、Bin11からBin15までにある画素は飽和領域に属する。各ブロックについて、暗領域の画素数を表すpixNumLowはBin0からBin5まで累積され、飽和領域の画素数を表すpixNumLowはBin11からBin15まで累積される。処理ユニット110は、下記の判断によって、ブロックのタイプが低露光、ノーマル露光、または高露光のいずれであるかを識別する。ブロックは、暗領域の画素数pixNumLowがブロック輝度しきい値blocklumthresよりも大きくなく、かつ飽和領域の画素数pixNumHighがブロック輝度しきい値blocklumthresよりも大きくない場合に、第1のタイプ(ノーマル露光)としてラベリングされる。ブロックは、暗領域の画素数pixNumLowがブロック輝度しきい値blocklumthresよりも大きい場合、第2のタイプ(低露光)としてラベリングされる。ブロックは、飽和領域の画素数pixNumHighがブロック輝度しきい値blocklumthresよりも大きい場合に、第3のタイプ(高露光)としてラベリングされる。本実施形態において、ブロック輝度しきい値はブロック内の画素の総数に関連し、例えばblocklumthres=blocksize*ratioである。別の実施形態では、処理ユニット110は、低輝度平均しきい値AveLumLow(例えば256)および高輝度平均しきい値(例えば3840)をさらに提供する。ブロックは、そのブロックの輝度平均値AveLumが低輝度平均しきい値AveLumLow以下である場合に、第2のタイプ(低露光)としてラベリングされる。ブロックは、そのブロックの輝度平均値AveLumが高輝度平均しきい値AveLumHigh以上である場合に、第3のタイプ(高露光)としてラベリングされる。ブロックは、第2のタイプまたは第3のタイプとしてラベリングされなかった場合に、第1のタイプ(ノーマル露光)としてラベリングされる。各ブロックのタイプを識別するための例示的な疑似コードは次のとおりである。
for (x = 0; x < block _cnt_x; x++) {
for (y = 0; y < block_cnt_y; y++) {
curblockIdx = y * block _cnt_x + x;//block index
while (i <= ThrblockL) {
j = binNum - i;
blockcntltmp += bestExpBlockInfor[curgIdx]. block_hist[i] ; // accumulate from low to high
blockcnthtmp += bestExpBlockInfor[curgIdx].block_hist[j];// accumulate from high to low
i++; }
curBlockAve = m_pBestExpBlockInfor[curgIdx].block_averVal;
b_AveLumMin = (maximum_12bits + 1) >> 4; //average low threshold
b_AveLumMax = (maximum_12bits + 1) - g_KAveLumMin; //average high threshold
ThrblockCnt = blockSize * 0.18;//histogram threshold
//block label is defined by average and histogram of the block
isUnder = ((Gridcntltmp > thrBlockCnt) && (g_KAveLumMin >= curBlockAve));
isOver = ((Gridcnthtmp > thrBlockCnt) && (g_KAveLumMax <= curBlockAve));
if (isUnder && isOver) { // is over and is under
blockLabel[curblockIdx] = NORMAL; }// NORMAL = 1
else if (isUnder) { // is under
blockLabel[curblockIdx] = LOW; } // LOW = 0
else if (isOver) { //is over
blockLabel[curblockIdx] = HIGH; } // HIGH = 2
else { // is not over and not under
blockLabel[curblockIdx] = NORMAL;}}}
ここで、blockLabelはアレイであり、このアレイにおいて、各セルは例えば低露光“LOW”、ノーマル露光“NORMAL”および高露光“HIGH”のようなブロックの1のタイプを保存している。なお、暗領域または飽和領域の画素数およびブロックの輝度平均値AveLumの両方を考慮に入れるような設計にすることもできる。例えば、ブロックは、暗領域の画素数pixNumLowがブロック輝度しきい値blocklumthresよりも大きく、かつ輝度平均値AveLumが低輝度平均しきい値AveLumLow以下である場合に、第2のタイプ(低露光)としてラベリングされる。ブロックは、飽和領域の画素数pixNumHighがブロック輝度しきい値blocklumthresよりも大きく、かつ輝度平均値AveLumが高輝度平均しきい値AveLumHigh以上である場合に、第3のタイプ(高露光)としてラベリングされる。ブロックは、低露光タイプまたは高露光タイプとしてラベリングされなかった場合、第1のタイプ(ノーマル露光)としてラベリングされる。
Wp=D1×D2×WUL+D1×D4×WUR+D3×D2×WLL+D3×D4×WLR (6)
ここで、WULは上左側のブロックに関するブロックの重みを表し、WURは上右側のブロックに関するブロックの重みを表し、WLLは下左側のブロックに関するブロックの重みを表し、WLRは下右側のブロックに関するブロックの重みを表し、D1は画素pから下縁辺E1までの距離を表し、D2は画素pから右縁辺E2までの距離を表し、D3は画素pから上縁辺E3までの距離を表し、D4は画素pから左縁辺E4までの距離を表す。ステップS319で計算されたフレーム0の各画素の重みは、フレーム0とフレーム1との合成プロセスにおいて用いられることとなる。詳細は後述する。
shiftRatio=pixelNumBin0/pixelNumBin3
(7)
式(7)において、pixelNumBin0は暗領域の第1の画素数を表し、pixelNumBin3は飽和領域の第2の画素数を表す。次に、処理ユニット110は、第1の画素数の第2の画素数に対する比値に基づいて、拡張倍数(expansion multiplier)exp_timesを計算する。暗画素数の飽和画素数に対する比値が8未満である場合、拡張倍数exp_timesを計算するのに式(8)を用いることができる。暗画素数の飽和画素数に対する比値が8以上である場合、拡張倍数exp_timesを計算するのに式(9)を用いることができる。
exp_times=a×shiftRatio×shiftRatio+b×
shiftRatio+c (8)
[数9]
exp_times=d×shiftRatio×shiftRatio+e×
shiftRatio+f (9)
式(8)および(9)において、a、b、c、d、eおよびfは浮動小数点数である。続いて、処理ユニット110は、フレーム0の統計情報から導き出された比値shiftRatioおよびフレーム0の露光設定に基づいて、フレーム1を処理するのに必要な第1の露光パラメータを計算し(ステップS353)、かつフレーム2を処理するのに必要な第2の露光パラメータを計算する(ステップS335)。露光設定には、シャッタースピード(shtと示される)、アナログゲイン(agと示される)およびデジタルゲイン(dgと示される)が含まれる。露光設定は、例えば、sht、agおよびdgの乗積である。第1の露光パラメータPara1および第2の露光パラメータPara2は次の式(10)および(11)を用いて計算することができる。
Para1=sht×ag×dg×exp_times/expValue (10)
[数11]
Para2=sht×ag×dg×exp_times (11)
式(10)および(11)において、expValueは、第2の露光パラメータの第1の露光パラメータに対する比値である固定拡張値(fixed expansion value)を表す。12ビットのLDRフレームを拡張および合成して18ビットのHDRフレームを生成する本実施形態において、expValueは、64である。
curveMapValHigh = curveTable_AVR[0] x Para2 + curveTable_AVR[1];
slope_Normal = curveMapValHigh / curveMapValNormal;
ここで、slope_Normalは、フレーム0の第1の拡張因子を表す。curveTable_AVR[0]は、カメラモジュール190のイメージセンサに関連する校正された傾き(calibrated slope)である。curveTable_AVR[1]は、カメラモジュール190のイメージセンサに関連する校正されたy切片である。sht×ag×dgは、フレーム0の露光設定を表す(ただし、shtはフレーム0のシャッタースピードを表し、agはフレーム0のアナログゲインを表し、dgはフレーム0のデジタルゲインを表す)。Para2は、式(11)を用いて算出された第2の露光パラメータを表す。処理ユニット110は、フレーム0における各画素のHSV値に第1の拡張因子slope_Normalを乗じて、フレーム0をHDR空間に拡張する。
curveMapValHigh = curveTable_AVR[0] x Para2 + curveTable_AVR[1];
slope_Low = curveMapValHigh / curveMapValLow;
ここで、slope_Lowはフレーム1の第2の拡張因子を表し、curveTable_AVR[0]はカメラモジュール190のイメージセンサに関連する校正された傾きであり、curveTable_AVR[1]はカメラモジュール190のイメージセンサに関連する校正されたy切片であり、Para1は式(10)によりステップS353で算出された第1の露光パラメータを表し、Para2は式(11)によりステップS335で算出された第2の露光パラメータを表す。処理ユニット110は、フレーム1における各画素のHSV値に第2の拡張因子slope_Lowを乗じて、フレーム1をHDR空間に拡張する。
weightRef = pixelweight[index1];
weightIn = 1.0 - weightRef;
outPixH = inputImg->HDRdata[index + 0] * weightIn + refImg->HDRdata[index + 0] * weightRef; // H channel fusion
dst->HDRdata[index] = outPixH;
outPixS = inputImg->HDRdata[index + 1] * weightIn + refImg->HDRdata[index + 1] * weightRef; // S channel fusion
dst ->HDRdata[index + 1] = outPixS;
outPixV = inputImg->HDRdata[index + 2] * weightIn + refImg->HDRdata[index + 2] * weightRef; // V channel fusion
dst ->HDRdata[index + 2] = outPixV; }
else if ((1 == frameNum) && (pixelweight[index1] > 64)) {
outPixH = refImg->HDRdata[index + 0]; // H channel from reference frame(frame 0)
dst ->HDRdata[index] = outPixH;
outPixS = refImg->HDRdata[index + 1]; // S channel from reference frame(frame 0)
dst ->HDRdata[index + 1] = outPixS;
outPixV = refImg->HDRdata[index + 2]; // V channel from reference frame(frame 0)
dst ->HDRdata[index + 2] = outPixV; }
ここで、pixelweight[index1]は(index1)個目の画素の重みを表し、inputImgは補償されたフレーム1を表し、refImgは補償されたフレーム0を表し、dstはフレーム3を表す。
weightIn = pixelweight[index1] - 1;
weightRef = 1.0 - weightIn;
outPixH = inputImg->HDRdata[index + 0] * weightIn + refImg->HDRdata[index + 0] * weightRef;
dst ->HDRdata[index] = outPixH;
outPixS = inputImg->HDRdata[index + 1] * weightIn + refImg->HDRdata[index + 1] * weightRef;
dst ->HDRdata[index + 1] = outPixS;
outPixV = inputImg->HDRdata[index + 2] * weightIn + refImg->HDRdata[index + 2] * weightRef;
dst ->HDRdata[index + 2] = outPixV; }
else {
outPixH = refImg->HDRdata[index + 0];
dst ->HDRdata[index] = outPixH;
outPixS = refImg->HDRdata[index + 1];
dst ->HDRdata[index + 1] = outPixS;
outPixV = refImg->HDRdata[index + 2];
dst ->HDRdata[index + 2] = outPixV; }
ここで、pixelweight[index1]は、(index1)個目の画素の重みを表す。inputImgは、補償されたフレーム2を表す。refImgは、フレーム3を表す。dstは、フレーム4を表す。
本出願は、2015年3月17日に出願された中華人民共和国特許出願第201510117455.6号の利益を主張し、その全体が本明細書において援用される。
130、150…フレームバッファー
140…揮発性メモリ
170…カメラモジュールコントローラ
190…カメラモジュール
410…ベイヤーパターン
ビン0〜ビン15…ビン
V7〜V9、C1〜C4…輝度値
Wp…画素の重み
WUL…上左側のブロックの重み
WUR…上右側のブロックの重み
WLL…下左側のブロックの重み
WLR…下左側のブロックの重み
E1、E2、E3、E4…縁辺
D1…画素Wpから下縁辺までの距離
D2…画素Wpから右縁辺までの距離
D3…画素Wpから上縁辺までの距離
D4…画素Wpから左縁辺までの距離
Claims (22)
- 処理ユニットにより実行される自動ホワイトバランス補償方法であって、
フレーム0を取得する工程と、
前記フレーム0を複数のブロックに分割する工程と、
前記フレーム0の各ブロックのブロック統計情報を得る工程と、
前記フレーム0の各ブロックをそのブロック統計情報に基づいて複数のタイプのうちの1つとしてラベリングする工程と、
第1のタイプとしてラベリングされたブロックである前記フレーム0の第1のタイプのブロックを入力として前記フレーム0に第1のAWB補償を施す工程と、
第2のタイプとしてラベリングされたブロックである前記フレーム0の第2のタイプのブロックの位置と同じ位置におけるフレーム1のブロックを入力として前記フレーム1に第2のAWB補償を施す工程と、
前記補償されたフレーム0を前記補償されたフレーム1と合成する工程と、を含み、
前記第1のタイプは、
1)前記各ブロックの輝度ヒストグラムの暗領域の画素数、及び、前記各ブロックの前記輝度ヒストグラムの飽和領域の画素数と、
2)前記各ブロックの輝度平均値と、
3)前記各ブロックの前記輝度ヒストグラムの前記暗領域の画素数、前記各ブロックの前記輝度ヒストグラムの前記飽和領域の画素数、及び、前記各ブロックの前記輝度平均値との、1)〜3)のうちのいずれか1つに基づいて、ラベリングされる、自動ホワイトバランス補償方法。 - 前記第1のタイプのブロックを入力として前記フレーム0に第1のAWB補償を施す工程が、
前記フレーム0の前記第1のタイプのブロックの画素を入力と見なして、統計計算に採用する工程と、
計算結果に基づいて前記フレーム0のRチャネルおよびBチャネル画素のゲインを調整する工程と、
をさらに含む請求項1に記載の自動ホワイトバランス補償方法。 - ブロックは、該ブロックの前記輝度ヒストグラムの前記暗領域の前記画素数がブロック輝度しきい値より大きくなく、かつ該ブロックの前記輝度ヒストグラムの前記飽和領域の前記画素数が前記ブロック輝度しきい値より大きくない場合に、前記第1のタイプとしてラベリングされる請求項1または2に記載の自動ホワイトバランス補償方法。
- 前記ブロックの前記輝度ヒストグラムが複数のビンに分割され、前記ブロックの各画素がその輝度値に基づいて1つのビンに分配され、かつ前記暗領域が、最初のビンから低ビンしきい値を有する1つのビンまでのビンを含み、前記飽和領域が、高ビンしきい値を有する1つのビンから最後のビンまでのビンを含む請求項3に記載の自動ホワイトバランス補償方法。
- ブロックは、該ブロックの輝度ヒストグラムの暗領域の画素数がブロック輝度しきい値よりも大きい場合に、第2のタイプとしてラベリングされる請求項1から4のいずれか1項に記載の自動ホワイトバランス補償方法。
- ブロックは、該ブロックの輝度平均値が低輝度平均しきい値から高輝度平均しきい値までの間にある場合に、前記第1のタイプとしてラベリングされる請求項1から5のいずれか1項に記載の自動ホワイトバランス補償方法。
- フレーム2を取得する工程と、
第3のタイプとしてラベリングされたブロックである前記フレーム0の第3のタイプのブロックの位置と同じ位置における前記フレーム2のブロックを入力として、前記フレーム2に第3のAWB補償を施す工程と、
前記補償されたフレーム2を、前記補償されたフレーム0と前記補償されたフレーム1との合成結果と合成する工程と、
をさらに含む請求項1から6のいずれか1項に記載の自動ホワイトバランス補償方法。 - 前記フレーム2は高露光フレームであり、ブロックは、該ブロックの前記輝度ヒストグラムの前記飽和領域の前記画素数がブロック輝度しきい値よりも大きいときに、前記第3のタイプとしてラベリングされる請求項7に記載の自動ホワイトバランス補償方法。
- 前記フレーム0はノーマル露光フレームであり、前記フレーム1は低露光フレームである請求項1から8のいずれか1項に記載の自動ホワイトバランス補償方法。
- 前記各ブロックの前記タイプに基づいてブロックの重みを設定する工程と、
前記ブロックの重みに基づいて前記フレーム0の複数の画素の重みを計算する工程と、
前記画素の重みに基づいて、前記補償されたフレーム0を前記補償されたフレーム1と合成する工程と、
をさらに含む請求項1から9のいずれか1項に記載の自動ホワイトバランス補償方法。 - 前記画素の重みが次の式により計算される請求項10に記載の自動ホワイトバランス補償方法。
[数1]
Wp=D1×D2×WUL+D1×D4×WUR+D3×D2×WLL+D3×D4×WLR
(式中、Wpはフレーム0の1つの画素の画素の重みを表し、WULは上左側のブロックのブロックの重みを表し、WURは上右側のブロックのブロックの重みを表し、WLLは下左側のブロックのブロックの重みを表し、WLRは下右側のブロックのブロックの重みを表し、D1は前記画素から下縁辺までの距離を表し、D2は前記画素から右縁辺までの距離を表し、D3は前記画素から上縁辺までの距離を表し、D4は前記画素から左縁辺までの距離を表す。) - 自動ホワイトバランス補償を行う自動ホワイトバランス補償装置であって、
カメラモジュールに接続されたカメラモジュールコントローラと、
前記カメラモジュールコントローラを介してフレーム0を取得し、前記フレーム0を複数のブロックに分割し、前記フレーム0の各ブロックのブロック統計情報を得、前記フレーム0の各ブロックをそのブロック統計情報に基づいて複数のタイプのうちの1つとしてラベリングし、第1のタイプとしてラベリングされたブロックである前記フレーム0の第1のタイプのブロックを入力として前記フレーム0に第1のAWB補償を施し、第2のタイプとしてラベリングされたブロックである前記フレーム0の第2のタイプのブロックの位置と同じ位置におけるフレーム1のブロックを入力として前記フレーム1に第2のAWB補償を施し、かつ前記補償されたフレーム0を前記補償されたフレーム1と合成する処理ユニットと、を含み、
前記第1のタイプは、
1)前記各ブロックの輝度ヒストグラムの暗領域の画素数、及び、前記各ブロックの前記輝度ヒストグラムの飽和領域の画素数と、
2)前記各ブロックの輝度平均値と、
3)前記各ブロックの前記輝度ヒストグラムの前記暗領域の画素数、前記各ブロックの前記輝度ヒストグラムの前記飽和領域の画素数、及び、前記各ブロックの前記輝度平均値との、1)〜3)のうちのいずれか1つに基づいて、ラベリングされる、自動ホワイトバランス補償装置。 - 前記処理ユニットが、前記フレーム0の前記第1のタイプのブロックの画素を入力と見なして統計計算に採用し、計算結果に基づいて前記フレーム0のRチャネルおよびBチャネル画素のゲインを調整する請求項12に記載の自動ホワイトバランス補償装置。
- ブロックは、該ブロックの前記輝度ヒストグラムの前記暗領域の前記画素数がブロック輝度しきい値より大きくなく、かつ該ブロックの前記輝度ヒストグラムの前記飽和領域の前記画素数が前記ブロック輝度しきい値より大きくない場合に、前記第1のタイプとしてラベリングされる請求項12または13に記載の自動ホワイトバランス補償装置。
- 前記ブロックの前記輝度ヒストグラムが複数のビンに分割され、前記ブロックの各画素がその輝度値に基づいて1つのビンに分配され、かつ前記暗領域が最初のビンから低ビンしきい値を有する1つのビンまでのビンを含み、前記飽和領域が、高ビンしきい値を有する1つのビンから最後のビンまでのビンを含む請求項14に記載の自動ホワイトバランス補償装置。
- ブロックは、該ブロックの輝度ヒストグラムの暗領域の画素数がブロック輝度しきい値よりも大きい場合に、第2のタイプとしてラベリングされる請求項12から15のいずれか1項に記載の自動ホワイトバランス補償装置。
- ブロックは、該ブロックの輝度平均値が低輝度平均しきい値から高輝度平均しきい値までの間にある場合に、前記第1のタイプとしてラベリングされる請求項12から16のいずれか1項に記載の自動ホワイトバランス補償装置。
- 前記処理ユニットが、フレーム2を取得し、第3のタイプとしてラベリングされたブロックである前記フレーム0の第3のタイプのブロックの位置と同じ位置における前記フレーム2のブロックを入力として前記フレーム2に第3のAWB補償を施し、前記補償されたフレーム2を前記補償されたフレーム0と前記補償されたフレーム1との合成結果と合成する請求項12から17のいずれか1項に記載の自動ホワイトバランス補償装置。
- 前記フレーム2は高露光フレームであり、ブロックは、該ブロックの前記輝度ヒストグラムの前記飽和領域の前記画素数がブロック輝度しきい値よりも大きい場合に、前記第3のタイプとしてラベリングされる請求項18に記載の自動ホワイトバランス補償装置。
- 前記フレーム0はノーマル露光フレームであり、前記フレーム1は低露光フレームである請求項12から19のいずれか1項に記載の自動ホワイトバランス補償装置。
- 前記処理ユニットが、前記各ブロックの前記タイプに基づいてブロックの重みを設定し、前記ブロックの重みに基づいて前記フレーム0の複数の画素の重みを計算し、前記画素の重みに基づいて前記補償されたフレーム0を前記補償されたフレーム1と合成する請求項12から20のいずれか1項に記載の自動ホワイトバランス補償装置。
- 前記画素の重みが次の式により計算される請求項21に記載の自動ホワイトバランス補償装置。
[数2]
Wp=D1×D2×WUL+D1×D4×WUR+D3×D2×WLL+D3×D4×WLR
(式中、Wpはフレーム0の1つの画素の画素の重みを表し、WULは上左側のブロックのブロックの重みを表し、WURは上右側のブロックのブロックの重みを表し、WLLは下左側のブロックのブロックの重みを表し、WLRは下右側のブロックのブロックの重みを表し、D1は前記画素から下縁辺までの距離を表し、D2は前記画素から右縁辺までの距離を表し、D3は前記画素から上縁辺までの距離を表し、D4は前記画素から左縁辺までの距離を表す。)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510117455.6 | 2015-03-17 | ||
CN201510117455.6A CN104683779B (zh) | 2015-03-17 | 2015-03-17 | 自动白平衡补偿方法以及使用该方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016174349A JP2016174349A (ja) | 2016-09-29 |
JP6352236B2 true JP6352236B2 (ja) | 2018-07-04 |
Family
ID=53318269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015233137A Active JP6352236B2 (ja) | 2015-03-17 | 2015-11-30 | 自動ホワイトバランス補償方法および自動ホワイトバランス補償装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9443284B1 (ja) |
EP (1) | EP3070931B1 (ja) |
JP (1) | JP6352236B2 (ja) |
KR (1) | KR101756548B1 (ja) |
CN (1) | CN104683779B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452874B2 (en) | 2016-03-04 | 2019-10-22 | Disney Enterprises, Inc. | System and method for identifying and tagging assets within an AV file |
CN107959839B (zh) * | 2017-11-27 | 2019-07-30 | 努比亚技术有限公司 | 一种白平衡调整的方法、终端及计算机可读存储介质 |
JP7205380B2 (ja) * | 2019-05-27 | 2023-01-17 | 三菱電機株式会社 | 撮像装置及び撮像方法 |
CN111444825A (zh) * | 2020-03-25 | 2020-07-24 | 四川长虹电器股份有限公司 | 一种利用直方图判断图像场景的方法 |
US11445127B2 (en) | 2020-06-15 | 2022-09-13 | Samsung Electronics Co., Ltd. | Leveraging HDR sensors for handling mixed illumination auto white balance |
US11653105B2 (en) * | 2020-12-02 | 2023-05-16 | Texas Instmments Incorporated | Intensity separated local white balance correction |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS625793A (ja) * | 1985-07-01 | 1987-01-12 | Hitachi Denshi Ltd | 自動白バランス補正装置 |
EP0982950A3 (en) * | 1998-08-24 | 2004-09-29 | Sony Corporation | Electronic video camera comprising an MPEG encoder |
KR100363826B1 (ko) | 1999-06-07 | 2002-12-06 | 히다치덴시 가부시키가이샤 | 넓은 다이내믹레인지의 영상신호를 생성하는텔레비젼신호처리장치와 그 신호처리장치를 가지는텔레비젼카메라 및 텔레비젼신호처리방법 |
US7480421B2 (en) * | 2005-05-23 | 2009-01-20 | Canon Kabushiki Kaisha | Rendering of high dynamic range images |
JP4218723B2 (ja) * | 2006-10-19 | 2009-02-04 | ソニー株式会社 | 画像処理装置、撮像装置、画像処理方法およびプログラム |
US8599282B2 (en) * | 2007-04-26 | 2013-12-03 | Samsung Electronics Co., Ltd. | Method and apparatus for generating image |
JP5146015B2 (ja) * | 2008-03-04 | 2013-02-20 | 株式会社リコー | 撮像装置及び撮像方法 |
TWI403177B (zh) * | 2008-05-21 | 2013-07-21 | Univ Nat Taiwan Normal | 高動態範圍合成影像色溫調控系統及其調控方法 |
JP5375457B2 (ja) | 2008-09-03 | 2013-12-25 | 株式会社リコー | 撮像装置及び撮像方法 |
US8760537B2 (en) * | 2010-07-05 | 2014-06-24 | Apple Inc. | Capturing and rendering high dynamic range images |
JP2012109900A (ja) * | 2010-11-19 | 2012-06-07 | Aof Imaging Technology Ltd | 撮影装置、撮影方法、およびプログラム |
US8947555B2 (en) * | 2011-04-18 | 2015-02-03 | Qualcomm Incorporated | White balance optimization with high dynamic range images |
JP2012257193A (ja) * | 2011-05-13 | 2012-12-27 | Sony Corp | 画像処理装置、撮像装置、および画像処理方法、並びにプログラム |
JP5952573B2 (ja) | 2012-02-02 | 2016-07-13 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
-
2015
- 2015-03-17 CN CN201510117455.6A patent/CN104683779B/zh active Active
- 2015-07-23 US US14/806,915 patent/US9443284B1/en active Active
- 2015-10-29 EP EP15192142.6A patent/EP3070931B1/en active Active
- 2015-11-24 KR KR1020150164640A patent/KR101756548B1/ko active IP Right Grant
- 2015-11-30 JP JP2015233137A patent/JP6352236B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP3070931B1 (en) | 2020-12-16 |
CN104683779B (zh) | 2017-08-29 |
JP2016174349A (ja) | 2016-09-29 |
KR20160111837A (ko) | 2016-09-27 |
US9443284B1 (en) | 2016-09-13 |
KR101756548B1 (ko) | 2017-07-10 |
CN104683779A (zh) | 2015-06-03 |
US20160275651A1 (en) | 2016-09-22 |
EP3070931A1 (en) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6352236B2 (ja) | 自動ホワイトバランス補償方法および自動ホワイトバランス補償装置 | |
JP6240143B2 (ja) | ハイダイナミックレンジ画像生成方法およびハイダイナミックレンジ画像生成装置 | |
JP5713752B2 (ja) | 画像処理装置、及びその制御方法 | |
JP6288816B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
KR100513342B1 (ko) | 디지털 자동 화이트 밸런스 장치 | |
US8582923B2 (en) | Image processing apparatus, image processsing method, and program | |
JP5408053B2 (ja) | 画像処理装置、画像処理方法 | |
WO2012098768A1 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、および撮影装置 | |
JP6934240B2 (ja) | 画像処理装置 | |
CN111970432A (zh) | 一种图像处理方法及图像处理装置 | |
US20180288336A1 (en) | Image processing apparatus | |
US9930266B2 (en) | Methods for generating HDR (high dynamic range) images and apparatuses using the same | |
JP5315125B2 (ja) | 画像処理装置、撮像装置、および合成画像の生成方法 | |
JP2006333113A (ja) | 撮像装置 | |
JP2008219230A (ja) | 撮像装置及び画像処理方法 | |
JP2023002345A (ja) | 画像処理装置および画像処理方法 | |
JP5846885B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2017229025A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2014155000A (ja) | 画像処理装置、その制御方法、および制御プログラム | |
JP3697464B2 (ja) | 文書画像処理装置、撮像装置及び文書画像処理プログラム | |
WO2020071108A1 (ja) | 画像処理装置および画像処理方法 | |
JP2023154575A (ja) | 撮像装置およびその制御方法、ならびに画像処理装置 | |
JP2023090493A (ja) | 画像処理装置及びその制御方法、プログラム、記憶媒体 | |
JP2020061726A (ja) | 画像処理装置および画像処理方法 | |
JP2012100223A (ja) | 撮像装置、ホワイトバランス調整方法及びホワイトバランス調整プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6352236 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |