JPH0918732A - Image processor and its method - Google Patents

Image processor and its method

Info

Publication number
JPH0918732A
JPH0918732A JP7167664A JP16766495A JPH0918732A JP H0918732 A JPH0918732 A JP H0918732A JP 7167664 A JP7167664 A JP 7167664A JP 16766495 A JP16766495 A JP 16766495A JP H0918732 A JPH0918732 A JP H0918732A
Authority
JP
Japan
Prior art keywords
color
data
rendering
image data
page
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.)
Withdrawn
Application number
JP7167664A
Other languages
Japanese (ja)
Inventor
Haruo Shimizu
治夫 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP7167664A priority Critical patent/JPH0918732A/en
Publication of JPH0918732A publication Critical patent/JPH0918732A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processor and its method in which a high speed full color output is attached without a multi-value bit map memory in full pages in a color printer receiving color PDL data and reproducing a color of multi-value. SOLUTION: When received color PDL data are capable of rendering in the unit of bands via a band memory 10 having a capacity of two bands less than the capacity of one page of the data, a hard renderer 9 applies rendering to data in color sequence and provides an output in the unit of bands. On the other hand, when rendering is disabled, a resolution conversion section 406 conducts resolution conversion of data or a data quantity of the color PDL data is reduced by halftone processing by referring a dither table 15, the hard renderer 9 applies rendering to color image data for one page and the result is stored once in a band memory 10 or a management RAM 7 and color image data for one page are outputted in the unit of bands.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は情報処理装置及びそ
の方法に関し、例えば、高解像度又は高階調のカラー画
像を出力する情報処理装置及びその方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus and a method thereof, for example, an information processing apparatus and a method thereof for outputting a color image of high resolution or high gradation.

【0002】[0002]

【従来の技術】最近の高機能ワークステーションやパー
ソナルコンピュータ等(以下、ホストコンピュータと称
する)の出現により、フルカラーによる文字、図形、イ
メージデータ等のハンドリングが容易に行える環境が整
ってきた。これに伴い、カラー画像情報を用いた文書、
OHP、スライド、アート、デザイン等、広範な分野
で、カラー画像情報が利用されている。
2. Description of the Related Art With the recent advent of high-performance workstations, personal computers, etc. (hereinafter referred to as host computers), an environment has been established in which full-color characters, figures, image data, etc. can be easily handled. Along with this, documents using color image information,
Color image information is used in a wide range of fields such as OHP, slides, art, and design.

【0003】このように、CADやCG,カラーDTP
等、カラー情報を扱うアプリケーションが広範な分野に
亙って利用されており、これらホストコンピュータ側で
作成したカラー情報を記録媒体上に印刷出力するために
は、該カラー情報をプリンタ等の出力装置に送信する必
要があった。この場合のプリンタとしては、まずホスト
コンピュータ側においてそのCPUにより文字、イメー
ジ、図形等のカラー情報をプリンタの解像度に合わせた
画像情報に展開し、その後、プリンタ側に送出する、所
謂ダムプリンタ又はビデオプリンタとしての利用形態が
一般的であった。
In this way, CAD, CG, color DTP
Applications for handling color information are used in a wide range of fields, and in order to print out the color information created on the host computer side on a recording medium, the color information is output from a printer or other output device. Had to send to. The printer in this case is a so-called dumb printer or video that first develops color information such as characters, images, and graphics into image information matching the resolution of the printer by the CPU on the host computer side, and then sends it to the printer side. The usage form as a printer was general.

【0004】この方式はプリンタ側の機構をシンプルに
し、ホストコンピュータ側で多くの処理を実行する点に
特徴がある。しかしながら、処理対象がカラー情報であ
る場合には、そのデータ量が大量となるため、ホストコ
ンピュータとプリンタ間におけるデータ通信に多くの時
間をさかれ、全体としてのスループットが大幅に落ちて
しまう場合がある。
This system is characterized in that the mechanism on the printer side is simplified and many processes are executed on the host computer side. However, when the processing target is color information, the amount of data is large, so that a large amount of time is spent in data communication between the host computer and the printer, and overall throughput may drop significantly. is there.

【0005】そこで、例えば白黒プリンタにおいては、
ページ記述言語(Page DescriptionLanguage;PDL)
方式を適用することにより、通信するデータ量を削減す
ることを実現した。PDLとは、文字、図形、イメージ
等の画像情報を符号化した言語情報であり、ホストコン
ピュータ側から記録すべき情報をPDLとして送信し、
プリンタ側において該PDL言語を解釈し、レンダリン
グを行って各種情報をプリンタの解像度に対応したラス
タページメモリ中にスキャン変換することにより、1ペ
ージ分のイメージ情報を生成していた。
Therefore, for example, in a monochrome printer,
Page Description Language (PDL)
By applying the method, it was possible to reduce the amount of data to be communicated. PDL is linguistic information obtained by encoding image information such as characters, figures, images, etc., and information to be recorded is transmitted from the host computer side as PDL,
The printer side interprets the PDL language, performs rendering, and scan-converts various information into a raster page memory corresponding to the resolution of the printer, thereby generating image information for one page.

【0006】このPDL方式をカラープリンタにも適用
した、カラーPDLプリンタも近年普及しつつある。
Color PDL printers, in which this PDL system is also applied to color printers, have become popular in recent years.

【0007】従来のカラーPDLプリンタは、2値プリ
ンタと多値プリンタとに大別される。
Conventional color PDL printers are roughly classified into binary printers and multi-value printers.

【0008】インクジェットや熱転写型等に代表される
2値のカラープリンタにおいては、白黒プリンタと同様
に、YMCKの各色毎に1画素で1ビット分のページメ
モリを保有する。そして、カラーイメージや色文字、色
指定による塗りつぶし等の処理においては基本的にディ
ザ法を用い、更に色精度を追求する際には誤差拡散法等
の擬似中間調処理により、解像度を犠牲にして擬似的に
色階調を再現していた。
A binary color printer represented by an ink jet type or a thermal transfer type has a page memory for 1 bit per pixel for each color of YMCK, as in a monochrome printer. The dither method is basically used in the processing such as color image, color character, and filling by specifying the color, and when pursuing the color accuracy, the resolution is sacrificed by the pseudo halftone processing such as the error diffusion method. The color gradation was reproduced in a pseudo manner.

【0009】一方、高性能のインクジェットプリンタや
カラーLBP等に代表される多値のカラープリンタにお
いては、1画素においてYMCKの各色毎に複数の階調
/濃度(例えば各色256階調)が表現可能である。こ
のプリンタにおいては、上記擬似中間調処理を行うこと
なく、ホストコンピュータ側により指定された色をその
ままプリンタ内部で保持し、プリンタエンジン部に送出
することによって、高画質の出力を得ることができた。
On the other hand, in a multi-value color printer represented by a high-performance ink jet printer or a color LBP, a plurality of gradations / density (for example, 256 gradations of each color) can be expressed in each pixel for each color of YMCK. Is. In this printer, it is possible to obtain a high quality output by holding the color designated by the host computer as it is inside the printer and sending it to the printer engine section without performing the above pseudo halftone processing. .

【0010】[0010]

【発明が解決しようとする課題】しかしながら上記従来
の多値カラープリンタにおいては、多値のYMCK各色
データを格納するためのページメモリが必要となる。こ
れは例えば、階調が各色8ビット、解像度が300DP
I、最大用紙サイズがA4サイズであるとすると、1M
B×4(色)×8(ビット)=32MBものページメモ
リ容量が必要となる。
However, the above-mentioned conventional multi-value color printer requires a page memory for storing multi-value YMCK color data. This is, for example, a gradation of 8 bits for each color and a resolution of 300DP
I, if the maximum paper size is A4 size, 1M
A page memory capacity of B × 4 (color) × 8 (bit) = 32 MB is required.

【0011】即ち、多値のカラープリンタの方が、2値
のカラープリンタよりも高精細な画像が出力可能である
が、必要とするページメモリ容量は格段に大きい。従っ
て、多値のカラープリンタは2値のカラープリンタに比
べて物理的なメモリサイズが大きく、また、コスト的に
もはるかに高いものとなってしまっていた。
That is, a multi-value color printer can output a higher definition image than a binary color printer, but the required page memory capacity is significantly larger. Therefore, the multi-value color printer has a larger physical memory size than the binary color printer, and the cost is much higher.

【0012】本発明では上記従来の情報処理装置におけ
る欠点に鑑み、多値の色再現が可能なカラープリンタに
おいて、フルページの多値ビットマップメモリを用いず
に高速なフルカラー出力を可能とする情報処理装置及び
その方法を提供することを目的とする。
In the present invention, in view of the above-mentioned drawbacks of the conventional information processing apparatus, in a color printer capable of multi-value color reproduction, information that enables high-speed full-color output without using a full-page multi-value bitmap memory An object of the present invention is to provide a processing device and a method thereof.

【0013】[0013]

【課題を解決するための手段】上述した目的を達成する
ための一手段として、本発明の情報処理装置は以下の構
成を備える。
As one means for achieving the above object, an information processing apparatus of the present invention has the following configuration.

【0014】即ち、カラーPDLデータを入力する入力
手段と、前記カラーPDLデータに対してレンダリング
を施すレンダリング手段と、前記レンダリング済みのカ
ラー画像データを保持する保持手段と、前記保持手段に
保持された前記レンダリング済みのカラー画像データを
出力する出力手段とを有する情報処理装置において、前
記保持手段への前記レンダリング済みのカラー画像デー
タの保持と、前記保持手段に既に保持されている前記レ
ンダリング済みのカラー画像データの前記出力手段への
出力とを並行して実行するように制御する制御手段と有
することを特徴とする。
That is, input means for inputting color PDL data, rendering means for rendering the color PDL data, holding means for holding the rendered color image data, and holding means held by the holding means. In an information processing device having an output means for outputting the rendered color image data, holding the rendered color image data in the holding means, and the rendered color already held in the holding means It is characterized by having a control means for controlling to execute the output of the image data to the output means in parallel.

【0015】例えば、前記保持手段は、前記カラー画像
データの1ページに満たない容量のバンド領域を少なく
とも2つ備えており、前記制御手段は、前記バンド領域
の一方に対してカラーPDLデータを実時間でレンダリ
ングするのと並行して、前記バンド領域の他方に既に保
持されている前記レンダリング済みのカラー画像データ
を前記出力手段へ出力するバンディング処理を実行する
ことを特徴とする。
For example, the holding means includes at least two band areas having a capacity less than one page of the color image data, and the control means implements the color PDL data for one of the band areas. In parallel with rendering in time, a banding process for outputting the rendered color image data already held in the other one of the band areas to the output means is performed.

【0016】例えば、前記カラーPDLデータはカラー
多値画像データであり、前記レンダリング手段及び出力
手段は、前記カラー多値画像データの各色毎にカラーP
DLデータのレンダリング及び出力を行うことを特徴と
する。更に、前記入力手段により入力されたカラーPD
Lデータの1ページ分が前記保持手段で保持可能となる
ように、前記カラーPDLデータのデータ量を減少させ
るデグレード手段を有し、前記レンダリング手段は、前
記デグレード手段によりデータ量が減少した1ページ分
のカラーPDLデータに対してレンダリングを施すこと
を特徴とする。
For example, the color PDL data is color multi-valued image data, and the rendering means and the output means have a color P for each color of the color multi-valued image data.
It is characterized in that DL data is rendered and output. Furthermore, the color PD input by the input means
The rendering unit has a degrading unit that reduces the data amount of the color PDL data so that one unit of the L data can be held by the holding unit, and the rendering unit has one page whose data amount has been reduced by the degrading unit. The color PDL data for one minute is rendered.

【0017】例えば、前記カラーPDLデータはカラー
多値画像データであり、前記制御手段は、前記レンダリ
ング手段によって前記カラー画像データの全色について
のレンダリングが終了した後に、レンダリング済みのカ
ラー画像データを前記出力手段によりバンド単位で出力
するように制御することを特徴とする。更に、前記制御
手段によって前記バンディング処理が可能であるか否か
を判断する判断手段を有し、前記判断手段によりバンデ
ィング不可能であると判断された場合に、前記デグレー
ド手段により前記カラーPDLデータのデータ量を減少
させることを特徴とする。
For example, the color PDL data is color multi-valued image data, and the control means outputs the rendered color image data after the rendering means completes rendering for all colors of the color image data. It is characterized in that the output means controls to output in band units. Further, the control means has a judgment means for judging whether or not the banding processing is possible, and when the judgment means judges that the banding is impossible, the degrading means determines the color PDL data. It is characterized by reducing the amount of data.

【0018】例えば、前記判断手段は、前記入力手段に
より入力されたカラーPDLデータの1ページ分が前記
保持手段で保持不可能である場合に、バンディング不可
能であると判断することを特徴とする。更に、前記レン
ダリング手段における前記カラーPDLデータのレンダ
リングに要する時間を予測する時間予測手段を有し、前
記判断手段は、前記時間予測時間により予測されたレン
ダリング時間が所定値以上である場合に、バンディング
不可能であると判断することを特徴とする。
For example, the judgment means judges that banding is impossible when one page of the color PDL data input by the input means cannot be held by the holding means. . Further, the rendering means has a time prediction means for predicting a time required for rendering the color PDL data, and the judging means performs banding when the rendering time predicted by the time prediction time is a predetermined value or more. Characterized by determining that it is impossible.

【0019】例えば、前記デグレード手段は、前記カラ
ーPDLデータの解像度変換を行う解像度変換手段であ
ることを特徴とする。例えば、前記デグレード手段は、
前記カラーPDLデータの中間調処理を行う中間調処理
手段であることを特徴とする。例えば、前記中間調処理
はディザ処理であることを特徴とする。
For example, the degrading means is a resolution converting means for converting the resolution of the color PDL data. For example, the degrading means is
It is characterized in that it is a halftone processing means for performing halftone processing of the color PDL data. For example, the halftone process is a dither process.

【0020】例えば、前記入力手段により入力されるカ
ラーPDLデータは、ページ記述言語により記述された
データであることを特徴とする。また、カラーPDLデ
ータにレンダリングを施して出力する情報処理装置にお
いて、カラーPDLデータを1ページに満たない所定バ
ンド単位にレンダリングして出力することが可能であれ
ば各色順次に前記バンド単位での出力を行い、不可能で
あれば前記カラーPDLデータのデータ量を減少させて
1ページ分のカラーPDLデータについてレンダリング
を施し、該1ページ分のカラー画像データを前記バンド
単位で出力することを特徴とする。
For example, the color PDL data input by the input means is data described in a page description language. In addition, in an information processing apparatus that renders and outputs color PDL data, if it is possible to render and output color PDL data in a predetermined band unit that is less than one page, sequentially output each color in the band unit. If not possible, the data amount of the color PDL data is reduced, rendering is performed for the color PDL data for one page, and the color image data for one page is output in the band unit. To do.

【0021】また、上述した目的を達成するための一手
法として、本発明の情報処理方法は以下の構成を備え
る。即ち、カラーPDLデータを入力してレンダリング
を施し、該レンダリング済みのカラー画像データをメモ
リに保持し、前記メモリ内のカラー画像データを出力す
る情報処理方法において、前記メモリへの前記レンダリ
ング済みのカラー画像データの保持と、前記メモリに既
に保持されている前記レンダリング済みのカラー画像デ
ータの出力とを並行して実行することを特徴とする。
Further, as one method for achieving the above-mentioned object, the information processing method of the present invention has the following configuration. That is, in the information processing method of inputting color PDL data, performing rendering, retaining the rendered color image data in a memory, and outputting the color image data in the memory, the rendered color in the memory Holding the image data and outputting the rendered color image data already held in the memory are executed in parallel.

【0022】例えば、前記メモリは、前記カラー画像デ
ータの1ページに満たない容量のバンド領域を少なくと
も2つ備えており、前記バンド領域の一方に対して前記
カラーPDLデータを実時間でレンダリングするのと並
行して、前記バンド領域の他方に既に保持されている前
記レンダリング済みのカラー画像データを出力するバン
ディング処理を実行することを特徴とする。
For example, the memory is provided with at least two band areas having a capacity less than one page of the color image data, and the color PDL data is rendered in real time to one of the band areas. In parallel with the above, a banding process for outputting the rendered color image data already held in the other of the band regions is executed.

【0023】例えば、前記カラー画像データはカラー多
値画像データであり、前記カラー多値画像データの各色
毎にカラーPDLデータのレンダリング及び出力を行う
ことを特徴とする。更に、入力されたカラーPDLデー
タの1ページ分が前記メモリで保持可能となるように、
前記カラーPDLデータのデータ量を減少させ、該デー
タ量が減少した1ページ分のカラーPDLデータに対し
てレンダリングを施すことを特徴とする。
For example, the color image data is color multi-valued image data, and the color PDL data is rendered and output for each color of the color multi-valued image data. Furthermore, one page of the input color PDL data can be held in the memory,
The data amount of the color PDL data is reduced, and the rendering is performed on the color PDL data for one page in which the data amount is reduced.

【0024】例えば、前記カラー画像データはカラー多
値画像データであり、前記カラー画像データの全色につ
いてのレンダリングが終了した後に、レンダリング済み
のカラー画像データをバンド単位で出力することを特徴
とする。例えば、前記バンディング処理が不可能である
と判断された場合に、前記カラーPDLデータのデータ
量を減少させることを特徴とする。
For example, the color image data is multi-valued color image data, and the rendered color image data is output in band units after the rendering of all the colors of the color image data is completed. . For example, when it is determined that the banding process is impossible, the data amount of the color PDL data is reduced.

【0025】例えば、カラーPDLデータを1ページに
満たない所定バンド単位にレンダリングして出力するこ
とが可能であれば各色順次に前記バンド単位での出力を
行い、不可能であれば前記カラーPDLデータのデータ
量を減少させて1ページ分のカラーPDLデータについ
てレンダリングを施し、該1ページ分のカラー画像デー
タを前記バンド単位で出力することを特徴とする。
For example, if it is possible to render and output color PDL data in a predetermined band unit that is less than one page, the colors are sequentially output in the band unit, and if it is not possible, the color PDL data is output. Of the color PDL data for one page is reduced and the color image data for one page is output in the band unit.

【0026】以上の構成により、大量のフルページ分の
ビットマップメモリを備えることなく、バンディング処
理により高速なカラー情報のレンダリング出力が可能と
なる。また、バンディング処理が不可能である場合に
も、カラー情報のデータ量を減少させることにより、や
はり高速なレンダリング出力が可能となるという特有の
作用効果が得られる。
With the above configuration, it is possible to perform high-speed rendering output of color information by banding processing without providing a large amount of full page bitmap memory. Further, even when the banding process is impossible, by reducing the data amount of the color information, it is possible to obtain a peculiar effect that high-speed rendering output is possible.

【0027】[0027]

【発明の実施の形態】以下、添付図面に沿って本発明に
係わる一実施形態について詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described in detail below with reference to the accompanying drawings.

【0028】<第1実施形態> [処理概要]まず、本実施形態の画像出力装置の特徴に
ついて説明する。本実施形態の画像出力装置においては
多値の色再現が可能であり、フルページに満たない、複
数の所定バンド分の多値ビットマップメモリ(バンドメ
モリ)を用いることにより、高速にカラーイメージ展開
を行なうことを特徴とする。以下、複数のバンドメモリ
による処理を「バンディング」と称し、詳細な説明は後
述する。
<First Embodiment> [Outline of Processing] First, the features of the image output apparatus of this embodiment will be described. In the image output device of the present embodiment, multivalued color reproduction is possible, and a multivalued bit map memory (band memory) for a plurality of predetermined bands, which does not fill a full page, is used to develop a color image at high speed. It is characterized by performing. Hereinafter, processing by a plurality of band memories will be referred to as "banding", and a detailed description will be given later.

【0029】ただし、カラーイメージ展開をリアルタイ
ムに実現できない程に大量のデータを処理する場合や、
ハードアクセラレータの制限等により印刷出力が不可能
となる様な場合には、例えば8ビットの階調表現を2ビ
ットにして階調性を落としたり、又は解像度を落とした
りすることにより、全色フルページ分のカラーイメージ
データを生成する。以下、階調性や解像度を落とすこと
を「デグレード」と称する。このデグレードにより、例
えば解像度が300DPI、最大用紙サイズがA4サイ
ズであるとすると、階調が各色2ビット表現であるか
ら、この場合のフルページ分のビットマップを格納する
ために必要なページメモリは、1MB×4(色)×2
(ビット)=8MBの容量でよい。
However, when processing a large amount of data such that color image development cannot be realized in real time,
If print output is not possible due to the limitations of the hard accelerator, for example, by changing the 8-bit gradation expression to 2 bits and decreasing the gradation, or decreasing the resolution, all colors can be fully reproduced. Generates color image data for a page. Hereinafter, lowering gradation and resolution will be referred to as “degrade”. As a result of this degradation, assuming that the resolution is 300 DPI and the maximum paper size is A4 size, since the gradation is represented by 2 bits for each color, the page memory required to store the bitmap for full pages in this case is 1MB x 4 (color) x 2
(Bit) = 8 MB capacity is sufficient.

【0030】本実施形態においては、バンディング時に
は、入力されたYMCKのレンダリングを各色毎に所定
容量のバンドメモリを用いて実行する。しかしながら、
処理中間データの格納領域不足等によりバンディング処
理が不可能である場合には、まずYMCKデータをデグ
レードする。そして、例えば一旦入力されたデグレード
後の中間データをひとまずレンダリングして、その後
に、残りの中間データについてもレンダリングして出力
する必要がある。しかしながら、バンドメモリ内におい
てYMCK各面のフルページ分のメモリを一括して獲得
することはできないため、1ページ分の画像データを複
数のバンド領域に分割し、各バンド領域毎にYMCK面
のレンダリング用のメモリを確保する。そして各バンド
毎に逐次レンダリングを行ない、レンダリング済みのペ
ージオブジェクトを解放し、次のYMCK面のレンダリ
ング用メモリ領域を獲得する工程を1ページ分繰り返す
ことにより、バンドメモリ及びその他のメモリ内にフル
ページ分のレンダリング済みのページオブジェクトを獲
得することを特徴とする。
In the present embodiment, at the time of banding, the rendering of the input YMCK is executed for each color using a band memory having a predetermined capacity. However,
If the banding process cannot be performed due to lack of the storage area of the intermediate processing data, the YMCK data is first degraded. Then, for example, it is necessary to render the once input degraded intermediate data for the time being, and then render and output the remaining intermediate data. However, since it is not possible to collectively acquire the full page memory of each YMCK surface in the band memory, one page of image data is divided into a plurality of band areas, and the YMCK surface rendering is performed for each band area. Reserve memory for Then, the process of sequentially performing rendering for each band, releasing the rendered page object, and obtaining the rendering memory area of the next YMCK plane for one page is repeated to create a full page in the band memory and other memory. It is characterized by acquiring minutes of rendered page objects.

【0031】即ち、本実施形態においてはバンディング
を行うためにフルページに満たない所定容量のバンドメ
モリを少なくとも2つ備え、高速なレンダリングを実現
するが、バンディング不可能である場合には、入力され
たPDLデータをデグレードすることにより、フルペー
ジのレンダリングを可能とすることを特徴とする。
That is, in this embodiment, at least two band memories having a predetermined capacity less than the full page are provided for banding to realize high-speed rendering, but if banding is impossible, the band memory is input. By degrading the PDL data, it is possible to render a full page.

【0032】ここで、上述したバンディング及びデグレ
ードによる色再現性を比較すると、例えばAのr乗をA
^rで示すとすると、 バンディング :(2^8)^4=4.2×10^9 色が再現
可能 デグレード :(2^2)^4=256色が再現可能 となる。
Here, comparing the color reproducibility due to the banding and the degradation described above, for example, A is the r-th power of A
If ^ r is used, banding: (2 ^ 8) ^ 4 = 4.2 × 10 ^ 9 colors can be reproduced. Degrade: (2 ^ 2) ^ 4 = 256 colors can be reproduced.

【0033】即ち、バンディングではユーザが指定した
色に従った十分な色階調を出力することができるが、デ
グレードでは256階調しか表現できず、十分な階調表
現ができない可能性が大きい。従って、デグレードを適
用する場合において高階調出力を行ないたい場合には、
ディザ法や誤差拡散手法等の擬似中間調処理を更に適用
する必要がある。
That is, in banding, a sufficient color gradation according to the color designated by the user can be output, but in the case of degradation, only 256 gradations can be expressed, and there is a high possibility that sufficient gradation expression cannot be achieved. Therefore, if you want to perform high gradation output when applying a degradation,
It is necessary to further apply pseudo halftone processing such as the dither method and the error diffusion method.

【0034】以下、上述したバンディング及びデグレー
ドを行う本実施形態の画像出力処理について、詳細に説
明する。
The image output processing of this embodiment for performing the banding and the degradation described above will be described in detail below.

【0035】図1は、本実施形態の画像出力装置のシス
テム構成を示すブロック図である。まず、同図を参照し
て画像出力処理の大まかな流れを示す。
FIG. 1 is a block diagram showing the system configuration of the image output apparatus of this embodiment. First, a rough flow of image output processing will be shown with reference to FIG.

【0036】[全体構成]図1において、1はホストコ
ンピュータ等の計算機(以下、WSと称する)、13は
記録装置であるプリンタであり、14はプリンタ13を
制御するプリンタコントローラである。
[Overall Configuration] In FIG. 1, reference numeral 1 is a computer such as a host computer (hereinafter referred to as WS), 13 is a printer which is a recording device, and 14 is a printer controller which controls the printer 13.

【0037】WS1ではカラーアプリケーションによっ
てカラー情報を作成し、作成されたカラー情報をPDL
形式に変換して該PDLデータをプリンタコントローラ
14に送出する。ここで、ここで、WS1とプリンタ1
3との間にPDLデータが流れるが、その通信形態はシ
リアル,ネットワーク、バス接続等、何であっても問題
はないが、パフォーマンス的には高速通信路であること
が望ましい。 プリンタコントローラ14において、送
られてきたカラーPDLデータはまず入力バッファ2に
格納され、プログラムROM6内のPDLコマンド解析
プログラムに従って、入力バッファ2内の入力データが
スキャンされる。3は文字のビットパターンやアウトラ
イン情報、及び文字ベースラインや文字メトリック情報
を格納するフォントROMであり、文字の出力に際して
利用される。4のパネルIOPは、プリンタコントロー
ラ14に装着される操作パネルにおけるスイッチ入力の
検知やLCDへの表示を司る、I/Oプロセッサ及びフ
ァームウェアであり、低価格のCPUが利用される。5
は拡張インタフェース(I/F)であり、プリンタコン
トローラ14において他の拡張モジュール(例えばフォ
ントROM、プログラムROM、RAM、ハードディス
ク等)とのインタフェースを司る回路である。
In WS1, color information is created by a color application, and the created color information is PDL.
The PDL data is converted into a format and sent to the printer controller 14. Here, WS1 and printer 1
Although PDL data flows to and from No. 3, there is no problem in the form of communication such as serial, network, bus connection, etc., but it is desirable to use a high-speed communication path in terms of performance. In the printer controller 14, the sent color PDL data is first stored in the input buffer 2, and the input data in the input buffer 2 is scanned according to the PDL command analysis program in the program ROM 6. A font ROM 3 stores a bit pattern of characters, outline information, and a character baseline and character metric information, and is used when outputting characters. A panel IOP 4 is an I / O processor and firmware that controls the switch input on the operation panel mounted on the printer controller 14 and the display on the LCD, and a low-cost CPU is used. 5
Is an extension interface (I / F), and is a circuit that controls the interface with other extension modules (for example, font ROM, program ROM, RAM, hard disk, etc.) in the printer controller 14.

【0038】6は本実施形態におけるソフトウェアを格
納するプログラムROMであり、CPU12によって該
ソフトウェアが読み込まれ、処理を実行する。7は該ソ
フトウェアのための管理領域RAMであり、入力された
PDLデータを解析して中間データ形式(ページオブジ
ェクト)に変換したデータや、グローバル情報等が格納
されるほか、CPU12の所謂作業領域としても使用さ
れる。
Reference numeral 6 denotes a program ROM that stores software in this embodiment, and the software is read by the CPU 12 to execute processing. Reference numeral 7 denotes a management area RAM for the software, which stores the data obtained by analyzing the input PDL data and converting it into an intermediate data format (page object), global information and the like, and also serves as a so-called work area of the CPU 12. Also used.

【0039】8は色変換ハードウェアであり、一般のW
S1で利用されているモニタの表色系であるRGB(加
法混色)色空間から、プリンタ13のカラーインクで用
いるYMCK(減法混色)色空間への変換を行なうハー
ドウェアである。該色変換処理においては、色精度を追
求すると、非線形なログ変換・3×3のマトリックス演
算等を行う必要があり、その処理量はかなりの負荷とな
ってしまうため、ハード的にはルックアップテーブル
(LUT)等を用いることにより処理の高速化を図って
いる。このLUTにおけるパラメータは、最初はプリン
タ13にとって最適なものに調節されているが、WS1
側から色変換方式を変更する旨の要求があれば、LUT
の値を変更することにより、色変換アルゴリズムをユー
ザの要求するように変更することは可能である。また、
処理時間を犠牲にすれば、CPU12においてソフトウ
ェアによる演算を行うことも可能である。
Reference numeral 8 denotes color conversion hardware, which is a general W
It is hardware that performs conversion from the RGB (additive color mixture) color space, which is the color system of the monitor used in S1, to the YMCK (subtractive color mixture) color space used for the color ink of the printer 13. In the color conversion processing, if color accuracy is pursued, it is necessary to perform non-linear log conversion, 3 × 3 matrix calculation, etc., and the processing amount becomes a considerable load, so a hardware lookup is required. By using a table (LUT) or the like, the processing speed is increased. The parameters in this LUT are initially adjusted to the optimum values for the printer 13, but WS1
If there is a request from the side to change the color conversion method, the LUT
It is possible to change the color conversion algorithm as required by the user by changing the value of Also,
If the processing time is sacrificed, it is possible for the CPU 12 to perform calculation by software.

