(57)【要約】【課題】印刷ジョブデータから導出された少なくとも一つのページ面に対するラスタライズされたビットマップデータの解析に基づき、印刷ジョブの処理中に、プリンタの構成を動的に変更するためのシステム及び方法を提供する。【解決手段】幾つかの実施の形態において、プリンタが両面モードで印刷中に、ラスタライズされたビットマップデータの解析により裏ページ面がデータを有しないことが示された場合、プリンタの両面ユニットを迂回できるように、プリンタの構成を片面モードに設定できる。両面とも画像データを有する場合には、プリンタを両面モードに設定する。【選択図】図４
2009113474.tif 000002
【特許請求の範囲】
【請求項１】
プリンタの構成を動的に変更する方法であって、
用紙の少なくとも一ページ面のビットマップデータを解析するステップと、
前記少なくとも一ページ面のビットマップデータの解析に基づき、前記プリンタの構成案中の少なくとも１つのパラメータの値を決定するステップと、
現在の構成中の少なくとも１つの対応するパラメータ値を前記構成案中の前記少なくとも１つのパラメータの値に変更することにより、前記プリンタの前記現在の構成を更新するステップと、
前記更新された構成を適用し、前記ビットマップデータに従って、前記用紙の前記少なくとも一ページ面を印刷するステップと、
を備えることを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、前記少なくとも一ページ面の前記ビットマップデータを解析する前記ステップは、少なくとも１つの裏ページ面のビットマップデータの解析を行うステップを更に備えることを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、前記少なくとも一ページ面の前記ビットマップデータを解析する前記ステップは、前記ページ面の前記ビットマップデータが、実質的なビットマップ化された画像データを含むか否かを判断するステップを更に備えることを特徴とする方法。
【請求項４】
請求項１に記載の方法であって、前記現在の構成中の前記パラメータに対応する値を、前記構成案中の前記パラメータの値が前記現在の構成中の前記対応するパラメータの値と異なっている場合に、前記構成案中の前記パラメータの値に変更することを特徴とする方法。
【請求項５】
請求項１に記載の方法であって、前記少なくとも一ページ面の前記ビットマップデータの前記解析に基づいて、前記プリンタの前記構成案中の少なくとも一つのパラメータの値を決定する前記ステップは、
裏ページ面の前記ビットマップデータの解析が、該裏ページ面が白紙であることを示した場合、前記プリンタの前記提案された印刷モードパラメータの値を片面モードに設定するステップと、
それ以外の場合、前記プリンタの前記提案された印刷モードの値を両面モードに設定するステップと、
を更に備えることを特徴とする方法。
【請求項６】
請求項１に記載の方法であって、前記ビットマップデータがフレームバッファ中にあることを特徴とする方法。
【請求項７】
請求項５に記載の方法であって、前記裏ページ面の前記ビットマップが実質的なビットマップ化されたデータを有しない場合、前記裏ページ面は白紙であることを特徴とする方法。
【請求項８】
請求項１に記載の方法であって、該方法は、プリンタ上で全体的に実行されることを特徴とする方法。
【請求項９】
プロセッサにより実行されたときに、動的にプリンタ構成を変更するための方法中のステップを実行する指示を有するコンピュータ読み取り可能なメモリであって、前記方法は、
用紙の少なくとも一ページ面のビットマップデータを解析するステップと、
前記少なくとも一ページ面の前記ビットマップデータの解析に基づき、前記プリンタの構成案中の少なくとも一つのパラメータの値を決定するステップと、
現在の構成中の少なくとも一つの対応するパラメータの値を前記構成案中の前記少なくとも一つのパラメータの値に変更することにより前記プリンタの現在の構成を更新するステップと、
前記更新された構成を適用し、前記ビットマップデータに従って前記用紙の前記少なくとも一ページ面を印刷するステップと、
を備えることを特徴とするメモリ。
【請求項１０】
請求項９に記載のコンピュータ読み取り可能なメモリであって、前記少なくとも一ページ面に対する前記ビットマップデータを解析する前記ステップは、少なくとも一つの裏ページ面のためのビットマップデータの解析を行うステップを更に備えることを特徴とするメモリ。
【請求項１１】
請求項９に記載のコンピュータ読み取り可能なメモリであって、前記少なくとも一ページ面の前記ビットマップデータを解析する前記ステップは、前記ページ面の前記ビットマップデータが、何らかの実質的なビットマップ化された画像データを含むか否かを判断するステップを更に備えることを特徴とするメモリ。
【請求項１２】
請求項９に記載のコンピュータ読み取り可能なメモリであって、前記構成案中の前記少なくとも一つのパラメータの値を用いて前記プリンタの前記現在の構成を更新する前記ステップは、前記構成案中の前記パラメータの値が前記現在の構成中の前記パラメータの値と異なっている場合に、実行されることを特徴とするメモリ。
【請求項１３】
請求項９に記載のコンピュータ読み取り可能なメモリであって、前記プリンタの前記構成案中の前記少なくとも一つのパラメータの値を、前記少なくとも一ページ面の前記ビットマップデータの前記解析に基づいて、決定する前記ステップは、
裏ページ面の前記ビットマップデータの解析が前記裏ページ面が白紙であることを示した場合、前記プリンタの前記提案された印刷モードパラメータの値を片面モードに設定するステップと、
それ以外の場合、前記プリンタの前記提案された印刷モードの値を両面モードに設定するステップと、
を更に備えることを特徴とするメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷装置の構成に係り、特に画像のビットマップ表現中で得られる情報に基づいて印刷モードを動的に変更するためのシステムと方法に関する。
【背景技術】
【０００２】
一般的には、印刷ジョブは、印刷するデータと、このデータを印刷するための指示との双方を含む。これらの指示は、ジョブの開始に先立ってプリンタを構成するための情報を含むことができる。印刷ジョブのために確立された構成は、ジョブが継続している間は有効である。
【０００３】
例えば、従来のプリンタは、データを片面モード及び／又は両面モードで印刷できる。片面モードで印刷されるデータは、ページの表面に印刷され得るが、両面モードで印刷されるデータは、ページの両面（表面と裏面）に印刷され得る。両面モード印刷は、両面送り装置を使用でき、この両面送り装置は、両面用紙搬送路を介してページを搬送する。ページの両面が印刷されると、そのページはプリンタから排出される。両面印刷を使用すると用紙を節約できるが、印刷ジョブに必要な時間が増大し、プリンタの損耗が増大する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的には、印刷ジョブは、全体的に片面モード又は両面モードとして取り扱われる。従って、両面モードの印刷ジョブ中の各ページは、片面が白紙であっても、両面ユニット中に搬送される。効率が悪い上に、両面ユニットを不必要に用いることによって、印刷ジョブにかかる時間が長くなる。さらに、ユーザが、印刷された各ページの表面に対して料金を請求される状況では、両面モードを使用すると、印刷された用紙の片面が白紙であっても、ユーザは余分なページ面に対しても料金が請求されることとなり得る。この問題が生じる一つの理由は、プリンタの片面モード又は両面モードの構成はジョブを開始する前に設定され、ジョブ全体を通して適用されるからである。従って、印刷されたページの計数の精度を保証しながら、印刷ジョブの処理中にプリンタの構成を動的に変更できる方法とシステムとが望まれている。
【課題を解決するための手段】
【０００５】
プリンタの構成を動的に変更する幾つかの方法では、プリンタの構成案中の少なくとも一つのパラメータの値を、一枚の用紙の少なくとも一ページ面に対するビットマップデータの解析に基づいて決定でき、現在の構成において少なくとも一つの対応するパラメータの値を、構成案中の少なくとも一つのパラメータの値に変更することにより、プリンタの現在の構成を更新でき、更新された構成を適用して、ビットマップデータに従って、当該用紙の少なくとも一ページ面を印刷することができる。
【０００６】
本発明の態様は、コンピュータ読み取り可能な媒体又はコンピュータ読み取り可能なメモリを用いるプロセッサにより、作成され、格納され、アクセスされ、又は修正されたソフトウェア、ファームウェア及びプログラムの指示にも関する。説明される方法は、コンピュータ及び／又は印刷装置上で実行できる。
【０００７】
さらなる目的及び利点は、後に続く説明に部分的に記載され、その説明から部分的に明らかになるか、又は実施によってわかることがある。目的及び利点は、特許請求の範囲中で特に指摘されている要素及び組み合わせを用いて実現され、達成されるであろう。斯かる一般的な記述と以下の詳細な説明との両者が単に例示的説明的なものであって、特許請求の範囲に記載された本発明を限定するものではないことを理解されたい。これら及びその他の態様は、以下の図を参照して更に説明される。
【発明を実施するための最良の形態】
【０００８】
ここで、添付の図面に示す種々の実施の形態を詳細に参照する。可能な限り、同一ないしは同様な部分を参照するため、全図面を通して同一の参照番号が用いられる。
【０００９】
図１は、文書を印刷するための例示的なシステムの構成要素を例示するブロック図１００を示す。図１に示すように、プリンタの動的な構成及び管理のためのアプリケーションを、コンピュータ及び印刷装置のネットワーク上に展開することができる。これらは通信リンクを介して接続され、この通信リンクは、従来の通信プロトコル及び／又はデータポートインタフェースを用いて情報を交換できるようにする。
【００１０】
図１に示すように、例示的なシステム１００は、例示的なコンピュータ装置１１０及びサーバ１３０等のコンピュータを含む。さらに、コンピュータ装置１１０及びサーバ１３０は、接続１２０を介して通信でき、接続１２０は、ネットワーク１４０を通過できる。コンピュータ装置１１０は、コンピュータワークステーション、ディスクトップコンピュータ、ラップトップコンピュータ、又はネットワーク環境で使用できるその他の計算装置であり得る。サーバ１３０は、コンピュータ装置１１０及び図示しないその他の装置に接続できるプラットフォームであり得る。コンピュータ装置１１０及びサーバ１３０は、図示しないソフトウェアを実行でき、このソフトウェアは、プリンタ１７０を用いて文書の印刷を可能にすることができる。
【００１１】
コンピュータ装置１１０及び／又はサーバ１３０上で動作する文書処理ソフトウェアは、ユーザが便利に、文書を見たり、編集したり、処理したり、格納したりすることを可能にすることができる。文書中の印刷すべきページは、ページ記述言語（「ＰＤＬ」）で記述できる。ＰＤＬは、ポストスクリプト（ＰｏｓｔＳｃｒｉｐｔ）、アドビ（Ａｄｏｂｅ）ＰＤＦ、ＨＰ  ＰＣＬ、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）ＸＰＳ及びそれらの変種を含み得る。文書のＰＤＬ記述は、文書中の各ページの高レベルな記述を提供する。このＰＤＬ記述は、文書が印刷されるときに、ほとんどの場合で、一連のプリンタ固有の低レベルコマンドに翻訳される。
【００１２】
ＰＤＬからプリンタ固有の低レベルコマンドへの翻訳工程は、複雑で、例示的なプリンタ１７０により提供される特徴と性能とに依存し得る。例えば、プリンタ１７０は、そのデータを段階的に処理し得る。第一の段階で、プリンタ１７０は、ＰＤＬコマンドを解析し、高レベルの指示を、基本命令と呼ばれる一組の低レベルの指示に分解する。これらの基本命令は、例示的なプリンタ１７０の次の段階に供給され、ページ上のどこの位置に記号を置くかを決定するために使用され得る。幾つかの例においては、各基本命令は、それが生成されるのと同時に処理され得る。他のシステムにおいては、大きな組の基本命令が生成され、格納され、そして処理され得る。例えば、一ページを記述するのに必要な基本命令が生成され、リスト中に格納され、そして処理され得る。一組の格納された基本命令は、ほとんどの場合、ディスプレイリストと称される。
【００１３】
例示的なプリンタ１７０は、電子データから物理的文書を生成する、レーザプリンタ、インクジェットプリンタ、ＬＥＤプリンタ、プロッタ、ファクシミリ装置及びデジタル複写機等の装置を含むが、これらに限定される訳ではない。この文書に記述する方法及び装置は、適当な修正を加え、かつここに開示する実施の形態と一致する方法で、プリンタ１７０のこれらの種々の装置のタイプにも適用できる。例示的なプリンタ１７０は、片面モード、両面モード、白黒モード及び／又はカラーモードの印刷を可能にし得る。片面モードでは印刷媒体の片側のみ印刷される一方、両面モードでは両面に印刷画像を保持し得る。幾つかの実施の形態においては、印刷画像は、フレームバッファ中のビットマップ化された画像から導出することができる。例示的なプリンタ１７０は、コンピュータ装置１１０又はサーバ１３０から接続１２０を通じて受信した文書を、直接印刷すること可能にし得る。幾つかの実施の形態においては、このような構成により、コンピュータ装置１１０又はサーバ１３０による追加的な処理を用いて（又は用いずに）、文書の直接印刷が可能となり得る。一以上のテキスト、グラフィックス及びイメージを含み得る文書の処理を分配できる。従って、コンピュータ装置１１０、サーバ１３０及び／又はプリンタ１７０は、プリンタ１７０により文書を物理的に印刷する前に、階調表現、色合わせ及び／又はその他の操作処理等の文書印刷処理の一部を実行できる。
【００１４】
コンピュータ装置１１０は、取り外し可能なメディアドライブ１５０も含む。取り外し可能なメディアドライブ１５０は、例えば、３．５インチフロッピードライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ  ＲＯＭドライブ、ＣＤ±ＲＷ又はＤＶＤ±ＲＷドライブ、ＵＳＢフラッシュメモリドライブ及び／又はその他の全ての取り外し可能なメディアドライブを含み得る。アプリケーションの一部は、取り外し可能な媒体上にあり、システム１００による作用を受ける前に、取り外し可能なメディアドライブ１５０を用いて、コンピュータ装置１１０により読み出すことができる。
【００１５】
接続１２０は、コンピュータ装置１１０、サーバ１３０及びプリンタ１７０を接続し、従来の 通信プロトコル及び／又はデータポートインタフェースを用いて、有線又は無線の回線として実施することができる。一般に、接続１２０は、装置間でのデータ伝送を可能にする全ての通信チャンネルであり得る。ある実施の形態においては、例えば、並列ポート、直列ポート、イーサネット、ＵＳＢ、ＳＣＳＩ、ＦＩＲＥＷＩＲＥ及び／又は適当な接続を介してデータを送信するための同軸ケーブルポート等の従来のデータポートを、前記装置に設けることができる。
【００１６】
ネットワーク１４０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、又はインターネットを含み得る。幾つかの実施の形態においては、ネットワーク１４０を通じて送信された情報を暗号化することで、送信されるデータのセキュリティを保証できる。プリンタ１７０は、接続１２０を介してネットワーク１４０に接続され得る。例示的なプリンタ１７０は、コンピュータ装置１１０及び／又はサーバ１３０に直接接続することもできる。システム１００は、図示しない他の周辺装置も含み得る。柔軟な構成及び印刷装置の管理のためのアプリケーションは、図１に示すように、一以上の例示的なコンピュータ又はプリンタ上に展開できる。例えば、コンピュータ装置１１０は、サーバ１３０からソフトウェアを直接ダウンロードでき、アプリケーションの一部を例示的なプリンタ１７０により実行できる。幾つかの実施の形態においては、動的なプリンタの構成及び管理のためのアプリケーションを、ハードウェア、ソフトウェア及びファームウェアの何れかの組み合わせを用いてプリンタ１７０により全体的に実行できる。
【００１７】
図２は、例示的なプリンタ１７０のブロック図２００を示す。例示的なプリンタ１７０は、ＣＰＵ１７６、ファームウェア１７１、メモリ１７２、入出力ポート１７５、印刷エンジン１７７及び二次記憶装置１７３を接続するバス１７４を含むことができる。例示的なプリンタ１７０は、アプリケーションの一部を実行して文書の印刷又は処理を実行できるその他の特定用途向け集積回路（ＡＳＩＣ）及び／又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）１７８も含むことができる。例示的なプリンタ１７０は、Ｉ／Ｏポート１７５及び接続１２０を用いて、コンピュータ装置１１０中の二次記憶装置又はその他のメモリにもアクセス可能である。幾つかの実施の形態においては、プリンタ１７０は、プリンタのオペレーティングシステム及びその他の適当なアプリケーションソフトウェアを含むソフトウェアも実行できる。例示的なプリンタ１７０は、用紙サイズ、出力トレイ、色選択、片面モード及び両面モード等の印刷モード及び印刷解像度を、その他のオプションの中からユーザが構成できるようにすることができる。
【００１８】
例示的なＣＰＵ１７６として、汎用プロセッサ、特定用途プロセッサ又は組み込みプロセッサを用いることができる。ＣＰＵ１７６は、制御情報及び指示を含むデータをメモリ１７２及び／又はファームウェア１７１と交換できる。メモリ１７２は、ＳＤＲＡＭ又はＲＤＲＡＭ等（ただしこれらに限定される訳ではない）の動的ランダムアクセスメモリ（「ＤＲＡＭ」）のどのタイプのものも使用し得る。ファームウェア１７１は指示及びデータを保持でき、当該指示及びデータは、例えば起動シーケンス、画像処理ルーチン、動的なプリンタの構成及び管理のためのルーチン、トラッピング、文書処理、及びその他のコードを含む予め定めたルーチンを含むが、これらに限定されるものではない。幾つかの実施の形態においては、ファームウェア１７１のコード及びデータは、ＣＰＵ１７６により実行される前に、メモリ１７２にコピーされ得る。ファームウェア１７１中のルーチンは、コンピュータ装置１１０から受信したページ記述をディスプレイリストに翻訳するためのコードを含むことができる。幾つかの実施の形態においては、ファームウェア１７１は、ディスプレイリスト中のディスプレイコマンドを適当なラスタライズされたビットマップに変換し、変換されたビットマップをメモリ１７２に格納するためのラスタライズルーチンを含むことができる。ファームウェア１７１は、フレームバッファ等のメモリに格納されたビットマップを解析及び処理するためのルーチン、画像圧縮及び伸張のためのルーチン、及び／又はメモリ管理ルーチンも含むことができる。ファームウェア１７１中のデータ及び指示は、コンピュータ１１０、ネットワーク１４０、プリンタ１７０に接続された取り外し可能な媒体及び／又は二次記憶装置１７３のうちの一以上を用いて更新可能である。
【００１９】
例示的なＣＰＵ１７６は、指示及びデータに応じて動作し、ＡＳＩＣ／ＦＰＧＡ１７８及び印刷エンジン１７７を制御し、データを提供して、印刷された文書を生成する。ＡＳＩＣ／ＦＰＧＡ１７８は印刷エンジン１７７を制御し、データを提供し得る。ＡＳＩＣ／ＦＰＧＡ１７８は、翻訳、トラッピング、ビットマップ解析及び処理、圧縮及びラスタライズアルゴリズムのうちの一以上を実施し得る。
【００２０】
例示的なコンピュータ装置１１０は、文書データを第一の印刷可能なデータに変換し得る。ある実施の形態においては、この第一の印刷可能なデータは、文書のＰＤＬ記述に対応し得る。そして、この第一の印刷可能なデータは、中間的な印刷可能データへの変換のためにプリンタ１７０に送信され得る。幾つかの実施の形態において、文書のＰＤＬ記述から一連のプリンタ固有の低レベルコマンドを含む最終的な印刷可能データへの翻訳工程は、対象のディスプレイリストを含む中間的な印刷可能データを生成することを含み得る。ディスプレイリストは、一以上のテキスト、グラフィックス及びイメージのデータのオブジェクトを保持でき、ディスプレイリスト中の一種類以上のデータのオブジェクトは、ユーザ文書中のオブジェクトに対応し得る。中間的な印刷可能データを生成する助けとなるディスプレイリストは、メモリ１７２又は二次記憶装置１７３中に格納できる。ある実施の形態においては、ディスプレイリストはディスプレイリストバッファ５２０（図５）に保存されてもよく、ディスプレイリストバッファ５２０はメモリの一領域でもよい。
【００２１】
例示的な二次記憶装置１７３は、内部の又は外部のハードディスク、メモリスティック又はその他のシステム２００で使用可能なメモリ格納装置であり得る。幾つかの実施の形態においては、ディスプレイリストは、文書処理が発生する場所に応じて、一以上のプリンタ１７０、コンピュータ装置１１０、及びサーバ１３０間に存在してもよいし、それらの間で転送されてもよい。ディスプレイリストを格納するメモリは、専用メモリであるか、又は汎用メモリの一部を構成するか、それらの幾つかの組み合わせであり得る。幾つかの実施の形態においては、ディスプレイリストを保持するためのメモリは、必要に応じて動的に配置され、管理され、解放され得る。プリンタ１７０は、中間的な印刷可能データを印刷可能データの最終的な形態に変換でき、この最終的な形態に応じて印刷できる。
【００２２】
図３は、印刷媒体又は印刷用紙３０３又は例示的な印刷ジョブ３００により生成された、単に印刷されたページを示す。印刷ジョブ３００は、印刷される用紙の数、例えば、図３に示すように３０３（１）から３０３（５）までの５ページを有し得る。用紙３０３は、プリンタ１７０によって受信された印刷データに従って印刷され得る。各印刷用紙３０３は、表ページ面３０１及び裏ページ面３０２により表される２面を有する。図３に示すように、用紙３０３（１）の表ページ面は３０１（１）で表され、用紙３０３（１）の裏ページ面は３０２（１）で表さる。片面印刷モードにおいては、表ページ面３０１は、プリンタ１７０により印刷され、裏ページ面３０２は白紙でもよい。両面印刷モードにおいては、ページ面３０１，３０２の双方がプリンタ１７０により印刷され得る。両面モードにおいては、印刷用紙の両ページ面が、テキスト、グラフィックス、及び／又はイメージ等の印刷画像データを持つであろう。しかし、あるページ面に印刷するデータが存在しない場合には、そのページ面は白紙であり得る。
【００２３】
図４は、プリンタ構成及び管理のための例示的な方法におけるステップを例示するフローチャート４００を示す。図４に記載されたアルゴリズムは、複写機、複合機及び種々の他のタイプの印刷装置にも、適当なその装置固有の修正を施し、ここに開示する実施の形態に合致する方法で適用できる。ステップ４０１において、新しい印刷ジョブのデータが、印刷ジョブ３００中に特定された一以上の環境変数中の情報に従って処理され得る。このような情報は、印刷されたページフレームの所望の解像度、印刷するコピーの枚数、カラー、白黒、片面又は両面等の印刷モードを含み得る。
【００２４】
ステップ４０２において、新しい用紙３０３の画像に対応する印刷データが、ビットマップデータにラスタライズされ得る。ラスタライズは、それにより、ＰＤＬ又はディスプレイリスト表現に含まれる情報が、画像のビットマップ表現に変換される工程である。ビットマップ化された画像とも呼ばれる画像のビットマップ表現において、フレームバッファ５３０は、画素がプリンタ１７０により用紙３０３等の印刷媒体上にどのように印刷されるかに関する情報を含むことができる。ラスタライズされたビットマップデータは、二次記憶装置１７３中に存在し得るフレームバッファ５３０、又はメモリ（ＲＡＭ）１７２中に格納され得る。幾つかの実施の形態において、新しい印刷データの処理は、印刷データの一以上のビットマップへのラスタライズも含み得る。
【００２５】
幾つかの実施の形態において、ビットマップデータは、例示的な印刷用紙３０３の水平方向の矩形の一部に対応する帯のように生成され得る。従って、ページは、フレームバッファ５３０で論理的に多数の帯に分割され得る。例示的なプリンタ１７０は、画像を用紙３０３上に一つの帯ごとに印刷できる。幾つかの実施の形態においては、用紙３０３上に印刷される前に全ページをフレームバッファ５３０中に格納できる。一般に、ラスタライズの実施は、例示的なプリンタ１７０により提供される特定の性能に依存し得る。さらに、例示的なフローチャートのステップ４０３では、ビットマップデータが解析され、プリンタ構成、印刷の料金、及び／又はプリンタのモニタリングに関連する画像の特性が検出され得る。
【００２６】
幾つかの実施の形態においては、ビットマップデータを帯毎に解析できる。幾つかの実施の形態においては、ビットマップデータの解析は、帯全体又はページ全体が描画された後に行われ得る。ある実施の形態においては、ビットマップデータの解析は、ビットマップデータのフレームバッファへの描画と同時に行われ得る。もう一つの実施の形態においては、ビットマップ解析モジュール５０３(図５)が、ページ３０３に描画すべきデータが存在しない場合を検出できる。例えば、ページ３０３のページ面３０１及び／又は３０２に印刷すべきデータがフレームバッファ５３０中に存在しない場合、ビットマップ解析モジュール５０３は、白紙のページ面の標識を送信又は設定できる。もう一つの実施の形態において、フレームバッファ中のビットマップデータを解析して、用紙３０３が画像により覆われる割合を検出できる。ある実施の形態において、ビットマップデータを解析して、ページ面３０１又は３０２のためのデータが全体的に白及び黒画素から成るか否かを決定できる。
【００２７】
幾つかの実施の形態において、ビットマップデータを解析して得られた結果をプリンタ１７０の構成案を生成するために使用できる。構成案は、一以上のプリンタ構成パラメータに割り当てることのできる提案された値から構成できる。幾つかの実施の形態においては、これらのパラメータは一以上のプリンタ構成の設定に対応できる。例えば、一つのパラメータが、プリンタが片面モードで印刷するか両面モードで印刷するかを示す印刷モードの設定に対応することができる。
【００２８】
ステップ４０３において、構成案におけるパラメータの値が、プリンタ１７０の現在の構成に対応するパラメータの値と比較され得る。幾つかの実施の形態において、構成案が現在の構成と一致した場合（すなわち、すべての提案されたパラメータの値が、それらに対応する現在のパラメータの値に一致する場合）、プリンタ１７０の現在の構成をそのまま変更しないことができる。例えば、プリンタ１７０の現在の構成は、Ｃ＝（Ｃ１、Ｃ２、Ｃ３、…、Ｃｎ）で表せる。ここでＣｉは現在の構成のパラメータｉの値、ｎはプリンタ１７０の構成中のパラメータの合計数である。同様に、構成案は、Ｐ＝（Ｐ１、Ｐ２、Ｐ３、…、Ｐｎ）で表せる。ここで構成案のパラメータＰｉは、現在の構成のパラメータＣｉと互いに対応し、逆もまた同様である。１からｎまでのｉに対してＣｉ＝Ｐｉであれば（対応する現在の構成のパラメータと構成案のパラメータとが一致すれば）、プリンタ１７０の構成案は、プリンタ１７０の現在の構成と同一であり、構成は何ら変更する必要はない。ページの印刷は、ステップ４０４で、プリンタ１７０の現在の構成を用いて実行できる。
【００２９】
プリンタ１７０の現在の構成が、構成案と異なる場合、プリンタ１７０の構成の設定は、構成案を用いてステップ４０５で更新できる。ｉが１からｎまでの何れかのｉに対してＣｉ1Ｐｉである（現在および構成案の一以上の対応するパラメータが異なる）場合、プリンタ１７０の現在の構成は、構成案とは異なる。
【００３０】
例えば、フレームバッファ５３０のビットマップデータの解析（ステップ４０２）が、用紙３０３（３）の裏ページ面３０２が白紙であることを示す場合、プリンタ１７０の印刷モードに対する印刷構成案の設定は、プリンタ１７０によるページ３０３（３）の物理的印刷に先立って、「片面」に設定され得る。この例においては、現在の印刷モードが「両面」である場合、アルゴリズムは、現在の構成が構成案と異なることを示すであろう（ステップ４０３）。従って、ステップ４０５で、プリンタ１７０の印刷モードの構成は片面モードに更新され、表ページ面３０１のみが印刷され、用紙３０３は両面ユニットを通過しない。幾つかの実施の形態において、構成案において変更されたパラメータの値は更新し得る。ステップ４０６において、用紙３０３はプリンタ１７０の更新された構成に従って印刷できる。幾つかの実施の形態において、印刷ジョブ３００のためのプリンタ１７０の構成は、プリンタ１７０により印刷ジョブ３００が処理されている間に、動的に更新又は変更し得る。プリンタ１７０の構成の動的な変更は、プリンタ１７０の構成の変更を、印刷ジョブ３００の処理中になすことを可能にする。
【００３１】
幾つかの実施の形態において、ステップ４１１で、ページ面カウンタも更新され、用紙３０３の片面のみが印刷された画像を有することを示し得る。ある実施の形態においては、プリンタ１７０中の計数モジュール又はページ面カウンタが、用紙が片面装置から排出された時にページ面の計数値に１を追加し、用紙３０３が両面ユニットから排出されるときに２を追加し得る。このような実施の形態においては、プリンタ１７０の構成は片面に更新されたので、両面ユニットは、白紙の裏ページ面３０２を有する用紙３０３には使用されず、正確なページ面の計数値が維持されるであろう。一般に、プリンタ１７０中のページ計数モジュールは、プリンタ１７０にページ面の計数値を維持するために使用される機構のタイプに基づいてページ面の計数値の精度を保証するために、ページ面の計数値を適切に更新又は調整できる。
【００３２】
もう一つの例として、現在のジョブ３００中の次の用紙３０３（４）が両面に画像データを有し、現在のプリンタ１７０の構成が片面モードであれば、用紙３０３（４）の印刷に先立ってプリンタ１７０の構成を両面モードに更新できる。ステップ４０８において、用紙３０３は、プリンタ１７０の更新された構成に従って印刷でき、プリンタ１７０に適当な調整をすることができる。さらに、表ページ面３０１及び裏ページ面３０２の双方が白紙である場合には、ユーザは、一般的には、用紙のコストと印刷資源の使用とを補填するために、少なくとも一面に関しての料金を請求され得る。ユーザが白紙のページに対する料金を発生させるべきでないと望む場合は、アルゴリズムは、全ての白紙のページ面を検出して、白紙でないページ面が印刷された場合のみページ面カウンタを更新するように容易に修正できる。
【００３３】
ステップ４０９において、用紙３０３のページ面（３０１又は３０２）の印刷状態を判定する。このページ面の印刷が成功している場合には、ページ面カウンタを更新できる。このページ面の印刷に成功してない場合には、このページは現在保存されている構成を用いて再印刷できる。ステップ４１２において、印刷ジョブ３００が終了している場合には、アルゴリズムは現在の印刷ジョブ３００を終了し、プリンタ１７０は新しい印刷ジョブを待機する。印刷ジョブ３００が終了していない場合には、アルゴリズムはステップ４０２に戻る。
【００３４】
図５は、プリンタの構成及び管理に対する例示的システム中の機能モジュール間の相互作用を例示する。図５に示す機能モジュールは、例示的説明的目的のみのものであり、異なるモジュールの組み合わせ及び／又はこれらの図示されたものとは異なる機能のモジュールを用いて、説明されたタスクを実施することができる。
【００３５】
図５に示すように、印刷データは、言語サーバタスク５０１に伝送され得る。例示的な言語サーバタスク５０１は、印刷データを読み出し、ＰＤＬコマンドを分解し、ディスプレイリスト基本命令を生成する。幾つかの実施の形態においては、例示的構成管理モジュール５０４を用いて、印刷ジョブ３００中に特定された環境変数を用いてプリンタ１７０を構成できる。従って、印刷ジョブ３００中に存在する環境変数又は言語サーバ５０１により印刷データから生成された環境変数が、プリンタ１７０の構成に影響を及ぼすパラメータの値を設定、更新、リセットすることに使用できる。このような情報は、印刷されたページフレームの所望の解像度、印刷するコピーの枚数、カラー、白黒、片面、又は両面等の印刷モード及びその他のプリンタ１７０の構成の選択肢を含むことができる。言語サーバ５０１は、例示的構成管理モジュール５０４を用いて、プリンタ１７０上の構成の設定からデータを読み出し、構成の設定に書き込むことの双方を行うことができる。構成管理モジュール５０４は、印刷ジョブ３００のためのプリンタ１７０の構成を設定し、プリンタ１７０のその他のモジュールへの構成設定の通信を容易にする。
【００３６】
幾つかの実施の形態においては、言語サーバ５０１により生成されたディスプレイリスト基本命令は、印刷ジョブ３００の処理中の様々な時点にておいて、メモリ１７２中に常駐するディスプレイリストバッファ５２０及び／又は二次記憶装置１７３中に格納できる。例示的なラスタライザサーバタスク５０２は、ディスプレイリストバッファ５２０中のデータをビットマップデータにラスタライズでき、このビットマップデータはフレームバッファ５３０中に格納し得る。幾つかの実施の形態においては、ラスタライザサーバタスク５０２は、エンジンサーバタスク５０５と通信して、ラスタライズのための基本命令を予定に組み込む。ある実施の形態においては、ラスタライザサーバモジュール５０２もビットマップデータをエンジンサーバタスク５０５に送信できる。もう一つの実施の形態において、例示的なラスタライザサーバモジュール５０２は、ビットマップデータの開始点及び／又はビットマップデータ中のその他の位置のポインタ又はアドレスをその他のモジュールに提供できる。
【００３７】
幾つかの実施の形態においては、ビットマップ解析モジュール５０３は、提供されたポインタ又はアドレスを用いてビットマップデータを解析できる。例えば、ビットマップ解析モジュール５０３は、ビットマップデータを解析して用紙３０３の裏ページ面３０２が白紙であるか否かを判定する白紙ページ面検出器のためのルーチンを有し得る。この判定構成に基づいて、プリンタ１７０を動的に更新できる。例えば、ビットマップ解析モジュール５０３は、管理モジュール５０４と相互作用して、用紙３０３の裏ページ面３０２が印刷された画像を有しないことを検出したときに、プリンタ１７０の構成設定を片面モードに動的に変更できる。一方、プリンタ１７０が片面印刷モードで、用紙３０３の両面に印刷された画像が存在すると判定された場合は、プリンタ１７０の構成を動的に両面モードに変更できる。
【００３８】
エンジンサーバモジュール５０５は、ラスタライザサーバタスク５０２によりラスタライズするための基本命令を予定に組み込むことができる。エンジンサーバモジュール５０５は、エンジンドライバモジュール５０６に、ビットマップデータを処理するシーケンスをエンジンドライバモジュール５０６に通知し、エンジンドライバモジュール５０６と通信して印刷エンジン１７７の状態をモニタすることもできる。幾つかの実施の形態においては、エンジンサーバモジュール５０５は、ＦＰＧＡ／ＡＳＩＣドライバ５０７を介してＦＰＧＡ及び／又はＡＳＩＣ１７８により提供された資源を用いて一以上のその機能を遂行できる。例示的なエンジンサーバモジュール５０５は、紙詰まり、プリンタの誤動作等のプリンタの事象をモニタし、用紙３０３の印刷が成功したか否かを判定できる。幾つかの実施の形態において、エンジンサーバモジュール５０５は、構成管理モジュール５０４からプリンタの構成情報を取得できる。そして、例示的な印刷エンジンは、ビットマップデータを、用紙３０３の表ページ面３０１及び／又は裏ページ面３０２上の画像に印刷できる。
【００３９】
幾つかの実施の形態において、例示的な言語サーバモジュール５０１、ラスタライザサーバモジュール５０２、ビットマップ解析モジュール５０３、エンジンサーバモジュール５０５、及びエンジンドライバモジュール５０６は、互いに非同期に通信し、コマンド、データ及び／又は状態情報を交換できる。従って、情報は、印刷ジョブ３００のための印刷データの処理の間いつでもこれらの構成要素間で共有できる。例えば、エンジンドライバモジュール５０６が、印刷のためにプリンタ１７０の指定された入力トレイから用紙３０３を供給することを印刷エンジン１７７に指示している間に、エンジンサーバモジュール１７７は、同時にラスタライザサーバモジュール５０２と通信して、描画のための次のページ面を予定に組み込み、ラスタライザサーバタスク５０２は、ページをラスタライズし、ビットマップ解析モジュール５０３は一以上のビットマップを解析することができる。
【００４０】
幾つかの実施の形態において、例示的なシステム５００は、図５の破線により示したように、製品コード層５０９及び製品に固有のエンジンコード層５１０を備えているものとして見ることができる。機能モジュールのこれらの二層間での分割は、例示的、かつ説明目的のみのものであって、他の実施の形態が可能であり、当該技術に合理的な方法の一つであることが分かるであろうことに注意すべきである。例えば、製品コード層５０９は、コンピュータ１１０から受信した印刷データのビットマップデータへの変換に関する一以上の機能を実施する役割を担う一方、製品に固有のエンジンコード層５１０は、フレームバッファ５３０中のビットマップ化された画像データの操作及びビットマップ化された画像データの印刷エンジン１７７への用紙３０３上への最終的な印刷のための通信の役割を担う。幾つかの実施の形態においては、製品に固有のエンジンコード層５１０は、印刷指示及び／又はプリンタの状態もモニタできる。ある実施の形態においては、製品コード層５０９を修正することにより、ビットマップ解析モジュールを現在のプリンタ１７０に付け加えることができる。
【００４１】
本発明のその他の実施の形態は、明細書の検討及びここに開示された発明の実施を通じて、当業者に明らかであろう。明細書及び例は例示的なものに過ぎないことを意図しており、本発明の本来の要旨及び範囲は、以下の特許請求の範囲に示されたものである。
【図面の簡単な説明】
【００４２】
【図１】文書を印刷するための構成要素を例示する例示的なシステムを示す図である。
【図２】例示的なプリンタのブロック図である。
【図３】例示的な印刷ジョブにより生成されたページを示す図である。
【図４】プリンタの構成及び管理のための例示的な方法のステップを例示するフローチャートである。
【図５】プリンタの構成及び管理のための例示的なシステムにおける機能モジュール間の相互作用を例示する図である。
【図１】
2009113474.tif 000003
【図２】
2009113474.tif 000004
【図３】
2009113474.tif 000005
【図４】
2009113474.tif 000006
【図５】
2009113474.tif 000007
【外国語明細書】
2009113474000001.pdf
2009113474000002.pdf
2009113474000003.pdf
2009113474000004.pdf