JP3680525B2 - 描画処理装置 - Google Patents
描画処理装置 Download PDFInfo
- Publication number
- JP3680525B2 JP3680525B2 JP33188397A JP33188397A JP3680525B2 JP 3680525 B2 JP3680525 B2 JP 3680525B2 JP 33188397 A JP33188397 A JP 33188397A JP 33188397 A JP33188397 A JP 33188397A JP 3680525 B2 JP3680525 B2 JP 3680525B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- logic data
- logic
- data
- unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明はコンピュータで生成された画像データを処理し、表示、出力する描画処理装置に関する。
【0002】
【従来の技術】
従来、コンピュータで生成された画像を処理し、画面に表示したりプリンタに出力する場合、特にカラー画像では、その処理に多くの時間がかかるため処理を加速する装置が付加される。加速対象の処理には、たとえば、カラー画像をコンパクトにするための圧縮伸張処理、編集に必要な回転や拡大処理、座標値を計算するためのベクトル演算処理、画質を向上させるための色補正、フィルタリングなどがある。処理を加速する装置は一般的にハードウェアアクセラレータと呼ばれ、このようなハードウェアアクセラレータを用いると、コンピュータの演算処理装置を使ってソフトウェアで処理するよりも、処理の高速化が可能になる。ハードウェアアクセラレータの欠点はアクセラレート対象の機能をすべてハードウェアで用意しておく必要があることである。そのためサポートする機能の数にも依存して回路規模が大きくなってしまう。また本来の処理機能のハードウェアとは別に上記アクセラレータハードウェアが必要になる。たとえば出力デバイスをプリンタとする場合には、ページ記述言語(PDL)を解釈し、画像を展開し、プリンタを動作させ、正常終了を監視する装置機能を持ったハードウェアに加えて、上記アクセラレータハードウェアが必要になる。
【0003】
これに対し、特開平06−131155号公報では、プログラマブルロジックをアドレスジェネレータブロックと演算ブロックとに使用して様々な画像処理の変更データをファイルとして記憶することで共通のプログラマブルロジックを変更して様々な画像処理に対応する装置が提案されている。
【0004】
また特開平06−282432公報では、各種処理に応じてそれらの演算回路の組み合わせに対するデータの流れを制御することで各種の処理をより少ない演算の組み合わせで行い、もって演算回路を小さくする装置が提案されている。
【0005】
しかしながら、これら従来の方式では画像処理を行うときの制約が大きく、回路規模を十分生かせない。演算装置に所定の画像処理に必要なマクロ処理群が登録され、外部から入力される命令コードを一旦デコードしてアドレスを生成し演算を選択して処理する方法は、処理が単純な処理の集まりである場合は有効である。しかし、この方法は、複雑でかつ種類が多い処理を実現するには効率が悪い方法である。また算術論理ユニット(ALU)を複数設置して並列処理することは一つの改善である。しかし、画像処理の場合逐次処理して行くパイプライン化に向いており、並列化では汎用プログラム処理よりは高速化できるものの、ハードウェアアクセラレータとしては規模の割に効果が小さい。
【0006】
そしてこれらの技術は本来の処理とは別の画像処理の一部を担うものであり、装置全体としてはコンパクトには成らない。
【0007】
また、近年、実行時にロジックを再構成することが可能な演算装置が近年実用化されつつある。この演算装置は、処理内容に応じたロジック構成用のデータを外部記憶装置に記憶しておき、これを読み出し、データに基づいてロジックを動的に再構成する演算装置である。この演算装置では、ハードウェア処理による高速性と、ソフトウェア処理による処理内容の変更という柔軟性とを両立することができ、高速性が要求される多数の処理を実行できる。
【0008】
しかしながら、再構成可能なハードウェアを使用する場合、多数の処理内容に適合した構成用データが各々必要なため、処理数が多くなればなるほど、また、処理に必要なロジック規模が大きくなればなるほど、構成用データの容量が増大してしまうという問題があった。また、高速処理のためにはロジックを高速に書き換えなければならず、そのためには、構成用データをSRAMなどの高速な読み出し可能な記憶装置に記憶させておく必要がある。一般に、これらの高速な読み出しが可能な記憶装置は低速なものに比べてコストが高いため、構成用データ容量の増加は、再構成可能な処理装置全体としてのコストを非常に高くしてしまうという問題があった。LSIに内蔵できる高速メモリサイズは半導体を多く使うため内蔵できる容量に上限があり、外部に高速メモリを接続すると回路規模が大きくなってしまう問題も残る。
【0009】
【発明が解決しようとする課題】
本発明は、以上の事情を考慮してなされたものであり、本来の処理機能と例外的に重い処理を加速させるアクセラレータ機能とを一体化したハードウェアとして、処理装置を実現するとともに、一体化したハードウェアは小さな回路規模で構成し、かつ小さなメモリを使用しながら、多様な処理に対応でき、しかも処理の高速化を実現できるようにすることを目的としている。
【0010】
【課題を解決するための手段】
本発明によれば、上述の目的を達成するために、内部素子の接続関係により機能が決定されるハードウェアにより構成され、入力される画像データを処理し出力デバイスをドライブする描画処理装置に、上記出力デバイスの画像処理速度に同期して処理するリアルタイムパス手段と、上記同期速度より遅い速度で処理するノンリアルタイムパス手段とを設けている。そして、少なくとも上記ノンリアルタイムパス手段に、処理機能を再構成するための書き換えが可能な、再構成可能ハードウェアを設けている。さらに、少なくとも、上記ノンリアルタイムパス手段に、処理機能のコンポーネントの各々を上記再構成可能ハードウェアにそれぞれ実装するためのロジックデータを、可逆的に圧縮した状態で記憶するロジックデータ記憶手段と、実行対象の処理機能に基づいて、対応する1または複数のロジックデータを上記ロジックデータ記憶手段から取出すロジックデータ取出し手段と、上記ロジックデータ記憶手段から取出したロジックデータを可逆的に伸張するロジックデータ伸長手段と、上記再構成可能ハードウェアのハードウェア資源を上記実行対象の処理機能に割り当てる資源割り当て手段と、伸張したロジックデータとロジックデータの接続情報と上記ハードウェア資源の割り当ての情報とを用いて、上記実行対象の処理機能を上記再構成可能ハードウェアに実装する手段とを設けるようにしている。
【0011】
本発明をさらに詳細に説明する。本発明の描画処理装置は、例えば、演算装置と一体化描画処理装置と出力デバイスとからなり、一体化描画処理装置は演算装置I/F(インターフェース)とリアルタイムパスと、ノンリアルタイムパスと、出力デバイスI/Fとから構成されている。演算装置I/Fは入力バッファとパス決定部とから構成され、ノンリアルタイムパスは再構成データ制御部、再構成可能なハードウェア、ワークメモリ、出力バッファからなる。演算装置から送られるデータにはヘッダ情報が付加されていて、リアルタイムパス、ノンリアルタイムパスの指定が行われる。また、ヘッダーに処理パラメータがついている。また、ヘッダーに、IDナンバーが付与されている場合、再構成データ制御部がこのIDナンバーに基づいて再構成可能ハードウェアに処理ロジックをロードし、機能を実現する。パススイッチを用いてパスの切り替えを行なえば、ノンリアルタイムパスの中の再構成可能ハードウェアをリアルタイムパスで使用することもできる。
【0012】
再構成データ制御部は、どんな処理ロジックを再構成するかを示す情報を演算装置から受け取る手段と、受け取った情報に基づいて処理全体が機能するよう処理ロジックを組み合わせる処理ロジック構成手段と、処理の構成要素に対応する処理ロジックを圧縮された状態で記憶する処理ロジック圧縮データ記憶手段と、圧縮された処理ロジックを伸張する手段と、処理ロジックを再構成可能ハードウェアに書き込む書き込み手段とから構成される。また、演算装置の処理ロジック圧縮手段で圧縮された処理ロジックを、再構成データ制御部へダウンロードする手段を設けてもよい。
【0013】
【発明の実施の形態】
以下、図面に基づき本発明の実施例について説明する。
[実施例]
(全体構成)
図1は、本発明に係わる一体化描画処理装置を使ったシステムの一構成例を示す。図1において、コンピュータなどの演算装置1でPostScript(米国アドビシステムズ社の商標)などのページ記述言語(PDL)で書かれた文書やGDI(Graphic Device Interface、米国マイクロソフト社の商標)などの表示向けフォーマットなどを、アプリケーションソフトウェアを使って生成する。また、演算装置1は、あらかじめ別のコンピュータを使って作られたファイルをネットワーク経由で受け取り、このファイル(電子情報)を可視化する処理を行ってもよい。一体化描画処理装置2には可視化処理に必要なハードウェア、ソフトウェアの動作環境が実装されている。演算装置1は一体化描画処理装置2を使って、文書を、例えば表示用やプリント用の出力デバイス3に出力できるデータに変換する。一体化描画処理装置2は出力デバイス3と直接に接続されており、この出力デバイス3を駆動する。
【0014】
(一体化描画処理装置)
図2は、一体化描画処理装置2の構成例を主に示す。図2において、一体化描画処理装置2は、演算装置インターフェース(I/F)5、出力デバイスI/F8、リアルタイムパス6、およびノンリアルタイムパス7を含んで構成されている。演算装置I/F5は、演算装置1との間でハードウェア上またはソフトウェア上の接続を提供するものである。出力デバイスI/F8は、出力デバイスとの間の接続を実現するものである。リアルタイムパス6は、演算装置1から受けた画像データを、出力デバイス3の要求速度、または画像データを可視化するのに必要な速度で、処理するものである。またノンリアルタイムパス7は、要求速度より遅い速度で処理を実行するものである。
【0015】
画像データは演算装置1から演算装置I/F5を介してノンリアルタイムパス7またはリアルタイムパス6に送られる。演算装置1から演算装置I/F5を経由してノンリアルタイムパス7に送られた画像データは、ノンリアルタイムパス7で処理され、演算装置I/F5を経由して指定された記憶装置のアドレスへ転送される。転送されたデータは、必要であれば、さらに演算装置1で処理され、またはノンリアルタイムパス7で繰り返し処理され、またはリアルタイムパス6へ転送され、最終的に出力デバイス3へ送られる。演算装置1から演算装置I/F5を経由してリアルタイムパス6へ送られた画像データは出力デバイスI/F5を経由して出力デバイス3に出力される。リアルタイムパス6へ送られる画像データは、あらかじめ要求速度で処理できることが判明している画像データである。リアルタイムパス6で処理された結果は出力デバイスI/F8を経由して出力デバイス3へ送られる。ここで、出力デバイス3は白黒プリンタやカラープリンタや表示デバイスである。カラープリンタにはカスケード方式、タンデム方式を含む。表示デバイスはCRT、液晶表示装置などを言う。
【0016】
以下の説明においては、演算装置1から送られる画像データを2次元静止画とするけれども、画像データは2次元静止画に限定されず、3次元静止画や動画などでもよい。この場合、基本のフローは2次元静止画の場合と同じであり、同じ対象として扱うことができる。
【0017】
(描画処理フロー)
図3は、図1のシステムにおける各機能ユニットおよび画像データの処理フローを示す。図3の処理フローの前処理としてアプリケーションソフトウェアでプリントや表示したいデータを生成する。それらはPDLであったりGDIタイプであったりPDF(Portable Document Format)であったりする。処理対象のデータは、直接、またはネットワークを経由して演算装置1に入力される。
【0018】
図3において、処理データ入力部101はデータファイルを固まりとして、一旦、記憶装置に記憶し、この後、字句解析部102に順次供給する。字句解析部102は、ファイルに書かれた内容がどの記述方式を採用しているか判別し、その記述のシンタックスに従って記述内容を解析し、トークンとして切り出し、オブジェクトに分けて必要な処理を施す。
【0019】
ここで、字句解析結果が線画命令であると仮定する。線画命令は、文字であれば、文字コード、フォントID、座標マトリクス、描画色などを含み、図形であれば、ベクター、座標変換マトリクス、線属性、描画色などを含む。そして、それらの処理を文字図形処理部103で行う。描画命令郡とそれに付加された情報、フォントデータ情報を使用して、まずベクターデータが生成され、このベクターデータは変換マトリクスによって座標変換される。変換されたベクターデータはベジエなどの曲線で表されるのでこれを複数の直線ベクターで近似する。直線近似したベクターデータを台形データなどの矩形の集合で表現する。
【0020】
つぎに、字句解析結果が画像描画画命令だったと仮定する。画像については、ソース画像データ、ソース画像ヘッダ情報(サイズ、深さ、色、圧縮など)、座標マトリクスなどが取出され、それらの処理をラスタ処理部104で行う。ラスタ処理部104はソース画像データに付いたヘッダ情報に基づき演算処理を行う。演算内容は伸張であったり、拡大処理、回転処理、色補正処理などである。結果は同様に矩形で生成される。
【0021】
中間データ生成部105は処理結果並べ替え部201(図11)、バンド単位分割部202(図11)、文字図形ラスタ合成部203(図11)から成る。まず処理結果並べ替え部201では字句解析部102で順次処理された描画命令群をある領域単位で並べ替える。領域は出力デバイス3ごとに異なるがプリンタの場合はプリント出力する走査方向に沿う所定数のライン単位で区切り、出力する側の先頭から領域を作ってゆく。領域の例としてはバンドがある。ディスプレイでも同様で、走査方向のラインに従って領域を分ける。文字図形やラスタ画像は表示画面または1ページ上に広がって記述される。そのため領域の先頭から並べ替えたものを領域に当てはめると文字図形やラスタ画像は領域の境界上に重なる場合がある。そのときにはバンド単位分割部202で矩形データを複数のバンド領域に分割し、それぞれの領域に入るような矩形を新たに生成する。文字図形、ラスタごとに処理を行い、文字図形ラスタ合成部203で領域ごとにまとまった中間データを生成する。
【0022】
中間データの生成の例を図7〜図10に示す。図7および図8は文字図形に関するものである。図7および図8において、所定の図形データを破線で示すような三角、または台形に区切る。バンド境界(一点鎖線)を含む台形を、バンド境界で区切る。区切られた5つの台形についてオブジェクトID、外接矩形、処理ID、色処理などが付加された情報が生成される。
【0023】
図9および図10はラスタ処理に関するものである。図9および図10において、通常四角形の写真がバンド境界で2つに分けられる。文字図形と同様にオブジェクトID、台形数、外接矩形、処理ID、台形それぞれの画像ヘッダと画像データが生成される。このように中間データには領域ごとにどんな展開処理が必要なのかを示すヘッダー情報が付与される。ラスタについては、ラスタデータ生成部105と中間データ展開部107との役割分担にしたがって、種々の中間データ形式を採用でき、最終のデータに必要な処理から展開部107で行う処理を引いた残りが、中間データ生成に必要な処理となる。展開部107で行なう処理が色変換、解像度変換、スクリーンとすればそれらがヘッダー情報として付与される。文字図形ラスタ合成部203はそれぞれ別に処理された文字図形とラスタ(図8および図10の情報)を、共通のバンディング単位でまとめてゆく。
【0024】
生成された中間データは中間データ記憶部105で記憶され、中間データ展開部107で展開処理する。文字図形データの展開処理は矩形の直線ベクトル描画である。矩形のエッジ座標を計算し、二つの座標計算処理から出された矩形データから座標計算処理座標値により矩形のx軸に平行な直線を描画し、色情報に基づき矩形内を塗りつぶす。ラスタデータについてはヘッダー情報から色変換、解像度変換を行なう必要があると仮定する。色空間がRGBで入力されたとすると、テーブルを使ってそれぞれの値に対応したYMCKを出力する。テーブルが大きくなる場合には、出力された代表値とその近辺の値を算出する補間計算部を採用して、より小さなテーブルでもYMCKを出力するように構成してもよい。出力デバイス3がディスプレイの場合はRGB(標準)からデバイス特性にあったRGB(固有)を出力する計算となり、YMCK出力より単純計算ですむ。ソース画像が小さなサイズのデータで、出力デバイス3にあわせて大きくする場合には解像度変換を行なう。すなわちラスタデータを読み込み補間処理により出力デバイスの画素にあわせてアドレスを計算する。これらを分割した領域ごとに処理し、出力デバイス3へ出力する。
【0025】
中間データ展開部107はソフトウェアによる展開処理方法も採用できるけれども、DDA(Digital Differential Analyzer)を使った座標計算や、文字図形とラスタを含んだ中間フォーマットを直接にパイプライン処理ハードウェアにより展開処理する手法がすでに知られている。
【0026】
図3で示した処理フローはリアルタイムパス6とノンリアルタイムパス7とを含めた総合的なフローである。中間データを生成するまでは演算装置1で処理を行うが、ラスタを中心とした処理は負荷が重く単純に演算装置1のソフトウェア処理では時間がかかる。
【0027】
(バンド処理)
以上の描画処理は例えばバンド単位で行なうことができるので、ここで、バンド単位の処理について触れておく。
【0028】
演算装置1は処理するデータの固まり、通常は、プリントしたり表示したりするドキュメント一式を、処理する。このときの最小単位は1ページまたは1画面である。最小単位でバンド処理を開始する。
【0029】
バンド単位の処理を行う各機能部および相互の動作フローを図12に示す。図12において、バンド単位の処理は、処理結果並び替え部201、バンド単位分割部202、文字図形ラスタ合成部203、処理モジュール検索手段204、モジュール検索テーブル205、処理ロジック群ヘッダ生成手段206、処理速度算出手段207、および処理ロジック速度データベース208等を用いて行なう。処理結果並べ替え部201、バンド単位分割部202および文字図形ラスタ号西部203は、図3の処理データ入力部101、字句解析部102、文字図形処理部103、ラスタ処理部104、中間データ生成部105、中間データ記憶部106に対応するものであり、中間データを生成して保持するようになっている。
【0030】
処理モジュール検索手段204およびモジュール検索テーブル205は処理モジュール情報を生成するものである。処理モジュールは、構成対象の回路に含まれるモジュールを意味する。処理ロジック(処理ロジックデータ)は、処理モジュールを再構成可能ハードウェア72(図4)で実現するためのデータを意味する。この処理モジュール情報の生成については後に説明する。また処理ロジック群ヘッダ生成手段206は処理ロジックデータを生成するものである。処理ロジック(処理ロジックデータ)は、処理モジュールを再構成可能ハードウェア72で実現するためのデータを意味する。この処理ロジックデータの生成についても後に説明する。
【0031】
処理速度算出手段207は処理ロジック速度データベース208を参照して処理ロジックの処理速度を算出する。この処理速度に基づいて、処理ロジックがリアルタイムパス6またはノンリアルタイムパス7のいずれに実装されるべきかが判別される。この判別結果に基づいてリアルタイム処理ヘッダまたはノンリアルタイム処理ヘッダが処理ロジックデータに付され、こののち、対応するパスに転送される。以降のバンドも同様に処理される。
【0032】
出力デバイス3への描画出力は、最小単位ごとに行なってもよいし、ドキュメント単位で行なってもよい。
【0033】
(処理モジュールデータおよび処理ロジックデータの特定)
この実施例では、中間データに基づいて処理モジュールデータを生成し、さらにこの処理モジュールデータに基づいて処理ロジックデータを生成するようになっている。そして、この処理ロジックデータが再構成可能ハードウェア72に書き込まれる。以下では処理モジュールデータおよび処理ロジックデータについて説明する。なお、先に述べたように、処理モジュールは、構成対象の回路に含まれるモジュールを意味し、処理ロジック(処理ロジックデータ)は、処理モジュールを再構成可能ハードウェア72で実現するためのデータを意味する。
【0034】
処理モジュールデータは、図11の処理モジュール検索手段204およびモジュール検索テーブル205により生成される。これらはともに演算装置1により実現される。
【0035】
中間データの生成が終了すると、図8および図10に示す付加情報がまとめられ、どのような処理がそれぞれのバンドで必要になるか判別できる。処理モジュール検索手段204が、バンドに含まれる処理IDを受け取ると、モジュール検索テーブル205を参照する。モジュール検索テーブル205を、処理IDを用いて辞書引きすると、処理IDを実行するために必要な1つ以上の処理モジュールがすべてリストアップされ、さらに、それら処理モジュールがどのように接続されると動作するかを表す接続情報も同時に取出せる。
【0036】
処理IDで示されるラスタ中心の処理は種類が非常に多く、処理モジュールを合計してゲート換算すると大きさは数千ゲート程度から数十万ゲート以上までとサイズも大きく異なる。
【0037】
処理ロジック群ヘッダ生成手段207は処理モジュール検索手段204から処理モジュール情報を受け取り、この処理モジュール情報に基づいて処理ロジックデータを生成する。
【0038】
▲1▼デジタルフィルタの例
図14は、画像処理回路の一例としてディジタルフィルタを示す。図14において、ディジタルフィルタ300は、演算に必要な計数を入力する係数入力部301と、計数を記憶する係数記憶部302と、フィルタ処理対象の画像データが入力される入力データレジスタ部303と、乗算器、加算器、時間遅延器などから成るデジタルフィルタリング部304と、動作タイミングを生成するタイミング発生部305と、デジタルフィルタリング部304がワークメモリを使用するときに必要なメモリインターフェース部306と、演算結果を保持する出力データレジスタ部307とから構成されている。基本的に、図14に示したデジタルフィルタ300においては、ブロックごとに処理モジュールを分けることができる。ただし、デジタルフィルタリング部304はゲート規模によって乗算器とそれ以外に分けることができる。こうして、ディジタルフィルタ300は8つの処理モジュールから構成されていることになる。
【0039】
さて、図11において、処理モジュール検索手段204に入力された処理IDがディジタルフィルタに対応するものであると仮定する。そうすると、処理モジュール検索手段204は、モジュール検索テーブル205を検索し、8つのモジュールで構成されていることと、その接続関係を示す接続情報を取出す。処理モジュール検索手段204は、取出した情報を処理ロジック群ヘッダー生成手段206に送り、処理ロジック群ヘッダ生成手段206はモジュールナンバーから処理ロジックナンバーを検索する。モジュールナンバーと処理ロジックナンバーは同一でも良いが、再構成ハードウェアが高性能の場合にはモジュールナンバーを複数の処理ロジックナンバーに対応付けてもよい。例えばデジタルフィルタリング部304に関連してモジュールナンバーのレベルでは乗算器とそれ以外の部分とを分離し、他方、処理ロジックナンバーのレベルでは乗算器、加算器、時間遅延器を分離することができる。
【0040】
処理ロジックナンバーと関連する接続情報は一体化描画処理装置2に演算装置I/F5を経由して送られる。
【0041】
▲2▼色補正処理の例
図15は色補正処理回路の構成を示す。色補正方式は各種あるが例に示した方式は3次元ルックアップテーブルの辞書引きと補間演算とを行うものである。図15において、色補正処理回路310は、参照テーブルおよび補間係数を入力する係数入力部311と、この計数入力部311から入力されたデータを記憶する係数記憶部312と、補正対象のカラーデータを入力する入力データレジスタ部313と、入力データの直線性を補正する入力補正器314と、入力された値に基づいて参照するテーブルのアドレスを生成するアドレスジェネレータ315と、差分ジェネレータ、レジスタ、補間演算器、出力補正器からなる3次元補間部316と、出力データを保持する出力データレジスタ部317と、回路全体のタイミングを制御するタイミング発生部318、複数の係数を保持するためのワークメモリとのインターフェース部319とを含んで構成される。図14のデジタルフィルタ300と同様に、色補正処理回路310の処理モジュールをカウントする。ここで3次元補間部316は差分ジェネレータ、補間演算器、出力補正器、およびそれ以外の部分に分けられる。そうすると、色補正処理回路310は合計で12個の処理モジュールから構成されることになる。
【0042】
さて、図11において、処理モジュール検索手段204に色補正処理の処理IDが入力されると、処理モジュール検索手段204はモジュール検索テーブル205を参照して、色補正処理が12個のモジュールで構成されていることを示す情報とその接続関係を示す接続情報を受け取る。処理モジュール検索手段204は、この情報を処理ロジック群ヘッダー生成手段206に送り、処理ロジック群ヘッダ生成手段206はモジュールナンバーに基づいて処理ロジックナンバーを決定する。
【0043】
デジタルフィルタ300と色補正処理回路310の構成・処理は異なるが、ブロックで比較すると6個の処理モジュールを共通化できることがわかる。処理ロジックでは共通化できないモジュールでもシフトレジスタや基本的な加算、乗算処理などが共通に使えることもある。
【0044】
図13(1)に処理モジュールのリストとモジュールの接続情報を示す。これは、処理モジュール検索手段204(図11)の処理結果の一例である。これらは、処理に必要な処理モジュールの名前と、それらを接続するための情報である。図13(2)は、処理ロジック群ヘッダー生成手段206が図13(1)に示す処理モジュール情報を受け取って生成した処理ロジック群を示す。処理ロジックヘッダー生成手段206は、処理モジュール名から処理ロジック名を検索する参照テーブルを具備している。図13の例では、コンパクトな処理モジュールa〜h、nはそのまま処理ロジックに1対1に対応していて、大きな処理モジュールkは2つの処理ロジックに分けられる。処理モジュールと処理ロジックとが1対1に対応している場合には、処理モジュールの接続情報をそのまま処理ロジックの接続情報として用いる。1つの処理モジュールが複数の処理ロジックに分けられている場合は、処理モジュール接続情報と処理ロジック群ヘッダー生成手段206にある処理ロジック参照テーブルとを用いて処理ロジック接続情報を生成する。
【0045】
処理ロジックは、VHDL(VASIC Hardware Description Language)などで論理記述され論理合成ツールを使って合成し、検証して、論理素子レベルのデータに変換される。例えば、FPGA(field programable gate array)コンパイラーなどを使って、再構成可能なハードウェアのFPGAなどに記述できる論理素子レベルのデータに変換する。ここで言う論理素子レベルのデータはブール式またはFPGAに生成するセルとその接続リストから成る。ASCIIで表現された結果を可逆的に復元可能な方法、例えば、ラン・レングス圧縮やLZW(Lempel−Ziv−Welch)圧縮といった方法でデータ圧縮する。このレベルでの圧縮結果ではサイズが大きい場合はさらにFPGAを構成する最小単位のセルレベルにまでデータ変換し、アドレス順に並んだ論理値に、上記と同様な可逆圧縮方法を適用する。どのレベルで圧縮したかは圧縮された処理ロジックのファイルの先頭に記述されている。
【0046】
再構成処理情報受け取り手段209(図12)は、処理モジュールデータ(図13(1))を受け取り、処理ロジック構成手段210に渡す。処理ロジック構成手段210は、処理モジュールに体操した所要の処理ロジックデータ(図13(2))を、構成用圧縮データ記憶手段211から読み出す。処理ロジック構成手段210は読み出した処理ロジックと処理ロジックデータに書かれた接続情報からそれらの接続した状態を作り出す。処理ロジックデータにある接続情報はそれぞれが接続されるべきinput、outputがすべて記入されている。バスやアドレス、タイミング信号、電源、グランドなどである。それぞれが決まった名前が付随している。例えば処理ロジックBの出力信号でデータ信号線16本のうちの1番だとするとBout/d1と記述されている。その接続先としてCin/d1が指定されているとそれらを接続する。
【0047】
(パスの切り替え)
図11の処理速度算出手段207および処理ロジック速度データベース208で処理速度を計算する。処理ロジックデータベース208にはそれぞれの動作時間が記述されている。想定するFPGAの動作周波数や素子遅延時間などを総合して検証された時間である。処理は複数の処理モジュールで表現され、処理モジュールは処理ロジックで表現される。一つの処理は複数の処理ロジックを持つため、処理ロジックの処理時間とそれらの接続時間を合計して、1つの処理に対する処理時間が計算できる。このようにして、処理にかかる時間の算出が正確にでき、再構成可能ハードウェア72による処理が、出力デバイスの要求速度に間に合うかどうか判定できる。間に合う場合はリアルタイムパス6で処理され、間に合わない場合はノンリアルタイムパス7で処理される。
【0048】
以上の演算処理は、一体化描画処理装置2で行なってもよいし、演算装置1で行なってもよい。ノンリアルタイムパス7とリアルタイムパス6との切り替えやその速度が重視される出力デバイス3を用いる場合には、これらの演算処理を演算装置1側で行い、処理結果を一体型描画処理装置へ送るようにすると、処理効率が向上することもある。演算処理の実行場所が異なっても、基本的な動作や機能は変わらない。
【0049】
(処理ロジックデータの準備)
再構成可能ハードウェア72(図4)へデータを書き込むフローは、▲1▼処理方法の抽出、▲2▼処理方法の処理モジュールへの変換、▲3▼処理モジュールから処理ロジックへの変換からなる。処理方法は、処理対象のファイルがサポートしている機能で一義的に決まってくる。処理を分解してゆくと処理モジュールになる。これも処理機能をデザインすることにより一般的なブロックとして表現可能である。処理ブロックがどのような処理ロジックになるかは、使用する素子や設計ツール、処理効率、出力デバイス特性などの依存する。そのため処理対象ファイルが変われば処理ロジックの一部変更や追加が必要になる。さらに、接続するデバイスが変わったり、設計ツールのレベルが進歩してより効率的な処理ロジックデータを生成できるようになった場合にも、処理ロジックの一部変更や追加が必要になる。
【0050】
図16は処理ロジックデータの準備のフローを示す。図16において、まず、処理ロジックをあらかじめ制作しておく。すなわち、処理機能をブレークダウンし、ブレークダウンの結果をVHDLなどの設計ツールを用いて論理データに変換する。変換結果を処理ロジックデータ入力手段220に入力し、処理ロジックデータ圧縮手段221で圧縮処理を行う。先に述べたように、処理ロジックとその接続情報との合計サイズがもっともコンパクトになるような圧縮方法を選択する。圧縮されたデータは、再構成処理情報受け取り手段209を経由して処理ロジック圧縮データ記憶手段211に記憶される。
【0051】
また新しい処理ロジックデータが処理ロジックデータ入力手段220に入力されると新しい処理ロジックの名前が処理ロジック群ヘッダ生成手段206の処理ロジック参照テーブルへ登録される。処理ロジック参照テーブルには、登録済みの処理ロジックのリストが記憶されている。記憶されていない場合には、処理ロジック圧縮データ記憶手段211にあるデータベースから登録されている処理ロジックのリストを入手することができる。処理ロジック作成者はその情報に基づき処理ロジックに新しい番号をつける。処理ロジックは、処理ロジックに付された番号に基づいて処理ロジック圧縮データ記憶手段211に記憶されるので、新しい処理ロジックが記憶されて既存の処理ロジックに影響はない。
【0052】
(処理ロジックデータの書き込み)
図12は、再構成可能ハードウェア72への処理ロジックデータの書き込みを説明するものである。図12において、再構成処理情報受け取り手段209は演算装置I/F5から、必要な処理ロジックの情報を受け取る。この処理ロジックの情報は処理ロジック構成手段210に供給され、処理ロジック構成手段210は処理ロジック圧縮データ記憶手段211から必要なデータを読み出す。処理ロジック構成手段210は、圧縮された処理ロジックデータとその接続情報とを処理ロジックデータ伸張手段212へ送る。処理ロジックデータ伸張手段212は、圧縮されている情報のヘッダについている圧縮方法から伸張方法を選択し、データを元に戻し、再構成書き込み手段213へ送る。再構成書き込み手段213は、処理ロジックデータを、ハードウェア資源が使用できる領域のアドレス情報を付加したうえで、再構成可能ハードウェア72に転送する。処理ロジックデータの書き込みは処理ロジック単位で次々に実行される。処理ロジック終了サインが処理ロジック構成手段212から送られて来るまで、再構成書き込み手段213は書き込みを継続し、書き込み処理のそれぞれが正常に終了したかどうか監視する。正常に終了すると再構成書き込み手段213は処理ロジック構成手段210へ正常に終了したメッセージを送る。
【0053】
(ノンリアルタイムパス)
図4は、処理ロジックの実行速度が比較的遅く、そのためノンリアルタイムパス7に処理ロジックデータが書き込まれる場合を説明するものである。なお、演算装置1(図1、図2)にはメモリおよびCPUの性能、出力デバイス3の要求速度、一体化描画処理装置2に関するデータベースがあらかじめ登録されている。データベースを用いて、例えば画像処理であれば、その処理内容、さらに、対象画像サイズからリアルタイムパス6へ送るかノンリアルタイムパス7へ送るかを、大まかに決定する。リアルタイムパスで処理可能かどうか判断が困難な場合には自動的にノンリアルタイムパス7になる。
【0054】
図4において、演算装置I/Fは入力バッファ51およびパス決定部52を含む。ノンリアルタイムパス7は、再構成データ制御部71、再構成可能ハードウェア72、ワークメモリ73、出力バッファ74を含んで構成されている。演算装置1でパスが決定され必要なヘッダ情報を付加した画像データは演算装置I/F5に送られる。演算装置I/F5は画像データを入力バッファ51へ蓄え、ヘッダ情報に書かれたリアルタイム、またはノンリアルタイムの識別に基づいてパス決定部52がデータの送る方向を決める。ノンリアルタイムのデータの場合、データのヘッダには画像処理内容を示すID、画像データサイズ、転送速度、演算装置1内のメモリアドレスなどが含まれる。ヘッダ情報は再構成データ制御部71に送られ、この再構成データ制御部71はヘッダ情報に書かれた次に動作させる処理内容を、再構成可能ハードウェア72にロードする。再構成ハードウェア72は動的に書き換え可能なFPGA素子でできていて、一部、または全部のロジック部を書き換えることができる。入力バッファ51はノンリアルタイムパス7で処理するデータを再構成可能ハードウェア72に送る。再構成可能ハードウェア72はワークメモリ73を使用して演算処理しその結果を出力バッファ74に送り、出力バッファ74はヘッダに書かれたメモリアドレスへ転送する。
【0055】
再構成データ制御部71にはラスタ処理を中心とした処理ロジックがあらかじめ蓄積されている。処理ロジックは、処理ロジックが再構成可能ハードウェア72にロードされると、再構成可能ハードウェア72が一般のASIC(特定用途向けIC)などと同様の機能を果たすような態様で、記述されている。再構成可能ハードウェアにALUを含む場合はそのマイクロコードが処理ロジックに含まれる。一般のASICと同様、動作の論理記述をHDLなどのハードウエア記述言語で行い、コンパイルしてハードウェアのロジックデータに変換する。そして、動作シミュレーションで期待通りのタイミングで動作するかどうかをあらかじめハードウェア記述言語開発装置(図示せず)でチェックしたものが、再構成データ制御部71に蓄積される。この際、再構成可能ハードウェア72の最大サイズも考慮する必要がある。例えば、ロジックデータに変換した処理ロジックが最大ゲートサイズを越える場合は、並列度を下げるなどしてハードウェア記述をコンパクトにして最大サイズ内に納める。この場合、動作速度が犠牲になる。正常に動作したロジックデータを再構成データ制御部71の処理ロジック圧縮データ記憶手段211へ登録する。登録方法はコンピュータである演算装置1に入力し、演算装置I/F5を経由して転送する。または、あらかじめROMなどに記憶させたデータを処理ロジック圧縮データ記憶手段211として設置する方法もある。フラッシュメモリなどであれば設置した後に演算装置1よりダウンロードすることも可能である。
【0056】
(再構成可能ハードウェアによる処理)
図5にヘッダー情報の例を示す。これは処理単位で付加される。最初にノンリアルタイムかリアルタイムパスかを選択するための情報があり、図5ではリアルタイムを01、ノンリアルタイムを02というコードで示している。リアルタイムではその後の処理に必要なパラメータが付加されている。たとえば画像を2倍に拡大する場合は拡大処理名と倍率2という数字が入っている。ノンリアルタイムでは送られたデータに対する処理を示すID番号が付加されている。処理を構成する処理モジュールに対応して処理パラメータが具備される。例えばパラメータには色補正を行う場合の演算係数が入っている。その後に画像サイズ、メモリアドレス、処理ロジックリストが続き、実際に処理するデータが続く。
【0057】
演算装置1がノンリアルタイムパス7を使用する場合には処理したいデータにヘッダー情報02を付与する。演算装置I/F5は受け取ったデータを一旦、入力バッファ51へ蓄積し、パス決定部52はヘッダー情報02に基づいてデータをノンリアルタイムパス7へ送る。その他のヘッダー情報は再構成データ制御部71へ送られ、再構成データ制御部71は次々に送られてくるデータに対応して処理ロジックを動的にロードする。処理ロジックをロードされた再構成可能ハードウェア72は、処理するデータをパス決定部52経由で受け取り、ワークメモリ73を使用して順次処理し、出力結果を出力バッファ74へ渡す。再構成データ制御部71は、処理内容に基づいてワークメモリ73の使用可能領域を決定する。また送られたヘッダー情報に出力バッファ74が送るべき先のアドレスが設定されているので、出力バッファ74へ情報を送る。出力バッファ74は送り先アドレス情報により転送する。
【0058】
(処理の例)
色補正処理を例にして一連の流れを説明する。色処理の内容は出力デバイスやデータの色記述方法、処理したい品質レベルなどで10種類以上の組み合わせがある。記述は入力がRGB系、Lab系、YMCK系があり、出力がRGB系、YMCK系がある。変換精度によりテーブル方式、マトリクス方式、テーブル及び補正方式がある。出力デバイスへの適合処理には、出力デバイスの色空間範囲マッピング処理がある。組み合わせた処理モジュールに対応する処理ロジックがすべて再構成データ制御部71に蓄積されている。蓄積されていない場合は、演算装置1から演算装置I/F5を経由してダウンロードできる。処理ロジックにはすべてナンバーが付与されていて、入力されるヘッダに書かれた処理ロジック名、番号から一対一で対応がつく。たとえばナンバーがテーブル及び補正方式を示すと、テーブル及び補正方式の処理ロジックがロードされる。テーブル及び補正処理のハードウェア論理数約50kゲート相当が再構成可能ハードウェアに書き込まれる。再構成可能ハードウェア72は100kゲート書き込めるとする。より大きなサイズも実装可能である。演算に必要なパラメータはヘッダー情報から入手し、ハードウェアに設定される。パラメータは、演算係数や演算結果を非線形補正するために使用する。再構成可能ハードウェア72は高速メモリ素子を内蔵し、演算に必要な係数や参照テーブルなどを蓄積し、演算に使用できる。処理データの色記述はRGB(標準)で入力され、数画素単位以上でワークメモリ73へ一旦蓄積され、演算のたびに読み出され再構成ハードウェア72で処理され、この結果、YMCKデータが生成される。1画素は24ビット入力、32ビット出力であるが、この値はデバイスの表現できる範囲できまる。YMCKは32ビット単位で出力バッファ74に送られ、出力バッファ74は指定されたアドレスへYMCKデータを転送する。再構成ハードウエア72とワークメモリ73は所定の一定速度のクロックで同期して動作するため、高速処理が可能になる。ワークメモリ73にはダイナミックRAMが使われ、高速アクセスできるもの、またはバス幅を広げて接続されるものが採用される。転送のために指定されるアドレスは演算装置1内のメモリ装置となる。
【0059】
再構成ハードウェア72の動作クロックは素子の特性にもよるが、ここでは100MHzクロックで動作すると仮定する。テーブル及び補正処理では処理速度算出手段207(図11)の結果から1画素5クロックで処理が終了する仮定する。そうすると、連続して画像データを転送処理するときの処理速度は20M画素/秒となる。例えば出力デバイス3へリアルタイムで送る場合は50M画素/秒必要となるためリアルタイムパスへ送ることはできないが、演算装置1におけるソフトウエアによる処理では、4M画素/秒程度であるため、ノンリアルタイムパスを使用すると数倍高速化できるようになる。
【0060】
色補正に関する必要な処理ロジックをすべて合計すると数十万ゲート以上になるが、圧縮された処理ロジックとノンリアルタイムパス7を使うことで、十分小さな再構成可能ハードウェア72とその書き換えを行う周辺ハードウェアですべての機能をサポートすることができるようになる。
【0061】
(変形例)
今までは再構成可能ハードウェア72の利用方法をノンリアルタイムパス7のみで説明してきたが、処理内容と動作速度によって出力デバイス3の要求速度に間にあうケースもでてくる。この場合、再構成可能ハードウェア72はリアルタイムパス6のなかで使用できる。
【0062】
図6は、リアルタイムパス6にも再構成可能ハードウェア72を用いる構成を示す。図6の全体の構成は図2と同じであるが、図6の構成では一体化描画処理装置2内にパススイッチ9が加わる。図4の演算装置I/F5内のパス決定部52からリアルタイムパス7へゆくビデオの流れはパススイッチ9へ入力される。そのほかの再構成データ制御部72やワークメモリ73などに変更はない。パススイッチ9とノンリアルタイムパス7間は双方向のパスが具備される。再構成可能ハードウェア72で動作する処理は例えば色補正処理であり、テーブル及び補正方式より処理が単純なマトリクス方式を使用するものとする。変換精度の要求があまり高くない場合、または同じ表色系(XYZ表色系など)の中での変換などにはマトリクス方式が使われる。マトリクス方式を用いると、合計のゲート数が5kゲートの処理ロジックにより、1画素1クロックで処理できるため、再構成可能ハードウエア72の動作速度は100M画素/秒となることを、演算装置1はデータベースから判断できる。その結果、演算装置1は、まずヘッダーにリアルタイムパス01を指定し、IDから処理ロジックを決定し、その後の情報を付与し、さらに、再構成に必要な処理ロジック名、画像データをヘッダーに連結して一体化描画処理装置2に送る。再構成データ制御部71は指定のモジュールを再構成可能ハードウェア72にロードする。演算装置I/F5のパス決定部52はこれらの条件からノンリアルタイムパス7にある再構成可能ハードウェアを72、パススイッチ9を使ってリアルタイムパス6でも使用できるように切り替える。データラインの16本ないし32本とタイミング制御、通信制御ラインを切り替える。演算装置I/F5から出たラインはパススイッチ9へ入りパススイッチ9からノンリアルタイムパス7の再構成可能ハードウェア72に入り出力バッファ74の出力はパススイッチ9へつながりリアルタイムパス6へ入力され処理される。再構成データ制御部72は処理ロジック群に基づいてマトリクス方式の処理ロジックを集めて結線しロードする。その後にヘッダについているパラメータがロードされ再構成可能ハードウェア72の動作が可能になる。可能になると入力バッファ51から画像データが転送されはじめる。再構成可能ハードウェア72は出力デバイス3の要求速度である50M画素/秒の処理を実行し、その結果は出力バッファ74からリアルタイムパス6へ転送され、リアルタイムパス6で別の処理が行われ、出力デバイスI/F8へ転送される。その結果は出力デバイス3へ表示、プリントされる。
【0063】
(実施例の効果)
以上説明したように、本発明の実施例では、一体化描画処理装置が演算装置および出力デバイスに接続されている。一体化描画処理装置は、演算装置から受け取ったデータを処理し、処理結果を出力デバイスに供給する。一体化描画処理装置内には、出力デバイスの処理速度で動作するリアルタイムパスと、出力デバイスの処理速度よりも遅い速度で動作するノンリアルタイムパスとが設けられている。演算装置は、画像データがリアルタイムまたはノンリアルタイムのいずれで処理すべきかの判断を行なって、処理に必要なヘッダー情報を画像データに添付し、一体化描画処理装置に供給する。一体化描画処理装置は、ノンリアルタイム処理であれば処理ヘッダに従って処理ロジックを再構成可能ハードウェアにロードし、再構成ハードウェアで処理を実行し、この処理結果を、例えば、出力バッファ経由で演算装置へ送り返す。このようにハードウェアで処理するので、演算装置のコンピュータを使ってソフトウェア処理するより高速な処理が可能となる。ノンリアルタイムパスにある再構成可能ハードウェアで動作する処理は1つ以上の処理ロジックで構成されている。処理ロジックはあらかじめ可逆圧縮されて記憶されている。処理に必要な処理ロジックを読み出し伸張し再構成するようにしているので、小さいハードウェア規模とコンパクトな処理ロジックデータで、種々の画像処理をソフトウェアより高速に行うことができる。
【0064】
可逆圧縮された処理ロジックには処理ロジックとその接続情報があるため再構成ハードウェアに適した処理ロジックを作成でき、処理を構成する処理モジュールまたはその下のレベルである処理ロジックで複数の処理で共通に使える処理ロジックを実現できるため、圧縮だけでなく共通化によるデータのコンパクト化が可能になる。
【0065】
平均して圧縮率が1/10であり、共通化がゲート数換算で5割とすれば、全体で、何も施さない場合の1/20のデータ量で済む。
【0066】
圧縮されたデータが1/10であれば必要な処理ロジック転送速度は伸張処理がハードウェアにより十分高速な処理が可能であるため圧縮率だけ遅い速度で良いことになる。または一定速度で送ればデータは1/10であり見かけ上10倍で送れることになる。通常の回路構成に比べ書き換え時間がオーバーヘッドに成るが十分高速に書き換えが可能になり、オーバーヘッドは無視できるレベルとなる。
【0067】
一般的な回路ではこの書き換えに必要な回路ではSRAMなど高速メモリが必要になるが、本技術を採用すればDRAMなど速度はSRAMより遅いが容量が大きく安価な素子を採用できるようになる。本実施例では、圧縮方式は特に限定していない。新たに優れた圧縮アルゴリズムが見つかれば、さらに有用性が増すことになる。
【0068】
ノンリアルタイムパスにある再構成可能ハードウェアの性能が高い場合、または処理する内容が比較的単純で十分リアルタイム処理が可能な場合には、パススイッチを使ってリアルタイムパスとつなげて処理できるため、ノンリアルタイムパスを通さず、さらに高速な処理が可能となり、しかも小さなハードウェア規模で動作可能であることは変わらない。
【0069】
接続する出力デバイス特性が変わったときなどでは処理ロジックレベルで新たにダウンロードでき、入れ替え、追加が可能であり、処理の高性能化、共通化が可能である。
【0070】
一体化したハードウェアであり複数のボードは不要であり、しかも処理ロジック部全体がコンパクトになるため、描画処理装置を安価に構成できる。
【0071】
【発明の効果】
以上説明したように、本発明によれば、本来の処理機能と例外的に重い処理を加速させるアクセラレータ機能とを一体化したハードウェアとして、描画処理装置を実現することができ、しかも、一体化したハードウェアの回路規模が小さく、かつ、利用するメモリのサイズが小さな場合でも、多様な処理に対応でき、しかも処理を高速に実行できる。
【図面の簡単な説明】
【図1】 本発明の実施例を全体として示すブロック図である。
【図2】 実施例の一体化描画処理装置の構成を示すブロック図である。
【図3】 実施例のデータ処理のフローを説明する図である。
【図4】 実施例のノンリアルタイムパスの構成を示すブロック図である。
【図5】 実施例の再構成情報を含んだ画像データを説明する図である。
【図6】 実施例の一体化描画処理装置の変形例を示すブロック図である。
【図7】 文字図形のバンドを説明する図である。
【図8】 文字図形のバンドおよび添付情報を説明する図である。
【図9】 ラスタのバンドを説明する図である。
【図10】 ラスタのバンドおよび添付情報を説明する図である。
【図11】 実施例のバンド処理と処理ロジック決定処理とを説明する図である。
【図12】 実施例の再構成データ制御部を示すブロック図である。
【図13】 実施例の処理モジュールリストと処理ロジックリストを説明する図である。
【図14】 デジタルフィルタの構成例を示すブロック図である。
【図15】 色補正処理回路の構成例を示すブロック図である。
【図16】 実施例の処理ロジックのダウンロードを説明する図である。
【符号の説明】
1 演算装置
2 一体化描画処理装置
3 出力デバイス
5 演算装置I/F
51 入力バッファ
52 パス決定部
6 リアルタイムパス
7 ノンリアルタイムパス
71 再構成データ制御部
72 再構成可能ハードウェア
73 ワークメモリ
74 出力バッファ
8 出力デバイスI/F
9 パススイッチ
Claims (11)
- 内部素子の接続関係により機能が決定されるハードウェアにより構成され、入力される画像データを処理し出力デバイスをドライブする描画処理装置において、
上記出力デバイスの画像処理速度に同期して処理するリアルタイムパス手段と、
上記同期速度より遅い速度で処理するノンリアルタイムパス手段とを備え、
少なくとも上記ノンリアルタイムパス手段は、
処理機能を再構成するための書き換えが可能な、再構成可能ハードウェアを具備するとともに、
処理機能のコンポーネントの各々を上記再構成可能ハードウェアにそれぞれ実装するためのロジックデータを、可逆的に圧縮した状態で記憶するロジックデータ記憶手段と、
実行対象の処理機能に基づいて、対応する1または複数のロジックデータを上記ロジックデータ記憶手段から取出すロジックデータ取出し手段と、
上記ロジックデータ記憶手段から取出したロジックデータを可逆的に伸張するロジックデータ伸長手段と、
上記再構成可能ハードウェアのハードウェア資源を上記実行対象の処理機能に割り当てる資源割り当て手段と、
伸張したロジックデータとロジックデータの接続情報と上記ハードウェア資源の割り当ての情報とを用いて、上記実行対象の処理機能を上記再構成可能ハードウェアに実装する手段とを有することを特徴とする描画処理装置。 - 上記ロジックデータ取出し手段は、処理機能を抽出する手段と、処理機能を実現する1つ以上の処理モジュール(構成対象の回路を組み込まれる回路部分を処理モジュールと呼ぶ。以下同様である)および上記処理モジュールの接続情報を決定する手段とを具備する請求項1記載の描画処理装置。
- 上記処理モジュールは異なる処理機能に共通して用いられる請求項2記載の描画処理装置。
- 共通に用いられる処理モジュールには、画像入出力部、係数入力部、ワークメモリインターフェース部が含まれる請求項3記載の描画処理装置。
- 上記ロジックデータ取出し手段は、さらに、処理モジュールを実現する1または複数の処理ロジック(処理モジュールを上記再構成可能ハードウェアで実現するために用いるデータを処理ロジックと呼ぶ。以下同様である)および処理ロジックの接続情報を決定する手段を具備する請求項2記載の描画処理装置。
- 上記処理ロジックは異なる処理モジュールに共通して用いられる請求項5記載の描画処理装置。
- 共通に用いられる処理ロジックには、画像入出力部、係数入力部、ワークメモリインターフェース部が含まれる請求項6記載の描画処理装置。
- 上記実行対象の処理機能に対応する1または複数のロジックデータを書き込んで上記再構成可能ハードウェアに実装される回路の処理動作時間を算出する手段と、
上記処理動作時間を出力デバイスの要求速度と比較し、この比較結果に基づいて、上記実行対象の処理機能を上記ノンリアルタイムパスおよびリアルタイムパスのいずれで実行するかを決定する手段とを備える請求項1、2、3、4、5、6または7記載の描画処理装置。 - 上記ロジックデータ取出し手段は、上記処理機能のコンポーネントと上記ロジックデータとを対応づけるテーブルを有する請求項1、2、3、4、5、6、7または8記載の描画処理装置。
- 上記ロジックデータを上記ロジックデータ記憶手段に書き込むために、上記ロジックデータを外部から入力する手段と、
すでに対応するロジックデータが上記ロジックデータ記憶手段に記憶されている処理機能のコンポーネントについて新たなロジックデータを受け取った場合には上記対応するロジックデータの記憶位置に更新書き込みを行い、対応するロジックデータが上記ロジックデータ記憶手段に記憶されていない処理機能のコンポーネントについて新たにロジックデータを受け取った場合には、上記テーブルに新たなエントリを生成し、上記ロジックデータ記憶手段の上記エントリに対応する記憶位置に上記ロジックデータを書き込む手段とを有する請求項9記載の描画処理装置。 - 上記ロジックデータは、それを特定する識別子が付される請求項1、2、3、4、5、6、7、8、9または10記載の描画処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33188397A JP3680525B2 (ja) | 1997-12-02 | 1997-12-02 | 描画処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33188397A JP3680525B2 (ja) | 1997-12-02 | 1997-12-02 | 描画処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11167619A JPH11167619A (ja) | 1999-06-22 |
JP3680525B2 true JP3680525B2 (ja) | 2005-08-10 |
Family
ID=18248696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33188397A Expired - Fee Related JP3680525B2 (ja) | 1997-12-02 | 1997-12-02 | 描画処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3680525B2 (ja) |
-
1997
- 1997-12-02 JP JP33188397A patent/JP3680525B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11167619A (ja) | 1999-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6339424B1 (en) | Drawing processor | |
US7436531B2 (en) | Systems and methods for using multiple processors for imaging | |
EP0559318A2 (en) | Graphics co-processor | |
CN1924794B (zh) | 数字文件处理系统、数据处理系统和外围设备 | |
JP3680525B2 (ja) | 描画処理装置 | |
JPH10329371A (ja) | プリンタメモリブースト | |
JP3125863B2 (ja) | 印刷処理装置 | |
JP3834935B2 (ja) | 印刷処理装置 | |
US7170628B2 (en) | Efficient processing of images in printers | |
JP2000090237A (ja) | 描画処理装置 | |
JPH11165434A (ja) | 描画処理装置 | |
JP2000255117A (ja) | 印刷処理装置および印刷処理方法 | |
Saidani et al. | Using xilinx system generator for real time hardware co-simulation of video processing system | |
JPH041862A (ja) | 図形選択方法 | |
JP2001075759A (ja) | 情報処理装置および情報処理方法 | |
JP2013089011A (ja) | 印刷データ生成プログラム、印刷システム及び印刷方法 | |
JP4145714B2 (ja) | 印刷処理装置 | |
US6281982B1 (en) | Information processing apparatus, information processing method, storage medium, and printing system | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JP2019077133A (ja) | 画像形成装置、画像形成方法、プログラム | |
JPH10151815A (ja) | 印刷処理装置 | |
JP3255808B2 (ja) | 圧縮伸長装置 | |
JP2002024840A (ja) | 描画処理装置 | |
Singh et al. | PostScript™ rendering with virtual hardware | |
JP2000255116A (ja) | 印刷処理装置および印刷処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050328 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050509 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090527 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100527 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110527 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |