JP2011022726A - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP2011022726A JP2011022726A JP2009166169A JP2009166169A JP2011022726A JP 2011022726 A JP2011022726 A JP 2011022726A JP 2009166169 A JP2009166169 A JP 2009166169A JP 2009166169 A JP2009166169 A JP 2009166169A JP 2011022726 A JP2011022726 A JP 2011022726A
- Authority
- JP
- Japan
- Prior art keywords
- image
- mapping
- polygon
- unit
- texture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
- Studio Circuits (AREA)
Abstract
【課題】CG画像の所望の面に、任意のタイミングで所望の画像を選択して合成可能とする。
【解決手段】表面指定手段120において、操作者は、所定の属性の値(名称)を設定する等して、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面を指定できる。画像選択操作手段170において、操作者は、マトリクススイッチ160の出力バスライン161に対応させた押しボタン列を押圧操作して、画像マッピング手段150に入力されるテクスチャマッピング用の画像データLを任意のタイミングで変更できる。画像データLが変更されることで、CG画像の所定のポリゴン表面にテクスチャマッピングされる画像が変更される。
【選択図】図1
【解決手段】表面指定手段120において、操作者は、所定の属性の値(名称)を設定する等して、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面を指定できる。画像選択操作手段170において、操作者は、マトリクススイッチ160の出力バスライン161に対応させた押しボタン列を押圧操作して、画像マッピング手段150に入力されるテクスチャマッピング用の画像データLを任意のタイミングで変更できる。画像データLが変更されることで、CG画像の所定のポリゴン表面にテクスチャマッピングされる画像が変更される。
【選択図】図1
Description
この発明は、画像処理装置および画像処理方法に関し、特に、コンピュータグラフィクス画像に画像データによる画像をテクスチャマッピングして画像合成を行う画像処理装置等に関する。
3次元グラフィックスシステムにおいては、3次元座標を3角形などのポリゴン(多角形)に分解し、そのポリゴンを描画することで、画像全体の描画が行われる。したがって、この場合、3次元画像は、ポリゴンの組み合わせで定義されていると言える。ところで、身の回りにある物体表面は、複雑な模様の繰り返しパターンを有することが多く、模様やパターンが複雑で細かくなるほど、各模様やパターンを3角形などでモデリングすることは困難となる。そこで、これを解決する手段として、テクスチャマッピング(Texture Mapping)が用いられる。
テクスチャマッピングは、スキャナ等で取り込んだイメージデータを、物体表面に貼り付けることにより、少ない頂点数で、リアリティの高い画像を実現するもので、オブジェクト(Object)座標系からテクスチャ(Texture )座標系への写像を定義し、さらに、ウインドウ(Window)座標系からテクスチャ座標系への写像を求めて、ウインドウ座標系における各ピクセル(Pixel, Picture Cell Element )に対応するテクスチャの要素であるテクセル(Texel, Texture Cell Element )を求める。
テクスチャに利用される画像データは、テクスチャメモリと呼ばれるメモリ領域に格納される。したがって、動画像データを用いてテクスチャメモリを随時更新する処理を行うと、動画像によるテクスチャマッピング処理が可能となる。
例えば、特許文献1には、テクスチャ座標の制御により、三次元CGへのテクスチャマッピングを時間の経過とともに、ある画像から異なる画像へ遷移(Transition)させる、3次元特殊効果装置が記載されている。
また、例えば特許文献2には、コンピュータグラフィクスと実写映像とを合成する技術であって、領域の指定や、テクスチャマッピングする映像の再生開始時刻およびフレームとの対応を指定し、時間軸上で所望のフレーム貼り付けを実現する、画像列生成方法が記載されている。
また、例えば、特許文献3には、3D CGへの動画のテクスチャマッピング状態と、動画のみの表示とをシームレスに遷移する制御を実現する、描画装置が記載されている。
近年は、作成されたコンピュータグラフィクス画像を、状況に応じて、アニメーション動作させること、あるいは一部のパラメータを変化させて、生成されるコンピュータグラフィクス画像を変化させることが行われるようになった。予め合成結果の画像を作って保存利用するのではなく、生放送においても、このような技術が使われるようになっている。このコンピュータグラフィクス画像中にテクスチャマッピングする画像についても、状況に応じて選択可能であることが望まれている。
従来技術では、放送などへの提供前に時間を掛けて画像を合成しておくことが標準的であったため、このような希望に応えていない。例えば、3個のオブジェクトが描画され、それらがアニメーションにより画面中を移動するようなCGについて、それぞれのオブジェクトの表面に任意のタイミングで所望の画像V1,V2をテクスチャマッピングするような運用が望まれる場合、従来技術では、操作が困難であった。
例えば、図23(a)〜(d)は、3個のオブジェクトOB1〜OB3が描画され、それらがアニメーションにより画面中を移動するようなCG画像例を示している。そして、図24(a)〜(d)は、上述の3個のオブジェクトOB1〜OB3の面に、任意のタイミングで所望の画像V1,V2をテクスチャマッピングした例を示している。
CGデータの作成工程は時間を掛けて行われる。一方、テクスチャマッピングされる画像の内容については、この段階では予期できない。
この発明の目的は、コンピュータグラフィクス画像の所望の面に、任意のタイミングで所望の画像を選択して合成可能とすることにある。
この発明の概念は、
複数の入力画像データから1つの画像データを選択的に取り出す画像選択手段と、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像データを生成する画像生成手段と、
上記コンピュータグラフィクス記述データ中のポリゴン集合を選択肢として所定のポリゴンの表面を指定する表面指定手段と、
上記画像生成手段が描画するポリゴンの表面のうち、上記表面指定手段で指定された上記所定のポリゴンの表面に、上記画像選択手段で取り出された画像データによる画像をテクスチャマッピングする画像マッピング手段と
を備える画像処理装置にある。
複数の入力画像データから1つの画像データを選択的に取り出す画像選択手段と、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像データを生成する画像生成手段と、
上記コンピュータグラフィクス記述データ中のポリゴン集合を選択肢として所定のポリゴンの表面を指定する表面指定手段と、
上記画像生成手段が描画するポリゴンの表面のうち、上記表面指定手段で指定された上記所定のポリゴンの表面に、上記画像選択手段で取り出された画像データによる画像をテクスチャマッピングする画像マッピング手段と
を備える画像処理装置にある。
この発明において、画像選択手段により、複数の入力画像データから1つの画像データが選択的に取り出される。また、画像生成手段により、コンピュータグラフィクス記述データに基づいて、コンピュータグラフィクス画像が生成される。この場合、3次元座標が3角形等のポリゴン(多角形)に分解され、そのポリゴンが描画されることで、画像全体の描画が行われる。
また、コンピュータグラフィクス記述データ中のポリゴンの表面が選択肢とされ、所定のポリゴンの表面が指定される。例えば、コンピュータグラフィクス記述データ中の所定の属性の値(名称)の選択により所定のポリゴンの表面が指定される。ここで、所定の属性は、例えば、ノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等である。コンピュータグラフィクス記述データ中において、各所定の属性の値とポリゴンの表面の対応付けが、定義されている。
そして、画像マッピング手段により、画像生成手段が描画するポリゴンの表面のうち、表面指定手段で指定された所定のポリゴンの表面に、画像選択手段で取り出された画像データによる画像がテクスチャマッピングされる。このテクスチャマッピングの動作は、画像選択手段からの画像データの流れ(フレームの連鎖)に従い、画像フレームを継続して更新してテクスチャマッピングの描画を行う。
このように、画像選択手段により複数の入力画像データから1つの画像データが選択的に取り出される。そして、この1つの画像データによる画像が、表面指定手段で指定された所定のポリゴンの表面に、テクスチャマッピングされる。そのため、画像選択手段で取り出される画像データの変化により、テクスチャマッピングされる画像が変化する。この一連の動作はすべて、入力画像データを一定の遅延の範囲内で処理するので、本装置を生放送で使用できるようになっている。すなわち、本装置への入力画像が出力に反映されるまでの遅延は一定のフレーム数以下となる。したがって、操作者は、コンピュータグラフィクス画像の所望の面に、任意のタイミングで所望の画像を選択して合成できる。
この発明において、例えば、画像選択手段を複数備え、表面指定手段は、画像選択手段毎に、コンピュータグラフィクス記述データ中のポリゴンの表面を選択肢として所定のポリゴンの表面を指定し、画像マッピング手段は、画像生成手段が描画するポリゴンの表面のうち、表面指定手段で画像選択手段毎に指定された所定のポリゴンの表面に、対応する画像選択手段で取り出された画像データによる画像をテクスチャマッピングする、ようにしてもよい。
この場合、例えば、表面指定手段により、複数の画像選択手段で取り出される画像データを識別する画像識別子と表面指定を対応付ける画像割り当てテーブルが設定され、画像マッピング手段では、この画像割り当てテーブルに基づいて、テクスチャマッピングの処理が行われる。この場合、コンピュータグラフィクス画像の複数の面に、それぞれ、任意のタイミングで所望の画像を選択して合成できる。
また、この発明において、例えば、画像選択手段を複数備える場合にあって、表面指定手段により表面指定が行われた画像選択手段に対応して、表面指定情報を表示する表示手段をさらに備える、ようにしてもよい。この場合、操作者は、各画像選択手段で取り出される画像データによる画像がテクスチャマッピングされるコンピュータグラフィクス画像の面がいかなる情報で指定されているかを容易に知ることができる。
この発明によれば、複数の入力画像データから1つの画像データを選択的に取り出し、この取り出された画像データによる画像を、指定された所定のポリゴンの表面にテクスチャマッピングするものであり、コンピュータグラフィクス画像の所望の面に、任意のタイミングで所望の画像を選択して合成することが可能となる。
以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.変形例
1.第1の実施の形態
2.第2の実施の形態
3.変形例
<1.第1の実施の形態>
[画像処理装置の構成]
この発明の第1の実施の形態を説明する。図1は、第1の実施の形態としての画像処理装置100の構成例を示している。この画像処理装置100は、CG(Computer Graphics:コンピュータグラフィクス)制作手段110と、表面指定手段120と、ネットワーク130と、画像生成手段140と、画像マッピング手段150を有している。また、この画像処理装置100は、マトリクススイッチ160と、画像選択操作手段170を有している。CG制作手段110、表面指定手段120および画像生成手段140は、それぞれネットワーク130に接続されている。
[画像処理装置の構成]
この発明の第1の実施の形態を説明する。図1は、第1の実施の形態としての画像処理装置100の構成例を示している。この画像処理装置100は、CG(Computer Graphics:コンピュータグラフィクス)制作手段110と、表面指定手段120と、ネットワーク130と、画像生成手段140と、画像マッピング手段150を有している。また、この画像処理装置100は、マトリクススイッチ160と、画像選択操作手段170を有している。CG制作手段110、表面指定手段120および画像生成手段140は、それぞれネットワーク130に接続されている。
CG制作手段110は、CG制作ソフトウェアを持つパーソナルコンピュータ(PC:Personal Computer)により構成されている。このCG制作手段110は、所定のフォーマットのCG記述データを出力する。CG記述データのフォーマットとして、例えばCollada(登録商標)がある。Colladaは、XML(Extensible Markup Language)の上で3DのCGデータの交換を実現するための記述定義である。CG記述データには、例えば、以下のような情報が記述される。
(a)マテリアルの定義
このマテリアルの定義は、CGオブジェクトの表面の質(見え方)である。このマテリアルの定義には、色、反射の仕方、発光、凹凸などの情報が含まれる。また、このマテリアルの定義には、テクスチャマッピングの情報が含まれる場合がある。テクスチャマッピングとは、上述したように、画像をCGオブジェクトに貼り付ける手法であり、処理系の負荷を比較的軽くしつつ、複雑な模様などを表現できる。図2は、マテリアルが持つ表面情報の例を示している。なお、色の代わりにテクスチャマッピングを指定する場合もある。
このマテリアルの定義は、CGオブジェクトの表面の質(見え方)である。このマテリアルの定義には、色、反射の仕方、発光、凹凸などの情報が含まれる。また、このマテリアルの定義には、テクスチャマッピングの情報が含まれる場合がある。テクスチャマッピングとは、上述したように、画像をCGオブジェクトに貼り付ける手法であり、処理系の負荷を比較的軽くしつつ、複雑な模様などを表現できる。図2は、マテリアルが持つ表面情報の例を示している。なお、色の代わりにテクスチャマッピングを指定する場合もある。
(b)幾何学情報 Geometry の定義
この幾何学情報 Geometry の定義には、ポリゴンメッシュについての、位置座標、頂点の座標などの情報が含まれる。
(c)カメラの定義
このカメラの定義には、カメラのパラメータが含まれる。
この幾何学情報 Geometry の定義には、ポリゴンメッシュについての、位置座標、頂点の座標などの情報が含まれる。
(c)カメラの定義
このカメラの定義には、カメラのパラメータが含まれる。
(d)アニメーションの定義
このアニメーションの定義には、アニメーションの各キーフレームにおける、様々な値の情報が含まれる。また、このアニメーションの定義には、アニメーションの各キーフレームにおける時刻の情報が含まれる。様々な情報とは、例えば、対応するオブジェクト(ノード)のキーフレーム点の時刻、位置や頂点の座標値、サイズ、接線ベクトル、補間方法、各種情報のアニメーション中の変化等の情報である。
(e)シーン中のノード(オブジェクト)の位置、方向、大きさ、対応する幾何学情報定義、対応するマテリアル定義
このアニメーションの定義には、アニメーションの各キーフレームにおける、様々な値の情報が含まれる。また、このアニメーションの定義には、アニメーションの各キーフレームにおける時刻の情報が含まれる。様々な情報とは、例えば、対応するオブジェクト(ノード)のキーフレーム点の時刻、位置や頂点の座標値、サイズ、接線ベクトル、補間方法、各種情報のアニメーション中の変化等の情報である。
(e)シーン中のノード(オブジェクト)の位置、方向、大きさ、対応する幾何学情報定義、対応するマテリアル定義
これらの情報は、ばらばらではなく、例えば、以下のように対応付けられている。
・ノード・・・幾何学情報
・ノード・・・マテリアル(複数)
・幾何学情報・・・ポリゴン集合(複数)
・ポリゴン集合・・・マテリアル(ノードに対応するうちの一つ)
・アニメーション・・・ノード
・ノード・・・幾何学情報
・ノード・・・マテリアル(複数)
・幾何学情報・・・ポリゴン集合(複数)
・ポリゴン集合・・・マテリアル(ノードに対応するうちの一つ)
・アニメーション・・・ノード
一つの画面を構成する記述はシーンと呼ばれる。各定義はライブラリと呼ばれ、シーンの中から参照される。例えば、直方体のオブジェクトが2つ存在する場合、それぞれが一つのノードとして記述され、各ノードにマテリアル定義のいずれかが連想される。この結果、各直方体のオブジェクトにはマテリアル定義が連想され、各マテリアル定義に従った色や反射特性で描画される。
あるいは、直方体のオブジェクトは複数のポリゴン集合で記述され、ポリゴン集合にマテリアル定義が連想されている場合は、ポリゴン集合毎に、異なるマテリアル定義で描画される。例えば、直方体の面は6つであるが、このうちの3つの面で一つのポリゴン集合、1つの面で1つのポリゴン集合、2つの面で一つのポリゴン集合、というように、直方体のオブジェクトが3つのポリゴン集合で記述される場合もある。各ポリゴン集合に異なるマテリアル定義を連想できるため、面毎に異なる色で描画させることも可能である。
マテリアル定義にテクスチャマッピングが指定されている場合は、連想されているオブジェクトの面に、画像データによる画像がテクスチャマッピングされる。
この実施の形態では、後述するように、例えば、マテリアル定義に対して入力画像をテクスチャマッピングするように設定される。そのため、直方体のオブジェクトの全ての面に同じ入力画像をテクスチャマッピングすることもでき、面毎に異なる入力画像をテクスチャマッピングすることもできる。
この実施の形態では、後述するように、例えば、マテリアル定義に対して入力画像をテクスチャマッピングするように設定される。そのため、直方体のオブジェクトの全ての面に同じ入力画像をテクスチャマッピングすることもでき、面毎に異なる入力画像をテクスチャマッピングすることもできる。
以下は、CG記述データとしてのColladaファイルのサンプル(一部の抜粋例)を示している。例えば、このサンプルでは、“01MatDefault”という名前(値)のマテリアルが定義されている。そして、このマテリアルの実際の内容は、“01MatDefault-fx”のエフェクトを参照すべきことが記述されている。また。このサンプルでは、<library_visual_scenes>において、“#Box01-lib”の幾何学情報定義に対して“01MatDefault”のマテリアル定義を結びつけて、描画することが記述されている。
[Colladaファイルのサンプル]
<library_materials>
<material id="01MatDefault" name="01MatDefault"> マテリアル定義
<instance_effect url="#01MatDefault-fx"/> エフェクトを参照
</material>
</library_materials>
<library_effects>
<effect id="01MatDefault-fx"name="01MatDefault"> これがマテリアルの内容
<profile_COMMON>
<technique sid="standard">
<phong>
<emission>
<color sid="emission">0.000000 0.000000 0.0000001.000000</color>
</emission>
<ambient> ここで色が付いている
<color sid="ambient">0.588235 0.952941 0.921569 1.000000</color>
</ambient>
<diffuse>
<color sid="diffuse">0.588235 0.952941 0.9215691.000000</color>
</diffuse>
<specular>
<color sid="specular">0.000000 0.000000 0.000000 1.000000</color>
</specular>
<shininess>
<float sid="shininess">2.000000</float>
</shininess>
<reflective>
<color sid="reflective">0.000000 0.000000 0.0000001.000000</color>
</reflective>
<reflectivity>
<float sid="reflectivity">1.000000</float>
</reflectivity>
<transparent>
<color sid="transparent">1.000000 1.000000 1.0000001.000000</color>
</transparent>
<transparency>
<float sid="transparency">0.000000</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_geometries>
<geometry id="Box01-lib" name="Box01Mesh">
<mesh>
<source id="Box01-lib-Position">
<float_array id="Box01-lib-Position-array"count="24"> 位置情報の配列
-4.673016-8.585480 0.000000
4.673016-8.585480 0.000000
-4.6730168.585480 0.000000
4.6730168.585480 0.000000
-4.673016-8.585480 10.185543
4.673016-8.585480 10.185543
-4.6730168.585480 10.185543
4.6730168.585480 10.185543
</float_array>
<technique_common>
<accessor source="#Box01-lib-Position-array" count="8"stride="3">
<param name="X" type="float"/> 位置情報の配列の並びの説明
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-lib-UV0">
<float_array id="Box01-lib-UV0-array" count="24"> UV座標の配列
0.0000000.000000 単純な立方体なので、0 と 1 しかない。
1.0000000.000000
0.0000001.000000
1.0000001.000000
0.0000000.000000
1.0000000.000000
0.0000001.000000
1.0000001.000000
0.0000000.000000
1.0000000.000000
0.0000001.000000
1.0000001.000000
</float_array>
<technique_common>
<accessor source="#Box01-lib-UV0-array" count="12"stride="2">
UV座標の説明
<param name="S" type="float"/>
<param name="T" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="Box01-lib-Vertex">
<input semantic="POSITION"source="#Box02-lib-Position"/>
</vertices>
<polygons material="01MatDefault" count="12">
<input semantic="VERTEX" offset="0"source="#Box01-lib-Vertex"/>
<input semantic="NORMAL" offset="1"source="#Box01-lib-Normal0"/>
<input semantic="TEXCOORD" offset="2" set="0"source="#Box01-lib-UV0"/>
<p>0 0 9 2 1 11 3 2 10</p> 頂点情報
<p>3 3 10 1 4 8 0 5 9</p>
<p>4 6 8 5 7 9 7 8 11</p>
<p>7 9 11 6 10 10 4 11 8</p>
<p>0 12 4 1 13 5 5 14 7</p>
<p>5 15 7 4 16 6 0 17 4</p>
<p>1 18 0 3 19 1 7 20 3</p>
<p>7 21 3 5 22 2 1 23 0</p>
<p>3 24 4 2 25 5 6 26 7</p>
<p>6 27 7 7 28 6 3 29 4</p>
<p>2 30 0 0 31 1 4 32 3</p>
<p>4 33 3 6 34 2 2 35 0</p>
</polygons>
</mesh>
</geometry>
</library_geometries>
<library_animations>
<animation id="Box01-anim" name="Box01">
<animation>
<sourceid="Box01-translate-animation-inputX">
<float_array id="Box01-translate-animation-inputX-array"count="4">
0.0000001.000000 1.033333 1.333333 アニメーションでの X 座標値の変化の時刻
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-inputX-array"count="4">
<param name="TIME" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-outputX">
<float_arrayid="Box01-translate-animation-outputX-array" count="4">
-43.404125-43.404125 -23.897228 13.150181 アニメーションの X 座標値そのもの
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-outputX-array" count="4">
<param name="X" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-intanX">
<float_array id="Box01-translate-animation-intanX-array"count="4">
0.0000000.000000 1.884578 -0.000000
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-intanX-array"count="4">
<param name="X" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-outtanX">
<float_array id="Box01-translate-animation-outtanX-array"count="4">
0.0000000.000000 16.961202 0.000000
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-outtanX-array"count="4">
<param name="X" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-interpolationX">
<Name_array id="Box01-translate-animation-interpolationX-array"count="4">
BEZIER BEZIER BEZIER BEZIER
</Name_array>
<technique_common>
<accessor source="#Box01-translate-animation-interpolationX-array"count="4">
<param type="name"/>
</accessor>
</technique_common>
</source>
<sampler id="Box01-translate-animationX">
<input semantic="INPUT"source="#Box01-translate-animation-inputX"/>
<input semantic="OUTPUT"source="#Box01-translate-animation-outputX"/>
<input semantic="IN_TANGENT"source="#Box01-translate-animation-intanX"/>
<input semantic="OUT_TANGENT"source="#Box01-translate-animation-outtanX"/>
<input semantic="INTERPOLATION"source="#Box01-translate-animation-interpolationX"/>
</sampler>
<channel source="#Box01-translate-animationX"target="Box01/translate.X"/>以上が何のアニメーション情報であるかをここで決定(target)している
</animation>
<library_visual_scenes>
<visual_scene id="RootNode" name="RootNode">
<node id="Box01" name="Box01">
<translate sid="translate">-43.404125 0.6970370.000000</translate>
<rotate sid="rotateZ">0 0 1 0.000000</rotate>
<rotate sid="rotateY">0 1 00.000000</rotate>
<rotate sid="rotateX">1 0 0 0.000000</rotate>
<scale sid="scale">1.000000 1.000000 1.000000</scale>
<instance_geometry url="#Box01-lib"> 幾何学情報定義の参照
<bind_material>
<technique_common>
<instance_material symbol="01MatDefault"target="#01MatDefault"/> マテリアル参照
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<library_materials>
<material id="01MatDefault" name="01MatDefault"> マテリアル定義
<instance_effect url="#01MatDefault-fx"/> エフェクトを参照
</material>
</library_materials>
<library_effects>
<effect id="01MatDefault-fx"name="01MatDefault"> これがマテリアルの内容
<profile_COMMON>
<technique sid="standard">
<phong>
<emission>
<color sid="emission">0.000000 0.000000 0.0000001.000000</color>
</emission>
<ambient> ここで色が付いている
<color sid="ambient">0.588235 0.952941 0.921569 1.000000</color>
</ambient>
<diffuse>
<color sid="diffuse">0.588235 0.952941 0.9215691.000000</color>
</diffuse>
<specular>
<color sid="specular">0.000000 0.000000 0.000000 1.000000</color>
</specular>
<shininess>
<float sid="shininess">2.000000</float>
</shininess>
<reflective>
<color sid="reflective">0.000000 0.000000 0.0000001.000000</color>
</reflective>
<reflectivity>
<float sid="reflectivity">1.000000</float>
</reflectivity>
<transparent>
<color sid="transparent">1.000000 1.000000 1.0000001.000000</color>
</transparent>
<transparency>
<float sid="transparency">0.000000</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_geometries>
<geometry id="Box01-lib" name="Box01Mesh">
<mesh>
<source id="Box01-lib-Position">
<float_array id="Box01-lib-Position-array"count="24"> 位置情報の配列
-4.673016-8.585480 0.000000
4.673016-8.585480 0.000000
-4.6730168.585480 0.000000
4.6730168.585480 0.000000
-4.673016-8.585480 10.185543
4.673016-8.585480 10.185543
-4.6730168.585480 10.185543
4.6730168.585480 10.185543
</float_array>
<technique_common>
<accessor source="#Box01-lib-Position-array" count="8"stride="3">
<param name="X" type="float"/> 位置情報の配列の並びの説明
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-lib-UV0">
<float_array id="Box01-lib-UV0-array" count="24"> UV座標の配列
0.0000000.000000 単純な立方体なので、0 と 1 しかない。
1.0000000.000000
0.0000001.000000
1.0000001.000000
0.0000000.000000
1.0000000.000000
0.0000001.000000
1.0000001.000000
0.0000000.000000
1.0000000.000000
0.0000001.000000
1.0000001.000000
</float_array>
<technique_common>
<accessor source="#Box01-lib-UV0-array" count="12"stride="2">
UV座標の説明
<param name="S" type="float"/>
<param name="T" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="Box01-lib-Vertex">
<input semantic="POSITION"source="#Box02-lib-Position"/>
</vertices>
<polygons material="01MatDefault" count="12">
<input semantic="VERTEX" offset="0"source="#Box01-lib-Vertex"/>
<input semantic="NORMAL" offset="1"source="#Box01-lib-Normal0"/>
<input semantic="TEXCOORD" offset="2" set="0"source="#Box01-lib-UV0"/>
<p>0 0 9 2 1 11 3 2 10</p> 頂点情報
<p>3 3 10 1 4 8 0 5 9</p>
<p>4 6 8 5 7 9 7 8 11</p>
<p>7 9 11 6 10 10 4 11 8</p>
<p>0 12 4 1 13 5 5 14 7</p>
<p>5 15 7 4 16 6 0 17 4</p>
<p>1 18 0 3 19 1 7 20 3</p>
<p>7 21 3 5 22 2 1 23 0</p>
<p>3 24 4 2 25 5 6 26 7</p>
<p>6 27 7 7 28 6 3 29 4</p>
<p>2 30 0 0 31 1 4 32 3</p>
<p>4 33 3 6 34 2 2 35 0</p>
</polygons>
</mesh>
</geometry>
</library_geometries>
<library_animations>
<animation id="Box01-anim" name="Box01">
<animation>
<sourceid="Box01-translate-animation-inputX">
<float_array id="Box01-translate-animation-inputX-array"count="4">
0.0000001.000000 1.033333 1.333333 アニメーションでの X 座標値の変化の時刻
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-inputX-array"count="4">
<param name="TIME" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-outputX">
<float_arrayid="Box01-translate-animation-outputX-array" count="4">
-43.404125-43.404125 -23.897228 13.150181 アニメーションの X 座標値そのもの
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-outputX-array" count="4">
<param name="X" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-intanX">
<float_array id="Box01-translate-animation-intanX-array"count="4">
0.0000000.000000 1.884578 -0.000000
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-intanX-array"count="4">
<param name="X" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-outtanX">
<float_array id="Box01-translate-animation-outtanX-array"count="4">
0.0000000.000000 16.961202 0.000000
</float_array>
<technique_common>
<accessor source="#Box01-translate-animation-outtanX-array"count="4">
<param name="X" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Box01-translate-animation-interpolationX">
<Name_array id="Box01-translate-animation-interpolationX-array"count="4">
BEZIER BEZIER BEZIER BEZIER
</Name_array>
<technique_common>
<accessor source="#Box01-translate-animation-interpolationX-array"count="4">
<param type="name"/>
</accessor>
</technique_common>
</source>
<sampler id="Box01-translate-animationX">
<input semantic="INPUT"source="#Box01-translate-animation-inputX"/>
<input semantic="OUTPUT"source="#Box01-translate-animation-outputX"/>
<input semantic="IN_TANGENT"source="#Box01-translate-animation-intanX"/>
<input semantic="OUT_TANGENT"source="#Box01-translate-animation-outtanX"/>
<input semantic="INTERPOLATION"source="#Box01-translate-animation-interpolationX"/>
</sampler>
<channel source="#Box01-translate-animationX"target="Box01/translate.X"/>以上が何のアニメーション情報であるかをここで決定(target)している
</animation>
<library_visual_scenes>
<visual_scene id="RootNode" name="RootNode">
<node id="Box01" name="Box01">
<translate sid="translate">-43.404125 0.6970370.000000</translate>
<rotate sid="rotateZ">0 0 1 0.000000</rotate>
<rotate sid="rotateY">0 1 00.000000</rotate>
<rotate sid="rotateX">1 0 0 0.000000</rotate>
<scale sid="scale">1.000000 1.000000 1.000000</scale>
<instance_geometry url="#Box01-lib"> 幾何学情報定義の参照
<bind_material>
<technique_common>
<instance_material symbol="01MatDefault"target="#01MatDefault"/> マテリアル参照
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
図1に戻って、マトリクススイッチ160は、複数の入力画像データから一つの画像データを選択的に取り出す画像選択手段を構成している。このマトリクススイッチ160は、9本の入力ラインと、4本の出力バスライン161〜164と、クロスポイントスイッチ群165〜168とにより構成されている。
9本の入力ラインは図で一方向に配列されており、それぞれにはVTR、ビデオカメラ等から画像データが入力される。4本の出力バスライン161〜164は、入力ラインと交差して他方向に配列されている。クロスポイントスイッチ群165は、9本の入力ラインと出力バスライン161とが交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群165が制御され、9本の入力ラインに入力された画像データのいずれかが出力バスライン161に選択的に出力される。この出力バスライン161は、テクスチャマッピング用の画像データLの出力ライン(補助出力ライン)を構成する。
また、クロスポイントスイッチ群166,167,168は、それぞれ、9本の入力ラインと出力バスライン162,163,164とが交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群166,167,168が制御され、9本の入力ラインに入力された画像データのいずれかが出力バスライン162,163,164に選択的に出力される。この出力バスライン162,163,164は、外部出力用の画像データOUT1,OUT2,OUT3の出力ラインを構成する。
なお、クロスポイントスイッチ群165〜168の各クロスポイントスイッチのオンオフ動作は、フレームデータの連続からなる画像データを切り替えるものであることから、フレームの切れ目である垂直ブランキング区間内に行われる。
画像選択操作手段170は、上述のマトリクススイッチ160への指示の操作入力を受ける。この画像選択操作手段170は、各出力バスラインにそれぞれ対応した押しボタン列からなり、各ボタンが各入力ラインに対応した構成とされている。
図3は、画像選択操作手段(操作卓)170の外観の一例を示している。この画像選択操作手段170には、出力バスライン161〜164にそれぞれ対応した左右方向に延びる押しボタン列171〜174が上下方向に並ぶように設けられている。各押しボタン列は、入力ラインのそれぞれと対応する出力バスラインとの接続を選択する択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。
画像選択操作手段(操作卓)170の上部には文字表示部175が設けられており、各入力ラインへの入力画像を識別するための文字が表示されている。また、画像選択操作手段(操作卓)170の左部には文字表示部176が設けられており、各押しボタン列が対応する出力バスラインで得られる画像データを識別するための文字が表示されている。
画像生成手段140は、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。この画像生成手段140は、時間をかけたレンダリング処理ではなく、アニメーションフレームの実時間で画像を生成する。
画像生成手段140は、CG記述データを読み込むと、各定義などの情報をメモリ上に保持し、それらの対応付けもデータ構造として保持する。また、画像生成手段140は、アニメーションを実行するためのキーフレームにおける各種値もメモリ上に保持する。
例えば、あるノードの幾何学情報にあるポリゴン集合を描画するには、その幾何学情報と、対応付けられているマテリアル定義を参照して、その色などの指定に従って描画する。アニメーションの場合は、現在時刻を毎フレーム進行させ、現在時刻から、前後のキーフレームにおける各値を補間して各値を決定し、描画を行う。
この画像生成手段140には、表面指定手段120から、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面の指定情報が送られてくる。画像生成手段140は、その指定情報が示す所定のポリゴン(ポリゴン集合)の表面に入力画像をテクスチャマッピングするように、画像マッピング手段150を制御する。
画像マッピング手段150は、画像生成手段140が描画するポリゴンのうち、表面指定手段120で指定されるポリゴンの表面に、テクスチャマッピングを行う。この画像マッピング手段150は、実装上は、上述の画像生成手段140と一体化されており、CPU(Central Processing Unit)上のソフトウェアによる制御と、GPU(GraphicsProcessing Unit)等のハードウェアによる動作によって実現される。制御ソフトウェアは、テクスチャマッピングするポリゴン集合を指定してハードウェアに指示する。
[画像生成手段および画像マッピング手段の構成例]
図4は、画像生成手段140および画像マッピング手段150の具体的な構成例を示している。画像生成手段140および画像マッピング手段150は、画像入出力部141と、GPU142と、ローカルメモリ143と、CPU144と、メインメモリ145を有している。また、画像生成手段140および画像マッピング手段150は、周辺デバイス制御部146と、ハードディスクドライブ(HDD)147と、イーサネット回路148aと、ネットワーク端子148bを有している。また、画像生成手段140および画像マッピング手段150は、USB(Universal Serial Bus)端子149と、SDRAM(SynchronousDRAM)151を有している。なお、「イーサネット」は登録商標である。
図4は、画像生成手段140および画像マッピング手段150の具体的な構成例を示している。画像生成手段140および画像マッピング手段150は、画像入出力部141と、GPU142と、ローカルメモリ143と、CPU144と、メインメモリ145を有している。また、画像生成手段140および画像マッピング手段150は、周辺デバイス制御部146と、ハードディスクドライブ(HDD)147と、イーサネット回路148aと、ネットワーク端子148bを有している。また、画像生成手段140および画像マッピング手段150は、USB(Universal Serial Bus)端子149と、SDRAM(SynchronousDRAM)151を有している。なお、「イーサネット」は登録商標である。
画像入出力部141は、テクスチャマッピングをするための画像データを入力し、また、画像データによる画像が適宜テクスチャマッピングされたCG画像の画像データを出力する。この画像入出力部141は、最大で4系統の画像データを入力でき、また、最大で4系統の画像データを出力できる。なお、ここで取り扱われる画像データは、例えば、SMPTE292Mで規定されているHD-SDI(High Definition television-SerialDigital Interface)規格の画像データである。GPU142およびメインメモリ145は、同等に、画像入出力部141にアクセス可能とされている。
メインメモリ145は、CPU144のワークエリアとして機能すると共に、画像入出力部141から入力される画像データを一時的に記憶する。CPU144は、画像生成手段140および画像マッピング手段150の全体を制御する。このCPU144には、周辺デバイス制御部146が接続されている。この周辺デバイス制御部146は、CPU144と周辺デバイスとの間のインタフェース処理を行う。
CPU144には、周辺デバイス制御部146を介して、内蔵のハードディスクドライブ147が接続されている。また、CPU144には、周辺デバイス制御部146、イーサネット回路148aを介して、ネットワーク端子148bが接続されている。また、CPU144には、周辺デバイス制御部146を介して、USB端子149が接続されている。さらに、CPU144には、周辺デバイス制御部146を介して、SDRAM151が接続されている。
CPU144は、テクスチャ座標の制御を行う。すなわち、このCPU144は、入力画像データに対して、それによる画像をGPU142が描画するポリゴンの表面にテクスチャマッピングをするための処理を行う。GPU142は、ハードディスクドライブ147等に保持されているCG記述データに基づいてCG画像を生成し、また、必要に応じて、指定されたポリゴンの表面に、入力画像をテクスチャマッピングする。ローカルメモリ143は、GPU142のワークエリアとして機能すると共に、GPU142で作成されたCG画像の画像データを一時的に記憶する。
CPU144は、メインメモリ145にアクセスできる他、ローカルメモリ143にもアクセス可能とされている。同様に、GPU142は、ローカルメモリ143にアクセスできると共に、メインメモリ145にもアクセス可能とされている。GPU142により生成されてローカルメモリ143に一次的に記憶されたCG画像データは、このローカルメモリ143から順次読み出され、画像入出力部141から出力される。
図5は、上述した画像生成手段140および画像マッピング手段150の機能ブロックの構成例を示している。この画像生成手段140および画像マッピング手段150は、画像入力部152、テクスチャ画像記憶部153、CG制御部154、CG描画部155、テクスチャ座標制御部156、フレームバッファ157および画像出力部158の機能ブロックを有している。
画像入力部152および画像出力部158は、画像入出力部141により構成されている。また、テクスチャ画像記憶部153は、メインメモリ145により構成されている。また、CG制御部154およびテクスチャ座標制御部156は、CPU144により構成されている。また、CG描画部155は、GPU142により構成されている。また、フレームバッファ157は、ローカルメモリ143により構成されている。
画像入力部152とテクスチャ画像記憶部153は対で、これらを増やすことで、画像入力の系統を増やすことができる。また、フレームバッファ157と画像出力部158は対で、これらを増やすことで、画像出力の系統を増やすことができる。
図6は、テクスチャマッピングを行う際のテクスチャ画像とUVマップの一例を示している。図6(a)はテクスチャ画像を示し、図6(b)はUVマップを示している。ここで、UVマップは、あるオブジェクト(ノード)の表面を紙面と考えたときに、その紙面上での座標で表された地図を意味している。この地図を平面に拡げたときに、その平面上での点(x,y)がオブジェクトの表面の点(u,v)に対応している。そのため、テクスチャ画像をUVマップに貼り付ける処理を行うことで、オブジェクトの表面にテクスチャ画像を貼り付けるテクスチャマッピングが可能となる。なお、図6(b)はUVマップに、テクスチャ画像が貼り付けられた状態を示している。
表面指定手段120は、CG記述データ中のポリゴンの表面を選択肢として、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面を指定する。そして、表面指定手段120は、ネットワーク130を介して、その指定情報を画像生成手段140に送る。この表面指定手段120は、例えば、GUI(Graphical User Interface)で実現される。以下に、表面指定方法の例を上げる。
(1)ポリゴン集合を全て選択肢として表示し、操作者にその中から選択させる。
(2)ノードを選択肢として表示し、操作者にその中から選択させる。一つのノードには、複数のポリゴン集合が含まれる場合がある。
(1)ポリゴン集合を全て選択肢として表示し、操作者にその中から選択させる。
(2)ノードを選択肢として表示し、操作者にその中から選択させる。一つのノードには、複数のポリゴン集合が含まれる場合がある。
例えば、円錐の底面と側面が別々のポリゴン集合になっている場合には、ポリゴン集合で指定すれば、例えば底面にのみテクスチャマッピングすることができる。あるいは、円錐のノード単位で指定すれば、底面と側面に同じ入力画像をテクスチャマッピングできる。入力画像と各面上の位置との対応は、テクスチャ座標により指定される。CG記述データには、ポリゴンの頂点毎のテクスチャ座標が記述されている。CG記述データ中で、各ポリゴン集合および各ノードには、CG制作手段110で制作時に付与された文字列の名称が対応付けられている。それら文字列を選択肢として表示するようにすることで、操作し易い環境を提供できる。
(3)マテリアル定義を選択肢として表示し、操作者にその中から選択させる。この場合、マテリアル定義を指定することで、間接的に入力画像をテクスチャマッピングする対象であるポリゴン表面を指定できる。すなわち、この場合、選択されたマテリアル定義に対応付けられているポリゴン集合を、入力画像をテクスチャマッピングする対象とする。
例えば、CG記述データに次の4つのマテリアル定義が含まれているとする。
・<material_phong1>
・<material_lambert1>
・<material_blinn1>
・<material_blinn2>
・<material_phong1>
・<material_lambert1>
・<material_blinn1>
・<material_blinn2>
表面指定手段120は、この4つのマテリアル定義の名称を選択肢として表示し、操作者に、例えば一つ選択させる。なお、選択個数を一つに限定しないことも可能である。CG記述データの中に、例えば、円錐、円柱、直方体、三角錐があり、次のようにマテリアルとの対応付けがされているとする。
円錐の底面 :material_blinn1
円錐の側面 :material_lambert1
円柱(全体) :material_blinn2
直方体 :
三角錐の底面 :material_phong1
三角錐の側面 :material_lambert1
円錐の側面 :material_lambert1
円柱(全体) :material_blinn2
直方体 :
三角錐の底面 :material_phong1
三角錐の側面 :material_lambert1
このCG記述データに対して、マテリアル定義の“material_phong1”が、入力画像のテククスチャマッピングの対象に指定されたとする。この場合、描画においては、三角錐の底面に入力画像がテクスチャマッピングされる。
(4)マテリアル定義の表面情報のいずれかを選択肢として表示し、操作者にその中から選択させる。
例えば、マテリアル定義が持つ表面情報のうち、
<diffuse> 色 反射する拡散光の量
について、条件の指定を可能にする。
例えば、マテリアル定義が持つ表面情報のうち、
<diffuse> 色 反射する拡散光の量
について、条件の指定を可能にする。
例として、マテリアル定義(material_blinn1)のdiffuse(反射する拡散光)が、
<diffuse>
<color sid="diffuse">0.815686 0.588235 0.898039 1.000000</color>
</diffuse>
であれば、RGBAが、それぞれ、
R:0.815686
G:0.588235
B:0.898039
AlphaMap:1.000000
である。
<diffuse>
<color sid="diffuse">0.815686 0.588235 0.898039 1.000000</color>
</diffuse>
であれば、RGBAが、それぞれ、
R:0.815686
G:0.588235
B:0.898039
AlphaMap:1.000000
である。
表面指定手段(GUI)120は、diffuse について、処理中のCG記述データのマテリアル定義に含まれる値の全てを、選択肢として表示する。この場合、色であるので、数値だけではなく、実際に色を表示するとよい。
操作者が上述の値を選択した場合、上述の値を採る diffuse を含むマテリアル定義と対応付けられているポリゴン集合に、入力画像がテクスチャマッピングされる。この場合、別のマテリアル定義であっても、diffuse の値が同じ場合は、そのマテリアル定義と対応付けられているポリゴン集合に、同様に入力画像がテクスチャマッピングされる。例えば、マテリアル定義“material_lambert1”のdiffuse の値が同じである場合は、このマテリアル定義“material_lambert1” と対応付けられているポリゴン集合に、同様に入力画像がテクスチャマッピングされる。
値の判定として、等号が成立しなくても、許容範囲を定めた比較を行ってもよい。これらの値は浮動小数点値なので、完全な等号で比較すると意図する結果と異なる場合があるため、ある範囲を定めて、誤差のように扱い、一致としてもよい。例えば、Rの値が0.815686であるdiffuse が指定されたとして、テクスチャマッピングの対象となるかどうか、diffuse のRが、±10%の範囲内にあるかどうかで判定する。すなわち、0.815686×0.9と0.815686×1.1の間に入る場合に、一致と判断する。この他、絶対値で許容範囲を決めておく方法でも有効である。
なお、このような表面の色を条件とする方法には、操作性に対して利点、効果がある。CG制作手段(PC)110で作業する間は、テクスチャマッピングされる様子を見ることはできない。しかし、PC上のソフトウェアであっても指定した表面の色は概ねその通りに表示されることが多い。ある色にどの入力画像をマッピングするかを決めておけば、制作中のCG仮表示画面上で、どこに入力画像が入るかを容易に操作者の頭の中で想定して、最終画像を思い描くことが可能である。
(5)静止画の画像ファイルのテクスチャマッピングが指定されている各マテリアル定義内の画像ファイルを選択肢として表示し、操作者にその中から選択させる。
例えば、マテリアル定義“material_phong1”が、画像ファイルgrain_image.jpgをテクスチャマッピングするように記述されていたとする。すなわち、マテリアル定義“material_phong1”に対応するdiffuse が、grain_image.jpg をテクスチャに使うように記述されている。表面指定手段(GUI)120は、CG記述データの中で、静止画像のテクスチャマッピングに使われている画像ファイルを選択肢として表示する。grain_image.jpg のみであれば、これだけであり、他にもあれば、複数からの択一となる。
例えば、マテリアル定義“material_phong1”が、画像ファイルgrain_image.jpgをテクスチャマッピングするように記述されていたとする。すなわち、マテリアル定義“material_phong1”に対応するdiffuse が、grain_image.jpg をテクスチャに使うように記述されている。表面指定手段(GUI)120は、CG記述データの中で、静止画像のテクスチャマッピングに使われている画像ファイルを選択肢として表示する。grain_image.jpg のみであれば、これだけであり、他にもあれば、複数からの択一となる。
例えば、入力画像に対する動画像のテクスチャマッピング指定として、操作者が、例えば、grain_image.jpg を選択した場合を考える。この場合、このファイルを静止画としてテクスチャマッピングするように記述されたマテリアル定義と対応付けられているポリゴン集合に、入力画像のテクスチャマッピングを行う。このような指定手段を用いる場合、CG制作手段で作業する間は、静止画のファイル(grain_image.jpg)がテクスチャマッピングされた様子を見ることになる。この結果、制作中のCG仮表示画面上で、どこに入力画像が入るかを容易に操作者の頭のなかで想定して、最終画像を思い描くことが可能である。
図7は、表面指定手段120のGUI表示例を示している。このGUI表示例は、属性の値を指定して、間接的に入力画像をテクスチャマッピングするポリゴンの表面を指定するためのGUI例である。このGUI表示例には、CG記述データ中に含まれる属性の値K,L,Mが選択肢として表示され、操作者により属性=Lが選択された状態を示している。
なお、ここで、属性としては、操作者の操作により、例えばノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等から任意の属性が設定される。この操作者の属性の設定により、設定された属性の値(名称)がCG記述データ中から抽出され、GUI表示に選択肢として表示される。図7のGUI表示例では選択肢が3個の場合を示しているが、CG記述データ中から抽出される属性の値(名称)の数に応じて選択肢の数は変動する。
図1に示す画像処理装置100の動作例を説明する。CG制作手段110では、CG制作ソフトウェアにより、所定のCG画像を生成するためのCG記述データが生成される。このようにCG制作手段110で生成されたCG記述データは、ネットワーク130を介して、画像生成手段140および表面指定手段120に送られる。
表面指定手段(GUI)120では、CG記述データ中のポリゴンの表面が選択肢とされて、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面が指定される。例えば、表面指定手段(GUI)120では、操作者の操作により、所定のポリゴンの表面を指定するための属性が設定される。この場合、ノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等から任意の属性が設定される。
表面指定手段120では、この操作者の属性の設定により、この設定された属性の値(名称)がCG記述データ中から抽出され、GUI表示に選択肢として表示される。そして、表面指定手段120では、操作者の操作により、表示された選択肢の中から一つまたは複数の値(名称)が選択される。この選択情報は、テクスチャマッピングする対象である所定のポリゴンの表面の指定情報として、ネットワーク130を介して、画像生成手段140に送られる。
また、マトリクススイッチ160では、画像選択操作手段170の押しボタン列171が操作者により押圧操作されることで、テクスチャマッピング用の画像データLとして、9本の入力ラインに入力された画像データのいずれかが選択的に出力される。このようにマトリクススイッチ160で得られるテクスチャマッピング用の画像データLは、画像マッピング手段150に送られる。
画像生成手段140では、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像が生成される。また、上述したように、この画像生成手段140には、テクスチャマッピングする対象である所定のポリゴンの表面の指定情報として、所定の属性の一つまたは複数の値(名称)が送られてくる。この画像生成手段140により、所定の属性の一つまたは複数の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に入力画像をテクスチャマッピングするように、画像マッピング手段150が制御される。
画像マッピング手段150では、画像生成手段140の制御により、上述の所定の属性の一つまたは複数の値(名称)に対応付けられているポリゴンの表面に、マトリクススイッチ160で得られる画像データLによる画像がテクスチャマッピングされる。そして、画像生成手段140から導出された出力端子140aには、所定のポリゴンの表面に画像データLによる画像がテクスチャマッピングされたCG画像の画像データVoutが出力される。
図8のフローチャートは、表面指定手段120の処理手順を概略的に示している。表面指定手段120は、ステップST1において、処理を開始し、その後、ステップST2の処理に移る。このステップST2において、表面指定手段120は、CG作成手段110で作成されて画像生成手段140に送られるCG記述データを取得する。この場合、表面指定手段120は、上述したようにCG作成手段110から送られてくるものを受け取るか、あるいは、画像生成手段140に保持されているものを読み込む。
次に、表面指定手段120は、ステップST3において、操作者に、テクスチャマッピングするポリゴンの表面を指定するための所定の属性を選択させる。この属性は、上述したようにノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等である。そして、表面指定手段120は、ステップST4において、ステップST3で操作者が設定した所定の属性の値(名称)をステップST2で取得したCG記述データから抽出し、選択肢として表示する。
次に、表面指定手段120は、ステップST5において、操作者に、表示されている所定の属性の選択肢から1つまたは複数の値(名称)を選択させる。そして、表面指定手段120は、ステップST6において、ステップST5で操作者が選択した所定の属性の値(名称)の選択情報を、入力画像をテスクチャマッピングする所定のポリゴンの表面の指定情報として送る。その後、表面指定手段120は、ステップST7において、処理を終了する。
図9のフローチャートは、画像マッピング手段150の処理手順を概略的に示している。画像マッピング手段150は、ステップST11において、処理を開始し、その後、ステップST12の処理に移る。このステップST12において、画像マッピング手段150は、画像生成手段140からマッピング制御情報を受け取る。このマッピング制御情報は、表面指定手段120から上述したように画像生成手段140に送られてくる所定のポリゴンの表面の指定情報に基づくものである。すなわち、このマッピング制御情報は、その指定情報が示す所定のポリゴン(ポリゴン集合)の表面に入力画像をテクスチャマッピングするように制御するための情報である。
次に、画像マッピング手段150は、ステップST13において、マッピング制御情報に基づいて、テクスチャマッピングする。この場合、画像マッピング手段150は、選択された所定の属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、マトリクススイッチ160で得られるテクスチャマッピング用の画像データLによる画像をテクスチャマッピングする。その後、画像マッピング手段150は、ステップST14において、処理を終了する。
図1に示す画像処理装置100において、操作者は、表面指定手段120で所定の属性の値(名称)を設定する等して、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面を指定できる。また、操作者は、画像選択操作手段170の押しボタン列171を押圧操作することで、マトリクススイッチ160で得られるテクスチャマッピング用の画像データLを任意のタイミングで変更できる。このように画像データLが変更されることで、画像マッピング手段150でCG画像の所定のポリゴン表面にテクスチャマッピングされる画像が変更される。したがって、操作者は、CG画像の所望の面に、任意のタイミングで所望の画像を選択して合成できる。
また、図1に示す画像処理装置100において、操作者は、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面の指定を、ノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等の属性を設定して行うことができる。これにより、以下のような利点、効果がある。すなわち、CG制作手段(PC)110で作業する間、操作者はテクスチャマッピングされる様子を見ることはできない。しかし、PC上のソフトウェアであっても指定した表面の色等の属性は概ねその通りに表示されることが多い。そのため、どの属性に入力画像をテクスチャマッピングするかを決めておけば、制作中のCG仮表示画面上で、どこに入力画像が入るかを容易に操作者の頭の中で想定して、最終画像を思い描くことが可能である。また、通常マテリアル定義毎に表面の属性は異なるため、マテリアル定義を選択してテクスチャマッピングさせる場合でも、同様の効果が得られる。
CG記述データには上述の様にアニメーションが含まれる場合もあり、このアニメーションの進行(反復を含む)は、別の操作手段(説明略)により、運用中に操作できる。したがって、たとえばスポーツ競技中継の生放送に利用して、CGアニメーションの進行(方向、速度、反復、開始、停止)を操作しつつ、同時に複数のカメラから送られてくる複数の画像データを画像選択手段で競技の状況に応じて選択してテクスチャマッピングさせることができる。これによりCGアニメーションの視覚効果と、生放送の適切な画像切り換えによる競技の注目映像の選択という二つの特長を、併せて発揮して、付加価値の高い放送を行うことができる。
<2.第2の実施の形態>
[画像処理装置の構成]
この発明の第2の実施の形態を説明する。図10は、第2の実施の形態としての画像処理装置100Aの構成例を示している。この図10において、図1と対応する部分には同一符号を付し、適宜、その説明を省略する。この画像処理装置100Aは、CG制作手段110と、表面指定手段120Aと、ネットワーク130と、画像生成手段140Aと、画像マッピング手段150Aを有している。また、この画像処理装置100Aは、マトリクススイッチ160Aと、画像選択操作手段170Aと、プログラム・プレビューミキサ180を有している。CG制作手段110、表面指定手段120A、画像生成手段140Aおよび画像選択操作手段170Aは、それぞれネットワーク130に接続されている。
[画像処理装置の構成]
この発明の第2の実施の形態を説明する。図10は、第2の実施の形態としての画像処理装置100Aの構成例を示している。この図10において、図1と対応する部分には同一符号を付し、適宜、その説明を省略する。この画像処理装置100Aは、CG制作手段110と、表面指定手段120Aと、ネットワーク130と、画像生成手段140Aと、画像マッピング手段150Aを有している。また、この画像処理装置100Aは、マトリクススイッチ160Aと、画像選択操作手段170Aと、プログラム・プレビューミキサ180を有している。CG制作手段110、表面指定手段120A、画像生成手段140Aおよび画像選択操作手段170Aは、それぞれネットワーク130に接続されている。
CG制作手段110は、CG制作ソフトウェアを持つパーソナルコンピュータ(PC:Personal Computer)により構成されている。このCG制作手段110は、所定のフォーマットのCG記述データを出力する。このCG制作手段110は、上述の図1に示す画像処理装置100のCG制作手段110と同様のものである。
マトリクススイッチ160Aは、複数の入力画像データから画像データを選択的に取り出す画像選択手段を構成している。このマトリクススイッチ160Aは、10本の入力ラインと、13本の出力バスライン211〜223と、クロスポイントスイッチ群231〜243を有している。このマトリクススイッチ160Aは、エフェクトスイッチャの一部を構成しており、外部機器としての画像マッピング手段150Aに画像データを供給する他、内部の画像合成手段等に画像データを供給するために使用される。
出力バスライン211〜214は、画像マッピング手段150Aに画像データを供給するためのバスラインである。また、出力バスライン215〜221は、外部に画像データを出力するためのバスラインである。また、出力バスライン222,223は、内部の画像合成手段(ミキサ)に画像データを供給するためのバスラインである。
10本の入力ラインは図で一方向に配列されている。「1」〜「9」の入力ラインには、それぞれにはVTR、ビデオカメラ等から画像データが入力される。また、「10」の入力ラインには、画像生成手段140Aから出力されるCG画像データが入力される。13本の出力バスライン211〜223は、入力ラインと交差して他方向に配列されている。
クロスポイントスイッチ群231〜234は、10本の入力ラインと出力バスライン211〜214とが交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群231〜234の接続が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン211〜214に選択的に出力される。この出力バスライン211〜214は、テクスチャマッピング用の画像データ(マッピング入力)T1〜T4の出力ラインを構成する。
また、クロスポイントスイッチ群235〜241は、それぞれ、10本の入力ラインと出力バスライン215〜221が交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群235〜241が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン215〜221に選択的に出力される。この出力バスライン215〜221は、外部出力用の画像データOUT1〜OUT7の出力ラインを構成する。
また、クロスポイントスイッチ群242,243は、それぞれ、10本の入力ラインと出力バスライン222,223とが交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群242,243が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン222,223に選択的に出力される。
この出力バスライン222,223に出力される画像データは、プログラム・プレビューミキサ180に入力される。このプログラム・プレビューミキサ180は、出力バスライン222,223から入力される画像データに対して合成処理を行う。このプログラム・プレビューミキサ180から、プログラム出力ライン251を通じてプログラム(PGM)出力が外部に出力され、プレビュー出力ライン252を通じてプレビュー出力が外部に出力される。
なお、クロスポイントスイッチ群231〜243の各クロスポイントスイッチのオンオフ動作は、フレームデータの連続からなる画像データを切り替えるものであることから、フレームの切れ目である垂直ブランキング区間内に行われる。
画像選択操作手段170Aは、上述のマトリクススイッチ160Aへの指示の操作入力を受ける。この画像選択操作手段170Aは、マトリクススイッチ160Aの各クロスポイントスイッチ群のスイッチのオンオフを操作する押しボタン列を備える操作卓260を備えている。
図11は、操作卓260の一例の外観を示している。この操作卓260には、左右方向に延びる押しボタン列261〜264が上下方向に並ぶように設けられている。各押しボタン列は、予め操作者の設定操作により、上述のマトリクススイッチ160Aの13本の出力バスラインのいずれかに対応するように設定される。各押しボタン列は、入力ラインのそれぞれと対応する出力バスラインとの接続を選択する択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。
操作卓260の上部には、文字表示部265が設けられている。この文字表示部265は、各入力ラインへの入力画像を識別するための文字を表示する。この文字表示部265は、例えば、LCD(Liquid Crystal Display)等の表示素子により構成される。また、操作卓260の左部には、文字表示部266が設けられている。この文字表示部266は、各押しボタン列が対応する出力バスラインを識別するための文字を表示する。この文字表示部266は、例えば、LCD等の表示素子により構成される。
画像マッピング手段150Aにマッピング入力を供給する出力バスラインに割り当てられた押しボタン列に対応しては、後述するようにユーザ操作により選択された所定の属性の値(名称)が表示される。この所定の属性の値(名称)は、当該出力バスラインに得られる画像データ(マッピング入力)による画像をテクスチャマッピングするポリゴン(ポリゴン集合)の表面を指定する情報(表面指定情報)である。
図11においては、文字表示部266に、押しボタン列261に対応して、属性の一つであるマテリアル定義の名称である「Metal-1」の文字が表示されている。また、図11においては、文字表示部266に、押しボタン列264に対応して、属性の一つであるマテリアル定義の名称である「Material-Def3」の文字が表示されている。
この操作卓260の押しボタン列261〜264をどの出力バスラインに対応させるかは、例えば、GUI(Graphical User Interface)で実現される。図12(a)は、出力バスラインのアサイン時に表示されるGUI表示例を示している。このGUI表示においては、4つの押しボタン列261〜264が、「1」〜「4」で表されている。操作者は、この「1」〜「4」に対応した「Selectボタン」を操作して出力バスラインの選択肢を表示し、その選択肢の中から所望の出力バスラインを選択することで、それぞれの押しボタン列に所望の出力バスラインを割り当てることができる。
図12(b)は、出力バスラインのセレクト時に表示されるGUI表示例を示している。このGUI表示には、外部出力用の画像データOUT1〜OUT7の出力ラインを構成する出力バスライン215〜221が、「OUT1」〜「OUT7」で選択肢として表示されている。また、このGUI表示には、プログラム・プレビューミキサ180に画像データを入力する出力バスライン222,223が、「PP−A」,「PP−B」で選択肢として表示されている。
また、このGUI表示には、テクスチャマッピング用の画像データ(マッピング入力)T1〜T4の出力ラインを構成する出力バスライン211〜214に押しボタン列を割り当てるために、所定の属性の値(名称)が選択肢として表示されている。属性としては、操作者の操作により、例えばノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等から任意の属性が設定される。ここで、操作者は、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面の指定を行うための属性を設定する。あるいは、別の例としては、システムにおいて一つの属性に設定されていても良い。
画像選択操作手段170Aは、設定された属性の値(名称)をCG制作手段110で生成されたCG記述データ中から抽出し、GUI表示に選択肢として表示する。図12(b)のGUI表示例においては、属性としてマテリアル定義が設定された場合を示しており、マテリアル定義の名称が選択肢として表示されている。「Metal-1」、「Metal-2」、「Material-Def1」、「Material-Def2」、「Material-Def3」は、マテリアル定義の名称である。
図12(a)のGUI表示例では、「2」,「3」に対して「OUT1」,「OUT2」が選択されている。この場合、押しボタン列262,263は、出力バスライン215,216に割り当てられる。また、図12(a)のGUI表示例では、「1」,「4」に対して「Metal-1」,「Material-Def3」が選択されている。
上述したようにマトリクススイッチ160Aは13本の出力バスラインを有しており、それぞれの出力バスラインはバス番号「1」〜「13」で特定される。また、上述したように、マトリクススイッチ160Aの1番から4番までの出力バスラインは、画像マッピング手段150Aにマッピング入力(画像データ)T1〜T4を入力する。画像選択操作手段170A、あるいはその周辺のマイコンは、この結線状態を記憶した、図13に示すような、マッピング入力対応テーブルを持っている。このマッピング入力対応テーブルは、結線に対応する設定として記憶され、結線の変更がない限り変わることはない。
図12(a)の「1」,「4」の場合のように、ある押しボタン列に対して所定の属性の値(名称)が選択された場合、画像選択操作手段170Aは、その押しボタン列を、バス番号1〜4のうち、未だ割り当てられていない出力バスラインに割り当てる。この場合、この出力バスラインは、選択された所定の属性の値(名称)に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、選択された所定の属性の値(名称)の情報と、割り当て対象の出力バスラインによるマッピング入力がマッピング入力T1〜T4のいずれであるかの情報を、ネットワーク130を介して、表面指定手段120Aに送る。
図12(a)に示すように、「1」に対して「Metal-1」が選択され、その後、「4」に対して「Material-Def3」が選択される場合を例にとってさらに説明する。
まず、「1」に対して「Metal-1」が選択されるとき、画像選択操作手段170Aは、押しボタン列261を出力バスライン211に割り当てる。この場合、この出力バスライン211は、マテリアル定義「Metal-1」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、マテリアル定義「Metal-1」およびマッピング入力T1の情報を、ネットワーク130を介して、表面指定手段120Aに送る。
まず、「1」に対して「Metal-1」が選択されるとき、画像選択操作手段170Aは、押しボタン列261を出力バスライン211に割り当てる。この場合、この出力バスライン211は、マテリアル定義「Metal-1」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、マテリアル定義「Metal-1」およびマッピング入力T1の情報を、ネットワーク130を介して、表面指定手段120Aに送る。
次に、「4」に対して「Material-Def3」が選択されるとき、画像選択操作手段170Aは、押しボタン列264を出力バスライン212に割り当てる。この場合、この出力バスライン212は、マテリアル定義「Material-Def3」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、マテリアル定義「Material-Def3」およびマッピング入力T2の情報を、ネットワーク130を介して、表面指定手段120Aに送る。
なお、図11に示す操作卓260は、4つの押しボタン列261〜264を備えるものを示しているが、5つ以上の押しボタン列を備えるものの考えられる。その場合にあっても、所定の属性の値(名称)を選択する押しボタン列の数は最大4である。図10に示す画像処理装置100Aでは、画像マッピング手段150Aにマッピング入力(画像データ)を供給する出力バスラインが4本とされているからである。
また、上述では、ある押しボタン列に対して所定の属性の値(名称)を一つだけ選択し得るように説明した。ある押しボタン列に対して、所定の属性の値(名称)を複数個選択することを許容する構成も考えられる。この場合には、選択された複数の所定の属性の値(名称)のいずれかに対応付けられたポリゴン(ポリゴン集合)すべての表面に、ある押しボタン列が割り当てられた出力バスラインの出力画像データによる画像がテクスチャマッピングされることになる。この場合、各押しボタン列に対応した文字表示部266(図11参照)には、複数の属性の値(名称)が表示されることになる。ただし、複数の属性の値(名称)の表示が困難であれば、一つ、あるいは可能なだけ表示することになる。
また、上述では、文字表示部266を操作卓260に押しボタン列に対応させて配置しているが、これとは別の場所に同様の4つの表示器を配列し、参考情報として、4つの画像がどこにテクスチャマッピングされるかを示すようにしても良い。
表面指定手段120Aは、上述したように、画像選択操作手段170Aから送られてくる、選択された属性の値(名称)とマッピング入力の対応情報に基づいて、属性の値(名称)とマッピング入力の対応関係を示す画像割り当てテーブルを作成する。そして、表面指定手段120Aは、この画像割り当てテーブルを、ネットワーク130を介して、画像生成手段140A内に設定する。
表面指定手段120Aは、このように画像割り当てテーブルを設定することで、マッピング入力T1〜T4を出力する出力バスライン毎に、そのマッピング入力による画像をテクスチャマッピングするポリゴン(ポリゴン集合)の表面を指定する。この場合、マッピング入力による画像をテクスチャマッピングするポリゴン(ポリゴン集合)の表面は、属性の値(名称)により指定される。
図14(a)は、画像割り当てテーブルの一例を示している。この例は、上述したように、画像選択操作手段170Aにおいて、図12(a)に示すように、「1」に対して「Metal-1」が選択され、「4」に対して「Material-Def3」が選択された場合の例である。また、図14(b)は、画像割り当てテーブルの他の例を示している。この例は、上述したように、画像選択操作手段170Aにおいて、「1」に対して「Metal-1」、「Material-Def2」が選択され、「4」に対して「Material-Def3」が選択された場合の例である。この画像割り当てテーブルにおいて、T1〜T4は、画像識別子を構成している。
画像生成手段140Aは、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。この画像生成手段140Aは、CG記述データを読み込むと、各定義などの情報をメモリ上に保持し、それらの対応付けもデータ構造として保持する。また、画像生成手段140Aは、アニメーションを実行するためのキーフレームにおける各種値もメモリ上に保持する。
例えば、あるノードの幾何学情報にあるポリゴン集合を描画するには、その幾何学情報と、対応付けられているマテリアル定義を参照して、その色などの指定に従って描画する。アニメーションの場合は、現在時刻を毎フレーム進行させ、現在時刻から、前後のキーフレームにおける各値を補間して各値を決定し、描画を行う。
この画像生成手段140Aには、上述したように、表面指定手段120Aにより、画像割り当てテーブルが設定される(図14(a),(b)参照)。画像生成手段140Aは、テーブルに存在する各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、その属性の値(名称)と対のマッピング入力による画像をテクスチャマッピングするように、画像マッピング手段150Aを制御する。
画像マッピング手段150Aは、画像生成手段140Aが描画するポリゴンのうち、画像生成手段140Aに設定された画像割り当てテーブルに存在する各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、テクスチャマッピングを行う。この画像マッピング手段150Aには、上述したように、マトリクススイッチ160Aからテクスチャマッピング用の画像データであるマッピング入力T1〜T4が供給される。画像マッピング手段150Aは、画像生成手段140Aの制御により、画像割り当てテーブルに存在する各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、その属性の値(名称)と対のマッピング入力による画像をテクスチャマッピングする。
この画像マッピング手段150Aは、実装上は、例えば、上述の画像生成手段140Aと一体化されており、CPU上のソフトウェアによる制御と、GPU等のハードウェアによる動作によって実現される。制御ソフトウェアは、テクスチャマッピングするポリゴン集合を指定してハードウェアに指示する。詳細説明は省略するが、この画像マッピング手段150Aおよび上述した画像生成手段140Aは、図1に示す画像処理装置100における画像マッピング手段150および画像生成手段140と同様に構成されている(図4、図5参照)。
図10に示す画像処理装置100Aの動作例を説明する。CG制作手段110では、CG制作ソフトウェアにより、所定のCG画像を生成するためのCG記述データが生成される。このようにCG制作手段110で生成されたCG記述データは、ネットワーク130を介して、画像生成手段140Aおよび画像選択操作手段170Aに送られる。
画像選択操作手段170Aでは、操作者の操作により、テクスチャマッピング用の画像データ(マッピング入力)T1〜T4の出力ラインを構成する出力バスライン211〜214に、操作卓260の押しボタン列を割り当てることが行われる。この場合、押しボタン列毎に、所定の属性の値(名称)が選択されることで、出力バスライン211から順に割り当てが行われる。操作卓260は4つの押しボタン列261〜264を備えているので、最大で出力バスライン211〜214の全てにそれぞれ1つの押しボタン列を割り当てることができる。
この画像選択操作手段170Aでは、操作者の操作により、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面の指定を行うための属性が設定される。ここで、属性は、ノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等である。上述の所定の属性は、操作者の操作により設定された属性あるいはシステムで設定されていた属性であり、選択される属性の値(名称)はCG制作手段110で生成されたCG記述データ中から抽出されたものである。
マトリクススイッチ160Aの出力バスライン211〜214のうち、操作卓260の押しボタン列が割り当てられた出力バスラインに関しては、対応する押しボタン列の操作により、その出力画像データ(マッピング入力)を変更できる。この場合、出力画像データとして、10本の入力ラインに入力された画像データのいずれかが選択的に出力される。例えば、マトリクススイッチ160Aの出力バスライン211に操作卓260の押しボタン列261が割り当てられた場合、操作者は、押しボタン列261の操作により、画像マッピング手段150Aへのマッピング入力T1を、任意のタイミングで変更可能となる。
画像選択操作手段170Aにおいて上述したように出力バスライン211〜214のいずれかに操作卓260の押しボタン列が割り当てられる場合、この画像選択操作手段170Aから表面指定手段120Aに、ネットワーク130を介して、情報が送られる。この情報には、選択された所定の属性の値(名称)の情報と、割り当て対象の出力バスラインによるマッピング入力がマッピング入力T1〜T4のいずれであるかの情報が含まれる。
表面指定手段120Aでは、画像選択操作手段170Aから送られてくる、選択された属性の値(名称)とマッピング入力の対応情報に基づいて、属性の値(名称)とマッピング入力の対応関係を示す画像割り当てテーブルを設定することが行われる。この画像割り当てーブルは、ネットワーク130を介して、画像生成手段140A内に設定される。表面指定手段120Aでは、この画像割り当てテーブルの設定により、各マッピング入力による画像をテクスチャマッピングするポリゴン(ポリゴン集合)の表面が、属性の値(名称)により指定される。
画像生成手段140Aでは、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像が生成される。また、上述したように、この画像生成手段140Aには、表面指定手段120Aにより、画像割り当てテーブルが設定される。画像生成手段140Aにより、テーブルの各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、その属性の値(名称)と対のマッピング入力による画像をテクスチャマッピングするように、画像マッピング手段150Aが制御される。
画像マッピング手段150Aでは、画像生成手段140Aの制御により、テクスチャマッピングが行われる。すなわち、画像マッピング手段150Aでは、画像割り当てテーブルに存在する各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、その属性の値(名称)と対のマッピング入力による画像がテクスチャマッピングされる。そして、画像生成手段140Aから導出された出力端子140aには、所定のポリゴンの表面に画像がテクスチャマッピングされたCG画像の画像データVoutが出力される。なお、マトリクススイッチ160Aの「10」の入力ラインにも、画像生成手段140Aから出力される、所定のポリゴンの表面に画像がテクスチャマッピングされたCG画像の画像データが入力される。
図15のフローチャートは、画像選択操作手段170Aの処理手順を概略的に示している。画像選択操作手段170Aは、ステップST21において、処理を開始し、その後、ステップST22の処理に移る。このステップST22において、画像選択操作手段170Aは、CG作成手段110で作成されて画像生成手段140Aに送られるCG記述データを取得する。この場合、画像選択操作手段170Aは、上述したようにCG作成手段110から送られてくるものを受け取るか、あるいは、画像生成手段140Aに保持されているものを読み込む。
次に、画像選択操作手段170Aは、ステップST23において、操作者にテクスチャマッピングするポリゴンの表面を指定するための所定の属性を選択させる。この属性は、上述したようにノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等である。そして、画像選択操作手段170Aは、ステップST24において、ステップST23で操作者が設定した所定の属性の値(名称)のすべてをステップST22で取得したCG記述データから抽出する。
次に、画像選択操作手段170Aは、ステップST25において、抽出した所定の属性の値(名称)を選択肢として含むGUI表示を行い、操作者に、操作卓260の押しボタン列を出力バスラインのいずれかに割り当てる出力バスアサインをさせる。この出力バスアサインにより、画像マッピング手段150Aにマッピング入力T1〜T4を供給する出力バスライン211〜214のいずれかに操作卓260の押しボタン列が割り当てられる。
次に、画像選択操作手段170Aは、ステップST26において、選択された属性の値(名称)とマッピング入力の対応情報を、表面指定手段120Aに送る。その後、画像選択操作手段170Aは、ステップST27において、処理を終了する。
図16のフローチャートは、表面指定手段120Aの処理手順を概略的に示している。表面指定手段120Aは、ステップST31において、処理を開始し、その後に、ステップST32の処理に移る。このステップST32において、表面指定手段120Aは、画像選択操作手段170Aから送られてくる選択された属性の値(名称)とマッピング入力の対応情報を受け取る。
次に、表面指定手段120Aは、ステップST33において、ステップST32で受け取った対応情報に基づいて、属性の値(名称)とマッピング入力の対応関係を示す画像割り当てテーブルを作成し、画像生成手段140Aに設定する。その後、表面指定手段120Aは、ステップST34において、処理を終了する。
図17のフローチャートは、画像マッピング手段150Aの処理手順を概略的に示している。画像マッピング手段150Aは、ステップST41において、処理を開始し、その後、ステップST42の処理に移る。このステップST42において、画像マッピング手段150Aは、画像生成手段140Aからマッピング制御情報を受け取る。このマッピング制御情報は、表面指定手段120Aにより設定された画像割り当てテーブルに基づくものである。すなわち、この制御情報は、画像割り当てテーブルに存在する各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、その属性の値(名称)と対のマッピング入力による画像をテクスチャマッピングするように制御するための情報である。
次に、画像マッピング手段150Aは、ステップST43において、マッピング制御情報に基づいて、テクスチャマッピングする。この場合、画像マッピング手段150Aは、画像割り当てテーブルに存在する各属性の値(名称)に対応付けられているポリゴン(ポリゴン集合)の表面に、その属性の値(名称)と対のマッピング入力による画像をテクスチャマッピングする。その後、画像マッピング手段150Aは、ステップST44において、処理を終了する。
図18のシーケンス図は、画像生成手段140Aに画像割り当てテーブルが設定されるまでの通信シーケンスを示している。
(1)CG制作手段110は、CG画像を生成するためのCG記述データを生成する。(2)CG制作手段110は、このCG記述データを、画像選択操作手段170Aに送る。(3)画像選択操作手段170Aは、操作者にテクスチャマッピングするポリゴンの表面を指定するための所定の属性を選択させ、その属性の値(名称)を、CG記述データから抽出する。(4)そして、画像選択操作手段170Aは、抽出した所定の属性の値(名称)を選択肢として含む出力バスラインのアサイン用のGUI表示を行う。(5)そして、画像選択操作手段170Aは、操作者に、GUI表示を用いた出力バスアサインを行わせる。この出力バスアサインにより、画像マッピング手段150Aにマッピング入力T1〜T4を供給する出力バスライン211〜214のいずれかに操作卓260の押しボタン列が割り当てられる。
(1)CG制作手段110は、CG画像を生成するためのCG記述データを生成する。(2)CG制作手段110は、このCG記述データを、画像選択操作手段170Aに送る。(3)画像選択操作手段170Aは、操作者にテクスチャマッピングするポリゴンの表面を指定するための所定の属性を選択させ、その属性の値(名称)を、CG記述データから抽出する。(4)そして、画像選択操作手段170Aは、抽出した所定の属性の値(名称)を選択肢として含む出力バスラインのアサイン用のGUI表示を行う。(5)そして、画像選択操作手段170Aは、操作者に、GUI表示を用いた出力バスアサインを行わせる。この出力バスアサインにより、画像マッピング手段150Aにマッピング入力T1〜T4を供給する出力バスライン211〜214のいずれかに操作卓260の押しボタン列が割り当てられる。
(6)画像選択操作手段170Aは、選択された属性の値(名称)とマッピング入力の対応情報を、表面指定手段120Aに送る。(7)表面指定手段120Aは、画像選択操作手段170Aから送られてくる対応情報に基づいて、属性の値(名称)とマッピング入力の対応関係を示す画像割り当てテーブルを作成する。(8)そして、表面指定手段120Aは、画像割り当てテーブルを画像生成手段140Aに設定する。
図10に示す画像処理装置100Aにおいて、画像選択操作手段170Aで操作卓260の各押しボタン列を出力バスラインに割り当てる出力バスラインのアサイン時に、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面を指定できる。すなわち、操作者は、所定の属性の値(名称)を選択して、画像マッピング手段150Aにマッピング入力T1〜T4を供給する出力バスライン211〜214のいずれかに操作卓260の押しボタン列を割り当てることできる。この場合、画像選択操作手段170Aから表面指定手段120Aに、選択された属性の値(名称)とマッピング入力の対応情報が送られる。そして、この表面指定手段120Aにより、画像生成手段140Aに、属性の値(名称)とマッピング入力の対応関係を示す画像割り当てテーブルが設定される。
また、操作者は、画像選択操作手段170Aの押しボタン列を押圧操作することで、画像割り当てテーブルに存在するマッピング入力としての画像データを、任意のタイミングで変更できる。このようにマッピング入力が変更されることで、画像マッピング手段150Aで、CG画像の所定のポリゴン表面にテクスチャマッピングされる画像が変更される。したがって、操作者は、CG画像の所望の面に、任意のタイミングで所望の画像を選択して合成できる。
図19を用いて、複数のオブジェクトの面にテクスチャマッピングされる画像が所定のタイミングで変更される例を説明する。図19(a),(b)には、3個のオブジェクトOB1〜OB3が描画され、それらがアニメーションにより画面中を移動するようなCG画像例を示している。図19(a)はアニメーション進行における時刻t1の画像であり、図19(b)は時刻t2の画像である。
図10に示す画像処理装置100Aでは、操作者の押しボタン列の操作により、時刻t1および時刻t2で、同一オブジェクトの面に、異なる画像データによる画像がテクスチャマッピングされた状態とすることができる。すなわち、時刻t1では、図19(c)に示すように、オブジェクトOB1の面に図19(e)に示す画像T1(マッピング入力T1による画像)がテクスチャマッピングされている。また、この時刻t1では、オブジェクトOB3の面に図19(f)に示す画像T2(マッピング入力T2による画像)がテクスチャマッピングされている。
この後、アニメーションの進行が時刻t2に至る前に、マッピング入力T1およびT2への画像を、操作者の画像選択操作手段170Aの操作を受けて変更する。その結果、時刻t2では、図19(d)に示すように、オブジェクトOB1の面に図19(g)に示す画像T1がテクスチャマッピングされ、オブジェクトOB3の面に図19(h)に示す画像T2がテクスチャマッピングされている。なお、図19の(e)から(h)に示す画像は、動画であるため本来は時間と共に変化するが、説明を容易にするため変化しないものとして説明している。
また、図10に示す画像処理装置100Aにおいて、操作者は、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面の指定を、ノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等の属性を設定して行うことができる。これにより、以下のような利点、効果がある。すなわち、CG制作手段(PC)110で作業する間、操作者はテクスチャマッピングされる様子を見ることはできない。しかし、PC上のソフトウェアであっても指定した表面の色等の属性は概ねその通りに表示されることが多い。そのため、どの属性に入力画像をテクスチャマッピングするかを決めておけば、制作中のCG仮表示画面上で、どこに入力画像が入るかを容易に操作者の頭の中で想定して、最終画像を思い描くことが可能である。
また、図10に示す画像処理装置100Aにおいて、画像選択操作手段170Aの操作卓260の複数の押しボタン列を、画像マッピング手段150Aにマッピング入力を供給する出力バスラインに割り当てることができる。その場合、画像生成手段140Aに設定される画像割り当てテーブルには、複数のマッピング入力について、そのマッピング入力と属性の値(名称)の対応関係が示される。この場合、マッピング入力毎に、画像を入力するためのポリゴン(ポリゴン集合)の表面が指定される。そのため、画像マッピング手段150Aにより、CG画像の複数の面に、それぞれ、任意のタイミングで所望の画像を選択して合成できる。
また、図10に示す画像処理装置100Aにおいて、画像選択操作手段170Aの操作卓260の左部には文字表示部266が設けられており、各押しボタン列が対応する出力バスラインを識別するための文字が表示されている。そして、画像マッピング手段150Aにマッピング入力を供給する出力バスラインに割り当てられた押しボタン列に対応しては、ユーザ操作により選択された所定の属性の値(名称)が表示される。この所定の属性の値(名称)は、当該出力バスラインに得られる画像データ(マッピング入力)による画像をテクスチャマッピングするポリゴン(ポリゴン集合)の表面を指定する情報(表面指定情報)である。したがって、操作者は、押しボタン列が対応する出力バスラインからのマッピング出力による画像がテクスチャマッピングされるCG画像の面がいかなる情報(属性の値(名称))で指定されているかを容易に知ることができる。
<3.変形例>
なお、上述の第2の実施の形態において、画像選択操作手段170Aを構成する操作卓260は、図11に示すように、4つの押しボタン列261〜264が備えられている。そして、各押しボタン列は、予め操作者の設定操作により、マトリクススイッチ160Aの13本の出力バスラインのいずれかに対応するように設定される。
なお、上述の第2の実施の形態において、画像選択操作手段170Aを構成する操作卓260は、図11に示すように、4つの押しボタン列261〜264が備えられている。そして、各押しボタン列は、予め操作者の設定操作により、マトリクススイッチ160Aの13本の出力バスラインのいずれかに対応するように設定される。
この操作卓260の代わりに、図20に示すような、操作卓260Aを使用することもできる。この操作卓260Aは、左右方向に延びる2本の押しボタン列271,272が上下方向に並ぶように設けられている。押しボタン列272は、マトリクススイッチ160Aの各クロスポイントスイッチ群のスイッチのオンオフを操作するために用いられる。この押しボタン列272は、入力ラインのそれぞれと対応する出力バスラインとの接続を選択する択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。
操作卓260Aには、押しボタン列272に対応して文字表示部273が設けられている。この文字表示部273は、各入力ラインへの入力画像を識別するための文字を表示する。この文字表示部273は、例えば、LCD(Liquid Crystal Display)等の表示素子により構成される。
押しボタン列271は、指定ボタン列であって、押しボタン列272を、どの出力バスラインの画像データの選択操作に使用するかを指定するために用いられる。この押しボタン列271は、択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。操作卓260Aには、押しボタン列271に対応して文字表示部274が設けられている。この文字表示部274は、押しボタン列271の各押しボタンが、どの出力バスラインの画像データの選択操作に使用するかを示す文字を表示する。この文字表示部274は、例えば、LCD等の表示素子により構成される。
押しボタン列271の各押しボタンを、どの出力バスラインの画像データの選択操作に使用するかは、例えば、GUI(Graphical User Interface)で実現される。図21は、押しボタン列(指定ボタン列)271のアサイン時に表示されるGUI表示例を示している。このGUI表示においては、押しボタン列271の9個の押しボタンが「1」〜「9」で表されている。操作者は、この「1」〜「9」に対応した「Selectボタン」を操作して、出力バスラインの選択肢を表示し、その選択肢の中から所望の出力バスラインを選択することで、それぞれの押しボタンに所望の出力バスラインを割り当てることができる。
上述の図12(b)は、この出力バスラインのセレクト時に表示されるGUI表示例をも示している。このGUI表示には、外部出力用の画像データOUT1〜OUT7の出力ラインを構成する出力バスライン215〜221が、「OUT1」〜「OUT7」で選択肢として表示されている。また、このGUI表示には、プログラム・プレビューミキサ180に画像データを入力する出力バスライン222,223が、「PP-A」,「PP-B」で選択肢として表示されている。
また、このGUI表示には、テクスチャマッピング用の画像データ(マッピング入力)T1〜T4の出力ラインを構成する出力バスライン211〜214に押しボタンを割り当てるために、所定の属性の値(名称)が選択肢として表示されている。属性としては、操作者の操作により、例えばノード(オブジェクト)、マテリアル定義、マテリアル定義が持つ表面情報等から任意の属性が設定される。ここで、操作者は、入力画像をテクスチャマッピングする対象である所定のポリゴンの表面の指定を行うための属性を設定する。
画像選択操作手段170Aは、設定された属性の値(名称)をCG制作手段110で生成されたCG記述データ中から抽出し、GUI表示に選択肢として表示する。図12(b)のGUI表示例においては、属性としてマテリアル定義が設定された場合を示しており、マテリアル定義の名称が選択肢として表示されている。このGUI表示例において、「Metal-1」、「Metal-2」、「Material-Def1」、「Material-Def2」、「Material-Def3」はマテリアル定義の名称である。
図21のGUI表示例では、「1」〜「5」に対して「OUT1」〜「OUT5」が選択されている。また、「6」,「7」に対して「PP-A」,「PP-B」が選択されている。また、「8」,「9」に対して「Metal-1」,「Material-Def3」が選択されている。
上述したようにマトリクススイッチ160Aは13本の出力バスラインを有しており、それぞれの出力バスラインはバス番号「1」〜「13」で特定される。また、上述したように、マトリクススイッチ160Aの1番から4番までの出力バスラインは、画像マッピング手段150Aにマッピング入力(画像データ)T1〜T4を入力する。画像選択操作手段170A、あるいはその周辺のマイコンは、この結線状態を記憶した、上述の図13に示すような、マッピング入力対応テーブルを持っている。このマッピング入力対応テーブルは、結線に対応する設定として記憶され、結線の変更がない限り変わることはない。
図21の「8」,「9」の場合のように、ある押しボタンに対して所定の属性の値(名称)が選択された場合、画像選択操作手段170Aは、その押しボタンを、バス番号1〜4のうち、未だ割り当てられていない出力バスラインに割り当てる。この場合、この出力バスラインは、選択された所定の属性の値(名称)に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、選択された所定の属性の値(名称)の情報と、割り当て対象の出力バスラインによるマッピング入力がマッピング入力T1〜T4のいずれであるかの情報を、ネットワーク130を介して、表面指定手段120Aに送る。
図21に示すように、「8」に対して「Metal-1」が選択され、その後、「9」に対して「Material-Def3」が選択される場合を例にとってさらに説明する。
まず、「8」に対して「Metal-1」が選択されるとき、画像選択操作手段170Aは、「8」の押しボタンを出力バスライン211に割り当てる。この場合、この出力バスライン211は、マテリアル定義「Metal-1」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、マテリアル定義「Metal-1」およびマッピング入力T1の情報を、ネットワーク130を介して、表面指定手段120Aに送る。
まず、「8」に対して「Metal-1」が選択されるとき、画像選択操作手段170Aは、「8」の押しボタンを出力バスライン211に割り当てる。この場合、この出力バスライン211は、マテリアル定義「Metal-1」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、マテリアル定義「Metal-1」およびマッピング入力T1の情報を、ネットワーク130を介して、表面指定手段120Aに送る。
次に、「9」に対して「Material-Def3」が選択されるとき、画像選択操作手段170Aは、「9」の押しボタンを出力バスライン212に割り当てる。この場合、この出力バスライン212は、マテリアル定義「Material-Def3」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングする画像の画像データを出力するための出力バスラインとなる。そして、画像選択操作手段170Aは、マテリアル定義「Material-Def3」およびマッピング入力T2の情報を、ネットワーク130を介して、表面指定手段120Aに送る。
このように、画像選択操作手段170Aは、図20に示す操作卓260Aを備える場合にあっても、図11に示す操作卓260を備える場合と同様に、選択された属性の値(名称)とマッピング入力の対応情報を、表面指定手段120Aに送ることができる。これにより、表面指定手段120Aは、属性の値(名称)とマッピング入力の対応関係を示す画像割り当てテーブルを作成して、画像生成手段140A内に設定できる。
図20に示す操作卓260Aの場合、例えば、押しボタン列271の「8」の押しボタンを操作者が操作することで、押しボタン列272を、マテリアル定義「Metal-1」に対応した出力バスライン211に割り当てることができる。この出力バスラインは、マテリアル定義「Metal-1」に対応付けられたポリゴン(ポリゴン集合)の表面にテクスチャマッピングするための画像の画像データを画像マッピング手段150Aに入力するための出力バスラインである。そして、この場合、操作者は、この押しボタン列272を操作することで、当該画像データ(マッピング入力)を、任意のタイミングで変更できる。
なお、図20に示す操作卓260Aは、押しボタン列(指定ボタン列)271に9個の押しボタンを備えているが、所定の属性の値(名称)を選択する押しボタンの数は最大4である。図10に示す画像処理装置100Aでは、画像マッピング手段150にマッピング入力(画像データ)を供給する出力バスラインが4本とされているからである。
また、上述では、押しボタン列(指定ボタン列)271の「8」、「9」の押しボタンに対して所定の属性の値(名称)を一つだけ選択し得るように説明した。しかし、これらの押しボタンに対して、所定の属性の値(名称)を複数個選択することを許容する構成も考えられる。この場合には、選択された複数の所定の属性の値(名称)のいずれかに対応付けられたポリゴン(ポリゴン集合)すべての表面に、これらの押しボタンが割り当てられた出力バスラインの出力画像データによる画像がテクスチャマッピングされることになる。この場合、各押しボタンに対応した文字表示部274(図20参照)には、複数の属性の値(名称)が表示されることになる。ただし、複数の属性の値(名称)の表示が困難であれば、一つ、あるいは可能なだけ表示することになる。
また、上述の第2の実施の形態において、CG制作手段110と、表面指定手段120Aと、画像生成手段140Aおよび画像マッピング手段150Aとが別個に存在し、互いにネットワーク130を介して接続されている。しかし、これらを一体化した構成も考えられる。
図22は、図10に示した画像処理装置100Aを変形した画像処理装置100Bを示している。この画像処理装置100Bは、CG制作手段と、表面指定手段と、画像生成手段および画像マッピング手段が、一個のパーソナルコンピュータ190で構成されている。なお、詳細説明は省略するが、この画像処理装置100Bのその他は図10に示す画像処理装置100Aと同様に構成されており同様に動作する。
この発明は、CG画像の所望の面に、任意のタイミングで所望の画像を選択してテクスチャマッピングによる画像合成を行うものであり、放送システムにおける特殊効果装置等に適用できる。
100,100A,100B・・・画像処理装置、110・・・CG制作手段、120,120A・・・表面指定手段、130・・・ネットワーク、140,140A・・・画像生成手段、141・・・画像入出力部、142・・・GPU、143・・・ローカルメモリ、144・・・CPU、145・・・メインメモリ、146・・・周辺デバイス制御部、147・・・HDD、148a・・・イーサネット回路、148b・・・ネットワーク端子、149・・・USB端子、151・・・SDRAM、150,150A・・・画像マッピング手段、160,160A・・・マトリクススイッチ、161〜164・・・出力バスライン、165〜168・・・クロスポイントスイッチ群、170,170A・・・画像選択操作手段、171〜174・・・押しボタン列、175,176・・・文字表示部、180・・・プログラム・プレビューミキサ、190・・・パーソナルコンピュータ、211〜223・・・出力バスライン、231〜243・・・クロスポイントスイッチ群、251・・・プログラム出力ライン、252・・・プレビュー出力ライン、260,260A・・・操作卓、261〜264・・・押しボタン列、265,266・・・文字表示部
Claims (7)
- 複数の入力画像データから1つの画像データを選択的に取り出す画像選択手段と、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成手段と、
上記コンピュータグラフィクス記述データ中のポリゴンの表面を選択肢として所定のポリゴンの表面を指定する表面指定手段と、
上記画像生成手段が描画するポリゴンの表面のうち、上記表面指定手段で指定された上記所定のポリゴンの表面に、上記画像選択手段で取り出された画像データによる画像をテクスチャマッピングする画像マッピング手段と
を備える画像処理装置。 - 上記表面指定手段は、上記コンピュータグラフィクス記述データ中の所定の属性の値の選択により上記所定のポリゴンの表面を指定し、
上記画像マッピング手段は、上記表面指定手段で指定された上記属性の値に対応付けられたポリゴンの表面に、上記画像選択手段で取り出された画像データによる画像をテクスチャマッピングする
請求項1に記載の画像処理装置。 - 上記所定の属性はマテリアル定義である
請求項2に記載の画像処理装置。 - 上記画像選択手段を複数備え、
上記表面指定手段は、画像選択手段毎に、上記コンピュータグラフィクス記述データ中のポリゴンの表面を選択肢として所定のポリゴンの表面を指定し、
上記画像マッピング手段は、上記画像生成手段が描画するポリゴンの表面のうち、上記表面指定手段で上記画像選択手段毎に指定された上記所定のポリゴンの表面に、対応する上記画像選択手段で取り出された画像データによる画像をテクスチャマッピングする
請求項1に記載の画像処理装置。 - 上記表面指定手段は、上記複数の画像選択手段で取り出される画像データを識別する画像識別子と表面指定を対応付ける画像割り当てテーブルを設定し、
上記画像マッピング手段は、上記表面指定手段で設定された画像割り当てテーブルに基づいて、上記画像生成手段が描画するポリゴンの表面のうち、上記表面指定手段で上記画像選択手段毎に指定された上記所定のポリゴンの表面に、対応する上記画像選択手段で取り出された画像データによる画像をテクスチャマッピングする
請求項4に記載の画像処理装置。 - 上記表面指定手段により表面指定が行われた画像選択手段に対応して、表面指定情報を表示する表示手段をさらに備える
請求項4に記載の画像処理装置。 - 複数の入力画像データから1つの画像データを選択的に取り出す画像選択ステップと、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成ステップと、
上記コンピュータグラフィクス記述データ中のポリゴンの表面を選択肢として所定のポリゴンの表面を指定する表面指定ステップと、
上記画像生成ステップが描画するポリゴンの表面のうち、上記表面指定ステップで指定された上記所定のポリゴンの表面に、上記画像選択ステップで取り出された画像データによる画像をテクスチャマッピングする画像マッピングステップと
を備える画像処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009166169A JP2011022726A (ja) | 2009-07-14 | 2009-07-14 | 画像処理装置および画像処理方法 |
CN201010224356.5A CN101958005B (zh) | 2009-07-14 | 2010-07-07 | 图像处理装置以及图像处理方法 |
US12/831,704 US9165395B2 (en) | 2009-07-14 | 2010-07-07 | Image processing apparatus and method |
US14/868,844 US10223823B2 (en) | 2009-07-14 | 2015-09-29 | Image processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009166169A JP2011022726A (ja) | 2009-07-14 | 2009-07-14 | 画像処理装置および画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011022726A true JP2011022726A (ja) | 2011-02-03 |
Family
ID=43464959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009166169A Pending JP2011022726A (ja) | 2009-07-14 | 2009-07-14 | 画像処理装置および画像処理方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9165395B2 (ja) |
JP (1) | JP2011022726A (ja) |
CN (1) | CN101958005B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2715669A4 (en) | 2011-05-25 | 2015-03-18 | Third Dimension Ip Llc | ALIGNMENT, CALIBRATION AND RESTITUTION SYSTEMS AND METHODS FOR TOTAL 3D ANGLED DISPLAY |
JP2015187795A (ja) * | 2014-03-27 | 2015-10-29 | 株式会社ジオ技術研究所 | 画像表示システム |
US10891766B1 (en) * | 2019-09-04 | 2021-01-12 | Google Llc | Artistic representation of digital data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014489A (ja) * | 1999-06-28 | 2001-01-19 | Matsushita Electric Ind Co Ltd | 描画装置 |
JP2002369076A (ja) * | 2001-06-11 | 2002-12-20 | Matsushita Electric Ind Co Ltd | 3次元特殊効果装置 |
JP2007265269A (ja) * | 2006-03-29 | 2007-10-11 | Toshiba Corp | テクスチャマッピング装置、方法およびプログラム |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255352A (en) * | 1989-08-03 | 1993-10-19 | Computer Design, Inc. | Mapping of two-dimensional surface detail on three-dimensional surfaces |
US5469535A (en) * | 1992-05-04 | 1995-11-21 | Midway Manufacturing Company | Three-dimensional, texture mapping display system |
WO1993023835A1 (en) * | 1992-05-08 | 1993-11-25 | Apple Computer, Inc. | Textured sphere and spherical environment map rendering using texture map double indirection |
JP3030485B2 (ja) | 1994-03-17 | 2000-04-10 | 富士通株式会社 | 3次元形状抽出方法及び装置 |
JP3364682B2 (ja) | 1994-03-17 | 2003-01-08 | 富士通株式会社 | 画像列生成方法 |
US5710878A (en) * | 1995-06-07 | 1998-01-20 | Mccoy; David Scott | Method for facilitating material application for a group of objects of a computer graphic |
US5903270A (en) * | 1997-04-15 | 1999-05-11 | Modacad, Inc. | Method and apparatus for mapping a two-dimensional texture onto a three-dimensional surface |
US6236405B1 (en) * | 1996-07-01 | 2001-05-22 | S3 Graphics Co., Ltd. | System and method for mapping textures onto surfaces of computer-generated objects |
EP0920014A4 (en) * | 1997-04-12 | 2002-12-04 | Sony Corp | EDITING DEVICE AND EDITING METHOD |
US20020154132A1 (en) * | 1997-07-30 | 2002-10-24 | Alain M. Dumesny | Texture mapping 3d graphic objects |
US6466217B1 (en) * | 1999-12-22 | 2002-10-15 | Intel Corporation | Method and apparatus for ensuring backward compatibility in a bucket rendering system |
JP4470259B2 (ja) * | 2000-01-27 | 2010-06-02 | ソニー株式会社 | 映像処理装置 |
JP2002222563A (ja) * | 2001-01-25 | 2002-08-09 | Pioneer Electronic Corp | 切替装置及び切替装置を有する情報記録再生装置 |
GB2374775B (en) * | 2001-04-19 | 2005-06-15 | Discreet Logic Inc | Rendering animated image data |
JP3780954B2 (ja) * | 2002-02-06 | 2006-05-31 | ソニー株式会社 | 画像生成装置およびその方法 |
JP3626144B2 (ja) * | 2002-03-01 | 2005-03-02 | 株式会社セルシス | 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム |
JP4141800B2 (ja) * | 2002-11-01 | 2008-08-27 | 株式会社リコー | デジタルカメラ |
JP3989396B2 (ja) * | 2003-03-31 | 2007-10-10 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
US7557801B2 (en) * | 2003-05-16 | 2009-07-07 | Semiconductor Energy Laboratory Co., Ltd. | Display device and driving method thereof |
GB2404512B (en) * | 2003-07-28 | 2008-02-27 | Visualize It Ltd | Surface mapping arrangement and method |
JP3958271B2 (ja) * | 2003-09-19 | 2007-08-15 | シャープ株式会社 | レベルシフタ及びそれを用いた表示装置 |
US7095418B2 (en) * | 2003-10-30 | 2006-08-22 | Sensable Technologies, Inc. | Apparatus and methods for texture mapping |
IL161579A0 (en) * | 2004-04-22 | 2004-09-27 | Mor Research Applic Ltd | ANTISENSE OLIGONUCLEOTIDES AGAINST cPLA2, COMPOSITIONS AND USES THEREOF |
US20060244757A1 (en) * | 2004-07-26 | 2006-11-02 | The Board Of Trustees Of The University Of Illinois | Methods and systems for image modification |
US20060227128A1 (en) * | 2005-03-29 | 2006-10-12 | Lexmark International Inc. | Imaging apparatus including an incising unit |
JP4687252B2 (ja) * | 2005-06-02 | 2011-05-25 | ソニー株式会社 | 画像処理装置、その方法、そのプログラムおよび記録媒体 |
JP2007102734A (ja) * | 2005-10-07 | 2007-04-19 | Konami Digital Entertainment:Kk | 画像処理装置、画像処理方法及びプログラム |
US8117558B2 (en) * | 2006-11-27 | 2012-02-14 | Designin Corporation | Converting web content into two-dimensional CAD drawings and three-dimensional CAD models |
US8253731B2 (en) * | 2006-11-27 | 2012-08-28 | Designin Corporation | Systems, methods, and computer program products for home and landscape design |
US8212806B2 (en) * | 2008-04-08 | 2012-07-03 | Autodesk, Inc. | File format extensibility for universal rendering framework |
CA2734143C (en) * | 2008-08-15 | 2021-08-31 | Brown University | Method and apparatus for estimating body shape |
-
2009
- 2009-07-14 JP JP2009166169A patent/JP2011022726A/ja active Pending
-
2010
- 2010-07-07 US US12/831,704 patent/US9165395B2/en active Active
- 2010-07-07 CN CN201010224356.5A patent/CN101958005B/zh not_active Expired - Fee Related
-
2015
- 2015-09-29 US US14/868,844 patent/US10223823B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014489A (ja) * | 1999-06-28 | 2001-01-19 | Matsushita Electric Ind Co Ltd | 描画装置 |
JP2002369076A (ja) * | 2001-06-11 | 2002-12-20 | Matsushita Electric Ind Co Ltd | 3次元特殊効果装置 |
JP2007265269A (ja) * | 2006-03-29 | 2007-10-11 | Toshiba Corp | テクスチャマッピング装置、方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN101958005A (zh) | 2011-01-26 |
US9165395B2 (en) | 2015-10-20 |
CN101958005B (zh) | 2014-04-02 |
US20110012913A1 (en) | 2011-01-20 |
US10223823B2 (en) | 2019-03-05 |
US20160019710A1 (en) | 2016-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6763175B1 (en) | Flexible video editing architecture with software video effect filter components | |
US20100060652A1 (en) | Graphics rendering system | |
US8306399B1 (en) | Real-time video editing architecture | |
JP2011023902A (ja) | 画像処理装置および画像処理方法 | |
JP2011022727A (ja) | 画像処理装置および画像処理方法 | |
CN111161392B (zh) | 一种视频的生成方法、装置及计算机*** | |
US6763176B1 (en) | Method and apparatus for real-time video editing using a graphics processor | |
JP2000268201A (ja) | 表示要素立体化装置及びその方法 | |
JP2011028653A (ja) | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法 | |
US7596764B2 (en) | Multidimensional image data processing | |
KR101669897B1 (ko) | 3d 객체 모듈을 이용한 가상 스튜디오 영상 생성 방법 및 장치 | |
JP2009064356A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JPH10261102A (ja) | アニメーション生成装置およびアニメーション生成方法 | |
JP2011223218A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2011022728A (ja) | 画像処理装置および画像処理方法 | |
US20140092128A1 (en) | Image processing apparatus, image processing method, and program | |
JP2011022726A (ja) | 画像処理装置および画像処理方法 | |
JP2012221122A (ja) | 画像処理装置、画像処理方法およびプログラム | |
US7053906B2 (en) | Texture mapping method, recording medium, program, and program executing apparatus | |
CN115167940A (zh) | 3d文件加载方法及装置 | |
JP2013042309A (ja) | タイムライン動作制御装置、タイムライン動作制御方法、プログラムおよび画像処理装置 | |
JP2000268200A (ja) | 表示要素立体化装置及びその方法 | |
JP2000259861A (ja) | テクスチャマッピング装置、方法、及び記録媒体 | |
JPH09185699A (ja) | 描画色変更方法、及び動画再生装置 | |
JP2000268202A (ja) | 表示要素立体化装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120704 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130730 |