【0040】9はハードレンダラであり、本実施形態に
おけるカラーレンダリング処理をASICハードウェア
によって実行することにより、プリンタ13へのビデオ
転送に同期して実時間によるレンダリング処理を行な
い、少ないメモリ容量でのバンディング処理を実現する
ことができる。
Reference numeral 9 denotes a hard renderer, which executes the color rendering processing in the present embodiment by ASIC hardware to perform real-time rendering processing in synchronization with video transfer to the printer 13 and with a small memory capacity. Banding processing can be realized.

【0041】10はバンドメモリであり、PDLデータ
によって展開された出力イメージを格納する領域であ
る。バンドメモリ10の容量は、上述したバンディング
を行なう場合には、1バンド分の容量が(ページ幅(ビ
ット数)×256又は512程度のバンド高さ(ビット
数)×色深さ(ビット数))で求められるビットマップ
メモリを、最低2バンド分を確保する必要がある。又、
バンディングできない、即ちデグレードを行う際には、
例えばプリンタ13がLBPであった場合、該LBPに
同期してイメージを転送する必要があり、解像度かつ/
又は色階調を落とした1ページ分のフルカラービットマ
ップメモリを確保する必要がある。以上のようなメモリ
獲得のアルゴリズムの詳細については、後述する。
A band memory 10 is an area for storing an output image developed by PDL data. When the banding described above is performed, the capacity of the band memory 10 is such that the capacity for one band is (page width (bit number) × band height (bit number) of about 256 or 512 × color depth (bit number)). ), It is necessary to secure at least two bands of bitmap memory required by (1). or,
If you can not band, that is, when degrading,
For example, if the printer 13 is LBP, it is necessary to transfer the image in synchronization with the LBP, and the resolution and / or
Alternatively, it is necessary to secure a full-color bitmap memory for one page in which the color gradation is dropped. Details of the above memory acquisition algorithm will be described later.

【0042】15はディザテーブルであり、複数のディ
ザパターンを備えている。レンダリングしたイメージを
格納するバンドメモリ10で許容された色深さ(色を示
すビット数)が、レンダリング対象のイメージの色深さ
よりも小さい場合に、少ないビット深さで色精度を再現
するために、このディザパターンを利用する。
A dither table 15 has a plurality of dither patterns. In order to reproduce color accuracy with a small bit depth when the color depth (bit number indicating the color) allowed in the band memory 10 storing the rendered image is smaller than the color depth of the image to be rendered. , Use this dither pattern.

【0043】11はプリンタインタフェース(I/F)
であり、プリンタコントローラ14と、例えばLBPで
あるプリンタ13との間で、バンドメモリ10の内容を
プリンタ13側の水平/垂直同期信号に同期してビデオ
情報として転送する。又、プリンタ13が例えばインク
ジェットプリンタであった場合には、ヘッド制御及び複
数ラインのヘッドサイズに合わせたビデオ情報の転送を
行なう。尚、プリンタI/F11においては、プリンタ
13へのコマンド送信や、プリンタ13からのステータ
ス受信も行なう。
11 is a printer interface (I / F)
The contents of the band memory 10 are transferred as video information between the printer controller 14 and the printer 13 which is, for example, an LBP in synchronization with the horizontal / vertical synchronization signals on the printer 13 side. When the printer 13 is, for example, an inkjet printer, head control and video information transfer according to the head size of a plurality of lines are performed. The printer I / F 11 also sends commands to the printer 13 and receives status from the printer 13.

【0044】CPU12はプリンタコントローラ内部の
処理を制御する演算装置であり、上述した様にプログラ
ムROM内のソフトウェアに基づいて本実施形態の処理
を司る。13はプリンタコントローラ14から送出され
るビデオ信号を記録媒体上に印刷出力するカラープリン
タであり、電子写真方式によるカラーLBPでも、イン
クジェット方式によるプリンタであってもよい。
The CPU 12 is an arithmetic unit for controlling the processing inside the printer controller, and controls the processing of this embodiment based on the software in the program ROM as described above. A color printer 13 prints and outputs a video signal sent from the printer controller 14 onto a recording medium, and may be a color LBP based on an electrophotographic system or a printer based on an inkjet system.

【0045】尚、図1に示すバンドメモリ10と管理用
RAM7とは、メモリアドレス空間として独立に確保し
ても良いが、連続した領域として確保されていても良
い。
The band memory 10 and the management RAM 7 shown in FIG. 1 may be independently secured as a memory address space, or may be secured as a continuous area.

【0046】また、図1において各矢印は、WS1から
プリンタ13までの画像データの流れを示している。こ
の画像データの流れはプログラムROM6内のソフトウ
ェアによって定義されており、以下、この処理の流れを
図2を参照しながら説明する。
Further, in FIG. 1, each arrow indicates the flow of image data from WS1 to the printer 13. The flow of this image data is defined by the software in the program ROM 6, and the flow of this processing will be described below with reference to FIG.

【0047】図2は本実施形態における画像出力処理を
示すフローチャートである。まずステップS101にお
いて、割り込み処理等により入力バッファ2にPDLデ
ータを取り込み、次にステップS102では入力された
PDLデータを言語仕様に応じて解析する。そしてステ
ップS103において、PDLデータを解析した結果、
入力データが描画コマンド、例えば文字、直線、イメー
ジ描画コマンドであるか否かを判断し、描画コマンドで
ある場合には、ステップS104において該PDLデー
タをハードレンダラ9がサポートするページオブジェク
ト形式に変換し、管理用RAM7に格納する。
FIG. 2 is a flow chart showing the image output processing in this embodiment. First, in step S101, PDL data is loaded into the input buffer 2 by interrupt processing or the like, and then in step S102, the input PDL data is analyzed according to the language specification. Then, in step S103, as a result of analyzing the PDL data,
It is determined whether the input data is a drawing command such as a character, straight line, or image drawing command. If the input data is a drawing command, the PDL data is converted into a page object format supported by the hard renderer 9 in step S104. , In the management RAM 7.

【0048】[レンダリングモデル]ここで、以後の説
明の理解のため、本実現例におけるレンダリングモデル
を図3を参照して説明する。本実施形態のレンダリング
においては、PDLデータにより、描画領域を示すマス
ク情報と、該マスク情報で示される所定領域に対する色
情報等を示すバックグランド情報と、マスク情報に対し
てバックグランド情報をどのように論理合成するかを示
す論理描画情報とが定義される。
[Rendering Model] Here, for understanding of the following description, a rendering model in the present embodiment will be described with reference to FIG. In the rendering of the present embodiment, the PDL data is used to determine mask information indicating a drawing area, background information indicating color information for a predetermined area indicated by the mask information, and background information for the mask information. And logical drawing information indicating whether to perform logical synthesis.

【0049】図3に示すモデルにおいて、151は各種
描画データの幾何的な情報、即ちどの部分が描画対象で
あるかというオン/オフの1ビットで表現可能なマスク
情報であり、152はマスク情報151で示すドットを
どのような色で塗るかというカラー多値のバックグラン
ド情報である。
In the model shown in FIG. 3, reference numeral 151 is geometric information of various drawing data, that is, mask information that can be expressed by 1 bit of ON / OFF indicating which portion is a drawing target, and 152 is mask information. This is color multi-valued background information indicating in what color the dots indicated by 151 are painted.

【0050】ここで、バックグランド情報とは、マスク
情報に対してどのようにカラー/濃淡をつけるかを示す
情報である。本実施形態におけるバックグランド情報の
種類としては、イメージとして繰り返しを行なわずにマ
スクに張り付くバックグランドパターンと、パターンを
縦/横方向に繰り返してタイルのようにマスクに張り付
けるタイルパターンとが指定可能である。尚、本実施形
態のプリンタ13はカラー印刷が可能であるため、バッ
クグランドパターン,タイルパターン共にカラー情報と
して指定可能である。
Here, the background information is information indicating how to add color / shade to the mask information. As the type of background information in the present embodiment, a background pattern that is attached to the mask without repeating the image and a tile pattern that is attached to the mask like a tile by repeating the pattern vertically / horizontally can be specified. Is. Since the printer 13 of this embodiment can perform color printing, both the background pattern and the tile pattern can be designated as color information.

【0051】本実施形態におけるレンダリングは、この
マスク情報151とバックグランド情報152、及び、
マスク情報151とバックグランド情報152をどのよ
うに合成するか(例えばSET,OR,XOR,BLE
ND,ADD等)を示す論理描画方式情報との3要素に
より構成される。例えば任意形状でのクリップ処理を行
なう際には、マスク情報151によって示される形状デ
ータにまずクリッピングを施し、クリッピング後に残っ
た領域のみをマスクとする。その結果、レンダリングさ
れたイメージは154に示すようになる。
The rendering in this embodiment is performed by the mask information 151, the background information 152, and
How to combine the mask information 151 and the background information 152 (for example, SET, OR, XOR, BLE)
(ND, ADD, etc.) and logical drawing method information indicating the three elements. For example, when performing clipping processing with an arbitrary shape, the shape data indicated by the mask information 151 is first clipped, and only the area remaining after clipping is used as a mask. As a result, the rendered image is as shown at 154.

【0052】[マスク情報]次に、本実現例におけるマ
スク情報について説明する。本実施形態でサポートする
マスク情報は、ランレングス(主走査方向(X方向)に
おけるスキャンライン)、エッジが交差しない凸多角
形、ビットマップイメージ、ビットマップフォント等と
して指定される。本実施形態のハードレンダラ9は、こ
れらのマスク情報についての高速なハードウェア・レン
ダリングに適した構造であり、例えば図4の(a)に示
す五角形のマスク情報は、図2のステップS104にお
いて、図4の(b)に示す様な交差しない5個の三角形
(tri1〜tri5)に分割され、図4の(a)のよ
うに塗り潰される。尚、図4の(a)及び(b)に示し
た塗り潰しは、even-oddルールを適用した例を示す。
[Mask Information] Next, the mask information in this embodiment will be described. The mask information supported in this embodiment is specified as a run length (scan line in the main scanning direction (X direction)), a convex polygon with no edges intersecting, a bitmap image, a bitmap font, or the like. The hard renderer 9 of the present embodiment has a structure suitable for high-speed hardware rendering of these mask information. For example, the pentagonal mask information shown in (a) of FIG. It is divided into five non-intersecting triangles (tri1 to tri5) as shown in FIG. 4 (b) and filled in as shown in FIG. 4 (a). In addition, the filling shown in (a) and (b) of FIG. 4 shows an example in which the even-odd rule is applied.

【0053】又、図4の(c)に示すようなラインの接
続処理部においては、DDAアルゴリズムを適用して管
理用RAM7内の作業領域にラインの接続情報(round,m
iter,triangle)を考慮して展開した後、その最終的な外
部形状をYスキャンライン毎にmin_x,max_x
をペア情報としてランレングス方式で保持し、その後の
高速なレンダリング(ステップS111)に備える。
Further, in the line connection processing section as shown in FIG. 4C, the DDA algorithm is applied to the work area in the management RAM 7 and the line connection information (round, m
Iter, triangle) is developed and the final external shape is min_x, max_x for each Y scan line.
Is stored as pair information in the run length method, and is prepared for subsequent high-speed rendering (step S111).

【0054】このようにして最終的に生成される各マス
クオブジェクトは、フルページメモリよりも少ないメモ
リ容量でのレンダリング、即ち本実施形態におけるバン
ディングを行なうため、ページメモリを複数のバンドに
分割する。尚、1バンドは高さが2の冪乗ドット分であ
ることが望ましく、例えば512ドット程度が最適であ
る。そして、各マスクオブジェクトをバンド毎にソーテ
ィングし、各バンド内で例えば図4の(d)に示すよう
なリンクリストを構成する。図4の(d)に示すリンク
リストは図4の(b)に示すマスク情報に対応したもの
であり、例えば図4の(b)に示すバンド2内において
は、そのスキャン順にマスク情報tri5,tri1,
tri4を含んでいることを示す。
Each mask object finally generated in this way divides the page memory into a plurality of bands in order to perform rendering with a memory capacity smaller than the full page memory, that is, banding in the present embodiment. In addition, it is desirable that one band has a height corresponding to a power of 2 dots, and for example, about 512 dots is optimum. Then, each mask object is sorted for each band, and a linked list as shown in (d) of FIG. 4 is formed in each band. The linked list shown in (d) of FIG. 4 corresponds to the mask information shown in (b) of FIG. 4. For example, in band 2 shown in (b) of FIG. tri1,
It indicates that tri4 is included.

【0055】即ち、バンドを跨ぐマスク情報(多角形マ
スク情報)に関しては、各バンドで多角形情報を共有化
する。
That is, regarding the mask information (polygonal mask information) straddling the bands, the polygonal information is shared by each band.

【0056】図2のステップS105において、各バン
ド毎に分割したマスク情報毎に、レンダリング時に必要
となるデータのデコード時間及びレンダリング時間を求
め、各バンド毎に加算する。
In step S105 of FIG. 2, the decoding time and the rendering time of the data required at the time of rendering are obtained for each mask information divided for each band and added for each band.

【0057】そして得られた予測時間情報を、各色(Y
MCK)毎のプレーンPにおけるバンドi毎に保持し、
デコード時間としてpred_decode(P-i)と、レンダリング
時間としてpred_render(P-i)とをそれぞれP×i個分保
有する。
Then, the estimated time information obtained is used for each color (Y
Hold for each band i in the plane P for each MCK),
Pred_decode (Pi) as the decoding time and pred_render (Pi) as the rendering time are held for P × i each.

【0058】尚、デコード時間は作成されたオブジェク
トのデータ量にほぼ比例する。しかし、例えば図4に示
すバンド3におけるtri1,tri4のデコード時間
は、直前のバンド2の開始点からの、バンド3における
多角形の開始点のオフセットを求める時間が余分に必要
となる。
The decoding time is almost proportional to the data amount of the created object. However, for example, the decoding time of tri1 and tri4 in band 3 shown in FIG. 4 requires extra time to find the offset of the starting point of the polygon in band 3 from the starting point of the immediately preceding band 2.

【0059】また、レンダリング時間は、(バンド内の
マスク面積)×(バッググランドの色深さ)×(論理描
画の種類による演算ファクタ)によって求められる。
The rendering time is obtained by (mask area in band) × (color depth of bag ground) × (calculation factor depending on the type of logical drawing).

【0060】尚、一般的にKプレーン(黒)はどのマス
クオブジェクトにおいても含まれる可能性が高いが、C
MYプレーンは黒文字等では利用されないため、K情報
のみを含むオブジェクトではステップS105における
予測時間の加算は実行しない(CMYオブジェクト対
応)。
Generally, the K plane (black) is likely to be included in any mask object, but C
Since the MY plane is not used for black characters or the like, the addition of the prediction time in step S105 is not executed for an object containing only K information (corresponding to CMY object).

