JP3871011B2 - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法 Download PDFInfo
- Publication number
- JP3871011B2 JP3871011B2 JP25217899A JP25217899A JP3871011B2 JP 3871011 B2 JP3871011 B2 JP 3871011B2 JP 25217899 A JP25217899 A JP 25217899A JP 25217899 A JP25217899 A JP 25217899A JP 3871011 B2 JP3871011 B2 JP 3871011B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- intermediate data
- circuit function
- processing
- expansion
- 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
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は、再構成可能な処理手段を用いた情報処理装置および情報処理方法に関するものであり、特に、再構成可能な処理手段を用いて、少なくとも文字、図形、画像の描画要素のいずれかを有し所定の描画命令で記述された描画データを、位置情報を含む形式の情報に展開する情報処理装置および情報処理方法に関するものである。
【0002】
【従来の技術】
小型、高速のデジタル印刷に適した電子写真方式のページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、画像、図形、文字などを同様に取り扱い、図形、文字等の拡大、回転、変形などが自由に制御できる記述言語を用いる印刷処理装置が一般に普及してきた。このような記述言語の代表的な例として、PostScript(Adobe Systems社商標)、Interpress(Xerox社商標)、Acrobat(Adobe Systems社商標)、GDI(Graphics Device Interface、Microsoft社商標)等が知られている。
【0003】
記述言語で作成されている印刷データは、ページ内の任意位置の画像、図形、文字を表現する描画命令及びデータを任意の順で配置した命令及びデータ列で構成されており、印刷処理装置で印刷するためには、印刷前に印刷データをラスタ化しなければならない。ラスタ化とは、ページ又はページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。
【0004】
ページプリンタでは、ページ全体あるいはページを帯状に分割したバンドごとに、印刷前に印刷データをラスタ化し、バッファメモリに記憶する。しかし最近のカラー化および高解像度化に伴い、ラスタ化の処理量は増大する一途をたどっている。
【0005】
そこでラスタデータへの展開処理を高速に行うために、専用ハードウェアを利用することが考えられた。上述したように、ページ内に描画される対象としては、画像、図形、文字等がある。これらの描画要素は、それぞれのオブジェクトの型に応じて特殊な処理を必要とする。例えば、画像の場合、解像度変換、アフィン変換、これらの処理に伴う補間、色処理等が必要である。また、図形の場合には、座標変換、ベクタ/ラスタ変換、塗りつぶし処理等が必要である。さらに、文字の場合には、アウトライン座標の変換、ヒント処理、ベクタ/ラスタ変換、塗りつぶし処理等が必要である。これらすべての処理を行うためには、それぞれの処理に対応した専用ハードウェアを1つずつ用意しなければならない。そのため、専用ハードウェア量が多くなってシステム全体が高価になるという問題があった。また、ラスタデータへの展開を目的とするハードウェアは、特定の種別の描画要素について展開処理を行う時だけにしか使用できない。そのため、処理に応じた専用ハードウェアを並列的に用意しておくことはその使用率を考えると大変無駄であるという問題があった。
【0006】
従来このような問題を解決する試みとして、全ての展開処理機能について並列にハードウェアを設けるのではなく、ハードウェアのプログラマビリティあるいは構造を再構成することにより機能を変更し、少ないハードウェアで多くの機能を高速に実現しようとする試みが行われている。そのような考え方を持った従来の技術として、特開平10−278361号公報に記載されたものがある。
【0007】
特開平10−278361号公報には、入力された印刷データを出力装置に出力するための展開処理を再構成ハードウェアを使って行うことにより、必要なハードウェア量を減らすとともに、処理対象の印刷データに応じて最適なハードウェア構成を採用することでスループットの向上を図る旨が記載されている。例えば、印刷データに含まれる描画要素の重なりを判定して、判定情報と印刷データの内容とを基に印刷データの描画要素を並び換える。これによって、再構成ハードウェア手段を並列的に動作させ、また再構成ハードウェア手段の構成の変更回数を少なくすることで、再構成ハードウェア手段による展開処理の高速化を可能としている。しかし、再構成ハードウェア手段の再構成には、デバイス規模にもよるが数百マイクロ秒から数十ミリ秒の時間がかかる。再構成ハードウェアが20MHzで動作すると仮定すると1クロックは0.05マイクロ秒なので、この再構成にかかる時間の処理全体に占める割合は大きく、再構成の回数をさらに少なくしなければならない。
【0008】
この問題に対し、例えば特願平11−60437号では、再構成ハードウェア手段で処理する描画要素を予め分類しておき、各共通の描画要素ごとに再構成ハードウェア手段を再構成し、連続して展開処理を行っている。また特願平11−60450号では、ある描画要素で再構成ハードウェア手段を再構成したら、その構成で展開可能な描画要素について連続して展開処理を行う。これらによって再構成の回数が減少し、全体の処理時間を短縮することができる。しかし描画要素を分類したり、同じ回路構成で展開可能な描画要素を選択するために時間がかかるという問題がある。
【0009】
さらに特願平11−57931号では、再構成ハードウェア手段の再構成と、再構成ハードウェア手段で処理すべきデータの生成とを並行して行うことで、さらなる処理時間の短縮を図り、高速化を可能にしている。例えば上述の描画要素を分類したり、同じ回路構成で展開可能な描画要素を選択する処理と、再構成ハードウェア手段の再構成を並列的に実行することも考えられる。しかし、再構成ハードウェア手段の再構成に要する時間は短縮される方向にあり、並列処理されるうちの再構成ハードウェア手段の再構成だけが早く終わってしまい、再構成ハードウェア手段における展開処理が待たされる場合も発生している。そのため、さらなる高速化が要望されていた。
【0010】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、再構成可能な処理手段を有効に用い、さらなる高速化を実現した情報処理装置および情報処理方法を提供することを目的とするものである。
【0011】
【課題を解決するための手段】
本発明は、回路機能を再構成することが可能な処理手段を用いて回路機能の再構成と該回路機能による1または複数の処理の実行を繰り返して行う情報処理装置および情報処理方法であって、処理手段に対して最初に実行する処理に対応する回路機能を再構成して最初の処理を実行する。その回路機能の再構成及び最初の処理の実行中に、並行して、残りの処理を参照して同じ種類ごとに処理の順番を決定したり、あるいは、残りの処理を参照して同じ回路機能で実行可能な処理を選択する。
【0012】
また本発明は、回路機能を再構成することが可能な展開処理手段を用いて少なくとも文字、図形、画像の描画要素のいずれかを有し所定の描画命令で記述された描画データに基づいて位置情報を含む形式の情報に展開する情報処理装置および情報処理方法であって、描画データからその描画データに含まれる描画要素に対応させて構成情報を付加して中間データを生成し、展開処理手段によって中間データを展開する。展開処理手段が最初の中間データに付加された構成情報に基づいて回路機能の再構成とその回路機能による最初の中間データの展開を行うのと並行して、残りの中間データを参照して、同じ回路機能で実行可能な種類ごとに中間データの順番を決定し、あるいは同じ回路機能で実行可能な中間データの抽出を行う。
【0013】
このように、処理手段の再構成とともに再構成された回路機能の実行も並列的に行うので、例えば処理手段において回路機能の再構成が早く終わってしまった場合でも、他の処理の終了を待つことなく続けて処理を実行するので、並列処理によるさらなる高速化を実現することができる。
【0014】
【発明の実施の形態】
図1は、本発明の実施の一形態を含む印刷処理装置の一例を示すブロック図である。図中、1は描画データ、2は描画データスプール部、3は描画データ解釈部、4は変換処理部、5は展開処理部、6は出力装置制御部、7は出力装置、11は再構成可能展開処理部、12は再構成制御部、13は構成データ管理部である。
【0015】
描画データ1は印刷処理装置で処理可能な記述言語で記述されたものであり、図示しないパーソナルコンピュータやワークステーション等において、文書作成や編集等を処理するアプリケーションプログラムで作成された文書データから生成されたものである。以下の説明において、描画データ1の記述言語としてGDIであるとするが、これに限らず、例えばAcrobat(商品名)で代表されるPDF(Portable Document Format)、PostScript(商品名)などで代表されるページ記述言語(PDL)であってもよい。
【0016】
図1に示す印刷処理装置は、描画データスプール部2と、描画データ解釈部3と、変換処理部4と、展開処理部5と、出力装置制御部6と、出力装置7とから構成されている。描画データスプール部2は、描画データ1を入力するための通信機能や、描画データ解釈部3へ出力されるまで描画データを一時的に記憶する機能等を備えている。
【0017】
描画データ解釈部3は、描画データプール部2に入力された描画データを、定められた記述言語のシンタックスに従ってトークンとして切り出した後、トークンを解釈し、内部命令やその引数に変換する。内部命令には、文字/図形/画像の描画を実行する描画命令や、色や線属性など描画に必要な情報を設定する描画状態命令がある。描画命令は変換処理部4へ転送される。
【0018】
変換処理部4は、入力された描画データから展開処理部5における出力画像データへの展開処理可能な中間データに変換する。中間データに変換する目的は、展開処理部5での高速な展開処理を可能にすることである。また中間データには、展開処理に関する情報として、ハードウェア構成識別子が付加される。このハードウェア構成識別子は、展開処理部5の再構成可能展開処理部11を再構成するための構成データに対する識別子である。なお、変換処理部4及び中間データについての詳細は後述する。
【0019】
展開処理部5は、変換処理部4から出力される中間データを例えばバンド単位に読み出し、展開処理部5内の図示しない出力バッファメモリに出力画像データを作成する。すなわち変換処理部4から出力される中間データを受領し、出力装置7において出力可能な出力画像データへの展開を行う。
【0020】
展開処理部5において展開処理されたデータは、展開処理部5内の2つの図示しない出力バッファメモリに交互に蓄積される。なお、出力装置7がカラーページプリンタの場合、出力バッファメモリに交互に蓄積される出力画像データは出力装置7で印刷している記録色の印刷データに対応する。出力バッファメモリに蓄積された出力画像データは、出力装置7のデータ要求に応じて、交互に読み出されて出力装置7に出力される。
【0021】
展開処理部5は、再構成可能展開処理部11、再構成制御部12、構成データ管理部13等を有している。上述のように入力される描画データには画像、図形、文字等の描画要素が含まれ、これらはそれぞれのオブジェクトの型に応じて特殊な処理を必要とする。例えば、画像の場合、解像度変換、アフィン変換、これらの処理に伴う補間、色処理等である。図形の場合には、座標変換、ベクタ/ラスタ変換、塗りつぶし処理等が必要である。文字の場合には、アウトライン座標の変換、ヒント処理、ベクタ/ラスタ変換、塗りつぶし処理等が必要である。展開処理部5は、ハードウェアのプログラマビリティあるいは構造を再構成することにより機能を変更し、少ないハードウェアで多くの機能を高速に実現させるため、再構成可能展開処理部11を有している。この再構成可能展開処理部11によって様々な展開処理を可能としている。再構成可能展開処理部11を構成する再構成ハードウェア部については後述するが、例えばフィールド・プログラマブル・ゲート・アレイ(FPGA)などで構成することができる。
【0022】
再構成制御部12は、再構成可能展開処理部11を制御し、再構成可能展開処理部11に対して回路機能の再構成を行わせるとともに、中間データから出力画像データへの展開を行わせる。変換処理部4から最初の中間データが生成されると、その中間データに対応する回路機能を再構成可能展開処理部11に再構成し、続けて最初の中間データの展開を実行させる。この最初の中間データに対応する回路機能の再構成と展開の実行中、変換処理部4による中間データの生成が並行して行われる。また、最初の中間データに対応する回路機能の再構成と展開の実行中に、残りの中間データを参照して同じ種類ごとに展開を行う中間データの順番を決定する。あるいは、残りの中間データを参照して同じ回路機能で実行可能な中間データを選択する。このように、中間データの順番の決定や同じ回路機能で実行する中間データの選択を行うことによって、再構成可能展開処理部11の再構成の回数を減少させ、処理時間を短縮している。さらに、中間データの順番の決定や選択を、再構成可能展開処理部11における再構成および展開の実行と並行して行うことにより、さらなる処理時間の短縮を図っている。
【0023】
構成データ管理部13は、再構成可能展開処理部11に回路機能を再構成するための構成データを保持している。再構成制御部12が中間データに対応した回路機能を再構成可能展開処理部11に再構成する際に、中間データ中のハードウェア構成識別子に基づいて、この構成データ管理部13から構成データを読み出す。
【0024】
出力装置制御部6は、展開処理部5内の図示しない出力バッファメモリに蓄積された出力画像データを出力装置7へ転送するとともに、出力装置7の状態制御および管理を行う。
【0025】
出力装置7は、画像を出力する。例えば出力装置7は、C(シアン)、M(マゼンタ)、Y(イエロー)、BK(ブラック)の各色毎に露光、現像、転写を繰り返すことによりフルカラー画像を出力できるレーザ走査方式の電子写真方式を用いたカラーページプリンタとすることができる。出力装置制御部6の制御に基づき、出力バッファメモリに蓄積された出力画像データを受け取って、記録用紙に印刷し、出力する。もちろん出力装置はカラーページプリンタに限られるものではない。
【0026】
図2は、本発明の実施の一形態を含む印刷処理装置の一例における動作の一例を示すフローチャートである。S61において、描画データスプール部2に文字/図形/画像を含む描画データ1が入力されると、描画データ解釈部3、変換処理部4を介してバンド単位に分割された中間データが生成される。生成された中間データに対し、各描画オブジェクトのハードウェア構成識別子を含む中間データテーブルが各バンドに1つ生成される。そして変換処理部4は、展開処理部5の要求に応じて中間データを出力する。
【0027】
S62において、展開処理部5の再構成制御部12は、変換処理部4から入力される中間データに付加された中間データテーブルを調べ、中間データテーブル中に含まれるハードウェア構成識別子によって、必要に応じて構成データ管理部13からハードウェア構成に関する構成データを読み出し、再構成可能展開処理部11の回路機能を再構成する。そして、再構成された再構成可能展開処理部11により中間データを出力画像データに展開する。
【0028】
次にS63において、バンド内の全ての中間データについて処理が終了したことをチェックし、終了していなければS62に戻り、必要に応じて再構成可能展開処理部11の回路機能を再構成しながら展開の実行を繰り返す。バンド内の全ての中間データについての展開が終了し、出力装置7のサイクルアップ、あるいは出力準備が完了すると、S64において、展開処理部5内の出力バッファメモリから出力装置7に対し、出力装置7の記録速度に応じて出力画像データが1ライン毎に転送される。これにより出力装置7による出力が行われる。
【0029】
次にS65において、ページ内の全てのバンドの処理が終了したか否かをチェックする。終了していなければS62へ戻り、1つの出力バッファメモリ内の出力画像データが出力されている間に、次のバンドに対してS62以下の展開処理を繰り返し実行する。次のバンドの出力画像データは、出力画像データの読み出しを行っている出力バッファメモリとは異なる出力バッファメモリに格納する。このようにして展開処理部5の出力画像データへの展開処理及び出力装置7での出力処理は、1ページ分の出力画像データが処理されるまで、色毎にあるいは4色同時に繰り返される。1ページ分の展開処理が終了していれば、そのページの展開処理を終了する。複数ページの出力を行う場合には、図2に示す処理を各ページごとに行い、全ページの出力が終了するまで繰り返せばよい。
【0030】
以上、本発明の実施の一形態を含む印刷処理装置の一例における動作の概要について説明した。次に、この印刷処理装置の主要部の詳細について説明する。図3は、変換処理部の一例を示す構成図である。図中、21は命令実行部、22は描画状態命令記憶部、23は画像処理部、24はベクタ処理部、25はリスト生成部、26はバンド分割管理部、27は中間データ記憶部である。変換処理部4は、図3に示すように、命令実行部21と、描画状態命令記憶部22と、画像処理部23と、ベクタ処理部24と、リスト生成部25、バンド分割管理部26と、中間データ記憶部27を含んでいる。
【0031】
命令実行部21は、描画データ解釈部3から送られてきた内部命令を実行する。ここで実行する命令は、主に描画命令と描画状態命令がある。図4は、描画命令の種類とその描画に必要な情報の一例の説明図である。例えば描画命令には、図4に示すように3種類の描画命令があり、それぞれの描画に必要な情報が示されている。このうちアンダーラインがある情報については、描画命令中の引数として与えられ、その他の情報はあらかじめ初期設定や先行する命令などにより描画状態命令記憶部22に記憶されている。描画命令の実行は、画像描画以外は受け取った描画命令をそのままベクタ処理部24へ転送する。画像描画の場合は、受け取った描画命令を画像処理部23へ転送するとともに、画像ヘッダの縦と横の大きさをベクタ処理部24へ転送する。また描画状態命令については、命令を描画状態命令記憶部22へ転送する。
【0032】
描画状態命令記憶部22は、命令実行部21から受け取った命令に含まれる引数の値で、例えば図4に示したアンダーラインの無い情報についての値の設定を行い、それらを記憶する。また、画像処理部23,ベクタ処理部24,バンド分割管理部26などの要求に従って、それらの値を転送する。
【0033】
画像処理部23は、命令実行部21から入力された命令の引数である入力画像ヘッダと入力画像データを受け取り、ヘッダに付加された圧縮IDを参照して、もし圧縮された画像が入力された場合には圧縮を伸張し、描画状態命令記憶部22から獲得した変換マトリックスを使ってアフィン変換する。さらに、場合によっては処理後の画像を圧縮し、出力画像ヘッダと出力画像データを生成してバンド分割管理部26へ転送する。この圧縮には、もともと入力画像データを圧縮した圧縮方式を使用するのが通常であるが、特にそうしなくてもよい。例えば、入力画像データ側でDCT(ディスクリート・コサイン・トランスフォーム)で圧縮されていた場合、それをDCTで圧縮してもよいし、他の圧縮方式、例えばLZWで圧縮してもよいし、圧縮を行わなくてもよい。また、アフィン変換は、中間データ記憶部27のメモリ量を削減するために、わざと出力装置7の解像度より小さい解像度用にアフィン変換しておいてもよい。
【0034】
ベクタ処理部24は、命令実行部21から送られてきた命令と引数、描画状態命令記憶部22の値を使用して、塗りつぶし描画を除く、新たに描画するためのベクタデータを生成する。まず文字描画の場合について説明する。引数で与えられた文字コードと、描画状態命令記憶部22から獲得したフォントIDを図示しないフォント管理部へ転送して、文字のアウトラインデータを獲得する。獲得したアウトラインデータには、描画原点(カレントポイント)の情報が含まれていないので、描画状態命令記憶部22から獲得したカレントポイントのオフセットをアウトラインデータに加えることによって、目的のベクタデータを生成する。画像描画の場合には、引数で与えられた画像ヘッダの縦と横のサイズからそれに対する矩形ベクタを生成し、描画状態命令記憶部22から獲得したカレントポイントのオフセットを加えることで目的のベクタデータを生成する。ストローク描画の場合は、引数で与えられたベクタと描画状態命令記憶部22から獲得した各種の線属性から、太さを持った線のアウトラインベクタを生成する。このように生成したベクタ(塗りつぶし描画の場合は命令実行部21から直接受け取ったベクタ)を、マトリックス変換し、さらにベクタ中に曲線のベクタがある場合にはすべて直線で構成されたショートベクタに変換する。生成されたベクタはリスト生成部25へ転送する。
【0035】
リスト生成部25は、ベクタ処理部24で生成されたベクタから、1つの描画オブジェクト毎にヘッダ情報と、描画オブジェクトを構成するベクタの始点、傾き、方向、およびベクタと走査ラインとの交差数を含むエッジ情報とから構成されるリストデータを生成する。生成されたリストデータはバンド分割管理部26へ転送する。
【0036】
バンド分割管理部26は、画像処理部23及びリスト生成部25から入力された、それぞれヘッダ情報を含む画像データ及びリストデータのうち、複数のバンドにまたがるデータをバンド毎に分割する。さらにバンド毎に分割したデータに付加情報を付けて中間データを生成する。中間データは、中間データ記憶部27へ送られる。
【0037】
図5は、中間データの構造の一例の説明図である。中間データは上述のようにバンド毎に分割した描画オブジェクトデータODに、付加情報としてBID、OID、PIDを付加したものである。付加情報は、中間データを管理するための管理情報と、再構成可能展開処理部11で処理する内容を表す展開処理識別子から構成されている。管理情報は、どのバンドに属するかを示すためのバンド識別子(BID)、1回の描画命令に対して割り当てられる識別番号であるオブジェクト識別子(OID)によって構成されている。また展開処理識別子(PID)は、その描画オブジェクトを再構成可能展開処理部11で展開処理するための展開処理ハードウェア構成の種類を示す識別情報としての識別子である。
【0038】
これら、BID、OID、PIDの付加情報は、図5に示すように、描画命令によって生成されたバンド毎の、それぞれヘッダ情報を含む画像データ及びリストデータである描画オブジェクトデータODの前に付加される。ここで、中間データとしての画像データは、容量を減少させるために圧縮して格納されていてもよい。また画像ヘッダ情報は、画像の大きさを表すパラメータのほかに、色変換の処理の種類や圧縮方式の種類も含んでいる。中間データは、このような描画オブジェクトに対するデータの集合である。
【0039】
図3に戻り、中間データ記憶部27は、中間データから描画オブジェクトに付加された付加情報中のバンド識別子とオブジェクト識別子を解釈してバンド毎にまとめ、さらに描画順序に従って中間データを記憶する。また、命令実行部21でページの出力コマンドを解釈すると、EOP(End Of Page)がバンド分割管理部26を経由して中間データ記憶部27へ送られ、中間データ記憶部27に記憶された各バンドの最終データにEOD(End Of Data)を表すデータを付加して、バンドデータの終了を明確にする。このEOPは展開処理部5にも送られ、展開処理部5の処理を起動する。
【0040】
さらに中間データ記憶部27は、展開処理部5からの中間データ転送要求を受けると、バンド単位で展開処理部5内の入力バッファへ中間データを転送する。このとき、中間データ記憶部27では、中間データテーブルを作成する。中間データテーブルは、例えば次の図6に示すように、1つの描画オブジェクトデータが格納される入力バッファ上の場所を示す先頭アドレス(ADR)と、その描画オブジェクトの展開処理識別子に対応するハードウェア構成識別子(HDID)とを1組のデータとして、このデータを並べたものである。ハードウェア構成識別子(HDID)は、上述のように、実際の再構成可能展開処理部11のハードウェア構成を示す識別子である。中間データテーブルの最後はNULLでターミネートする。
【0041】
図6は、中間データテーブルの一例の説明図である。図6(A)には、展開処理部5内の入力バッファを示している。この入力バッファには、バンド毎に中間データが格納される。各バンド毎のデータは、図6(B)に示すようなデータ配列を持つ。ADR0、ADR1、ADR2、…は、それぞれの描画オブジェクトデータが格納されている入力バッファ上の場所を示す先頭アドレスである。図中、矢印で示すように、先頭アドレスADR0、ADR1、ADR2、…は、それぞれの対応するオブジェクトデータOD0、OD1、OD2、…の入力バッファ上の格納先頭アドレスを示している。ここでオブジェクトデータOD0、OD1、OD2、…は、図5で説明したように、それぞれヘッダ情報と画像データ及びリストデータからなる描画オブジェクトデータである。
【0042】
個々のオブジェクトデータの先頭アドレスADR0、ADR1、ADR2、…、ADR(N)の各々に対応して付加されているHDID1、HDID0、HDID1、…、HDID2は、それぞれの描画オブジェクトの展開処理識別子(図5におけるPID)を、実際の再構成可能展開処理部11のハードウェア構成と1対1に対応するハードウェア構成識別子に変換したものである。例えばADR0で指定されるオブジェクトデータOD0の展開処理は、再構成可能展開処理部11のハードウェア構成を、ハードウェア構成識別子HDID1によって指定されるハードウェア構成により実行することが示されている。以下同様に、ADR1で指定されるオブジェクトデータOD1の展開処理は、ハードウェア構成識別子HDID0によって指定されるハードウェア構成、ADR2で指定されるオブジェクトデータOD2の展開処理はハードウェア構成識別子HDID1によって指定されるハードウェア構成で実行することが示されている。
【0043】
図7は、展開処理部5に含まれる再構成可能展開処理部11の一例を示すブロック図である。図中、31は再構成ハードウェア部、32はリフレッシュ制御部、33は中間データ転送制御部、34は出力画像データ転送制御部、35はアービトレーション部、36はメモリ部、41,42は入力バッファ、43,44は出力バッファ、45はワーク領域である。
【0044】
中間データ転送制御部33は、変換処理部4で生成されたバンド毎の中間データを読み込み、メモリ部36の入力バッファA41あるいは入力バッファB42へ書き込む。
【0045】
再構成ハードウェア部31は、入力バッファA41あるいは入力バッファB42から中間データを読み込んで、展開して出力バッファA43あるいは出力バッファB44へ描画する。この再構成ハードウェア部31は、構成データ管理部13が管理記憶する構成データを再構成制御部12の制御により書き込むことにより、機能を変えることが可能である。典型的には、再構成ハードウェア部31は、フィールド・プログラマブル・ゲート・アレイ(FPGA)により構成できる。
【0046】
出力画像データ転送制御部34は、描画済の出力バッファA43あるいは出力バッファB44から展開された出力画像データを読み込み、出力装置制御部6のシリアル出力クロック信号に同期して出力装置7へ出力する。
【0047】
メモリ部36は、この例では2つの入力バッファA41、入力バッファB42と、2つの出力バッファA43、出力バッファB44、それにワーク領域45で構成されている。もちろん入力バッファ、出力バッファとも、2つに限らず、1つあるいは3つ以上で構成してもよい。
【0048】
リフレッシュ制御部32は、メモリ部36のリフレッシュを制御する。
【0049】
アービトレーション部35は、リフレッシュ制御部32、中間データ転送制御部33、出力画像データ転送制御部34、再構成ハードウェア部31、再構成制御部12のそれぞれがメモリ部36をアクセスする際に、それぞれのブロックに割り当てられたアクセスのプライオリティに応じてアービトレーション制御を行う。
【0050】
図8は、入力バッファと出力バッファの使用方法の一例についての説明図である。図8(A)は、入力バッファA41に中間データを入力中の各バッファの使用状態を示し、図8(B)は、入力バッファB42に中間データを入力中の各バッファの使用状態を示している。図8(A)においては、バンドiに対応する中間データを入力バッファA41に入力中であり、入力バッファB42には既にバンド(i−1)に対応する中間データが入力済みである。再構成ハードウェア部31は入力バッファB42に蓄えられた中間データを読み出して、これを展開して、出力バッファB44に描画する。出力バッファA43には、バンド(i−2)に対応する中間データを展開描画した結果の出力画像データが蓄えられており、出力画像データ転送制御部34はこれを読み出して出力装置7に出力している。
【0051】
図8(B)においては、バンド(i+1)に対応する中間データを入力バッファB42に入力中であり、入力バッファA41には既にバンドiに対応する中間データが入力済みである。再構成ハードウェア部31は、入力バッファA41に蓄えられた中間データを読み出してこれを展開し、出力バッファA43に描画する。出力バッファB44には、バンド(i−1)に対応する中間データを展開描画した結果の出力画像データが蓄えられており、出力画像データ転送制御部34はこれを読み出して出力装置7に出力している。
【0052】
ワーク領域45は、展開処理部5が変換処理部4から入力した中間データを展開するときに、必要に応じて一時的なワーク領域として用いる。
【0053】
図9は、展開処理部5に含まれる再構成制御部12の動作の一例を示すフローチャートである。図7に示した再構成可能展開処理部11は、変換処理部4により各バンド毎に作成された、例えば図6に示すような中間データテーブルを用いて中間データを展開する。再構成制御部12は、入力バッファから中間データテーブルを入力し、図9に示すような動作により再構成ハードウェア部31を制御する。
【0054】
まずS71において、入力バッファに格納されている各バンド毎に1つ存在する中間データテーブルから未処理の1組のデータを読み込む。例えば図6に示す例において最初に読み込む際には、先頭のアドレスADR0とハードウェア構成識別子HDID1の組が最初に読み込まれる。
【0055】
S72において、読み込まれたテーブルデータがNULLであるか否かチェックし、NULLであれば処理を終了し、NULLでなければS73へ処理を進める。図6に示すテーブルから理解されるようにNULLは中間データテーブルの終了を示すものであり、NULL以降にはデータが存在しない。そのため、すべてのデータについて展開処理を行ったものとして処理を終了する。また、中間データテーブルから読み込まれたデータがNULLでない場合は、有効データが読み込まれたことを意味する。
【0056】
本発明では、中間データテーブルから有効なデータが1つ読み込まれると、そのデータに対応した再構成可能展開処理部11の再構成およびそのデータに対する展開処理と、再構成された再構成可能展開処理部11の回路機能で実行可能なデータを中間データテーブルから選択する処理とを、並行して行う。
【0057】
一方の処理は、S73において、S71で読み込んだデータのハードウェア構成識別子と同じハードウェア構成識別子を有するデータを中間データテーブルから探す。S74において処理リストテーブルを作成し、S73で探した同じハードウェア構成識別子を有するデータを処理リストテーブルに登録する。図10は、処理リストテーブルの一例の説明図である。この例では、同じハードウェア構成識別子を有する中間データテーブルのデータへのポインタの集合として構成されている。そして、最後のポインタの後には、NULLが設けられている。もちろんこのようなデータ構造の他、中間データテーブルのデータをコピーして構成するなど、種々のデータ構造を用いることができる。
【0058】
他方の処理は、S75において、S71で中間データテーブルから読み込まれたデータに対応した再構成可能展開処理部11の再構成を行う。再構成可能展開処理部11の再構成に要する時間は、並行して行われている処理リストテーブルの作成時間よりも短い場合がある。本発明では、S75における再構成可能展開処理部11の再構成の後、さらにS76において、S71で中間データテーブルから読み込んだデータに対応したオブジェクトデータについての展開を再構成可能展開処理部11で実行する。これによって、中間データテーブルを探索して処理リストテーブルを作成する処理により全体の処理速度が低下するのを防止し、全体の処理の高速化を図ることができる。
【0059】
上述の2つの処理は、それぞれ独立して行われる。S73およびS74における処理リストテーブルの作成処理と、S75およびS76における再構成可能展開処理部11の再構成および最初のオブジェクトデータの展開の実行を終えると、S77に進む。なお、2つの処理の同期を取る位置は、S77の手前に限らず、例えばS78の手前や、S72における判定終了後など、再構成可能展開処理部11での処理が重ならない位置であればよい。
【0060】
S77では、S74で作成した処理リストテーブルを参照し、NULLか否かを判定する。NULLではなく、中間データテーブルのデータへのポインタが登録されている場合には、S78において、そのポインタで示される中間データテーブル中のデータについて、対応するオブジェクトデータの展開を再構成可能展開処理部11で行う。上述のように処理リストテーブルには、同じハードウェア構成識別子を有するデータに対するポインタが集められているので、再構成可能展開処理部11の再構成を行わずに連続して展開を実行することができる。そのため、再構成可能展開処理部11の再構成の回数を減少させ、高速な展開処理を行うことができる。
【0061】
処理リストテーブルがNULLになり、同じ回路機能で展開できるデータがなくなった場合には、S71へ戻り、他のハードウェア構成識別子を有するデータについての処理を行う。このような処理を繰り返すことにより、中間データテーブルに登録されているすべてのデータに対応するオブジェクトデータの展開を行う。
【0062】
上述のような制御を再構成制御部12で行うことにより、入力バッファ中の中間データを展開処理するために必要な再構成可能展開処理部11(再構成ハードウェア部31)の再構成回数、すなわちハードウェア構成を変更して異なる展開処理を実行可能なハードウェアに変更するためのハードウェアの書き換え処理が、中間データテーブルに登録されたハードウェア構成識別子の種類と同回数まで削減される。さらに本発明では、同じハードウェア構成識別子を持つデータを探索する処理を、最初のデータに対応する再構成可能展開処理部11の再構成およびそのデータに対応するオブジェクトデータの展開処理と並行して行う。そのため、再構成回数を削減するための処理リストテーブルの作成処理によって処理速度が低下することはなく、システム全体として処理速度の向上を図ることができる。
【0063】
図9に示した再構成制御部12の動作の一例について、具体例として図6に示したような中間データテーブルが作成されている場合について説明する。図11は、再構成制御部12における処理リストテーブルの作成処理の一例の説明図、図12は、展開後のデータを出力バッファに格納する際の動作の一例の説明図である。再構成制御部12は、描画オブジェクトの描画順序を保持するため、図12に示すように、描画順序に従って登録されている入力バッファの中間データテーブルと同じ登録順で、出力バッファにも出力データテーブルを作成する。出力データテーブルに登録されるデータは、再構成ハードウェア部31による展開処理後の出力画像データが格納されている出力バッファにおける先頭アドレス値である。出力画像データは、再構成ハードウェア部31で展開処理された順序で格納されている。上述のように同じハードウェア構成識別子を有するデータに対応するオブジェクトデータを連続して展開するため、出力画像データは中間データテーブルの順とは異なった順序で格納されることがある。出力画像データ転送制御部34は、出力バッファにある出力データテーブルのデータを順にNULLまで読み出しながら、出力装置制御部6の制御に従って出力画像データを出力装置7に転送する。このように制御することで、描画データ解釈部3で解釈された順序、つまりオブジェクトの描画順序を保持することが可能となる。
【0064】
図11、図12に従って具体的な処理例について説明する。図9に示す処理の実行が開始されると、中間データテーブルから最初のデータ[ADR0,HDID1]が読み込まれる。NULLではないので、このデータに対する再構成可能展開処理部11の再構成および展開の実行と、同じハードウェア構成識別子を有するデータの探索および処理リストテーブルの作成を並行して行う。
【0065】
一方の処理では、最初のデータ[ADR0,HDID1]のハードウェア構成識別子HDID1と同じハードウェア識別子を有するデータを中間データテーブルから探索する。この例では、3つ目のデータ[ADR2,HDID1]が該当する。同様にハードウェア構成識別子HDID1を有するデータが集められ、それらのデータを指すポインタを処理リストテーブルに格納する。これによって、図11に示すように処理リストテーブルから中間データテーブルへの参照が可能になる。なお、処理リストテーブルの最後のデータの後ろには、NULLが付加される。
【0066】
このような処理リストテーブルを作成する処理と並行して、最初のデータ[ADR0,HDID1]に対応する再構成可能展開処理部11の再構成を行う。具体的には、ハードウェア構成識別子HDID1に対応する構成データを構成データ管理部13から読み出し、再構成可能展開処理部11の再構成ハードウェア部31に対して構成データを書き込むことによって行われる。このようにして再構成可能展開処理部11の再構成が完了すると、再構成された再構成ハードウェア部31により、最初のデータ[ADR0,HDID1]の先頭アドレスADR0以降に格納されているオブジェクトデータOD0の展開を実行する。展開された出力画像データは出力バッファに格納されるとともに、出力データテーブルの最初のエントリに出力画像データのアドレスが格納される。
【0067】
最初のデータ[ADR0,HDID1]に対応するオブジェクトデータOD0の展開が終了し、また、処理リストテーブルの作成が終了したら、処理リストテーブルを参照し、処理リストテーブルに登録されている次のポインタを取得する。この例では図11に示すように、中間データテーブルの3番目のデータを指し示すポインタが格納されている。そのため、処理リストテーブルに格納されているポインタから中間データテーブルの3番目のデータ[ADR2,HDID1]を取得する。そして、その先頭アドレスADR2以降に格納されているオブジェクトデータOD2の展開を、再構成可能展開処理部11の再構成ハードウェア部31で行う。展開された出力画像データは、出力バッファ中のオブジェクトデータOD0に対応する出力画像データの後に出力され、その先頭アドレスが出力データテーブルの3番目のエントリに格納される。
【0068】
このようにして処理リストテーブルに格納されているポインタを順次読み出し、そのポインタによって示される中間データテーブル中のデータに対応するオブジェクトデータを順次展開してゆく。処理リストテーブルにポインタが格納されている中間データテーブル内のデータは、同じハードウェア構成識別子を有しているので、再構成ハードウェア部31の再構成を行わずに展開を行うことができる。
【0069】
中間データテーブルの各ポインタに従って順に処理を行ってゆき、中間データテーブルからNULLが読み出されたら、同じ回路機能によって展開を行うことができるオブジェクトデータがなくなったことを示している。再び中間データテーブルを参照し、未処理のデータを読み出す。この例では、2つ目のデータ[ADR1,HDID0]が読み出される。今度はハードウェア構成識別子がHDID0のデータを中間データテーブルから探索し、処理リストテーブルを作成する。それと並行して、2つ目のデータのハードウェア構成識別子HDID0に対応する再構成可能展開処理部11の再構成ハードウェア部31の再構成と、2つ目のデータ[ADR1,HDID0]の先頭アドレスADR1以降に格納されているオブジェクトデータOD1の展開を実行する。その後、処理リストテーブルに格納されているポインタをもとに、同じ構成で展開できるオブジェクトデータについての展開を連続して行う。
【0070】
このようにして、同じ再構成ハードウェア部31の構成で展開できるオブジェクトデータごとに連続して展開し、同じ構成で展開できるオブジェクトデータがなくなると、再構成ハードウェア部31の再構成を行って再び同じ構成で展開できるオブジェクトデータの展開を行う。そして、中間データテーブル内のすべてのデータに対応するオブジェクトデータの展開が終了するまで繰り返す。
【0071】
このようにしてオブジェクトデータの展開が終了すると、図12に示すように、出力画像データが出力バッファに展開処理順に蓄積されている。また、各出力画像データの先頭アドレスが中間データテーブルのデータ順に出力データテーブルに登録されている。出力バッファにおけるアドレスADR0は出力バッファにおける出力画像データ0の先頭アドレス、アドレスADR1は出力バッファにおける出力画像データ1の先頭アドレス、アドレスADR2は出力バッファにおける出力画像データ2の先頭アドレスを示す。出力バッファから出力装置に対して出力画像データを出力する際には、出力データテーブルの先頭からアドレスを順に取り出し、指し示される先頭アドレスから始まる出力画像データを順に出力することで、適切な出力順で出力画像データを出力することができる。
【0072】
図13は、構成データ管理部13の一例を示す構成図である。図中、51は変換テーブル、52は構成コード記憶領域、53はアドレス計算部、54は制御部、55は読み出し制御部、56は追加・更新部である。変換テーブル51は、ハードウェア構成識別子を入力して、構成コード記憶領域52のアドレス計算部53で計算した先頭アドレスCFADR(Configuration Adress)とデータサイズCFSIZE(Configuration Size)を出力するテーブルである。構成コード記憶領域52は、実際のハードウェア構成識別子に対応する構成データが記憶される領域で、各エントリは可変長である。
【0073】
制御部54は、読み出し制御部55と追加・更新部56を有している。読み出し制御部55は、再構成制御部12から読み出し信号とハードウェア構成識別子が入力されると、変換テーブル51にハードウェア構成識別子を出力し、構成データの構成コード記憶領域52上の先頭アドレスとデータサイズを受け取る。次に、読み出し制御部55は、受け取った先頭アドレスを構成コード記憶領域52に出力して、データサイズ分のハードウェア構成識別子に対応する構成データを構成コード記憶領域52から読み出して、再構成制御部12に出力する。
【0074】
追加・更新部56は、図示しないホスト計算機などからネットワークを経由して送られてくる構成データにより、変換テーブル51のエントリと構成コード記憶領域52の構成データを追加したり、削除したり、更新したりする。構成コード記憶領域52には、単体の機能を処理するさまざまな回路構成に対応した構成データ、同一の機能が複数個ある並列的な回路構成に対応した構成データ、異なる機能が複数個ある並列的な回路構成に対応した構成データ、異なる機能が複数個あるパイプライン的な回路構成に対応した構成データなど、様々な形態の回路機能を構成するための構成データが備えられる。
【0075】
このような構成の構成データ管理部13に構成データを記憶させているので、例えば同じ機能でも処理効率のよい回路が後から開発されても、追加・更新部56などにより新しい回路の構成データに書き換えることができる。そのため、処理機能の更新や追加を容易に行うことができる。
【0076】
図14、図15は、本発明の実施の一形態を含む印刷処理装置の一例における動作の別の例を示すフローチャートである。この例では、中間データ生成の途中で最初に再構成すべきハードウェア構成識別子を検出し、そのハードウェア構成識別子を再構成制御部12に知らせ、その時点から中間データ生成、中間データテーブルの探索、処理リストテーブルの生成の各処理と、再構成可能展開処理部11の再構成ハードウェア部31の再構成及びそれに続く最初のデータに対する展開処理を並列的に実行する例を示している。なお、図14,図15に示すフローチャートは、図2に示した動作の概要とともに、図8に示した再構成制御部12の動作に対応する部分についても含めて示している。なお、上述の動作の一例における説明と重複する部分については説明を省略する。
【0077】
描画データスプール部2に文字、図形、画像の少なくともいずれかを含む描画データ1が入力されると、S81において、描画データ解釈部3、変換処理部4を介してバンド単位に分割された中間データの生成が開始される。最初のオブジェクトデータに対する中間データが生成されると、生成された中間データに基づいて、S84において再構成可能展開処理部11の再構成を行う。さらにS85において、再構成された再構成可能展開処理部11によって最初のオブジェクトデータについての展開処理を行う。なお、最初のオブジェクトデータに対応する再構成可能展開処理部11の再構成および最初のオブジェクトデータについての展開処理と並行して、最初のオブジェクトデータ以降のオブジェクトデータについて、S82で中間データの生成を続ける。
【0078】
変換処理部4において中間データの生成が終了すると、S83へ移る。S83の処理は図15に示している。S91において中間データテーブルを読み込み、S92において、同じハードウェア構成識別子ごとに処理順が並ぶように処理リストを作成する。この例では、中間データテーブル中に現れるすべてのハードウェア構成識別子について、それぞれ、予め処理リストを作成する。処理リストは、例えば図10に示すような処理リストテーブルをハードウェア構成識別子ごとに作成してもよいし、他の構成であってもよい。
【0079】
S93において、最初のオブジェクトデータが展開の対象になっているか否かを判断する。最初のオブジェクトデータが展開の対象になっている場合には、中間データの生成と並行して、そのオブジェクトデータに対応する再構成可能展開処理部11の再構成とそのオブジェクトデータの展開処理が実行されている。そのため、S95における再構成可能展開処理部11の再構成処理をスキップしてS96に進む。
【0080】
最初のオブジェクトデータに対応する中間データが生成されてからS96の手前までの処理は、S84における最初のオブジェクトデータに対応する再構成可能展開処理部11の再構成およびS85における最初のオブジェクトデータの展開処理と並行して行われる。そのため、再構成可能展開処理部11の再構成が中間データの生成および処理リストの生成よりも早く完了する場合でも、最初のオブジェクトデータの展開処理も並列的に実行することによって、中間データの生成および処理リストの生成により全体の処理速度を低下させることがなくなる。そのため、システム全体における処理速度の向上を図ることができる。
【0081】
なお、S93において、最初のオブジェクトデータが展開の対象になっていない場合には、S94において処理リストがNULLか否かを判定し、NULLであれば展開処理を終了する。処理リストがNULLでなければ、展開するオブジェクトデータが残っていることを示している。S95において、新たなハードウェア構成識別子に従って再構成可能展開処理部11の再構成を行う。
【0082】
S85における最初のオブジェクトデータの展開処理が終了するとともに、処理リストの生成が完了した場合、あるいは、S95において新たなハードウェア構成識別子に従って再構成可能展開処理部11の再構成を行った後、S96以降において同じハードウェア構成識別子を有するオブジェクトデータの展開を行う。S96において、処理リストにおける次のデータに対応するハードウェア構成識別子が、現在、再構成可能展開処理部11に構成したハードウェア構成識別子と同じであるか否かを判定する。同じハードウェア構成識別子を有するデータであれば、S97において、再構成可能展開処理部11でオブジェクトデータの展開を行う。この場合、同じハードウェア構成識別子を有しているので、再構成可能展開処理部11の再構成を行わずに連続して展開を行うことができる。
【0083】
S96で処理リスト内にハードウェア構成識別子が同じデータがなくなったことを検出すると、S98において、処理リストのデータから次のハードウェア構成識別子を選択し、S93へ戻る。今度は最初のオブジェクトデータが展開の対象になっているわけではないのでS94に進む。処理リストがNULLでなければ、新たなハードウェア構成識別子に従ってS95で再構成可能展開処理部11の再構成を行い、S97でそのハードウェア構成識別子を有するオブジェクトデータの展開を行うことになる。
【0084】
このようにしてハードウェア構成識別子ごとに、同じハードウェア構成識別子を有するオブジェクトデータの展開を連続して行ってゆき、すべてのオブジェクトデータの展開を行う。すべてのオブジェクトデータの展開を終了すると、処理リストがNULLとなり、S94から図14にS86に移る。
【0085】
S86において、バンド内の全てのオブジェクトデータについて展開処理が終了したか否かを判定し、終了していなければ必要に応じて図15に示した処理を繰り返し、再構成可能展開処理部11の再構成を行いながら、同じ構成で展開できるオブジェクトデータの展開処理を繰り返す。バンド内の全てのオブジェクトデータについての展開処理が終了し、出力装置7のサイクルアップ、あるいは出力準備が完了したら、S87において、出力バッファから出力装置7へ、出力装置7の記録速度に応じて出力画像データを1ライン毎に転送する。
【0086】
次にS88において、ページ内の全てのバンドの処理が終了したか否かを判定する。終了していなければ、S83へ戻り、1つの出力バッファの出力画像データが出力されている間に、次のバンドについてのオブジェクトデータの展開処理を行って、別の出力バッファに出力画像データを格納する。このような処理が、1ページ分の出力画像データが出力されるまで、色毎にあるいは4色同時に繰り返される。1ページ分のオブジェクトデータがすべて展開され、出力画像データが出力装置7に転送されれば、1ページ分の処理は終了する。出力画像データが複数ページで構成される場合は、上述の処理を全ページの出力が終了するまで繰り返す。
【0087】
この図14,図15に示した動作例では、中間データの生成および処理リストの生成処理と、最初のオブジェクトデータに対応する再構成可能展開処理部11の再構成と最初のオブジェクトデータの展開処理とを、並列的に動作させているので、再構成可能展開処理部11を有効に動作させてシステム全体の高速化を図ることができる。また、同じ再構成可能展開処理部11の回路機能で展開可能なオブジェクトデータを連続して展開することにより、再構成の回数を減少させ、さらなる高速化を実現することができる。
【0088】
なお、上述の図2,図9に示した動作例においても、この例と同様に、最初のオブジェクトデータの中間データが生成された時点から、最初のオブジェクトデータに対応する再構成可能展開処理部11の再構成を開始するように構成してもよい。
【0089】
また、上述の説明では、バンドごとの展開処理を前提として説明したが、本発明はこれに限らず、例えばページ単位で展開処理を行う場合についても同様に適用することが可能である。さらに、上述の説明では再構成可能展開処理部11はデバイス全体を再構成するものとして説明したが、システムの動作中にデバイスの一部のみを再構成することが可能なデバイスにおいても適用可能であることは言うまでもない。このようなシステムの動作中にデバイスの一部のみを再構成することが可能なデバイスでは、最初にデバイス全体に機能を構成して、その後は一部分を再構成することになる。例えば図14,図15で説明した動作例を用いると、時間がかかる中間データの生成および処理リストの生成処理と、時間がかかる最初の再構成可能展開処理部11の再構成とを並列的に行うことができ、さらなるシステム全体の処理速度の向上を期待できる。
【0090】
さらに、上述の説明では本発明の画像処理装置および画像処理方法を印刷処理装置に適用した場合について示した。しかし本発明の画像処理装置および画像処理方法は印刷処理装置への適用に限られるものではなく、複数種類の処理を再構成可能なハードウェア手段で実行するあらゆる用途に適用可能である。
【0091】
【発明の効果】
以上の説明から明らかなように、本発明によれば、最初の処理に対応する再構成可能な処理手段の再構成および最初の処理の実行と、同じ回路機能で実行可能な処理を選択し、あるいは、同じ回路機能で実行可能な処理ごとに分類する処理とを、並列的に実行する。そのため、処理手段の再構成にそれほど時間がかからない場合でも、処理手段を遊ばせることなく有効に動作させることができるので、システム全体の高速化を実現することができる。また、同じ回路機能で実行可能な処理を選択し、あるいは、同じ回路機能で実行可能な処理ごとに分類して、同じ回路機能で実行可能な処理を連続して実行させ、処理手段の再構成回数を低減している。これによって、さらに全体の処理時間を短縮し、さらなる高速化を実現することができるという効果がある。
【0092】
さらに、再構成可能な処理手段を再構成するための構成データをメモリなどに記憶させているので、例えば同じ機能でも処理効率のよい回路が後から開発されても、新しい回路の構成データに書き替えることができ、処理機能の更新や追加を容易に行うことができる。
【0093】
このような本発明の構成を印刷処理装置に適用すれば、少なくとも画像、図形、文字を含む印刷データの内容に応じて、少ないハードウェア資源で、しかも短時間で展開処理を行うことができ、印刷処理装置のスループットを向上させることができるという効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の一形態を含む印刷処理装置の一例を示すブロック図である。
【図2】 本発明の実施の一形態を含む印刷処理装置の一例における動作の一例を示すフローチャートである。
【図3】 変換処理部の一例を示す構成図である。
【図4】 描画命令の種類とその描画に必要な情報の一例の説明図である。
【図5】 中間データの構造の一例の説明図である。
【図6】 中間データテーブルの一例の説明図である。
【図7】 展開処理部5に含まれる再構成可能展開処理部11の一例を示すブロック図である。
【図8】 入力バッファと出力バッファの使用方法の一例についての説明図である。
【図9】 展開処理部5に含まれる再構成制御部12の動作の一例を示すフローチャートである。
【図10】 処理リストテーブルの一例の説明図である。
【図11】 再構成制御部12における処理リストテーブルの作成処理の一例の説明図である。
【図12】 展開後のデータを出力バッファに格納する際の動作の一例の説明図である。
【図13】 構成データ管理部13の一例を示す構成図である。
【図14】 本発明の実施の一形態を含む印刷処理装置の一例における動作の別の例を示すフローチャートである。
【図15】 本発明の実施の一形態を含む印刷処理装置の一例における動作の別の例を示すフローチャート(一部詳細)である。
【符号の説明】
1…描画データ、2…描画データスプール部、3…描画データ解釈部、4…変換処理部、5…展開処理部、6…出力装置制御部、7…出力装置、11…再構成可能展開処理部、12…再構成制御部、13…構成データ管理部、21…命令実行部、22…描画状態命令記憶部、23…画像処理部、24…ベクタ処理部、25…リスト生成部、26…バンド分割管理部、27…中間データ記憶部、31…再構成ハードウェア部、32…リフレッシュ制御部、33…中間データ転送制御部、34…出力画像データ転送制御部、35…アービトレーション部、36…メモリ部、41,42…入力バッファ、43,44…出力バッファ、45…ワーク領域、51…変換テーブル、52…構成コード記憶領域、53…アドレス計算部、54…制御部、55…読み出し制御部、56…追加・更新部。
Claims (11)
- 回路機能を再構成することが可能な処理手段と、該処理手段に対して回路機能の再構成と該回路機能による1または複数の処理の実行が繰り返して行われるように制御する制御手段を備え、該制御手段は、前記処理手段で最初に実行する処理に対応する回路機能の再構成中および再構成した回路機能による前記最初の処理の実行中に、残りの処理を参照して同じ種類ごとに処理の順番を決定することを特徴とする情報処理装置。
- 回路機能を再構成することが可能な処理手段と、該処理手段に対して回路機能の再構成と該回路機能による1または複数の処理の実行が繰り返して行われるように制御する制御手段を有し、該制御手段は、前記処理手段で最初に実行する処理に対応する回路機能の再構成中および再構成した回路機能による前記最初の処理の実行中に、残りの処理を参照して同じ回路機能で実行可能な処理を選択することを特徴とする情報処理装置。
- 少なくとも文字、図形、画像の描画要素のいずれかを有し所定の描画命令で記述された描画データに基づいて該描画データに含まれる描画要素に対応させて構成情報を付加して中間データを生成する変換手段と、回路機能を再構成することが可能であり前記中間データから位置情報を含む形式の情報に展開する展開処理手段と、該展開処理手段に対して前記中間データに付加された構成情報に基づいて回路機能の再構成を行わせるとともに該回路機能により前記中間データの展開を行わせるように制御する制御手段を有し、該制御手段は、前記変換手段で生成された最初の中間データに対応する回路機能の再構成中および再構成した回路機能により前記最初の中間データの展開の実行中に、残りの中間データを参照して同じ回路機能で実行可能な種類ごとに中間データの順番を決定することを特徴とする情報処理装置。
- 少なくとも文字、図形、画像の描画要素のいずれかを有し所定の描画命令で記述された描画データに基づいて該描画データに含まれる描画要素に対応させて構成情報を付加して中間データを生成する変換手段と、回路機能を再構成することが可能であり前記中間データから位置情報を含む形式の情報に展開する展開処理手段と、該展開処理手段に対して前記中間データに付加された構成情報に基づいて回路機能の再構成を行わせるとともに該回路機能により前記中間データの展開を行わせるように制御する制御手段を有し、該制御手段は、前記変換手段で生成された最初の中間データに対応する回路機能の再構成および再構成した回路機能による前記最初の中間データの展開を実行するとともに、該再構成および展開の実行中に、残りの中間データを参照して同じ回路機能で実行可能な中間データの抽出を行い、抽出した中間データを連続して実行させ、同じ回路機能で実行可能な中間データが終了すると、残りの中間データについて前記最初の中間データに対応する再構成および展開の実行と、該再構成および展開中における中間データの抽出とその実行を繰り返すことを特徴とする情報処理装置。
- 前記制御手段は、1ないし複数の処理からなる処理群を単位として、各処理群内のすべての処理について展開の実行を終了してから次の処理群に対する制御を開始することを特徴とする請求項1ないし請求項4のいずれか1項に記載の情報処理装置。
- 回路機能を再構成することが可能な処理手段を用いて回路機能の再構成と該回路機能による1または複数の処理の実行を繰り返して行う情報処理方法において、前記処理手段に対して最初に実行する処理に対応する回路機能を再構成し、再構成した回路機能により前記最初の処理を実行し、前記最初に実行する処理に対応する再構成および前記最初の処理の実行中に残りの処理を参照して同じ種類ごとに処理の順番を決定することを特徴とする情報処理方法。
- 回路機能を再構成することが可能な処理手段を用いて回路機能の再構成と該回路機能による1または複数の処理の実行を繰り返して行う情報処理方法において、前記処理手段に対して最初に実行する処理に対応する回路機能を再構成し、再構成した回路機能により前記最初の処理を実行し、前記最初に実行する処理に対応する再構成および前記最初の処理の実行中に残りの処理を参照して同じ回路機能で実行可能な処理を選択することを特徴とする情報処理方法。
- 回路機能を再構成することが可能な展開処理手段を用いて少なくとも文字、図形、画像の描画要素のいずれかを有し所定の描画命令で記述された描画データに基づいて位置情報を含む形式の情報に展開する情報処理方法において、前記描画データから該描画データに含まれる描画要素に対応させて構成情報を付加して中間データを生成し、前記展開処理手段に対して最初の中間データに付加された構成情報に基づいて回路機能の再構成を行わせるとともに該回路機能により前記最初の中間データの展開を行わせ、該最初の中間データに対応する再構成および展開の実行中に、残りの中間データを参照して同じ回路機能で実行可能な種類ごとに中間データの順番を決定し、決定した中間データの順番で必要に応じて中間データに対応する回路機能の再構成を行うとともに中間データの展開を実行することを特徴とする情報処理方法。
- 回路機能を再構成することが可能な展開処理手段を用いて少なくとも文字、図形、画像の描画要素のいずれかを有し所定の描画命令で記述された描画データに基づいて位置情報を含む形式の情報に展開する情報処理方法において、前記描画データから該描画データに含まれる描画要素に対応させて構成情報を付加して中間データを生成し、前記展開処理手段に対して最初の中間データに付加された構成情報に基づいて回路機能の再構成を行わせるとともに該回路機能により前記最初の中間データの展開を行わせ、該最初の中間データに対応する再構成および展開の実行中に、残りの中間データを参照して同じ回路機能で実行可能な中間データの抽出を行い、抽出した中間データを連続して前記展開処理手段で実行し、同じ回路機能で実行可能な中間データが終了すると、残りの中間データについて前記最初の中間データに対応する再構成および展開の実行と、該再構成および展開中における中間データの抽出とその実行を繰り返すことを特徴とする情報処理方法。
- 前記中間データの順番の決定は、1ないし複数の処理からなる処理群を単位として、該処理郡内の中間データを対象として行うことを特徴とする請求項6または請求項8に記載の情報処理方法。
- 前記中間データの抽出は、1ないし複数の処理からなる処理群を単位として、該処理郡内の中間データを対象として行うことを特徴とする請求項7または請求項9に記載の情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25217899A JP3871011B2 (ja) | 1999-09-06 | 1999-09-06 | 情報処理装置および情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25217899A JP3871011B2 (ja) | 1999-09-06 | 1999-09-06 | 情報処理装置および情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001075759A JP2001075759A (ja) | 2001-03-23 |
JP3871011B2 true JP3871011B2 (ja) | 2007-01-24 |
Family
ID=17233585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25217899A Expired - Fee Related JP3871011B2 (ja) | 1999-09-06 | 1999-09-06 | 情報処理装置および情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3871011B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4492251B2 (ja) * | 2003-11-28 | 2010-06-30 | セイコーエプソン株式会社 | 印刷システム、印刷要求装置、印刷装置管理装置、印刷装置、印刷装置管理プログラムおよび印刷制御プログラム、並びに印刷方法 |
JP5202265B2 (ja) * | 2008-12-08 | 2013-06-05 | キヤノン株式会社 | 画像処理装置、プログラム及び画像処理装置の制御方法 |
JP4992889B2 (ja) * | 2008-12-18 | 2012-08-08 | 富士ゼロックス株式会社 | 画像処理装置 |
JP5076132B1 (ja) | 2011-05-25 | 2012-11-21 | 株式会社スクウェア・エニックス・ホールディングス | 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム |
JP5838818B2 (ja) * | 2012-01-11 | 2016-01-06 | 富士ゼロックス株式会社 | 画像処理装置 |
JP6160317B2 (ja) * | 2013-07-09 | 2017-07-12 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP7136436B2 (ja) * | 2018-04-27 | 2022-09-13 | Necソリューションイノベータ株式会社 | 回路再構成装置、制御方法、及び制御プログラム |
-
1999
- 1999-09-06 JP JP25217899A patent/JP3871011B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001075759A (ja) | 2001-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826038B2 (ja) | 印刷システム及びその印刷方法並びに印刷装置 | |
US7821656B2 (en) | Method of drawing images using a dynamic reconfigurable processor, circuit therefor and image output control apparatus | |
JP3871011B2 (ja) | 情報処理装置および情報処理方法 | |
JPH09185721A (ja) | 画像形成装置 | |
JPH0937062A (ja) | 画像処理装置及び方法 | |
EP0870277B1 (en) | Image rendering for page printers | |
JP3834935B2 (ja) | 印刷処理装置 | |
JP3125863B2 (ja) | 印刷処理装置 | |
JP3885282B2 (ja) | 印刷データ処理装置および印刷データ処理方法 | |
JPH10202962A (ja) | 印字データ処理装置及び入力データ作成装置 | |
JP2000255117A (ja) | 印刷処理装置および印刷処理方法 | |
JP2001096854A (ja) | 印刷処理装置および印刷処理方法 | |
JP2000255116A (ja) | 印刷処理装置および印刷処理方法 | |
JP3204136B2 (ja) | 画像処理装置及び圧縮処理方法 | |
JPH1011593A (ja) | 画像形成装置 | |
JP3864535B2 (ja) | 印刷処理装置および印刷処理方法 | |
JP2004030386A (ja) | 画像処理方法および画像処理装置 | |
JPH10151815A (ja) | 印刷処理装置 | |
JP2001239717A (ja) | デジタル印刷制御装置およびデジタル印刷システム | |
JP2000255118A (ja) | 印刷処理装置および印刷処理方法 | |
JP2000255121A (ja) | 印刷処理装置および印刷処理方法 | |
JP3236053B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2000255122A (ja) | 印刷処理装置および印刷処理方法 | |
JPH11144062A (ja) | 印刷処理装置 | |
JPH11232062A (ja) | 印刷処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20031211 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060320 |
|
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: 20060927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061010 |
|
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: 20101027 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111027 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121027 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121027 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131027 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |