(57)【要約】      （修正有）【課題】処理空間に含めるために、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法を提供する。【解決手段】処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法の幾つかの実施形態は、少なくとも一つ画素に対応付けられたタグフィールドを解析するステップを含み得る。タグフィールドは、該画素に対応付けられたオブジェクト種別を式別できる。幾つかの実施形態においては、タグフィールドの値に基づいて、アクション指示を該画素に割り当てることができる。幾つかの実施形態においては、該画素は、アクション指示に基づいて処理空間に含ませ得る。【選択図】図６
2010093801.tif 000002
【特許請求の範囲】
【請求項１】
処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法において、
少なくとも一つの画素に対応付けられたオブジェクト種別を識別する、該画素に対応付けられたタグフィールドを解析するステップと、
前記タグフィールドの値に基づいて、前記画素に対するアルゴリズム固有のアクション指示を割り当てるステップと、
少なくとも一つの前記アクション指示の値に基づいて、前記画素を前記処理空間に含めるステップと、
を備えた事を特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記画素に対応する前記タグフィールドをタグプレーンに記憶し、該タグプレーンは、前記ラスタ画像バッファ中の画素に対するタグフィールドの集約を備えていることを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記タグフィールドは、前記画素に対応付けられた前記オブジェクト種別に対応する複数のビットを備えていることを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記画素に対応付けられた前記オブジェクト種別は、テキスト、図形又は画像の少なくとも一つを備えていることを特徴とする方法。
【請求項５】
請求項１に記載の方法において、前記処理空間は、単一型の印を付けられたタグフィールド又は多数型の印を付けられたタグフィールドの少なくとも一つを備えていることを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記単一型の印を付けられたタグフィールドは、一つのアクチブタグフィールドビットを有する画素を含むことを特徴とする方法。
【請求項７】
請求項５に記載の方法において、前記多数型の印を付けられたタグフィールドは、複数のアクチブタグフィールドビットを有する画素を含むことを特徴とする方法。
【請求項８】
請求項１に記載の方法において、前記処理空間は、トラッピング処理、エッジ強化処理又は解像度増強処理の少なくとも一つの処理空間に対応することを特徴とする方法。
【請求項９】
請求項１に記載の方法において、前記画素は、動作確率が閾値を超えた場合に、前記処理空間中に含まれることを特徴とする方法。
【請求項１０】
プロセッサにより実行された場合に、処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法のステップを実行する指示を記憶するコンピュータで読み取り可能な媒体において、前記方法は、
少なくとも一つの画素に対応付けられたオブジェクト種別を識別する、該画素に対応付けられたタグフィールドを解析するステップと、
前記タグフィールドの値に基づいて前記画素に対するアクション指示を割り当てるステップと、
少なくとも一つの前記アクション指示の値に基づいて、前記画素を前記処理空間に含めるステップと、
を備えた事を特徴とするコンピュータで読み取り可能な媒体。
【請求項１１】
請求項１０に記載のコンピュータで読み取り可能な媒体において、前記画素に対応する前記タグフィールドをタグプレーンに記憶し、該タグプレーンは、前記ラスタ画像バッファ中の画素に対するタグフィールドの集約を備えていることを特徴とする媒体。
【請求項１２】
請求項１０に記載のコンピュータで読み取り可能な媒体において、前記タグフィールドは、前記画素に対応付けられた前記オブジェクト種別に対応する複数のビットを備えていることを特徴とする媒体。
【請求項１３】
請求項１０に記載のコンピュータで読み取り可能な媒体において、前記画素に対応付けられた前記オブジェクト種別は、テキスト、図形又は画像の少なくとも一つを備えていることを特徴とする媒体。
【請求項１４】
請求項１０に記載のコンピュータで読み取り可能な媒体において、前記処理空間は、単一型の印を付けられたタグフィールド又は多数型の印を付けられたタグフィールドの少なくとも一つを備えていることを特徴とする媒体。
【請求項１５】
請求項１４に記載のコンピュータで読み取り可能な媒体において、前記単一型の印を付けられたタグフィールドは、一つのアクチブタグフィールドビットを有する画素を含むことを特徴とする媒体。
【請求項１６】
請求項１４に記載のコンピュータで読み取り可能な媒体において、前記多数型の印を付けられたタグフィールドは、複数のアクチブタグフィールドビットを有する画素を含むことを特徴とする媒体。
【請求項１７】
請求項１０に記載のコンピュータで読み取り可能な媒体において、前記処理空間は、トラッピング処理、エッジ強化処理又は解像度増強処理の少なくとも一つの処理空間に対応することを特徴とする媒体。
【請求項１８】
請求項１０に記載のコンピュータで読み取り可能な媒体において、前記画素は、動作確率が閾値を超えた場合に、前記処理空間中に含まれることを特徴とする媒体。
【請求項１９】
ラスタ画像バッファ中の少なくとも一つの画素にタグを付けるための方法において、
少なくとも一つの画素に対応付けられた少なくとも一つのタグフィールドを提供するステップと、
前記少なくとも一つの画素に対応付けられたオブジェクト種別を解析するステップと、
前記解析に基づいて、前記少なくとも一つの画素に対応付けられたオブジェクト種別を反映するタグフィールドの値を判定するステップと、
を備えた事を特徴とする方法。
【請求項２０】
請求項１９に記載の方法において、前記ラスタ画像バッファ中の画素の前記タグフィールドの値は、一つのタグプレーン中に集約される事を特徴とする方法。
【請求項２１】
請求項１９に記載の方法において、前記タグフィールドは、複数のビットを備え、各ビットは、前記少なくとも一つの画素に対応付けられた別個のオブジェクト種別を表す事を特徴とする方法。
【請求項２２】
請求項１９に記載の方法において、前記少なくとも一つの画素に対応付けられた前記オブジェクト種別は、テキスト、図形又は画像の少なくとも一つを備えていることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施の形態は、印刷分野に係り、特に画素処理アルゴリズムを最適化するためのシステム及び方法に関する。
【背景技術】
【０００２】
高解像度印刷システムは、フレームバッファ増強技術をしばしば用いて、印刷品質、特に印刷解像度、を向上させることができる。幾つかの改良技術は、トラッピング、エッジ強調及び解像度増強等を含むことができる。例えば、トラッピングは、印刷エンジンの位置ずれの目に見える効果を補正及び／又はマスクするために用いることができる。トラッピングは、グラフィカルオブジェクトの間の白色の隙間及び／又は発色した縁を除去するために、発色した領域を僅かに拡張又は縮小することによって、画素毎に行うことができる。エッジ強調は、印刷対象の境界を修正して、より鋭い縁の印象を得るために用いることができる。解像度の強化は、テキスト文字の境界領域におけるインクの明度を修正することにより、解像度を強化させるために用いることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
増強技術は、かなりの計算資源を消費する可能性がある。幾つかの一般的な画素に基づくフレームバッファ増強アルゴリズムは、画素を修正する前に、種々の条件に対して、フレームバッファのビットマップ中の全ての画素を解析できる。幾つかの場合には、増強技術は、多数のカラープレーンに亘る画素の解析を含み得る。高解像度印刷システムにおける典型的なフレームバッファ容量は、３３メガバイト（「ＭＢ」）から５１２ＭＢに亘る場合がある。したがって、フレームバッファ増強技術が高解像度印刷システム中で実施される場合には、このようなフレームバッファは何億もの規模の画素を有し得るので、計算コストが莫大になり得る。
【０００４】
従って、印刷システムのための画素ベースのフレームバッファ増強処理を最適化するための方法とシステムとが必要とされている。
【課題を解決するための手段】
【０００５】
幾つかの実施形態によれば、処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法が提供される。幾つかの実施形態においては、処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法は、前記一つの画素に対応付けられた、前記画素に対応付けられたオブジェクト種別を識別するタグフィールドを解析するステップと、前記タグフィールドの値に基づいて前記画素にアクション指示を割り当てるステップと、前記アクション指示の値の少なくとも一つに基づいて前記処理空間に前記画素を含めるステップと、を備えている。
【０００６】
実施形態は、コンピュータで読み取り可能な媒体又はコンピュータで読み取り可能なメモリを用いて、プロセッサで作成し、記憶し、アクセスし、あるいは修正された、ソフトウェア、ファームウェア及びプログラムの命令にも関する。上記方法は、コンピュータ及び／又は印刷装置上で実行できる。
【０００７】
これら及びその他の実施形態は、以下の図面を用いて以下に更に説明する。    
【図面の簡単な説明】
【０００８】
【図１】図１は、開示した実施の形態に従う文書印刷システムの構成要素を例示するブロック図である。
【図２】図２は、開示した実施の形態に従う典型的なプリンタの高級ブロック図である。
【図３】図３は、印刷データレンダリングシステム中のモジュール間の典型的な高水準データフローを示す図である。
【図４】図４は、開示した実施の形態に従うフレームバッファ及びタグプレーン中の典型的な画素間の対応を例示する図である。
【図５】図５は、開示した実施の形態に従う典型的なページのスナップショットを示す図である。
【図６】図６は、処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法のステップを例示する典型的なフローチャートである。
【発明を実施するための形態】
【０００９】
開示した実施形態に従って、処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法を提示する。
【００１０】
図１は、典型的な文書印刷システムの構成要素を示すブロック図を示す。タグプレーンの情報を用いて画素処理アルゴリズムを最適化するためのアプリケーションを、図１に示すように、従来の通信プロトコル及び／又はデータポートインタフェースを用いて情報の交換を可能にする通信リンクを介して、互いに接続されたコンピュータ及び印刷装置のネットワーク上で展開できる。
【００１１】
図１に示すように、典型的なシステム１００は、演算装置１１０及びサーバ１３０を有するコンピュータを有する。さらに、演算装置１１０及びサーバ１３０は、ネットワーク１４０を通過できる接続１２０で通信できる。演算装置１１０は、コンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、又はネットワーク環境で使用できる全ての他の演算装置であってよい。サーバ１３０は、演算装置１１０と他の図示しない装置を接続できるプラットフォームであってよい。演算装置１１０及びサーバ１３０は、プリンタ１７０を用いて文書の印刷を可能にする図示しないソフトウェアを実行できるものであり得る。
【００１２】
演算装置１１０及び／又はサーバ１３０上で実行される文書処理ソフトウェアにより、ユーザは、便利に、文書を見て、編集し、処理し、記憶できる。文書中で印刷するページは、ページ記述言語（「ＰＤＬ」）で記述できる。ＰＤＬには、ＰｏｓｔＳｃｒｉｐｔ（登録商標）、Ａｄｏｂｅ（登録商標）ＰＤＦ、ＨＰ・ＰＣＬ、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＸＰＳ、及びそれらの変形型がある。文書をＰＤＬで記述すると、文書中の各ページを高水準に記述できる。この文書を印刷するときには、このＰＤＬ記述は、大抵の場合、一連の低水準のプリンタに固有の命令に変換される。
【００１３】
一般に、プリンタ１７０は、電子データから物理的文書を作成するように構成できる装置であればよく、レーザプリンタ及びＬＥＤプリンタ等の電子写真式プリンタ、インクジェットプリンタ、感熱式プリンタ、レーザ画像装置及びオフセット印刷機等に限られるものではない。プリンタ１７０は、ファクシミリ装置及びデジタル複写機に組み込まれる場合、画像送受信機能、画像走査機能及び／又は複写機能を有してもよい。典型的なプリンタ１７０は、接続１２０を通じて、演算装置１１０又はサーバ１３０から受信した文書を直接印刷することができともよい。幾つかの実施形態においては、このような構成により、演算装置１１０又はサーバ１３０による追加の処理を用い又は用いずに、文書を直接印刷できてもよい。テキスト、図形及び画像の一つ以上を含み得る、文書の処理を分散することができる。したがって、演算装置１１０、サーバ１３０及び／又はプリンタは、文書をプリンタ１７０で物理的に印刷する前に、階調表現、色合わせ及び／又は他の加工処理等の文書印刷処理の一部を行うことができる。
【００１４】
演算装置１１０は、また、取り外し可能なメディアドライブ１５０を有する。取り外し可能なメディアドライブ１５０は、例えば、３．５インチフロッピーディスクドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ、ＣＤ±ＲＷドライブ、ＤＶＤ±ＲＷドライブ、ＵＳＢフラッシュドライブ及び／又は他の全ての取り外し可能な媒体ドライブをあり得る。アプリケーションの一部は、取り外し可能な媒体上に存在でき、システム１００により動作させられる前に、取り外し可能なメディアドライブ１５０を用いて演算装置１１０で読み取ることができる。
【００１５】
接続１２０は、演算装置１１０、サーバ１３０及びプリンタ１７０を接続し、従来の通信プロトコル及び／又はデータポートインタフェースを用いた有線又は無線の接続として使用できる。一般に、接続１２０は、装置間でのデータの送信を可能にするものであればどのような通信チャンネルであってもよい。１つの実施形態においては、例えば、装置は適切な接続を介してデータを送信するための、並列ポート、直列ポート、イーサネット（登録商標）、ＵＳＢ、ＳＣＳＩ、ＦｉｒｅＷｉｒｅ（登録商標）及び／又は同軸ケーブルポート等の従来のデータポートを備えてもよい。
【００１６】
ネットワーク１４０は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）又はインターネットを含むこともできる。幾つかの実施形態においては、ネットワーク１４０を通じて送られた情報は、送信されるデータの安全保護を確実にするために暗号化されている。プリンタ１７０は、接続１２０を介してネットワーク１４０に接続されてもよい。典型的なプリンタ１７０は、演算装置１１０及び／又はサーバ１３０に直接接続されてもよい。システム１００は、図示しない他の周辺装置を含んでもよい。印刷装置のためのタグプレーン情報を用いて画素処理アルゴリズムを最適化するためのアプリケーションは、図１に示すように、一以上の典型的なコンピュータ又はプリンタ上で展開できる。例えば、演算装置１１０は、サーバ１３０から直接ダウンロードできるソフトウェアを実行することができ、また、アプリケーションの一部は典型的なプリンタ１７０により実行されてもよい。
【００１７】
図２には、典型的なプリンタ１７０を含むシステム２００の高級ブロック図を示す。典型的なプリンタ１７０は、ＣＰＵ１７６、ファームウェア１７１、メモリ１７２、入出力ポート１７５、印刷エンジン１７７及び二次記憶装置１７３を接続するバス１７４を含むことができる。典型的なプリンタ１７０は、また、文書の印刷又は処理のためのアプリケーションの一部を実行できる他の専用集積回路（ＡＳＩＣ）及び／又は書替え可能ゲートアレイ（ＦＰＧＡ）１７８を含んでもよい。典型的なプリンタ１７０は、Ｉ／Ｏポート１７５及び接続１２０を用いて二次記憶装置又は演算装置１１０中の他のメモリにもアクセスすることが可能である。幾つかの実施形態においては、プリンタ１７０は、プリンタ操作システム及び他の適当なアプリケーションソフトウェアを含むソフトウェアを実行することができてもよい。典型的なプリンタ１７０は、他の選択肢の中で、用紙サイズ、出力トレイ、色の選択及び印刷解像度をユーザが構成できるようにすることができる。
【００１８】
典型的なＣＰＵ１７６は、汎用プロセッサ、専用プロセッサ又は組み込み型プロセッサであり得る。ＣＰＵ１７６は、制御情報及び指示を含むデータをメモリ１７２及び／又はファームウェア１７１と交換できる。メモリ１７２は、ＳＤＲＡＭ又はＲＤＲＡＭ等、どのようなタイプのＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（「ＤＲＡＭ」）であってよいが、これらに限定されるものではない。ファームウェア１７１は、これらに限定されるものではないが、起動シーケンスと、フレームバッファのビットマップ処理、画像処理、文書処理のためのルーチン、画素処理アルゴリズム及び他のコードにより用いられるタグプレーン情報を生成するためのルーチンを含む定義済みのルーチンとを含む指示及びデータを保持できる。幾つかの実施形態において、ファームウェア１７１中のコード及びデータは、ＣＰＵ１７６により動作させられる前に、メモリ１７２にコピーされてもよい。ファームウェア１７１中のルーチンは、演算装置１１０から受信したページ記述をディスプレイリストに変換するためのコードを含み得る。幾つかの実施形態においては、ファームウェア１７１は、画素ベースのフレームバッファの強化を最適化するためのルーチンを含み得る。ファームウェア１７１は、圧縮ルーチン、メモリ管理ルーチン及びディスプレイリスト命令を適当なラスタ化したビットマップに変換するためのラスタ化ルーチンも含むことができる。ファームウェア１７１中のデータ及び命令は、コンピュータ１１０、ネットワーク１４０、プリンタ１７０の一つ以上に接続された取り外し可能な媒体及び／又は二次記憶装置１７３を用いてアップグレードすることができてもよい。
【００１９】
典型的なＣＰＵ１７６は、命令及びデータに基づいて動作し、制御及びデータをＡＳＩＣ／ＦＰＧＡ１７８及び印刷エンジン１７７に提供して印刷された文書を生成できる。ＡＳＩＣ／ＦＰＧＡ１７８は、印刷エンジン１７７にも制御及びデータを提供できる。ＡＳＩＣ／ＦＰＧＡ１７８は、変換、タグプレーン生成アルゴリズム、フレームバッファ処理アルゴリズム、圧縮及びラスタ化アルゴリズムの一つ以上をも実施できる。
【００２０】
幾つかの実施形態においては、最適化された画素処理アルゴリズム等のフレームバッファ処理アルゴリズムは、ＡＳＩＣ／ＦＰＧＡ１７８、ＣＰＵ１７６、又はそれらの組み合わせを用いて実施できる。他の実施形態においては、フレームバッファのビットマップアルゴリズムは、ソフトウェア、ファームウェア、ハードウェア又はそれらの組み合わせを用いても実施できる。
【００２１】
図３は、印刷データをレンダリングするためのシステム中のモジュール間での典型的な高水準データフロー３８０を示す。図３に示すように、このシステムは、とりわけ、ラスタ画像プロセッサ（ＲＩＰ）モジュール３００、二次記憶装置１７３及びフレームバッファ３７０を備えて構成される。ＲＩＰモジュール３００は、ハードウェア、ソフトウェア及びファームウェアの一つ又はそれらの幾つかの組み合わせとして実施できる。幾つかの実施形態においては、ＲＩＰモジュール３００は、パーサ３３０、デコーダ３５０及びラスタライザ３６０を備えて構成されることができる。幾つかの実施形態においては、パーサ３３０、デコーダ３５０及びラスタライザ３６０は、互いに通信して命令、データ及び同期情報を交換し、また、ディスプレイリスト３４０に基づく他の動作を生成、修正及び実施することもできる。
【００２２】
図３に示すように、パーサ３３０は、印刷ジョブ３１０を演算装置１１０から受信し、印刷ジョブ３１０中に存在するＰＤＬ言語オブジェクトを用いてディスプレイリスト３４０を生成できる。幾つかの実施形態においては、ディスプレイリスト３４０は、一以上のテキスト、図形、命令、画像ヘッダ及び画像データオブジェクトを保持できる。これらの表示命令は、文字又はテキスト、線画又はベクトルから成るデータ、及び画像又はラスタデータを含むことができる。幾つかの実施形態においては、ディスプレイリスト３４０中のオブジェクトは、ユーザの文書中の同様のオブジェクトに対応していてもよい。幾つかの実施形態においては、ディスプレイリスト３４０をメモリ１７２又は二次記憶装置１７３中に記憶できる。幾つかの実施形態においては、ディスプレイリスト３４０は、プリンタ１７０、演算装置１１０及びサーバ１３０の一つ以上の中に存在できる。開示された実施の形態によれば、ディスプレイリスト３４０を記憶するメモリは、専用メモリであるか、あるいは汎用メモリの一部を形成するか、又はそれらの幾つかの組み合わせであってもよい。ディスプレイリスト３４０は、実際の印刷に先立つデータの処理における第二のステップ又は中間ステップであってもよく、その後の形に変換される前に構文解析されてもよい。幾つかの実施形態においては、上記その後の形は、最終的な表現であってもよい。
【００２３】
幾つかの実施形態においては、ＲＩＰモジュール３００は、ソフトウェアアプリケーションとして、又はＣＰＵ１７６を用いてファームウェア１７１中で、又はＡＳＩＣ／ＦＰＧＡ１７８を用いて、又はそれらの幾つかの組み合わせにより、実施することができる。ＲＩＰモジュール３００は、印刷ジョブ３１０中のデータを受信し、このデータに基づいて動作して、フレームバッファ３７０の生成を促進する。幾つかの実施形態においては、印刷ジョブ３１０は、一連の描画命令及び言語オブジェクトを備えて構成されてもよい。この連続した流れは、テキストオブジェクト、画像オブジェクト及び／又は図形オブジェクトに対応付けられた描画命令を含むことができる。幾つかの実施形態においては、印刷ジョブ３１０中の画像オブジェクトに対応する画像は、高解像度画像を含むことができる。高解像度画像は、高比色解像度及び高空間解像度により定義できる。比色解像度は、特定の色空間を用いて画像画素の色を正確に再生するためのプリンタの能力に関連する。比色解像度は、大抵の場合、画素を表すために用いられるビット数の関数である。例えば、シアン、マゼンタ、黄色及び黒のカラープレーンを用いた色空間中の１カラープレーン当り８ビットの情報を有する画素は、１カラープレーン当り６ビットの情報を用いる同一の色空間における表現よりも大きな範囲の色を表現できる。プリンタは、種々の色、色調及び輝度の数個のドットから成るパターンを用いて、各画像画素の色を再生できる。空間解像度は、画像中の線がどれだけ接近して分解できるかについての程度を示すことができる。すなわち、空間解像度は、単位長あたりの独立した画素値の数を示すことができる。
【００２４】
幾つかの実施形態においては、印刷ジョブ３１０中の画像オブジェクトに対応する画像は、これらに限定されるものではないが、ＪＰＥＧ、ＧＩＦ、ＴＩＦＦ及び／又はＰＮＧを含む通常の圧縮アルゴリズムを用いて圧縮できる。幾つかの実施形態においては、印刷ジョブ３１０に対応付けられた画像オブジェクトに対応する画像は、二次記憶装置１７３に記憶することができる。他の実施形態においては、印刷ジョブ３１０に対応付けられた画像オブジェクトに対応する画像は、演算装置１１０又はプリンタ１７０に単独に又は二次記憶装置１７３と組み合わせて接続された図示しないコンピュータで読み取り可能な他の記憶媒体に記憶することができる。
【００２５】
幾つかの実施形態においては、パーサ３３０による印刷ジョブ３１０の処理は、テキスト及び図形に対応付けられた描画命令を、印刷ジョブ３１０に対応付けられたＰＤＬ定義に基づいて、ディスプレイリスト３４０中に直接置くことを含むことができる。印刷ジョブ３１０が画像を含む場合には、パーサ３３０は、ディスプレイリスト３４０中の画像オブジェクトに対応する画像ヘッダ又は幾つかの他の記述的参照を置くことができる。幾つかの実施形態においては、印刷ジョブ３１０中の画像は、メモリ１７２又は二次記憶装置１７３中に圧縮された形で残存し続けることができる。
【００２６】
幾つかの実施形態においては、デコーダ３５０は、ディスプレイリスト３４０中の画像ヘッダ又は他の画像識別情報を用いて、処理されたページ記述言語に基づいて、印刷データを低水準命令に変換できる。例えば、ディスプレイリスト３４０中に含まれた画像を伸長するために、デコーダ３５０は、ディスプレイリスト３４０中の画像オブジェクトに対する参照中に存在する情報を用いて二次記憶装置１７３から圧縮された画像を検索することを要求できる。幾つかの実施形態においては、デコーダ３５０は、続いて、該圧縮画像を伸長できる。
【００２７】
幾つかの実施形態においては、非圧縮画像の復元は、上から下まで走査線毎に順次進行することができる。走査線は、１×Ｎ配列の画素として記述することができ、ここでＮは、第一の整数値を表す。幾つかの状態においては、走査線は、１乃至Ｄ平面の深さとして追加的に記述されることができる。ここで、Ｄは第二の整数値を表し得る。例えば、画像データがＤカラープレーン中の情報から成る場合、走査線は、各Ｄカラープレーンに対してＮ個の画素を含む１ラインのデータを含むことができる。デコーダ３５０は、画像にアクセスするための読み取り機能に対するポインタを二次記憶装置１７３から受信できる。幾つかの実施形態においては、この読み取り機能は、システムに固有のものであり得る。デコーダ３５０は、伸長された画像を復元するための走査線も出力できる。幾つかの実施形態においては、デコーダ３５０は、ハードウェア、ソフトウェア、又はそれらの幾つかの組み合わせの一つとして実施できる。例えば、デコーダ３５０は、ファームウェア１７１、ＣＰＵ１７６、ＡＳＩＣ／ＦＰＧＡ１７８、又はそれらの幾つかの組み合わせ中で実施できる。
【００２８】
幾つかの実施形態においては、ラスタライザ３６０は、ディスプレイリスト３４０からデータ及び描画命令を読み取り、デコーダ３５０から伸長された走査線を読み取って、その出力をフレームバッファ３７０中に記憶することができる。幾つかの実施形態においては、フレームバッファ３７０は、メモリ１７２の一部であり得る。幾つかの実施形態においては、フレームバッファ３７０中のデータは、処理を最適化するために、離散的同列バンドとして編成することができる。フレームバッファ３７０は、個別画素から成り、印刷ジョブ３１０に対して印刷されたページ上になされる印を特定する、矩形のビットマップを保持することができる。印刷エンジン１７７は、フレームバッファ３７０中のラスタ化データを処理でき、用紙等の印刷媒体上のページの印刷可能な画像を形成できる。幾つかの実施形態においては、ラスタ化データを処理することは、フレームバッファ３７０の各個別画素に対応付けられたタグプレーンを解析することを含み得る。タグプレーン４１０は、図４を参照してより詳細に説明するように、画素がテキスト、画像又は図形のオブジェクト種別に対応付けられているか否か等の画素についてのデータを含み得る。幾つかの実施形態においては、ラスタライザ３６０のためのルーチンは、ファームウェア１７１中に提供されているか、又はＡＳＩＣ／ＦＰＧＡ１７８を用いて実施できる。
【００２９】
図４は、開示した実施形態に従うフレームバッファ中の典型的な画素４００とタグプレーン４１０との対応を示す。典型的な画素４００は、プリンタ１７０の色空間に対応付けられた一以上のカラープレーンの色の組み合わせを含むことができる。例えば、シアン、マゼンタ、黄色及び黒（「ＣＭＹＫ」）を用いた色空間において、各画素は、輝度の変化するＣ、Ｍ、Ｙ又はＫの数個のドットのパターンを用いて再生できる。画素に対する色の固有の組み合わせは、フレームバッファ３７０中に記憶できる。幾つかの実施形態においては、所与の画素に対して、各色構成要素は、複数のビット値として表し得る。例えば、８ビットの値を、各カラープレーンにおける色調の変化を表すために用いることができる。
【００３０】
図４に示すように、タグプレーン４１０は別の平面として記憶することができる。タグプレーン４１０は、画素情報と画素に対応付けられたオブジェクト種別との相関を取るために用いることのできる、各画素に関する情報を提供できる。
【００３１】
タグプレーン４１０は、それぞれのタグフィールドが独自の画素に対応付けられる複数のタグフィールドを備えることができる。幾つかの実施形態においては、タグフィールドと画素との間に一対一対応が存在し得る。各タグフィールドはさらに、それぞれのタグビットが画素に対応付けられた特定のオブジェクト種別を表すことができる複数のタグビットを備えることがでる。例えば、タグプレーン４１０は、３ビットから成るタグフィールドを備えることができる。この３ビットは、下記表１に示すように、テキスト、画像及び図形等の３個の異なるオブジェクト種別を表し得る。幾つかの実施形態においては、タグフィールドの大きさは、フレームバッファ３７０のメモリ構造、ＣＰＵ１７６により使用される語長、及び／又は速度及び効率の考慮等の考慮に基づいて、３ビットよりも大きくとも小さくともよい。
【００３２】
タグプレーン４１０は、文書のページのＰＤＬ記述から導出された情報に基づいて、ＲＩＰモジュール３００により生成できる。幾つかの実施形態においては、タグプレーン４１０は、ページのラスタ化と共に、デコーダ３５０により生成することができる。例えば、特定のページは、多数のオブジェクトを含んでもよい。幾つかの場合には、ページ上のオブジェクトは、互いに重なり合い、又は互いに極めて接近している場合がある。これらのオブジェクトに対応付けられた画素に対するタグフィールド中の情報は、該画素に対応付けられた種々のオブジェクト種別を追跡するために使用できる。重なり合うオブジェクトが、画像又は図形のオブジェクトの上にテキストオブジェクトが置かれる等、異なる種別のものである場合、一つの種別以上のオブジェクトに関する画素に対するタグフィールドは、該画素に多数のオブジェクト種別が対応付けられている事実を反映することができる。したがって、重なり合う領域中での一つの画素に対応付けられたタグプレーン４１０中のタグフィールドは、その画素に対応付けられたディスプレイリスト３４０中の種々のオブジェクト種別がフレームバッファ３７０中でラスタ化され記憶されるに従って、変化できる。換言すれば、一つの画素に対応付けられたタグフィールドは、該画素に対応付けられたオブジェクト種別の累積履歴を表すことを許容できる。
【００３３】
一つの画素に対応付けられたオブジェクト種別に対する変化は、該画素に対応付けられたタグフィールド中の適当なタグビットを変化させることにより、タグプレーン４１０中に位置決めできる。例えば、各タグビットは、特定のオブジェクト種別を表すことができる。例えば、第一の型のオブジェクトであるテキストは、特定のページ領域に対するテキストを示すディスプレイリストから検索できる。当該テキストオブジェクトが処理されたときに、該テキストオブジェクトに対応する画素に対応付けられたタグフィールド中の情報は、該タグフィールド中のテキストオブジェクト種別に対応付けられたビットを変化させることにより、変えることができる。続いて、ディスプレイリスト３４０を更に処理するには、前記テキストオブジェクトに予め対応付けられた一以上の画素に対応する画像オブジェクト等の、他の種別のオブジェクトを齎すことができる。したがって、当該画像オブジェクトが処理されたときに、該画像オブジェクトに対応する画素に対応付けられたタグフィールド中の情報を、該タグフィールド中の画像オブジェクト種別に対応付けられたビットを変化させることにより、変化させることができる。したがって、該テキスト及び画像オブジェクト種別の双方に対応付けられた幾つかの画素は、テキスト及び画像オブジェクト種別に対する二重の対応付けを示す二個のタグビットの組を有し得る。一般に、一以上のオブジェクト種別に対応付けられた画素は、タグビットの組を有するか、そうでなければ、それらがオブジェクト種別に対応付けられていることを示すように印を付けられている場合がある。さらに、幾つかの実施形態においては、ビットは、処理がされている間上書きされなくてもよい。したがって、タグフィールドは、各画素に対するオブジェクト種別の対応付け（Ｔ、Ｇ、Ｉ）の累積履歴を表すことができる。
【００３４】
一般に、タグプレーン４１０中のタグフィールドは、印をつけられていないか、一つの印をつけられているか、多数の印をつけられているかであり得る。タグプレーン４１０中の印をつけられていないタグフィールドは、特定のオブジェクト種別に対応する各タグビットに対するタグフィールド中の論理的零値を含み得る。一つの印をつけられたタグフィールドは、アクチブタグビットを１つだけ含むことができる。幾つかの場合には、一つのアクチブビットが論理的１として示され得る。タグプレーン４１０中の多数の印を付けられたタグフィールドは、複数のアクチブタグビットを含むことができる。幾つかの実施形態においては、タグプレーン４１０は、フレームバッファ３７０と共に記憶でき、及び／又はメモリ１７２中に記憶できる。他の実施形態においては、タグプレーン４１０は、二次記憶装置１７３中に記憶でき、又はＲＩＰモジュール３００によりアクセス可能な、プロセッサで読み取り可能な他のメモリを用いて記憶することができる。
【００３５】
図５は、多数のオブジェクトを有するページ領域を示す典型的なページ５００のスナップショットを示す。ページ５００は、タグプレーン４１０中のタグフィールド中のビットにより識別されたオブジェクト種別に対応付けられた一以上の画素を含んでもよい。例えば、図５に示すように、ページ５００は、印のつけられていない領域５１０、テキスト領域５２０、画像領域５４０及び図形領域５３０含む。上記各領域は互いに重なり合っていることに注意すべきである。例えば、領域５３０−Ａは、テキストオブジェクト及び図形オブジェクトと重なり合っているページ領域を示す。ここで、ビット０はテキストオブジェクト種別を表すことができ、ビット１は図形オブジェクト種別を表すことができ、ビット２は画像オブジェクト種別を表すことができる。このように、領域５３０−Ａに対応付けられたビットコードは、［１１０］で表すことができる。同様に、領域５４０−Ａ及び領域５３０−Ｂは、それぞれタグフィールドの値［１０１］及び［１１１］により表すことができ、それぞれテキスト及び画像、テキスト、画像及び図形に重なっているページ領域を表すことができる。
【００３６】
表１は、各画素に対応付けられたタグの典型的なタグプレーン中のタグフィールドと、各画素に対応付けられたタグフィールドの値に基づくアルゴリズムに固有のアクション指示との間の関係を例示する決定表を示す。
【表１】
2010093801.tif 000003
【００３７】
左側の第一の上位列中に記載されたように、ラベル付けされたタグプレーンは、特定の画素に対応付けられたタグビットの組み合わせを表すビットコードである。ここで、タグビットは、テキストオブジェクト種別Ｔ、図形オブジェクト種別Ｇ及び画像オブジェクト種別Ｉに対応する。各タグビットは、当該画素にオブジェクト種別が対応付けられていないことを示す、０の値を有する単一ビットとして符号化できる（印が付けられていない）。あるいは、タグビットは、当該画素に対応付けられた特定のオブジェクト種別の発生を示す、１の値を有することができる、または、印が付けられている。例えば、表１の行１は、当該画素に対応付けられたテキスト、画像又は図形オブジェクト種別の不存在を示す０が各タグビットに記載されている。行１は、このように、印の付けられていない画素に対応する。行２は、テキストオブジェクト種別Ｔに対応する、組を有するテキストオブジェクト種別、またはアクチブタグビット、に対応付けられた画素を示す。行８では、それぞれテキスト、図形及び画像オブジェクト種別に対応する３ビットが、すべてアクチブで、この画素は３個のオブジェクト種別の全てに対応付けられていることを示している。行８は、多数の印の付けられた画素に対応する。
【００３８】
次の列では、タグビットの対応する組み合わせの「定義」、またはタグフィールドの値、が提供される。この定義は例示の目的のみのために示されている。この定義は、タグフィールドを処理するアルゴリズムは、該タグフィールドの値の上に置くことができるという解釈を例示する。例えば、表１の行１に対応付けられたタグフィールドの値は、「全て空」として示され、アルゴリズムＩ、ＩＩ及びＩＩＩに対して、当該画素に何のオブジェクト種別も対応付けられていないことを示す。
【００３９】
表１の次の列は、各画素に対応付けられたタグフィールドの値を後に用いる固有のアルゴリズムに対するアルゴリズム固有のアクション指示を記述する。アルゴリズムの例には、トラッピングの変形、エッジの強化又は解像度増強を含むことができる。幾つかの実施形態においては、アクション指示は、ある画素が、当該アルゴリズムによって実行される全ての処理動作に対する処理空間中に、候補として含まれるべきか（含まれるべきではないか）という続いて起こる画素処理アルゴリズムに対する明瞭な指示を提供する。
【００４０】
例えば、トラッピングアルゴリズムは、印刷エンジンの位置合わせ誤差の目に見える効果を補正及び／又はマスクするために使用できる。トラッピングアルゴリズムに対応付けられたアクション指示は、印の付けられていない画素よりも、テキスト及び図形等の印の付けられた画素等の、多数の印の付けられた画素上で動作する可能性が高いであろう。例えば、表１に示されたアクション指示Ｉは、トラッピングアルゴリズムに関係し得る。表１の行１に例示されたように、ある画素がタグフィールドの値［０００］を有するときには、アクション指示Ｉは、「０」であり、「全て空」を表す。このように、タグフィールドの値［０００］を有する画素は、アクション指示Ｉに基づいてトラッピングアルゴリズムを適用するそれ以上の処理のための適当な候補ではない。同様に、第二のアルゴリズムは、修正されたトラッピングアルゴリズムであり得、テキスト及び図形として印の付けられた画素に加えて、図形及び画像として印の付けられた画素に関してトラッピングを行うことを含むことができる。例えば、表１に示すように、アクション指示ＩＩは、修正されたトラッピングアルゴリズムに関するものであってよい。表１の行６に例示するように、アクション指示ＩＩは、ある画素が「図形及び画像」を示すタグフィールドの値［０１１］を有するときに、「１」である。このように、タグフィールドの値［０１１］を有する画素は、アクション指示ＩＩの値に基づき修正されたトラッピングアルゴリズムを適用する更なる処理のための候補であり得る。最後に、第３のアルゴリズムは、解像度増強アルゴリズムであり得る。幾つかの解像度増強アルゴリズムは、例えば、テキスト文字に焦点を合わせることができる。アクション指示ＩＩＩは、表１に示すように、このタイプの解像度増強アルゴリズムに関係し得る。表１の行２に例示するように、アクション指示ＩＩＩは、ある画素が、「テキストだけ」を示すタグフィールドの値［１００］を有するとき、「１」である。このように、タグフィールドの値［１００］を有する画素は、アクション指示ＩＩＩに基づいて、解像度増強アルゴリズムを適用する更なる処理のための候補であり得る。
【００４１】
幾つかの実施形態においては、アクション指示に対応する値は、複数ビットとして符号化され、対応付けられたタグフィールドの値と共に記憶することができる。例えば、幾つかの実施形態においては、タグフィールドの値は、８ビットの記憶場所中の１個の４ビットの値として記憶することができ、又は２個のタグフィールドのための２個の４ビットの値を１個の８ビットの記憶場所中の１バイトとして圧縮して記憶することができる。
【００４２】
図６は、開示された実施の形態に従って、処理空間に含めるための、ラスタ画像バッファ中の少なくとも一つの画素を識別するための方法中のステップを例示する典型的なフローチャート６００を示す。当業者には、ステップを削除、移動、又は更に追加して例示した手順を変更できることが容易に理解できるであろう。
【００４３】
ステップ６１０において、ある画素に対応付けられたタグプレーンを解析できる。例えば、タグプレーン４１０中のタグフィールドは、トラッピング、エッジの強化又は解像度増強等のある画素に基づいた強化アルゴリズムを行う前に、解析することができる。トラッピングアルゴリズムは、例えば、印刷エンジンの位置合わせ誤差の目に見える効果を補正及び／又はマスクするために使用できる。トラッピングアルゴリズムは、図形オブジェクト間の白色の間隙及び／又は発色した縁を除去するために、発色領域を僅かに拡張又は縮小することにより、実行できる。エッジの強化アルゴリズムは、より鋭い縁の印象を得るために、印刷されたオブジェクトの境界を修正するために用いることができる。解像度増強アルゴリズムは、テキスト文字の境界領域のインクの明暗を修正することにより、解像度を向上させるために使用できる。幾つかの実施形態においては、タグプレーン４１０中のタグフィールド中の情報は、特定の画素が、画素ベースで最適化するアルゴリズムのための処理空間における候補として含まれるのに適しているか否かを判定するために、該特定の画素のオブジェクト結合の判定のために用いることができる。例えば、上記表１の行１に示すように、タグフィールドの値［０００］は、追加処理のための候補とはなり得ない印の付けられていない画素から成るページ領域を示し得る。対照的に、表１の行８に示すように、タグフィールドの値[１１１]は、下流の画素処理アルゴリズムにより更に用いられるより大きな可能性を有するテキスト、画像及び図形のオブジェクト種別に対応付けられた画素を示すことができる。幾つかの実施形態においては、論理和の機能を用いてタグフィールドを更新し、それにより以前に設定された可能性のあるビット値を上書きすることを防止できる。さらに、アクション指示を、ある画素に対応付けられたタグビットの値から直接導出できる。
【００４４】
幾つかの実施形態においては、タグプレーン中のタグフィールドの値に基づいて処理空間を判定できる。例えば、タグフィールドの値は、以後の処理の候補である画素を含む処理空間から特定の画素を除去（または包含）するのに用いることができる。タグフィールドは、ラスタ化処理の間零又はより多いオブジェクト種別をある画素が含むか否かを示すことができる。重なり合うオブジェクト又は互いに至近距離にある異なるオブジェクトに対応付けられた全ての画素は、タグフィールド中の一以上のビットを用いる処理の候補として印をつけることができる。上述のように、タグフィールドの値は、続いて起こる動作の基礎を提供できるアクション指示を示すことができる。したがって、タグプレーン４１０のタグフィールドの値は、続いて起こる処理ための処理空間を狭めて最適化するために利用することができる。
【００４５】
ステップ６２０において、アルゴリズム固有のアクション指示を、タグフィールドの値に基づいて、画素に割り当てることができる。例えば、表１の行５に示すように、特定の画素がタグフィールドの値［１１０］を持ち得る。このタグフィールドの値［１１０］は、印の付けられたタグビットＴ及びＧ並びに印の付けられていないタグビットＩにより示されるように、対応付けられた画素がテキストオブジェクト種別及び図形オブジェクト種別としてラスタ化されたことを示す。この対応するタグフィールドの値の定義［１１０］は、「テキスト及び図形」に対応する。換言すれば、タグフィールドの値［１１０］は、対応する画素がテキスト及び図形のオブジェクト種別を有し、従って更なる処理の候補であり得ることを示す。
【００４６】
下流の処理の本質は、アルゴリズムに固有であり得るアクション指示に基づいて定義できる。例えば、表１の行６に示すように、タグフィールドの値［０１１］は、アクション指示Ｉ及びアクション指示ＩＩＩにより「０」（それらの各処理空間に何も含まれないこと示唆する）として解釈され、アクション指示ＩＩにより「１」(その処理空間中に含有されていることを示唆する)として解釈され得る。表１に示すように、「１」は、アクション指示ＩＩと対応付けられた続いて起こる画素処理アルゴリズムに、ある画素が、該アルゴリズムにより実行される全ての処理動作における候補として含まれるべきであるという指示を提供できる。対照的に、「０」は、アクション指示Ｉ及びアクション指示ＩＩＩと対応付けられた続いて起こる画素処理アルゴリズムに、該各アルゴリズムにより実行される全ての処理動作における候補としてある画素が含まれるべきではないという指示を提供できる。幾つかの実施形態においては、アルゴリズム固有のアクション指示を、該固有のアクション指示を実行するために利用できる計算又は記憶資源等のユーザの定義した基準に基づいて特定できる。
【００４７】
ステップ６３０において、ある画素を、アルゴリズム固有のアクション指示の値に基づいて処理空間中に含めることができる。例えば、表１の行５に記載したように、［１１０］のタグフィールドの値を有する画素を、アクション指示Ｉに対応するトラッピングアルゴリズムのための処理空間中に含めることができる。他の実施形態において、他のアルゴリズムが、異なるアクション指示を用いて、その処理空間に画素を含むか否かを識別できる。画像画素を処理する追加の要求がある場合、修正されたトラッピングアルゴリズムが、アクション指示ＩＩに従うこととなる。テキスト文字に焦点を合わせた解像度増強アルゴリズムをアクション指示ＩＩＩにより導くことができる。幾つかの実施形態においては、処理空間は、トラッピング処理、エッジの強化処理又は解像度増強処理の一つを含むことができる。
【００４８】
幾つかの実施形態においては、上記処理を実施するプログラムを、コンピュータで読み取り可能な媒体１５０又はコンピュータで読み取り可能なメモリに記録できる。これらは、下記に限定されるものではないが、読み取り専用メモリ（ＲＯＭ）、プログラム可能な読み取り専用メモリ（ＰＲＯＭ）、フラッシュメモリ、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、又はセキュアデジタル（ＳＤ）メモリカード、Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（商標）、Ｓｍａｒｔ  Ｍｅｄｉａ（商標）、Ｍｅｍｏｒｙ  Ｓｔｉｃｋ（商標）等のデジタルメモリカード等を含む。幾つかの実施形態においては、一以上の型のコンピュータで読み取り可能な媒体をプリンタ１７０に接続できる。ある実施形態においては、開示したシステム、方法及び構造を実施するプログラムの一部をネットワーク１４０を通じて供給できる。
【００４９】
他の実施形態は、ここに開示した一以上の実施形態の仕様と実施とを考慮すれば、当業者に明らかであろう。仕様と例とは例示としてのみ考慮され、実施の形態の真の範囲と精神とは以下の請求の範囲により示されることを意図している。
【図１】
2010093801.tif 000004
【図２】
2010093801.tif 000005
【図３】
2010093801.tif 000006
【図４】
2010093801.tif 000007
【図５】
2010093801.tif 000008
【図６】
2010093801.tif 000009
【外国語明細書】
2010093801000001.pdf
2010093801000002.pdf
2010093801000003.pdf
2010093801000004.pdf