図面 (/)

技術 描画処理装置および半導体集積回路装置

出願人 株式会社ルネサステクノロジ
発明者 今井崇明中村淳浜崎博幸宮本崇大村賢一郎佐藤潤
出願日 2002年10月2日 (18年8ヶ月経過) 出願番号 2002-289928
公開日 2004年4月22日 (17年1ヶ月経過) 公開番号 2004-126928
状態 未査定
技術分野 先行制御 イメージ処理・作成 イメージ生成
主要キーワード 制御コマ 三角形オブジェクト 描画順番 描画演算処理 アクセラレーション ダブルバッファ方式 描画像 同期コマンド
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2004年4月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

複数のエンジンの実行結果に前後関係がないときに複数のエンジンを同時に処理させ、ハードウェアアクセラレーション効果を大幅に向上させる。

解決手段

CPU2は地図データを基にコマンドリストCM1,CM3を作成し、メモリ6に格納する。第1、第2グラフィックスエンジン3,4は、該リストCM1,CM3から演算処理を行ってフレームバッファ6aに描画結果を格納する。同時に、CPU2は、新たな地図データを基にコマンドリストCM2,CM4を作成し、メモリ6に格納する。画像出力部5は、該描画結果から、モニタ9に地図を表示する。このとき、第1、第2グラフィックスエンジン3,4は、リストCM2,CM4を読み出し画像演算処理を行ってフレームバッファ6bに描画結果を格納する。画像出力部5は、該描画結果からモニタ9に地図を表示する。これらを繰り返してカーナビゲーション地図をモニタ9に表示する。

概要

背景

2つのグラフィックスエンジンを搭載した描画処理装置として、たとえば、特開平11−353495号公報に記載されるように、2D(2Dimension:2次元)処理のコントローラと3D(3Dimension:3次元)処理のコントローラとを搭載し、ドライバで両方のコントローラを切り換え制御することにより、2Dおよび3Dのアプリケーションを同一グラフィックアクセラレータボード上で使用可能とするものが知られている。

概要

複数のエンジンの実行結果に前後関係がないときに複数のエンジンを同時に処理させ、ハードウェアアクセラレーション効果を大幅に向上させる。CPU2は地データを基にコマンドリストCM1,CM3を作成し、メモリ6に格納する。第1、第2グラフィックスエンジン3,4は、該リストCM1,CM3から演算処理を行ってフレームバッファ6aに描画結果を格納する。同時に、CPU2は、新たな地データを基にコマンドリストCM2,CM4を作成し、メモリ6に格納する。画像出力部5は、該描画結果から、モニタ9に地を表示する。このとき、第1、第2グラフィックスエンジン3,4は、リストCM2,CM4を読み出し画像演算処理を行ってフレームバッファ6bに描画結果を格納する。画像出力部5は、該描画結果からモニタ9に地を表示する。これらを繰り返してカーナビゲーション地をモニタ9に表示する。   

目的

本発明の目的は、複数のエンジンの実行結果に前後関係がないときに複数のエンジンを同時に処理させることにより、アプリケーションのハードウェアアクセラレーション効果を大幅に向上させることができる描画処理装置を提供する

効果

実績

技術文献被引用数
1件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

外部入力された処理用データから、第1、および第2コマンドリストを生成するコマンドリスト生成手段と、前記第1コマンドリストに基づいて2次元グラフィックス処理を行う第1グラフィックスコントローラと、前記第2コマンドリストに基づいて3次元グラフィックス処理を行う第2グラフィックスコントローラと、前記コマンドリスト生成手段が生成した第1、ならびに第2コマンドリストと前記第1グラフィックスコントローラ、および前記第2グラフィックスコントローラが描画演算処理した演算結果とを格納する記憶手段とを備え、前記コマンドリスト生成手段は、2次元グラフィックスと3次元グラフィックスとが重ならない場合に前記第1、および第2グラフィックスコントローラを並行処理させ、2次元グラフィックスと3次元グラフィックスとが重なる場合には、前記第1、および第2グラフィックスコントローラが並行処理しないように同期をとる同期コマンドを生成することを特徴とする描画処理装置

請求項2

請求項1記載の描画処理装置において、前記記憶手段は、外部バスを介して前記コマンドリスト生成手段、前記第1グラフィックスコントローラ、および前記第2グラフィックスコントローラに接続されていることを特徴とする描画処理装置。

請求項3

請求項1または2記載の描画処理装置において、前記コマンドリスト生成手段が生成する同期コマンドは、前記第1グラフィックスコントローラ、または前記第2グラフィックスコントローラのいずれかがイベント待ち状態に入る第1コマンド、前記第1グラフィックスコントローラ、あるいは前記第2グラフィックスコントローラのいずれかがイベント起動する第2コマンド、前記第1グラフィックスコントローラをイベント起動して前記第2グラフィックスコントローラがイベント待ち状態となるか、あるいは前記第2グラフィックスコントローラをイベント起動して前記第1グラフィックスコントローラがイベント待ち状態となる第3コマンドの少なくともいずれか1つであることを特徴とする描画処理装置。

請求項4

請求項1〜3のいずれか1項に記載の描画処理装置において、前記記憶手段は、前記コマンドリスト生成手段が処理用データに基づいて生成した前記第1コマンドリストを交互に格納する第1、および第2コマンドリスト格納部と、前記コマンドリスト生成手段が処理用データに基づいて生成した前記第2コマンドリストを交互に格納する第3、および第4コマンドリスト格納部と、前記第1、ならびに第3コマンドリスト格納部に格納された前記第1、および第2コマンドリストに基づいて、前記第1、および第2グラフィックスコントローラが処理した演算結果を格納する第1バッファと、前記第2、ならびに第4コマンドリスト格納部に格納された前記第1、および第2コマンドリストに基づいて、前記第1、および第2グラフィックスコントローラが処理した演算結果を格納する第2バッファとを備えたことを特徴とする描画処理装置。

