(57)【要約】【課題】不要な描画処理および不要なメモリアクセスを抑制し、且つ描画更新情報用のメモリの増大を抑制し、高速な描画処理を行う。【解決手段】描画処理部２は、描画パラメータを保持するパラメータ保持部２１と、パラメータ保持部２１が保持した描画パラメータに基づいて描画処理を実行し、１フレーム毎の描画データを生成すると共に、生成した１フレームの描画データを複数のブロックで分割し、分割した各ブロックのフラグビットを生成する描画実行部２２と、描画実行部２２が生成した１フレーム毎の描画データを保持する描画データ保持部２３と、描画実行部２２が生成した各ブロックの描画更新情報を保持するフラグビット保持部２４とを備え、描画実行部２２は、フラグビット保持部２４に保持された前フレームの各ブロックの描画更新情報と、現フレームの描画パラメータとに基づいて、前フレームの全描画データを削除する処理、および現フレームのうち背景あるいは特定のグラフィックスを描画する初期画面描画処理を実行する。【選択図】図３
2013228851.tif 000002
【特許請求の範囲】
【請求項１】
インタフェース部を介して入力された描画パラメータに基づいて描画データを生成する描画処理部と、
前記描画処理部が生成した描画データを格納するメモリ部と、
前記メモリ部への前記描画データの格納、および前記格納した描画データの読み出しを制御するメモリ制御部とを備え、
前記描画処理部は、前記描画パラメータを保持するパラメータ保持部と、前記パラメータ保持部が保持した描画パラメータに基づいて描画処理を実行し、１フレーム毎の描画データを生成すると共に、生成した１フレームの描画データを複数のブロックで分割し、分割した各ブロックの描画更新情報を生成する描画実行部と、前記描画実行部が生成した１フレーム毎の描画データを保持する描画データ保持部と、前記描画実行部が生成した各ブロックの描画更新情報を保持する描画更新情報保持部とを備え、
前記描画実行部は、前記描画更新情報保持部に保持された前フレームの各ブロックの描画更新情報と、現フレームの前記描画パラメータとに基づいて、前フレームの全描画データを削除する処理、および現フレームのうち背景あるいは特定のグラフィックスを描画する初期画面描画処理を実行する画像描画装置。
【請求項２】
前記描画実行部は、前記描画更新情報保持部に保持された前フレームの各ブロックの描画更新情報を参照し、前記描画更新情報が現フレームの描画パラメータを満たす場合には前記初期画面描画処理を実行せず、前記描画更新情報が現フレームの描画パラメータを満たさない場合には前記初期画面描画処理を実行することを特徴とする請求項１記載の画像描画装置。
【請求項３】
前記描画実行部は、前記描画更新情報保持部に保持された前フレームの各ブロックの描画更新情報のうち、前フレームの描画処理により描画更新情報の値が更新されたブロック数を計測し、保持する更新カウンタを備え、前記更新カウンタの計測値があらかじめ設定した一定数を超えた場合に前記初期画面描画処理を実行することを特徴とする請求項１記載の画像描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グラフィックス描画機能を備えた画像描画装置に関するものである。
【背景技術】
【０００２】
近年、家電、カーナビ、携帯端末、車載メータなどのＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）、デジタル掲示板、電子ポスターおよび運行表示および発車表示などのデジタルサイネージ（電子看板）など、ユーザに対する情報表示の手段として、グラフィックス機能を搭載した画像描画装置が多用されている。これらの画像描画装置では、従来のＣＰＵによるグラフィックス描画ではなく、ＣＰＵとは別に、例えばグラフィックスエンジンなどのグラフィックス描画専用のハードウェアによるグラフィックス描画が行われている。グラフィックスエンジンがＣＰＵの代わりに点／線／多角形の描画、塗りつぶし、ＢｉｔＢＬＴ（Bit Block Transfer）、フォントおよびアニメーションなどのグラフィックス描画を行うことで描画性能の向上、およびＣＰＵの処理負荷の削減を目指している。
【０００３】
ＧＵＩ描画処理において、ＧＵＩを構成するパーツ（ボタン、スクロールバー、メニュー、グラフ、アイコンなど）を１フレーム期間（例えば、１秒間に６０フレームの表示更新なら、１／６０秒）内で描画することで、滑らかなＧＵＩを実現している。ＧＵＩの更新時には、現フレームのＧＵＩ描画の前に、前フレームで描画したＧＵＩを消去するクリア処理（固定値や背景の描画など）をする必要がある。当該画面クリア処理に要する処理時間が長い場合、描画処理に割り当てられる時間が少なくなる。
【０００４】
この問題を解決するため、特許文献１に開示された画像表示処理装置では、メモリに書き込むデータに１からＮまでのいずれかの値を持つコントロールフラグを付加し、１フレーム期間中のメモリのクリア処理を１からＮまでの分割領域のいずれかに対応するメモリ領域についてのみ行うと共に、クリア処理される領域を１フレーム毎に順繰りに変更することにより、１フレーム期間の画面クリア処理に割り当てる時間を抑制し、画像描画処理のための時間を長く確保し、描画性能を向上させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２２２８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に開示された技術では、ＧＵＩなどをＶＲＡＭ（ビデオメモリ）に描画する際に、１フレーム期間の初めに毎回、全画面クリアおよび初期画面描画を行っており、画面更新が行われていない、すなわちクリア処理を実行する必要のないメモリ領域に対してもクリア処理を行うため、描画処理に割り当てられる時間が減少し、その結果描画性能が向上しないという課題があった。
【０００７】
また、特許文献１では、画面を構成する画素（ピクセル）毎にコントロールフラグによる判定を行うことによりクリア処理を分散させる方式が採用しているため、ＧＵＩの画面を構成する全画素、即ち全ピクセルに対して描画更新情報を設ける必要があり、描画更新情報用のメモリが増大してしまうという課題もあった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、ＧＵＩを更新する際に不要な描画処理および不要なメモリアクセスを抑制し、且つ描画更新情報用のメモリの増大を抑制し、高速な描画処理を行う画像描画装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る画像描画装置は、インタフェース部を介して入力された描画パラメータに基づいて描画データを生成する描画処理部と、描画処理部が生成した描画データを格納するメモリ部と、メモリ部への描画データの格納、および格納した描画データの読み出しを制御するメモリ制御部とを備え、描画処理部は、描画パラメータを保持するパラメータ保持部と、パラメータ保持部が保持した描画パラメータに基づいて描画処理を実行し、１フレーム毎の描画データを生成すると共に、生成した１フレームの描画データを複数のブロックで分割し、分割した各ブロックの描画更新情報を生成する描画実行部と、描画実行部が生成した１フレーム毎の描画データを保持する描画データ保持部と、描画実行部が生成した各ブロックの描画更新情報を保持する描画更新情報保持部とを備え、描画実行部は、描画更新情報保持部に保持された前フレームの各ブロックの描画更新情報と、現フレームの描画パラメータとに基づいて、前フレームの全描画データを削除する処理、および現フレームのうち背景あるいは特定のグラフィックスを描画する初期画面描画処理を実行するものである。
【発明の効果】
【００１０】
この発明によれば、描画処理に割り当てる時間を増加させて描画性能を向上させ、且つ不要なメモリアクセスを抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１による画像描画装置の構成を示すブロック図である。
【図２】実施の形態１による画像描画装置のメモリマップの一例を示す図である。
【図３】実施の形態１による画像描画装置の描画処理部の構成を示すブロック図である。
【図４】実施の形態１による画像描画装置の動作を示すフローチャートである。
【図５】実施の形態１による画像描画装置の描画処理部の動作を示すフローチャートである。
【図６】実施の形態１による画像描画装置の描画処理部によるタイル分割の一例を示す図である。
【図７】実施の形態１による画像描画装置の描画処理部により描画されたＧＵＩ画面の一例を示す図である。
【図８】図７で示したＧＵＩ画面の描画処理における描画処理部の動作を示すフローチャートである。
【図９】図８のフローチャートに基づく描画結果を示す図である。
【図１０】図８のフローチャートの詳細を示すフローチャートである。
【図１１】実施の形態１による画像描画装置の描画実行部のフレーム処理を示すフローチャートである。
【図１２】図１０および図１１の処理により設定されるフラグビットおよびその画面描画状態を示す図である。
【図１３】図８のフローチャートの詳細を示すフローチャートである。
【図１４】実施の形態１による画像描画装置の描画実行部の第２フレーム以降のフレーム処理を示すフローチャートである。
【図１５−１】実施の形態１による画像描画装置の第１フレームおよび第２フレーム以降の描画処理におけるフラグビットの遷移状態を示す図である。
【図１５−２】実施の形態１による画像描画装置の第１フレームおよび第２フレーム以降の描画処理におけるフラグビットの遷移状態を示す図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１による画像描画装置の構成を示すブロック図である。
画像描画装置１０は、グラフィックス描画機能および表示機能を有する画像描画装置であり、上位装置である外部のＣＰＵ１１などのホストと接続され、外部の表示装置（不図示）に対して表示画像を出力する。
【００１３】
画像描画装置１０は、ホストインタフェース部１、描画処理部２、表示制御部３、メモリ制御部４およびビデオメモリ部５で構成される。
ホストインタフェース部１とＣＰＵ１１はＣＰＵバス１００を介して接続され、ホストインタフェース部１と描画処理部２および表示制御部３は内部レジスタバス１０１ａを介して接続され、ホストインタフェース部１とメモリ制御部４はビデオメモリバス１０１ｂを介して接続される。また、メモリ制御部４と描画処理部２は描画バス１０２を介して接続され、メモリ制御部４と表示制御部３は表示バス１０３を介して接続され、メモリ制御部４とビデオメモリ部５は格納バス１０４を介して接続される。
【００１４】
ホストインタフェース部１は、ＣＰＵ１１との間のバスインタフェースであり、ＣＰＵ１１からの制御パラメータの入力を受け付けると共に、ＣＰＵ１１に対して制御パラメータの出力を行う。
なお、ＣＰＵ１１は、画像描画装置１０のメモリマップを記憶している。ＣＰＵ１１は記憶したメモリマップを参照し、ホストインタフェース部１を介して画像描画装置１０の内部レジスタ空間およびビデオメモリ空間にアクセスし、当該画像描画装置１０を制御する。
【００１５】
図２は、この発明の実施の形態１による画像描画装置のメモリマップの一例を示す図である。メモリマップ上には、画像描画装置１０内のレジスタ空間およびビデオメモリ空間（ＶＲＡＭ空間）がマッピングされる。レジスタ空間には、ホスト制御、描画処理、表示制御およびメモリ制御などがマッピングされる。また、ビデオメモリ空間には、ディスプレイリスト、フォントデータ、ベクタデータ、ビットマップデータ、描画領域および描画用テンポラリなどがマッピングされる。
【００１６】
ホストインタフェース部１は、ＣＰＵバス１００を介して入力されたアドレスをデコードし、内部レジスタ空間へのアクセスの場合には、内部レジスタバス１０１ａを経由して描画処理部２および表示制御部３の内部レジスタに対する書き込みまたは読み出しを行う。一方、ビデオメモリ空間へのアクセスの場合には、ビデオメモリバス１０１ｂを経由してメモリ制御部４へメモリアクセス要求を行い、ビデオメモリ部５への書き込みまたは読み出しを行う。
【００１７】
描画処理部２は、内部レジスタバス１０１ａ経由で設定されたパラメータを受けて、描画バス１０２を介してメモリ制御部４へのビデオメモリ部５に対するアクセス要求の出力、描画データの生成および当該描画データのメモリ制御部４への入出力を行う。具体的には、描画処理部２は、内部レジスタバス１０１ａ経由で設定されたパラメータに基づいて描画データを生成し、生成した描画データをビデオメモリ部５に設けられた描画領域に書き込む。
【００１８】
表示制御部３は、内部レジスタバス１０１ａ経由で設定されたパラメータを受けて、表示バス１０３を介してメモリ制御部４にリード要求を出力し、ビデオメモリ部５から描画データを読み出す。表示制御部３は、読み出した描画データをあらかじめ設定された表示タイミングで、表示画像として出力する。また、表示制御部３は、内部レジスタバス１０１ａ経由で設定されたパラメータから表示画像の表示タイミングを取得する。表示タイミングを生成するためのパラメータには、描画データを格納するビデオメモリ部５内の先頭アドレス、スクリーンサイズ（幅、高さ）、階調数、水平ブランク期間および垂直ブランク期間などの情報が含まれる。
【００１９】
メモリ制御部４は、ホストインタフェース部１、描画処理部２および表示制御部３からのメモリアクセス要求に基づいて、ビデオメモリ部５への描画データの書き込みおよびビデオメモリ部５からの描画データの読み出しを行う。
【００２０】
ビデオメモリ部５は、描画領域を備えたメモリであり、当該描画領域に描画データを格納する。またビデオメモリ部５は、描画処理部２による描画処理時のテンポラリ用メモリにも使用される。ビデオメモリ部５は、メモリ制御部４により、ライトアクセス、リードアクセスの制御が行われる。
【００２１】
続いて、描画処理部２の詳細な構成について説明する。図３は、この発明の実施の形態１による画像描画装置の描画処理部の構成を示すブロック図である。図３に示すように、描画処理部２は、ホストインタフェース部１から設定されるパラメータを保持し、グラフィックス描画の実行およびフラグビット（画像更新情報）の生成を行う。
描画処理部２は、パラメータ保持部２１、描画実行部２２、描画データ保持部２３およびフラグビット保持部（画像更新情報保持部）２４で構成される。パラメータ保持部２１とホストインタフェース部１は内部レジスタバス１０１ａを介して接続され、パラメータ保持部２１と描画実行部２２は描画制御バス１２１を介して接続される。また、描画実行部２２とメモリ制御部４は描画バス１０２を介して接続される。
【００２２】
パラメータ保持部２１は、ホストインタフェース部１から内部レジスタバス１０１ａを経由して設定される描画実行用のパラメータを保持し、描画制御バス１２１経由で描画実行部２２に出力する。また、描画実行部２２の実行中のステータスを受信し、保持するとともに、ホストインタフェース部１からの要求に従い、内部レジスタバス１０１ａを経由してホストインタフェース部１へ当該ステータスの値を出力する。
【００２３】
描画実行部２２は、パラメータ保持部２１から描画制御バス１２１を経由して出力された描画実行用のパラメータに基づいて、点、線、円、多角形をはじめ、ＢｉｔＢＬＴ転送（ｂｉｔ ｂｌｏｃｋ ｔｒａｎｓｆｅｒ）、フィル（塗りつぶし）、テクスチャマップ、ベクターグラフィックス、フォント、ビットマップおよびアニメーションなどの一般的なグラフィックス描画処理を行う。
【００２４】
また、描画実行部２２は、ＣＰＵ１１の負荷を低減するためにディスプレイリスト方式による描画実行も行う。ディスプレイリスト方式では、描画したいグラフィックスおよびグラフィックスなどを構成する部品をコマンド形式のリスト（以下、ディスプレイリストと称する）にまとめ、グラフィックスエンジンに接続されたメモリ上に格納する。グラフィックスエンジンが当該ディスプレイリスト内のコマンドをＣＰＵ１１を介すことなく、直接読み出してコマンドを実行、すなわち描画処理を実行する。これにより、ＣＰＵ１１とグラフィックスエンジンとの間のグラフィックス描画制御およびデータ転送処理を低減することができる。
【００２５】
また、描画実行部２２は、画面を構成する単位である１フレーム毎に描画処理を実行する。１フレームの描画データを生成する際、１フレームを矩形のブロック単位（以下、タイル単位と称する）に分割して処理を行い、処理結果である描画データを描画データ保持部２３へ出力する。さらに描画実行部２２は、パラメータ保持部２１の描画実行用のパラメータに基づいて、画面クリア処理に使用するフラグビットを生成し、フラグビット保持部２４へ出力する。フレームの描画の画面クリア処理の際、該当するタイルのフラグビットをフラグビット保持部２４から読み出し、読み出したフラグビットに基づいて画面クリア処理を実行する。
【００２６】
描画データ保持部２３は、描画実行部２２により描画処理が実行された際にタイル単位の描画結果を一時的に保持する。フラグビット保持部２４は、描画実行部２２により描画処理が実行された際にタイル単位で生成されたフラグビットを保持する。
【００２７】
次に、画像描画装置１０の処理動作について説明する。
まず始めに、画像描画装置１０に描画処理および表示制御させるために、外部の上位装置もしくはホストが画像描画装置１０に対して実行する処理について説明する。以下では、外部の上位装置もしくはホストとして、ＣＰＵ１１を設けた場合を例に説明する。
図４は、この発明の実施の形態１による画像描画装置の動作を示すフローチャートである。
まず、描画処理および表示制御を行うために、外部の上位装置もしくはホストがＣＰＵバス１００に接続される（ステップＳＴ１）。ステップＳＴ１で接続されたＣＰＵ１１のメモリマップ上に、画像描画装置１０の各構成の動作を規定するレジスタ空間およびビデオメモリ空間などがマッピングされる（ステップＳＴ２）。ＣＰＵバス１００上のメモリマップイメージは、例えば上述した図２に示すイメージである。
【００２８】
ＣＰＵ１１は、画像描画装置１０のホストインタフェース部１を介してレジスタ空間にマッピングされた各構成のレジスタにアクセスし、各構成の動作を実行させる（以下のステップＳＴ３からステップＳＴ５）。ホストインタフェース部１は、ＣＰＵ１１より入力されたアドレスをデコードし、該当する構成のレジスタ空間またはビデオメモリ空間に対する書き込みまたは読み出し処理を実行する。
【００２９】
具体的には、ホストインタフェース部１を介して、表示制御部３にアクセスし、表示パラメータの設定を行う（ステップＳＴ３）。さらにＣＰＵ１１は、描画処理および表示制御の他に、グラフィックス描画に必要なデータ（フォントデータ、ベクタデータおよびビットマップデータなど）を、ホストインタフェース部１を介してビデオメモリ部５に格納させ（ステップＳＴ４）、描画処理および表示処理などに使用するバッファ領域をビデオメモリ部５に割り当てる（ステップＳＴ５）。
【００３０】
また、ホストインタフェース部１を介して、描画処理部２にアクセスし、描画パラメータの設定および描画実行命令の通知を行う（ステップＳＴ６）。描画パラメータとは、例えば、ビデオメモリ空間の描画バッファ先頭アドレス、スクリーンサイズ（幅、高さ）、カラーフォーマット、シザー領域、描画位置、形状情報（点、線、多角形、円など）、属性情報（色、グラデーション有無）、画面描画モード（通常描画、第１の初期画面描画、第２の初期画面描画、第３の初期画面描画など）およびアルファ値などが含まれるパラメータである。ＣＰＵ１１は、全ての描画処理が実行されたか否か判定を行い（ステップＳＴ７）、全ての処理が実行されていないと判定された場合には（ステップＳＴ７；ＮＯ）、ステップＳＴ４の処理に戻り、上述した処理を繰り返す。一方、全ての処理が実行されたと判定された場合には（ステップＳＴ７；ＹＥＳ）、処理を終了する。
【００３１】
次に、上述したステップＳＴ６で描画パラメータの設定および描画実行命令が入力された描画処理部２は、設定された描画パラメータに従い描画データを生成する。生成された描画データは描画バス１０２を介してメモリ制御部４に出力される。メモリ制御部４は、入力された描画データをビデオメモリ部５内の描画領域に書込む。
画像処理部２の詳細な動作を図５のフローチャートを参照しながら説明する。
図５は、この発明の実施の形態１による画像描画装置の描画処理部の動作を示すフローチャートである。
【００３２】
パラメータ保持部２１は、設定された描画パラメータを保持すると共に、描画実行部２２に出力する（ステップＳＴ１１）。描画実行部２２は、ステップＳＴ１１で入力された描画パラメータに基づいて、処理するタイル数を計算し（ステップＳＴ１２）、描画実行命令に該当するタイルの描画データを生成する（ステップＳＴ１３）。描画データ保持部２３は、描画実行部２２が生成した描画データを一時保持する（ステップＳＴ１４）。
【００３３】
また描画実行部２２は、ステップＳＴ１１で入力された描画パラメータの画像描画モードに基づいて、フラグビットを生成する（ステップＳＴ１５）。フラグビット保持部２４は描画実行部２２が生成したフラグビットを保持する（ステップＳＴ１６）。例えば、画像描画モードが１に設定されている場合は、フラグビットを１にし、該当するタイル番号の保持領域にこのフラグビットを保持する。描画実行部２２は、１フレーム内の全てのタイルの描画データ生成が完了したか否か判定を行い（ステップＳＴ１７）、完了していない場合には（ステップＳＴ１７；ＮＯ）、ステップＳＴ１３の処理に戻る。一方、完了した場合には（ステップＳＴ１７；ＹＥＳ）、描画実行部２２が１フレーム分の描画データを描画データ保持部２３から読み出し、メモリ制御部４を介して、ビデオメモリ部５に格納し（ステップＳＴ１８）、処理を終了する。
【００３４】
図６は、この発明の実施の形態１による画像描画装置の描画処理部によるタイル分割の一例を示す図である。
１フレームの描画はスクリーンサイズ内で行われ、スクリーンの１画面を複数のタイルに分割し、描画処理を実行する。例えば、スクリーンサイズが１０２４(幅)×７６８（高）である場合、当該スクリーンを３２（幅）×３２（高）サイズのタイルで分割すると、タイル数は、水平方向：１０２４／３２＝３２、垂直方向：７６８／３２＝２４となり、合計３２×２４＝７６８個のタイルに分割される。
【００３５】
図７は、この発明の実施の形態１による画像描画装置の描画処理部により描画されたＧＵＩ画面の一例を示す図である。
図７では、３つの要素で構成された初期画面を描画し、その後通常画面の描画を行う場合を示している。この場合、１つ目の要素で構成される第１の初期画面の描画である画面クリア処理を実行し（図７（ａ）参照）、次に２つ目の要素で構成される第２の初期画面の描画を実行し（図７（ｂ）参照）、次に３つ目の要素で構成される第３の初期画面の描画を実行し（図７（ｃ）参照）、最後に通常画面の描画を実行する（図７（ｄ）参照）。これらの描画を１フレーム期間内に順次行うことにより、図７（ｅ）に示す１フレーム期間の最終描画結果を得る。
図７では、初期画面描画として、背景のクリア処理、あるいは背景およびグラフィックスボタンなどの特定のグラフィックスを描画する処理を示している。なお、初期画面描画は、クリア処理や背景、特定のグラフィックスの描画に限定されるものではなく、適宜変更可能である。
【００３６】
図７で示した描画処理により複数のフレームが描画される場合の動作についてより詳細に説明する。図８は、図７の描画処理に基づいた画像描画装置の描画処理部の動作を示すフローチャートであり、図９は図８のフローチャートに基づく描画結果を示す図である。
なお、図８のフローチャートでは、第１フレームの描画処理、第２フレームの描画処理、・・・、第Ｎフレームの描画処理が連続して行われる場合を示している。また図９は、第１フレームの描画処理による描画結果、および第２フレームの描画処理による描画結果を示している。
【００３７】
まず第１フレームの描画処理について説明すると、第１の初期画面の描画として全画面クリア処理を行い（ステップＳＴ２１、図９（ａ）参照）、続いて第２の初期画面の描画処理（ステップＳＴ２２、図９（ｂ）参照）、および第３の初期画面の描画処理（ステップＳＴ２３、図９（ｂ）参照）を実行し、最後に第１の通常画面の描画処理を実行し（ステップＳＴ２４、図９（ｃ）参照）、完了となる。
【００３８】
描画実行部２２による第１フレームの描画時の処理動作についてより詳細に説明する。図１０は、図８のフローチャートのステップＳＴ２１からステップＳＴ２４の処理をより詳細に示したフローチャートである。上述した説明と同様に、図１０においても第１から第３の３種類の初期画面を描画する場合を例に説明する。
図１０のフローチャートの処理の前提として、パラメータ保持部２１は、ホストインタフェース部１を介してＣＰＵ１１から描画パラメータの設定、フラグビット保持部２４のフラグビットメモリの初期化の設定およびフラグビットイネーブルレジスタの設定を受け付ける。受け付けた設定は、描画実行部２２に出力される。
【００３９】
描画実行部２２は、パラメータおよび初期化命令に基づいて、全タイルのフラグビットを「０」に設定する（ステップＳＴ３１）。また、描画実行部２２は、フラグビット保持部２４内のフラグビットイネーブルレジスタをフラグビット無効に設定する（ステップＳＴ３２）。パラメータ保持部２１は、画面クリア処理である第１の初期画面の描画を実行する描画モード「１」を設定し、描画実行部２２に対してフレーム処理Ａの実行命令を発行する（ステップＳＴ３３）。描画実行部２２は、ステップＳＴ３８で出力された実行命令に基づいてフレーム処理Ａの実行を行い、第１の初期画面の描画を行う（ステップＳＴ３４）。
【００４０】
続いて、パラメータ保持部２１は、第２の初期画面の描画を実行する描画モード「２」を設定し、描画実行部２２に対してフレーム処理Ａの実行命令を発行する（ステップＳＴ３５）。描画実行部２２は、ステップＳＴ３５で出力された実行命令に基づいてフレーム処理Ａを実行し、第２の初期画面の描画を行う（ステップＳＴ３６）。
【００４１】
続いて、パラメータ保持部２１は、第３の初期画面の描画を実行する描画モード「３」を設定し、描画実行部２２に対してフレーム処理Ａの実行命令を発行する（ステップＳＴ３７）。描画実行部２２は、ステップＳＴ３７で出力された実行命令に基づいてフレーム処理Ａを実行し、第３の初期画面の描画を行う（ステップＳＴ３８）。
【００４２】
続いて、パラメータ保持部２１は、通常画面の描画を実行する描画モード「０」を設定し、描画実行部２２に対してフレーム処理Ａの実行命令を発行する（ステップＳＴ３９）。描画実行部２２は、ステップＳＴ３９で出力された実行命令に基づいてフレーム処理Ａを実行し、通常画面の描画を行う（ステップＳＴ４０）。通常画面の描画が終了すると、処理を終了する。
【００４３】
次に、描画実行部２２のフレーム処理Ａの詳細な処理内容について説明する。図１１は、この発明の実施の形態１による画像描画装置の描画実行部のフレーム処理を示すフローチャートである。
描画実行部２２は、パラメータ保持部２１から入力された描画パラメータ（描画する先頭アドレス、描画サイズ、描画属性（点、線、矩形、三角形、曲線など））から、描画を行うタイルを算出し、描画を行うタイルのタイル番号をリスト化して示したタイルリストを生成する（ステップＳＴ５１）。例えば、図４に示したタイル分割の例では、画面上の７６８個のタイルのうちどのタイルに描画を行うか算出し、描画を行うタイルのタイル番号を示したタイルリストを生成する。
【００４４】
描画実行部２２は、まず処理するタイルを示すタイル番号に「０」を設定する（ステップＳＴ５２）。描画実行部２２は、ステップＳＴ５１で生成したタイルリストを参照し、ステップＳＴ５２で設定されたタイル番号のタイルが描画を行うタイルであるか否か判定を行う（ステップＳＴ５３）。描画を行うタイルでない場合（ステップＳＴ５３；ＮＯ）、描画実行部２２はタイル描画を行うことなく、タイル番号を１加算し（ステップＳＴ５４）、ステップＳＴ５３の判定処理に戻る。
【００４５】
一方、描画を行うタイルであった場合（ステップＳＴ５３；ＹＥＳ）、タイル描画処理を実行する（ステップＳＴ５５）。ステップＳＴ５５のタイル描画を実行した後、該当するタイルのフラグビットを描画モードに設定し（ステップＳＴ５６）、設定したフラグビットをフラグビット保持部２４に保持させる（ステップＳＴ５７）。
具体的には、描画モードが「１」である場合、すなわち第１の初期画面の描画である場合、フラグビットに「１」を設定し、フラグビット保持部２４の該当するタイル番号の領域に保持する。また、描画モードが「２」である場合、すなわち第２の初期画面の描画である場合、フラグビットに「２」を設定し、フラグビット保持部２４の該当するタイル番号の領域に保持する。また、描画モードが「３」である場合、すなわち第３の初期画面の描画である場合、フラグビットに「３」を設定し、フラグビット保持部２４の該当するタイル番号の領域に保持する。また、描画モードが「０」である場合、すなわち通常画面の描画である場合、フラグビットに「０」を設定し、フラグビット保持部２４の該当する番号の領域に保持する。
【００４６】
続いて描画実行部２２は、ステップＳＴ５５でタイル描画処理を実行したタイルが、最終タイルであるか否か判定を行う（ステップＳＴ５８）。最終タイルでない場合（ステップＳＴ５８；Ｎｏ）、タイル番号を１加算し（ステップＳＴ５４）、ステップＳＴ５３の判定処理に戻る。一方、最終タイルである場合（ステップＳＴ５８；ＹＥＳ）、フレーム処理を終了する。
【００４７】
図１２は、図１０および図１１のフローチャートで示した描画実行部の処理により設定されるフラグビットおよび当該フラグビットに基づく画面描画状態を示す図である。
図１２（ａ）は、初期状態であって、画面が未描画の状態を示している。フラグビットも「０」に初期化された状態である。
図１２（ｂ）は、図１２（ａ）で示した画面の画面サイズ（表示サイズ（水平）×表示サイズ（垂直））のエリアに第１の初期画面が描画された状態を示している。具体的には当該エリアを初期値で描画し、画面をクリアした状態を示している。対応するタイルのフラグビットが「１」に設定される。
【００４８】
図１２（ｃ）は、図１２（ｂ）で示した画面上に、第２の初期画面が描画された状態を示している。対応するタイルのフラグビットが「２」に設定される。
図１２（ｄ）は、図１２（ｃ）で示した画面上に、第３の初期画面が描画された状態を示している。対応するタイルのフラグビットが「３」に設定される。
図１２（ｅ）は、図１２（ｄ）で示した画面上に通常画面が描画された状態を示している。対応するタイルのフラグビットが「０」に設定される。
最終的には、図１２（ｅ）に示す「０」から「３」のフラグビットが設定された第１フレームの描画処理が完了する。
【００４９】
次に、図８および図９に戻り、第２フレームの描画処理について説明する。
第２フレームの描画では、ステップＳＴ２１からステップＳＴ２４において第１フレームとして描画した描画データの画面クリア処理を行い（ステップＳＴ２１´、図９（ｄ）参照）、続いて第２の初期画面の描画処理（ステップＳＴ２２´、図９（ｅ）参照）、および第３の初期画面の描画処理（ステップＳＴ２３´）を実行し、最後に第２の通常画面の描画処理を実行し（ステップＳＴ２４´、図９（ｆ）参照）、完了となる。
【００５０】
図１３は、図８のフローチャートのステップＳＴ２１´からステップＳＴ２４´の処理をより詳細に示したフローチャートである。上述した説明と同様に、第１から第３の３種類の初期画面を描画する場合を例に説明する。
図１３のフローチャートの処理の前提として、パラメータ保持部２１は、ホストインタフェース部１を介してＣＰＵ１１から描画パラメータの設定、フラグビット保持部２４のフラグビットイネーブルレジスタの設定を受け付ける。受け付けた設定は、描画実行部２２に出力される。
【００５１】
描画実行部２２は、フラグビット保持部２４内のフラグビットイネーブルレジスタをフラグビット有効に設定する（ステップＳＴ６１）。また、パラメータ保持部２１は、画面クリア処理である第１の初期画面の描画を実行する描画モード「１」を設定し、描画実行部２２に対してフレーム処理Ｂの実行命令を発行する（ステップＳＴ６２）。描画実行部２２は、ステップＳＴ６２で出力された実行命令に基づいてフレーム処理Ｂの実行を行い、第１の初期画面の描画を行う（ステップＳＴ６３）。
【００５２】
続いて、パラメータ保持部２１は、第２の初期画面の描画を実行する描画モード「２」を設定し、描画実行部２２に対してフレーム処理Ｂの実行命令を発行する（ステップＳＴ６４）。描画実行部２２は、ステップＳＴ６４で出力された実行命令に基づいてフレーム処理Ｂを実行し、第２の初期画面の描画を行う（ステップＳＴ６５）。
【００５３】
続いて、パラメータ保持部２１は、第２の初期画面の描画を実行する描画モード「３」を設定し、描画実行部２２に対してフレーム処理Ｂの実行命令を発行する（ステップＳＴ６６）。描画実行部２２は、ステップＳＴ６６で出力された実行命令に基づいてフレーム処理Ｂを実行し、第３の初期画面の描画を行う（ステップＳＴ６７）。
【００５４】
続いて、パラメータ保持部２１は、通常画面の描画を実行する描画モード「０」を設定し、描画実行部２２に対してフレーム処理Ｂの実行命令を発行する（ステップＳＴ６８）。描画実行部２２は、ステップＳＴ６８で出力された実行命令に基づいてフレーム処理Ｂを実行し、通常画面の描画を行う（ステップＳＴ６９）。通常画面の描画が終了すると、処理を終了する。
【００５５】
次に、描画実行部２２のフレーム処理Ｂの詳細な処理内容について説明する。図１４は、この発明の実施の形態１による画像描画装置の描画実行部の第２フレーム以降のフレーム処理を示すフローチャートである。
描画実行部２２は、パラメータ保持部２１から入力された描画パラメータ（描画する先頭アドレス、描画サイズ、描画属性（点、線、矩形、三角形、曲線など））から、描画を行うタイルを算出し、描画を行うタイルのタイル番号をリスト化して示したタイルリストを生成する（ステップＳＴ７１）。例えば、図４に示したタイル分割の例では、画面上の７６８個のタイルのうちどのタイルに描画を行うか算出し、描画を行うタイルのタイル番号を示したタイルリストを生成する。
【００５６】
描画実行部２２は、まず処理するタイル番号を「０」に設定する（ステップＳＴ７２）。描画実行部２２は、ステップＳＴ７１で生成したタイルリストを参照し、ステップＳＴ７２で設定されたタイル番号のタイルが描画を行うタイルか否か判定を行う（ステップＳＴ７３）。描画を行うタイルでない場合（ステップＳＴ７３；ＮＯ）、描画実行部２２はタイル描画を行うことなく、タイル番号に１加算し（ステップＳＴ７４）、ステップ７３の判定処理に戻る。
【００５７】
一方、描画するタイルであった場合（ステップＳＴ７３；ＹＥＳ）、該当するタイルのフラグビットをフラグビット保持部２４から読み込み（ステップＳＴ７５）、読み込んだフラグビットが現在の描画モードより小さい値であるか否か判定を行う（ステップＳＴ７６）。フラグビットが現在の描画モードと同一の値、あるいは大きい値である場合には（ステップＳＴ７６；ＮＯ）、タイル描画を行うことなく、タイル番号に１加算し（ステップＳＴ７４）、ステップ７３の判定処理に戻る。
【００５８】
一方、フラグビットが現在の描画モードより小さい値である場合には（ステップＳＴ７６；ＹＥＳ）、タイルの描画処理を実行し（ステップＳＴ７７）、描画したタイルのフラグビットの値を現在の描画モードに設定する（ステップＳＴ７８）。描画実行部２２は、全てのタイルについて処理を行ったか否か判定を行い（ステップＳＴ７９）、行っていない場合には（ステップＳＴ７９；ＮＯ）、タイル番号に１加算し（ステップＳＴ７４）、ステップ７３の判定処理に戻る。一方、全てのタイルについて処理を行った場合には（ステップＳＴ７９；ＹＥＳ）、処理を終了する。
【００５９】
具体的には、第２フレーム以降の第１の初期画面から第３の初期画面の描画を行う場合、描画するタイルのタイル番号から前フレームの該当タイルのフラグビットを読み出し、読み出したフラグビットが「０」、すなわち前フレームで通常描画されたタイルであり、かつこれから描画する当該タイルの描画モードが「１」であるならば、第１の初期画面の描画である画面クリアが必要であるため、第１の初期画面の描画を実行する。読み出したフラグビットが１で、かつこれから描画する当該タイルの描画モードが「１」であるならば、すでに第１の初期画面が描画されている（画面クリアされているか、書き換えられていない）ため、第１の初期画面の描画処理を行わず、次のタイルに処理を進める。
【００６０】
該当するタイルのフラグビットが「２」で、かつこれから描画する当該タイルの描画モードが「１」の場合は、第１の初期画面の描画実行が必要ないため、第１の初期画面の描画処理は行わない。当該タイルの描画モードが「２」の場合も同様に、第２の初期画面の描画実行が必要ないため、第２の初期画面の描画処理は行わない。一方、該当するタイルのフラグビットが「２」で、かつこれから描画する当該タイルの描画モードが「３」の場合、第３の初期画面の描画実行が必要なため、第３の初期画面の描画処理を行い、該当タイルのフラグビットを「３」に設定する。
【００６１】
これにより、上述した図９で示したように第２フレーム以降の描画において、通常描画による画面更新が行われたタイルのみ初期画面の描画を行う。図９の例では、第１の通常画面（図９（ｃ））が描画された点線で囲まれた領域Ｏのみ、初期画面（第１の初期画面、第２の初期画面および通常画面）の描画が行われる。
図１２で示したように、第１フレームを描画した後、最終的にスクリーンサイズ内のフラグビットが０のタイル（通常画面を描画したタイル、描画更新された領域Ｐ）のみ、第１の初期画面および第２の初期画面の描画処理が行われ、その他のタイルであるフラグビットが「１」，「２」，「３」のタイルでは、第１の初期画面から第３の初期画面の処理を行わないため、初期画面描画処理を省略することができる。
【００６２】
次に、図１５−１，２を参照しながら、第１フレームおよび第２フレーム以降の描画処理におけるフラグビットの遷移状態について説明する。
なお、図１５−１，２の例では、１画面を６４個のタイルに分割した場合を示している。
まず、図１５−１（ａ）に示すように、第１フレームの第１の初期画面の描画、すなわち全画面クリアを実行することにより、６４個全てのタイルのフラグビットを「１」に設定する。
次に、図１５−１（ｂ）に示すように、第２の初期画面の描画により、該当する中心部分の領域Ｑのタイル（６×５＝３０個）のフラグビットを「２」に設定する。
次に、図１５−１（ｃ）に示すように、第３の初期画面の描画により、該当する下方の領域Ｒのタイル（６×１＝６個）のフラグビットを「３」に設定する。
次に、図１５−１（ｄ）に示すように、通常画面の描画により、該当する中心部分の領域Ｓのタイル（４×３＝１２個）のフラグビットを「０」に設定する。
ここで、第１フレームの描画が完了する。
【００６３】
次に、第２フレームの描画に移行する。
第１フレームの描画により設定されたフラグビット値を参照し、フラグビットが「０」に設定されたタイルのみ、初期画面の描画を行う。図１５−１（ｄ）に示した例では、中心部分の領域Ｓのタイル（４×３＝１２個）のフラグビットが「０」に設定されているため、第２フレームの描画では、当該領域Ｓのタイルについてのみ、初期画面処理が実行される。まず、図１５−２（ｅ）に示すように、領域Ｓのタイル（４×３＝１２個）について第１の初期画面の描画、すなわち全画面クリアを実行し、フラグビットを「１」に設定する。
次に、図１５−２（ｆ）に示すように、領域Ｓのタイル（４×３＝１２個）について第２の初期画面の描画が行われ、フラグビットを「２」に設定する。第３の初期画面の描画については、更新箇所が存在しないため、実行されない。次に、図１５−２（ｇ）に示すように、通常画面の描画により、領域Ｓのタイル（４×３＝１２個）のフラグビットが「０」に設定される。第３フレーム以降（図１５−２（ｈ）以降）も同様の処理が行われる。
【００６４】
次に、図８に戻り、第３フレーム以降の描画処理について説明する。
第３フレームの描画では、ステップＳＴ２１´からステップＳＴ２４´において第２フレームとして描画した描画データの全画面クリアを行い、第１の初期画面から第３の初期画面および第３の通常画面の描画処理を実行する。
同様に、最終フレームの１つ前の第Ｎ−１フレームの第Ｎ−１の通常画面を描画した後（ステップＳＴ２４´´）、第Ｎ−１フレームとして描画した描画データの画面クリア処理を行い（ステップＳＴ２１´´´）、続いて第２の初期画面の描画処理（ステップＳＴ２２´´´）、および第３の初期画面の描画処理（ステップＳＴ２３´´´）を実行し、最後に第Ｎの通常画面の描画処理を実行し（ステップＳＴ２４´´´）、完了となる。
【００６５】
次に、上述のように描画された描画データを表示するための制御を行う表示制御部３について説明する。
表示制御部３は、ＣＰＵ１１からホストインタフェース部１および内部レジスタバス１０１ａを経由して入力した情報から表示パラメータを設定する。表示制御部３は、設定した表示パラメータを元に表示タイミングを生成する。具体的には、表示制御部３は、例えばＸＧＡ（１０２４×７６８＠６０Ｈｚ）表示の場合、ドットクロックを６５ＭＨｚとすると、水平トータル画素数：１３４４、垂直トータルライン数：８０６、有効水平画素数１０２４、水平ブランク画素数３２０、垂直有効ライン数：７６８、および垂直ブランクライン数：３８などの情報から表示パラメータを設定し、表示タイミングを生成する。
【００６６】
表示制御部３は、ＣＰＵ１１から設定されたビデオメモリ部５内表示アドレスおよびスクリーンサイズ（幅および高さ）から、表示バス１０３を経由してメモリ制御部４にメモリリード要求を出力し、メモリ制御部４はビデオメモリ部５から該当する描画データをスクリーンサイズ分読み出して表示制御部３に出力し、表示制御部３は生成した表示タイミングに同期させて描画データを表示画像として出力する。
【００６７】
以上のように、この実施の形態１によれば、描画されたタイル単位の描画データを保持する描画データ保持部２３と、１フレームを複数のタイルに分割し、分割したタイル単位で生成されたフラグビットを保持するフラグビット保持部２４と、前フレームの描画時に保持した各タイルの単位の描画更新情報に基づいて、画面クリア処理および初期画面描画処理を実行する描画処理部２とを備えるように構成したので、第２フレーム以降の描画において、タイル単位のフラグビットに基づいた判定により、タイル単位で第１の初期画面から第３の初期画面の描画処理を省略することができる。これにより１フレーム期間の画面クリア処理および初期画面描画処理に割り当てる時間を抑制し、通常画面の描画処理に割り当てる時間を増加させることにより、描画性能を向上させることができる。また、タイル単位で第１の初期画面から第３の初期画面の描画処理を省略することができるため、ビデオメモリへの不要なメモリアクセスを抑制し、消費電力を低減させることができる。
【００６８】
なお、上述した実施の形態１では、ＣＰＵ１１から逐次レジスタ設定を行い、画像描画装置１０の各構成が動作する場合について説明したが、ディスプレイリスト方式のように、一度ビデオメモリ内にレジスタ設定（コマンドリスト、ディスプレイリスト）を格納し、描画処理部２が自走で読み出しを行い、画像描画装置１０の各構成が動作を行うように構成してもよい。
【００６９】
また、上述した実施の形態１では、描画処理部２が、ビデオメモリ部５内に描画データを描画する際に１つの描画領域に描画するシングルバッファを例に説明したが、ビデオメモリ部５内を第１および第２の描画領域に分割して交互に書き込みを行い、第１の描画領域に描画を実行している場合には、第２の描画領域から表示データを読み出し、第２の描画領域に描画を実行している場合には、第１の描画領域から表示データを読み出す処理を可能とするダブルバッファを構成してもよい。
即ち、表示制御部３は、描画処理部２が第１の描画領域に対して描画データの書き込みを行っている間は、第２の描画領域に書き込まれている描画データを読み込んで表示画像を出力し、描画処理部２が第２の描画領域に対して描画データの書き込みを行っている間は、第１の描画領域に書き込まれている描画データを読み込んで表示画像を出力する。
なお、第１の描画領域と第２の描画領域との切り替えは、フレーム単位での描画処理の完了情報に基づいて行われる。
すなわち表示制御部３は、描画処理部２が第１の描画領域に対して描画データの書込みを行っている間は、第２の描画領域に書込まれている描画データを読み込み、描画処理部２が第２の描画領域に対して描画データの書込みを行っている間は、第１の描画領域に書込まれている描画データ読み込む。
なお第１、第２の画像領域の切り替えはフレーム単位での描画処理完了に基づいて行われる。
【００７０】
また、上述した実施の形態１では、フラグビット保持部２４にフラグビットを保持させる場合を例に説明を行ったが、フラグビットをビデオメモリ部５内に保持し、動作させるように構成してもよい。
【００７１】
また、上述した実施の形態１では、タイル単位で毎回フラグビットの読み出しを行い、読み出した情報に基づいて初期画面の描画処理を行う場合について示したが、初期画面を描画するタイル数をカウントすることにより、カウント値が一定数を超えた場合にフラグビットを無効にし（フラグビットの読み出しを行わず）、第１の初期画面から第３の初期画面の描画処理を行うように構成してもよい。
具体的には、描画実行部２２に更新カウンタ（不図示）を設け、フラグビット保持部２４に保持された前フレームの各タイルのフラグビットのうち、前フレームの描画処理によりフラグビットの値が更新されたブロックの数を計測して保持し、更新カウンタの計測値があらかじめ設定された一定数を超えた場合に、現フレームにおける第１の初期画面から第３の初期画面の描画処理を実行する。
【００７２】
また、上述した実施の形態１では、画像サイズがＸＧＡの場合を例に説明したが、画像サイズは表示するディスプレイに応じて任意に変更してもよい。さらに、描画する画像サイズと表示する画像サイズとは、異なってもよい。
【００７３】
また、上述した実施の形態１では、１画面を複数のタイルに分割する処理において、１つのタイルサイズを３２×３２として説明を行ったが、当該タイルサイズは適宜変更可能である。
【００７４】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００７５】
１  ホストインタフェース部、２  描画処理部、３  表示制御部、４  メモリ制御部、５  ビデオメモリ部、１０  画像描画装置、１１  ＣＰＵ、２１  パラメータ保持部、２２  描画実行部、２３  描画データ保持部、２４  フラグビット保持部、１００  ＣＰＵバス、１０１ａ  内部レジスタバス、１０１ｂ  ビデオメモリバス、１０２  描画バス、１０３  表示バス、１０４  格納バス、１２１  描画制御バス。
【図１】
2013228851.tif 000003
【図２】
2013228851.tif 000004
【図３】
2013228851.tif 000005
【図４】
2013228851.tif 000006
【図５】
2013228851.tif 000007
【図６】
2013228851.tif 000008
【図７】
2013228851.tif 000009
【図８】
2013228851.tif 000010
【図９】
2013228851.tif 000011
【図１０】
2013228851.tif 000012
【図１１】
2013228851.tif 000013
【図１２】
2013228851.tif 000014
【図１３】
2013228851.tif 000015
【図１４】
2013228851.tif 000016
【図１５−１】
2013228851.tif 000017
【図１５−２】
2013228851.tif 000018