JPH10151815A - 印刷処理装置 - Google Patents
印刷処理装置Info
- Publication number
- JPH10151815A JPH10151815A JP8312165A JP31216596A JPH10151815A JP H10151815 A JPH10151815 A JP H10151815A JP 8312165 A JP8312165 A JP 8312165A JP 31216596 A JP31216596 A JP 31216596A JP H10151815 A JPH10151815 A JP H10151815A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- input
- scan line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Record Information Processing For Printing (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
(57)【要約】
【課題】 ラスタ化を行う展開処理部を複数設けてラス
タ化を分散処理する際に各展開処理部の負荷を均一化し
て効率を向上させる。 【解決手段】 印刷データは、印刷データ入力部2を介
して、生成処理部3に入力され、台形を基本とする中間
データに変換される。中間データは複数の展開処理部4
へ同時に入力される。各々の展開処理部4では、中間デ
ータの描画する領域のうち、展開スキャンライン指示部
54で指示されたスキャンラインにおけるビットマップ
展開が行われ、1/Nページバッファ522に蓄積され
る。全部の中間データのビットマップ展開がすべての展
開処理部4で行われると、読み出し部6によって出力部
7への転送が行われ印字される。
タ化を分散処理する際に各展開処理部の負荷を均一化し
て効率を向上させる。 【解決手段】 印刷データは、印刷データ入力部2を介
して、生成処理部3に入力され、台形を基本とする中間
データに変換される。中間データは複数の展開処理部4
へ同時に入力される。各々の展開処理部4では、中間デ
ータの描画する領域のうち、展開スキャンライン指示部
54で指示されたスキャンラインにおけるビットマップ
展開が行われ、1/Nページバッファ522に蓄積され
る。全部の中間データのビットマップ展開がすべての展
開処理部4で行われると、読み出し部6によって出力部
7への転送が行われ印字される。
Description
【0001】
【発明の属する技術分野】本発明は、プリンタコントロ
ーラのグラフィックス処理などに特に有効な印刷処理装
置に関するものである。
ーラのグラフィックス処理などに特に有効な印刷処理装
置に関するものである。
【0002】
【従来の技術】小型、高速のデジタル印刷に適した電子
写真方式のページプリンタの開発に伴い、従来の文字情
報中心の印刷から脱皮した、画像、図形、文字などを同
様に取り扱い、図形、文字等の拡大、回転、変形などが
自由に制御できる記述言語を用いる印刷処理装置が一般
に普及してきた。この記述言語の代表例として、Pos
tScript(米国Adobe Systems社商
標)、Interpress(米国Xerox社商
標)、Acrobat(米国Adobe System
s社商標)、GDI(Graphics Device
Interface、米国Microsoft社商
標)等が知られている。
写真方式のページプリンタの開発に伴い、従来の文字情
報中心の印刷から脱皮した、画像、図形、文字などを同
様に取り扱い、図形、文字等の拡大、回転、変形などが
自由に制御できる記述言語を用いる印刷処理装置が一般
に普及してきた。この記述言語の代表例として、Pos
tScript(米国Adobe Systems社商
標)、Interpress(米国Xerox社商
標)、Acrobat(米国Adobe System
s社商標)、GDI(Graphics Device
Interface、米国Microsoft社商
標)等が知られている。
【0003】記述言語で作成されている印刷データは、
ページ内の任意の位置の画像、図形、文字を表現する描
画命令が任意の順で構成されており、本発明に係わるペ
ージプリンタで印字するためには、印字前に印刷データ
をラスタ化しなければならない。ラスタ化というのは、
ページ又はページの一部を横切る一連の個々のドットま
たは画素へ展開してラスタ走査線を形成し、そのページ
の下へ引き続く走査線を次々に発生する過程である。こ
の画像処理は非常にコストのかかるものであり、どのよ
うにして高速にこの処理を行うかは長年の課題となって
いる。
ページ内の任意の位置の画像、図形、文字を表現する描
画命令が任意の順で構成されており、本発明に係わるペ
ージプリンタで印字するためには、印字前に印刷データ
をラスタ化しなければならない。ラスタ化というのは、
ページ又はページの一部を横切る一連の個々のドットま
たは画素へ展開してラスタ走査線を形成し、そのページ
の下へ引き続く走査線を次々に発生する過程である。こ
の画像処理は非常にコストのかかるものであり、どのよ
うにして高速にこの処理を行うかは長年の課題となって
いる。
【0004】このための一つの手法として、ビットマッ
プデータに展開する処理の並列化技術が提案されてい
る。この先行技術は、特開平6−214555号公報に
開示されている。この先行技術では、中間データを展開
する展開処理手段が複数個設けられ、各々の展開処理手
段は1ページ分の記憶手段を持ち、これらの展開処理手
段に読み出し部が接続する構成を取っている。本先行技
術では、印刷データを解釈して得られる中間データは展
開処理手段の数に分割して各々の展開処理手段に分配さ
れ、各々の展開処理手段は割当てられた中間データのみ
を処理し、記憶手段に展開したビットマップデータを一
時保持する。記憶手段の各ピクセルには優先度データが
記録され、他の記憶手段の優先度データと比較すること
により、各々のピクセルに対しどの記憶手段に格納され
ているデータを用いるべきか決定することができる。読
み出し部はこの記憶手段特定の作業を行い、印刷を行う
ビットマップデータが格納されている記憶手段を切り替
えながら、出力部にビットマップデータを出力する。
プデータに展開する処理の並列化技術が提案されてい
る。この先行技術は、特開平6−214555号公報に
開示されている。この先行技術では、中間データを展開
する展開処理手段が複数個設けられ、各々の展開処理手
段は1ページ分の記憶手段を持ち、これらの展開処理手
段に読み出し部が接続する構成を取っている。本先行技
術では、印刷データを解釈して得られる中間データは展
開処理手段の数に分割して各々の展開処理手段に分配さ
れ、各々の展開処理手段は割当てられた中間データのみ
を処理し、記憶手段に展開したビットマップデータを一
時保持する。記憶手段の各ピクセルには優先度データが
記録され、他の記憶手段の優先度データと比較すること
により、各々のピクセルに対しどの記憶手段に格納され
ているデータを用いるべきか決定することができる。読
み出し部はこの記憶手段特定の作業を行い、印刷を行う
ビットマップデータが格納されている記憶手段を切り替
えながら、出力部にビットマップデータを出力する。
【0005】
【発明が解決しようとする課題】しかしながら、上述の
先行技術では、各々の中間データはある一つの展開処理
手段に分配されるため、中間データの分配の仕方によっ
てはビットマップデータへの展開に要する計算量に差が
出ることがある。展開処理手段の性能が同一のとき、展
開に要する計算量の差は展開終了時刻の差を生むことに
なり、一つの展開処理手段の展開終了待ちのために他の
展開処理手段がアイドル状態になる恐れが高く、効率的
に並列処理を行うことができない可能性がある。
先行技術では、各々の中間データはある一つの展開処理
手段に分配されるため、中間データの分配の仕方によっ
てはビットマップデータへの展開に要する計算量に差が
出ることがある。展開処理手段の性能が同一のとき、展
開に要する計算量の差は展開終了時刻の差を生むことに
なり、一つの展開処理手段の展開終了待ちのために他の
展開処理手段がアイドル状態になる恐れが高く、効率的
に並列処理を行うことができない可能性がある。
【0006】また、複数個の記憶手段はそれぞれが1ペ
ージ分のビットマップデータを保持するため、高価なメ
モリを大量に使用するという問題があった。
ージ分のビットマップデータを保持するため、高価なメ
モリを大量に使用するという問題があった。
【0007】さらに、読み出し部が複数個の記憶手段の
うち、どの記憶手段から読み出しを行うかを示すための
優先度情報をビットマップデータの各画素に対して与え
てやる必要があった。
うち、どの記憶手段から読み出しを行うかを示すための
優先度情報をビットマップデータの各画素に対して与え
てやる必要があった。
【0008】本発明はこのような従来の問題点を鑑み
て、各々の中間データをすべての展開処理手段に転送
し、各々の展開処理手段は互いに重なり合わない一部の
領域の中間データのビットマップ展開を担当することに
より、展開処理手段における負荷の配分をより均等化す
ることを可能とする。また、このとき、各々の記憶手段
は互いに重なり合わない、一部の領域のビットマップデ
ータのみを保持することになり、複数の記憶手段の総メ
モリ量をビットマップデータを格納するのに最低限必要
なメモリ量のみに押さえることを可能とする。さらに、
読み出し部が、読み出すビットマップデータの領域に従
って記憶手段を切り替えることによって、ビットマップ
データのピクセル単位による記憶手段の指定を行うこと
を不要とする。
て、各々の中間データをすべての展開処理手段に転送
し、各々の展開処理手段は互いに重なり合わない一部の
領域の中間データのビットマップ展開を担当することに
より、展開処理手段における負荷の配分をより均等化す
ることを可能とする。また、このとき、各々の記憶手段
は互いに重なり合わない、一部の領域のビットマップデ
ータのみを保持することになり、複数の記憶手段の総メ
モリ量をビットマップデータを格納するのに最低限必要
なメモリ量のみに押さえることを可能とする。さらに、
読み出し部が、読み出すビットマップデータの領域に従
って記憶手段を切り替えることによって、ビットマップ
データのピクセル単位による記憶手段の指定を行うこと
を不要とする。
【0009】
【課題を解決するための手段】このような課題を解決す
るために、本発明は、所定の言語で印刷内容を記述した
印刷データを入力して、この印刷データをビットマップ
データに展開して出力する印刷処理装置において、前記
印刷データを入力し、描画コマンドに変換して出力する
生成処理手段と、前記描画コマンドを入力し、ビットマ
ップデータを出力するN(Nは2以上の整数)個の展開
処理手段と、前記展開処理手段の各々に対応する、ビッ
トマップデータを一時保持するN個の記憶手段と、前記
N個の記憶手段から選択的にビットマップデータを読み
出す読み出し手段と、前記読み出し手段によって読み出
されたビットマップデータを出力する出力手段とを有
し、前記生成処理手段において生成された描画コマンド
は前記N個の展開処理手段のすべてに入力され、前記N
個の展開処理手段は、入力された描画コマンドに応じ
て、対応する特定のスキャンラインのビットマップデー
タのみを選択的に生成し、前記N個の記憶手段のうち、
n番目(0≦n<N)の記憶手段は、n番目の展開処理
手段によって生成されたビットマップデータを保持し、
前記読み出し手段は、読み出すスキャンラインに対応し
て前記記憶手段を切り替えることを特徴とする。
るために、本発明は、所定の言語で印刷内容を記述した
印刷データを入力して、この印刷データをビットマップ
データに展開して出力する印刷処理装置において、前記
印刷データを入力し、描画コマンドに変換して出力する
生成処理手段と、前記描画コマンドを入力し、ビットマ
ップデータを出力するN(Nは2以上の整数)個の展開
処理手段と、前記展開処理手段の各々に対応する、ビッ
トマップデータを一時保持するN個の記憶手段と、前記
N個の記憶手段から選択的にビットマップデータを読み
出す読み出し手段と、前記読み出し手段によって読み出
されたビットマップデータを出力する出力手段とを有
し、前記生成処理手段において生成された描画コマンド
は前記N個の展開処理手段のすべてに入力され、前記N
個の展開処理手段は、入力された描画コマンドに応じ
て、対応する特定のスキャンラインのビットマップデー
タのみを選択的に生成し、前記N個の記憶手段のうち、
n番目(0≦n<N)の記憶手段は、n番目の展開処理
手段によって生成されたビットマップデータを保持し、
前記読み出し手段は、読み出すスキャンラインに対応し
て前記記憶手段を切り替えることを特徴とする。
【0010】この構成においては、各々の展開処理手段
が同一の描画コマンドのそれぞれ一部をビットマップ展
開することにより、展開処理手段における負荷の配分を
できるだけ均等化することが可能となる。また、各々の
記憶手段は互いに重なり合わない、ある特定の領域のビ
ットマップデータのみを保持することによって、複数の
記憶手段の総メモリ量とビットマップデータを格納する
のに最低限必要なメモリ量のみに抑えることが可能とな
る。
が同一の描画コマンドのそれぞれ一部をビットマップ展
開することにより、展開処理手段における負荷の配分を
できるだけ均等化することが可能となる。また、各々の
記憶手段は互いに重なり合わない、ある特定の領域のビ
ットマップデータのみを保持することによって、複数の
記憶手段の総メモリ量とビットマップデータを格納する
のに最低限必要なメモリ量のみに抑えることが可能とな
る。
【0011】また、この構成においては、前記n番目の
展開処理手段が、スキャンライン番号lのNによる剰余
がnであるスキャンラインのビットマップデータのみを
選択的に生成するようにすることができる。
展開処理手段が、スキャンライン番号lのNによる剰余
がnであるスキャンラインのビットマップデータのみを
選択的に生成するようにすることができる。
【0012】また、前記読み出し手段は、読み出すスキ
ャンラインのライン番号がlのとき、lのNによる剰余
の数をnとすると、n番目の記憶手段から読み出すよう
にすることができる。
ャンラインのライン番号がlのとき、lのNによる剰余
の数をnとすると、n番目の記憶手段から読み出すよう
にすることができる。
【0013】また、前記N個の記憶手段の各々は、前記
印刷データの1ページに相当するビットマップデータを
記憶するための容量の1/Nのサイズを持つようにする
ことができる。
印刷データの1ページに相当するビットマップデータを
記憶するための容量の1/Nのサイズを持つようにする
ことができる。
【0014】また、前記N個の記憶手段は少なくとも2
組設けられ、前記N個の展開処理手段は、前記印刷デー
タの1ページを分割してなる分割領域の各々に対して生
成されるビットマップデータを前記分割領域毎に切り替
えて前記少なくとも2組のN個の記憶手段に供給し、前
記記憶手段の各々は、前記分割領域のビットマップデー
タを記憶するための容量の1/Nのサイズを持つように
することができる。
組設けられ、前記N個の展開処理手段は、前記印刷デー
タの1ページを分割してなる分割領域の各々に対して生
成されるビットマップデータを前記分割領域毎に切り替
えて前記少なくとも2組のN個の記憶手段に供給し、前
記記憶手段の各々は、前記分割領域のビットマップデー
タを記憶するための容量の1/Nのサイズを持つように
することができる。
【0015】
【発明の実施の形態】以下、図面に基づき本発明に係わ
る印刷処理装置の実施例について説明する。 [実施例1]図1は本発明の印刷処理装置の実施の形態
を示すブロック図である。図1において、印刷処理装置
は、印刷データ作成部1と、印刷データ入力部2と、生
成処理部3と、少なくとも1つの展開処理部4と、読み
出し部6と、出力部7とから構成されている。さらに、
展開処理部は展開したビットマップイメージを一時保存
する1/Nページバッファ522を有する。ここで、1
/Nページバッファ522とは、1ページのビットマッ
プイメージ(印字データ)の1/Nを保持するための領
域である。
る印刷処理装置の実施例について説明する。 [実施例1]図1は本発明の印刷処理装置の実施の形態
を示すブロック図である。図1において、印刷処理装置
は、印刷データ作成部1と、印刷データ入力部2と、生
成処理部3と、少なくとも1つの展開処理部4と、読み
出し部6と、出力部7とから構成されている。さらに、
展開処理部は展開したビットマップイメージを一時保存
する1/Nページバッファ522を有する。ここで、1
/Nページバッファ522とは、1ページのビットマッ
プイメージ(印字データ)の1/Nを保持するための領
域である。
【0016】印刷データ作成部1は、パーソナルコンピ
ュータやワークステーション内において、文書作成や編
集等を処理するアプリケーションプログラムで生成され
た文書データから記述言語で記述された印刷データを作
成する機能を備えたものである。本実施例で対象とする
記述言語は、例えばGDIであるが、Acrobatで
代表されるPDF(Portable Documen
t Format)、PostScriptで代表され
るページ記述言語であってもよい。
ュータやワークステーション内において、文書作成や編
集等を処理するアプリケーションプログラムで生成され
た文書データから記述言語で記述された印刷データを作
成する機能を備えたものである。本実施例で対象とする
記述言語は、例えばGDIであるが、Acrobatで
代表されるPDF(Portable Documen
t Format)、PostScriptで代表され
るページ記述言語であってもよい。
【0017】印刷データ入力部2は、印刷データ作成部
1で生成された印刷データを入力するための通信機能、
あるいは生成処理部3へ出力されるまでの間印刷データ
を一時記憶する機能等を備えたものである。
1で生成された印刷データを入力するための通信機能、
あるいは生成処理部3へ出力されるまでの間印刷データ
を一時記憶する機能等を備えたものである。
【0018】生成処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
る。中間データを生成する目的は、展開処理部4での高
速な展開処理を可能にすることである。そのため中間デ
ータは単純な図形(例えば台形)の集合で表される。
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
る。中間データを生成する目的は、展開処理部4での高
速な展開処理を可能にすることである。そのため中間デ
ータは単純な図形(例えば台形)の集合で表される。
【0019】展開処理部4は、生成処理部3から出力さ
れる中間データを受け取り、展開スキャンライン指示部
(図8に符号54で示す)で指示されたスキャンライン
のビットマップデータを作成し、展開処理部4内の1/
Nページバッファ522に印字データを作成する。この
とき、1/Nページバッファ522に蓄積されるデータ
は展開スキャンライン指示部54(図8)で指示された
スキャンラインのみから構成されるビットマップデータ
である。
れる中間データを受け取り、展開スキャンライン指示部
(図8に符号54で示す)で指示されたスキャンライン
のビットマップデータを作成し、展開処理部4内の1/
Nページバッファ522に印字データを作成する。この
とき、1/Nページバッファ522に蓄積されるデータ
は展開スキャンライン指示部54(図8)で指示された
スキャンラインのみから構成されるビットマップデータ
である。
【0020】読み出し部6は、複数の1/Nページバッ
ファ522に蓄積されたビットマップデータを、読み出
しを行うスキャンラインに従って1/Nページバッファ
522を切替えながら読み出し、出力部7に転送する。
ファ522に蓄積されたビットマップデータを、読み出
しを行うスキャンラインに従って1/Nページバッファ
522を切替えながら読み出し、出力部7に転送する。
【0021】出力部7は、読み出し部6から出力される
印字データを受け取って、記録用紙に印字し出力するも
のである。一例として、CMYBk(シアン、マゼン
タ、イエロー、ブラック)カラーの色毎に露光、現像、
転写を繰り返すことによりフルカラー画像を出力できる
レーザー走査方式の電子写真方式を用いたカラーページ
プリンタが挙げられる。
印字データを受け取って、記録用紙に印字し出力するも
のである。一例として、CMYBk(シアン、マゼン
タ、イエロー、ブラック)カラーの色毎に露光、現像、
転写を繰り返すことによりフルカラー画像を出力できる
レーザー走査方式の電子写真方式を用いたカラーページ
プリンタが挙げられる。
【0022】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、生成処理部3に入力される。そして、
生成処理部3において、台形を基本とする中間データに
変換される。生成処理部3により生成された中間データ
は同時に複数の展開処理部4へ入力される。
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、生成処理部3に入力される。そして、
生成処理部3において、台形を基本とする中間データに
変換される。生成処理部3により生成された中間データ
は同時に複数の展開処理部4へ入力される。
【0023】各々の展開処理部4では、中間データの描
画する領域のうち、展開スキャンライン指示部54(図
8)で指示されたスキャンラインにおけるビットマップ
展開が行われ、1/Nページバッファ522に蓄積され
る。こうして全部の中間データのビットマップ展開がす
べての展開処理部4で行われると、読み出し部6によっ
て出力部7への転送が行われ印字される。このとき、読
み出すスキャンラインに従って、1/Nページバッファ
522が逐次切り替えられる。カラープリンタの場合、
上記展開処理部4の印字データへの展開及び出力部7で
の印字が色毎に繰り返される。さらに、上記印刷データ
が複数ページで構成される場合は、全ページの出力が終
了するまで繰り返される。
画する領域のうち、展開スキャンライン指示部54(図
8)で指示されたスキャンラインにおけるビットマップ
展開が行われ、1/Nページバッファ522に蓄積され
る。こうして全部の中間データのビットマップ展開がす
べての展開処理部4で行われると、読み出し部6によっ
て出力部7への転送が行われ印字される。このとき、読
み出すスキャンラインに従って、1/Nページバッファ
522が逐次切り替えられる。カラープリンタの場合、
上記展開処理部4の印字データへの展開及び出力部7で
の印字が色毎に繰り返される。さらに、上記印刷データ
が複数ページで構成される場合は、全ページの出力が終
了するまで繰り返される。
【0024】以上、本発明の印刷処理装置の概要につい
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
【0025】初めに、生成処理部4について詳細を説明
する。図2は生成処理部の詳細を示し、この図におい
て、生成処理部4は、字句解析部30と、トークン解釈
部31と、命令実行部32と、画像処理部33と、描画
状態記憶部34と、ベクターデータ生成部35と、フォ
ント管理部36と、マトリックス変換部37と、ショー
トベクター生成部38と、台形データ生成部39と、台
形データ管理部40と、台形データ記憶部42とから構
成される。
する。図2は生成処理部の詳細を示し、この図におい
て、生成処理部4は、字句解析部30と、トークン解釈
部31と、命令実行部32と、画像処理部33と、描画
状態記憶部34と、ベクターデータ生成部35と、フォ
ント管理部36と、マトリックス変換部37と、ショー
トベクター生成部38と、台形データ生成部39と、台
形データ管理部40と、台形データ記憶部42とから構
成される。
【0026】字句解析部30は、印刷データ入力部2よ
り入力された印刷データを定められた記述言語のシンタ
ックスに従ってトークンとして切り出し、そのトークン
をトークン解釈部31に出力するものである。トークン
解釈部31は、字句解析部30から入力されたトークン
を解釈し、内部命令に変換して命令実行部32へ送る。
命令実行部32は、トークン解釈部31から送られてき
た命令に応じて画像処理部33、描画状態記憶部34、
ベクターデータ生成部35へ転送する。画像処理部33
は、入力された画像ヘッダと画像データをもとに各種の
画像処理を行って出力画像ヘッダと出力画像データを生
成し、台形データ管理部40へ転送する。描画状態記憶
部34は、命令実行部32の命令によって与えられる描
画に必要な情報を記憶する。ベクターデータ生成部35
は、命令実行部32の命令とそれに付加された情報、描
画状態記憶部34からの情報、フォント管理部36から
の情報を使用して描画すべきベクターデータを生成し、
マトリックス変換部37へ転送する。フォント管理部3
6は、各種フォントのアウトラインデータを管理記憶
し、要求に応じて文字のアウトラインデータを提供す
る。マトリックス変換部37は、ベクターデータ生成部
35から入力されたベクターデータを描画状態記憶部3
4の変換マトリックスによってアフィン変換し、ショー
トベクター生成部38へ転送する。ショートベクター生
成部38は、入力されたベクター中の曲線に対するベク
ターを複数の直線のベクター集合(ショートベクター)
で近似し、台形データ生成部39へ送る。台形データ生
成部39は、入力されたショートベクターから描画する
台形データを生成して、台形データ管理部40へ転送す
る。台形データ管理部40では、入力された台形データ
に、管理情報と描画状態記憶部34や画像処理部33か
ら入力された色情報とを付加し、中間データとして展開
処理部へ転送する。尚、上記に説明したトークン解釈部
31から中間データの展開処理部4への転送までの処理
は、描画命令が入力されるたびに繰り返し行われる。
り入力された印刷データを定められた記述言語のシンタ
ックスに従ってトークンとして切り出し、そのトークン
をトークン解釈部31に出力するものである。トークン
解釈部31は、字句解析部30から入力されたトークン
を解釈し、内部命令に変換して命令実行部32へ送る。
命令実行部32は、トークン解釈部31から送られてき
た命令に応じて画像処理部33、描画状態記憶部34、
ベクターデータ生成部35へ転送する。画像処理部33
は、入力された画像ヘッダと画像データをもとに各種の
画像処理を行って出力画像ヘッダと出力画像データを生
成し、台形データ管理部40へ転送する。描画状態記憶
部34は、命令実行部32の命令によって与えられる描
画に必要な情報を記憶する。ベクターデータ生成部35
は、命令実行部32の命令とそれに付加された情報、描
画状態記憶部34からの情報、フォント管理部36から
の情報を使用して描画すべきベクターデータを生成し、
マトリックス変換部37へ転送する。フォント管理部3
6は、各種フォントのアウトラインデータを管理記憶
し、要求に応じて文字のアウトラインデータを提供す
る。マトリックス変換部37は、ベクターデータ生成部
35から入力されたベクターデータを描画状態記憶部3
4の変換マトリックスによってアフィン変換し、ショー
トベクター生成部38へ転送する。ショートベクター生
成部38は、入力されたベクター中の曲線に対するベク
ターを複数の直線のベクター集合(ショートベクター)
で近似し、台形データ生成部39へ送る。台形データ生
成部39は、入力されたショートベクターから描画する
台形データを生成して、台形データ管理部40へ転送す
る。台形データ管理部40では、入力された台形データ
に、管理情報と描画状態記憶部34や画像処理部33か
ら入力された色情報とを付加し、中間データとして展開
処理部へ転送する。尚、上記に説明したトークン解釈部
31から中間データの展開処理部4への転送までの処理
は、描画命令が入力されるたびに繰り返し行われる。
【0027】以下では、実際のデータ構造を示しなが
ら、生成処理部3の各部の動作をより詳細に説明する。
ら、生成処理部3の各部の動作をより詳細に説明する。
【0028】トークン解釈部31は、字句解析部30か
ら入力されたトークンを解釈し、内部命令やその引数に
変換し、それら内部命令と引数の組を命令実行部32へ
転送する。例えば内部命令には、文字/図形/画像の描
画を実行する描画命令や、色や線属性など描画必要な情
報を設定する描画状態命令などがある。
ら入力されたトークンを解釈し、内部命令やその引数に
変換し、それら内部命令と引数の組を命令実行部32へ
転送する。例えば内部命令には、文字/図形/画像の描
画を実行する描画命令や、色や線属性など描画必要な情
報を設定する描画状態命令などがある。
【0029】命令実行部32は、トークン解釈部31か
ら送られてきた内部命令を実行する。ここで実行する命
令は、主に描画命令と描画状態命令がある。例えば描画
命令には、表1に示すように3種類の描画命令があり、
それぞれの描画に必要な情報が示されている。このうち
アンダーラインがある情報については、描画命令中の引
数として与えられ、その他の情報は予め初期設定や先行
する命令などにより描画状態記憶部34に記憶されてい
る。描画命令の実行は、画像描画以外は受け取った描画
命令をそのままベクターデータ生成部35へ転送する。
画像描画の場合は、受け取った描画命令を画像処理部3
3へ転送するとともに、画像ヘッダの縦と横の大きさを
ベクターデータ生成部35へ転送する。また描画状態命
令については、命令を描画状態記憶部34へ転送する。
ら送られてきた内部命令を実行する。ここで実行する命
令は、主に描画命令と描画状態命令がある。例えば描画
命令には、表1に示すように3種類の描画命令があり、
それぞれの描画に必要な情報が示されている。このうち
アンダーラインがある情報については、描画命令中の引
数として与えられ、その他の情報は予め初期設定や先行
する命令などにより描画状態記憶部34に記憶されてい
る。描画命令の実行は、画像描画以外は受け取った描画
命令をそのままベクターデータ生成部35へ転送する。
画像描画の場合は、受け取った描画命令を画像処理部3
3へ転送するとともに、画像ヘッダの縦と横の大きさを
ベクターデータ生成部35へ転送する。また描画状態命
令については、命令を描画状態記憶部34へ転送する。
【0030】
【表1】 画像処理部33は、命令実行部32から入力された命令
の引数である入力画像ヘッダと入力画像データを、描画
状態記憶部34から獲得した変換マトリックスを使って
アフィン変換したり、入力画像の色空間を出力装置の色
空間に変換する色空間変換などの処理を行い、出力画像
ヘッダと出力画像データを生成して台形データ管理部4
0へ転送する。
の引数である入力画像ヘッダと入力画像データを、描画
状態記憶部34から獲得した変換マトリックスを使って
アフィン変換したり、入力画像の色空間を出力装置の色
空間に変換する色空間変換などの処理を行い、出力画像
ヘッダと出力画像データを生成して台形データ管理部4
0へ転送する。
【0031】描画状態記憶部34は、命令実行部32か
ら受け取った命令に含まれる引数の値で、例えば表1に
示したアンダーラインの無い情報についての値の設定を
行い、それらを記憶する。また、画像処理部33、ベク
ターデータ生成部35、マトリックス変換部37、ショ
ートベクター生成部38、台形データ管理部40などの
要求に従って、それらの値を転送する。
ら受け取った命令に含まれる引数の値で、例えば表1に
示したアンダーラインの無い情報についての値の設定を
行い、それらを記憶する。また、画像処理部33、ベク
ターデータ生成部35、マトリックス変換部37、ショ
ートベクター生成部38、台形データ管理部40などの
要求に従って、それらの値を転送する。
【0032】ベクターデータ生成部31では、命令実行
部32から送られてきた命令と引数、描画状態記憶部3
3の値を使用して、塗りつぶし描画を除く、新たに描画
するためのベクターデータを生成する。まず文字描画の
場合について説明する。引数で与えられた文字コードと
描画状態記憶部33から獲得したフォントIDをフォン
ト管理部36へ転送して、文字のアウトラインデータを
獲得する。獲得したアウトラインデータには、描画原点
(カレントポイント)の情報が含まれていないので、描
画状態記憶部34から獲得したカレントポイントのオフ
セットをアウトラインデータに加えることによって、目
的のベクターデータを生成する。画像描画の場合には、
引数で与えられた画像ヘッダの縦と横のサイズからそれ
に対する矩形ベクターを生成し、描画状態記憶部34か
ら獲得したカレントポイントのオフセットを加えること
で目的のベクターデータを生成する。ストローク描画の
場合は、引数で与えられたベクターと描画状態記憶部3
4から獲得した各種の線属性から、図3に示すような太
さを持った線のアウトラインベクターを生成する。この
ように生成したベクター(塗りつぶし描画の場合は命令
実行部32から直接受け取ったベクター)を、マトリッ
クス変換部37へ転送する。
部32から送られてきた命令と引数、描画状態記憶部3
3の値を使用して、塗りつぶし描画を除く、新たに描画
するためのベクターデータを生成する。まず文字描画の
場合について説明する。引数で与えられた文字コードと
描画状態記憶部33から獲得したフォントIDをフォン
ト管理部36へ転送して、文字のアウトラインデータを
獲得する。獲得したアウトラインデータには、描画原点
(カレントポイント)の情報が含まれていないので、描
画状態記憶部34から獲得したカレントポイントのオフ
セットをアウトラインデータに加えることによって、目
的のベクターデータを生成する。画像描画の場合には、
引数で与えられた画像ヘッダの縦と横のサイズからそれ
に対する矩形ベクターを生成し、描画状態記憶部34か
ら獲得したカレントポイントのオフセットを加えること
で目的のベクターデータを生成する。ストローク描画の
場合は、引数で与えられたベクターと描画状態記憶部3
4から獲得した各種の線属性から、図3に示すような太
さを持った線のアウトラインベクターを生成する。この
ように生成したベクター(塗りつぶし描画の場合は命令
実行部32から直接受け取ったベクター)を、マトリッ
クス変換部37へ転送する。
【0033】フォント管理部36は、各種フォントに対
するアウトラインベクターデータを記憶するとともに、
与えられた文字コードとフォントIDによって、その文
字に対するアウトラインベクターデータを提供する。
するアウトラインベクターデータを記憶するとともに、
与えられた文字コードとフォントIDによって、その文
字に対するアウトラインベクターデータを提供する。
【0034】マトリックス変換部37は、ベクターデー
タ生成部35から受け取ったベクターデータを、描画状
態記憶部34から獲得した変換マトリックスによってア
フィン変換する。このアフィン変換の主な目的は、アプ
リケーションの解像度(座標系)からプリンタの解像度
(座標系)に変換するためのものである。変換マトリッ
クスには下式(1)に示すような3x3のものが使わ
れ、入力ベクターデータ(Xn,Yn)は、出力ベクタ
ーデータ(Xn’,Yn’)に変換されてショートベク
ター生成部38へ送られる。
タ生成部35から受け取ったベクターデータを、描画状
態記憶部34から獲得した変換マトリックスによってア
フィン変換する。このアフィン変換の主な目的は、アプ
リケーションの解像度(座標系)からプリンタの解像度
(座標系)に変換するためのものである。変換マトリッ
クスには下式(1)に示すような3x3のものが使わ
れ、入力ベクターデータ(Xn,Yn)は、出力ベクタ
ーデータ(Xn’,Yn’)に変換されてショートベク
ター生成部38へ送られる。
【0035】
【数1】 ショートベクター生成部38は、入力されたベクターの
中に曲線のベクターがある場合にその曲線のベクター
を、誤差が描画状態記憶部34から獲得したフラットネ
ス(flatness)値より小さくなるように、複数
のショートベクターで近似する処理を行う。例えば曲線
のベクターには、図4に示す4つの制御点で表現される
ベジエ曲線が使われる。この場合ショートベクター化の
処理は、図4に示す通りベジエ曲線を再帰的に分割し、
高さ(距離d)がフラットネスで与えられた値より小さ
くなった時点で分割を終了する。そして分割された各ベ
ジエ曲線の始点と終点を順番に結ぶことにより、ショー
トベクター化が完了する。生成されたショートベクター
は、台形データ生成部39へ送られる。
中に曲線のベクターがある場合にその曲線のベクター
を、誤差が描画状態記憶部34から獲得したフラットネ
ス(flatness)値より小さくなるように、複数
のショートベクターで近似する処理を行う。例えば曲線
のベクターには、図4に示す4つの制御点で表現される
ベジエ曲線が使われる。この場合ショートベクター化の
処理は、図4に示す通りベジエ曲線を再帰的に分割し、
高さ(距離d)がフラットネスで与えられた値より小さ
くなった時点で分割を終了する。そして分割された各ベ
ジエ曲線の始点と終点を順番に結ぶことにより、ショー
トベクター化が完了する。生成されたショートベクター
は、台形データ生成部39へ送られる。
【0036】台形データ生成部39は、入力されたベク
ターデータから、描画領域を示す台形データ(三角形の
場合もあるがデータ構造は台形と同じである)の集合を
生成する。例えば図5(a)に示す太線で示された多角
形のベクターは、4つの台形により描画領域が示され
る。尚、この台形は出力装置のスキャンラインに平行な
2辺を持った台形であり、1つの台形は図5(b)に示
すように(sx,sy,x0,x1,x2,h)の6つ
のデータで表現される。生成された台形は、台形データ
管理部40へ転送される。
ターデータから、描画領域を示す台形データ(三角形の
場合もあるがデータ構造は台形と同じである)の集合を
生成する。例えば図5(a)に示す太線で示された多角
形のベクターは、4つの台形により描画領域が示され
る。尚、この台形は出力装置のスキャンラインに平行な
2辺を持った台形であり、1つの台形は図5(b)に示
すように(sx,sy,x0,x1,x2,h)の6つ
のデータで表現される。生成された台形は、台形データ
管理部40へ転送される。
【0037】台形データ管理部40は、入力された台形
データに付加情報をつけて中間データを生成し、中間デ
ータを展開処理部4に転送する。付加情報は、中間デー
タを管理するための管理情報と、台形データを何色で塗
りつぶすかを示す色情報である。文字/図形の描画命令
に対する管理情報は、オブジェクトID、オブジェクト
の種類、台形数のデータであり、例えばCMYBkの値
が色情報である。これらのデータは、図6(a)に示す
ように、描画命令によって生成された台形データの前に
付加される。画像の描画命令に対する管理情報は文字/
図形と同じであるが、色情報は画像ヘッダと画像データ
となる。また図6(b)に示すように、画像ヘッダと画
像データは、描画命令によって生成されたバンド毎の台
形データそれぞれに対して1つずつ付加される。また画
像ヘッダと画像データは画像処理部33から入力される
が、中間データとして付加される画像データは、図7に
示すように変換された画像を示すベクターの最小矩形に
対する画像データであってもよいし、各台形毎の最小矩
形に対する画像データであってもよい。さらに画像デー
タは容量が大きくなるため、圧縮された形で格納されて
いてもよい。
データに付加情報をつけて中間データを生成し、中間デ
ータを展開処理部4に転送する。付加情報は、中間デー
タを管理するための管理情報と、台形データを何色で塗
りつぶすかを示す色情報である。文字/図形の描画命令
に対する管理情報は、オブジェクトID、オブジェクト
の種類、台形数のデータであり、例えばCMYBkの値
が色情報である。これらのデータは、図6(a)に示す
ように、描画命令によって生成された台形データの前に
付加される。画像の描画命令に対する管理情報は文字/
図形と同じであるが、色情報は画像ヘッダと画像データ
となる。また図6(b)に示すように、画像ヘッダと画
像データは、描画命令によって生成されたバンド毎の台
形データそれぞれに対して1つずつ付加される。また画
像ヘッダと画像データは画像処理部33から入力される
が、中間データとして付加される画像データは、図7に
示すように変換された画像を示すベクターの最小矩形に
対する画像データであってもよいし、各台形毎の最小矩
形に対する画像データであってもよい。さらに画像デー
タは容量が大きくなるため、圧縮された形で格納されて
いてもよい。
【0038】次に、展開処理部4について詳細に説明す
る。図8に、展開処理部4のブロック図を示す。生成処
理部3から転送された中間データは、一旦メモリ部52
のワークメモリ521へ書き込まれる。描画部53は、
ワークメモリ521から中間データを読み込んで、展開
スキャンライン指示部54に示されたスキャンラインに
関するビットマップ展開を行い、1/Nページバッファ
522に描画する。
る。図8に、展開処理部4のブロック図を示す。生成処
理部3から転送された中間データは、一旦メモリ部52
のワークメモリ521へ書き込まれる。描画部53は、
ワークメモリ521から中間データを読み込んで、展開
スキャンライン指示部54に示されたスキャンラインに
関するビットマップ展開を行い、1/Nページバッファ
522に描画する。
【0039】印字データ転送制御部51は、描画済の1
/Nページバッファ522から展開された印字データを
読み込み、これを読み込んだワード毎にシリアル変換し
て、読み出し部6からの制御に従って出力部7へ出力す
る。リフレッシュ制御部54は、ワークメモリ521、
1/Nページバッファ522からなる記憶部52のリフ
レッシュを制御する。アービトレーション部55は、描
画部53、リフレッシュ制御部54、中間データ転送制
御部50、印字データ転送制御部51それぞれがメモリ
部52をアクセスする際に、それぞれのブロックのアク
セスのプライオリティに応じてアービトレーション制御
を行う。
/Nページバッファ522から展開された印字データを
読み込み、これを読み込んだワード毎にシリアル変換し
て、読み出し部6からの制御に従って出力部7へ出力す
る。リフレッシュ制御部54は、ワークメモリ521、
1/Nページバッファ522からなる記憶部52のリフ
レッシュを制御する。アービトレーション部55は、描
画部53、リフレッシュ制御部54、中間データ転送制
御部50、印字データ転送制御部51それぞれがメモリ
部52をアクセスする際に、それぞれのブロックのアク
セスのプライオリティに応じてアービトレーション制御
を行う。
【0040】描画部53は、入力した中間データをなす
台形データ(sx,sy,x0,x1,x2,h)を、
図10に示されるような4点からなるデータ形式に変換
し、台形領域の中で展開スキャンライン指示部に示され
たスキャンラインを描画する。
台形データ(sx,sy,x0,x1,x2,h)を、
図10に示されるような4点からなるデータ形式に変換
し、台形領域の中で展開スキャンライン指示部に示され
たスキャンラインを描画する。
【0041】図9に、描画部53のブロック図を示す。
中間データ入力部530は、ワークメモリから1つ1つ
の台形をなすデータを読み込んで、座標計算部A531
および座標計算部B532に台形データを出力する。座
標計算部A531は、台形の左側のエッジ(図10のエ
ッジP0P1)のうち、展開スキャンライン指示部54
に示されたスキャンラインのエッジの座標計算を担当
し、エッジ上の座標値をP0からP1に向かって順に出
力する。座標計算部B532は、台形の右側のエッジ
(図10のエッジP2P3)のうち、展開スキャンライ
ン指示部に示されたスキャンラインのエッジの座標計算
を担当し、エッジ上の座標値をP2からP3に向かって
順に出力する。エッジ描画部533は、座標計算部A5
31及び座標計算部B532から入力される座標値によ
り、台形のx軸に平行な直線を描画する。
中間データ入力部530は、ワークメモリから1つ1つ
の台形をなすデータを読み込んで、座標計算部A531
および座標計算部B532に台形データを出力する。座
標計算部A531は、台形の左側のエッジ(図10のエ
ッジP0P1)のうち、展開スキャンライン指示部54
に示されたスキャンラインのエッジの座標計算を担当
し、エッジ上の座標値をP0からP1に向かって順に出
力する。座標計算部B532は、台形の右側のエッジ
(図10のエッジP2P3)のうち、展開スキャンライ
ン指示部に示されたスキャンラインのエッジの座標計算
を担当し、エッジ上の座標値をP2からP3に向かって
順に出力する。エッジ描画部533は、座標計算部A5
31及び座標計算部B532から入力される座標値によ
り、台形のx軸に平行な直線を描画する。
【0042】展開スキャンライン指示部54は現在のス
キャンライン番号Sと図示されていない展開処理部番号
レジスタに記録されている展開処理部番号n、図示され
ていない展開処理部総数レジスタに記録されている展開
処理部4の総数Nをもとに以下の計算を行う。
キャンライン番号Sと図示されていない展開処理部番号
レジスタに記録されている展開処理部番号n、図示され
ていない展開処理部総数レジスタに記録されている展開
処理部4の総数Nをもとに以下の計算を行う。
【0043】
【数2】y=S mod N −n ここで、S mod NはSをNで割ったときの剰余を
示す。y≠0となるスキャンラインのとき、座標計算部
531、532に対し、描画処理要求を行わない。y=
0となるスキャンラインのとき、座標計算部A531は
P0とP1を結ぶ直線と現在のスキャンラインとの交点
の座標値を出力し、座標計算部B532はP2とP3を
結ぶ直線と現在のスキャンラインとの交点の座標値を出
力する。一例を挙げると、展開処理部4を3つもつ印刷
処理装置の場合、1番目の印刷処理装置はスキャンライ
ン番号が1、4、7 ・・・のときに座標計算部53
1、532で計算を行う。2番目の印刷処理装置はスキ
ャンライン番号が2、5、8・・・のときに座標計算部
531、532で計算を行う。3番目の印刷処理装置は
スキャンライン番号が3、6、9 ・・・のときに座標
計算部531、532で計算を行う。そして、エッジ描
画部533は、座標計算部A531及び座標計算部B5
32から入力される座標値により、台形のx軸に平行な
直線を描画する。
示す。y≠0となるスキャンラインのとき、座標計算部
531、532に対し、描画処理要求を行わない。y=
0となるスキャンラインのとき、座標計算部A531は
P0とP1を結ぶ直線と現在のスキャンラインとの交点
の座標値を出力し、座標計算部B532はP2とP3を
結ぶ直線と現在のスキャンラインとの交点の座標値を出
力する。一例を挙げると、展開処理部4を3つもつ印刷
処理装置の場合、1番目の印刷処理装置はスキャンライ
ン番号が1、4、7 ・・・のときに座標計算部53
1、532で計算を行う。2番目の印刷処理装置はスキ
ャンライン番号が2、5、8・・・のときに座標計算部
531、532で計算を行う。3番目の印刷処理装置は
スキャンライン番号が3、6、9 ・・・のときに座標
計算部531、532で計算を行う。そして、エッジ描
画部533は、座標計算部A531及び座標計算部B5
32から入力される座標値により、台形のx軸に平行な
直線を描画する。
【0044】図11に、座標計算部531、532のブ
ロック図を示す。入力された台形データ(sx,sy,
x0,x1,x2,h)はDDAパラメータ計算部53
4で4点の台形データ(P0,P1,P2,P3)に変
換されて、傾きや残差の初期値などのDDAのパラメー
タを計算し、DDA処理部535に出力する。DDA処
理部535は、入力されたパラメータに基づいてDDA
処理を行い、最後に求めた点に対する移動方向と移動量
を出力する。座標更新部536は、入力された移動方向
と移動量から現在保持している座標値を更新して出力す
る。座標の初期値は、図示されていないCPUなどであ
らかじめ設定されているものとする。
ロック図を示す。入力された台形データ(sx,sy,
x0,x1,x2,h)はDDAパラメータ計算部53
4で4点の台形データ(P0,P1,P2,P3)に変
換されて、傾きや残差の初期値などのDDAのパラメー
タを計算し、DDA処理部535に出力する。DDA処
理部535は、入力されたパラメータに基づいてDDA
処理を行い、最後に求めた点に対する移動方向と移動量
を出力する。座標更新部536は、入力された移動方向
と移動量から現在保持している座標値を更新して出力す
る。座標の初期値は、図示されていないCPUなどであ
らかじめ設定されているものとする。
【0045】図12は、エッジ描画部533のブロック
図である。エッジ描画部533は、座標値A/B及び画
像データを入力して台形の内部領域を塗りつぶす。アド
レス計算部537は、座標値A/Bを入力して、描画す
るエッジ成分のアドレスを計算する。マスク演算部53
8は、座標値A/Bの値を入力して、描画するワード中
の有効なビットを表すマスクを出力する。データ演算部
539は、入力されたデータが文字/図形の場合には台
形領域によって固定的な色を表す色データを入力し、こ
の値を用いてスクリーン処理をして出力する。入力され
たデータが画像データの場合には、画像データ入力に対
してスクリーン処理をして出力する。RmodW部54
0は、入力されたアドレス、マスク、データを用いて以
下の処理をすることにより描画を行う。まず、アドレス
により、1/Nページバッファをリードする。これによ
り読み込まれたデータをSource、マスクデータを
Mask、描画データをDataとすると、(Mask
*Data+Mask#*Source)の値を演算し
て同一アドレスに書き戻す。ただし、*は論理積、+は
論理和、#は論理否定をそれぞれ表す。この処理は、描
画するエッジが含まれるワード毎に繰り返し行われる。
図である。エッジ描画部533は、座標値A/B及び画
像データを入力して台形の内部領域を塗りつぶす。アド
レス計算部537は、座標値A/Bを入力して、描画す
るエッジ成分のアドレスを計算する。マスク演算部53
8は、座標値A/Bの値を入力して、描画するワード中
の有効なビットを表すマスクを出力する。データ演算部
539は、入力されたデータが文字/図形の場合には台
形領域によって固定的な色を表す色データを入力し、こ
の値を用いてスクリーン処理をして出力する。入力され
たデータが画像データの場合には、画像データ入力に対
してスクリーン処理をして出力する。RmodW部54
0は、入力されたアドレス、マスク、データを用いて以
下の処理をすることにより描画を行う。まず、アドレス
により、1/Nページバッファをリードする。これによ
り読み込まれたデータをSource、マスクデータを
Mask、描画データをDataとすると、(Mask
*Data+Mask#*Source)の値を演算し
て同一アドレスに書き戻す。ただし、*は論理積、+は
論理和、#は論理否定をそれぞれ表す。この処理は、描
画するエッジが含まれるワード毎に繰り返し行われる。
【0046】次に、読み出し部6について詳細に説明す
る。図13に読み出し部6のブロック図を示す。展開処
理部4での中間データのビットマップ展開がすべて終了
すると、読み出し部6はバッファ切替え手段60で指示
される展開処理部内の1/Nページバッファから読み出
しを開始し、出力部7からのスキャンライン同期信号に
同期してビットマップデータを出力部7に転送する。
る。図13に読み出し部6のブロック図を示す。展開処
理部4での中間データのビットマップ展開がすべて終了
すると、読み出し部6はバッファ切替え手段60で指示
される展開処理部内の1/Nページバッファから読み出
しを開始し、出力部7からのスキャンライン同期信号に
同期してビットマップデータを出力部7に転送する。
【0047】バッファ切替え手段60は、スキャンライ
ンカウンタ61に保持されたスキャンライン番号Sと、
展開処理部4の展開処理部総数レジスタ62に記憶され
ている展開処理部4の総数Nをもとに、次の計算を行
う。
ンカウンタ61に保持されたスキャンライン番号Sと、
展開処理部4の展開処理部総数レジスタ62に記憶され
ている展開処理部4の総数Nをもとに、次の計算を行
う。
【0048】
【数3】n=S mod N そして、n番目の展開処理部4の1/Nページバッファ
522から、1スキャンライン分のビットマップメモリ
を取り出し、出力部7に転送する。一例を挙げると、展
開処理部4を3つもつ印刷処理装置の場合、スキャンラ
イン番号1のとき、1番目の展開処理部4の1/Nペー
ジバッファ522からビットマップデータを読み出し、
出力部7に転送する。そして、スキャンライン番号2の
とき2番目の展開処理部4の1/Nページバッファ52
2、スキャンライン番号3のとき3番目の展開処理部4
の1/Nページバッファ522、スキャンライン番号4
のとき1番目の展開処理部4の1/Nページバッファ5
22・・・と順次読み出す1/Nページバッファ522
を切り替えながら、1スキャンライン分のビットマップ
データを出力部7に転送する。これをすべてのデータが
出力部7に転送されるまで繰り返す。
522から、1スキャンライン分のビットマップメモリ
を取り出し、出力部7に転送する。一例を挙げると、展
開処理部4を3つもつ印刷処理装置の場合、スキャンラ
イン番号1のとき、1番目の展開処理部4の1/Nペー
ジバッファ522からビットマップデータを読み出し、
出力部7に転送する。そして、スキャンライン番号2の
とき2番目の展開処理部4の1/Nページバッファ52
2、スキャンライン番号3のとき3番目の展開処理部4
の1/Nページバッファ522、スキャンライン番号4
のとき1番目の展開処理部4の1/Nページバッファ5
22・・・と順次読み出す1/Nページバッファ522
を切り替えながら、1スキャンライン分のビットマップ
データを出力部7に転送する。これをすべてのデータが
出力部7に転送されるまで繰り返す。
【0049】以上が本印刷装置の主要部の詳細である。
本実施例においては展開処理部4と読み出し部6は別の
モジュールとして説明したが、LSI化する際は展開処
理部と読み出し部は一チップで実現することが望まし
い。この場合の展開処理部と読み出し部の構成を図14
に示す。バッファ切替え部は、図示されていない展開処
理部番号レジスタと展開処理部総数レジスタと、スキャ
ンラインレジスタの値をもとに、現在のスキャンライン
がこの展開処理部で展開されたかどうかを判断し出力す
る。セレクタ70は、バッファ切替え部60の出力をも
とに、展開処理部内の1/Nページバッファか外部入力
のビットマップデータを選択し出力する。そして、ラッ
チ71は出力部から送られる出力クロックに従って、ビ
ットマップデータを出力する。
本実施例においては展開処理部4と読み出し部6は別の
モジュールとして説明したが、LSI化する際は展開処
理部と読み出し部は一チップで実現することが望まし
い。この場合の展開処理部と読み出し部の構成を図14
に示す。バッファ切替え部は、図示されていない展開処
理部番号レジスタと展開処理部総数レジスタと、スキャ
ンラインレジスタの値をもとに、現在のスキャンライン
がこの展開処理部で展開されたかどうかを判断し出力す
る。セレクタ70は、バッファ切替え部60の出力をも
とに、展開処理部内の1/Nページバッファか外部入力
のビットマップデータを選択し出力する。そして、ラッ
チ71は出力部から送られる出力クロックに従って、ビ
ットマップデータを出力する。
【0050】本実施例で説明したように、1つの中間コ
ードをスキャンライン単位で分割して、複数の展開処理
部4で処理を行うことにより、展開処理部4における負
荷の配分を比較的均等化することができる。なお、DD
A処理にかかる時間はメモリの読み出し、書き込みに要
する時間の1/3程度である。そのため、展開処理部4
の総数としてN=3を指定するとメモリの入出力のボト
ルネックが解消され、より効率的となる。
ードをスキャンライン単位で分割して、複数の展開処理
部4で処理を行うことにより、展開処理部4における負
荷の配分を比較的均等化することができる。なお、DD
A処理にかかる時間はメモリの読み出し、書き込みに要
する時間の1/3程度である。そのため、展開処理部4
の総数としてN=3を指定するとメモリの入出力のボト
ルネックが解消され、より効率的となる。
【0051】[実施例2]実施例1では、画像1ページ
分のビットマップデータを複数の1/Nページバッファ
に記憶する場合を説明した。実施例2では、画像1ペー
ジを印刷用紙の搬出方向に水平な領域(バンド)で分割
し、1バンド分のビットマップデータを複数の1/Nバ
ンドバッファに記憶する場合を説明する。
分のビットマップデータを複数の1/Nページバッファ
に記憶する場合を説明した。実施例2では、画像1ペー
ジを印刷用紙の搬出方向に水平な領域(バンド)で分割
し、1バンド分のビットマップデータを複数の1/Nバ
ンドバッファに記憶する場合を説明する。
【0052】従来のページプリンタは、印字前にページ
全体の印刷データをラスタ化し、ページバッファメモリ
に記憶していた。しかしながら、ページ全体に対するラ
スタデータを記憶するためには、大量のメモリを必要と
する。特に、最新の電子写真方式のカラーページプリン
タでは、C(Cyan)、M(Magenta)、Y
(Yellow)、Bk(Black)の4色のトナー
に対応するラスタデータを必要とするとともに、白黒ペ
ージプリンタ以上に画質が要求されるため、1画素当た
り複数のビット情報を持つのが一般的であり、さらに大
量のメモリを必要とする。
全体の印刷データをラスタ化し、ページバッファメモリ
に記憶していた。しかしながら、ページ全体に対するラ
スタデータを記憶するためには、大量のメモリを必要と
する。特に、最新の電子写真方式のカラーページプリン
タでは、C(Cyan)、M(Magenta)、Y
(Yellow)、Bk(Black)の4色のトナー
に対応するラスタデータを必要とするとともに、白黒ペ
ージプリンタ以上に画質が要求されるため、1画素当た
り複数のビット情報を持つのが一般的であり、さらに大
量のメモリを必要とする。
【0053】この大量のメモリの必要性に対し、コスト
低減の観点からメモリ容量を低減させる技術として、最
近バンドメモリ技術が登場してきた。バンドメモリ技術
は、ページプリンタの印字前に1ページ分の印刷データ
を全てラスタ化するのではなく、記述言語で作成されて
いる印刷データを、印刷データをラスタ化するよりも速
くラスタ化可能な比較的簡単な中間データに変換し、1
ページを隣接する複数の領域(バンド)に分割し、各バ
ンドに対応する中間データを記憶した後、ラスタ展開処
理部に順次転送し、バンドに対応するバッファメモリに
展開する技術である。バンドメモリ技術では、中間デー
タを記憶するためのメモリは新たに必要であるが、ラス
タデータのための大容量を必要とするバッファメモリを
低減することが可能となる。
低減の観点からメモリ容量を低減させる技術として、最
近バンドメモリ技術が登場してきた。バンドメモリ技術
は、ページプリンタの印字前に1ページ分の印刷データ
を全てラスタ化するのではなく、記述言語で作成されて
いる印刷データを、印刷データをラスタ化するよりも速
くラスタ化可能な比較的簡単な中間データに変換し、1
ページを隣接する複数の領域(バンド)に分割し、各バ
ンドに対応する中間データを記憶した後、ラスタ展開処
理部に順次転送し、バンドに対応するバッファメモリに
展開する技術である。バンドメモリ技術では、中間デー
タを記憶するためのメモリは新たに必要であるが、ラス
タデータのための大容量を必要とするバッファメモリを
低減することが可能となる。
【0054】図15は本発明の印刷処理装置の実施の他
の形態を示すブロック図である。図15において、印刷
処理装置は、印刷データ作成部1と、印刷データ入力部
2と、生成処理部3と、展開処理部4と、読み出し部6
と、出力部7とから構成されている。さらに、展開処理
部4は各々2つの1/Nバンドバッファ525、526
を有する。ここで、1/Nバンドバッファ525、52
6とは、1バンドの1/Nのビットマップイメージ(印
字データ)を保持するための領域である。
の形態を示すブロック図である。図15において、印刷
処理装置は、印刷データ作成部1と、印刷データ入力部
2と、生成処理部3と、展開処理部4と、読み出し部6
と、出力部7とから構成されている。さらに、展開処理
部4は各々2つの1/Nバンドバッファ525、526
を有する。ここで、1/Nバンドバッファ525、52
6とは、1バンドの1/Nのビットマップイメージ(印
字データ)を保持するための領域である。
【0055】印刷データ作成部1と印刷データ入力部2
と出力部7は実施例1と同一であるので、ここでは説明
を省略する。
と出力部7は実施例1と同一であるので、ここでは説明
を省略する。
【0056】生成処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
る。まず、字句解析部30により、印刷データ入力部2
より入力された印刷データを定められた記述言語のシン
タックスに従ってトークンとして切り出す。そして、ト
ークンを解釈し、描画命令を実行し、各描画命令に対す
る台形を基本単位としたデータを生成し、それらを中間
データとしてバンド毎に管理し記憶する。これらのデー
タは、必要に応じて展開処理部4から読み出される。中
間データを生成する目的は、展開処理部4での高速な展
開処理を可能にすることである。そのため、中間データ
は単純な図形(台形)の集合で表され、バンド単位に分
類されている。尚、生成処理部3と展開処理部4との間
の接続は、転送帯域を保証するリアルタイムデータ転送
が使用される。リアルタイムデータ転送のため、例え
ば、IEEE1394ハイ・パフォーマンス・シリアル
・バスのアイソクロナス転送モードが使用される。
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
る。まず、字句解析部30により、印刷データ入力部2
より入力された印刷データを定められた記述言語のシン
タックスに従ってトークンとして切り出す。そして、ト
ークンを解釈し、描画命令を実行し、各描画命令に対す
る台形を基本単位としたデータを生成し、それらを中間
データとしてバンド毎に管理し記憶する。これらのデー
タは、必要に応じて展開処理部4から読み出される。中
間データを生成する目的は、展開処理部4での高速な展
開処理を可能にすることである。そのため、中間データ
は単純な図形(台形)の集合で表され、バンド単位に分
類されている。尚、生成処理部3と展開処理部4との間
の接続は、転送帯域を保証するリアルタイムデータ転送
が使用される。リアルタイムデータ転送のため、例え
ば、IEEE1394ハイ・パフォーマンス・シリアル
・バスのアイソクロナス転送モードが使用される。
【0057】展開処理部4は、生成処理部3に記憶され
た中間データをバンド単位に読み出し、バンド内の領域
のうち、展開スキャンライン指示部54で指示されたス
キャンラインのビットマップデータを展開処理部4内の
1/Nバンドバッファ525、526に作成する。この
処理の結果生成されたビットマップデータは展開処理部
4内の2つの1/Nバンドバッファ525、526に交
互に蓄積される。
た中間データをバンド単位に読み出し、バンド内の領域
のうち、展開スキャンライン指示部54で指示されたス
キャンラインのビットマップデータを展開処理部4内の
1/Nバンドバッファ525、526に作成する。この
処理の結果生成されたビットマップデータは展開処理部
4内の2つの1/Nバンドバッファ525、526に交
互に蓄積される。
【0058】読み出し部6は、複数の展開処理部4の1
/Nバンドバッファ525、526に蓄積されたビット
マップデータを、読み出しを行うスキャンラインに従っ
て1/Nバンドバッファ525、526を切替えながら
読み出し、出力部7に転送する。
/Nバンドバッファ525、526に蓄積されたビット
マップデータを、読み出しを行うスキャンラインに従っ
て1/Nバンドバッファ525、526を切替えながら
読み出し、出力部7に転送する。
【0059】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、生成処理部3に入力される。生成処理
部3により生成された中間データは同時に複数の展開処
理部4へ入力される。
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、生成処理部3に入力される。生成処理
部3により生成された中間データは同時に複数の展開処
理部4へ入力される。
【0060】各々の展開処理部4では、1バンド分の中
間データを受け取り、展開スキャンライン指示部54で
指示されたスキャンラインにおけるビットマップ展開が
行われ、バッファメモリ525、526に蓄積される。
そして、出力部7のサイクルアップが完了すると、バッ
ファメモリ525、526から出力部7に、出力部7の
記録速度に応じて印字データが1ライン毎に転送され、
印字が行われる。このとき、読み出すスキャンラインに
従って、バッファメモリ525、526が逐次切り替え
られる。各々の展開処理部4では、1つの1/Nバンド
バッファ(例えば525)の印字データが印字されてい
る間に、片側の1/Nバンドバッファ(例えば526)
が印字データで満たされるまで展開処理が実行される。
上記展開処理部4の印字データへの展開及び出力部での
印字は、1ページ分の印刷データが処理されるまで、色
毎に繰り返される。さらに、上記印刷データが複数ペー
ジで構成される場合は、全ページの出力が終了するまで
繰り返される。
間データを受け取り、展開スキャンライン指示部54で
指示されたスキャンラインにおけるビットマップ展開が
行われ、バッファメモリ525、526に蓄積される。
そして、出力部7のサイクルアップが完了すると、バッ
ファメモリ525、526から出力部7に、出力部7の
記録速度に応じて印字データが1ライン毎に転送され、
印字が行われる。このとき、読み出すスキャンラインに
従って、バッファメモリ525、526が逐次切り替え
られる。各々の展開処理部4では、1つの1/Nバンド
バッファ(例えば525)の印字データが印字されてい
る間に、片側の1/Nバンドバッファ(例えば526)
が印字データで満たされるまで展開処理が実行される。
上記展開処理部4の印字データへの展開及び出力部での
印字は、1ページ分の印刷データが処理されるまで、色
毎に繰り返される。さらに、上記印刷データが複数ペー
ジで構成される場合は、全ページの出力が終了するまで
繰り返される。
【0061】以上、本発明の印刷処理装置の概要につい
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
【0062】初めに、生成処理部3について詳細を説明
する。生成処理部3は、図16に示すように、字句解析
部30と、トークン解釈部31と、命令実行部32と、
画像処理部33と、描画状態記憶部34と、ベクターデ
ータ生成部35と、フォント管理部36と、マトリック
ス変換部37と、ショートベクター生成部38と、台形
データ生成部39と、バンド分解部41と、台形データ
管理部40と、台形データ記憶部42とから構成され
る。
する。生成処理部3は、図16に示すように、字句解析
部30と、トークン解釈部31と、命令実行部32と、
画像処理部33と、描画状態記憶部34と、ベクターデ
ータ生成部35と、フォント管理部36と、マトリック
ス変換部37と、ショートベクター生成部38と、台形
データ生成部39と、バンド分解部41と、台形データ
管理部40と、台形データ記憶部42とから構成され
る。
【0063】トークン解釈部31と、命令実行部32
と、画像処理部33と、描画状態記憶部34と、ベクタ
ーデータ生成部35と、フォント管理部36と、マトリ
ックス変換部37と、ショートベクター生成部38と、
台形データ生成部39と、台形データ管理部40とは実
施例1と同等の機能を持つものであるので、ここでは省
略する。
と、画像処理部33と、描画状態記憶部34と、ベクタ
ーデータ生成部35と、フォント管理部36と、マトリ
ックス変換部37と、ショートベクター生成部38と、
台形データ生成部39と、台形データ管理部40とは実
施例1と同等の機能を持つものであるので、ここでは省
略する。
【0064】バンド分解部41は、入力された台形デー
タのうち複数のバンドにまたがる台形データをバンド毎
の台形データに分割し、バンド毎に台形データを台形デ
ータ管理部40へ転送する。例えば図17では、4つの
台形データがバンド分解部によって6つの台形データに
分割される。
タのうち複数のバンドにまたがる台形データをバンド毎
の台形データに分割し、バンド毎に台形データを台形デ
ータ管理部40へ転送する。例えば図17では、4つの
台形データがバンド分解部によって6つの台形データに
分割される。
【0065】台形データ記憶部42は、台形データ管理
部40で生成された中間データをバンド単位に記憶し、
展開処理部4の要求に応じて中間データを転送する。
部40で生成された中間データをバンド単位に記憶し、
展開処理部4の要求に応じて中間データを転送する。
【0066】上記に説明した字句解析部30から台形デ
ータ記憶部42への書き込みまでの処理は、描画命令が
入力されるたびに繰り返し行われる。また台形データ記
憶部42から各々の展開処理部4への中間データの転送
は、1ページ分の中間データが記憶された後に行われ
る。
ータ記憶部42への書き込みまでの処理は、描画命令が
入力されるたびに繰り返し行われる。また台形データ記
憶部42から各々の展開処理部4への中間データの転送
は、1ページ分の中間データが記憶された後に行われ
る。
【0067】次に、展開処理部4について詳細に説明す
る。図18に、展開処理部4のブロック図を示す。生成
処理部3で生成されたバンド毎の中間データは、中間デ
ータ転送制御部50により読み込まれ、メモリ部52の
入力バッファA523あるいは入力バッファB524へ
書き込まれる。描画部53は、入力バッファA523あ
るいは入力バッファB524から中間データを読み込ん
で、展開スキャンライン指示部54に示されたスキャン
ラインに関するビットマップ展開を行い、1/Nバンド
バッファA525あるいは1/NバンドバッファB52
6へ描画する。
る。図18に、展開処理部4のブロック図を示す。生成
処理部3で生成されたバンド毎の中間データは、中間デ
ータ転送制御部50により読み込まれ、メモリ部52の
入力バッファA523あるいは入力バッファB524へ
書き込まれる。描画部53は、入力バッファA523あ
るいは入力バッファB524から中間データを読み込ん
で、展開スキャンライン指示部54に示されたスキャン
ラインに関するビットマップ展開を行い、1/Nバンド
バッファA525あるいは1/NバンドバッファB52
6へ描画する。
【0068】印字データ転送制御部51は、描画済の1
/NバンドバッファA525あるいは1/Nバンドバッ
ファB526から展開された印字データを読み込み、こ
れを読み込んだワード毎にシリアル変換して、読み出し
部6からの制御に従って出力部7へ出力する。リフレッ
シュ制御部55は、入力バッファA523、入力バッフ
ァB524、1/NバンドバッファA525、1/Nバ
ンドバッファB526からなるメモリ部52のリフレッ
シュを制御する。アービトレーション部56は、描画部
53、リフレッシュ制御部54、中間データ転送制御部
50、印字データ転送制御部51それぞれがメモリ部5
2をアクセスする際に、それぞれのブロックのアクセス
のプライオリティに応じてアービトレーション制御を行
う。
/NバンドバッファA525あるいは1/Nバンドバッ
ファB526から展開された印字データを読み込み、こ
れを読み込んだワード毎にシリアル変換して、読み出し
部6からの制御に従って出力部7へ出力する。リフレッ
シュ制御部55は、入力バッファA523、入力バッフ
ァB524、1/NバンドバッファA525、1/Nバ
ンドバッファB526からなるメモリ部52のリフレッ
シュを制御する。アービトレーション部56は、描画部
53、リフレッシュ制御部54、中間データ転送制御部
50、印字データ転送制御部51それぞれがメモリ部5
2をアクセスする際に、それぞれのブロックのアクセス
のプライオリティに応じてアービトレーション制御を行
う。
【0069】入力バッファと1/Nバンドバッファの使
用方法について説明する。図19(a)及び図19
(b)はそれぞれ、入力バッファAと入力バッファBに
中間データを入力中の、各バッファの使用状態を示すも
のである。図19(a)においては、バンドiに対応す
る中間データを入力バッファAに入力中であり、入力バ
ッファBには既にバンド(i−1)に対応する中間デー
タが入力済みである。描画部53は入力バッファBに蓄
えられた中間データを読み出して、展開スキャンライン
指示部54に示されたスキャンラインに関するビットマ
ップ展開を行い、1/NバンドバッファBに描画する。
1/NバンドバッファAには、バンド(i−2)に対応
する中間データを展開描画した結果の印字データが蓄え
られており、印字データ転送制御部51はこれを出力部
7に読み出している。
用方法について説明する。図19(a)及び図19
(b)はそれぞれ、入力バッファAと入力バッファBに
中間データを入力中の、各バッファの使用状態を示すも
のである。図19(a)においては、バンドiに対応す
る中間データを入力バッファAに入力中であり、入力バ
ッファBには既にバンド(i−1)に対応する中間デー
タが入力済みである。描画部53は入力バッファBに蓄
えられた中間データを読み出して、展開スキャンライン
指示部54に示されたスキャンラインに関するビットマ
ップ展開を行い、1/NバンドバッファBに描画する。
1/NバンドバッファAには、バンド(i−2)に対応
する中間データを展開描画した結果の印字データが蓄え
られており、印字データ転送制御部51はこれを出力部
7に読み出している。
【0070】図19(b)においては、バンド(i+
1)に対応する中間データを入力バッファBに入力中で
あり、入力バッファAには既にバンドiに対応する中間
データが入力済みである。描画部53は、入力バッファ
Aに蓄えられた中間データを読み出し、展開スキャンラ
イン指示部54に示されたスキャンラインに関するビッ
トマップ展開を行い、1/NバンドバッファAに描画す
る。1/NバンドバッファBには、バンド(i−1)に
対応する中間データを展開描画した結果の印字データが
蓄えられており、印字データ転送制御部51はこれを出
力部7に読み出している。
1)に対応する中間データを入力バッファBに入力中で
あり、入力バッファAには既にバンドiに対応する中間
データが入力済みである。描画部53は、入力バッファ
Aに蓄えられた中間データを読み出し、展開スキャンラ
イン指示部54に示されたスキャンラインに関するビッ
トマップ展開を行い、1/NバンドバッファAに描画す
る。1/NバンドバッファBには、バンド(i−1)に
対応する中間データを展開描画した結果の印字データが
蓄えられており、印字データ転送制御部51はこれを出
力部7に読み出している。
【0071】描画部53及び読み出し部6の処理は中間
データの処理の単位が1ページであることと、1バンド
であることを除いては実施例1と同等なので、ここでは
省略する。
データの処理の単位が1ページであることと、1バンド
であることを除いては実施例1と同等なので、ここでは
省略する。
【0072】以上が本印刷装置の主要部の詳細である。
本実施例においては展開処理部4と読み出し部6は別の
モジュールとして説明したが、LSI化する際は展開処
理部と読み出し部は一チップで実現することが望まし
い。この場合の展開処理部と読み出し部は実施例1と同
様に図14に示すように構成できる。
本実施例においては展開処理部4と読み出し部6は別の
モジュールとして説明したが、LSI化する際は展開処
理部と読み出し部は一チップで実現することが望まし
い。この場合の展開処理部と読み出し部は実施例1と同
様に図14に示すように構成できる。
【0073】本実施例においても、1つの中間コードを
スキャンライン単位で分割して、複数の展開処理部で処
理を行うことにより、展開処理部における負荷の配分を
比較的均等化することができる。なお、DDA処理にか
かる時間はメモリの読み出し、書き込みに要する時間の
1/3程度である。そのため、展開処理部の総数として
N=3を指定するとメモリの入出力のボトルネックが解
消され、より効率的となる。
スキャンライン単位で分割して、複数の展開処理部で処
理を行うことにより、展開処理部における負荷の配分を
比較的均等化することができる。なお、DDA処理にか
かる時間はメモリの読み出し、書き込みに要する時間の
1/3程度である。そのため、展開処理部の総数として
N=3を指定するとメモリの入出力のボトルネックが解
消され、より効率的となる。
【0074】なお以上の実施例においては、1スキャン
ライン毎に展開処理部を切り替えるようにしているが、
複数本のスキャンライン単位で展開処理部を切り替える
ようにしてもよい。
ライン毎に展開処理部を切り替えるようにしているが、
複数本のスキャンライン単位で展開処理部を切り替える
ようにしてもよい。
【0075】
【発明の効果】上述したように、本発明によれば、各々
の展開処理手段が同一の描画コマンドのそれぞれ一部を
ビットマップ展開することにより、展開処理手段におけ
る負荷の配分をできるだけ均等化することが可能とな
る。また、各々の記憶手段は互いに重なり合わない、あ
る特定の領域のビットマップデータのみを保持すること
によって、複数の記憶手段の総メモリ量とビットマップ
データを格納するのに最低限必要なメモリ量のみに押さ
えることが可能となる。さらに、読み出し部が、読み出
すビットマップデータの領域に従って記憶手段を切り替
えることによって、ビットマップデータのピクセル単位
による記憶手段の指定を行うことが不要となる。
の展開処理手段が同一の描画コマンドのそれぞれ一部を
ビットマップ展開することにより、展開処理手段におけ
る負荷の配分をできるだけ均等化することが可能とな
る。また、各々の記憶手段は互いに重なり合わない、あ
る特定の領域のビットマップデータのみを保持すること
によって、複数の記憶手段の総メモリ量とビットマップ
データを格納するのに最低限必要なメモリ量のみに押さ
えることが可能となる。さらに、読み出し部が、読み出
すビットマップデータの領域に従って記憶手段を切り替
えることによって、ビットマップデータのピクセル単位
による記憶手段の指定を行うことが不要となる。
【図1】 本発明の実施例1を示すブロック図である。
【図2】 実施例1の生成処理部を示すブロック図であ
る。
る。
【図3】 実施例1のアウトラインベクターを説明する
図である。
図である。
【図4】 ベジエ曲線の再帰的な分割を説明する図であ
る。
る。
【図5】 台形データを説明する図である。
【図6】 台形データのデータ表現の一例を説明する図
である。
である。
【図7】 台形データへの画像データの対応を説明する
図である。
図である。
【図8】 実施例1の展開処理部を示すブロック図であ
る。
る。
【図9】 実施例1の描画部を示すブロック図である。
【図10】 描画部での台形データ描画を説明する図で
ある。。
ある。。
【図11】 実施例1の座標計算部を示すブロック図で
ある。
ある。
【図12】 実施例1のエッジ描画部を示すブロック図
である。
である。
【図13】 実施例1の読み出し部を示すブロック図で
ある。
ある。
【図14】 展開処理部と読み出し部を1チップで実現
するときのブロック図である。
するときのブロック図である。
【図15】 本発明の実施例2を示すブロック図であ
る。
る。
【図16】 実施例2の生成処理部を示すブロック図で
ある。
ある。
【図17】 台形データのバンド境界での分割を説明す
る図である。
る図である。
【図18】 実施例2の展開処理部を示すブロック図で
ある。
ある。
【図19】 入力バッファと1/Nバンドバッファの使
用方法を説明する図である。
用方法を説明する図である。
1 印刷データ作成部 2 印刷データ入力部 3 生成処理部 4 展開処理部 6 読み出し部 7 出力部 30 字句解析部 31 トークン解釈部 32 命令実行部 33 画像処理部 34 描画状態記憶部 35 ベクターデータ生成部 36 フォント管理部 37 マトリックス変換部 38 ショートベクター生成部 39 台形データ生成部 40 台形データ管理部 41 バンド分解部 42 台形データ記憶部 50 中間データ転送制御部 51 印字データ転送制御部 52 メモリ部 521 ワークメモリ 522 ページバッファ 523 入力バッファA 524 入力バッファB 525 1/NバンドバッファA 526 1/NバンドバッファB 53 描画部 54 展開スキャンライン指示部 55 リフレッシュ制御部 56 アービトレーション部 530 中間データ入力部 531 座標計算部A 532 座標計算部B 533 エッジ描画部 534 DDAパラメータ計算部 535 DDA処理部 536 座標更新部 537 アドレス計算部 538 マスク演算部 539 データ演算部 540 RmodW処理部 60 バッファ切替え部 61 スキャンラインカウンタ 62 展開処理部総数レジスタ 70 セレクタ 71 ラッチ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 関 範顕 神奈川県足柄上郡中井町境430 グリーン テクなかい 富士ゼロックス株式会社内 (72)発明者 河田 哲郎 神奈川県足柄上郡中井町境430 グリーン テクなかい 富士ゼロックス株式会社内
Claims (5)
- 【請求項1】 所定の言語で印刷内容を記述した印刷デ
ータを入力して、この印刷データをビットマップデータ
に展開して出力する印刷処理装置において、 前記印刷データを入力し、描画コマンドに変換して出力
する生成処理手段と、 前記描画コマンドを入力し、ビットマップデータを出力
するN(Nは2以上の整数)個の展開処理手段と、 前記展開処理手段の各々に対応する、ビットマップデー
タを一時保持するN個の記憶手段と、 前記N個の記憶手段から選択的にビットマップデータを
読み出す読み出し手段と、 前記読み出し手段によって読み出されたビットマップデ
ータを出力する出力手段とを有し、 前記生成処理手段において生成された描画コマンドは前
記N個の展開処理手段のすべてに入力され、前記N個の
展開処理手段は、入力された描画コマンドに応じて、対
応する特定のスキャンラインのビットマップデータのみ
を選択的に生成し、前記N個の記憶手段のうち、n番目
(0≦n<N)の記憶手段は、n番目の展開処理手段に
よって生成されたビットマップデータを保持し、前記読
み出し手段は、読み出すスキャンラインに対応して前記
記憶手段を切り替えることを特徴とする印刷処理装置。 - 【請求項2】 前記n番目の展開処理手段は、スキャン
ライン番号lのNによる剰余がnであるスキャンライン
のビットマップデータのみを選択的に生成することを特
徴とする請求項1に記載の印刷処理装置。 - 【請求項3】 前記読み出し手段は、読み出すスキャン
ラインのライン番号がlのとき、lのNによる剰余の数
をnとすると、n番目の記憶手段から読み出すことを特
徴とする請求項2に記載の印刷処理装置。 - 【請求項4】 前記N個の記憶手段の各々は、前記印刷
データの1ページに相当するビットマップデータを記憶
するための容量の1/Nのサイズを持つことを特徴とす
る請求項1、2または3に記載の印刷処理装置。 - 【請求項5】 前記N個の記憶手段は少なくとも2組設
けられ、前記N個の展開処理手段は、前記印刷データの
1ページを分割してなる分割領域の各々に対して生成さ
れるビットマップデータを前記分割領域毎に切り替えて
前記少なくとも2組のN個の記憶手段に供給し、前記記
憶手段の各々は、前記分割領域のビットマップデータを
記憶するための容量の1/Nのサイズを持つことを特徴
とする請求項1に記載の印刷処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8312165A JPH10151815A (ja) | 1996-11-22 | 1996-11-22 | 印刷処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8312165A JPH10151815A (ja) | 1996-11-22 | 1996-11-22 | 印刷処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10151815A true JPH10151815A (ja) | 1998-06-09 |
Family
ID=18026026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8312165A Pending JPH10151815A (ja) | 1996-11-22 | 1996-11-22 | 印刷処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10151815A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529289B1 (en) | 1999-02-22 | 2003-03-04 | Fuji Xerox Co., Ltd. | Image processing apparatus |
US6654139B1 (en) | 1998-11-11 | 2003-11-25 | Nec Corporation | Printer system with image processing system in which drawing operations are executed in parallel |
JP2009146251A (ja) * | 2007-12-17 | 2009-07-02 | Fuji Xerox Co Ltd | 画像処理装置および画像形成システムとプログラム |
JP2014164551A (ja) * | 2013-02-26 | 2014-09-08 | Renesas Electronics Corp | 画像処理lsi及び画像処理プログラム |
-
1996
- 1996-11-22 JP JP8312165A patent/JPH10151815A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654139B1 (en) | 1998-11-11 | 2003-11-25 | Nec Corporation | Printer system with image processing system in which drawing operations are executed in parallel |
US6529289B1 (en) | 1999-02-22 | 2003-03-04 | Fuji Xerox Co., Ltd. | Image processing apparatus |
JP2009146251A (ja) * | 2007-12-17 | 2009-07-02 | Fuji Xerox Co Ltd | 画像処理装置および画像形成システムとプログラム |
JP4543340B2 (ja) * | 2007-12-17 | 2010-09-15 | 富士ゼロックス株式会社 | 画像処理装置および画像形成システムとプログラム |
US8154766B2 (en) | 2007-12-17 | 2012-04-10 | Fuji Xerox, Co., Ltd. | Image processing device, image forming system, image forming method and computer readable medium storing program |
JP2014164551A (ja) * | 2013-02-26 | 2014-09-08 | Renesas Electronics Corp | 画像処理lsi及び画像処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6219149B1 (en) | Print processing apparatus | |
EP0575134A2 (en) | Method and apparatus for printing according to a graphic language | |
JP3834935B2 (ja) | 印刷処理装置 | |
JP3125863B2 (ja) | 印刷処理装置 | |
JPH1131052A (ja) | 文書処理システム | |
JPH10151815A (ja) | 印刷処理装置 | |
JP3885282B2 (ja) | 印刷データ処理装置および印刷データ処理方法 | |
JP3640133B2 (ja) | 印刷処理装置 | |
JP2001096854A (ja) | 印刷処理装置および印刷処理方法 | |
JP4103164B2 (ja) | 印刷処理装置 | |
JP3204136B2 (ja) | 画像処理装置及び圧縮処理方法 | |
JP3671633B2 (ja) | 印刷データ処理装置 | |
JPH10157217A (ja) | 印刷処理装置 | |
JP3864535B2 (ja) | 印刷処理装置および印刷処理方法 | |
JPH11144062A (ja) | 印刷処理装置 | |
JPH10305639A (ja) | 印刷処理装置および印刷処理方法 | |
JPH1110961A (ja) | 印刷処理装置および印刷処理方法 | |
JP3700363B2 (ja) | 印刷処理装置 | |
JPH10147019A (ja) | 印刷処理装置 | |
JPH10157216A (ja) | 印刷処理装置 | |
JP2000255116A (ja) | 印刷処理装置および印刷処理方法 | |
JPH11119930A (ja) | 印刷処理装置および方法 | |
JP2002024840A (ja) | 描画処理装置 | |
JP3864520B2 (ja) | 印刷処理装置及び印刷処理方法 | |
JPH10333852A (ja) | 描画処理装置 |