JP5632937B2 - 画像処理装置及び方法、及びコンピュータプログラム - Google Patents

画像処理装置及び方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP5632937B2
JP5632937B2 JP2013125516A JP2013125516A JP5632937B2 JP 5632937 B2 JP5632937 B2 JP 5632937B2 JP 2013125516 A JP2013125516 A JP 2013125516A JP 2013125516 A JP2013125516 A JP 2013125516A JP 5632937 B2 JP5632937 B2 JP 5632937B2
Authority
JP
Japan
Prior art keywords
image
lookup table
image processing
processing apparatus
processing
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
Application number
JP2013125516A
Other languages
English (en)
Other versions
JP2013176171A (ja
Inventor
梅田 清
清 梅田
井口 良介
良介 井口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013125516A priority Critical patent/JP5632937B2/ja
Publication of JP2013176171A publication Critical patent/JP2013176171A/ja
Application granted granted Critical
Publication of JP5632937B2 publication Critical patent/JP5632937B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、入力された画像の明るさを補正する画像処理装置および方法に関する。
従来より、デジタルカメラで撮影された写真画像データに対して様々な補正を行い、好適な写真画像を表示・プリントする方法が、様々提案されている。このような画像補正方法は、大別すると、画像全体に均一的な補正を行う均一補正と、画像の局所的な性質に応じて補正量が変化する局所的補正の二つに分けて考えることができる。
前者の均一補正の例を挙げると、特許文献1に示されているようなカラーバランス補正がある。特許文献1では、画像の輝度ヒストグラムを算出し、累積度数に応じて画像中のハイライト・シャドーポイントを算出する。ハイライト・シャドーポイントの色差成分が0であれば、該画像データのカラーバランスは適正と判断する。一方で、色差成分が0ではない場合、カラーバランスが崩れていると判断し、輝度・色差空間において、ハイライト・シャドーポイントの色差を0とするような回転行列を画像に対して一律に処理する。
一方、後者の局所的補正については、覆い焼きに代表されるような、画像の空間的な位置に応じて補正量が変化する種類の画像処理が挙げられる。覆い焼き処理とは、例えば、人物などの被写体が暗く、背景が明るい場合に、暗い人物領域の輝度は大きく上昇させ、明るい背景領域の輝度はさほど変化させないことにより、背景の白トビを抑えて人物領域の明るさを適正に補正するというものである。このような覆い焼き処理としては、従来より、特許文献2や特許文献3が提案されている。両者とも、入力画像に対してフィルタ処理を施して低周波画像、すなわちボケ画像を生成し、該ボケ画像を空間的な明るさの制御因子として用いることで、デジタル処理における覆い焼き処理を実現している。
特開2000−013616 特開2001−298619 特許第3233114号
画像全体の補正と、画像の局所的な補正を行う場合、例えば、画像全体の補正後の画素値から明るさ成分のみを抽出し、該成分を局所的に制御することが考えられるが、演算量が大きくなってしまう。上記従来技術では、画像全体の補正と画像の局所的な補正を行う場合に、画像の特徴量に基づいて画像全体を補正するための第1のルックアップテーブルを生成し、生成された第1のルックアップテーブルを用いて画像に含まれる特定オブジェクトの属性情報を更新し、更新された属性情報に基づいて第2のルックアップテーブルを生成する技術の開示がなかった。
本発明は上記課題を鑑みたもので、画像全体の補正と画像の局所的な補正を、低演算量で実現することを目的とする。
上記課題を解決するために、本発明は、画像の特徴量に基づいて、前記画像を補正するための第1のルックアップテーブルを生成する第1の生成手段と、前記画像に含まれる特定オブジェクトの属性情報を前記第1のルックアップテーブルを用いて更新する更新手段と、前記更新手段によって更新された属性情報に基づいて、前記特定オブジェクトを補正するための第2のルックアップテーブルを生成する第2の生成手段と、前記生成された第1および第2のルックアップテーブルを用いて、前記画像を補正する補正手段とを有することを特徴とする画像処理装置を提供する。
他の発明は、上記画像処理装置における画像処理方法、及び該方法を実行するためのプログラムを記憶した記憶媒体に関するものである。
本発明は、画像全体の補正と画像の局所的な補正を低演算量で行うことができる。
本発明の第1の実施例におけるブロック図 本発明が実施可能なハードウェア構成例 本発明における画像解析部のフローチャート 輝度ヒストグラムの説明図 露出適正度判定処理の例を示したフローチャート 第1の3DLUT生成処理のフローチャート 被写体属性情報更新処理のフローチャート 制御パラメータ生成処理のフローチャート 第2の3DLUT生成処理のフローチャート 被写体を適正化するためのトーンカーブの説明図 第2の3DLUT生成処理のフローチャート 強度調整補間部における処理のフローチャート 本発明の効果を説明するための図 本発明の第2の実施例における処理のブロック図 第2の実施例におけるトーンカーブ修正処理のフローチャート 修正後のトーンカーブを説明するための図 第3の実施例における処理のブロック図
[実施例]
(第1の実施例)
以下に、本発明における好適な第1の実施例について説明する。なお、以下の記載はプリンタ本体内部の画像処理部を想定して説明を行うが、これはあくまで実施の1つの形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
(ハードウェアの説明)
図2は、本実施例の画像処理方法が実行可能なハードウェア200の構成例を示している。201はCPU、202はRAM、203は各種制御プログラム・テーブルが格納されているROM、204は2次記憶装置(例えばハードディスク)である。205はユーザーインターフェース(例えばボタン、表示装置)である。206は外部インターフェース(例えばUSB(商標)、メモリカードリーダー)であり、該インターフェース(以下「IF206」と記す)を介して、メモリカード209から画像データを読み込んだり、パーソナルコンピュータ210に接続される。207は原稿読取装置(例えばスキャナ)、208はプリントエンジンである。
(処理のブロック図)
図1は、本実施例における処理のブロック図を示している。図1はハードウェア200におけるブロック図である。同図を見るとわかるように、本実施例においては、入力画像を2つの補間部107,108を直列に接続した構成により補正する。後に詳細は説明するが、後段の補間部108は、その補間強度を制御パラメータにて制御することが可能である。
ユーザーより、例えばプリンタにおける印刷処理などの指示がIF206を介して入力された場合、まず101において、該IFに接続されたメモリカードや、画像読取装置207から、処理対象となる画像データを読み込む。次に、画像解析部102において、画像の解析処理を行なって、画像データから特徴量を算出する。本実施例における画像解析部では、人物の顔領域を公知の顔検出技術を用いて検出し、該顔領域の属性値(平均輝度、色差成分等)を算出して顔領域が露出不足か否か判定する。さらに、画像全体のヒストグラムを算出し、その結果を解析して、画像のカラーバランスの適正度合いも判定する。上記解析結果は、第1の多次元LUT生成部104(第1の多次元ルックアップテーブル生成手段)に入力され、画像全体のカラーバランスを補正するための第1の3DLUT(第1の多次元ルックアップテーブル、ここでは3次元ルックアップテーブル)を生成する。
次に、被写体属性更新部105において、画像解析部102で解析した被写体(特定オブジェクト)の属性情報(例えば、被写体の顔の平均輝度値)と該第1の3DLUTを用いて、被写体属性情報の更新を行う。具体的には、被写体属性情報に対して第1の3DLUTを公知の補間方法によって適用し、第1の3DLUTによる補正後の属性情報を算出する。
該更新された属性情報は、第2の多次元LUT生成部106(第2の多次元ルックアップテーブル生成手段)に入力される。第2の多次元LUT生成部106において、被写体を適正化することに特化した第2の3DLUT(第2の多次元ルックアップテーブル、ここでは3次元ルックアップテーブル)を生成する。該第2の3DLUTは、同部に入力された更新後の被写体属性情報を基に生成する。
補正処理前の最後の準備として、制御パラメータ生成部103(制御パラメータ生成手段)において、強度調整補間部108において補間強度を制御するためのパラメータを生成する。具体的には、入力画像に対してフィルタリング処理によりボケ画像を生成し、生成したボケ画像を制御パラメータ113として、強度調整補間部108入力する。
以上で、2つの3DLUTおよび制御パラメータの生成が終了する。
以降では、補正処理に関する処理の流れを説明する。画像読み込み部101で読み込んだ画像データは、各画素毎に補間部107に入力され、同部において公知の補間方法によって、前記第1の3DLUTを適用する。適用後の画素値は補間部108に入力され、同部において公知の補間方法によって、前記第2の3DLUTを適用する。このとき、前記制御パラメータに応じて、画像の局所領域毎に、第2の3DLUTの補間強度を制御する。以上の処理で補正が完了した画像データは、色変換部109においてCMYKインク色に変換され、擬似階調処理部110において、誤差拡散やディザ等の擬似階調処理が施され、その後プリントエンジン部111において、印字媒体上に画像として形成される。
以上が、本実施例における処理のブロック図の説明である。
以下では、各ブロック内の詳細な処理に関して、フローチャートを参照しながら説明を行う。
(画像読み込み部)
画像読み込み部101では、処理対象画像データの読み込みを行う。読み込みは、IF206を介して接続されているメモリカード内に含まれている画像データを読み込んだり、読み取り装置207によって原稿を光学的にスキャンして得られたデータを読み込むことで実現できる。読み込んだ画像データは、その色空間が、例えばsRGB空間であるのか、あるいはadobe RGB(米アドビ社の登録商標)空間であるのか、さらにはその他の色空間であるかを識別するためのフラグ情報と共に、次段の処理に送られる。
(画像解析部)
図3は、画像解析部102で実行されるフローチャートを示している。この処理を実行するプログラムは、実行時に二次記憶装置204からRAM202にロードされ、CPU201の制御の下に実行される。
まずS301において、入力画像のリサイズを行う。以降のヒストグラム算出や顔検出処理は、例えば入力画像が4000×3000画素の場合、全ての画素に対して処理を行うと膨大な処理量が必要となる。上記顔検出処理やヒストグラム算出処理は、画像の特徴を捉えるだけの解像度に縮小し、該縮小画像に対して処理を行うことで、全体の処理量を低減することができる。縮小解像度は特に規定しないが、例えば、VGAサイズ(640×480画素相当)に縮小すると効果的である。
次に、該縮小画像に対して、色変換処理を行う。これは、以降の解析処理において、共通の色空間で処理を行う方が、露出適正度判定部などにおけるパラメータ設計が容易になるからである。本実施例においては、共通色空間をsRGB空間とし、その他の色空間が入力された場合には、S302において公知の変換手段を用いてsRGB空間に変換する。
次に、S303において、画像全体のヒストグラム算出を行う。ヒストグラム算出はどのような方法を用いてもよいが、ここでは、各画素のsRGB値を輝度色差空間(例えば、YCbCr空間)に変換し、各成分毎にヒストグラムを算出するものとする。入力画像が全体的に露出不足の状態で撮影された場合、輝度成分ヒストグラム(8bit精度とする)は図4に示すように、暗部に偏った分布となる。
次に、S304において、画像中から所望の被写体を検出する。本実施例において被写体は特に限定するものではないが、ここでは人物の顔を例に挙げて説明する。人物顔の検出に関しては、これまで様々な手法が提案されており、本実施例においてはそのいずれを用いても構わない。
次に、S305において、上述したヒストグラム情報、および顔検出情報を用いて、画像撮影時の露出の適正度判定を行う。図5は本実施例における簡単な適正度判定の例を示している。S501において、顔が検出できたか否かの判定を行う。顔が検出できていれば、S502において顔領域内の輝度色差成分の平均値(ObjY,ObjCb, ObjCr)を算出し、そのうち平均輝度ObjYを、予め定められた露出の適正度合いを決定するための閾値と比較する。比較の結果、顔領域内の平均輝度値が閾値を上回っていれば、適正露出と判断し、下回っていれば、露出不足と判断する。顔が検出できなかった場合、S503において、該ヒストグラムから算出した画像全体の平均輝度値を予め定められた閾値と比較し、閾値を上回っていれば適正露出と判断し、下回っていれば、露出不足と判断する。ここで算出した顔領域内部の平均(ObjY、ObjCb, ObjCr)値や検出した顔領域の画像上での座標位置等は、被写体領域の属性情報として、以降の処理で利用される。
次に、S306において、カラーバランスの適正度判定を行う。カラーバランスの適正度判定に関しては様々な手法が提案されており、本実施例の中ではどのような手法を用いても構わない。ここでは例として、特許文献1に記載されているような方法によって、カラーバランスの適正度合いを判定すると共に、カラーバランス補正のための回転行列を生成する例を説明する。
特許文献1によれば、カラーバランスの適正度合いは画像中のハイライト・シャドーポイントの色差成分によって判定できるとしている。ハイライト・シャドーポイントとは、図4で示した輝度ヒストグラムに対して輝度の低いほうから度数を積算した累積度数分布を算出し、該累積度数が99%のポイントをハイライトポイント、1%のポイントをシャドーポイントと定義している。ハイライト・シャドーポイントと決定された輝度値に該当する画素のみを対象として色差の平均値を算出し、色差が0に近ければカラーバランスは適正、0から遠ざかるほどカラーバランスが不適正であると判定する。不適正と判定された場合には、輝度色差空間において、ハイライト・シャドーポイントの色差を0に近づけるような3×3の回転行列を生成し、該回転行列を対象画素値の輝度色差成分に乗じることで、カラーバランスの補正が可能となる。なお、該回転行列の生成に関する詳細説明は、上記文献に開示されているため、ここでの詳細説明は割愛する。
以上が、本実施例における画像解析部102の説明である。
(第1の多次元LUT生成部)
図6は、第1の多次元LUT生成部104で実行されるフローチャートを示している。この処理を実行するプログラムは、実行時に二次記憶装置204からRAM202にロードされ、CPU201の制御の下に実行される。本実施例においては、生成するのはRGB各成分が8bit精度の3DLUTであり、格子点間隔は32とする。この場合、全体の格子点数は、9×9×9=729点となる。これら全ての格子点に関して、図6に示した処理を行う。
まず、S601において、カラーバランス補正用回転行列MTX[3][3]を生成する。生成方法は上述した特許文献1に記載されているため、ここでの詳細説明は割愛する。もし、S306におけるカラーバランス適正度判定の結果が、適正であると判定されたなら、MTX[3][3]は以下のような単位行列とする。
Figure 0005632937
次にS602において、注目格子点のRGB値を公知の変換式により、YCbCr成分に変換する。さらに、S603において、該YCbCr値に対して、次式によりMTXを適用し、カラーバランス補正後のY’Cb’Cr’値を算出する。なお、m00〜m22は、S601で生成した回転行列の各要素値を示している。
Figure 0005632937
S604において、算出したY’Cb’Cr’値に対して、公知の変換式によりR’G’B’値に変換し、補正後の格子点として3DLUTに格納し、RAM202に記憶されることになる。
以上説明したS602〜S604の処理を729点全ての格子点に対して処理することで、第1の3DLUTを生成する(第一の生成)ことができる。
(被写体属性更新部)
被写体属性更新部105は、後述する第2の3DLUTを生成するための準備として、画像解析部102で求めた被写体の属性情報112を更新する。属性情報の更新処理は、図7に示したフローで行われる。属性情報更新部105に入力された被写体の属性情報112(例えば、顔領域内部の平均輝度と平均色差)(ObjY、ObjCb、ObjCr)は、S701において公知の変換式により、RGB値に変換される。S702において、該RGB値に対して、公知の補間方法、ここでは例として四面体補間方法を用いて、前記第1の3DLUTを適用し、その結果、第1の3DLUT適用後のR’G’B’値を得る。さらにS703において、該R’G’B’値を公知の変換式により、ObjY’、ObjCb’、ObjCr’値に変換する(第一の補正)。該ObjY’、ObjCb’、ObjCr’値が更新された属性情報として、次段の処理である第2の多次元LUT生成部106に入力される。
(制御パラメータ生成部)
次に、制御パラメータ生成部103が実行するフローチャートについて説明する。この処理を実行するプログラムは、実行時に二次記憶装置204からRAM202にロードされ、CPU201の制御の下に実行される。制御パラメータは、上述したように、強度調整補間部108の補間強度を制御するためのパラメータである。本実施例では、覆い焼き処理を想定しているため、ここでは制御パラメータとして、入力画像に対する低周波画像、すなわちボケ画像を生成する。
図8は、制御パラメータ生成部103が実行するフローチャートである。本実施例においては、低周波画像生成方法については特に限定するものではないが、ここでは例として、入力画像を一度縮小して、縮小画像に対してフィルタリング処理を行い、その後元の解像度に戻す処理について説明する。一般的にフィルタリング処理は大量の演算を必要とするため、縮小画像に対して処理することで、その演算コストを低減することができる。
S801において、入力画像RGB画像に対して、低解像度画像にリサイズする。リサイズ方法は特に限定しないが、処理速度が優先される場合には、最近隣による間引き処理が有効である。
その後、S802において、リサイズ後のRGB画像データを、公知の変換式により輝度画像に変換する。輝度画像は、各画素あたり輝度情報しか保持しない画像のことであり、モノクロ画像となる。
その後、S803において、該輝度画像に対して、公知のフィルタリング処理(平滑化フィルタリング処理)により低周波画像を生成する。フィルタリング処理の方法は特に限定しないが、最も簡単な例は、次式のような平滑化フィルタを、縮小画像中の各画素に施すことが考えられる。
Figure 0005632937
S804において、得られた低周波画像は元の解像度に拡大する。このとき、最近隣補間を用いて拡大処理を行うと、リサイズ後の画像に高周波成分が発生してしまうので、線形補間による拡大処理が望ましい。
従来開示されている覆い焼き方法においては、色成分も含んだ低周波画像を生成する例についてのみ言及しているが、本実施例は、上記説明したように低周波画像は輝度成分のみ保持するため、保持に必要なメモリ量が少ないという利点が存在する。
(第2の多次元LUT生成部)
図9および図11は、第2の多次元LUT生成部106が実行するフローチャートを示している。
まずS901において、該露出適正度判定の結果に応じて、輝度補正用のトーンカーブTc[256]を生成する。なお、Tc[256]は8bit精度の配列を意味しており、補正前の輝度値に対する補正後の輝度値が格納されている1次元ルックアップテーブルである。
図10に、本実施例において被写体領域が露出不足と判定された場合のトーンカーブの生成例を示す。同図において、横軸は補正前の輝度、縦軸は補正後の輝度を示している。同図において、ObjY’は被写体属性更新部105において更新された顔領域内平均輝度を示し、TarYが予め設定されている顔領域の目標輝度値を意味する。トーンカーブTc[256]は、点(ObjY’, TarY)を通るような曲線として形成する。本実施例においては、曲線の形成方法については特に限定するものではない。例えば同図のように必ずしも原点(0,0)や白点(255,255)に結ぶ必要もないし、曲線である必要もなく、場合によっては数本の直線によって同様のトーンカーブを形成したとしても構わない。もし、被写体領域が露出不足ではないと判定された場合には、該トーンカーブは、補正前輝度値と補正後輝度値が一致するような直線としてもよい。
被写体補正用トーンカーブが生成されると、次に、S902において、被写体補正用の第2の3DLUTを生成する。図11は、S902の詳細なフローを表している。
図11において、まずS1101で、3DLUTの注目格子点のRGB値を公知の変換式により、YCbCr値に変換する。次にS1102において、輝度値Yに対して、以下のようにステップS901で算出したトーンカーブTcを適用し、Y’値を算出する。
Y’ = Tc[Y]
次に、S1103で、輝度上昇量に応じた彩度補正を行う。一般的に、輝度色差空間において、輝度のみ上昇させると、その結果得られた画像は彩度が低下した見栄えの良くない画像となってしまう。本実施例においてはこの問題を解決するため、以下の式で表される彩度強調係数Eを算出する。
E = (Y’/Y)×α+β ただし、E は必ず1.0以上
上式において、α、βは任意の係数であり、例としてα=0.4、β=0.6とする。上式は、輝度上昇率(Y’/Y)が1.0に場合には、E=1.0となり、輝度上昇率(Y’/Y)が2.0の場合には、E=1.4となるような式である。Eは必ず1.0以上として、彩度低下は生じないものとする。
S1103では、以下の式により、注目格子点の彩度補正を行う。
Cb’ = Cb × E
Cr’ = Cr × E
上記処理により算出された補正後のY’Cb’Cr’値は、S1105において公知の変換式によりR’G’B’に変換され、第2の3DLUTに格納される。
上記S1101〜S1104を全ての格子点に対して処理することにより、第2の3DLUTを生成する(第二の生成)ことができる。
(補間部)
入力画像は補間部107に入力され、同部において、公知の補間方法により上記第1の3DLUTが適用される。補間部107では、入力画像の色みが補正される(第二の補正)。本発明においては、補間方法については特に限定するものではなく、公知の四面体補間や、三角柱補間、立方体補間などどのような補間方法を用いても構わない。それぞれの補間方法については、公知文献に数多く記載されているため、ここでの詳細説明は割愛する。
上記補間処理によって、第1の3DLUTが施された画像データ(R’,G’,B’)が次段の強度調整補間部108に入力される。
(強度調整補間部)
強度調整補間部108において、該画像データ(R’,G’,B’)に対して、制御パラメータ113を参照しながら、上記第2の3DLUTを適用してゆく。強度調整補間部108においても、特にその方法を限定するものではなく、公知の補間方法であれば、そのいずれを用いても構わない。
ここでは、強度調整補間部108の強度調整方法について説明する。図12は、強度調整補間部108の処理のフローを表している。
まず、S1201において、入力画像中の注目画素位置(x,y)に格納されている画素値(R’,G’,B’)に対して、公知の補間方法により第2の3DLUTを適用し、適用後の値(TempR, TempG, TempB)を得る。
次に、S1202において、補間部108に入力された制御パラメータ1206、すなわち低周波輝度画像を参照し、注目画素位置(x,y)に対応する制御パラメータ値、すなわち輝度値BY(x,y)を取得(抽出)する。
次に、S1203において、次式により、補間強度制御後の画素値(R’’、G’’、B’’)を得る(第三の補正)。
R’’ = ( TempR - R’ )×(1.0 - BY(x,y)/ 255)+ R’
G’’ = ( TempG - G’ )×(1.0 - BY(x,y)/ 255)+ G’
B’’ = ( TempB - B’ )×(1.0 - BY(x,y)/ 255)+ B’
上式において、BY(x,y)は0〜255の値を持つと想定しているため、BY(x,y)/255は、0.0〜1.0の値を持つことになる。上式を参照するとわかるように、注目画素が暗い領域に含まれる場合には、BY(x,y)が0に近い値となり、その場合、R’’=TempRとなって、第2の3DLUTが最大強度で適用されることにある。一方で、注目画素が明るい領域に含まれる場合には、BY(x,y)が255に近い値となり、その場合、R’’=R’となり、第2の3DLUTがほとんど適用されないことになる。
上記のような構成を用いることで、第2の3DLUTの適用強度を制御パラメータ113で制御することが可能となり、画像中の局所的な補正量制御が実現できる。
(以降の処理)
上記補正処理後画像データ(R’’,G’’,B’’)は、色変換部109においてインク色であるCMYK成分に変換され、誤差拡散、ディザ等の擬似階調処理110を経て、プリントエンジン部111で印字媒体上に画像として形成される。
(効果)
以上説明したように、本発明の第1の実施例によれば、複数の補間部を直列接続し、一方の補間部(補間部107)で画像全体に対して均一な補正処理を行い、他方の補間部(強度調整補間部108)でその補間強度を制御パラメータ113で制御する。このことにより、極めて簡単な構成で、従来の課題であった、均一補正と局所補正を同時に行う処理を実現させることができる。
また、本実施例では、様々な種類の補正処理をあくまで複数の3DLUTを用いて行うことから、課題のところで述べたような、3DLUT方式の利点を最大限利用することができる。
また、本実施例では、画像全体を均一補正することに特化した第1の3DLUTを生成し、該第1の3DLUTを用いて被写体の属性情報(例えば、顔の輝度値)を更新する。そして、該更新された被写体情報を元に、今度は被写体を適正化することに特化した第2の3DLUTを生成する。このような構成にすることで、双方の3DLUTの独立性が高くなるため、両者の補正パラメータの設定が、極めて容易に行えるという利点がある。
また、上述したように、本実施例においては、制御用パラメータ、すなわち低周波画像は、色成分を保持しない構成となっているため、色成分も保持する従来例と比して、制御用パラメータを保持するためのメモリが少ないという利点も存在する。
また、本実施例においては、第1の3DLUTは、画像全体のカラーバランス補正のみを取り上げて説明したが、本実施例はこれに限定されるものではない。例えば、第1の3DLUTでは、画像全体が露出不足の場合、レベル補正処理を組み込み、カラーバランスと全体の明るさを明るくした後、さらに被写体の明るさを適正化するような第2の3DLUTを生成することも考えられる。
このように、画像全体が露出不足で被写体の顔も暗い場合、従来のように1つの3DLUTのみで、被写体の明るさを適正化しようとすると問題が発生する場合がある。すなわち、図13に示したように、輝度補正トーンカーブの暗部側の傾きが急峻になりすぎて、暗部でトーンジャンプ等の画像不具合が発生する場合がある。また、トーンカーブ中間調のコントラストの傾きを一定以上保とうとすると、1302に示したように、白トビ領域が拡大するという不具合もある。この点、本実施例で示したような複数の3DLUTで分担して輝度補正を行えば、上記不具合が発生しにくいという格別な利点が存在する。
以上が第1の実施例の説明であるが、本発明は上記実施例に限定されるものではない。例えば、3DLUTの格子点数は729点に限定されるものではなく、それ以上でも以下でも構わない。
また、LUTを簡単のため3次元に固定して説明を行ったが、例えばCMYK4成分に対して同様の処理を行うことも考えられ、この場合には4次元LUTを生成することになる。また、本実施例においては、簡単のため輝度色差空間をYcbCr空間に限定して説明したが、他の色空間、例えばCIE Labであってもよい。また、本実施例においては、簡単のため、補間部2個に限定して説明したが、必要に応じてさらに複数個の補間部を直列接続しても構わない。また、本実施例においては、該補間部はハードウェア200に搭載されているCPUによるソフト処理を前提に説明を行ったが、必要に応じて同部のみをハードウェア回路としたとしても、本発明の目的を達成することができる。また、本実施例においては、補間部に入出力される画像データは、画像一面分のフレームを想定していたが、例えば、補間部への入出力は画素単位でもよいし、所定数のラインをまとめたバンド単位でもよい。
(第2の実施例)
第1の実施例においては、第1の3DLUTを施した後の被写体属性情報(ObjY’, ObjCb’, ObjCr’)を用いて、顔の平均輝度値ObjY’が目標輝度値TarYに補正されるようなトーンカーブを用いて第2の3DLUTを生成した。
ただし、この3DLUTを用いて、第1の実施例に記載されたような強度調整補間部108で補正を行っても、顔の平均輝度値が正しく目標輝度値TarYにはならないという問題がある。
例えば、ObjY’=60、TarY=140であると仮定する。このとき強度調整補間部108において、第2の3DLUTが最大強度で適用されれば、顔領域は正しく目標輝度値Tar=140に変換されることになる。しかし、実際には第1の実施例で説明したように、強度調整補間部108は制御パラメータ113、すなわち低周波輝度画像(低解像度画像)でその適用強度を制御することになる。そのため、例えば、制御パラメータ113が示す低周波輝度画像(ボケ画像)における顔領域の平均輝度値が50だった場合、強度調整補間部108の制御式によれば、第2の3DLUTの適用強度は1.0-(50/255)=0.8となる。すなわちおよそ80%の適用強度となる。
すなわち、輝度値60だったObjY’は、124までしか補正されないことになる。
本実施例では本問題を鑑み、制御パラメータで第2の3DLUTの適用強度を制御した際においても、被写体の明るさを目標の明るさに適切に制御する画像処理装置について説明する。
図14は、本実施例における処理のブロック図を示している。第1の実施例と異なる点は、制御パラメータ生成部1408で生成した制御パラメータ1413が、第2の多次元LUT生成部1405に入力されている点である。
図15は、本実施例における第2の多次元LUT生成部1405が実行するフローチャートを示している。
S1501において、第1の実施例と同様に、被写体補正用のトーンカーブを生成する。
次に、S1502において、同部に入力された制御パラメータ、すなわち低周波輝度画像1506上において、被写体領域の平均輝度FBYを算出する。平均輝度は、被写体属性情報1505に含まれる画像上での被写体領域の座標位置を元に算出することができる。
次に、S1503において、該トーンカーブを、前記FBY値を用いて修正する。
この修正ステップを、図16を用いて説明する。
同図において、Tc[256]が、第1の実施例で説明した被写体補正用トーンカーブである。該トーンカーブ自身は更新後の被写体輝度値であるObjY’値を目標輝度値TarYに補正することが可能であるが、上述したように、制御パラメータとの関係により、最終的にはTarYに到達しない可能性が高い。
本実施例では、以下の式によりTarY’値を算出し、該TarY’値を経由するトーンカーブTc’[256]を用いて、第2の3DLUTを生成することとする。
Figure 0005632937
上式より、
Figure 0005632937
上式より、
Tc’[k] = Tc[k]×(TarY’/TarY) k= 0〜255
上式は、FBYが0であれば、TarY’ = TarYであるし、FBYが128であれば、TarY’=2×TarY-ObjY’となることを示している。Tc’[k]は、Tc[k]に倍率(TarY’/TarY)を乗じることにより、図16に示すようなトーンカーブ1601を生成することができる。
上述した例について具体的に説明すると、ObjY’=60、TarY=140であり、かつFYB=51であったと仮定する。
この場合、TarY’=160となる。FYB=51の場合、第2の3DLUTの効き率は80%となるため、最終的な顔平均値は、(160-60)×0.8+60=140となり、当初の目標輝度値に到達することになる。
以降の処理は第1の実施例と同様のため、ここでの詳細な処理は割愛する。
以上説明したように、本実施例によれば、一度生成した被写体補正用トーンカーブを、制御用パラメータの被写体領域平均値を用いて修正することにより、最終的な出力を、画質目標として想定通りの結果とすることが可能となる。
なお本実施例においては、第1の実施例を踏襲し、被写体補正用トーンカーブTc[256]を算出した後、同カーブを修正する方法について説明したが、本発明はこれに限定されるものではない。例えば、Tcを算出する際に、予めTarY’を算出し、点(ObjY’, TarY’)を通過するトーンカーブを生成し、該トーンカーブをTcとしてもよい。
(第3の実施例)
第1の実施例では、簡単のために2つの補間部に入力される2つの3DLUTは、同じ729格子点で、かつRGB各成分が8bit精度の3DLUTを想定して説明を行ったが、本発明はこれに限定されるものではない。
例えば、それぞれの3DLUTが担う補正の種類・性格によっては、それぞれの格子点数やビット精度が異なっていた方が、全体システムとして効率的に動作する場合がある。本実施例では、このことについて説明する。
図17は、本実施例における処理のブロック図を示している。第1の実施例と異なる点は、1701において生成する3DLUTが各成分8bit、格子点数729点であり、1702において生成する3DLUTが各成分10bit、格子点数4096点となっている。この理由について以下に説明する。
上述したように、第1の3DLUTは画像全体を適正化することに特化するという性格を持っているため、一般的にRGB色空間の中で非線形な挙動を起こす可能性は低くなる。例えば、第1の実施例で説明したような回転行列を用いた色かぶり補正も線形変換であるし、レベル補正や彩度強調についても、極端な非線形性を保持するものではない。このような変換を行う際に用いる3DLUTは、その格子点数やビット精度が少なかったとしても、補間後の画素値は、目標値に対して十分な精度を保つことができる。
一方で、第2の3DLUTは、画像全体ではなく、被写体を適正化することに特化するという性格を持っているため、例えば階調補正のためのトーンカーブが急峻であるため、暗部側においてトーンジャンプなどの画像弊害を発生することが考えられる。そのためには、例えば第2の3DLUTの各RGB成分値を8bitではなく10bitで保持することにより、より階調性を高めることができ、上記画像弊害を起こりにくくすることができる。また、被写体が人物である場合、例えば肌色領域のみを所望の彩度に修正するといった非線形処理が要求される場合がある。この際に、本実施例のように第2の3DLUTの格子点数を、729点よりも多い4096点用意して、各格子点間の距離を短くすることで、該非線形処理に対しても精度の高い補正処理を行うことができる。
その他の処理は第1の実施例と同様であるため、ここでの詳細な説明は割愛する。
以上説明したように、本実施例によれば、複数の多次元LUTを保持する画像処理装置において、それぞれのLUTが担う処理の内容に応じて、多次元LUTの格子点数やビット精度を相異なるものとする。これにより、例えばLUT保持のために使用する全体のRAM容量を削減することが可能となる。例えば、RGB各成分16bitで格子点数4096のLUTを2個保持する場合には、48KBのRAMが必要となる。一方で、1つはRGB成分各8bitで格子点数729のLUTとすることにより、LUTを保持するRAM容量は26KBとなり、上記に対して約46%の削減となる。
また、補間部1701,1702をハードウェア回路として実装する場合においても、双方16bit精度の補間処理を実装するより、一方を8bit精度とすることで、補間回路全体の規模を縮小させ、かつ同等の出力結果が得られるという効果も存在する。
なお、本実施例においては、簡単のため、補間回路は2つで、双方の格子点数、ビット精度を限定して説明したが、本発明はこれに限定されるものではない。補間回路の数、格子点数、ビット数がいかなる組み合わせであったとしても、本発明の効果を実現できるものであれば、本発明の範疇に含まれる。
以上が第3の実施例の説明である。
(その他の実施例)
以上の実施例では、簡単のためRGB成分を保持する3DLUTを例に説明を行ったが、本発明はこれに限定されるものではない。例えば、輝度色差成分であるYCbCr値の3DLUTで構成することも可能であるし、インク色成分であるCMYK4次元LUTでも同様に構成することは可能であり、さらなる多次元LUTを想定した場合にも、本発明の範疇に含まれることは言うまでもない。
また、以上の実施例では、簡単のため、補間方法として四面体補間を例に挙げて説明を行ったが、本発明はこれに限定されるものではない。例えば、公知の立方体補間や三角柱補間など、他のいかなる補間方法を用いたとしても、本発明の範疇に含まれることは言うまでもない。
また、以上の実施例では、簡単のため、被写体は人物顔領域であり、その数は1つを前提に説明を行ったが、本発明はこれに限定されるものではない。例えば、被写体は人間の顔以外のオブジェクト(例えば動物や建物)であっても構わないし、その数は一つとは限らない。もし複数あれば、そのうちの特徴的な1つに限定して処理を行ってもよいし、全ての被写体の属性情報を平均して処理を行っても構わない。
また、本発明は簡単のため、局所的画像補正として覆い焼き処理を代表例として説明を行ってきたが、本発明はこれに限定されるものではない。例えば、青空領域を検出し、該領域のみ色相・彩度を好ましい方向に補正する処理と局所的補正と考えたとしても、本発明の構成によって、極めて効率的に実現することが可能となる。
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用しても良い。
また、本発明の目的は、以下によっても達成できる。まず、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給する。次に、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行すればよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、まず、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、該プログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
101・・・画像読み込み部
102・・・画像解析部
103・・・制御パラメータ生成部
104・・・第1の多次元LUT生成部
105・・・被写体属性更新部
106・・・第2の多次元LUT生成部
107・・・補間部
108・・・強度調整補間部
109・・・色変換部
110・・・擬似階調処理部
111・・・プリンタエンジン
112・・・被写体属性情報
113・・・制御パラメータ

Claims (14)

  1. 画像の特徴量に基づいて、前記画像を補正するための第1のルックアップテーブルを生成する第1の生成手段と、
    前記画像に含まれる特定オブジェクトの属性情報を前記第1のルックアップテーブルを用いて更新する更新手段と、
    前記更新手段によって更新された属性情報に基づいて、前記特定オブジェクトを補正するための第2のルックアップテーブルを生成する第2の生成手段と
    前記生成された第1および第2のルックアップテーブルを用いて、前記画像を補正する補正手段とを有することを特徴とする画像処理装置。
  2. 前記特定オブジェクトの属性情報は、前記特定オブジェクトの輝度値であることを特徴とする請求項1に記載の画像処理装置。
  3. 前記第2の生成手段は、前記更新手段によって更新された前記特定オブジェクトの輝度値を目標輝度値に変換する第2のルックアップテーブルを生成することを特徴とする請求項に記載の画像処理装置。
  4. 前記第1のルックアップテーブルは、前記画像のカラーバランスを補正するためのテーブルであることを特徴とする請求項1に記載の画像処理装置。
  5. 前記第2のルックアップテーブルは、前記特定オブジェクトの明るさを補正するためのテーブルであることを特徴とする請求項1に記載の画像処理装置。
  6. 前記第2の生成手段は、前記更新された属性情報と前記画像の輝度情報とを用いて前記第2のルックアップテーブルを生成することを特徴とする請求項1に記載の画像処理装置。
  7. 前記第1のルックアップテーブルと前記第2のルックアップテーブルは、その格子点数やテーブルのビット精度が相異なることを特徴とする請求項1に記載の画像処理装置。
  8. 前記第2のルックアップテーブルのビット数は、前記第1のルックアップテーブルのビット数よりも大きいことを特徴とする請求項1に記載の画像処理装置。
  9. 前記第2のルックアップテーブルの格子点数は、前記第1のルックアップテーブルの格子点数よりも大きいことを特徴とする請求項1に記載の画像処理装置。
  10. 前記特定オブジェクトは、人物の顔であることを特徴とする請求項1に記載の画像処理装置。
  11. 前記第1のルックアップテーブル、または、前記第2のルックアップテーブルは、多次元ルックアップテーブルであることを特徴とする請求項1乃至10のいずれか一項に記載の画像処理装置。
  12. 前記第1のルックアップテーブル、または、前記第2のルックアップテーブルは、RGB成分による3次元ルックアップテーブルであることを特徴とする請求項1に記載の画像処理装置。
  13. 画像の特徴量に基づいて、前記画像を補正するための第1のルックアップテーブルを生成する第1の生成工程と、
    前記画像に含まれる特定オブジェクトの属性情報を前記第1のルックアップテーブルを用いて更新する更新工程と、
    前記更新工程によって更新された属性情報に基づいて、前記特定オブジェクトを補正するための第2のルックアップテーブルを生成する第2の生成工程と
    前記生成された第1および第2のルックアップテーブルを用いて、前記画像を補正する補正工程とを有することを特徴とする画像処理方法。
  14. 請求項1乃至12のいずれか一項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
JP2013125516A 2013-06-14 2013-06-14 画像処理装置及び方法、及びコンピュータプログラム Active JP5632937B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013125516A JP5632937B2 (ja) 2013-06-14 2013-06-14 画像処理装置及び方法、及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013125516A JP5632937B2 (ja) 2013-06-14 2013-06-14 画像処理装置及び方法、及びコンピュータプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009128568A Division JP5300595B2 (ja) 2009-05-28 2009-05-28 画像処理装置及び方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2013176171A JP2013176171A (ja) 2013-09-05
JP5632937B2 true JP5632937B2 (ja) 2014-11-26

Family

ID=49268591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013125516A Active JP5632937B2 (ja) 2013-06-14 2013-06-14 画像処理装置及び方法、及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5632937B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3568279B2 (ja) * 1995-06-30 2004-09-22 富士写真フイルム株式会社 画像再生方法および装置
JP3408770B2 (ja) * 1998-03-04 2003-05-19 富士写真フイルム株式会社 画像処理装置
JP2001069352A (ja) * 1999-08-27 2001-03-16 Canon Inc 画像処理装置およびその方法
JP4461789B2 (ja) * 2003-03-20 2010-05-12 オムロン株式会社 画像処理装置
JP3880553B2 (ja) * 2003-07-31 2007-02-14 キヤノン株式会社 画像処理方法および装置
JP4455307B2 (ja) * 2004-12-14 2010-04-21 キヤノン株式会社 画像処理装置及びその方法並びにメモリ媒体
JP4906627B2 (ja) * 2007-07-31 2012-03-28 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム及び記憶媒体

Also Published As

Publication number Publication date
JP2013176171A (ja) 2013-09-05

Similar Documents

Publication Publication Date Title
JP5300595B2 (ja) 画像処理装置及び方法、及びコンピュータプログラム
US8290259B2 (en) Device adaptively switching color emphasis processing for image
JP5032911B2 (ja) 画像処理装置及び画像処理方法
JP3520550B2 (ja) カラー画像処理システムおよびそのデータ補正方式
JP5183568B2 (ja) 画像処理装置及び方法、及びプログラムを記録した記憶媒体
EP3588930B1 (en) Image processing apparatus, image processing method, and program
JP6417851B2 (ja) 画像処理装置、および、コンピュータプログラム
JP4428742B2 (ja) 画像処理装置及びその方法
JP2001313844A (ja) 局所的な色補正を実行する方法および装置
US7920752B2 (en) Image processing device that quickly performs retinex process
JP2011249939A (ja) 画像処理装置、制御方法、およびプログラム
US9053552B2 (en) Image processing apparatus, image processing method and non-transitory computer readable medium
US7912308B2 (en) Image processing device that quickly performs retinex process
JP4387907B2 (ja) 画像処理方法及び装置
JP4208767B2 (ja) 画像処理装置及び画像処理方法
JP5632937B2 (ja) 画像処理装置及び方法、及びコンピュータプログラム
JP5675856B2 (ja) 画像処理装置及び方法、及びプログラムを記録した記憶媒体
JP4375223B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2008147714A (ja) 画像処理装置およびその方法
JP2010226368A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2009239368A (ja) 画像処理方法、画像処理装置、画像処理プログラムおよび印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140717

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: 20140911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141010

R151 Written notification of patent or utility model registration

Ref document number: 5632937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151