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

VirStA System: 仮想ステージと仮想アクターによる分散 CG アニメーションシステム
III. ジャズセッションプレーヤーの実現

松本 英明

後藤 真孝

阿部 哲也

村岡 洋一

早稲田大学 理工学部

1. はじめに

従来，音楽へ CG を導入する場合には，ビデオクリップなどのように事前に用意した CG 画像をそのまま流したり，切替えて用いることが多かった。近年，音楽演奏情報に合わせてリアルタイムに CG を生成する研究 [1][2][3][4] がなされているが，計算機上の仮想プレーヤー (演奏者) の全身をリアルタイム CG アニメーションで実現する手法については十分述べられていなかった。
本稿では，人間と計算機上の仮想プレーヤーが共演する音楽セッションにおいて，仮想プレーヤーが演奏する姿を CG アニメーションで表示するシステムについて述べる。プレーヤーの演奏動作，音楽との同期，プレーヤーの共演といった繁雑で計算量の多い処理を実装する際に，VirStA System[6][7] の仮想アクター，仮想ステージ，時限スクリプトといった概念が有効であり，負荷分散によりリアルタイムに画像生成が可能となる。

2. 姿の見えるジャズセッションシステム|VirJa Session

我々は人間と計算機間でジャズセッションを行なうシステム VirJa Session(Virtual Jazz Session System) を研究している [5] 。現在の VirJa Session は人間が担当するピアニスト，計算機が担当するベーシスト及びド ラマーからなるトリオの編成を対象とする。ベーシストとドラマーが演奏する姿を CG アニメーションで表示することにより，以下の利点が得られる。
 演奏音以外の情報伝達
仮想プレーヤーが人間に対して，ソロや演奏の終りなどを指示するジェスチャーを送ることができる。さらに，仮想プレーヤーがカメラ画像から人間のジェスチャーを判断することで，聴覚と視覚によるインタラクションを実現できる。
 観客に対する視覚的効果
演奏者だけでなく観客にとっても，映像があればライブを見ているような臨場感が得られる。本システ
ムを発展させれば，実際のライブステージで人間と仮想プレーヤーが共演するコンサートも考えられる。

3. ジャズセッションプレーヤーのCG アニメーション

仮想プレーヤーの CG アニメーションを実現するた
めには，以下のような課題がある。

VirStA System: A Distributed CG Animation System
based on Virtual Stage and Virtual Actors
Animation of Jazz Session Players

III. CG

1 個々の演奏動作の実現
全ての演奏動作の動画を蓄積して再生するだけでは汎用性に欠け，データ量も考慮すると現実的ではない。そこで，プレーヤーを 3 次元の骨格構造でモデル化した上で，様々な演奏動作をどう生成するのかを検討する必要がある。
2 動作のスケジューリング
個々の演奏動作を組み合わせてフレーズを演奏する際に，様々な曖昧な状況が起こる。例えば，ベーシストは同じ高さの音をいくつかの手の位置で演奏でき，ドラマーは同じ打楽器をどちらの手でも叩ける。
これらの曖昧な状況を解消し，ある一連の動作として決定する必要がある。
3 音楽との同期
演奏音の発音時刻とプレーヤーの演奏動作が数十ミリ秒ずれても，映像として違和感が残ることがある。
そこで演奏音と演奏動作をフレーム単位で同期させる必要がある。また，演奏の予備動作（例：腕を振り上げる）を実現するためには，発音時刻を事前に知り，予備動作を開始しておかなければならない。
4 プレーヤーの共演・自由な視点各プレーヤーが別々の画面上に出ているだけでなく，同じステージの上に立って演奏できるのが望ましい。
ステージ上でのお互いの位置を知り合うことでジェスチャーの交換もできる。またこの演奏する姿を，複数の視点から同時に見ることができるとよい。そのためには，リアルタイム性を犠牲にせずにこれらを実現する必要がある。

4. VirStA System を用いた実装
これらの問題点を VirStA System を用いて実装しながら以下のように解決する。

1 時限スクリプトを用いた動作生成

各仮想プレーヤーを VirStA Actor として骨格構造とポリゴンモデルで表現し，その関節角の制御パラメータを変化させて演奏動作を実現する。プレーヤーの演奏動作の多くは，弦を弾いたりドラムを叩いたりする定型動作 (短時間の予測可能な動作) の組合せでVirStA Actor

VirStA Actor
仮想プレーヤー１

仮想プレーヤー２

仮想カメラ

仮想カメラ

VirStA Renderer

VirStA Renderer

Hideaki Matsumoto,

Masataka Goto, Tetsuya Abe, and Yoichi Muraoka,
School of Science and Engineering, Waseda University.

仮想ステージ

VirStA Manager

図 1: VirStA System 用いた実装

表現できる。 そこで，これらの各定型動作を VirStA
System の時限スクリプトとすることで簡潔に記述する。時限スクリプトの同時実行の機能を利用することで，定型動作を自由に組合せて演奏動作が実現できる。
2 動作の曖昧さの解消
VirStA Actor の動作決定処理として，スケジューリングでの曖昧さを解消するために，現在の関節角の状態から次の演奏動作が一意に決まるように各楽器固有の制約を導入する。ベーシストの場合には，左手で押えるフレットの位置と右手で弾く弦を，前の音からの指の移動量などを考慮して決定する。基本的に，同じ音高が出る複数のフレットの位置の中で今の位置から最短距離のものを選び，もし解放弦1 が使えれば，左手の移動を行なう必要がないので優先的に用いる。ド ラマーの場合には，各打楽器の配置によって左右の手で叩きやすさが違うので，各打楽「右 (左) 手 優先」の重みを器に「右 (左) 手 専用」つけ，その上で左右の手の全体的な移動量が少ない方を選ぶ。いずれも局所的な演奏情報と単純な評価式で動作が決定できる利点がある。
3 時限スクリプトの時間指定機能による同期タイムスタンプ付きの演奏情報を事前に取得し，そのタイムスタンプの時刻に演奏動作が起きるように開始時刻を指定した時限スクリプトを VirStA Rendererに送信する。これにより演奏動作の最終的な時間管理は VirStA System 側で処理されるため，実装が容易になる。演奏の予備動作も同様に，予備動作の最後が発音時刻となるよう終了時刻指定した時限スクリプトを送信すればよい。
4 仮想ステージ・仮想カメラVirStA System により，仮想ステージ内で複数の仮想アクター (プレーヤー) が演奏するのを複数の仮想カメラから容易に見ることができる。VirStA Actor 同士は， VirStA Manager に問い合わせることでお互いの位置を知りあい，相手に向けてジェスチャーを送る動作などができる。また，ベーシストとドラマーの全処理を一台の計算機でリアルタイムに実行するのは計算量が多いため困難だが， VirStA System により複数の計算機へ負荷分散することでリアルタイムに実行できる。さらに， 複数の VirStA Rendererを異なる計算機で実行すれば，リアルタイム性を全く損なわずに同時に複数の視点から画像生成できる。

5. 実験結果

本システムを Ethernet 上に分散するグラフィックワー
クステーション (表 1) 上に実装して，実験を行なった。
画像生成例を図 2に示す。表 1の 3 台のマシンで，2 つの VirStA Actor と VirStA Renderer を 1 台で実行した場合，2 台に分散した場合，3 台に分散した場合で，画像生成の fps (平均値) を調べた。VirStA Renderer は1 フレットを押えない状態での弦自体の音。

図 2: 画像生成例

SGI Indigo High IMPACT(R4400 250MHz) で実行した結果を表 1に示す。
表 1: 使用マシン
2

略記
HI

SGI Indigo

2

マシン名

High IMPACT(R4400 250MHz)

2

Ex 1

SGI Indigo

Extreme(R4400 250MHz)Ex 2

SGI Indigo

Extreme(R4400 150MHz)

2

ベーシスト

表 2: 実行結果
ドラマー

描画速度

HI

HI

15fps

Ex 1

HI18fpsHI

Ex 121fps

Ex 2

Ex 130fps

実験の結果，VirStA Actor と VirStA Renderer を分散せず 1 台で実行した場合には 15fps ，3 台に分散した
ときは 30fps であることがわかった。一般にリアルタイム画像とは 30fps 程度の画像が表示されることを指すので，分散することにより，リアルタイム性が確保できることがわかった。

6. おわりに
本稿では VirJa Session の仮想プレーヤーの CG アニ
メーションの生成を，VirStA System を用いながらリアルタイムに実現する方法を述べた。VirStA System の機能を活用することで，プレーヤーの音楽と同期した動作生成，同一仮想ステージでの共演が可能となり，VirStA
System が実際の応用にも有効であることを確かめることができた。
参考文献
[1]

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

[2] H.Katayose, T.Kanamori, K.Kamei, Y.Nagashima,
K.Sato, S.Inokuchi and S.Simura: Virtual Performer, Proc.
of '93 Intl. Computer Music Conf.,pp.138-145,1993.

後藤 真孝, 村岡 洋一：「音楽に踊らされる CG ダンサーによるインタラクティブパフォーマンス」, インタラクティブシステ
ムとソフトウェア III 日本ソフトウェア科学会 WISS'95, 田中二郎 (編),pp.9-18, 近代科学社,1995.
「実写画像の編集[4] 亀井 克之, 佐藤 宏介, 片寄 晴弘, 井口 征士：と手の 3 次元モデルとによる人の動作アニメーションの生成」,
情報処理学会論文誌,Vol.36,No.2,pp.374-382,1995.
「すべ[5] 後藤真孝, 日高伊佐夫, 松本英明, 黒田洋介, 村岡洋一：てのプレーヤーが対等なジャズセッションシステム I. システ
ムの全体構想と分散環境での実装」, 情処研報 音楽情報科学[3]

96-MUS-14-4, Vol.96,No.19,1996.

後藤 真孝, 阿部 哲也, 松本 英明, 村岡 洋一：「VirStA System
I. システムの全体構想」, 第 53 回情処全大 1P-05,1996.
[7] 阿部 哲也, 後藤 真孝, 松本 英明, 村岡 洋一：「 VirStA System II.
分散環境でのリアルタイム実装」, 第 53 回情処全大 1P-06,1996.
[6]