説明

印刷の計数のシステム及び方法

【課題】印刷されたページの計数の精度を保証しながら、印刷ジョブの処理中にプリンタの構成を動的に変更する。
【解決手段】画像データが印刷されているページの数を反映するページ面の計数を保守するシステム及び方法において、プリンタが両面モードで印刷しているときに、ラスタライズされたビットマップデータの解析によって裏ページ面がデータを含んでいないことが示された場合、プリンタの両面ユニットが迂回され得るように、プリンタの構成は片面に設定されることがある。両面が画像データを含んでいるならば、プリンタは両面モードに設定される。特に、両面モードで印刷しているとき、裏ページ面が白紙であり、画像データを含んでいないならば、白紙のページ面はページ面の計数に含まれない。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、印刷の計数に関し、特に印刷された画像データを用いて真のページ数を計数するシステム及び方法に関する。
【背景技術】
【0002】
一般的には、印刷ジョブは、印刷するデータと、このデータを印刷するための指示との双方を含む。これらの指示は、ジョブの開始に先立ってプリンタを構成するための情報を含むことができる。印刷ジョブのために確立された構成は、ジョブが継続している間は有効である。
【0003】
例えば、従来のプリンタは、データを片面モード及び/又は両面モードで印刷できる。片面モードで印刷されるデータは、ページの表面に印刷され得るが、両面モードで印刷されるデータは、ページの両面(表面と裏面)に印刷され得る。両面モード印刷は、両面送り装置を使用でき、この両面送り装置は、両面用紙搬送路を介してページを搬送する。ページの両面が印刷されると、そのページはプリンタから排出される。両面印刷を使用すると用紙を節約できるが、印刷ジョブに必要な時間が増大し、プリンタの損耗が増大する。
【発明の開示】
【発明が解決しようとする課題】
【0004】
一般的には、印刷ジョブは、全体的に片面モード又は両面モードとして取り扱われる。従って、両面モードの印刷ジョブ中の各ページは、片面が白紙であっても、両面ユニット中に搬送される。効率が悪い上に、両面ユニットを不必要に用いることによって、印刷ジョブにかかる時間が長くなる。さらに、ユーザが、印刷された各ページの表面に対して料金を請求される状況では、両面モードを使用すると、印刷された用紙の片面が白紙であっても、ユーザは余分なページ面に対しても料金が請求されることとなり得る。この問題が生じる一つの理由は、プリンタの片面モード又は両面モードの構成はジョブを開始する前に設定され、ジョブ全体を通して適用されるからである。従って、印刷されたページの計数の精度を保証しながら、印刷ジョブの処理中にプリンタの構成を動的に変更できる方法とシステムとが望まれている。
【課題を解決するための手段】
【0005】
プリンタによって受信された印刷ジョブにおける印刷ページ面の数の計数を保守する一部の方法では、少なくとも一ページのラスタライズされたビットマップデータが解析され、当該少なくとも一ページの裏ページ面のビットマップデータが白紙であるかどうかを判定されることがあり、ビットマップデータの解析によってこの少なくとも一ページの裏ページ面は白紙であることが示された場合、プリンタの印刷モードのパラメータが片面に設定され、それ以外の場合、プリンタの印刷モードのパラメータが両面に設定されることがあり、ページはビットマップ化されたデータ及び印刷モードの設定に従って印刷され、印刷された白紙でないページ面の数を反映するようにページ面の計数値が更新されることがある。
【0006】
本発明の態様は、コンピュータ読み取り可能な媒体又はコンピュータ読み取り可能なメモリを用いるプロセッサにより、作成され、格納され、アクセスされ、又は修正されたソフトウェア、ファームウェア及びプログラムの指示にも関する。説明される方法は、コンピュータ及び/又は印刷装置上で実行できる。
【0007】
さらなる目的及び利点は、後に続く説明に部分的に記載され、その説明から部分的に明らかになるか、又は実施によってわかることがある。目的及び利点は、特許請求の範囲中で特に指摘されている要素及び組み合わせを用いて実現され、達成されるであろう。斯かる一般的な記述と以下の詳細な説明との両者が単に例示的説明的なものであって、特許請求の範囲に記載された本発明を限定するものではないことを理解されたい。これら及びその他の態様は、以下の図を参照して更に説明される。
【発明を実施するための最良の形態】
【0008】
ここで、添付の図面に示す種々の実施の形態を詳細に参照する。可能な限り、同一ないしは同様な部分を参照するため、全図面を通して同一の参照番号が用いられる。
【0009】
図1は、文書を印刷するための例示的なシステムの構成要素を例示するブロック図100を示す。図1に示すように、プリンタの動的な構成及び管理のためのアプリケーションを、コンピュータ及び印刷装置のネットワーク上に展開することができる。これらは通信リンクを介して接続され、この通信リンクは、従来の通信プロトコル及び/又はデータポートインタフェースを用いて情報を交換できるようにする。
【0010】
図1に示すように、例示的なシステム100は、例示的なコンピュータ装置110及びサーバ130等のコンピュータを含む。さらに、コンピュータ装置110及びサーバ130は、接続120を介して通信でき、接続120は、ネットワーク140を通過できる。コンピュータ装置110は、コンピュータワークステーション、ディスクトップコンピュータ、ラップトップコンピュータ、又はネットワーク環境で使用できるその他の計算装置であり得る。サーバ130は、コンピュータ装置110及び図示しないその他の装置に接続できるプラットフォームであり得る。コンピュータ装置110及びサーバ130は、図示しないソフトウェアを実行でき、このソフトウェアは、プリンタ170を用いて文書の印刷を可能にすることができる。
【0011】
コンピュータ装置110及び/又はサーバ130上で動作する文書処理ソフトウェアは、ユーザが便利に、文書を見たり、編集したり、処理したり、格納したりすることを可能にすることができる。文書中の印刷すべきページは、ページ記述言語(「PDL」)で記述できる。PDLは、ポストスクリプト(PostScript)、アドビ(Adobe)PDF、HP PCL、マイクロソフト(Microsoft)XPS及びそれらの変種を含み得る。文書のPDL記述は、文書中の各ページの高レベルな記述を提供する。このPDL記述は、文書が印刷されるときに、ほとんどの場合で、一連のプリンタ固有の低レベルコマンドに翻訳される。
【0012】
PDLからプリンタ固有の低レベルコマンドへの翻訳工程は、複雑で、例示的なプリンタ170により提供される特徴と性能とに依存し得る。例えば、プリンタ170は、そのデータを段階的に処理し得る。第一の段階で、プリンタ170は、PDLコマンドを解析し、高レベルの指示を、基本命令と呼ばれる一組の低レベルの指示に分解する。これらの基本命令は、例示的なプリンタ170の次の段階に供給され、ページ上のどこの位置に記号を置くかを決定するために使用され得る。幾つかの例においては、各基本命令は、それが生成されるのと同時に処理され得る。他のシステムにおいては、大きな組の基本命令が生成され、格納され、そして処理され得る。例えば、一ページを記述するのに必要な基本命令が生成され、リスト中に格納され、そして処理され得る。一組の格納された基本命令は、ほとんどの場合、ディスプレイリストと称される。
【0013】
例示的なプリンタ170は、電子データから物理的文書を生成する、レーザプリンタ、インクジェットプリンタ、LEDプリンタ、プロッタ、ファクシミリ装置及びデジタル複写機等の装置を含むが、これらに限定される訳ではない。この文書に記述する方法及び装置は、適当な修正を加え、かつここに開示する実施の形態と一致する方法で、プリンタ170のこれらの種々の装置のタイプにも適用できる。例示的なプリンタ170は、片面モード、両面モード、白黒モード及び/又はカラーモードの印刷を可能にし得る。片面モードでは印刷媒体の片側のみ印刷される一方、両面モードでは両面に印刷画像を保持し得る。幾つかの実施の形態においては、印刷画像は、フレームバッファ中のビットマップ化された画像から導出することができる。例示的なプリンタ170は、コンピュータ装置110又はサーバ130から接続120を通じて受信した文書を、直接印刷すること可能にし得る。幾つかの実施の形態においては、このような構成により、コンピュータ装置110又はサーバ130による追加的な処理を用いて(又は用いずに)、文書の直接印刷が可能となり得る。一以上のテキスト、グラフィックス及びイメージを含み得る文書の処理を分配できる。従って、コンピュータ装置110、サーバ130及び/又はプリンタ170は、プリンタ170により文書を物理的に印刷する前に、階調表現、色合わせ及び/又はその他の操作処理等の文書印刷処理の一部を実行できる。
【0014】
コンピュータ装置110は、取り外し可能なメディアドライブ150も含む。取り外し可能なメディアドライブ150は、例えば、3.5インチフロッピードライブ、CD−ROMドライブ、DVD ROMドライブ、CD±RW又はDVD±RWドライブ、USBフラッシュメモリドライブ及び/又はその他の全ての取り外し可能なメディアドライブを含み得る。アプリケーションの一部は、取り外し可能な媒体上にあり、システム100による作用を受ける前に、取り外し可能なメディアドライブ150を用いて、コンピュータ装置110により読み出すことができる。
【0015】
接続120は、コンピュータ装置110、サーバ130及びプリンタ170を接続し、従来の 通信プロトコル及び/又はデータポートインタフェースを用いて、有線又は無線の回線として実施することができる。一般に、接続120は、装置間でのデータ伝送を可能にする全ての通信チャンネルであり得る。ある実施の形態においては、例えば、並列ポート、直列ポート、イーサネット、USB、SCSI、FIREWIRE及び/又は適当な接続を介してデータを送信するための同軸ケーブルポート等の従来のデータポートを、前記装置に設けることができる。
【0016】
ネットワーク140は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、又はインターネットを含み得る。幾つかの実施の形態においては、ネットワーク140を通じて送信された情報を暗号化することで、送信されるデータのセキュリティを保証できる。プリンタ170は、接続120を介してネットワーク140に接続され得る。例示的なプリンタ170は、コンピュータ装置110及び/又はサーバ130に直接接続することもできる。システム100は、図示しない他の周辺装置も含み得る。柔軟な構成及び印刷装置の管理のためのアプリケーションは、図1に示すように、一以上の例示的なコンピュータ又はプリンタ上に展開できる。例えば、コンピュータ装置110は、サーバ130からソフトウェアを直接ダウンロードでき、アプリケーションの一部を例示的なプリンタ170により実行できる。幾つかの実施の形態においては、動的なプリンタの構成及び管理のためのアプリケーションを、ハードウェア、ソフトウェア及びファームウェアの何れかの組み合わせを用いてプリンタ170により全体的に実行できる。
【0017】
図2は、例示的なプリンタ170のブロック図200を示す。例示的なプリンタ170は、CPU176、ファームウェア171、メモリ172、入出力ポート175、印刷エンジン177及び二次記憶装置173を接続するバス174を含むことができる。例示的なプリンタ170は、アプリケーションの一部を実行して文書の印刷又は処理を実行できるその他の特定用途向け集積回路(ASIC)及び/又はフィールドプログラマブルゲートアレイ(FPGA)178も含むことができる。例示的なプリンタ170は、I/Oポート175及び接続120を用いて、コンピュータ装置110中の二次記憶装置又はその他のメモリにもアクセス可能である。幾つかの実施の形態においては、プリンタ170は、プリンタのオペレーティングシステム及びその他の適当なアプリケーションソフトウェアを含むソフトウェアも実行できる。例示的なプリンタ170は、用紙サイズ、出力トレイ、色選択、片面モード及び両面モード等の印刷モード及び印刷解像度を、その他のオプションの中からユーザが構成できるようにすることができる。
【0018】
例示的なCPU176として、汎用プロセッサ、特定用途プロセッサ又は組み込みプロセッサを用いることができる。CPU176は、制御情報及び指示を含むデータをメモリ172及び/又はファームウェア171と交換できる。メモリ172は、SDRAM又はRDRAM等(ただしこれらに限定される訳ではない)の動的ランダムアクセスメモリ(「DRAM」)のどのタイプのものも使用し得る。ファームウェア171は指示及びデータを保持でき、当該指示及びデータは、例えば起動シーケンス、画像処理ルーチン、動的なプリンタの構成及び管理のためのルーチン、トラッピング、文書処理、及びその他のコードを含む予め定めたルーチンを含むが、これらに限定されるものではない。幾つかの実施の形態においては、ファームウェア171のコード及びデータは、CPU176により実行される前に、メモリ172にコピーされ得る。ファームウェア171中のルーチンは、コンピュータ装置110から受信したページ記述をディスプレイリストに翻訳するためのコードを含むことができる。幾つかの実施の形態においては、ファームウェア171は、ディスプレイリスト中のディスプレイコマンドを適当なラスタライズされたビットマップに変換し、変換されたビットマップをメモリ172に格納するためのラスタライズルーチンを含むことができる。ファームウェア171は、フレームバッファ等のメモリに格納されたビットマップを解析及び処理するためのルーチン、画像圧縮及び伸張のためのルーチン、及び/又はメモリ管理ルーチンも含むことができる。ファームウェア171中のデータ及び指示は、コンピュータ110、ネットワーク140、プリンタ170に接続された取り外し可能な媒体及び/又は二次記憶装置173のうちの一以上を用いて更新可能である。
【0019】
例示的なCPU176は、指示及びデータに応じて動作し、ASIC/FPGA178及び印刷エンジン177を制御し、データを提供して、印刷された文書を生成する。ASIC/FPGA178は印刷エンジン177を制御し、データを提供し得る。ASIC/FPGA178は、翻訳、トラッピング、ビットマップ解析及び処理、圧縮及びラスタライズアルゴリズムのうちの一以上を実施し得る。
【0020】
例示的なコンピュータ装置110は、文書データを第一の印刷可能なデータに変換し得る。ある実施の形態においては、この第一の印刷可能なデータは、文書のPDL記述に対応し得る。そして、この第一の印刷可能なデータは、中間的な印刷可能データへの変換のためにプリンタ170に送信され得る。幾つかの実施の形態において、文書のPDL記述から一連のプリンタ固有の低レベルコマンドを含む最終的な印刷可能データへの翻訳工程は、対象のディスプレイリストを含む中間的な印刷可能データを生成することを含み得る。ディスプレイリストは、一以上のテキスト、グラフィックス及びイメージのデータのオブジェクトを保持でき、ディスプレイリスト中の一種類以上のデータのオブジェクトは、ユーザ文書中のオブジェクトに対応し得る。中間的な印刷可能データを生成する助けとなるディスプレイリストは、メモリ172又は二次記憶装置173中に格納できる。ある実施の形態においては、ディスプレイリストはディスプレイリストバッファ520(図5)に保存されてもよく、ディスプレイリストバッファ520はメモリの一領域でもよい。
【0021】
例示的な二次記憶装置173は、内部の又は外部のハードディスク、メモリスティック又はその他のシステム200で使用可能なメモリ格納装置であり得る。幾つかの実施の形態においては、ディスプレイリストは、文書処理が発生する場所に応じて、一以上のプリンタ170、コンピュータ装置110、及びサーバ130間に存在してもよいし、それらの間で転送されてもよい。ディスプレイリストを格納するメモリは、専用メモリであるか、又は汎用メモリの一部を構成するか、それらの幾つかの組み合わせであり得る。幾つかの実施の形態においては、ディスプレイリストを保持するためのメモリは、必要に応じて動的に配置され、管理され、解放され得る。プリンタ170は、中間的な印刷可能データを印刷可能データの最終的な形態に変換でき、この最終的な形態に応じて印刷できる。
【0022】
図3は、印刷媒体又は印刷用紙303又は例示的な印刷ジョブ300により生成された、単に印刷されたページを示す。印刷ジョブ300は、印刷される用紙の数、例えば、図3に示すように303(1)から303(5)までの5ページを有し得る。用紙303は、プリンタ170によって受信された印刷データに従って印刷され得る。各印刷用紙303は、表ページ面301及び裏ページ面302により表される2面を有する。図3に示すように、用紙303(1)の表ページ面は301(1)で表され、用紙303(1)の裏ページ面は302(1)で表さる。片面印刷モードにおいては、表ページ面301は、プリンタ170により印刷され、裏ページ面302は白紙でもよい。両面印刷モードにおいては、ページ面301,302の双方がプリンタ170により印刷され得る。両面モードにおいては、印刷用紙の両ページ面が、テキスト、グラフィックス、及び/又はイメージ等の印刷画像データを持つであろう。しかし、あるページ面に印刷するデータが存在しない場合には、そのページ面は白紙であり得る。
【0023】
図4は、プリンタ構成及び管理のための例示的な方法におけるステップを例示するフローチャート400を示す。図4に記載されたアルゴリズムは、複写機、複合機及び種々の他のタイプの印刷装置にも、適当なその装置固有の修正を施し、ここに開示する実施の形態に合致する方法で適用できる。ステップ401において、新しい印刷ジョブのデータが、印刷ジョブ300中に特定された一以上の環境変数中の情報に従って処理され得る。このような情報は、印刷されたページフレームの所望の解像度、印刷するコピーの枚数、カラー、白黒、片面又は両面等の印刷モードを含み得る。
【0024】
ステップ402において、新しい用紙303の画像に対応する印刷データが、ビットマップデータにラスタライズされ得る。ラスタライズは、それにより、PDL又はディスプレイリスト表現に含まれる情報が、画像のビットマップ表現に変換される工程である。ビットマップ化された画像とも呼ばれる画像のビットマップ表現において、フレームバッファ530は、画素がプリンタ170により用紙303等の印刷媒体上にどのように印刷されるかに関する情報を含むことができる。ラスタライズされたビットマップデータは、二次記憶装置173中に存在し得るフレームバッファ530、又はメモリ(RAM)172中に格納され得る。幾つかの実施の形態において、新しい印刷データの処理は、印刷データの一以上のビットマップへのラスタライズも含み得る。
【0025】
幾つかの実施の形態において、ビットマップデータは、例示的な印刷用紙303の水平方向の矩形の一部に対応する帯のように生成され得る。従って、ページは、フレームバッファ530で論理的に多数の帯に分割され得る。例示的なプリンタ170は、画像を用紙303上に一つの帯ごとに印刷できる。幾つかの実施の形態においては、用紙303上に印刷される前に全ページをフレームバッファ530中に格納できる。一般に、ラスタライズの実施は、例示的なプリンタ170により提供される特定の性能に依存し得る。さらに、例示的なフローチャートのステップ403では、ビットマップデータが解析され、プリンタ構成、印刷の料金、及び/又はプリンタのモニタリングに関連する画像の特性が検出され得る。
【0026】
幾つかの実施の形態においては、ビットマップデータを帯毎に解析できる。幾つかの実施の形態においては、ビットマップデータの解析は、帯全体又はページ全体が描画された後に行われ得る。ある実施の形態においては、ビットマップデータの解析は、ビットマップデータのフレームバッファへの描画と同時に行われ得る。もう一つの実施の形態においては、ビットマップ解析モジュール503(図5)が、ページ303に描画すべきデータが存在しない場合を検出できる。例えば、ページ303のページ面301及び/又は302に印刷すべきデータがフレームバッファ530中に存在しない場合、ビットマップ解析モジュール503は、白紙のページ面の標識を送信又は設定できる。もう一つの実施の形態において、フレームバッファ中のビットマップデータを解析して、用紙303が画像により覆われる割合を検出できる。ある実施の形態において、ビットマップデータを解析して、ページ面301又は302のためのデータが全体的に白及び黒画素から成るか否かを決定できる。
【0027】
幾つかの実施の形態において、ビットマップデータを解析して得られた結果をプリンタ170の構成案を生成するために使用できる。構成案は、一以上のプリンタ構成パラメータに割り当てることのできる提案された値から構成できる。幾つかの実施の形態においては、これらのパラメータは一以上のプリンタ構成の設定に対応できる。例えば、一つのパラメータが、プリンタが片面モードで印刷するか両面モードで印刷するかを示す印刷モードの設定に対応することができる。
【0028】
ステップ403において、構成案におけるパラメータの値が、プリンタ170の現在の構成に対応するパラメータの値と比較され得る。幾つかの実施の形態において、構成案が現在の構成と一致した場合(すなわち、すべての提案されたパラメータの値が、それらに対応する現在のパラメータの値に一致する場合)、プリンタ170の現在の構成をそのまま変更しないことができる。例えば、プリンタ170の現在の構成は、C=(C、C、C、…、C)で表せる。ここでCは現在の構成のパラメータiの値、nはプリンタ170の構成中のパラメータの合計数である。同様に、構成案は、P=(P、P、P、…、P)で表せる。ここで構成案のパラメータPは、現在の構成のパラメータCと互いに対応し、逆もまた同様である。1からnまでのiに対してC=Pであれば(対応する現在の構成のパラメータと構成案のパラメータとが一致すれば)、プリンタ170の構成案は、プリンタ170の現在の構成と同一であり、構成は何ら変更する必要はない。ページの印刷は、ステップ404で、プリンタ170の現在の構成を用いて実行できる。
【0029】
プリンタ170の現在の構成が、構成案と異なる場合、プリンタ170の構成の設定は、構成案を用いてステップ405で更新できる。iが1からnまでの何れかのiに対してC1である(現在および構成案の一以上の対応するパラメータが異なる)場合、プリンタ170の現在の構成は、構成案とは異なる。
【0030】
例えば、フレームバッファ530のビットマップデータの解析(ステップ402)が、用紙303(3)の裏ページ面302が白紙であることを示す場合、プリンタ170の印刷モードに対する印刷構成案の設定は、プリンタ170によるページ303(3)の物理的印刷に先立って、「片面」に設定され得る。この例においては、現在の印刷モードが「両面」である場合、アルゴリズムは、現在の構成が構成案と異なることを示すであろう(ステップ403)。従って、ステップ405で、プリンタ170の印刷モードの構成は片面モードに更新され、表ページ面301のみが印刷され、用紙303は両面ユニットを通過しない。幾つかの実施の形態において、構成案において変更されたパラメータの値は更新し得る。ステップ406において、用紙303はプリンタ170の更新された構成に従って印刷できる。幾つかの実施の形態において、印刷ジョブ300のためのプリンタ170の構成は、プリンタ170により印刷ジョブ300が処理されている間に、動的に更新又は変更し得る。プリンタ170の構成の動的な変更は、プリンタ170の構成の変更を、印刷ジョブ300の処理中になすことを可能にする。
【0031】
幾つかの実施の形態において、ステップ411で、ページ面カウンタも更新され、用紙303の片面のみが印刷された画像を有することを示し得る。ある実施の形態においては、プリンタ170中の計数モジュール又はページ面カウンタが、用紙が片面装置から排出された時にページ面の計数値に1を追加し、用紙303が両面ユニットから排出されるときに2を追加し得る。このような実施の形態においては、プリンタ170の構成は片面に更新されたので、両面ユニットは、白紙の裏ページ面302を有する用紙303には使用されず、正確なページ面の計数値が維持されるであろう。一般に、プリンタ170中のページ計数モジュールは、プリンタ170にページ面の計数値を維持するために使用される機構のタイプに基づいてページ面の計数値の精度を保証するために、ページ面の計数値を適切に更新又は調整できる。
【0032】
もう一つの例として、現在のジョブ300中の次の用紙303(4)が両面に画像データを有し、現在のプリンタ170の構成が片面モードであれば、用紙303(4)の印刷に先立ってプリンタ170の構成を両面モードに更新できる。ステップ408において、用紙303は、プリンタ170の更新された構成に従って印刷でき、プリンタ170に適当な調整をすることができる。さらに、表ページ面301及び裏ページ面302の双方が白紙である場合には、ユーザは、一般的には、用紙のコストと印刷資源の使用とを補填するために、少なくとも一面に関しての料金を請求され得る。ユーザが白紙のページに対する料金を発生させるべきでないと望む場合は、アルゴリズムは、全ての白紙のページ面を検出して、白紙でないページ面が印刷された場合のみページ面カウンタを更新するように容易に修正できる。
【0033】
ステップ409において、用紙303のページ面(301又は302)の印刷状態を判定する。このページ面の印刷が成功している場合には、ページ面カウンタを更新できる。このページ面の印刷に成功してない場合には、このページは現在保存されている構成を用いて再印刷できる。ステップ412において、印刷ジョブ300が終了している場合には、アルゴリズムは現在の印刷ジョブ300を終了し、プリンタ170は新しい印刷ジョブを待機する。印刷ジョブ300が終了していない場合には、アルゴリズムはステップ402に戻る。
【0034】
図5は、プリンタの構成及び管理に対する例示的システム中の機能モジュール間の相互作用を例示する。図5に示す機能モジュールは、例示的説明的目的のみのものであり、異なるモジュールの組み合わせ及び/又はこれらの図示されたものとは異なる機能のモジュールを用いて、説明されたタスクを実施することができる。
【0035】
図5に示すように、印刷データは、言語サーバタスク501に伝送され得る。例示的な言語サーバタスク501は、印刷データを読み出し、PDLコマンドを分解し、ディスプレイリスト基本命令を生成する。幾つかの実施の形態においては、例示的構成管理モジュール504を用いて、印刷ジョブ300中に特定された環境変数を用いてプリンタ170を構成できる。従って、印刷ジョブ300中に存在する環境変数又は言語サーバ501により印刷データから生成された環境変数が、プリンタ170の構成に影響を及ぼすパラメータの値を設定、更新、リセットすることに使用できる。このような情報は、印刷されたページフレームの所望の解像度、印刷するコピーの枚数、カラー、白黒、片面、又は両面等の印刷モード及びその他のプリンタ170の構成の選択肢を含むことができる。言語サーバ501は、例示的構成管理モジュール504を用いて、プリンタ170上の構成の設定からデータを読み出し、構成の設定に書き込むことの双方を行うことができる。構成管理モジュール504は、印刷ジョブ300のためのプリンタ170の構成を設定し、プリンタ170のその他のモジュールへの構成設定の通信を容易にする。
【0036】
幾つかの実施の形態においては、言語サーバ501により生成されたディスプレイリスト基本命令は、印刷ジョブ300の処理中の様々な時点にておいて、メモリ172中に常駐するディスプレイリストバッファ520及び/又は二次記憶装置173中に格納できる。例示的なラスタライザサーバタスク502は、ディスプレイリストバッファ520中のデータをビットマップデータにラスタライズでき、このビットマップデータはフレームバッファ530中に格納し得る。幾つかの実施の形態においては、ラスタライザサーバタスク502は、エンジンサーバタスク505と通信して、ラスタライズのための基本命令を予定に組み込む。ある実施の形態においては、ラスタライザサーバモジュール502もビットマップデータをエンジンサーバタスク505に送信できる。もう一つの実施の形態において、例示的なラスタライザサーバモジュール502は、ビットマップデータの開始点及び/又はビットマップデータ中のその他の位置のポインタ又はアドレスをその他のモジュールに提供できる。
【0037】
幾つかの実施の形態においては、ビットマップ解析モジュール503は、提供されたポインタ又はアドレスを用いてビットマップデータを解析できる。例えば、ビットマップ解析モジュール503は、ビットマップデータを解析して用紙303の裏ページ面302が白紙であるか否かを判定する白紙ページ面検出器のためのルーチンを有し得る。この判定構成に基づいて、プリンタ170を動的に更新できる。例えば、ビットマップ解析モジュール503は、管理モジュール504と相互作用して、用紙303の裏ページ面302が印刷された画像を有しないことを検出したときに、プリンタ170の構成設定を片面モードに動的に変更できる。一方、プリンタ170が片面印刷モードで、用紙303の両面に印刷された画像が存在すると判定された場合は、プリンタ170の構成を動的に両面モードに変更できる。
【0038】
エンジンサーバモジュール505は、ラスタライザサーバタスク502によりラスタライズするための基本命令を予定に組み込むことができる。エンジンサーバモジュール505は、エンジンドライバモジュール506に、ビットマップデータを処理するシーケンスをエンジンドライバモジュール506に通知し、エンジンドライバモジュール506と通信して印刷エンジン177の状態をモニタすることもできる。幾つかの実施の形態においては、エンジンサーバモジュール505は、FPGA/ASICドライバ507を介してFPGA及び/又はASIC178により提供された資源を用いて一以上のその機能を遂行できる。例示的なエンジンサーバモジュール505は、紙詰まり、プリンタの誤動作等のプリンタの事象をモニタし、用紙303の印刷が成功したか否かを判定できる。幾つかの実施の形態において、エンジンサーバモジュール505は、構成管理モジュール504からプリンタの構成情報を取得できる。そして、例示的な印刷エンジンは、ビットマップデータを、用紙303の表ページ面301及び/又は裏ページ面302上の画像に印刷できる。
【0039】
幾つかの実施の形態において、例示的な言語サーバモジュール501、ラスタライザサーバモジュール502、ビットマップ解析モジュール503、エンジンサーバモジュール505、及びエンジンドライバモジュール506は、互いに非同期に通信し、コマンド、データ及び/又は状態情報を交換できる。従って、情報は、印刷ジョブ300のための印刷データの処理の間いつでもこれらの構成要素間で共有できる。例えば、エンジンドライバモジュール506が、印刷のためにプリンタ170の指定された入力トレイから用紙303を供給することを印刷エンジン177に指示している間に、エンジンサーバモジュール177は、同時にラスタライザサーバモジュール502と通信して、描画のための次のページ面を予定に組み込み、ラスタライザサーバタスク502は、ページをラスタライズし、ビットマップ解析モジュール503は一以上のビットマップを解析することができる。
【0040】
幾つかの実施の形態において、例示的なシステム500は、図5の破線により示したように、製品コード層509及び製品に固有のエンジンコード層510を備えているものとして見ることができる。機能モジュールのこれらの二層間での分割は、例示的、かつ説明目的のみのものであって、他の実施の形態が可能であり、当該技術に合理的な方法の一つであることが分かるであろうことに注意すべきである。例えば、製品コード層509は、コンピュータ110から受信した印刷データのビットマップデータへの変換に関する一以上の機能を実施する役割を担う一方、製品に固有のエンジンコード層510は、フレームバッファ530中のビットマップ化された画像データの操作及びビットマップ化された画像データの印刷エンジン177への用紙303上への最終的な印刷のための通信の役割を担う。幾つかの実施の形態においては、製品に固有のエンジンコード層510は、印刷指示及び/又はプリンタの状態もモニタできる。ある実施の形態においては、製品コード層509を修正することにより、ビットマップ解析モジュールを現在のプリンタ170に付け加えることができる。
【0041】
本発明のその他の実施の形態は、明細書の検討及びここに開示された発明の実施を通じて、当業者に明らかであろう。明細書及び例は例示的なものに過ぎないことを意図しており、本発明の本来の要旨及び範囲は、以下の特許請求の範囲に示されたものである。
【図面の簡単な説明】
【0042】
【図1】文書を印刷するための構成要素を例示する例示的なシステムを示す図である。
【図2】例示的なプリンタのブロック図である。
【図3】例示的な印刷ジョブにより生成されたページを示す図である。
【図4】プリンタの構成及び管理のための例示的な方法のステップを例示するフローチャートである。
【図5】プリンタの構成及び管理のための例示的なシステムにおける機能モジュール間の相互作用を例示する図である。

