(57)【特許請求の範囲】
【請求項１】
少なくとも文字、図形、画像の描画要素のいずれかを有し、所定の描画命令で記述された印刷データを入力する入力手段と、
前記印刷データに含まれるトークンを解釈し描画命令を実行して、前記入力手段に入力された印刷データに含まれる描画要素をバンド単位に分割した分割描画要素と、該分割描画要素の展開処理に適用するハードウェアの構成に対応して設定されたハードウェア構成ＩＤとを含む変換印刷データをバンド単位で生成する変換手段と、
前記変換手段で変換された変換印刷データに含まれるバンド単位の分割描画要素に設定されたハードウェア構成ＩＤに応じて構成を変更し、前記変換印刷データの展開処理を実行するハードウェアと、
前記ハードウェアで展開処理された前記変換印刷データを出力する出力手段とを備えた印刷処理装置であり、
前記ハードウェアにおいて実行すべき処理順に前記ハードウェア構成ＩＤを並べた画像処理列データに記録された連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理が前記ハードウェア中の相異なる処理回路において並列処理可能か否かを判断する並列処理可能性判断手段と、
前記並列処理可能性判断手段において並列処理可能と判断された連続する２つの画像処理列に対しては、該連続する２つの画像処理列に対応するそれぞれ相異なる処理回路によって前記ハードウェアを構成し、前記並列処理可能性判断手段において並列処理不可能と判断された連続する２つの画像処理列に対しては、該連続する２つの画像処理列中、先行する画像処理に対応する処理回路によってハードウェアを構成するハードウェア構成制御手段と、
を有することを特徴とする印刷処理装置。
【請求項２】
前記並列処理可能性判断手段は、前記連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理各々について、処理すべき画像データの位置に依存する画像処理であるか、画像データの位置に独立な画像処理であるかを予め記憶部に保持した判定データに基づいて判断することによって、並列処理可能性の可否を判断することを特徴とする請求項１に記載の印刷処理装置。
【請求項３】
前記並列処理可能性判断手段は、前記連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理の両者が、前記判定データに基づいて画像データの位置に依存する画像処理であると判定した場合は、さらに該連続する２つの画像処理各々において参照する画像データの重複性を判断し、判断結果に基づいて予め記憶部に保持した判定データに基づいて並列処理可能性の可否を判断することを特徴とする請求項２に記載の印刷処理装置。
【請求項４】
前記並列処理可能性判断手段は、前記連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理各々について、処理すべき画像データの画素値に依存する画像処理であるか、画像データの画素値に独立な画像処理であるかを予め記憶部に保持した判定データに基づいて判断することによって、並列処理可能性の可否を判断することを特徴とする請求項１に記載の印刷処理装置。
【請求項５】
前記並列処理可能性判断手段は、前記連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理列の両者が、画像データの画素値に依存する画像処理である場合は、さらに該連続する２つの画像処理各々において参照する画像データの重複性を判断し、判断結果に基づいて予め記憶部に保持した判定データに基づいて並列処理可能性の可否を判断することを特徴とする請求項４に記載の印刷処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷処理装置における画像処理技術に関し、特に印刷データに対して複数の画像処理を並列的に実行させる印刷処理装置に関する。
【０００２】
【従来の技術】
小型、高速のデジタル印刷に適した電子写真方式のページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、画像、図形、文字などを同様に取り扱い、図形、文字等の拡大、回転、変形などが自由に制御できる記述言語を用いる印刷処理装置が一般に普及してきた。この記述言語の代表例として、ＰｏｓｔＳｃｒｉｐｔ（米国アドビシステムズ社の商標）、Ｉｎｔｅｒｐｒｅｓｓ  （米国ゼロックス社の商標）、Ａｃｒｏｂａｔ（米国アドビシステムズ社の商標）、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ、米国マイクロソフト社の商標）等が知られている。
【０００３】
記述言語で作成されている印刷データは、ページ内の任意の位置の画像、図形、文字を表現する描画命令が任意の順で構成されており、本発明に係わるページプリンタで印字するためには、印字前に印刷データをラスタ化しなければならない。ラスタ化というのは、ページ又はページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。従来のページプリンタは、印字前にページ全体の印刷データをラスタ化し、ページバッファメモリに記憶していた。しかしながら、ページ全体に対するラスタデータを記憶するためには、大量のメモリを必要とする。特に、最新の電子写真方式のカラーページプリンタでは、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｂｋ（ブラック）の４色のトナーに対応するラスタデータを必要とするとともに、白黒ページプリンタ以上に画質が要求されるため、１画素当たり複数のビット情報を持つのが一般的であり、さらに大量のメモリを必要とする。
【０００４】
この大量のメモリの必要性に対し、コスト低減の観点からメモリ容量を低減させる技術として、最近バンドメモリ技術が登場してきた。バンドメモリ技術は、ページプリンタの印字前に１ページ分の印刷データを全てラスタ化するのではなく、記述言語で作成されている印刷データを、印刷データをラスタ化するよりも速くラスタ化可能な比較的簡単な中間データに変換し、１ページを隣接する複数の領域（バンド）に分割し、各バンドに対応する中間データを記憶した後、ラスタ展開処理部に順次転送し、バンドに対応するバッファメモリに展開する技術である。バンドメモリ技術では、中間データを記憶するためのメモリは新たに必要であるが、ラスタデータのための大容量を必要とするバッファメモリを低減することが可能となる。しかし、一般的なバンドメモリ技術では、あるバンドのラスタデータの印字が終了するまでに、次のバンドに対する中間データからラスタデータへの展開を終了させる必要がある。印刷データに複雑な図形描画命令や扱うデータ量の大きい画像描画命令が含まれている場合、あるいは１ページ内の特定のバンドに複雑な図形描画命令や画像描画命令が含まれている場合等、中間データからラスタデータへの展開が間に合わない状況が発生する可能性がある。
【０００５】
そこで、中間データからラスタデータへの展開処理を高速化するために専用ハードウェアを利用することが考えられた。上述したように、ページ内に描画される対象としては、画像、図形、文字があり、これらは、それぞれのオブジェクトの型に応じて特殊な処理を必要とする。例えば対象が画像の場合、解像度変換、アフィン変換、これらの処理に伴う補間、色処理等である。また、図形の場合には、座標変換、ベクタ／ラスタ変換、塗りつぶし処理等が必要である。また、文字の場合には、アウトライン座標の変換、ヒント処理、ベクタ／ラスタ変換、塗りつぶし処理等が必要である。そこで、これらすべての処理に対応する専用ハードウェアを１つづつ用意することが必要となる。しかし、この場合、メモリ量を削減できたとしても、追加するハードウェア量が多くなってシステム全体が高価になるという問題があった。また、中間データをビットマップにする目的のハードウェアは、中間データをビットマップにするときだけにしか使用できず、処理に応じた専用ハードウェアを並列的に用意しておくことは、その使用率を考えると大変無駄であるという問題があった。
【０００６】
従来、このような問題を解決する試みを行った構成に、特開平６−１３１１５５号公報や、特開平６−２８２４３２号公報などにおいて記載の技術がある。これらの公報に記載の技術は、全ての機能について並列にハードウェアを設けるのではなく、ハードウェアのプログラマビリティ、あるいは構造を再構成することにより、機能を可変なものとし、少ないハードウェアで多くの機能を高速に実現しようとしている。
【０００７】
また、画像描画命令に関連する画像処理を複数のハードウェアを用いて並列処理することができる。並列処理を行うことによって、高速に画像処理を行う従来技術としては、例えば、「並列処理プロセッサ」（特開昭５９−５３９６４）および「画像処理技術」（特開昭６３−２０１７７４）などがある。
【０００８】
特開昭５９−５３９６４号公報に記載の並列画像プロセッサは、ローカルメモリ、各ローカルメモリに対応して設けられたローカルプロセッサとからなるプロセッサモジュール、入出力バス、および管理プロセッサから構成される並列画像プロセッサである。このプロセッサモジュールは、位置比較回路およびメモリ素子並びにアクセス制御回路を備えることができる。この並列画像プロセッサの目的は、部分画面に対応して設けられたプロセッサモジュールによる並列画像プロセッサにおいて、局所近傍演算の実行に際して隣接するプロセッサモジュールとの更新を不要とした並列画像プロセッサを提供することである。前述の管理プロセッサが入出力バスを介する画面画像データを送出している間に、各プロセッサモジュールのローカルメモリに画像処理の対象となる部分画面およびその周辺の近傍画像データを格納することによって、実質的な画像処理の段階で隣接する部分画面画像データを持つプロセッサモジュールにデータの問い合わせ（データ参照）をする必要がなく、それぞれのプロセッサモジュールで全く独立に画像処理ができるため、処理速度が向上する。
【０００９】
特開昭６３−２０１７７４号公報に記載の画像処理装置は、複数のメモリエレメントから構成される画像メモリと、複数のプロセッサエレメントからなるプロセッサユニットとを備えた画像処理装置である。この画像処理装置は、ローテーション手段、若しくはイネーブル制御手段を備えることができる。この画像処理装置の目的は、有限個の少数のプロセッサの並列処理により、高速な画像処理を行う画像処理装置を提供することである。この画像処理装置は、画像メモリの隣接する所定領域内の画素データをプロセッサユニットで同時に処理することができる。さらに、ローテーション手段により所定領域の位置を自在に制御し、または、イネーブル制御手段により、所定領域の大きさを自在に制御することができる。
【００１０】
さらに特開昭６３−１９７２８３号公報に記載の技術は、画像メモリ、複数の画像処理ユニットおよびホストプロセッサをデータ転送路により接続した並列画像処理装置である。
【００１１】
【発明が解決しようとする課題】
上述の従技術における画像処理装置においては、各プロセッサモジュールもしくはプロセッサユニット、またはローカルメモリに部分画像データを割り振って並列処理を行うものであり、画像処理機能に応じた並列処理を行うことができなかった。
【００１２】
つまり、特開昭５９−５３９６４号公報における「並列画像プロセッサ」、および特開昭６３−２０１７７４号公報における「画像処理装置」などは、ある画像データを分割して部分画像データとし、それらを各プロセッサモジュールもしくは、プロセッサユニット、またはローカルメモリに割り振ることに着眼したものであり、主として画像の属性の一つである画像データについて考慮されたものであり、いわゆるクリップ処理や色変換処理などの画像処理の内容、機能（振る舞いまたは手続）を考慮したものではなかった。
【００１３】
また、画像の編集処理において発生する連続する画像処理列、例えば、画像データを画像処理装置に読み込んで、クリップ処理を実行し、色変換処理を行い、ディスプレイに描画出力するなどの一連の画像処理の並びについての並列処理としての取り扱いについては考慮されていなかった。
【００１４】
特開昭６３−１９７２８３号公報に記載の並列画像処理装置は、ホストプロセッサの起動手段により、前記画像の処理ユニットを並列動作あるいは逐次動作させるけれども、例えば連続する複数の画像処理に対して該画像処理列の内の２つの機能または属性を比較することにより、並列可能性を検査するようなことは実施されておらず、連続する複数の画像処理列に対して適用可能な並列画像処理装置ではない。
【００１５】
特開昭６３−１９７２８３号公報に記載の実施例において説明されている並列処理装置は、単一の画像処理機能たる二値化を複数の画像処理ユニットで実行しているにすぎない。後述するように本発明の構成によれば、カラーマップ変更処理およびそれに後続するクリップ処理といったような機能的に全く異なる複数の画像処理を並列処理することができる。
【００１６】
また特開昭６３−１９７２８３号公報の実施例において説明されるシーケンシャル画像処理と称される画像処理ユニットの逐次動作は、単一の画像処理機能たる回転処理を複数の画像処理ユニットで行っているに過ぎない。後述するように、本発明の画像処理装置では、カラーマップ変更処理およびそれに後続する画素値反転処理といったような機能的に全く異なる複数の画像処理を逐次処理することができる。つまり、特開昭６３−１９７２８３号の発明は、単一機能の画像処理を並列処理あるいは逐次処理をすることはできるけれども、複数の画像処理列に対して並列処理可能性を判断する手段を持たないので、処理対象を複数の画像処理列とした場合、並列処理あるいは、逐次処理の切り替えを適切に制御できず、複数の画像処理列に対して適用することができない。
【００１７】
本発明は、連続する画像処理列に対して、該画像処理の内容、すなわち画像処理の機能または、属性に応じた並列処理を行う印刷処理装置を提供することが目的である。
【００１８】
【課題を解決するための手段】
上記課題を解決するために、本発明の印刷処理装置は、以下の手段を有するハードウェア構成制御部をもって上記の課題を解決する。
【００１９】
（１）処理すべき連続した複数の画像処理列の先頭から順に、連続した２つの画像処理列を比較し、該画像処理が相異なる処理回路で並列処理可能かどうかを判断する並列処理可能性判断手段。
【００２０】
（２）比較した前記画像処理列がともに処理すべき画像データの位置または画画素値に、依存する画像処理である場合には、さらに参照する該画像データの位置を比較し、相異なる処理回路が相互に重複した画像データを参照するか否かの区別により並列処理可能性の可否を判断する第２の並列処理可能性判断手段。
【００２１】
（３）当該連続した２つの画像処理列が並列処理可能な場合は該画像処理列に対応するそれぞれ相異なる処理回路によって前記ハードウェアを構成し、そうでない場合は、該画像処理に対応する所定の処理回路によってはハードウェアを構成するハードウェア構成制御手段。
【００２２】
具体的には、本発明の印刷処理装置は、少なくとも文字、図形、画像の描画要素のいずれかを有し、所定の描画命令で記述された印刷データを入力する入力手段と、印刷データに含まれるトークンを解釈し描画命令を実行して、入力手段に入力された印刷データに含まれる描画要素をバンド単位に分割した分割描画要素と、該分割描画要素の展開処理に適用するハードウェアの構成に対応して設定されたハードウェア構成ＩＤとを含む変換印刷データをバンド単位で生成する変換手段と、変換手段で変換された変換印刷データに含まれるバンド単位の分割描画要素に設定されたハードウェア構成ＩＤに応じて構成を変更し、変換印刷データの展開処理を実行するハードウェアと、ハードウェアで展開処理された変換印刷データを出力する出力手段とを備えた印刷処理装置であり、ハードウェアにおいて実行すべき処理順にハードウェア構成ＩＤを並べた画像処理列データに記録された連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理がハードウェア中の相異なる処理回路において並列処理可能か否かを判断する並列処理可能性判断手段と、並列処理可能性判断手段において並列処理可能と判断された連続する２つの画像処理列に対しては、該連続する２つの画像処理列に対応するそれぞれ相異なる処理回路によってハードウェアを構成し、並列処理可能性判断手段において並列処理不可能と判断された連続する２つの画像処理列に対しては、該連続する２つの画像処理列中、先行する画像処理に対応する処理回路によってハードウェアを構成するハードウェア構成制御手段とを有する。
【００２３】
また、本発明の印刷処理装置において、並列処理可能性判断手段は、連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理各々について、処理すべき画像データの位置に依存する画像処理であるか、画像データの位置に独立な画像処理であるかを予め記憶部に保持した判定データに基づいて判断することによって、並列処理可能性の可否を判断することを特徴とする。
【００２４】
また、本発明の印刷処理装置において、並列処理可能性判断手段は、連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理の両者が、判定データに基づいて画像データの位置に依存する画像処理であると判定した場合は、さらに該連続する２つの画像処理各々において参照する画像データの重複性を判断し、判断結果に基づいて予め記憶部に保持した判定データに基づいて並列処理可能性の可否を判断することを特徴とする。
【００２５】
また、本発明の印刷処理装置において、並列処理可能性判断手段は、連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理各々について、処理すべき画像データの画素値に依存する画像処理であるか、画像データの画素値に独立な画像処理であるかを予め記憶部に保持した判定データに基づいて判断することによって、並列処理可能性の可否を判断することを特徴とする。
【００２６】
また、本発明の印刷処理装置において、並列処理可能性判断手段は、連続する２つのハードウェア構成ＩＤに対応する連続する２つの画像処理列の両者が、画像データの画素値に依存する画像処理である場合は、さらに該連続する２つの画像処理各々において参照する画像データの重複性を判断し、判断結果に基づいて予め記憶部に保持した判定データに基づいて並列処理可能性の可否を判断することを特徴とする。
【００２８】
【発明の実施の形態】
以下、図面に基づき本発明に係わる印刷処理装置の実施例について説明する。図１は本発明の印刷処理装置の実施例の構成を示すブロック図である。図１において、印刷処理装置は、印刷データ作成部１と、印刷データ入力部２と、変換処理部３と、展開処理部４、および出力部５から構成されている。
【００２９】
印刷データ作成部１は、パーソナルコンピュータやワークステーション内において、文書作成や編集等を処理するアプリケーションプログラムで生成された文書データから記述言語で記述された印刷データを作成する機能を備えたものである。本実施例で対象とする記述言語は、例えばＧＤＩであるが、Ａｃｒｏｂａｔで代表されるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＰｏｓｔＳｃｒｉｐｔで代表されるページ記述言語であってもよい。
【００３０】
印刷データ入力部２は、印刷データ作成部１で生成された印刷データを入力するための通信機能、あるいは変換処理部３へ出力されるまでの間、印刷データを一時記憶する機能等を備えたものである。
【００３１】
変換処理部３は、印刷データ入力部２より入力された印刷データから展開処理部４における印字データへの展開処理可能な中間データに変換を行うものである。変換処理部３は、字句解析部３１と、中間データ生成部３２、および中間データ記憶部３３から構成される。
【００３２】
字句解析部３１は、印刷データ入力部２より入力された印刷データを定められた記述言語のシンタックスに従ってトークンとして切り出し、そのトークンを中間データ生成部３２に出力するものである。
【００３３】
中間データ生成部３２は、字句解析部３１から出力されるトークンを受け取って解釈し、描画命令を実行し、各描画命令に対する台形を基本単位としたデータを生成し、それらを中間データとして中間データ記憶部３３へ送る。中間データを生成する目的は、展開処理部４での高速な展開処理を可能にすることである。そのため、中間データは単純な図形（例えば台形）の集合で表されている。また、中間データには、展開処理に関する情報として展開処理部４の再構成可能展開部４０に書き込まれる構成データに対する識別子であるハードウェア構成ＩＤが付加される。中間データ記憶部３３は送られてきた中間データを記憶し、必要に応じて展開処理部４から読み出される。
【００３４】
展開処理部４は、変換処理部３に記憶された中間データをバンド単位に読み出し、展開処理部４内のバンドバッファメモリに印字データを作成する。ここで作成された印字データは展開処理部４内の２つのバンドバッファメモリに交互に蓄積される。尚、後述するように本実施例で利用される出力部５は、カラーページプリンタであり、バッファメモリに交互に蓄積される印字データは出力部５で印字している記録色の印刷データに対応している。続いて、バンドバッファメモリに蓄積された印字データは、出力部５の印字データ要求に応じて、出力部５に交互に出力される。
【００３５】
出力部５は、展開処理部４のバンドバッファメモリから出力される印字データを受け取って、記録用紙に印字し出力するものである。更に、詳しくは、Ｃ、Ｍ、Ｙ、Ｂｋ（シアン、マゼンタ、イエロー、ブラック）カラーの色毎に露光、現像、転写を繰り返すことによりフルカラー画像を出力できるレーザー走査方式の電子写真方式を用いたカラーページプリンタである。
【００３６】
ここで、一般的なレーザー走査方式の電子写真方式を用いたカラーページプリンタの構成及び動作について、図２に基づき説明する。図２において、ビデオインターフェース５０は、展開処理部４から順次送られてくるＣ、Ｍ、Ｙ、Ｂｋの色情報に対応した印刷データを図示されない半導体レーザの点灯を制御するドライバーへ入力して光信号に変換する。半導体レーザ走査装置５１は、赤外半導体レーザ５１０、レンズ５１１、ポリゴンミラー５１２より構成され、数十μｍのスポット光となって感光体ドラム５２を走査する。感光体ドラム５２は、帯電器５３により帯電されており、光信号により、静電潜像が形成される。潜像はロータリー現像器５４上の２成分磁気ブラシ現像によりトナー像となり、転写ドラム５５上に吸着させた用紙上に転写される。感光体ドラム５２は、クリーナー５６で余分のトナーがクリーニングされる。この工程をＢｋ、Ｙ、Ｍ、Ｃの順に繰り返し、用紙上に多重転写する。最後に、転写ドラム５５から用紙を剥離し、定着器５７でトナーを定着する。
【００３７】
次に上述した構成を有する印刷処理装置における印刷データの流れについて整理する。印刷データ作成部１で作成された印刷データは、印刷データ入力部２を介して、変換処理部３の字句解析部３１に入力される。字句解析部３１において印刷データから切り出されたトークンは、中間データ生成部３２に入力される。中間データ生成部３２は、そのトークンを解釈して、バンド単位に分割した中間データを生成する。このとき中間データは、台形集合を基本としたデータにどのバンドに属しているのかのバンドＩＤ、画像、文字または図形等の種類、描画の属性、台形集合に対する外接矩形およびハードウェア構成ＩＤが付加されたものである。そして、中間データは中間データ記憶部３３にバンド単位に１ページ分記憶される。
【００３８】
一方展開処理部４は、変換処理部３から入力される中間データに付加されたハードウェア構成ＩＤによって、必要に応じて構成データ管理部４２から構成データを取得し、再構成制御部４１の制御により、再構成可能展開部４０における再構成可能回路の機能を書き換える。また、展開処理部４では、中間データを受け取って出力部５で最初に記録される印字データでバンドバッファメモリが満たされるまで展開処理が行われる。出力部５のサイクルアップまたは出力準備が完了すると、バンドバッファメモリから出力部５に、出力部５の記録速度に応じて印字データが１ライン毎に転送され、印字が行われる。１つのバンドバッファメモリの印字データが印字されている間に、片側のバンドバッファメモリが印字データで満たされるまで展開処理が実行される。展開処理部４における中間データから印字データへの展開及び出力部５での印字は、１ページ分の印刷データが処理されるまで、色毎に、あるいは４色同時に繰り返される。さらに、上記印刷データが複数ページで構成される場合は、全ページの出力が終了するまで繰り返される。
【００３９】
以上、本発明の印刷処理装置の概要について記述した。次に、この印刷処理装置の主要部の詳細について説明する。
【００４０】
初めに、中間データ生成部３２、および中間データ記憶部３３について詳細を説明する。
【００４１】
中間データ生成部３２は、図３に示すように、トークン解釈部３１０と、命令実行部３１１、画像処理部３１２、描画状態記憶部３１３、ベクターデータ生成部３１４、フォント管理部３１５、マトリックス変換部３１６、ショートベクター生成部３１７、台形データ生成部３１８、および、バンド分解管理部３１９から構成される。
【００４２】
トークン解釈部３１０は、字句解析部３１から入力されたトークンを解釈し、内部命令に変換して命令実行部３１１へ送る。命令実行部３１１は、トークン解釈部３１０から送られてきた内部命令に応じて画像処理部３１２、描画状態記憶部３１３、ベクターデータ生成部３１４へそれぞれ転送する。画像処理部３１２は、入力された画像ヘッダと画像データをもとに各種の画像処理を行って出力画像ヘッダと出力画像データを生成し、バンド分解管理部３１９へ転送する。描画状態記憶部３１３は、命令実行部３１１の命令によって与えられる描画に必要な情報を保持する。ベクターデータ生成部３１４は、命令実行部３１１の命令と該命令に付加された情報、描画状態記憶部３１３からの情報、フォント管理部３１５からの情報を使用して描画すべきベクターデータを生成し、マトリックス変換部３１６へ転送する。フォント管理部３１５は、各種フォントのアウトラインデータを管理記憶し、要求に応じて文字のアウトラインデータを提供する。マトリックス変換部３１６は、ベクターデータ生成部３１４から入力されたベクターデータを描画状態記憶部３１３の変換マトリックスによってアフィン変換し、ショートベクター生成部３１７へ転送する。ショートベクター生成部３１７は、入力されたベクター中の曲線に対するベクターを複数の直線のベクター集合（ショートベクター）で近似し、台形データ生成部３１８へ送る。台形データ生成部３１８は、入力されたショートベクターから描画する台形データを生成して、バンド分解管理部３１９へ転送する。バンド分解管理部３１９は、入力された台形データのうち複数のバンドにまたがる台形データをそれぞれのバンドの台形データに分割し、さらに、バンド単位に分割された台形データに対して、どのバンドに属するかを表すバンドＩＤと、バンド単位に分割された台形データ集合に対する外接矩形と、データ管理情報と描画状態記憶部３１３から入力された色情報、または、画像処理部３１２から入力された画像データと、展開処理情報であるハードウェア構成ＩＤを付加して、中間データ記憶部３３へ送る。
【００４３】
中間データ記憶部３３は、バンド単位で、中間データ生成部３２が出力する中間データを１ページ分記憶する。なお、上記に説明したトークン解釈部３１０からバンド分解管理部３１９までの処理は、描画命令が入力されるたびに繰り返し行われる。そして、中間データ生成部３２からの中間データ記憶部３３までの処理は、場合によっては、バンド単位あるいはページ単位で行われる。中間データ記憶部３３から展開処理部４への中間データの転送は、１ページ分の中間データが記憶された後に行われる。
【００４４】
以下では、実際のデータ構造を示しながら、中間データ生成部３２、および中間データ記憶部３３の各部の動作をより詳細に説明する。
【００４５】
トークン解釈部３１０は、字句解析部３１から入力されたトークンを解釈し、内部命令やその引数に変換し、それら内部命令と引数の組を命令実行部３１１へ転送する。例えば内部命令には、文字／図形／画像の描画を実行する描画命令や、色や線属性など描画必要な情報を設定する描画状態命令などがある。
【００４６】
命令実行部３１１は、トークン解釈部３１０から送られてきた内部命令を実行する。ここで実行する命令は、主に描画命令と描画状態命令がある。例えば描画命令には、表１に示すように３種類の描画命令があり、それぞれの描画に必要な情報が示されている。このうちアンダーラインがある情報については、描画命令中の引数として与えられ、その他の情報は予め初期設定や先行する命令などにより描画状態記憶部３１３に記憶されている。描画命令の実行は、画像描画以外は受け取った描画命令をそのままベクターデータ生成部３１４へ転送する。画像描画の場合は、受け取った描画命令を画像処理部３１２へ転送するとともに、画像ヘッダの縦と横の大きさをベクターデータ生成部３１４へ転送する。また描画状態命令については、命令を描画状態記憶部３１３へ転送する。
【００４７】
【表１】
0003834935.tif 000002
【００４８】
画像処理部３１２は、命令実行部３１１から入力された命令の引数である入力画像ヘッダと入力画像データを受け取り、ヘッダに付加された圧縮ＩＤをみて、もし、圧縮された画像が入力された場合には、圧縮を伸長し、描画状態記憶部３１３から獲得した変換マトリックスを使ってアフィン変換する。さらに、場合によっては、処理後の画像を圧縮し、出力画像ヘッダと出力画像データを生成してバンド分解管理部３１９へ転送する。この圧縮にはもともとＰＤＬ側で画像データを圧縮していた圧縮方式を使用するのが通常だが、必ずしもそのようにする必要はない。例えばＰＤＬ側でＤＴＣで圧縮されていた場合、それをＤＴＣで圧縮してもよいし、ＬＺＷ（Ｌｅｍｐｅｌ  Ｚｉｖ  ＆  Ｗｅｌｃｈ）で圧縮してもよい。また圧縮を行わなくてもよい。また実行されるアフィン変換では、中間データバッファのメモリを削減するために、特別に出力装置の解像度より小さい解像度用にアフィン変換しておいてもよい。
【００４９】
描画状態記憶部３１３は、命令実行部３１１から受け取った命令に含まれる引数の値で、例えば表１に示したアンダーラインの無い情報についての値の設定を行い、それらを記憶する。また、画像処理部３１２、ベクターデータ生成部３１４、マトリックス変換部３１６、ショートベクター生成部３１７、台形データ管理部３２０などの要求に従って、それらの値を転送する。
【００５０】
ベクターデータ生成部３１４では、命令実行部３１１から送られてきた命令と引数、および描画状態記憶部３１３の値を使用して、塗りつぶし描画を除く、新たに描画するためのベクターデータを生成する。まず文字描画の場合について説明する。引数で与えられた文字コードと描画状態記憶部から獲得したフォントＩＤをフォント管理部へ転送して、文字のアウトラインデータを獲得する。獲得したアウトラインデータには、描画原点（カレントポイント）の情報が含まれていないので、描画状態記憶部３１３から獲得したカレントポイントのオフセットをアウトラインデータに加えることによって、目的のベクターデータを生成する。画像描画の場合には、引数で与えられた画像ヘッダの縦と横のサイズから、そのサイズに対する矩形ベクターを生成し、描画状態記憶部３１３から獲得したカレントポイントのオフセットを加えることで目的のベクターデータを生成する。ストローク描画の場合は、引数で与えられたベクターと描画状態記憶部３１３から獲得した各種の線属性から、図４に示すような太さを持った線のアウトラインベクターを生成する。このように生成したベクター（塗りつぶし描画の場合は命令実行部３１１から直接受け取ったベクター）を、マトリックス変換部３１６へ転送する。
【００５１】
フォント管理部３１５は、各種フォントに対するアウトラインベクターデータを記憶するとともに、与えられた文字コードとフォントＩＤによって、その文字に対するアウトラインベクターデータを提供する。
【００５２】
マトリックス変換部３１６は、ベクターデータ生成部３１４から受け取ったベクターデータを、描画状態記憶部３１３から獲得した変換マトリックスによってアフィン変換する。このアフィン変換の主な目的は、アプリケーションの解像度（座標系）からプリンタの解像度（座標系）に変換するためのものである。変換マトリックスには下式（１）に示すような３ｘ３のものが使われ、入力ベクターデータ（Ｘｎ，Ｙｎ）は、出力ベクターデータ（Ｘｎ’，Ｙｎ’）に変換されてショートベクター生成部３１７へ送られる。
【００５３】
【数１】
0003834935.tif 000003
【００５４】
ショートベクター生成部３１７は、入力されたベクターの中に曲線のベクターがある場合に、その曲線のベクターを、誤差が描画状態記憶部３１３から獲得したフラットネス（ｆｌａｔｎｅｓｓ）値より小さくなるように、複数のショートベクターで近似する処理を行う。例えば曲線のベクターには、図５に示す４つの制御点で表現されるベジエ曲線が使われる。この場合ショートベクター化の処理は、図５に示す通りベジエ曲線を再帰的に分割し、高さ（距離ｄ）がフラットネスで与えられた値より小さくなった時点で分割を終了する。そして分割された各ベジエ曲線の始点と終点を順番に結ぶことにより、ショートベクター化が完了する。生成されたショートベクターは、台形データ生成部３１８へ送られる。
【００５５】
台形データ生成部３１８は、入力されたベクターデータから、描画領域を示す台形データ（三角形の場合もあるがデータ構造は台形と同じである）の集合を生成する。例えば図６（ａ）に示す太線で示された多角形のベクターは、４つの台形により描画領域が示される。尚、この台形は出力装置のスキャンラインに平行な２辺を持った台形であり、１つの台形は図６（ｂ）に示すように（ｓｘ，ｓｙ，ｘ０，ｘ１，ｘ２，ｈ）の６つのデータで表現される。生成された台形は、バンド分解管理部３１９へ送られる。
【００５６】
バンド分解管理部３１９は、入力された台形データのうち複数のバンドにまたがる台形データをバンド毎の台形データに分割する。例えば図７では、４つの台形データがバンド分解部によって６つの台形データに分割される。さらに、バンド毎に入力された台形データに付加情報をつけて中間データを生成する。付加情報は、中間データを管理するための管理情報、展開処理部４で処理する内容を表すハードウェア構成ＩＤおよび台形データを何色で塗りつぶすかを示す色情報である。文字／図形の描画命令に対する管理情報は、どのバンドに属するかを示すためのバンドＩＤ、オブジェクトＩＤ、オブジェクトの種類、台形数のデータ、およびその台形データ集合に対する外接矩形データである。オブジェクトＩＤとは、１回の描画命令に対して割り当てられる識別番号であり、オブジェクトの種類とは、文字、図形、または、画像など描画される対象に対する識別データである。また、ハードウェア構成ＩＤは、展開処理部４での処理を示すＩＤであり、色情報は例えばＣ、Ｍ、Ｙ、Ｂｋの値である。
【００５７】
これらの付加情報は、図８（ａ）に示すように、描画命令によって生成されたバンド毎の台形データの前に付加される。このように、オブジェクトは、一組の描画属性が付加された複数の台形データによって構成される。また、中間データは、このようなオブジェクトに対するデータの集合である。画像の描画命令に対する管理情報は文字／図形と同じであるが、画像ヘッダと画像データは、色情報の代替となる。また図８（ｂ）に示すように、画像ヘッダと画像データは、描画命令によって生成されたバンド毎の台形データそれぞれに対して１つずつ付加される。
【００５８】
画像ヘッダと画像データは画像処理部３１２から入力されるが、中間データとして付加される画像データは、図９に示すように変換された画像を示すベクターの最小矩形に対する画像データであってもよいし、各台形毎の最小矩形に対する画像データであってもよい。さらに画像データは容量が大きくなるため、圧縮された形で格納されていてもよい。画像ヘッダは、画像の大きさを表すパラメータの他に、色変換の処理の種類や、圧縮方式の種類も含んでいる。
【００５９】
最後に、ハードウェア構成について説明する。ハードウェア構成ＩＤは、展開処理部４により実行される処理に応じたコード情報であり、表２のような処理を意味する。これらは、再構成可能ハードウェアの規模と実行される処理内容に応じて、中間データ生成部３２において、実際の再構成可能展開部４０の回路構成と１対１に対応する構成ＩＤとして中間データに付加される。
【００６０】
【表２】
0003834935.tif 000004
【００６１】
中間データ生成部３２が出力するデータは、中間データ記憶部３３へ送られ、中間データ記憶部３３でバンドＩＤを解釈して、バンド毎にまとめて記憶される。また、字句解析部３１でページの出力コマンドを解釈すると、ＥＯＰ（ＥｎｄＯｆ  Ｐａｇｅ）が中間データ生成部３２を経由して、中間データ記憶部３３へ送られ、中間データ記憶部３３に記憶された各バンドの最終データには、ＥＯＤ（Ｅｎｄ  Ｏｆ  Ｄａｔａ）を表すデータを付加され、バンドデータの終了を明確にしている。このＥＯＰは、展開処理部４にも送られ、展開処理部４の処理を起動する。
【００６２】
次に、展開処理部４について詳細に説明する。図１０に、再構成可能展開部４０のブロック図を示す。変換処理部３で生成されたバンド毎の中間データは、中間データ転送制御部４０１により読み込まれ、メモリ部４０２の入力バッファＡ４０２−１あるいは入力バッファＢ４０２−２へ書き込まれる。再構成ハードウェア部４０３は、入力バッファＡ４０２−１あるいはバンドバッファＢ４０２−２から中間データを読み込んで、展開してバンドバッファＡ４０２−３あるいはバンドバッファＢ４０２−４へ描画する。印字データ転送制御部４０４は、描画済みのバンドバッファＡ４０２−３、あるいはバンドバッファＢ４０２−４から展開された印字データを読み込み、これを読み込んだワード毎にシリアル変換して、シリアル出力クロック信号に同期して出力部５へ出力する。リフレッシュ制御部４０５は、入力バッファＡ４０２−１、入力バッファＢ４０２−２、バンドバッファＡ４０２−３、バンドバッファＢ４０２−４、ワーク領域４０２−５からなるメモリ部４０２のリフレッシュを制御する。アービトレーション部４０６は、リフレッシュ制御部４０５、中間データ転送制御部４０１、印字データ転送制御部４０４、再構成ハードウェア部４０３、再構成制御部４１それぞれがメモリ部４２をアクセスする際に、それぞれのブロックに割り当てられたアクセスのプライオリテイに応じてアービトレーション制御を行う。
【００６３】
入力バッファとバンドバッファの使用方法について説明する。図１１（ａ）及び図１１（ｂ）はそれぞれ、入力バッファＡと入力バッファＢに中間データを入力中の、各バッファの使用状態を示すものである。図１１（ａ）においては、バンドｉに対応する中間データを入力バッファＡに入力中であり、入力バッファＢには既にバンド（ｉ−１）に対応する中間データが入力済みである。再構成ハードウェア部４０３は入力バッファＢに蓄えられた中間データを読み出して、これを展開して、バンドバッファＢに描画する。バンドバッファＡには、バンド（ｉ−２）に対応する中間データを展開描画した結果の印字データが蓄えられており、印字データ転送制御部４０４はこれを出力部５に読み出している。
【００６４】
図１１（ｂ）においては、バンド（ｉ＋１）に対応する中間データを入力バッファＢに入力中であり、入力バッファＡには既にバンドｉに対応する中間データが入力済みである。再構成ハードウェア部４０３は、入力バッファＡに蓄えられた中間データを読み出してこれを展開し、バンドバッファＡに描画する。バンドバッファＢには、バンド（ｉ−１）に対応する中間データを展開描画した結果の印字データが蓄えられており、印字データ転送制御部４０４はこれを出力部５に読み出している。
【００６５】
ワーク領域４０２−５は、展開処理部４が変換処理部３から入力した中間データを展開するときに、必要に応じて一時的なワーク領域として用いられる。
【００６６】
再構成可能展開部４０における変換処理部３が出力した中間データを展開する手順を説明する。再構成制御部４１は、入力バッファからハードウェア構成ＩＤとオブジェクトＩＤとを入力して、図１２に示すフローチャートに従って再構成ハードウェア部４０３を制御する。再構成制御部４１が行う処理は、図１２に示すＳ１からＳ７の７つのステップからなる。まず、Ｓ１において次に処理するオブジェクトのハードウェア構成ＩＤが直前に処理したハードウェア構成ＩＤと同じであるかどうかを調べる。同じであれば、構成データを再構成ハードウェア部４０３に新たに書き込む必要はないので、Ｓ５の処理に移る。違う場合には、Ｓ３において、ハードウェア構成ＩＤに基づいて、構成データ管理部４２から構成データを読み出して、Ｓ４において、当該構成データを再構成ハードウェア部４０３に書き込む。Ｓ５において、再構成ハードウェア部４０３に、処理するオブジェクトおよび処理の開始を知らせるための開始信号を送る。Ｓ６において、再構成ハードウェア部４０３での処理が終わるまで待つ。Ｓ７において、現在処理中のバンドにさらに処理すべきオブジェクトがあるかどうかを調べる。あれば、Ｓ１に戻り、なければ終了する。
【００６７】
図１３に構成データ管理部４２の構成を示す。変換テーブル４２１は、ハードウェア構成ＩＤを入力して、構成コード記憶領域４２２の開始アドレスとデータ長を出力するテーブルである。構成コード記憶領域４２２は、実際のハードウェア構成ＩＤに対する構成データが記憶される領域で、各エントリーは可変長である。制御部４２３は、読み出し制御部４２３−１と、追加更新部４２３−２とからなる。読み出し制御部４２３−１は、再構成制御部４１から読み出し信号とハードウェア構成ＩＤを入力して、変換テーブル４２１に当該ハードウェア構成ＩＤを出力することにより、構成データの構成コード記憶領域４２２上のアドレスとデータ長を入力する。次に、読み出し制御部４２３−１は、係るアドレスを構成コード記憶領域４２２に出力して、データ長分のハードウェア構成ＩＤに対応する構成データを構成コード記憶領域４２２から読み出して、再構成制御部４１に出力する。追加更新部４２３−２は、図示されていないホスト計算機などを経由して送られる構成データを追加または更新するための制御部で、変換テーブル４２１のエントリと構成コード記憶領域４２２の構成データを追加したり、削除したり、または更新したりする。構成コード記憶領域４２２には、単一の機能を処理するさまざまな回路構成に対応した構成データ、同一の機能が複数個ある並列的な回路構成に対応した構成データ、異なる機能が複数個あるパイプライン的な回路構成に対応した構成データを備えている。
【００６８】
次に、再構成ハードウェア部４０３の具体的な構成と処理内容について例をあげて説明する。再構成ハードウェア部４０３は、構成データ管理部４２が管理記憶する構成データを再構成制御部４１の制御により書き込むことにより、機能を変えることができる処理ブロックである。典型的には、再構成ハードウェア部４０３は、ＸＩＬＩＮＸ社のＦＰＧＡあるいは同等の構成要素によって構成される。
【００６９】
図１４は、ＦＰＧＡを用いて構成された再構成ハードウェア部４０３を示す。図１４において、再構成ハードウェア部４０３は、制御部４６１０、ＦＰＧＡユニット４６２０、およびレジスタ群４６３０を含んで構成される。レジスタ群４６３０は、構成データ管理部４２から送られてくる構成データを記憶するものである。ＦＰＧＡユニット４６２０の機能は、レジスタ群４６３０に保持されている構成データによって決定される。制御部４６１０は、レジスタ群４６３０のデータの入出力や、ＦＰＧＡユニット４６２０の動作タイミングを制御するものである。
【００７０】
ＦＰＧＡユニット４６２０は、図１５に示すように、複数の論理ブロック４６２１、複数のクロスポイントスイッチ４６２２および複数のスイッチマトリックス４６２３を含んで構成される。論理ブロック４６２１は、図１６に示すようにルックアップテーブル４６２１Ａ、セレクタ４６２１Ｂ、およびフリップフロップ４６２１Ｃを含んで構成される。ルックアップテーブル４６２１Ａには、所望の真理値表が実装されている。このルックアップテーブル４６２１Ａの真理値表およびセレクタ４６２１Ｂの切り替え入力信号は、レジスタ群４６３０に保持されている値、すなわち構成データの一部によって決定される。また、クロスポイントスイッチ４６２２およびスイッチマトリックス４６２３は、それぞれ図１７および図１８に示すように構成することができる。
【００７１】
再構成ハードウェア部４０３は、図１４で示すＦＰＧＡに限らず、例えば複数の演算処理装置（算術論理演算ユニット）を設け、各演算処理装置の入出力のフローを切り替え装置で制御するように構成してもよい。この場合、例えば図１５の論理ブロック４６２１として演算処理装置を配置すればよい。また、クロスポイントスイッチ４６２２やスイッチマトリックス４６２３のかわりに単純なゲートを用いるようにしてもよい。
【００７２】
再構成ハードウェア部４０３の機能を表す機能ブロック図は、書き込まれる構成データによって可変である。図１９において、再構成ハードウェア部４０３の構成および動作を説明する。図１９において４０３−１は、ハードウェア構成ＩＤがＣｏｄｅ  Ａに対応する処理回路であり、４０３−２は、ハードウェア構成ＩＤがＣｏｄｅ  Ｇに対応する処理回路である。処理回路４０３−１の内部構成は、台形描画回路４６１とスクリーン処理回路４６２とからなる。処理回路４０３−２の内部構成は、画像伸長回路４８１、解像度変換回路４８２、色変換回路４８３、台形描画回路４８４、およびスクリーン処理回路４８５とからなる。再構成ハードウェア部４０３は、２個の処理回路４０３−１および３個の処理回路４０３−２からなる回路構成のように、同一の機能が複数個ある回路構成や、異なる機能が複数個ある回路構成による並列処理が可能である。また、処理回路４０３−２の内部構成のように、複数個の異なる機能間で入出力データをパイプライン的にやりとりするパイプライン的な動作も可能である。ハードウェア構成ＩＤがＣｏｄｅ  Ａに対応する処理回路４０３−１とハードウェア構成ＩＤがＣｏｄｅ  Ｇに対応する処理回路４０３−２のさらに詳細な構成と動作について説明する。
【００７３】
（ｉ）ハードウェア構成ＩＤがＣｏｄｅ  Ａに対応する処理回路
処理回路４０３−１は、変換処理部３が生成した、図形に対する中間データを処理する。台形描画回路４６１は、入力した中間データをなす台形データ（ｓｘ，ｓｙ，ｘ０，ｘ１，ｘ２，ｈ）を、図２０に示されるような４点からなるデータ形式に変換して台形領域を描画する。図２１に、台形描画回路４６１のブロック図を示す。中間データ入力部４６３は、入力バッファから１つ１つの台形をなすデータを読み込んで、座標計算部Ａ４６４および座標計算部Ｂ４６５に台形データを出力する。座標計算部Ａ４６４は、台形の左側のエッジ（図２０のエッジＰ０Ｐ１）の座標計算を担当し、エッジ上の座標値をＰ０からＰ１に向かって順に出力する。座標計算部Ｂ４６５は、台形の右側のエッジ（図２０のエッジＰ２Ｐ３）の座標計算を担当し、エッジ上の座標値をＰ２からＰ３に向かって順に出力する。エッジ描画部４６６は、座標計算部Ａ４６４及び座標計算部Ｂ４６５から入力される座標値により、台形のｘ軸に平行な直線を描画する。
【００７４】
図２２は、座標計算部Ａ４６４および座標計算部Ｂ４６５の機能ブロック図を示したものである。入力された台形データ（ｓｘ，ｓｙ，ｘ０，ｘ１，ｘ２，ｈ）はＤＤＡパラメータ計算部４６７で４点の台形データ（Ｐ０，Ｐ１，Ｐ２，Ｐ３）に変換されて、傾きや残差の初期値などのＤＤＡのパラメータを計算し、ＤＤＡ処理部４６８に出力する。ＤＤＡ処理部４６８は、入力されたパラメータに基づいてＤＤＡ処理を行い、最後に求めた点に対する移動方向と移動量を出力する。座標更新部４６９は、入力された移動方向と移動量から現在保持している座標値を更新して出力する。座標の初期値は、中間データ入力部４６３によって設定される。
【００７５】
図２３は、エッジ描画部４６６のブロック図である。エッジ描画部４６６は、座標値Ａ／Ｂ及び画像データを入力して台形の内部領域を塗りつぶす。アドレス計算部４７０は、座標値Ａ／Ｂを入力して、描画するエッジ成分のアドレスを計算する。マスク演算部４７１は、座標値Ａ／Ｂの値を入力して、描画するワード中の有効なビットを表すマスクを出力する。データ演算部４７２は、固定的な色を表す色データを入力し、この値をワード分に展開してスクリーン処理回路に出力し、スクリーン処理した結果をＲｍｏｄＷ部４７３に出力する。ＲｍｏｄＷ部４７３は、入力されたアドレス、マスク、データを用いて以下の処理をすることにより描画を行う。まず、アドレスにより、バンドバッファからのデータを読み込む。これにより読み込まれたデータをＳｏｕｒｃｅ、マスクデータをＭａｓｋ、描画データをＤａｔａとすると、（Ｍａｓｋ＊Ｄａｔａ＋Ｍａｓｋ＃＊Ｓｏｕｒｃｅ）の値を演算して同一アドレスに書き戻す。ただし、＊は論理積、＋は論理和、＃は論理否定をそれぞれ表す。この処理は、描画するエッジが含まれるワード毎に繰り返し行われる。
【００７６】
また、スクリーン処理回路４６２は、最終的なガンマ補正とハーフトーンを行うための処理であり、図形を出力する場合に最適化したスクリーンパターンが設定されている。ハードウェア構成ＩＤがＣｏｄｅ  Ｂの場合には、スクリーン処理が値最終的なガンマ補正と、ハーフトーンを行うための処理であり、文字を出力する場合に最適化したスクリーンパターンが設定されている。
【００７７】
（ｉ）ハードウェア構成ＩＤがＣｏｄｅ  Ｇに対応する処理回路
処理回路４０３−２は、中間データが画素ごとに色の異なる画像を入力し、表２のＣｏｄｅ  Ｇによって表される画像処理を行う。以下に画像処理の組み合わせが画像伸長処理、解像度変換、色空間変換、台形描画、およびスクリーン処理である場合の処理回路を説明する。
【００７８】
（伸長処理回路４８１）
入力された中間データである画像が、圧縮されており、伸長処理を要する場合には、伸長処理回路４８１は中間データをＪＰＥＧ等のアルゴリズムにより、伸長処理する。図２４に、伸長処理回路４８１の機能ブロック図を示す。中間データ入力部４８１−１は現在入力中の入力バッファから圧縮された画像データである中間データを入力する。ハフマン復号化部４８１−２は内臓されているハフマン復号化テーブルをもとに圧縮データをデコードする。逆量子化部４８１−３は、ハフマン復号化部４８１−２から入力されるデータを、内臓されている量子化テーブルをもとに、逆量子化して出力する。逆ＤＣＴ部４８１−４は、逆量子化部４８１−４から入力されるデータを、逆ＤＣＴ変換式によって変換して出力する。書き込み部４８１−５は逆ＤＣＴ部によって復号化された画像データをワーク領域４０２−５に書き込む。
【００７９】
（解像度変換回路４８２）
図２５に、解像度変換回路４８２の機能ブロック図を示す。画素データ入力部４８２−１は伸長処理した結果が書き込まれたワーク領域４０２−５から画素データを読み出す。画素の読み出しは、解像度変換式（１）の逆変換によって現在計算を行なっている画素の補間に必要な入力画素のみを読み出す。補間処理部４８２−２では、入力された画素データから変換後の画素の輝度をそれぞれの色成分について補間する。補間アルゴリズムは線形補間法により行なう。画素アドレス計算部４８２−３では、現在計算中の画素の座標からワーク領域４０２−５の書き込みアドレスを計算する。書き込み部では、画素アドレスと補間データをもとに新しい画素の値を書き込む。ワーク領域４０２−５において、入力画像と出力画像が割り当てられている領域は異なる領域である。
【００８０】
（色空間変換回路４８３）
図２６に、色空間変換回路４８３の機能ブロック図を示す。色空間変換は、ＲＧＢ空間の入力画像を印刷色であるＣＭＹＫ空間への変換を行なう。画素データ入力部４８３−１は、アフィン変換された結果を格納するワーク領域４０２−５上の画素データを１画素毎に入力する。テーブル変換部４８３−２はＲＧＢ画像データを入力して、ＣＹＭＫ各色の画像データを出力する。本実施例ではＣＭＹＫ色を色毎に処理するので、一度に１色の変換テーブルしか必要としない。４色同時に処理したい場合には、４色分の変換テーブルを内蔵する。また、変換テーブルはテーブル変換部４８３−２内に内臓され、テーブルの容量を削減するためにＲＧＢ各色につき９点の代表点をテーブルのアドレスとして持ち、さらに詳細なアドレス部による変換の値は次の補間処理部４８３−３で行なう。補間処理部４８３−３では、変換するＲＧＢ色空間の１点を囲む６点の代表点から３次元での線形補間処理により、詳細な変換値を求める。この過程を示したものが、図２７である。変換したいＲＧＢ空間の点Ｐに対して、テーブル変換部４８３−２で点Ｐを囲む３角柱の頂点となるような６点（ａ，ｂ，ｃ，ｄ，ｅ，ｆ）の変換値をルックアップテーブルで求め、これをもとに線形補間を行なう。書き込み部４８３−４は画素データ入力部４８３−１が入力した同一アドレスに変換結果を上書きする。
【００８１】
（台形処理回路４８４）
画像データを台形領域に描画するための台形描画回路４８４の構成は、基本的に、図２１に示した文字及び図形の台形処理のための機能ブロックと同じである。台形領域への画像の貼り付けは、図８（ｂ）に示したようになる。このとき、図２１での画像の描画に特有の相違点は、中間データ入力部４６３は、画像データをワーク領域４０２−５から入力し、エッジ描画部４６６に画像データを出力する。台形データを表す中間データは入力バッファから入力する。エッジ描画部４６６は、文字及び図形の場合と同様に、現在出力中のバンドバッファに出力画像を書き込む。
【００８２】
（スクリーン処理回路４８５）
スクリーン処理は、データとして保持している１色あたりの色数が、プリンタで表現できる１色あたりの色数より多い場合に、プリンタで表現できる色数の色値に変換すための処理である。この代表的な処理は、ハーフトーン処理と呼ばれ、ハーフトーンマトリックスというＮｘＭの閾値データを持ち、そのデータと画像データを色ごとに比較して、プリンタの色ごとの色値を決定するというものである。例えば１色あたり１ｂｉｔのプリンタに１色あたり８ｂｉｔで表現された画像データを処理する場合、ＮｘＭの閾値データのハーフトーンマトリックスには、０から２５５までの任意の値が記憶されている。そして実際の画像データの値とその画像の位置によって決まるハーフトーンマトリックス閾値データとを比較して、もし画像データのほうが大きければ、そのピクセルを印字する色値を出力して、そうでなければ、そのピクセルを印字しない色値を出力する。
【００８３】
以上が、処理するオブジェクトが画像データであり、展開処理ＩＤがＣｏｄｅＧに対応する処理の組み合わせ、すなわち、伸長処理、解像度変換、色空間変換、台形処理、スクリーン処理に対応した処理回路４０３−２の構成および当該処理回路４０３−２が行なう処理内容である。
【００８４】
再構成ハードウェア部４０３はアービトレーション部４０６を通じてメモリとの間で入出力を行ない展開結果をバンドバッファに格納する。
【００８５】
上記では、中間データ生成の処理を中間データ生成部３２で処理するように説明したが、この中間データ生成処理を、展開処理部４のハードウェア構成を変えることによって再構成可能展開部４０に実行させることも可能である。
【００８６】
これを図２８を使って説明する。例えば、中間データ生成部の命令実行部３１１に入力されたＬＺＷ圧縮された画像は、従来、画像処理部３１２によってＬＺＷで伸長し、マトリックス演算を行い、ＬＺＷで圧縮してバンド分解管理部３１９へ送っていた。この処理を、画像処理部３１２に代わって展開処理部４の持つ再構成可能展開部４０によって行わせるというものである。このような処理を行う再構成データをハードウェア構成ＩＤとともに構成データ管理部４１にあらかじめ登録しておき、画像処理部３１２に処理する画像が入力されたら、画像処理部３１２が処理の内容を解釈して、再構成可能展開部４０へハードウェア構成ＩＤによって、構成データ管理部から構成データを取得して、内部の再構成可能ハードウェアを再構成する。その後画像処理の手順に従って、送られてきた入力画像データを再構成可能ハードウェアを使って処理して、その処理結果として作成された画像データを画像処理部３１２へ送り返す。このような構成によって、再構成可能展開部４０の再構成可能資源を有効利用することができる。
【００８７】
このように再構成可能展開部４０の際構成ハードウェア部４０３をハードウェアクセラレータとして使用する場合において、処理すべき画像命令がある画像データに対して復数の画像処理を適用するものであり、再構成ハードウェア部４０３が並列動作するときの再構成制御部４１について以下に説明する。
【００８８】
再構成ハードウェア部４０３がハードウェアクセラレータとして使用される場合、画像処理部３１２において図２９のデータ形式で画像命令が構成され、当該画像命令は、画像処理部３１２から再構成展開部４０に転送される。図２９は、一組の画像ヘッダおよび画像データに対して複数の画像処理に対応するハードウェア構成ＩＤを含む画像命令を示している。以下、一つの画像処理に対応するハードウェア構成ＩＤまたは、二つ以上の画像処理に対応するハードウェア構成ＩＤの並びを画像処理列と呼ぶことにする。例えば、特定の画像データの一部を切り出し、切り出された画像データのガンマ補正をするカラーマップ変更処理を行い、カラーマップが変更された画像データの２倍の拡大処理を行い、さらに拡大された画像データの画素値を反転する画像命令に対応する画像処理列は、クリップ、ガンマ補正、（カラーマップの変更）、拡大、反転の構成データに対応するハードウェア構成ＩＤ、すなほち、Ｃｏｄｅ  Ｈ、Ｃｏｄｅ  Ｉ、Ｃｏｄｅ  Ｋを含むものである（表２参照）。
【００８９】
図３０は、再構成制御部４１の構成例を示したものである。再構成制御部４１は、画像処理列入力部４１１、画像処理列記憶部４１２、並列処理可能性判断部４１３、再構成データ選択部４１４、及び第２の並列処理可能性判断部４１５から構成される。画像処理列入力部４１１は、再構成展開部４０から画像命令のハードウェア構成ＩＤに対応するデータを読み込み、画像処理列記憶部４１２に転送する。画像処理列記憶部４１２は、画像処理列を記憶保持する。並列処理可能性判断部４１３および第２の並列処理可能性判断部４１５は、画像処理列記憶部４１２に保持された画像処理列の並列処理が可能か否かを判断する。再構成データ選択部４１４は、並列処理可能性判断部４１３または第２の並列処理可能性判断部４１５の並列可能性の判断結果に基づいて、再構成可能展開部４０の再構成ハードウェア部４０３に構成すべき構成データ管理部４２の構成データを選択する。
【００９０】
図３１は、画像処理列記憶部４１２および並列処理可能性判断部４１３の構成例を示したものである。画像処理列記憶部４１２は、いわゆるＦＩＦＯ型記憶メモリ４１２−１から構成される。また、並列処理可能性判断部４１３は、画像処理比較部４１３−１および並列処理可能性決定表４１３−２から構成される。
【００９１】
再構成制御部４１における画像処理列の画像処理の手続きは図３２に示すようになる。まず、ステップ８（Ｓ８）において、画像処理列入力部４１１から入力された画像処理列は、画像処理列記憶部４１２に転送される。
【００９２】
画像処理列記憶部４１２に転送された画像処理列は、次のステップ９（Ｓ９）において、内部のＦＩＦＯ型記憶メモリ４１２−１に入力された順に格納される。例えば、図２９に示す画像命令の場合、画像処理列は、Ｃｏｄｅ  Ｈ、Ｃｏｄｅ  Ｉ、Ｃｏｄｅ  Ｊ、Ｃｏｄｅ  Ｋ、の順番でＦＩＦＯ型記憶メモリ４１２−１に記憶保持される。
【００９３】
次に、ステップ１０（Ｓ１０）において、ＦＩＦＯ型記憶メモリ４１２−１の先頭のハードウェア構成ＩＤおよび２番目のハードウェア構成ＩＤが、それぞれ先行する画像処理および後続する画像処理として並列処理可能性判断部４１３に転送され、並列処理可能性の判断が行われる。一例として、先頭のハードウェア構成ＩＤおよび２番目のハードウェア構成は、初期状態において、Ｃｏｄｅ  Ｈ、およびＣｏｄｅ  Ｉであり、先行する画像処理および後続する画像処理は、それぞれクリップおよび色空間変換である。
【００９４】
次に、ステップ１１（Ｓ１１）において、再構成データ選択部４１４において、ステップ１０においてなされた並列画像処理可能性判断の結果に基づいて、それらの画像処理列（先行する画像処理もしくは後続する画像処理または両者の画像処理）に対応する処理回路によって、再構成ハードウェア部４０３が構成される。
【００９５】
最後に、ステップ１２（Ｓ１２）において、当該再構成ハードウェア部４０３において画像処理が実行される。
【００９６】
次に、例外処理について補足する。例外として、入力された画像処理列が、ただ一つの場合、つまり画像命令が単一のハードウェア構成ＩＤで構成される場合は、当然前述した後続する画像処理は存在せず、ＦＩＦＯ型記憶メモリ４１２−１の先頭のハードウェア構成ＩＤは、それのみが並列処理可能性判断部４１３に転送される。この場合は、並列処理可能性判断部４１３は、当該ハードウェア構成ＩＤの意味する画像処理の並列処理可能性を判断することなく、直ちに当該ハードウェア構成ＩＤを再構成データ選択部４１４へ転送する。再構成データ選択部４１４は、当該ハードウェア構成ＩＤに対応する所定の構成データによって再構成ハードウェア部４０３を構成し、係る再構成ハードウェア部４０３が画像処理を実行する。
【００９７】
図３３および図３４は、ともに並列処理可能性判断部４１３の内部の並列処理可能性決定表４１３−２の例を示した図である。以下、これらの図を使用して上述のステップ１０における画像処理列の並列処理可能性判断の手続について詳細に説明する。
【００９８】
並列処理可能性判断部４１３は、画像処理列比較部４１３−１および並列処理可能性決定表４１３−２から構成される。画像処理列記憶部４１２のＦＩＦＯ型記憶メモリ４１２−１から転送された前述の先行する画像処理および後続する画像処理は、当該画像処理列比較部４１３−１に入力される。この画像処理列比較部４１３−１は、先行する画像処理および後続する画像処理から構成される問い合わせデータを作成し、かつ該問い合わせデータを並列処理可能性決定表４１３−２に転送する。該並列処理可能性決定表４１３−２は、先行する画像処理、後続する画像処理およびそれらに関連する並列処理可能性データを結び付けるものである。画像処理列比較部４１３−１から当該問い合わせデータを受取った並列処理可能性決定表４１３−２は、問い合わせデータに関連する並列処理可能性データを再構成データ選択部４１４へ転送する。再構成データ選択部４１４は、当該並列処理可能性データに応じて、再構成ハードウェア部４０３を構成すべき構成データを選択する。
【００９９】
図３４は、先行する画像処理および後続する画像処理として、クリップ処理およびカラーマップ変更処理を意味するＣｏｄｅ  Ｈ、およびＣｏｄｅ  Ｉから係る問い合わせデータが構成されることを示している。
【０１００】
並列処理可能性判断部４１３の並列処理可能性決定表４１３−２による並列処理可能性判断は、問い合わせデータの内容、つまり先行する画像処理および後続する画像処理の内容によって以下の４つの場合に分類される。
【０１０１】
（ａ）先行する画像処理および後続する画像処理がともに画像データの位置に依存する画像処理である場合。
（ｂ）先行する画像処理が画像データの位置に独立な画像処理であり、後続する画像処理が画像データの位置に依存する画像処理である場合。
（ｃ）先行する画像処理画画像データの位置に依存する画像処理であり、後続する画像処理が、画像データの位置に独立な画像処理である場合。
（ｄ）先行する画像処理および後続する画像処理がともに画像データの位置に独立な画像処理である場合。
【０１０２】
図３３および図３４中の符号（ａ）ないし（ｄ）は、上記の符号に対応するものである。ここで、図３４のように画像データの位置に依存する画像処理としては、クリップ処理（特定領域の画像データの切り出し処理）等が考えられ、画像データの位置に独立な画像処理としては、カラーマップの変更処理等が考えられる。
【０１０３】
（ｂ）および（ｃ）の場合は、並列処理可能な場合、すなわち、先行する画像処理と後続する画像処理とを相異なる処理回路で同時に処理できる場合であり、並列処理可能性決定表４１３−２は、並列処理「可能」の並列処理可能性データを再構成データ選択部４１４に転送する。例えば、クリップ処理とカラーマップの変更とは、相異なる処理回路で並列処理することができる。このような場合には、図３６のようにＣｏｄｅ  ＨおよびＣｏｄｅ  Ｉに対応する構成データによって再構成ハードウェア４０３をＣｏｄｅ  Ｈ処理回路４０３−３およびＣｏｄｅ  Ｉ処理回路４０３−４で構成し、並列処理することができる。
【０１０４】
（ｄ）の場合は、並列処理不可能な場合、すなわち先行する画像処理と後続する画像処理とを相異なる処理回路で同時に処理できない場合であり、並列処理可能性決定表４１３−２は、並列処理「不可能」の並列処理可能性データを再構成データ選択部４１４に転送する。例えば、画像全体のＲＧＢ画像データからＨＶＣ画像データへの第１の色空間変換処理と、画像全体のＨＶＣ画像データからＣＭＹＫ画像データへの第２の色空間変換処理とは、相異なる処理回路で並列処理することはできない。なぜなら、後続する第２の色空間変換処理は、先行する第１の色空間変換処理が決定されていなければ処理できないからである。つまり、後続する第２の色空間変換処理は、先行する第１の色空間変換処理の情報を必要とするからである。ここで、ＨＶＣ画像データのＨは、色相（Ｈｕｅ）、Ｖは明度（Ｖａｌｕｅ）、Ｃは、彩度（Ｃｈｒｏｍａ）を意味する。このような場合、図３６に示すように画像全体のＲＧＢ画像データからＨＶＣ画像データへの第１の色空間変換処理を行うＣｏｄｅ  Ｉ処理回路４０３−５および画像全体のＨＶＣ画像データからＣＭＹＫ画像データへの第２の色空間変換処理回路４０３−６によって再構成ハードウェア４０３を構成し、逐次処理することができる。あるいは、まず、画像全体のＲＧＢ画像データからＨＶＣ画像データへの第１の色空間変換処理を行うＣｏｄｅ  Ｉ処理回路のみによって再構成ハードウェア４０３を構成し、係る処理を実行し、続いて、画像全体のＨＶＣ画像データからＣＭＹＫ画像データへの第２の色空間変換処理を行うＣｏｄｅ  Ｉ処理回路のみによって再構成ハードウェア４０３を構成し、係る処理を行うようにしてもよい。
【０１０５】
（ａ）の場合は、並列処理可能な場合とそうでない場合とが考えられ、並列処理可能性決定表４１３−２の並列処理可能性データは「不定」となるが、この「不定」となった並列処理可能性データは、再構成データ選択部４１４へは転送されない。この（ａ）の場合に、並列処理可能性判断部４１３は、画像処理列比較部４１３−１から並列処理可能性決定表４１３−２へ転送された前記問合わせデータを、第２の並列処理可能性判断部４１５に転送する。該第２の並列処理可能性判断部４１５において並列処理可能性の判断を行い、その判断結果（並列処理可能又は並列処理不可能）を並列処理可能性データとして再構成データ選択部４１４へ転送する。
【０１０６】
図３５は、該第２の並列処理可能性判断部４１５が第２の並列処理可能性決定表４１から構成されていることを示す。例えば、先行する画像処理が第１のクリップ処理であり、後続する画像処理が第２のクリップ処理であるとき、第１のクリップ処理と第２のクリップ処理の対象とする領域を各処理が相互に参照しない場合と参照する場合によって並列処理可能か否かを区別することができる。図３５のように、それらのクリップ処理の対象とする領域が重複しているとき、すなわち係る画像データが排他的でないときには、相異なる処理回路で並列処理することはできない。よって、該第２の並列処理可能性判断部４１５は、再構成データ選択部４１４に並列処理「不可能」の画像処理可能性データを転送する。一方、それらのクリップ処理の対象とする領域が重複していないとき、すなわち係る画像データが排他的であるときには、相異なる処理回路で各クリップ処理を並列処理することができる。よって、該第２の並列処理可能性判断部４１５は、再構成データ選択部４１４に並列し処理「可能」の画像処理可能性データを転送する。前者の場合、すなわち並列処理できない場合には、図３６に示すように、先行する第１のクリップ処理を行うＣｏｄｅ  Ｈ処理回路４０３−９および後続する第２のクリップ処理を行うＣｏｄｅ  Ｈ処理回路４０３−１０によって再構成ハードウェア４０３を構成し、逐次処理を行なうことができる。あるいは、再構成ハードウェア４０３を単一のＣｏｄｅ  Ｈ処理回路で構成し、まず、先行する第１のクリップ処理を行い、続いて後続する第２のクリップ処理を行なうようにすることもできる。後者の場合、すなわち並列処理できる場合には、図３６に示すように複数のＣｏｄｅ  Ｈ処理回路４０３−７および４０３−８によって再構成ハードウェア４０３を構成し、並列処理することができる。
【０１０７】
なお、図３６中の符号（ｂ）乃至（ｅ）は、図３３乃至図３５中の符号および前述の説明における符号と一致している。
【０１０８】
並列処理可能性決定表４１３−２は、データベースとして実装することもできる。図３４は、先行する画像処理、後続する画像処理およびそれらに関する並列処理可能性データをデータベースとして表現した場合に、画像処理列比較部４１３−１から問合わせデータとして「先行する画像処理がクリップ処理」かつ「後続する画像処理が色変換処理」が入力されたときに、並列処理可能性決定表４１３−２から再構成データ選択部４１４へ並列処理可能性データとして「可能」が出力されているようすを表す。登録される先行する画像処理又は後続する画像処理としては、他に「拡大」又は「画素値の反転」などが考えられる。同様に、第２の並列処理可能性決定表４１もデータベースとして実装することもできる。
【０１０９】
画像処理列記憶部４１２における画像処理列を格納するための記憶メモリは、上記のようなＦＩＦＯ型記憶メモリではなく、いわゆるスタック型記憶メモリとすることができる。この場合には、前記の先行する画像処理および後続する画像処理として、最初に格納した画像処理および二番目に格納した画像処理をそれぞれ並列処理可能性判断部４１３の画像処理列比較部４１３−１に転送できるように再構成制御部４１を構成する必要がある。
【０１１０】
なお、上記の説明で並列処理不可能とした場合であっても、従来技術を用いて画像データを適切な部分領域に分割して並列処理を実行することは、もちろん可能である。
【０１１１】
次に、前記の代替できる部分について説明する。前記並列処理可能性判断部４１３は、処理すべき画像データの位置に依存する画像処理と該画像データの位置に独立な画像処理との区別により並列処理可能性の可否を判断することの代替として、処理すべき画像データの画素値に依存する画像処理と該画像データの画素値に独立な画像処理との区別により並列処理可能異性の可否を判断するように並列処理可能性決定表４１３−２を構成することもできる。また、第２の並列処理可能性判断部４１５は、比較した前記画像処理列がともに処理すべき画像データの画素値に依存する画像処理である場合には、さらに参照する該画像データの位置を比較することによって、相異なる処理回路が相互に重複した画像データを参照するか否かの区別にり並列処理可能性の可否を判断するように第２の並列処理可能性決定表４１を構成することもできる。
【０１１２】
例えば、いわゆるカラーマップ付きの画像データの画像処理を想定した場合に、画像データの画素値に独立な画像処理としてカラーマップの削除なども考えられる。また、画像データの画素値に依存する画像処理としていわゆる畳み込みフィルタリング処理などが考えられる。
【０１１３】
【発明の効果】
上述したように本発明の印刷処理装置においては、並列処理可能性判断手段によって、処理すべき連続した複数の画像処理列の先頭から順に、連続した二つの画像処理列の機能を比較し、係る画像データの位置に依存する画像処理と係る画像データの位置に独立な画像処理とを区別することによって、当該画像処理列が相異なる処理回路で並列処理可能かどうかを判断する。
【０１１４】
さらに、ハードウェア構成制御部は、再構成データ選択手段によって、当該連続した二つの画像処理列が並列処理可能な場合は再構成ハードウェア部をそれぞれ相異なる処理回路で構成するように再構成データを選択し、そうでない場合は該画像処理列のうち先行する画像処理に対応する所定の処理回路で再構成ハードウェア部を構成するように再構成データを選択する。
【０１１５】
画像データの位置に依存する画像処理を実行する処理回路は、部分領域データの切り出しなど画像データの位置に依存する画像処理を行なう。画像データの位置に独立な処理を行なう画像処理を実行する処理回路は、いわゆるカラーマップの変更によるガンマ補正など画像データの位置に独立な画像処理を行なう。このように画像データの位置に依存する画像処理を実行する処理回路と画像データの位置に独立な処理を行なう画像処理を実行する処理回路とは、並列処理する。つまり相互に独立に同時に動作することが可能であり、単一の処理回路で逐次処理した場合に比べて高速な処理をすることが可能となる。再構成ハードウェア部は、このような並列処理可能な複数の処理回路によって並列処理を行なう。
【０１１６】
また、ハードウェア構成制御部は、第２の並列処理可能性判断手段によって、比較した画像処理列がともに処理すべき画像データの位置に依存する画像処理である場合には、さらに参照する該画像データの位置を比較し、相異なる処理回路が相互に重複した画像データを参照するか否かの区別により並列処理可能性の可否を判断する。相異なる処理回路が相互に重複した画像データを参照しない場合には、前記再構成データ選択手段によって、当該画像データを各処理回路に分割して並列処理を行なう。一方、相異なる処理回路が相互に重複した画像データを参照する場合は、所定の処理回路において当該画像データを分割せずに逐次処理する。
【０１１７】
以上のように本発明の印刷処理装置によれば、連続する画像処理列に対して係る画像処理の内容、すなわち画像処理の機能又は属性に応じた並列処理を行なうことができ、高速な画像処理を行なうことができる。
【図面の簡単な説明】
【図１】    本発明の印刷処理装置の一実施例を示すブロック構成図である。
【図２】    カラーページプリンタの構成の説明図である。
【図３】    中間データ生成部を示すブロック図である。
【図４】    アウトラインベクターを説明する図である。
【図５】    ベジエ曲線の再帰的な分割を説明する図である。
【図６】    台形データを説明する図である。
【図７】    台形データのバンド境界での分割を説明する図である。
【図８】    台形データのデータ形式の一例を説明する図である。
【図９】    台形データへの画像データの対応を説明する図である。
【図１０】  再構成可能展開部のブロック図である。
【図１１】  入力バッファとバンドバッファの使用方法について説明する図である。
【図１２】  再構成制御部が再構成ハードウェア部を制御する手順を示すフローチャートである。
【図１３】  構成データ管理部の構成を示す図である。
【図１４】  再構成ハードウェア部の構成例を示すブロック図である。
【図１５】  図１４のＦＰＧＡユニットの構成を説明する図である。
【図１６】  図１５の論理ブロックを説明する図である。
【図１７】  図１５のクロスポイントスイッチを説明する図である。
【図１８】  図１５のスイッチマトリックスを説明する図である。
【図１９】  再構成ハードウェア部の構成の一例を示す図である。
【図２０】  台形データ描画を説明する図である。
【図２１】  台形描画回路の機能ブロック図である。
【図２２】  座標計算部の機能ブロック図である。
【図２３】  エッジ描画部の機能ブロック図である。
【図２４】  伸長処理回路の機能ブロック図である。
【図２５】  解像度変換回路のブロック図である。
【図２６】  色空間変換回路の機能ブロック図である。
【図２７】  色空間変換の線形補間の過程を示す図である。
【図２８】  展開処理部をアクセラレータとして利用する場合の変換処理部と展開処理部の関係を示す図である。
【図２９】  画像処理列の一例を説明する図である。
【図３０】  再構成制御部を示すブロック図である。
【図３１】  画像処理列記憶部および並列処理可能性判断部を示すブロック図である。
【図３２】  再構成制御部における画像処理の手続きの一例を示した流れ図である。
【図３３】  並列処理可能性決定表の一例を示した図である。
【図３４】  並列処理可能性決定表の一例を示した第２の図である。
【図３５】  第２の並列処理可能性決定表の一例を示した図である。
【図３６】  再構成ハードウェア部の構成の一例を示す第２の図である。
【符号の説明】
１      印刷データ作成部
２      印刷データ入力部
３      変換処理部
４      展開処理部
５      出力部
３１      字句解析部
３２      中間データ生成部
３３      中間データ記憶部
４０      再構成可能展開部
４１      再構成制御部
４２      構成データ管理部
５０      ビデオインターフェース
５１      半導体レーザ走査装置
５２      感光体ドラム
５３      帯電器
５４      ロータリー現像器
５５      転写ドラム
５６      クリーナー
５７      定着器
５８      用紙の搬送経路
５１０      赤外半導体レーザ
５１１      レンズ
５１２      ポリゴンミラー
３１０      トークン解釈部
３１１      命令実行部
３１２      画像処理部
３１３      描画状態記憶部
３１４      ベクターデータ生成部
３１５      フォント管理部
３１６      マトリックス変換部
３１７      ショートベクター生成部
３１８      台形データ生成部
３１９      バンド分解管理部
４０１      印字データ転送制御部
４０２      メモリ部
４０３      再構成ハードウェア部
４０４      中間データ転送制御部
４０５      リフレッシュ制御部
４０６      アービトレーション部
４０２−１  入力バッファＡ
４０２−２  入力バッファＢ
４０２−３  バンドバッファＡ
４０２−４  バンドバッファＢ
４０２−５  ワーク領域
４２１      変換テーブル
４２２      構成コード記憶領域
４２３      制御部
４２３−１  読み出し制御部
４２３−２  追加更新部
４０３−１  Ｃｏｄｅ  Ａ処理回路
４０３−２  Ｃｏｄｅ  Ｇ処理回路
４６１      台形描画回路
４６２      スクリーン処理回路
４８１      伸張処理回路
４８２      解像度変換回路
４８３      色空間変換回路
４８４      台形描画回路
４８５      スクリーン処理回路
４６３      中間データ入力部
４６４      座標計算部Ａ
４６５      座標計算部Ｂ
４６６      エッジ描画部
４６７      ＤＤＡパラメータ計算部
４６８      ＤＤＡ処理部
４６９      座標更新部
４７０      アドレス計算部
４７１      マスク演算部
４７２      データ演算部
４７３      ＲｍｏｄＷ処理部
４８１−１  中間データ入力部
４８１−２  ハフマン複号化部
４８１−３  逆量子化部
４８１−４  逆ＤＣＴ部
４８１−５  書き込み部
４８２−１  画素データ入力部
４８２−２  補間処理部
４８２−３  画素アドレス計算部
４８２−４  書き込み部
４８３−１  画素データ入力部
４８３−２  テーブル変換部
４８３−３  補間処理部
４８３−４  書き込み部
４１１      画像処理列入力部
４１２      画像処理列記憶部
４１３      並列処理可能性判断部
４１４      再構成データ選択部
４１５      第２の並列処理可能性判断部
４１２−１  ＦＩＦＯ型記憶メモリ
４１３−１  画像処理列比較部
４１３−２  並列処理可能性決定表
４１５−１  第２の並列処理可能性決定表
４０３−３、７、８、９、１０  Ｃｏｄｅ  Ｈ処理回路
４０３−４、５、６  Ｃｏｄｅ  Ｉ処理回路
【図１】
0003834935.tif 000005
【図２】
0003834935.tif 000006
【図３】
0003834935.tif 000007
【図４】
0003834935.tif 000008
【図５】
0003834935.tif 000009
【図６】
0003834935.tif 000010
【図７】
0003834935.tif 000011
【図８】
0003834935.tif 000012
【図９】
0003834935.tif 000013
【図１０】
0003834935.tif 000014
【図１１】
0003834935.tif 000015
【図１２】
0003834935.tif 000016
【図１３】
0003834935.tif 000017
【図１４】
0003834935.tif 000018
【図１５】
0003834935.tif 000019
【図１６】
0003834935.tif 000020
【図１７】
0003834935.tif 000021
【図１８】
0003834935.tif 000022
【図１９】
0003834935.tif 000023
【図２０】
0003834935.tif 000024
【図２１】
0003834935.tif 000025
【図２２】
0003834935.tif 000026
【図２３】
0003834935.tif 000027
【図２４】
0003834935.tif 000028
【図２５】
0003834935.tif 000029
【図２６】
0003834935.tif 000030
【図２７】
0003834935.tif 000031
【図２８】
0003834935.tif 000032
【図２９】
0003834935.tif 000033
【図３０】
0003834935.tif 000034
【図３１】
0003834935.tif 000035
【図３２】
0003834935.tif 000036
【図３３】
0003834935.tif 000037
【図３４】
0003834935.tif 000038
【図３５】
0003834935.tif 000039
【図３６】
0003834935.tif 000040