(57)【特許請求の範囲】
【請求項１】
コンピュータを用いたストリーミング環境における加速音声処理の方法であって、前記コンピュータが、
ａ）ストリーミング音声アセットの音声ブロックの処理を無視する位置を特定することと、
ｂ）ａ）において選ばれた前記音声ブロックを無視することと、
ｃ）補償済み音声を生成するために、前記無視された音声ブロックを補償することと、
ｄ）音声デバイスを通して前記補償済み音声を再生することと、
を含み、
ａ）が、Ｉ）前記音声ブロックの変換を導出することと、ＩＩ）前記音声ブロックの変換をウェーブレットに分解することと、ＩＩＩ）前記ウェーブレットの変化率を導出することと、
を含む、方法。
【請求項２】
ａ）が、ＩＶ）前記ウェーブレットの前記変化率に基づいて、少なくとも１つの音声ブロックに省略優先度でフラグを立てることをさらに含む、請求項１に記載の方法。
【請求項３】
省略優先度でフラグが立てられた前記音声ブロックの前または後の音声ブロックが無視される、請求項２に記載の方法。
【請求項４】
スライディング優先ウィンドウを確立することと、どのブロックが最高省略優先度でフラグが立てられるかを判断するために前記スライディング優先ウィンドウ内の前記音声ブロックを比較することと、をさらに含み、前記最高省略優先度を有する前記音声ブロックが、ｂ）において無視され、前記省略優先度が、前記音声ブロックにおける変化量を説明する、請求項２に記載の方法。
【請求項５】
前記ストリーミング音声アセットにおいて追加の音声ブロックを受信することと、ａ）からｄ）のステップを反復することと、をさらに含む、請求項４に記載の方法。
【請求項６】
前記ストリーミング音声アセットにおいて追加の音声ブロックを受信することと、ａ）からｄ）のステップを所定の間隔で反復することと、をさらに含む、請求項１に記載の方法。
【請求項７】
ａ）において位置を特定することが、前記音声が閾値条件を満たすかどうかを判断することを含む、請求項１に記載の方法。
【請求項８】
ａ）において位置を特定することが、前記音声ブロックが依存関係を有しないかどうかを判断することを含む、請求項１に記載の方法。
【請求項９】
ｂ）において前記無視された音声ブロックが、３ｍｓと７ｍｓとの間の長さである、請求項１に記載の方法。
【請求項１０】
ｃ）において補償することが、前記無視された音声ブロックの直前である前の音声ブロックの末尾を、次の音声ブロックの先頭と平均することを含む、請求項１に記載の方法。
【請求項１１】
前記次の音声ブロックの前記先頭が、前記前の音声ブロックの前記末尾と平均される、請求項１０に記載の方法。
【請求項１２】
平均される前記前の音声ブロックの前記末尾及び前記次の音声ブロックの前記先頭の量が、それぞれ０．００５ミリ秒（ｍｓ）と０．０６ｍｓとの間である、請求項１０に記載の方法。
【請求項１３】
周波数解析が、前記次の音声ブロックの前記先頭と平均されるべき前記前の音声ブロックの前記末尾の量を判断するために、前記無視された音声ブロックの直前の前記音声ブロックに適用される、請求項１０に記載の方法。
【請求項１４】
前記次の音声ブロックの周波数もまた、前記前の音声ブロックの前記末尾と平均されるべき前記次の音声ブロックの前記先頭の前記量を判断するために解析される、請求項１３に記載の方法。
【請求項１５】
前記前の音声ブロックの前記末尾及び前記次の音声ブロックの前記先頭の量が多いほど、高い周波数よりも低い周波数において平均される、請求項１４に記載の方法。
【請求項１６】
前記前の音声ブロックの前記末尾及び前記次の音声ブロックの前記先頭の量が少ないほど、低い周波数よりも高い周波数において平均される、請求項１４に記載の方法。
【請求項１７】
高い周波数において、前記前の音声ブロックの前記末尾及び前記次の音声ブロックの前記先頭が平均されない、請求項１４に記載の方法。
【請求項１８】
前記音声デバイスが、ビデオゲームコンソールである、請求項１に記載の方法。
【請求項１９】
ＣＰＵと、
音声デバイスと、
前記ＣＰＵに連結されたメモリと、
実行時に前記ＣＰＵに音声の加速処理の方法を成立させる、メモリに組み込まれた非一時的命令であって、
ａ）ストリーミング音声アセットの音声ブロックの処理を無視する位置を特定することと、
ｂ）ａ）において選ばれた前記音声ブロックを無視することと、
ｃ）前記無視された音声ブロックを補償することと、
ｄ）前記音声デバイスを通して前記補償済み音声を再生することと、
を含み、
ａ）が、Ｉ）前記音声ブロックの変換を導出することと、ＩＩ）前記音声ブロックの変換をウェーブレットに分解することと、ＩＩＩ）前記ウェーブレットの変化率を導出することと、
を含む、前記非一時的命令と、
を備える、デバイス。
【請求項２０】
コンピュータプロセッサによって実行可能なコード化命令のプログラムを記憶した、非一時的コンピュータ可読媒体であって、前記コード化命令が、音声の加速処理の方法を実施するように構成され、前記方法が、
ａ）ストリーミング音声アセットの音声ブロックの処理を無視する位置を特定することと、
ｂ）ａ）において選ばれた前記音声ブロックを無視することと、
ｃ）前記無視された音声ブロックを補償することと、
ｄ）音声デバイス上で前記補償済み音声を再生することと、
を含み、
ａ）が、Ｉ）前記音声ブロックの変換を導出することと、ＩＩ）前記音声ブロックの変換をウェーブレットに分解することと、ＩＩＩ）前記ウェーブレットの変化率を導出することと、
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声プログラムをストリーミングすることに関する。より具体的には、本開示は、時間制約付き音声ストリームの加速処理に関する。
【背景技術】
【０００２】
ストリーミング音声アセットでは、音声情報の大きなバッファが維持できないように、音声アセットの処理に時間制約があることがよくある。これらの制約は、システムの物理的制限または音声アセットをストリーミングするプログラム内の制約のいずれかに起因し得る。
【０００３】
バッファされ得る情報量に対して制約がある、そのような１つの状況は、クラウドベースエミュレーションの状況においてである。クラウドベースエミュレーションシステムでは、処理の大部分が、リモートクラウドベースサーバ上で行われる。これによって、クラウドベースサーバと通信しているクライアントデバイスプラットフォームは、クラウドベースゲームを処理するのにほとんどリソースを使用しないことが可能となる。現在の技術は、ゲームのロードをより高速にするためのインクリメンタルバッファリング、及びサーバとクライアントとの間の並列処理を実施する。しかしながら、この構成の結果として、クライアントデバイスとサーバとの間の通信が同期されなければならず、クライアントデバイスは、エミュレートされる情報の小さなバッファしか維持できない。クライアントデバイス及びサーバが同期されない場合、それは、異常な、または予期しないデバイスの動作をもたらし得る。ときには、ネットワークを通して送信される音声ブロックが失われ、またはシステムが音声を処理するために追加の時間を必要とすることがあり、それによって同期が失われる結果となる。したがって、当技術分野において、同期を保証するため、及び音声アセットについてのローディング時間を改善するために、音声処理を加速するやり方に対する必要性がある。
【発明の概要】
【０００４】
本発明の教示は、添付図面と併せて以下の詳細な説明を考察することによって、容易に理解され得る
【図面の簡単な説明】
【０００５】
【図１】本開示の態様による、加速された音声処理の方法のフロー図である。
【図２】本開示の態様による、従来技術の音波の線グラフである。
【図３】本開示の態様による、省略された音声ブロックを有する音波のグラフである。線
【図４】本開示の態様による、省略された音声ブロック及びラインフィッティングを用いた補償を有する音波の線グラフである。
【図５】本開示の態様による、２つの省略された音声ブロック及び補償を有する音波の線グラフである。
【図６】本開示の態様による、音声加速の方法を実施するシステムのブロック図である。
【図７】本開示の態様による、解析用の波を用いて修正する音声レベルの長さを判断する方法を示すフロー図である。
【図８】本開示の態様による、信号解析を用いて音声ブロックを省略する位置を判断する方法を示すフロー図である。
【図９】本開示の態様による、省略されるべきブロックを判断する方法を示すフロー図である。
【図１０】本開示の態様による、スライディング優先フレーム内の省略されたブロックを有する音波の線グラフである。
【発明を実施するための形態】
【０００６】
序論
音の周波数に依存して、人間の耳は、２ｍｓと同程度の速さの周波数の意味のある短い変化を区別することができる。この分野における研究は、進行中であるが、経験的にいくつかの制限が見つかっている。人間の耳による周波数の意味のある変化の検出は、問題の波形の周波数に大いに依存して変化する。例えば、４０（ヘルツ）Ｈｚにおける可聴低周波数低音信号は、波頭間で２５ミリ秒（ｍｓ）を測定する。雑音以外のものとして認識される意味のある音を生み出すには、５０ｍｓより多くかかる。逆に、１５キロヘルツ（ｋＨｚ）の高周波数波形は、かなり速い、約２ｍｓで認識可能な音になる。音声をストリーミングするとき、連続的な音波が、不連続のパケットまたは音声ブロックにパッケージされるサンプルにパースされ、ネットワークを経てクライアントに送信される。クライアントデバイスは、音声ブロックを受信し、音声ブロックをクライアントデバイス上で容易に再生可能な形式にするためにそれを処理する。従来技術のシステムでは、クライアントデバイスが、再生前に処理される音声ブロックの大きなバッファを含み得る。このようにして、従来技術のシステムは、概して再生が処理よりも遅く、処理が遅くなったときはいつでも、再生が停止し終了のための処理を待機する必要がある前に大きなバッファが存在したため、再生と処理との同期を維持することが可能であった。例えば、少量の物理メモリを有するシステム、またはサーバとの同期を維持しなければならないシステムにおいて、システムが大きなバッファを維持することができない状況が存在する。これらの制限は、本明細書においてリアルタイム制約と呼ばれる。これらの事例において、省略された音声ブロックの影響にユーザが気付くことなく、システムが、音声ブロックの処理前に、ある音声ブロックを選択し省略し得る場合、音声処理が加速され得る。
【０００７】
詳細な説明
以下の詳細な説明は、例示のための多数の具体的詳細を含むが、当業者であれば誰でも、以下の詳細に対する多数の変形及び変更が発明の範囲内にあると理解するであろう。したがって、以下に記載される本開示の態様の様々な実施態様は、特許請求された発明に対して一般性を失うことなく、かつ限定を与えることなく、明記されている。
【０００８】
図１は、音声ストリームの加速のために音声ブロックを選択的に省略及び混合するための方法１００を示す。最初に、デバイスは、１０１に示されるように、音声ストリームを受信または生成し得る。音声ストリームは、音声情報を含む一連のパケットまたは音声ブロックから構成され得る。パケットまたは音声ブロックサイズは、便宜上ネットワーキングプロトコルまたは基盤となる規格によって、かつ最小レイテンシの効果を与えるために、事前定義され得る。追加される恩恵として、これらのパケットまたはブロックサイズは、通常、基盤システムの最小音声レイテンシ応答とうまく合わせられる。他の実施形態では、パケットまたは音声ブロックサイズは、本開示の態様に従ってブロックを省略するときに、知覚される音声品質を最大化するようにシステムによって定義されてもよい。システムのブロックサイズの階乗ではない音声ブロックサイズを用いることは、本来処理のレイテンシを増加させることに留意されるべきである。さらに、音声ストリームは、ストリームのために保持され得る、バッファされる情報の量、または音声が再生される前の時間量を制限するリアルタイム制約の対象となり得る。
【０００９】
デバイスは、１０２に示されるように、依存関係を有しない音声ブロック、または前のブロックの末尾と次のブロックの先頭との間に大きな音声レベル差がある、もしくはないブロックなど、音声ブロックを省略するための音声ストリーム内の位置を判断し得る。１つの実施形態において、音声ブロックを省略する位置は、図７に関してより良く理解され得る信号解析から判断される。ブロックを省略する位置は、フーリエ変換（ＤＦＴ）、離散コサイン変換（ＤＣＴ）、または離散ウェーブレット変換（ＤＷＴ）解析などの既知の方法を用いて、周波数及び時間ドメインに波形を変換７０１することによって判断され得る。変換の解析において、各音声ブロックの波スペクトルは、ウェーブレットに短く切られ７０２、ウェーブレット間の明確な変化が測定７０３され、経時的に高い変化度を示すブロックにはフラグが立てられ、省略７０４されなくともよい。高度の変化率は、閾値によって判断され得る。デバイスは、以下で省略間隔と呼ばれる、音声処理を加速するためのセット間隔で、音声ブロックを省略するように構成され得る。実施形態において、ブロック間隔によって省略されるように判断されたブロックに、高い変化率を有するとしてフラグが立てられている場合、システムは、ストリーム内の次のブロックを選択する。異なる実施形態では、システムは、ストリーム内の前のブロックを選択してもよい。省略間隔は、レイテンシ制約に基づいてシステムによって判断されてもよく、例えば、システムが、ブロックを処理する際に高レイテンシを判断するとき、省略間隔は減少され得る。逆に、システムは、レイテンシが低いと判断されるときに、省略間隔を増加させ得る。代替的な実施形態において、デバイスは、音声レベルについての所定の閾値を有してもよく、音声レベルがその閾値より低いときに、デバイスがブロックを省略し得る。デバイスは、また、音声レベル閾値と省略間隔との何らかの組み合わせを有してもよい。
【００１０】
図９は、本開示の実施形態による、省略されるべきブロックを判断する方法を示す。方法は、上述のように、レイテンシ情報から省略間隔を判断９０２することで始まり得る。上述のような信号解析が、波形を周波数時間ドメイン波に変換９０１し、波をウェーブレットに分解９０３し、ウェーブレットの変化率を解析９０４するために使用され得る。変化率情報から、経時的な変化量を示す省略優先度フラグが、各音声ブロックに適用９０５され得る。高い変化度を有するブロックは、低優先度ブロックとしてフラグが立てられ、低い変化度を有するブロックは、高い優先度でフラグが立てられる。システムは、省略間隔を使用してスライディング優先ウィンドウを設定９０６し得る。システムは、スライディング優先ウィンドウ内のブロックのそれぞれに省略優先度フラグを適用９０７する。スライディング優先ウィンドウ内で、システムは、各ブロックの省略優先度フラグの値を比較することによって、どのブロックを省略するかを判断９０８する。最高優先度を有するブロック９０９（すなわち、経時的に最小変化量を有するブロック）が省略され、他のより低い優先度ブロックが保持９１０される。優先ウィンドウのサイズは、任意の長さのものであり得るが、知覚されるシステムのレイテンシが減少されることが好ましい。理想的には、優先ウィンドウは、４０ｍｓ未満である。この場合、省略間隔は、各優先ウィンドウ間の時間長を設定し得る。
【００１１】
図９の方法の態様は、図１０に関してより基づき得る。ストリーミング音声コンテンツの波形１００１が示されている。直線１００３は、メモリに記憶されているストリーミング音声の量を表す。１００４及び１００５は、スライディング優先フレームを表す。スライディング優先フレームは、省略間隔１００８毎に生じる。スライディング優先フレーム内で、最高省略優先度を有するブロックが、省略１００９される。
【００１２】
デバイスが、音声ブロックを省略することが適切であると判断すると、デバイスは、音声ブロックを省略することを開始し得る。音声ブロックを省略するために、デバイスは、１０３に示されるように、ブロックの処理をバイパスし得る。代替的には、デバイスは、最初にバッファ内の未処理音声ブロックを受信し、未処理音声ブロックが次の音声ブロックによって上書きされることを可能にし得る。デバイスは、次いで１０４に示されるように、省略されたブロックの後の次の音声ブロックを受信し、再生のためにそれを処理し得る。本開示のキーコンセプトは、説明されるシステムが、ネットワークを経て受信された音声の処理にいかなる追加レイテンシも追加しないということである。音声パケットがネットワークから受信され、復元されると、クライアントは、いかなる追加レイテンシも受けることなく、ストリームから解析及びカットし得る。
【００１３】
デバイスは、前の音声ブロックの末尾と次の音声ブロックの先頭との間の音声レベルの差を減少させることによって、省略された音声ブロックを補償１０５し得る。限定としてではなく実施例として、デバイスは、前の音声ブロックの最終セットサンプルを次の音声ブロックの最初のセットサンプルと単純平均し、その平均に向けてそのサンプルの値を調整し得る。いくつかの実施形態では、前の音声ブロックの末尾だけが、平均される。他の実施形態では、次の音声ブロックの先頭だけが、平均される。平均のために使用されるサンプル数は、省略されるブロックを埋めるための最も自然に聞こえるやり方を見つけるように経験的に判断され得る。例えば、ポップ音及びクリック音は、長さ０．０２ｍｓだけの音声を平均することによって、効果的に除去されることが分かっている。他の実施形態では、波形解析が、図６に見られるように修正するために、音声レベルの長さを判断するために実行される。前の音声ブロックの周波数が、解析６０１される。解析が、波形が低周波数６０３であると判断６０２する場合、元のスペクトルにより良く合致するために、より長い平均期間が選択６０５され得る。逆に、波形が高周波数６０４であるように判断６０２される場合、非常に短い平均期間が選択６０６されるか、または平均が選択されない。限定としてではなく実施例として、低周波数波形の場合、システムは、０．０６ｍｓ以下の平均期間を選択し得る。高周波数波形の場合、システムは、０．００５ｍｓ以下の平均期間を選択し得る。本開示の代替的な態様によれば、２つより多くの平均期間があってもよい。例えば、低周波数、中周波数、及び高周波数の波形に対する平均期間があってもよく、またはユーザエクスペリエンスを顕著に妨げることなく、基礎となる波形を最も良く近似するために選択される波形の周波数に対応するいくつかの平均期間があってもよい。
【００１４】
ある実施態様において、省略されたブロックによって作り出される音声レベル内のギャップが、ウェーブレット解析を用いて波形を補間することによって埋められ得る。いくつかの実施形態では、補間の長さが、波形の周波数に基づいて選択される。上述のように、低い周波数波形に対してより長い期間の補間計算が選択され、高周波数音声波形に対して短い期間の補間が選択される。
【００１５】
上述のように、デバイスがブロックを省略し、省略されたブロックを補償すると、デバイスは、１０７に示されるように、音声を再生してもよく、及び／または１０６に示されるように、通常通り音声ブロックを受信及び／または生成することに戻ってもよい。
【００１６】
図２は、１００ミリ秒の音波２０１を示す、音声レベル対時間のグラフを示す。この描写において、波は連続した線として示されるが、ある実施形態では、波は音声情報の複数のサンプルから構成され得ると理解されるべきである。例えば、典型的なコンパクトディスク品質のＭＰ３音声ファイルは、毎秒４４１００個のサンプルから構成される。
【００１７】
図３は、本開示の態様による、省略されたブロック３０２を有する音波３０１を示す。例示される実施例として、省略されたブロック３０２は、５ミリ秒間続くが、他の実施形態では、ブロックは、２ミリ秒と同じくらい短くてもよく、または２５ミリ秒と同じくらい長くてもよい。この描写において、音声は、点線３０３で表されるようにストリーミングしている。デバイスは、既にブロック３０２を省略するように決定し、省略されたブロック３０２の後の、次の音声ブロック３０４を受信している。デバイスは、省略されたブロック３０２をまだ補償していない。
【００１８】
省略されるブロックについての最小長はないが、省略されたブロックの数が増加し、省略されたブロックの長さが短縮されるにつれて、人間の耳は、より高い周波数で音を知覚し始めると理解されるべきである。例えば、省略されたブロック長が０．０１ｍｓであり、かつブロックが１つおきに省略された場合、知覚される音声は、加速され、非常に高いピッチで聞こえる。現在、最適なブロック長は、３ｍｓと７ｍｓとの間である。現在のマルチメディアシステムにおいて、１６ｍｓが、毎秒６０フレームのビデオについての現在の業界標準に対応するため、１６ｍｓより大きいブロック長は見つからない。
【００１９】
図４は、本開示の態様による、省略されたブロック４０２及び補償を有する音波４０１を示す。開示された実施形態において、前のブロック４０４の末端及び次のブロック４０５の先頭が、省略されたブロックがユーザに知覚されることをなくすように平均されている。ブロックの先頭と末尾を平均することによって、クリック音及びポップ音がユーザに知覚されることが、減少するかまたは完全に除去され得る。破線は、元の音声４０６を表し、元の音声４０６と省略されたブロックが補償された音声４０１との間の差を示すために含まれている。
【００２０】
図５は、本開示の態様による、２つの省略されたブロック５０２、５０９及び補償を有する音波５０１を示す。この実施形態において、デバイスは、９４ｍｓの音声５０３をストリーミングしている。デバイスは、省略間隔５０８で構成され、限定としてではなく実施例として、デバイスが、５０ｍｓ間隔でブロックを省略するように構成され得る。間隔は、知覚される音声品質の損失なしに所望のレベルの音声加速をもたらすために、省略されるブロックの最適数を見つけるように実験的に判断され得る。デバイスは、第１の音声ブロック５０２を識別及び省略し、省略された音声を補償するために、前の音声ブロック５０４の末尾を次の音声ブロック５０５の先頭と平均し、かつ次の音声ブロック５０５の先頭を前の音声ブロック５０４と平均している。デバイスは、次いで、間隔５０８の末尾まで、音声ストリーミングを継続している。その時点において、デバイスは、別の音声ブロック５０９を省略する。次の音声ブロック５０７の先頭を受信したあと、デバイスは、省略されたブロックを補償するために、前の省略されない音声ブロック５０６の末尾を次の音声ブロック５０７の先頭によって平均し、次の音声ブロック５０７の先頭を前の音声ブロック５０６の末尾と平均する。その時点において、デバイスは、補償された音声を再生することが可能である。
【００２１】
図６に示されるブロック図は、概略的に、リモートエミュレーションの特定の状況内の本開示のある態様を示す。この実施例において、エミュレータ６０７は、ネットワーク６６０を経てデバイス６０２によってアクセスされ得る。デバイス６０２は、ネットワーク６６０を経て代替リモートエミュレータ６０７（本明細書では、リモートエミュレータと呼ばれる）にアクセスし得る。エミュレータ６０７は、互いに同一であってもよく、または、それらは、一意のレガシーゲーム６０６を含む一意のレガシープログラム６０６をエミュレートするようにそれぞれがプログラムされてもよい。
【００２２】
デバイス６０２は、中央処理装置（ＣＰＵ）６３１を含み得る。実施例として、ＣＰＵ６３１は、１つまたは複数のプロセッサを含んでもよく、１つまたは複数のプロセッサは、例えば、デュアルコア、クアッドコア、マルチコア、またはセルプロセッサアーキテクチャに従って構成されてもよい。デバイス６０２は、メモリ６３２（例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭなど）も含み得る。ＣＰＵ６３１は、プロセス制御プログラム６３３を実行してもよく、プロセス制御プログラム６３３の一部が、メモリ６３２に記憶され得る。デバイス６０２は、入力／出力（Ｉ／Ｏ）回路６４１、電源（Ｐ／Ｓ）６４２、クロック（ＣＬＫ）６４３、及びキャッシュ６４４などの、周知の支援回路６４０も含み得る。デバイス６０２は、任意選択で、プログラム及び／またはデータを記憶するための、ディスクドライブ、ＣＤ−ＲＯＭドライブ、テープドライブなどの大容量記憶デバイス６３４を含み得る。デバイス６０２は、任意選択で、デバイス６０２とデバイス６０２への直接アクセスを要求するユーザとの間の対話を容易にするための、表示ユニット６３７及びユーザインタフェースユニット６３８も含み得る。表示ユニット６３７は、文字、数字、またはグラフィカルシンボルを表示する陰極線管（ＣＲＴ）またはフラットパネルスクリーンの形式であり得る。ユーザインタフェースユニット６３８は、キーボード、マウス、ジョイスティック、ライトペン、または他の入力デバイスを含み得る。さらに、デバイスは、音声波形の再生または記録のための音声デバイス６７０を含み得る。このような音声デバイスは、スピーカ、マイクロフォン、オシロスコープ、蓄音機、及び他の音響再生／記録媒体を含み得る。デバイス６０２は、適したドライバソフトウェアを通して音声デバイスを制御し得る。ドライバソフトウェアは、メモリ６３２及び／または記憶デバイス６３４に記憶され、ＣＰＵ６３１によって実行され得る。デバイス６０２は、Ｗｉ−Ｆｉ、イーサネット（登録商標）ポート、または他の通信方法の使用を可能にするように構成される、ネットワークインタフェース６３９を含み得る。
【００２３】
ネットワークインタフェース６３９は、電子通信ネットワーク６６０を介して通信を容易にするために、適したハードウェア、ソフトウェア、ファームウェア、またはこれらのうち２つ以上のある組み合わせを組み込み得る。ネットワークインタフェース６３９は、ローカルエリアネットワーク、及びインターネットなどのワイドエリアネットワークを経て有線または無線通信を実施するように構成され得る。デバイス６０２は、データ及び／またはファイルに対するリクエストを、１つまたは複数のデータパケットを介してネットワーク６６０を経て送信及び受信し得る。
【００２４】
前述のコンポーネントは、内部システムバス６５０を介して互いに信号を交換し得る。デバイス６０２は、本明細書に説明されるように、本発明の実施形態を実施するコードを実行するときに専用コンピュータになる汎用コンピュータであり得る。
【００２５】
エミュレータ６０７は、中央処理装置（ＣＰＵ）６３１'を含み得る。実施例として、ＣＰＵ６３１'は、１つまたは複数のプロセッサを含んでもよく、１つまたは複数のプロセッサは、例えば、デュアルコア、クアッドコア、マルチコア、またはセルプロセッサアーキテクチャにより構成されてもよい。エミュレータ６０７は、メモリ６３２'（例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭなど）も含み得る。ＣＰＵ６３１'は、プロセス制御プログラム６３３'を実行してもよく、プロセス制御プログラム６３３'の一部が、メモリ６３２'に記憶され得る。エミュレータ６０７は、入力／出力（Ｉ／Ｏ）回路６４１'、電源（Ｐ／Ｓ）６４２'、クロック（ＣＬＫ）６４３'、及びキャッシュ６４４'などの、周知の支援回路６４０'も含み得る。エミュレータ６０７は、任意選択で、プログラム及び／またはデータを記憶するための、ディスクドライブ、ＣＤ−ＲＯＭドライブ、テープドライブなどの大容量記憶デバイス６３４'を含み得る。エミュレータ６０７は、任意選択で、エミュレータ６０７とエミュレータ６０７への直接アクセスを要求するユーザとの間の対話を容易にするための、表示デバイス６３７'及びユーザインタフェースユニット６３８'も含み得る。限定としてではなく実施例として、デバイスまたはエンジニア６０２は、所望のレガシープログラム６０６を適当にエミュレートするように、または追加ケイパビリティをレガシープログラム６０６へ追加するようにエミュレータ６０７をプログラムするために、エミュレータ６０７への直接アクセスを必要とし得る。表示デバイス６３７'は、文字、数字、またはグラフィカルシンボルを表示する陰極線管（ＣＲＴ）またはフラットパネルスクリーンの形式であり得る。ユーザインタフェースユニット６３８'は、キーボード、マウス、ジョイスティック、ライトペン、または他のデバイスを含み得る。エミュレータ６０７は、Ｗｉ−Ｆｉ、イーサネット（登録商標）ポート、または他の通信方法の使用を可能にするように構成される、ネットワークインタフェース６３９'を含み得る。
【００２６】
ネットワークインタフェース６３９'は、電子通信ネットワーク６６０を介して通信を容易にするために、適したハードウェア、ソフトウェア、ファームウェア、またはこれらのうち２つ以上のある組み合わせを組み込み得る。ネットワークインタフェース６３９'は、ローカルエリアネットワーク、及びインターネットなどのワイドエリアネットワークを経て有線または無線通信を実施するように構成され得る。エミュレータ６０７は、データ及び／またはファイルに対するリクエストを、１つまたは複数のデータパケットを介してネットワーク６６０を経て送信及び受信し得る。
【００２７】
エミュレータ６０７は、本明細書に説明されるように、本発明の実施形態を実施するコードを実行するときに専用コンピュータになる汎用コンピュータであり得る。
【００２８】
エミュレータ６０７は、内部システムバス６５０'を通したエミュレーションのためにデバイス６０２によって選択されているレガシープログラム６０６にアクセスし得る。エミュレータに記憶される１つより多くのレガシープログラム６０６が存在し得る。レガシープログラムは、メモリ６３２'または大容量記憶デバイス６３４'にも記憶され得る。さらに、１つまたは複数のレガシープログラム６０６は、ネットワーク６６０を経てエミュレータ６０７にアクセス可能なリモート位置に記憶され得る。各レガシーゲーム６０６は、ゲームコード及びレガシー音声６０８を含む。
【００２９】
ゲームコード６０８は、エミュレータ６０７からデバイス６０２に送信される非加速音声を含み得る。デバイス６０２は、リアルタイム制約を有し、音声１００を加速する開示された方法を実施し得る。
【００３０】
上記は、本発明の好適な実施形態の完全な説明であるが、多様な代替物、修正物、及び均等物を使用することが可能である。したがって、本発明の範囲は、上記説明を参照することなく判断されるべきであるが、その代わりに、添付の特許請求の範囲を、その均等物の全範囲とともに参照して判断されるべきである。本明細書で説明されたいかなる特徴も、好適か否かに関わらず、本明細書で説明されたいかなる他の特徴とも、好適か否かに関わらず結合され得る。以下の特許請求の範囲において、不定冠詞「Ａ」または「Ａｎ」は、そうでないと明示的に述べられている場合を除いて、冠詞に続く品目のうちの１つまたは複数の量を指す。添付の特許請求の範囲は、そのような限定が句「ｍｅａｎｓ  ｆｏｒ」を使用して所与の請求項において明示的に列挙されない限り、ミーンズプラスファンクション限定を含むものとして解釈されるべきではない。
【図１】
0006912659.tif 000002
【図２】
0006912659.tif 000003
【図３】
0006912659.tif 000004
【図４】
0006912659.tif 000005
【図５】
0006912659.tif 000006
【図６】
0006912659.tif 000007
【図７】
0006912659.tif 000008
【図８】
0006912659.tif 000009
【図９】
0006912659.tif 000010
【図１０】
0006912659.tif 000011