(57)【要約】［課題］2次元画像からより高品質の3次元画像を生成する。［解決手］入力画像内のオブジェクトを検出する検出部と、画素の奥行き値を記述する少なくとも１つのデプステンプレートのうち、検出された前記オブジェクトの種類に対応するデプステンプレートを選択し、前記入力画像内での前記検出されたオブジェクトの位置に従って選択されたデプステンプレートをデプスマップ上に配置することにより、前記入力画像における画素毎の奥行き値を記述する前記デプスマップを生成するデプスマップ生成部と、前記デプスマップ内の少なくとも１つの注目画素と、周辺画素の重みを、前記注目画素に対応する前記入力画像内の対応注目画素の画素値と、前記周辺画素に対応する前記入力画像内の対応周辺画素の画素値との関係から算出し、注目画素の前記奥行き値と前記周辺画素の前記奥行き値との前記重みの重み付き和から前記注目画素の奥行き値を補正する補正部と、前記補正部により補正されたデプスマップと前記入力画像とに基づき複数の視差画像を生成する画像生成部と、を備える。
2011033673.tif 000002
【特許請求の範囲】
【請求項１】
入力画像内のオブジェクトを検出する検出部と、
画素の奥行き値を記述する少なくとも１つのデプステンプレートのうち、検出された前記オブジェクトの種類に対応するデプステンプレートを選択し、前記入力画像内での前記検出されたオブジェクトの位置に従って選択されたデプステンプレートをデプスマップ上に配置することにより、前記入力画像における画素毎の奥行き値を記述する前記デプスマップを生成するデプスマップ生成部と、
前記デプスマップ内の少なくとも１つの注目画素と、周辺画素の重みを、前記注目画素に対応する前記入力画像内の対応注目画素の画素値と、前記周辺画素に対応する前記入力画像内の対応周辺画素の画素値との関係から算出し、注目画素の前記奥行き値と前記周辺画素の前記奥行き値との前記重みの重み付き和から前記注目画素の奥行き値を補正する補正部と、
前記補正部により補正されたデプスマップと前記入力画像とに基づき複数の視差画像を生成する画像生成部と、
を備えた画像処理装置。
【請求項２】
前記検出部は、前記オブジェクトの大きさおよび向きの少なくとも一方を検出し、
前記デプスマップ生成部は、前記選択されたデプステンプレートを前記オブジェクトの大きさおよび向きの少なくとも一方に基づいて修正し、修正されたデプステンプレートを前記デプスマップ上に配置する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項３】
前記補正部は、
前記対応注目画素の画素値との差分が小さい前記対応周辺画素ほど、前記対応周辺画素に対応する周辺画素の重みが大きくなるように、前記周辺画素の重みを算出する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記補正部は、
前記対応注目画素の画素値と前記対応周辺画素の画素値との差が、閾値より大きい対応周辺画素に対応する周辺画素の前記重みに０を割り当てると共に前記注目画素に対する前記重みを大きくする
ことを特徴とする請求項1に記載の画像処理装置。
【請求項５】
前記補正部は、
前記対応注目画素と前記対応周辺画素の画素値のうち中央値を求め、前記対応周辺画素及び前記対応注目画素のうち、前記中央値に一致しない画素値を有する画素に対しては、前記重みに０を割り当て、前記中央値に一致する画素値を有する画素の前記奥行き値の平均を計算することにより、前記注目画素の奥行き値を補正する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項６】
前記補正されたデプスマップと、特定の与えられた他のデプスマップとを合成するデプスマップ合成部をさらに備え、
前記画像生成部は、合成されたデプスマップを用いて前記複数の視差画像を生成する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項７】
入力画像内のオブジェクトを検出する検出部と、
画素のディスパリティ値を記述する少なくとも１つのディスパリティテンプレートのうち、検出されたオブジェクトの種類に対応するディスパリティテンプレートを選択し、前記入力画像内での前記検出されたオブジェクトの位置に従って選択されたディスパリティテンプレートをディスパリティマップ上に配置することにより、前記入力画像における画素毎のディスパリティ値を記述する前記ディスパリティマップを生成するディスパリティマップ生成部と、
前記ディスパリティマップ内の少なくとも１つの注目画素と、周辺画素の重みを、前記注目画素に対応する前記入力画像内の対応注目画素の画素値と、前記周辺画素に対応する前記入力画像内の対応周辺画素の画素値との関係から算出し、前記注目画素の前記ディスパリティ値と前記周辺画素の前記ディスパリティ値との前記重みの重み付き和から前記注目画素のディスパリティ値を補正する補正部と、
前記補正部により補正されたディスパリティマップと、前記入力画像とに基づき複数の視差画像を生成する画像生成部と、
を備えた画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、2次元画像から3次元表示用の画像を生成する画像処理装置に関するものである。
【背景技術】
【０００２】
特願2008-504887号公報（特許文献1）に開示された3次元画像の生成方法ではまず、移動物体を含む2次元画像中から移動物体の検出と追跡を行う。そして、検出位置に標準テンプレートを設定し、検出物体の大きさやコントラストを有する線によって補正を行うことにより、画像を検出物体を含む前景部分と背景部分に分離する。前景・背景にそれぞれ奥行きモデルを与え、これにより3次元画像を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特願2008-504887号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特願2008-504887号公報（特許文献1）の方法では、2次元画像中で画像中のエッジなど線の情報を利用してセグメントを行うため、実際の3次元情報と一致するのはオブジェクトの周辺部だけであるという問題がある。またセグメント後に、奥行きモデルを与えるという方式は、与えた奥行きモデルが必ずしも3次元情報と一致しないため、3次元画像にしたときに画質が著しく悪くなってしまう場合があるという問題がある。【０００５】
本発明は、2次元画像からより高品質の3次元画像を生成することができる画像処理装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様としての画像処理装置は、入力画像内のオブジェクトを検出する検出部と、画素の奥行き値を記述する少なくとも１つのデプステンプレートのうち、検出された前記オブジェクトの種類に対応するデプステンプレートを選択し、前記入力画像内での前記検出されたオブジェクトの位置に従って選択されたデプステンプレートをデプスマップ上に配置することにより、前記入力画像における画素毎の奥行き値を記述する前記デプスマップを生成するデプスマップ生成部と、前記デプスマップ内の少なくとも１つの注目画素と、周辺画素の重みを、前記注目画素に対応する前記入力画像内の対応注目画素の画素値と、前記周辺画素に対応する前記入力画像内の対応周辺画素の画素値との関係から算出し、注目画素の前記奥行き値と前記周辺画素の前記奥行き値との前記重みの重み付き和から前記注目画素の奥行き値を補正する補正部と、前記補正部により補正されたデプスマップと前記入力画像とに基づき複数の視差画像を生成する画像生成部と、を備える。
【発明の効果】
【０００７】
本発明により、2次元画像からより高品質の3次元画像を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例1に係る画像処理装置の構成例を示す。
【図２】実施例2に係る画像処理装置の構成例を示す。
【図３】実施例3に係る画像処理装置の構成例を示す。
【図４】実施例4に係る画像処理装置の構成例を示す。
【図５】デプステンプレートの一例を示す。
【図６】図5のデプステンプレートを3D表示した状態を示す。
【図７】マップ上にデプステンプレートを配置した例を示す。
【図８】視差ベクトルの算出方法を示す。
【図９】視差ベクトルを分割した左視差ベクトルおよび右視差ベクトルを示す。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の一実施形態を説明する。なお、互いに同様の動作をする構成や処理には共通の符号を付して、重複する説明は省略する。
【実施例１】
【００１０】
図1は、本実施例に係る画像処理装置の構成例を示す。【００１１】
画像入力部10は、処理の対象となる2次元画像を入力する。入力された2次元画像は複数の画素の画素値を含む。画像入力部10は、あらゆる機器または媒体から入力画像を入力できる。例えば、画像入力部10は、HDDなどの記録媒体から画像データを入力してもよいし、ネットワークを介して接続された外部装置から画像データを入力してもよい。【００１２】
オブジェクト検出部100は、入力画像を解析して、入力画像に含まれるオブジェクトおよびその位置を検出する。【００１３】
デプステンプレート記憶部120は、オブジェクトの種類毎に、それぞれ対応するオブジェクトの各画素の奥行き値（デプス値）を記述したデプステンプレート20を記憶している。【００１４】
デプスマップ生成部200は、オブジェクト検出部100で検出されたオブジェクトに応じたデプステンプレート20を記憶部120から読み出し、検出されたオブジェクトの位置に従って初期マップ上に当該デプステンプレート20を配置することにより、入力画像の各画素に対応する奥行き値を記述したデプスマップを生成する。【００１５】
デプスマップ補正部（補正部）300は、デプスマップ上の各画素を注目画素として順次選択し、注目画素とその周辺画素で重み付き平滑化を行うことにより注目画素の奥行き値を補正する。注目画素および各周辺画素の重みは、注目画素に対応する入力画像の画素（対応注目画素）の画素値と、各周辺画素に対応する入力画像中の画素（対応周辺画素）の画素値との差に基づいて算出する。【００１６】
3次元用画像生成部400は、入力画像と、補正されたデプスマップとから複数の視差画像（右眼用画像と左眼用画像）を生成する。生成した複数の視差画像は立体画像の表示に用いられる。たとえば複数の視差画像を時分割で交互に表示することで、観察者に立体画像を認識させることができる。観察者にはたとえば液晶メガネ等、専用メガネを装着させ、左右の液晶シャッターを各視差画像の表示に合わせて切り換えることで、左右の眼に交互に左眼用画像、右目用画像が入光され、これにより観察者は立体画像を認識することができる。以下、オブジェクト検出部100、デプステンプレート20、デプスマップ生成部200、デプスマップ補正部330、3次元用画像生成部400について詳細に説明する。以降の説明では以下の事項（1）〜（4）を前提とする。
（1）入力画像の左上隅を原点とし、横方向にx軸、縦方向にy軸を設定する。ただし、座標の設定方法はこれに限られるものではない。また入力画像の座標（x，y）の画素値をP（x，y）と表す。ここで画素値とは画像の明るさまたは色成分を表すものであればよく、例えば輝度や明度、特定の色チャンネルなどが該当する。
（2）デプスマップはマップの左上隅を原点とし、横方向にX軸、縦方向にY軸を設定する。ただし座標の設定方法はこれに限られるものではない。またマップの座標（X，Y）での画素値をZ（X，Y）と表す。このとき画素値は奥行き情報を表し、値が大きいほど奥行き（デプス）が大きいということになる。
（3）入力画像の座標とマップの座標は1対1に対応するようにしておく。特に記述しない限り、入力画像のサイズとマップのサイズは等しいものとし、入力画像の座標（x，y）とマップの座標（X，Y）は互いに対応するものとする。
（4）特に記述しない限り、入力画像の画素値を「画素値」と記述しその値域を[0,255]（0以上255以下）とする。さらに、デプスマップの画素値を「奥行き値」と記述し、その値域を[0,255]（0以上255以下）とする。【００１７】
まずオブジェクト検出部100について述べる。【００１８】
オブジェクト検出部100は、入力画像中から対象となるオブジェクトの全体または一部、およびその位置を検出する。検出対象となるオブジェクトは何種類でも良く、また、画像中に何個あっても良い。例えば人物全体、人物の一部（顔、手、足）、車両、植物等でもよく、また人物の顔の向きに応じてそれぞれを異なる種類のオブジェクトとして扱ってよい。以下では入力画像上の座標（x，y）で検出されたi番目のオブジェクトの入力画像上での位置をAi（x，y）と表す。【００１９】
オブジェクトを検出する方法は一般に知られている方法を用いることができる。また、検出対象となるオブジェクトに応じて様々な方法を組み合わせて用いても良い。例えば検出対象オブジェクトを人物であるとした場合、人物の一部である顔を検出する顔検出手法を用いる方法が考えられる。例えば参考文献1（三田雄志，金子敏充，堀修、「顔検出に適した共起に基づくJoint Haar-like特徴」電子情報通信学会論文誌 D-II Vol.J89-D-II No.8 pp.1791-1801, 2006）で述べられた方法を用いることができる。この方法では、画像のHaar-like特徴から顔を検出し、詳細には顔を囲むように配置した矩形の位置と大きさを求めることができる。すなわち、顔の位置と大きさがわかる。また、検出に用いる辞書を変更することにより、顔の向きも検出可能となる。【００２０】
次にデプステンプレート20について述べる。  
デプステンプレート20は、オブジェクトの種類ごとに用意される。デプステンプレートはオブジェクトの実際の3次元形状の概略形状を表現したものである。具体的にはオブジェクトを検出したい方向から眺めたときに、その奥行きを画素値として2次元画像で表現したものがデプステンプレートである。例えば検出対象オブジェクトが人物の上半身である場合、デプステンプレートは図 5に示すようなものとなる。図5では奥行き値が小さい(黒に近い)ほど、奥行きが小さく、奥行き値が大きい（白に近い）ほど、奥行きが大きい。【００２１】
図6は図5を3D（次元）表示したものである。デプステンプレートはこのような3次元の情報を有している。このようなデプステンプレートを検出したいオブジェクトの種類毎に1つ以上用意して、記憶部120に格納しておく。【００２２】
次にデプスマップ生成部200について述べる。  
デプスマップ生成部200は、オブジェクト検出部100で検出されたオブジェクトの位置Ai（x，y）に対応するマップ上の位置Bi（X，Y）に、検出したオブジェクトに応じたデプステンプレートを配置する。これによりデプスマップを生成する。【００２３】
図7はある入力画像から人物を検出し、マップ（初期マップ）上にデプステンプレートを配置した例である。図 7(a)の入力画像からオブジェクト検出部100により人物の顔が検出され、その顔の左上隅は座標A1（x，y）である。このとき図 7(b)に示すように、人物の顔の左上隅に対応するデプスマップ上の位置B1（X，Y）に左上隅が位置するように該当するデプステンプレートを配置する。【００２４】
ここで、複数のオブジェクトが検出されたことにより、デプスマップ上でデプステンプレートが重なってしまう場合がある。複数のデプステンプレートが重なってしまう座標に対する奥行き値の与え方は様々な方法が考えられる。例えば以下の（1）〜（6）の方法が考えられる。  
（1）平均を用いる。すなわち、当該座標に重なった複数のデプステンプレートの当該座標における奥行き値の平均を用いる。  
（2）最小値を用いる。すなわち、当該座標に重なったデプステンプレートの当該座標における奥行き値の最小値を用いる。  
（3）重み付平均を用いる。当該座標に重なった複数のデプステンプレートの当該座標における奥行き値の重み付け平均を用いる。重みは、例えば奥行きが小さい値のテンプレートほど大きくする。  
（4）中央値を用いる。すなわち、当該座標に重なったデプステンプレートの当該座標における奥行き値の中央値を用いる。  
（5）オブジェクトの種類に順位をつけて、最も順位の高いオブジェクトに対応するテンプレートの奥行き値を用いる。同じ順位のオブジェクトが複数存在するときは、これらのオブジェクトに対して（1）〜（4）の方法を適用する。【００２５】
ここで初期マップの各座標には初期値（基準値）が設定されているとする。基準値としては例えば最も奥行きが大きい基準値255（最も奥行きが大きい）を設定してもよい。デプステンプレートを配置した際は、テンプレートの奥行き値によって基準値は更新（上書き）される。または（1）〜（5）の方法に準じて、奥行き値を更新してもよい。【００２６】
次に、デプスマップ補正部300について述べる。  
デプスマップ補正部300は、デプスマップ上の注目画素D（X，Y）とその周辺画素で重み付き平滑化を行うことによりデプスマップを補正する。周辺画素は注目画素に対して距離が近い範囲内に存在する画素である。例えば、注目画素と特定の一定距離範囲の内に存在する画素を示す。【００２７】
補正の際に用いる重みは、注目画素D（X,Y）に対応する入力画像中の対応注目画素C（x，y）とその周辺画素（対応周辺画素）の画素値の関係に従って設定する。重みは基本的に対応注目画素C（x、y）の画素値と対応周辺画素の画素値との差分に応じて設定する。例えば差分が小さいほど重みが大きく、差分が大きいほど重みが小さくなるように設定すればよい。【００２８】
このようなデプスマップの補正のために例えばバイラテラルフィルタを用いることができる。バイラテラルフィルタを用いたデプスマップ補正は、補正後の奥行き値をZ’（X，Y）とすると、数式1で表すことができる。ここでkはフィルタの窓サイズである。
【数１】
2011033673.tif 000003
【００２９】
例えば数式 1においてW1,W2にガウス分布を用いると以下のようになる。
【数２】
2011033673.tif 000004
【００３０】
σ1、σ2はガウス分布の標準偏差である。W1は、対応注目画素と対応周辺画素との空間的な距離を評価する。W2は対応注目画素の画素値と、対応周辺画素の画素値との距離を評価し、値の差が小さいほど、明るさが近いことを意味する。数式1から、空間的な距離の差分が小さいほど重みが大きくされ、また画素値間の距離が近いほど重みが大きくされることが分かる。なおm=0,n=0は、注目画素自身を意味する。この場合、当然ながら、P(x,y)とP(x+m, y+n)の差分は0になる。数式１のZ’(X,Y)では、各周辺画素および注目画素の奥行き値の重み付き平均を算出している。【００３１】
また、デプスマップの補正にεフィルタを用いることもできる。εフィルタを用いたデプスマップ補正は数式2で表すことができる。εフィルタの値の選択を入力画像に基づき行い、デプスマップ上でフィルタリングをする。
【数３】
2011033673.tif 000005
【００３２】
W1,W2は以下のように設定すればよい。
【数４】
2011033673.tif 000006
【００３３】
ここでkはフィルタの窓サイズ、εはεフィルタの閾値である。W2は、対応注目画素C(x,y)の画素値P(x,y)と対応周辺画素C(x＋m、y＋n)の画素値P(x＋m、y＋n)との差分が閾値より大きければ1、閾値以下であれば0をとる。従って、差分が閾値以下のときは周辺画素の重みが大きくされ、差分が閾値より大きいときは周辺画素の重みが０にされるとともに注目画素に対する重みが大きくされる。なお、m=0,n=0は、注目画素自身を意味する。このように設定された重みに従って、各周辺画素および注目画素の奥行き値の重み付き平均を算出する。具体的には各周辺画素に対してそれぞれ選択された奥行き値と注目画素の奥行き値の平均を計算する。ここではW1は常に1としたが、W1にガウス分布などを用いることも可能である。【００３４】
また、デプスマップの補正に中央値フィルタを用いることもできる。対応注目画素と対応周辺画素の中で中央値を探索し、画素値が中央値に一致するときはその画素値の画素に対応するデプスマップ上の画素を選択するようにフィルタリングをする。中央値はフィルタの窓範囲で求める。中央値フィルタの場合、数式 １の重みW1、W2を以下の数式 3のように設定すればよい。
【数５】
2011033673.tif 000007
【００３５】
W2は、対応周辺画素C(x＋m、y＋n)の画素値P(x＋m、y＋n)が中央値に一致するときは１、一致しないときは０をとる。これは、中央値が複数個あった場合にその平均をとるようにするためである。  また、W2の重みを0,1ではなく、中央値との差分が小さい画素値をもつ画素（対応注目画素または対応周辺画素）ほど重みが大きくなるように設定して、重み付き中央値フィルタとして設定してもよい。【００３６】
次に、3次元用画像生成部400について述べる。【００３７】
3次元用画像生成部400は、補正されたデプスマップをディスパリティ（視差）変換部410で、ディスパリティマップに変換し、ディスパリティマップと入力画像とから視差画像生成部420で視差画像を生成する。【００３８】
まずディスパリティ変換部410について述べる。【００３９】
ディスパリティ変換部410は、デプスマップにおける各画素の奥行き値zから各画素の視差ベクトル（ディスパリティ値）を求め、各画素の視差ベクトルを記述したディスパリティマップを生成する。ここで視差ベクトルとは入力画像をどれくらい動かして視差画像を生成するかを表す。このようにしてディスパリティ変換部410はデプスマップをディスパリティマップに変換する。【００４０】
以下、奥行き値zから視差ベクトルdを求める方法を説明する。【００４１】
視差ベクトルｄは、図8に示すように、右目と左目と対象物とを結んだ三角形と、画面上での視差（右視差および左視差）と対象物とで形成される三角形との相似性を利用して算出する。ここで以下のパラメータz,d,b,zs,z0,Lzを定義する。
【数６】
2011033673.tif 000008
【００４２】
b,zs,z0,Lzは任意の値を設定しておく。【００４３】
奥行き値zは上述したように0-255の範囲であり、0が一番手前、255が一番奥を表している（図8では下側の横点線が0、上側の横点線が255に対応する）。ただしこの値はあくまで仮想的なものであり、実際の距離とは異なる。【００４４】
そこで実空間での奥行きサイズ Lzを用いて、デプス1単位あたりの実空間上の距離を算出すると以下のように表すことができる。Zmaxは奥行き値の最大値であり、ここではZmax=255である。
【数７】
2011033673.tif 000009
【００４５】
従って、画面から対象物までの距離は以下のように表すことができる。
【数８】
2011033673.tif 000010
【００４６】
立体視のパラメータb,zs,z0,Lz は、提供したい立体視に基づいて任意に決定できる。例えば、実際の画面の位置に従ってzs(画面までの距離)を決定し、画面からの飛び出しを大きくしたい場合にはz0(飛び出し距離)を大きくする。また実空間での奥行きの深さはLzによって決定できる。【００４７】
立体視のパラメータが決まれば、上記した2つの三角形の相似を利用して、以下の数式（奥行き視差ベクトル変換モデル）により、奥行き値zから視差ベクトルdを算出できる。
【数９】
2011033673.tif 000011
【００４８】
dの単位は実空間上の距離（cm）であるため、ピクセル（pixel）単位に変換する必要がある。これは以下の式により表される。
【数１０】
2011033673.tif 000012
【００４９】
以上のようにして、ディスパリティ変換部410は、デプスマップにおける各画素のそれぞれについて奥行き値zから視差ベクトルを求め、各画素のそれぞれに対する視差ベクトルを記述したディスパリティマップを生成する。【００５０】
次に、視差画像生成部420について述べる。  
視差画像生成部420は、入力画像とディスパリティマップから、生成したい枚数分の視差画像を生成する。【００５１】
たとえば図9に示すように、入力画像が左目・右目の中間の視点から得られたものであるとすると、左視差画像と右視差画像は、視差ベクトルdpixel を-1/2と1/2に分割した下記の左右の視差ベクトルから生成できる。
【数１１】
2011033673.tif 000013
【００５２】
より詳細に、左視差画像は入力画像の画素値P(x,y)をdLに従って移動させることにより生成できる。右視差画像は入力画像の画素値P(x,y)をdRに従って移動させることにより生成できる。単純に移動しただけでは穴が空いてしまう可能性もあるので、穴の領域には周辺の視差ベクトルから補間して映像を埋めればよい。ここでは2視差の場合を例に挙げたが、多視差の場合も同様に処理すればよい。【００５３】
以上、本実施例によれば、入力画像から検出したオブジェクトに応じたデプステンプレートを配置してデプスマップを生成し、デプスマップにおける注目画素の奥行き値を、入力画像における対応注目画素と対応周辺画素の画素値間の距離に基づいて決定される周辺画素に対する重みに基づき補正する。これにより入力画像の実際の３次元情報に適合したデプスマップを高コントラストで（例えばエッジをぼかすことなく）得ることができ、よって高品質な立体画像を視認させることが可能な視差画像を生成することができる。
【実施例２】
【００５４】
図2は、本実施例に係る画像処理装置の構成例を示す。画像入力部10は、処理の対象となる2次元画像を入力する。【００５５】
オブジェクト検出部101は、入力画像に含まれるオブジェクトと、その種類、位置、大きさ、向きを検出する。【００５６】
記憶部120は、オブジェクトの種類毎に、それぞれ対応するオブジェクトの各画素の奥行き値を持つデプステンプレート20を記憶する。【００５７】
デプステンプレート修正部500は、オブジェクト検出部101で検出されたオブジェクトの種類に応じたデプステンプレートを記憶部120から読み出し、当該オブジェクトの大きさ、向きに応じてデプステンプレートを修正する。【００５８】
デプスマップ生成部200は、オブジェクト検出部100で検出されたオブジェクトの位置に基づいて、デプステンプレート修正部500で修正されたデプステンプレートをマップ上に配置することによりデプスマップを生成する。【００５９】
デプスマップ補正部300は、デプスマップ上の各画素を注目画素として選択し、注目画素とその周辺画素で重み付き平滑化を行うことにより注目画素の奥行き値を補正し、これによりデプスマップを補正する。補正の方法は実施例1と同様の方法を用いることができる。【００６０】
記憶部130は、何らかの手段で与えられる、入力画像に対応するデプスマップである他デプスマップ30を記憶する。【００６１】
デプスマップ合成部600は、記憶部30から他デプスマップ30を読み出し、他デプスマップ30を、デプスマップ補正部300で補正されたデプスマップと合成する。【００６２】
3次元用画像生成部400は、デプスマップ合成部600で合成されたデプスマップと、入力画像とから視差画像を生成する。【００６３】
以下では、オブジェクト検出部101、デプステンプレート修正部500、他デプスマップ情報30、デプスマップ合成部600についてさらに詳細に説明する。【００６４】
オブジェクト検出部101について述べる。  
オブジェクト検出部101は、入力画像中から対象となるオブジェクトの全体または一部の位置、大きさ、向きを検出する。またオブジェクトの種類を検出する。大きさと向きを検出するという点以外は、実施例1のオブジェクト検出部100の動作と同様である。【００６５】
デプステンプレート修正部500について述べる。  
デプステンプレート修正部500は、検出されたオブジェクトの大きさおよび向きに応じて、記憶部120から読み出したデプステンプレートを修正する。オブジェクトの大きさ、向きに応じてすべてのテンプレートを用意すると、その量は大きなものとなってしまう。そこで、オブジェクトの検出情報から、事前に用意されているデプステンプレートに修正を加える。【００６６】
検出されたオブジェクトのサイズと、用意しているデプステンプレートのサイズが異なる場合、デプステンプレートのサイズを拡大縮小してやればよい。拡大縮小は一般に知られている方法でよい。また、検出されたオブジェクトの向きと、用意しているデプステンプレートの向きが異なる場合、デプステンプレートの向きを変更してやればよい。向きの変更は一般に知られているモーフィング手法などを用いて行えばよい。【００６７】
他デプスマップ30について述べる。  
他デプスマップ30とは、他の手段などで与えられる入力画像に関するデプスマップのことである。この他デプスマップ30は、例えば、全体の構図などから背景の構図デプスなどを記述した他デプスマップが考えられる。また、動画像などの処理の場合、tフレーム前の画像に用いたデプスマップなどを他デプスマップとして用いることが考えられる。【００６８】
デプスマップ合成部600について述べる。  
デプスマップ合成部600は、デプスマップ補正部300で補正されたデプスマップと他デプスマップ30とを合成する。合成する他デプスマップは何種類あっても良い。【００６９】
合成の方法はさまざま考えられるが、基本的に各デプスマップの対応する画素同士で合成してやればよい。各画素においての合成方法は、例えば以下の方法が考えられる。  
（1）各画素の奥行き値の平均値を用いる。  
（2）各画素の奥行き値のうちの最大値を用いる。  
（3）各画素の奥行き値のうちの最小値を用いる。  
（4）各画素の奥行き値の重み付け平均を用いる。重みは、例えば奥行きが小さいほど大きくする。  
（5）各画素の奥行き値の中央値を用いる。【００７０】
以上、本実施例2によれば、デプステンプレートを配置して得たデプスマップを、他デプスマップと合成する場合であっても、高コントラストを実現するデプスマップを得ることができ、これにより高品質な立体画像を視認させることが可能な視差画像を生成することができる。
【実施例３】
【００７１】
図3は、本実施例に係る画像処理装置の構成例を示す。  
画像入力部10は、処理の対象となる2次元画像を入力する。  
オブジェクト検出部100は、入力画像からオブジェクトと、その種類、位置を検出する。【００７２】
記憶部140は、オブジェクトの種類毎に、それぞれ対応するオブジェクトの各画素のディスパリティ値（視差値）を記述したディスパリティテンプレート40を記憶する。【００７３】
ディスパリティマップ生成部700は、オブジェクト検出部100で検出されたオブジェクトの種類に応じたディスパリティテンプレート40を記憶部40から読み出し、検出されたオブジェクトの位置に応じて、ディスパリティテンプレート40をマップ上に配置することによりディスパリティマップを生成する。【００７４】
ディスパリティマップ補正部（補正部）800では、ディスパリティマップ上の各画素を注目画素として選択し、注目画素とその周辺画素で重み付き平滑化を行うことにより注目画素のディスパリティ値を補正し、これによりディスパリティマップを補正する。この際注目画素および各周辺画素の重みは、注目画素に対応する入力画像の画素（対応注目画素）の画素値と、各周辺画素に対応する入力画像中の画素（対応周辺画素）の画素値との差に応じて算出する。【００７５】
3次元用画像生成部400は、入力画像と、補正されたディスパリティマップとから視差画像を生成する。【００７６】
以下では、ディスパリティテンプレート40、ディスパリティマップ生成部700、ディスパリティマップ補正部800、3次元用画像生成部400についてさらに詳細に説明する。【００７７】
以下の説明においては、ディスパリティマップはマップの左上隅を原点とし、横方向にX軸、縦方向にY軸を設定するとする。座標の設定方法はこれに限られるものではない。さらに、ディスパリティマップの座標（X，Y）での画素値（ディスパリティ値）をd（X，Y）と表す。入力画像の座標とディスパリティマップの座標は1対1対応するようにしておく。また、特に記述しない場合入力画像のサイズとマップのサイズは等しいものとし、入力画像の座標（x，y）とマップの座標（X，Y）は対応するものとする。【００７８】
ディスパリティテンプレート40について述べる。【００７９】
ディスパリティテンプレート40は、オブジェクトの種類毎に用意され、該当する種類のオブジェクトのディスパリティ（視差）値を持っている。ディスパリティテンプレート40は、デプステンプレート20を図1のディスパリティ変換部410と同様の処理で変換することで取得可能である。【００８０】
ディスパリティマップ生成部700について述べる。  
ディスパリティマップ生成部700は、図1のデプスマップ生成部200と同様に、オブジェクト検出部101で検出されたオブジェクトの位置Ai（x，y）と対応するディスパリティマップ上の位置Bi（X，Y）に、検出されたオブジェクトの種類に応じたディスパリティテンプレートを配置することでディスパリティマップを生成する。【００８１】
ディスパリティマップ補正部800について述べる。  
ディスパリティマップ補正部800は、図1のデプスマップ補正部300と同様に、ディスパリティマップ上の注目画素E（X，Y）とその周辺画素で重み付き平滑化を行いディスパリティマップを補正する。このとき用いる重みは、注目画素Eに対応する入力画像中の対応注目画素C（x，y）と対応周辺画素（周辺画素に対応する入力画像中の画素）の画素値の分布に従って設定する。重みは基本的に対応注目画素と対応周辺画素の画素値の差分に応じて設定する。例えば差分が小さいほど重みを大きくし、差分が大きいほど重みを小さくするように設定すればよい。【００８２】
ディスパリティマップの補正には、実施例１と同様に例えばバイラテラルフィルタを用いることができる。この場合、ディスパリティマップの補正は、補正後のディスパリティ値をd’（X，Y）とすると、数式6により表すことができる。
【数１２】
2011033673.tif 000014
となる。ここでkはフィルタの窓サイズである。【００８３】
例えば数式6においてW1,W2にガウス分布を用いると
【数１３】
2011033673.tif 000015
となる。【００８４】
また、εフィルタ、重みつきεフィルタ、中央値フィルタ、または重みつき中央値フィルタを用いることもできる。各フィルタの補正方法の詳細は実施例１の説明を参照されたい。【００８５】
3次元用画像生成部400について述べる。  
3次元用画像生成部400は、視差画像生成部420において、ディスパリティマップ補正部800で得られたディスパリティマップと、入力画像とから、実施例1と同様にして、視差画像を生成する。【００８６】
以上、本実施例によれば、入力画像から検出したオブジェクトに応じたディスパリティテンプレートを配置してディスパリティマップを生成し、ディスパリティマップにおける注目画素のディスパリティ値を、入力画像における対応注目画素と対応周辺画素の画素値間の距離に基づいて決定される周辺画素に対する重みに基づき補正する。これにより、入力画像の実際の３次元情報に適合したディスパリティマップを高コントラストで（例えばエッジをぼかすことなく）得ることができ、よって高品質な立体画像を視認させることが可能な視差画像を生成することができる。
【実施例４】
【００８７】
図4は、本実施例に係る画像処理装置の構成例を示す。  
画像入力部10は、処理の対象となる2次元画像を入力する。【００８８】
オブジェクト検出部101は、入力画像からオブジェクトと、その種類、位置、大きさ、向きを検出する。【００８９】
記憶部140は、オブジェクトの種類毎にディスパリティテンプレート40を記憶する。【００９０】
ディスパリティテンプレート修正部900は、ブジェクト検出部101で検出されたオブジェクトの種類に応じたディスパリティテンプレート40を記憶部140から読み出し、そのディスパリティテンプレート40を、検出されたオブジェクトの大きさ、向きなどに応じて修正する。【００９１】
ディスパリティマップ生成部700は、オブジェクト検出部101で検出されたオブジェクトの位置と種類との少なくとも前者に応じて、ディスパリティテンプレート修正部900で修正されたディスパリティテンプレートをマップ上に配置することによりディスパリティマップを生成する。【００９２】
ディスパリティマップ補正部800は、ディスパリティマップ上の注目画素とその周辺画素で重み付き平滑化を行いディスパリティマップを補正する。処理の詳細は実施例3と同様である。【００９３】
記憶部150は、何らかの手段で与えられる入力画像に対応するディスパリティマップである他ディスパリティマップ50を記憶する。【００９４】
ディスパリティマップ合成部910は、ディスパリティマップ補正部800で補正されたディスパリティマップと他ディスパリティマップ50とを合成する。【００９５】
3次元用画像生成部400は、入力画像と、補正されたディスパリティマップとから視差画像を生成する。【００９６】
以下では、ディスパリティテンプレート修正部900、ディスパリティマップ生成部700、他ディスパリティマップ50、ディスパリティマップ合成部910、3次元用画像生成部400についてさらに詳細に説明する。【００９７】
ディスパリティテンプレート修正部900について述べる。  
ディスパリティテンプレート修正部900は、図2のデプステンプレート修正部500と同様に、検出されたオブジェクトの大きさおよび向きに応じて、ディスパリティテンプレートを修正する。修正する方法はデプステンプレート修正部500と同様の方法を用いることができる。【００９８】
ディスパリティマップ生成部700について述べる。  
ディスパリティマップ生成部700は、図2のデプスマップ生成部200と同様に、オブジェクト検出部101で検出されたオブジェクトの位置Ai（x，y）と対応するディスパリティマップ上での位置Bi（X，Y）に、ディスパリティテンプレート修正部900により修正されたディスパリティテンプレートを配置する。【００９９】
他ディスパリティマップ50について述べる。  
他ディスパリティマップ50は、他の手段で与えられる入力画像に関するディスパリティマップである。他ディスパリティマップ50としては、例えば、全体の構図などから背景の構図ディスパリティなどを用いることができる。また、動画像などの処理の場合、tフレーム前の画像に用いたディスパリティマップなどを用いることができる。【０１００】
ディスパリティマップ合成部910について述べる。  
ディスパリティマップ合成部910は、ディスパリティマップ補正部800で補正されたディスパリティマップと、他ディスパリティマップ50とを合成する。合成する他ディスパリティマップは何種類あっても良い。また、合成の方法は図2のデプスマップ合成部600の処理と同様の方法を用いることができる。【０１０１】
3次元用画像生成部400について述べる。  
3次元用画像生成部400は、視差画像生成部420において、ディスパリティマップ合成部910で生成されたディスパリティマップと、入力画像とから視差画像を生成する。【０１０２】
以上、本実施例4によれば、ディスパリティテンプレートを配置して得たディスパリティマップを、他ディスパリティマップと合成する場合であっても、高コントラストを実現するディスパリティマップを得ることができ、これにより高品質な立体画像を視認させることが可能な視差画像を生成することができる。
【図１】
2011033673.tif 000016
【図２】
2011033673.tif 000017
【図３】
2011033673.tif 000018
【図４】
2011033673.tif 000019
【図５】
2011033673.tif 000020
【図６】
2011033673.tif 000021
【図７】
2011033673.tif 000022
【図８】
2011033673.tif 000023
【図９】
2011033673.tif 000024
【国際調査報告】
2011033673.tif 000025
2011033673.tif 000026