(57)【要約】【課題】テクスチャの少ない領域などにおいても安定的な対応付けを可能とする。【解決手段】実施形態に係る画像処理装置は、対象ブロック近傍の１つ以上の候補ブロックから１つ以上の候補ベクトルを取得し、少なくとも１つの候補対応ブロックの近傍に前記第２画像上の位置を示すパーティクルを１つ以上設定し、前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置し、前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関を計算し、計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへ付与し、前記重みに基づいて前記対象ブロックに関する対応ベクトルを求める。【選択図】図１
2014093602.tif 000002
【特許請求の範囲】
【請求項１】
第１画像上の対象ブロックから第２画像上の対応ブロックへの対応付けを示す対応ベクトルを求める画像処理装置であって、
前記対象ブロック近傍の１つ以上の候補ブロックそれぞれに関して既に計算済みの前記対応ベクトルから１つ以上の候補ベクトルを取得する取得部と、
取得された前記１つ以上の候補ベクトルそれぞれが前記対象ブロックを基準として指し示す各候補対応ブロックの近傍に前記第２画像上の位置を示すパーティクルを１つ以上設定し、前記対象ブロックを基準として前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置する配置部と、
前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関をそれぞれ計算し、計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへそれぞれ付与する算出部と、
前記１つ以上の粒子ベクトルそれぞれについて算出した前記重みに基づいて、前記対象ブロックに関する対応ベクトルを求める処理部と
を備える画像処理装置。
【請求項２】
前記取得部は、前記対象ブロックの近傍に前記候補ベクトルとして取得可能な前記対応ベクトルが計算済みの前記候補ブロックが存在しない場合、前記候補ベクトルとして０ベクトルを取得する、請求項１に記載の画像処理装置。
【請求項３】
少なくとも１つの前記粒子ベクトルは、前記候補ベクトルが指し示す前記候補対応ブロックとは異なる位置の前記パーティクルを指し示す、請求項１に記載の画像処理装置。
【請求項４】
前記処理部により求められた対応ベクトルを用いて、前記第１画像から１つ以上の視差画像を生成する生成部をさらに備える、請求項１に記載の画像処理装置。
【請求項５】
前記１つ以上の候補対応ブロックは、前記対象ブロックの空間的な近傍領域、過去の近傍領域および階層的な近傍領域のうち１つ以上を含む、請求項１に記載の画像処理装置。
【請求項６】
前記処理部は、前記重みに基づいて前記１つ以上の粒子ベクトルを統計処理することにより、前記対象ブロックに関する対応ベクトルを求める、請求項１に記載の画像処理装置。
【請求項７】
第１画像上の対象ブロックから第２画像上の対応ブロックへの対応付けを示す対応ベクトルを求める画像処理方法であって、
前記対象ブロック近傍の１つ以上の候補ブロックそれぞれに関して既に計算済みの前記対応ベクトルから１つ以上の候補ベクトルを取得し、
取得された前記１つ以上の候補ベクトルそれぞれが前記対象ブロックを基準として指し示す各候補対応ブロックの近傍に１つ以上のパーティクルを設定し、
前記対象ブロックを基準として前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置し、
前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関をそれぞれ計算し、
計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへそれぞれ付与し、
前記１つ以上の粒子ベクトルそれぞれについて算出した前記重みに基づいて、前記対象ブロックに関する対応ベクトルを求める
ことを含む、画像処理方法。
【請求項８】
第１画像上の対象ブロックから第２画像上の対応ブロックへの対応付けを示す対応ベクトルを求めるコンピュータを機能させるための画像処理プログラムであって、
前記対象ブロック近傍の１つ以上の候補ブロックそれぞれに関して既に計算済みの前記対応ベクトルから１つ以上の候補ベクトルを取得する処理と、
取得された前記１つ以上の候補ベクトルそれぞれが前記対象ブロックを基準として指し示す各候補対応ブロックの近傍に前記第２画像上の位置を示すパーティクルを１つ以上設定し、前記対象ブロックを基準として前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置する処理と、
前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関をそれぞれ計算し、計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへそれぞれ付与する処理と、
前記１つ以上の粒子ベクトルそれぞれについて算出した前記重みに基づいて、前記対象ブロックに関する対応ベクトルを求める処理と
を前記コンピュータに実行させるための画像処理プログラム。
【請求項９】
第１画像上の対象ブロックから第２画像上の対応ブロックへの対応付けを示す視差ベクトルを求める立体画像表示装置であって、
前記対象ブロック近傍の１つ以上の候補ブロックそれぞれに関して既に計算済みの前記視差ベクトルから１つ以上の候補ベクトルを取得する取得部と、
取得された前記１つ以上の候補ベクトルそれぞれが前記対象ブロックを基準として指し示す各候補対応ブロックの近傍に前記第２画像上の位置を示すパーティクルを１つ以上設定し、前記対象ブロックを基準として前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置する配置部と、
前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関をそれぞれ計算し、計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへそれぞれ付与する算出部と、
前記１つ以上の粒子ベクトルそれぞれについて算出した前記重みに基づいて、前記対象ブロックに関する視差ベクトルを求める処理部と
前記処理部により求められた視差ベクトルを用いて、前記第１画像から１つ以上の視差画像を生成する生成部と、
前記生成部で生成された前記１つ以上の視差画像を表示する表示部と、
を備える、立体画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、画像処理方法、画像処理プログラム、および立体画像表示装置に関する。
【背景技術】
【０００２】
従来、ある画像から他の画像へ相関の高い領域を探索することにより、両画像間の対応付けを行なう対応点検出装置がある。たとえば特許文献１には、過去フレームや空間ですでに計算済みのブロックのベクトルを候補ベクトルとし、候補ベクトルに更新ベクトルを加えた領域だけに限定して探索を行い、画面全体で再帰処理をするものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３１４７８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の実施の形態では、テクスチャの少ない領域などにおいても安定的な対応付けを可能とする画像処理装置、画像処理方法、画像処理プログラム、および立体画像表示装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態にかかる画像処理装置は、第１画像上の対象ブロックから第２画像上の対応ブロックへの対応付けを示す対応ベクトルを求める画像処理装置であって、前記対象ブロック近傍の１つ以上の候補ブロックそれぞれに関して既に計算済みの前記対応ベクトルから１つ以上の候補ベクトルを取得する取得部と、取得された前記１つ以上の候補ベクトルそれぞれが前記対象ブロックを基準として指し示す各候補対応ブロックの近傍に前記第２画像上の位置を示すパーティクルを１つ以上設定し、前記対象ブロックを基準として前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置する配置部と、前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関をそれぞれ計算し、計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへそれぞれ付与する算出部と、前記１つ以上の粒子ベクトルそれぞれについて算出した前記重みに基づいて、前記対象ブロックに関する対応ベクトルを求める処理部とを備える。
【０００６】
また、実施形態にかかる立体画像表示装置は、第１画像上の対象ブロックから第２画像上の対応ブロックへの対応付けを示す視差ベクトルを求める立体画像表示装置であって、前記対象ブロック近傍の１つ以上の候補ブロックそれぞれに関して既に計算済みの前記視差ベクトルから１つ以上の候補ベクトルを取得する取得部と、取得された前記１つ以上の候補ベクトルそれぞれが前記対象ブロックを基準として指し示す各候補対応ブロックの近傍に前記第２画像上の位置を示すパーティクルを１つ以上設定し、前記対象ブロックを基準として前記１つ以上のパーティクルそれぞれを指し示す１つ以上の粒子ベクトルを配置する配置部と、前記対象ブロックの画素値と前記１つ以上のパーティクルそれぞれで規定されるブロックの画素値との間の相関をそれぞれ計算し、計算された前記相関に応じた重みを前記１つ以上の粒子ベクトルへそれぞれ付与する算出部と、前記１つ以上の粒子ベクトルそれぞれについて算出した前記重みに基づいて、前記対象ブロックに関する視差ベクトルを求める処理部と前記処理部により求められた視差ベクトルを用いて、前記第１画像から１つ以上の視差画像を生成する生成部と、前記生成部で生成された前記１つ以上の視差画像を表示する表示部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態１にかかる画像処理装置の概略構成例を示すブロック図。
【図２】図２は、図１に示す画像処理装置の動作例を示すフローチャート。
【図３】図３は、実施形態１において対象ブロックに対して２つの処理済みブロックが存在している場合の例を示す図。
【図４】図４は、実施形態１における候補ブロックの例を示す図。
【図５】図５は、実施形態１における粒子ベクトルの重みの例を示す図。
【図６】図６は、実施形態１における統計処理の結果例を示す図。
【図７】図７は、対象画像上の対象ブロックと相関の高い参照画像上の対応ブロックを求める問題の定義図。
【図８】図８は、図７の定義を２次元平面に射影した図。
【図９】図９は、実施形態１において一回の処理で取り扱う処理対象を例示する図。
【図１０】図１０は、図２のステップＳ１０３において用いた処理のスキャン順序の一例を示す図。
【図１１】図１１は、図１０に示すスキャン順序で処理した場合の処理済みのブロックを示す図。
【図１２】図１２は、実施形態１における時間的候補ブロック、階層的候補ブロックおよび空間的候補ブロックの例を示す図。
【図１３】図１３は、実施形態１において１つの候補ベクトルに対して配置された粒子ベクトルの例を示す図。
【図１４】図１４は、実施形態１における粒子ベクトルの他の配置例を示す図。
【図１５】図１５は、実施形態１において用いるＭＳＥの例を示す図。
【図１６】図１６は、実施形態１において用いるガウス関数の例を示す図。
【図１７】図１７は、図１６に示すガウス関数の代わりに用いることができる他の関数の例を示す図。
【図１８】図１８は、実施形態２にかかる多視差画像生成装置の概略構成例を示すブロック図。
【図１９】図１９は、図１８に示す多視差画像生成装置の動作例を示すフローチャート。
【図２０】図２０は、実施形態２における多視差画像を生成する際の概念図。
【発明を実施するための形態】
【０００８】
以下、例示する実施の形態にかかる画像処理装置、画像処理方法、画像処理プログラム、および立体画像表示装置について、図面を参照して詳細に説明する。以下で例示する実施形態は、対象画像内の部分領域と相関の高い部分領域を参照画像から求める問題を解決するためのものである。例えばこれは、動画像のある１フレームから別のフレームへの動きベクトルを求める問題（動き推定ともいう）、動画像に含まれるオブジェクトの追跡、動画像のフレーム補間、および、裸眼による立体映像を実現するステレオ画像の左目用画像から右目用画像への対応付けを求める問題などに適用することができる。
【０００９】
（実施形態１）
まず、実施形態１にかかる画像処理装置、画像処理方法および画像処理プログラムについて、図面を参照して詳細に説明する。なお、実施形態１では、動画像のある１フレーム（対象画像）から別のフレーム（参照画像）への動きベクトルを求める問題（動き推定ともいう）を解決する場合を例示する。
【００１０】
図１は、実施形態１にかかる画像処理装置の概略構成例を示すブロック図である。図１に示される画像処理装置１０は、動画像に対する動き推定処理において、対象画像１００上の部分領域から参照画像２００上の部分領域への対応付けを示す対応ベクトルＶを求める。以下の説明では、１つ以上の画素を含む部分領域をブロックという。また、対象画像１００上の処理対象のブロックを対象ブロックといい、対象ブロックと対応づけられる参照画像２００上のブロックを対応ブロックという。
【００１１】
対象画像１００は、動画像におけるある１フレームに相当し、参照画像２００は、動画像における別の１フレームに相当する。この画像処理装置１０は、図１に示すように、候補ベクトル取得部１１と、粒子ベクトル配置部１２と、粒子ベクトル重み算出部１３と、粒子ベクトル処理部１４と、を備える。
【００１２】
候補ベクトル取得部１１には、たとえば外部の上位装置から対象画像１００が入力される。候補ベクトル取得部１１は、入力された対象画像１００上の対象ブロックに対して、その近傍の１つ以上のブロック（以下、候補ブロック）を特定し、これら候補ブロックそれぞれに関して既に計算済みの対応ベクトルから１つ以上の対応ベクトルを候補ベクトルとして取得する（候補ベクトル取得ステップ）。
【００１３】
粒子ベクトル配置部１２は、候補ベクトル取得部１１によって取得された１つ以上の候補ベクトルそれぞれが対象ブロックを基準として指し示すブロック（以下、候補対応ブロックという）それぞれの近傍に１つ以上のパーティクルを設定し、対象ブロックから各パーティクルを指し示す粒子ベクトルを配置する（粒子ベクトル配置ステップ）。なお、対応ベクトルと候補ベクトルと粒子ベクトルとは、それぞれ基準となるブロックの所定の位置（たとえば左上画素や中央画素など）を始点としている。以下では、説明の簡略化のため、単に「ブロックを基準として」と記述する。
【００１４】
本説明において、粒子ベクトルとは、画像に対して所定の法則にしたがって配置したパーティクルの位置を指し示すベクトルである。ここで、パーティクルとは、候補ベクトルが指し示す先の画像（参照画像２００、または、対象画像１００と参照画像２００との重畳画像１００Ａ（図８参照）：ここでは、簡略化のため、参照画像２００と重畳画像１００Ａとを区別しない）上の位置を示す点である。このパーティクルは、処理上、画像中の１画素として扱うこともできる。実施形態１では、候補ベクトルが指し示す候補ブロックの周辺に１つ以上のパーティクルが設定される。したがって、実施形態１では、１つの候補ベクトルに対して１つ以上の粒子ベクトルが配置される。ただし、対象ブロックに対して複数の候補ベクトルが取得された場合、これらの候補ベクトルのうち少なくとも１つの候補ベクトルに対して少なくとも１つの粒子ベクトルが配置されればよい。
【００１５】
実施形態１において配置する粒子ベクトルを、候補ベクトルの位置以外であって候補ベクトルの近傍に少なくとも１つの粒子ベクトルとしたのは、粒子ベクトルを１つも配置しない場合、解が収束せず、対応ベクトルＶの値が常に‘０’となってしまう可能性が存在するためである。
【００１６】
粒子ベクトル重み算出部１３は、対象ブロックと各パーティクルによって指定される各ブロックとの間の相関をそれぞれ計算し、計算された相関に応じた重みをそれぞれ対応する粒子ベクトルに付与する（粒子ベクトル重み算出ステップ）。なお、相関とは、たとえば輝度、ＲＧＢの各色成分の値、ＹＵＶなどの色空間の値などの画素値に基づく指標であってよい。その場合、たとえば差（画素値の差）が小さいとは、相関が高いことを意味する。なお、パーティクルは、対応ベクトルや候補ベクトルの始点と同様に、ブロックにおける所定の位置（たとえば左上画素や中央画素など）に位置するものとする。言い換えれば、対象ブロックとの相関が計算される粒子ベクトルが指し示すブロックは、パーティクルによって規定されるブロック（部分領域）である。パーティクルによって規定されるブロックの大きさ（サイズ）は、対象ブロックや候補ブロックと同じであってよい。
【００１７】
粒子ベクトル処理部１４は、各粒子ベクトルについて算出された重みにしたがって１つ以上の粒子ベクトルを統計処理することで、対象ブロックに関する対応ベクトルＶを求める（粒子ベクトル処理ステップ）。
【００１８】
つづいて、図１に示す画像処理装置１０の動作例を、図２のフローチャートを用いて詳細に説明する。図２に示すように、候補ベクトル取得部１１は、上位装置から入力された対象画像１００を１階層以上ダウンサンプリングする（ステップＳ１０１）。これにより、対象画像１００を元に、階層構造を有した対象画像が生成される。
【００１９】
つぎに、候補ベクトル取得部１１は、元の対象画像１００およびダウンサンプリングにより得られた対象画像それぞれを複数の対象ブロックに分割する（ステップＳ１０２）。つづいて、候補ベクトル取得部１１は、複数の対象ブロックのうち１つを所定のスキャン順序に従って選択する（ステップＳ１０３）。
【００２０】
つぎに、候補ベクトル取得部１１は、選択した対象ブロックの近傍に、既に対応ベクトルを算出済みの他のブロック（以下、処理済みブロックという）が存在するか否かを判定する（ステップＳ１０４）。この判定の結果、処理済みブロックが存在しない場合（ステップＳ１０４；ＮＯ）、候補ベクトル取得部１１は、選択中の対象ブロックに対する候補ベクトルとして、所定のベクトル（たとえば０（ゼロ）ベクトル）を取得する（ステップＳ１０６）。一方、処理済みブロックが存在する場合（ステップＳ１０４；ＹＥＳ）、候補ベクトル取得部１１は、処理済みブロックのうち少なくとも１つを候補ブロックとして選択し、選択された１つ以上の候補ブロックに関する１つ以上の対応ベクトルから１つ以上の対応ベクトルを候補ベクトルとして取得する候補ベクトル取得ステップを実行する（ステップＳ１０５）。たとえば、図３には、対象ブロック１０１に対して２つの処理済みブロック１０２および１０３が存在している場合が例示されている。この場合、ステップＳ１０５では、図４に示すように、これら２つの処理済みブロック１０２および１０３のうち少なくとも１つ（図４では２つ）が候補ブロックとして選択され、これらに関して既に計算されている対応ベクトル１１２および１１３のうち少なくとも１つ（図４では２つ）が候補ベクトルとして取得される。
【００２１】
つぎに、粒子ベクトル配置部１２が、選択中の対象ブロックに対して１つ以上の粒子ベクトルを配置する粒子ベクトル配置ステップを実行する（ステップＳ１０７）。つぎに、粒子ベクトル重み算出部１３が、配置された１つ以上の粒子ベクトルに付与する重みを算出する粒子ベクトル重み算出ステップを実行する（ステップＳ１０８）。たとえば図５には、候補ベクトル１１２に関して、その確率分布である重み１２２が計算された場合が例示されている。
【００２２】
つぎに、粒子ベクトル処理部１４が、各粒子ベクトルについて算出された重みにしたがって１つ以上の粒子ベクトルを統計処理することで、選択中の対象ブロックに関する対応ベクトルを求める粒子ベクトル処理ステップを実行する（ステップＳ１０９）。すなわち、図５のように、１つ以上の候補ベクトル１１２および１１３それぞれに関して算出された重みに従い１つ以上の粒子ベクトルを統計処理することで、図６に示すような確率分布１２０を得ることができる。対象ブロック１０１に関する対応ベクトル１１１は、図６に示すように、確率分布１２０（たとえばその重心や中心）に基づいて取得することが可能である。
【００２３】
その後、画像処理装置１０は、全ての対象ブロックに対して対応ベクトルを取得する処理が完了したか否かを判定し（ステップＳ１１０）、完了した場合（ステップＳ１１０；ＹＥＳ）、本動作を終了する。一方、完了していない場合（ステップＳ１１０；ＮＯ）、画像処理装置１０は、ステップＳ１０３へリターンし、所定のスキャン順序に従って次の対象ブロックを選択し、以降の動作を実行する。
【００２４】
ここで、階層構造を有した画像におけるある画素（たとえば左下の画素）を基準とした各画素の座標を（Ｘ，ｈ）Ｔ＝（ｘ，ｙ，ｈ）Ｔとすると、一方の画像（たとえば対象画像１００）上の各画素の画素値をＡｏ（Ｘ，ｈ）、他方の画像（たとえば参照画像２００）上の各画素の画素値をＡｒ（Ｘ，ｈ）と記述することができる。なお、Ｔは行列ベクトルの転置を表す。また、列ベクトルは大文字で表記されている。これらの画素値Ａｏ（Ｘ，ｈ）およびＡｒ（Ｘ，ｈ）は、それぞれＡｏ（ｘ，ｙ，ｈ）およびＡｒ（ｘ，ｙ，ｈ）と表現することもできる。
【００２５】
また、ｈは階層を表す。階層とは、画像のピラミッド階層のことである。最もベーシックなピラミッド階層としては、たとえば以下の式（１）で表されるガウシアンピラミッドが存在する。
【００２６】
【数１】
2014093602.tif 000003
【００２７】
式（１）において、上向き矢印はダウンサンプリングを表し、Ｇ（  ）はガウシアンフィルタを表す。つまり、ガウシアンピラミッドとは、画像をガウシアンフィルタにより平滑化しながらダウンサンプリングにより縮小することで得られた１つ以上の画像と元の画像とで構成されるピラミッド階層を指す。したがって、ｈ＝０は元の画像を指し、ｈ＝１は元の画像に対してダウンサンプリングを１回行うことで得られた画像を指す。
【００２８】
また、以下の説明において、ダウンサンプリングのスケール、つまり元の画像に対して何分の一にダウンサンプリングしたかをρで表す。たとえば、元の画像に対して縦横２分の１にダウンサンプリングした場合、ρ＝２となる。
【００２９】
なお、実施形態１は、ピラミッド階層を用いるものに限定されない。すなわち、ｈ＝０のみを使用するように構成されてもよい。
【００３０】
対象画像１００上の対象ブロックと、この対象ブロック１０１と相関の高い参照画像２００上の対応ブロック２０１との対応付けは、対応ベクトルを用いて定義される。ここで、対象画像１００上の対象ブロック１０１と相関の高い参照画像２００上の対応ブロック２０１を求める問題は、たとえば図７に示すような定義とすることができる。図７において、ベクトル１１１は、対象画像１００内の対象ブロック１０１における基準画素から、対象ブロック１０１と相関の高い参照画像２００上の対応ブロック２０１における対応画素までを指し示すベクトルである。図７に示される関係を２次元平面上に射影すると、図８のようになる。本説明では、対象画像１００と参照画像２００との重畳画像１００Ａにおける対象ブロック１０１の基準画素から対応ブロック２０１の対応画素までを指し示すベクトル１１１を対応ベクトルと定義する。これは、動画像に対する動きベクトルの算出や多視差画像に対するステレオ対応付けにおける対応点の算出の際に用いる定義と同じである。
【００３１】
ここで、画像がピラミッド階層を持つ場合、対応ベクトルＶ（図１参照）も画像と同じ階層数のピラミッド階層を持っているとする。その場合、座標Ｘで階層ｈの対応ベクトルＶ（Ｘ，ｈ）は、以下の式（２）で記述することができる。
【数２】
2014093602.tif 000004
【００３２】
また、画像に付与された時刻ｔをさらに考慮すると、つまり時系列も考慮しつつ処理を実行する場合、対応ベクトルＶ（Ｘ，ｈ，ｔ）は、以下の式（３）で記述することができる。
【数３】
2014093602.tif 000005
【００３３】
なお、動画像を処理する場合には、異なる時刻ｔでは対象画像１００および参照画像２００が変わるが、静止画を処理する場合には、異なる時刻ｔであっても対象画像１００および参照画像２００は変わらない。
【００３４】
一回の処理で取り扱う処理対象は、図９に示すように、１つ以上画素をまとめたブロック単位としている。これらのブロックは、１つの画像を縦方向および横方向それぞれに予め定めておいた分割数で分割することで得られてもよいし、画像に対して縦横それぞれの画素数が予め定められたサイズの区画を所定位置（たとえば左上）から充填（配列）させることで得られてもよい。
【００３５】
ブロックが画像の左上から充填されているとし、且つ、各ブロックの横と縦のサイズを（Ｂｘ，Ｂｙ）とし、処理対象のブロックをＩ＝（ｉ，ｊ）Ｔとした場合、Ｉブロック内の左上の座標ＸＬは、以下の式（４）で表すことができる。
【数４】
2014093602.tif 000006
【００３６】
また、Ｉブロックの中心座標ＸＣは、以下の式（５）で表すことができる。
【数５】
2014093602.tif 000007
【００３７】
ここで、ブロックの中心座標を計算する演算子ｃ（Ｉ）は、以下の式（６）と定義することができる。なお、演算子ｃ（Ｉ）は、ｃ（ｉ，ｊ）と記述することもできる。
【数６】
2014093602.tif 000008
【００３８】
＜各ステップの詳細＞
以上のような定義に従って、図２に示す各ステップの詳細を、以下に図面を用いて詳細に説明する。
【００３９】
・ステップＳ１０３：処理のスキャン順序
図１０は、図２のステップＳ１０３において用いた処理のスキャン順序の一例を示す図である。図１１は、図１０に示すスキャン順序で処理した場合の処理済みのブロックを示す。図１０および図１１に示す例では、時刻ｔ−１の元の対象画像を１００（ｔ−１）とし、時刻ｔの元の対象画像を１００ｔとしている。また、対象画像１００（ｔ−１）をρ＝２で１度ダウンサンプリングした画像を対象画像１０（ｔ−１）とし、対象画像１００ｔをρ＝２で１度ダウンサンプリングした画像を対象画像１０ｔとしている。
【００４０】
図１０に示された例に示すように、たとえばスキャン順序では、時間は過去から未来へ、階層は上から下へ、の順番に随時ブロックが選択される。また、同じ平面（画像）上では、例えば左上から右下に向かって処理をしていくことが考えられる。ただし、これらに限定されず、時間を未来から過去へ、階層を下層から上層へ、または、同一平面での選択順を右下から左上へなど、種々変形可能である。なお、以下の説明では、図１０に示すように、スキャン順序を同一平面での選択順を左上から右下とし、より上側にあって左側にあるブロックを空間的に上位にあるという。
【００４１】
また、図１０に示すスキャン順序でブロックを選択することで、図１１に示すように、処理対象である対象ブロックよりも時間的に過去で、階層的および空間的に上位にあるブロックは、既に対応ベクトルが算出された処理済みブロックとなる。
【００４２】
・ステップＳ１０５：候補ベクトル取得ステップ
図２のステップＳ１０５に示す候補ベクトル取得ステップについて説明する。候補ベクトル取得ステップは、処理済みブロックのうち、対象ブロックに対して時間的、階層的および空間的に近傍に位置するブロックの対応ベクトルが候補ベクトルとして取得される。図１２は、対象ブロックに対して時間的、階層的または空間的に隣接する処理済みブロック（時間的候補ブロック、階層的候補ブロック、空間的候補ブロック）の対応ベクトルが候補ベクトルとして取得される例を示す。ただし、図１２は、あくまでも一例であって、対象ブロックの近傍に位置する処理済みブロックであればよい。なお、近傍に位置するブロックとは、対象ブロックに対して時間的、階層的または空間的に隣接するブロックに限定されず、対象ブロックに対して時間的、階層的または空間的に斜めの位置にあるブロックや対象ブロックから隣接ブロックを辿って２番目や３番目に位置するブロックなどが含まれていてもよい。
【００４３】
図１２に示す例では、以下の式（７）に示すような候補ベクトルの集合（候補ベクトル群）が取得される。
【数７】
2014093602.tif 000009
【００４４】
ここで、候補ベクトル群は集合であるので、これを以下の式（８）に示すような候補ベクトル集合Ｗとして定義する。
【数８】
2014093602.tif 000010
【００４５】
なお、ここでは時間的要素、階層的要素および空間的要素のすべてを候補として用いたが、これに限られるものではない。すなわち、時間的要素、階層的要素および空間的要素のうち少なくとも１つの要素を候補として用いればよい。
【００４６】
・ステップＳ１０７：粒子ベクトル配置ステップ
図２のステップＳ１０７に示す粒子ベクトル配置ステップについて説明する。粒子ベクトル配置ステップでは、上述のように、１つ以上の候補ベクトルそれぞれが対象ブロックを基準として指し示す１つ以上の候補対応ブロックそれぞれの近傍に１つ以上のパーティクルを設定し、１つ以上のパーティクルそれぞれについて対象ブロックを基準とした粒子ベクトルを配置する。言い換えれば、各候補ベクトルの近傍に、各候補ベクトルが指し示す候補対応ブロック近傍の１つ以上のパーティクルを指し示す１つ以上の粒子ベクトルが配置される。
【００４７】
粒子ベクトルは、候補ベクトルと重ならないようにして、候補ベクトルの近傍に少なくとも１つ以上配置される必要がある。ただし、必ずしもすべての候補ベクトルに対して１つ以上の粒子ベクトルを配置する必要はなく、少なくとも１つの候補ベクトルの近傍に少なくとも１つの粒子ベクトルが配置されればよい。
【００４８】
図１３に、１つの候補ベクトルに対して配置された粒子ベクトルの例を示す。図１３に示す例では、候補ベクトル１１２が指し示す点１４２を中心として所定半径（たとえば１）の円内に属する１つ以上（図１３では４つ）のパーティクル１３１を設定し、これらを指し示す粒子ベクトル１３２を候補ベクトル１１２に対して配置した例が示されている。なお、点１４２は、パーティクル１３１と同様であってよい。
【００４９】
半径１の円内のパーティクル１３１（点１４２を含む）は、以下の式（９）に示すような近傍集合Ｎとして表すことができる。
【数９】
2014093602.tif 000011
【００５０】
ここで、‖  ‖は長さを表す。したがって、以下の式（１０）に示すように、ｎが整数１の場合は、近傍集合Ｎに属するパーティクル１３１（点１４２を含む）の数は、５つとなる。
【数１０】
2014093602.tif 000012
【００５１】
その場合、候補ベクトル１１２をｗ∈Ｗとすると、粒子ベクトルｐ（１３２）は以下の式（１１）であり、また、全ての粒子ベクトルｐ（１３２）を集めた粒子ベクトル集合Ｐは、以下の式（１２）と表現することができる。ここで∀は、集合に属する全ての要素を表す。
【数１１】
2014093602.tif 000013
【数１２】
2014093602.tif 000014
【００５２】
なお、各候補ベクトル１１２に対して設定される粒子ベクトル１３２は、図１３に示す例に限られるものではない。たとえば図１４（ａ）に示すように、候補ベクトル１１２が指し示す点１４２を囲む合計８つのパーティクルが設定されてそれぞれにパーティクル１３１を設定し、これらを指し示す粒子ベクトル１３２を配置してもよい。また、図１４（ｂ）に示すように、候補ベクトル１１２が指し示す点１４２を中心としてたとえば半径２の円内に属する合計１２のパーティクル１３１を設定し、これらを指し示す粒子ベクトル１３２を配置してもよい。もしくは、図１４（ｃ）に示すように、候補ベクトル１１２が指し示す点１４２を中心とした所定半径の円内にランダムに設定された１つ以上のパーティクル１３１に対して粒子ベクトル１３２が配置されてもよい。なお、説明の都合上、図１４では、粒子ベクトル１３２については図示を省略している。
【００５３】
・ステップＳ１０８：粒子ベクトル重み算出ステップ
図２のステップＳ１０８に示す粒子ベクトル重み算出ステップについて説明する。粒子ベクトル重み算出ステップでは、全ての粒子ベクトルに対して重みが計算される。各粒子ベクトルに対する重み算出の根拠には、変位ブロック差分（Ｄｉｓｐｌａｃｅｄ  Ｂｌｏｃｋ  Ｄｉｆｆｅｒｅｎｃｅ：ＤＢＤ）を用いることができる。変位ブロック差分ＤＢＤの１つとしては、図１５に示すような、ＭＳＥ（二乗差分平均：Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ）が存在する。
【００５４】
ここで、粒子ベクトルをｐ∈Ｐとすると、ＭＳＥは以下の式（１３）と定義することができる。
【数１３】
2014093602.tif 000015
【００５５】
式（１３）によれば、ブロックＩ＝（ｉ，ｊ）Ｔ内の対象画像の画素値と、粒子ベクトルで変位させたブロック内の参照画像の画素値との二乗差分の平均を求めることができる。
【００５６】
また、ＭＳＥの他にも、絶対値差分平均ＭＡＤ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）が存在する。同様に粒子ベクトルをｐ∈Ｐとすると、ＭＡＤは以下の式（１４）と定義することができる。
【数１４】
2014093602.tif 000016
【００５７】
つぎに、ＭＳＥまたはＭＡＤを用いて各粒子ベクトルの重みを算出する処理について説明する。変位ブロック差分ＤＢＤは、ＭＳＥを用いた場合とＭＡＤを用いた場合との両方で、値が小さいほど、誤差が小さくなる。これは、粒子ベクトルが真の対応ベクトルに近いことを意味する。したがって、各粒子ベクトルの重みとしては、変位ブロック差分ＤＢＤが小さいほど重みが大きく、大きいほど重みが小さくなるようなものとするべきである。
【００５８】
このような重みを与える関数（重み関数）としては、たとえば図１６に示すようなガウス関数を用いることができる。ＭＳＥの場合、ガウス関数を使った重みは以下の式（１５）ように計算できる。
【数１５】
2014093602.tif 000017
【００５９】
一方、ＭＡＤの場合、以下の式（１６）ように計算できる。
【数１６】
2014093602.tif 000018
【００６０】
ここで、σはガウス関数の標準偏差、すなわちノイズの強度を表す。そこで、画像にノイズが多い場合や、対応付ける画像同士が似ていない場合には、この値σを大きくする。これは、対象とする画像などに応じて事前に設定してもよいし、入力画像に応じて設定してもよい。
【００６１】
また、図１７に示すような関数を用いてもよい。この場合、ＭＳＥを用いた重みは、以下の式（１７）ように計算できる。
【数１７】
2014093602.tif 000019
【００６２】
一方、ＭＡＤを用いた重みは、以下の式（１８）のように計算できる。
【数１８】
2014093602.tif 000020
【００６３】
ここで、εは、‘０（ゼロ）’除算を防止するための定数である。εには、０．１や１．０などの適当な定数を事前に設定すればよい。なお、特性としては、εが大きいほどなだらかな重み関数となり、εが小さいほど急峻な重み関数となる。
【００６４】
・ステップＳ１０９：粒子ベクトル処理ステップ
図２のステップＳ１０９に示す粒子ベクトル処理ステップでは、粒子ベクトルを対応する重みに応じて統計処理を行うことで、対象ブロックの対応ベクトルを求める。
【００６５】
統計処理では、たとえば以下の式（１９）に示すような重み平均が用いられてもよい。
【数１９】
2014093602.tif 000021
【００６６】
式（１９）を用いて求められる対応ベクトルは、対象ブロックに代表される対応ベクトルである。そこで、これらを対象ブロック内の対応ベクトルとして以下の式（２０）のように割り当てる。
【数２０】
2014093602.tif 000022
【００６７】
また、式（１９）に示す重み平均の代わりに、以下の式（２１）に示す重み付きメディアン（中央値）が用いられてもよい。なお、式（２１）において、ａｒｇ  ｍｉｎｘＥ（ただし、ｘはａｒｇ  ｍｉｎの下）とは、Ｅを最小にするｘの値を示す。
【数２１】
2014093602.tif 000023
【００６８】
以上のようなステップを図２に示す流れにしたがって再帰的に実行することで、テクスチャの少ない領域などにおいても安定して対応ベクトルを取得することが可能となる。
【００６９】
たとえば特許文献１では、過去フレームや空間で既に計算済みのブロックのベクトルを候補ベクトルとし、候補ベクトルに更新ベクトルを加えた領域だけに限定して探索を行い、画面全体で再帰処理をする。これにより、少ない計算量で安定して対応付けを行うことが可能である。これは、物体が一定以上の大きさを持っていると仮定すると、対象ブロックの解ベクトルは空間的に隣接するブロックや、時間的に過去の隣接ブロックに近いもので与えられる、という根拠に基づいている。これらの処理が画面全体を通して再帰的に行われることで、少ない計算量でも大きな動きを対応づけることが可能である。
【００７０】
しかしながら、特許文献１では、少数の候補ベクトルを元にして解を選択的に選んでしまうため、テクスチャの少ない領域などにおいて対応付けが不安定になり易いという課題が存在した。
【００７１】
そこで実施形態１では、上述のように、候補ベクトル近傍に粒子ベクトルを配置し、各粒子ベクトルの重み（確率密度ともいう）を算出し、それぞれの重みに従い統計処理を行って対応ベクトルを求める。これにより、テクスチャの少ない領域で解が１つに安定して定まらないとしても、統計的な分布を元に真の対応ベクトルを推定することが可能となるため、安定した対応ベクトルを求めることが可能となる。
【００７２】
（実施形態２）
つぎに、実施形態２にかかる画像処理装置、画像処理方法、画像処理プログラム、および立体画像表示装置について、図面を参照して詳細に説明する。なお、実施形態２では、立体映像をなすステレオ画像の左目用画像から右目用画像への対応付けを求める問題を解決する場合を例示する。また、以下の説明において、上述した実施形態と同様の構成および動作については、それを引用することで重複する説明を省略する。また、実施形態１における対象画像１００および参照画像２００は、実施形態２において左目画像および右目画像とすることが可能であるため、以下の説明では左目画像１００および右目画像２００として説明する。ただし、これに限らず、右目画像と左目画像とを入れ換えてもよい。また、以下の説明では、実施形態１における対応ベクトルを視差ベクトルと読み替えるものとする。
【００７３】
図１８は、実施形態２にかかる立体画像表示装置２０の概略構成例を示すブロック図である。図１８に示される立体画像表示装置２０は、ステレオ映像から裸眼３Ｄなどで使用される多視差映像を生成するものである。図１８と図１とを比較すると明らかなように、立体画像表示装置２０は、画像処理装置１０と同様の構成に加え、粒子ベクトル処理部１４から出力された対応ベクトルＶに基づいて多視差画像を生成する視差画像生成部２１と、視差画像生成部２１により生成された多視差画像を表示する多視差画像表示部２２とをさらに備える。
【００７４】
図１９に、図１８に示す立体画像表示装置２０の動作例を示す。図１９と図２とを比較すると明らかなように、立体画像表示装置２０は、図２に示す動作と同様の動作（ステップＳ１０１〜Ｓ１１０）を実行して対象ブロックに対する視差ベクトルを算出する。その後、視差画像生成部２１が、生成したい視差画像の枚数分、左目画像１００と視差ベクトルＶとから視差画像を生成する（ステップＳ２０１）。これにより、裸眼３Ｄなどで使用される多視差画像が生成される。
【００７５】
ここで、図２０に示すように、左目画像１００は左目と右目との中間の視点から得られたものだとすると、各視差番号は、両目の中心をＯとして右側をマイナス、左側をプラスのｋとすることができる。その場合、多視差画像は、視差ベクトルｄをｋ倍した視差ベクトルＶ２０から、式（２２）を用いて生成することができる。
【数２２】
2014093602.tif 000024
【００７６】
また、各視差画像は、左目画像１００の画素値Ｉｏ（ｘ）をｄｋに従って移動させることにより生成できる。ただし、単純に移動しただけでは穴が空いてしまう可能性もある。その場合、穴の領域を周辺の視差ベクトルＶから補間して映像を埋めるとよい。その他の構成、動作及び効果は、実施形態１と同様であるため、ここでは詳細な説明を省略する。
【００７７】
また、上記実施の形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施の形態が可能であることは上記記載から自明である。例えば各実施の形態に対して適宜例示した変形例は、他の実施の形態に対して適用することも可能であることは言うまでもない。
【符号の説明】
【００７８】
１０  画像処理装置
１１  候補ベクトル取得部
１２  粒子ベクトル配置部
１３  粒子ベクトル重み算出部
１４  粒子ベクトル処理部
２０  立体画像表示装置
２１  視差画像生成部
２２  多視差画像表示部
１００  対象画像（左目画像）
１００Ａ  重畳画像
１０１  対象ブロック
１０２、１０３  処理済みブロック
１１１  対応ベクトル
１１２、１１３  候補ベクトル
１２０  確率分布
１２２  重み
１３１  パーティクル
１３２  粒子ベクトル
１４２  点
２００  参照画像（右目画像）
【図１】
2014093602.tif 000025
【図２】
2014093602.tif 000026
【図３】
2014093602.tif 000027
【図４】
2014093602.tif 000028
【図５】
2014093602.tif 000029
【図６】
2014093602.tif 000030
【図７】
2014093602.tif 000031
【図８】
2014093602.tif 000032
【図９】
2014093602.tif 000033
【図１０】
2014093602.tif 000034
【図１１】
2014093602.tif 000035
【図１２】
2014093602.tif 000036
【図１３】
2014093602.tif 000037
【図１４】
2014093602.tif 000038
【図１５】
2014093602.tif 000039
【図１６】
2014093602.tif 000040
【図１７】
2014093602.tif 000041
【図１８】
2014093602.tif 000042
【図１９】
2014093602.tif 000043
【図２０】
2014093602.tif 000044