(57)【要約】【課題】  圧縮画像データを伸長する画像処理装置において、低コストおよび低消費電力の両立を図りつつ、高速な伸長動作を実現する。【解決手段】  画像処理装置は、ダイナミックリコンフィギュラブルロジックにより、圧縮画像データを伸長する第１伸長回路(302a)または、第１伸長回路(302a)に比べ伸長速度は遅いが消費電力の低い第２伸長回路(302b)のいずれかに構成可能な伸長ユニット(302)、伸長ユニット(302)で伸長された画像データをエンジン部に供給すべく一時記憶するバッファユニット(304)、バッファユニット(304)に蓄積されているデータ量を検知する検知ユニット(305)、を含む。そして、伸長ユニット(302)は、検知ユニット(305)によって検知されたデータ量に応じて、第１または第２伸長回路(302a/302b)への再構成を行う。【選択図】  図３
2006050444.tif 000002
【特許請求の範囲】
【請求項１】
入力される圧縮データを伸長する画像処理装置であって、
第１の伸長回路、および、当該第１の伸長回路に比べ伸長速度が低速でかつ消費電力量が小さい第２の伸長回路のいずれかを論理装置に構成可能とし、いずれかの伸長回路として構成された前記論理装置を用いて前記圧縮データを伸長する伸長ユニットと、
前記伸長ユニットで伸長された画像データを一時的に蓄積するバッファユニットと、
前記バッファユニットに蓄積されている前記画像データ量または前記バッファユニットの空き容量を検知する検知ユニットと、
前記伸長ユニットは、前記検知ユニットによって検知された前記画像データ量または前記空き容量に応じて、前記論理装置に前記第１または第２の伸長回路のいずれかを構成させることを特徴とする画像処理装置。
【請求項２】
前記伸長ユニットは、前記検知ユニットによって検知された前記データ量または前記空き容量が所定のしきい値に満たない場合、前記論理装置が前記第２の伸長回路として構成されていれば、前記第１の伸長回路として前記論理装置が動作するように構成を切り替えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記伸長ユニットは、前記検知ユニットによって検知された前記データ量または前記空き容量が所定のしきい値以上である場合、前記論理装置が前記第１の伸長回路として構成されていれば、前記第２の伸長回路として前記論理装置が動作するように構成を切り替えることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記検知ユニットは、前記伸長ユニットに入力される圧縮データの伸長に要する時間を予測し、前記伸長ユニットは、前記バッファユニットに蓄積された画像データ量または前記バッファユニットの空き容量と、前記時間とに応じて、前記論理装置に前記第１または第２の伸長回路のいずれかを構成させることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記画像データはカラー画像データであって、
前記伸長ユニット、バッファユニット、および検知ユニットを含む伸長部を、各色ごとに備えることを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
入力される圧縮データを伸長する第１の伸長回路、および、当該第１の伸長回路に比べ伸長速度が低速でかつ消費電力量が小さい第２の伸長回路のいずれかを論理装置に構成可能とし、いずれかの伸長回路として構成された前記論理装置を用いて前記圧縮データを伸長する伸長ユニットと、この伸長ユニットで伸長された画像データを一時的に蓄積するバッファユニットとを有する画像処理装置の制御方法であって、
前記圧縮データを前記伸長ユニットで伸長し、当該伸長された画像データを前記バッファユニットに格納する格納ステップと、
前記バッファユニットに格納された画像データ量または前記バッファユニットの空き容量を検知する検知ステップと、
前記検知された前記画像データ量または前記空き容量に応じて、前記論理装置に前記第１または第２の伸長回路のいずれかを構成させる制御ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項７】
前記制御ステップは、前記検知ステップで検知された前記データ量または前記空き容量が所定のしきい値に満たない場合、前記論理装置が前記第２の伸長回路として構成されていれば、前記第１の伸長回路として前記論理装置が動作するように構成を切り替えることを特徴とする請求項６に記載の画像処理装置の制御方法。
【請求項８】
前記制御ステップは、前記検知ステップで検知された前記データ量または前記空き容量が所定のしきい値以上である場合、前記論理装置が前記第１の伸長回路として構成されていれば、前記第２の伸長回路として前記論理装置が動作するように構成を切り替えることを特徴とする請求項６または７に記載の画像処理装置の制御方法。
【請求項９】
前記検知ステップは、前記伸長ユニットに入力される圧縮データの伸長に要する時間を予測し、
前記制御ステップは、前記バッファユニットに蓄積された画像データ量または前記バッファユニットの空き容量と、前記時間とに応じて、前記論理装置に前記第１または第２の伸長回路のいずれかを構成させることを特徴とする請求項６に記載の画像処理装置の制御方法。
【請求項１０】
入力される圧縮されたカラー画像データを伸長する画像処理装置であって、
色ごとの伸長回路を論理装置に構成可能とし、前記圧縮されたカラー画像データの各色ごとの伸長処理を、前記論理装置に構成する伸長回路を切り替えて実行する伸長ユニットと、
前記伸長ユニットで伸長された各色の画像データを一時的に蓄積する、各色ごとに設けられる複数のバッファユニットと、
前記複数のバッファユニットのそれぞれに蓄積されているデータ量またはバッファユニットのそれぞれの空き容量を検知する検知ユニットと、
を有し、
前記伸長ユニットは、前記検知ユニットによって検知された各データ量または空き容量に応じて前記論理装置に構成する色ごとの伸長回路を切り替えることを特徴とする画像処理装置。
【請求項１１】
前記伸長ユニットは、前記複数のバッファユニットのいずれかのデータ量または前記バッファユニットのいずれかの空き容量が所定のしきい値に満たない場合に、そのバッファに係る色の圧縮画像データを優先的に伸長するように前記論理装置に構成する伸長回路を切り替えることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記伸長ユニットはさらに、全色について１ページ分の伸長処理が終了するまでの間は、いずれかの色について１ページ分の伸長処理が終了する度に、時分割処理の時間配分がその色の伸長処理が除かれる時間配分となるように前記論理装置に構成する伸長回路を切り替えることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
入力される圧縮されたカラー画像データを伸長するために、色ごとの伸長回路を論理装置に構成可能とし、前記圧縮されたカラー画像データの各色ごとの伸長処理を、前記論理装置に構成する伸長回路を切り替えて実行する伸長ユニットと、前記伸長ユニットで伸長された各色の画像データを一時的に蓄積する、各色ごとに設けられる複数のバッファユニットと、を有する画像処理装置の制御方法であって、
前記圧縮カラー画像データを前記伸長ユニットで伸長し、伸長された画像データを前記複数のバッファユニットに色ごとに格納する格納ステップと、
前記複数のバッファユニットのそれぞれに蓄積されている各データ量またはバッファユニットのそれぞれの空き容量を検知する検知ステップと、
前記検知ステップによって検知された各データ量または各空き容量に応じて前記論理装置に構成する色ごとの伸長回路を切り替える制御を行う制御ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項１４】
前記制御ステップは、前記複数のバッファユニットのいずれかのデータ量または前記バッファユニットのいずれかの空き容量が所定のしきい値に満たない場合に、そのバッファに係る色の圧縮画像データを優先的に伸長するように前記論理装置に構成する伸長回路を切り替えることを特徴とする請求項１３に記載の制御方法。
【請求項１５】
前記制御ステップはさらに、全色について１ページ分の伸長処理が終了するまでの間は、いずれかの色について１ページ分の伸長処理が終了する度に、時分割処理の時間配分がその色の伸長処理が除かれる時間配分となるように前記論理装置に構成する伸長回路を切り替えることを特徴とする請求項１４に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の制御技術に関する。
【背景技術】
【０００２】
ホストコンピュータとプリンタとがネットワークを通じて接続されるネットワークプリンタにおいて、プリンタ本体は画像データの展開機能を有しておらずホスト側が画像処理とともに展開処理を行った上で画像の圧縮を行う構成が存在する。この構成の場合、プリンタ装置は、その圧縮された画像データを受け取り内部メモリに格納する。そしてプリント動作の開始に応じて、プリンタ装置は内部メモリに格納された圧縮画像データを伸長回路で伸長しながら、記録部（エンジン部）に転送して印字を行う。
【０００３】
基本的に、プリンタの最大印刷速度は、一般的な画像データを基準として算出されることが多い。従って、基準とは異なる画像データを印刷する場合には、速度が低下する場合が存在する。つまり、このようなプリンタ装置においては、伸長回路による伸長速度がプリント動作の高速化のボトルネックとなりうる。プリント動作速度を最大限にするためには、伸長回路の処理速度をエンジン部への画像データの供給速度よりも速いものにしておくことが望ましい。例えば、通常用いられている圧縮／伸長方式によれば、圧縮コードによっては伸長に時間がかかるものが存在する。そこで、そのような伸長時間が増加する圧縮コードが連続した場合にもその伸長速度がプリント速度（エンジン部への画像データの供給速度）よりも遅くならないようにする具体的構成が必要である。
【０００４】
伸長回路の処理速度は、基本的に、伸長回路の動作クロックに依存する。したがって、プリント動作速度を低下させないためには、上記のような伸長に時間がかかる圧縮コードが連続した場合にもその伸長速度がエンジン部への画像データの供給速度よりも速くなるように、伸長回路の動作クロックを設定すればよい。
【０００５】
しかし、上記したような伸長に時間がかかる圧縮コードが連続すること自体は確率的には低いものである。このように確率的に低い圧縮コードが入力されたときの伸長速度を確保するためにのみ動作クロックを高速にしておくことは、無駄が多い。つまり、伸長に時間がかかる圧縮コードが連続した場合に備えて高速な動作クロックを与えるように構成した場合には、そのような圧縮コードが連続しない多くの場面ではその動作クロックは不必要に速いものであるといえる。そして、これにより、無駄な電力を消費するばかりか、装置自体やＩＣの発熱をも増加させる。結果的に、寿命や故障率を悪化させていることにもなる。
【０００６】
これに対し、特許文献１は、例えば、ソフトウェアコーデックとハードウェアコーデックを備え、高速処理に有利な方を選択して使用する技術を開示している。これにより、処理の高速化を実現している。
【０００７】
その一方、特許文献１に開示されたような技術は回路規模の増大、ひいては消費電力の増加を招く。これに対し、特許文献２は、画像処理を行うための、アーキテクチャの相異なる複数のプログラマブルな画像処理手段を有する画像処理装置を開示している。そして、これら複数の画像処理手段のうち、使用しない画像処理手段へのクロック供給を停止することにより消費電力を低減させる技術を開示している。
【０００８】
【特許文献１】特開２００１−０２７９８６号公報
【特許文献２】特開２００１−１８４４９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、伸長回路による伸長速度がプリント動作の高速化のボトルネックとなっている場合において、プリント動作速度を低下させないためには、上記のように伸長回路の動作クロックを高速化するかわりに、伸長回路の後段に、伸長された画像データを格納するためのバッファメモリを設ける構成をとることもできる。具体的には、プリント動作の開始より早いタイミングで伸長動作を開始して、伸長された画像データをバッファにあらかじめ蓄えておく。それにより、伸長回路の伸長速度とエンジン部への画像データの供給速度との違いを吸収させようというものである。この構成は、伸長回路の動作クロックを高速化させなくても実現が可能なので、消費電力の点で有利である。
【００１０】
しかし、このような構成をとる場合、従来は、伸長回路の伸長速度とエンジン部への画像データの供給速度との違いが大きいためにバッファメモリの記憶容量を大きくとる必要がある。そのため、このような構成は、コスト高になってしまうという問題があった。さらに、コスト上昇に関しては、メモリ以上に高価なコーデックや画像処理手段を複数設ける特許文献１及び２においてより深刻である。
【００１１】
このように、プリント動作の高速化を実現するにあたっては、上記のいずれの手法によっても（とりわけ、上記したいずれの特許文献によっても）低コストおよび低消費電力の両立を図ることは難しい。
【００１２】
したがって、本発明は、圧縮された画像データを伸長する画像処理装置において、低コストおよび低消費電力の両立を図りつつ、高速な画像形成動作を実現することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的は、例えば本発明の画像処理装置によって達成される。本発明の一側面に係る画像処理装置は、第１の伸長回路、および、当該第１の伸長回路に比べ伸長速度が低速でかつ消費電力量が小さい第２の伸長回路のいずれかを論理装置に構成可能とし、いずれかの伸長回路として構成された前記論理装置を用いて前記圧縮データを伸長する伸長ユニットと、前記伸長ユニットで伸長された画像データを一時的に蓄積するバッファユニットと、前記バッファユニットに蓄積されている前記画像データ量または前記バッファユニットの空き容量を検知する検知ユニットと、を有し、前記伸長ユニットは、前記検知ユニットによって検知された前記画像データ量または前記空き容量に応じて、前記論理装置に前記第１または第２の伸長回路のいずれかを構成させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、圧縮データを伸長する画像処理装置において、低コストおよび低消費電力の両立を図りつつ、高速な画像形成動作を実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１６】
（第１の実施形態）
図２は、本発明が適用される画像処理装置としてのプリンタの構成を示す図である。
【００１７】
プリンタ２は、外部装置であるホストコンピュータよりデータが入力され、プリント動作を実行する。具体的には、プリンタ２は例えばカラーレーザビームプリンタである。カラーレーザビームプリンタは、ホストコンピュータから供給される圧縮された画像データを受け取る。具体的に、この画像データはイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色ごとのデータである。この画像データを記憶するとともに、圧縮された画像データを伸長し、記録紙上に像を形成する。
【００１８】
なお、本実施形態において使用される圧縮方式は、例えば、直前の隣接する画素や前のラインの画素を参照して、コピーや繰り返しのコマンドをコードに含めることで元の画像データを圧縮していく、いわゆるＳＬＩＭ圧縮等を想定している。しかしながら、本発明が適用可能な圧縮方法は、この圧縮方法に限ったものではない。
【００１９】
２００は各種操作のためのスイッチ及びＬＥＤ表示器などが配置されている操作パネルである。そして、２０１が、操作パネル２００を介して入力された操作情報や、ホストコンピュータから供給された圧縮された画像データや各種のコマンドデータに基づいてプリンタ２全体の制御を司るプリンタ制御ユニット（コントローラ）である。このプリンタ制御ユニット２０１が本発明を実現する。
【００２０】
プリント動作を開始する場合、プリンタ制御ユニット２０１は、圧縮された各色ごとの画像データを伸長する。また、プリンタ２は、給紙カセット２０２或いは手差しトレイ２０３より記録紙を装置内に給送するための給紙動作を開始する。こうして給紙された記録紙は、搬送ユニット２０４に送られ、現像ユニット２０５、２０６、２０７、２０８を順次通過するように搬送される。記録紙の搬送と同期するように、プリンタ制御ユニット２０１で伸長された各色毎の画像データは、所定の画像変換処理が行われた後、レーザスキャナユニット２０９に送られる。
【００２１】
レーザスキャナユニット２０９は、半導体レーザを駆動するためのユニットである。このユニットは、入力された画像データに応じて半導体レーザから発射されるレーザ光のＯＮ/ＯＦＦを切り替える。レーザスキャナユニット２０９に送られた画像データに基づいて、各色に対応する現像ユニット２０５、２０６、２０７、２０８の感光ドラムがレーザスキャンされる。レーザスキャンされた各感光ドラムを対応する色のトナーで現像する。次に、現像されたトナー像は記録紙に転写される。その後、記録紙上に転写されたトナー像は定着ユニット２１０によって熱と圧力を加えることで定着される。その結果、搬送ユニット２０４によって搬送される記録紙上に各色のカラー画像が現像され、排紙トレイ２１１に排出される。
【００２２】
このように本実施形態に係るプリンタ２は、各色ごとに独立して現像を行う構成をとる。このような構成は、１つの感光ドラムと１つのレーザスキャナユニットから構成され、１色ずつ感光ドラムにトナー像を形成し、形成したトナー像を紙または中間転写体に転写する処理を必要色分繰り返すタイプのプリンタに比べて、高速にプリント画像を得ることができるという利点を有している。
【００２３】
なお、以下の説明では、上記した搬送ユニット２０４、現像ユニット２０５、２０６、２０７、２０８、レーザスキャナユニット２０９、定着ユニット２１０を含む機構部を、プリンタエンジン（エンジン部）と総称することにする。
【００２４】
図１は、上記した構成のプリンタ２におけるプリンタ制御ユニット２０１の詳細構成を表すブロック図である。
【００２５】
同図において、１０２がＣＰＵである。ＣＰＵ１０２はＲＯＭ１０４に格納された制御プログラムを実行し、プリンタ２全体の制御を行う。とりわけ、このＣＰＵ１０２は、プリンタエンジンとのコマンド・ステータスのやり取りを、一定の間隔で常に行い、プリンタエンジンの状態を把握すると共に、プリント命令等を送り、プリンタエンジンとのやり取りを行っている。
【００２６】
１０３はＲＡＭである。ＲＡＭ１０３はホストコンピュータ１１７から送られてきた、圧縮された画像データを蓄えておく領域や、ワークメモリとして、ＣＰＵ１０２が各種制御を実行する際に必要な作業領域を提供する。１０４はＲＯＭである。ＲＯＭ１０４はＣＰＵ１０２によって実行される各種プログラム（ファームウェア）を格納している。
【００２７】
ホストインタフェース（HOST Ｉ/Ｆ）１１５は、外部装置であるホストコンピュータ１１７との通信を行うためのインタフェースである。具体的には、インタフェースケーブルを通じて、ホストコンピュータ１１７との制御信号の送受信および、圧縮された画像データの受信等を行う。圧縮された画像データを受信する際には、メモリ制御部１０５と連動して、ＤＭＡ制御により、受信データをＲＡＭ１０３に格納する。
【００２８】
ＣＰＵインタフェース（CPU I/F）１１６は、ＣＰＵ１０２とホストインタフェース１１５やメモリ制御部１０５との接続を司るインタフェースで、不図示の制御レジスタ、データレジスタへのアクセス制御を行う。
【００２９】
メモリ制御部１０５は、ＲＯＭ１０４、ＲＡＭ１０３へのアクセス制御を行うとともに、各ブロック間のデータのＤＭＡ転送や調停を制御するブロックである。
【００３０】
伸長部１０６，１０７，１０８，１０９はそれぞれ、後述のエンジンインタフェースから出力されるリクエストに応答して、メモリ制御部１０５の調停に従い、ＲＡＭ１０３に格納されたＹ、Ｍ、Ｃ、Ｋの圧縮された画像データを受け取って伸長処理を実行する。そして、各伸長部は伸長した画像データをエンジンインタフェース（エンジンＩ／Ｆ）１１０、１１１、１１２、１１３に出力する。
【００３１】
エンジンインタフェース１１０、１１１、１１２、１１３はそれぞれ、入力された同期信号（副走査同期信号、主走査同期信号）により、副走査イネーブル信号と主走査イネーブル信号を生成し、その生成されたイネーブル信号に応じて、対応する伸長部に画像データのリクエストを行う。そして、伸長部から入力された画像データを、出力階調に応じたビデオデータに変換（出力階調に応じて、１ピクセルが１ビット、２ビット、４ビット等に変換される）し、転送クロック（ＣＬＫ）に応じてプリンタエンジン（記録部）１１４に転送する。
【００３２】
本実施形態におけるプリンタ制御ユニット２０１の構成は概ね上記のとおりである。なお、図示のように破線１０１で囲まれたホストインタフェース１１５、ＣＰＵインタフェース１１６、メモリ制御部１０５、伸長部１０６〜１０９、エンジンインタフェース１１０〜１１３は、特定用途向け集積回路（ＡＳＩＣ）で構成されているものとする。
【００３３】
続いて、伸長部１０６〜１０９の詳細な構成について説明する。なお、伸長部１０６〜１０９はそれぞれ同様の構成を有するので、ここでは代表的に伸長部１０６についてのみ説明し、伸長部１０７〜１０９については説明を省略する。
【００３４】
図３は、伸長部１０６の詳細構成を示すブロック図である。図示のように、伸長部１０６は破線で囲まれた領域である。伸長部１０６は、メモリ制御部１０５との通信を行うメモリインタフェース（メモリＩ／Ｆ）３０３、圧縮画像データの伸長を行う伸長ユニット３０２、伸長された画像データを一時記憶するバッファユニット３０４、バッファユニット３０４に記憶されているデータ量を検知する検知ユニット３０５を含む構成である。
【００３５】
ここで、伸長ユニット３０２は好適にはダイナミックリコンフィギュラブルロジックを含んで構成される。ダイナミックリコンフィギュラブルロジック、またはダイナミックリコンフィギュラブルプロセッサと称されるものは動的再構成（再構築）可能な論理装置である。これらは、機能分けされた専用回路ではなく、あらかじめ用意した複数の必要な回路の接続構成と動作設定をソフトウェアによって切り替えることで、専用回路と同等の機能を実現するものである。また、動作中にもそうした切り替えを可能とする特徴をも有するものがある。
【００３６】
一般的に、ダイナミックリコンフィギュラブルロジックは、チップ（論理装置）内に必要な回路を部分的にユニット化したハードウエア要素を予め複数準備する。そして、ユニットの選択や接続順序、動作設定といったパラメータをソフトウェアによって動作中に瞬時に切り替えることにより、処理内容に応じて専用回路をもつチップのように振舞うものである。
【００３７】
こうした思想に基づく技術は、ＦＰＧＡなどに代表されるように従来から存在しているが、ダイナミックリコンフィギュラブルロジックは、集積度の向上や動的な切り替えが実現できる高速性において、ＦＰＧＡよりも優れている。
【００３８】
ＦＰＧＡを構成するコンポーネントはゲートアレイであるため、実行できる処理も予め有する論理ゲート相当の機能となる。これに対してリコンフィギュラブルロジックを構成するユニットは小規模なプロセッサ相当か、プロセッサデータパス内の機能ブロック相当であるのが一般的となっている。そのため、当然ながらＦＰＧＡに比べてリコンフィギュラブルロジックの方が、高度な処理を実現可能である。
【００３９】
なお、本発明を説明するためのいくつかの実施形態では、ダイナミックリコンフィギュラブル技術を採用しているが、ＦＰＧＡであっても類似の機能を実現可能である。
【００４０】
こうしたダイナミックリコンフィギュラブルロジックを用いて、伸長ユニット３０２には、図示のように速度重視の高速伸長回路３０２ａと消費電力重視の低速伸長回路３０２ｂのいずれかとして動作する構成をもたせ、バッファユニット３０４に蓄えられているデータ量に応じて、動的に伸長ユニット３０２を再構成する。即ち、伸長ユニットが高速伸長回路として動作する環境と、低速伸長回路として動作する環境とを１つの論理装置によって実現する。
【００４１】
高速伸長回路３０２ａは、例えば、伸長に時間がかかる圧縮画像データが連続した場合であってもその伸長速度がプリンタエンジン１１４への画像データの供給速度よりも速くなるような高速な動作クロックを使用することで高速な伸長処理を実現する。あるいは、圧縮画像データを伸長する伸長回路をダイナミックリコンフィギュラブルロジック内に複数構成し、これらを用いた並列処理を行わせることで高速な伸長処理を実現するようにしてもよい。
【００４２】
一方の低速伸長回路３０２ｂは、例えば、高速伸長回路３０２ａに比べ低速な動作クロックを使用するもので、これにより伸長速度の点では不利であるものの、低電力消費を実現することができる。
【００４３】
次に、この伸長部１０６の動作概要を説明する。
【００４４】
プリント動作が開始すると、メモリインタフェース３０３は、メモリ制御部１０５に圧縮画像データを要求する。圧縮画像データを要求されたメモリ制御部１０５は、ＲＡＭ１０３に格納されている圧縮画像データを読み出し、メモリインタフェース３０３に転送する。
【００４５】
メモリインタフェース３０３は、転送されてきた圧縮画像データを、伸長ユニット３０２の伸長速度に応じて伸長ユニット３０２に出力する。
【００４６】
伸長ユニット３０２は、受け取った圧縮画像データを伸長してバッファユニット３０４に出力するが、このとき、検知ユニット３０５は常時バッファユニット３０４に蓄積されているデータ量を検知している。伸長ユニット３０２は、このバッファユニット３０４に蓄積されているデータ量に応じて、高速伸長回路３０２ａまたは低速伸長回路３０２ｂとして論理装置の論理構成を切り替えるかを適宜判断し、必要に応じてこの伸長ユニット３０２を切り替えながら圧縮画像データを伸長していく。そしてバッファユニット３０４は、格納されている画像データを、エンジンインタフェース１１０から出力される画像の同期信号に応じて、エンジンインタフェース１１０に出力する。
【００４７】
図４は、本実施形態に係るプリンタ動作時におけるプリンタ制御ユニットの制御処理を示すフローチャートである。このフローチャートに対応するプログラムはＲＯＭ１０４に格納された制御プログラムに含まれ、ＲＡＭ１０３にロードされた後、ＣＰＵ１０２によって実行される。
【００４８】
まず、ホストコンピュータ１１７より、圧縮された画像データがホストインタフェース１１５を介して入力される（ステップＳ４０１）。その入力された圧縮画像データはＲＡＭ１０３に転送される（ステップＳ４０２）。ステップＳ４０３では、１ページ分の各プレーン（色成分）の圧縮画像データ（ＹＭＣＫそれぞれの圧縮画像データ）がＲＡＭ１０３に転送されたかどうかを判定し、１ページ分の転送が完了するまでステップＳ４０２を繰り返す。そして、この１ページ分の転送が完了した時点で次のステップＳ４０４に進む。なお、１ページ分のＲＡＭ１０３への転送が完了する前に画像データがＲＡＭ１０３の容量に達した場合にも、プリントしながらホストコンピュータ１１７からのデータ転送が並列して行なわれるよう、処理はステップＳ４０４に進む。
【００４９】
ステップＳ４０４で、プリントが開始される。プリントが開始されると、ステップＳ４０５で、ＲＡＭ１０３から圧縮画像データの読み出しが行なわれる。
【００５０】
次のステップＳ４０６で、圧縮画像データの伸長が行なわれる。伸長ユニット３０２はデフォルトとして例えば論理装置に低速伸長回路３０２ｂが構成されている。また、圧縮画像データの伸長処理は、エンジンインタフェース１１０の画像データ要求のための同期信号発生よりも早いタイミングでスタートする。このため、バッファユニット３０４に画像データがある程度蓄積された状態でプリンタエンジン１１４への出力が開始される。
【００５１】
プリンタエンジン１１４への出力が開始されると、ステップＳ４０７で、検知ユニット３０５が、バッファユニット３０４の蓄積データ量Ｒを検知する。次に、ステップＳ４０８で、検知したバッファユニット３０４に蓄積されているデータ量Ｒが所定のしきい値Ｔ以上あるかどうかを判断する。ここで、バッファユニット３０４の蓄積データ量Ｒがしきい値Ｔ以上である場合にはステップＳ４０９に進む。ステップＳ４０９では、伸長ユニット３０２が低速伸長回路３０２ｂに構成されているどうかの判断を行う。ここで、伸長ユニット３０２が低速伸長回路３０２ｂとして構成されている場合にはそのままステップＳ４１３に進む。しかし、伸長ユニット３０２が高速伸長回路３０２ａとして構成されている場合には、ステップＳ４１０で伸長ユニット３０２を低速伸長回路３０２ｂに再構成した後に、ステップＳ４１３に進む。これは、バッファユニット３０４の蓄積データ量Ｒがしきい値Ｔ以上であり、プリンタエンジン１１４に転送すべきデータが足りなくなるという事態は生じないと判断し、低速であっても電力消費の点で有利な低速伸長回路３０２ｂを選択したものである。
【００５２】
一方、ステップＳ４０８において、バッファユニット３０４の蓄積データ量Ｒがしきい値Ｔ未満であった場合には、ステップＳ４１１に進み、伸長ユニット３０２が高速伸長回路３０２ｂとして構成されているどうかの判断を行う。ここで、伸長ユニット３０２が高速伸長回路３０２ｂとして構成されている場合にはそのままステップＳ４１３に進む。しかし、伸長ユニット３０２が低速伸長回路３０２ａとして構成されている場合には、ステップＳ４１２で伸長ユニット３０２を高速伸長回路３０２ｂとして再構成した後に、ステップＳ４１３に進む。これは、バッファユニット３０４の蓄積データ量Ｒがしきい値Ｔ未満であり、プリンタエンジン１１４に転送すべきデータが足りなくなる可能性があるため、高速伸長回路３０２ａを選択したものである。
【００５３】
すなわち、圧縮データの伸長処理に時間がかかり、プリンタエンジン１１４に転送すべきデータが足りなくなることによって、プリント速度は低下してしまう。バッファユニット３０４に一定量以上の伸長されたデータが存在していれば、こうした速度低下が発生する可能性は低いため低速伸長回路３０２ｂとして論理装置、即ち伸長ユニットを動作させる。
【００５４】
しかし、バッファユニット３０４に蓄積されている伸長されたデータが、一定量を下回るケースにおいては、プリント速度が低下する可能性が高くなる。そのため、圧縮画像データの伸長処理が低速伸長回路３０２ｂによって実行されている場合は、論理装置を高速伸長回路３０２ａとして実行するように即座に切り替えることで圧縮画像データの伸長処理の速度を高める。これにより、バッファユニット３０４に蓄積される伸長された画像データを一定量以上蓄積するように制御する。こうして、プリント速度が低下する危険性を回避することができる。
【００５５】
伸長ユニットにダイナミックリコンフィギュラブルロジックを用いることで、１ページ分の画像データの伸長処理の途中であっても、これらのユニット切り替えを１クロックから数クロックほどのごく短時間で実行することができる。
【００５６】
ステップＳ４１３では、１ページ分の画像データの伸長を終えたか否かの判断を行い、終了していなければＳ４０５に戻って処理を繰り返す。こうして、１ページ分の画像データの処理を終了すると、本処理を終了する。
【００５７】
このように、本実施形態では、消費電力は大きいものの高速な伸長を行うことのできる高速伸長回路３０２ａと、伸長速度は低速であるものの消費電力の点で有利な低速伸長回路３０２ｂとを、ダイナミックリコンフィギュラブルロジックの動的な再構成機能を用いて、バッファユニット３０４に蓄積されている画像データの量に応じて切り換えるようにした。このようなダイナミックリコンフィギュラブルロジックによる構成は、高速なプリント動作が可能である。また、このような構成は回路規模を増やすことなく実現できる。また、伸長した画像データを一時記憶するバッファメモリの容量を不必要に増大させることなく、最適化することができる。これらにより低コスト化を実現することができる。加えて、バッファユニット３０４における蓄積データ量に応じて消費電力重視の伸長ユニットが使用されるため、低消費電力を実現することもできる。
【００５８】
図５は、図３に示した伸長部の変形例を示している。図３における検知ユニット３０５は、バッファユニット３０４の蓄積データ量を検知するものであったが、図５に示した検知ユニット５０５は、バッファユニット３０４の蓄積データ量の検知に加え、メモリインタフェース３０３から次に伸長される圧縮画像データを入力してこの圧縮画像データの伸長に要する時間を予測するように構成される。
【００５９】
この構成をして、上記したステップＳ４０７では、バッファユニット３０４の蓄積データ量Ｒを検知するとともに、次に伸長される圧縮画像データの伸長に要する時間を予測する。そして、ステップＳ４０８で、蓄積データ量Ｒが所定値未満で、かつ、次の圧縮画像データの伸長に要する時間が所定時間を超えると見込まれる場合には、高速伸長回路３０２ａとして論理装置を構成するようにする。このように、次に伸長される圧縮画像データをも参酌すれば、より高精度に低速伸長回路と高速伸長回路との選択を行うことができる。
【００６０】
なお、上述した実施形態では、バッファユニットの蓄積データ量を検知し、蓄積データ量がしきい値よりも多いか少ないかで、伸長ユニットの再構成を行うとしているが、蓄積データ量ではなく、バッファユニットの空き容量を検知する構成であっても、同様の制御が可能である。
【００６１】
また、検知ユニットはバッファユニット３０４の蓄積データ量Ｒがしきい値Ｔよりも多いか少ないかにより、伸長ユニットの再構成を随時行うものとしているが、しきい値を複数レベルで設けるようにしてもよい。
【００６２】
例えば、バッファユニット３０４の蓄積データ量Ｒがしきい値Ｔ１（ここでは、説明の便宜上、上述したしきい値ＴをＴ１とする）未満となった場合、伸長ユニットの論理装置が低速伸長回路３０２ｂとして構成されていると判断すると、動的に高速伸長回路３０２ａとして構成することになる。これにより、画像データの伸長速度が向上して、バッファユニット３０４に蓄積される伸長されたデータ量も増加し、蓄積データ量Ｒがしきい値Ｔ１以上となるが、この時点ですぐ低速伸長回路３０２ｂに再構成すると、圧縮データのコードやプリンタ速度によっては、直後に再び蓄積データ量Ｒがしきい値Ｔ１を下回る可能性が高い。
【００６３】
そこで、しきい値Ｔ１よりも高いレベルに第２のしきい値Ｔ２（Ｔ１＜Ｔ２）を設けた構成を採用する。この場合、しきい値Ｔ１未満となって論理装置を高速伸長回路３０２ａとして構成したことにより、伸長能力が向上し、蓄積データ量Ｒがしきい値Ｔ１以上となる。しかし、この段階では論理装置を低速伸長回路３０２ｂとして再構成しない。その後、さらに蓄積データ量が増加してしきい値Ｔ２に達した時点で、高速伸長回路３０２ａから低速伸長回路３０２ｂに切り替えるようにする。
【００６４】
こうした構成を採用することにより、圧縮データによって回路切り替えが頻発するケースを防止することができる。これにより、ユニット切り替え自体の消費電力を抑制することができる。
【００６５】
当然ながら、蓄積データ量ではなく、バッファユニット３０４の空き容量を検知する構成の場合、空き容量におけるＴ１とＴ２の関係は逆（Ｔ１＞Ｔ２）となる。
【００６６】
（第２の実施形態）
上述の第１の実施形態におけるプリンタ制御ユニット２０１は、図１に示したように、Ｙ、Ｍ、Ｃ、Ｋの各色ごとに伸長部１０６〜１０９を備える構成であった。
【００６７】
ところが近年は、プリンタの小型化に対応するために、伸長部は１つだけとし、これに全色の画像データの伸長処理を行わせるものが出現している。この場合、各色ごとの伸長処理は時分割で行われることになる。
【００６８】
しかし、１つの伸長部に各色ごとの伸長処理を時分割で行わせる構成をとると、伸長に時間のかかる圧縮コードが特定の色に集中した場合には、その特定の色のみの出力が間に合わず（いわゆるオーバーランの発生）、所望の画像を出力できない場合があるという問題を生じる。オーバーランが発生した場合、プリンタは画像データの解像度を低下させるか、プリント速度を低下させることで画像の出力を継続しようと動作するが、いずれにしても所望の出力物が得られない、または所望の出力スループットが得られない、という問題が残る。
【００６９】
本実施形態は、このような問題を解決するものである。
【００７０】
本実施形態におけるプリンタの構成は図２に示した構成と同様であるので、本実施形態ではこの図２を援用する。また、本実施形態におけるプリンタ制御ユニット２０１の構成は概ね図１の構成と同様である。しかし、本実施形態では、伸長部１０６〜１０９に代えて、図６に示すような１つの伸長部６００が使用される。これ以外の同じ機能の構成要素については同一の参照番号を使用して説明する。
【００７１】
図６において、６０１，６０２，６０３，６０４はそれぞれ、Ｙ、Ｍ、Ｃ、Ｋの圧縮画像データをメモリ制御部１０５より受け取るためのメモリインタフェース（メモリＩ/Ｆ）である。各メモリＩ/Ｆは、担当する色の圧縮画像データをメモリ制御部１０５に対して要求する。
【００７２】
要求を受けたメモリ制御部１０５は、要求された色の圧縮画像データを、ＲＡＭ１０３から取り出して、要求のあったメモリＩ/Ｆに送信する。
【００７３】
６０５は伸長すべき圧縮画像データを選択するセレクタユニット、６０６はセレクタユニット６０５によって選択された圧縮画像データの伸長を行う伸長ユニット、３０７は各色ごとに用意されたバッファユニット６０９〜６１２の中から出力先とするバッファユニットを選択するセレクタユニットである。
【００７４】
ここで、伸長ユニット６０６は、ダイナミックリコンフィギュラブルロジックで構成されている。ダイナミックリコンフィギュラブルロジックの特徴については第１の実施形態において説明したので、ここでの説明は割愛する。なお、この伸長ユニット６０６は、各色特有の圧縮方式や各種パラメータの違いによる伸長方式の違いに応じた伸長ユニットの変更を可能にしている。
【００７５】
また、検知ユニット６０８は、バッファユニット６０９〜６１２にそれぞれ蓄積されている伸長された画像データの量を検知する。それと共に、セレクタユニット６０５、６０７に対する選択信号、及び伸長ユニット３０６の構成を変更させるための信号を管理している。
【００７６】
図７は、本実施形態に係るプリンタ動作時におけるプリンタ制御ユニットの制御処理を示すフローチャートである。このフローチャートに対応するプログラムはＲＯＭ１０４に格納された制御プログラムに含まれ、ＲＡＭ１０３にロードされた後、ＣＰＵ１０２によって実行される。
【００７７】
まず、ホストコンピュータ１１７より、圧縮された画像データがホストインタフェース１１５を介して入力される（ステップＳ７０１）。その入力された圧縮画像データはＲＡＭ１０３に転送される（ステップＳ７０２）。ステップＳ７０３では、１ページ分の各プレーン（色成分）の圧縮画像データ（ＹＭＣＫそれぞれの圧縮画像データ）がＲＡＭ１０３に転送されたかどうかを判定し、１ページ分の転送が完了するまでステップＳ７０２を繰り返す。そして、この１ページ分の転送が完了した時点で次のステップＳ７０４に進む。なお、１ページ分のＲＡＭ１０３への転送が完了する前に画像データがＲＡＭ１０３の容量に達した場合にも、プリントしながらホストコンピュータ１１７からのデータ転送が並列して行なわれるよう、処理はステップＳ７０４に進む。
【００７８】
ステップＳ７０４で、プリントが開始される。プリントが開始されると、ステップＳ７０５で、ＲＡＭ１０３から圧縮画像データの読み出しが行なわれる。
【００７９】
次のステップＳ７０６で、圧縮画像データの伸長が、各色ごとに時分割で行なわれる。このとき、圧縮画像データの伸長処理は、エンジンインタフェース１１０の画像データ要求のための同期信号発生よりも早いタイミングでスタートする。このため、バッファユニット６０９〜６１２に画像データがある程度蓄積された状態でプリンタエンジン１１４への出力が開始される。
【００８０】
ここで、最初に伸長を行なう時分割の時間の割合は、予め定められている。
【００８１】
プリンタエンジン１１４への出力が開始されると、ステップＳ７０７で、検知ユニット６０８が、バッファユニット３０９〜３１２それぞれの蓄積データ量Ｒｙ、Ｒｍ、Ｒｃ、Ｒｋを検知する。次に、ステップＳ７０８で、１ページ分の伸長処理が完了した色があるか否かを判定する。ここで１ページ分の伸長処理が完了した色がある場合には、ステップＳ７１１に進み、１ページ分の伸長処理が完了した色がまだない場合にはステップＳ７０９に進む。
【００８２】
１ページ分の伸長処理が完了した色がまだない場合に実行されるステップＳ７０９では、上記ステップＳ７０７で検知ユニット６０８により検出されたバッファユニット３０９〜３１２の蓄積データ量Ｒｙ、Ｒｍ、Ｒｃ、Ｒｋが全て、所定のしきい値Ｔ以上であるか否かを判断する。ここで、バッファユニット３０９〜３１２の蓄積データ量Ｒｙ、Ｒｍ、Ｒｃ、Ｒｋが全て、所定のしきい値Ｔ以上である場合には、各色とも順調に伸長処理が行われていると判断して、ステップＳ７０５に戻って次の圧縮画像データについて処理を繰り返す。
【００８３】
一方、ステップＳ７０９において、バッファユニット３０９〜３１２の蓄積データ量Ｒｙ、Ｒｍ、Ｒｃ、Ｒｋのうちのいずれかが所定のしきい値Ｔに満たないと判断された場合には、ステップＳ７１０に進む。
【００８４】
このステップＳ７１０ではまず、セレクタユニット６０５、６０７及び伸長ユニット６０６に割り込み処理を実行する。次いで、セレクタユニット６０５に、蓄積データ量がＴに満たない色の圧縮画像データを伸長すべきデータとして選択させる。その後、伸長ユニット３０６を、その色の圧縮画像データを伸長するための回路に変更（再構成）し、時分割処理の途中に挿入する。
【００８５】
このような割り込み処理によって伸長された画像データは、セレクタユニット６０７を介して該当する色のバッファユニットに出力される。このとき、検知ユニット６０８によって検知されるそのバッファユニットのデータ量が監視されており、そのデータ量がしきい値Ｔを超えた時点で、処理はステップＳ７０５に戻り、通常動作となる。
【００８６】
ステップＳ７０８において１ページ分の伸長処理が完了した色があると判定された場合はステップＳ７１１に進む。このステップＳ７１１では、全色について１ページ分の伸長処理が終了したか否かを判断する。ここで、全色終了していなければ、ステップＳ７１２に移行する。ステップＳ３１２では、ステップＳ７０６における時分割処理の時間配分が、１ページ分の伸長処理が終了した色の伸長処理が除かれる時間配分となるよう、伸長ユニット３０６を再構成する。一方、Ｓ７１１で全色について１ページ分の伸長処理が終了したと判断された場合には、本処理を終了する。
【００８７】
このように、本実施形態では、各色ごとの伸長処理を時分割で行う伸長ユニット３０６が、ダイナミックリコンフィギュラブルロジックで構成される。そして、各色ごとのバッファに蓄積されている伸長された画像データのデータ量を監視して、途中でいずれかのバッファのデータ量が所定のしきい値に満たない状態になったときは、そのバッファのデータ量がそのしきい値を超えるまで、そのバッファに係る色の圧縮画像データを優先的に伸長するための回路に再構成される。
【００８８】
さらには、全色について１ページ分の伸長処理が終了するまでの間は、いずれかの色について１ページ分の伸長処理が終了する度に、時分割処理の時間配分がその色の伸長処理が除かれる時間配分となるよう、伸長ユニット３０６が再構成される。
【００８９】
このような処理により、特定色のオーバーランが防止され、装置のパフォーマンス低下を防止することができる。
【００９０】
以上説明した第２の実施形態では、バッファに蓄積されたデータ量を検知しているが、バッファの空き容量を検知する構成でも同様の制御が可能である。
【００９１】
なお、以上２つの実施形態では、検知ユニットで検知されたデータ量に応じて、伸長ユニットとしての論理回路を動的に切り替える構成として説明した。しかしながら、検知ユニットで検知されたデータ量に応じて、伸長ユニットに対して切り替えのための制御信号を発行する制御ユニットを別に設ける構成も採用可能である。
【００９２】
（その他の実施形態）
上述の実施形態では、圧縮された画像データを受信して、これを伸長しながら画像形成を行う画像形成装置を前提に、本発明を説明した。しかし本発明は、圧縮した画像データではなく、特定の制御コードで構成された画像データを受信して、これを展開しながら画像形成を行う画像形成装置に対しても同様に適用することが可能である。
【００９３】
これについては、上述の実施形態において、「圧縮された画像データ」を「特定の制御コードで構成された画像データ」に、「伸長」を「展開」にそれぞれ置き換えれば、当業者には容易に理解できるであろう。
【図面の簡単な説明】
【００９４】
【図１】第１の実施形態におけるプリンタ制御ユニットの構成を示すブロック図である。
【図２】第１の実施形態に係るプリンタの構成を示す図である。
【図３】第１の実施形態に係る伸長部の構成を示すブロック図である。
【図４】第１の実施形態に係るプリンタ動作時におけるプリンタ制御ユニットの制御処理を示すフローチャートである。
【図５】第１の実施形態に係る伸長部の構成の変形例を示すブロック図である。
【図６】第２の実施形態における伸長部の構成を示すブロック図である。
【図７】第２の実施形態に係るプリンタ動作時におけるプリンタ制御ユニットの制御処理を示すフローチャートである。
【図１】
2006050444.tif 000003
【図２】
2006050444.tif 000004
【図３】
2006050444.tif 000005
【図４】
2006050444.tif 000006
【図５】
2006050444.tif 000007
【図６】
2006050444.tif 000008
【図７】
2006050444.tif 000009