以下に本発明の一実施形態について図面を参照して説明する。図1には、本実施形態の立体映像制作装置10の全体構成が示されている。図2には、立体映像制作装置10による立体映像の制作処理の流れがフローチャートで示されている。図3は、立体像の再生位置と焦点深度との関係の説明図であり、図4は、焦点深度と角度単位の視差量との関係の説明図であり、図5は、焦点深度内に立体映像を再生させるように設定された視差量の範囲とデプス値のとり得る範囲との対応関係の説明図である。また、図6には、平面画像およびデプスマップの具体例が示され、図7には、図6の例を用いたデプス値による奥行き表現の説明図が示され、図8には、図6の例を用いたデプス値と角度単位の視差量との対応関係の具体例が示されている。さらに、図9は、特徴点だけ移動した場合の平面移動量の算出処理の説明図であり、図10は、画面全体が移動した場合の平面移動量の算出処理の説明図である。
<立体映像制作装置10の全体構成>
立体映像制作装置10は、1台または複数台のコンピュータにより構成され、立体映像の制作に関する各種処理を実行するとともに各種処理に必要なデータを記憶する本体20と、例えばマウスやキーボード等の入力手段40と、例えば液晶ディスプレイやCRTディスプレイ等の表示手段50とを備えて構成されている。また、印刷装置を適宜備えていてもよい。
なお、本実施形態では、立体映像制作装置10は、主としてコンテンツ制作者の使用する立体映像開発ツールであるものとして説明を行うが、後述する図11に示すように、本発明の立体映像制作装置は、立体映像開発ツールへの適用に限定されるものではない。
本体20は、立体映像の制作に関する各種処理を実行する処理手段20Aと、この処理手段20Aに接続された設定条件記憶手段30、平面画像記憶手段31、視差量記憶手段32、および左右画像記憶手段33とを含んで構成されている。
処理手段20Aは、条件設定処理手段21と、視差量算出処理手段22と、観察コスト算出処理手段23と、視差量補正処理手段24と、左右画像作成処理手段25と、立体映像再生処理手段26とを含んで構成されている。
<条件設定処理手段21の構成>
条件設定処理手段21は、立体映像の制作および再生に必要な視聴環境パラメータ(視距離L、スクリーンの幅サイズSWおよび高さサイズSH等)を含む各種の条件に関するユーザ(ここでは、コンテンツ制作者とする。)の入力設定操作を受け付け、入力設定された各種の条件を、設定条件記憶手段30に記憶させる処理を実行するものである。
具体的には、条件設定処理手段21は、処理対象とする映像区画の入力設定を受け付ける処理を行う。例えば、ユーザが、120フレームからなる1シーンを処理対象の映像区画として選択すると、何番目のフレームから何番目のフレームまでの120フレームが処理対象の映像区画であるという情報が設定条件記憶手段30に記憶される。なお、処理対象とする映像区画として、1フレームのみを選択することもでき、この場合は、1枚の立体画像の制作となるので、観察コスト算出処理手段23および視差量補正処理手段24による処理は行われない。
また、条件設定処理手段21は、焦点深度内に立体映像の再生範囲を収めるための角度視差量(角度単位の視差量)の範囲の入力設定を受け付ける処理を行う。例えば、適正な角度視差量(角度単位の視差量)の範囲を設定するためにシステムで予め幾つか用意されている方法の中から、ユーザが自分の制作意図に沿った方法を選択すると、この選択結果に応じて、選択対象の各方法毎に予め計算されて定められている交差方向の角度視差量の閾値Sneg(例えば、Sneg=0.74度)と、同側方向の角度視差量の閾値Spos(例えば、Spos=0.73度)とが設定条件記憶手段30に記憶される。
図3に示すように、立体映像の観察中は、視覚系の焦点調節は画面近傍に働いており、左右の視線が交差する輻輳は、注視する立体像の近傍に働いている。一方、自然視では、調節と輻輳とは同じ位置に働く。従って、立体映像の観察中は、視覚系での距離情報の矛盾という不自然な状態が生じている。
しかしながら、調節には、焦点深度と呼ばれる範囲が存在し、注視点までの距離に応じて変化するこの範囲内の視標に対しては、新たに調節を行う必要がない。人間の焦点深度は、一般的に±0.2D〜0.3D(ディオプタ)程度と言われており、焦点深度内に立体映像の再生範囲を収めることで、眼精疲労が軽減されることが知られている。図4に示すように、±0.2D(ディオプタ)は、瞳孔間隔Uを65mmとすれば、角度視差量(角度単位の視差量)に換算すると、±0.74度になる。従って、ユーザが、一般的な焦点深度の±0.2Dを選択すると、交差方向の角度視差量の閾値Sneg=0.74度、同側方向の角度視差量の閾値Spos=0.74度が設定条件記憶手段30に記憶される。
なお、図4における焦点深度の±0.2Dから角度視差量[deg]への換算処理を補足説明すると、ディオプタ[D]は、距離[m]の逆数であり、例えば、1mのときは1Dとなり、2mのときは0.5Dとなるので、視距離L[m]のときには、1/L[D]となる。従って、画面から+0.2Dの位置(画面の手前側の交差方向の位置)の視距離L1[m]のときには、(1/L1)={(1/L)+0.2}[D]となり、画面から−0.2Dの位置(画面の奥側の同側方向の位置)の視距離L2[m]のときには、(1/L2)={(1/L)−0.2}[D]となるので、次の式(1)、式(2)が成立する。
L1=1/{(1/L)+0.2} ・・・・・・・・(1)
L2=1/{(1/L)−0.2} ・・・・・・・・(2)
画面までの輻輳角をα[deg]とし、画面から+0.2Dの位置(画面の手前側の交差方向の位置)までの輻輳角をβ1[deg]とし、画面から−0.2Dの位置(画面の奥側の同側方向の位置)までの輻輳角をβ2[deg]とし、瞳孔間隔をUとすると、(U/2)=L×tan{(α/2)×(π/180)}≒L×(α/2)×(π/180)となり、次の式(3)が成立する。但し、(α/2)×(π/180)は、十分に小さい値であるものとしている。また、同様にして、次の式(4)、式(5)が成立する。
α≒(180×U)/(π×L) ・・・・・・・・・・(3)
β1≒(180×U)/(π×L1) ・・・・・・・・(4)
β2≒(180×U)/(π×L2) ・・・・・・・・(5)
画面から+0.2Dの位置(画面の手前側の交差方向の位置)に立体像が再生されたときの角度視差量[deg]は、交差方向では視差量がマイナス符号になるものとして定義すれば、(α−β1)になる。また、画面から−0.2Dの位置(画面の奥側の同側方向の位置)に立体像が再生されたときの角度視差量[deg]は、同側方向では視差量がプラス符号になるものとして定義すれば、(α−β2)になる。従って、交差方向の角度視差量(α−β1)[deg]および同側方向の角度視差量(α−β2)[deg]は、式(3)〜式(5)を代入し、さらに式(1)、式(2)を代入して、次の式(6)、式(7)のように表すことができる。
α−β1={(180×U)×(L1−L)}/(π×L×L1)
={(180×U)/π}×(−0.2) ・・・・・・・(6)
α−β2={(180×U)×(L2−L)}/(π×L×L2)
={(180×U)/π}×0.2 ・・・・・・・・・・(7)
よって、角度視差量は、瞳孔間隔Uに比例する。ここで、瞳孔間隔U=0.065[m]とすれば、交差方向の角度視差量(α−β1)=−0.74[deg]となり、同側方向の角度視差量(α−β2)=+0.74[deg]となる。
このように焦点深度の±0.2Dを選択すると、前述したように、交差方向の角度視差量の閾値Sneg=0.74度と、同側方向の角度視差量の閾値Spos=0.74度とが設定される。なお、焦点深度の±0.2Dの範囲は、例えば、画面までの視距離L=4m(0.25D)であれば、画面手前側の視距離L1=2.2m(0.45D)から画面奥側の視距離L2=20m(0.05D)までの範囲となる。
但し、視距離L=5m(0.2D)以上では、焦点深度の遠点は∞に発散してしまうので、同側方向の角度視差量の閾値Sposを設定することができない。つまり、上記の式(2)で、視距離L=5mとすると、分母がゼロとなり、L2=∞となってしまう。一方、交差方向については、上記の式(1)で、視距離L=5mとすると、L1=2.5m(0.4D)となる。従って、想定される画面までの視距離Lが5m(0.2D)以上の場合は、同側方向の角度視差量の閾値Sposは設定することができないが、交差方向の角度視差量の閾値Snegについては、Sneg=0.74度と設定することができるので、同側方向の角度視差量の閾値Sposについては、別の方法を選択して設定する必要がある。
別の方法としては、例えば、パーシバル(Percival)の快適視域がある。観察者側について3D(ディオプタ)を限界として、相対輻輳範囲の1/3をパーシバル(Percival)の快適視域と呼び、視差量をこの範囲に収めることで、眼精疲労が軽減されることが知られている。立体映像の融合範囲についての先行研究より、被験者の80%が融合可能な両眼視差は、同側方向2.20度、交差方向2.15度であり、この実験結果から推測されるパーシバル(Percival)の快適視域は、同側方向で0.73度(2.20度×1/3)、交差方向で0.72度(2.15度×1/3)である。
また、以上に述べた一般的な焦点深度の±0.2D(ディオプタ)や、パーシバル(Percival)の快適視域の他に、ユーザは、例えば、パナム(Panum)の融像域、輻輳限界等の各種の知見に基づく方法を任意に選択することができるようになっている。さらに、ユーザは、これらの方法を併用することにより、適正な視差量の範囲を設定することもできる。
例えば、一般的な焦点深度の±0.2D(ディオプタ)と、パーシバル(Percival)の快適視域とを併用することができる。パーシバル(Percival)の快適視域の場合は、同側方向が0.73度、交差方向が0.72度であり、また、一般的な焦点深度の±0.2D(ディオプタ)の場合は、画面までの視距離Lが5m(0.2D)以上である環境を想定すれば、同側方向は∞、交差方向は0.74度が、適正な視差量の範囲である。そこで、同側方向は、パーシバル(Percival)の快適視域の場合を選択し、交差方向は、一般的な焦点深度の場合を選択すると、同側方向については0.73度、交差方向については0.74度が、適正な視差量の範囲として決定される。従って、同側方向の角度視差量の閾値Spos=0.73度、交差方向の角度視差量の閾値Sneg=0.74度が、設定条件記憶手段30に記憶される。このように2つの方法を併せて採用する場合においては、同側方向、交差方向のいずれに関してもユーザが任意に選択することができる。なお、2つの方法を併せて採用する場合において、同側方向および交差方向の双方で安全サイドの値を選択する、すなわち、小さい方の角度を選択することもできる。
なお、式(6)、式(7)に示すように、角度視差量は、瞳孔間隔Uに比例するので、瞳孔間隔Uについては、視聴環境パラメータとして、ユーザが入力設定できるようにし、条件設定処理手段21により設定条件記憶手段30に記憶させるようにしてもよく、あるいは65mm等の固定値を用いるようにしてもよい。また、瞳孔間隔Uは、左右画像作成処理手段25による処理でも用いられるが、この処理でも、ユーザによる設定入力値を用いてもよく、65mm等の固定値を用いてもよい。
また、上述したように、画面までの視距離Lが5m(0.2D)以上である場合には、一般的な焦点深度の±0.2D(ディオプタ)に基づく方法では、同側方向の角度視差量の閾値Sposを設定することができないので、視距離Lについても、視聴環境パラメータとして、ユーザが入力設定できるようにし、条件設定処理手段21により入力を受け付けて設定条件記憶手段30に記憶させるようにしてもよい。また、条件設定処理手段21により、視距離Lが5m(0.2D)以上であるか否かの選択を受け付ける構成としてもよい。さらに、左右画像作成処理手段25による処理を行う場合には、視距離Lが必要となるため、条件設定処理手段21により、ユーザによる視距離Lの入力を受け付け、設定条件記憶手段30に記憶させる。また、観察コスト算出処理手段23による処理でも、視距離Lが必要となるため、観察コストによる視差量の補正を行う場合には、ユーザによる視距離Lの入力を受け付け、設定条件記憶手段30に記憶させる。
また、スクリーンの幅サイズSW[mm]および高さサイズSH[mm]、並びに、映像の幅サイズPW[pixel]および高さサイズPH[pixel]については、観察コスト算出処理手段23および左右画像作成処理手段25による処理で必要となるため、これらの処理を行う場合には、視聴環境パラメータとして、ユーザが入力設定できるようにし、条件設定処理手段21により入力を受け付けて設定条件記憶手段30に記憶させる。
さらに、観察コストによる視差量の補正を行う場合には、条件設定処理手段21は、ユーザによる観察コスト算出用の特徴点の指定のための入力(例えば、表示手段50の画面上でのマウス等による入力)を受け付け、指定された特徴点を特定するためのデータ(例えば座標データ等)を設定条件記憶手段30に記憶させる(図9参照)。また、画面全体の移動量を算出する場合には、画面全体の移動量を算出するというユーザの選択情報を設定条件記憶手段30に記憶させる(図10参照)。
<視差量算出処理手段22の構成>
視差量算出処理手段22は、デプス値としてとり得る最大値から最小値までの範囲または最小値から最大値までの範囲を、焦点深度内に立体映像の再生範囲を収めるように決定された交差方向の視差量の閾値から同側方向の視差量の閾値までの範囲と対応させることにより、この対応関係に従って、平面画像記憶手段31に記憶されたデプスマップを構成する各デプス値から、左眼用画像と右眼用画像との対応点間の視差量を、平面画像の各画素毎に算出し、算出した各画素の視差量を、視差量記憶手段32に記憶させる処理を実行するものである。
具体的には、視差量算出処理手段22は、設定条件記憶手段30に記憶されている同側方向の角度視差量の閾値Sposおよび交差方向の角度視差量の閾値Snegを取得し、本実施形態では、一例として、図5に示すように、デプス値のとり得る最小値Dmin(例えば、Dmin=0)と、同側方向の角度視差量の閾値Spos(例えば、Spos=0.73度)とを対応させるとともに、デプス値のとり得る最大値Dmax(例えば、Dmax=255)と、交差方向の角度視差量の閾値−Sneg(例えば、−Sneg=−0.74度:ここでは、マイナス符号を付して対応させる。)とを対応させる。
なお、本実施形態では、図5に示すように、デプス値が小さい方が奥側であり、デプス値が大きい方が手前側となっているが、この関係は逆にして、デプス値が小さい方が手前側とし、デプス値が大きい方が奥側となるようにしてもよい。このように逆にした場合には、デプス値のとり得る最小値Dmin(例えば、Dmin=0)と、交差方向の角度視差量の閾値−Sneg(例えば、−Sneg=−0.74度:ここでは、マイナス符号を付して対応させる。)とを対応させるとともに、デプス値のとり得る最大値Dmax(例えば、Dmax=255)と、同側方向の角度視差量の閾値Spos(例えば、Spos=0.73度)とを対応させればよい。
また、デプス値のとり得る範囲は、0〜255である必要もなく、例えば、0〜511としてもよく、あるいは、例えば−127〜+127等のようにプラスとマイナスに跨るようにしてもよく、任意に設定することができる。但し、デプスマップの規格が存在する場合には、それに合わせた範囲とすることが好ましい。そして、この説明は、デプス値のとり得る範囲の設定の任意性についてのものであるが、これとは別に、コンテンツ制作者が、ある1枚の平面画像に対応するデプスマップを作成する際に、実際に使用するデプス値の範囲が、デプス値のとり得る範囲の全範囲になっている必要はないというデプス値の実際の使用範囲の任意性もある。この実際の使用範囲の任意性について説明すると、デプスマップの作成で実際に使用されるデプス値の範囲は、デプス値のとり得る範囲がいかなる設定であっても、デプス値のとり得る範囲のうちの全部でもよく一部でもよい。例えば、デプス値のとり得る範囲が0〜255に設定されている場合には、0〜255の全範囲を使用してもよく、あるいは10〜240等のように一部の範囲を使用してもよく、同様に、デプス値のとり得る範囲が0〜511に設定されている場合には、0〜511の全範囲を使用してもよく、あるいは25〜490等のように一部の範囲を使用してもよい。
視差量算出処理手段22は、図5に示した対応関係に従って、デプス値dから角度視差量(角度単位の視差量)Fを算出するので、(d−Dmin)/(Dmax−Dmin)=(Spos−F)/{Spos−(−Sneg)}という比例関係より、次の式(8)がその算出式となる。
F=Spos−{(d−Dmin)/(Dmax−Dmin)}×(Spos+Sneg)・・(8)
ここで、例えば、Dmin=0、Dmax=255を代入し、さらに、例えば、Spos=0.73度、Sneg=0.74度を代入すると、次の式(9)となる。なお、Fは、符号を有する値として算出され、プラスになった場合には、同側方向の視差量であり、マイナスになった場合には、交差方向の視差量である。
F=Spos−(d/255)×(Spos+Sneg)
=0.73−(d/255)×1.47 ・・・・・・・・(9)
そして、図5に示すように、実際に使用するデプス値の範囲がdmin〜dmaxであるとすれば、実際に呈示される映像の視差量の範囲Fpos〜(−Fneg)は、式(9)より、Fpos={Spos−(dmin/255)×(Spos+Sneg)}から(−Fneg)={Spos−(dmax/255)×(Spos+Sneg)}までの範囲となる。
例えば、図6の具体例で示されている子供のデプス値がd=180であったとすると、角度視差量は、式(9)より、F=−0.308度(交差方向に0.308度)と算出される(図5、図8参照)。また、第1の山のデプス値がd=100であったとすると、角度視差量は、式(9)より、F=+0.154度(同側方向に0.154度)と算出される(図5、図8参照)。
なお、デプス値の大小関係を逆に設定して、デプス値が小さい方が手前側とし、デプス値が大きい方が奥側となるようにした場合には、(Dmax−d)/(Dmax−Dmin)=(Spos−F)/{Spos−(−Sneg)}という比例関係より、次の式(10)がその算出式となる。
F=Spos−{(Dmax−d)/(Dmax−Dmin)}×(Spos+Sneg)・(10)
<観察コスト算出処理手段23の構成>
観察コスト算出処理手段23は、処理対象の映像区画を構成する複数のフレームについて前後のフレーム間の平面画像の構成要素の平面移動量Mxyおよび/または奥行き移動量Mzを算出し、これらの平面移動量Mxyおよび/または奥行き移動量Mzを用いて、映像区画の観察者に与える視覚的負担の度合いを示す映像区画の観察コストCを算出する処理を実行するものである。なお、本実施形態では、一例として、平面移動量Mxyおよび奥行き移動量Mzの双方を用いて映像区画の観察コストCを算出する場合を説明するが、本発明は、これに限定されるものではなく、平面移動量Mxyまたは奥行き移動量Mzのいずれか一方のみを用いて映像区画の観察コストCを算出してもよい。
具体的には、観察コスト算出処理手段23は、設定条件記憶手段30から処理対象の映像区画(映像中のある任意の区間であり、通常は、あるシーンとなる。)を構成する複数のフレームについての情報(例えばフレーム番号等)を取得し、平面画像記憶手段31から処理対象のフレームの平面画像およびデプスマップを取得する。
そして、観察コスト算出処理手段23は、先ず、前後のフレーム間の平面画像における特徴点の平面移動量、複数の特徴点の平面移動量の平均値、画面全体の平面移動量の平均値、若しくはその他の平面移動量の代表値Mxyを算出する。平面移動量とは、画面に沿った水平垂直方向の動き量である。なお、以下では、「Mxy」という記号は、単位を特定しない移動量(移動速度も含む。)、つまり以下において説明される各種の単位変換の前後の全ての単位([pixel]、[pixel/sec]、[m]、[m/sec]、[deg]、[deg/sec]等)で表された平面移動量の総称であるものとする。
2次元映像中に含まれる動き成分の抽出処理には、既存の画像解析技術を用いることができる。例えば、オプティカルフロー推定法(非特許文献1等参照)による動きベクトルの算出や、mpeg等の動画圧縮に用いられる動きベクトル情報を利用する。ここで得られる動きベクトルとは、前後のフレーム間で、平面画像上のある画素または画素の集合が、どの程度移動したかを示す情報である。また、より原始的な動き成分の抽出処理方法として、前後のフレームの平面画像において、特徴点の移動前後の位置(座標)を入力指定してもよい。
観察コスト算出処理手段23は、ある映像における動き情報の中から代表値Mxyを決定し、代表値Mxyから、前後のフレーム間の観察コストCNの算出を行う。なお、前後のフレーム間の観察コストCNは、処理対象の映像区画を構成する複数のフレームのうち、第N番目のフレームから第N+1番目のフレームへ映像が移る際の観察コストである。代表値Mxyの決定方法としては、任意のオブジェクトの特徴点となるピクセル移動量を代表値Mxyとする方法や、映像に含まれる複数の特徴点のピクセル移動量の平均値を代表値Mxyとする方法等が挙げられる。
例えば、図9に示すように、あるオブジェクト(図9の例では、蝶)のみが動いた場合、そのオブジェクトの特徴点となるピクセル移動量をその映像全体の代表値Mxyとする。このオブジェクトの特徴点P(X,Y)が点P’(X’,Y’)に移動したときの水平方向(幅方向)のピクセル移動量は、Pmx=|X’−X|となり、垂直方向(高さ方向)のピクセル移動量は、Pmy=|Y’−Y|となり、また、ピクセル単位の平面移動量(動きベクトルの大きさ)は、Pmxy=(Pmx2+Pmy2)1/2となる。これらのPmxやPmy、またはPmxyの数値を代表値Mxyとして用いて、前後のフレーム間の観察コストCNの算出を行ってもよいが、本実施形態では、後述するように、視角移動量θ(平面移動量を視角で表した数値)を算出するので、PmxやPmy、またはPmxyの数値を直接には用いないものとする。
また、図10に示すように、画面全体が移動するような映像の場合、上記のような特徴点を複数(N個)設定する。そして、これらの特徴点P1(X1,Y1),P2(X2,Y2),…,PN(XN,YN)のそれぞれについて、水平方向(幅方向)のピクセル移動量Pmx1,Pmx2,…,PmxNや垂直方向(高さ方向)のピクセル移動量Pmy1,Pmy2,…,PmyN、またはピクセル単位の平面移動量(動きベクトルの大きさ)Pmxy1,Pmxy2,…,PmxyNを算出し、これらのPmx1等の平均値ave(Pmx)やPmy1等の平均値ave(Pmy)、またはPmxy1等の平均値ave(Pmxy)を平面移動量の代表値Mxyとして用いてもよいが、本実施形態では、後述するように、視角移動量θ(平面移動量を視角で表した数値)を算出するので、ave(Pmx)やave(Pmy)、またはave(Pmxy)の数値を直接には用いないものとする。
すなわち、以上のようにして算出されるPmxやPmy、またはPmxy、あるいはave(Pmx)やave(Pmy)、またはave(Pmxy)は、ピクセル単位の移動量[pixel]であるため、実際に映像が呈示される環境によって移動距離[m]は異なる。そこで、観察コスト算出処理手段23は、設定条件記憶手段30に記憶されているスクリーンの幅サイズSW[m]および高さサイズSH[m]、映像の幅サイズPW[pixel]および高さサイズPH[pixel]、並びに、視距離L[m]を用いて、ピクセル単位の移動量[pixel]を、視角移動量θ[deg]に変換する処理を行う。
但し、画面全体のピクセル移動量の平均値を代表値Mxyとした場合(図10参照)は、特徴点となるピクセル位置(ピクセル単位の座標)が特定できないため、画面中心(PW/2[pixel],PH/2[pixel])、SI単位系では(SW/2[m],SH/2[m])からの移動と仮定する等の処理を行う。
具体的には、スクリーン面のZ座標を0とし、観察者の視点位置をV(XV,YV,ZV)とし、特徴点P(X,Y,0)が点P’(X’,Y’,0)に移動したとする。この際、観察コスト算出処理手段23は、SW/PW、SH/PH等の換算比率εを乗じることにより、ピクセル単位の移動量[pixel]をメートル単位の移動量[m]に変換し、それぞれの単位をSI単位系に揃える処理を行う。視点位置V(XV,YV,ZV)を画面中心からの垂線上とすれば、視点位置VのX座標の値XVは、SW/2[m]とし、視点位置VのY座標の値YVは、SH/2[m]とし、視点位置VのZ座標の値ZVは、視距離L[m]とすることができる。
線分VPと線分VP’とのなす角が、視角移動量θ[deg]となるので、観察コスト算出処理手段23は、内積の定義より、次の式(11)を用いて視角移動量θ[deg]を算出する。
cosθ=(VP・VP’)/(|VP|*|VP’|) ・・・(11)
ここで、VPおよびVP’は、3次元ベクトルVP=(X−XV,Y−YV,0−ZV)、3次元ベクトルVP’=(X’−XV,Y’−YV,0−ZV)である。|VP|は、ベクトルVPの大きさであり、|VP|={(X−XV)2+(Y−YV)2+(0−ZV)2}1/2である。|VP’|は、ベクトルVP’の大きさであり、|VP’|={(X’−XV)2+(Y’−YV)2+(0−ZV)2}1/2である。VP・VP’は、ベクトルの内積であり、VP・VP’=(X−XV)*(X’−XV)+(Y−YV)*(Y’−YV)+(0−ZV)*(0−ZV)である。なお、「*」は、乗算である。
また、画面全体のピクセル移動量の平均値ave(Pmx)およびave(Pmy)を平面移動量の代表値Mxyとした場合(図10参照)は、ave(Pmx)およびave(Pmy)に、SW/PW、SH/PH等の換算比率εを乗じてピクセル単位からメートル単位に変換すると、ave(Pmx)*ε[m]、ave(Pmy)*ε[m]となるので、画面中心(SW/2,SH/2,0)から、点(SW/2+ave(Pmx)*ε,SH/2+ave(Pmy)*ε,0)へ移動したものとして、前述した式(11)に相当する式を用いて視角移動量θ[deg]を算出する。
それから、観察コスト算出処理手段23は、算出した視角移動量θ[deg]を、前後のフレームの再生時間間隔t[sec]で除することにより、視角移動速度ω[deg/sec]を算出する。本実施形態では、このようにして算出された視角移動速度ω[deg/sec]が、最終的に、平面移動量の代表値Mxyとして用いられる。前後のフレームの再生時間間隔t[sec]は、固定値としてもよく、あるいは条件設定処理手段21により、ユーザの設定入力を受け付けて設定条件記憶手段30に記憶させておいてもよい。
なお、以上の説明では、ピクセル単位の移動量[pixel]を視角移動量θ[deg]に変換してから、前後のフレームの再生時間間隔t[sec]で除することにより視角移動速度ω[deg/sec]を算出しているが、ピクセル単位の移動量[pixel]を、前後のフレームの再生時間間隔t[sec]で除することにより、ピクセル単位の移動速度Qxy[pixel/sec]を算出してから、視角移動速度ω[deg/sec]への変換を行ってもよい。
次に、観察コスト算出処理手段23は、平面画像記憶手段31に記憶されているデプスマップ(処理対象の平面画像に対応するデプスマップ)を構成する各デプス値を用いて、前後のフレーム間のデプスマップにおける平面画像上の特徴点のデプス値の変化量、平面画像上の複数の特徴点のデプス値の変化量の平均値、画面全体のデプス値の変化量の平均値、若しくはその他の奥行き移動量の代表値Mzを算出する。例えば、前後のフレーム間で、あるオブジェクト(例えば、蝶)のみが動いた場合、平面画像上でこのオブジェクトの特徴点P(X,Y)が点P’(X’,Y’)に移動したときの、点Pのデプス値dから点P’のデプス値d’への変化量dm=|d’−d|が、奥行き移動量の代表値Mzとなる。なお、「Mz」という記号は、「Mxy」の場合と同様に、単位を特定しない移動量(移動速度も含む。)、つまり各種の単位変換の前後の全ての単位で表された奥行き移動量の総称であるものとする。また、奥行き移動量の代表値Mzは、必ずしも平面移動(平面画像上での画面に沿った移動)を伴った特徴点についての奥行き移動量である必要はなく、平面画像上では動かないが、奥行き方向には動く特徴点についての奥行き移動量であってもよい。但し、平面移動(平面画像上での画面に沿った移動)を伴った特徴点についての奥行き移動量を、奥行き移動量の代表値Mzとする処理を行ってもよく、この場合には、奥行き移動量の代表値Mzは、平面移動量の代表値Mxyに付随するものとなる。
また、画面全体の移動量の平均値を平面移動量の代表値Mxyとした場合(図10参照)には、奥行き移動量についても、各特徴点におけるデプス値の変化量dm1,dm2,dm3,…の平均値ave(dm)を、奥行き移動量の代表値Mzとすることができる。
なお、特徴点におけるデプス値の変化量dm、または各特徴点におけるデプス値の変化量の平均値ave(dm)を、前後のフレームの再生時間間隔t[sec]で除することにより、デプス値の変化速度Qz[/sec]を算出し、このQz[/sec]を奥行き移動量の代表値Mzとしてもよい。すなわち、奥行き方向の動きについても、デプス値の変化量そのものではなく、変化速度に着目して前後のフレーム間の観察コストCNを算出してもよい。
続いて、観察コスト算出処理手段23は、平面移動量の代表値Mxyおよび奥行き移動量の代表値Mzから、前後のフレーム間の観察コストCNを算出する。この前後のフレーム間の観察コストCNの算出処理には、次の式(12)に示すように、平面移動量の代表値Mxyに重み付け係数αを乗じ、奥行き移動量の代表値Mzに重み付け係数βを乗じ、これらを加算することで算出する方法や、平面移動量の代表値Mxyや奥行き移動量の代表値Mzが、ある一定値を超えた場合に、観察コストを加算する方法等を採用することができる。
CN=αMxy+βMz ・・・・・・・(12)
上記の式(12)により前後のフレーム間の観察コストCNを算出する方法を採用した場合には、重み付け係数α,βは、任意に設定することができる。すなわち、平面移動量の代表値Mxyによる観察コスト(平面移動に伴う視覚的負担の度合い)と、奥行き移動量の代表値Mzによる観察コスト(奥行き移動に伴う視覚的負担の度合い)との重み付けは、任意に設定することができる。
平面移動量の代表値Mxyや奥行き移動量の代表値Mzが、ある一定値を超えた場合に、観察コストを加算する方法を採用する場合には、例えば、先行研究より、人間の滑動性眼球運動の最大許容速度は60[deg/sec]という知見が報告されているので、視角移動速度ω[deg/sec]がこの60[deg/sec]よりも大きくなる映像については観察コストを加算するといった処理を行うことができる。また、加算するかしないかではなく(1か0かではなく)、より段階的に、例えば、視角移動速度ω[deg/sec]が40[deg/sec]を超えたら、観察コストに1を加算し、視角移動速度ω[deg/sec]が50[deg/sec]を超えたら、観察コストに3を加算し、視角移動速度ω[deg/sec]が60[deg/sec]を超えたら、観察コストに5を加算する等のように、多段階の数値加算方式にしてもよい。奥行き移動量についても同様であり、1段階または多段階の数値加算方式を採用することができる。この場合、平面移動量のみに基づき観察コストが加算される場合と、奥行き移動量のみに基づき観察コストが加算される場合と、両者の加算が同時に行われる場合とがある。そして、前後のフレーム間で動きが少ない時間帯があれば、観察コストの加算が行われないフレーム間もあるので、前後のフレーム間の観察コストC1,C2,C3,…は、例えば、1,2,1,0,3,0,3,1,0,…等のようになり、0のときと、数値があるときとが、交錯することもある。
その後、観察コスト算出処理手段23は、処理対象の映像区画を構成する複数のフレームについて前後のフレーム間の観察コストC1,C2,C3,…を累積加算し、映像区画の観察コストCを算出する処理を行う。すなわち、C=ΣCN(但し、N=1〜映像区画の総フレーム数から1を減じた数値)=C1+C2+C3+…により、映像区画の観察コストCを算出する。
また、以上の説明では、観察コスト算出処理手段23は、前後のフレーム間における平面移動量の代表値Mxyや奥行き移動量の代表値Mzを用いて、前後のフレーム間の観察コストC1,C2,C3,…を算出し、これらを累積加算して映像区画の観察コストCを算出していたが、このように前後のフレーム間の観察コストCNを算出するのではなく、次のようにして映像区画の観察コストCを算出する構成としてもよい。
すなわち、観察コスト算出処理手段23は、前後のフレーム間における平面移動量の代表値Mxyを算出し、この代表値Mxyを、処理対象の映像区画を構成する複数のフレームについて累積加算して累積平面移動量ΣMxyを算出するとともに、前後のフレーム間における奥行き移動量の代表値Mzを算出し、この代表値Mzを、処理対象の映像区画を構成する複数のフレームについて累積加算して累積奥行き移動量ΣMzを算出し、累積平面移動量ΣMxyおよび累積奥行き移動量ΣMzから、映像区画の観察コストCを算出する構成としてもよい。
このような構成とする場合、映像区画の観察コストCの算出処理には、次の式(13)に示すように、累積平面移動量ΣMxyに重み付け係数αを乗じ、累積奥行き移動量ΣMzに重み付け係数βを乗じ、これらを加算することで算出する方法や、累積平面移動量ΣMxyや累積奥行き移動量ΣMzが、ある一定値を超えた場合に、観察コストを加算する方法等を採用することができる。
C=αΣMxy+βΣMz ・・・・・・・(13)
なお、累積平面移動量ΣMxyや累積奥行き移動量ΣMzは、前後のフレーム間毎に算出された平面移動量の代表値Mxyや奥行き移動量の代表値Mzを加算相殺して算出されるものではなく、これらの代表値Mxy,Mzが、プラスの符号のみを有するものとして、絶対値を加算して算出されるものである。例えば、オブジェクトが画面上を動き回り(例えば、蝶が飛び回り)、映像区画を構成する最終フレームになった時点で、先頭フレームの位置に戻って来た場合には、累積平面移動量ΣMxy=0とするのではなく、動き回った移動量(例えば、蝶が飛び回った移動量)を通算することにより、累積平面移動量ΣMxyを算出する。累積奥行き移動量ΣMzの場合も同様であり、オブジェクトが奥行き方向に動く動作を繰り返し、最終フレームになった時点で、結局、先頭フレームの位置に戻って来た場合には、累積奥行き移動量ΣMz=0とするのではなく、移動量を通算する。
また、観察コスト算出処理手段23は、累積平面移動量ΣMxyや累積奥行き移動量ΣMzを、映像区画の再生時間T(映像区画を構成する複数フレームの通算再生時間)で除することにより、平均平面移動速度([deg/sec]、または[m/sec]若しくは[pixel/sec])や平均奥行き移動速度([/sec])を算出し、平均平面移動速度や平均奥行き移動速度により、映像区画の観察コストCを算出する構成としてもよい。ここで、映像区画の再生時間Tは、前後のフレームの再生時間間隔tに、「映像区画の総クレーム数から1を減じた数値」を乗じた時間である。
<視差量補正処理手段24の構成>
視差量補正処理手段24は、観察コスト算出処理手段23により算出した映像区画の観察コストCを用いて、映像区画を構成する複数のフレームについて視差量算出処理手段22により算出されて視差量記憶手段32に記憶されている平面画像の各画素の視差量を補正し、補正後の各画素の視差量を、視差量記憶手段32に記憶させる処理を実行するものである。
具体的には、視差量補正処理手段24は、予め定められた映像区画の観察コストCと補正倍率Rとの対応関係R=f(C)に従って、観察コスト算出処理手段23により算出した映像区画の観察コストCから、対応する補正倍率Rを算定し、映像区画を構成する複数のフレームについて視差量算出処理手段22により算出されて視差量記憶手段32に記憶されている平面画像の各画素の視差量に、算定した補正倍率Rを一律に乗じる補正処理を実行する。
従って、視差量補正処理手段24は、映像区画を構成する全フレームの全画素の視差量に対し、同側方向の視差量と交差方向の視差量とを区別することなく、補正倍率Rを一律に乗じる。この補正倍率Rは、映像区画の観察コストCの関数であり、映像区画の観察コストCの大きさに応じ、0〜1の範囲で定まるものである。映像区画の観察コストCが大きい程、視差量を小さくする必要があるので、補正倍率Rは小さくなり、例えば、1次関数で示せば、R=f(C)=1−γC(γは係数)とすること等ができる。また、R=f(C)は、1次関数である必要はなく、映像区画の観察コストCが大きい程、補正倍率Rが小さくなる関係であれば、任意の関数とすることができ、例えば、2次曲線や3次曲線等でもよく、あるいは折れ線部分を有する関数として、映像区画の観察コストCが一定値を超えるまでは、補正倍率Rが1となるようにしてもよく、映像区画の観察コストCが一定値を超えると、補正倍率Rが0となるようにしてもよい。なお、補正倍率Rが0になると、全画素の視差量が0になるので、平面画像が呈示されることになる。
ここで、R=f(C)は、プログラム内に記述された式でもよく、あるいは図示されない補正倍率テーブル記憶手段に記憶された補正倍率テーブルでもよい。
<左右画像作成処理手段25の構成>
左右画像作成処理手段25は、視差量算出処理手段22により算出され、または視差量補正処理手段24により補正されて視差量記憶手段32に記憶されている平面画像の各画素の視差量を用いて、平面画像記憶手段31に記憶されている平面画像(2D画像)から、立体映像の再生用の左眼用画像および右眼用画像を作成し、作成した左眼用画像および右眼用画像を、左右画像記憶手段33に記憶させる処理を実行するものである。
この際、左右画像作成処理手段25は、平面画像(2D画像)そのものを左眼用画像とするとともに、与えられた視差量を用いて平面画像(2D画像)から右眼用画像を作成する構成としてもよく、逆に、平面画像(2D画像)そのものを右眼用画像とするとともに、与えられた視差量を用いて平面画像(2D画像)から左眼用画像を作成する構成としてもよく、あるいは、与えられた視差量の半分の値を用いて平面画像(2D画像)から左眼用画像および右眼用画像の双方を作成する構成としてもよい。
具体的には、左右画像作成処理手段25は、視差量記憶手段32に記憶されている角度視差量(角度単位の視差量)Fを、ピクセル単位の視差量(図4に示すように、交差方向の視差量を2×K1とし、同側方向の視差量を2×K2とする。)に変換する。そして、左眼用画像または右眼用画像のいずれか一方の画像のみを新たに作成する場合には、左眼用画像または右眼用画像のいずれか他方の画像(つまり、平面画像)の各画素を交差方向に2×K1[pixel]ずらし、同側方向に2×K2[pixel]ずらす。また、左眼用画像および右眼用画像の双方を新たに作成する場合には、平面画像の各画素を交差方向にK1[pixel]ずらし、同側方向にK2[pixel]ずらす。
図4において、tan(α/2)=(U/2)/Lであるから、次の式(14)が成立する。Uは、瞳孔間隔であり、Lは、視距離である。
α=2×arctan{(U/2)/L} ・・・・・・・・(14)
前述した式(6)に示すように、交差方向の角度視差量F(マイナスの値となる。)は、(α−β1)[deg]であり、前述した式(7)に示すように、同側方向の角度視差量F(プラスの値となる。)は、(α−β2)[deg]であるから、次の式(15)および式(16)が成立する。
β1=α−F(交差方向の視差量Fであり、マイナスの値) ・・・(15)
β2=α−F(同側方向の視差量Fであり、プラスの値) ・・・・(16)
また、図4において、tan(β1/2)=(U/2)/L1であるから、式(17)が成立し、tan(β2/2)=(U/2)/L2であるから、式(18)が成立する。
L1=(U/2)/tan(β1/2) ・・・・・・・・・・・・(17)
L2=(U/2)/tan(β2/2) ・・・・・・・・・・・・(18)
さらに、図4において、L1/(L−L1)=(U/2)/K1という相似関係から、式(19)が成立し、L2/(L2−L)=(U/2)/K2という相似関係から、式(20)が成立する。
K1=(U/2)×{(L−L1)/L1} ・・・・・・・・・・(19)
K2=(U/2)×{(L2−L)/L2} ・・・・・・・・・・(20)
従って、左右画像作成処理手段25は、式(14)により、αを算出し、式(15)や式(16)に、αとFを代入してβ1やβ2を算出し、式(17)や式(18)に、β1やβ2を代入してL1やL2を算出し、式(19)や式(20)に、L1やL2を代入してK1やK2を算出する。算出したK1やK2は、ピクセル単位の視差量の半分の値であるから、これにより、平面画像の各画素のずらし量[pixel]を定め、左眼用画像および右眼用画像を作成する。
<立体映像再生処理手段26の構成>
立体映像再生処理手段26は、左右画像記憶手段33に記憶されている左眼用画像および右眼用画像を用いて、表示手段50の画面上に、立体映像を再生する処理を実行するものである。ユーザが、コンテンツ制作者の場合には、制作した立体映像の快適性や安全性等の確認のために再生処理が行われる。
<各記憶手段30〜33の構成>
設定条件記憶手段30は、ユーザ(コンテンツ制作者等)により入力指定された立体映像の制作処理に関する設定条件として、処理対象の映像区画を指定する情報(例えば、何番目のフレームから何番目のフレームまでということを示すフレーム番号)と、交差方向の角度視差量の閾値Sneg(例えば、Sneg=0.74度)と、同側方向の角度視差量の閾値Spos(例えば、Spos=0.73度)と、想定する視距離L[m]と、瞳孔間隔U[m]([mm]でもよい。)と、スクリーンの幅サイズSW[m]([mm]でもよい。)および高さサイズSH[m]([mm]でもよい。)と、映像の幅サイズPW[pixel]および高さサイズPH[pixel]と、観察コスト算出用の特徴点の位置情報(座標データ)と、前後のフレームの再生時間間隔t[sec]とを記憶するものである。
平面画像記憶手段31は、平面画像(2D画像)と、この平面画像の各画素に対応する奥行きを示すデプス値により構成されたデプスマップとを、フレーム識別情報(フレーム番号等)と関連付けて記憶するものである。
視差量記憶手段32は、平面画像の各画素毎(ピクセル毎)に算出された視差量を、フレーム識別情報(フレーム番号等)および各画素の位置情報(座標データ)と関連付けて記憶するものである。なお、視差量が、その並び順でどの画素についてのデータであるのかがわかるようになっていれば、各画素の位置情報(座標データ)との関連付けは省略してもよい。また、視差量記憶手段32には、視差量算出処理手段22により算出された補正前の視差量と、視差量補正処理手段24により算出された補正後の視差量とを、並列させて記憶させてもよく、あるいは視差量補正処理手段24による補正処理が行われた場合には、得られた補正後の視差量を、視差量算出処理手段22により算出された補正前の視差量に上書き保存するようにしてもよい。
左右画像記憶手段33は、立体映像再生用の左眼用画像および右眼用画像を、フレーム識別情報(フレーム番号等)と関連付けて記憶するものである。
そして、以上において、本体20は、1台のコンピュータあるいは1つのCPUにより実現されるものに限定されず、複数のコンピュータあるいは複数のCPU等で分散処理を行うことにより実現されるものであってもよい。
また、処理手段20Aを構成する各処理手段21〜26は、コンピュータ本体の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。
さらに、各記憶手段30〜33は、例えばハードディスク等により好適に実現されるが、記憶容量やアクセス速度等に問題が生じない範囲であれば、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用してもよい。
このような本実施形態においては、以下のようにして立体映像制作装置10により立体映像の制作処理が行われる。
先ず、コンテンツ制作者は、立体映像制作装置10による一連の処理を行う前に、既存の別のプログラムまたは既存の別の装置により、平面画像およびデプスマップを作成して用意する。デプスマップは、平面画像から自動生成してもよく、コンテンツ制作者が主として手作業で作成してもよい。このようにして用意された平面画像およびデプスマップは、具体的には、例えば、図6のようなものである。
図6の例では、平面画像の中に、オブジェクトとして、蝶、子供、第1の山、第2の山、雲が含まれる。これらのオブジェクトは、それぞれ異なるデプス値を有しており、デプスマップの中に示したように、蝶のデプス値=230、子供のデプス値=180、第1の山のデプス値=100、第2の山のデプス値=75、雲のデプス値=25となっている。通常、オブジェクトには厚みがあるので、オブジェクト自体も、ある範囲で分散するデプス値を有しているが、ここでは、説明の便宜上、オブジェクトの厚みは考慮せずに、同一のデプス値を有するものとして簡略化する。図6の例の場合には、図7に示すようなデプス値による奥行き表現がなされている。
図2において、ユーザ(ここではコンテンツ制作者とする。)は、立体映像制作装置10による処理を開始し(ステップS1)、予め作成して用意しておいた平面画像およびデプスマップを、平面画像記憶手段31に記憶させる(ステップS2)。そして、平面画像およびデプスマップの作成および保存は、複数フレームについて繰り返される。
続いて、ユーザは、条件設定処理手段21により表示手段50の画面上に表示された設定画面で、入力手段40を用いて、立体映像の制作処理に関する設定条件として、処理対象の映像区画を指定する情報(例えば、何番目のフレームから何番目のフレームまでということを示すフレーム番号)と、交差方向の角度視差量の閾値Sneg(例えば、Sneg=0.74度)と、同側方向の角度視差量の閾値Spos(例えば、Spos=0.73度)と、想定する視距離L[m]と、瞳孔間隔U[m]([mm]でもよい。)と、スクリーンの幅サイズSW[m]([mm]でもよい。)および高さサイズSH[m]([mm]でもよい。)と、映像の幅サイズPW[pixel]および高さサイズPH[pixel]と、観察コスト算出用の特徴点の位置情報(座標データ)と、前後のフレームの再生時間間隔t[sec]との入力指定を行う。そして、入力指定された設定条件は、条件設定処理手段21により設定条件記憶手段30に記憶される(ステップS3)。
それから、視差量算出処理手段22により、前述した式(8)を用いて、平面画像記憶手段31に記憶された処理対象の映像区画を構成するフレームの平面画像に対応するデプスマップを構成するデプス値dから角度視差量(角度単位の視差量)Fを算出し、視差量記憶手段32に記憶させる(ステップS4)。この際、前述した式(8)におけるDmin、Dmax、Spos、Snegというパラメータは、設定条件記憶手段30に記憶されている値を用いる。
前述した式(8)において、例えば、Dmin=0、Dmax=255を代入し、さらに、例えば、Spos=0.73度、Sneg=0.74度を代入すると、前述した式(9)のようになる。そして、例えば、前述した図6および図7で示した具体例に基づき、前述した式(9)を用いて、デプス値dから角度視差量Fを算出すると、図8に示すように、蝶については、デプス値d=230から角度視差量F=−0.596度(交差方向に0.596度)が算出され、子供については、デプス値d=180から角度視差量F=−0.308度(交差方向に0.308度)が算出され、第1の山については、デプス値d=100から角度視差量F=+0.154度(同側方向に0.154度)が算出され、第2の山については、デプス値d=75から角度視差量F=+0.298度(同側方向に0.298度)が算出され、雲については、デプス値d=25から角度視差量F=+0.586度(同側方向に0.586度)が算出される。
続いて、ユーザは、観察コストによる視差量の補正を行うか否かを判断し、表示手段50の画面上で、入力手段40を用いて、その判断結果に従った選択操作(例えば、「補正実行」ボタンの押下操作等)を行う(ステップS5)。
ステップS5で、観察コストによる視差量の補正を行うという選択操作が行われた場合には、観察コスト算出処理手段23により、先ず、前後のフレーム間の平面画像における特徴点の平面移動量、複数の特徴点の平面移動量の平均値、画面全体の平面移動量の平均値、若しくはその他の平面移動量の代表値Mxyを算出し、この代表値Mxyを、前述した式(11)を用いて、視角移動量θ[deg]に変換し、さらに視角移動速度ω[deg/sec]に変換する。
例えば、幅サイズPW=1920[pixel]および高さサイズPH=1080[pixel]の映像で、前後のフレーム間で、すなわち前後のフレームの再生時間間隔t=0.2[sec]の間に、注視オブジェクト(図9の例では、蝶)の特徴点が、P(X,Y)=P(640,360)[pixel]から、点P’(X’,Y’)=P’(1280,720)[pixel]に移動したとし、そのピクセル移動量を代表値Mxyとする。そして、この映像を、幅サイズSW=2.2[m]および高さサイズSH=1.2[m]のスクリーンで、視距離L=3.0[m]にて観察したときの動き量を、視角移動量θ[deg](平面移動量を視角で表した数値)で算出する。
スクリーン面のZ座標を0とし、観察者の視点位置Vを画面中心からの垂線上とすれば、V(XV,YV,ZV)=V(SW/2,SH/2,L)=V(1.1,0.6,3.0)[m]となる。これを、換算比率ε1=SW/PW=2.2/1920=約0.0011[m/pixel]や、ε2=SH/PH=1.2/1080=約0.0011[m/pixel]を用いて、ピクセル単位に統一すると、V(XV,YV,ZV)=V(1.1/ε1,0.6/ε2,3.0/ε2)=V(960,540,2700)[pixel]となる。また、特徴点は、P(X,Y,0)=P(640,360,0)[pixel]から、点P’(X’,Y’,0)=P’(1280,720,0)[pixel]に移動したことになる。なお、すべてをメートル単位で統一してもよく、換算比率ε1やε2で除するか、ε1やε2を乗じるかの相違だけである。
VP・VP’=715520、|VP|*|VP’|=7424800であるから、前述した式(11)より、cosθ=0.964となる。従って、視角移動量θ=15.5[deg]となり、これを再生時間間隔t=0.2[sec]で除すると、視角移動速度ω=77.5[deg/sec]となり、これが換算後の平面移動量の代表値Mxyとなる。
次に、前述した説明では、点P(X,Y)=P(640,360)[pixel]のデプス値dから、点P’ (X’,Y’)=P’(1280,720)[pixel]のデプス値d’への変化量dm=|d’−d|が、奥行き移動量の代表値Mzとなるものとしていたが、ここでは、この代表値Mzが、前述した式(9)を用いて、点Pの角度視差量と、点P’ の角度視差量との差に換算された状態で考える。すなわち、点Pのデプス値dから角度視差量Fを算出し、点P’のデプス値d’から角度視差量F’を算出し、これらの角度視差量の差の絶対値Fm=|F’−F|を算出し、Fm=0.5[deg]になったとする。これを、再生時間間隔t=0.2[sec]で除すると、Fm/t=0.5/0.2=2.5[deg/sec]となり、これが換算後の奥行き移動量の代表値Mzとなる。
続いて、観察コスト算出処理手段23により、平面移動量の代表値Mxyおよび奥行き移動量の代表値Mzから、前述した式(12)を用いて、前後のフレーム間の観察コストCNを算出する。
例えば、平面画像上の動き(水平垂直方向の動き)を重視して、α=0.9とし、β=0.1とすると、CN=αMxy+βMz=0.9×77.5+0.1×2.5=70となる。
その後、以上のようにして算出した前後のフレーム間の観察コストC1,C2,C3,…を累積加算し、映像区画の観察コストC=ΣCN(但し、N=1〜映像区画の総フレーム数から1を減じた数値)を算出する(ステップS6)。なお、以上の具体的数値を用いた例示において、平面移動量の代表値Mxyとして算出した視角移動速度ω=77.5[deg/sec]、および奥行き移動量の代表値Mzとして算出したFm/t=2.5[deg/sec]は、前後のフレーム間の観察コストCNの算出用データであるものとして説明したが、これらを、映像区画の観察コストCの算出用データとして映像区画を構成する複数のフレームについて算出された累積平面移動量ΣMxyや累積奥行き移動量ΣMzと考えてもよく、その場合には、上記の例示の0.2[sec]を、前後のフレーム間の再生時間間隔tではなく、映像区画の再生時間Tと考えればよい。
その後、視差量補正処理手段24により、観察コスト算出処理手段23により算出した映像区画の観察コストCから、予め定められた映像区画の観察コストCと補正倍率Rとの対応関係R=f(C)に従って、対応する補正倍率Rを算定し、処理対象の映像区画を構成する複数のフレームについて視差量算出処理手段22により算出されて視差量記憶手段32に記憶されている平面画像の各画素の視差量に、算定した補正倍率Rを一律に乗じる補正処理を行い、得られた補正後の各画素の視差量を、視差量記憶手段32に記憶させる(ステップS7)。
例えば、R=f(C)=1−γC(係数γ=0.002)の場合には、映像区画の観察コストC=70とすれば、補正倍率R=1−0.002×70=0.86となる。
従って、例えば、交差方向の角度視差量の閾値−Sneg=−0.74度であり、同側方向の角度視差量の閾値Spos=0.73度であるものとすると、補正後の角度視差量のとり得る範囲は、−0.74度×0.86=−0.636度から、+0.73度×0.86=0.628までとなる。また、実際に呈示される補正後の映像の角度視差量の範囲は、−Fneg×0.86〜Fpos×0.86となる。
例えば、前述した図6および図7で示した具体例に基づき、補正倍率R=0.86を用いて補正処理を行うと、図8に示すように、蝶については、補正後の角度視差量F=−0.596度×0.86=−0.513度(交差方向に0.513度)が算出され、子供については、補正後の角度視差量F=−0.308度×0.86=−0.265度(交差方向に0.265度)が算出され、第1の山については、補正後の角度視差量F=+0.154度×0.86=+0.132度(同側方向に0.132度)が算出され、第2の山については、補正後の角度視差量F=+0.298度×0.86=+0.256度(同側方向に0.256度)が算出され、雲については、補正後の角度視差量F=+0.586度×0.86=+504度(同側方向に0.504度)が算出される。
続いて、左右画像作成処理手段25により、視差量算出処理手段22により算出され、または視差量補正処理手段24により補正されて視差量記憶手段32に記憶されている平面画像の各画素の角度視差量Fを、前述した式(14)〜式(20)を用いて、ピクセル単位の視差量(図4に示すように、交差方向の視差量を2×K1とし、同側方向の視差量を2×K2とする。)に変換し、変換して得られたピクセル単位の視差量2×K1若しくは2×K2、またはK1若しくはK2を用いて、平面画像記憶手段31に記憶されている平面画像(2D画像)から、立体映像の再生用の左眼用画像および右眼用画像を作成し、作成した左眼用画像および右眼用画像を、左右画像記憶手段33に記憶させる(ステップS8)。
それから、立体映像再生処理手段26により、左右画像記憶手段33に記憶されている左眼用画像および右眼用画像を用いて、表示手段50の画面上に、立体映像を再生する(ステップS9)。そして、ユーザ(ここではコンテンツ制作者)は、再生された映像で、制作した立体映像の快適性や安全性等を確認し、立体映像の制作に関する一連の処理を終了する(ステップS10)。
このような本実施形態によれば、次のような効果がある。すなわち、立体映像制作装置10は、視差量算出処理手段22を備えているので、デプス値としてとり得る最大値Dmaxから最小値Dminまでの範囲(または本実施形態の場合とは逆に、最小値Dminから最大値Dmaxまでの範囲でもよい。)を、焦点深度内に立体映像の再生範囲を収めるように決定された交差方向の視差量の閾値−Snegから同側方向の視差量の閾値Sposまでの範囲と対応させることにより、この対応関係に従って、各デプス値dから各角度視差量(角度単位の視差量)Fを算出することができる(図5参照)。このため、デプスマップにどのような奥行き設定がなされていても、適正な範囲内に収まる角度視差量Fを算出することができるので、焦点深度内に立体映像を再生することができ、観察者の快適性を考慮した立体映像の制作を実現することができる。
また、立体映像制作装置10は、視差量算出処理手段22により、デプスマップから平面画像(2D画像)の各画素の角度視差量を算出するので、コンテンツ制作者の奥行き表現に関する意図を反映させた立体映像の制作を実現することができる。
さらに、視差量算出処理手段22は、適正な視差量の範囲(交差方向の視差量の閾値−Snegから同側方向の視差量の閾値Sposまでの範囲)を、ピクセル単位やメートル単位ではなく、角度視差量(角度単位の視差量)で設定しておき、デプスマップを構成する各デプス値dから、平面画像の各画素の角度視差量Fを算出する構成とされているので、ユーザが、視距離やスクリーンサイズや映像サイズ等の視聴環境パラメータを指定することにより、視聴環境に応じた視差量の調整を行うことができる。
そして、立体映像制作装置10は、観察コスト算出処理手段23および視差量補正処理手段24を備えているので、平面移動量の代表値Mxyや奥行き移動量の代表値Mzから観察コストCを算出し、この観察コストCを用いて角度視差量Fを補正することができるため、立体映像の観察者の視覚的負担を観察コストCにより推定し、観察者の安全性を考慮した立体映像の制作を実現することができる。
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
すなわち、前記実施形態では、立体映像制作装置10が、主としてコンテンツ制作者の使用する立体映像開発ツールに適用された場合について説明を行ったが、立体映像制作装置10は、立体映像開発ツールへの適用に限定されるものではなく、例えば、図11に示すように、各種のケースでの適用が可能である。
図11において、ケース(1)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップが作成され、これらが、DVD等の記録媒体等を介して、立体映像の観察者の使用する立体映像チューナに、直接に読み込まれる場合である。このケース(1)では、立体映像チューナにおいて、スクリーンサイズや視距離等の視聴環境パラメータの設定、視差量(角度)の算出、左眼用画像および右眼用画像の作成、およびこれらの画像を用いた立体映像の再生が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像チューナに適用されている場合となる。
ケース(2)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、平面画像および角度視差量が、DVD等の記録媒体等を介して、立体映像の観察者の使用する立体映像チューナに読み込まれ、立体映像チューナにおいて、スクリーンサイズや視距離等の視聴環境パラメータが設定され、平面画像および角度視差量から左眼用画像および右眼用画像が作成される場合である。このケース(2)では、立体映像開発ツールにおいて、視差量(角度)の算出が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像開発ツールに適用されている場合となる。
ケース(3)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、さらに平面画像および角度視差量から左眼用画像および右眼用画像が作成され、左眼用画像および右眼用画像が、DVD等の記録媒体等を介して、立体映像の観察者の使用する立体映像チューナに読み込まれる場合である。このケース(3)では、立体映像開発ツールにおいて、視差量(角度)の算出、左眼用画像および右眼用画像の作成が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像開発ツールに適用されている場合となる。
ケース(4)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップが作成され、これらが、立体映像の配信者や放送事業者の使用する立体映像提供システムへ送られ、立体映像提供システムにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、平面画像および角度視差量が、立体映像提供システムから配信または放送されて立体映像の観察者の使用する立体映像チューナに読み込まれ、立体映像チューナにおいて、スクリーンサイズや視距離等の視聴環境パラメータの設定、平面画像および角度視差量からの左眼用画像および右眼用画像の作成、並びにこれらの画像を用いた立体映像の再生が行われる場合である。このケース(4)では、立体映像提供システムにおいて、視差量(角度)の算出が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像提供システムに適用されている場合となる。
ケース(5)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップが作成され、これらが、立体映像の配信者や放送事業者の使用する立体映像提供システムへ送られ、立体映像提供システムにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、さらに平面画像および角度視差量から左眼用画像および右眼用画像が作成され、左眼用画像および右眼用画像が、立体映像提供システムから配信または放送されて立体映像の観察者の使用する立体映像チューナに読み込まれ、立体映像チューナにおいて、立体映像の再生が行われる場合である。このケース(5)では、立体映像提供システムにおいて、視差量(角度)の算出、左眼用画像および右眼用画像の作成が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像提供システムに適用されている場合となる。
ケース(6)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップが作成され、これらが、立体映像の配信者や放送事業者の使用する立体映像提供システムへ送られ、さらに平面画像およびデプスマップが、立体映像提供システムから配信または放送されて立体映像の観察者の使用する立体映像チューナに読み込まれる場合である。このケース(6)では、立体映像チューナにおいて、スクリーンサイズや視距離等の視聴環境パラメータの設定、視差量(角度)の算出、左眼用画像および右眼用画像の作成、およびこれらの画像を用いた立体映像の再生が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像チューナに適用されている場合となる。
ケース(7)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、平面画像および角度視差量が、立体映像の配信者や放送事業者の使用する立体映像提供システムへ送られ、立体映像提供システムにおいて、平面画像および角度視差量から左眼用画像および右眼用画像が作成され、左眼用画像および右眼用画像が、立体映像提供システムから配信または放送されて立体映像の観察者の使用する立体映像チューナに読み込まれ、立体映像チューナにおいて、立体映像の再生が行われる場合である。このケース(7)では、立体映像開発ツールにおいて、視差量(角度)の算出が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像開発ツールに適用されている場合となる。
ケース(8)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、平面画像および角度視差量が、立体映像の配信者や放送事業者の使用する立体映像提供システムへ送られ、さらに平面画像および角度視差量が、立体映像提供システムから配信または放送されて立体映像の観察者の使用する立体映像チューナに読み込まれ、立体映像チューナにおいて、スクリーンサイズや視距離等の視聴環境パラメータの設定、平面画像および角度視差量からの左眼用画像および右眼用画像の作成、並びにこれらの画像を用いた立体映像の再生が行われる場合である。このケース(8)では、立体映像開発ツールにおいて、視差量(角度)の算出が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像開発ツールに適用されている場合となる。
ケース(9)は、立体映像のコンテンツ制作者の使用する立体映像開発ツールにおいて、平面画像およびデプスマップから角度視差量(角度単位の視差量)が算出され、さらに平面画像および角度視差量から左眼用画像および右眼用画像が作成され、左眼用画像および右眼用画像が、立体映像の配信者や放送事業者の使用する立体映像提供システムへ送られ、さらに左眼用画像および右眼用画像が、立体映像提供システムから配信または放送されて立体映像の観察者の使用する立体映像チューナに読み込まれ、立体映像チューナにおいて、立体映像の再生が行われる場合である。このケース(9)では、立体映像開発ツールにおいて、視差量(角度)の算出、左眼用画像および右眼用画像の作成が行われるので、図11中の一点鎖線の如く、立体映像制作装置10の主要な機能(本発明に係る機能)が、立体映像開発ツールに適用されている場合となる。