(57)【要約】【課題】オブジェクト判定や距離ごとの繰り返し処理を行わずに、奥行きに応じたぼけやシャープネスの制御をすること。【解決手段】光学的特徴に関連する閾値マトリクスと、画像の距離情報と閾値マトリクスとを比較することで、画像における注目画素に適用するフィルタを決定する。そして、決定したフィルタで画像データをフィルタ処理する。【選択図】図１
2014048714.tif 000002
【特許請求の範囲】
【請求項１】
光学的特徴に関連する閾値マトリクスを取得する取得手段と、
画像の距離情報と前記取得手段で取得した閾値マトリクスとを比較することで、前記画像における注目画素に適用するフィルタを決定する決定手段と、
前記画像を示す画像データを前記決定手段で決定したフィルタでフィルタ処理する処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記光学的特徴は、被写界深度を示すことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記光学的特徴は、注視点の距離データ、Ｆ値、有効口径、距離データの最大値と最小値に対応する実際の距離の少なくとも１つに関連することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記決定手段は、前記距離情報に応じて、前記注目画素に適用するフィルタのサイズを変更することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記決定手段は、前記注目画素の距離情報と、前記注目画素の周辺の画素の距離情報とに応じて、前記注目画素に適用するフィルタの形状を変更することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記閾値マトリクスで規定される値は、前記光学的特徴に応じて変換された値であることを特徴とする請求項１から５のいずれかに記載の画像処理装置。
【請求項７】
前記フィルタ処理に用いるフィルタは平滑化フィルタであることを特徴とする請求項１から６のいずれかに記載の画像処理装置。
【請求項８】
前記フィルタ処理に用いるフィルタは鮮鋭化フィルタであることを特徴とする請求項１から６のいずれかに記載の画像処理装置。
【請求項９】
光学的特徴に関連する閾値マトリクスを取得する取得ステップと、
画像の距離情報と前記取得ステップで取得した閾値マトリクスとを比較することで、前記画像における注目画素に適用するフィルタを決定する決定ステップと、
前記画像を示す画像データを前記決定ステップで決定したフィルタでフィルタ処理する処理ステップと
を有することを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１から８のいずれかに記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを奥行き情報に応じて画像処理する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、画像から得られる情報だけでなく、画像の奥行き情報を利用した画像処理技術が注目されている。例えば、画像の奥行き情報に応じて画像のぼけやシャープネスを制御すると、カメラ撮像後に撮像距離や被写界深度を変更したり、ディスプレイに表示する画像の立体感を向上したりすることが可能となる。
【０００３】
特許文献１に記載された方法によれば、画像中のオブジェクトの領域を判定し、オブジェクト領域とオブジェクト領域以外とで異なる鮮鋭化・平滑化・コントラスト制御を行うことで立体感を向上させることができる。
【０００４】
特許文献２に記載された方法によれば、画像中で距離が遠いものからぼかしと半透明化処理を繰り返して画像を合成することで被写界深度の演出を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１５２５２１号公報
【特許文献２】特開２００２−２４８４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１にはオブジェクト領域とオブジェクト領域以外の境界で処理が切り替わることによって画像が不自然になるという課題がある。また、特許文献２には繰り返し処理を行うことで処理が遅くなるという課題がある。
【０００７】
そこで、本発明は、オブジェクト判定や距離ごとの繰り返し処理を行わずに、簡易な構成で画像の奥行き情報に応じて画像データに対してフィルタ処理を行い、奥行きに応じたぼけやシャープネスの制御をすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、光学的特徴に関連する閾値マトリクスを取得する取得手段と画像の距離情報と前記取得手段で取得した閾値マトリクスとを比較することで、前記画像における注目画素に適用するフィルタを決定する決定手段と、前記画像を示す画像データを前記決定手段で決定したフィルタでフィルタ処理する処理手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、簡易な構成で画像の奥行き情報に応じたフィルタ処理が可能になる。
【図面の簡単な説明】
【００１０】
【図１】実施例１における画像処理装置の一例を示す図である。
【図２】実施例１における画像処理方法のフローチャートの一例を示す図である。
【図３】実施例１における閾値マトリクス作成処理の一例を示すフローチャートである。
【図４】実施例１における閾値マトリクスの一例を示す図である。
【図５】実施例１におけるフィルタ作成処理の一例を示すフローチャートである。
【図６】実施例１におけるフィルタ作成処理の概要を示す図である。
【図７】実施例１におけるフィルタ作成処理の概要を示す図である。
【図８】実施例１における作成されたフィルタの一例を示す図である。
【図９】実施例２におけるフィルタ作成処理の概要を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１２】
本実施例では奥行きに応じたぼかし処理を行う画像処理装置について説明する。具体的には、奥行き情報によって、平滑化フィルタのフィルタサイズを決定し、フィルタ内の周辺画素の奥行き情報によってフィルタ形状を変更する処理を行う。
【００１３】
＜画像処理装置＞
図１は、本実施例に係わる画像処理装置の構成の一例を示す図である。画像処理装置は、パラメータ入力部１１、閾値マトリクス作成部１２、閾値マトリクス記憶部１３、距離情報入力部１４、フィルタ作成部１５、画像データ入力部１６、フィルタ処理部１７、及び画像データ出力部１８を含む。
【００１４】
図２は、図１に示す画像処理装置の処理のフローの一例を示す図である。以下、図１と図２を使って画像処理装置の処理を説明する。すなわち、画像データ入力部１６に入力される画像データが示す画像の奥行き情報を利用して、当該入力される画像データに対してフィルタ処理を行う処理の例について説明する。
【００１５】
まず、ステップＳ２１において、パラメータ入力部１１がフィルタ作成に必要な光学的特徴に関連するパラメータを取得する。そして、閾値マトリクス作成部１２がパラメータ入力部１１において取得したパラメータに従って光学的特徴に関連する閾値マトリクスを作成し、作成した閾値マトリクスを閾値マトリクス記憶部１３に記憶する。この閾値マトリクスは、フィルタ処理される画像データが示す画像の奥行き情報に応じて作成される。よって、フィルタ処理される画像の全画素に対して共通の閾値マトリクスとすることができる。
【００１６】
なお、本実施例のパラメータとは、例えば、注視点（焦点を合わせたい点）の距離データやＦ値や有効口径、距離データの最大値と最小値に対応する実際の距離(または距離の逆数)などの被写界深度を決定する値がある。また、画像の各画素の距離データについてもパラメータ入力部１１において取得される。なお、閾値マトリクスは距離データに従って変化するフィルタ形状を表している。作成の詳細は後述する。
【００１７】
なお、本実施例では、距離データはパラメータ入力部１１において取得する距離データそのものを指し、後述する距離情報は、距離データを変換した値を指す。本実施例においては、距離データ及び距離情報のいずれも奥行き情報に対応する。
【００１８】
次に、ステップＳ２２において、距離情報入力部１４がパラメータ入力部１１で入力された距離データを取得し、パラメータ入力部１１で入力された被写界深度を示すパラメータに応じて距離情報に変換する。ここでは、例えば、注視点をゼロとして注視点からの差に変換すれば良い。また、距離情報はあらかじめ実際の距離の逆数（ディオプター）に変換することが望ましい。
【００１９】
次に、ステップＳ２３において、フィルタ作成部１５が閾値マトリクス記憶部１３に記憶された閾値マトリクスと距離情報入力部１４から入力された距離情報に応じてフィルタを作成する。作成方法の詳細は後述する。
【００２０】
最後に、ステップＳ２４において、画像データ入力部１６が画像データを取得し、フィルタ処理部１７がフィルタ作成部１５で作成されたフィルタを使い画像データ入力部１６が取得した画像データに対してフィルタ処理を行う。そして、画像データ出力部１８がフィルタ済みの画像データを出力する。なお、上記例では、画像データ入力部１６に入力される画像データが示す画像の各画素の距離データは、公知の手法により算出され、パラメータ入力部１１で入力されているものとする。
【００２１】
本実施例の構成においては、上記以外にも様々な構成要素が存在し得るが、本実施例の主眼ではないため、その説明は省略する。
【００２２】
＜閾値マトリクス作成部の処理＞
以下、閾値マトリクス作成部１２の処理一例を図３のフローチャートと、図４の閾値マトリクスの例を用いて説明する。
【００２３】
まず、ステップＳ３１において、閾値マトリクス作成部１２は、所定の形状のマトリクスの中心からの距離を算出し、閾値マトリクスを作成する。例えば、フィルタ形状６角形の場合、図４の閾値マトリクス４１のようになる。なお、閾値マトリクス４１では簡単のため実数の少数部分を丸めこみ整数にしている。例えば、以下のような数式の算出結果w(x,y)を閾値マトリクスの中心を(x,y)=(0,0)とした座標系(x,y)で計算することで閾値マトリクス４１が算出できる。  
axe1=inv({{1,1/2},{0,sqrt(3/4)}})
axe2=inv({{1,1/2},{0,-sqrt(3/4) }})
axe3=inv({{1/2,1/2},{sqrt(3/4),-sqrt(3/4)}})
w(x,y)=min(sum(abs(axe1*{x,y}')),sum(abs(axe2*{x,y}')),sum(abs(axe3*{x,y}')))
・・・（１）
【００２４】
なお、ここで、{}は配列・行列、invは逆行列、sqrtは平方根、absは絶対値、sumは和、minは最小値、'は行列の転置(行ベクトルから列ベクトルへの変更)を表す。また、フィルタ形状が円形の場合は単にw(x,y)=sqrt(x*x+y*y)とすれば算出できる。さらに、最大にぼける領域でのフィルタ形状を定めるため、一定値を超える閾値マトリクス４１の値(この例では９以上)は消去した形の閾値マトリクス４２にすることが望ましい。
【００２５】
次に、ステップＳ３２において、閾値マトリクス作成部１２は、パラメータ入力部１１から入力されたパラメータに応じて、作成した閾値マトリクス４２で規定される値を変換する。例えば、距離情報の最小値0の値が1/900[1/mm]、距離情報の最大値255の値が1/300[1/mm]で、Ｆ値３．５、センササイズ36mm、焦点距離35mm、画像サイズFullHDというパラメータに基づいて変換する。すると、閾値マトリクス４２は閾値マトリクス４３のようになる。
【００２６】
このとき、変換は一般的なレンズの光学的なぼけの式から、ガウシアンフィルタのσが以下のように計算できるため、平均化フィルタの大きさはσに比例して決めれば良い。 
σ=f*f/F*abs(L-d)*width/sensorwidth  ・・・（２）
【００２７】
なお、ここで、fは焦点距離、FはＦ値、Lは注視点の距離の逆数、dが距離の逆数、widthが画像サイズ[pixel]、sensorwidthはセンササイズである。閾値マトリクス４３の場合は半径が２σに対応するようにして以下のように計算したw'(x,y)にしているがこれに限らない。  
w'(x,y)= w(x,y)÷(f*f/F*((1/300-1/900)/255)*width/sensorwidth*2) ・・・（３）
【００２８】
＜フィルタ作成部の処理＞
以下、フィルタ作成部１５の処理の一例を図５のフローチャートと図６及び図７の模式図とを使って説明する。なお、以下で示すフィルタ作成部１５の処理は、注目画素を変更しながら画像を構成する全ての画素に対して行われる。
【００２９】
まず、ステップＳ５１において、フィルタ作成部１５は、距離情報入力部１４から注目画素の距離情報を取得する。ここでは、図６の６１のように距離情報入力部１４から送られた位置x,yの距離情報をd(x,y)と記述し、中央のd(0,0)が注目画素であるとする。例えば、図７の距離情報７２のように注目画素d(0,0)=23で、注目画素は距離23と距離4の境界に位置しているとする。以下では、この注目画素d(0,0)=23に対するフィルタを作成する例について説明する。
【００３０】
次に、ステップＳ５２において、フィルタ作成部１５は、注目画素の距離情報と閾値マトリクスとを比較することで、フィルタの大きさを決定する。ここでは、図６の閾値マトリクス６４のように中心位置を(x,y)=(0,0)とした閾値マトリクスの値をw'(x,y)とする。フィルタの大きさを決めるには、距離情報６１の注目画素の値d(0,0)と閾値マトリクス６４のそれぞれの閾値w'(x,y)とを比較し、注目画素の値d(0,0)より小さい範囲をフィルタの範囲とすれば良い。すなわち、注視点に近い注目画素に対するフィルタほど、小さいフィルタを作成し、注視点に遠い注目画素に対するフィルタほど、大きいフィルタを作成する。これにより、注視点に近いほどぼけず、遠いほどぼけるようなフィルタ処理が行われる。このように各画素のフィルタの大きさを可変とすることで省メモリ化や処理の高速化を実現できる。図７の距離情報７２の例では、例えば、w'(x,y)の値に図４の閾値マトリクス４３と同じ値を使って距離情報７２のd(0,0)=23と比較すると、フィルタの範囲は閾値マトリクス７５のように黒枠で囲まれた部分になる。なお、この処理は閾値マトリクスとの比較に限らず、例えば、距離情報と対応したフィルタの範囲をＬＵＴで取得するようにしても良い。
【００３１】
次に、ステップＳ５３において、フィルタ作成部１５は、ステップＳ５２で決定したフィルタ範囲内にある、画像を構成する画素の距離情報を取得する。例えば、距離情報７３の太字部分のように、ステップＳ５２で決定したフィルタ範囲内の距離情報d(x,y)を取得する。
【００３２】
次に、ステップＳ５４において、フィルタ作成部１５は、フィルタ範囲内の距離情報d(x,y)と、対応する閾値マトリクスw'(x,y)とを比較してd(x,y)<w'(x,y)となる画素をフィルタから外す。例えば、距離情報７３と閾値マトリクス７５とを比較したとき、d(x,y)<w'(x,y)となりフィルタ範囲から外される画素は閾値マトリクス７６の射線部分になる。この結果、フィルタを図８の８１のようにf(x,y)としてフィルタ範囲内を1、範囲外を0とすると
f(x,y)=1    (w'(x,y)<=d(0,0)かつw'(x,y)<=d(x,y))      ・・・（４）
=0    (それ以外)
と書くことができる。このように、注視点に近い画素については、焦点が合っている画素と考えられるので、フィルタ処理の対象外とする。かかる処理により、焦点が合っている部分が不自然にぼけることを防止できる。
【００３３】
最後に、ステップＳ５５において、フィルタ作成部１５は、フィルタの合計が１になるように正規化する。例えば、Ｓ５４までに決定したフィルタ範囲の重みを全て均等にした場合、フィルタ８２のようにフィルタ範囲内で重み1/51のフィルタが作成される。
【００３４】
上記で説明した処理を、注目画素を変更して繰り返し行うことで、距離情報に応じたフィルタ作成が可能となる。
【００３５】
なお、本実施例ではフィルタ範囲を決定した後にフィルタ形状を決め、フィルタを作成し、フィルタ処理部１７に出力する構成で説明したが、本実施例はこの形態に限らない。例えば、数式（４）に従って、距離情報と閾値マトリクスの比較をしてフィルタ内に入る画素と重みを足しこみ、画素の和を重みの和で割ることでフィルタ作成とフィルタ処理を同時に行うこともできる。
【００３６】
また、本実施例ではフィルタ内の重みを一様としたが、これに限らない。例えばガウス関数のような重みであっても良い。
【００３７】
また、本実施例では閾値マトリクスの値をパラメータによって変換し、被写界深度を調整する例を上げたが、閾値マトリクスの値は変換せず、距離情報を同様に変換しても良い。ただし、計算ステップ数削減のためには、閾値マトリクスの値を変更する方が望ましい。
【００３８】
以上の処理を距離情報・画像データの各画素において繰り返すことで、距離の差がある境界部分でも自然な奥行きに応じたぼかし処理を簡易な構成で実現できる。
【実施例２】
【００３９】
実施例１では奥行きに応じたぼかし処理の例を挙げた。本実施例では奥行きに応じた先鋭化処理の例を示す。
【００４０】
ここでは、アンシャープマスク処理の例を上げる。処理対象の画素値Ｐに対するアンシャープマスク処理は、処理適用後画素値Ｐ'、ぼかしフィルタの半径Ｒ、適用量Ａ（％）を用いて以下の式(５)で表現できる。  
Ｐ'(i,j)＝Ｐ(i,j)＋(Ｐ(i,j)−Ｆ(i,j,R)) *Ａ／１００      ・・・(５)
【００４１】
式(５)においてＦ(i,j,R)は、画素Ｐ(i,j)に対して半径Ｒのぼかしフィルタを適用して得られる画素値である。本実施例におけるぼかし処理としては、ガウスぼかしを用いる。ガウスぼかしとは、処理対象画素からの距離に応じてガウス分布による重み付けを行って平均化を行う処理であり、自然な処理結果を得ることができる。また、ぼかしフィルタの半径Ｒの大きさは、シャープネス処理を適用したい画像上の周波の波長に関係する。すなわち、Ｒが小さいほど細かい模様が強調され、Ｒが大きいほど緩やかな模様が強調される。
【００４２】
本実施例では、アンシャープ処理のぼかしフィルタのサイズが注視点近くの距離では大きく、注視点から遠い距離では小さくなるようにする。つまり、実施例１の距離情報とフィルタサイズの関係とは逆である。これによって、強調したい模様が距離が遠くなることで小さくなった場合でもそれに合わせて強調することなどが可能になる。
【００４３】
実施例２の画像処理装置の構成および画像処理方法の概要については、図１及び図２で示したものと同様とすることができるので省略する。
【００４４】
＜閾地マトリクス作成部の処理＞
実施例２においては、閾値マトリクスは距離に応じて鮮鋭化フィルタの大きさを任意に指定すれば良い。例えば、距離情報に比例して決める場合、数式（１）で求めたw(x,y)を使って
w'(x,y)=α-β*w(x,y) ・・・（６）
として決めれば良い。
【００４５】
＜フィルタ作成部の処理＞
以下、フィルタ作成部１５の一例を図５のフローチャートと図９の模式図とを使って説明する。なお、このフローチャートによって作成されるのはアンシャープ処理のガウスぼかし部分のフィルタである。
【００４６】
ステップＳ５１は実施例１と同様であるため、省略する。ここでも実施例１の距離情報６１と同様に、距離情報を中心の位置を(x,y)=(0,0)として、距離情報９１のようにd(x,y)と記述する。ここでは実例を距離情報９２のようにd(0,0)=4とする。
【００４７】
次に、ステップＳ５２において、フィルタ作成部１５は、注目画素の距離情報と閾値マトリクスとを比較することで、フィルタの大きさを決定する。ここでも実施例１の閾値マトリクス６４と同様に、閾値マトリクス９４のようにw'(x,y)と記述する。フィルタの大きさを決めるには、距離情報９１の注目画素の値d(0,0)と閾値マトリクス９４のそれぞれの閾値w'(x,y)とを比較し、注目画素の値d(0,0)より大きい範囲をフィルタの範囲とすれば良い。例えば、w'(x,y)の値が閾値マトリクス９５の値である場合、距離情報９２のd(0,0)=4と比較すると、フィルタの範囲は閾値マトリクス９５のように黒枠で囲まれた部分になる。なお、この処理は閾値マトリクスとの比較に限らず、例えば、距離情報と対応したフィルタの範囲をＬＵＴで取得するようにしても良い。
【００４８】
次に、ステップＳ５３において、フィルタ作成部１５は、前記フィルタ範囲内にある距離情報を取得する。例えば、距離情報９３の太字部分のように、ステップＳ５２で決めたフィルタ範囲内の距離情報d(x,y)を取得する。
【００４９】
次に、ステップＳ５４において、フィルタ作成部１５は、フィルタ範囲内の距離情報d(x,y)と、対応する閾値マトリクスw'(x,y)とを比較してd(x,y)>w'(x,y)となる画素をフィルタから外す。例えば、距離情報９３と閾値マトリクス９５を比較したとき、d(x,y)<w'(x,y)となりフィルタ範囲から外される画素は閾値マトリクス９６の射線部分になる。この結果、フィルタを図８の９７のようにf(x,y)としてフィルタ範囲内を１、範囲外を０とすると
f(x,y)=1    (w'(x,y)>=d(0,0)かつw'(x,y)>=d(x,y))        ・・・（７）
=0    (それ以外)
と書くことができる。ここでは重みがガウス関数なので、σ=１のガウス関数を使うとすると、
f(x,y)=exp(-(x^2+y^2))    (w'(x,y)>=d(0,0)かつw'(x,y)>=d(x,y))    ・・・（８）
=0    (それ以外)
となる。ここで、ガウス重みのσの値は距離d(0,0)によって変わることが望ましい。
【００５０】
最後に、ステップＳ５５において、フィルタ作成部１５は、フィルタの合計が１になるように正規化する。例えば、数式（７）のフィルタ重みの場合、フィルタ９８のように数式（８）を4.76で割ることでフィルタが作成される。
【００５１】
以上で、距離情報に応じたアンシャープ処理のガウスぼかし部分のフィルタの作成が可能となる。
【００５２】
数式（５）のようにアンシャープ処理のフィルタを作成するには、
f_sharp(x,y)=1+(1-f(x,y)) *Ａ／１００    (x=0,y=0)      ・・・（９）
=-f(x,y) *Ａ／１００    (それ以外)
とすれば良い。ここで実数αはエッジ強調の調整するパラメータである。
【００５３】
なお、以上の処理は実施例１と同様にフィルタ作成とフィルタ処理を同時に行うこともできる。
【００５４】
以上の処理を距離情報・画像データの各画素において繰り返すことで、距離の差がある境界部分でも自然な奥行きに応じた鮮鋭化処理を簡易な構成で実現できる。
【００５５】
以上が、画僧処理装置の構成の一例についての説明である。なお、上記説明した、画像処理装置には、コンピュータが組み込まれていても良い。コンピュータには、ＣＰＵ等の主制御手段、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等の記憶手段が具備される。また、コンピュータにはその他、キーボード、マウス、ディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備される。なお、これら各構成手段は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
【００５６】
＜その他の実施例＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014048714.tif 000003
【図２】
2014048714.tif 000004
【図３】
2014048714.tif 000005
【図５】
2014048714.tif 000006
【図４】
2014048714.tif 000007
【図６】
2014048714.tif 000008
【図７】
2014048714.tif 000009
【図８】
2014048714.tif 000010
【図９】
2014048714.tif 000011