(57)【要約】【課題】動きのある３次元オブジェクトと静止している３次元オブジェクトとを同時に表示する場合の計算コストの低減を図る。【解決手段】３次元描画プログラムは、アプリケーションよりアニメーションする３次元オブジェクトの表示に必要な領域の指定を受けてラスタライズ対象領域を設定する。最初のフレームでは、アプリケーションから通知されたすべての３次元オブジェクトの描画処理を行うが、次のフレームからはラスタライズ処理の前に、まずフレームバッファのラスタライズ対象領域をクリアした後、３次元モデルデータの座標変換、描画要素生成までを行い、ラスタライズ対象領域内の描画要素のみを対象にラスタライズ処理を行う。これにより動きのある３次元オブジェクトと静止している３次元オブジェクトとを同時に表示する場合に、静止している３次元オブジェクトの無意味な再描画を行う必要がなくなり、計算コストを低減することができる。【選択図】  図６
2004265331.tif 000002
【特許請求の範囲】
【請求項１】
３次元オブジェクトの描画を行う描画手段と、
前記描画手段によって描画された前記３次元オブジェクトを含むフレーム単位の画像データが格納されるバッファと、
前記バッファに格納された画像データを表示する表示部と、
前記フレーム中の更新領域を設定する設定手段と、
複数フレームにわたって、前記バッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記バッファの前記更新領域の内容を更新するバッファ更新手段と
を具備することを特徴とする３次元描画システム。
【請求項２】
請求項１に記載の３次元描画システムにおいて、
前記フレーム中の更新領域が時間の経過に伴って変化する３次元オブジェクトの表示に必要な領域であることを特徴とする３次元描画システム。
【請求項３】
３次元オブジェクトの描画を行う描画手段と、
前記描画手段により描画された前記３次元オブジェクトを含むフレーム単位の画像データが格納される第１のバッファと、
前記第１のバッファから転送される前記フレーム単位の画像データが格納される第２のバッファと、
前記第２のバッファに格納された画像データを表示する表示部と、
前記フレーム中の更新領域を設定する設定手段と、
複数フレームにわたって、前記第１のバッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記第１のバッファの前記更新領域の内容を更新し、この第１のバッファの前記更新領域の内容をフレーム周期で前記第２のバッファに転送するバッファ更新手段と
を具備することを特徴とする３次元描画システム。
【請求項４】
請求項３に記載の３次元描画システムにおいて、
前記フレーム中の更新領域が時間の経過に伴って変化する３次元オブジェクトの表示に必要な領域であることを特徴とする３次元描画システム。
【請求項５】
３次元オブジェクトの描画を行うステップと、
前記描画された３次元オブジェクトを含むフレーム単位の画像データをバッファに格納するステップと、
前記バッファに格納された画像データを表示するステップと、
前記フレーム中の更新領域を設定するステップと、
複数フレームにわたって、前記バッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記バッファの前記更新領域の内容を更新するステップと
を有することを特徴とする３次元描画方法。
【請求項６】
３次元オブジェクトの描画を行うステップと、
前記描画された前記３次元オブジェクトを含むフレーム単位の画像データを第１のバッファに格納するステップと、
前記第１のバッファに格納された前記フレーム単位の画像データを第２のバッファに転送するステップと、
前記第２のバッファに格納された画像データを表示するステップと、
前記フレーム中の更新領域を設定するステップと、
複数フレームにわたって、前記第１のバッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記第１のバッファの前記更新領域の内容を更新するステップと、
この第１のバッファの前記更新領域の内容をフレーム周期で前記第２のバッファに転送するステップと
を有することを特徴とする３次元描画方法。
【請求項７】
コンピュータに、
３次元オブジェクトの描画を行うステップと、
前記描画された３次元オブジェクトを含むフレーム単位の画像データをバッファに格納するステップと、
前記バッファに格納された画像データを表示するステップと、
前記フレーム中の更新領域を設定するステップと、
複数フレームにわたって、前記バッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記バッファの前記更新領域の内容を更新するステップとを実行させることを特徴とするコンピュータプログラム。
【請求項８】
コンピュータに、
３次元オブジェクトの描画を行うステップと、
前記描画された前記３次元オブジェクトを含むフレーム単位の画像データを第１のバッファに格納するステップと、
前記第１のバッファに格納された前記フレーム単位の画像データを第２のバッファに転送するステップと、
前記第２のバッファに格納された画像データを表示するステップと、
前記フレーム中の更新領域を設定するステップと、
複数フレームにわたって、前記第１のバッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記第１のバッファの前記更新領域の内容を更新するステップと、
この第１のバッファの前記更新領域の内容をフレーム周期で前記第２のバッファに転送するステップとを実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元オブジェクトを演算により描画する３次元描画システム、３次元描画方法、およびコンピュータプログラムに関する。
【０００２】
【従来の技術】
時間とともに変化する（アニメーションする）３次元画像を描画するとき、画面の一部の物体（３次元オブジェクト）だけが動き、それ以外の３次元オブジェクトは静止している状況が多くある。この場合でも、従来はフレーム毎にすべての３次元オブジェクトを描画し直すことが行われていた。しかし、静止している３次元オブジェクトまでを再描画することは無意味であり、計算コストの無益な増大を招いていた。
【０００３】
このような課題の解決策として、３次元空間内の前後の画像のうち、後の画像が停止したときに、この後の画像を一時記憶し、次にこの後の画像が動くまでは、一時記憶した画像を表示エリアに転送することによって、前の画像のみ３次元描画を行う方法（たとえば特許文献１を参照）や、ディスプレイに出力される画像データが展開される表フレームバッファと、表フレームバッファからの読み出し時に描画処理の結果が書き出され、描画処理が完了したら画像データを表フレームバッファに転送する裏フレームバッファと、一コマの画像中の静止部分の画像データを格納し、繰り返し裏フレームバッファに転送する退避バッファとを用いて、レンダリング処理対象を動きのあるモデルのみに限定する方法（たとえば特許文献１を参照）がある。
【０００４】
【特許文献１】
特開２００１−１０９９１１号公報（段落０００７）
【０００５】
【特許文献２】
特開平１１−１９５１３６号公報（段落００２７）
【０００６】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載の方法では、無意味な再描画を回避できる画像が前後の画像のうちの後の画像に限定されており、前後関係のない複数の３次元オブジェクトのうちの一部だけが動くような状況については考慮されていない。また、特許文献２に記載の方法は、フレームサイズのバッファが画像データの分だけでも３つ必要であるなど、必要なリソース量がかさむというデメリットが考えられる。
【０００７】
本発明はこのような事情を鑑みてなされたものであり、アニメーションする３次元オブジェクトと動きのない３次元オブジェクトとを同時に表示する場合の計算コストの低減を図ることのできる３次元描画システム、３次元描画方法、およびコンピュータプログラムを提供することを目的としている。
【０００８】
また、本発明は、フレームサイズの複数のバッファを用いた場合の、バッファ間でのデータ転送量を低減して、計算コストの低減、描画速度の向上を図ることのできる３次元描画システム、３次元描画方法、およびコンピュータプログラムを提供することを目的としている。
【０００９】
【課題を解決するための手段】
このような課題を解決するために、本発明にかかる３次元描画システムは、３次元オブジェクトの描画を行う描画手段と、前記描画手段によって描画された前記３次元オブジェクトを含むフレーム単位の画像データが格納されるバッファと、前記バッファに格納された画像データを表示する表示部と、前記フレーム中の更新領域を設定する設定手段と、複数フレームにわたって、前記バッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記バッファの前記更新領域の内容を更新するバッファ更新手段とを具備することを特徴とする。
【００１０】
また、本発明は、上記の３次元描画システムにおいて、前記フレーム中の更新領域が時間の経過に伴って変化する３次元オブジェクトの表示に必要な領域であることを特徴とするものである。
【００１１】
この発明によれば、たとえば、アニメーションする３次元オブジェクトと静止している３次元オブジェクトとを同時に表示する場合に、アニメーションする３次元オブジェクトの表示に必要な領域を更新領域として設定することで、静止している３次元オブジェクトの無意味な再描画を行う必要がなくなり、計算コストを低減することができる。
【００１２】
さらに、本発明にかかる３次元描画システムは、３次元オブジェクトの描画を行う描画手段と、前記描画手段により描画された前記３次元オブジェクトを含むフレーム単位の画像データが格納される第１のバッファと、前記第１のバッファから転送される前記フレーム単位の画像データが格納される第２のバッファと、前記第２のバッファに格納された画像データを表示する表示部と、前記フレーム中の更新領域を設定する設定手段と、複数フレームにわたって、前記第１のバッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記第１のバッファの前記更新領域の内容を更新し、この第１のバッファの前記更新領域の内容をフレーム周期で前記第２のバッファに転送するバッファ更新手段とを具備することを特徴とする。
【００１３】
また、本発明は、上記の３次元描画システムにおいて、前記フレーム中の更新領域が時間の経過に伴って変化する３次元オブジェクトの表示に必要な領域であることを特徴とするものである。
【００１４】
この発明によれば、第１のバッファから第２のバッファへのデータ転送量が更新領域分に制限されることによって、トータルの計算コストを低減することができ、描画速度を向上させることができる。
【００１５】
本発明にかかる３次元描画方法は、３次元オブジェクトの描画を行うステップと、前記描画された３次元オブジェクトを含むフレーム単位の画像データをバッファに格納するステップと、前記バッファに格納された画像データを表示するステップと、前記フレーム中の更新領域を設定するステップと、複数フレームにわたって、前記バッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記バッファの前記更新領域の内容を更新するステップとを有することを特徴とする。
【００１６】
この発明によれば、たとえばアニメーションする３次元オブジェクトと静止している３次元オブジェクトとを同時に表示する場合に、アニメーションする３次元オブジェクトの表示に必要な領域を更新領域として設定することで、静止している３次元オブジェクトの無意味な再描画を行う必要がなくなり、計算コストを低減することができる。
【００１７】
また、本発明にかかる３次元描画方法は、３次元オブジェクトの描画を行うステップと、前記描画された前記３次元オブジェクトを含むフレーム単位の画像データを第１のバッファに格納するステップと、前記第１のバッファに格納された前記フレーム単位の画像データを第２のバッファに転送するステップと、前記第２のバッファに格納された画像データを表示するステップと、前記フレーム中の更新領域を設定するステップと、複数フレームにわたって、前記第１のバッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記第１のバッファの前記更新領域の内容を更新するステップと、この第１のバッファの前記更新領域の内容をフレーム周期で前記第２のバッファに転送するステップとを有することを特徴とする。
【００１８】
この発明によれば、第１のバッファから第２のバッファへのデータ転送量が更新領域分に制限されることによって、トータルの計算コストを低減することができ、描画速度を向上させることができる。
【００１９】
さらに、本発明にかかるコンピュータプログラムは、コンピュータに、３次元オブジェクトの描画を行うステップと、前記描画された３次元オブジェクトを含むフレーム単位の画像データをバッファに格納するステップと、前記バッファに格納された画像データを表示するステップと、前記フレーム中の更新領域を設定するステップと、複数フレームにわたって、前記バッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記バッファの前記更新領域の内容を更新するステップとを実行させることを特徴とする。
【００２０】
この発明によれば、たとえばアニメーションする３次元オブジェクトと静止している３次元オブジェクトとを同時に表示する場合に、アニメーションする３次元オブジェクトの表示に必要な領域を更新領域として設定することで、静止している３次元オブジェクトの無意味な再描画を行う必要がなくなり、計算コストを低減することができる。
【００２１】
また、本発明にかかるコンピュータプログラムは、コンピュータに、３次元オブジェクトの描画を行うステップと、前記描画された前記３次元オブジェクトを含むフレーム単位の画像データを第１のバッファに格納するステップと、前記第１のバッファに格納された前記フレーム単位の画像データを第２のバッファに転送するステップと、前記第２のバッファに格納された画像データを表示するステップと、前記フレーム中の更新領域を設定するステップと、複数フレームにわたって、前記第１のバッファの前記更新領域以外の領域の画像データを消去することなく前記更新領域内の前記３次元オブジェクトをフレーム毎に描画して前記第１のバッファの前記更新領域の内容を更新するステップと、この第１のバッファの前記更新領域の内容をフレーム周期で前記第２のバッファに転送するステップとを実行させることを特徴とする。
【００２２】
この発明によれば、第１のバッファから第２のバッファへのデータ転送量が更新領域分に制限されることによって、トータルの計算コストを低減することができ、描画速度を向上させることができる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を図面により説明する。
【００２４】
図１に、本発明の第１の実施形態である３次元描画システムを採用したデジタルビデオカメラレコーダの外観を示す斜視図である。
【００２５】
このデジタルビデオカメラレコーダ１は、利用者が片手で持って操作可能な形状とサイズの本体２を有する。本体２にはレンズ部３および表示部４などが設けられている。この表示部４の画面には、撮影されている被写体、装着されている記憶媒体から再生した画像が表示されるほか、デジタルビデオカメラレコーダ１に実行させる機能をユーザに選択させるための３次元オブジェクトであるアイコンメニューなどが表示される。
【００２６】
図２は、図１のデジタルビデオカメラレコーダ１における表示部４の詳細を示す平面図である。
【００２７】
同図に示すように、表示部４は矩形筐体５を備えており、この矩形筐体５の一つの面には、たとえばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）パネルなどのディスプレイ装置６の表示画面が配置されている。また、矩形筐体５の側面には、ディスプレイ装置６の画面に表示される３次元オブジェクトに対して選択などの各種の操作を行ったり、ポインティングカーソルを移動させて画面上の任意の座標領域を選択する操作を行うためのジョグダイヤルなどのダイヤル式入力装置７や、タッチパネルセンサなどのタッチ式入力装置（図示せず）が設けられている。
【００２８】
図３は、図１のデジタルビデオカメラレコーダ１の電気的な構成を示すものである。レンズ部３はＣＰＵ２０からの制御信号によって自動絞り制御、自動焦点制御が行われる。ＣＣＤ（ＣｈａｒｇｅＣｏｕｐｌｅｄＤｅｖｉｃｅ）１１の出力信号はＡ／Ｄ変換器１２にてデジタル映像信号に変換された後、映像信号処理部１３に送られる。映像信号処理部１３はデジタル映像信号から画素毎のＲＧＢ信号を生成し、画像データ切替部１５を通じてディスプレイ装置６に出力する。
【００２９】
ＣＰＵ２０のバス１０にはメインメモリ１６、ＲＯＭ２１（ＲｅａｄＯｎｌｙＭｅｍｏｒｙ）２１、映像圧縮符号・復号化部１７および画像データ切替部１５が接続されている。メインメモリ１６はたとえばＤＲＡＭ（ＤｙｎａｍｉｃＲａｎｄｏｍＡｃｃｅｓｓＭｅｍｏｒｙ）などからなる高速な読み書きが可能なメモリである。ＲＯＭ２１は各種のプログラムやデータなどを固定的に格納した不揮発性のメモリである。映像圧縮符号・復号化部１７は、たとえばＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）を使用して静止画を圧縮または伸張したり、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）を使用して動画を圧縮または伸張したりする回路モジュールである。画像データ切替部１５は、画像データの転送先の切り替えを行う。
【００３０】
さらに、バス１０には、メモリスティック、スマートメディア、磁気テープ、ハードディスクドライブなどの記憶媒体に対する読み書きを行う記憶媒体読み書き部１８と、上記のダイヤル式入力装置７などが、それぞれのインタフェース部（Ｉ／Ｆ）２２、２３を介して接続されている。
【００３１】
ＣＰＵ２０は、バス１０を通じて各部間の情報のやりとりを制御するとともに、ＲＯＭ２１からメインメモリ１６に必要なプログラムやデータをロードし、そのプログラムに従ってデジタルビデオカメラレコーダ１の制御や各種のデータ処理を行う。
【００３２】
次に、このデジタルビデオカメラレコーダ１のディスプレイ装置６に３次元アイコンなどの３次元オブジェクトを表示させる場合の３次元描画について説明する。
【００３３】
図４は、このときメインメモリ１６に確保されるプログラムおよびデータの格納領域を示す図である。同図に示すように、メインメモリ１６には、少なくとも基本プログラム領域２４、３次元描画プログラム領域２５、アプリケーションプログラム領域２６、フレームバッファ領域２７などが設定される。基本プログラム領域２４には、デジタルビデオカメラレコーダ１を動作させるための基本的なプログラムが格納される。３次元描画プログラム領域２５は、３次元オブジェクトの描画を行う３次元描画プログラムが格納される領域である。アプリケーションプログラム領域２６は、３次元オブジェクトを用いて特定の情報処理を行うアプリケーションプログラムが格納される領域である。フレームバッファ領域２７は、ディスプレイ装置６の画面に表示させる表示データが格納される領域である。
【００３４】
図５は、３次元描画プログラムによる代表的な３次元モデルデータの描画処理の手順を示す図である。
【００３５】
３次元描画プログラムは、アプリケーションプログラムによって指定された、アイコンなどの３次元オブジェクトのモデルデータ３１をＲＯＭ２１から読み込み、３次元オブジェクトのすべての部位の三次元座標を２次元座標に変換する（座標変換３２）。３次元オブジェクトのモデルデータ３１は、たとえばポリゴン（多角形平面）や点・線・面などの図形要素の３次元座標上の位置、線や面の属性、色のデータなどで構成されるものである。次に、３次元描画プログラムは、２次元座標に変換された３次元オブジェクトデータを図形要素の単位で視点から遠い順にソートして見えるべき部位のみを最終的に残す陰面処理を行う（描画要素生成３３）。続いて、３次元描画プログラムは、陰面処理を施した３次元オブジェクトデータに基づいてフレームバッファ領域（カラーバッファ）にピクセル毎の色番号を書き込む（ラスタライズ３４）。そして、このフレームバッファ領域に格納されたピクセル毎の色番号に基づいて、ＲＧＢ値と色番号との関係が格納されているカラーテーブルから該当するＲＧＢ値を呼び出し、表示デバイスで扱うことのできるビデオ信号に変換してディスプレイ装置６に表示する（３次元オブジェクト表示３５）。
【００３６】
本実施形態では、上記のような３次元描画処理において、ラスタライズ対象とすべき領域を更新領域として設定できるようになっている。ラスタライズ対象領域は、たとえば、３次元オブジェクトを用いて特定の情報処理を行うアプリケーションプログラムによって指定される。その際、アプリケーションプログラムは、アニメーションするアイコンなどの３次元オブジェクトの表示に必要な領域を一意にラスタライズ対象領域として指定する。
【００３７】
ここで、アニメーションする３次元オブジェクトとアニメーションしない３次元オブジェクトとを同時にディスプレイ装置６に表示させる場合を考える。
【００３８】
図６は、本実施形態の３次元描画プログラムの処理の流れを示すフローチャートである。
【００３９】
アプリケーションプログラムは、３次元描画プログラムに対して、描画対象となる複数の３次元オブジェクトのモデルデータとそれらの表示位置を指定する。この際、アプリケーションプログラムは、アニメーションする３次元オブジェクトの表示に必要な領域を３次元描画プログラムに通知する。３次元描画プログラムは、このアプリケーションプログラムから通知された３次元オブジェクトの表示に必要な領域をラスタライズ対象領域（更新領域）として設定する（ステップ６０１）。
【００４０】
３次元描画プログラムは、最初のフレームでは、アプリケーションプログラムから通知されたすべての３次元オブジェクトの描画処理すなわち座標変換、描画要素生成、ラスタライズを順に行う（ステップ６０２〜６０５）。
【００４１】
３次元描画プログラムは、次フレームすなわち最初のフレーム以外のフレームのラスタライズ処理を開始する前に、フレームバッファのラスタライズ対象領域のみをクリアする（ステップ６０７）。すなわち、アニメーションする３次元オブジェクトの表示に必要な領域のみをクリアし、その他の領域であるアニメーションしない全ての３次元オブジェクトを含む領域の画像データはフレームバッファにそのまま残しておく。
【００４２】
次に、３次元描画プログラムは、アプリケーションプログラムにより指定された描画対象である３次元オブジェクトのモデルデータについて、３次元座標から２次元座標への座標変換（ステップ６０８）、描画要素生成（ステップ６０９）を順に行う。続いて、３次元描画プログラムは、生成した個々の描画要素がラスタライズ対象領域内のものであるかどうかを判断し（ステップ６１０）、ラスタライズ対象領域内の描画要素のみをメインメモリ１６に記録する（ステップ６１１）。そして３次元描画プログラムは、今回の描画対象である３次元オブジェクトについての描画要素生成が完了したところで（ステップ６０７のＮＯ）、メインメモリ１６に記録されているすべての描画要素についてラスタライズ処理を行う（ステップ６１２）。
【００４３】
このようにしてアニメーションする３次元オブジェクトの表示に必要な領域のデータだけを更新し、複数フレーム間にわたって変化のない３次元オブジェクトのフレーム毎の再描画を行わないようにすることで、トータルの計算コストを低減でき、描画速度を向上させることができる。
【００４４】
図７は、本実施形態の３次元描画プログラムの別の処理の流れを示すフローチャートである。
【００４５】
図６に示した３次元描画プログラムによる処理の流れでは、次フレーム以降の描画処理において、ラスタライズ対象領域のクリアを座標変換前に行うようにしたが、図７に示すように、描画対象である３次元オブジェクトのすべての描画要素生成が完了した後のステップ７１１でラスタライズ対象領域をクリアするようにしてもよい。
【００４６】
次に、本発明の第２の実施形態を説明する。
【００４７】
図８は、本実施形態の３次元描画システムを実現するハードウェア構成の例を示す図である。もちろん、この構成は、図１に示したデジタルビデオカメラレコーダ１にも採用し得るものである。
【００４８】
同図に示すように、この３次元描画システムは、ＣＰＵ２１と、メインメモリ１６と、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）４１と、これらを接続するバス１０とで構成される。ＶＲＡＭ４１は、ディスプレイ装置６に出力される画像データが展開される第２のバッファとしてのフレームバッファ領域４２を含むメモリである。メインメモリ１６には、ＶＲＡＭ４１からの表示のための読み出し時に描画のための書き込みが行われる第１のバッファである裏バッファ４３が設けられている。
【００４９】
このようにＶＲＡＭ４１と裏バッファ４３とを用いて、アニメーションする３次元オブジェクトの表示に必要な領域の画像データだけを更新する方法を説明する。
【００５０】
図９は、このＶＲＡＭ４１と裏バッファ４３とを用いて、アニメーションする３次元オブジェクトの表示に必要な領域のデータだけを更新する場合の３次元描画プログラムの処理の流れを示すフローチャートである。
【００５１】
アプリケーションプログラムは、３次元描画プログラムに対して、描画対象となる複数の３次元オブジェクトのモデルデータとそれらの表示座標を指定する。この際、アプリケーションプログラムは、アニメーションする３次元オブジェクトの表示に必要な領域を３次元描画プログラムに通知する。３次元描画プログラムは、このアプリケーションプログラムから通知された３次元オブジェクトの表示に必要な領域をラスタライズ対象領域として設定する（ステップ９０１）。
【００５２】
３次元描画プログラムは、最初のフレームでは、アプリケーションプログラムから通知されたすべての３次元オブジェクトの描画処理すなわち座標変換、描画要素生成、ラスタライズを順に行う（ステップ９０２〜９０５）。
【００５３】
３次元描画プログラムは、次フレームすなわち最初のフレーム以外のフレームの描画処理でも同様に、描画対象である全ての３次元オブジェクトのモデルデータについて、３次元座標から２次元座標への座標変換（ステップ９０７）、描画要素生成（ステップ９０８）を順に行うが、このとき、ステップ９０９の判定を通して、予め設定されているラスタライズ対象領域内の描画要素のみをメインメモリ１６内に記録し（ステップ９１０）、その他の領域の描画要素はキャンセルする。
【００５４】
ステップ９０６の判定で、全ての描画対象の３次元オブジェクトの描画要素の生成が完了したところで、３次元描画プログラムは、裏バッファ４３のラスタライズ対象領域の内容をクリアし（ステップ９１１）、そのクリアした裏バッファ４３のラスタライズ対象領域に、メインメモリ１６に記録されている描画要素のラスタライズ処理を行う（ステップ９１２）。そして、裏バッファ４３のラスタライズ対象領域の画像データをＶＲＡＭ４１のフレームバッファ領域４２に転送してコピーする（ステップ９１３）。
【００５５】
このようにして、裏バッファ４３においてアニメーションする３次元オブジェクトの表示に必要な領域のデータだけを更新し、複数フレーム間にわたって変化のない３次元オブジェクトのフレーム毎の再描画を行わないようにするとともに、裏バッファ４３からＶＲＡＭ４１へのデータ転送量がラスタライズ対象領域分に制限されることによって、トータルの計算コストを低減することができ、描画速度を向上させることができる。
【００５６】
本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００５７】
【発明の効果】
以上説明したように本発明によれば、アニメーションする３次元オブジェクトと静止している３次元オブジェクトとを同時に表示する場合に、アニメーションする３次元オブジェクトの表示に必要な領域を更新領域として設定することで、静止している３次元オブジェクトの無意味な再描画を行う必要がなくなり、計算コストを低減することができる。また、第１のバッファから第２のバッファへのデータ転送量が更新領域分に制限されることによって、トータルの計算コストを低減することができ、描画速度を向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態である３次元描画システムを採用したデジタルビデオカメラレコーダの外観を示す斜視図である。
【図２】図１のデジタルビデオカメラレコーダにおける表示部の詳細を示す平面図である。
【図３】図１のデジタルビデオカメラレコーダの電気的な構成を示すブロック図である。
【図４】ディスプレイ装置に３次元オブジェクトを表示させる場合にメインメモリに確保されるプログラムおよびデータの格納領域を示す図である。
【図５】代表的な３次元モデルデータの描画処理の手順を示す図である。
【図６】第１の実施形態における３次元描画プログラムの処理の流れを示すフローチャートである。
【図７】第１の実施形態における３次元描画プログラムの処理の流れの変形例を示すフローチャートである。
【図８】本発明にかかる第２の実施形態の３次元描画システムを実現するハードウェア構成の例を示す図である。
【図９】第１の実施形態における３次元描画プログラムの処理の流れを示すフローチャートである。
【符号の説明】
１      デジタルビデオカメラレコーダ
６      ディスプレイ装置
１６      メインメモリ
２０      ＣＰＵ
２４      基本プログラム領域
２５      ３次元描画プログラム領域
２６      アプリケーションプログラム領域
２７      フレームバッファ領域
４０      ３次元オブジェクト
４１      ＶＲＡＭ
４２      フレームバッファ領域
４３      裏バッファ
【図１】
2004265331.tif 000003
【図２】
2004265331.tif 000004
【図３】
2004265331.tif 000005
【図４】
2004265331.tif 000006
【図５】
2004265331.tif 000007
【図６】
2004265331.tif 000008
【図７】
2004265331.tif 000009
【図８】
2004265331.tif 000010
【図９】
2004265331.tif 000011