(57)【特許請求の範囲】
【請求項１】
作成したグラフィックスデータをフレームメモリに書き込むための描画用のアクセス要求を、メモリバスを介して上記フレームメモリに接続されているメモリ制御部に行う描画処理部と、
上記フレームメモリに書き込まれているグラフィックスデータを読み出すための表示用のアクセス要求を上記メモリ制御部に行う表示制御部とを備え、
上記表示制御部は、上記描画処理部から描画中か否かを示す描画状態フラグを受けて、描画処理部が描画中でない場合には表示用のデータ転送間隔を短くし、上記描画処理部が描画中である場合には表示用のデータ転送間隔を長くする転送間隔制御部を有し、
上記転送間隔制御部は、描画処理部の各描画処理モードに適した表示用の各データ転送間隔及び各データ転送数を設定しているレジスタと、上記描画処理部の各描画処理モードに応じて上記レジスタに設定されているデータ転送間隔及びデータ転送数を選択するセレクタと、上記セレクタにより選択されたデータ転送間隔及びデータ転送数に従って表示用のアクセス要求のための転送要求トリガを発生する転送トリガ発生部とを有することを特徴とするグラフィックス描画装置。
【請求項２】
転送間隔制御部は、一定の間隔で表示用のデータ転送を行う場合の一定の転送間隔Ｃ毎に発生するデータ転送タイミングをトリガとしてフレーム単位での転送間隔数をカウントする転送間隔数カウンタと、メモリ制御部からデータ転送が行われる毎に発生する転送完了フラグをトリガとしてフレーム単位での実転送数をカウントする実転送数カウンタと、上記転送間隔数カウンタがカウントした転送間隔数と上記実転送数カウンタがカウントした実転送数と描画処理部からの描画中か否かを示す描画状態フラグにより、表示用のデータ転送間隔を決定する転送間隔決定部とを備えたことを特徴とする請求項１記載のグラフィックス描画装置。
【請求項３】
転送間隔決定部は、描画処理部が描画中でない場合に表示用のデータ転送間隔を短くし、上記描画処理部が描画中である場合に、転送間隔数カウンタがカウントした転送間隔数が実転送数カウンタがカウントした実転送数未満であれば表示用のデータ転送間隔を長くし、上記転送間隔数カウンタがカウントした転送間隔数が上記実転送数カウンタがカウントした実転送数以上であれば表示用のデータ転送間隔を一定の転送間隔Ｃにすることを特徴とする請求項１記載のグラフィックス描画装置。
【請求項４】
転送間隔決定部は、転送間隔数カウンタがカウントした転送間隔数と実転送数カウンタがカウントした実転送数を使用して、１フレーム内の残りの転送サイクル数と残りの転送回数に応じた表示用のデータ転送間隔を決定することを特徴とする請求項１記載のグラフィックス描画装置。
【請求項５】
転送間隔決定部は、実転送数カウンタがカウントした実転送数から転送間隔数カウンタがカウントした転送間隔数を減算した値に定数を乗じた値を補正値として出力する補正部と、描画処理部が描画中の前の表示用のデータ転送間隔を格納しているレジスタと、上記補正部からの補正値と上記レジスタに格納されている前の表示用のデータ転送間隔を加算して新たな表示用のデータ転送間隔として上記レジスタに格納する加算器と、描画処理部が描画中でない場合には内部に保持している短い表示用のデータ転送間隔を選択し、描画処理部が描画中の場合には上記レジスタに格納されている表示用のデータ転送間隔を選択するセレクタとを備えたことを特徴とする請求項１記載のグラフィックス描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グラフィックスデータをフレームメモリに書き込み、書き込まれているグラフィックスデータを読み出して表示させるグラフィック描画装置に関するものである。
【背景技術】
【０００２】
従来、グラフィックス描画装置における表示制御部は、表示装置の表示レートに合わせて一定の間隔でメモリ制御部に表示用の転送要求を定期的に出し、１フレームのサイクル数をフレーム当りの転送回数で割って得られるような一定の転送レートでデータ転送を行っていた。これらに関する技術として特許文献１等がある。
【０００３】
図１５は従来のグラフィックス描画装置を含む表示システムの構成を示すブロック図である。このグラフィックス描画装置１は描画処理部９１、表示制御部９２、メモリ制御部９３及びメモリバス９４を備え、フレームメモリ２及び表示装置３と接続されている。また、描画処理部９１、表示制御部９２、メモリ制御部９３及びフレームメモリ２はメモリバス９４で接続されている。
【０００４】
次に動作について説明する。
グラフィックス描画装置１の描画処理部９１はグラフィックスデータを作成し、メモリ制御部９３に描画用のアクセス要求を出してフレームメモリ２に作成したグラフィックスデータを描画する。そして、表示制御部９２はメモリ制御部９３に表示用のアクセス要求を出してフレームメモリ２に書き込まれているグラフィックスデータを読み出して表示装置３上に表示させる。
【０００５】
図１６は従来のグラフィックス描画装置のメモリ制御部９３によるフレームメモリ２へのアクセス要求を示すタイミングチャートである。図１６において、「一定の転送間隔Ｃ」は表示装置３側へ一定の間隔でデータ転送を行う場合の表示制御部９２が管理している転送間隔を示しており、「描画ＯＦＦ」は描画処理部９１が描画中でないことを示し、「描画中」は描画処理部９１が描画中であることを示している。また、「表示」は表示制御部９２による表示用のアクセス要求を示し、「描画」は描画処理部９１による描画用のアクセス要求を示している。
【０００６】
図１６に示すように、表示用のアクセス要求は表示装置３の表示レートに合わせて、１フレームのサイクル数をフレーム当りの転送回数で割って得られるような一定の転送間隔Ｃで定期的に行われている。また、描画用のアクセス要求は、ＣＰＵ（図示せず）からの描画命令により描画処理部９１が描画状態となった場合に行われる。よって、描画状態でない場合には、表示用のアクセス要求のみが間隔を空けて行われており、メモリバス９４が有効に使用されていない。
【０００７】
また、特許文献２に開示されているディスプレイ制御装置では、データの書き込みと読み出しを１ポートのフレームメモリで実現する例が示されているが、この例においても、表示のための読み出しが優先的であり一定のレートで行われている。
【０００８】
さらに、特許文献３に開示されているような航空管制用等の高機能なグラフィックス表示装置では、コンピュータグラフィックス画像とその他の画像の重畳表示、あるいは表示装置に合わせた走査変換のために、描画装置と表示装置の間に画像メモリを持っている。このように、グラフィックス描画装置と表示装置の間に画像メモリを有するシステムにおいては、グラフィックス描画用のフレームメモリと表示側の画像メモリ間のデータ転送は常に同じ間隔で読み出しを行う必要がない。
【０００９】
【特許文献１】特開平１０−７４０７３号公報（段落００１５）
【特許文献２】特開平１０−２３２８２３号公報（段落０００９）
【特許文献３】特開平８−２０１５０８号公報（段落００２６）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来のグラフィックス描画装置は以上のように構成され、表示制御部９１が表示装置３の表示レートに合わせて一定の転送間隔Ｃで定期的にフレームメモリ２に対する表示用のアクセス要求を行っているため、描画処理部１１が描画を行っていない場合には、フレームメモリ２に対するアクセス要求に空きができ、一方、描画処理部１１が描画を行っている場合にも、一定の転送間隔Ｃで表示用のアクセス要求が生じるため、メモリバス９４が有効に使用されておらず描画性能が低下するという課題があった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、フレームメモリに接続されているメモリバスの使用効率を上げ、描画性能を向上させることができるグラフィックス描画装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係るグラフィックス描画装置は、描画処理部と、表示制御部とを備え、表示制御部は、描画処理部から描画中か否かを示す描画状態フラグを受けて、描画処理部が描画中でない場合には表示用のデータ転送間隔を短くし、描画処理部が描画中である場合には表示用のデータ転送間隔を長くする転送間隔制御部を有し、転送間隔制御部は描画処理部の各描画処理モードに適した表示用の各データ転送間隔及び各データ転送数を設定しているレジスタと、上記描画処理部の各描画処理モードに応じて上記レジスタに設定されているデータ転送間隔及びデータ転送数を選択するセレクタと、上記セレクタにより選択されたデータ転送間隔及びデータ転送数に従って表示用のアクセス要求のための転送要求トリガを発生する転送トリガ発生部とを有するものである。
【発明の効果】
【００１３】
この発明によれば、描画時のメモリバスの使用効率を上げることができ、描画性能を向上させることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるグラフィックス描画装置を含む表示システムの構成を示すブロック図である。このグラフィックス描画装置１は、描画処理部１１、表示制御部１２及びメモリ制御部１３を備え、フレームメモリ２と接続されると共に、画像合成・走査変換器４を介して表示装置３と画像メモリ５と接続されている。また、描画処理部１１、表示制御部１２、メモリ制御部１３及びフレームメモリ２はメモリバス１４により接続されている。
【００１５】
図１において、グラフィックス描画装置１はＣＰＵ（図示せず）からの描画命令に従って描画データを算出し、フレームメモリ２に対してグラフィックスデータを作成し、作成したグラフィックスデータをフレームメモリ２に書き込み、フレームメモリ２に格納されているグラフィックスデータを、描画状態に応じた表示用のデータ転送間隔で読み出して画像合成・走査変換器４に出力する。フレーメモリ２はグラフィックスデータの作成に利用され、作成されたグラフィックスデータを格納している。
【００１６】
画面合成・走査変換器４は、グラフィックス描画装置１にて作成されたグラフィックスデータを画像メモリ５に格納し、表示装置３に合わせて走査変換等を行って表示装置３に出力したり、グラフィックスデータとその他の画像データ等を画像メモリ５を使用して合成し表示装置３に合わせて走査変換等を行って表示装置３に出力する。画像メモリ５はグラフィックスデータとその他の画像データ等の合成や走査変換のために使用される。表示装置３は、走査変換等が行われたグラフィックスデータを表示したり、合成され走査変換等が行われた合成データを表示する。
【００１７】
次に動作について説明する。
グラフィックス描画装置１の描画処理部１１は、ＣＰＵからの描画命令に従って描画データの算出を行ってグラフィックスデータを作成し、算出に必要なデータをフレームメモリ２から読み出したり、作成したグラフィックスデータをフレームメモリ２に書き込むための描画用のアクセス要求をメモリ制御部１３に対して行うと共に、描画状態であるか否かを示す描画状態フラグ１０１を表示制御部１２に出力する。メモリ制御部１３は描画処理部１１からの描画用のアクセス要求を受けて、フレームメモリ２からデータを読み出したり、グラフィックスデータをフレームメモリ２へ書き込む。
【００１８】
表示制御部１２は描画処理部１１からの描画状態フラグ１０１に従った適当なデータ転送間隔でフレームメモリ２に格納されているグラフィックスデータを読み出すための表示用のアクセス要求をメモリ制御部１３に対して行う。メモリ制御部１３は表示制御部１２からの表示用のアクセス要求を受けてフレームメモリ２に格納されているグラフィックスデータを読み出し、表示制御部１２はメモリ制御部１３により読み出されたグラフィックスデータを画像合成・走査変換器４に転送する。
【００１９】
図２は表示制御部１２の内部構成を示すブロック図であり、この表示制御部１２は転送間隔制御部２１を備えている。図２において、転送間隔制御部２１は描画処理部１１からの描画状態フラグ１０１に従った適当なデータ転送間隔でフレームメモリ２に格納されているグラフィックスデータを読み出すための描画用のアクセス要求である転送要求トリガ１０２をメモリ制御部１３に対して発生し、メモリ制御部１３により読み出されたグラフィックスデータを画像合成・走査変換器４に転送する。
【００２０】
図３はメモリ制御部１３によるフレームメモリ２へのアクセス要求を示すタイミングチャートであり、１フレーム内の局所的アクセス要求を示している。図３において、「一定の転送間隔Ｃ」は表示装置３側へ一定の間隔でデータ転送を行う場合の表示制御部１２が管理している転送間隔を示しており、「描画ＯＦＦ」は描画状態フラグ１０１が描画中でないことを示し、「描画中」は描画状態フラグ１０１が描画中であることを示している。また、「表示」は表示制御部１２の転送間隔制御部２１による表示用のアクセス要求を示し、「描画」は描画処理部１１による描画用のアクセス要求を示している。
【００２１】
図３に示す例では、描画処理部１１からの描画状態フラグ１０１が描画中でないことを示す場合には、転送間隔制御部２１によるメモリ制御部１３への転送要求トリガ１０２の発生間隔を短くすることによりデータ転送間隔を転送間隔Ａと短くして表示装置３側へのデータ転送レートを高くし、描画処理部１１からの描画状態フラグ１０１が描画中であることを示す場合には、転送間隔制御部２１によるメモリ制御部１３への転送要求トリガ１０２の発生間隔を長くすることによりデータ転送間隔を転送間隔Ｂと長くして表示装置３側へのデータ転送レートを下げている。そして、メモリ制御部１３は転送間隔Ｂにおける表示用のアクセス要求以外の時間に描画処理部１１からの描画用のアクセス要求を受け付ける。
【００２２】
画像合成・走査変換器４は、グラフィックス描画装置１にて作成されたグラフィックスデータを画像メモリ５に格納し、表示装置３に合わせて走査変換等を行って表示装置３に出力したり、グラフィックス描画装置１にて作成されたグラフィックスデータとその他の画像データ等を画像メモリ５を使用して合成し表示装置３に合わせて走査変換等を行って表示装置３に出力する。表示装置３は、画面合成・走査変換器４により走査変換等が行われたグラフィックスデータを表示したり、画面合成・走査変換器４により合成され走査変換等が行われた合成データを表示する。このように、グラフィックス描画装置１と表示装置３の間に画像メモリ５を備えておくことにより、フレームメモリ２と表示装置３間のグラフィックスデータのデータ転送間隔を常に同じにする必要がない。
【００２３】
なお、この実施の形態１では、フレームメモリ２を外部メモリとして設置しているが、グラフィックス描画装置１内の主記憶上の一部のメモリ領域を確保するものであっても良い。
【００２４】
以上のように、この実施の形態１によれば、描画処理部１１の処理状態を示す描画状態フラグ１０１が描画中でないことを示す場合には、表示制御部１２が表示用のデータ転送間隔を短くして表示装置３側へのデータ転送レートを高くし、描画状態フラグ１０１が描画中であることを示す場合には、表示制御部１２が表示用のデータ転送間隔を長くして表示装置３側へのデータ転送レートを低くすることにより、描画処理部１１が描画しようとするときに表示制御部１２による表示用のアクセス要求が減り、その分、描画処理部１１によるアクセス要求を増加させることができるので、メモリバス１４の使用効率を上げることができ、描画性能を向上させることができるという効果が得られる。
【００２５】
実施の形態２．
この発明の実施の形態２によるグラフィックス描画装置を含む表示システムの構成を示すブロック図は実施の形態１の図１と同じであり、表示制御部１２の内部構成を示すブロック図は実施の形態１の図２と同じである。上記実施の形態１では、描画処理部１１が描画中か否かにより表示用のデータ転送間隔を制御しているが、この実施の形態２は描画処理部１１の描画状態に応じて表示用のデータ転送間隔とデータ転送数を細かく制御して、より描画性能の向上を実現するものである。
【００２６】
図４は表示制御部１２内の転送間隔制御部２１の内部構成を示すブロック図である。この転送間隔制御部２１は、レジスタ３１，３２，３３，３４、セレクタ３５及び転送トリガ発生部３６を備えている。
【００２７】
図４において、レジスタ３１には描画状態ａの描画状態フラグ１０１に適したデータ転送間隔ａ及びデータ転送数ａが設定され、レジスタ３２には描画状態ｂの描画状態フラグ１０１に適したデータ転送間隔ｂ及びデータ転送数ｂが設定され、レジスタ３３には描画状態ｃの描画状態フラグ１０１に適したデータ転送間隔ｃ及びデータ転送数ｃが設定され、レジスタ３４には描画状態ｄの描画状態フラグ１０１に適したデータ転送間隔ｄ及びデータ転送数ｄが設定されている。ここで、データ転送数ａ〜ｄはフレームメモリ２から表示用のグラフィックスデータを転送する際の一度のバースト転送で転送するデータ数を示している。
【００２８】
セレクタ３５は描画処理部１１からの描画状態フラグ１０１が示す描画状態ａ〜ｄに応じてレジスタ３１〜３４のいずれかを選択することによりデータ転送間隔ａ〜ｄ及びデータ転送数ａ〜ｄのいずれかを選択する。転送トリガ発生部３６はセレクタ３５により選択されたデータ転送間隔及びデータ転送数に従ってメモリ制御部１３に転送要求トリガ１０２を発生する。
【００２９】
次に動作について説明する。
表示制御部１２内の転送間隔制御部２１のレジスタ３１〜３４には、描画処理部１１の各描画状態ａ〜ｄに対して最適なデータ転送間隔及びデータ転送数が設定されている。セレクタ３５は、描画処理部１１からの描画状態フラグ１０１が示す各描画状態ａ〜ｄに従って、レジスタ３１〜３４に設定されている最適なデータ転送間隔及びデータ転送数の選択を動的に行い、転送トリガ発生部３６は、セレクタ３５により選択されたデータ転送間隔及びデータ転送数の値に従って、メモリ制御部１３に対して転送要求トリガ１０２を発生することにより、表示制御部１２はデータ転送間隔とデータ転送数を変化させて表示装置３側へのデータ転送を行う。
【００３０】
この実施の形態２では、セレクタ３５により選択されたデータ転送数により各表示用のアクセス要求によるデータ転送数が異なるので、表示制御部１２は、転送するデータ転送数を加算し、１フレーム内の総データ転送数が所定の総データ転送数となるように制御する。
【００３１】
図５はメモリ制御部１３によるフレームメモリ２へのアクセス要求を示すタイミングチャートであり、１フレーム内の局所的アクセス要求を示している。図５において、「一定の転送間隔Ｃ」は表示装置３側へ一定の間隔でデータ転送を行う場合の表示制御部１２が管理している転送間隔を示しており、「描画状態ａ〜ｄ」は描画状態フラグ１０１がそれぞれ描画状態ａ〜ｄであることを示し、「表示」は表示制御部１２の転送間隔制御部２１による表示用のアクセス要求を示し、「描画」は描画処理部１１による描画用のアクセス要求を示している。
【００３２】
図５に示す例では、描画処理部１１は複数の描画処理モードを有しており、それぞれの処理モードにおいて、フレームメモリ２への描画用のアクセス要求の状態は異なる。描画状態ａの場合には、描画処理部１１はフレームメモリ２に対する描画用のアクセス要求を行わない。従って、セレクタ３５はその描画状態ａに適した一定の転送間隔Ｃと同じデータ転送間隔ａ及びデータ転送数ａをレジスタ３１から選択し、転送トリガ発生部３６が選択されたデータ転送間隔ａ及びデータ転送数ａに従った転送要求トリガ１０２を発生することにより、表示装置３側へのデータ転送のためだけにフレームメモリ２へのアクセス要求が頻繁になされ、表示装置３側へのデータ転送レートを高くしている。
【００３３】
描画状態ｂの場合には、描画処理部１１は表示用のアクセス要求と同じデータ転送レートでフレームメモリ２への描画用のアクセス要求を行っている。従って、セレクタ３５は描画用のアクセス要求の間に表示用のアクセス要求がなされるように描画状態ａの場合の２倍のデータ転送間隔ｂで描画状態ａのデータ点総数と同じデータ転送数ｂを選択して、表示装置３側へのデータ転送レートを低くしている。
【００３４】
描画状態ｃの場合には、描画処理部１１は表示用のアクセス要求と同じデータ転送レートで、描画状態ａにおける表示用のアクセス要求によるデータ転送間隔ａと同じデータ転送間隔ｃでフレームメモリ２への描画用のアクセス要求を行っている。従って、描画処理部１１に影響のないように表示用のアクセス要求を行うには、描画状態ａのデータ転送数ａのままでは、一度のバースト転送で表示用のデータ転送が完了しない。そこで、描画状態ｃではデータ転送数を描画状態ａの半分に設定されているデータ転送数ｃを選択するすることによりメモリバス１４の使用効率を最適化し描画処理能力を上げるようにデータ転送間隔及びデータ転送数を制御する。
【００３５】
描画状態ｄの場合には、描画処理部１１からフレームメモリ２への描画用のアクセス要求が頻繁になされる。従って、セレクタ３５は表示用のアクセス要求のデータ転送間隔を長くするデータ転送間隔ｄ及びデータ転送数ｄを選択することにより、描画性能を落とさないように表示用のデータ転送レートを制御している。
【００３６】
次に描画処理部１１による描画処理と各描画状態の具体例について説明する。
図６は描画処理部１１の内部構成の一例を示すブロック図である。この描画処理部１１はデータ転送（ＢＩＴＢＬＴ）処理部５１、二次元図形描画処理部５２及び三次元図形描画処理部５３を備えている。図６において、データ転送処理部５１は、フレームメモリ２上のデータを読み出して主記憶へ転送したり、主記憶上のデータをフレームメモリ２に書き込んだり、あるいは、フレームメモリ２上のデータを読み出し、フレームメモリ２上の別の領域に書き込むことにより、表示位置を移動したりといった処理を行う。二次元図形描画処理部５２は、直線、三角形、矩形といった二次元図形プリミティブの描画を行う。三次元図形描画処理部５３は三次元ポリゴンの描画を行う。
【００３７】
図６に示す描画処理部１１では、データ転送処理部５１、二次元図形描画処理部５２及び三次元図形描画処理部５３の動作状態に応じて描画状態フラグ１０１として描画状態ａ〜ｄを出力する。すなわち、描画処理部１１は、データ転送処理部５１、二次元図形描画処理部５２及び三次元図形描画処理部５３の何れも動作していない状態のときに描画状態フラグ１０１として描画状態ａを出力し、データ転送処理部５１が動作している状態のときに描画状態フラグ１０１として描画状態ｂを出力し、二次元図形描画処理部５２が動作している状態のときに描画状態フラグ１０１として描画状態ｃを出力し、三次元描画処理部５３が動作している状態のときに描画状態フラグ１０１として描画状態ｄを出力する。
【００３８】
図７は描画処理部１１の他の内部構成の一例を示すブロック図である。この描画処理部１１はデータ転送処理部５１、二次元図形描画処理部５２、三次元図形描画処理部５３及びピクセル演算処理部５４を備えている。図７において、データ転送処理部５１、二次元図形描画処理部５２及び三次元図形描画処理部５３の動作は図６に示すものと同じであり、ピクセル演算処理部５４はデータ転送処理部５１、二次元図形描画処理部５２及び三次元図形描画処理部５３が算出した各ピクセルデータに対し、フレームメモリ２上のピクセルデータと何らかのデータ処理を行う。ピクセル演算処理部５４で行う処理としては、描画処理部１１で算出したデータとフレームメモリ２上のデータ間の算出演算、ブレンド演算、各ピクセルの奥行き情報を比較するデプステスト、α値を比較するアルファテスト等がある。
【００３９】
ピクセル演算処理部５４がデータ処理を行う場合には、フレームメモリ２中のデータを読み出す必要があり、フレームメモリ２へのアクセス要求が異なるため、データ転送処理部５１、二次元図形描画処理部５２及び三次元図形描画処理部５３が算出したピクセルに対し、ピクセル演算処理部５４が処理を行う場合には、別の描画状態を示す描画状態フラグ１０１を出力する。すなわち、データ転送処理部５１が動作している状態でピクセル演算処理部５４がピクセル演算を行っているときに描画状態フラグ１０１として描画状態ｅを出力し、二次元図形描画処理部５２が動作している状態でピクセル演算処理部５４がピクセル演算を行っているときに描画状態フラグ１０１として描画状態ｆを出力し、三次元描画処理部５３が動作している状態でピクセル演算処理部５４がピクセル演算を行っているときに描画状態フラグ１０１として描画状態ｇを出力する。なお、この場合、表示制御部１２の転送間隔制御部２１は、データ転送間隔ｅ，ｆ，ｇ、データ転送数ｅ，ｆ，ｇをそれぞれ格納しているレジスタを備えているものとする。
【００４０】
さらに、図６及び図７の描画処理部１１に示した二次元図形描画処理部５２では、直線描画、三角形描画、矩形描画等の処理が行われるが、各プリミティブの描画毎に、フレームメモリ２へのアクセス要求が異なる。従って、どのプリミティブを描画しているかを示す描画状態を描画状態フラグ１０１として出力することも考えられる。例えば、直線描画を行っているときに描画状態ｈを出力し、三角形描画を行っているときに描画状態ｉを出力し、矩形描画を行っているときに描画状態ｊを出力する。なお、この場合、表示制御部１２の転送間隔制御部２１は、データ転送間隔ｈ，ｉ，ｊ、データ転送数ｈ，ｉ，ｊをそれぞれ格納しているレジスタを備えているものとする。
【００４１】
図８は三次元図形描画処理部５３の内部構成の一例を示すブロック図である。この三次元図形描画処理部５３はポリゴン生成部６１、テクスチャマッピング処理部６２、ピクセルテスト処理部６３及びピクセルブレンディング処理部６４を備えている。
図８において、ポリゴン生成部６１は三次元ポリゴンを算出する。テクスチャマッピング処理部６２は算出されたプリミティブの各画素データに対しテクスチャイメージの画素データを貼り付ける。ピクセルテスト処理部６３は算出された各画素データの奥行きを示すＺ値を大小比較するデプステストや各画素の持つアルファ値をテストするアルファテスト等を行う。ピクセルブレンディング処理部６４は算出された各画素データとフレームメモリ２中の画素データとのブレンド処理を行う。
【００４２】
図８に示す三次元描画処理部５３では、ポリゴン生成部６１が算出した各ポリゴンに対し、テクスチャマッピング処理部６２、ピクセルテスト処理部６３及びピクセルブレンディング処理部６４がピクセル処理を行うかどうかで、フレームメモリ２へのアクセス要求が異なる。従って、どのピクセル処理を行っているかを示す描画状態を描画状態フラグ１０１として出力することも考えられる。
【００４３】
以上のように、実施の形態２によれば、描画処理部１１の描画状態に応じて、フレームメモリ２への最適な表示用のアクセス要求が行われるように設定した表示用のデータ転送間隔及びデータ転送数を選択して切り替えるよう制御することにより、メモリバス１４の使用効率を上げることができ、描画処理部１１に対する表示用のアクセス要求の影響が減り、描画性能をより向上することができるという効果が得られる。
【００４４】
実施の形態３．
この発明の実施の形態３によるグラフィックス描画装置を含む表示システムの構成を示すブロック図は実施の形態１の図１と同じであり、表示制御部１２の内部構成を示すブロック図は実施の形態１の図２と同じである。上記実施の形態１及び上記実施の形態２では、描画処理部１１の描画状態により表示用のデータ転送間隔を制御しているが、この実施の形態３は、描画状態に応じて表示用のデータ転送間隔を制御すると共に、１フレーム内の表示用のデータ転送数が一定となるようにデータ転送レートを制御することにより、描画性能を向上させると共に１フレーム内の表示用のデータ転送数が一定となることによりフレーム間で所定の表示レートでのスムーズな表示を実現するものである。
【００４５】
図９は表示制御部１２内の転送間隔制御部２１の内部構成を示すブロック図である。この転送間隔制御部２１は転送間隔数カウンタ７１、実転送数カウンタ７２及び転送間隔決定部７３を備えている。
図９において、転送間隔数カウンタ７１は一定の転送間隔Ｃ毎にカウントアップしフレーム単位での転送間隔数をカウントする。実転送数カウンタ７２は転送完了フラグをカウントすることによりフレーム単位での実際の転送回数を示す実転送数をカウントする。転送間隔決定部７３は、転送間隔数カウンタ７１がカウントした転送間隔数と実転送数カウンタ７２がカウントした実転送数と描画処理部１１の描画状態フラグ１０１から、表示用のアクセス要求のデータ転送間隔を決定して転送要求トリガ１０２を出力する。
【００４６】
次に動作について説明する。
表示制御部１２内の転送間隔制御部２１では、転送間隔数カウンタ７１は、表示制御部１２が管理している一定の転送間隔Ｃ毎に発生するデータ転送タイミングをトリガとしてフレーム単位での転送間隔数をカウントする。ここで、一定の転送間隔Ｃとは表示装置３側へ一定の間隔でデータ転送を行う場合の転送間隔を示している。実転送数カウンタ７２は、メモリ制御部１３からデータ転送が行われる毎に発生する転送完了フラグをトリガとしてフレーム単位での実際の転送回数を示す実転送数をカウントする。転送間隔決定部７３は、転送間隔数カウンタ７１がカウントした転送間隔数と実転送数カウンタ７２がカウントした実転送数と描画処理部１１からの描画状態フラグ１０１から、表示用のアクセス要求のデータ転送間隔を決定し、メモリ制御部１３に対して表示用のデータ転送要求をするための転送要求トリガ１０２を発生することにより、データ転送間隔を変化させて表示装置３側へのデータ転送を行う。
【００４７】
図１０は転送間隔決定部７３による転送間隔決定方法を示す図である。転送間隔決定部７３は、図１０に示すように、描画状態フラグ１０１が描画していない状態を示す場合には短い転送間隔Ａと決定し、描画中を示す場合には、転送間隔数カウンタ７１の転送間隔数＜実転送数カウンタ７２の実転送数なら長い転送間隔Ｂと決定し、転送間隔数カウンタ７１の転送間隔数≧実転送数カウンタ７２の実転送数なら一定の転送間隔Ｃと決定する。このように、データ転送間隔を決定することにより、１フレーム内の表示用のデータ転送数が一定となり、フレーム間で所定の表示レートでのスムーズな表示を実現することができる。
【００４８】
図１１はメモリ制御部１３によるフレームメモリ２へのアクセス要求を示すタイミングチャートであり、１フレーム内の局所的アクセス要求を示している。図１１において、「描画ＯＦＦ」は描画状態フラグ１０１が描画中でないことを示し、「描画中」は描画状態フラグ１０１が描画中であることを示している。「表示」は表示制御部１２の転送間隔制御部２１による表示用のアクセス要求を示し、「描画」は描画処理部１１による描画用のアクセス要求を示している。「転送間隔数」は転送間隔数カウンタ７１のカンウト値を示し、「実転送数」は実転送数カウンタ７２のカウント値を示している。
【００４９】
図１１に示す例では、描画状態フラグ１０１が描画を行っていない状態を示す場合には、メモリ制御部１３への表示用のデータ転送間隔を転送間隔Ａと短くして、表示装置３側へのデータ転送レートを高くし、描画を行っている状態を示す場合には、転送間隔数＜実転送数なら、表示用のデータ転送間隔を長い転送間隔Ｂとして、表示装置３側へのデータ転送レートを低くし、転送間隔数≧実転送数なら、１フレームの処理時間内にデータ転送が完了するように表示用のデータ転送間隔を一定の転送間隔Ｃと切り替えて、表示装置３側へのデータ転送レートを制御している。
【００５０】
また、図１１において、実転送の５回目（実転送数５）までは描画ＯＦＦのときに決定された転送間隔Ａでの実転送数であり、５回目の実転送の終了時点で次の転送間隔決定タイミング（１）となるが、このときは描画中であり、５回目の実転送以前の実転送数４と転送間隔数３を比較し、転送間隔数＜実転送数なので表示用のデータ転送間隔を長い転送間隔Ｂとする。また、６回目の実転送の終了時点で次の転送間隔決定タイミング（２）となるが、このときも描画中であり、６回目の実転送以前の実転送数５と転送間隔数５を比較し、転送間隔数≧実転送数なので表示用のデータ転送間隔を一定の転送間隔Ｃとする。さらに、７回目の実転送の終了時点で次の転送間隔決定タイミング（３）となるが、このときも描画中であり、７回目の実転送以前の実転送数６と転送間隔数６を比較し、転送間隔数≧実転送数なので表示用のデータ転送間隔を一定の転送間隔Ｃとする。
【００５１】
次に転送間隔決定部７３による転送間隔決定の別の例について説明する。この例では、転送間隔決定部７３に表示用のデータ転送間隔を算出する転送間隔算出部を設け、描画状態フラグ１０１が描画中であることを示す場合の表示用のデータ転送間隔は、次の式（１）に従って算出した１フレーム内でデータ転送を完了させるための最適値とし、表示装置３側へのデータ転送レートを制御する。
データ転送間隔＝１フレーム内の残りの転送サイクル数÷フレーム内の残りの転送回数
＝（１フレームの総サイクル数−転送間隔数×転送間隔Ｃ）÷
（（１フレームの総転送画素数−転送データ数×実転送数）÷転送データ数）    （１）
なお、式（１）における１フレームの総サイクル数、１フレームの総転送画素数、転送データ数は、表示制御部１２が管理しており、転送間隔算出部に通知されるものとする。
【００５２】
図１２は転送間隔算出部による表示用のデータ転送間隔の算出を説明する図である。すなわち、描画状態フラグ１０１が描画中を示す場合には、図１２に示すように、１フレーム分の総サイクル数から転送間隔数カウンタ７１の転送間隔数に所定の転送間隔Ｃを乗じた値を引いた残りの転送サイクル数を、１フレーム当りの総転送画素数から転送データ数に実転送数を乗じた値を引いて転送データ数で割って得られる残りの転送回数で割った値とすることにより、表示用のデータ転送間隔を１フレーム内の残りの転送サイクル数と残りの転送回数に応じた適正値とする。
【００５３】
さらに転送間隔決定部７３による転送間隔決定の別の例について説明する。
図１３は表示制御部１２内の転送間隔制御部２１の内部構成を示すブロック図である。この転送間隔制御部２１は図９と同様に転送間隔数カウンタ７１、実転送数カウンタ７２及び転送間隔決定部７３を備えており、さらに、転送間隔決定部７３は補正部８１、加算器８２、レジスタ８３及び転送トリガ発生部８４を備えている。
【００５４】
図１３において、補正部８１は実転送数カウンタ７２の実転送数から転送間隔数カウンタ７１の転送間隔数を減算した値に定数を乗じた値を補正値として出力する。この補正値は実転送数＞転送間隔数であれば正の値となり、実転送数＜転送間隔数であれば負の値となり、実転送数＝転送間隔数であれば０となる。
【００５５】
加算器８２は補正部８１からの補正値とレジスタ８３に格納されている描画処理部１１が描画中の前の表示用のデータ転送間隔を加算して新たな表示用のデータ転送間隔としてレジスタ８３に格納する。すなわち、加算器８２は、実転送数＞転送間隔数であれば、前の表示用のデータ転送間隔より長いデータ転送間隔をレジスタ８３に格納し、実転送数＜転送間隔数であれば、前の描画中のデータ転送間隔より短いデータ転送間隔をレジスタ８３に格納し、実転送数＝転送間隔数であれば、前の描画中のデータ転送間隔と同じデータ転送間隔をレジスタ８３に格納する。
【００５６】
転送トリガ発生部８４は描画状態フラグ１０１が描画していない状態を示す場合には、内部に保持している短い転送間隔Ａを選択して転送間隔Ａ毎に転送要求フラグ１０２を出力し、描画中を示す場合には、レジスタ８３に格納されている表示用のデータ転送間隔を選択して、選択した表示用のデータ転送間隔毎に転送要求フラグ１０２を出力する。
【００５７】
このように、図１３に示す転送間隔決定部７３は、描画状態フラグ１０１が描画していない状態を示す場合には、データ転送間隔を短い転送間隔Ａと決定して表示用のデータ転送レートを高くし、描画状態フラグ１０１が描画している状態を示す場合には、実転送数と転送間隔数に基づく補正値によって前のデータ転送間隔を補正した値と決定して表示用のデータ転送レートを変化させる。
【００５８】
以上のように、この実施の形態３によれば、描画処理部１１の描画状態、転送間隔数及び実転送数に応じて、１フレームの処理時間内でデータ転送を完了するような適当なデータ転送間隔で、表示用のアクセス要求が行われるように、表示用のデータ転送レートを制御することにより、メモリバス１４の使用効率を上げることができ、描画処理部１１に対する表示用のアクセス要求の影響が減り、描画性能を向上することができると共に、フレーム間で所定の表示レートでスムーズな表示を実現することができるという効果が得られる。
【００５９】
実施の形態４．
図１４はこの発明の実施の形態４によるグラフィックス描画装置を含む表示システムの構成を示すブロック図である。このグラフィックス描画装置１は、実施の形態１の図１の描画処理部１１を描画処理部１５に置き換え、表示制御部１２を表示制御部１６に置き換え、メモリ制御部１３をメモリ制御部１７に置き換えたもので、その他の接続は図１と同じである。上記実施の形態１〜上記実施の形態３では、描画処理部１１の描画状態により表示用のデータ転送間隔を制御するようにしているが、この実施の形態４はメモリバス１４の負荷状況に応じて表示用のデータ転送間隔を制御することにより描画性能を向上させるものである。図１４において、フレームメモリ２、表示装置３、画像合成・走査変換器４及び画像メモリ５の機能は実施の形態１の図１に示すものと同じである。
【００６０】
図１４において、グラフィックス描画装置１はＣＰＵ（図示せず）からの描画命令に従って描画データを算出し、フレームメモリ２に対してグラフィックスデータを作成し、作成したグラフィックスデータをフレームメモリ２に書き込み、フレームメモリ２に格納されているグラフィックスデータを、メモリバス１４の負荷状態に応じた表示用のデータ転送タイミングで読み出して画像合成・走査変換器４に出力する。
【００６１】
次に動作について説明する。
グラフィックス描画装置１の描画処理部１５は、ＣＰＵからの描画命令に従って描画データの算出を行ってグラフィックスデータを作成し、算出に必要なデータをフレームメモリ２から読み出したり、作成したグラフィックスデータをフレームメモリ２に書き込むための描画用のアクセス要求をメモリ制御部１７に対して行う。メモリ制御部１７は描画処理部１１からの描画用のアクセス要求を受けてフレームメモリ２からデータを読み出したり、グラフィックスデータをフレームメモリ２へ書き込む。
【００６２】
また、メモリ制御部１７は、メモリバス１４の負荷状態を監視し、描画処理部１５からメモリ制御部１７への描画用のアクセス要求が少ない場合、あるいは、メモリバス１４の使用効率が低い場合には、メモリバス１４の負荷が軽い状態を示す負荷状態フラグ１０３を表示制御部１６に出力し、描画処理部１５からメモリ制御部１７への描画用のアクセス要求が多い場合、あるいは、メモリバス１４の使用効率が高い場合には、メモリバス１４の負荷が重い状態を示す負荷状態フラグ１０３を表示制御部１６に出力する。
【００６３】
表示制御部１６は、メモリ制御部１７から受け取ったメモリバス１４の負荷状態を示す負荷状態フラグ１０３に従って、メモリバス１４の負荷が軽い状態では表示用のデータ転送間隔を短い転送間隔Ａとして表示装置３側へのデータ転送レートを高くし、負荷が重い状態では表示用のデータ転送間隔を長い転送間隔Ｂに切り替えて表示装置３側へのデータ転送レートを低くしている。
【００６４】
以上のように、実施の形態４によれば、メモリバス１４の負荷状態を示す負荷状態フラグ１０３が、負荷が軽い状態を示す場合には、データ転送間隔を短い転送間隔Ａとして表示用のデータ転送レートを高くし、負荷が重い状態を示す場合には、データ転送間隔を長い転送間隔Ｂに切り替えて表示用のデータ転送レートを低くすることにより、メモリバス１４の使用効率を上げることができ、描画性能を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００６５】
【図１】この発明の実施の形態１によるグラフィックス描画装置を含む表示システムの構成を示すブロック図である。
【図２】この発明の実施の形態１によるグラフィックス描画装置の表示制御部の内部構成を示すブロック図である。
【図３】この発明の実施の形態１によるグラフィックス描画装置のメモリ制御部によるフレームメモリへのアクセス要求を示すタイミングチャートである。
【図４】この発明の実施形態２によるグラフィックス描画装置の表示制御部内の転送間隔制御部の内部構成を示すブロック図である。
【図５】この発明の実施の形態２によるグラフィックス描画装置のメモリ制御部によるフレームメモリへのアクセス要求を示すタイミングチャートである。
【図６】この発明の実施の形態２によるグラフィックス描画装置の描画処理部の内部構成の一例を示すブロック図である。
【図７】この発明の実施の形態２によるグラフィックス描画装置の描画処理部の他の内部構成の一例を示すブロック図である。
【図８】この発明の実施の形態２によるグラフィックス描画装置の描画処理部内の三次元図形描画処理部の内部構成の一例を示すブロック図である。
【図９】この発明の実施の形態３によるグラフィックス描画装置の表示制御部内の転送間隔制御部の内部構成を示すブロック図である。
【図１０】この発明の実施の形態３によるグラフィックス描画装置の表示制御部内の転送間隔決定部による転送間隔決定方法を示す図である。
【図１１】この発明の実施の形態３によるグラフィックス描画装置のメモリ制御部によるフレームメモリへのアクセス要求を示すタイミングチャートである。
【図１２】この発明の実施の形態３によるグラフィックス描画装置の表示制御部内の転送間隔制御部の転送間隔決定部の転送間隔算出部による表示用のデータ転送間隔の算出を説明する図である。
【図１３】この発明の実施の形態３によるグラフィックス描画装置の表示制御部内の転送間隔制御部の内部構成を示すブロック図である。
【図１４】この発明の実施の形態４によるグラフィックス描画装置を含む表示システムの構成を示すブロック図である。
【図１５】従来のグラフィックス描画装置を含む表示システムの構成を示すブロック図である。
【図１６】従来のグラフィックス描画装置のメモリ制御部によるフレームメモリへのアクセス要求を示すタイミングチャートである。
【符号の説明】
【００６６】
１  グラフィックス描画装置、２  フレームメモリ、３  表示装置、４  画面合成・走査変換器、５  画像メモリ、１１  描画処理部、１２  表示制御部、１３  メモリ制御部、１４  メモリバス、１５  描画処理部、１６  表示制御部、１７  メモリ制御部、２１  転送間隔制御部、３１  レジスタ、３２  レジスタ、３３  レジスタ、３４  レジスタ、３５  セレクタ、３６  転送トリガ発生部、５１  データ転送（ＢＩＴＢＬＴ）処理部、５２  二次元図形描画処理部、５３  三次元図形描画処理部、５４  ピクセル演算処理部、６１  ポリゴン生成部、６２  テクスチャマッピング処理部、６３  ピクセルテスト処理部、６４  ピクセルブレンディング処理部、７１  転送間隔数カウンタ、７２  実転送数カウンタ、７３  転送間隔決定部、８１  補正部、８２  加算器、８３  レジスタ、８４  転送トリガ発生部、１０１  描画状態フラグ、１０２  転送要求トリガ、１０３  負荷状態フラグ。
【図１】
0004707964.tif 000002
【図２】
0004707964.tif 000003
【図３】
0004707964.tif 000004
【図４】
0004707964.tif 000005
【図５】
0004707964.tif 000006
【図６】
0004707964.tif 000007
【図７】
0004707964.tif 000008
【図８】
0004707964.tif 000009
【図９】
0004707964.tif 000010
【図１０】
0004707964.tif 000011
【図１１】
0004707964.tif 000012
【図１２】
0004707964.tif 000013
【図１３】
0004707964.tif 000014
【図１４】
0004707964.tif 000015
【図１５】
0004707964.tif 000016
【図１６】
0004707964.tif 000017