(57)【要約】【課題】記憶装置容量の少ない携帯端末からの印刷実行時に、プリンタドライバが印刷に必要なメモリを確保できない場合に、ユーザ操作なしにメモリの割り当てを変更し、印刷を実行する。【解決手段】メモリをデータ記憶用、プログラム実行用に任意に割り当て可能な携帯端末において、印刷実行時に印刷バッファとして使用するメモリが足りない場合、自動でプログラム実行用メモリを増やし印刷を実行する。印刷終了時にはもとにもどす。【選択図】        図１
2004192319.tif 000002
【特許請求の範囲】
【請求項１】
有限の容量からなりデータを読み書き可能な記憶手段を備える携帯端末と、印刷可能な記録装置から構成され、前記携帯端末と前記記録装置とは、双方向通信が可能なインタフェースにて接続されている。前記携帯端末には印刷可能なアプリケーションソフトウェアと、そのデータを前記記録装置が理解できる印刷データに変換作成し前記記録装置へ前記インタフェースを介して送信することができるプリンタドライバが組み込まれている。
前記アプリケーションソフトウェアから印刷処理が実行され、前記プリンタドライバ処理が開始されたとき、前記記憶手段における前記プリンタドライバが携帯端末内の利用可能なメモリ領域の大きさを確認し、この利用可能なメモリ領域の大きさと前記プリンタドライバが前記印刷データ生成に必要なワークメモリの大きさとを比較し、前記必要ワークメモリ量が前記利用可能領域の大きさより大きい場合、データ記憶用として割り当てられていたメモリをワークメモリにあてがい、前記記憶装置に印刷を行わせることを特徴とする印刷システム。
【請求項２】
前記プリンタドライバは、前記携帯端末内の利用可能なメモリ領域に対し、データ記憶用メモリとプログラム実行用メモリの割り当て量を自在に操作できることを特徴とする。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、印刷制御方法、プログラム、及び記憶媒体に関し、特に記憶容量の比較的少ない記憶装置を備え、印刷装置が接続された情報処理装置、該情報処理装置に適用される印刷制御方法に関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータ（以下パソコンと略す）を印刷ホストとし、印刷可能な記録装置（以下プリンタと記す）などの周辺機器を前記パソコンと接続することにより、様々なアプリケーションソフトウェアからプリンタに印刷させることができる印刷システムが存在している。このようなシステムにおいて前記アプリケーションソフトウェアから印刷処理を行うと、アプリケーションが印刷処理に必要なメモリワーク領域とプリンタドライバの印刷処理に必要なメモリワーク領域で数ＭＢから数十ＭＢのワークメモリ領域がパソコン上の記憶装置に必要となる。また近年、アプリケーションの高機能化やデジタルカメラ画像の高解像度化に伴い、印刷データは大容量化の傾向があり、またプリンタの記録解像度の高解像度化等に伴い、プリンタドライバが処理に必要なメモリワーク量が増える傾向にある。
【０００３】
このようなシステムにおいて前記アプリケーションソフトウェアから印刷処理を行うとき、もしプリンタドライバが処理に必要なメモリワーク領域を前記記憶装置に確保できない場合、プリンタドライバは処理を中止し、ユーザは印刷物を手にすることができない。ユーザは、記憶装置内のデータを消すなどして記憶装置容量を増やすか、プリンタドライバの設定を変更し、解像度を落とすなどしてデータ量を小さくするなどの試行錯誤をしながら印刷を再度試みる必要がある。
【０００４】
また、近年、前記パソコンの簡易版のものとして、ハードディスクドライブ等の大容量記憶装置を備えず、その代わりとして数十ＭＢのデータを記憶できるメモリ（ＲＡＭ）のみを記憶装置として備える簡易パーソナルコンピュータ（以下ハンドヘルドＰＣ）やそのような簡易型ＯＳを搭載したインターネット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｉｓｔａｎｔｓ）と呼ばれる携帯型のデータ端末が増えつつある。これら小容量のＲＡＭをワークメモリとして印刷を行う場合、プリンタドライバが印刷に必要なメモリ領域をＲＡＭ上に確保できず、メモリ不足が原因となって印刷ができないケースが多発していた。
【０００５】
【発明が解決しようとする課題】
前述したとおり、前記ハンドヘルドＰＣやＰＤＡなどの携帯端末からの印刷システムの場合、プリンタドライバが必要とするメモリ領域を確保できない場合、印刷処理を中止してしまい、ユーザは印刷物を手にすることはできない。特にカラー印刷の場合、モノクロ印刷と比べ、プリンタドライバ処理においてワークメモリ量が多く必要とされ、印刷できない場合が多い。その場合、ユーザは携帯端末内の記憶装置内のデータを消す等してメモリ量を増やすか、プリンタドライバの設定を変更して、印刷データのサイズを小さくするなどして再度印刷を試みる必要がある。またこれらハードディスクを持たずＲＡＭをワークメモリとして使用する携帯端末では、利用可能なＲＡＭスペースのうち、プログラムやファイルの保存スペースとして利用されるデータ記憶用エリアと、プログラムが実行するときにワークエリアとして使用されるプログラム実行用エリアとにユーザが任意に配分することが可能である場合、ユーザは高品位の印刷を実行するためにプログラム実行用エリアを広く利用可能な状態にしておかなければならない。しかしながら、ユーザはどのくらいのプログラム実行用エリアが必要かわからず、記憶装置内のメモリを使って所望する印刷物を手に入れるために試行錯誤を行うこととなる。
【０００６】
そこで、携帯端末内のメモリ不足により印刷処理が行えない場合に、いかにユーザの試行錯誤なしで携帯端末から所望する印刷が行えるようにするかが解決しようとする課題である。
【０００７】
【課題を解決するための手段】
有限の容量からなりデータを読み書き可能な記憶手段を備える携帯端末と、印刷可能なプリンタとから構成され、前記携帯端末と前記プリンタとは、双方向通信が可能なインタフェースにて接続されている。前記携帯端末には印刷可能なアプリケーションソフトウェアとそのデータを前記プリンタが理解できる印刷データに変換作成し、前記プリンタ装置へ前記インタフェースを介して送信することができるプリンタドライバが組み込まれている。この携帯端末のメモリがプログラム実行用とデータ記憶用とにユーザが手動で割当量を変更することが可能である場合、前記アプリケーションソフトウェアにおいて印刷が実行され、前記プリンタドライバ処理が開始されたとき、前記プリンタドライバが利用可能なプログラム実行用メモリ領域の大きさを確認し、この利用可能なメモリ領域の大きさと前記プリンタドライバが前記印刷データ生成に必要なワークメモリの大きさとを比較し、前記必要ワークメモリ量が前記利用可能領域の大きさより大きいとき、利用できるプログラム実行用エリアとデータ記憶用エリアを適切な配分に割り当て直すことを可能とした。これにより、前記携帯端末の持つ記憶装置でプログラム実行用メモリ不足に陥ったとしても、ユーザ操作なしで印刷を継続することができる。
【０００８】
また、印刷処理終了時には前記プリンタドライバは、メモリの割り当てを印刷前の状態に戻すことを可能とした。
【０００９】
【発明の実施の形態】
以下、図面に示す実施形態に基づき本発明を詳細に説明する。
【００１０】
図１は本発明を実施した印刷システムの構成を表す図である。同図において１はハンドヘルドＰＣであり、搭載されているＯＳはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）  ＣＥである。２は液晶ディスプレイ、３はキーボード、４はＵＳＢポート（ホスト）である。５はインクジェット方式のカラープリンタであり、６はＵＳＢポート（クライアント）である。ハンドヘルドＰＣ１とプリンタ５とはＵＳＢケーブル７で接続されており、これらの装置間でデータの双方向通信が可能である。
【００１１】
図２はハンドヘルドＰＣ１の内部ハードウェア構造を表すブロック図である。ハンドヘルドＰＣ１は簡易パソコンとして活用される携帯端末であり、その主な特徴としてハードディスクのような大容量記憶装置（通常、数ＧＢのデータを記憶できる装置）を備えておらず、記憶手段としてはＲＡＭのみを備える。同図において、８はマイクロプロセッサ等から構成されるＣＰＵであり、ハンドヘルドＰＣ１の中央処理装置として、ＲＯＭ９に記憶されているプログラムに従って、ＲＡＭ１０、通信部１１、表示部１２、操作部１３を制御する。ＲＯＭ９には前記ＯＳ、ディスプレイやポートを制御する各デバイスドライバやハンドヘルドＰＣ１上で動作する各アプリケーション等が記憶されている。ＲＡＭ１０は通常３２ＭＢ程度の容量で構成され、そのうちの約半分がプログラム実行用に、残りがデータ記憶用に割り当てられる。通信部１１にはＵＳＢポート４が含まれており、ＵＳＢの通信を制御する。表示部１２には液晶ディスプレイ２が含まれており、アプリケーション等のユーザーインタフェース（以降ＵＩと省略することがある）の表示等の制御を行う。操作部１３にはキーボード３が含まれており、キー入力を制御する。
【００１２】
図３はプリンタ５の内部ハードウェア構成を表すブロック図である。同図において、１４はマイクロプロセッサ等から構成されるＣＰＵであり、プリンタ５の中央処理装置としてＲＯＭ１５に記憶されているプログラムに従って、ＲＡＭ１６、通信部１７、記録部１８を制御する。ＲＯＭ１５はプリンタドライバ（図４にて後述する）の制御に従ってプリンタ５が印刷を行うプログラムが記憶されている。ＲＡＭ１６は主にハンドヘルドＰＣ１から送られて、それをもとに記録部１８によって印刷される印刷データが一時的に記憶される。通信部１７にはＵＳＢポート６が含まれており、ＵＳＢの通信を制御する。記憶部１８は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印刷データをもとに前記記録ヘッドにて印刷用パルスを発生させるためのＡＳＩＣ等から構成される電気回路とから構成される。印刷可能なアプリケーション上での印刷操作によって、ファイルの表示内容（画像データ）がプリンタドライバを介してプリンタ制御用コマンドを含む印刷データに変換された後、ハンドヘルドＰＣ１のＲＡＭ１０のプログラム実行用エリアに一時的に格納され、ＵＳＢポート４からＵＳＢインタフェース７を介してプリンタ５に送られる。プリンタ５にて受信された印刷データは、記憶部１８によって印刷用パルスに変換されて、記録紙上に印刷される。
【００１３】
図４はプリンタ５を制御するプリンタドライバの構成を表すブロック図である。同図において、矢印はデータのフローを表す。１９はプリンタドライバであり、ハンドヘルドＰＣ１のＲＯＭ９、場合によってはＲＡＭ１０に記憶されている。２０はＵＩ制御部であり、プリンタドライバ１９のＵＩを制御する。２１はプリンタ制御部であり、プリンタ５からの応答コマンドに基づいてＵＩ制御部にプリンタ５の状態を伝えたりする。２２はポート制御部であり、プリンタ制御部２１から渡された印刷データを通信部１１に対してライトしたり、プリンタ５からの応答コマンドを通信部１１からリードしたり、主にプリンタドライバレベルからみたポートの制御を行う。
【００１４】
図５はハンドヘルドＰＣ１内のＲＡＭ１０の手動割り当て方法を示す図である。これはＯＳの機能として提供され、ユーザは必要に応じてＲＡＭ１０をデータ記憶用とプログラム実行用の配分を変更することができる。
【００１５】
スライダーのうち２３はハンドヘルド１内のＲＡＭ１０の総容量を意味する。このうち現在使用可能な容量は２４で示される。ユーザがつまみ２５を左右に動かすことによって、ＲＡＭ１０をデータ記憶用とプログラム実行用とに任意に割り当てることができる。つまみ２５を左に移動させるとプログラム実行用に使用されるメモリが増加し、右に移動させるとデータ記憶用に使用されるメモリが増加する。２６はデータ記憶用の有効領域をキロバイトで表示しており、２７はデータ記憶用の既に使用されている領域をキロバイトで表示している。２６と２７の差が現在使用可能なデータ記憶用メモリ量である。２８はプログラム実行用の有効領域をキロバイトで表示しており、２９はプログラム実行用の既に使用されている領域をキロバイトで表示している。２８と２９の差が現在使用可能なプログラム実行用メモリ量である。ユーザはサイズの大きなファイルをコピーしたり、アプリケーションをインストールしたりするときはデータ記憶用を大きく割り当てる必要があり、アプリケーションを実行するために多くのメモリを必要とする際にはプログラム実行用を大きく割り当てる必要がある。ＯＫボタン３０がタップされるとメモリ割り当て変更を反映させる。キャンセルボタン３１がタップされるとメモリ割り当て変更を中止する。
【００１６】
図６はメモリ容量不足による印刷不可能メッセージを示す図であり、データ記憶用メモリの空き容量も足らず、印刷を続行できない旨と、その場合の対処方法をユーザに知らせるメッセージを表示する。ＯＫボタン３２がタップされると印刷処理を中止する。
【００１７】
図７は実施形態の動作（処理）を表すフローチャートであり、この図面に従って動作の説明をする。印刷処理が開始されると（Ｓ９０１）、ハンドヘルドＰＣ１のＲＯＭ９内に格納されているオペレーションシステム（ＯＳ）よりプリンタドライバへ多値のラスターデータが複数ラスターずつ送られてくる。そしてその中でハーフトーン処理に必要なラスター数分のデータについて、誤差拡散等のハーフトーン処理に必要な誤差拡散メモリやハーフトーン後のデータ格納メモリ等用のバッファメモリサイズを計算する（Ｓ９０２）。次にハンドヘルドＰＣ１内で利用可能なプログラム実行用に割り当てられたＲＡＭ容量を確認し（Ｓ９０３）、ドライバが印刷処理に必要なワークメモリの大きさとを比較し（Ｓ９１２）、必要ワークメモリ量が利用可能なＲＡＭ領域の大きさより大きい場合、ステップＳ９０７へ進む。印刷処理に必要な空きメモリが十分にある場合は、通常のドライバ処理の次のステップＳ９０４へ進む。プログラム実行用メモリに印刷に必要なバッファを確保し（Ｓ９０４）、印刷データを生成し（Ｓ９０５）、ポートへ印刷データを書き込み（Ｓ９０６）、ドライバ処理を終了する（Ｓ９１４）。
【００１８】
Ｓ９１２においてハンドヘルドＰＣ１内のプログラム実行用空きメモリが足りない場合、ステップＳ９０７へ進み、データ記憶用メモリの空き容量をチェックする（Ｓ９０７）。印刷処理に必要な空きメモリが存在する場合は、データ記憶用メモリ量を記憶し（Ｓ９０８）、プログラム実行用メモリを増加させる（Ｓ９０９）。このときメモリ割り当て変更フラグをたてておく（Ｓ９１０）。その後プログラム実行用メモリにバッファを確保し（Ｓ９０４）、印刷データを作成し（Ｓ９０５）、ポートへ印刷データを書き込み（Ｓ９０６）、ドライバ処理を終了する（Ｓ９１４）。Ｓ９１３において、データ記憶用メモリの空き容量が足りないときは、印刷不可能メッセージを表示し（Ｓ９１１）、ドライバ処理を終了する（Ｓ９１４）。
【００１９】
図８は印刷終了時の動作（処理）を表すフローチャートである。印刷処理が終了すると（Ｓ９１５）、メモリ割り当て変更フラグをチェックする（Ｓ９１６）。図７のＳ９１０においてメモリ割り当て変更フラグがセットされている場合は、データ記憶用メモリをＳ９０８において記憶してあるメモリ量分増加させ（Ｓ９１７）、処理を終了する（Ｓ９１８）。Ｓ９１６においてメモリ割り当て変更フラグがＯＦＦのときは何もせず処理を終了する（Ｓ９１８）。
【００２０】
以上、本発明の動作（処理）について説明したが、本実施形態においてはインクジェット方式のカラープリンタの例を挙げた。この例に限らず、カラーレーザービームプリンタなどでの印刷システムにおいても有効である。
【００２１】
また、本実施形態では例としてハンドヘルドＰＣ１に搭載するＯＳにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）  ＣＥを使用したが、このＯＳに限られることなく同様な構成をとることにより、任意のＯＳにおいて実現可能である。
【００２２】
また、本実施形態では携帯端末としてハンドヘルドＰＣを例に挙げたが、小容量の記憶装置しか搭載していないインターネットアプライアンス機器及びＰｏｃｋｅｔ  ＰＣのようなＰＤＡからの印刷においても本発明は有効である。
【００２３】
また、本実施形態においては、例としてハンドヘルドＰＣ１とプリンタ５との間のインタフェースとしてＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースを用いたが、このインタフェースに限られることなく、赤外線通信やＢｌｕｅｔｏｏｔｈなどの双方向可能な無線インタフェースなど同様な構成をとることにより任意のインタフェースにおいて実現可能である。
【００２４】
【発明の効果】
本発明によれば次のような効果が得られる。
【００２５】
（１）携帯端末の記憶装置の容量不足（メモリ不足）に陥っても、画質を落とすことなく印刷を続行することができる。
【００２６】
（２）携帯端末の記憶装置の容量不足（メモリ不足）に陥っても、印刷設定の再設定やメモリ空き容量を増やす作業等の試行錯誤をすることなく印刷を続行することができる。
【００２７】
（３）印刷操作に関するユーザの操作性を向上することができる。
【００２８】
（４）メモリ増設等のコストがかからず高解像度のデータ印刷を行うことができる。
【図面の簡単な説明】
【図１】印刷システム構成図。
【図２】ハンドヘルドＰＣ１の内部ハードウェア構成ブロック図。
【図３】プリンタ５の内部ハードウェア構成ブロック図。
【図４】プリンタ５を制御するプリンタドライバ構造ブロック図。
【図５】ハンドヘルドＰＣ１内のＲＡＭ１０の手動割り当て。
【図６】メモリ不足エラーメッセージ。
【図７】印刷開始時の動作を示すフローチャート。
【図８】印刷終了時の動作を示すフローチャート。
【符号の説明】
１  ハンドヘルドＰＣ
４  ＵＳＢポート  ハンドヘルドＰＣ，ホスト
５  カラープリンタ
６  ＵＳＢポート  プリンタ
１０  ハンドヘルドＰＣのメモリ
１９  プリンタドライバ
【図１】
2004192319.tif 000003
【図２】
2004192319.tif 000004
【図３】
2004192319.tif 000005
【図４】
2004192319.tif 000006
【図５】
2004192319.tif 000007
【図６】
2004192319.tif 000008
【図７】
2004192319.tif 000009
【図８】
2004192319.tif 000010