平林雅英発明品案内
HIR-NET Home
平林雅英紹介
CG作品
オンラインソフト
著書一覧
平林雅英 発明品案内 http://www.hir-net.com/patent/p03/
有償開放特許
特許第3447778号
視点・注視点・画角自動化システム
特許第3447778号『視点・注視点・画角自動化システム』は、コンピューター・グラフィックスにおいて、視点・注視点・画角の自動化を行う発明です。
【発行国】日本国特許庁(JP)
【公報種別】特許公報(B2)
【特許番号】特許第3447778号(P3447778)
【登録日】平成15年7月4日(2003.7.4)
【発行日】平成15年9月16日(2003.9.16)
【発明の名称】視点・注視点・画角自動化システム
【国際特許分類第7版】
G06T 17/40
【FI】
G06T 17/40 A
【請求項の数】13
【全頁数】32
【出願番号】特願平5−255321
【出願日】平成5年9月20日(1993.9.20)
【公開番号】特開平8−106545
【公開日】平成8年4月23日(1996.4.23)
【審査請求日】平成12年9月14日(2000.9.14)
【実施許諾】特許権者において、権利譲渡または実施許諾の用意がある。
【特許権者】
【氏名又は名称】平林 雅英
【発明者】
【氏名】平林 雅英
【審査官】 松尾 俊介
【参考文献】
【文献】特開 昭63−168782(JP,A)
【文献】特開 平2−253378(JP,A)
【文献】特開 平5−113745(JP,A)
【文献】特開 平5−242220(JP,A)
【文献】特開 平5−225312(JP,A)
【調査した分野】(Int.Cl.7,DB名)
G06T 17/40,15/00
【特許請求の範囲】
【請求項1】3次元コンピューター・グラフィックスにおける注視点自動化にあたり、次の(3a)から(3c)の手段からなることを特徴とする注視点自動化システム。
(3a)物体データを記憶しておく手段。
(3b)手段3aで記憶された物体群(物体群は被写体を構成する)を包含する最小の直方体の重心を空間中心位置として決定する手段(ただし、直方体は光軸と平行な辺を持つ)。
(3c)手段3bで決定した空間中心位置を基準に注視点を決定する手段。
【請求項2】空間中心位置を求める手段が、次の(4a)から(4c)の手段からなることを特徴とする請求項1に記載の注視点自動化システム。
(4a)世界座標系の任意点を回転中心(4-13)とし、かつ、光軸(4-7)が世界座標系のxyz軸の何れか1つ(4-4)と平行になる回転(4-15)変換を、物体(4-8a,d)に与える手段。
(4b)手段4aで回転させた物体(4-17a,d)に基づいて、xyz軸のそれぞれにおける物体分布の最大値最小値から物体群(4-17a,d)を囲む直方体(4-19)の重心位置(4-20)を求める手段。
(4c)手段4bで求めた重心位置(4-20)を、手段4aと逆の回転(4-16)をさせ、空間中心位置(4-11)を求める手段。
【請求項3】空間中心位置を基準に注視点を決定する手段が、
空間中心位置を中心とした極座標で指定し、
極座標の半径が、物体群を包含する直方体の外接球の半径の距離を 1 とした無次元量である
ことを特徴とする請求項1〜2の何れか1つに記載の注視点自動化システム。
【請求項4】3次元コンピューター・グラフィックスにおける画像生成システムにおいて、
請求項1〜3の何れか1つの注視点自動化システムを含むことと、
注視点からの相対位置で視点を指定する
ことを特徴とする画像生成システム。
【請求項5】視点からの相対位置が極座標である
ことを特徴とする請求項4に記載の画像生成システム。
【請求項6】3次元コンピューター・グラフィックスにおける画像生成システムにおいて、
請求項1〜3の何れか1つの注視点自動化システムを含むことを特徴とする画像生成システム。
【請求項7】3次元コンピューター・グラフィックスにおける画像生成システムにおいて、
請求項1〜3の何れか1つの注視点自動化システムと、視点自動化システムを含むことを特徴とする画像生成システム。
【請求項8】3次元コンピューター・グラフィックスにおける画像生成システムにおいて、
請求項1〜3の何れか1つの注視点自動化システムと、画角自動化システムを含むことを特徴とする画像生成システム。
【請求項9】被写体占有率を垂直方向と水平方向の別々の計2つ(又は、垂直方向の上下と水平方向の左右別々の計4つ)の内の少なくとも1つを与え、
被写体占有率を与えた方向に関してのみ被写体が与えられた比率で画面を占有するように注視点や視点や画角を決定する手段を含む
ことを特徴とする請求項6〜8に記載の画像生成システム。
【請求項10】被写体と認識する各物体の位置は各物体を囲む直方体の各頂点、又は、
各物体を構成する多角形の各頂点
とすることを特徴とする請求項4〜9の何れか1つに記載の画像生成システム。
【請求項11】物体に被写体属性を付ける手段と、
被写体属性が付いた物体だけ被写体を構成する物体として認識する手段
を含むことを特徴とする請求項4〜10の何れか1つに記載の画像生成システム。
【請求項12】画像としては現れないが被写体として認識される、被写体範囲属性を物体に付ける手段と、
被写体範囲属性を処理する手段
を含むことを特徴とする請求項4〜11の何れか1つに記載の画像生成システム。
【請求項13】位置のみで大きさを持たず、画像としては現れないが被写体として認識される物体を処理する手段
を含むことを特徴とする請求項4〜12の何れか1つに記載の画像生成システム。
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は 3次元コンピューター・グラフィックス(computer graphics;以下、CG と略す)における視点、注視点および画角の自動化に関する。
【図2】 |
|
《《《 目 次 》》》
従来の技術 .................... 0002
発明が解決しようとする課題 .... 0008
課題を解決するための手段 ...... 0010
作用 .......................... 0043
実施例 ........................ 0071
発明の効果 .................... 0111
【0002】
【従来の技術】
図2a に示すように、CG では視点(0-5)、注視点(0-6)を指定して、画像生成を行う。これは写真において、カメラ位置と被写体位置が存在するのと同様である。写真ではカメラを構えた位置が視点として必然的に決まり、カメラを向けた被写体の位置が注視点として決まる。
CG は仮想の空間であるため、このような必然性はない。しかし、視点と注視点が未定では画像生成が出来ないため、CGシステムは初期状態において、視点と注視点を特定の値にしている。
例えば注視点を世界座標系原点、視点を そこから一定の距離だけ離れた位置に設定してある。CGシステムのユーザーは この初期状態では満足できる画像を生成できないので、視点や注視点を変更して、画像生成を行うことになる。また、画角を変更することもある。
【図4】 |
|
【0003】
なお、「視点」とは CG用語であり、現実のカメラではレンズの光学的中心である主点(principle point)をいう。また、「光軸」(optic axis)(0-7)とは写真用語であり、CG では視点(0-5)と注視点(0-6)を結ぶ直線である。
「光軸」を「視軸」「視線」(visual ray, line of sight)、「視点」(view point, visual point, point of eye, point of sight)を「カメラ位置」(point of camera)、「注視点」(point of target, looking there)を「参照視点」「注目点」「目標点」「参照点」(reference point)、「極座標」を「球座標」としている論文があるが、本明細書では使用しない。
極座標系を図4に示す。図中の r は半径、θは天頂角、φは方位角である。天頂角ではなく仰角を使用する場合があるが、仰角は 90゜-天頂角 であり、本質的な差はない。本明細書では天頂角を用いて解説している。
【0004】
本明細書で使用する角度の単位は度とし、三角関数も度を扱うものとする。Arctan は逆正接の主値とする。
【図3】 |
|
【0005】
本明細書で使用する座標系は原則として右手座標系である。左手座標系(a)と右手座標系(b)の関係を図3に示す。図中で各軸の回転方向を示している。
右手座標系では、右手で親指を各軸の正の方向に伸ばして、軸を握ると握った指の方向が正の回転方向である。つまり、右ネジであり、軸の +方向を目に向けて左廻り(反時計廻り)が正、軸の -方向を目に向けて右廻り(時計廻り)が正である。
左手座標系では、左手で親指を各軸の正の方向に伸ばして、軸を握ると握った指の方向が正の回転方向である。つまり、左ネジであり、軸の +方向を目に向けて右廻り(時計廻り)が正、軸の -方向を目に向けて左廻り(反時計廻り)が正である。
【0006】
本明細書の画面の座標系は図2b のとおりである。画面上(0-31)、画面右(0-33)が正であり、画面下(0-32)、画面左(0-34)が負である。光軸(0-7)は画面中心(0-35)を通り、画面中心(0-35)は原点ゼロである。画角は水平画角(0-36), 垂直画角(0-37), 対角画角(0-38)があり、本明細書は これを使い分けている。
視点(0-5)、注視点(0-6)の関係は光軸(0-7)のベクトルを指定するためのものであり、視点と注視点は、視点と光軸ベクトルとして読み変えることが出来る。本明細書は視点と注視点で完結しているが、視点と光軸ベクトルとして読み変えることも出来る。
【0007】
本発明で想定している 3次元CG の画像生成手法(レンダリング方法)は特に制限はない。例えばレイ・トレーシング(ray tracing), Zバッファ, Aバッファ, スキャンライン, ワイヤフレームなどどれでもよい。もっともワイヤフレームに関しては画像生成というより、画像表示, 図形表示というべきものである。従って、本明細書でいう画像生成は画像表示, 図形表示を含むものとする。
【0008】
【発明が解決しようとする課題】
CG では被写体にあたる物体群(0-8a,d)を自分で構築するものであり、そのため注視点はある程度決定しているものである。また、構築した全体を見たいのか、あるいは少し近付いて見たいのかと言った程度は決定しているものである。
より突き詰めて言えば、写真においてカメラと被写体の間の関係は構図のために存在するのであって、つまりは画面と被写体の関係が問題なのである。これは CG においても同様の筈である。
だとしたら画面と被写体の関係を指定することにより、視点, 注視点, 画角は自動化が可能である。もろちん被写体とするもの以外に背景, 前景, 飾りと言った物体が存在するのは写真ならず CG も同様であり、そうしたものを配慮した自動化が必要である。本発明は その実現を目的とするものである。
【0009】
特に問題としなければならないのは飛行機や船などの乗物の CG を作る場合、その進行方向が空いた構図になるように視点や注視点を微妙に調整しなければならないことである。いかに画像生成が速いシステムであっても、こうした微調整作業を何度も行うことは非効率窮まりなく、アーティストやデザイナー側の負担が大変であり、人間が機械に使われるという人間疎外の状況を作るものである。
CG が CG である以上、こうした構図上の自動化は是非とも必要であり、それがなければ CG の意義がない。本発明はその完全自動化の実現を目的とするものである。
【図6】 |
|
【0010】
【課題を解決するための手段】
請求項1〜3の発明は注視点を自動決定するシステムの発明である。
請求項2の発明の原理図を図7、ブロック図を図6に示す。請求項2において、光軸と平行にする軸は世界座標系z軸、空間の任意点は世界座標系原点に取るのが最も適当である。
【図7】 |
|
【0011】
請求項1の発明は、3次元コンピューター・グラフィックスにおける注視点自動化にあたり、次の(3a)から(3c)の手段からなることを特徴とする注視点自動化システムの発明である。
(3a)物体データを記憶しておく手段。
(3b)手段3aで記憶された物体群(物体群は被写体を構成する)を包含する最小の直方体の重心を空間中心位置として決定する手段(ただし、直方体は光軸と平行な辺を持つ)。
(3c)手段3bで決定した空間中心位置を基準に注視点を決定する手段。
【0012】
請求項2の発明は、空間中心位置を求める手段が、次の(4a)から(4c)の手段からなることを特徴とする請求項1に記載の注視点自動化システムの発明である。
(4a)世界座標系の任意点を回転中心(4-13)とし、かつ、光軸(4-7)が世界座標系のxyz軸の何れか1つ(4-4)と平行になる回転(4-15)変換を、物体(4-8a,d)に与える手段。
(4b)手段4aで回転させた物体(4-17a,d)に基づいて、xyz軸のそれぞれにおける物体分布の最大値最小値から物体群(4-17a,d)を囲む直方体(4-19)の重心位置(4-20)を求める手段。
(4c)手段4bで求めた重心位置(4-20)を、手段4aと逆の回転(4-16)をさせ、空間中心位置(4-11)を求める手段。
【0013】
請求項3の発明は、空間中心位置を基準に注視点を決定する手段が、
空間中心位置を中心とした極座標で指定し、
極座標の半径が、物体群を包含する直方体の外接球の半径の距離を 1 とした無次元量である
ことを特徴とする請求項1〜2の何れか1つに記載の注視点自動化システムの発明である。
【図5】 |
|
【0014】
なお、注視点を自動決定するシステムの発明としては、以下の H1〜2 もある。H1 の発明のブロック図を図5に示す。
[H1]3次元コンピューター・グラフィックスにおける注視点自動化にあたり、次の(1a)から(1b)の手段からなることを特徴とする注視点自動化システム。
(1a)記憶装置に格納された、物体群(物体群は被写体を構成する)の位置と形状から空間中心位置を求める手段。
(1b)手段1aで求めた空間中心位置を基準に注視点を決定する手段。
【0015】
[H2]空間中心位置を、物体群を包含する直方体の重心とする
ことを特徴とする H1 に記載の注視点自動化システム。
【図9】 |
|
【0016】
続いて、視点を自動決定するシステムの発明として、以下の H6〜11 がある。
従来技術として、注視点を原点とした極座標(視点半径,視点天頂角,視点方位角)により、視点を指定する画像生成システムがある。図4に極座標系を示す。図中の r は半径、θは天頂角、φは方位角である。
H6 の発明のブロック図を図9に示す。
H7 の発明の原理図を図11に示し、ブロック図を図10に示す。ただし、図11では被写体占有率は 1 を想定している。
H8 の発明のブロック図を図1に示す。
H9〜10 の発明の原理図を図14, 15に示し、ブロック図を図13に示す。ただし、図14では被写体占有率は 1 を想定している。
H11 の発明は視点半径の範囲についての発明である。
【0017】
[H6]注視点を原点とした極座標(視点半径,視点天頂角,視点方位角)により、視点を指定する3次元コンピューター・グラフィックスにおける視点自動化にあたり、次の(6a)から(6e)の手段からなることを特徴とする視点自動化システム。
(6a)物体データを記憶しておく手段。
(6b)視点半径の代わりに生成画面に対する被写体(被写体は物体から構成される)の被写体占有率を入力する手段。
(6c)視点天頂角, 視点方位角, 注視点を入力する手段。
(6d)手段6bで入力された被写体占有率となる視点半径を、手段6aで記憶された物体データから決定する手段。
(6e)手段6dで決定した視点半径と、手段6cで入力された視点天頂角, 視点方位角, 注視点から視点を決定する手段。
【図8】 |
|
【0018】
ここで被写体占有率について図8を使って説明する。被写体占有率は、生成画面における被写体が占有する比率のことである。
被写体は1つ以上の物体から構成される。逆に物体または物体群は被写体を構成する。1つの物体が複数の物体から成り立っているものある。何れにしても本明細書で言っている被写体とは1つ以上の物体から構成されるものをいう。
この図では被写体が1つの物体で成り立っていると考えてもよいし、複数の物体から成り立っていると考えてもよい。例えばメタボールならば、このような物体を作るのは比較的簡単である。
この図では画面の上下と被写体の関係が問題になっている。図では左右については考えないものとする。言い換えれば被写体の縦の長さが問題であり、横は無関係である。
被写体占有率は
(a)1 のとき 100%被写体が占有し画面に空きはない。
(b)0.5 のとき 50% の空きが出来る。
(c)1.5 のとき被写体の 66.6% しか画面に表示されない。
(d)2 のとき被写体の 50% しか画面に表示されない。
被写体占有率が 0 では何も表示されないことになる。一般に被写体占有率は 0 を越える値を取り、値が小さいほど画面の空きが多い。
(a)で「空きがない」という表現を使用したが、この被写体はいびつなので、現実には空きがある(もちろん、左右は考えず、上下だけについてである)。しかし、画面と被写体が接しているところがあれば、これは空きはないと表現する。
これは次のような理由からである。もし人物を被写体占有率1 で写真撮影した場合、おなかだけしか写らないでは意味がない。直立している人物ならば頭と足がぎりぎり画面に入るのを被写体占有率1 とするのが正答である。
以上は以下の発明においても共通の事項である。本明細書ではすべてこの条件で説明しているが、数々の変形が考えられる。例えば値を 100倍し、被写体占有率100% のとき、100%被写体が占有し画面に空きはないようにしてもよい。また、あまり勧められないが(b)と(c)の関係を逆にすることも出来る。
【図10】 |
|
【0019】
[H7]視点半径を決定する手段が、次の(7a)から(7b)の手段からなることを特徴とする H6 に記載の視点自動化システム。
(7a)注視点(7-5t)を原点、光軸(7-7t)をZ軸(7-4t)とし、Z軸と直交するY軸(7-3t)を、画面の縦と平行に取った座標系(7-1t)を考え
d1y=物体のY座標値の絶対値
d2=物体のZ座標値
d3y=d1y/tan(垂直画角/2)/被写体占有率
とし、
【図11】 |
|
注視点を原点、光軸をZ軸とし、Z軸と直交するX軸を、画面の横と平行に取った座標系を考え
d1x=物体のX座標値の絶対値
d2=物体のZ座標値
d3x=d1x/tan(水平画角/2)/被写体占有率
としたとき、
すべての物体(7-8ta,b)の中で
d2+d3y が最大のものを選別し、その最大値を disy とし、
d2+d3x が最大のものを選別し、その最大値を disx とする手段。
(7b)手段7aで求めた disx と disy の大きい方, 小さい方, 平均値の何れか1つを視点半径とする手段。
【0020】
なお、明細書最後の「符号の説明」における「注視点座標系」というのは注視点を原点とし、光軸を Z軸とした座標系のことである。この座標系は手段7a で使用している。また、符号の末尾に t が付いているものは注視点座標系でのものを示し、世界座標系のものと区別している。t は target(目標)の意味である。
注視点座標系と、物体が本来存在する世界座標系とは相対的なものである。図23の実施例では物体を回転させているが、これは注視点座標系で物体を見るのと同じである。
画面の縦とは図2の 0-29、画面の横とは図2の 0-30 のことである。あるいは手段7a の Y軸とは図2の Y軸と、手段7a の X軸とは図2の X軸と平行と解釈してもよい。垂直画角, 水平画角についても図2で説明している。
被写体占有率は請求項9, H23 の発明では、垂直方向と水平方向の別々に与えられる。その場合、被写体占有率を与えなかった方向に関しては disy, disx は計算しない。
【図1】 |
|
【0021】
[H8]注視点を原点とした極座標(視点半径,視点天頂角,視点方位角)により、視点を指定する3次元コンピューター・グラフィックスにおける視点自動化にあたり、次の(8a)から(8g)の手段からなることを特徴とする視点自動化システム。
(8a)物体データを記憶しておく手段。
(8b)視点半径の代わりに生成画面に対する被写体(被写体は物体から構成される)の被写体占有率を入力する手段。
(8c)注視点を入力する手段。
(8d)視点天頂角, 視点方位角を入力する手段。
(8e)手段8bで入力された被写体占有率となる視点半径を、手段8aで記憶された物体データから決定する手段。
(8f)手段8cで入力された注視点を補正する手段。
(8g)手段8eで求めた視点半径と、手段8fで補正した注視点と、手段8dで入力された視点天頂角, 視点方位角から視点を求める手段。
【図13】 |
|
【0022】
[H9]視点半径を決定する手段(8e)と、注視点を補正する手段(8f)が、次の(9a)から(9g)の手段からなることを特徴とする H8 に記載の視点自動化システム。
(9a)注視点(9-5t)を原点、光軸(9-7t)をZ軸(9-4t)とし、Z軸と直交するY軸(9-3t)を、画面の縦と平行に取った座標系(9-1t)を考え
d1y=物体のY座標値の絶対値
d2=物体のZ座標値
ky=tan(垂直画角/2)
d3y=d1y/ky/被写体占有率
とし、
注視点を原点、光軸をZ軸とし、Z軸と直交するX軸を、画面の横と平行に取った座標系を考え
d1x=物体のX座標値の絶対値
d2=物体のZ座標値
kx=tan(水平画角/2)
d3x=d1x/kx/被写体占有率
としたとき、
画面中心より上にあるすべての物体(9-8ta,b,c)について d2+d3y が最大のものを選別し、その最大値を disy1 とし、
画面中心より下にあるすべての物体(9-8td )について d2+d3y が最大のものを選別し、その最大値を disy2 とし、
画面中心より右にあるすべての物体について d2+d3x が最大のものを選別し、その最大値を disx1 とし、
画面中心より左にあるすべての物体について d2+d3x が最大のものを選別し、その最大値を disx2 とし、
すべての物体(9-8ta,b,c,d)について、
物体が画面中心より上にある場合 d2-d3y が最大のものを、下にある場合 d2+d3y が最大のものを、選別し、その最大値を disy3 とし、
物体が画面中心より上にある場合 d2+d3y が最大のものを、下にある場合 d2-d3y が最大のものを、選別し、その最大値を disy4 とし、
物体が画面中心より右にある場合 d2-d3x が最大のものを、左にある場合 d2+d3x が最大なものを、選別し、その最大値を disx3 とし、
物体が画面中心より右にある場合 d2+d3x が最大のものを、左にある場合 d2-d3x が最大なものを、選別し、その最大値を disx4 とする手段。
【図14】 |
|
(9b)手段9aで求めた disy1 と disy2 について
等しい場合は
dy=0
disy=disy1 とし、
disy1>disy2 の場合は
dy=(disy1-disy3)/2・ky
disy=disy1 とし、
disy1<disy2の場合は
dy=-(disy2-disy4)/2・ky
disy=disy2 とし、
disx1とdisx2 について
等しい場合は
dx=0
disx=disx1 とし、
disx1>disx2 の場合は
dx=(disx1-disx3)/2・kx
disx=disx1 とし、
disx1<disx2 の場合は
dx=-(disx2-disx4)/2・kx
disx=disx2 とする手段。
(9c)世界座標系原点を回転中心(9-13)とし、かつ、光軸(9-7)が世界座標系z軸(9-4)と平行になる回転(9-15)変換を、物体(9-8a,b,c,d)に与える手段。
(9d)手段9cで回転させた物体(9-17a,b,c,d)に基づいて、xyz軸のそれぞれにおける物体分布の最大値最小値から物体群(4-17a,b,c,d)を囲む直方体(9-19)の重心位置(9-20)を求める手段。
(9e)手段9dで求めた重心位置(9-20)のy座標値に手段9bで求めた dy、x座標値に手段9bで求めた dx を加算して、重心位置を補正する手段。
(9f)手段9eで補正した重心位置(9-21)を、手段9cと逆の回転(9-16)をさせ、補正した注視点(9-24)を求める手段。
(9g)手段9bで求めた disx と disy の大きい方, 小さい方, 平均値の何れか1つを視点半径とする手段。
【0023】
図14のように、光軸と平行にする軸は世界座標系z軸、空間の任意点は世界座標系原点に取るのが最も適当である。
図14では物体は 9-8ta, 9-8tb, 9-8tc, 9-8td の4つ、図15a では物体は 9-8a, 9-8b, 9-8c, 9-8d の4つ、図15b では 9-17a, 9-17b, 9-17c, 9-17d の4つある。共通して d だけが画面中心より下にある。
【図15】 |
|
本明細書では原則として d は画面中心より下にあるものとする。また、9-8ta,b は 9-8ta, 9-8tb を意味する。
図13のブロック図からわかるとおり、視点半径を決定する手段(8e)と、注視点を補正する手段(8f)は、共通部分 9a, 9b を持っている。
【0024】
[H10]H9 に記載の視点自動化システムであって、手段9bが下記の手段10bであることを特徴とする視点自動化システム。
(10b)手段9aで求めた disy1 と disy2 について
等しい場合は
dy=0
disy=disy1 とし、
disy1>disy2 の場合は
dy=(disy1-disy3)/2・ky
disy=disy1-(disy1-disy3)/2 とし、
disy1<disy2の場合は
dy=-(disy2-disy4)/2・ky
disy=disy2-(disy2-disy4)/2 とし、
disx1とdisx2 について
等しい場合は
disx=disx1
dx=0 とし、
disx1>disx2 の場合は
dx=(disx1-disx3)/2・kx
disx=disx1-(disx1-disx3)/2 とし、
disx1<disx2 の場合は
dx=-(disx2-disx4)/2・kx
disx=disx2-(disx2-disx4)/2 とする手段。
【0025】
[H11]視点半径の範囲を与え、与えられた視点半径の範囲に視点半径を納める手段
を含むことを特徴とする H6〜10 の何れか1つに記載の視点自動化システム。
【0026】
続いて、画角を自動決定するシステムの発明として、以下の H12〜18 がある。
H13 は画角を決定する手段の発明である。H13 の発明の原理図を図18に、ブロック図を図16に示す。
H14 は注視点を補正する手段を含んだ画角自動化システムの発明である。
H15〜16 は画角を決定する手段と、注視点を補正する手段の発明である。H15〜16 の発明の原理図を図19, 20に、ブロック図を図17に示す。
H17 は画角の範囲についての発明である。
【0027】
[H12]3次元コンピューター・グラフィックスにおける画角自動化にあたり、次の(12a)から(12c)の手段からなることを特徴とする画角自動化システム。
(12a)物体データを記憶しておく手段。
(12b)画角の代わりに生成画面に対する被写体の被写体占有率を入力する手段。
(12c)手段12bで入力された被写体占有率となる画角を、手段12aで記憶された物体データから決定する手段。
【図16】 |
|
【0028】
[H13]画角を決定する手段が、次の(13a)から(13b)の手段からなることを特徴とする H12 に記載の画角自動化システム。
(13a)注視点(13-5t)を原点、光軸(13-7t)をZ軸(13-4t)とし、Z軸と直交するY軸(13-3t)を、画面の縦と平行に取った座標系(13-1t)を考え
d=視点のZ座標値
d1y=物体のY座標値の絶対値
d2=物体のZ座標値
d3=d-d2
とし、
【図18】 |
|
注視点を原点、光軸をZ軸とし、Z軸と直交するX軸を、画面の横と平行に取った座標系を考え
d=視点のZ座標値
d1x=物体のX座標値の絶対値
d2=物体のZ座標値
d3=d-d2
としたとき、
すべての物体(13-8ta,b)の中で
2・Arctan(d1y/d3/被写体占有率) が最大のものを選別し、その最大値を θy とし、
2・Arctan(d1x/d3/被写体占有率) が最大のものを選別し、その最大値を θx とする手段。
(13b)手段13aで求めた θx と θy をそれぞれを画像生成システムの画角に変換し、変換後の θx と θy の大きい方, 小さい方, 平均値の何れか1つを画角とする手段。
【0029】
ちなみに
画角=2・Arctan(d1/(d-d2)/被写体占有率)
という式は H7 の式
d=d1/tan(画角/2)/被写体占有率+d2
から
d-d2=d1/tan(画角/2)/被写体占有率
tan(画角/2)=d1/(d-d2)/被写体占有率
画角/2=Arctan(d1/(d-d2)/被写体占有率)
を経て導かれる。
【0030】
[H14]注視点を補正する手段
を含むことを特徴とする H12 又は H13 に記載の画角自動化システム。
【図17】 |
|
【0031】
[H15]画角を決定する手段と、注視点を補正する手段が、次の(15a)から(15d)の手段からなることを特徴とする H14 に記載の画角自動化システム。
(15a)注視点(15-5t)を原点、光軸(15-7t)をZ軸(15-4t)とし、Z軸と直交するY軸(15-3t)を、画面の縦と平行に取った座標系(15-1t)を考え
d=視点のZ座標値
d1y=物体のY座標値の絶対値
d2=物体のZ座標値
d3=d-d2
とし、
注視点を原点、光軸をZ軸とし、Z軸と直交するX軸を、画面の横と平行に取った座標系を考え
d=視点のZ座標値
d1x=物体のX座標値の絶対値
d2=物体のZ座標値
d3=d-d2
としたとき、
画面中心より上にあるすべての物体(15-8ta,b,c)について 2・Arctan(d1y/d3/被写体占有率) が最大のものを選別し、その最大値を θy1 とし、
画面中心より下にあるすべての物体(15-8td )について 2・Arctan(d1y/d3/被写体占有率) が最大のものを選別し、その最大値を θy2 とし、
画面中心より右にあるすべての物体について 2・Arctan(d1x/d3/被写体占有率) が最大のものを選別し、その最大値を θx1 とし、
画面中心より左にあるすべての物体について 2・Arctan(d1x/d3/被写体占有率) が最大のものを選別し、その最大値を θx2 とする手段。
【図19】 |
|
(15b)手段15aで求めた θy1 と θy2 について
等しい場合は
dθy=0
θy=θy1 とし、
θy1>θy2 の場合は
dθy=(θy1-θy2)/4
θy=θy1 とし、
θy1<θy2の場合は
dθy=(θy1-θy2)/4
θy=θy2 とし、
θx1とθx2 について
等しい場合は
dθx=0
θx=θx1 とし、
θx1>θx2 の場合は
dθx=(θx1-θx2)/4
θx=θx1 とし、
θx1<θx2 の場合は
dθx=(θx1-θx2)/4
θx=θx2 とする手段。
(15c)視点を中心とし、画面の縦と平行な軸で手段15bで求めたdθx、横と平行な軸で手段15bで求めたdθyだけ、注視点を回転させて注視点を補正する手段。
(15d)手段15bで求めた θx と θy のそれぞれを画像生成システムの画角に変換し、変換後のθxとθyの大きい方, 小さい方, 平均値の何れか1つを画角とする手段。
【0032】
[H16]H15 に記載の画角自動化システムであって、手段15bが下記の手段16bであることを特徴とする視点自動化システム。
【図20】 |
|
(16b)手段15aで求めた θy1 と θy2 について
等しい場合は
dθy=0
θy=θy1 とし、
θy1>θy2 の場合は
dθy=(θy1-θy2)/4
θy=(θy1+θy2)/2 とし、
θy1<θy2の場合は
dθy=(θy1-θy2)/4
θy=(θy1+θy2)/2 とし、
θx1とθx2 について
等しい場合は
θx=θx1
dθx=0 とし、
θx1>θx2 の場合は
dθx=(θx1-θx2)/4
θx=(θx1+θx2)/2 とし、
θx1<θx2 の場合は
dθx=(θx1-θx2)/4
θx=(θx1+θx2)/2 とする手段。
【0033】
[H17]画角の範囲を与え、与えられた画角の範囲に画角を納める手段
を含むことを特徴とする H12〜16 の何れか1つに記載の画角自動化システム。
【0034】
請求項4〜13は画像生成システムの発明である。
【0035】
請求項4の発明は請求項1〜3の何れか1つの注視点自動化システムを含むことと、注視点からの相対位置で視点を指定することを特徴とする。
請求項5の発明は視点からの相対位置が極座標であることを特徴とする。
【0036】
請求項6の発明は請求項1〜3の何れか1つの注視点自動化システムを含むことを特徴とする。
請求項7の発明は請求項1〜3の何れか1つの注視点自動化システムと、視点自動化システムを含むことを特徴とする。
請求項8の発明は請求項1〜3の何れか1つの注視点自動化システムと、画角自動化システムを含むことを特徴とする。
【0037】
請求項9の発明は被写体占有率についての発明である。被写体占有率を垂直方向と水平方向の別々の計2つ(又は、垂直方向の上下と水平方向の左右別々の計4つ)の内の少なくとも1つを与え、被写体占有率を与えた方向に関してのみ被写体が与えられた比率で画面を占有するように注視点や視点や画角を決定する手段を含むことを特徴とする。被写体占有率を与えない場合、被写体占有率をゼロ以下の値にして識別するとよい。
【0038】
請求項10は物体位置のサンプリングについての発明である。被写体と認識する各物体の位置は各物体を囲む直方体の各頂点、又は、物体を構成する多角形の各頂点とすることを特徴とする。
【0039】
請求項11〜13は被写体認識についての発明である。
【0040】
請求項11の発明は物体に被写体属性を付ける手段と、被写体属性が付いた物体だけ被写体を構成する物体として認識する手段を含むことを特徴とする。
【0041】
請求項12の発明は画像としては現れないが被写体として認識される、被写体範囲属性を物体に付ける手段と、被写体認識属性を処理する手段を含むことを特徴とする。
【0042】
請求項13の発明は位置のみで大きさを持たず、画像としては現れないが被写体として認識される物体を処理する手段を含むことを特徴とする。
なお、画像生成システムの発明として、以下の H18〜27 もある。
[H18]3次元コンピューター・グラフィックスにおける画像生成システムにおいて、
注視点自動化システムを含むことと、
注視点からの相対位置で視点を指定する
ことを特徴とする画像生成システム。
[H19]視点からの相対位置が極座標である
ことを特徴とする H18 に記載の画像生成システム。
[H20]注視点自動化システムが請求項1〜3, H1〜2 の何れか1つである
ことを特徴とする H18〜19 の何れか1つに記載の画像生成システム。
[H21]3次元コンピューター・グラフィックスにおける画像生成システムにおいて、
注視点自動化システム, 視点自動化システム, 画角自動化システムの少なくとも何れか1つを含むことを特徴とする画像生成システム。
[H22]注視点自動化システムが請求項1〜3, H1〜2 の何れか1つ、視点自動化システムが H6〜11 の何れか1つ、画角自動化システムが H12〜15 の何れか1つである
ことを特徴とする H21 に記載の画像生成システム。
[H23]被写体占有率を垂直方向と水平方向の別々の計2つ、又は、
被写体占有率を垂直方向の上下と水平方向の左右別々の計4つ与え、
被写体占有率を与えなかった方向に関しては被写体占有を配慮しない手段を含む
ことを特徴とする H22 に記載の画像生成システム。
[H24]被写体と認識する各物体の位置は各物体を囲む直方体の各頂点、又は、
各物体を構成する多角形の各頂点
とすることを特徴とする H22〜23 の何れか1つに記載の画像生成システム。
[H25]物体に被写体属性を付ける手段と、
被写体属性が付いた物体だけ被写体を構成する物体として認識する手段
を含むことを特徴とする H22〜24 の何れか1つに記載の画像生成システム。
[H26]画像としては現れないが被写体として認識される、被写体範囲属性を物体に付ける手段と、
被写体範囲属性を処理する手段
を含むことを特徴とする H22〜25 の何れか1つに記載の画像生成システム。
[H27]位置のみで大きさを持たず、画像としては現れないが被写体として認識される物体を処理する手段
を含むことを特徴とする H22〜26 の何れか1つに記載の画像生成システム。
【0043】
【作用】
請求項1〜3, H1〜2 の発明の作用。CG は世界座標系原点を中心に物体を構築するのが一般的であり、物体群が単純なうちは注視点に関しては初期状態である世界座標系原点で間に合うこともある。しかし、物体群が複雑になると空間の中心は必ずしも世界座標原点とは限らない。
【0044】
そこで H1 の発明では、物体群の分布から空間中心を求める。また注視点は必ずしも空間中心と一致している需要だけとは限らないので、空間中心を基準に注視点を決定する。
【図27】 |
|
【0045】
H2 の発明では物体群を直方体で近似して空間中心が決定される。
さらに請求項1の発明では光軸に平行な辺を持つことにより、的確な空間中心を求めることが出来る。これについて図27を用いて説明する。
図27には物体(3-8a,b)が2つある。この2つの物体からなる物体群を見る方向として2つの光軸(3-7a,b)があり、この2つの光軸に基づいて物体群を囲む直方体(3-12a,b)、空間中心(3-12a,b)が2つずつある。なお、物体の ab と、光軸, 直方体, 空間中心の ab とは別物で連動はしていない。
3-7b の光軸から見た場合に、空間中心が 3-11a ではまずく、3-11b でなければならないことがわかる。逆に 3-7a の光軸から見た場合に、空間中心が 3-11b ではまずく、3-11a でなければならないことがわかる。
そのため、物体群を囲む直方体(3-12a,b)は光軸(3-7a,b)に平行な辺を持てばよい。これが本発明の主題である。
すべての物体に外接する球から、中心位置を求めるのは一見いいようであるが、物体群の並びが半球状であった場合を考えれば必ずしもベストではないことが分かる。
【0046】
請求項2の発明では、図7a の空間中心(4-11)が求められる。空間中心(4-11)を直接求めるのは困難である。そこで本発明では、手段4a で図7a から図7b の状態にし、手段4b で重心(4-20)を求め、手段4c で図7a の状態に戻すことにより、空間中心(4-11)を求める。
【0047】
請求項3の発明では半径0 で空間中心、半径1 で物体群を包含する直方体の外接球の半径、半径2 で その 2倍の距離を指定できる。距離のベクトルは天頂角と方位角で指定できる。天頂角は 90゜-仰角 である。
【0048】
H6〜11 の発明の作用。視点を自動化する場合、上から見るか斜めから見るか程度は最低限与えなければ自動化の意味はない。
【0049】
そこで H6 の発明では、視点は極座標で指定することにし、視点天頂角と視点方位角は指定するが視点半径は未定で、これは被写体占有率に基づいて自動決定される。
被写体占有率は図8で示すように、画面ぎりぎりに被写体を表示させたいのであれば 1 とすればよい(図8a)。一般には 1未満、例えば 0.5〜0.8程度の値にし、画面に空きを作るのが普通である(図8b)。逆に被写体の一部を拡大したいのであれば 1 を越える値にすればよい(図8c,d)。
被写体からの距離を指定するのではなく、画面と被写体の関係を指定する。これが本発明の主題である。写真においても被写体とカメラの間の距離は構図のために存在するのであって、距離自体が問題なのではなく、画面と被写体の関係が問題なのである。
【0050】
H7 の発明では物体群を被写体として視点半径が決定される。発明の原理図である図11は被写体占有率は 1 を想定している。この図において、物体(7-8tb)は物体(7-8ta)より光軸(7-7t)から離れた距離にあるが、視点から離れた位置にあるので、視点半径を決めるのは物体(7-8ta)の方である。
単に光軸(7-7t)から離れた距離(d1y)が最大である物体(7-8tb)を基準に、視点半径を求めたならば物体(7-8ta)は画面から消えるか、欠けるかしてしまう。基準とするのは、物体を被写体占有率に納める注視点からの距離(disy)が最大となる物体である。これが本発明の主題である。
図では光軸より上つまり画面中心より上にしか、物体を表示していないが、画面中心より下にも物体はあるものである。また、この図では画面の上下についてであるが、画面の左右も同様に考えることが出来る。上下では disy、左右では disx が求められる。
視点半径を disx と disy の大きい方を取ればすべての物体を画面に納めることが出来る。これは図8の状態と同じである。
小さい方を取った場合は画面上下, 画面左右のどちらかが優先される。被写体占有率1 ならば画面枠近辺にある物体は、上下, 左右のどちらかが画面から消えるか欠けるかする。
平均値の場合は、上下左右に関わらず、画面から消えたり欠けたりする物体が出ることになる。しかし、極端な空きがでることはなく、平均化される。
【0051】
H8 の発明では物体群を被写体として視点半径が決定されることに加え、画面のアンバランスな空きを補正できる。画面の空きは注視点が例え空間中心にあったとしても、近くの物体は大きく、遠くの物体は小さく見ることに起因して出来てしまう。
【図12】 |
|
【0052】
H9 の前に H10 の作用を説明する。H10 の発明では注視点の位置の移動、視点半径の短縮という2つの補正によって、画面の空きを除く。
図14で分かるとおり、この2つの補正の組み合わせは、画角の線に沿って視点を移動させることになる。そのため、注視点および視点を移動しても、補正前の視点(9-5t)近くにあった物体が画面から消える(視界から消える)ことはない。
この補正の状況を図12に示す。画面の空きは元々、注視点が例え空間中心にあったとしても、注視点の位置に無理があったためであり、注視点を移動して、バランスを取る必要がある。この補正では被写体占有率が 1 でも画面の空きは残る(図12b)。
これに注視点の短縮という補正が加わると実質的な被写体占有率を得ることが出来る(図12c)。
【0053】
図14において、disy3 は disy2 と同じ長さである。この場合、補正値 dy は
(disy1-disy3)/2・tan(垂直画角/2)
でも
(disy1-disy2)/2・tan(垂直画角/2)
でも同じである。しかし、物体(8-8td)の位置がもっと遠く(物体(8-8td)の Z座標がもっとマイナス方向)にあった場合は、disy3 は disy3' になり、disy3 の基準は物体(8-8td)ではなく物体(8-8tc)になる。もちろん、disy2 は disy3 より小さな値となる。この場合、補正値 dy は
(disy1-disy3)/2・tan(垂直画角/2)
でなければならず
(disy1-disy2)/2・tan(垂直画角/2)
であってはならない。単に disy1 と disy2 から、つまり物体(9-8ta)と物体(9-8td)の情報から、注視点の位置を補正すると、視点近くにある物体(9-8tc)の情報はないのであるから、物体(9-8tc)は画面から消えてしまう。
disy1 は画面中心より上にある物体についての最大値という情報、disy2 は画面中心より下にある物体についての最大値という情報であり、これだけでは、その間にある物体の情報がない。それを埋めるのが disy3 である。これが本発明の主題である。
【0054】
図15は注視点と空間中心が一致している場合を示している。図15a の注視点(9-6)を直接補正して、補正後の注視点(9-24)を求めるのは困難である。そこで本発明では、手段9c で図15a から図15b の状態にし、手段9d で重心(9-20)を求め、手段9e で重心(9-20)を dy で補正(9-21)し、手段9f で図15a の状態に戻すことにより、補正後の注視点(9-24)を求める。
図15b では 9-20 が 9-21 に補正され、9-24 に回転移動している状況を示している。
【0055】
一方、H9 の発明では注視点の位置の移動のみの補正(9-22)で、視点半径の短縮はない。従って、注視点の補正が行われた場合の画面の空きは残ったままである。この2つの発明は必要に応じて使い分けるとよい。
【0056】
H11 の発明では視点半径の範囲を指定できる。視点が極端に遠方、極端に近くになっては困る場合があり、視点の範囲を指定することで、これを解消する。
【0057】
H12〜17 の発明の作用。画角を自動化する場合、視点と注視点は決まっているものである。
【0058】
そこで H12 の発明では、画角の代わりに生成画面に対する被写体の被写体占有率を与えば画角が決定される。
【0059】
H13 の発明では物体群を被写体として画角が決定される。発明の原理図である図18は被写体占有率は 1 を想定している。この図において、物体(13-8tb)は物体(13-8ta)より光軸(13-7t)から離れた距離にあるが、視点から離れた位置にあるので、画角を決めるのは物体(13-8ta)の方である。
単に光軸(13-7t)から離れた距離(d1y)が最大である物体(13-8tb)を基準に、視点半径を求めたならば物体(13-8ta)は画面から消えるか、欠けるかしてしまう。基準とするのは、物体を被写体占有率に納める注視点からの距離(disy)が最大となる物体である。これが本発明の主題である。
図では光軸より上つまり画面中心より上にしか、物体を表示していないが、画面中心より下にも物体はあるものである。また、この図は画面の上下についてであるが、画面の左右も同様に考えることが出来る。上下では θy、左右では θx が求められる。
θx は水平画角/2, θy は垂直画角/2 であり、画像生成システムの画角はまた別のものである。従って、θx とθy を画像生成システムの画角、例えば対角画角に変換する必要がある。
変換後のθx と θy の大きい方を取ればすべての物体を画面に納めることが出来る。
小さい方を取った場合は画面上下, 画面左右のどちらかが優先される。被写体占有率1 ならば画面枠近辺にある物体は、上下, 左右のどちらかが画面から消えるか欠けるかする。
平均値の場合は、上下左右に関わらず、画面から消えたり欠けたりする物体が出ることになる。しかし、極端な空きがでることはなく、平均化される。
【0060】
H14 の発明では物体群を被写体として画角が決定されることに加え、画面のアンバランスな空きを補正できる。画面の空きは近くの物体は大きく、遠くの物体は小さく見ることに起因する。
【0061】
H15 の前に H16 の作用を説明する。H16 の発明では注視点の位置の移動、画角の縮小という2つの補正によって、画面の空きを除く。
【0062】
一方、H15 の発明では注視点の位置の移動のみで、画角の縮小はない。従って、注視点の補正が行われた場合の画面の空きは残ったままである。この2つの発明は必要に応じて使い分けるとよい。
【0063】
H17 の発明では画角の範囲を指定できる。画角が極端に広角、極端に望遠になっては困る場合があり、画角の範囲を指定することで、これを解消する。また、これにより、実際のカメラのズームレンズをシミュレートすることが出来る。
【0064】
請求項4〜5, H18〜20 の発明では注視点を自動化し、注視点からの相対位置で視点を指定できる。請求項5, H19 の発明では相対位置を極座標で指定できる。
【0065】
請求項6の発明では注視点を自動化して画像生成できる。請求項7の発明では注視点と視点を自動化して画像生成できる。請求項8の発明では注視点と画角を自動化して画像生成できる。H21〜22 の発明では注視点, 視点, 画角の少なくとも何れか1つを自動化して画像生成できる。
【図21】 |
|
【0066】
請求項9, H23 の発明では被写体占有率を垂直方向と水平方向の別々、或いは被写体占有率を上下左右の4つで指定できる。例えば垂直方向を与えなければ水平方向だけで、視点や画角が決定される。
【0067】
請求項10, H24 の発明は物体を直方体で近似して、或いは物体を構成する多角形の各頂点のついてサンプリングをして視点や画角、注視点が決定される。
【0068】
請求項11, H25 の発明では被写体を構成する物体を指定できる。すべての物体を動員して視点や画角、注視点を求める必要がないことがあり、この場合は本発明が有効である。
視点や画角、注視点の自動決定は被写体属性が付いた物体のみ対象にして行われるので、背景, 前景, 飾りと言った被写体本体でない物体を対象から外すことが出来る。
図21は被写体占有率が 1 の状態を示し、(a)は本発明を実施した場合、(b)は実施しない場合を示す。
【図22】 |
|
【0069】
請求項12, H26 の発明では、視点や画角、注視点の決定のみに作用する物体を指定できる。これにより、例えば飛行機や船の CG を作る場合、その進行方向に、この属性を持つ物体を置くことにより、進行方向を自動的に空けることが出来る。
図22は被写体占有率が 1 の状態を示す。点線で示す被写体範囲属性が付いた物体は画像生成されない。
【0070】
請求項13, H27 の発明では位置のみで大きさを持たず、画像としては現れないが被写体として認識される物体を指定できる。これにより、大きさの指定がいらないので、被写体全体の大きさによって物体の大きさを変える必要がなくなる。
【図23】 |
|
【0071】
【実施例】
請求項1〜3, H1〜2 の発明の実施例を図23を使用して説明する。S1-1〜S1-9 までが中心位置を求める手段であり、S1-10 が注視点を決定する手段である。
この実施例ではまず空間の大きさを直方体として求め、そこから中心位置を求めている。S1-1 の前に物体のデータ, 視点天頂角, 視点方位角など必要なデータはすべて入力されているものとする。
【0072】
S1-1 で2つの回転行列を作成する。ここで使用する行列は数学上は 4×4行列であるが、行列積を工夫すれば 3×4行列でも用は果たせる。
S1-4 において使用する行列は z軸を光軸と平行になるように、世界座標系原点中心に回転させる変換である。その変換は
y軸回転(-視点方位角)→x軸回転(-視点天頂角+90゜)→z軸回転(-光軸角)
という一連の操作で達成される。従って、回転行列は行列を単位行列で初期化してから、今の操作と逆順に それぞれの変換行列を掛けていけばよい。
S1-8 で使用する行列は S1-4 と逆のもので、
z軸回転(光軸角)→x軸回転(視点天頂角-90゜)→y軸回転(視点方位角)
という一連の操作のためのものである。従って、回転行列は行列を初期化してから、今の操作と逆順に それぞれの変換行列を掛けていけばよい。
なお、光軸角とはカメラ(あるいは画面)の傾きを意味し、偏心を意味するものではない。通常はゼロである。光軸角も S1-1 の前に入力されているものとする。
視点天頂角は 視点仰角=90゜-視点天頂角 という関係があるので x軸回転(-視点天頂角+90゜) は x軸回転(視点仰角)、x軸回転(視点天頂角-90゜) は x軸回転(-視点仰角)でも同様である。
視点仰角も視点方位角も、視点と注視点の関係から導くことが出来る。直交座標から極座標への変換は文献[1]に開示されている。
[1]平林雅英『C言語による最新プログラム事典 第1巻』(株)技術評論社, 1992年, p.185〜187
【0073】
S1-2 で空間の最大最小値を初期化する。最大値はマイナス無限大、最小値はプラス無限大で初期化する。ただし、これは数学上の話でC言語を用いる場合、DBL_MAXマクロを利用するとよい。HUGE_VALマクロの使用は処理系によっては問題が起きることがある。
【0074】
S1-3 では中心位置決定に関係のある物体かどうか判定する。ない場合は以後の処理対象から外す。関係がない物体とは負の濃度を持つメタボールである。無限の平面、曲面など大きさを特定できないものも処理から外す。
CSG(Constructive Solid Geometry)の場合は差に関しては引かれる物体のみ関係し、引く物体は関係しない。積などに関しても同様に考える。ただし、引かれる物体が無限平面などあった場合は、引く物体の方は大きさが分かっているのであるから、処理から外さない方がよい。またバウンディング・ボリューム(bounding volume)の内部は考えなくてもよい。
【0075】
請求項11, H25 の発明ではこれに加え、属性がある場合を関係があるとし、ない場合は関係がないとする。これにより、例えば背景, 前景, 飾りと言った被写体本体でない物体を対象から外すことが出来る。
【0076】
S1-4 で世界座標系の z軸が光軸と平行になる回転を物体に与える。回転の中心とするのは世界座標系原点である。方法としては S1-1 で作成した回転行列に各物体の世界座標化変換行列を掛ける。
【0077】
S1-5 で物体の範囲を x軸, y軸, z軸について求める。その xyz値が空間の最大値より大きい場合は最大値を更新し、最小値より小さい場合は最小値を更新する。物体の範囲は物体を直方体で近似し、その各頂点をサンプルとするか、多角形の各頂点をサンプルとする。
直方体で近似した場合は物体座標系で 6面の各中心点を求め、この 6点を世界座標化してから、頂点の 8点を合成して求めるとよい。
【0078】
物体がメタボールである場合は有効半径ではなく、閾半径の範囲でサンプルを行う。メタボールの大きさは有効半径から閾半径の間になるが、閾半径を考えた方が誤差が少ない。
閾半径は
濃度の閾値=1
rr=メタボール中心からの距離/有効半径
としたとき、その位置の濃度が
rr<1/3 のとき
濃度=(1-3・rr・rr)・中心濃度
1/3≦rr<1 のとき
濃度=1.5・(1-rr)・(1-rr)・中心濃度
rr≧1 のとき
濃度=0
定義される場合は
濃度<1.5 のとき
閾半径=有効半径・(3/(1-1/中心濃度))
濃度≧1.5 のとき
閾半径=有効半径/(1-(1/1.5/中心濃度))
で算出できる。
なお、メタボールに関しての文献としては次の[2][3][4]がある。
[2]平井誠+西村仁志+河田享+白川力+大村晧一『物体の分布関数による表現と効率的画像生成の一手法』テレビジョン学会技術報告 IPD81-5, VVI 60-5, IPA 67-5, 1983年, p.21〜26
[3]西村仁志+平井誠+河合利章+河田享+白川力+大村晧一『分布関数による物体モデリングと画像生成の一手法』電子通信学会論文誌, Vol.J68-D, No.4, 1985年, p.718〜725
[4]平林雅英『メタ言語としてのメタボール』, 映像研究特別論文集コンピュータ・イメージとハイビジョン, 日本映像学会, VOL.2, 1992年3月, p.146〜157
【0079】
以上の S1-3〜S1-6 のステップをすべての物体について行う。
【0080】
S1-7 で x, y, z の各軸の最大値と最小値の平均値から重心位置を求める。現実には この時点で物体が1つもないなどの理由により、重心位置が求められないことがある。その場合は世界座標系原点を空間中心として決定する。
【0081】
求めた重心位置は光軸を基準にしたものであるので、S1-4 と逆回転させる必要がある。これを S1-8 で行い、S1-9 で中心位置とする。
【0082】
S1-10 は中心位置を基準に注視点を求める。この場合、最も単純なのは中心位置を そのまま注視点として採用することである。それで間に合うこともあるが、変更したいこともある。
【0083】
そこで請求項3の発明では予め空間中心から極座標で指定しておくと、そこに注視点が決定される。この場合、0 ならば中心に一致、1 ならば物体群を包含する直方体の外接球の半径とするとよい。
【0084】
なお、S1-10 で請求項4〜5の発明を実施すれば、決定された注視点を基準にして、予め指定された相対位置で視点が決まる。
【図24】 |
|
【0085】
H6〜11, 21〜22, 請求項6〜7の発明の実施例を図24を使用して説明する。
【0086】
図13のブロック図との対応関係は S2-1〜S2-7 が「disx1, disx2, disx3, disx4, disy1, disy2, disy3, disy4 決定手段」(9a)、S2-8 が「dx, dy, disx, disy 決定手段」(9b, 10b)、S2-9 が「物体回転手段」(9c)と「重心位置決定手段」(9d)、S2-10 が「dx, dy 加算手段」(9e)、S2-11 が「逆回転手段(注視点補正)」(9f)、S-12 が「視点決定手段」(9g)である。
【0087】
S2-1 のデータ入力では物体のデータ, 注視点, 画角, 被写体占有率, 視点天頂角, 視点方位角など必要なデータがすべて入力される。ただし、注視点は図23の実施例で自動決定されたものとする。この際に入力された画角を垂直画角と水平画角に変換する。
【0088】
S2-2 で回転行列を作成する。ここで使用する行列は数学上は 4×4行列であるが、行列積を工夫すれば 3×4行列でも用は果たせる。
【0089】
S2-5 において使用する行列は注視点を原点に移動し、Z軸が光軸と一致するように、注視点を中心に回転させる変換である。その変換は
平行移動(-注視点)→y軸回転(-視点方位角)→x軸回転(-視点天頂角+90゜)→z軸回転(-光軸角)
という一連の操作で達成される。従って、回転行列は行列を単位行列で初期化してから、今の操作と逆順に それぞれの変換行列を掛けていけばよい。
平行移動(-注視点)は原点への移動である。もし、z軸回転の次に平行移動(注視点)の操作、つまり注視点に戻す移動があれば単に注視点を中心に回転させる回転であり、z軸は必ずしも光軸と一致はせず、平行になるのみである。
【0090】
S2-3 で disx1, disx2, disx3, disx4, disy1, disy2, disy3, disy4 を初期化する。値としてはゼロである。
【0091】
S2-4 では視点位置決定に関係ある物体かどうか判定する。内容としては S1-3 と同様である。請求項11, H25 の発明ではこれに加え、被写体属性がある場合を関係があるとし、ない場合は関係がないとする。これにより、例えば背景, 前景, 飾りと言った被写体本体でない物体を対象から外すことが出来る。
【0092】
S2-5 で注視点を原点に移動し、Z軸が光軸と一致するように、注視点を中心に物体を回転させる。方法としては S2-2 で作成した回転行列に各物体の世界座標化変換行列を掛ける。
【0093】
S2-6 で disx1, disx2, disx3, disx4, disy1, disy2, disy3, disy4 を更新する。物体の位置は物体を直方体で近似し、その各頂点をサンプルとするか、多角形の各頂点をサンプルとする。物体がメタボールである場合は有効半径ではなく、閾半径の範囲でサンプルを行う。S2-4〜S2-7 のステップをすべての物体について行う。
【0094】
S2-8 で、S2-6 において求めた disx1, disx2, disx3, disx4, disy1, disy2, disy3, disy4 から、dx, dy, disx, disy を決定する。
【0095】
S2-9 の重心の決定とは S1-7 で求めた重心そのもので、それをそのまま使えばよい。S2-10 でこの重心位置に dx, dy を加えて補正する。S2-11 では S1-8 の逆回転を行い補正注視点を得る。
【0096】
S2-12 は その注視点に基づく視点の決定である。視点半径は disx, disy のどちらか、或いは平均値になるが、視点天頂角, 視点方位角は予め入力されているので、このデータから注視点を中心とする極座標で視点が決定できる。
【0097】
また、S2-12 で H11 の発明を実施すれば視点半径を指定された範囲に納めることが出来る。
【0098】
H21〜22, 請求項6〜7の発明では以上のステップにより決定された視点、補正された注視点を元に画像生成が出来る。
【図25】 |
|
【0099】
H12〜17, 21〜22, 請求項6,8の発明の実施例を図25を使用して説明する。
【0100】
S3-1 のデータ入力では物体のデータ, 視点, 注視点, 被写体占有率など必要なデータがすべて入力される。ただし、注視点は図23の実施例で自動決定されたものとする。
【0101】
S3-2 で回転行列を作成する。この行列は S3-5 で使用する行列であり、内容としては S2-2 で作成するものと同様である。
【0102】
S3-3 でθx1, θx2, θy1, θy2 を初期化する。値としてはゼロである。
【0103】
S3-4 では視点位置決定に関係ある物体かどうか判定する。内容としては S1-3 と同様である。請求項11, H25 の発明では これに加え、被写体属性がある場合を関係があるとし、ない場合は関係がないとする。これにより、例えば背景, 前景, 飾りと言った被写体本体でない物体を対象から外すことが出来る。
【0104】
S3-5 で注視点を原点に移動し、Z軸が光軸と一致するように、注視点を中心に物体を回転させる。方法としては S3-2 で作成した回転行列に各物体の世界座標化変換行列を掛ける。
【0105】
S3-6 でθx1, θx2, θy1, θy2 を更新する。物体の位置は物体を直方体で近似し、その各頂点をサンプルとするか、多角形の各頂点をサンプルとする。物体がメタボールである場合は有効半径ではなく、閾半径の範囲でサンプルを行う。S3-4〜S3-7 のステップをすべての物体について行う。
【0106】
S3-8 で dθx, dθy, θx, θy を決定する。
【0107】
S3-9 で補正注視点を決定する。
【0108】
S3-10 でθx と θy の それぞれを画像生成システムの画角に変換する。例えば画面の対角線, 水平, 垂直と言った種類がある。そして変換後のθx とθy の大きい方, 小さい方, 平均値の何れか1つを画角とする。
また、S2-10 で H17 の発明を実施すれば画角を指定された範囲に納めることが出来る。
【0109】
H21〜22, 請求項6,8の発明では以上のステップにより決定された画角、補正された注視点を元に画像生成が出来る。
【図26】 |
|
【0110】
請求項12, H26 の発明の実施例を図26に示す。まず、記憶装置(B1-1)に物体データとして、各物体に被写体範囲属性のあるなしを与えておく。画像生成の際に被写体範囲属性のない物体のみを選別(B1-2)し、画像生成(B1-3)を行う。
ただし、注視点は注視点自動化システム(B1-4)、視点は視点自動化システム(B1-5)で決定されたものを使用する。
【0111】
【発明の効果】
請求項1〜3, H1〜2 の発明の効果。第一に座標系を意識する必要がなくなる。本発明実施以前は注視点はどこにあってもよく、どこに指定してもよいと言っても、結局のところ世界座標系原点に注視点を置き、それを基準もしくは中心にして物体を配置するという作り方をせざるを得なかった。
本発明では注視点は常に被写体の中心にあり、配置は原点を基準にする必要がなくなる。視点を指定するとしたら、相対的な位置指定すればよい。
人間の生活空間には緯度や経度は確かにあるが、テーブルに物を置いたりするのに、座標原点を考え置く者はいない。座標系の存在は機械の都合であり、これが消滅することは CG の制作過程をより自由にする。
【0112】
H6〜11 の発明の効果。本発明実施以前は視点の位置を指定するのは画面に被写体を適当な割合で、つまり被写体占有率で画像生成させたいためであり、視点の位置はなかば試行錯誤的に手作業で決定されているのが現状であった。
本発明では本来的な被写体占有率で指定するので、試行錯誤は解消される。さらに注視点の自動化と組み合わせることにより、視点と注視点の微妙な関係を調整する作業もなくなる。これは、写真において画面と被写体の関係を保つために、カメラと被写体の間の関係を人間が調整している作業を、自動化することにあたる。
被写体の大きさは一般に数百のオーダーで表現することが多いが、本発明では仮に 1未満のオーダーでも、数万のオーダーでも指定する値、すなわち被写体占有率の値は変わらない。
特に、カオスやフラクタルのようなある一定のアルゴリズムで物体を配置する場合は被写体の大きさがまったく予測不可能な場合がある。このような場合、本発明実施以前は物体の配置はアルゴリズムにより自動的に行われるが、視点の設定は人手に頼るという ちぐはぐなことになっていた。
これは画像生成システムにインテリジェント機能がないためであり、人間が機械の隙間を埋めている状況であった。本発明は被写体の大きさに無関係に被写体占有率を指定するのみであり、これを解決する。
アニメーションにおいては物体群で構成される被写体の向き, 大きさ, 形状, 数が変化しても一定の被写体占有率で画像生成できる。このようなことは本発明実施以前は不可能であった。
また、得られた視点や注視点を対話的に修正して最終的な視点や注視点を決定することも可能である。まず、システム側が代表的な値を提示し、これに基づき最終的な視点や注視点を決定すればよい。
【0113】
H12〜17 の発明の効果。視点と注視点が固定された条件で画角を自動決定できる。
さらに注視点の自動化と組み合わせることにより、面倒な作業はなくなる。例えばアニメーションにおいて視点がある一定の経路を進む場合、被写体がある方向にカメラが自動的に向き、画角を自動設定して画像生成が出来る。
【0114】
H17 の発明の効果。画角の範囲が指定できるので、実際のカメラのズームレンズを自動的にシミュレートすることが出来る。
【0115】
請求項11, H25 の発明の効果。背景, 前景, 飾りと言った被写体本体でない物体を除き、被写体本体だけに基づいて構図を自動的に決めることが出来る。
【0116】
請求項12, H26 の発明の効果。飛行機や船などの乗物の CG を作る場合、その進行方向を自動的に空けることが出来る。これは人物の CG の場合も同様で、画面の端に鼻先がくるような不自然な構図になることを自動的に避けることが出来る。
【0117】
請求項13, H27 の発明の効果。請求項12, H26 に関連し、3次元CG では その概念が存在しなかった位置のみで大きさを持たない物体を指定できる。
【0118】
以上のように本発明は、画像生成システムに構図上のインテリジェント機能を持たせることにより、アーティストやデザイナーが本来目的とする画像を簡便かつ正確に生成するシステムを提供するものである。
【図面の簡単な説明】
【図1】H8 の発明のブロック図(視点自動化システム)。
【図2】3次元コンピューター・グラフィックスの概要を示す図。
【図3】3次元直交座標系を示す図。
【図4】3次元極座標系を示す図。
【図5】H1 の発明のブロック図(注視点自動化システム)。
【図6】請求項2の発明のブロック図(注視点自動化システム)。
【図7】請求項2の発明の原理図(注視点自動化システム)。
【図8】被写体占有率の説明図。
【図9】H6 の発明のブロック図(視点自動化システム)。
【図10】H7 の発明のブロック図(視点自動化システム)。
【図11】H7 の発明の原理図(視点自動化システム)。
【図12】注視点補正の説明図。
【図13】H9〜10 の発明のブロック図(視点自動化システム)。
【図14】H9〜10 の発明の原理図(視点自動化システム)。
【図15】H9〜10 の発明の原理図(視点自動化システム)。
【図16】H13 の発明のブロック図(画角自動化システム)。
【図17】H15〜16 の発明のブロック図(画角自動化システム)。
【図18】H13 の発明の原理図(画角自動化システム)。
【図19】H15〜16 の発明の原理図(画角自動化システム)。
【図20】H15〜16 の発明の原理図(画角自動化システム)。
【図21】請求項11, H25 の発明の作用(被写体属性)を示す図。
【図22】請求項12, H26 の発明の作用(被写体範囲属性)を示す図。
【図23】請求項1〜3, H1〜2 の発明の実施例を示すフローチャート。
【図24】H6〜11, 21〜22, 請求項6,7の発明の実施例を示すフローチャート。
【図25】H12〜17, 21〜22, 請求項6,8の発明の実施例を示すフローチャート。
【図26】請求項12, H26 の発明の実施例を示すブロック図。
【図27】請求項1の発明の原理図。
【符号の説明】
d 視点のZ座標値
d1y 物体のY座標値の絶対値
d2 物体のZ座標値
d3y d1y/tan(垂直画角/2)/被写体占有率
*-1 世界座標系
*-2 x軸(世界座標系)
*-3 y軸(世界座標系)
*-4 z軸(世界座標系)
*-5 視点(世界座標系)
*-6 注視点(世界座標系)
*-7 光軸(世界座標系)
*-8 物体(世界座標系)
*-1t 注視点座標系
*-2t X軸(注視点座標系)
*-3t Y軸(注視点座標系)
*-4t Z軸(注視点座標系)
*-5t 視点(注視点座標系)
*-6t 注視点(注視点座標系)
*-7t 光軸(注視点座標系)
*-8t 物体(注視点座標系)
*-9 垂直画角
*-10 垂直画角/2
*-11 空間中心
*-12 物体群を囲む直方体
*-13 回転中心
*-14 回転角
*-15 回転方向1
*-16 回転方向2
*-17 回転後の物体
*-18 回転後の光軸
*-19 回転後の物体群を囲む直方体
*-20 直方体の重心
*-21 補正後の直方体の重心
*-22 補正後の視点(注視点補正後)
*-22t 補正後の視点(注視点補正後, 視点座標系)
*-23 補正後の視点(視点半径短縮後)
*-23t 補正後の視点(視点半径短縮後, 視点座標系)
*-24 補正後の注視点
*-24t 補正後の注視点(視点座標系)
*-25 補正後の光軸
*-25t 補正後の光軸(視点座標系)
*-26 補正後の画角
*-27 補正後の画角/2
*-28 画面
*-29 画面縦
*-30 画面横
*-31 画面上
*-32 画面下
*-33 画面右
*-34 画面左
*-35 画面中心
*-36 水平画角
*-37 垂直画角
*-38 対角画角
ただし * は数字列。
特許第3564666号 視点自動化システム
特許第3423753号 光源自動化システム
特許第3427070号 光源自動化システム(照射範囲)
特許第3521080号 光源自動化システム(光源強度)
特許第3447778号『視点・注視点・画角自動化システム』は、有償開放特許となっております。実施許諾や権利譲渡についてのお問い合わせには平林雅英まで。
Copyright (C) 1993-2024 Hirabayashi Masahide プライバシーポリシー