(57)【要約】【課題】  簡単な構成で画像データの符号及び伸張を行って印字処理を迅速かつ的確に実行すると共に、印字処理以外の他の処理にも伸張処理を割り当てながら、印字処理と当該他の処理とを同時に動作できるようにする。【解決手段】  印字処理と、印字処理以外の処理（第２の処理）とが同時に動作しており（Ｓ１）、これら両方の処理で伸張処理が必要である場合に、第２の処理が圧縮／伸張部の使用を調停部に要求したときは（Ｓ２でＹＥＳ）、調停部は、圧縮／伸張部が他の処理で不使用であり（Ｓ３でＹＥＳ）、印字処理から圧縮／伸張部の使用要求もない場合に（Ｓ４でＹＥＳ）、第２の処理に圧縮／伸張部を使用させる（Ｓ５）。第２の処理への圧縮／伸張部の使用割り当て時間は、第２の処理からの１回の使用要求につき、印字処理で１個のバンドバッファの圧縮データを圧縮／伸張部で伸張する為に要する時間以内とする。【選択図】      図１
2006248051.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンドに分割された画像データが格納される複数のバンドバッファと、
前記複数のバンドに分割された画像データを符号化する符号化手段と、
前記符号化手段によって符号化された画像データを各バンド毎に伸張して、前記複数のバンドバッファのいずれかに格納する伸張手段と、
前記伸張手段によって格納された画像データを、前記複数のバンドバッファから順次バンド毎に出力する画像データ出力手段と、
リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これらの処理から前記伸張手段の使用要求があった場合に、これらの処理のいずれに前記伸張手段の使用を割り当てるかを調停する調停手段とを備え、
前記調停手段は、前記第２の処理から前記伸張手段の使用要求があった場合は、前記伸張手段が前記第１の処理に使用されずに使用可能な状態となっており、前記第１の処理が前記伸張手段の使用を要求していないときに、前記第２の処理に対して前記伸張手段の使用を割り当て、当該第２の処理からの１回の使用要求に対して許可する前記伸張手段の使用割り当て時間を、前記伸張手段が前記第１の処理の１つのバンド分の画像データを伸張して前記バンドバッファに格納するために要する時間以内とする画像形成装置。
【請求項２】
前記伸張手段が複数備えられている請求項１に記載の画像形成装置。
【請求項３】
複数のバンドに分割されて符号化された画像データを、各バンド毎に伸張手段に伸張させて複数のバンドバッファのいずれかに格納し、この格納された画像データを当該複数のバンドバッファから順次バンド毎に出力する画像データ処理方法であって、
リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これら両方の処理が前記伸張手段の使用を必要としている場合において、当該第２の処理から前記伸張手段の使用要求があったときは、前記伸張手段が第１の処理に使用されず使用可能な状態となっており、前記第１の処理が前記伸張手段の使用を要求していないときに、前記第２の処理に対して前記伸張手段の使用を割り当て、当該第２の処理からの１回の使用要求に対して許可する前記伸張手段の使用割り当て時間を、前記伸張手段が前記第１の処理の１つのバンド分の画像データを伸張して前記バンドバッファに格納するために要する時間以内とする画像データ処理方法。
【請求項４】
複数のバンドに分割された画像データが格納される複数のバンドバッファを有する情報処理装置を、
前記複数のバンドに分割された画像データを符号化する符号化手段と、
前記符号化手段によって符号化された画像データを各バンド毎に伸張して、前記複数のバンドバッファのいずれかに格納する伸張手段と、
前記伸張手段によって格納された画像データを、前記複数のバンドバッファから順次バンド毎に出力する画像データ出力手段と、
リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これらの処理から前記伸張手段の使用要求があった場合に、これらの処理のいずれに前記伸張手段の使用を割り当てるかを調停する調停手段とを備え、
前記調停手段が、前記第２の処理から前記伸張手段の使用要求があった場合は、前記伸張手段が前記第１の処理に使用されずに使用可能な状態となっており、前記第１の処理が前記伸張手段の使用を要求していないときに、前記第２の処理に対して前記伸張手段の使用を割り当て、当該第２の処理からの１回の使用要求に対して許可する前記伸張手段の使用割り当て時間を、前記伸張手段が前記第１の処理の１つのバンド分の画像データを伸張して前記バンドバッファに格納するために要する時間以内とする画像形成装置として機能させる画像データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像データ処理方法、及び画像データ処理プログラムに関し、特に、ページ毎の画像データを複数のバンドに分割・符号化してメモリに蓄積しておき、このメモリに蓄積されている画像データを伸張して画像記録部に出力する画像データ処理技術に関する。
【背景技術】
【０００２】
従来から、レーザプリンタ等の画像形成装置では、１ページ分のデータ量が大きい高解像度の画像データ等であっても、１ページ分の画像データを処理するために必要となるメモリ容量を低減するために、以下のような画像データ処理が行われている。例えば、画像形成装置が、ホスト側からページ記述言語(ＰＤＬ :Page Description Language)で記述された１ページ分の印刷情報を受信した場合、１ページ分の画像データを分割して数ラインのバンド単位でビットマップデータに展開して、さらに、１バンド分のビットマップデータをJBIG（Joint Bi-level Image experts Group）等で圧縮して一旦格納し、画像記録部への出力タイミングまでに、当該圧縮された状態のデータを伸張してバンドバッファに書き込んでおき、この伸張されたデータをバンド毎に逐次画像記録部に出力するようになっている。
【０００３】
上記のような画像形成装置による印字処理を図４を用いて説明する。この図４では、３個のバンドバッファ１乃至３と、２個の伸張回路１及び２とが用いられ、１個のバンドバッファに格納されている伸張後のデータを画像記録部に出力（Video Out）するために必要な時間をT、伸張回路が１個のバンド分の圧縮データを伸張するのに要する時間を1.5T（印字処理時間（出力時間）Tの1.5倍）とした場合を示している。図４の時刻0の時点で、３個のバッファ１乃至３に、伸張回路により伸張されたビットマップデータが既に蓄積されているとすると、まず、時刻0〜Tの間では、バッファ１の画像データが画像記録部に出力される。時刻T〜2T間ではバッファ２の画像データの出力を行い、一方、伸張回路１はバッファ１に次回出力用の画像データを伸張して格納する。時刻２T〜３T間では、バッファ３の出力を行い、伸張回路２がバッファ２に次回出力用の画像データを伸張して格納する。時刻3T〜4T間では、既にバンドバッファ１には伸張された画像データが格納されているので、印字処理部はバンドバッファ１の出力を行い、一方、伸張回路１はバンドバッファ３に次回出力用の画像データを画像データを伸張して格納する。このような流れで処理を行うことで、複数の伸張回路を利用して高速な印字処理を実現している。
【０００４】
上記画像データ処理を行う画像形成装置では、バンドに画像データを伸張・展開する処理速度と、画像を画像記録部に出力する処理速度とが必ずしも同じ速度ではなく、各処理速度は、それぞれの処理に用いる回路の処理速度に依存する。そのため、画像データを伸張・展開する処理速度よりも、画像記録部への出力速度の方が速い高速機の場合には、下記特許文献１及び特許文献２に示されるように、複数のバンドバッファを用意し、印刷処理前に予めどの程度バンドバッファに画像を伸張・展開すればよいかを求める手法が考えられている。さらに下記特許文献３では、複数のバンドバッファの動的なメモリ割り当て手法が提案されている。
【特許文献１】特開平10-226116号公報
【特許文献２】特開平10-56545号公報
【特許文献３】特開2003-11440号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記の画像データ処理は、伸張回路を印字処理のためだけに使用できるプリンタ単体機であれば、伸張回路を印字処理用に固定で割り当てることができるため有効であるが、上記画像データ処理は、伸張回路を印字処理以外には割り当てることができないため、ファクス、コピー、スキャナ、プリンタ等の複合機能を備える複合機のように、複数の処理が同時実行され、印字処理以外の処理にも伸張回路を割り当てなければならないシステムには適用できない。
【０００６】
また、上記の図４では、時刻2.5T〜3Tの間では伸張回路１が使用されておらず、3.5T〜4Tの間では伸張回路２が使用されていないため、これらの期間に伸張回路を印字処理以外の他の処理に割り当てることも考えられるが、この場合、当該期間に伸張回路を他の処理に使用させたばかりに、印字処理が本来伸張回路を使用しなければならない時に伸張回路が使用できない事態が生じると、メモリアンダーフローを発生させ、システム破綻を引き起こしてしまう。
【０００７】
また、上記の各特許文献に記載された先行技術は、プリンタ単体機への適用が前提とされた技術であり、伸張回路を印字処理以外の他の処理に割り当てて使用する技術は提案されていない。そのため、複合機において、印字処理と同時にファクス処理やスキャン処理等を行うためには、各処理毎に伸張回路を搭載するか、印字処理が動作している時には、当該印字処理が終了するまで、印字処理以外の処理は伸張回路を使用しない処理を行わなければならない。
【０００８】
本発明は、上記の問題を解決するためになされたものであり、簡単な構成で画像データの符号及び伸張を行って印字処理を迅速かつ的確に実行すると共に、印字処理以外の他の処理にも伸張処理を割り当てながら、印字処理と当該他の処理とを同時に動作させることができる画像形成装置、画像データ処理方法、及び画像データ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の請求項１に記載の発明は、複数のバンドに分割された画像データが格納される複数のバンドバッファと、
前記複数のバンドに分割された画像データを符号化する符号化手段と、
前記符号化手段によって符号化された画像データを各バンド毎に伸張して、前記複数のバンドバッファのいずれかに格納する伸張手段と、
前記伸張手段によって格納された画像データを、前記複数のバンドバッファから順次バンド毎に出力する画像データ出力手段と、
リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これらの処理から前記伸張手段の使用要求があった場合に、これらの処理のいずれに前記伸張手段の使用を割り当てるかを調停する調停手段とを備え、
前記調停手段は、前記第２の処理から前記伸張手段の使用要求があった場合は、前記伸張手段が前記第１の処理に使用されずに使用可能な状態となっており、前記第１の処理が前記伸張手段の使用を要求していないときに、前記第２の処理に対して前記伸張手段の使用を割り当て、当該第２の処理からの１回の使用要求に対して許可する前記伸張手段の使用割り当て時間を、前記伸張手段が前記第１の処理の１つのバンド分の画像データを伸張して前記バンドバッファに格納するために要する時間以内とする画像形成装置である。
【００１０】
この構成では、リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これら両方の処理が伸張手段の使用を必要としている場合に、調停手段は、当該第２の処理から伸張手段の使用要求があっても、第１の処理が、伸張手段を使用しておらず、伸張手段の使用要求も出していないときにしか、第２の処理には伸張手段の使用を割り当てないようにして、リアルタイム性を必要としない第２の処理よりも、リアルタイム性を必要とする第１の処理による伸張手段の使用を優先させ、第１の処理に対する伸張手段の使用を確保する。
【００１１】
しかも、調停手段は、第２の処理からの１回の使用要求に対して伸張手段の使用を割り合てる時間を、第１の処理の１つのバンド分の画像データを伸張手段が伸張してバンドバッファに格納するのに要する時間以内として、第１の処理の伸張手段の使用待ち時間を、最大でも第１の処理の１つのバンド分の画像データを伸張手段が伸張してバンドバッファに格納するのに要する時間以内に抑え、長時間に亘って、伸張手段が、リアルタイム性を要求されない第２の処理に占有されることを防止している。
【００１２】
また、請求項２に記載の発明は、請求項１に記載の画像形成装置であって、前記伸張手段が複数備えられているものである。
【００１３】
この構成では、第２の処理から伸張手段の使用要求があった場合、調停手段が、複数の伸張手段のそれぞれについて、第１の処理に使用されずに使用可能な状態となっているか、伸張手段の使用を要求しているかを判断して、第１の処理への使用割り当てと、第２の処理に対しては使用時間を制限した上での使用割り当てとを行うことにより、複数の伸張手段のそれぞれを第１及び第２の処理に的確に割り当てるようにしている。
【００１４】
なお、請求項３に記載の発明は、複数のバンドに分割されて符号化された画像データを、各バンド毎に伸張手段に伸張させて複数のバンドバッファのいずれかに格納し、この格納された画像データを当該複数のバンドバッファから順次バンド毎に出力する画像データ処理方法であって、
リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これら両方の処理が前記伸張手段の使用を必要としている場合において、当該第２の処理から前記伸張手段の使用要求があったときは、前記伸張手段が第１の処理に使用されず使用可能な状態となっており、前記第１の処理が前記伸張手段の使用を要求していないときに、前記第２の処理に対して前記伸張手段の使用を割り当て、当該第２の処理からの１回の使用要求に対して許可する前記伸張手段の使用割り当て時間を、前記伸張手段が前記第１の処理の１つのバンド分の画像データを伸張して前記バンドバッファに格納するために要する時間以内とするものである。
【００１５】
なお、請求項４に記載の発明は、複数のバンドに分割された画像データが格納される複数のバンドバッファを有する情報処理装置を、
前記複数のバンドに分割された画像データを符号化する符号化手段と、
前記符号化手段によって符号化された画像データを各バンド毎に伸張して、前記複数のバンドバッファのいずれかに格納する伸張手段と、
前記伸張手段によって格納された画像データを、前記複数のバンドバッファから順次バンド毎に出力する画像データ出力手段と、
リアルタイム性を必要とする第１の処理と、リアルタイム性を必要としない第２の処理とが同時に動作し、これらの処理から前記伸張手段の使用要求があった場合に、これらの処理のいずれに前記伸張手段の使用を割り当てるかを調停する調停手段とを備え、
前記調停手段が、前記第２の処理から前記伸張手段の使用要求があった場合は、前記伸張手段が前記第１の処理に使用されずに使用可能な状態となっており、前記第１の処理が前記伸張手段の使用を要求していないときに、前記第２の処理に対して前記伸張手段の使用を割り当て、当該第２の処理からの１回の使用要求に対して許可する前記伸張手段の使用割り当て時間を、前記伸張手段が前記第１の処理の１つのバンド分の画像データを伸張して前記バンドバッファに格納するために要する時間以内とする画像形成装置として機能させる画像データ処理プログラムである。
【発明の効果】
【００１６】
請求項１、請求項３、及び請求項４に記載の発明によれば、リアルタイム性が要求される第１の処理に伸張手段の使用を優先し、リアルタイム性が要求されない第２の処理には使用時間を制限した上でしか伸張手段の使用を割り当てないので、リアルタイム性が要求される第１の処理、例えば印字処理は、伸張手段を使用しなければならない時にはその使用が確保され、メモリアンダーフローの発生及びシステム破綻が防止される。これにより、画像データの符号及び伸張を迅速かつ的確に実行すると共に、印字処理以外の他の処理にも伸張手段の使用を割り当てて、印字処理と印字処理以外の処理とで伸張手段を共用しつつ、印字処理と当該他の処理とを同時に動作させることができる。
【００１７】
請求項２に記載の発明によれば、複数の伸張手段のそれぞれを第１及び第２の処理に的確に割り当てて、画像データの符号及び伸張を更に迅速かつ的確に実行しつつ、印字処理以外の他の処理にも伸張手段の使用を割り当てながら、印字処理と当該他の処理とを同時に動作させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施形態について図面を参照して説明する。図１は本発明に係る画像形成装置の主要部の概略構成を示す図である。本発明に係る画像形成装置の一例である複合機１は、プリンタ機能、コピー機能、ファクス機能、スキャナ機能等の複数の機能を備えたものである。複合機１は、これら各機能において必要となる画像データ処理（印字処理、その他の処理）を行うために、Ｉ／Ｆ（インタフェイス）部１１、ＰＤＬ解析部１２、ビットマップ展開部１３、圧縮／伸張部１４、出力部１５、メモリ１７、及び制御部１８を備える。
【００１９】
ホストコンピュータ２から送られてくるＰＤＬ（Page Description Language）データは、Ｉ／Ｆ部１１を介して、ＰＤＬ解析部１２に入力される。ＰＤＬ解析部１２は、ＰＤＬデータをバンド単位の中間言語であるディプレイリスト（ＤＬ）に変換する。ビットマップ展開部１３は、ディプレイリストをビットマップ展開する。圧縮／伸張部（符号化手段、伸張手段）１４は、(1)バンド毎に展開されたビットマップデータを、例えば、JBIG（Joint Bi-level Image experts Group）等により圧縮すると共に、(2)当該圧縮した画像データを伸張する処理を行う。この圧縮／伸張部１４は、本実施形態では２個設けられている。圧縮／伸張部１４によって圧縮された画像データは、メモリ１７内の圧縮メモリバッファ領域に書き込まれ、圧縮／伸張部１４によって伸張された画像データは、メモリ１７内のバンドバッファ領域に書き込まれる。このバンドバッファ領域は、複数のバンドバッファからなり、上記バンド毎に伸張された画像データが、それぞれ複数のバンドバッファのいずれかに書き込まれるようになっている。
【００２０】
出力部（画像データ出力手段）１５は、圧縮／伸張部１４によって伸張された画像データをバンド毎に順次画像記録部（図略）に出力する。
【００２１】
制御部１８は、画像データ処理のために各部の動作を制御するものであり、メモリ管理部１８１及び調停部１８２を備えている。メモリ管理部１８１は、メモリ１７に割り当てられた各領域（ＤＬリストバッファ領域、上記圧縮データバッファ領域、バンドバッファ領域）を管理する。圧縮／伸張部１４は、メモリ管理部１８１から与えられるメモリマップ情報に従って、ＲＡＭ等からなるメモリ１７上のメモリ空間を、上記ＤＬリストバッファ領域、圧縮データバッファ領域、バンドバッファ領域として利用する。
【００２２】
調停部（調停手段）１８２は、リアルタイム性を必要とする処理と、リアルタイム性を必要としない処理が同時に動作し、これらの処理から圧縮／伸張部１４の使用要求が競合した場合に、これらの処理のいずれに圧縮／伸張部１４の使用を割り当てるかを判断するものである。
【００２３】
複合機１がホストコンピュータ２からＰＤＬデータを受信した場合の処理の流れを簡単に説明する。ＰＤＬ解析部１２が、ホストコンピュータ２からＩ／Ｆ部１１を介してＰＤＬデータを受信すると、ＰＤＬ解析部１２は、当該ＰＤＬデータをディプレイリスト（ＤＬ）に変換してＤＬリストバッファにバンド単位で格納する。ビットマップ展開部１３は、このディプレイリストをビットマップ展開し、圧縮／伸張部１４が、当該バンド毎のビットマップデータを、JBIG（Joint Bi-level Image experts Group）で圧縮して、圧縮データを圧縮データバッファに格納する。圧縮データバッファに格納された圧縮データは、圧縮／伸張部１４によって伸張されて、バンドバッファに書き込まれる。そして、出力部１５が、当該バンドバッファに書き込まれている伸張後のデータを、図略の画像記録部に対して出力する。
【００２４】
複合機１において、印字処理と他の処理とが同時に動作する場合に、圧縮／伸張部１４（特に伸張機能）の使用をそれぞれの処理に割り当てる処理について説明する。図２は当該処理を示すフローチャートである。また、図３は、印字処理のために各バンドバッファで行われるデータ出力及び伸張・格納処理の様子を示すと共に、他の処理に圧縮／伸張部１４の使用が割り当てられる様子を示した図である。なお、図３は、データ出力処理時間と伸張処理時間とが、データ出力処理時間(T)と伸張処理時間(1.5T)の関係であり、２個の圧縮／伸張部１４と、バッファ１乃至バッファ４の4個のバンドバッファとを用いる場合を示している。なお、バッファ１乃至バッファ４は、印字処理に用いられるバッファである。
【００２５】
複合機１で印字処理と他の処理とが同時に動作する場合において、圧縮／伸張部１４（特に伸張機能）の使用をそれぞれの処理に割り当てる処理の基本的な流れは、次の通りである。リアルタイム性を必要とする印字処理（第１の処理）と、リアルタイム性を必要としない印字処理以外の処理（以下、第２の処理という）とが同時に動作しており（Ｓ１）、これら両方の処理で圧縮／伸張部１４による伸張処理が必要である場合において、第２の処理が圧縮／伸張部１４の使用を調停部１８２に要求したときは（Ｓ２でＹＥＳ）、調停部１８２は、圧縮／伸張部１４が他の処理（第２の処理同士が競合する場合も含む）に使用されておらず使用可能な状態となっており（Ｓ３でＹＥＳ）、かつ、印字処理が圧縮／伸張部１４の使用要求を行っていない場合にのみ（Ｓ４でＹＥＳ）、当該使用要求を行った第２の処理に圧縮／伸張部１４を使用させる（Ｓ５）。なお、Ｓ３及びＳ４でＮＯの場合は、第２の処理には圧縮／伸張部１４の使用を許可しない（Ｓ６）。また、本実施形態では、２個の圧縮／伸張部１４が設けられているため、上記一連の処理は、それぞれの圧縮／伸張部１４に対して行われる。
【００２６】
さらに、上記処理においては、リアルタイム性が要求されない第２の処理に対して圧縮／伸張部１４の使用を割り当てる時間は、第２の処理からの１回の使用要求につき、一定時間内に制限する。この一定時間とは、印字処理において、１個のバンドバッファに格納されている圧縮データを圧縮／伸張部１４により伸張するのに要する時間以内である。本実施形態では、圧縮／伸張部１４による１つのバッファメモリに格納された圧縮データの伸張処理時間を1.5Tとするので、第２の処理からの１回の使用要求に対して圧縮／伸張部１４の使用を割り当てる時間を1.5Tとする。
【００２７】
図３を参照して、印字処理と上記第２の処理とに対する圧縮／伸張部１４の使用割り当てを、時間経過に沿って更に具体的に説明する。時刻0の時点では、バッファ１乃至バッファ４には、既に圧縮／伸張部１４によって伸張された画像データが格納されているとする。この時刻0の時点では、印字処理は、出力部１５に伸張後の画像データを出力する処理（Video out）を行うだけであるので、圧縮／伸張部１４を使用しておらず、かつ、圧縮／伸張部１４の使用も要求しない。そのため、時刻0で第２の処理から圧縮／伸張部１４の使用要求があった場合、調停部１８２は、第２の処理に対して圧縮／伸張部１４の使用を割り当てる。これにより、第２の処理が圧縮／伸張部１４による伸張処理を開始する。ここでは、圧縮／伸張部１４は、２個とも空いているので、この時点における第２の処理においては、第１の圧縮／伸張部１４による伸張処理が開始されるものとして説明する。
【００２８】
時刻Tになると、印字処理は、バッファ１に格納されている画像データについて出力部１５による画像記録部への出力を終えたので、バッファ１において次に出力すべき画像データの伸張処理を行うために（バッファ１に次の出力用に伸張処理された画像データを格納するために）、調停部１８２に対して圧縮／伸張部１４の使用を要求する。この時点では、２個の圧縮／伸張部１４のうち、第２の圧縮／伸張部１４がまだ使用されていないので、第２の圧縮／伸張部１４による伸張処理が、印字処理のバッファ１に格納すべき画像データについて開始される。
【００２９】
時刻1.5Tの時点では、第２の処理は、時刻0の時点から開始していた第１の圧縮／伸張部１４による伸張処理が終了するので、更に圧縮／伸張部１４の使用要求を調停部１８２に出す。この時刻1.5Tの時点では、印字処理は、(1)第２の圧縮／伸張部１４によるバッファ１の画像データの伸張処理中であり、(2)バッファ２に格納されている画像データを出力部１５から出力中であると共に、(3)バッファ３及び４に関しては、まだ、既伸張後の画像データを出力していないため、印字処理は、バッファ３及び４に関して圧縮／伸張部１４の使用を要求しない。そのため、調停部１８２は、第２の処理からの圧縮／伸張部１４の使用要求を受け入れて、第２の処理に、第１の圧縮／伸張部１４の使用を割り当て、引き続き第１の圧縮／伸張部１４を使用させる。
【００３０】
時刻2Tでは、印字処理が、バッファ２に格納されていた画像データの画像記録部への出力を終えたので、バッファ２において次に出力すべき画像データの伸張処理を行うために圧縮／伸張部１４の使用を調停部１８２に要求するが、この時点においては、既に第１及び第２の圧縮／伸張部の両方が使用されているので待ち状態に入る。
【００３１】
時刻2.5Tの時点では、それまで印字処理のバッファ１のデータ伸張処理に対して使用が割り当てられていた第２の圧縮／伸張部１４が空き、その使用が可能となるので、調停部１８２は、時刻2Tの時点で既に使用要求が出されていたバッファ２のデータ伸張処理のために、当該第２の圧縮／伸張部１４の使用を割り当てる。
【００３２】
時刻３Tでは、第２の処理は、第１の圧縮／伸張部１４の使用を終えるので、再び圧縮／伸張部１４の使用要求を出す。また、印字処理も、バッファ３でデータ出力が終了しており、バッファ３において次に出力すべき画像データの伸張処理を行うために、調停部１８２に対して圧縮／伸張部１４の使用要求を出す。このとき、印字処理からの使用要求の方が早く出されれば、調停部１８２は、印字処理に対して、空いている第１の圧縮／伸張部１４の使用を割り当てるが、第２の処理からの使用要求の方が早ければ、調停部１８２は、第２の処理に対して第１の圧縮／伸張部１４の使用を割り当てる。図３には、第２の処理からの圧縮／伸張部１４の使用要求の方が早く、調停部１８２が、第２の処理に対して第１の圧縮／伸張部１４の使用を割り当てた場合を示している。この場合、印字処理のバッファ３の画像データについての使用要求は、待ち状態に入る。
【００３３】
その後、時刻４Tにおいて、バンドバッファ２の画像データについての第２の圧縮／伸張部１４による伸張処理が終了し、第２の圧縮／伸張部１４が空くと、調停部１８２は、バンドバッファ３に格納すべき画像データの伸張処理のために、当該第２の圧縮／伸張部１４の使用を割り当てる。また、この時刻４Tの時点では、バンドバッファ４に格納されている画像データの出力を終えており、印字処理は、バンドバッファ４における次に出力すべき画像データの伸張処理のために、圧縮／伸張部１４の使用要求を調停部１８２に出すが、この時点では、印字処理がバンドバッファ３に格納すべき画像データの伸張処理のために、以前から既に圧縮／伸張部１４の使用要求を出しており、また、第１の圧縮／伸張部１４も第２の処理による使用が終了していないので、調停部１８２は、当該バンドバッファ４に格納すべき画像データの伸張処理についての印字処理からの圧縮／伸張部１４の使用要求を受け入れない。
【００３４】
その後、時刻４.５Tで、第２の処理による第１の圧縮／伸張部１４の使用が終了して、第１の圧縮／伸張部１４が空くと、調停部１８２は、印字処理により以前から出されていたバッファ４のデータ伸張処理についての圧縮／伸張部１４の使用要求に対応して、第１の圧縮／伸張部１４の使用をバッファ４のデータ伸張処理のために割り当てる。以降、印字処理及び第２の処理からのそれぞれの圧縮／伸張部１４の使用要求に応じて、調停部１８２は、同様の使用割り当て処理を行う。
【００３５】
このように圧縮／伸張部１４の使用割り当て処理を調停部１８２が行うことによって、印字処理のメモリアンダーフローを発生させることなく、印字処理と第２の処理とで、圧縮／伸張部１４を有効に共用して、迅速かつて的確に画像データ処理を行うことができる。
【００３６】
なお、図３に示したように、第２の処理が、時刻0の時点から連続して圧縮／伸張部１４の使用を要求し続けるのではなく、第２の処理が任意の時刻に圧縮／伸張部１４の使用要求を出すようなシステムにおいても、上記と同様の使用割り当て処理が調停部１８２によって行われる。
【００３７】
上記バンドバッファの個数は、出力部１５がバンドバッファから画像データを画像記録部に出力する処理速度と、伸張処理速度との関係から、最適な個数が決定される。バンドバッファの個数の求め方について説明する。
【００３８】
出力部１５が各バッファから画像記録部に画像データを出力する速度を Vとし、圧縮／伸張部１４によるバンド単位の伸張処理速度をV/L (Lは1以上の正数(小数も含む)とする。)とすると、出力部１５によるバッファからのデータ出力を間に合わせるためには、次の式(1)を満たす必要がある。
【００３９】
V≦(V×M)/L    (Mは圧縮／伸張部１４の個数)    (1)
この場合のバンドバッファの個数は、L+1以上の整数個必要となる。
例えばL＝1.5の場合では、圧縮／伸張部１４は２個、バンドバッファは３個必要になる。
【００４０】
ここでL+1が小数になるような場合には、圧縮／伸張部１４が使用されていない区間（時間帯）が存在する。その区間をまとめて使用できれば圧縮／伸張部１４を効率的に使用できる。バンドバッファを１個増やすことで、その余裕区間はVだけ増す。そこで最小のバンドバッファ数から増やすバンドバッファの数Nは、N×V+(L-1)V≦L×Vを満たす最小の整数となる。
【００４１】
例えば上記のL=1.5の場合では、
N＋0.5≦1.5 となりNの数は、1となる。このことより、L=1.5の場合で本発明の構成を実現するためには、4個のバンドバッファが必要となる。
【００４２】
また、バンドバッファのサイズは任意でよい。これは、この構成では、圧縮／伸張部１４によるテータ伸張処理速度と、出力部１５によるデータ出力処理速度の比率で議論されているため、出力処理時間Tに起因するバンドバッファのサイズは、出力処理時間Tが任意で良いのと同様に、任意で良い。よって仮に、構成によってバンドバッファの個数が増加してもバンドバッファのサイズを小さくすることでメモリの増加を抑えることができる。
【００４３】
本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施形態では、ＰＤＬ解析部１２，ビットマップ展開部１３、圧縮／伸張部１４、メモリ管理部１８１、調停部１８２及び出力部１５をそれぞれ回路で構成しているが、図略の記憶部に記憶される画像データ処理プログラムに基づいて、ＣＰＵが、ＰＤＬ解析部１２、ビットマップ展開部１３、圧縮／伸張部１４、メモリ管理部１８１、調停部１８２及び出力部１５として機能するようにしてもよい。
【００４４】
また、上記実施形態では、バンド毎の画像データの圧縮及び伸張の両方の処理を圧縮／伸張部１４が行うものとして説明しているが、かかる圧縮処理及び伸張処理を別々の回路で行うようにしてもよい。この場合は、伸張処理のために設けられた伸張処理部が特許請求の範囲における伸張手段となり、調停部１８２は、印字処理及び第２の処理に対する当該伸張処理部の使用割り当てを調停する処理を行う。
【００４５】
また、上記図３に示した実施形態では、圧縮／伸張部１４が２個としているが、圧縮／伸張部１４の数をこれに限定するものではなく、１個や３個以上であっても構わない。
【００４６】
また、上記実施形態では、本発明に係る画像形成装置を、プリンタ機能、コピー機能、ファクス機能、スキャナ機能等の複数の機能を備えた複合機１として説明しているが、これら全ての機能を備えていなければならないものではなく、印字処理と他の処理とが同時に動作される画像形成装置であればよい。また、図１乃至図３に、本発明に係る画像形成装置の構成及び処理を示しているが、これらの構成及び処理はあくまでも一例であり、本発明に係る画像形成装置の構成及び処理は上記に限定されるものではない。
【図面の簡単な説明】
【００４７】
【図１】本発明に係る画像形成装置の主要部の概略構成を示す図である。
【図２】複合機１において、印字処理と他の処理とが同時に動作する場合に、圧縮／伸張部（特に伸張機能）の使用をそれぞれの処理に割り当てる処理を示すフローチャートである。
【図３】印字処理のために各バンドバッファで行われる画像データ出力及び伸張・格納処理の様子を示すと共に、他の処理に圧縮／伸張部の使用が割り当てられる様子を示した図である。
【図４】印字処理における各バンドバッファの画像データに対する伸張回路の使用割り当てを示す図である。
【符号の説明】
【００４８】
１      複合機
２      ホストコンピュータ
１４    圧縮／伸張部
１７    メモリ
１８２  調停部
【図１】
2006248051.tif 000003
【図２】
2006248051.tif 000004
【図３】
2006248051.tif 000005
【図４】
2006248051.tif 000006