(57)【要約】      （修正有）【課題】オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法を提供する。【解決手段】先ず、レンダリング対象の電子ドキュメントの走査線に対応した走査線の記憶場所と対応する命令の記憶場所が、メモリ割り当てユニットによって割り当てられる。次に、少なくとも１つの視覚出力要素を含む電子ドキュメントが受信され、視覚出力要素のそれぞれに一意的な識別子が割り当てられ、一連の命令に変換され、メモリ割り当てユニットによって割り当てられ、選択された走査線の記憶場所に対応する命令記憶場所に保存される。次いで、それぞれの走査線の記憶場所に対応するそれぞれの命令記憶場所のコンテンツを含む符号化された走査線出力ファイルが、ドキュメント・レンダリング装置に伝達され、要素に関連付けられた相対的な識別子に基づいた視覚出力優先順位にしたがって、それぞれの視覚出力要素のレンダリングが実行される。【選択図】図１４
2009093645.tif 000002
【特許請求の範囲】
【請求項１】
レンダリング対象のドキュメントの走査線に対応する、複数の走査線の記憶場所を割り当てる走査線記憶場所割当て手段と、
それぞれの走査線の記憶場所に対応する少なくとも１つの命令の記憶場所を割り当てる命令記憶場所割当て手段と、
符号化された視覚出力要素を含む電子ドキュメントを受信する受信手段と、
この受信手段によって受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てる手段と、
受信された前記電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換する変換手段と、
この変換手段によって変換されたそれぞれの命令を少なくとも１つの走査線の記憶場所と関連付ける関連付け手段と、
前記命令記憶場所割当て手段によって割り当てられた命令記憶場所にそれぞれの命令を保存する記憶手段と、
それぞれの視覚出力要素が関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされるように、それぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達する出力手段と
を有することを特徴とするドキュメント・レンダリング・システム。
【請求項２】
前記符号化された走査線出力ファイルを受信する手段と、
それぞれの走査線の記憶場所の命令を順次的に復号化する復号化手段と、
オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた相対的な識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する、復号された命令に対応するビットマップ・バンド出力を生成する手段と
を、さらに、有することを特徴とする請求項１に記載のドキュメント・レンダリング・システム。
【請求項３】
前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項１に記載のドキュメント・レンダリング・システム。
【請求項４】
前記受信手段は、少なくとも１つの走査線の記憶場所が前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含むように、複数の符号化された視覚出力要素を含む前記電子ドキュメントを受信する手段を含むことを特徴とする請求項１に記載のドキュメント・レンダリング・システム。
【請求項５】
前記復号化手段は、復号された命令が、先行する復号された命令に関連付けられたビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含む前記少なくとも１つの走査線の記憶場所に対応する命令を復号化することを特徴とする請求項４に記載のドキュメント・レンダリング・システム。
【請求項６】
前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項５に記載のドキュメント・レンダリング・システム。
【請求項７】
前記ラスタ・オペレーション・コードは、テキスト・レンダリング、または一般的なバンド・レンダリング、またはグラフィック・レンダリング、バッチ・レンダリング、またはキャッシングであることを特徴とする請求項５に記載のドキュメント・レンダリング・システム。
【請求項８】
レンダリング対象のドキュメントの走査線に対応する複数の走査線の記憶場所を割り当てるステップと、
それぞれの走査線の記憶場所に対応する少なくとも１つの命令の記憶場所を割り当てるステップと、
符号化された視覚出力要素を含む電子ドキュメントを受信するステップと、
受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てるステップと、
受信された前記電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換するステップと、
それぞれの命令を少なくとも１つの走査線の記憶場所と関連付けるステップと、
前記命令記憶場所を割り当てるステップで割り当てられた命令記憶場所にそれぞれの命令を保存するステップと、
それぞれの視覚出力要素が関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされるように、それぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達するステップと
を含むことを特徴とするドキュメント・レンダリング方法。
【請求項９】
前記符号化された走査線出力ファイルを受信するステップと、
それぞれの走査線の記憶場所の命令を順次的に復号化するステップと、
オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた相対的な識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する、復号された命令に対応するビットマップ・バンド出力を生成するステップと
を、さらに、含むことを特徴とする請求項８に記載のドキュメント・レンダリング方法。
【請求項１０】
前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項８に記載のドキュメント・レンダリング方法。
【請求項１１】
前記電子ドキュメントは、少なくとも１つの走査線の記憶場所が前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含むように、複数の符号化された視覚出力要素を含む状態で受信されることを特徴とする請求項８に記載のドキュメント・レンダリング方法。
【請求項１２】
前記命令は、復号された命令が、先行する復号された命令に関連付けられたビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含む前記少なくとも１つの走査線の記憶場所に対応する命令を順次的に復号化されることを特徴とする請求項１１に記載のドキュメント・レンダリング方法。
【請求項１３】
前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項１２に記載のドキュメント・レンダリング方法。
【請求項１４】
前記ラスタ・オペレーション・コードは、テキスト・レンダリング、または一般的なバンド・レンダリング、またはグラフィック・レンダリング、バッチ・レンダリング、またはキャッシングであることを特徴とする請求項１２に記載のドキュメント・レンダリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子ドキュメントをレンダリングするシステムおよび方法に関し、特に、オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法に関する。
【背景技術】
【０００２】
レーザ・プリンタ、インクジェット・プリンタ、またはその他のビットマップ出力装置等のドキュメント出力装置は、通常、ラスタ画像処理（Raster Image Processing：ＲＩＰ）によって実行されるレンダリングからビットマップ出力画像を生成する。通常、電子ドキュメントには、ハイ・レベルな記述言語が関連付けられている。このようなハイ・レベルな記述言語は、ページ記述言語またはＰＤＬと呼ばれることが多い。多くのページ記述言語フォーマットが存在する。それらは、ワード・プロセッシング・パッケージ、ドロー・パッケージ、ＣＡＤパッケージ、または画像処理パッケージ等のアプリケーションから生じる場合もある。また、このようなファイルは、電子メール、スキャナ、ディジタイザ、ラスタライザ、ベクトル・ジェネレータ、およびデータ記憶装置等のドキュメント入力から生じる場合もある。
【０００３】
通常の画像ファイルは、幾何学的形状あるいは他の定義された領域等の様々な要素を含む。これらの要素は、その全体がファイルに符号化されるが、１つまたは複数の部分が残りの要素とオーバーラップすることによって、画像が不鮮明になることがある。
【０００４】
ラスタ画像プロセッサは、通常、ハイ・レベルの記述言語を、前述したようなビットマップ出力装置に伝達される一連の走査線またはビットマップ部分に復号化する。ビットマップ画像データの１または複数のシート全体が一度にページ・バッファ内に準備された後にエンジンに伝達された場合、相当量のメモリが必要となる。したがって、従来のラスタ画像プロセッサは、一度にはピクセルの１つのバンドをページ記述から抽出し、このバンドをバッファリングしてエンジンに伝達することによって、グラフィック出力を生成する方式を用いていた。このように、一連のバンドを生成し出力することによって、１または複数のページの出力を実行していた。
【０００５】
特に、入力されるページ記述が、グラフィック、テキスト、およびオーバーレイ等の複数の画像または雑多なデータ・タイプを含んでいる場合には、正確なバンド情報を抽出することが困難であることが多い。また、いくつかの従来のシステムにおいて、ハイ・レベルなページ記述から直接的にバンドを生成するためには、ダウンストリーム・エンジンが予想する入力速度に対応するタイミングでバンドへの変換を実行することも必要となる。
【０００６】
従来のレンダリングに関する改善については、２００６年３月１６日付けで米国に出願された「SYSTEM AND METHOD FOR DOCUMENT RENDERING EMPLOYING BIT-BAND INSTRUCTIONS」という名称の米国特許出願第１１／３７６，７９７号（米国特許出願公開第２００７／０２１６６９６号明細書）に記載されている。しかし、このような改善は、符号化された走査線を利用することによって従来のレンダリング・システムの欠点の多くを解決してはいるが、符号化された画像ファイルにオーバーラップする要素が存在することによって生じるさらなる問題点に焦点を合わせたものではなく、上記の問題点は未解決であった。
【特許文献１】米国特許出願公開第２００７／０２１６６９６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記の従来の問題点に鑑みてなされたもので、オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によるドキュメント・レンダリング・システムは、レンダリング対象のドキュメントの走査線に対応する複数の走査線の記憶場所を割り当てる走査線記憶場所割当て手段と、それぞれの走査線の記憶場所に対応する少なくとも１つの命令の記憶場所を割り当てる命令記憶場所割当て手段とを有する。また、本システムは、符号化された視覚出力要素（primitive）を含む電子ドキュメントを受信する受信手段と、この受信手段によって受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てる手段とを有する。本システムは、受信された電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換する変換手段と、変換されたそれぞれの命令を少なくとも１つの走査線の記憶場所と関連付ける関連付け手段と、命令記憶場所割当て手段によって割り当てられた命令記憶場所にそれぞれの命令を保存する記憶手段とを、さらに、有する。また、本システムは、それぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達する出力手段を有し、それぞれの視覚出力要素は関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされる。
【０００９】
本発明の一実施形態において、本システムは、符号化された走査線出力ファイルを受信する手段と、それぞれの走査線の記憶場所の命令を順次的に復号化する復号化手段とを、さらに、有する。この実施形態においては、本システムは、オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた相対的な識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する復号された命令に対応するビットマップ・バンド出力を生成する手段を、さらに、有する。
【００１０】
本発明の別の実施形態においては、それぞれの命令は、色、または不透明度、またはパターン、またはピクセルの範囲（pixel range）、またはラスタ・オペレーション・コード（raster operating code）を規定する。
【００１１】
本発明のさらに別の実施形態においては、受信手段は、少なくとも１つの走査線の記憶場所が複数の符号化された視覚出力要素のそれぞれに対応する命令を含むように、複数の符号化された視覚出力要素を含む電子ドキュメントを受信する手段を含む。
【００１２】
さらなる実施形態において、復号化手段は、復号された命令が、先行する復号された命令に関連付けられたビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、複数の符号化された視覚出力要素のそれぞれに対応する命令を含む少なくとも１つの走査線の記憶場所に対応する命令を復号化する。
【００１３】
さらに別の実施形態において、少なくとも１つの命令は、テキスト・レンダリング、または一般的なバンド・レンダリング、またはグラフィック・レンダリング、バッチ・レンダリング、またはキャッシングを含むラスタ・オペレーション・コードを含む。
【００１４】
また、本発明によるドキュメント・レンダリング方法は、レンダリング対象のドキュメントの走査線に対応する複数の走査線の記憶場所を割り当てるステップと、それぞれの走査線の記憶場所に対応する少なくとも１つの命令の記憶場所を割り当てるステップと、符号化された視覚出力要素を含む電子ドキュメントを受信するステップと、受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てるステップと、受信された電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換するステップと、それぞれの命令を少なくとも１つの走査線の記憶場所と関連付けるステップと、命令記憶場所を割り当てるステップで割り当てられた命令記憶場所にそれぞれの命令を保存するステップと、それぞれの視覚出力要素が関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされるようにそれぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達するステップとを含む。
【発明の効果】
【００１５】
本発明によれば、オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法が提供される。
【発明を実施するための最良の形態】
【００１６】
以下、適宜、図面を参照しながら本発明による実施形態の説明を行う。図１に本発明による実施形態が適用されるドキュメント・レンダリング・システム全体の構成例を示す。図に示したシステム１００は、コンピュータ・ネットワーク１０２として表されている分散コンピューティング環境を利用している。コンピュータ・ネットワーク１０２は、複数の電子装置間におけるデータの交換を可能とする本技術分野で知られている任意の分散通信システムである。コンピュータ・ネットワーク１０２は、例えば、仮想ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク、インターネット、イントラネット、またはそれらの任意の組み合わせを含む本技術分野で知られている任意のコンピュータ・ネットワークである。本発明による一実施形態において、コンピュータ・ネットワーク１０２は、例えば、トークン・リング、IEEE802.11(x)、Ethernet（登録商標）またはその他の無線ベースまたは有線ベースのデータ通信メカニズム等の既存の多数のデータ転送メカニズムによって例示されるような物理レイヤおよびトランスポート・レイヤから構成される。図にはコンピュータ・ネットワーク１０２を示したが、本発明は、本技術分野で知られているスタンドアローンのシステムにおいても同様に実施可能である。
【００１７】
システム１００は、さらに、様々なドキュメント処理を実行するために適切な多機能周辺装置（Multi-Function Peripheral；以下、ＭＦＰということがある）として図に表されている、ドキュメント・レンダリング装置１０４を含む。しかし、ＭＦＰはドキュメント・レンダリング装置の一形態であって、本発明におけるドキュメント・レンダリング装置がＭＦＰに限定されるものではない。ドキュメント・レンダリング装置における処理動作には、例えば、ファクシミリ通信、画像走査、コピー、印刷、電子メール、ドキュメント管理、またはドキュメント保存等の処理動作がある。本発明による一形態においては、ドキュメント・レンダリング装置１０４は、リモート・ドキュメント処理サービスを外部装置あるいはネットワーク装置に対して提供する。ドキュメント・レンダリング装置１０４は、ユーザ、あるいはネットワークに接続された装置等とやり取りするように構成された、ハードウェア、ソフトウェアおよびこれらの任意の適切な組み合わせを含んでいる。ドキュメント・レンダリング装置１０４の構成等については、後ほど図２と図３を参照しながら説明を行う。
【００１８】
また、本発明による一実施形態において、ドキュメント・レンダリング装置１０４は、例えば、IEEE 1394あるいはＵＳＢインターフェイスを有する各種ドライブ、または多様なＩＣメモリカード等の、複数のポータブル記憶媒体を受け入れるためのインターフェイスを備える。本発明の実施形態においては、ドキュメント・レンダリング装置１０４は、さらに、タッチ・スクリーン、ＬＣＤ、タッチ・パネルまたは英数字キーパッド等のユーザ・インターフェイス１０６を備え、ユーザは、このようなユーザ・インターフェイスを介してドキュメント・レンダリング装置１０４と直接やり取りすることができる。ユーザ・インターフェイス１０６は、ユーザに対して情報を伝達するとともに、ユーザから選択内容を受け取るために有効に用いられている。ユーザ・インターフェイス１０６は、本技術分野において知られているように、ユーザに対してデータを提示するために適切な様々なコンポーネントを有している。本発明の一実施形態によれば、ユーザ・インターフェイス１０６は、後ほど説明するように、１つまたは複数のグラフィック要素、テキスト・データまたは画像等をユーザに対して表示し、ユーザから入力情報を受け取り、受け取ったユーザ入力情報をコントローラ１０８等のバックエンド・コンポーネントに対して伝達するディスプレイを有する。
【００１９】
また、ドキュメント・レンダリング装置１０４は、適切な通信リンク１１２を介して、コンピュータ・ネットワーク１０２に通信可能に接続されている。適切な通信リンク１１２としては、例えば、WiMax（Worldwide Interoperability for Microwave Access）、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、Bluetooth（登録商標）、公衆交換電話網、専用通信ネットワーク、赤外線接続、光接続、または本技術分野において知られている他の適切な有線または無線のデータ通信チャネルがある。
【００２０】
本発明による実施形態において、ドキュメント・レンダリング装置１０４は、さらに、ドキュメント・レンダリング装置１０４による処理操作を容易にする、コントローラ１０８として示されている、適切なバックエンド・コンポーネントを内蔵している。コントローラ１０８は、ドキュメント・レンダリング装置１０４の動作の制御、あるいはユーザ・インターフェイス１０６を介した画像の表示、または電子画像データの操作の制御等の処理を容易にするように構成されたハードウェア、ソフトウェアあるいはこれらの適切な組み合わせによって実装される。以下の説明においては、コントローラ１０８という用語は、後述する動作を実行し、もしくは実行させ、もしくは制御し、またはその他の方法で管理するように機能するハードウェア、ソフトウェア、またはこれらの組み合わせを含むドキュメント・レンダリング装置１０４と関連する任意の多数のコンポーネントの意味で使用する。なお、図および上記の説明において、コントローラ１０８をドキュメント・レンダリング装置１０４に内蔵された形態としたが、コントローラ１０８は、ドキュメント・レンダリング装置１０４に通信可能に接続された外部装置の形態であってもよい。コントローラ１０８との関連において説明を行う動作は、本技術分野において知られている任意の汎用的なコンピューティング・システムによって実行可能である。したがって、コントローラ１０８は、このような汎用的なコンピューティング装置を表しており、以下の説明において使用する際にも、そのように意図されている。また、以下の説明においてはコントローラ１０８を使用しているが、これは実施形態の例にすぎず、その他の実施形態においても、本発明によるドキュメント・レンダリング・システムおよび方法を利用することができる。コントローラ１０８の構成等については、後ほど図４と図５を参照しながら説明を行う。
【００２１】
また、ドキュメント・レンダリング装置１０４にはデータ記憶装置１１０が通信可能に接続されている。データ記憶装置１１０は、例えば、ハードディスク・ドライブ、その他の磁気記憶装置、光学式記憶装置、フラッシュ・メモリまたはそれらの任意の組み合わせを含む本技術分野で知られている大容量記憶装置である。一実施形態においては、データ記憶装置１１０は、ドキュメント・データ、画像データ、電子データベースのデータ、ギフト・カード・フォーマットまたはフォント等を保存するように適切に適合されている。データ記憶装置１１０は、図においてはシステム１００の独立したコンポーネントとして例示されているが、例えば、内蔵ハードディスク・ドライブ等のような、ドキュメント・レンダリング装置１０４の内部記憶装置、あるいはコントローラ１０８のコンポーネント等として実装することができる。
【００２２】
ユーザ装置１１４は、適切な通信リンク１１６を介して、コンピュータ・ネットワーク１０２とのデータ通信を行う。図においてはユーザ装置１１４をノート形パーソナル・コンピュータとして示しているが、これは例示にすぎない。ユーザ装置１１４は、例えば、コンピュータ・ワークステーション、デスクトップ形パーソナル・コンピュータ、携帯情報端末（ＰＤＡ）、ウェブ適合（web-enabled）携帯電話、スマート・フォン、専用通信ネットワーク用の装置またはその他のウェブ適合電子装置を含む本技術分野において知られている任意のパーソナル・コンピューティング装置を表している。通信リンク１１６は、例えば、Bluetooth（登録商標）、WiMax、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、専用通信ネットワーク、赤外線接続、光接続、公衆交換電話網、または本技術分野において知られている他の適切な有線または無線のデータ通信チャネルである。ユーザ装置１１４は、例えば、電子ドキュメント、ドキュメント処理インストラクション、ユーザ・インターフェイスの変更、アップグレード、更新、またはパーソナル化データ等を生成し、ドキュメント・レンダリング装置１０４あるいはコンピュータ・ネットワーク１０２に接続されたその他の類似装置に、送信する。本発明の一実施形態によれば、ユーザ装置１１４は、ドキュメント・レンダリング装置１０４とセキュリティ面で安全にやり取りするために適切なウェブ・ブラウザ等を含む。
【００２３】
次に、図２および図３を参照しながら、図１においてドキュメント・レンダリング装置１０４として示した、本発明による実施形態におけるシステムの動作が実行されるドキュメント・レンダリング装置のハードウェアおよび機能構成等を説明する。図２に本発明による実施形態においてシステム１００の動作が実行され、図１においてドキュメント・レンダリング装置１０４として示した、ドキュメント・レンダリング装置２００のハードウェア・アーキテクチャの構成例を示す。ドキュメント・レンダリング装置２００には、少なくとも一つのＣＰＵから構成されるプロセッサ２０２が含まれる。プロセッサ２０２は、互いに協調して動作する複数のＣＰＵから構成されることもある。また、ドキュメント・レンダリング装置２００には、ＢＩＯＳ機能、システム機能、システム構成データおよびドキュメント・レンダリング装置２００の動作に使用するその他のルーチンもしくはデータ等の静的または固定的なデータ、あるいはインストラクションのために有効に使用される、不揮発性または読出し専用メモリ（ＲＯＭ）２０４が含まれる。
【００２４】
また、ドキュメント・レンダリング装置２００には、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、または他の任意の適切なアドレス指定可能かつ書込み可能なメモリ・システムから構成されるＲＡＭ２０６が含まれている。ＲＡＭ２０６は、プロセッサ２０２によって処理されるアプリケーションおよびデータ処理に関係するデータ・インストラクションのための記憶領域を提供する。
【００２５】
ストレージ・インターフェイス２０８は、ドキュメント・レンダリング装置２００に関連するデータの不揮発性保存、大容量保存または長期的な保存ためのメカニズムを提供する。ストレージ・インターフェイス２０８は、参照符号２１６で示したディスク・ドライブ、あるいは光学式ドライブ、テープ・ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大容量記憶装置の他、当業者に知られている適切な任意の記憶媒体を使用する。
【００２６】
ネットワーク・インターフェイス・サブシステム２１０は、ネットワークとの間の入出力を適切にルーティングすることによって、ドキュメント・レンダリング装置２００が他の装置と通信することを可能にする。ネットワーク・インターフェイス・サブシステム２１０は、ドキュメント・レンダリング装置２００の外部装置との一つまたは複数のコネクションを確立する。図においては、一例として、Ethernet（登録商標）およびトークン・リング等といった固定または有線ネットワークとのデータ通信のための少なくとも一つのネットワーク・インターフェイス・カード２１４、およびWiFi（Wireless Fidelity）、WiMax、無線モデム、セルラ・ネットワークまたは適切な任意の無線通信システム等の手段を介した無線通信のために適切な無線インターフェイス２１８を示している。ネットワーク・インターフェイス・サブシステム２１０は、任意の物理的データ転送レイヤあるいは物理的データ転送レイヤではないデータ転送レイヤまたはプロトコル・レイヤを適切に利用する。図においては、ネットワーク・インターフェイス・カード２１４は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはこれらの組合せから適切に構成される物理的ネットワーク２２０を介したデータ交換を行うために、相互接続されている。
【００２７】
プロセッサ２０２、読出し専用メモリ（ＲＯＭ）２０４、ＲＡＭ２０６、ストレージ・インターフェイス２０８およびネットワーク・インターフェイス・サブシステム２１０の間のデータ通信は、バス２１２によって例示したバス・データ転送メカニズムを介して行われる。
【００２８】
ドキュメント・レンダリング装置２００における実行可能なインストラクションは、ワークステーション、他のドキュメント・レンダリング装置、サーバ等の複数の外部装置との通信を容易にする。動作の際、典型的な装置は自立的に動作するが、しばしば、ローカル・ユーザによる直接的な制御が望ましい場合もある。ローカル・ユーザによる直接的な制御は、ユーザ入出力（Ｉ／Ｏ）パネル２２４へのオプションの入出力（Ｉ／Ｏ）インターフェイス２２２を介して実行することができる。
【００２９】
また、１つまたは複数のドキュメント処理エンジンへのインターフェイスも、バス２１２を介してデータ通信を行う。図に示した実施形態においては、印刷インターフェイス２２６、コピー・インターフェイス２２８、画像走査インターフェイス２３０およびファクシミリ・インターフェイス２３２は、それぞれ、印刷エンジン２３４、コピー・エンジン２３６、画像走査エンジン（スキャナ）２３８、およびファクシミリ・エンジン２４０との通信を容易にする。ドキュメント・レンダリング装置２００は、１つまたは複数のドキュメント処理機能を適切に実行する。複数のドキュメント処理動作を実行するシステムは、前述したように、通常、多機能周辺装置（ＭＦＰ）または多機能装置と呼ばれる。
【００３０】
次に図３を参照しながらシステムの動作が実行されるドキュメント・レンダリング装置の機能ブロックを説明する。図３に、本発明による実施形態のシステム１００の動作が実行される、図１においてはドキュメント・レンダリング装置１０４として示した、ドキュメント・レンダリング装置３００の機能ブロックの構成例を示す。図３は、ソフトウェアおよびオペレーティング・システム機能と関連して、図２に示したハードウェアの機能性を例示している。
【００３１】
ドキュメント・レンダリング装置３００は、１つまたは複数のドキュメント処理動作を円滑に実行するドキュメント処理エンジン３０２を含む。ドキュメント処理エンジン３０２は、印刷エンジン３０４、ファクシミリ・エンジン３０６、画像走査エンジン（スキャナ）３０８およびコンソール・パネル３１０を含む。印刷エンジン３０４は、ドキュメント・レンダリング装置３００に伝達された電子ドキュメントを、物理的なドキュメント、すなわちハードコピーの出力を可能とする。ファクシミリ・エンジン３０６は、ファクシミリ・モデム等の装置を介して、外部のファクシミリ装置との間で相互にファクシミリ通信を行う。
【００３２】
画像走査エンジン（スキャナ）３０８は、ハードコピー・ドキュメントを受け取り、このハードコピー・ドキュメントに対応する画像データに変換するように機能する。コンソール・パネル３１０等のユーザ・インターフェイスは、ユーザからのインストラクションの入力と、ユーザへの情報の表示を可能にする。画像走査エンジン３０８は、目に見える有形のドキュメントの入力を、ビットマップ・フォーマット、ベクター・フォーマットまたはページ記述言語（ＰＤＬ）フォーマットの電子的な形態へ変換し、さらに、光学文字認識のためにも構成されている。また、有形のドキュメントの画像走査は、ファクシミリ動作においても有効に機能する。
【００３３】
図３に示したドキュメント処理エンジン３０２は、ドライバ３２６を介したネットワークとのインターフェイス３１６も備え、例えばネットワーク・インターフェイス・カードから構成されている。ネットワークは、有線、無線あるいは光によるデータ通信のような任意の適切な物理的レイヤおよび物理的でないレイヤによって、十分なやり取りを実現している。
【００３４】
ドキュメント処理エンジン３０２は、１つまたは複数のデバイス・ドライバ３１４と適切な通信を行う。デバイス・ドライバ３１４は、実際のドキュメント処理動作を実行するために、ドキュメント処理エンジン３０２と、１つまたは複数の物理的装置との間のデータ交換を可能とする。このようなドキュメント処理動作には、ドライバ３１８による印刷、ドライバ３２０によるファクシミリ通信、ドライバ３２２による画像走査、およびドライバ３２４によるユーザ・インターフェイス機能の中の１つまたは複数のものが含まれる。これらの多様な装置は、ドキュメント処理エンジン３０２と関連する１つまたは複数の対応するエンジンと結合されている。本発明においては、ドキュメント処理動作の任意のセットまたはサブセットが想定されている。複数の利用可能なドキュメント処理選択肢を含むドキュメント・レンダリング装置はＭＦＰと呼ばれている。
【００３５】
次に、図４および図５を参照しながら、本発明による実施形態におけるシステムの動作が実行されるコントローラのハードウェアおよび機能構成等を説明する。図４に本発明による実施形態においてシステム１００の動作が実行されるバックエンド・コンポーネント、すなわち、図１においてはコントローラ１０８として示した、コントローラ４００のハードウェア・アーキテクチャの構成例を説明するための図を示す。尚、図４においては、コントローラの構成要素の意義をより明確にするため、参照符号４３２で表した、コントローラ以外のドキュメント・レンダリング装置の構成要素の一部を併せて示している。コントローラ４００は、本明細書に記載する動作を円滑に実行する能力を有する、本技術分野において知られている任意の汎用コンピューティング装置を表している。コントローラ４００には、少なくとも一つのＣＰＵを含むプロセッサ４０２が含まれる。プロセッサ４０２は、互いに協調して動作する複数のＣＰＵから構成されることもある。また、ＢＩＯＳ機能、システム機能、システム構成データ、およびコントローラ４００の動作のために使用されるその他のルーチンまたはデータ等の静的なまたは固定されたデータまたは命令用に有利に使用される不揮発性または読み出し専用メモリ４０４も含まれている。
【００３６】
また、コントローラ４００には、ＢＩＯＳ機能、システム機能、システム構成データおよびコントローラ４００の動作に使用されるその他のルーチンもしくはデータ等の静的または固定的なデータ、あるいはインストラクションのために有効に使用される、不揮発性または読出し専用メモリ（ＲＯＭ）４０４が含まれる。
【００３７】
また、コントローラ４００には、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、または他の任意の適切なアドレス指定可能かつ書込み可能なメモリ・システムから構成されるＲＡＭ４０６が含まれる。ＲＡＭ４０６は、プロセッサ４０２によって処理されるアプリケーションおよびデータ処理に関係するデータ・インストラクションのための記憶領域を提供する。
【００３８】
ストレージ・インターフェイス４０８は、コントローラ４００に関連するデータの不揮発性保存、大容量保存または長期的な保存ためのメカニズムを提供する。ストレージ・インターフェイス４０８は、参照符号４１６で示したディスク・ドライブ、光学式ドライブ、あるいはテープ・ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大量記憶装置の他、当業者に知られている適切な任意の記憶媒体を使用する。
【００３９】
ネットワーク・インターフェイス・サブシステム４１０は、ネットワークとの間の入出力を適切にルーティングすることによって、コントローラ４００が他の装置と通信することを可能にする。ネットワーク・インターフェイス・サブシステム４１０は、コントローラ４００に対する外部装置との一つまたは複数のコネクションのインターフェイスを適切にとる。図においては、例えば、Ethernet（登録商標）、トークン・リング等といった固定または有線ネットワークとのデータ通信のための少なくとも一つのネットワーク・インターフェイス・カード４１４、およびWiFi、WiMax、無線モデム、セルラ・ネットワークまたは適切な任意の無線通信システム等の手段を介した無線通信のために適切な無線インターフェイス４１８とを示している。ネットワーク・インターフェイス・サブシステム４１０は、任意の物理的データ転送レイヤあるいは物理的データ転送レイヤではないデータ転送レイヤまたはプロトコル・レイヤを適切に利用する。図においては、ネットワーク・インターフェイス・カード４１４は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはそれらの組合せから適切に構成される物理的ネットワーク４２０を介したデータ交換を行うために、相互接続されている。
【００４０】
プロセッサ４０２、読出し専用メモリ（ＲＯＭ）４０４、ＲＡＭ４０６、ストレージ・インターフェイス４０８およびネットワーク・インターフェイス・サブシステム４１０の間のデータ通信は、バス４１２によって例示したバス・データ転送メカニズムを介して行われる。
【００４１】
また、ドキュメント・プロセッサ・インターフェイス４２２もバス４１２を介してデータ通信を行う。ドキュメント・プロセッサ・インターフェイス４２２は、様々なドキュメント処理動作を実行するために、ドキュメント処理ハードウェア４３２との接続を提供する。そのようなドキュメント処理動作には、コピー・ハードウェア４２４によって実行されるコピー、画像走査ハードウェア４２６によって実行される画像走査、印刷ハードウェア４２８によって実行される印刷、およびファクシミリ・ハードウェア４３０によって実行されるファクシミリ通信がある。コントローラ４００は、これらのドキュメント処理動作のいずれかまたは全部を適切に動作させる。複数のドキュメント処理動作を実行可能なシステムは、前述したように、ＭＦＰまたは多機能装置と呼ばれる。システム１００の機能は、ドキュメント・レンダリング装置と関連するインテリジェント・サブシステムとして図４に示したコントローラ４００（図１においてはコントローラ１０８として示されている）を含む、ドキュメント・レンダリング装置１０４等の適切なドキュメント・レンダリング装置において実行される。
【００４２】
次に図５を参照しながらシステムの動作が実行されるコントローラの機能ブロックと動作の概要を説明する。図５に、本発明による実施形態のシステム１００の動作が実行されるコントローラの機能ブロックの構成例を説明するための図を示す。尚、図５においても、コントローラの機能要素の意義をより明確にするため、コントローラ以外のドキュメント・レンダリング装置の機能要素の一部を併せて示している。図５は、ソフトウェアおよびオペレーティング・システム機能と関連して、図４に示したハードウェアの機能性を例示している。
【００４３】
コントローラ機能は、ドキュメント処理エンジン５０２を含む。一実施形態において、ドキュメント処理エンジン５０２は、印刷動作、コピー動作、ファクシミリ通信動作および画像走査動作を可能にする。これらの機能が一つの装置で実行できる装置は、産業界において一般に好まれているドキュメント処理周辺装置であるＭＦＰである。しかし、コントローラが上記のドキュメント処理動作のすべてを可能にする必要は必ずしもない。コントローラは、上記のドキュメント処理動作のサブセットを実行する専用のドキュメント・レンダリング装置、あるいはより限定した目的のドキュメント・レンダリング装置においても有効に用いられる。
【００４４】
ドキュメント処理エンジン５０２はユーザ・インターフェイス・パネル５１０と適切にインターフェイスされている。ユーザまたは管理者は、このユーザ・インターフェイス・パネル５１０を介して、ドキュメント処理エンジン５０２によって制御される機能にアクセスすることができる。アクセスは、コントローラにローカルに接続されているインターフェイスを介して行われるか、または遠隔のシン・クライアント（thin client）もしくはシック・クライアント（thick client）によって遠隔から行われる。
【００４５】
ドキュメント処理エンジン５０２は、印刷機能部５０４、ファクシミリ通信機能部５０６および画像走査機能部５０８とデータ通信を行う。これらの機能部は、印刷、ファクシミリの送受信、およびドキュメント画像をコピーのために取得するか、またはドキュメント画像の電子バージョンを生成するための、ドキュメント画像走査の実際の処理動作を容易にする。
【００４６】
ジョブ・キュー（job queue）５１２は、印刷機能部５０４、ファクシミリ通信機能部５０６および画像走査機能部５０８とデータ通信を行う。ビットマップ・フォーマット、ページ記述言語（ＰＤＬ）フォーマットまたはベクター・フォーマット等の種々の画像形式は、画像走査機能部５０８からジョブ・キュー５１２を介して以降の処理のために中継される。
【００４７】
ジョブ・キュー５１２は、また、ネットワーク・サービス機能部５１４ともデータ通信を行う。一実施形態において、ジョブ制御、状態データまたは電子ドキュメント・データが、ジョブ・キュー５１２とネットワーク・サービス機能部５１４との間で交換される。このように、適切なインターフェイスが、クライアント側ネットワーク・サービス機能５２０を介したコントローラへのネットワーク・ベースのアクセスのために設けられており、このインターフェイスは、任意の適切なシン・クライアントまたはシック・クライアントである。一実施形態において、ウェブ・サービス・アクセスは、ハイパーテキスト転送プロトコル（HTTP）、ファイル転送プロトコル（FTP）、ユニフォーム・データ・ダイアグラム・プロトコルまたは他の任意の適切な交換メカニズムによって実行される。ネットワーク・サービス機能部５１４は、また、ＦＴＰ、電子メール、あるいはテルネット（TELNET）等による通信のために、クライアント側ネットワーク・サービス機能５２０とのデータ交換も有効に提供する。このように、コントローラ機能は、種々のネットワーク・アクセス・メカニズムによって、電子ドキュメントおよびユーザ情報の出力あるいは受信を容易にする。
【００４８】
ジョブ・キュー５１２は、また、画像プロセッサ５１６ともデータ通信を行う。画像プロセッサ５１６は、印刷機能部５０４、ファクシミリ通信機能部５０６または画像走査機能部５０８等の装置機能部と、電子ドキュメントを交換するために適したフォーマットに変換するラスタ画像処理（Raster Image Process；ＲＩＰ）、ページ記述言語インタープリタまたは任意の適切な画像処理を行うメカニズムである。
【００４９】
さらに、ジョブ・キュー５１２は、ジョブ解析部（job parser）５１８とデータ通信を行い、このジョブ解析部５１８はクライアント装置サービス部５２２等の外部装置からの印刷ジョブ言語ファイルを受け取る働きをする。クライアント装置サービス部５２２は、電子ドキュメントの印刷、ファクシミリ通信、またはコントローラ機能による処理が有効である他の適切な電子ドキュメントの入力を含む。ジョブ解析部５１８は、受け取った電子ドキュメント・ファイルを解析し、前述した機能およびコンポーネントと関連する処理のために、解析した電子ドキュメント・ファイル情報をジョブ・キュー５１２に中継する働きをする。
【００５０】
以下、本発明における動作の概要を説明する。先ず、複数の走査線の記憶場所（memory location）が、メモリ割り当てユニットによって割り当てられる。ここで、それぞれの走査線の記憶場所は、レンダリング対象の電子ドキュメントの走査線に対応する。次いで、少なくとも１つの命令の記憶場所が、メモリ割り当てユニット内のそれぞれの走査線の記憶場所に対応して、割り当てられる。次に、少なくとも１つの符号化された視覚出力要素（visual output primitive）を含む電子ドキュメントが受信され、受信した符号化された視覚出力要素のそれぞれに一意的な識別子が割り当てられる。次いで、受信した電子ドキュメントの視覚出力要素のそれぞれが一連の命令に変換され、その後、それぞれの命令は、少なくとも１つの走査線の記憶場所に関連付けられる。次に、それぞれの命令は、メモリ割り当てユニットによって割り当てられ、選択された走査線の記憶場所に対応する命令記憶場所に保存される。次いで、それぞれの走査線の記憶場所に対応するそれぞれの命令記憶場所のコンテンツを含む符号化された走査線出力ファイルが、ドキュメント・レンダリング装置に伝達される。その後、要素に関連付けられた相対的な識別子に基づいた視覚出力優先順位にしたがって、それぞれの視覚出力要素のレンダリングが実行される。
【００５１】
本発明による例示的な一実施形態においては、先ず、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントが、メモリ割り当てユニットを介して、走査線の記憶場所を割り当てる。それぞれの走査線の記憶場所は、レンダリング対象のドキュメントの走査線に対応する。走査線を保存する手段は、ドキュメント・レンダリング装置１０４に関連するシステム・メモリ、データ記憶装置１１０に配置された仮想メモリ、またはこれらの任意の適切な組み合わせとすることができる。次いで、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントに存在するメモリ割り当てユニットは、走査線の記憶場所のそれぞれに対応した少なくとも１つの命令記憶場所を割り当てる。
【００５２】
次に、ドキュメント・レンダリング装置１０４によるさらなる処理のために、ユーザ装置１１４から、もしくはファクシミリ受信、画像走査またはコピー等のドキュメント・レンダリング装置１０４の動作から、または電子メール伝送、あるいは、電子ドキュメントを受信するその他の手段から、電子ドキュメントを受信する。電子ドキュメントを受信すると、その電子ドキュメントが視覚出力要素を含むか否かの判断が行われる。視覚出力要素としては、例えば、点、線、多角形、台形、円、三角形、正方形、矩形、スプライン曲線、プレーン等がある。コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントによって要素オブジェクトが検出されない場合、受信した電子ドキュメント・データは一連の命令に変換される。それぞれの命令は、少なくとも１つの走査線の記憶場所と関連付けられる。電子ドキュメント・データの変換については、２００６年３月１６日に米国に出願された「SYSTEM AND METHOD FOR DOCUMENT RENDERING EMPLOYING BIT-BAND INSTRUCTIONS」という名称の米国特許出願第１１／３７６，７９７号（米国特許出願公開第２００７／０２１６６９６号明細書）に詳しく説明されている。
【００５３】
視覚出力要素が検出された場合には、検出された要素のそれぞれは一意的な識別子を割り当てられる。本発明の一実施形態によれば、それぞれの要素には、英数文字または値等の一意的なオブジェクトＩＤを割り当てられる。次に、それぞれの要素は一連の命令に変換される。次いで、変換された命令のそれぞれは、選択された走査線の記憶場所に対応して割り当てられた命令記憶場所に、保存される。本発明の一実施形態によれば、それぞれの命令は、例えば、色、不透明度、パターン、ピクセルの範囲（pixel range）、またはラスタ・オペレーション・コード（raster operating code）等を規定する。また、ラスタ・オペレーション・コードは、例えば、テキスト・レンダリング、一般的なバンド・レンダリング、グラフィック・レンダリング、バッチ・レンダリング、およびキャッシング等を含む。
【００５４】
次いで、ドキュメント・レンダリング装置１０４における後続する処理のために、例えば、コントローラ１０８から、ドキュメント・レンダリング装置１０４に、符号化された走査線出力ファイルが伝達される。ドキュメント・レンダリング装置１０４は、電子ドキュメントに関連付けられた一連の命令によって表される動作を実行する能力を有する任意のコンポーネントに対応する。次に、符号化された走査線出力ファイルがドキュメント・レンダリング装置１０４によって受信される。受信された電子ドキュメント内に要素が検出された場合には、少なくとも１つの走査線の記憶場所は、符号化された視覚出力要素のそれぞれに対応する命令を含んでいる。次いで、ドキュメント・レンダリング装置１０４またはその任意の適切なコンポーネントが、走査線の記憶場所に対応する命令を順次的に復号化する。
【００５５】
次いで、オーバーラップする要素が存在する場合には、オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する復号された命令に対応するビットマップ・バンド出力が、ドキュメント・レンダリング装置１０４またはそのコンポーネントによって生成される。受信した電子ドキュメント内に複数の要素が存在する場合には、復号された命令が先行する復号された命令に関連付けられたビットマップの少なくとも一部に選択的に上書きを行うビットマップを生成するように、順次的な復号化は、複数の符号化された視覚出力要素のそれぞれに対応する。
【００５６】
次に、図６に示すページ画像例を参照しながら、本発明による実施形態の説明を行う。図には第１のオブジェクト６０２、第２のオブジェクト６０４、第３のオブジェクト６０６、および第４のオブジェクト６０８という４つのオブジェクトが示されており、これらはページ６００に印刷されている。オブジェクト６０２、６０４、６０６、６０８は、ページ画像６００の視覚出力要素を表している。それぞれのオブジェクト６０２、６０４、６０６、６０８上に示した１ないし４の番号は、印刷ジョブにおいて、そのオブジェクトをラスタ画像プロセッサに提供する順序を表す。ページ画像６００の左側に走査線番号６１０を示している。第３のオブジェクト６０６を囲う破線は、オブジェクト６０６のサイズを表すが、走査線Ｙ＝５０００および走査線Ｙ＝５４００に対応するクリップ・パス（clip path）が存在し、この結果、第３のオブジェクト６０６は、走査線５０００から走査線５４００までの範囲のみが、ページ画像６００に印刷される。
【００５７】
ページ画像６００の処理の最初のステップは、コントローラ１０８、ドキュメント・レンダリング装置１０４またはそれに関連する任意の適切なコンポーネントと関連付けられたラスタ画像プロセッサが、新しいページの処理を開始する準備が完了した際に始まる。次に、ディスク入出力およびメモリ・サブシステムが初期化され、走査線のグラフィック状態を含む走査線アレイが割り当てられ、デフォルトの空の値に初期化される。
【００５８】
次いで、台形７００として図７に示した、図６における第１のオブジェクト６０２が、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントと関連付けられた解析手段によって解析され、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントと関連付けられたカラー・システムおよび走査変換メカニズムによってデバイス空間に変換される。図７は、バンド・レンダリング関数（＊ｂｆ）７０２と台形レンダリング関数（＊ｔｆ）７０４を使用してレンダリングされる台形７００（図６の第１のオブジェクト６０２）を示す。本発明の一実施形態によれば、バンド・レンダリング関数（＊ｂｆ）７０２および台形レンダリング関数（＊ｔｆ）７０４の両方をレンダリング・エンジンが利用可能である。本発明のさらなる実施形態によれば、台形７００は３つのセグメント、すなわち、最初の走査線、最後の走査線、およびこれらの走査線の間のすべての走査線に、分割される。さらに別の実施形態によれば、最初の走査線と最後の走査線の間の走査線の数が、次に、特定される。特定された走査線の数が予め定められた閾値を上回っている場合には、台形７００は３つのセグメントに分割され、そうでない場合には、台形７００は台形７００に跨る走査線の合計数に等しい数のセグメントに分割される。本発明の一実施形態によれば、予め定められた閾値は、台形表現によって消費されるバイトのバンド表現によって消費されるバイトに対する比を用いて計算される。
【００５９】
本発明による例示的な実施形態において、台形７００、すなわち、第１のオブジェクト６０２を構成するデータは、適切なソフトウェア構造（structure）であり、例えば、_tPxSTrapezoidが使用される。このようなソフトウェア構造に含まれている情報の例が図８に示されており、台形８００として第１のオブジェクト６０２を含む。クリップ・パスが存在する場合には、クリッピング境界である「左下ｘ」（すなわち、ｌｌｘ８０２）および「右上ｘ」（すなわち、ｕｒｘ８０４）も保存される。クリッピングが存在しない場合には、これらの境界８０２および８０４は、ページの境界を表す。さらに、このソフトウェア構造は、ｌＡｄｊおよびｒＡｄｊという名称の２つの構成要素を含む。これらのｌＡｄｊおよびｒＡｄｊは、それぞれの走査線の左側の調節（adjustment）および右側の調節にそれぞれ対応する。POSTSCRIPT（登録商標）ページ記述言語にしたがえば、接触したピクセルがペイントされるが、ＰＣＬＸＬの場合にはピクセルの中心は中央に位置しており、したがって、例えば、ｌＡｄｊおよびｒＡｄｊ等の調節構成要素を用いた０．５ピクセルの調節が必要である。
【００６０】
本発明の一実施形態によれば、それぞれの走査線は、走査線に命令を追加する処理の際と最終的なレンダリング処理の際の両方において使用される単純なグラフィック状態情報を保存する。これは、次の項目を含む。
【００６１】
現在の色（デフォルトは黒）
現在の不透明度（デフォルトは不透明）
現在のラスタ演算の演算子（ＲＯＰ演算子）（デフォルトはｒｏｐ０）
現在のパターン（デフォルトはパターンなし）
現在の色と、命令リストに挿入される現在のバンドの色に応じて、opRenderBand（５バイト）またはopRenderBandColor（９バイト）のいずれかが使用される。バンドの色がグラフィック状態の現在の色と同一である場合には、現在のバンドの色は、４バイトを節約するopRenderBandを使用することによって、OpCode内に含まれない。上記のOpCodeは、単一の走査線上において表現されるオブジェクトに適用される。オブジェクトが複数の走査線に跨っている場合には、類似のOpCodeであるopRenderTrap（３１バイト）およびopRenderTrapColor（３５バイト）が使用される。
【００６２】
図６に示したページ画像の場合、ラスタ画像プロセッサに提供される最初のオブジェクトは第１のオブジェクト６０２であるため、最初に遭遇する命令は、第１のオブジェクト６０２の走査線８００における命令となる。第１のオブジェクト６０２の最初の走査線は、バンドとして取り扱われる。このバンドの色、例えば、赤は、走査線のグラフィック状態のデフォルトの現在の色、すなわち、黒とは同一ではないため、opRenderBandColorが使用される。第１のオブジェクト６０２は、図９に示すテーブル９００内の走査線データによって表される。objectID＝０がtPxSRepresentation構造でセットされる。同様に、図１０のテーブル１０００は第２のオブジェクト６０４の走査線データを、図１１のテーブル１１００は第３のオブジェクト６０６の走査線データを、図１２のテーブル１２００は第４のオブジェクト６０８の走査線データを表す。
【００６３】
図６に示され図１１に表されているように、第３のオブジェクト６０６は、クリッピングされた要素、すなわちオブジェクトを表す。垂直（Ｙ）クリッピングは、本発明による実施形態の処理を開始する前に予め実行されている。したがって、図１１のテーブル１１００に示されているOpCodeのみが使用され、クリッピング情報にしたがってｌｌｘとｕｒｘがセットされている。第４のオブジェクト６０８は、ページ画像６００の最上部に描かれているが、これは、最後のオブジェクトとしてラスタ画像プロセッサによって受信され、したがって図１２のテーブル１２００に示されているOpCodeによって最後に表される。
【００６４】
図６に示したページ画像で入力値を有する走査線は、Ｙ＝２００、２０１、８００、８０１、１０００、２０００、２００１、２６００、４０００および５０００の走査線のみ、すなわち１０本の走査線のみである。このように、本発明の実施形態によれば、図６のページ画像の表現サイズが効率的に最適化される。
【００６５】
ラスタ画像プロセッサ、あるいは、コントローラ１０８またはドキュメント・レンダリング装置１０４等に関連する他の適切なコンポーネントによって、テーブル９００、１０００、１１００、１２００が埋められた後に、ページ・データの最終的に完成したバンドのレンダリングが実行される。次に、例えば、ラスタ画像プロセッサ等の、コントローラ１０８またはドキュメント・レンダリング装置１０４等に関連する他の適切なコンポーネントが、典型的には高さが１２８本の走査線である、圧縮されていない完全なバンドのために、例えば、システム・メモリまたはデータ記憶装置１１０上の仮想メモリ等の、十分なメモリを提供または割り当てる。このようなバンドのフィリングは、バンド内に属するそれぞれの規則的な走査線の検出と、バンドに関連付けられた命令ブロック内のOpCodeの「再生」または復号化を伴う。
【００６６】
図６のページ画像６００を再度参照すると、入力値を有する最初の走査線は、Ｙ＝２００の走査線である。第４のオブジェクト６０８がレンダリングされる最初の対象である。レンダリングを実行する前に、ｚ−バッファ情報を表現するために、動的オブジェクト・リストがセットアップされる。例えば、次の構成要素を有するtPxSObjectという名称のソフトウェア構造のリンクされたリストの開始によって、適切なオブジェクト・リストのセットアップが実行される。
【００６７】
unsigned char objType                /* 例えば「台形」*/
tPxsTrapezoid trap             /* 図８に示されているすべての台形情報を含む */
unsigned int  objID          /* オブジェクトＩＤ */
unsigned char OpCode         /* 命令のOpCode */
unsigned char c, m, y, k              /* 色の値*/
unsigned int  blackOverPrint         /* ＢＯＰがオンであるか否か */
struct _tPxSObject  *next             /* 次のオブジェクトに対するポインタ */
このレンダリングの開示時点においては、リンクされたリストは、オブジェクトを含んでおらず、したがって関連付けられたＮＵＬＬ値を有する。リンクされたリストにアクセスするために、予約された２ＭＢのメモリ内に、例えば、_tPxSCacheOpCodeSource等の、よりハイ・レベルのデータ構造が定義される。これは、次の構成要素を含んでいる。
【００６８】
unsigned char *mem        /* ２ＭＢメモリのヘッドに対するポインタ */
unsigned char *currentPtr    /* メモリ内の現在の場所に対するポインタ */
unsigned int  size   /* 利用可能なメモリのサイズ */
unsigned int  availableSize   /* オブジェクト・リストを拡張するための残りのメモリ・サイズ */
tPxSObject   *objList         /* オブジェクト・リストのヘッドに対するポインタ */
tPxSObject   *curObjList      /* オブジェクト・リスト内の現在のオブジェクトに対するポインタ */
tPxSObject   *prevObj         /* オブジェクト・リスト内の以前のオブジェクトに対するポインタ */
tPxSObject   *freeList        /* もはや使用されていない再使用可能であるオブジェクトのリスト */
unsigned int  *scanlineObjectCnt   /* 走査線内においてこれまでレンダリングされたオブジェクトの数 */
fPxSAllocFuncPtr    memAlloc    /* メモリ割り当て関数ポインタ */
fPxSAllocFuncPtr    memFree     /* メモリ解放関数ポインタ */
図６に示した例示用のページ画像６００の処理について説明を続けると、Ｙ＝２００の走査線において、ObjectID＝３を有する第４のオブジェクト６０８（オブジェクト４）が、先ず、検討される。第４のオブジェクト６０８の検討内容を示すオブジェクト・リスト１３００の例が図１３（ａ）に示されている。この結果、第４のオブジェクト６０８の走査線のペインティングに先だって、３以下のObjectIDを有するオブジェクトがレンダリングされる。命令はopRenderBandColorであるため、この命令は、現在の走査線に対してのみ適応可能であり、すなわち、これは台形ではない。したがって、このバンドは、バンドバッファにレンダリングされ、このオブジェクトはオブジェクト・リストに挿入されない。命令opRenderTrapColorを伴いObjectID＝３を有する第４のオブジェクト６０８を含む走査線Ｙ＝２０１に遭遇した際にも、オブジェクト・リスト内に入力値を有するオブジェクトは依然として存在しない。この結果、OpCodeのデータ内のｘ０、ｘ１、ｄｘ０、ｄｘ１、ｌＡｄｊ、ｒＡｄｊ、ｌｌｘおよびｕｒｘの値を用いて、ペイント対象の走査線の範囲が計算される。色、すなわちＣ、Ｍ、Ｙ、Ｋを走査線のグラフィック状態にセットする。但し、グラフィック状態の色を変更する前に、レンダリング後に色を元に戻せるように、現在のグラフィック状態の色を一時変数に保存する。このOpCodeは台形と関連付けられているため、この段階で、第４のオブジェクト６０８は、図１３（ａ）に示されているように、オブジェクト・リストに挿入される。
【００６９】
上記のレンダリングと同一のレンダリングが、Ｙ＝８００の走査線に到達するまで続けられる。Ｙ＝８００において、ObjectID＝０を有する第１のオブジェクト６０２（オブジェクト１）に遭遇する。しかしながら、命令はopRenderBandColorであるため（すなわち、現在の走査線にのみ適用可能であるため）、第１のオブジェクト６０２は未だオブジェクト・リストに入力されない。現在のオブジェクト・リストを調べることによって、現在のエントリとして、第１のオブジェクト６０２よりも大きなObjectIDを有するオブジェクト４の存在のみが明らかになる。したがって、第４のオブジェクト６０８の走査線のレンダリングの前に、第１のオブジェクト６０２の走査線がレンダリングされる。Ｙ＝８０１において、第１のオブジェクト６０２に関するopRenderTrapColor命令に遭遇し、図１３（ｂ）に示されているように、第１のオブジェクト６０２が、選択された順番でオブジェクト・リストに追加される。
【００７０】
次いで、このレンダリングが、Ｙ＝１０００の走査線に到達するまで第１のオブジェクト６０２および第４のオブジェクト６０８の両方について、引き続き実行される。Ｙ＝１０００の走査線に到達すると第４のオブジェクト６０８は完了しており、第４のオブジェクト６０８に対応するオブジェクト・リストのエントリが除去されるとともにフリーリストに追加される。第４のオブジェクト６０８に対応するオブジェクト・リストのエントリの除去を反映したオブジェクト・リストが、図１３（ｃ）に示されている。
【００７１】
次いで、このレンダリングが、Ｙ＝２０００の走査線に到達するまで第１のオブジェクト６０２に関して継続される。第２のオブジェクト６０４（オブジェクト２）のバンドのレンダリングの前に、オブジェクト・リストを検査することにより、第２のオブジェクト６０４のObjectIDよりも小さいObjectIDを有する第１のオブジェクト６０２（オブジェクト１）がオブジェクト・リスト内に存在していることが明らかとなる。したがって、第２のオブジェクト６０４の走査線のレンダリングの前に、先ず第１のオブジェクト６０２の走査線がレンダリングされ、この結果、オブジェクト６０２およびオブジェクト６０４の正しいオーバーラップ関係が実現される。この後、Ｙ＝２００１において、図１３（ｄ）に示されているように、第２のオブジェクト６０４もオブジェクト・リストに組み込まれる。
【００７２】
次いで、このレンダリングが、Ｙ＝２６００の走査線に到達するまで継続されるが、Ｙ＝２６００の走査線に到達した時点で第１のオブジェクト６０２は完成しており、第１のオブジェクト６０２はオブジェクト・リストから除去される。この段階で、図１３（ｅ）に示されているように、オブジェクト・リスト内には、第２のオブジェクト６０４のみが残っている。第２のオブジェクト６０４のレンダリングは、Ｙ＝４０００の走査線に到達するまで継続し、Ｙ＝４０００の走査線に到達した時点で第２のオブジェクト６０４は完成しており、第２のオブジェクト６０４はオブジェクト・リストから除去される。第２のオブジェクト６０４が除去された後には、オブジェクト・リスト内には、オブジェクトが残っておらず、この結果、オブジェクト・リストは図１３（ｆ）に示されるものになる。図６に示したページ画像６００においては、Ｙ＝５０００の走査線に到達するまで、新しいOpCode命令には遭遇しない。Ｙ＝５０００の走査線に到達すると、opRenderTrapColor命令を有する第３のオブジェクト６０６（オブジェクト３）に遭遇する。この結果、第３のオブジェクト６０６がオブジェクト・リストに組み込まれ、走査線がレンダリングされる。この段階におけるオブジェクト・リストが図１３（ｇ）に示されている。
【００７３】
次いで、このレンダリングが、Ｙ＝５４００の走査線に到達するまで継続され、Ｙ＝５４００の走査線に到達した時点で第３のオブジェクト６０６は完成しており、第３のオブジェクト６０６はオブジェクト・リストから除去される。オブジェクト・リスト内には、オブジェクトは何も残っておらず、この段階におけるオブジェクト・リストが図１３（ｈ）に示されている。この結果、ページ画像ジ６００のバンディングが完了し、レンダリングの対象となるピクセルは、もはや残っていない。
【００７４】
以上、図１ないし図１３を参照しながらシステム１００および関連するコンポーネントについて説明を行ったが、図１４および図１５を参照しながら行う以下の説明によって、本発明による実施形態の動作の理解が深まるであろう。図１４に、本発明による実施形態におけるドキュメント・レンダリングの基本的な動作例を表すフローチャートを示す。先ず、Ｓ１４０２で、走査線の記憶場所が関連付けられたメモリ割り当てユニットによって割り当てられる。ここで、それぞれの走査線の記憶場所は、レンダリング対象の電子ドキュメントの走査線に対応する。メモリ割り当てユニットは、例えば、ドキュメント・レンダリング装置１０４のコントローラ１０８と関連付けられたハードウェア、ソフトウェアまたはこれらの任意の適切な組み合わせである。図１４に示す処理動作はユーザ装置１１４の動作によっても実行可能であるが、説明を簡潔にするため、以下の説明においてはドキュメント・レンダリング装置１０４および関連するハードウェア、ソフトウェアによって実行されるとして説明を行う。すなわち、ドキュメント・レンダリング装置１０４および関連するハードウェア、ソフトウェアに対する参照は、例示を目的としたものに過ぎない。
【００７５】
Ｓ１４０４において、走査線の記憶場所のそれぞれに対応する少なくとも１つの命令の記憶場所がメモリ割り当てユニットによって割り当てられる。次いでＳ１４０６において、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントが、少なくとも１つの符号化された視覚出力要素を含む電子ドキュメントを受信する。本発明の一実施形態によれば、符号化された視覚出力要素は、点、線、多角形、または画像のその他のグラフィック要素に対応する。次にＳ１４０８において、受信した電子ドキュメントのそれぞれの要素は一意的な識別子を割り当てられる。例えば、それぞれの要素、すなわちオブジェクトは一意的なObjectIDを割り当てられ、割り当てられた一意的なObjectIDは、前述し、かつ、後ほど図１５との関係においてさらに説明するように、画像をレンダリングする際に使用される。
【００７６】
次にＳ１４１０において、それぞれの要素は一連の命令、すなわちOpCodeに変換される。これらの命令は、例えば、要素の色、要素の不透明度、要素のパターン、要素に関連するピクセルの範囲（pixel range）、または要素の処理に関連するラスタ・オペレーション・コード等を規定する。次いでＳ１４１２において、それぞれの命令は、少なくとも１つの走査線の記憶場所に関連付けられる。次にＳ１４１４において、例えば、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネント等の、メモリ割り当てユニットによって割り当てられ、かつ、選択された走査線の記憶場所に対応する命令の記憶場所に、それぞれの命令が保存される。この後、Ｓ１４１６において、それぞれの走査線の記憶場所に対応するそれぞれの命令記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置１０４に伝達する。ドキュメント・レンダリング装置１０４においては、それぞれの出力要素がその要素の一意的な識別子に対応する視覚出力優先順位にしたがってレンダリングされる。
【００７７】
次に図１５を参照しながら、本発明による実施形態におけるドキュメント・レンダリングの動作をさらに詳細に説明する。図１５に、本発明による実施形態におけるドキュメント・レンダリングの動作例をさらに詳細に表したフローチャートを示す。先ず、Ｓ１５０２で、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントのメモリ割り当てユニットによって、走査線の記憶場所が割り当てられる。本発明の一実施形態によれば、それぞれの走査線記憶場所は、ドキュメント・レンダリング装置１０４によってレンダリングされるドキュメントの走査線に対応する。本発明の別の実施形態によれば、記憶場所は、ドキュメント・レンダリング装置１０４に関連付けられたシステム・メモリ、またはデータ記憶装置１１０からアクセスされる仮想メモリ等から割り当てられる。次いでＳ１５０４において、コントローラ１０８またはドキュメント・レンダリング装置１０４に関連する他の適切なコンポーネントと関連付けられたメモリ割り当てユニットは、それぞれの走査線の記憶場所に対応する１つまたは複数の命令の記憶場所を割り当てる。
【００７８】
次いで処理はＳ１５０６に進み、コンピュータ・ネットワーク１０２を介してユーザ装置１１４から、もしくは、例えば、コピー、画像走査、ファクシミリ伝送等のドキュメント・レンダリング装置１０４の動作から、もしくはポータブル記憶媒体から、または電子ドキュメントを伝達するその他の適切な手段から、電子ドキュメントがドキュメント・レンダリング装置１０４によって受信される。次いでＳ１５０８において、受信した電子ドキュメント内に、符号化された視覚出力要素、すなわちオブジェクトが存在しているか否かの判断が行われる。視覚出力要素には、例えば、点、線、多角形、台形、円、三角形、正方形、矩形、スプライン曲線、およびプレーン等がある。Ｓ１５０８において、受信した電子ドキュメント内に要素オブジェクトが存在していないと判断が行われると、受信した電子ドキュメントに対応するデータが、Ｓ１５２６において、一連の命令に変換される。ここで、それぞれの命令は少なくとも１つの走査線の記憶場所に関連付けられている。尚、電子ドキュメント・データの変換については、前述したように米国特許出願第１１／３７６，７９７号（米国特許出願公開第２００７／０２１６６９６号明細書）にさらに詳細に説明されている。次いで処理はＳ１５１４に進み、後ほど説明するように、それぞれの命令は少なくとも１つの走査線の記憶場所に関連付けられる。
【００７９】
Ｓ１５０８に戻り、受信した電子ドキュメント内に少なくとも１つの符号化された視覚出力要素が存在すると判断された場合には、処理はＳ１５１０に進む。Ｓ１５１０において、存在する符号化された視覚出力要素のそれぞれは、一意的な識別子が割り当てられる。一意的な識別子の割り当ての例は、図６ないし図１３を参照しながら前述した。それぞれの要素に対する識別子の割り当てに続いて、処理はＳ１５１２に進み、要素のそれぞれは一連の命令に変換される。次いでＳ１５１４において、それぞれの命令は、少なくとも１つの走査線の記憶場所に関連付けられる。Ｓ１５１６において、それぞれの命令が、選択された走査線の記憶場所に対応して割り当てられた命令記憶場所に、保存される。本発明の一実施形態において、それぞれの命令は、例えば、色、不透明度、パターン、ピクセルの範囲、またはラスタ・オペレーション・コード等を規定する。また、ラスタ・オペレーション・コードは、例えば、テキスト・レンダリング、一般的なバンド・レンダリング、グラフィック・レンダリング、またはバッチ・レンダリング、キャッシング等を含む。
【００８０】
次にＳ１５１８において、ドキュメント・レンダリング装置１０４におけるさらなる処理のために、例えば、コントローラ１０８から関連するドキュメント・レンダリング装置１０４の適切なコンポーネントへ等のように、符号化された走査線出力ファイルがドキュメント・レンダリング装置１０４に伝達される。ドキュメント・レンダリング装置１０４に関連するラスタ画像プロセッサまたは他の適切なコンポーネントは、電子ドキュメントと関連する一連の命令によって表されている動作を実行することができる。次いでＳ１５２０において、符号化された走査線出力ファイルが、ドキュメント・レンダリング装置１０４によって受信される。このように、受信した電子ドキュメント内に要素が存在する場合、少なくとも１つの走査線の記憶場所は、符号化された視覚出力要素のそれぞれに対応する命令を含む。次いでＳ１５２２において、ドキュメント・レンダリング装置１０４またはその任意の適切なコンポーネントが、走査線の記憶場所に対応する命令を順次的に復号化する。
【００８１】
次いでＳ１５２４において、それぞれの走査線の記憶場所に対応する復号された命令に対応するビットマップ・バンド出力がドキュメント・レンダリング装置１０４またはその適切なコンポーネントによって生成され、オーバーラップする要素が存在する場合には、オーバーラップする要素に関する視覚出力がそれぞれの要素に関連付けられた識別子にしたがって選択される。受信した電子ドキュメントに要素が存在する場合、復号された命令が先行して復号された命令に関連するビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、順次的な復号化は複数の符号化された視覚出力要素のそれぞれに対応する。受信した電子ドキュメントに視覚出力要素が存在しない場合には、ドキュメント・レンダリング装置１０４は、それらの要素のオーバーラップがレンダリングされないように、復号された命令のビットマップ・バンド出力を生成する。
【００８２】
本発明は、ソース・コード、オブジェクト・コード、部分的にコンパイルされた形のようなコード中間ソースおよびオブジェクト・コードの形、あるいは本発明の実施形態で使用するために適した任意の他の形のコンピュータ・プログラムをも含む。コンピュータ・プログラムは、スタンドアローンのアプリケーション、ソフトウェア・コンポーネント、スクリプトまたは他のアプリケーションへのプラグ・インとすることができる。本発明を実施するコンピュータ・プログラムは、例えば、ＲＯＭやＲＡＭ等の記憶媒体、ＣＤ−ＲＯＭ等の光記録媒体、フロッピー（登録商標）ディスク等の磁気記録媒体等の、コンピュータ・プログラムを伝達することができる任意の実体または装置である担体上で具体化することができ、あるいは電気ケーブルまたは光ケーブルによって、または無線や他の手段によって伝えられる電気信号や光信号等の任意の担体によって伝達することができる。コンピュータ・プログラムは、サーバからインターネットを介してダウンロードすることもできる。また、コンピュータ・プログラムの機能は集積回路に組み込むこともできる。説明を行った本発明の原理を実質的にコンピュータまたはプロセッサに実行させるコードを含む任意およびすべての実施形態は、本発明の範囲内にある。
【００８３】
本発明の好ましい実施形態の以上の説明は、例示と説明のために行った。説明は網羅的ではなく、本発明を開示した形態に限定しようとするものでもない。以上の開示を鑑みて明らかな修正または変形が可能である。例えば、本発明による実施形態の説明に記したシステムおよび方法は、例えば、通信、汎用コンピューティング、データ処理等を含む、順序付けされた命令シーケンスを用いる複数の様々な分野に対しても適用可能であり、本発明がドキュメント処理への適用に限定されるものではない。実施形態は、本発明の原理とその実際的な応用例を最もよく示し、それにより当業者が、本発明を、意図された特定の使用に適した様々な実施形態において様々な修正で使用できるように選択され説明された。そのようなすべての修正と変形は、特許請求の範囲の記載に明示されるとおりの本発明の原理および範囲内において、当業者によって行われ得ることは明らかであり、特許請求の範囲の記載によって定められる本発明の範囲内にある。
【図面の簡単な説明】
【００８４】
【図１】本発明による実施形態が適用されるドキュメント・レンダリング・システム全体の構成例である。
【図２】本発明による実施形態のシステムの動作が実行されるドキュメント・レンダリング装置のハードウェアの構成例である。
【図３】本発明による実施形態のシステムの動作が実行されるドキュメント・レンダリング装置の機能ブロックの構成例である。
【図４】本発明による実施形態のシステムの動作が実行されるコントローラのハードウェアの構成例を説明するための図である。
【図５】本発明による実施形態のシステムの動作が実行されるコントローラの機能ブロックの構成例を説明するための図である。
【図６】本発明による実施形態において処理対象となるページ画像の例である。
【図７】図６に示したページ画像に含まれる視覚出力要素の一例である。
【図８】図６に示したページ画像に含まれる視覚出力要素の構成情報の一例である。
【図９】図６に示した第１のオブジェクトの走査線データを表すテーブルである。
【図１０】図６に示した第２のオブジェクトの走査線データを表すテーブルである。
【図１１】図６に示した第３のオブジェクトの走査線データを表すテーブルである。
【図１２】図６に示した第４のオブジェクトの走査線データを表すテーブルである。
【図１３】本発明による実施形態において使用される図６に示したページ画像に対応するオブジェクト・リストの例である。
【図１４】本発明による実施形態におけるドキュメント・レンダリングの基本的な動作例を表すフローチャートである。
【図１５】本発明による実施形態におけるドキュメント・レンダリングの動作例を詳細に表したフローチャートである。
【符号の説明】
【００８５】
１００  システム
１０２  コンピュータ・ネットワーク、分散通信システム
１０４  ドキュメント・レンダリング装置、ＭＦＰ
１０６  ユーザ・インターフェイス
１０８  コントローラ
１１０  データ記憶装置
１１２、１１６  通信リンク
１１４  ユーザ装置
２００、３００  ドキュメント・レンダリング装置
２０２、４０２  プロセッサ
２０４、４０４  読出し専用メモリ、ＲＯＭ
２０６、４０６  ＲＡＭ
２０８、４０８  ストレージ・インターフェイス
２１０、４１０  ネットワーク・インターフェイス・サブシステム
２１２、４１２  バス
２１４、３１６、４１４  ネットワーク・インターフェイス・カード
２１６、４１６  ディスク・ドライブ
２１８、４１８  無線インターフェイス
２２０、４２０  物理的ネットワーク
２２２  オプションの入出力インターフェイス
２２４  ユーザ入出力パネル
２２６  印刷インターフェイス
２２８  コピー・インターフェイス
２３０  画像走査インターフェイス
２３２  ファクシミリ・インターフェイス
２３４、３０４  印刷エンジン
２３６  コピー・エンジン
２３８、３０８  画像走査エンジン
２４０、３０６  ファクシミリ・エンジン
３１０  コンソール・パネル
３１４  デバイス・ドライバ
３１８、３２０、３２２、３２４、３２６  ドライバ
４００  コントローラ
４２２  ドキュメント・プロセッサ・インターフェイス
４２４  コピー・ハードウェア
４２６  画像走査ハードウェア
４２８  印刷ハードウェア
４３０  ファクシミリ・ハードウェア
４３２  ドキュメント処理ハードウェア
５０２、３０２  ドキュメント処理エンジン
５０４  印刷機能部
５０６  ファクシミリ通信機能部
５０８  画像走査機能部
５１０  ユーザ・インターフェイス・パネル
５１２  ジョブ・キュー
５１４  ネットワーク・サービス機能部
５１６  画像プロセッサ
５１８  ジョブ解析部
５２０  クライアント側ネットワーク・サービス機能
５２２  クライアント装置サービス部
６００  ページ画像、ページ
６０２、６０４、６０６、６０８  オブジェクト、視覚出力要素
９００、１０００、１１００、１２００  オブジェクトを表現するテーブル
【図１】
2009093645.tif 000003
【図２】
2009093645.tif 000004
【図３】
2009093645.tif 000005
【図４】
2009093645.tif 000006
【図５】
2009093645.tif 000007
【図７】
2009093645.tif 000008
【図８】
2009093645.tif 000009
【図９】
2009093645.tif 000010
【図１０】
2009093645.tif 000011
【図１１】
2009093645.tif 000012
【図１２】
2009093645.tif 000013
【図１３】
2009093645.tif 000014
【図１４】
2009093645.tif 000015
【図１５】
2009093645.tif 000016
【図６】
2009093645.tif 000017