後藤 真孝, 阿部 哲也, 松本 英明, 村岡 洋一: ”VirStA System: 仮想ステージと仮想アクターによる分散 CG アニメーション
システム I. システムの全体構想”, 情報処理学会 第 53 回全国大会, 1P-5, September 1996.

VirStA System: 仮想ステージと仮想アクターによる分散 CG アニメーションシステム
I. システムの全体構想

後藤 真孝

阿部 哲也

松本 英明

村岡 洋一

早稲田大学 理工学部

1. はじめに
近年，グラフィックスエンジンを搭載したワークス
テーションなどの CG レンダリング能力の向上によって，従来コマ撮りでしか実現できなかったような多数のポリゴンを用いた CG アニメーションがリアルタイムに生成できるようになってきた．これに伴い，人間の入力や動作などにリアルタイムに反応する CG キャ
ラクタを用いたインタラクティブシステムも数多く実現されてきている [1]0[6] ．このようなシステムの多く
では，画像生成処理 (レンダリング処理等) と動作決定処理 (CG キャラクタの関節角計算処理等) が同一の計算機上で実行されていたが，これらの処理は共に計算量が多いため，CG キャラクタを追加したり動作を多様化・複雑化しようとするとリアルタイム性が損なわれやすかった．
我々が提案する VirStA System (Virtual Stage and Actors System) は，画像生成処理と動作決定処理を異なる計算機上に負荷分散することで，リアルタイム性を損なわずに多様な拡張を可能にする．本システムは，複数の計算機によって共有される仮想空間内にすべてのCG キャラクタを配置し，各キャラクタをネットワーク経由で操作するための汎用インタフェースを提供する．
これにより，キャラクタの追加に伴う処理や動作決定処理を異なる計算機上に割り当てられ，拡張以前の処理への影響を最小限に抑えられる．本研究はこのような負荷分散を実現しながら，複数の CG キャラクタが人間や他のキャラクタとリアルタイムにインタラクションできるシステムを，拡張性高く汎用的に構築することを目的とする．

2. 仮想ステージと仮想アクター
VirStA System では，CG アニメーション中に登場する各 CG キャラクタや CG オブジェクトを仮想アクターと呼び，すべての仮想アクターが共存する仮想空間を仮想ステージと呼ぶ．そして，テレビや映画用の映像
収録において，スタジオや舞台セット (仮想ステージ)に様々な出演者 (仮想アクター) が登場するのを複数のカメラ (仮想カメラ) で撮影するように，リアルタイムCG アニメーションの生成をおこなう．

VirStA System: A Distributed CG Animation System
based on Virtual Stage and Virtual Actors
I. System Overview

Masataka Goto, Tetsuya Abe,

Hideaki Matsumoto, and Yoichi Muraoka,
School of Science and Engineering, Waseda University.

仮想ステージと仮想カメラは画像生成処理に対応し，仮想アクターは動作決定処理に対応する．つまり前者は仮想ステージ内のある視点から見た画像を生成する処理であり，後者は各仮想アクターがどのように動くかを決定する処理である．そこで，ネットワークに接続された複数の計算機上に仮想ステージと仮想アクターを別々に割り当てることで，効果的に負荷分散できる．

3. VirStA System
VirStA System は，LAN などの局所的なネットワー

ク (Ethernet) に接続されたグラフィックスワークステーション群 (SGI Indigo2 等) の能力を最大限に活用して，リアルタイム CG アニメーションを生成するためのシステムである．システムが扱うすべての仮想アクターは，CG オブジェクトが可動部で連結した骨格構造を持ち，ポリゴンモデルで表現されるものとする．

3.1 システム構成

VirStA System の構成を図 1 に示す．本システムはサーバ・クライアント・モデルに基づいており，仮想ス
テージと仮想カメラを実現する VirStA Manager (VirtualStage Management Server)・VirStARenderer (VirtualStage Rendering Server) と，様々な仮想アクターを実現する VirStA Actor (Virtual Actor Client) で構成される．VirStA Manager が仮想ステージの状態と各仮想アクターの位置情報 (方向，占有領域を含む) を管理し，VirStA Renderer が実際のレンダリング等の画像生成処理をおこなう．一方，各 VirStA Actor は対応する仮想アクターの動作を決定し，上記のサーバ群に対して動作変更後の画像生成を要求する．仮想ステージ上での各仮想アクターの位置情報の決定や仮想アクター間のインタラクションもすべて VirStA Actor が個別におこなう．
現在の実装では，本システムの通信は UDP/IP 上のコネクションレスな通信プロトコルである RMCP
(Remote Media Control Protocol)[7]1 に基づいておこ
なう．RMCP のパケットを Ethernet 上でブロードキャスト (同報通信) することにより，VirStA Actor からの全情報を VirStA Manager と全 VirStA Renderer が共有でき，実装・拡張が容易になる．また RMCP は，MIDIやビデオカメラなどの各種インタフェースを用いたインタラクションを実現する際の整合性もよい [3, 4] ．
リアルタイムに動作が変わる CG アクターを仮想ス
1 文献 [7] の Remote Music Control Protocol に対し，複数メディアやタイムスタンプに対応するためにメッセージとパケットを拡張してあるので，Remote Media Control Protocol と呼ぶ．

VirStA Manager
VirStA Renderer

VirStA Actor

VirStA Renderer

VirStA Actor

VirStA Actor

Virtual Actors
Virtual Stage

図 1: システム構成図

負荷分散することで，仮想アクター間のインタラクションが起きる場合以外は，他の仮想アクターの動作のリアルタイム性を損なわない．
 複数の開発者による分散実装と仮想アクターの再利用
