(57)【特許請求の範囲】
【請求項１】
ブレンド処理を起動するブレンド処理コマンドを含んでいる複数のコマンドの解読結果に従って、矩形領域のソース画像情報の画素データをメモリに格納する操作を制御する描画制御回路と、
前記メモリから画素データを表示走査のタイミングに同期して走査方向に読み出す操作を制御する表示制御回路とを有し、
前記ソース画像情報の画素データは、前記メモリに配置されて画素配列に対応する画素データ配列を形成し、前記画素データ配列の列は前記走査方向とは直交され、
前記描画制御回路は前記ブレンド処理を実行可能であり、前記ブレンド処理は、第１の画素データとそれと同一列に配置された前後双方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第１平均処理と、前記第１の画素データと前記前後何れか一方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第２平均処理とであり、
前記ブレンド処理コマンドは第１の属性情報を含み、
前記第１の属性情報は、前記第１平均処理と第２平均処理との何れを実行するかを選択的に指定することを特徴とするグラフィックプロセッサ。
【請求項２】
コマンドの解読結果に従って矩形領域のソース画像情報の画素データをメモリに格納する操作を制御する描画制御回路と、
前記メモリから画素データを表示走査のタイミングに同期して走査方向に読み出す操作を制御する表示制御回路とを含み、
前記描画制御回路は、ブレンド処理を実行させるブレンド処理コマンドを実行可能であり、
前記ブレンド処理コマンドは、画素の配列に対応して画素データが配列されたソース画像情報の所在を示すソース指定情報と、前記走査方向と直交する前記画素データ配列と同一列に配置されている互いに隣接配置された画素データの加重平均の計算を要求するコマンド情報と、前記加重平均された画素データを格納する所在を示すディスティネーション指定情報と、を有し、
前記描画制御回路は、第１の画素データとそれと同一列に配置された前後双方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第１平均処理と、前記第１の画素データと前記前後何れか一方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第２平均処理とを実行可能であり、
前記ブレンド処理コマンドは更に第１の属性情報を含み、
前記第１の属性情報は、前記第１平均処理と第２平均処理との何れを実行するかを選択的に指定することを特徴とするグラフィックプロセッサ。
【請求項３】
前記表示制御回路は、メモリから読み出された画素データを所定期間保持可能なバッファ回路を有し、前記バッファ回路に保持された画素データを表示走査のタイミングに応じてグラフィックプロセッサの外部へ出力することを特徴とする請求項２に記載のグラフィックプロセッサ。
【請求項４】
前記ブレンド処理コマンドは更に、前記ディスティネーション指定情報で指定される領域のうち、クリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納することを指定する第２の属性情報を有するものであることを特徴とする請求項２に記載のグラフィックプロセッサ。
【請求項５】
コマンドの解読結果に従ってソース画像情報の画素データをメモリに格納する操作を制御する描画制御回路と、
前記メモリから画素データを表示走査のタイミングに同期して走査方向に読み出す操作を制御する表示制御回路とを有し、
前記描画制御回路はブレンド処理コマンドを実行可能であって、
前記ブレンド処理コマンドは、画素の配列に対応して画素データが配列されたソース画像情報の所在を示すソース指定情報と、前記走査方向と直交する前記画素データ配列と同一列に配置され互いに隣接配置された画素データの加重平均の計算を要求するコマンド情報と、前記加重平均された画素データを格納する所在を示すディスティネーション指定情報とを有し、
前記描画制御回路は前記ブレンド処理コマンドに基づいて第１の画素データとそれと同一列に配置された前後双方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第１平均処理と、前記第１の画素データと前記前後何れか一方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第２平均処理とを実行可能で、
前記ブレンド処理コマンドは更に第１の属性情報を含み、
前記第１の属性情報は、前記第１平均処理と第２平均処理との何れを実行するかを選択的に指定することを特徴とするグラフィックプロセッサ。
【請求項６】
前記ブレンド処理コマンドは更に、前記ディスティネーション指定情報で指定される領域のうち、クリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納することを指定する第２の属性情報を有するものであることを特徴とする請求項５に記載のグラフィックプロセッサ。
【請求項７】
コマンドの解読結果に従って矩形領域のソース画像情報の画素データをメモリに格納する操作を制御する描画制御回路と、
前記メモリから画素データを表示走査のタイミングに同期して走査方向に読み出す操作を制御する表示制御回路とを有し、
前記描画制御回路はブレンド処理コマンドを実行可能であって、
前記ブレンド処理コマンドは、画素の配列に対応して画素データが配列されたソース画像情報の所在を示すソース指定情報と、前記走査方向とは直交する方向に前記画素データの配列の同じ列上に配置され互いに隣接する画素データの加重平均の計算を要求するコマンド情報と、前記加重平均された画素データを格納する所在を示すディスティネーション指定情報とを有し、
前記ブレンド処理コマンドは更に、前記ディスティネーション指定情報で指定される領域のうちクリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納することを指定する属性情報を含むものであり、
前記描画制御回路は、前記ソース画像情報の画素データと共に前記走査方向と直交する列に隣接配置された前後双方に配置される画素データを加重平均処理する第１処理と、前記ソース画像情報の画素データと共に前後何れか一方に配置される画素データを加重平均処理する第２処理とを実行可能であり、
前記ブレンド処理コマンドは更に第１の属性情報を含み、
前記第１の属性情報は、前記第１処理及び第２処理の何れを実行するかを指定することを特徴とするグラフィックプロセッサ。
【請求項８】
中央処理装置と、グラフィックプロセッサと、メモリと、表示装置とを含み、
前記グラフィックプロセッサは、前記中央処理装置により発行されるブレンド処理コマンドを含むコマンドの解読結果に従って画像情報の画素データを前記メモリに格納する操作を制御する描画制御回路と、前記メモリから画素データを前記表示装置の表示走査のタイミングに同期して走査方向に読み出し、前記読み出した画素データを前記表示装置に供給する操作を制御する表示制御回路とを含み、
前記ブレンド処理コマンドは、画素の配列に対応して画素データが配列された画像情報の所在を示すソース指定情報を含み、
前記ソース画像情報の画素データは、前記メモリに配置されて画素配列に対応する画素データ配列を形成し、前記画素データ配列の列は前記走査方向とは直交され、
前記描画制御回路は前記ブレンド処理を実行可能であり、前記ブレンド処理は、前記走査方向と直交する前記画素データ配列と同一列に配置されている互いに隣接配置された画素データの加重平均を行なって前記ソース画像情報を補正する処理であり、
前記描画制御回路は前記メモリに画素データの加重平均結果を格納することができ、
前記中央処理装置は前記ブレンド処理コマンドを実行する前記グラフィックプロセッサにブレンド処理コマンドを出すことができ、
前記ブレンド処理コマンドは、前記走査方向と直交する前記画素データ配列と同一列に配置されている互いに隣接配置された画素データの加重平均の計算を要求するコマンド情報と、前記加重平均された画素データを格納する所在を示すディスティネーション指定情報と、を有し、
前記描画処理回路は、第１の画素データとそれと同一列に配置された前後双方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第１平均処理と、前記第１の画素データと前記前後何れか一方に配置される第２の画素データとを加重平均処理して前記ソース画像情報を補正する第２平均処理とを実行可能であり、
前記ブレンド処理コマンドは更に第１の属性情報を含み、
前記第１の属性情報は、前記第１平均処理と第２平均処理との何れを実行するかを選択的に指定し、
前記ブレンド処理コマンドは更に、前記ディスティネーション指定情報で指定される領域のうち、クリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納することを指定する第２の属性情報を有し、
前記第２の属性情報の第１の状態では前記ディスティネーション指定情報で指定される領域のうちクリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納し、
前記第２の属性情報が第２の状態では、前記クリッピング領域を無視し前記ディスティネーション指定情報で指定される領域に前記加重平均された画像データを格納することを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ノンインタレース走査による表示に向けられた画像情報をインタレース走査で表示するときに発生する虞のあるフリッカ（ちらつき）を防止する技術に関し、例えばコンピュータのディスプレイに対する表示及び描画制御を行なうグラフィックプロセッサ、更にはそのようなグラフィックプロセッサを用いたデータ処理システムに適用して有効な技術に関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータなどのコンピュータ装置に設けられたグラフィックプロセッサは、アプリケーションプログラムによって作成された画像データをディスプレイの表示タイミングに同期させビデオ信号としてディスプレイに供給する。コンピュータ装置ではノンインタレース走査でディスプレイを制御する。ノンインタレース走査方式は、走査フィールドの飛び越し走査を行なわず、毎回全ての走査線を走査して、1回の垂直走査期間で1画面を形成できるため、ちらつきの少ない良好な表示品質を得ることができる。
【０００３】
一方テレビ等に採用されているインタレース走査方式は走査線を奇数フィールドと偶数フィールドに分け、垂直走査期間毎に、片方のフィールドのみを走査、即ち走査線を1本置きに飛び越し走査して、2回の垂直走査期間で1画面を形成する方式である。
【０００４】
前記ノンインタレース走査方式では毎垂直走査期間毎に全ての走査線を走査するから走査された走査線の垂直方向の位置はどの画面でも同じである。しかしながら、インタレース走査方式では、奇数フィールドの走査線から成る画面と偶数フィールドの走査線から成る画面とを、垂直走査期間毎に交互に表示するから、表示に供される走査線の垂直位置は連続する前後の画面間で1走査線分ずれることになる。このため、インタレース走査方式では隣接する走査線の画像情報の差異（輝度若しくは色等の差異）が大きいと、偶数フィールド画面と奇数フィールド画面との間でちらつきを生じ易くなる。
【０００５】
ところで、パーソナルコンピュータで作成された高解像度の画像データをNTSC（National Television System Committee ）方式等のビデオ信号に変換することによって通常のテレビジョンセットにも表示させたいというニーズがある。しかしながら、走査方式を変えるだけでそのままコンピュータ画像をテレビジョンセットに表示させると、ノンインタレース走査方式のディスプレイに表示する場合と異なり、画面にちらつきが発生する。これは、テレビやビデオカメラ或いはVTRなどによる自然画に比べると、コンピュータ画像は主に文字などの線やシェードパターンで構成され、上下隣接する走査線間で画像情報の差異が大きいからである。例えば、上下隣接する走査線上の同一縦方向位置の画素が黒、白、黒のように輝度に大きな差異がある場合、当該画素部分の黒と白は２画面で表示され、これによってちらつきを生ずる。
【０００６】
そのようなちらつきを防止する技術は、特開平６−８３２９９、特開平７−２７４０８６、特開平６−４６２９９、特開平８−３１７３１１の各号公報に記載が有る。それら技術は細部において夫々相違が有るが、何れも、表示制御系において走査線毎に画像情報を格納するラインバッファを複数走査線分用意し、複数本のラインバッファには現在の走査線の画像情報と共に其の前の走査線上の画像情報を蓄え、現走査線上の画素データを前の走査線上の対応位置の画素データを用いて補正し、走査線間で画像情報の差異が大きくならないようにするものである。
【０００７】
【発明が解決しようとする課題】
ラインバッファは表示タイミングに同期して動作されなければならないから、ラインバッファには高速ＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）などを用いなければならない。このとき、従来技術はラインバッファを複数本必要とするから、表示制御回路更にはグラフィック制御回路のコストを上昇させてしまう。また、表示制御系で前記ちらつきを防止する技術は、既に描画が完了されてフレームバッファに格納された画像データを表示走査に同期して出力するとき補正処理を行なうものであり、描画前のソース画像に着目してちらつき防止の処理を行なったり、その処理の度合いを任意に決定したりするという自由度について考慮されていない。
【０００８】
本発明の目的は、隣接する走査線の画像情報の差異をラインバッファを増やすことなく緩和することができるグラフィックプロセッサ及びデータ処理システムを提供することになる。
【０００９】
本発明の別の目的は、ノンインタレース走査表示に向けられた画像情報をインタレース走査で表示するときに発生する虞のあるちらつきの防止を、ラインバッファの数を増やすことなく実現できるグラフィックプロセッサ及びデータ処理システムを提供することにある。
【００１０】
本発明の他の目的は、解像度の異なる画像情報をオーバーレイしてインタレース走査で表示したとき解像度の相違による画面のちらつきを防止する処理を自由に行なうことができるグラフィックプロセッサ及びデータ処理システムを提供することにある。
【００１１】
本発明の他の目的は、ちらつき防止のための命令を有する低コストなグラフィックプロセッサを提供することにある。
【００１２】
本発明の他の目的は、フレームバッファメモリでちらつき防止のための画像データ処理を行なうことが可能なデータ処理システムを提供することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【００１４】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１５】
本発明の第1の観点によるグラフィックプロセッサ（１）は、例えば図1に例示されるように、コマンドの解読結果に従って画素データをフレームバッファとしてのメモリ（４）に描画するための制御を行なう描画制御手段（２）と、メモリに描画された画素データを表示走査のタイミングに同期して走査方向に読み出す制御を行なう表示制御手段（３）とを含む。前記描画制御手段は、画素の配列に対応して画素データが配列されたソース画像情報の画素データを、前記走査方向とは直交する方向に隣接する画素データと加重平均を行なって、前記ソース画像情報を補正するブレンド処理を実行可能である。グラフィックプロセッサに対しては、ブレンド処理を行うためのコマンド（命令）が定義されている。ブレンド処理において、隣接する画素データを用いて加重平均を行なうことにより、隣接する走査線間で画像情報の差異が大きい場合にもその差異を緩和する事ができる。このとき、描画制御手段はメモリから画素データを前記走査方向とは直交する方向に順次読み出して加重平均を行なえばよく、描画制御手段はもとより表示制御手段にもラインバッファのような記憶手段を新たに増設することを要しない。これにより、隣接する走査線の画像情報の差異をラインバッファを増やすことなく緩和することができる。そのようにして、ブレンド処理された画像情報をインタレース走査形式で表示しても、不所望なちらつきは発生しない。
【００１６】
グラフィックプロセッサにちらつき防止の為の命令をもたせることによって、低コストでちらつき防止が可能なグラフィックプロセッサが提供できる。
【００１７】
本発明の第２の観点によるグラフィックプロセッサは、コマンドの解読結果に従って画素データをメモリに描画するための制御を行なう描画制御手段と、メモリに描画された画素データを表示走査のタイミングに同期して走査方向に読み出す制御を行なう表示制御手段とを含み、前記描画制御手段は、画素の配列に対応して画素データが配列されたソース画像情報の所在を示すソース指定情報と、前記ソース指定情報で示されるソース画像情報の画素データを前記走査方向とは直交する方向に隣接する画素データと加重平均を行なうことを指示するコマンド情報と、加重平均された画素データを格納する所在を示すディスティネーション指定情報とを有するブレンド処理コマンドを実行可能である。これにより、前記描画制御手段は、画素の配列に対応して画素データが配列されたソース画像情報の画素データを前記メモリから読み込み、読み込んだ画素データを前記走査方向とは直交する方向に隣接する他の画素データと加重平均して前記メモリに書き戻すという、リード・モディファイ・ライトのような処理を行なうことによってブレンド処理を実行することができる。したがって、描画制御手段はもとより表示制御手段にもラインバッファのような記憶手段を新たに増設することを要せず、隣接する走査線間で画像情報の差異が大きい場合にもその差異を緩和することができる。
【００１８】
ブレンド処理コマンドにおけるソース指定情報とディスティネーション指定情報とを任意に指定できるので、表示領域に対してブレンド処理を施す領域を任意に決定できるという自由度を得ることができる。例えば、自然画とコンピュータ画像とをオーバーレイするとき、コンピュータ画像に対してだけブレンド処理を施す事ができる。したがって、必要な部分の画像情報に対してだけブレンド処理を行なうことができ、無駄な処理を省くことができ、ブレンド処理時間の短縮と画質向上との双方を実現できる。
【００１９】
前記ブレンド処理コマンドは更に、前記加重平均を行なう対象を、前記走査方向とは直交する方向に隣接する前後双方の画素データとするか、又は前記走査方向とは直交する方向に隣接する前後何れか一方の画素データとするかを指定する第1の属性情報を有することができる。過度な加重平均が行なわれると逆に画像がぼけてしまう虞もあるので、ブレンド処理対象とされるソースデータの特性に応じて加重平均の度合いを選択できる。これによって、高品質なちらつき防止を実現する。
【００２０】
また、前記ブレンド処理コマンドは更に、前記ディスティネーション指定情報で指定される領域のうちクリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納することを指示する第2の属性情報を有することができる。これにより、ディスティネーション指定情報に加えて、クリッピング領域も使用でき、ブレンド処理の操作性若しくはグラフィックプロセッサの使い勝手を更に向上させることができる。
【００２１】
本発明の第3の観点によるデータ処理システムは、中央処理装置と、グラフィックプロセッサと、フレームバッファとしてのメモリ手段と、ディスプレイとを含む。前記グラフィックプロセッサは、前記中央処理装置が発行するコマンドの解読結果に従って画素データを前記メモリ手段に描画する制御を行なう描画制御手段と、前記メモリ手段に描画された画素データを前記ディスプレイによる表示走査のタイミングに同期して走査方向に読み出し前記ディスプレイに与える制御を行なう表示制御手段とを含む。前記描画制御手段は、画素の配列に対応して画素データが配列されたソース画像情報の画素データを前記メモリ手段から読み込み、読み込んだ画素データを前記走査方向とは直交する方向に隣接する他の画素データと加重平均して前記メモリ手段に書き戻すブレンド処理を実行可能である。これにより、グラフィックプロセッサは、リード・モディファイ・ライトのような処理を行なうことによってブレンド処理を実行し、メモリ手段上の画像データを処理することができる。したがって、描画制御手段はもとより表示制御手段にもラインバッファのような記憶手段を新たに増設することを要せず、隣接する走査線間で画像情報の差異が大きい場合にもその差異を緩和することができる。
【００２２】
前記中央処理装置は前記グラフィックプロセッサに前記ブレンド処理を実行させるためにブレンド処理コマンドを発行可能であり、該ブレンド処理コマンドは、画素の配列に対応して画素データが配列されたソース画像情報の所在を示すソース指定情報と、前記ソース指定情報で示されるソース画像情報の画素データを前記走査方向とは直交する方向に隣接する画素データと加重平均を行なうことを指示するコマンド情報と、加重平均された画素データを格納する所在を示すディスティネーション指定情報とを含むことができる。
【００２３】
前記ブレンド処理コマンドは更に第１の属性情報を含むことができる。このとき、前記描画制御手段は、前記第1の属性情報の値に応じて、前記加重平均を行なう対象を、前記走査方向とは直交する方向に隣接する前後双方の画素データとするか、又は前記走査方向とは直交する方向に隣接する前後何れか一方の画素データとするかを決定する。また、前記ブレンド処理コマンドは更に第2の属性情報を含むことができる。このとき、前記描画制御手段は、前記中央処理装置によってクリッピング領域の指定情報が設定されるクリッピングレジスタを有し、前記第2の属性情報が第1の状態では前記ディスティネーション指定情報で指定される領域のうちクリッピング領域に含まれる領域に対してだけ前記加重平均された画像データを格納し、前記第2の属性情報が第２の状態ではクリッピング領域を無視し前記ディスティネーション指定情報で指定される領域に前記加重平均された画像データを格納する。これにより、描画前のソース画像の特徴に着目してちらつき防止の処理の度合いを任意に決定したり、ディスティネーション指定情報とクリッピング領域との双方を利用してブレンド処理を行なうことができるという自由度を達成できる。
【００２４】
上記の様にグラフィックプロセッサにちらつき防止用の命令を設けることで、ソフトウェア的にちらつき防止を行なうことができる。このことは、１つのグラフィックプロセッサの用途を複数のデータ処理システムに向けられることを意味する。
【００２５】
【発明の実施の形態】
《データ処理システム》
図２には本発明の一例に係るデータ処理システムのブロック図が示される。アドレス、データ及び制御信号の各信号線を含むシステムバス５には、代表的に示されたマイクロプロセッサ若しくはマイクロコンピュータのようなＣＰＵ（中央処理装置）６、メモリ７、及びグラフィックプロセッサ１が結合されている。前記メモリ７はＣＰＵ６の作業領域若しくはデータ一時記憶領域として利用される所謂メインメモリを構成する。前記ＣＰＵ６とグラフィックプロセッサ１の夫々は、単結晶シリコンのような1個の半導体基板に形成されて、別々に半導体集積回路化されている。
【００２６】
図示されたデータ処理システムが例えばナビゲーションシステムに適用される場合、前記システムバス５には地図データをアクセスするための図示を省略するドライブ装置のインタフェース回路や位置検出回路とのインタフェース回路などが接続される。また、図示されたデータ処理システムがインタネットテレビに適用される場合、前記システムバス５には図示を省略するモデム若しくはターミナルアダプタなどが接続される。
【００２７】
前記グラフィックプロセッサ１にはローカルメモリとしてユニファイドメモリ４が結合される。このユニファイドメモリ４は、コマンド領域、フレームバッファ領域、及び図形などの基礎データ（テキスチャー）領域などに利用される統合メモリであり、例えばシンクロナスＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）によって構成される。
【００２８】
前記グラフィックプロセッサ１は、ＣＰＵ６から発行されユニファイドメモリ４に書き込まれたるコマンドの解読結果に従って画素データをユニファイドメモリ４に描画するための制御や、ユニファイドメモリ４に描画された画素データを表示走査のタイミングに同期して走査方向に読み出す表示制御などを行なう。
【００２９】
表示タイミングに同期してグラフィックプロセッサ１から出力される画像データは、特に制限されないが、1画素18ビットのディジタルＲＧＢデータ１０とされる。ディジタルＲＧＢデータ１０はＤ／Ａコンバータ１１でアナログＲＧＢ信号１２に変換される。また、ディジタルＲＧＢデータ１０はミキサ１３で外部ビデオ信号１４と合成可能にされ、ミキサ１３の出力信号はディジタルビデオエンコーダ１５でＮＴＳＣ規格に準拠したテレビジョン信号としてのアナログＮＴＳＣ信号１６にアナログ変換される。図２に示されるディスプレイ１７がＶＧＡ（Video Graphics Array）又はＳＶＧＡ（Supper VGA）等のアナログモニタである場合、前記アナログＲＧＢ信号１２が当該モニタに供給される。ディスプレイ１７がテレビジョンセットのモニタである場合にはアナログＮＴＳＣ信号１６が当該モニタに供給される。また、ディスプレイ１７がナビゲーションシステムのディジタルモニタである場合には当該モニタにはディジタルＲＧＢ信号が直接供給される。尚、前記Ｄ／Ａコンバータ１１をグラフィックプロセッサ１に内蔵させれば、半導体集積回路化されたグラフィックプロセッサ１の外部端子（ピン）数削減に効果的である。
【００３０】
《グラフィックプロセッサ》
図3には前記グラフィックプロセッサ１の一例が示される。グラフィックプロセッサ１は、描画制御手段（２）を構成するレンダリングユニット１００及びレンダリングバッファ１０１と、表示制御手段（３）を構成するディスプレイユニット１０２及びディスプレイバッファユニット１０３とを有する。前記ディジタルＲＧＢデータ１０はディスプレイユニット１０２からＩ／Ｏバッファ１０４を介して外部に出力される。ＣＰＵ６とのインタフェース制御はＣＰＵインタフェースユニット１０５が行い、前記ユニファイドメモリ４に対する外部インタフェース制御はメモリインタフェースユニット１０６が行なう。前記ＣＰＵ６は前記システムバス５を介してＩ／Ｏバッファ１０７に接続され、前記ユニファイドメモリ４はＩ／Ｏバッファ１０８に接続される。ＣＬＫ０はグラフィックプロセッサの動作基準クロック信号であり、ＣＬＫ１は垂直同期信号、水平同期信号及びドットクロック信号などを総称する表示タイミング信号である。クロックパルスジェネレータ（ＣＰＧ０）１１５はクロック信号を分周したりして各種内部同期信号を形成する。クロックパルスジェネレータ（ＣＰＧ１）１１６は前記表示タイミング信号に基づいてディスプレイユニット１０２などの表示制御系をディスプレイに同期させる内部タイミング信号を形成する。
【００３１】
前記レンダリングバッファユニット１０１は外部のユニファイドメモリ４とレンダリングユニット１００との間のバッファとされ、ユニファイドメモリ４のフレームバッファに対するリード・ライトデータ、ユニファイドメモリ４から読み出されたコマンド、そしてユニファイドメモリ４から読み出されたテキスチャーなどを一時的に格納する。前記ディスプレイバッファユニット１０３はユニファイドメモリ４とディスプレイユニット１０２との間のバッファとされ、ユニファイドメモリ４のフレームバッファ領域から読み出された画像情報を一時的に格納してディスプレイユニット１０２に渡す。更にディスプレイバッファユニット１０３はカラーパレット１０３１を有し、1画素8ビットの画像データを1画素16ビットの画像データに変換する。前記ＣＰＵインタフェースユニット１０５はＤＭＡ（ダイレクト・メモリ・アクセス）制御回路１０５１及びデータフォーマット変換回路１０５２などを有する。データフォーマット変換回路１０５２はディジタルビデオフォーマットＹＵＶ（Ｙは輝度、Ｕ／Ｖは色差成分）又はナビゲーションシステム用のディジタルビデオフォーマットΔＹＵＶをＲＧＢ（レッド、グリーン、ブルー）フォーマットのデータに変換する回路である。
【００３２】
前記ＣＰＵインタフェースユニット１０５、レンダリングユニット１００、ディスプレイバッファニット１０３及びＩ／Ｏバッファ１０７はＣＰＵデータバス１１０を共有し、ＣＰＵ６からＩ／Ｏバッファ１０７に供給されたアドレス信号はＣＰＵアドレスバス１１１を介してＣＰＵインタフェースユニット１０５、レンダリングユニット１００及びディスプレイバッファニット１０３に供給される。これによってＣＰＵ６はＣＰＵインタフェースユニット１０５のＤＭＡ制御回路１０５１、レンダリングユニット１００及びディスプレイバッファユニット１０３のカラーパレット１０３１などに対する制御情報の初期設定等を行なうことができる。
【００３３】
前記ＣＰＵインタフェースユニット１０５、レンダリングバッファユニット１０１、ディスプレイバッファニット１０３及びＩ／Ｏバッファ１０８はメモリデータバス１１２を共有し、ＣＰＵインタフェースユニット１０５又はレンダリングバッファユニット１０１から出力されるアドレス信号はメモリアドレスバス１１３を介してメモリインタフェースユニット１０６に供給され、これに基づいてメモリインタフェースユニット１０６はユニファイドメモリ４に対するインタフェース制御を行なう。
【００３４】
レンダリングユニット１００は、レンダリングバッファユニット１０１
、メモリデータバス１１２、メモリアドレスバス１１３及びメモリインタフェースユニット１０６を介してユニファイドメモリ４に対するリード・ライトを行なう。ユニファイドメモリ４のフレームバッファ領域からディスプレイバッファユニット１０３への画像データの転送は、特に制限されないが、ＤＭＡ制御回路１０５１が行なう。
【００３５】
ユニファイドメモリ4に対するコマンド列やテキスチャーの書き込みはＤＭＡ制御回路１０５１がＣＰＵ６による初期設定に従ってメモリアドレスバス１１３及びメモリデータバス１１２を介して行なうことができる。
【００３６】
《レンダリングユニット》
図4には前記レンダリングユニット１００及びレンダリングバッファユニット１０１の一例が示される。コマンドバッファ１０１Ａ、ワークバッファ１０１Ｂ、ソースバッファ１０１Ｃ及びライトバッファ１０１Ｄはレンダリングバッファユニット１０１に含まれている。レンダリングユニット１００は、コマンド制御部１２０、前処理演算部１２１、アドレス演算部１２２、及び画素演算部１２３に大別することができる。
【００３７】
前記コマンド制御部１２０はコマンドフェッチ、コマンドデコード、及びパラメータ転送の各制御を行なう。レンダリングユニット１００が実行するコマンドはユニファイドメモリ４に格納されている。ユニファイドメモリ４に格納されているコマンドは、特定の描画タスクを指示するための複数のコマンドのコマンド列とされる。前述のようにそのようなコマンド列は予めＣＰＵ６によって発行され、ＣＰＵインタフェースユニット１０５を介して所定のアドレス領域（コマンド領域）に格納されている。コマンド制御部１２０は前記コマンド領域の先頭アドレスが設定されるコマンド列開始アドレスレジスタ１２０１、システム制御レジスタ１２０２及びステータスレジスタ１２０３などを有する。コマンド列開始アドレスレジスタ１２０１及びシステム制御レジスタ１２０２はＣＰＵ６によって初期設定される。前記システム制御レジスタ１２０２は、コマンド列の実行開始を指示するスタートビットＳＢ、コマンドの実行中断を指示する中断指示ビットＲＢＲＫ等を有する。ステータスレジスタ１２０３は実行開始されたコマンド列の最後のコマンドの実行完了によってイネーブルにされる実行完了ビットＴＲＡ、コマンド実行の中断指示によって実際にコマンドの実行を中断したときイネーブルにされる中断完了ビットＢＲＫ等を含む。ＣＰＵ６は、予めコマンド列をコマンドバッファ４に書き込ませた後、当該コマンド列の先頭アドレスを前記コマンド列開始アドレスレジスタ１２０１に設定する。そして、システム制御レジスタ１２０２のスタートビットＳＢをイネーブルに設定する。これにより、コマンド制御部１２０はコマンド列開始アドレスレジスタ１２０１のアドレスに従ってユニファイドメモリ４からコマンドバッファ１０１Ａにコマンドを読み出し、これを順次フェッチし、フェッチしたコマンドを解読してレンダリングユニット１００の内部を制御する。実行開始されたコマンド列の最終コマンドの実行完了は前記実行完了ビットＴＲＡによってＣＰＵ６に伝えられる。コマンド列の実行開始後、ＣＰＵ６が中断指示ビットＲＢＲＫを書き換えてコマンド実行の中断を指示したとき、ＣＰＵ６は中断完了ビットＢＲＫのイネーブルを検出することによって、レンダリングユニット１００を別の描画タスクの実行に分岐させる処理を行なうことができる。
【００３８】
前処理演算部１２１はコマンド制御部１２０で解読されたコマンドコード並びにコマンド引数（例えばポリゴン指定座標、パターンの色など）に従って、例えばポリゴンの左右側辺の端点の座標を抽出する側辺処理などの前処理を行なう。
【００３９】
前記アドレス演算部１２２は、パラメータレジスタファイル１２２１、テキスチャ画像制御部１２２２、及び描画アドレス制御部１２２３などを有する。
【００４０】
パラメータレジスタファイル１２２１はシステムクリッピング領域を指定するシステムクリッピング領域指定レジスタ１２２１Ａや、ユーザクリッピング領域を指定するユーザクリッピング領域指定レジスタ１２２１Ｂ等を有する。それらレジスタにはＣＰＵ６から出力されるパラメータが、コマンド制御部１２０のパラメータ転送制御を介して初期設定される。
【００４１】
テキスチャ画像制御部１２２２は描画に利用するソースデータのアドレス演算等を行なう。演算されたソースデータのアドレスはソースバッファ１０１Ｃを介してユニファイドメモリ４に与えられ、それによってアクセスされたソースデータがソースバッファ１０１Ｃに一時的に格納される。
【００４２】
前記描画アドレス制御部１２２３は描画アドレスやワークデータのアドレスのような画素アドレスを演算する。例えば前記側辺処理にて得られた側辺の端点を水平に結ぶ位置の各画素の座標を演算する。
【００４３】
前記画素演算部１２３は画素アドレスに対応する画素データの演算を行なう。画素データの演算には、ユニファイドメモリ４からワークバッファに取得されたワークデータやソースバッファに取得されたソースデータなどを用いて行なわれる。演算された画素データはユニファイドメモリ４のフレームバッファ領域への描画のためにライトバッファ１０１Ｄに出力される。
【００４４】
この画素演算部１２３で行なわれる画素演算は、2値データの多値データへの変換、塗りつぶし等である。更に、その詳細は後述するが、ブレンドモジュール１３０により、ソース画像情報を補正するブレンド処理を実行可能である。ブレンド処理は、隣接する画素データを用いて加重平均を行なうことにより、隣接する走査線間で画像情報の差異が大きい場合にもその差異を緩和できるようにする処理である。
【００４５】
《ブレンド処理》
図5にはレンダリングユニット１００が実行する描画コマンドの一覧が示される。前記ブレンド処理を行なうブレンド処理コマンドはＦＲＥＣＴＱ（フィルタ付き矩形描画）とされ、４頂点面描画の一種とされる。描画コマンドは図6に例示されるようにコマンドコードと描画属性情報を有する。描画属性情報は図7に示される。ブレンド処理コマンドＦＲＥＣＴＱの描画属性情報は、ＦＩＬＴ（第1の属性情報）とＣＬＩＰ（第2の属性情報）とされる。描画属性情報ＦＩＬＴ、ＣＬＩＰの意味は後で説明する。
【００４６】
図８には前記ブレンド処理コマンドとそのコマンド引数の一例が示される。図9にはブレンド処理コマンドによる処理が模式的に示されている。コマンド引数はＴＸＳ，ＴＹＳ，ＴＤＸ，ＴＤＹ，ＤＸ１，ＤＹ１，ＤＸ２，ＤＹ２，ＤＸ３，ＤＹ３，ＤＸ４，ＤＹ４とされる。ブレンド処理コマンドは、ＴＸＳ，ＴＹＳ，ＴＤＸ，ＴＤＹで指定される矩形のソース画像情報をリード・モディファイして、ＤＸ１，ＤＹ１，ＤＸ２，ＤＹ２，ＤＸ３，ＤＹ３，ＤＸ４，ＤＹ４で指定される描画座標にライトする処理である。モディファイ処理は、画素毎の画素データを縦方向（走査方向と直交する方向）に隣接した別の画素データと加重平均して、隣接走査線間で画像情報の差異（色や輝度）を緩和する処理（ブレンド演算処理）とされる。
【００４７】
図１０及び図１１には前記ブレンド演算処理の基本的なアルゴリズムが示される。ブレンド演算処理は、図１０に示されるように隣接する3本の走査線に対応される画素を用いて加重平均を行なう３ライン加重平均と、図１１に示されるように隣接する２本の走査線に対応される画素を用いて加重平均を行なう２ライン加重平均とを行なうことができるようになっている。何れを選択するかは前記描画属性情報ＦＩＬＴの値によって決定され、ＦＩＬＴ＝１の場合は３ライン加重平均を行ない、ＦＩＬＴ＝０の場合は２ライン加重平均を行なう。
【００４８】
３ライン加重平均の手法は、図１０に示されるように、走査線方向（横方向）のｉ行目及び走査線方向に直交する列方向のｊ列目の画素データＣｉ,ｊに対し、その列方向前後の画素データＣｉ-１,ｊとＣｉ+１,ｊとを用い、画素データＣｉ-１,ｊ、Ｃｉ,ｊ、Ｃｉ+１,ｊを１：２：１の割合で重み付けして加算し、それを４で割って平均する。このときの割り算をビットシフト（２ビット下位方向（右方向）シフト）によって行なうので、割り算の結果が切り捨てではなく四捨五入となるように、予め２を余計に足した値に対して２ビット右シフトを行なうアルゴリズムが採用されている。尚、先頭及び最終行の画素データに対する加重平均演算では固定値０を用いて３ライン加重平均を行なうようになっている。
【００４９】
２ライン加重平均の手法は、図１１に示されるように、ｉ行目及びｊ列目の画素データＣｉ,ｊに対し、その列方向一つ前の画素データＣｉ-１,ｊを用い、画素データＣｉ-１,ｊとＣｉ,ｊとを１：１の割合で重み付けして加算し、それを２で割って平均する。このときの割り算の結果が四捨五入となるように、予め１を余計に足した値に対して１ビット右シフトを行なうアルゴリズムが採用されている。尚、先頭の画素データに対する加重平均演算では固定値０を用いて２ライン加重平均を行なうようになっている。
【００５０】
図１０及び図１１に例示された加重平均演算アルゴリズムから明らかなように、加重平均を行なう場合、画素データはＣ０,ｊ〜ＣＮ,ｊのように走査線方向とは直交する縦方向に順次画素データを読み出して加重平均を行ない、加重平均された画素データを読み出した順に書き込む走査が行なわれることになる。したがって、加重平均演算異には、複数走査線分の画像情報を並列的に順次蓄えるためのラインバッファを全く必要としない。
【００５１】
図１２には前記ブレンドモジュール１３０のブロック図が示される。ブレンドモジュール１３０は制御部１３１と演算部１３２に大別される。in_red、in_green、in_blueは、夫々ソース画像データのレッド５ビット、グリーン６ビット、ブルー５ビットの画素データである。画素データin_red、in_green、in_blueが有効であるときin_valid＝１、無効であるときin_valid＝０にされる。ブレンド処理コマンド実行時はCMD=1、ブレンド処理コマンド以外のときはCMD=0にされる。画素データout_red、out_green、out_blueは加重平均処理された画素データである。画素データin_red、in_green、in_blueがファーストライン（ブレンド演算処理対象領域における横方向の画像データ並列ラインの先頭ライン）に含まれるものであるときfirst_line＝１、それ以外のときはfirst_line＝０にされる。画素データin_red、in_green、in_blueがエンドライン（ブレンド演算処理対象領域における横方向の画像データ並列ラインの最終ライン）に含まれるものであるときend_line＝１、それ以外のときはend_line＝０にされる。resetはリセット信号である。
【００５２】
制御部１３１は信号ＦＩＬＴ、first_line、end_line、reset、in_validの状態に応じて、制御信号sel0、sel1、state_valid、out_validを生成する。制御部１３１の具体的な一例は図１３に示される。制御部１３１は図１４の状態遷移図に従って状態遷移制御を行なう。状態はＩＤＬＥ，Ｓ１，Ｓ２，Ｓ３，Ｔ１，Ｔ２とされる。各状態ＩＤＬＥ，Ｓ１，Ｓ２，Ｓ３，Ｔ１，Ｔ２への遷移条件と各状態における制御信号sel0、sel1、state_valid、out_validの状態は図１５に示されている。reset＝１のとき、全ての状態はIDLEに遷移される。尚、図１５において、記号＆は論理積を意味する。
【００５３】
図１３において次ステート判定論理１４０はラッチ１４１に保持されている直前の状態と信号ＦＩＬＴ、first_line、end_line、reset、in_validによる遷移条件を判定して次に遷移すべき状態を判定する。デコーダ１４２はラッチ１４１に保持されている状態データと信号ＦＩＬＴ、first_line、end_line、reset、in_validをデコードして制御信号sel0、sel1、state_valid、out_validを生成する。
【００５４】
図１６には演算部１３２の一例が示される。図１６には一種類の画素データin_redに関する回路構成が代表的に示されているが、その他の画素データin_green、in_blueに関する回路構成も全く同じである。図１６においてred_reg0，red_reg2，red_reg4はクロック信号ｃｌｋ２に同期動作されるラッチ回路、red_reg1，red_reg3，red_reg5はクロック信号ｃｌｋ１Ｅに同期動作されるラッチ回路である。クロック信号ｃｌｋ１Ｅはクロック信号ｃｌｋ1と制御信号state_validとの論理積信号とされる。前記クロック信号ｃｌｋ１，ｃｌｋ２はクロックパルスジェネレータ１１５で生成される。
【００５５】
図１６において2倍回路（×２）１５０は３ライン加重平均において画素データCｉ,ｊに重み２を与える回路であり、１ビット左シフト操作を行なう。１／２回路（下位方向１ビットシフト回路）１５１は２ライン加重平均における割り算の機能を実現する。１／４回路（下位方向２ビットシフト回路）１５２は３ライン加重平均における割り算の機能を実現する。加算回路１５３，１５４は加重平均のための加算項の加算演算を行なうと共に四捨五入のためにキャリー(Carry＝１）が与えられる。セレクタ１５５，１５６は信号ＦＩＬＴに応じ２ライン加重平均か３ライン加重平均かによってデータパスを選択する。３ライン加重平均の場合（ＦＩＬＴ＝１）にはデータパスｐａ１、ｐｄ１を選択し、２ライン加重平均の場合（ＦＩＬＴ＝０）にはデータパスｐａ０、ｐｄ０を選択する。セレクタ１５６，１５７は信号sel0,sel1に応じ先頭ライン（前記ファーストライン）か最終ライン（前記エンドライン）かに従ってデータパスを選択する。セレクタ１５６は先頭ラインのブレンド処理の場合（sel0＝０）データパスｐｂ０を選択し、それ以外はデータパスｐｂ１を選択する。セレクタ１５７は最終ラインのブレンド処理の場合（sel1＝０）データパスｐｃ０を選択し、それ以外はデータパスｐｃ１を選択する。セレクタ１５９はブレンド処理を行なうとき（ＣＭＤ＝０）データパスpe1を選択し、ブレンド処理を行なわないとき（ＣＭＤ＝１）データパスpe0を選択する。
【００５６】
次に、図１６の演算部の動作を説明する。理解を容易化するため図１７に示されるように、縦方向に並んだ画素ａ〜ｇに対する２ライン加重平均と３ライン加重平均とを一例として説明する。
【００５７】
図１８及び図１９には図１６の回路で３ライン加重平均処理を行なう場合のタイミングチャートが示される。図１８と図１９に示されるタイミングチャートはａ−ａ線で連続する。
【００５８】
前記属性情報ＦＩＬＴ＝１（３ライン加重平均）を伴うブレンド処理コマンドＦＲＥＣＴＱがコマンド制御部１２０で解読されると、先ず、信号ＣＭＤがハイレベル（＝１）にされ前記セレクタ１５９がデータパスｐｅ１を選択し、信号ＦＩＬＴがハイレベル（＝１）にされ前記セレクタ１５５、１５８がデータパスｐａ１、ｐｄ１を選択する。これによってブレンドモジュール１３２は３ライン加重平均によるブレンド演算処理が可能にされる。
【００５９】
画素データin_redはａ〜ｇの順番で入力され、入力データの有効性を示す信号in_validが画素データの入力に同期してハイレベル（＝１）にされる。画素データａは、先頭ラインのデータであり、画素データａの入力に同期して信号first_lineがハイレベル（＝１）にされ、これに同期して、信号sel1が時刻ｔ０にハイレベル（＝１）、信号sel0が時刻ｔ２にハイレベル（＝１）にされる。時刻ｔ０にラッチ回路red_reg0にラッチされた画素データａは、時刻ｔ１に同期して2倍回路１５０で２倍され、2倍された値は、セレクタ１５６で選択された値“０”及びキャリ（Carry=1）と共に加算される。その加算結果“０＋２ａ＋１”は、時刻ｔ１に同期してラッチ回路red_reg3に、時刻ｔ２にラッチ回路red_reg4にラッチされる。一方、時刻ｔ２には初段ラッチ回路red_reg0に次の画素データｂがラッチされ、セレクタ１５７を経由して加算回路１５４に供給される。ラッチ回路１５４は前記ラッチ回路red_reg4の出力“０＋２ａ＋１”に、画素データｂ及びキャリ（Carry=1）を加算し、且つ、１／４回路１５２がその加算結果を下位方向に２ビットのビットシフトを行って、時刻ｔ３に同期して、ラッチ回路red_reg5に、3ライン加重平均された値“（０＋２ａ＋ｂ＋２）／４を得る。
【００６０】
第２ライン目以降に関しては、その直前のラインの画素データが実在しているから、セレクタ１５６はデータパスｐｂ１を選択することになる。例えば第２ライン目の画素データｂが時刻ｔ３に同期して前述と同様に加算回路１５３で加算されるとき、加算対象とされる直前の画素データａは時刻ｔ２に画素データａをラッチしたラッチ回路red_reg2から与えられ、その加算結果“ａ＋２ｂ＋１”が時刻ｔ３にラッチ回路red_reg3にラッチされる。
【００６１】
最終ラインの画素データｅに関する３ライン加重平均では、その次のラインの画素データは供給されない。したがって、加算回路１５４はセレクタ１５７が出力する値“０”を加算対象とする。すなわち、最終ラインの画素データｅが時刻ｔ１０にラッチ回路red_reg0にラッチされたとき、ラッチ回路red_reg2は直前の画素データｄを保持している。画素データｅは、２倍回路１５０及びセレクタ１５５を通して加算回路１５３に供給される。加算回路１５３は“ｄ＋２ｅ＋１”を演算し、演算結果は時刻ｔ１１にラッチ回路red_reg3に、時刻ｔ１２にラッチ回路red_reg4にラッチされる。その後、加算回路１５４は、ラッチ回路red_reg4の値をセレクタ１５７の出力“０”及びキャリ（carry=1）に加算し、加算結果を１／４して、時刻t１３に最終ラインの画素データｅに関する３ライン加重平均の値“（ｄ＋２ｅ＋０）／４”がラッチ回路red_reg5にラッチされる。そして再び、先頭ラインの画素データｆから上記同様の演算処理が繰り返される。
【００６２】
図２０及び図２１には図１６の回路で２ライン加重平均処理を行なう場合のタイミングチャートが示される。図２０と図２１に示されるタイミングチャートはｂ−ｂ線で連続する。
【００６３】
前記属性情報ＦＩＬＴ＝０（２ライン加重平均）を伴うブレンド処理コマンドＦＲＥＣＴＱがコマンド制御部１２０で解読されると、先ず、信号ＣＭＤがハイレベル（＝１）にされ前記セレクタ１５９がデータパスｐｅ１を選択し、信号ＦＩＬＴがローレベル（＝０）に維持され前記セレクタ１５５、１５８がデータパスｐａ０、ｐｄ０を選択する。これによってブレンドモジュール１３２は２ライン加重平均によるブレンド演算処理が可能にされる。
【００６４】
画素データin_redはａ〜ｇの順番で入力され、入力データの有効性を示す信号in_validが画素データの入力に同期してハイレベル（＝１）にされる。画素データａは、先頭ラインのデータであり、画素データａの入力に同期して信号first_lineがハイレベル（＝１）にされ、これに同期して、信号sel1が時刻ｔ０にハイレベル（＝１）、信号sel0が時刻ｔ２にハイレベル（＝１）にされる。時刻ｔ０にラッチ回路red_reg0にラッチされた画素データａはセレクタ１５５を介して加算回路１５３に供給され、この時セレクタ１５６は値“０”を選択して加算回路１５３に与える。加算回路１５３は、セレクタ１５５、１５６の出力をキャリ（Carry=1）と共に加算する。その加算結果“０＋ａ＋１”は、１／２回路１５１で下位方向に１ビットのビットシフトが行われ、時刻ｔ１に同期して、ラッチ回路red_reg5に、２ライン加重平均された値“（０＋ａ＋１）／２を得る。
【００６５】
第２ライン目以降に関しては、その直前のラインの画素データが実在しているから、セレクタ１５６はデータパスｐｂ１を選択することになる。例えば第２ライン目の画素データｂが時刻ｔ１に同期して前述と同様に加算回路１５３で加算されるとき、加算対象とされる直前の画素データａは、時刻ｔ２に画素データａをラッチしたラッチ回路red_reg2から与えられ、その加算結果“ａ＋ｂ＋１”が得られる。加算結果に対しては1ビットシフト操作が行われ、時刻ｔ３に、その画素データｂに関する２ライン加重平均の結果がラッチ回路red_reg5にラッチされる。
【００６６】
最終ラインの画素データｅに関する２ライン加重平均では、その次のラインの画素データはブレンドモジュール１３０に供給されない。したがって、加算回路１５４はセレクタ１５７が出力する値“０”を加算対象とする。すなわち、最終ラインの画素データｅが時刻ｔ１０にラッチ回路red_reg0にラッチされたとき、ラッチ回路red_reg2は直前の画素データｄを保持している。画素データｅは、セレクタ１５５を通して加算回路１５３に供給される。加算回路１５３は“ｄ＋ｅ＋１”を演算し、演算結果に対する1ビット右シフト操作が１／２回路１５１で行われ、その演算結果“（ｄ＋ｅ＋１）／２”がセレクタ１５８を介して時刻t１３にラッチ回路red_reg5にラッチされる。そして再び、先頭ラインの画素データｆから上記同様の演算処理が繰り返される。
【００６７】
前記ブレンドモジュール１３０に供給されるソースデータとしての画素データはユニファイドメモリ４から図４に示されるようにワークバッファ１０１Ｂ又はソースバッファ１０１Ｃを介して与えられる。このソースデータのアドレスは、ブレンド処理コマンドの前記コマンド引数として与えられるソースアドレスＴＸＳ，ＴＹＳ，ＴＤＸ，ＴＤＹ（図９参照）によって決定される。
【００６８】
ブレンドモジュール１３０で加重平均演算された画像データはライトバッファ１０１Ｄを介してユニファイドメモリ４のフレームバッファ領域に与えられる。加重平均された画像データの書き込みアドレスは描画アドレス制御部１２２３で生成され、ライトバッファ１０１Ｄを介してユニファイドメモリに供給される。
【００６９】
このときの書き込みアドレスは、ブレンド処理コマンドの前記コマンド引数として与えられるディスティネーションアドレスＤＸ１，ＤＹ１，ＤＸ２，ＤＹ２，ＤＸ３，ＤＹ３，ＤＸ４，ＤＹ４及び属性情報ＣＬＩＰ（図９参照）によって決定される。
【００７０】
例えば、図２２に例示されるように、描画座標系にシステムクリッピング領域１６１が指定され、その中にユーザクリッピング領域１６３が指定されているとする。それら指定は前記領域指定レジスタ１２２１Ａ，１２２１Ｂの設定値によって決定される。このとき、ブレンド処理コマンドの属性情報ＣＬＩＰ＝０のときは、当該コマンドの実行においてユーザクリッピング領域１６３は無効とされ、ソース画像情報１６０に対して前記加重平均された画像情報は、ディスティネーションアドレスＤＸ１，ＤＹ１，ＤＸ２，ＤＹ２，ＤＸ３，ＤＹ３，ＤＸ４，ＤＹ４で指定される領域１６２に書き込まれる。
【００７１】
一方、ブレンド処理コマンドの属性情報ＣＬＩＰ＝１のときは、当該コマンドの実行においてユーザクリッピング領域１６３は有効され、ソース画像情報１６０に対して前記加重平均された画像情報は、ディスティネーションアドレスＤＸ１，ＤＹ１，ＤＸ２，ＤＹ２，ＤＸ３，ＤＹ３，ＤＸ４，ＤＹ４で指定される領域１６２とユーザクリッピング領域１６３とに共通の領域（斜線領域）だけに書き込まれる。
【００７２】
このように、ブレンド処理コマンドによるリード・モディファイ・ライトの処理におけるリード及びライトアドレスを、コマンド引数によって任意に指定でき、更に、ユーザクリッピング領域を併用して、そのライト領域を指定することも可能である。したがって、表示領域に対してブレンド処理を施す領域を任意に決定できるという自由度を得ることができる。例えば、自然画とコンピュータ画像とをオーバーレイするとき、コンピュータ画像に対してだけブレンド処理を施す事ができるから、必要な部分の画像情報に対してだけブレンド処理を行なうことができ、無駄な処理を省くことができ、ブレンド処理時間の短縮と画質向上との双方を実現できる。
【００７３】
ブレンド処理を経てフレームバッファ領域に格納された画像データがインタレース走査方式で表示されるとき、その１フレーム分の画像データは偶数フィールドと奇数フィールドに分けて前後する別画面として表示される。このとき、表示データはブレンド処理を経ているので、不所望なちらつきは発生しない。
【００７４】
以上説明したグラフィックプロセッサ１によれば、描画制御を行なうレンダリングユニット１００が隣接する画素データを用いて加重平均を行なうことにより、隣接する走査線間で画像情報の差異が大きい場合にもその差異を緩和する事ができる。このとき、グラフィックプロセッサ１はユニファイドメモリ４から画素データを前記走査方向とは直交する方向に順次読み出して加重平均を行なえばよい。したがって、レンダリングユニット１００はもとよりディスプレイユニット１０２にもラインバッファのような記憶手段を新たに増設することを要しない。したがって、グラフィックプロセッサ１のコストを低減することができる。
【００７５】
前記ブレンド処理コマンドは、３ライン加重平均を行なうか２ライン加重平均を行なうかを任意に指定する属性情報ＦＩＬＴを有する。過度な加重平均が行なわれると逆に画像がぼけてしまう虞もあるので、ブレンド処理対象とされるソースデータの特性に応じて加重平均の度合いを前記属性情報ＦＩＬＴで選択でき、これによって、高品質なちらつき防止を実現できる。
【００７６】
また、前記ブレンド処理コマンドは、リード・モディファイ・ライトによるリード及びライトアドレスを任意に指定できる上、ユーザクリッピング領域による描画範囲の制限を有効とするか否かを任意に決定する属性情報ＣＬＩＰを有する。  したがって、表示領域に対してブレンド処理を施す領域を任意に決定できるという自由度を得ることができる。例えば、自然画にコンピュータ画像をオーバーレイなどを考慮したとき、ソース画像の一部をオーバーレイする様な場合に、ソース画像データに対して、加重平均のためのリード・モディファイを行ない、モディファイされた画像データのライトアドレスを任意に指定でき、しかも、クリッピング領域内部だけのオーバレイも選択できる。これにより、フレームバッファ領域の任意の位置に対して、ブレンド処理によるちらつき防止を実現でき、良好な使い勝手を実現することができる。
【００７７】
インタネットテレビやナビゲーションシステムなどのデータ処理システムに上記グラフィックプロセッサ１を適用することにより、データ処理システムのコストを低減することができる。
【００７８】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７９】
例えば、上記データ処理システムではユニファイドメモリ４を用いたが、例えば図２３のように1個のユニファイドメモリ４を第1メモリ１７０及び第2メモリ１７１に分け、夫々３２ビット、６４ビット又は１２８ビット幅の専用バス１７２，１７３を介して描画制御手段２及び表示制御手段３がメモリ１７０，１７１を並列的にアクセスできるようにしてもよい。描画制御手段２及び表示制御手段３はバスコントローラ１７４を介してメモリ１７０，１７１の何れに対してもアクセスすることができる。例えば、図２４に例示されるように、描画制御手段２と表示制御手段３がメモリ１７０，１７１を交互にアクセスしながら、バスネックを解消して描画制御と表示制御を効率化することができる。尚、図２３に点線ｄｌで示される部分をも含めて、各回路２，３，１７０，１７１，１７４，１７２，１７３を１つの半導体基板（チップ）上に形成されたグラフィックプロセッサ１とすれば、低コスト化及び高性能化を図ることができる。
【００８０】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるインタネットテレビやナビゲーションシステムに適用した場合について説明したが、本発明はそれに限定されるものではなく、パーソナルコンピュータやゲーム機など、その他のデータ処理システムに広く適用することができる。
【００８１】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００８２】
すなわち、描画制御手段は、隣接する画素データを用いて加重平均を行なうことにより、隣接する走査線間で画像情報の差異が大きい場合にもその差異を緩和する事ができる。このとき、描画制御手段はメモリから画素データを前記走査方向とは直交する方向に順次読み出して加重平均を行なえばよく、描画制御手段はもとより表示制御手段にもラインバッファのような記憶手段を新たに増設することを要しない。これにより、隣接する走査線の画像情報の差異をラインバッファを増やすことなく緩和することができる。そのようにして、ブレンド処理された画像情報をインタレース走査形式で表示しても、不所望なちらつきは発生しない。
【００８３】
ブレンド処理コマンドにおけるソース指定情報とディスティネーション指定情報とを任意に指定できるので、表示領域に対してブレンド処理を施す領域を任意に決定できるという自由度を得ることができる。したがって、必要な部分の画像情報に対してだけブレンド処理を行なうことができ、無駄な処理を省くことができ、ブレンド処理時間の短縮と画質向上との双方を実現できる。
【００８４】
ブレンド処理対象とされるソースデータの特性に応じて加重平均の度合いを選択できることにより、過度な加重平均が行なわれることによって逆に画像がぼけてしまう虞を排除でき、高品質なちらつき防止を実現できる。
【００８５】
ブレンド処理コマンドによるディスティネーション指定情報に加えて、クリッピング領域も使用してブレンド処理が可能である事により、ブレンド処理の操作性若しくはグラフィックプロセッサの使い勝手を更に向上させることができる。
【図面の簡単な説明】
【図１】本発明の一例に係るグラフィックプロセッサの描画制御手段によるブレンド処理の原理を示す説明図である。
【図２】本発明の一例に係るデータ処理システムのブロック図である。
【図３】グラフィックプロセッサの一例を示すブロック図である。
【図４】レンダリングユニットの一例説明図である。
【図５】レンダリングユニットが実行する描画コマンドの一例を示す説明図である。
【図６】描画コマンドのコマンドコードの一例を示す説明図である。
【図７】描画コマンドの描画属性情報の一例を示す説明図である。
【図８】ブレンド処理コマンドとそのコマンド引数の一例を示す説明図である。
【図９】ブレンド処理コマンドによる処理を模式的に示下説明図である。
【図１０】３ラインを加重平均するブレンド演算処理の基本的なアルゴリズムの一例を示す説明図である。
【図１１】２ラインを加重平均するブレンド演算処理の基本的なアルゴリズムの一例を示す説明図である。
【図１２】ブレンドモジュールの一例を示すブロック図である。
【図１３】ブレンドモジュールに含まれる制御部の一例を示すブロック図である。
【図１４】制御部による制御の内容を示す状態遷移図である。
【図１５】制御部による制御の遷移状態を個々に示す説明図である。
【図１６】ブレンドモジュールに含まれる演算部の一例を示すブロック図である。
【図１７】ソースデータ、ブレンドモジュール及びフレームバッファの関係の一例を示す説明図である。
【図１８】図１７のソースデータに対する3ラインブレンド処理の一例を示すタイミングチャートである。
【図１９】図１８のａ−ａ線に連続する部分を示すタイミングチャートである。
【図２０】図１７のソースデータに対する２ラインブレンド処理の一例を示すタイミングチャートである。
【図２１】図２０のｂ−ｂ線に連続する部分を示すタイミングチャートである。
【図２２】ブレンド処理における属性情報ＣＬＩＰの取り扱いに関する説明図である。
【図２３】外部メモリに対するバスネックを解消するための変形例を示すブロック図である。
【図２４】図２３のメモリ構成を採用したとき描画制御と表示制御のためのメモリアクセス動作態様の一例を示す説明図である。
【符号の説明】
１  グラフィックプロセッサ
２  描画制御手段
３  表示制御手段
４  ユニファイドメモリ
６  ＣＰＵ
７  メモリ
１７  ディスプレイ
１００  レンダリングユニット
１０１  レンダリングバッファユニット
１０２  ディスプレイユニット
１０３  ディスプレイバッファユニット
１２０  コマンド制御部
１２１  前処理演算部
１２２  アドレス演算部
１２３  画素演算部
１３０  ブレンドモジュール
１３１  制御部
１３２  演算部
１２２１Ａ  システムクリッピング領域指定レジスタ
１２２１Ｂ  ユーザクリッピング領域指定レジスタ
ＦＲＥＣＴＱ  ブレンド処理コマンド
ＦＩＬＴ  第１の属性情報
ＣＬＩＰ  第２の属性情報
１６０  ソース画像情報
１６１  システムクリッピング領域
１６２  加重平均されたソース画像情報
１６３  ユーザクリッピング領域
【図１】
0003681528.tif 000002
【図２】
0003681528.tif 000003
【図３】
0003681528.tif 000004
【図４】
0003681528.tif 000005
【図５】
0003681528.tif 000006
【図６】
0003681528.tif 000007
【図７】
0003681528.tif 000008
【図８】
0003681528.tif 000009
【図９】
0003681528.tif 000010
【図１０】
0003681528.tif 000011
【図１１】
0003681528.tif 000012
【図１２】
0003681528.tif 000013
【図１３】
0003681528.tif 000014
【図１４】
0003681528.tif 000015
【図１５】
0003681528.tif 000016
【図１６】
0003681528.tif 000017
【図１７】
0003681528.tif 000018
【図１８】
0003681528.tif 000019
【図１９】
0003681528.tif 000020
【図２０】
0003681528.tif 000021
【図２１】
0003681528.tif 000022
【図２２】
0003681528.tif 000023
【図２３】
0003681528.tif 000024
【図２４】
0003681528.tif 000025