JP5446916B2 - 印刷画像処理システム - Google Patents
印刷画像処理システム Download PDFInfo
- Publication number
- JP5446916B2 JP5446916B2 JP2010011289A JP2010011289A JP5446916B2 JP 5446916 B2 JP5446916 B2 JP 5446916B2 JP 2010011289 A JP2010011289 A JP 2010011289A JP 2010011289 A JP2010011289 A JP 2010011289A JP 5446916 B2 JP5446916 B2 JP 5446916B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- section
- primitive
- intermediate data
- 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.)
- Active
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
Description
このプリミティブは、走査線に沿った線分描画を指示する命令である。このプリミティブの形式は、以下の通りであり、図2に示すようなデータパケットを構成する。
line(int y, int xl, int xr, unsigned char g); 又は、
line(int y, int xl, int xr, unsigned short g);
この例では、x方向を主走査方向としている。図2に示すように、yは副走査方向の座標であり、走査線の位置を表す。xl及びxrは、それぞれ、線分の左端及び右端のx座標を示す。これらはint(整数)型であり、例えば32ビット又は64ビットなどのデータ幅の値である。gは、その線分の濃度値であり、例えばデータ型がunsigned charの場合は8ビット、unsigned shortの場合は16ビットの値をとる。
このプリミティブも走査線に沿った線分の描画を指示する命令であるが、濃度値をパラメータとして持たない点が、前述のMark Line プリミティブと異なる。このプリミティブの形式は、以下の通りであり、図4に示すように図解できる。
line(int y, int xl, int xr);
パラメータy, xl, xrは前述のMark Line プリミティブの場合と同様である。このプリミティブで描画される線分の濃度値gは、後述するSet Grayプリミティブによりあらかじめ設定されている。
このプリミティブは、ローカルストレージ126に格納された多階調の画像データを、走査線上の区間に描画する命令である。このプリミティブの形式は、以下の通りであり、図5に示すように図解できる。
image(int y, int xl, int xr, unsigned char *p);
image(int y, int xl, int xr, unsigned short *p);
ここで、パラメータy, xl, xrは前述のMark Line プリミティブの場合と同様である。パラメータpは、ローカルストレージ126内に格納された画像データへのポインタである。データ型がunsigned char *の場合は8ビット幅の濃度の画像データを指し示し、unsigned short *の場合は16ビット幅の濃度の画像データを指し示す。
このプリミティブは、再利用されるデータをバックエンド装置120のローカルストレージ126に転送するための命令である。このプリミティブの形式は、以下の通りであり、例えば図7に示すようなパケット構造を持つ。
data(void *p, int size);
ここで、パラメータpは、図8に例示するように、ローカルストレージ126上のデータ転送先のアドレスであり、sizeは転送するデータのサイズ(例えばバイト単位)である。図7に示すように、このプリミティブのパケットには、ID、パラメータp及びsizeの後に、転送対象のデータ(このデータのサイズがsizeパラメータに設定される)が続く。転送対象のデータは、画像データである場合もあれば、1つ又は複数の区間データである場合もある。
このプリミティブは、ローカルストレージ126に格納された二値の画像データを、走査線上の区間に描画する命令である。このプリミティブの形式は、以下の通りであり、例えば図9に示すようなパケット構造を持つ。
image(int y, int xl, int xr, void *p, int bitpos);
ここで、パラメータy, xl, xr, pは前述のMark Gray Image プリミティブの場合と同様である。パラメータbitposは、Mark Gray Image プリミティブにはないパラメータであり、パラメータpが指し示すアドレスにあるワード又はバイトの中で、描画対象の二値画像が始まるビット位置を示す。多値画像の場合、画素値はワード又はバイトの単位で区切られるが、二値画像はビット単位なので、ワード又はバイトの途中から始まる場合もあり得るため、このパラメータが設けられている。
このプリミティブは、描画処理に用いるマスクをマーキング処理部122に設定する命令である。マスクは、他の画像を部分的に覆い隠す(マスクする)ために用いられるデータであり、二値画像と同じ1,0の二値のフォーマットで表現される。マーキング処理部122は、マスクの画素値(ビット)が1の場合には画像の当該画素の値を描画し、0の場合は何もしない。
mask(int xl, void *p, int bitpos);
ここで、パラメータxlは、マスクを使用するときの左端の位置を示す。また、パラメータpは、ローカルストレージ126上のマスクデータへのポインタであり、パラメータbitposは、そのポインタが示すワード又はバイト内で、マスクが開始するビット位置を示す。
このプリミティブは、当該プリミティブの1つ前の描画(Mark)プリミティブ(直前プリミティブと呼ぶ)が描画した区間の画像を、直前プリミティブが描画した走査線の次の走査線における同じ区間に複製する命令である。例えば、走査線y上の、xlからxrまでの区間の描画を指示する第1のプリミティブの次に、Duplicate Markプリミティブが続く場合、マーキング処理部122は、走査線y+1のxlからxrまでの区間に、第1のプリミティブにより描画された区間のデータを複製する。
duplicate(void);
このように、このプリミティブは、パラメータを持たない。
このプリミティブも、Duplicate Markプリミティブと同様1つ前の描画プリミティブが描画した走査線の画像を次の走査線に複製するものであるが、複製する区間の幅を前の描画プリミティブの区間から変更する点がDuplicate Markプリミティブとは異なる。このプリミティブの形式は、以下の通りであり、例えば図11に示すようなパケット構造を持つ。
window(int xl, int xr);
ここで、xl, xr はそれぞれ区間の左端及び右端の位置を示す。
このプリミティブは、Mark Gray Lineプリミティブのような濃度値の指定のないプリミティブの描画に用いる濃度値をマーキング処理部122に設定するための命令であり、次のデータ形式をとる。
setgray(unsigned char g); 又は、
setgray(unsigned short g);
ここで、gは、その線分の濃度値であり、例えばデータ型がunsigned charの場合は8ビット、unsigned shortの場合は16ビットの値をとる。
このプリミティブは、半透明処理の透過率を設定する命令である。すなわち、このプリミティブは、あるオブジェクトを既に描画済の下地の上に重畳して描画する場合に、下地の画素値を描画結果にどれだけ反映させるか(すなわちどれだけ透過させるか)を規定するパラメータを、マーキング処理部122に設定するのに用いる。このプリミティブは、次のデータ形式をとる。
setalpha(unsigned char ab, unsigned char as, unsigned char ar);
マーキング処理部122は、このプリミティブにより、透過率(寄与度)を表すパラメータab, as, ar が設定されている場合に、ある描画プリミティブを実行すると、その実行結果としての濃度値grを例えば次式で計算する。
gr = (ar/255) * ((ab/255) * gb + (as/255) * gs) ・・・(1)
ここで、gsは当該描画プリミティブが描画しようとする濃度値(すなわち当該描画プリミティブが規定する濃度)であり、gbは当該描画プリミティブが描画しようとする画素に既に書き込まれている濃度値(すなわち下地の画素値)である。ab=0, as=255とすれば、下地画像を今回描画する画像で完全に覆ってしまう、通常の不透明描画を実現できる。
このプリミティブも、Set Alphaプリミティブと同様、半透明処理の透過率を設定するものであるが、Set Alphaプリミティブが透過率を1組の固定パラメータの組として設定するのに対し、このプリミティブはマスクを用いて画素単位で透過率パラメータを設定する。このプリミティブは、次に示すデータ形式をとり、そのパケット構造は図13に示すようなものとなる。
setalpha(int xl, unsigned char *pab, unsigned char *pas, unsigned char *par);
ここで、パラメータxlは、図14に示すように、透過率マスクを使用するときの左端の位置を示す。pab, pas, parは、上述の式(1)で用いた下地の寄与度ab, 当該プリミティブにより重畳される画像の寄与度as, 及び重畳結果の最終画像に対する寄与度arをそれぞれ画素ごとに規定するマスクデータへのポインタである。ここで参照されるマスクデータは、Data Transferプリミティブによりあらかじめローカルストレージ126に書き込まれている。
ハーフトーン処理部124で用いるハーフトーンの設定のためのプリミティブであり、次に示すデータ形式をとる。
sethalftone(int halftoneID);
パラメータhalftoneIDは、ハーフトーンの種類を示す識別情報である。
このプリミティブは、ローカルストレージ126に格納されているプリミティブの実行を指示する命令である。すなわち、Data Transferプリミティブによりプリミティブの集まり(プリミティブセットと呼ぶ)がローカルストレージ126にあらかじめ転送されている場合に、このExecuteプリミティブによりそのプリミティブセットの実行をマーキング処理部122に指示することができる。Executeプリミティブは、文字のフォントなど、印刷データ内で繰り返し使用されるオブジェクトについてのデータ転送量を低減するのに資する。すなわち、繰り返し使用されるオブジェクトを表すプリミティブセットのデータをあらかじめローカルストレージ126に格納しておけば、その後そのオブジェクトを描画する場合には、そのプリミティブセットのデータそのものの代わりに、格納したデータを呼び出して実行するExecuteプリミティブをフロントエンド装置110からバックエンド装置120に対して送ればよい。
execute(int y, int x, void *p, int size);
ここで、パラメータy, xは、図16に示すように、実行するプリミティブセットを描画する基準位置の座標を示す。また、パラメータpは、実行対象のプリミティブセットが格納されているローカルストレージ126のアドレスを指し示す。また、パラメータsizeは、その実行対象のプリミティブセットのうち、実行する部分のサイズ(例えばバイト数)を表す。
Claims (5)
- 1以上の画像要素をページ記述言語で記述する印刷データから、前記画像要素ごとに、当該画像要素が各走査線上で占める区間と当該区間内の各画素の値とを規定する、走査線順に並んだ区間データの集まりを生成し、生成したそれら各画像要素に対応する区間データの集まりを前記印刷データで規定される前記各画像要素の重なり順に従って並べた中間データを生成して出力する中間データ生成装置と、
前記中間データ生成装置から出力された前記中間データをデータ通信路経由で受信し、受信した前記中間データに含まれる各区間データを当該中間データ内での並び順に描画処理することで各走査線の画像データを生成し、生成した各走査線の画像データ又は当該画像データに対してあらかじめ定められた画像処理を行った結果の画像データを、走査線の順に印刷装置に供給する画像データ生成装置と、
を備える印刷画像処理システム。 - 前記中間データ生成装置は、画像データ又は区間データを前記画像データ生成装置の再利用データ格納部に格納する格納命令と、前記再利用データ格納部に格納された画像データ又は区間データを読み出して描画処理を行う再利用命令と、を含んだ中間データを生成する機能を備え、
前記画像データ生成装置は、前記中間データ生成装置から受信した中間データに前記格納命令が含まれる場合は、当該格納命令にて指定された画像データ又は区間データを当該画像データ生成装置の再利用データ格納部に格納し、前記中間データ生成装置から受信した中間データに前記再利用命令が含まれる場合は、当該再利用データ格納部に格納された画像データ又は区間データのうち当該再利用命令により指定された画像データ又は区間データを読み出して描画処理を行う、
ことを特徴とする請求項1記載の印刷画像処理システム。 - 前記中間データ生成装置を複数備えると共に、前記印刷装置の用いる各基本色に対応してそれぞれ個別に前記画像データ生成装置を備え、前記複数の中間データ生成装置のそれぞれが前記複数の画像データ生成装置に対して前記データ通信路を介して接続されており、
前記複数の中間データ生成装置の各々に対し、前記印刷データ中の異なるページについての前記中間データの生成を割り当てる割当手段を更に備え、
前記複数の中間データ生成装置は、前記割当手段から割り当てられたページについて、当該ページ内の各画像要素を表す前記中間データを前記基本色ごとに生成して出力し、
前記各基本色に対応する前記画像データ生成装置は、それぞれ、前記複数の中間データ生成装置が出力した各ページの基本色ごとの中間データのうちの当該画像データ生成装置に対応する基本色の中間データをページ順に描画処理する、
ことを特徴とする請求項2記載の印刷画像処理システム。 - 前記複数の中間データ生成装置の各々は、
ある画像要素が第1の走査線に占める区間が、当該第1の走査線の1つ前の第2の走査線に対し当該画像要素が占める区間と同じ場合に、前記第1の走査線についての当該画像要素の区間データとして、当該区間と当該区間内の各画素の値とを規定する区間データの代わりに、前記第2の走査線についての当該画像要素の区間データを描画した画像を複製することを示す命令を採用する、
ことを特徴とする請求項1〜3のいずれか1項に記載の印刷画像処理システム。 - 前記複数の中間データ生成装置の各々は、
ある画像要素が第1の走査線に占める区間が、当該第1の走査線の1つ前の第2の走査線に対し当該画像要素が占める区間と、その区間の始点及び終点のみが異なる場合に、前記第1の走査線についての当該画像要素の区間データとして、当該区間と当該区間内の各画素の値とを規定する区間データの代わりに、前記第2の走査線についての当該画像要素の区間データを描画した画像を区間の始点と終点を変えて再利用することを示す命令を採用する、
ことを特徴とする請求項1〜4のいずれか1項に記載の印刷画像処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010011289A JP5446916B2 (ja) | 2010-01-21 | 2010-01-21 | 印刷画像処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010011289A JP5446916B2 (ja) | 2010-01-21 | 2010-01-21 | 印刷画像処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011150535A JP2011150535A (ja) | 2011-08-04 |
JP5446916B2 true JP5446916B2 (ja) | 2014-03-19 |
Family
ID=44537450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010011289A Active JP5446916B2 (ja) | 2010-01-21 | 2010-01-21 | 印刷画像処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5446916B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5344075B1 (ja) | 2012-10-11 | 2013-11-20 | 富士ゼロックス株式会社 | 印刷画像処理システムおよびプログラム |
JP5408323B1 (ja) | 2012-10-11 | 2014-02-05 | 富士ゼロックス株式会社 | 印刷画像処理システムおよびプログラム |
JP5288039B1 (ja) | 2012-11-06 | 2013-09-11 | 富士ゼロックス株式会社 | 印刷画像処理システムおよびプログラム |
-
2010
- 2010-01-21 JP JP2010011289A patent/JP5446916B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011150535A (ja) | 2011-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6729766B2 (ja) | 印刷データ処理装置及びプログラム | |
JP5594204B2 (ja) | 画像処理システム | |
US8861014B2 (en) | Systems and methods for optimized printer throughput in a multi-core environment | |
JP4905604B1 (ja) | 印刷データ処理システム及びプログラム | |
JP2012200934A (ja) | 画像データ処理システム | |
JP2817687B2 (ja) | 画像形成装置 | |
JP5446916B2 (ja) | 印刷画像処理システム | |
JP3604152B2 (ja) | ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ | |
JP5684466B2 (ja) | 複数のオブジェクト種別のオブジェクトに対応する、ラスタ画像バッファ中の少なくとも一つの画素を処理するための方法及びコンピュータで読み取り可能な媒体 | |
EP0575134B1 (en) | Method and apparatus for printing according to a graphic language | |
JPH05233786A (ja) | 異なるデータ型のインテリジェント後処理が可能な方法及び装置 | |
US20060098230A1 (en) | Data processing apparatus, data processing method, computer program, and storage medium | |
US10635955B1 (en) | Image forming method, apparatus, and program separating addresses for storing color tone data by shifting the relative address using an offset address | |
JP3728183B2 (ja) | 印刷制御装置および描画制御装置およびデータ処理方法および記憶媒体 | |
JP2011053263A (ja) | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 | |
JP2001096854A (ja) | 印刷処理装置および印刷処理方法 | |
US10565482B1 (en) | Image processing system | |
JP2006264257A (ja) | バンド単位で画像処理を行う画像処理装置 | |
JP4636145B2 (ja) | 画像処理装置及びプログラム | |
JP2002024840A (ja) | 描画処理装置 | |
JP6260730B2 (ja) | コンピュータ・プログラム及び印刷システム | |
JPH10151815A (ja) | 印刷処理装置 | |
JP2011197956A (ja) | プリンタ制御装置、プリンタ装置およびその制御方法 | |
JP4853654B2 (ja) | 画像処理装置、画像処理システムおよび画像処理プログラム | |
JP2005141293A (ja) | 画像処理装置、画像形成装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121220 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131129 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131216 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5446916 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |