(57)【特許請求の範囲】
【請求項１】
複数の３次元オブジェクトを含むコンピュータモデルを定義するデータを格納するデータ格納部と、
前記コンピュータモデルが前記データ格納部に格納されている場合に、当該コンピュータモデルを変更する手段と、
変化するコンピュータモデルを表示するために、前記コンピュータモデルを定義するデータを処理して、一連の２次元表示画像を定義する表示データを生成する処理手段とを含むコンピュータグラフィックス装置であって、
前記一連の表示画像のうちの１つの表示画像に対応する静止画像データの生成を開始する信号を受信する手段と、
開始信号の受信に続いてコンピュータモデルの変更を検出する検出手段と、
前記検出手段による検出に応じて、前記開始信号の受信に続いて変更された前記コンピュータモデルを使用して、前記開始信号の受信時における前記表示画像に対応するコンピュータモデルの生成を可能にする回復データを格納するように動作可能である回復手段と、
前記開始信号の受信に続いて変更されたコンピュータモデル及び前記回復手段によって格納された前記回復データを使用して、前記開始信号の受信時における表示画像に対応する静止画像データを生成する静止画像データ生成手段とを有し、
更に、前記コンピュータモデルは、複数のデータオブジェクトを含み、
前記変更手段は複数の命令生成器を備え、その複数の命令生成器の各々は変更すべきデータオブジェクトを指定して、その他の命令生成器からのデータオブジェクトの変更を防止するロック命令を生成するように動作可能であり、
前記検出手段は、ロック命令を検出するように構成されることを特徴とするコンピュータグラフィックス装置。
【請求項２】
前記回復手段は、前記検出手段による変更の検出時に、変更前の前記コンピュータモデルが含むデータオブジェクトのコピーを前記回復データとして格納するように動作可能である請求項１記載のコンピュータグラフィックス装置。
【請求項３】
前記回復手段は、前記検出手段による変更の検出時に、前記変更前の前記コンピュータモデルと変更後の前記コンピュータモデルとの間の差異に関する変化データを含む回復データを生成し且つ格納するように動作可能である請求項１記載のコンピュータグラフィックス装置。
【請求項４】
前記開始信号は表示画像のユーザ選択を定義し、
前記静止画像データ生成手段はプリンタ用の印刷データを生成する印刷データ生成手段を備える請求項１記載のコンピュータグラフィックス装置。
【請求項５】
前記処理手段は、第１の解像度で表示データを生成するように構成され、
前記静止画像データ生成手段は、第１の解像度より高い第２の解像度で静止画像データを生成するように構成される請求項１記載のコンピュータグラフィックス装置。
【請求項６】
メモリに格納した複数の３次元オブジェクトのコンピュータモデルを定義するデータを処理して、一連の変化する２次元画像を定義する表示データ及び前記一連の表示画像のうちの選択された１つの表示画像に対応する静止画像データを、コンピュータグラフィックス装置が生成する方法であって、
前記コンピュータグラフィックス装置の備えた変更手段が、前記コンピュータモデルを変更し、
前記コンピュータグラフィックス装置の備えた処理手段が、前記コンピュータモデルを定義するデータを処理して前記変化したコンピュータモデルを表示する一連の２次元表示画像を定義する表示データを生成し、
前記コンピュータグラフィックス装置の備えた受信手段が、前記一連の表示画像のうちの１つの画像に対応する静止画像データの生成を開始する信号を受信し、
前記コンピュータグラフィックス装置の備えた検出手段が、前記開始信号の受信に続いてコンピュータモデルの変更を検出し、
前記コンピュータグラフィックス装置の備えた回復手段が、変更の検出に応じて、前記開始信号の受信に続いて変更されたコンピュータモデルを使用して、前記開始信号の受信時における前記表示画像に対応するコンピュータモデルの生成を可能にする回復データを格納し、
前記コンピュータグラフィックス装置の備えた静止画像生成手段が、前記開始信号の受信に続いて変更されたコンピュータモデル及び前記回復データを使用して、前記開始信号の受信時における表示画像に対応する静止画像データを生成し、
更に、前記コンピュータモデルは複数のデータオブジェクトを含み、
前記変更手段は複数の命令生成器を備え、前記コンピュータモデルの変更において、前記複数の命令生成器の各々が、変更すべきデータオブジェクトを指定して、その他の命令生成器からのデータオブジェクトの変更を防止するロック命令を生成し、
前記コンピュータモデルの変更の検出はロック命令を検出することを含むことを特徴とする方法。
【請求項７】
前記回復データの格納は、前記コンピュータモデルの変更の検出時に、変更前の前記コンピュータモデルが含むデータオブジェクトのコピーを前記回復データとして格納することを含む請求項６記載の方法。
【請求項８】
前記回復データの格納は、前記コンピュータモデルの変更の検出時に、変更前の前記コンピュータモデルと変更後の前記コンピュータモデルとの間の差異に関する変化データを含む回復データを生成し且つ格納することを含む請求項６記載の方法。
【請求項９】
前記開始信号は、表示画像のユーザ選択を定義し、前記静止画像生成は、プリンタ用の印刷データを生成することを含む請求項６記載の方法。
【請求項１０】
前記表示データ生成では第１の解像度で表示データを生成し、前記静止画像データ生成では第１の解像度より高い第２の解像度で静止画像データを生成する請求項６記載の方法。
【請求項１１】
コンピュータに、
複数の３次元オブジェクトを含む変化するコンピュータモデルを定義するデータを処理することによって生成された一連の表示画像のうちの１つの表示画像に対応する静止画像データの生成を開始する信号を受信し、
前記開始信号の受信に続くコンピュータモデルの変更を検出し、
変更の検出に応じて、前記開始信号の受信に続いて変更されたコンピュータモデルを使用して、前記開始信号の受信時における前記表示画像に対応するコンピュータモデルの生成を可能にする回復データを格納し、
前記開始信号の受信に続いて変更されたコンピュータモデル及び前記回復データを使用して、前記開始信号の受信時における表示画像に対応する静止画像データを生成する処理を実行させるためのプログラムを格納したコンピュータ可読記憶媒体であって、
前記コンピュータモデルは複数の命令生成器によって変更される複数のデータオブジェクトを含み、前記命令生成器の各々は、変更すべきデータオブジェクトを指定して、その他の命令生成器からのデータオブジェクトの変更を防止するロック命令を生成することによって変更を開始し、
前記プログラムは、前記コンピュータモデルの変更の検出がロック命令を検出することを含むように前記コンピュータに処理を実行させることを特徴とするコンピュータ可読記憶媒体。
【請求項１２】
コンピュータに、
複数の３次元オブジェクトを含む変化するコンピュータモデルを定義するデータを処理することによって生成された一連の表示画像のうちの１つの表示画像に対応する静止画像データの生成を開始する信号を受信し、
前記開始信号の受信に続くコンピュータモデルの変更を検出し、
変更の検出に応じて、前記開始信号の受信に続いて変更されたコンピュータモデルを使用して、前記開始信号の受信時における前記表示画像に対応するコンピュータモデルの生成を可能にする回復データを格納し、
前記開始信号の受信に続いて変更されたコンピュータモデル及び前記回復データを使用して、前記開始信号の受信時における表示画像に対応する静止画像データを生成する処理を実行させるためのプログラムであって、
前記コンピュータモデルは複数の命令生成器によって変更される複数のデータオブジェクトを含み、前記命令生成器の各々は、変更すべきデータオブジェクトを指定して、その他の命令生成器からのデータオブジェクトの変更を防止するロック命令を生成することによって変更を開始し、
前記コンピュータモデルの変更の検出がロック命令を検出することを含むように前記コンピュータに処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
本発明はコンピュータグラフィックス装置に関し、特に、画像表示装置用の２次元動画像データに沿って２次元静止画像データを生成するために３次元コンピュータモデルを処理するグラフィックス装置に関する。静止画像データは、例えば、プリンタ用の印刷データでも良いし、画像表示装置用の表示データでも良い。
【０００２】
標準的なパーソナルコンピュータは、「PrintScreen」等とラベルされたキーボードキーを有する。もしユーザがこのキーを押すとキーボードから信号が送られ、パーソナルコンピュータはキーが押される時にパーソナルコンピュータのスクリーンに表示されている画像に相当する印刷画像の生成を開始する。
【０００３】
多くのアプリケーションについては、表示画像の変化は少なく、表示画像に使用されるのと同じデータを使用して印刷画像を生成することができる。 しかし、表示画像用画像データが３次元コンピュータモデルの処理により生成されるアプリケーション、例えば、いくつかのゲーム及びマルチメディアアプリケーションについては、表示画像が非常に動的な場合がある。これらのアプリケーションについては、途切れ途切れの画像をユーザに表示するのを防止するために、一般にフレームレートと呼ばれる表示画像が更新される速度は、１秒当たり多数回となる場合が多い。このフレームレートを達成するためには、より高い解像度の表示画像を生成するための時間が不十分であるという理由で、表示画像の解像度を下げなければならないことが多い。しかし、高いフレームレートがユーザに対して全体的に高解像度である印象を与えるので、この個々のフレームにおける解像度の低減はディスプレイを見るユーザには通常感知できない。
【０００４】
非常に動きの早い動画像の個々のフレーム各々は比較的低解像度のデータを含んでいることがあるので、そのようなデータでは満足できる印刷画像は生成されない。更に、ディスプレイは、各方向におよそ１０００画素オーダの出力解像度を有するのが普通である。
【０００５】
プリンタが、例えば１ｍｍ当たり１２ドットの解像度を有するようであれば、表示画像の１つの画素を１つのプリンタドットにマッピングすると、結果として非常に小さい印刷画像となるであろう。各画素をマッピングしたプリンタドットの数を増加していくと、印刷結果は、次第に低い画質となる。
【０００６】
更に、低解像度はユーザが知覚できるため、動的表示画像の低解像度の画像データでは、電子的な格納及びそれに続くユーザへの表示のために許容できる静止画像が生成されない。
【０００７】
本発明の一面によれば、静止画像開始信号に応じて、画像のシーケンスを表示するための動画像データ生成とは別の動作において、静止画像データは、コンピュータモデルを処理することにより生成される。コンピュータモデルは開始信号の受信に続いて変化するので、変化したコンピュータモデルを使用して、開始信号の受信時のコンピュータモデルの回復を可能にするデータが格納されるのが好ましい。
【０００８】
このように「回復」データを格納することには、静止画像データ生成に要する時間中にコンピュータモデルが動的に変化できるという利点がある。これにより、表示された一連の画像のいかなる不適当な中断も低減できると同時に、静止画像データが、開始信号の受信時における表示画像に対して忠実であり続けることが可能になる。
【０００９】
また、コンピューターモデルへの変化に関連した回復データだけを格納することで、静止画像データ生成のために開始信号を受信したその時にコンピュータモデル全体をコピーする必要がなくなる。これは、コンピュータモデル全体の格納には大量のメモリの使用が必要となり、それは、静止画像データ生成もまた大量のメモリの使用を必要とすることから特に望ましくないために、有利である。
【００１０】
一実施例において、コンピュータグラフィックス装置がコンピュータモデルの部分的な変更を検出するときに、変更すべきコンピュータモデルの一部は、変更が行われる前の回復データとして変わらずに格納される。別の実施例においては、コンピュータグラフィックス装置がコンピュータモデルへの変更を検出するときに、変更前及び変更後のコンピュータモデル間の差異に関連した変化データが生成され、これが回復データとして格納される。
【００１１】
一実施例においては、コンピュータグラフィックス装置は、コンピュータモデルを変更する複数の命令生成器を具備する。エラーを発生させる可能性があるその他の命令生成器による他の変更を同時に実行することを防止するロック命令の生成により、各命令生成器が変更を開始する。このロック命令は、コンピュータモデルのすべてか又は一部のみに適用することができ、コンピュータ・グラフィックス装置はこれを使用して変更がいつ発生するかを検出することもできる。
【００１２】
本発明の別の面は、可変３次元コンピュータモデルから生成された一連の表示画像のうちの１つに対応する静止画像データを生成する方法であって、静止画像データの生成を開始するのに動作可能な信号を受信し、開始信号の受信に後続するコンピュータモデルの変更を検出し、変更の検出に応じて、開始信号の受信に続いて変更されるコンピュータモデルを使用して、開始信号の受信時に表示画像に対応するコンピュータモデルの生成を可能にする回復データを格納することを含む方法を提供する。その後、開始信号の受信時の表示画像に対応する静止画像データは、開始信号の受信に続いて変更されるコンピュータモデルと回復データとを使用して生成される。
【００１３】
本発明の実施例を単なる例示として添付の図面を参照して以下に説明する。
【００１４】
以下に示すように、本発明の一実施例において、コンピュータグラフィックス装置は、コンピュータ生成された命令（以下の実施例において、コンピュータゲームをする際にユーザが入力する信号に応答して生成される）に応じて変わる３次元シーンのコンピュータモデルを格納する。コンピュータグラフィックス装置はコンピュータモデルを繰り返し処理して画面上の表示画像用の画像データを生成し、これにより、コンピュータモデルの変化に従って変わる一連の画像を生成する。ユーザは、印刷するための表示画像をキーボード上のキーを押して選択できる。従って、表示画像の選択に続いて、選択された表示画像に対応する印刷データが生成される前にコンピュータモデルの何らかの変更がなされる場合、表示画像選択に続いて変更されたコンピュータモデルを使用して、選択された表示画像に相当するコンピュータモデルの再生成を可能にする「回復」データが格納される。このように、表示画像選択の後に変更された現在のコンピュータモデルと格納された回復データとを使用して、選択された表示画像に相当する印刷データが生成される。
【００１５】
図１を参照すると、ソフトウェア開発装置１００は、家庭用娯楽装置２００に配送されるコンピュータプログラム製品を作製するのに動作可能である。配送は、光ディスク１９０のような記憶媒体又は例えばインターネットを介して信号１９２により配信するという手段により行われる。
【００１６】
ソフトウェア開発装置１００は、ディスプレイ１１２と、キーボード１１４と、マウス１１６とに接続するパーソナルコンピュータ１１０を具備する。コンピュータプログラム製品は、ソースコードとして知られている行１３０、すなわちキーボード１１４及びマウス１１６での開発者の入力によってパーソナルコンピュータ１１０上で開発される。ソースコード１３０は、ソースコード１３０を参照できる複数の機能１４２を含むグラフィックスライブラリ１４０を利用する。各機能１４２はソフトウェアの完成品に組み込み可能なコードのセクションから成る。ソースコード１３０のような比較的高レベルのプログラムとハードウェアコントロールのような低レベルの動作との間のインタフェースを提供するために、あらかじめ定められたライブラリーを使用すると便利である。グラフィックスライブラリ１４０の場合、問題のハードウェアコントロールは、ユーザに対するグラフィック表示用の表示データを生成するハードウェアのコントロールである。
【００１７】
更に、グラフィックスライブラリ１４０はプリントスクリーン機能１４４を含む。上述のようにこれは機械コード命令を含むが、特定のユーザ入力動作に応答してプログラムを実行するコンピュータ装置により、ユーザによる入力時に装置に表示された画像に相当する印刷文書を生成させるように動作可能である。
【００１８】
開発装置１００上で生成されたコンピュータプログラム製品は、光ディスク１９０で配送されるにしろ信号１９２によって配信されるにしろ、家庭用娯楽装置２００のゲームコンソール２１０上に常駐する。
【００１９】
ゲームコンソール２１０は、テレビ２１２、ハンドセット２１４及びプリンタ２１６に接続される。ハンドセット２１４は１組の方向キー２２０及び１組の補助キー２２２を含む。これらのキーのうち、特定のキー２２２ａに応答して、コンピュータプログラム製品は、このキー２２２ａが押される時に表示されている画像表現の印刷を起動する。これはコンピュータプログラム製品中にプリントスクリーン機能１４４が内蔵されていることによる。
【００２０】
図２を参照して、ゲームコンソールを更に詳細に説明する。
【００２１】
ゲームコンソール２１０は、例えば、先に説明したコンピュータプログラム製品を送る信号を受信するモデム２２４及び光ディスク１９０が挿入されるディスクドライブ２６０から成る。コンソールのコンピュータ装置２３０は処理装置２３２及びメモリ２３４を備える。これは計算装置２３０の動作の図式的な区分であり、これによりコンピュータプログラム製品によって構成された計算装置２３０の処理部品とそのデータ記憶部品との間を図示している。コンピュータプログラム製品の例は計算装置２３０上のゲーム処理装置２４０である。ゲーム処理装置２４０は、メモリ中の一連のグラフィックスオブジェクト２５０を読み、格納し、更新する。グラフィックスオブジェクトは、その中でゲームが実行される３次元シーンを定義するコンピュータモデルを形成する。一般にレンダリングと呼ばれる動作において、グラフィックスオブジェクトは３次元シーンの眺めを表現する２次元画像データを生成するために処理される。特にゲーム処理装置は、テレビ２１２上で表示するために、データをグラフィックスオブジェクト２５０からグラフィックスレンダリング装置２４８に送り、グラフィックスレンダリング装置２４８は、オブジェクトをフレームバッファ２５２に格納されたラスタライズされたデータに変換する。
【００２２】
ゲーム処理装置２４０は、ユーザ入力モニタ２４６によってユーザ入力を監視する。これらのユーザ入力は、これによって解釈され、ゲーム機能装置２４２ａ〜２４２ｅに渡される。ゲーム機能装置２４２ａ〜２４２ｅは、グラフィックスオブジェクト２５０を参照し、ユーザ入力に応じてグラフィックスオブジェクト２５０を適切に変える。更に、プリントスクリーン初期設定機能装置２４４は、図１に示すキー２２２ａのユーザによる押下に相当するユーザ入力に応答する。
【００２３】
図７は、ゲーム処理装置２４０によって具体化されたゲームの動作を使用した３次元シーンのグラフィックスオブジェクト２５０を示す。グラフィックスオブジェクト２５０の表現はテレビ２１２及びプリンタ２１６上またはそのいずれかで生成される。
【００２４】
グラフィックスオブジェクト２５０はツリーとして構築され、その先頭は世界オブジェクト３００である。世界オブジェクトは、世界ジオメトリオブジェクト３２０に対する一連のポインタを備え、世界ジオメトリオブジェクト３２０は、世界の静的ジオメトリと複数のフレームオブジェクト３３０によって表される動的オブジェクトとの記述とを含む。各フレームオブジェクト３３０は、グラフィックスオブジェクトの位置及び方向の表現を含む。そのフレームオブジェクト内には、変換行列３４８に対して静的な世界ジオメトリ内のグラフィックオブジェクトの場所を決定するポインタと、それ自体が頂点／キーフレームテーブル３３４に対するポインタ及びキーフレームカウンター３３６を含むジオメトリオブジェクト３３２に対するポインタとがある。
【００２５】
更に、ジオメトリオブジェクト３３２は、メッシュ３４０のリストを含む結合オブジェクト３３８をさし示す。各メッシュは、一連の三角形３４２、三角形３４２と共に使用される材料オブジェクト３４４、及び材料オブジェクト３４４に重畳されるテクスチャ３４６を指し示す。このオブジェクト構成により、特定のオブジェクトの修正によってシーンを修正できる。特定のフレーム３３０のジオメトリオブジェクト３３２は、フレームオブジェクト３３０で定義された座標系の頂点を記述する。
【００２６】
時間的なジオメトリの変更をさせるために、頂点／キーフレームテーブル３３４及びキーフレームカウンタ３３６を動的オブジェクトに使用して補間アニメーション技術を実行しても良い。特に、頂点／キーフレームテーブル３３４は複数の所与の瞬間の頂点の座標の異なる組み合わせを含み、所定の瞬間の間の時間での頂点の座標は、経過時間を追跡するキーフレームカウンタ３３６を使用して補間技術により判定される。この方法において、頂点／キーフレームテーブル３３４及びキーフレームカウンタ３３６の内容は動的オブジェクトの特定の表現を定義することができる。
【００２７】
結合オブジェクト３３８は、オブジェクトのポリゴンのグループが互いにどのように適合するかを記述する。オブジェクトは、各々がメッシュ３４０で記述される多数のサブオブジェクトで構成されても良い。このメッシュは同じ材料特性を共有する一連の三角形３４２とテクスチャ３４６とから成る。テクスチャ３４６は、ゲーム処理装置２４０の別の機能２４２ａ〜２４２ｅによって、時間的に変えることができる。
【００２８】
世界オブジェクト３００及び世界オブジェクト３００に従属するオブジェクトで定義されたシーンを見るために、カメラ３１２の位置及び方向座標を含むフレーム３１０によって、そのシーンにおけるカメラオブジェクト３１２が定義される。ユーザ入力に応じて、ゲーム処理装置２４０の別の機能２４２ａ〜２４２ｅにより、フレームオブジェクト３１０及びカメラオブジェクト３１２は変えることができる。
【００２９】
このように、変換行列３４８、キーフレームカウンタ３３６及びテクスチャ３４６を含む異なるオブジェクトは、ゲーム処理装置２４０により頻繁に変え得ることは理解されるであろう。
【００３０】
対応するユーザ入力の受信時のプリントスクリーン初期設定機能装置２４４の動作を図３及び図４を参照して説明する。図３は、プリントスクリーン初期設定機能装置２４４が計算装置２３０をどのように構成するかを示し、図４は、プリントスクリーン初期設定機能装置２４４によって実行される処理ステップを示す。
【００３１】
まずステップＳ１−２において、オブジェクトアクセスモニタ２６０は初期化され、ゲーム処理装置２４０の機能装置２４２ａ〜２４２ｅによるグラフィックスオブジェクト２５０のアクセスを監視する。本実施例においては、機能２４２ａ〜２４２ｅそれぞれは、グラフィックスオブジェクト２５０を変える前に、他のどの機能２４２ａ〜２４２ｅからもオブジェクト２５０をアクセスできないよう、そのオブジェクト２５０をロックしなければならない。これにより、２つの機能がグラフィックスオブジェクト２５０に情報を同時に書き込むことを防止する。そのため、オブジェクトアクセスモニタ２６０は、いつゲーム処理装置２４０がグラフィックスオブジェクト２５０を変えそうなのかを検出することができる。したがって、本実施例において、オブジェクトアクセスモニタ２６０は、ゲーム処理装置２４０によってグラフィックスオブジェクト２５０をロックするために送信されたリクエストを監視する。
【００３２】
その後ステップＳ１−４において、プリントスクリーン初期設定機能装置２４４はグラフィックスオブジェクトバックアップ装置２６２を初期化する。これは、オブジェクトアクセスモニタ２６０のオブジェクトロックリクエスト検出時に、機能装置２４２ａ〜２４２ｅがオブジェクト２５０を変える前に、オブジェクトロックリクエストが参照するそのオブジェクト２５０のコピーを作成することができる。
【００３３】
本実施例におけるオブジェクトアクセスモニタ２６０の動作を図５に更に詳細に示す。
【００３４】
図５を参照すると、まずステップＳ２−２において、オブジェクトアクセスモニタ２６０はオブジェクトアクセスリクエストを監視する。オブジェクトアクセスリクエストにおいては、機能装置２４２ａ〜２４２ｅのうちの１つが、他の機能装置２４２ａ〜２４２ｅによるアクセスに対してグラフィックスオブジェクト２５０がロックされるように、それに対してリクエストを送信する。このステップは、オブジェクトアクセスリクエストが中断され、ステップＳ２−４において、オブジェクトアクセスリクエストに関連するオブジェクトについての回復データが、グラフィックスオブジェクトバックアップ装置２６２に現在格納されているかどうかについてチェックされるときまで繰り返される。本実施例において、回復データはオブジェクトのコピーを含む。回復データがグラフィックスオブジェクトバックアップ装置２６２の中に既にある場合は、プリントスクリーン初期設定機能装置がプリントスクリーン動作を開始したので、オブジェクトは既にアクセスされており、修正されている可能性が高い。このため、そのオブジェクトのもうひとつ別のコピーは不要であり、そのもうひとつの別のコピーにより、元のオブジェクトの代わりに修正されたオブジェクトがレンダリングされることになるだろう。したがって、処理はステップＳ２−２に戻り、次のオブジェクトアクセスリクエストを監視する。
【００３５】
一方、ステップＳ２−４において、当該オブジェクトのコピーがグラフィックスオブジェクトバックアップ装置２６２に存在しないと判断された場合は、ステップＳ２−６において、オブジェクトのコピーは回復データとしてグラフィックスオブジェクトバックアップ装置２６２に格納される。一旦コピーが作成されたならば、処理はステップＳ２−２に戻り、次のオブジェクトアクセスリクエストを監視する。オブジェクトアクセスモニタ２６０がプリントスクリーン初期設定機能装置２４４によって割当て解除されるまで、この処理は継続する。
【００３６】
グラフィックスオブジェクトバックアップ装置が、図７に示す変換行列１及び変換行列２オブジェクト３４８を、フレーム２のキーフレームカウンタオブジェクト３３６及びテクスチャ１Ｂオブジェクト３４６と共に回復データとして格納する例を図８に示す。この例においては、ユーザがプリントスクリーン機能を要求してから、ゲーム処理装置がフレーム１によって表される３次元オブジェクト及び従属するオブジェクトを移動させ、フレーム２に対応する３次元オブジェクトを移動させ、そのオブジェクトのキーフレームカウントを変えることで、対応するキーフレームテーブルに定義される異なる位置にそれらの頂点を置くようにフレーム２によって表される３次元オブジェクトをも変更している。更に、フレーム１に対応する３次元オブジェクトの表示に組み込まれたテクスチャのうちの１つ、すなわち、テクスチャ１Ｂを変えている。従って、これらの変化以前のそれらオブジェクトのコピーがグラフィックスオブジェクトバックアップ装置に格納される。これらは、プリンタレンダリング装置２６４でのシーンのレンダリングにおいて、変更されたオブジェクトの内容に優先して使用される。
【００３７】
本実施例において、テクスチャオブジェクト２４６は格納されたビットマップに対するポインタを格納している。これらのビットマップのアクセスタイムを短縮するために、コンピュータ装置は要求されそうなビットマップをキャッシュメモリにコピーする。キャッシュメモリ中の各ビットマップには、関連するビットマップがまだ必要かどうか示すカウンタ値を格納する参照カウンタが割り当てられる。特に、カウンタ値が０に達するとき、コンピュータ装置２３０は、その関連するビットマップ上にデータを自由に書き込む。本実施例においては、ステップＳ２−６（図５）でオブジェクトアクセスモニタがグラフィックスオブジェクトバックアップ装置２６２にテクスチャオブジェクトを格納する場合、関連するビットマップのカウント値を１増加し、その後画像が印刷された後にカウンタを１減少させる。これにより、ユーザに対してテレビ２１２に表示するための画像データを生成するためにビットマップがもはや必要でないとしても、画像が印刷されるまでビットマップがキャッシュメモリ中に保持されることを保証する。これにより、印刷画像を生成するのに必要な時間が短縮される。
【００３８】
再び図５を参照すると、新しい動的オブジェクトが、プリントスクリーン機能の初期化の後に作成される場合、新しい動的オブジェクト用のフレームオブジェクト３３０がプリントレンダリング装置２６４に無視されるべきであることを示す回復データがグラフィックスオブジェクトバックアップ装置２６２に格納される。更に、動的オブジェクトがプリントスクリーン機能の初期化の後に現在のコンピュータモデルから取り除かれる場合、従属オブジェクトを含む動的オブジェクト用フレームオブジェクト３３０全体は、グラフィックスオブジェクトバックアップ装置２６２に回復データとして格納される。このため、コンピュータモデルが、元の動的オブジェクトがいくつかの新しい動的オブジェクトに分離する爆発を表示するよう変更される場合には、グラフィックスオブジェクトバックアップ装置２６２に格納された回復データは、元の動的オブジェクト用のフレームオブジェクト３３０全体および新しい動的オブジェクト用のフレームオブジェクト３３０がプリントレンダリング装置２６４に無視されるべきであることを示すデータである。
【００３９】
図４に戻ると、グラフィックスオブジェクトバックアップ装置が初期化された後に、ステップＳ１−６において、プリントスクリーン初期設定機能装置２４４はプリンタレンダリング装置２６４を初期化し、これに続いて、ステップＳ１−８において、プリンタバッファ２６６を初期化する。
【００４０】
プリンタレンダリング装置２６４は大部分がグラフィックスレンダリング装置２４８の複製である。しかし、それは、図６に示す処理に従ってレンダリングするために構成される。プリンタレンダリング装置２６４はグラフィック表示する画像を生成するためにグラフィックスオブジェクト２５０をトラバースする。まずステップＳ３−２において、プリンタレンダリング装置２６４がグラフィックスオブジェクト２５０からオブジェクトを受け取ったかどうかに関して問い合わせる。受け取っていなければ、オブジェクトが受け取られるまでそのプロセスを繰り返す。
【００４１】
その後ステップＳ３−４において、オブジェクトアクセスモニタ２６０によってグラフィックスオブジェクトバックアップ装置２６２にそれのコピーが置かれたか、すなわち、（無視すべきオブジェクトはプリントスクリーンリクエストの受信後に作成された新しいオブジェクトであるので）その無視すべきオブジェクトを示すデータが格納されたかどうかを確かめるために受信されたオブジェクトをチェックする。データが格納されていなければ、ステップＳ３−６において、メモリに本来格納されるのと同じように、グラフィックスオブジェクト２５０中のオブジェクトはプリンタレンダリング装置２６４によってレンダリングされる。さもなければ、コピーがグラフィックスオブジェクトバックアップ装置２６２に存在する場合は、ステップＳ３−８において、グラフィックスオブジェクトバックアップ装置２６２にそれが格納される形式でオブジェクトがレンダリングされる。本実施例においては、満足できるスクリーンプリント画像を提供するために、プリンタレンダリング装置２６４はグラフィックレンダリング装置２４８より高い解像度でグラフィックスオブジェクトをレンダリングする。
【００４２】
どちらのレンダリングが使用されても、レンダリングステップの後にステップＳ３−１０において、レンダリングが完了したかどうかの確証するためのチェックが行われる。レンダリングが完了していなければ、上述したようにステップＳ３−２において次のオブジェクトが用意される。レンダリングが完了していれば、プリンタレンダリング装置の処理は完了する。
【００４３】
図４を再び参照すると、ステップＳ１−１０において、プリントスクリーン初期設定機能装置はプリンタレンダリング装置２６４がそのレンダリング処理を終えたかどうかを調べる。図６に示すようなプリンタレンダリング処理が完了したというメッセージをプリントスクリーン初期設定機能装置２４４がプリンタレンダリング装置２６４から受け取るまで、このステップを繰り返す。
【００４４】
プリンタレンダリング装置２６４がそのプロセスを一旦終了すると、ステップＳ１−１２において、プリントスクリーン初期設定機能装置２４４は、プリンタバッファ２６６に対してメモリの割り当てを解除する。その後、ステップＳ１−１４において、プリンタレンダリング装置２６４に対して割り当てを解除する。更にステップＳ１−１６において、グラフィックスオブジェクトバックアップ装置２６２に対して割当て解除を行い、最後にステップＳ１−１８において、オブジェクトアクセスモニタ２６０に対して割り当てを解除する。ステップＳ１−１２〜Ｓ１−１８でのこれらの割当て解除により、計算装置２３０は図２に示す条件に戻る。
【００４５】
請求項の範囲内で上記した実施例には多くの変更がなされる。
【００４６】
例えば、上記特定の実施例は１つのスクリーンショットの処理に関連して記述されているが、プリントスクリーン初期設定機能装置２４４を繰り返し呼び出すことよってプリントレンダリング装置２６４のいくつかのインスタンスを初期化することができることは明らかであろう。この方法にとって唯一の制限は、コンソールの処理能力及びおそらくそれのメモリ容量であろう。過度の要求がマルチタスク又はロックされたオブジェクトの複数のコピーの格納のためにハードウェアの能力に対してなされる場合、過負荷が生じたこと、またはゲームが一時休止されてハードウェアが例外的に高い要求を扱うことを可能にすることがユーザに通知される。
【００４７】
例示した実施例において、プリントスクリーン機能が初期化された後、変化が生じる前に、変えるべきグラフィックスオブジェクトのコピーはグラフィックスオブジェクトバックアップ装置２６２に回復データとして格納される。あるいは、変えられていないグラフィックスオブジェクトが変更されたグラフィックスオブジェクトから再構成されることを可能にするデータをグラフィックスオブジェクトバックアップ装置２６２に格納することができるであろう。例えば、変化が世界の静的なジオメトリ内での動的オブジェクトの動きに関係する場合、動的オブジェクトの変更された変換行列をプリントスクリーン機能が初期化された時の動的オブジェクトの変換行列に戻すように変換する行列を、グラフィックスオブジェクトバックアップ装置２６２に格納できるであろう。
【００４８】
例示した実施例においては、静止画像データがプリンタ用の印刷データの形式で生成される。あるいは、静止画像データは、例えばコンピュータ画面やテレビといった画像表示装置に表示するための画像データであり得るであろう。もちろん、表示に先立って、（例えば電子メールによって）静止画像データを異なるコンピュータ処理装置に送ることができるであろう。
【００４９】
プリントスクリーン機能を使用して印刷画像が生成されている場合、この印刷画像の最初の世代およびその後の世代のコピーは写真複写のような従来の技術で生成することができる。静止画像データが電子フォーマットで格納される場合は、フロッピーディスク等の記憶装置に静止画像データをコピーすることができるであろう。更に、電子メールシステム等を電子的に使用して、電子フォーマットに格納された静止画像データを送信することができる。これらの複写技術により、静止画像を様々な人々に配布することができる。
【００５０】
上述した特定の実施例は元の開発ツール中のモジュールとして供給される。しかし、既存のグラフィックス開発ライブラリーへのプラグインのような個別のツール中でモジュールを提供できるであろうことは理解されるだろう。
【００５１】
本発明は、ゲームコンソールを含む一例として示されてはいるが、この装置は、ハードウェア能力になんらかの制限がされた可能性のある他のアプリケーションに同様に適用される。例えば、ハンドヘルド装置、特に携帯電話装置には、通常非常に低解像度であるこのような装置上のグラフィック出力に対して、高画質の印刷出力を背景機能として生成するために本発明に係るモジュールを組み込むことができるであろう。また、ケーブルテレビ加入者によって使用されるようなセットトップボックスも本発明と共に使用することができるであろう。セットトップボックスは、図１に示すゲームコンソールと同様のハードウェア能力を有しても良い。あるいは、従来のコンピュータを使用することができるであろう。
【００５２】
上述したように、コンピュータ装置及びコンピュータ装置内で実行される処理同様、本発明は、本発明を実行するために適応されるコンピュータプログラム、特に担体上のあるいは担体中のコンピュータプログラムにも及ぶ。コンピュータプログラムはプリントスクリーン機能、プリントスクリーン機能を含む機能のライブラリ、あるいはプリントスクリーン機能を組み込んでいるアプリケーションのみに対応しても良い。コンピュータプログラムは、ソースコードの形式、オブジェクトコードの形式、又は部分的にコンパイルされた形のようなソースとオブジェクトとの中間のコードの形式、あるいはその他の本発明による処理の実現に使用するに適合する形式であると良い。
【００５３】
担体はプログラムを運ぶことができる何らかの存在あるいは装置でも良い。例えば、担体が、ＣＤ−ＲＯＭ、半導体ＲＯＭ、もしくは磁気記録媒体（例えばフロッピーディスクやハードディスク）等のＲＯＭのような記憶媒体を含んでも良い。更に、担体は、電気ケーブル又は光学ケーブルを介して、無線で、あるいは他の手段によって送られるであろう電気信号又は光学信号のような伝送可能な搬送波でも良い。
【００５４】
ケーブルあるいは他の装置又は手段によって直接送られるかもしれない信号にプログラムが含まれる場合、担体は、そのようなケーブルあるいは他の装置又は手段によって構成されても良い。あるいは、担体は、プログラムが埋め込まれている集積回路であって、関連する処理の実行あるいは実行のための使用に適する集積回路でもよい。
【図面の簡単な説明】
【図１】コンピュータプログラム製品の開発及び娯楽システムへのコンピュータプログラム製品の配送を示す概略図。
【図２】コンピュータプログラム製品がインストールされた図１に示すゲームコンソールの概略図。
【図３】起動されたコンピュータ・プログラム製品のスクリーンプリント機能を有する図２に示すゲームコンソールの概略図。
【図４】図２及び図３のゲームコンソール上のコンピュータプログラム製品のプリントスクリーン初期設定機能装置によって実行されたプロセスを示すフローチャート。
【図５】図３に示すゲームコンソール上のオブジェクトアクセスモニタによって実行されたプロセスを示すフローチャート。
【図６】図３に示すグラフィックスコンソール上のプリントレンダリング装置によって実行されたプロセスを示すフローチャート。
【図７】グラフィック表示されるシーンを定義し、そのスクリーンプリント文書が図３のコンソールによって生成されるメモリ中の複数のオブジェクトの構成を示す概略図。
【図８】図４、図５及び図６の処理動作における図３のコンソール上のグラフィックスオブジェクトバックアップ装置の内容をを示す概略図。
【図１】
0004689108.tif 000002
【図２】
0004689108.tif 000003
【図３】
0004689108.tif 000004
【図４】
0004689108.tif 000005
【図５】
0004689108.tif 000006
【図６】
0004689108.tif 000007
【図７】
0004689108.tif 000008
【図８】
0004689108.tif 000009