(57)【要約】【課題】画像データの圧縮伸張処理を専用のハードウェアで処理を行う画像形成装置において、圧縮処理と伸張処理とが同時に実行できない場合に、画像データの伸張処理中に次のページのバンド圧縮処理が遅延してしまうことによる印刷速度の遅れを改善する。【解決手段】画像形成装置１は、１ページの画像データを複数のバンドに分割し、メインコントローラ２の圧縮伸張部２３によってバンド単位で圧縮を行った上でＨＤＤ２４に画像データを格納し、ＨＤＤ２４に１ページ分のデータが揃ったら、画像データを伸張圧縮部２３で伸張して用紙に出力している。アクセラレータ３は、画像データの生成を行うとともに、圧縮部３５によって圧縮伸張部２３の稼働状況に応じてバンド単位で画像データを圧縮し、メインコントローラ２へ転送している。【選択図】図１
2012218227.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と圧縮伸張手段と印刷制御手段を有する第１制御手段と、画像生成手段を有する第２制御手段を備え、
該第２制御手段は、前記画像生成手段によってページ記述言語で作成されたプリンタジョブからバンド単位で画像データを生成し、該生成したバンド単位の画像データを前記第１制御手段に転送し、
前記第１制御手段は、前記圧縮伸張手段によってバンド単位の画像データを圧縮処理し、該圧縮処理した画像データを前記記憶手段に格納するとともに、前記記憶手段に１ページ分のデータが揃うと、前記圧縮伸張手段によってページ単位の画像データの伸張処理を行い、該伸張処理によって得られたページ単位の画像データを前記印刷制御手段によって印刷する画像形成装置であって、
前記第２制御手段はさらに圧縮手段を備え、前記第２制御手段は、前記第１制御手段の圧縮伸張手段の稼働状況に応じて、前記画印刷画像生成手段からのバンド単位の画像データを前記圧縮手段によって圧縮処理を行い、該圧縮処理したバンド単位の画像データを前記第１制御手段に転送することを特徴とする画像形成装置。
【請求項２】
前記第１制御手段は、前記第２制御手段に対して前記圧縮伸張手段におけるページ単位の画像データの伸張処理の開始通知及び終了通知を行い、
前記第２制御手段は、前記開始通知および終了通知に応じて、前記バンド単位の画像データの圧縮処理を行い、該圧縮処理された画像データを前記第１制御手段に転送することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第２制御手段は、前記伸張処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記第１制御手段は、前記第２制御手段に対して前記圧縮伸張手段における伸張処理の終了通知を行い、
前記第２制御手段は、２ページ目以降のページの先頭のバンド単位の画像データから、前記伸張処理の終了通知を受けとるまでに生成されるバンド単位の画像データについて圧縮処理を行うことを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記第１制御手段は、前記第２制御手段に対して、さらに前記圧縮伸張手段の前記バンド単位の画像データの圧縮処理の開始通知及び終了通知を行い、前記第２制御手段は、前記バンド単位の画像データの圧縮処理の開始通知及び終了通知に応じて前記圧縮手段による圧縮処理を行うことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記第２制御手段は、前記圧縮処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記第２制御手段の圧縮手段は、ハードウェアからなることを特徴とする請求項１〜６のいずれか１に記載の画像形成装置。
【請求項８】
前記第２制御手段の圧縮手段は、コンピュータを機能させるプログラムによって実現することを特徴とする請求項１〜６のいずれか１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、プリンタアクセラレータに画像圧縮手段を設けることにより、印刷速度の改善を図った画像形成装置に関する。
【背景技術】
【０００２】
ＰＤＬ（Page Description Language：ページ記述言語）で作成されたプリンタジョブを画像データに変換する印刷装置では、メモリ使用量削減のため１ページの画像データを複数のバンドに分割し、バンド単位で圧縮を行った上でＨＤＤに画像データを格納し、ＨＤＤに１ページ分のデータが揃ったら、画像データを伸張して用紙に出力する、という手段をとることがある。
また、別の画像形成装置としては、ＰＤＬデータから画像データを生成する部分の高速化のため、画像データの生成専用に描画アクセラレータを組み込んだ印刷装置がある（特許文献１参照）。
【０００３】
図９は従来のアクセラレータを有する画像形成装置の一例を示す図である。
この画像形成装置１０１では、メインコントローラ１０２の外部入力ＩＦ１２２から入力されたＰＤＬデータは、通信ＩＦ１２５、１３４を介してアクセラレータ３に転送される。アクセラレータ１０３では、解析部１３２によってＰＤＬデータを解析し、画像生成部１３３によってバンド単位で画像データに変換している。
【０００４】
生成されたバンド単位の画像データは、通信ＩＦ１３４、１２５を介してメインコントローラ１０２に転送された後、圧縮伸張部１２３で圧縮処理されて、ＨＤＤ１２４に格納される。このように、圧縮処理されたバンド単位の画像データは、順次、ＨＤＤ１２４に保存され、１ページ分の画像データが集まると、圧縮伸張部１２３で伸張処理が行われ、プリンタエンジンコントローラ１２６を介してプリンタエンジン１０４に転送され、用紙に印字される。
【０００５】
なお、メインコントローラ１０２およびアクセラレータ１０３は、それぞれ、ＣＰＵ、ＲＯＭ、ＲＡＭを備えており、９図では、制御部１２１および制御部１３１のそれぞれのブロック内に表示している。制御部１２１および制御部１３１は、それぞれＲＯＭに格納されたプログラムに従って、メインコントローラ１０２およびアクセラレータ１０３全体の制御を行っている。
【０００６】
図１０は、従来の画像形成装置１０１における、画像データの処理フローを示す図である。図１０では、１ページ当たり５バンドと仮定し、特に断らない限り、１ページの伸張処理が、２バンド分の圧縮処理の時間に相当するものとして記載している。なお、１バンド当たりの圧縮時間はそれぞれ等しいものとしている。また、１ページ目の２番目のバンドについては、「１−２」という添え字を設けている。そして、例えば、「１−３バンドデータ生成」は、１ページ目の２番目のバンドの画像データの生成処理を表している。なお、以下、バンド単位の画像データをバンドデータと称する。また、「２−３圧縮」は、バンドデータの語は省略しているが、２ページ目の３番目のバンド単位の画像データについての圧縮処理を表している。また、図の上側から下側へ行くほど時間が経過しており、ｔと数字はそれぞれの時点を示している。
【０００７】
図１０では、３ページ分の印刷を行う場合について記載しており、転送に必要な時間は省略している。
アクセラレータ３は、ｔ０の時点から順次１ページ目の第１バンド目から、バンド単位の画像データとしてバンドデータを生成し、生成した個々のバンドデータをメインコントローラ２側に転送する。そして、メインコントローラ２側では、転送されてきたバンドデータを圧縮伸張部２３で順次圧縮し、圧縮したバンドデータをＨＤＤ２４に格納し、圧縮されたバンドデータが１ページ分蓄積されると、ＨＤＤ２４から読みだして圧縮伸張部２３で伸張処理を行っている。
【０００８】
例えば、アクセラレータ３でＰＤＬデータから生成された「１-１バンドデータ」は、メインコントローラ２に転送され、圧縮伸張部２３で圧縮された後、ＨＤＤ２４に格納される。そして、１ページ目の最終バンドデータである「１−５バンドデータ」の圧縮が終了してＨＤＤ２４に格納された時点で1ページ分のバンドデータが読み出され、１ページ目の画像データの伸張に用いられる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−２１１０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図１０で示す従来の画像処理装置では、アクセラレータ３におけるバンドデータの生成は、ｔ１５の時点で終了しているが、メインコントローラ２側での圧縮伸張処理のために最終ページの伸張処理が終了するのはｔ２２の時点になっている。ここで、画像データの圧縮伸張処理は、専用のハードウェア（ＡＳＩＣ：Application Specific Integrated Circuit）で処理されることがあるが、ＡＳＩＣでの圧縮処理と伸張処理とが同時に実行できない場合は、画像データの伸張処理中は次のページのバンド圧縮処理が遅延してしまい、印刷速度が遅くなるという課題がある。
【００１１】
本発明は、これらの実情に鑑みてなされたものであり、アクセラレータに画像圧縮手段を設け、アクセラレー側で画像圧縮処理を並列的に行うことにより、印刷速度の改善を図った画像形成装置を提供することをその目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の第１の技術手段は、記憶手段と圧縮伸張手段と印刷制御手段を有する第１制御手段と、画像生成手段を有する第２制御手段を備え、該第２制御手段は、前記画像生成手段によってページ記述言語で作成されたプリンタジョブからバンド単位で画像データを生成し、該生成したバンド単位の画像データを前記第１制御手段に転送し、前記第１制御手段は、前記圧縮伸張手段によってバンド単位の画像データを圧縮処理し、該圧縮処理した画像データを前記記憶手段に格納するとともに、前記記憶手段に１ページ分のデータが揃うと、前記圧縮伸張手段によってページ単位の画像データの伸張処理を行い、該伸張処理によって得られたページ単位の画像データを前記印刷制御手段によって印刷する画像形成装置であって、前記第２制御手段はさらに圧縮手段を備え、前記第２制御手段は、前記第１制御手段の圧縮伸張手段の稼働状況に応じて、前記画印刷画像生成手段からのバンド単位の画像データを前記圧縮手段によって圧縮処理を行い、該圧縮処理したバンド単位の画像データを前記第１制御手段に転送することを特徴としたものである。
【００１３】
第２の技術手段は、第１の技術手段において、前記第１制御手段は、前記第２制御手段に対して前記圧縮伸張手段におけるページ単位の画像データの伸張処理の開始通知及び終了通知を行い、前記第２制御手段は、前記開始通知および終了通知に応じて、前記バンド単位の画像データの圧縮処理を行い、該圧縮処理された画像データを前記第１制御手段に転送することを特徴としたものである。
【００１４】
第３の技術手段は、第２の技術手段において、前記第２制御手段は、前記伸張処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴としたものである。
【００１５】
第４の技術手段は、第１の技術手段において、前記第１制御手段は、前記第２制御手段に対して前記圧縮伸張手段における伸張処理の終了通知を行い、前記第２制御手段は、２ページ目以降のページの先頭のバンド単位の画像データから、前記伸張処理の終了通知を受けとるまでに生成されるバンド単位の画像データについて圧縮処理を行うことを特徴としたものである。
【００１６】
第５の技術手段は、第４の技術手段において、前記第１制御手段は、前記第２制御手段に対して、さらに前記圧縮伸張手段の前記バンド単位の画像データの圧縮処理の開始通知及び終了通知を行い、前記第２制御手段は、前記バンド単位の画像データの圧縮処理の開始通知及び終了通知に応じて前記圧縮手段による圧縮処理を行うことを特徴としたものである。
【００１７】
第６の技術手段は、第５の技術手段において、前記第２制御手段は、前記圧縮処理の開始通知を受け取ってから終了通知を受け取るまでの間に生成されるバンド単位の画像データについて圧縮処理を行うことを特徴としたものである。
【００１８】
第７の技術手段は、第１〜６のいずれか１の技術手段において、前記第２制御手段の圧縮手段は、ハードウェアからなることを特徴としたものである。
【００１９】
第８の技術手段は、第１〜６のいずれか１の技術手段において、前記第２制御手段の圧縮手段は、コンピュータを機能させるプログラムによって実現することを特徴としたものである。
【発明の効果】
【００２０】
本発明によれば、メインコントローラの圧縮伸張手段で画像データの圧縮処理や伸張処理を行っている間に、圧縮処理可能なバンドデータをアクセラレータの圧縮手段で圧縮することができるため、メインコントローラの圧縮伸張手段での処理による待ち時間を軽減することが可能となり、画像形成装置全体として印刷速度を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る画像形成装置の一例を示すブロック図である。
【図２】本発明に係る画像形成装置における画像データ処理の一例を説明するための図である。
【図３】図２に示した画像データ処理における他の一例を説明するための図である。
【図４】本発明に係る画像形成装置における画像データ処理の他の例を説明するための図である。
【図５】図４に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
【図６】図４に示した画像データ処理における他の一例を説明するための図である。
【図７】本発明に係る画像形成装置における画像データ処理のさらに他の例を説明するための図である。
【図８】図７に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
【図９】従来の画像形成装置の一例を示すブロック図である。
【図１０】従来の画像形成装置における画像データ処理の一例を説明するための図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しながら、本発明の画像形成装置に係る好適な実施の形態について説明する。
図１は、本発明に係る画像形成装置の一例を示すブロック図である。
【００２３】
画像形成装置１は、本発明の第１制御手段に相当するメインコントローラ２と、本発明の第２制御手段に相当するアクセラレータ３、および、プリンタエンジン４を備えている。
メインコントローラ２は、制御部２１、外部入力ＩＦ２２、圧縮伸張部２３、ＨＤＤ２４、通信ＩＦ、プリンタエンジンコントローラ２６、を備えている。
【００２４】
外部入力ＩＦ２２は、ＬＡＮ，ＵＳＢ接続等で、図示しないホストＰＣから、プリンタジョブとしてＰＤＬデータを受信する機能を有し、通信ＩＦ２５は、アクセラレータ３の通信ＩＦ３４との間でデータや信号を送受信する機能を有している。また、本発明の圧縮伸張手段に相当する縮伸張部２３は、画像データを圧縮伸張する圧縮伸張回路であり、ＡＳＩＣで構成されている。本発明の記憶手段に相当するＨＤＤ２４は、圧縮伸張部２３で圧縮されたバンド単位の画像データを記憶する。プリンタエンジンコントローラ２６は、本発明の印刷制御手段に相当し、画像データを用紙に印刷するために、圧縮伸張部２３から取得したページ単位の画像データをプリントエンジン４に出力するためのものである。
【００２５】
メインコントローラ２は、ＣＰＵ２７、ＲＯＭ２８、ＲＡＭ２９を備えており、図１では、制御部２１のブロック内に表示している。ＲＯＭ２８には、ＣＰＵ２７上で動作するメインコントローラ用のメインプログラムが格納されており、ＲＡＭ２９はＣＰＵ２７の処理に利用する作業エリアや処理演算結果を格納するデータ格納エリアとして機能するとともに、受信したデータの一時保存用のメモリとして機能する。ここで、制御部２１は、メインコントローラ２の全体の動作を制御する他、圧縮伸張部２３の動作を制御し、圧縮伸張部２３の稼働状況の情報をアクセラレータ３へ伝えている。
【００２６】
アクセラレータ３は、制御部３１、解析部３２、画像生成部３３、通信ＩＦ３４、圧縮部３５を備えている。解析部３２は、ＰＤＬデータの内容を解析する機能を有し、画像生成部３３は、解析部３２によるＰＤＬデータの解析の結果をもとに、画像データに変換する機能を有する。解析部３２と画像生成部３３とが本発明の画像生成手段に相当する。通信ＩＦ３４は、メインコントローラ２の通信ＩＦ２５との間でデータや信号を送受信する機能を有している。
【００２７】
本発明の圧縮手段に相当する圧縮部３５は、制御部２１からの指示により、詳しくは、後述するＣＰＵ３６上で動作するサブプログラムからの指示により、画像生成部３３で生成した画像データを、圧縮処理する機能を有している。ここで、圧縮部３５は、専用のハードウェア（ＡＳＩＣ）として構成されてもよく、ＣＰＵ３６上で動作するプログラムによって実現されてもよい。なお、解析部３２および画像生成部３３の機能は、通常、プログラムによって実現されるため、圧縮部３５の機能をプログラムで構成する場合は、画像生成処理と圧縮処理を並行して行うために、マルチタスクによる処理が行われる。
【００２８】
アクセラレータ３は、ＣＰＵ３６、ＲＯＭ３７、ＲＡＭ３８を備えており、図１では、制御部３１のブロック内に表示している。ＲＯＭ２８には、ＣＰＵ３６上で動作するアクセラレータ用のサブプログラムが格納されており、ＲＡＭ３８は、受信したデータの一時保存用のメモリとして機能するとともに、画像データ生成時の処理演算結果を一時的に格納するデータ格納エリアとして機能する。また、制御部３１は、アクセラレータ３の全体の動作を制御する他、メインコントローラ２から伝えられた圧縮伸張部２３の稼働状況をモニタし、画像生成部３３で生成した画像データを、圧縮部３５によって圧縮処理するか否かを決定している。
【００２９】
画像形成装置１におけるＰＤＬデータの受信から印刷までの流れについて、説明する。画像形成装置１では、メインコントローラ２は、外部入力ＩＦ２２を介して外部のホストＰＣから入力されたＰＤＬデータを受信し、通信ＩＦ１２５を介して、ＰＤＬデータをアクセラレータ３に転送する。アクセラレータ３では、通信ＩＦ３４を介して受信したＰＤＬデータを解析部３２に渡し、解析部３２によってＰＤＬデータを解析するとともに、解析結果に基づいて画像生成部１３３がバンド単位の画像データ（バンドデータ）の生成を行う。
【００３０】
生成されたバンドデータは、通信ＩＦ２５、３４を介してメインコントローラ２に転送され、圧縮伸張部２３で圧縮処理された上で、ＨＤＤ２４に格納される。このように、圧縮処理されたバンドデータは、順次、ＨＤＤ２４に保存され、１ページ分のバンドデータが集まると、圧縮伸張部２３で伸張処理が行われる。そして、ページ単位の画像データが、プリンタエンジンコントローラ２６を介してプリンタエンジン４に転送され、用紙に印字される。
【００３１】
ここで、メインコントローラ２の制御部２１は、圧縮伸張部２３の動作を制御し、圧縮伸張部２３の稼働状況の情報をアクセラレータ３へ伝えている。また、アクセラレータ３の制御部３１は、メインコントローラ２における圧縮伸張部２３の稼働状況をモニタし、画像生成部３３で生成した画像データを圧縮処理するか否かを決定し、圧縮処置を行う場合に、圧縮部３５によって画像生成部３３で生成した画像データを圧縮している。
【００３２】
すなわち、アクセラレータ３は、メインコントローラ２における圧縮伸張部２３の稼動状況の情報を入手し、画像生成部３３で画像データが生成されたときに、圧縮伸張部２３の稼動状況の情報を基に、非圧縮のまま画像データを転送するか、圧縮してから画像データを転送するかの切り替えを行っている。
【００３３】
（第１の実施形態）
図２は、本発明に係る画像形成装置における画像データ処理の一例を説明するための図である。
図２では、背景技術で説明した図１０と同様に、１ページ当たり５バンドと仮定し、１ページの伸張処理が、２バンド分の圧縮処理の時間に相当するものとし、３ページ分のデータを処理する場合を記載している。また、各バンドに記載した添え字についても、先述した図１０で説明したものと同様であるので、ここでは説明を省略する。
【００３４】
図２において、アクセラレータ３では、ｔ０からｔ５の間に、画像生成部３３が１ページ目のバンドデータ（１−１バンドデータから１−５バンドデータ）を順次生成し、非圧縮の状態でメインコントローラ１に転送する。メインコントローラ１では、１ページ目のバンドデータを順次受信し、ｔ１からｔ６の期間に、圧縮伸張部２３によって各バンドデータの圧縮処理を行った上で、ＨＤＤ２４に格納する。
【００３５】
ｔ６の時点で、ＨＤＤ２４には１ページ分の圧縮済みバンドデータが蓄積されるが、アクセラレータ３から、すでに２ページ目の最初のバンドデータ（２−１バンドデータ）が転送されてきているため、圧縮伸張部２３は２−１バンドデータの圧縮を引き続き行う。ｔ７の時点で、２−１バンドデータの圧縮処理が終了し、ＨＤＤ２４に圧縮済み２−１バンドデータを格納した後、圧縮伸張部２３は１ページ目のバンドデータをＨＤＤ２４から読み出して伸張処理を行い、１ページ目の画像データを作成する。
【００３６】
ここで、メインコントローラ２の制御部２１は、伸張処理の開始とほぼ同時にアクセラレータ３側に伸張開始通知を行うとともに、伸張処理の終了とほぼ同時にアクセラレータ３側に伸張終了通知を行う。図２では、ｔ７の時点で１ページ目の伸張開始通知を、また、１ページ目の伸張処理が終了したｔ９の時点で伸張終了通知を行っている。
【００３７】
アクセラレータ３は伸張開始通知を受けとると、受け取った時点以降に生成されるバンドデータについては、アクセラレータ３の圧縮部３５によって圧縮処理を行い、圧縮済みのバンドデータをメインコントローラ２側に転送している。また、アクセラレータ３は伸張終了通知を受け取ると、受け取った以降に生成されるバンドデータについては、非圧縮の状態でメインコントローラ２側に転送している。
【００３８】
すなわち、図２で示すように、１ページ目の伸張開始通知を受け取ってから伸張終了通知を受け取るまでの間に生成されたバンドデータである、２ページ目の２〜４番目のバンドデータ、すなわち、２−２バンドデータ、２−３バンドデータ、２−４バンドデータについては圧縮処理を行った状態で、メインコントローラ２側に転送している。そして、１ページ目の伸張終了通知を受け取った後に生成された２−５バンドデータについては、非圧縮の状態でメインコントローラ２に転送している。
【００３９】
メインコントローラ２は、１ページ目の伸張処理中にアクセラレータ３から受け取った圧縮済みのバンドデータをＨＤＤ２４に格納するとともに、伸張処理の終了後に受け取った非圧縮のバンドデータについては、圧縮伸張部２３で圧縮した後、ＨＤＤ２４に格納する。なお、圧縮済みのバンドデータについては、一時的にＲＡＭ２９に格納するようにしておき、その後、ＨＤＤ２４に格納するようにしてもよい。
【００４０】
１ページ分の圧縮済みバンドデータが揃うと、該当する１ページ分の圧縮済みバンドデータを読み出して伸張処理を行う。図２では、ｔ１１の時点で、ＨＤＤ２４には１ページ分の圧縮済みバンドデータが蓄積されるが、アクセラレータ３から、３ページ目の最初のバンドデータ（３−１バンドデータ）が転送されてきているため、圧縮伸張部２３は３−１バンドデータの圧縮を引き続き行い、３−１バンドデータの圧縮処理が終了し、ＨＤＤ２４に圧縮済み２−１バンドデータを格納した後、圧縮伸張部２３は２ページ目のバンドデータをＨＤＤ２４から読み出して伸張処理を行う。
【００４１】
２ページ目の伸張処理についても、１ページ目の伸張処理の際と同様に、メインコントローラ２の制御部２１は、伸張処理の開始とほぼ同時にアクセラレータ３側に伸張開始通知を行うとともに、伸張処理の終了とほぼ同時に直後にアクセラレータ３側に伸張終了通知を行う。図２では、ｔ１２の時点で２ページ目の伸張開始通知を、また、２ページ目の伸張処理が終了したｔ１４の時点で伸張終了通知を行っている。
【００４２】
次に、アクセラレータ３は、１ページ目の伸張開始通知や伸張終了通知を受け取った際の処理と同様に、２ページ目の伸張開始通知を受け取ってから伸張終了通知を受け取るまでの間に生成されたバンドデータ（３−２バンドデータから３−４バンドデータ）については、圧縮部３５で圧縮を行い、圧縮済みのバンドデータをアクセラレータ３に転送している。以降、同様の動作を繰り返し、ｔ１８の時点で３ページ目の伸張処理を終了させている。なお、印刷の最終ページに関しては、メインコントローラ２からアクセラレータ３へ、伸張開始通知あるいは伸張終了通知を送る必要がないため、これらの通知は省略することができる。
【００４３】
このように、本実施形態では、アクセラレータ３は、メインコントローラ２の圧縮伸張部２３の伸張処理に対応させて、画像生成部からのバンドデータの圧縮処理を行った上でメインコントローラ２に転送している。このように、メインコントローラ２とアクセラレータ３とで画像データの処理を並列処理しているため、印刷速度の向上が図れる。
【００４４】
図３は、図２に示した画像データ処理における他の一例を説明するための図であり、図２で示した画像データ処理の例において、２ページ目の画像データの生成に時間を要した場合の処理の例を示している。
【００４５】
図３において、図２と同様に、ｔ６の時点でＨＤＤ２４には１ページ分の圧縮済みバンドデータが蓄積される。この時、図２の例では、アクセラレータ３から、２−１バンドデータが転送されてきているため、圧縮伸張部２３は２−１バンドデータの圧縮を引き続き行っていたが、図3に示す処理では、２−１バンドデータの生成に時間を要した場合、メインコントローラ２は、２−１バンドデータの受信を待たずに、１ページ目の画像データの伸張処理を始めるようにしている。
【００４６】
この場合、アクセラレータ３から２−１バンドデータを受信した際に、すでに１ページ目の伸張処理が始まっているため、２−１バンドデータは一時的にＨＤＤ２４あるいはＲＡＭ２９に保存され、圧縮伸張部２３による伸張処理が終了した時点で、２−１バンドデータの圧縮処理を行うようにしている。
【００４７】
なお、メインコントローラ２の制御部２１は、図２で示した場合と同様に、各ページの伸張処理の開始と同時にアクセラレータ３側に伸張開始通知を行うとともに、伸張処理の終了と同時にアクセラレータ３側に伸張終了通知を行い、アクセラレータ３では、伸張開始通知を受け取ってから伸張終了通知を受け取るまでの間に生成されたバンドデータについては、アクセラレータ３の圧縮部３５で圧縮した後、メインコントローラ２側へ転送している。１ページ目の伸張終了通知後の処理については、図２で示した処理と基本的に同じであるため省略する。
【００４８】
（第２の実施形態）
本発明の画像形成装置では、アクセラレータ３からメインコントローラ２へ各ページの最終バンドデータを転送した後、メインコントローラ２の圧縮伸張部２３では、当該ページのバンドデータが揃うため、最終バンドデータの圧縮処理を含めて、当該ページの画像データの伸張処理が可能となる。
【００４９】
伸張圧縮部２３が最終バンドデータの圧縮後、直ちに圧縮処理を実行するようにしておけば、アクセラレータ３が最終バンドデータを転送した後、次ページの先頭バンドデータをメインコントローラ２へ転送しても、伸張圧縮部２３が稼働中のため、次ページの先頭バンドデータの圧縮は待たされることになる。
【００５０】
このため、第２の実施形態では、メインコントローラ２側からの伸張開始通知を待たずに、次ページ目の先頭バンドデータ以降については、メインコントローラ２からの伸張終了通知を受け取るまで、圧縮部３５によってバンドデータを圧縮するようにしている。そして、メインコントローラ２からの伸張終了通知を受け取った以降に生成されたバンドデータについては、非圧縮の状態でメインコントローラ２へ転送するようにしている。
【００５１】
図４は、本発明に係る画像形成装置における画像データ処理の他の一例を説明するための図であり、第２の実施形態における処理を示している。
図４において、アクセラレータ３では、ｔ０からｔ５の間に、画像生成部３３が１ページ目のバンドデータ（１−１バンドデータから１−５バンドデータ）を順次生成し、非圧縮の状態でメインコントローラ１に転送する。メインコントローラ１では、１ページ目のバンドデータを順次受信し、ｔ１からｔ６の期間に、圧縮伸張部２３が圧縮処理を行った上で、ＨＤＤ２４に格納する。ここまでの処理については第１の実施形態と同様である。
【００５２】
メインコントローラ２側では、圧縮伸張部２３が１ページ目の最終バンドデータ（１−５バンドデータ）の圧縮を終了し、圧縮された１−５バンドデータをＨＤＤ２４に格納した後、直ちに（ｔ６の時点に）、１ページ目の画像データの伸張処理に入る。そして、ｔ８の時点で１ページ目の伸張処理が終了すると、制御部２１が１ページ目の伸張終了通知をアクセラレータ３へ通知する。
【００５３】
他方、アクセラレータ３側では、１ページ目の最終バンドデータ（１−５バンドデータ）についてはメインコントローラ２へ転送するが、次ページの先頭バンドデータである２−１バンドデータについては、圧縮部３５によって圧縮処理を行った上で、メインコントローラ２へ転送する。そして、それ以降に生成されるバンドデータについては、圧縮伸張部２３の稼働状況に応じて、非圧縮のままデータを転送するか、圧縮してからデータを転送するかの切り替えを実施している。
【００５４】
具体的には、メインコントローラ２から伸張終了通知を受け取るまでに生成されたバンドデータ（２−２バンドデータ、２−３バンドデータ）については、圧縮部３５で圧縮した後転送し、メインコントローラ２から伸張終了通知を受け取った以降に生成されるバンドデータに（２−４バンドデータ、２−５バンドデータ）ついては、非圧縮のままメインコントローラへ転送している。
【００５５】
そして、第２ページの最終バンドデータである２−５バンドデータを非圧縮の状態でメインコントローラ２へ転送した後、３ページ目の先頭バンドデータである３−１バンドデータについては、２ページ目の先頭バンドデータと同様に、圧縮部３５で圧縮した後、メインコントローラへ転送している。
【００５６】
メインコントローラ２側では、１ページ目の伸張処理を行っている間に、アクセラレータ３から転送されてきた圧縮済みのバンドデータについては、順次、ＨＤＤ２４あるいはＲＡＭ２９に格納しておく。また、伸張終了通知後にアクセラレータ３から転送されてきた非圧縮のバンドデータ（２−４バンドデータ、２−５バンドデータ）については、順次、圧縮伸張部２３で圧縮した後、ＨＤＤ２４に格納し、２ページ目の圧縮済みのバンドデータが揃った時点で、直ちに２ページ目の伸張処理を実行している。
【００５７】
３ページ目以降の処理については、メインコントローラ２、アクセラレータ３とも２ページ目の処理と同様であるため、説明を省略する。このように、第２の実施形態では、各ページの最終バンドデータを転送後、メインコントローラ２では必ず圧縮伸張処理に入るため、圧縮伸張部２３の稼動状況によらず、アクセラレータ３は、次ページの先頭バンドは、アクセラレータ側で圧縮処理を行っている。また、２番目以降のバンドデータについては、圧縮伸張部２３の稼働状況、すなわち伸張処理が終了したかどうかに応じて、非圧縮のままデータを転送するか、圧縮してからデータを転送するかの切り替えを実施している。このため、第２の実施形態では、メインコントローラ２は、伸張開始通知をアクセラレータ３へ通知する必要がない。
【００５８】
図５は、図４に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
ステップＳ１においてバンドデータの生成が完了すると、ステップＳ２移り、生成されたバンドデータが１ページ目のバンドデータであるかどうか判別される。１ページ目のバンドデータの場合（ＹＥＳの場合）は、ステップＳ６に進み、生成されたバンドデータを非圧縮のままメインコントローラ２へ転送する。
【００５９】
ステップＳ２で１ページ目のバンドデータでない場合（ＮＯの場合）、ステップＳ３へ移り、バンドデータが先頭ページのバンドデータであるかどうか判別される。先頭ページのバンドデータである場合（ＹＥＳの場合）、ステップＳ４に進み、アクセラレータの圧縮部３５でバンドデータを圧縮した後、ステップＳ６へ移り、圧縮済みのバンドデータをメインコントローラ２へ転送する。
【００６０】
ステップＳ３で先頭ページのバンドデータでない場合（ＮＯの場合）、ステップＳ５に進み、メインコントローラ２の圧縮伸張部２３が伸張処理中かどうか判別され、伸張処理中の場合（ＹＥＳの場合）、ステップＳ４に進み、アクセラレータの圧縮部３５でバンドデータを圧縮した後、ステップＳ６へ移り、圧縮済みのバンドデータをメインコントローラ２へ転送する。ここで、圧縮伸張部２３が伸張処理中かどうかは、メインコントローラ２から前ページについての伸張終了通知を受け取っているかどうかで判別される。
【００６１】
ステップＳ５で伸張処理中でない場合、すなわち、メインコントローラ２から前ページについての伸張終了通知を受け取っている場合（ＮＯの場合）、ステップＳ６に移り、非圧縮の状態で生成されたバンドデータをメインコントローラ２へ転送する。
【００６２】
図６は、図４に示した画像データ処理における他の一例を説明するための図であり、図４で示した画像データ処理の例において、１ページ目の画像データの伸張に時間を要した場合の処理の例を示している。
【００６３】
図６で示す処理において、アクセラレータ３が、ｔ０からｔ５の間に、画像生成部３３が１ページ目のバンドデータ（１−１バンドデータから１−５バンドデータ）を順次生成し、非圧縮の状態でメインコントローラ１に転送する点、および、２ページの先頭バンドデータである２−１バンドデータについては、圧縮部３５によって圧縮処理を行った上で、メインコントローラ２へ転送する点は、図４で示した処理と同様である。
【００６４】
また、メインコントローラ２が、アクセラレータ３から転送された１ページ目のバンドデータを順次圧縮し、１ページ目の圧縮された最終バンドデータ（１−５バンドデータ）をＨＤＤ２４に格納した後、直ちに（ｔ６の時点に）、１ページ目の画像データの伸張処理に入る点についても、図４で示した処理と同様である。
【００６５】
図６で示す処理では、１ページ目の伸張に時間を要し、t１０の時点で１ページ目の伸張処理が終了し、１ページ目の伸張終了通知をアクセラレータ３側に通知している。アクセラレータ３では、１ページ目の伸張終了通知を受け取った時点で、既に２ページ目の最終バンドデータである２−５バンドデータを生成済みであり、圧縮処理に入っている。さらに、次に生成されるバンドデータは、３ページ目の先頭バンドデータの３−１バンドデータであるため、引き続き、圧縮処理を行うことになる。
【００６６】
メインコントローラ２側では、１ページ目の伸張処理に時間を要したが、２ページ目のバンドデータについては、全てアクセラレータ３で圧縮されたバンドデータを受信し、ＨＤＤ２４に格納できるため、直ちに、２ページ目の伸張処理を行うことができる。２ページ目の伸張処理が終了した時点で、メインコントローラ２からアクセラレータ３へ２ページ目の伸張終了通知が通知され、これに基づいて、アクセラレータ３は、以降に生成されるバンドデータ（３−４バンドデータ）を非圧縮の状態でメインコントローラ２へ転送する。その後の処理については、図４で示した処理と同様である。
【００６７】
このように、第２の実施態様においては、メインコントローラ２での伸張処理に時間を要したとしても、アクセラレータ３側でバンドデータの圧縮処理を行うことができるため、印刷速度を低下させることなく印刷が可能となっている。
【００６８】
（第３の実施態様）
バンド単位の画像データであるバンドデータは、ＰＤＬデータの内容によって複雑な画像になる場合がある。例えば、複雑な画像であれば圧縮処理に時間を要するが、このバンドデータを非圧縮の状態でメインコントローラに転送し、かつ、その次のバンドデータの生成に時間を要しない場合に、次のバンドデータをメインコントローラに転送すると、圧縮伸張部２３が前のバンドデータの圧縮処理中であるため、次のバンドデータの圧縮処理の開始が待たされる場合がある。
【００６９】
第３の実施態様では、前のバンドデータがメインコントローラ２の圧縮伸張部２３で圧縮処理中であっても、次のバンドデータの圧縮処理をアクセラレータ３の圧縮部３５で行うことにより、圧縮処理における待ち時間を軽減するようにしている。このため、メインコントローラ２は、アクセラレータ３に対して圧縮伸張部２３における伸張処理の終了通知を行うとともに、バンドデータの圧縮処理の開始通知及び終了通知を行うようにし、アクセラレータ３では、圧縮処理の開始通知及び終了通知に応じて、バンドデータの圧縮を行うようにしている。
【００７０】
図７は、本発明に係る画像形成装置における画像データ処理のさらに他の例を説明するための図であり、第３の実施態様における処理を示している。
図７において、メインコントローラ２は、アクセラレータ３から受信した非圧縮の１−１バンドデータの圧縮処理を行う際に、アクセラレータ３に対して、圧縮開始通知を通知するとともに、１−１バンドデータの圧縮処理が終了すると、アクセラレータ３に対して、圧縮終了通知を通知するようにしている。
【００７１】
アクセラレータ３では、１−１バンドデータを非圧縮の状態でメインコントローラ２へ転送した後、メインコントローラ２から圧縮開始通知を受け取ると、圧縮終了通知を受け取るまでに生成されたバンドデータを、圧縮部３５で圧縮した上で、メインコントローラ２へ転送するようにしている。図２で示す処理の場合、圧縮開始通知を受け取ってから圧縮終了通知を受け取るまでに生成された１―２バンドデータについては、圧縮部３５で圧縮した後、メインコントローラ２へ転送し、圧縮終了通知を受け取った以降に生成された１−３バンドデータについては、非圧縮の状態でメインコントローラ２へ転送している。
【００７２】
そして、アクセラレータ３の制御部３１は、メインコントローラからの通知に応じて、各バンドデータごとに圧縮処理を行うか否かの切換えを行い、第２ページの先頭のバンドデータ以降については、第２の実施態様での処理と同様に、メインコントローラ２から１ページ目の伸張終了通知を受け取るまで、圧縮部３５によって圧縮するようにしている。
【００７３】
次に、１ページ目の伸張終了通知を受け取ってから生成される２―４バンドデータについては、非圧縮の状態でメインコントローラ２へ転送し、メインコントローラ２から２―４バンドデータの圧縮開始通知を受け取った以降に生成される２−５バンドデータについては、圧縮部３５で圧縮した後、メインコントローラ２へ転送している。さらに、３―１バンドデータについては、３ページ目の先頭バンドデータであるため、圧縮部３５で圧縮した後、メインコントローラ２へ転送している。以降の動作についても同様である。
【００７４】
図８は、図７に示した画像データ処理におけるアクセラレータ側の処理フローを示す図である。
ステップＳ１１においてバンドデータの生成が完了すると、ステップＳ１２移り、メインコントローラの圧縮伸張部２３が圧縮処理中かどうか判別される。この判別は、メインコントローラ２から圧縮開始通知と圧縮終了通知を受け取ったか否かによって行われる。圧縮伸張部２３が圧縮処理中の場合（ＹＥＳの場合）は、ステップＳ１３に移り、生成されたバンドデータはアクセラレータの圧縮部３５で圧縮される。
【００７５】
ステップＳ１２で圧縮伸張部２３が圧縮処理中でない場合（ＮＯの場合）は、ステップＳ１５に移り、バンドデータが先頭ページのバンドデータであるかどうか判別される。先頭ページのバンドデータである場合（ＹＥＳの場合）は、ステップＳ１３に移り、生成されたバンドデータはアクセラレータの圧縮部３５で圧縮される。
【００７６】
ステップＳ１５で先頭ページのバンドデータでない場合（ＮＯの場合）、ステップＳ１６に進み、メインコントローラ２の圧縮伸張部２３が伸張処理中かどうか判別される。伸張処理中の場合（ＹＥＳの場合）は、ステップＳ１３に進み、生成されたバンドデータはアクセラレータの圧縮部３５で圧縮される。ここで、圧縮伸張部２３が伸張処理中かどうかは、メインコントローラ２から前ページについての伸張終了通知を受け取ったかどうかで判別される。
【００７７】
ステップＳ１６で伸張処理中でない場合、すなわち、メインコントローラ２から前ページについての伸張終了通知を受け取っている場合（ＮＯの場合）、ステップＳ１４に移り、非圧縮の状態で生成されたバンドデータをメインコントローラ２へ転送する。また、ステップＳ１３で圧縮処理されたバンドデータについても、ステップＳ１４でメインコントローラ２へ転送される。
【符号の説明】
【００７８】
１，１０１…画像形成装置、２，１０２…メインコントローラ、３，１０３…アクセラレータ、４，１０４…プリンタエンジン、２１，１２１…制御部、２２，１２２…外部入力ＩＦ，２３，１２３…圧縮伸張部、２４，１２４…ＨＤＤ、２５，１２５，３４，１３４…通信ＩＦ、２６，１２６…プリンタエンジンコントローラ、２７，３６…ＣＰＵ、２８，３７…ＲＯＭ、２９，３８…ＲＡＭ、３２，１３２…解析部、３３，１３３…画像生成部、３５…圧縮部。
【図１】
2012218227.tif 000003
【図２】
2012218227.tif 000004
【図３】
2012218227.tif 000005
【図４】
2012218227.tif 000006
【図５】
2012218227.tif 000007
【図６】
2012218227.tif 000008
【図７】
2012218227.tif 000009
【図８】
2012218227.tif 000010
【図９】
2012218227.tif 000011
【図１０】
2012218227.tif 000012