(57)【要約】本発明は、仮想３次元空間の画面を見ながら操作を行うオペレータに対して、仮想３次元空間上の物体移動などを指示するための直感的な操作を実現することができる情報処理装置、情報処理方法、およびプログラムに関する。本開示の情報処理装置は、３次元操作部を用いて３軸方向のパラメータが入力されたことに対応し、ＣＧ画像生成部を制御して、３次元操作部に仮想カメラが対応付けられている場合と、オブジェクトが対応付けられている場合とで、入力されたパラメータに対応するＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御部を含む。本開示は、放送映像を編集するための映像編集装置に適用できる。
2012032996.tif 000002
【特許請求の範囲】
【請求項１】
ＣＧ(computer graphics)による仮想３次元空間の内容が定義されているＣＧ記述データに基づいて、ＣＧ画像のリアルタイムレンダリングを行うＣＧ画像生成部と、
互いに直交する３軸方向のパラメータを入力するための３次元操作部と、
前記３次元操作部による制御対象として前記仮想３次元空間上の仮想カメラまたはオブジェクトを対応付ける対応付け部と、
前記３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系を選択する座標モード選択部と、
前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御部と
を含む情報処理装置。
【請求項２】
前記制御部は、前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量の符号を反転させて仮想３次元空間の画像を変更させる
請求項１に記載の情報処理装置。
【請求項３】
前記３次元操作部を用いた操作モードとして、Locsize，locxyz，Rot，Axisloc，asp，shift asp、またはshift rotを選択する操作モード選択部を
さらに含む請求項１または２に記載の情報処理装置。
【請求項４】
前記３次元操作部は、前記３次元操作部の制御対象として前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、実行可能な操作の種類が異なる
請求項３に記載の情報処理装置。
【請求項５】
前記３次元操作部を用いて入力された前記パラメータに対応する制御量をオペレータに提示する提示手段を
さらに含む請求項１乃至４に記載の情報処理装置。
【請求項６】
前記対応付け部は、前記３次元操作部に前記仮想３次元空間上の仮想カメラまたは複数のオブジェクトを対応付ける
請求項１または２に記載の情報処理装置。
【請求項７】
前記３次元操作部は、デジタル特殊効果装置のユーザインタフェースを兼ねる
請求項１に記載の情報処理装置。
【請求項８】
ＣＧ(computer graphics)による仮想３次元空間の内容が定義されているＣＧ記述データに基づいて、ＣＧ画像のリアルタイムレンダリングを行うＣＧ画像生成部と、
互いに直交する３軸方向のパラメータを入力するための３次元操作部と
を備える情報処理装置の情報処理方法において、
前記情報処理装置による、
前記３次元操作部による制御対象として前記仮想３次元空間上の仮想カメラまたはオブジェクトを対応付ける対応付けステップと、
前記３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系を選択する座標モード選択ステップと、
前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御ステップと
を含む情報処理方法。
【請求項９】
コンピュータを、
ＣＧ(computer graphics)による仮想３次元空間の内容が定義されているＣＧ記述データに基づいて、ＣＧ画像のリアルタイムレンダリングを行うＣＧ画像生成部と、
互いに直交する３軸方向のパラメータを入力するための３次元操作部と、
前記３次元操作部による制御対象として前記仮想３次元空間上の仮想カメラまたはオブジェクトを対応付ける対応付け部と、
前記３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系を選択する座標モード選択部と、
前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、およびプログラムに関し、特に、ＣＧ(computer graphics)による仮想３次元空間の表示を、ジョイスティックなどを用いて直感的に操作できるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ジョイスティックなどの操作入力デバイスを用いて、ＣＧによる仮想３次元空間中の物体の位置、制御点の座標、仮想カメラの位置などを移動させたり、向きを変えたり、回転させたりすることができるシステムが存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２６５８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の当該システムでは、以下のような問題が生じ得る。例えば、オペレータが画面上に表示された仮想３次元空間上の物体を右側に移動させようとしてジョイスティックを右側に操作しても、仮想カメラの位置によっては、必ずしも当該物体が画面上を右側に動くわけではない。つまり、仮想カメラと物体の位置を示す座標の軸との関係によって、物体が画面上でどちらに動くかが変化してしまう。このため、従来の当該システムでは、仮想３次元空間上の物体を移動させたりする操作を直感的に実行することが困難であった。【０００５】
本開示はこのような状況に鑑みてなされたものであり、仮想３次元空間の画面を見ながら操作を行うオペレータに対して、仮想３次元空間上の物体移動などを指示するための直感的な操作を実現できるようにするものである。
【課題を解決するための手段】
【０００６】
本開示の一側面である情報処理装置は、ＣＧによる仮想３次元空間の内容が定義されているＣＧ記述データに基づいて、ＣＧ画像のリアルタイムレンダリングを行うＣＧ画像生成部と、互いに直交する３軸方向のパラメータを入力するための３次元操作部と、前記３次元操作部による制御対象として前記仮想３次元空間上の仮想カメラまたはオブジェクトを対応付ける対応付け部と、前記３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系を選択する座標モード選択部と、前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御部とを含む。【０００７】
前記制御部は、前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量の符号を反転させて仮想３次元空間の画像を変更させることができる。【０００８】
本開示の一側面である情報処理装置は、前記３次元操作部を用いた操作モードとして、Locsize，locxyz，Rot，Axisloc，asp，shift asp、またはshift rotを選択する操作モード選択部をさらに含むことができる。【０００９】
前記３次元操作部は、前記３次元操作部の制御対象として前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、実行可能な操作の種類が異なるようにすることができる。【００１０】
本開示の一側面である情報処理装置は、前記３次元操作部を用いて入力された前記パラメータに対応する制御量をオペレータに提示する提示手段をさらに含むことができる。【００１１】
前記対応付け部は、前記３次元操作部に前記仮想３次元空間上の仮想カメラまたは複数のオブジェクトを対応付けることができる。【００１２】
前記３次元操作部は、デジタル特殊効果装置のユーザインタフェースを兼ねることができる。【００１３】
本開示の一側面である情報処理方法は、ＣＧによる仮想３次元空間の内容が定義されているＣＧ記述データに基づいて、ＣＧ画像のリアルタイムレンダリングを行うＣＧ画像生成部と、互いに直交する３軸方向のパラメータを入力するための３次元操作部とを備える情報処理装置の情報処理方法において、前記情報処理装置による、前記３次元操作部による制御対象として前記仮想３次元空間上の仮想カメラまたはオブジェクトを対応付ける対応付けステップと、前記３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系を選択する座標モード選択ステップと、前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御ステップとを含む。【００１４】
本開示の一側面であるプログラムは、コンピュータを、ＣＧによる仮想３次元空間の内容が定義されているＣＧ記述データに基づいて、ＣＧ画像のリアルタイムレンダリングを行うＣＧ画像生成部と、互いに直交する３軸方向のパラメータを入力するための３次元操作部と、前記３次元操作部による制御対象として前記仮想３次元空間上の仮想カメラまたはオブジェクトを対応付ける対応付け部と、前記３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系を選択する座標モード選択部と、前記３次元操作部を用いて前記３軸方向のパラメータが入力されたことに対応し、前記ＣＧ画像生成部を制御して、前記３次元操作部に前記仮想カメラが対応付けられている場合と、前記オブジェクトが対応付けられている場合とで、入力された前記パラメータに対応する前記ＣＧ画像生成部の制御量を変化させて仮想３次元空間の画像を変更させる制御部として機能させる。【００１５】
本開示の一側面においては、３次元操作部による制御対象として仮想３次元空間上の仮想カメラまたはオブジェクトが対応付けられ、３次元操作部を用いた操作の座標系を示す座標モードとしてターゲット系またはソース系が選択される。また、３次元操作部を用いて３軸方向のパラメータが入力されたことに対応し、ＣＧ画像生成部が制御され、３次元操作部に仮想カメラが対応付けられている場合と、オブジェクトが対応付けられている場合とで、入力されたパラメータに対応するＣＧ画像生成部の制御量が変化されて仮想３次元空間の画像が変更される。
【発明の効果】
【００１６】
本開示の一側面によれば、仮想３次元空間の画面を見ながら操作を行うオペレータに対して、仮想３次元空間上の物体移動などを指示するための直感的な操作を実現することができる。これにより、即時性のある付加価値の高い映像を生成できる。
【図面の簡単な説明】
【００１７】
【図１】本開示を適用した映像編集装置の構成例を示すブロック図である。
【図２】操作入力部の構成例を示す外観図である。
【図３】ジョイスティックにて可能または不可能となる操作を示す図である。
【図４】操作対象を仮想カメラとした場合におけるジョイスティックの操作に応じて変更されるパラメータを示す図である。
【図５】操作対象をオブジェクトとした場合におけるジョイスティックの操作に応じて変更されるパラメータを示す図である。
【図６】操作対象をオブジェクトとした場合におけるジョイスティックの操作に応じたオブジェクトの動きを示す図である。
【図７】操作対象をオブジェクトとした場合にけるジョイスティックの操作に応じたオブジェクトの動きを示す図である。
【図８】matFrWF2DにおけるTrnsPstLocX，TrnsPstLocYを変更することによる２次元移動操作を説明するための画面表示例を示す図である。
【図９】matFrWF2DにおけるTrnsPstSizeを変更することによる拡大操作を説明するための画面表示例を示す図である。
【図１０】matFrWF2DにおけるTrnsPstRotationを変更することによる回転操作を説明するための画面表示例を示す図である。
【図１１】マルチスクリーンの表示例を示す図である。
【図１２】マルチスクリーンの表示例を示す図である。
【図１３】マルチスクリーンの表示例を示す図である。
【図１４】マルチスクリーンの表示例を示す図である。
【図１５】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本開示を実施するための最良の形態（以下、実施の形態と称する）について、図面を参照しながら詳細に説明する。
【００１９】
＜１．実施の形態＞
［映像編集装置の構成例］
図１は、実施の形態である映像編集装置の構成例を示している。
【００２０】
この映像編集装置１０は、いわゆるデジタル特殊効果装置として、例えば、テレビジョン番組の映像を編集する編集者などのオペレータによって操作されるものであり、テレビジョン番組の映像を編集する際に用いるジョイスティックやトラックボールなどの操作入力デバイスを用いて、ＣＧによる仮想３次元空間の画像を制御できるようになされている。
【００２１】
映像編集装置１０は、ＣＧ画像生成部１１、マトリクススイッチ１２、ユーザインタフェース１３、および放送映像生成部１４から構成される。
【００２２】
ＣＧ画像生成部１１は、あらかじめ作成されているＣＧ記述データに基づき、放送映像生成部１４からの制御に従って、ＣＧによる仮想３次元空間の画像をリアルタイムレンダリングしてマトリクススイッチ１２に出力する。
【００２３】
マトリクススイッチ１２は、オペレータから入力される選択操作に従い、ＣＧ画像生成部１１から入力される仮想３次元空間の画像、図示せぬVTRやビデオサーバなどから入力される複数の入力画像のうちのいくつかを選択的に放送映像生成部１４に出力する。
【００２４】
ユーザインタフェース１３は、操作入力部２１、対応表２２、および表示部２３を有する。
【００２５】
図３は、操作入力部２１の構成の一例を示している。操作入力部２１は、３次元ｘ，ｙ，ｚ方向それぞれのパラメータを入力するジョイスティック３１およびＺリング３２、並びに各種の選択操作を行うための複数のボタン（座標モード選択ボタン群３３、操作モード選択ボタン群３４など）から成る。
【００２６】
オペレータは、例えば、ジョイスティック３１を左右に傾斜させる操作を行うことにより、ｘ方向それぞれに対する移動、拡大縮小、回転などを指示することができる。また、ジョイスティック３１を前後に傾斜させる操作を行うことによりｙ方向それぞれに対する移動、拡大縮小、回転などを指示することができる。さらに、ジョイスティック３１またはＺリング３２を左右に回転させる操作を行うことによりｚ方向それぞれに対する移動、拡大縮小、回転などを指示することができる。なお、ジョイスティック３１の代わりに、トラックボールなど他のポインティングデバイスを用いてもよい。
【００２７】
また、オペレータは、操作入力部２１に備わる座標モード選択ボタン群３３に対する操作により、ジョイスティック３１による操作対象の座標モードとして、ターゲット系（画面座標系）、またはソース系（仮想物体（仮想カメラまたは仮想３次元空間における物体）座標系）を選択することができる。
【００２８】
さらに、オペレータは、操作入力部２１に備わる操作モード選択ボタン群３４（Locsizeボタン、locxyzボタン、Rotボタン、Axislocボタン、aspボタン、およびshiftボタン）に対する操作により、操作モードとしてLocsize，locxyz，Rot，Axisloc，asp，shift asp、またはshift rotのいずれかを選択することができる。なお、shift aspは、shiftボタンとaspボタンを同時に選択することを意味する。同様に、shift rotは、shiftボタンとrotボタンを同時に選択することを意味する。
【００２９】
対応表２２は、仮想３次元空間における物体、および仮想カメラのそれぞれに対して対応付けられている操作子ＩＤを記憶している。そして、操作入力部２１のボタンなどにより、ジョイスティック３１と１以上の操作子ＩＤを対応付けることにより、ジョイスティック３１に仮想３次元空間における１以上の物体、または仮想カメラを操作することが可能となる。
【００３０】
図３は、ジョイスティック３１に対して仮想カメラ、または仮想３次元空間における物体（以下、オブジェクトとも記述する）を対応付けたとき、すなわち、ジョイスティック３１の操作対象を仮想カメラまたはオブジェクトとしたときの可能または不可となる操作の種類を示している。
【００３１】
操作入力部２１のジョイスティック３１による操作は、拡大縮小、３次元移動、回転、回転軸移動、縦横比変更、歪み設定、遠近感設定、および２次元移動の８種類が想定される。仮想カメラを操作対象とした場合、これら８種類のうち、３次元移動、回転、回転軸移動、縦横比変更、歪み設定、遠近感設定、および２次元移動の７種類の操作が可能とされ、拡大縮小の操作が不可とされる。
【００３２】
オブジェクトを操作対象とした場合、これら８種類の操作のうち、拡大縮小、３次元移動、および回転の３種類の操作が可能とされ、回転軸移動、縦横比変更、歪み設定、遠近感設定、および２次元移動が操作不可とされる。
【００３３】
不可とされた操作については、オペレータがその操作を選択できないか、またはその操作を選択した状態でジョイスティック３１が傾けられても、表示されているＣＧは変化しない。これにより、全体の操作感としては従来のデジタル特殊効果装置の操作感を維持しつつ、ＣＧの構成に問題が出るような変化は禁止される。したがって、オペレータは誤操作を心配することなく編集操作を実行できる。
【００３４】
図１に戻る。表示部２３は、ジョイスティック３１を用いた操作に応じて生じる、仮想３次元空間における物体などの移動量が数値化されている値をオペレータに提示する（表示する）。
【００３５】
放送映像生成部１４は、ユーザインタフェース１３の操作入力部２１を用いた操作に応じてＣＧ画像生成部１１を制御することにより、ＣＧによる３次元仮想空間の画像をリアルタイムレンダリングさせてマトリクススイッチ１２に出力させる。また、放送映像生成部１４は、ユーザインタフェース１３を用いて入力される編集操作に従い、マトリクススイッチ１２から入力された画像を加工して後段に出力する。
【００３６】
映像編集装置１０を構成するＣＧ画像生成部１１乃至放送映像生成部１４には、それぞれマイクロコンピュータが組み込まれており、互いに制御信号を通信して動作するようになされている。
【００３７】
［動作説明］
設定時
初めに、予め作成されているＣＧ記述データ（Colladaフォーマット）がＣＧ画像生成部１１に読み込まれ、読み込まれたＣＧ記述データに基づいてデフォルトのFlavorが作成される。
【００３８】
ここで、ＣＧ記述データとは、ＣＧ制作ソフトウェアを用いて予め作成されているものであり、当該ＣＧ制作ソフトウェアにより汎用性があるColladaフォーマットのColladaファイルに変換されている。なお、ＣＧ記述データには、Colladaファイルの他、使用されるテクスチャデータ（静止画および動画）、並びにシェーダが含まれる。また、Flavorとは、対応する一つのＣＧ記述データをレンダリングする際の各種設定を保持するファイルである。
【００３９】
ＣＧ画像生成部１１にて、ＣＧ記述データに含まれている、Colladaファイル、テクスチャデータおよびシェーダを読み込むと、Nativeフォーマットに変換して内蔵メモリに保持し、続けて自動的にデフォルトのFlavorが生成される。
【００４０】
デフォルトのFlavorでは、ＣＧレンダリングに使用される仮想カメラがManipulator IDと呼ばれる対応付け識別番号の最初の番号（１番）に割り当てられている。
【００４１】
この後、手動（ユーザインタフェース１３の操作入力部２１を用いて入力される操作）にて所望の複数のFlavorが作成可能となる。ここで生成される複数のFlavorでは、それぞれ複数のManipulator IDを設定することができ、各Manipulator IDに対応して、仮想カメラ、仮想照明、またはオブジェクト（のインスタンス）を対応付けできる。
【００４２】
これらの設定を行う（更新する）際には、好ましくは、同時にＣＧ画像生成が行われ、表示されるリストに示されたノード（仮想カメラ、仮想照明、またはオブジェクト（のインスタンス））を選択すると、出力しているＣＧ画像中の該当する部分（すなわち、選択されたノード）を囲む枠などを強調表示するようにする。これにより、選択されたノードが明確となるので操作性が向上する。
【００４３】
運用時
ＣＧの画像出力を使用する際には、オペレータがユーザインタフェース１３によりFlavorを選択してロード指示すると、ＣＧ画像生成部１１により、対応するＣＧ記述データ（変換済み）が読み込まれ、リアルタイムレンダリングが開始される。
【００４４】
操作入力部２１には、一つのジョイスティック３１に対して、Manipulator IDがそれぞれ対応付けられている複数のボタンが存在し、これらのうちのボタンのいずれか（または複数）をオペレータが選択すると、選択されたボタンに対応付けられているManipulator IDに、ロードされたFlavorにおいて対応するノードがジョイスティック３１操作の制御対象となる。
【００４５】
例えば、選択されたボタンに対応付けられているManipulator IDが、Flavorにおいて仮想カメラに対応付けられている場合、ジョイスティック３１に対する操作に応じて、出力画像中でＣＧ全体が移動される結果となる。仮想カメラ以外が対応付けられている場合、対応するノードがＣＧ空間中で移動されて、その結果がレンダリングされる。
【００４６】
[デジタル特殊効果装置と同様の挙動を示すための頂点処理]
まず、仮想カメラに対応するManipulator IDが選択され、ジョイスティック３１が操作された場合の動作について説明する。
【００４７】
図４は、仮想カメラに関する各種の操作により変更され得るパラメータを示している。
【００４８】
同図の各行は、座標モードと操作モードの各組み合わせにおいて、ジョイスティック３１が操作された際に送信する制御信号の種類を示している。制御信号には、それら種類を示す値と、３次元ベクトルの操作量、例えばｘ方向に−１０といった値を示している。なお、座標モードは、Src（ソース）系またはTgt（ターゲット）系の一方が選択される。操作モードは、axisloc，asp，Locsize，locxyz，Rot，shift asp、またはshift rotのいずれが選択される。
【００４９】
Ｘ、Ｙ、Ｚの各欄は、ジョイスティック３１を操作した際に発生する制御信号を、どのようなパラメータに対する指示として扱うかを示している。
【００５０】
例えば、座標モードでソース系が選択され、操作モードでaxislocが選択された場合、オペレータがジョイスティック３１を傾けると、その傾きに応じて、３次元ベクトルのパラメータTrnsLAxisLoc，TrnsLaxisLoc，TrnsLaxisLoc*-1が発生される。また例えば、座標モードでターゲット系が選択され、操作モードでaspが選択された場合、オペレータがジョイスティック３１を傾けると、その傾きに応じて、スカラ値のパラメータTrnsLViewX，TrnsLViewY，TrnsLPersZが発生される。
【００５１】
ジョイスティック３１を用いて仮想カメラを移動させ、その画面表示を変化させるというデジタル特殊効果装置風の挙動を実現するためには、次式（１）に従ってオブジェクト座標系の座標データである頂点座標を、画面に描画するためのプロジェクション座標に変換する必要がある。
プロジェクション座標
＝matFrWF2D＊ProjectionMatrix＊matFrWF3D＊ViewMatrix＊WorldMatrix＊頂点座標
・・・（１）
【００５２】
なお、通常のＣＧにおいては、次式（２）のように、
プロジェクション座標
＝ProjectionMatrix＊ViewMatrix＊WorldMatrix＊頂点座標
・・・（２）
とされている。
【００５３】
ここで、WorldMatrixは、オブジェクト空間の頂点座標を、拡大、縮小、移動、または回転させてワールド空間座標に変換するための行列である。ワールド空間では、描画する空間の仮想カメラ、オブジェクト等の相対位置が決定される。WorldMatrixは、ＣＧ記述データの設定やモデル操作により決定される。
【００５４】
ViewMatrixは、ワールド座標をＣＧ記述データ上の仮想カメラの位置を原点として、その仮想カメラの右方向、上方向、視線方向をそれぞれＸ，Ｙ，Ｚ軸とする座標系(ビュー座標)に変換するための行列である。ビュー座標系では、描画に使う仮想カメラに対するオブジェクトの相対位置が決定される。ViewMatrixに関係する仮想カメラのパラメータは、ＣＧ記述データにおける仮想カメラ設定で決定される。
【００５５】
matFrWF3Dは、デジタル特殊効果装置において用いられている頂点座標をプロジェクション座標変換する行列を基にした行列である。matFrWF3Dを、ProjectionMatrixとViewMatrixの間に加えることにより、ＣＧクリエータによって制作済みのＣＧの映像に、当該映像編集装置１０のオペレータによるデジタル特殊効果装置の３Ｄトランスフォーメーションを加味することができる。例えて言えば、固定されているカメラの前に鏡を配置することにより、その鏡に反射させること(デジタル特殊効果装置の効果)でカメラを向けていない(すなわち、ＣＧクリエータが意図していない)横見たときの風景を撮像できる効果がある。
【００５６】
ProjectionMatrixは、ビュー座標をプロジェクション座標に変換するための行列である。プロジェクション座標系により、画面上でのオブジェクトの表示が決定される。ProjectionMatrixは、視野角、アスペクト比、前方クリップ距離、および後方クリップ距離によって決定される。
【００５７】
matFrWF2Dは、デジタル特殊効果装置において用いられている頂点座標をプロジェクション座標変換する行列を基にした行列である。matFrWF2DをProjectionMatrixの後に加えることにより、ＣＧクリエータによって制作済みのＣＧの映像に、当該映像編集装置１０のオペレータによるデジタル特殊効果装置の２Ｄトランスフォーメーションを加味することができる。
【００５８】
matFrWF3D，matFrWF2Dでは、従来のデジタル特殊効果装置で採用されているものを流用するパラメータと、新たに定義されるパラメータとが用いられる。
【００５９】
デジタル特殊効果装置で採用されているものを流用するパラメータは、以下の３次元ベクトルとスカラ値からなる。
【００６０】
３次元ベクトル
TrnsLSrcLoc（トランスローカルソースロケーション）、TrnsLAxisLoc（トランスローカルアクシススピン）、TrnsLSrcRot（トランスローカルソースローテーション）、TrnsLSrcSpin（トランスローカルソーススピン）、TrnsLTgtLoc（トランスローカルターゲットロケーション）、TrnsLTgtRot（トランスローカルターゲットローテーション）、TrnsLTgtSpin（トランスローカルターゲットスピン）、TrnsGAxisLoc（トランスグローバスアクシスロケーション）、TrnsGSrcRot（トランスグローバルソースローテーション）、TrnsGSrcSpin（トランスグローバルソーススピン）、TrnsGSrcLoc（トランスグローバルソースロケーション）、TrnsGTgtLoc（トランスグローバルターゲットロケーション）、TrnsGTgtRot（トランスグローバルターゲットローテーション）、TrnsGTgtSpin（トランスグローバルターゲットスピン）
【００６１】
スカラ値
TrnsPreSize（トランスプリサイズ）、TrnsSkewX（トランススキューＸ）、TrnsSkewY（トランススキューＹ）、TrnsPreAspect（トランスプリアスペクト）、TrnsPreRateX（トランスプリレートＸ）、TrnsPreRateY（トランスプリレートＹ）、TrnsLPstLocX（トランスローカルポストロケーションＸ）、TrnsLPstLocY（トランスローカルポストロケーションＹ）、TrnsLPstSize（トランスローカルポストサイズ）、TrnsLViewX（トランスローカルビューＸ）、TrnsLViewY（トランスローカルビューＹ）、TrnsLPersZ（トランスローカルパースペクティブＺ）、TrnsGSize（トランスグローバルサイズ）、TrnsGPstLocX（トランスグローバルポストロケーションＸ）、TrnsGPstLocY（トランスグローバルポストロケーションＹ）、TrnsGPstSize（トランスグローバルポストサイズ）、TrnsGViewX（トランスグローバルビューＸ）、TrnsGViewY（トランスグローバルビューＹ）、TrnsGPersZ（トランスグローバルパースペクティブＺ）。なお、各スカラの初期値は、変形に関するものは１、移動に関するものは０とされている。
【００６２】
新たに定義されるパラメータは、zeroAxisLoc（ゼロアクシスロケーション）、ScreenZeroAxisLoc（スクリーンゼロアクシスロケーション）、TrnsPstRotation（トランスポストローテーション）、ScreenResolutionW（スクリーンレゾルーションW）、およびScreenResolutionH（スクリーンレゾリューションH）である。
【００６３】
zeroAxisLoc：３次元ベクトル。ロードしたシーンの全体(ルートノード)が持つバウンディングボックス（ＣＧ空間中に存在するすべてのオブジェクト等が存在する各座標軸の最大値と最小値による直方体）の中心座標(ビュー座標系)であり、仮想カメラ決定時(ロード時)にその値が代入される。アニメーションやオブジェクトの移動によって中心座標が変化してもzeroAxisは変化しない。
【００６４】
ScreenZeroAxisLoc：４次元ベクトル。zeroAxisのプロジェクション座標であり、ProjectionMatrix＊matFrWF3D＊zeroAxisLocにより求められる。matFrWF2Dの計算時に使用される。画面上のZeroAxisLocを中心とした拡大縮小回転操作を実現する。
【００６５】
TrnsPstRotation：スカラ値。matFrWF2Dの計算時に使用される。画面上のZeroAxisLocを中心とした回転操作における回転角度の設定値である。
【００６６】
ScreenResolutionW：スカラ値。映像出力の横方向解像度の設定値である。
【００６７】
ScreenResolutionH：スカラ値。映像出力の縦方向解像度の設定値である。
【００６８】
出力の行列であるmatFrWF3D，matLAxis，matGAxisの演算式は次式（３）乃至（５）のとおりとなる。
matFrWF3D
＝Tpv・Tgl・Tga・tgr・Tga(-1)・Tgs・Tll・Tla・Tlr・Tla(-1)・Tpre・Tshpre
・・・（３）
matLAxis
＝Tpv・Tgl・Tga・tgr・Tga(-1)・Tgs・Tll・Tla・Tlr
・・・（４）
matGAxis
＝Tpv・Tgl・Tga・tgr
・・・（５）
【００６９】
なお、演算式（３）乃至（５）におけるTglはTGLoc、TgaはTGAxisLoc、tgrはTGTgtSpin・TGRot・TGSreSpin、TgsはTGSize、TllはTLLOC、TlaはTLAxisLoc、TlrはTLTgtSpin・TLRot・TLSreSpinを意味する。
【００７０】
また、Tpvは
Tpv
＝Matrix4::translation(Vector3(0,0,-zeroAxisLoc.z))*
【数１】
2012032996.tif 000003
Matrix4::Translation(Vector3(0,0,zeroAxisLoc.z))
【００７１】
TrnsViewX＝TrnsGViewX+TrnsLViewX
TrnsViewY＝TrnsGViewY+TrnsLViewY
【００７２】
TrnsPersZ
＝｛
10^-5  :TrnsGPersZ*TrnsLLPersZ<=0のとき
max(sqrt(TrnsGPersZ*TrnsLPersZ),10^-5)  :他
｝//
ここで、10^-5は限りなく０に近い値であれば、これに限るものではない。
【００７３】
TGLoc＝Matrix4::translation ((TrnsGSrcLoc*TrnsGSize+TrnsGTgtLoc)*Vector3 (1, 1,-1))    （(1, 1,-1）は操作性調整のための値)
TGAxisLoc＝Matrix4::translation (TrnsGAxisLoc*Vector3 (1, 1,-1))
（(1, 1,-1）は操作性調整のための値)
TGTgtSpin＝RotateMVE(TrnsGTgtSpin)
TGSreSpin＝RotateMVE(TrnsGSrcSpin)
TGRot＝RotateMVE (TrnsGSrcRot)*RotateMVE (TrnsGTgtRot)
TGSize＝Matrix4::scale (Vector3 (TrnsGSize, TrnsGSize, 1))
TLLoc＝Matrix4::translation ((TrnsLSrcLoc*TrnsPreSize+TrnsLTgtLoc)* Vector3 (1, 1,-1))
（(1, 1,-1）は操作性調整のための値)
TAxisLoc＝Matrix4::translation ({TrnsLAxisLocX, TrnsLAxisLocY,-TrnsLAxisLocZ})
（Ｚの負は操作性調整のための値）
TLTgtSpin＝RotateMVE (TrnsLTgtSpin)
TLSreSpin＝RotateMVE (TrnsLSrcSpin)
TLRot＝RotateMVE (TrnsLSrcRot)*RotateMVE (TrnsLTgtRot)
【００７４】
【数２】
2012032996.tif 000004
【００７５】
aspectX＝TrnsPreAspect
aspectY＝1/TrnsPreAspect
TLAxisLoc＝Matrix4::translation (zeroAxisLoc+TrnsLAxisLoc* Vector3 (1, 1,-1))
TGAxisLoc＝Matrix4::translation (zeroAxisLoc+TrnsGAxisLoc* Vector3 (1, 1,-1))
（(1,1,-1)は操作性調整のための値）
【００７６】
また、出力の行列であるmatFrWF2Dは次式（６）のとおりとなる。
matFrWF2D
＝matZeroToCENTER＊
【数３】
2012032996.tif 000005
matCenterTOZero
【００７７】
Matrix4matCenterToZero
＝Matrix4::translation(
Vector3(ScreenZeroAxisLoc.x/ScreenZeroAxisLoc.w,
ScreenZeroAxisLoc.y/ScreenZeroAxisLoc.w,0)
)
Matrix4matZeroToCenter＝Matrix4::inverse(matCenterToZero)
Vector4ScreenZeroAxisLoc
＝ProjectionMatrix*matFrWF3D*Vector4(zeroAxisLoc.xyz,1)
TrnsPstLocX＝TrnsGPstLocX+TrnsLPstLocX
TrnsPstLocY＝TrnsGPstLocY+TrnsLPstLocY
TrnsPstSize＝max(TrnsGPstSize*TrnsLPstSize,10^-8)
ここで、10^-8は限りなく０に近い値であれば、これに限るものではない。
TrnsPstSizeCos＝TrnsPstSize*cos(TrnsPstRotation)
TrnsPstSizeSinW
＝TrnsPstSize*sin(TrnsPstRotation)*(ScreenResolutionH/ScreenResolutionW)
TrnsPstSizeSinH
＝TrnsPstSize*sin(TrnsPstRotation)* (ScreenResolutionW/ScreenResolutionH)
【００７８】
次に、オブジェクトに対応するManipulator IDが選択され、操作入力部２１のジョイスティック３１が操作された場合の動作について説明する。オブジェクトの移動等の操作結果について説明する。
【００７９】
図５は、オブジェクトに関する各種の操作により変更され得るパラメータを示しており、同図の各行は、座標モードと操作モードの各組み合わせにおいて、ジョイスティック３１が操作された際に送信する制御信号の種類を示している。
【００８０】
制御信号には、それら種類を示す値と、３次元ベクトルの操作量、例えばｘ方向に−１０といった値を示している。なお、座標モードは、Src（ソース）系またはTgt（ターゲット）系の一方が選択される。操作モードは、axisloc，asp，Locsize，locxyz，Rot，shift asp、またはshift rotのいずれが選択される。
【００８１】
Ｘ、Ｙ、Ｚの各欄は、ジョイスティック３１を操作した際に発生する制御信号を、どのようなパラメータに対する指示として扱うかを示している。
【００８２】
例えば、座標モードでソース系が選択され、操作モードでLocsizeが選択された場合、オペレータがジョイスティック３１をＸ軸方向に傾けると、傾きに応じたＸ軸方向の変化量を示すパラメータsrcMoveXが発生される。ここで、srcMoveXは、後述する式中のsrcMoveのＸ成分を意味する。表中の他の軸、他の行に関しても同様の表記方法を用いている。
【００８３】
なお、図５において、空欄とされる項目については、対応付けるべきパラメータが存在しないため、誤動作を防止するために選択できないか、または操作されても何も生じないことを意味する。
【００８４】
図６は、オブジェクトに関する各種の操作とオブジェクトの動きの対応を示している。同図においても、図５と同様、各行は、座標モードと操作モードの組み合わせを示し、Ｘ、Ｙ、Ｚの各欄は、ジョイスティック３１を操作した際のオブジェクトの動きを示している。
【００８５】
なお、図６において、空欄とされる項目については、ジョイスティック３１が操作されてもオブジェクトに動きが生じないことを意味する。ただし、当該空欄が埋まるように、オブジェクトに関する各種の操作とオブジェクトの動きの対応を図７に示されるように変更してもよい。
【００８６】
ジョイスティック３１に対する操作は、変更されたパラメータにより、オブジェクトの各ノードが有するマトリクス(WorldMatrix）が更新されることによってＣＧ画像に反映される。そして、操作が反映された後、値は初期化される(srcMove,srcRotate,tgtMove,tgtRotateは各要素０、srcScale,tgtScaleは各要素１で初期化)。
【００８７】
なお、オブジェクトのRotate（回転）の中心は、便宜上、オブジェクトのバウンディングボックスの中央に固定される。
【００８８】
[反映処理]
座標モードとしてSrc（ソース）系が選択された場合、ノード固有の座標系におけるXYZ軸で移動、拡大縮小、回転を実行する。
Matrix  matMove＝Matrix4::translation(SrcMove)
Matrix  matScale＝Matrix4::scale(SrcScale)
Matrix  matRotate＝Matrix4::rotation(SrcRotate)
WorldMatrix＝inverse (toCenter)*matRotate*toCenter*WorldMatrix 
WorldMatrix＝matMove *WorldMatrix
WorldMatrix＝inverse (toCenter)*matScale*toCenter*WorldMatrix
【００８９】
座標モードとしてTgt（ターゲット）系が選択された場合、仮想３次元空間を表示させるディスプレイの横、縦、視線方向を３軸として移動、拡大縮小、回転を実行する。
Matrix  matMove＝Matrix4::translation(TgtMove)
Matrix  matScale＝Matrix4::scale(TgtScale)
Matrix  matRotate＝Matrix4::rotation(TgtRotate)
matWV＝inverse(ViewMatrix)*inverse(matFrWF3D)
CenterWV＝inverse (matWV)*Center
toCenter＝Matrix4::translation(CenterWV)
WorldMatrix＝matWV*inverse(toCenter)*matRotate*toCenter*inverse(matWV)*WorldMatrix
WorldMatrix＝matWV*matMove*inverse (matWV)*WorldMatrix
WorldMatrix＝matWV*fromCenter*matScale*toCenter*inverse (matWV)*WorldMatrix
【００９０】
なお、仮想カメラに対応するManipulator IDが選択された場合の動作において、操作性調整のための値として(1, 1,-1）を乗算する処理がいくつあったが、オブジェクトに対応するManipulator IDが選択された場合の動作においては、そのような調整は行っていない。
【００９１】
[表示部２３の表示]
表示部２３に表示する、ジョイスティック３１を用いた操作により生じる、仮想３次元空間における物体などの移動量が数値化されている値はWorldMatrixに基づいて算出される。
【００９２】
WorldMatrix＝  //マトリクス表記
【数４】
2012032996.tif 000006
//4次元ベクトルx4表記
【００９３】
WorldMatrix’＝matFrWF3D*ViewMatrix*WorldMatrix＝  #マトリクス表記
【数５】
2012032996.tif 000007
//4次元ベクトルx4表記
とする。
【００９４】
また、SrcScale,TgtScale,SrcMove,TgtMoveは３次元ベクトルであり、SrcRotate,TgtRotateはクオータニオンである。
【００９５】
Vector3 SrcScale
＝Vector3 (length(Col0.xyz,length (Col1.xyz),length (Col2.xyz)))
Vector3 TgtScale
＝matFrWF3D*ViewMatrix*SrcScale
Vector3 SrcMove
＝Vector3 (Col3.x, Col3.y, Col3.z)
Vector3 TgtMove
＝matFrWF3D*ViewMatrix*SrcMove
【００９６】
length(Col0.xyz)>0&& length(Col1.xyz)>0&&length(Col2.xyz)>0の場合
Quat SrcRotate
＝normalize (Quat(Vector3 (normalize (Col0.xyz), normalize (Col1.xyz), normalize (Col2.xyz))))
Quat TgtRotate
＝normalize (Quat(Vector3 (normalize (Col0’.xyz), normalize (Col1’.xyz), normalize (Col2’.xyz))))
上記以外の場合
Quat SrcRotate＝{0,0,0,1}
Quat TgtRotate＝{0,0,0,1}
【００９７】
[関数、型の説明]
上記説明に用いた関数、型について説明する。
Vector3は、３次元ベクトルであり、３種類のスカラ値から成る。各スカラ値をそれぞれx,y,zと称する。
Vector4は、４次元ベクトルであり、４種類のスカラ値から成る。各スカラ値をそれぞれx,y,z,wと称する。
Matrixは、４×４の行列であり、１６種類のスカラ値から成る。
Quatは、クオータニオンであり、４種類のスカラ値から成る。各スカラ値をそれぞれx,y,z,wと称する。
【００９８】
Vector4 v4
v4.xyzは、４次元ベクトルのxyz値を持った３次元ベクトルに変換することを意味する。
v4.xは、４次元ベクトルのx値を持ったスカラ値に変換することを意味する。v4.yなどについても同様である。また、Vector3も同様である。
【００９９】
length(Vector3)は、ベクトルの長さを出力する関数である。
normalize(Vector3)は、正規化されたベクトル出力する関数である。
normalize(Quat)は、正規化されたクオータニオン出力する関数である。
inverse()は、逆行列を意味する。
【０１００】
Matrix RotateMVE (Vector3 R)は、デジタル特殊効果装置の回転マトリクス Y軸→X軸→Z軸の順に回転させるマトリクスを生成するものである。R*＝{1,1,-1}は操作性調整のための値である。
Matrix RotateMVE (Vector3 R){
Return
【数６】
2012032996.tif 000008
}
【０１０１】
Matrix Matrix4::scale(Vector3 S)は、拡大縮小させるマトリクスを生成するものである。
Matrix Matrix4::scale(Vector3 S){
Return
【数７】
2012032996.tif 000009
}
【０１０２】
Matrix Matrix4::translation(Vector3 T)は、移動させるマトリクスを生成するものである。
Matrix Matrix4::translation(Vector3 T){
Return
【数８】
2012032996.tif 000010
}
【０１０３】
Matrix Matrix4::rotation (Vector3 R)は、回転マトリクス X軸→Y軸→Z軸の順に回転させるマトリクスを生成するものである。
Matrix Matrix4::rotation (Vector3 R){
Return
【数９】
2012032996.tif 000011
}
【０１０４】
なお、座標モードとして、ソース（Src）系とターゲット（Tgt）系のどちらを選択するかによる違いは、次の通りである。ソース系は操作対象のオブジェクト等を基準とした座標系であり、オブジェクトが向きを変えると出力画像の見た目に対して方向が変わる座標系である。
【０１０５】
例えば自動車の形状のオブジェクトで自動車の進行方向がｘ軸とされている場合、ＣＧ仮想空間中で自動車がどの方向を向いても、ｘ軸は常に自動車の進行方向である。したがって移動（Translate）させるためにジョイスティック３１をｘ方向に傾けると自動車の進行方向に移動する。
【０１０６】
一方、ターゲット系は出力画像の見た目を基準とした座標系であり、見た目の（例えば）右をｘ軸として、オブジェクト等をどう操作しても、座標軸は変化しない。ターゲット座標系を使ってオブジェクトを移動させるためにジョイスティック３１をｘ方向に傾けると、常に見た目の右へ移動する。オブジェクトが自動車の形状であれば、自動車に対して右であるか、それとも上か下かいずれの方向化に関係なく、見た目の右へ移動する結果となる。
【０１０７】
[画面表示例]
次に、映像編集装置１０によるＣＧ制御の効果について説明する。
【０１０８】
図８は、ＣＧによる３次元仮想空間の２次元移動操作、すなわちmatFrWF2DにおけるTrnsPstLocX，TrnsPstLocYを変更することの効果を説明するための画面表示例であり、同図Ａは操作前の状態、同図Ｂは操作後の状態を示している。
【０１０９】
同図Ａと同図Ｂを比較して明らかなように、同図Ａと同図Ｂとでは３次元仮想空間における消失点の位置が変更されることなく、同図Ｂは同図Ａが２次元的に上方に移動されている。従来、このような３次元仮想空間の２次元移動操作は不可能であった。
【０１１０】
図９は、ＣＧによる３次元仮想空間の拡大操作、すなわちmatFrWF2DにおけるTrnsPstSizeを変更することの効果を説明するための画面表示例であり、同図Ａは操作前の状態、同図Ｂは操作後の状態を示している。
【０１１１】
同図Ａと同図Ｂを比較して明らかなように、任意の点（いまの場合、画面左上の×印）を基準点として、その位置が変更されることなく、画面全体が拡大されている。従来、このような任意の位置を基準点として拡大する操作は不可能であった。
【０１１２】
図１０は、ＣＧによる３次元仮想空間の回転操作、すなわちmatFrWF2DにおけるTrnsPstRotationを変更することの効果を説明するための画面表示例であり、同図Ａは操作前の状態、同図Ｂは操作後の状態を示している。
【０１１３】
同図Ａと同図Ｂを比較して明らかなように、任意の点（いまの場合、画面左上の×印）を中心として任意の方向（いまの場合、時計回り）に画面全体が拡大されている。従来、このような任意の点を中心とする回転操作は不可能であった。
【０１１４】
図８乃至図１０に示された２次元移動、拡大、および回転を組み合わせることにより、複数のモニタに対して空間的に連続した異なる映像を表示させるマルチスクリーン対応が可能となる。
【０１１５】
図１１は、３次元仮想空間の映像を上下左右に４分割し、上下左右に配置した４台の同じサイズのモニタに表示させた状態を示している。
【０１１６】
図１２は、３次元仮想空間の映像を縦方向に４分割し、４台並列配置した同じサイズのモニタに表示させた状態を示している。
【０１１７】
図１３は、より多くのモニタを用いたマルチスクリーンの表示例を示している。すなわち、同図Ａは、３×３に配置した同じサイズのモニタに、分割した映像を表示させた状態を示している。同図Ｂは、３×３に傾けて配置した同じサイズのモニタに、分割した映像を表示させた状態を示している。同図Ｃは、ランダムに配置された異なるサイズのモニタに、分割した映像を表示させた状態を示している。なお、アスペクト比が異なるモニタを鋼材させる場合には、ProjectionMatrixのマトリクス設定を調整すればよい。
【０１１８】
図１４は、上下に配置した２台のモニタをそれぞれ独立して横方向に移動可能な状態に設置した場合の利用例を示している。モニタの横方向への動きに対応して、上述したmatFrWF2Dのパラメータを変更することにより、一つの３次元仮想空間を移動するモニタに表示することができる。
【０１１９】
[変形例]
操作入力部２１のジョイスティック３１による操作は、上述した移動、回転などに加えて、ＣＧによるステレオ画像処理に対応するように拡張することができる。
【０１２０】
具体的には、例えば、左眼用の仮想カメラと右眼用の仮想カメラとの間隔を調整する操作、輻輳角を調整する操作などを追加する。この場合、例えば、ジョイスティック３１を奥に倒すと、注視点を遠方に移動させる（輻輳角を狭める）、手前に倒すと、注視点を近くに移動させる（輻輳角を広げる）左に倒すと、左眼右眼の間隔が狭まる、右に倒すと、左眼右眼の間隔が広がるなどの操作が可能となる。
【０１２１】
ユーザインタフェース１３からマトリクススイッチ１２を制御できるようにし、オペレータの操作に従い、ユーザインタフェース１３からマトリクススイッチ１２に制御信号を送る構成を取るようにしてもよい。
【０１２２】
また、本実施の形態では、放送映像生成部１４がＣＧ画像生成部１１を制御するようにしたが、ユーザインタフェース１３から直接的にＣＧ画像生成部１１を制御するようにしてもよい。
【０１２３】
また、ＣＧ画像生成部１１が、外部から画像信号を受け取る画像入力端子を持ち、入力される画像（ビデオ信号）を、ＣＧの中にテクスチャマッピングによってはめ込み、出力画像に含めるようにしてもよい。ここで、入力される画像は、マトリクススイッチ１２の出力を受け取ってもよく、または放送映像生成部１４の出力の一つを受け取ってもよい。画像をテクスチャマッピングによりＣＧ中の面に配置する場合、その面を含むオブジェクトが、Flavor中において、Manipulator IDに対応する操作対象とされている場合は、ジョイスティック３１の操作により、テクスチャマッピングされた入力画像もオブジェクトと一緒に移動することになる。
【０１２４】
さらに、ユーザインタフェース１３において、テクスチャマッピングの内容を操作できるようにしてもよい。また、テクスチャマッピングを、ＣＧ画像生成部１１に複数の画像入力を設けた場合はどの入力画像を使うか、そしてどの面にテクスチャマッピングするかなどの情報は、Flavor中に保存するようにし、Flavorがロードされたときに再現されるようにすることができる。
【０１２５】
なお、映像編集装置１０の構成要素として、さらに、デジタル特殊効果装置を併置し、Manipulator ID、またはそれを選択する操作子の選択対象としてデジタル特殊効果装置（のチャンネル）を含めるようすれば、それらの選択操作により、同一のジョイスティック３１をＣＧの操作デバイスとしたり、デジタル特殊効果装置の操作デバイスとしたりするように兼用することができる。
【０１２６】
さらに、映像編集装置１０の構成要素として、複数のデジタル特殊効果装置またはＣＧ画像生成部１１を設けて、それらから一つを選択できるようにすれば、ジョイスティック３１によりそれらのいずれかの操作することができる。さらに、それら選択肢のうちの複数を選択可能にし、ジョイスティック３１の操作で同時に複数の制御を可能にしてもよい。例えば、ＣＧの画像の移動とデジタル特殊効果装置の画像の移動を同時に行い、放送映像生成部でそれらの画像を重畳合成などして、一つの出力とすることもできる。
【０１２７】
上述したどのような場合においても、画像信号の経路は、マトリクススイッチ１２の制御により、どの装置の出力をどこに利用するかを任意に変更することができる。
【０１２８】
さらに、ユーザインタフェース１３をＣＧ画像生成部１１によって生成される仮想３次元空間上の仮想カメラやオブジェクトだけでなく、映像の拡大縮小などを行うデジタル特殊効果装置に対応付けることができるようにしてもよい。
【０１２９】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１３０】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、プログラム記録媒体からインストールされる。
【０１３１】
図１５は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１３２】
このコンピュータ１００において、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１３３】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０１３４】
以上のように構成されるコンピュータ１００では、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５およびバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０１３５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【０１３６】
また、プログラムは、１台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０１３７】
本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３８】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１３９】
１０  映像編集装置，  １１  ＣＧ画像生成部，  １２  マトリクススイッチ，  １３  ユーザインタフェース，  １４  放送映像生成部，  ２１  操作入力部，  ２２  対応表，  ２３  表示部，  ３１  ジョイスティック，  ３２  Ｚリング，  ３３  座標モード選択ボタン，  ３４  操作モード選択ボタン
【図１】
2012032996.tif 000012
【図２】
2012032996.tif 000013
【図３】
2012032996.tif 000014
【図４】
2012032996.tif 000015
【図５】
2012032996.tif 000016
【図６】
2012032996.tif 000017
【図７】
2012032996.tif 000018
【図８】
2012032996.tif 000019
【図９】
2012032996.tif 000020
【図１０】
2012032996.tif 000021
【図１１】
2012032996.tif 000022
【図１２】
2012032996.tif 000023
【図１３】
2012032996.tif 000024
【図１４】
2012032996.tif 000025
【図１５】
2012032996.tif 000026
【国際調査報告】
2012032996.tif 000027
2012032996.tif 000028
2012032996.tif 000029