(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0008】
原画像の一部分をぼかしてぼけ画像を生成するために、様々な技術が開発されている。
【0009】
本発明は、既存の技術とは全く異なるアプローチによって、良質なぼけ画像を生成可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の態様に係る画像処理装置は、原画像の一部分をぼかしてぼけ画像を生成する画像処理装置であって、ウエーブレット変換部と、ROI展開部と、高周波カット部と、低周波ぼかし部と、逆ウエーブレット変換部とを含む。前記ウエーブレット変換部は、原画像データに対してウエーブレット変換を行って、前記原画像データが所定の分解レベルまで低周波成分と高周波成分とに分解された第1画像データを生成する。前記ROI展開部は、前記原画像においてぼかさない領域としての関心領域(ROI)とぼかす領域としての非関心領域(非ROI)とが規定されたROI情報を取得し、前記ROI情報に基づき前記第1画像データに対して前記ROIに対応するROI対応部分と前記非ROIに対応する非ROI対応部分とを特定することによって、前記ROI情報を前記第1画像データに展開する。前記高周波カット部は、前記非ROI対応部分の前記高周波成分をカットする高周波カット処理を、前記第1画像データ
の前記非ROI対応部分のうちで、前記高周波成分に対して行う
が、前記低周波成分に対しては行わない。前記低周波ぼかし部は、前記非ROI対応部分の前記低周波成分をぼかす低周波ぼかし処理を、前記第1画像データ
の前記非ROI対応部分のうちで、前記低周波成分に対して行う
が、前記高周波成分に対しては行わない。前記逆ウエーブレット変換部は、前記高周波カット処理および前記低周波ぼかし処理が行われた後の前記第1画像データである第2画像データに対して、逆ウエーブレット変換を行って、第3画像データを生成する。
【0011】
本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置であって、前記低周波ぼかし部は、前記逆ウエーブレット変換部から分解レベルが0でない前記第3画像データを少なくとも1回取得し、前記第3画像データに対して前記低周波ぼかし処理を行う。
【0012】
本発明の第3の態様に係る画像処理装置は、第1または第2の態様に係る画像処理装置であって、前記低周波ぼかし部は、前記逆ウエーブレット変換部から分解レベルが0の前記第3画像データを取得し、前記第3画像データに対して前記低周波ぼかし処理を行い、前記低周波ぼかし処理を行った後の前記第3画像データを前記ぼけ画像のデータとして出力する。
【0013】
本発明の第4の態様に係る画像処理装置は、第1〜第3の態様のうちのいずれか1つに係る画像処理装置であって、前記逆ウエーブレット変換部は、分解レベルが0でない前記第3画像データの前記低周波成分を前記ぼけ画像のデータとして出力する。
【0014】
本発明の第5の態様に係る画像処理装置は、第1〜第4の態様のうちのいずれか1つに係る画像処理装置であって、前記高周波カット処理は前記高周波成分のデータ値を0に設定する処理である。
【0015】
本発明の第6の態様に係る画像処理装置は、第1〜第5の態様のうちのいずれか1つに係る画像処理装置であって、前記低周波ぼかし部は前記低周波ぼかし処理を行うためのフィルタを含む。
【0016】
本発明の第7の態様に係る画像処理装置は、第6の態様に係る画像処理装置であって、前記フィルタは平滑化フィルタまたはガウシアンフィルタである。
【0017】
本発明の第8の態様に係る画像処理装置は、第1〜第7の態様のうちのいずれか1つに係る画像処理装置であって、前記ROI展開部は、前記非ROI対応部分に対する前記高周波カット処理および前記低周波ぼかし処理が、前記第3画像データのうちの前記ROI対応部分に影響を及ぼさないという条件に従って、前記ROI情報を前記第1画像データに対して展開する。
【0018】
本発明の第9の態様に係る画像処理装置は、第8の態様に係る画像処理装置であって、前記ウエーブレット変換部は、分解側のローパスフィルタが5タップであり分解側のハイパスフィルタが3タップである5×3フィルタによって、前記ウエーブレット変換を行う。前記ROI展開部は、前記原画像の2n番目(nは整数)の画素が前記ROIに含まれる場合、前記低周波成分の側のn番目のデータと、前記高周波成分の側の{n−1}番目およびn番目のデータとを、前記ROI対応部分に設定する。前記ROI展開部は、前記原画像の{2n+1}番目の画素が前記ROIに含まれる場合、前記低周波成分の側のn番目および{n+1}番目のデータと、前記高周波成分の側の{n−1}番目、n番目および{n+1}番目のデータとを、前記ROI対応部分に設定する。
【0019】
本発明の第10の態様に係る画像処理装置は、第8の態様に係る画像処理装置であって、前記ウエーブレット変換部は、分解側のローパスフィルタが9タップであり分解側のハイパスフィルタが7タップであるDaubechies9×7フィルタによって、前記ウエーブレット変換を行う。前記ROI展開部は、前記原画像の2n番目(nは整数)の画素が前記ROIに含まれる場合、前記低周波成分の側の{n−1}番目、n番目および{n+1}番目のデータと、前記高周波成分の側の{n−2}番目、{n−1}番目、n番目および{n+1}のデータとを、前記ROI対応部分に設定する。前記ROI展開部は、前記原画像の{2n+1}番目の画素が前記ROIに含まれる場合、前記低周波成分の側の{n−1}番目、n番目、{n+1}番目および{n+2}番目のデータと、前記高周波成分の側の{n−2}番目、{n−1}番目、n番目、{n+1}番目および{n+2}番目のデータとを、前記ROI対応部分に設定する。
【0020】
本発明の第11の態様に係る画像処理装置は、第1〜第10の態様のうちのいずれか1つに係る画像処理装置であって、前記ウエーブレット変換部は9×7フィルタまたは5×3フィルタによって前記ウエーブレット変換を行う。
【0021】
本発明の第12の態様に係る画像処理装置は、第1〜第11の態様のうちのいずれか1つに係る画像処理装置であって、前記逆ウエーブレット変換部は9×7フィルタまたは5×3フィルタによって前記逆ウエーブレット変換を行う。
【0022】
本発明の第13の態様に係る画像処理方法は、原画像の一部分をぼかしてぼけ画像を生成する画像処理方法であって、ステップ(a)〜(e)を含む。前記ステップ(a)では、原画像データに対してウエーブレット変換を行って、前記原画像データが所定の分解レベルまで低周波成分と高周波成分とに分解された第1画像データを生成する。前記ステップ(b)では、前記原画像においてぼかさない領域としての関心領域(ROI)とぼかす領域としての非関心領域(非ROI)とが規定されたROI情報を取得し、前記ROI情報に基づき前記第1画像データに対して前記ROIに対応するROI対応部分と前記非ROIに対応する非ROI対応部分とを特定することによって、前記ROI情報を前記第1画像データに展開する。前記ステップ(c)では、前記非ROI対応部分の前記高周波成分をカットする高周波カット処理を、前記第1画像データ
の前記非ROI対応部分のうちで、前記高周波成分に対して行う
が、前記低周波成分に対しては行わない。前記ステップ(d)では、前記非ROI対応部分の前記低周波成分をぼかす低周波ぼかし処理を、前記第1画像データ
の前記非ROI対応部分のうちで、前記低周波成分に対して行う
が、前記高周波成分に対しては行わない。前記ステップ(e)では、前記高周波カット処理および前記低周波ぼかし処理が行われた後の前記第1画像データである第2画像データに対して、逆ウエーブレット変換を行って、第3画像データを生成する。
【0023】
本発明の第14の態様に係る画像処理方法は、第13の態様に係る画像処理方法であって、前記ステップ(d)では、前記ステップ(e)で生成された分解レベルが0でない前記第3画像データを少なくとも1回取得し、前記第3画像データに対して前記低周波ぼかし処理を行う。
【0024】
本発明の第15の態様に係る画像処理方法は、第13または第14の態様に係る画像処理方法であって、前記ステップ(d)では、前記ステップ(e)で生成された分解レベルが0の前記第3画像データを取得し、前記第3画像データに対して前記低周波ぼかし処理を行い、前記低周波ぼかし処理を行った後の前記第3画像データを前記ぼけ画像のデータとして提供する。
【0025】
本発明の第16の態様に係る画像処理方法は、第13〜第15の態様のうちのいずれか1つに係る画像処理方法であって、前記ステップ(e)では、分解レベルが0でない前記第3画像データの前記低周波成分を前記ぼけ画像のデータとして提供する。
【0026】
本発明の第17の態様に係る画像処理方法は、第13〜第16の態様のうちのいずれか1つに係る画像処理方法であって、前記高周波カット処理は前記高周波成分のデータ値を0に設定する処理である。
【0027】
本発明の第18の態様に係る画像処理方法は、第13〜第17の態様のうちのいずれか1つに係る画像処理方法であって、前記ステップ(b)では、前記非ROI対応部分に対する前記高周波カット処理および前記低周波ぼかし処理が、前記第3画像データのうちの前記ROI対応部分に影響を及ぼさないという条件に従って、前記ROI情報を前記第1画像データに対して展開する。
【0028】
本発明の第19の態様に係る画像処理方法は、第18の態様に係る画像処理方法であって、前記ステップ(a)では、分解側のローパスフィルタが5タップであり分解側のハイパスフィルタが3タップである5×3フィルタによって、前記ウエーブレット変換を行う。前記ステップ(b)はステップ(b1),(b2)を含む。前記ステップ(b1)では、前記原画像の2n番目(nは整数)の画素が前記ROIに含まれる場合、前記低周波成分の側のn番目のデータと、前記高周波成分の側の{n−1}番目およびn番目のデータとを、前記ROI対応部分に設定する。前記ステップ(b2)では、前記原画像の{2n+1}番目の画素が前記ROIに含まれる場合、前記低周波成分の側のn番目および{n+1}番目のデータと、前記高周波成分の側の{n−1}番目、n番目および{n+1}番目のデータとを、前記ROI対応部分に設定する。
【0029】
本発明の第20の態様に係る画像処理方法は、第18の態様に係る画像処理方法であって、前記ステップ(a)では、分解側のローパスフィルタが9タップであり分解側のハイパスフィルタが7タップであるDaubechies9×7フィルタによって、前記ウエーブレット変換を行う。前記ステップ(b)はステップ(b1),(b2)を含む。前記ステップ(b1)では、前記原画像の2n番目(nは整数)の画素が前記ROIに含まれる場合、前記低周波成分の側の{n−1}番目、n番目および{n+1}番目のデータと、前記高周波成分の側の{n−2}番目、{n−1}番目、n番目および{n+1}のデータとを、前記ROI対応部分に設定する。前記ステップ(b2)では、前記原画像の{2n+1}番目の画素が前記ROIに含まれる場合、前記低周波成分の側の{n−1}番目、n番目、{n+1}番目および{n+2}番目のデータと、前記高周波成分の側の{n−2}番目、{n−1}番目、n番目、{n+1}番目および{n+2}番目のデータとを、前記ROI対応部分に設定する。
【発明の効果】
【0030】
上記の第1〜第20の態様によれば、良質なぼけ画像が得られる。また、ウエーブレット変換の分解レベルの制御によって、ぼけ具合を容易に調整できる。
【0031】
そのうち特に、上記の第2および第14の態様によれば、ROIと非ROIの境界付近において自然なぼけ具合を実現できる。また、そのぼけ具合を調整できる。
【0032】
また、上記の第3および第15の態様によれば、ROIと非ROIの境界付近のぼけ具合を、よりなだらかにすることができる。
【0033】
また、上記の第4および第16の態様によれば、原画像よりも小さいサイズのぼけ画像を得られる。
【0034】
また、上記の第5および第17の態様によれば、ぼけ画像において歪み等の発生を抑制でき、更に良質なぼけ画像が得られる。
【0035】
また、上記の第8〜第10および第18〜第20の態様によれば、原画像に設定したROI内にぼけが進入するのを防止できる。
【0036】
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【発明を実施するための形態】
【0038】
本発明では、原画像の一部分をぼかしてぼけ画像を生成する技術を提供する。
図1および
図2に原画像を例示する。
図2は、
図1中の暗い部分を見やすくするために、明るさを調整した(いわゆるガンマの値を調整した)画像である。また、
図3および
図4に、ぼけ画像を例示する。
図4は、
図3の画像に対して、
図2と同様の明るさ調整を施した画像である。
図3および
図4を
図1および
図2と比較すれば分かるように、ぼけ画像では花の周囲の葉の領域が主にぼけている。ここでは、原画像として、パンフォーカスで撮影された写真(換言すれば、被写界深度が深い写真)を例示している。これに対し、ぼけ画像として、花の領域にフォーカスが合った、被写界深度が浅い写真が得られる。すなわち、本発明によれば、擬似的に被写界深度を浅くすることができる。但し、本発明はパンフォーカス状態でない画像に対しても適用可能である。また、原画像は写真以外の画像、例えばコンピュータグラフィックスであってもよい。
【0039】
図5に、本発明の実施の形態に係る画像処理装置10のブロック図を例示する。
図5の例によれば、画像処理装置10は、ウエーブレット変換部(WT部とも称する)11と、高周波カット部12と、低周波ぼかし部13と、逆ウエーブレット変換部(IWT部とも称する)14と、関心領域展開部(ROI展開部とも称する)15とを含んでいる。
【0040】
<WT部11>
原画像のデータ(デジタルデータ)である原画像データ20は、WT部11へ入力される。WT部11は、原画像データ20に対してウエーブレット変換(ここでは離散ウエーブレット変換(DWT))を行って、第1画像データ21(画像データ21と略称する場合もある)を生成する。すなわち、原画像データ20は所定の分解レベルまで低周波成分と高周波成分とに分解され、その周波数分解の結果データが画像データ21である。WT部11は既存の技術、例えば特許文献3,4,7に記載の技術によって構成可能である。
【0041】
ウエーブレット変換によれば、処理対象の画像は周波数の低い成分と周波数の高い成分とに分解される。かかる分解は周波数分解、帯域分割、等とも称される。また、分割によって得られた各帯域成分(すなわち低周波成分と高周波成分のそれぞれ)はサブバンドとも称される。
【0042】
ウエーブレット変換の代表的な方式の1つとして、mallat型がある。
図6に、1次元でのウエーブレット変換について、mallat型のウエーブレットパケット木を示す。
【0043】
mallat型は、周波数の低い成分は周波数の高い成分よりも多くの情報を含んでいるという仮定の下に、低周波成分のみを繰り返し(換言すれば、再帰的に)周波数分割する方式である。かかる分割方式は、オクターブ分割方式とも称される。
【0044】
ウエーブレット変換における展開階層、換言すれば分解回数は、分解レベルと呼ばれる。なお、分解レベルの数は
図6の例に限定されるものではない。なお、ウエーブレット変換前の状態の分解レベル、すなわち処理対象とする原画像の分解レベルを0と表現することにする。
【0045】
図6の例によれば、入力画像は、分解レベル1において、高周波成分Hと低周波成分Lとに分解される。分解レベル1で得られた低周波成分Lは、分解レベル2において、更に高周波成分LHと低周波成分LLとに分解される。分解レベル2で得られた低周波成分LLは、分解レベル3において、更に高周波成分LLHと低周波成分LLLとに分解される。したがって、最終的に4つの帯域成分LLL,LLH,LH,Hが得られる。
【0046】
帯域分割は、例えば2分割フィルタバンクを使って、実現可能である。
図7に、1次元DWTを実現する2分割フィルタバンク群の構成例を示す。
図7の例では、2分割フィルタバンクは、低周波成分を通過させるローパスフィルタH
0(z)と、高周波成分を通過させるハイパスフィルタH
1(z)と、フィルタH
0(z),H
1(z)のそれぞれの後段に設けられたダウンサンプラとで構成されている。なお、ダウンサンプラは、入力される信号を1つおきに間引いて、信号長を半分にして出力する。1次元DWTは、この2分割フィルタバンクを繰り返し用いることによって、実現される。
【0047】
図8〜
図10に、2次元でのウエーブレット変換について、mallat型のウエーブレット平面を示す。
図8〜
図10の例によれば、入力画像(2次元画像)は、分解レベル1において(
図8参照)、垂直方向と水平方向のそれぞれについて周波数分割が行われる。これにより、
図8に示すように、4つの帯域成分HH1,HL1,LH1およびLL1に分割される。かかる周波数分割は、例えば、
図7に例示した1次元用のフィルタを、垂直方向と水平方向のそれぞれについて適用することによって、実現可能である。
【0048】
分解レベル1で得られた帯域成分LL1は、分
解レベル2において(
図9参照)、更に4つの帯域成分HH2,HL2,LH2,LL2に分割される。分解レベル2で得られた帯域成分LL2は、分
解レベル3において(
図10参照)、更に4つの帯域成分HH3,HL3,LH3,LL3に分割される。なお、分解レベルの設定値は3に限定されるものではない。
【0049】
ここで、2次元のウエーブレット変換に関する表記について、例えばHL1は、分解レベル1における水平方向の高周波成分Hと垂直方向の低周波成分Lとからなる帯域成分である。その表記法は「XYm」と一般化される(XおよびYはそれぞれH,Lのいずれか。mは1以上の整数)。すなわち、分解レベルmにおける水平方向の帯域成分Xと垂直方向の帯域成分Yとからなる帯域成分は「XYm」と表記される。
【0050】
また、例えば分
解レベル2において(
図9参照)、帯域成分LL2は、他の帯域成分HH2,HL2,LH2,HH1,HL1,LH1とは異なり、水平方向と垂直方向とのいずれについても低周波成分Lのみで構成されている。換言すれば、帯域成分HH2,HL2,LH2,HH1,HL1,LH1は、水平方向または/および垂直方向について、高周波成分Hを含んでいる。かかる点に鑑み、帯域成分LL2を分
解レベル2における低周波成分と称し、他の帯域成分HH2,HL2,LH2,HH1,HL1,LH1を分
解レベル2における高周波成分と称することにする。すなわち、分解レベルmにおいて、帯域成分LLmを低周波成分と称し、帯域成分LLm以外の帯域成分を高周波成分と称する。
【0051】
また、例えば分
解レベル1において、帯域成分LL1は画像の本質的な情報に対応する。また、帯域成分HL1は垂直方向に伸びるエッジの情報に対応し、帯域成分LH1は水平方向に伸びるエッジの情報に対応する。また、帯域成分HHは斜め方向に伸びるエッジの情報に対応する。また、帯域成分LL1によれば、分解前の画像の1/4のサイズの画像を提供可能である。
【0052】
他の分解レベルについても同様である。例えば、分解レベル2の帯域成分LL2,HL2,LH2,HH2は、分割前の帯域成分LL1を原画像と見なした場合における帯域成分LL1,HL1,LH1,HH1とそれぞれ同様の関係にある。
【0053】
図11に、
図1の画像に、分
解レベル3のウエーブレット変換を行った場合のウエーブレット平面を示す。
【0054】
ウエーブレット平面は、ウエーブレット変換の演算結果データを、原画像中の画素の並びに対応付けた概念的な平面である。例えばウエーブレット平面において帯域成分LL1として示されている領域内には、原画像中のある画素を注目画素として得られた演算結果データ(LL成分データ)が、原画像中での当該注目画素の位置に対応して並べられている。
【0055】
実施の形態では便宜的にウエーブレット平面を用いて説明するが、上記の第1画像データ21(
図5参照)は、実際のデータ配列順序を問わず、広義に定義可能である。すなわち、原画像データ20に対してウエーブレット変換を行って得られたデータの集合が、第1画像データ21にあたる。換言すれば、ウエーブレット平面は第1画像データ21の表現形式の一例である。かかる点は後述の画像データ22,23についても同様とする。
【0056】
<IWT部14>
次に、IWT部14を説明する。IWT部14は、入力される画像データに対して逆ウエーブレット変換(ここでは逆離散ウエーブレット変換(IDWT))を行う。逆ウエーブレット変換によれば、ウエーブレット変換によって分割された低周波成分と高周波成分とが合成される。かかる合成は周波数合成、帯域合成、等とも称される。なお、逆ウエーブレット変換は単に逆変換と称される場合もあり、これに対してウエーブレット変換は順変換と称される場合もある。
【0057】
画像処理装置10では、高周波カット部12および低周波ぼかし部13によって処理された第1画像データ21である第2画像データ22が、IWT部14に入力される。第2画像データ22に対して逆ウエーブレット変換して得られた画像データを、第3画像データ23と称することにする。なお、第2画像データ22を画像データ22と略称し、第3画像データ23を画像データ23と略称する場合もある。
【0058】
IWT部14は既存の技術、例えば特許文献7に記載の技術によって構成可能である。
図12に、1次元IDWTを実現する2分割フィルタバンク群の構成例を示す。
図12の例では、2分割フィルタバンクは、低周波成分を通過させるローパスフィルタG
0(z)と、高周波成分を通過させるハイパスフィルタG
1(z)と、フィルタG
0(z),G
1(z)のそれぞれの前段に設けられたアップサンプラと、フィルタG
0(z),G
1(z)の出力を加算する加算器とで構成されている。なお、アップサンプラは、入力される信号間にゼロ値を1つ挿入して、信号長を2倍にして出力する。1次元IDWTは、この2分割フィルタバンクを繰り返し用いることによって、実現される。
【0059】
逆ウエーブレット変換における合成回数は、合成レベルと呼ばれる。なお、合成レベルは
図12の例に限定されるものではない。なお、逆ウエーブレット変換前の状態(
図12の例では4つの帯域成分LLL,LLH,LH,Hに分割された状態)の合成レベルを0と表現することにする。
【0060】
図12の例によれば、2分割フィルタバンク群には、4つの帯域成分LLL,LLH,LH,Hが入力している。合成レベル1では、帯域成分LLLがアップサンプラを経てローパスフィルタG
0(z)に入力され、帯域成分LLHがアップサンプラを経てハイパスフィルタG
1(z)に入力され、2つのフィルタG
0(z),G
1(z)の出力が加算器によって加算される。これにより、帯域成分LLL,LLHが合成されて帯域成分LLが生成される。
【0061】
次の合成レベル2では、合成レベル1で得られた帯域成分LLがアップサンプラを経てローパスフィルタG
0(z)に入力され、帯域成分LHがアップサンプラを経てハイパスフィルタG
1(z)に入力され、2つのフィルタG
0(z),G
1(z)の出力が加算器によって加算される。これにより、帯域成分LL,LHが合成されて帯域成分Lが生成される。
【0062】
そして、合成レベル3では、合成レベル2で得られた帯域成分Lがアップサンプラを経てローパスフィルタG
0(z)に入力され、帯域成分Hがアップサンプラを経てハイパスフィルタG
1(z)に入力され、2つのフィルタG
0(z),G
1(z)の出力が加算器によって加算される。これにより、帯域成分L,Hが合成されて、分解レベル0の画像が生成される。
【0063】
ここで、
図12および
図7の例(すなわち分解レベルの設定値が3の場合)によれば、分解レベル3の状態が合成レベル0の状態に対応する。また、合成レベル1まで合成された帯域成分の集合は分解レベル2の状態に対応し、合成レベル2まで合成された帯域成分の集合は分解レベル1の状態に対応する。そして、合成レベル3の合成によって分解レベル0の画像が得られる。
【0064】
なお、整数型DWTの場合、デジタルフィルタH
0(z),H
1(z),G
0(z),G
1(z)(
図12および
図7参照)として、可逆型または整数型の5×3タップのフィルタが用いられることが多い。また、実数型DWTの場合は9×7タップのフィルタが用いられる場合が多い。
【0065】
<ROI展開部15>
次に、ROI展開部15を説明する。ROI展開部15は、ROI情報30を取得し、当該ROI情報30を第1画像データ21に展開する。
【0066】
ROI情報30は、原画像においてぼかさない領域としての関心領域(ROI)とぼかす領域としての非関心領域(非ROI)とが規定された情報である。なお、ROIと非ROIのうちの一方を特定できれば他方を特定可能であることに鑑みれば、ROI情報30はROIを特定するための情報と非ROIを特定するための情報とのうちの少なくとも一方で構成可能である。
【0067】
図3のぼけ画像を生成する場合、
図1の原画像に対するROI情報30は、
図13に示すように原画像と同じサイズの画像(換言すれば画像データ)によって、提供可能である。
図13の例では、白抜き領域31がROIであり、黒塗り領域32が非ROIである。
【0068】
図13の例において、ROI31は、画面上に表示した原画像を見ながら、マウス等のポインティング入力デバイスによって、設定可能である。あるいは、画像データの解析によってROI31を自動的に設定してもよい。例えば、原画像データ20を解析して、原画像中で花の色を含む領域をROI31として抽出してもよい。あるいは、前景と背景とを分離する技術を応用して、前景(ここでは花の領域)をROI31に設定してもよい。なお、前景と背景とを分離する技術は多数、開発されており、例えば特許文献6に記載された技術が例示される。ROI31が設定されたならば、残余の領域が非ROI32になる。なお、非ROI32を設定することによっても、ROI31を設定可能である。
【0069】
このようにROI31および非ROI32は種々の手法によって設定可能である。そして、そのようにして準備されたROI情報30が、ROI展開部15に入力される。
【0070】
ROI展開部15は、取得したROI情報30に基づいて、第1画像データ21に対して、ROI31に対応するROI対応部分と、非ROI32に対応する非ROI対応部分と、を特定する。これにより、ROI情報30が第1画像データ21に展開される。第1画像データ21に展開されたROI情報30を、展開ROI情報と称することにする。
【0071】
図14に、分解レベル3の第1画像データ21に対する、展開ROI情報35を例示する。
図14では、説明を分かりやすくするために、ウエーブレット平面(
図10参照)に対応させて、展開ROI情報35を視覚化している。
図14において、白抜き領域36がROI対応部分であり、黒塗り領域37が非ROI対応部分である。
【0072】
なお、展開ROI情報35は、ウエーブレット平面に合わせて構成されていなくてもよい。すなわち、第1画像データ21を構成する各データが、ROI31と非ROI32のいずれに含まれる画素に対応するのかを特定できれば、展開ROI情報35は任意のデータ配列構造、信号形式等によって構成可能である。
【0073】
展開ROI情報35の生成は既存の技術、例えば特許文献4に記載の技術によって構成可能である。
【0074】
例えば、ウエーブレット変換の演算処理において5×3フィルタが用いられる場合、
図15に示すようにしてROI情報30を展開可能である。なお、5×3フィルタでは、分解側のローパスフィルタが5タップであり、分解側のハイパスフィルタが3タップである。
【0075】
図15に示すように、原画像の偶数番目(nを整数として、2n番目と表記できる)の画素(換言すれば画素データ)がROI31に含まれる場合、低周波成分の側において(
図7の例を参照すると、ローパスフィルタの側のダウンサンプラから出力されるデータのうちで)n番目のデータを、ROI対応部分36に設定する。それと共に、高周波成分の側において(
図7の例を参照すると、ハイパスフィルタの側のダウンサンプラから出力されるデータのうちで){n−1}番目およびn番目のデータを、ROI対応部分36に設定する。
【0076】
他方、原画像の奇数番目({2n+1}番目と表記できる)の画素がROI31に含まれる場合、低周波成分の側のn番目および{n+1}番目のデータと、高周波成分の側の{n−1}番目、n番目および{n+1}番目のデータとを、ROI対応部分36に設定する。
【0077】
なお、
図15は原画像と分解レベル1のウエーブレット平面との対応関係を例示しているが、更に深い階層への再帰的な展開も同様に理解される。
【0078】
また、例えば、ウエーブレット変換の演算処理においてDaubechies9×7フィルタが用いられる場合、
図16に示すようにしてROI情報30を展開可能である。なお、Daubechies9×7フィルタでは、分解側のローパスフィルタが9タップであり、分解側のハイパスフィルタが7タップである。
【0079】
図16に示すように、原画像の偶数番目(2n番目と表記できる)の画素がROI31に含まれる場合、低周波成分の側の{n−1}番目、n番目および{n+1}番目のデータと、高周波成分の側の{n−2}番目、{n−1}番目、n番目および{n+1}のデータとを、ROI対応部分36に設定する。他方、原画像の奇数番目({2n+1}番目と表記できる)の画素がROI31に含まれる場合、低周波成分の側の{n−1}番目、n番目、{n+1}番目および{n+2}番目のデータと、高周波成分の側の{n−2}番目、{n−1}番目、n番目、{n+1}番目および{n+2}番目のデータとを、ROI対応部分36に設定する。なお、
図16は原画像と分解レベル1のウエーブレット平面との対応関係を例示しているが、更に深い階層への再帰的な展開も同様に理解される。
【0080】
なお、
図15および
図16の例から分かるように、ROI情報30の展開、すなわち展開ROI情報35の生成は、ウエーブレット変換のフィルタのタップ数に依存する。
【0081】
生成された展開ROI情報35は、高周波カット部12および低周波ぼかし部13へ供給され、高周波カット部12および低周波ぼかし部13における処理でマスクとして利用される。
【0082】
<高周波カット部12>
高周波カット部12は、第1画像データ21と展開ROI情報35とを取得する。そして、高周波カット部12は、非ROI対応部分37の高周波成分をカットする処理である高周波カット処理を、第1画像データ21に対して行う。この際、非ROI対応部分37は、展開ROI情報35から把握可能である。
【0083】
すなわち、高周波カット部12は、第1画像データ21において、高周波成分HL,LH,HH(換言すれば、低周波成分LL以外の成分)に含まれ、且つ、非ROI対応部分37に含まれるデータをカットする。
【0084】
高周波カット処理は、例えば、該当するデータの値を0に設定する処理である。あるいは、例えば、該当するデータの値を0以外の値に設定する処理を採用してもよい。但し、該当するデータの値を0に設定した方が、ぼけ画像において歪み等の発生を抑制でき、良質なぼけ画質が得られる。なお、該当データを特定の値に設定する処理以外の種々の処理によって、高周波カット処理を行ってもよい。
【0085】
<低周波ぼかし部13>
低周波ぼかし部13は、
図5の例では、高周波カット部12において高周波カット処理が行われた後の第1画像データ21を取得する。また、低周波ぼかし部13は、展開ROI情報35を取得する。そして、低周波ぼかし部13は、非ROI対応部分37の低周波成分をぼかす処理である低周波ぼかし処理を、取得した第1画像データ21に対して行う。
【0086】
すなわち、低周波ぼかし部13は、第1画像データ21において、低周波成分LLに含まれ、且つ、非ROI対応部分37に含まれるデータに対して、ぼかし処理を行う。
【0087】
低周波ぼかし処理は、例えば、ぼけ作用素を有したフィルタを利用すればよい。そのようなフィルタとして、ローパスフィルタが例示される。より具体的には、平滑化フィルタ(平均化フィルタとも称される)およびガウシアンフィルタが例示される。
【0088】
平滑化フィルタによれば、ウエーブレット平面における注目位置(注目画素と表現してもよい)のデータと当該注目位置の周辺のデータとを平均し、得られた平均値を当該注目位置のデータに採用する。
図17に示す3×3の平滑化フィルタのぼけ作用素によれば、注目位置および周辺位置のデータにそれぞれ所定レート(ここでは1/9)を乗算し、それらの乗算値を合算することになる。また、
図18に示す5×5の平滑化フィルタのぼけ作用素では、上記所定レートが1/25となる。
【0089】
一般的な画像では、近くに位置する画素の輝度差は小さく、画素間の距離が大きくなるほど輝度差が大きくなることが多い。かかる点に鑑みれば、注目画素からの距離に応じて重み付けをしてもよい。そのような重み付けとしてガウス分布を利用可能である。ガウス分布は次式で表される。
【0091】
ガウシアンフィルタでは、ガウス分布による重み付けが上記所定レートとして利用される。このため、上記式中のσの値が小さいほど平滑化の効果は小さくなり、逆にσの値が大きいほど平滑化の効果は大きくなる。
図19に3×3のガウシアンフィルタのぼけ作用素を示し、
図20に5×5のガウシアンフィルタのぼけ作用素を示す。
【0092】
低周波ぼかし処理は、平滑化フィルタ等のいわゆるフィルタとは異なる構成を用いて、行うことも可能である。低周波成分LLについて例示すると、低周波成分LLを更に再帰的にウエーブレット変換し、得られた画像データのうちの高周波成分に対して高周波カット処理を行い、その後、逆ウエーブレット変換を行う処理を、低周波ぼかし処理として適用してもよい。なお、WT部11と高周波カット部12とIWT部14とを利用して、低周波ぼかし処理を行うことができる。かかる例の処理によれば、細部においてフィルタを利用するにしても、全体として見れば、平滑化フィルタ等のいわゆるフィルタとは構成が異なる。
【0093】
なお、低周波ぼかし処理におけるウエーブレット変換の分解レベル(換言すれば、ウエーブレット変換および逆ウエーブレット変換の実行回数)は、原画像データ20をウエーブレット変換する際の分解レベルとは独立に、設定可能である。また、低周波ぼかし処理で利用する高周波カット処理は、WT部11から供給された画像データ21に対する高周波カット処理と同じであってもよいし、異なっていてもよい。
【0094】
低周波ぼかし処理が行われた後の(より具体的には、高周波カット処理および低周波ぼかし処理が行われた後の)第1画像データ21は、第2画像データ22として、IWT部14へ供給される。
【0095】
ここで、
図5の例では、IWT部14から、逆ウエーブレット変換後の第3画像データ23が、低周波ぼかし部13へ供給される。低周波ぼかし部13は、画像データ23に対しても同様に低周波ぼかし処理を行い、処理後の画像データ22をIWT部14へ出力する。
【0096】
<処理フロー>
図21に、画像処理装置10における処理フロー(換言すれば画像処理方法)S50のフローチャートを例示する。
【0097】
処理フローS50によれば、ステップS51において、初期設定が行われる。例えば、原画像データ20がWT部11に入力され、ウエーブレット変換の分解レベルの設定値がWT部11およびROI展開部15へ入力され、ROI情報30がROI展開部15へ入力される。但し、データ等は処理が実際に実行される前までに供給されればよい。ステップS51の後、ステップS52が行われる。
【0098】
ステップS52では、WT部11が、原画像データ20に対してウエーブレット変換を行う。WT部11はステップS52を、分解レベルの設定値で与えられる回数、繰り返す(
図21中のループ1を参照)。原画像データ20は、設定された分解レベルまでウエーブレット変換が行われることによって、高周波カット部12へ供給される第1画像データ21になる。ステップS52の後、ステップS53が行われる。
【0099】
ステップS53では、ROI展開部15が、ROI情報30を第1画像データ21に展開し、展開ROI情報35を生成する。なお、ここではステップS53をステップS52の後に実行するが、ステップS53をステップS52の前に実行してもよい。更には、ステップS53をステップS52と並行して実行してもよい。ステップS53の後、ステップS54が行われる。
【0100】
ステップS54では、高周波カット部12が、WT部11から第1画像データ21を取得するとともにROI展開部15から展開ROI情報35を取得し、展開ROI情報35に基づいて第1画像データ21に対して高周波カット処理を行う。ステップS54の後、ステップS55が行われる。
【0101】
ステップS55では、低周波ぼかし部13が、高周波カット処理が行われた後の第1画像データ21を高周波カット部12から取得するとともに、ROI展開部15から展開ROI情報35を取得し、展開ROI情報35に基づいて第1画像データ21に対して低周波ぼかし処理を行う。ステップS55の後、ステップS56が行われる。
【0102】
ステップS56では、IWT部14が、低周波ぼかし処理が行われた後の(より具体的には、高周波カット処理および低周波ぼかし処理が行われた後の)第1画像データ21である第2画像データ22を、低周波ぼかし部13から取得し、当該第2画像データ22に対して逆ウエーブレット変換を行う。
【0103】
ここで、ステップS56では、IWT部14は、逆ウエーブレット変換を1回行い(換言すれば、分解レベルを1段階、戻し)、得られた画像データを第3画像データ23として低周波ぼかし部13へ供給する。そして、低周波ぼかし部13は、IWT部14から取得した第3画像データ23に対して、展開ROI情報35に基づいて、低周波ぼかし処理を行う(ステップS55)。すなわち、ステップS55,S56が繰り返される(
図21中のループ2を参照)。
【0104】
より具体的には、分解レベルが3の場合(
図10参照)、まず低周波成分LL3に対して低周波ぼかし処理が行われ、低周波ぼかし処理後の低周波成分LL3と高周波カット処理後の高周波成分HL3,LH3,HH3とが合成される。かかる合成によって低周波成分LL2(
図9参照)が生成され、分解レベルが2になる。
【0105】
次に、低周波成分LL2に対して低周波ぼかし処理が行われ、低周波ぼかし処理後の低周波成分LL2と高周波カット処理後の高周波成分HL2,LH2,HH2とが合成される。かかる合成によって低周波成分LL1(
図8参照)が生成され、分解レベルが1になる。
【0106】
更に、低周波成分LL1に対して低周波ぼかし処理が行われ、低周波ぼかし処理後の低周波成分LL1と高周波カット処理後の高周波成分HL1,LH1,HH1とが合成される。かかる合成によって、分解レベルが0の画像データ23が得られる。
【0107】
分解レベル0の画像データ23が得られた段階で、ステップS55,S56の繰り返しは終了する。すなわち、ステップS55,S56は、ステップS51で設定された分解レベルの値と同じ回数、繰り返される。すなわち、ここでは、合成回数は分解回数と同じである。
【0108】
なお、分解レベル2の低周波成分LL2に対して低周波ぼかし処理を行う際、低周波成分LL2用の展開ROI情報35(
図22参照)が必要になる。かかる点に関し、低周波成分LL2のサイズの展開ROI情報35は、分解レベル3の画像データ全体用の展開ROI情報35(
図14参照)を生成する途中で生成済みであるので、それを利用すればよい。あるいは、必要な時点で、ROI展開部15が、低周波成分LL2用の展開ROI情報35を生成してもよい。分解レベル1の低周波成分LL1用の展開ROI情報35(
図23参照)についても同様である。
【0109】
ステップS55,ステップS56の繰り返しの後、生成された分解レベル0の画像データ23が、ステップS57において、ぼけ画像データ29としてIWT部14から出力される。
【0110】
なお、ステップS54では、第1画像データ21中の全ての高周波成分(分解レベル3の場合、HL3,LH3,HH3,HL2,LH2,HH2,HL1,LH1,HH1)に対して、非ROI対応部分37の高周波カット処理を行うものとした。但し、高周波カット処理は、ステップS56での逆ウエーブレット変換までに行われればよい。例えば、高周波成分HL1,LH1,HH1に対する高周波カット処理は、分解レベル1から分解レベル0への逆ウエーブレット変換までに済んでいればよい。かかる点に鑑みると、ステップS54の実行順序は上記例に限定されるものではない。例えば、ステップS54は、ステップS55の後に実行してもよいし、あるいは、他のステップと並行して実行してもよい。
【0111】
<効果等>
画像処理装置10および画像処理方法S50によれば、
図3に示したような、良質なぼけ画像が得られる。また、ウエーブレット変換の分解レベルの制御によって、ぼけ具合を容易に調整できる。
図3は分解レベルの設定値が3である場合に対応する。
図24および
図25に分解レベルの設定値が6である場合のぼけ画像を示す。
図25は、
図24の画像に対して、
図2と同様の明るさ調整を施した画像である。
【0112】
ここで、比較のために、低周波ぼかし処理を行わない場合のぼけ画像を
図26および
図27に例示する。
図27は、
図26の画像に対して、
図2と同様の明るさ調整を施した画像である。
図26および
図27によれば、花の領域と葉の領域との境界の外側(すなわち葉の領域側)、換言すればROIと非ROIの境界の外側(すなわち非ROI側)において、
図3および
図4と比較してぼけ具合が弱くなっている。換言すれば、ぼけ具合が不自然になっている。これは、低周波分LL3のROI対応部分36の境界付近のデータが影響を及ぼしてしまうからである。したがって、低周波ぼかし処理の採用は有用である。
【0113】
上記では低周波ぼかし処理と逆ウエーブレット変換とを交互に繰り返す例を説明した。これに対し、低周波ぼかし処理を少なくとも1回行えば、
図26の比較用画像よりも、自然なぼけ具合を実現できる。換言すれば、逆ウエーブレット変換後に低周波ぼかし処理を実行する回数は、分解レベルの設定値よりも少なくてもよい。また、その回数を制御することによって、ぼけ具合を調整できる。
【0114】
低周波ぼかし処理と逆ウエーブレット変換との繰り返しに関する情報(具体的には、どの分解レベルまで戻った段階で低周波ぼかし処理を実行するのかに関する情報)は、例えば、ステップS51において、
図5中に点線矢印で示すようにIWT部14に対して与えればよい。その情報に基づいて、IWT部14は、低周波ぼかし部13へ画像データ23を供給するのか、あるいは、そのようなデータ供給を行わずに逆ウエーブレット変換によって更に分解レベルを戻すのか、を判別可能である。
【0115】
また、IWT部14において生成された分解レベル0の第3画像データ23を、低周波ぼかし部13へ再度、入力してもよい。この場合、分解レベル0の第3画像データ23は、更に低周波ぼかし処理が施されて、出力画像データであるぼけ画像データ29になる(
図5中の鎖線矢印を参照)。この例によれば、演算量は増えるが、ROIと非ROIの界付近のぼけ具合を、よりなだらかにすることができる。
【0116】
ところで、ROI情報30を画像データ21に展開する際、非ROI対応部分37に対する高周波カット処理および低周波ぼかし処理が、逆ウエーブレット変換後の画像データ23(ぼけ画像データ29も含む)のうちのROI対応部分36に影響を及ぼさないという条件が満足されることが好ましい。当該条件を満足することによって、原画像に設定したROI内にぼけが進入するのを防止できる。
【0117】
かかる点に関し、
図13に例示したROI情報30では花びら上の影部分を非ROIに設定しているが、上記条件に従うと展開ROI情報35は
図14のようになる。すなわち、
図14から分かるように、上記の影部分に対応する非ROI対応部分は、分
解レベル2および分
解レベル3の帯域成分用のサイズにおいて、サイズの縮小率よりも更に小さくなっている、あるいは、消失している。
【0118】
また、
図15および
図16を用いて例示した展開手法によれば、上記条件に従ってROI情報30を画像データ21に展開できる。なお、これらの例以外の手法によれば、第1画像データ21中に、原画像中の或る画素との対応付けによればROI対応部分36になるが、原画像の他の画素との対応付けによれば非ROI対応部分37になってしまうデータが生じる場合がある。しかし、そのような場合でも、いずれかの画素との対応付けでROI対応部分になるデータは、他の画素との対応付けに関わらず、ROI対応部分に設定すればよい。
【0119】
上記では逆ウエーブレット変換の実行回数(すなわち合成回数)が、ウエーブレット変換の実行回数(すなわち分解回数)が同じである例を説明した。この場合、ぼけ画像は原画像と同じサイズで生成される。
【0120】
これに対し、合成回数は分解回数よりも少なくてもよい。この場合、ぼけ画像は合成回数に応じたサイズになる。例えば、分解回数が3回であり、合成回数が2回である場合、分解レベル1の低周波成分LL1(
図8参照)をぼけ画像データ29として出力可能であり、それにより原画像の1/4のサイズのぼけ画像が得られる。
【0121】
このように、分解レベル0でない第3画像データ23の低周波成分LLを利用することによって、ぼけ画像のサイズを容易に調整できる。なお、ぼけ画像の出力サイズは例えば合成レベル(換言すれば合成回数)によって設定することができ、その設定値は例えば、ステップS51において、
図5中に破線矢印で示すようにIWT部14に対して与えればよい。
【0122】
さて、画像処理装置10および画像処理方法S50では、ウエーブレット変換された画像データを利用して、ぼけ画像を生成する。これに対して、原画像データのままで非ROIをぼかすことも考えられる。例えば、原画像の非ROIにぼけ作用素を有したフィルタをかけて生成したぼけ画像の一部分を、
図28に拡大して示す。また、画像処理装置10および画像処理方法S50によって生成したぼけ画像における同じ部分を
図29に示す。なお、
図29は、分解および合成の回数が1回の場合の画像である。
【0123】
原画像のままぼけ作用素をかけると、ROIと非ROIの境界付近においてROIと非ROIの差が明確になるので、画像を拡大すると不自然になる(
図28参照)。このため、境界をぼかすフィルタが更に必要になってしまう。また、ぼけ具合を大きくするためには、フィルタのタップ数を大きくするか、ぼけ作用素を繰り返し適用することが考えられる。しかし、演算量が大きくなってしまう。また、原画像サイズのままでの演算すること自体、演算量が大きい。
【0124】
このように、画像処理装置10および画像処理方法S50によれば、原画像のままぼかし処理を行う場合に比べて、良質なぼけ画像を得ることができる。
【0125】
なお、画像処理装置10は、例えば、デジタルシグナルプロセッサ(DSP)として構成可能である。その場合、WT部11等の各種要素の処理(換言すれば、その処理に対応した機能)を実現する回路が固定的に構成されていてもよい。あるいは、基本的な素子および回路を固定的に搭載しており、それらの利用形態がプログラマブルな構成であってもよい。
【0126】
また、上記では画像処理方法S50が画像処理装置10において実行されるものとしたが、画像処理方法S50は画像処理装置10とは異なる構成の装置によって実行されてもよい。また、画像処理方法S50は、CPU(Central Processing Unit)が実行するプログラムとして、具現化することも可能である。
【0127】
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。