説明

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

【課題】動画像のテクスチャマッピング結果を操作者が望むようにする。
【解決手段】座標設定手段180は、操作者によるテクスチャ座標の変更操作(ズーム指定操作、シフト指定操作、回転角度指定操作など)を受け付け、この変更操作の内容を記憶する。画像マッピング手段150は、オブジェクトの表面に入力画像をテクスチャマッピングする際に、座標設定手段180で記憶された変更操作内容に基づいて変更が施されたテクスチャ座標によりテクスチャマッピングを行う。テクスチャ画像の変更処理は、座標設定手段180あるいは画像マッピング手段150が行う。入力画像のテクスチャマッピング結果、例えばズーム状態、回転角度状態などを操作者が望むようにできる。

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

【0036】
図1に戻って、マトリクススイッチ160は、複数の入力画像データから一つの画像データを選択的に取り出す画像選択手段を構成している。このマトリクススイッチ160は、9本の入力ラインと、4本の出力バスライン161〜164と、クロスポイントスイッチ群165〜168とにより構成されている。
【0037】
9本の入力ラインは図で一方向に配列されており、それぞれにはVTR、ビデオカメラ等から画像データが入力される。4本の出力バスライン161〜164は、入力ラインと交差して他方向に配列されている。クロスポイントスイッチ群165は、9本の入力ラインと出力バスライン161とが交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群165が制御され、9本の入力ラインに入力された画像データのいずれかが出力バスライン161に選択的に出力される。この出力バスライン161は、テクスチャマッピング用の画像データLの出力ラインを構成する。
【0038】
また、クロスポイントスイッチ群166,167,168は、それぞれ、9本の入力ラインと出力バスライン162,163,164とが交差する各クロスポイントでそれぞれの接続を行う。ユーザの画像選択操作に基づいて、このクロスポイントスイッチ群166,167,168が制御され、9本の入力ラインに入力された画像データのいずれかが出力バスライン162,163,164に選択的に出力される。この出力バスライン162,163,164は、外部出力用の画像データOUT1,OUT2,OUT3の出力ラインを構成する。
【0039】
なお、クロスポイントスイッチ群165〜168の各クロスポイントスイッチのオンオフ動作は、フレームデータの連続からなる画像データを切り替えるものであることから、フレームの切れ目である垂直ブランキング区間内に行われる。
【0040】
画像選択操作手段170は、上述のマトリクススイッチ160への指示の操作入力を受ける。この画像選択操作手段170は、各出力バスラインにそれぞれ対応した押しボタン列からなり、各ボタンが各入力ラインに対応した構成とされている。
【0041】
図3は、画像選択操作手段170を構成するコントロールパネル170Aの外観の一例を示している。このコントロールパネル170Aには、出力バスライン161〜164にそれぞれ対応した左右方向に延びる押しボタン列171〜174が上下方向に並ぶように設けられている。各押しボタン列は、入力ラインのそれぞれと対応する出力バスラインとの接続を選択する択一式の押しボタンにより構成されており、選択された押しボタンは点灯する。
【0042】
コントロールパネル170Aの上部には文字表示部175が設けられており、各入力ラインへの入力画像を識別するための文字が表示されている。また、コントロールパネル170Aの左部には文字表示部176が設けられており、各押しボタン列が対応する出力バスラインに取り出される画像データを識別するための文字が表示されている。
【0043】
図1に戻って、画像生成手段140は、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像を生成する。この画像生成手段140は、時間をかけたレンダリング処理ではなく、アニメーションフレームの実時間で画像を生成する。
【0044】
画像生成手段140は、CG記述データを読み込むと、各定義などの情報をメモリ上に保持し、それらの対応付けもデータ構造として保持する。また、画像生成手段140は、アニメーションを実行するためのキーフレームにおける各種値もメモリ上に保持する。
【0045】
例えば、あるノードの幾何学情報にあるポリゴン集合を描画するには、その幾何学情報と、対応付けられているマテリアル定義を参照して、その色などの指定に従って描画する。アニメーションの場合は、現在時刻を毎フレーム進行させ、現在時刻から、前後のキーフレームにおける各値を補間して各値を決定し、描画を行う。
【0046】
この画像生成手段140には、表面指定手段120から、入力画像をテクスチャマッピングするオブジェクトの指定情報が送られてくる。画像生成手段140は、その指定情報が示すオブジェクの表面に、入力画像をテクスチャマッピングするように、画像マッピング手段150を制御する。
【0047】
画像マッピング手段150は、画像生成手段140が描画するCGのうち、表面指定手段120で指定されるテクスチャマッピング対象の表面に、入力画像をテクスチャマッピングする。この画像マッピング手段150は、実装上は、上述の画像生成手段140と一体化されている。この画像マッピング手段150は、CPU(Central Processing Unit)上のソフトウェアによる制御と、GPU(GraphicsProcessing Unit)等のハードウェアによる動作によって実現される。制御ソフトウェアは、テクスチャマッピングするポリゴン集合を指定してハードウェアに指示する。
【0048】
[画像生成手段および画像マッピング手段の構成例]
図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を有している。なお、「イーサネット」は登録商標である。
【0049】
画像入出力部141は、テクスチャマッピングをするための画像データを入力し、また、画像データによる画像が適宜テクスチャマッピングされたCG画像の画像データを出力する。この画像入出力部141は、最大で4系統の画像データを入力でき、また、最大で4系統の画像データを出力できる。なお、ここで取り扱われる画像データは、例えば、SMPTE292Mで規定されているHD-SDI(High Definition television-SerialDigital Interface)規格の画像データである。GPU142およびメインメモリ145は、同等に、画像入出力部141にアクセス可能とされている。
【0050】
メインメモリ145は、CPU144のワークエリアとして機能すると共に、画像入出力部141から入力される画像データを一時的に記憶する。CPU144は、画像生成手段140および画像マッピング手段150の全体を制御する。このCPU144には、周辺デバイス制御部146が接続されている。この周辺デバイス制御部146は、CPU144と周辺デバイスとの間のインタフェース処理を行う。
【0051】
CPU144には、周辺デバイス制御部146を介して、内蔵のハードディスクドライブ147が接続されている。また、CPU144には、周辺デバイス制御部146、イーサネット回路148aを介して、ネットワーク端子148bが接続されている。また、CPU144には、周辺デバイス制御部146を介して、USB端子149が接続されている。さらに、CPU144には、周辺デバイス制御部146を介して、SDRAM151が接続されている。
【0052】
CPU144は、テクスチャ座標の制御を行う。すなわち、このCPU144は、入力画像データに対して、それによる画像をGPU142が描画するポリゴンの表面にテクスチャマッピングをするための処理を行う。GPU142は、ハードディスクドライブ147等に保持されているCG記述データに基づいてCG画像を生成し、また、必要に応じて、指定されたポリゴンの表面に、入力画像をテクスチャマッピングする。ローカルメモリ143は、GPU142のワークエリアとして機能すると共に、GPU142で作成されたCG画像の画像データを一時的に記憶する。
【0053】
CPU144は、メインメモリ145にアクセスできる他、ローカルメモリ143にもアクセス可能とされている。同様に、GPU142は、ローカルメモリ143にアクセスできると共に、メインメモリ145にもアクセス可能とされている。GPU142により生成されてローカルメモリ143に一次的に記憶されたCG画像データは、このローカルメモリ143から順次読み出され、画像入出力部141から出力される。
【0054】
図5は、上述した画像生成手段140および画像マッピング手段150の機能ブロックの構成例を示している。この画像生成手段140および画像マッピング手段150は、画像入力部152、テクスチャ画像記憶部153、CG制御部154、CG描画部155、テクスチャ座標制御部156、フレームバッファ157および画像出力部158の機能ブロックを有している。
【0055】
画像入力部152および画像出力部158は、画像入出力部141により構成されている。また、テクスチャ画像記憶部153は、メインメモリ145により構成されている。また、CG制御部154およびテクスチャ座標制御部156は、CPU144により構成されている。また、CG描画部155は、GPU142により構成されている。また、フレームバッファ157は、ローカルメモリ143により構成されている。
【0056】
画像入力部152とテクスチャ画像記憶部153は対で、これらを増やすことで、画像入力の系統を増やすことができる。また、フレームバッファ157と画像出力部158は対で、これらを増やすことで、画像出力の系統を増やすことができる。
【0057】
ここで、図6を参照して、テクスチャマッピングの原理を示している。テクスチャマッピングする画像(動画像でもよい)に、U,V座標(テクスチャ座標)の値それぞれ0から1を、図6(a)のように対応させる。図6(b)は、二個の直角三角形のポリゴンを合わせた長方形に、各頂点に図示のU,V座標の値を設定して、テクスチャマッピングした画像である。この場合、縦に縮んだ画像となる。図6(c)は、それを回転させた場合であり、ポリゴンを回転させても、画像はそれに付いてくる。
【0058】
図1に戻って、表面指定手段120は、上述したように、入力画像をテクスチャマッピングするテクスチャマッピング対象を指定する。そして、表面指定手段120は、ネットワーク130を介して、その指定情報を画像生成手段140に送る。この表面指定手段120は、例えば、GUI(Graphical User Interface)で実現される。
【0059】
表面指定手段120は、例えば、CG記述データ中のオブジェクトに付与されている所定の属性の値(名称)を選択肢として表示し、操作者に選択させることで、テクスチャマッピング対象であるオブジェクトを選択させる。表面指定手段120は、選択された属性の値を、テクスチャマッピングするオブジェクトの指定情報として画像生成手段140に送る。ここで、所定の属性は、マテリアル定義またはマテリアル定義が持つ表面情報等とされる。
【0060】
座標設定手段180は、テクスチャ座標の変更操作を受け、この変更操作の内容を記憶する。この座標設定手段180は、実装上は、上述の画像生成手段140と一体化されている。画像マッピング手段150は、テクスチャマッピング対象であるオブジェクトの表面に入力画像をテクスチャマッピングする際に、座標設定手段180で記憶された変更操作内容に基づいて変更が施されたテクスチャ座標によりテクスチャマッピングを行う。
【0061】
操作者は、座標設定手段180に対して、テクスチャマッピング画像(入力画像)をどのように変更するかを指定する指定入力を行う。操作者は、この指定入力を、テクスチャマッピング対象のオブジェクトが特定された状態で行う。座標設定手段180は、この指定入力を変更操作内容として記憶する。
【0062】
操作者は、例えば、この指定入力を、CG制作時に行うことができる。その場合、CGデザイナ(CG制作時び操作者)は、入力画像をテクスチャマッピングする場合と、そうでない場合の両方を意識してCG制作を行うことになる。また、操作者は、例えば、この指定入力を、画像生成手段140がCG制作手段110からCG記述データを受け取った後の運用時に行うことができる。その場合、運用時の操作者が、入力画像のテクスチャマッピングをどのように行うか、決めることになる。いずれにしても、座標設定手段180は、指定入力を、対応するCG記述データと対にして記憶する。
【0063】
[指定入力とテクスチャ座標の変更の例]
指定入力とテクスチャ座標の変更の例について説明する。
(A)ズーム指定
座標設定手段180が、オブジェクトの表面にテクスチャマッピングされる入力画像のズーム指定を受け、このズーム指定の内容を記憶する場合について説明する。
【0064】
テクスチャ座標はU,Vともに0から1の間であり、この区間をフルに物体表面にマッピングすることで、画像のx,yの全領域を表示することになる。これに対して、画像を拡大したい場合は、U,Vのより小さな区間、例えば0.3から0.7を物体表面にマッピングすれば、結果として画像が拡大されることになる。
【0065】
この場合、ポリゴンの各頂点の、元のU,Vの値をu1,v1とすると、新しいU,Vの値u2,v2は、以下の(1)式、(2)式により求められる。
u2=0.4×u1+0.3 ・・・(1)
v2=0.4×v1+0.3 ・・・(2)
【0066】
座標設定手段180は、ズーム値として、区間[0.3,0.7]の値の操作入力を受ける。画像マッピング手段150はそれに応じた上述の(1)式、(2)式により、CG記述データの当該オブジェクト表面のポリゴンのU,V値を変換してから、テクスチャマッピングを行う。
【0067】
例えば、図7は、テクスチャ座標の変換前と変換後における画像マッピング状態を示している。図7(a)は、テクスチャ画像の変換がないときに、二個の直角三角形のポリゴンを合わせた長方形にテクスチャマッピングした画像を示している。これに対して、テクスチャ画像の変換後には、図7(b)の画枠内の画像のみがマッピングされ、ズーム状態となる。
【0068】
区間を[a,b]として、(1)式、(2)式を一般式にすると、(3)式、(4)式のようになる。
u2=(b−a)×u1+a ・・・(3)
v2=(b−a)×v1+a ・・・(4)
【0069】
区間を[−1,2]のような、[0,1]より大きな範囲にすると、画像としては縮小されることになる。[0,1]を超える値に対しては、テクスチャマッピングの動作として、表示なし、あるいは繰り返し表示の、いずれかを選択指定できる。この繰り返し表示では、[1,2]などの区間も、[0,1]と同じとして扱われる。
【0070】
図8は、[0,1]を超える値に対する画像マッピング状態例を示している。図8(a)は、表示なしが選択指定されている場合を示しており、[0,1]を超える値に対しては何も表示されない。図8(b)は、繰り返し表示が選択されている場合を示しており、[0,1]を超える値に対しては繰り返し表示が行われる。
【0071】
このように、操作者は、表示区間[a,b]を指定することで、CGオブジェクトの表面にテクスチャマッピングされる画像を、拡大または縮小することができる。
【0072】
(B)シフト指定
座標設定手段180が、オブジェクトの表面にテクスチャマッピングされる入力画像のシフト指定を受け、このシフト指定の内容を記憶する場合について説明する。
【0073】
テクスチャ座標はU,Vともに0から1の間であり、この区間をフルに物体表面にマッピングすることで、画像のx,yの全領域を表示することになる。これに対して、画像を水平方向にシフトしたい場合は、Uの例えば0.3以上を物体表面にマッピングすれば、結果として画像が左側に0.3だけシフトされることになる。
【0074】
この場合、ポリゴンの各点の、元のUの値をu1とすると、新しいUの値u2は、以下の(5)式により求められる。
u2=u1+0.3 ・・・(5)
【0075】
座標設定手段180は、水平方向のシフト値として、[0.3]の値の操作入力を受ける。画像マッピング手段150はそれに応じた上述の(5)式により、CG記述データの当該オブジェクト表面のポリゴンのU値を変換してから、テクスチャマッピングを行う。
【0076】
水平方向のシフト値を[c]として、(5)式を一般式にすると、(6)式のようになる。
u2=u1+c ・・・(6)
【0077】
また、画像を垂直方向にシフトしたい場合は、Vの例えば0.3以上を物体表面にマッピングすれば、結果として画像が下側に0.3だけシフトされることになる。この場合、ポリゴンの各点の、元のVの値をv1とすると、新しいUの値v2は、以下の(7)式により求められる。
v2=v1+0.3 ・・・(7)
【0078】
座標設定手段180は、垂直方向のシフト値として、[0.3]の値の操作入力を受ける。画像マッピング手段150はそれに応じた上述の(7)式により、CG記述データの当該オブジェクト表面のポリゴンのV値を変換してから、テクスチャマッピングを行う。
【0079】
垂直方向のシフト値を[c]として、(7)式を一般式にすると、(8)式のようになる。
v2=v1+c ・・・(8)
【0080】
この場合、[0,1]を超える値に対しては「繰り返し表示」を指定するのが通常である。すなわち、c=0.5の場合、u1=0.8の点に対しては、u2=0.8+0.5=1.3となるが、これは0.3として処理される。図9は、[0,1]を超える値に対する画像マッピング状態例を示している。この場合、u2=u1+0.5、v2=v1であり、水平方向に0.5だけシフトされる例である。
【0081】
このように、操作者は、Uのシフト値[c]を指定することで、CGオブジェクトの表面にテクスチャマッピングされる画像を水平方向にシフトできる。また、操作者は、Vのシフト値[c]を指定することで、CGオブジェクトの表面にテクスチャマッピングされる画像を垂直方向にシフトできる。なお、このシフト指定を、上述のズーム指定と併せて適用することも可能である。
【0082】
(C)回転角度指定
座標設定手段180が、オブジェクトの表面にテクスチャマッピングされる入力画像の回転角度の指定を受け、この回転角度の指定内容を記憶する場合について説明する。
【0083】
出力するCG画像中のオブジェクト(ポリゴンメッシュ)は、回転した状態で配置される場合がある。テクスチャマッピングされた画像は回転についてくるため、図6(c)、あるいは図10(a)に示すように、傾いて表示される結果となる。
【0084】
テクスチャマッピングされた画像を所定の回転角度、例えば正立するように配置するには、オブジェクトの配置はそのままに、テクスチャ画像を回転させる必要がある。テクスチャマッピング結果の貼り付け画像を角度θだけ回転させるには、テクスチャ座標のU,Vの値を、−θだけ回転させればよい。例えば、図10(b)に示すように、テクスチャ空間の(0.5,0.5)を中心として、−θだけ回転させる。因みに、テクスチャ座標のどこを中心としても回転は可能だが、通常の画像は元の画像画面の真中を回転中心とするのが、画像の中心がずれず、妥当な方法である。
【0085】
この場合、ポリゴンの各点の、元のU,Vの値をu1,v1とすると、新しいU,Vの値u2,v2は、以下の(9)式の行列演算により求められる。
【数1】

