JP2014182594A - 並列描画装置 - Google Patents

並列描画装置 Download PDF

Info

Publication number
JP2014182594A
JP2014182594A JP2013056642A JP2013056642A JP2014182594A JP 2014182594 A JP2014182594 A JP 2014182594A JP 2013056642 A JP2013056642 A JP 2013056642A JP 2013056642 A JP2013056642 A JP 2013056642A JP 2014182594 A JP2014182594 A JP 2014182594A
Authority
JP
Japan
Prior art keywords
unit
software
hardware
control unit
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013056642A
Other languages
English (en)
Inventor
Masaki Hamada
雅樹 濱田
Yoshiyuki Kato
義幸 加藤
Akira Torii
晃 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013056642A priority Critical patent/JP2014182594A/ja
Publication of JP2014182594A publication Critical patent/JP2014182594A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】並列処理する演算リソースを有効活用し、高速かつ効率よく描画処理を行うことが可能な並列描画装置を得る。
【解決手段】座標変換制御部1は、ソフトウェア座標変換部2aとハードウェア座標変換部2bの起動順序を決定する。交点座標算出制御部3は、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bの起動順序を決定する。内外判定制御部5は、ソフトウェア内外判定部6aとハードウェア内外判定部6bの起動順序を決定する。ピクセル演算制御部7は、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bの起動順序を決定する。ソフトウェアピクセル演算部8aまたはハードウェアピクセル演算部8bは演算結果によってフレームバッファ103を更新する。
【選択図】図1

Description

この発明は、図形描画時に、ソフトウェアとハードウェア両方の演算リソースを有効活用して、高速かつ効率よく描画処理を行う並列描画装置に関するものである。
従来、図形描画の際の描画処理を高速化するため、ソフトウェアによる描画手段とハードウェアによる描画手段の両方を並列に有し、描画処理をどちらかに振り分ける並列描画装置が知られている。
例えば、以下の特許文献1では、ソフトウェアによる描画とハードウェアによる描画とを並列に動作させることを可能とし、ハードウェアによる描画を行う描画部を優先して描画を行わせることや、描画部の負荷状況によって描画命令をソフトウェアによる描画部と、ハードウェアによる描画部のどちらの描画部に対して行うのかを決定することが可能な印刷装置について開示されている。
特開2009−269179号公報
しかしながら、従来の並列描画装置は、ある時点の描画部の負荷状況によって描画命令をソフトウェアによる描画部と、ハードウェアによる描画部のどちらの描画部に対して行うのかを決定していたため、描画する図形に応じたきめ細かい振り分けが困難であるという問題があった。
この発明は上記のような課題を解決するためになされたもので、並列処理する演算リソースを有効活用し、高速かつ効率よく描画処理を行うことが可能な並列描画装置を得ることを目的とする。
この発明に係る並列描画装置は、描画する図形の座標変換をソフトウェアによって行うソフトウェア座標変換部およびハードウェアによって行うハードウェア座標変換部と、ソフトウェア座標変換部とハードウェア座標変換部から共通してアクセス可能なデータを格納すると共に、描画開始命令を受けることによりソフトウェア座標変換部とハードウェア座標変換部のうちどちらを起動するかを示す起動順序の判定を行う座標変換制御部と、ソフトウェア座標変換部またはハードウェア座標変換部の出力に基づき、座標変換された図形の輪郭線とY軸方向の走査線との交点X座標をソフトウェアによって算出するソフトウェア交点座標算出部およびハードウェアによって算出するハードウェア交点座標算出部と、ソフトウェア座標変換部またはハードウェア座標変換部の出力を、ソフトウェア交点座標算出部とハードウェア交点座標算出部から共通してアクセス可能なデータとして格納すると共に、ソフトウェア交点座標算出部とハードウェア交点座標算出部のうちどちらを起動するかを示す起動順序の判定を行う交点座標算出制御部と、ソフトウェア交点座標算出部またはハードウェア交点座標算出部の出力に基づき、図形の内部に含まれるピクセルの座標値をソフトウェアによって算出するソフトウェア内外判定部およびハードウェアによって算出するハードウェア内外判定部と、ソフトウェア交点座標算出部またはハードウェア交点座標変換部の出力を、ソフトウェア内外判定部とハードウェア内外判定部から共通してアクセス可能なデータとして格納すると共に、ソフトウェア内外判定部とハードウェア内外判定部のうちどちらを起動するかを示す起動順序の判定を行う内外判定制御部と、ソフトウェア内外判定部またはハードウェア内外判定部の出力に基づき、図形の内部に含まれる画素に対するピクセル演算を行い、ピクセル演算結果をフレームバッファに出力するソフトウェアピクセル演算部およびハードウェアピクセル演算部と、ソフトウェア内外判定部またはハードウェア内外判定部の出力を、ソフトウェアピクセル演算部およびハードウェアピクセル演算部から共通してアクセス可能なデータとして格納すると共に、ソフトウェアピクセル演算部とハードウェアピクセル演算部のうちどちらを起動するかを示す起動順序の判定を行うピクセル演算制御部と、フレームバッファからデータを読み出し、表示データとして出力する表示制御部とを備えたものである。
この発明の並列描画装置は、座標変換制御部と交点座標算出制御部と内外判定制御部とピクセル演算制御部とを備え、それぞれの制御部でソフトウェアによる処理部とハードウェアによる処理部の起動順序を決定するようにしたので、一つの図形を描画している途中でもソフトウェア処理とハードウェア処理を動的に切替えることができ、並列処理する演算リソースを有効活用し、高速かつ効率よく描画処理を行うことができる。
この発明の実施の形態1による並列描画装置を示す構成図である。 この発明の実施の形態1による並列描画装置の動作を示すフローチャートである。 この発明の実施の形態2による並列描画装置の動作を示すフローチャートである。
実施の形態1.
図1は、この発明の実施の形態1による並列描画装置を示す構成図である。
図1に示す並列描画装置100は、座標変換制御部1、ソフトウェア座標変換部(S/W座標変換部)2a,ハードウェア座標変換部(H/W座標変換部)2b、交点座標算出制御部3、ソフトウェア交点座標算出部(S/W交点座標算出部)4a,ハードウェア交点座標算出部(H/W交点座標算出部)4b、内外判定制御部5、ソフトウェア内外判定部(S/W内外判定部)6a,ハードウェア内外判定部(H/W内外判定部)6b、ピクセル演算制御部7、ソフトウェアピクセル演算部(S/Wピクセル演算部)8a,ハードウェアピクセル演算部(H/Wピクセル演算部)8b、表示制御部9を備えている。
並列描画装置100は、CPU101とCPUバス102を介して接続され、描画する図形の頂点座標、描画色などの設定情報を受け取った後、CPU101からの描画開始命令により動作を開始する。ソフトウェア座標変換部2a,ハードウェア座標変換部2b〜ソフトウェア交点座標算出部4a,ハードウェア交点座標算出部4b〜ソフトウェア内外判定部6a,ハードウェア内外判定部6b〜ソフトウェアピクセル演算部8a,ハードウェアピクセル演算部8bは、入力された図形データに対してパイプライン処理を行う描画パイプラインを構成しており、その描画データをフレームバッファ103に出力するよう構成されている。
座標変換制御部1は、設定された図形の座標値に対する座標変換処理をソフトウェア座標変換部2aとハードウェア座標変換部2bの何れで処理するか、および入力された頂点をどの順序で処理するのが効率が良いかを判断し、各座標変換部2a、2bに動作開始命令を出力する。座標変換制御部1は、図形の頂点座標を一時保存するためのバッファを有する。本バッファは、ソフトウェア座標変換部2aの入力用バッファ領域として利用される第1のバッファ1a、ハードウェア座標変換部2bの入力用バッファ領域として利用される第2のバッファ1bおよびソフトウェア座標変換部2aとハードウェア座標変換部2bに共通の入力用バッファ領域として利用される第3のバッファ1cとに分類される。加えて、座標変換制御部1は、座標変換処理をソフトウェアとハードウェアのどちらを優先して行うかを判定するための優先モードフラグを有する。
ソフトウェア座標変換部2aは、座標変換前の頂点座標を座標変換制御部1内の第1のバッファ1aまたは第3のバッファ1cから順次読み出し、座標変換用マトリクスによる座標変換処理、描画するスクリーン座標に含まれない頂点を除外するクリッピング処理などをソフトウェアによって行い、処理結果を交点座標算出制御部3に対して出力する処理部である。また、ソフトウェア座標変換部2aが次の頂点座標を受け取れない状態となった場合には、座標変換制御部1に対してビジー状態を通知するよう構成されている。
ハードウェア座標変換部2bは、座標変換前の頂点座標を座標変換制御部1内の第2のバッファ1bまたは第3のバッファ1cから順次読み出し、座標変換用マトリクスによる座標変換処理、描画するスクリーン座標に含まれない頂点を除外するクリッピング処理などをハードウェアによって行い、処理結果を交点座標算出制御部3に対して出力する処理部である。また、ハードウェア座標変換部2bが次の頂点座標を受け取れない状態となった場合には、座標変換制御部1に対してビジー状態を通知するよう構成されている。
交点座標算出制御部3は、ソフトウェア座標変換部2aとハードウェア座標変換部2bそれぞれから出力された座標変換処理結果(座標変換後の頂点座標)を、一時保存するためのバッファを有する。本バッファは、ソフトウェア交点座標算出部4aの入力用バッファ領域として利用される第1のバッファ3a、ハードウェア交点座標算出部4bの入力用バッファ領域として利用される第2のバッファ3bおよびソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bに共通の入力用バッファ領域として利用される第3のバッファ3cとに分類される。交点座標算出制御部3は、座標変換後の頂点座標に対する交点座標算出をソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bの何れで処理するのが効率が良いかを判断し、各交点座標算出部4a,4bに動作開始命令を出力するよう構成されている。
加えて、交点座標算出制御部3は、交点座標算出処理をソフトウェアとハードウェアのどちらを優先して行うかを判定するための、優先モードフラグを有する。
ソフトウェア交点座標算出部4aは、座標変換後の頂点座標を交点座標算出制御部3内の第1のバッファ3aまたは第3のバッファ3cから順次読み出し、図形の輪郭線とY軸方向の走査線との交点X座標を順次算出するよう構成されている。また、ソフトウェア交点座標算出部4aが次の頂点座標を受け取れない状態となった場合には、交点座標算出制御部3に対してビジー状態を通知する。
ハードウェア交点座標算出部4bは、座標変換後の頂点座標を交点座標算出制御部3内の第2のバッファ3bまたは第3のバッファ3cから順次読み出し、図形の輪郭線とY軸方向の走査線との交点X座標を順次算出する。また、ハードウェア交点座標算出部4bが次の頂点座標を受け取れない状態となった場合には、交点座標算出制御部3に対してビジー状態を通知する。
ソフトウェア交点座標算出部4およびハードウェア交点座標算出部4bにおける交点座標の算出処理は、図形内の最小Y座標から1ラインずつ走査してもよいが、図形を16×16、32×32などのタイル領域に分割し、タイル単位で順次処理を行うようにするのが望ましい。
内外判定制御部5は、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bそれぞれから出力された交点座標算出結果を一時保存するためのバッファを有する。本バッファは、ソフトウェア内外判定部6aの入力用バッファ領域として利用される第1のバッファ5a、ハードウェア内外判定部6bの入力用バッファ領域として利用される第2のバッファ5bおよびソフトウェア内外判定部6aとハードウェア内外判定部6b共通の入力用バッファ領域として利用される第3のバッファ5cとに分類される。内外判定制御部5は、交点座標算出結果を用いた図形内部に含まれるピクセルの内外判定処理を、ソフトウェア内外判定部6aとハードウェア内外判定部6bの何れで処理するのが効率が良いかを判断し、各内外判定部6a、6bに動作開始命令を出力するよう構成されている。加えて、内外判定制御部5は、内外判定処理をソフトウェアとハードウェアのどちらを優先して行うかを判定するための、優先モードフラグを有する。
ソフトウェア内外判定部6aは、交点座標算出結果を内外判定制御部5内の第1のバッファ5aまたは第3のバッファ5cから順次読み出し、ソフトウェアによって内外判定処理を行う処理部である。また、内外判定の結果、図形内部に含まれるピクセルの座標値をピクセル演算制御部7に対して出力する。
ハードウェア内外判定部6bは、交点座標算出結果を内外判定制御部5内の第2のバッファ5bまたは第3のバッファ5cから順次読み出し、ハードウェアによって内外判定処理を行う処理部である。また、内外判定の結果、図形内部に含まれるピクセルの座標値をピクセル演算制御部7に対して出力する。
ピクセル演算制御部7は、ソフトウェア内外判定部6aとハードウェア内外判定部6bそれぞれから出力されたピクセル座標を一時保存するためのバッファを有する。本バッファは、ソフトウェアピクセル演算部8aの入力用バッファ領域として利用される第1のバッファ7a、ハードウェアピクセル演算部8bの入力用バッファ領域として利用される第2のバッファ7bおよびソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bに共通の入力用バッファ領域として利用される第3のバッファ7cとに分類される。ピクセル演算制御部7は、図形の内部に含まれるピクセルに対するピクセル演算を、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bの何れで処理するのが効率が良いかを判断し、各ピクセル演算部8a、8bに動作開始命令を出力するよう構成されている。
ピクセル単位の演算の場合、演算に既にフレームバッファ103に書かれているデータを使用するか否かが描画性能に影響を与える。例えば、図形の輪郭部分にのみアンチエイリアス処理を施し、図形内部は単色で塗り潰しを行うような場合、図形の輪郭部分は既にフレームバッファ103に書かれているデータと新たな描画色を合成した色で描画を行うことになる。このため、ピクセル演算制御部7は、ピクセル演算に既にフレームバッファ103に書かれているデータを使用するか否かに基づき、データ格納先とピクセル演算部の起動順序の判定を行うよう構成されている。例えば、図形の輪郭部分と図形内部の描画処理をソフトウェアピクセル演算部8aと、ハードウェアピクセル演算部8bにより分割して行うことで、描画性能を向上させることができる。加えて、ピクセル演算制御部7は、ピクセル演算処理をソフトウェアとハードウェアのどちらを優先して行うかを判定するための、優先モードフラグを有する。
ソフトウェアピクセル演算部8aは、図形の内部に含まれる画素の座標値をピクセル演算制御部7内の第1のバッファ7aまたは第3のバッファ7cから順次読み出し、カラー値、α値(透明度)などを算出し、フレームバッファ103に出力するソフトウェアによる処理部である。
ハードウェアピクセル演算部8bは、図形の内部に含まれる画素の座標値をピクセル演算制御部7内の第2のバッファ7bまたは第3のバッファ7cから順次読み出し、カラー値、α値(透明度)などを算出し、フレームバッファ103に出力するハードウェアによる処理部である。
なお、ソフトウェアピクセル演算部8aおよびハードウェアピクセル演算部8bにおいて、処理の高速化のため、複数画素をまとめて、カラー値、α値などを生成するようにしてもよい。また、図1ではフレームバッファ103は、並列描画装置100の外部としているが、並列描画装置100に内蔵するようにしてもよい。
表示制御部9は、フレームバッファ103からデータを読み出し、各種ディスプレイの同期タイミングと合わせて表示データを出力する処理部である。
次に動作について説明する。図2はこの発明の実施の形態1による並列描画装置の処理内容を示すフローチャートである。
並列描画装置100は、当該並列描画装置100を搭載しているシステムのCPU101から描画処理開始命令を受けることにより、動作を開始する。
座標変換制御部1は、CPU101から設定された図形の座標値に対する座標変換処理をソフトウェア座標変換部2aとハードウェア座標変換部2bの何れで処理するか、および入力された頂点をどの順序で処理するのかなど、座標変換部の起動順序の判定を行う(ステップST1)。
次いで、ソフトウェア座標変換部2aとハードウェア座標変換部2bそれぞれが座標変換制御部1の出力を受付可能であるかを判定する(ステップST2)。判定結果がNOであれば、受付可能となるまで待機する。一方、判定結果がYESであれば、各座標変換部2a,2bの何れかを起動する(ステップST3)。
具体的には、ソフトウェア座標変換部2aとハードウェア座標変換部2bが両方ともビジーでない場合、座標変換制御部1の優先モードフラグに従い、ソフトウェア座標変換部2aとハードウェア座標変換部2bの何れかを起動する。
ソフトウェア座標変換部2aがビジーであり、ハードウェア座標変換部2bがビジーでない場合、ハードウェア座標変換部2bを起動する。また、座標変換制御部1の優先モードフラグをハードウェア優先に変更する。
ソフトウェア座標変換部2aがビジーでなく、ハードウェア座標変換部2bがビジーである場合、ソフトウェア座標変換部2aを起動する。また、座標変換制御部1の優先モードフラグをソフトウェア優先に変更する。
ソフトウェア座標変換部2aとハードウェア座標変換部2bが両方ともビジーである場合、ソフトウェア座標変換部2aとハードウェア座標変換部2bのうち早くビジーが解除された方を起動する。また、座標変換制御部1の優先モードフラグを早くビジーが解除された方を優先するように変更する。
次いで、交点座標算出制御部3の処理について説明する。ソフトウェア座標変換部2aまたはハードウェア座標変換部2bから座標変換処理結果(座標変換後の頂点座標)が出力された場合、交点座標算出制御部3は、一時保存用バッファである第1のバッファ3a、第2のバッファ3bおよび第3のバッファ3cの空き容量と、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bそれぞれのビジー状態に基づき、第1のバッファ3a、第2のバッファ3bおよび第3のバッファ3cの何れにデータを格納するのか、また、交点座標算出部4a,4bの起動順序を判定する(ステップST4)。
次いで、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bそれぞれが交点座標算出制御部3の出力を受付可能であるかを判定する(ステップST5)。判定結果がNOであれば、受付可能となるまで待機する。一方、判定結果がYESであれば、各交点座標算出部4a,4bの何れかを起動する(ステップST6)。
具体的には、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bが両方ともビジーでなく、バッファの空き容量がある場合、交点座標算出制御部3の優先モードフラグに従い、格納先のバッファを決定する。
ソフトウェア交点座標算出部4aがビジーであり、ハードウェア交点座標算出部4bがビジーでない場合、ハードウェア交点座標算出部4b用の第2のバッファ3bに優先してデータを格納する。また、交点座標算出制御部3の優先モードフラグをハードウェア優先に変更する。
ソフトウェア交点座標算出部4aがビジーでなく、ハードウェア交点座標算出部4bがビジーである場合、ソフトウェア交点座標算出部4a用の第1のバッファ3aに優先してデータを格納する。また、交点座標算出制御部3の優先モードフラグをソフトウェア優先に変更する。
ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bが両方ともビジーである場合、一旦共通に利用できる第3のバッファ3cにデータを格納し、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bのうち早くビジーが解除された方が、優先して第3のバッファ3cからデータを読み出す。また、交点座標算出制御部3の優先モードフラグを早くビジーが解除された方を優先するように変更する。
次いで、内外判定制御部5の処理について説明する。ソフトウェア交点座標算出部4aまたはハードウェア交点座標算出部4bから図形の輪郭線とY軸方向の走査線との交点X座標が出力された場合、内外判定制御部5は、一時保存用バッファである第1のバッファ5a、第2のバッファ5bおよび第3のバッファ5cの空き容量と、ソフトウェア内外判定部6aとハードウェア内外判定部6bそれぞれのビジー状態に基づき、第1のバッファ5a、第2のバッファ5bおよび第3のバッファ5cの何れにデータを格納するのか、また内外判定部6a,6bの起動順序を判定する(ステップST7)。
次いで、ソフトウェア内外判定部6aとハードウェア内外判定部6bそれぞれが内外判定制御部5の出力を受付可能であるかを判定する(ステップST8)。判定結果がNOであれば受付可能となるまで待機する。一方、判定結果がYESであれば、各内外判定部6a、6bの何れかを起動する(ステップST9)。
具体的には、ソフトウェア内外判定部6aとハードウェア内外判定部6bが両方ともビジーでなく、バッファの空き容量がある場合、内外判定制御部5の優先モードフラグに従い、格納先のバッファを決定する。
ソフトウェア内外判定部6aがビジーでありハードウェア内外判定部6bがビジーでない場合、ハードウェア内外判定部6b用の入力バッファ5bに優先してデータを格納する。また、内外判定制御部5の優先モードフラグをハードウェア優先に変更する。
ソフトウェア内外判定部6aがビジーでなく、ハードウェア内外判定部6bがビジーである場合、ソフトウェア内外判定部6a用の入力バッファ5aに優先してデータを格納する。また、内外判定制御部5の優先モードフラグをソフトウェア優先に変更する。
ソフトウェア内外判定部6aとハードウェア内外判定部6bが両方ともビジーである場合、一旦共通に利用できるバッファ領域5cにデータを格納し、ソフトウェア内外判定部6aとハードウェア内外判定部6bのうち早くビジーが解除された方が、優先してバッファ領域5cからデータを読み出す。また、内外判定制御部5の優先モードフラグを早くビジーが解除された方を優先するように変更する。
次いで、ピクセル演算制御部7の処理について説明する。ソフトウェア内外判定部6aまたはハードウェア内外判定部6bから内外判定の結果、図形内部に含まれるピクセルの座標値が出力された場合、ピクセル演算制御部7は、一時保存用バッファである第1のバッファ7a、第2のバッファ7bおよび第3のバッファ7cの空き容量と、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bそれぞれのビジー状態、およびピクセル演算に既にフレームバッファ10に書かれているデータを使用するか否かに基づき、第1のバッファ7a、第2のバッファ7bおよび第3のバッファ7cの何れにデータを格納するのか、またピクセル演算部8a,8bの起動順序を判定する(ステップST10)。
次いで、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bそれぞれがピクセル演算制御部7の出力を受付可能であるかを判定する(ステップST11)。判定結果がNOであれば、受付可能となるまで待機する。一方、判定結果がYESであれば、各ピクセル演算部8a,8bの何れかを起動する(ステップST12)。
具体的には、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bが両方ともビジーでなく、バッファの空き容量がある場合、ピクセル演算制御部7の優先モードフラグに従い、格納先のバッファを決定する。
ソフトウェアピクセル演算部8aがビジーでありハードウェアピクセル演算部8bがビジーでない場合、ハードウェアピクセル演算部8b用の第2のバッファ7bに優先してデータを格納する。また、ピクセル演算制御部7の優先モードフラグをハードウェア優先に変更する。
ソフトウェアピクセル演算部8aがビジーでなく、ハードウェアピクセル演算部8bがビジーである場合、ソフトウェアピクセル演算部8a用の第1のバッファ7aに優先してデータを格納する。また、ピクセル演算制御部7の優先モードフラグをソフトウェア優先に変更する。
ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bが両方ともビジーである場合、一旦共通に利用できる第3のバッファ7cにデータを格納し、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bのうち早くビジーが解除された方が、優先して第3のバッファ7cからデータを読み出す。また、ピクセル演算制御部7の優先モードフラグを早くビジーが解除された方を優先するように変更する。
その後は、起動されたソフトウェアピクセル演算部8aまたはハードウェアピクセル演算部8bによってフレームバッファ103のデータが更新され(ステップST13)、表示制御部9は、フレームバッファ103のデータに基づいて表示データを出力する。
このように、実施の形態1の並列描画装置では、図形描画処理をソフトウェアとハードウェアに分割して効率よく描画を行うため、描画パイプラインの各ブロックをソフトウェア処理とハードウェア処理の両方を用意する。各描画処理ブロック間には、ソフトウェアとハードウェア両者からアクセス可能なバッファを設け、バッファの空き容量と各ブロックのビジー状態などを監視し、1つの図形を描画している途中でもソフトウェア処理とハードウェア処理を動的に切替えることで資源の有効活用をはかることができる効果を奏する。
以上説明したように、実施の形態1の並列描画装置によれば、描画する図形の座標変換をソフトウェアによって行うソフトウェア座標変換部およびハードウェアによって行うハードウェア座標変換部と、ソフトウェア座標変換部とハードウェア座標変換部から共通してアクセス可能なデータを格納すると共に、描画開始命令を受けることによりソフトウェア座標変換部とハードウェア座標変換部のうちどちらを起動するかを示す起動順序の判定を行う座標変換制御部と、ソフトウェア座標変換部またはハードウェア座標変換部の出力に基づき、座標変換された図形の輪郭線とY軸方向の走査線との交点X座標をソフトウェアによって算出するソフトウェア交点座標算出部およびハードウェアによって算出するハードウェア交点座標算出部と、ソフトウェア座標変換部またはハードウェア座標変換部の出力を、ソフトウェア交点座標算出部とハードウェア交点座標算出部から共通してアクセス可能なデータとして格納すると共に、ソフトウェア交点座標算出部とハードウェア交点座標算出部のうちどちらを起動するかを示す起動順序の判定を行う交点座標算出制御部と、ソフトウェア交点座標算出部またはハードウェア交点座標算出部の出力に基づき、図形の内部に含まれるピクセルの座標値をソフトウェアによって算出するソフトウェア内外判定部およびハードウェアによって算出するハードウェア内外判定部と、ソフトウェア交点座標算出部またはハードウェア交点座標変換部の出力を、ソフトウェア内外判定部とハードウェア内外判定部から共通してアクセス可能なデータとして格納すると共に、ソフトウェア内外判定部とハードウェア内外判定部のうちどちらを起動するかを示す起動順序の判定を行う内外判定制御部と、ソフトウェア内外判定部またはハードウェア内外判定部の出力に基づき、図形の内部に含まれる画素に対するピクセル演算を行い、ピクセル演算結果をフレームバッファに出力するソフトウェアピクセル演算部およびハードウェアピクセル演算部と、ソフトウェア内外判定部またはハードウェア内外判定部の出力を、ソフトウェアピクセル演算部およびハードウェアピクセル演算部から共通してアクセス可能なデータとして格納すると共に、ソフトウェアピクセル演算部とハードウェアピクセル演算部のうちどちらを起動するかを示す起動順序の判定を行うピクセル演算制御部と、フレームバッファからデータを読み出し、表示データとして出力する表示制御部とを備えたので、一つの図形を描画している途中でもソフトウェア処理とハードウェア処理を動的に切替えることができ、並列処理する演算リソースを有効活用し、高速かつ効率よく描画処理を行うことができる。
また、実施の形態1の並列描画装置によれば、座標変換制御部、交点座標算出制御部、内外判定制御部、ピクセル演算制御部のうち、少なくとも一つの制御部は、起動順序の判定を行うソフトウェアおよびハードウェアによる処理部に対して、どちらの処理部を優先して起動するかを示す優先モードフラグを有するようにしたので、特定の処理部の起動順序を予め決定することができる。
また、実施の形態1の並列描画装置によれば、座標変換制御部、交点座標算出制御部、内外判定制御部、ピクセル演算制御部のうち、少なくとも一つの制御部は、データを一時保存するためのバッファを有し、バッファをソフトウェアによる処理部の入力用バッファとして利用される領域と、ハードウェアによる処理部の入力用バッファとして利用される領域、およびソフトウェアによる処理部とハードウェアによる処理部に共通の入力用バッファとして利用される領域とに分類してデータを格納するようにしたので、ソフトウェアによる処理部とハードウェアによる処理部に対して最適なバッファを用意することができる。
また、実施の形態1の並列描画装置によれば、ピクセル演算制御部は、既にフレームバッファに書かれているデータを使用してピクセル演算を行うか否かに基づき、起動順序の判定を行うようにしたので、描画性能を向上させることができる。
実施の形態2.
上記実施の形態1では、座標変換制御部1、交点座標算出制御部3、内外判定制御部5、およびピクセル演算制御部7が制御対象の処理ブロックが出力データを受付可能であるかを判定し、判定結果がNOであれば、受付可能となるまで待機していた。これに対し、実施の形態2は、判定結果がNOであった場合はバッファ内のデータを並べ替えすることにより、システム全体の処理性能を向上させるようにしたものである。なお、図面上の構成は、実施の形態1における図1と同様であるため、図1の構成を用いて説明する。
実施の形態2における座標変換制御部1、交点座標算出制御部3、内外判定制御部5、ピクセル演算制御部7のそれぞれは、起動順序の判定を行うソフトウェアおよびハードウェアによる処理部がビジー状態の場合、ソフトウェアによる処理部およびハードウェアによる処理部の入力データに対し、これら処理部で実行する処理が高速化する順序に並べ替えを行い、ビジー状態が解除されるまで起動順序の判定を待機するよう構成されている。これ以外の構成は実施の形態1と同様である。
次に、実施の形態2の並列描画装置の動作について説明する。
図3は、実施の形態2による並列描画装置の処理内容を示すフローチャートである。この実施の形態2では、実施の形態1と比較して以下の手順(ステップST14〜ST17)が異なる。
座標変換制御部1は、ソフトウェア座標変換部2aとハードウェア座標変換部2bそれぞれが座標変換制御部1の出力を受付可能であるかを判定する(ステップST2)。判定結果がNOであれば、座標変換制御部1内のバッファに格納されているデータがソフトウェア座標変換部2aとハードウェア座標変換部2bで処理しやすい順序、すなわち、処理の高速化を図ることのできる順序となるように必要に応じて並べ替えを行い(ステップST14)、再度、座標変換部2a,2bの起動順序の判定を行う(ステップST1)。
交点座標算出制御部3は、ソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bそれぞれが交点座標算出制御部3の出力を受付可能であるかを判定する(ステップST5)。判定結果がNOであれば、交点座標算出制御部3内のバッファに格納されているデータがソフトウェア交点座標算出部4aとハードウェア交点座標算出部4bで処理しやすい順序となるように必要に応じて並べ替えを行い(ステップST15)、再度、交点座標算出部4a,4bの起動順序の判定を行う(ステップST4)。
例えば、図形描画処理をY軸方向に1ラインずつ走査していくような場合、対応するY座標が昇順となるように頂点座標列を格納するのがよい。また、図形描画処理を16×16、32×32などのタイル領域に分割して行う場合、走査するタイルと交差する頂点座標列から順に処理を行っていくのが都合がよい。また、最終的に画面範囲外となる頂点座標は、交点座標算出の処理を省略するようにしてもよい。
内外判定制御部5は、ソフトウェア内外判定部6aとハードウェア内外判定部6bそれぞれが内外判定制御部5の出力を受付可能であるかを判定する(ステップST8)。判定結果がNOであれば、内外判定制御部5内のバッファに格納されているデータがソフトウェア内外判定部6aとハードウェア内外判定部6bで処理しやすい順序となるように必要に応じて並べ替えを行い(ステップST16)、再度、内外判定部6a,6bの起動順序の判定を行う(ステップST7)。
例えば、図形描画処理をY軸方向に1ラインずつ走査していくような場合、対応するY座標上で、交点X座標が昇順となるように交点座標を格納するのがよい。また、図形描画処理を16×16、32×32などのタイル領域に分割して行う場合、走査するタイル内に含まれる交点X座標が昇順となるように処理を行うのが、内外判定処理が単純となり都合がよい。
ピクセル演算制御部7は、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bそれぞれがピクセル演算制御部7の出力を受付可能であるかを判定する(ステップST11)。判定結果がNOであれば、ピクセル演算制御部7内のバッファに格納されているデータがソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bで処理しやすい順序となるように必要に応じて並べ替えを行い(ステップST17)、再度、ピクセル演算部8a,8bの起動順序の判定を行う(ステップST7)。
例えば、フレームバッファ10としてSDRAM等を用いる場合、図形の輪郭部分と図形内部の描画処理を、ソフトウェアピクセル演算部8aとハードウェアピクセル演算部8bにより分割して行い、処理するデータがフレームバッファ103上の同一ページ内に配置されるように制御することで、フレームバッファアクセスのレイテンシを隠蔽し、ハードウェアの性能を最大限活用することが可能となる。
このように、実施の形態2では、座標変換制御部1、交点座標算出制御部3、内外判定制御部5およびピクセル演算制御部7が制御対象の処理ブロックが出力データを受付可能であるかを判定し、判定結果がNOであれば、バッファに格納されているデータがソフトウェアとハードウェアそれぞれが処理しやすい順序となるように必要に応じて並べ替えを行うようにしたため、無駄な待ち時間を短縮し、システム全体の処理性能を向上させることができる。
なお、上記実施の形態2では、座標変換制御部1、交点座標算出制御部3、内外判定制御部5、およびピクセル演算制御部7が全てバッファ内のデータの並べ替えを行うようにしたが、少なくとも一つの制御部であっても効果が得られる。
以上説明したように、実施の形態2の並列描画装置によれば、座標変換制御部、交点座標算出制御部、内外判定制御部、ピクセル演算制御部のうち、少なくとも一つの制御部は、起動順序の判定を行うソフトウェアによる処理部およびハードウェアによる処理部がビジー状態の場合、ソフトウェアによる処理部およびハードウェアによる処理部の入力データに対し、これら処理部で実行する処理が高速化する順序に並べ替えを行い、ビジー状態が解除されるまで起動順序の判定を待機するようにしたので、システム全体の処理性能を向上させることができる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
また、本発明の並列描画装置は、民生・産業・車載機器向けの制御パネル等に応用することができる。
特に、各種FPGAベンダから発表されているCPUとFPGAが1チップに統合されたシステムにおいて、CPU部に本発明の並列描画装置におけるソフトウェアによる描画処理部、FPGA部にハードウェアによる描画処理部を実装するような場合に、ソフトウェア処理とハードウェア処理を動的に切替えることで描画処理の高速化を実現可能である。
一方、CPUとプログラマブルシェーダを搭載した3Dグラフィクス描画エンジンが1チップに統合されたSOCを採用したシステムにおいて、CPU部に本発明の並列描画装置におけるソフトウェアによる描画処理部を実装し、ハードウェアによる描画処理部をプログラマブルシェーダを用いて実装するような場合にも、同様にソフトウェア処理とハードウェア処理を動的に切替えることで描画処理の高速化を実現可能である。
1 座標変換制御部、3 交点座標算出制御部、5 内外判定制御部、7 ピクセル演算制御部、9 表示制御部、1a,3a,5a,7a 第1のバッファ、1b,3b,5b,7b 第2のバッファ、1c,3c,5c,7c 第3のバッファ、2a ソフトウェア座標変換部(S/W座標変換部)、2b ハードウェア座標変換部(H/W座標変換部)、4a ソフトウェア交点座標算出部(S/W交点座標算出部)、4b ハードウェア交点座標算出部(H/W交点座標算出部)、6a ソフトウェア内外判定部(S/W内外判定部)、6b ハードウェア内外判定部(H/W内外判定部)、8a ソフトウェアピクセル演算部(S/Wピクセル演算部)、8b ハードウェアピクセル演算部(H/Wピクセル演算部)、100 並列描画装置、101 CPU、102 CPUバス、103 フレームバッファ。

Claims (5)

  1. 描画する図形の座標変換をソフトウェアによって行うソフトウェア座標変換部およびハードウェアによって行うハードウェア座標変換部と、
    前記ソフトウェア座標変換部と前記ハードウェア座標変換部から共通してアクセス可能なデータを格納すると共に、描画開始命令を受けることにより前記ソフトウェア座標変換部と前記ハードウェア座標変換部のうちどちらを起動するかを示す起動順序の判定を行う座標変換制御部と、
    前記ソフトウェア座標変換部または前記ハードウェア座標変換部の出力に基づき、座標変換された前記図形の輪郭線とY軸方向の走査線との交点X座標をソフトウェアによって算出するソフトウェア交点座標算出部およびハードウェアによって算出するハードウェア交点座標算出部と、
    前記ソフトウェア座標変換部または前記ハードウェア座標変換部の出力を、前記ソフトウェア交点座標算出部と前記ハードウェア交点座標算出部から共通してアクセス可能なデータとして格納すると共に、前記ソフトウェア交点座標算出部と前記ハードウェア交点座標算出部のうちどちらを起動するかを示す起動順序の判定を行う交点座標算出制御部と、
    前記ソフトウェア交点座標算出部または前記ハードウェア交点座標算出部の出力に基づき、前記図形の内部に含まれるピクセルの座標値をソフトウェアによって算出するソフトウェア内外判定部およびハードウェアによって算出するハードウェア内外判定部と、
    前記ソフトウェア交点座標算出部または前記ハードウェア交点座標変換部の出力を、前記ソフトウェア内外判定部と前記ハードウェア内外判定部から共通してアクセス可能なデータとして格納すると共に、前記ソフトウェア内外判定部と前記ハードウェア内外判定部のうちどちらを起動するかを示す起動順序の判定を行う内外判定制御部と、
    前記ソフトウェア内外判定部または前記ハードウェア内外判定部の出力に基づき、前記図形の内部に含まれる画素に対するピクセル演算を行い、当該ピクセル演算結果をフレームバッファに出力するソフトウェアピクセル演算部およびハードウェアピクセル演算部と、
    前記ソフトウェア内外判定部または前記ハードウェア内外判定部の出力を、前記ソフトウェアピクセル演算部および前記ハードウェアピクセル演算部から共通してアクセス可能なデータとして格納すると共に、前記ソフトウェアピクセル演算部と前記ハードウェアピクセル演算部のうちどちらを起動するかを示す起動順序の判定を行うピクセル演算制御部と、
    前記フレームバッファからデータを読み出し、表示データとして出力する表示制御部とを備えた並列描画装置。
  2. 前記座標変換制御部、前記交点座標算出制御部、前記内外判定制御部、前記ピクセル演算制御部のうち、少なくとも一つの制御部は、前記起動順序の判定を行うソフトウェアおよびハードウェアによる処理部に対して、どちらの処理部を優先して起動するかを示す優先モードフラグを有することを特徴とする請求項1記載の並列描画装置。
  3. 前記座標変換制御部、前記交点座標算出制御部、前記内外判定制御部、前記ピクセル演算制御部のうち、少なくとも一つの制御部は、前記データを一時保存するためのバッファを有し、当該バッファをソフトウェアによる処理部の入力用バッファとして利用される領域と、ハードウェアによる処理部の入力用バッファとして利用される領域、および前記ソフトウェアによる処理部と前記ハードウェアによる処理部に共通の入力用バッファとして利用される領域とに分類してデータを格納することを特徴とする請求項1または請求項2記載の並列描画装置。
  4. 前記座標変換制御部、前記交点座標算出制御部、前記内外判定制御部、前記ピクセル演算制御部のうち、少なくとも一つの制御部は、前記起動順序の判定を行うソフトウェアによる処理部およびハードウェアによる処理部がビジー状態の場合、前記ソフトウェアによる処理部および前記ハードウェアによる処理部の入力データに対し、これら処理部で実行する処理が高速化する順序に並べ替えを行い、前記ビジー状態が解除されるまで前記起動順序の判定を待機することを特徴とする請求項1から請求項3のうちのいずれか1項記載の並列描画装置。
  5. 前記ピクセル演算制御部は、既にフレームバッファに書かれているデータを使用してピクセル演算を行うか否かに基づき、起動順序の判定を行うことを特徴とする請求項1から請求項4のうちのいずれか1項記載の並列描画装置
