JP2000056988A - デ―タ処理装置 - Google Patents

デ―タ処理装置

Info

Publication number
JP2000056988A
JP2000056988A JP11215589A JP21558999A JP2000056988A JP 2000056988 A JP2000056988 A JP 2000056988A JP 11215589 A JP11215589 A JP 11215589A JP 21558999 A JP21558999 A JP 21558999A JP 2000056988 A JP2000056988 A JP 2000056988A
Authority
JP
Japan
Prior art keywords
effect
plug
effects
core
interface
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.)
Granted
Application number
JP11215589A
Other languages
English (en)
Other versions
JP4299925B2 (ja
Inventor
Antony James Gould
ジェームズ グールド,アントニー
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.)
Sony Europe BV United Kingdom Branch
Original Assignee
Sony United Kingdom Ltd
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 Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Publication of JP2000056988A publication Critical patent/JP2000056988A/ja
Application granted granted Critical
Publication of JP4299925B2 publication Critical patent/JP4299925B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

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

(57)【要約】 【課題】 コア・プログラム・オブジェクトがデータ処
理タスクを実行できる複数のプラグイン・プログラム・
オブジェクトと対話してそれらの動作を制御するデータ
処理装置を得る。 【解決手段】 コア・プログラム・オブジェクトと各上
記データ処理タスク間の通信のために、(i)コア・プ
ログラム・オブジェクトと上記タスクを実行できる1プ
ラグイン・プログラム・オブジェクト間の対話を可能と
する同期インタフェースと、(ii)コア・プログラム・
オブジェクトと上記タスクを実行できる1ハードウェア
・デバイス間の対話を可能とする非同期インタフェース
とを設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、、データ処理装置
に関するものである。
【0002】
【従来の技術】種々のマイクロソフト・ウィンドーズ
(登録商標)オペレーティング・システムの専門用語を
使用すると、プログラム・モジュール又はプラグインが
「ダイナミック・ロード・ライブラリ」即ち「DLL」
として設けられることがある。DLLは一般に、プログ
ラムコード、データ及びサブルーチン・ライブラリを格
納できる大きなファイルである。それらは、現在のプロ
グラムを実行するのに必要な場合にメモリに格納され
る。
【0003】この構造形式が有用となるデータ処理装置
の一例として、コンピュータ使用ビデオ特殊効果装置が
ある。かような装置では、ユーザが一般に、多数の使用
可能なモジュールから一連の効果モジュールを選択する
ことにより、ビデオシーケンスに適用する合成特殊効果
を設定できるようになっている。例えば、ユーザにより
設定される一連の効果には、次のようなものが含まれる
であろう。 (i)イメージローダ(画像の格納) (ii)モーショントラッカ(動きの追跡) (iii) 動きの追跡に連動した照明効果 (iv)動きの追跡に連動した画像再編成
【0004】これらの効果の各々はプログラムモジュー
ル又はプラグインとして具現され、データは、コア・プ
ログラムの全般的制御の下にモジュール間を転送され
る。コア・プログラム・オブジェクト及びプラグイン・
オブジェクト間のインタフェースは同期インタフェース
であるので、プログラム制御(実際は、マルチタスキン
グ環境、いわゆる「スレッド」で)はプラグインに回送
され、そこでその処理タスクが実行される。制御はその
時にのみコア・プログラムに返送され、そのスレッドを
用いて他の処理が再開される。
【0005】
【発明が解決しようとする課題】本発明は、一方では、
ソフトウェア・プラグインと同期したインタフェースを
認めるデータ処理装置を提供することと、他方では、将
来それらのプラグインの幾つかと代わる専用のハードウ
ェア・ユニットの使用への改良の可能性を認めることと
の間の潜在的矛盾を認め、これを解決しようとするもの
である。
【0006】この種の専用ハードウェア・ユニット、特
に描画デバイスは、一般に非同期インタフェースを使用
する。(実のところ、ソフトウェア・プラグインの中に
は非同期インタフェースを使用できるものもある。)し
たがって、本発明は、ただ1つのシステム内に非同期及
び同期プラグイン・インタフェースの両方を設けるとい
う反直観的手段を含むものである。
【0007】
【課題を解決するための手段】本発明によるデータ処理
装置では、コア・プログラム・オブジェクトが、データ
処理タスクを実行する動作ができる複数のプラグイン・
プログラム・オブジェクトと対話して、それらの動作を
制御する。本装置は、上記コア・プログラム・オブジェ
クト及び上記各データ処理タスク間の通信のために、
(i)上記コア・プログラム・オブジェクト及び上記タ
スクを実行する動作ができる1つのプラグイン・プログ
ラム・オブジェクト間の対話を可能とする同期インタフ
ェースと、(ii)上記コア・プログラム・オブジェクト
及び上記タスクを実行する動作ができるハードウェア・
デバイス間の対話を可能とする非同期インタフェースと
を具える。
【0008】
【発明の実施の形態】以下、図面を参照して本発明を具
体的に説明する。図1は、本発明を適用できるデジタル
ビデオ特殊効果装置の概要図である。図1において、連
続する画像を表すデジタルビデオ信号は、入力インタフ
ェース(I/F)100を介して受信されディスクアレ
イ装置110に記憶される。ディスクアレイ装置110
はまた、本効果装置により生成された処理済み画像をも
記憶し、これらは出力インタフェース120を介し出力
として供給される。
【0009】中央処理ユニット(CPU)130は、デ
ィスクアレイに記憶されたデータにアクセスし、ユーザ
の指令(コマンド)に従い種々のビデオ特殊効果を達成
する。CPU130は、マウス及びキーボードのような
ユーザ入力装置140から入力を受け、作業データ及び
プログラムコードをメモリ150に記憶させ、出力デー
タを生成し、表示駆動部170を介してスクリーン16
0に表示させる。
【0010】本効果装置は、適当なソフトウェア、例え
ばマイクロソフト・ウィンドーズNT(登録商標)オペ
レーティングシステムにより動作する汎用コンピュータ
(例えば、PC)として具現することができる。この例
では、ディスクアレイは、ウルトラSCSIデータリン
クを介してCPU130に接続される。
【0011】図2は、図1の装置に使用する作動ソフト
ウェアの編成の概略を(極めて一般的な水準で)示すも
のである。このソフトウェアは、2種類のプログラムコ
ードより成り、1つは図2の左側に示すコア構造部であ
り、もう1つは図2の右側に示す種々のプラグイン部で
ある。このソフトウェアが初めに格納されると、コア構
造部は、常に存在して異なる特殊効果プロセス間で共通
する本装置の動作の各部分を制御する。これに対し、プ
ラグライン部は、個々の特殊効果(照明効果、動き追跡
効果など)に関するもので必要な時にのみ格納される。
【0012】この配置は、現在ユーザが要求する効果モ
ジュールに関するプラグインのみをメモリに格納すれば
よいので、極めて効率のよいものである。こうすると、
想定されるすべての特殊効果に対するプログラムコード
を格納しなければならないシステムに比べて、メモリを
少なくすることができる。これはまた、装置の初期設定
をもつと迅速化し、システムを最初スタートさせる際に
プログラムコードをすべてメモリに格納する必要をなく
し、グラフエディタ(後述参照)において最初にアイコ
ンを選ぶときのコードの格納による遅延を少なくするこ
とができる。更に、この配置は、グラフエディタ及びプ
ラグインを除くコア処理のみを含むので、供給又は組込
むべき装置部品(特に、作動ソフトウェア)を減らすこ
とができる。このシステムはまた第三者又はユーザがプ
ラグイン部及びコア構造部間の決められたインタフェー
ス・プロトコルを守る限り、彼等自身のプラグインを生
成することを可能にしている。よって、ユーザは、比較
的小さなプラグイン・プログラムを書込むことにより、
注文の効果を極めて簡単に生成することができよう。
【0013】コア構造部及びプラグイン部は、David Ch
appell著1996年Microsoft Press 発行の「Understandin
g Active X and OLE」という本に記載された、いわゆる
OLE(Object Linking and Embedding)プロトコルを
用いて互いに伝達を行う。
【0014】OLEシステムでは、ソフトウェア設計者
は、コンピュータ・プログラムの種々異なるセクション
をいわゆる「COM(Component Object Model)オブジ
ェクト」として実現できる。各COMオブジェクトは、
各々が幾つかの「メソッド」を含む1以上の「COMイ
ンタフェース」を支えている。メソッドは、特定の運動
を実行する機能又は手順である。COMメソッドは、上
記COMオブジェクトを使用するソフトウェアによって
呼び出すことができる。このシステムでは、COMオブ
ジェクトを使用するソフトウェアの他の部分は、所定の
インタフェースを介してのみそうすることができるよう
に制約されている。即ち、それらは、所定のCOMイン
タフェースを介さなければ、該オブジェクト内のプログ
ラムコード又はデータに直接アクセスすることができな
い。
【0015】そこで、本システムでも、コア構造部はプ
ラグイン部とこれらのCOMインタフェースを介して伝
達を行う(実のところ、コア構造部は、COMインタフ
ェースを提供できる幾つかの相互連絡オブジェクトを有
するが、基本原理は同じである。)。
【0016】図3は、図2に示したものよりずっと詳細
に作動ソフトウェアの編成を示すものである。図3は、
4つの象限に分割されている。左上の象限はいわゆるビ
ューワーウィンドー310を示し、右上の象限は効果ユ
ーザインタフェース(UI)320を示し、右下の象限
は、関連するパラメータデータ(PD)を有する「効果
サーバ」330を示し、左下の象限は、オブジェクトマ
ネージャ350、描画マネージャ352及び変更マネー
ジャ358と共にグラフを含むコア・プロセッサ340
を示す。左下と右下の象限の間のインタフェースには、
ウィンドーズNTレジストリの一部をなすメタ・データ
ベース354と、効果アイコンを含むパレット356
と、省略パラメータ値とがある。メタ・データベース3
54については図11を参照してあとで説明する。パレ
ット356については図6〜9を参照して後述する。
【0017】コア・プロセッサ340内には、個々の特
殊効果を続けて連結した「グラフ」、即ち「有向非繰返
しグラフ」がある。各効果は、グラフ内でプロキシ(代
理)効果(PE)として表示されている。各PEは、効
果の出力が得られると直ちにこれを記憶するキャッシュ
(C)を有するので、例えば一連の効果の中で重要な効
果に関連するパラメータが変化した場合、一連の効果の
中の効果からデータを再使用することができる。各プロ
キシ効果は、夫々の効果サーバ330と対応している。
【0018】オブジェクトマネージャ350は、システ
ム内で用いるオブジェクトの存続期間やメモリ処理を制
御する責任をもつ。描画マネージャ352は、描画タス
クの開始、進行、優先順位の指定及び停止を制御する。
変更マネージャ358は、情報の取消し/やり直し及び
システム各部への変更の連絡を制御する。
【0019】図3は、基本的に、左側の2つの象限(左
上及び左下)がどの効果にも関係しないというコア構造
部の機能的特徴を示すように分割されている。これらの
オブジェクトは、ユーザがどの特殊効果を実施しようと
望んでいるかに関係なく、メモリに格納される。右側の
2つの象限(右上及び右下)は、プラグイン部に関係す
る。各プラグインは、そのプラグインによって実施され
る効果に関連した処理を行うサーバ330と、その効果
に関するユーザインタフェース制御(実際は、ビューワ
ーウィンドー310における表示制御)を行うユーザイ
ンタフェース(UI)320とを有する。
【0020】図3には同様の上下に分ける分割線があ
り、これにより、2つの上方の象限(左上及び右上)は
特殊効果に関連するユーザインタフェース制御に関係
し、2つの下方の象限(左下及び右下)はそれらの効果
を実施するために行う処理や編成に関係していることを
示す。
【0021】ビューワーウィンドー310は、本装置に
よって実行するために作成された一連の効果のうち特定
の効果の出力及びそれの制御パラメータを観察する機会
をユーザに与えるものである。即ち、ユーザがビューワ
ーウィンドーを開くと、或る効果の出力が生成される
か、或いは可能な場合キャッシュ・メモリから検索され
る。
【0022】多数のCOMオブジェクトを使用するこの
タイプのシステムでは、各オブジェクトがその作業又は
結果のデータを別々のデータファイルに蓄えるべきだと
するのは望ましくない、と一般に考えられている。実
際、そのようにすると、OLEシステムを確立させた論
理の多くと合わないようである。代わりに、このタイプ
のシステムのデータは、全部のオブジェクトによりただ
1つのファイル又は「複合文書」に記憶される。ただ
し、順序付けされた構造であれば、複合文書内に記憶さ
れる。
【0023】元来、複合文書内にはファイル及びディレ
クトリ構造に似た或る構造が設けられている。ディレク
トリの均等物はいわゆる「ストレージ」であり、ファイ
ルの類似物はいわゆる「ストリーム」である。各複合文
書はルート(根)ストレージを有し、その下方にはスト
レージ及びストリームのよく知られた木構造がある。C
OMストリーム・インタフェースはCOMストレージ・
インタフェースより簡単であるが、勿論ストレージ・イ
ンタフェースの方がもっと柔軟性がある。
【0024】一般に、各COMオブジェクトを自分のス
トレージ又は自分のストリームに割り当て、その中に作
業データを記憶させることができる。しかし、コア・プ
ロセッサ340が幾つかのプラグインの動作を調整する
本ビデオ特殊効果プロセッサのような階層システムにお
いては、これまで1つのストリームを各効果プラグイン
に割当てるようにしていた。
【0025】これに対し、本実施態様では、単にストレ
ージ又はストリームのいずれか一方をプラグインに割当
てることは、プラグイン・オブジェクトの設計及び動作
に余りに多くの制約を課すことになると認識されてい
て、代わりに、コア構造部とプラグイン部との間のイン
タフェース定義において、各プラグインは、プラグイン
設計者が望む場合、その作業データを容易に記憶できる
ように1つのストリームを選択でき、同じく望む場合、
複数のストリームとストレージの自己の「ディレクト
リ」配置の下でその作業データを記憶できるように1つ
のストレージを選択できるようになっている。この選択
は、プラグイン・プログラムコードを作成するプラグイ
ン設計者によって予め行われる。
【0026】以下の説明において、種々のオブジェクト
間の通信プロトコルについては図4及び図5に関連して
説明し、コア・プログラム340のグラフエディタ部を
用いて個々の効果を連結し、複合効果を作る方法につい
ては図6〜図9を参照して説明し、ビューワーウィンド
ー及びそれと効果ユーザインタフェース(UI)320
との対話については、図10を参照して説明する。
【0027】図4は、図3の配置における更新された効
果パラメータの伝播状態を模式的に示す。この伝播状態
は、ユーザが「照明」特殊効果を設定し、光源の効果が
画像に加えられる場合の例である。光源は、ユーザが定
めるソースと画像に関する行先位置とを有する。ユーザ
がこれらの位置の1つを変えたいと望む場合、現在該効
果から描画されている出力を無効とし、その変化を図3
の異なる象限に示す種々のオブジェクトに伝達させる必
要がある。この処理過程を図4に示す。
【0028】図4において、ユーザは、変更されたパラ
メータをビューワーウィンドー310を介して実際に書
入れる(図10参照)。ビューワーウィンドーは特定の
効果ユーザインタフェース320と対応しており、この
インタフェースはまた個々の効果に関する各プラグイン
の一部をなす。(実のところ、1つのビューワーウィン
ドーを1より多い効果と対応させることができ、任意の
特定時間に開かれるビューワーウィンドーをすべての効
果がもつには及ばないが、都合上図3の簡略化された配
置に基いて説明する。)プラグインは、「これより編集
に入る(aboutto edit)」との通知をコア側に発する。
【0029】上記の変更が行われた後、プラグインは
「変更発生」メッセージを発する。これにより、一連の
動作が発生及び/又は開始される。最初のステップ40
1で、ビューワーウィンドーは更新されたパラメータを
効果UI320に伝達する。効果UI320は、「セッ
ト」コマンドを対応する効果サーバ330に発し、修正
された値を効果サーバ330内のパラメータ・メモリに
セットさせる。このステップを図4の402で示す。
【0030】ステップ403で、効果サーバ330は、
「取消し/やり直し」オブジェクトをコア・プロセッサ
340の中に書込んで、変更の前後におけるパラメータ
の(効果サーバ内の)記録を指し示すハンドル又はポイ
ンタの詳細を供給する。この「取消し/やり直し」オブ
ジェクトを受取ると、ステップ404で、コア側は、パ
ラメータが変更され幾つかのキャッシュされたデータ出
力が無効になるかも知れないという通知を全ビューワー
ウィンドーに流す。この通知は、パラメータの変更が行
われたビューワーウィンドーに限定されない。
【0031】ステップ405で、各ビューワーウィンド
ーは、対応する効果UI320にその処理パラメータの
更新を要求するメッセージを発する。ステップ406
で、効果UI320は、「ゲット」コマンドを対応する
効果サーバに発して新しいパラメータを得させる。新し
いパラメータは、ステップ407で効果UI320に返
送される。効果UIはそれから、ステップ408でビュ
ーワーウィンドーにその変化を伝えて表示させる。
【0032】一般に、処理パラメータが変わると、1つ
以上の効果出力の描画をやり直す必要が生じる。図5
は、描画し直しコマンドが装置内を伝播する様子を示
し、これは図4の処理から引き続いて起こる。
【0033】ステップ502ではビューワーウィンドー
は描画し直しコマンドを描画マネージャ352に発す
る。すると、描画マネージャは描画し直しコマンドを対
応する効果サーバ330に発する。効果サーバは、画像
の作り直しを終えると、「終了」メッセージをコア・プ
ロセッサ340に発する。コア側は、ステップ505で
これをビューワーウィンドーに知らせ、ステップ506
及び507で、ビューワーウィンドーは効果UI320
と対話し描画し直した効果出力を表示する。
【0034】数個のビューワーウィンドーが開き、数個
のフレームが関心の域(これは、テスト目的でユーザが
ビデオクリップ全体の部分集合として決めることができ
る。)内にある場合、処理資源をとっておくため次の優
先順に従い多数の同時発生タスクとして画像が描かれ
る。(i)ユーザが観察するために現在表示されている
単数又は複数の画像、(ii)関心のある出力シーケンス
の最初と最後の画像、(iii) 関心のある出力ビデオシー
ケンスの残りの画像
【0035】更に細かい段階として、描画マネージャ
は、効果サーバに描画し直しコマンドを発する前に、シ
ーケンス内のどの画像を描画すべきかを指定する「描画
準備」メッセージを発する。効果サーバは、これに応じ
てその「依存性」を、即ち描画マネージャから要求され
る前に必要となる描画像を作成しなければならないこと
を通知する。これらの画像は、他の効果(例えば、非繰
返し有向グラフにおける直ぐ前の効果)により描画され
るものか、或いはその効果自体によって描画されるもの
かも知れない。この後者の例は、モーショントラッカの
場合に起りうる。即ち、例えば、画像5を描くためにモ
ーショントラッカが画像4に対する自分の描画出力を必
要とする場合である。
【0036】効果サーバから返送された該メッセージを
受取ると、描画マネージャは、それらの画像を求める
「描画準備」メッセージを送る。以下、従属ツリーが終
わるまで同様のことが行われる。各階段において、プロ
キシ効果は、要求された画像又は描画出力がキャッシュ
に記憶されたかどうかをチェックし、描画マネージャに
知らせる。
【0037】そこで、例えば、画像5を指定する描画準
備メッセージがモーショントラッカに送られると、モー
ショントラッカは、これに応答して画像4に対する自己
の描画出力を要求していることを告げる。すると、描画
マネージャは、画像4に対する描画準備メッセージをモ
ーショントラッカに送る。モーショントラッカは、これ
に応答して画像3を要求していることを示す。以下同様
である。こうして、所要画像(画像5)が描画される前
に必要な描画ジョブのリストが作成される。キャッシュ
に記憶されている描画出力は、描画マネージャのジョブ
のリストには含まれない。
【0038】或る効果が前の効果の描画出力を必要とす
る場合には同じことが起こり、同様に一連の効果を前に
さかのぼる。この過程が終わると、描画マネージャは、
現在要求されている画像が、それの依存する画像がすべ
て描かれるまでは描かないように逆の順序で、要求され
たすべてのジョブを進めてゆく。
【0039】最適化の条件として、描画マネージャは、
各効果への入力が何であるかを前記グラフから検出する
のがよい。そして、効果サーバは、所定のコードを送り
(例えば、ゼロ応答)簡単に「この効果に対する入力は
すべて要求済み」と告げるとよい。
【0040】更に、各効果サーバから、その出力が隣り
合う画像と同じであるかどうかを描画マネージャに知ら
せうるように、同じプロトコルを使用するとよい。これ
の簡単な例は、その出力が不変である場合の(一定)パ
ラメータ・プラグインである。更なる例は、どれか他の
効果の出力が既に準備されキャッシュに記憶されてい
て、連続する出力が同一かどうかを容易に検出できる場
合である。かような通知に応答して、描画マネージャ
は、有向非繰返しグラフで後の他の効果サーバにその情
報を送る。すると、その効果サーバは、(適当ならば)
一連の画像の1つだけを描画し、入力が変わらない他の
画像に対してその出力を繰返す。
【0041】図6は、グラフ・エディタ・ウィンドー6
10とパレット・ウィンドー600を示す概略図であ
る。これらは、コア・プロセッサ340の制御の下に表
示スクリーン160に表示される。パレット・ウィンド
ー600は幾つかのアイコン620を含み、これらの各
々は、考えられる種々の効果の1つにマッピングされ、
それらの効果を表している。本システムには、各効果に
対するプラグインが存在する。ユーザは、マウスを用い
てこれらのアイコンをスクロール可能なグラフ・ウィン
ドー610に「引き込む」ことができる。ユーザは、グ
ラフ・ウィンドー内にこれらのアイコンを配置し、該ウ
ィンドー内で図形線として示す論理リンク630で互い
に連結することができる。
【0042】論理リンク630は、或る効果の出力を次
の効果の入力へ送ることを表し、(この具体例では)常
にグラフ・ウィンドーの下から上の方への向きをもつ。
即ち、図6の例は、イメージローダ(I/L)アイコン
640の出力を照明効果650に送ることを示す。
【0043】ユーザがグラフ・ウィンドー内に上記の図
形線を描くと、コア・プロセッサ340は、論理リンク
を設定して描画出力が或る効果プラグインから他のプラ
グインに送られる経路を決定する。これより、図7を参
照して図形線を作成する方法を説明する。それから、図
8を参照して論理リンクを説明する。
【0044】図7において、ユーザが照明効果を(例え
ば、マウスのクリックで)選択すると、アイコン650
からマウスポインタ730に向かう動かせる図形線72
0が得られる。マウスポインタが混合効果アイコン70
0に近づくと、その混合効果アイコンが拡大され、即ち
拡大線710に囲まれ、その最下部に2つの入力ポート
740が現れる。マウスポインタが入力ポートの一方に
近づくと、図形線720はその入力ポートに飛びつき、
マウスクリックで所定場所に固定される。これにより、
効果650と効果700の間に論理的及び図形的な連結
が確立される。
【0045】これらの論理的及び図形的な連結が確定さ
れると、ユーザは、グラフ・ウィンドー内で効果アイコ
ンが連結されたグループ800を「箱に入れる」ことが
できる(図8)。ここで、「箱に入れる」とは、コンピ
ュータ・マウスを使って標準的な方法で上記グループの
周りに箱を描くことである。(これを実現する1つの方
法は、箱の左上隅でクリックして保持し、マウスを右下
隅に引き、これからマウスボタンを放すことである。こ
れは、複数の画面のオブジェクトを選択する標準的方法
である。)
【0046】ユーザはそれから、連結された効果のグル
ープをパレット領域に引き込むことができる。これによ
り、該グループの入力から形成される一連の入力と、該
グループの出力から形成される一連の出力とを有する新
しい複合効果アイコン810が作成される。論理的にい
えば、効果アイコン810は、特定のプラグインにマッ
ピングされないで、特定の方法で相互連結されたプラグ
インの連結グループにマッピングされる。
【0047】複合効果アイコン810は、それからパレ
ット・ウィンドーの一部となり、ユーザによりグラフの
設計に使用される。ユーザがあとで複合アイコン810
を利用したい場合、単にそれをグラフ・ウィンドーの適
所に引き込むだけでよい。効果アイコン810は、グラ
フ・ウィンドー上でも1つのアイコンのままであるのが
よいが、他の具体例では元のグループ800に引き伸ば
すこともある。或いはまた、1つのアイコンとして圧縮
した形で表示してもよい。ただし、ユーザが引き伸ばし
ボタンをクリックして元のアイコン・グループ800を
観察できるように、引き伸ばしボタン付きの表示とする
のがよい。いずれにしても、アイコン810によって与
えられる複合効果は、元のグループ800のコピーであ
る。
【0048】図9は、この方法の根底にあるデータメモ
リを示す。図9において、アイコン850は、パレット
領域600におけるパレットアイコン620からグラフ
・エディタ領域610に引き込まれたものである。パレ
ット領域600について述べると、図3に示したパレッ
ト356には、ルート(根)860及び該ルートからぶ
ら下がる個々のデータ項目870を有するツリー(木)
のように配置されたデータ構造が記憶される。各データ
項目870は、1つの効果アイコン620を表すが、効
果875のような複合効果の場合は別である。この場
合、その効果を形成する効果アイコン(3a,3b)
は、そのデータ項目875からぶら下がる下部構造とし
て配置される。
【0049】グラフ・エディタ領域には、効果を記憶す
る類似のデータ構造が存在する。ここでは、ただ1つの
効果885がぶら下がったルート880が示されてい
る。グラフ・エディタ領域において幾つかの効果をグル
ープとして一緒に集めパレットに引き込む場合、それら
は更に、構造875に似た複合効果構造となる。
【0050】図10は、ビューワーウィンドーの概略図
である。ビューワーウィンドーは、画像表示領域90
0、種々の「属性ページ」910、効果制御部920
(ここでは、照明効果の例における位置決め十字線を示
す。)及び「バーボタン」930を具えている。ビュー
ワーウィンドーの基本配置は、コア構造部によって設定
され、効果ごとに基準となるものである。ただし、属性
ページ910を用いて調整できる個々の項目は、特定の
効果に対応する効果ユーザインタフェース(UI)32
0によって設定される。効果UI320はまた、制御部
920に対する表示の細目を与える。
【0051】図示の例では、十字線920は、照明効果
における光のソース又は目標位置を決定する。ユーザ
は、コンピュータ・マウスを用いて十字線を移動させる
ことができる。十字線を移動させると、当該制御に関連
するパラメータ(x,y)値が変わり、図4の手順(パ
ラメータ値の更新)が開始される。その手順の最後のス
テップ408(図4)で、効果UIは訂正されたパラメ
ータ値をビューワーウィンドーに発する。その段階で、
十字線はその新しい位置に再表示される。したがって、
ユーザには移動操作が十字線を最終の位置に動かしたよ
うに見えるが、実のところは、移動操作がパラメータを
図4に示す経路によって更新させ、その結果十字線の移
動が生じたのである。
【0052】図11は、作動ソフトウェアの初期の配置
を模式的に示すものである。これは、本装置の特定の動
作期間において何等かの描画を行う前の状態を表す。プ
ラグインは、「ダイナミック・ロード・ライブラリー
(DLL)」のようなウィンドーズ・オペレーティング
・システムによって実現できる。DLLは一般に、プロ
グラムコード、データ及びサブルーチン・ライブラリを
含む大きなファイルである。従来、記憶を保存し、シス
テムの性能を改善するために、DLLによって取扱われ
る特定の処理の実行又は開始のため最初に必要なときに
DLLをメモリに格納していた。この具体例では、記憶
保存及びシステム性能改善のこのアイディアを、更に一
歩進めて用いる。
【0053】即ち、パレット領域から1つの効果アイコ
ンを最初に取出すとき、従来は、その効果に対応するD
LLをメモリに格納して、コア・プロセッサ340にグ
ラフを作成するための十分な情報(例えば、他の効果ア
イコンとの相互連絡性)を提供していた。
【0054】この具体例では、当該効果に対するDLL
をその段階では格納しない。その代わりに、該効果を表
すいわゆる「メタデータ」1000を格納する。このメ
タデータは、コア・プロセッサに、該効果と他の効果と
の相互連絡性を定める情報(例えば、入力と出力の数)
を提供する。これにより、コア・プロセッサは何もDL
Lを格納することなくグラフを作成することができ、そ
れらが絶対に必要となるまで大きなファイルを格納しな
いので、メモリの節約になる。
【0055】ビューワーウィンドーが或る効果に関連し
て開かれているか、又は複合効果が他の手段によって実
行されている場合は、DLLが格納され、メタデータは
破棄されるか又は無視される。図12〜14は、特に本
システムの自動化を容易にする効果プラグインの機能的
特徴を模式的に示すものである。
【0056】図12は、以前に提案されたプラグインの
模式図である。この効果プラグインは、画像情報(「ク
リップ」1300として示す。)を受けて、3つの処理
パラメータP1,P2及びP3(照明位置など)に基い
て動作する。図12のプラグインでは、パラメータ値
は、プラグイン内に、即ちプラグインの一部として書か
れた注文プログラムコードにより設定される。このた
め、例えば、パラメータが時間と共に変化する動画シス
テムや、照明位置のようなパラメータが、モーショント
ラッカのような他の効果によって変化する装置では、効
果プラグイン内に余分なコードを加えたものや、多数の
効果プラグインを複合したものがしばしば必要となり、
パラメータの総合的な制御が極めて難しくなる。
【0057】図13は、本発明の実施形態による他の方
法を示す模式図である。ここで、各パラメータは、
「主」効果プラグイン1330に連結された別々のプラ
グイン1320により、効果間の連結が上述のグラフ・
エディタにおいて定められたのと同様にして定められ
る。実のところ、上述の説明はプロセス全体を簡略化し
て行ったものであるが、簡略化は説明を助けるためであ
る。
【0058】パラメータ・プラグインは、例えば、グラ
フ・エディタ及びパレットにおける「ページから離れ
た」スクリーン位置にそれらを表示することにより、通
常はユーザから隠されている。そこで、或る効果を自己
充足の非動画式に(即ち、他の効果からパラメータ値を
移入することなく)作動させようとする場合、主効果の
ビューワーウィンドーを用いて各パラメータ・プラグイ
ン1320に対するパラメータを設定する。
【0059】パラメータを他の効果の出力、例えば動き
追跡効果によって与えられる位置の値により決めようと
する場合、主効果プラグイン1330と適切なパラメー
タ・プラグイン1320との間の論理リンクを切り離
し、動き追跡効果とのリンクを開始させればよい。この
方式が動画化にいかに役立つかを理解するために、図1
4を参照する。
【0060】図14は、最初に図3に示したコア側とプ
ラグイン側の間を左右に分けた各部分を示す。図14の
左側には、1つのプロキシ効果(PE)1340が
「主」効果サーバ1350に対して設けられている。ま
た、複数のプロキシ効果1360がパラメータ・プラグ
イン1320の各々に対して設けられる。これらのプロ
キシ効果1360は、プロキシ効果1340よりずっと
簡単なものであり、プロキシ効果1360とパラメータ
・プラグイン1320との間の通信は、プロキシ効果1
340と効果サーバ1350との間の通信プロトコルの
簡略化された部分集合を使用して行う。
【0061】実際のところ、プロキシ効果1360は単
一のデータ値(非動画システムの場合)でよく、或いは
動画システムではそれらの値のリストでもよい。動画シ
ステムでは、データ値のリストは「キーフレーム」値、
即ち連続する個々の画像のために設定されたデータ値と
して表現でき、間に介在する値は、線形もしくはユーザ
が決めた非線形補間に従ってコア側により補間される。
よって、動画を、各プラグイン内に注文動画ソフトウェ
アを書込むことなく、特に簡単で便利な方法で作成する
ことができる。
【0062】この説明を先に効果間の依存性について述
べた説明と結びつけると、描画マネージャから「描画準
備」メッセージを効果サーバ1350が受取ったとき、
それに応答して、出力を供給する前にその入力が全部必
要である、と告げることができる。効果の入力には勿論
パラメータ・プラグインが含まれるので、次の段階で描
画マネージャは描画準備メッセージを各パラメータ・プ
ラグインに送ることになるであろう。パラメータ・プラ
グインが単一の値しか含まないか、或いは現在の画像が
キーフレームであれば、パラメータ・プラグインは直ち
に適切なパラメータを描画時に供給することができる。
しかし、パラメータ・プラグインが動画データを含み、
現在の画像がキーフレームでなければ、パラメータはま
ず補間してから効果に使用しなければならない。
【0063】図15は、システム・キャッシュ1100
の模式図である。これは全キャッシュ領域の概略図であ
り、実のところ、先に述べたように、キャッシュはま
た、夫々のプロキシ効果に対応した複数の個々のキャッ
シュと見ることもできる。しかし、かような個々のキャ
ッシュにメモリ資源が動的に割当てられるので、図15
の表示も正しいものである。
【0064】キャッシュは、システム・メモリ150の
中に設けられ、画像1110及び効果からの非画像描画
出力1130(例えば、動き追跡効果の場合の動きベク
トル)を記憶することができる。
【0065】キャッシュの意図は、有向非繰返しグラフ
内の各効果の描画出力(これが画像であるかどうかに拘
らず)を記憶することである。こうすると、或る効果の
有向非繰返しグラフにおける特定の位置が変更された場
合、その位置よりあとの効果を描画し直して新しい出力
を供給する必要がなくなる。代わりに、キャッシュされ
ている出力を再使用できる。更なる利点は、特定の効果
(開かれたビューワーウィンドーに表示されたもの)の
出力をパラメータ変更の前後に記憶することにより、取
消し/やり直し動作を助け動作の速度を早めることであ
る。対応するパラメータ変更も記憶されるので、キャッ
シュメモリ1100から適切な素材を格納することによ
り、パラメータの変更を簡単に取消したり、やり直した
りすることができる。これは、変更が行われたときに効
果サーバによって書込まれた取消し/やり直しオブジェ
クトの制御の下に行われる。
【0066】画像は、動きベクトルのような簡単なデー
タ値よりはるかに大きなメモリ空間、恐らく百万倍のメ
モリ空間を占める。したがって、この具体例では、キャ
ッシュメモリが容量の限界に近づいている状態で他の画
像を記憶しようとするときは、最も前にアクセスしたキ
ャッシュ内の画像を削除して、新しく記憶する画像のた
めの空間を作る。ただし、キャッシュ内の他のデータ、
パラメータ値や非画像描画出力などは、画像に比べると
ほんの僅かのメモリ空間しか使わないので、本装置の動
作期間中は削除しない。よって、この情報は、該情報が
動作期間を通じて有効である限り、再使用又は取消し/
やり直し動作に使用できる。
【0067】実際には、データ項目を洗い流せるかどう
かをプラグインに指定させるようにすることができる。
即ち、画像データ項目は取決めにより洗い流せるものと
設定し、非画像データ項目は洗い流せないものと設定す
ることができる。
【0068】図16は、コア・プロセッサ340及び効
果サーバ330間の非同期/同期コンバータ(プラグイ
ン・インタフェース)1200の模式図である。コンバ
ータ1200は、描画マネージャから非同期再描画コマ
ンドを、「行うべき」列、即ち行うべき描画ジョブのリ
ストの形で受取る。1つのジョブが終わると、「終了」
メッセージがコンバータ1200から描画マネージャに
返送される。コンバータ1200は、非同期のジョブ要
求を受け、同期要求を適切なソフトウェア・プラグイン
に発する。これは、インタフェース1200が制御「ス
レッド」(ウィンドーズ用語)をソフトウェア・プラグ
インに回送することを意味し、これが、該ジョブが完了
するまで該スレッドの制御を保持することになる。その
時のみ、ソフトウェア・プラグインが該スレッドをイン
タフェースに返送し、該インタフェースが「終了」メッ
セージをコア側に発して応答する。
【0069】初期設定の際、コア・プロセッサは、各プ
ラグイン(又はむしろ当該プラグインに関連するメタデ
ータ)に問合せて、該プラグインが同期又は非同期通信
を処理できるかどうかを決定する。ハードウェア・プラ
グイン(例えば、特定の方法で描画するための周辺カー
ド)又は恐らく異なる機械で作動している非同期ソフト
ウェア・プラグインをソフトウェア・プラグインの代わ
りに組込めば、ハードウェア・アクセラレータはこのよ
うな動作に極めてよく適しているので、該プラグインは
コア側(実のところ、非同期的に描画タスクを開始する
描画マネージャ)と非同期インタフェースを介して対話
を行う。したがって、この場合、コンバータ1200は
迂回される。
【0070】コンバータは、コア側の一部として又は各
関連プラグインの一部として実施してもよい。よって、
コンバータ1200を2つのソフトウェアの間に設ける
という反直観的な方法により、将来専用ハードウェアに
改良される効率的なハードウェア・インタフェースが提
供される。
【0071】
【発明の効果】以上説明したとおり、本発明によれば、
コア・プログラム・オブジェクトがデータ処理タスクを
実行できる複数のプラグイン・プログラム・オブジェク
トと対話してそれらの動作を制御するデータ処理装置を
得ることができる。
【図面の簡単な説明】
【図1】デジタルビデオ特殊効果装置の概略図である。
【図2】図1の装置の作動ソフトウェアの編成を示す概
略図である。
【図3】図1の装置の作動ソフトウェアの編成の詳細を
示す模式図である。
【図4】図1の装置における更新された効果パラメータ
の伝播状態を示す模式図である。
【図5】図1の装置における再描画コマンドの伝播状態
を示す模式図である。
【図6】グラフ・エディタ・ウィンドー及びパレット・
ウィンドーを示す概略図である。
【図7】グラフ編集動作の例を示す説明図である。
【図8】複合効果アイコンの作成例を示す説明図であ
る。
【図9】複合効果のファイル構造を示す模式図である。
【図10】ビューワーウィンドーの概略図である。
【図11】作動ソフトウェアの初期配置を示す模式図で
ある。
【図12】以前に提案された効果プラグインの模式図で
ある。
【図13】新しい形式の効果プラグインの模式図であ
る。
【図14】図13の効果プラグインにおける効果サーバ
とプロキシ効果との関係を示す模式図である。
【図15】システム・キャッシュを示す概略図である。
【図16】プラグイン・インタフェースを示す概略図で
ある。
【符号の説明】
1200‥‥非同期/同期コンバータ、1340‥‥コ
ア・プログラム・オブジェクト、1350‥‥プラグイ
ン・プログラム・オブジェクト

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 コア・プログラム・オブジェクトが、デ
    ータ処理タスクを実行する動作ができる複数のプラグイ
    ン・プログラム・オブジェクトと対話して、それらの動
    作を制御するデータ処理装置であって、 該装置は、上記コア・プログラム・オブジェクト及び上
    記各データ処理タスク間の通信のために、(i)上記コ
    ア・プログラム・オブジェクト及び上記タスクを実行す
    る動作ができる1つのプラグイン・プログラム・オブジ
    ェクト間の対話を可能とする同期インタフェースと、
    (ii)上記コア・プログラム・オブジェクト及び上記タ
    スクを実行する動作ができる1つのハードウェア・デバ
    イス間の対話を可能とする非同期インタフェースとを具
    えたデータ処理装置。
  2. 【請求項2】 上記コア・オブジェクトに関連する1個
    の同期/非同期コンバータを有する請求項1の装置。
  3. 【請求項3】 1以上のプラグイン・オブジェクトが夫
    々の関連する同期/非同期コンバータを有する請求項1
    の装置。
