JP4942179B2 - 印刷制御装置及びその制御方法及びデバイスドライバ - Google Patents

印刷制御装置及びその制御方法及びデバイスドライバ Download PDF

Info

Publication number
JP4942179B2
JP4942179B2 JP2006333866A JP2006333866A JP4942179B2 JP 4942179 B2 JP4942179 B2 JP 4942179B2 JP 2006333866 A JP2006333866 A JP 2006333866A JP 2006333866 A JP2006333866 A JP 2006333866A JP 4942179 B2 JP4942179 B2 JP 4942179B2
Authority
JP
Japan
Prior art keywords
processing
analysis
data
description language
page description
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.)
Expired - Fee Related
Application number
JP2006333866A
Other languages
English (en)
Other versions
JP2008143067A (ja
JP2008143067A5 (ja
Inventor
大樹 武石
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 JP2006333866A priority Critical patent/JP4942179B2/ja
Priority to US11/943,272 priority patent/US20080137135A1/en
Publication of JP2008143067A publication Critical patent/JP2008143067A/ja
Publication of JP2008143067A5 publication Critical patent/JP2008143067A5/ja
Application granted granted Critical
Publication of JP4942179B2 publication Critical patent/JP4942179B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、ページ記述言語の解析処理及びレンダリング処理を実行する印刷制御装置及びその制御方法とデバイスドライバに関するものである。
近年、電子ドキュメントを印刷する印刷システムが一般化されており、カラープリンタを使用したカラー画像の印刷に対する要求も増大してきている。この印刷システムでは、プリンタは、ホストコンピュータやプリントサーバから送信されてきたページ記述言語(PDL)を解析してラスタイメージを作成し、そのラスタイメージに基づいて印刷を行っている。このような印刷の過程では、PDLデータを解析して中間言語であるディスプレイリスト(DL)を作成し、このDLからラスタイメージに変換する(レンダリング)のが一般的である。
近年のホストコンピュータにおける機能の高度化に伴ってカラー電子ドキュメントが増加し、高精細のカラー画像データやグラフィックデータを扱えるようになってきた。更に、多くのホストコンピュータとカラープリンタとがネットワークで接続され、カラープリンタに対して、より多くの印刷物を高速、且つ高精細に印刷することが求められるようになってきた。このような高精細なドキュメントを高速に印刷するという要求に応えるためには、ホストコンピュータから送られてくるPDLデータをより高速に解析する必要がある。この高速に処理する方法の一つとして、プリンタが有するPDL処理に係る中央演算処理装置(CPU)の多重化がある。例えば、カラープリンタが複数のCPUを有し、各CPUに処理を分散させることにより、より高速なPDL処理を実現したものがある。また一つのシリコンダイ上に複数のCPUコアを搭載したCPUも近年一般的になりつつあり、このような高速CPUを搭載したカラープリンタも実現されている。
一方、このような形態のCPUの機能を十分に活かすためのソフトウェア技術も必要になる。複数のCPUコアが存在しても、各CPUコアに与えられる処理が並行して実行されるようにデータを供給しないと、充分にそのハードウェア能力を生かすことができない。このようなマルチコアや複数のCPUを備えるCPU形態を生かすソフトウェア技術にマルチタスクがある。このマルチタスクは、複数の処理を並行して、或は擬似的に並行して動作させる方法である。この方法を採ることにより、複数のCPUコアにより並行処理させることが可能となり、そのハードウェア能力を充分に生かすことが可能となる。このような背景から今日では特に、ホストコンピュータが複数のCPUコアを有するハードウェアを有し、このハードウェアでマルチタスク化されたソフトウェアが動作するといった形態が一般的になりつつある。
[フォールバックに係る説明]
従来、ページ記述言語(PDL)を処理するプリンタやプリンタコントローラは、PDLで表現されるデータ(PDLデータ又は画像記述データ)を解析した上で中間言語であるディスプレイリスト(DL)を作成する。そして、このDLからラスタイメージを生成(レンダリング)するのが一般的である。この一連の処理の中で、レンダリング部分は非常に処理の負荷が大きいため、レンダリング専用のハードウェア(RIP)を実装するのが一般的である。しかし、ハードウェアの実装だけでは、予め限定されたメモリ空間にしかアクセスできないため、レンダリングする領域(通常は、1ページ)のDLを、全てこの限定されたメモリ空間に収めなければならないという制約がある。
従来は、このような制約を回避するために、フォールバックと呼ばれる処理が行われてきた。ここではフォールバック処理を説明するためにまず、フォールバック処理が行われない場合の処理の流れを説明し、次いでフォールバックが行われた場合の処理の流れを説明する。
図10は、一般的なジョブ制御部、PDL解析部、RIPによる処理の流れを説明する図である。ここではジョブ制御部は、所定量のPDLデータを受信するとPDL解析部にそれを渡し、PDLデータの解析開始を指示する。この指示に応じてPDL解析部はPDLデータの解析処理を開始し、そのPDLデータの解析処理が終了するとPDL解析終了で応答する。この解析処理中、PDL解析部で中間データを記憶するメモリ容量の不足が発生すると、そのメモリ不足をジョブ制御部に通知する。これによりジョブ制御部からPDL解析部にPDL解析中止が指示される。そして、そのメモリ不足が解消すると、ジョブ制御部からPDL解析部にPDL解析再開が指示される。こうしてPDLデータの解析が終了すると、RIPに対してレンダリング処理の開始(RIP開始)を指示する。これによりRIPはレンダリング処理を開始し、そのレンダリング処理が終了するとジョブ制御部に対してレンダリング処理の終了(RIP終了)が通知される。
これをデータの流れと共に説明したのが図11である。
図11(A)〜(C)は、ジョブ制御部、PDL解析部、RIPとの間におけるデータの流れを説明する図である。
図11(A)〜(C)において、1001はPDLデータを記憶するためのメモリ領域を示し、限られたメモリ領域の中にPDLデータ1007を記憶している。このプリンタ装置が受信したPDLデータ1007は、PDLに係る処理の流れを管理するジョブ制御部1004に渡される。次に、このジョブ制御部1004は、外部の情報処理装置から受信した情報や、このプリンタ装置が記憶している設定情報等に基づいて、そのPDLデータの処理に必要な情報をPDLデータ1007に付加して、これらをPDL解析部1005へ送る(図11(A))。
PDL解析部1005は、こうして与えられたPDLデータ1007を解析し、RIP1006が処理可能な中間データであるDL1008を生成する(図11(B))。RIP1006は、このDL1008からイメージデータ1009を生成する(図11(C))。ここで、このDL1008は、DLを保存するための限られた容量の領域1002に書き込まれる。またイメージデータ1009は、このRIP1006によって限られた容量の領域1003に書き込まれる。こうしてイメージデータ1009を、このプリンタ装置のエンジンへ送信して可視画像を得ることができる。
しかし、この処理で使われる記憶領域の容量は有限であり、与えられたPDLデータ1007の複雑さなどに依存して、使用されるメモリ容量はそれぞれに異なる。つまりPDLデータ1007のデータサイズ(容量)が限定されていないため、このPDLデータ1007から作成されるDL1008のデータサイズが非常に大きくなる場合がある。またDL1008が複雑になり、そのデータサイズが大きくなると、このDL1008をレンダリングするRIP1006が使用するワーク領域の容量も大きくなる。この場合には、DL1008を保存する領域1002のメモリ容量が不足する可能性がある。
この制限を回避する方法がフォールバックであり、図12はこのフォールバックを説明する図である。
図12(A)〜(C)は、図11の状態で領域1002のメモリ容量が不足した場合の処理を説明する図である。
フォールバックは、図12(A)で、DL1008のデータサイズがRIP1006がアクセス可能なメモリ空間1002を超えると、一旦、その時点までのDL1008をレンダリングしてイメージデータ1009を生成する。更に、それまでに作成したDL1008を消去する。こうして生成したイメージデータを描画エリアのバックグラウンドイメージ1010として、再びDL1008に追加する(図12(B))。ここで通常、このバックグラウンドイメージ1010は圧縮されているため、追加されるDLのデータサイズは、メモリ空間1002の容量よりも小さくなる。これによりこのメモリ空間1002の空いた領域に残りのDLを記憶することができる(図12(C))。このようにして、限定されたメモリ1002の容量で大きなデータサイズのDL1008を処理できる。また、フォールバック時のレンダリング終了時にRIP1006のワーク領域もクリアされるため、このワーク領域のサイズ制限も回避することができ低コストのプリンタ装置を提供することができる。上述のフォールバック処理は、例えば、下記の特許文献1〜3に記載されている。
特開平7−137355号公報 特開2000−261632号公報 特開2002−120414号公報
しかしながら、このマルチタスク処理は、メモリに代表されるリソースをより多く消費するという問題がある。これに対して順次一つずつ処理を行うバッチ処理を採れば、消費されるメモリの容量は、一つの処理に必要なメモリ量に限られる。これに対してマルチタスクを導入すると、複数の処理で必要となるデータの全て或は少なくとも一部をメモリに展開する必要があるため、バッチ処理よりも多くのメモリを必要とする。
上述したようにプリンタ装置が有するメモリ領域の容量は限られており、またマルチタスク処理によって画像形成処理を行うとメモリ消費量が多くなるため、上述したフォールバックが発生する確率が高くなる。つまり上述した従来技術では、フォールバック処理が行われると、途中までのDLをレンダリングしてバックグランドイメージを作成する時間が必要になる。更に、このバックグランドイメージを圧縮する時間、そしてその圧縮されたイメージを解凍する時間が必要になる。従って、フォールバック処理が発生しない場合に比べると余計に処理時間が長くなるという問題がある。これによって、マルチタスク処理を導入したにも拘わらず、マルチタスク本来の機能を充分に生かせない結果なる可能性がある。
このように、フォールバック処理を行うことにより、限られたメモリ容量で像形成を行うことができるという利点がある一方、画像データの圧縮や解凍が必要となることにより処理時間が長くなってしまう。このため、デュアルコアのマルチタスク処理による高速化の利点が発揮されないという問題があった。これにより上述した電子ドキュメント等を高速に印刷したいという要望に答えられなくなる。
また画像データの圧縮及び解凍は、一般に不可逆圧縮と呼ばれる画像劣化を伴う手法が使われることが一般的である。このため、フォールバックが発生すると、画質の劣化を招き、上述したカラーの電子ドキュメントを高精細に印刷したいという要望に応えられなくなる。
本発明の目的は、このような従来の問題点を解決することを目的とする。
本願発明の特徴は、マルチタスク処理におけるリソース不足が招く画像データの生成処理効率の低下を防止する印刷制御装置及びその制御方法とデバイスドライバを提供することにある。
上記目的を達成するために本発明の一態様に係る印刷制御装置は以下のような構成を備える。即ち、
ページ記述言語で記述されたデータであるページ記述言語データを入力する入力手段と、
それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析手段と、
前記複数の解析手段へのリソースの割り当て及び前記複数の解析手段による並行処理を制御する制御手段と、
前記並行処理中にリソース不足が発生すると、前記並行処理中の前記複数の解析手段の内の第1解析手段による処理を中止させる中止手段とを有し、
前記制御手段は、前記第1解析手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放したリソースを他の解析手段に割り当てて当該他の解析手段による処理を継続させることを特徴とする。
上記目的を達成するために本発明の一態様に係るデバイスドライバは以下のような構成を備える。即ち、
ページ記述言語で記述されたデータであるページ記述言語データを解析してイメージデータを作成するデバイスドライバであって、
ページ記述言語で記述されたデータであるページ記述言語データを入力する入力手段と、
それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析手段と、
前記複数の解析手段が使用するリソースの前記複数の解析手段への割り当て及び前記複数の解析手段による並行処理を制御する制御手段と、
前記並行処理中にリソース不足が発生すると、前記並行処理中の前記複数の解析手段の内の第1解析手段による処理を中止させる中止手段とを有し、
前記制御手段は、前記第1解析手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放したリソースを他の解析手段に割り当てて当該他の解析手段による処理を継続させることを特徴とする。
上記目的を達成するために本発明の一態様に係る印刷制御装置の制御方法は以下のような工程を備える。即ち、
ページ記述言語で記述されたデータであるページ記述言語データを解析してイメージデータを作成する印刷制御装置の制御方法であって、
ページ記述言語で記述されたデータであるページ記述言語データを入力する入力工程と、
それぞれが、前記入力工程により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析処理タスクが使用するリソースの前記複数の解析処理タスクへの割り当て及び前記複数の解析処理タスクによる並行処理を制御する制御工程と、
前記並行処理中にリソース不足が発生すると、前記並行処理中の前記複数の解析処理タスクの内の第1解析処理タスクによる処理を中止させる中止工程とを有し、
前記制御工程は、前記第1解析処理タスクによる処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放したリソースを他の解析処理タスクに割り当てて当該他の解析処理タスクによる処理を継続させることを特徴とする。
本発明によれば、マルチタスク処理におけるリソース不足が招く画像データの生成処理効率の低下を防止できるという効果がある。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
まず、本発明の実施の形態を適用可能な印刷制御装置を備える画像形成装置の一例としてレーザビームプリンタの構成例を説明する。尚、本実施の形態は、このようなレーザビームプリンタのみならず、例えばインクジェットプリンタ、MFP(Multi Function Peripheral)、イメージセッター、オフセット印刷機等、他の方式の出力装置にも適用可能である。
図1は、本発明の実施の形態に係る画像形成装置(レーザビームプリンタ)102の構成を主として示すブロック図である。
図において、データ処理装置101は、例えば、PC等のコンピュータであり、画像情報の供給源、或はプリンタの制御装置として機能する。本実施の形態では、画像形成装置102として、レーザビームプリンタ(プリンタ)を用いている。印刷制御装置の一例であるプリンタコントローラ103は、データ処理装置101から供給される画像情報(例えば、ESCコード、ページ記述言語等)に基づいて、ページ毎にビットマップデータを生成し、プリンタエンジン105に送出する。プリンタエンジン105は、プリンタコントローラ103から供給されるビットマップデータに基づいて感光ドラム上に静電潜像を形成し、その静電潜像を記録媒体上に転写して定着(電子写真方式)することにより画像を記録する。操作パネル104は、ユーザインタフェースとして使用される。ユーザは、この操作パネル104を操作することにより、所望の動作を指示することができる。またこの操作パネル104には、プリンタ102の処理内容や、ユーザへの警告内容が表示される。
図2は、本発明の実施の形態に係るレーザビームプリンタ102の機構を摸式的に示す概略断面図である。ここでは、タンデム方式のカラープリンタ102の構成を説明する断面図で示している。
同図において、201は、プリンタ筐体である。操作パネル104は、ユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するための表示器等を有している。203はボード収容部で、ビデオコントローラ103及びプリンタエンジン105の電子回路部分を構成するボード(回路基板等)を収容している。
用紙カセット220は、用紙(記録媒体)Sを複数保持しており、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有している。カセットクラッチ221は、用紙カセット220に載置された用紙Sの最上位の用紙Sを一枚を取り出して、その取り出した用紙Sを不図示の駆動手段から伝達される駆動力によって給紙ローラ222の位置まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、1回転に対応して1枚の用紙Sを給紙する。用紙検知センサ223は、それぞれ用紙カセット220に保持されている用紙Sの量を検知する。給紙ローラ222は、用紙Sの先端部をレジストシャッタ224まで搬送するローラである。レジストシャッタ224は、用紙Sを押圧することにより給紙を停止することができる。
230は手差しトレイであり、231は手差し給紙クラッチである。この手差し給紙クラッチ231は、用紙Sの先端を手差し給紙ローラ232の位置まで搬送するために使用される。手差し給紙ローラ232は、用紙Sの先端をレジストシャッタ224の位置まで搬送するために使用される。尚、この画像の記録に供する用紙Sは、用紙カセット220及び手差しトレイ230のいずれかの給紙手段を選択して給紙される。
プリンタエンジン105は、ビデオコントローラ103と所定の通信プロトコルに従って通信し、ビデオコントローラ103からの指示に従って用紙カセット220、手差しトレイ230の中からいずれかの給紙手段を選択する。そして、印刷の開始指示に応じて、選択した給紙手段よりレジストシャッタ224まで用紙Sを搬送する。尚、プリンタエンジン105は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含んでいる。
204a,204b,204c,204dは、感光ドラム205a,205b,205c,205dやトナー保持部等を有する像記録部であり、電子写真プロセスにより、用紙Sにトナー像を形成する。一方、206a,206b,206c,206dはレーザスキャナ部であり、それぞれ対応する像記録部にレーザビームによる画像情報を供給する。像記録部204a,204b,204c,204dには、用紙Sを搬送する用紙搬送ベルト250が複数個の回転ローラ251〜254によって用紙搬送方向(図の下から上方向)に扁平に張設されている。この用紙搬送ベルト250による搬送方向の最上流部では、バイアスを印加した吸着ローラ225によって、用紙Sが用紙搬送ベルト250に静電吸着される。またこのベルト250の搬送面に対向して4個の感光ドラム205a,205b,205c,205dが直線状に配設されて像形成手段を構成している。これら像記録部204a,204b,204c,204dのそれぞれには、各感光ドラムの周辺近傍を順次取り囲んで、帯電器、現像器が配置されている。
レーザスキャナ部206a,206b,206c,206dにおいて、207a,207b,207c,207dはレーザユニットである。各レーザユニットの半導体レーザは、プリンタコントローラ103から送出される画像信号(/VIDEO信号)に応じて駆動されて、レーザビームを発射する。こうして各レーザユニットから発せられたレーザビームは、各対応するポリゴンミラー(回転多面鏡)208a,208b,208c,208dにより走査され、各対応する感光ドラム上に静電潜像を形成する。
定着器260は、像記録部204a〜204dにより用紙Sに形成されたトナー画像を熱定着させる。搬送ローラ261は、用紙Sを排紙するように搬送する。排紙センサ262は、用紙Sの排紙状態を検知する。排紙ローラ兼両面印刷用の搬送路切替えローラ263は、用紙Sを排紙方向へ搬送し、用紙Sの搬送指示が排紙の場合はそのまま排紙トレイ264に排紙する。一方、搬送指示が両面搬送の場合は、用紙Sの後端が排紙センサ262を通過した直後に、そのローラ263の回転方向を逆向きに変えてスイッチバックすることにより用紙Sを両面印刷用搬送路270へ搬送する。排紙積載量検知センサ265は、排紙トレイ264上に積載された用紙Sの積載量を検知する。
両面印刷用搬送路270には、排紙ローラ兼両面印刷用の搬送路切替えローラ263により両面印刷用に用紙Sが搬送される。この搬送路270では、両面搬送ローラ271〜274の回転によって再びレジストシャッタ224まで搬送されて像記録部204a,204b,204c,204dへの搬送指示を待つ。尚、プリンタ102には、更に、オプションカセットや封筒フィーダ等のオプションユニットを装備することができる。
図3は、本実施の形態に係るレーザプリンタ102の印刷制御装置を構成するプリンタコントローラ103の構成を示すブロック図である。
ホストI/F部302は、データ処理装置101から送出されたPDLデータや、このプリンタ102の動作を指示する設定を入力する入力バッファ(図示せず)を有している。またデータ処理装置101へ送出する信号や、このプリンタ装置の機器情報を含む出力データを一時的に保持する出力バッファ(図示せず)も備えている。このホストI/F部302は、データ処理装置101との間でやりとりされる信号や通信パケットの入出力部を構成するとともに、データ処理装置101との間の通信制御を行っている。このホストI/F部302を介して入力されたPDLデータは、画像データ発生部303に与えられる。この画像データ発生部303は、予め定められている解析手段に基づいて、その入力したPDLデータの解析、及びその解析結果から中間言語(DL)である描画オブジェクトを生成する。更に、プリンタエンジン105が処理可能なビットマップデータを生成する。具体的には、PDLデータの解析とその解析によるオブジェクト情報の作成を行うとともに、そのオブジェクト情報の作成と並行してラスタライズ処理を行う。このラスタライズ処理では、PDLデータに含まれる表示色RGB(加法混色)から、プリンタエンジン105が処理可能なYMCK(減法混色)へ変換している。また、PDLデータに含まれる文字コードから予め格納されているビットパターン、アウトラインフォント等のフォントデータへの変換等を行い、ページ単位或はバンド単位でビットマップデータを作成している。更に、このビットマップデータに対しディザパターンを用いる疑似階調処理を施し、プリンタエンジン105で印刷処理が可能なビットマップデータを生成する。尚、ここでは上記解析手段による処理からビットマップデータへの展開処理までを描画手段と呼ぶこともある。この作成されたビットマップデータは画像メモリ305に格納される。この画像メモリ305に格納されているビットマップデータの読み出しはDMA制御部308で制御される。このDMA制御部308による画像メモリ305からのビットマップデータの読み出しに対する制御は、CPU309からの指示に基づき行なわれる。
こうして画像メモリ305から読み出されたビットマップデータは、エンジンI/F部306を介してビデオ信号としてプリンタエンジン105に転送される。このエンジンI/F部306は、エンジン105へ転送するビデオ信号を一時的に保持する出力バッファ(不図示)と、エンジン105から送出された信号を一時的に保持する入力バッファ(不図示)とを有している。エンジンI/F部306は、プリンタエンジン105との間でやりとりされる信号の入出力部を構成するとともに、プリンタエンジン105との間の通信制御を行う。
操作パネル104におけるユーザの操作入力によって出されたモード設定に関する指示等は、パネルI/F部301を介して入力される。このパネルI/F部301は、この操作パネル104とCPU309との間のインタフェースを構成する。この操作パネル104での操作入力によって出されるモード設定等の、このプリンタ102に対する指示は、データ処理装置101と双方向の通信を行うホストI/F部302を介しても指示可能である。
CPU309は、操作パネル104もしくはデータ処理装置101から指示されたモードに応じて上述の各ブロックに対する制御を行い、この制御はROM304に格納されている制御プログラムに基づいて実行される。このROM304に格納されている制御プログラムは、システムクロックによってタスクと称されるロードモジュール単位に時分割制御を行うOS(オペレーティングシステム)と、このOSによって機能単位に実行制御される複数のロードモジュールを含む。このロードモジュールを含む制御プログラムは必要に応じてEEPROM(不揮発性メモリ)310に格納される。CPU309による演算処理の作業領域としてRAM307が使用される。尚、RAM307は、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。またRAM307には画像出力バッファが用意されており(不図示)、フォールバックバッファや出力バッファとして後述するRIPによる処理で作成されるラスタイメージ及び属性ビットが記憶される。この出力バッファに記憶されて圧縮されたイメージデータは、CPU309或は専用の伸張器で伸長されてエンジンインタフェース部306に転送される。これらCPU309を含む各ブロックはシステムバス320に接続されている。このシステムバス320は、アドレスバスとシステムバスとを有している。
非可逆圧縮部311は、後述するラスタライズ処理部403(図4)で展開されたラスタイメージに非可逆圧縮を施し、RAM307の前述の出力バッファへ記憶する。本実施の形態に係る非可逆圧縮部はJPEGを採用している。JPEGは圧縮時に使用するQテーブルを変更することにより、圧縮対象となる画像の圧縮率を変更することが可能であり、圧縮率が高くなるほど画像劣化が大きくなる。尚、ここでは、非可逆圧縮としてJPEGを使用するとしているが、圧縮率を変更可能な非可逆圧縮方法であれば本発明に適用できることは言うまでもない。可逆圧縮部312は、後述する属性ビットに可逆圧縮を施して出力バッファへ記憶する。画像処理部313は、生成された属性ビットに基づいて、ラスタデータに文字用の画像処理、イメージ用の画像処理、グラフィック用の画像処理、カラー用の画像処理、白黒用の画像処理のいずれか又は組み合わせて処理を施す。
図4は、本実施の形態に係るプリンタコントローラ103における入力データの処理経路を機能ブロック別に説明する流れ図である。
データ処理装置101からホストインタフェース部302を通って入力されたPDLデータは、PDL解析部401によりコマンドが解析される。こうして解析された結果は、描画オブジェクト生成部402において描画オブジェクト(中間言語)として生成されRAM307の作業メモリに一時的に記録される。ラスタライズ処理部403は、RAM307の作業メモリから描画オブジェクトを随時読み出してラスタライズ処理を実行する。そして最終的に用紙に印刷される画像データをビットマップイメージ及び、そのイメージ各ピクセル毎に対応する属性ビットを展開して画像メモリ305に格納する。こうして画像メモリ305に格納されたビットマップデータは、エンジンI/F部306を介してプリンタエンジン105に出力して用紙への画像記録が行われる。
図5は、本実施の形態に係るマルチタスクを有効にした場合のジョブ制御部とPDL解析部と、RIPのソフトウェア構成を説明する図である。
次にマルチタスクを有効にしたことによって、図に示すように、一つのジョブ制御部2004と、二つのPDL解析部2005a,2005bと、一つのRIP2006が動作する。
図6は、本実施の形態に係るジョブ制御部とPDL解析部とRIPによる処理の流れを説明する図である。
データ処理装置101からホストインタフェース部302を通って入力されたPDLデータは、一旦、ジョブ制御部2004が受け取る。このPDLデータは複数送られてくることもあるが、ここでは一つのPDLデータの解析処理が完了する前に次の解析処理を開始する。
つまりジョブ制御部2004は、外部のデータ処理装置101から受信した情報や、このプリンタ装置102が記憶している設定情報等を基に、PDL解析部2005aがPDLデータを解析するPDL解析開始命令(1101a)を発行する。そして、このPDL解析部2005aからの処理の完了通知(1103a)を待たずに、ジョブ制御部2004は次のPDLデータを処理するために、PDL解析部2005bに、同様にPDL解析開始命令(1101b)を発行する。
このジョブ制御部2004の処理を受けて、二つのPDL解析部2005a,2005bはPDLデータを解析し、描画オブジェクト(中間言語)として生成してRAM307の作業メモリに一時的に記憶する(1102a,1102b)。このPDL解析部2005a,2005bの処理が完了すると、それぞれのPDL解析部は、ジョブ制御部2004にPDL処理が完了したことを通知する(1103a,1103b)。ジョブ制御部2004は、これらPDL解析部の処理を受けて、順次RIP2006に描画オブジェクト(中間言語)として生成されRAM307に記憶されているデータを通知する。それとともにラスタライズ処理(RIP)開始命令を発行する(1111a,1111b)。これによりRIP2006は、ジョブ制御部2004からの命令を受けて、それぞれの処理に対してRAM307の作業メモリから描画メモリを随時読み出してラスタライズ処理を行う。そして用紙Sに記録される画像データをビットマップイメージに展開して画像メモリ305に格納する(1112a,1112b)。これらのRIP2006の処理が完了すると、RIP2006は、ジョブ制御部2004にラスタライズ処理が終了したことを通知する(1113a,1113b)。ジョブ制御部2004は、このRIP2006の処理結果を受信すると、得られた画像メモリ305のビットマップイメージをエンジンインタフェース部306に出力することによって用紙Sへの記録が行われる。
このように、2つのPDL解析部により並行してPDL解析処理を行うことによって、複数のCPUコアを持つハード構成を充分に活かし、より高速な画像形成処理を実現することができる。
また、上述した並行処理がPDL解析部部分の一部であっても本発明を実施できることは言うまでもない。
また、上述した並行処理が、ジョブ制御部2004部分の一部か、或は全てで行われても本発明を実施できることは言うまでもない。
また上述した実施の形態では、2つのPDL解析処理が並行して実行される例を示したが、並行して行われるPDL解析処理の数は2つ以上であっても良い。
このように構成された画像形成のシステムにおいて、本発明の実施形態を説明する。
[実施の形態]
次に本実施の形態に係る処理シーケンスを、上述したのようなマルチタスクが有効である場合で、且つフォールバックが発生した場合の処理例をもとに図7A,7B及び図8を参照して説明する。
図7A及び図7Bは、本実施の形態に係るPDL解析処理をマルチタスクで実現した場合のデータの流れを説明する図である。
図8は、本実施の形態に係るジョブ制御部、PDL解析部及びラスタライズの処理を説明する図である。
マルチタスクが有効である場合には、図7A(A)において、データ処理装置101からホストインタフェース部302を介して入力されたPDLデータ1007a,1007bを、一旦ジョブ制御部2004が受け取る。このPDLデータ1007a,1007bは2つに限らず2つ以上送られてくることもある。ここでは一つのPDLデータ1007aの解析処理によるDL1008aの生成が完了する前に、次に受信したPDLデータ1007bのPDL解析処理を開始してDL1008bを生成するものとする(図7A(B))。
つまりジョブ制御部2004は、データ処理装置101から受信した情報や、このプリンタ装置102が記憶している設定情報等を基に、PDL解析部2005a,2005bでのPDL処理に必要な情報をPDLデータ1007a,1007bに付加する。そしてこれらをPDL解析部2005a,2005bへ送り、PDL解析開始の命令(図8の1101a,1101b)を発行する。ここでは、ジョブ制御部2004は、先に開始した処理の完了通知(1103a)を待たずに、次のPDLデータ1007bを処理するためにPDL解析部2005bにPDL解析開始命令(1101b)を発行している。
このジョブ制御部2004の処理を受けて、2つのPDL解析部2005a,2005bはそれぞれ、PDLデータ1007a,1007bを解析し、中間言語DL1008a,1008bを生成する。そして、これら中間言語DL1008a,1008bをRAM307のメモリ領域1002に一時的に記録する(1102a,1102b)。この状態が図7A(B)に示されている。
上述したように、この中間言語を記録するRAM307のメモリ領域1002の容量は有限で、PDLデータ1007a,1007bのサイズは限定されていない。このため、このPDLデータ1007a,1007bから作成されるDL1008a,1008bのデータサイズが、この領域1002の容量を越えることがある。またDL1008a,1008bが複雑になり、そのデータ容量が大きくなると、このDL1008a,1008bをレンダリングするRIP2006の使用するワーク領域も大きなものとなる。よって、DL1008a,1008bを保存する領域1002が不足する可能性がある。
また領域1002のメモリ容量が一定であれば、並行して生成される中間データの種類が単一であるより、複数の場合の方が領域1002のメモリ不足が発生し易いことはいうまでもない。この領域1002でのメモリ不足が発生すると、従来技術では回避するためにフォールバック処理を実施していた。しかし、このフォールバック処理の弊害は上述した通りである。
そこで本実施の形態では、DL(1008a,1008b)を保存する領域1002のメモリ不足が生じた場合、フォールバック処理を行うことなく、このメモリ不足に対処する方法について説明する。
図8において、2つのPDL解析部2005a,2005bによるDL生成処理(1102a,1102b)中に、これら処理のための領域1002のメモリ容量が不足が発生する(1200)。この場合、各PDL解析部は、このメモリ不足が発生したことをジョブ制御部2004に対して通知する(1121a,1121b)。
これらメモリ不足通知(1121a,1121b)を受けるとジョブ制御部2004は、これら複数のPDL解析部2005a,2005bにおけるDL生成処理でメモリ不足が発生していると認識する。そして次にジョブ制御部2004は、いずれのPDL解析部の処理を中止すべきかを判断する。この中止するPDL解析部を決定して中止させる中止手段の処理に関しては後述する。
図8の例では、PDL解析部2005bでの解析処理を中止するように、PDL解析部2005bに対してはジョブ制御部2004からPDL解析中止通知を発行する(1122)。このジョブ制御部2004からのPDL解析中止通知を受けると、PDL解析部2005bは、DLの生成処理を中止する(1123)。これにより、PDL解析部2005bが行っていた、DL1008bを生成する処理に使われているRAM307の領域1002の全て、或はその一部が解放される。
これによりジョブ制御部2004は、この解放されたメモリ領域を使い、領域1002のメモリ不足で処理が継続できなくなっていたもう一方のPDL解析部2005aのDL生成処理のためにRAM307の領域1002を再配分する。そして、このPDL解析部2005aに対して、PDL解析処理の再開通知を発行する(1124a)。これによりPDL解析部2005aは、ジョブ制御部2004で再配分された領域1002を使用してDL生成処理を再開する(1102a)。こうして領域1002にDL1008aが記憶されている状態が図7A(C)に示されている。
こうして、このPDL解析部2005aにおけるDL1008aの生成処理が完了するとPDL解析部2005aは、PDL解析処理の完了通知をジョブ制御部2004に対して通知する(1103a)。ジョブ制御部2004はこのPDL解析完了通知を受けると、RIP2006に対してレンダリングの開始を指示するラスタライズ開始通知を発行する(1111a)。こうしてRIP2006によるレンダリング処理が開始され、これにより生成されたビットマップイメージデータ1009aが領域1003に記憶される。この状態を図7B(A)に示す。
またジョブ制御部2004は、このPDL解析部2005aからのPDL解析完了通知により、PDL解析部2005aがDL生成のために占有していた領域1002が解放できると判断する。そしてその解放した領域1002のメモリエリアをPDL解析部2005bのDL生成処理のために再配分する。こうしてメモリエリアを再配分した後、ジョブ制御部2004は、PDL解析部2005bに対してPDL解析再開通知を発行する(1124b)。これによりPDL解析部2005bは、その再配分された領域1002のメモリを用いてDL生成処理を再開する(1125)。こうして領域1002に、PDL解析部2005bにより生成されたDL(1008b)が記憶された状態を図7B(B)に示す。
こうしてPDL解析部2005bによるDL生成処理が終了すると、PDL解析完了通知がPDL解析部2005bからジョブ制御部2004に発行される(1103b)。このときRIP2006からレンダリング終了が通知されていると(1113a)、今度はこのPDL解析部2005bによリ生成されたDL1008bのレンダリングの開始をRIP2006に指示する(1111b)。こうしてRIP2006によるレンダリング処理が開始され、これにより生成されたビットマップイメージデータ1009bが領域1003に記憶される。この状態を図7B(C)に示す。そしてRIP2006からレンダリング終了がジョブ制御部2004に通知されると(1113b)、このレンダリング処理を終了する。
こうしてRIP2006におけるレンダリング処理が完了すると、ジョブ制御部2004は、画像メモリ305に展開されているビットマップイメージをエンジンインタフェース部306を介してプリンタエンジン105に出力する。こうしてプリンタエンジン105で画像が形成される。
次に、メモリ不足が発生したときに、ジョブ制御部2004が処理を中止するPDL解析部を決定する処理について説明する。
本実施の形態では、この決定法則を複数持つ。この複数ある決定法則は下記の通りである。
(A)ジョブ制御部2004は、複数のPDLデータに係る処理を行っている複数のPDL解析部の内、最後のPDL解析処理の開始命令を通知したPDL解析部におけるPDL解析処理を中止する。
(B)ジョブ制御部2004は、複数のPDLデータに係る処理を行っている複数のPDL解析部の内、DL生成処理の進捗が最も遅いPDL解析部におけるPDL処理を中止する。
(C)ジョブ制御部2004は、複数のPDLデータに係る処理を行っている複数のPDL解析部の内、使用するメモリ領域を最も多く使用してPDL解析処理を行っているPDL解析部部におけるPDL処理を中止する。
以上の決定法則の内、決定法則(A)は、複数実行されているDL生成処理の内、最も処理が進んでいるであろう処理の継続を優先させて、後から投入されたDL生成処理を中止するものである。これにより、複数のPDLデータに基づいて画像の形成が完了する順序をジョブ制御部2004が受け取ったデータの順番と一致させることができる。
法則(B)は、DL生成処理が先行しているPDL処理部の処理を優先させて処理を継続させることができる。このDL生成処理の進捗を予測する方法は、既に生成された複数のDLの内、最も容量の小さいDLに係るDL生成処理が遅れていると判断することによってなされる。
また決定法則(C)によれば、できるだけ多くのメモリエリアを解放することにより、メモリ不足をより確実に回避することができる。マルチタスクを有効にしたPDL解析処理は、複数のPDL処理の並行処理を可能とする。よって、より確実に領域1002の不足の状態を回避するためには、最も領域1002を消費している処理を中止することが有効となる。
図9は、本発明の実施の形態に係るジョブ制御部において、上述した複数の法則の内いずれを採用して、処理を中止させるPDL解析部を決定するかを説明するフローチャートである。
まずステップS1001で、上述したデータ処理装置101からホストインタフェース部302を通って入力された情報及びPDLデータ1007a,1007bに係る処理の設定情報を読み取る。そして、上述した3つの法則のいずれを使用して、処理を中止させるPDL解析部を決定するかを判断する。ここで設定情報が存在すればステップS1005に進み、その設定情報に基づいて、上述した3つの法則のいずれかを選択し、その選択した法則に従って、処理を中止させるPDL解析部を決定する。
一方、ステップS1001で、設定情報がない場合はステップS1002に進み、データ処理装置101からの情報及びPDLデータから、帳票印刷かどうかを判断する。帳票印刷であればステップS1006に進み、上記(A)の法則を選択する。これによって複数あるPDLデータに基づく画像形成が完了する順番を、ジョブ制御部2004が受信したPDLデータの順番と一致させることができる。この処理は一般的に帳票印刷においては、画像形成の順番が重要になるため有効となる。
一方ステップS1002で帳票印刷でない場合はステップS1003に進み、データ処理装置101からの情報及びPDLデータに基づいて、フィニッシング処理を必要としているか否かをを判断する。ここでフィニッシング処理を必要としている場合はステップS1006に進み、上記法則(A)を選択する。これにより、複数のPDLデータに基づく画像形成が完了する順番を、ジョブ制御部2004が受け取ったPDLデータの順番と一致させることができる。この処理はフィニッシング処理では、画像形成の順番が保たれることが求められることが多い有効となる。
一方、ステップS1003で、フィニッシング処理を必要としていない場合はステップS1004に進み、上記法則(C)を選択する。これにより、最も多くメモリエリアを消費しているDLの生成処理が中止される。これにより、複数のDL生成処理で発生したメモリ不足をより確実に解消させることができる。
以上説明したように本実施の形態によれば、メモリに代表されるリソースの不足が招くフォールバック処理を回避することによって、PDL解析処理の効率の低下を抑制し、より高速に画像形成を行うことができる。
上述したように複数のPDL解析部の一方のPDL解析部によるDLの生成処理を中止することにより、そのDLの生成処理で占有されていたメモリ等に代表されるリソースを解放できる。こうして、そのリソースを他方のPDL解析部に再分配することにより、メモリに代表されるリソース不足を回避して画像形成処理を行うことができる。
また本実施の形態によれば、複数のCPUコアを備えたハードウェアに応じたマルチタスクを実現して、より高画質な画像形成を行うことができる。
尚、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様例について説明する。
[実施態様1]
PDL解析部におけるDLの生成処理を中止する場合、それまで生成されたDLを領域1002から消去するとともに、その中止された際のPDLデータの処理情報をジョブ制御部2004が保持する。そして、その中止されたPDL処理を再開する際、ジョブ制御部2004が保持している、その中止した時点でのPDLデータの処理情報を読み出して、そのPDL解析部に与えることにより再開処理を実行するようにしても良い。
これによりPDL処理を再開したPDL解析部におけるPDLデータの解析処理を効率化できる。
[実施態様2]
PDL解析部におけるDLの生成処理を中止する場合、そのPDL解析部が生成したDLを外部の記憶装置(例えばHDD)に保存した後、領域1002から、そのDLを消去する。そして、その中止された処理を再開する際、この保存処理によって保存されたDLをHDDから読み出すようにしても良い。
これにより、中止された際のDLを復元して、PDL解析処理を継続できるため、それまでの処理で作成されたDLを有効に活用して処理速度を早めることができる。
[実施態様3]
PDL解析部におけるDL生成処理を中止する場合、そのPDL解析部が生成したDLを圧縮処理した後に、領域1002の一部を解放する。そして、その中止された処理を再開する際、この圧縮されたDLを伸張して領域1002に展開するようにしても良い。
これにより、中止された際の情報を復元してPDL処理を再開できるため、PDL処理を再開して迅速に処理できるという効果がある。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
尚、この実施の形態では、2つのPDL解析部の場合で説明しているが、PDL解析部の数が3を含むそれ以上の場合にも同様に適用できる。その場合には、処理を再開するPDL解析部の数は複数となるため、それぞれのPDL解析部に対してリソースの割り当て、PDL解析所の再開を指示する必要がある。
またこの実施の形態では、PDL解析部が複数で、RIPが単体の場合を示しているが、描画手段として機能しているRIPも同様に複数存在しても良いことはもちろんである。
また本実施の形態に係るプリンタ装置では、各PDL解析部、各RIPに対応して専用のハードウェア(CPUコア)が設けられているのが好ましい。
また本発明は、このようなプリンタの場合に限らず、PC等に実装され、アプリケーションで作成された画像データからこのようなプリンタやディスプレイ等にイメージデータを供給するデバイスドライバにも適用できる。
本発明の実施の形態に係る画像形成装置(レーザビームプリンタ)の構成を主として示すブロック図である。 本実施の形態に係るレーザビームプリンタの機構を摸式的に示す概略断面図である。 本実施の形態に係るレーザプリンタのプリンタコントローラの構成を示すブロック図である。 本実施の形態に係るプリンタコントローラにおける入力データの処理経路を機能ブロック別に説明する流れ図である。 本実施の形態に係るマルチタスクを有効にした場合のジョブ制御部とPDL解析部と、RIPのソフトウェア構成を説明する図である。 本実施の形態に係るジョブ制御部とPDL解析部とRIPによる処理の流れを説明する図である。 本実施の形態に係るPDL解析処理をマルチタスクで実現した場合のデータの流れを説明する図である。 本実施の形態に係るジョブ制御部、PDL解析部及びRIPの処理を説明する図である。 本発明の実施の形態に係るジョブ制御部において、上述した複数の法則の内いずれを採用して、処理を中止させるPDL解析部を決定するかを説明するフローチャートである。 マルチタスクによりレンダリングを実現するプログラムのモジュール概念図である。 従来のPDL処理及びレンダリング処理を説明する図である。 従来のPDL処理及びレンダリング処理におけるフォールバック処理を説明する図である。

Claims (11)

  1. ページ記述言語で記述されたデータであるページ記述言語データを入力する入力手段と、
    それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析手段と、
    前記複数の解析手段へのリソースの割り当て及び前記複数の解析手段による並行処理を制御する制御手段と、
    前記並行処理中にリソース不足が発生すると、前記並行処理中の前記複数の解析手段の内の第1解析手段による処理を中止させる中止手段とを有し、
    前記制御手段は、前記第1解析手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放したリソースを他の解析手段に割り当てて当該他の解析手段による処理を継続させることを特徴とする印刷制御装置。
  2. 前記第1解析手段は、前記複数の解析手段の内、最後に処理を開始した解析手段であることを特徴とする請求項1に記載の印刷制御装置。
  3. 前記第1解析手段は、前記複数の解析手段の内、前記ページ記述言語データの解析処理速度が最も遅い解析手段であることを特徴とする請求項1に記載の印刷制御装置。
  4. 前記第1解析手段は、前記複数の解析手段の内、使用するリソースの量が最も多い解析手段であることを特徴とする請求項1に記載の印刷制御装置。
  5. 前記制御手段は、前記他の解析手段による処理が終了した後、前記他の解析手段に割り当てていたリソースを前記第1解析手段に割り当てて、前記第1解析手段による処理を再開させることを特徴とする請求項1乃至4のいずれか1項に記載の印刷制御装置。
  6. 前記制御手段は、前記第1解析手段による処理が中止するまでに前記第1解析手段により生成されたイメージデータを外部の記憶装置に保存し、前記第1解析手段による処理を再開させる場合には、前記外部の記憶装置に保存しておいたイメージデータを読み出すことを特徴とする請求項5に記載の印刷制御装置。
  7. 前記制御手段は、前記第1解析手段による処理が中止するまでに前記第1解析手段により生成されたイメージデータを圧縮し、前記第1解析手段による処理を再開させる場合には、圧縮したイメージデータを伸長することを特徴とする請求項5に記載の印刷制御装置。
  8. ページ記述言語で記述されたデータであるページ記述言語データを解析してイメージデータを作成する印刷制御装置の制御方法であって、
    ページ記述言語で記述されたデータであるページ記述言語データを入力する入力工程と、
    それぞれが、前記入力工程により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析処理タスクが使用するリソースの前記複数の解析処理タスクへの割り当て及び前記複数の解析処理タスクによる並行処理を制御する制御工程と、
    前記並行処理中にリソース不足が発生すると、前記並行処理中の前記複数の解析処理タスクの内の第1解析処理タスクによる処理を中止させる中止工程とを有し、
    前記制御工程は、前記第1解析処理タスクによる処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放したリソースを他の解析処理タスクに割り当てて当該他の解析処理タスクによる処理を継続させることを特徴とする印刷制御装置の制御方法。
  9. 前記第1解析処理タスクは、前記複数の解析処理タスクの内、最後に処理を開始した解析処理タスク、前記ページ記述言語データの解析処理速度が最も遅い解析処理タスク、使用するリソースの量が最も多い解析処理タスクのいずれかであることを特徴とする請求項に記載の印刷制御装置の制御方法。
  10. ページ記述言語で記述されたデータであるページ記述言語データを解析してイメージデータを作成するデバイスドライバであって、
    ページ記述言語で記述されたデータであるページ記述言語データを入力する入力手段と、
    それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析手段と、
    前記複数の解析手段が使用するリソースの前記複数の解析手段への割り当て及び前記複数の解析手段による並行処理を制御する制御手段と、
    前記並行処理中にリソース不足が発生すると、前記並行処理中の前記複数の解析手段の内の第1解析手段による処理を中止させる中止手段とを有し、
    前記制御手段は、前記第1解析手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放したリソースを他の解析手段に割り当てて当該他の解析手段による処理を継続させることを特徴とするデバイスドライバ。
  11. 前記第1解析手段は、前記複数の解析手段の内、最後に処理を開始した解析手段、前記ページ記述言語データの解析処理速度が最も遅い解析手段、使用するリソースの量が最も多い解析手段のいずれかであることを特徴とする請求項10に記載のデバイスドライバ。
JP2006333866A 2006-12-11 2006-12-11 印刷制御装置及びその制御方法及びデバイスドライバ Expired - Fee Related JP4942179B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006333866A JP4942179B2 (ja) 2006-12-11 2006-12-11 印刷制御装置及びその制御方法及びデバイスドライバ
US11/943,272 US20080137135A1 (en) 2006-12-11 2007-11-20 Print control apparatus and control method thereof and device driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006333866A JP4942179B2 (ja) 2006-12-11 2006-12-11 印刷制御装置及びその制御方法及びデバイスドライバ

Publications (3)

Publication Number Publication Date
JP2008143067A JP2008143067A (ja) 2008-06-26
JP2008143067A5 JP2008143067A5 (ja) 2010-01-14
JP4942179B2 true JP4942179B2 (ja) 2012-05-30

Family

ID=39497624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006333866A Expired - Fee Related JP4942179B2 (ja) 2006-12-11 2006-12-11 印刷制御装置及びその制御方法及びデバイスドライバ

Country Status (2)

Country Link
US (1) US20080137135A1 (ja)
JP (1) JP4942179B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181337A (ja) * 2008-01-30 2009-08-13 Ricoh Co Ltd 画像形成システム、管理装置、画像形成装置、画像形成方法、及び画像形成プログラム
JP5300346B2 (ja) * 2008-06-30 2013-09-25 キヤノン株式会社 画像形成装置及び画像形成方法
JP2010226283A (ja) * 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc 情報処理装置
JP5430319B2 (ja) * 2009-09-24 2014-02-26 キヤノン株式会社 印刷データ処理装置、印刷データ処理方法、プログラム
JP2011126210A (ja) 2009-12-18 2011-06-30 Canon Inc 印刷データ処理装置、印刷データ処理方法、およびプログラム
JP5392153B2 (ja) 2010-03-11 2014-01-22 コニカミノルタ株式会社 画像処理装置、画像処理方法及びプログラム
JP2011191399A (ja) * 2010-03-12 2011-09-29 Brother Industries Ltd 定着装置および画像形成装置
JP5545050B2 (ja) * 2010-06-09 2014-07-09 コニカミノルタ株式会社 画像処理装置、プログラム及び画像処理方法
JP5482528B2 (ja) * 2010-07-14 2014-05-07 富士ゼロックス株式会社 印刷文書変換装置及びプログラム
JP5691448B2 (ja) 2010-11-30 2015-04-01 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム
JP5747489B2 (ja) * 2010-11-30 2015-07-15 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置及びプログラム
JP5716367B2 (ja) * 2010-12-01 2015-05-13 コニカミノルタ株式会社 印刷データ生成装置及び印刷データ生成方法
EP2474938B1 (en) * 2011-01-05 2018-12-26 Ricoh Company, Ltd. Image forming apparatus and image forming system
JP5777375B2 (ja) * 2011-03-31 2015-09-09 キヤノン株式会社 画像処理装置、画像処理装置のデータ処理方法、及びプログラム
US8780373B2 (en) * 2011-06-13 2014-07-15 Ricoh Company, Ltd. Serial raster image processors used for error correction in a parallel raster image processor environment
JP5847460B2 (ja) * 2011-07-01 2016-01-20 キヤノン株式会社 画像形成装置、データ処理方法及びプログラム
JP5656770B2 (ja) * 2011-08-11 2015-01-21 京セラドキュメントソリューションズ株式会社 画像形成装置
JP4900530B1 (ja) * 2011-09-15 2012-03-21 富士ゼロックス株式会社 画像処理装置及びプログラム
JP2014117861A (ja) * 2012-12-14 2014-06-30 Canon Inc 画像形成装置および画像形成装置の制御方法
JP2014197740A (ja) * 2013-03-29 2014-10-16 セイコーエプソン株式会社 印刷制御装置および印刷制御プログラム
JP6264976B2 (ja) * 2014-03-19 2018-01-24 富士ゼロックス株式会社 画像処理システム、画像処理装置、処理制御装置及びプログラム
JP2016052110A (ja) * 2014-09-02 2016-04-11 コニカミノルタ株式会社 画像処理方法、画像形成方法、画像処理装置および画像形成装置
JP6188735B2 (ja) * 2015-01-16 2017-08-30 キヤノン株式会社 印刷装置、印刷装置の制御方法、およびプログラム
US10121098B2 (en) * 2015-04-30 2018-11-06 Canon Kabushiki Kaisha Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus
JP6748445B2 (ja) * 2015-04-30 2020-09-02 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、および、プログラム
JP5944034B2 (ja) * 2015-07-08 2016-07-05 キヤノン株式会社 画像処理装置、画像処理装置のデータ処理方法、及びプログラム
JP2019072968A (ja) * 2017-10-18 2019-05-16 キヤノン株式会社 画像形成装置、画像形成方法、及び、プログラム
JP7124544B2 (ja) * 2018-08-09 2022-08-24 富士フイルムビジネスイノベーション株式会社 印刷データ処理装置及びプログラム
US11551147B2 (en) * 2019-06-05 2023-01-10 Koninklijke Philips N.V. Evaluating resources used by machine learning model for implementation on resource-constrained device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0796637A (ja) * 1993-09-29 1995-04-11 Seiko Instr Inc プリンタ装置
US5835122A (en) * 1993-11-12 1998-11-10 Canon Kabushiki Kaisha Printing apparatus and method capable of selectively printing with a plurality of resolutions
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
JPH11203072A (ja) * 1998-01-14 1999-07-30 Fuji Xerox Co Ltd 画像処理装置
JP2000293386A (ja) * 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式
JP3373476B2 (ja) * 2000-02-18 2003-02-04 松下電送システム株式会社 画像処理装置およびその制御方法
JP2002120414A (ja) * 2000-10-17 2002-04-23 Canon Inc 画像出力装置及び方法
WO2003009144A1 (en) * 2001-07-19 2003-01-30 Wind River Systems, Inc. Memory management system
US7861156B2 (en) * 2003-05-29 2010-12-28 Electronics For Imaging, Inc. Methods and apparatus for parallel processing page description language data
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
JP2005149316A (ja) * 2003-11-18 2005-06-09 Canon Inc 情報処理装置、情報処理方法、プログラム、記録媒体及び印刷装置
JP2006039719A (ja) * 2004-07-23 2006-02-09 Fuji Xerox Co Ltd 画像処理装置、及び画像処理方法

Also Published As

Publication number Publication date
JP2008143067A (ja) 2008-06-26
US20080137135A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
JP4942179B2 (ja) 印刷制御装置及びその制御方法及びデバイスドライバ
KR100757154B1 (ko) 정보 처리 장치 및 그 제어 방법
JP2009199349A (ja) 情報処理装置及びその制御方法、プログラム
JP4328786B2 (ja) 印刷装置及びその制御方法、プログラム、記憶媒体
JP2005149317A (ja) 情報処理装置、ジャムリカバリ方法、プログラム、記録媒体及び印刷システム
JP5173578B2 (ja) 画像処理方法及び印刷装置とその制御方法
JP2006313452A (ja) 印刷システム、外部装置、画像記録装置、印刷制御方法、コンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP4677229B2 (ja) 印刷装置及び印刷方法
JPH1170717A (ja) 印刷制御装置および方法
JP2006164151A (ja) 印刷処理装置
US8411314B2 (en) Image forming apparatus for forming an image by transferring an image onto an intermediate transfer member, image forming method, and storage medium
EP1041508B1 (en) Image forming apparatus having data compression/decompression system
JP2006197049A (ja) 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2003241913A (ja) 出力装置、情報処理装置、情報処理システム、情報処理方法、記録媒体及びプログラム
JP4702923B2 (ja) 印刷装置、印刷制御方法、プログラム及び記憶媒体
JP2004066787A (ja) 画像記録装置、画像記録装置の制御方法、制御プログラムを提供する媒体、及び制御プログラム
JPH10123879A (ja) 出力装置および出力装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2003320711A (ja) 画像記録装置および画像記録方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2000006476A (ja) 画像出力装置及びその制御方法
JP2001277605A (ja) 画像出力システムおよびデータ転送制御方法
JP2006076017A (ja) 画像形成装置
JP2001105668A (ja) 画像出力装置及びその制御方法
JP2006048215A (ja) 印刷装置における画質向上手法
JP2008162089A (ja) 印刷装置
JP2002055790A (ja) 印刷システム及び印刷制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

R151 Written notification of patent or utility model registration

Ref document number: 4942179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees