説明

印刷装置及びその処理方法

【課題】レイアウト設定及びオブジェクトの情報の少なくともいずれかの情報に基づいて複数のレンダリング部を用いたレンダリング処理の効率化を図るようにした技術を提供する。
【解決手段】印刷装置は、複数のページを含むジョブデータを解析し、レイアウト設定と、各ページに含まれるオブジェクトの情報とを取得する解析手段と、前記ジョブデータをページ単位に分割する分割手段と、前記レイアウト設定及び前記オブジェクトの情報の少なくともいずれかの情報に基づいて前記分割手段による分割により得られた複数のページデータを1又は複数まとめた分割データを複数生成し、該分割データ各々に対するレンダリング処理を複数のレンダリング手段のうちのいずれかを用いて実行させるレンダリング管理手段と、前記レンダリング手段により生成されたビットマップデータ毎に印刷動作を実施し、記録媒体上に印刷を行なう印刷手段とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置及びその処理方法に関する。
【背景技術】
【0002】
印刷装置は、外部装置からPDL(Page Description Language)形式のジョブデータを受信すると、ジョブデータをレンダリングし、当該レンダリングしたデータに基づいて記録媒体(例えば、ロールシート)に印刷を行なう。
【0003】
このような印刷装置においては、印刷速度の高速化を実現するため、レンダリング処理を行なうレンダリング部が複数設けられており、また、その管理を行なうレンダリング管理部が設けられている。この場合、複数のレンダリング部においては、複数ページからなるジョブデータをそれぞれ並列に処理する。
【0004】
また、上述した印刷装置においては、例えば、面付け処理を行なう場合がある。面付け処理は、平綴じ及び中綴じ等の綴じ方や、片面、両面といった印刷設定に応じて行なわれ、例えば、中綴じの場合は2つのページを1ページ分のメディアに面付け処理される(特許文献1)。ここで、図9(a)及び図9(b)を用いて、面付け処理の一例について説明する。ここでは、両面中綴じを行なう場合について説明する。
【0005】
図9(a)は中綴じ後の冊子を上から見た図の一例を示しており、丸囲みの数字は、ページの順序を示している。図9(a)に示す中綴じの冊子の印刷は、図9(b)の丸囲み数字の順番で行なわれる。例えば、符号301に示すページにおいては、おもて面にページデータ8及びページデータ1が面付けされ、その裏面にはページデータ7及びページデータ2が面付けされる。
【0006】
このような構成においては、レンダリング処理を印刷速度にあわせて高速に行なう必要がある。そのため、複数ページからなるジョブデータを印刷する際には、ページ毎に各レンダリング部に分割して処理が行なわれる(特許文献2〜4参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002−200814号公報
【特許文献2】特開平9−218758号公報
【特許文献3】特開平11−24860号公報
【特許文献4】特開2000−33744号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記例示したような従来の構成においては、以下に示す問題がある。例えば、ページ毎に別々のレンダリング部で処理を行なう構成であっても、面付け等を考慮する必要があるときには、複数のレンダリング結果が集まらないと、最終的な出力データを生成することができない。
【0009】
この点について具体例を挙げて説明する。例えば、図9(a)に示す場合であれば、おもて面のページデータ8及びページデータ1は、エンジン部による1回の印刷動作により印刷されるため、印刷装置では、これらページデータを同一のビットマップデータ上に生成する必要がある。そのため、高速化のために、ページデータ1及びページデータ8を別々のレンダリング部で処理したとしても、全てのビットマップデータが生成されていないと、エンジン部にデータを転送することができない。
【0010】
また、複数ページに跨って共通するオブジェクトが存在する場合であっても、各ページ毎に別々のレンダリング部でレンダリング処理が行なわれる可能性がある。この場合、共通のオブジェクトであるにも関わらず、複数のレンダリング部で当該オブジェクトに対するレンダリング処理が行なわれる。そのため、重複した処理が複数のレンダリング部で生じることになり、処理効率がいいとはいえない。
【0011】
また更に、元のPDL内において、共通するオブジェクトが複数存在していたとしても、当該PDL内には、当該オブジェクトについては1つのみしか保持されていない。そのため、複数のレンダリング部に分けて処理する場合には、各レンダリング部に共通オブジェクトをコピーして転送する必要があり、コントローラ部と各レンダリング部との間の通信トラフィックもビジー状態となる恐れもある。
【0012】
このように処理の高速化を図るためには、一般に、ページ毎に処理を分割してレンダリング処理することが有効と思われてるが、レイアウトやPDLのオブジェクト構造の制約によって処理待ちが発生したり、また、データの複製が必要となったりする場合がある。そのため、このような要因を起因として印刷速度の低下が生じることとなっていた。
【0013】
そこで、本発明は、上記課題に鑑みてなされたものであり、レイアウト設定及びオブジェクトの情報の少なくともいずれかの情報に基づいて複数のレンダリング部を用いたレンダリング処理の効率化を図るようにした技術を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記課題を解決するため、本発明の一態様による印刷装置は、複数のページを含むジョブデータを解析し、レイアウト設定と、各ページに含まれるオブジェクトの情報とを取得する解析手段と、前記ジョブデータをページ単位に分割する分割手段と、前記レイアウト設定及び前記オブジェクトの情報の少なくともいずれかの情報に基づいて前記分割手段による分割により得られた複数のページデータを1又は複数まとめた分割データを複数生成し、該分割データ各々に対するレンダリング処理を複数のレンダリング手段のうちのいずれかを用いて実行させるレンダリング管理手段と、前記レンダリング手段により生成されたビットマップデータ毎に印刷動作を実施し、記録媒体上に印刷を行なう印刷手段とを具備する。
【発明の効果】
【0015】
本発明によれば、レイアウト設定及びオブジェクトの情報の少なくともいずれかの情報に基づいて複数のレンダリング部を用いたレンダリング処理の効率化を図ることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施の形態に係わる印刷装置の構成の一例を示す図。
【図2】図1に示す印刷装置10の制御系の構成の一例を示す図。
【図3】メニュー画面の一例を示す図。
【図4】実施形態1に係わる印刷装置10の処理の概要を示す図。
【図5】実施形態2に係わる印刷装置10の処理の概要を示す図。
【図6】実施形態3に係わるコントローラ20の処理の流れの一例を示すフローチャート。
【図7】実施形態3に係わるコントローラ20の処理の流れの一例を示すフローチャート。
【図8】実施形態3に係わる各レンダリング部30の処理の流れの一例を示すフローチャート。
【図9】従来技術を説明するための図。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。以下の説明において説明する印刷装置は、例えば、印刷機能のみを有するシングルファンクションプリンタであっても良いし、また、例えば、印刷機能、FAX機能、スキャナ機能等の複数の機能を有するマルチファンクションプリンタであっても良い。また、例えば、カラーフィルタ、電子デバイス、光学デバイス、微小構造物等を所定の印刷方式で製造するための製造装置であっても良い。
【0018】
図1は、本発明の一実施の形態に係わる印刷装置の構成の一例を示す図である。ここでは、印刷装置の構成を示す断面図が示される。本実施形態に係わる印刷装置は、ロール状に巻かれた記録媒体(搬送方向において印刷単位の長さよりも長い連続した連続シート:ロールシート)を使用し、片面印刷及び両面印刷の両方に対応した高速ラインプリンタを例に挙げて説明する。
【0019】
なお、本実施形態においては、記録媒体がロールシートである場合を例に挙げて説明するが、これに限られない。例えば、布、プラスチック・フィルム、金属板、ガラス、セラミックス、樹脂、木材、皮革等、記録剤(インク、トナー等)を受容可能なものもであれば良い。
【0020】
また、本実施形態においては、インクジェット方式の印刷装置について説明するが、これに限られず、例えば、サーマルプリンタ(昇華型、熱転写型など)、ドットインパクトプリンタ、LEDプリンタ、レーザープリンタなど、どのような方式を採用しても良い。
【0021】
ここで、印刷装置10には、シート供給ユニット101と、搬送ユニット102と、搬送用エンコーダ103と、回転ローラ104と、ヘッドユニット105と、印刷ヘッド106と、検査ユニット107とが設けられる。この他、制御ユニット108、インクタンク109、カッタユニット110、裏面印字ユニット111、乾燥ユニット112、シート巻取ユニット113、仕分けユニット114、操作ユニット115も設けられる。
【0022】
シート供給ユニット101は、ロール状に巻かれたロールシート(以下、シートと呼ぶ場合もある)を収納して供給する。シート供給ユニット101は、上段シートカセット101aと下段シートカセット101bとを備え、2つのロールを収納可能に構成されており、択一的にシートを引き出して供給する。なお、収納可能なロールは、必ずしも2つである必要はなく、1つ或いは3つ以上のロールを収納可能に構成されていても良い。
【0023】
ここで、印刷装置10においては、搬送ユニット102、ヘッドユニット105により印刷ユニットが構成される。印刷ユニットは、搬送されるシート上に画像を形成し印刷を行なう。
【0024】
ヘッドユニット105には、インクジェット用の印刷ヘッド106が複数設けられる。印刷ヘッド106は、複数の印刷ヘッドが搬送方向に沿って並べられている。本実施形態においては、複数色(本実施形態では、7色)に対応して設けられている。なお、インクジェット方式は、発熱素子を用いた方式、ピエゾ素子を用いた方式、静電素子を用いた方式、MEMS素子を用いた方式等を採用することができる。
【0025】
各色のインクは、インクタンク109からそれぞれインクチューブを介して各印刷ヘッド106に供給される。本実施形態に係わる印刷ヘッド106は、フルラインタイプの印刷ヘッドで構成され、使用が想定されるシートの最大幅に対応した印刷幅を有している。
【0026】
検査ユニット107には、例えば、CCDラインセンサ等が設けられる。CCDラインセンサは、例えば、2次元イメージセンサで構成され、シート搬送方向と直交する方向に読取素子が複数並べられている。この他、検査ユニット107には、発光素子等も設けられる。このような構成により、検査ユニット107においては、シートに印刷されたパターンや画像を光学的に読み取り、印刷ヘッド106のノズルの状態、シートの搬送状態、画像の位置等を検査する。
【0027】
カッタユニット110は、画像印刷後のシートを所定の印刷単位の長さにカットする機構である。印刷単位の長さは、印刷する画像サイズに応じて異なってくる。例えば、L版写真では搬送方向の長さは135mm、A4サイズでは搬送方向の長さは297mmとなる。
【0028】
裏面印字ユニット111は、カットされたシートの裏面に印刷画像毎の情報(例えば、オーダー管理用番号や日付等)を印字する。乾燥ユニット112は、画像が印刷されたシートを加熱して、付加されたインクを(短時間に)乾燥させる。乾燥ユニット112には、シートを次工程に送り出すための搬送ベルトや搬送ローラが設けられる。
【0029】
シート巻取ユニット113は、両面印刷を行なう際に、おもて面の印刷が完了したロールシートを一時的に巻き取る。シート巻取ユニット113には、シートを巻き取るために回転する巻取ドラムが設けられる。おもて面の印刷が済んだ後、カッタユニット110でカットされていないシートは、巻取ドラムに一時的に巻き取られる。巻き取りが終われば、巻取ドラムが逆回転し、巻き取られたシートは、元のシート搬送路に送られる。このシートは、表裏反転しているため、上述した印刷ユニットでは、シート裏面に印刷を行なうことができる。
【0030】
仕分けユニット114は、カッタユニット110でカットされた後、乾燥ユニット112で乾燥させられたシートを各トレーに積載する。どのトレーに積載するかは、印刷画像毎に設定されたトレー番号に従って決められる。仕分けユニット114では、複数のトレーを保持しており、印刷単位の長さに応じで積載するトレーを分別する。また、積載中や積載完了等の状態表示も行なう。
【0031】
制御ユニット108は、印刷装置10における各部の制御を司る。制御ユニット108は、例えば、CPU(Central Processing Unit)、メモリ、各種I/Oインターフェース等を備えたコントローラ20と、電源とを具備して構成される。印刷装置10の動作は、コントローラ20又はコントローラ20にI/Oインターフェースを介して接続される外部装置(例えば、ホスト装置)からの指令に基づいて制御される。
【0032】
操作ユニット115は、印刷状況等の情報をオペレータに向けて表示したり、オペレータからの指示を装置内に入力したりする。例えば、指定のオーダー画像がどこのトレーに積載されているか等や、印刷中であるか印刷が終了しているか等のオーダー毎の印刷状況の確認表示を行なう。その他、インク残量や紙の残量等装置状態の確認、ヘッドクリーニング等の装置メンテナンスの実施を行なうためにオペレータが操作/確認するための情報等の表示を行なう。
【0033】
ここで、図1に示す印刷装置10において、シートに印刷(片面印刷)を行なう際の処理の流れについて簡単に説明する。
【0034】
まず、上段シートカセット101a及び下段シートカセット101bからシートが引き出され、それぞれのシートが図中a方向及びb方向に搬送される。その後、それぞれのカセットユニットから引き出されたシートは、図中c方向に搬送され、搬送ユニット102に到達する。
【0035】
搬送ユニット102は、複数の回転ローラを用いてシートを図中d方向(水平方向)に搬送する。このとき、各印刷ヘッド106からは、搬送ユニット102によるシートの搬送に同期してインクが吐出される。これにより、シート上に画像が形成され、印刷が行なわれる。なお、インクの吐出のタイミングは、搬送用エンコーダ103の出力信号によって決定される。
【0036】
印刷が行なわれたシートは、検査ユニット107に搬送され、各種検査が行なわれる。検査後、検査ユニット107から搬送されたシートは、図中e方向に搬送され、カッタユニット110に到達する。カッタユニット110では、シートを所定の印刷単位の長さ毎に切断し、当該切断されたシートは、図中f方向に搬送され、裏面印字ユニット111に搬送され、必要となる情報が印字される。
【0037】
裏面印字ユニットから搬送されたシートは、乾燥ユニット112に到達する。乾燥ユニット112では、インクが付加されたシートを短時間で乾燥させるために、図中g方向に搬送されるシートを温風で加熱する。
【0038】
印刷単位の長さに切断されたシートは、1枚ずつ乾燥ユニット112内を通過して、図中h方向に搬送されて仕分けユニット114に到達する。仕分けユニット114では、図中i方向に搬送されるシートをセンサで確認しながら各トレーに積載していく。これにより、シートのいずれかの面に対する印刷が終了する。なお、両面印刷の場合は、上述した通り、片面印刷が行なわれた後、シート巻取ユニット113において、当該シートを巻き取り、それを元のシート搬送路に戻してやることにより行なわれる。なお、この場合、おもて面印刷のみが行なわれたシートは、カッタユニット110で切断されていない。
【0039】
次に、図2を用いて、図1に示す印刷装置10の制御系の構成の一例について説明する。
【0040】
まず、ホスト装置50は、ジョブデータの供給源となるコンピュータ(或いは、画像読取用のリーダやデジタルカメラなど)である。
【0041】
ここで、印刷装置10には、制御系の構成として、コントローラ20と、複数のレンダリング部30と、ユーザインターフェース部41と、エンジン部42とを具備して構成される。
【0042】
ユーザインターフェース部41は、図1に示す操作ユニット115により実現される。すなわち、ユーザインターフェース部41は、オペレータに向けて各種情報(例えば、ジョブステータス)を表示したり、また、オペレータからの各種指示を装置内に入力したりする機能を果たす。
【0043】
コントローラ20は、ホスト装置50からのジョブデータを解析し、その解析結果やユーザインターフェース部41からの指示に基づき、各レンダリング部30へのコマンドやデータを作成する。また、レンダリング後のデータを各レンダリング部30から受け取り、エンジン部42へ転送する。
【0044】
ここで、コントローラ20は、図1に示す制御ユニット108の一部により実現される。コントローラ20には、受信部21と、解析部22と、ページ分割部23と、レンダリング管理部24と、通信部25と、スプール部26とが設けられる。
【0045】
受信部21は、ホスト装置50からPDL等のジョブデータを受信する。解析部22は、ジョブデータの解析を行なう。解析部22においては、ジョブデータがどのようなレイアウト設定なのか、また更に、カラージョブなのかモノクロジョブなのか等の解析を行なう。その他、ジョブデータ内の各ページにおけるオブジェクトの情報等の解析も行なう。このような解析は、ジョブデータ自体を解析する他、ユーザインターフェース部41を介したユーザの指示に基づくジョブであれば、ユーザ指示を直接取得することにより行なわれる。例えば、ユーザインターフェース部41を介したユーザの指示は、図3に示すようなメニュー画面を用いて行なわれる。図3には、綴じ設定601、レイアウト設定602、両面設定603、画像補正設定604を行なうためのメニュー画面が示されている。
【0046】
ページ分割部23は、ジョブデータをページ単位に分割する。これにより、複数のページデータが生成される。
【0047】
レンダリング管理部24は、複数のレンダリング部30における処理を管理する。より具体的には、解析部22の解析結果に基づいてページ分割部23の分割により得られた複数のページデータを1又は複数まとめた分割データを複数生成する。そして、当該分割データ各々に対するレンダリング処理を複数のレンダリング部30のうちのいずれかを用いて実行させる。
【0048】
ここで、レンダリング管理部24には、分割データ生成部51と、コマンド作成部52と、オブジェクト判定部53と、転送先決定部54と、付加部55とが具備される。
【0049】
分割データ生成部51は、解析部22の解析結果に基づいて、各レンダリング部30に指示する単位毎に複数のページデータをまとめた分割データを生成する。コマンド作成部52は、コマンドの作成を行なう。具体的には、解析部22の解析結果に基づき、レンダリング部30に対して画像処理モード等を指示するためのコマンドを作成する。
【0050】
オブジェクト判定部53は、複数のページデータ(又は1つのページデータ内)で繰り返し利用される共通オブジェクトが存在するか否かを判定する。転送先決定部54は、各分割データの転送先となるレンダリング部30を決定する。この決定は、例えば、各レンダリング部30の処理状況等に基づいて行なわれる。付加部55は、オブジェクト判定部53の判定結果や転送先決定部54による決定結果に基づいて、分割データに対して各種情報(後述する参照回数)を付加する。
【0051】
通信部25は、各レンダリング部30との間で各種データの授受を行なう。通信部25では、例えば、レンダリング管理部24からの指示に基づき、画像処理モードを指示するためのコマンドや分割データを各レンダリング部30に向けて転送する。ここでいうモードとは、例えば、画像補正処理の有無や、片面、両面といった設定や、平綴じ、中綴じといった後工程の有無等を指す。
【0052】
スプール部26は、各レンダリング部30により処理されたビットマップデータ及び当該データのヘッダー情報を所定の順序でエンジン部42に転送する。
【0053】
レンダリング部30は、図1に示す制御ユニット108の一部として実現される。レンダリング部30は、コントローラ20からのコマンドやデータに基づきレンダリング処理を行なう。なお、レンダリング後のビットマップデータは、スプール部26を介してコントローラ20へ転送される。
【0054】
各レンダリング部30には、通信部31と、変換処理部32と、オブジェクト保持部33と、オブジェクト管理部34とが設けられる。
【0055】
通信部31は、コントローラ20との間で各種データの授受を行なう。通信部31では、例えば、コントローラ20から送られてきたコマンドや分割データを受信する。
【0056】
変換処理部32は、通信部31を介して受け取ったデータに基づいてレンダリング処理を行なう。変換処理部32では、画像補正処理、PDLラスタライズ処理、モノクロ変換処理、面付け処理等を行なう。
【0057】
ここで、画像補正処理においては、分割データ内の画像データに対してコマンドで指定された補正処理が行なわれる。PDLラスタライズ処理においては、PDLを解釈して論理描画等が行なわれ、ビットマップデータが作成される。また、モノクロ変換処理においては、エンジン部42内の色変換部(不図示)における色変換処理に先立った色変換処理が行なわれる。具体的には、エンジン部42内の色変換部(不図示)において、モノクロ処理における温黒、冷黒、純黒といった微妙な再現の違いを出すための前段処理が行なわれる。面付け処理においては、コントローラ20からのコマンドで指定された平綴じ、中綴じ等の綴じ方や片面、両面といった印刷設定に応じて、例えば、中綴じの場合は2つのページを1ページ分のメディアに面付け処理する。面付け処理が終わったビットマップデータは、通信部31からコントローラ20内の通信部25へ転送される。
【0058】
また、この通信部31からのビットマップデータの転送と同時にビットマップデータに関するジョブステータス情報もコントローラ20側に送られる。ジョブステータス情報は、ジョブデータが正常にレンダリングされたか、エラーが発生したか等を示す情報であり、ユーザインターフェース部41上のジョブステータス表示に使用される。例えば、変換処理部32においてエラーが発生した場合は、エラーのステータス情報がコントローラ20に送られる。
【0059】
オブジェクト保持部33は、複数のページデータで利用される共通オブジェクトやそれに関連する情報を(一時的に)保持する。例えば、コントローラ20からのコマンド又は分割データ内に付加された情報において、PDL内の特定のオブジェクトが複数のページデータで利用されていることを示す情報が設定されているとする。この場合、変換処理部32においては、オブジェクト保持部33から該当のオブジェクトを取得し、PDLラスタライズ処理に利用する。
【0060】
オブジェクト管理部34は、オブジェクト保持部33に保持される共通オブジェクトやそれに関連する情報(参照情報)を管理する。例えば、共通オブジェクト等をオブジェクト保持部33から削除する。
【0061】
エンジン部42は、図1に示す制御ユニット108の一部と、図1で説明した印刷ユニットとにより実現される。エンジン部42においては、コントローラ20から受け取ったビットマップデータ毎に印刷動作を実施し、記録媒体上に印刷を行なう。このとき、エンジン部42は、ビットマップデータに対して、ヘッダー情報に基づいた色変換等の処理を施した後、ロールシート等の記録媒体上へ印刷を行なう。ヘッダー情報では、ビットマップデータがモノクロモードであるかカラーモードであるか等の情報が保持される。色変換処理では、例えば、カラーモードの場合は第1の色変換テーブルが使用され、モノクロモードの場合は第2の色変換テーブルが使用される。ここでいう色変換とは、カラーモードではカラーマネージメント等の色変換を行なうものであり、モノクロモードでは、レンダリング部にモノクロ処理部された結果に応じて、例えば、温黒、冷黒、純黒といったモノクロ処理を行なうものである。かかる処理後、例えば、エンジン部42の扱う色空間であるCMYK等に変換し、更に必要に応じて2値化処理を行なう。色変換処理後のデータがシート上に印刷される。
【0062】
(実施形態1)
ここで、実施形態1について説明する。実施形態1においては、ジョブデータの解析により得られたレイアウト設定に基づいてエンジン部42の印刷単位に従った分割データを生成し、それをレンダリング部30に処理させる場合について説明する。
【0063】
図4を用いて、実施形態1に係わるジョブ分割〜レンダリング処理の一例について具体例を挙げて説明する。ここでは、レンダリング部30として、第1のレンダリング部〜第3のレンダリング部が設けられているとする。
【0064】
ここで、ホスト装置50から複数ページを含むジョブデータ(入力データ)が送られてきたとする。具体的には、ジョブデータには、ページ1〜6が含まれており、また、レイアウト設定では、中綴じ設定且つ2in1が指定されている。
【0065】
印刷装置10は、解析部22において、ジョブデータを解析し、レイアウト設定(中綴じ設定且つ2in1)を取得するとともに、ページ分割部23において、ジョブデータをページ単位に分割する。
【0066】
ここで、印刷装置10は、分割データ生成部51において、解析部22の解析結果に基づいて、複数の分割データを生成する。この場合、レイアウト設定が「中綴じ設定且つ2in1」であるため、ページデータ1とページデータ6とを含む分割データと、ページデータ2とページデータ5とを含む分割データと、ページデータ3とページデータ4とを含む分割データとが生成される。
【0067】
分割データの生成が済むと、印刷装置10は、通信部25において、これら分割データを各レンダリング部30にそれぞれ転送し、レンダリング処理を実行される。この場合、ページデータ1とページデータ6とを含む分割データは、第1のレンダリング部で処理される。また、ページデータ2とページデータ5とを含む分割データは、第2のレンダリング部で処理され、また、ページデータ3とページデータ4とを含む分割データは、第3のレンダリング部で処理される。すなわち、エンジン部42による1回の印刷動作で印刷される複数のページデータが同じレンダリング部30で処理されることになる。
【0068】
以上説明したように実施形態1によれば、レイアウト設定に基づいてエンジン部42の印刷単位に従った分割データを生成し、それを各レンダリング部30に転送する。
【0069】
これにより、エンジン部42による1回の印刷動作で印刷されるページデータを同じレンダリング部30で処理することができる。そのため、従来のように、エンジン部による1回の印刷動作で印刷されるページデータが別々のレンダリング部で処理されるといった不具合が起きないので、それに起因した処理の遅延を防ぐことができる。
【0070】
(実施形態2)
次に、実施形態2について説明する。実施形態2においては、、ジョブデータの解析により得られたオブジェクトの情報に基づいて、1又は複数のページデータで同じオブジェクトが共通して利用される場合に、それらオブジェクトをまとめてレンダリング部に転送する場合について説明する。
【0071】
図5を用いて、実施形態2に係わるジョブ分割〜レンダリング処理について具体例を挙げて説明する。ここでは、レンダリング部30として、第1のレンダリング部〜第3のレンダリング部が設けられているとする。
【0072】
ここで、ホスト装置50から複数ページを含むジョブデータ(入力データ)が送られてきたとする。具体的には、ジョブデータには、ページ1〜5が含まれている。
【0073】
印刷装置10は、解析部22において、ジョブデータを解析し、オブジェクトの情報を取得するとともに、ページ分割部23において、ジョブデータをページ単位に分割する。このとき、ページデータ1及びページデータ2には、それぞれ同じ(共通)オブジェクト(オブジェクトA)が含まれおり、ページデータ3及びページデータ4には、それぞれ同じオブジェクト(オブジェクトE)が含まれている。そのため、レンダリング管理部24においては、ページデータ1とページデータ2とが同じレンダリング部で処理されるように制御し、ページデータ3とページデータ4とが同じレンダリング部で処理されるように制御する。
【0074】
この点について具体的に説明すると、まず、印刷装置10は、分割データ生成部51において、ページデータ1及びページデータ2を含む分割データを生成する。このとき、当該分割データ内にオブジェクトAを1つのみ含める。当該分割データ内には更に、当該オブジェクトAの参照回数を示す参照カウンタも付加される。
【0075】
これにより、当該分割データを処理するレンダリング部30は、変換処理部32において、分割データ内に含まれる1つのオブジェクトAに基づいて、ページデータ1及び2に対応するレンダリング処理を実施する。そして、オブジェクト管理部34において、オブジェクトを参照する度に、参照カウンタを1減算し、その値が「0」になった段階でオブジェクトAをオブジェクト保持部33から削除する。
【0076】
また、印刷装置10は、上記同様に、ページデータ3及びページデータ4を含む分割データを生成し、上記参照カウンタを付加してレンダリング部30に転送する。これにより、オブジェクトEについても、上述したオブジェクトAと同様の処理が行なわれる。
【0077】
以上説明したように実施形態2によれば、1又は複数のページデータにおいて共通のオブジェクトがある場合には、該当のページデータを同じレンダリング部30で処理させる。また、当該共通のオブジェクトは、コントローラ20側からレンダリング部30へ1度送信されるだけで済む。
【0078】
これにより、従来のように、共通のオブジェクトが別々のレンダリング部で処理されるといった不具合が起きないので、それに起因した処理効率の低下を防ぐことができる。また、コントローラ20と各レンダリング部30との間の通信トラフィックの低下も図れる。
【0079】
(実施形態3)
次に、実施形態3について説明する。実施形態2においては、1又は複数のページデータにおいて共通のオブジェクトがあった場合、それらページデータを同一のレンダリング部30で処理させる場合について説明した。これに対して、実施形態3においては、複数のページデータにおいて共通のオブジェクトがあった場合であっても、各レンダリング部30の処理状況によっては、複数のレンダリング部30を用いてレンダリング処理を行なう場合について説明する。
【0080】
図6〜図8を用いて、実施形態3に係わる印刷装置10の処理の流れの一例について説明する。まず、図6を用いて、コントローラ20の処理の流れの一例について説明する。ここでは、ジョブデータを受信した後、当該ジョブデータに対するレンダリング処理を各レンダリング部30に依頼する際の処理について説明する。
【0081】
コントローラ20は、受信部21において、ジョブデータを受信すると、解析部22において、当該ジョブデータを解析するとともに(S101)、ページ分割部23において、ジョブデータをページ単位に分割する(S102)。すなわち、複数のページデータが生成される。
【0082】
続いて、コントローラ20は、分割データ生成部51において、S101の解析結果に基づいて、複数のページデータを1又は複数まとめた分割データを複数生成する(S102)。また、コントローラ20は、コマンド作成部52において、コマンドの作成を行なう(S103)。すなわち、上述した解析結果に基づき、レンダリング部30に対して画像処理モード等を指示するためのコマンドを作成する。
【0083】
コマンドの作成が済むと、コントローラ20は、オブジェクト判定部53において、複数のページデータで繰り返し利用される共通オブジェクトが存在するか否かを判定する。判定の結果、共通オブジェクトがあれば(S104でYES)、転送先決定部54は、各レンダリング部30の処理状況を取得し、当該処理状況に基づいて各分割データの転送先を決定する(S105)。例えば、複数のページデータで繰り返し利用すれる共通オブジェクトがあったとしても、各レンダリング部30の処理状況によっては、複数のレンダリング部30に対して別々にレンダリング処理を指示した方が効率が良い場合がある。この場合、転送先決定部54は、複数のレンダリング部に分割データを転送すると決定する。なお、転送先の決定に際しては、レンダリング部30の処理状況(負荷状態)の他、オブジェクトのデータサイズや通信部25及び31間の通信帯域等を考慮しても良い。
【0084】
S106の処理の結果、複数のレンダリング部30を用いてレンダリング処理を行なわない場合(S106でNO)、コントローラ20は、実施形態2と同様の処理を行なう。すなわち、S102で生成された分割データ内のいずれか1つに、共通オブジェクトが(1つのみ)含まれている。そのため、当該オブジェクトに対する参照回数を示す参照カウンタを当該いずれか1つの分割データに付加する(S108)。
【0085】
その後、コントローラ20は、通信部25において、実施形態2で説明したように、同一のレンダリング部30にS108の処理で生成した複数の分割データ及びそれに対応するコマンドを転送する(S109)。これにより、当該レンダリング部30においては、共通オブジェクトを繰り返し利用してレンダリング処理を行なうことになる。そのため、通信トラフィックの低下を図れる。
【0086】
一方、複数のレンダリング部30を用いてレンダリング処理を行なう場合(S106でYES)、コントローラ20は、付加部55において、共通オブジェクトのコピー(複製)、その参照回数を示す参照カウンタや参照IDを分割データに付加する。そして、通信部25において、複数のレンダリング部30に向けて当該複数の分割データ及びそれに対応するコマンドを転送する(S109)。なお、共通オブジェクトのコピーを作成して付加するのは、元のPDL内において、同じオブジェクトが複数存在していたとしても、当該PDL内には、当該オブジェクトについては1つのみしか保持されていない。そのため、複数の分割データが生成されたとしても、そのうちのいずれか1つにしか共通オブジェクトが含まれていないので、このように共通オブジェクトのコピーを各分割データに付加することになる。
【0087】
次に、図7を用いて、コントローラ20における処理の流れの一例として、レンダリング部30からレンダリング後のデータを受信する際の処理について説明する。
【0088】
コントローラ20は、まず、通信部25において、レンダリング部30からビットマップデータ及びそれに対応するジョブステータス情報を受信する(S201でYES)。これにより、コントローラ20は、ジョブのステータスを当該レンダリングの終了を示すステータスに更新する(S202)。
【0089】
続いて、コントローラ20は、レンダリング結果がエラーであるか否かを判定する。この判定は、S201の処理で受信したジョブステータス情報に基づいて行なわれる。判定の結果、エラーであれば(S203でYES)、コントローラ20は、当該ジョブIDに相当するジョブのステータスをエラーステータスに更新した後、再度、S201の処理に戻る。
【0090】
一方、エラーが生じていなければ(S203でNO)、コントローラ20は、スプール部26において、ビットマップデータを保持する(S205)。そして、ジョブのステータスを出力待ち状態に更新する(S206)。
【0091】
また、コントローラ20は、スプール部26において、ビットマップデータ及び当該データのヘッダー情報を、所定の順序(印刷の順序)に従ってエンジン部42へ転送する(S207)。この転送が済むと、コントローラ20は、ジョブステータスを出力中状態に更新する(S208)。その後、コントローラ20は、再度、S201の処理に戻り、次のビットマップデータの受信を行なう。
【0092】
次に、図8を用いて、各レンダリング部30の処理の流れの一例について説明する。ここでは、コントローラ20側から分割データを受信した際の処理について説明する。
【0093】
レンダリング部30は、通信部31において、コントローラ20から送られてきた分割データ及びそれに対応するコマンドを受信する(S301でYES)。当該データの受信が済むと、レンダリング部30は、当該受信したコマンドに従って画像補正処理を行なう(S302)。
【0094】
続いて、レンダリング部30は、オブジェクト管理部34において、新規の共通オブジェクトが分割データに含まれているか否かを判定する。新規の共通オブジェクトが含まれていれば(S303でYES)、レンダリング部30は、オブジェクト保持部33において、当該オブジェクト及び参照カウンタ等を保持する(S304)。その後、レンダリング部30は、S306の処理に進む。
【0095】
S303の判定の結果、新規の共通オブジェクトが分割データ内に含まれていなければ、レンダリング部30は、当該分割データ内のデータが、オブジェクト保持部33に既に保持されている共通オブジェクトを利用(参照)するか否かを判定する。
【0096】
判定の結果、利用する場合(S306でYES)、レンダリング部30は、変換処理部32において、該当の共通オブジェクトをオブジェクト保持部33から取得し(S307)、当該オブジェクトに対応する参照カウントを1減少させる(S308)。そして、当該参照カウントが「0」になったか否かを判定し、「0」になっていなければ(S309でNO)、レンダリング部30は、S311の処理に進む。一方、「0」になっていれば(S309でYES)、レンダリング部30は、オブジェクト管理部34において、オブジェクト保持部33から当該オブジェクトを削除した後(S310)、S311の処理に進む。すなわち、共通オブジェクトが参照カウント分使用(参照回数分使用)された場合、当該オブジェクトはオブジェクト保持部33から削除される。なお、この参照カウントは、後続の共通オブジェクトを利用する分割データにも適用される。そのため、後続の共通オブジェクトを利用する分割ジョブのレンダリング中にオブジェクト保持部33から当該共通オブジェクトが削除される場合もある。
【0097】
また、S306の判定の結果、分割データ内のデータが、オブジェクト保持部33に既に保持されているオブジェクトを利用していなければ(S306でNO)、レンダリング部30は、S311の処理に進む。すなわち、変換処理部32において、当該分割データに対してPDLラスタライズ処理を行なう(S311)。
【0098】
その後、レンダリング部30は、変換処理部32において、生成されたビットマップデータに対して、モノクロ処理、面付け処理をそれぞれコマンドに応じて実施する(S312、S313)。そして、通信部31において、ビットマップデータ及びレンダリングの処理結果をコントローラ20に向けて送信する(S314、S315)。
【0099】
以上説明したように実施形態3によれば、複数のページデータにおいて共通のオブジェクトがある場合であっても、各レンダリング部30の処理状況によっては、複数のレンダリング部30を用いてレンダリング処理を行なう。
【0100】
これにより、各レンダリング部30の処理状況をも考慮して、ジョブデータに基づく印刷に対する全体的な処理のスループットを向上させることができる。
【0101】
また、繰り返し利用される共通オブジェクトに参照回数を付加してレンダリング部30に保持させるため、コントローラ20とレンダリング部30との間の通信トラフィックの低下も図れるので、並列動作性を向上させることができる。
【0102】
以上説明したように実施形態1〜3によれば、複数のレンダリング部から構成される印刷装置において、レイアウト設定や繰り返し利用される共通オブジェクトの存在及びレンダリング部の処理状況を考慮して、効率良くレンダリング処理を行なうことができる。

【特許請求の範囲】
【請求項1】
複数のページを含むジョブデータを解析し、レイアウト設定と、各ページに含まれるオブジェクトの情報とを取得する解析手段と、
前記ジョブデータをページ単位に分割する分割手段と、
前記レイアウト設定及び前記オブジェクトの情報の少なくともいずれかの情報に基づいて前記分割手段による分割により得られた複数のページデータを1又は複数まとめた分割データを複数生成し、該分割データ各々に対するレンダリング処理を複数のレンダリング手段のうちのいずれかを用いて実行させるレンダリング管理手段と、
前記レンダリング手段により生成されたビットマップデータ毎に印刷動作を実施し、記録媒体上に印刷を行なう印刷手段と
を具備することを特徴とする印刷装置。
【請求項2】
前記レンダリング管理手段は、
前記複数のページデータで共通して利用される共通オブジェクトがある場合、前記複数の分割データの生成に際して、いずれか1つの分割データに該共通オブジェクトを含めて前記複数の分割データを生成する分割データ生成手段と、
各レンダリング手段の処理状況に基づいて前記複数の分割データに対してレンダリング処理を行なうレンダリング手段を決定する決定手段と、
前記決定手段により前記複数の分割データに対するレンダリング処理を前記複数のレンダリング手段を用いて実行すると決められた場合、前記共通オブジェクトの複製とその参照回数とを各分割データに付加する付加手段と
を具備し、
前記レンダリング手段は、
前記共通オブジェクトを含むとともに且つ前記参照回数が付加された分割データを受信した場合、該共通オブジェクト及び該参照回数を保持する保持手段と、
前記保持手段に保持された前記共通オブジェクトを用いてレンダリング処理を行なう変換処理手段と、
前記レンダリング処理において前記共通オブジェクトを前記参照回数分使用したときに前記保持手段に保持された前記共通オブジェクト及び前記参照回数を削除するオブジェクト管理手段と
具備することを特徴とする請求項1記載の印刷装置。
【請求項3】
前記付加手段は、
前記決定手段により前記複数の分割データに対するレンダリング処理を前記複数のレンダリング手段を用いて実行しないと決められた場合、前記共通オブジェクトを含む分割データに対して参照回数を付加する
ことを特徴とする請求項2記載の印刷装置。
【請求項4】
前記レンダリング管理手段は、
前記複数のページデータで共通して利用される共通オブジェクトがある場合、前記複数の分割データの生成に際して、いずれか1つの分割データに該共通オブジェクトを含めて前記複数の分割データを生成する分割データ生成手段と、
前記共通オブジェクトを含む分割データに対して参照回数を付加する付加手段と
を具備し、
前記レンダリング手段は、
前記共通オブジェクトを含むとともに且つ前記参照回数が付加された分割データを受信した場合、該共通オブジェクト及び該参照回数を保持する保持手段と、
前記保持手段に保持された前記共通オブジェクトを用いてレンダリング処理する変換処理手段と、
前記レンダリング処理において前記共通オブジェクトを前記参照回数分使用したときに前記保持手段に保持された前記共通オブジェクト及び前記参照回数を削除するオブジェクト管理手段と
を具備することを特徴とする請求項1記載の印刷装置。
【請求項5】
前記レンダリング管理手段は、
前記レイアウト設定に基づいて、前記印刷手段による1回の印刷動作で印刷される複数のページデータをまとめた分割データを複数生成する
ことを特徴とする請求項1記載の印刷装置。
【請求項6】
印刷装置の処理方法であって、
解析手段が、複数のページを含むジョブデータを解析し、レイアウト設定と、各ページに含まれるオブジェクトの情報とを取得する工程と、
分割手段が、前記ジョブデータをページ単位に分割する工程と、
レンダリング管理手段が、前記レイアウト設定及び前記オブジェクトの情報の少なくともいずれかの情報に基づいて前記分割手段による分割により得られた複数のページデータを1又は複数まとめた分割データを複数生成し、該分割データ各々に対するレンダリング処理を複数のレンダリング手段のうちのいずれかを用いて実行させる工程と、
印刷手段が、前記レンダリング手段により生成されたビットマップデータ毎に印刷動作を実施し、記録媒体上に印刷を行なう工程と
を含むことを特徴とする処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−39749(P2013−39749A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−178490(P2011−178490)
【出願日】平成23年8月17日(2011.8.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】