【0086】
座標設定手段180は、所定のCGオブジェクトの表面にテクスチャマッピングされる画像の回転角度、例えば正立を指定する操作入力を受ける。画像マッピング手段150は、上述の回転角度の指定入力に基づき、テクスチャ座標と画面の座標から傾き(−θ)を求め、上述の(9)式により、CG記述データの当該オブジェクト表面のポリゴンのU,V値を変換してから、テクスチャマッピングを行う。なお、傾き(−θ)を求めるために、上述の操作入力において、所定のCGオブジェクトを構成するポリゴン三角形が指定される。この操作入力においてCG画像の一点をポインティングデバイスにより指示する方法を設ければ、容易な操作が可能となる。
【0087】
テクスチャ座標と画面の座標から傾き(−θ)を求める原理を説明する。
図11(a)は、入力画像がテクスチャマッピングされるポリゴン三角形を示している。
この図において、(x1,y1)、(x2,y2)、(x3,y3)はポリゴン三角形の頂点座標を示し、また、(u1,v1)、(u2,v2)、(u3,v3)は各頂点座標に対応したテクスチャ座標を示している。
【0088】
各頂点のうち、例えば、vの値が最大となる頂点に着目する。ここでは、v3>v1、v3>v2であるとして、頂点座標が(x3,y3)である頂点に着目する。なお、vの値が最大となる頂点が2個あるときは、vの値が最小となる頂点に着目すればよい。
【0089】
(x3,y3)に対する辺の延長直線上に、uの値がu3となる点がある。図において、この点の座標を(x4,y4)で示しており、対応するテクスチャ座標を(u3,v4)としている。なお、図では、この点が辺上にあるように示しているが、この点は辺上にあるとは限らない。
【0090】
上述の座標(x4,y4)の点と、座標(x3,y3)の点とを結ぶ線が、テクスチャ座標の垂線である。一方、xy座標系での垂線は、座標(x4,y4)の点と、座標(x5,y5)の点とを結ぶ線である。座標(x5,y5)に対するテクスチャ座標(u5,v5)は、頂点間比率をuvに適用すれば得られる。
【0091】
これらのuv座標値をテクスチャ座標(空間)で見ると、図11(b)に示すようになる。ポリゴンで垂線となる方向にテクスチャ座標の垂線が一致するようにするには、図から明らかなように、−θだけ、テクスチャ画像を回転させればよい。このようにして、指定されたポリゴン三角形の頂点座標とuv座標値(テクスチャ座標)から、テクスチャ画像を画面の垂直と一致させるための傾き(−θ)が得られる。なお、テクスチャ座標には、剪断変形が加わることがあるため、垂直を一致させるための傾きと、水平を一致させる傾きとは、必ずしも一致しない。
【0092】
このように、操作者は、所定のCGオブジェクトの表面にテクスチャマッピングされる画像の回転角度を指定することで、この所定のCGオブジェクトの表面にテクスチャマッピングされる画像の回転角度を所望の回転角度、例えば正立にすることができる。なお、この回転角度指定を、上述のズーム指定、シフト指定と併せて適用することも可能である。一般表現すると、アフィン変換を設定する、と言える。
【0093】
次に、CGアニメーションについて説明する。このアニメーションの場合には、上述したように入力画像がテクスチャマッピングされるオブジェクトの態様は時間経過と共に変化していく。この場合、座標設定手段180が受ける回転角度の指定は、アニメーション中の所定フレームにおけるオブジェクトの表面にテクスチャマッピングされる入力画像の回転角度の指定となる。
【0094】
CGアニメーションは、タイムライン上の複数の時刻(フレーム)に対して、CG(仮想三次元空間)の状態を規定して作成される。各時刻(フレーム)は、キーフレーム(KF)と呼ばれる。キーフレームとキーフレームとの間の時刻(フレーム)では、前後のキーフレームで異なるパラメータが補間されてCGの状態が決められる。
【0095】
CGアニメーションでは、ポイントとなるような、オブジェクトの配置状況は、キーフレームにおいて規定されることが多い。これは、補間の途中を所望の状態にするのは、制作が難しいためである。そのため、CGアニメーションに対して、座標設定手段180から入力を行う場合には、ポイントになるKFにおいて、操作入力することで、望む画像を得ることができる。
【0096】
例えば、図12(a)〜(d)のアニメーションで、図示した時刻f1,f2,f3,f4がキーフレームであるとする。そのうち、時刻f2において、テクスチャマッピングする画像をy軸(V座標方向)が垂直方向を向いた、正立の状態にしたいとする。図12(b)が、丁度それを意味する。
【0097】
操作者は、時刻f2のキーフレームを選択し、その状態で正立する様にテクスチャ座標を設定するように指定すればよい。そのために、この実施の形態においては、次の様に動作する。
【0098】
図13は、座標設定手段180の機能の概念的ブロック構成の一例を示している。すなわち、座標設定手段180は、テクスチャ座標決定手段180aおよびテクスチャ座標回転手段180bを有している。テクスチャ座標決定手段180aは、操作者からテクスチャ座標の変更操作を受ける機能である。また、テクスチャ座標回転手段180bは、操作者の指定に従い、テクスチャ座標を変換する機能である。
【0099】
画像マッピング手段150は、操作者が回転角度の指定を入力する場合、テクスチャ画像を回転させてテクスチャマッピングを行う。図13に示すように座標設定手段180がテクスチャ座標回転手段180bを有するときには、テクスチャ座標を回転させる処理は座標設定手段180で行われる。しかし、座標設定手段180が、テクスチャ座標回転手段180bを有せず、テクスチャ座標決定手段180aのみを有する構成も考えられる。その場合、例えば、画像マッピング手段150、あるいはその他の手段が、テクスチャ座標回転手段を備えることになる。
【0100】
図14のフローチャートは、図13に示す座標設定手段180の処理手順を示している。
座標設定手段180は、ステップST1において、処理を開始し、その後に、ステップST2の処理に移る。このステップST2において、座標設定手段180は、CG制作手段110で生成されたCG記述データを読み込む。このCG記述データは複数のキーフレーム(KF)を有する。
【0101】
次に、座標設定手段180は、ステップST3において、操作者によるキーフレーム(KF)の選択操作を受ける。アニメーション中の時刻が指定されることになる。そして、座標設定手段180は、ステップST4において、ステップST3で選択されたキーフレームのCG画像を表示する。
【0102】
次に、座標設定手段180は、ステップST3で表示されたキーフレームで操作するか否かを判断する。座標設定手段180は、操作者の、例えば「キーフレーム確定」あるいは「キャンセル」のボタン操作に基づいて、判断する。操作者が「キャンセル」のボタン操作を行うとき、座標設定手段180は、ステップST3に戻る。一方、操作者が「キーフレーム確定」のボタン操作を行うとき、座標設定手段180aは、ステップST6の処理に移る。
【0103】
このステップST6において、座標設定手段180は、表示されているCG画像の複数のポリゴン面の内の一つを選択する操作入力を受ける。一般には、図15に示すように、メッシュの中の多数のポリゴン面から、一つの選択操作を受ける機能となる。なお、操作者はポリゴンの分割を意識する必要はなく、単に面の一点を指定すればよい。
【0104】
次に、座標設定手段180は、ステップST7において、ステップST6で選択された面に対する、テクスチャ画像の回転角度の操作入力を受ける。例えば、V座標の方向が画面上のy座標軸と同じ方向になるように指示される。そして、座標設定手段180は、ステップST8において、ポリゴン面の選択、テクスチャ画像の回転角度等の操作入力に基づいて、傾斜(−θ)を求め、テクスチャ座標を変換する(図10参照)。この場合における、変換対象は、そのポリゴンメッシュに属するすべての頂点のテクスチャ座標である。この結果、ポリゴンメッシュにマッピングされる動画像が一様に回転(等)された状態で表示されるように変わる。
【0105】
次に、座標設定手段180は、ステップST9において、テクスチャ座標の変換結果を表示する。好ましくは、このとき画像生成手段140からこの変換を適用したテクスチャマッピングが施されたCG画像を出力し、その画の様子を操作者に提供し、それによって判断させるとよい。そして、座標設定手段180は、ステップST10において、確定の操作入力があるか否かを判断する。確定の操作入力があるときは、処理を確定し、ステップST11において、処理を終了する。
【0106】
一方、確定の操作入力がないときは、ステップST3の処理に戻り、上述したと同様の処理を繰り返す。テクスチャマッピングされる面が複雑な形状の場合、面のどの点を指定するかによって結果が変わるため、試行錯誤した後に決定できる操作方法を設けることが、効果を発揮する。
【0107】
以上の機能により、アニメーション中の所望のフレームにおいてテクスチャマッピングされる画像が所望の正立等の状態になり、その他のフレームにおいてテクスチャマッピングされる画像はアニメーションにおけるCGの動きに応じてテクスチャマッピングされる面に張り付いているように動いて表示される結果となる。所望のフレームにおける希望の表示状態と、CG画像と一体化した動きとが両立できる。
【0108】
[画像処理装置の動作例]
図1に示す画像処理装置100の動作例を説明する。CG制作手段110では、CG制作ソフトウェアにより、所定のCG画像を生成するためのCG記述データが生成される。このようにCG制作手段110で生成されたCG記述データは、ネットワーク130を介して、画像生成手段140および表面指定手段120に送られる。
【0109】
表面指定手段(GUI)120では、CG記述データ中のオブジェクトに付与されている属性の値(名称)が選択肢とされ、操作者の操作により、入力画像をテクスチャマッピングするテクスチャマッピング対象であるオブジェクトが指定される。この指定情報(属性の値)は、表面指定手段120から画像生成手段140に送られる。
【0110】
マトリクススイッチ160では、画像選択操作手段170の押しボタン列171が操作者により押圧操作されることで、テクスチャマッピング用の画像データLとして、9本の入力ラインに入力された画像データのいずれかが選択的に出力される。このようにマトリクススイッチ160で得られるテクスチャマッピング用の画像データLは、画像マッピング手段150に送られる。
【0111】
画像生成手段140では、CG制作手段110で制作されたCG記述データに基づいて、三次元空間画像であるCG画像が生成される。また、上述したように、この画像生成手段140には、テクスチャマッピング対象であるオブジェクの指定情報が、表面指定手段120から送られてきている。この画像生成手段140により、テクスチャマッピング対象の表面に、入力画像をテクスチャマッピングするように、画像マッピング手段150が制御される。
【0112】
画像マッピング手段150では、画像生成手段140の制御により、テクスチャマッピング対象のオブジェクトの表面に、マトリクススイッチ160で得られる画像データLによる画像がテクスチャマッピングされる。そして、画像生成手段140から導出された出力端子140aには、テクスチャマッピング対象のオブジェクトの表面に画像データLによる画像がテクスチャマッピングされたCG画像の画像データVoutが出力される。
【0113】
また、座標設定手段180では、テクスチャ座標の変更操作が受け付けられ、その変更操作の内容が記憶される。例えば、この変更操作には、オブジェクトにマッピングされるテクスチャ画像のズーム(拡大、縮小)を行うためのズーム指定操作がある。また、例えば、この変更操作には、オブジェクトにマッピングされるテクスチャ画像のシフト(垂直、水平)を行うためのシフト指定操作がある。また、例えば、この変更操作には、オブジェクトにマッピングされるテクスチャ画像の回転を行うための回転角度指定操作がある。
【0114】
このように、座標設定手段180でテクスチャ座標の変更操作が受け付けられているとき、画像マッピング手段150では、変更操作内容に基づいて変更が施されたテクスチャ座標により、入力画像(テクスチャ画像)のテクスチャマッピングが行われる。テクスチャ座標の変更は、例えば、座標設定手段180あるいは画像マッピング手段150により行われる。
【0115】
例えば、ズーム指定操作があった場合、オブジェクトの表面にテクスチャマッピングされるテクスチャ画像(入力画像)が指定されたズーム状態となるように変更が施されたテクスチャ座標によりテクスチャマッピングが行われる。そのため、オブジェクトの表面にテクスチャマッピングされる入力画像は、指定されたズーム状態となる。
【0116】
また、例えば、シフト指定操作があった場合、オブジェクトの表面にテクスチャマッピングされるテクスチャ画像(入力画像)が指定されたシフト状態となるように変更が施されたテクスチャ座標によりテクスチャマッピングが行われる。そのため、オブジェクトの表面にテクスチャマッピングされる入力画像は、指定されたシフト状態となる。
【0117】
また、例えば、回転角度指定操作があった場合、オブジェクトの表面にテクスチャマッピングされるテクスチャ画像(入力画像)が指定された回転角度となるように変更が施されたテクスチャ座標によりテクスチャマッピングが行われる。そのため、オブジェクトの表面にテクスチャマッピングされる入力画像は、例えば、図16(a),(b)に示すように、指定された回転角度、例えば正立した状態となる。
【0118】
図1に示す画像処理装置100において、座標設定手段180では、操作者によるテクスチャ座標の変更操作(ズーム指定操作、シフト指定操作、回転角度指定操作など)が受け付けられ、この変更操作の内容が記憶される。また、画像マッピング手段150では、オブジェクトの表面に入力画像をテクスチャマッピングする際に、座標設定手段180で記憶された変更操作内容に基づいて変更が施されたテクスチャ座標によりテクスチャマッピングが行われる。したがって、入力画像のテクスチャマッピング結果を操作者が望むようにできる。
【0119】
また、CG制作時に静止画をテクスチャマッピングしたCGと、運用時に入力画像(動画像)をテクスチャマッピングしたCGの両方を使用でき、かつ、入力画像をテクスチャマッピングする場合のみテクスチャ座標を変更することで、一つのCG制作で複数の成果が得られ、効率が向上する。例えば静止画をテクスチャマッピングする場合はCGオブジェクトの表面を表現するために使用でき、入力画像をテクスチャマッピングする場合は動画像をCGで修飾するような意図で使用できる。
【0120】
<2.変形例>
なお、上述の図1に示す画像処理装置100では、座標設定手段180は、画像生成手段140と一体的に形成されている。また、CG制作手段110で生成されたCG記述データはネットワーク130を介して画像生成手段140に送られてきて、この画像生成手段140内に保持されている。
【0121】
図17は、図1に示した画像処理装置100を変形した画像処理装置100Aを示している。この図16において、図1と対応する部分には同一符号を付し、その詳細説明は省略する。
【0122】
この画像処理装置100Aにおいては、座標設定手段180は、画像生成手段140とは別に設けられ、ネットワーク130を介して画像生成手段140に接続されている。また、この画像処理装置100Aにおいては、CG制作手段110で生成されたCG記述データを保持するデータ記憶部190がネットワーク130に接続されている。画像生成手段140は、CG画像を生成する際には、このデータ記憶部190からCG記述データを読み出して使用する。
【0123】
なお、詳細説明は省略するが、図17に示す画像処理装置100Aにおけるその他は、図1に示す画像処理装置100と同様に構成されており、同様に動作する。
【0124】
[その他の変形例]
アニメーションにおいて、キーフレーム以外のアニメーション中の時刻の指定を受け、その時刻のCG画像を出力しつつ、上述の例と同様に座標設定手段を機能させて、テクスチャ座標の変更操作を記憶し、画像マッピング手段150に使用させることも可能である。
【0125】
上述の例ではテクスチャ座標の変更を対応するCG記述データと対にして一つ記憶していたが、座標設定手段で複数の記憶を持つようにし、それらの一つを操作者が選んで画像マッピング手段150に使用させるようにしてもよい。
【0126】
さらに、クロスポイントスイッチ群165で選択される入力ラインのそれぞれに応じて座標設定手段に記憶領域を設け、クロスポイントスイッチ群165で選択される入力ライン(の番号)に応じて前記記憶領域から読み出して画像マッピング手段150に使用させるようにしてもよい。
【0127】
また、複数の画像マッピング手段を備える場合には、それぞれに対応して座標設定手段の記憶領域を設ければよい。あるいは、上述のようにそれぞれに画像を供給するクロスポイントスイッチ群で選択される入力ラインに応じた記憶領域を用いて画像マッピング手段に使用させてもよい。
【産業上の利用可能性】
【0128】
この発明は、作成したCGを生放送の運用等で使う場合に、動画像のテクスチャマッピング結果を操作者が望むようにでき、放送システムにおける特殊効果装置等に適用できる。
【符号の説明】
【0129】
100,100A・・・画像処理装置、110・・・CG制作手段、120・・・表面指定手段、130・・・ネットワーク、140・・・画像生成手段、141・・・画像入出力部、142・・・GPU、143・・・ローカルメモリ、144・・・CPU、145・・・メインメモリ、146・・・周辺デバイス制御部、147・・・HDD、148a・・・イーサネット回路、148b・・・ネットワーク端子、149・・・USB端子、151・・・SDRAM、150・・・画像マッピング手段、160・・・マトリクススイッチ、161〜164・・・出力バスライン、165〜168・・・クロスポイントスイッチ群、170・・・画像選択操作手段、170A・・・コントロールパネル、171〜174・・・押しボタン列、175,176・・・文字表示部、180・・・座標設定手段、190・・・データ記憶部

