JP2675646B2 - 動画生成方式 - Google Patents

動画生成方式

Info

Publication number
JP2675646B2
JP2675646B2 JP1311082A JP31108289A JP2675646B2 JP 2675646 B2 JP2675646 B2 JP 2675646B2 JP 1311082 A JP1311082 A JP 1311082A JP 31108289 A JP31108289 A JP 31108289A JP 2675646 B2 JP2675646 B2 JP 2675646B2
Authority
JP
Japan
Prior art keywords
demand
event
actor
character
scenario
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1311082A
Other languages
English (en)
Other versions
JPH03168877A (ja
Inventor
恵太郎 花田
雅之 宮本
亮一 佐藤
耕平 吉川
徹 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP1311082A priority Critical patent/JP2675646B2/ja
Publication of JPH03168877A publication Critical patent/JPH03168877A/ja
Application granted granted Critical
Publication of JP2675646B2 publication Critical patent/JP2675646B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】 <産業上の利用分野> この発明はコンピュータによる動画の生成方式に関す
るものである。
<従来の技術> 現在コンピュータにより扱われている動画は自然動画
とコンピュータアニメーションに大別できる。
自然動画は、実世界の動きをビデオカメラなどで録画
したものである。コンピュータ処理可能なデジタル情報
は、例えば、画面の縦方向の大きさが750ドット、横方
向の大きさが1120ドット、色情報の表現に1バイト用い
るとすると一画面あたり、840,000バイト必要となる。
このデータ量は膨大であり、自然動画のデータベース
化、あるいは通信を行うためには、データの圧縮技術が
必要となる。
また、このアプローチは現実の出来事の撮影、あるい
は作者の意図に沿って現実の物を動かしその撮影を行う
ものであり、一度録画されたものは切り貼りによる編集
は可能であるが、登場物の動き方まで編集することは現
状の技術では困難である。
一方コンピュータアニメーションでは、任意の動きを
表現・編集する事が可能である。実際、コンピュータグ
ラフィックス技術の進展により、コンピュータにより作
成された動画が、社会生活のさまざまな局面で利用され
ている。ビデオカメラでは撮影不可能な過去や未来の建
築物を実在感豊かに描き出したり、人体の内部のような
仮想的な状況を美しく描いている。しかし、現在利用さ
れているCG技術は、動きを表現するためのたくさんの静
止画を作成する技術であり、美しい画像を生成すること
に重点が置かれている。
こういった動きの表現方法には関数法やキーフレーム
法、制約による表現等がある(沓沢:コンピュータアニ
メーション技法、大特集:コンピュータグラフィック
ス、情報処理、Vol.29、No.10、(1988))。これらの
方法は個々の登場物の動きの表現技法にすぎず、これら
を組み合わせて一つのストーリを構成する手法は確立さ
れていない。これは、コンピュータの処理能力が実時間
アニメーション(画像の生成と動画の表示を同時に行
う)を同うには不十分であったため、コンピュータアニ
メーションといえどもコンピュータは画像の生成のみを
行い、それをフィルムあるいはテープに撮影したものを
上映に用いてきたという事情が関係している。こういっ
た動画生成方法においては、発生時間の指定により動き
の発生記述を行うのが一般的である。
例えば第2図に模式的に示したように、丸い物体21と
三角の物体22とが移動して来で衝突した時に四角い物体
23が動き始めるといった単純な動画を生成する場合、各
登場物の動作の開始時刻と初期位置及び動作の終了時刻
における位置を指定し、その間の各登場物の動き具合を
補間によって一つひとつの齣ごとの位置として求めて動
画を作成する。この場合には、すべての登場物の動作の
発生時刻があらかじめ決定している必要がある。この手
法には局所的な修正が大域に影響する。ユーザや他のア
プリケーション等の外部との同期の表現ができないとい
った問題点がある。これらの問題は上述のような動画の
記述方法が事象の発生時間を指定する記述法である事に
起因している。
しかし、近年、コンピュータの処理速度の向上によ
り、登場物の個々の動きだけでなくストーリ展開を記述
することによって、実時間アニメーションを実現する可
能性が高まってきた。ストーリ展開の記述とは、「何が
どのような動きをどんなタイミングで行うか」の記述で
ある。動画のストーリを表現するためには、動きの表
現手段、動きの発生の表現手段が必要となる。
このような、動きをプログラムによって記述し、その
プログラムの実行結果として動画を生成する方法にASAS
(Reynolds.C.W.:Computer Animation with Scripts an
d Actovs.Computer Graphics,Vol.16No.3,pp.289−296
(1982))あるいはParadise(内木、丸一、所:行動シ
ミュレーションに基づいたアニメーションシステムPara
dise.コンピュータソフトウエア,Vol.4,No.2,pp.24−38
(1987))といった手法が提案されている。これらの方
法では、動画の記述時には決定できない動きの発生(イ
ベント駆動な動き)を記述することが可能である。
これらの方法では、動画を複数の登場物(オブジェク
ト)が並行に動作する系が可視化されたものととらえ、
この並行動作系を記述する。動画においては各オブジェ
クトが完全に並行動作するのではなく、表示画像の生成
のため基準時間に拘束された疑似並行動作となる(互い
の関連のないオブジェクトどうしであっても、他のオブ
ジェクトの処理の進行を無視して自分の処理を進めるこ
とはできない)。
動きの発生の表現とは、複数オブジェクトの動きの同
期の表現であり、いずれの方法でもオブジェクトの同期
のためにメッセージ通信を用いている、 ASAS及びParadiseにおけるメッセージ通信は異ったモ
デルに基づいており、異なった機能を持っている。ASAS
では、メッセージを受信したオブジェクトは、メッセー
ジ名から一意に定まる手続きを実行する。メッセージの
送信オブジェクト(あるいは、記述を行う人)は、受信
オブジェクトの行う動作を知っていて、メッセージ送信
により仕事の要求を行う(仕事要求通信モデルと呼
ぶ)。一方、Paradiseでは、メッセージ名から一意に定
まる手続きは存在せず、受信オブジェクトはメッセージ
の内容を自由に操作できる。メッセージ送信の目的は、
メッセージ内のデータを伝える事にある。(データ通信
モデルと呼ぶ)。
ストーリにのっとった動画(事故等の状況説明を行う
動画や、テレビゲームのような動画)を記述するために
は、メッセージ名とその効果が対応し、記述した通りの
動きが実現する仕事要求通信モデルが適する。
一方、交差点における自動車の渋滞のシミュレーショ
ン等、個別な行動様式を持ったオブジェクトの自律的な
行動からなる動画を表現するには、他からの命令により
動作を行う仕事要求通信よりも、データ通信モデルが適
する。
<発明が解決しようとする課題> 上記のような従来の動画生成方式では、単一のメッセ
ージ通信方式しか使用していないために、ストーリにの
っとった動画において、個々のオブジェクトがそれぞれ
個別の行動様式を持った自律的な行動をするといった動
画を容易に記述することができないという問題があっ
た。また、ストーリ展開そのものを含めたオブジェクト
を統一的に記述することができないという問題もあっ
た。
本発明は、上述の問題点に鑑みてなされたもののであ
って、仕事要求通信モデルとデータ通信モデルとの2種
類のメッセージ通信を可能とするとともに、ストーリ展
開そのものをも含めたオブジェクトを統一的に記述する
ことができるようになすことによって、動画として表現
したい事象を時間に対して非決定的に記述でき、またユ
ーザ及び他のアプリケーションからの入力を簡単に記述
して処理できるとともに表現したい事象に関する変更が
最少限の記述の変更で可能な動画生成方式を提供するこ
とを目的としている。
<課題を解決するための手段> 上記の目的を達成するために本発明には、登場物ある
いはストーリなどの動画のオブジェクトを統一的に表現
するためのアクタが特定の時間間隔を単位として疑似並
行動作を行うことによって動画を生成する方式であっ
て、前記アクタは、該アクタが表現するものの属性値を
定義するための属性部と、前記属性値の変化の具合、あ
るいは、前記アクタの状態や事象の成立などを他のアク
タに伝達するデータ通信のためのイベントの発信あるい
はイベントの読み込み、及び、他の特定のアクタに対し
て動作指令を伝達する仕事要求通信のためのデマンドの
送信を記述するものであるメソッド部より構成され、上
記メソッド部に記述された仕事要求通信のためのデマン
ド及びデータ通信のためのイベントによってメッセージ
通信を行いながら疑似並行動作する過程を可視化するよ
うになしたことを特徴とする動画生成方式である。
<作 用> 本発明による動画生成方式においては、表現しようと
する登場物の物質等が属性部に記述されたアクタが、仮
想的な時間の単位である1ティック毎にメソット部に記
述された仕事要求通信のためのデマンドとデータ通信の
ためのイベントによってメッセージ通信を行いながら疑
似並行動作する過程を可視化することができる。
<実施例> まず本発明に係る動画生成方式の主な構成要素の概容
を説明する。
1.アクタ アクタは、、属性とメソッドにより定義される。
1.1 属性 属性は、アクタを表示するための形状(空間におけ
る)、位置や色等からなる。
表現したい動画に応じて速度や大きさ等任意の属性を
定義できる。
1.2 メソッド メソッドは、アクタの属性値の変化の仕方(動き)の
記述である。
メソッドは、以下で定義される。
メソッド名:メソッドを特定するための名前 仮引数並び:アクタ外部からのパラメタを受けるための
変数 状態変数並び:動きの状態保持を行う変数 動きの記述: 逐次、繰り返し、条件分岐の制御構造を用いて、属性
値の変化の仕方、デマンド送信、イベント発信、イベン
ト読み込みを記述する。動きの記述は、起動時実行部分
と通常実行部分からなる。
2.デマンドとイベント デアンド、イベント共にメッセージを他のアクタに届
けるために用いられる。第1図にアクタの間メッセーズ
のやり取りを模式的に示す。
メッセーズとは、 メッセージ名、 と パラメタ並び からなる。
デマンドはアクタへメソッドの実行を要求するメッセ
ージ送信であり、イベントは、他のアクタが参照可能な
データをメッセージとして送信するものである。
デマンド送信、イベント発信ともに、アクタのメソッ
ドに記述する。
2.1 デマンド 第1図の一点鎖線4で表わしてあるデマンド送信で
は、送信先アクタを指定してメッセージを送出する。デ
マンドは、送信先アクタにおけるメソッドの実行(ある
いは中止)を要求するものである。各パラメタ並びはメ
ソッドの引数に対応する。
実行要求 メソッドの実行を要求するデマンド送信はsend(送信
先アクタ名,送り主アクタ名パラメタ並び) と記述する。
実行中止 すでにアクタで稼働中のメソッドの中止を要求するデ
マンド送信は、kill(送信先アクタ名,メッセージ名)
と記述する。
これらの、デマンドは送信先アクタのデマンドプール
1に入れられる。
アクタのメソッド記述中で、sendやkillの引数として
送信先アクタ名を直接記述するのは、アクタの独立性を
低下させる。このため、アクタ名はデマンドのバラメタ
から、あるいはイベントから取り込むように記述する。
デマンドの具体的な構造を第3図に示す。
2.2 イベント 第1図の破線5で表わされるイベントは、他のアクタ
へデータを送信したり、動作のタイミングを知らせたり
するメッセージの送信である。イベントは、受信オブジ
ェクトを指定せずに発信され、複数個存在可能な大域的
なイベントプール3に保持される。イベントプール3内
のイベントは、任意のアクタが読み込むことができる。
すべてのイベントは、1ティックにおけるすべてのアク
タの動作が完了すると消滅する。
イベント発信 イベントプールへのイベントの発信はout(イベント
プール名,メッセージ名,パラメタ並び) と記述する。
イベント読み込み イベントプールからのイベントの読み込みはin(イベン
トプール名,パターン並び) と記述する。
ここで、パターンは値か変数であり、inは、並びの順
番どおりに合致する(値と値はそれらが同じ値なら合致
する。変数と値は常に合致する。)イベントをイベント
プールから読み込む。イベントの読み込みにより、イベ
ントプールの内容は変化しない。パターンが合致するイ
ベントがイベントプールに存在しなければ、読み込みは
失敗する。パターンが合致するイベントが複数ある時に
は、それらの集合が読み込まれる。実際の動きの記述言
語では、デフォルトのイベントプールを準備し、イベン
トプール名を指定しない発信や読み込みはデフォルトの
イベントプールに対する操作とする、 イベントプールは機能別に複数個用意することによ
り、記述の容易さや可読性が向上する。複数のイベント
プールの存在を許すと、アクタのメソッドの記述中でin
やoutの引数としてイベントプール名を直接書き込んだ
場合、アクタがイベントプールの存在に従属するという
問題(この問題はイベントプールが一つしか存在しなけ
れば起こらない)が起こる。この従属性の問題はイベン
トプール名をデマンドの引数として渡すか、イベントか
ら取り込むことにより解消する。イベントの具体的な構
造を第4図に示す。
3.テイック(tick) 直接並行処理が記述できない逐次型のシステム上で並
行処理を疑似的に実現するためにテイックという概念を
導入する。これはある一定の時間に対応するもので、例
えば1テイックは1/60秒というように自由に設定でき
る。システムは1テイック毎にシナリオ、アクタ、ウオ
ッチャの実行を順次行っていくが、それらに関する全て
の処理が終った時点で、その結果を画面に反映させる。
これによって1テイック中の動きは全て同時に行なわれ
ている物として扱うことができる。例えばAというアク
タとBというアクタが動作を行う場合、システムの内部
ではどちらかのアクタが実行してから残りのアクタの実
行が行なわれるが、その結果が画面に現われるのは同じ
タイミングなので、テイックの幅があまり大きくなけれ
ば、各アクタが並行して動作しているように扱える。
4.アクタの動作 すべてのアクタは1テイック内に一度動作する。各ア
クタは、そのアクタ宛に発せられたデマンドを保持する
デマンドプールと、実行中のメソッド(プロセス)を保
持するプロセステーブルを持つ。ここで、プロセステー
ブルは、デマンドにより起動されたメソッドをプロセス
として登録しており、プロセス登録されたメソッドは、
アクタの動作の度に実行される。一つのメソッドが複数
のプロセスとして登録されることはない。各テイックに
おけるアクタの動作は以下の4.1、4.2である。
4.1 デマンドプールの処理 デマンドプールからデマンドを一つ取り出す。
・デマンドが何もなければ、プロセステーブルにあるメ
ソッドの実行4.2を行う。
・デマンドのメッセージ名に対応するメソッドが存在し
なければ、そのデマンドを無視し、次のデマンドの処理
を行う。
デマンドが実行要求の場合 ・プロセステーブルに対応するメソッドのプロセスが存
在しなければ、そのメソッドの状態「新規」としてプロ
セス登録する。
・対応するメソッドのプロセスが存在しており、 ・その状態が「新規」でなければ、そのプロセスの終了
処理を行った、デマンドに従って新規登録(複数のプロ
セスが同一のメソッドを実行することを禁止する)。
・その状態が「新規」であれば(同じデマンドが複数到
着している場合)、何もしない(最初に処理されたデマ
ンドを優先する)。
・次のデマンド処理を行う。
デマンドが実行中止要求の場合 ・プロセステーブルに対応するメソッドのプロセスが存
在する場合 ・プロセスの状態が「新規」でない場合はプロセスの終
了処理を行う。
・プロセスの状態が「新規」の場合は何もしない(実行
要求デマンドを優先する)。
・次のデマンドの処理を行う。
4.2 プロセステーブルにあるメソッドの実行 プロセステーブルの各プロセスに対して以下の処理
を行う。
・プロセスの状態が「新規」をものは、メソッドの動き
の記述部の起動時実行部分を実行したのち、プロセスの
状態を「通常」にする。
・プロセスの状態が「通常」のものは、メソッドの動き
の記述部の通常実行部分を実行する。
以上の説明で明らかなように、アクタは他のアクタか
ら独立して単独動作可能である。またデマンドやイベン
トによるメッセージ通信は他のアクタの存在を仮定して
いるが各アクタの動作には従属関係はない。
さて、上述の各構成要素を用いて動画のストーリを構
築するために、アクタをストリーを記述するためのシナ
リオ及び実際の登場物を表現するキャラクタ、キャラク
タの動きや事象の発生を監視するためのウオッチャに分
ける。以下各々について説明する。
1. シナリオ シナリオは、動画のストーリを表現するアクタであ
る。通常のアクタが画面上での色々な動きを行う登場物
として再利用可能な部品であるのに対して、シナリオは
表現したい動画毎に記述するものである。
シナリオの属性 シナリオは属性として、 ・動画へ登場するキャラクタ、ウオッチャ ・イベント送信に使用するイベントプールを持つ シナリオのメソッド シナリオのメソッドでは動画のストーリを表現する。
すなわち、属性として登録してあるキャラクタ、ウオッ
チャに、どの様なタイミングで、どの様なデマンド送信
を行うか、という記述を行う。シナリオの各メソッドは
動画の1シーンを表現するものであり、複数のメソッド
の同時動作は行れない。
シナリオに従ってキャラクタ、ウオッチャを動作させ
るには シナリオの動作 キャラクタ、ウオッチャの(可能なら並行)動作 ティックを進める を繰り返す。ただし、シナリオの送信するメッセージは
送信されたテイックにおいて処理対象となり、キャラク
タ、ウオッチャの送信したメッセージは送信された次の
テイックにおいて処理対象となる。シナリオの記述例を
第5図に示う。
2. キャラクタ キャラクタは映画で言うところの登場人物及び登場物
に相当する。キャラクタはさらに構造を持ち、各部分に
相当するサブキャラクタの集合として捉えることができ
る。例えば、人間というキャラクタは腕,足,胴体,頭
というサブキャラクタから構成され、さらには頭は目,
鼻,口などのサブキャラクタから構成されるという構造
を持たすことができる。これらの構造はユーザが状況に
応じて自由に構成することができる。キャラクタは基本
的な動きのルールを持っている。しかし、キャラクタが
自発的に何らかの動作を行うことはなく、常にシナリオ
又は上位のキャラクタからの司令によってのみ動作を始
めることができる。また、キャラクタは外界から情報を
入手してそれを元に判断を下して動作を変更したりする
ことは無く、シナリオから動作の変更、停止の指示を受
けて動く。第6図にキャラクタの記述例を示す。
キャラクタはそれぞれ一個ずつ、プロセステーブルと
デマンドプールを持つ。メソッドの開始終了はデマンド
プールに送られてきたデマンドにより行われ、起動され
たメソッドはプロセスとしてプロセステーブルに登録さ
れる。プロセステーブルは現在実行中のプロセスを管理
しており、メソッド名やその引数の他、プロセスid(プ
ロセステーブル上のプロセスが記述されているアドレス
を用いる)、同一キャラクタ内あるいはサブキャラクタ
のメソッドの起動・被起動関係を示す親ポインタ・子ポ
インタ、状態を示すstate、などの情報を含んでいる。
デマンドプールはキャラクタに対して送られてきたデマ
ンドを一時蓄えておく所で、メソッド名,引数,状態
(state)、デマンド発信者名(from)、メソッド実行
時刻(when)、などの情報を含む。
このプロセステーブルとデマンドプールとの関係を第
8図に示す。同図において81がプロセステーブルを表現
している。プロセステーブルは要素からなる。メソッド
名83には、メソッドの名前が文字列で格納されている。
デマンドによってメソッドの立ち上げを指示する場合、
この名前で指定する。メソッドの状態84は、現在このメ
ソッドがどのような状態にあるかを示す。状態には以下
の3種類がある。
START デマンドによってメソッドを立ち上げるよう指示があ
った。すなわち、今tickにおいてこのメソッドを1つの
プロセスとして起動する。
RUNNING すでにメソッドはプロセスとして実行されて現在も走
行状態である。
END メソッドは終了状態で、今tickにおいても実行は行わ
れない。
親プロセス82は、メソッドはシナリオ、又は他の(自
分自身を含む)アクタからのデマンドによって起動され
る。このメソッドがどのプロセスによって立ち上げられ
たかを示すものである。子プロセス85には、プロセス中
で他のメソッドを立ち上げた場合、そのメソッドを登録
しておく。
例えば人間の「走る」というメソッド「手を振る」と
いうメソッド「足を前後に出す」というメソッドの組合
せで実現されているとき「走り出せ」というデマンドが
シナリオから発せられた場合、第8図の(a),
(b),(c)の順に推移する。最初にシナリオから
「走る」というデマンドが出力される。アクタはそのデ
マンドをうけて、「走る」というメソッドの状態をS
(START)にし、その親プロセスとしてシナリオを登録
する。「走る」というメソッドの中から自分自身に対し
て「手をふる」と「足を動かす」というデマンドが出力
される。アクタは次のtichにこのデマンドを受けて、2
つのメソッドの状態をSにする。これらのメソッドは
「走る」というメソッドから起動されたものなので、3
者間には図のような親子関係が登録される。このあと、
「走る」というメソッドが終了したなら、その親子関係
をたどって「手をふる」というメソッドと「足を動か
す」というメソッドは終了する(状態がENDになる)。
3. ウオッチャ シナリオはキャラクタの動作を見てなんらかの判断を
下すことが多い。そこで常に関係するキャラクタを監視
し、指定された条件を満すような事態が起ったときにだ
けシナリオにその旨を連絡するウオッチャを設ける。各
ウオッチャのデマンドプールに届けられたデマンドに従
いメソッドの実行や、開始修了を処理する。ウオッチャ
はイメージを持たないこと以外はキャラクタと構造的に
ほぼ同一であるが、キャラクタのプリミティブな属性を
見ることができ、キャラクタの動きを監視して、キャラ
クタがある状態になったときにシナリオにイベントを送
ったり、キャラクタにデマンドを送るといったことを行
う。ウオッチャの記述例を第7図に示す。
以上シナリオ,キャラクタ,ウオッチャについて個々
に説明してきたが、ここで3者のメッセージ通信の関係
を第9図に示す。第9図において、符号4はデマンド
を、5はイベントを表わしている。
デマンドは送り先を指定した1対1通信で、シナリオ
91、アクタ92、ウオッチャ93のいずれもが出力すること
ができる。シナリオはアクタ、ウオッチャに対してデマ
ンドを送ることができるが、アクタ及びウオッチャがデ
マンドを送ることができるのはそれぞれのアクタ、ウオ
ッチャに対してのみである。イベントはシナリオ、アク
タ、ウオッチャのいずれもが出力することができ、送り
先は指定しない。
第10図にはメッセージ通信の関係をユーザにまで拡大
した場合を図示してある。
外部101(ユーザや他のアプリケーションシステム)
からの入力と同期して動く動画は、動くマニュアルやコ
ンピュータゲーム、あるいはプラントのモニタ制御を行
うパネル等に応用できる。上記のモデルで外部101と同
期する動画を記述するには、外部交信専用のアクタを定
義する。外部交信専用のアクタは、1テイック毎の動作
で、外部からの入力を解釈し、その結果をイベントとし
て発信、あるいは適当なアクタへデマンドとして送信す
る。また、イベントプールの状態を解釈し、外部へ適当
なメッセージ出力を行う。これにより動画記述における
外部との交信部分を局所化できるとともに、動画の構成
要素のすべてを統一的に記述することが可能となる。
以上、シナリオ及びキャラクタ、ウオッチャ各々の機
能及び記述方法について説明した。
さて、第5図,第6図,第7図のように記述して作成
されたキャラクタ記述ファイル111とウオッチャ記述フ
ァイル113は、第11図に示すように、それぞれキャラク
タ記述言語解釈部114及びウオッチャ記述言語解釈部115
によってコンパイルされてキャラクタライブラリ116及
びウオッチャライブラリ117に保存される。一方シナリ
オ記述ファイル112はシナリオ記述言語解釈部118によっ
てキャラクタライブラリ116及びウオッチャライブラリ1
17から必要なキャラクタ、ウオッチャの情報を取り出し
ながらコンパイルされて実行ファイルである動画制御プ
ログラム119が作成される。この間の処理の流れを第12
図に示す。
こうして作成された動画制御プログラム119は動画生
成実行部121によって、必要に応じて入力装置120から入
力されるユーザからの入力を受けながら処理されて、デ
ィスプレイ122に動画が表示される。
以下に動画生成実行部121による動画生成処理手順を
説明する。
処理手順は第13図に示すように起動(初期化)131、
シナリオ処理132、キャラクタ処理133、ウオッチャ処理
134、タイミングチエック135の順に各々処理された後デ
ィスプレイ122への表示処理136を行って、停止条件チエ
ック137を経てシナリオ処理132へ戻る。以上のループ処
理を停止条件が満たされるまで繰り返えす。
各処理の詳細を説明する。
1. 起動(初期化) 起動(初期化)131は、シーンの初期化と動画の開始
処理を行う。動画をスタートさせるにはプログラムを起
動し、初期画像が現れたところで入力装置120から開始
コマンドを入力する。動画はキャラクタの動きとシーン
の切り替えにより展開されるが、必要に応じて開始シー
ンの指定やキャラクタの初期設定の変更ができる。得に
指定がなければデフォルド値を用いる。プログラムが起
動されると、キャラクタテーブルが用意され、テーブル
にデフォルト値(または指定値)が代入され、これに基
づいて初期画像が描画される。
キャラクタテーブルとは1つのキャラクタが幾つかの
サブキャラクタの集合として構成されているとき、その
構成要素であるサブキャラクタの一覧表にあたる。具体
的には第14図に模式的に示したようなサブキャラクタの
名前の一覧表である。例えば人間というキャラクタは
頭、胴体、両手、両足というサブキャラクタの集合体で
あると定義したなら人間キャラクタのキャラクタテーブ
ルには頭、胴体、両手、両足が登録される。さらに頭と
いうサブキャラクタを目、耳、口、鼻、髪からなると定
義すればさらに階層的な構造をとることができる。
2. シナリオの処理 シナリオの処理132は条件部のチエックと実行部の評
価すなわち実行とに分けられる。
2.1 シナリオ条件部の処理 1tick前のイベントと現在時刻のイベントがイベント
プール上で干渉するのを防ぐため、まず全てのif文の条
件部が評価され、if文に実行フラグが立てられる。その
後、イベントプールをクリアして実行フラグの立ってい
るif文はシナリオ実行部の処理に制御が渡される。
2.2 シナリオ実行部の評価 シナリオ実行部ではシナリオ条件部で実行フラグが立
てられているif文のステートメントを評価する。シナリ
オ条件部評価の結果if文に立てられた実行フラグを参照
しながら、シナリオ実行部を評価してゆく。シナリオ実
行部ではout文によるイベントプールへのイベント送
信、send文remove文によるキャラクタのデマンドプール
へのデマンド送信などを行いシナリオやキャラクタを制
御する。デマンドプールはシナリオ条件部の評価が全て
終わった時点でクリアされ、前のtickのイベントは残っ
ていない。新たにプールに書き込まれるイベントは次の
tickで評価されるべきものとする。
3. キャラクタの処理(メソッドの実行) 各キャラクタのデマンドプールに届けられたデマンド
に従い、メソッドの実行や、開始終了を処理する。キャ
ラクタの処理におけるメソッド実行時刻はtickによる時
刻を用い、システムはグローバルに与えられるtick時刻
を参照しながら、メソッドの発火時刻を判断する。一つ
のキャラクタは、まずデマンドプールを調べ、現在時刻
において実行可能なデマンドを全てプロセステーブルに
書き込み、続いてプロセステーブル上のメソッドを実行
するという手順で処理が行われる。これが終わったら別
のキャラクタについて同様のことを行い、全部のキャラ
クタについて処理が終わったところでウオッチャの処理
に移る。
4. ウオッチャの処理 ウオッチャの処理134は、ウオッチャの構造がキャラ
クタと同じであるため、その処理はキャラクタに準じ
る。
5. タイミングのチエック 先に説明したように、本システムはtickという時間概
念により1tick1サイクルを繰り返している。このtick数
をもってメッセージの発火時刻などの制御を行っている
が実時間換算の単位時間Alt=1tick(第15図において符
号151で表わしている。)が別に定めている。システム
は直前に表示152を行ってから現時点まで実際に経過し
た時間dpt153を計測しており、この値とAltとの比較に
より表示のタイミングを制御する。すなわちtdp<Altの
場合にはdpt=Altとなるまで待ってから表示処理136に
制御を渡す。またdpt≧Altの場合には132から135までの
各処理が済みしだい表示処理136に制御を渡す。
なお、表示のn倍早送りはAltの間にnサイクルの処
理を行い、表示処理のみnサイクル目に行うことによっ
て行う。
6. 表示136 キャラクタテーブル上のキャラクタのうちから必要に
応じて位置と形状の情報を読み取ってディスプレイに表
示する。
7. 停止条件のチエック137と停止処理138 1サイクルの終りにユーザからのイベンドを取り込
み、停止イベントが来ていたら動画を停止させる。また
停止イベントが来ていなくても、 ・イベントプールにイベントが一つもない ・実行中のプロセスを持つキャラクタが一つもない ・アクティブなキャラクタに一つもデマンドが来ていな
い 場合には停止処理138が実施されて、表示は停止す
る。
<発明の効果> 以上に説明してきたように本発明によれば、動画を登
場物の疑似並行動作系ととらえ、他に従属せずに動作す
る独立性の高いアクタを属性部とメソッド部によって定
義し、このアクタの動きの同期のためにデマンドとイベ
ントという2種類の通信機能を設けたことによって、動
画として表現したい事象を時間に対して非決定的に記述
でき、またユーザ及び他のアプリケーションからの入力
を簡単に記述して処理できるとともに表現したい事象に
関する変更が最少限の記述の変更で可能な動画生成方式
を提供することができた。また、汎用性の高いアクタを
部品化してライブラリに保存することによって、動画の
構成要素を容易に再利用することができるようになっ
た。
【図面の簡単な説明】
第1図は本発明の動画生成方式のメッセージ通信の説明
図、第2図は動画例を表わす図、第3図はデマンドの構
造を表わす模式図、第4図はイベントの構造を表わす模
式図、第5図はシナリオの記述例を示す図、第6図はキ
ャラクタの記述例を示す図、第7図はウオッチャの記述
例を示す図、第8図はプロセステーブルの説明図、第9
図及び第10図は本発明の実施例のメッセージ通信の説明
図、第11図及び第12図、第13図は本発明の実施例の処理
手順の説明図、第14図はキャラクタテーブルの説明図、
第15図は表示周期の説明図である。 1……デマンドプール、2……アクタ、3……イベント
プール、4……デマンド通信、5……イベント通信。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉川 耕平 大阪府大阪市阿倍野区長池町22番22号 シャープ株式会社内 (72)発明者 千葉 徹 大阪府大阪市阿倍野区長池町22番22号 シャープ株式会社内 (56)参考文献 宮本外2名”動画生成のための並行動 作モデル”情報処理学会研究報告、社団 法人情報処理学会 平成2年第90巻、第 62号(SE−73)p.51−58

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】登場物あるいはストーリなどの動画のオブ
    ジェクトを統一的に表現するためのアクタが特定の時間
    間隔を単位として疑似並行動作を行うことによって動画
    を生成する方式であって、 前記アクタは、 該アクタが表現するものの属性値を定義するための属性
    部と、 前記属性値の変化の具合、あるいは、前記アクタの状態
    や事象の成立などを他のアクタに伝達するデータ通信の
    ためのイベントの発信あるいはイベントの読み込み、及
    び、他の特定のアクタに対して動作指令を伝達する仕事
    要求通信のためのデマンドの送信を記述するものである
    メリッド部より構成され、 上記メリッド部に記述された仕事要求通信のためのデマ
    ンド及びデータ通信のためのイベントによってメッセー
    ジ通信を行いながら疑似並行動作する過程を可視化する
    ようにしたことを特徴とする動画生成方式。
JP1311082A 1989-11-29 1989-11-29 動画生成方式 Expired - Lifetime JP2675646B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1311082A JP2675646B2 (ja) 1989-11-29 1989-11-29 動画生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1311082A JP2675646B2 (ja) 1989-11-29 1989-11-29 動画生成方式

Publications (2)

Publication Number Publication Date
JPH03168877A JPH03168877A (ja) 1991-07-22
JP2675646B2 true JP2675646B2 (ja) 1997-11-12

Family

ID=18012906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1311082A Expired - Lifetime JP2675646B2 (ja) 1989-11-29 1989-11-29 動画生成方式

Country Status (1)

Country Link
JP (1) JP2675646B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2981642B2 (ja) * 1994-01-07 1999-11-22 富士通株式会社 映像生成装置
JP4588128B2 (ja) * 1996-03-22 2010-11-24 ソニー株式会社 表示装置及び方法
US5689437A (en) * 1996-05-31 1997-11-18 Nec Corporation Video display method and apparatus
JP2007272375A (ja) * 2006-03-30 2007-10-18 Terumasa Aoki スクリプト生成方法およびプログラム
FR3076674B1 (fr) 2018-01-09 2022-03-04 Whylot Sas Moteur ou generatrice electromagnetique a deux rotors et quatre stators et systeme de refroidissement integre

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宮本外2名"動画生成のための並行動作モデル"情報処理学会研究報告、社団法人情報処理学会 平成2年第90巻、第62号(SE−73)p.51−58

Also Published As

Publication number Publication date
JPH03168877A (ja) 1991-07-22

Similar Documents

Publication Publication Date Title
US7336280B2 (en) Coordinating animations and media in computer display output
US6606741B2 (en) Method for visual programming with aid of animation
KR20060040704A (ko) 가상 환경을 제어하기 위한 장치
EP1877897A1 (en) Interactive multimedia applications device
Kirner et al. Virtual reality and augmented reality applied to simulation visualization
CN112669194B (zh) 虚拟场景中的动画处理方法、装置、设备及存储介质
WO2024120032A1 (zh) 虚拟对象的毛发处理方法、装置、设备、存储介质及程序产品
JP2675646B2 (ja) 動画生成方式
CN114661284A (zh) 游戏编辑方法、游戏运行方法、装置及计算机设备
Roberts et al. Steps towards prompt-based creation of virtual worlds
Thalmann et al. Crowd and group animation
Pellens et al. CoDePA: a conceptual design pattern approach to model behavior for X3D worlds
EP0789894B1 (en) Simulation control apparatus and method
JPH07239947A (ja) アニメーション作成装置
CN115170707B (zh) 基于应用程序框架的3d图像实现系统及方法
Kim et al. Scene Graph for Dynamic Virtual Environment: Spangraph
Fei et al. AVATAR: Autonomous visual authoring of tangible augmented reality
Zarrad An extensible game engine to develop animated facial avatars in 3d virtual environment
Magnenat-Thalmann Living in both the real and virtual worlds
Boukerche et al. 3D web-based virtual simulation environments extensibility through interactive non-linear stories
JPH07210652A (ja) 提示情報作成装置
Abd El-Sattar A new framework for plot-based interactive storytelling generation
Wilczynski et al. System for Creating Games in Augmented Environments
Zarrad et al. A novel approach to develop large-scale virtual environment applications using script-language
Sheehan Parallelism in the Icicle programming environment