(57)【特許請求の範囲】
【請求項１】
ホスト装置から受け取った画像データを圧縮してページメモリに格納した後、当該ページメモリに格納された画像データを伸長して印刷出力する画像形成装置において、
前記ページメモリに前記圧縮した画像データが全て収まるかどうかを判別し、収まらない場合には、文字領域、グラフィックス領域、イメージ領域に分割した前記画像データのうち、いずれか１つまたは２つの領域の画像データを選択的に印刷出力するように構成したことを特徴とする画像形成装置。
【請求項２】
前記ページメモリ内を文字領域、グラフィックス領域、イメージ領域の３種類のメモリ領域に分け、文字データ、グラフィックスデータ、イメージデータをそれぞれのメモリ領域に格納するように構成したことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記ページメモリに前記圧縮した画像データが収まらない場合、前記３種類のメモリ領域のうち、優先順位の低い方から１つまたは２つの領域のデータを削除し、空いたメモリ領域により優先順位の高い領域のデータを圧縮して格納するように構成したことを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記ページメモリに前記圧縮した画像データが収まらない場合、前記３種類のメモリ領域のうち、前記圧縮した画像データが収まったメモリ領域のデータのみを出力することを特徴とする請求項２記載の画像形成装置。
【請求項５】
前記ページメモリに前記圧縮した画像データが収まらない場合、前記３種類のメモリ領域のうち、前記圧縮した画像データが収まらなかったメモリ領域のデータのみを再圧縮することを特徴とする請求項２記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はホスト装置からの指示により印刷処理を行うプリンタ装置、或いはこの種のプリンタ機能を備えた複写機などの画像形成装置に関し、特に、ホスト装置から受け取った画像データを、所定の圧縮方式で圧縮してページメモリに格納した後、伸長して印刷出力する画像形成装置に関するものである。
【０００２】
【従来の技術】
ホスト装置からの指示により印刷処理を行うプリンタ装置には、ホスト装置から送られてきた所定ライン毎の分割された画像データを、所定の圧縮方式で圧縮してページメモリに格納し、その圧縮したデータを伸長してプリンタエンジンに送り印刷出力する画像圧縮方式を用いたものものがある。この種のプリンタ装置は、ホスト装置から送られてきた画像データを圧縮せずに格納する方式のものに比べて小容量のページメモリを使用できるため、製品コストを安価にできる。
しかし、圧縮方式や元の画像の種類、サイズ等によっては、画像データを圧縮した場合でもページメモリに収まらないことがある。つまり、ページメモリの容量が元画像のデータ量に比べて極端に少ない場合には、元画像のデータを圧縮してもページメモリに収まらないことがある。このような場合、画像を出力せずエラーとしてその旨をユーザに報知したり、あるいは画像データを更に圧縮し、ページメモリに収まるようにして印刷を行うといった処置がとられる。
エラーとなり画像を出力しない場合には、ユーザが元の画像の種類、サイズ等を修正してから、再度印刷を行うことになる。この場合においても再度エラーとならない保証はなく、エラーの度に使用者により修正が行われることになる。
また、圧縮してもページメモリに収まらなかった画像データを、更に圧縮してページメモリに収まるようにした場合、伸張によるデータの再現性が低下するため、印刷画像の劣化は避けられない。このため、ユーザの希望する品質の印刷画像が得られなかった場合には、もう一度画像を修正して印刷しなおさなければならない。
【０００３】
【発明が解決しようとする課題】
上記のように、ホスト装置から送られてきた画像データを圧縮してページメモリに格納し、その圧縮したデータを伸長してプリンタエンジンに送り印刷出力する方式のプリンタ装置においては、画像データの種類、サイズ等により、一度の印刷命令でユーザの希望する印刷画像を得られないことがあり、このような場合には、希望する印刷画像が得られるまで操作をやり直さなければならないため、手間と時間がかかるだけでなく、用紙やトナーなどの消耗品を浪費してしまうという欠点があった。
そこで本発明が解決しようとする課題は、ホスト装置から送られてきた画像データが圧縮してもページメモリに収まらない場合でもエラーとせず、しかも希望する印刷画像が得られるまで操作をやり直すといった手間や時間をかけることなく、ユーザの希望する品質の印刷画像を出力できる画像形成装置を提供することにある。
【０００４】
【課題を解決するための手段】
上記の課題を解決するために、請求項１記載の発明は、ホスト装置から受け取った画像データを圧縮してページメモリに格納した後、当該ページメモリに格納された画像データを伸長して印刷出力する画像形成装置において、前記ページメモリに前記圧縮した画像データが全て収まるかどうかを判別し、収まらない場合には、文字領域、グラフィックス領域、イメージ領域に分割した前記画像データのうち、いずれか１つまたは２つの領域の画像データを選択的に印刷出力するように構成したことを特徴とする。
また、請求項２記載の発明は、請求項１記載の画像形成装置において、前記ページメモリ内を文字領域、グラフィックス領域、イメージ領域の３種類のメモリ領域に分け、文字データ、グラフィックスデータ、イメージデータをそれぞれのメモリ領域に格納するように構成したことを特徴とする。
また、請求項３記載の発明は、請求項２記載の画像形成装置において、前記ページメモリに前記圧縮した画像データが収まらない場合、前記３種類のメモリ領域のうち、優先順位の低い方から１つまたは２つの領域のデータを削除し、空いたメモリ領域により優先順位の高い領域のデータを圧縮して格納するように構成したことを特徴とする。
また、請求項４記載の発明は、請求項２記載の画像形成装置において、前記ページメモリに前記圧縮した画像データが収まらない場合、前記３種類のメモリ領域のうち、前記圧縮した画像データが収まったメモリ領域のデータのみを出力することを特徴とする。
また、請求項５記載の発明は、請求項２記載の画像形成装置において、前記ページメモリに前記圧縮した画像データが収まらない場合、前記３種類のメモリ領域のうち、前記圧縮した画像データが収まらなかったメモリ領域のデータのみを再圧縮することを特徴とする。
【０００５】
【発明の実施の形態】
以下、本発明を図面に示す実施の形態により詳細に説明する。
図１は本発明の実施の形態の一例を示すプリンタ装置のプリンタコントローラ部の全体ブロック図であり、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ホスト１／Ｆ１０４、エンジンＩ／Ｆ１０５、圧縮器１０６および伸張器１０７を、バスにより相互に接続してなる装置構成を示している。プリンタコントローラ部は、図示しないホスト装置から受信したコマンド及びデータをビットマップに展開し、そのビットマップに応じたコマンドや印刷データを図示しないプリンタエンジン部に出力する処理を行う。
ＣＰＵ１０１は、プリンタ装置全体のシステム制御、及び画像処理等を行う。ＲＯＭ１０２には、ＣＰＵ１０１が実行するプログラム、各種パラメータ等が記憶されている。ＲＡＭ１０３は、ＣＰＵ１０１がシステム制御や画像処理を行う際に作業データを一時記憶するワーキングメモリとして使用されたり、ホスト装置（図示省略）からの印刷命令やコマンドに応じてＣＰＵ１０１が作成した画像データなどを記憶するページメモリ１０８（図２）として使用されたりする随時書込み読み出し可能なメモリ装置である。ホストＩ／Ｆ１０４は、ＣＰＵ１０１がホスト装置から印刷命令やコマンドを受け取ったり、このプリンタ装置の状態をホスト装置に伝えたりするためのインタフェースである。エンジンＩ／Ｆ１０５は、ＣＰＵ１０１がプリンタエンジンにコマンドや印刷データを送出するためのインタフェースである。圧縮器１０６は、ホスト装置からの印刷命令やコマンドに応じてＣＰＵ１０１が作成した画像データを所定ライン毎に所定の圧縮方式で圧縮してページメモリ１０８に格納する機能ブロックである。伸張器１０７は、ページメモリ１０８に格納されている圧縮された画像データを伸張してプリンタエンジンに送出する機能ブロックである。
【０００６】
図２は図１に示すプリンタコントローラにおけるデータの流れを示すブロック図である。ホストＩ／Ｆ１０４を介して受け取った印刷命令やコマンドに応じてＣＰＵ１０１が作成した画像データは、所定ライン毎の画像データに分割されて順次圧縮器１０６に入力され、圧縮されてページメモリ１０８に格納される。ページメモリ１０８に格納された圧縮されたデータは伸張器１０７により伸張された後、エンジンＩ／Ｆ１０５を介してプリンタエンジンに送られ印刷出力される。
この実施の形態では、ホストＩ／Ｆ１０４を介して受け取った印刷命令やコマンドに応じてＣＰＵ１０１が作成した画像データを、所定ライン毎の画像データに分割して所定の圧縮方式で圧縮する際に、格納するデータ量がページメモリ１０８の容量を超えてしまった場合、エラー検知部１０９がそれを検知し、エラーとしてホスト装置側に通知するとともに、画像データを文字データ、グラフィックスデータ、イメージデータの３種類に分類し、そのうちの１種類または２種類のデータだけを使用して印刷出力する。このときＣＰＵ１０１はエラー検知部１０９として機能する。以下、図３〜５に示すフローチャートに従って動作を説明する。
【０００７】
図３は本発明の第１の実施の形態の動作フローを例示したものである。このフローでは、所定ライン毎の画像データを圧縮して、ページメモリ１０８に格納する際（Ｓ１）、その圧縮データがページメモリ１０８に収まるかどうかを調べ（Ｓ２）、収まる場合には（Ｓ２でＹｅｓ）、その圧縮データをページメモリ１０８に格納する。この処理を１ページ分の画像データに対して実施する（Ｓ１→Ｓ２→Ｓ３→Ｓ１）。そして１ページ分の全ての圧縮データをページメモリ１０８に格納し終えたら（Ｓ３でＹｅｓ）、ページメモリ１０８に格納されている圧縮された画像データを所定ラインごとに伸張してプリンタエンジンに送出し印刷出力させる（Ｓ４）。これに対し、圧縮データがページメモリ１０８に収まらなくなってしまった場合（Ｓ２でＮｏ）、画像データを文字データ、グラフィックスデータ、イメージデータの３種類に分類し、そのうちの１種類または２種類のデータだけを使用して印刷出力する。たとえば、元画像のデータに対してページメモリ１０８の容量が極端に小さいため、データの圧縮を行っても文字データしか完全に収めることができない場合、圧縮した文字データのみをページメモリ１０８に格納した後（Ｓ５）、ページメモリ１０８に格納されている圧縮された画像データを所定ラインごとに伸張してプリンタエンジンに送出し印刷出力させる（Ｓ６）。そして、文字データのみしか印刷出力できなかった旨をホスト装置に通知し、必要であれば、ホスト装置にデータの再転送を促し、残りのデータを印刷出力する（Ｓ６）。
【０００８】
この実施の形態によれば、圧縮データがページメモリ１０８に収まらなかった場合に、元画像を文字部分、グラフィックス部分、イメージ部分に分け、重要なあるいはユーザの最も希望する１種類又は２種類のデータだけを使用して印刷出力することができるので、従来のように希望する印刷画像が得られるまで操作をやり直すといった手間や時間をかけることなく、ユーザの希望する品質の印刷画像を出力することができる。
つまり、ユーザーの印刷しようとする画像データが、文字データ、グラフィックスデータ、イメージデータの２種類または３種類が混在したデータであり、ページメモリ１０８の容量による制約のため、１ページ分の全画像データを一度に印刷することができない場合でも、そのうちの１種類、たとえば、イメージ部分を空白データにすることにより、他の部分の画像品質を落とさずに、１ページ分を印刷することができる。そしてイメージ部分が必要ならば、あとでイメージ部分だけ印刷すればよい。また、イメージ部分が必要ない場合には、一度で希望画像を得ることができる。
【０００９】
図４は本発明の第２の実施の形態の動作フローを例示したものである。この実施の形態では、ページメモリ１０８内に文字領域、グラフィックス領域、イメージ領域の３種類のメモリ領域を設定し、文字データ、グラフィックスデータ、イメージデータをそれぞれ所定ラインごとに圧縮して該当するそれぞれのメモリ領域に格納する（Ｓ１ａ〜Ｓ１ｃ）。そしてその際に、その圧縮データがページメモリ１０８に収まるかどうかを調べ（Ｓ２）、収まる場合には（Ｓ２でＹｅｓ）、その圧縮データをページメモリ１０８に格納する。この処理を１ページ分の画像データに対して実施する（Ｓ１ａ→Ｓ１ｂ→Ｓ１ｃ→Ｓ２→Ｓ３→Ｓ１ａ）。そして１ページ分の全ての圧縮データをページメモリ１０８に格納し終えたら（Ｓ３でＹｅｓ）、ページメモリ１０８に格納されている圧縮された画像データを所定ラインごとに伸張してプリンタエンジンに送出し印刷出力させる（Ｓ４）。これに対し、圧縮データがページメモリ１０８に収まらなくなってしまった場合（Ｓ２でＮｏ）、たとえば、グラフィックスデータおよびイメージデータがそれぞれのメモリ領域に収まらない場合、文字データのみを格納し（Ｓ５）、文字データのみを印刷出力する（Ｓ６）。そして、文字データのみしか印刷出力できなかった旨をホスト装置に通知し、必要であれば、ホスト装置にデータの再転送を促し、残りのデータを印刷出力する（Ｓ６）。
【００１０】
この実施の形態のように、圧縮された画像データをページメモリ１０８に格納していく際に、格納領域を文字、グラフィックス、イメージの３種類に分類して、それそれの領域に対応する種類のデータを格納することにより、特定の領域たとえば文字領域だけを印刷したり、あるいは文字データは再圧縮せず、グラフィックスデータおよびイメージデータは再圧縮を行って、それぞれのメモリ領域に格納し、１ページ分の全画像を印刷するといった処理を簡単に行うことができる。この場合、グラフィックス領域およびイメージ領域の画像品質は低下することになるが、ユーザがそれでもかまわなければ１ページ分の画像を１回の操作で印刷することができる。また、１ページ分全体を再圧縮せず、部分的に再圧縮を行うため、結果として出力終了までの時間を短くすることができる。
【００１１】
図５は本発明の第３の実施の形態の動作フローを例示したものである。この実施の形態では、ページメモリ１０８内に文字領域、グラフィックス領域、イメージ領域の３種類のメモリ領域を設定し、文字データ、グラフィックスデータ、イメージデータをそれぞれ所定ラインごとに圧縮して該当するそれぞれのメモリ領域に格納する（Ｓ１ａ〜Ｓ１ｃ）。そしてその際に、その圧縮データがページメモリ１０８に収まるかどうかを調べ（Ｓ２）、収まる場合には（Ｓ２でＹｅｓ）、その圧縮データをページメモリ１０８に格納する。この処理を１ページ分の画像データに対して実施する（Ｓ１ａ→Ｓ１ｂ→Ｓ１ｃ→Ｓ２→Ｓ３→Ｓ１ａ）。そして１ページ分の全ての圧縮データをページメモリ１０８に格納し終えたら（Ｓ３でＹｅｓ）、ページメモリ１０８に格納されている圧縮された画像データを所定ラインごとに伸張してプリンタエンジンに送出し印刷出力させる（Ｓ４）。これに対し、圧縮データがページメモリ１０８に収まらなくなってしまった場合（Ｓ２でＮｏ）、たとえば、グラフィックスデータおよびイメージデータがそれぞれのメモリ領域に収まらない場合、グラフィックス領域およびイメージ領域に格納されたデータを削除し（Ｓ５ａ）、その領域に文字データを格納し（Ｓ５ｂ）、文字データのみを印刷出力する（Ｓ６）。そして、文字データのみしか印刷出力できなかった旨をホスト装置に通知し、必要であれば、ホスト装置にデータの再転送を促し、残りのデータを印刷出力する（Ｓ６）。
【００１２】
この実施の形態のように、圧縮された画像データをページメモリ１０８に格納していく際に、格納領域を文字、グラフィックス、イメージの３種類に分類して、それそれの領域に対応する種類のデータを格納していき、ページメモリ１０８にデータが納まらない場合には、ユーザによる優先順位の低い領域、たとえば、イメージ領域のデータを削除し、それによって空いた領域に、文字データ、グラフィックスデータを書き込んでいき、その結果、ページメモリ１０８に収まったデータのみ印刷出力することにより、一部空白領域はできるが、ユーザの必要とする部分を含む１ページ分の画像を必ず印刷することができる。また、再圧縮を行わないため、結果として出力終了までの時間を短くすることができる。
なお、上記の例では、ホスト装置から受信したコマンド及びデータをビットマップに展開し、その画像データを所定ライン毎に圧縮してページメモリに格納するタイプのプリンタ装置を例にとり説明したが、本発明は、ホスト装置から展開済みの画像データを受け取り、これを所定ライン毎に圧縮してページメモリに格納するタイプのプリンタ装置にも有効に適用できる。
【００１３】
【発明の効果】
以上説明したように、本発明によれば以下のような優れた効果が得られる。本発明では、圧縮した画像データがページメモリに全て収まるかどうかを判別し、収まらない場合には、文字領域、グラフィックス領域、イメージ領域に分割した前記画像データのうち、いずれか１つまたは２つの領域の画像データを選択的に印刷出力するように構成したので、重要なあるいはユーザの最も希望する１種類又は２種類のデータだけを使用して印刷出力することができ、従来のように希望する印刷画像が得られるまで操作をやり直すといった手間や時間をかけることなく、ユーザの希望する品質の印刷画像を出力することができる。
また本発明では、ページメモリ内を文字領域、グラフィックス領域、イメージ領域の３種類のメモリ領域に分け、文字データ、グラフィックスデータ、イメージデータをそれぞれのメモリ領域に格納するように構成したので、特定の領域だけを印刷したり、あるいは特定の領域は再圧縮せず、他の領域は再圧縮を行って、それぞれのメモリ領域に格納し、１ページ分の全画像を印刷するといった処理を簡単に行うことができる。
また本発明では、ページメモリに圧縮した画像データが収まらない場合、３種類のメモリ領域のうち、優先順位の低い方から１つまたは２つの領域のデータを削除し、空いたメモリ領域により優先順位の高い領域のデータを圧縮して格納するように構成したので、ページ全体が全く印刷されないということがなくなり、ユーザの必要とする種類の画像を含む１ページ分の画像を印刷出力することができる。
【図面の簡単な説明】
【図１】図１は本発明の実施の形態の一例を示すプリンタ装置のプリンタコントローラ部の全体ブロック図。
【図２】図１に示すプリンタコントローラにおけるデータの流れを示すブロック図。
【図３】請求項１記載の発明に対応する実施の形態の動作フローを例示した図。
【図４】請求項２記載の発明に対応する実施の形態の動作フローを例示した図。
【図５】請求項３記載の発明に対応する実施の形態の動作フローを例示した図。
【符号の説明】
１０１：ＣＰＵ、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：ホスト１／Ｆ、１０５：エンジンＩ／Ｆ、１０６：圧縮器、１０７：伸張器。
【図１】
0003770580.tif 000002
【図２】
0003770580.tif 000003
【図３】
0003770580.tif 000004
【図４】
0003770580.tif 000005
【図５】
0003770580.tif 000006