請求項5

外部入力された処理用データから、第3、および第4コマンドリストを生成するコマンドリスト生成手段と、前記第3コマンドリストに基づいて2次元または3次元のグラフィックス処理を行うグラフィックスコントローラと、前記第4コマンドリストに基づいて音声処理を行うサウンドコントローラと、前記コマンドリスト生成手段が生成した第3、ならびに第4コマンドリストと、前記グラフィックスコントローラが描画演算処理した演算結果を格納する記憶手段とを備え、前記コマンドリスト生成手段は、グラフィックス再生音とが重ならない場合に前記グラフィックスコントローラ、ならびにサウンドコントローラを並行処理させ、グラフィックスと再生音とが重なる場合には、前記グラフィックスコントローラと前記サウンドコントローラとが並行処理しないように同期をとる同期コマンドを生成することを特徴とする描画処理装置。

請求項6

請求項5記載の描画処理装置において、前記記憶手段は、外部バスを介して前記コマンドリスト生成手段、前記グラフィックスコントローラ、および前記サウンドコントローラに接続されていることを特徴とする描画処理装置。

請求項7

請求項5または6記載の描画処理装置において、前記コマンドリスト生成手段が生成する同期コマンドは、前記グラフィックスコントローラ、または前記サウンドコントローラのいずれかがイベント待ち状態に入る第1コマンド、前記グラフィックスコントローラ、あるいは前記サウンドコントローラのいずれかがイベント起動する第2コマンド、前記グラフィックスコントローラをイベント起動して前記サウンドコントローラがイベント待ち状態となるか、あるいは前記グラフィックスコントローラをイベント起動して前記サウンドコントローラがイベント待ち状態となる第3コマンドの少なくともいずれか1つであることを特徴とする描画処理装置。

請求項8

外部入力された処理用データから、第1、および第2コマンドリストを生成するコマンドリスト生成手段と、前記第1コマンドリストに基づいて2次元グラフィックス処理を行う2次元描画演算処理制御回路と、前記第2コマンドリストに基づいて3次元グラフィックス処理を行う3次元描画演算処理制御回路と、前記コマンドリスト生成手段が生成した第1、ならびに第2コマンドリストと前記2次元描画演算処理制御回路、および前記3次元描画演算処理制御回路が描画した描画演算処理した描画結果とを格納する記憶手段とを備え、前記コマンドリスト生成手段は、2次元グラフィックスと3次元グラフィックスとが重ならない場合に前記2次元、および3次元描画演算処理制御回路を並行処理させるコマンドリストと、2次元グラフィックスと3次元グラフィックスとが重なる場合、前記2次元、および3次元描画演算処理制御回路が並行処理しないように同期をとる同期コマンドを含めたコマンドリストを生成することを特徴とする半導体集積回路装置

請求項9

請求項8記載の半導体集積回路装置において、前記2次元、および前記3次元描画演算処理制御回路は、互いに並列動作制御を行うために、前記同期コマンドに基づいて制御信号を相互に出力可能であることを特徴とする半導体集積回路装置。

請求項10

請求項8記載の半導体集積回路装置において、前記コマンドリスト生成手段が生成する同期コマンドは、前記2次元描画演算処理制御回路、または前記3次元描画演算処理制御回路のいずれかがイベント待ち状態に入る第1コマンド、前記2次元描画演算処理制御回路、あるいは前記3次元描画演算処理制御回路のいずれかがイベント起動する第2コマンド、前記2次元描画演算処理制御回路をイベント起動して前記3次元描画演算処理制御回路がイベント待ち状態となるか、あるいは前記3次元描画演算処理制御回路をイベント起動して前記2次元描画演算処理制御回路がイベント待ち状態となる第3コマンドの少なくともいずれか1つであることを特徴とする半導体集積回路装置。

請求項11

請求項8または10記載の半導体集積回路装置において、前記記憶手段は、前記コマンドリスト生成手段が前記処理用データに基づいて生成した前記第1コマンドリストを格納するための第1、および第2コマンドリスト格納部と、前記コマンドリスト生成手段が前記処理用データに基づいて生成した前記第2コマンドリストを格納するための第3、および第4コマンドリスト格納部と、前記第1、ならびに第3コマンドリスト格納部に格納された前記第1、および第2コマンドリストに基づいて、前記2次元、および3次元描画演算処理制御回路が処理した描画結果を格納する第1バッファと、前記第2、ならびに第4コマンドリスト格納部に格納された前記第1、および第2コマンドリストに基づいて、前記2次元、および3次元描画演算処理制御回路が処理した描画結果を格納する第2バッファとを備えたことを特徴とする半導体集積回路装置。

技術分野

0001

本発明は、描画処理技術に関し、特に、カーナビゲーション地図などの2次元、および3次元のオブジェクトを描画する際のアクセラレーションの向上に適用して有効な技術に関するものである。

背景技術

0002

2つのグラフィックスエンジンを搭載した描画処理装置として、たとえば、特開平11−353495号公報に記載されるように、2D(2Dimension:2次元)処理のコントローラと3D(3Dimension:3次元)処理のコントローラとを搭載し、ドライバで両方のコントローラを切り換え制御することにより、2Dおよび3Dのアプリケーションを同一グラフィックアクセラレータボード上で使用可能とするものが知られている。

0003

ところが、上記のような描画処理装置による2次元、および3次元の描画処理技術では次のような問題点があることが本発明者により見い出された。

0004

描画処理においては、描画する複数のオブジェクトが重なるとき、その前後関係を正しく保つ必要がある。始点からの距離を基準として、始点からの距離が大きいオブジェクトほど画面奥に描画し、小さいオブジェクトほど画面手前に描画する必要がある。

0005

グラフィックスエンジンが単一の場合、始点からの距離が大きいオブジェクトから順番に、画面奥から描画するように予め描画順序ソーティング(並べ替え)しておくことにより、複数のオブジェクトの前後関係を正しく保つことができる。

0006

2つのグラフィックスエンジンを有する場合には、2次元処理コントローラと3次元処理コントローラとが並列的に動作しておらず、一方のコントローラの描画処理が終了するまで、他方のコントローラは待ち状態となる。

0007

つまり、2次元処理コントローラと3次元処理コントローラとはシーケンシャルに動作する。始点からの距離が大きいオブジェクトから順番に画面奥から描画するように、予め描画順番をソーティングしておけば、2次元処理コントローラと3次元処理コントローラとをシーケンシャルに動作させることで、重なり合う複数オブジェクトの前後関係を正しく保つことができる。

0008

しかしながら、2次元処理コントローラが描画するオブジェクトと3次元処理コントローラが描画するオブジェクトに重なりがない場合であっても、2次元処理コントローラと3次元処理コントローラとがシーケンシャルに動作するため、どちらか一方のコントローラが常に待ち状態となってしまい、待ち状態のコントローラのハードウェアアクセラレーション効果を活用することができないという問題がある。

0009

本発明の目的は、複数のエンジンの実行結果に前後関係がないときに複数のエンジンを同時に処理させることにより、アプリケーションのハードウェアアクセラレーション効果を大幅に向上させることができる描画処理装置を提供することにある。

発明が解決しようとする課題

0010

本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。

0011

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
(1)外部入力された処理用データから、第1、および第2コマンドリストを生成するコマンドリスト生成手段と、第1コマンドリストに基づいて2次元グラフィックス処理を行う第1グラフィックスコントローラと、第2コマンドリストに基づいて3次元グラフィックス処理を行う第2グラフィックスコントローラと、コマンドリスト生成手段が生成した第1、ならびに第2コマンドリストと第1グラフィックスコントローラ、および第2グラフィックスコントローラが描画演算処理した演算結果とを格納する記憶手段とを備え、コマンドリスト生成手段は、2次元と3次元とのグラフィックスオブジェクト(オブジェクト)が重ならない場合に第1、および第2グラフィックスコントローラを並行処理させ、2次元と3次元とのグラフィックスオブジェクトとが重なる場合には、第1、および第2グラフィックスコントローラが並行処理しないように同期をとる同期コマンドを生成するものである。

課題を解決するための手段

0012

また、本願のその他の発明の概要を簡単に示す。
(2)前記第1項において、記憶手段は、外部バスを介してコマンドリスト生成手段、第1、および第2グラフィックスコントローラに接続されるものである。
(3)前記第1項または前記第2項において、同期コマンドは、第1、または第2グラフィックスコントローラのいずれかがイベント待ち状態に入る第1コマンド、第1、または第2グラフィックスコントローラのいずれかがイベント起動する第2コマンド、第1グラフィックスコントローラをイベント起動して第2グラフィックスコントローラがイベント待ち状態となるか、あるいは第2グラフィックスコントローラをイベント起動して第1グラフィックスコントローラがイベント待ち状態となる第3コマンドの少なくともいずれか1つよりなるものである。
(4)前記第1項〜前記第3項において、記憶手段は、コマンドリスト生成手段が処理用データに基づいて生成した第1コマンドリストを交互に格納する第1、および第2コマンドリスト格納部と、コマンドリスト生成手段が処理用データに基づいて生成した第2コマンドリストを交互に格納する第3、および第4コマンドリスト格納部と、第1、ならびに第3コマンドリスト格納部に格納された第1、および第2コマンドリストに基づいて、第1、および第2グラフィックスコントローラが処理した演算結果を格納する第1バッファと、第2、ならびに第4コマンドリスト格納部に格納された第1、および第2コマンドリストに基づいて、第1、および第2グラフィックスコントローラが処理した演算結果を格納する第2バッファとを備えたものである。
(5)外部入力された処理用データから、第3、および第4コマンドリストを生成するコマンドリスト生成手段と、第3コマンドリストに基づいて2次元または3次元のグラフィックス処理を行うグラフィックスコントローラと、第4コマンドリストに基づいて音声処理を行うサウンドコントローラと、コマンドリスト生成手段が生成した第3、ならびに第4コマンドリストと、グラフィックスコントローラが描画演算処理した演算結果を格納する記憶手段とを備え、コマンドリスト生成手段は、グラフィックス再生音とが重ならない場合にグラフィックスコントローラ、ならびにサウンドコントローラを並行処理させ、グラフィックスオブジェクトと再生音とが重なる場合には、グラフィックスコントローラとサウンドコントローラとが並行処理しないように同期をとる同期コマンドを生成するものである。

0013

以下、本発明の実施の形態を図面に基づいて詳細に説明する。

0014

(実施の形態1)
図1は、本発明の実施の形態1によるカーナビゲーションシステムブロック図、図2は、図1のカーナビゲーションシステムが描画するオブジェクトが互いに重ならない場合の描画結果の一例を示す図、図3は、図2におけるコマンドリストの説明図、図4は、図3のコマンドリストを実行した際の第1、および第2グラフィックスエンジンの状態遷移図、図5は、図1のカーナビゲーションシステムが描画するオブジェクトが互いに重なる場合の描画結果の一例を示す図、図6は、図5におけるコマンドリストの説明図、図7は、図6のコマンドリストを実行した際の第1、および第2グラフィックスエンジンの状態遷移図である。

0015

本実施の形態1において、カーナビゲーションシステム(描画処理装置)1は、図1に示すように、CPU(コマンドリスト生成手段)2、第1グラフィックスエンジン(第1グラフィックスコントローラ)3、第2グラフィックスエンジン(第2グラフィックスコントローラ)4、画像出力部5、メモリ(記憶手段)6、ストレージ7、ストレージインタフェース8、ならびにモニタ9から構成されている。

0016

また、CPU2、第1グラフィックスエンジン3、第2グラフィックスエンジン4、画像出力部5、メモリ6、およびストレージインタフェース8は、バス10によって相互に接続されている。

0017

CPU2は、カーナビゲーションシステム1におけるすべての制御を司る。第1グラフィックスエンジン3は、第2グラフィックスエンジン4と信号線11により接続されている。

0018

さらに、CPU2がコマンドリストを生成する時、描画する複数のグラフィックオブジェクトが互いに重なる場合、その前後関係を正しく保つために予め描画順序をソーティングしてコマンドリストを生成する。また、オブジェクトが互いに重ならない場合には、それらオブジェクトの描画順序は任意に設定してコマンドリストを生成することが可能である。

0019

第1グラフィックスエンジン3は、2次元オブジェクトを描画処理するグラフィックスエンジンである。第2グラフィックスエンジン4は、3次元オブジェクトを描画処理するグラフィックスエンジンである。画像出力部5は、メモリ6から描画結果を読み出し、モニタ9に出力する。

0020

メモリ6は、グラフィックスエンジン用のビデオメモリである。このメモリ6は、メインメモリ内部のある領域をグラフィックスエンジン用のビデオメモリとして用意してもよいし(ユニファイドメモリアーキテクチャ)、メインメモリ外部にグラフィックスエンジン専用のビデオメモリとして用意してもよい。

0021

さらに、メモリ6がメインメモリ内部のある領域をビデオメモリとして使用する際には、たとえば、CPU2、第1グラフィックスエンジン3、第2グラフィックスエンジン4、画像出力部5、メモリ6、ならびにストレージインタフェース8などを1チップ化して半導体集積回路装置を構成する。

0022

また、メモリ6がグラフィックスエンジン専用のビデオメモリの場合には、該メモリ6と、CPU2、第1グラフィックスエンジン3、第2グラフィックスエンジン4、画像出力部5、ならびにストレージインタフェース8とをそれぞれ個別の半導体集積回路装置として構成し、これら複数の半導体集積回路装置を相互に外部バスによって接続する構成としてもよい。

0023

このメモリ6は、ストレージ7によって読み出された地図データ(処理用データ)に基づいてCPU2が作成した第1グラフィックスエンジン用コマンドリスト(第1コマンドリスト)CM1,CM2、第2グラフィックスエンジン用コマンドリスト(第2コマンドリスト)CM3,CM4をそれぞれ格納する格納領域(第1〜第4コマンドリスト格納領域)が設けられている。

0024

また、メモリ6には、第1グラフィックスエンジン3、および第2グラフィックスエンジン4が第1グラフィックスエンジン用コマンドリストCM1,CM2、第2グラフィックスエンジン用コマンドリストCM3,CM4をそれぞれ用いて描画演算処理した描画結果を一時的に格納するフレームバッファ6a,6bが設けられている。

0025

ストレージ7は、DVD−ROMドライブCD−ROMドライブ、あるいはハードディスクドライブなどであり、これらドライブに接続されたDVD−ROM、CD−ROM、およびハードディスクなどの記憶媒体から地図データ(2次元地図データまたは3次元地図データ)を読み出す。ここで、たとえば、地図データとは描画するグラフィックオブジェクトの形状を示す情報、およびそのオブジェクトの頂点座標情報などの情報を有している。

0026

ストレージインタフェース8は、ストレージ7に接続されており、該ストレージ7が読み出した地図データを転送する際のインタフェースである。モニタ9は画像出力部5に接続されており、該画像出力部5から出力される描画結果(カーナビゲーション地図)を表示する。

0027

次に、本実施の形態におけるカーナビゲーションシステム1の時系列動作について説明する。

0028

まず、CPU2は、ストレージ7から地図データを読み出し、その地図データを基に第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とを作成し、メモリ6に格納する。

0029

ここで、第1グラフィックスエンジン用コマンドリストCM1は、第1グラフィックスエンジン3が実行する描画コマンドリストであり、第2グラフィックスエンジン用コマンドリストCM3は、第2グラフィックスエンジン4が実行する描画コマンドリストである。

0030

そして、第1グラフィックスエンジン3、および第2グラフィックスエンジン4は、メモリ6から、第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とを読み出し、描画演算処理を行って、フレームバッファ(第1バッファ)6aに描画演算結果を格納する。

0031

同時に、CPU2は、ストレージ7から地図データを読み出し、該地図データを基に、第1グラフィックスエンジン用コマンドリストCM2と第2グラフィックスエンジン用コマンドリストCM4とをそれぞれ作成し、メモリ6に格納する。

0032

ここで、第1グラフィックスエンジン用コマンドリストCM2は、第1グラフィックスエンジン3が実行する描画コマンドリストであり、第2グラフィックスエンジン用コマンドリストCM4は、第2グラフィックスエンジン4が実行する描画コマンドリストである。

0033

その後、画像出力部5は、フレームバッファ6aから描画演算結果を読み出し、モニタ9に、描画結果であるカーナビゲーション地図を表示する。

0034

このとき、第1グラフィックスエンジン3、および第2グラフィックスエンジン4は、メモリ6から、第1グラフィックスエンジン用コマンドリストCM2と第2グラフィックスエンジン用コマンドリストCM4とをそれぞれ読み出し、描画演算処理を行って、フレームバッファ(第2バッファ)6bに描画演算処理結果を格納する。

0035

同時に、CPU2は、ストレージ7から地図データを読み出し、その地図データを基に第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とをそれぞれ作成し、メモリ6に格納する。

0036

そして、画像出力部5は、フレームバッファ6bから描画結果を読み出し、モニタ9にカーナビゲーション地図を表示する。

0037

同時に、第1グラフィックスエンジン3と第2グラフィックスエンジン4は、メモリ6から、第1グラフィックス用エンジンコマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とをそれぞれ読み出し、描画演算処理を行って、フレームバッファ6aに描画演算処理結果を格納する。

0038

同時に、CPU2はストレージ7から地図データを読み出し、その地図データを基に、第1グラフィックスエンジン用コマンドリストCM2と第2グラフィックスエンジン用コマンドリストCM4とをそれぞれ作成し、メモリ6に格納する。

0039

以後は、上記した動作を繰り返してカーナビゲーション地図をモニタ9に表示する。

0040

このように、カーナビゲーションシステム1においては、CPU2による描画コマンドリスト作成処理と、第1、および第2グラフィックスエンジン3,4による描画演算処理と、画像出力部5による表示処理とをそれぞれ並列動作させるため、描画コマンドリスト用バッファとフレームバッファとを夫々を複数有するダブルバッファ方式で使用する。

0041

CPU2がグラフィックスエンジンコマンドリストを作成し、メモリ6の描画コマンドリスト用バッファに格納するときは、該バッファに格納されている前回のグラフィックスエンジンコマンドリストが既に実行済みか否かは、CPU2がグラフィックスエンジン内に含まれる描画終了フラグチェックする、または描画終了フラグがセットされていることにより出力される割り込み信号を受信することにより知ることができる。この描画終了フラグは描画終了コマンド’Terminate Command’が実行されることによってセットされるため、グラフィックスエンジンコマンドリストの終端には、描画を終了するコマンド’Terminate Command’が配される。

0042

次に、第1グラフィックスエンジン3と第2グラフィックスエンジン4とが、メモリ6から第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とを読み出して、フレームバッファ6aに描画結果を格納する手順について詳細に説明する。

0043

図2は、2つの第1、および第2グラフィックスエンジン3,4が描画するオブジェクトが互いに重ならない場合の一例を示す描画結果である。

0044

2次元オブジェクトは、2次元三角形オブジェクト350、2次元三角形オブジェクト351、ならびに2次元四角形オブジェクト352である。3次元オブジェクトは、3次元8角柱オブジェクト370、3次元3角柱オブジェクト371、および3次元直方体オブジェクト372である。

0045

いま、第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とは、図2に示す描画結果例を実現するよう、前の期間に、CPU2がストレージ7から地図データを読み出し、その地図データを基に作成し、メモリ6に格納したものとする。

0046

ここで、CPU2は、前記のように描画するオブジェクトが互いに重ならない場合には、グラフィックスエンジンが描画演算処理に用いる座標情報、および色情報などを含む描画用コマンド’Draw Command’、および描画を終了するコマンド’Terminate Command’を基に各グラフィックスエンジンに対応したコマンドリストを作成している。

0047

また、図3に、第1グラフィックスエンジン用コマンドリストCM1、および第2グラフィックスエンジン用コマンドリストCM3の詳細を示す。

0048

第1グラフィックスエンジン用コマンドリストCM1は、実行順に、2次元三角形オブジェクト350を描画するコマンド’Draw Command P’と、2次元三角形オブジェクト351を描画するコマンド’Draw Command Q’と、2次元四角形オブジェクト352を描画するコマンド’Draw Command R’と、描画を終了するコマンド’Terminate Command’とから構成されている。

0049

さらに、第2グラフィックスエンジン用コマンドリストCM3は、実行順に、3次元8角柱オブジェクト370を描画するコマンド’Draw Command S’と、3次元3角柱オブジェクト371を描画するコマンド’Draw Command T’と、3次元直方体オブジェクト372を描画するコマンド’Draw Command U’と、描画を終了するコマンド’Terminate Command’とから構成されている。

0050

また、図4に、第1グラフィックスエンジン3が、第1グラフィックスエンジン用コマンドリストCM1を実行したときの、該第1グラフィックスエンジン3の状態遷移図、ならびに第2グラフィックスエンジン4が、第2グラフィックスエンジン用コマンドリストCM3を実行したときの、該第2グラフィックスエンジン4の状態遷移図とをそれぞれ示す。

0051

この図4を用いて第1、および第2グラフィックスエンジン3,4の時系列動作をそれぞれ詳細に説明する。

0052

はじめに、第1グラフィックスエンジン3は、バス10を介して描画コマンドを格納するメモリ6から、第1グラフィックスエンジン用コマンドリストCM1を読み込む。

0053

これと並列して、第2グラフィックスエンジン4は、バス10を介して描画コマンドを格納するメモリ6から、第2グラフィックスエンジン用コマンドリストCM3を読み込む。

0054

次に、第1グラフィックスエンジン3は、’Draw Command P’と、’Draw Command Q’と、’Draw Command R’とを連続実行して、2次元三角形オブジェクト350、2次元三角形オブジェクト351、ならびに2次元四角形オブジェクト352をフレームバッファ6aに連続描画した後、’Terminate Command’を実行して、描画処理を終了する。

0055

これと並列して、第2グラフィックスエンジン4は、’Draw Command S’、コマンド’Draw Command T’、および’Draw Command U’を連続実行して、3次元8角柱オブジェクト370と3次元3角柱オブジェクト371と3次元直方体オブジェクト372とをフレームバッファ6aに連続描画した後、’Terminate Command’を実行して描画処理を終了する。

0056

このように、第1、ならびに第2グラフィックスエンジン3,4が描画するオブジェクトが互いに重ならないとき、これら第1、および第2グラフィックスエンジン3,4を同時に描画処理させることにより、グラフィックスアプリケーションのハードウェアアクセラレーション効果を向上させることができる。

0057

図5は、第1、および第2グラフィックスエンジン3,4がそれぞれ描画するオブジェクトが互いに重なる描画結果例を示している。

0058

この場合、2次元四角形オブジェクト498と、2次元三角形オブジェクト499と、3次元8角柱オブジェクト551と、3次元直方体オブジェクト552とには前後関係がない。

0059

また、2次元四角形オブジェクト561と、3次元3角柱オブジェクト553と、3次元5角柱オブジェクト554とにも前後関係がない。そのため任意の順番で描画することができる。

0060

しかし、その他のオブジェクトには前後関係があり、手前から、2次元三角形オブジェクト560、3次元直方体オブジェクト550、3次元5角柱オブジェクト540、2次元四角形オブジェクト530、3次元3角柱オブジェクト520、3次元8角柱オブジェクト510、2次元四角形オブジェクト500である。

0061

いま、第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3とは、図5に示す描画結果例を実現するよう、前の期間に、CPU2がストレージ7から地図データを読み出し、該地図データを基に作成し、メモリ6に格納したものとする。

0062

ここで、CPU2は、前記のようにオブジェクトに前後関係がある場合にはオブジェクトを正しく描画するために、グラフィックスエンジンが描画演算処理に用いる座標情報、および色情報などを含む描画用コマンド’Draw Command’、および複数のグラフィックスエンジンの同期制御を行うためのコマンド’Active & Wait Command’、コマンド’ActiveCommand’、および’Wait Command’などの制御用コマンド、および描画を終了するコマンド’Terminate Command’などを基に各グラフィックスエンジンに対応したコマンドリストを作成している。

0063

図6に、第1グラフィックスエンジン用コマンドリストCM1と第2グラフィックスエンジン用コマンドリストCM3との詳細を示す。

0064

第1グラフィックスエンジン用コマンドリストCM1は、実行順に、コマンド’Draw Command 1’、コマンド’Draw Command 2’、コマンド’Draw Command 3’、コマンド’Activate& Wait Command’、コマンド’Draw Command 4’、コマンド’Activate & Wait Command’、コマンド’Draw Command 5’、コマンド’Draw Command 6、およびコマンド’Terminate Command’とによって構成されている。

0065

’Draw Command 1’は、2次元四角形オブジェクト498を描画する。’Draw Command 2’は2次元三角形オブジェクト499を描画する。

0066

’Draw Command 3’は2次元四角形オブジェクト500を描画する。’Activate & Wait Command’(第3コマンド)は第2グラフィックスエンジン4をイベント起動して第1グラフィックスエンジン3がイベント待ち状態に入るコマンドである。

0067

’Draw Command 4’は2次元四角形オブジェクト530を描画し、’Draw Command 5’は2次元三角形オブジェクト560を描画する。

0068

’Draw Command 6は2次元四角形オブジェクト561を描画し、’Terminate Command’は描画を終了するコマンドである。

0069

さらに、第2グラフィックスエンジン用コマンドリストCM3は、実行順に、コマンド’Draw Command A’、コマンド’Draw Command B’、コマンド’Wait Command’、コマンド’Draw Command C’、コマンド’Draw Command D’、コマンド’Activate & Wait Command’、’Draw Command E’、コマンド’Draw Command F’と、コマンド’Activate Command’、コマンド’Draw Command G’、コマンド’Draw Command H’、およびコマンド’Terminate Command’とで構成されている。

0070

’Draw Command A’は3次元8角柱オブジェクト551を描画し、’Draw Command B’は3次元直方体オブジェクト552を描画する。

0071

’Wait Command’(第1コマンド)は第2グラフィックスエンジン4がイベント待ち状態に入るコマンドであり、’Draw Command C’は3次元8角柱オブジェクト510を描画する。

0072

’Draw Command D’は3次元3角柱オブジェクト520を描画し、’Activate & Wait Command’(第3コマンド)は第1グラフィックスエンジン3をイベント起動して、第2グラフィックスエンジン4がイベント待ち状態に入るコマンドである。

0073

’Draw Command E’は3次元5角柱オブジェクト540を描画し、’Draw Command F’は3次元直方体オブジェクト550を描画する。

0074

’Activate Command’(第2コマンド)は第1グラフィックスエンジン3をイベント起動するコマンドであり、’Draw Command
G’は3次元3角柱オブジェクト553を描画する。

0075

’Draw Command H’は3次元5角柱オブジェクト554を描画し、’Terminate Command’は描画を終了するコマンドである。

0076

図7は、第1グラフィックスエンジン用コマンドリストCM1を実行したときの第1グラフィックスエンジン3における状態遷移と、第2グラフィックスエンジン用コマンドリストCM3を実行したときの第2グラフィックスエンジン4の状態遷移とを示した図である。ここで、コマンド’Draw Command’の実行状態を’Drawing’、コマンド’Activate & WaitCommand’の実行状態を’Activate & Waiting’、コマンド’Wait Command’の実行状態を’Waiting’、コマンド’Activate Command’の実行状態を’Activate’と示す。

0077

以下、図7を用いて第1グラフィックスエンジン3と第2グラフィックスエンジン4との時系列動作を詳細に説明する。

0078

まず、第1グラフィックスエンジン3は、バス10を介して描画コマンドを格納するメモリ6から、第1グラフィックスエンジン用コマンドリストCM1を読み込む。

0079

これと並列して、第2グラフィックスエンジン4は、バス10を介して描画コマンドを格納するメモリ6から第2グラフィックスエンジン用コマンドリストCM3を読み込む。

0080

そして、第1グラフィックスエンジン3は、’Draw Command 1’と’Draw Command 2’と’Draw Command 3’とを連続実行して、2次元四角形オブジェクト498、2次元三角形オブジェクト499、および2次元四角形オブジェクト500をフレームバッファ6aに連続描画した後、’Activate & Wait Command’を実行して、信号線11にイベント通知であるEvent 1を出すとともに、第2グラフィックスエンジン4からのイベント待ち状態に入る。

0081

これと並列して、第2グラフィックスエンジン4は、’Draw Command A’、ならびに’Draw Command B’を連続実行し、3次元8角柱オブジェクト551と、3次元直方体オブジェクト552とをフレームバッファ6aに連続描画した後、’Wait Command’を実行して、第1グラフィックスエンジン3からのイベント待ち状態に入る。

0082

前述したイベント通知Event 1があったとき、第2グラフィックスエンジン4のイベント待ち状態は解放され、’Draw Command C’と’Draw Command D’とを連続実行して、3次元8角柱オブジェクト510と3次元3角柱オブジェクト520とをフレームバッファ6aに連続描画した後、’Activate & Wait Command’を実行して、信号線11にEvent Aを出すとともに、第1グラフィックスエンジン3からのイベント待ち状態に入る。

0083

イベント通知Event Aがあったとき、第1グラフィックスエンジン3のイベント待ち状態は解放され、’Draw Command 4’を実行して、2次元四角形オブジェクト530をフレームバッファ6aに描画した後、’Activate & Wait Commandを実行して、信号線11にEvent 2を出すとともに、第2グラフィックスエンジン4からのイベント待ち状態に入る。

0084

イベント通知Event 2があると、第2グラフィックスエンジン4のイベント待ち状態は解放され、’Draw Command E’と’Draw Command F’とを連続実行して、3次元5角柱オブジェクト540、および3次元直方体オブジェクト550をフレームバッファ6aに連続描画した後、’Activate Command’を実行して、信号線11にEvent Bを出した後、’Draw Command G’と’Draw Command H’とを連続実行して、3次元3角柱オブジェクト553と、3次元5角柱オブジェクト554とをフレームバッファ6aに連続描画した後、’Terminate Command’を実行して、描画処理を終了する。

0085

そして、イベント通知Event Bがあったとき、第1グラフィックスエンジン3のイベント待ち状態は解放され、’Draw Command 5’’Draw Command 6’とを連続実行し、2次元三角形オブジェクト560、2次元四角形オブジェクト561をフレームバッファ6aに描画した後’Terminate Command’を実行して、描画処理を終了する。

0086

また、本実施の形態における前後関係とは、視点からの距離を基準にして、視点からの距離が大きいオブジェクトほど画面奥に配置され、小さいオブジェクトほど画面手前に配置されるという前後関係である。

0087

さらに、本実施の形態におけるイベント通知(Event 1,2、およびEvent A,B)とは第1、および第2グラフィックスエンジン3,4間で相互に同期制御を行うことための信号線11を介して供給される制御信号のことである。

0088

また、第1、および第2グラフィックスエンジン3,4での’Activate & Wait Command’、’Activate Command’などの制御コマンドの実行、およびEvent 1,2およびEvent A,Bなどの制御信号によって相互に動作の同期制御を行うことが可能となる。

0089

このようにして、第1、および第2グラフィックスエンジン3,4がそれぞれ描画するオブジェクトが互いに重なるとき、第1グラフィックスエンジン3より第2グラフィックスエンジン4が先に描画したり、第1グラフィックスエンジン3より第2グラフィックスエンジン4が先に描画したりしないよう、互いの同期をとるコマンドによって、描画する複数のオブジェクトの前後関係を正しく保っている。

0090

それにより、本実施形態1によれば、第1グラフィックスエンジン3、ならびに第2グラフィックスエンジン4が同時に処理することにより、アプリケーションのハードウェアアクセラレーション効果を向上することができる。

0091

また、描画処理の際に第1、および第2グラフィックスエンジン3,4の制御が不要となるので、CPU2は他の処理を行うことができ、カーナビゲーションシステム1における処理速度を向上することができる。

0092

(実施の形態2)
図8は、本発明の実施の形態2によるカーナビゲーションシステムのブロック図、図9は、図8のカーナビゲーションシステムに設けられたグラフィックスエンジン、およびサウンドエンジンが用いるコマンドリストの説明図、図10は、図9のコマンドリストを実行した際のグラフィックスエンジン、およびサウンドエンジンの状態遷移図である。

0093

本実施の形態2において、カーナビゲーションシステム1aは、図8に示すように、CPU2、画像出力部5、メモリ(記憶手段)13、ストレージ7、ストレージインタフェース8、およびモニタ9からなる前記実施の形態1と同様の構成に、グラフィックスエンジン(グラフィックスコントローラ)12、サウンドエンジン(サウンドコントローラ)14、スピーカ15が設けられている。

0094

グラフィックスエンジン12は、2次元、または3次元のオブジェクトを描画処理する。

0095

メモリ13は、ストレージ7によって読み出された地図データに基づいてCPU2が作成したグラフィックスエンジン用コマンドリスト(第3コマンドリスト)CM5、およびストレージ7によって読み出された音データに基づいてCPU2が作成したサウンドエンジン用コマンドリスト(第4コマンドリスト)SCをそれぞれ格納する格納領域が設けられている。

0096

また、メモリ13には、グラフィックスエンジン12の描画結果を一時的に格納するフレームバッファ13aが設けられているサウンドエンジン14は、音声処理を行う。スピーカ15は、サウンドエンジン14が処理した音声信号外部出力する。

0097

これらCPU2、画像出力部5、メモリ13、ストレージインタフェース8、グラフィックスエンジン12、およびサウンドエンジン14はバス16を介して相互に接続されており、グラフィックスエンジン12とサウンドエンジン14とは信号線17を介して接続されている。

0098

図9は、各コマンドリストを詳細に示した図である。図9の左側はグラフィックスエンジン用コマンドリストCM5を示しており、図9の右側にはサウンドエンジン用コマンドリストSCを示している。

0099

また、図10は、図9のグラフィックスエンジン用コマンドリストCM5、サウンドエンジン用コマンドリストSCをそれぞれ実行した際のグラフィックスエンジン12、およびサウンドエンジン14の状態遷移図である。

0100

ここでは、描画像と再生音に前後関係があるアプリケーションを想定している。描画像が作成されるまで再生音が出力されない、再生音が作成されるまで描画像が出力されない、という時間的な前後関係である。

0101

具体的には、Drawing 30が終了するまで、Playing Cが開始しない。また、Playing Dが終了するまで、Drawing 40が開始しない。

0102

さらに、Drawing 40が終了するまで、Playing Eが開始しない。また、Playing Fが終了するまで、Drawing 50が開始しない。

0103

以下、図8図10を用いてグラフィックスエンジン12、およびサウンドエンジン14の時系列動作を詳細に説明する。

0104

まず、グラフィックスエンジン12は、’Draw Command 10’と’Draw Command 20’と’Draw Command 30’とを連続実行して、フレームバッファ13aに連続描画した後、’Activate & Wait Command’を実行して、信号線17にEvent 10を出すとともに、サウンドエンジン14からのイベント待ち状態に入る。

0105

これと並列して、サウンドエンジン14は、’Sound Command A’と、’Sound Command B’とを連続実行して、スピーカ15を介して音を連続出力した後、’Wait Command’を実行して、グラフィックスエンジン12からのイベント待ち状態に入る。

0106

そして、イベント通知Event 10があったとき、サウンドエンジン14のイベント待ち状態は解放され、’Sound Command C’と’Sound Command D’とを連続実行して、スピーカ15経由で音を連続出力した後、’Activate & Wait Command’を実行して、信号線17にEvent Cを出すとともに、グラフィックスエンジン12からのイベント待ち状態に入る。

0107

イベント通知Event Cがあったとき、グラフィックスエンジン12のイベント待ち状態は解放され、’Draw Command 40’を実行して、フレームバッファ13aに描画した後、’Activate & Wait Command’を実行して、信号線17にEvent 20を出すとともに、サウンドエンジン143からのイベント待ち状態に入る。

0108

イベント通知Event 20があると、サウンドエンジン14のイベント待ち状態は解放され、’Sound Command E’と’Sound Command F’とを連続実行して、スピーカ15を介して音を連続出力した後、’Activate Command’を実行して、信号線17にEventDを出した後、’Terminate Command’を実行して音処理を終了する。

0109

イベント通知Event Dがあったとき、グラフィックスエンジン12のイベント待ち状態は解放され、’Draw Command 50’を実行して、フレームバッファ13aに描画した後、’Terminate Command’を実行して、描画処理を終了する。

0110

ここで、本実施の形態2におけるイベント通知(Event 10,20、およびEvent C,D)とはグラフィックスエンジン12、およびサウンドエンジン14間で相互に同期制御を行うための信号線17を介して供給される制御信号のことである。

0111

また、’Activate & Wait Command’、’Activate Command’、および’Wait Command’の実行、Event 10,20、およびEvent C,Dなどの制御信号によってグラフィックスエンジン12、およびサウンドエンジン14は相互の同期制御を行うことが可能となる。

0112

また、描画像と再生音に前後関係があるときには、グラフィックスエンジン12がサウンドエンジン14より先に描画像を作成したり、サウンドエンジン14がグラフィックスエンジン12よりも先に再生音を出力したりしないよう、互いの同期をとるコマンドにより、描画像と再生音の前後関係を正しく保っている。

0113

それにより、本実施の形態2においては、描画像と再生音に前後関係がないとき、グラフィックスエンジン12、およびサウンドエンジン14を同時に処理させることにより、グラフィックス、サウンドアプリケーションのハードウェアアクセラレーション効果を向上させることができる。

0114

また、描画処理、ならびに音声処理の際にCPU2によるグラフィックスエンジン12、サウンドエンジン14の制御が不要となるので、CPU2が他の処理を行うことによってカーナビゲーションシステム1aにおける処理速度を向上させることができる。

発明を実施するための最良の形態

0115

以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。

0116

本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。

発明の効果

0117

(1)第1、および第2グラフィックスコントローラを並列して動作させることができるので、アプリケーションのハードウェアアクセラレーション効果を大幅に向上させることができる。

図面の簡単な説明

0118

(2)また、グラフィック処理に前後関係が求められるとき、同期コマンドによって第1および第2グラフィックスコントローラの同期を相互にとることができるので、グラフィックス処理における前後関係を容易に保つことができる。

図1
本発明の実施の形態1によるカーナビゲーションシステムのブロック図である。
図2
図1のカーナビゲーションシステムが描画するオブジェクトが互いに重ならない場合の描画結果の一例を示す図である。
図3
図2におけるコマンドリストの説明図である。
図4
図3のコマンドリストを実行した際の第1、および第2グラフィックスエンジンの状態遷移図である。
図5
図5は、図1のカーナビゲーションシステムが描画するオブジェクトが互いに重なる場合の描画結果の一例を示す図である。
図6
図5におけるコマンドリストの説明図である。
図7
図6のコマンドリストを実行した際の第1、および第2グラフィックスエンジンの状態遷移図である。
図8
本発明の実施の形態2によるカーナビゲーションシステムのブロック図である。
図9
図8のカーナビゲーションシステムに設けられたグラフィックスエンジン、およびサウンドエンジンが用いるコマンドリストの説明図である。
図10
図9のコマンドリストを実行した際のグラフィックスエンジン、およびサウンドエンジンの状態遷移図である。
【符号の説明】
1,1a カーナビゲーションシステム(描画処理装置)
2 CPU(コマンドリスト生成手段)
3 第1グラフィックスエンジン(第1グラフィックスコントローラ)
4 第2グラフィックスエンジン(第2グラフィックスコントローラ)
5 画像出力部
6 メモリ(記憶手段)
6a フレームバッファ(第1バッファ)
6b フレームバッファ(第2バッファ)
7 ストレージ
8 ストレージインタフェース
9 モニタ
10 バス
11 信号線
12 グラフィックスエンジン(グラフィックスコントローラ)
13 メモリ(記憶手段)
13a フレームバッファ
14 サウンドエンジン(サウンドコントローラ)
15 スピーカ
16 バス
17 信号線
CM1 第1グラフィックスエンジン用コマンドリスト(第1コマンドリスト)
CM2 第1グラフィックスエンジン用コマンドリスト(第1コマンドリスト)
CM3 第2グラフィックスエンジン用コマンドリスト(第2コマンドリスト)
CM4 第2グラフィックスエンジン用コマンドリスト(第2コマンドリスト)
CM5 グラフィックスエンジン用コマンドリスト(第3コマンドリスト)
SC サウンドエンジン用コマンドリスト(第4コマンドリスト)

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