[0001]【産業上の利用分野】本発明は、視点データの変更を行うことが可能な3次元画像作成装置に関する。[0002]【従来の技術】近年、コンピュータ・グラフィックス(CG)の分野で、建築物等の外観や内装・照明等のシミュレーションが盛んに行われている。映画やコマーシャルなどの映像にもCGアニメーションが広く使われている。映像作成に関する知識を持たない一般ユーザには指定しにくく、試行錯誤が多くなる。error.【0003】これに対して、ヴァーチャルリアリティ(VR)の分野では、対話性を重視するため、3次元マウスなどの種々のデバイスを用いて、仮想世界を自由に歩きまわる機能を持つ。ユーザが移動用テレビカメラを持ったカメラマンになったつもりで、臨場感のある映像を作ることができる。3次元デバイスは精度や力覚フィードバックの自然さ等の問題から思い通りに使いこなすのは難しく、慣れないユーザは正確な操作をすることができない。車や飛行機などのシミュレータでは実際と同じような操作で移動が可能だが、実機を操作できる程度の操作技術がなければ思い通りの映像は得られない。ゲーム機では、一般ユーザでも楽しめるように移動の方向や範囲などの自由度を制限しているので、操作は簡単だが必ずしも見たい物が見えるとは限らない。necessarily.【0004】通常、映像は、必要な情報を得るため、あるいは、何らかの効果を出すために作られる。一般ユーザがカメラを操作する場合は、前者の目的の方が圧倒的に多いと考えられる。そのためには、各シーンで目的物を的確な大きさで的確な角度から捕らえられ、前後のシーンと違和感なくつながっていなくてはならない。いった指示を上述のようなインタフェースで実現するのは困難である。目的物が動く場合、目的物が他の物体の蔭に隠れて見えなくなってしまったり、接近しすぎてどこを見ているのかわからないといった問題が発生しやすい。要するに、従来のシステムでは、一般ユーザが簡単に思い通りの映像を得ることができなかった。CGシステムでは、CGや映像に関する知識が豊富であるか、操作に長けていなければ思い通りの映像を得る事ができなかった。動画において、一般ユーザが目的とする物体を簡単にカメラで捕らえて観察し続けるような手段がなかった。そこで、本発明は、目的とする物体を観察する視点データを自動的に作成できるような3次元画像生成装置を提供することを目的とする。[0006]【課題を解決するための手段】本発明は、3次元形状データとそれらの色、大きさ、位置、向き等を入力し、入力されたデータに対して、カメラ位置と参照点および画角等の視点データを与えることによって動画像を生成する3次元動画作成装置において、カメラでとらえる物体を指定し、指定された物体に関して、与えられた物体の位置や大きさや向き、および現在のカメラ位置や画角などの視点データから参照点を決定し、決定された参照点とカメラ位置を結ぶ線分が、他の物体によって遮られないか判断し、遮蔽物があると判定された際に、遮蔽されないようにカメラの位置等の視点データを変更することを特徴とするものである。[0007]【作用】本発明は、邪魔な物体をよけて目的とする物体をカメラに捕らえることが可能となるため、観察する物体の追跡を自動的に行う事ができ、ユーザのカメラ位置指定操作を軽減することができる。従って、本発明の一実施例を説明する。図1は、本発明の一実施例を示すブロック図である。物体データ入力部11を介して入力される。Te.【0009】同様に、例えばカメラの位置や参照点および画角等によって表される視点データは、視点データ入力部12を介して入力される。物体データ入力部11で入力された物体のうち、どれをカメラの被写体とするかの指定も視点データ入力部を介して入力される。unit.【0010】物体データ入力部11と視点データ入力部12から入力されたデータは、データ記憶部13に記憶される。参照点決定部14では、データ記憶部13に記憶されている、指定された被写体に対応する物体とカメラ位置などのデータに基づき、空間内のどの位置をカメラの参照点とするかを決定し、データ記憶部13に記憶する。13に記憶されているカメラ位置や参照点のデータと物体の位置や大きさのデータを元に、カメラと参照点の間に存在する物体があるか判定する。point.【0012】視点データ変更部16では、遮蔽物判定部15で被写体を隠す物体があると判定された場合、データ記憶部13の被写体と遮蔽物体の位置や大きさ等のデータ、および視点データを元に、データ記憶部13のカメラ位置や参照点などの視点データを変更する。13.【0013】描画部17は、データ記憶部13のデータを読み込み、3次元の画像を生成する。生成された画像は、例えばディスプレイや大型スクリーン、液晶パネル等の出力部18を介して出力される。panel.【0014】物体の位置を変化させたり動作をつける場合は、物体動作生成部19で物体の動作を生成し、データ記憶部13の物体に関するデータを書き換える。手足や胴体などの各部位であれば、各部位毎に位置や角度が、各々最高どこまで回転・移動出きるかを3次元の座標に基づいて記憶されたいる。2,本発明の動作を示す。処理の流れの概略は図4のフローチャートに示す。図2に、人形と壁を模した二つの形状データ、それらを配置する位置と大きさを示す。Also,平面図右下に視点データの初期値を示す。視点データは、例えば図3に示すように、カメラ位置(視点)と参照点、および上下左右の画角によって表される。これらは、ファイルやコマンドなどの形で入力される(図4の41、42)。4).【0016】また、カメラの被写体の指定は、被写体の名前や番号を入力させる、物体の一覧表を示して選択させる、あるいは鳥瞰図を表示してマウスで指示させる等のインタフェースを用いてユーザに指定してもらう(図4の43)。ここでは、物体Aが被写体として指定されたとする。subject.【0017】動画を生成する時は、物体の位置や動作の生成を行う必要がある(図4の44)。位置や向きのみの変更の場合は、例えば、変更する物体の名前や番号とそれらの移動先をファイルなどの形で入力し、記憶されている物体データを毎回書き換えればよい。"walk"「走る」といった動作をつける場合は、さらに、体の構成や部位の動きに基づき、上述したように手足や胴体などの各部位の位置や角度を変更する。change,動作が滑らかになるように各変更位置へ補完等が行われる。smooth.【0018】参照点決定部14では、被写体がカメラの画角の中に収まり、被写体を観察しやすいように参照点を決める(図4の45)。被写体が図2のような人形の場合は、例えば、画面の中央に人形が位置するように参照点を決定する。図5に示すように、カメラが距離D以上被写体から離れている時は、人形の全身が画角からはみ出さない。図8(a)のようにフレームの中央に見える。限界距離Dは、y方向の画角αとすると、例えば式(1)のような計算で求められる。YA/2に等しい場合に、カメラと参照点の距離と床面上の距離Dが等しく、最も被写体を大きくとらえられる。greatly.カメラがこれより高いか低い場合は、被写体を斜めからみることになるが、立っている人形の場合は高さより幅が大きいことはないのでフレームからはみでることはない(図8(b))。(cm)、画角α=60°とすると、Dは約3mとなる。/2=85(cm)とする。(cm).【0021】距離がDより短い場合に参照点を中央にすると、被写体の一部がフレームからきれる危険性がある。そこで、被写体の注目する部位がフレームからきれないように参照点を設定する必要がある。人形の場合は、図8(c)に示すように、通常は顔がフレームからきれないようにする。図6に示すように、カメラの高さyv、カメラと被写体の床面上の距離がD'の場合、Dの場合と比較して(y1+y2)だけ参照点をあげればよい。170・(1−100/600)#142(cm)となる。(cm).【0023】次に、得られた参照点とカメラ位置の間に別の物体がないかの判断を行う(図4の46)。the他の物体との交差を調べる。started,(b)に示すように、xz平面上での矩形と線分の交差の有無をチェックする。次に、交差のあった物体のみ(a)に示すような、y軸と視線方向の平面上での外枠を表す矩形範囲を求め、この矩形と視線との交差の有無をチェックする。図10に示すように参照点への線分は交差しても、主要な部分が見えればよい場合もある。その場合は、参照点ではなく、顔とカメラ位置とを結ぶ線分(図10中、二重線で表す)との交差をチェックするなどの方法も考えられる。参照点、顔、足など、主要な部位を何カ所か指定し、それらへの複数の線分との交差を調べ、何本かが交差しなければよい、などの規則を追加してもよい。be.【0024】図4の46で、遮蔽物体がないと判断された場合はそのまま描画を行う。object,図4の47の視点データ変更を行う。視点データ変更方法としては、遮蔽物をまわりこむ、被写体へ近づく(ズームイン)、カメラの高さを変えるなどがある。camera.【0025】遮蔽物をまわりこむ方法を図11を使って説明する。カメラの初期位置が81、物体Aを被写体としたとき、物体Bが遮蔽物になっている。物体Bの周囲にγの余裕を与えた四隅の点82、83、84、85の座標を求め、新しいカメラ位置の候補とする。それぞれの座標から被写体Aへの参照点を求め直す。それぞれの視線が他の物体によって遮蔽されないか判断する。遮蔽されないカメラ位置候補が複数ある場合は、候補間の比較をする。D1、D2を比較し、Dとの差が少ない方にする。点81からの距離d1,d2を比較し少ない方にする。物体Aの正面に対する視線の角度を求め、初期位置からの角度との差が少ない方にする。これらの比較により、点85を新しいカメラ位置とする。position.【0026】被写体へ近づく方法を図9を使って説明する。カメラの初期位置91、物体Aを被写体としたとき、物体Bが遮蔽物になっている。物体Bの周囲にγの余裕を与え、物体Bへの交差点のうち物体Aに近い方の点92を新しいカメラ位置の候補とする。その際、例えば図7に示すように、被写体への角度が変わらないようにカメラの高さや参照点を変える必要がある。参照位置の高さは式(2)によって得られる。カメラ位置の高さ(yv')は、例えば式(3)によって得られる。新しく求めたカメラ位置と参照点を結ぶ視線が、他の物体によって遮蔽されないか判断する。カメラの高さを変える方法を図13を使って説明する。object,物体Bが遮蔽物になっている。点103と現在のカメラ位置上にたてた垂直線との交点を、新しいカメラ位置候補104とする。104.【0028】上にあげた3方法のどれかを採用してもよいし、すべての方法で得られた候補を比較して最良のものを選んでも良い。ユーザにそれぞれの候補位置からの画像をみせて、選択させても良い。複数ウィンドウを用意し、複数のカメラ位置からの画像をみせてもよい。カメラの移動方法について、あらかじめユーザが指定できるようにしてもよい。specify.【0029】また、物体Bのような単純な形の壁ではなく、窓やドアがあるような物体もある。その場合は、窓の位置と大きさなどを入力させ、遮蔽物と判断されたら窓から見えるかどうかのチェックを行い見える場合は遮蔽物とはみなさない。遮蔽物とみなされた場合に、視点データを変更するさい、窓から覗くなどの視点データ変更方法を追加する。windows.【0030】あらかじめ、複数の視点データ初期値を入力させ、現在表示中の視点データが遮蔽されたらすばやく別の視点データに切り替えてもよい。被写体との距離が最も近い視点データに切り替えるなどの方法も考えられる。干渉チェックと距離の比較により、自動的に最適なカメラに切り替えていく自動カメラ切り替え機能も実現できる。realized.【0031】視点データ変更の際には、補完有り無しの指定をできるようにする。補完無しの場合は、計算して得られた視点データに入れ換える。補完有りモードの場合は、現在の視点データと計算結果の値が離れている場合、線形補完などを行って徐々にカメラが動いていくような効果を出す。interpolation.【0032】特に、被写体の指定がない場合は、例えば、シーンごとに主役が決まっていれば、主役を被写体とすればよい。最初のシーンでは全体が見えるように視点データの初期値を与えておき、次に被写体と被写体までの距離を指定し、急に切り替えたり、徐々に近寄っていくなどの効果も容易に実現できる。被写体が移動して物陰に隠れても、すばやく別のカメラに切り替えるかカメラを移動するなどにより追跡し続けることができる。camera.また、ユーザのキー操作などにより、別の被写体に切り替えていくことも可能になる。subject.【0033】以上の機能を実現すれば、ユーザのキー操作などの指示により、被写体を写したまま、カメラのズームインやズームアウトができるようにする。被写体を中心にとらえたままで、マウスの位置に従って被写体の回りの球上でカメラを動かすことも簡単にできる。[0034]【発明の効果】以上詳細に説明したように、本発明によれば、特別な知識をもたないユーザでも容易に見たい映像を見ることができる。自動的に最適なカメラに切り替えていく自動カメラ切り替え機能も実現できる。DRAWINGS【図1】本発明の一実施例の概略構成図。invention.【図2】入力データの一例を示す図。data.【図3】視点データの一例を示す図。data.【図4】処理の流れの一例を示す図。flow.【図5】参照点決定方法の例を示す図。methods.【図6】参照点決定方法の例を示す図。methods.【図7】参照点決定方法の例を示す図。methods.【図8】描画される画像の例を示す図。drawn.【図9】遮蔽物判定方法の例を示す図。method.【図10】遮蔽物判定方法の例を示す図。method.【図11】遮蔽物をまわりこむ視点データ変更方法を示す図。obstacle.【図12】ズームインしていく視点データ変更方法を示す図。method.【図13】カメラの高さを変える視点データ変更方法を示す図。