【0061】図2に戻り、ステップS103において入
力されたPDLデータが描画コマンドでない場合には、
ステップS106で該PDLデータが各種属性(バック
グランド、論理描画等)の設定コマンドであるか否かを
判定する。属性設定コマンドであれば、ステップS10
7に進んで各属性に対応するカレントステート処理を実
行する。カレントステート処理においては、PDLデー
タにおけるバックグランド情報を解析し、該解析結果を
管理用RAMに格納する際に、色変換ハードウェア8に
おいて、WS1から送られてくるRGBデータをYMC
Kカラーに変換して、バックグランド情報として保持し
ておく。即ち、カレントステート処理とは、PDLデー
タをハードレンダラ9によって読み込み可能なデータ形
式(オブジェクト形式)に変換するものである。尚、こ
の色変換をハードウェアでなくソフトウェアで実現する
形態も考えられるが、処理の高速化のためにはハードを
用いるのが望ましい。
Returning to FIG. 2, if the PDL data input in step S103 is not a drawing command,
In step S106, it is determined whether or not the PDL data is a setting command for various attributes (background, logic drawing, etc.). If it is an attribute setting command, step S10.
In step 7, the current state process corresponding to each attribute is executed. In the current state process, when the background information in the PDL data is analyzed and the analysis result is stored in the management RAM, the RGB data sent from WS1 is converted into YMC by the color conversion hardware 8.
It is converted into K color and held as background information. That is, the current state process is to convert PDL data into a data format (object format) that can be read by the hard renderer 9. It is possible to implement the color conversion by software instead of hardware, but it is preferable to use hardware for speeding up the processing.

【0062】一方、ステップS106でPDLデータが
各種属性の設定コマンドでない場合にはステップS10
8に進む。ステップ108では、例えばデバッグ処理等
の目的で現在の状態のダンプ処理等を行なう。そして、
処理はステップS102に戻る。
On the other hand, if the PDL data is not a setting command of various attributes in step S106, step S10
Proceed to 8. In step 108, dump processing of the current state is performed for the purpose of debugging processing, for example. And
The process returns to step S102.

【0063】ステップS105における時間予測、又は
ステップS107におけるカレントステート設定処理が
終了すると、処理はステップS109に進み、1ページ
分のPDLデータ解析が終了したか否かを判定し、未終
了であればステップS102に戻る。この、ステップS
102からS109までの処理が、PDLデータからオ
ブジェクトデータへのデータフィルタリングタスクであ
り、所謂インタプリタ処理である(以下、インタプリタ
タスクと称する)。そして、ステップS110以降から
バンドメモリ10への描画を行う本実施形態のレンダリ
ング処理を行うレンダリングタスクが開始される。これ
ら両タスクは、特にレンダリングタスクにおいてはリア
ルタイム処理が要求されるため、リアルタイムOS上で
それぞれ別タスクとして実装される。また、レンダリン
グタスクはインタプリタタスクよりも優先して動作する
ように、プライオリティを高く設定する。
When the time prediction in step S105 or the current state setting process in step S107 is completed, the process proceeds to step S109, it is determined whether the PDL data analysis for one page is completed, and if it is not completed. It returns to step S102. This step S
The processing from 102 to S109 is a data filtering task from PDL data to object data, which is so-called interpreter processing (hereinafter referred to as an interpreter task). Then, the rendering task of performing the rendering process of the present embodiment for drawing on the band memory 10 is started from step S110 and thereafter. Both of these tasks are implemented as separate tasks on the real-time OS, since real-time processing is required particularly in the rendering task. In addition, the rendering task is set to a high priority so that it operates with priority over the interpreter task.

【0064】ステップS110において、レンダリング
の前処理として、ページオブジェクトについてバンディ
ング可能か否かを判定する。以下、バンディングによる
レンダリングを、「バンドレンダリング」と称する。こ
こで、バンディング処理が不可能である場合の例を以下
に列挙する。
In step S110, as a preprocessing of rendering, it is determined whether the page object can be banded. Hereinafter, rendering by banding is referred to as "band rendering". Here, examples of cases where banding processing is impossible are listed below.

【0065】Flood Fill命令(点指定塗りつぶし)等
がページ中に存在する。
A Flood Fill command (point-designated fill) exists in the page.

【0066】大量のイメージデータ入力により、作業
領域となる管理用RAM7に格納されるべき情報があふ
れる(メモリデグレード)。
By inputting a large amount of image data, information to be stored in the management RAM 7 serving as a work area overflows (memory degradation).

【0067】プリンタ13が電子写真LBPやLED
プリンタである場合には、一度記録用紙を給紙して記録
を開始すると、バンディング処理ではプリンタ13への
ビデオ信号転送とバンドへのレンダリングを並行処理す
る必要があるため、ステップS105で計算されたバン
ド毎のレンダリング時間pred_decode(P-i),pred_render
(P-i)に関し、ある色プレーンのいずれかのバンドにお
いて所定の閾値をオーバーする(タイムデグレード)。
The printer 13 is an electrophotographic LBP or LED.
In the case of a printer, once the recording paper is fed and recording is started, it is necessary to perform the video signal transfer to the printer 13 and the rendering to the band in parallel in the banding process. Rendering time for each band pred_decode (Pi), pred_render
Regarding (Pi), a certain threshold is exceeded in any band of a certain color plane (time degradation).

【0068】ステップS110において上記いずれかの
条件に適合することが検知されると、バンディングを実
行できないため、フルペイントフラグ(ful-p-flag)をセ
ットしてステップS112に進む。そして、強制的に出
力画像の解像度かつ/又は階調を落として、デグレード
モードによるフルペイントのレンダリングを行なう。即
ち、バンドメモリ10及び管理用RAM7内にフルペイ
ント情報を生成しながらレンダリングを行う。このフル
ペイントレンダリングについては、後述する。
When it is detected in step S110 that one of the above conditions is met, banding cannot be executed, so the full paint flag (ful-p-flag) is set and the process proceeds to step S112. Then, the resolution and / or the gradation of the output image are forcibly reduced, and full paint rendering in the degraded mode is performed. That is, rendering is performed while generating full paint information in the band memory 10 and the management RAM 7. This full paint rendering will be described later.

【0069】尚、プリンタ13がインクジェットプリン
タ等、記録ヘッドの移動をプリンタコントローラ14側
で制御できる形態である場合においては、上記で示し
た条件(タイムデグレード)については、記録ヘッドの
移動速度を小さくすることにより、バンディング処理が
可能となる。
In the case where the printer 13 is an ink jet printer or the like in which the movement of the recording head can be controlled by the printer controller 14 side, the moving speed of the recording head is reduced under the above condition (time degradation). By doing so, banding processing becomes possible.

【0070】ここで、図5を参照して、本実施形態のバ
ンディング処理とデグレード処理によるレンダリングの
実行について説明する。尚、図5において上述した図1
と同様の構成には同一番号を付す。
Now, with reference to FIG. 5, the execution of rendering by the banding process and the degradation process of this embodiment will be described. It should be noted that FIG.
The same numbers are given to the same configurations as.

【0071】図5によれば即ち、まず入力バッファ2に
おいてPDLデータを解析した結果得られたバックグラ
ンド情報が、RGB多値データとして色変換部ハードウ
ェア8に入力され、YMCKデータに変換される。そし
て、ステップS110においてバンディング可能と判断
されると、各色毎に、ハードレンダラ9において入力バ
ッファ2内のマスク情報を参照してバンド単位のレンダ
リングを施し、バンドメモリ10を介してバンド単位の
ビデオ信号としてプリンタ13に出力される。
According to FIG. 5, that is, first, the background information obtained as a result of analyzing the PDL data in the input buffer 2 is input to the color conversion section hardware 8 as RGB multi-valued data and converted into YMCK data. . When it is determined in step S110 that banding is possible, the hard renderer 9 refers to the mask information in the input buffer 2 to perform band-by-band rendering, and the band-based video signal is supplied via the band memory 10. Is output to the printer 13.

【0072】一方、バンディング不可能である場合に
は、マスク情報が解像度変換部406においてデグレー
ドされた後、ハードレンダラ9において1ページ分がレ
ンダリングされ、バンドメモリ10及び管理用RAM7
において各色フルページ分のビデオ信号が一旦生成され
る。この時、必要に応じて階調変換のためにディザテー
ブル15が参照される。そして、1ページ分のビデオ信
号がバンド単位でプリンタ13へ出力される。
On the other hand, if banding is not possible, the mask information is degraded by the resolution conversion unit 406, then one page is rendered by the hard renderer 9, and the band memory 10 and the management RAM 7 are used.
At, the video signals for full pages of each color are once generated. At this time, the dither table 15 is referred to for gradation conversion as needed. Then, the video signal for one page is output to the printer 13 in band units.

【0073】[バンドレンダリング]以下、本実施形態
におけるバンディング処理について、図6を参照して詳
細に説明する。
[Band Rendering] The banding process in this embodiment will be described in detail below with reference to FIG.

【0074】図6において、まずPDLデータを解析す
るインタプリタタスクによって管理用RAM7にページ
オブジェクト情報が作成される。例えば、図示されるよ
うに第iページの第0バンドと第1バンドに跨って、三
角形のマスク情報が与えられた場合について考える。そ
して、レンダリングタスクによってハードレンダラ9が
起動され,該ページオブジェクト情報をバンド単位に読
み込む。そして、そのマスク情報からY座標におけるス
キャンライン情報(x_min,x_max)を抽出
し、カレントのバックグランド情報、論理描画モードを
参照して対応するバックグランド情報をバンドメモリ1
0に書き込む。そして、全てのマスクに対応すべくY座
標における高さ情報を変化させることによって、バンド
単位のレンダリングを実行する。尚、管理用RAM7に
おいて第iページのレンダリングが行われている際に
は、同時に第i+1ページのPDLデータがインタプリ
ンタタスクによって展開されている。
In FIG. 6, page object information is first created in the management RAM 7 by an interpreter task that analyzes PDL data. For example, consider a case where triangular mask information is provided across the 0th band and the 1st band of the i-th page as illustrated. Then, the rendering task activates the hard renderer 9 to read the page object information in band units. Then, the scan line information (x_min, x_max) at the Y coordinate is extracted from the mask information, and the corresponding background information is referred to the band memory 1 by referring to the current background information and the logical drawing mode.
Write to 0. Then, by changing the height information at the Y coordinate so as to correspond to all the masks, rendering is performed in band units. When the i-th page is being rendered in the management RAM 7, the i + 1-th page PDL data is simultaneously expanded by the interpreter task.

【0075】図6において、バンドメモリ10内の第1
バンドは管理用RAM7に第1バンドの情報として読み
込まれたオブジェクト情報のレンダリング用バンドメモ
リであり、現在ハードレンダラ9によってレンダリング
中であることを示す。そしてこの時、既にレンダリング
済みの第0バンドのラスタデータは、プリンタI/F1
1を介してプリンタ13へビデオ転送される。尚、本実
施形態においてプリンタ13はカラープリンタを想定し
ているため、バンドメモリ10では4面、即ちYMCK
の各色情報毎にレンダリングが実行される。尚、同図で
は(n+1)個のバンドが図示されているが、実際には
2バンド分あれば良い。
In FIG. 6, the first memory in the band memory 10 is
The band is a band memory for rendering the object information read in the management RAM 7 as information of the first band, and indicates that the hard renderer 9 is currently rendering. At this time, the raster data of the 0th band that has already been rendered is the printer I / F1.
The video is transferred to the printer 13 via 1. Since the printer 13 is assumed to be a color printer in this embodiment, the band memory 10 has four surfaces, that is, YMCK.
Rendering is performed for each color information item. Although (n + 1) bands are shown in the figure, two bands are actually enough.

【0076】ここで、本実施形態のハードレンダラ9で
サポートできる描画論理としては、ソースオブジェクト
をS,マスク情報をM,ディスティネーション(レンダ
リング済み画像情報)をDとすると、以下の3種類があ
る。
Here, there are three types of drawing logic that can be supported by the hard renderer 9 of this embodiment, where S is the source object, M is the mask information, and D is the destination (rendered image information). .

【0077】 ・上書き ;SET(D=S) ・透過(Dに描画しない) ;TRANSP(M=1であればD=S, M≠1であればD=D) ・白 ;WHITE(D=0) この3種類の例からも分かるように、本実施形態のハー
ドレンダラ9では、例えばSとDとの間で両方の情報を
入力し、両者間で演算を行った後にDを設定するような
演算の負荷が比較的大きい処理(ブレンド)はサポート
されない。これは、各プレーンが4乃至8ビットの階調
表現を行う際に、データ演算量が非常に大きくなり、デ
グレードすることを避けるためである。
-Overwrite; SET (D = S) -Transmission (do not draw on D); TRANSP (D = S if M = 1, D = D if M ≠ 1) -White; WHITE (D = 0) As can be seen from these three types of examples, in the hard renderer 9 of the present embodiment, for example, both pieces of information are input between S and D, and D is set after calculation is performed between them. Processing (blending) with a relatively large calculation load is not supported. This is for avoiding a degradation when the amount of data calculation becomes very large when each plane expresses a gradation of 4 to 8 bits.

【0078】[ハードレンダラ9]ここで、本実施形態
におけるハードレンダラ9について説明する。図7は、
ハードレンダラ9の詳細構成を示すブロック図である。
図7において801はマイクロ実行解析部であり、予め
用意されたマイクロコード807を読み出して、上述し
たインタプリタタスクによって生成された中間情報を解
析する。生成された中間情報の例を図8に示す。そし
て、該中間情報から図7における各ハードウェア構成に
必要なバックグランド,マスク,ディスティネーション
情報を切り出して各構成に供給し、並列に処理を行なう
べく起動をかける。
[Hard Renderer 9] The hard renderer 9 in this embodiment will be described below. FIG.
3 is a block diagram showing a detailed configuration of a hard renderer 9. FIG.
In FIG. 7, reference numeral 801 denotes a micro-execution analysis unit, which reads a microcode 807 prepared in advance and analyzes the intermediate information generated by the above-described interpreter task. FIG. 8 shows an example of the generated intermediate information. Then, the background, mask, and destination information necessary for each hardware configuration in FIG. 7 is cut out from the intermediate information, supplied to each configuration, and activated for parallel processing.

【0079】図7において802はマスク生成部であ
り、入力されたマスク情報を不図示のFIFOを経由し
て受けとり、該マスク情報の詳細(ランレングス,ビッ
トマップ等)や論理描画モード(SET,TRANSP
等)に応じてデコード部に送り解析し、注目するX,Y
座標を生成する。そして、該X,Y座標をバックグラン
ドパターン生成部803やディスティネーション部80
5に渡して、それぞれ対応する情報をレンダリング部8
06に送り出すようにトリガをかける。
In FIG. 7, a mask generation unit 802 receives the input mask information via a FIFO (not shown), details of the mask information (run length, bitmap, etc.) and a logical drawing mode (SET, TRANSP
Etc.) and sends it to the decoding unit for analysis and pays attention to X, Y
Generate coordinates. Then, the X and Y coordinates are converted into the background pattern generation unit 803 and the destination unit 80.
5 and passes the corresponding information to the rendering unit 8
Trigger to send to 06.

【0080】バックグランドパターン生成部803で
は、獲得したマスク情報によりバンド中に描画する最左
上端のX,Y座標(x,y)を算出し、各座標に対応す
るバックグランドの多値情報によりデータの格納されて
いるメモリアドレスを計算し、指定された(x,y)位
置に対するバックグランドパターンを生成する。
The background pattern generation unit 803 calculates the X, Y coordinates (x, y) of the upper leftmost end to be drawn in the band based on the acquired mask information, and uses the multivalued background information corresponding to each coordinate. The memory address in which the data is stored is calculated, and the background pattern for the specified (x, y) position is generated.

【0081】例えば、バックグランド情報が32×32
の大きさでnbit-pixel深さのタイルである場合には、
データの格納されているメモリアドレスは、以下の式に
より計算される。
For example, if the background information is 32 × 32
If the tile is nbit-pixel deep with the size of
The memory address where the data is stored is calculated by the following formula.

【0082】tile-address = tile-top-addres(C,or M,
or Y)+(y mod 32)*tile-width(byteboundary)+(x mod 3
2)*nbit-pixel(tile)/8 又、ディスティネーション部805においても同様の処
理を行なう。
Tile-address = tile-top-addres (C, or M,
or Y) + (y mod 32) * tile-width (byteboundary) + (x mod 3
2) * nbit-pixel (tile) / 8 Further, the destination unit 805 also performs the same processing.

【0083】レンダリング部806では、マスク情報、
バックグランド情報、ディスティネーションパターンを
収集し、論理描画モードに応じてレンダリングを実行
し、該レンダリング結果をディスティネーション部80
5に格納する。
In the rendering unit 806, mask information,
The background information and the destination pattern are collected, the rendering is executed according to the logical drawing mode, and the rendering result is obtained by the destination unit 80.
Store in 5.

【0084】尚、マスク生成部802,バックグランド
パターン生成部803,ディスティネーション部805
においては、これら3つの構成のうちの最も処理速度の
遅い構成に依存して、全体の処理速度が決定される。
A mask generation unit 802, a background pattern generation unit 803, and a destination unit 805.
In (1), the overall processing speed is determined depending on the slowest processing speed among these three structures.

【0085】以上説明したマスク生成及びレンダリング
処理が、1つのマスクの全領域について終了するまで続
行される。
The mask generation and rendering processing described above is continued until the entire area of one mask is completed.

【0086】ハードレンダラ9では、図8に示される1
つの中間情報のレンダリングを終了すると、ネクストポ
インタ905のデータを参照して次の中間情報のレンダ
リングを試みる。そして、該中間情報がハードレンダリ
ング不可能である、即ちステートフラグ901がソフト
レンダリング(0)と判断されていれば、CPU12に
対して、割り込み信号と現在処理できなかった中間情報
の先頭アドレスを指定する。その結果K,CPU12で
はソフトレンダラを起動し、該中間情報に対してソフト
ウェアによるレンダリング処理が実行される。
In the hard renderer 9, 1 shown in FIG.
When the rendering of one intermediate information is completed, the rendering of the next intermediate information is attempted by referring to the data of the next pointer 905. If the intermediate information cannot be hard-rendered, that is, if the state flag 901 is determined to be soft rendering (0), the CPU 12 is instructed to specify the interrupt signal and the start address of the intermediate information that cannot be currently processed. To do. As a result, the K, CPU 12 activates the soft renderer, and the software renders the intermediate information.

【0087】[レンダリングとシッピング]以下、本実
施形態におけるカラー情報のバンドレンダリング及びシ
ッピングについて、図9のフローチャートを参照して説
明する。まずステップS951で、レンダリング対象と
なる色プレーンを、プリンタ13における記録の順序の
仕様に従って決定する。次に、ステップS952に進
み、マスク情報、バックグランド情報、論理描画方法に
従って、第1バンド(バンド番号1のバンド)をまずレ
ンダリングする。
[Rendering and Shipping] The band rendering and shipping of color information in this embodiment will be described below with reference to the flowchart of FIG. First, in step S951, the color plane to be rendered is determined according to the specifications of the recording order in the printer 13. Next, proceeding to step S952, the first band (band with band number 1) is first rendered according to the mask information, background information, and logical drawing method.

【0088】次にステップS953において、第iバン
ド中のページオブジェクトに対してレンダリングを行
い、ステップS954でプリンタ13から送られてくる
水平同期信号に合わせて、プリンタI/F11を通じ
て、既にレンダリング済みの第(i−1)バンドのバン
ド情報をカラービデオ信号としてプリンタ13に送出す
る。このステップS954におけるカラービデオ信号の
送出処理を、以下「シッピング」と称する。
Next, in step S953, rendering is performed on the page object in the i-th band, and in accordance with the horizontal synchronizing signal sent from the printer 13 in step S954, the rendering has already been completed through the printer I / F 11. The band information of the (i-1) th band is sent to the printer 13 as a color video signal. The process of transmitting the color video signal in step S954 will be referred to as "shipping" hereinafter.

【0089】そして、ステップS955で現在の色プレ
ーンの全てのバンドのシッピングが終了したか否かを判
定し、未終了であればステップS956に進んでバンド
番号iに1加算して、ステップS953に戻り、次のバ
ンドのレンダリング/シッピングを行う。
Then, in step S955, it is determined whether or not the shipping of all bands of the current color plane is completed. If not completed, the process proceeds to step S956, 1 is added to the band number i, and the process proceeds to step S953. Go back and render / ship the next band.

【0090】一方、ステップS955で現在の色プレー
ンのシッピングが全て終了していれば、ステップS95
7において次にレンダリングする色プレーンが残ってい
るかを判断する。残っていなければ処理を終了するが、
残っていればステップS951に戻り、次の色プレーン
に関して同様の処理を実行する。
On the other hand, if all the shipping of the current color plane is completed in step S955, step S95
In step 7, it is determined whether there is a color plane to be rendered next. If not, the process ends, but
If any remain, the process returns to step S951 to execute the same process for the next color plane.

【0091】本実施形態のバンドレンダリングにおい
て、上述した3種類のカラー描画論理(SET,WHI
TE,TRANSP)からなるページデータについて
は、図7に示すハードレンダラ9により、十分な高速出
力が可能である。尚、現在一般的に広く利用されている
ページ記述言語であるPostScript,LIPS
等は、本実施形態のカラー描画論理に準拠しているた
め、ほとんどの形式のカラーPDLデータは本実施形態
において高速にレンダリング可能である。
In the band rendering of this embodiment, the above-mentioned three kinds of color drawing logics (SET, WHI) are used.
The page data composed of TE, TRANSP) can be output at a sufficiently high speed by the hard renderer 9 shown in FIG. It should be noted that PostScript, LIPS, which is a page description language that is generally widely used at present.
Etc. are based on the color drawing logic of the present embodiment, so that color PDL data of almost any format can be rendered at high speed in the present embodiment.

【0092】尚、バンドメモリ10の容量として、 256(バンド高さ;yサイズ)×8(色深さ)×2×
4800(A4サイズ用紙,400DPIでの幅)/8
=2.5MB 弱を用意すれば、本実施形態のバンドレンダリングは実
現できる。ここで、例えば色深さが2ビットで十分であ
れば、上記メモリ容量は1/4で実現できる。
The capacity of the band memory 10 is 256 (band height; y size) × 8 (color depth) × 2 ×
4800 (A4 size paper, width at 400 DPI) / 8
= 2.5MB or less, the band rendering of the present embodiment can be realized. Here, for example, if the color depth is 2 bits, the memory capacity can be realized by 1/4.

【0093】また、バンドメモリ10においては各色8
ビット(メモリの制約があれば例えば2,4ビットでも
良い)の色深さを持ち、WS1からくるPDLデータは
一般的に1,2,4,8ビットであるため、対応するY
MCK毎の1,2,4,8ビット情報をまずページオブ
ジェクトとして格納し、レンダリング時にLUTを介し
てビット拡張処理を行う必要がある。しかし、このビッ
ト拡張処理は、後述するディザや誤差拡散に比べて演算
コストは非常に少ない。
In addition, in the band memory 10, each color 8
It has a color depth of bits (for example, 2, 4 bits may be used if there is a memory limitation), and PDL data from WS1 is generally 1, 2, 4, 8 bits, so the corresponding Y
It is necessary to first store 1, 2, 4, 8-bit information for each MCK as a page object, and perform bit extension processing via the LUT at the time of rendering. However, this bit expansion processing has a very low calculation cost as compared with dither and error diffusion described later.

【0094】本実施形態ではこのように少なくとも2バ
ンド分のバンドメモリ10によって、レンダリングとシ
ッピングとをバンド単位で並行して行うことにより、高
速処理を実現する。
In this embodiment, high-speed processing is realized by performing rendering and shipping in parallel on a band-by-band basis using the band memory 10 for at least two bands.

【0095】[デグレードレンダリング]次に、本実施
形態においてバンディング処理不可能な場合に行うデグ
レード処理について、詳細に説明する。
[Degrading Rendering] Next, the degrading process performed when banding cannot be performed in this embodiment will be described in detail.

【0096】本実施形態においてソースオブジェクト
S、及びディスティネーションDについて、バンディン
グ可能である描画論理は、上述した様にSET(D=
S),TRANSP(D=D,又はD=S),WHIT
E(D=0)であった。逆に、バンディング不可能であ
る描画論理として、ブレンドがある。これは、SとDと
の間で両方の情報を入力し、両者間で演算を行った後に
Dを設定するような演算の負荷が比較的大きい処理であ
り、例えば、 ・加算;D=S+D ・減算;D=D−S ・その他ブレンド;D=α×S+(1−α)×D(α値
はユーザが指定) ・最大値;D=Max(S,D) ・最小値;D=Min(S,D) 等の処理が挙げられる。このようなブレンドに基づいた
論理描画は、WS1では一般的にRGBデータ上で演算
される。そのため、プリンタ13においてWS1と同様
の色再現を行なうには、プリンタ13内部においてもR
GBカラーモデル上で該ブレンドを実現する必要があ
る。即ち、上述した図5に示す色変換後に管理用RAM
に格納されているオブジェクト情報、及びバンドメモリ
10に格納されているレンダリング済みビデオ情報はY
MCKオブジェクトとして格納されているが、これらの
情報を一旦RGBデータに変換する必要がある。従っ
て、デグレード時にはバンド高さ(256,あるいは5
12)毎に、YMCKの各バンドを同時にレンダリング
する必要がある。
In the present embodiment, for the source object S and the destination D, the drawing logic capable of banding is SET (D =
S), TRANSP (D = D, or D = S), WHIT
It was E (D = 0). On the contrary, blending is a drawing logic that cannot be banded. This is a process in which both the information between S and D are input, the calculation is performed between both, and then D is set, so that the load of the calculation is relatively large, for example, addition: D = S + D -Subtraction; D = DS-Other blends; D = [alpha] * S + (1- [alpha]) * D ([alpha] value is specified by the user) -Maximum value; D = Max (S, D) -Minimum value; D = Processing such as Min (S, D) may be used. In WS1, logical drawing based on such blend is generally calculated on RGB data. Therefore, in order to perform the same color reproduction as that of WS1 in the printer 13, the R inside the printer 13 as well.
The blend needs to be realized on the GB color model. That is, the management RAM after the color conversion shown in FIG.
The object information stored in the band memory 10 and the rendered video information stored in the band memory 10 are Y
Although stored as an MCK object, it is necessary to temporarily convert these pieces of information into RGB data. Therefore, when degrading, the band height (256, or 5
For each 12), each band of YMCK needs to be rendered simultaneously.

【0097】[デグレードレンダリングのメインアルゴ
リズム]以下、デグレードレンダリングにおけるメイン
アルゴリズムについて、図10及び図11を参照して説
明する。
[Main Algorithm for Degrading Rendering] The main algorithm for degrading rendering will be described below with reference to FIGS. 10 and 11.

【0098】基本的に、デグレードレンダリングのメイ
ンアルゴリズムは、解像度変換処理、メモリ獲得処理、
レンダリングの3つのフェーズに分かれている。
Basically, the main algorithms of degraded rendering are resolution conversion processing, memory acquisition processing,
It is divided into three phases of rendering.

【0099】本実施形態におけるデグレードは、図11
の(a)に示すように、ページオブジェクトが管理用R
AM7における格納エリアに入りきらなくなるメモリデ
グレードや、レンダリング予想時間が閾値を越えるタイ
ムデグレードとして検知される。尚、図11においては
バンドメモリ10と管理用RAM7とを連続したメモリ
領域とみなし、上部にバンドメモリ10を、それに続い
て管理用RAM7の領域を示す。各領域名に後続す
る()内の数字は該領域に格納される画像データの解像
度をDPI単位で示し、また、図中斜線で示される領域
はその他の管理用あるいは未使用の領域である。例え
ば、図11の(a)によれば、バンドメモリ10として
600DPI用の2バンド分の容量が確保されており、
管理用RAM7にはレンダリング対象となる600DP
Iのページオブジェクトが格納されている様子を示す。
もちろん、バンドメモリ10は複数のバンドを備える
が、説明の簡便のため、図11においては1バンドを例
として説明する。
The degradation in this embodiment is as shown in FIG.
As shown in (a) of FIG.
It is detected as a memory degradation that does not fit in the storage area in AM7 or a time degradation when the estimated rendering time exceeds the threshold value. Note that, in FIG. 11, the band memory 10 and the management RAM 7 are regarded as a continuous memory area, and the band memory 10 is shown in the upper part and the area of the management RAM 7 is shown subsequently. The number in parentheses following each area name indicates the resolution of the image data stored in the area in units of DPI, and the hatched area in the figure is another area for management or unused. For example, according to FIG. 11A, the capacity of two bands for 600 DPI is secured as the band memory 10.
600DP to be rendered in the management RAM 7
The state in which the page object of I is stored is shown.
Of course, the band memory 10 includes a plurality of bands, but for simplicity of description, one band will be described as an example in FIG. 11.

【0100】図10にデグレードレンダリングにおける
メインアルゴリズムのフローチャートを示す。まず、ス
テップS551で入力済みのオブジェクトの全てのマス
ク情報の解像度を1/2とする間引き処理を実行する。
この解像度変換の際の管理用RAM7内の様子を図11
の(b)に示す。即ち、ページオブジェクトが600D
PIから300DPIに解像度変換されることによっ
て、管理用RAM7内でページオブジェクトが占めるエ
リアが減少し、空きエリアが発生する。尚、マスク情報
の解像度変換処理についての詳細は後述する。
FIG. 10 shows a flowchart of the main algorithm in the degraded rendering. First, in step S551, a thinning process is executed to reduce the resolution of all mask information of the input object to 1/2.
FIG. 11 shows a state in the management RAM 7 at the time of this resolution conversion.
(B) of FIG. That is, the page object is 600D
By converting the resolution from PI to 300 DPI, the area occupied by the page object in the management RAM 7 decreases and an empty area occurs. The details of the resolution conversion process of the mask information will be described later.

【0101】ステップS551で全オブジェクトのマス
ク情報の解像度変換が終了すると、ステップS552に
おいて、デグレード処理で使用するフルページ分のビッ
トマップを作成するために、上記間引き処理においてオ
ブジェクトのサイズが小さくなったことを利用し、メモ
リ空間を整理するためのオブジェクトのガーベージコレ
クション(GC)を実行する。この様子を図11の
(c)に示す。図11の(c)から分かる様に、メモリ
空間はバンドメモリ10,空きエリア,ページオブジェ
クトの順に並び替えられる。
When the resolution conversion of the mask information of all the objects is completed in step S551, in step S552, the size of the object is reduced in the thinning process in order to create the bitmap for the full page used in the degrading process. Utilizing this, garbage collection (GC) of objects for organizing a memory space is executed. This state is shown in FIG. As can be seen from FIG. 11C, the memory space is rearranged in the order of the band memory 10, the empty area, and the page object.

