IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許72539713D映像の奥行き制御装置及びプログラム
<>
  • 特許-3D映像の奥行き制御装置及びプログラム 図1
  • 特許-3D映像の奥行き制御装置及びプログラム 図2
  • 特許-3D映像の奥行き制御装置及びプログラム 図3
  • 特許-3D映像の奥行き制御装置及びプログラム 図4
  • 特許-3D映像の奥行き制御装置及びプログラム 図5
  • 特許-3D映像の奥行き制御装置及びプログラム 図6
  • 特許-3D映像の奥行き制御装置及びプログラム 図7
  • 特許-3D映像の奥行き制御装置及びプログラム 図8
  • 特許-3D映像の奥行き制御装置及びプログラム 図9
  • 特許-3D映像の奥行き制御装置及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-30
(45)【発行日】2023-04-07
(54)【発明の名称】3D映像の奥行き制御装置及びプログラム
(51)【国際特許分類】
   H04N 13/128 20180101AFI20230331BHJP
   H04N 13/337 20180101ALI20230331BHJP
   G06F 3/0484 20220101ALI20230331BHJP
   G09G 5/00 20060101ALI20230331BHJP
   G09G 5/36 20060101ALI20230331BHJP
   G06T 19/00 20110101ALI20230331BHJP
【FI】
H04N13/128
H04N13/337
G06F3/0484
G09G5/00 510H
G09G5/36 500
G09G5/00 550H
G06T19/00 F
【請求項の数】 4
(21)【出願番号】P 2019089058
(22)【出願日】2019-05-09
(65)【公開番号】P2020184721
(43)【公開日】2020-11-12
【審査請求日】2022-04-01
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】宮下 山斗
(72)【発明者】
【氏名】澤畠 康仁
(72)【発明者】
【氏名】小峯 一晃
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】米国特許出願公開第2014/0035902(US,A1)
【文献】特開2017-11520(JP,A)
【文献】特開2012-231405(JP,A)
【文献】特開2015-91071(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 13/00-13/398
G06F 3/048-3/04895
G09G 5/00-5/42
G06T 19/00-19/20
(57)【特許請求の範囲】
【請求項1】
ユーザによる3D映像の制御点操作装置の操作に従って複数の制御点を設定し、前記複数の制御点を表示装置へ出力する制御点設定部と、
所定次数の基底関数が、前記制御点設定部により設定された前記複数の制御点に近似するように、奥行き圧縮関数を生成し、前記奥行き圧縮関数を表示装置へ出力する関数生成部と、
3D映像を入力し、当該3D映像に対し、前記関数生成部により生成された前記奥行き圧縮関数を用いて奥行きを圧縮し、奥行き圧縮後の3D映像を生成する奥行き圧縮部と、
前記奥行き圧縮部により生成された前記奥行き圧縮後の3D映像を、表示装置へ出力する3D表示部と、
を備えたことを特徴とする奥行き制御装置。
【請求項2】
請求項1に記載の奥行き制御装置において、
前記奥行き圧縮関数を、圧縮前の奥行き座標値を圧縮後の奥行き座標値に変換する前記所定次数の基底関数とし、
前記制御点を、前記圧縮前の奥行き座標値及び前記圧縮後の奥行き座標値からなる座標点とする、ことを特徴とする奥行き制御装置。
【請求項3】
請求項2に記載の奥行き制御装置において、
前記制御点設定部は、
前記ユーザによる前記制御点操作装置の操作に従って、前記制御点操作装置から、前記複数の制御点のそれぞれに対応する奥行きデータ及び高さデータを入力し、前記奥行きデータ及び前記高さデータに基づいて奥行き高さデータを求め、前記圧縮前の奥行き座標値に対応する前記奥行きデータ、及び前記圧縮後の奥行き座標値に対応する前記奥行き高さデータからなる前記制御点を設定し、
前記関数生成部は、
前記複数の制御点の数をNとし、前記所定次数をKとして、式:N=K+1を満たす場合、前記奥行きデータを要素とする奥行き行列の逆行列と、前記奥行き高さデータを要素とする奥行き高さ行列との積を演算することで、前記所定次数の基底関数における次数毎の係数を決定し、
式:N<K+1または式:N>K+1を満たす場合、前記奥行き行列の疑似逆行列と前記奥行き高さ行列との積を演算することで、前記次数毎の係数を決定する係数決定部と、
前記係数決定部により決定された前記次数毎の係数を、前記所定次数の基底関数に設定し、前記奥行き圧縮関数を決定する関数決定部と、
を備えたことを特徴とする奥行き制御装置。
【請求項4】
コンピュータを、請求項1から3までのいずれか一項に記載の奥行き制御装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3D映像のシーンの奥行きを圧縮する奥行き制御装置及びプログラムに関する。
【背景技術】
【0002】
従来、3D映像を表示する装置(以下、「3D映像表示装置」という。)において、広い奥行きのシーンを表示する際に様々な課題があることが知られている。
【0003】
例えば、3D映像表示装置として2眼立体ディスプレイを用いた場合には、広い奥行きを表現すると、輻輳と調節の矛盾が大きくなる。また、特別な眼鏡なしで立体像を観ることが可能なボリュメトリックディスプレイを用いた場合には、表示面から奥行き方向に離れた物体がぼやけて表示されるという特徴がある。
【0004】
このような課題を解決するため、シーンの奥行きを圧縮して表示する奥行き圧縮表現技術が研究されている。奥行き圧縮表現は、3Dモデルの頂点を幾何学的に制御し、広い奥行きのシーンを狭い範囲に圧し潰す表現である。シーンを圧縮する際には、奥行き方向の圧縮の程度にかかわらず、網膜像に投影されるサイズを維持するような変換処理が行われる。
【0005】
奥行き圧縮表現技術の例としては、単純な形状の非線形関数であるシグモイド(Sigmoid)関数を奥行き圧縮関数として用いた技術が知られている(例えば、非特許文献1を参照)。
【0006】
シグモイド関数は、3Dモデルを構成する頂点の初期の奥行き座標値zを圧縮後の奥行き座標値z’に変換する関数f(z)=z’である。このシグモイド関数を奥行き圧縮関数として用いることにより、被写体が観視者から奥行き方向に離れるほど、圧縮の程度を大きくすることができる。
【先行技術文献】
【非特許文献】
【0007】
【文献】Yasuhito Sawahata and Toshiya Morita,“Estimating Depth Range Required for 3-D Displays to Show Depth-Compressed Scenes Without Including Sense of Unnaturalness”,IEEE Transactions on Broadcasting Vol.64 No.2 June 2018.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、シグモイド関数を奥行き圧縮関数として用いた場合には、予め設定された基底関数及び少数のパラメータにより3D映像のシーンの奥行きが制御されることから、奥行き範囲にある被写体を強調表現する際の自由度が小さい。
【0009】
これは、従来の奥行き圧縮表現技術では、奥行き範囲にある被写体を柔軟に強調表現することが考慮されなかったからである。シグモイド関数は、奥行き圧縮関数として簡潔に記述できるが、複雑な形状の関数ではないため、被写体を強調表現する際の自由度は小さい。
【0010】
ここで、被写体を強調表現するとは、奥行きが制御された後の被写体の画質が、奥行きが制御される前の元の被写体の画質に近くなるように表現することを意味する。
【0011】
3D映像のシーンにおいて、ある奥行き範囲に1つの被写体が存在する場合、従来の奥行き圧縮表現技術により、その1つの被写体を強調することができる。これに対し、複数の奥行き範囲のそれぞれに被写体が存在する場合には、1つの被写体を強調することはできるが、全ての被写体を強調することができない。
【0012】
このように、従来の奥行き圧縮表現技術では、複数の被写体の奥行きをそれぞれ柔軟に表現することができず、3D映像制作者の意図を反映した映像を表現することができないという問題があった。
【0013】
このため、シグモイド関数に代わる新たな関数を奥行き圧縮関数として用いることが所望されていた。新たな関数は、ステップが複数存在する複雑な関数であることが想定され、複数の奥行き範囲のそれぞれに被写体が存在する場合であっても、3D映像制作者の意図を反映して、所望の複数の被写体を強調表現できる関数であることが望ましい。
【0014】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、3D映像のシーンを奥行き圧縮する際に、3D映像制作者の意図を反映可能な奥行き制御装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0015】
前記課題を解決するために、請求項1の奥行き制御装置は、ユーザによる3D映像の制御点操作装置の操作に従って複数の制御点を設定し、前記複数の制御点を表示装置へ出力する制御点設定部と、所定次数の基底関数が、前記制御点設定部により設定された前記複数の制御点に近似するように、奥行き圧縮関数を生成し、前記奥行き圧縮関数を表示装置へ出力する関数生成部と、3D映像を入力し、当該3D映像に対し、前記関数生成部により生成された前記奥行き圧縮関数を用いて奥行きを圧縮し、奥行き圧縮後の3D映像を生成する奥行き圧縮部と、前記奥行き圧縮部により生成された前記奥行き圧縮後の3D映像を、表示装置へ出力する3D表示部と、を備えたことを特徴とする。
【0016】
また、請求項2の奥行き制御装置は、請求項1に記載の奥行き制御装置において、前記奥行き圧縮関数を、圧縮前の奥行き座標値を圧縮後の奥行き座標値に変換する前記所定次数の基底関数とし、前記制御点を、前記圧縮前の奥行き座標値及び前記圧縮後の奥行き座標値からなる座標点とする、ことを特徴とする。
【0017】
また、請求項3の奥行き制御装置は、請求項2に記載の奥行き制御装置において、前記制御点設定部が、前記ユーザによる前記制御点操作装置の操作に従って、前記制御点操作装置から、前記複数の制御点のそれぞれに対応する奥行きデータ及び高さデータを入力し、前記奥行きデータ及び前記高さデータに基づいて奥行き高さデータを求め、前記圧縮前の奥行き座標値に対応する前記奥行きデータ、及び前記圧縮後の奥行き座標値に対応する前記奥行き高さデータからなる前記制御点を設定し、前記関数生成部が、前記複数の制御点の数をNとし、前記所定次数をKとして、式:N=K+1を満たす場合、前記奥行きデータを要素とする奥行き行列の逆行列と、前記奥行き高さデータを要素とする奥行き高さ行列との積を演算することで、前記所定次数の基底関数における次数毎の係数を決定し、式:N<K+1または式:N>K+1を満たす場合、前記奥行き行列の疑似逆行列と前記奥行き高さ行列との積を演算することで、前記次数毎の係数を決定する係数決定部と、前記係数決定部により決定された前記次数毎の係数を、前記所定次数の基底関数に設定し、前記奥行き圧縮関数を決定する関数決定部と、を備えたことを特徴とする。
【0018】
さらに、請求項4のプログラムは、コンピュータを、請求項1から3までのいずれか一項に記載の奥行き制御装置として機能させることを特徴とする。
【発明の効果】
【0019】
以上のように、本発明によれば、3D映像のシーンを奥行き圧縮する際に、複数の奥行き範囲にある複数の被写体を強調することができ、3D映像制作者の意図を反映することが可能となる。
【図面の簡単な説明】
【0020】
図1】本発明の実施形態による奥行き制御装置を含む奥行き制御システムの全体構成例を説明する概略図である。
図2】制御点操作装置の外観構成及び出力データの例を説明する概略図である。
図3】奥行き制御装置の構成例を示すブロック図である。
図4】奥行き制御装置の処理例を示すフローチャートである。
図5】関数生成部の構成例を示すブロック図である。
図6】奥行き圧縮関数fを説明する図である。
図7】奥行き圧縮部による奥行き圧縮の原理を説明する図である。
図8】3D映像のシーンにおける俯瞰図の例である。
図9】3D映像表示装置に表示される3D映像の例を示す図である。
図10】関数表示装置に表示される奥行き圧縮関数f及び制御点Ci(si,ui)の例を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔奥行き制御システム〕
まず、奥行き制御システムについて説明する。図1は、本発明の実施形態による奥行き制御装置を含む奥行き制御システムの全体構成例を説明する概略図である。この奥行き制御システム1は、制御点操作装置2、奥行き制御装置3、3D映像表示装置4及び関数表示装置5を備えて構成される。
【0022】
奥行き制御システム1は、当該奥行き制御システム1のユーザである3D映像制作者による3D映像の制御点操作装置2の操作に従って複数の制御点Ciを設定し、複数の制御点Ciを有する形状(特性)に近くなるように奥行き圧縮関数fを生成する。そして、奥行き制御システム1は、奥行き圧縮関数fを用いて3D映像を奥行き圧縮し、奥行き圧縮関数f、制御点Ci及び奥行き圧縮後の3D映像を画面表示する。
【0023】
制御点操作装置2は、3D映像制作者が操作する奥行圧縮関数制御インターフェースである。制御点操作装置2は、予め設定されたフェーダ本数Nのそれぞれのフェーダ等に対する3D映像制作者の操作に従い、奥行き圧縮関数fを生成する際に用いる制御点Ciを設定するための奥行きデータsi及び高さデータtiを生成する。Nは3以上の整数であり、i=0~N-1である。
【0024】
尚、フェーダ本数Nは、3D映像制作者により自由に変更できるようにしてもよい。フェーダ本数Nは、制御点Ciの数でもある。
【0025】
制御点操作装置2は、フェーダ本数N、奥行きデータsi及び高さデータtiを奥行き制御装置3へ出力する。制御点操作装置2の詳細については後述する。
【0026】
制御点Ciは、奥行き圧縮関数fの形状を決定するためのデータ、具体的には、奥行き圧縮関数fを近似するためのデータである。奥行きデータsiは、圧縮前の奥行き座標値zの軸における位置を示す値である。高さデータtiは、奥行き圧縮関数fにより奥行き座標値zを圧縮変換する際の圧縮度合いを示す値であり、その範囲は0≦ti≦1である。高さデータti=1は、奥行き圧縮されないことを意味し、高さデータti=0は、最大の奥行き圧縮がなされることを意味する。
【0027】
奥行き制御装置3は、3D映像制作者による制御点操作装置2の操作に従い、奥行き圧縮関数fを生成し、奥行き圧縮関数fを用いて3D映像を奥行き圧縮する装置である。
【0028】
奥行き制御装置3は、制御点操作装置2からフェーダ本数N、奥行きデータsi及び高さデータtiを入力すると共に、予め設定された次数Kを入力し、さらに3D映像を入力する。そして、奥行き制御装置3は、奥行きデータsi及び高さデータtiに基づいて制御点Ciを設定し、次数Kの基底関数が制御点Ciに近似するように、奥行き圧縮関数fを生成する。奥行き制御装置3は、奥行き圧縮関数fを用いて3D映像を奥行き圧縮する。
【0029】
奥行き制御装置3は、奥行き圧縮後の3D映像をレンダリングし、例えば2次元の描画データを生成し、2次元の描画データを3D映像表示装置4へ出力する。また、奥行き制御装置3は、奥行き圧縮関数f(奥行き圧縮関数fの形状を表すデータ)及び制御点Ciを関数表示装置5へ出力する。奥行き制御装置3の詳細については後述する。
【0030】
3D映像表示装置4は、奥行き制御装置3から例えば2次元の描画データを入力し、これを3D映像として画面表示する。関数表示装置5は、奥行き制御装置3から奥行き圧縮関数f及び制御点Ciを入力し、奥行き圧縮関数fの形状及び制御点Ciを画面表示する。
【0031】
これにより、3D映像制作者は、3D映像表示装置4及び関数表示装置5の表示から、リアルタイムに、奥行き圧縮関数fによる奥行き圧縮の表現の効果を確かめることができる。
【0032】
また、3D映像制作者は、奥行き圧縮後の3D映像及び奥行き圧縮関数fの形状をリアルタイムに確認しながら、フェーダ等を操作することで、手動で制御点Ciを設定し、シーンの特徴に合わせた奥行き圧縮関数fを設定することができる。この場合、3D映像制作者は、フェーダ本数N及び奥行き圧縮関数fの次数Kを変更することもできる。
【0033】
したがって、奥行き制御装置3は、3D映像制作者の意図を反映した、奥行き圧縮された3D映像を生成することができる。つまり、3D映像のシーンを奥行き圧縮する際に、複数の奥行き範囲にある所望の複数の被写体を強調することができ、3D映像制作者の意図を反映することができる。
【0034】
〔制御点操作装置2〕
次に、図1に示した制御点操作装置2について詳細に説明する。図2は、制御点操作装置2の外観構成及び出力データの例を説明する概略図である。この制御点操作装置2は、奥行き操作ダイヤル部30、高さ操作フェーダ部31及び奥行きデータ表示部32を備えている。フェーダ本数Nは8とする。
【0035】
奥行き操作ダイヤル部30は、フェーダ本数N分のダイヤルからなり、3D映像制作者がダイヤルを左右に回転操作することで、ダイヤルの回転位置に対応する奥行きデータs0~s7を生成する。
【0036】
具体的には、奥行き操作ダイヤル部30は、ダイヤル毎に予め設定されたそれぞれの奥行きデータ基準値に対し、予め設定された範囲内で、ダイヤルの操作によるその回転位置に対応する奥行きデータs0~s7を生成する。そして、奥行き操作ダイヤル部30は、奥行きデータs0~s7を奥行き制御装置3へ出力する。
【0037】
高さ操作フェーダ部31は、フェーダ本数N分のフェーダからなり、フェーダ毎に、3D映像制作者がフェーダをスライド操作することで、予め設定された0≦ti≦1の範囲内で、フェーダの高さ位置に対応する高さデータt0~t7を生成する。
【0038】
高さ操作フェーダ部31は、高さデータt0~t7を奥行き制御装置3へ出力する。高さデータtiは、ti-1≦ti≦ti+1を満たすものとする。
【0039】
奥行きデータ表示部32は、フェーダ本数N分の表示器からなり、奥行き操作ダイヤル部30により生成された奥行きデータs0~s7を、対応する表示器にそれぞれ表示する。
【0040】
これにより、3D映像制作者は、奥行き操作ダイヤル部30のダイヤル操作に伴う奥行きデータs0~s7を、奥行きデータ表示部32にて確認することができる。
【0041】
また、制御点操作装置2は、奥行き操作ダイヤル部30により生成された奥行きデータsi及び高さ操作フェーダ部31により生成された高さデータtiを、制御点Fi(si,ti)として生成することができる。
【0042】
つまり、3D映像制作者は、奥行き操作ダイヤル部30のダイヤル及び高さ操作フェーダ部31のフェーダを操作することにより、制御点Fi(si,ti)を変更することができる。
【0043】
〔奥行き制御装置3〕
次に、図1に示した奥行き制御装置3について詳細に説明する。図3は、奥行き制御装置3の構成例を示すブロック図であり、図4は、奥行き制御装置3の処理例を示すフローチャートである。
【0044】
奥行き制御装置3は、制御点設定部10、関数生成部11、奥行き圧縮部12及び3D描画部(3D表示部)13を備えている。奥行き制御装置3は、複雑な形状を表現可能なK次関数を基底関数として用いる。次数Kは、3D映像制作者が表現したい奥行き圧縮関数fの複雑さに応じて予め設定される。尚、次数Kは、3D映像制作者により自由に変更できるようにしてもよい。
【0045】
奥行き制御装置3は、予め設定された次数Kを入力し、制御点操作装置2からフェーダ本数N、奥行きデータsi及び高さデータtiを入力し、さらに3D映像を入力する(ステップS401)。
【0046】
(制御点設定部10)
制御点設定部10は、奥行きデータsi及び高さデータtiを入力し、パラメータi毎に、奥行きデータsiを高さデータtiに乗算することで、奥行き高さデータuiを求める(ui=si×ti)。
【0047】
制御点設定部10は、パラメータi毎に、奥行きデータsi及び奥行き高さデータuiからなる制御点Ci(si,ui)を設定し、制御点リストを関数生成部11及び関数表示装置5に出力する(ステップS402)。
【0048】
制御点リストは、制御点C0(s0,u0)~CN-1(sN-1,uN-1)から構成される。制御点Ci(si,ui)において、奥行きデータsiは、圧縮前の奥行き座標値zに相当し、奥行き高さデータuiは、圧縮後の奥行き座標値z’に相当する。つまり、制御点Ci(si,ui)は、圧縮前の奥行き座標値zを示す横軸、及び圧縮後の奥行き座標値z’を示す縦軸における座標系上の座標点である。
【0049】
これにより、制御点操作装置2により生成された制御点Fi(si,ti)が制御点Ci(si,ui)に変換され、3D映像制作者は、関数表示装置5にて制御点Ci(si,ui)の位置を確認することができる。
【0050】
制御点Fi(si,ti)を制御点Ci(si,ui)に変換するのは、高さデータti=1のときに、圧縮前の奥行き座標値zと圧縮後の奥行き座標値z’とが同じになることを考慮したからである。
【0051】
高さデータti=1は非圧縮であることを意味し、制御点Ci(si,si)となり、z’=zとなる(後述する図6の直線α上の点に相当する)。高さデータti=0は最大圧縮であることを意味し、制御点Ci(si,0)となり、z’=0となる(後述する図6の横軸を参照)。
【0052】
(関数生成部11)
関数生成部11は、制御点設定部10から制御点リストを入力すると共に、予め設定された次数Kを入力し、さらに、制御点操作装置2からフェーダ本数Nを入力する。
【0053】
関数生成部11は、次数Kの基底関数が制御点Ci(si,ui)に近似するように、奥行き圧縮関数fを生成し、奥行き圧縮関数fを奥行き圧縮部12及び関数表示装置5に出力する(ステップS403)。
【0054】
これにより、次数Kの基底関数及び制御点Ci(si,ui)から奥行き圧縮関数fが生成され、3D映像制作者は、関数表示装置5にて奥行き圧縮関数fの形状を確認することができる。
【0055】
(奥行き圧縮関数fの近似処理)
ここで、奥行き圧縮関数fの近似処理の原理について説明する。次数Kの基底関数を以下の式に示す。ak(k=0~K)は、基底関数における次数毎の係数である。前述のとおり、zは圧縮前の奥行き座標値であり、z’は圧縮後の奥行き座標値である。つまり、奥行き圧縮関数fは、圧縮前の奥行き座標値zを圧縮後の奥行き座標値z’に変換する関数である。
【数1】
次数Kは、表現の自由度に関連する。係数ak(k=0~K)により係数行列aが構成されるものとする。
【0056】
以下の式に示す誤差Eが最小となるように係数行列aを求めることで、次数Kの基底関数を制御点Ci(si,ui)に近似することができ、そのときの次数Kの基底関数を奥行き圧縮関数fとすることができる。
【数2】
【0057】
前記式(2)の誤差Eが最小となるように係数行列aを求める場合、以下の式が成り立つ。
【数3】
【0058】
このとき、以下の関係が得られる。
【数4】
奥行き高さ行列uは、奥行き高さデータuiから構成され、奥行き行列Sは、奥行きデータsi kにより構成されるものとする。i=0~N-1、k=0~Kである。
【0059】
奥行き行列Sは、以下の式で表される。
【数5】
奥行き行列Sを構成する各要素は、i=0のとき奥行きデータs0 0~s0 K=s0であり、・・・、i=N-1のとき奥行きデータsN-1 0~sN-1 K=sN-1である。
【0060】
フェーダ本数N及び次数Kの関係が、式:N=K+1を満たす場合(フェーダ本数Nが次数Kに1を加えた値に等しい場合)、奥行き行列Sは正則行列(行数と列数が同じ行列)となる。したがって、係数行列aは、以下の式のとおり、奥行き行列の逆行列S-1と奥行き高さ行列uの積を演算することで求めることができる。
【数6】
【0061】
一方、フェーダ本数N及び次数Kの関係が、式:N<K+1または式:N>K+1を満たす場合(フェーダ本数Nが次数Kに1を加えた値よりも小さいまたは大きい場合、すなわちフェーダ本数Nが次数Kに1を加えた値に等しくない場合)、奥行き行列Sは正則行列ではない。したがって、係数行列aは、以下の式のとおり、奥行き行列の疑似逆行列S+と奥行き高さ行列uの積を演算することで求めることができる。
【数7】
【0062】
このように、前記式(6)または前記式(7)により係数行列aを求めることで、次数Kの基底関数を制御点Ci(si,ui)に近似することができ、そのときの次数Kの基底関数を奥行き圧縮関数fとすることができる。つまり、次数Kの基底関数が制御点Ci(si,ui)に近似するように、奥行き圧縮関数fを生成することができる。
【0063】
(関数生成部11の構成例)
図5は、関数生成部11の構成例を示すブロック図である。この関数生成部11は、係数決定部20及び関数決定部21を備えている。
【0064】
係数決定部20は、制御点設定部10から制御点リストの制御点Ci(si,ui)を入力すると共に、制御点操作装置2からフェーダ本数Nを入力し、さらに、予め設定された次数Kを入力する。
【0065】
係数決定部20は、次数Kの基底関数が制御点Ci(si,ui)に近似するように、係数akにより構成される係数行列aを決定する。係数決定部20は、係数行列aを構成する係数akを関数決定部21に出力する。
【0066】
具体的には、係数決定部20は、フェーダ本数N及び次数Kの関係が、式:N=K+1を満たすと判定した場合、前記式(6)を用いて係数行列aを決定する。すなわち、係数決定部20は、奥行きデータsi kにより構成される奥行き行列の逆行列S-1と奥行き高さデータuiにより構成される奥行き高さ行列uの積を演算し、係数行列aを決定する。
【0067】
一方、係数決定部20は、フェーダ本数N及び次数Kの関係が、式:N<K+1または式:N>K+1を満たすと判定した場合、前記式(7)を用いて係数行列aを決定する。すなわち、係数決定部20は、奥行き行列の疑似逆行列S+と奥行き高さ行列uの積を演算し、係数行列aを決定する。
【0068】
関数決定部21は、係数決定部20から係数akを入力すると共に、予め設定された次数Kを入力する。そして、関数決定部21は、前記式(1)に示した次数Kの基底関数に係数akを設定し、奥行き圧縮関数fを決定する。関数決定部21は、奥行き圧縮関数fを奥行き圧縮部12及び関数表示装置5に出力する。
【0069】
(奥行き圧縮関数f)
図6は、奥行き圧縮関数fを説明する図である。横軸は、圧縮前の奥行き座標値z[m]を示し、縦軸は、圧縮後の奥行き座標値z’[m]を示す。直線αは、高さデータti=1のときの奥行き圧縮関数fを示し、このときの奥行き圧縮関数fは非圧縮の関数であり、z’=f(z)=zである。
【0070】
丸点は、制御点C0(s0,u0)~C7(s7,u7)を示し、図2に示した奥行き操作ダイヤル部30の各ダイヤルの位置及び高さ操作フェーダ部31の各フェーダの位置に対応している。
【0071】
制御点Ci(si,ui)は、圧縮前の奥行き座標値zを示す横軸、及び圧縮後の奥行き座標値z’を示す縦軸における座標系上の座標点である。奥行きデータsiは、圧縮前の奥行き座標値z(図6の横軸)に対応し、奥行き高さデータuiは、圧縮後の奥行き座標値z’(図6の縦軸)に対応する。奥行き高さデータui=siの場合(高さデータti=1の場合)、制御点Ci(si,ui)は直線α上の点にあることを意味する。
【0072】
従来の奥行き圧縮関数はシグモイド関数であり、本発明の実施形態による奥行き圧縮関数fは、その形状を制御点Ci(si,ui)に近似するように生成された関数である。図6の奥行き圧縮関数fの形状は、次数K=4の場合を示している。
【0073】
図6から、従来の奥行き圧縮関数には、1つのフラットな領域(傾きが0に近い領域、β1)が存在するのに対し、奥行き圧縮関数fには、2つのフラットな領域(β2,β3)が存在することがわかる。
【0074】
3D映像制作者は、図2に示した奥行き操作ダイヤル部30のダイヤルを操作することにより、当該フェーダに対応する制御点Ci(si,ui)の位置を、図6の座標系において左右に移動させることができる。この場合の制御点Ci(si,ui)は、圧縮後の奥行き座標値z’を保持したまま、圧縮前の奥行き座標値zを変化させた位置へ移動する。
【0075】
また、3D映像制作者は、高さ操作フェーダ部31のフェーダをスライドすることにより、当該フェーダに対応する制御点Ci(si,ui)の位置を、図6の座標系において上下に移動させることができる。この場合の制御点Ci(si,ui)は、圧縮前の奥行き座標値zを保持したまま、圧縮後の奥行き座標値z’を変化させた位置(所定の圧縮前の奥行き座標値zにおいて、圧縮後の奥行き座標値z’=0から直線αの値までの間の位置)へ移動する。
【0076】
このように、奥行き圧縮関数fは、制御点Ci(si,ui)及び基底関数の次数Kに応じて、表現したい複雑さの形状となるように、自在に決定することができる。
【0077】
(奥行き圧縮部12)
図3及び図4に戻って奥行き圧縮部12は、関数生成部11から奥行き圧縮関数fを入力すると共に、外部から3D映像を入力する。そして、奥行き圧縮部12は、3D映像に対し、奥行き圧縮関数fを用いて奥行き圧縮を行うことで、奥行き圧縮後の3D映像を生成する(ステップS404)。奥行き圧縮部12は、奥行き圧縮後の3D映像を3D描画部13に出力する。
【0078】
図7は、奥行き圧縮部12による奥行き圧縮の原理を説明する図である。3D映像のXYZ座標系において、奥行き圧縮関数fにより、被写体H1の奥行き座標値zが被写体H2の奥行き座標値z’に圧縮されるものとする。奥行き圧縮前の被写体H1の頂点pの座標を(x,y,z)とし、奥行き圧縮後の被写体H2の頂点p’の座標を(x’,y’,z’)とする。
【0079】
奥行き圧縮の処理は、奥行き圧縮前の被写体H1の頂点p(x,y,z)を、奥行き圧縮後の被写体H2の頂点p’(x’,y’,z’)に変換する処理である。ここで、Z軸は、観視者からみた画面の奥行き方向に一致するものとする。
【0080】
奥行き圧縮の処理による変換を式で表すと、z’=f(z),x’=x×z’/z,y’=y×z’/zとなる。x’及びy’の変換は、座標系の原点から単眼視した際に、物体の網膜像に投影されるサイズが奥行き圧縮前後で変化しないようにするための処理である。
【0081】
このように、奥行き圧縮部12は、入力した3D映像に含まれる被写体H1について複数の頂点を設定し、これらの頂点に対し、奥行き圧縮関数fによる奥行き圧縮の処理をそれぞれ行う。そして、奥行き圧縮部12は、奥行き圧縮後の被写体H2における複数の頂点をそれぞれ求め、奥行き圧縮後の3D映像を生成する。
【0082】
(3D描画部13)
図3及び図4に戻って、3D描画部13は、奥行き圧縮部12から奥行き圧縮後の3D映像を入力する。そして、3D描画部13は、奥行き圧縮後の3D映像をレンダリングすることで、例えば3D描画するための2次元の描画データを生成し、2次元の描画データを3D映像表示装置4へ出力する(ステップS405)。
【0083】
これにより、3D映像制作者は、3D映像表示装置4にて奥行き圧縮後の3D映像を確認することができる。
【0084】
〔画面表示例〕
次に、図1に示した3D映像表示装置4に表示される3D映像の例、及び関数表示装置5に表示される奥行き圧縮関数fの例について説明する。
【0085】
図8は、3D映像のシーンにおける俯瞰図の例である。図8に示す3D映像の俯瞰図において、矢印γ1に示す方向(奥行き圧縮方向)にて、3D映像のシーンを奥行き圧縮するものとする。
【0086】
図9は、3D映像表示装置4に表示される3D映像の例を示す図である。この例では、3D映像表示装置4により、偏光方式を用いたラインバイラインにて左右眼映像が3D映像として表示される。
【0087】
3D映像のシーンが図8に示した矢印γ1の方向にて奥行き圧縮されることで、3D映像表示装置4には、図9に示すように、図8に示した矢印γ2の方向(描画方向)から見た3D映像が表示される。
【0088】
尚、3D映像表示装置4は、シャッターメガネ方式を用いた2眼立体ディスプレイであってもよいし、特別な眼鏡を必要としないボリュメトリックディスプレイであってもよい。
【0089】
図10は、関数表示装置5に表示される奥行き圧縮関数f及び制御点Ci(si,ui)の例を示す図である。横軸は、圧縮前の奥行き座標値z[m]を示し、縦軸は、圧縮後の奥行き座標値z’[m]を示す。直線は、z’=f(z)=zである非圧縮の奥行き圧縮関数fである。曲線は奥行き圧縮関数fであり、丸点は制御点Ci(si,ui)である。
【0090】
このように、3D映像制作者は、図2に示した制御点操作装置2を操作しながら、図9に示した奥行き圧縮後の3D映像、並びに図10に示した奥行き圧縮関数fの形状及び制御点Ci(si,ui)の位置を確認することができる。
【0091】
これにより、3D映像制作者による制御点操作装置2の操作に従い、複数の奥行き範囲にある複数の被写体を、所望の形態で強調することができ、3D映像制作者の意図を反映することができる。
【0092】
以上のように、本発明の実施形態の奥行き制御装置3によれば、制御点設定部10は、3D映像制作者の操作に従い制御点操作装置2から入力した奥行きデータsi及び高さデータtiを乗算することで、奥行き高さデータuiを求め、制御点Ci(si,ui)を設定する。
【0093】
関数生成部11は、次数Kの基底関数が制御点Ci(si,ui)に近似するように、奥行き圧縮関数fを生成する。奥行き圧縮部12は、3D映像に含まれる被写体H1の各頂点を設定し、各頂点に対し、奥行き圧縮関数fによる奥行き圧縮の処理を行い、奥行き圧縮後の被写体H2の各頂点を求め、奥行き圧縮後の3D映像を生成する。
【0094】
3D描画部13は、奥行き圧縮後の3D映像をレンダリングし、3D描画するための2次元の描画データを生成する。
【0095】
そして、2次元の描画データは、3D映像表示装置4に3D映像として画面表示され、奥行き圧縮関数f及び制御点Ci(si,ui)は、関数表示装置5に画面表示される。
【0096】
これにより、3D映像制作者は、制御点操作装置2を操作しながら、奥行き圧縮後の3D映像、奥行き圧縮関数fの形状及び制御点Ci(si,ui)の位置を画面にて確認することができる。
【0097】
したがって、3D映像制作者は、制御点操作装置2を操作しながら、場合によっては次数K及びフェーダ本数Nを変更しながら、自分の意図する奥行き圧縮関数fを設定し、複数の奥行き範囲にある複数の被写体を、所望の形態で強調することができる。つまり、3D映像のシーンを奥行き圧縮する際に、複数の奥行き範囲にある複数の被写体を強調することができ、3D映像制作者の意図を反映することが可能となる。
【0098】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0099】
例えば前記実施形態では、3D映像制作者は、制御点操作装置2の奥行き操作ダイヤル部30及び高さ操作フェーダ部31を操作することにより、制御点Ciを設定するようにした。これに対し、3D映像制作者は、例えば音声ミキサーのフェーダまたはマウスを操作することで、GUI(Graphical User Interface:グラフィカルユーザインタフェース)上に表示された制御点Ciを設定するようにしてもよい。
【0100】
また、前記実施形態では、3D映像表示装置4は、2次元の描画データを入力し、これを3D映像として画面表示し、関数表示装置5は、奥行き圧縮関数f及び制御点Ciを入力し、奥行き圧縮関数fの形状及び制御点Ciの位置を画面表示するようにした。これに対し、1台の表示装置が、2次元の描画データ、奥行き圧縮関数f及び制御点Ciを入力し、3D映像を画面表示すると共に、奥行き圧縮関数fの形状及び制御点Ciの位置を画面表示するようにしてもよい。
【0101】
尚、本発明の実施形態による奥行き制御装置3のハードウェア構成としては、通常のコンピュータを使用することができる。奥行き制御装置3は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0102】
奥行き制御装置3に備えた制御点設定部10、関数生成部11、奥行き圧縮部12及び3D描画部13の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0103】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【産業上の利用可能性】
【0104】
本発明の実施形態による奥行き制御装置3を含む奥行き制御システム1は、3D映像制作者がポストプロダクションの作業を行う際に利用することができる。
【符号の説明】
【0105】
1 奥行き制御システム
2 制御点操作装置
3 奥行き制御装置
4 3D映像表示装置
5 関数表示装置
10 制御点設定部
11 関数生成部
12 奥行き圧縮部
13 3D描画(3D表示)部
20 係数決定部
21 関数決定部
30 奥行き操作ダイヤル部
31 高さ操作フェーダ部
32 奥行きデータ表示部
N フェーダ本数
i,si k 奥行きデータ
i 高さデータ
i 奥行き高さデータ
i,Fi 制御点
K 次数
f 奥行き圧縮関数
k 係数
H1,H2 被写体
p,p’ 頂点
z,z’ 奥行き座標
a 係数行列
u 奥行き高さ行列
S 奥行き行列
-1 奥行き行列の逆行列
+ 奥行き行列の疑似逆行列
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10