(57)【要約】【課題】ほとんど空白のページをプリントすることによって生じる無駄と難点を軽減するための方法を提供する。【解決手段】プリント要求を調べて、ほとんど空白のページを要求しているかどうかを確認する（ステップ７０２）。ほとんど空白のページの要求が認識されたかどうかによって、方法のフローを分岐させる（ステップ７０３）。ほとんど空白のページが要求されていないと認識された場合は、ページがプリントされる（ステップ７０４）。ほとんど空白のページの要求が認識された場合、ほとんど空白のページのプリントが省略または抑制される。【選択図】　　　図７
2004074783.tif 000002
【特許請求の範囲】
【請求項１】
ａ）プリント要求がほとんど空白のページのプリントを要求していることを認識するステップと、
ｂ）前記プリント要求を廃棄するステップと、
を含む、ほとんど空白のページのプリントを抑制する方法。
【請求項２】
前記ほとんど空白のページのプリントの抑制を可能にするモードを設定するステップをさらに含む、請求項１に記載のほとんど空白のページのプリントを抑制する方法。
【請求項３】
前記プリント要求が、プリントジョブの最終ページのプリントを要求している場合だけ破棄される、請求項１に記載のほとんど空白のページのプリントを抑制する方法。
【請求項４】
前記認識ステップが、
ａ）ページ上の対象領域を識別するステップと、
ｂ）前記プリント要求における内容の領域がすべて前記対象領域の外にあるときに、ページをほとんど空白として指定するステップと、
をさらに含む、請求項１に記載のほとんど空白のページのプリントを抑制する方法。
【請求項５】
ａ）メモリと、
ｂ）プリントするページを記述するデータをプリンタが受け取り、該プリンタが、前記データを前記メモリに入れるインタフェースと、
ｃ）前記メモリにアクセスするプロセッサであって、前記プリントするページがほとんど空白であることを認識しかつ前記ページのプリントを抑制するようにプログラムされたプロセッサと、
を含むプリンタ。
【請求項６】
前記ほとんど空白のページのプリントの抑制が無能にされ得る、請求項５に記載のプリンタ。
【請求項７】
ａ）プリントされるページを記述するデータを生成するホスト装置と、
ｂ）プリンタと、
ｃ）前記ホスト装置から前記プリンタに前記データを伝えるインタフェースと、
ｄ）プロセッサと、
ｅ）該プロセッサ内で実行され、前記データを調べ、前記プリントするページがほとんど空白のページであることを認識し、前記ページの前記プリントを抑制するプログラムと、
を含むデータ処理システム。
【請求項８】
前記プロセッサが前記ホスト装置内にある、請求項７に記載のデータ処理システム。
【請求項９】
前記ほとんど空白のページのプリントの抑制が、無能にされ得る、請求項７に記載のデータ処理システム。
【請求項１０】
前記ホスト装置から前記プリンタに送られる前記データを途中で受け取り中継する中間装置をさらに含み、前記プログラムを実行する前記プロセッサが、前記中間装置内にある、請求項７に記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にプリントに関し、具体的には、ほとんど空白のページの印刷を抑制する装置および方法に関する。
【０００２】
【従来の技術】
多くの最新のコンピュータシステムや他のデータ処理システムには、情報を実質的に恒久的に記録するためのプリンタが含まれる。一般に、プリンタは、コンピュータやその他の装置からの命令に応じて、要求された情報を、要求された情報の効率に関係なくプリントする。例えば、コンピュータやその他の装置は、場合によって、空白またはほとんど空白のページの「プリント」を要求することがあり、その結果、空白またはほとんど空白のページが生じる。空白ページとは、内容がプリントされていないページのことであり、例えば、文書ファイルの終わりに不要な空白行があるときに生じることがある。
【０００３】
ほとんど空白のページとは、限界効用（ｍａｒｇｉｎａｌ　ｕｔｉｌｉｔｙ）に寄与するプリント内容をほとんど含まないページのことである。そのようなページは、例えば、ウェブブラウザソフトウェアからのプリント結果によくあることである。ワールドワイドウェブ（ｗｗｗ）上に置かれた素材は、効率よくプリントされるようにフォーマットされているのではなく、表示画面で見るようにフォーマットされていることが多い。ウェブページのプリントでは、ヘッダまたはフッタあるいはその両方を含み他の内容を含まないページが生じることがある。
【０００４】
【発明が解決しようとする課題】
ほとんど空白のページをプリントする場合には、いくつかの欠点がある。ページを処理する際に、時間と資源が無駄になる。ページは再利用されないことが多く、その結果、無駄や格納スペースの要件の追加が生じる。ページが、他のプリントに再使用される場合でも、プリンタ機構内の無駄なトリップによって用紙が多少カールすることがあり、再使用されたとき用紙がプリンタ内に詰まる可能性が高くなる。
【０００５】
システムによっては、例えば２つの連続する形の給紙コマンドのうち２番目のコマンドを廃棄することによって、空白ページの処理を抑制するものがある。しかしながら、そのようなシステムは、ほとんど空白のページを処理することにより生じる無駄と非効率に対処していない。
【０００６】
ほとんど空白のページをプリントすることによって生じる無駄と難点を軽減するための改良が必要である。
【０００７】
【課題を解決するための手段】
システムは、ほとんど空白のページをプリントする要求をシステムが検出し、そのようなプリントを抑制する動作モードを含む。この検出と抑制は、コンピュータやその他のホスト装置、プリンタまたは中間装置で行うことができる。ほとんど空白のページは、複数の方法のうちの任意の方法で識別することができる。必要に応じてこのモードをオフにして、ほとんど空白のページをプリントすることができる。このモードは、必要に応じて、プリントジョブの最終ページだけに適用することができる。
【０００８】
【発明の実施の形態】
図１は、プリンタ１０２と通信するホスト装置１０１を含む、代表的なデータ処理システム１００の例を示す。この実施形態の例において、ホスト装置１０１は、コンピュータであるが、本発明は、他のホスト装置を備えたシステムでも実施することができる。例えば、システムは、プリンタに接続されたセットトップボックスを含む。セットトップボックスは、一般に、テレビの上に配置され、ゲーム機能、インターネットアクセス、対話テレビ機能、高度テレビ表示、またはこれらの機能のいくつかの組合せを提供するものである。プリンタへの通信リンク１０３は、ケーブルを使用して有線接続してもよく無線接続してもよい。
【０００９】
図２は、代表的なプリントジョブが含むステップの例を示す。この実施形態の例において、プリントされるページを構成するためにホスト装置１０１上のアプリケーションソフトウェア２０１が使用される。アプリケーションソフトウェア２０１は、ワード処理プログラム、表計算プログラム、または別の種類のアプリケーションソフトウェアでよい。プリントされるページは、アプリケーションソフトウェア２０１によって生成されるデータで表されることがある。例えば、アプリケーションソフトウェア２０１は、カリフォルニア州パロアルトのヒューレットパッカード社によって開発されたプリンタ指令言語（ＰＣＬ：Ｐｒｉｎｔｅｒ　Ｃｏｍｍａｎｄ　Ｌａｎｇｕａｇｅ）や、カリフォルニア州サンホセのアドビシステムズ社によって開発されたＰｏｓｔＳｃｒｉｐｔなどのページ記述言語（ＰＤＬ）を使用してページを記述することができる。アプリケーションソフトウェア２０１は、情報交換用米国標準コード（ＡＳＣＩＩ）文字セットからの文字または別のフォーマットを含む、ページを記述する他のデータフォーマットを使用することもできる。
【００１０】
アプリケーションソフトウェア２０１は、一般に、ホスト装置１０１上の別のソフトウェアプログラムであるデバイスドライバ２０２にその出力データを送る。デバイスドライバ２０２は、オペレーティングシステムの標準部分でもよく、また、プリンタ１０２の動作のために特別にインストールされることもある。デバイスドライバ２０２は、一般に、制御情報などを、アプリケーションソフトウェア２０１によって生成されたデータに追加する。
【００１１】
デバイスドライバ２０２は、ホスト装置上にある基本入出力システム（ＢＩＯＳ）２０３にそのデータを送ることができる。ＢＩＯＳ２０３は、別のプログラムであり、揮発性メモリまたは不揮発性メモリに常駐していることがある。ＢＩＯＳ２０３は、ホスト装置１０１に組み込まれたハードウェアインタフェースと通信するための低レベルの機能を提供する。
【００１２】
ＢＩＯＳ２０３は、インタフェース２０４を介してデータを送ることができる。インタフェース２０４は、並列接続でも直列接続でもよく、セントロニクス、ＲＳ−２３２、ＵＳＢ、またはＩＥＥＥ１３９４「Ｆｉｒｅｗｉｒｅ」インタフェース、または他の種類のインタフェースでもよい。
【００１３】
インタフェース２０４は、ケーブル接続でも無線接続でもよい通信リンク１０３を介してホスト装置１０１から外にデータを送ることができる。
【００１４】
プリンタ１０２は、ホスト装置１０１上のインタフェース２０４と類似の第２のインタフェース２０５を含むことができる。第２のインタフェース２０５は、通信リンク１０３からプリンタ１０２にデータを受け入れる。プリンタ１０２は、レーザプリンタ、インクジェットプリンタ、ディジーホイールプリンタ、ドットマトリックスプリンタ、ラインプリンタ、ページプリンタ、またはその他の種類のプリンタでよい。
【００１５】
プリンタ１０２は、また、一般にフォーマッタ２０６を含むことができる。フォーマッタ２０６は、ホスト装置１０１からプリンタ１０２に送られたデータを、アプリケーションソフトウェア２０１によって作成された詳細に従って、プリンタ１０２にページをプリントさせるのに必要な電気制御信号に変換するハードウェアとソフトウェアまたはファームウェアとの組合せである。
【００１６】
フォーマッタ２０６は、記録エンジン２０７に信号を送ることができる。記録エンジン２０７は、フォーマッタ２０６からの信号に応じて、用紙上に必要な画像を作成する電気機械的な機構を有する。記録エンジン２０７は、画像を作成するために、用紙の選択部分にインク、トナー、ワックス、染料、または他の媒体を配置するか、あるいは熱、光、またはその他の何らかの手段によって用紙の一部分を改質することができる。
【００１７】
図３は、フォーマッタ２０６の例を簡略化した図を示す。フォーマッタ２０６は、ホスト装置１０１と通信し、フォーマッタ内のデータフローを管理し、記録エンジン２０７を制御する１つまたは複数のプロセッサ３０１を含むことがある。フォーマッタ２０６は、さらに、プロセッサ３０１によって使用されるプログラムとデータを記憶し、ホスト装置１０１から受け取ったデータを保持し、必要に応じてページの中間表現を保持するメモリ３０２を含む。このメモリ３０２は、揮発性と不揮発性の両方のタイプのメモリを含むことができる。
【００１８】
フォーマッタ２０６は、さらに、必要に応じて、ラスタ画像プロセッサ（ＲＩＰ）３０３を含むことができる。ラスタ画像プロセッサ３０３は、例えば、ホスト装置１０１からのデータを使って要求ページのビットマップ表現を構成するハードウェアとソフトウェアまたはファームウェアとの組合せである。ビットマップ表現は、メモリ３０２内の領域をページ上の領域に対応付け、それぞれの記憶域に、ページ上の特定の領域に記録するかどうかの指示を記憶する。
【００１９】
ラスタ画像プロセッサ３０３は、例示のためにプリンタ１０２内にあるように示されているが、これは、一般的な構成である。代替として、ラスタ画像プロセッサ３０３は、ホスト装置１０１内にあってもよく、デバイスドライバ２０２内、さらにはアプリケーションソフトウェア２０１内に実装されてもよい。さらに、本発明の範囲内の他の構成が可能である。
【００２０】
図４は、プリントページ４０１の例を簡略表現で示す。このきわめて簡略化した例において、ページ４０１は、「画素」または「ドット」と呼ばれる８８の領域を含む。実際にプリントされるページは、特定のプリンタの解像度によって、数千または数百万のドットの領域を含むことがある。当業者は、ここに示した原理が、ページ４０１の例よりも高い解像度のページにも当てはまることを理解されよう。
【００２１】
ページ４０１の例では、記録ドットの３つの主要グループを示す。ページ４０１の中央近くにある８つのドットの集まり４０２は、所望のプリント内容を表すことがある。ページ４０１の上部近くにある３つのドットを含むドットの集まり４０３は、ページ上に配置されたヘッダ情報を表すことがあり、ページ４０１の下部近くにある２つのドットを含むドットの集まり４０４は、フッタ情報を表すことができる。点線の境界４０５は、プリンタがほとんど空白のページのプリントを抑制するように構成されているときにプリンタによって選択されるウィンドウ境界を表す。この境界４０５は、必要に応じて、ソフトウェアインタフェース、プリンタ上のフロントパネル制御部、または他の手段によって、ユーザが任意に調整することができる。境界４０５を使用して、ほとんど空白のページと、ほとんど空白でないページとを判別することができる。例えば、ウィンドウ境界４０５内にドットが記録されたページは、ほとんど空白ではないと指定され、境界４０５内に記録がないページは、ほとんど空白であると指定される。
【００２２】
また、ページ例４０１上に表されるドット領域は、メモリ３０２内の対応する多数の領域のうちの領域と考えることができる。各ドットは、メモリ３０２内の１つのビットまたは一群のビットと対応することがある。記録ドットを表すためにそれぞれの記憶域に特定のビットパターンが記憶され、非記録ドットを表すために他のパターンが記憶されることがある。例えば、記録ドットは、それぞれの対応する記憶域に数値「１」を記憶することによって表され、非記録ドットは、数値「０」を記憶することによって表されるが、多くの他のシステムが可能である。
【００２３】
単純な実施形態の例において、プロセッサ３０１で実行されるファームウェアまたはソフトウェアは、ページをプリントする前に記憶域を調べて、境界４０５内にドットが記録されるかどうかを知ることができる。この技術の例の擬似コードの実施態様は、例えば、以下のリスト１のとおりである。
【００２４】
2004074783.tif 000003
【００２５】
2004074783.tif 000004
【００２６】
ページ４０１の例は、ウィンドウ境界４０５内に記録があり、したがってほとんど空白のページとは指定されない。ページ例４０１を示すデータを使用してリスト１に示したアルゴリズムを実行した後、ページ抑制フラグ（ｓｕｐｐｒｅｓｓ＿ｐａｇｅ＿ｆｌａｇ）はＮＯになり、ページ４０１がプリントされる。
【００２７】
このアルゴリズムの実行後に、抑制ページフラグがＹＥＳになった場合、プロセッサ３０１は、そのページのプリントをスキップするかまたは抑制するようにプリンタを制御することができる。例えば、図５は、ほとんど空白のページ５０１の例を示す。ほとんど空白のページ５０１は、ウィンドウ境界５０２の外側だけに記録されたドットを有する。したがって、可変の抑制モード（ｓｕｐｐｒｅｓｓｉｏｎ＿ｍｏｄｅ）がＯＮに設定されたと仮定すると、リスト１内のアルゴリズムを実行した後で、抑制ページフラグがＹＥＳになり、ページのプリントが抑制される。この抑制は、ページをプリントする要求を廃棄することによって達成することができる。
【００２８】
可変の抑制モードは、データ処理システム１００のユーザが、ソフトウェアインタフェース、フロントパネル制御部、またはその他の手段によって設定することができる。このようにして、システムは、ほとんど空白のページのプリントを抑制するか、そのようなページをプリントするように構成することができる。ほとんど空白のページの抑制機能を無効にすることは、正式文書などの適切なページ付けを提供するのに望ましい場合がある。
【００２９】
前記リスト１のアルゴリズムは、説明のために、プリンタ１０２内部のプロセッサ３０１上で実行するように示されている。他の実施方法が可能である。例えば、ラスタ画像プロセッサ３０３が、ページのビットマップ表現を形成するとき、プリンタ１０２内のフォーマッタ２０６のハードウェアは、類似の検査を実行することができる。
【００３０】
代替として、リスト１のアルゴリズムは、ホスト装置１０１内のドライバ２０２内またはアプリケーションソフトウェア２０１内に実装することができる。
【００３１】
ほとんど空白のページの他のアルゴリズムおよび定義も可能である。例えば、ウィンドウ境界の外側にドットが記録されている他に、ウィンドウ境界内に少数のドットが記録されたページも、ほとんど空白のページと指定することができる。最新の高解像度プリンタでは、ページ上の分離された記録ドットは、きわめて小さく、情報をほとんど伝えないので、ほんの少数のドットが記録されたページをほとんど空白として間違いなく指定することができる。ウィンドウ境界内で許容される記録ドットの数は、変更可能である。
【００３２】
ページのビットマップ画像が構成されることは、必ずしも本発明の範囲内にない。例えば、単純なＡＳＣＩＩ文字コードをプリンタに送るシステムは、コードの検査で、プリントする文字のうちの１つがウィンドウ境界内に入ることが分かるまでコードをバッファし、ページのプリントを保留する。ウィンドウ境界の内部の文字が検出されると、プリントが再開される。ウィンドウ境界内にプリントする文字を呼び出すコードなしにページ全体を受け取った場合は、そのページは、プリントされずに破棄される。このバッファリングおよび検査は、ホスト装置で行われてもよくプリンタ内で行われてもよい。
【００３３】
また、これらのアルゴリズムのうちのどれかを、ホスト装置とプリンタとの間の中間装置内で実施することができる。図６は、ホスト装置６０１とプリンタ６０２との間に中間装置６０３を使用するデータ処理システムを示す。中間装置６０３は、ホスト装置６０１からプリンタ６０２へのデータを途中で受け取り中継することができ、ほとんど空白のページの設定可能な抑制を含む、プリントジョブのバッファリング、プロトコル変換、その他の機能を提供することができる。中間装置６０３は、データを修正することができる。
【００３４】
図７は、本発明を実施する方法例７００が含むことができるステップのフローチャートを示す。イニシエータ７０１は、方法の最初を示す。ステップ７０２で、プリント要求を調べて、ほとんど空白のページを要求しているかどうかを確認する。判定ブロック７０３は、ほとんど空白のページの要求が認識されたかどうかによって、方法のフローを分岐させる。ほとんど空白のページが要求されていないと認識された場合は、ステップ７０４で、ページがプリントされる。ほとんど空白のページの要求が認識された場合、方法は、ステップ７０４を迂回し、それにより、ほとんど空白のページのプリントが省略または抑制される。次に、方法を実施するプロセッサ、回路またはソフトウェアは、他のタスクに進むことができる。
【００３５】
場合によって、例えば文書全体の正式のページ付けを保持して、プリントジョブの最後だけ、ほとんど空白のページを抑制することが望ましいことがある。この修正は、前述の実施形態の例に容易に組み込むことができる。例えば、リスト１は、検査を追加するように修正することができる。修正の例を、以下のリスト２に示す。
【００３６】
2004074783.tif 000005
【００３７】
2004074783.tif 000006
【００３８】
前記リスト２において、ほとんど空白フラグ（ｎｅａｒ＿ｂｌａｎｋ＿ｆｌａｇ）がＹＥＳで最終ぺージ（ｌａｓｔ＿ｐａｇｅ）がＹＥＳの場合だけ、ページ抑制フラグ（ｓｕｐｐｒｅｓｓ＿ｐａｇｅ＿ｆｌａｇ）がＹＥＳに設定され、プリントジョブの最終ページが処理されることを示している。システムのユーザは、必要に応じて、ソフトウェアインタフェース、フロントパネル制御部、または他の手段を使用して、この追加の検査を使用可能にすることができる。
【００３９】
本発明の以上の説明は、例示と説明のために示した。これは、網羅的なものでも開示した正確な形態に本発明を限定するものでもなく、以上の教示を参照して他の修正および変形が可能である。例えば、データ処理システムは、ホスト装置とプリンタ用の個別の筐体を含まなくてもよい。データ処理システムは、内部プリンタを含む独立型の装置でもよい。実施形態は、本発明の原理とその実際の応用例を最もよく説明し、それにより当業者が、意図された特定の用途に適したように様々な実施形態および様々な修正で本発明を利用できるように選択され説明された。併記の特許請求の範囲は、従来の技術によって限定される範囲以外の本発明の他の代替実施形態を含むように解釈されるべきである。
【図面の簡単な説明】
【図１】データ処理システムの代表的な構成例を示す概略正面図である。
【図２】図１の構成におけるブロック図である。
【図３】図２のフォーマッタのブロック図である。
【図４】プリントページの一例を簡略化して表す平面図である。
【図５】ほとんど空白のページの例を示す平面図である。
【図６】ホスト装置とプリンタとの間に中間装置を設けるシステムの構成例を示す概略正面図である。
【図７】本発明を実施する方法を含むフローチャートである。
【符号の説明】
１０１、６０１　ホスト装置
１０２、６０２　プリンタ
２０４、２０５　インタフェース
３０１　プロセッサ
３０２　メモリ
４０１　ページ
５０１　ほとんど空白のページ
４０５、５０２　境界
６０３　中間装置
【図１】
2004074783.tif 000007
【図２】
2004074783.tif 000008
【図３】
2004074783.tif 000009
【図４】
2004074783.tif 000010
【図５】
2004074783.tif 000011
【図６】
2004074783.tif 000012
【図７】
2004074783.tif 000013