(57)【要約】  描画制御部１０は、描画処理を行う図形に関するレジスタ設定情報を受け取った場合、専用描画部３０または共通描画部４０がビジーであるか否かを判定し、ビジーであった場合は、レジスタ３１ａ，３２ａまたはレジスタ４０ａのデータと、レジスタ設定情報のデータとを比較する。比較の結果、更新が必要であった場合は、レジスタ設定情報をコマンドバッファ１２に格納する。ビジーが解除された場合は、コマンドバッファ１２に格納したレジスタ設定情報に基づいてレジスタ３１ａ，３２ａまたはレジスタ４０ａの更新を行う。
2013024506.tif 000002
【特許請求の範囲】
【請求項１】
描画用レジスタを有し、当該描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、
前記描画処理を行う図形に関するレジスタ設定情報を受け取った場合、前記描画手段がビジーであるか否かを判定し、ビジーであった場合は、前記描画用レジスタのデータと、前記レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、当該レジスタ設定情報をコマンドバッファに格納し、ビジーが解除され、かつ、更新が必要であった場合は、前記コマンドバッファに格納したレジスタ設定情報に基づいて前記描画用レジスタの更新を行う描画制御手段とを備えた描画制御装置。
【請求項２】
描画制御手段は、コマンドバッファに格納されたレジスタ設定情報の読み出しとレジスタ更新を、前記レジスタ設定情報を送出するＣＰＵからのアクセスとは独立に制御することを特徴とする請求項１記載の描画制御装置。
【請求項３】
描画制御手段は、描画機能毎に分割された専用描画手段と、当該専用描画手段からのピクセルデータ入力を調停し、所定のピクセル演算を行ってフレームバッファに対するピクセルデータの書込を行う共通描画手段とを備えたことを特徴とする請求項１記載の描画制御装置。
【請求項４】
描画用レジスタを有し、当該描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、
前記描画処理を行う図形に関するレジスタ設定情報を受け取った場合、前記描画手段がビジーであるか否かを判定し、ビジーであった場合は、前記描画用レジスタのデータと、前記レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、当該レジスタ設定情報をディスプレイリスト形式で保存し、ビジーが解除され、かつ、更新が必要であった場合は、前記ディスプレイリスト形式で保存したレジスタ設定情報に基づいて前記描画用バッファの更新を行う描画制御手段とを備えた描画制御装置。
【請求項５】
ディスプレイリスト形式のレジスタ設定情報は外部メモリに保存され、かつ、当該保存されたディスプレイリストをデコードして描画制御手段に転送するディスプレイリスト制御手段を備えたことを特徴とする請求項４記載の描画制御装置。
【請求項６】
描画制御装置をコンピュータ上に実現する描画制御プログラムであって、
描画用レジスタを有し、当該描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、
前記描画処理を行う図形に関するレジスタ設定情報を受け取った場合、前記描画手段がビジーであるか否かを判定し、ビジーであった場合は、前記描画用レジスタのデータと、前記レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、当該レジスタ設定情報をコマンドバッファに格納し、ビジーが解除され、かつ、更新が必要であった場合は、前記コマンドバッファに格納したレジスタ設定情報に基づいて前記描画用レジスタの更新を行う描画制御手段としてコンピュータを機能させるための描画制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、図形描画を行うための描画部と、描画部に対するレジスタ設定の制御を行うための描画制御部とを備えた描画制御装置に関するものである。
【背景技術】
【０００２】
従来、ＣＰＵから動作制御情報をパラメータ設定し、設定された情報に基づいて動作を開始する情報処理装置において、パラメータ設定の際の待ち時間を短縮し、システム全体の処理性能を向上させようとする試みがなされている。
例えば、特許文献１に開示されている情報処理装置は、転送されたパラメータと、以前に書き込まれ保持されていた同種類のパラメータとの比較を行い、更新されたか否かを判定し、更新されたパラメータのみ転送する技術を特徴としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６３−２９８６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の情報処理装置は以上のように構成されているので、更新されなかったパラメータの変換、転送を省略できる効果がある。しかし、パラメータの数が増加すると、デコード回路が複雑となる点、主処理部が動作中のレジスタ設定については考慮されていない点、などの課題があった。【０００５】
この発明は上記のような課題を解決するためになされたもので、パラメータの数やＣＰＵからのパラメータの設定順序によらず、描画ビジーおよびパラメータ設定待ち時間を短縮し、描画性能を向上させることができる描画制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る描画制御装置は、描画用レジスタを有し、描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、描画処理を行う図形に関するレジスタ設定情報を受け取った場合、描画手段がビジーであるか否かを判定し、ビジーであった場合は、描画用レジスタのデータと、レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、レジスタ設定情報をコマンドバッファに格納し、ビジーが解除され、かつ、更新が必要であった場合は、コマンドバッファに格納したレジスタ設定情報に基づいて描画用レジスタの更新を行う描画制御手段とを備えたものである。
【発明の効果】
【０００７】
この発明に係る描画制御装置は、描画手段がビジーであった場合に描画用レジスタのデータとレジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、レジスタ設定情報をコマンドバッファに格納するようにしたものである。これにより、描画ビジーおよびパラメータ設定待ち時間を短縮し、描画性能を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１の描画制御装置の構成図である。
【図２】この発明の実施の形態１の描画制御装置の動作を示すフローチャートである。
【図３】この発明の実施の形態１の描画制御装置のレジスタ設定コマンドのフォーマットを示す説明図である。
【図４】この発明の実施の形態２の描画制御装置の構成図である。
【図５】この発明の実施の形態２の描画制御装置の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、本実施の形態による描画制御装置を示す構成図である。
図示の描画制御装置１は、描画制御部（描画制御手段）１０、レジスタバス２０、専用描画部（描画手段）３０、共通描画部（描画手段）４０を備えている。
【００１０】
描画制御部１０は、ＣＰＵバス３を介して、ＣＰＵ２より描画する図形の座標、描画色などのレジスタ設定情報を受け取る。ＣＰＵ２からは、通常アドレス、リード・ライト制御信号、バイトコントロール、ライトデータ等がＣＰＵバス３より入力されるので、入力されたアドレスをデコードして、レジスタバス２０を介して対応する専用描画部３０に対してアクセスを行う。また、描画制御部１０はレジスタバス２０を介して専用描画部３０または共通描画部４０から読み出したレジスタ３１ａ，３２ａまたはレジスタ４０ａの値と、更新するデータとの比較を行うための比較器１１と、比較結果が不一致になった場合にレジスタ設定情報を保存するためのコマンドバッファ１２とを有する。
【００１１】
専用描画部３０は、描画機能毎に分割された構成（例えば、描画部（Ａ）３１が矩形描画用、描画部（Ｂ）３２が円描画用）をとり、それぞれがレジスタ３１ａ，３２ａを備え、描画用レジスタの実体を有する。図１では、専用描画部３０が、描画部（Ａ）３１、（Ｂ）３２の二つに分割されているが、分割の個数はこれより多くてもよい。専用描画部３０は、描画制御部１０からのレジスタ設定情報を元に、図形の内部に含まれるピクセルデータを生成して出力する。
【００１２】
共通描画部４０は、レジスタ４０ａを備え、描画部（Ａ）３１，（Ｂ）３２動作時に共通で使用する描画用レジスタの実体を有し、各専用描画部からのピクセルデータ入力を調停し、αブレンド等のピクセル演算を行って、フレームバッファ４に対する画素データの書込みを行う。図１では、フレームバッファ４は、描画制御装置１の外部としているが、描画制御装置１に内蔵するようにしてもよい。
【００１３】
図１の例では、描画制御装置１の構成要素である描画制御部１０、レジスタバス２０、専用描画部３０、共通描画部４０のそれぞれが専用のハードウェア（例えば、ＭＰＵ（Micro Processing Unit）を実装している半導体集積回路基板）で構成されているものを想定しているが、描画制御装置１がコンピュータで構成される場合（コンピュータには、例えば、パソコンのほかに、後述する描画プログラムを実行することが可能な携帯電話、携帯情報端末やカーナビゲーション装置なども含まれる）、描画制御部１０、レジスタバス２０、専用描画部３０、共通描画部４０の処理内容を記述している描画プログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵ（Central Processing Unit）が当該メモリに格納されている描画プログラムを実行するようにしてもよい。
【００１４】
次に、実施の形態１の描画制御装置の動作について説明する。
図２はこの発明の実施の形態１による描画制御装置１の処理内容を示すフローチャートである。
描画制御装置１は、当該描画制御装置１を搭載しているシステムのＣＰＵ２から描画処理開始命令を受けることにより、動作を開始する。
描画制御部１０は、ＣＰＵバス３から入力されたアドレスをデコードし、描画制御装置１内のいずれのブロックへのアクセスであるかを判定する（ステップＳＴ１）。この際、ＣＰＵバス３に対しては、以下のレジスタ更新の有無に関わらず、即座に応答を返すことで、ＣＰＵ２に対して無駄なウェイトをかけないように制御する。
【００１５】
次いで、専用描画部３０、共通描画部４０のビジー状態のチェックを行う（ステップＳＴ２）。なお、専用描画部３０がビジー状態である場合とは、図形の内部に含まれるピクセルデータを生成している途中の状態であり、共通描画部４０がビジー状態である場合とは、フレームバッファ４に対してピクセルデータの出力を行っている状態である。ステップＳＴ２におけるチェックの結果、レジスタ更新可能な条件を満たす（ビジーでない）場合には、通常通りレジスタ更新を行う（ステップＳＴ７）。
【００１６】
ここで、レジスタ更新可能な条件とは、例えば、対象ブロックおよび対象ブロックよりも上流に接続されているブロックがビジーでない場合とすることができる。図１の構成の場合、例えば共通描画部４０を対象ブロックとした場合、描画部（Ａ）３１及び描画部（Ｂ）３２が対象ブロックよりも上流に接続されているブロックに相当する。
また、更新条件をさらに細かく制御する必要がある場合についても描画制御装置１は対応可能である。例えば、描画部（Ａ）３１の下にさらに描画部Ｃが存在するとし、描画部（Ａ）３１と描画部（Ｂ）３２のいずれかと、描画部Ｃのビジー状態をチェックするような場合や、一部のレジスタの更新条件についてのみ特殊な条件を設定する、といった場合でも対応することが可能である。
【００１７】
一方、ステップＳＴ２において、レジスタ更新可能な条件を満たさない（ビジーである）場合、レジスタバス２０を介してレジスタ更新対象ブロックのレジスタ値を読み出し、更新するデータと比較する（ステップＳＴ３）。比較結果が一致した場合は、レジスタ更新を省略できるので、次にＣＰＵ２から設定されるレジスタ設定の受付待ちの状態に移行する。比較結果が不一致であった場合、描画制御部１０内のコマンドバッファ１２がフルか否かを判定する（ステップＳＴ４）。判定の結果、フルでなければコマンドバッファ１２にレジスタ設定情報を保存する（ステップＳＴ５）。図３は、コマンドバッファ１２に保存するレジスタ設定コマンドのフォーマットの一例であり、３２ビット単位でデータを取り扱っている。レジスタアドレス（ａｄｒ）と、書込みデータ（ｄａｔａ［０］…ｄａｔａ［ｎ］、書込みデータ数（ｎ：データ数−１）を指定し、データが複数有る場合（ｎ＞０）、書き込まれるレジスタアドレスはインクリメントされる。また、ｃｍｄはレジスタ設定コマンドを示している。
なお、コマンドバッファ１２がフルになった場合に限り、ＣＰＵバス３に対してウェイトをかける（ステップＳＴ８）。
【００１８】
描画制御部１０は、レジスタ更新可能な条件が満たされる（ビジーが解除される）と、コマンドバッファ１２に格納されていたレジスタ設定情報を読み出し（ステップＳＴ６）、対象描画ブロックのレジスタ更新を行う（ステップＳＴ７）。図２の点線部分の処理は、レジスタ設定のフローとは独立に動作する。
【００１９】
なお、描画制御装置１の性能を最大限発揮するためには、ビジーチェック、レジスタデータ読み出し、比較の一連の処理は、ＣＰＵバス３のアクセス間隔よりも短いサイクルで実行する必要がある。
また、図１の構成の場合、描画部（Ａ）３１、描画部（Ｂ）３２の描画順序が入れ替わらない範囲で、これら描画部（Ａ）３１及び描画部（Ｂ）３２を並列動作させることも可能である。
【００２０】
以上で明らかなように、この実施の形態１では、描画制御部１０が、レジスタ更新対象ブロックの判定を各ブロックのビジー状態を利用して行い、更新が必要なレジスタ設定情報のみをコマンドバッファ１２に格納した後、適切なタイミングで描画用レジスタ設定を行うので、描画制御部１０の動作効率を向上させることができる。また、更新が必要なレジスタアクセスのみを抽出してコマンドバッファ１２に格納するので、事前にコマンドバッファ１２にコマンド列を格納しておくよりも、コマンドバッファ１２のサイズを小さく抑えることができる。
【００２１】
以上説明したように、実施の形態１の描画制御装置によれば、描画用レジスタを有し、描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、描画処理を行う図形に関するレジスタ設定情報を受け取った場合、描画手段がビジーであるか否かを判定し、ビジーであった場合は、描画用レジスタのデータと、レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、レジスタ設定情報をコマンドバッファに格納し、ビジーが解除され、かつ、更新が必要であった場合は、コマンドバッファに格納したレジスタ設定情報に基づいて描画用レジスタの更新を行う描画制御手段とを備えたので、描画ビジーおよびパラメータ設定待ち時間を短縮し、描画性能を向上させることができる。
【００２２】
また、実施の形態１の描画制御装置によれば、描画制御手段は、コマンドバッファに格納されたレジスタ設定情報の読み出しとレジスタ更新を、レジスタ設定情報を送出するＣＰＵからのアクセスとは独立に制御するようにしたので、ＣＰＵに対して無駄なウェイトをかけることがない。
【００２３】
また、実施の形態１の描画制御装置によれば、描画制御手段は、描画機能毎に分割された専用描画手段と、専用描画手段からのピクセルデータ入力を調停し、所定のピクセル演算を行ってフレームバッファに対するピクセルデータの書込を行う共通描画手段とを備えたので、専用描画手段と共通描画手段とを備えた描画制御装置に対しても適用することができる。
【００２４】
また、実施の形態１の描画制御プログラムによれば、描画用レジスタを有し、描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、描画処理を行う図形に関するレジスタ設定情報を受け取った場合、描画手段がビジーであるか否かを判定し、ビジーであった場合は、描画用レジスタのデータと、レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、レジスタ設定情報をコマンドバッファに格納し、ビジーが解除され、かつ、更新が必要であった場合は、コマンドバッファに格納したレジスタ設定情報に基づいて描画用レジスタの更新を行う描画制御手段としてコンピュータを機能させるようにしたので、描画ビジーおよびパラメータ設定待ち時間を短縮し、描画性能を向上させることのできる描画制御装置をコンピュータ上に実現することができる。
【００２５】
実施の形態２．
図４は、この発明の実施の形態２による描画制御装置１ａを示す構成図である。
実施の形態１では、レジスタ設定情報をコマンドバッファ１２に格納していたが、実施の形態２では、描画制御部１０ａからコマンドバッファ１２を外し、ディスプレイリスト制御部５０を追加する。レジスタ設定情報は、一旦ディスプレイリスト形式でフレームバッファ４（外部メモリ）上に格納し、ディスプレイリスト制御部５０がデータを読み出して使用する。また、描画制御部１０ａとディスプレイリスト制御部５０の間に第２のレジスタバス２１を追加する。
【００２６】
ディスプレイリスト制御部５０は、レジスタ５０ａを有し、描画制御部１０ａからの起動命令により、フレームバッファ４から順次ディスプレイリストを読み出し、コマンドをデコードする。ディスプレイリストの形式は、図３に示したレジスタライトコマンドや、ディスプレイリストの別アドレスに対するジャンプコマンド、サブルーチンコマンド等で構成するのが望ましい。
【００２７】
なお、実施の形態２では、それぞれの構成要素が専用のハードウェアで構成されているものを想定しているが、実施の形態１と同様に、描画制御装置１ａがコンピュータで構成される場合、描画制御部１０ａ、レジスタバス２０、第２のレジスタバス２１、専用描画部３０、共通描画部４０、ディスプレイリスト制御部５０の処理内容を記述している描画プログラムをコンピュータのメモリに格納し、ＣＰＵによって実行するようにしてもよい。
【００２８】
図５は、この発明の実施の形態２による描画制御装置１ａの処理内容を示すフローチャートである。
描画制御部１０ａは、ＣＰＵバス３から入力されたアドレスをデコードし、描画制御装置１ａ内のいずれのブロックへのアクセスであるかを判定する（ステップＳＴ１１）。次いで、専用描画部３０、共通描画部４０のビジー状態のチェックを行う（ステップＳＴ１２）。このビジーチェックは実施の形態１におけるステップＳＴ２と同様である。チェックの結果、レジスタ更新可能な条件を満たす（ビジーでない）場合には、通常通りレジスタ更新を行う（ステップＳＴ１６）。
【００２９】
一方、ステップＳＴ１２において、レジスタ更新可能な条件を満たさない場合、レジスタバス２０を介してレジスタ更新対象ブロックのレジスタ値を読み出し、更新するデータと比較する（ステップＳＴ１３）。比較結果が一致した場合は、レジスタ更新を省略できるので、次にＣＰＵ２から設定されるレジスタ設定の受付待ちの状態に移行する。比較結果が不一致であった場合、フレームバッファ４（外部メモリ）上にレジスタ設定情報を保存する（ステップＳＴ１４）。その後、ビジー状態が解除されると、描画制御部１０ａは、ディスプレイリストの先頭アドレスを指定して、ディスプレイリスト制御部５０を起動する（ステップＳＴ１５）。
【００３０】
ディスプレイリスト制御部５０は、フレームバッファ４からレジスタ設定情報を読み出し、第２のレジスタバス２１を介して、描画制御部１０ａにレジスタ設定アドレス、ライトデータ等を出力する。描画制御部１０ａは、ＣＰＵ２からのアクセスとディスプレイリスト制御部５０からのアクセスとを調停し、対象描画ブロックのレジスタ更新を行う。
【００３１】
以上で明らかなように、実施の形態２では、描画制御部１０ａ内にコマンドバッファが不要となり回路規模を削減できる。また、更新が必要なレジスタアクセスのみを抽出するので、事前にディスプレイリストを生成しておくよりも、ディスプレイリストサイズを小さく抑えることができる。
【００３２】
以上説明したように、実施の形態２の描画制御装置によれば、描画用レジスタを有し、描画用レジスタのデータに基づいて図形の描画処理を行う描画手段と、描画処理を行う図形に関するレジスタ設定情報を受け取った場合、描画手段がビジーであるか否かを判定し、ビジーであった場合は、描画用レジスタのデータと、レジスタ設定情報のデータとを比較して、更新が必要であった場合にのみ、レジスタ設定情報をディスプレイリスト形式で保存し、ビジーが解除され、かつ、更新が必要であった場合は、ディスプレイリスト形式で保存したレジスタ設定情報に基づいて描画用バッファの更新を行う描画制御手段とを備えたので、描画ビジーおよびパラメータ設定待ち時間を短縮し、描画性能を向上させることができる。
【００３３】
また、実施の形態２の描画制御装置によれば、ディスプレイリスト形式のレジスタ設定情報は外部メモリに保存され、かつ、保存されたディスプレイリストをデコードして描画制御手段に転送するディスプレイリスト制御手段を備えたので、事前にディスプレイリストを生成しておくよりも、ディスプレイリストサイズを小さく抑えることができる。
【００３４】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００３５】
以上のように、この発明に係る描画制御装置は、描画する図形の座標、描画色などのレジスタ設定情報を受け取り、このレジスタ設定情報に基づいて図形の描画処理を行う構成に関するものであり、民生・産業機器向けの制御パネル等に用いるのに適している。
【符号の説明】
【００３６】
１，１ａ  描画制御装置、２  ＣＰＵ、３  ＣＰＵバス、４  フレームバッファ、１０，１０ａ  描画制御部、１１  比較器、１２  コマンドバッファ、２０  レジスタバス、２１  第２のレジスタバス、３０  専用描画部、３１  描画部（Ａ）、３２  描画部（Ｂ）、３１ａ，３２ａ，４０ａ，５０ａ  レジスタ、４０  共通描画部、５０  ディスプレイリスト制御部。
【図１】
2013024506.tif 000003
【図２】
2013024506.tif 000004
【図３】
2013024506.tif 000005
【図４】
2013024506.tif 000006
【図５】
2013024506.tif 000007
【国際調査報告】
2013024506.tif 000008
2013024506.tif 000009
2013024506.tif 000010
2013024506.tif 000011