【特許請求の範囲】
【請求項1】
プリンタによって受信された印刷ジョブにおける印刷ページ面の数の計数を保守する方法であって、
少なくとも一ページのラスタライズされたビットマップデータを解析し、当該少なくとも一ページの裏ページ面のビットマップデータが白紙であるかどうかを判定するステップと、
ビットマップデータの解析によって、前記少なくとも一ページの裏ページ面が白紙であることが示された場合、プリンタの印刷モードのパラメータを片面に設定するステップと、
それ以外の場合、プリンタの印刷モードのパラメータを両面に設定するステップと、
ビットマップ化されたデータ及び印刷モードの設定に基づいてページを印刷するステップと、
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップと、
を備える方法。
【請求項2】
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップは、
ページが両面モードで印刷されるとき、ページ面の計数値を2ずつ増加させるステップをさらに備える請求項1に記載の方法。
【請求項3】
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップは、
ページが片面モードで印刷されるとき、ページ面の計数値を1ずつ増加させるステップをさらに備える請求項1に記載の方法。
【請求項4】
裏ページ面が実質的なビットマップ化されたデータを含まないとき、前記裏ページ面は白紙である請求項1に記載の方法。
【請求項5】
プロセッサにより実行されることによって、プリンタによって受信された印刷ジョブにおける印刷ページ面の数の計数を保守する方法の以下のステップを実行する命令を格納したコンピュータ読み取り可能なメモリであって、
少なくとも一ページのラスタライズされたビットマップデータを解析し、当該少なくとも一ページの裏ページ面のビットマップデータが白紙であるかどうかを判定するステップと、
ビットマップデータの解析によって、前記少なくとも一ページの裏ページ面が白紙であることが示された場合、プリンタの印刷モードのパラメータを片面に設定するステップと、
それ以外の場合、プリンタの印刷モードのパラメータを両面に設定するステップと、
ビットマップ化されたデータ及び印刷モードの設定に基づいてページを印刷するステップと、
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップと、
を備えるコンピュータ読み取り可能なメモリ。
【請求項6】
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップは、
ページが両面モードで印刷されるとき、ページ面の計数値を2ずつ増加させるステップをさらに備える請求項5に記載のコンピュータ読み取り可能なメモリ。
【請求項7】
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップは、
ページが片面モードで印刷されるとき、ページ面の計数値を1ずつ増加させるステップをさらに備える請求項5に記載のコンピュータ読み取り可能なメモリ。
【請求項8】
裏ページ面が実質的なビットマップ化されたデータを含まないとき、前記裏ページ面が白紙である請求項5に記載のコンピュータ読み取り可能なメモリ。
【請求項9】
プロセッサにより実行されることによって、プリンタによって受信された印刷ジョブにおける印刷ページ面の数の計数を保守する方法の以下のステップを実行する命令を格納したコンピュータ読み取り可能な媒体であって、
少なくとも一ページのラスタライズされたビットマップデータを解析し、当該少なくとも一ページの裏ページ面のビットマップデータが白紙であるかどうかを判定するステップと、
ビットマップデータの解析によって、前記少なくとも一ページの裏ページ面が白紙であることが示された場合、プリンタの印刷モードのパラメータを片面に設定するステップと、
それ以外の場合、プリンタの印刷モードのパラメータを両面に設定するステップと、
ビットマップ化されたデータ及び印刷モードの設定に基づいてページを印刷するステップと、
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップと、
を備えるコンピュータ読み取り可能な媒体。
【請求項10】
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップは、
ページが両面モードで印刷されるとき、ページ面の計数値を2ずつ増加させるステップをさらに備える請求項9に記載のコンピュータ読み取り可能な媒体。
【請求項11】
印刷された白紙でないページ面の数を反映するようにページ面の計数値を更新するステップは、
ページが片面モードで印刷されるとき、ページ面の計数値を1ずつ増加させるステップをさらに備える請求項9に記載のコンピュータ読み取り可能な媒体。
【請求項12】
裏ページ面が実質的なビットマップ化されたデータを含まないとき、前記裏ページ面は白紙である請求項9に記載のコンピュータ読み取り可能な媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−107332(P2009−107332A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−237643(P2008−237643)
【出願日】平成20年9月17日(2008.9.17)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.イーサネット
【出願人】(507031918)コニカ ミノルタ システムズ ラボラトリー, インコーポレイテッド (157)
【Fターム(参考)】