(57)【要約】【課題】複数のエンジンの実行結果に前後関係がないときに複数のエンジンを同時に処理させ、ハードウェアアクセラレーション効果を大幅に向上させる。【解決手段】ＣＰＵ２は地図データを基にコマンドリストＣＭ１，ＣＭ３を作成し、メモリ６に格納する。第１、第２グラフィックスエンジン３，４は、該リストＣＭ１，ＣＭ３から演算処理を行ってフレームバッファ６ａに描画結果を格納する。同時に、ＣＰＵ２は、新たな地図データを基にコマンドリストＣＭ２，ＣＭ４を作成し、メモリ６に格納する。画像出力部５は、該描画結果から、モニタ９に地図を表示する。このとき、第１、第２グラフィックスエンジン３，４は、リストＣＭ２，ＣＭ４を読み出し、画像演算処理を行ってフレームバッファ６ｂに描画結果を格納する。画像出力部５は、該描画結果からモニタ９に地図を表示する。これらを繰り返してカーナビゲーション地図をモニタ９に表示する。【選択図】　　　図１
2004126928.tif 000002
【特許請求の範囲】
【請求項１】
外部入力された処理用データから、第１、および第２コマンドリストを生成するコマンドリスト生成手段と、
前記第１コマンドリストに基づいて２次元グラフィックス処理を行う第１グラフィックスコントローラと、
前記第２コマンドリストに基づいて３次元グラフィックス処理を行う第２グラフィックスコントローラと、
前記コマンドリスト生成手段が生成した第１、ならびに第２コマンドリストと前記第１グラフィックスコントローラ、および前記第２グラフィックスコントローラが描画演算処理した演算結果とを格納する記憶手段とを備え、
前記コマンドリスト生成手段は、２次元グラフィックスと３次元グラフィックスとが重ならない場合に前記第１、および第２グラフィックスコントローラを並行処理させ、２次元グラフィックスと３次元グラフィックスとが重なる場合には、前記第１、および第２グラフィックスコントローラが並行処理しないように同期をとる同期コマンドを生成することを特徴とする描画処理装置。
【請求項２】
請求項１記載の描画処理装置において、前記記憶手段は、外部バスを介して前記コマンドリスト生成手段、前記第１グラフィックスコントローラ、および前記第２グラフィックスコントローラに接続されていることを特徴とする描画処理装置。
【請求項３】
請求項１または２記載の描画処理装置において、前記コマンドリスト生成手段が生成する同期コマンドは、前記第１グラフィックスコントローラ、または前記第２グラフィックスコントローラのいずれかがイベント待ち状態に入る第１コマンド、前記第１グラフィックスコントローラ、あるいは前記第２グラフィックスコントローラのいずれかがイベント起動する第２コマンド、前記第１グラフィックスコントローラをイベント起動して前記第２グラフィックスコントローラがイベント待ち状態となるか、あるいは前記第２グラフィックスコントローラをイベント起動して前記第１グラフィックスコントローラがイベント待ち状態となる第３コマンドの少なくともいずれか１つであることを特徴とする描画処理装置。
【請求項４】
請求項１〜３のいずれか１項に記載の描画処理装置において、
前記記憶手段は、
前記コマンドリスト生成手段が処理用データに基づいて生成した前記第１コマンドリストを交互に格納する第１、および第２コマンドリスト格納部と、
前記コマンドリスト生成手段が処理用データに基づいて生成した前記第２コマンドリストを交互に格納する第３、および第４コマンドリスト格納部と、
前記第１、ならびに第３コマンドリスト格納部に格納された前記第１、および第２コマンドリストに基づいて、前記第１、および第２グラフィックスコントローラが処理した演算結果を格納する第１バッファと、
前記第２、ならびに第４コマンドリスト格納部に格納された前記第１、および第２コマンドリストに基づいて、前記第１、および第２グラフィックスコントローラが処理した演算結果を格納する第２バッファとを備えたことを特徴とする描画処理装置。
【請求項５】
外部入力された処理用データから、第３、および第４コマンドリストを生成するコマンドリスト生成手段と、
前記第３コマンドリストに基づいて２次元または３次元のグラフィックス処理を行うグラフィックスコントローラと、
前記第４コマンドリストに基づいて音声処理を行うサウンドコントローラと、前記コマンドリスト生成手段が生成した第３、ならびに第４コマンドリストと、前記グラフィックスコントローラが描画演算処理した演算結果を格納する記憶手段とを備え、
前記コマンドリスト生成手段は、グラフィックスと再生音とが重ならない場合に前記グラフィックスコントローラ、ならびにサウンドコントローラを並行処理させ、グラフィックスと再生音とが重なる場合には、前記グラフィックスコントローラと前記サウンドコントローラとが並行処理しないように同期をとる同期コマンドを生成することを特徴とする描画処理装置。
【請求項６】
請求項５記載の描画処理装置において、前記記憶手段は、外部バスを介して前記コマンドリスト生成手段、前記グラフィックスコントローラ、および前記サウンドコントローラに接続されていることを特徴とする描画処理装置。
【請求項７】
請求項５または６記載の描画処理装置において、前記コマンドリスト生成手段が生成する同期コマンドは、前記グラフィックスコントローラ、または前記サウンドコントローラのいずれかがイベント待ち状態に入る第１コマンド、前記グラフィックスコントローラ、あるいは前記サウンドコントローラのいずれかがイベント起動する第２コマンド、前記グラフィックスコントローラをイベント起動して前記サウンドコントローラがイベント待ち状態となるか、あるいは前記グラフィックスコントローラをイベント起動して前記サウンドコントローラがイベント待ち状態となる第３コマンドの少なくともいずれか１つであることを特徴とする描画処理装置。
【請求項８】
外部入力された処理用データから、第１、および第２コマンドリストを生成するコマンドリスト生成手段と、
前記第１コマンドリストに基づいて２次元グラフィックス処理を行う２次元描画演算処理制御回路と、
前記第２コマンドリストに基づいて３次元グラフィックス処理を行う３次元描画演算処理制御回路と、
前記コマンドリスト生成手段が生成した第１、ならびに第２コマンドリストと前記２次元描画演算処理制御回路、および前記３次元描画演算処理制御回路が描画した描画演算処理した描画結果とを格納する記憶手段とを備え、
前記コマンドリスト生成手段は、２次元グラフィックスと３次元グラフィックスとが重ならない場合に前記２次元、および３次元描画演算処理制御回路を並行処理させるコマンドリストと、２次元グラフィックスと３次元グラフィックスとが重なる場合、前記２次元、および３次元描画演算処理制御回路が並行処理しないように同期をとる同期コマンドを含めたコマンドリストを生成することを特徴とする半導体集積回路装置。
【請求項９】
請求項８記載の半導体集積回路装置において、前記２次元、および前記３次元描画演算処理制御回路は、互いに並列動作制御を行うために、前記同期コマンドに基づいて制御信号を相互に出力可能であることを特徴とする半導体集積回路装置。
【請求項１０】
請求項８記載の半導体集積回路装置において、前記コマンドリスト生成手段が生成する同期コマンドは、前記２次元描画演算処理制御回路、または前記３次元描画演算処理制御回路のいずれかがイベント待ち状態に入る第１コマンド、前記２次元描画演算処理制御回路、あるいは前記３次元描画演算処理制御回路のいずれかがイベント起動する第２コマンド、前記２次元描画演算処理制御回路をイベント起動して前記３次元描画演算処理制御回路がイベント待ち状態となるか、あるいは前記３次元描画演算処理制御回路をイベント起動して前記２次元描画演算処理制御回路がイベント待ち状態となる第３コマンドの少なくともいずれか１つであることを特徴とする半導体集積回路装置。
【請求項１１】
請求項８または１０記載の半導体集積回路装置において、
前記記憶手段は、
前記コマンドリスト生成手段が前記処理用データに基づいて生成した前記第１コマンドリストを格納するための第１、および第２コマンドリスト格納部と、
前記コマンドリスト生成手段が前記処理用データに基づいて生成した前記第２コマンドリストを格納するための第３、および第４コマンドリスト格納部と、
前記第１、ならびに第３コマンドリスト格納部に格納された前記第１、および第２コマンドリストに基づいて、前記２次元、および３次元描画演算処理制御回路が処理した描画結果を格納する第１バッファと、
前記第２、ならびに第４コマンドリスト格納部に格納された前記第１、および第２コマンドリストに基づいて、前記２次元、および３次元描画演算処理制御回路が処理した描画結果を格納する第２バッファとを備えたことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、描画処理技術に関し、特に、カーナビゲーション地図などの２次元、および３次元のオブジェクトを描画する際のアクセラレーションの向上に適用して有効な技術に関するものである。
【０００２】
【従来の技術】
２つのグラフィックスエンジンを搭載した描画処理装置として、たとえば、特開平１１−３５３４９５号公報に記載されるように、２Ｄ（２Ｄｉｍｅｎｓｉｏｎ：２次元）処理のコントローラと３Ｄ（３Ｄｉｍｅｎｓｉｏｎ：３次元）処理のコントローラとを搭載し、ドライバで両方のコントローラを切り換え制御することにより、２Ｄおよび３Ｄのアプリケーションを同一グラフィックアクセラレータボード上で使用可能とするものが知られている。
【０００３】
【発明が解決しようとする課題】
ところが、上記のような描画処理装置による２次元、および３次元の描画処理技術では次のような問題点があることが本発明者により見い出された。
【０００４】
描画処理においては、描画する複数のオブジェクトが重なるとき、その前後関係を正しく保つ必要がある。始点からの距離を基準として、始点からの距離が大きいオブジェクトほど画面奥に描画し、小さいオブジェクトほど画面手前に描画する必要がある。
【０００５】
グラフィックスエンジンが単一の場合、始点からの距離が大きいオブジェクトから順番に、画面奥から描画するように予め描画順序をソーティング（並べ替え）しておくことにより、複数のオブジェクトの前後関係を正しく保つことができる。
【０００６】
２つのグラフィックスエンジンを有する場合には、２次元処理コントローラと３次元処理コントローラとが並列的に動作しておらず、一方のコントローラの描画処理が終了するまで、他方のコントローラは待ち状態となる。
【０００７】
つまり、２次元処理コントローラと３次元処理コントローラとはシーケンシャルに動作する。始点からの距離が大きいオブジェクトから順番に画面奥から描画するように、予め描画順番をソーティングしておけば、２次元処理コントローラと３次元処理コントローラとをシーケンシャルに動作させることで、重なり合う複数オブジェクトの前後関係を正しく保つことができる。
【０００８】
しかしながら、２次元処理コントローラが描画するオブジェクトと３次元処理コントローラが描画するオブジェクトに重なりがない場合であっても、２次元処理コントローラと３次元処理コントローラとがシーケンシャルに動作するため、どちらか一方のコントローラが常に待ち状態となってしまい、待ち状態のコントローラのハードウェアアクセラレーション効果を活用することができないという問題がある。
【０００９】
本発明の目的は、複数のエンジンの実行結果に前後関係がないときに複数のエンジンを同時に処理させることにより、アプリケーションのハードウェアアクセラレーション効果を大幅に向上させることができる描画処理装置を提供することにある。
【００１０】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【００１１】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
（１）外部入力された処理用データから、第１、および第２コマンドリストを生成するコマンドリスト生成手段と、第１コマンドリストに基づいて２次元グラフィックス処理を行う第１グラフィックスコントローラと、第２コマンドリストに基づいて３次元グラフィックス処理を行う第２グラフィックスコントローラと、コマンドリスト生成手段が生成した第１、ならびに第２コマンドリストと第１グラフィックスコントローラ、および第２グラフィックスコントローラが描画演算処理した演算結果とを格納する記憶手段とを備え、コマンドリスト生成手段は、２次元と３次元とのグラフィックスオブジェクト（オブジェクト）が重ならない場合に第１、および第２グラフィックスコントローラを並行処理させ、２次元と３次元とのグラフィックスオブジェクトとが重なる場合には、第１、および第２グラフィックスコントローラが並行処理しないように同期をとる同期コマンドを生成するものである。
【００１２】
また、本願のその他の発明の概要を簡単に示す。
（２）前記第１項において、記憶手段は、外部バスを介してコマンドリスト生成手段、第１、および第２グラフィックスコントローラに接続されるものである。
（３）前記第１項または前記第２項において、同期コマンドは、第１、または第２グラフィックスコントローラのいずれかがイベント待ち状態に入る第１コマンド、第１、または第２グラフィックスコントローラのいずれかがイベント起動する第２コマンド、第１グラフィックスコントローラをイベント起動して第２グラフィックスコントローラがイベント待ち状態となるか、あるいは第２グラフィックスコントローラをイベント起動して第１グラフィックスコントローラがイベント待ち状態となる第３コマンドの少なくともいずれか１つよりなるものである。
（４）前記第１項〜前記第３項において、記憶手段は、コマンドリスト生成手段が処理用データに基づいて生成した第１コマンドリストを交互に格納する第１、および第２コマンドリスト格納部と、コマンドリスト生成手段が処理用データに基づいて生成した第２コマンドリストを交互に格納する第３、および第４コマンドリスト格納部と、第１、ならびに第３コマンドリスト格納部に格納された第１、および第２コマンドリストに基づいて、第１、および第２グラフィックスコントローラが処理した演算結果を格納する第１バッファと、第２、ならびに第４コマンドリスト格納部に格納された第１、および第２コマンドリストに基づいて、第１、および第２グラフィックスコントローラが処理した演算結果を格納する第２バッファとを備えたものである。
（５）外部入力された処理用データから、第３、および第４コマンドリストを生成するコマンドリスト生成手段と、第３コマンドリストに基づいて２次元または３次元のグラフィックス処理を行うグラフィックスコントローラと、第４コマンドリストに基づいて音声処理を行うサウンドコントローラと、コマンドリスト生成手段が生成した第３、ならびに第４コマンドリストと、グラフィックスコントローラが描画演算処理した演算結果を格納する記憶手段とを備え、コマンドリスト生成手段は、グラフィックスと再生音とが重ならない場合にグラフィックスコントローラ、ならびにサウンドコントローラを並行処理させ、グラフィックスオブジェクトと再生音とが重なる場合には、グラフィックスコントローラとサウンドコントローラとが並行処理しないように同期をとる同期コマンドを生成するものである。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１によるカーナビゲーションシステムのブロック図、図２は、図１のカーナビゲーションシステムが描画するオブジェクトが互いに重ならない場合の描画結果の一例を示す図、図３は、図２におけるコマンドリストの説明図、図４は、図３のコマンドリストを実行した際の第１、および第２グラフィックスエンジンの状態遷移図、図５は、図１のカーナビゲーションシステムが描画するオブジェクトが互いに重なる場合の描画結果の一例を示す図、図６は、図５におけるコマンドリストの説明図、図７は、図６のコマンドリストを実行した際の第１、および第２グラフィックスエンジンの状態遷移図である。
【００１５】
本実施の形態１において、カーナビゲーションシステム（描画処理装置）１は、図１に示すように、ＣＰＵ（コマンドリスト生成手段）２、第１グラフィックスエンジン（第１グラフィックスコントローラ）３、第２グラフィックスエンジン（第２グラフィックスコントローラ）４、画像出力部５、メモリ（記憶手段）６、ストレージ７、ストレージインタフェース８、ならびにモニタ９から構成されている。
【００１６】
また、ＣＰＵ２、第１グラフィックスエンジン３、第２グラフィックスエンジン４、画像出力部５、メモリ６、およびストレージインタフェース８は、バス１０によって相互に接続されている。
【００１７】
ＣＰＵ２は、カーナビゲーションシステム１におけるすべての制御を司る。第１グラフィックスエンジン３は、第２グラフィックスエンジン４と信号線１１により接続されている。
【００１８】
さらに、ＣＰＵ２がコマンドリストを生成する時、描画する複数のグラフィックオブジェクトが互いに重なる場合、その前後関係を正しく保つために予め描画順序をソーティングしてコマンドリストを生成する。また、オブジェクトが互いに重ならない場合には、それらオブジェクトの描画順序は任意に設定してコマンドリストを生成することが可能である。
【００１９】
第１グラフィックスエンジン３は、２次元オブジェクトを描画処理するグラフィックスエンジンである。第２グラフィックスエンジン４は、３次元オブジェクトを描画処理するグラフィックスエンジンである。画像出力部５は、メモリ６から描画結果を読み出し、モニタ９に出力する。
【００２０】
メモリ６は、グラフィックスエンジン用のビデオメモリである。このメモリ６は、メインメモリ内部のある領域をグラフィックスエンジン用のビデオメモリとして用意してもよいし（ユニファイドメモリアーキテクチャ）、メインメモリ外部にグラフィックスエンジン専用のビデオメモリとして用意してもよい。
【００２１】
さらに、メモリ６がメインメモリ内部のある領域をビデオメモリとして使用する際には、たとえば、ＣＰＵ２、第１グラフィックスエンジン３、第２グラフィックスエンジン４、画像出力部５、メモリ６、ならびにストレージインタフェース８などを１チップ化して半導体集積回路装置を構成する。
【００２２】
また、メモリ６がグラフィックスエンジン専用のビデオメモリの場合には、該メモリ６と、ＣＰＵ２、第１グラフィックスエンジン３、第２グラフィックスエンジン４、画像出力部５、ならびにストレージインタフェース８とをそれぞれ個別の半導体集積回路装置として構成し、これら複数の半導体集積回路装置を相互に外部バスによって接続する構成としてもよい。
【００２３】
このメモリ６は、ストレージ７によって読み出された地図データ（処理用データ）に基づいてＣＰＵ２が作成した第１グラフィックスエンジン用コマンドリスト（第１コマンドリスト）ＣＭ１，ＣＭ２、第２グラフィックスエンジン用コマンドリスト（第２コマンドリスト）ＣＭ３，ＣＭ４をそれぞれ格納する格納領域（第１〜第４コマンドリスト格納領域）が設けられている。
【００２４】
また、メモリ６には、第１グラフィックスエンジン３、および第２グラフィックスエンジン４が第１グラフィックスエンジン用コマンドリストＣＭ１，ＣＭ２、第２グラフィックスエンジン用コマンドリストＣＭ３，ＣＭ４をそれぞれ用いて描画演算処理した描画結果を一時的に格納するフレームバッファ６ａ，６ｂが設けられている。
【００２５】
ストレージ７は、ＤＶＤ−ＲＯＭドライブやＣＤ−ＲＯＭドライブ、あるいはハードディスクドライブなどであり、これらドライブに接続されたＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、およびハードディスクなどの記憶媒体から地図データ（２次元地図データまたは３次元地図データ）を読み出す。ここで、たとえば、地図データとは描画するグラフィックオブジェクトの形状を示す情報、およびそのオブジェクトの頂点座標情報などの情報を有している。
【００２６】
ストレージインタフェース８は、ストレージ７に接続されており、該ストレージ７が読み出した地図データを転送する際のインタフェースである。モニタ９は画像出力部５に接続されており、該画像出力部５から出力される描画結果（カーナビゲーション地図）を表示する。
【００２７】
次に、本実施の形態におけるカーナビゲーションシステム１の時系列動作について説明する。
【００２８】
まず、ＣＰＵ２は、ストレージ７から地図データを読み出し、その地図データを基に第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とを作成し、メモリ６に格納する。
【００２９】
ここで、第１グラフィックスエンジン用コマンドリストＣＭ１は、第１グラフィックスエンジン３が実行する描画コマンドリストであり、第２グラフィックスエンジン用コマンドリストＣＭ３は、第２グラフィックスエンジン４が実行する描画コマンドリストである。
【００３０】
そして、第１グラフィックスエンジン３、および第２グラフィックスエンジン４は、メモリ６から、第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とを読み出し、描画演算処理を行って、フレームバッファ（第１バッファ）６ａに描画演算結果を格納する。
【００３１】
同時に、ＣＰＵ２は、ストレージ７から地図データを読み出し、該地図データを基に、第１グラフィックスエンジン用コマンドリストＣＭ２と第２グラフィックスエンジン用コマンドリストＣＭ４とをそれぞれ作成し、メモリ６に格納する。
【００３２】
ここで、第１グラフィックスエンジン用コマンドリストＣＭ２は、第１グラフィックスエンジン３が実行する描画コマンドリストであり、第２グラフィックスエンジン用コマンドリストＣＭ４は、第２グラフィックスエンジン４が実行する描画コマンドリストである。
【００３３】
その後、画像出力部５は、フレームバッファ６ａから描画演算結果を読み出し、モニタ９に、描画結果であるカーナビゲーション地図を表示する。
【００３４】
このとき、第１グラフィックスエンジン３、および第２グラフィックスエンジン４は、メモリ６から、第１グラフィックスエンジン用コマンドリストＣＭ２と第２グラフィックスエンジン用コマンドリストＣＭ４とをそれぞれ読み出し、描画演算処理を行って、フレームバッファ（第２バッファ）６ｂに描画演算処理結果を格納する。
【００３５】
同時に、ＣＰＵ２は、ストレージ７から地図データを読み出し、その地図データを基に第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とをそれぞれ作成し、メモリ６に格納する。
【００３６】
そして、画像出力部５は、フレームバッファ６ｂから描画結果を読み出し、モニタ９にカーナビゲーション地図を表示する。
【００３７】
同時に、第１グラフィックスエンジン３と第２グラフィックスエンジン４は、メモリ６から、第１グラフィックス用エンジンコマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とをそれぞれ読み出し、描画演算処理を行って、フレームバッファ６ａに描画演算処理結果を格納する。
【００３８】
同時に、ＣＰＵ２はストレージ７から地図データを読み出し、その地図データを基に、第１グラフィックスエンジン用コマンドリストＣＭ２と第２グラフィックスエンジン用コマンドリストＣＭ４とをそれぞれ作成し、メモリ６に格納する。
【００３９】
以後は、上記した動作を繰り返してカーナビゲーション地図をモニタ９に表示する。
【００４０】
このように、カーナビゲーションシステム１においては、ＣＰＵ２による描画コマンドリスト作成処理と、第１、および第２グラフィックスエンジン３，４による描画演算処理と、画像出力部５による表示処理とをそれぞれ並列動作させるため、描画コマンドリスト用バッファとフレームバッファとを夫々を複数有するダブルバッファ方式で使用する。
【００４１】
ＣＰＵ２がグラフィックスエンジンコマンドリストを作成し、メモリ６の描画コマンドリスト用バッファに格納するときは、該バッファに格納されている前回のグラフィックスエンジンコマンドリストが既に実行済みか否かは、ＣＰＵ２がグラフィックスエンジン内に含まれる描画終了フラグをチェックする、または描画終了フラグがセットされていることにより出力される割り込み信号を受信することにより知ることができる。この描画終了フラグは描画終了コマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’が実行されることによってセットされるため、グラフィックスエンジンコマンドリストの終端には、描画を終了するコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’が配される。
【００４２】
次に、第１グラフィックスエンジン３と第２グラフィックスエンジン４とが、メモリ６から第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とを読み出して、フレームバッファ６ａに描画結果を格納する手順について詳細に説明する。
【００４３】
図２は、２つの第１、および第２グラフィックスエンジン３，４が描画するオブジェクトが互いに重ならない場合の一例を示す描画結果である。
【００４４】
２次元オブジェクトは、２次元三角形オブジェクト３５０、２次元三角形オブジェクト３５１、ならびに２次元四角形オブジェクト３５２である。３次元オブジェクトは、３次元８角柱オブジェクト３７０、３次元３角柱オブジェクト３７１、および３次元直方体オブジェクト３７２である。
【００４５】
いま、第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とは、図２に示す描画結果例を実現するよう、前の期間に、ＣＰＵ２がストレージ７から地図データを読み出し、その地図データを基に作成し、メモリ６に格納したものとする。
【００４６】
ここで、ＣＰＵ２は、前記のように描画するオブジェクトが互いに重ならない場合には、グラフィックスエンジンが描画演算処理に用いる座標情報、および色情報などを含む描画用コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ’、および描画を終了するコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を基に各グラフィックスエンジンに対応したコマンドリストを作成している。
【００４７】
また、図３に、第１グラフィックスエンジン用コマンドリストＣＭ１、および第２グラフィックスエンジン用コマンドリストＣＭ３の詳細を示す。
【００４８】
第１グラフィックスエンジン用コマンドリストＣＭ１は、実行順に、２次元三角形オブジェクト３５０を描画するコマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｐ’と、２次元三角形オブジェクト３５１を描画するコマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｑ’と、２次元四角形オブジェクト３５２を描画するコマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｒ’と、描画を終了するコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’とから構成されている。
【００４９】
さらに、第２グラフィックスエンジン用コマンドリストＣＭ３は、実行順に、３次元８角柱オブジェクト３７０を描画するコマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｓ’と、３次元３角柱オブジェクト３７１を描画するコマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｔ’と、３次元直方体オブジェクト３７２を描画するコマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｕ’と、描画を終了するコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’とから構成されている。
【００５０】
また、図４に、第１グラフィックスエンジン３が、第１グラフィックスエンジン用コマンドリストＣＭ１を実行したときの、該第１グラフィックスエンジン３の状態遷移図、ならびに第２グラフィックスエンジン４が、第２グラフィックスエンジン用コマンドリストＣＭ３を実行したときの、該第２グラフィックスエンジン４の状態遷移図とをそれぞれ示す。
【００５１】
この図４を用いて第１、および第２グラフィックスエンジン３，４の時系列動作をそれぞれ詳細に説明する。
【００５２】
はじめに、第１グラフィックスエンジン３は、バス１０を介して描画コマンドを格納するメモリ６から、第１グラフィックスエンジン用コマンドリストＣＭ１を読み込む。
【００５３】
これと並列して、第２グラフィックスエンジン４は、バス１０を介して描画コマンドを格納するメモリ６から、第２グラフィックスエンジン用コマンドリストＣＭ３を読み込む。
【００５４】
次に、第１グラフィックスエンジン３は、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｐ’と、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｑ’と、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｒ’とを連続実行して、２次元三角形オブジェクト３５０、２次元三角形オブジェクト３５１、ならびに２次元四角形オブジェクト３５２をフレームバッファ６ａに連続描画した後、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を実行して、描画処理を終了する。
【００５５】
これと並列して、第２グラフィックスエンジン４は、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｓ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｔ’、および’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｕ’を連続実行して、３次元８角柱オブジェクト３７０と３次元３角柱オブジェクト３７１と３次元直方体オブジェクト３７２とをフレームバッファ６ａに連続描画した後、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を実行して描画処理を終了する。
【００５６】
このように、第１、ならびに第２グラフィックスエンジン３，４が描画するオブジェクトが互いに重ならないとき、これら第１、および第２グラフィックスエンジン３，４を同時に描画処理させることにより、グラフィックスアプリケーションのハードウェアアクセラレーション効果を向上させることができる。
【００５７】
図５は、第１、および第２グラフィックスエンジン３，４がそれぞれ描画するオブジェクトが互いに重なる描画結果例を示している。
【００５８】
この場合、２次元四角形オブジェクト４９８と、２次元三角形オブジェクト４９９と、３次元８角柱オブジェクト５５１と、３次元直方体オブジェクト５５２とには前後関係がない。
【００５９】
また、２次元四角形オブジェクト５６１と、３次元３角柱オブジェクト５５３と、３次元５角柱オブジェクト５５４とにも前後関係がない。そのため任意の順番で描画することができる。
【００６０】
しかし、その他のオブジェクトには前後関係があり、手前から、２次元三角形オブジェクト５６０、３次元直方体オブジェクト５５０、３次元５角柱オブジェクト５４０、２次元四角形オブジェクト５３０、３次元３角柱オブジェクト５２０、３次元８角柱オブジェクト５１０、２次元四角形オブジェクト５００である。
【００６１】
いま、第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３とは、図５に示す描画結果例を実現するよう、前の期間に、ＣＰＵ２がストレージ７から地図データを読み出し、該地図データを基に作成し、メモリ６に格納したものとする。
【００６２】
ここで、ＣＰＵ２は、前記のようにオブジェクトに前後関係がある場合にはオブジェクトを正しく描画するために、グラフィックスエンジンが描画演算処理に用いる座標情報、および色情報などを含む描画用コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ’、および複数のグラフィックスエンジンの同期制御を行うためのコマンド’Ａｃｔｉｖｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’、コマンド’ＡｃｔｉｖｅＣｏｍｍａｎｄ’、および’Ｗａｉｔ　Ｃｏｍｍａｎｄ’などの制御用コマンド、および描画を終了するコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’などを基に各グラフィックスエンジンに対応したコマンドリストを作成している。
【００６３】
図６に、第１グラフィックスエンジン用コマンドリストＣＭ１と第２グラフィックスエンジン用コマンドリストＣＭ３との詳細を示す。
【００６４】
第１グラフィックスエンジン用コマンドリストＣＭ１は、実行順に、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　１’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　２’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　３’、コマンド’Ａｃｔｉｖａｔｅ＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　４’、コマンド’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　５’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　６、およびコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’とによって構成されている。
【００６５】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　１’は、２次元四角形オブジェクト４９８を描画する。’Ｄｒａｗ　Ｃｏｍｍａｎｄ　２’は２次元三角形オブジェクト４９９を描画する。
【００６６】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　３’は２次元四角形オブジェクト５００を描画する。’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’（第３コマンド）は第２グラフィックスエンジン４をイベント起動して第１グラフィックスエンジン３がイベント待ち状態に入るコマンドである。
【００６７】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　４’は２次元四角形オブジェクト５３０を描画し、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　５’は２次元三角形オブジェクト５６０を描画する。
【００６８】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　６は２次元四角形オブジェクト５６１を描画し、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’は描画を終了するコマンドである。
【００６９】
さらに、第２グラフィックスエンジン用コマンドリストＣＭ３は、実行順に、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ａ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｂ’、コマンド’Ｗａｉｔ　Ｃｏｍｍａｎｄ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｃ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｄ’、コマンド’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｅ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｆ’と、コマンド’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｇ’、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｈ’、およびコマンド’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’とで構成されている。
【００７０】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ａ’は３次元８角柱オブジェクト５５１を描画し、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｂ’は３次元直方体オブジェクト５５２を描画する。
【００７１】
’Ｗａｉｔ　Ｃｏｍｍａｎｄ’（第１コマンド）は第２グラフィックスエンジン４がイベント待ち状態に入るコマンドであり、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｃ’は３次元８角柱オブジェクト５１０を描画する。
【００７２】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｄ’は３次元３角柱オブジェクト５２０を描画し、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’（第３コマンド）は第１グラフィックスエンジン３をイベント起動して、第２グラフィックスエンジン４がイベント待ち状態に入るコマンドである。
【００７３】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｅ’は３次元５角柱オブジェクト５４０を描画し、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｆ’は３次元直方体オブジェクト５５０を描画する。
【００７４】
’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’（第２コマンド）は第１グラフィックスエンジン３をイベント起動するコマンドであり、’Ｄｒａｗ　Ｃｏｍｍａｎｄ
Ｇ’は３次元３角柱オブジェクト５５３を描画する。
【００７５】
’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｈ’は３次元５角柱オブジェクト５５４を描画し、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’は描画を終了するコマンドである。
【００７６】
図７は、第１グラフィックスエンジン用コマンドリストＣＭ１を実行したときの第１グラフィックスエンジン３における状態遷移と、第２グラフィックスエンジン用コマンドリストＣＭ３を実行したときの第２グラフィックスエンジン４の状態遷移とを示した図である。ここで、コマンド’Ｄｒａｗ　Ｃｏｍｍａｎｄ’の実行状態を’Ｄｒａｗｉｎｇ’、コマンド’Ａｃｔｉｖａｔｅ　＆　ＷａｉｔＣｏｍｍａｎｄ’の実行状態を’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔｉｎｇ’、コマンド’Ｗａｉｔ　Ｃｏｍｍａｎｄ’の実行状態を’Ｗａｉｔｉｎｇ’、コマンド’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’の実行状態を’Ａｃｔｉｖａｔｅ’と示す。
【００７７】
以下、図７を用いて第１グラフィックスエンジン３と第２グラフィックスエンジン４との時系列動作を詳細に説明する。
【００７８】
まず、第１グラフィックスエンジン３は、バス１０を介して描画コマンドを格納するメモリ６から、第１グラフィックスエンジン用コマンドリストＣＭ１を読み込む。
【００７９】
これと並列して、第２グラフィックスエンジン４は、バス１０を介して描画コマンドを格納するメモリ６から第２グラフィックスエンジン用コマンドリストＣＭ３を読み込む。
【００８０】
そして、第１グラフィックスエンジン３は、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　１’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　２’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　３’とを連続実行して、２次元四角形オブジェクト４９８、２次元三角形オブジェクト４９９、および２次元四角形オブジェクト５００をフレームバッファ６ａに連続描画した後、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、信号線１１にイベント通知であるＥｖｅｎｔ　１を出すとともに、第２グラフィックスエンジン４からのイベント待ち状態に入る。
【００８１】
これと並列して、第２グラフィックスエンジン４は、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ａ’、ならびに’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｂ’を連続実行し、３次元８角柱オブジェクト５５１と、３次元直方体オブジェクト５５２とをフレームバッファ６ａに連続描画した後、’Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、第１グラフィックスエンジン３からのイベント待ち状態に入る。
【００８２】
前述したイベント通知Ｅｖｅｎｔ　１があったとき、第２グラフィックスエンジン４のイベント待ち状態は解放され、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｃ’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｄ’とを連続実行して、３次元８角柱オブジェクト５１０と３次元３角柱オブジェクト５２０とをフレームバッファ６ａに連続描画した後、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、信号線１１にＥｖｅｎｔ　Ａを出すとともに、第１グラフィックスエンジン３からのイベント待ち状態に入る。
【００８３】
イベント通知Ｅｖｅｎｔ　Ａがあったとき、第１グラフィックスエンジン３のイベント待ち状態は解放され、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　４’を実行して、２次元四角形オブジェクト５３０をフレームバッファ６ａに描画した後、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄを実行して、信号線１１にＥｖｅｎｔ　２を出すとともに、第２グラフィックスエンジン４からのイベント待ち状態に入る。
【００８４】
イベント通知Ｅｖｅｎｔ　２があると、第２グラフィックスエンジン４のイベント待ち状態は解放され、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｅ’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｆ’とを連続実行して、３次元５角柱オブジェクト５４０、および３次元直方体オブジェクト５５０をフレームバッファ６ａに連続描画した後、’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’を実行して、信号線１１にＥｖｅｎｔ　Ｂを出した後、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｇ’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　Ｈ’とを連続実行して、３次元３角柱オブジェクト５５３と、３次元５角柱オブジェクト５５４とをフレームバッファ６ａに連続描画した後、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を実行して、描画処理を終了する。
【００８５】
そして、イベント通知Ｅｖｅｎｔ　Ｂがあったとき、第１グラフィックスエンジン３のイベント待ち状態は解放され、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　５’’Ｄｒａｗ　Ｃｏｍｍａｎｄ　６’とを連続実行し、２次元三角形オブジェクト５６０、２次元四角形オブジェクト５６１をフレームバッファ６ａに描画した後’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を実行して、描画処理を終了する。
【００８６】
また、本実施の形態における前後関係とは、視点からの距離を基準にして、視点からの距離が大きいオブジェクトほど画面奥に配置され、小さいオブジェクトほど画面手前に配置されるという前後関係である。
【００８７】
さらに、本実施の形態におけるイベント通知（Ｅｖｅｎｔ　１，２、およびＥｖｅｎｔ　Ａ，Ｂ）とは第１、および第２グラフィックスエンジン３，４間で相互に同期制御を行うことための信号線１１を介して供給される制御信号のことである。
【００８８】
また、第１、および第２グラフィックスエンジン３，４での’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’、’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’などの制御コマンドの実行、およびＥｖｅｎｔ　１，２およびＥｖｅｎｔ　Ａ，Ｂなどの制御信号によって相互に動作の同期制御を行うことが可能となる。
【００８９】
このようにして、第１、および第２グラフィックスエンジン３，４がそれぞれ描画するオブジェクトが互いに重なるとき、第１グラフィックスエンジン３より第２グラフィックスエンジン４が先に描画したり、第１グラフィックスエンジン３より第２グラフィックスエンジン４が先に描画したりしないよう、互いの同期をとるコマンドによって、描画する複数のオブジェクトの前後関係を正しく保っている。
【００９０】
それにより、本実施形態１によれば、第１グラフィックスエンジン３、ならびに第２グラフィックスエンジン４が同時に処理することにより、アプリケーションのハードウェアアクセラレーション効果を向上することができる。
【００９１】
また、描画処理の際に第１、および第２グラフィックスエンジン３，４の制御が不要となるので、ＣＰＵ２は他の処理を行うことができ、カーナビゲーションシステム１における処理速度を向上することができる。
【００９２】
（実施の形態２）
図８は、本発明の実施の形態２によるカーナビゲーションシステムのブロック図、図９は、図８のカーナビゲーションシステムに設けられたグラフィックスエンジン、およびサウンドエンジンが用いるコマンドリストの説明図、図１０は、図９のコマンドリストを実行した際のグラフィックスエンジン、およびサウンドエンジンの状態遷移図である。
【００９３】
本実施の形態２において、カーナビゲーションシステム１ａは、図８に示すように、ＣＰＵ２、画像出力部５、メモリ（記憶手段）１３、ストレージ７、ストレージインタフェース８、およびモニタ９からなる前記実施の形態１と同様の構成に、グラフィックスエンジン（グラフィックスコントローラ）１２、サウンドエンジン（サウンドコントローラ）１４、スピーカ１５が設けられている。
【００９４】
グラフィックスエンジン１２は、２次元、または３次元のオブジェクトを描画処理する。
【００９５】
メモリ１３は、ストレージ７によって読み出された地図データに基づいてＣＰＵ２が作成したグラフィックスエンジン用コマンドリスト（第３コマンドリスト）ＣＭ５、およびストレージ７によって読み出された音データに基づいてＣＰＵ２が作成したサウンドエンジン用コマンドリスト（第４コマンドリスト）ＳＣをそれぞれ格納する格納領域が設けられている。
【００９６】
また、メモリ１３には、グラフィックスエンジン１２の描画結果を一時的に格納するフレームバッファ１３ａが設けられているサウンドエンジン１４は、音声処理を行う。スピーカ１５は、サウンドエンジン１４が処理した音声信号を外部出力する。
【００９７】
これらＣＰＵ２、画像出力部５、メモリ１３、ストレージインタフェース８、グラフィックスエンジン１２、およびサウンドエンジン１４はバス１６を介して相互に接続されており、グラフィックスエンジン１２とサウンドエンジン１４とは信号線１７を介して接続されている。
【００９８】
図９は、各コマンドリストを詳細に示した図である。図９の左側はグラフィックスエンジン用コマンドリストＣＭ５を示しており、図９の右側にはサウンドエンジン用コマンドリストＳＣを示している。
【００９９】
また、図１０は、図９のグラフィックスエンジン用コマンドリストＣＭ５、サウンドエンジン用コマンドリストＳＣをそれぞれ実行した際のグラフィックスエンジン１２、およびサウンドエンジン１４の状態遷移図である。
【０１００】
ここでは、描画像と再生音に前後関係があるアプリケーションを想定している。描画像が作成されるまで再生音が出力されない、再生音が作成されるまで描画像が出力されない、という時間的な前後関係である。
【０１０１】
具体的には、Ｄｒａｗｉｎｇ　３０が終了するまで、Ｐｌａｙｉｎｇ　Ｃが開始しない。また、Ｐｌａｙｉｎｇ　Ｄが終了するまで、Ｄｒａｗｉｎｇ　４０が開始しない。
【０１０２】
さらに、Ｄｒａｗｉｎｇ　４０が終了するまで、Ｐｌａｙｉｎｇ　Ｅが開始しない。また、Ｐｌａｙｉｎｇ　Ｆが終了するまで、Ｄｒａｗｉｎｇ　５０が開始しない。
【０１０３】
以下、図８〜図１０を用いてグラフィックスエンジン１２、およびサウンドエンジン１４の時系列動作を詳細に説明する。
【０１０４】
まず、グラフィックスエンジン１２は、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　１０’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　２０’と’Ｄｒａｗ　Ｃｏｍｍａｎｄ　３０’とを連続実行して、フレームバッファ１３ａに連続描画した後、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、信号線１７にＥｖｅｎｔ　１０を出すとともに、サウンドエンジン１４からのイベント待ち状態に入る。
【０１０５】
これと並列して、サウンドエンジン１４は、’Ｓｏｕｎｄ　Ｃｏｍｍａｎｄ　Ａ’と、’Ｓｏｕｎｄ　Ｃｏｍｍａｎｄ　Ｂ’とを連続実行して、スピーカ１５を介して音を連続出力した後、’Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、グラフィックスエンジン１２からのイベント待ち状態に入る。
【０１０６】
そして、イベント通知Ｅｖｅｎｔ　１０があったとき、サウンドエンジン１４のイベント待ち状態は解放され、’Ｓｏｕｎｄ　Ｃｏｍｍａｎｄ　Ｃ’と’Ｓｏｕｎｄ　Ｃｏｍｍａｎｄ　Ｄ’とを連続実行して、スピーカ１５経由で音を連続出力した後、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、信号線１７にＥｖｅｎｔ　Ｃを出すとともに、グラフィックスエンジン１２からのイベント待ち状態に入る。
【０１０７】
イベント通知Ｅｖｅｎｔ　Ｃがあったとき、グラフィックスエンジン１２のイベント待ち状態は解放され、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　４０’を実行して、フレームバッファ１３ａに描画した後、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’を実行して、信号線１７にＥｖｅｎｔ　２０を出すとともに、サウンドエンジン１４３からのイベント待ち状態に入る。
【０１０８】
イベント通知Ｅｖｅｎｔ　２０があると、サウンドエンジン１４のイベント待ち状態は解放され、’Ｓｏｕｎｄ　Ｃｏｍｍａｎｄ　Ｅ’と’Ｓｏｕｎｄ　Ｃｏｍｍａｎｄ　Ｆ’とを連続実行して、スピーカ１５を介して音を連続出力した後、’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’を実行して、信号線１７にＥｖｅｎｔＤを出した後、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を実行して音処理を終了する。
【０１０９】
イベント通知Ｅｖｅｎｔ　Ｄがあったとき、グラフィックスエンジン１２のイベント待ち状態は解放され、’Ｄｒａｗ　Ｃｏｍｍａｎｄ　５０’を実行して、フレームバッファ１３ａに描画した後、’Ｔｅｒｍｉｎａｔｅ　Ｃｏｍｍａｎｄ’を実行して、描画処理を終了する。
【０１１０】
ここで、本実施の形態２におけるイベント通知（Ｅｖｅｎｔ　１０，２０、およびＥｖｅｎｔ　Ｃ，Ｄ）とはグラフィックスエンジン１２、およびサウンドエンジン１４間で相互に同期制御を行うための信号線１７を介して供給される制御信号のことである。
【０１１１】
また、’Ａｃｔｉｖａｔｅ　＆　Ｗａｉｔ　Ｃｏｍｍａｎｄ’、’Ａｃｔｉｖａｔｅ　Ｃｏｍｍａｎｄ’、および’Ｗａｉｔ　Ｃｏｍｍａｎｄ’の実行、Ｅｖｅｎｔ　１０，２０、およびＥｖｅｎｔ　Ｃ，Ｄなどの制御信号によってグラフィックスエンジン１２、およびサウンドエンジン１４は相互の同期制御を行うことが可能となる。
【０１１２】
また、描画像と再生音に前後関係があるときには、グラフィックスエンジン１２がサウンドエンジン１４より先に描画像を作成したり、サウンドエンジン１４がグラフィックスエンジン１２よりも先に再生音を出力したりしないよう、互いの同期をとるコマンドにより、描画像と再生音の前後関係を正しく保っている。
【０１１３】
それにより、本実施の形態２においては、描画像と再生音に前後関係がないとき、グラフィックスエンジン１２、およびサウンドエンジン１４を同時に処理させることにより、グラフィックス、サウンドアプリケーションのハードウェアアクセラレーション効果を向上させることができる。
【０１１４】
また、描画処理、ならびに音声処理の際にＣＰＵ２によるグラフィックスエンジン１２、サウンドエンジン１４の制御が不要となるので、ＣＰＵ２が他の処理を行うことによってカーナビゲーションシステム１ａにおける処理速度を向上させることができる。
【０１１５】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１１６】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【０１１７】
（１）第１、および第２グラフィックスコントローラを並列して動作させることができるので、アプリケーションのハードウェアアクセラレーション効果を大幅に向上させることができる。
【０１１８】
（２）また、グラフィック処理に前後関係が求められるとき、同期コマンドによって第１および第２グラフィックスコントローラの同期を相互にとることができるので、グラフィックス処理における前後関係を容易に保つことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１によるカーナビゲーションシステムのブロック図である。
【図２】図１のカーナビゲーションシステムが描画するオブジェクトが互いに重ならない場合の描画結果の一例を示す図である。
【図３】図２におけるコマンドリストの説明図である。
【図４】図３のコマンドリストを実行した際の第１、および第２グラフィックスエンジンの状態遷移図である。
【図５】図５は、図１のカーナビゲーションシステムが描画するオブジェクトが互いに重なる場合の描画結果の一例を示す図である。
【図６】図５におけるコマンドリストの説明図である。
【図７】図６のコマンドリストを実行した際の第１、および第２グラフィックスエンジンの状態遷移図である。
【図８】本発明の実施の形態２によるカーナビゲーションシステムのブロック図である。
【図９】図８のカーナビゲーションシステムに設けられたグラフィックスエンジン、およびサウンドエンジンが用いるコマンドリストの説明図である。
【図１０】図９のコマンドリストを実行した際のグラフィックスエンジン、およびサウンドエンジンの状態遷移図である。
【符号の説明】
１，１ａ　カーナビゲーションシステム（描画処理装置）
２　ＣＰＵ（コマンドリスト生成手段）
３　第１グラフィックスエンジン（第１グラフィックスコントローラ）
４　第２グラフィックスエンジン（第２グラフィックスコントローラ）
５　画像出力部
６　メモリ（記憶手段）
６ａ　フレームバッファ（第１バッファ）
６ｂ　フレームバッファ（第２バッファ）
７　ストレージ
８　ストレージインタフェース
９　モニタ
１０　バス
１１　信号線
１２　グラフィックスエンジン（グラフィックスコントローラ）
１３　メモリ（記憶手段）
１３ａ　フレームバッファ
１４　サウンドエンジン（サウンドコントローラ）
１５　スピーカ
１６　バス
１７　信号線
ＣＭ１　第１グラフィックスエンジン用コマンドリスト（第１コマンドリスト）
ＣＭ２　第１グラフィックスエンジン用コマンドリスト（第１コマンドリスト）
ＣＭ３　第２グラフィックスエンジン用コマンドリスト（第２コマンドリスト）
ＣＭ４　第２グラフィックスエンジン用コマンドリスト（第２コマンドリスト）
ＣＭ５　グラフィックスエンジン用コマンドリスト（第３コマンドリスト）
ＳＣ　サウンドエンジン用コマンドリスト（第４コマンドリスト）
【図１】
2004126928.tif 000003
【図２】
2004126928.tif 000004
【図３】
2004126928.tif 000005
【図４】
2004126928.tif 000006
【図５】
2004126928.tif 000007
【図６】
2004126928.tif 000008
【図７】
2004126928.tif 000009
【図８】
2004126928.tif 000010
【図９】
2004126928.tif 000011
【図１０】
2004126928.tif 000012