説明

立体視用画像生成装置および立体視用画像生成方法、制御プログラム、可読記憶媒体

【課題】三次元グラフィック処理機構に高い能力を要求せず、同時に正確な立体感を得る。
【解決手段】一枚の画像から、立体視用の複数の画像データ(右目用画像データと左目用画像データ)を生成する視差画像生成機能としての立体視画像生成回路11と、GPUからなるコンピュータグラフィック生成部としてのCG生成回路7に対し、GPUが生成した一つの視点からの画像および、GPUの三次元CG生成処理の過程で計算された各画素に対する奥行き情報(Zバッファ値)を、視差画像生成機能としての立体視画像生成回路11に渡して、立体視画像生成回路11が立体視用の複数の画像を生成する制御を行っている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体視向けの三次元コンピュータグラフィックを生成する立体視用画像生成装置およびこれを用いた立体視用画像生成方法、この立体視用画像生成方法の各ステップをコンピュータに実行させるための制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体に関する。
【背景技術】
【0002】
この種の従来の立体視用画像生成システムにおいて、立体視は、右目視点での映像と、左目視点での映像それぞれを、右目と左目とに個別に提示することにより、人間にその映像を現実的な立体として感じさせる仕組みである。これらの右目視点および左目視点の映像は、実写の場合、例えば右目と左目の間隔に相当する一定の距離を置いた二つの視点から、同時に被写体対象を撮影することにより作成することができる。
コンピュータを用いて右目視点および左目視点の映像を作成する場合、コンピュータ内に構成した三次元空間を、右目視点および左目視点を模した二つの視点から見て、それぞれの結果をコンピュータグラフィック化(レンダリング)することにより作成することができる。
【0003】
一方で、映像を構成する画素の特徴に着目して、一枚の映像から立体視に適した右目用と左目用の映像を生成する機構が発明されている。例えば、特許文献1には、原画像の各画素の色成分から奥行き値を計算し、その奥行き値から、右目用の映像および左目用の映像をそれぞれ生成する立体視画像作成方法が開示されている。これを図4に示している。
【0004】
図4は、特許文献1に開示されている従来の立体視画像形成装置のハード構成例を示すブロック図である。
【0005】
図4に示すように、制御部としてのCPU(中央処理装置)101は、従来の立体視画像形成装置100の各部の動作を制御し、立体視用画像データ作成処理などの各種処理を実行する。ROM(リード・オンリ・メモリ)102は、起動時などに実行されるプログラムや参照データなどを格納する。RAM(ランダム・アクセス・メモリ)103は、CPU101のワークエリアなどを実現するためのものである。
【0006】
キャラクタジェネレータ104は、図形文字の表示データ(フォントデータ)を発生する。時計回路105は現在時刻を出力する。インタフェース106は、立体視画像形成装置100をインターネットINETに接続するためのものである。伝送制御部107は、インタフェース106を介してインターネットINETに接続された端末装置との間でデータの授受を行う。
【0007】
磁気ディスク装置108は、立体視画像形成装置100で実行される各種処理やオペレーティングシステムなどのプログラムデータを記憶すると共に、各種処理により作成される各種データなどを記憶する記憶装置である。CD−ROMドライブ109は、CD−ROM110に記憶されている画像データを読み出すためのものである。表示部111は、例えばCRTやLCDなどであり、表示制御部112の制御の下、その表示画面上に画像を表示する。
【0008】
キーボード113はフルキー配列のキーボードであり、ユーザはキーボード113を用いて指示内容を入力する。画面指示装置114は、タッチパネルなどの入力デバイスであり、ユーザはタッチパネルを押圧することにより各種指示内容を入力することができる。入力制御部115は、キーボード113および画面指示装置114から入力された各指示内容を取り込み。CPU101に出力する。
【0009】
これらのCPU101、ROM102、RAM103、キャラクタジェネレータ104、時計回路105、伝送制御部107、磁気ディスク装置108、CD−ROMドライブ109、表示制御部112および入力制御部115は、内部バス116に接続されている。これらの各種要素間のデータのやりとりは、この内部バス116を介して行われる。
【0010】
立体視用画像データを作成するに当たり、CPU101によって、例えばROM102内の立体視画像表示用のアプリケーションが実行される。
【0011】
これによって、立体視画像形成装置100では、図5に示すように、まず、三次元グラフィック処理機構であるグラフィック・プロセッシング・ユニットGPUが、一枚の三次元CG(コンピュータグラフィック)データから三次元CG画像を生成する。次に、視差画像生成機能が、グラフィック・プロセッシング・ユニットGPUが生成した三次元CG画像のグレースケール値に基づいて奥行き値(Z値)を算出する。このZ値に対して、逆転判定処理、平滑化処理、分布補正処理および局所補正処理などを施す。この求めたZ値に基づいて視差を決定し、この決定した視差に応じた分だけ、各画素を移動させる処理を行うことにより、左目画像と右目画像の視差画像の立体視画像データを生成する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】国際公開第2004/019621号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、上記特許文献1に開示されている従来の立体視画像形成装置100では、一枚の三次元CGデータから立体視に適した三次元画像データを生成する際に、視差画像生成機能は、グラフィック・プロセッシング・ユニットGPUが生成し三次元画像のグレースケール値に基づいて奥行き値(Z値)を計算するため、その視差画像生成機能が生成する奥行き値(Z値)が、三次元CGデータの期待する奥行き値と一致しないことがあった。この結果として、立体映像として人間の両眼に提示されたとき、正確な立体感を得ることができなかった。また、一枚の映像の中で、コンピュータグラフィックの領域(例えばキャラクタ領域)と、そうでない領域(例えば背景領域)での奥行き値を個別に扱うことができなかった。
【0014】
この他、図6に示すように、グラフィック・プロセッシング・ユニットGPUが、三次元CGデータから、立体視用の右目用二次元CG画像と左目用二次元CG画像とを生成する場合に、右目と左目それぞれの視点から見たグラフィックを生成する必要がある。一組の立体視用の画像(右目画像と左目画像)を作成するためには、グラフィック・プロセッシング・ユニットGPUが、三次元グラフィック処理を二回実施する必要がある。これは、リアルタイム表示のために、複雑な三次元グラフィックから二次元グラフィックにリアルタイムに生成する必要がある場合には、グラフィック・プロセッシング・ユニットGPUに高い処理能力を要求しなければならなかった。
【0015】
本発明は、上記従来の問題を解決するもので、三次元グラフィック処理機構に高い能力を要求せず、同時に正確な立体感を得ることができる立体視用画像生成装置およびこれを用いた立体視用画像生成方法、この立体視用画像生成方法の各ステップをコンピュータに実行させるための制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の立体視用画像生成装置は、データ記憶部内のコンピュータグラフィック生成データから、一つの視点でのコンピュータグラフィック画像の各画素データを生成すると共に、該コンピュータグラフィック画像の各画素に対応付けられる奥行き値を求めるコンピュータグラフィック生成部と、該各画素データおよび該奥行き値を用いて立体視用の複数の画像データを生成する立体視画像生成部とを有する立体視用画像生成装置であって、該コンピュータグラフィック生成部で生成した該各画素データおよび該奥行き値を該データ記憶部に一旦記憶させた後に、立体視画像生成時に、該立体視画像生成部に該各画素データおよび該奥行き値を転送するように制御する制御部を有したものであり、そのことにより上記目的が達成される。
【0017】
また、好ましくは、本発明の立体視用画像生成装置において、前記コンピュータグラフィック生成データの奥行き値と、前記立体視画像生成部が生成する立体視用の複数の画像データにおける奥行き値とが一致している。
【0018】
さらに、好ましくは、本発明の立体視用画像生成装置における制御部は、該データ記憶部内のコンピュータグラフィック生成データを前記コンピュータグラフィック生成部に転送するグラフィックデータ転送手段と、該コンピュータグラフィック生成部により生成したコンピュータグラフィック画像の各画素データおよび、該コンピュータグラフィック画像の各画素に対応付けられる奥行き値を該データ記憶部にそれぞれ書き込む画素データ・奥行き値転送手段と、立体視画像生成開始時に、該データ記憶部内の該画素データおよび該奥行き値を前記立体視画像生成部に転送する立体視画像生成制御手段とを有する。
【0019】
さらに、好ましくは、本発明の立体視用画像生成装置におけるデータ記憶部は、一つの視点データおよび複数の三次元座標データを含むコンピュータグラフィック生成データを記憶する第1データ記憶部と、該コンピュータグラフィック画像の各画素データおよび該各画素に対応付けられる奥行き値を記憶可能とする第2データ記憶部とを有する。
【0020】
さらに、好ましくは、本発明の立体視用画像生成装置におけるコンピュータグラフィック生成部は、前記データ記憶部に記憶されたコンピュータグラフィック生成データからコンピュータグラフィック画像の各画素データに変換する画素データ変換部と、該コンピュータグラフィック生成データから、コンピュータグラフィック画像の各画素に対する奥行き値を計算する奥行き値計算部とを有する。
【0021】
さらに、好ましくは、本発明の立体視用画像生成装置における複数の画像データは右目用画像データと左目用画像データからなる視差画像データである。
【0022】
さらに、好ましくは、本発明の立体視用画像生成装置における第2データ記憶部は、前記奥行き値の有無を示す奥行き値存在可否フラグを記憶しており、前記立体視画像生成部は、処理する各画素に対して、該奥行き値存在可否フラグの情報に基づいて、該奥行き値があると判定された場合、当該奥行き値を用い、該奥行き値がないと判定された場合、該画素を含む一つ以上の画素から得られる情報を元に計算した奥行き値を用いる。
【0023】
さらに、好ましくは、本発明の立体視用画像生成装置における立体視画像生成部は、前記画素データから一つ以上の画素を読み出して新たな奥行き値を生成する奥行き値生成回部と、前記奥行き値の存在可否フラグが「有」のときに当該奥行き値を出力し、該奥行き値の存在可否フラグが「無」のときに該新たな奥行き値を出力する奥行き値存在可否検出部と、該奥行き値存在可否検出部からの奥行き値に基づいて立体視用の左目および右目画像を生成する左目および右目画像生成部とを有する。
【0024】
さらに、好ましくは、本発明の立体視用画像生成装置における画素データ変換部と前記奥行き値計算部は、グラフィック・プロセッシング・ユニットにより構成されている。
【0025】
さらに、好ましくは、本発明の立体視用画像生成装置における第2データ記憶部は、一つのデータ保持機構内の保持領域を分割して利用することにより実現されている。
【0026】
本発明の立体視用画像生成方法は、制御部が、コンピュータグラフィック生成部に対して画像の描画開始を指示するステップと、該制御部が、データ記憶部内のコンピュータグラフィック生成データを該コンピュータグラフィック生成部に転送するステップと、該コンピュータグラフィック生成部が、該コンピュータグラフィック生成データから、一つの視点でのコンピュータグラフィック画像の各画素データを生成すると共に、該コンピュータグラフィック画像の各画素に対応付けられる奥行き値を求めるコンピュータグラフィック生成ステップと、該制御部が該各画素データおよび該奥行き値を該データ記憶部の所定領域にそれぞれ書き込むように制御するステップと、該制御部が、立体視画像生成時に、データ記憶部に記憶された各画素データおよび奥行き値を立体視画像生成部に転送するステップと、該立体視画像生成部が当該各画素データおよび当該奥行き値を用いて立体視用の複数の画像データを生成する立体視画像生成ステップとを有するものであり、そのことにより上記目的が達成される。
【0027】
また、好ましくは、本発明の立体視用画像生成方法において、前記コンピュータグラフィック生成データの奥行き値と、前記立体視画像生成部が生成する立体視用の複数の画像データにおける奥行き値とが一致している。
【0028】
さらに、好ましくは、本発明の立体視用画像生成方法におけるコンピュータグラフィック生成ステップは、画素データ変換部が、前記データ記憶部に記憶されたコンピュータグラフィック生成データからコンピュータグラフィック画像の各画素データに変換する画素データ変換ステップと、奥行き値計算部が、該コンピュータグラフィック生成データから、コンピュータグラフィック画像の各画素に対する奥行き値を計算する奥行き値計算ステップとを有する。
【0029】
さらに、好ましくは、本発明の立体視用画像生成方法における立体視画像生成ステップにおいて、処理する各画素に対して、前記奥行き値の有無を示す奥行き値存在可否フラグの情報に基づいて、該奥行き値があると判定された場合、当該奥行き値を用い、該奥行き値がないと判定された場合、該画素を含む一つ以上の画素から得られる情報を元に計算した奥行き値を用いる。
【0030】
さらに、好ましくは、本発明の立体視用画像生成方法における立体視画像生成ステップは、奥行き値生成部が、前記画素データから一つ以上の画素を読み出して新たな奥行き値を生成する奥行き値生成ステップと、奥行き値存在可否検出部が、前記奥行き値の存在可否フラグが「有」のときに当該奥行き値を出力し、該奥行き値の存在可否フラグが「無」のときに該新たな奥行き値を出力する奥行き値存在可否検出ステップと、左目および右目画像生成部が、該奥行き値存在可否検出部からの奥行き値に基づいて立体視用の左目および右目画像を生成する左目および右目画像生成ステップとを有する。
【0031】
本発明の制御プログラムは、本発明の上記立体視用画像生成方法の各ステップをコンピュータに実行させるための処理手順が記述されたものであり、そのことにより上記目的が達成される。
【0032】
本発明の可読記憶媒体は、本発明の上記制御プログラムが格納されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
【0033】
上記構成により、以下、本発明の作用を説明する。
【0034】
本発明においては、コンピュータグラフィック生成部で生成した各画素データおよび奥行き値をデータ記憶部に一旦記憶させた後に、立体視画像生成時に、立体視画像生成部に各画素データおよびその奥行き値を転送するように制御する制御部と、これらの各画素データおよび奥行き値を用いて立体視用の複数の画像データを生成する立体視画像生成部とを有している。この場合、コンピュータグラフィック生成データの奥行き値と、立体視画像生成部が生成する立体視用の複数の画像データにおける奥行き値とが一致している。
【0035】
これによって、コンピュータグラフィック生成部において三次元グラフィックデータ(コンピュータグラフィック生成データ)から生成した各画素データおよび奥行き値を用いて、立体視画像生成部が立体視用の複数(右目用と左目用)の画像データを生成するため、三次元グラフィック処理機構としての立体視画像生成部に高い能力を要求せず、同時に正確な立体感を得ることができる。
【0036】
また、画像内の三次元コンピュータグラフィックとそれ以外の画像が混在する場合に対しても、より正確な立体感の立体視用の映像を生成することが可能となる。
【発明の効果】
【0037】
以上により、本発明によれば、コンピュータグラフィック生成部において三次元グラフィックデータ(コンピュータグラフィック生成データ)から生成した各画素データおよび奥行き値を用いて、立体視画像生成部が立体視用の複数(右目用と左目用)の画像データを生成するため、三次元グラフィック処理機構としての立体視画像生成部に高い能力を要求せず、同時に正確な立体感を得ることができる。
【0038】
また、画像内の三次元コンピュータグラフィックとそれ以外の画像が混在する場合に対しても、より正確な立体感の立体視用の映像を生成することができる。
【図面の簡単な説明】
【0039】
【図1】本発明に係る立体視用画像生成システムの実施形態1における要部ハード構成例を示すブロック図である。
【図2】本発明に係る立体視用画像生成システムの実施形態2として、図1の立体視画像生成回路の一構成例を示すブロック図である。
【図3】本発明の立体視画像形成装置において、グラフィック・プロセッシング・ユニットが一視点から三次元CG画像データとを生成した後に、CG画像と奥行き情報により立体視用の右目用三次元CG画像と左目用三次元CG画像とを生成する場合の動作工程図である。
【図4】特許文献1に開示されている従来の立体視画像形成装置のハード構成例を示すブロック図である。
【図5】図4の従来の立体視画像形成装置の動作を説明する場合の動作工程図である。
【図6】従来の立体視画像形成装置において、グラフィック・プロセッシング・ユニットが立体視用の右目用三次元CG画像と左目用三次元CG画像とを生成する場合の動作工程図である。
【発明を実施するための形態】
【0040】
以下に、本発明の立体視画像形成システムの実施形態1、2について図面を参照しながら詳細に説明する。
【0041】
(実施形態1)
図1は、本発明に係る立体視用画像生成システムの実施形態1における要部ハード構成例を示すブロック図である。
【0042】
図1において、本実施形態1の立体視用画像生成システム20は、本実施形態の立体視用画像生成装置1と、立体視用画像生成装置1で生成した立体視用画像データを表示画面上に表示する表示部21とを有している。
【0043】
本実施形態の立体視用画像生成装置1は、データおよびワークメモリが記憶されるメモリ2と、CG生成回路7と、全体の制御を行う制御部としてのCPU10(中央演算処理装置)と、立体視画像生成回路11と、画像出力部12と、操作部13とを有しており、これらのメモリ2、CG生成回路7、CPU10、立体視画像生成回路11および操作部13がバス14に接続されている。
【0044】
メモリ2は、起動時にROM(図示せず)から制御プログラムおよびそのデータなどが読み出されて、CPU10による制御毎にデータを記憶するワークメモリとして働く記憶部(RAM)である。メモリ2の第1データ記憶部としての記憶領域に、一つの視点データおよび複数の三次元座標データを含むコンピュータグラフィック生成データ(三次元グラフィックデータ3)を記憶すると共に、プログラムコード6の制御プログラムおよびそのデータを記憶する。また、メモリ2の第2データ記憶部としての記憶領域に、CG生成回路7で生成されたコンピュータグラフィック画像データの各画素データ4(RGBデータ)および各画素に対応付けられる奥行き値5を記憶する。
【0045】
CG生成回路7は、メモリ2内のコンピュータグラフィック生成データ(三次元グラフィックデータ3)からコンピュータグラフィック画像の各画素データに変換するデータ変換部としての画素計算回路8と、メモリ2内のコンピュータグラフィック生成データ(三次元グラフィックデータ3)から、コンピュータグラフィック画像の各画素に対する奥行き値を計算する奥行き値計算部としての奥行き計算回路9とを有している。
【0046】
即ち、CG生成回路7は、CPU10からのグラフィックデータ転送指令に基づいて、メモリ2の三次元グラフィックデータ3(コンピュータグラフィック生成データ)を読み出して、画素計算回路8を用いて一つの視点でのコンピュータグラフィック画像(視覚化された二次元画像)の各画素データ4を生成し、この各画素データ4をメモリ2の第2データ記憶部に書き込む。また、CG生成回路7は、奥行き計算回路9を用いてコンピュータグラフィック画像の各画素に対応付けられる奥行き値を生成し、この各画素に対応付けられる奥行き値5(奥行き値生成結果)をメモリ2の第2データ記憶部に書き込む。さらに、CG生成回路7からCPU10に、描画の完了を通知する。この描画完了通知の結果、画素データ4の記憶領域(メモリ2)には、一つの視点から見た三次元グラフィック画像の各画素データが格納される。また、奥行き値5の記憶領域(メモリ2)には、画素データ4に格納された各画素に対応する奥行き値が格納される。
【0047】
CPU10は、メモリ2に格納されたプログラムコードを読み出して、プログラムコードの制御プログラムに基づいて、メモリ2のデータ読み出しおよびデータ書き込みを制御すると共に、CG生成回路7および立体視画像生成回路11を制御する。
【0048】
即ち、CPU10は、メモリ2の第1データ記憶部に記憶されたプログラムコードの制御プログラムに基づいて、CG生成回路7に画像の描画開始を指示し、メモリ2に格納された三次元グラフィックデータ3(コンピュータグラフィック生成データ)をCG生成回路7に転送するグラフィックデータ転送手段10Aと、読み出された三次元グラフィックデータ3(コンピュータグラフィック生成データ)に基づいてCG生成回路7で一つの視点位置を計算したコンピュータグラフィック画像の各画素データおよび、コンピュータグラフィック画像の各画素に対応付けられる奥行き値をメモリ2の各所定格納領域にそれぞれ書き込む画素データ・奥行き値転送手段10Bと、CG生成回路7からの描画完了の通知をCPU10が受けた後に、メモリ2に格納された画素データ4および奥行き値5を立体視画像生成回路11に転送し、立体視画像生成回路11に立体視画像生成開始を指示して、画素データ4および奥行き値5を用いて立体視画像(視差画像)を生成する立体視画像生成制御手段10Cとの各機能を実行する。
【0049】
立体視画像生成回路11は、各画素データ4および奥行き値5をメモリ2から読み出し、奥行き値5に従って各画素データから立体視用の右目用画像および左目用画像(視差画像)を生成し、生成された各視差画像を画像出力回路12に出力する。
【0050】
画像出力回路12は、右目用画像および左目用画像を電気信号に変換し、二つの画像を表示装置に適する形式の信号として表示部21に出力する。
【0051】
操作部13は、CPU10に対して入力指令を行うためのキーボード、マウス、タッチパネルおよびペン入力装置、さらには通信ネットワーク(例えばインターネットやイントラネット)を介して受信入力する入力装置などである。
【0052】
ROMは、ここでは図示していないが、制御プログラムおよびそのデータなどが記憶されたコンピュータ読み出し可能な可読記録媒体であって、具体的には、ハードディスクの他、形態自在な光ディスク、光磁気ディスク、磁気ディスクおよびICメモリなどで構成されていてもよい。この制御プログラムおよびそのデータなどがROMに記憶されるが、この制御プログラムおよびそのデータは、他の可読記録媒体から、または、無線、有線またはインターネットなどを介してROM4にダウンロードされてもよい。
【0053】
上記構成の立体視用画像生成装置1の動作について説明する。
【0054】
まず、操作部13からの立体視用画像生成指令がCPU10に入力され、CPU10は、メモリ2に格納されたプログラムコードを読み出して、プログラムコードの制御プログラムおよびそのデータに基づいて、CG生成回路7に画像の描画開始を指示する。
【0055】
次に、CPU10は、プログラムコードの制御プログラムに基づいて、グラフィックデータ転送手段10Aによりメモリ2に格納された三次元グラフィックデータ3(コンピュータグラフィック生成データ)をCG生成回路7に転送する。
【0056】
続いて、CPU10は、プログラムコードの制御プログラムに基づいて、画素データ・奥行き値転送手段10Bにより、読み出された三次元グラフィックデータ3(コンピュータグラフィック生成データ)からCG生成回路7で一つの視点位置を計算した各画素データおよび奥行き値をメモリ2の各所定格納領域にそれぞれ書き込むように制御する。
【0057】
さらに、CPU10は、CG生成回路7からの描画完了の通知をCPU10が受けた後に、プログラムコードの制御プログラムに基づいて、立体視画像生成制御手段10Cにより、メモリ2に格納された各画素データ4および奥行き値5を立体視画像生成回路11に転送すると共に立体視画像生成回路11に立体視画像生成開始を指示して、画素データ4および奥行き値5を用いて立体視画像を生成する。
【0058】
このように、本実施形態1の立体視用画像生成方法は、CPU10が、コンピュータグラフィック生成部としてのCG生成回路7に対して画像の描画開始を指示するステップと、CPU10が、データ記憶部としてのメモリ2内の三次元グラフィックデータ3(コンピュータグラフィック生成データ)をCG生成回路7に転送するステップと、CG生成回路7が、三次元グラフィックデータ3(コンピュータグラフィック生成データ)から、一つの視点でのコンピュータグラフィック画像の各画素データを生成すると共に、コンピュータグラフィック画像の各画素に対応付けられる奥行き値を求めるコンピュータグラフィック生成ステップと、CPU10が、該CG生成回路7で生成した各画素データおよび奥行き値をメモリ2の所定領域にそれぞれ書き込むように制御するステップと、CPU10が、立体視画像生成時に、メモリ2に記憶された各画素データおよび奥行き値を立体視画像生成回路11に転送するステップと、立体視画像生成回路11が各画素データおよび奥行き値を用いて立体視用の複数の画像データ(右目用画像データと左目用画像データ)を生成する立体視画像生成ステップとを有している。これを1フレーム毎に繰り返して動画像を生成して表示部21の表示画面上に表示する。
【0059】
以上により、本実施形態1において、図3に示すように、一枚の画像から、立体視用の複数の画像データ(右目用画像データと左目用画像データ)を生成する視差画像生成機能としての立体視画像生成回路11と、GPUからなるコンピュータグラフィック生成部としてのCG生成回路7に対し、GPUが生成した一つの視点からの画像および、GPUの三次元CG生成処理の過程で計算された各画素に対する奥行き情報(Zバッファ値)を、視差画像生成機能としての立体視画像生成回路11に渡して、立体視画像生成回路11が立体視用の複数の画像を生成する制御を行っている。このとき、従来において、視差画像生成機能は、グラフィック・プロセッシング・ユニットGPUが生成し三次元画像のグレースケール値に基づいて奥行き値(Z値)を計算しているため、視差画像生成機能が生成する奥行き値(Z値)が、三次元CGデータの期待する奥行き値と一致しなかったが、本実施形態1では、三次元グラフィックデータ3(コンピュータグラフィック生成データ)の奥行き値と、視差画像生成機能としての立体視画像生成回路11が生成する立体視用の複数の画像データ(右目用画像データと左目用画像データ)における奥行き値とが同じ奥行き値で互いに一致するため、立体視画像としてより正確な奥行き値を持った立体感を得ることができる。
【0060】
したがって、本実施形態1によれば、CG生成回路7において三次元グラフィックデータ3(コンピュータグラフィック生成データ)から生成した各画素データおよび奥行き値を用いて、立体視画像生成回路11が立体視用の複数(右目用と左目用)の画像データを生成するため、従来のように三次元グラフィック処理機構としての立体視画像生成回路11に高い能力を要求せず、立体視画像として正確な立体感を得ることができる。
【0061】
(実施形態2)
本実施形態2では、1枚の画像(1フレームの画像)の中に奥行き値がある画像(三次元グラフィックデータ3の部分)と奥行き値がない画像(背景画像など、動かない画像の他に動く画像も想定される)とが混在している場合について説明する。
【0062】
図2は、本発明に係る立体視用画像生成システムの実施形態2として、図1の立体視画像生成回路11の一構成例を示すブロック図である。
【0063】
なお、本実施形態2においても図1の構成を用いる。即ち、図1において、本実施形態2の立体視用画像生成システム20Aは、本実施形態の立体視用画像生成装置1Aと、立体視用画像生成装置1Aで生成した立体視用画像データを表示画面上に表示する表示部21とを有している。本実施形態2の立体視用画像生成装置1Aは、データおよびワークメモリが記憶されるメモリ2と、CG生成回路7と、全体の制御を行う制御部としてのCPU10(中央演算処理装置)と、立体視画像生成回路11Dと、画像出力部12と、操作部13とを有しており、これらのメモリ2、CG生成回路7、CPU10、立体視画像生成回路11Dおよび操作部13がバス14に接続されている。
【0064】
図2において、本実施形態2の立体視画像生成回路11Dは、奥行き値5の存在可否フラグ5Aが「有」のときに奥行き値5を出力し、奥行き値5の存在可否フラグ5Aが「無」のときに奥行き値生成回路11Bからの奥行き値を出力する奥行き値存在可否検出回路11Aと、画素データ4から一つ以上の画素を読み出して奥行き値を生成する奥行き値生成回路11Bと、奥行き値存在可否検出回路11Aからの奥行き値に基づいて立体視用の左目・右目画像を生成する左目・右目画像生成回路11Cとを有している。なお、上記実施形態1では、これらの奥行き値存在可否検出回路11Aおよび奥行き値生成回路11Bがない。
【0065】
即ち、本実施形態2の立体視画像生成回路11Dは、処理する各画素に対して、奥行き値の有無を示す存在可否フラグ5Aの情報に基づいて、その処理画素に奥行き値がない場合、その処理画素を含む一つ以上の画素から得られる情報を元に計算した奥行き値を、奥行き値5の代わりに用い、また、その処理画素に奥行き値がある場合、奥行き値5を用いて、各画素データから立体視用の複数の視差画像データを生成する。
【0066】
ここで、上記図2の立体視画像生成回路11Dの動作について説明する。
【0067】
まず、奥行き値生成回路11Bは、画素データ4から一つ以上の画素を読み出し、奥行き値を生成し、その奥行き値を奥行き値存在可否判断回路11Aに出力する。
次に、奥行き値存在可否検出回路11Aは、奥行き値5から読み出した一つの奥行き値と奥行き値生成回路11Bからの出力とを受け取る。奥行き値の中に存在可否フラグ5Aがあり、奥行き値存在可否検出回路11Aは、この存在可否フラグ5Aから奥行き値が存在すると検出した場合は、奥行き値5から読み出した奥行き値を左目・右目画像生成回路11Cに出力する。また、奥行き値存在可否検出回路11Aは、奥行き値の中に存在可否フラグ5Aから、奥行き値が存在しないと検出した場合には、奥行き値生成回路11Bからの奥行き値を出力する。
その後、右目・左目画像生成回路11Cは、奥行き値存在可否検出回路11Aからの奥行き値を受け取り、画素データ4からの各画素データを読み取って、立体視用の右目画像および左目画像を生成する。
【0068】
以上により、本実施形態2においても、図3に示すように、一枚の画像(1フレーム画像)から、立体視用の複数の画像データ(右目用画像データと左目用画像データ)を生成する視差画像生成機能としての立体視画像生成回路11Dと、GPUからなるコンピュータグラフィック生成部としてのCG生成回路7に対し、GPUが生成した一つの視点からの画像(二次元画像)の各画素データおよび、GPUの三次元CGデータからの二次元画像生成処理の過程で計算された各画素に対する奥行き情報(Zバッファ値)を、視差画像生成機能としての立体視画像生成回路11Dに渡して、立体視画像生成回路11Dが立体視用の複数の視差画像を生成する制御を行っている。
【0069】
したがって、本実施形態2によれば、CG生成回路7において、一枚の三次元コンピュータグラフィックデータ3から、視覚化された二次元画像の各画素データを生成する際に計算した奥行き値を、一枚の画像(1フレーム画像)から立体視用の複数の視差画像データ(右目用画像データと左目用画像データ)を生成する視差画像生成機能としての立体視画像生成回路11Dに渡すことにより、立体視画像生成回路11Dにおいて、三次元コンピュータグラフィックデータ3から、視覚化された二次元画像の各画素データを生成するCG生成回路7による生成処理を削減しつつ、三次元グラフィックデータ3(コンピュータグラフィック生成データ)の奥行き値と、立体視画像生成回路11Dが生成する立体視用の複数の画像データ(右目用画像データと左目用画像データ)における奥行き値とを一致させて、正確な立体視用の画像を生成する立体視用画像生成機構を構成することができる。また、この場合、特に、画像内の三次元コンピュータグラフィックデータ3とそれ以外の画像(例えば背景画像)とが1フレーム画像に混在する場合であっても、より正確な立体感の立体視用の映像を生成することができる。
【0070】
なお、本実施形態1、2では、特に説明しなかったが、メモリ2内の三次元グラフィックデータ3から、一つの視点でのコンピュータグラフィック画像の各画素データを生成すると共に、メモリ2内の三次元グラフィックデータ3から、コンピュータグラフィック画像の各画素に対応付けられる奥行き値を求めるCG生成回路7と、各画素データおよび奥行き値を用いて立体視用の複数の画像データを生成する立体視画像生成回路11とを有する立体視用画像生成装置1または1Aであって、CG生成回路7で生成した各画素データおよび奥行き値をメモリ2に一旦記憶させた後に、立体視画像生成時に、立体視画像生成回路11に各画素データおよび奥行き値を転送するように制御するCPU10を有することにより、三次元グラフィック処理機構に高い能力を要求せず、同時に正確な立体感を得ることができる本発明の目的を達成することができる。
【0071】
なお、本実施形態1、2では、制御部10(CPU)が、例えば、立体視画像生成時に、データ記憶部に記憶された各画素データおよび奥行き値を立体視画像生成部に転送する構成としたが、これに限らず、制御部が、制御部10(CPU)の他に、コンピュータグラフィック生成部としてのCG生成回路7の制御部や立体視画像生成部としての立体視画像生成回路11または11Dの制御部を含んでいてもよい。要するに、この制御部の動作を、制御部10(CPU)が行ってもよいのはもちろんのこと、この制御部の動作をコンピュータグラフィック生成部としてのCG生成回路7の制御部が行ってもよく、この制御部の動作を立体視画像生成部としての立体視画像生成回路11または11Dの制御部が行ってもよい。即ち、制御部10(CPU)、コンピュータグラフィック生成部および立体視画像生成部のうちの少なくともいずれかの制御部が、例えば、立体視画像生成時に、データ記憶部に記憶された各画素データおよび奥行き値を立体視画像生成部(立体視画像生成機構)に転送するように制御してもよい。
【0072】
以上のように、本発明の好ましい実施形態1、2を用いて本発明を例示してきたが、本発明は、この実施形態1、2に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態1、2の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【0073】
本発明は、立体視向けの三次元コンピュータグラフィックを生成する立体視用画像生成装置およびこれを用いた立体視用画像生成方法、この立体視用画像生成方法の各ステップをコンピュータに実行させるための制御プログラム、この制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体の分野において、コンピュータグラフィック生成部において三次元グラフィックデータ(コンピュータグラフィック生成データ)から生成した各画素データおよび奥行き値を用いて、立体視画像生成部が立体視用の複数(右目用と左目用)の画像データを生成するため、三次元グラフィック処理機構としての立体視画像生成部に高い能力を要求せず、同時に正確な立体感を得ることができる。
【符号の説明】
【0074】
1、1A 立体視用画像生成装置
2 メモリ(データ記憶部)
3 三次元グラフィックデータ(コンピュータグラフィック生成データ)
4 画素データ
5 奥行き値(奥行き情報)
5A 存在可否フラグ
6 プログラムコード(制御プログラムおよびそのデータ)
7 CG生成回路(コンピュータグラフィック生成部)
8 画素計算回路
9 奥行き計算回路
10 CPU(制御部)
10A グラフィックデータ転送手段
10B 画素データ・奥行き値転送手段
10C 立体視画像生成制御手段
11,11D 立体視画像生成回路(立体視画像生成部)
11A 奥行き値存在可否検出回路
11B 奥行き値生成回路
11C 左目・右目画像生成回路
12 画像出力部
13 操作部
14 バス
20,20A 立体視用画像生成システム
21 表示部

【特許請求の範囲】
【請求項1】
データ記憶部内のコンピュータグラフィック生成データから、一つの視点でのコンピュータグラフィック画像の各画素データを生成すると共に、該コンピュータグラフィック画像の各画素に対応付けられる奥行き値を求めるコンピュータグラフィック生成部と、
該各画素データおよび該奥行き値を用いて立体視用の複数の画像データを生成する立体視画像生成部とを有する立体視用画像生成装置であって、
該コンピュータグラフィック生成部で生成した該各画素データおよび該奥行き値を該データ記憶部に一旦記憶させた後に、立体視画像生成時に、該立体視画像生成部に該各画素データおよび該奥行き値を転送するように制御する制御部を有した立体視用画像生成装置。
【請求項2】
前記コンピュータグラフィック生成データの奥行き値と、前記立体視画像生成部が生成する立体視用の複数の画像データにおける奥行き値とが一致している請求項1に記載の立体視用画像生成装置。
【請求項3】
前記制御部は、
該データ記憶部内のコンピュータグラフィック生成データを前記コンピュータグラフィック生成部に転送するグラフィックデータ転送手段と、
該コンピュータグラフィック生成部により生成したコンピュータグラフィック画像の各画素データおよび、該コンピュータグラフィック画像の各画素に対応付けられる奥行き値を該データ記憶部にそれぞれ書き込む画素データ・奥行き値転送手段と、
立体視画像生成開始時に、該データ記憶部内の該画素データおよび該奥行き値を前記立体視画像生成部に転送する立体視画像生成制御手段とを有する請求項1に記載の立体視用画像生成装置。
【請求項4】
前記データ記憶部は、
一つの視点データおよび複数の三次元座標データを含むコンピュータグラフィック生成データを記憶する第1データ記憶部と、
該コンピュータグラフィック画像の各画素データおよび該各画素に対応付けられる奥行き値を記憶可能とする第2データ記憶部とを有する請求項1に記載の立体視用画像生成装置。
【請求項5】
前記コンピュータグラフィック生成部は、
前記データ記憶部に記憶されたコンピュータグラフィック生成データからコンピュータグラフィック画像の各画素データに変換する画素データ変換部と、
該コンピュータグラフィック生成データから、コンピュータグラフィック画像の各画素に対する奥行き値を計算する奥行き値計算部とを有する請求項1に記載の立体視用画像生成装置。
【請求項6】
前記複数の画像データは右目用画像データと左目用画像データからなる視差画像データである請求項1に記載の立体視用画像生成装置。
【請求項7】
前記第2データ記憶部は、前記奥行き値の有無を示す奥行き値存在可否フラグを記憶しており、前記立体視画像生成部は、処理する各画素に対して、該奥行き値存在可否フラグの情報に基づいて、該奥行き値があると判定された場合、当該奥行き値を用い、該奥行き値がないと判定された場合、該画素を含む一つ以上の画素から得られる情報を元に計算した奥行き値を用いる請求項4に記載の立体視用画像生成装置。
【請求項8】
前記立体視画像生成部は、前記画素データから一つ以上の画素を読み出して新たな奥行き値を生成する奥行き値生成回部と、前記奥行き値の存在可否フラグが「有」のときに当該奥行き値を出力し、該奥行き値の存在可否フラグが「無」のときに該新たな奥行き値を出力する奥行き値存在可否検出部と、該奥行き値存在可否検出部からの奥行き値に基づいて立体視用の左目および右目画像を生成する左目および右目画像生成部とを有する請求項1に記載の立体視用画像生成装置。
【請求項9】
前記画素データ変換部と前記奥行き値計算部は、グラフィック・プロセッシング・ユニットにより構成されている請求項5に記載の立体視用画像生成装置。
【請求項10】
前記第2データ記憶部は、一つのデータ保持機構内の保持領域を分割して利用することにより実現されている請求項4に記載の立体視用画像生成装置。
【請求項11】
制御部が、コンピュータグラフィック生成部に対して画像の描画開始を指示するステップと、
該制御部が、データ記憶部内のコンピュータグラフィック生成データを該コンピュータグラフィック生成部に転送するステップと、
該コンピュータグラフィック生成部が、該コンピュータグラフィック生成データから、一つの視点でのコンピュータグラフィック画像の各画素データを生成すると共に、該コンピュータグラフィック画像の各画素に対応付けられる奥行き値を求めるコンピュータグラフィック生成ステップと、
該制御部が該各画素データおよび該奥行き値を該データ記憶部の所定領域にそれぞれ書き込むように制御するステップと、
該制御部が、立体視画像生成時に、データ記憶部に記憶された各画素データおよび奥行き値を立体視画像生成部に転送するように制御するステップと、
該立体視画像生成部が当該各画素データおよび当該奥行き値を用いて立体視用の複数の画像データを生成する立体視画像生成ステップとを有する立体視用画像生成方法。
【請求項12】
前記コンピュータグラフィック生成データの奥行き値と、前記立体視画像生成部が生成する立体視用の複数の画像データにおける奥行き値とが一致している請求項11に記載の立体視用画像生成方法。
【請求項13】
前記コンピュータグラフィック生成ステップは、
画素データ変換部が、前記データ記憶部に記憶されたコンピュータグラフィック生成データからコンピュータグラフィック画像の各画素データに変換する画素データ変換ステップと、
奥行き値計算部が、該コンピュータグラフィック生成データから、コンピュータグラフィック画像の各画素に対する奥行き値を計算する奥行き値計算ステップとを有する請求項11に記載の立体視用画像生成方法。
【請求項14】
前記立体視画像生成ステップにおいて、処理する各画素に対して、前記奥行き値の有無を示す奥行き値存在可否フラグの情報に基づいて、該奥行き値があると判定された場合、当該奥行き値を用い、該奥行き値がないと判定された場合、該画素を含む一つ以上の画素から得られる情報を元に計算した奥行き値を用いる請求項11に記載の立体視用画像生成方法。
【請求項15】
前記立体視画像生成ステップは、奥行き値生成部が、前記画素データから一つ以上の画素を読み出して新たな奥行き値を生成する奥行き値生成ステップと、奥行き値存在可否検出部が、前記奥行き値の存在可否フラグが「有」のときに当該奥行き値を出力し、該奥行き値の存在可否フラグが「無」のときに該新たな奥行き値を出力する奥行き値存在可否検出ステップと、左目および右目画像生成部が、該奥行き値存在可否検出部からの奥行き値に基づいて立体視用の左目および右目画像を生成する左目および右目画像生成ステップとを有する請求項11に記載の立体視用画像生成方法。
【請求項16】
請求項11〜15のいずれかに記載の立体視用画像生成方法の各ステップをコンピュータに実行させるための処理手順が記述された制御プログラム。
【請求項17】
請求項16に記載の制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−258153(P2011−258153A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−134542(P2010−134542)
【出願日】平成22年6月11日(2010.6.11)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】