仮想ステージと仮想アクター間のインタフェース (CGアクターモデルの登録，パラメータの変更，時限スクリプトの指定) が汎用化されているため，複数の開発者がそれぞれの仮想アクターを分担して実装することが容易である．また，一度実装した仮想アクターは，他の目的にも再利用しやすい．
本システムは上記以外にも，時限スクリプトを用いた動的負荷分散 (計算機とネットワークの負荷に応じて時限スクリプトの実行場所を動的に変更) や仮想ステージの状態の保存・再現機能などの特長を持つ [9] ．

テージ上に表示するために，ポリゴンモデルを毎フレームごとにすべて伝送するのは通信量が多く現実的でない．そこで，VirStA Actor は制御パラメータ付きの骨格構造およびポリゴンモデル (CG アクターモデル) を，4. おわりにVirStA Manager と VirStA Renderer に事前に登録する．
本稿では，複数の CG キャラクタが登場するインタ
動作中はそれを制御する最低限のパラメータの変更だ
CG アニメーションを，異なる計算機上ラクティブなけをブロードキャストする．さらに，パラメータを直に負荷分散することでリアルタイムに生成するための接変化させるだけでなく，短期間にわたるパラメータシステムについて述べた．関連研究としてインターネッ
変化を一度に指定するために，パラメータの時間変化
ト経由の仮想空間を実現するための Virtual Society[8]関数やパラメータ間の束縛条件を期間限定付きで指定などが挙げられるが，本システムは局所的で高速なネッする時限スクリプトという概念を導入する．
トワーク上の計算機群の能力を最大限に引き出すことパラメータの変更や時限スクリプトを VirStA Renを目指す点が大きく異なる．また，インタフェースをderer が受信すると，対応する CG アクターモデルを指CG システムから分離して分散環境で実装した研究例
定された時刻に更新し，その計算機の CG レンダリン[3, 4, 5] もあるが，画像生成処理と動作決定処理の分離
グ能力に応じたフレームレートやディテールで表示すは考慮されていなかった．
る．VirStA Manager は，対応する CG アクターモデル
VirStA System はすでに，人間のジェスチャーなどにだけを更新し表示はおこなわない．VirStA Actor が，仮CG[9] やジャズインタラクティブに反応する仮想犬の想ステージや他の仮想アクターに関連して動作を決定
セッションシステムにおける仮想プレーヤーの CG[10]する際には，VirStA Manager に問い合わせて位置情報などに適用されている．今後はさらに他の CG アニメー等を取得する．また，必要に応じて VirStA Actor 間でション生成にも活用していくと共に，システム自体の直接通信してもよい．
拡張もおこなっていく予定である．
3.2 VirStA System の利点・特長
参考文献

本システムは，計算負荷の分散に加えて以下のような利点・特長を持つ．

 複数の仮想カメラによる仮想ステージの同時撮影

VirStA Renderer は仮想ステージを見るための仮想カメラに相当する．そこで様々な方向設定のカメラ2 として複数の VirStA Renderer を起動することにより，スタジオ・舞台セットにおける出演者の演技やライブ演奏のステージにおける演奏者の演奏風景を複数のカメラが同時に収録するように，CG アニメーションを生成できる．すべての通信をブロードキャストでおこなうため，VirStA Renderer を追加しても通信量は変わらず，リアルタイム性を損なわない．
 様々な仮想アクターの共演
様々な種類の VirStA Actor を追加することにより，同一の仮想ステージ上に多様な仮想アクターを共演させることができる．この追加を異なる計算機上に2 各カメラの方向はネットワーク経由で操作できる．

[1]

林一司, 藤田卓志, 松本智佳子. 仮想生物の行動生成モデル. 情処
研報 グラフィクスと CAD 91-CG-52-10, Vol. 91, No. 71, pp.
65{71, 1991.

後藤真孝. 分散協調インタラクティブシステム | 音と CG による遠隔地間のインタラクション |. NICOGRAPH'93 CG 教
育シンポジウム プロシーディングス, pp. 44{49, 1993.
[3] 後藤真孝, 村岡洋一. 音楽に踊らされる CG ダンサーによるインタラクティブパフォーマンス. インタラクティブシステムとソフトウェア III, pp. 9{18. 近代科学社, 1995.
[4] 阿部哲也, 後藤真孝, 黒田洋介, 村岡洋一. インタラクティブドッ
グ 〜仮想犬との 3 種類のインタラクション〜. インタラクティ
ブシステムとソフトウェア III, pp. 19{28. 近代科学社, 1995.
[2][5] Naoko Tosa and Ryohei Nakatsu. Life-like communication
agent - emotion sensing character \MIC" and feeling session

Proc. of the 1996 IEEE Intl. Conf.
on Multimedia Computing and Systems, pp. 12{19, 1996.
character \MUSE". In[6] Lifelike Computer Characters '94, '95.

http://www.research.microsoft.com/lcc.htm.

[7]後藤真孝, 橋本裕司. MIDI 制御のための分散協調システム | 遠
隔地間の合奏を目指して|. 情処研報 音楽情報科学 93-MUS-4-1,
Vol. 93, No. 109, pp. 1{8, 1993.

[8] Virtual Society on the Web.

http://vs.sony.co.jp/.

阿部哲也, 後藤真孝, 松本英明, 村岡洋一. VirStA System II.
分散環境でのリアルタイム実装. 第 53 回情処全大 1P-06, 1996.
[10] 松本英明, 後藤真孝, 阿部哲也, 村岡洋一. VirStA System III.
ジャズセッションプレーヤーの実現. 第 53 回情処全大 1P-07,[9]

1996.