(57)【要約】【課題】  プリンタで使用できるメモリ容量が少ない場合、印刷データを受信できる容量が制限されたり、プリントするために内部的に使用するワークメモリ容量が制限されたりすることがあった。【解決手段】  メモリが足りないために処理続行が不可能になると判断したときに、現在処理中のページの解釈に不要であるPDLデータを削除する。そのページの処理が終わった後に、ホスト装置に対してPDLデータの再送を要求する。【選択図】  図6
2013119161.tif 000002
【特許請求の範囲】
【請求項１】
PDL（ページ記述言語）データをスプールするスプール手段と、
PDLデータを解釈して中間データを生成する生成手段と、
メモリが足りないために処理続行が不可能になると判断したときに、現在処理中のページの解釈に不要であるPDLデータを削除する削除手段と、
ホスト装置に対してPDLデータの再送要求を出す再送要求手段と、
PDLデータの解釈が終わっていないページからPDLデータの解釈を再開する再開手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記削除手段は、1ページ目のデータから順番に削除することを特徴とする請求項1に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用可能である記憶装置の容量がなくなった場合に、不要なPDLデータを削除することにより処理を継続する画像形成装置に関する。
【背景技術】
【０００２】
近年、ハードディスクレスや小メモリ等、記憶装置の容量が少ない製品が普及している。例えばプリンタで使用できる記憶装置の容量が少ない場合、印刷データを受信できる容量が制限されたり、プリントするために内部的に使用するワークメモリ容量が制限されたりすることになる。PDF(Portable Document Format)やXPS(XML Paper Specification)の印刷で具体的に説明する。PDFやXPSは、そのデータ構造の特徴から、全ての印刷データをプリンタ側で受信してからでなければ印刷を開始できない。そのため、使用できる記憶装置の容量が少ない場合、全ての印刷データを受信する前に記憶装置の容量がいっぱいになりやすい。また、全ての印刷データを受信できたとしても、記憶装置の残容量が少なくなり、ワークメモリが足りなくなりやすい。
【０００３】
そこで例えば１ページ分の印刷データを完全に格納できる保証のない小容量のメモリしかもたないプリンタであっても、同一ページの複数枚印刷を、ホスト装置にできるだけ負担をかけずに高速に行えるようにするプリントシステムについて開示されている（例えば、特許文献1）。特許文献1によると、1ページ分の印刷データを順番にホスト装置からプリンタに再送信することにより、複数ページの印刷を行うことが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３０１７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述した従来の技術では、1ページ分の印刷が終わる度に次の1ページ分の印刷データを送信する必要があり、ホスト装置とプリンタに負荷がかかっていた。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、記憶装置の容量が少ない場合でも印刷することが可能となり、またホスト装置と画像形成装置に負荷をかけないことを目的とする。
【課題を解決するための手段】
【０００７】
PDL（ページ記述言語）データをスプールするスプール手段と、
PDLデータを解釈して中間データを生成する生成手段と、
メモリが足りないために処理続行が不可能になると判断したときに、現在処理中のページの解釈に不要であるPDLデータを削除する削除手段と、
ホスト装置に対してPDLデータの再送要求を出す再送要求手段と、
PDLデータの解釈が終わっていないページからPDLデータの解釈を再開する再開手段と、
を備えることを特徴とする画像形成装置。
【発明の効果】
【０００８】
本発明によれば、記憶装置の容量が少ない場合でも印刷することが可能となり、またホスト装置と画像形成装置に負荷をかけないことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ネットワーク構成図
【図２】主要構成を示すブロック図
【図３】ハードウェア構成図
【図４】操作部外観
【図５】PDFデータの概要
【図６】PDFデータ投入時の、通常のフローチャート
【図７】記憶装置の使用状況の概要
【図８】PDFデータが再送されたときのフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
図1は本発明の実施の一形態に係る画像形成装置を収容するネットワークの構成を模式的に示す図である。本実施の形態では、画像形成装置としてデータ送信機能を有する複写機を説明する。
【００１２】
複写機1001は、図1に示すように、複写機1001と同等の機能を持つ複写機1002、ファクシミリ装置1003、データベース／メールサーバ1004、クライアントコンピュータ1005とともに、イーサネット（登録商標）などからなるLAN1006に収容されている。また、ファクシミリ1007とともに公衆回線1008に収容されている。複写機1001は、コピー機能、ファクシミリ機能を有するとともに、原稿画像を読み取り、該読み取った画像データをLAN1006上の各装置に送信するデータ送信機能を有する。また、PDL機能を有するので、LAN1006上に接続されているクライアントコンピュータ1005から指示されたPDL画像を受信して印刷することが可能である。複写機1001は、複写機1001で読み取った画像や、LAN1006上に接続されているコンピュータから指示されたPDL画像を、ハードディスク2004の指定したボックス領域に保存することが可能であり、ボックス領域に保存された画像を印刷することが可能になっている。
【００１３】
複写機1001は、LAN1006を介して複写機1002が読み取ったデータを受信し、受信したデータを複写機1001内のハードディスク2004に保存/印刷出力することが可能である。また、クライアントコンピュータ1005とLAN1006を介してデータベースサーバ1004の画像を受信し、複写機1001内に保存/印刷出力することが可能である。
【００１４】
ファクシミリ1003は、LAN1006を介して複写機1001が読み取ったデータを受信し、該受信したデータを送信することが可能である。
【００１５】
データベース／メールサーバ1004は、LAN1006を介して複写機1001が読み取ったデータを受信し、データベースに格納し、電子メールとして送信する機能を有するサーバ装置である。
【００１６】
クライアントコンピュータ1005は、データベース／メールサーバ1004に接続され、データベース／メールサーバ1004から所望のデータを取得して表示することが可能であるとともに、LAN1006を介して複写機1001が読み取ったデータを受信し、受信したデータを加工、編集することが可能である。
【００１７】
ファクシミリ1007は、公衆回線1008を介して複写機1001が読み取ったデータを受信し、受信したデータを印刷出力することが可能である。
【００１８】
図2は、図1の複写機1001の主要部構成を示すブロック図である。
【００１９】
コントローラユニット2000は、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095を接続し、スキャナ2070で読み取られた画像データをプリンタ2095により印刷出力するコピー機能を実現するための制御を行うとともに、LAN1006や公衆回線1008（WAN）に接続することによって、画像情報やデバイス情報の入出力を行うための制御を行う。
【００２０】
コントローラユニット2000は、具体的には、CPU2001を有し、CPU2001は、ROM2003に格納されているブートプログラムによりオペレーティングシステム（OS）を立ち上げ、このOS上でHDD（ハードディスクドライブ）2004に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。このCPU2001の作業領域としてはRAM2002が用いられる。RAM2002は、作業領域とともに、画像データを一時記憶するための画像メモリ領域を提供する。HDD2004は、上記アプリケーションプログラムとともに、画像データを格納する。
【００２１】
CPU2001には、システムバス2007を介して、ROM2003およびRAM2002とともに、操作部I/F（操作部インタフェース）2006、ネットワークI/F（ネットワークインタフェース）2010、モデム2050およびイメージバスI/F（イメージインタフェース）2005が接続されている。
【００２２】
操作部I/F2006は、タッチパネルを有する操作部2012とのインタフェースであり、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部I/F2006は、操作部2012においてユーザにより入力された情報をCPU2001に送出する。
【００２３】
次に、ネットワークI/F2010は、LAN1006に接続され、LAN1006を介してLAN1006上の各装置との間で情報の入出力を行う。モデム2050は、公衆回線1008に接続され、公衆回線1008を介して情報の入出力を行う。
【００２４】
イメージバスI/F2005は、システムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するためのバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394から構成される。画像バス2008上には、ラスタイメージプロセッサ（以下、RIPという）2060、デバイスI/F2020、スキャナ画像処理部2080、プリンタ画像処理部2090、画像回転部2030および画像圧縮部2040が設けられている。RIP2060は、PDLコードをビットマップイメージに展開するプロセッサである。デバイスI/F2020には、スキャナ2070およびプリンタ2095が接続され、デバイスI/F2020は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部2090は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部2030は、画像データの回転を行う。画像圧縮部2040は、多値画像データをJPEGデータに、2値画像データをJBIG、MMR、MHなどのデータに圧縮するとともに、その伸張処理を行う。
【００２５】
図3は図1の複写機1001のスキャナ部2070およびプリンタ部2095のハードウェア構成を模式的に示す図である。
【００２６】
スキャナ部2070とプリンタ部2095とは、図3に示すように、一体的に構成されている。スキャナ部2070は、原稿給紙ユニット250を搭載する。原稿給紙ユニット250は、原稿を先頭から順に1枚ずつプラテンガラス211上へ給送し、各原稿の読取動作が終了する毎にその原稿をプラテンガラス211から排出トレイ（図示せず）に排出する。スキャナ部2070は、原稿がプラテンガラス211上に給送されると、ランプ212を点灯し、移動ユニット213の移動を開始する。この移動ユニット213の移動によりプラテンガラス211上の原稿に対する読取走査が行われる。この読取走査中、原稿からの反射光は、各ミラー214，215，216およびレンズ217を経てCCDイメージセンサ（以下、CCDという）218に導かれ、原稿上の画像がCCD218の撮像面上に結像される。CCD218は、撮像面に結像された画像を電気信号に変換し、この電気信号は所定の処理を施された後にコントローラユニット2000に入力される。
【００２７】
プリンタ部2095は、レーザドライバ321を有し、レーザドライバ321は、コントローラユニット2000から入力された画像データに基づきレーザ発光部322を駆動する。これにより、レーザ発光部322からは画像データに応じたレーザ光が発光され、このレーザ光は走査されながら感光ドラム323上に照射される。感光ドラム323上には、照射されたレーザ光により静電潜像が形成され、この静電潜像は現像器324から供給されたトナーによりトナー像として可視像化される。レーザ光の照射タイミングに同期して、各カセット311，312から記録紙が搬送路を介して感光ドラム323と転写部325との間に給紙され、感光ドラム323上のトナー像は転写部325により給紙された記録紙上に転写される。
【００２８】
トナー像が転写された記録紙は搬送ベルトを介して定着ローラ対（加熱ローラと加圧ローラ）326に送られ、定着ローラ対326は、記録紙を熱圧し、記録紙上のトナー像を記録紙上に定着させる。この定着ローラ対326を通過した記録紙は、排紙ローラ対327により排紙ユニット330に排紙される。排紙ユニット330は、ソート、ステイプルなどの後処理を施すことが可能なシート処理装置からなる。また、両面記録モードが設定されている場合には、記録紙を排紙ローラ対327まで搬送した後に、排紙ローラ対327の回転方向を逆転させ、フラッパ328によって再給紙搬送路329へ導く。再給紙搬送路329に導かれた記録紙は、上述したタイミングで感光ドラム323と転写部325との間に再給紙され、この記録紙の裏面にトナー像が転写される。
【００２９】
次に、操作部2012の構成を図4に示す。LCD表示部2013は、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラユニット2000のCPU2001に伝える。スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014中央部には、緑と赤の2色LED2018があり、その色によってスタートキー2014が使える状態にあるかどうかを示す。ストップキー2015は稼働中の動作を止める働きをする。リセットキー2017は操作部からの設定を初期化する時に用いる。
【００３０】
［実施例１］
前記構成を持つ画像形成装置において、本発明による実施例を説明する。
【００３１】
今回の実施例においては、印刷するPDLデータとしてPDFデータを使用して説明する。図5にPDFデータの概要を示す。PDFデータは、ページで参照される描画データはオブジェクトとして管理される。各オブジェクトは順不同でPDFデータ内に格納される。また、各ページで使用されるオブジェクト番号を保持している。図5-1はPDFデータの構成を簡単に説明するために、PDFデータの構成を簡略化して表示した簡略図である。5001はPDFデータに格納されているオブジェクト(Obj5)である。5002はPDFデータに格納されているオブジェクト(Obj1)である。5003はPDFデータに格納されているオブジェクト(Obj3)である。5004はPDFデータに格納されているオブジェクト(Obj2)である。5005はPDFデータに格納されているオブジェクト(Obj6)である。5006はPDFデータに格納されているオブジェクト(Obj4)である。
【００３２】
5007はPDFデータに格納されているオブジェクト(Obj7)である。5008は1ページ目で使用されるオブジェクト番号が格納されている。1ページ目では、Obj1、Obj3、Obj6が使用される。5009は2ページ目で使用されるオブジェクト番号が格納されている。2ページ目では、Obj2、Obj4、Obj5、Obj7が使用される。5010は3ページ目で使用されるオブジェクト番号が格納されている。3ページ目では、Obj2、Obj6が使用される。図5-2は1ページ目を表示したときの概要5020である。5021はObj1である。5022はObj3である。5023はObj6である。図5-3は2ページ目を表示したときの概要5030である。5031はObj2である。5032はObj4である。5033はObj7である。5034はObj5である。図5-4は3ページ目を表示したときの概要5040である。5041はObj6である。5042はObj2である。図5を見て分かるように、Obj2が2ページ目と3ページ目で使用されており、Obj6が1ページ目と3ページ目で使用されている。
【００３３】
図6に示すフローチャートは、図5に示すPDFデータ投入時の、通常のフローチャートである。図6に示すフローチャートは、図2に示したHDD2004に格納されたプログラムに従って、図2に示したCPU2001によって実行される。
【００３４】
S601では、CPU2001は1ページ目から最終ページまでのプリント処理を実施する。今回の例では、最終ページは3ページ目である。
【００３５】
S602では、CPU2001は中間データを生成する。1ページ目の処理の場合は、Obj1、Obj3、Obj6が処理される。
【００３６】
S603では、CPU2001は中間データ生成中に記憶装置（例えばRAM2002）の容量が足りなくなったか否かを判定する。YESの場合はS604へ進み、NOの場合はS601へ進み、次のページの処理に移行する。
【００３７】
S604では、CPU2001は現在処理中のページ処理に不要であるPDFデータを削除する。
【００３８】
S605では、CPU2001は中間データ生成を継続する。
【００３９】
ここで、図7に、記憶装置（例えばRAM2002）の使用状況の概要を示す。図7-1は全てのPDFデータを受信したときのメモリ使用状況7000を表す。7001から7010までPDFデータが格納されている。7011は空き領域である。
【００４０】
ここで、1ページ目の処理は、中間データ生成中に記憶装置の容量は足りなくならなかった（S603の判定はNO）とする。すると、1ページ目の処理を終了したときの記憶装置の使用状況7020は図7-2に示す通りとなる。7021はPDFを処理するためのワーク領域である。7022は1ページ目を処理したときに生成された中間データである。7023は1ページ目の処理が終わったときの空き領域である。
【００４１】
次に、2ページ目の処理は、中間データ生成中に記憶装置の容量が足りなくなった（S603の判定はYES）とする。すると、2ページ目の処理途中で記憶装置の容量が不足したときの記憶装置の使用状況7040は図7-3に示す通りとなる。7041はPDFを処理するためのワーク領域である。7042は2ページ目を処理したときに生成された中間データである。ページ処理の途中で記憶装置の空き容量がなくなっていることが分かる。この場合、S604の処理で、現在処理中のページ処理に不要であるPDFデータが削除される。現在処理しているページは2ページ目であるため、不要であると判断された1ページ目のPDFデータを削除する。1ページ目を構成するオブジェクトは7043に格納されており、Obj1、Obj3、Obj6である。つまり、Obj1の領域7044、Obj3の領域7045、Obj6の領域7046が解放される。最終的に2ページ目の処理を終了したときの記憶装置の使用状況7060は図7-4に示す通りとなる。7061は2ページ目の続きを処理した(S605)ときに生成される中間データである。7062はS604の処理で解放されて空き領域となっている。
【００４２】
ここで、図6の説明に戻る。
【００４３】
S606では、CPU2001は現在処理中のページ番号をRAM2002等に記憶する。この例では2ページ目の処理中であるため、2ページ目という情報を保持する。
S607では、CPU2001はクライアントコンピュータ1005に対し、PDFデータの再送要求をする。
【００４４】
図8に示すフローチャートは、S607で再送要求され、PDFデータが再送されたときのフローチャートである。図8に示すフローチャートは、図2に示したHDD2004に格納されたプログラムに従って、図2に示したCPU2001によって実行される。
【００４５】
S801では、CPU2001は現在処理中のページ番号を読み出す。この例では2ページ目という情報が読み出される。
【００４６】
S802では、CPU2001は現在処理中の次のページから処理を始める。この例では3ページ目から処理が開始される。
【００４７】
S803では、CPU2001は中間データを生成する。
【００４８】
S804では、CPU2001は中間データ生成中に記憶装置（例えばRAM2002）の容量が足りなくなったか否かを判定する。YESの場合はS805へ進み、NOの場合はS802へ進み、次のページの処理に移行する。
【００４９】
S805では、CPU2001は現在処理中のページ処理に不要であるPDFデータを削除する。
【００５０】
S806では、CPU2001は中間データ生成を継続する。
【００５１】
S807では、CPU2001は現在処理中のページ番号をRAM2002等に記憶する。
【００５２】
S808では、CPU2001はクライアントコンピュータ1005に対し、PDFデータの再送要求をする。
【００５３】
図7-5は、S607でPDFデータの再送要求をしてPDFデータを受信したときの記憶装置の使用状況7080を表す。PDFデータの再送は、必要なデータだけを再送要求しても良いし、全てのデータを受信して必要なデータだけを格納しても良い。7081は3ページ目の印刷に必要なObj6のデータが格納されている。
【００５４】
ここで、3ページ目の処理は、中間データ生成中に記憶装置の容量は足りなくならなかった（S804の判定はNO）とする。すると、3ページ目の処理を終了したときの記憶装置の使用状況7100は図7-6に示す通りとなる。
【００５５】
今回の実施例においては、印刷データとしてPDFデータの印刷について説明したが、これは特許請求の範囲を限定するもではない。例えば、XPS等の印刷であっても良いし、その他の印刷データの印刷であっても良い。
【符号の説明】
【００５６】
１００１  複写機
１００２  複写機
１００３  ファクシミリ装置
１００４  データベース／メールサーバ
【図１】
2013119161.tif 000003
【図２】
2013119161.tif 000004
【図３】
2013119161.tif 000005
【図４】
2013119161.tif 000006
【図５】
2013119161.tif 000007
【図６】
2013119161.tif 000008
【図７】
2013119161.tif 000009
【図８】
2013119161.tif 000010