上述のように、特許文献1に開示された技術では、仮想視点画像を生成するために、視差値分布画像または奥行き画像を生成することが必要である。具体的には、入力された入力視差画像(例えば、左画像および右画像)間で同一な被写体部分を点対点、画素対画素の対応として表す対応点を抽出して、前記入力視差画像間における対応点の座標値の違いから、対象画素に対する視差値または奥行き量を求める。
しかしながら、前記対応点を抽出するために、入力視差画像における所定の点を中心として所定のサイズの部分領域から一致する領域を水平方向に見て探索するため、探索の精度が前記部分領域のサイズに左右される。すなわち、前記部分領域のサイズが大きいほど、前記探索の精度が低くなる。
なお、入力視差画像中の全点について前記対応点を求めてもよいが、画像サイズが大きい場合は時間が膨大になるため、望ましくない。従って、特に画像サイズが大きい場合には、前記視差値または奥行き量を精度よく算出することが難しいという問題がある。よって、精度の低い視差値または奥行き量に基づいて仮想視点画像を生成するとき、仮想視点画像の中にある物体の輪郭付近で、物体の一部分が欠けたり、または、物体の輪郭の周辺に余計な絵柄がついたりすることがある。このような状態は本来発生すべきではなく、画質の悪化につながる。
次に、上記画質の悪化が発生する現象の一例、および、発生する原因の1つについて、図9および図10に基づいて説明する。図9は、従来技術による仮想視点画像の生成において、画質の悪化が発生する現象の一例を示す図である。図9の(a)は、左画像を示し、図9の(b)は、右画像を示し、図9の(c)は、図9の(a)に示された左画像を基準として計算された奥行き量(奥行き情報)の一例を示す。
図9に示すように、まず、左画像(図9の(a))、および右画像(図9の(b))が入力された場合を挙げる。L字型の部分が手前側にある物体で、その他は背景で奥側に存在するとする。また、左画像上の部分Aに対して、右画像上で背景が同じ位置なのが部分Cで、手前部分が同じ位置なのが部分Bである。
次に、左画像を基準に、右画像から、一致する部分(一致ブロック)を水平方向に見て検索する。すなわち、一致ブロック検索を行う。一致ブロック検索の結果によって、奥行き量を算出する。そして、得られた奥行き量を図で示すと、図9の(c)に示すような形状になる(画質の悪化につながる)ことが多い。図9の(c)では、奥行き量を色で表わしていて、白色が手前側と判断された奥行き量の部分であり、灰色が奥側と判断された奥行き量の部分である。
図9の(c)では、図9の(a)の部分Aに相当する部分の辺りにおいて、本来背景であって奥行き量が灰色にならなければならない部分が一部円弧状に白色になっている。これらの部分の奥行き量は、手前の物体の奥行き量にかなり近い値になる。
一方、手前側にあるL字型物体の上記以外のコーナーの部分は、丸く削られて、本来手前側の奥行き量にならなければならないところが奥側の奥行き量(灰色)になってしまう。これらの部分の奥行き量は、背景側の奥行き量にかなり近い値になる。
次に、図10に基づいて、図9の(c)に示す現象が発生する原因の1つについて説明する。図10は、図9の(a)に示す左画像を基準に、図9の(b)に示す右画像から一致ブロック検索を行う説明図である。図10の(a)は、図9の(a)に示す左画像における部分Aの拡大図であり、図10の(b)は、図9の(b)に示す右画像における部分Cの拡大図であり、図10の(c)は、図9の(b)に示す右画像における部分Bの拡大図である。
ここで、図10の(a)に示すように、予めm×m画素の範囲およびn×n画素の範囲が設定されている。m×m画素の範囲は、一致ブロック検索を行うときの検索範囲であり、n×n画素の範囲は、一致ブロック検索の結果に基づいて求められた奥行き量が割り当てられる領域である。なお、m×m画素の範囲およびn×n画素の範囲の詳細については後述する。
図10の(a)に示すように、基準となる左画像上の検索範囲(すなわち、m×m画素の範囲)内で見ると、手前の物体の面積が背景の部分の面積より大きくなっている。
図10の(a)および(b)に示すように、一致ブロック検索で、背景部分が本来一致する位置において一致度の比較を行った場合は、背景部分については一致度が最小に(良く)なるが、それ以外の部分で一致度が大きく(悪く)なる。一方、図10の(a)および(c)に示すように、手前の物体が一致する位置で一致ブロック検索を行った場合、手前部分については一致度が最小に(良く)なるが、それ以外の部分では一致度が大きく(悪く)なる。全体的にみると、背景部分の面積より手前部分の面積の方が大きいことから、手前部分の一致度の方が良くなる。従って、一致ブロック検索の結果、図10の(a)に示す左画像上のm×m画素の範囲と一致する右画像上のブロックが、右画像において、上記手前の物体が一致する位置にあるブロックになる。
よって、上記一致ブロック検索の結果に基づいて奥行き量を求め、図10の(a)に示す左画像上のn×n画素の範囲に割り当てると、図9の(c)に示すように、部分A(図9の(a)を参照)に相当する円弧状部分の奥行き量は、手前の物体の奥行き量とかなり近い値になる。
なお、上記説明した理由以外にも何らかの理由で、物体の輪郭の位置と、言わば奥行き量の輪郭の位置が一致しないことは比較的よく発生する。
このような画質の悪化の他の例について、図11に基づいて説明する。図11は、入力視差画像から仮想視点画像に変換するときに、画質の悪化が発生する現象の一例を示す図である。図11の(a)は、物体を上から見たときの位置関係を示す図であり、元の視点位置および変換後の視点位置の関係を示す図である。図11の(b)は、入力視差画像から仮想視点画像に変換したとき、画質の悪化を示す図である。
まず、図11の(a)に示す元の視点の位置において、カメラで撮影して、図11の(b)の左図に示すような画像(以下、「元画像」と称する)を取得する。次に、元画像とは異なった視点(変換後の視点)から見たときの画像(以下、「変換後の画像」と称する)を作成する。具体的には、まず、元画像の各画素における奥行き量を求め、その奥行き量と変換後の視点位置とから内挿ベクトルを求める。次に、前記求められた内挿ベクトルに従って、図11の(b)に示すように、元画像の各画素を移動させることで、変換後の画像を生成する。
なお、前記奥行き量および内挿ベクトルの計算については、少なくとも2枚の元画像が必要であるが、詳細は後述するので、ここでその説明を省略する。
しかし、前にも説明したように、奥行き量を精度よく計算することが難しい。そのため、奥行き量を求めるとき、物体の輪郭内であるにも関わらず、物体の輪郭の外側の奥行き量に近い値の奥行き量が算出されてしまう場合には、元画像上の物体輪郭外側における奥行き量が輪郭の内側に入り込む。その結果、その部分の画素の内挿ベクトルが物体の内挿ベクトルと違ってしまい、変換後の画像は物体の一部が欠けたような画像になる。
一方、奥行き量を求めるとき、物体の輪郭外であるにも関わらず、物体の輪郭の内側の奥行き量に近い値の奥行き量が算出されてしまう場合には、元画像上の物体輪郭内側における奥行き量が輪郭の外側にはみ出す。その結果、物体の周辺の画素が物体と一緒に移動してしまい、変換後の画像は物体の周辺に余計な絵柄がついたような画像になってしまう。図11の(b)の右図に示すように、変換後の画像では、手前の物体の下側が欠けており、一方、上側は背景の一部が手前の物体と一緒に移動してしまう。
このように、従来技術では、視差値または奥行き量を正確に計算することが難しいため、入力視差画像から仮想視点画像に変換するとき、画質の悪化が生じるという問題があった。
特許文献1には、複雑なシーンを撮影した入力視差画像に対して、画像内の特定範囲を選定し、その特定領域の視差値、もしくは奥行き量のみを調整することにより、期待しない領域の画素の視差値、もしくは奥行き量を変更しないようにすることが記載されているが、視差値または奥行き量が入力視差画像と正確に合っていない事によって発生する症状(画質の悪化)とその対策については記載されていない。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、入力視差画像から仮想視点画像に変換するときに生じる画質の悪化を軽減することのできる仮想視点画像生成装置、仮想視点画像生成方法、制御プログラム、記録媒体、および立体表示装置を提供することにある。
上記課題を解決するために、本発明に係る仮想視点画像生成装置は、仮想視点位置に応じた画像である新視点画像を生成する仮想視点画像生成装置であって、異なる視点位置での2以上の複数画像を取得する取得部と、前記取得部によって取得された画像のうち、1つの画像を基準画像として選択し、前記取得された複数画像から、新視点画像を生成するために前記基準画像の各画素の移動量を計算する移動量計算部と、前記移動量計算部によって計算された移動量に基づいて、前記基準画像の各画素を移動して、前記新視点画像を生成する新視点画像生成部と、前記新視点画像生成部によって生成された新視点画像の注目画素または複数の画素の集合である注目ブロックを特定し、前記注目画素または注目ブロックを含む所定の領域において、各画素における移動量のばらつきを求め、前記ばらつきの度合いに応じて、前記所定の領域に対する平滑化処理を実行し、前記注目画素または注目ブロックの値を、平滑化処理によって求めた平滑値に置き換える平滑化処理部とを備えていることを特徴としている。
また、上記課題を解決するために、本発明に係る仮想視点画像生成方法は、仮想視点位置に応じた画像である新視点画像を生成する仮想視点画像生成装置による仮想視点画像生成方法であって、異なる視点位置での2以上の複数画像を取得する取得ステップと、前記取得ステップにて取得された画像のうち、1つの画像を基準画像として選択し、前記取得された複数画像から、新視点画像を生成するために前記基準画像の各画素の移動量を計算する移動量計算ステップと、前記移動量計算ステップにて計算された移動量に基づいて、前記基準画像の各画素を移動して、前記新視点画像を生成する新視点画像生成ステップと、前記新視点画像生成ステップにて生成された新視点画像の注目画素または複数の画素の集合である注目ブロックを特定し、前記注目画素または注目ブロックを含む所定の領域において、各画素における移動量のばらつきを求め、前記ばらつきの度合いに応じて、前記所定の領域に対する平滑化処理を実行し、前記注目画素または注目ブロックの値を、平滑化処理によって求めた平滑値に置き換える平滑化処理ステップとを含むことを特徴としている。
新視点画像において、物体の一部分が欠けたり、物体の輪郭の周囲に余計な絵柄がついたりする症状は、複数画像の同じ被写体の部位同士で画素ごとに求めた移動量が物体の輪郭に沿っていないことが原因なので、物体の輪郭付近で生じやすい。つまり、物体の輪郭付近では、物体と背景とが隣接しているために、物体の輪郭を境として、移動量の差が大きくなりやすい。この差が、注目画素または注目ブロックが物体に属しているのか、背景に属しているのかについて、誤判定を誘発する。画素ごとの移動量の差(ばらつき)が大きい領域ほど、上記症状が目立ってくる。
上記の構成によれば、上記の症状が目立ちやすい領域である、移動量のばらつきの大きい画素を含む領域において、上記領域に対する平滑化処理を実行することができる。よって、上記の症状が目立ちやすい領域における画像(特に、輪郭のずれ)が、上記平滑化処理によってぼかされ、目立たなくなるため、画質の悪化を軽減することができるという効果を奏する。
なお、異なる視点位置での画像が、少なくとも2枚あるならば、移動量計算部は、同じ被写体の同じ部位の各画像上での位置を比較することによって、その部位の奥行き情報を求めることができる。また、上記異なる視点位置とは別の新視点位置に対応して、上記部位の画素を移動させる必要のある移動量を、移動量計算部は、視点位置の変化量と求めた奥行き情報とを使って得ることができる。
なお、1つの注目画素ではなく、複数の画素の集合である注目ブロックを採用すると、画像のサイズが大きい(画素の数が多い)場合に、処理速度を向上することができるなどの効果を奏する。
また、上記仮想視点画像生成装置では、前記平滑化処理部は、前記ばらつきの度合いに応じて、平滑化の強度を決めておき、その強度に応じて平滑化することが好ましい。
上記の構成によれば、画質の悪化の目立つ程度に応じて画素の値を平滑化することができる。すなわち、画質の悪化が発生した場合、画質の悪化が発生した領域に含まれる注目画素または注目ブロックの値を一律に平滑化させず、画質の悪化の目立つ程度に応じて、平滑化の強さを変更することができる。よって、画像の明らかさを最大限に保つとともに画質の悪化を軽減することができるという効果を奏する。
また、上記仮想視点画像生成装置では、前記平滑化処理部は、前記ばらつきの度合いとして、前記移動量の最大値および最小値の差の絶対値を求めることことが好ましい。
上記の構成によれば、前記移動量のばらつきの度合いを移動量の最大値および最小値の差の絶対値によって求めることができる。よって、前記ばらつきの度合いを標準偏差などの演算によって求める場合に比べて、複雑な演算が要らず、処理速度が速くなる。さらに、前記平滑化処理部を回路で実現した場合には、演算器等が少なくて済むので、回路規模が小さくなるという効果を奏する。
なお、上記仮想視点画像生成装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記仮想視点画像生成装置の各手段として動作させることにより、上記仮想視点画像生成装置をコンピュータにて実現させる制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
また、上記仮想視点画像生成装置を備え、前記仮想視点画像生成装置が生成した仮想視点画像を用いて、立体表示を行う立体表示装置であれば、上記仮想視点画像生成装置と同様の効果を奏する。
以上のように、本発明は、生成された新視点画像の注目画素または複数の画素の集合である注目ブロックを特定し、上記注目画素または注目ブロックを含む所定の領域において、各画素における移動量のばらつきの度合いに応じて、前記領域に対する平滑化処理を実行することを特徴としている。
したがって、物体の一部分が欠けたり、物体の輪郭の周囲に余計な絵柄がついたりする症状が目立ちやすい領域における画像が、上記平滑化処理によってぼかされ、目立たなくなるため、画質の悪化を軽減することができるという効果を奏する。
〔実施形態1〕
本発明の一実施形態に係る仮想視点画像生成装置1について、図1から図6に基づいて説明すれば、以下のとおりである。
(処理概要)
まず、本実施形態に係る仮想視点画像生成装置1が、画質の悪化を軽減する処理の概要を説明する。
新視点画像において、物体の一部分が欠けたり、物体の輪郭の周囲に余計な絵柄がついたりする症状は、複数画像の同じ被写体の部位同士で画素ごとに求めた内挿ベクトル(移動量)が物体の輪郭に沿っていないことが原因なので、物体の輪郭付近で生じやすい。つまり、物体の輪郭付近では、物体と背景とが隣接しているために、物体の輪郭を境として、内挿ベクトルの差が大きくなりやすい。この差が、注目画素または注目ブロックが物体に属しているのか、背景に属しているのかについて、誤判定を誘発する。したがって、画素ごとの内挿ベクトルの差が大きくなるほど、上記症状が目立ってくる。
ここで、内挿ベクトルとは、仮想視点画像を生成するために、入力視差画像における画素毎の移動量を示すものである。すなわち、内挿ベクトルは、仮想視点位置(以下、「新視点位置」と称する場合がある)から見た場合の画像を入力視差画像から生成する場合に、入力視差画像上の各画素をどれだけ動かせばよいかを表したパラメータである。
また、上記入力視差画像とは、同一の物体を両眼で見た場合、あるいは2つのカメラで撮影した場合における、左目または左側カメラの視点位置に対応した左画像、および右目のまたは右側カメラの視点位置に対応した右画像の少なくとも一方を指す。
よって、本発明に係る仮想視点画像生成装置1は、入力視差画像から変換された変換後の画像(以下、「新視点画像」と称する場合がある)に対して、所定の領域において、内挿ベクトルのばらつき(例えば最大値および最小値の差の絶対値)が大きい場合、その領域に対して平滑化処理を実行することによって、画像の当該領域がぼかされ、画質の悪化を軽減する。
具体的には、仮想視点画像生成装置1は、まず、新視点画像を作成する際の画素毎の内挿ベクトルを、奥行き量と新視点位置とから求め、画素毎に保存しておく。
そして、前記求められた内挿ベクトルに従って、入力視差画像における各画素を移動させることで、新視点画像を生成する。次に、新視点画像に対して、ある画素を中心とする所定の領域内の内挿ベクトルを参照する。そのうち、内挿ベクトルのばらつき(例えば最小値および最大値の差の絶対値)が、あらかじめ決めておいた閾値以上の場合は、当該領域内における各画素値の平滑化された値(例えば、平均値)を求め、上記領域に含まれる注目画素の新しい画素値とする。なお、注目画素は1画素でもよいが、複数の画素の集合である注目ブロックを注目画素として扱ってもよい。
内挿ベクトルのばらつきを調べて必要に応じて平滑化する処理を、新視点画像を構成する全ての画素について繰り返す。
最後に、新視点画像の一部画素の画素値を前記平滑された値に変更して、仮想視点画像を生成する。
以上の処理によって、生成された仮想視点画像において、内挿ベクトルのばらつきが大きい領域の画像が、平滑化によってぼかされ、前記のような画質の悪化の症状が目立たなくなり、画質の悪化を軽減することができる。
(仮想視点画像生成装置1の構成)
以下では、仮想視点画像生成装置1の要部構成について、図1に基づいて説明する。
図1は、仮想視点画像生成装置1の要部構成を示すブロック図である。図1に示すように、仮想視点画像生成装置1は、画像取得部10(取得部)、一致ブロック探索部20、奥行き量計算部30、新視点位置取得部40、内挿ベクトル計算部50(移動量計算部)、新視点画像生成部60、境界平滑部70(平滑化処理部)を備えている。
各部(10〜70)が行う処理の具体例については、後で詳述するので、ここでは各部(10〜70)の概要を説明する。
画像取得部10は、異なる視点位置での2以上の複数画像、例えば、入力視差画像である左画像および右画像を取得するものである。ここで、左画像および右画像は、被写体の撮影面の水平方向と平行する線における2つの視点位置から該被写体を撮影して得られたものである。前記左画像および右画像の取得方法については、特に限定されず、例えば、仮想視点画像生成装置1に内蔵されている双眼カメラ(不図示)によって撮影された画像を取得してもよいし、通信手段(不図示)によって配信サーバから取得してもよい。画像取得部10は、取得した左画像および右画像を一致ブロック探索部20に送信する。
一致ブロック探索部20は、画像取得部10から受信した左画像と右画像とから、一致する部分(一致ブロック)を水平方向に見て探索するものである。具体的には、例えば、左画像を基準画像とする。一致ブロック探索部20は、まず、左画像を複数のブロックに分割し、右画像から前記分割されたブロックと一致するブロックを水平方向に見て探索する。そして、一致ブロック探索部20は、左画像および右画像のそれぞれにおける一致ブロックの左上の座標値を奥行き量計算部30に送信する。
奥行き量計算部30は、一致ブロック探索部20から受信した各左画像および右画像における座標値から、差を計算して、奥行き量を求めるものである。そして、奥行き量計算部30は、求めた奥行き量を内挿ベクトル計算部50に送信する。
新視点位置取得部40は、生成する新視点画像の新視点位置を取得する。なお、新視点位置の取得方法は特に限定されず、例えば、予め決められた視点位置を仮想視点画像生成装置1に備えられている記憶部(不図示)から取得してもよいし、ユーザから操作部(不図示)によって指定されたものを取得してもよい。そして、新視点位置取得部40は、取得した新視点位置を内挿ベクトル計算部50に送信する。
内挿ベクトル計算部50は、受信した奥行き量と新視点位置とから、前記新視点位置における新視点画像を生成するために、基準画像としての左画像における画素毎の移動量、すなわち内挿ベクトルを求めるものである。そして、内挿ベクトル計算部50は、求めた画素毎の内挿ベクトルを新視点画像生成部60に送信する。
新視点画像生成部60は、前記新視点位置から見た場合の新視点画像を生成するものである。具体的には、新視点画像生成部60は、画像取得部10から基準画像としての左画像を取得し、内挿ベクトル計算部50から受信した画素毎の内挿ベクトルに基づいて、前記左画像における各画素を移動させ、新視点画像を生成する。そして、新視点画像生成部60は、生成した新視点画像を、各画素の内挿ベクトルとともに、境界平滑部70に送信する。
境界平滑部70は、所定の領域内の各画素における内挿ベクトルの最大値および最小値の差が大きい場合、上記所定の領域に対する平滑化処理を実行し、上記注目画素または注目ブロックの値を、平滑化処理によって求めた平滑値に置き換えて、仮想視点画像を生成するものである。
(処理の流れ)
以下では、仮想視点画像生成装置1の各部(10〜70)の処理詳細について、図2〜6に基づいて説明する。
まず、図2に基づいて、仮想視点画像生成装置1の処理の流れを説明する。図2は、仮想視点画像生成装置1が左画像および右画像を取得してから、仮想視点画像を生成するまでの処理の流れを示すフローチャートである。
<一致ブロック探索>
図2に示すように、まず、画像取得部10は、左画像および右画像を取得する(S101)。
そして、一致ブロック探索部20は、左画像および右画像のそれぞれにおける一致ブロックを探索する(S102)。
具体的には、まず、一致ブロック探索部20は、図3に示すように、左画像をn×n画素(nは1以上の整数である)の矩形領域(n)に分割する。図3は、左画像を分割する例を示す図である。そして、一致ブロック探索部20は、分割した領域の1つと水平位置および垂直位置が同じであるn×n画素の矩形領域(n)を右画像上にも設定する。
次に、一致ブロック探索部20は、左画像および右画像のそれぞれのn×n画素の矩形領域(n)を中心としたm×m画素の矩形領域(m)を設定する。ただし、mはn以上の整数である。
以下では、n×n画素の矩形領域(n)とは別に、m×m画素の矩形領域(m)を設定する理由について説明する。
一致ブロック探索部20が一致ブロック探索を行うときの矩形領域は、ある程度のサイズまではサイズが大きくなるほど一致の精度が上がると考えられる。これはサイズが大きい方が絵柄の情報量が多く、その多い情報量に対して一致具合を確認していくので、結果的に一致の精度が高くなるからである。そのため、探索するときの矩形のサイズは大きい方が有利である。
ところが、単純に矩形領域のサイズを大きくすると、結果の奥行き量の粒度が大きくなってしまう。例えば矩形領域のサイズを64×64画素(以下では、矩形領域(64)と称する)などと大きいサイズにすると、結果の奥行き量も矩形領域(64)内は同じ奥行き量になるので、奥行き量が64×64画素単位でガタガタのモザイク画像のような粗い結果になる。これではどんなに一致ブロック探索の精度が良くても、入力された画像の絵柄に細かく沿った奥行き量にはならない。
以上の2点(探索の精度および画質の鮮明さ)を両立させるために、一致ブロック探索の探索自体は大きいサイズのm×m画素で行い、それによって求められた奥行き量は小さいサイズのn×n画素に反映させる。これによって、探索の精度が良く、結果の奥行き量は細かく入力画像の絵柄に沿ったものにすることができる。
小さい方の矩形領域(n)のサイズは、理想的には1×1画素である。しかしながら、ソフトウェアで行うときにはそれでも問題ないが、回路を組んでハードウェアで行う場合には、そうすると回路がずいぶん増えてしまう可能性があるため、nは1以上の整数であることが好ましい。
そして、一致ブロック探索部20は、左画像上のm×m画素の矩形領域(m)と、右画像上のm×m画素の矩形領域(m)との一致度を計算する。前記一致度とは、左画像上の矩形領域(m)に含まれるm×m画素の各画素値と右画像上の矩形領域(m)に含まれるm×m画素の各画素値との違いの度合いを示す値である。前記一致度は、下記の式(1)のように矩形領域(m)の各画素値の差の絶対値の総和で求められる。
ここで、RおよびLは、それぞれ右画像の矩形領域(m)および左画像の矩形領域(m)に含まれる各画素の画素値を示し、(x,y)は画素の座標値を示す。例えば、R(x,y)は右画像における座標(x,y)に位置する画素の画素値である。
式(1)によれば、求めた一致度が0に近いほど、一致度が高いことになる。
さらに、一致ブロック探索部20は、右画像上のn×n画素の矩形領域(n)を、水平方向において予め設定された1画素以上のずらし量ずつ右へずらしながら、それぞれの矩形領域(n)を中心とするm×m画素の矩形領域(m)を新たに取得し、上記の方法で、前記取得された左画像における矩形領域(m)との一致度を計算する。
上記ずらし量は、1画素以上の値であればよいが、計算された奥行き量の精度を高く求める場合には、より小さい値(例えば、1画素)を設定することが好ましい。
その理由を、一致ブロック探索で左画像が基準の場合を例として説明する。左画像が基準の場合には、左画像についてはn×n画素毎に画面全体を分割する。よって、左画像について、n画素分ずつ処理を行う。一方、右画像において、左画像上の矩形領域(m)と同じサイズのm×m画素の矩形領域(m)を設定して、左画像上の矩形領域(m)との比較を行う。ここで、右画像上の矩形領域(m)をずらす画素数は任意に設定することができるが、ずらし量によって求められる奥行き量の細かさ(精度)が変わってくる。言い換えると、上記ずらし量が小さいほど、奥行き量の精度が高くなる。
従って、一致ブロック探索の処理速度の向上、および、求める奥行き量の精度の向上を両立するために、n×n画素(およびm×m画素)の矩形領域を粗く(大きく)設定するとともに、上記ずらし量を細かく(小さく)設定することが好ましい。
次に、一致ブロック探索部20は、一致度が最も小さい右画像上の矩形領域(m)に含まれた矩形領域(n)と、前記左画像上の矩形領域(m)に含まれた矩形領域(n)とを、一致ブロックと判定する。そして、一致ブロック探索部20は、前記一致ブロックと判定した右画像における矩形領域(n)の左上座標値(xR,y)と、前記左画像における矩形領域(n)の左上座標値(xL,y)とを一致ブロック対応関係として対応付けて記憶する。
あるいは、一致度が最も小さい矩形領域(m)を一致ブロックと判定し、一致ブロックと判定した右画像における矩形領域(m)の左上座標値(xR,y)と、前記左画像における矩形領域(m)の左上座標値(xL,y)とを一致ブロック対応関係として対応付けて記憶してもよい。
それから、一致ブロック探索部20は、左画像上のすべての矩形領域(n)に対して、上述と同じように、右画像上の矩形領域(n)との一致ブロック対応関係を求める。最後に、一致ブロック探索部20は、前記記憶された一致ブロック対応関係を奥行き量計算部30に送信する。
<奥行き量計算>
次に、奥行き量計算部30は、前記一致ブロック対応関係にある左画像の矩形領域(n)の左上座標値と、右画像の矩形領域(n)の左上座標値とから、奥行き量を計算する(S103)。具体的には、図4に基づいて説明する。図4は、一致ブロックにより奥行き量を計算する例を説明する図である。図4の(a)は右画像を示す図であり、図4の(b)は左画像を示す図である。
例えば、前記一致ブロック対応関係にある左画像の矩形領域(n)の左上座標値を(xL,y)とし、右画像の矩形領域(n)の左上座標値を(xR,y)とする。図4に示すように、奥行き量計算部30は、下記の式(2)によって奥行き量を求める。
奥行き量=xR−xL ・・・(2)
次に、奥行き量計算部30は、前記求めた奥行き量を、左画像において、注目していた矩形領域(n)に含まれた全ての画素、すなわちn×n個の各画素に割り当てる。
そして、奥行き量計算部30は、左画像上のすべての矩形領域(n)の左上座標値について奥行き量を求めることによって、左画像上のすべての画素に奥行き量が割り当てられる。それから、奥行き量計算部30は、左画像における各画素に割り当てられた奥行き量(以下、「各画素の奥行き量」と称する場合がある)を内挿ベクトル計算部50に送信する。
なお、上の例では、矩形領域(n)および矩形領域(m)は、正方形であるが、それに限らず、長方形であってもよい。さらに、矩形領域(m)のサイズについては、矩形領域(n)と同じサイズであってもよい。
<内挿ベクトル計算>
次に、新視点位置取得部40は、生成する新視点画像の新視点位置を取得する(S104)。前記新視点位置を表す値は、図5に基づいて説明する。図5は、視点位置を表す値を示す図である。
図5に示すように、左画像の視点位置に相当する新視点位置を0.0とし、右画像の視点位置に相当する新視点位置を1.0とする。また、他の新視点位置は、前記左画像および右画像の視点位置に対する相対値によって表される。
例えば、図5に示すように、左画像および右画像の中間の位置から見た新視点画像を作成したい場合には、新視点位置を0.5と設定し、右画像よりさらに右側から見た画像を作成したい場合には、新視点位置を1.5と設定する。さらに、左画像よりさらに左側から見た画像を作成したい場合には、新視点位置を−0.5と設定する。
そして、新視点位置取得部40は、取得した新視点位置を内挿ベクトル計算部50に送信する。
次に、内挿ベクトル計算部50は、奥行き量検索部30から取得された各画素の奥行き量と、新視点位置取得部40から取得された新視点位置とから、左画像の各画素の内挿ベクトルを求める(S105)。具体的には、内挿ベクトル計算部50は、下記の式(3)に基づいて、各画素の内挿ベクトルを求める。
(内挿ベクトル)=(奥行き量)×(新視点位置) ・・・(3)
そして、内挿ベクトル計算部50は、前記式(3)によって求めた各画素の内挿ベクトルを新視点画像生成部60に送信する。
<新視点画像生成>
次に、新視点画像生成部60は、画像取得部10から左画像を取得する。また、新視点画像生成部60は、内挿ベクトル計算部50から、左画像における各画素の内挿ベクトルを取得する。
続いて、新視点画像生成部60は、前記新視点位置から見た場合の新視点画像を生成する(S106)。具体的には、例えば、左画像の注目する1画素を(x,y)とし、その注目する1画素における内挿ベクトルをVとする。新視点画像生成部60は、前記注目する1画素(x,y)を(x+V,y)の位置に移動させる。そして、新視点画像生成部60は、前記と同じように、左画像におけるすべて画素について、上記の移動を行わせる。よって、新視点位置から見た場合の新視点画像が生成される。生成された新視点画像については、図6に基づいて説明する。
図6は、左画像における画素を移動させることで、新視点画像を生成し、平滑化を行うことで、仮想視点画像を生成する場合の画像の変化を示す図である。図6の(a)は、入力視差画像としての左画像を示す図である。図6の(b)は、左画像における画素を移動させることによって生成された新視点画像を示す図であり、例えば、図5に示す−0.5の新視点位置から上記左画像を見た場合の新視点画像を示している。また、図6の(c)は、仮想視点画像を生成するために、後述の平滑化処理を実行する対象領域を示す図である。
図6に示すように、図6の(a)に示す左画像における各画素を内挿ベクトルによって移動させた後、図6の(b)に示す新視点画像が生成される。
そして、新視点画像生成部60は、画素の移動と同時に、内挿ベクトルについても、元の画素から移動後の画素へ値を移しておく。つまり、移動後の画素と内挿ベクトルとが対応付けられて記憶される。この内挿ベクトルは、後述の境界平滑部70による平滑化処理で必要になる。
それから、新視点画像生成部60は、生成された新視点画像、および、各画素の内挿ベクトルを境界平滑部70に送信する。
なお、左画像における画素を移動させる際、複数の画素が同じ座標位置へ移動することが発生する場合がある。その場合には、それぞれの元の画素における奥行き量を参照して、移動することが好ましい。具体的には、奥行き量が最も小さい画素の移動を優先して行う。これは、奥行き量が小さいほど、その奥行き量に対応する画素がより手前にあることを表しており、異なる奥行き量に対応する複数の画素が重なったときは、奥の画素は手前の画素に隠されるべきであるためである。
ここで、内挿ベクトルを参照するのではなく、それ以前に求めた奥行き量を確認する必要がある。それは、内挿ベクトルは奥行き量に加えて視点位置も加わった値であるため、奥行き量と視点位置との正負関係が逆になる場合には、内挿ベクトルの大小と奥行き量の関係が逆転してしまうからである。
例えば、
(A)手前の物体の奥行き量=20
(B)奥の背景の奥行き量=100
とし、新視点位置が左画像より左側の−1.5とすると、
(A’)手前の物体の内挿ベクトル=−30(=20×−1.5)
(B’)奥の背景の内挿ベクトル=−150(=100×−1.5)
となる。
この場合、奥行き量の大小関係と、内挿ベクトルの大小関係とは逆になっていることがわかる。
次に、奥行き量が小さいほど、その奥行き量に対応する画素がより手前にある理由について説明する。
その前に、まず、画面に対して立体像が結像する位置について説明する。立体像が結像する位置は、同じ物体が左画像上と右画像上とで、どの位置に表示されているかによって決まる。例えば、
(A)左画像上の位置に比べて右画像上の位置が右側にある場合には、画面より奥側に結像される。
(B)左画像上の位置と右画像上の位置とが同じ場合には、画面の位置に結像される。
(C)左画像上の位置に比べて右画像上の位置が左側にある場合には、画面より手前側に結像される。すなわち、画面から飛び出して見える。
本実施形態では、一致ブロック探索をした後、上記式(2)によって、奥行き量を計算している。すなわち、奥行き量=(右画像上の位置)−(左画像上の位置)と計算して奥行き量を算出する。
したがって、上記(A)の場合、上記式(2)を用いて奥行き量を計算すると、奥行き量は正の値になり、奥行き量が大きいほど、より奥側に結像される。上記(C)の場合、上記式(2)を用いて奥行き量を計算すると、奥行き量は負の値になり、奥行き量が小さいほど、飛び出し量が大きくなり、より手前側に結像される。このように、本実施形態では、奥側の奥行き量は大きく、手前側の奥行き量は小さくなっている。
なお、これは右画像上の位置から左画像上の位置を引く計算をしたからであって、逆方向に引き算をすることに決めれば奥行き量の前後関係は逆転する。
この引き算の方向をどちらにするかは特に限定されず、プログラムや回路の設計仕様などによって決めればよい。
<平滑化>
次に、境界平滑部70は、所定の領域における内挿ベクトルの差が大きい場合に、当該領域に対して平滑化処理を実行する(S107)。
具体的には、境界平滑部70は、新視点画像生成部60によって生成された新視点画像に対して、ある注目画素(1画素)を中心とする一定領域(例えば、5×5画素の矩形領域)内の各画素における内挿ベクトルを参照する。
そして、境界平滑部70は、前記領域における内挿ベクトルのばらつきが基準量を上回る場合、例えば、内挿ベクトルの最小値と最大値との差の絶対値が、あらかじめ決めておいた閾値以上の場合は、前記領域における画素値を平滑化した値(例えば、5×5画素の矩形領域内における各画素の平均値)を求め、その値を上記注目画素(1画素)の新しい画素値とする。これらの処理を前記新視点画像のすべての画素について行って、前記新視点画像の変更すべき画素の値を新しい画素値に変更して、仮想視点画像を生成する。
なお、ここで、注目画素を1画素として説明したが、注目画素は1画素に限定されず、複数の画素の集合である注目ブロックであってもよい。よって、特に画像のサイズが大きい(画素の数が多い)場合には、処理速度を向上することができるなどの効果を奏する。
また、平滑化処理については、特に限定されず、例えば一般的なローパスフィルタを用いることができる。このような細かい模様をある程度ぼかす平滑化処理には、新視点画像において、物体の輪郭を背景と融合させ、物体の一部分が欠けたり、物体の輪郭の周囲に余計な絵柄がついたりする症状がより目立たなくなり、画質の悪化を軽減する効果がある。
その結果、図6の(c)に示すように、画像における物体の輪郭付近で内挿ベクトルの差が大きい部分がぼかされ、画質の悪化を軽減することができる。
〔変形例(1)〕
上記では、仮想視点画像生成装置1が所定の領域における内挿ベクトルの差が大きい場合には、当該領域に対して平滑化処理を実行する例を説明した。前にも説明したように、内挿ベクトルの差が大きくなるほど、画質の悪化がより目立ってくる。そこで、仮想視点画像生成装置1は、所定の領域における内挿ベクトルの差の絶対値に比例して平滑化の強さを変化させてもよい。つまり、仮想視点画像生成装置1が備えている境界平滑化部70は、所定の領域における内挿ベクトルの最小値と最大値との差の絶対値に基づいて、前記領域について平滑化する強さを調整する。
上記の構成によれば、画質の悪化の目立つ程度に応じて平滑化する強さを変えることができる。すなわち、画質の悪化が発生した場合、画質の悪化が発生した領域を一律に平滑化せず、領域内の画質の悪化の目立つ程度に応じて、領域内の部分ごとに平滑化の強さを変更することができる。よって、画像の鮮明さを最大限に保つとともに画質の悪化を軽減することができるという効果を奏する。
また、上記では、仮想視点画像生成装置1は、入力視差画像として左画像および右画像を利用する例について説明したが、入力視差画像は、左画像および右画像に限定されず、2枚以上の複数の視点位置から見た画像であればよい。
〔実施形態2〕
仮想視点画像生成装置1と、立体視するための専用メガネの左右目の位置を2つの新視点位置として検出する新視点位置検出部とを備え、仮想視点画像生成装置1によって、上記新視点位置検出部によって検出された2つの新視点位置に対応する2つの仮想視点画像を生成し、上記仮想視点画像生成装置1によって生成された2つの仮想視点画像を表示するメガネ式立体表示装置2についても、本発明の技術的範囲に含まれる。
以下では、メガネ式立体表示装置2の一例を図7に基づいて説明する。図7は、メガネ式立体表示装置2の一例を示す図であり、メガネ式立体表示装置2を上から見たときに、視聴者が2つの異なる視点位置で、専用メガネをかけて視聴する様子を示す。
現在の3Dテレビにおいて、テレビ画面に向かってどこから見ても左画像と右画像とは変わらない。
これに対して、本実施形態に係るメガネ式立体表示装置2は、図7に示すように、専用メガネまたは視聴者の目の位置を検出して、そのメガネまたは目の位置(新視点位置)に応じて、それぞれ左目用仮想視点画像および右目用仮想視点画像を仮想視点画像生成装置1によって生成して表示する。よって、視聴者が頭を動かしたときでも、頭の位置(新視点位置)に応じた立体映像を視聴者に提供することができるという効果を奏する。
なお、上記では、本実施形態のメガネ式立体表示装置2は、市販されている3D対応テレビなどに付属している従来の専用メガネまたは視聴者の目の位置を検出することについて説明したが、検出の精度を良くしようとすれば、上記従来の専用メガネに、検出するための印をつけることが好ましい。そうすることによって、検出精度を向上させるとともに、複雑な検出方法がいらず、容易に検出することができるという効果を奏する。
また、上記の説明では、専用メガネまたは視聴者の目の位置を検出するのは、メガネ式立体表示装置2であるが、それに限定されず、例えば、専用メガネが自分の位置を新視点位置として検出して、メガネ式立体表示装置2に送信してもよい。上記のような専用メガネも、本発明の技術的範囲に含まれる。
〔実施形態3〕
仮想視点画像生成装置1を備え、上記仮想視点画像生成装置1によって、予め決められた複数の新視点位置に対応する複数の仮想視点画像を生成し、上記仮想視点画像生成装置1によって生成された仮想視点画像を、それぞれの視点位置に対応する方向に対して表示することによって、多視点裸眼立体表示を行う多視点裸眼立体表示装置3についても、本発明の技術的範囲に含まれる。
以下では、多視点裸眼立体表示装置3の一例を図8に基づいて説明する。図8は、多視点裸眼立体表示装置3の一例を示す図であり、多視点裸眼立体表示装置3を上から見たときに、9つの異なる視点位置における9つの仮想視点画像が表示されている様子を示す。
具体的には、図8に示すように、多視点裸眼立体表示装置3からは、異なった9つの方向(視点位置)に、それぞれ視点位置が異なった仮想視点画像を出力できるようになっており、それぞれの視点位置に応じて、仮想視点画像生成装置1で作成した仮想視点画像を出力する。視聴者は上記9つの仮想視点画像のうち、1つを左目で受け、他の1つを右目で受ける。左右の目で受けた画像は、適切に視点位置のずれを考慮して作成された画像であるため、視聴者にとって、両眼視差により映像が立体に感じられるという効果を奏する。
なお、上記予め決められた複数の新視点位置については、出荷時に記憶部に記憶されておいてもよいし、ユーザによって事前に入力されてもよい。
〔変形例(2)〕
仮想視点画像生成装置1を備え、入力視差画像から、仮想視点画像を生成して、上記仮想視点画像を用いて、立体表示を行う立体表示装置についても、本発明の技術的範囲に含まれる。
また、上記立体表示装置が仮想視点画像生成装置1を備えることは、上記仮想視点画像生成装置1が上記立体表示装置に内蔵されることによって実現されてもよいし、上記立体表示装置が上記仮想視点画像生成装置1と別体になって、有線または無線の通信手段によって、上記仮想視点画像生成装置1と接続されることによって実現されてもよい。
〔補足〕
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、仮想視点画像生成装置1の各ブロック、特に一致ブロック探索部20、奥行き量計算部30、内挿ベクトル計算部50、新視点画像生成部60、境界平滑部70は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、仮想視点画像生成装置1は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM、上記プログラムを展開するRAM、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである仮想視点画像生成装置1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記仮想視点画像生成装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、仮想視点画像生成装置1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。