【特許請求の範囲】
【請求項1】
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成手段と、
上記画像生成手段が描画するコンピュータグラフィクスのオブジェクトの表面に入力画像をテクスチャマッピングする画像マッピング手段と、
テクスチャ座標の変更操作を受け、該変更操作の内容を記憶する座標設定手段を備え、
上記画像マッピング手段は、上記オブジェクトの表面に入力画像をテクスチャマッピングする際に、上記座標設定手段で記憶された変更操作内容に基づいて変更が施されたテクスチャ座標によりテクスチャマッピングを行う
画像処理装置。
【請求項2】
上記座標設定手段は、上記オブジェクトの表面にテクスチャマッピングされる入力画像の回転角度の指定を受け、該回転角度の指定内容を記憶し、
上記画像マッピング手段は、上記オブジェクトの表面に入力画像をテクスチャマッピングする際に、上記座標設定手段で記憶された指定内容に基づいて上記オブジェクトの表面にテクスチャマッピングされる入力画像が上記指定された回転角度となるように変更が施されたテクスチャ座標によりテクスチャマッピングを行う
請求項1に記載の画像処理装置。
【請求項3】
上記コンピュータグラフィクス記述データはアニメーションを含み、
上記座標設定手段が受ける回転角度の指定は、上記アニメーション中の所定フレームにおける上記オブジェクトの表面にテクスチャマッピングされる入力画像の回転角度の指定である
請求項2に記載の画像処理装置。
【請求項4】
上記座標設定手段は、上記オブジェクトの表面にテクスチャマッピングされる入力画像のズーム指定を受け、該ズーム指定の内容を記憶し、
上記画像マッピング手段は、上記オブジェクトの表面に入力画像をテクスチャマッピングする際に、上記座標設定手段で記憶された指定内容に基づいて上記オブジェクトの表面にテクスチャマッピングされる入力画像が上記指定されたズームの状態となるように変更が施されたテクスチャ座標によりテクスチャマッピングを行う
請求項1に記載の画像処理装置。
【請求項5】
上記座標設定手段は、上記オブジェクトの表面にテクスチャマッピングされる入力画像のシフト指定を受け、該ズーム指定の内容を記憶し、
上記画像マッピング手段は、上記オブジェクトの表面に入力画像をテクスチャマッピングする際に、上記座標設定手段で記憶された指定内容に基づいて上記オブジェクトの表面にテクスチャマッピングされる入力画像が上記指定されたシフトの状態となるように変更が施されたテクスチャ座標によりテクスチャマッピングを行う
請求項1に記載の画像処理装置。
【請求項6】
コンピュータグラフィクス記述データに基づいてコンピュータグラフィクス画像を生成する画像生成ステップと、
上記画像生成ステップで描画されるコンピュータグラフィクスのオブジェクトの表面に入力画像をテクスチャマッピングする画像マッピングステップと、
テクスチャ座標の変更操作を受け、該変更操作の内容を記憶する座標設定ステップを備え、
上記画像マッピングステップでは、上記オブジェクトの表面に入力画像をテクスチャマッピングする際に、上記座標設定ステップで記憶された変更操作内容に基づいて変更が施されたテクスチャ座標によりテクスチャマッピングを行う
画像処理方法。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図17】
image rotate

【図3】
image rotate

【図12】
image rotate

【図16】
image rotate

【図18】
image rotate


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