JP2013056642A 2013-03-19 2013-03-19 並列描画装置 Pending JP2014182594A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013056642A JP2014182594A (ja) 2013-03-19 2013-03-19 並列描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013056642A JP2014182594A (ja) 2013-03-19 2013-03-19 並列描画装置

Publications (1)

Publication Number Publication Date
JP2014182594A true JP2014182594A (ja) 2014-09-29

Family

ID=51701245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013056642A Pending JP2014182594A (ja) 2013-03-19 2013-03-19 並列描画装置

Country Status (1)

Country Link
JP (1) JP2014182594A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08139953A (ja) * 1994-11-11 1996-05-31 Canon Inc 印刷装置及び印刷方法
JP2006031160A (ja) * 2004-07-13 2006-02-02 Canon Inc グラフィックオブジェクト処理方法
JP2006289899A (ja) * 2005-04-14 2006-10-26 Canon Inc 画像形成装置
JP2007087283A (ja) * 2005-09-26 2007-04-05 Mitsubishi Electric Corp 図形描画装置及び図形描画プログラム
JP2008097450A (ja) * 2006-10-13 2008-04-24 Mitsubishi Electric Corp 図形描画装置およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08139953A (ja) * 1994-11-11 1996-05-31 Canon Inc 印刷装置及び印刷方法
JP2006031160A (ja) * 2004-07-13 2006-02-02 Canon Inc グラフィックオブジェクト処理方法
JP2006289899A (ja) * 2005-04-14 2006-10-26 Canon Inc 画像形成装置
JP2007087283A (ja) * 2005-09-26 2007-04-05 Mitsubishi Electric Corp 図形描画装置及び図形描画プログラム
JP2008097450A (ja) * 2006-10-13 2008-04-24 Mitsubishi Electric Corp 図形描画装置およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016044229; 森 健一: 'リアルタイム3次元CGハードウエアの技術動向' 電子情報通信学会技術研究報告 Vol.99 No.400 DSP99-94,ICD99-181,IE99-56, 19991028, P.43-50, 社団法人電子情報通信学会 *

Similar Documents

Publication Publication Date Title
US10614549B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
KR101667508B1 (ko) 그래픽 프로세싱 유닛 기반 메모리 전송 동작들을 수행하는 다중모드 메모리 액세스 기법들
KR100450980B1 (ko) 데이타프로세서및그래픽프로세서
JP2009545825A (ja) 拡張型頂点キャッシュを備えたグラフィック処理装置
US9563466B2 (en) Method and apparatus for supporting programmable software context state execution during hardware context restore flow
JP2001243481A (ja) 画像生成装置
JP6320624B2 (ja) テクスチャマッピング装置、テクスチャマッピング方法及びプログラム
JPH11184718A (ja) プログラマブルなデータ処理装置
JP2018533137A (ja) ピクセルタイルレベルグラニュラリティをもつグラフィックス処理ユニットプリエンプション
JP2024516339A (ja) 選択的優先度ベースの2レベルビニングを有する処理システム
JP2013045401A (ja) アニメーション描画装置
US9019284B2 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
JP2006092219A (ja) グラフィックプロセッサ、制御用プロセッサおよび情報処理装置
US10769753B2 (en) Graphics processor that performs warping, rendering system having the graphics processor, and method of operating the graphics processor
JP2014182594A (ja) 並列描画装置
WO2020213379A1 (ja) 車両用装置、車両用装置の制御方法
WO2007055067A1 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
US11640358B2 (en) Vehicular device and control method for vehicular device
JP4244028B2 (ja) グラフィックプロセッサ、制御用プロセッサおよび情報処理装置
JP2014164551A (ja) 画像処理lsi及び画像処理プログラム
JP2023547433A (ja) 計算ワークロードのラスタライゼーションのための方法および装置
US20220024466A1 (en) Vehicle device and vehicle device control method
JP4137903B2 (ja) グラフィックス表示装置およびグラフィックスプロセッサ
JP2006318177A (ja) 情報処理装置およびタスク実行方法
JP2013003986A (ja) 集積回路装置及び電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170131