【手続補正書】
【提出日】平成19年3月6日(2007.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オーディオデバイスドライバによって駆動されるオーディオデバイスで出力されるオーディオデータストリームに対して行われるグローバルオーディオ効果（ＧＦＸ）のためのオーディオ処理オブジェクト（ＡＰＯ）をオペレーティングシステムが実行することを求める要求を受け取るステップであって、
前記オペレーティングシステムは、入力バッファと、ループバッファと、サービスコンテクストおよびグローバルオーディオエンジンを含む論理的に独立したコンテクストとを有するオーディオサブシステムを含むステップと、
前記サービスコンテクストに、前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファのコンテクストを保存するステップと、
前記グローバルオーディオエンジンを作動させて前記入力バッファ中のオーディオデータストリームに前記ＡＰＯを用いてデジタル信号処理を行い、前記ループバッファ中にデジタル信号処理（ＤＳＰ）オーディオデータストリームを形成するステップと、
前記ループバッファ内の前記ＤＳＰオーディオデータストリームを、前記オーディオデバイスを駆動する前記オーディオデバイスドライバに入力するステップと、
前記ＡＰＯが終了するか、または前記ＡＰＯによるアクセス違反が生じると、前記サービスコンテクストにそれぞれのために保存されている前記コンテクストを用いて、前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファそれぞれを復元するステップと、
前記グローバルオーディオエンジンで前記ＡＰＯの実行を随意的に再開するステップとを含むことを特徴とする方法。
【請求項２】
前記入力バッファのコンテクストは、前記入力バッファに結びついたアドレスおよびデータ構造を含み、
前記グローバルオーディオエンジンのコンテクストは、前記グローバルオーディオエンジンに結びついたアドレスおよびデータ構造を含み、
前記ループバッファのコンテクストは、前記ループバッファに結びついたアドレスおよびデータ構造を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記オーディオデバイスドライバによって駆動される前記オーディオデバイスで前記ＤＳＰオーディオデータストリームを再生（レンダー）するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記オペレーティングシステムは、
カーネルのパーティションと、
前記サービスコンテクストの下位パーティション、および
前記グローバルオーディオエンジンの下位パーティション
を含む分離された複数の下位パーティションを有する前記オーディオサブシステムのパーティションと
を含む複数の独立したパーティションを有するメモリ内にあることを特徴とする請求項１に記載の方法。
【請求項５】
前記複数の独立したパーティションはさらに、ＡＰＯを実行して前記オーディオデータストリームを前記入力バッファに出力するローカルエンジンを有する処理コンテクストのパーティションを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記ＧＦＸは、残響・反響効果、オーディオ歪み効果、スピーカ補償効果、マルチバンドオーディオイコライザ効果からなるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項７】
前記コンピューティングシステムによって実行されるときに請求項１に記載の方法を実施するコンピュータ可読命令を有することを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項８】
オーディオデバイスドライバによって駆動されるオーディオデバイスで出力されるオーディオデータストリームに対して行われるグローバルオーディオ効果（ＧＦＸ）のためのオーディオ処理オブジェクト（ＡＰＯ）をオペレーティングシステムが実行することを求める要求をオーディオアプリケーションから受け取るステップであって、前記オペレーティングシステムは、
カーネルと、
入力バッファおよびループバッファを有するオーディオサブシステムと
を含むメモリ中に個別のパーティションを有し、
前記メモリ中の前記オーディオサブシステムのパーティションは、
サービスコンテクストと、
前記ＡＰＯを実行するグローバルオーディオエンジンと
を含む個々別々の下位パーティションを有するステップと、
前記入力バッファ、前記ループバッファ、および前記グローバルオーディオエンジンに結びついたアドレスおよびデータ構造を前記サービスコンテクストに保存するステップと、
前記グローバルオーディオエンジンを作動させて
前記入力バッファ中のオーディオデータストリームに前記ＡＰＯでデジタル信号処理を行って、デジタル信号処理（ＤＳＰ）オーディオデータストリームを形成し、
前記ＤＳＰオーディオデータストリームを前記ループバッファに出力するステップと、
前記ＤＳＰオーディオデータストリームを再生する前記オーディオデバイスを駆動する前記オーディオデバイスドライバに前記ループバッファ中の前記ＤＳＰオーディオデータストリームを入力するステップと、
前記ＡＰＯが終了するかまたは前記ＡＰＯによりアクセス違反が行われると、
前記サービスコンテクストに保存されている前記入力バッファのアドレスおよびデータ構造を用いて前記入力バッファを復元するステップと、
前記サービスコンテクストに保存されている前記グローバルオーディオエンジンのアドレスおよびデータ構造を用いて前記グローバルオーディオエンジンを復元するステップと、
前記サービスコンテクストに保存されている前記ループバッファのアドレスおよびデータ構造を用いて前記ループバッファを復元するステップと、
前記グローバルオーディオエンジンで前記ＡＰＯの実行を随意的に再開するステップとを含むことを特徴とする方法。
【請求項９】
前記ＡＰＯの終了または前記ＡＰＯによるアクセス違反は前記サービスコンテクストによって検出されることを特徴とする請求項１または８に記載の方法。
【請求項１０】
前記メモリ中の前記オーディオサブシステムのパーティションはさらに、ＡＰＯを実行して前記オーディオデータストリームを前記入力バッファに出力するローカルエンジンを有する処理コンテクストのための独立した下位パーティションを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記入力バッファ内の前記オーディオデータストリームは、前記オーディオデバイスでそのそれぞれが再生される複数のオーディオアプリケーションからのオーディオデータを含み、
前記グローバルオーディオエンジンは、前記複数のオーディオアプリケーションからの前記オーディオデータをミキシングして、前記ループバッファ中に前記ＤＳＰオーディオデータストリームを形成することを特徴とする請求項５または１０に記載の方法。
【請求項１２】
前記入力バッファは、前記プロセスコンテクストのパーティションと前記グローバルオーディオエンジンのパーティションとで共有される前記メモリ中の前記オーディオサブシステムのパーティション内に論理的に位置し、
前記ループバッファは、前記グローバルオーディオエンジンのパーティションと前記カーネルのパーティションとで共有される前記メモリ中の前記オーディオサブシステムのパーティションの内に論理的に位置していることを特徴とする請求項１または８に記載の方法。
【請求項１３】
前記ＡＰＯによりアクセス違反が行なわれると、前記方法はさらに、
前記ＡＰＯによるアクセス違反の回数を表すカウンタを増分するステップと、
前記カウンタが所定の上限を超えると、診断を出力し、前記グローバルオーディオエンジンにおける前記ＡＰＯの実行の再開を禁止するステップと
を含むことを特徴とする請求項８に記載の方法。
【請求項１４】
前記オペレーティングシステムはさらに、対応する複数の前記グローバルオーディオエンジンのための複数の前記ループバッファを含み、
各前記グローバルオーディオエンジンは、対応する前記ループバッファに１つの前記ＤＳＰオーディオデータストリームを出力して、対応する前記オーディオデバイスを駆動する対応する前記オーディオデバイスドライバに入力を送ることを特徴とする請求項１または８に記載の方法。
【請求項１５】
前記オペレーティングシステムはさらに、対応する前記オーディオデバイスにより再生（レンダー）されるオーディオデータストリームをそれぞれが含む複数の前記入力バッファを備え、
各前記グローバルオーディオエンジンは、１つの前記入力バッファに対応することを特徴とする請求項１４に記載の方法。
【請求項１６】
各前記入力バッファは、少なくとも１つの前記オーディオデバイスについてのオーディオサービスを前記オペレーティングシステムに要求する対応する前記オーディオアプリケーションから対応する前記オーディオデータストリームを受け取ることを特徴とする請求項１５に記載の方法。
【請求項１７】
コンピューティングシステムによって実行されるときに請求項８に記載の方法を実施するコンピュータ可読命令を有することを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１８】
論理的に独立したパーティションにあるカーネルとオーディオサブシステムとを含むコンピュータ実行可能オペレーティングシステムであって、前記オーディオサブシステムは、入力バッファと、オーディオデバイスを駆動するデバイスドライバと通信するループバッファとを有し、かつ前記オーディオサブシステムは、
前記入力バッファ中のオーディオデータストリームに行われるグローバルオーディオ効果（ＧＦＸ）のためのオーディオ処理オブジェクト（ＡＰＯ）を実行して、前記デバイスドライバによって駆動される前記オーディオデバイスで再生される前記ループバッファ中のオーディオデータストリームを形成するグローバルオーディオエンジンと、
前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファのコンテクストを保存するサービスコンテクストと、
を含む論理的に独立した複数の下位パーティションをも含み、
前記グローバルオーディオエンジンで実行中の前記ＡＰＯが終了するか、または前記ＡＰＯによりアクセス違反が行われると、
前記サービスコンテクストにそれぞれのために保存されている前記コンテクストを用いて、前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファのそれぞれを復元し、
前記グローバルオーディオエンジンにおける前記ＡＰＯの実行が随意的に再開することを特徴とするコンピュータ実行可能オペレーティングシステム。
【請求項１９】
前記入力バッファのコンテクストは、前記入力バッファに結びついたアドレスおよびデータ構造を含み、
前記グローバルオーディオエンジンのコンテクストは、前記グローバルオーディオエンジンに結びついたアドレスおよびデータ構造を含み、
前記ループバッファのコンテクストは、前記ループバッファに結びついたアドレスおよびデータ構造を含むことを特徴とする請求項１８に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２０】
前記ＡＰＯによりアクセス違反が行なわれると、
前記ＡＰＯによるアクセス違反の回数を表すカウンタが増分され、
前記カウンタが所定の上限を超えると、診断が出力され、前記グローバルオーディオエンジンにおいて前記ＡＰＯの実行が禁止されることを特徴とする請求項１８に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２１】
前記オペレーティングシステムはさらに、対応する複数の前記グローバルオーディオエンジンのための複数の前記ループバッファを含み、
各前記グローバルオーディオエンジンは、対応する前記ループバッファに１つの前記ＤＳＰオーディオデータストリームを出力して、対応する前記オーディオデバイスを駆動する対応する前記オーディオデバイスドライバに入力を送ることを特徴とする請求項１８に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２２】
前記オペレーティングシステムはさらに、対応する前記オーディオデバイスで再生されるオーディオデータストリームをそれぞれが含む複数の前記入力バッファを備え、
各前記グローバルオーディオエンジンは１つの前記入力バッファに対応することを特徴とする請求項２１に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２３】
各前記入力バッファは、少なくとも１つの前記オーディオデバイスについてのオーディオサービスを前記オペレーティングシステムに要求するオーディオアプリケーションから対応する前記オーディオデータストリームを受け取ることを特徴とする請求項２２に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２４】
前記複数の論理的に独立したパーティションはさらに、ＡＰＯを実行して前記入力バッファにオーディオデータストリームを出力するローカルエンジンを有する処理コンテクストのためのパーティションを含むことを特徴とする請求項１８に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２５】
前記入力バッファは、前記オーディオデバイスでそのそれぞれが再生される複数のオーディオアプリケーションからのオーディオデータを格納し、
前記グローバルオーディオエンジンは、前記複数のオーディオアプリケーションからのオーディオデータをミキシングして、前記ループバッファ内にオーディオデータを形成することを特徴とする請求項１８に記載のコンピュータ実行可能オペレーティングシステム。
【請求項２６】
オペレーティングシステムのカーネルと、
前記オペレーティングシステムのオーディオサブシステムと
を含む論理的に独立した複数のパーティションを格納する手段であって、前記オーディオサブシステムは、
入力バッファ、およびオーディオを再生する手段を駆動する手段と通信するループバッファと
サービスコンテクストおよびグローバルオーディオエンジンを含む論理的に独立した複数の下位パーティションと
を含む手段と；
前記オーディオサブシステムを実行させて、
前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファのコンテクストを前記サービスコンテクストに保存し、
前記入力バッファ内のオーディオデータストリームにグローバルオーディオ効果（ＧＦＸ）を生成するオーディオ処理オブジェクト（ＡＰＯ）を実行して、前記オーディオデバイスを駆動する手段によって駆動されるオーディオを再生する手段で再生される前記ループバッファ中のオーディオデータストリームを形成する手段と；
前記グローバルオーディオエンジンで実行中の前記ＡＰＯによりアクセス違反が行なわれると、
前記サービスコンテクストにそれぞれのために個別に保存されている前記コンテクストを使用して前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファのそれぞれを復元し、
前記グローバルオーディオエンジンにおいて前記ＡＰＯの実行を再開する手段と
を含むことを特徴とする装置。
【請求項２７】
前記入力バッファのコンテクストは、前記入力バッファに結びついたアドレスおよびデータ構造を含み、
前記グローバルオーディオエンジンのコンテクストは、前記グローバルオーディオエンジンに結びついたアドレスおよびデータ構造を含み、
前記ループバッファのコンテクストは、前記ループバッファに結びついたアドレスおよびデータ構造を含むことを特徴とする請求項２６に記載の装置。
【請求項２８】
前記ＡＰＯによりアクセス違反が行なわれると、前記再開する手段は、
前記ＡＰＯによるアクセス違反の回数を表すカウンタを増分し、
前記カウンタが所定の上限を超えると、診断を出力し、前記グローバルオーディオエンジンにおける前記ＡＰＯの実行の再開を禁止する
ことを特徴とする請求項２６に記載の装置。
【請求項２９】
前記オーディオサブシステムはさらに、対応する複数の前記グローバルオーディオエンジンのための複数の前記ループバッファを含み、
各前記グローバルオーディオエンジンは、対応する前記ループバッファに１つの前記オーディオデータストリームを出力して、対応する前記オーディオを再生する手段を駆動する対応する前記手段に入力を送ることを特徴とする請求項２６に記載の装置。
【請求項３０】
前記オーディオサブシステムはさらに、対応する前記オーディオを再生する手段で再生されるオーディオデータストリームをそのそれぞれが含む複数の前記入力バッファを備え、
各前記グローバルオーディオエンジンは１つの前記入力バッファに対応することを特徴とする請求項２９に記載の装置。
【請求項３１】
各前記入力バッファは、少なくとも１つの前記オーディオを再生する手段についてのオーディオサービスを前記オペレーティングシステムに要求するオーディオアプリケーションから対応する前記オーディオデータストリームを受け取ることを特徴とする請求項３０に記載の装置。
【請求項３２】
前駆オーディオサブシステムの前記複数の論理的に独立した下位パーティションはさらに、ＡＰＯを実行して前記オーディオデータストリームを前記入力バッファに出力するローカルエンジンを有する処理コンテクストのための下位パーティションを含むことを特徴とする請求項２６に記載の装置。
【請求項３３】
前記入力バッファ内の前記オーディオデータストリームは、前記オーディオを再生する手段でそのそれぞれが再生される複数のオーディオアプリケーションからのオーディオデータを含み、
前記グローバルオーディオエンジンは、前記複数のオーディオアプリケーションからのオーディオデータをミキシングして、前記ループバッファ中に前記オーディオデータストリームを形成することを特徴とする請求項３２に記載の装置。
【請求項３４】
第１のオーディオデータストリームを生成するオーディオアプリケーションを実行し、
かつカーネルのためのパーティションと、論理的に独立した下位パーティションを有するオーディオサブシステムのためのパーティションとに論理的に分離されたオペレーティングシステムを実行するプロセッサを含み、
前記オーディオサブシステムを用いて前記第１のオーディオデータストリームを処理するプロセスが、前記プロセスを第２の前記下位パーティションで実行する前に第１の前記下位パーティションに保存されたコンテクストを有し、
それにより前記プロセスがアクセス違反を犯すと、前記第１の下位パーティションから前記プロセスのコンテクストを復元することにより前記プロセスを回復することを特徴とするコンピューティングシステム。
【請求項３５】
前記プロセスの前記保存されたコンテクストは、前記オーディオサブシステム内で前記保存されたコンテクストを復元することにより前記プロセスを回復するのに十分なアドレスおよびデータ構造の情報を含むことを特徴とする請求項３４に記載のコンピューティングシステム。
【請求項３６】
前記プロセッサは、前記第１のオーディオデータストリームが出力されるところの第１のオーディオデバイスとは異なる第２のオーディオデバイスに出力される第２のオーディオデータストリームを生成する第２のオーディオアプリケーションを実行し、
前記プロセスの前記アクセス違反および回復は、
前記第２のオーディオアプリケーションの実行にも、
前記第２のオーディオデバイスに出力される前記第２のオーディオデータストリームにも
影響しないことを特徴とする請求項３４に記載のコンピューティングシステム。
【請求項３７】
オペレーティングシステムおよび複数のオーディオアプリケーションを実行するプロセッサと、
前記複数のオーディオアプリケーションと同時に使用して、前記オペレーティングシステムへ伝達するオーディオデータを個別に生成する複数のマルチメディア読み取りデバイスと、
個々のオーディオデバイスドライバによって駆動され、前記オペレーティングシステムへ伝達された前記オーディオデータを再生する複数のオーディオデバイスと、
前記複数のオーディオアプリケーションおよび前記オペレーティングシステムのための記憶機構とを備え、
前記オペレーティングシステムが、カーネルとオーディオサブシステムとを含む複数の論理的に独立したパーティションを有し、前記オーディオサブシステムが、
プロセスコンテクストと、
サービスコンテクストと、
グローバルオーディオエンジンと
を含む複数の論理的に独立した下位パーティションと、
前記プロセスコンテクストおよび前記グローバルオーディオエンジンと通信する入力バッファと、
前記オーディオデバイスの１つを駆動する前記オーディオデバイスドライバの１つと通信するループバッファと
を含み、
前記プロセッサが、前記オペレーティングシステムと前記オーディオアプリケーションの１つとを実行して、
前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファのコンテクストを前記サービスコンテクストに保存し、
オーディオデータストリームとして前記入力バッファに出力するために前記プロセスコンテクストに入力するオーディオデータを１つの前記オーディオアプリケーションから生成し、
前記入力バッファ内の前記オーディオデータストリームにグローバルオーディオ効果（ＧＦＸ）を生成するオーディオ処理オブジェクト（ＡＰＯ）を実行して、前記オーディオデバイスドライバの１つによって駆動されるオーディオデバイスの１つで再生されるオーディオデータストリームを前記ループバッファ内に形成し、
前記グローバルオーディオエンジンで実行中の前記ＡＰＯによりアクセス違反が行なわれると、
前記サービスコンテクストにそのそれぞれのために個別に保存されているコンテクストを用いて、前記入力バッファ、前記グローバルオーディオエンジン、および前記ループバッファそれぞれを復元し、
前記グローバルオーディオエンジンにおいて前記ＡＰＯの実行を再開することを特徴とするコンピューティングシステム。
【請求項３８】
カーネルのパーティションと、論理的に独立した下位パーティションを有するオーディオサブシステムのパーティションとに論理的に分離されたオペレーティングシステムを実行することにより、第１のオーディオデータストリーミングを生成することをオーディオアプリケーションに求める処理をする第１のコードセグメントと、
第１の前記下位パーティションに、前記第１のオーディオデータストリームを処理するプロセスのためのコンテクストを保存する第２のコードセグメントと、
第２の前記下位パーティションで前記プロセスを用いて前記第１のオーディオデータストリームを処理する第３のコードセグメントと
を含み、
前記プロセスがアクセス違反を犯すと、前記オーディオサブシステム内に前記第１の下位パーティションから前記保存されたコンテクストを復元することにより、前記プロセスを回復することを特徴とするコンピュータ可読媒体。
【請求項３９】
前記プロセスのための前記保存されたコンテクストは、前記オーディオサブシステム内に前記保存されたコンテクストを復元することにより前記プロセスを回復するのに十分なアドレスおよびデータ構造の情報を含むことを特徴とする請求項３８に記載のコンピュータ可読媒体。
【請求項４０】
前記オペレーティングシステムを実行することにより第２のオーディオデータストリームを生成することを求めるオーディオアプリケーションに要求することを処理する第４のコードセグメントをさらに含み、前記第２のオーディオデータストリームは、第１のオーディオデータストリームが出力される第１のオーディオデバイスとは異なる第２のオーディオデバイスに出力されるように命令され、前記プロセスの前記アクセス違反および回復は、
前記第２のオーディオアプリケーションの実行による前記第２のオーディオデータストリームの生成にも
前記第２のオーディオデバイスに出力される前記第２のオーディオデータストリームにも
影響しないことを特徴とする請求項３８に記載のコンピュータ可読媒体。