JP2008049664A - 画像形成装置のコントローラ及び画像形成装置のドライバ - Google Patents
画像形成装置のコントローラ及び画像形成装置のドライバ Download PDFInfo
- Publication number
- JP2008049664A JP2008049664A JP2006230686A JP2006230686A JP2008049664A JP 2008049664 A JP2008049664 A JP 2008049664A JP 2006230686 A JP2006230686 A JP 2006230686A JP 2006230686 A JP2006230686 A JP 2006230686A JP 2008049664 A JP2008049664 A JP 2008049664A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate code
- image data
- controller
- speed
- print engine
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】プリンタコントローラの速度や印刷エンジンの速度が減じられても,最適な閾値に基づいて中間コードの事前展開の必要性を判断することができるようにする。
【解決手段】画像形成装置のコントローラは,所定の印刷範囲内の中間コードについて,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,さらに,印刷エンジンの動作に同期して,中間コードバッファ内の中間コードをイメージデータに展開しながら当該イメージデータを,または中間コードバッファ内に事前展開したイメージデータを,印刷エンジンに供給する。そして,コントローラの動作速度または印刷エンジンの速度に応じて,所定の閾値を変更設定する。
【選択図】図1
【解決手段】画像形成装置のコントローラは,所定の印刷範囲内の中間コードについて,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,さらに,印刷エンジンの動作に同期して,中間コードバッファ内の中間コードをイメージデータに展開しながら当該イメージデータを,または中間コードバッファ内に事前展開したイメージデータを,印刷エンジンに供給する。そして,コントローラの動作速度または印刷エンジンの速度に応じて,所定の閾値を変更設定する。
【選択図】図1
Description
本発明は,画像形成装置のコントローラ及び画像形成装置のドライバに関し,特に,印刷データから中間コードを生成し,中間コードをイメージデータに展開しながら印刷エンジンに転送して印刷時間を短縮する場合に,コントローラの速度や印刷エンジンの速度に応じて,中間コードを事前展開するようにした画像形成装置のコントローラ及び画像形成装置のドライバに関する。
プリンタなどの画像形成装置のコントローラは,ホストコンピュータから供給された印刷データを,一旦,中間コードに変換し保存する。そして,画像形成装置は,印刷エンジンの印刷単位である1プレーン分の中間コードが形成されるタイミングで印刷エンジンを起動し,印刷エンジンの動作に同期して中間コードをイメージデータに展開しながら当該イメージデータを印刷エンジンに供給する。このように印刷エンジンの動作に同期して中間コードをイメージデータに展開することで,イメージデータへの展開時間を印刷エンジンの動作時間にダブらせて,印刷時間を短縮することができる。
ここで,イメージデータとは画素毎の画像再生データであり,印刷エンジンの形態に応じて,画素にドットを形成するか否かの情報であったり,画素のドット面積を示す情報であったりする。また,中間コードは,画像形成装置に固有のまたは汎用的なコードであり,ホストコンピュータが生成する印刷データを解釈して得られる描画コマンドに基づいて形成されるコードであり,通常の画像であれば印刷エンジンの動作速度に対応できる程度にイメージデータへの展開を可能にするコードである。つまり,イメージデータへの展開を短時間で可能にする中間コードである。
しかしながら,複雑で大量の画像が含まれている場合は,たとえ中間コードであっても,中間コードからイメージデータへの展開が印刷エンジンの動作速度に追従することができず,いわゆるオーバーランエラーを起こすことがある。
このオーバーランエラーを回避する方法として,中間コードをイメージデータに変換する処理時間を事前に予想し,変換処理時間が所定の閾値を超える場合は中間コードを事前にイメージデータに展開しておき,印刷エンジンには展開済みのイメージデータを供給することが行われる。このように,印刷データから中間コードを生成する段階で,事前にイメージデータに展開(事前展開)することで,印刷エンジンが起動した後でオーバーランエラーが発生することを回避することができる。
印刷エンジンへのイメージデータの事前展開は,1プレーンを複数に分割したバンド単位で制御される。したがって,上記の事前展開の必要性を評価する場合,1バンド内の中間コードについて展開処理時間に対応する負荷評価値が求められ,その負荷評価値が所定の閾値を超えるか否かの判定が行われる。具体的には,中間コードに対応して展開処理時間に対応する負荷係数が設定され,各バンドに生成される中間コードの負荷係数の累計値が負荷評価値として利用される。
上記のように,印刷エンジンに同期して中間コードをイメージデータに展開しながら当該イメージデータを印刷エンジンに供給することは,主にモノクロプリンタで行われる制御である。
特許文献1には,各バンドの負荷評価値を求めておき,1プレーン内の最大の負荷評価値に対応する速度で印刷エンジンを動作させることで,負荷評価値が閾値近傍または超える場合でも,印刷エンジンの速度を落としてオーバーランエラーが発生しないようにすることが記載されている。
特許文献2には,あるバンドにおいて一旦オーバーランエラーが発生すると,負荷評価値の閾値を低く再設定し,その後の同様の中間コードを含むバンドが存在すると,計算した負荷評価値が閾値を上回ることになり,中間コードがイメージデータに事前展開されることが記載されている。それにより,同様の画像に対して再度オーバーランエラーが発生することが防止される。
さらに,特許文献3には,一旦オーバーランエラーが発生したら,その原因となったバンドの中間コードの負荷係数を,より負荷が大きい値に変更し,その後オーバーランエラーが発生しないようにすることが記載されている。
特開平11−115278号公報
特開2001−001576号公報
特開2006−205403号公報
従来の画像形成装置では,事前展開を行う判断基準である負荷評価値の閾値の設定において,印刷エンジンの速度が一定であり,またイメージデータへの展開処理などの画像処理を行うコントローラの速度が一定であることを前提にしている。
しかしながら,近年において,印刷エンジンの速度が記録紙の種類に応じて動的に変化するものや,画像処理を行うコントローラの動作速度が省電力モードなどに応じて動的に変化するものが提案されてきている。このように,印刷エンジンの速度が変化した場合や,コントローラの動作速度が変化した場合に,負荷評価値の閾値を一定にしておくと,必要のない事前展開を行ってしまったり,必要があるのに事前展開せずにオーバーランエラーが発生したりすることが予想される。
そこで,本発明の目的は,印刷エンジンの速度に応じて,またはコントローラの動作速度に応じて,中間コードの事前展開の必要性の判断基準を最適化した画像形成装置のコントローラ及び画像形成装置のドライバを提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,画像形成装置のコントローラは,所定の印刷範囲内の中間コードについて,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,さらに,印刷エンジンの動作に同期して,中間コードバッファ内の中間コードをイメージデータに展開しながら当該イメージデータを,または中間コードバッファ内に事前展開したイメージデータを,印刷エンジンに供給する。そして,コントローラの動作速度または印刷エンジンの速度に応じて,所定の閾値を変更設定する。具体的には,コントローラの動作速度が遅くなると所定の閾値を小さくし,印刷エンジンの速度が遅くなると所定の閾値を大きくする。これにより,中間コードの事前展開の必要性を判断する閾値を最適な値に設定して,必要な事前展開を行い不必要な事前展開は行わないようにして,印刷スループットを高めることができる。
上記の目的を達成するために,本発明の第2の側面によれば,所定の印刷範囲毎に印刷データから変換された中間コードを記憶し,その後,印刷エンジンの動作に同期して前記中間コードをイメージデータに展開しながら当該イメージデータを前記印刷エンジンに供給する画像形成装置のコントローラにおいて,
前記所定の印刷範囲内の前記中間コードを,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,
前記印刷エンジンの動作に同期して,前記中間コードバッファ内の中間コードをイメージデータに展開しながら当該イメージデータを,または前記中間コードバッファ内に事前展開した前記イメージデータを,前記印刷エンジンに供給し,
前記コントローラの動作速度または前記印刷エンジンの速度のいずれか一つまたは両方に応じて,前記所定の閾値を前記所定の印刷範囲毎に変更設定することを特徴とする。
前記所定の印刷範囲内の前記中間コードを,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,
前記印刷エンジンの動作に同期して,前記中間コードバッファ内の中間コードをイメージデータに展開しながら当該イメージデータを,または前記中間コードバッファ内に事前展開した前記イメージデータを,前記印刷エンジンに供給し,
前記コントローラの動作速度または前記印刷エンジンの速度のいずれか一つまたは両方に応じて,前記所定の閾値を前記所定の印刷範囲毎に変更設定することを特徴とする。
上記の目的を達成するために,本発明の第3の側面によれば,所定の印刷範囲毎に印刷指令に対応する中間コードを画像形成装置に供給する画像形成装置のドライバコントローラであって,前記画像形成装置にて,印刷エンジンの動作に同期して前記供給した中間コードをイメージデータに展開しながら当該イメージデータを前記印刷エンジンに供給させるドライバコントローラにおいて,
前記所定の印刷範囲内の前記中間コードを,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,
前記中間コードバッファに記憶した中間コードまたは事前展開したイメージデータを前記画像形成装置に供給し,
前記画像形成装置において,前記印刷エンジンの動作に同期して前記中間コードをイメージデータに展開しながら当該イメージデータを,または事前展開した前記イメージデータを,前記印刷エンジンに供給させ,
前記コントローラの動作速度または前記印刷エンジンの速度のいずれか一つまたは両方に応じて,前記所定の閾値を前記所定の印刷範囲毎に変更設定することを特徴とする。
前記所定の印刷範囲内の前記中間コードを,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,
前記中間コードバッファに記憶した中間コードまたは事前展開したイメージデータを前記画像形成装置に供給し,
前記画像形成装置において,前記印刷エンジンの動作に同期して前記中間コードをイメージデータに展開しながら当該イメージデータを,または事前展開した前記イメージデータを,前記印刷エンジンに供給させ,
前記コントローラの動作速度または前記印刷エンジンの速度のいずれか一つまたは両方に応じて,前記所定の閾値を前記所定の印刷範囲毎に変更設定することを特徴とする。
上記の第2または第3の側面において,好ましい態様によれば,前記コントローラの動作速度が基準速度の場合に前記所定の閾値が基準閾値に設定され,前記コントローラの動作速度が前記基準速度より遅い場合は前記所定の閾値が前記基準閾値よりも小さく変更設定する。
そして,前記画像形成装置が省電力モードの場合に前記コントローラの動作速度が前記基準速度より遅くなる。
上記の第2または第3の側面において,好ましい態様によれば,前記印刷エンジンの速度が基準速度の場合に前記所定の閾値が基準閾値に設定され,前記印刷エンジンの速度が前記基準速度より遅い場合は前記所定の閾値が前記基準閾値よりも大きく変更設定する。
そして,前記画像形成装置が省電力モードの場合,または印刷媒体種が低速での画像形成を必要とする種の場合,前記印刷エンジンの速度が前記基準速度より遅くなる。
なお,前記所定の印刷範囲とは,印刷エンジンの1回の動作で画像形成可能な1プレーン,前記1プレーンを複数に分割した1バンド,または1ページのいずれかである。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図1は,本実施の形態における画像形成装置であるプリンタ装置の構成図である。プリンタ装置14は,ホストコンピュータ10のプリンタドライバから印刷データ12を受信し,印刷データ12から画素に展開したイメージデータ18を生成するコントローラ16と,コントローラ16から供給されるイメージデータ18に応じて画像を形成する印刷エンジン20とを有する。なお,イメージデータ18は,印刷エンジン20の形態に応じて種々のデータを取りうる。例えば,レーザープリンタの場合は,各画素内に形成されるドット面積のデータまたは各画素にドットを形成するか否かを示すデータである。また,インクジェットプリンタの場合は,各画素にドットを形成するか否かを示すデータである。いずれの印刷エンジンであっても,コントローラ16は,ホストコンピュータ10から供給された印刷データ12から画素に展開されたイメージデータ18を生成し,印刷エンジン20の印刷動作に同期してそのイメージデータ18を供給する。
コントローラ16は,ホストコンピュータ10から印刷データ12を受信するインターフェース30と,コントロールプログラムが格納されたプログラムメモリ34と,当該コントロールプログラムを実行して画像処理を制御すると共に,印刷データ12から中間コードを生成し,更に,負荷評価値が閾値を超える場合に圧縮・伸張・展開ユニット36に中間コードを画素に展開してイメージデータ(ビットマップデータ)を生成させるCPU32とを有する。
また,コントローラ16は,中間コードを画素毎のイメージデータに展開し,展開されたイメージデータを圧縮または伸張する圧縮・伸張・展開ユニット36と,中間コードを格納する中間コードバッファ40と,画像処理に利用されるワークメモリ38と,中間コードに対応する負荷係数や,事前展開の必要性を評価するための負荷評価値の演算式や,事前展開の必要性を判定する閾値などを格納する不揮発性メモリ(図示せず)とを有する。圧縮・伸張・展開ユニット36は,例えば,専用的に設計されたASICにより構成可能である。更に,コントローラ16は,中間コードを展開したイメージデータ18を一時的に記憶し,印刷エンジンに出力する展開バッファ44を有する。
コントローラ16の構成要素30乃至44は,全て内部バス46を介して接続される。但し,コントローラ16の内部構成は,このような構成に限定されるものではなく,必要に応じて,プログラムメモリ34内の機能を専用のハードウエアユニットで構成してもよい。
コントローラ16の動作速度は,CPU32と圧縮・伸張・展開ユニット36に供給されるシステムクロックCLKの周波数に依存する。システムクロックCLKは,クロック生成回路42により生成され,CPU32と圧縮・伸張・展開ユニット36とに供給される。そして,システムクロックのスピードは,CPU32により適宜制御される。例えば,省電力モードでは通常動作時に比較してシステムクロックの周波数が低く変更設定され,それに応じてコントローラ16の動作速度も低下する。
さらに,印刷エンジン20は,露光,現像,転写,定着を主に行うエンジンユニット24と,エンジンユニット24を制御するメカ制御部22とを有する。メカ制御部22は,コントローラ16から転送されるイメージデータ18を受信し,露光に必要な駆動信号28をエンジンユニット24に供給し,さらに,エンジンユニット24に定着ユニットの温度設定などを含む制御パラメータ26をエンジンユニット24に与える。
この制御パラメータ26には,コントローラ32のCPU32からの制御パラメータCNp,例えば印刷媒体の種類(一般紙,OHP,厚紙など)や,省電力モード(定着ユニットの低電圧化モード),などが含まれる。例えば,印刷媒体の種類が厚紙やOHPの場合は,一般紙に比較して定着時間が長くなり,エンジンユニットの動作速度が遅く設定される。さらに,省電力モードでは,定着ユニットの電圧が低くなりそれに伴い定着温度が低くなり,同様にエンジンユニットの動作速度が遅く設定される。
コントローラ16内のCPU32は,受信した印刷データ12を解析し,1プレーンを分割したバンド毎の中間コードに変換する。
印刷データ12は,例えば,写真などのイメージと,文字と,グラフィックスとを印刷するためのデータであり,イメージの場合はその大きさと画素に展開されたイメージデータの形態であり,必要に応じて圧縮されたデータからなり,文字の場合は大きさとフォントと色などのデータからなり,グラフィックスの場合は形状(矩形や円形,三角など)と大きさと色などのデータからなる。いずれの場合も,印刷用紙のどの位置かのデータを有する。印刷データ12は,所定の言語で表現された印刷コマンドからなり,概略して上記3種類の画像オブジェクトに対応するデータからなる。この印刷データから生成される描画コマンドは,例えば,印刷場所と大きさ,そして描画すべき画像の種類およびイメージの場合は展開されたイメージデータからなる。
また,中間コードは,画素に展開されたイメージデータを生成するためのコードであり,印刷エンジン20に同期してコントローラ16が中間コードバッファ40から読み出しイメージデータに展開して印刷エンジンに供給できる程度の下位言語で表現されたコードである。具体例は後述する。
そして,CPU32は,バンド内の中間コードの負荷係数に基づいてバンド内の中間コードを展開した時に要する時間を評価する負荷評価値を演算で求める。概略的には,負荷係数の累計値が負荷評価値である。この負荷評価値が所定の閾値を超える場合は,印刷エンジンに同期してイメージデータへの展開が間に合わずにオーバーランを生じる可能性が高いので,バンド内の中間コードをイメージデータに事前展開する。
この場合,事前展開すべきか否かの基準となる閾値は,コントローラ16が通常の動作速度を有し,印刷エンジン20が通常の速度を有する場合に対応して設定された基準閾値である。そして,コントローラ16のCPU32は,コントローラの動作速度が遅い場合,つまりシステムクロックの周波数が遅い場合,それに応じて基準閾値より低い閾値に変更設定する。中間コードを展開するために要する時間が長くなるからである。同様に,コントローラ16のCPU32は,印刷エンジン20の速度が遅い場合,それに応じて基準閾値より高い閾値に変更設定する。中間コードを展開するために利用できる時間が長くなるからである。変更設定の演算例については,後で詳述する。
図2は,印刷画像例を示す図である。また,図3は,図2の印刷画像に対応する中間コードバッファ内の中間コードと負荷評価値及び閾値の例を示す図である。図2には,印刷エンジンが1回の動作で画像形成可能な印刷範囲に対応する1つのプレーンPLN内に形成される画像例が示されている。
このプレーンPLNは複数のバンド領域BND1〜BND3に分割されている。このプレーンPLNは,例えば,A4のレーザープリンタであればA4サイズに,A3のレーザープリンタであればA3サイズに対応する。したがって,印刷用紙のサイズによっては1プレーンが複数ページに対応することもある。また,印刷エンジンが1回の動作で1枚の印刷用紙に画像を形成する場合は,この1プレーンPLNは,その1枚の印刷用紙に対応する。
図2の画像例は,写真からなるイメージ50と,所定の濃度の矩形RCT0と,文字「ABCDEF」と,楕円形52と,三角形54と,所定の濃度を有し内部に文字「A」が重ね書きされている長方形56とを有する。
かかる印刷画像の場合,印刷データ12は,イメージ50についてはその属性と位置と圧縮方式などに加えて画素に展開されたイメージデータを有し,矩形RCT0,楕円52,三角形54,矩形56などについてはその属性と位置とテクスチャデータや濃度データを有し,文字「ABCDEF」や「A」についてはその属性とキャラクタの種類(フォント)と位置及び濃度のデータを有する。
これらの印刷データ12は,例えば,PDLやポストスクリプトなどの印刷ジョブ記述言語で記述されている。また,印刷データ12はプレーン毎に区分して構成される。
そして,この印刷データ12から画素に展開されたイメージデータを生成するに適した中間コードが生成される。更に,画素展開を容易にするために,中間コードに変換される段階で,文字は画素に展開したイメージデータにされ,楕円52は単位幅を有する垂直矩形V0〜V4に分解され,三角形54は単位高さを有する水平矩形L0〜L3に分解される。また,中間コードは,印刷プレーンPLNを複数に分割したバンド領域BND0〜BND3毎に生成され,それに伴い,イメージ50はバンドBND0に属するイメージIMG0とバンドBND1に属するイメージIMG2とに分解され,矩形56はバンドBND2に属する矩形RCT1とバンドBND3に属する矩形RCT2とに分解される。
つまり,図2に示されるとおり,バンドBND0には,イメージIMG0と矩形RCT0と文字を画素に展開したイメージIMG1とに対応する中間コードが生成される。バンドBND1には,イメージIMG2と複数の垂直矩形V0〜V4に対応する中間コードが生成される。また,バンドBND2には,複数の水平矩形L0〜L3と矩形RCT1に対応する中間コードが生成され,バンドBND3には矩形RCT2とイメージIMG3に対応する中間コードが生成される。
そして,印刷データに含まれる画像オブジェクトは1プレーン単位で記述され,必ずしもバンドの順になっていない。したがって,1プレーン分の印刷データを全て中間コードに変換した段階で,全てのバンドの中間コードがそろうことになる。
図3には,図2に示した分解された画像に対応する中間コードの例が示されている。バンドBND0には,イメージIMG0と,矩形RCT0と,イメージIMG1に対応する中間コード60,61,62が含まれる。具体的には,
(1)イメージIMG0の中間コード60は,その属性IMG0と,左上の点(図3中の黒点)のバンドBND0内のローカル座標(X,Y)と,その幅及び高さ(W,H)と,イメージデータの圧縮形式COMPと,具体的なイメージデータ(00110011…)とを有する。
(2)矩形RCT0の中間コード60は,その属性RCT0と,矩形の模様を示すスクリーンデータPと,左上点のバンドBND0内のローカル座標(X,Y)と,その幅及び高さ(W,H)とを有する。
(3)イメージIMG1の中間コード62は,その属性IMG1と,ローカル座標(X,Y)と,幅及び高さ(W,H)と,文字を画素に展開したイメージデータ(0010101…)
とを有する。
(1)イメージIMG0の中間コード60は,その属性IMG0と,左上の点(図3中の黒点)のバンドBND0内のローカル座標(X,Y)と,その幅及び高さ(W,H)と,イメージデータの圧縮形式COMPと,具体的なイメージデータ(00110011…)とを有する。
(2)矩形RCT0の中間コード60は,その属性RCT0と,矩形の模様を示すスクリーンデータPと,左上点のバンドBND0内のローカル座標(X,Y)と,その幅及び高さ(W,H)とを有する。
(3)イメージIMG1の中間コード62は,その属性IMG1と,ローカル座標(X,Y)と,幅及び高さ(W,H)と,文字を画素に展開したイメージデータ(0010101…)
とを有する。
同様に,バンドBND1には,イメージIMG2と複数の垂直矩形V0〜V4に対応する中間コード70〜75が含まれる。具体的には,
(1)垂直矩形V0〜V4の中間コード70〜74は,その属性V0〜V4と,模様を示すスクリーンデータPと,それぞれの左上点のローカル座標(X,Y)と,高さHとを有する。
(2)イメージIMG2の中間コード75は,その属性IMG2と,ローカル座標(X,Y)と,その幅及び高さ(W,H)と,イメージデータの圧縮形式COMPと,具体的なイメージデータ(00110011…)とを有する。
(1)垂直矩形V0〜V4の中間コード70〜74は,その属性V0〜V4と,模様を示すスクリーンデータPと,それぞれの左上点のローカル座標(X,Y)と,高さHとを有する。
(2)イメージIMG2の中間コード75は,その属性IMG2と,ローカル座標(X,Y)と,その幅及び高さ(W,H)と,イメージデータの圧縮形式COMPと,具体的なイメージデータ(00110011…)とを有する。
同様に,バンドBND2には,水平矩形L0〜L3の中間コード80〜83と,矩形RCT1の中間コード84とを有する。具体的には,
(1)水平矩形L0〜L4の中間コード80〜83は,その属性L0〜L4と,モノクロデータBと,ローカル座標(X,Y)と,幅Wとを有する。
(2)矩形RCT1の中間コード84は,その属性RCT1と,矩形の模様を示すスクリーンデータPと,色データCOLと,ローカル座標(X,Y)と,その幅及び高さ(W,H)とを有する。
(1)水平矩形L0〜L4の中間コード80〜83は,その属性L0〜L4と,モノクロデータBと,ローカル座標(X,Y)と,幅Wとを有する。
(2)矩形RCT1の中間コード84は,その属性RCT1と,矩形の模様を示すスクリーンデータPと,色データCOLと,ローカル座標(X,Y)と,その幅及び高さ(W,H)とを有する。
そして,バンドBND3には,矩形RCT2とイメージIMG3の中間コード90,91が含まれる。具体的には,
(1)矩形RCT2の中間コード90は,その属性RCT2と,矩形の模様を示すスクリーンデータPと,ローカル座標(X,Y)と,その幅及び高さ(W,H)とを有する。
(2)イメージIMG3は,その属性データIMG3と,下地との重なりの関係(ANDかORかEORかなど)のデータDと,スクリーンデータPと,ローカル座標(X,Y)と,幅及び高さ(W,H)とを有する。
(1)矩形RCT2の中間コード90は,その属性RCT2と,矩形の模様を示すスクリーンデータPと,ローカル座標(X,Y)と,その幅及び高さ(W,H)とを有する。
(2)イメージIMG3は,その属性データIMG3と,下地との重なりの関係(ANDかORかEORかなど)のデータDと,スクリーンデータPと,ローカル座標(X,Y)と,幅及び高さ(W,H)とを有する。
図3に示されるようにイメージデータ以外は,細分化された簡単な図形に対応する中間コードにされる。それにより,その後印刷エンジンの動作速度に追従して中間コードから画素に展開したイメージデータを高速に生成することが可能になる。
上記の中間コードにはあらかじめ展開時の時間に換算される負荷係数が設定されている。そして,CPU32は中間コードが生成されるたびにバンド毎に負荷係数の累計値に対応する負荷評価値を計算し,バンドに対応して負荷評価値を記録する。そして,各バンドの負荷評価値LF0〜LF3が,所定の閾値Vth1を超えるか否かが判定され,超える場合には中間コードがイメージデータに事前展開される。
図4は,本実施の形態における画像形成装置のコントローラの動作を示すフローチャート図である。図4のコントローラの動作は,印刷エンジンが1回の連続動作で印刷可能な1プレーン分の印刷データを中間コードに変換する準備動作と,中間コードをイメージデータに展開しながら印刷エンジンに転送する動作に対応する。したがって,印刷データが複数プレーンの画像の形成を要求している場合は,図4のコントローラの動作は,各プレーン毎に行われる。
さて,コントローラ16のCPU32は,コントロールプログラムを実行して,以下の制御を行う。最初に,ホストコンピュータ10から供給された印刷データ12を受信し,印刷媒体の種別を判別し印刷エンジンの速度を判別する。また,省電力モードの有無によりコントローラ16の動作速度を判別する。さらに,省電力モードの有無により印刷エンジンの速度も判別する。そして,それらの速度に対応して各バンドの負荷評価値の閾値を演算し設定する(S10)。この閾値は,印刷単位である1印刷プレーン毎に設定される。
図5は,本実施の形態における負荷評価値の閾値の決定手順を示すフローチャート図であり,図6は,その閾値の例を示す図である。CPU32は,印刷エンジンの速度に応じてその印刷プレーンにおける各バンドの負荷評価値の閾値を決定する(S30)。例えば,図6において,(1)のように,エンジン速度Veとコントローラ速度Vconとが共に標準値の1の場合に,基準閾値Vth1に設定されていたとする。そして,(2)のように,印刷媒体の種別が厚紙やOHPシートである場合や省電力モードである場合などでエンジン速度Veが遅い0.5になると,中間コードの展開に利用できる時間が長くなるので,閾値は基準閾値Vth1の2倍の2Vth1に変更設定される。
さらに,CPU32は,コントローラの速度に応じてバンドの負荷評価値の閾値を決定する(S32)。例えば,図6において,(3)のように,省電力モードの場合などにシステムクロックが低速度(低周波数)にされてコントローラ速度Vconが遅い0.5になると,中間コードの展開能力が半減するので,閾値は基準閾値Vth1の半分の0.5Vth1に変更設定される。
そして,(4)のように,エンジン速度Ve=0.6,コントローラ速度Vcon=0.8の場合は,閾値は(0.8/0.6)×Vth1=1.3Vth1に変更設定される。
このように,本実施の形態では,各バンドの負荷評価値の閾値を,エンジン速度とコントローラ速度のいずれか一方または両方に基づいて変更設定する。これにより,事前展開の判断を適切な閾値で行うことができる。
図4に戻り,次に,コントローラ16のCPU32は,受信した印刷データ12を解釈し,描画コマンドを生成する(S12)。そして,CPU32は,描画コマンドを所定の印刷領域毎,つまりバンド毎の中間コードに変換する(S14)。中間コードには,前述したとおり画素に展開されたイメージデータも含まれる。かかるイメージデータは,RAM内のワークメモリ38に格納され,中間コードバッファ40にはそのワークメモリ38内の格納されたアドレスデータが,展開済みのイメージデータのポインタ情報として格納される。
次に,CPU32は,各バンドについて,保存済みの中間コードと新たに変換された中間コードに対して展開に要する負荷評価値を演算により求める(S16)。前述のとおり,負荷評価値とは中間コードを展開するのに必要な演算時間に対応するものであり,印刷エンジンが起動した時に,コントローラ16が中間コードからイメージデータに展開し,そのイメージデータを印刷エンジンの動作速度に対応して適切なタイミングで印刷エンジン20に供給できるか否かを評価するための指標である。つまり,この負荷評価値が所定の閾値を超えるか否かを事前にチェックすることで,保存される中間コードから印刷エンジンに追従してイメージデータを供給可能か否かをバンド毎に評価することができる。
CPU32は,負荷評価値と設定された閾値とを比較し(S18),負荷評価値が閾値を超えない場合は(S18のNO),生成した中間コードを中間コードバッファ40の対応するバンドの領域に保存する(S22)。逆に,負荷評価値が所定の閾値を超える場合は,オーバーランエラーが発生する蓋然性が高いと見なして,そのバンドの中間コードを画素に事前展開してイメージデータの形態で中間コードバッファ40の対応するバンドの領域に保存する(S20)。事前展開されたイメージデータはユニット36により圧縮される。
上記の処理S16〜S22が,描画コマンドから変換された全ての中間コードに対して繰り返される(S26)。そして,1プレーン分の印刷データについての処理が完了すると(S26のYES),コントローラは,中間コードバッファ40に保存されている中間コードを圧縮・伸張・展開ユニット36でイメージデータに展開し,展開バッファ44に保存する。また,コントローラは,中間コードバッファ40に事前展開されたイメージデータが保存されている場合はそれをユニット36で伸張して,展開バッファ44に保存する。展開バッファ44は,数バンド分の容量を有し,ここに保存されたイメージデータは,印刷エンジン20に同期して転送される(S28)。
上記のとおり,本実施の形態では,印刷データを受信するとその時のコントローラの動作速度や印刷エンジンの速度に対応して,中間コードを事前展開すべきか否かの基準である負荷評価値の閾値を最適な値に変更設定する。よって,エンジン速度が遅く展開に利用可能な時間が長いにもかかわらず不必要に事前展開することが回避される。また,コントローラ速度が遅く展開能力が低下しているにもかかわらず必要な事前展開をせずにオーバーランエラーに至ることが回避される。
図7は,本実施の形態における別のプリンタシステムの構成図である。このプリンタシステムでは,ホストコンピュータ10にインストールされているプリンタドライバ11が,印刷データではなく,プリンタ装置14に対応する中間コードを生成して,プリンタ装置14に供給する。そして,プリンタ装置のコントローラ16が,1プレーン分の中間コードがそろった時点で,中間コードをイメージデータに展開しながら印刷エンジン20に供給する。
したがって,プリンタドライバ11側で中間コードを生成する時に,事前展開が必要か否かを判断し,必要な場合はイメージデータに事前展開する。よって,プリンタドライバ11が,コントローラ速度と印刷エンジン速度に基づいて,事前展開の判断基準である負荷評価値の閾値を変更設定する。したがって,プリンタ装置14の状態をプリンタドライバ11が常に把握している。なお,プリンタドライバ11は,プリンタ装置を制御する機能も有するドライバコントローラである。
図8は,本実施の形態におけるプリンタドライバの動作を示すフローチャート図である。このフローチャートの各工程において,図4と同じ工程には同じ引用番号を与えている。図4と異なるのは,工程S13とS30であり,それ以外は図4と同じである。
まず,プリンタドライバは,各バンドの負荷評価値の閾値をコントローラ速度と印刷エンジン速度とに依存して決定し,必要な場合に変更設定する(S10)。そして,オペレーションシステムからの描画指令に応答して,バンド毎の中間コードを作成する(S13)。そして,中間コードが生成されたバンドにおいて,負荷係数に応じた負荷評価値を求める(S16)。そして,負荷評価値を設定した閾値と比較し(S18),閾値を超えなければホストコンピュータ内の中間コードバッファに中間コードを保存し(S22),超える場合はイメージデータに事前展開し,それを中間コードバッファに保存する(S20)。描画指令に対応する全ての中間コードについて処理が終了し(S24),1プレー分の描画指令が終了すると(S26),プリンタドライバは,生成した中間コードをプリンタ装置に転送する(S30)。このとき,中間コードがイメージデータに事前展開されていたら,そのイメージデータをプリンタ装置に転送する。
プリンタ装置のコントローラ16は,受信した中間コードを,印刷エンジンに同期してイメージデータに展開しながら,展開したイメージデータを印刷エンジンに転送する。
以上説明したとおり,本実施の形態では,中間コードをイメージデータに事前展開すべきか否かを判定する閾値を,コントローラ速度や印刷エンジン速度に応じて最適値に設定するので,事前展開を適切に行うことができる。よって,処理能力の低い廉価なコントローラであっても,オーバーランエラーをおこすことなく最大の印刷スループットを発揮させることができる。
上記の実施の形態で,負荷評価値と閾値の比較をバンド毎に行ったが,これは1印刷プレーン毎に行っても良い。あるいは,1印刷プレーンに複数のページが含まれる場合には各ページ毎に行っても良い。
10:ホストコンピュータ
11:プリンタドライバ(ドライバコントローラ)
12:印刷データ 14:プリンタ装置
16:コントローラ 20:印刷エンジン
11:プリンタドライバ(ドライバコントローラ)
12:印刷データ 14:プリンタ装置
16:コントローラ 20:印刷エンジン
Claims (7)
- 所定の印刷範囲毎に印刷データから変換された中間コードを記憶し,その後,印刷エンジンの動作に同期して前記中間コードをイメージデータに展開しながら当該イメージデータを前記印刷エンジンに供給する画像形成装置のコントローラにおいて,
前記所定の印刷範囲内の前記中間コードを,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,
前記印刷エンジンの動作に同期して,前記中間コードバッファ内の中間コードをイメージデータに展開しながら当該イメージデータを,または前記中間コードバッファ内に事前展開した前記イメージデータを,前記印刷エンジンに供給し,
前記コントローラの動作速度または前記印刷エンジンの速度のいずれか一つまたは両方に応じて,前記所定の閾値を前記所定の印刷範囲毎に変更設定することを特徴とする画像形成装置のコントローラ。 - 所定の印刷範囲毎に印刷指令に対応する中間コードを画像形成装置に供給する画像形成装置のドライバコントローラであって,前記画像形成装置にて,印刷エンジンの動作に同期して前記供給した中間コードをイメージデータに展開しながら当該イメージデータを前記印刷エンジンに供給させるドライバコントローラにおいて,
前記所定の印刷範囲内の前記中間コードを,当該中間コードに対応して設定されている負荷係数に応じて負荷評価値を求め,当該負荷評価値が所定の閾値を超えない場合に当該中間コードを中間コードバッファに記憶し,超える場合に当該中間コードを前記イメージデータに事前展開して前記中間コードバッファに記憶し,
前記中間コードバッファに記憶した中間コードまたは事前展開したイメージデータを前記画像形成装置に供給し,
前記画像形成装置において,前記印刷エンジンの動作に同期して前記中間コードをイメージデータに展開しながら当該イメージデータを,または事前展開した前記イメージデータを,前記印刷エンジンに供給させ,
前記コントローラの動作速度または前記印刷エンジンの速度のいずれか一つまたは両方に応じて,前記所定の閾値を前記所定の印刷範囲毎に変更設定することを特徴とする画像形成装置のコントローラ。 - 請求項1または2において,
前記コントローラの動作速度が基準速度の場合に前記所定の閾値が基準閾値に設定され,前記コントローラの動作速度が前記基準速度より遅い場合は前記所定の閾値が前記基準閾値よりも小さく変更設定することを特徴とする画像形成装置のコントローラ。 - 請求項3において,前記画像形成装置が省電力モードの場合に前記コントローラの動作速度が前記基準速度より遅くなることを特徴とする画像形成装置のコントローラ。
- 請求項1または2において,
前記印刷エンジンの速度が基準速度の場合に前記所定の閾値が基準閾値に設定され,前記印刷エンジンの速度が前記基準速度より遅い場合は前記所定の閾値が前記基準閾値よりも大きく変更設定することを特徴とする画像形成装置のコントローラ。 - 請求項5において,前記画像形成装置が省電力モードの場合,または印刷媒体種が低速での画像形成を必要とする種の場合,前記印刷エンジンの速度が前記基準速度より遅くなることを特徴とする画像形成装置のコントローラ。
- 請求項1または2において,前記所定の印刷範囲とは,印刷エンジンの1回の動作で画像形成可能な1プレーン,前記1プレーンを複数に分割した1バンド,または1ページのいずれかであることを特徴とする画像形成装置のコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006230686A JP2008049664A (ja) | 2006-08-28 | 2006-08-28 | 画像形成装置のコントローラ及び画像形成装置のドライバ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006230686A JP2008049664A (ja) | 2006-08-28 | 2006-08-28 | 画像形成装置のコントローラ及び画像形成装置のドライバ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008049664A true JP2008049664A (ja) | 2008-03-06 |
Family
ID=39234147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006230686A Withdrawn JP2008049664A (ja) | 2006-08-28 | 2006-08-28 | 画像形成装置のコントローラ及び画像形成装置のドライバ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008049664A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010179546A (ja) * | 2009-02-05 | 2010-08-19 | Kyocera Mita Corp | 画像形成装置及び画像形成方法 |
JP2010282336A (ja) * | 2009-06-03 | 2010-12-16 | Brother Ind Ltd | 印刷制御装置及びコンピュータプログラム |
JP2011257906A (ja) * | 2010-06-08 | 2011-12-22 | Kyocera Mita Corp | 画像形成システム、画像形成装置、コンピュータープログラム、および省電力印刷方法 |
JP2012200956A (ja) * | 2011-03-24 | 2012-10-22 | Fuji Xerox Co Ltd | 画像処理システムおよび画像処理プログラム |
JP2013156431A (ja) * | 2012-01-30 | 2013-08-15 | Oki Data Corp | 画像形成装置、並びに、制御装置及びプログラム |
-
2006
- 2006-08-28 JP JP2006230686A patent/JP2008049664A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010179546A (ja) * | 2009-02-05 | 2010-08-19 | Kyocera Mita Corp | 画像形成装置及び画像形成方法 |
JP2010282336A (ja) * | 2009-06-03 | 2010-12-16 | Brother Ind Ltd | 印刷制御装置及びコンピュータプログラム |
JP2011257906A (ja) * | 2010-06-08 | 2011-12-22 | Kyocera Mita Corp | 画像形成システム、画像形成装置、コンピュータープログラム、および省電力印刷方法 |
JP2012200956A (ja) * | 2011-03-24 | 2012-10-22 | Fuji Xerox Co Ltd | 画像処理システムおよび画像処理プログラム |
JP2013156431A (ja) * | 2012-01-30 | 2013-08-15 | Oki Data Corp | 画像形成装置、並びに、制御装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4455459B2 (ja) | 印刷システムと印刷装置及び印刷方法 | |
JPH111029A (ja) | カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体 | |
JP2008049664A (ja) | 画像形成装置のコントローラ及び画像形成装置のドライバ | |
JP2007331390A (ja) | 画像形成装置およびその制御方法 | |
JP4682662B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2006293561A (ja) | プリンタドライバ及びそのプリンタシステム | |
JP2000043342A (ja) | プリンタ、プリンタ制御装置および画像入出力装置 | |
JP3823846B2 (ja) | スプールファイル加工装置、プログラム及び記録媒体 | |
JP2006205403A (ja) | オーバーランエラーを抑制した画像形成装置のコントローラ | |
JP2006205462A (ja) | 印刷スループットを向上させた画像形成装置及び画像形成装置システム | |
JPH10114119A (ja) | 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP3715796B2 (ja) | 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP4144169B2 (ja) | プリンタ | |
JP2006031086A (ja) | 印刷処理方法 | |
JP2007152843A (ja) | 画像処理装置及び画像処理プログラム | |
JPH10147019A (ja) | 印刷処理装置 | |
JPH10305639A (ja) | 印刷処理装置および印刷処理方法 | |
JP2007021730A (ja) | データ処理装置、データ処理方法、データ処理プログラムおよびそのプログラムを記録した記録媒体 | |
JP2004202944A (ja) | 印刷装置 | |
JP2002137448A (ja) | 画像形成装置および画像形成方法 | |
JP4359829B2 (ja) | 画像処理方法及び装置、プリンタシステム | |
JP2007052499A (ja) | プリンタ用プログラム | |
JPH0976568A (ja) | 印刷装置 | |
JPH10326166A (ja) | 印刷装置 | |
JPH06155821A (ja) | 出力情報処理方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110714 |