JPH0918732A - 情報処理装置及びその方法 - Google Patents

情報処理装置及びその方法

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
English (en)
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/ja
Publication of JPH0918732A publication Critical patent/JPH0918732A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 カラーPDLデータを入力して多値の色再現
が可能なカラープリンタにおいて、フルページの多値ビ
ットマップメモリを用いずに高速なフルカラー出力を可
能とする情報処理装置及びその方法を提供することを目
的とする。 【解決手段】 入力されたカラーPDLデータの1ペー
ジ分の容量に満たない2バンド分の容量を有するバンド
メモリ10を介して該バンド単位にレンダリング可能で
あれば、各色順次にハードレンダラ9でレンダリングし
て該バンド単位に出力する。一方、不可能であれば解像
度変換部406による解像度変換またはディザテーブル
15を参照した中間調処理により前記カラーPDLデー
タのデータ量を減少させた後に、1ページ分のカラー画
像データについてハードレンダラ9でレンダリングを施
してバンドメモリ10又は管理用RAM7に一旦格納
し、該1ページ分のカラー画像データを前記バンド単位
で出力する

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置及びそ
の方法に関し、例えば、高解像度又は高階調のカラー画
像を出力する情報処理装置及びその方法に関する。
【0002】
【従来の技術】最近の高機能ワークステーションやパー
ソナルコンピュータ等(以下、ホストコンピュータと称
する)の出現により、フルカラーによる文字、図形、イ
メージデータ等のハンドリングが容易に行える環境が整
ってきた。これに伴い、カラー画像情報を用いた文書、
OHP、スライド、アート、デザイン等、広範な分野
で、カラー画像情報が利用されている。
【0003】このように、CADやCG,カラーDTP
等、カラー情報を扱うアプリケーションが広範な分野に
亙って利用されており、これらホストコンピュータ側で
作成したカラー情報を記録媒体上に印刷出力するために
は、該カラー情報をプリンタ等の出力装置に送信する必
要があった。この場合のプリンタとしては、まずホスト
コンピュータ側においてそのCPUにより文字、イメー
ジ、図形等のカラー情報をプリンタの解像度に合わせた
画像情報に展開し、その後、プリンタ側に送出する、所
謂ダムプリンタ又はビデオプリンタとしての利用形態が
一般的であった。
【0004】この方式はプリンタ側の機構をシンプルに
し、ホストコンピュータ側で多くの処理を実行する点に
特徴がある。しかしながら、処理対象がカラー情報であ
る場合には、そのデータ量が大量となるため、ホストコ
ンピュータとプリンタ間におけるデータ通信に多くの時
間をさかれ、全体としてのスループットが大幅に落ちて
しまう場合がある。
【0005】そこで、例えば白黒プリンタにおいては、
ページ記述言語(Page DescriptionLanguage;PDL)
方式を適用することにより、通信するデータ量を削減す
ることを実現した。PDLとは、文字、図形、イメージ
等の画像情報を符号化した言語情報であり、ホストコン
ピュータ側から記録すべき情報をPDLとして送信し、
プリンタ側において該PDL言語を解釈し、レンダリン
グを行って各種情報をプリンタの解像度に対応したラス
タページメモリ中にスキャン変換することにより、1ペ
ージ分のイメージ情報を生成していた。
【0006】このPDL方式をカラープリンタにも適用
した、カラーPDLプリンタも近年普及しつつある。
【0007】従来のカラーPDLプリンタは、2値プリ
ンタと多値プリンタとに大別される。
【0008】インクジェットや熱転写型等に代表される
2値のカラープリンタにおいては、白黒プリンタと同様
に、YMCKの各色毎に1画素で1ビット分のページメ
モリを保有する。そして、カラーイメージや色文字、色
指定による塗りつぶし等の処理においては基本的にディ
ザ法を用い、更に色精度を追求する際には誤差拡散法等
の擬似中間調処理により、解像度を犠牲にして擬似的に
色階調を再現していた。
【0009】一方、高性能のインクジェットプリンタや
カラーLBP等に代表される多値のカラープリンタにお
いては、1画素においてYMCKの各色毎に複数の階調
/濃度(例えば各色256階調)が表現可能である。こ
のプリンタにおいては、上記擬似中間調処理を行うこと
なく、ホストコンピュータ側により指定された色をその
ままプリンタ内部で保持し、プリンタエンジン部に送出
することによって、高画質の出力を得ることができた。
【0010】
【発明が解決しようとする課題】しかしながら上記従来
の多値カラープリンタにおいては、多値のYMCK各色
データを格納するためのページメモリが必要となる。こ
れは例えば、階調が各色8ビット、解像度が300DP
I、最大用紙サイズがA4サイズであるとすると、1M
B×4(色)×8(ビット)=32MBものページメモ
リ容量が必要となる。
【0011】即ち、多値のカラープリンタの方が、2値
のカラープリンタよりも高精細な画像が出力可能である
が、必要とするページメモリ容量は格段に大きい。従っ
て、多値のカラープリンタは2値のカラープリンタに比
べて物理的なメモリサイズが大きく、また、コスト的に
もはるかに高いものとなってしまっていた。
【0012】本発明では上記従来の情報処理装置におけ
る欠点に鑑み、多値の色再現が可能なカラープリンタに
おいて、フルページの多値ビットマップメモリを用いず
に高速なフルカラー出力を可能とする情報処理装置及び
その方法を提供することを目的とする。
【0013】
【課題を解決するための手段】上述した目的を達成する
ための一手段として、本発明の情報処理装置は以下の構
成を備える。
【0014】即ち、カラーPDLデータを入力する入力
手段と、前記カラーPDLデータに対してレンダリング
を施すレンダリング手段と、前記レンダリング済みのカ
ラー画像データを保持する保持手段と、前記保持手段に
保持された前記レンダリング済みのカラー画像データを
出力する出力手段とを有する情報処理装置において、前
記保持手段への前記レンダリング済みのカラー画像デー
タの保持と、前記保持手段に既に保持されている前記レ
ンダリング済みのカラー画像データの前記出力手段への
出力とを並行して実行するように制御する制御手段と有
することを特徴とする。
【0015】例えば、前記保持手段は、前記カラー画像
データの1ページに満たない容量のバンド領域を少なく
とも2つ備えており、前記制御手段は、前記バンド領域
の一方に対してカラーPDLデータを実時間でレンダリ
ングするのと並行して、前記バンド領域の他方に既に保
持されている前記レンダリング済みのカラー画像データ
を前記出力手段へ出力するバンディング処理を実行する
ことを特徴とする。
【0016】例えば、前記カラーPDLデータはカラー
多値画像データであり、前記レンダリング手段及び出力
手段は、前記カラー多値画像データの各色毎にカラーP
DLデータのレンダリング及び出力を行うことを特徴と
する。更に、前記入力手段により入力されたカラーPD
Lデータの1ページ分が前記保持手段で保持可能となる
ように、前記カラーPDLデータのデータ量を減少させ
るデグレード手段を有し、前記レンダリング手段は、前
記デグレード手段によりデータ量が減少した1ページ分
のカラーPDLデータに対してレンダリングを施すこと
を特徴とする。
【0017】例えば、前記カラーPDLデータはカラー
多値画像データであり、前記制御手段は、前記レンダリ
ング手段によって前記カラー画像データの全色について
のレンダリングが終了した後に、レンダリング済みのカ
ラー画像データを前記出力手段によりバンド単位で出力
するように制御することを特徴とする。更に、前記制御
手段によって前記バンディング処理が可能であるか否か
を判断する判断手段を有し、前記判断手段によりバンデ
ィング不可能であると判断された場合に、前記デグレー
ド手段により前記カラーPDLデータのデータ量を減少
させることを特徴とする。
【0018】例えば、前記判断手段は、前記入力手段に
より入力されたカラーPDLデータの1ページ分が前記
保持手段で保持不可能である場合に、バンディング不可
能であると判断することを特徴とする。更に、前記レン
ダリング手段における前記カラーPDLデータのレンダ
リングに要する時間を予測する時間予測手段を有し、前
記判断手段は、前記時間予測時間により予測されたレン
ダリング時間が所定値以上である場合に、バンディング
不可能であると判断することを特徴とする。
【0019】例えば、前記デグレード手段は、前記カラ
ーPDLデータの解像度変換を行う解像度変換手段であ
ることを特徴とする。例えば、前記デグレード手段は、
前記カラーPDLデータの中間調処理を行う中間調処理
手段であることを特徴とする。例えば、前記中間調処理
はディザ処理であることを特徴とする。
【0020】例えば、前記入力手段により入力されるカ
ラーPDLデータは、ページ記述言語により記述された
データであることを特徴とする。また、カラーPDLデ
ータにレンダリングを施して出力する情報処理装置にお
いて、カラーPDLデータを1ページに満たない所定バ
ンド単位にレンダリングして出力することが可能であれ
ば各色順次に前記バンド単位での出力を行い、不可能で
あれば前記カラーPDLデータのデータ量を減少させて
1ページ分のカラーPDLデータについてレンダリング
を施し、該1ページ分のカラー画像データを前記バンド
単位で出力することを特徴とする。
【0021】また、上述した目的を達成するための一手
法として、本発明の情報処理方法は以下の構成を備え
る。即ち、カラーPDLデータを入力してレンダリング
を施し、該レンダリング済みのカラー画像データをメモ
リに保持し、前記メモリ内のカラー画像データを出力す
る情報処理方法において、前記メモリへの前記レンダリ
ング済みのカラー画像データの保持と、前記メモリに既
に保持されている前記レンダリング済みのカラー画像デ
ータの出力とを並行して実行することを特徴とする。
【0022】例えば、前記メモリは、前記カラー画像デ
ータの1ページに満たない容量のバンド領域を少なくと
も2つ備えており、前記バンド領域の一方に対して前記
カラーPDLデータを実時間でレンダリングするのと並
行して、前記バンド領域の他方に既に保持されている前
記レンダリング済みのカラー画像データを出力するバン
ディング処理を実行することを特徴とする。
【0023】例えば、前記カラー画像データはカラー多
値画像データであり、前記カラー多値画像データの各色
毎にカラーPDLデータのレンダリング及び出力を行う
ことを特徴とする。更に、入力されたカラーPDLデー
タの1ページ分が前記メモリで保持可能となるように、
前記カラーPDLデータのデータ量を減少させ、該デー
タ量が減少した1ページ分のカラーPDLデータに対し
てレンダリングを施すことを特徴とする。
【0024】例えば、前記カラー画像データはカラー多
値画像データであり、前記カラー画像データの全色につ
いてのレンダリングが終了した後に、レンダリング済み
のカラー画像データをバンド単位で出力することを特徴
とする。例えば、前記バンディング処理が不可能である
と判断された場合に、前記カラーPDLデータのデータ
量を減少させることを特徴とする。
【0025】例えば、カラーPDLデータを1ページに
満たない所定バンド単位にレンダリングして出力するこ
とが可能であれば各色順次に前記バンド単位での出力を
行い、不可能であれば前記カラーPDLデータのデータ
量を減少させて1ページ分のカラーPDLデータについ
てレンダリングを施し、該1ページ分のカラー画像デー
タを前記バンド単位で出力することを特徴とする。
【0026】以上の構成により、大量のフルページ分の
ビットマップメモリを備えることなく、バンディング処
理により高速なカラー情報のレンダリング出力が可能と
なる。また、バンディング処理が不可能である場合に
も、カラー情報のデータ量を減少させることにより、や
はり高速なレンダリング出力が可能となるという特有の
作用効果が得られる。
【0027】
【発明の実施の形態】以下、添付図面に沿って本発明に
係わる一実施形態について詳細に説明する。
【0028】<第1実施形態> [処理概要]まず、本実施形態の画像出力装置の特徴に
ついて説明する。本実施形態の画像出力装置においては
多値の色再現が可能であり、フルページに満たない、複
数の所定バンド分の多値ビットマップメモリ(バンドメ
モリ)を用いることにより、高速にカラーイメージ展開
を行なうことを特徴とする。以下、複数のバンドメモリ
による処理を「バンディング」と称し、詳細な説明は後
述する。
【0029】ただし、カラーイメージ展開をリアルタイ
ムに実現できない程に大量のデータを処理する場合や、
ハードアクセラレータの制限等により印刷出力が不可能
となる様な場合には、例えば8ビットの階調表現を2ビ
ットにして階調性を落としたり、又は解像度を落とした
りすることにより、全色フルページ分のカラーイメージ
データを生成する。以下、階調性や解像度を落とすこと
を「デグレード」と称する。このデグレードにより、例
えば解像度が300DPI、最大用紙サイズがA4サイ
ズであるとすると、階調が各色2ビット表現であるか
ら、この場合のフルページ分のビットマップを格納する
ために必要なページメモリは、1MB×4(色)×2
(ビット)=8MBの容量でよい。
【0030】本実施形態においては、バンディング時に
は、入力されたYMCKのレンダリングを各色毎に所定
容量のバンドメモリを用いて実行する。しかしながら、
処理中間データの格納領域不足等によりバンディング処
理が不可能である場合には、まずYMCKデータをデグ
レードする。そして、例えば一旦入力されたデグレード
後の中間データをひとまずレンダリングして、その後
に、残りの中間データについてもレンダリングして出力
する必要がある。しかしながら、バンドメモリ内におい
てYMCK各面のフルページ分のメモリを一括して獲得
することはできないため、1ページ分の画像データを複
数のバンド領域に分割し、各バンド領域毎にYMCK面
のレンダリング用のメモリを確保する。そして各バンド
毎に逐次レンダリングを行ない、レンダリング済みのペ
ージオブジェクトを解放し、次のYMCK面のレンダリ
ング用メモリ領域を獲得する工程を1ページ分繰り返す
ことにより、バンドメモリ及びその他のメモリ内にフル
ページ分のレンダリング済みのページオブジェクトを獲
得することを特徴とする。
【0031】即ち、本実施形態においてはバンディング
を行うためにフルページに満たない所定容量のバンドメ
モリを少なくとも2つ備え、高速なレンダリングを実現
するが、バンディング不可能である場合には、入力され
たPDLデータをデグレードすることにより、フルペー
ジのレンダリングを可能とすることを特徴とする。
【0032】ここで、上述したバンディング及びデグレ
ードによる色再現性を比較すると、例えばAのr乗をA
^rで示すとすると、 バンディング :(2^8)^4=4.2×10^9 色が再現
可能 デグレード :(2^2)^4=256色が再現可能 となる。
【0033】即ち、バンディングではユーザが指定した
色に従った十分な色階調を出力することができるが、デ
グレードでは256階調しか表現できず、十分な階調表
現ができない可能性が大きい。従って、デグレードを適
用する場合において高階調出力を行ないたい場合には、
ディザ法や誤差拡散手法等の擬似中間調処理を更に適用
する必要がある。
【0034】以下、上述したバンディング及びデグレー
ドを行う本実施形態の画像出力処理について、詳細に説
明する。
【0035】図1は、本実施形態の画像出力装置のシス
テム構成を示すブロック図である。まず、同図を参照し
て画像出力処理の大まかな流れを示す。
【0036】[全体構成]図1において、1はホストコ
ンピュータ等の計算機(以下、WSと称する)、13は
記録装置であるプリンタであり、14はプリンタ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、ハードディス
ク等)とのインタフェースを司る回路である。
【0038】6は本実施形態におけるソフトウェアを格
納するプログラムROMであり、CPU12によって該
ソフトウェアが読み込まれ、処理を実行する。7は該ソ
フトウェアのための管理領域RAMであり、入力された
PDLデータを解析して中間データ形式(ページオブジ
ェクト)に変換したデータや、グローバル情報等が格納
されるほか、CPU12の所謂作業領域としても使用さ
れる。
【0039】8は色変換ハードウェアであり、一般のW
S1で利用されているモニタの表色系であるRGB(加
法混色)色空間から、プリンタ13のカラーインクで用
いるYMCK(減法混色)色空間への変換を行なうハー
ドウェアである。該色変換処理においては、色精度を追
求すると、非線形なログ変換・3×3のマトリックス演
算等を行う必要があり、その処理量はかなりの負荷とな
ってしまうため、ハード的にはルックアップテーブル
(LUT)等を用いることにより処理の高速化を図って
いる。このLUTにおけるパラメータは、最初はプリン
タ13にとって最適なものに調節されているが、WS1
側から色変換方式を変更する旨の要求があれば、LUT
の値を変更することにより、色変換アルゴリズムをユー
ザの要求するように変更することは可能である。また、
処理時間を犠牲にすれば、CPU12においてソフトウ
ェアによる演算を行うことも可能である。
【0040】9はハードレンダラであり、本実施形態に
おけるカラーレンダリング処理をASICハードウェア
によって実行することにより、プリンタ13へのビデオ
転送に同期して実時間によるレンダリング処理を行な
い、少ないメモリ容量でのバンディング処理を実現する
ことができる。
【0041】10はバンドメモリであり、PDLデータ
によって展開された出力イメージを格納する領域であ
る。バンドメモリ10の容量は、上述したバンディング
を行なう場合には、1バンド分の容量が(ページ幅(ビ
ット数)×256又は512程度のバンド高さ(ビット
数)×色深さ(ビット数))で求められるビットマップ
メモリを、最低2バンド分を確保する必要がある。又、
バンディングできない、即ちデグレードを行う際には、
例えばプリンタ13がLBPであった場合、該LBPに
同期してイメージを転送する必要があり、解像度かつ/
又は色階調を落とした1ページ分のフルカラービットマ
ップメモリを確保する必要がある。以上のようなメモリ
獲得のアルゴリズムの詳細については、後述する。
【0042】15はディザテーブルであり、複数のディ
ザパターンを備えている。レンダリングしたイメージを
格納するバンドメモリ10で許容された色深さ(色を示
すビット数)が、レンダリング対象のイメージの色深さ
よりも小さい場合に、少ないビット深さで色精度を再現
するために、このディザパターンを利用する。
【0043】11はプリンタインタフェース(I/F)
であり、プリンタコントローラ14と、例えばLBPで
あるプリンタ13との間で、バンドメモリ10の内容を
プリンタ13側の水平/垂直同期信号に同期してビデオ
情報として転送する。又、プリンタ13が例えばインク
ジェットプリンタであった場合には、ヘッド制御及び複
数ラインのヘッドサイズに合わせたビデオ情報の転送を
行なう。尚、プリンタI/F11においては、プリンタ
13へのコマンド送信や、プリンタ13からのステータ
ス受信も行なう。
【0044】CPU12はプリンタコントローラ内部の
処理を制御する演算装置であり、上述した様にプログラ
ムROM内のソフトウェアに基づいて本実施形態の処理
を司る。13はプリンタコントローラ14から送出され
るビデオ信号を記録媒体上に印刷出力するカラープリン
タであり、電子写真方式によるカラーLBPでも、イン
クジェット方式によるプリンタであってもよい。
【0045】尚、図1に示すバンドメモリ10と管理用
RAM7とは、メモリアドレス空間として独立に確保し
ても良いが、連続した領域として確保されていても良
い。
【0046】また、図1において各矢印は、WS1から
プリンタ13までの画像データの流れを示している。こ
の画像データの流れはプログラムROM6内のソフトウ
ェアによって定義されており、以下、この処理の流れを
図2を参照しながら説明する。
【0047】図2は本実施形態における画像出力処理を
示すフローチャートである。まずステップS101にお
いて、割り込み処理等により入力バッファ2にPDLデ
ータを取り込み、次にステップS102では入力された
PDLデータを言語仕様に応じて解析する。そしてステ
ップS103において、PDLデータを解析した結果、
入力データが描画コマンド、例えば文字、直線、イメー
ジ描画コマンドであるか否かを判断し、描画コマンドで
ある場合には、ステップS104において該PDLデー
タをハードレンダラ9がサポートするページオブジェク
ト形式に変換し、管理用RAM7に格納する。
【0048】[レンダリングモデル]ここで、以後の説
明の理解のため、本実現例におけるレンダリングモデル
を図3を参照して説明する。本実施形態のレンダリング
においては、PDLデータにより、描画領域を示すマス
ク情報と、該マスク情報で示される所定領域に対する色
情報等を示すバックグランド情報と、マスク情報に対し
てバックグランド情報をどのように論理合成するかを示
す論理描画情報とが定義される。
【0049】図3に示すモデルにおいて、151は各種
描画データの幾何的な情報、即ちどの部分が描画対象で
あるかというオン/オフの1ビットで表現可能なマスク
情報であり、152はマスク情報151で示すドットを
どのような色で塗るかというカラー多値のバックグラン
ド情報である。
【0050】ここで、バックグランド情報とは、マスク
情報に対してどのようにカラー/濃淡をつけるかを示す
情報である。本実施形態におけるバックグランド情報の
種類としては、イメージとして繰り返しを行なわずにマ
スクに張り付くバックグランドパターンと、パターンを
縦/横方向に繰り返してタイルのようにマスクに張り付
けるタイルパターンとが指定可能である。尚、本実施形
態のプリンタ13はカラー印刷が可能であるため、バッ
クグランドパターン,タイルパターン共にカラー情報と
して指定可能である。
【0051】本実施形態におけるレンダリングは、この
マスク情報151とバックグランド情報152、及び、
マスク情報151とバックグランド情報152をどのよ
うに合成するか(例えばSET,OR,XOR,BLE
ND,ADD等)を示す論理描画方式情報との3要素に
より構成される。例えば任意形状でのクリップ処理を行
なう際には、マスク情報151によって示される形状デ
ータにまずクリッピングを施し、クリッピング後に残っ
た領域のみをマスクとする。その結果、レンダリングさ
れたイメージは154に示すようになる。
【0052】[マスク情報]次に、本実現例におけるマ
スク情報について説明する。本実施形態でサポートする
マスク情報は、ランレングス(主走査方向(X方向)に
おけるスキャンライン)、エッジが交差しない凸多角
形、ビットマップイメージ、ビットマップフォント等と
して指定される。本実施形態のハードレンダラ9は、こ
れらのマスク情報についての高速なハードウェア・レン
ダリングに適した構造であり、例えば図4の(a)に示
す五角形のマスク情報は、図2のステップS104にお
いて、図4の(b)に示す様な交差しない5個の三角形
(tri1〜tri5)に分割され、図4の(a)のよ
うに塗り潰される。尚、図4の(a)及び(b)に示し
た塗り潰しは、even-oddルールを適用した例を示す。
【0053】又、図4の(c)に示すようなラインの接
続処理部においては、DDAアルゴリズムを適用して管
理用RAM7内の作業領域にラインの接続情報(round,m
iter,triangle)を考慮して展開した後、その最終的な外
部形状をYスキャンライン毎にmin_x,max_x
をペア情報としてランレングス方式で保持し、その後の
高速なレンダリング(ステップS111)に備える。
【0054】このようにして最終的に生成される各マス
クオブジェクトは、フルページメモリよりも少ないメモ
リ容量でのレンダリング、即ち本実施形態におけるバン
ディングを行なうため、ページメモリを複数のバンドに
分割する。尚、1バンドは高さが2の冪乗ドット分であ
ることが望ましく、例えば512ドット程度が最適であ
る。そして、各マスクオブジェクトをバンド毎にソーテ
ィングし、各バンド内で例えば図4の(d)に示すよう
なリンクリストを構成する。図4の(d)に示すリンク
リストは図4の(b)に示すマスク情報に対応したもの
であり、例えば図4の(b)に示すバンド2内において
は、そのスキャン順にマスク情報tri5,tri1,
tri4を含んでいることを示す。
【0055】即ち、バンドを跨ぐマスク情報(多角形マ
スク情報)に関しては、各バンドで多角形情報を共有化
する。
【0056】図2のステップS105において、各バン
ド毎に分割したマスク情報毎に、レンダリング時に必要
となるデータのデコード時間及びレンダリング時間を求
め、各バンド毎に加算する。
【0057】そして得られた予測時間情報を、各色(Y
MCK)毎のプレーンPにおけるバンドi毎に保持し、
デコード時間としてpred_decode(P-i)と、レンダリング
時間としてpred_render(P-i)とをそれぞれP×i個分保
有する。
【0058】尚、デコード時間は作成されたオブジェク
トのデータ量にほぼ比例する。しかし、例えば図4に示
すバンド3におけるtri1,tri4のデコード時間
は、直前のバンド2の開始点からの、バンド3における
多角形の開始点のオフセットを求める時間が余分に必要
となる。
【0059】また、レンダリング時間は、(バンド内の
マスク面積)×(バッググランドの色深さ)×(論理描
画の種類による演算ファクタ)によって求められる。
【0060】尚、一般的にKプレーン(黒)はどのマス
クオブジェクトにおいても含まれる可能性が高いが、C
MYプレーンは黒文字等では利用されないため、K情報
のみを含むオブジェクトではステップS105における
予測時間の加算は実行しない(CMYオブジェクト対
応)。
【0061】図2に戻り、ステップS103において入
力されたPDLデータが描画コマンドでない場合には、
ステップS106で該PDLデータが各種属性(バック
グランド、論理描画等)の設定コマンドであるか否かを
判定する。属性設定コマンドであれば、ステップS10
7に進んで各属性に対応するカレントステート処理を実
行する。カレントステート処理においては、PDLデー
タにおけるバックグランド情報を解析し、該解析結果を
管理用RAMに格納する際に、色変換ハードウェア8に
おいて、WS1から送られてくるRGBデータをYMC
Kカラーに変換して、バックグランド情報として保持し
ておく。即ち、カレントステート処理とは、PDLデー
タをハードレンダラ9によって読み込み可能なデータ形
式(オブジェクト形式)に変換するものである。尚、こ
の色変換をハードウェアでなくソフトウェアで実現する
形態も考えられるが、処理の高速化のためにはハードを
用いるのが望ましい。
【0062】一方、ステップS106でPDLデータが
各種属性の設定コマンドでない場合にはステップS10
8に進む。ステップ108では、例えばデバッグ処理等
の目的で現在の状態のダンプ処理等を行なう。そして、
処理はステップS102に戻る。
【0063】ステップS105における時間予測、又は
ステップS107におけるカレントステート設定処理が
終了すると、処理はステップS109に進み、1ページ
分のPDLデータ解析が終了したか否かを判定し、未終
了であればステップS102に戻る。この、ステップS
102からS109までの処理が、PDLデータからオ
ブジェクトデータへのデータフィルタリングタスクであ
り、所謂インタプリタ処理である(以下、インタプリタ
タスクと称する)。そして、ステップS110以降から
バンドメモリ10への描画を行う本実施形態のレンダリ
ング処理を行うレンダリングタスクが開始される。これ
ら両タスクは、特にレンダリングタスクにおいてはリア
ルタイム処理が要求されるため、リアルタイムOS上で
それぞれ別タスクとして実装される。また、レンダリン
グタスクはインタプリタタスクよりも優先して動作する
ように、プライオリティを高く設定する。
【0064】ステップS110において、レンダリング
の前処理として、ページオブジェクトについてバンディ
ング可能か否かを判定する。以下、バンディングによる
レンダリングを、「バンドレンダリング」と称する。こ
こで、バンディング処理が不可能である場合の例を以下
に列挙する。
【0065】Flood Fill命令(点指定塗りつぶし)等
がページ中に存在する。
【0066】大量のイメージデータ入力により、作業
領域となる管理用RAM7に格納されるべき情報があふ
れる(メモリデグレード)。
【0067】プリンタ13が電子写真LBPやLED
プリンタである場合には、一度記録用紙を給紙して記録
を開始すると、バンディング処理ではプリンタ13への
ビデオ信号転送とバンドへのレンダリングを並行処理す
る必要があるため、ステップS105で計算されたバン
ド毎のレンダリング時間pred_decode(P-i),pred_render
(P-i)に関し、ある色プレーンのいずれかのバンドにお
いて所定の閾値をオーバーする(タイムデグレード)。
【0068】ステップS110において上記いずれかの
条件に適合することが検知されると、バンディングを実
行できないため、フルペイントフラグ(ful-p-flag)をセ
ットしてステップS112に進む。そして、強制的に出
力画像の解像度かつ/又は階調を落として、デグレード
モードによるフルペイントのレンダリングを行なう。即
ち、バンドメモリ10及び管理用RAM7内にフルペイ
ント情報を生成しながらレンダリングを行う。このフル
ペイントレンダリングについては、後述する。
【0069】尚、プリンタ13がインクジェットプリン
タ等、記録ヘッドの移動をプリンタコントローラ14側
で制御できる形態である場合においては、上記で示し
た条件(タイムデグレード)については、記録ヘッドの
移動速度を小さくすることにより、バンディング処理が
可能となる。
【0070】ここで、図5を参照して、本実施形態のバ
ンディング処理とデグレード処理によるレンダリングの
実行について説明する。尚、図5において上述した図1
と同様の構成には同一番号を付す。
【0071】図5によれば即ち、まず入力バッファ2に
おいてPDLデータを解析した結果得られたバックグラ
ンド情報が、RGB多値データとして色変換部ハードウ
ェア8に入力され、YMCKデータに変換される。そし
て、ステップS110においてバンディング可能と判断
されると、各色毎に、ハードレンダラ9において入力バ
ッファ2内のマスク情報を参照してバンド単位のレンダ
リングを施し、バンドメモリ10を介してバンド単位の
ビデオ信号としてプリンタ13に出力される。
【0072】一方、バンディング不可能である場合に
は、マスク情報が解像度変換部406においてデグレー
ドされた後、ハードレンダラ9において1ページ分がレ
ンダリングされ、バンドメモリ10及び管理用RAM7
において各色フルページ分のビデオ信号が一旦生成され
る。この時、必要に応じて階調変換のためにディザテー
ブル15が参照される。そして、1ページ分のビデオ信
号がバンド単位でプリンタ13へ出力される。
【0073】[バンドレンダリング]以下、本実施形態
におけるバンディング処理について、図6を参照して詳
細に説明する。
【0074】図6において、まずPDLデータを解析す
るインタプリタタスクによって管理用RAM7にページ
オブジェクト情報が作成される。例えば、図示されるよ
うに第iページの第0バンドと第1バンドに跨って、三
角形のマスク情報が与えられた場合について考える。そ
して、レンダリングタスクによってハードレンダラ9が
起動され,該ページオブジェクト情報をバンド単位に読
み込む。そして、そのマスク情報からY座標におけるス
キャンライン情報(x_min,x_max)を抽出
し、カレントのバックグランド情報、論理描画モードを
参照して対応するバックグランド情報をバンドメモリ1
0に書き込む。そして、全てのマスクに対応すべくY座
標における高さ情報を変化させることによって、バンド
単位のレンダリングを実行する。尚、管理用RAM7に
おいて第iページのレンダリングが行われている際に
は、同時に第i+1ページのPDLデータがインタプリ
ンタタスクによって展開されている。
【0075】図6において、バンドメモリ10内の第1
バンドは管理用RAM7に第1バンドの情報として読み
込まれたオブジェクト情報のレンダリング用バンドメモ
リであり、現在ハードレンダラ9によってレンダリング
中であることを示す。そしてこの時、既にレンダリング
済みの第0バンドのラスタデータは、プリンタI/F1
1を介してプリンタ13へビデオ転送される。尚、本実
施形態においてプリンタ13はカラープリンタを想定し
ているため、バンドメモリ10では4面、即ちYMCK
の各色情報毎にレンダリングが実行される。尚、同図で
は(n+1)個のバンドが図示されているが、実際には
2バンド分あれば良い。
【0076】ここで、本実施形態のハードレンダラ9で
サポートできる描画論理としては、ソースオブジェクト
をS,マスク情報をM,ディスティネーション(レンダ
リング済み画像情報)をDとすると、以下の3種類があ
る。
【0077】 ・上書き ;SET(D=S) ・透過(Dに描画しない) ;TRANSP(M=1であればD=S, M≠1であればD=D) ・白 ;WHITE(D=0) この3種類の例からも分かるように、本実施形態のハー
ドレンダラ9では、例えばSとDとの間で両方の情報を
入力し、両者間で演算を行った後にDを設定するような
演算の負荷が比較的大きい処理(ブレンド)はサポート
されない。これは、各プレーンが4乃至8ビットの階調
表現を行う際に、データ演算量が非常に大きくなり、デ
グレードすることを避けるためである。
【0078】[ハードレンダラ9]ここで、本実施形態
におけるハードレンダラ9について説明する。図7は、
ハードレンダラ9の詳細構成を示すブロック図である。
図7において801はマイクロ実行解析部であり、予め
用意されたマイクロコード807を読み出して、上述し
たインタプリタタスクによって生成された中間情報を解
析する。生成された中間情報の例を図8に示す。そし
て、該中間情報から図7における各ハードウェア構成に
必要なバックグランド,マスク,ディスティネーション
情報を切り出して各構成に供給し、並列に処理を行なう
べく起動をかける。
【0079】図7において802はマスク生成部であ
り、入力されたマスク情報を不図示のFIFOを経由し
て受けとり、該マスク情報の詳細(ランレングス,ビッ
トマップ等)や論理描画モード(SET,TRANSP
等)に応じてデコード部に送り解析し、注目するX,Y
座標を生成する。そして、該X,Y座標をバックグラン
ドパターン生成部803やディスティネーション部80
5に渡して、それぞれ対応する情報をレンダリング部8
06に送り出すようにトリガをかける。
【0080】バックグランドパターン生成部803で
は、獲得したマスク情報によりバンド中に描画する最左
上端のX,Y座標(x,y)を算出し、各座標に対応す
るバックグランドの多値情報によりデータの格納されて
いるメモリアドレスを計算し、指定された(x,y)位
置に対するバックグランドパターンを生成する。
【0081】例えば、バックグランド情報が32×32
の大きさでnbit-pixel深さのタイルである場合には、
データの格納されているメモリアドレスは、以下の式に
より計算される。
【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においても同様の処
理を行なう。
【0083】レンダリング部806では、マスク情報、
バックグランド情報、ディスティネーションパターンを
収集し、論理描画モードに応じてレンダリングを実行
し、該レンダリング結果をディスティネーション部80
5に格納する。
【0084】尚、マスク生成部802,バックグランド
パターン生成部803,ディスティネーション部805
においては、これら3つの構成のうちの最も処理速度の
遅い構成に依存して、全体の処理速度が決定される。
【0085】以上説明したマスク生成及びレンダリング
処理が、1つのマスクの全領域について終了するまで続
行される。
【0086】ハードレンダラ9では、図8に示される1
つの中間情報のレンダリングを終了すると、ネクストポ
インタ905のデータを参照して次の中間情報のレンダ
リングを試みる。そして、該中間情報がハードレンダリ
ング不可能である、即ちステートフラグ901がソフト
レンダリング(0)と判断されていれば、CPU12に
対して、割り込み信号と現在処理できなかった中間情報
の先頭アドレスを指定する。その結果K,CPU12で
はソフトレンダラを起動し、該中間情報に対してソフト
ウェアによるレンダリング処理が実行される。
【0087】[レンダリングとシッピング]以下、本実
施形態におけるカラー情報のバンドレンダリング及びシ
ッピングについて、図9のフローチャートを参照して説
明する。まずステップS951で、レンダリング対象と
なる色プレーンを、プリンタ13における記録の順序の
仕様に従って決定する。次に、ステップS952に進
み、マスク情報、バックグランド情報、論理描画方法に
従って、第1バンド(バンド番号1のバンド)をまずレ
ンダリングする。
【0088】次にステップS953において、第iバン
ド中のページオブジェクトに対してレンダリングを行
い、ステップS954でプリンタ13から送られてくる
水平同期信号に合わせて、プリンタI/F11を通じ
て、既にレンダリング済みの第(i−1)バンドのバン
ド情報をカラービデオ信号としてプリンタ13に送出す
る。このステップS954におけるカラービデオ信号の
送出処理を、以下「シッピング」と称する。
【0089】そして、ステップS955で現在の色プレ
ーンの全てのバンドのシッピングが終了したか否かを判
定し、未終了であればステップS956に進んでバンド
番号iに1加算して、ステップS953に戻り、次のバ
ンドのレンダリング/シッピングを行う。
【0090】一方、ステップS955で現在の色プレー
ンのシッピングが全て終了していれば、ステップS95
7において次にレンダリングする色プレーンが残ってい
るかを判断する。残っていなければ処理を終了するが、
残っていればステップS951に戻り、次の色プレーン
に関して同様の処理を実行する。
【0091】本実施形態のバンドレンダリングにおい
て、上述した3種類のカラー描画論理(SET,WHI
TE,TRANSP)からなるページデータについて
は、図7に示すハードレンダラ9により、十分な高速出
力が可能である。尚、現在一般的に広く利用されている
ページ記述言語であるPostScript,LIPS
等は、本実施形態のカラー描画論理に準拠しているた
め、ほとんどの形式のカラーPDLデータは本実施形態
において高速にレンダリング可能である。
【0092】尚、バンドメモリ10の容量として、 256(バンド高さ;yサイズ)×8(色深さ)×2×
4800(A4サイズ用紙,400DPIでの幅)/8
=2.5MB 弱を用意すれば、本実施形態のバンドレンダリングは実
現できる。ここで、例えば色深さが2ビットで十分であ
れば、上記メモリ容量は1/4で実現できる。
【0093】また、バンドメモリ10においては各色8
ビット(メモリの制約があれば例えば2,4ビットでも
良い)の色深さを持ち、WS1からくるPDLデータは
一般的に1,2,4,8ビットであるため、対応するY
MCK毎の1,2,4,8ビット情報をまずページオブ
ジェクトとして格納し、レンダリング時にLUTを介し
てビット拡張処理を行う必要がある。しかし、このビッ
ト拡張処理は、後述するディザや誤差拡散に比べて演算
コストは非常に少ない。
【0094】本実施形態ではこのように少なくとも2バ
ンド分のバンドメモリ10によって、レンダリングとシ
ッピングとをバンド単位で並行して行うことにより、高
速処理を実現する。
【0095】[デグレードレンダリング]次に、本実施
形態においてバンディング処理不可能な場合に行うデグ
レード処理について、詳細に説明する。
【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の各バンドを同時にレンダリング
する必要がある。
【0097】[デグレードレンダリングのメインアルゴ
リズム]以下、デグレードレンダリングにおけるメイン
アルゴリズムについて、図10及び図11を参照して説
明する。
【0098】基本的に、デグレードレンダリングのメイ
ンアルゴリズムは、解像度変換処理、メモリ獲得処理、
レンダリングの3つのフェーズに分かれている。
【0099】本実施形態におけるデグレードは、図11
の(a)に示すように、ページオブジェクトが管理用R
AM7における格納エリアに入りきらなくなるメモリデ
グレードや、レンダリング予想時間が閾値を越えるタイ
ムデグレードとして検知される。尚、図11においては
バンドメモリ10と管理用RAM7とを連続したメモリ
領域とみなし、上部にバンドメモリ10を、それに続い
て管理用RAM7の領域を示す。各領域名に後続す
る()内の数字は該領域に格納される画像データの解像
度をDPI単位で示し、また、図中斜線で示される領域
はその他の管理用あるいは未使用の領域である。例え
ば、図11の(a)によれば、バンドメモリ10として
600DPI用の2バンド分の容量が確保されており、
管理用RAM7にはレンダリング対象となる600DP
Iのページオブジェクトが格納されている様子を示す。
もちろん、バンドメモリ10は複数のバンドを備える
が、説明の簡便のため、図11においては1バンドを例
として説明する。
【0100】図10にデグレードレンダリングにおける
メインアルゴリズムのフローチャートを示す。まず、ス
テップS551で入力済みのオブジェクトの全てのマス
ク情報の解像度を1/2とする間引き処理を実行する。
この解像度変換の際の管理用RAM7内の様子を図11
の(b)に示す。即ち、ページオブジェクトが600D
PIから300DPIに解像度変換されることによっ
て、管理用RAM7内でページオブジェクトが占めるエ
リアが減少し、空きエリアが発生する。尚、マスク情報
の解像度変換処理についての詳細は後述する。
【0101】ステップS551で全オブジェクトのマス
ク情報の解像度変換が終了すると、ステップS552に
おいて、デグレード処理で使用するフルページ分のビッ
トマップを作成するために、上記間引き処理においてオ
ブジェクトのサイズが小さくなったことを利用し、メモ
リ空間を整理するためのオブジェクトのガーベージコレ
クション(GC)を実行する。この様子を図11の
(c)に示す。図11の(c)から分かる様に、メモリ
空間はバンドメモリ10,空きエリア,ページオブジェ
クトの順に並び替えられる。
【0102】次にステップS553において、バンドメ
モリ10内にYMCKの各プレーン毎に間引かれたサイ
ズ(図11においては300DPIに相当)のメモリ領
域を獲得し、ステップS554において、対応するYM
CKプレーン毎に、バンド単位でのレンダリングを実行
する。図11の(d)に、この様子を示す。
【0103】そしてステップS555において1ページ
分全てのバンドのレンダリングが終了したか否かを判定
し、終了していない場合にはステップS556に進み、
レンダリング済みのページオブジェクトを削除する。そ
して、ステップS552に戻り、上記処理を繰り返す。
この様子を、図11の(e)に示す。即ち、ページオブ
ジェクトがバンド単位にレンダリングされ、順次ラスタ
データに置き換えられていく。
【0104】一方、ステップS555において各色全て
のバンドのレンダリングが終了していれば、即ちフルペ
ージのラスタデータが生成されている。この様子を図1
1の(f)に示す。このように生成された300DPI
1ページ分の全色のラスタデータを、ステップS557
においてプリンタI/F11を介して、バンド単位でプ
リンタ13へ水平・垂直同期信号に合わせて順次送出
(シッピング)する。尚、この場合のフルページのラス
タデータは、600DPIから300DPIへの解像度
変換が施されているため、YMCK各色プレーン毎にイ
ンタリーブされた形態となっている。
【0105】尚、図11から分かる様に、デグレードレ
ンダリングの際にはバンドメモリ10と管理用RAM7
とは、その境界を限定しない。即ち、デグレードレンダ
リングにおいては全色のフルページ分のラスタデータを
生成するために、使用可能なメモリ領域を有効に利用す
ることができる。
【0106】[ページオブジェクトの解像度変換]次
に、デグレードレンダリングにおける解像度変換処理に
ついて説明する。デグレードレンダリングの際には、入
力されたオブジェクトをそのままリアルタイムにレンダ
リングすることができないため、バンドメモリ10に対
応するような、該オブジェクトの解像度かつ/又は階調
を落としたフルビットマップ(ビット深さ2又は4ビッ
ト等)に対してレンダリングを行う。
【0107】この場合、ハードレンダラ9は処理の簡素
化及び高速化を要求されるため、レンダリング時にラン
レングスや凸多角形情報等のマスク情報に対するリアル
タイムでの解像度変換は実行できない。そこで、解像度
変換はハードレンダラ9によるレンダリング以前に実行
しておく必要がある。以下、デグレード時のレンダリン
グ前処理(解像度変換処理)について詳細に説明する。
【0108】レンダリングの前処理として例えば600
DPIから300DPIに解像度を落とす際、マスク情
報がランレングスからなる場合には2ライン分をまとめ
て1つのランレングスとし、凸多角形情報からなる場合
には頂点座標の再計算を実行することにより、解像度変
換を実現する。この処理を管理用RAM7内の全てのペ
ージオブジェクトに対するマスク情報について、インタ
プリタタスクにより実行する。
【0109】マスク情報がランレングスからなる場合に
は、例えば600DPIによる2つのラインi,i+1
のX座標の開始/終了点(最左点/最右点)をそれぞれ
xl(i)/xr(i),xl(i+1)/xr(i+1)とすると、新規の
300DPIでの一つの開始/終了点であるnew_xl(i)
/new_xr(i)は以下の式により求まる。
【0110】new_xl(i)=min(xl(i),xl(i+1)) new_xr(i)=max(xr(i),xr(i+1)) また、マスク情報がビットマップイメージからなる場合
には、ページオブジェクトのイメージ情報自身は変化せ
ずに、x,y方向へのスケーリングファクタをそれぞれ
1/2倍とする。
【0111】一方、バンドメモリ10内におけるラスタ
データの階調を落としても、ハードレンダラ9は1,
2,4,8ビット深さによるレンダリングをサポートす
るため、バックグランド情報はマスク情報とは異なり、
特にCPU12に対して負荷をかけることはない。
【0112】[フルペイント・レンダリング]図10に
示すデグレードレンダリングにおいてステップS554
で示されるレンダリング処理の概念について、以下に説
明する。この処理は、各色毎のフルページ分のメモリを
使用してレンダリングするため、以下、フルペイント・
レンダリングと称する。
【0113】フルペイント・レンダリングのアルゴリズ
ムを図12のフローチャートに示す。まず、ステップS
501において上述した様にインタプリタタスクにより
解像度変換されたページオブジェクト(マスク情報及び
バックグランド情報)を入力する。そして、ステップS
502で入力されたオブジェクトが描画コマンドである
か否かを判断し、描画コマンドでなければステップS5
05に進み、バックグランド情報や論理描画情報を、カ
レント情報を保持するグローバル変数に代入する。
【0114】一方、描画コマンドであると判定された場
合にはステップS503に進み、マスク情報、バックグ
ランド情報、論理描画情報を収集して、ステップS50
4でハードレンダラ9によるレンダリングを実行する。
ここで、バンドメモリ10は2又は4ビット深さによる
ラスタデータを格納するため、PDLデータからバック
グランド情報として8ビット深さ相当のイメージデータ
が入力されると、2または4ビット深さへの変換のため
のディザ、誤差拡散等の擬似中間調処理を実行する必要
がある。
【0115】そして、ステップS506で1バンド分の
レンダリングが終了したと判断されるまで、上記処理を
繰り返す。
【0116】このようにして本実施形態におけるデグレ
ードレンダリングにおいては、即ちフルペイント・レン
ダリングを行う。
【0117】[ディザ処理]以下、上述したハードレン
ダラ9において階調変換を行うディザ処理について、図
13を参照して説明する。尚、本実施形態におけるディ
ザ処理は、上述した様にバンドメモリ10における階調
数よりも、入力データの色階調数が高い場合に必要とな
る。
【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ビットによるレベルの閾値を示す。
【0119】次に、上述した2値化処理を多値ディザに
応用する例を、図13の(b),(c)を参照して説明
する。
【0120】図13の(b)に注目画素ブロックを示
し、図13の(c)は該注目画素に対応するディザマト
リックスを示す。これらにより、該注目画素に適した閾
値を算出し、該注目画素のデータを該閾値で2値化す
る。ここで、図13の(c)に示すディザマトリックス
は、4×4のパターンとして管理用RAM7上で同じパ
ターンを繰り返す。尚、ディザマトリックスにおける最
大値は255/(ビットレベル−1)となる。従って、
図13に示す例においては4レベルでの出力を行うた
め、ディザマトリックスにおける最大値は255/3、
即ち「85」となる。
【0121】また、入力データに対して拡大/縮小等の
変倍処理要求があった場合には、レンダリング前の変倍
時に、バンドメモリ10における解像度まで変換され
る。
【0122】以下、実際のディザ・アルゴリズムについ
て、上述した図13を参照して説明する。
【0123】1.まず、入力データにおける注目画素を
読み取り、図13の(a)に示すどのエリアに属するか
を判断する。例えば、図13の(b)に示す画素ブロッ
クにおいては、注目画素値は「180」であり、従って
エリア2に属している。
【0124】2.次に、対応するディザマトリックスの
値を読み込み、該マトリックス値をこのエリアに合致す
る閾値に変更する。例えば、図13の(c)に示すディ
ザマトリックスにおいて注目画素に対応する要素値は
「74」である。これを、74+85×2=「244」
に置き換える。
【0125】3.そして、注目画素データがディザマト
リックスで示される閾値以上であれば該エリアの最大値
を、閾値未満であれば該エリアの最小値を出力値とす
る。例えば、図13の(b)に示す注目画素「180」
は、置換された対応するディザマトリックス要素「24
4」未満であるため、エリア2の最小値「170」が出
力される。
【0126】4.次の注目画素を処理する。
【0127】以上1〜4の工程によりディザ処理が行わ
れ、解像度変換が施される。この解像度変換処理はLU
Tを使用することにより、ハードウェア的に高速変換が
可能である。このLUTは、入力レベルが「0」〜「2
55」の各々について、4×4のディザマトリックスの
各要素位置においてディザ変換した2ビット出力値を予
め格納しておくことにより、実現できる。尚、この際の
テーブルサイズは、各YMCK毎に256×4×4×2
ビット=1024バイト分必要である。
【0128】ここで、図14に解像度変換を行うLUT
の例を示す。図14の(b)がLUTであり、図14の
(a)に示すポインタによって、入力される8ビットの
レベルに対応する各2ビットの行アドレス、列アドレス
に応じてアクセスされる。
【0129】このように、本実施形態においてはバンド
メモリ10の容量に応じてディザ等の中間調処理を行う
ため、出力されるビデオ信号の階調数は、獲得可能なバ
ンドメモリ10の容量に比例することが分かる。
【0130】[プリンタ]ここで、本実施形態において
実際に画像記録を行うプリンタ13について説明する。
本実施形態のプリンタ13はカラーインクジェットプリ
ンタであり、図15にその外観図を示す。
【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の移動に伴って移動し、駆動モータから
の駆動力がクラッチ切り換え等の公知の伝達機構で移動
制御される。
【0132】これらのキャッピング、クリーニング、吸
引回復は、キャリッジがホームポジション側の領域に来
た時にリードスクリュー5005の作用によってそれら
の対応位置で所望の処理が行えるように構成されている
が、周知のタイミングで所望の動作を行うようにしても
良い。
【0133】以上説明した様に本実施形態によれば、カ
ラーPDLデータを印刷出力する際に、1ページに満た
ないビットマップメモリをバンドメモリとして複数備
え、該バンドメモリ上においてレンダリングと出力とを
並列に行うことにより、プリンタ側の印刷速度に応じた
最高のスループットでの印刷出力が可能となる。
【0134】また、バンド毎の処理が不可能である場合
にも、カラー画像データの解像度を落とすことにより前
記バンドメモリ上に1ページ分の領域を確保し、レンダ
リング及び出力を行うことができる。
【0135】従って、少ないメモリ容量で通常の高速印
刷が可能となると同時に、複雑なデータの印刷も可能と
なる。
【0136】<他の実施形態>本発明は上述した実施形
態に限定されるものではなく、例えばデグレード処理時
にディザ処理を行なわずに、バンディング処理と同様に
入力されたデータをそのまま、あるいはビットを切り捨
てることによりレンダリングすることも可能である。こ
の結果、出力される画像品位は低下するが、特にソフト
ウェア処理を行った場合には、ディザ処理を行う場合よ
りもスループットの向上が図られ、例えばこれをドラフ
トモードとして位置付けることも可能となる。これは即
ち、上述した図5において、デグレード時には解像度変
換部406の処理は実行するが、ハードレンダラ9にお
いてディザテーブル15の参照は行わない形態である。
【0137】また、上述した実施形態ではデグレード時
の色精度を出すための擬似階調処理としてディザ処理を
例にとり説明したが、もちろん誤差拡散方法や濃度拡散
方法等を適用することも可能である。
【0138】また、図1に示すハードレンダラ9による
ハードウェア的なレンダリング処理を、ソフトウェアに
よって実現することも可能である。
【0139】また、上述した実施形態においては、デグ
レード時の解像度変換処理と階調変換処理とをそれぞれ
独立の処理として説明したが、これらを同時に考慮する
事により、例えば解像度を落とし、かつ階調も落とした
デグレードや、また、画像特徴に応じていずれかを重視
したデグレード等、デグレードの種類を使い分けること
も可能となる。
【0140】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることはいうまでもない。この場合、本発明にかかる
プログラムを格納した記憶媒体が、本発明を構成するこ
とになる。そして、該記憶媒体からそのプログラムをシ
ステムあるいは装置に読みだすことによって、そのシス
テムあるいは装置が、あらかじめ定められたし方で動作
する。
【0141】
【発明の効果】以上説明した様に本発明によれば、カラ
ー画像データを印刷出力する際に、1ページに満たない
複数バンド分のビットマップメモリをバンドメモリとし
て備え、該バンドメモリ上においてレンダリングと出力
とを並列に行うことにより、プリンタ側の印刷速度に応
じた最高のスループットで印刷出力ができる。
【0142】また、バンド毎の処理ができない場合にも
カラー画像データの解像度や階調を落とすことにより前
記バンドメモリを含めたメモリ空間上に1ページ分の領
域を確保し、レンダリング及び出力を行うことができ
る。
【0143】従って、少ないメモリ容量で通常の高速印
刷が可能となると同時に、複雑なデータの印刷も可能と
なる。
【0144】
【図面の簡単な説明】
【図1】本発明に係る一実施形態の画像出力装置のシス
テム構成を示すブロック図である。
【図2】本実施形態の画像出力処理の概要を示すフロー
チャートである。
【図3】本実施形態におけるレンダリングを説明するた
めの図である。
【図4】本実施形態のレンダリングにおけるマスク情報
を説明するための図である。
【図5】本実施形態のレンダリングを行う構成を示すブ
ロック図である。
【図6】本実施形態のバンドレンダリングを説明するた
めの図である。
【図7】本実施形態のハードレンダラの構成を示すブロ
ック図である。
【図8】本実施形態のハードレンダラにおいて扱う中間
データ形式を示す図である。
【図9】本実施形態におけるフルカラーのバンドレンダ
リングを示すフローチャートである。
【図10】本実施形態のデグレードレンダリングのメイ
ンアルゴリズムを示すフローチャートである。
【図11】本実施形態のデグレードレンダリングにおけ
るメモリ空間を示す図である。
【図12】本実施形態のデグレードレンダリングにおけ
るフルペイント・レンダリングを示すフローチャートで
ある。
【図13】本実施形態のディザ処理を説明するための図
である。
【図14】本実施形態のディザ処理を実現するLUTの
例を示す図である。
【図15】本実施形態におけるインクジェットプリンタ
の外観斜視図である。
【符号の説明】
1 ホスト計算機 2 データ入力用バッファ 3 フォントROM 4 パネルI/Oプロセッサ 5 拡張I/F 6 プログラムROM 7 管理用RAM 8 色変換ハードウェア 9 ハードレンダラ 10 バンドメモリ 11 プリンタインタフェース 12 CPU 13 プリンタ 14 コントローラ 15 ディザテーブル

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 カラーPDLデータを入力する入力手段
    と、 前記カラーPDLデータに対してレンダリングを施すレ
    ンダリング手段と、 前記レンダリング済みのカラー画像データを保持する保
    持手段と、 前記保持手段に保持された前記レンダリング済みのカラ
    ー画像データを出力する出力手段とを有する情報処理装
    置において、 前記保持手段への前記レンダリング済みのカラー画像デ
    ータの保持と、前記保持手段に既に保持されている前記
    レンダリング済みのカラー画像データの前記出力手段へ
    の出力とを並行して実行するように制御する制御手段
    と、を有することを特徴とする情報処理装置。
  2. 【請求項2】 前記保持手段は、前記カラー画像データ
    の1ページに満たない容量のバンド領域を少なくとも2
    つ備えており、 前記制御手段は、前記バンド領域の一方に対してカラー
    PDLデータを実時間でレンダリングするのと並行し
    て、前記バンド領域の他方に既に保持されている前記レ
    ンダリング済みのカラー画像データを前記出力手段へ出
    力するバンディング処理を実行することを特徴とする請
    求項1記載の情報処理装置。
  3. 【請求項3】 前記カラーPDLデータはカラー多値画
    像データであり、 前記レンダリング手段及び出力手段は、前記カラー多値
    画像データの各色毎にカラーPDLデータのレンダリン
    グ及び出力を行うことを特徴とする請求項2記載の情報
    処理装置。
  4. 【請求項4】 更に、前記入力手段により入力されたカ
    ラーPDLデータの1ページ分が前記保持手段で保持可
    能となるように、前記カラーPDLデータのデータ量を
    減少させるデグレード手段を有し、 前記レンダリング手段は、前記デグレード手段によりデ
    ータ量が減少した1ページ分のカラーPDLデータに対
    してレンダリングを施すことを特徴とする請求項1又は
    2のいずれかに記載の情報処理装置。
  5. 【請求項5】 前記カラーPDLデータはカラー多値画
    像データであり、 前記制御手段は、前記レンダリング手段によって前記カ
    ラー画像データの全色についてのレンダリングが終了し
    た後に、レンダリング済みのカラー画像データを前記出
    力手段によりバンド単位で出力するように制御すること
    を特徴とする請求項4記載の情報処理装置。
  6. 【請求項6】 更に、前記制御手段によって前記バンデ
    ィング処理が可能であるか否かを判断する判断手段を有
    し、 前記判断手段によりバンディング不可能であると判断さ
    れた場合に、前記デグレード手段により前記カラーPD
    Lデータのデータ量を減少させることを特徴とする請求
    項5記載の情報処理装置。
  7. 【請求項7】 前記判断手段は、前記入力手段により入
    力されたカラーPDLデータの1ページ分が前記保持手
    段で保持不可能である場合に、バンディング不可能であ
    ると判断することを特徴とする請求項6記載の情報処理
    装置。
  8. 【請求項8】 更に、前記レンダリング手段における前
    記カラーPDLデータのレンダリングに要する時間を予
    測する時間予測手段を有し、 前記判断手段は、前記時間予測時間により予測されたレ
    ンダリング時間が所定値以上である場合に、バンディン
    グ不可能であると判断することを特徴とする請求項6記
    載の情報処理装置。
  9. 【請求項9】 前記デグレード手段は、前記カラーPD
    Lデータの解像度変換を行う解像度変換手段であること
    を特徴とする請求項4記載の情報処理装置。
  10. 【請求項10】 前記デグレード手段は、前記カラーP
    DLデータの中間調処理を行う中間調処理手段であるこ
    とを特徴とする請求項4記載の情報処理装置。
  11. 【請求項11】 前記中間調処理はディザ処理であるこ
    とを特徴とする請求項10記載の情報処理装置。
  12. 【請求項12】 前記入力手段により入力されるカラー
    PDLデータは、ページ記述言語により記述されたデー
    タであることを特徴とする請求項1乃至11のいずれか
    に記載の情報処理装置。
  13. 【請求項13】 カラーPDLデータを入力してレンダ
    リングを施し、該レンダリング済みのカラー画像データ
    をメモリに保持し、前記メモリ内のカラー画像データを
    出力する情報処理方法において、 前記メモリへの前記レンダリング済みのカラー画像デー
    タの保持と、前記メモリに既に保持されている前記レン
    ダリング済みのカラー画像データの出力とを並行して実
    行することを特徴とする情報処理方法。
  14. 【請求項14】 前記メモリは、前記カラー画像データ
    の1ページに満たない容量のバンド領域を少なくとも2
    つ備えており、 前記バンド領域の一方に対して前記カラーPDLデータ
    を実時間でレンダリングするのと並行して、前記バンド
    領域の他方に既に保持されている前記レンダリング済み
    のカラー画像データを出力するバンディング処理を実行
    することを特徴とする請求項13記載の情報処理方法。
  15. 【請求項15】 前記カラー画像データはカラー多値画
    像データであり、前記カラー多値画像データの各色毎に
    カラーPDLデータのレンダリング及び出力を行うこと
    を特徴とする請求項14記載の情報処理方法。
  16. 【請求項16】 更に、入力されたカラーPDLデータ
    の1ページ分が前記メモリで保持可能となるように、前
    記カラーPDLデータのデータ量を減少させ、 該データ量が減少した1ページ分のカラーPDLデータ
    に対してレンダリングを施すことを特徴とする請求項1
    3又は14のいずれかに記載の情報処理方法。
  17. 【請求項17】 前記カラー画像データはカラー多値画
    像データであり、 前記カラー画像データの全色についてのレンダリングが
    終了した後に、レンダリング済みのカラー画像データを
    バンド単位で出力することを特徴とする請求項16記載
    の情報処理方法。
  18. 【請求項18】 前記バンディング処理が不可能である
    と判断された場合に、前記カラーPDLデータのデータ
    量を減少させることを特徴とする請求項17記載の情報
    処理方法。
  19. 【請求項19】 カラーPDLデータにレンダリングを
    施して出力する情報処理装置において、 カラーPDLデータを1ページに満たない所定バンド単
    位にレンダリングして出力することが可能であれば各色
    順次に前記バンド単位での出力を行い、不可能であれば
    前記カラーPDLデータのデータ量を減少させて1ペー
    ジ分のカラーPDLデータについてレンダリングを施
    し、該1ページ分のカラー画像データを前記バンド単位
    で出力することを特徴とする情報処理装置。
  20. 【請求項20】 カラーPDLデータを1ページに満た
    ない所定バンド単位にレンダリングして出力することが
    可能であれば各色順次に前記バンド単位での出力を行
    い、不可能であれば前記カラーPDLデータのデータ量
    を減少させて1ページ分のカラーPDLデータについて
    レンダリングを施し、該1ページ分のカラー画像データ
    を前記バンド単位で出力することを特徴とする情報処理
    方法。
JP7167664A 1995-07-03 1995-07-03 情報処理装置及びその方法 Withdrawn JPH0918732A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7167664A JPH0918732A (ja) 1995-07-03 1995-07-03 情報処理装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7167664A JPH0918732A (ja) 1995-07-03 1995-07-03 情報処理装置及びその方法

Publications (1)

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

Family

ID=15853942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7167664A Withdrawn JPH0918732A (ja) 1995-07-03 1995-07-03 情報処理装置及びその方法

Country Status (1)

Country Link
JP (1) JPH0918732A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272837A (ja) * 1997-12-22 1999-10-08 Adobe Syst Inc 頁記述言語におけるトランスペアレンシ処理
JP2000255111A (ja) * 1999-01-05 2000-09-19 Canon Inc 画像処理装置及びその方法
JP2003298867A (ja) * 2002-04-03 2003-10-17 Seiko Epson Corp プリンタホスト、プリンタドライバおよび印刷システム
JP2004299103A (ja) * 2003-03-28 2004-10-28 Brother Ind Ltd 画像形成装置
JP2006345099A (ja) * 2005-06-07 2006-12-21 Canon Inc 画像処理装置及び画像処理方法
JP2007245724A (ja) * 2007-03-19 2007-09-27 Canon Inc 画像処理装置、画像処理方法、記憶媒体
JP2011049861A (ja) * 2009-08-27 2011-03-10 Brother Industries Ltd 画像処理装置、及び画像処理プログラム
JP2012218293A (ja) * 2011-04-08 2012-11-12 Sharp Corp 画像処理装置、および、画像処理制御方法
JP2018067087A (ja) * 2016-10-18 2018-04-26 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272837A (ja) * 1997-12-22 1999-10-08 Adobe Syst Inc 頁記述言語におけるトランスペアレンシ処理
JP2000255111A (ja) * 1999-01-05 2000-09-19 Canon Inc 画像処理装置及びその方法
US6891638B1 (en) 1999-01-05 2005-05-10 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
JP2003298867A (ja) * 2002-04-03 2003-10-17 Seiko Epson Corp プリンタホスト、プリンタドライバおよび印刷システム
JP2004299103A (ja) * 2003-03-28 2004-10-28 Brother Ind Ltd 画像形成装置
JP2006345099A (ja) * 2005-06-07 2006-12-21 Canon Inc 画像処理装置及び画像処理方法
JP2007245724A (ja) * 2007-03-19 2007-09-27 Canon Inc 画像処理装置、画像処理方法、記憶媒体
JP4533396B2 (ja) * 2007-03-19 2010-09-01 キヤノン株式会社 画像処理装置、画像処理方法、記憶媒体
JP2011049861A (ja) * 2009-08-27 2011-03-10 Brother Industries Ltd 画像処理装置、及び画像処理プログラム
US8638472B2 (en) 2009-08-27 2014-01-28 Brother Kogyo Kabushiki Kaisha Image processing device and computer readable medium
JP2012218293A (ja) * 2011-04-08 2012-11-12 Sharp Corp 画像処理装置、および、画像処理制御方法
JP2018067087A (ja) * 2016-10-18 2018-04-26 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
EP0933723B1 (en) Printing apparatus
KR100432307B1 (ko) 표시리스트생성방법및그장치와,인쇄를위한데이터를마련하는방법및데이터인쇄를용이하게하는시스템
US5852679A (en) Image processing apparatus and method
US6323958B1 (en) Printing apparatus
JP2006341446A (ja) 画像処理装置およびその方法
JP2009071626A (ja) 画像処理装置、画像処理方法、画像処理プログラム、並びに、記録媒体
US6860203B2 (en) Method and apparatus for printing computer generated images
JPH0918732A (ja) 情報処理装置及びその方法
US7589860B2 (en) Method, apparatus and computer program product for processing image data stored on a memory for rendering an image on a device
JPH1166327A (ja) 画像処理方法および画像処理装置および記録媒体
JP3673536B2 (ja) 印刷装置及び印刷方法
JP2875725B2 (ja) 印刷制御装置および印刷制御方法
JP2007129613A (ja) 画像処理装置及び方法、画像形成装置
JP2001219601A (ja) 印刷制御装置および印刷制御装置におけるデータ処理方法
JPH09314915A (ja) 印刷制御装置と印刷装置の制御方法、印刷システム、並びに記憶媒体
US8699108B2 (en) Image processing device and computer readable medium for converting a draw process
JP7506710B2 (ja) 画像処理装置、画像処理方法およびプログラム
JPH10329363A (ja) 画像形成装置、方法及びプリンタ
JP3867344B2 (ja) 画像出力装置
JP3533657B2 (ja) 印刷システム、プリンタ、プリンタドライバ及びプログラム記録媒体
JP3686490B2 (ja) プリンタドライバのアーキテクチャのための可変2値化処理を使用するシステムおよび方法
JP3158101B2 (ja) カラー画像処理装置およびカラー画像処理方法
JPH09131924A (ja) 印刷制御装置、印刷制御方法およびカラー印刷装置
JP2004241848A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JPH11196246A (ja) 画像形成装置

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