説明

画像処理装置および画像処理方法

【課題】テクスチャマッピング画像の切り替えタイミングを、CG制作時に容易に指定できる制作環境を提供する。
【解決手段】画像マッピング手段により、画像生成手段140で生成されたCG画像のテクスチャマッピング対象(オブジェクトまたはオブジェクトの部分)の表面に、マトリクススイッチ160で取り出された画像データT1による画像を、テクスチャマッピングする。画像選択制御手段180は、マトリクススイッチ160で取り出される画像データT1が、CG記述データ中のテクスチャマッピング対象に付与された属性に応じた画像入力となるように、マトリクススイッチ160を制御する。テクスチャマッピング画像が、テクスチャマッピング対象に付与された属性に応じて変化する。テクスチャマッピングする画像の切り替えタイミングを、テクスチャマッピング対象に付与される属性を変化させることで、CG制作時に容易に指定できる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理装置および画像処理方法に関し、特に、コンピュータグラフィクス画像に画像データによる画像をテクスチャマッピングして画像合成を行う画像処理装置等に関する。
【背景技術】
【0002】
3次元グラフィクスシステムにおいては、3次元座標を3角形などのポリゴン(多角形)に分解し、そのポリゴンを描画することで、画像全体の描画が行われる。したがって、この場合、3次元画像は、ポリゴンの組み合わせで定義されていると言える。ところで、身の回りにある物体表面は、複雑な模様の繰り返しパターンを有することが多く、模様やパターンが複雑で細かくなるほど、各模様やパターンを3角形などでモデリングすることは困難となる。そこで、これを解決する手段として、テクスチャマッピング (Texture Mapping)が用いられる。
【0003】
テクスチャマッピングは、スキャナ等で取り込んだイメージデータを、物体表面に貼り付けることにより、少ない頂点数で、リアリティの高い画像を実現するもので、オブジェクト(Object)座標系からテクスチャ(Texture )座標系への写像を定義し、さらに、ウインドウ(Window)座標系からテクスチャ座標系への写像を求めて、ウインドウ座標系における各ピクセル(Pixel, Picture Cell Element )に対応するテクスチャの要素であるテクセル(Texel:Texture Cell Element )を求める。
【0004】
テクスチャに利用される画像データは、テクスチャメモリと呼ばれるメモリ領域に格納される。したがって、動画像データを用いてテクスチャメモリを随時更新する処理を行うと、動画像によるテクスチャマッピング処理が可能となる。
【0005】
例えば、特許文献1には、複数の入力画像をテクスチャマッピングする装置において、テクスチャ座標を時間の経過とともに変化させることで、テクスチャマッピングする画像を徐々に遷移(Transition)させる、3次元特殊効果装置が記載されている。
【0006】
また、例えば特許文献2には、CGのデータを解析して、自動的にスクリーントーンを選択してテクスチャ(漫画で陰影に用いるようなテクスチャ)とする立体オブジェクトデータからの漫画的表現の2次元画像の生成方法が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002−369076号公報
【特許文献2】特開2003−256865号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
動画像をテクスチャマッピングする場合でも、CG制作工程では、運用時にテクスチャマッピングされる画像を見ながら作業することはできない。一方、CGでアニメーションを制作する場合、アニメーションの動き/変化の中で、テクスチャマッピングする動画像を替えたいポイント(時点)を制作時に意図して決定したい場合がある。
【0009】
従来は、動画像の切り替えは、運用時に画像選択手段を操作して行っていたため、CGのアニメーション動作の特定のタイミングと合わせることが困難であった。アニメーションの動作は進行速度が変更される場合もあるため、そのような場合でもタイミングを合わせることは困難であった。
【0010】
この発明の目的は、作成したCGを生放送の運用等で使う場合に、テクスチャマッピングする画像の切り替えタイミングを、CG制作時に容易に指定できる制作環境を提供することにある。
【課題を解決するための手段】
【0011】
この発明の概念は、
複数の入力画像データから1つの画像データを選択する画像選択手段と、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成手段と、
上記画像生成手段が描画するコンピュータグラフィクスのオブジェクトまたは該オブジェクトの部分をテクスチャマッピング対象とし、該テクスチャマッピング対象の表面に、上記画像選択手段で選択された画像データによる画像をテクスチャマッピングする画像マッピング手段と、
上記コンピュータグラフィクス記述データ中の上記テクスチャマッピング対象に付与された属性に応じて、上記画像選択手段で選択される画像データを制御する画像選択制御手段と
を備える画像処理装置にある。
【0012】
この発明において、画像選択手段により、複数の入力画像データから1つの画像データが選択される。例えば、画像選択手段は、複数の入力画像データを入力する入力ラインと、この複数の入力画像データから選択される1つの画像データを出力する出力ラインを備えるマトリクススイッチを有し、この出力ラインに出力される画像データを画像マッピング手段に入力する。また、例えば、画像選択手段は、画像マッピング手段に入力される複数の入力画像データから1つの画像データを、この画像マッピング手段で使用する画像データとして選択する。
【0013】
また、例えば、画像選択手段は、複数の入力画像データを入力する入力ラインと、この複数の入力画像データから選択される1つの画像データを出力する複数の出力ラインを備えるマトリクススイッチを有し、複数の出力ラインに出力される画像データを画像マッピング手段に入力し、この画像マッピング手段に入力される複数の画像データから1つの画像データをこの画像マッピング手段で使用する画像データとして選択する。
【0014】
画像生成手段により、コンピュータグラフィクス記述データに基づいて、コンピュータグラフィクス画像が生成される。この場合、3次元座標が3角形等のポリゴン(多角形)に分解され、そのポリゴンが描画されることで、画像全体の描画が行われる。また、画像マッピング手段により、画像生成手段で描画されるコンピュータグラフィクスのオブジェクトまたはこのオブジェクトの部分がテクスチャマッピング対象とされ、このテクスチャマッピング対象の表面に、画像選択手段で取り出された画像データによる画像がテクスチャマッピングされる。例えば、オブジェクトの部分は、面あるいはポリゴンメッシュの分割単位等である。
【0015】
画像選択制御手段により、コンピュータグラフィクス記述データ中のテクスチャマッピング対象に付与された属性に応じて、画像選択手段で取り出される画像データが制御される。属性は、例えば、マテリアル定義、マテリアル定義が持つ表面情報等である。例えば、情報生成手段により、属性の値と画像データとの対応関係が生成される。画像選択制御手段では、例えば、この対応関係に基づいて、画像選択手段で取り出される画像データが制御される。
【0016】
このように、テクスチャマッピング対象の表面に、画像選択手段で取り出された画像データによる画像がテクスチャマッピングされる。また、画像選択手段で取り出される画像データは、コンピュータグラフィクス記述データ中のテクスチャマッピング対象に付与された属性に応じて制御される。従って、テクスチャマッピングする画像の切り替えタイミングを、テクスチャマッピング対象に付与される属性を変化させることで、CG制作時に容易に指定できる。
【0017】
この発明において、例えば、画像選択手段で選択される画像データを操作者の操作により切り替える画像選択操作手段をさらに備える、ようにしてもよい。この場合、操作者は、画像選択手段で選択される画像データを強制的に切り替えることができ、テクスチャマッピング対象に付与される属性の変化がなくても、このテクスチャマッピング対象にテクスチャマッピングされる画像を任意のタイミングで所望の画像に変更可能となる。
【発明の効果】
【0018】
この発明によれば、テクスチャマッピング対象の表面にテクスチャマッピングされる画像の画像データが、コンピュータグラフィクス記述データ中のこのテクスチャマッピング対象に付与された属性に応じて制御されるものであり、テクスチャマッピング対象にテクスチャマッピングする画像の切り替えタイミングを、テクスチャマッピング対象に付与される属性を変化させることでCG制作時に容易に指定できる。
【図面の簡単な説明】
【0019】
【図1】第1の実施の形態としての画像処理装置の構成例を示すブロック図である。
【図2】マテリアルが持つ表面情報の例を示す図である。
【図3】画像選択操作手段(操作卓)の外観の一例を示す図である。
【図4】画像生成手段および画像マッピング手段の具体的な構成例を示すブロック図である。
【図5】画像生成手段および画像マッピング手段の機能ブロックの構成例を示す図である。
【図6】テクスチャマッピングを行う際のテクスチャ画像とUVマップの一例を示す図である。
【図7】CGオブジェクトの面(ポリゴンの部分集合)毎に異なる属性を付与することを示す図である。
【図8】CG記述データ中のテクスチャマッピング対象に付与された属性の各値と画像データとの対応関係を示す画像割り当てテーブルの一例を示す図である。
【図9】CG記述データ中のテクスチャマッピング対象に付与された属性(ambient 色)の各値と画像データとの対応関係を示す画像割り当てテーブルの一例を示す図である。
【図10】CGアニメーション実行中における、画像生成手段および画像選択制御手段の制御部の処理例を示すフローチャートである。
【図11】CGアニメーション実行中における、画像生成手段の制御部の処理例を示すフローチャートである。
【図12】CGアニメーション実行中における、画像選択制御手段の制御部の処理例を示すフローチャートである。
【図13】テクスチャマッピングに係る各処理の動作タイミングを説明するための図である。
【図14】操作者が、CG記述データを作成中に、アニメーション動作を確認する際に見るアニメーションの動画の一例を示す図である。
【図15】テクスチャマッピング対象の属性が変化する毎にテクスチャマッピング画像が変化することを示す図である。
【図16】第2の実施の形態としての画像処理装置の構成例を示すブロック図である。
【図17】画像生成手段および画像マッピング手段の機能ブロックの構成例を示す図である。
【図18】CGアニメーション実行中における、画像生成手段および画像選択制御手段の制御部の処理例を示すフローチャートである。
【図19】CGアニメーション実行中における、画像生成手段の制御部の処理例を示すフローチャートである。
【図20】CGアニメーション実行中における、画像選択制御手段の制御部の処理例を示すフローチャートである。
【図21】第3の実施の形態としての画像処理装置の構成例を示すブロック図である。
【図22】画像選択操作手段が備える操作卓の一例の外観を示す図である。
【図23】出力バスラインのアサイン時に表示されるGUI表示例および出力バスラインのセレクト時に表示されるCUI表示例を示す図である。
【図24】画像生成手段および画像マッピング手段の機能ブロックの構成例を示す図である。
【図25】テクスチャマッピングに係る各処理の動作タイミングを説明するための図である。
【図26】画像処理装置の変形例を示すブロック図である。
【図27】画像処理装置の変形例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.第3の実施の形態
4.変形例
【0021】
<1.第1の実施の形態>
[画像処理装置の構成]
この発明の第1の実施の形態を説明する。図1は、第1の実施の形態としての画像処理装置100の構成例を示している。この画像処理装置100は、CG(Computer Graphics:コンピュータグラフィクス)制作手段110と、表面指定手段120と、ネットワーク130と、画像生成手段140と、画像マッピング手段150を有している。また、この画像処理装置100は、マトリクススイッチ160と、画像選択操作手段170と、画像選択制御手段180を有している。CG制作手段110、表面指定手段120および画像生成手段140は、それぞれネットワーク130に接続されている。マトリクススイッチ160は、画像選択手段を構成している。
【0022】
CG制作手段110は、CG制作ソフトウェアを持つパーソナルコンピュータ(PC:Personal Computer)により構成されている。このCG制作手段110は、所定のフォーマットのCG記述データを出力する。CG記述データのフォーマットとして、例えばCollada(登録商標)がある。Colladaは、XML(Extensible Markup Language)の上で3DのCGデータの交換を実現するための記述定義である。CG記述データには、例えば、以下のような情報が記述される。
【0023】
(a)マテリアルの定義
このマテリアルの定義は、CGオブジェクトの表面の質(見え方)である。このマテリアルの定義には、色、反射の仕方、発光、凹凸などの情報が含まれる。また、このマテリアルの定義には、テクスチャマッピングの情報が含まれる場合がある。テクスチャマッピングとは、上述したように、画像をCGオブジェクトに貼り付ける手法であり、処理系の負荷を比較的軽くしつつ、複雑な模様などを表現できる。図2は、マテリアルが持つ表面情報の例を示している。なお、色の代わりにテクスチャマッピングを指定する場合もある。
【0024】
(b)幾何学情報 Geometry の定義
この幾何学情報 Geometry の定義には、ポリゴンメッシュについての、位置座標、頂点の座標などの情報が含まれる。
(c)カメラの定義
このカメラの定義には、カメラのパラメータが含まれる。
【0025】
(d)アニメーションの定義
このアニメーションの定義には、アニメーションの各キーフレームにおける、様々な値の情報が含まれる。また、このアニメーションの定義には、アニメーションの各キーフレームにおける時刻の情報が含まれる。様々な情報とは、例えば、対応するオブジェクト(ノード)のキーフレーム点の時刻、位置や頂点の座標値、サイズ、接線ベクトル、補間方法、各種情報のアニメーション中の変化等の情報である。
(e)シーン中のノード(オブジェクト)の位置、方向、大きさ、対応する幾何学情報定義、対応するマテリアル定義
【0026】
これらの情報は、ばらばらではなく、例えば、以下のように対応付けられている。
・ノード・・・幾何学情報
・ノード・・・マテリアル(複数)
・幾何学情報・・・ポリゴン集合(複数)
・ポリゴン集合・・・マテリアル(ノードに対応するうちの一つ)
・アニメーション・・・ノード
【0027】
一つの画面を構成する記述はシーンと呼ばれる。各定義はライブラリと呼ばれ、シーンの中から参照される。例えば、直方体のオブジェクトが2つ存在する場合、それぞれが一つのノードとして記述され、各ノードにマテリアル定義のいずれかが連想される。この結果、各直方体のオブジェクトにはマテリアル定義が連想され、各マテリアル定義に従った色や反射特性で描画される。
【0028】
あるいは、直方体のオブジェクトは複数のポリゴン集合で記述され、ポリゴン集合にマテリアル定義が連想されている場合は、ポリゴン集合毎に、異なるマテリアル定義で描画される。例えば、直方体の面は6つであるが、このうちの3つの面で一つのポリゴン集合、1つの面で1つのポリゴン集合、2つの面で一つのポリゴン集合、というように、直方体のオブジェクトが3つのポリゴン集合で記述される場合もある。各ポリゴン集合に異なるマテリアル定義を連想できるため、面毎に異なる色で描画させることも可能である。後述する画像マッピング手段においては、オブジェクトまたはオブジェクトの部分(面あるいはポリゴンメッシュの分割単位等)が、テクスチャマッピングの対象とされる。
【0029】
以下は、CG記述データとしてのColladaファイルのサンプル(一部の抜粋例)を示している。例えば、このサンプルでは、“01MatDefault”という名前(値)のマテリアルが定義されている。そして、このマテリアルの実際の内容は、“01MatDefault-fx”のエフェクトを参照すべきことが記述されている。また。このサンプルでは、<library_visual_scenes>において、“#Box01-lib”の幾何学情報定義に対して“01MatDefault”のマテリアル定義を結びつけて、描画することが記述されている。
【0030】
[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.9215691.000000</color>
</ambient>
<diffuse>
<colorsid="diffuse">0.588235 0.952941 0.9215691.000000</color>
</diffuse>
<specular>
<color sid="specular">0.000000 0.000000 0.0000001.000000</color>
</specular>
<shininess>
<floatsid="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_arrayid="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>
<source id="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_array id="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 0 0.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>

【0031】
図1に戻って、マトリクススイッチ160は、複数の入力画像データから一つの画像データを選択的に取り出す画像選択手段を構成している。このマトリクススイッチ160は、10本の入力ラインと、4本の出力バスライン161〜164と、クロスポイントスイッチ群165〜168とにより構成されている。
【0032】
10本の入力ラインは図で一方向に配列されている。「1」〜「9」の入力ラインのそれぞれにはVTR、ビデオカメラ等から画像データが入力される。「10」の入力ラインには、画像生成手段140から出力されるCG画像データが入力される。4本の出力バスライン161〜164は、入力ラインと交差して他方向に配列されている。
【0033】
クロスポイントスイッチ群165は、10本の入力ラインと出力バスライン161とが交差する各クロスポイントでそれぞれの接続を行う。画像選択制御手段180の制御、あるいは操作者の画像選択操作に基づいて、このクロスポイントスイッチ群165が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン161に選択的に出力される。この出力バスライン161は、テクスチャマッピング用の画像データT1の出力ライン(補助出力ライン)を構成する。
【0034】
また、クロスポイントスイッチ群166,167,168は、それぞれ、10本の入力ラインと出力バスライン162,163,164とが交差する各クロスポイントでそれぞれの接続を行う。操作者の画像選択操作に基づいて、このクロスポイントスイッチ群166,167,168が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン162,163,164に選択的に出力される。
【0035】
この出力バスライン162,163,164は、外部出力用の画像データOUT1,OUT2,OUT3の出力ラインを構成する。なお、クロスポイントスイッチ群165〜168の各クロスポイントスイッチのオンオフ動作は、フレームデータの連続からなる画像データを切り替えるものであることから、フレームの切れ目である垂直ブランキング区間内に行われる。
【0036】
画像選択操作手段170は、上述のマトリクススイッチ160への指示の操作入力を受ける。この画像選択操作手段170は、各出力バスラインにそれぞれ対応した押しボタン列からなり、押しボタン列の各ボタンが各入力ラインに対応した構成とされている。
【0037】
図3は、画像選択操作手段(操作卓)170の外観の一例を示している。この画像選択操作手段170には、出力バスライン161〜164にそれぞれ対応した左右方向に延びる押しボタン列171〜174が上下方向に並ぶように設けられている。各押しボタン列は、入力ラインのそれぞれと、対応する出力バスラインとの接続を選択する択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。
【0038】
画像選択操作手段(操作卓)170の上部には文字表示部175が設けられており、各入力ラインへの入力画像を識別するための文字が表示されている。また、画像選択操作手段(操作卓)170の左部には文字表示部176が設けられており、各押しボタン列が対応する出力バスラインで得られる画像データを識別するための文字が表示されている。
【0039】
画像生成手段140は、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。この画像生成手段140は、時間をかけたレンダリング処理ではなく、アニメーションフレームの実時間で画像を生成する。画像生成手段140は、CG記述データを読み込むと、各定義などの情報をメモリ上に保持し、それらの対応付けもデータ構造として保持する。
【0040】
また、画像生成手段140は、アニメーションを実行するためのキーフレームにおける各種値もメモリ上に保持する。例えば、あるノードの幾何学情報にあるポリゴン集合を描画するには、その幾何学情報と、対応付けられているマテリアル定義を参照して、その色などの指定に従って描画する。アニメーションの場合は、現在時刻を毎フレーム進行させ、現在時刻から、前後のキーフレームにおける各値を補間して各値を決定し、描画を行う。
【0041】
この画像生成手段140には、表面指定手段120から、入力画像をテクスチャマッピングする対象であるCGのオブジェクトまたはオブジェクトの部分(面あるいはポリゴンメッシュの分割単位等)の指定情報が送られてくる。画像生成手段140は、その指定情報が示す所定のポリゴン(ポリゴン集合)の表面に、入力画像をテクスチャマッピングするように、画像マッピング手段150を制御する。
【0042】
画像マッピング手段150は、画像生成手段140が描画するCGのうち、表面指定手段120で指定されるテクスチャマッピング対象の表面に、入力画像をテクスチャマッピングする。この画像マッピング手段150は、実装上は、上述の画像生成手段140と一体化されている。この画像マッピング手段150は、CPU(Central Processing Unit)上のソフトウェアによる制御と、GPU(GraphicsProcessing Unit)等のハードウェアによる動作によって実現される。制御ソフトウェアは、テクスチャマッピングするポリゴン集合を指定してハードウェアに指示する。
【0043】
[画像生成手段および画像マッピング手段の構成例]
図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を有している。なお、「イーサネット」は登録商標である。
【0044】
画像入出力部141は、テクスチャマッピングをするための画像データを入力し、また、画像データによる画像が適宜テクスチャマッピングされたCG画像の画像データを出力する。この画像入出力部141は、最大で4系統の画像データを入力でき、また、最大で4系統の画像データを出力できる。なお、ここで取り扱われる画像データは、例えば、SMPTE292Mで規定されているHD-SDI(High Definition television-SerialDigital Interface)規格の画像データである。GPU142およびメインメモリ145は、同等に、画像入出力部141にアクセス可能とされている。
【0045】
メインメモリ145は、CPU144のワークエリアとして機能すると共に、画像入出力部141から入力される画像データを一時的に記憶する。CPU144は、画像生成手段140および画像マッピング手段150の全体を制御する。このCPU144には、周辺デバイス制御部146が接続されている。この周辺デバイス制御部146は、CPU144と周辺デバイスとの間のインタフェース処理を行う。
【0046】
CPU144には、周辺デバイス制御部146を介して、内蔵のハードディスクドライブ147が接続されている。また、CPU144には、周辺デバイス制御部146、イーサネット回路148aを介して、ネットワーク端子148bが接続されている。また、CPU144には、周辺デバイス制御部146を介して、USB端子149が接続されている。さらに、CPU144には、周辺デバイス制御部146を介して、SDRAM151が接続されている。
【0047】
CPU144は、テクスチャ座標の制御を行う。すなわち、このCPU144は、入力画像データに対して、それによる画像をGPU142が描画するポリゴンの表面にテクスチャマッピングをするための処理を行う。GPU142は、ハードディスクドライブ147等に保持されているCG記述データに基づいてCG画像を生成し、また、必要に応じて、指定されたテクスチャマッピング対象の表面に、入力画像をテクスチャマッピングする。ローカルメモリ143は、GPU142のワークエリアとして機能すると共に、GPU142で作成されたCG画像の画像データを一時的に記憶する。
【0048】
CPU144は、メインメモリ145にアクセスできる他、ローカルメモリ143にもアクセス可能とされている。同様に、GPU142は、ローカルメモリ143にアクセスできると共に、メインメモリ145にもアクセス可能とされている。GPU142により生成されてローカルメモリ143に一次的に記憶されたCG画像データは、このローカルメモリ143から順次読み出され、画像入出力部141から出力される。
【0049】
図5は、上述した画像生成手段140および画像マッピング手段150の機能ブロックの構成例を示している。この画像生成手段140および画像マッピング手段150は、画像入力部152、テクスチャ画像記憶部153、CG制御部154、CG描画部155、テクスチャ座標制御部156、フレームバッファ157および画像出力部158の機能ブロックを有している。
【0050】
画像入力部152および画像出力部158は、画像入出力部141により構成されている。また、テクスチャ画像記憶部153は、メインメモリ145により構成されている。また、CG制御部154およびテクスチャ座標制御部156は、CPU144により構成されている。また、CG描画部155は、GPU142により構成されている。また、フレームバッファ157は、ローカルメモリ143により構成されている。
【0051】
画像入力部152とテクスチャ画像記憶部153は対で、これらを増やすことで、画像入力の系統を増やすことができる。また、フレームバッファ157と画像出力部158は対で、これらを増やすことで、画像出力の系統を増やすことができる。
【0052】
図6は、テクスチャマッピングを行う際のテクスチャ画像とUVマップの一例を示している。図6(a)はテクスチャ画像を示し、図6(b)はUVマップを示している。ここで、UVマップは、あるオブジェクト(ノード)の表面を紙面と考えたときに、その紙面上での座標で表された地図を意味している。この地図を平面に拡げたときに、その平面上での点(x,y)がオブジェクトの表面の点(u,v)に対応している。そのため、テクスチャ画像をUVマップに貼り付ける処理を行うことで、オブジェクトの表面にテクスチャ画像を貼り付けるテクスチャマッピングが可能となる。なお、図6(b)はUVマップに、テクスチャ画像が貼り付けられた状態を示している。
【0053】
図1に戻って、表面指定手段120は、上述したように、入力画像をテクスチャマッピングするテクスチャマッピング対象を指定する。そして、表面指定手段120は、ネットワーク130を介して、その指定情報を画像生成手段140に送る。この表面指定手段120は、例えば、GUI(Graphical User Interface)で実現される。表面指定手段120は、CG記述データ中のオブジェクトまたはオブジェクトの部分を選択肢として表示し、操作者にその中から選択させる。
【0054】
この実施の形態においてCG記述データ中において、テクスチャマッピング対象には、マテリアル定義が対応付けられることでマテリアル定義が持つ表面情報等の属性が付与されている。例えば、マテリアル定義をCGオブジェクトに対応付けた場合、CGオブジェクトの全ての面が同じ表面属性(色など)となる。例えば石や、スプーンの様な金属製品の場合、このような対応付けでCGを作成できる。
【0055】
一方、面毎に表面属性が異なる物は多く、例えば鉛筆でも、周囲、芯、削った木目など、それぞれ異なる表面属性となる。このような物をCGで作成する場合、それぞれを異なるCGオブジェクトとして作成して組み合わせることもできる。しかし、この場合、図7に示すように、一つのCGオブジェクトであって、面(ポリゴンの部分集合)毎に異なる属性を付与して作成するのも作業がしやすい。
【0056】
一般には、CGオブジェクトの作成作業では、表面を成すポリゴン集合を、幾つかに分割し、それぞれにマテリアル定義を対応付けて、テクスチャマッピングのためのUV座標値を対象ポリゴンの頂点毎に決める様な操作が行われる。これらの操作に対応する様なCG記述データが作成される。このようなCG記述データに本発明を適用することで、CGオブジェクトの表面の一部に入力画像をテクスチャマッピングし、またアニメーションの途中で入力画像を切り替えることができる。
【0057】
表面指定手段120は、CG記述データ中のテクスチャマッピング対象に付与された属性の各値と画像データとの対応関係を生成し、この対応関係を示す画像割り当てテーブルを、画像生成手段140に設定する。ここで、属性は、マテリアル定義またはマテリアル定義が持つ表面情報などである。表面指定手段120は、例えば、テクスチャマッピング対象に付与された所定の属性の各値と、10本の入力ラインに入力される各画像入力とを、選択肢として表示し、操作者にその中から選択させて、属性の各値と画像データとの対応関係を生成する。
【0058】
図8は、画像割り当てテーブルの一例であって、テクスチャマッピング対象に付与された属性のうち「属性m」を参照する場合の画像割り当てテーブルの一例を示している。この図8に示す画像割り当てテーブルにおいて、「属性m」の値P1は画像入力「1」に対応し、「属性m」の値P2は画像入力「2」に対応している。
【0059】
なお、図8の画像割り当てテーブルは、テクスチャマッピング対象に付与された「属性m」の値が設定値P1,P2に一致する場合に、画像入力「1」、「2」をテクスチャマッピングするように動作させる場合のテーブル例である。
【0060】
これに対して、属性の値がある範囲にある場合に、対応する画像入力をテクスチャマッピングするように動作させる構成も可能である。一例として、CG記述データを作成する際に、CGオブジェクトの面を描画する色(その面に対応付けたマテリアル定義の中の色の定義)を、テクスチャマッピングする画像入力に対応付ける様、意図できるような動作を説明する。以下、RGBA(Red Green Blue Alpha)により色を表記する。
【0061】
CG記述データに含まれるマテリアル定義について、その ambient 色により、テクスチャマッピングする画像入力を決めるものとする。図9は、画像割り当てテーブルの他の例を示している。この図9に示す画像割り当てテーブルにおいて、属性は「Ambient色」である。そして、「0.588235 0.952941 0.921569 1.000000」は画像入力「1」に対応し、「0 0 0.9 1.000000」は画像入力「2」に対応し、「1 0.38 0.278431 1.000000」は画像入力「3」に対応している。
【0062】
色の値は4つの浮動小数点値の組で表現される。これは、CGオブジェクトの名称やマテリアル定義の名称と異なり、完全一致で判定する方法では、処理系の差などにより、計算誤差によって誤って不一致とされる可能性がある。そこで、完全一致ではなく、ある程度の幅を持たせて、一致判定が行われる。
【0063】
例えば、画像入力「1」をテクスチャマッピングするかどうかの判定には、画像割り当てテーブルの値に1%の許容範囲を持たせて、次の不等式を満たすかどうかで、一致判定が行われる。
0.58235265≦R≦0.59411735
0.94341159≦G≦0.96247041
0.91235331≦B≦0.93078469
0.95≦A≦1.0
【0064】
ここで、各値は以下のように算出される。
0.588235×0.99=0.58235265
0.588235×1.01=0.59411735
0.952941×0.99=0.94341159
0.952941×1.01=0.96247041
0.921569×0.99=0.91235331
0.921569×1.01=0.93078469
【0065】
なお、1を超える値あるいは0未満にはなり得ないので、そうなる場合は、それぞれ1あるいは0とされる。画像入力「2」,「3」をテクスチャマッピングするかどうかについても、同様にして判定される。
【0066】
また、画像割り当てテーブルで、異なる画像入力に対応付けられた異なる色について、上述のような許容範囲を与えると、色空間において値が重複する領域が生じる場合が生ずる。その領域内の値についてはどちらの画像入力を選択すべきか、例えば指定色への距離(RGBA空間のユークリッド距離)が近い方を選ぶ、などのルールを決めることで、そのような場合にも対応できる。
【0067】
PC上のソフトウェアによりCG記述データを作成中、操作者がアニメーション動作を確認するには、簡易的なレンダリングなどによりアニメーションの動画を作成して、目で見る。その際、各面の色が変化すると、操作者はそれを容易に認識できる。上述の処理によれば、この色の変化とテクスチャマッピングする画像入力が対応するので、CG記述データの作成中はテクスチャマッピングを行っていないが、テクスチャマッピングが切り替わる様子を容易に頭に描くことが可能になる。
【0068】
図1に戻って、画像選択制御手段180は、CG記述データ中のテクスチャマッピング対象に付与された属性に応じて、マトリクススイッチ160で選択される画像データT1を制御する。この画像データT1は、出力バスライン161に選択的に出力されるテクスチャマッピング用の画像データである。画像選択制御手段180は、画像生成手段140に設定された画像割り当てテーブルに基づいて、マトリクススイッチ160で選択される画像データT1を制御する。
【0069】
例えば、画像生成手段140に設定される画像割り当てテーブルが、上述の図8に示す画像割り当てテーブルである場合には、以下のように制御される。すなわち、CG記述データ中のテクスチャマッピング対象に付与された「属性m」の値がアニメーションの進行に伴いp1となるとき、画像データT1として画像入力「1」が選択されるように制御する。また、CG記述データ中のテクスチャマッピング対象に付与された「属性m」の値がアニメーションの進行に伴いp2となるとき、画像データT1として画像入力「2」が選択されるように制御する。なお、画像生成手段140に設定される画像割り当てテーブルが、上述の図9に示す画像割り当てテーブルである場合も、同様である。ただし、この場合、例えば上述したように完全一致ではなく、ある程度の幅を持たせて、一致判定が行われる。
【0070】
[画像処理装置の動作例]
図1に示す画像処理装置100の動作例を説明する。CG制作手段110では、CG制作ソフトウェアにより、所定のCG画像を生成するためのCG記述データが生成される。このようにCG制作手段110で生成されたCG記述データは、ネットワーク130を介して、画像生成手段140および表面指定手段120に送られる。
【0071】
表面指定手段(GUI)120では、CG記述データ中のオブジェクトまたはオブジェクトの部分が選択肢とされ、操作者の操作により、入力画像をテクスチャマッピングするテクスチャマッピング対象が指定される。この指定情報は、表面指定手段120から画像生成手段140に送られる。また、表面指定手段120では、操作者の操作により、CG記述データ中のテクスチャマッピング対象に付与された属性の各値と画像データ(入力ライン)との対応関係が生成される。そして、この表面指定手段120により、この対応関係を示す画像割り当てテーブル(図8、図9参照)が、画像生成手段140に設定される。
【0072】
画像生成手段140では、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像が生成される。また、上述したように、この画像生成手段140には、テクスチャマッピング対象であるオブジェクトまたはオブジェクトの部分の指定情報が、表面指定手段120から送られてくる。この画像生成手段140により、テクスチャマッピング対象の表面に、入力画像(画像データT1による画像)をテクスチャマッピングするように、画像マッピング手段150が制御される。
【0073】
画像マッピング手段150では、画像生成手段140の制御により、テクスチャマッピング対象の表面に、マトリクススイッチ160で得られる画像データT1による画像がテクスチャマッピングされる。そして、画像生成手段140から導出された出力端子140aには、テクスチャマッピング対象の表面に画像データT1による画像がテクスチャマッピングされたCG画像の画像データVoutが出力される。
【0074】
また、画像生成手段140では、CG制作手段110で制作されたCG記述データ中の、テクスチャマッピング対象に付与されている属性の値が監視される。そして、画像生成手段140では、この属性の値が、表面指定手段120により設定された画像割り当てテーブル内の各値と比較され、その比較結果に対応して、画像選択制御手段180に制御信号が送られる。
【0075】
そして、画像選択制御手段180により、マトリクススイッチ160におけるクロスポイントスイッチ群165が制御される。すなわち、属性の値が画像割り当てテーブル内の値と一致するか、あるいは属性の値が画像割り当てテーブル内の値に対して一定の範囲内にあるとき、その値に対応した画像入力が画像データT1として取り出される。
【0076】
この場合、画像生成手段140に図8に示す画像割り当てテーブルが設定されている場合は以下のようになる。アニメーションの進行によりテクスチャマッピング対象に付与されている「属性m」の値がp1となるとき、マトリクススイッチ160から画像データT1として画像入力「1」が取り出される。そのため、画像マッピング手段150において、テクスチャマッピング対象の表面に、画像入力「1」による画像がテクスチャマッピングされる状態となる。
【0077】
また、テクスチャマッピング対象に付与されている「属性m」の値がp2となるとき、マトリクススイッチ160から画像データT1として画像入力「2」が取り出される。そのため、画像マッピング手段150において、テクスチャマッピング対象の表面に、画像入力「2」による画像がテクスチャマッピングされる状態となる。
【0078】
図10のフローチャートは、CGアニメーション実行中における、画像生成手段140および画像選択制御手段180の制御部の処理例を示している。この処理例は、画像生成手段140および画像選択制御手段180が、共通の制御部(CPU)で制御される場合を想定している。また、この処理例は、画像生成手段140に、図8に示す画像割り当てテーブルが設定されている場合の例である。
【0079】
制御部は、CGアニメーションの実行に伴って、ステップST1において、処理を開始する。制御部は、ステップST2において、フレーム番号iを1に設定する。そして、制御部は、ステップST3において、テクスチャマッピング対象に付与されている属性mの値を調べ、ステップST4の処理に移る。
【0080】
このステップST4において、制御部は、属性mの値がp1であるか否かを判断する。属性mの値がp1であるとき、制御部は、ステップST5において、マトリクススイッチ160に、画像データT1として、画像入力「1」を選択させる。また、属性mの値がp1でないとき、制御部は、ステップST6の処理に移る。
【0081】
このステップST6において、制御部は、属性mの値がp2であるか否かを判断する。属性mの値がp2であるとき、制御部は、ステップST7において、マトリクススイッチ160に、画像データT1として、画像入力「2」を選択させる。また、属性mの値がp2でないとき、制御部は、ステップST8の処理に移る。
【0082】
制御部は、ステップST5の処理の後、あるいはステップST7の処理の後、ステップST8の処理に移る。このステップST8において、制御部は、フレームiにおけるCGの描画、すなわちアニメーションの進行に従ったCGの描画を行うと共に、画像マッピング手段150に、テクスチャマッピングを指示する。その後、制御部は、ステップST9の処理に移る。
【0083】
このステップST9において、制御部は、フレーム番号iが総フレーム数以下であるか否かを判断する。フレーム番号iが総フレーム数より小さいとき、制御部は、ステップST10において、フレーム番号iをインクリメントし、その後に、ステップST3の処理に戻り、次のフレームの処理に移る。ステップST9で、フレーム番号iが総フレーム数以上のとき、制御部は、ステップST11において、処理を終了する。すなわち、アニメーションの終了となる。
【0084】
図11のフローチャートは、CGアニメーション実行中における、画像生成手段140の制御部の処理例を示している。図12のフローチャートは、CGアニメーション実行中における、画像選択制御手段180の制御部の処理例を示している。これらの処理例は、画像生成手段140および画像選択制御手段180が、別個の制御部(CPU)で制御される場合を想定している。また、これらの処理例は、画像生成手段140に、図8に示す画像割り当てテーブルが設定されている場合の例である。
【0085】
図11のフローチャートに基づいて、画像生成手段140の制御部の処理例を説明する。制御部は、CGアニメーションの実行に伴って、ステップST21において、処理を開始する。制御部は、ステップST22において、フレーム番号iを1に設定する。そして、制御部は、ステップST23において、テクスチャマッピング対象に付与されている属性mの値を画像選択制御手段180に送る。次に、制御部は、ステップST24において、フレームiにおけるCGの描画を行うと共に、画像マッピング手段150に、テクスチャマッピングを指示する。
【0086】
次に、制御部は、ステップST25において、フレーム番号iが総フレーム数以下であるか否かを判断する。フレーム番号iが総フレーム数以下であるとき、制御部は、ステップST26において、フレーム番号iをインクリメントし、その後に、ステップST23の処理に戻り、次のフレームの処理に移る。ステップST25で、フレーム番号iが総フレーム数以上のとき、制御部は、ステップST27において、処理を終了する。
【0087】
図12のフローチャートに基づいて、画像選択制御手段180の制御部の処理例を説明する。制御部は、ステップST31において、属性mの値を受け取ることで、処理を開始する。その後、制御部は、ステップST32の処理に移る。このステップST32において、制御部は、テクスチャマッピング対象に付与されている属性mの値を調べる。
【0088】
次に、制御部は、ステップS33において、属性mの値がp1であるか否かを判断する。属性mの値がp1であるとき、制御部は、ステップST34において、マトリクススイッチ160に、画像データT1として、画像入力「1」を選択させる。制御部は、ステップST34の処理の後、ステップST37において、処理を終了する。
【0089】
また、ステップST33で属性mの値がp1でないとき、制御部は、ステップST35において、属性mの値がp2であるか否かを判断する。属性mの値がp2であるとき、制御部は、ステップST36において、マトリクススイッチ160に、画像データT1として、画像入力「2」を選択させる。制御部は、ステップST36の処理の後、ステップST37において、処理を終了する。また、制御部は、ステップST35で属性mの値がp2でないとき、ステップST37において、処理を終了する。
【0090】
なお、以上の例では、図8の画像割り当てテーブルが2行であったが、これより多くの行を持ち、属性mの値と画像入力の対応が多くても、容易に分かるように、行の数だけ比較を反復すれば良い。
【0091】
次に、図1の画像処理装置100における動作タイミングを説明する。上述したように画像生成手段でCG画像が生成されると共に、生成されたCG画像のテクスチャマッピング対象に画像マッピング手段150で入力画像データT1による画像(入力画像)がテクスチャマッピングされる。そして、テクスチャマッピング後のCG画像の画像データが出力される。
【0092】
この際、入力画像データT1は、フレームないしはフィールドの単位でテクスチャ画像記憶部153(図5参照)に一時的に書き込まれる。その後、CG画像のテクスチャマッピング対象に、入力画像データT1による画像がテクスチャマッピングされる。その結果、テクスチャマッピング後のCG画像の出力画像データが、フレームバッファ157(図5参照)に一時的に書き込まれる。その後、このフレームバッファ157から出力画像データが読み出されて出力される。
【0093】
出力CG画像中のテクスチャマッピング画像は、入力された時点から1フレーム時間以上遅れる。言い換えると、出力CG画像中のテクスチャマッピング画像は、1フレーム以上過去の入力画像である。入力画像が出力されるまでに、処理の複雑さに応じて、2フレーム、あるいは3フレームを要することもある。
【0094】
そのため、アニメーションの各フレームを生成する処理を行う時点(フレーム)で、画像選択制御手段180がそのフレームで使う入力画像の選択を行うと、遅い。CG画像フレーム生成よりも所定フレーム数の時間だけ前に、入力画像を選択する必要がある。
【0095】
一例として、CG画像の生成と入力画像の処理に1フレーム時間掛かり、さらに入力画像をテクスチャマッピングに使うのに1フレーム時間掛かり、その後に合成されたCG画像が出力されるとする。この場合、例えば、図13に示すタイミングで、入力画像の選択と他の制御が行われる。
【0096】
すなわち、制御部は、フレーム1で、フレームAのテクスチャマッピング対象に付与されている属性の値を調べる。そして、制御部は、このフレーム1で、マトリクススイッチ160に、属性の値に応じた画像入力を画像データT1として選択するように指示する。マトリクススイッチ160は、このフレーム1の終わりで、指示された画像入力を画像データT1として選択するように切り替える。
【0097】
次に、制御部は、フレーム2で、フレームAで生成されるCG画像にテクスチャマッピングするための画像データを入力する。すなわち、このフレーム2で、画像データT1の1フレーム分がテクスチャ画像記憶部153に一時的に記憶される。
【0098】
次に、制御部は、フレーム3(フレームA)で、CG記述データに基づいて、フレームAのCGの描画を行ってCG画像を生成し、その画像データを、フレームバッファ157に一時的に記憶する。
【0099】
次に、制御部は、フレーム4で、CG画像のテクスチャマッピング対象に、テクスチャ画像記憶部153から読み出された画像データを用いて、テクスチャマッピングを行い、処理後のCG画像の画像データをフレームバッファ157に一時的に記憶する。
【0100】
次に、制御部は、フレーム5で、フレームバッファ157から、入力画像がテクスチャマッピングされたCG画像の画像データを読み出して、出力する。
【0101】
なお、図13に示すタイミングは一例であって、処理に要する時間(フレーム数)がさらに増えることもある。その場合でも、マトリクススイッチ160の動作タイミングが、切り替え後の画像データT1が丁度対応するCG画像の生成に使われるように、制御すればよい。
【0102】
図13のタイミング例において、フレーム3でのCGの描画の内容が簡単で、1フレームの時間に対して短時間で終わる場合でも、処理タイミングを守るため、フレーム3の途中でテクスチャマッピングまで行うようなことはせず、図示のように定められたフレーム毎のタイミングで処理を行う。
【0103】
図1に示す画像処理装置100において、テクスチャマッピング対象の表面に、マトリクススイッチ160で取り出された画像データT1による画像がテクスチャマッピングされる。また、マトリクススイッチ160で取り出される画像データは、CG記述データ中のテクスチャマッピング対象に付与された属性に応じて制御される。従って、テクスチャマッピングする画像の切り替えタイミングを、テクスチャマッピング対象に付与される属性を変化させることで、CG制作時に容易に指定できる。また、アニメーション動作の進行速度は、運用時に指定することができるが、速い進行の場合も遅い進行の場合も、図13のようにフレームに応じたタイミングで制御を行うことで、CG制作時に指定したアニメーション動作中の時間位置で、テクスチャマッピングする画像の切り替えができる。
【0104】
PC上のソフトウェアによりCG記述データを作成中、操作者がアニメーション動作を確認するには、簡易的なレンダリングなどによりアニメーションの動画を作成して、目で見る。その際、各面の色が変化すると、操作者はそれを容易に認識できる。図1に示す画像処理装置100によれば、色の変化(属性の変化)とテクスチャマッピングする画像入力が対応する。そのため、操作者は、CG記述データの作成中はテクスチャマッピングを行っていないが、テクスチャマッピングが切り替わる様子を容易に頭に描くことが可能になる。
【0105】
図14(a)〜(h)は、操作者が、CG記述データ作成中に、アニメーション動作を確認する際に見るアニメーションの動画の一例を示している。この例は、CG画像のオブジェクトの面がテクスチャマッピング対象とされ、この面の色が変化していく様子を示している。
【0106】
ここで、例えば、「青」に「ヘリコプターの画像入力」、「赤」に「自動車の画像入力」、「黄」に「コーヒーカップの画像入力」が対応するものとする。この場合、操作者は、テクスチャマッピング画像が切り替わる様子を、図15(a)〜(h)に示すように、容易に頭に描くことが可能になる。画像入力は動画像であるが、図15では簡易的に静止画であるようにして図示している。実際の運用時の動画像の内容は、運用毎に異なる。
【0107】
なお、図1に示す画像処理装置100においては、テクスチャマッピング対象に付与さされている属性の値が、画像割り当てテーブルに存在する値と一致、あるいはその値に対して一定の範囲内にある場合、テクスチャマッピング画像が所定の画像とされる。すなわち、その場合、画像選択制御手段180の制御により、マトリクススイッチ160から出力されて画像マッピング手段150に供給される画像データT1は、その属性の値に対応した画像入力とされる。
【0108】
上述していないが、この状態にあっても、操作者の画像選択操作手段(操作卓)170(図3参照)の押しボタンの押圧操作により、画像データT1となる画像入力を、操作者が任意に切り替え可能としてもよい。この場合、操作者は、マトリクススイッチ160で画像データT1として選択する画像データを強制的に切り替えることができる。すなわち、テクスチャマッピング対象に付与されている属性の値に変化がなくても、このテクスチャマッピング対象にマッピングされる画像を任意のタイミングで所望の画像に変更できる。
【0109】
<2.第2の実施の形態>
[画像処理装置の構成]
この発明の第2の実施の形態を説明する。図16は、第2の実施の形態としての画像処理装置100Aの構成例を示している。この図16において、図1と対応する部分には同一符号を付し、適宜、その説明を省略する。この画像処理装置100Aは、CG制作手段110と、表面指定手段120と、ネットワーク130と、画像生成手段140Aと、画像マッピング手段150Aと、画像選択制御手段180Aを有している。CG制作手段110、表面指定手段120Aおよび画像生成手段140Aは、それぞれネットワーク130に接続されている。
【0110】
CG制作手段110は、CG制作ソフトウェアを持つパーソナルコンピュータ(PC:Personal Computer)により構成されている。このCG制作手段110は、所定のフォーマットのCG記述データを出力する。このCG制作手段110は、上述の図1に示す画像処理装置100のCG制作手段110と同様のものである。
【0111】
表面指定手段120は、入力画像をテクスチャマッピングするテクスチャマッピング対象を(CGのオブジェクトまたはオブジェクトの部分)指定し、その指定情報を、ネットワーク130を介して画像生成手段140Aに送る。また、この表面指定手段120は、CG記述データ中のテクスチャマッピング対象に付与された属性の各値と画像データとの対応関係を生成し、この対応関係を示す画像割り当てテーブルを画像生成手段140Aに設定する。この表面指定手段120は、上述の図1に示す画像処理装置100の表面指定手段120と同様のものである。
【0112】
画像生成手段140Aは、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。また、この画像生成手段140Aは、表面指定手段120から送られてくるテクスチャマッピング対象の指定情報に基づいて、そのテクスチャマッピング対象の表面に、入力画像をテクスチャマッピングするように、画像マッピング手段150Aを制御する。
【0113】
画像マッピング手段150Aは、画像生成手段140Aが描画するCGのうち、表面指定手段120で指定されるテクスチャマッピング対象の表面に、入力画像をテクスチャマッピングする。この画像マッピング手段150Aは、実装上は、上述の画像生成手段140Aと一体化されている。この画像マッピング手段150Aは、CPU上のソフトウェアによる制御と、GPU等のハードウェアによる動作によって実現される。制御ソフトウェアは、テクスチャマッピングするポリゴン集合を指定してハードウェアに指示する。
【0114】
画像選択制御手段180Aは、CG記述データ中のテクスチャマッピング対象に付与された属性に応じて、画像マッピング手段150Aに入力される複数の画像データのうち、実際に使用される画像データを制御する。この実施の形態において、画像マッピング手段150Aには4系統の画像データT1〜T4が入力されており、いずれかの画像データが選択的にテクスチャマッピング画像用の画像データとして使用される。この画像選択制御手段180Aは、実装上は、上述の画像生成手段140Aと一体化されている。
【0115】
この画像選択制御手段180Aは、上述したように画像生成手段140Aに設定された画像割り当てテーブルに基づいて、画像マッピング手段150Aで使用される画像データを制御する。
【0116】
例えば、画像生成手段140Aに設定される画像割り当てテーブルが、上述の図8に示す画像割り当てテーブルである場合には、以下のように制御される。すなわち、CG記述データ中のテクスチャマッピング対象に付与された「属性m」の値がp1となるとき、画像データT1が使用されるように制御する。また、CG記述データ中のテクスチャマッピング対象に付与された「属性m」の値がp2となるとき、画像データT2が使用されるように制御する。
【0117】
図17は、上述した画像生成手段140Aおよび画像マッピング手段150Aの機能ブロックの構成例を示している。この図17において、図5と対応する部分には同一符号を付して示している。手段140A,150Aは、画像入力部152-1〜152-4、テクスチャ画像記憶部153-1〜153-4、CG制御部154、CG描画部155、テクスチャ座標制御部156、フレームバッファ157および画像出力部158の機能ブロックを有している。
【0118】
画像入力部152-1〜152-4および画像出力部158は、画像入出力部141により構成されている。また、テクスチャ画像記憶部153-1〜153-4は、メインメモリ145により構成されている。また、CG制御部154およびテクスチャ座標制御部156は、CPU144により構成されている。また、CG描画部155は、GPU142により構成されている。また、フレームバッファ157は、ローカルメモリ143により構成されている。
【0119】
画像入力部152-1およびテクスチャ画像記憶部153-1は、画像データT1の入力系統に対応している。画像入力部152-2およびテクスチャ画像記憶部153-2は、画像データT2の入力系統に対応している。画像入力部152-3およびテクスチャ画像記憶部153-3は、画像データT3の入力系統に対応している。画像入力部152-4およびテクスチャ画像記憶部153-4は、画像データT4の入力系統に対応している。画像マッピング手段150Aにおいては、テクスチャ画像記憶部153-1〜153-4に記憶された画像データT1〜T4のいずれかが選択的にテクスチャマッピング用の画像データとして使用される。
【0120】
[画像処理装置の動作例]
図16に示す画像処理装置100Aの動作例を説明する。CG制作手段110では、CG制作ソフトウェアにより、所定のCG画像を生成するためのCG記述データが生成される。このようにCG制作手段110で生成されたCG記述データは、ネットワーク130を介して、画像生成手段140Aおよび表面指定手段120に送られる。
【0121】
表面指定手段(GUI)120では、CG記述データ中のオブジェクトまたはオブジェクトの部分が選択肢とされ、操作者の操作により、入力画像をテクスチャマッピングするテクスチャマッピング対象が指定される。この指定情報は、表面指定手段120から画像生成手段140Aに送られる。また、表面指定手段120では、操作者の操作により、CG記述データ中のテクスチャマッピング対象に付与された属性の各値と画像データとの対応関係が生成される。そして、この表面指定手段120により、この対応関係を示す画像割り当てテーブルが、画像生成手段140Aに設定される。
【0122】
画像生成手段140Aでは、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像が生成される。また、上述したように、この画像生成手段140Aには、テクスチャマッピング対象であるオブジェクトまたはオブジェクトの部分の指定情報が、表面指定手段120から送られてくる。この画像生成手段140Aにより、テクスチャマッピング対象の表面に、入力画像をテクスチャマッピングするように、画像マッピング手段150Aが制御される。
【0123】
画像マッピング手段150Aでは、画像生成手段140Aの制御により、テクスチャマッピング対象の表面に、入力画像がテクスチャマッピングされる。そして、画像生成手段140Aから導出された出力端子140aには、テクスチャマッピング後のCG画像の画像データVoutが出力される。
【0124】
ここで、画像マッピング手段150Aには、4系統の画像データT1〜T4が入力される。画像マッピング手段150Aで実際に使用される画像データは、画像選択制御手段180Aにより、画像データT1〜T4のいずれかとされる。この場合、例えば、画像生成手段140Aでは、CG制作手段110で制作されたCG記述データ中の、テクスチャマッピング対象に付与されている属性の値が監視される。そして、この属性の値が、表面指定手段120により設定された画像割り当てテーブル内の各値と比較され、その比較結果に対応して、画像選択制御手段180Aに制御信号が送られる。
【0125】
そして、画像選択制御手段180Aにより、画像マッピング手段150Aに入力される4系統の画像データT1〜T4のうち実際に使用される画像データが制御される。すなわち、属性の値が画像割り当てテーブル内の値と一致するか、あるいは属性の値が画像割り当てテーブル内の値に対して一定の範囲内にあるとき、画像マッピング手段150Aでは、その値に対応した画像データが使用される。
【0126】
例えば、画像生成手段140Aに図8に示す画像割り当てテーブルが設定されている場合は以下のようになる。テクスチャマッピング対象に付与されている「属性m」の値がp1となるとき、画像マッピング手段150Aでは画像データT1の使用に切り替えられる。そのため、画像マッピング手段150Aにおいて、テクスチャマッピング対象の表面に、画像データT1による画像がテクスチャマッピングされる状態となる。また、テクスチャマッピング対象に付与されている「属性m」の値がp2となるとき、画像マッピング手段150Aでは画像データT2の使用に切り替えられる。そのため、画像マッピング手段150Aにおいて、テクスチャマッピング対象の表面に、画像データT2による画像がテクスチャマッピングされる状態となる。
【0127】
図18のフローチャートは、CGアニメーション実行中における、画像生成手段140Aおよび画像選択制御手段180Aの制御部の処理例を示している。この処理例は、画像生成手段140Aおよび画像選択制御手段180Aが、共通の制御部(CPU)で制御される場合を想定している。また、この処理例は、画像生成手段140Aに、図8に示す画像割り当てテーブルが設定されている場合の例である。
【0128】
制御部は、CGアニメーションの実行に伴って、ステップST41において、処理を開始する。制御部は、ステップST42において、フレーム番号iを1に設定する。そして、制御部は、ステップST43において、テクスチャマッピング対象に付与されている属性mの値を調べ、ステップST44の処理に移る。
【0129】
このステップST44において、制御部は、属性mの値がp1であるか否かを判断する。属性mの値がp1であるとき、制御部は、ステップST45において、画像マッピング手段150Aに、画像データT1(入力「1」)を用いてテクスチャマッピングを行うように指示する。また、属性mの値がp1でないとき、制御部は、ステップST46の処理に移る。
【0130】
このステップST46において、制御部は、属性mの値がp2であるか否かを判断する。属性mの値がp2であるとき、制御部は、ステップST47において、画像マッピング手段150Aに、画像データT2(入力「2」)を用いてテクスチャマッピングを行うように指示する。また、属性mの値がp2でないとき、制御部は、ステップST48の処理に移る。
【0131】
制御部は、ステップST45の処理の後、あるいはステップST47の処理の後、ステップST48の処理に移る。このステップST48において、制御部は、CGの描画を行う。その後、制御部は、ステップST49の処理に移る。
【0132】
このステップST49において、制御部は、フレーム番号iが総フレーム数より小さいか否かを判断する。フレーム番号iが総フレーム数より小さいとき、制御部は、ステップST50において、フレーム番号iをインクリメントし、その後に、ステップST43の処理に戻り、次のフレームの処理に移る。ステップST49で、フレーム番号iが総フレーム数以上であるとき、制御部は、ステップST51において、処理を終了する。すなわち、アニメーションの終了となる。
【0133】
図19のフローチャートは、CGアニメーション実行中における、画像生成手段140Aの制御部の処理例を示している。図20のフローチャートは、CGアニメーション実行中における、画像選択制御手段180Aの制御部の処理例を示している。これらの処理例は、画像生成手段140Aおよび画像選択制御手段180Aが、別個の制御部(CPU)で制御される場合を想定している。また、これらの処理例は、画像生成手段140Aに、図8に示す画像割り当てテーブルが設定されている場合の例である。
【0134】
図19のフローチャートに基づいて、画像生成手段140Aの制御部の処理例を説明する。制御部は、CGアニメーションの実行に伴って、ステップST61において、処理を開始する。制御部は、ステップST62において、フレーム番号iを1に設定する。そして、制御部は、ステップST63において、テクスチャマッピング対象に付与されている属性mの値を画像選択制御手段180Aに送る。次に、制御部は、ステップST64において、CGの描画を行う。
【0135】
次に、制御部は、ステップST65において、フレーム番号iが総フレーム数より小さいか否かを判断する。フレーム番号iが総フレーム数より小さいとき、制御部は、ステップST66において、フレーム番号iをインクリメントし、その後に、ステップST63の処理に戻り、次のフレームの処理に移る。ステップST65で、フレーム番号iが総フレーム数以上のとき、制御部は、ステップST67において、処理を終了する。すなわち、アニメーションの終了となる。
【0136】
図20のフローチャートに基づいて、画像選択制御手段180Aの制御部の処理例を説明する。制御部は、ステップST71において、属性mの値を受け取ることで、処理を開始する。その後、制御部は、ステップST72の処理に移る。このステップST72において、制御部は、テクスチャマッピング対象の属性mの値を調べる。
【0137】
次に、制御部は、ステップS73において、属性mの値がp1であるか否かを判断する。属性mの値がp1であるとき、制御部は、ステップST74において、画像マッピング手段150Aに、画像データT1(入力「1」)を用いてテクスチャマッピングを行うように指示する。制御部は、ステップST74の処理の後、ステップST77において、処理を終了する。
【0138】
また、ステップST73で属性mの値がp1でないとき、制御部は、ステップST75において、属性mの値がp2であるか否かを判断する。属性mの値がp2であるとき、制御部は、ステップST76において、画像マッピング手段150Aに、画像データT2(入力「2」)を用いてテクスチャマッピングを行うように指示する。制御部は、ステップST76の処理の後、ステップST77において、処理を終了する。また、制御部は、ステップST75で属性mの値がp2でないとき、ステップST77において、処理を終了する。
【0139】
図16に示す画像処理装置100Aにおいて、テクスチャマッピング対象の表面に、入力画像データT1〜T4から選択された一つの画像データによる画像がテクスチャマッピングされる。また、テクスチャマッピング手段150Aで使用される画像データは、CG記述データ中のテクスチャマッピング対象に付与された属性に応じて制御される。
【0140】
したがって、この画像処理装置100Aにおいても、上述の図1に示す画像処理装置100と同様に、テクスチャマッピングする画像の切り替えタイミングを、テクスチャマッピング対象に付与される属性を変化させることで、CG制作時に容易に指定できる。
【0141】
<3.第3の実施の形態>
[画像処理装置の構成]
この発明の第3の実施の形態を説明する。図21は、第3の実施の形態としての画像処理装置100Bの構成例を示している。この図21において、図1と対応する部分には同一符号を付し、適宜、その説明を省略する。この画像処理装置100Bは、CG制作手段110と、表面指定手段120と、ネットワーク130と、画像生成手段140Bと、画像マッピング手段150Bを有している。また、この画像処理装置100Bは、マトリクススイッチ160Bと、画像選択操作手段170Bと、画像選択制御手段180Bと、プログラム・プレビューミキサ190を有している。CG制作手段110、表面指定手段120、画像生成手段140Bおよび画像選択制御手段180Bは、それぞれネットワーク130に接続されている。
【0142】
CG制作手段110は、CG制作ソフトウェアを持つパーソナルコンピュータ(PC:Personal Computer)により構成されている。このCG制作手段110は、所定のフォーマットのCG記述データを出力する。このCG制作手段110は、上述の図1に示す画像処理装置100のCG制作手段110と同様のものである。
【0143】
マトリクススイッチ160Bは、複数の入力画像データから画像データを選択的に取り出す画像選択手段を構成している。このマトリクススイッチ160Bは、10本の入力ラインと、13本の出力バスライン211〜223と、クロスポイントスイッチ群231〜243を有している。このマトリクススイッチ160Bは、エフェクトスイッチャの一部を構成しており、外部機器としての画像マッピング手段150Bに画像データを供給する他、内部の画像合成手段等に画像データを供給するために使用される。
【0144】
出力バスライン211,212は、画像マッピング手段150Bに画像データを供給するためのバスラインである。また、出力バスライン213〜221は、外部に画像データを出力するためのバスラインである。また、出力バスライン222,223は、内部の画像合成手段(ミキサ)に画像データを供給するためのバスラインである。
【0145】
10本の入力ラインは図で一方向に配列されている。「1」〜「9」の入力ラインには、それぞれにはVTR、ビデオカメラ等から画像データが入力される。また、「10」の入力ラインには、画像生成手段140Bから出力されるCG画像データが入力される。13本の出力バスライン211〜223は、入力ラインと交差して他方向に配列されている。
【0146】
クロスポイントスイッチ群231,232は、10本の入力ラインと出力バスライン211,212とが交差する各クロスポイントでそれぞれの接続を行う。画像選択制御手段180Bの制御、あるいは操作者の画像選択操作に基づいて、このクロスポイントスイッチ群231,232の接続が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン211,212に選択的に出力される。この出力バスライン211,212は、テクスチャマッピング用の画像データ(マッピング入力)T1,T2の出力ラインを構成する。
【0147】
また、クロスポイントスイッチ群233〜241は、それぞれ、10本の入力ラインと出力バスライン213〜221が交差する各クロスポイントでそれぞれの接続を行う。操作者の画像選択操作に基づいて、このクロスポイントスイッチ群233〜241が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン213〜221に選択的に出力される。この出力バスライン213〜221は、外部出力用の画像データOUT1〜OUT9の出力ラインを構成する。
【0148】
また、クロスポイントスイッチ群242,243は、それぞれ、10本の入力ラインと出力バスライン222,223とが交差する各クロスポイントでそれぞれの接続を行う。操作者の画像選択操作に基づいて、このクロスポイントスイッチ群242,243が制御され、10本の入力ラインに入力された画像データのいずれかが出力バスライン222,223に選択的に出力される。
【0149】
この出力バスライン222,223に出力される画像データは、プログラム・プレビューミキサ190に入力される。このプログラム・プレビューミキサ190は、出力バスライン222,223から入力される画像データに対して合成処理を行う。このプログラム・プレビューミキサ190から、プログラム出力ライン251を通じてプログラム(PGM)出力が外部に出力され、プレビュー出力ライン252を通じてプレビュー出力が外部に出力される。
【0150】
なお、クロスポイントスイッチ群231〜243の各クロスポイントスイッチのオンオフ動作は、フレームデータの連続からなる画像データを切り替えるものであることから、フレームの切れ目である垂直ブランキング区間内に行われる。
【0151】
画像選択操作手段170Bは、上述のマトリクススイッチ160Bへの指示の操作入力を受ける。この画像選択操作手段170Bは、マトリクススイッチ160Bの各クロスポイントスイッチ群のスイッチのオンオフを操作する押しボタン列を備える操作卓260を備えている。
【0152】
図22は、操作卓260の一例の外観を示している。この操作卓260には、左右方向に延びる押しボタン列261〜264が上下方向に並ぶように設けられている。各押しボタン列は、予め操作者の設定操作により、上述のマトリクススイッチ160Aの13本の出力バスラインのいずれかに対応するように設定される。各押しボタン列は、入力ラインのそれぞれと対応する出力バスラインとの接続を選択する択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。
【0153】
操作卓260の上部には、文字表示部265が設けられている。この文字表示部265は、各入力ラインへの入力画像を識別するための文字を表示する。この文字表示部265は、例えば、LCD(Liquid Crystal Display)等の表示素子により構成される。また、操作卓260の左部には、文字表示部266が設けられている。
【0154】
この文字表示部266は、各押しボタン列が対応する出力バスラインを識別するための文字を表示する。この文字表示部266は、例えば、LCD等の表示素子により構成される。画像マッピング手段150Bにマッピング入力を供給する出力バスラインに割り当てられた押しボタン列に対応しては、例えば、「CG」が表示される。
【0155】
この操作卓260の押しボタン列261〜264をどの出力バスラインに対応させるかは、例えば、GUI(Graphical User Interface)で実現される。図23(a)は、出力バスラインのアサイン時に表示されるGUI表示例を示している。このGUI表示においては、4つの押しボタン列261〜264が、「1」〜「4」で表されている。操作者は、この「1」〜「4」に対応した「Selectボタン」を操作して出力バスラインの選択肢を表示し、その選択肢の中から所望の出力バスラインを選択することで、それぞれの押しボタン列に所望の出力バスラインを割り当てることができる。
【0156】
図23(b)は、出力バスラインのセレクト時に表示されるGUI表示例を示している。このGUI表示には、画像マッピング手段150Bへの画像データT1,T2の出力ラインを構成する出力バスライン211,212が、「CG」で選択肢として出力されている。また、このGUI表示には、外部出力用の画像データOUT1〜OUT9の出力ラインを構成する出力バスライン213〜221が、「OUT1」〜「OUT9」で選択肢として表示されている。また、このGUI表示には、プログラム・プレビューミキサ190に画像データを入力する出力バスライン222,223が、「PP−A」,「PP−B」で選択肢として表示されている。
【0157】
画像生成手段140Bは、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。この画像生成手段140Bは、時間をかけたレンダリング処理ではなく、アニメーションフレームの実時間で画像を生成する。画像生成手段140Bは、CG記述データを読み込むと、各定義などの情報をメモリ上に保持し、それらの対応付けもデータ構造として保持する。
【0158】
表面指定手段120は、入力画像をテクスチャマッピングするテクスチャマッピング対象を(CGのオブジェクトまたはオブジェクトの部分)指定し、その指定情報を、ネットワーク130を介して画像生成手段140Bに送る。また、この表面指定手段120は、CG記述データ中のテクスチャマッピング対象に付与された属性の各値と画像データとの対応関係を生成し、この対応関係を示す画像割り当てテーブルを、画像生成手段140Bに設定する。この表面指定手段120は、上述の図1に示す画像処理装置100の表面指定手段120と同様のものである。
【0159】
画像生成手段140Bは、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。また、この画像生成手段140Bは、表面指定手段120から送られてくるテクスチャマッピング対象の指定情報に基づいて、そのテクスチャマッピング対象の表面に入力画像をテクスチャマッピングするように、画像マッピング手段150Bを制御する。
【0160】
画像マッピング手段150Bは、画像生成手段140Bが描画するCGのうち、表面指定手段120で指定されるテクスチャマッピング対象の表面に、入力画像をテクスチャマッピングする。この画像マッピング手段150Bは、実装上は、上述の画像生成手段140Bと一体化されており、CPU上のソフトウェアによる制御と、GPU等のハードウェアによる動作によって実現される。制御ソフトウェアは、テクスチャマッピングするポリゴン集合を指定してハードウェアに指示する。この画像マッピング手段150Bおよび上述した画像生成手段140Bは、図1に示す画像処理装置100における画像マッピング手段150および画像生成手段140と同様に構成されている(図4、図5参照)。
【0161】
画像選択制御手段180Bは、CG記述データ中のテクスチャマッピング対象に付与された属性に応じて、マトリクススイッチ160Bで選択される画像データT1,T2を制御する。この画像データT1,T2は、出力バスライン211,212に選択的に出力されるテクスチャマッピング用の画像データである。画像選択制御手段180Bは、画像生成手段140Bに設定された画像割り当てテーブルに基づいて、マトリクススイッチ160Bで選択される画像データT1,T2を制御する。
【0162】
図24は、上述した画像生成手段140Bおよび画像マッピング手段150Bの機能ブロックの構成例を示している。この図24において、図5と対応する部分には同一符号を付して示している。手段140B,150Bは、画像入力部152-1,152-2、テクスチャ画像記憶部153-1,153-2、CG制御部154、CG描画部155、テクスチャ座標制御部156、フレームバッファ157および画像出力部158の機能ブロックを有している。
【0163】
画像入力部152-1,152-2および画像出力部158は、画像入出力部141により構成されている。また、テクスチャ画像記憶部153-1,153-2は、メインメモリ145により構成されている。また、CG制御部154およびテクスチャ座標制御部156は、CPU144により構成されている。また、CG描画部155は、GPU142により構成されている。また、フレームバッファ157は、ローカルメモリ143により構成されている。
【0164】
画像入力部152-1およびテクスチャ画像記憶部153-1は、画像データT1の入力系統に対応している。画像入力部152-2およびテクスチャ画像記憶部153-2は、画像データT2の入力系統に対応している。画像マッピング手段150Bにおいては、テクスチャ画像記憶部153-1,153-2に記憶された画像データT1,T2のいずれかが選択的にテクスチャマッピング用の画像データとして切り替え使用される。
【0165】
図21に示す画像処理装置100Bにおいては、画像マッピング手段150Bに入力される画像データT1,T2はテクスチャ画像記憶部153-1,153-2に記憶されている(図24参照)。そのため、画像マッピング手段150Bがテクスチャ画像記憶部153-1,153-2に取り込んだ画像データを読み取る際に、画像入力の切り替えを行うことが可能となる。
【0166】
すなわち、現在画像データT1がテクスチャマッピングに使用されている場合、CG記述データのアニメーションが、描画よりも数フレーム先行してあらかじめ調べられる。そして、次に切り替えて選択する画像入力(画像入力「1」〜「10」のいずれか)が画像データT2として出力されるように、マトリクススイッチ160に指示される。そして、画像マッピング手段150Bにおいて、所定のタイミングで、テクスチャマッピング用の画像データが、画像データT1から画像データT2切り替えられる。
【0167】
図25は、制御タイミングの一例を示しており、このタイミングで入力画像の選択と他の制御が行われる。なお、現在、画像データT1がテクスチャマッピングに使用されているものとする。
【0168】
制御部は、フレームAの数フレーム前のフレームで、フレームAのテクスチャマッピング対象に付与されている属性の値を調べる。そして、制御部は、マトリクススイッチ160に、画像データT2として、属性の値に応じた画像入力を選択するように指示する。マトリクススイッチ160は、そのフレームの終わりで、指示された画像入力を画像データT2として選択するように切り替える。これにより、画像データT2に対応したテクスチャ画像記憶部153-2(図24参照)には、指示された画像入力が記憶されるようになる。
【0169】
制御部は、フレーム3(フレームA)で、CG記述データに基づいて、テクスチャマッピングに使用する画像データを、画像データT1から画像データT2に切り替える。すなわち、テクスチャマッピングに使用する画像データを、テクスチャ画像記憶部153-1から読み出すことから、テクチャ画像記憶部153-2から読み出すように切り替える。また、制御部は、フレーム3(フレームA)で、フレームAのCGの描画を行ってCG画像を生成し、その画像データを、フレームバッファ157に一時的に記憶する。
【0170】
次に、制御部は、フレーム4で、フレーム3で生成されたCG画像のテクスチャマッピング対象に、フレーム3で読み出された画像データを用いて、テクスチャマッピングを行い、処理後のCG画像の画像データをフレームバッファ157に一時的に記憶する。
【0171】
次に、制御部は、フレーム5で、フレームバッファ157から、入力画像がテクスチャマッピングされたCG画像の画像データを読み出して、出力する。
【0172】
図25に示すような制御タイミングによると、次の様な利点がある。アニメーションの動作を停止する様な制御変更の場合、停止の指示を受けてから、画像の選択とCG描画への利用まで終わった時点で止める必要がある。もし画像の選択だけが終わった時点で停止すると、止まったアニメーションCGは、まだ画像の切り替えを意図したフレームまで到達していないため、テクスチャマッピングの画像とCGの構成が、丁度一致しない物になってしまう。図25に示すような制御タイミングならば、上述の図13に示すような制御タイミングに比べて、画像の選択からCGへの利用までのフレーム数が減るため、停止などの制御変更に対する反応が短時間となる。また、画像の選択とCG描画が同じCPUからの制御となる。この結果、反応性が良く、一貫性が維持されやすいので、操作性が向上することになる。
【0173】
なお、詳細説明は省略するが、図21に示す画像処理装置100Bのその他の動作は、上述の図1に示す画像処理装置100と同様である。したがって、この図21に示す画像処理装置100Bにおいても、図1に示す画像処理装置100と同様の効果を得ることができる。
【0174】
また、図21に示す画像処理装置100Bは、マトリクススイッチ160Bの2つの出力バスライン211,212に出力される画像データT1,T2を画像マッピング手段150Bに入力する構成となっている。しかし、マトリクススイッチ160Bから画像マッピング手段150Bに入力される画像データの個数は2個の限定されるものではなく、3個以上、あるいは2個の対を複数設けた形とする構成も考えられる。
【0175】
<4.変形例>
なお、上述実施の形態においては、表面指定手段120により、属性の各値と画像データとの対応関係が生成され、この対応関係を示す画像割り当てテーブルが画像生成手段140,140A,140Bに設定される。そして、CG記述データ中のテクスチャマッピング対象に付与された属性の値が、画像割り当てテーブルに存在する属性の値と一致、あるいはその一定範囲内にあるとき、テクスチャマッピング用の画像データはその属性の値に対応したものに切り替えられる。
【0176】
しかし、属性の各値と画像データとの対応関係が予め設定されることなく、単に、CG記述データ中のテクスチャマッピング対象に付与された属性の値が変化した場合に、テクスチャマッピング用の画像データを切り替えるという構成も考えられる。この場合、画像データの切り替えの順番が予め設定されていてもよく、ランダムに切り替えられるようにしてもよい。
【0177】
あるいは、例えば、図21の構成例で、画像データT1とT2を交互に切り替えてテクスチャマッピングするようにし、クロスポイントスイッチ群231,232の動作は手動操作によっても良い。この場合、さらに、画像データT1とT2のいずれが現在使用されているかを表示するようにすれば、操作性を向上できる。すなわち、現在使用されていない方のバスラインのクロスポイントスイッチ群を操作すれば、CG記述データにあらかじめ仕込まれている次の切り替えタイミングで、所望の画像データをテクスチャマッピングさせることができる。
【0178】
また、上述の第1の実施の形態において、CG制作手段110と、表面指定手段120と、画像生成手段140および画像マッピング手段150とが別個に存在し、互いにネットワーク130を介して接続されている。しかし、これらを一体化した構成も考えられる。
【0179】
図26は、図1に示した画像処理装置100を変形した画像処理装置100Cを示している。この画像処理装置100Cは、CG制作手段と、表面指定手段と、画像生成手段および画像マッピング手段が、一個のパーソナルコンピュータ310で構成されている。なお、詳細説明は省略するが、この画像処理装置100Cのその他は図1に示す画像処理装置100と同様に構成されており同様に動作する。
【0180】
また、上述の第3の実施の形態において、CG制作手段110と、表面指定手段120と、画像生成手段140Bおよび画像マッピング手段150Bとが別個に存在し、互いにネットワーク130を介して接続されている。しかし、これらを一体化した構成も考えられる。
【0181】
図27は、図21に示した画像処理装置100Bを変形した画像処理装置100Dを示している。この画像処理装置100Dは、CG制作手段と、表面指定手段と、画像生成手段および画像マッピング手段が、一個のパーソナルコンピュータ320で構成されている。なお、詳細説明は省略するが、この画像処理装置100Dのその他は図21に示す画像処理装置100Bと同様に構成されており同様に動作する。
【0182】
詳細説明は省略するが、図16に示した第2の実施の形態の画像処理装置100Aに関しても、CG制作手段110と、表面指定手段120と、画像生成手段140Aおよび画像マッピング手段150Aとを一体化した構成も考えられる。
【0183】
以上の例では、参照する属性の例として色を示したが、色以外の属性を用いる構成としても、CG記述データの制作時に画像データの切り替えを仕込むことができる。色や、その他のプレビューでも目に見える属性を使うことで、テクスチャマッピングしないプレビューであっても、結果が想像しやすいという利点を発揮できる。
【0184】
図9を使う例で、色の範囲を例えばプラスマイナス1%とする例を示したが、その他の例として、色空間を各指定色への距離が近い領域毎に分割して、それぞれに画像入力を対応させて、どの色の値であっても、いずれかの画像入力に対応するようにし、テクスチャマッピングする画像データを選択させることも、容易に可能である。
【0185】
また、画像割り当てテーブルと画像選択手段(クロスポイントスイッチ群)との組を、複数組設けて複数のテクスチャマッピングをさせる場合でも、単に数が増えるだけであり、本発明を容易に適用できる。
【0186】
また、属性の値に応じて、画像データを切り替えるのみでなく、テクスチャマッピング動作自体を実行する、しないの切り替えを併せて行うように構成することも可能である。属性の値が画像割り当てテーブルの内容と一致するかあるいは範囲に含まれる場合は画像データの選択をしてテクスチャマッピングを行い、そうでない場合にはテクスチャマッピングを行わないような構成も、当業者には容易に実現できる。用途に応じて、そのようなテクスチャマッピング動作の停止を行うか、使い分けることも、容易に実現できる。
【産業上の利用可能性】
【0187】
この発明は、作成したCGを生放送の運用等で使う場合に、テクスチャマッピングする画像の切り替えタイミングをCG制作時に容易に指定できるものであり、放送システムにおける特殊効果装置等に適用できる。
【符号の説明】
【0188】
100,100A,100B,100C,100D・・・画像処理装置、110・・・CG制作手段、120・・・表面指定手段、130・・・ネットワーク、140,140A,140B・・・画像生成手段、141・・・画像入出力部、142・・・GPU、143・・・ローカルメモリ、144・・・CPU、145・・・メインメモリ、146・・・周辺デバイス制御部、147・・・HDD、148a・・・イーサネット回路、148b・・・ネットワーク端子、149・・・USB端子、151・・・SDRAM、150,150A,150B・・・画像マッピング手段、152,152-1〜152-4・・・画像入力部、153,153-1〜153-4・・・テクスチャ画像記憶部、154・・・CG制御部、155・・・CG描画部、156・・・テクスチャ座標制御部、157・・・フレームバッファ、158・・・画像出力部、160,160A,160B・・・マトリクススイッチ、161〜164・・・出力バスライン、165〜168・・・クロスポイントスイッチ群、170,170B・・・画像選択操作手段、171〜174・・・押しボタン列、175,176・・・文字表示部、180,180A,180B・・・画像選択制御手段、190・・・プログラム・プレビューミキサ、211〜223・・・出力バスライン、231〜243・・・クロスポイントスイッチ群、251・・・プログラム出力ライン、252・・・プレビュー出力ライン、260・・・操作卓、261〜264・・・押しボタン列、265,266・・・文字表示部、310,320・・・パーソナルコンピュータ

【特許請求の範囲】
【請求項1】
複数の入力画像データから1つの画像データを選択する画像選択手段と、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成手段と、
上記画像生成手段が描画するコンピュータグラフィクスのオブジェクトまたは該オブジェクトの部分をテクスチャマッピング対象とし、該テクスチャマッピング対象の表面に、上記画像選択手段で選択された画像データによる画像をテクスチャマッピングする画像マッピング手段と、
上記コンピュータグラフィクス記述データ中の上記テクスチャマッピング対象に付与された属性に応じて、上記画像選択手段で選択される画像データを制御する画像選択制御手段と
を備える画像処理装置。
【請求項2】
上記属性の値と画像データとの対応関係を設定する情報設定手段をさらに備え、
上記画像選択制御手段は、上記情報設定手段で設定された上記対応関係に基づいて、上記画像選択手段で取り出される画像データを制御する
請求項1に記載の画像処理装置。
【請求項3】
上記属性は、マテリアル定義またはマテリアル定義が持つ表面情報である
請求項1または請求項2に記載の画像処理装置。
【請求項4】
上記画像選択手段は、
複数の入力画像データを入力する入力ラインと、上記複数の入力画像データから選択される1つの画像データを出力する出力ラインを備えるマトリクススイッチを有し、
上記出力ラインに出力される画像データを上記画像マッピング手段に入力する
請求項1に記載の画像処理装置。
【請求項5】
上記画像選択手段は、
上記画像マッピング手段に入力される複数の入力画像データから1つの画像データを該画像マッピング手段で使用する画像データとして選択する
請求項1に記載の画像処理装置。
【請求項6】
上記画像選択手段は、
複数の入力画像データを入力する入力ラインと、上記複数の入力画像データから選択される1つの画像データを出力する複数の出力ラインを備えるマトリクススイッチを有し、
上記複数の出力ラインに出力される画像データを上記画像マッピング手段に入力し、
該画像マッピング手段に入力される複数の画像データから1つの画像データを該画像マッピング手段で使用する画像データとして選択する
請求項1に記載の画像処理装置。
【請求項7】
上記画像選択手段で選択される画像データを操作者の操作により切り替える画像選択操作手段をさらに備える
請求項1に記載の画像処理装置。
【請求項8】
複数の入力画像データから1つの画像データを選択する画像選択ステップと、
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成ステップと、
上記画像生成ステップが描画するコンピュータグラフィクスのオブジェクトまたは該オブジェクトの部分をテクスチャマッピング対象とし、該テクスチャマッピング対象の表面に、上記画像選択ステップで選択された画像データによる画像をテクスチャマッピングする画像マッピングステップと、
上記コンピュータグラフィクス記述データ中の上記テクスチャマッピング対象に付与された属性に応じて、上記画像選択ステップで選択される画像データを制御する画像選択制御ステップと
を備える画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図3】
image rotate

【図14】
image rotate

【図15】
image rotate

【図22】
image rotate


【公開番号】特開2011−22727(P2011−22727A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−166172(P2009−166172)
【出願日】平成21年7月14日(2009.7.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】