【手続補正書】
【提出日】平成16年6月21日(2004.6.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】標準クロック・メカニズムを用いて、多重データ・ストリームの処理の同期と異なる処理速度のマッチングを行う方法、コンピュータ可読媒体、およびシステム
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データをカーネル・モードで処理することを効率化するようにソフトウェア・ドライバを相互接続し、異なるデータ・ストリームを同期化または異なるハードウェア・クロックをレート整合するためのタイミング情報を標準化された方法でコンピュータにより提供する方法であって、前記コンピュータは、オープン手段、形成手段、作成手段および接続手段を有し、
前記オープン手段により、１つまたは２つ以上のカーネル・モード・ドライバをオープンするステップと、
前記形成手段により、ドライバを接続するための１つまたは２つ以上の接続ピン・インスタンスを形成するステップであって、各接続ピン・インスタンスは前記１つまたは２つ以上のドライバと階層的に関係づけられ、該１つまたは２つ以上のドライバ間でデータ伝送のために使用されるステップと、
前記作成手段により、レート整合とストリーム同期化のための１つまたは２つ以上のクロック・メカニズムを作成するステップであって、各クロックは、前記１つまたは２つ以上の接続ピン・インスタンスの１つと階層的に関係づけられ、基礎となるハードウェア・オシレータに基づいてデータ・ストリーム時間と物理時間を提供するステップと、
前記接続手段により、該１つまたは２つ以上の接続ピン・インスタンスを相互接続し、カーネル・モードに置かれた１つまたは２つ以上のドライバを通る連続データ・フロー・パスが得られるようにするステップであって、前記クロックは異種クロック・オシレーション間でレート整合するときと、異種データ・ストリームを同期化するときにタイミング情報を利用できるようにするステップと
を備えていることを特徴とする方法。
【請求項２】
請求項１に記載の方法において、各接続ピン・インスタンスはファイル・オブジェクトによって表され、階層関係は、接続ピン・インスタンス・ファイル・オブジェクトの作成時に関係ドライバを指定することによって作成され、ドライバはシステム上で利用できる入出力デバイスのファイル・オブジェクトとして参照され、各クロック・メカニズムはファイル・オブジェクトによって表され、かつ、接続ピン・インスタンスとの階層関係はクロック・ファイル・オブジェクトの作成時に関係接続ピン・インスタンス・ファイル・オブジェクトを親として指定することによって作成されることを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記コンピュータは照会手段をさらに有し、該照会手段により、前記１つまたは２つ以上のドライバ上の前記接続ピン・インスタンスの各々について照会し、クロック・メカニズムが使用可能であるかどうかを判断し、特定の接続ピン・インスタンスで同期化またはレート整合を行うためのクロック・メカニズムをインスタンス生成すべきかどうかを判断してから、該１つまたは２つ以上の接続ピン・インスタンスを相互接続するようにするステップをさらに含むことを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記１つまたは２つ以上のドライバ上の前記１つまたは２つ以上の接続ピン・インスタンスの少なくとも１つは、少なくとも１つの事前定義されたプロパティ集合、メソッド集合、およびイベント集合をサポートし、前記少なくとも１つの接続ピン・インスタンスに対してクロック・メカニズムが利用可能であることをサード・パーティ・コンポーネントに示して、サード・パーティ・コンポーネントがそれぞれの接続ピン・インスタンスで前記クロック・メカニズムを作ることを可能にしており、クロックは少なくとも１つの事前定義されたプロパティ集合、メソッド集合、およびイベント集合をサポートして、前記それぞれのクロックをサード・パーティ・コンポーネントによって判断された通りに制御するようにしたことを特徴とする方法。
【請求項５】
カーネル・モードの他のコンポーネントとの標準化された相互接続メカニズムを提供するためのプログラムを収めているコンピュータ可読媒体であって、前記プログラムは、コンピュータに、
接続ピン・インスタンスを形成するためのプログラム・コード手段であって、該接続ピン・インスタンスはカーネル・モードの他のコンポーネントとの間でデータを受け渡しするために使用され、他のコンポーネント上に置かれている他の接続ピン・インスタンスとの相互接続が可能になっている手段と、
該接続ピン・インスタンスのいくつかでクロック・メカニズムを形成するためのプログラム・コード手段であって、該クロック・メカニズムは時間インターバル情報が関連づけられているデータのストリーム内の現在位置を反映している位置時間値を提供する手段と
して機能させることを特徴とするコンピュータ可読媒体。
【請求項６】
請求項５に記載のコンピュータ可読媒体において、クロック・メカニズムは、複数のコンポーネントが利用できる共通ハードウェア・オシレータに基づく参照時間値と前記位置時間値とを備える相関時間値をアトミック・オペレーションでさらに提供し、他のコンポーネントが前記共通ハードウェア・オシレータを参照として使用して時間変換を行えるようにしたことを特徴とするコンピュータ可読媒体。
【請求項７】
請求項５に記載のコンピュータ可読媒体において、クロック・メカニズムは、複数のコンポーネントが利用できる共通ハードウェア・オシレータに基づく参照時間値と指定時間値とを備える相関時間値をアトミック・オペレーションでさらに提供し、他のコンポーネントが前記共通ハードウェア・オシレータを参照として使用して時間変換を行えるようにしたことを特徴とするコンピュータ可読媒体。
【請求項８】
請求項５に記載のコンピュータ可読媒体において、クロック・メカニズムはハードウェア・オシレータに基づく物理時間値をさらに提供することを特徴とするコンピュータ可読媒体。
【請求項９】
請求項８に記載のコンピュータ可読媒体において、クロック・メカニズムは、複数のコンポーネントが利用できる共通ハードウェア・オシレータに基づく参照時間値と前記物理時間値とを備える相関物理時間値をアトミック・オペレーションでさらに提供し、他のコンポーネントが前記共通ハードウェア・オシレータを参照として使用して時間変換を行えるようにしたことを特徴とするコンピュータ可読媒体。
【請求項１０】
請求項５に記載のコンピュータ可読媒体において、前記位置時間値は前記プログラム・コード手段に実装されているプロパティ集合の一部として他のコンポーネントによってアクセスされることを特徴とするコンピュータ可読媒体。
【請求項１１】
請求項５に記載のコンピュータ可読媒体において、クロック・メカニズムはさらに関係イベントの通知を他のコンポーネントに提供することを特徴とするコンピュータ可読媒体。
【請求項１２】
請求項５に記載のコンピュータ可読媒体において、クロック・メカニズムはさらに関係イベントの通知を前記位置時間に基づいて他のコンポーネントに提供し、有用な同期点を提供するようにしたことを特徴とするコンピュータ可読媒体。
【請求項１３】
複数のデータ・ストリームをコンピュータにより同期化する方法であって、前記コンピュータは作成手段と処理手段とを有し、
前記作成手段により、データ・サンプルの参照データ・ストリームに基づいてマスタ・クロック参照を作成するステップであって、各データ・サンプルは参照データ・ストリーム内の位置を示す時間インターバル情報をもち、マスタ・クロック参照は時間インターバル情報から作成されるステップと、
前記処理手段により、１つまたは２つ以上の他のデータ・ストリームをマスタ・クロック参照に基づいて処理し、他のデータ・ストリームが参照データ・ストリームの処理と同期化されるようにするステップと
を備えることを特徴とする方法。
【請求項１４】
請求項１３に記載の方法において、マスタ・クロック参照はプロパティ集合の一部としてアクセスされることを特徴とする方法。
【請求項１５】
請求項１３に記載の方法において、マスタ・クロック参照は、サード・パーティ・エージェントからの要求に応答して作成される、選択的にインスタンス生成可能なクロック・メカニズムの一部であることを特徴とする方法。
【請求項１６】
請求項１３に記載の方法において、時間インターバル情報はメディア・サンプルに関するタイムスタンプ情報によって得られることを特徴とする方法。
【請求項１７】
請求項１３に記載の方法において、時間インターバル情報はメディア・ストリーム規則によって得られることを特徴とする方法。
【請求項１８】
処理コンポーネントを通して処理されるデータ・ストリームをコンピュータのハードウェア・プロセッサに合わせてレート整合する方法であって、前記コンピュータは提供手段と調整手段とを有し、
前記提供手段によりハードウェア・プロセッサのハードウェア・オシレーションに基づく物理時間参照を処理コンポーネントに提供するステップと、
前記調整手段により、処理コンポーネントで行われるデータ・ストリームの処理レートを物理時間参照に基づいてハードウェア・プロセッサの処理レートに整合するように調整するステップであって、データ・ストリームは時間インターバル情報が関連づけられているサンプルから構成されているものと
を備えることを特徴とする方法。
【請求項１９】
請求項１８に記載の方法において、物理時間参照はプロパティ集合の一部としてアクセスされることを特徴とする方法。
【請求項２０】
請求項１８に記載の方法において、物理時間参照は、サード・パーティ・エージェントからの要求に応答して作成される、選択的にインスタンス生成可能なクロック・メカニズムの一部であることを特徴とする方法。
【請求項２１】
請求項１８に記載の方法において、時間インターバル情報はデータ・サンプルに関するタイムスタンプ情報によって得られることを特徴とする方法。
【請求項２２】
請求項１８に記載の方法において、時間インターバル情報はデータ・ストリーム規則によって得られることを特徴とする方法。
【請求項２３】
複数のメディア・ストリームをコンピュータにより同期化する方法であって、前記コンピュータは作成手段と、処理手段とを有し、
前記作成手段により、メディア・サンプルの参照メディア・ストリームに基づいてマスタ・クロック参照を作成するステップであって、各サンプルは参照メディア・ストリーム内の位置を示す時間インターバル情報をもち、マスタ・クロック参照はタイムスタンプ情報から作成されるステップと、
前記処理手段により、１つまたは２つ以上の他のメディア・ストリームをマスタ・クロック参照に基づいて処理し、他のメディア・ストリームが参照メディア・ストリームの処理と同期化されるようにするステップと
を備えることを特徴とする方法。
【請求項２４】
請求項２３に記載の方法において、マスタ・クロック参照はプロパティ集合の一部としてアクセスされることを特徴とする方法。
【請求項２５】
請求項２３に記載の方法において、マスタ・クロック参照は、サード・パーティ・エージェントからの要求に応答して作成される、選択的にインスタンス生成可能なクロック・メカニズムの一部であることを特徴とする方法。
【請求項２６】
処理コンポーネントを通して処理されるメディア・ストリームをコンピュータのハードウェア・レンダラに合わせてレート整合する方法であって、前記コンピュータは提供手段と、調整手段とを有し、
前記提供手段により、ハードウェア・レンダラのハードウェア・オシレーションに基づく物理時間参照を処理コンポーネントに提供するステップと、
前記調整手段により処理コンポーネントで行われるメディア・ストリームの処理レートを、物理時間参照に基づいてハードウェア・レンダラの処理レートに整合するように調整するステップであって、メディア・ストリームは時間インターバル情報が関連づけられているメディア・サンプルから構成されているステップと
を備えることを特徴とする方法。
【請求項２７】
請求項２６に記載の方法において、物理時間参照はプロパティ集合の一部としてアクセスされることを特徴とする方法。
【請求項２８】
請求項２６に記載の方法において、物理時間参照は、サード・パーティ・エージェントからの要求に応答して作成される、選択的にインスタンス生成可能なクロック・メカニズムの一部であることを特徴とする方法。
【請求項２９】
請求項２６に記載の方法において、時間インターバル情報はメディア・サンプルに関するタイムスタンプ情報によって得られることを特徴とする方法。
【請求項３０】
請求項２６に記載の方法において、時間インターバル情報はメディア・ストリーム規則によって得られることを特徴とする方法。
【請求項３１】
第１コンポーネントにおける位置時間値を、第２コンポーネントにおける位置時間値に基づいて、および共通ハードウェア・オシレータを利用してコンピュータにおいて変換する方法であって、前記コンピュータは受信手段と、照会手段と、変換手段とを有し、
前記受信手段により、相関時間値をシングル・オペレーションで第２コンポーネントから第１コンポーネントで受信するステップであって、相関時間値は時間インターバル情報が関連づけられているデータ・ストリーム内の位置に基づく位置時間値と、共通ハードウェア・オシレータに基づく共通時間値とを含んでいるステップと、
前記照会手段により、共通ハードウェア・オシレータの現在値を第１コンポーネントによって照会するステップと、
前記変換手段により、第１コンポーネントにおける位置時間値を共通ハードウェア・オシレータの現在値と第２コンポーネントから受信した相関時間値に基づいて第１コンポーネントによって変換するステップと
を備えることを特徴とする方法。
【請求項３２】
第１コンポーネントにおける指定時間値を第２コンポーネントにおける指定時間値に基づいて、および共通ハードウェア・オシレータを利用してコンピュータにおいて変換する方法であって、前記コンピュータは受信手段と照会手段と、変換手段とを有し、
前記受信手段により相関時間値をシングル・オペレーションで第２コンポーネントから第１コンポーネントで受信するステップであって、相関時間値は指定時間値と共通ハードウェア・オシレータに基づく共通時間値とを含んでいるステップと、
前記照会手段により、共通ハードウェア・オシレータの現在値を第１コンポーネントによって照会するステップと、
前記変換手段により、第１コンポーネントにおける指定時間値を共通ハードウェア・オシレータの現在値と第２コンポーネントから受信した相関時間値に基づいて第１コンポーネントによって変換するステップと
を備えることを特徴とする方法。
【請求項３３】
請求項３２に記載の方法において、指定時間値は時間インターバル情報が関連づけられているデータ・ストリーム内の位置に基づく位置時間値であることを特徴とする方法。
【請求項３４】
請求項３２に記載の方法において指定時間値はハードウェア・オシレータに基づく物理時間値であることを特徴とする方法。
【請求項３５】
２つのデータストリームの同期処理を可能にするカーネル・モード・データ処理システムにおいて、
第１データ・ソースと、
発生コンポーネントと終結コンポーネントを含む複数の第１カーネル・モード・データ処理コンポーネントであって、発生コンポーネントは第１データ・ソースから送られてきた第１データ・ストリームのデータ・サンプルを読み取り、前記複数の第１カーネル・モード・データ処理コンポーネントの少なくとも１つはマスタ・クロック・コンポーネントが関連づけられている複数の第１カーネル・モード・データ処理コンポーネントと、
第２データ・ソースと、
発生コンポーネントと終結コンポーネントを含む複数の第２カーネル・モード・データ処理コンポーネントであって、発生コンポーネントは第２データ・ソースから送られてきた第２データ・ストリームのデータ・サンプルを読み取り、前記複数の第２カーネル・モード・データ処理コンポーネントの少なくとも１つは複数の第１処理コンポーネントに置かれていて、該第２カーネル・モード・データ処理コンポーネントに関連づけられているマスタ・クロック・コンポーネントに基づいて処理を同期化する複数の第２カーネル・モード・データ処理コンポーネントと、
複数の第１と第２のそれぞれのカーネル・モード・データ処理コンポーネントのデータ処理コンポーネント間のカーネル・モード・コンポーネント相互接続手段であって、それぞれのデータ・サンプルの処理をそれぞれの発生コンポーネントから発生コンポーネントへ転送するようにしたカーネル・モード・コンポーネント相互接続手段と
を備えていることを特徴とするカーネル・モード・データ処理システム。
【請求項３６】
２つのメディア・ストリームの同期処理を可能にするカーネル・モード・メディア・レンダリング・システムにおいて、
第１メディア・ソースと、
発生コンポーネントと終結コンポーネントを含む複数の第１カーネル・モード・メディア処理コンポーネントであって、
発生コンポーネントは第１メディア・ソースからの第１メディア・ストリームのメディア・サンプルを読み取り、
終結コンポーネントは前記第１メディア・ストリームをレンダリングし、
各メディア処理コンポーネントはメディア処理コンポーネント間で第１メディア・サンプルを受け渡しするための接続ピン・インスタンスをもち、
少なくとも１つの接続ピン・インスタンスはマスタ・クロック・コンポーネントが関連づけられている複数の第１カーネル・モード・メディア処理コンポーネントと、
第２メディア・ソースと、
発生コンポーネントと終結コンポーネントを含む複数の第２カーネル・モード・メディア処理コンポーネントであって、
発生コンポーネントは第２メディア・ソースからの第２メディア・ストリームのメディア・サンプルを読み取り、
終結コンポーネントは前記第２メディア・ストリームをレンダリングし、
各メディア処理コンポーネントはメディア処理コンポーネント間で第２メディア・サンプルを受け渡しするための接続ピン・インスタンスをもち、
少なくとも１つの接続ピン・インスタンスは、複数の第１処理コンポーネントに置かれている処理コンポーネントのピン・インスタンスの１つと関連づけられているマスタ・クロック・コンポーネントを使用して第２メディア・ストリームの処理を第１メディア・ストリームの処理と同期化する複数の第２カーネル・モード・メディア処理コンポーネントと、
複数の第１と第２のそれぞれのカーネル・モード処理コンポーネントに置かれていて、それぞれの接続ピン・インスタンスを使用して作成されたそれぞれのメディア処理コンポーネント間のカーネル・モード・コンポーネント相互接続手段であって、それぞれのメディア・サンプルの処理コントロールをそれぞれの発生コンポーネントからそれぞれの終結コンポーネントへ転送するカーネル・モード・コンポーネント相互接続手段と
を備えていることを特徴とするカーネル・モード・メディア・レンダリング・システム。