JP21558999A 1998-07-31 1999-07-29 データ処理装置 Expired - Fee Related JP4299925B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9816760A GB2340265B (en) 1998-07-31 1998-07-31 Data processing
GB9816760:4 1998-07-31

Publications (2)

Publication Number Publication Date
JP2000056988A true JP2000056988A (ja) 2000-02-25
JP4299925B2 JP4299925B2 (ja) 2009-07-22

Family

ID=10836536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21558999A Expired - Fee Related JP4299925B2 (ja) 1998-07-31 1999-07-29 データ処理装置

Country Status (7)

Country Link
US (1) US6782539B2 (ja)
EP (1) EP0981083B1 (ja)
JP (1) JP4299925B2 (ja)
KR (1) KR100712374B1 (ja)
CN (1) CN1114154C (ja)
DE (1) DE69938991D1 (ja)
GB (1) GB2340265B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370658A (en) * 2000-12-29 2002-07-03 Metadyne Ltd A modular software framework
CN100440879C (zh) * 2001-01-25 2008-12-03 株式会社东芝 能适应多个无线通信系统的移动无线通信装置
US6920630B2 (en) * 2001-11-30 2005-07-19 International Business Machines Corporation Graphical user interface for managing resource bundles for internationalization
US7287222B2 (en) * 2002-01-31 2007-10-23 Canon Kabushiki Kaisha Information processing apparatus and method that determines effectiveness of metadata for editing information content
US20050066042A1 (en) * 2003-09-23 2005-03-24 Hummer Jesse Adam Plug-in status interfacing
US7436535B2 (en) * 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US8060743B2 (en) * 2003-11-14 2011-11-15 Certicom Corp. Cryptographic method and apparatus
US20050209865A1 (en) * 2004-03-17 2005-09-22 Aravind Doss Architecture to integrate different software subsystems
US7761814B2 (en) 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
US8055821B2 (en) * 2004-11-17 2011-11-08 International Business Machines Corporation Apparatus, system, and method for converting a synchronous interface into an asynchronous interface
US9098758B2 (en) * 2009-10-05 2015-08-04 Adobe Systems Incorporated Framework for combining content intelligence modules
US20120166953A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Techniques for electronic aggregation of information
US9436685B2 (en) 2010-12-23 2016-09-06 Microsoft Technology Licensing, Llc 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
US9846682B1 (en) 2013-11-25 2017-12-19 Amazon Technologies, Inc. Cross-platform presentation of digital content
US11113885B1 (en) 2017-09-13 2021-09-07 Lucasfilm Entertainment Company Ltd. Real-time views of mixed-reality environments responsive to motion-capture data
CN109240758B (zh) * 2018-07-25 2021-10-29 武汉精测电子集团股份有限公司 一种支持插件接口同步异步统一调用的方法及微内核系统
KR20210060274A (ko) 2019-11-18 2021-05-26 김윤주 자유자재 주머니 벨트버클

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2244354B (en) * 1990-05-25 1994-02-23 Silicon Systems Inc Multi-device emulation
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
AU650179B2 (en) * 1991-10-07 1994-06-09 Eastman Kodak Company A compositer interface for arranging the components of special effects for a motion picture production
US5999173A (en) * 1992-04-03 1999-12-07 Adobe Systems Incorporated Method and apparatus for video editing with video clip representations displayed along a time line
US5434975A (en) * 1992-09-24 1995-07-18 At&T Corp. System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
US5530858A (en) * 1993-04-01 1996-06-25 Intel Corporation Method and apparatus for background processing for PCMCIA card services
US5696970A (en) * 1993-04-01 1997-12-09 Intel Corporation Architecture for implementing PCMCIA card services under the windows operating system in enhanced mode
US6466992B2 (en) * 1994-12-07 2002-10-15 Next Computer, Inc. Method for providing stand-in objects
US5915131A (en) * 1995-05-05 1999-06-22 Apple Computer, Inc. Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services
US5802368A (en) * 1995-09-29 1998-09-01 Informix Software, Inc. Dynamic Library Task Switching

Also Published As

Publication number Publication date
US20030177286A1 (en) 2003-09-18
KR20000016992A (ko) 2000-03-25
KR100712374B1 (ko) 2007-05-02
CN1252561A (zh) 2000-05-10
US6782539B2 (en) 2004-08-24
CN1114154C (zh) 2003-07-09
GB9816760D0 (en) 1998-09-30
DE69938991D1 (de) 2008-08-14
GB2340265A (en) 2000-02-16
EP0981083B1 (en) 2008-07-02
GB2340265B (en) 2003-04-23
EP0981083A1 (en) 2000-02-23
JP4299925B2 (ja) 2009-07-22

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: 20080916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees