JP2020116803A - 画像処理装置及び該画像処理装置を備えた画像形成装置 - Google Patents
画像処理装置及び該画像処理装置を備えた画像形成装置 Download PDFInfo
- Publication number
- JP2020116803A JP2020116803A JP2019008793A JP2019008793A JP2020116803A JP 2020116803 A JP2020116803 A JP 2020116803A JP 2019008793 A JP2019008793 A JP 2019008793A JP 2019008793 A JP2019008793 A JP 2019008793A JP 2020116803 A JP2020116803 A JP 2020116803A
- Authority
- JP
- Japan
- Prior art keywords
- compression
- image processing
- area
- capacity
- processing area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】RAMのサイズが制限された画像処理装置において、圧縮・伸長プロセッサーによる圧縮効率が悪いプリントデータに対して、画像処理用領域を拡張したとしてもプログラム処理用領域が不足しないようにする。【解決手段】CPUは、圧縮・伸張プロセッサーによる圧縮処理の開始後、ビットマップデータの所定のバンドの圧縮処理が終了したときに、現時点までに圧縮処理が完了している各バンドの圧縮率の平均値又は当該バンドの圧縮率を判定用圧縮率として取得する圧縮率取得処理(ステップS104の処理)と、取得した判定用圧縮率が所定閾値以上であると判定した場合に、画像処理用領域の容量を所定量だけ拡張し、且つ、プログラム処理用領域の少なくとも一部にメモリ圧縮を実行することで該プログラム処理用領域の容量を上記画像処理用領域の拡張量と同量だけ縮小する領域最適化処理(ステップS112の処理)とを実行する。【選択図】図8
Description
本発明は、画像処理装置及び該画像処理装置を備えた画像形成装置
従来より、RAMの容量を低減するために、ラスタライズ後のビットマップデータをバンド毎に圧縮してRAMに格納するようにした画像処理装置は知られている(例えば、特許文献1参照)。
この画像処理装置は、プリントデータのPDL(Page description Language)を解析して中間データであるディスプレイリストを生成し、生成したディスプレイリストをRIP(Raster Image Processor)を用いてバンド毎にビットマップデータ化し、このビットマップデータを圧縮・伸長プロセッサーによってバンド毎に圧縮してRAMに格納する。そして、プリントエンジンコントローラーが、RAM内に格納されたビットマップデータを呼出してRIPにより伸長した後に、該伸長したビットマップデータをバンド毎にプリントエンジンに送信する。圧縮・伸長プロセッサーには例えばASICが使用されている。
ところで、上述の画像処理装置では、RAM内の記憶領域を、画像処理に使用する画像処理用領域と、プログラム処理に使用するプログラム処理用領域とに分ける必要がある。
しかし、画像データの内容によっては、圧縮・伸長プロセッサーによる圧縮効率が悪くなって画像処理用領域の容量が不足するという問題がある。
この問題に対して、圧縮・伸長プロセッサーの圧縮効率を上げて圧縮処理を実施することも考えられる。しかしこの場合、ビットマップデータの圧縮伸長時のパフォーマンスが低下するという問題がある。
この問題に対して、プログラム処理用領域を縮小して、その縮小分だけ画像処理用領域を拡張することが考えられる。しかし、単に、プログラム処理用領域の縮小分を画像処理用領域の拡張分に当てただけでは、プログラム処理用領域が不足して画像処理装置が動作エラーで停止する虞がある。
また、RAMの全体記録容量を増大させることも考えられるが、この場合コストが著しく増加してしまう。したがって、コスト抑制の観点から、RAMのサイズは所定サイズに制限する必要がある。
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、RAMのサイズが制限された画像処理装置において、圧縮・伸長プロセッサーによる圧縮効率が悪い画像データを使用した場合に、画像処理用領域を十分に拡張しつつ、該拡張に起因するプログラム処理用領域の不足を防止することにある。
本発明の一局面に係る画像処理装置は、CPUと、該CPUに接続されて画像処理用領域及びプログラム処理用領域を有するRAMと、ビットマップデータをバンド毎に圧縮して上記画像処理用領域に格納させる圧縮・伸長プロセッサーと、上記CPUに接続され、画像処理用領域内に格納されたビットマップデータを圧縮・伸張プロセッサーによってバンド毎に伸張して所定機器に送信する送信部とを備えている。
そして、上記CPUは、上記圧縮・伸張プロセッサーによる圧縮処理の開始後、上記ビットマップデータの所定のバンドの圧縮処理が終了したときに、現時点までに圧縮処理が完了している各バンドの圧縮率の平均値又は上記所定のバンドの圧縮率を判定用圧縮率として取得する圧縮率取得処理と、上記取得した判定用圧縮率が所定閾値未満であるか否かを判定して、該所定閾値未満であると判定した場合には、上記画像処理用領域の容量及びプログラム処理用領域の容量をそれぞれ現時点の容量に維持する一方、上記所定閾値以上であると判定した場合には、上記画像処理用領域の容量を所定量だけ拡張し、且つ、上記プログラム処理用領域の少なくとも一部にメモリ圧縮を実行することで該プログラム処理用領域の容量を上記画像処理用領域の拡張量と同量だけ縮小する領域最適化処理と、を実行するように構成されている。
本発明の他の局面に係る画像形成装置は、上記画像処理装置を備えている
本発明によれば、RAMのサイズが制限された画像処理装置において、圧縮・伸長プロセッサーによる圧縮効率が悪い画像データを使用した場合に、画像処理用領域を十分に拡張しつつ、該拡張に起因するプログラム処理用領域の不足を防止することにある。
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、本発明は、以下の実施形態に限定されるものではない。
《実施形態1》
図1は、画像処理装置10の一例を含む画像形成装置100のハードウェア構成を示すブロック図である。
この画像形成装置100では、CPU11、ROM12、RAM13、HDD14、ラスタイメージプロセッサ(以下、RIPという)15、圧縮・伸長プロセッサー16、通信インターフェース17、操作部インターフェース18、エンジンコントローラー19、及びスキャナコントローラー20を備えている。これらの機器はバス線30を介して相互に接続されている。操作部インターフェース18は操作部21に接続され、エンジンコントローラー19はプリントエンジン22に接続され、スキャナコントローラー20はスキャナ23に接続されている。
図1は、画像処理装置10の一例を含む画像形成装置100のハードウェア構成を示すブロック図である。
この画像形成装置100では、CPU11、ROM12、RAM13、HDD14、ラスタイメージプロセッサ(以下、RIPという)15、圧縮・伸長プロセッサー16、通信インターフェース17、操作部インターフェース18、エンジンコントローラー19、及びスキャナコントローラー20を備えている。これらの機器はバス線30を介して相互に接続されている。操作部インターフェース18は操作部21に接続され、エンジンコントローラー19はプリントエンジン22に接続され、スキャナコントローラー20はスキャナ23に接続されている。
CPU11は、ROM12又はHDD14に記憶されたプログラムをRAM13に読み出して実行する。さらに、バス線30に接続される各デバイスをCPU11が統括的に制御する。ROM12には電源ON時に実行されるブートプログラムが格納され、HDD14にはオペレーティングシステム等が格納されている。
通信インターフェース17は、パソコン等の外部端末31からプリントデータを受信する。
操作部インターフェース18は、操作部21とのインターフェース部であって、操作部21に表示する画像データを操作部21に対して出力する。また、操作部インターフェース18は、操作部21からのユーザーの入力情報を、CPU11に伝える役割をする。操作部21、例えば液晶式のタッチパネル等により構成される。
プリントエンジン22は、エンジンコトローラーからの画像信号を記録媒体上に出力する出力機であり、電子写真方式、インクジェット方式の何れでもよい。
圧縮・伸長プロセッサー16とRIP15とは画像処理関連のデバイスである。
圧縮・伸長プロセッサー16は、例えばASIC(Application Specific Integrated Circuit)で構成されている。圧縮・伸長プロセッサー16は、DMAC(Direct Memory Access Controller)とを備え、RAM13内のデータを該圧縮・伸長プロセッサー16に転送させて、圧縮又は伸長を行い、その結果をRAM13又はエンジンコントローラー19へDMAで転送させる。
圧縮・伸長プロセッサー16は、例えばASIC(Application Specific Integrated Circuit)で構成されている。圧縮・伸長プロセッサー16は、DMAC(Direct Memory Access Controller)とを備え、RAM13内のデータを該圧縮・伸長プロセッサー16に転送させて、圧縮又は伸長を行い、その結果をRAM13又はエンジンコントローラー19へDMAで転送させる。
RIP19は、ページ記述言語(PDL)コードやディスプレイリストをビットマープデータに変換する専用ハードウェアである。
[RAM13の構成]
図2に示すように、RAM13内の記憶領域は、処理領域1と、データ保存領域2とを有している。
図2に示すように、RAM13内の記憶領域は、処理領域1と、データ保存領域2とを有している。
処理領域1は、例えばOSとハードウェアとの間の各種のプログラム処理を実行するためのプログラム処理用領域1aと、プリントデータを画像処理するための画像処理用領域1bとからなる。この画像処理用領域1bには、プリントデータの中間コードであるディスプレイデータや、バンド毎に圧縮されたビットマップデータ等を一時的に格納する。
プログラム処理用領域1aは、プログラムの実行に必要な設定情報や変数を一時的に格納する。データ保存領域は、スキャナ23により取り込んだデータや、外部端末31から受信したプリントデータ等を一時的に格納する。
データ保存領域2は、画像処理の対象となる元画像データ(プリントデータやスキャンデータ)が保存される。具体的には、データ保存領域2は、スキャンデータ保存領域2aとプリントデータ保存領域2bとを含んでいる。スキャンデータ保存領域2aには、スキャナ23から受信した画像データ(スキャナデータ)が一時的に保される。プリントデータ保存領域2bには、外部端末31から受信したプリントデータが一時的に保存される。このようなデータ保存領域2を設けることによって、例えば印刷処理の実行中にスキャン処理を実行するといったマルチタスク処理が可能となる。
[画像生成処理の説明]
次に、図3のフローチャートを参照して画像生成処理の概要を説明する。この画像生成処理は、CPU11がROM内に記憶されたジョブ制御プログラムを実行することにより実現される。
次に、図3のフローチャートを参照して画像生成処理の概要を説明する。この画像生成処理は、CPU11がROM内に記憶されたジョブ制御プログラムを実行することにより実現される。
先ずステップS1では、未処理の頁が存在しないか否かを判定し、この判定がNOである場合にはステップS5に進む一方、YESである場合にはステップS2に
進む。
先ず、ステップS2では、プリントデータのPDL(Page description Language)を解析してバンド毎に中間データであるディスプレイリストを生成し、生成したディスプリリストをRAM13の画像処理用領域1bに一時的に保持する。図4は、このバンドDkのイメージを示す図である。バンドDkは、プリントデータを縦方向に複数に分割した領域であって、この例ではバンド数は28個とされているが、これに限ったものではない。
進む。
先ず、ステップS2では、プリントデータのPDL(Page description Language)を解析してバンド毎に中間データであるディスプレイリストを生成し、生成したディスプリリストをRAM13の画像処理用領域1bに一時的に保持する。図4は、このバンドDkのイメージを示す図である。バンドDkは、プリントデータを縦方向に複数に分割した領域であって、この例ではバンド数は28個とされているが、これに限ったものではない。
次に、ステップS3において、RIP15に対してディスプレイリストをラスタライズ処理してビットマープデータ化するように指示する。
次にステップS4において、生成されたビットマープデータを、圧縮・伸長プロセッサー16によってバンド毎に圧縮してRAM13の画像処理用領域1bに一時的に格納し、その後ステップS1に戻る。
S1において、未処理のページが存在しない場合は、S5に進む。S5では、エンジンコントローラー(送信部)19に対して、ビットマープデータをプリントエンジン(
所定機器)22に送信するように指示する。エンジンコントローラー19は、プリントエンジン22と同期を取りながらビットマープデータを送信する。また,エンジンコントローラー19は、ビットマップデータをプリントエンジン22に送信する前に、圧縮・伸長プロセッサー16によってビットマープデータの伸張処理を行う。エンジンコントローラー19は、プリントエンジン22への送信が終了したビットマープデータをRAM13の画像処理用領域1bから削除する。
所定機器)22に送信するように指示する。エンジンコントローラー19は、プリントエンジン22と同期を取りながらビットマープデータを送信する。また,エンジンコントローラー19は、ビットマップデータをプリントエンジン22に送信する前に、圧縮・伸長プロセッサー16によってビットマープデータの伸張処理を行う。エンジンコントローラー19は、プリントエンジン22への送信が終了したビットマープデータをRAM13の画像処理用領域1bから削除する。
[RAM13の領域最適化処理について]
CPU11は、上記ステップS3の処理の実行時に、圧縮・伸長プロセッサー16によるビットマープデータの圧縮率(=圧縮後の容量/圧縮前の容量)の平均値を算出して、この平均圧縮率(判定用圧縮率に相当)が所定閾値T以上である場合(つまり圧縮効率が悪い場合)には領域最適化処理を実行する。
CPU11は、上記ステップS3の処理の実行時に、圧縮・伸長プロセッサー16によるビットマープデータの圧縮率(=圧縮後の容量/圧縮前の容量)の平均値を算出して、この平均圧縮率(判定用圧縮率に相当)が所定閾値T以上である場合(つまり圧縮効率が悪い場合)には領域最適化処理を実行する。
図5は、この領域最適化処理の実行イメージを示す図であり、上段が当該処理の実行前のRAM13の領域状態を示し、下段が当該処理を実行した場合のRAM13の領域状態を示している。
同図に示すように、この領域最適化処理が実行されることにより、画像処理用領域1bが拡張して、プログラム処理用領域1aがこの拡張分と同量だけ縮小している。
ここで、単にプログラム処理用領域1aを縮小したとすると、プログラム処理用領域1aが不足して画像形成装置100の動作に必要なプログラムが実行できなくなり、画像形成装置100がエラー停止する虞がある。
そこで、本実施形態では、プログラム処理用領域1aを単に縮小するのではなく、プログラム処理用領域1aの少なくとも一部をメモリ圧縮することによって、プログラム処理用領域1aにおける使用可能容量をそのままに維持しつつ、プログラム処理用領域1aの全体容量を縮小するようにしている。このメモリ圧縮の一例として、LINUX(登録商標)のZRAMと呼ばれる方式等が知られている。
[メモリ圧縮の説明]
図6は、メモリ圧縮を説明するためのイメージ図であり、上段はRAMの圧縮前の状態を示す、下段はRAMの圧縮後の状態を示している。
図6は、メモリ圧縮を説明するためのイメージ図であり、上段はRAMの圧縮前の状態を示す、下段はRAMの圧縮後の状態を示している。
先ず上段を参照して、メモリ圧縮に際しては、RAM内にスワップ領域101を設ける。このスワップ領域101以外の領域102には、データA〜データCが記憶されている。
これらのデータA〜Cは、例えばオペレーティングシステムや、アプリケーション等により参照されるデータである。
そして、この図の例では、長時間アクセスされていないデータAをスワップ対象として選択する。メモリ不足時には、スワップ対象であるデータAを圧縮してスワップ領域101にスワップアウトさせる(図6の下段参照)。スワップアウトされたデータAは、圧縮されているため、メモリを効率的に使用することができる。データAをスワップアウトした後のメモリ領域を解放することで、RAMの使用可能な領域を維持しつつ全体容量が縮小される。
これらのデータA〜Cは、例えばオペレーティングシステムや、アプリケーション等により参照されるデータである。
そして、この図の例では、長時間アクセスされていないデータAをスワップ対象として選択する。メモリ不足時には、スワップ対象であるデータAを圧縮してスワップ領域101にスワップアウトさせる(図6の下段参照)。スワップアウトされたデータAは、圧縮されているため、メモリを効率的に使用することができる。データAをスワップアウトした後のメモリ領域を解放することで、RAMの使用可能な領域を維持しつつ全体容量が縮小される。
ここで、メモリ圧縮前のRAMの容量をXとし、メモリ圧縮後のRAMの容量をYとしたとき、メモリ圧縮時の圧縮率εは、次式(1)で定義される。
ε=Y/X ・・・・・・・・式(1)
ε=Y/X ・・・・・・・・式(1)
[領域最適化処理時の圧縮領域の容量算出方法]
この圧縮率εを用いて、上記領域最適化処理の実行時にプログラム処理用領域1a内にて圧縮対象となる領域の容量を算出することができる。
この圧縮率εを用いて、上記領域最適化処理の実行時にプログラム処理用領域1a内にて圧縮対象となる領域の容量を算出することができる。
図7は、図5の二点鎖線で囲んだ部分を拡大した図であり、図中の斜線部分が圧縮対象の領域である。C1は、領域最適化処理が実行される前のプログラム処理用領域1aの容量であり、Xは、そのうち圧縮対象となる領域の容量である。C2は、領域最適化処理が実行された後のプログラム処理用領域1aの容量であり、εXは、圧縮領域の容量(上記Xに圧縮率εを掛け合わせた値)である。この図にしたがって、メモリの容量に着目して等式を立てると次式(2)が成立する。
(C1−X)+εX=C2 ・・・・・・・式(2)
式(2)をXについて解くと次式(3)となる。
X=(C1−C2)/(1−ε)・・・・・・・式(3)
式(2)をXについて解くと次式(3)となる。
X=(C1−C2)/(1−ε)・・・・・・・式(3)
ここで、圧縮率εは圧縮・伸長プロセッサー16の性能によって決まる定数であり、C1は既知であり、C2は、必要とされる画像処理用領域1bの容量から逆算して求めることができる。よって、これらC1,C2,及びεを式(3)に代入することで、領域最適化処理の実行時にプログラム処理用領域1a内において圧縮対象とするべき領域の容量Xが算出される。
[圧縮率取得処及び領域最適化処理のフローチャート]
次に、図8のフローチャートを参照して、圧縮率取得処及びRAM13の領域最適化処理の詳細を説明する。このフローチャートの処理は、CPU11がROM12内に記憶された所定プログラムを実行することによりソフトウェアとハードウェアとの協働により実現される。
次に、図8のフローチャートを参照して、圧縮率取得処及びRAM13の領域最適化処理の詳細を説明する。このフローチャートの処理は、CPU11がROM12内に記憶された所定プログラムを実行することによりソフトウェアとハードウェアとの協働により実現される。
ステップS101では、頁数j=1に設定する。
ステップS102では、バンド数k=1に設定する。
ステップS103では、頁数jのバンド数kについて、ビットマップデータ(ラスターイメージ)の圧縮処理が完了したか否かを判定し、この判定がNOである場合には本ステップS103の処理を再度実行する一方、この判定がYESである場合にはステップS104に進む。
ステップS104では、現時点までに圧縮処理が完了したビットマップデータの各バンドの圧縮率を合計した値を、圧縮が完了したバンドの総数で除した値を平均圧縮率(判定用圧縮率)として算出する。ここで、各バンドの圧縮率は、圧縮・伸長プロセッサー16に入力された圧縮前のデータの容量をMbefore、圧縮後のデータ容量をMafterとしたとき、Mafter/Mbeforeと表される。尚、この定義によれば圧縮率が大きいほど(1に近いほど)「圧縮効率」が悪いことを意味し、圧縮率が小さいほど「圧縮効率」が高いことを意味する。
ステップS105では、ステップS104で算出した平均圧縮率が予め設定した所定閾値T未満であるか否か(つまり圧縮効率が許容レベル以上である否かを)を判定し、この判定がNOである場合には、ステップS110に進む一方、YESである場合にはステップS106に進む。
ステップS106では、バンド数kがバンドの最終行であるか否かを判定し、この判定がNOである場合には、ステップS107に進んでバンド数kを一つ増加させた後、ステップS103に戻る。一方、この判定がYESである場合にはステップS108に進む。
ステップS108では、頁数jが印刷ジョブに含まれるプリントデータの最終頁であるか否かを判定して、この判定がNOである場合にはステップS109に進んで頁数jを一つ増加させた後、ステップS102に戻る。一方、この判定がYESである場合にはリーターンする。
ステップS105の判定がNOである場合に進むステップS110では、平均圧縮率が上記所定閾値T以上である、つまり圧縮効率が許容レベルを下回っていると判断して、必要な画像処理用領域1bの拡張量を算出する。この拡張量は、圧縮・伸長プロセッサー16の圧縮率が現時点の値で持続した場合に、画像処理用領域1bが不足しないようにプリントデータの頁数やサイズによって決定される。
ステップS111では、ステップS110で決定した圧縮処理領域の拡張量と同じ量を、プログラム処理用領域1aの縮小量として決定する。
ステップS112では、上述した式(3)を用いてプログラム処理用領域1aの一部又は全部をメモリ圧縮して、プログラム処理用領域1aをステップS111で決定した量だけ縮小させる。本ステップS112の処理が終了した後は、処理を終了する。
[実施形態1の作用効果]
以上説明したように、本実施形態の画像形成装置100において、CPU11は、圧縮・伸長プロセッサー16による圧縮処理の開始後、ビットマップデータの各バンド(所定のハンド)の圧縮処理が終了したときに、現時点までに圧縮処理が完了している各バンドの圧縮率の平均値(平均圧縮率)を算出する(ステップS104)。そして、CPU11は、算出した平均圧縮率が所定閾値T未満であるか否かを判定して、該所定閾値T未満であると判定した場合(ステップS105の判定がYESである場合)、上記画像処理用領域1bの容量及びプログラム処理用領域1aの容量をそれぞれ現時点の容量に維持する。一方、CPU11は、算出した平均圧縮率が上記所定閾値T以上であると判定した場合には(ステップS105の判定がNOである場合には)、画像処理用領域1bの容量を拡張し、且つ、プログラム処理用領域1aにメモリ圧縮を実行して、該プログラム処理用領域1aの容量を画像処理用領域1bの拡張量と同量だけ縮小する処理(ステップS112の処理)を実行する。
以上説明したように、本実施形態の画像形成装置100において、CPU11は、圧縮・伸長プロセッサー16による圧縮処理の開始後、ビットマップデータの各バンド(所定のハンド)の圧縮処理が終了したときに、現時点までに圧縮処理が完了している各バンドの圧縮率の平均値(平均圧縮率)を算出する(ステップS104)。そして、CPU11は、算出した平均圧縮率が所定閾値T未満であるか否かを判定して、該所定閾値T未満であると判定した場合(ステップS105の判定がYESである場合)、上記画像処理用領域1bの容量及びプログラム処理用領域1aの容量をそれぞれ現時点の容量に維持する。一方、CPU11は、算出した平均圧縮率が上記所定閾値T以上であると判定した場合には(ステップS105の判定がNOである場合には)、画像処理用領域1bの容量を拡張し、且つ、プログラム処理用領域1aにメモリ圧縮を実行して、該プログラム処理用領域1aの容量を画像処理用領域1bの拡張量と同量だけ縮小する処理(ステップS112の処理)を実行する。
この構成によれば、圧縮・伸長プロセッサー16によるビットマップデータの平均圧縮率が所定閾値T以上である場合(圧縮・伸長プロセッサーの圧縮効率が悪い場合)には、画像処理用領域1bが拡張される。したがって、画像処理用領域1bの不足による画質低下や画像処理速度の低下を防止することができる。
また、この画像処理用領域1bの拡張に伴い、プログラム処理用領域1aの容量を縮小するようにしているが、単に縮小するのではなく、プログラム処理用領域1aにメモリ圧縮を行うようにしている。したがって、プログラム処理用領域1aの使用可能領域が減少することもない。また、RAM13の全体容量は一定に保たれるので、RAM13の容量の増設コストが生じず、低コスト化を図ることができる。
《変形例》
図9は、変形例のうち実施形態1とは異なる部分のみを示すフローチャートである。
図9は、変形例のうち実施形態1とは異なる部分のみを示すフローチャートである。
本変形例は、図8のフローチャートにおける二点鎖線で囲んだ部分の処理が実施形態1とは異なっている。以下の説明では、この異なる部分のみを説明し、その他、上記実施形態1と共通部分の説明は省略する。
ステップS120では、縮小側であるプログラム処理用領域1aの全部をメモリ圧縮したとしても、画像処理用領域1bが不足するか否かを判定する。この判定がNOである場合には、ステップS122に進む一方、YESである場合にはステップS121に進む。
ステップS121では、プログラム処理用領域1aの全部をメモリ圧縮することに加えて、データ保存領域2(図2参照)の一部を画像処理用領域1bとして使用し、しかる後に処理を終了する。
ステップS120の判定がNOである場合に進むステップS122では、上述した式(3)を用いてプログラム処理用領域1aの一部又は全部をメモリ圧縮して、プログラム処理用領域1aをステップS111で決定した量だけ縮小させる。ステップS122の処理後は、処理を終了する。
[変形例の作用効果]
本変形例によれば、CPU11は、ビットマップデータの平均圧縮率が所定閾値T以上であると判定した場合において、プログラム処理用領域1aの全部にメモリ圧縮を実行してプログラム処理用領域1aの容量を所定量縮小し、画像処理用領域1bの容量を該縮小量と同量だけ拡張したとしても、画像処理用領域1bの容量が不足すると判定した場合には、RAM13のデータ保存領域2の一部を画像処理用領域1bとして使用するように構成されている。
本変形例によれば、CPU11は、ビットマップデータの平均圧縮率が所定閾値T以上であると判定した場合において、プログラム処理用領域1aの全部にメモリ圧縮を実行してプログラム処理用領域1aの容量を所定量縮小し、画像処理用領域1bの容量を該縮小量と同量だけ拡張したとしても、画像処理用領域1bの容量が不足すると判定した場合には、RAM13のデータ保存領域2の一部を画像処理用領域1bとして使用するように構成されている。
これにより、画像処理用領域1bが必要量に対して不足する事態を確実に防止することができる。
《実施形態2》
図10は、実施形態2を示すフローチャートである。この実施形態は、図10の二点鎖線で囲った部分の処理が実施形態1とは異なっている。
図10は、実施形態2を示すフローチャートである。この実施形態は、図10の二点鎖線で囲った部分の処理が実施形態1とは異なっている。
すなわち、ステップS201〜ステップS212の処理は、ステップS101〜ステップS112と同じであるためその詳細な説明は省略する。
ステップS212の次に進むステップS213では、所定閾値Tに予め定めた増量値δを加算して所定閾値Tを更新する。この増量値δは0よりも大きい値であって、例えば所定閾値Tの1/5程度に設定される。本ステップS212の処理後はステップS206に進む
[実施形態2の作用効果]
本実施形態によれば、プログラム処理用領域1aの縮小及び画像処理用領域1bの拡張からなる領域最適化処理が実行される度に、所定閾値Tがδだけ増量されて更新される。
本実施形態によれば、プログラム処理用領域1aの縮小及び画像処理用領域1bの拡張からなる領域最適化処理が実行される度に、所定閾値Tがδだけ増量されて更新される。
これによれば、領域最適化処理が実行された後、圧縮・伸長プロセッサー16によるピットマップデータの圧縮効率がさら悪化した場合(圧縮率が増加した場合)に、その都度、領域最適化処理が実行される。したがって、実施形態1の如く、一度だけ領域最適化処理が実行される場合に比べて、画像処理用領域1b及びプログラム処理用領域1aの不足を確実に回避することができる。
《他の実施形態》
本発明は、上記実施形態1について、以下のような構成としてもよい。
上記各実施形態では、圧縮・伸長プロセッサー16によるビットマップデータの圧縮処理が完了する度に、平均圧縮率を算出するようにしているが、これに限ったものではない。例えば、所定間隔置き(例えば三つのバンド数のデータの圧縮処理が完了する度に)平均圧縮率を算出するようにしてもよい。
本発明は、上記実施形態1について、以下のような構成としてもよい。
上記各実施形態では、圧縮・伸長プロセッサー16によるビットマップデータの圧縮処理が完了する度に、平均圧縮率を算出するようにしているが、これに限ったものではない。例えば、所定間隔置き(例えば三つのバンド数のデータの圧縮処理が完了する度に)平均圧縮率を算出するようにしてもよい。
また、上記実施形態では、領域最適化処理を実行するか否かを判定するための判定用圧縮率として平均圧縮率を採用するようにしているが、これに限ったものではなく、例えばステップS104の直近に圧縮処理が完了したバンドの圧縮率を判定用圧縮率として採用するようにしてもよい。
また上記各実施形態において、プリントデータ(ディスプレイリストに展開する前の元データ)の種類(PDF、ワードファイル等の種類)に応じて所定閾値Tを変更するようにしてもよい。
また、上記各実施形態において、CPU11は、受信したプリントデータの容量(つまりRAM13のデータ保存領域2に保存されているデータ)が所定容量よりも大きいか否かを判定して、大きいと判定した場合には、圧縮・伸長プロセッサー16によってビットマップデータの圧縮処理を開始する前に予め上記領域最適化処理(ステップS112の処理)
を実行するようにしてもよい。
これにより、圧縮処理中に複雑な演算が実行されてCPU11の演算負担が増大するのを防止することができる。
を実行するようにしてもよい。
これにより、圧縮処理中に複雑な演算が実行されてCPU11の演算負担が増大するのを防止することができる。
また、本発明は各実施形態及び変形例に限定されるものでなく、本発明には、これらの各実施形態及び変形例を適宜組み合わせた構成が含まれる。
以上説明したように、本発明は、画像処理装置及び画像形成装置について有用であり、特に、プリンタ、ファクシミリ、複写機、又は複合機(MFP)等に適用する場合に有用である。
1a :プログラム処理用領域
1b :画像処理用領域
2 :データ保存領域
10 :画像処理装置
11 :CPU
13 :RAM
16 :圧縮・伸長プロセッサー
19 :エンジンコントローラー(送信部)
22 :プリントエンジン(所定機器)
100 :画像形成装置
T :所定閾値
k :バンド数
δ :増量値
1b :画像処理用領域
2 :データ保存領域
10 :画像処理装置
11 :CPU
13 :RAM
16 :圧縮・伸長プロセッサー
19 :エンジンコントローラー(送信部)
22 :プリントエンジン(所定機器)
100 :画像形成装置
T :所定閾値
k :バンド数
δ :増量値
Claims (5)
- CPUと、該CPUに接続されて画像処理用領域及びプログラム処理用領域を有するRAMと、ビットマップデータをバンド毎に圧縮して上記画像処理用領域に格納させる圧縮・伸長プロセッサーと、上記CPUに接続され、上記画像処理用領域内に格納されたビットマップデータを上記圧縮・伸張プロセッサーによってバンド毎に伸張して所定機器に送信する送信部とを備えた画像処理装置であって、
上記CPUは、
上記圧縮・伸張プロセッサーによる圧縮処理の開始後、上記ビットマップデータの所定のバンドの圧縮処理が終了したときに、現時点までに圧縮処理が完了している各バンドの圧縮率の平均値又は上記所定のバンドの圧縮率を判定用圧縮率として取得する圧縮率取得処理と、
上記取得した判定用圧縮率が所定閾値未満であるか否かを判定して、該所定閾値未満であると判定した場合には、上記画像処理用領域の容量及びプログラム処理用領域の容量をそれぞれ現時点の容量に維持する一方、上記所定閾値以上であると判定した場合には、上記画像処理用領域の容量を所定量だけ拡張し、且つ、上記プログラム処理用領域の少なくとも一部にメモリ圧縮を実行することで該プログラム処理用領域の容量を上記画像処理用領域の拡張量と同量だけ縮小する領域最適化処理と、を実行するように構成されている、画像処理装置。 - 請求項1記載の画像処理装置において、
上記CPUは、上記画像処理用領域の拡張及びプログラム処理用領域の縮小を含む上記領域最適化処理を実行する度に、上記所定閾値を所定量だけ増量して更新するように構成されている、画像処理装置。 - 請求項1又は2記載の画像処理装置において、
上記RAMは、上記画像処理用領域及びプログラム処理用領域の他に、画像処理の対象となる元データを保存するためのデータ保存領域をさらに含み、
上記CPUは、上記取得した上記判定用圧縮率が上記所定閾値以上であると判定した場合において、上記プログラム処理用領域の全部にメモリ圧縮を実行することで該プログラム処理用領域の容量を縮小し、この縮小量と同量だけ画像処理用領域の容量を拡張したとしても、画像処理用領域の容量が必要量に対して不足すると判定した場合には、上記RAMのデータ保存領域の一部を画像処理用領域として使用するように構成されている、画像処理装置。 - 請求項1乃至3のいずれか一項に記載の画像処理装置において、
上記CPUは、プリントデータのPDL(Page description Language)を解析して中間データであるディスプレイリストを生成し、生成したディスプレイリストをラスタライズ処理してビットマップデータを生成するものであり、
上記CPUは、上記プリントデータの容量が所定容量よりも大きいか否かを判定して、上記所定容量より大きいと判定した場合には、上記圧縮・伸長プロセッサーによって上記ビットマップデータの圧縮処理を開始する前に予め上記領域最適化処理を実行するように構成されている、画像処理装置。 - 請求項1乃至4のいずれか一項に記載の画像処理装置を備えた画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019008793A JP2020116803A (ja) | 2019-01-22 | 2019-01-22 | 画像処理装置及び該画像処理装置を備えた画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019008793A JP2020116803A (ja) | 2019-01-22 | 2019-01-22 | 画像処理装置及び該画像処理装置を備えた画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020116803A true JP2020116803A (ja) | 2020-08-06 |
Family
ID=71889645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019008793A Pending JP2020116803A (ja) | 2019-01-22 | 2019-01-22 | 画像処理装置及び該画像処理装置を備えた画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020116803A (ja) |
-
2019
- 2019-01-22 JP JP2019008793A patent/JP2020116803A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8446605B2 (en) | Division of rendering block in image forming apparatus | |
US8842325B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
JP5051327B1 (ja) | 画像処理装置及びプログラム | |
US10762401B2 (en) | Image processing apparatus controlling the order of storing decompressed data, and method thereof | |
JP5471681B2 (ja) | 画像処理装置及び画像処理プログラム | |
US8605309B2 (en) | Image processing apparatus, image forming system, image processing method and computer readable medium storing program | |
JP2020116803A (ja) | 画像処理装置及び該画像処理装置を備えた画像形成装置 | |
US10325189B2 (en) | Image processing apparatus and image processing method that perform, in units of band areas, rasterization based on second intermediate data stored in a first memory area and compressed raster data stored in a second memory area | |
US10565294B2 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
US10235611B2 (en) | Image forming apparatus, image forming method, and non-transitory computer readable medium | |
JP5232728B2 (ja) | 画像形成装置 | |
JP2005065043A (ja) | データ処理装置 | |
US9336468B2 (en) | Image forming apparatus, image forming method, and medium | |
JP2011053944A (ja) | 画像形成装置、画像形成方法及び制御プログラム | |
JP2009044547A (ja) | 画像処理装置および画像処理方法 | |
JP5672721B2 (ja) | 画像形成装置、画像形成プログラムおよび画像形成方法 | |
JP2005144843A (ja) | 画像処理装置、画像処理方法ならびに画像処理プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体 | |
JP2016055536A (ja) | 画像形成装置、プログラム、および画像形成装置の制御方法 | |
JP6775558B2 (ja) | 画像伸長装置及びその制御方法及びプログラム | |
JP6809158B2 (ja) | 画像処理装置及びプログラム | |
JP2019057207A (ja) | プリントコントローラー、画像形成システム及び画像形成装置 | |
JP2005059479A (ja) | データ出力装置 | |
JP6264757B2 (ja) | 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム | |
JP2017087514A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2007052499A (ja) | プリンタ用プログラム |