(57)【要約】      第２のビデオゲームプラットフォーム用に書かれたビデオゲームの実行を強化するための、第１のビデオゲームプラットフォームでのエミュレーション強化方法には、第２のビデオゲームプラットフォーム用に書かれた入力信号を受信し、第２のビデオゲームプラットフォーム用に書かれた入力信号を解析し、設定基準に従って入力信号からのコントロール信号を遮断し、第１のビデオゲームプラットフォーム用に強化されたコントロール信号を発生させるコントロール信号を強化し、及びその強化されたコントロール信号を出力することが含まれる。コントロール信号はオーディオ効果コンポーネント、ビデオ効果コンポーネント、および触覚効果コンポーネントを伴い、これらはユーザー出力画面に出力される。コントロール信号を強化することにより、コントロール信号のオーディオ効果コンポーネント、およびビデオ効果コンポーネントを増強し、第１のビデオゲームプラットフォーム上での追加のプラットフォーム性能を活用する強化されたコントロール信号を発生させる。
2014513997.tif 000002
【特許請求の範囲】
【請求項１】
第２のビデオゲームプラットフォーム用に書かれたビデオゲームの実行を強化するために、
第１のビデオゲームプラットフォームで模倣する方法で、その方法は以下からなる：
第２のビデオゲームプラットフォーム用に書かれた入力信号を受信する；
第２のビデオゲームプラットフォーム用に書かれた入力信号を解析する；
設定基準に従い、入力信号からのコントロール信号を遮断する；
第１のビデオゲームプラットフォーム用に強化されたコントロール信号を発生させるコントロール信号を強化する；および、
強化されたコントロール信号を出力する。
【請求項２】
コントロール信号がオーディオ効果コンポーネント、ビデオ効果コンポーネント、及び触覚効果コンポーネントを伴う、請求項１のエミュレーション方法。
【請求項３】
コントロール信号を強化することにより、コントロール信号のオーディオ効果コンポーネント、ビデオ効果コンポーネントを増強し、第１のビデオゲームプラットフォーム上での追加のプラットフォーム性能を活用する強化されたコントロール信号を発生させる、請求項２のエミュレーション方法。
【請求項４】
コントロール信号の強化が、触覚効果をリダイレクトし、第１のビデオゲームプラットフォームでのオーディオまたはビデオ効果を伴う強化されたコントロール信号を発生させる、請求項２のエミュレーション方法。
【請求項５】
第１のビデオゲームプラットフォームでのビデオ効果が、ユーザー出力画面を振動させる、請求項４のエミュレーション方法。
【請求項６】
第１のビデオゲームプラットフォームのビデオ効果がユーザーの出力画面の明るさを変化させる、請求項４のエミュレーション方法。
【請求項７】
第１のビデオゲームプラットフォームのオーディオ効果が低周波のオーディオ効果を伴う、請求項２のエミュレーション方法。
【請求項８】
強化されたコントロール信号の出力が、コントロール信号が特定の回数より多く遮断された場合にのみ発生する、請求項２のエミュレーション方法。
【請求項９】
コントロール信号を強化することにより、コントロール信号のオーディオ効果コンポーネントをリダイレクトして、リダイレクトされたビデオ効果コンポーネントを伴う強化されたコントロール信号を発生させる、請求項２のエミュレーション方法。
【請求項１０】
リダイレクトされたビデオ効果を伴う強化されたコントロール信号は、色、明るさ、及びコントラストのうち１つまたはそれ以上をを変化させる、請求項１２のエミュレーション方法。
【請求項１１】
リダイレクトされたビデオ効果を伴う強化されたコントロール信号が、ユーザーアイコンのサイズを変化させる、請求項１２のエミュレーション方法。
【請求項１２】
第２のビデオゲームプラットフォーム用に書かれたビデオゲームの実行を強化する、
第１のビデオゲームプラットフォームの装置で、ソノス値は以下からなる：
第２のビデオゲームプラットフォーム用に書かれた入力信号を受信し、その入力信号を解析し、その入力信号から第１のビデオゲームプラットフォームで強化されるコントロール信号を遮断する、信号インターセプター；
コントロール信号を強化し、第１のビデオゲームプラットフォーム用に強化されたコントロールｓんごうを発生させる、コントロール信号エンハンサー；および、
強化されたコントロール信号の出力をコントロールする出力コントローラー。
【請求項１３】
コントロール信号が、ユーザー出力画面に出力されるオーディオ効果コンポーネント、ビデオ効果コンポーネント、及び触覚効果コンポーネントを伴う、請求項１２の装置。
【請求項１４】
信号インターセプターが設定基準に従ってコントロール信号を遮断する、請求項１２の装置。
【請求項１５】
コントロール信号エンハンサーがコントロール信号のオーディオ効果コンポーネント及びビデオ効果コンポーネントを増強し、第１のビデオゲームプラットフォーム上で追加のプラットフォーム性能を活用する強化されたコントロール信号を発生させる、請求項１３の装置。
【請求項１６】
さらに、第１のビデオゲームプラットフォーム上で追加のプラットフォーム性能を活用するオーディオ及びビデオ効果を伴う新規信号を発生させる信号インサーターからなる、請求項１３の装置。
【請求項１７】
以下からなるビデオゲームの模倣方法：
ホストプラットフォーム上のエミュレーターでビデオゲームソフトウェアを実行し；
基準の発生を特定するためにビデオゲームソフトウェアの実行をモニタリングし；および
基準を満たした場合に、実行されたビデオゲームソフトウェアの動作を修正する。
【請求項１８】
実行されたビデオゲームソフトウェアの動作修正に効果のリダイレクトを含む、請求項１７の方法。
【請求項１９】
実行されたビデオゲームソフトウェアの動作修正に効果の強化を含む、請求項１７の方法。
【請求項２０】
実行されたビデオゲームソフトウェアの動作修正にコントローラーの強化を含む、請求項１７の方法。
【請求項２１】
実行されたビデオゲームソフトウェアの動作修正にコンテンツ挿入を含む、請求項１７の方法。
【請求項２２】
以下からなる触覚リダイレクト方法：
ビデオゲーム実行中に触覚イベントを検出する；および
検出された触覚イベントを示す視聴覚出力を発生させる。
【請求項２３】
検出された触覚イベントを示す視聴覚出力の発生に、画面振動効果の発生を含む、請求項２２の方法。
【請求項２４】
以下からなるビデオゲームプラットフォーム：
ターゲットプラットフォーム用に書かれたビデオゲームを実行するための、ホストプラットフォーム上のエミュレーター、ターゲットプラットフォームとは異なった入力／出力性能を含むホストプラットフォームで、エミュレーターがターゲットプラットフォーム用に書かれたビデオゲームの実行を、ホストプラットフォームの異なった入力／出力性能用に強化する。
【請求項２５】
エミュレーターが、ターゲットプラットフォーム用に書かれたビデオゲームの実行を、視聴覚コンテンツを挿入することによって強化する、請求項２４のビデオゲームプラットフォーム。
【発明の詳細な説明】
【０００１】                                    技術分野
本開示はゲーミングプラットフォームにおけるレガシーゲームのエミュレーション強化に関する。特に、ビデオゲームプラットフォーム用のエミュレーターが、他のプラットフォーム用に書かれたビデオゲームの実行を、ゲームプレイを改善および／または強化しながら、促進する。
関連出願の相互参照
本出願は２００７年９月２１日に同時に出願された発明の名称”Ｍｅｔｈｏｄ  Ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｅｎｈａｎｃｉｎｇ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｓｏｆｔｗａｒｅ  Ｔｈｒｏｕｇｈ  Ｈａｐｔｉｃ  Ｉｎｓｅｒｔｉｏｎ．”の同時係属米国仮出願番号第６０／９７４，３９９号に関連する。
背景
第２のコンピュータープラットフォーム（「ターゲットシステム」）の機能を第１のコンピューターシステム（「ホストシステム」）上で模倣し、ホストシステムがターゲットシステム用に設計されたプログラムを実行できるようにする処理は「エミュレーション」として知られる。エミュレーションは通常、ターゲットプラットフォーム用に設計されたプログラムインストラクション（ターゲットコードインストラクション）をホストプラットフォームのネイティブ言語（ホストインストラクション）に変換するソフトウェアを作成することによって達成され、互換性をもたらす。より最近では、エミュレーションは、ターゲットプラットフォームの物理的アーキテクチャ（ハードウェアの設計自体）がソフトウェアのバーチャルモデルを通して複製される「バーチャルマシーン」の作成を通して実行されている。
ゲーミングプラットフォームを別のプラットフォーム上に模倣する方法はこれまでも使用されてきた。しかし、レガシーターゲットシステムと異なった技術性能を持ったホストシステムの続発において、ホストシステムに存在するさらなる性能を活用してホストシステムでのゲーム体験を強化および補強するためにエミュレーションを行う機会がある。
本開示はエミュレーターを強化する技術を説明する。例としては、これに限られるわけではないが、Ｐｌａｙｓｔａｔｉｏｎ▲Ｒ▼２のエミュレーターはＰｌａｙｓｔａｔｉｏｎ▲Ｒ▼２のゲームをＰｌａｙｓｔａｔｉｏｎ▲Ｒ▼３のゲームプラットフォームなど、より高度なプラットフォームで実行できるようにする。Ｐｌａｙｓｔａｔｉｏｎ▲Ｒ▼３のゲームプラットフォームで作動するＰｌａｙｓｔａｔｉｏｎ▲Ｒ▼２のエミュレーターは、イベント、コマンド、及び／またはインストラクションの遮断、及びそれらの効果を修正することによりゲームプレイ体験の様々な面を強化および／または修正することができ、Ｐｌａｙｓｔａｔｉｏｎ▲Ｒ▼３ゲームプラットフォームでのＰｌａｙｓｔａｔｉｏｎ▲Ｒ▼２ゲームのユーザーのゲーム体験をさらに強化する。
概要
本公開は第一のビデオゲームプラットフォームにおいて、第二のビデオゲームプラットフォーム用に書かれたビデオゲームの実行をエミュレートおよび強化するための方法と機器を対象とする。
通常、エミュレーション強化方法には、第２のビデオゲームプラットフォーム用に書かれた入力信号を受信し、第２のビデオゲームプラットフォーム用に書かれた入力信号を解析し、設定基準に従って入力信号からのコントロール信号を遮断し、第１のビデオゲームプラットフォーム用に強化されたコントロール信号を発生させるコントロール信号を強化し、及びその強化されたコントロール信号を出力することが含まれる。導入例のひとつでは、コントロール信号はオーディオ効果コンポーネント及びビデオ効果コンポーネントを伴い、これらはユーザー出力画面に出力される。コントロール信号はさらに、ユーザーコントローラーに触覚効果をもたらす触覚効果コンポーネントを伴うこともある。
導入例によっては、コントロール信号を強化することにより、コントロール信号のオーディオ効果コンポーネント、ビデオ効果コンポーネント、及び触覚効果コンポーネントを増強し、第１のビデオゲームプラットフォーム上での追加のプラットフォーム性能を活用する強化されたコントロール信号を発生させる。コントロール信号の強化は、ユーザーコントローラー装置の触覚効果をリダイレクトし、第１のビデオゲームプラットフォームでのオーディオまたはビデオ効果をもたらす強化されたコントロール信号を発生させることができる。発生させた強化コントロール信号の結果として得られるビデオ効果は、ユーザーの出力画面を振動させることができる。または、第１のビデオゲームプラットフォームのビデオ効果はユーザーの出力画面の明るさを変化させることもできる。発生させた強化コントロール信号の結果として得られるオーディオ効果は、低周波オーディオ効果を出力できる。
エミュレーション強化方法は、さらに、第１のビデオゲームプラットフォーム上で追加のプラットフォーム性能を活用するオーディオ及びビデオ効果をもたらす新規信号の挿入を含んでもよい。コントロール信号はユーザーコントローラー装置をコントロールでき、コントロール信号はユーザーのコントロール装置上で触覚効果をもたらすことができる。
導入例によっては、強化されたコントロール信号は、コントロール信号が特定の回数より多く遮断された場合にのみ発生させられる。
さらに、コントロール信号を強化することにより、コントロール信号のオーディオ効果コンポーネントをリダイレクトして、リダイレクトされたビデオ効果コンポーネントを伴う強化されたコントロール信号を発生させることができる。リダイレクトされたビデオ効果を伴う強化されたコントロール信号は、ユーザー出力画面上の色、明るさ、及び／またはコントラストを変化できる。または、リダイレクトされたビデオ効果を伴う強化されたコントロール信号は、ユーザー出力画面上に表示されたユーザーアイコンのサイズを変化させたり、上記のうちいかなるコンビネーションでも用いることができる。
同様に、第１のビデオゲームプラットフォームでのエミュレーション強化装置は第２のビデオゲームプラットフォーム用に書かれたビデオゲームの実行を強化する。エミュレーション強化装置は、第２のビデオゲームプラットフォーム用に書かれた入力信号を受信し、その入力信号を解析し、その入力信号から第１のビデオゲームプラットフォームで強化されるコントロール信号を遮断する信号インターセプター、コントロール信号を強化し、第１のビデオゲームプラットフォーム用に強化されたコントロール信号を発生させるコントロール信号エンハンサー、および強化されたコントロール信号の出力をコントロールする出力コントローラーを含む。コントロール信号はオーディオ効果コンポーネント及びビデオ効果コンポーネントを伴ってよく。これらはユーザー出力画面に出力される。コントロール信号はさらに、ユーザーコントローラーで触覚効果をもたらす触覚効果コンポーネントを伴ってもよい。
さらに、信号インターセプターは、設定基準に従いコントロール信号を遮断できる。コントロール信号エンハンサーはコントロール信号のオーディオ効果コンポーネント、ビデオ効果コンポーネント、及び触覚効果コンポーネントを増強し、第１のビデオゲームプラットフォーム上の追加のプラットフォーム性能を活用する強化されたコントロール信号を発生させることができる。コントロール信号はユーザーのコントローラー装置をコントロールすることができ、およびコントロール信号は、ユーザーコントローラー装置の触覚効果をもたらすこともできる。コントロール信号エンハンサーはユーザーのコントローラー装置上で触覚効果をリダイレクトし、第１のビデオゲームプラットフォームでのオーディオまたはビデオ効果をもたらす強化されたコントロール信号を発生させることができる。発生させた強化コントロール信号の結果として得られるビデオ効果は、ユーザーの出力画面を振動させることができる。または、発生させた強化コントロール信号の結果としてのビデオ効果はユーザーの出力画面の明るさを変化させることもできる。発生させた強化コントロール信号の結果として得られるオーディオ効果は、低周波オーディオ効果を出力できる。
エミュレーション強化装置には、さらに、第１のビデオゲームプラットフォーム上の追加のプラットフォーム性能を活用するオーディオ及びビデオ効果を伴う新規の信号を発生させる、信号インサーターを含んでもよい。
導入例によっては、出力コントローラーは、コントロール信号が特定の回数より多く遮断された時にのみ、強化されたコントロール信号を出力する。
コントロール信号エンハンサーはコントロール信号のオーディオ効果コンポーネントをリダイレクトして、リダイレクトされたビデオ効果コンポーネントを伴う強化されたコントロール信号を発生させることができる。リダイレクトされたビデオ効果を伴う強化コントロール信号は、ユーザー出力画面の色、明るさ及び／またはコントラストを変化できる。または、リダイレクトされたビデオ効果を伴う強化コントロール信号は、ユーザー出力画面に表示されたユーザーアイコンのサイズを変化させたり、上記のいずれかのコンビネーションを使用することができる。
同様に、コンピューターで読込可能な媒体には、第２のビデオゲームプラットフォーム用に書かれたビデオゲームの実行を強化するための、第１のビデオゲームプラットフォームにおけるエミュレーション強化のコンピューターで実行可能なインストラクションを含む。本発明の模範実施例によるエミュレーション強化のコンピューターで実行可能なインストラクションを伴うコンピューターで読込可能な媒体には、第２のビデオゲームプラットフォーム用に書かれた入力信号受信のコンピューターで実行可能なインストラクション、第２のビデオゲームプラットフォーム用に書かれた入力信号解析のコンピューターで実行可能なインストラクション、設定基準に従って入力信号からコントロール信号を遮断するためのコンピューターで実行可能なインストラクション、第１のビデオゲームプラットフォーム用に強化されたコントロール信号を発生させるためにコントロール信号を強化するためのコンピューターで実行可能なインストラクション、および強化されたコントロール信号を出力するためのコンピューターで実行可能なインストラクションがふくまれる。
実行例の詳細は添付の図および以下の説明文によって説明されている。その他の機能および利点は記述、図面、および請求項によって明示されている。
図面の簡単な説明
図１Ａはエミュレートされるターゲット機器のブロック図である。
図１Ｂは図１Ａのターゲット機器のエモーションエンジンのブロック図である。
図２は図１Ａ〜１Ｂのターゲット機器をエミュレートするホスト機器の概念図である。
図３はエミュレーション強化機器のブロック図である。
図４はエミュレーション強化を示すフローチャートである。
詳細な説明
では図を参照しながら説明する。図中の参照番号は、いくつかの視点から同じ部品または対応する部分を指定しており、例えば、図１Ａはターゲットシステム１００をゲームコンソール装置の形で示すブロック図である。ターゲットシステムはエモーションエンジンと呼ばれるメインプロセッサモジュール１０２、グラフィックシンセサイザー１０４、入力／出力（Ｉ／Ｏ）プロセッサ（ＩＯＰ）１０６、及びサウンドプロセッサユニット１０８を中心に構成されている。エモーションエンジン（ＥＥ）１０２は通常、ＣＰＵコア、コプロセッサ、及びシステムクロックを含み、関連するランダムアクセスメモリ（ＲＡＭ）１１０を持つ。エモーションエンジン１０２はアニメーションの計算を行い、シーンを横切って２次元画像に変換し、ラスタライズするためにグラフィックシンセサイザー（ＧＳ）１０４に送信する。
図１Ｂに見られるように、ＥＥ１０２はＣＰＵコア１２２、関連するフローティングポイントユニット（ＦＰＵ）コプロセッサ１２４、第１および第２ベクトルコプロセッサ１２６、１２８、グラフィックインターフェイスコントローラー１３０、および割り込みコントローラー（ＩＮＴＣ）１３２を含む。ＣＰＵ１２２、ベクトルコプロセッサ１２６、１２８、ＧＩＦ１３０およびＩＮＴＣ１３２は１２８ビットのメインバス１３４に連結している。ＦＰＵ１２４は直接ＣＰＵ１２２に連結している。ＣＰＵ１２２は第１ベクトルコプロセッサ（ＶＵ０）１２６に連結し、これは第２ベクトルコプロセッサ（ＶＵ１）１２８に連結している。第２ベクトルコプロセッサＶＵ１
１２８はグラフィックインターフェイス（ＧＩＦ）１３０に連結する。ＥＥ１０２はさらにタイマー１３６、直接メモリアクセスコントローラー（ＤＭＡＣ）１３８、イメージデータ解凍プロセッサ（ＩＰＵ）１４０、ＤＲＡＭコントローラー１４２、およびＥＥ１０２およびＩＯＰ１０６間の通信を促すサブバスインターフェイス（ＳＩＦ）１４４を含む。
ＣＰＵコア１２２は１２８ビットのプロセッサで、３００メガヘルツのクロック周波数で作動し、１２８ビットマルチメディアインストラクションを伴った２ウェイスーパースカラーとして作動する６４ビットインストラクションを伴ったＭＩＰＳ
インストラクションセットを使用する。ＣＰＵ１２２にはデータキャッシュ、インストラクションキャッシュ、およびたびたびスクラッチパッドと呼ばれるオンチップメモリ１２３の１領域を含む。スクラッチパッド１２３は小規模なローカルメモリとして働き、メインバス１３４がコードおよび／またはデータを送信中に、ＣＰＵ１２２が特定の動作を行えるように使用できる。第１ベクトルユニット１２６はアニメーションおよび物理計算に使用できる。第２ベクトルユニット１２８はジオメトリ変換に使用できる。ＧＩＦ１３０はＥＥ１０２およびＧＳ１０４間のメインインターフェイスとして働く。
ＩＯＰ１０６にはターゲットシステム１００の旧バージョンおよびＩＯＰ１０６に関連するＲＡＭ１１２への下位互換性を持たせるためのプロセッサを含む。ＩＯＰ１０６は、コントローラー、ＵＳＢデバイス、ハードディスク、イーサネットカードまたはモデム、およびサウンドプロセッサユニット１０８、ＲＯＭ１１４、およびＣＤ／ＤＶＤユニット１１６などのシステムの他のコンポーネントなど、外部機器からの入力および出力を扱う。ターゲットプログラム１１８はＣＤ／ＤＶＤユニット１１６にロードしたＣＤ／ＲＯＭディスクに保管できる。ターゲットプログラム１１８からのインストラクションはＥＥ  ＲＡＭ１０８またはＩＯＰ  ＲＡＭ１１２に保管し、これらのプロセッサによって読み取ることができるネイティブマシンコードによってターゲットシステム１００の様々なプロセッサによって実行される。
実装例によっては、ターゲットシステム１００はパラレルプロセッシングホストシステム２００を使用してエミュレートでき、これによってホストシステム２００がターゲットプログラム１１８のようにターゲットシステム１００にネイティブなコードで書かれたプログラムを作動できるようにする。図２Ａはセルプロセッサ２０１に基づくホストシステム２００の例を示し、ターゲットシステム１００をエミュレートするために設定できる。セルプロセッサ２０１にはメインメモリ２０２、シングルパワープロセッサエレメント（ＰＰＥ）２０４、および８つの相乗的プロセッサエレメント（ＳＰＥ）２０６を含む。ただし、セルプロセッサ２０１は複数のＰＰＥ
およびＳＰＥを伴って設定することができる。各ＳＰＥ２０６には相乗的プロセッサユニット（ＳＰＵ）およびローカルストア（ＬＳ）を含む。メモリ２０２、ＰＰＥ２０４、およびＳＰＥ２０６はお互いにコミュニケートでき、および、リングタイプエレメント・インターコネクトバス（ＥＩＢ）２１０を通したＩ／Ｏデバイス２０８ともコミュニケートできる。ＰＰＥ２０４およびＳＰＥ２０６はバスインターフェイスユニット（ＢＩＵ）を通してＥＩＢ２１０にアクセスできる。ＰＰＥ２０４およびＳＰＥ２０６はメモリフローコントローラー（ＭＦＣ）を通してＥＩＢ２１０上のメインメモリ２０２にアクセスできる。メモリ２０２はターゲットシステム１００用に書かれたインストラクションコードの解釈と翻訳を実行するエミュレーションプログラム２０９を含む。エミュレーションプログラム２０９はさらに、例えばターゲットシステム１００上で特定のハードウェアを模倣するソフトウェアコードなどのハードウェアエミュレーションコードを含む。ターゲットシステム１００用に書かれたインストラクションコードはＩ／Ｏデバイス２０８に連結したＣＤ／ＤＶＤリーダー２１１内のＣＤ／ＲＯＭディスクから読み取ることができる。ターゲットプログラム１１８を含むＣＤ／ＲＯＭディスクはＣＤ／ＤＶＤリーダー２１１にロードできる。少なくとも１つのＳＰＥ２０６が、そのローカルストアに、図１Ａ及び１Ｂに関し、上記のＩＯＰ１０６をエミュレートするインストラクションをもつ、エミュレートされたＩＯＰコード２０５を受信することができる。
例としては、ＰＰＥ２０４上で作動中のトランスレーター２１２がターゲットシステム１００のＥＥ１０２を、ターゲットプログラム１１８のＥＥインストラクションをＳＰＵ上で作動できるマシンコード２１３に翻訳することによって、エミュレートできる。発明の本実施例では、ＳＰＵも、ターゲットプログラム１１８のＩＯＰインストラクションを翻訳することによってＩＯＰ１０６をエミュレートするインタープリター２１４を実施する。ＩＯＰ１０６上でデバイスリクエストが実行された時、リクエストのいくつかはＰＰＥ２０４に転送される。この情報がＰＰＥ２０４に送られた時、これらのリクエスト（例：触覚イベントなど）は遮断、リダイレクト、修正、強化されるなどする。
エミュレーション強化の異なった面の詳細を以下に説明する。
アプリケーションを特定したエミュレーターの設定
ターゲットプログラムを実際のターゲットシステム上で直接実行する場合に対して、ターゲットプログラム１１８が、ターゲットシステム１００のエミュレーションを使用して実行される時には、その動作に違いがある場合がある。例えば、ターゲットシステム１００をエミュレートしているホストシステム２００はターゲットシステムとは異なった性能を含む場合があり、これには異なった実行速度、コンポーネント間のタイミングの違い、メモリサイズの違い、プロセッシング性能の違い、入力／出力性能の違い、および同類の違いがあるが、これに限られるわけではない。
タイミングの違いは予定した動作とは異なった動作をもたらすかもしれない。最も単純なレベルでは、タイミングの問題が単にターゲットプログラム１１８の実行が速すぎたり遅すぎたりする結果を招く場合がある。エミュレーションが速すぎると、ターゲットプログラム１１８を使用可能とするためにエミュレーション全体のスピードが原減速される場合がある。しかし、タイミングの問題は、非同期通信が関わる場合にはその特定および修正が難しくなることがある。２つのコンポーネントが非同期に通信する時、ターゲットシステム１００上で直接作動するソフトウェアが、ホストシステム２００上でのターゲットシステムのエミュレーション中に正しく作動できないことがある。
さらに、ホストシステム２００の入力／出力性能の違いは、エミュレーションがターゲットシステム１００の実行を模倣することを妨げる場合がある。例えば、キーボード、マウス、コントローラーおよび同様のホストシステム２００の入力デバイスには、異なる数または配列のボタン、センサーなどが含まれる。さらにかかるデバイスは光、センサー、触覚などの異なる出力を提供してもよい。
エミュレーションは、ターゲットシステム１００とホストシステム２００間の違いをある程度、自動的に補ってもよい。しかし、違いによってはアプリケーション特定の偏差を生み出すことがある。かかる違いはアプリケーション特定の設定によって対応する。芸術の才能を持つ者なら、エミュレーターのアプリケーション特定の設定を実行するための多数のメカニズムをありがたく思うことであろう。そのようなメカニズムのひとつは、エミュレーション中に、かかる変更、設定、修正などを特定するためのアプリケーション特有のメタデータを使用することである。
例として、ターゲットシステム１００によってＣＤ‐
ＲＯＭから読み取られるように設計されたターゲットプログラム１１８を想定する。ターゲットプログラム１１８のエミュレーションの動作を修正する方法のひとつは、ＣＤ‐ＲＯＭの読取およびエミュレートされたターゲットシステム１００に実際に提供されたデータ間に分離層を作成することである。この例では、ターゲットプログラム１１８に対応するメタデータが、ホストシステム２００に、エミュレーターによって使用できるようにロードされる。このメタデータはＸＭＬファイル、バイナリファイルなど、いかなるフォーマットでも保管できる。ホストシステム２００上のエミュレーターがターゲットプログラム１１８を実行する時、エミュレーターはプロセス「読取」の指示を受け取る。メタデータは読取指示の結果としてリターンされたデータを変更するために使用できる。例えば、ターゲットプログラム１１８がプログラミングエラーを含む場合、かかるエラーは、エミュレーション中に間違ったコードが読み取られた時にコードを修正または別のコードを挿入するように、エミュレーターに指示するメタデータを含むことによって修正できる。メタデータの本使用法は例としてあげたが、本公開の範囲を限定するものではない。メタデータの本使用法はエミュレーションを修正および／または強化するために、以下に説明する技術と共に使用できる。
エフェクトの出力先変更および強化
例えば、ビデオ、オーディオ、及び／または触知性のインタラクションなどの効果はエミュレーター内で強化及び／または修正できる。これにより、エミュレーターは、他の動作と共に、ユーザーの体験を強化し、さらなるプラットフォーム性能を活用し、及び／またはプラットフォームの限界を克服できる。
出力先の変更は元の効果をシミュレートする方法を伴う。例えば、オーディオ効果をビデオ効果に変更することは、元のオーディオ効果の波形をビデオのコンテクスト内でシミュレートすることに関わる。ここでは、オーディオ信号の波形のアスペクトを元のオーディオ信号に最も近いビデオ信号に移行させることによって物理的課程をモデリングすることでシミュレーションを達成できる。
実施例の１つでは、オーディオ効果はビジュアル効果を通して出力先変更または増大される。例えば、エミュレーター上に作動しているビデオゲームがオーディオ出力の強さを変更しようとすると、エミュレーターがオーディオの出力先を変更し、例えば色、明るさなどのビデオ画像のアスペクトを変更する。同様に、ビデオ効果もオーディオ効果を通して出力先を変更したり増強できる。例えば、ビデオゲームのプレイ中にディスプレイ画面の点滅が、ゲームプレイ中のイベントによってトリガされることがよくある。この場合、エミュレーターがビデオ信号の出力先を変更し、変わりにバックグランド音楽の速度を変更したり、ゲームプレイ中のイベントに対応する独自の効果音を作成したりする。
別の実施例では、ビデオオーバーレイが、オーディオ情報をビジュアルで示すために表示される。例えば、アイコンのサイズを意図するオーディオの強度に従って変更できる。意図するオーディオの強度が弱い場合、アイコンのサイズは小さくなるが、強度が強まるにつれて、アイコンのサイズも同様に大きくなり、オーディオ情報を伝える。同様に、ゲームプレイ中にオーディオ効果をターゲットシステム１００内に出力する結果をもたらすイベントがトリガされる時、エミュレーターがオーディオ信号の出力先を変更し、変わりにポップアップ画面を表示して意図するオーディオ効果を画像表示する。これらの技術は効果を転用または修正したり、増強するために使用できる。かかる出力先の変更は、ホストシステム２００に存在する追加のプラットフォーム性能を活用するために、出力先が変更された各効果を強化することができるために、有利である。
他の方法として、オーディオまたはビデオ効果は、以下に記述するように、出力先の変更なしで強化することができる。
コントローラーの強化
エミュレーターがゲームプレイ体験を強化する方法のひとつは、コントローラーのインタラクションを変更することである。ビデオゲームプラットフォームおよびコントローラーの性能は異なることがある。例えば、異なったコントローラーでは、ボタン、設定、センサー、及び／またはフィードバック機能が異なっているかもしれない。
実施例のひとつでは、Ｐｌａｙｓｔａｔｉｏｎ▲Ｒ▼２のデュアルショックコントローラーの轟音機能を有効化するためのコントロール信号を、Ｐｌａｙｓｔａｔｉｏｎ▲Ｒ▼２恵ゆれーターが遮断（トラップ）し、例えば次のうちひとつまたはそれ以上の代替効果を提供する：（ｉ）ビデオ振動―エミュレーターがビデオ出力を修正して振動に見せかける；（ｉｉ）ビデオキュー―エミュレータは、例えば明るさおよび／または色の強さを変更したり、またはアイコンや他の効果の注釈を表示するなどして、ビデオ出力を修正する；（ｉｉｉ）オーディオ効果―轟音効果を伝えるために、エミュレーターがオーディオ信号を発生する。
さらに特定すると、ターゲットシステム１００内で触覚効果を有効化する、阻止されたコントロール信号は、ホストシステム２００内においてオーディオ効果として模倣されたり出力先を変更されたりできる。この場合、出力先を変更したオーディオ効果のホストシステム２００内での出力は、ターゲットシステム１００内の触知性効果をもたらすために使用されるオフセンターの重さの振動をシミュレートするために異なる強度のサウンド出力としての形をとることができる。
さらに、サブウーファーをオーディオ効果の出力先変更と共に使用して、振動効果信号を阻止し、サブウーファーが伝える低周波効果を発生させることもできる。このような実施例は、触知性インターフェイスをコントローラー内で提供しないホストプラットフォーム２００において有利である。
コントローラーの強化はＰｌａｙｓｔａｔｉｏｎ▲Ｒ▼２のエミュレーターにおいて、ＩＯＰインタープリター２１４の代わりにコントローラーに送信された特定のコントロール信号を判別し阻止するＰｌａｙｓｔａｔｉｏｎ▲Ｒ▼２入力−出力プロセッサ１０６を修正することによって実行できる。例えば、振動機能をオンにするコントロール信号は、ＩＯＰインタープリター２１４内のエミュレーターによって阻止し、適切に処理することができる。かかるコントロール信号は、エミュレーターに阻止されると、上記の多数の方法のうち１つの方法で出力先を変更され、強化される。
さらに、ホストシステム２００はリニアアクチュエーターまたはその他の同類の触覚装置を装備したユーザーコントローラーを含むこともある。こうしたユーザーコントローラーはホストシステム２００に様々な媒体を通して接続でき、例えば、Ｗｉ‐
Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、ＵＳＢポート、赤外線（ＩＲ）などである。これらの場合、触覚効果を有効化するコントロール信号は、遮断され、ホストシステム２００で触覚効果をトリガすることに加え、さらに追加のビデオ及び／またはオーディオ効果によって強化できる。さらに、ライブラリ機能を改めて、関連装置内でトラップされたコマンド及び希望のイベントに基づき、別の機能を提供することができる。
実施例によっては、個別のコントロール信号ではなく一連のコントロール信号を強化することが望ましい。例えば、エミュレーターは、コントローラーの振動機能を定期的に有効化するといった、パターンを特定するように設定してもよい。イベントまたはコントロール信号のパターンを阻止することで、エミュレーターは特定のシチュエーションに適切な効果を提供することができる。例えば、振動コントロール信号を阻止するエミュレーターについて考えてみる。もしそれぞれの振動コントロール信号がビデオシェイク効果に変換されると、ビデオ出力が振動する回数が多すぎる場合がある。こうした効果はゲームによっては望ましくない。振動コントロール信号を単に検出する代わりに、エミュレーターは、所定の時間（例：１．５秒）以上続く振動有効化を検出するように設定してもよい。このパターンが発生した場合にビデオシェイク効果が使用されるが、その他の場合では、別の効果が作動する。本実施例のエミュレーターでは、出力コントローラー３０６が強化されたコントロール信号の実際の出力を扱う。
同様に、頻繁に使用されるとゲームを邪魔するかもしれない、その他の効果の出力先変更または強化のいずれであっても、出力コントローラー３０６によってコントロールできる。
視聴覚強化
別の実施例では、オーディオ及び／またはビデオの出力をエミュレーターを使って強化することが望まれる場合がある。例えば、レガシーターゲットシステム１００は、開発及びリリースの段階で、ビデオ処理、保存、及び／または表示性能が限られている場合がある。かかるゲームは強化されたプラットフォームの性能を活用してゲームプレイ体験を改善するように、増強及び／または修正することができる。前記のように、信号の強化は信号の効果の出力先が変更された場合には位置でも行うことができる。つまり、ホストシステム２００内に出力された、出力先を変更された信号（例：ビデオまたはオーディオ）が何であっても、出力先を変更された信号がホストシステム２００内に存在する更なるプラットフォーム性能を活用することができる。
実施例のひとつでは、エミュレーターは、ターゲットシステム１００のＥＥ１０２を模倣するＰＰＥ２０４においてテクスチャリングコントロールを阻止し、画質を改善するために新しいテクスチャを適用する。これにより、例えば、レガシービデオゲームはホストシステム２００に存在するより高度な表示性能を活用できる。例えば、Ｐｌａｙｓｔａｔｉｏｎ▲Ｒ▼２のゲームは、レガシービデオゲームを書き換えせずにハイビジョンの表示性能を活用して強化できる。
同様に、ホストシステム２００のオーディオ性能も、レガシーターゲットシステム１００より高度であるかもしれない。この時には、オーディオ出力の質を改善するためにデジタル信号処理を行い、ホストシステム２００に存在する更なる性能を活用することが可能である。
オーディオおよび／またはビデオの挿入
実施例によっては、エミュレーターが、ゲームプレイ中にオーディオ及び／またはビデオ情報を追加することによって、実行されたゲームを強化することが望ましい。例えば、エミュレーターはプロダクトプレイスメントの追加、プロダクトプレイスメントの修正、情報表示の追加などを行うことができる。このように新規信号を挿入することは、ターゲットシステム１００はこのように新規に追加された信号を扱うことが技術的にできないかもしれないので、ホストシステム２００が保証する。新規に追加される信号はビデオ及び／またはオーディオ信号であり、ホストシステム２００の追加のプラットフォーム性能を活用する。本実施例のエミュレーターでは、信号インサーター３０７が新規信号の挿入を扱う。
実装技法
上記のコンセプト実施、及びその他の実施例は、様々な方法で行うことができる。例えば、これに限定されるわけではないが、コマンドがエミュレータープログラムを通してアプリケーション層で阻止（トラップ）され、コマンドが同様または異なった機能を発生できるようにする。同様に、コマンドは、新規コマンドまたはルーティンと共にデバイスレベル（シリアルＩ／Ｏ）で阻止および交換できる。このようにして、現存または追加の外部周辺機器を伴った強化通信が達成される。
また、強化及び／または出力先を変更された信号のいかなるコンビネーションでも、ユーザー選択設定を基にして選択的に発生させることも可能であることに注目したい。つまり、例えば、ホストシステム２００内でエミュレーターを作動しているユーザーは、ターゲットシステム１００を意図した触覚効果コンポーネントをホストシステム２００のビデオ効果出力に出力先変更することを望むかもしれない。別のユーザーは、ターゲットシステム１００を意図したかかる触覚効果コンポーネントをホストシステム２００のオーディオ効果出力に出力先変更することを望むかもしれない。
ユーザーがユーザー選択設定を行う方法は少なくとも２通りある。第一に、ユーザーは信号の出力先変更及び強化がどのように行われるかを、複数の選択肢から選ぶことができる。例えば、ユーザーは、他の効果の中から、触覚効果信号をターゲットシステム２００内のビジュアルシェイク及び対応するオーディオ効果に出力先変更することを選択できる。あるいは、そのユーザーは、特定の効果がホストシステム２００に出力されることを妨げるようにユーザー選択設定を設定することもできる。例えば、ユーザーは、特定のオーディオまたはビデオ効果を望まないかもしれない。この場合では、ユーザーがユーザー選択設定を、望まないオーディオまたはビデオ効果がホストシステム２００内で発生させられないように設定することができる。
この場合、出力先変更及び強化のユーザー選択設定に基づき、エミュレーション中にさらにゲーム体験を強化することができる。
図３はエミュレーション強化デバイス３００を高度レベルで描いたものである。描かれたエミュレーション強化デバイスは、描かれたエレメントに対応するコンピューターで読取可能な媒体及び／またはハードウェアエレメントに記録された、コンピューターでジック可能なインストラクションと共に実施できることに注目したい。
入力信号３０１はエミュレーターデバイスを通して入力される。例としては、入力信号３０１はＥＥ翻訳マシンコード２１３またはＩＯＰインタプリター２１４によって解釈されたＩＯＰインストラクションのどちらかである。入力信号３０１が入力されると、信号インターセプター３０２が阻止されるべきコントロール信号を阻止する。コントロール信号が阻止されると、コントロール信号３０３がコントロール信号エンハンサー３０４に、強化目的で出力される。コントロール信号エンハンサー３０４は、上記で詳述するように、効果の出力先変更、コントローラーの強化、コントロール信号３０３の及びオーディオ／ビジュアル強化を扱う。コントロール信号エンハンサー３０４は強化されたコントロール信号３０５を出力コントローラー３０６に出力する。エミュレーターデバイスはまた、信号インサーター３０７を含む場合がある。信号インサーター３０７は、ゲームプレイ中に、挿入された信号３０８を発生させることにより、オーディオおよび／またはビデオ情報の挿入を可能にする。出力コントローラー３０６は強化されたコントロール信号３０５または挿入された信号３０８のどちらかの出力をコントロールする。
図４はエミュレーション強化方法を示すフローチャートの典型を示す。
ＥＥ翻訳のマシンコード２１３またはＩＯＰインタプリター２１４によって翻訳されたＩＯＰインストラクションのどちらかである入力信号は、ステップ４０１で解析する。ステップ４０２では、入力信号こ強化するべきコントロール信号が含まれるかどうかを見極める。強化されるコントロール信号が存在する場合には、ステップ４０３で、効果のリダイレクト、コントローラーの強化、及びコントロール信号のオーディオ／ビジュアル強化が実行される。信号を強化したら、強化されたコントロール信号はステップ４０４で出力される。
上に示したように、現存する信号の強化及び新規信号の追加により、ホストシステム２００内でターゲットシステムのゲームを模倣しているユーザーのゲーム体験を強化できる。このように本発明の見本実施例に従って強化された模倣は、以前にはレガシーターゲットシステム１００で見られなかった、ホストシステム２００の高度な技術機能をユーザーが体験できるようにする。
上記は望まれる実施例の完全な記述ではあるが、様々な代案、変更、および相当するものの使用が可能である。従って、本発明の範囲は上記の記述に従って判断されるべきではなく、代わりに、添付の請求項およびそれに相当する全範囲を参照して判断されるべきである。ここに記述された機能は全て、望ましいかどうかに関わらず、個々に記述された他のいかなる機能とも、望ましいかどうかに関わらず組み合わせることができる。次に挙げる請求項では不定冠詞「Ａ」または「Ａｎ」は、別途明記されている場合を除いて、冠詞に続く品目の数量が１またはそれ以上であることを示す。添付の請求項は、手段および機能の限界を含むものとして解釈されてはならないが、ただし、かかる限界が「〜の達成手段」という言いまわしを使用して、提供された請求項内で明示されている場合を除く。
【図１Ａ】
2014513997.tif 000003
【図１Ｂ】
2014513997.tif 000004
【図２】
2014513997.tif 000005
【図３】
2014513997.tif 000006
【図４】
2014513997.tif 000007
2014513997.tif 000008
2014513997.tif 000009
2014513997.tif 000010
2014513997.tif 000011
2014513997.tif 000012
2014513997.tif 000013
2014513997.tif 000014
2014513997.tif 000015
2014513997.tif 000016
2014513997.tif 000017
2014513997.tif 000018
2014513997.tif 000019
2014513997.tif 000020
2014513997.tif 000021
2014513997.tif 000022
2014513997.tif 000023
2014513997.tif 000024
2014513997.tif 000025
2014513997.tif 000026
2014513997.tif 000027
2014513997.tif 000028
2014513997.tif 000029
2014513997.tif 000030
【国際調査報告】
2014513997.tif 000031
2014513997.tif 000032