【0102】次にステップS553において、バンドメ
モリ10内にYMCKの各プレーン毎に間引かれたサイ
ズ(図11においては300DPIに相当)のメモリ領
域を獲得し、ステップS554において、対応するYM
CKプレーン毎に、バンド単位でのレンダリングを実行
する。図11の(d)に、この様子を示す。
Next, in step S553, a memory area of the size (corresponding to 300 DPI in FIG. 11) thinned for each plane of YMCK is obtained in the band memory 10, and in step S554, the corresponding YMK is obtained.
Rendering is performed in band units for each CK plane. This state is shown in FIG.

【0103】そしてステップS555において1ページ
分全てのバンドのレンダリングが終了したか否かを判定
し、終了していない場合にはステップS556に進み、
レンダリング済みのページオブジェクトを削除する。そ
して、ステップS552に戻り、上記処理を繰り返す。
この様子を、図11の(e)に示す。即ち、ページオブ
ジェクトがバンド単位にレンダリングされ、順次ラスタ
データに置き換えられていく。
Then, in step S555, it is determined whether or not the rendering of all bands for one page is completed. If not completed, the process proceeds to step S556.
Delete the rendered page object. Then, the process returns to step S552 and the above process is repeated.
This state is shown in FIG. That is, page objects are rendered in band units and sequentially replaced with raster data.

【0104】一方、ステップS555において各色全て
のバンドのレンダリングが終了していれば、即ちフルペ
ージのラスタデータが生成されている。この様子を図1
1の(f)に示す。このように生成された300DPI
1ページ分の全色のラスタデータを、ステップS557
においてプリンタI/F11を介して、バンド単位でプ
リンタ13へ水平・垂直同期信号に合わせて順次送出
(シッピング)する。尚、この場合のフルページのラス
タデータは、600DPIから300DPIへの解像度
変換が施されているため、YMCK各色プレーン毎にイ
ンタリーブされた形態となっている。
On the other hand, if the rendering of all bands for each color is completed in step S555, that is, full-page raster data has been generated. Figure 1 shows this situation.
1 (f). 300 DPI generated in this way
The raster data of all the colors for one page is obtained in step S557.
At (1), the data is sequentially sent (shipping) to the printer 13 by the band through the printer I / F 11 in accordance with the horizontal / vertical synchronization signals. Since the full-page raster data in this case is resolution-converted from 600 DPI to 300 DPI, it is interleaved for each YMCK color plane.

【0105】尚、図11から分かる様に、デグレードレ
ンダリングの際にはバンドメモリ10と管理用RAM7
とは、その境界を限定しない。即ち、デグレードレンダ
リングにおいては全色のフルページ分のラスタデータを
生成するために、使用可能なメモリ領域を有効に利用す
ることができる。
As can be seen from FIG. 11, the band memory 10 and the management RAM 7 are used during the degraded rendering.
Does not limit the boundary. That is, in the degraded rendering, the usable memory area can be effectively used in order to generate the raster data for full pages of all colors.

【0106】[ページオブジェクトの解像度変換]次
に、デグレードレンダリングにおける解像度変換処理に
ついて説明する。デグレードレンダリングの際には、入
力されたオブジェクトをそのままリアルタイムにレンダ
リングすることができないため、バンドメモリ10に対
応するような、該オブジェクトの解像度かつ/又は階調
を落としたフルビットマップ(ビット深さ2又は4ビッ
ト等)に対してレンダリングを行う。
[Resolution conversion of page object] Next, the resolution conversion processing in the degraded rendering will be described. In the case of degraded rendering, since the input object cannot be rendered in real time as it is, a full bitmap (bit depth) corresponding to the band memory 10 in which the resolution and / or gradation of the object is reduced is set. Rendering is performed on 2 or 4 bits).

【0107】この場合、ハードレンダラ9は処理の簡素
化及び高速化を要求されるため、レンダリング時にラン
レングスや凸多角形情報等のマスク情報に対するリアル
タイムでの解像度変換は実行できない。そこで、解像度
変換はハードレンダラ9によるレンダリング以前に実行
しておく必要がある。以下、デグレード時のレンダリン
グ前処理(解像度変換処理)について詳細に説明する。
In this case, since the hard renderer 9 is required to simplify and speed up the processing, it is not possible to perform real-time resolution conversion on mask information such as run length and convex polygon information at the time of rendering. Therefore, it is necessary to execute resolution conversion before rendering by the hard renderer 9. Hereinafter, the pre-rendering process (resolution conversion process) at the time of degrading will be described in detail.

【0108】レンダリングの前処理として例えば600
DPIから300DPIに解像度を落とす際、マスク情
報がランレングスからなる場合には2ライン分をまとめ
て1つのランレングスとし、凸多角形情報からなる場合
には頂点座標の再計算を実行することにより、解像度変
換を実現する。この処理を管理用RAM7内の全てのペ
ージオブジェクトに対するマスク情報について、インタ
プリタタスクにより実行する。
As preprocessing for rendering, for example, 600
When the resolution is reduced from DPI to 300 DPI, two lines are combined into one run length when the mask information consists of run lengths, and the vertex coordinates are recalculated when the mask information consists of convex polygon information. Realize resolution conversion. This process is executed by the interpreter task for the mask information for all page objects in the management RAM 7.

【0109】マスク情報がランレングスからなる場合に
は、例えば600DPIによる2つのラインi,i+1
のX座標の開始/終了点(最左点/最右点)をそれぞれ
xl(i)/xr(i),xl(i+1)/xr(i+1)とすると、新規の
300DPIでの一つの開始/終了点であるnew_xl(i)
/new_xr(i)は以下の式により求まる。
When the mask information consists of run lengths, for example, two lines i, i + 1 of 600 DPI are used.
If the start / end points (leftmost point / rightmost point) of the X coordinate of x are set to xl (i) / xr (i) and xl (i + 1) / xr (i + 1) respectively, the new 300 DPI One start / end point, new_xl (i)
/ New_xr (i) is calculated by the following formula.

【0110】new_xl(i)=min(xl(i),xl(i+1)) new_xr(i)=max(xr(i),xr(i+1)) また、マスク情報がビットマップイメージからなる場合
には、ページオブジェクトのイメージ情報自身は変化せ
ずに、x,y方向へのスケーリングファクタをそれぞれ
1/2倍とする。
New_xl (i) = min (xl (i), xl (i + 1)) new_xr (i) = max (xr (i), xr (i + 1)) Also, the mask information is from the bitmap image. In such a case, the image information itself of the page object does not change, and the scaling factors in the x and y directions are each halved.

【0111】一方、バンドメモリ10内におけるラスタ
データの階調を落としても、ハードレンダラ9は1,
2,4,8ビット深さによるレンダリングをサポートす
るため、バックグランド情報はマスク情報とは異なり、
特にCPU12に対して負荷をかけることはない。
On the other hand, even if the gradation of the raster data in the band memory 10 is dropped, the hard renderer 9 still
Background information is different from mask information because it supports rendering with 2, 4 and 8 bit depth.
In particular, no load is applied to the CPU 12.

【0112】[フルペイント・レンダリング]図10に
示すデグレードレンダリングにおいてステップS554
で示されるレンダリング処理の概念について、以下に説
明する。この処理は、各色毎のフルページ分のメモリを
使用してレンダリングするため、以下、フルペイント・
レンダリングと称する。
[Full Paint Rendering] Step S554 in the degraded rendering shown in FIG.
The concept of the rendering process indicated by will be described below. Since this process uses the memory for full pages for each color to render,
This is called rendering.

【0113】フルペイント・レンダリングのアルゴリズ
ムを図12のフローチャートに示す。まず、ステップS
501において上述した様にインタプリタタスクにより
解像度変換されたページオブジェクト(マスク情報及び
バックグランド情報)を入力する。そして、ステップS
502で入力されたオブジェクトが描画コマンドである
か否かを判断し、描画コマンドでなければステップS5
05に進み、バックグランド情報や論理描画情報を、カ
レント情報を保持するグローバル変数に代入する。
The algorithm for full paint rendering is shown in the flow chart of FIG. First, step S
At 501, the page object (mask information and background information) whose resolution has been converted by the interpreter task as described above is input. And step S
It is determined whether the object input in 502 is a drawing command, and if it is not a drawing command, step S5
In step 05, the background information and the logic drawing information are assigned to the global variables holding the current information.

【0114】一方、描画コマンドであると判定された場
合にはステップS503に進み、マスク情報、バックグ
ランド情報、論理描画情報を収集して、ステップS50
4でハードレンダラ9によるレンダリングを実行する。
ここで、バンドメモリ10は2又は4ビット深さによる
ラスタデータを格納するため、PDLデータからバック
グランド情報として8ビット深さ相当のイメージデータ
が入力されると、2または4ビット深さへの変換のため
のディザ、誤差拡散等の擬似中間調処理を実行する必要
がある。
On the other hand, if it is determined that the command is a drawing command, the flow advances to step S503 to collect mask information, background information, and logical drawing information, and then to step S50.
At 4, the rendering by the hard renderer 9 is executed.
Here, since the band memory 10 stores raster data having a depth of 2 or 4 bits, if image data corresponding to a depth of 8 bits is input as background information from PDL data, the depth of the raster data becomes 2 or 4 bits. It is necessary to execute pseudo halftone processing such as dither for conversion and error diffusion.

【0115】そして、ステップS506で1バンド分の
レンダリングが終了したと判断されるまで、上記処理を
繰り返す。
Then, the above process is repeated until it is determined in step S506 that the rendering for one band is completed.

【0116】このようにして本実施形態におけるデグレ
ードレンダリングにおいては、即ちフルペイント・レン
ダリングを行う。
In this way, in the degraded rendering in this embodiment, that is, full paint rendering is performed.

【0117】[ディザ処理]以下、上述したハードレン
ダラ9において階調変換を行うディザ処理について、図
13を参照して説明する。尚、本実施形態におけるディ
ザ処理は、上述した様にバンドメモリ10における階調
数よりも、入力データの色階調数が高い場合に必要とな
る。
[Dithering Process] The dithering process for performing the gradation conversion in the hard renderer 9 will be described below with reference to FIG. The dither processing in this embodiment is necessary when the number of color gradations of input data is higher than the number of gradations in the band memory 10 as described above.

【0118】まず、単純2値化の原理について説明す
る。例えば、8ビット(256レベル)入力を2ビット
(4レベル)化する場合には、図13の(a)に示す様
に、注目画素の入力値が「64」未満であれば「0」、
「64」以上「128」未満であれば「85」、「12
8」以上「192」未満であれば「170」、「25
5」以下であれば「255」を出力する。これらは、そ
れぞれ2ビットで(00),(01),(10),(1
1)として示される。即ち、図13の(a)で示される
ように、入力される全256レベルは、閾値「85」,
「170」を境界として3つのエリア(エリア0,1,
2)に分割される。そして、各8ビット入力値が属して
いるいずれかのエリア内において、該エリア内の閾値を
よって、出力が該エリアの両端となるような、即ち2値
化処理を行なう。図13の(a)においては、太い縦線
がエリアの区切りを示し、該エリアの区切りの下に8ビ
ットによるレベル出力値と、()内に2ビットによるレ
ベル出力値を示す。また、細い縦線が各エリア内におけ
る8ビットによるレベルの閾値を示す。
First, the principle of simple binarization will be described. For example, when 8-bit (256 levels) input is converted to 2 bits (4 levels), as shown in FIG. 13A, if the input value of the pixel of interest is less than “64”, “0”,
If "64" or more and less than "128", then "85", "12"
If "8" or more and less than "192", then "170", "25"
If "5" or less, "255" is output. These are 2 bits each and are (00), (01), (10), (1
Shown as 1). That is, as shown in (a) of FIG. 13, all 256 levels that are input have a threshold value of “85”,
Three areas (areas 0, 1, 1,
It is divided into 2). Then, in any area to which each 8-bit input value belongs, the binarization processing is performed so that the outputs are at both ends of the area according to the threshold value in the area. In FIG. 13A, a thick vertical line indicates an area delimiter, and an 8-bit level output value and a 2-bit level output value are shown in parentheses below the area delimiter. In addition, a thin vertical line indicates a level threshold value of 8 bits in each area.

【0119】次に、上述した2値化処理を多値ディザに
応用する例を、図13の(b),(c)を参照して説明
する。
Next, an example of applying the above-described binarization processing to multi-value dither will be described with reference to FIGS. 13 (b) and 13 (c).

【0120】図13の(b)に注目画素ブロックを示
し、図13の(c)は該注目画素に対応するディザマト
リックスを示す。これらにより、該注目画素に適した閾
値を算出し、該注目画素のデータを該閾値で2値化す
る。ここで、図13の(c)に示すディザマトリックス
は、4×4のパターンとして管理用RAM7上で同じパ
ターンを繰り返す。尚、ディザマトリックスにおける最
大値は255/(ビットレベル−1)となる。従って、
図13に示す例においては4レベルでの出力を行うた
め、ディザマトリックスにおける最大値は255/3、
即ち「85」となる。
FIG. 13B shows a target pixel block, and FIG. 13C shows a dither matrix corresponding to the target pixel. From these, a threshold value suitable for the target pixel is calculated, and the data of the target pixel is binarized by the threshold value. Here, the dither matrix shown in (c) of FIG. 13 repeats the same pattern on the management RAM 7 as a 4 × 4 pattern. The maximum value in the dither matrix is 255 / (bit level-1). Therefore,
In the example shown in FIG. 13, since four levels of output are performed, the maximum value in the dither matrix is 255/3,
That is, it becomes "85".

【0121】また、入力データに対して拡大/縮小等の
変倍処理要求があった場合には、レンダリング前の変倍
時に、バンドメモリ10における解像度まで変換され
る。
When a scaling request such as enlargement / reduction is made to the input data, the resolution in the band memory 10 is converted at the time of scaling before rendering.

【0122】以下、実際のディザ・アルゴリズムについ
て、上述した図13を参照して説明する。
The actual dither algorithm will be described below with reference to FIG.

【0123】1.まず、入力データにおける注目画素を
読み取り、図13の(a)に示すどのエリアに属するか
を判断する。例えば、図13の(b)に示す画素ブロッ
クにおいては、注目画素値は「180」であり、従って
エリア2に属している。
1. First, the pixel of interest in the input data is read to determine which area shown in FIG. For example, in the pixel block shown in (b) of FIG. 13, the pixel value of interest is “180” and therefore belongs to area 2.

【0124】2.次に、対応するディザマトリックスの
値を読み込み、該マトリックス値をこのエリアに合致す
る閾値に変更する。例えば、図13の(c)に示すディ
ザマトリックスにおいて注目画素に対応する要素値は
「74」である。これを、74+85×2=「244」
に置き換える。
[0124] 2. Next, the value of the corresponding dither matrix is read and the matrix value is changed to a threshold value that matches this area. For example, the element value corresponding to the pixel of interest in the dither matrix shown in (c) of FIG. 13 is “74”. This is 74 + 85 × 2 = “244”
Replace with

【0125】3.そして、注目画素データがディザマト
リックスで示される閾値以上であれば該エリアの最大値
を、閾値未満であれば該エリアの最小値を出力値とす
る。例えば、図13の(b)に示す注目画素「180」
は、置換された対応するディザマトリックス要素「24
4」未満であるため、エリア2の最小値「170」が出
力される。
[0125] 3. If the pixel data of interest is equal to or larger than the threshold value indicated by the dither matrix, the maximum value of the area is set, and if it is less than the threshold value, the minimum value of the area is set as the output value. For example, the pixel of interest “180” shown in FIG.
Is the corresponding replaced dither matrix element "24
Since it is less than 4 ", the minimum value" 170 "of area 2 is output.

【0126】4.次の注目画素を処理する。4. The next pixel of interest is processed.

【0127】以上1〜4の工程によりディザ処理が行わ
れ、解像度変換が施される。この解像度変換処理はLU
Tを使用することにより、ハードウェア的に高速変換が
可能である。このLUTは、入力レベルが「0」〜「2
55」の各々について、4×4のディザマトリックスの
各要素位置においてディザ変換した2ビット出力値を予
め格納しておくことにより、実現できる。尚、この際の
テーブルサイズは、各YMCK毎に256×4×4×2
ビット=1024バイト分必要である。
Dithering is performed by the above steps 1 to 4 and resolution conversion is performed. This resolution conversion process is LU
By using T, high speed conversion can be performed by hardware. This LUT has an input level of "0" to "2".
55 ”can be realized by storing in advance the dither-converted 2-bit output value at each element position of the 4 × 4 dither matrix. The table size is 256 × 4 × 4 × 2 for each YMCK.
Bit = 1024 bytes are required.

【0128】ここで、図14に解像度変換を行うLUT
の例を示す。図14の(b)がLUTであり、図14の
(a)に示すポインタによって、入力される8ビットの
レベルに対応する各2ビットの行アドレス、列アドレス
に応じてアクセスされる。
Here, the LUT for resolution conversion shown in FIG.
Here is an example. FIG. 14B is an LUT, which is accessed by the pointer shown in FIG. 14A in accordance with each 2-bit row address and column address corresponding to the input 8-bit level.

【0129】このように、本実施形態においてはバンド
メモリ10の容量に応じてディザ等の中間調処理を行う
ため、出力されるビデオ信号の階調数は、獲得可能なバ
ンドメモリ10の容量に比例することが分かる。
As described above, in the present embodiment, since halftone processing such as dithering is performed according to the capacity of the band memory 10, the number of gradations of the output video signal is set to the capacity of the band memory 10 that can be acquired. It turns out that they are proportional.

【0130】[プリンタ]ここで、本実施形態において
実際に画像記録を行うプリンタ13について説明する。
本実施形態のプリンタ13はカラーインクジェットプリ
ンタであり、図15にその外観図を示す。
[Printer] The printer 13 which actually records an image in this embodiment will be described below.
The printer 13 of the present embodiment is a color inkjet printer, and its external view is shown in FIG.

【0131】同図において、駆動モータ5013の正逆
回転に連動して駆動力伝達ギア5009〜5011を介
して回転するリードスクリュー5005の螺旋溝500
4に対して係合するキャリッジHCはピン(不図示)を
有し、ガイドレール5003に支持されて矢印a,b方
向を往復移動する。キャリッジHCには、記録ヘッドI
JHとインクタンクITとを内蔵した一体型インクジェ
ットカートリッジIJCが搭載されている。5002は
紙押え板であり、キャリッジHCの移動方向に亙って記
録用紙Pをプラテン5000に対して押圧する。500
7,5008はフォトカプラで、キャリッジのレバー5
006のこの域での存在を確認して、モータ5013の
回転方向切り換え等を行うためのホームポジション検知
器である。5016は記録ヘッドIJHの前面をキャッ
プするキャップ部材5022を支持する部材で、501
5はこのキャップ内を吸引する吸引器で、キャップ内開
口5023を介して記録ヘッドの吸引回復を行う。50
17はクリーニングブレードで、5019はこのブレー
ドを前後方向に移動可能にする部材であり、本体支持板
5018にこれらが支持されている。ブレードは、この
形態でなく周知のクリーニングブレードが本例に適用で
きることは言うまでもない。又、5021は、吸引回復
の吸引を開始するためのレバーで、キャリッジと係合す
るカム5020の移動に伴って移動し、駆動モータから
の駆動力がクラッチ切り換え等の公知の伝達機構で移動
制御される。
In the figure, the spiral groove 500 of the lead screw 5005 that rotates via the driving force transmission gears 5009 to 5011 in association with the forward and reverse rotations of the drive motor 5013.
The carriage HC engaging with 4 has a pin (not shown), is supported by the guide rail 5003, and reciprocates in the directions of arrows a and b. The carriage HC has a recording head I
An integrated ink jet cartridge IJC having a JH and an ink tank IT is mounted. A paper pressing plate 5002 presses the recording paper P against the platen 5000 in the moving direction of the carriage HC. 500
Reference numeral 7,5008 denotes a photo coupler, which is a lever 5 of the carriage.
006 is a home position detector for confirming the existence in this area and switching the rotation direction of the motor 5013. Reference numeral 5016 denotes a member for supporting a cap member 5022 for capping the front surface of the recording head IJH.
Reference numeral 5 denotes a suction device that suctions the inside of the cap, and performs suction recovery of the recording head through the opening 5023 in the cap. 50
Reference numeral 17 denotes a cleaning blade. Reference numeral 5019 denotes a member that allows the blade to move in the front-rear direction. These members are supported by a main body support plate 5018. It goes without saying that the blade is not limited to this form and a known cleaning blade can be applied to this example. Reference numeral 5021 denotes a lever for starting suction for recovery of suction. The lever 5021 moves with the movement of the cam 5020 that engages with the carriage, and the driving force from the driving motor is controlled by a known transmission mechanism such as clutch switching. Is done.

【0132】これらのキャッピング、クリーニング、吸
引回復は、キャリッジがホームポジション側の領域に来
た時にリードスクリュー5005の作用によってそれら
の対応位置で所望の処理が行えるように構成されている
が、周知のタイミングで所望の動作を行うようにしても
良い。
The capping, cleaning, and suction recovery are configured such that the desired processing can be performed at their corresponding positions by the action of the lead screw 5005 when the carriage comes to the area on the home position side. A desired operation may be performed at a timing.

【0133】以上説明した様に本実施形態によれば、カ
ラーPDLデータを印刷出力する際に、1ページに満た
ないビットマップメモリをバンドメモリとして複数備
え、該バンドメモリ上においてレンダリングと出力とを
並列に行うことにより、プリンタ側の印刷速度に応じた
最高のスループットでの印刷出力が可能となる。
As described above, according to the present embodiment, when the color PDL data is printed out, a plurality of bitmap memories which are less than one page are provided as band memories, and rendering and output are performed on the band memories. By performing them in parallel, it is possible to perform printout with the highest throughput according to the printing speed on the printer side.

【0134】また、バンド毎の処理が不可能である場合
にも、カラー画像データの解像度を落とすことにより前
記バンドメモリ上に1ページ分の領域を確保し、レンダ
リング及び出力を行うことができる。
Further, even when the processing for each band is impossible, the resolution of the color image data is lowered to secure an area for one page on the band memory, and rendering and output can be performed.

【0135】従って、少ないメモリ容量で通常の高速印
刷が可能となると同時に、複雑なデータの印刷も可能と
なる。
Therefore, ordinary high speed printing can be performed with a small memory capacity, and at the same time, complicated data can be printed.

【0136】<他の実施形態>本発明は上述した実施形
態に限定されるものではなく、例えばデグレード処理時
にディザ処理を行なわずに、バンディング処理と同様に
入力されたデータをそのまま、あるいはビットを切り捨
てることによりレンダリングすることも可能である。こ
の結果、出力される画像品位は低下するが、特にソフト
ウェア処理を行った場合には、ディザ処理を行う場合よ
りもスループットの向上が図られ、例えばこれをドラフ
トモードとして位置付けることも可能となる。これは即
ち、上述した図5において、デグレード時には解像度変
換部406の処理は実行するが、ハードレンダラ9にお
いてディザテーブル15の参照は行わない形態である。
<Other Embodiments> The present invention is not limited to the above-described embodiments. For example, without performing dither processing at the time of degradation processing, input data may be input as it is, or bits may be converted as in the banding processing. It is also possible to render by truncating. As a result, the quality of the output image is reduced, but especially when software processing is performed, throughput is improved compared to when dither processing is performed, and this can be positioned as a draft mode, for example. That is, in FIG. 5 described above, the processing of the resolution conversion unit 406 is executed at the time of degradation, but the dither table 15 is not referred to by the hard renderer 9.

【0137】また、上述した実施形態ではデグレード時
の色精度を出すための擬似階調処理としてディザ処理を
例にとり説明したが、もちろん誤差拡散方法や濃度拡散
方法等を適用することも可能である。
Further, in the above-mentioned embodiment, the dither processing was described as an example of the pseudo gradation processing for obtaining the color accuracy at the time of degrading, but it goes without saying that an error diffusion method, a density diffusion method or the like can be applied. .

【0138】また、図1に示すハードレンダラ9による
ハードウェア的なレンダリング処理を、ソフトウェアに
よって実現することも可能である。
Further, the hardware-like rendering process by the hard renderer 9 shown in FIG. 1 can be realized by software.

【0139】また、上述した実施形態においては、デグ
レード時の解像度変換処理と階調変換処理とをそれぞれ
独立の処理として説明したが、これらを同時に考慮する
事により、例えば解像度を落とし、かつ階調も落とした
デグレードや、また、画像特徴に応じていずれかを重視
したデグレード等、デグレードの種類を使い分けること
も可能となる。
Further, in the above-mentioned embodiment, the resolution conversion processing and the gradation conversion processing at the time of degrading are described as independent processings, but by considering them at the same time, for example, the resolution is lowered and the gradation is reduced. It is also possible to use different types of degradation, such as a dropped degradation, or a degradation that emphasizes any of them depending on the image characteristics.

【0140】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることはいうまでもない。この場合、本発明にかかる
プログラムを格納した記憶媒体が、本発明を構成するこ
とになる。そして、該記憶媒体からそのプログラムをシ
ステムあるいは装置に読みだすことによって、そのシス
テムあるいは装置が、あらかじめ定められたし方で動作
する。
The present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or an apparatus. In this case, the storage medium storing the program according to the present invention constitutes the present invention. Then, by reading the program from the storage medium into the system or device, the system or device operates in a predetermined manner.

【0141】[0141]

【発明の効果】以上説明した様に本発明によれば、カラ
ー画像データを印刷出力する際に、1ページに満たない
複数バンド分のビットマップメモリをバンドメモリとし
て備え、該バンドメモリ上においてレンダリングと出力
とを並列に行うことにより、プリンタ側の印刷速度に応
じた最高のスループットで印刷出力ができる。
As described above, according to the present invention, when color image data is printed out, a bitmap memory for a plurality of bands less than one page is provided as a band memory, and rendering is performed on the band memory. By performing the output and the output in parallel, the print output can be performed with the maximum throughput according to the printing speed on the printer side.

【0142】また、バンド毎の処理ができない場合にも
カラー画像データの解像度や階調を落とすことにより前
記バンドメモリを含めたメモリ空間上に1ページ分の領
域を確保し、レンダリング及び出力を行うことができ
る。
Even when the processing for each band cannot be performed, the resolution and gradation of the color image data are reduced to secure an area for one page in the memory space including the band memory, and rendering and output are performed. be able to.

【0143】従って、少ないメモリ容量で通常の高速印
刷が可能となると同時に、複雑なデータの印刷も可能と
なる。
Therefore, ordinary high speed printing can be performed with a small memory capacity, and at the same time, complicated data can be printed.

【0144】[0144]

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る一実施形態の画像出力装置のシス
テム構成を示すブロック図である。
FIG. 1 is a block diagram showing a system configuration of an image output apparatus according to an embodiment of the present invention.

【図2】本実施形態の画像出力処理の概要を示すフロー
チャートである。
FIG. 2 is a flowchart showing an outline of image output processing of the present embodiment.

【図3】本実施形態におけるレンダリングを説明するた
めの図である。
FIG. 3 is a diagram for explaining rendering in the present embodiment.

【図4】本実施形態のレンダリングにおけるマスク情報
を説明するための図である。
FIG. 4 is a diagram for explaining mask information in rendering according to the present embodiment.

【図5】本実施形態のレンダリングを行う構成を示すブ
ロック図である。
FIG. 5 is a block diagram showing a configuration for performing rendering according to the present embodiment.

【図6】本実施形態のバンドレンダリングを説明するた
めの図である。
FIG. 6 is a diagram for explaining band rendering according to the present embodiment.

【図7】本実施形態のハードレンダラの構成を示すブロ
ック図である。
FIG. 7 is a block diagram showing a configuration of a hard renderer of this embodiment.

【図8】本実施形態のハードレンダラにおいて扱う中間
データ形式を示す図である。
FIG. 8 is a diagram showing an intermediate data format handled by the hard renderer of this embodiment.

【図9】本実施形態におけるフルカラーのバンドレンダ
リングを示すフローチャートである。
FIG. 9 is a flowchart showing full-color band rendering according to this embodiment.

【図10】本実施形態のデグレードレンダリングのメイ
ンアルゴリズムを示すフローチャートである。
FIG. 10 is a flowchart showing a main algorithm of the degraded rendering according to this embodiment.

【図11】本実施形態のデグレードレンダリングにおけ
るメモリ空間を示す図である。
FIG. 11 is a diagram showing a memory space in the degraded rendering of the present embodiment.

【図12】本実施形態のデグレードレンダリングにおけ
るフルペイント・レンダリングを示すフローチャートで
ある。
FIG. 12 is a flowchart showing full paint rendering in the degraded rendering according to the present embodiment.

【図13】本実施形態のディザ処理を説明するための図
である。
FIG. 13 is a diagram for explaining the dither processing of this embodiment.

【図14】本実施形態のディザ処理を実現するLUTの
例を示す図である。
FIG. 14 is a diagram showing an example of an LUT that realizes the dither processing of this embodiment.

【図15】本実施形態におけるインクジェットプリンタ
の外観斜視図である。
FIG. 15 is an external perspective view of the inkjet printer according to the present embodiment.

【符号の説明】[Explanation of symbols]

1 ホスト計算機 2 データ入力用バッファ 3 フォントROM 4 パネルI/Oプロセッサ 5 拡張I/F 6 プログラムROM 7 管理用RAM 8 色変換ハードウェア 9 ハードレンダラ 10 バンドメモリ 11 プリンタインタフェース 12 CPU 13 プリンタ 14 コントローラ 15 ディザテーブル 1 Host Computer 2 Data Input Buffer 3 Font ROM 4 Panel I / O Processor 5 Extended I / F 6 Program ROM 7 Management RAM 8 Color Conversion Hardware 9 Hard Renderer 10 Band Memory 11 Printer Interface 12 CPU 13 Printer 14 Controller 15 Dither table

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】 カラーPDLデータを入力する入力手段
と、 前記カラーPDLデータに対してレンダリングを施すレ
ンダリング手段と、 前記レンダリング済みのカラー画像データを保持する保
持手段と、 前記保持手段に保持された前記レンダリング済みのカラ
ー画像データを出力する出力手段とを有する情報処理装
置において、 前記保持手段への前記レンダリング済みのカラー画像デ
ータの保持と、前記保持手段に既に保持されている前記
レンダリング済みのカラー画像データの前記出力手段へ
の出力とを並行して実行するように制御する制御手段
と、を有することを特徴とする情報処理装置。
1. An input unit for inputting color PDL data, a rendering unit for rendering the color PDL data, a holding unit for holding the rendered color image data, and a holding unit held by the holding unit. In an information processing device having an output means for outputting the rendered color image data, holding the rendered color image data in the holding means, and the rendered color already held in the holding means An information processing apparatus, comprising: a control unit that controls to output the image data to the output unit in parallel.
【請求項2】 前記保持手段は、前記カラー画像データ
の1ページに満たない容量のバンド領域を少なくとも2
つ備えており、 前記制御手段は、前記バンド領域の一方に対してカラー
PDLデータを実時間でレンダリングするのと並行し
て、前記バンド領域の他方に既に保持されている前記レ
ンダリング済みのカラー画像データを前記出力手段へ出
力するバンディング処理を実行することを特徴とする請
求項1記載の情報処理装置。
2. The holding means has at least two band areas each having a capacity less than one page of the color image data.
The control means renders the color PDL data to one of the band areas in real time, and at the same time, the rendered color image already held in the other of the band areas. The information processing apparatus according to claim 1, further comprising a banding process for outputting data to the output means.
【請求項3】 前記カラーPDLデータはカラー多値画
像データであり、 前記レンダリング手段及び出力手段は、前記カラー多値
画像データの各色毎にカラーPDLデータのレンダリン
グ及び出力を行うことを特徴とする請求項2記載の情報
処理装置。
3. The color PDL data is color multi-valued image data, and the rendering unit and the output unit render and output the color PDL data for each color of the color multi-valued image data. The information processing apparatus according to claim 2.
【請求項4】 更に、前記入力手段により入力されたカ
ラーPDLデータの1ページ分が前記保持手段で保持可
能となるように、前記カラーPDLデータのデータ量を
減少させるデグレード手段を有し、 前記レンダリング手段は、前記デグレード手段によりデ
ータ量が減少した1ページ分のカラーPDLデータに対
してレンダリングを施すことを特徴とする請求項1又は
2のいずれかに記載の情報処理装置。
4. A degrading unit that reduces the data amount of the color PDL data so that one page of the color PDL data input by the input unit can be held by the holding unit. 3. The information processing apparatus according to claim 1, wherein the rendering unit renders the color PDL data for one page whose data amount has been reduced by the degrading unit.
【請求項5】 前記カラーPDLデータはカラー多値画
像データであり、 前記制御手段は、前記レンダリング手段によって前記カ
ラー画像データの全色についてのレンダリングが終了し
た後に、レンダリング済みのカラー画像データを前記出
力手段によりバンド単位で出力するように制御すること
を特徴とする請求項4記載の情報処理装置。
5. The color PDL data is color multi-valued image data, and the control unit sets the rendered color image data to the rendered color image data after the rendering unit finishes rendering for all the colors of the color image data. The information processing apparatus according to claim 4, wherein the output unit controls the output in band units.
【請求項6】 更に、前記制御手段によって前記バンデ
ィング処理が可能であるか否かを判断する判断手段を有
し、 前記判断手段によりバンディング不可能であると判断さ
れた場合に、前記デグレード手段により前記カラーPD
Lデータのデータ量を減少させることを特徴とする請求
項5記載の情報処理装置。
6. The control means further comprises a judging means for judging whether or not the banding process is possible, and when the judging means judges that banding is impossible, the degrading means is used. The color PD
The information processing apparatus according to claim 5, wherein the amount of L data is reduced.
【請求項7】 前記判断手段は、前記入力手段により入
力されたカラーPDLデータの1ページ分が前記保持手
段で保持不可能である場合に、バンディング不可能であ
ると判断することを特徴とする請求項6記載の情報処理
装置。
7. The determining means determines that banding is impossible when one page of color PDL data input by the inputting means cannot be held by the holding means. The information processing device according to claim 6.
【請求項8】 更に、前記レンダリング手段における前
記カラーPDLデータのレンダリングに要する時間を予
測する時間予測手段を有し、 前記判断手段は、前記時間予測時間により予測されたレ
ンダリング時間が所定値以上である場合に、バンディン
グ不可能であると判断することを特徴とする請求項6記
載の情報処理装置。
8. The method further comprises a time predicting means for predicting a time required for rendering the color PDL data in the rendering means, wherein the judging means determines that the rendering time predicted by the time predicted time is a predetermined value or more. The information processing apparatus according to claim 6, wherein it is determined that banding is impossible in a case where there is.
【請求項9】 前記デグレード手段は、前記カラーPD
Lデータの解像度変換を行う解像度変換手段であること
を特徴とする請求項4記載の情報処理装置。
9. The degrading means is the color PD.
The information processing apparatus according to claim 4, which is a resolution conversion unit that performs resolution conversion of L data.
【請求項10】 前記デグレード手段は、前記カラーP
DLデータの中間調処理を行う中間調処理手段であるこ
とを特徴とする請求項4記載の情報処理装置。
10. The color P is used for the degrading means.
The information processing apparatus according to claim 4, which is a halftone processing unit that performs halftone processing of DL data.
【請求項11】 前記中間調処理はディザ処理であるこ
とを特徴とする請求項10記載の情報処理装置。
11. The information processing apparatus according to claim 10, wherein the halftone processing is dither processing.
【請求項12】 前記入力手段により入力されるカラー
PDLデータは、ページ記述言語により記述されたデー
タであることを特徴とする請求項1乃至11のいずれか
に記載の情報処理装置。
12. The information processing apparatus according to claim 1, wherein the color PDL data input by the input unit is data described in a page description language.
【請求項13】 カラーPDLデータを入力してレンダ
リングを施し、該レンダリング済みのカラー画像データ
をメモリに保持し、前記メモリ内のカラー画像データを
出力する情報処理方法において、 前記メモリへの前記レンダリング済みのカラー画像デー
タの保持と、前記メモリに既に保持されている前記レン
ダリング済みのカラー画像データの出力とを並行して実
行することを特徴とする情報処理方法。
13. An information processing method for inputting color PDL data for rendering, retaining the rendered color image data in a memory, and outputting the color image data in the memory, wherein the rendering to the memory An information processing method, characterized in that holding of completed color image data and outputting of the rendered color image data already held in the memory are executed in parallel.
【請求項14】 前記メモリは、前記カラー画像データ
の1ページに満たない容量のバンド領域を少なくとも2
つ備えており、 前記バンド領域の一方に対して前記カラーPDLデータ
を実時間でレンダリングするのと並行して、前記バンド
領域の他方に既に保持されている前記レンダリング済み
のカラー画像データを出力するバンディング処理を実行
することを特徴とする請求項13記載の情報処理方法。
14. The memory has at least two band areas each having a capacity less than one page of the color image data.
The color PDL data is rendered to one of the band areas in real time, and at the same time, the rendered color image data already held in the other of the band areas is output. The information processing method according to claim 13, wherein a banding process is executed.
【請求項15】 前記カラー画像データはカラー多値画
像データであり、前記カラー多値画像データの各色毎に
カラーPDLデータのレンダリング及び出力を行うこと
を特徴とする請求項14記載の情報処理方法。
15. The information processing method according to claim 14, wherein the color image data is color multi-valued image data, and color PDL data is rendered and output for each color of the color multi-valued image data. .
【請求項16】 更に、入力されたカラーPDLデータ
の1ページ分が前記メモリで保持可能となるように、前
記カラーPDLデータのデータ量を減少させ、 該データ量が減少した1ページ分のカラーPDLデータ
に対してレンダリングを施すことを特徴とする請求項1
3又は14のいずれかに記載の情報処理方法。
16. The color PDL data is reduced in amount so that one page of the input color PDL data can be held in the memory, and the color of one page in which the data amount is reduced is reduced. The rendering is applied to the PDL data.
The information processing method according to any one of 3 and 14.
【請求項17】 前記カラー画像データはカラー多値画
像データであり、 前記カラー画像データの全色についてのレンダリングが
終了した後に、レンダリング済みのカラー画像データを
バンド単位で出力することを特徴とする請求項16記載
の情報処理方法。
17. The color image data is multi-valued color image data, and the rendered color image data is output in band units after rendering of all colors of the color image data is completed. The information processing method according to claim 16.
【請求項18】 前記バンディング処理が不可能である
と判断された場合に、前記カラーPDLデータのデータ
量を減少させることを特徴とする請求項17記載の情報
処理方法。
18. The information processing method according to claim 17, wherein a data amount of the color PDL data is reduced when it is determined that the banding process is impossible.
【請求項19】 カラーPDLデータにレンダリングを
施して出力する情報処理装置において、 カラーPDLデータを1ページに満たない所定バンド単
位にレンダリングして出力することが可能であれば各色
順次に前記バンド単位での出力を行い、不可能であれば
前記カラーPDLデータのデータ量を減少させて1ペー
ジ分のカラーPDLデータについてレンダリングを施
し、該1ページ分のカラー画像データを前記バンド単位
で出力することを特徴とする情報処理装置。
19. In an information processing device for rendering and outputting color PDL data, if it is possible to render and output color PDL data in a predetermined band unit which is less than one page, the respective color units are sequentially arranged in the band unit. Output, and if not possible, reduce the data amount of the color PDL data to render one page of color PDL data, and output the one page of color image data in the band unit. An information processing device characterized by:
【請求項20】 カラーPDLデータを1ページに満た
ない所定バンド単位にレンダリングして出力することが
可能であれば各色順次に前記バンド単位での出力を行
い、不可能であれば前記カラーPDLデータのデータ量
を減少させて1ページ分のカラーPDLデータについて
レンダリングを施し、該1ページ分のカラー画像データ
を前記バンド単位で出力することを特徴とする情報処理
方法。
20. If the color PDL data can be rendered and output in a predetermined band unit which is less than one page, the colors are sequentially output in the band unit, and if not, the color PDL data is output. Of the color PDL data for one page is reduced and the color image data for one page is output in the band unit.
JP7167664A 1995-07-03 1995-07-03 Image processor and its method Withdrawn JPH0918732A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7167664A JPH0918732A (en) 1995-07-03 1995-07-03 Image processor and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7167664A JPH0918732A (en) 1995-07-03 1995-07-03 Image processor and its method

Publications (1)

Publication Number Publication Date
JPH0918732A true JPH0918732A (en) 1997-01-17

Family

ID=15853942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7167664A Withdrawn JPH0918732A (en) 1995-07-03 1995-07-03 Image processor and its method

Country Status (1)

Country Link
JP (1) JPH0918732A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272837A (en) * 1997-12-22 1999-10-08 Adobe Syst Inc Transparency processing in page description language
JP2000255111A (en) * 1999-01-05 2000-09-19 Canon Inc Image processing apparatus and its method
JP2003298867A (en) * 2002-04-03 2003-10-17 Seiko Epson Corp Printer host, printer driver, and print system
JP2004299103A (en) * 2003-03-28 2004-10-28 Brother Ind Ltd Image forming apparatus
JP2006345099A (en) * 2005-06-07 2006-12-21 Canon Inc Image processing apparatus and image processing method
JP2007245724A (en) * 2007-03-19 2007-09-27 Canon Inc Image processor, image processing method, and storage medium
JP2011049861A (en) * 2009-08-27 2011-03-10 Brother Industries Ltd Image processor, and image processing program
JP2012218293A (en) * 2011-04-08 2012-11-12 Sharp Corp Image processing apparatus and image processing control method
JP2018067087A (en) * 2016-10-18 2018-04-26 キヤノン株式会社 Information processing apparatus, information processing method and program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272837A (en) * 1997-12-22 1999-10-08 Adobe Syst Inc Transparency processing in page description language
JP2000255111A (en) * 1999-01-05 2000-09-19 Canon Inc Image processing apparatus and its method
US6891638B1 (en) 1999-01-05 2005-05-10 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
JP2003298867A (en) * 2002-04-03 2003-10-17 Seiko Epson Corp Printer host, printer driver, and print system
JP2004299103A (en) * 2003-03-28 2004-10-28 Brother Ind Ltd Image forming apparatus
JP2006345099A (en) * 2005-06-07 2006-12-21 Canon Inc Image processing apparatus and image processing method
JP2007245724A (en) * 2007-03-19 2007-09-27 Canon Inc Image processor, image processing method, and storage medium
JP4533396B2 (en) * 2007-03-19 2010-09-01 キヤノン株式会社 Image processing apparatus, image processing method, and storage medium
JP2011049861A (en) * 2009-08-27 2011-03-10 Brother Industries Ltd Image processor, and image processing program
US8638472B2 (en) 2009-08-27 2014-01-28 Brother Kogyo Kabushiki Kaisha Image processing device and computer readable medium
JP2012218293A (en) * 2011-04-08 2012-11-12 Sharp Corp Image processing apparatus and image processing control method
JP2018067087A (en) * 2016-10-18 2018-04-26 キヤノン株式会社 Information processing apparatus, information processing method and program

Similar Documents

Publication Publication Date Title
EP0933723B1 (en) Printing apparatus
KR100432307B1 (en) Display list architecture having two dimensional array of zones
US5852679A (en) Image processing apparatus and method
US6323958B1 (en) Printing apparatus
JP2006341446A (en) Image processor and image processing method
JP2009071626A (en) Image processor, image processing method, image processing program, and recording medium
US6860203B2 (en) Method and apparatus for printing computer generated images
JPH0918732A (en) Image processor and its method
US7589860B2 (en) Method, apparatus and computer program product for processing image data stored on a memory for rendering an image on a device
JPH1166327A (en) Method and device for processing image and recording medium
JP3673536B2 (en) Printing apparatus and printing method
JP2875725B2 (en) Print control device and print control method
JP2007129613A (en) Image processing apparatus and method therefor, and image forming apparatus
JP2001219601A (en) Print controller and data processing method thereof
JPH09314915A (en) Printing control device, control method for printer, printing system and storage medium
US8699108B2 (en) Image processing device and computer readable medium for converting a draw process
JPH10329363A (en) Device and method for image forming, and printer
JP3867344B2 (en) Image output device
JP3533657B2 (en) Printing system, printer, printer driver, and program recording medium
JP3686490B2 (en) System and method using variable binarization for printer driver architecture
JP3158101B2 (en) Color image processing apparatus and color image processing method
JPH09131924A (en) Printing controller, printing control method and color printer
JP2004241848A (en) Print controller, print control method, and print control program
JPH11196246A (en) Image forming device
JP2000238347A (en) Printer control device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020903