(57)【要約】【課題】ＤｉｒｅｃｔＳｈｏｗフィルタの開発容易性と利便性を確保しつつ、他のアプリケーションから利用できないＤｉｒｅｃｔＳｈｏｗフィルタの実現。【解決手段】外部インターフェイスとしてＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓのみを有し、レジストリ登録機能を有しないことを最大の特徴とする第一のデータ処理装置と、ＣＯＭサーバーを使用せずにＤＬＬが持つＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓを直接コールすることによりＤＬＬが有するＩＢａｓｅＦｉｌｔｅｒを取得してＤｉｒｅｃｔＳｈｏｗフィルタとしてロードすることを最大の特徴とする第二のデータ処理装置を組み合わせて使用することでＤｉｒｅｃｔＳｈｏｗのロードに必要な識別ＧＵＩＤを隠蔽することを最大の特徴とするデータ処理システム、プログラムおよび記録媒体。【選択図】図１
2008065736.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣ上で動作するデータ処理装置であって、外部インターフェイスとしてＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓのみを有することを特徴とするデータ処理装置。
【請求項２】
ＤｉｒｅｃｔＳｈｏｗフィルタで規定されるＩＣｌａｓｓＦａｃｔｏｒｙインターフェイス、ＩＢａｓｅＦｉｌｔｅｒインターフェイスおよび識別ＩＤを有することを特徴とする、請求項１に記載のデータ処理装置。
【請求項３】
ＰＣ上で動作するデータ処理装置であって、ＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓを介してデータ処理装置が有するＩＣｌａｓｓＦａｃｔｏｒｙインターフェイスを取得し、識別ＩＤと同一の識別ＩＤをもってデータ処理装置のＩＢａｓｅＦｉｌｔｅｒインターフェイスを取得し、ＤｉｒｅｃｔＳｈｏｗフィルタとして使用することを特徴とするデータ処理装置。
【請求項４】
請求項２に記載の第１のデータ処理装置と、請求項３に記載の第２のデータ処理装置を有し、前記第２のデータ処理装置によって、前記第１のデータ処理装置をＤｉｒｅｃｔＳｈｏｗフィルタとして使用することを特徴とするデータ処理装置。
【請求項５】
使用する識別ＩＤを外部に公開しないことを特徴とする、請求項４に記載のデータ処理装置。
【請求項６】
ＰＣ上で動作するデータ処理方法であって、ＤＬＬをロードしてＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓの関数アドレスを取得する関数取得ステップと、ＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓを呼び出してＩＣｌａｓｓＦａｃｔｏｒｙインターフェイスを取得するインターフェイス取得ステップと、ＩＣｌａｓｓＦａｃｔｏｒｙから識別ＧＵＩＤを用いてＩＢａｓｅＦｉｌｔｅｒインターフェイスを取得するフィルタ取得ステップとを有することを特徴とするデータ処理方法。
【請求項７】
請求項６に記載のデータ処理方法を含むプログラム。
【請求項８】
請求項７に記載のプログラムを記録した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣ上で動作するソフトウェアに関するものである。
【背景技術】
【０００２】
近年、動画、音声に関する技術が進歩し、様々なコーデックが新たに開発されている。同時にＰＣ上での動画、音声の再生も盛んに行われており、ＰＣ向けの動画、音声の再生環境の開発が期待されている。Ｗｉｎｄｏｗｓ（登録商標）  ＰＣ上で動画や音声を再生するための開発ツールとして、ＤｉｒｅｃｔＳｈｏｗという開発ツールがＭｉｃｒｏｓｏｆｔから提供されており、ＭＰＥＧのような圧縮された動画をデコードし、再生するためのツールとして一般的に利用されている。
【０００３】
ＤｉｒｅｃｔＳｈｏｗが一般的に利用される主な理由として、以下のことが挙げられる。
【０００４】
−再生時の時間管理が標準で提供されているため開発が容易。
【０００５】
−最終の非圧縮Ｖｉｄｅｏ／Ａｕｄｉｏ出力デバイスとの結合が標準で提供されている。
【０００６】
−定められた規約で開発することにより、容易に再生環境を構築できる。
即ち、開発者はＤｉｒｅｃｔＳｈｏｗＦｉｌｔｅｒを開発することで、容易に動画や音声を再生する環境をＷｉｎｄｏｗｓ（登録商標）  ＰＣ上に構築することができる。
【０００７】
上記の他にＤｉｒｅｃｔＳｈｏｗＦｉｌｔｅｒの特徴として、以下のことが挙げられる。
【０００８】
−ＣＯＭ（Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）形式でのインプリメント。
【０００９】
−レジストリ登録が必要。
【００１０】
−全てのアプリケーションから利用が可能。
ＤｉｒｅｃｔＳｈｏｗＦｉｌｔｅｒは、１２８ｂｉｔのＣＬＳＩＤ（クラスＩＤ）をレジストリに登録する。アプリケーションから特定のＤｉｒｅｃｔＳｈｏｗＦｉｌｔｅｒを使用する際にはこのＣＬＳＩＤを用いてＣＯＭサーバーに問い合わせ、ＣＯＭサーバーがレジストリに登録されているＣＬＳＩＤを基にＤＬＬのパス名を特定し、実際のＤＬＬをロード、インターフェイスを取得する。アプリケーションは取得したインターフェイスを用いて、グラフを構築し、再生環境を構築する。
【００１１】
以上のように、ＤｉｒｅｃｔＳｈｏｗＦｉｌｔｅｒが動画や音声の再生環境構築の開発を行う上で、便利な機能が提供されている一方で、ライセンス契約上の制約を遵守する開発や新技術の開発を行う上での問題点も含んでいる。
【００１２】
ライセンス契約上の制約の例を挙げると、「他のアプリケーションから容易に使用できないようにすること」などがこれに相当する。先に述べたように、ＤｉｒｅｃｔＳｈｏｗＦｉｌｔｅｒは全てのアプリケーションから利用できることが特徴の一つであり、他のアプリケーションから使用できなくするには、別途実装時の工夫が必要になる。
【００１３】
また、新技術の開発に関しては、新技術を盛り込んだＤｉｒｅｃｔＳｈｏｗフィルタに容易にアクセスされると、他社などに容易に新技術の評価をされてしまう。
【００１４】
他のアプリケーションから利用できなくする技術に関しては、特許文献１に示す、プログラムの暗号化を用いた手法などがあるが、暗号化したプログラムを動作させるためには、
暗号化されていないプログラムを動作させるのと比較して、膨大な処理能力が必要とされる。また、暗号化導入に伴う開発ステップの増大と、検証項目が増加し、開発期間が増大する。
【特許文献１】特開２００４−５４７９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
発明が解決しようとする課題は、以下の２点を同時に実現することである。
【００１６】
・ＤｉｒｅｃｔＳｈｏｗの開発容易性と利便性を確保。
【００１７】
・他のアプリケーションから利用できないようにする。
ＤｉｒｅｃｔＳｈｏｗの開発容易性と利便性を確保することで、従来の開発手法を踏襲しつつ、再生環境を容易に構築する。また、他のアプリケーションから利用できないようにすることで、新技術の隠蔽や、ライセンス契約上の「他のアプリケーションから使用できないようにすること」などの制約事項を満足させることを実現する。
【課題を解決するための手段】
【００１８】
レジストリ登録機能を有しないことを最大の特徴とする第一のデータ処理装置とＣＯＭサーバーを使用せずにＤｉｒｅｃｔＳｈｏｗフィルタのロードすることを最大の特徴とする第二のデータ処理装置を組み合わせて使用することを最大の特徴とする。
【発明の効果】
【００１９】
暗号化を用いずに、容易な開発プロセスにより、他のアプリケーションから利用できないＤｉｒｅｃｔＳｈｏｗフィルタを実現することができる。
【発明を実施するための最良の形態】
【００２０】
（実施の形態１）
ＤｉｒｅｃｔＳｈｏｗフィルタを用いたＭＰＥＧ等の圧縮動画の再生を例に挙げ、ＤｉｒｅｃｔＳｈｏｗフィルタについての説明をする。ＤｉｒｅｃｔＳｈｏｗはＤｉｒｅｃｔＸコンポーネント内のモジュール群であり、動画の再生に必要なフレームワークが定義されている。動画再生時に必要な構成要素としては、グラフとフィルタがある。
【００２１】
グラフはフィルタを操作するためのフレームワークであり、以下の機能を有している。
【００２２】
・フィルタをグラフに追加
・フィルタ同士のピンの接続
・  フィルタへの再生／一時停止／停止／再生位置移動の命令発行
フィルタはフィルタ同士を接続するピンと動画ストリームを処理するための処理部とグラフからの操作を行うためのフレームワークを有している。図１に示すようにフィルタはピンの構成から大きく３種類に大別することができる。
【００２３】
・出力ピンのみを持つフィルタ（フィルタ１０１）
・入力ピンと出力ピンを持つフィルタ（フィルタ２０１）
・入力ピンのみを持つフィルタ（フィルタ３０１）
ピン１０２、ピン２０２、ピン２０３、ピン３０２はフィルタ間のデータの受け渡しを行うインターフェイスであり、定められたフレームワークに基づいて実装されており、様々なフィルタ間でのデータの送信が可能となる。
【００２４】
フィルタは、定められたフレームワークに基づき実装されており、グラフはその定められたフレームワークを使用することで、様々なフィルタ間でデータの流れをコントロールすることができる。
【００２５】
アプリケーションは、グラフを作成し、グラフ内にフィルタを配置し、グラフを用いてフィルタ同士を接続し、グラフを用いて動画データを流すことで目的のデータ変換を行ない、動画として出力することができる。
【００２６】
また、ビデオデバイスを介して映像を画面上に描画するために必要な処理を含んだフィルタや、サウンドデバイスを介して音声をスピーカー等から出力するために必要な処理を含んだフィルタがＤｉｒｅｃｔＸコンポーネントに標準で提供されており、アプリケーションはこれらのフィルタを使用することで、容易に動画の再生を実現することができる。
【００２７】
図２は、圧縮された動画を再生する際のグラフとフィルタの構成の１例である。グラフ１００に、フィルタ１１１、フィルタ２１１、フィルタ２２１、フィルタ２３１、フィルタ３１１、フィルタ３２１を追加する。フィルタ１１１は圧縮データをファイルから読みみ込みピン１１２を介して、フィルタ２１１に渡すためのフィルタである。フィルタ２１１は、ピン２１２から入力されたデータを圧縮されたビデオデータと、オーディオデータに分離し、ピン２１３を介して、ビデオデータをフィルタ２２１に渡し、ピン２１４を介して、オーディオデータをフィルタ２３１に渡すためのフィルタである。フィルタ２２１はピン２２２から入力された圧縮ビデオデータをデコードし、非圧縮ビデオデータに変換してピン２２３を介して、フィルタ３１１に渡すためのフィルタである。フィルタ２３１はピン２３２から入力された圧縮オーディオデータをデコードし、非圧縮オーディオデータに変換してピン２３３を介して、フィルタ３２１に渡すためのフィルタである。フィルタ３１１はピン３１２から入力された非圧縮ビデオデータを画面上に描画するためのフィルタである。フィルタ３２１はピン３２２から入力された非圧縮オーディオデータをサウンドデバイスから出力するためのフィルタである。
【００２８】
例えば、既存の転送システムを用いて、かつビデオ圧縮方式のみ既存と異なる圧縮データを再生する場合には、これらのフィルタの内、フィルタ１０１、フィルタ２１１、フィルタ２３１、フィルタ３１１、フィルタ３２１はＤｉｒｅｃｔＳｈｏｗで標準に提供されるフィルタを使用することが可能であり、フィルタ２２１のみを新規に開発するだけで、再生環境を構築することが可能となる。
【００２９】
グラフおよびフィルタは１２８ｂｉｔのクラスＩＤおよびインターフェイスＩＤで管理されており、アプリケーションはフィルタが持つクラスＩＤ、および標準で規定されているインターフェイスＩＤのみを知ることで、アプリケーションからＤｉｒｅｃｔＳｈｏｗフィルタを容易にグラフに追加することができる。そのため、アプリケーションは実際に実行されるフィルタがどのＤＬＬに存在するかを知る必要がない。フィルタがどのＤＬＬ内に存在するかは、ＤｉｒｅｃｔＸコンポーネントが持つＣＯＭ（Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）サーバーで管理されている。アプリケーションがグラフやフィルタを使用する際には、このＣＯＭサーバーに対して、クラスＩＤやインターフェイスＩＤを指定し、目的のインターフェイスを取得する。
ＣＯＭサーバーで
・フィルタの実行ＤＬＬ特定
・アプリケーションで指定されたインターフェイスをＤＬＬから取得
を実現するために、通常のＤｉｒｅｃｔＳｈｏｗフィルタを含むＤＬＬを作成する場合は、ＤＬＬのモジュール定義ファイルに
・ＧｅｔＯｂｊｅｃｔＣｌａｓｓ
・ＤｌｌＲｅｇｉｓｔｅｒＳｅｒｖｅｒ
・ＤｌｌＵｎｒｅｇｉｓｔｅｒＳｅｒｖｅｒ
を記述し、ＤＬＬにインプリメントしなければならない。
【００３０】
ＧｅｔＯｂｊｅｃｔＣｌａｓｓは、ＣＯＭサーバーからＤＬＬに対してＩＣｌａｓｓＦａｃｔｏｒｙインターフェイスを取得するためのモジュールである。ＤｌｌＲｅｇｉｓｔｅｒＳｅｒｖｅｒは、ＤＬＬのフルパスをレジストリに登録するためのモジュールである。ＤｌｌＵｎｒｅｇｉｓｔｅｒＳｅｒｖｅｒは、レジストリからフィルタの情報を抹消するためのモジュールである。アプリケーションからフィルタをロードする場合、アプリケーションからＣＯＭサーバーに対しＣｏＣｒｅａｔｅＩｎｓｔａｎｃｅメソッドをコールする。
【００３１】
具体的に、Ｖｉｓｕａｌ  Ｃ＋＋  では、以下のように実装することでＤｉｒｅｃｔＳｈｏｗフィルタを
アプリケーション上にロードすることができる。
【００３２】
ＩＢａｓｅＦｉｌｔｅｒ＊   ｐＦｉｌｔｅｒ  ＝  ＮＵＬＬ；
：：ＣｏＣｒｅａｔｅＩｎｓｔａｎｃｅ（  フィルタのクラスＩＤ，  
ＮＵＬＬ，  
ＣＬＳＴＸ＿ＩＮＰＲＯＣ＿ＳＥＲＶＥＲ，  
ＩＩＤ＿ＩＢａｓｅＦｉｌｔｅｒ，  
＆ｐＦｉｌｔｅｒ  ）；
図３に示すように、アプリケーション１３から上記のＣｏＣｒｅａｔｅＩｎｓｔａｎｃｅがコールされるとＣＯＭサーバー１４は、レジストリ１５に登録されているクラスＩＤの中から指定されたフィルタ１０１のクラスＩＤのレジストリキーを検索する。クラスＩＤが検索された場合は、レジストリ１５に登録されている内容からフィルタ１７が含まれているＤＬＬのパスを取得し、ＤＬＬに対してＧｅｔＯｂｊｅｃｔＣｌａｓｓを実行することでＩＣｌａｓｓＦａｃｔｏｒｙインターフェイスを取得する。ＣＯＭサーバーは取得したＩＣｌａｓｓＦａｃｔｏｒｙインターフェイスを用いてＩＣｌａｓｓＦａｃｔｏｒｙ：：ＣｒｅａｔｅＩｎｓｔａｎｃｅメソッドをコールし、ＤＬＬからＩＢａｓｅＦｉｌｔｅｒインターフェイスを取得する。取得したＩＢａｓｅＦｉｌｔｅｒインターフェイスをアプリケーション１３に返すことで、アプリケーション１３は目的のフィルタ１７のＩＢａｓｅＦｉｌｔｅｒインターフェイスを取得することができる。
【００３３】
このとき、フィルタ１７の情報がレジストリ１５に登録されている必要がある。フィルタ１７のレジストリへの登録は、アプリケーションのインストーラ１１などで行う。インストーラ１１は、ＤｉｒｅｃｔＳｈｏｗフィルタ１７をインストールする際に、ＤｉｒｅｃｔＳｈｏｗフィルタ１７が有するＤｌｌＲｅｇｉｓｔｅｒＳｅｒｖｅｒをコールし、ＤｉｒｅｃｔＳｈｏｗフィルタ１７がクラスＩＤなどの情報を定められたレジストリ１５に登録する。また、アプリケーションとともにインストールしたＤｉｒｅｃｔＳｈｏｗフィルタ１７をアンインストールする場合には、アンインストーラ１２は、ＤｉｒｅｃｔＳｈｏｗフィルタ１７が有するＤｌｌＵｎｒｅｇｉｓｔｅｒＳｅｒｖｅｒをコールすることで、ＤｉｒｅｃｔＳｈｏｗフィルタ１７がレジストリ１５からＤｉｒｅｃｔＳｈｏｗフィルタ１７が書き込んだ内容を消去する。
【００３４】
以上のようにＤｉｒｅｃｔＳｈｏｗフィルタはＣＯＭサーバーを介して、アプリケーションにロードされる。ＣＯＭサーバーを介することで、アプリケーションは、クラスＩＤを知るだけで目的のＤｉｒｅｃｔＳｈｏｗフィルタをロードすることができる。また、レジストリの登録を閲覧することで、容易に目的のＤｉｒｅｃｔＳｈｏｗフィルタのクラスＩＤを知ることができる。
【００３５】
本発明の特徴は、
（１）本発明のアプリケーション上においては、本発明のフィルタと標準で提供されるフィルタおよび既存のフィルタとの間には通常のＤｉｒｅｃｔＳｈｏｗフィルタと同等の互換性がある。
【００３６】
（２）本発明のアプリケーション以外のアプリケーション上では、容易に本発明のフィルタを利用することができない。
である。
【００３７】
本発明のフィルタを含むＤＬＬは、レジストリ登録に必要な
・ＤｌｌＲｅｇｉｓｔｅｒＳｅｒｖｅｒ
・ＤｌｌＵｎｒｅｇｉｓｔｅｒＳｅｒｖｅｒ
の２つのＡＰＩを外部に公開せず、ＤＬＬはレジストリ登録機能を有さない。レジストリ登録以外の点においては、通常のフィルタと同等のインターフェイスを有する。レジストリ登録機能がないためフィルタのクラスＩＤをレジストリに書くことがなく、ＣＯＭサーバーからフィルタにアクセスすることができない。ＣＯＭサーバーからアクセスできないフィルタは他のアプリケーションからＣｏＣｒｅａｔｅＩｎｓｔａｎｃｅ関数でロードすることはできなくなる。
【００３８】
本発明のアプリケーションは、
・本発明のフィルタのクラスＩＤを事前に保有
・本発明のフィルタのＤＬＬパス名を事前に保有
しており、ＣＯＭサーバーではなく、本発明のＤＬＬに対し、直接インターフェイスを取得することで、グラフに追加するために必要なＩＢａｓｅＦｉｌｔｅｒインターフェイスを取得する。
【００３９】
図４に示すように、本発明のフィルタ１９をインストールする際に、本発明のアプリケーション１８と本発明のフィルタ１９とのフォルダ位置関係が本発明のアプリケーションと本発明のフィルタ間で定めた位置関係（例えば同一フォルダ）となるようにインストーラ１７でインストールする。この時、通常のフィルタに対してはレジストリ登録が行われるが、本発明のフィルタに対しては一切のレジストリ登録は行わない。
【００４０】
次に、本発明のアプリケーション１８がグラフを作成し、図５示すように、
（１）本発明のフィルタ１９が格納されているＤＬＬをロードする
（２）ＤｌｌＧｅｔＯｂｊｅｃｔＣｌａｓｓをコールし、ＩＣｌａｓｓＦａｃｔｒｏｙインターフェイスを取得する
（３）ＩＣｌａｓｓＦａｃｔｒｏｙ：：ＣｒｅａｔｅＩｎｓｔａｎｃｅをコールし、ＩＢａｓｅＦｉｌｔｅｒインターフェイスを取得する
（４）取得したＩＢａｓｅＦｉｌｔｅｒをもって、グラフに追加する
とすることで、本発明のフィルタ１９をグラフに追加する。具体的に、Ｖｉｓｕａｌ  Ｃ＋＋  では、以下のように実装することで本発明のフィルタをグラフに追加することができる。
【００４１】
ｔｙｐｅｄｅｆ  ＨＲＥＳＵＬＴ  （ＷＩＮＡＰＩ＊  ＰＦＵＮＣ＿ＧＥＴＣＬＡＳＳＯＢＪＥＣＴ）（ＲＥＦＣＬＳＩＤ，  ＲＥＦＩＩＤ，  ＬＰＶＯＩＤ＊  ）；
ＧＥＴＣＬＡＳＳＯＢＪＥＣＴ    ｐＦｕｎｃ  ＝  ＮＵＬＬ；
ＨＭＯＤＵＬＥ                  ｈＭｏｄｕｌｅ  ＝  ＮＵＬＬ；
ＩＣｌａｓｓＦａｃｔｏｒｙ＊    ｐＩＣｌｓＦａｃ  ＝  ＮＵＬＬ；
ＩＢａｓｅＦｉｌｔｅｒ＊   ｐＦｉｌｔｅｒ  ＝  ＮＵＬＬ；
ｈＭｏｄｕｌｅ  ＝  ：：ＬｏａｄＬｉｂｒａｒｙ（  ［フィルタのＤＬＬ名］  ）；
ｐＦｕｎｃ  ＝  （ＰＦＵＮＣ＿ＧＥＴＣＬＡＳＳＯＢＪＥＣＴ）：：ＧｅｔＰｒｏｃＡｄｄｒｅｓｓ（  ｈＭｏｄｕｌｅ，  “ＤｌｌＧｅｔＣｌａｓｓＯｂｊｅｃｔ”  ）；
ｐＦｕｎｃ（  フィルタのクラスＩＤ，  ＩＩＤ＿ＩＣｌａｓｓＦａｃｔｏｒｙ，  （ＬＰＶＯＩＤ＊）＆ｐＩＣｌｓＦａｃ  ）；
ｐＩＣｌｓＦａｃ−＞ＣｒｅａｔｅＩｎｓｔａｎｃｅ（  ＮＵＬＬ，  ＩＩＤ＿ＩＢａｓｅＦｉｌｔｅｒ，  （ＬＰＶＯＩＤ＊）＆ｐＦｉｌｔｅｒ  ）；
ｐＩＣｌｓＦａｃ−＞Ｒｅｌｅａｓｅ（）；
また、標準で提供されるフィルタや既存のフィルタを本発明のアプリケーションが作成したグラフに追加する場合は、公開されているフィルタのクラスＩＤを用いてＣｏＣｒｅａｔｅＩｎｓｔａｎｃｅをコールすることで、ＩＢａｓｅＦｉｌｔｅｒを取得し、グラフに追加する。
【００４２】
ＩＢａｓｅＦｉｌｔｅｒ＊   ｐＦｉｌｔｅｒ  ＝  ＮＵＬＬ；
：：ＣｏＣｒｅａｔｅＩｎｓｔａｎｃｅ（  フィルタのクラスＩＤ，  
ＮＵＬＬ，  
ＣＬＳＴＸ＿ＩＮＰＲＯＣ＿ＳＥＲＶＥＲ，  
ＩＩＤ＿ＩＢａｓｅＦｉｌｔｅｒ，  
＆ｐＦｉｌｔｅｒ  ）；
以上のように、
（１）レジストリ登録機能がないＤｉｒｅｃｔＳｈｏｗフィルタ
（２）レジストリ登録機能がないＤｉｒｅｃｔＳｈｏｗフィルタをロードするアプリケーションを用いることで、他のアプリケーションから容易に使用できないＤｉｒｅｃｔＳｈｏｗフィルタであると同時に通常のＤｉｒｅｃｔＳｈｏｗと同等のデータ処理機能を持つフィルタを実現することができる。
【産業上の利用可能性】
【００４３】
ＰＣ上で動作するデータ処理装置として使用することが出来る。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態１における、ＤｉｒｅｃｔＳｈｏｗフィルタの概要を示した説明図
【図２】本発明の実施の形態１における、ＤｉｒｅｃｔＳｈｏｗフィルタを用いた動画再生の例を示した説明図
【図３】本発明の実施の形態１における、通常のＤｉｒｅｃｔＳｈｏｗフィルタのロードを示した説明図
【図４】本発明の実施の形態１における、本発明のＤｉｒｅｃｔＳｈｏｗフィルタのロードを示した説明図
【図５】本発明の実施の形態１における、本発明のＤｉｒｅｃｔＳｈｏｗフィルタのロードからグラフに追加するまでの処理を示した説明図
【符号の説明】
【００４５】
１１    インストーラ
１２    アンインストーラ
１３    アプリケーション
１４    ＣＯＭサーバー
１５    レジストリ
１６    通常のＤｉｒｅｃｔＳｈｏｗフィルタ
１７    本発明のインストーラ
１８    本発明のアプリケーション
１９    本発明のフィルタ
１００    グラフ
１０１    出力ピンのみを持つＤｉｒｅｃｔＳｈｏｗフィルタ
１０２    フィルタ１０１の出力ピン
１１１    ファイルからデータを読み出すフィルタ
１１２    フィルタ１１１の出力ピン
２０１    入力ピンと出力ピンを持つＤｉｒｅｃｔＳｈｏｗフィルタ
２０２    フィルタ２０１の入力ピン
２０３    フィルタ２０１の出力ピン
２１１    データを分離するフィルタ
２１２    フィルタ２１１の入力ピン
２１３    フィルタ２１１の出力ピン
２１４    フィルタ２１１の出力ピン
２２１    圧縮ビデオデータをデコードするフィルタ
２２２    フィルタ２２１の入力ピン
２２３    フィルタ２２１の出力ピン
２３１    圧縮オーディオデータをデコードするフィルタ
２３２    フィルタ２３１の入力ピン
２３３    フィルタ２３１の出力ピン
３０１    入力ピンのみを持つＤｉｒｅｃｔＳｈｏｗフィルタ
３０２    フィルタ３０１の入力ピン
３１１    非圧縮ビデオデータを画面上に描画するフィルタ
３１２    フィルタ３１１の入力ピン
３２１    非圧縮オーディオデータをサウンドデバイスに出力するフィルタ
３２２    フィルタ３２１の入力ピン
【図１】
2008065736.tif 000003
【図２】
2008065736.tif 000004
【図３】
2008065736.tif 000005
【図４】
2008065736.tif 000006
【図５】
2008065736.tif 000007