説明

画像形成装置

【課題】画像データの圧縮伸張処理を専用のハードウェアで処理を行う画像形成装置において、圧縮処理と伸張処理とが同時に実行できない場合に、画像データの伸張処理中に次のページのバンド圧縮処理が遅延してしまうことによる印刷速度の遅れを改善する。
【解決手段】画像形成装置1は、1ページの画像データを複数のバンドに分割し、メインコントローラ2の圧縮伸張部23によってバンド単位で圧縮を行った上でHDD24に画像データを格納し、HDD24に1ページ分のデータが揃ったら、画像データを伸張圧縮部23で伸張して用紙に出力している。アクセラレータ3は、画像データの生成を行うとともに、圧縮部35によって圧縮伸張部23の稼働状況に応じてバンド単位で画像データを圧縮し、メインコントローラ2へ転送している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置に関し、プリンタアクセラレータに画像圧縮手段を設けることにより、印刷速度の改善を図った画像形成装置に関する。
【背景技術】
【0002】
PDL(Page Description Language:ページ記述言語)で作成されたプリンタジョブを画像データに変換する印刷装置では、メモリ使用量削減のため1ページの画像データを複数のバンドに分割し、バンド単位で圧縮を行った上でHDDに画像データを格納し、HDDに1ページ分のデータが揃ったら、画像データを伸張して用紙に出力する、という手段をとることがある。
また、別の画像形成装置としては、PDLデータから画像データを生成する部分の高速化のため、画像データの生成専用に描画アクセラレータを組み込んだ印刷装置がある(特許文献1参照)。
【0003】
図9は従来のアクセラレータを有する画像形成装置の一例を示す図である。
この画像形成装置101では、メインコントローラ102の外部入力IF122から入力されたPDLデータは、通信IF125、134を介してアクセラレータ3に転送される。アクセラレータ103では、解析部132によってPDLデータを解析し、画像生成部133によってバンド単位で画像データに変換している。
【0004】
生成されたバンド単位の画像データは、通信IF134、125を介してメインコントローラ102に転送された後、圧縮伸張部123で圧縮処理されて、HDD124に格納される。このように、圧縮処理されたバンド単位の画像データは、順次、HDD124に保存され、1ページ分の画像データが集まると、圧縮伸張部123で伸張処理が行われ、プリンタエンジンコントローラ126を介してプリンタエンジン104に転送され、用紙に印字される。
【0005】
なお、メインコントローラ102およびアクセラレータ103は、それぞれ、CPU、ROM、RAMを備えており、9図では、制御部121および制御部131のそれぞれのブロック内に表示している。制御部121および制御部131は、それぞれROMに格納されたプログラムに従って、メインコントローラ102およびアクセラレータ103全体の制御を行っている。
【0006】
図10は、従来の画像形成装置101における、画像データの処理フローを示す図である。図10では、1ページ当たり5バンドと仮定し、特に断らない限り、1ページの伸張処理が、2バンド分の圧縮処理の時間に相当するものとして記載している。なお、1バンド当たりの圧縮時間はそれぞれ等しいものとしている。また、1ページ目の2番目のバンドについては、「1−2」という添え字を設けている。そして、例えば、「1−3バンドデータ生成」は、1ページ目の2番目のバンドの画像データの生成処理を表している。なお、以下、バンド単位の画像データをバンドデータと称する。また、「2−3圧縮」は、バンドデータの語は省略しているが、2ページ目の3番目のバンド単位の画像データについての圧縮処理を表している。また、図の上側から下側へ行くほど時間が経過しており、tと数字はそれぞれの時点を示している。
【0007】
図10では、3ページ分の印刷を行う場合について記載しており、転送に必要な時間は省略している。
アクセラレータ3は、t0の時点から順次1ページ目の第1バンド目から、バンド単位の画像データとしてバンドデータを生成し、生成した個々のバンドデータをメインコントローラ2側に転送する。そして、メインコントローラ2側では、転送されてきたバンドデータを圧縮伸張部23で順次圧縮し、圧縮したバンドデータをHDD24に格納し、圧縮されたバンドデータが1ページ分蓄積されると、HDD24から読みだして圧縮伸張部23で伸張処理を行っている。
【0008】
例えば、アクセラレータ3でPDLデータから生成された「1-1バンドデータ」は、メインコントローラ2に転送され、圧縮伸張部23で圧縮された後、HDD24に格納される。そして、1ページ目の最終バンドデータである「1−5バンドデータ」の圧縮が終了してHDD24に格納された時点で1ページ分のバンドデータが読み出され、1ページ目の画像データの伸張に用いられる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−211050号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
図10で示す従来の画像処理装置では、アクセラレータ3におけるバンドデータの生成は、t15の時点で終了しているが、メインコントローラ2側での圧縮伸張処理のために最終ページの伸張処理が終了するのはt22の時点になっている。ここで、画像データの圧縮伸張処理は、専用のハードウェア(ASIC:Application Specific Integrated Circuit)で処理されることがあるが、ASICでの圧縮処理と伸張処理とが同時に実行できない場合は、画像データの伸張処理中は次のページのバンド圧縮処理が遅延してしまい、印刷速度が遅くなるという課題がある。
【0011】
本発明は、これらの実情に鑑みてなされたものであり、アクセラレータに画像圧縮手段を設け、アクセラレー側で画像圧縮処理を並列的に行うことにより、印刷速度の改善を図った画像形成装置を提供することをその目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明の第1の技術手段は、記憶手段と圧縮伸張手段と印刷制御手段を有する第1制御手段と、画像生成手段を有する第2制御手段を備え、該第2制御手段は、前記画像生成手段によってページ記述言語で作成されたプリンタジョブからバンド単位で画像データを生成し、該生成したバンド単位の画像データを前記第1制御手段に転送し、前記第1制御手段は、前記圧縮伸張手段によってバンド単位の画像データを圧縮処理し、該圧縮処理した画像データを前記記憶手段に格納するとともに、前記記憶手段に1ページ分のデータが揃うと、前記圧縮伸張手段によってページ単位の画像データの伸張処理を行い、該伸張処理によって得られたページ単位の画像データを前記印刷制御手段によって印刷する画像形成装置であって、前記第2制御手段はさらに圧縮手段を備え、前記第2制御手段は、前記第1制御手段の圧縮伸張手段の稼働状況に応じて、前記画印刷画像生成手段からのバンド単位の画像データを前記圧縮手段によって圧縮処理を行い、該圧縮処理したバンド単位の画像データを前記第1制御手段に転送することを特徴としたものである。
【0013】
第2の技術手段は、第1の技術手段において、前記第1制御手段は、前記第2制御手段に対して前記圧縮伸張手段におけるページ単位の画像データの伸張処理の開始通知及び終了通知を行い、前記第2制御手段は、前記開始通知および終了通知に応じて、前記バンド単位の画像データの圧縮処理を行い、該圧縮処理された画像データを前記第1制御手段に転送することを特徴としたものである。
【0014】
第3の技術手段は、第2の技術手段において、前記第2制御手段は、前記伸張処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴としたものである。
【0015】
第4の技術手段は、第1の技術手段において、前記第1制御手段は、前記第2制御手段に対して前記圧縮伸張手段における伸張処理の終了通知を行い、前記第2制御手段は、2ページ目以降のページの先頭のバンド単位の画像データから、前記伸張処理の終了通知を受けとるまでに生成されるバンド単位の画像データについて圧縮処理を行うことを特徴としたものである。
【0016】
第5の技術手段は、第4の技術手段において、前記第1制御手段は、前記第2制御手段に対して、さらに前記圧縮伸張手段の前記バンド単位の画像データの圧縮処理の開始通知及び終了通知を行い、前記第2制御手段は、前記バンド単位の画像データの圧縮処理の開始通知及び終了通知に応じて前記圧縮手段による圧縮処理を行うことを特徴としたものである。
【0017】
第6の技術手段は、第5の技術手段において、前記第2制御手段は、前記圧縮処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴としたものである。
【0018】
第7の技術手段は、第1〜6のいずれか1の技術手段において、前記第2制御手段の圧縮手段は、ハードウェアからなることを特徴としたものである。
【0019】
第8の技術手段は、第1〜6のいずれか1の技術手段において、前記第2制御手段の圧縮手段は、コンピュータを機能させるプログラムによって実現することを特徴としたものである。
【発明の効果】
【0020】
本発明によれば、メインコントローラの圧縮伸張手段で画像データの圧縮処理や伸張処理を行っている間に、圧縮処理可能なバンドデータをアクセラレータの圧縮手段で圧縮することができるため、メインコントローラの圧縮伸張手段での処理による待ち時間を軽減することが可能となり、画像形成装置全体として印刷速度を向上させることができる。
【図面の簡単な説明】
【0021】
【図1】本発明に係る画像形成装置の一例を示すブロック図である。
【図2】本発明に係る画像形成装置における画像データ処理の一例を説明するための図である。
【図3】図2に示した画像データ処理における他の一例を説明するための図である。
【図4】本発明に係る画像形成装置における画像データ処理の他の例を説明するための図である。
【図5】図4に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
【図6】図4に示した画像データ処理における他の一例を説明するための図である。
【図7】本発明に係る画像形成装置における画像データ処理のさらに他の例を説明するための図である。
【図8】図7に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
【図9】従来の画像形成装置の一例を示すブロック図である。
【図10】従来の画像形成装置における画像データ処理の一例を説明するための図である。
【発明を実施するための形態】
【0022】
以下、図面を参照しながら、本発明の画像形成装置に係る好適な実施の形態について説明する。
図1は、本発明に係る画像形成装置の一例を示すブロック図である。
【0023】
画像形成装置1は、本発明の第1制御手段に相当するメインコントローラ2と、本発明の第2制御手段に相当するアクセラレータ3、および、プリンタエンジン4を備えている。
メインコントローラ2は、制御部21、外部入力IF22、圧縮伸張部23、HDD24、通信IF、プリンタエンジンコントローラ26、を備えている。
【0024】
外部入力IF22は、LAN,USB接続等で、図示しないホストPCから、プリンタジョブとしてPDLデータを受信する機能を有し、通信IF25は、アクセラレータ3の通信IF34との間でデータや信号を送受信する機能を有している。また、本発明の圧縮伸張手段に相当する縮伸張部23は、画像データを圧縮伸張する圧縮伸張回路であり、ASICで構成されている。本発明の記憶手段に相当するHDD24は、圧縮伸張部23で圧縮されたバンド単位の画像データを記憶する。プリンタエンジンコントローラ26は、本発明の印刷制御手段に相当し、画像データを用紙に印刷するために、圧縮伸張部23から取得したページ単位の画像データをプリントエンジン4に出力するためのものである。
【0025】
メインコントローラ2は、CPU27、ROM28、RAM29を備えており、図1では、制御部21のブロック内に表示している。ROM28には、CPU27上で動作するメインコントローラ用のメインプログラムが格納されており、RAM29はCPU27の処理に利用する作業エリアや処理演算結果を格納するデータ格納エリアとして機能するとともに、受信したデータの一時保存用のメモリとして機能する。ここで、制御部21は、メインコントローラ2の全体の動作を制御する他、圧縮伸張部23の動作を制御し、圧縮伸張部23の稼働状況の情報をアクセラレータ3へ伝えている。
【0026】
アクセラレータ3は、制御部31、解析部32、画像生成部33、通信IF34、圧縮部35を備えている。解析部32は、PDLデータの内容を解析する機能を有し、画像生成部33は、解析部32によるPDLデータの解析の結果をもとに、画像データに変換する機能を有する。解析部32と画像生成部33とが本発明の画像生成手段に相当する。通信IF34は、メインコントローラ2の通信IF25との間でデータや信号を送受信する機能を有している。
【0027】
本発明の圧縮手段に相当する圧縮部35は、制御部21からの指示により、詳しくは、後述するCPU36上で動作するサブプログラムからの指示により、画像生成部33で生成した画像データを、圧縮処理する機能を有している。ここで、圧縮部35は、専用のハードウェア(ASIC)として構成されてもよく、CPU36上で動作するプログラムによって実現されてもよい。なお、解析部32および画像生成部33の機能は、通常、プログラムによって実現されるため、圧縮部35の機能をプログラムで構成する場合は、画像生成処理と圧縮処理を並行して行うために、マルチタスクによる処理が行われる。
【0028】
アクセラレータ3は、CPU36、ROM37、RAM38を備えており、図1では、制御部31のブロック内に表示している。ROM28には、CPU36上で動作するアクセラレータ用のサブプログラムが格納されており、RAM38は、受信したデータの一時保存用のメモリとして機能するとともに、画像データ生成時の処理演算結果を一時的に格納するデータ格納エリアとして機能する。また、制御部31は、アクセラレータ3の全体の動作を制御する他、メインコントローラ2から伝えられた圧縮伸張部23の稼働状況をモニタし、画像生成部33で生成した画像データを、圧縮部35によって圧縮処理するか否かを決定している。
【0029】
画像形成装置1におけるPDLデータの受信から印刷までの流れについて、説明する。画像形成装置1では、メインコントローラ2は、外部入力IF22を介して外部のホストPCから入力されたPDLデータを受信し、通信IF125を介して、PDLデータをアクセラレータ3に転送する。アクセラレータ3では、通信IF34を介して受信したPDLデータを解析部32に渡し、解析部32によってPDLデータを解析するとともに、解析結果に基づいて画像生成部133がバンド単位の画像データ(バンドデータ)の生成を行う。
【0030】
生成されたバンドデータは、通信IF25、34を介してメインコントローラ2に転送され、圧縮伸張部23で圧縮処理された上で、HDD24に格納される。このように、圧縮処理されたバンドデータは、順次、HDD24に保存され、1ページ分のバンドデータが集まると、圧縮伸張部23で伸張処理が行われる。そして、ページ単位の画像データが、プリンタエンジンコントローラ26を介してプリンタエンジン4に転送され、用紙に印字される。
【0031】
ここで、メインコントローラ2の制御部21は、圧縮伸張部23の動作を制御し、圧縮伸張部23の稼働状況の情報をアクセラレータ3へ伝えている。また、アクセラレータ3の制御部31は、メインコントローラ2における圧縮伸張部23の稼働状況をモニタし、画像生成部33で生成した画像データを圧縮処理するか否かを決定し、圧縮処置を行う場合に、圧縮部35によって画像生成部33で生成した画像データを圧縮している。
【0032】
すなわち、アクセラレータ3は、メインコントローラ2における圧縮伸張部23の稼動状況の情報を入手し、画像生成部33で画像データが生成されたときに、圧縮伸張部23の稼動状況の情報を基に、非圧縮のまま画像データを転送するか、圧縮してから画像データを転送するかの切り替えを行っている。
【0033】
(第1の実施形態)
図2は、本発明に係る画像形成装置における画像データ処理の一例を説明するための図である。
図2では、背景技術で説明した図10と同様に、1ページ当たり5バンドと仮定し、1ページの伸張処理が、2バンド分の圧縮処理の時間に相当するものとし、3ページ分のデータを処理する場合を記載している。また、各バンドに記載した添え字についても、先述した図10で説明したものと同様であるので、ここでは説明を省略する。
【0034】
図2において、アクセラレータ3では、t0からt5の間に、画像生成部33が1ページ目のバンドデータ(1−1バンドデータから1−5バンドデータ)を順次生成し、非圧縮の状態でメインコントローラ1に転送する。メインコントローラ1では、1ページ目のバンドデータを順次受信し、t1からt6の期間に、圧縮伸張部23によって各バンドデータの圧縮処理を行った上で、HDD24に格納する。
【0035】
t6の時点で、HDD24には1ページ分の圧縮済みバンドデータが蓄積されるが、アクセラレータ3から、すでに2ページ目の最初のバンドデータ(2−1バンドデータ)が転送されてきているため、圧縮伸張部23は2−1バンドデータの圧縮を引き続き行う。t7の時点で、2−1バンドデータの圧縮処理が終了し、HDD24に圧縮済み2−1バンドデータを格納した後、圧縮伸張部23は1ページ目のバンドデータをHDD24から読み出して伸張処理を行い、1ページ目の画像データを作成する。
【0036】
ここで、メインコントローラ2の制御部21は、伸張処理の開始とほぼ同時にアクセラレータ3側に伸張開始通知を行うとともに、伸張処理の終了とほぼ同時にアクセラレータ3側に伸張終了通知を行う。図2では、t7の時点で1ページ目の伸張開始通知を、また、1ページ目の伸張処理が終了したt9の時点で伸張終了通知を行っている。
【0037】
アクセラレータ3は伸張開始通知を受けとると、受け取った時点以降に生成されるバンドデータについては、アクセラレータ3の圧縮部35によって圧縮処理を行い、圧縮済みのバンドデータをメインコントローラ2側に転送している。また、アクセラレータ3は伸張終了通知を受け取ると、受け取った以降に生成されるバンドデータについては、非圧縮の状態でメインコントローラ2側に転送している。
【0038】
すなわち、図2で示すように、1ページ目の伸張開始通知を受け取ってから伸張終了通知を受け取るまでの間に生成されたバンドデータである、2ページ目の2〜4番目のバンドデータ、すなわち、2−2バンドデータ、2−3バンドデータ、2−4バンドデータについては圧縮処理を行った状態で、メインコントローラ2側に転送している。そして、1ページ目の伸張終了通知を受け取った後に生成された2−5バンドデータについては、非圧縮の状態でメインコントローラ2に転送している。
【0039】
メインコントローラ2は、1ページ目の伸張処理中にアクセラレータ3から受け取った圧縮済みのバンドデータをHDD24に格納するとともに、伸張処理の終了後に受け取った非圧縮のバンドデータについては、圧縮伸張部23で圧縮した後、HDD24に格納する。なお、圧縮済みのバンドデータについては、一時的にRAM29に格納するようにしておき、その後、HDD24に格納するようにしてもよい。
【0040】
1ページ分の圧縮済みバンドデータが揃うと、該当する1ページ分の圧縮済みバンドデータを読み出して伸張処理を行う。図2では、t11の時点で、HDD24には1ページ分の圧縮済みバンドデータが蓄積されるが、アクセラレータ3から、3ページ目の最初のバンドデータ(3−1バンドデータ)が転送されてきているため、圧縮伸張部23は3−1バンドデータの圧縮を引き続き行い、3−1バンドデータの圧縮処理が終了し、HDD24に圧縮済み2−1バンドデータを格納した後、圧縮伸張部23は2ページ目のバンドデータをHDD24から読み出して伸張処理を行う。
【0041】
2ページ目の伸張処理についても、1ページ目の伸張処理の際と同様に、メインコントローラ2の制御部21は、伸張処理の開始とほぼ同時にアクセラレータ3側に伸張開始通知を行うとともに、伸張処理の終了とほぼ同時に直後にアクセラレータ3側に伸張終了通知を行う。図2では、t12の時点で2ページ目の伸張開始通知を、また、2ページ目の伸張処理が終了したt14の時点で伸張終了通知を行っている。
【0042】
次に、アクセラレータ3は、1ページ目の伸張開始通知や伸張終了通知を受け取った際の処理と同様に、2ページ目の伸張開始通知を受け取ってから伸張終了通知を受け取るまでの間に生成されたバンドデータ(3−2バンドデータから3−4バンドデータ)については、圧縮部35で圧縮を行い、圧縮済みのバンドデータをアクセラレータ3に転送している。以降、同様の動作を繰り返し、t18の時点で3ページ目の伸張処理を終了させている。なお、印刷の最終ページに関しては、メインコントローラ2からアクセラレータ3へ、伸張開始通知あるいは伸張終了通知を送る必要がないため、これらの通知は省略することができる。
【0043】
このように、本実施形態では、アクセラレータ3は、メインコントローラ2の圧縮伸張部23の伸張処理に対応させて、画像生成部からのバンドデータの圧縮処理を行った上でメインコントローラ2に転送している。このように、メインコントローラ2とアクセラレータ3とで画像データの処理を並列処理しているため、印刷速度の向上が図れる。
【0044】
図3は、図2に示した画像データ処理における他の一例を説明するための図であり、図2で示した画像データ処理の例において、2ページ目の画像データの生成に時間を要した場合の処理の例を示している。
【0045】
図3において、図2と同様に、t6の時点でHDD24には1ページ分の圧縮済みバンドデータが蓄積される。この時、図2の例では、アクセラレータ3から、2−1バンドデータが転送されてきているため、圧縮伸張部23は2−1バンドデータの圧縮を引き続き行っていたが、図3に示す処理では、2−1バンドデータの生成に時間を要した場合、メインコントローラ2は、2−1バンドデータの受信を待たずに、1ページ目の画像データの伸張処理を始めるようにしている。
【0046】
この場合、アクセラレータ3から2−1バンドデータを受信した際に、すでに1ページ目の伸張処理が始まっているため、2−1バンドデータは一時的にHDD24あるいはRAM29に保存され、圧縮伸張部23による伸張処理が終了した時点で、2−1バンドデータの圧縮処理を行うようにしている。
【0047】
なお、メインコントローラ2の制御部21は、図2で示した場合と同様に、各ページの伸張処理の開始と同時にアクセラレータ3側に伸張開始通知を行うとともに、伸張処理の終了と同時にアクセラレータ3側に伸張終了通知を行い、アクセラレータ3では、伸張開始通知を受け取ってから伸張終了通知を受け取るまでの間に生成されたバンドデータについては、アクセラレータ3の圧縮部35で圧縮した後、メインコントローラ2側へ転送している。1ページ目の伸張終了通知後の処理については、図2で示した処理と基本的に同じであるため省略する。
【0048】
(第2の実施形態)
本発明の画像形成装置では、アクセラレータ3からメインコントローラ2へ各ページの最終バンドデータを転送した後、メインコントローラ2の圧縮伸張部23では、当該ページのバンドデータが揃うため、最終バンドデータの圧縮処理を含めて、当該ページの画像データの伸張処理が可能となる。
【0049】
伸張圧縮部23が最終バンドデータの圧縮後、直ちに圧縮処理を実行するようにしておけば、アクセラレータ3が最終バンドデータを転送した後、次ページの先頭バンドデータをメインコントローラ2へ転送しても、伸張圧縮部23が稼働中のため、次ページの先頭バンドデータの圧縮は待たされることになる。
【0050】
このため、第2の実施形態では、メインコントローラ2側からの伸張開始通知を待たずに、次ページ目の先頭バンドデータ以降については、メインコントローラ2からの伸張終了通知を受け取るまで、圧縮部35によってバンドデータを圧縮するようにしている。そして、メインコントローラ2からの伸張終了通知を受け取った以降に生成されたバンドデータについては、非圧縮の状態でメインコントローラ2へ転送するようにしている。
【0051】
図4は、本発明に係る画像形成装置における画像データ処理の他の一例を説明するための図であり、第2の実施形態における処理を示している。
図4において、アクセラレータ3では、t0からt5の間に、画像生成部33が1ページ目のバンドデータ(1−1バンドデータから1−5バンドデータ)を順次生成し、非圧縮の状態でメインコントローラ1に転送する。メインコントローラ1では、1ページ目のバンドデータを順次受信し、t1からt6の期間に、圧縮伸張部23が圧縮処理を行った上で、HDD24に格納する。ここまでの処理については第1の実施形態と同様である。
【0052】
メインコントローラ2側では、圧縮伸張部23が1ページ目の最終バンドデータ(1−5バンドデータ)の圧縮を終了し、圧縮された1−5バンドデータをHDD24に格納した後、直ちに(t6の時点に)、1ページ目の画像データの伸張処理に入る。そして、t8の時点で1ページ目の伸張処理が終了すると、制御部21が1ページ目の伸張終了通知をアクセラレータ3へ通知する。
【0053】
他方、アクセラレータ3側では、1ページ目の最終バンドデータ(1−5バンドデータ)についてはメインコントローラ2へ転送するが、次ページの先頭バンドデータである2−1バンドデータについては、圧縮部35によって圧縮処理を行った上で、メインコントローラ2へ転送する。そして、それ以降に生成されるバンドデータについては、圧縮伸張部23の稼働状況に応じて、非圧縮のままデータを転送するか、圧縮してからデータを転送するかの切り替えを実施している。
【0054】
具体的には、メインコントローラ2から伸張終了通知を受け取るまでに生成されたバンドデータ(2−2バンドデータ、2−3バンドデータ)については、圧縮部35で圧縮した後転送し、メインコントローラ2から伸張終了通知を受け取った以降に生成されるバンドデータに(2−4バンドデータ、2−5バンドデータ)ついては、非圧縮のままメインコントローラへ転送している。
【0055】
そして、第2ページの最終バンドデータである2−5バンドデータを非圧縮の状態でメインコントローラ2へ転送した後、3ページ目の先頭バンドデータである3−1バンドデータについては、2ページ目の先頭バンドデータと同様に、圧縮部35で圧縮した後、メインコントローラへ転送している。
【0056】
メインコントローラ2側では、1ページ目の伸張処理を行っている間に、アクセラレータ3から転送されてきた圧縮済みのバンドデータについては、順次、HDD24あるいはRAM29に格納しておく。また、伸張終了通知後にアクセラレータ3から転送されてきた非圧縮のバンドデータ(2−4バンドデータ、2−5バンドデータ)については、順次、圧縮伸張部23で圧縮した後、HDD24に格納し、2ページ目の圧縮済みのバンドデータが揃った時点で、直ちに2ページ目の伸張処理を実行している。
【0057】
3ページ目以降の処理については、メインコントローラ2、アクセラレータ3とも2ページ目の処理と同様であるため、説明を省略する。このように、第2の実施形態では、各ページの最終バンドデータを転送後、メインコントローラ2では必ず圧縮伸張処理に入るため、圧縮伸張部23の稼動状況によらず、アクセラレータ3は、次ページの先頭バンドは、アクセラレータ側で圧縮処理を行っている。また、2番目以降のバンドデータについては、圧縮伸張部23の稼働状況、すなわち伸張処理が終了したかどうかに応じて、非圧縮のままデータを転送するか、圧縮してからデータを転送するかの切り替えを実施している。このため、第2の実施形態では、メインコントローラ2は、伸張開始通知をアクセラレータ3へ通知する必要がない。
【0058】
図5は、図4に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
ステップS1においてバンドデータの生成が完了すると、ステップS2移り、生成されたバンドデータが1ページ目のバンドデータであるかどうか判別される。1ページ目のバンドデータの場合(YESの場合)は、ステップS6に進み、生成されたバンドデータを非圧縮のままメインコントローラ2へ転送する。
【0059】
ステップS2で1ページ目のバンドデータでない場合(NOの場合)、ステップS3へ移り、バンドデータが先頭ページのバンドデータであるかどうか判別される。先頭ページのバンドデータである場合(YESの場合)、ステップS4に進み、アクセラレータの圧縮部35でバンドデータを圧縮した後、ステップS6へ移り、圧縮済みのバンドデータをメインコントローラ2へ転送する。
【0060】
ステップS3で先頭ページのバンドデータでない場合(NOの場合)、ステップS5に進み、メインコントローラ2の圧縮伸張部23が伸張処理中かどうか判別され、伸張処理中の場合(YESの場合)、ステップS4に進み、アクセラレータの圧縮部35でバンドデータを圧縮した後、ステップS6へ移り、圧縮済みのバンドデータをメインコントローラ2へ転送する。ここで、圧縮伸張部23が伸張処理中かどうかは、メインコントローラ2から前ページについての伸張終了通知を受け取っているかどうかで判別される。
【0061】
ステップS5で伸張処理中でない場合、すなわち、メインコントローラ2から前ページについての伸張終了通知を受け取っている場合(NOの場合)、ステップS6に移り、非圧縮の状態で生成されたバンドデータをメインコントローラ2へ転送する。
【0062】
図6は、図4に示した画像データ処理における他の一例を説明するための図であり、図4で示した画像データ処理の例において、1ページ目の画像データの伸張に時間を要した場合の処理の例を示している。
【0063】
図6で示す処理において、アクセラレータ3が、t0からt5の間に、画像生成部33が1ページ目のバンドデータ(1−1バンドデータから1−5バンドデータ)を順次生成し、非圧縮の状態でメインコントローラ1に転送する点、および、2ページの先頭バンドデータである2−1バンドデータについては、圧縮部35によって圧縮処理を行った上で、メインコントローラ2へ転送する点は、図4で示した処理と同様である。
【0064】
また、メインコントローラ2が、アクセラレータ3から転送された1ページ目のバンドデータを順次圧縮し、1ページ目の圧縮された最終バンドデータ(1−5バンドデータ)をHDD24に格納した後、直ちに(t6の時点に)、1ページ目の画像データの伸張処理に入る点についても、図4で示した処理と同様である。
【0065】
図6で示す処理では、1ページ目の伸張に時間を要し、t10の時点で1ページ目の伸張処理が終了し、1ページ目の伸張終了通知をアクセラレータ3側に通知している。アクセラレータ3では、1ページ目の伸張終了通知を受け取った時点で、既に2ページ目の最終バンドデータである2−5バンドデータを生成済みであり、圧縮処理に入っている。さらに、次に生成されるバンドデータは、3ページ目の先頭バンドデータの3−1バンドデータであるため、引き続き、圧縮処理を行うことになる。
【0066】
メインコントローラ2側では、1ページ目の伸張処理に時間を要したが、2ページ目のバンドデータについては、全てアクセラレータ3で圧縮されたバンドデータを受信し、HDD24に格納できるため、直ちに、2ページ目の伸張処理を行うことができる。2ページ目の伸張処理が終了した時点で、メインコントローラ2からアクセラレータ3へ2ページ目の伸張終了通知が通知され、これに基づいて、アクセラレータ3は、以降に生成されるバンドデータ(3−4バンドデータ)を非圧縮の状態でメインコントローラ2へ転送する。その後の処理については、図4で示した処理と同様である。
【0067】
このように、第2の実施態様においては、メインコントローラ2での伸張処理に時間を要したとしても、アクセラレータ3側でバンドデータの圧縮処理を行うことができるため、印刷速度を低下させることなく印刷が可能となっている。
【0068】
(第3の実施態様)
バンド単位の画像データであるバンドデータは、PDLデータの内容によって複雑な画像になる場合がある。例えば、複雑な画像であれば圧縮処理に時間を要するが、このバンドデータを非圧縮の状態でメインコントローラに転送し、かつ、その次のバンドデータの生成に時間を要しない場合に、次のバンドデータをメインコントローラに転送すると、圧縮伸張部23が前のバンドデータの圧縮処理中であるため、次のバンドデータの圧縮処理の開始が待たされる場合がある。
【0069】
第3の実施態様では、前のバンドデータがメインコントローラ2の圧縮伸張部23で圧縮処理中であっても、次のバンドデータの圧縮処理をアクセラレータ3の圧縮部35で行うことにより、圧縮処理における待ち時間を軽減するようにしている。このため、メインコントローラ2は、アクセラレータ3に対して圧縮伸張部23における伸張処理の終了通知を行うとともに、バンドデータの圧縮処理の開始通知及び終了通知を行うようにし、アクセラレータ3では、圧縮処理の開始通知及び終了通知に応じて、バンドデータの圧縮を行うようにしている。
【0070】
図7は、本発明に係る画像形成装置における画像データ処理のさらに他の例を説明するための図であり、第3の実施態様における処理を示している。
図7において、メインコントローラ2は、アクセラレータ3から受信した非圧縮の1−1バンドデータの圧縮処理を行う際に、アクセラレータ3に対して、圧縮開始通知を通知するとともに、1−1バンドデータの圧縮処理が終了すると、アクセラレータ3に対して、圧縮終了通知を通知するようにしている。
【0071】
アクセラレータ3では、1−1バンドデータを非圧縮の状態でメインコントローラ2へ転送した後、メインコントローラ2から圧縮開始通知を受け取ると、圧縮終了通知を受け取るまでに生成されたバンドデータを、圧縮部35で圧縮した上で、メインコントローラ2へ転送するようにしている。図2で示す処理の場合、圧縮開始通知を受け取ってから圧縮終了通知を受け取るまでに生成された1―2バンドデータについては、圧縮部35で圧縮した後、メインコントローラ2へ転送し、圧縮終了通知を受け取った以降に生成された1−3バンドデータについては、非圧縮の状態でメインコントローラ2へ転送している。
【0072】
そして、アクセラレータ3の制御部31は、メインコントローラからの通知に応じて、各バンドデータごとに圧縮処理を行うか否かの切換えを行い、第2ページの先頭のバンドデータ以降については、第2の実施態様での処理と同様に、メインコントローラ2から1ページ目の伸張終了通知を受け取るまで、圧縮部35によって圧縮するようにしている。
【0073】
次に、1ページ目の伸張終了通知を受け取ってから生成される2―4バンドデータについては、非圧縮の状態でメインコントローラ2へ転送し、メインコントローラ2から2―4バンドデータの圧縮開始通知を受け取った以降に生成される2−5バンドデータについては、圧縮部35で圧縮した後、メインコントローラ2へ転送している。さらに、3―1バンドデータについては、3ページ目の先頭バンドデータであるため、圧縮部35で圧縮した後、メインコントローラ2へ転送している。以降の動作についても同様である。
【0074】
図8は、図7に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
ステップS11においてバンドデータの生成が完了すると、ステップS12移り、メインコントローラの圧縮伸張部23が圧縮処理中かどうか判別される。この判別は、メインコントローラ2から圧縮開始通知と圧縮終了通知を受け取ったか否かによって行われる。圧縮伸張部23が圧縮処理中の場合(YESの場合)は、ステップS13に移り、生成されたバンドデータはアクセラレータの圧縮部35で圧縮される。
【0075】
ステップS12で圧縮伸張部23が圧縮処理中でない場合(NOの場合)は、ステップS15に移り、バンドデータが先頭ページのバンドデータであるかどうか判別される。先頭ページのバンドデータである場合(YESの場合)は、ステップS13に移り、生成されたバンドデータはアクセラレータの圧縮部35で圧縮される。
【0076】
ステップS15で先頭ページのバンドデータでない場合(NOの場合)、ステップS16に進み、メインコントローラ2の圧縮伸張部23が伸張処理中かどうか判別される。伸張処理中の場合(YESの場合)は、ステップS13に進み、生成されたバンドデータはアクセラレータの圧縮部35で圧縮される。ここで、圧縮伸張部23が伸張処理中かどうかは、メインコントローラ2から前ページについての伸張終了通知を受け取ったかどうかで判別される。
【0077】
ステップS16で伸張処理中でない場合、すなわち、メインコントローラ2から前ページについての伸張終了通知を受け取っている場合(NOの場合)、ステップS14に移り、非圧縮の状態で生成されたバンドデータをメインコントローラ2へ転送する。また、ステップS13で圧縮処理されたバンドデータについても、ステップS14でメインコントローラ2へ転送される。
【符号の説明】
【0078】
1,101…画像形成装置、2,102…メインコントローラ、3,103…アクセラレータ、4,104…プリンタエンジン、21,121…制御部、22,122…外部入力IF,23,123…圧縮伸張部、24,124…HDD、25,125,34,134…通信IF、26,126…プリンタエンジンコントローラ、27,36…CPU、28,37…ROM、29,38…RAM、32,132…解析部、33,133…画像生成部、35…圧縮部。

【特許請求の範囲】
【請求項1】
記憶手段と圧縮伸張手段と印刷制御手段を有する第1制御手段と、画像生成手段を有する第2制御手段を備え、
該第2制御手段は、前記画像生成手段によってページ記述言語で作成されたプリンタジョブからバンド単位で画像データを生成し、該生成したバンド単位の画像データを前記第1制御手段に転送し、
前記第1制御手段は、前記圧縮伸張手段によってバンド単位の画像データを圧縮処理し、該圧縮処理した画像データを前記記憶手段に格納するとともに、前記記憶手段に1ページ分のデータが揃うと、前記圧縮伸張手段によってページ単位の画像データの伸張処理を行い、該伸張処理によって得られたページ単位の画像データを前記印刷制御手段によって印刷する画像形成装置であって、
前記第2制御手段はさらに圧縮手段を備え、前記第2制御手段は、前記第1制御手段の圧縮伸張手段の稼働状況に応じて、前記画印刷画像生成手段からのバンド単位の画像データを前記圧縮手段によって圧縮処理を行い、該圧縮処理したバンド単位の画像データを前記第1制御手段に転送することを特徴とする画像形成装置。
【請求項2】
前記第1制御手段は、前記第2制御手段に対して前記圧縮伸張手段におけるページ単位の画像データの伸張処理の開始通知及び終了通知を行い、
前記第2制御手段は、前記開始通知および終了通知に応じて、前記バンド単位の画像データの圧縮処理を行い、該圧縮処理された画像データを前記第1制御手段に転送することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記第2制御手段は、前記伸張処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴とする請求項2に記載の画像形成装置。
【請求項4】
前記第1制御手段は、前記第2制御手段に対して前記圧縮伸張手段における伸張処理の終了通知を行い、
前記第2制御手段は、2ページ目以降のページの先頭のバンド単位の画像データから、前記伸張処理の終了通知を受けとるまでに生成されるバンド単位の画像データについて圧縮処理を行うことを特徴とする請求項1に記載の画像形成装置。
【請求項5】
前記第1制御手段は、前記第2制御手段に対して、さらに前記圧縮伸張手段の前記バンド単位の画像データの圧縮処理の開始通知及び終了通知を行い、前記第2制御手段は、前記バンド単位の画像データの圧縮処理の開始通知及び終了通知に応じて前記圧縮手段による圧縮処理を行うことを特徴とする請求項4に記載の画像形成装置。
【請求項6】
前記第2制御手段は、前記圧縮処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴とする請求項5に記載の画像形成装置。
【請求項7】
前記第2制御手段の圧縮手段は、ハードウェアからなることを特徴とする請求項1〜6のいずれか1に記載の画像形成装置。
【請求項8】
前記第2制御手段の圧縮手段は、コンピュータを機能させるプログラムによって実現することを特徴とする請求項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

【図10】
image rotate


【公開番号】特開2012−218227(P2012−218227A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−84139(P2011−84139)
【出願日】平成23年4月6日(2011.4.6)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】