JP2000089960A - デ―タ処理装置 - Google Patents
デ―タ処理装置Info
- Publication number
- JP2000089960A JP2000089960A JP11215585A JP21558599A JP2000089960A JP 2000089960 A JP2000089960 A JP 2000089960A JP 11215585 A JP11215585 A JP 11215585A JP 21558599 A JP21558599 A JP 21558599A JP 2000089960 A JP2000089960 A JP 2000089960A
- Authority
- JP
- Japan
- Prior art keywords
- plug
- effect
- com
- effects
- stored
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Stored Programmes (AREA)
Abstract
ンに割当てられるようにしてプラグイン設計及び動作に
かかる制約を減じる。 【解決手段】 本発明のデータ処理装置は、装置の全般
的な動作を制御するコア・オブジェクトと、該コア・オ
ブジェクトと通信するように配された複数のプラグイン
COMオブジェクトとを有し、上記コア・オブジェクト
は、作業データの記憶及び/又は検索に用いるため、C
OMストリーム・インタフェース及びCOMストレージ
・インタフェースを上記プラグインCOMオブジェクト
に与える。
Description
おけるデータ処理装置に関するものである。
は、「コア」コンピュータ・プログラム及び必要な時に
格納できる幾つかのプログラム・モジュール又は「プラ
グイン」を利用するものがある。
絡できる1つの方法として、いわゆる「Object Linking
and Embedding」(OLE)プロトコルがある。これ
は、1996年Microsoft Press 発行,David Chappell
著「Understanding Active Xand OLE 」という本に記載
されている。
は、コンピュータ・プログラムの種々異なるセクション
をいわゆる「COM(Component Object Model)オブジ
ェクト」として実現できる。各COMオブジェクトは、
各々が幾つかの「メソッド」を含む1以上の「COMイ
ンタフェース」を支えている。メソッドは、特定の運動
を実行する機能又は手順である。COMメソッドは、上
記COMオブジェクトを使用するソフトウェアによって
呼び出すことができる。このシステムでは、COMオブ
ジェクトを使用するソフトウェア(いわゆる「クライア
ント」)の他の部分は、所定のインタフェースを介して
のみそうすることができるように制約されている。即
ち、それらは、所定のCOMインタフェースを介さなけ
れば、該オブジェクト内のプログラムコード又はデータ
に直接アクセスすることができない。
例として、コンピュータ使用ビデオ特殊効果装置があ
る。かような装置では、ユーザは一般に多数の使用可能
なモジュールから一連の効果モジュールを選択すること
により、或るビデオシーケンスに適用する合成特殊効果
を設定することができる。例えば、ユーザによって設定
される一連の効果には、次のようなものが含まれるであ
ろう。 (i)イメージローダ(画像を格納するもの) (ii)モーショントラッカ(動きを追跡するもの) (iii) 動きの追跡とイメージローダに連動した照明効果 (iv)動きの追跡とイメージローダに連動した画像再編
成
ール又はプラグイン(COMオブジェクト)として具現
され、データは、コア・プログラム(プラグインとの通
信が要求されるときCOMインタフェース(単数又は複
数)を与えることができる1以上のオブジェクト)の全
般的制御の下にモジュール間を転送される。したがっ
て、上記コア及びプラグイン・プログラム間のインタフ
ェースはCOMシステムによって定められるが、プラグ
イン設計者は一般に、そのレベルを越えて適当な方法で
それらのインタフェースの下で必要なメソッドを自由に
実施できる。
イプのシステムでは、各オブジェクトがその作業又は結
果データを別々のデータファイルに蓄えるべきだとする
のは望ましくない、と一般に考えられている。実際に、
この議論を深めた場合、そのようにすれば、OLEシス
テムを確立させた論理の多くと合わないことが、明らか
となるであろう。代わりに、このタイプのシステムのデ
ータは、全部のオブジェクトによりただ1つのファイル
又は「複合文書」に記憶される。ただし、整理された構
造であれば、複合文書内に記憶される。
クトリ構造に似た或る構造が設けられている。ディレク
トリの均等物はいわゆる「ストレージ」であり、ファイ
ルの類似物はいわゆる「ストリーム」である。各複合文
書はルート(根)ストレージを有し、その下方にはスト
レージ及びストリームのよく知られた木構造がある。C
OMストリーム・インタフェースはCOMストレージ・
インタフェースより簡単であるが、勿論ストレージ・イ
ンタフェースの方がもっと柔軟性がある。
トレージ又は自分のストリームに割当て、その中に作業
データを記憶させることができる。しかし、コア・プロ
グラムが幾つかのプラグインの動作を調整する上述のビ
デオ特殊効果プロセッサのような階層システムにおいて
は、これまで1つのストリームを各効果プラグインに割
当てるようにしていた。
ージ又はストリームのいずれか一方を所定の方法で全プ
ラグインに割当てることは、プラグイン・オブジェクト
の設計及び動作に余りに多くの制約を課すことになると
の認識に基き、代わりに、設計者が望めば、プラグイン
がその作業データを容易に記憶できるようにプラグイン
にストリームを割当て、同じく望めば、プラグインがそ
の作業データを複数のストリームとストレージの自己の
「ディレクトリ」配置の下で記憶できるようにプラグイ
ンにストレージを割当てられるようにしようとするもの
である。そうすれば、その選択をプラグイン設計者に任
せることができる。
装置は、装置の全般的な動作を制御するコア・オブジェ
クトと、該コア・オブジェクトと通信するように配され
た複数のプラグインCOMオブジェクトとを有し、上記
コア・オブジェクトは、作業データを記憶及び/又は検
索するのに使用するため、COMストリーム・インタフ
ェース及びCOMストレージ・インタフェースを上記プ
ラグインCOMオブジェクトに与えることを特徴として
いる。
体的に説明する。図1は、本発明を適用できるデジタル
ビデオ特殊効果装置の概要図である。図1において、連
続する画像を表すデジタルビデオ信号は、入力インタフ
ェース(I/F)100を介して受信されディスクアレ
イ装置110に記憶される。ディスクアレイ装置110
はまた、本効果装置により生成された処理済み画像をも
記憶し、これらは出力インタフェース120を介し出力
として供給される。
ィスクアレイに記憶されたデータにアクセスし、ユーザ
の指令(コマンド)に従い種々のビデオ特殊効果を達成
する。CPU130は、マウス及びキーボードのような
ユーザ入力装置140から入力を受け、作業データ及び
プログラムコードをメモリ150に記憶させ、出力デー
タを生成し、表示駆動部170を介してスクリーン16
0に表示させる。
ばマイクロソフト・ウィンドーズNT(登録商標)オペ
レーティングシステムにより動作する汎用コンピュータ
(例えば、PC)として具現することができる。この例
では、ディスクアレイは、ウルトラSCSIデータリン
クを介してCPU130に接続される。
ウェアの編成の概略を(極めて一般的な水準で)示すも
のである。このソフトウェアは、2種類のプログラムコ
ードより成り、1つは図2の左側に示すコア構造部であ
り、もう1つは図2の右側に示す種々のプラグイン部で
ある。このソフトウェアが初めに格納されると、コア構
造部は、常に存在して異なる特殊効果プロセス間で共通
する本装置の動作の各部分を制御する。これに対し、プ
ラグライン部は、個々の特殊効果(照明効果、動き追跡
効果など)に関するもので必要な時にのみ格納される。
ジュールに関するプラグインのみをメモリに格納すれば
よいので、極めて効率のよいものである。こうすると、
想定されるすべての特殊効果に対するプログラムコード
を格納しなければならないシステムに比べて、メモリを
少なくすることができる。これはまた、装置の初期設定
をもつと迅速化し、システムを最初スタートさせる際に
プログラムコードをすべてメモリに格納する必要をなく
し、グラフエディタ(後述参照)において最初にアイコ
ンを選ぶときのコードの格納による遅延を少なくするこ
とができる。更に、この配置は、グラフエディタ及びプ
ラグインを除くコア処理のみを含むので、供給又は組込
むべき装置部品(特に、作動ソフトウェア)を減らすこ
とができる。このシステムはまた第三者又はユーザがプ
ラグイン部及びコア構造部間の決められたインタフェー
ス・プロトコルを守る限り、彼等自身のプラグインを生
成することを可能にしている。よって、ユーザは、比較
的小さなプラグイン・プログラムを書込むことにより、
注文の効果を極めて簡単に生成することができよう。
appell著1996年Microsoft Press 発行の「Understandin
g Active X and OLE」という本に記載された、いわゆる
OLE(Object Linking and Embedding)プロトコルを
用いて互いに伝達を行う。
は、コンピュータ・プログラムの種々異なるセクション
をいわゆる「COM(Component Object Model)オブジ
ェクト」として実現できる。各COMオブジェクトは、
各々が幾つかの「メソッド」を含む1以上の「COMイ
ンタフェース」を支えている。メソッドは、特定の運動
を実行する機能又は手順である。COMメソッドは、上
記COMオブジェクトを使用するソフトウェアによって
呼び出すことができる。このシステムでは、COMオブ
ジェクトを使用するソフトウェアの他の部分は、所定の
インタフェースを介してのみそうすることができるよう
に制約されている。即ち、それらは、所定のCOMイン
タフェースを介さなければ、該オブジェクト内のプログ
ラムコード又はデータに直接アクセスすることができな
い。
ラグイン部とこれらのCOMインタフェースを介して伝
達を行う(実のところ、コア構造部は、COMインタフ
ェースを提供できる幾つかの相互連絡オブジェクトを有
するが、基本原理は同じである。)。
に作動ソフトウェアの編成を示すものである。図3は、
4つの象限に分割されている。左上の象限はいわゆるビ
ューワーウィンドー310を示し、右上の象限は効果ユ
ーザインタフェース(UI)320を示し、右下の象限
は、関連するパラメータデータ(PD)を有する「効果
サーバ」330を示し、左下の象限は、オブジェクトマ
ネージャ350、描画マネージャ352及び変更マネー
ジャ358と共にグラフを含むコア・プロセッサ340
を示す。左下と右下の象限の間のインタフェースには、
ウィンドーズNTレジストリの一部をなすメタ・データ
ベース354と、効果アイコンを含むパレット356
と、省略パラメータ値とがある。メタ・データベース3
54については図11を参照してあとで説明する。パレ
ット356については図6〜9を参照して後述する。
殊効果を続けて連結した「グラフ」、即ち「有向非繰返
しグラフ」がある。各効果は、グラフ内でプロキシ(代
理)効果(PE)として表示されている。各PEは、効
果の出力が得られると直ちにこれを記憶するキャッシュ
(C)を有するので、例えば一連の効果の中で重要な効
果に関連するパラメータが変化した場合、一連の効果の
中の効果からデータを再使用することができる。各プロ
キシ効果は、夫々の効果サーバ330と対応している。
ム内で用いるオブジェクトの存続期間やメモリ処理を制
御する責任をもつ。描画マネージャ352は、描画タス
クの開始、進行、優先順位の指定及び停止を制御する。
変更マネージャ358は、情報の取消し/やり直し及び
システム各部への変更の連絡を制御する。
上及び左下)がどの効果にも関係しないというコア構造
部の機能的特徴を示すように分割されている。これらの
オブジェクトは、ユーザがどの特殊効果を実施しようと
望んでいるかに関係なく、メモリに格納される。右側の
2つの象限(右上及び右下)は、プラグイン部に関係す
る。各プラグインは、そのプラグインによって実施され
る効果に関連した処理を行うサーバ330と、その効果
に関するユーザインタフェース制御(実際は、ビューワ
ーウィンドー310における表示制御)を行うユーザイ
ンタフェース(UI)320とを有する。
り、これにより、2つの上方の象限(左上及び右上)は
特殊効果に関連するユーザインタフェース制御に関係
し、2つの下方の象限(左下及び右下)はそれらの効果
を実施するために行う処理や編成に関係していることを
示す。
よって実行するために作成された一連の効果のうち特定
の効果の出力及びそれの制御パラメータを観察する機会
をユーザに与えるものである。即ち、ユーザがビューワ
ーウィンドーを開くと、或る効果の出力が生成される
か、或いは可能な場合キャッシュ・メモリから検索され
る。
タイプのシステムでは、各オブジェクトがその作業又は
結果のデータを別々のデータファイルに蓄えるべきだと
するのは望ましくない、と一般に考えられている。実
際、そのようにすると、OLEシステムを確立させた論
理の多くと合わないようである。代わりに、このタイプ
のシステムのデータは、全部のオブジェクトによりただ
1つのファイル又は「複合文書」に記憶される。ただ
し、順序付けされた構造であれば、複合文書内に記憶さ
れる。
クトリ構造に似た或る構造が設けられている。ディレク
トリの均等物はいわゆる「ストレージ」であり、ファイ
ルの類似物はいわゆる「ストリーム」である。各複合文
書はルート(根)ストレージを有し、その下方にはスト
レージ及びストリームのよく知られた木構造がある。C
OMストリーム・インタフェースはCOMストレージ・
インタフェースより簡単であるが、勿論ストレージ・イ
ンタフェースの方がもっと柔軟性がある。
トレージ又は自分のストリームに割り当て、その中に作
業データを記憶させることができる。しかし、コア・プ
ロセッサ340が幾つかのプラグインの動作を調整する
本ビデオ特殊効果プロセッサのような階層システムにお
いては、これまで1つのストリームを各効果プラグイン
に割当てるようにしていた。
ージ又はストリームのいずれか一方をプラグインに割当
てることは、プラグイン・オブジェクトの設計及び動作
に余りに多くの制約を課すことになると認識されてい
て、代わりに、コア構造部とプラグイン部との間のイン
タフェース定義において、各プラグインは、プラグイン
設計者が望む場合、その作業データを容易に記憶できる
ように1つのストリームを選択でき、同じく望む場合、
複数のストリームとストレージの自己の「ディレクト
リ」配置の下でその作業データを記憶できるように1つ
のストレージを選択できるようになっている。この選択
は、プラグイン・プログラムコードを作成するプラグイ
ン設計者によって予め行われる。
間の通信プロトコルについては図4及び図5に関連して
説明し、コア・プログラム340のグラフエディタ部を
用いて個々の効果を連結し、複合効果を作る方法につい
ては図6〜図9を参照して説明し、ビューワーウィンド
ー及びそれと効果ユーザインタフェース(UI)320
との対話については、図10を参照して説明する。
果パラメータの伝播状態を模式的に示す。この伝播状態
は、ユーザが「照明」特殊効果を設定し、光源の効果が
画像に加えられる場合の例である。光源は、ユーザが定
めるソースと画像に関する行先位置とを有する。ユーザ
がこれらの位置の1つを変えたいと望む場合、現在該効
果から描画されている出力を無効とし、その変化を図3
の異なる象限に示す種々のオブジェクトに伝達させる必
要がある。この処理過程を図4に示す。
メータをビューワーウィンドー310を介して実際に書
入れる(図10参照)。ビューワーウィンドーは特定の
効果ユーザインタフェース320と対応しており、この
インタフェースはまた個々の効果に関する各プラグイン
の一部をなす。(実のところ、1つのビューワーウィン
ドーを1より多い効果と対応させることができ、任意の
特定時間に開かれるビューワーウィンドーをすべての効
果がもつには及ばないが、都合上図3の簡略化された配
置に基いて説明する。)プラグインは、「これより編集
に入る(aboutto edit)」との通知をコア側に発する。
「変更発生」メッセージを発する。これにより、一連の
動作が発生及び/又は開始される。最初のステップ40
1で、ビューワーウィンドーは更新されたパラメータを
効果UI320に伝達する。効果UI320は、「セッ
ト」コマンドを対応する効果サーバ330に発し、修正
された値を効果サーバ330内のパラメータ・メモリに
セットさせる。このステップを図4の402で示す。
「取消し/やり直し」オブジェクトをコア・プロセッサ
340の中に書込んで、変更の前後におけるパラメータ
の(効果サーバ内の)記録を指し示すハンドル又はポイ
ンタの詳細を供給する。この「取消し/やり直し」オブ
ジェクトを受取ると、ステップ404で、コア側は、パ
ラメータが変更され幾つかのキャッシュされたデータ出
力が無効になるかも知れないという通知を全ビューワー
ウィンドーに流す。この通知は、パラメータの変更が行
われたビューワーウィンドーに限定されない。
ーは、対応する効果UI320にその処理パラメータの
更新を要求するメッセージを発する。ステップ406
で、効果UI320は、「ゲット」コマンドを対応する
効果サーバに発して新しいパラメータを得させる。新し
いパラメータは、ステップ407で効果UI320に返
送される。効果UIはそれから、ステップ408でビュ
ーワーウィンドーにその変化を伝えて表示させる。
以上の効果出力の描画をやり直す必要が生じる。図5
は、描画し直しコマンドが装置内を伝播する様子を示
し、これは図4の処理から引き続いて起こる。
は描画し直しコマンドを描画マネージャ352に発す
る。すると、描画マネージャは描画し直しコマンドを対
応する効果サーバ330に発する。効果サーバは、画像
の作り直しを終えると、「終了」メッセージをコア・プ
ロセッサ340に発する。コア側は、ステップ505で
これをビューワーウィンドーに知らせ、ステップ506
及び507で、ビューワーウィンドーは効果UI320
と対話し描画し直した効果出力を表示する。
のフレームが関心の域(これは、テスト目的でユーザが
ビデオクリップ全体の部分集合として決めることができ
る。)内にある場合、処理資源をとっておくため次の優
先順に従い多数の同時発生タスクとして画像が描かれ
る。 (i)ユーザが観察するために現在表示されている単数
又は複数の画像、(ii)関心のある出力シーケンスの最
初と最後の画像、(iii) 関心のある出力ビデオシーケン
スの残りの画像
は、効果サーバに描画し直しコマンドを発する前に、シ
ーケンス内のどの画像を描画すべきかを指定する「描画
準備」メッセージを発する。効果サーバは、これに応じ
てその「依存性」を、即ち描画マネージャから要求され
る前に必要となる描画像を作成しなければならないこと
を通知する。これらの画像は、他の効果(例えば、非繰
返し有向グラフにおける直ぐ前の効果)により描画され
るものか、或いはその効果自体によって描画されるもの
かも知れない。この後者の例は、モーショントラッカの
場合に起りうる。即ち、例えば、画像5を描くためにモ
ーショントラッカが画像4に対する自分の描画出力を必
要とする場合である。
受取ると、描画マネージャは、それらの画像を求める
「描画準備」メッセージを送る。以下、従属ツリーが終
わるまで同様のことが行われる。各階段において、プロ
キシ効果は、要求された画像又は描画出力がキャッシュ
に記憶されたかどうかをチェックし、描画マネージャに
知らせる。
備メッセージがモーショントラッカに送られると、モー
ショントラッカは、これに応答して画像4に対する自己
の描画出力を要求していることを告げる。すると、描画
マネージャは、画像4に対する描画準備メッセージをモ
ーショントラッカに送る。モーショントラッカは、これ
に応答して画像3を要求していることを示す。以下同様
である。こうして、所要画像(画像5)が描画される前
に必要な描画ジョブのリストが作成される。キャッシュ
に記憶されている描画出力は、描画マネージャのジョブ
のリストには含まれない。
る場合には同じことが起こり、同様に一連の効果を前に
さかのぼる。この過程が終わると、描画マネージャは、
現在要求されている画像が、それの依存する画像がすべ
て描かれるまでは描かないように逆の順序で、要求され
たすべてのジョブを進めてゆく。
各効果への入力が何であるかを前記グラフから検出する
のがよい。そして、効果サーバは、所定のコードを送り
(例えば、ゼロ応答)簡単に「この効果に対する入力は
すべて要求済み」と告げるとよい。
合う画像と同じであるかどうかを描画マネージャに知ら
せうるように、同じプロトコルを使用するとよい。これ
の簡単な例は、その出力が不変である場合の(一定)パ
ラメータ・プラグインである。更なる例は、どれか他の
効果の出力が既に準備されキャッシュに記憶されてい
て、連続する出力が同一かどうかを容易に検出できる場
合である。かような通知に応答して、描画マネージャ
は、有向非繰返しグラフで後の他の効果サーバにその情
報を送る。すると、その効果サーバは、(適当ならば)
一連の画像の1つだけを描画し、入力が変わらない他の
画像に対してその出力を繰返す。
10とパレット・ウィンドー600を示す概略図であ
る。これらは、コア・プロセッサ340の制御の下に表
示スクリーン160に表示される。パレット・ウィンド
ー600は幾つかのアイコン620を含み、これらの各
々は、考えられる種々の効果の1つにマッピングされ、
それらの効果を表している。本システムには、各効果に
対するプラグインが存在する。ユーザは、マウスを用い
てこれらのアイコンをスクロール可能なグラフ・ウィン
ドー610に「引き込む」ことができる。ユーザは、グ
ラフ・ウィンドー内にこれらのアイコンを配置し、該ウ
ィンドー内で図形線として示す論理リンク630で互い
に連結することができる。
の効果の入力へ送ることを表し、(この具体例では)常
にグラフ・ウィンドーの下から上の方への向きをもつ。
即ち、図6の例は、イメージローダ(I/L)アイコン
640の出力を照明効果650に送ることを示す。
形線を描くと、コア・プロセッサ340は、論理リンク
を設定して描画出力が或る効果プラグインから他のプラ
グインに送られる経路を決定する。これより、図7を参
照して図形線を作成する方法を説明する。それから、図
8を参照して論理リンクを説明する。
ば、マウスのクリックで)選択すると、アイコン650
からマウスポインタ730に向かう動かせる図形線72
0が得られる。マウスポインタが混合効果アイコン70
0に近づくと、その混合効果アイコンが拡大され、即ち
拡大線710に囲まれ、その最下部に2つの入力ポート
740が現れる。マウスポインタが入力ポートの一方に
近づくと、図形線720はその入力ポートに飛びつき、
マウスクリックで所定場所に固定される。これにより、
効果650と効果700の間に論理的及び図形的な連結
が確立される。
れると、ユーザは、グラフ・ウィンドー内で効果アイコ
ンが連結されたグループ800を「箱に入れる」ことが
できる(図8)。ここで、「箱に入れる」とは、コンピ
ュータ・マウスを使って標準的な方法で上記グループの
周りに箱を描くことである。(これを実現する1つの方
法は、箱の左上隅でクリックして保持し、マウスを右下
隅に引き、これからマウスボタンを放すことである。こ
れは、複数の画面のオブジェクトを選択する標準的方法
である。)
ープをパレット領域に引き込むことができる。これによ
り、該グループの入力から形成される一連の入力と、該
グループの出力から形成される一連の出力とを有する新
しい複合効果アイコン810が作成される。論理的にい
えば、効果アイコン810は、特定のプラグインにマッ
ピングされないで、特定の方法で相互連結されたプラグ
インの連結グループにマッピングされる。
ット・ウィンドーの一部となり、ユーザによりグラフの
設計に使用される。ユーザがあとで複合アイコン810
を利用したい場合、単にそれをグラフ・ウィンドーの適
所に引き込むだけでよい。効果アイコン810は、グラ
フ・ウィンドー上でも1つのアイコンのままであるのが
よいが、他の具体例では元のグループ800に引き伸ば
すこともある。或いはまた、1つのアイコンとして圧縮
した形で表示してもよい。ただし、ユーザが引き伸ばし
ボタンをクリックして元のアイコン・グループ800を
観察できるように、引き伸ばしボタン付きの表示とする
のがよい。いずれにしても、アイコン810によって与
えられる複合効果は、元のグループ800のコピーであ
る。
リを示す。図9において、アイコン850は、パレット
領域600におけるパレットアイコン620からグラフ
・エディタ領域610に引き込まれたものである。パレ
ット領域600について述べると、図3に示したパレッ
ト356には、ルート(根)860及び該ルートからぶ
ら下がる個々のデータ項目870を有するツリー(木)
のように配置されたデータ構造が記憶される。各データ
項目870は、1つの効果アイコン620を表すが、効
果875のような複合効果の場合は別である。この場
合、その効果を形成する効果アイコン(3a,3b)
は、そのデータ項目875からぶら下がる下部構造とし
て配置される。
る類似のデータ構造が存在する。ここでは、ただ1つの
効果885がぶら下がったルート880が示されてい
る。グラフ・エディタ領域において幾つかの効果をグル
ープとして一緒に集めパレットに引き込む場合、それら
は更に、構造875に似た複合効果構造となる。
である。ビューワーウィンドーは、画像表示領域90
0、種々の「属性ページ」910、効果制御部920
(ここでは、照明効果の例における位置決め十字線を示
す。)及び「バーボタン」930を具えている。ビュー
ワーウィンドーの基本配置は、コア構造部によって設定
され、効果ごとに基準となるものである。ただし、属性
ページ910を用いて調整できる個々の項目は、特定の
効果に対応する効果ユーザインタフェース(UI)32
0によって設定される。効果UI320はまた、制御部
920に対する表示の細目を与える。
における光のソース又は目標位置を決定する。ユーザ
は、コンピュータ・マウスを用いて十字線を移動させる
ことができる。十字線を移動させると、当該制御に関連
するパラメータ(x,y)値が変わり、図4の手順(パ
ラメータ値の更新)が開始される。その手順の最後のス
テップ408(図4)で、効果UIは訂正されたパラメ
ータ値をビューワーウィンドーに発する。その段階で、
十字線はその新しい位置に再表示される。したがって、
ユーザには移動操作が十字線を最終の位置に動かしたよ
うに見えるが、実のところは、移動操作がパラメータを
図4に示す経路によって更新させ、その結果十字線の移
動が生じたのである。
を模式的に示すものである。これは、本装置の特定の動
作期間において何等かの描画を行う前の状態を表す。プ
ラグインは、「ダイナミック・ロード・ライブラリー
(DLL)」のようなウィンドーズ・オペレーティング
・システムによって実現できる。DLLは一般に、プロ
グラムコード、データ及びサブルーチン・ライブラリを
含む大きなファイルである。従来、記憶を保存し、シス
テムの性能を改善するために、DLLによって取扱われ
る特定の処理の実行又は開始のため最初に必要なときに
DLLをメモリに格納していた。この具体例では、記憶
保存及びシステム性能改善のこのアイディアを、更に一
歩進めて用いる。
ンを最初に取出すとき、従来は、その効果に対応するD
LLをメモリに格納して、コア・プロセッサ340にグ
ラフを作成するための十分な情報(例えば、他の効果ア
イコンとの相互連絡性)を提供していた。
をその段階では格納しない。その代わりに、該効果を表
すいわゆる「メタデータ」1000を格納する。このメ
タデータは、コア・プロセッサに、該効果と他の効果と
の相互連絡性を定める情報(例えば、入力と出力の数)
を提供する。これにより、コア・プロセッサは何もDL
Lを格納することなくグラフを作成することができ、そ
れらが絶対に必要となるまで大きなファイルを格納しな
いので、メモリの節約になる。
て開かれているか、又は複合効果が他の手段によって実
行されている場合は、DLLが格納され、メタデータは
破棄されるか又は無視される。図12〜14は、特に本
システムの自動化を容易にする効果プラグインの機能的
特徴を模式的に示すものである。
模式図である。この効果プラグインは、画像情報(「ク
リップ」1300として示す。)を受けて、3つの処理
パラメータP1,P2及びP3(照明位置など)に基い
て動作する。図12のプラグインでは、パラメータ値
は、プラグイン内に、即ちプラグインの一部として書か
れた注文プログラムコードにより設定される。このた
め、例えば、パラメータが時間と共に変化する動画シス
テムや、照明位置のようなパラメータが、モーショント
ラッカのような他の効果によって変化する装置では、効
果プラグイン内に余分なコードを加えたものや、多数の
効果プラグインを複合したものがしばしば必要となり、
パラメータの総合的な制御が極めて難しくなる。
法を示す模式図である。ここで、各パラメータは、
「主」効果プラグイン1330に連結された別々のプラ
グイン1320により、効果間の連結が上述のグラフ・
エディタにおいて定められたのと同様にして定められ
る。実のところ、上述の説明はプロセス全体を簡略化し
て行ったものであるが、簡略化は説明を助けるためであ
る。
フ・エディタ及びパレットにおける「ページから離れ
た」スクリーン位置にそれらを表示することにより、通
常はユーザから隠されている。そこで、或る効果を自己
充足の非動画式に(即ち、他の効果からパラメータ値を
移入することなく)作動させようとする場合、主効果の
ビューワーウィンドーを用いて各パラメータ・プラグイ
ン1320に対するパラメータを設定する。
追跡効果によって与えられる位置の値により決めようと
する場合、主効果プラグイン1330と適切なパラメー
タ・プラグイン1320との間の論理リンクを切り離
し、動き追跡効果とのリンクを開始させればよい。この
方式が動画化にいかに役立つかを理解するために、図1
4を参照する。
ラグイン側の間を左右に分けた各部分を示す。図14の
左側には、1つのプロキシ効果(PE)1340が
「主」効果サーバ1350に対して設けられている。ま
た、複数のプロキシ効果1360がパラメータ・プラグ
イン1320の各々に対して設けられる。これらのプロ
キシ効果1360は、プロキシ効果1340よりずっと
簡単なものであり、プロキシ効果1360とパラメータ
・プラグイン1320との間の通信は、プロキシ効果1
340と効果サーバ1350との間の通信プロトコルの
簡略化された部分集合を使用して行う。
一のデータ値(非動画システムの場合)でよく、或いは
動画システムではそれらの値のリストでもよい。動画シ
ステムでは、データ値のリストは「キーフレーム」値、
即ち連続する個々の画像のために設定されたデータ値と
して表現でき、間に介在する値は、線形もしくはユーザ
が決めた非線形補間に従ってコア側により補間される。
よって、動画を、各プラグイン内に注文動画ソフトウェ
アを書込むことなく、特に簡単で便利な方法で作成する
ことができる。
べた説明と結びつけると、描画マネージャから「描画準
備」メッセージを効果サーバ1350が受取ったとき、
それに応答して、出力を供給する前にその入力が全部必
要である、と告げることができる。効果の入力には勿論
パラメータ・プラグインが含まれるので、次の段階で描
画マネージャは描画準備メッセージを各パラメータ・プ
ラグインに送ることになるであろう。パラメータ・プラ
グインが単一の値しか含まないか、或いは現在の画像が
キーフレームであれば、パラメータ・プラグインは直ち
に適切なパラメータを描画時に供給することができる。
しかし、パラメータ・プラグインが動画データを含み、
現在の画像がキーフレームでなければ、パラメータはま
ず補間してから効果に使用しなければならない。
の模式図である。これは全キャッシュ領域の概略図であ
り、実のところ、先に述べたように、キャッシュはま
た、夫々のプロキシ効果に対応した複数の個々のキャッ
シュと見ることもできる。しかし、かような個々のキャ
ッシュにメモリ資源が動的に割当てられるので、図15
の表示も正しいものである。
中に設けられ、画像1110及び効果からの非画像描画
出力1130(例えば、動き追跡効果の場合の動きベク
トル)を記憶することができる。
内の各効果の描画出力(これが画像であるかどうかに拘
らず)を記憶することである。こうすると、或る効果の
有向非繰返しグラフにおける特定の位置が変更された場
合、その位置よりあとの効果を描画し直して新しい出力
を供給する必要がなくなる。代わりに、キャッシュされ
ている出力を再使用できる。更なる利点は、特定の効果
(開かれたビューワーウィンドーに表示されたもの)の
出力をパラメータ変更の前後に記憶することにより、取
消し/やり直し動作を助け動作の速度を早めることであ
る。対応するパラメータ変更も記憶されるので、キャッ
シュメモリ1100から適切な素材を格納することによ
り、パラメータの変更を簡単に取消したり、やり直した
りすることができる。これは、変更が行われたときに効
果サーバによって書込まれた取消し/やり直しオブジェ
クトの制御の下に行われる。
タ値よりはるかに大きなメモリ空間、恐らく百万倍のメ
モリ空間を占める。したがって、この具体例では、キャ
ッシュメモリが容量の限界に近づいている状態で他の画
像を記憶しようとするときは、最も前にアクセスしたキ
ャッシュ内の画像を削除して、新しく記憶する画像のた
めの空間を作る。ただし、キャッシュ内の他のデータ、
パラメータ値や非画像描画出力などは、画像に比べると
ほんの僅かのメモリ空間しか使わないので、本装置の動
作期間中は削除しない。よって、この情報は、該情報が
動作期間を通じて有効である限り、再使用又は取消し/
やり直し動作に使用できる。
かをプラグインに指定させるようにすることができる。
即ち、画像データ項目は取決めにより洗い流せるものと
設定し、非画像データ項目は洗い流せないものと設定す
ることができる。
果サーバ330間の非同期/同期コンバータ(プラグイ
ン・インタフェース)1200の模式図である。コンバ
ータ1200は、描画マネージャから非同期再描画コマ
ンドを、「行うべき」列、即ち行うべき描画ジョブのリ
ストの形で受取る。1つのジョブが終わると、「終了」
メッセージがコンバータ1200から描画マネージャに
返送される。コンバータ1200は、非同期のジョブ要
求を受け、同期要求を適切なソフトウェア・プラグイン
に発する。これは、インタフェース1200が制御「ス
レッド」(ウィンドーズ用語)をソフトウェア・プラグ
インに回送することを意味し、これが、該ジョブが完了
するまで該スレッドの制御を保持することになる。その
時のみ、ソフトウェア・プラグインが該スレッドをイン
タフェースに返送し、該インタフェースが「終了」メッ
セージをコア側に発して応答する。
ラグイン(又はむしろ当該プラグインに関連するメタデ
ータ)に問合せて、該プラグインが同期又は非同期通信
を処理できるかどうかを決定する。ハードウェア・プラ
グイン(例えば、特定の方法で描画するための周辺カー
ド)又は恐らく異なる機械で作動している非同期ソフト
ウェア・プラグインをソフトウェア・プラグインの代わ
りに組込めば、ハードウェア・アクセラレータはこのよ
うな動作に極めてよく適しているので、該プラグインは
コア側(実のところ、非同期的に描画タスクを開始する
描画マネージャ)と非同期インタフェースを介して対話
を行う。したがって、この場合、コンバータ1200は
迂回される。
関連プラグインの一部として実施してもよい。よって、
コンバータ1200を2つのソフトウェアの間に設ける
という反直観的な方法により、将来専用ハードウェアに
改良される効率的なハードウェア・インタフェースが提
供される。
ストレージ及びストリームの両方をプラグインに割当て
られるようにしてプラグイン設計及び動作にかかる制約
を減じることができる。
略図である。
示す模式図である。
の伝播状態を示す模式図である。
を示す模式図である。
ウィンドーを示す概略図である。
る。
ある。
ある。
る。
とプロキシ効果との関係を示す模式図である。
ある。
Claims (3)
- 【請求項1】 データ処理装置であって、 該装置の全般的な動作を制御するコア・オブジェクト
と、 該コア・オブジェクトと通信するように配された複数の
プラグインCOMオブジェクトとを有し、 上記コア・オブジェクトは、作業データを記憶及び/又
は検索するのに使用するため、COMストリーム・イン
タフェース及びCOMストレージ・インタフェースを上
記プラグインCOMオブジェクトに与えることを特徴と
するデータ処理装置。 - 【請求項2】 上記装置はビデオ特殊効果装置である請
求項1の装置。 - 【請求項3】 上記プラグイン・オブジェクトの幾つか
又はすべてが夫々のビデオ特殊効果機能を定める請求項
2の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9816778A GB2340267B (en) | 1998-07-31 | 1998-07-31 | Data storage in ole stystems |
GB9816778:6 | 1998-07-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000089960A true JP2000089960A (ja) | 2000-03-31 |
Family
ID=10836550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11215585A Pending JP2000089960A (ja) | 1998-07-31 | 1999-07-29 | デ―タ処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6801225B1 (ja) |
JP (1) | JP2000089960A (ja) |
GB (1) | GB2340267B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020055868A1 (en) * | 2000-05-24 | 2002-05-09 | Dusevic Angela G. | System and method for providing a task-centric online environment |
US7099834B2 (en) * | 2000-12-15 | 2006-08-29 | International Business Machines Corporation | Method, system, and program for transferring data between servers through a client computer over a network |
EP1502218A4 (en) * | 2002-04-15 | 2005-08-17 | Invensys Sys Inc | METHOD AND DEVICES FOR A PROCESS-, FACTORY-, ENVIRONMENT-, ENVIRONMENT- AND COMPUTER AIDED MANUFACTURING-BASED OR OTHERWISE CONTROL SYSTEM WITH REAL-TIME DATA DISTRIBUTION |
US9436685B2 (en) | 2010-12-23 | 2016-09-06 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
US20120166953A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Techniques for electronic aggregation of information |
US9679404B2 (en) | 2010-12-23 | 2017-06-13 | Microsoft Technology Licensing, Llc | Techniques for dynamic layout of presentation tiles on a grid |
US9715485B2 (en) | 2011-03-28 | 2017-07-25 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205386A (ja) * | 1990-11-30 | 1992-07-27 | Fujitsu Ltd | イメージデータ編集制御方法 |
JPH06503695A (ja) * | 1991-10-07 | 1994-04-21 | イーストマン コダック カンパニー | 映画製作用の特殊効果ジョブの構成要素を配列するための合成インタフェース |
JPH076029A (ja) * | 1992-09-14 | 1995-01-10 | Washington Univ | 視覚プログラミング・システム及びその方法 |
JPH07271958A (ja) * | 1994-03-31 | 1995-10-20 | Toshiba Corp | 画像ファイル装置及び画像ファイルアクセス方法 |
JPH09503081A (ja) * | 1993-09-13 | 1997-03-25 | タリジェント インコーポレイテッド | オブジェクト指向ビデオ・システム |
JPH09106355A (ja) * | 1995-10-12 | 1997-04-22 | Seiko Epson Corp | 複数のオブジェクトを用いた制御システム、その構築方法および周辺装置制御システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727212A (en) * | 1995-04-12 | 1998-03-10 | International Business Machines Corporation | Object oriented device driver system for procedural device drivers |
US6401081B1 (en) * | 1995-11-20 | 2002-06-04 | Schlumberger Resource Management Services, Inc. | Modular object-based architecture for extensible master station software |
US6148346A (en) * | 1996-06-20 | 2000-11-14 | Peerless Systems Imaging Products, Inc. | Dynamic device driver |
US6121981A (en) * | 1997-05-19 | 2000-09-19 | Microsoft Corporation | Method and system for generating arbitrary-shaped animation in the user interface of a computer |
US6243753B1 (en) * | 1998-06-12 | 2001-06-05 | Microsoft Corporation | Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters |
US6425017B1 (en) * | 1998-08-17 | 2002-07-23 | Microsoft Corporation | Queued method invocations on distributed component applications |
-
1998
- 1998-07-31 GB GB9816778A patent/GB2340267B/en not_active Expired - Fee Related
-
1999
- 1999-07-29 JP JP11215585A patent/JP2000089960A/ja active Pending
- 1999-07-29 US US09/363,261 patent/US6801225B1/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205386A (ja) * | 1990-11-30 | 1992-07-27 | Fujitsu Ltd | イメージデータ編集制御方法 |
JPH06503695A (ja) * | 1991-10-07 | 1994-04-21 | イーストマン コダック カンパニー | 映画製作用の特殊効果ジョブの構成要素を配列するための合成インタフェース |
JPH076029A (ja) * | 1992-09-14 | 1995-01-10 | Washington Univ | 視覚プログラミング・システム及びその方法 |
JPH09503081A (ja) * | 1993-09-13 | 1997-03-25 | タリジェント インコーポレイテッド | オブジェクト指向ビデオ・システム |
JPH07271958A (ja) * | 1994-03-31 | 1995-10-20 | Toshiba Corp | 画像ファイル装置及び画像ファイルアクセス方法 |
JPH09106355A (ja) * | 1995-10-12 | 1997-04-22 | Seiko Epson Corp | 複数のオブジェクトを用いた制御システム、その構築方法および周辺装置制御システム |
Also Published As
Publication number | Publication date |
---|---|
GB2340267B (en) | 2003-02-05 |
US6801225B1 (en) | 2004-10-05 |
GB2340267A (en) | 2000-02-16 |
GB9816778D0 (en) | 1998-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4299924B2 (ja) | ビデオ特殊効果装置 | |
JP4166378B2 (ja) | デジタル画像処理装置 | |
JP4166376B2 (ja) | ディジタル・ビデオ信号処理装置及び方法 | |
JP4299925B2 (ja) | データ処理装置 | |
JP4166377B2 (ja) | ビデオ処理装置及び方法 | |
JP3980795B2 (ja) | デジタルビデオ処理装置 | |
KR100663655B1 (ko) | 데이터 처리 방법 및 데이터 처리 장치 | |
JP3929649B2 (ja) | ビデオ特殊効果装置 | |
JP2000089960A (ja) | デ―タ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100803 |