(57)【特許請求の範囲】
【請求項１】
第１画像と第２画像とをマッチングする画像処理装置であって、
前記第１画像の特徴点である第１特徴点を取得する特徴点取得部と、
前記第１画像の画素値と前記第２画像の画素値との差分に基づいて、前記第１特徴点の動きの大きさを前記第２画像の探索範囲内の画素位置ごとに算出する動き算出部と、
前記動き算出部により算出された画素位置ごとの動きのうち最小となる第１動きを、前記第１特徴点の動きとして取得する動き取得部と、
前記動き算出部により算出された画素位置ごとの動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、前記動き取得部により取得された前記第１特徴点の動きの信頼性を判定する信頼性判定部と、
を備える画像処理装置。
【請求項２】
前記信頼性判定部は、前記動き算出部により算出された画素位置ごとの動きのうちＮ番目に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接する場合には、前記動き取得部により取得された前記第１特徴点の動きが信頼できる動きであると判定する請求項１に記載の画像処理装置。
【請求項３】
前記信頼性判定部は、
前記第１動きが所定の閾値より大きい場合には、前記動き取得部により取得された前記第１特徴点の動きが信頼できない動きであると判定し、
前記動き算出部により算出された複数の動きのうちＮ番目に小さい動きとなる画素位置が、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置と隣接するか否かの判定を小さい動きの順に行うとともに、
Ｎ番目に小さい動きとなる画素位置がＮ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置と隣接すると判定された場合であって、かつ、判定されたＮ番目に小さい動きが前記所定の閾値よりも大きいと判定した場合には、前記動き取得部により取得された前記第１特徴点の動きが信頼できる動きであると判定し、Ｎ＋１番目以降の小さい動きについての判定を行わない、請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１画像の解像度が段階的に変更された複数の第１処理画像、及び、前記第２画像の解像度が段階的に変更された複数の第２処理画像を生成する処理画像生成部を備え、
前記特徴点取得部、前記動き算出部、前記動き取得部及び前記信頼性判定部は、前記解像度の低い順に同一の解像度の前記第１処理画像及び前記第２処理画像をそれぞれ処理し、
前記特徴点取得部は、
最も解像度の低い段階の処理では、当該段階における前記第１処理画像の前記第１特徴点として、前記第１処理画像の四隅の点を取得し、
以降の段階の処理では、当該段階における前記第１処理画像の前記第１特徴点として、当該段階における前記第１処理画像の縁上に位置する点及び四隅の点からなる複数の疑似特徴点、前段の前記第１特徴点に対応する点からなる前段特徴点、さらに当該段階における前記第１処理画像の特徴点である追加特徴点を取得する請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記特徴点取得部は、前記信頼性判定部によって前記追加特徴点又は前段特徴点の動きが信頼できない動きであると判定された場合には、当該追加特徴点又は当該前段特徴点を削除する請求項４に記載の画像処理装置。
【請求項６】
前記動き算出部は、
前記特徴点取得部により前記第１特徴点が取得される度に、当該段階における前記第１処理画像の前記第１特徴点を直線で結んだ三角領域を形成することで前記第１処理画像を分割し、前記三角領域の頂点の動きを用いて前記第１特徴点の動きの大きさを前記第２処理画像の探索範囲内の画素位置ごとに算出する請求項４又は５に記載の画像処理装置。
【請求項７】
前記動き算出部は、当該第１特徴点に対応する前段の前記第１処理画像における点が所属する前記三角領域の頂点の動きを用いて補間された画素位置、及び、当該第１特徴点に対応する前段の前記第１処理画像における点が所属する前記三角領域の頂点の動きとなる画素位置を、当該段階における前記第１処理画像の前記第１特徴点の動きを算出するための前記探索範囲の初期値とする請求項６に記載の画像処理装置。
【請求項８】
第１画像と第２画像とをマッチングする画像処理装置であって、
前記第１画像の解像度が段階的に変更された複数の第１処理画像、及び、前記第２画像の解像度が段階的に変更された複数の第２処理画像を生成する処理画像生成部と、
前記第１処理画像の特徴点を取得する特徴点取得部と、
前記第１処理画像の画素値と前記第２処理画像の画素値との差分に基づいて、前記特徴点の動きの大きさを算出する動き算出部と、
を備え、
前記特徴点取得部は、前記解像度の低い順に前記第１処理画像を処理し、前記動き算出部は、前記解像度の低い順に同一の解像度の前記第１処理画像及び前記第２処理画像をそれぞれ処理し、
前記動き算出部は、当該段階における前記第１処理画像の前記特徴点を直線で結んだ三角領域を形成することによって前記第１処理画像を分割し、前記三角領域の頂点の動きを用いて前記特徴点の動きの大きさを算出し、
前記特徴点取得部は、前記動き算出部により前記第１処理画像が分割された後において、前記三角領域内に前記特徴点の候補となる候補点を設定し、前記候補点の画素値に基づく特徴量、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点と前記候補点との距離、及び、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点の動きと前段の前記第１処理画像において前記候補点に対応する点が所属する前記三角領域の頂点の動きとの差分値に基づいて特徴エネルギーを算出し、前記特徴エネルギーが最大となる前記候補点を前記特徴点として追加する画像処理装置。
【請求項９】
前記動き算出部は、前記特徴点取得部により前記特徴点が追加される度に、前記三角領域を形成することによって前記第１処理画像を再分割し、
前記特徴点取得部は、再分割後の前記三角領域を用いて次の候補点を設定する請求項８に記載の画像処理装置。
【請求項１０】
前記特徴点取得部は、前記動き算出部によって前記第１処理画像が分割される度に前記三角領域の頂点の座標情報を記録し、分割前後において頂点の座標情報が変化した前記三角領域内のみに前記次の候補点を設定して前記特徴エネルギーを算出する請求項９に記載の画像処理装置。
【請求項１１】
第１画像と第２画像とをマッチングして、前記第１画像及び前記第２画像の特徴が反映された中間画像を生成する画像処理装置であって、
前記第１画像の特徴点である第１特徴点を直線で結んだ第１三角領域の頂点の座標位置及び前記頂点の動きを取得する三角領域情報取得部と、
前記第１三角領域の頂点の動きから前記第１三角領域の動きを算出するとともに、前記第１三角領域の動きを、前記第１三角領域の面積及び前記第１三角領域に対応する前記第２画像の三角領域である第２三角領域の面積で重み付けすることで全体の動きを算出する全体動き算出部と、
所定の前記第１画像と前記第２画像との比率、及び、前記全体の動きに基づいて、前記中間画像にて描画すべき三角領域の頂点の座標情報を算出する描画部と、
を備える画像処理装置。
【請求項１２】
前記第１画像及び前記第２画像はステレオ画像であり、
前記描画部は、左右方向及び上下方向における所定の前記第１画像と前記第２画像との比率に基づいて前記三角領域の頂点の座標情報を算出する請求項１１に記載の画像処理装置。
【請求項１３】
第１画像と第２画像とをマッチングする画像処理方法であって、
前記第１画像の特徴点である第１特徴点を取得する特徴点取得ステップと、
前記第１画像の画素値と前記第２画像の画素値との差分に基づいて、前記第１特徴点の動きの大きさを前記第２画像の探索範囲内の画素位置ごとに算出する動き算出ステップと、
前記動き算出ステップにより算出された画素位置ごとの複数の動きのうち最小となる第１動きを、前記第１特徴点の動きとして取得する動き取得ステップと、
前記動き算出ステップにより算出された画素位置ごとの複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、前記動き取得ステップにより取得された前記第１特徴点の動きの信頼性を判定する信頼性判定ステップと、
を備える画像処理方法。
【請求項１４】
第１画像と第２画像とをマッチングする画像処理方法であって、
前記第１画像の解像度が段階的に変更された複数の第１処理画像、及び、前記第２画像の解像度が段階的に変更された複数の第２処理画像を生成する処理画像生成ステップと、
前記第１処理画像の特徴点を取得する特徴点取得ステップと、
前記第１処理画像の画素値と前記第２処理画像の画素値との差分に基づいて、前記特徴点の動きの大きさを算出する動き算出ステップと、
を備え、
前記特徴点取得ステップでは、前記解像度の低い順に前記第１処理画像を処理し、前記動き算出ステップでは、前記解像度の低い順に同一の解像度の前記第１処理画像及び前記第２処理画像をそれぞれ処理し、
前記動き算出ステップでは、当該段階における前記第１処理画像の前記特徴点を直線で結んだ三角領域を形成することによって前記第１処理画像を分割し、前記三角領域の頂点の動きを用いて前記特徴点の動きの大きさを算出し、
前記特徴点取得ステップでは、前記動き算出ステップにより前記第１処理画像が分割された後において、前記三角領域内に前記特徴点の候補となる候補点を設定し、前記候補点の画素値に基づく特徴量、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点と前記候補点との距離、及び、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点の動きと前段の前記第１処理画像において前記候補点に対応する点が所属する前記三角領域の頂点の動きとの差分値に基づいて特徴エネルギーを算出し、前記特徴エネルギーが最大となる前記候補点を前記特徴点として追加する画像処理方法。
【請求項１５】
第１画像と第２画像とをマッチングして、前記第１画像及び前記第２画像の特徴が反映された中間画像を生成する画像処理方法であって、
前記第１画像の特徴点である第１特徴点を直線で結んだ第１三角領域の頂点の座標位置及び前記頂点の動きを取得する三角領域情報取得ステップと、
前記第１三角領域の頂点の動きから前記第１三角領域の動きを算出するとともに、前記第１三角領域の動きを、前記第１三角領域の面積及び前記第１三角領域に対応する前記第２画像の三角領域である第２三角領域の面積で重み付けすることで全体の動きを算出する全体動き算出ステップと、
所定の前記第１画像と前記第２画像との比率、及び、前記全体の動きに基づいて、前記中間画像にて描画すべき三角領域の頂点の座標情報を算出する描画ステップと、
を備える画像処理方法。
【請求項１６】
第１画像と第２画像とをマッチングするようにコンピュータを動作させる画像処理プログラムであって、
前記第１画像の特徴点である第１特徴点を取得する特徴点取得部、
前記第１画像の画素値と前記第２画像の画素値との差分に基づいて、前記第１特徴点の動きの大きさを前記第２画像の探索範囲内の画素位置ごとに算出する動き算出部、
前記動き算出部により算出された画素位置ごとの複数の動きのうち最小となる第１動きを、前記第１特徴点の動きとして取得する動き取得部、及び
前記動き算出部により算出された画素位置ごとの複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、前記動き取得部により取得された前記第１特徴点の動きの信頼性を判定する信頼性判定部
として前記コンピュータを動作させる画像処理プログラム。
【請求項１７】
第１画像と第２画像とをマッチングするようにコンピュータを動作させる画像処理プログラムであって、
前記第１画像の解像度が段階的に変更された複数の第１処理画像、及び、前記第２画像の解像度が段階的に変更された複数の第２処理画像を生成する処理画像生成部、
前記第１処理画像の特徴点を取得する特徴点取得部、
前記第１処理画像の画素値と前記第２処理画像の画素値との差分に基づいて、前記特徴点の動きの大きさを算出する動き算出部、
として前記コンピュータを動作させるとともに、
前記特徴点取得部は、前記解像度の低い順に前記第１処理画像を処理し、前記動き算出部は、前記解像度の低い順に同一の解像度の前記第１処理画像及び前記第２処理画像をそれぞれ処理し、
前記動き算出部は、当該段階における前記第１処理画像の前記特徴点を直線で結んだ三角領域を形成することによって前記第１処理画像を分割し、前記三角領域の頂点の動きを用いて前記特徴点の動きの大きさを算出し、
前記特徴点取得部は、前記動き算出部により前記第１処理画像が分割された後において、前記三角領域内に前記特徴点の候補となる候補点を設定し、前記候補点の画素値に基づく特徴量、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点と前記候補点との距離、及び、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点の動きと前段の前記第１処理画像において前記候補点に対応する点が所属する前記三角領域の頂点の動きとの差分値に基づいて特徴エネルギーを算出し、前記特徴エネルギーが最大となる前記候補点を前記特徴点として追加する画像処理プログラム。
【請求項１８】
第１画像と第２画像とをマッチングして、前記第１画像及び前記第２画像の特徴が反映された中間画像を生成するようにコンピュータを動作させる画像処理プログラムであって、
前記第１画像の特徴点である第１特徴点を直線で結んだ第１三角領域の頂点の座標位置及び前記頂点の動きを取得する三角領域情報取得部と、
前記第１三角領域の頂点の動きから前記第１三角領域の動きを算出するとともに、前記第１三角領域の動きを、前記第１三角領域の面積及び前記第１三角領域に対応する前記第２画像の三角領域である第２三角領域の面積で重み付けすることで全体の動きを算出する全体動き算出部と、
所定の前記第１画像と前記第２画像との比率、及び、前記全体の動きに基づいて、前記中間画像にて描画すべき三角領域の頂点の座標情報を算出する描画部、
として前記コンピュータを動作させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関するものである。
【背景技術】
【０００２】
従来、２つの画像の中間画像を生成する装置が知られている（例えば特許文献１参照）。特許文献１記載の装置は、擬似的な立体視を閲覧者にもたらすべく、右眼画像、左眼画像及び中間画像を用意し、これらの画像を連続的にクロスフェード表示する。この装置は、以下の手順で中間画像を生成する。まず、左眼画像と右眼画像との間でブロックマッチング等を行うことにより、両画像間の対応点を特定する。そして、特定した対応点間で画像内における対応点位置を補間し、かつ対応点同士の画素値を補間する。上記手法により中間画像が生成される。
【０００３】
また、複数のフレームからなる動画像に動き補償を行い、フレーム間に内挿される補間フレームを生成する装置も知られている（例えば特許文献２）。特許文献２記載の装置は、フレームレートの低い動画像からフレームレートの高い動画像へ変換すべく、時刻ｔ０のフレームＦ０と時刻ｔ１のフレームＦ１との間の補間フレームを、以下の手順で生成する。まず、フレームＦ０内のオブジェクトの頂点の座標値を頂点ファイルから取得する。そして、頂点座標に基づいてフレームＦ０のオブジェクトを三角形の領域に分割する。そして、三角領域をアフィン変換により正規化し、正規化した三角領域とオブジェクトの輪郭との距離によって定まる輪郭データを生成する。同様の処理をフレームＦ１についても行う。そして、フレームＦ０の三角領域の頂点座標及び輪郭データと、フレームＦ１の三角領域の頂点座標及び輪郭データとに基づいて、オブジェクトの補間画像を生成し、補間画像を背景画像とを合成することで補間フレームを生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許４３２０２７１号
【特許文献２】特開平１０−２４７２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した中間画像又は補間フレームを生成するためには、２つの画像間の対応関係を適切に算出する必要がある。特許文献１記載の装置では、既知の局所相関法で２つの画像間をマッチングしているだけであるため、改善の余地がある。また、特許文献２記載の装置では、２つの画像間で対応している頂点座標値が予め頂点データに格納されていることが前提となっており、未知のオブジェクトに対応することができない。当技術分野では、画像間の対応関係を適切に算出することができる画像処理装置、画像処理方法及び画像処理プログラムが望まれている。
【課題を解決するための手段】
【０００６】
すなわち本発明の一側面に係る画像処理装置は、第１画像と第２画像とをマッチングする装置である。この装置は、特徴点取得部、動き算出部、動き取得部及び信頼性判定部を備える。特徴点取得部は、第１画像の特徴点である第１特徴点を取得する。動き算出部は、第１画像の画素値と第２画像の画素値との差分に基づいて、第１特徴点の動きの大きさを第２画像の探索範囲内の画素位置ごとに算出する。動き取得部は、動き算出部により算出された複数の動きのうち最小となる第１動きを、第１特徴点の動きとして取得する。信頼性判定部は、動き算出部により算出された複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、動き取得部により取得された第１特徴点の動きの信頼性を判定する。
【０００７】
すなわち本発明の一側面に係る画像処理装置は、第１画像と第２画像とをマッチングする装置である。この装置は、特徴点取得部、動き算出部、動き取得部及び信頼性判定部を備える。特徴点取得部は、第１画像の特徴点である第１特徴点を取得する。動き算出部は、第１画像の画素値と第２画像の画素値との差分に基づいて、第１特徴点の動きの大きさを第２画像の探索範囲内の画素位置ごとに算出する。動き取得部は、動き算出部により算出された画素位置ごとの複数の動きのうち最小となる第１動きを、第１特徴点の動きとして取得する。信頼性判定部は、動き算出部により算出された画素位置ごとの複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、動き取得部により取得された第１特徴点の動きの信頼性を判定する。
【０００８】
一実施形態では、信頼性判定部は、動き算出部により算出された画素位置ごとの複数の動きのうちＮ番目に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接する場合には、動き取得部により取得された第１特徴点の動きが信頼できる動きであると判定してもよい。例えば、最小の動きとなる画素位置が正しい対応点である場合には、その対応点の周囲に２番目に小さいに動きとなる画素位置が存在する可能性が高い。このため、２番目に小さい動きとなる画素位置が隣接する場合には信頼性が高いと判定することで、例えば繰り返しパターンが存在する場合であっても第１特徴点の動きの信頼性の判定を適切に行うことができる。
【０００９】
一実施形態では、信頼性判定部は、第１動きが所定の閾値より大きい場合には、動き取得部により取得された第１特徴点の動きが信頼できない動きであると判定し、動き算出部により算出された複数の動きのうちＮ番目に小さい動きとなる画素位置が、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置と隣接するか否かの判定を小さい動きの順に行うとともに、Ｎ番目に小さい動きとなる画素位置がＮ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置と隣接すると判定された場合であって、かつ、判定されたＮ番目に小さい動きが前記所定の閾値よりも大きいと判定した場合には、前記動き取得部により取得された前記第１特徴点の動きが信頼できる動きであると判定し、Ｎ＋１番目以降の小さい動きについての判定を行わないとしてもよい。このように判定することで、Ｎ番目に小さい動きが所定値よりも大きい場合には、類似する特徴が周囲に存在しない可能性が高いと判定して以降の処理を打ち切ることができるので、動きの信頼性を判定しつつ処理の高速化を図ることが可能となる。
【００１０】
一実施形態では、第１画像の解像度が段階的に変更された複数の第１処理画像、及び、第２画像の解像度が段階的に変更された複数の第２処理画像を生成する処理画像生成部を備えてもよい。この場合、特徴点取得部、動き算出部、動き取得部及び信頼性判定部は、解像度の低い順に同一の解像度の第１処理画像及び第２処理画像をそれぞれ処理し、特徴点取得部は、最も解像度の低い段階の処理では、当該段階における第１処理画像の第１特徴点として、第１処理画像の四隅の点を取得し、以降の段階の処理では、当該段階における第１処理画像の第１特徴点として、当該段階における第１処理画像の縁上に位置する点及び四隅の点からなる複数の疑似特徴点、前段の第１特徴点に対応する点からなる前段特徴点、さらに当該段階における第１処理画像の特徴点である追加特徴点を取得してもよい。このように構成することで、解像度の低いものから順に特徴点を決定することができ、さらに、前段の特徴点を後段に引き継いで特徴点とすることが可能となる。このように構成することで、マッチング精度の向上及び処理速度の向上を図ることができる。また、擬似特徴点を追加することで、例えば三角領域に分割してマッチングする場合に極端に細い三角領域が発生することを抑制することが可能となる。
【００１１】
一実施形態では、特徴点取得部は、信頼性判定部によって追加特徴点又は前段特徴点の動きが信頼できない動きであると判定された場合には、当該追加特徴点又は当該前段特徴点を削除してもよい。このように、信頼性できない動きである追加特徴点又は前段特徴点に関しては特徴点として採用しないことで、いわゆる繰り返しパターンを有する画像を適切にマッチングすることができる。
【００１２】
一実施形態では、動き算出部は、特徴点取得部により第１特徴点が取得される度に、当該段階における第１処理画像の第１特徴点を直線で結んだ三角領域を形成することで第１処理画像を分割し、三角領域の頂点の動きを用いて第１特徴点の動きの大きさを第２処理画像の探索範囲内の画素位置ごとに算出してもよい。このように構成することで、画像を三角領域に分割して第１特徴点の動きの大きさを算出することができる。
【００１３】
一実施形態では、動き算出部は、当該第１特徴点に対応する前段の第１処理画像における点が所属する三角領域の頂点の動きを用いて補間された画素位置、及び、当該第１特徴点に対応する前段の第１処理画像における点が所属する三角領域の頂点の動きとなる画素位置を、当該段階における第１処理画像の第１特徴点の動きを算出するための探索範囲の初期値としてもよい。このように構成することで、動き検出の探索範囲を複数有することができるため、例えばオクルージョンが発生するおそれがあるステレオ画像であっても適切にマッチングすることができる。
【００１４】
本発明の他の側面に係る画像処理装置は、第１画像と第２画像とをマッチングする装置である。この装置は、処理画像生成部、特徴点取得部及び動き算出部を備える。処理画像生成部は、第１画像の解像度が段階的に変更された複数の第１処理画像、及び、第２画像の解像度が段階的に変更された複数の第２処理画像を生成する。特徴点取得部は、第１処理画像の特徴点を取得する。動き算出部は、第１処理画像の画素値と第２処理画像の画素値との差分に基づいて、特徴点の動きの大きさを算出する。ここで、特徴点取得部は、解像度の低い順に第１処理画像を処理し、動き算出部は、解像度の低い順に同一の解像度の第１処理画像及び第２処理画像をそれぞれ処理し、動き算出部は、当該段階における第１処理画像の特徴点を直線で結んだ三角領域を形成することによって第１処理画像を分割し、三角領域の頂点の動きを用いて特徴点の動きの大きさを算出し、特徴点取得部は、動き算出部により第１処理画像が分割された後において、三角領域内に特徴点の候補となる候補点を設定し、候補点の画素値に基づく特徴量、当該段階の第１処理画像において候補点が所属する三角領域の頂点と候補点との距離、及び、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点の動きと前段の前記第１処理画像において前記候補点に対応する点が所属する前記三角領域の頂点の動きとの差分値に基づいて特徴エネルギーを算出し、特徴エネルギーが最大となる候補点を特徴点として追加する。
【００１５】
この画像処理装置では、特徴点取得部により、候補点の画素値に基づく特徴量、当該段階の第１処理画像において候補点が所属する三角領域の頂点と候補点との距離、及び、前段の第１処理画像において候補点に対応する点が所属する三角領域の頂点の動きの差分値に基づいて特徴エネルギーが算出され、特徴エネルギーが最大となる候補点が特徴点として追加される。このように、特徴エネルギーを用いて特徴点を追加することで、画像内に均一に特徴点を配置することができるとともに、例えばステレオ画像をマッチングする際に、オクルージョンが発生するおそれがある箇所に多くの特徴点を追加することが可能となる。よって、画像間の対応関係を適切に算出することができる。
【００１６】
一実施形態では、動き算出部は、特徴点取得部により特徴点が追加される度に、三角領域を形成することによって第１処理画像を再分割し、特徴点取得部は、再分割後の三角領域を用いて次の候補点を設定してもよい。このように構成することで、特徴点の追加と画像分割とを適切に行うことができる。
【００１７】
一実施形態では、特徴点取得部は、動き算出部によって第１処理画像が分割される度に三角領域の頂点の座標情報を記録し、分割前後において三角領域の頂点の座標情報が変化した三角領域内のみに次の候補点を設定して特徴エネルギーを算出してもよい。このように構成することで、特徴エネルギーの算出負荷を軽減することができる。
【００１８】
また、本発明の他の側面に係る画像処理装置は、第１画像と第２画像とをマッチングして、第１画像及び第２画像の特徴が反映された中間画像を生成する装置である。この装置は、三角領域情報取得部、全体動き算出部及び描画部を備える。三角領域情報取得部は、第１画像の特徴点である第１特徴点を直線で結んだ第１三角領域の頂点の座標位置及び頂点の動きを取得する。全体動き算出部は、第１三角領域の頂点の動きから第１三角領域の動きを算出するとともに、第１三角領域の動きを、第１三角領域の面積及び第１三角領域に対応する第２画像の三角領域である第２三角領域の面積で重み付けすることで全体の動きを算出する。描画部は、所定の第１画像と第２画像との比率、及び、全体の動きに基づいて、中間画像にて描画すべき三角領域の頂点の座標情報を算出する。
【００１９】
この画像処理装置では、三角領域情報取得部により、三角領域の頂点の位置及び動きが取得され、全体動き算出部により、第１画像の三角領域の動きに基づいて全体の動きが算出され、描画部により、全体の動きに基づいて中間画像における三角領域の頂点の座標情報が算出される。このように、全体の動きを考慮して三角領域を変形させることで、閲覧者に対して違和感を与えない中間画像を生成することができる。
【００２０】
一実施形態では、第１画像及び第２画像はステレオ画像であり、描画部は、左右方向及び上下方向における所定の第１画像と第２画像との比率に基づいて三角領域の頂点の座標情報を算出してもよい。このように構成することで、ステレオ画像の中間画像に奥行き感を持たせることができる。
【００２１】
また、本発明の他の側面に係る画像処理方法は、第１画像と第２画像とをマッチングする方法である。この方法は、特徴点取得ステップ、動き算出ステップ、動き取得ステップ及び信頼性判定ステップを備える。特徴点取得ステップでは、第１画像の特徴点である第１特徴点を取得する。動き算出ステップでは、第１画像の画素値と第２画像の画素値との差分に基づいて、第１特徴点の動きの大きさを第２画像の探索範囲内の画素位置ごとに算出する。動き取得ステップでは、動き算出ステップにより算出された画素位置ごとの複数の動きのうち最小となる第１動きを、第１特徴点の動きとして取得する。信頼性判定ステップでは、動き算出ステップにより算出された画素位置ごとの複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、動き取得ステップにより取得された第１特徴点の動きの信頼性を判定する。
【００２２】
また、本発明の他の側面に係る画像処理方法は、第１画像と第２画像とをマッチングする方法である。この方法は、処理画像生成ステップ、特徴点取得ステップ及び動き算出ステップを備える。処理画像生成ステップでは、第１画像の解像度が段階的に変更された複数の第１処理画像、及び、第２画像の解像度が段階的に変更された複数の第２処理画像を生成する。特徴点取得ステップでは、第１処理画像の特徴点を取得する。動き算出ステップでは、第１処理画像の画素値と第２処理画像の画素値との差分に基づいて、特徴点の動きの大きさを算出する。さらに、特徴点取得ステップでは、解像度の低い順に第１処理画像を処理し、動き算出ステップでは、解像度の低い順に同一の解像度の第１処理画像及び第２処理画像をそれぞれ処理する。動き算出ステップでは、当該段階における第１処理画像の特徴点を直線で結んだ三角領域を形成することによって第１処理画像を分割し、三角領域の頂点の動きを用いて特徴点の動きの大きさを算出する。特徴点取得ステップでは、動き算出ステップにより第１処理画像が分割された後において、三角領域内に特徴点の候補となる候補点を設定し、候補点の画素値に基づく特徴量、当該段階の第１処理画像において候補点が所属する三角領域の頂点と候補点との距離、及び、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点の動きと前段の前記第１処理画像において前記候補点に対応する点が所属する前記三角領域の頂点の動きとの差分値に基づいて特徴エネルギーを算出し、特徴エネルギーが最大となる候補点を特徴点として追加する。
【００２３】
また、本発明の他の側面に係る画像処理方法は、第１画像と第２画像とをマッチングして、第１画像及び第２画像の特徴が反映された中間画像を生成する方法である。この方法は、三角領域情報取得ステップ、全体動き算出ステップ及び描画ステップを備える。三角領域情報取得ステップでは、第１画像の特徴点である第１特徴点を直線で結んだ第１三角領域の頂点の座標位置及び頂点の動きを取得する。全体動き算出ステップでは、第１三角領域の頂点の動きから第１三角領域の動きを算出するとともに、第１三角領域の動きを、第１三角領域の面積及び第１三角領域に対応する第２画像の三角領域である第２三角領域の面積で重み付けすることで全体の動きを算出する。描画ステップでは、所定の第１画像と第２画像との比率、及び、全体の動きに基づいて、中間画像にて描画すべき三角領域の頂点の座標情報を算出する。
【００２４】
また、本発明の他の側面に係る画像処理プログラムは、第１画像と第２画像とをマッチングするようにコンピュータを動作させるプログラムである。このプログラムは、コンピュータを、特徴点取得部、動き算出部、動き取得部及び信頼性判定部として動作させる。特徴点取得部は、第１画像の特徴点である第１特徴点を取得する。動き算出部は、第１画像の画素値と第２画像の画素値との差分に基づいて、第１特徴点の動きの大きさを第２画像の探索範囲内の画素位置ごとに算出する。動き取得部は、動き算出部により算出された画素位置ごとの複数の動きのうち最小となる第１動きを、第１特徴点の動きとして取得する。信頼性判定部は、動き算出部により算出された画素位置ごとの複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置と、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つの画素位置とが隣接するか否かに基づいて、動き取得部により取得された第１特徴点の動きの信頼性を判定する。
【００２５】
また、本発明の他の側面に係る画像処理プログラムは、第１画像と第２画像とをマッチングするようにコンピュータを動作させるプログラムである。このプログラムは、コンピュータを、処理画像生成部、特徴点取得部及び動き算出部として動作させる。処理画像生成部は、第１画像の解像度が段階的に変更された複数の第１処理画像、及び、第２画像の解像度が段階的に変更された複数の第２処理画像を生成する。特徴点取得部は、第１処理画像の特徴点を取得する。動き算出部は、第１処理画像の画素値と第２処理画像の画素値との差分に基づいて、特徴点の動きの大きさを算出する。ここで、特徴点取得部は、解像度の低い順に第１処理画像を処理し、動き算出部は、解像度の低い順に同一の解像度の第１処理画像及び第２処理画像をそれぞれ処理し、動き算出部は、当該段階における第１処理画像の特徴点を直線で結んだ三角領域を形成することによって第１処理画像を分割し、三角領域の頂点の動きを用いて特徴点の動きの大きさを算出し、特徴点取得部は、動き算出部により第１処理画像が分割された後において、三角領域内に特徴点の候補となる候補点を設定し、候補点の画素値に基づく特徴量、当該段階の第１処理画像において候補点が所属する三角領域の頂点と候補点との距離、及び、当該段階の前記第１処理画像において前記候補点が所属する前記三角領域の頂点の動きと前段の前記第１処理画像において前記候補点に対応する点が所属する前記三角領域の頂点の動きとの差分値に基づいて特徴エネルギーを算出し、特徴エネルギーが最大となる候補点を特徴点として追加する。
【００２６】
さらに、本発明の他の側面に係る画像処理プログラムは、第１画像と第２画像とをマッチングして、第１画像及び第２画像の特徴が反映された中間画像を生成するようにコンピュータを動作させるプログラムである。このプログラムは、コンピュータを、三角領域情報取得部、全体動き算出部及び描画部として動作させる。三角領域情報取得部は、第１画像の特徴点である第１特徴点を直線で結んだ第１三角領域の頂点の座標位置及び頂点の動きを取得する。全体動き算出部は、第１三角領域の頂点の動きから第１三角領域の動きを算出するとともに、第１三角領域の動きを、第１三角領域の面積及び第１三角領域に対応する第２画像の三角領域である第２三角領域の面積で重み付けすることで全体の動きを算出する。描画部は、所定の第１画像と第２画像との比率、及び、全体の動きに基づいて、中間画像にて描画すべき三角領域の頂点の座標情報を算出する。
【００２７】
上述した画像処理方法及び画像処理プログラムによれば、上述した画像処理装置と同様の効果を奏する。
【発明の効果】
【００２８】
以上説明したように、本発明の種々の側面及び実施形態によれば、画像間の対応関係を適切に算出することができる。
【図面の簡単な説明】
【００２９】
【図１】実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。
【図２】図１中の画像処理装置が搭載される携帯端末のハードウェア構成図である。
【図３】モーフィングを説明する概要図である。
【図４】ステレオ画像から中間画像を生成して疑似的な奥行き感を表現する技術の概要図である。
【図５】図１中のマッチング部の機能ブロック図である。
【図６】多重解像度画像を用いたマッチング処理を説明する概要図である。
【図７】前段の特徴量を引き継ぐ処理を説明する概要図である。
【図８】画像のエッジに追加された疑似特徴点を説明する概要図である。
【図９】特徴点の動きの探索範囲を説明する概要図である。
【図１０】特徴点の動きの信頼性評価を説明する概要図である。
【図１１】図１中のマッチング部のマッチング動作を示すフローチャートである。
【図１２】図１中のマッチング部のマッチング動作を示す全体概要図である。
【図１３】図１中のレンダリング部の機能ブロック図である。
【図１４】三角形メッシュの動きを説明する概要図である。
【図１５】中間画像を説明する概要図である。
【図１６】レンダリングを説明する概要図である。（Ａ）は、二次元レンダリング、（Ｂ）は、疑似的な三次元レンダリングである。
【図１７】図１中のレンダリング部のレンダリング動作を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、添付図面を参照して本発明の実施形態について説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明のものと必ずしも一致していない。
【００３１】
本実施形態に係る画像処理装置は、画像間の対応関係を算出する装置であり、既知の局所相関法（画素マッチングやブロックマッチング等）を用いる装置全てに適用することができる。例えば、左画像（第１画像）及び右画像（第２画像）からなるステレオ画像を対象としてマッチング処理を行う装置に適用してもよい。そして、マッチング結果に基づいて左右画像の特徴を有する中間画像を生成し、ステレオ画像と中間画像とを用いて擬似的な奥行き感を閲覧者にもたらす装置に適用してもよい。以下では、本装置が、ステレオ画像を用いて擬似的な奥行きのある画像を生成する装置に適用された場合を一例として説明する。また、この装置は、例えば、携帯電話、デジタルカメラ、ＰＤＡ（Personal  Digital  Assistant）又は通常のコンピュータシステム等に搭載される。なお、以下では、説明理解の容易性を考慮し、本発明に係る画像処理装置の一例として、携帯端末に搭載される画像処理装置を説明する。
【００３２】
図１は、本実施形態に係る画像処理装置１を備える携帯端末２の機能ブロック図である。図１に示す携帯端末２は、例えばユーザにより携帯される移動端末であり、図２に示すハードウェア構成を有する。図２は、携帯端末２のハードウェア構成図である。図２に示すように、携帯端末２は、物理的には、ＣＰＵ（Central  Processing  Unit）１００、ＲＯＭ（Read  Only  Memory）１０１及びＲＡＭ（Random  Access  Memory）１０２等の主記憶装置、カメラ又はキーボード等の入力デバイス１０３、ディスプレイ等の出力デバイス１０４、ハードディスク等の補助記憶装置１０５などを含む通常のコンピュータシステムとして構成される。後述する携帯端末２及び画像処理装置１の各機能は、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００の制御の元で入力デバイス１０３及び出力デバイス１０４を動作させるとともに、主記憶装置や補助記憶装置１０５におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末２のハードウェア構成として説明したが、画像処理装置１がＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２等の主記憶装置、入力デバイス１０３、出力デバイス１０４、補助記憶装置１０５などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末２は、通信モジュール等を備えてもよい。
【００３３】
図１に示すように、携帯端末２は、画像処理装置１及び表示部３２を備えている。画像処理装置１は、画像入力部１０、マッチング部１１及びレンダリング部１２を備えている。
【００３４】
画像入力部１０は、比較する２つの画像データを入力する機能を有している。画像入力部１０は、ここではステレオ画像の左画像３０及び右画像３１を入力する。画像入力部１０は、例えば、携帯端末２に搭載されたカメラにより撮像されたステレオ画像を入力してもよいし、通信を介してステレオ画像を入力してもよい。また、既に携帯端末２の主記憶装置又は補助記憶装置１０５に記録されたステレオ画像を入力してもよい。また、ステレオ画像として入力するのではなく、左画像３０及び右画像３１を別々に入力してもよいし、左画像３０の入力手段とは異なる手段で右画像３１を入力してもよい。
【００３５】
マッチング部１１は、左画像３０及び右画像３１をマッチングさせる機能を有している。マッチング部１１は、左画像３０及び右画像３１の何れか一方の画像から特徴点を取得し、マッチングを行う。例えば、マッチング部１１は、左画像３０の特徴点を取得し、当該特徴点が右画像３１の画像内に存在するか否かをマッチングする。ここで、マッチング部１１は、左画像３０及び右画像３１の解像度を段階的に変更させて得られた多重解像度画像を用いてマッチングを行ってもよい。また、マッチング部１１は、画像を三角形メッシュ（三角領域）に分割し、三角形メッシュの頂点の情報に基づいてマッチング処理をしてもよい。多重解像度処理及び三角形メッシュ分割処理の詳細については後述する。
【００３６】
レンダリング部１２は、左右画像のマッチング情報に基づいて、中間画像をレンダリングする機能を有している。また、レンダリング部１２は、図示しないジャイロセンサ等の検出結果に基づいて中間画像を生成してもよい。レンダリング部１２の詳細については後述する。
【００３７】
表示部３２は、レンダリング部１２によりレンダリングされた画像を表示する。表示部３２として、例えばディスプレイが用いられる。
【００３８】
上記構成を有する画像処理装置１は、例えばモーフィングを行うことができる。図３はモーフィングを説明する概要図である。図３に示すように、例えば画像Ａと画像Ｂとの２つの画像が与えられているとする。モーフィングは、コンピュータグラフィックスの技術の一つであり、画像Ａ及び画像Ｂの特徴を有する中間画像ＡＢ１〜ＡＢ４を補間し、画像Ａから画像Ｂへ、又は、画像Ｂから画像Ａへ滑らかに遷移するアニメーションを生成する手法のことである。画像処理装置１は、図３に示すモーフィング技術を利用することで、擬似的に奥行きのある画像を表示することもできる。図４は、疑似３次元画像の表示を説明する概要図である。図４に示すように、ステレオ画像を構成する左画像Ｌ及び右画像Ｒを用いて、左画像Ｌ及び右画像Ｒの特徴を所定の割合で有する中間画像を複数生成し、矢印に沿って時系列で表示させることにより、擬似的に奥行きのある画像として表示することができる。
【００３９】
次に、画像処理装置１の詳細について説明する。図５は、マッチング部１１の詳細を説明する概要図である。図５に示すように、マッチング部１１は、画像縮小部（処理画像生成部）１１０、特徴点取得部１１１、動き算出部１１２、動き取得部１１３及び信頼性判定部１１４を備えている。
【００４０】
画像縮小部１１０は、画像を縮小する機能を有している。例えば、画像縮小部１１０は、左画像３０及び右画像３１の大きさを所定のサイズを下回るまで１／２ずつ段階的に縮小する。例えばｎ個の縮小画像を作成する場合には、ｎ段目の画像は１／２ｎ縮小された画像となる。なお、多重解像度画像において、処理前の左画像３０及び右画像３１が最精細画像となり、ｎ段目の画像が最粗画像となる。このように、左画像３０及び右画像３１の解像度をそれぞれ段階的に変更することで、解像度の異なる複数の画像（第１処理画像及び第２処理画像）を作成する。また、画像縮小部１１０は、縮小画像を平滑化してもよい。例えば、画像縮小部１１０は、ガウシアンフィルタ等を用いて縮小画像を平滑化する。
【００４１】
特徴点取得部１１１，動き算出部１１２、動き取得部１１３及び信頼性判定部１１４は、解像度の低い順に、同一の解像度ごとに多重解像度画像を処理する。例えば、ｎ段目の左画像３０及び右画像３１を対象として、特徴点取得部１１１、動き算出部１１２、動き取得部１１３及び信頼性判定部１１４が処理を実行し、その後、ｎ−１段目の左画像３０及び右画像３１を処理する。図６は、多重解像度画像のマッチング処理を説明する概要図である。図６に示すように、マッチング処理１、マッチング処理２、マッチング処理３と解像度の低い順に処理が行われる。なお、後述するように、低解像度画像のマッチング結果（前段のマッチング結果）を高解像度画像のマッチング処理（後段のマッチング処理）の初期値として使用する。これにより、処理高速化を図ることができる。
【００４２】
マッチング部１１は、特徴点の抽出とメッシュ分割とを組み合わせ、並行して行う。このため、まずは特徴点取得部１１１、動き算出部１１２、動き取得部１１３及び信頼性判定部１１４の概要を説明する。特徴点取得部１１１は、画像の特徴点を取得する機能を有している。動き算出部１１２は、探索範囲内の画素位置ごとに、左画像３０と右画像３１とを比較して特徴点の動きを算出する機能を有している。動き算出部１１２は、既知の画像分割手法（例えばドローネ三角形分割）を用いて左画像３０を分割し、三角形メッシュの頂点の動きを用いて特徴点の動きを算出する機能を有している。三角形メッシュは、特徴点を直線で結ぶことにより形成される。動き取得部１１３は、動き算出部１１２により算出された複数の動きの中から特徴点の動きを決定する機能を有している。信頼性判定部１１４は、決定された特徴点の動きの信頼性を評価する機能を有している。特徴点取得部１１１、動き算出部１１２、動き取得部１１３及び信頼性判定部１１４は、解像度の低い順に、同一の解像度の画像ごとに上記処理を行う。従って、特徴点の取得、特徴点を用いたドローネ三角形分割、特徴点の動きの評価、特徴点の動き計算による左右画像のマッチングを１セットの処理とし、マッチング処理により得られた動きを後段の処理の初期値として採用しながら、最精細画像を処理するまで上記１セットの処理を繰り返し行う。
【００４３】
次に各構成の詳細を説明する。特徴点取得部１１１は、画像の特徴点を取得する機能を有している。特徴点取得部１１１は、例えば左画像３０から特徴点（第１特徴点）を取得する。特徴点取得部１１１は、最も解像度の低い段階の画像（最粗画像）を処理する場合には、当該段階における左画像３０の特徴点として、画像の四隅の点を取得する。画像の四隅の点は擬似的に設定された特徴点である（疑似特徴点）。
【００４４】
特徴点取得部１１１は、以降の段階の画像（最粗画像以外の画像）を処理する場合には、図７に示すように、当該段階における左画像３０の四隅の点ＰＳ１〜ＰＳ４及びエッジ（縁）上に均等に位置する点ＰＥｎを疑似特徴点として取得する。疑似特徴点ＰＥｎの間隔Ｈは、画像の面積をＳ（ｐｉｘｅｌ２）、分割する特徴点数をＮＲとすると、以下の数式で表すことができる。
【数１】
0005544497.tif 000002
このように、エッジ（縁）上に強制的に特徴点を配置させることで、動き算出部１１２により三角形分割をする際に、画像のエッジ周辺に細長い三角形が多数発生することを回避することができる。これにより、正三角形に近いメッシュができるため、後述する中間画像の縁に歪みが生じにくくなる。
【００４５】
また、特徴点取得部１１１は、以降の段階の画像（最粗画像以外の画像）を処理する場合には、前段の画像（一つ解像度が低い画像）の特徴点に対応する点を引き継いで特徴点（前段特徴点）とする。図８は、特徴点の引き継ぎを説明する概要図である。図８では、ｎ段目の左画像３０（サイズ１／２ｎ）からｎ−１段目の左画像３０（サイズ１／２ｎ−１）に特徴点が引き継がれる場合を示している。図８に示すように、引き継ぎ前の特徴点をＰＢＫ、座標を（ｘＫ，ｙＫ）とし、所定のピクセル値をＵとすると、（２・ｘＫ±Ｕ，２・ｙＫ±Ｕ）の範囲で特徴量を算出し、最大の特徴量となる座標を前段特徴点ＰＡＫの座標とする。座標を求めるための特徴量として、例えばＨａｒｒｉｓ特徴量やコーナー検出時に利用される特徴量を用いることができる。
【００４６】
さらに、特徴点取得部１１１は、以降の段階の画像（最粗画像以外の画像）を処理する場合には、特徴エネルギーＥＰｆに従って特徴点を追加する（追加特徴点）。特徴点取得部１１１は、候補点Ｐｆの特徴エネルギーＥＰｆを算出し、特徴エネルギーＥＰｆが最大となる候補点Ｐｆを特徴点として追加する。特徴エネルギーＥＰｆは、コーナーの強さ、近傍の特徴点からの距離及び動きの大きさの少なくとも一つを引数にもつエネルギー関数として定義される。例えば、特徴エネルギーＥＰｆは、候補点Ｐｆの画素値に基づく特徴量（例えばＨａｒｒｉｓ特徴量やコーナー検出時に利用される特徴量）、当該段階において候補点Ｐｆが所属する三角形メッシュの頂点と候補点Ｐｆとの距離、及び前段の画像において候補点Ｐｆに対応する点が所属する三角形メッシュの頂点の動きの差分値に基づいて算出される。特徴エネルギーＥＰｆは、例えば、候補点Ｐｆの画素値に基づく特徴量をｆ、当該段階において候補点Ｐｆが所属する三角形メッシュの頂点と候補点Ｐｆとの距離のうち最も近いものをｄ、前段の画像において候補点Ｐｆに対応する点が所属する三角形メッシュの頂点の動きの差分値の総和をｍとすると、以下の数式１で定義される。
【数２】
0005544497.tif 000003
特徴量ｆを特徴エネルギーＥＰｆに入れることにより、特徴的な部分に特徴点を追加することができる。距離ｄを特徴エネルギーＥＰｆに入れることにより、近くに特徴点がない場合には特徴エネルギーＥＰｆが大きくなる。従って、特徴点が均一に分散するように特徴点を追加することができ、よって、三角メッシュが均一になるようにすることができる。すなわち、無駄な特徴点の増加を防ぎ、計算量の増加を防止することができるとともに後述する中間画像の歪みを小さくすることができる。また、動きｍを特徴エネルギーＥＰｆに入れることにより、左右画像間の動きが大きい場合には特徴エネルギーＥＰｆが大きくなる。ステレオ画像の場合、左画像に存在したものが右画像に存在していない現象（オクルージョン）が発生する場合もある。オクルージョンは、カメラ等の撮像位置からみて奥行きが急激に変化する箇所に発生する。オクルージョンが発生する部分は動きｍが大きくなる傾向にある。すなわち、動きｍを導入することで、オクルージョンが発生する箇所に多くの特徴点を追加し、細かい三角形メッシュを形成することができる。よって、動きｍを特徴エネルギーＥＰｆに入れることにより、オクルージョンが発生した場合であっても、マッチング処理を適切に行うことが可能となるため、後述する中間画像の整合性を向上させることができる。
【００４７】
次に、動き算出部１１２の詳細を説明する。動き算出部１１２は、最も解像度の低い段階の画像（最粗画像）を処理する場合には、左右画像の輝度値の差分値（シフト量）を算出する。動き算出部１１２は、以降の段階の画像（最粗画像以外の画像）を処理する場合には、左画像３０から得られた特徴点（第１特徴点）の動きを検出する。
【００４８】
動き算出部１１２は、動きを算出するにあたって三角形メッシュ分割を行う。動き算出部１１２は、左画像３０の特徴点が追加される度にエッジスワップを繰り返すことでドローネ三角形分割を行う。なお、特徴点取得部１１１は、上述した距離ｄ及び動きｍを分割される度に更新する。このため、特徴点取得部１１１が追加特徴点を一つ追加すると動き算出部１１２が再分割し、再分割後のメッシュにおいて特徴点取得部１１１が距離ｄ及び動きｍを再計算する。特徴点取得部１１１は、特徴点の追加前後において三角形メッシュの頂点の座標情報を記録しており、頂点の座標情報が変化した三角形領域内のみ、上記数式１に基づいて特徴エネルギーＥＰｆを再計算する。これにより処理負荷を軽減することができる。なお、上記処理は、特徴点が設定値（所定数）となるまで繰り返し実行される。
【００４９】
また、動き算出部１１２は、動きを検出するための探索範囲を設定する。左画像３０の特徴点の動きを検出する場合には、右画像３１に探索範囲が設定され、右画像３１の特徴点の動きを検出する場合には、左画像３０に探索範囲が設定される。この探索範囲は、初期値となる画素位置を基準に設定される。図９は、左画像３０の特徴点ＰＮ１の探索範囲ＨＲ１を説明する概要図である。図９に示すように、探索範囲ＨＲ１は、特徴点ＰＮ１の動きの初期値であるＰＲ１を中心とした範囲であって、初期値ＰＲ１の座標位置からｘ方向及びｙ方向に±数ピクセルの範囲に設定されている。動き算出部１１２は、特徴点ＰＮ１を含むブロックＢ１を設定し、ブロック単位で探索範囲ＨＲ１内を探索する。動きは、ブロックのピクセル値の差分絶対値の和や、差分二乗和等で算出される。ここで、動き算出部１１２は、探索範囲の初期値として、４つの初期値を設定する。第１の初期値は、当該特徴点に対応する点であって前段の左画像３０における点が前段の左画像３０において所属する三角形メッシュの頂点の動きを用いて補間された画素位置を用いて設定される。すなわち、補間された画素位置のｘ成分及びｙ成分をそれぞれ２倍した値が当該特徴点の動きの第１の初期値に設定される。オクルージョンが発生する可能性が低い場合には近傍特徴点の動きは一様であるため第１の初期値のみで十分対応できる。しかし、オクルージョンが発生している場合には近傍特徴点の動きは一様でなくなるため、特徴点の動きを適切に検出することができないおそれがある。このため、当該特徴点に対応する点であって前段の左画像３０における点が前段の左画像３０において所属する三角形メッシュの３頂点の動きそのものを、当該特徴点の動きの第２〜第４の初期値として設定する。オクルージョンが発生している場合には、該特徴点の動きは、該特徴点が前段で所属していた三角メッシュの頂点の動きの補間値よりも、該特徴点が前段で所属していた三角メッシュの頂点の何れか一つの動きに近い可能性がある。このため、第２〜第４の初期値を設定することで、オクルージョンが発生している場合であっても高速かつ精度よく動きを検出することができる。以上のように、第１〜第４の初期値が設定されるため、探索範囲も４つ設定される。動き算出部１１２は、探索範囲に含まれる全ての画素位置において動きを算出する。
【００５０】
動き取得部１１３は、算出された動きの中で大きさが最も小さい動き（第１動き）を、特徴点の動きとして取得する。信頼性判定部１１４は、取得された動きの信頼性を判断する。信頼性判定部１１４は、最小の動きとなる画素位置と、複数の動きのうち２番目に小さい動きとなる画素位置とが隣接するか否かに基づいて、最小の動きの信頼性を判定する。例えば、最小の動きとなる画素位置と２番目に小さい動きとなる画素位置とが隣接する場合には、最小の動きが信頼できる動きであると判定する。また、複数の動きを用いて最小の動きを判定してもよい。例えば、動き算出部１１２により算出された複数の動きのうちＮ番目（Ｎは２以上の整数）に小さい動きとなる画素位置が、Ｎ番目に小さい動きよりも小さい動きとなる画素位置のうち少なくとも一つ画素位置と隣接する場合には、最小の動きが信頼できる動きであると判定してもよい。例えば、探索範囲内の差分エネルギー（ブロックのピクセル値の差分絶対値の和）が小さい動きから順にｍ１、ｍ２、ｍ３…、ｍｎとした時、以下の条件を全て満たしたときに「信頼できる特徴点の動き」であると判定してもよい。条件１としては、ｍ２の画素位置がｍ１の画素位置の近傍となる。条件２としては、ｍ３の画素位置がｍ１又はｍ２の画素位置の近傍となる。条件ｎとしては、ｍｎの画素位置がｍ１、ｍ２、ｍ３、…、ｍｎ−１の画素位置の何れかの近傍となる。信頼性判定部１１４は、上述した条件を全て満たすか否かを判定する。
【００５１】
あるいは、信頼性判定部１１４は、Ｎ番目に小さい動きの画素位置が第１動きの画素位置と隣接しない場合（すなわち８近傍に位置しない場合）には、「信頼できない特徴点の動き」であると判定してもよい。例えば、最小の動きを（ｄｘ＝−８、ｄｙ＝１）とする。２番目に小さい動きが（ｄｘ＝−７、ｄｙ＝１）、３番目に小さい動きが（ｄｘ＝−８、ｄｙ＝２）、ｎ番目に小さい動きが（ｄｘ＝−７、ｄｙ＝２）であるとする。この場合には、信頼できる特徴点の動きであると判定する。一方、例えば、最小の動きを（ｄｘ＝−８、ｄｙ＝１）とする。２番目に小さい動きが（ｄｘ＝−７、ｄｙ＝１）、３番目に小さい動きが（ｄｘ＝−１０、ｄｙ＝１）、ｎ番目に小さい動きが（ｄｘ＝−７、ｄｙ＝２）であるとする。この場合には、３番目に小さい動きの画素位置が第１動きの画素位置と隣接しないため、信頼できない特徴点の動きであると判定する。
【００５２】
図１０は、上述した隣接位置の概念を説明する概要図である。図１０では、最小の動きｍＱ１の画素位置ＰＱ１と、２番目に最小の動きｍＱ２の画素位置ＰＱ２とが隣接していることを示している。また、最小の動きｍＱ１の画素位置ＰＱ１と、３番目に最小の動きｍＱ３の画素位置ＰＱ３とが隣接していないことを示している。信頼性判定部１１４によって信頼性を判定することで、信頼できない動きすなわち不正な動きとなる特徴点については除外することができる。例えば格子状の模様等、類似する特徴が連続するいわゆる繰り返しパターンが画像内に存在した場合には特徴点の動きが正確に取得できないおそれがある。このため、上記手法を採用することで、より正確な動きを検出することが可能となる。
【００５３】
また、上記判定条件を予め設定されたｎ個まで実施するのではなく、第１動きｍ１がある閾値θＴ以下であって、動きｍｊ（１＜ｊ＜ｎ）の差分エネルギーが閾値θＴを超えた場合には、その時点で処理を打ち切り、「信頼できる特徴点の動き」であると判定してもよい。ある程度大きい差分エネルギーとなった場合には、画像内に繰り返しパターンが存在しないと判断できるからである。このように処理を打ち切ることで演算負荷を軽減することができる。なお、上記手法で判定する場合、ｍ１＞θＴとなる場合には、「信頼できない特徴点の動き」であると判定してもよい。
【００５４】
特徴点取得部１１１は、上記の信頼性判定によって信頼できない動きとされた特徴点については削除する。特徴点が削除された場合には、動き算出部１１２が三角形メッシュで再分割してもよい。これにより、正確な動きの特徴点のみによって三角メッシュが構成されることになる。なお、特徴点取得部１１１は、画像の四隅及びエッジ上に均等に配置された疑似特徴点については信頼できない動きと判定された場合であっても削除しない。この場合、最も近接する特徴点の動きをオーバーライドする。このため、削除対象となる特徴点は、追加特徴点又は前段特徴点となる。
【００５５】
次に、マッチング部１１の動作を説明する。図１１はマッチング部１１の動作を説明するフローチャートである。図１１に示すように、最初に、画像縮小部１１０が、画像入力部１０により入力された左画像３０及び右画像３１を縮小する（Ｓ１０：処理画像生成ステップ）。次に、特徴点取得部１１１が、最粗画像から特徴点を取得する（Ｓ１４：特徴点取得ステップ）。ここでは、画像の四隅の点を疑似特徴点として取得する。また、動き算出部１１２が最粗画像のシフト量を演算する。続いて、次に解像度の高い画像（次に精細な画像）のマッチング処理へ移行する（Ｓ１８：特徴点取得ステップ）。このとき、特徴点取得部１１１が、前段の特徴点を全て引き継ぐ。そして、動き算出部１１２が、画像をドローネ三角形分割の逐次法により、三角形メッシュに分割する（Ｓ２０：動き算出ステップ）。そして、所定数の特徴点の追加が完了したか否かを判定する（Ｓ２２）。
【００５６】
Ｓ２２の処理において、所定数の特徴点の追加が完了していないと判定した場合には、特徴点取得部１１１が特徴エネルギーＥＰｆに基づいて特徴点を追加する（Ｓ２４：特徴点取得ステップ）。そして、Ｓ２０の処理へ再度移行する。このように、所定数の特徴点の追加が完了するまで、Ｓ２０〜Ｓ２４の処理を繰り返す。すなわち、所定数の特徴点の追加が完了するまで、特徴点の追加とドローネ三角形分割が繰り返し実行される。一方、Ｓ２２の処理において、所定数の特徴点の追加が完了したと判定した場合には、動き算出処理へ移行する（Ｓ２６）。
【００５７】
Ｓ２６の処理では、動き算出部１１２が探索範囲内の動きを全て算出し、動き取得部１１３が最小の動きを特徴点の動きとして選択する（Ｓ２６：動き算出ステップ、動き取得ステップ）。そして、信頼性判定部１１４が、信頼性をチェックする（Ｓ２８：信頼性判定ステップ）。そして、信頼性判定部１１４は、信頼性の無い頂点が存在するか否かを判定する（Ｓ３０）。Ｓ３０の処理において、信頼性がない頂点が存在すると判定した場合には、特徴点取得部１１１が当該特徴点を削除し、動き算出部１１２がドローネ三角形分割を再度実行する（Ｓ３２：特徴点削除ステップ）。その後、現在処理中の画像が最精細画像であるか否かを判定する処理へ移行する（Ｓ３４）。一方、Ｓ３０の処理において、信頼性がない頂点が存在すると判定しない場合にも、現在処理中の画像が最精細画像であるか否かを判定する処理へ移行する（Ｓ３４）
【００５８】
Ｓ３４の処理において、最精細画像である場合には図１１に示す処理を終了する。一方、最精細画像でない場合には、Ｓ１８の処理へ再度移行する。このように、最精細画像を処理するまで、Ｓ１８〜Ｓ３２の処理を繰り返し実行する。
【００５９】
以上で図１１に示す制御処理を終了する。図１２は、マッチング部１１の動作を視覚的に示す概要図である。図１２に示すように、特徴点の追加、画像分割、動き探索、信頼性チェック、解像度の変更を順次繰り返すことがわかる。このように、特徴点の抽出とメッシュ分割とを組み合わせることにより、適切な特徴点を追加することができるため、マッチングデータ量を低減させることができる。また、マッチング処理の高速化を図ることができ、結果としてリアルタイム性が向上する。さらに、オクルージョンの箇所に多くの特徴点を配置することで後述する中間画像において自然なモーフィングを実現することができる。また、信頼性を判定することで、繰り返しパターンにも対応できるためマッチングの精度を向上させることができる。なお、マッチング情報は、例えば特徴点の数（三角形メッシュの頂点数）、左右画像で対応する頂点の座標、三角形メッシュを構成する頂点の識別子等が含まれる。
【００６０】
次に、図１に示すレンダリング部１２の詳細について説明する。レンダリング部１２は、図１３に示すように、三角領域情報取得部１２０、全体動き算出部１２１及び描画部１２２を備えている。
【００６１】
三角領域情報取得部１２０は、左画像３０及び右画像３１のマッチング情報を取得する機能を有している。三角領域情報取得部１２０は、左画像３０の三角形メッシュ（第１三角領域）の頂点の座標及び動きを取得し、左画像３０の三角形メッシュ（第１三角領域）の頂点の座標及び動きから右画像３１の三角形メッシュ（第２三角領域）の頂点の座標をそれぞれ算出する。
【００６２】
全体動き算出部１２１は、マッチング情報に基づいて全体の動きを算出する。全体動き算出部１２１は、左画像３０の三角形メッシュの頂点の動きに基づいて、左画像３０の三角形メッシュの動きを算出する。そして、全体動き算出部１２１は、左右画像の三角形メッシュの動きを三角形メッシュの面積でそれぞれ重み付けすることにより全体の動きを算出する。例えば、第１三角領域の面積及び第２三角領域の面積で重み付けすることで全体の動きを算出する。すなわち面積の大きい方が全体の動きに寄与するという重み付けを行う。
【００６３】
図１４は、左画像３０及び右画像３１においてｉ番目の三角形メッシュの動きを説明する概要図である。図１４に示すように、左画像３０において、三角形メッシュｉの頂点であるノードｎｉＬ１，ｎｉＬ２，ｎｉＬ３の位置ベクトルをそれぞれＰｉＬ１，ＰｉＬ２，ＰｉＬ３とする。同様に、右画像３１において、三角形メッシュｉの頂点であるノードｎｉＲ１，ｎｉＲ２，ｎｉＲ３の位置ベクトルをそれぞれＰｉＲ１，ＰｉＲ２，ＰｉＲ３とする。この場合、三角形メッシュｉの動きｍｉは以下の数式で表現することができる。
【数３】
0005544497.tif 000004
なお、ノードｎｉＬ１，ｎｉＬ２，ｎｉＬ３における左画像３０から右画像３１への動きベクトルをそれぞれＭｉＬ１，ＭｉＬ２，ＭｉＬ３とすると、右画像３１におけるＰｉＲ１，ＰｉＲ２，ＰｉＲ３は、それぞれＰｉＬ１＋ＭｉＬ１，ＰｉＬ２＋ＭｉＬ２，ＰｉＬ３＋ＭｉＬ３となる。重みＷｉは三角形メッシュの面積であるため、以下の数式で表現することができる。
【数４】
0005544497.tif 000005
第１項が左画像３０の三角形メッシュの面積であり、第２項が右画像３１の三角形メッシュの面積である。なお、１／２は後段の重み付けで相殺されるため省略している。全体の動きＭは以下の通りとなる。
【数５】
0005544497.tif 000006
【００６４】
描画部１２２は、モーフィングさせる画像（中間画像）をレンダリングする。図１５に左画像及び右画像に基づいて生成された中間画像を示す。描画部１２２は、左右画像の特徴の比率（レベル）に基づいて所望の中間画像を生成する。例えば、レベル０であれば左画像３０となり、レベル０．５であれば、左右画像の丁度中間の画像となり、レベル１であれば右画像３１となる。
【００６５】
描画部１２２は、例えば図１６の（Ａ）に示すように、左右方向にスイングするように中間画像を生成する。この場合には二次元のレンダリングとなる。また、描画部１２２は、例えば図１６の（Ｂ）に示すように、左右方向だけでなく上下方向にもスイングするように中間画像を生成してもよい。すなわち左右方向だけでなく上下方向にも視点が動いた場合の中間画像を生成してもよい。なお、この場合には擬似的な三次元のレンダリングとなる。また、左右方向及び上下方向を考慮した中間画像を生成する場合には左右方向及び上下方向のレベルが設定される。
【００６６】
描画部１２２は、マッチング情報と上記レベルに基づいて描画すべき三角形メッシュの頂点の座標情報を算出する。ここで、描画部１２２は、全体の動きＭを考慮して三角形メッシュの頂点の座標情報を算出する。例えば、２次元のレンダリングの場合において、レベルをＬｅｖｅｌ（ここでは０．０〜１．０）、ある点の左画像３０での位置ベクトルをｎＬ、ある点の右画像３１での位置ベクトルをｎＲとすると、中間画像での位置ベクトルｎは、以下の数式で表すことができる。
【数６】
0005544497.tif 000007
ここで、全体の動きをＭとすると、変形後の三角形メッシュの頂点の位置ベクトルｎは、以下の数式で表すことができる。
【数７】
0005544497.tif 000008
上記式に示すように、全体の動きを打ち消す項を入れて三角形メッシュを変形する。全体の動きが大きい場合には、擬似的な奥行き感を出すための動きが目立たなくなる場合がある。中間画像の生成時において全体の動きを考慮することで、擬似的な奥行き感を出すための動きを強調することができる。
【００６７】
３次元のレンダリングの場合には、三角形メッシュの変形を以下のステップで行う。第１ステップとして、基準の投影マトリックスを２つ求める。第２ステップとして、左画像用の投影マトリックス、右画像用の投影マトリックス、及び、対応点の座標値から、三次元座標（Ｘ，Ｙ，Ｚ）を算出する。第３ステップとして、左右画像のレベルを反映させた投影マトリックスにより、各ノードの中間画像の２次元座標を算出する。すなわち、算出された３次元座標を２次元座標に再変換することで、描画する三角形メッシュの形状（頂点の座標情報）を算出する。
【００６８】
さらに、描画部１２２は、中間画像における三角形メッシュの色成分を算出する機能を有している。例えば、描画部１２２は、左右画像の各色成分を上述したレベルでアルファブレンドする。例えば、ＲＧＢＡの色ごとにアルファブレンドを行う。
【００６９】
次に、レンダリング部１２の動作を説明する。図１７は、レンダリング部１２の動作を説明するフローチャートである。図１７に示すように、最初に、三角領域情報取得部１２０が、マッチング部１１により生成されたマッチング情報を取得する（Ｓ４０：三角領域情報取得ステップ）。次に、全体動き算出部１２１が、全体の動きを算出する（Ｓ４２：全体動き算出ステップ）。そして、描画部１２２が、中間画像を生成する（Ｓ４４：描画ステップ）。例えば、三角形メッシュの形状（頂点の座標情報）を、全体の動き及びレベルに応じて変形することで生成する。そして、描画部１２２が、三角形メッシュの色をレベルに応じて決定する（Ｓ４６）。以上の処理で図１７に示すレンダリング処理が終了する。
【００７０】
次に、携帯端末２（コンピュータ）を画像処理装置１として機能させるための画像処理プログラムを説明する。
【００７１】
画像処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、左画像３０及び右画像３１を取得するように携帯端末２を動作させる。演算処理モジュールは、マッチングモジュール及びレンダリングモジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した画像処理装置１の画像入力部１０、マッチング部１１及びレンダリング部１２の機能とそれぞれ同様である。
【００７２】
画像処理プログラムは、例えば、コンピュータ読み取り可能なＲＯＭ等の記憶媒体または半導体メモリによって提供される。また、画像処理プログラムは、データ信号としてネットワークを介して提供されてもよい。
【００７３】
以上、本実施形態に係る画像処理装置１によれば、最小の動きとなる画素位置と２番目に小さい動きとなる画素位置とが隣接しているか否か、すなわち特徴点が局所的な動きとなっているか否かを信頼性の指標とすることで、例えば繰り返しパターンが存在する場合であっても特徴点の動きの妥当性を判定することができる。よって、画像間の対応関係を適切に算出することが可能となる。また、信頼性できない動きである追加特徴点に関しては特徴点として採用しないことで、いわゆる繰り返しパターンを有する画像を適切にマッチングすることができる。
【００７４】
また、本実施形態に係る画像処理装置１によれば、解像度の低いものから順に画像同士を比較して特徴点を決定することができ、さらに、前段の特徴点を後段に引き継いで特徴点とすることが可能となる。このように構成することで、マッチング精度の向上及び処理速度の向上を図ることができる。また、擬似特徴点を追加することで、例えば三角領域に分割してマッチングする場合に極端に細い三角領域が発生することを抑制することが可能となる。
【００７５】
また、本実施形態に係る画像処理装置１によれば、動き検出の探索範囲を複数有することができるため、例えばオクルージョンが発生するおそれがあるステレオ画像であっても適切にマッチングすることができる。
【００７６】
また、本実施形態に係る画像処理装置１によれば、特徴エネルギーを用いて特徴点を追加することで、画像内に均一に特徴点を配置することができるとともに、例えばステレオ画像をマッチングする際に、オクルージョンが発生するおそれがある箇所に多くの特徴点を追加することが可能となる。よって、画像間の対応関係を適切に算出することができる。
【００７７】
また、本実施形態に係る画像処理装置１によれば、全体の動きを考慮して三角領域を変形させることで、閲覧者に対して違和感を与えない中間画像を生成することができる。
【００７８】
なお、上述した実施形態は本発明に係る画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の一例を示すものであり、実施形態に係る装置、方法、プログラム及び記録媒体に限られるものではなく、変形し、又は他のものに適用したものであってもよい。
【００７９】
例えば、上述した実施形態では、左画像３０から特徴点を抽出してマッチングする例を説明したが、右画像３１から特徴点を抽出してマッチングしてもよい。また、本発明に係る画像処理装置は、例えば左画像３０の特徴点が右画像３１にどの程度対応しているのかを判定する場合にも好適に採用することができる。すなわち、左右画像の少なくとも一方の特徴点の信頼性を判定するものであってもよい。
【００８０】
また、例えば、上述した実施形態において、描画部１２２が図示しないジャイロセンサに接続されており、ジャイロセンサの検出結果に基づいて３次元レンダリングの角度θを変更してレンダリングしてもよい。
【符号の説明】
【００８１】
１…画像処理装置、１１…マッチング部、１２…レンダリング部、１１０…画像縮小部（処理画像生成部）、１１１…特徴点取得部、１１２…動き算出部、１１３…動き取得部、１１４…信頼性判定部、１２０…三角領域情報取得部、１２１…全体動き算出部、１２２…描画部。
【図１】
0005544497.tif 000009
【図２】
0005544497.tif 000010
【図５】
0005544497.tif 000011
【図６】
0005544497.tif 000012
【図７】
0005544497.tif 000013
【図８】
0005544497.tif 000014
【図９】
0005544497.tif 000015
【図１０】
0005544497.tif 000016
【図１１】
0005544497.tif 000017
【図１２】
0005544497.tif 000018
【図１３】
0005544497.tif 000019
【図１４】
0005544497.tif 000020
【図１７】
0005544497.tif 000021
【図３】
0005544497.tif 000022
【図４】
0005544497.tif 000023
【図１５】
0005544497.tif 000024
【図１６】
0005544497.tif 000025