(57)【要約】      （修正有）【課題】印刷データをレンダリングする方法を提供する。【解決手段】圧縮画像オブジェクトを備える印刷データをレンダリングする方法は、印刷データを解析することによりディスプレイリストを生成するステップを含む。圧縮画像オブジェクトは、少なくとも１つの圧縮画像オブジェクトへのリファレンスによってディスプレイリスト内で識別される。いくつかの実施形態では、ディスプレイリストはラスタ化され、ビットマップに変換される。いくつかの実施形態では、少なくとも１つの圧縮画像オブジェクトへのリファレンスは少なくとも１つの圧縮画像オブジェクトを検索するために使用される。検索された圧縮画像オブジェクトは、復号化され、復号化された画像のビットマップを生成するためにラスタ化される。【選択図】図２
2009282964.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの圧縮画像オブジェクトを備える印刷データをレンダリングする方法において、
前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、
前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、
を備える方法。
【請求項２】
前記印刷データがＰＤＬを備える請求項１に記載の方法。
【請求項３】
前記ディスプレイリストが、テキストオブジェクト、図形オブジェクト、および複数の描画コマンドをさらに含む請求項１に記載の方法。
【請求項４】
前記検索された圧縮画像オブジェクトを復号化するステップが、
前記少なくとも１つの圧縮画像オブジェクトを圧縮解除するステップと、
前記復号化された画像オブジェクトを表現する複数の圧縮解除走査線を生成するステップと、
前記複数の圧縮解除走査線を変換するステップと、
を備える請求項１に記載の方法。
【請求項５】
前記変換するステップが、
前記複数の圧縮解除走査線をシフトするステップと、
前記複数の圧縮解除走査線を拡大縮小するステップと、
のうちの１つ以上のステップをさらに含む請求項４に記載の方法。
【請求項６】
前記リファレンスが、前記少なくとも１つの圧縮画像オブジェクトの識別情報およびアドレス情報を含む画像ヘッダである請求項１に記載の方法。
【請求項７】
前記少なくとも１つの圧縮画像オブジェクトが補助記憶装置に記憶される請求項１に記載の方法。
【請求項８】
前記ビットマップはフレームバッファに記憶され、
前記フレームバッファは複数の別個の連続的なセグメントをさらに備える請求項１に記載の方法。
【請求項９】
前記別個の連続的なセグメントが並列にラスタ化される請求項８に記載の方法。
【請求項１０】
処理装置によって実行されたときに、少なくとも１つの圧縮画像オブジェクトを備える印刷データを処理するための方法におけるステップを実現する指示を記憶するコンピュータ可読媒体であって、
前記方法は、
前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、
前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、
を備えるコンピュータ可読媒体。
【請求項１１】
前記検索された圧縮画像オブジェクトを復号化するステップが、
前記復号化された画像オブジェクトを表現する複数の圧縮解除走査線を生成するステップをさらに含み、前記少なくとも１つの圧縮画像オブジェクトを圧縮解除するステップと、
前記複数の圧縮解除走査線を変換するステップと、
を備える請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記変換するステップが、
前記複数の圧縮解除走査線をシフトするステップと、
前記複数の圧縮解除走査線を拡大縮小するステップと、
のうちの１つ以上のステップをさらに含む請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記リファレンスが、前記少なくとも１つの圧縮画像オブジェクトのアドレス情報を備えるヘッダである請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記ビットマップはフレームバッファに記憶され、
前記フレームバッファは複数の別個の連続的なセグメントをさらに備える請求項１０に記載のコンピュータ可読媒体。
【請求項１５】
前記別個の連続的なセグメントが並列にラスタ化される請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
圧縮画像をレンダリングするシステムであって、
少なくとも１つの圧縮画像オブジェクトを備える印刷ジョブを受信するように構成されている入力インターフェイスと、
前記少なくとも１つの圧縮画像オブジェクトと、ディスプレイリストを作成するための複数の描画コマンドとを記憶するように構成されている記憶装置と、
前記入力インターフェイスおよび前記記憶装置に連結された処理装置とを備え、
前記処理装置は、
前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、
前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、
を実現する指示を実行するように構成されているシステム。
【請求項１７】
前記検索された圧縮画像オブジェクトを復号化するステップが、
前記復号化された画像オブジェクトを表現する複数の圧縮解除走査線を生成するステップをさらに含み、前記少なくとも１つの圧縮画像オブジェクトを圧縮解除するステップと、
前記複数の圧縮解除走査線を変換するステップと、
を備える請求項１６に記載のシステム。
【請求項１８】
前記変換するステップが、
前記複数の圧縮解除走査線をシフトするステップと、
前記複数の圧縮解除走査線を拡大縮小するステップと、
のうちの１つ以上のステップをさらに含む請求項１７に記載のシステム。
【請求項１９】
前記リファレンスが、前記少なくとも１つの圧縮画像オブジェクトのアドレス情報を備えるヘッダである請求項１６に記載のシステム。
【請求項２０】
前記ビットマップはフレームバッファに記憶され、
前記フレームバッファは複数のセグメントをさらに備える請求項１６に記載のシステム。
【請求項２１】
前記別個の連続的なセグメントが並列にラスタ化される請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷の分野に関し、詳しくは、高解像度圧縮画像のラスタ化およびレンダリング中にメモリを最適化し要求を処理するシステム、方法及びコンピュータ可読媒体に関する。
【背景技術】
【０００２】
高解像度デジタル画像は電子保存文書の一般的な構成要素である。これらの画像は高い比色および空間解像度によって定義されることがよくある。高解像度画像は、大量のメモリを占有する可能性があるので、多くの場合に、ジョイント・フォトグラフィック・エキスパート・グループ（「ＪＰＥＧ」）またはポータブル・ネットワーク・グラフィックス（「ＰＮＧ」）のような圧縮フォーマットで記憶される。より低解像度の画像でさえも、かなりの量のメモリを占有する可能性がある。圧縮解除形式では、画像はビットマップによって記述されることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
圧縮画像を含む電子文書は、ラスタ化と、ディスプレイリストへの統合との両方の前に、圧縮解除を必要とすることがよくある。しかし、圧縮解除プロセスは、かなりの計算資源（computing resources）を浪費し、したがって、性能を低下させることがある。さらに、圧縮解除された高解像度画像は、ディスプレイリストのために一般に割り当てられる記憶容量を超えることがよくある。これらの場合、補助記憶装置またはその他の記憶媒体上のスワップファイルが、付加的な記憶容量を提供するために使用されることがある。しかし、補助記憶装置内のスワップファイルにアクセスする際の時間遅延は、余分な遅延を引き起こし、また、ラスタ化のために潜在的に利用できるその他の資源を浪費することがあり、その結果、プリンタ性能を低下させる。よって、印刷用の画像コンテンツを含む文書のラスタ化およびレンダリングを最適化する方法およびシステムが求められている。
【課題を解決するための手段】
【０００４】
本発明によれば、印刷データをレンダリングするシステム、方法及びコンピュータ可読媒体が提供される。いくつかの実施形態においては、少なくとも１つの圧縮画像オブジェクトを備える印刷データをレンダリングする方法であって、前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、を備える方法が提供される。
【０００５】
本発明の実施形態は、コンピュータ可読媒体および／またはコンピュータ可読メモリを使用して処理装置によって作成され、記憶され、アクセスされ、または修正される命令にも関する。
【０００６】
これらの実施形態およびその他の実施形態は以下の図面に関してさらに説明されている。
【図面の簡単な説明】
【０００７】
【図１】文書を印刷するシステム内の構成要素を示すブロック図である。
【図２】例示的なプリンタのハイレベルなブロック図である。
【図３】印刷データをレンダリングするシステム内におけるモジュール間の例示的なハイレベルデータフローを示す図である。
【図４】印刷データをレンダリングする例示的なラスタ情報プロセッサモジュール内におけるモジュール間の例示的なローレベルデータフローを示す図である。
【図５】印刷データをレンダリングする例示的な方法におけるステップを示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図に示すように、本発明の１つ以上の例示的な実施形態について詳細に説明する。図を通して、可能な場合は、同一又は同様の部分に同一の符号を使用する。
【０００９】
図１に、本発明のいくつかの実施形態によって文書を印刷するシステムにおける構成要素を例示するブロック図を示す。図１に示すように、本発明と整合性を有するコンピュータソフトウェアアプリケーションはコンピュータネットワーク上で展開することができ、このネットワークは、従来の通信プロトコルおよび／またはデータポートインターフェースを使って情報が交換されることを可能にする通信リンクを介して接続されている。
【００１０】
図１に示すように、例示的なシステム１００には、演算装置１１０とサーバ１３０とを含む複数のコンピュータが備えられる。さらに演算装置１１０とサーバ１３０とはコネクション１２０を介して通信し、コネクション１２０はネットワーク１４０を通る。ネットワーク１４０は、一例ではインターネットとすることもできる。演算装置１１０はコンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、またはネットワーク環境で使用することのできる他の演算装置とすることができる。サーバ１３０は、演算装置１１０およびその他の装置（図示しない）に接続することのできるプラットフォームとすることができる。演算装置１１０とサーバ１３０とは、プリンタ１７０を使った文書の印刷を可能にするソフトウェア（図示しない）を実行することもできる。
【００１１】
例示的なプリンタ１７０は電子データから物理文書を生成する装置を含んでおり、この装置にはレーザプリンタ、インクジェットプリンタ、ＬＥＤプリンタ、プロッタ、ファクシミリ装置、およびディジタル複写機が含まれるが、これらに限定されない。いくつかの実施形態においては、プリンタ１７０は、演算装置１１０またはサーバ１３０からコネクション１２０を介して受信した文書を直接印刷することもできる。いくつかの実施形態においては、このような構成は、演算装置１１０またはサーバ１３０による追加の処理を伴って（またはこれを伴わずに）、文書の直接印刷を可能にする。いくつかの実施形態においては、文書はテキスト、図形、および画像のうちの１つ以上を含む。画像データは電子形式で記憶されるときに圧縮される。したがって、印刷前に圧縮画像データに圧縮解除が実行される。いくつかの実施形態においては、プリンタ１７０は印刷用の文書のＰＤＬまたはＰＰＭＬ記述を受け取る。ＰＤＬ記述は、文書が印刷されているときに、一連のよりローレベルなプリンタ特有コマンドに変換されることがよくある。文書のＰＤＬ記述から、印刷媒体上にマークを置くために使用され得るローレベルな記述への変換処理は、ラスタ化と呼ばれる。
【００１２】
文書印刷処理を分散させることもできることに留意されたい。よって、演算装置１１０、サーバ１３０、および／またはプリンタ１７０は、文書がプリンタ１７０によって物理的に印刷される前に、ハーフトーニング、カラーマッチング、および／またはその他の操作プロセスといった文書印刷処理の部分を実行し得る。
【００１３】
また演算装置１１０は着脱可能型メディアドライブ１５０も含む。着脱可能型メディアドライブ１５０には、例えば、３．５インチフロッピードライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ、ＣＤ±ＲＷもしくはＤＶＤ±ＲＷドライブ、ＵＳＢフラッシュドライブ、および／または本発明の実施形態と整合性を有する他の着脱可能型メディアドライブなどが含まれ得る。いくつかの実施形態では、ソフトウェアアプリケーションの一部分は着脱可能型メディアに存在し、着脱可能型メディアドライブ１５０を使用して演算装置１１０によって読み出され実行されることがある。
【００１４】
コネクション１２０は、演算装置１１０とサーバ１３０とプリンタ１７０とを接続するものであり、従来の通信プロトコルおよび／またはデータポートインターフェースを使った有線または無線の接続として実施され得る。一般にコネクション１２０は、装置間のデータの伝送を可能にする任意の通信路とすることができる。一実施形態では、例えば各装置は、パラレルポート、シリアルポート、イーサネット（商標）、ＵＳＢ、ＳＣＳＩ、ＦＩＲＥＷＩＲＥ（商標）、および／または適切な接続を介したデータ伝送用の同軸ケーブルポートといった、従来のデータポートを備える。いくつかの実施形態においては、コネクション１２０は、ディジタル加入者線（ＤＳＬ）、非対称ディジタル加入者線（ＡＤＳＬ）、またはケーブル接続とすることができる。通信リンクは無線リンクでも、有線リンクでも、様々な装置間の通信を可能とする本発明の各実施形態と整合性を有する任意の組み合わせとすることもできる。
【００１５】
ネットワーク１４０はローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、またはインターネットを含んでいてもよい。いくつかの実施形態においては、ネットワーク１４０を介して送られる情報は、送信されるデータのセキュリティを確保するために暗号化することができる。プリンタ１７０はコネクション１２０を介してネットワーク１４０へ接続することができる。いくつかの実施形態においては、プリンタ１７０は演算装置１１０および／またはサーバ１３０に直接接続される。またシステム１００は、本発明のいくつかの実施形態によれば、他の周辺装置（図示しない）を含んでいてもよい。本発明と整合性を有するコンピュータソフトウェアアプリケーションは、図１に示すように、例示的コンピュータのいずれに配備されていてもよい。例えば演算装置１１０は、サーバ１３０から直接ダウンロードされるソフトウェアを実行することもできる。またアプリケーションの各部分は、開示されるいくつかの実施形態によれば、プリンタ１７０によって実行されてもよい。
【００１６】
図２に例示的なプリンタ１７０のハイレベルなブロック図２００を示す。いくつかの実施形態においては、プリンタ１７０は、中央処理装置（ＣＰＵ）１７６、ファームウェア１７１、メモリ１７２、入出力ポート１７５、印刷エンジン１７７、および補助記憶装置１７３を接続するバス１７４を含む。例示的な補助記憶装置１７３は、内部あるいは外部ハードディスク、メモリスティック、あるいはシステム２００に使用することのできる他の記憶装置でもよい。プリンタ１７０は、本発明の一部の実施形態に従って文書を印刷するためにアプリケーションの一部分を実行することのできるその他の特定用途向け集積回路（ＡＳＩＣ）、および／またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）１７８を含んでいてもよい。いくつかの実施形態では、プリンタ１７０は、入出力ポート１７５およびコネクション１２０を使って演算装置１１０内の補助記憶装置またはその他のメモリにアクセスすることもできる。いくつかの実施形態においては、プリンタ１７０は、プリンタオペレーティングシステムおよびその他の適切なアプリケーションソフトウェアを含むソフトウェアを実行することもできる。いくつかの実施形態においては、プリンタ１７０は、他のオプションのうち、用紙サイズ、排紙トレイ、色選択、および印刷解像度をユーザ設定可能なものにすることができる。
【００１７】
いくつかの実施形態においては、ＣＰＵ１７６は、汎用プロセッサとすることも、専用プロセッサとすることも、組み込みプロセッサとすることもできる。ＣＰＵ１７６は、制御情報および命令を含むデータをメモリ１７２および／またはファームウェア１７１と交換することができる。メモリ１７２は、ＳＤＲＡＭやＲＤＲＡＭといった任意の種類のダイナミックランダムアクセスメモリ（ＤＲＡＭ）とすることができるが、これらには限定されない。ファームウェア１７１は、起動シーケンス、事前定義のルーチン、およびその他のコードを含む命令およびデータを保持するが、これらには限定されない。いくつかの実施形態では、ファームウェア１７１内のコードおよびデータは、ＣＰＵ１７６によって処理される前にメモリ１７２にコピーされることがある。ファームウェア１７１内のルーチンは、演算装置１１０から受信されたページ記述をディスプレイリストおよび画像バンドに変換するコードを含むことがある。いくつかの実施形態では、ファームウェア１７１は、ディスプレイリスト中の表示コマンドを適切なラスタ化ビットマップに変換し、そのビットマップをメモリ１７２に格納するルーチンを含んでいてもよい。またファームウェア１７１は、圧縮ルーチン、圧縮解除ルーチンおよびメモリマネージメントルーチンを含んでいてもよい。いくつかの実施形態においてはファームウェア１７１内のデータおよび命令をアップグレード可能とすることもできる。
【００１８】
いくつかの実施形態においては、ＣＰＵ１７６が命令およびデータに従って動作し、ＡＳＩＣ／ＦＰＧＡ１７８および印刷エンジン１７７に制御およびデータを提供して印刷文書を生成する。また、いくつかの実施形態においては、ＡＳＩＣ／ＦＰＧＡ１７８が印刷エンジン１７７に制御およびデータを提供する。またＡＳＩＣ／ＦＰＧＡ１７８は、変換、圧縮、圧縮解除、およびラスタ化のアルゴリズムのうちの１つ以上を実施してもよい。いくつかの実施形態においては、演算装置１１０が文書データを第１の印刷可能データに変換することができる。次いで第１の印刷可能データを、中間印刷可能データに変換するためにプリンタ１７０に送ることができる。プリンタ１７０は、中間印刷可能データを最終形態の印刷可能データに変換して、この最終形態に従って印刷を行う。
【００１９】
いくつかの実施形態では、ラスタ化は、ＡＳＩＣ／ＦＰＧＡ１７８、ＣＰＵ１７６、またはこれらの組み合わせを使用して実行され得る。他の実施形態では、ラスタ化は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせを使用して実施され得る。たとえば、ＡＳＩＣ／ＦＰＧＡ１７８、ＣＰＵ１７６、またはこれらの組み合わせは、ＰＤＬフォーマット済みデータを中間データに変換するため使用されることがあり、この中間データはディスプレイリストの形態をとることがあり、オブジェクトのリストと、オブジェクトに関連付けられたローレベル描画コマンドとを含むことがある。ディスプレイリストが完成すると、ＡＳＩＣ／ＦＰＧＡ１７８、ＣＰＵ１７６、またはこれらの組み合わせは、印刷可能媒体にマークを置くために、オブジェクトをラスタ化し、未加工ビットマップを変換し、ビットマップをフレームバッファまたは印刷エンジンへ供給することができる。いくつかの実施形態では、第１の印刷可能データは文書のＰＤＬ記述またはＰＰＭＬ記述に該当する。
【００２０】
図３は、印刷データをレンダリングするシステム内におけるモジュール間の例示的なハイレベルのデータフロー３８０を示している。図３に示されているように、システムは、特に、ＲＩＰモジュール３００と、補助記憶装置１７３と、フレームバッファ３７０とを備える。ＲＩＰモジュール３００は、パーサー３３０と、デコーダ３５０と、ラスタライザ３６０とを備える。いくつかの実施形態では、パーサー３３０、デコーダ３５０、およびラスタライザ３６０は、互いに通信するようになっており、ディスプレイリスト３４０を作成し、修正し、ディスプレイリスト３４０にその他の演算を実行することもある。
【００２１】
図３に示されているように、パーサー３３０は、演算装置１１０から印刷ジョブ３１０を受信可能であり、ディスプレイリスト３４０を生成するために、印刷ジョブ３１０内に存在するＰＤＬ言語オブジェクトを使用することがある。他の実施形態では、ディスプレイリスト３４０は、テキスト、図形、コマンド、画像ヘッダ、および画像データオブジェクトのうちの一つ以上を保持することがある。これらの表示コマンドは、文字あるいはテキスト、ラインドローイングあるいはベクトル、および、画像あるいはラスタデータを有するデータが含まれていてもよい。いくつかの実施形態では、ディスプレイリスト３４０内のオブジェクトは、ユーザ文書内の類似オブジェクトに対応していてもよい。いくつかの実施形態では、ディスプレイリスト３４０はメモリ１７２または補助記憶装置１７３に記憶されてもよい。いくつかの実施形態では、ディスプレイリストは、プリンタ１７０、演算装置１１０、およびサーバ１３０のうちの１つ以上に存在していてもよい。ディスプレイリストを記憶するためのメモリは、開示された実施形態によれば、専用メモリであってもよく、または、汎用メモリの一部を形成してもよく、または、専用メモリと汎用メモリのある種の組み合わせでもよい。ディスプレイリスト３４０は、実際の印刷前のデータ処理における２番目のステップまたは中間ステップでもよく、その後の形態（a subsequent form）に変換される前に構文解析されることがある。いくつかの実施形態では、その後の形態が最終表示であってもよい。
【００２２】
いくつかの実施形態では、ＲＩＰモジュール３００は、ＣＰＵ１７６を使用して、または、ＡＳＩＣ／ＦＰＧＡ１７８を使用して、またはこれらの組み合わせによって、ソフトウェアアプリケーションとして、または、ファームウェア１７１内で実施されることがある。ＲＩＰモジュール３００は、印刷ジョブ３１０内のデータを受信し、このデータ上で動作して、フレームバッファ３７０の生成を行いやすくすることが可能である。いくつかの実施形態では、印刷ジョブ３１０は、一連の描画コマンドおよび言語オブジェクトを備えてもよい。このシーケンスは、テキストオブジェクト、図形オブジェクト、および／または画像オブジェクトと関連付けられた描画コマンドを含んでもよい。いくつかの実施形態では、印刷ジョブ３１０内の画像オブジェクトに対応する画像には、高解像度画像が含まれることがある。高解像度画像は高い比色および空間解像度によって規定され得る。
【００２３】
いくつかの実施形態では、印刷ジョブ３１０内の画像オブジェクトに対応する画像は、一般的な圧縮アルゴリズムを使用して圧縮されることがある。一般的な圧縮アルゴリズムには、ＪＰＥＧ、ＧＩＦ、ＴＩＦＦおよび／またはＰＮＧが含まれるが、これらには限定されない。いくつかの実施形態では、印刷ジョブ３１０と関連付けられた画像オブジェクトに対応する画像は、補助記憶装置１７３に記憶されてもよい。他の実施形態では、印刷ジョブ３１０と関連付けられた画像オブジェクトに対応する画像は、演算装置１１０またはプリンタ１７０（図示しない）に連結されたその他のコンピュータ可読記憶媒体に、単独で、または、補助記憶装置１７３と組み合わせて、記憶されることがある。
【００２４】
一実施形態では、補助記憶装置１７３に記憶されている画像に関係するリファレンスは、画像を識別し、検索する（locate）ためにディスプレイリスト３４０内で使用されることがある。いくつかの実施形態では、このリファレンスは、画像ヘッダおよび／またはその他の識別情報および位置情報を含むことができる。いくつかの実施形態では、リファレンスはメモリ内または補助記憶装置内の画像オブジェクトの位置を指し示すことがある。たとえば、リファレンスは、画像へのアクセスを行う読み出し関数へのポインタを含むことがある。ポインタは、画像オブジェクトと関連付けられたアドレスおよびその他の情報を提供することがある。
【００２５】
いくつかの実施形態では、パーサー３３０による印刷ジョブ３１０の処理には、印刷ジョブ３１０と関連付けられたＰＤＬ定義に基づいて、テキストおよび図形と関連付けられた描画コマンドをディスプレイリスト３４０内に直接的に収容するステップが含まれてもよい。印刷ジョブ３１０が画像を収容している場合、パーサー３３０は、画像オブジェクトに対応する画像ヘッダまたは或る種の他の記述リファレンスをディスプレイリスト３４０に収容することが可能である。いくつかの実施形態では、印刷ジョブ内の画像は、メモリ内または補助記憶装置内に圧縮形式で常駐してもよい。
【００２６】
いくつかの実施形態では、デコーダ３５０は、検索された圧縮画像を圧縮解除するためにディスプレイリスト３４０内の画像ヘッダまたはその他の画像識別情報を使用することができる。たとえば、デコーダ３５０は、ディスプレイリスト３４０内の画像オブジェクトへのリファレンスに存在する情報を使用して補助記憶装置１７３からの圧縮画像の検索を要求することができる。いくつかの実施形態では、その後にデコーダ３５０は圧縮画像を圧縮解除することができる。
【００２７】
いくつかの実施形態では、圧縮解除画像の再構成は、上から下の順序に、走査線毎に進行してもよい。走査線は、Ｎが第１の整数値を表す場合に、画素の１×Ｎ配列として記述されることがある。いくつかの状況では、走査線は、さらに、１枚からＭ枚の平面の奥行きとして記述されることがある。ここで、Ｍは第２の整数値を表してもよい。たとえば、画像データがＭ枚の複数のカラー平面の情報で構成されるとき、走査線は、Ｍ枚のカラー平面のそれぞれにＮ個の画素を有する１行のデータを含むことがある。デコーダ３５０は、画像にアクセスする読み出し関数へのポインタを補助記憶装置１７３から受信することがある。いくつかの実施形態では、読み出し関数はシステム固有である場合がある。デコーダ３５０は、圧縮解除画像を再構成するための走査線を出力することもある。いくつかの実施形態では、デコーダ３５０は、ハードウェア、ソフトウェア、または、これらの組み合わせのうちの一つで実施されてもよい。たとえば、デコーダ３５０は、ファームウェア１７１、ＣＰＵ１７６、ＡＳＩＣ／ＦＰＧＡ１７８、またはこれらの組み合わせで実施されてもよい。
【００２８】
いくつかの実施形態では、ラスタライザ３６０は、ディスプレイリスト３４０からデータおよび描画コマンドを読み出し、デコーダ３５０から圧縮解除走査線を読み出し、その出力をフレームバッファ３７０に記憶することができる。いくつかの実施形態では、フレームバッファ３７０はメモリ１７２の一部分でもよい。いくつかの実施形態では、フレームバッファ３７０内のデータは、処理を最適化するため離散的な左右方向（horizontal）のバンド（bands）として整理されてもよい。フレームバッファ３７０は、印刷ジョブ３１０の印刷済みページに作られるべきマークを特定する矩形状ビットマップを保持してもよい。印刷エンジン１７７は、フレームバッファ３７０内のラスタ化されたデータを処理し、用紙のような印刷媒体上にページの印刷可能画像を形成してもよい。いくつかの実施形態では、ラスタライザ３６０のルーチンはファームウェア１７１に設けられてもよいし、ＡＳＩＣ／ＦＰＧＡ１７８を用いて実施されてもよい。
【００２９】
図３は、印刷データをレンダリングする例示的なシステムにおける機能ブロックを示している。図示されているモジュールおよび／または機能ブロックは、ハードウェア、ソフトウェア、または、ハードウェアとソフトウェアとの組み合わせを使用して様々に実施され得る。たとえば、ＣＰＵ１７６は、ファームウェア１７１からメモリ１７２へパーサー３３０をコピーし、印刷ジョブ３１０内のデータの構文解析演算を実行することがある。復号化演算および圧縮解除演算は、ＡＳＩＣおよび／またはＦＰＧＡ１７８を使用して実施されることがあり、ＣＰＵ１７６で作動しているプリンタ１７０のオペレーティングシステムによる制御下で動作することがある。
【００３０】
図４は、印刷データをレンダリングする例示的なラスタ情報プロセッサモジュール３００内におけるモジュール間のローレベルデータフロー４８０を示している。いくつかの実施形態では、ラスタライザ３６０は、特に、マスターラスタライザ４００と、スレーブラスタライザ４１０とを含むことがあり、スレーブラスタライザ４１０には１つ以上のスレーブラスタライザ４１０−１〜４１０−ｎが含まれる。但し、ｎはスレーブラスタライザの整数である。マスターラスタライザ４００は、ディスプレイリスト３４０から描画コマンドを受信して、スレーブラスタライザ４１０−１〜４１０−ｎの組み合わせの中で描画コマンドシーケンスの実行を調停（arbitrate）および制御することがある。いくつかの実施形態では、マスターラスタライザ４００はデコーダ３５０に連結され、デコーダ３５０からの圧縮解除走査線を、レンダリングのための特有のスレーブラスタライザへ向けることもある。
【００３１】
いくつかの実施形態では、スレーブラスタライザ４１０−１〜４１０−ｎは、フレームバッファ３７０の特有の領域と関連付けられた描画コマンドを実行してもよい。図４に示されているように、メモリフレームバッファ３７０は、ラスタライザ３６０の出力を受信するために複数の別個の連続的なバンド４４０に区分化されてもよい。たとえば、フレームバッファバンド１  ４４０−１は、スレーブラスタライザ４１０−１の出力を受信するため連結されてもよい。同様に、他の実施形態では、フレームバッファバンド２  ４４０−２〜フレームバッファバンドｎ  ４４０−ｎは、スレーブラスタライザ２  ４１０−２〜スレーブラスタライザｎ  ４１０−ｎの出力を受信するためにそれぞれ連結されてもよい。いくつかの実施形態では、スレーブラスタライザ１  ４１０−１は、デコーダ３５０から出力される走査線を受信するために連結されている。デコーダ３５０の出力は、マスターラスタライザ４００に基づいてスレーブラスタライザ１  ４１０−１のプロセス空間内の走査線バッファを指し示してもよい。同様に、他の実施形態では、デコーダ３５０の出力は、スレーブラスタライザ２  ４１０−２〜スレーブラスタライザｎ  ４１０−ｎのプロセス空間内の走査線バッファを指し示してもよい。
【００３２】
いくつかの実施形態では、デコーダ３５０およびラスタライザ３６０は、圧縮画像およびディスプレイリスト３４０のコマンドを並列に処理することができる。いくつかの実施形態では、デコーダ３５０は、画像を順次に圧縮解除可能であり、上から下の順序に走査線毎にディスプレイリスト３４０内の画像ヘッダによって参照される各画像を再構成する。デコーダ３５０は、原画像が圧縮されたのと同じ順序で処理するため圧縮解除走査線をラスタライザ３６０へ供給することができる。たとえば、一実施形態では、１つ以上のスレーブラスタライザ４１０−１は、原画像を圧縮するために使用された論理的順序と同じ論理的順序で、圧縮解除走査線をラスタ化することができる。他の実施形態では、複数のコアを備えたＣＰＵ１７６における一つのコア上でデコーダ３５０を動かし、ラスタライザ４００および４１０をＣＰＵ１７６の別のコア上で動かすことにより並列処理が実行され得る。
【００３３】
図５は、印刷データをレンダリングする例示的な方法におけるステップを示すフローチャート５８０である。所望の操作を実行するために、図示の手順を変更してステップを結合、削除および／または移動できること、或いは更に付加的なステップを組み入れられることは、当業者によって容易に理解される。ステップ５００において、印刷ジョブ３１０は演算装置１１０から受信される。いくつかの実施形態では、印刷ジョブ３１０中のデータはパーサー３３０によって受信されてもよい。さらに、印刷ジョブ３１０は、言語オブジェクトおよび描画コマンドのシーケンスを備えてもよい。テキスト、図形、または画像と関連付けられた描画コマンドを含み得る描画コマンドのシーケンスは、パーサー３３０へ渡されてもよい。いくつかの実施形態では、印刷ジョブ３１０中に格納されている画像は圧縮されてもよい。
【００３４】
ステップ５１０において、ディスプレイリスト３４０が印刷ジョブ３１０に基づいて生成される。いくつかの実施形態では、パーサー３３０がディスプレイリスト３４０を生成してもよい。たとえば、パーサー３３０は、印刷ジョブ３１０と関連付けられたＰＤＬ定義に基づいて、テキストおよび図形と関連付けられた描画コマンドをディスプレイリスト３４０内にそのまま提供してもよい。いくつかの実施形態では、印刷ジョブ３１０は、補助記憶装置１７３に記憶された圧縮画像に対応するポインタまたは画像ヘッダを含んでもよい。これらの場合、パーサー３３０は、完全に圧縮解除された画像そのものの代わりに画像ヘッダをディスプレイリスト３４０に記憶してもよい。
【００３５】
ステップ５２０において、圧縮画像が画像ヘッダおよび／またはその他の画像識別情報もしくは画像位置情報を使用して検索される。いくつかの実施形態では、画像ヘッダは補助記憶装置１７３へのアクセスを行う読み出し関数へのポインタを含んでもよい。ステップ５３０において、ディスプレイリスト３４０内の画像ヘッダによって識別され検索された圧縮画像が復号化される。いくつかの実施形態では、デコーダ３５０は、画像の上から画像の下に順序付けられたシーケンシャルな（sequential）圧縮解除走査線として非圧縮画像を生成してもよい。いくつかの実施形態では、ステップ５３０および５４０は並列に実行されてもよい。
【００３６】
ステップ５４０において、ディスプレイリスト３４０内のリファレンスによって識別される、ディスプレイリスト３４０内のオブジェクトがラスタ化されてもよい。このオブジェクトには画像オブジェクトが含まれる。たとえば、ディスプレイリスト３４０と、それぞれ関連付けられた圧縮画像とのラスタ化がラスタライザ３６０によって実行されてもよい。たとえば、ラスタライザ３６０は、ディスプレイリスト３４０から描画コマンドを読み出し、各画像ヘッダと関連付けられた各画像の圧縮解除走査線をレンダリングすることにより、フレームバッファを生成してもよい。
【００３７】
いくつかの実施形態では、ラスタ化プロセスは複数のスレーブラスタライザの間で分割されてもよく、各スレーブラスタライザはフレームバッファの特有の領域を生成する。たとえば、ラスタライザ３６０によって受信された描画コマンドはスレーブラスタライザ４１０−１〜４１０−ｎによって処理されてもよい。したがって、描画コマンドと、フレームバッファ３７０の特有のバンドに関連付けられた圧縮解除走査線とは、処理のためにマスターラスタライザ４００により複数のスレーブラスタライザ４１０の１つに割り当てられてもよい。たとえば、スレーブラスタライザ１  ４１０−１、スレーブラスタライザ２  ４１０−２〜スレーブラスタライザｎ  ４１０−ｎは、フレームバッファバンド１  ４４０−１、フレームバッファバンド２  ４４０−２〜フレームバッファバンドｎ  ４４０−ｎでそれぞれ動作する。いくつかの実施形態では、マスターラスタライザ４００は、フレームバッファの特有の領域に連結された複数のスレーブラスタライザの間で、ディスプレイリスト３４０内の描画コマンドの実行を調停（arbitrate）してもよい。その上、マスターラスタライザ４００は、特有のスレーブラスタライザと関連するプロセス空間においてデコーダ３５０の出力を走査線バッファへ向けるように、デコーダ３５０に信号を送ることがある。
【００３８】
ステップ５５０において、ラスタ化された走査線は、フレームバッファ３７０への出力の前に、走査線を適合させるため変換されてもよい。たとえば、スレーブラスタライザ１  ４１０−１、スレーブラスタライザ２  ４１０−２〜スレーブラスタライザｎ  ４１０−ｎは、フレームバッファ３７０への転送の前に、それぞれのラスタ化された出力を変換する。いくつかの実施形態では、幾何学的変換には、走査線の画素に適用されるシフト（shifting）、拡大縮小（scaling）、またはその他の演算が含まれてもよい。たとえば、スレーブラスタライザ４１０−１は、１×Ｎ個の画素で構成される走査線を生成してもよい。いくつかの実施形態では、スレーブラスタライザ４１０−１は、フレームバッファ３７０への配置のため走査線を適切に位置決めするために、走査線をシフトし、走査線を拡大縮小し、またはこれらの組み合わせを実行することがある。シフトは、描画オブジェクトをフレームバッファ２７０内の正しい位置に配置するため、走査線の全画素に適用される演算を備えてもよい。拡大縮小の際に、オブジェクトのサイズを変更し、および／またはオブジェクトの縦横比を変化させるため、演算が全画素に適用される。
【００３９】
本発明の他の実施形態は、本明細書の考察、及び、本明細書中に開示された本発明の１つ以上の実施形態の実施により、当業者にとって明らかになるであろう。明細書及び例は例示的なものに過ぎないことを意図しており、本発明の本来の範囲及び要旨は、以下の特許請求の範囲に示されるものである。
【符号の説明】
【００４０】
１００  システム
１１０  演算装置
１２０  コネクション
１３０  サーバ
１４０  ネットワーク
１５０  着脱可能型メディアドライブ
１７０  プリンタ
１７１  ファームウェア
１７２  メモリ
１７３  補助記憶装置
１７４  バス
１７５  入出力ポート
１７６  ＣＰＵ
１７７  印刷エンジン
１７８  ＡＳＩＣ／ＦＰＧＡ
３００  ＲＩＰモジュール
３１０  印刷ジョブ
３３０  パーサー
３４０  ディスプレイリスト
３５０  デコーダ
３６０  ラスタライザ
３７０  フレームバッファ
４００  マスターラスタライザ
４１０，４１０−１，４１０−２，４１０−ｎ  スレーブラスタライザ
４４０−１，４４０−２，４４０−ｎ  フレームバッファバンド
【図１】
2009282964.tif 000003
【図２】
2009282964.tif 000004
【図３】
2009282964.tif 000005
【図４】
2009282964.tif 000006
【図５】
2009282964.tif 000007
【手続補正書】
【提出日】平成21年6月17日(2009.6.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
図３は、印刷データをレンダリングするシステム内におけるモジュール間の例示的なハイレベルのデータフロー３８０を示している。図３に示されているように、システムは、特に、ラスタイメージプロセッサ（ＲＩＰ）モジュール３００と、補助記憶装置１７３と、フレームバッファ３７０とを備える。ＲＩＰモジュール３００は、パーサー３３０と、デコーダ３５０と、ラスタライザ３６０とを備える。いくつかの実施形態では、パーサー３３０、デコーダ３５０、およびラスタライザ３６０は、互いに通信するようになっており、ディスプレイリスト３４０を作成し、修正し、ディスプレイリスト３４０にその他の演算を実行することもある。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの圧縮画像オブジェクトを備える印刷データをレンダリングする方法において、
前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、
前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、
を備える方法。
【請求項２】
前記印刷データがＰＤＬを備える請求項１に記載の方法。
【請求項３】
前記ディスプレイリストが、テキストオブジェクト、図形オブジェクト、および複数の描画コマンドをさらに含む請求項１に記載の方法。
【請求項４】
前記検索された圧縮画像オブジェクトを復号化するステップが、
前記少なくとも１つの圧縮画像オブジェクトを圧縮解除するステップと、
前記復号化された画像オブジェクトを表現する複数の圧縮解除走査線を生成するステップと、
前記複数の圧縮解除走査線を変換するステップと、
を備える請求項１に記載の方法。
【請求項５】
前記変換するステップが、
前記複数の圧縮解除走査線をシフトするステップと、
前記複数の圧縮解除走査線を拡大縮小するステップと、
のうちの１つ以上のステップをさらに含む請求項４に記載の方法。
【請求項６】
前記リファレンスが、前記少なくとも１つの圧縮画像オブジェクトの識別情報およびアドレス情報を含む画像ヘッダである請求項１に記載の方法。
【請求項７】
前記少なくとも１つの圧縮画像オブジェクトが補助記憶装置に記憶される請求項１に記載の方法。
【請求項８】
前記ビットマップはフレームバッファに記憶され、
前記フレームバッファは複数の別個の連続的なセグメントをさらに備える請求項１に記載の方法。
【請求項９】
前記別個の連続的なセグメントが並列にラスタ化される請求項８に記載の方法。
【請求項１０】
処理装置によって実行されたときに、少なくとも１つの圧縮画像オブジェクトを備える印刷データを処理するための方法におけるステップを実現する指示を記憶するコンピュータ可読媒体であって、
前記方法は、
前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、
前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、
を備えるコンピュータ可読媒体。
【請求項１１】
前記検索された圧縮画像オブジェクトを復号化するステップが、
前記復号化された画像オブジェクトを表現する複数の圧縮解除走査線を生成するステップをさらに含み、前記少なくとも１つの圧縮画像オブジェクトを圧縮解除するステップと、
前記複数の圧縮解除走査線を変換するステップと、
を備える請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記変換するステップが、
前記複数の圧縮解除走査線をシフトするステップと、
前記複数の圧縮解除走査線を拡大縮小するステップと、
のうちの１つ以上のステップをさらに含む請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記リファレンスが、前記少なくとも１つの圧縮画像オブジェクトのアドレス情報を備えるヘッダである請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記ビットマップはフレームバッファに記憶され、
前記フレームバッファは複数の別個の連続的なセグメントをさらに備える請求項１０に記載のコンピュータ可読媒体。
【請求項１５】
前記別個の連続的なセグメントが並列にラスタ化される請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
圧縮画像をレンダリングするシステムであって、
少なくとも１つの圧縮画像オブジェクトを備える印刷ジョブを受信するように構成されている入力インターフェイスと、
前記少なくとも１つの圧縮画像オブジェクトと、ディスプレイリストを作成するための複数の描画コマンドとを記憶するように構成されている記憶装置と、
前記入力インターフェイスおよび前記記憶装置に連結された処理装置とを備え、
前記処理装置は、
前記少なくとも１つの圧縮画像オブジェクトが当該少なくとも１つの圧縮画像オブジェクトへのリファレンスによって当該ディスプレイリスト内で識別されるディスプレイリストを、前記印刷データを構文解析することにより生成するステップと、
前記少なくとも１つの圧縮画像オブジェクトを検索するために当該少なくとも１つの圧縮画像オブジェクトへの前記リファレンスを使用するステップ、検索された前記圧縮画像オブジェクトを復号化するステップ、および、復号化された前記画像オブジェクトを使用してビットマップを作成するステップを有し、前記ディスプレイリストをラスタ化するステップと、
を実現する指示を実行するように構成されているシステム。
【請求項１７】
前記検索された圧縮画像オブジェクトを復号化するステップが、
前記復号化された画像オブジェクトを表現する複数の圧縮解除走査線を生成するステップをさらに含み、前記少なくとも１つの圧縮画像オブジェクトを圧縮解除するステップと、
前記複数の圧縮解除走査線を変換するステップと、
を備える請求項１６に記載のシステム。
【請求項１８】
前記変換するステップが、
前記複数の圧縮解除走査線をシフトするステップと、
前記複数の圧縮解除走査線を拡大縮小するステップと、
のうちの１つ以上のステップをさらに含む請求項１７に記載のシステム。
【請求項１９】
前記リファレンスが、前記少なくとも１つの圧縮画像オブジェクトのアドレス情報を備えるヘッダである請求項１６に記載のシステム。
【請求項２０】
前記ビットマップはフレームバッファに記憶され、
前記フレームバッファは複数の別個の連続的なセグメントをさらに備える請求項１６に記載のシステム。
【請求項２１】
前記別個の連続的なセグメントが並列にラスタ化される請求項２０に記載のシステム。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2009282964.tif 000008
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2009282964.tif 000009
【外国語明細書】
2009282964000001.pdf
2009282964000002.pdf
2009282964000003.pdf
2009282964000004.pdf