立体画像生成装置及び方法
【課題】陰面の影響がより少ない視差画像を生成すること。
【解決手段】上記課題を解決するために、実施態様の立体画像生成装置は、少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成するために、視点制御部と、生成部とを備える。視点制御部は、前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正して出力し、生成部は、前記視点制御部から出力制御された視点の組に対応する視点の視差画像を、前記画像から生成する。
【解決手段】上記課題を解決するために、実施態様の立体画像生成装置は、少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成するために、視点制御部と、生成部とを備える。視点制御部は、前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正して出力し、生成部は、前記視点制御部から出力制御された視点の組に対応する視点の視差画像を、前記画像から生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、視差画像生成装置及び方法に関する。
【背景技術】
【0002】
近年、民生用の立体表示デバイスの開発が活発化している一方で、多くの映像は2次元画像である。そこで、2次元画像から立体画像を生成する方法が提案されている。立体画像を生成するために、元の画像に含まれない視点の画像を生成する必要が生じる場合がある。その場合、原画像では物体の陰になって見えない部分(以下、陰面領域と記載)には、画素を補間する等する必要がある。
【0003】
そこで、陰面領域の画素値を補間する方法が提案されている。2次元画像から3次元画像を生成する際に生じる陰面領域の画素値を、陰面領域に隣接する部分画像の端部の画素に対応する画素値に基づいて生成する技術がある。上記した従来技術では、視差画像における陰面領域の画素値を補間する際、陰面領域が奥側の領域であるにも関わらず、手前側の物体を表す画素値を補間してしまう場合があった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−295859号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、陰面の影響がより少ない視差画像を生成することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、実施態様の立体画像生成装置は、少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成するために、視点制御部と、生成部とを備える。視点制御部は、前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正して出力し、生成部は、前記視点制御部から出力制御された視点の組に対応する視点の視差画像を、前記画像から生成する。
【図面の簡単な説明】
【0007】
【図1】第1の実施形態の立体画像生成装置を示す図。
【図2】画像の画素位置と水平・垂直方向の座標との関係について説明する図。
【図3】視差量と奥行き値の関係を示す概念図。
【図4】視点軸を説明する図。
【図5】縦横に複数台のカメラが並べて撮影された場合の視点軸を示す図。
【図6】入力画像とそれに対応する奥行き情報の一例を表す図。
【図7】線分MNを通る平面における奥行きの分布と視点の組を示す図。
【図8】入力画像から生成した、視差画像の例を示す図。
【図9】立体画像生成装置の動作を示す図。
【図10】算出部が行う詳細な動作の一例を示す図。
【図11】算出部が行う詳細な動作の変更例を示す図。
【図12】視点と陰面面積の関係を示す概念図。
【図13】視点と陰面面積の関係を示す概念図。
【図14】算出部が行う詳細な動作の変更例を示す図。
【図15】第2の実施形態の立体画像生成装置を示す図。
【図16】第3の実施形態の立体画像生成装置を示す図。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について説明する。なお、互いに同様の動作をする構成や処理には共通の符号を付して、重複する説明は省略する。
【0009】
(第1の実施形態)
本実施形態の立体画像生成装置は、少なくとも1枚の入力画像と、入力画像に対応する奥行き情報から、入力画像とは異なる視点の視差画像を生成する。本実施形態の立体画像生成装置が生成する視差画像は、立体表示可能であればいずれの方式のいずれであっても構わない。フィールドシーケンシャル、フレームシーケンシャルのどちらでも構わないが、本実施形態では、フレームシーケンシャル場合について例示する。また、入力画像は、二次元画像だけでなく立体画像であっても構わない。
【0010】
奥行き情報は画像提供者があらかじめ用意しておいた奥行き情報であってもよい。また、入力画像から、何らかの推定手法によって推定された奥行き情報であってもよい。
【0011】
さらに、奥行き情報は、そのダイナミックレンジを圧縮・伸長などの加工が施されたものであってもよい。入力画像と奥行き情報が供給される方法は、種々の方法であって構わない。例えば、チューナーを介して、または光ディスクに記憶された情報の読み込みによって、少なくとも1枚の入力画像と、入力画像に対応する奥行き情報を取得する方法がある。また、外部から2次元画像や、視差のある立体画像が供給され、立体画像生成装置に入力される前段において奥行き値を推定する方法であっても構わない。
【0012】
図1は、本実施形態の立体画像生成装置を示す図である。立体画像生成装置は、算出部101、選択部102および視差画像生成部103を備える。立体画像生成装置は、入力画像に対応する奥行き情報から、入力画像とは異なる視点の視差画像を生成する。互いに視差のある視差画像を表示することで視聴者は立体画像として知覚することが出来る。
【0013】
算出部101は、奥行き情報(だけ)を使って複数の候補視点の組毎に、視差画像を作成した場合に生じる陰面領域が大きくなる程、大きな値となる評価値を算出する。算出した評価値は、組合せの情報と対応させて選択部102に送られる。なお、算出部101は実際に視差画像を作成する必要はなく、仮定した視点の組で生じる陰面領域の面積が試算できればよい。本実施形態では、陰面面積の大きさは陰面領域に属する画素数の合計を示す。1つの組に含まれる視点の数は2以上であればいくつであっても構わない。候補視点とは、画像を撮像する位置を予め仮想的に定めたものを示す。
【0014】
選択部102は、算出部101が組毎に算出した評価値に基づいて、1つの候補視点の組を選択する。選択方法は、評価値が最小の候補視点の組を選択するのが好ましい。複数の候補視点のなかで、視差画像を作成した場合に生じる陰影面積が最小になるようなものを視差画像生成の視点として選択することとなる。
【0015】
視差画像生成部103は、選択部102において選択された視点の組に対応する視点の視差画像を生成する。
【0016】
以降、入力画像が撮影された仮想的な視点を第1の視点と呼ぶ。なお、入力画像が複数の視点から撮像された複数の画像を有する場合など、第1の視点に複数の視点が含まれる場合もある。また、選択部102が選択した視点の組に含まれる視点を第2の視点の組と呼ぶ。視差画像生成部103は、第2の視点の位置から撮影された仮想的な画像を生成する。
【0017】
図2は、画像(入力画像、視差画像を含む)の画素位置と水平・垂直方向の座標との関係について説明する図である。画像の画素位置を灰色の丸で表示し、また水平方向、垂直方向の軸を記載したものである。このように、各画素位置は、水平・垂直方向座標の整数位置にとるものとする。以降、特に断らない限り、ベクトルは画像の左上端(0,0)を起点とする。
【0018】
図3は、視差量と奥行き値の関係を示す概念図である。x軸は、画面の水平方向に沿う軸である。z軸は、奥行き方向に沿う軸である。奥行きの大きさが大きくなる程、撮像位置から奥まった位置となる。z=0は、表示面の仮想的な位置を示す。直線DEは、表示面上にある。点Bは、第1の視点を示す。点Cは、第2の視点を示す。図3では、視聴する位置は、画面に対して平行に視聴していると仮定しているため、直線DEと直線BCは平行である。点BC間の距離をbとする。対象物は、奥行きZaの点Aに配置されている。ここで、奥行きZaは奥行き方向を正とするベクトルである。点Dは、対象物が入力画像上に表示される位置を示している。点Dの画面上での画素位置をベクトルiで表わす。点Eは、対象物が生成される視差画像上に表示されている場合の位置を示している。つまり、線分DEの長さが視差量である。
【0019】
図3(a)は、画面よりも奥側の対象物を表示する際の奥行き値と視差量の関係を示す図である。また、図3(b)は、画面よりも手前側の対象物を表示する際の奥行き値と視差量の関係を示す図である。図3(a)と、(b)とでは、点Dと点Eのx軸上での位置関係が逆転している。点Dと点Eの位置関係を反映するため、点Dを始点とし、点Eを終点とする視差ベクトルd(i)を定義する。視差ベクトルの要素値は、x軸に従う。図3の様に視差ベクトルを定義すれば、画素位置iの視差量はベクトルd(i)で表わされる。
【0020】
いま、視聴者から画面に向かうベクトルをZsとすれば、三角形ABCと三角形ADEが相似関係にあるため、|Za+Zs|:|Za|=b:|d(i)|が成り立つ。これをd(i)について解くと、図3のようにx軸、z軸を設定するため、以下の式が成り立つ。
【数1】
つまり、画素位置iの奥行きZa(i)から視差ベクトルd(i)は、一意に定まる。よって、以降の説明において、視差ベクトルと記載されている部分は奥行き値と読み替えることが可能である。
【0021】
次に、図4,図5を用いて視点について説明する。
【0022】
図4は、視点軸を説明する図である。図4(a)は、図3と同様の方向から見た画面と視点の関係を示す。点Lは左目の位置、点Rは右目の位置、点Bは入力画像の撮影位置を示している。点L、B、Rを通る図の右方向に正となり、原点を点Bとする視点軸を定義する。
【0023】
また、図4(b)も同様に、図3と同様の方向から見た画面と視点の関係を示す。この場合、点Sと点Tの2つの視点から撮影されたそれぞれの画像が入力されたときの視点軸は、図4(a)と同様に、図の右方向に正とし、撮影した視点の中間、つまり、点Sと点Tの中点を原点とする軸となる。この軸は、図3における直線BCと平行をなす。視点軸上では実空間の距離ではなく、人間の平均的な眼間距離を1に正規化した座標(scale)を用いる。そのように定義すると図4において、点Rは視点軸上で0.5、点Lは-0.5に位置する。以降の説明では、視点を視点軸上の座標で表すことにする。このようにすれば、式(1)を視点(scale)に応じた関数として式(2)の様に書くことができる。
【数2】
【0024】
このようにすれば、たとえば視点0.5から見た画像の画素位置iにおける画素値I(i,0.5)は、式(3)のように表せる。
【数3】
【0025】
また、入力画像が1視点による映像である場合について例示したが、2以上の視差画像が提供された場合でも同様に視点軸を設定することが出来る。左目用の画像は視点軸上では-0.5、右目用の画像は0.5から撮影されたと想定した視点軸を設定することができる。また、図5のように縦横に複数台のカメラが並べて撮影された画像が入力された場合においても、図5のv軸,h軸のように視点軸を定めることも可能である。
【0026】
陰面領域に属する画素数と視点との関係について、図6〜図9を用いて説明する。
【0027】
図6は入力画像とそれに対応する奥行き情報の一例を表す図である。奥行き情報は、黒ければ黒いほど視聴者側に近い位置を示す。
【0028】
図7は、図6の入力画像上に仮定した線分MNを通る平面における奥行きの分布と視点の組を示す図である。太線で示した線は、奥行き値を表している。(L、R)、(L’、R’)の2つの視点の組を仮定する。L、L'は左目の視点、R、R'は右目の視点を表している。LとRとの間の距離、及びL’とR’との間の距離は、それぞれ平均的な眼間距離であることが好ましい。視点の組(L,R)から見た場合の視差画像を生成すると、視点Rから見た場合において図7中に示したように幾何的に陰面領域701が発生する。陰面領域とは、ある視点からは別の物体や面の陰になって入力画像では見えない部分にある領域を示す。
【0029】
図8(a)は、図6の入力画像から生成した、視点L、Rにおける視差画像を示す図である。陰面領域701を含む視差画像が生成される。入力画像には、陰面領域の情報が含まれないために、何らかの方法で推定した画素値を補間する必要がある。しかしながら、陰面領域の画素値を正しく予想することは困難であり、画質劣化が生じる可能性が高い。
【0030】
図8(b)は、図6の入力画像から生成した、視点L’、R’における視差画像を示す図である。図7の例の場合、視点の組(L’、R’)から見た場合の視差画像を生成すると、陰面領域が発生しない。したがって、図8(b)に示すように陰面領域を含まずに視差画像を生成することが可能になる。つまり、入力された奥行き情報に応じて、適応的に視点の組を変更することによって、陰面領域に属する画素数の合計が変化することがわかる。
【0031】
図9は、立体画像生成装置の動作を説明する図である。
【0032】
算出部101が、候補となる視点の組を、視点軸に従って設定する(S901)。たとえば、左目用の視差画像と右目用の視差画像を生成するときは、各組が2視点から成る。集合Ωは、候補となる視点の組を示す。なお、あらかじめ候補となる視点の組を定めておいても良い。集合Ωを以下の場合で設定した例について説明する。
Ω={ (-0.5, 0.5), (-1.0, 0.0), (0.0, 1.0)}
3つの視点の組を候補とする例を述べたが、複数であれば任意の数でよい。なお、候補の数が多くなるほど演算量が必要になる。そのため、許容される演算量に応じて候補の数を設定するのが好ましい。また、視点の組の要素の1つに入力画像が撮影された視点と同じ視点を含めることで、後段の視差画像生成においての演算量を削減することが可能である。例えば、前述の例の(-1.0, 0.0),(0.0, 1.0)は、入力画像が撮影された視点と同じ視点を含む。
【0033】
算出部101が、集合Ωのそれぞれの視点の組ωに対して評価値E(ω)を算出する(S902)。評価値E(ω)は、先に述べたように陰面領域に属する画素数が大きくなればなるほど大きくなるような値を用いる。評価値E(ω)の算出方法は、様々な方法が考えられる。1つは、前に述べた視差ベクトルを利用して、視差ベクトルの指し示す位置に入力画素値を割り当て、画素値が割り当てられない画素数を算出すればよい。具体的な算出方法は、図10を用いて後述する。
【0034】
算出部101は、S901で設定した視点の組全ての評価値を算出したか判定し(S903)、算出していない場合(S903,No)、S902に戻り評価値を算出していない視点の組の評価値E(ω)を算出する。S901で設定した視点の組全ての評価値を算出した場合(S903,Yes)、S904に進む。
【0035】
選択部102は、S902で算出した評価値に基づいて視差画像の生成に使用する視点の組を選択する(S904)。評価値が最小の視点の組を選択するのが好ましい。
【0036】
視差画像生成部103は、S904で選択された視点の組に対応する視差画像を生成する。例えば、S904で選択された視点の組が(0.0, 1.0)の場合には、視点1.0に対応する視差画像を生成する(S905)。なお、視点0.0に対応する画像は入力画像なので改めてS905で生成する必要はない。
【0037】
S905で生成した視差画像を出力し、1つの入力画像に対する処理を終了する。
【0038】
図10は、算出部101が行うS902の詳細な動作の一例を示す図である。
【0039】
算出部101は、E(ω)を0に初期化する(S9021)。入力された奥行き情報を用いて、処理対象の視点の組ωのうちのある視点ωjの画像内の各画素が陰面領域であるか否かを表すマップ関数Map(i,ωj)を作成する。視点ωjに対応する画像上の画素i∈Pに対して、Map(i,ωj)=OCCLUDEを初期値として設定する(S9022)。ここで、Pは入力画像のすべての画素を示す。OCCLUDEとは、左辺で示される画素が陰面領域に属することを意味する。
【0040】
次に、画素i∈Pに対して、奥行き情報を変換した視差ベクトルd(i,ωj)分シフトさせた位置の値をMap(i+d(i,ωj),ωj)=NOT_OCCLUDEと書き換える(S9023)。ここで、NOT_OCCLUDEとは、左辺で示される画素が陰面領域に属しないことを意味する。
【0041】
そして、全てのωの要素ωjについてステップS9022〜S9023の処理が終了したか否かを判定する(S9024)。全てのωの要素ωjについてS9022〜S9023の処理が終了していない場合(S9024,NO)は、ステップS9022に遷移する。
【0042】
全てのωの要素ωjについてS9022〜S9023の処理が終了した場合(S9024,YES)、Map(i,ωj)のすべての画素i∈Pに対して、Map(i,ωj)=OCCLUDEであるか否かを判定する(S9025)。Map(i,ωj)=OCCLUDEの場合(S9025,Yes)、E(ω)に当該画素の数を加算する(S9026)。すなわち、マップ関数Map(i,ωj)の全ての画素i∈Pの中で、Map(i,ωj)=OCCLUDEである画素の数をE(ω)に加算する。Map(i,ωj)=OCCLUDEでない場合(Map(i,ωj)=NOT_OCCLUDEの場合)は(S9025,NO)、ステップS9026の処理は行わず、ステップS9027遷移する。
【0043】
これにより、視差画像I(i,ωj)において、視差ベクトルによって画素値が割り当てられない、つまり陰面領域に属する画素数を示す評価値E(ω)が得られる。
【0044】
ステップS9027では、全ての画素iについてステップS9025〜S9026の処理が終了したか否かを判定する(S9027)。全ての画素iについてステップS9025〜S9026の処理が終了していない場合(S9027,NO)は、ステップS9025に遷移する。
【0045】
全ての画素iについてステップS9025〜S9026の処理が終了した場合(S9027,YES)は、全てのωの要素ωjについてステップS9025〜S9026の処理が終了したか否かを判定する(S9028)。全てのωの要素ωjについてS9025〜S9026の処理が終了していない場合(S9028,NO)は、ステップS9025に遷移する。
【0046】
全てのωの要素ωjについてS9025〜S9026の処理が終了した場合(S9028,YES)、ステップS902の処理を終了する。
【0047】
(変更例1)
図11は、算出部101が行う評価値の算出方法の別の例について述べる図である。図10の処理においては、陰面領域画素数を単純に算出していた。陰面領域画素の周辺に画素値が割り当てられている場合は、内挿補間が行える。そのため陰面領域の画素が大きな画質劣化を引き起こさない場合がある。逆に、陰面領域画素が集中した場合は内挿補間などの手段がとれないために、陰面領域の画素値の推定が困難となる。この困難さを考慮した評価値の算出方法を図11に示す。図10のS9025〜S9028のステップをS1101〜S1108に置き換えて算出部101が処理すればよい。
【0048】
まず、内部変数weightを0に初期化する(S1101)。Map(i,ωj)のすべての画素i∈Pに対して、Map(i,ωj)=OCCLUDEであるか否かを判定する(S1102)。画素i∈Pに対して、Map(i,ωj)がOCCLUDEのとき(S1102,Yes)、weightをインクリメントし、次に、E(ω)にweightを足しこむ(S1103)。また、Map(i,ωj)がOCCLUDEではないとき(S1102,NO)、weightを0にする(S1104)。このとき、画素iの選ばれる順番はラスタスキャン走査順に従う。つまり、この操作は、S1102において、ラスタスキャン走査順で選択された各画素が連続して、陰面領域に属すると判定されればされるほど、weightの値が大きくなり、S1103におけるE(ω)の増加量が大きくなる。
【0049】
そして、全ての画素iについてステップS1102〜S1104の処理が終了したか否かを判定する(S1105)。全ての画素iについてステップS1102〜S1104の処理が終了していない場合(S1105,NO)は、ステップS1102に遷移する。全ての画素iについてステップS1102〜S1104の処理が終了した場合(S1105,YES)は、全てのωの要素ωjについてステップS1102〜S1104の処理が終了したか否かを判定する(S1106)。全てのωの要素ωjについてS1102〜S1104の処理が終了していない場合(S1106,NO)は、ステップS1102に遷移する。
【0050】
全てのωの要素ωjについてS1102〜S1104の処理が終了した場合(S1106,YES)は、処理を終了する。
【0051】
なお、ここでは、ラスタスキャン順を挙げたが、その他にヒルベルト走査など画像内の領域を一筆書きで走査する順番に変更してもよい。さらに、S1103におけるE(ω)+=weightの代わりに、E(ω)+=2^weightのようにして、陰面領域が連続すればするほどより評価値が大きくなるようにしてもよい。
【0052】
また、陰面領域は画面の中央付近に出現すると、主観的に画質劣化が目立ちやすい。このことを考慮すると、図11のS1103におけるE(ω)++の代わりに、E(ω)+=exp(-(Norm(i-c)))として、画素位置iが画面中央に近ければ近いほど評価値を大きくすることも可能である。ここで、cは画面の中央位置を表すベクトルである。また、Norm()は、ベクトルのノルム値を表す関数であり、一般的なL1ノルムやL2ノルムを使用する。同様に、図11のS1103におけるE(ω)+=weightの代わりにE(ω)+=weight*exp(-Norm((i-c)))のようにして、同様の効果を持たせてもよい。
【0053】
(変更例2)
また、視点の組は時間的に不連続であると、それによる映像の時間的つながりがなくなるために、主観的に大きな画質劣化につながる。そこで、時間的に1フレーム前において視差画像を作成した場合の視点の組ωt-1となるべく近い視点の組が後述する選択部102において選択されるようにするような評価値E(ω)の導出法も考えられる。具体的には、図10のS9026におけるE(ω)++の代わりに、E(ω)+=(1-exp(-(Norm(ω-ωt-1))))として、視点の組ωが前フレーム作成時に選択された視点の組ωt-1に近ければ近いほど評価値を小さくすることも可能である。Norm()は、先に述べたように、一般的なL1ノルムやL2ノルムを使用する。同様に、図11のS1103におけるE(ω)+=weightの代わりにE(ω)+=weight*(1-exp(-(Norm(ω-ωt-1))))のようにして、同様の効果を持たせてもよい。
【0054】
陰面領域の大きさは、与えられた奥行き情報において、隣接画素の奥行き値の1次微分から求められることが幾何的な関係からわかる。以下では、そのことを説明する。
【0055】
図12は、図3などと同様に、鉛直方向から見た場合の図を表している。点Aは、視点軸上でαの位置にある視点とする。つまり線分AEの長さは、眼間距離をbとすればbαとなる。点Cおよび点Dは画素位置を表していて、この場合点C及び点Dは隣接している画素とする。また、奥行き値が従う座標z軸の原点に画面を配置する。ここで、z軸の負の値は、−Zs以下にはならないことを仮定する。これは、視聴者の位置よりも飛び出してくることはないためである。このz軸に従って、点Cの奥行き値z(C)、点Dの奥行き値z(D)で表わす。視点軸の原点は点Eである。太線は、与えられた奥行き値を表している。この場合、線分BCの長さが陰面領域の大きさになることがわかる。この線分BCの長さは、△AEFと△BCFの相似関係を用いると、
【数4】
のように書ける。ただし、αは0以上の場合である。なぜなら、図で示すようにz(C)とz(D)の勾配z(C)-z(D)が負のときの陰面領域は、α>1のとき発生するためである。
【0056】
図13は、視点と陰面面積の関係を示す別の概念図である。図12を左右反転した場合の図を示す。ただし、点Cと点Dの位置関係を図12と同じにするために、点Cと点Dの位置は入れ替えている。つまり、奥行き値の勾配z(C)-z(D)>0となる場合を示す。この場合、先ほどと同様に幾何的な関係を用いれば、線分BDの長さは、
【数5】
のように書ける。ただし、α<0となる。これらの関係をまとめると、陰面領域の大きさを表す線分の長さL(α,i,j)は
【数6】
と書ける。画素位置i,jは隣接した画素である。
【0057】
図14は、Lを用いた際の評価値E(ω)の算出方法を説明する図である。図14のステップS501〜ステップS503に示すように、算出部101は、集合Ωの要素ωに含まれる視点すべてに対し、及びすべての画素i∈Pに対し、
【数7】
によって評価値を算出することもできる。その場合、ただし、jはラスタスキャン順にiを走査していった場合の次の位置の画素位置を示す。また、数7は、陰面領域の大きさが大きくなればなるほど評価値E(ω)が大きくなるように、
【数8】
のようにしてもよい。ただし、Pow(x,y) はxのy乗の値を返す関数である。さらに、画面の中央にある陰面領域であればあるほど、評価値E(ω)が大きくなるように、画面の中心位置を示す位置ベクトルcを用いて
【数9】
のようにしてもよい。また、選ばれる視点の組が時間的に大きな変化を起こさないように
【数10】
などの式を用いてもよい。
【0058】
選択部102は、算出部101において定義された集合Ωの要素それぞれの評価値E(ω)を入力とし、ひとつの視点の組ω_selを決定する。ω_selは、
【数11】
のように、集合Ωのそれぞれの視点において評価値E(ω)が最小になる視点の組とする。または、所定の閾値Thに対してE(ω)<Thとなる視点の組の中から、ωt-1にもっとも近いωをω_selとする。ここで、所定の閾値Thとは、画面全体の画素数に対して陰面領域に属する画素数が0.1%となるように定めることが好ましい。
【0059】
視差画像生成部103は、奥行き情報と入力画像と選択部102において、決定された視点の組ω_selを取得し、視点の組に応じた視差ベクトルに従って視差画像を生成して出力する。この際、評価値が0でない限り陰面領域が発生する。発生した陰面領域に対して画素値を与える方法は、既存の如何なる方法であっても構わない。
【0060】
第1の実施形態によれば、あらかじめ設定した複数の第2の視点の組から視差画像を生成した場合に現れる陰面領域の画素数が大きくなればなるほど大きくなる評価値を算出し、評価値が最小になる第2の視点の組を選択し、その第2の視点の組から仮想的に撮影した場合の視差画像を生成することで、陰面領域に属する画素数を低減させることが可能となり、視差画像をより高画質化することが可能となる。
【0061】
また、上記例は2次元の画像1枚が入力された場合であるが、提供者側があらかじめ用意している左目用と右目用の視差画像が入力された場合に対しても、撮影時とは異なる撮影位置からの画像を生成する用途がある。それは、入力された視差画像は、提供者側ですでに定められた視差量によって立体映像を出力せざるを得ない一方で、視聴者側ではより視差量をつけて迫力のある立体映像を視聴したい、または視差量を弱めて立体映像の視聴による疲労を低減させたいなどのニーズに対しての用途である。そのために、入力左右視差画像に対してステレオマッチングなどの手法によって奥行き情報を生成し、奥行きのダイナミックレンジを大きく、または小さくした視差画像を生成することで、上記視聴者のニーズに応えることも可能になる。
【0062】
(第2の実施形態)
第1の実施形態では、あらかじめ設定した複数の第2の視点の組から視差画像を生成した場合に現れる陰面領域の画素数が大きくなればなるほど大きくなる評価値を算出し、評価値が最小になる第2の視点の組を選択していた。その場合、視点が時系列に急激な変化を起こす可能性がある。動画像が入力されている場合において、視点の急激な変化が起こると、立体映像の時間的なつながりがなくなり、視聴者に違和感を与える。本実施形態では、視点の変化を緩やかにすることで、上記問題を解消する。
【0063】
図15は、本実施形態の立体画像生成装置を示す図である。第1の実施形態とは、本実施形態の立体画像生成装置は、視点制御部201をさらに備える点が異なる。
【0064】
視点制御部201は、選択部102が選択した視点の組ω_selを取得し、内部的に保持している過去の視差画像の作成時の視点の組を利用して、補正した視点の組ω_corを視差画像生成部103に送る。補正した視点の組ω_corの導出方法について説明する。
【0065】
nフレーム前に作成した視差画像の視点の組をω(n)で表わすことにする。ここで、ω(0)はω_selとする。ω_corは、次のFIRフィルタによって導出する。
【数12】
ただし、aiは、フィルタ係数であり、上記FIRフィルタがローパスフィルタになる特性をもつ係数を設定する。
【0066】
また、ω_corは、1次遅れを用いて次式によって導出することができる。
ω_cor = h*ω(0)+(1-h)ω(1)
hは時定数を表している。その範囲は、0<h<1である。
【0067】
また、演算量を低減するために、ω_colの視点のうち少なくとも1つは入力画像の撮影位置に固定することも考えられる。
【0068】
このように第2の実施形態では、視点の急激な変化を抑えることで、立体映像の時間的なつながりを持たせ、視聴者に違和感を与えない立体映像生成装置を実現できる。
【0069】
(第3の実施形態)
第2の実施形態では、陰面領域に属する画素数が小さくなる視点の組になるまでは緩やかに変化するため、この遷移の間は陰面領域に属する画素数が必ずしも小さくならない。一方で、シーンチェンジのタイミングにおいては、視差位置を急激に変化させても視聴者に違和感を与えることはない。そこで、本実施形態では、動画のシーンが変化するタイミングにおいては、視差位置の変化を大きくすることで、より適切な視点の組による立体映像生成方法を提供する。
【0070】
図16は、本実施形態の構成を示す図である。図1と比較して、検出部301と視点制御部302を更に有する点が異なる。
【0071】
検出部301は、入力画像内のシーンチェンジを検出する。検出対象のフレームの前においてシーンチェンジの発生を検出した場合にDETECT信号を視点制御部302に送る。また、シーンチェンジの発生を検出しなかった場合に、NONE信号を視点制御部302に送る。
【0072】
視点制御部302は、検出部301からNONE信号を受信した場合は、視差位置制御部201と同様の処理を行う。一方で、DETECT信号を受信した場合は、FIRフィルタの出力ではなく、ω(0)をω_corとする。また、1次遅れ系でω_colを導出する場合、時定数をh1にする。ただし、1>h1>hである。
【0073】
このように第3の実施形態では、動画のシーンが変化するタイミングにおいては、視差位置の変化を大きくすることで、より適切な視点の組による立体映像生成装置を実現できる。 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0074】
101…算出部、102…選択部、103…視差画像生成部、
201、302…視点制御部、
301…検出部
【技術分野】
【0001】
本発明の実施形態は、視差画像生成装置及び方法に関する。
【背景技術】
【0002】
近年、民生用の立体表示デバイスの開発が活発化している一方で、多くの映像は2次元画像である。そこで、2次元画像から立体画像を生成する方法が提案されている。立体画像を生成するために、元の画像に含まれない視点の画像を生成する必要が生じる場合がある。その場合、原画像では物体の陰になって見えない部分(以下、陰面領域と記載)には、画素を補間する等する必要がある。
【0003】
そこで、陰面領域の画素値を補間する方法が提案されている。2次元画像から3次元画像を生成する際に生じる陰面領域の画素値を、陰面領域に隣接する部分画像の端部の画素に対応する画素値に基づいて生成する技術がある。上記した従来技術では、視差画像における陰面領域の画素値を補間する際、陰面領域が奥側の領域であるにも関わらず、手前側の物体を表す画素値を補間してしまう場合があった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−295859号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、陰面の影響がより少ない視差画像を生成することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、実施態様の立体画像生成装置は、少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成するために、視点制御部と、生成部とを備える。視点制御部は、前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正して出力し、生成部は、前記視点制御部から出力制御された視点の組に対応する視点の視差画像を、前記画像から生成する。
【図面の簡単な説明】
【0007】
【図1】第1の実施形態の立体画像生成装置を示す図。
【図2】画像の画素位置と水平・垂直方向の座標との関係について説明する図。
【図3】視差量と奥行き値の関係を示す概念図。
【図4】視点軸を説明する図。
【図5】縦横に複数台のカメラが並べて撮影された場合の視点軸を示す図。
【図6】入力画像とそれに対応する奥行き情報の一例を表す図。
【図7】線分MNを通る平面における奥行きの分布と視点の組を示す図。
【図8】入力画像から生成した、視差画像の例を示す図。
【図9】立体画像生成装置の動作を示す図。
【図10】算出部が行う詳細な動作の一例を示す図。
【図11】算出部が行う詳細な動作の変更例を示す図。
【図12】視点と陰面面積の関係を示す概念図。
【図13】視点と陰面面積の関係を示す概念図。
【図14】算出部が行う詳細な動作の変更例を示す図。
【図15】第2の実施形態の立体画像生成装置を示す図。
【図16】第3の実施形態の立体画像生成装置を示す図。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について説明する。なお、互いに同様の動作をする構成や処理には共通の符号を付して、重複する説明は省略する。
【0009】
(第1の実施形態)
本実施形態の立体画像生成装置は、少なくとも1枚の入力画像と、入力画像に対応する奥行き情報から、入力画像とは異なる視点の視差画像を生成する。本実施形態の立体画像生成装置が生成する視差画像は、立体表示可能であればいずれの方式のいずれであっても構わない。フィールドシーケンシャル、フレームシーケンシャルのどちらでも構わないが、本実施形態では、フレームシーケンシャル場合について例示する。また、入力画像は、二次元画像だけでなく立体画像であっても構わない。
【0010】
奥行き情報は画像提供者があらかじめ用意しておいた奥行き情報であってもよい。また、入力画像から、何らかの推定手法によって推定された奥行き情報であってもよい。
【0011】
さらに、奥行き情報は、そのダイナミックレンジを圧縮・伸長などの加工が施されたものであってもよい。入力画像と奥行き情報が供給される方法は、種々の方法であって構わない。例えば、チューナーを介して、または光ディスクに記憶された情報の読み込みによって、少なくとも1枚の入力画像と、入力画像に対応する奥行き情報を取得する方法がある。また、外部から2次元画像や、視差のある立体画像が供給され、立体画像生成装置に入力される前段において奥行き値を推定する方法であっても構わない。
【0012】
図1は、本実施形態の立体画像生成装置を示す図である。立体画像生成装置は、算出部101、選択部102および視差画像生成部103を備える。立体画像生成装置は、入力画像に対応する奥行き情報から、入力画像とは異なる視点の視差画像を生成する。互いに視差のある視差画像を表示することで視聴者は立体画像として知覚することが出来る。
【0013】
算出部101は、奥行き情報(だけ)を使って複数の候補視点の組毎に、視差画像を作成した場合に生じる陰面領域が大きくなる程、大きな値となる評価値を算出する。算出した評価値は、組合せの情報と対応させて選択部102に送られる。なお、算出部101は実際に視差画像を作成する必要はなく、仮定した視点の組で生じる陰面領域の面積が試算できればよい。本実施形態では、陰面面積の大きさは陰面領域に属する画素数の合計を示す。1つの組に含まれる視点の数は2以上であればいくつであっても構わない。候補視点とは、画像を撮像する位置を予め仮想的に定めたものを示す。
【0014】
選択部102は、算出部101が組毎に算出した評価値に基づいて、1つの候補視点の組を選択する。選択方法は、評価値が最小の候補視点の組を選択するのが好ましい。複数の候補視点のなかで、視差画像を作成した場合に生じる陰影面積が最小になるようなものを視差画像生成の視点として選択することとなる。
【0015】
視差画像生成部103は、選択部102において選択された視点の組に対応する視点の視差画像を生成する。
【0016】
以降、入力画像が撮影された仮想的な視点を第1の視点と呼ぶ。なお、入力画像が複数の視点から撮像された複数の画像を有する場合など、第1の視点に複数の視点が含まれる場合もある。また、選択部102が選択した視点の組に含まれる視点を第2の視点の組と呼ぶ。視差画像生成部103は、第2の視点の位置から撮影された仮想的な画像を生成する。
【0017】
図2は、画像(入力画像、視差画像を含む)の画素位置と水平・垂直方向の座標との関係について説明する図である。画像の画素位置を灰色の丸で表示し、また水平方向、垂直方向の軸を記載したものである。このように、各画素位置は、水平・垂直方向座標の整数位置にとるものとする。以降、特に断らない限り、ベクトルは画像の左上端(0,0)を起点とする。
【0018】
図3は、視差量と奥行き値の関係を示す概念図である。x軸は、画面の水平方向に沿う軸である。z軸は、奥行き方向に沿う軸である。奥行きの大きさが大きくなる程、撮像位置から奥まった位置となる。z=0は、表示面の仮想的な位置を示す。直線DEは、表示面上にある。点Bは、第1の視点を示す。点Cは、第2の視点を示す。図3では、視聴する位置は、画面に対して平行に視聴していると仮定しているため、直線DEと直線BCは平行である。点BC間の距離をbとする。対象物は、奥行きZaの点Aに配置されている。ここで、奥行きZaは奥行き方向を正とするベクトルである。点Dは、対象物が入力画像上に表示される位置を示している。点Dの画面上での画素位置をベクトルiで表わす。点Eは、対象物が生成される視差画像上に表示されている場合の位置を示している。つまり、線分DEの長さが視差量である。
【0019】
図3(a)は、画面よりも奥側の対象物を表示する際の奥行き値と視差量の関係を示す図である。また、図3(b)は、画面よりも手前側の対象物を表示する際の奥行き値と視差量の関係を示す図である。図3(a)と、(b)とでは、点Dと点Eのx軸上での位置関係が逆転している。点Dと点Eの位置関係を反映するため、点Dを始点とし、点Eを終点とする視差ベクトルd(i)を定義する。視差ベクトルの要素値は、x軸に従う。図3の様に視差ベクトルを定義すれば、画素位置iの視差量はベクトルd(i)で表わされる。
【0020】
いま、視聴者から画面に向かうベクトルをZsとすれば、三角形ABCと三角形ADEが相似関係にあるため、|Za+Zs|:|Za|=b:|d(i)|が成り立つ。これをd(i)について解くと、図3のようにx軸、z軸を設定するため、以下の式が成り立つ。
【数1】
つまり、画素位置iの奥行きZa(i)から視差ベクトルd(i)は、一意に定まる。よって、以降の説明において、視差ベクトルと記載されている部分は奥行き値と読み替えることが可能である。
【0021】
次に、図4,図5を用いて視点について説明する。
【0022】
図4は、視点軸を説明する図である。図4(a)は、図3と同様の方向から見た画面と視点の関係を示す。点Lは左目の位置、点Rは右目の位置、点Bは入力画像の撮影位置を示している。点L、B、Rを通る図の右方向に正となり、原点を点Bとする視点軸を定義する。
【0023】
また、図4(b)も同様に、図3と同様の方向から見た画面と視点の関係を示す。この場合、点Sと点Tの2つの視点から撮影されたそれぞれの画像が入力されたときの視点軸は、図4(a)と同様に、図の右方向に正とし、撮影した視点の中間、つまり、点Sと点Tの中点を原点とする軸となる。この軸は、図3における直線BCと平行をなす。視点軸上では実空間の距離ではなく、人間の平均的な眼間距離を1に正規化した座標(scale)を用いる。そのように定義すると図4において、点Rは視点軸上で0.5、点Lは-0.5に位置する。以降の説明では、視点を視点軸上の座標で表すことにする。このようにすれば、式(1)を視点(scale)に応じた関数として式(2)の様に書くことができる。
【数2】
【0024】
このようにすれば、たとえば視点0.5から見た画像の画素位置iにおける画素値I(i,0.5)は、式(3)のように表せる。
【数3】
【0025】
また、入力画像が1視点による映像である場合について例示したが、2以上の視差画像が提供された場合でも同様に視点軸を設定することが出来る。左目用の画像は視点軸上では-0.5、右目用の画像は0.5から撮影されたと想定した視点軸を設定することができる。また、図5のように縦横に複数台のカメラが並べて撮影された画像が入力された場合においても、図5のv軸,h軸のように視点軸を定めることも可能である。
【0026】
陰面領域に属する画素数と視点との関係について、図6〜図9を用いて説明する。
【0027】
図6は入力画像とそれに対応する奥行き情報の一例を表す図である。奥行き情報は、黒ければ黒いほど視聴者側に近い位置を示す。
【0028】
図7は、図6の入力画像上に仮定した線分MNを通る平面における奥行きの分布と視点の組を示す図である。太線で示した線は、奥行き値を表している。(L、R)、(L’、R’)の2つの視点の組を仮定する。L、L'は左目の視点、R、R'は右目の視点を表している。LとRとの間の距離、及びL’とR’との間の距離は、それぞれ平均的な眼間距離であることが好ましい。視点の組(L,R)から見た場合の視差画像を生成すると、視点Rから見た場合において図7中に示したように幾何的に陰面領域701が発生する。陰面領域とは、ある視点からは別の物体や面の陰になって入力画像では見えない部分にある領域を示す。
【0029】
図8(a)は、図6の入力画像から生成した、視点L、Rにおける視差画像を示す図である。陰面領域701を含む視差画像が生成される。入力画像には、陰面領域の情報が含まれないために、何らかの方法で推定した画素値を補間する必要がある。しかしながら、陰面領域の画素値を正しく予想することは困難であり、画質劣化が生じる可能性が高い。
【0030】
図8(b)は、図6の入力画像から生成した、視点L’、R’における視差画像を示す図である。図7の例の場合、視点の組(L’、R’)から見た場合の視差画像を生成すると、陰面領域が発生しない。したがって、図8(b)に示すように陰面領域を含まずに視差画像を生成することが可能になる。つまり、入力された奥行き情報に応じて、適応的に視点の組を変更することによって、陰面領域に属する画素数の合計が変化することがわかる。
【0031】
図9は、立体画像生成装置の動作を説明する図である。
【0032】
算出部101が、候補となる視点の組を、視点軸に従って設定する(S901)。たとえば、左目用の視差画像と右目用の視差画像を生成するときは、各組が2視点から成る。集合Ωは、候補となる視点の組を示す。なお、あらかじめ候補となる視点の組を定めておいても良い。集合Ωを以下の場合で設定した例について説明する。
Ω={ (-0.5, 0.5), (-1.0, 0.0), (0.0, 1.0)}
3つの視点の組を候補とする例を述べたが、複数であれば任意の数でよい。なお、候補の数が多くなるほど演算量が必要になる。そのため、許容される演算量に応じて候補の数を設定するのが好ましい。また、視点の組の要素の1つに入力画像が撮影された視点と同じ視点を含めることで、後段の視差画像生成においての演算量を削減することが可能である。例えば、前述の例の(-1.0, 0.0),(0.0, 1.0)は、入力画像が撮影された視点と同じ視点を含む。
【0033】
算出部101が、集合Ωのそれぞれの視点の組ωに対して評価値E(ω)を算出する(S902)。評価値E(ω)は、先に述べたように陰面領域に属する画素数が大きくなればなるほど大きくなるような値を用いる。評価値E(ω)の算出方法は、様々な方法が考えられる。1つは、前に述べた視差ベクトルを利用して、視差ベクトルの指し示す位置に入力画素値を割り当て、画素値が割り当てられない画素数を算出すればよい。具体的な算出方法は、図10を用いて後述する。
【0034】
算出部101は、S901で設定した視点の組全ての評価値を算出したか判定し(S903)、算出していない場合(S903,No)、S902に戻り評価値を算出していない視点の組の評価値E(ω)を算出する。S901で設定した視点の組全ての評価値を算出した場合(S903,Yes)、S904に進む。
【0035】
選択部102は、S902で算出した評価値に基づいて視差画像の生成に使用する視点の組を選択する(S904)。評価値が最小の視点の組を選択するのが好ましい。
【0036】
視差画像生成部103は、S904で選択された視点の組に対応する視差画像を生成する。例えば、S904で選択された視点の組が(0.0, 1.0)の場合には、視点1.0に対応する視差画像を生成する(S905)。なお、視点0.0に対応する画像は入力画像なので改めてS905で生成する必要はない。
【0037】
S905で生成した視差画像を出力し、1つの入力画像に対する処理を終了する。
【0038】
図10は、算出部101が行うS902の詳細な動作の一例を示す図である。
【0039】
算出部101は、E(ω)を0に初期化する(S9021)。入力された奥行き情報を用いて、処理対象の視点の組ωのうちのある視点ωjの画像内の各画素が陰面領域であるか否かを表すマップ関数Map(i,ωj)を作成する。視点ωjに対応する画像上の画素i∈Pに対して、Map(i,ωj)=OCCLUDEを初期値として設定する(S9022)。ここで、Pは入力画像のすべての画素を示す。OCCLUDEとは、左辺で示される画素が陰面領域に属することを意味する。
【0040】
次に、画素i∈Pに対して、奥行き情報を変換した視差ベクトルd(i,ωj)分シフトさせた位置の値をMap(i+d(i,ωj),ωj)=NOT_OCCLUDEと書き換える(S9023)。ここで、NOT_OCCLUDEとは、左辺で示される画素が陰面領域に属しないことを意味する。
【0041】
そして、全てのωの要素ωjについてステップS9022〜S9023の処理が終了したか否かを判定する(S9024)。全てのωの要素ωjについてS9022〜S9023の処理が終了していない場合(S9024,NO)は、ステップS9022に遷移する。
【0042】
全てのωの要素ωjについてS9022〜S9023の処理が終了した場合(S9024,YES)、Map(i,ωj)のすべての画素i∈Pに対して、Map(i,ωj)=OCCLUDEであるか否かを判定する(S9025)。Map(i,ωj)=OCCLUDEの場合(S9025,Yes)、E(ω)に当該画素の数を加算する(S9026)。すなわち、マップ関数Map(i,ωj)の全ての画素i∈Pの中で、Map(i,ωj)=OCCLUDEである画素の数をE(ω)に加算する。Map(i,ωj)=OCCLUDEでない場合(Map(i,ωj)=NOT_OCCLUDEの場合)は(S9025,NO)、ステップS9026の処理は行わず、ステップS9027遷移する。
【0043】
これにより、視差画像I(i,ωj)において、視差ベクトルによって画素値が割り当てられない、つまり陰面領域に属する画素数を示す評価値E(ω)が得られる。
【0044】
ステップS9027では、全ての画素iについてステップS9025〜S9026の処理が終了したか否かを判定する(S9027)。全ての画素iについてステップS9025〜S9026の処理が終了していない場合(S9027,NO)は、ステップS9025に遷移する。
【0045】
全ての画素iについてステップS9025〜S9026の処理が終了した場合(S9027,YES)は、全てのωの要素ωjについてステップS9025〜S9026の処理が終了したか否かを判定する(S9028)。全てのωの要素ωjについてS9025〜S9026の処理が終了していない場合(S9028,NO)は、ステップS9025に遷移する。
【0046】
全てのωの要素ωjについてS9025〜S9026の処理が終了した場合(S9028,YES)、ステップS902の処理を終了する。
【0047】
(変更例1)
図11は、算出部101が行う評価値の算出方法の別の例について述べる図である。図10の処理においては、陰面領域画素数を単純に算出していた。陰面領域画素の周辺に画素値が割り当てられている場合は、内挿補間が行える。そのため陰面領域の画素が大きな画質劣化を引き起こさない場合がある。逆に、陰面領域画素が集中した場合は内挿補間などの手段がとれないために、陰面領域の画素値の推定が困難となる。この困難さを考慮した評価値の算出方法を図11に示す。図10のS9025〜S9028のステップをS1101〜S1108に置き換えて算出部101が処理すればよい。
【0048】
まず、内部変数weightを0に初期化する(S1101)。Map(i,ωj)のすべての画素i∈Pに対して、Map(i,ωj)=OCCLUDEであるか否かを判定する(S1102)。画素i∈Pに対して、Map(i,ωj)がOCCLUDEのとき(S1102,Yes)、weightをインクリメントし、次に、E(ω)にweightを足しこむ(S1103)。また、Map(i,ωj)がOCCLUDEではないとき(S1102,NO)、weightを0にする(S1104)。このとき、画素iの選ばれる順番はラスタスキャン走査順に従う。つまり、この操作は、S1102において、ラスタスキャン走査順で選択された各画素が連続して、陰面領域に属すると判定されればされるほど、weightの値が大きくなり、S1103におけるE(ω)の増加量が大きくなる。
【0049】
そして、全ての画素iについてステップS1102〜S1104の処理が終了したか否かを判定する(S1105)。全ての画素iについてステップS1102〜S1104の処理が終了していない場合(S1105,NO)は、ステップS1102に遷移する。全ての画素iについてステップS1102〜S1104の処理が終了した場合(S1105,YES)は、全てのωの要素ωjについてステップS1102〜S1104の処理が終了したか否かを判定する(S1106)。全てのωの要素ωjについてS1102〜S1104の処理が終了していない場合(S1106,NO)は、ステップS1102に遷移する。
【0050】
全てのωの要素ωjについてS1102〜S1104の処理が終了した場合(S1106,YES)は、処理を終了する。
【0051】
なお、ここでは、ラスタスキャン順を挙げたが、その他にヒルベルト走査など画像内の領域を一筆書きで走査する順番に変更してもよい。さらに、S1103におけるE(ω)+=weightの代わりに、E(ω)+=2^weightのようにして、陰面領域が連続すればするほどより評価値が大きくなるようにしてもよい。
【0052】
また、陰面領域は画面の中央付近に出現すると、主観的に画質劣化が目立ちやすい。このことを考慮すると、図11のS1103におけるE(ω)++の代わりに、E(ω)+=exp(-(Norm(i-c)))として、画素位置iが画面中央に近ければ近いほど評価値を大きくすることも可能である。ここで、cは画面の中央位置を表すベクトルである。また、Norm()は、ベクトルのノルム値を表す関数であり、一般的なL1ノルムやL2ノルムを使用する。同様に、図11のS1103におけるE(ω)+=weightの代わりにE(ω)+=weight*exp(-Norm((i-c)))のようにして、同様の効果を持たせてもよい。
【0053】
(変更例2)
また、視点の組は時間的に不連続であると、それによる映像の時間的つながりがなくなるために、主観的に大きな画質劣化につながる。そこで、時間的に1フレーム前において視差画像を作成した場合の視点の組ωt-1となるべく近い視点の組が後述する選択部102において選択されるようにするような評価値E(ω)の導出法も考えられる。具体的には、図10のS9026におけるE(ω)++の代わりに、E(ω)+=(1-exp(-(Norm(ω-ωt-1))))として、視点の組ωが前フレーム作成時に選択された視点の組ωt-1に近ければ近いほど評価値を小さくすることも可能である。Norm()は、先に述べたように、一般的なL1ノルムやL2ノルムを使用する。同様に、図11のS1103におけるE(ω)+=weightの代わりにE(ω)+=weight*(1-exp(-(Norm(ω-ωt-1))))のようにして、同様の効果を持たせてもよい。
【0054】
陰面領域の大きさは、与えられた奥行き情報において、隣接画素の奥行き値の1次微分から求められることが幾何的な関係からわかる。以下では、そのことを説明する。
【0055】
図12は、図3などと同様に、鉛直方向から見た場合の図を表している。点Aは、視点軸上でαの位置にある視点とする。つまり線分AEの長さは、眼間距離をbとすればbαとなる。点Cおよび点Dは画素位置を表していて、この場合点C及び点Dは隣接している画素とする。また、奥行き値が従う座標z軸の原点に画面を配置する。ここで、z軸の負の値は、−Zs以下にはならないことを仮定する。これは、視聴者の位置よりも飛び出してくることはないためである。このz軸に従って、点Cの奥行き値z(C)、点Dの奥行き値z(D)で表わす。視点軸の原点は点Eである。太線は、与えられた奥行き値を表している。この場合、線分BCの長さが陰面領域の大きさになることがわかる。この線分BCの長さは、△AEFと△BCFの相似関係を用いると、
【数4】
のように書ける。ただし、αは0以上の場合である。なぜなら、図で示すようにz(C)とz(D)の勾配z(C)-z(D)が負のときの陰面領域は、α>1のとき発生するためである。
【0056】
図13は、視点と陰面面積の関係を示す別の概念図である。図12を左右反転した場合の図を示す。ただし、点Cと点Dの位置関係を図12と同じにするために、点Cと点Dの位置は入れ替えている。つまり、奥行き値の勾配z(C)-z(D)>0となる場合を示す。この場合、先ほどと同様に幾何的な関係を用いれば、線分BDの長さは、
【数5】
のように書ける。ただし、α<0となる。これらの関係をまとめると、陰面領域の大きさを表す線分の長さL(α,i,j)は
【数6】
と書ける。画素位置i,jは隣接した画素である。
【0057】
図14は、Lを用いた際の評価値E(ω)の算出方法を説明する図である。図14のステップS501〜ステップS503に示すように、算出部101は、集合Ωの要素ωに含まれる視点すべてに対し、及びすべての画素i∈Pに対し、
【数7】
によって評価値を算出することもできる。その場合、ただし、jはラスタスキャン順にiを走査していった場合の次の位置の画素位置を示す。また、数7は、陰面領域の大きさが大きくなればなるほど評価値E(ω)が大きくなるように、
【数8】
のようにしてもよい。ただし、Pow(x,y) はxのy乗の値を返す関数である。さらに、画面の中央にある陰面領域であればあるほど、評価値E(ω)が大きくなるように、画面の中心位置を示す位置ベクトルcを用いて
【数9】
のようにしてもよい。また、選ばれる視点の組が時間的に大きな変化を起こさないように
【数10】
などの式を用いてもよい。
【0058】
選択部102は、算出部101において定義された集合Ωの要素それぞれの評価値E(ω)を入力とし、ひとつの視点の組ω_selを決定する。ω_selは、
【数11】
のように、集合Ωのそれぞれの視点において評価値E(ω)が最小になる視点の組とする。または、所定の閾値Thに対してE(ω)<Thとなる視点の組の中から、ωt-1にもっとも近いωをω_selとする。ここで、所定の閾値Thとは、画面全体の画素数に対して陰面領域に属する画素数が0.1%となるように定めることが好ましい。
【0059】
視差画像生成部103は、奥行き情報と入力画像と選択部102において、決定された視点の組ω_selを取得し、視点の組に応じた視差ベクトルに従って視差画像を生成して出力する。この際、評価値が0でない限り陰面領域が発生する。発生した陰面領域に対して画素値を与える方法は、既存の如何なる方法であっても構わない。
【0060】
第1の実施形態によれば、あらかじめ設定した複数の第2の視点の組から視差画像を生成した場合に現れる陰面領域の画素数が大きくなればなるほど大きくなる評価値を算出し、評価値が最小になる第2の視点の組を選択し、その第2の視点の組から仮想的に撮影した場合の視差画像を生成することで、陰面領域に属する画素数を低減させることが可能となり、視差画像をより高画質化することが可能となる。
【0061】
また、上記例は2次元の画像1枚が入力された場合であるが、提供者側があらかじめ用意している左目用と右目用の視差画像が入力された場合に対しても、撮影時とは異なる撮影位置からの画像を生成する用途がある。それは、入力された視差画像は、提供者側ですでに定められた視差量によって立体映像を出力せざるを得ない一方で、視聴者側ではより視差量をつけて迫力のある立体映像を視聴したい、または視差量を弱めて立体映像の視聴による疲労を低減させたいなどのニーズに対しての用途である。そのために、入力左右視差画像に対してステレオマッチングなどの手法によって奥行き情報を生成し、奥行きのダイナミックレンジを大きく、または小さくした視差画像を生成することで、上記視聴者のニーズに応えることも可能になる。
【0062】
(第2の実施形態)
第1の実施形態では、あらかじめ設定した複数の第2の視点の組から視差画像を生成した場合に現れる陰面領域の画素数が大きくなればなるほど大きくなる評価値を算出し、評価値が最小になる第2の視点の組を選択していた。その場合、視点が時系列に急激な変化を起こす可能性がある。動画像が入力されている場合において、視点の急激な変化が起こると、立体映像の時間的なつながりがなくなり、視聴者に違和感を与える。本実施形態では、視点の変化を緩やかにすることで、上記問題を解消する。
【0063】
図15は、本実施形態の立体画像生成装置を示す図である。第1の実施形態とは、本実施形態の立体画像生成装置は、視点制御部201をさらに備える点が異なる。
【0064】
視点制御部201は、選択部102が選択した視点の組ω_selを取得し、内部的に保持している過去の視差画像の作成時の視点の組を利用して、補正した視点の組ω_corを視差画像生成部103に送る。補正した視点の組ω_corの導出方法について説明する。
【0065】
nフレーム前に作成した視差画像の視点の組をω(n)で表わすことにする。ここで、ω(0)はω_selとする。ω_corは、次のFIRフィルタによって導出する。
【数12】
ただし、aiは、フィルタ係数であり、上記FIRフィルタがローパスフィルタになる特性をもつ係数を設定する。
【0066】
また、ω_corは、1次遅れを用いて次式によって導出することができる。
ω_cor = h*ω(0)+(1-h)ω(1)
hは時定数を表している。その範囲は、0<h<1である。
【0067】
また、演算量を低減するために、ω_colの視点のうち少なくとも1つは入力画像の撮影位置に固定することも考えられる。
【0068】
このように第2の実施形態では、視点の急激な変化を抑えることで、立体映像の時間的なつながりを持たせ、視聴者に違和感を与えない立体映像生成装置を実現できる。
【0069】
(第3の実施形態)
第2の実施形態では、陰面領域に属する画素数が小さくなる視点の組になるまでは緩やかに変化するため、この遷移の間は陰面領域に属する画素数が必ずしも小さくならない。一方で、シーンチェンジのタイミングにおいては、視差位置を急激に変化させても視聴者に違和感を与えることはない。そこで、本実施形態では、動画のシーンが変化するタイミングにおいては、視差位置の変化を大きくすることで、より適切な視点の組による立体映像生成方法を提供する。
【0070】
図16は、本実施形態の構成を示す図である。図1と比較して、検出部301と視点制御部302を更に有する点が異なる。
【0071】
検出部301は、入力画像内のシーンチェンジを検出する。検出対象のフレームの前においてシーンチェンジの発生を検出した場合にDETECT信号を視点制御部302に送る。また、シーンチェンジの発生を検出しなかった場合に、NONE信号を視点制御部302に送る。
【0072】
視点制御部302は、検出部301からNONE信号を受信した場合は、視差位置制御部201と同様の処理を行う。一方で、DETECT信号を受信した場合は、FIRフィルタの出力ではなく、ω(0)をω_corとする。また、1次遅れ系でω_colを導出する場合、時定数をh1にする。ただし、1>h1>hである。
【0073】
このように第3の実施形態では、動画のシーンが変化するタイミングにおいては、視差位置の変化を大きくすることで、より適切な視点の組による立体映像生成装置を実現できる。 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0074】
101…算出部、102…選択部、103…視差画像生成部、
201、302…視点制御部、
301…検出部
【特許請求の範囲】
【請求項1】
少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成する装置において、
前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正して出力するように制御する視点制御部と、
前記視点制御部から出力制御された視点の組に対応する視点の視差画像を、前記画像から生成する生成部と、
を備えることを特徴とする立体画像生成装置。
【請求項2】
視点の組を選択する選択部を更に備え、
前記視点制御部は、前記画像が動画像である場合には前記選択部において選択された前記視点の組を補正して出力制御することを特徴とする請求項1記載の立体画像生成装置。
【請求項3】
視点の組を選択する選択部を更に備え、
前記視点制御部は、前記画像が動画像でない場合には選択部において選択された前記視点の組を出力制御することを特徴とする請求項1記載の立体画像表示生成装置。
【請求項4】
2つ以上の視点を含む組毎に、視差画像を作成した場合に生じる陰面領域が大きくなる程、大きな値となる評価値を、前記奥行き情報から算出する算出部を更に備え、
前記選択部は、前記視点の組に対して算出された前記評価値に基づいて、前記視点の組を選択することを特徴とする請求項2または3記載の立体画像生成装置。
【請求項5】
前記視点制御部は、記画像が動画像である場合に、前記画像の少なくとも前のフレームを含む前記画像より前の連続した複数フレームにおいて選択された視点の組と、前記画像に対して選択された視点の組との線形和であるフィルタによって、前記補正された視点の組を導出する請求項1記載の立体画像生成装置。
【請求項6】
前記線形和の係数はローパスフィルタになる特性を有している請求項5記載の立体画像生成装置。
【請求項7】
前記フィルタは一次遅れ系であって、前記線形和の係数は時定数である請求項5記載の立体画像生成装置。
【請求項8】
前記画像が動画像である場合に、シーンチェンジを検出する検出部をさらに備え、
検出された前記シーンチェンジの前後における視点の変化を大きくする請求項1乃至7のいずかに記載の立体画像生成装置。
【請求項9】
少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成する方法において、
前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正するステップと、
前記補正された視点の組に対応する視点の視差画像を、前記画像から生成するステップと、
を有することを特徴とする立体画像生成方法。
【請求項1】
少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成する装置において、
前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正して出力するように制御する視点制御部と、
前記視点制御部から出力制御された視点の組に対応する視点の視差画像を、前記画像から生成する生成部と、
を備えることを特徴とする立体画像生成装置。
【請求項2】
視点の組を選択する選択部を更に備え、
前記視点制御部は、前記画像が動画像である場合には前記選択部において選択された前記視点の組を補正して出力制御することを特徴とする請求項1記載の立体画像生成装置。
【請求項3】
視点の組を選択する選択部を更に備え、
前記視点制御部は、前記画像が動画像でない場合には選択部において選択された前記視点の組を出力制御することを特徴とする請求項1記載の立体画像表示生成装置。
【請求項4】
2つ以上の視点を含む組毎に、視差画像を作成した場合に生じる陰面領域が大きくなる程、大きな値となる評価値を、前記奥行き情報から算出する算出部を更に備え、
前記選択部は、前記視点の組に対して算出された前記評価値に基づいて、前記視点の組を選択することを特徴とする請求項2または3記載の立体画像生成装置。
【請求項5】
前記視点制御部は、記画像が動画像である場合に、前記画像の少なくとも前のフレームを含む前記画像より前の連続した複数フレームにおいて選択された視点の組と、前記画像に対して選択された視点の組との線形和であるフィルタによって、前記補正された視点の組を導出する請求項1記載の立体画像生成装置。
【請求項6】
前記線形和の係数はローパスフィルタになる特性を有している請求項5記載の立体画像生成装置。
【請求項7】
前記フィルタは一次遅れ系であって、前記線形和の係数は時定数である請求項5記載の立体画像生成装置。
【請求項8】
前記画像が動画像である場合に、シーンチェンジを検出する検出部をさらに備え、
検出された前記シーンチェンジの前後における視点の変化を大きくする請求項1乃至7のいずかに記載の立体画像生成装置。
【請求項9】
少なくとも1枚の画像と、前記画像に対応する奥行き情報から、前記画像とは異なる視点の視差画像を生成する方法において、
前記画像が動画像である場合に動画像でない場合に比べて時間軸上での視点の変化を抑制するように視点の組を補正するステップと、
前記補正された視点の組に対応する視点の視差画像を、前記画像から生成するステップと、
を有することを特徴とする立体画像生成方法。
【図1】
【図3】
【図4】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図5】
【図6】
【図7】
【図8】
【図3】
【図4】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図5】
【図6】
【図7】
【図8】
【公開番号】特開2012−34339(P2012−34339A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2011−44128(P2011−44128)
【出願日】平成23年3月1日(2011.3.1)
【分割の表示】特願2011−27420(P2011−27420)の分割
【原出願日】平成23年2月10日(2011.2.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願日】平成23年3月1日(2011.3.1)
【分割の表示】特願2011−27420(P2011−27420)の分割
【原出願日】平成23年2月10日(2011.2.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]