(57)【要約】【課題】透明オブジェクトのレンダリング・システムおよび方法を提供する。【解決手段】先ず、複数のオブジェクトを含む電子ドキュメントが受信される。次に、電子ドキュメントが解析され、透明度表が生成される。生成された透明度表は、それぞれのオブジェクトの透明度に対応するエントリを含む。次に、それぞれのオブジェクトは、対応する透明度表エントリにしたがって、処理される。このような処理を経て、受信された電子ドキュメントがレンダリングされる。【選択図】図５
2008299845.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトを含む電子ドキュメントを受信する手段と、
この手段によって受信された前記電子ドキュメントを解析し、前記複数のオブジェクトの透明度特性に対応するエントリを有する透明度表を生成する解析手段と、
前記透明度表の対応するエントリにしたがって、前記複数のオブジェクトのそれぞれを処理することによって前記受信された電子ドキュメントのレンダリングを実行する手段と
を有することを特徴とする透明オブジェクトのレンダリング・システム。
【請求項２】
関連する背景に対応する走査線と、関連する画素データに対応する走査線とを含む走査線表現を前記複数のオブジェクトのそれぞれについて生成する手段を、さらに、有することを特徴とする請求項１に記載の透明オブジェクトのレンダリング・システム。
【請求項３】
第１の透明度グループおよび第２の透明度グループを生成する手段と、
複数の不透明マスク・オブジェクトの走査線表現を生成する手段とを、さらに、有し、
前記第１の透明度グループは、レンダリングが実行されるオブジェクトを含み、
前記第２の透明度グループは、アルファ・マスクを含むことを特徴とする請求項１に記載の透明オブジェクトのレンダリング・システム。
【請求項４】
それぞれのオブジェクトの色データに対応する画素マップを生成する手段と、
それぞれのオブジェクトの不透明度データに対応する画素マップを生成する手段と
を、さらに、有することを特徴とする請求項１に記載の透明オブジェクトのレンダリング・システム。
【請求項５】
ドキュメントのレンダリング動作に関連して利用可能なメモリを表すデータを受信するメモリ状態受信手段と、
このメモリ状態受信手段の出力にしたがって、選択的にオブジェクトのレンダリングを再び実行する手段と
を、さらに、有することを特徴とする請求項４に記載の透明オブジェクトのレンダリング・システム。
【請求項６】
レンダリングが実行された画素を追跡する追跡手段と、
この追跡手段の出力にしたがってレンダリング動作を制御する手段と
を、さらに、有することを特徴とする請求項５に記載の透明オブジェクトのレンダリング・システム。
【請求項７】
前記透明度表はスタックからなり、
前記解析手段は、前記複数のオブジェクトのうち他方のオブジェクトに入れ子になったオブジェクトを含む、それぞれのオブジェクトに対するスタック・エントリを繰り返し生成する手段を含むことを特徴とする請求項１に記載の透明オブジェクトのレンダリング・システム。
【請求項８】
複数のオブジェクトを含む電子ドキュメントを受信するステップと、
受信された前記電子ドキュメントを解析し、前記複数のオブジェクトの透明度特性に対応するエントリを有する透明度表を生成する解析ステップと、
前記透明度表の対応するエントリにしたがって、前記複数のオブジェクトのそれぞれを処理することによって前記受信された電子ドキュメントのレンダリングを実行するステップと
を含むことを特徴とする透明オブジェクトのレンダリング方法。
【請求項９】
関連する背景に対応する走査線と、関連する画素データに対応する走査線とを含む走査線表現を前記複数のオブジェクトのそれぞれについて生成するステップを、さらに、含むことを特徴とする請求項８に記載の透明オブジェクトのレンダリング方法。
【請求項１０】
第１の透明度グループおよび第２の透明度グループを生成するステップと、
複数の不透明マスク・オブジェクトの走査線表現を生成するステップとを、さらに、含み、
前記第１の透明度グループは、レンダリングが実行されるオブジェクトを含み、
前記第２の透明度グループは、アルファ・マスクを含むことを特徴とする請求項８に記載の透明オブジェクトのレンダリング方法。
【請求項１１】
それぞれのオブジェクトの色データに対応する画素マップを生成するステップと、
それぞれのオブジェクトの不透明度データに対応する画素マップを生成するステップと
を、さらに、含むことを特徴とする請求項８に記載の透明オブジェクトのレンダリング方法。
【請求項１２】
ドキュメントのレンダリング動作に関連して利用可能なメモリを表すデータを受信するステップと、
この利用可能なメモリを表すデータを受信するステップの出力にしたがって、選択的にオブジェクトのレンダリングを再び実行するステップと
を、さらに、含むことを特徴とする請求項１１に記載の透明オブジェクトのレンダリング方法。
【請求項１３】
レンダリングが実行された画素を追跡する追跡ステップと、
この追跡ステップの出力にしたがってレンダリング動作を制御するステップと
を、さらに、含むことを特徴とする請求項１２に記載の透明オブジェクトのレンダリング方法。
【請求項１４】
前記透明度表はスタックからなり、
前記解析ステップは、前記複数のオブジェクトのうち他方のオブジェクトに入れ子になったオブジェクトを含む、それぞれのオブジェクトに対するスタック・エントリを繰り返し生成するステップを含むことを特徴とする請求項８に記載の透明オブジェクトのレンダリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子ドキュメントのレンダリング・システムおよび方法に関し、特に、透明オブジェクトのレンダリング・システムおよび方法に関する。
【背景技術】
【０００２】
現在、電子ドキュメントは、多様なソフトウェア・アプリケーションによって生成されており、このようなアプリケーションには、ワード・プロセシング、画像処理、写真編集、コンピュータ支援設計、画像走査、ファクシミリ送信、図面等が含まれる。このようなアプリケーションの多くは、レンダリングをサポートし、有形ドキュメント出力を生成する。通常の出力は、レーザープリンタ、インク・ジェット・プリンタまたは他のドット・マトリックス出力装置における、画素ベースまたはビットマップのレンダリングを含む。
【０００３】
より新たな世代のドキュメント出力フォーマットは、さらに、ますます複雑な属性を記述するような情報を含み、これらはドキュメント提供装置によって処理される必要がある。例えば、米国マイクロソフト社のWindows（登録商標）の最近のバージョンでは、その実施において拡張可能なマークアップ言語（ＸＭＬ）を用いることができる。さらに、このようなオペレーティング・システムでは、そのプリンタ・フォーマットとしてＸＭＬページ仕様（ＸＰＳ）を用いることができる。ＸＰＳフォーマットは、個々のエレメントとしてのキャンバスの入れ子になったインスタンスにおいてレンダリングされる透明なオブジェクトを特定する。
【０００４】
任意のＸＰＳファイルは、潜在的に透明なオブジェクトを含むことができる。しかしながら、ページの開始点には、対象となっているページが透明なオブジェクトを含むか否かの表示がない。透明性は、透明なオブジェクトに遭遇するようなポイントでのみ特定できるに過ぎない。したがって、それぞれの印刷ファイルは、透明ページとして扱われなければならないが、透明ページとしての処理は大容量のメモリを必要とする。しかし、通常の画像装置あるいはドキュメント処理装置に関連するラスタ画像プロセッサでは、利用可能なメモリの容量は限られているため、それぞれの印刷ページを透明ページとして取り扱うことは困難または不可能である。
【０００５】
したがって、このような問題点を解決し、メモリ効率良く、透明オブジェクトを含むドキュメントのレンダリングを実行可能とするシステムおよび方法が望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の従来の問題点に鑑みてなされたもので、透明オブジェクトのレンダリング・システムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による透明オブジェクトのレンダリング・システムは、複数のオブジェクトを含む電子ドキュメントを受信する手段を有する。また、本システムは、受信された電子ドキュメントを解析する解析手段を有し、この解析手段は、前記複数のオブジェクトの透明度特性に対応するエントリを有する透明度表を生成する手段を含む。さらに、本システムは、透明度表の対応するエントリにしたがって、複数のオブジェクトのそれぞれを処理することによって受信された電子ドキュメントのレンダリングを実行する手段を有する。
【０００８】
本発明の一実施形態において、本システムは、関連する背景（backdrop）に対応する走査線と、関連する画素データに対応する走査線とを含む走査線表現（representation）を複数のオブジェクトのそれぞれについて生成する手段を、さらに、有する。
【０００９】
本発明の別の実施形態において、本システムは、それぞれのオブジェクトの色データに対応する画素マップを生成する手段と、それぞれのオブジェクトの不透明度データ（opacity data）に対応する画素マップを生成する手段とを、さらに、有する。
【００１０】
本発明のさらに別の実施形態において、本システムは、ドキュメントのレンダリング動作に関連して利用可能なメモリを表すデータを受信するメモリ状態受信手段と、このメモリ状態受信手段の出力にしたがって、選択的にオブジェクトのレンダリングを再び実行する手段とを、さらに、有する。
【００１１】
本発明のさらなる実施形態において、本システムは、レンダリングが実行された画素を追跡する追跡手段と、追跡手段の出力にしたがってレンダリング動作を制御する手段とを、さらに、有する。
【００１２】
本発明の別の実施形態において、透明度表はスタックからなり、解析手段は、複数のオブジェクトのうち他方のオブジェクトに入れ子になったオブジェクトを含むそれぞれのオブジェクトに対するスタック・エントリを繰り返し生成する手段を含む。
【００１３】
本発明の別の実施形態において、さらに、本システムは、第１の透明度グループおよび第２の透明度グループを生成する手段と、複数の不透明マスク・オブジェクトの走査線表現を生成する手段とを、さらに、有し、第１の透明度グループは、レンダリングが実行されるオブジェクトを含み、第２の透明度グループは、アルファ・マスクを含む。ＸＰＳにおける不透明マスクは、特別な形のブラシであって、ブラシ色を使用する代わりに、不透明マスクは、ある画素位置において不透明値を与える。
【００１４】
本発明による透明オブジェクトのレンダリング方法は、複数のオブジェクトを含む電子ドキュメントを受信するステップと、受信された電子ドキュメントを解析し、複数のオブジェクトの透明度特性に対応するエントリを有する透明度表を生成する解析ステップと、透明度表の対応するエントリにしたがって、複数のオブジェクトのそれぞれを処理することによって受信された電子ドキュメントのレンダリングを実行するステップとを含む。
【発明の効果】
【００１５】
本発明によれば、透明オブジェクトのレンダリング・システムおよび方法が提供される。
【発明を実施するための最良の形態】
【００１６】
以下、適宜、図面を参照しながら本発明による実施形態の説明を行う。図１は本発明による実施形態が適用される透明オブジェクトのレンダリング・システム全体の構成例である。図に示したシステム１００は、コンピュータ・ネットワーク１０２として表されている分散コンピューティング環境を利用している。コンピュータ・ネットワーク１０２は、複数の電子装置間におけるデータの交換を可能とする本技術分野で知られている任意の分散通信システムである。コンピュータ・ネットワーク１０２は、例えば、仮想ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク、インターネット、イントラネット、またはそれらの任意の組み合わせを含む本技術分野で知られている任意のコンピュータ・ネットワークである。本発明による一実施形態において、コンピュータ・ネットワーク１０２は、例えば、トークン・リング、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（登録商標）、公衆交換電話網、専用通信ネットワーク、赤外線接続、光接続、または、本技術分野において知られている他の適切な有線または無線のデータ通信チャネルがある。
【００１９】
本発明による実施形態において、ドキュメント処理装置１０４は、さらに、ドキュメント処理装置１０４による処理動作を容易にする適切なコントローラ１０８として示したバックエンド・コンポーネントを内蔵している。コントローラ１０８は、ドキュメント処理装置１０４の動作を制御し、あるいはユーザ・インターフェイス１０６を介した画像の表示を円滑に行い、または、電子画像データの操作を指示する等の処理を容易にするように構成されたハードウェア、ソフトウェアあるいはこれらの適切な組み合わせによって実装される。以下の説明においては、コントローラ１０８という用語は、後に述べる動作を実行し、もしくは実行させ、もしくは制御し、またはその他の方法で指示するように機能するハードウェア、ソフトウェア、またはこれらの組み合わせを含むドキュメント処理装置１０４と関連する任意の多数のコンポーネントの意味で、使用する。なお、図および上記の説明において、コントローラ１０８をドキュメント処理装置１０４に内蔵された形態としたが、コントローラ１０８は、ドキュメント処理装置１０４に通信可能に接続された外部装置の形態であってもよい。コントローラ１０８との関連において説明を行う処理動作は、本技術分野において知られている任意の汎用コンピューティング・システムによって実行可能である。したがって、コントローラ１０８は、このような汎用的なコンピューティング装置を表しており、以下の説明において使用する際にも、そのように意図されている。さらに、以下におけるコントローラ１０８の使用は、例としての実施形態にすぎず、当業者には明らかな他の実施形態も、本発明の一実施形態による透明オブジェクトのレンダリング・システムおよび方法を用いることができる。コントローラ１０８の構成等については、後ほど図２と図３を参照しながら説明を行う。
【００２０】
また、ドキュメント処理装置１０４にはデータ記憶装置１１０が通信可能に接続されている。データ記憶装置１１０は、例えば、ハードディスク・ドライブ、その他の磁気記憶装置、光学式記憶装置、フラッシュ・メモリまたはそれらの任意の組み合わせを含む本技術分野で知られている大容量記憶装置である。一実施形態においては、データ記憶装置１１０は、ドキュメント・データ、画像データ、画像マップ・データ、不透明度データ、色データ、電子データベースのデータ等を保存するように適切に適合されている。データ記憶装置１１０は、図においてはシステム１００の独立したコンポーネントとして例示されているが、例えば、内蔵ハードディスク・ドライブ等のような、ドキュメント処理装置１０４の内部記憶装置、あるいはコントローラ１０８のコンポーネント等として実装することができる。
【００２１】
システム１００は、さらに、通信リンク１１８を介してコンピュータ・ネットワーク１０２とデータ通信可能なユーザ装置１１４を含む。図においてはユーザ装置１１４をデスクトップ形パーソナル・コンピュータとして示しているが、これは例示にすぎない。ユーザ装置１１４は、例えば、コンピュータ・ワークステーション、ノート形パーソナル・コンピュータ、ＰＤＡ（Personal Digital Assistant、携帯情報端末）、ウェブ適合（web-enabled）携帯電話、スマートフォン、専用ネットワーク用の電子装置、またはその他のウェブ適合電子装置を含む本技術分野において知られている任意のパーソナル・コンピューティング装置を表している。通信リンク１１８は、無線通信に限定されず、例えば、Bluetooth（登録商標）、WiMax、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、専用通信ネットワーク、赤外線接続、光接続、公衆交換電話網、または、本技術分野において知られている他の適切な無線または有線のデータ通信チャネルである。ユーザ装置１１４は、電子ドキュメント、ドキュメント処理インストラクション、ユーザ・インターフェイスの修正、アップグレード、更新、またはパーソナル化データ等を生成し、生成されたデータ等を、ドキュメント処理装置１０４あるいはコンピュータ・ネットワーク１０２に接続された他の類似装置に送る。ユーザ装置１１４の構成等については、図４を参照しながら後ほど説明を行う。
【００２２】
また、ユーザ装置１１４にはデータ記憶装置１１６が通信可能に接続されている。データ記憶装置１１６は、例えば、ハードディスク・ドライブ、その他の磁気記憶装置、光学式記憶装置、フラッシュ・メモリまたはそれらの任意の組み合わせを含む本技術分野で知られている大容量記憶装置である。一実施形態においては、データ記憶装置１１６は、オペレーティング・システム、コンパクト・マークアップ・ページ表示データ、ドキュメント出力ドライバ、アプリケーション、ドキュメント・データ、画像データ、電子データベースのデータ等を保存するように適切に適合されている。データ記憶装置１１６は、図においてはシステム１００の独立したコンポーネントとして例示されているが、例えば、内蔵ハードディスク・ドライブ等のような、ユーザ装置１１４の内部記憶コンポーネント等として実装することができる。
【００２３】
次に、図２および図３を参照しながら、本発明による実施形態におけるシステムの動作が実行されるコントローラのハードウェアおよび機能構成等を説明する。図２に本発明による実施形態においてシステム１００の動作が実行されるバックエンド・コンポーネント、すなわち、図１においてはコントローラ１０８として示したコントローラ２００のハードウェア・アーキテクチャの構成例を説明するための図を示す。尚、図においては、コントローラの構成要素の意義をより明確にするため、参照符号２３２で表した、コントローラ以外のドキュメント処理装置の構成要素の一部を併せて示している。コントローラ１０８は、本明細書に記載する動作を円滑に実行する能力を有する、本技術分野において知られている任意の汎用的なコンピューティング装置を表している。コントローラ２００には、少なくとも一つのＣＰＵを含むプロセッサ２０２が含まれている。プロセッサ２０２は、互いに協調して動作する複数のＣＰＵから構成されることもある。また、コントローラ２００には、ＢＩＯＳ機能、システム機能、システム構成データおよびコントローラ２００の動作に使用する他のルーチンもしくはデータ等の静的または固定的なデータ、あるいはインストラクションのために有効に使用される、不揮発性または読出し専用メモリ（ＲＯＭ）２０４が含まれている。
【００２４】
また、コントローラ２００には、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、または他の任意の適切なアドレス指定可能かつ書込み可能なメモリ・システムから構成されるＲＡＭ２０６が含まれている。ＲＡＭ２０６は、プロセッサ２０２により処理されるアプリケーションおよびデータ処理に関係するデータ・インストラクションのための記憶領域を提供する。
【００２５】
ストレージ・インターフェイス２０８は、コントローラ２００に関連するデータの不揮発性保存、大容量保存または長期的な保存のためのメカニズムを提供する。ストレージ・インターフェイス２０８は、引用符号２１６で示したディスク・ドライブ、あるいは光学式ドライブ、テープ・ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大容量記憶装置の他、当業者に知られている適切な任意の記憶媒体を使用する。
【００２６】
ネットワーク・インターフェイス・サブシステム２１０は、ネットワークとの間の入出力を適切にルーティングすることによって、コントローラ２００が他の装置と通信することを可能にする。ネットワーク・インターフェイス・サブシステム２１０は、コントローラ２００に対する外部装置との一つまたは複数のコネクションのインターフェイスを適切にとる。図においては、例えば、Ethernet（登録商標）、トークン・リング等の固定または有線ネットワークとのデータ通信のための少なくとも一つのネットワーク・インターフェイス・カード２１４、およびWiFi（Wireless Fidelity）、WiMax、無線モデム、セルラ・ネットワークまたは適切な任意の無線通信システム等の手段を介した無線通信のために適切な無線インターフェイス２１８を示している。ネットワーク・インターフェイス・サブシステム２１０は、任意の物理的データ転送レイヤあるいは物理的データ転送レイヤではないデータ転送レイヤまたはプロトコル・レイヤを適切に利用する。図においては、ネットワーク・インターフェイス・カード２１４は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはそれらの組合せから適切に構成される物理的ネットワーク２２０を介したデータ交換を行うために、相互接続されている。
【００２７】
プロセッサ２０２、読出し専用メモリ（ＲＯＭ）２０４、ＲＡＭ２０６、ストレージ・インターフェイス２０８およびネットワーク・インターフェイス・サブシステム２１０の間のデータ通信は、バス２１２によって例示したバス・データ転送メカニズムを介して行われる。
【００２８】
また、ドキュメント・プロセッサ・インターフェイス２２２もバス２１２を介してデータ通信を行う。ドキュメント・プロセッサ・インターフェイス２２２は、様々なドキュメント処理動作を実行するために、ドキュメント処理ハードウェア２３２との接続を提供する。そのようなドキュメント処理動作には、コピー・ハードウェア２２４によって実行されるコピー、画像走査ハードウェア２２６によって実行される画像走査、印刷ハードウェア２２８によって実行される印刷、およびファクシミリ・ハードウェア２３０によって実行されるファクシミリ通信が含まれる。コントローラ２００は、これらのドキュメント処理動作のいずれかまたは全部を適切に動作させる。複数のドキュメント処理動作を実行可能なシステムは、前述したように、ＭＦＰ（多機能周辺装置）または多機能装置と呼ばれる。システム１００の機能は、ドキュメント処理装置と関連するインテリジェント・サブシステムとして図２に示したコントローラ２００（図１におけるコントローラ１０８に対応）を含む、適切なドキュメント処理装置、例えば、ドキュメント処理装置１０４において実行される。
【００２９】
次に図３を参照しながらシステムの動作が実行されるコントローラの機能ブロックと動作の概要を説明する。図３に、本発明による実施形態のシステム１００の動作が実行されるコントローラの機能ブロックの構成例を説明するための図を示す。尚、図３においても、コントローラの機能要素の意義をより明確にするため、コントローラ以外のドキュメント処理装置の機能要素の一部を併せて示している。コントローラ機能３００は、ドキュメント処理エンジン３０２を含む。図３は、ソフトウェアおよびオペレーティング・システム機能と関連して、図２に示したハードウェアの機能性を例示している。
【００３０】
一実施形態において、ドキュメント処理エンジン３０２は、印刷動作、コピー動作、ファクシミリ通信動作および画像走査動作を可能にする。これらの機能は、産業界において一般に好まれるドキュメント処理周辺装置であるＭＦＰと関連付けられることが多い。しかし、コントローラが上記のドキュメント処理動作のすべてを可能にする必要は必ずしもない。コントローラは、上記のドキュメント処理動作のサブセットである、専用のドキュメント処理装置、あるいはより限定した目的のドキュメント処理装置においても有効に用いられる。
【００３１】
ドキュメント処理エンジン３０２はユーザ・インターフェイス・パネル３１０と適切にインターフェイスされており、ユーザまたは管理者は、このユーザ・インターフェイス・パネル３１０を介して、ドキュメント処理エンジン３０２によって制御される機能にアクセスすることができる。アクセスは、コントローラへのローカルに接続されたインターフェイスを介して行われるか、遠隔のシン・クライアント（thin client）またはシック・クライアント（thick client）によって遠隔から行われる。
【００３２】
ドキュメント処理エンジン３０２は、印刷機能部３０４、ファクシミリ通信機能部３０６および画像走査機能部３０８とデータ通信を行う。これらの機能部は、印刷、ファクシミリの送受信、およびドキュメント画像をコピーのために取得するか、またはドキュメント画像の電子バージョンを生成するための、ドキュメント画像走査の実際の処理動作を容易にする。
【００３３】
ジョブ・キュー（job queue）３１２は、印刷機能部３０４、ファクシミリ通信機能部３０６および画像走査機能部３０８とデータ通信を行う。ビットマップ・フォーマット、ページ記述言語（ＰＤＬ）フォーマットまたはベクター・フォーマット等の種々の画像形式は、画像走査機能部３０８からジョブ・キュー３１２を介して以降の処理のために中継される。
【００３４】
ジョブ・キュー３１２は、また、ネットワーク・サービス機能部３１４ともデータ通信を行う。一実施形態において、ジョブ制御信号、状態データまたは電子ドキュメント・データが、ジョブ・キュー３１２とネットワーク・サービス機能部３１４との間で交換される。このように、適切なインターフェイスが、クライアント側ネットワーク・サービス機能３２０を介したコントローラ機能３００へのネットワーク・ベースのアクセスのために設けられ、それは任意の適切なシン・クライアントまたはシック・クライアントである。一実施形態において、ウェブ・サービス・アクセスは、ハイパーテキスト転送プロトコル（HTTP）、ファイル転送プロトコル（FTP）、ユニフォーム・データ・ダイアグラム・プロトコルまたは他の任意の適切な交換メカニズムによって実行される。ネットワーク・サービス機能部３１４は、また、ＦＴＰ、電子メール、テルネット（TELNET）等による通信のために、クライアント側ネットワーク・サービス機能３２０とのデータ交換も有効に提供する。このように、コントローラ機能３００は、種々のネットワーク・アクセス・メカニズムによって、電子ドキュメントおよびユーザ情報のやり取りを容易にする。
【００３５】
ジョブ・キュー３１２は、また、画像プロセッサ３１６ともデータ通信を行う。画像プロセッサ３１６は、印刷機能部３０４、ファクシミリ通信機能部３０６または画像走査機能部３０８等の装置機能部と、電子ドキュメントを交換するために適したフォーマットに変換するラスタ画像処理（ＲＩＰ）、ページ記述言語インタープリタまたは任意の適切な画像処理を行うメカニズムである。
【００３６】
最後に、ジョブ・キュー３１２はジョブ解析部（job parser）３１８とデータ通信を行い、このジョブ解析部３１８はクライアント装置サービス部３２２等の外部装置からの印刷ジョブ言語ファイルを受け取る働きをする。クライアント装置サービス部３２２は、電子ドキュメントの印刷、ファクシミリ通信、またはコントローラ機能３００による処理が有効である他の適切な電子ドキュメントの入力を含む。ジョブ解析部３１８は、受け取った電子ドキュメント・ファイルを解析し、前述した機能およびコンポーネントと関連する処理のために、解析した電子ドキュメント・ファイル情報をジョブ・キュー３１２に中継する働きをする。
【００３７】
次に、図４を参照しながら、本発明による実施形態におけるシステムの動作が実行される、図１においてはユーザ装置１２４として示した、ワークステーション４００のハードウェア構成を説明する。図４に本発明による実施形態におけるワークステーション４００のハードウェア・アーキテクチャの構成例を示す。ワークステーション４００は、不揮発性または読出し専用メモリ（ＲＯＭ）４０４、ＲＡＭ４０６、表示インターフェイス４０８、ストレージ・インターフェイス４１０、およびネットワーク・インターフェイス・サブシステム４１２とデータ通信可能に配置された、少なくとも一つのＣＰＵから構成されるプロセッサ４０２を含む。プロセッサ４０２は、互いに協調して動作する複数のＣＰＵから構成されることもある。一実施形態においては、読出し専用メモリ（ＲＯＭ）４０４等のモジュールへのインターフェイスは、バス４１４を介して、実行される。
【００３８】
読み出し専用メモリ（ＲＯＭ）４０４は、静的なデータやＢＩＯＳのような固定的なデータ等のファームウェア、システム機能、システム構成データ、およびプロセッサ４０２によってワークステーション４００の動作に使用される他のルーチンを保存する。
【００３９】
ＲＡＭ４０６は、プロセッサ４０２により処理されるアプリケーションおよびデータ処理に関係するデータとインストラクションのための記憶領域を提供する。
【００４０】
表示インターフェイス４０８は、バス４１４に接続された他のコンポーネントからデータまたはインストラクションを受け取る。表示インターフェイス４０８が受け取るデータは、ユーザ・インターフェイスに有用な表示に関するデータである。表示インターフェイス４０８は、例えば、モニタ、ＬＣＤ、プラズマ・ディスプレイまたは他の適切な視覚出力装置等のビデオ表示装置である表示モニタ４２８に出力を供給する。
【００４１】
ストレージ・インターフェイス４１０は、ワークステーション４００に関連するデータまたはインストラクションの不揮発性保存、大容量保存または長期的な保存のためのメカニズムを提供する。ストレージ・インターフェイス４１０は、引用符号４１８で示したディスク・ドライブ、テープ・ドライブ、あるいは光学式ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大容量記憶装置等の記憶メカニズムを使用する。
【００４２】
ネットワーク・インターフェイス・サブシステム４１２は、例えば、ネットワーク・インターフェイス・カード４２０として図示した少なくとも１つのネットワーク・インターフェイスと、WiFi無線ネットワークカード等の無線インターフェイス４３０と通信を行う。ネットワーク・インターフェイス・サブシステム４１２は、物理レイヤとプロトコル・レイヤの両方から構成され、また、Ethernet（登録商標）、トークン・リング、他のワイド・エリア・ネットワークまたはローカル・エリア・ネットワーク通信システム等の任意の有線システム、あるいはWiFi、WiMax、他の適切な無線ネットワーク通信システム等の無線システムを介して、ワークステーション４００が他の装置と通信することを可能にする。図においては、ネットワーク・インターフェイス・カード４２０は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはそれらの組合せから適切に構成される物理的ネットワーク４３２を介したデータ交換を行うために、相互接続されている。
【００４３】
バス４１４とデータ通信を行う入出力インターフェイス４１６は、キーボード４２２等の入力装置と接続されている。また、入出力インターフェイス４１６は、ＵＳＢインターフェイス、ＳＣＳＩインターフェイス、IEEE1394インターフェイス等の周辺装置インターフェイス４２４、あるいは特定の用途に適した任意の他のインターフェイスに、データ出力を供給する。さらに、入出力インターフェイス４１６は、マウス、ライト・ペン、タッチ・スクリーン等の装置と接続するために、ポインティング・デバイス・インターフェイス４２６とデータ通信を行う。
【００４４】
次に、本発明における動作の概要を説明する。先ず、複数のオブジェクトを含む電子ドキュメントが受信される。次に、透明度表（transparency table）を生成するために、電子ドキュメントが解析される。生成される透明度表は、それぞれのオブジェクトの透明度に対応するエントリを含む。ここで、一実施形態において、透明度表はスタックから構成される。それぞれのオブジェクトは、次に、対応する透明度表エントリにしたがって、処理される。このようにして、レンダリングされたドキュメントを生成するために、受信された電子ドキュメントはレンダリングされる。
【００４５】
本発明による例示的な一実施形態においては、先ず、複数のオブジェクトを含む電子ドキュメントが受信され、受信された電子ドキュメントは、それぞれのオブジェクトの特性に対応する透明度スタック（transparency stack）を生成するために、解析される。このようにして受信された電子ドキュメントが拡張可能なマークアップ言語ページ仕様（ＸＰＳ）ドキュメントに該当する場合、オブジェクトは、例えば、キャンバス（canvases）およびエレメント等を含む。受信された電子ドキュメントは、電子ドキュメントに含まれるそれぞれのオブジェクトの特性に対応する透明度スタックを生成するために、解析される。次に、受信された電子ドキュメントに関連する別のオブジェクトに入れ子になったオブジェクト（nested object）を含む、それぞれのオブジェクトについて、スタック・エントリが、繰り返し生成される。スタック・エントリの反復生成は、入れ子になったキャンバスおよびエレメントの記録の保存を可能にし、特定の親のキャンバスが、透明なオブジェクトである如何なる子供のエレメントを含むことを示す。本発明の一実施形態によると、特定の属性あるいは特性は、特定のエレメントが不透明または透明な、例えば表示フラグとして、レンダリングされるか否かを示すために用いられる。
【００４６】
次に、受信された電子ドキュメントに含まれるそれぞれのオブジェクトに関連する走査線表現（representation）が生成される。生成される走査線表現は、例えば、キャンバスのレンダリングにおける透明なオブジェクトおよび透明度グループのレンダリング動作の中間走査線ベースの表現に対応する。本発明による一実施形態においては、レンダリング動作が行われるとき、２つの補助走査線がそれぞれのグループに対して生成される。ここで、２つの補助走査線は、それぞれ、関連する背景（backdrop）および関連する画素データに対応する。すなわち、一方の補助走査線は背景に対して生成され、もう一方の補助走査線は、２つの走査線の間で色を配合する前に、新たに作成された画素情報をレンダリングするために生成される。
【００４７】
レンダリングされるオブジェクトが、ドキュメントにおいて複数のインスタンスを繰り返す、タイル状の透明オブジェクトである場合には、第１の画素マップが、それぞれのオブジェクトに関連する色データに対応して生成され、次いで、第２の画素マップが、それぞれのオブジェクトに関連する不透明度データ（opacity data）に対応して生成される。第２の画素マップを作成する前に、第２の画素マップの作成に関連して利用可能なメモリを示すメモリ・データが受信され、オブジェクトは、受信した利用可能なメモリ・データに基づいて選択的にレンダリングされる。本発明による一実施形態においては、タイル状のオブジェクトが予め定めた幅と高さの制約を越えている場合には、画素マップを作成する代わりに、オブジェクトは、複数のインスタンスとして再びレンダリングされる。次に、レンダリングが実行された画素は追跡され、レンダリング動作の制御は追跡された画素に基づいて行われる。その後、それぞれのオブジェクトは、それに対応する透明度表エントリにしたがって、処理される。次いで、受信された電子ドキュメントがドキュメント処理装置１０４によってレンダリングされる。
【００４８】
本発明による特定の一実施形態においては、例えば、ユーザ装置１１４にインストールされている適切なソフトウェア・ドライバまたはアプリケーションから、ドキュメント処理装置１０４のコントローラ１０８等によって電子ドキュメントが受信されると、受信されたドキュメントは、ドキュメント処理装置１０４の適切なコンポーネントによって、解析される。次に、透明度表または透明度スタックが、電子ドキュメントに含まれているそれぞれのオブジェクトの特性または属性に対応して、初期化される。次いで、不透明度属性が現在のオブジェクトに対して設定され、オブジェクトに関するスタック・エントリが透明度スタック内に生成される。次に、オブジェクトが入れ子になったエレメントを含むか否かが判断される。入れ子になったエレメントが含まれていると判断された場合、不透明度属性がそれぞれのエレメントに対して設定され、対応するスタック・エントリが透明度スタックに含まれる。例えば、フラグが設定され、エレメント等に関連するキャンバス内における不透明度属性の存在を示す。
【００４９】
このような例示的な実施形態において、透明オブジェクトをレンダリングする場合、先ず、解析された第１のオブジェクトがキャンバス・エレメントであるか否かが判断される。キャンバス・エレメントは、エレメントをユニットにグループ化するか、またはユニットの子供または祖先それぞれに、例えば不透明度等の特性を適用するために、例えば、経路（paths）、グリフ（glyphs）または他のキャンバス・エレメント等の他のエレメントとグループを構成する。解析された第１のオブジェクトがキャンバス・エレメントである場合、不透明度設定または不透明度属性が設定されているかが判断される。判断が肯定的な場合には、透明度グループが生成される。その後、キャンバス・エレメントは、そのキャンバスに関連する色属性および不透明度属性を用いて描画される。
【００５０】
不透明度属性が設定されていない場合、キャンバス・エレメントは、不透明オブジェクトに関連した色属性および不透明度属性を用いて描画される。次に、この透明度グループに関する処理は終了し、別のキャンバスが処理されずに残っているか否かが判断される。例えば、受信された電子ドキュメントが追加のキャンバスを含むような場合のように、未処理の別のキャンバスが存在していると判断されると、オブジェクトに関連するカスタム不透明度属性が読み出され、不透明度設定状態を特定する。すなわち、追加のキャンバス・オブジェクトは分析され、少なくとも１つの透明オブジェクトの存在を示すフラグがあるかが判断される。この判断に基づいて、透明度グループが先ず生成されるか、またはその追加のキャンバスに対応する関連する色属性と不透明度属性を用いてキャンバス・エレメントが描画される。
【００５１】
未処理の追加のキャンバスが受信された電子ドキュメントに残っていないと判断された場合には、以前に処理されたキャンバス上に、最近処理されたキャンバスが描画またはペイントされるべきかが判断される。この判断にしたがって、その後、最近処理されたキャンバスが、以前に処理されたキャンバス上に描画されるか、または背景に描画される。
【００５２】
受信された電子ドキュメントから解析されたオブジェクトがキャンバス・オブジェクトではない場合、エレメントが不透明度、すなわちエレメントに関連する透明度を有するか否かが判断される。エレメントが不透明度の特徴を含む場合、エレメントの不透明度属性はグラフィック状態で保存される。エレメントが透明度を示す不透明設定を欠く場合には、エレメントがブラシ不透明度を含むかが判断される。ブラシ不透明度が検出されると、エレメントの不透明値が適切な色空間において設定され、透明度がドキュメント提供装置１０４に関するレンダリング・ルーチンに設定される。このような設定動作に続いて、エレメントがタイル状であるか否かが判断される。エレメントがタイル状ではないと判断された場合、エレメントの走査線表現が付け加えられ、エレメントの不透明度はグラフィック状態で再保存される。
【００５３】
エレメントがタイル状であると判断された場合には、タイル状のエレメントがブラシ不透明度を有するか否かが、さらに、判断される。否定的な判断がなされた場合は、単一の画素マップが生成される。一方、肯定的な判断がなされた場合には、例えば、一つは不透明度用の画素マップ、もう一つは色用の画素マップのように、２つの画素マップが生成される。画素マップは、この例において使用されているように、最終的なページ表現に直接的にレンダリングされない画素を記録するための手段に該当する。本発明の一実施形態によると、画素マップは、タイル状の形態および形式のために使用されるとともに、例えばＸＰＳ仕様のような所定のページ記述言語で表現されたタイル状の画像に使用される。例えば０を超え１未満の不透明値のような、画素に関する不透明度情報が存在する場合、あるいはアルファ・チャネルが画像に存在する場合には、関連する不透明度画素マップが生成される。次に、エレメントの走査線表現が付け加えられ、エレメントの不透明度はグラフィック状態で再保存される。
【００５４】
本発明による前述した実施形態においては、受信された電子ドキュメントに関連する画像がタイル状の画像ではない場合、直接的なレンダリング経路が電子ドキュメントの出力に使用される。電子ドキュメントがタイル状の画像を含む場合、例えば、不透明度が前述した０より大きく１より小さい値の範囲内にあるかというような、画像の不透明度が判断される。不透明値がこの範囲外であり、かつアルファ・チャネルが画像に存在しない場合、単一の画素マップが生成され、その単一の画素マップを用いたレンダリングが実行される。
【００５５】
不透明値が前述した不透明度の範囲にある場合は、画像が入れ子になったタイルを含むか否かが判断される。入れ子になったタイルがタイル画像内に存在しない場合には、レンダリングされる画像の大きさに関する判断が行われる。タイル状の画像の大きさが、例えば、６００×８００を越えると、ドキュメント処理装置１０４のメモリの消耗を回避するために、直接的なレンダリング経路が使用される。入れ子になったタイルがタイル画像内に存在するか、または画像が予め定められた大きさを越えない場合には、単一の画素マップが生成される。その後、コントローラ１０８、またはドキュメント処理装置１０４に関連する他の適切なコンポーネントは、システム・メモリまたはレンダリングに割り当てられたメモリが使い果たされているか否かを判断する。メモリが使い果たされている場合、タイル状の画像は、単一の画素マップを用いてレンダリングされる。メモリがレンダリング用にまだ利用可能である場合には、第２の画素マップが生成され、タイル状の画像は、例えば、一方が色用で、他方が不透明度用である２つの画素マップを用いてレンダリングされる。
【００５６】
最終ページまでレンダリングする際、第１の画素マップにおける色情報は、関連する第２の画素マップの不透明度情報を用いて、ページ色情報と配合される。不透明度情報をこのように切り離すことによって、メモリの消耗が生じた場合であっても、画像の処理を可能にし、例えば、透明度効果は無いが画像のレンダリングは可能なままにすることができる。さらに、より大きな画像については、上述した画素マップ・キャッシュの代わりに、直接的なレンダリング技術を用いて、システム・メモリのリソースの消耗を回避することができる。
【００５７】
以上、図１ないし図４を参照しながらシステム１００とその構成コンポーネントについて説明を行ったが、図５ないし図１０を参照しながら行う以下に述べる説明によって、それらの動作の理解がより深まるであろう。図５に、本発明による実施形態における透明オブジェクトのレンダリングを実行する基本的な動作例を表すフローチャートを示す。先ず、Ｓ５０２で、複数のオブジェクトを含む電子ドキュメントが受信される。本発明の一実施形態によると、電子ドキュメントは、ユーザ装置１１４から、コンピュータ・ネットワーク１０２を介して、ドキュメント処理装置１０４によって受信される。電子ドキュメントは、例えば、ＸＰＳフォーマットのドキュメントのような、適切なフォーマットの電子ドキュメントに対応する。Ｓ５０４で、例えば、ドキュメント処理装置１０４に関連するコントローラ１０８、ラスタ画像プロセッサ、専用の解析部等のような、適切なコンポーネントによって、受信された電子ドキュメントが解析される。
【００５８】
Ｓ５０６で、解析された電子ドキュメントに関連するそれぞれのオブジェクトの特性に対応して、透明度表あるいは透明度スタックが生成される。次にＳ５０８で、対応する透明度表エントリにしたがって、それぞれのオブジェクトが処理される。その後Ｓ５１０で、受信された電子ドキュメントは、処理されたオブジェクトにしたがって、ドキュメント処理装置１０４によって適切にレンダリングされる。
【００５９】
次に図６を参照しながら、本発明による実施形態における透明オブジェクトのレンダリングを実行する動作を詳細に説明する。図６に、本発明による実施形態における透明オブジェクトのレンダリングを実行する詳細な動作例を表したフローチャートを示す。先ず、Ｓ６０２で、複数のオブジェクトを含む電子ドキュメントが受信される。好ましくは、電子ドキュメントは、例えば、経路（paths）、グリフ（glyphs）およびキャンバスのようなドキュメントに関連するオブジェクトを含む、ＸＰＳフォーマットで受信される。次にＳ６０４で、ドキュメント処理装置１０４に関連する適切なコンポーネントによって、電子ドキュメントが解析される。次いでＳ６０６で、それぞれのオブジェクトに関連する特性に対応して、透明度スタックが生成される。次にＳ６０８で、入れ子になったオブジェクトを含むそれぞれのオブジェクトについて、スタック・エントリが繰り返し生成される。すなわち、別のオブジェクトに入れ子になった任意のオブジェクトを含むＸＰＳドキュメントに関連するそれぞれのオブジェクトについて、スタック・エントリが透明度スタックに生成される。
【００６０】
続いてＳ６１０で、それぞれのオブジェクトの走査線表現が生成される。レンダリングされるオブジェクトが、ドキュメント内で複数のインスタンスを繰り返す、タイル状のオブジェクトであるときは、それぞれのオブジェクトに関連する色データに対応する第１の画素マップが、Ｓ６１２で生成される。次いで、それぞれのオブジェクトに関連する不透明度データに対応する第２の画素マップが、Ｓ６１４で生成される。Ｓ６１６で、レンダリング動作に関連して利用可能なメモリを示すデータが受信される。このような利用可能なメモリは、ドキュメント処理装置１０４におけるレンダリング動作に利用可能なシステム・メモリに対応する。次にＳ６１８で、利用可能なメモリに基づいて、オブジェクトが選択的に再びレンダリングされる。次いでＳ６２０で、ドキュメント処理装置１０４は、コントローラ１０８または関連する他の適切なコンポーネントによって、レンダリング動作が実行された画素を追跡する。Ｓ６２２では、追跡に基づいて、コントローラ１０８またはドキュメント処理装置１０４の他の適切なコンポーネントが、追跡された画素に関するレンダリング動作の実行を制御する。次にＳ６２４で、受信された電子ドキュメントのそれぞれのオブジェクトは、それに関連する透明度スタック・エントリに対応して、処理される。その後Ｓ６２６で、電子ドキュメントのレンダリングが実行される。
【００６１】
以上述べた実施形態における動作は、図７ないし図１０に示すような拡張可能な様々なステップを含む。図７に、本発明による一実施形態において、透明度スタックを生成する動作例を表したフローチャートを示す。先ず、Ｓ７０２で、ドキュメント処理装置１０４において、透明度スタックが初期化される。例えば、スタックは、コントローラ１０８またはドキュメント処理装置１０４の他の適切なコンポーネントに関連する記憶装置に保存されている表である。Ｓ７０４で、エレメント識別データおよび対応する属性が、例えば、ドキュメント処理装置１０４のコントローラ１０８のラスタ画像プロセッサによって、読み出される。Ｓ７０６で、対応するエレメントにおける透明オブジェクトの存在を示す、例えばフラグのようなカスタム不透明度属性が、それぞれのエレメントについて設定される。
【００６２】
次に、それぞれのエレメントに関連する透明度スタック・エントリが、Ｓ７０８で更新され、カスタム属性の設定が反映される。Ｓ７１０で、現在のエレメントが入れ子になったエレメント（nested element）を含むか否かが判断される。入れ子になったエレメントが検出されると、処理はＳ７０４に戻り、入れ子になったエレメントに関連するエレメント識別データおよび属性データが確認され、入れ子になったエレメントについてカスタム不透明度属性が、Ｓ７０６で、設定される。処理動作は、以降、Ｓ７１０で、さらなる入れ子になったエレメントが検出されなくなるまで前述したように繰り返される。Ｓ７１０で、現在のエレメントが入れ子になったエレメントを含まないと判断されると、処理はＳ７１２に進み、以降のレンダリング動作において使用するため、更新された透明度スタックが、ドキュメント処理装置１０４に関連する記憶装置に保存される。
【００６３】
図８は、本発明の一実施形態にしたがって、透明オブジェクトのレンダリング・システムにおいてグループ分けされたエレメントを処理する動作例を示すフローチャートである。先ず、Ｓ８０２で、受信された電子ドキュメントのエレメントがグループ分けされたエレメント、例えばキャンバス・エレメントに該当するか否かが判断される。エレメントがキャンバス・エレメントではない場合における動作については、後ほど図９を参照しながら説明を行う。エレメントがキャンバス・エレメントである場合、処理はＳ８０４に進み、エレメントに関連するカスタム不透明度属性またはフラグが読み出され、Ｓ８０６で、透明オブジェクトがキャンバスに存在するか否かが判断される。透明オブジェクトがキャンバスに存在しない場合、処理はＳ８１０に進み、キャンバス・エレメントは、関連する色データと不透明度データを用いて描画される。
【００６４】
Ｓ８０６で、キャンバスが透明なコンポーネントを含むと判断された場合、処理はＳ８０８に進み、透明度グループが生成される。電子ドキュメントは、好ましくはＸＰＳドキュメントに該当するため、生成される透明度グループは、透明オブジェクトの処理またはレンダリングに関連する、カスタム化された操作コード（op code）を含む。その後、処理はＳ８１０に進み、キャンバス・エレメントは、キャンバスに関連する色データと不透明度データを用いて描画される。次にＳ８１２で、生成された透明度グループは終了する。
【００６５】
次にＳ８１４で、別のキャンバスが未だ処理されずに残っていないかが判断される。別のキャンバス・オブジェクトが検出された場合、処理はＳ８０４に戻り、処理動作は前述したように繰り返される。別のキャンバス・オブジェクトが検出されない場合には、処理はＳ８１６に進み、処理されたキャンバスを以前のキャンバス上にペイントすべきかが判断される。Ｓ８１６で肯定的な判断が行われると、Ｓ８１８で、以前のキャンバス上に処理されたキャンバスがペイントされる。Ｓ８１６で否定的な判断が行われると、Ｓ８２０で最終ページ上にキャンバスがペイントされる。
【００６６】
図９は、本発明の一実施形態にしたがって、透明オブジェクトのレンダリング・システムにおいてグループ分けされないエレメントを処理する動作例を表したフローチャートである。オブジェクトがキャンバス・オブジェクトではないと判断されると、処理は図８のＳ８０２から図９のＳ９０２に進む。先ずＳ９０２で、受信された電子ドキュメントから読み出されたエレメントが、透明または不透明なコンポーネントを含むかが判断される。すなわち、エレメントに対して設定されたカスタム不透明度属性が、エレメントの透明なコンポーネントの存在を示す、不透明値の予め定められた範囲に一致するか否かが判断される。Ｓ９０２で肯定的な判断が行われると、Ｓ９０４で、エレメントの不透明値が適切なグラフィック状態で保存される。Ｓ９０２で否定的な判断が行われた場合には、処理は、直接、Ｓ９０６に進む。
【００６７】
次にＳ９０６で、エレメントがブラシ不透明度を含むかが判断される。Ｓ９０６で肯定的な判断が行われた場合は、Ｓ９０８で、不透明度が適切な色空間において設定され、かつ透明度レンダリング・ルーチンがドキュメント処理装置１０４において設定され、次いで処理はＳ９１０に進む。Ｓ９０６で、ブラシ不透明度が含まれていないと判断された場合には、処理はＳ９１０に進む。Ｓ９１０においては、エレメントがタイル状であるかが判断される。エレメントがタイル状であると判断されると、処理はＳ９１２に進み、ブラシが不透明度を有するかが判断される。エレメントに関連するブラシが不透明度を有していない場合、処理はＳ９１４に進み、１つの画素マップが生成される。ブラシが不透明度を有している場合には、処理はＳ９１６に進み、２つの画素マップが生成される。エレメントがタイル状ではない場合、またはＳ９１２およびＳ９１４で画素マップが生成されると、処理はＳ９１８に進み、エレメントの走査線表現が付け加えられる。その後Ｓ９２０で、不透明値がグラフィック状態で再び保存される。
【００６８】
図１０に、本発明の一実施形態にしたがって、透明オブジェクトのレンダリング・システムにおける画素マップの生成、使用の動作例を表したフローチャートを示す。テキスト、グラフィクス、または画像等を含む、画像の受信に続き、Ｓ１００２で、タイル状の画像が含まれるかが判断される。タイル状の画像が含まれないと判断されると、処理はＳ１００４に進み、ドキュメント処理装置１０４によって直接的なレンダリング経路が使用され、電子ドキュメントが、関連するドキュメント処理動作にしたがって、出力される。
【００６９】
画像がタイル状の画像に該当すると判断されると、処理はＳ１００６に進む。Ｓ１００６においては、画像の不透明値が０より大きく、１より小さい範囲内にあるかが判断される。Ｓ１００６で否定的な判断が行われると、単一の画素マップが、Ｓ１０１２で生成される。その後Ｓ１０１４で、画像は、生成された単一の画素マップを用いて、ドキュメント処理装置１０４によってレンダリングされる。不透明値が所定の範囲内、すなわち、０より大きく、１より小さい値である場合、処理はＳ１００８に進み、タイル状の画像が入れ子になったタイルを含むか否かが判断される。画像が入れ子になったタイルを含まない場合、Ｓ１０１０で、画像が所定の大きさ、例えば６００×８００を越えるか否かが判断される。ここで、６００×８００というサイズは例示にすぎず、ドキュメント処理装置１０４に関連する他の所定のサイズは、利用可能な処理能力、メモリの量等に基づいて、所定の限定サイズとすることができる。画像が大きい場合、すなわち所定のサイズより大きい場合には、処理はＳ１００４に進み、直接的なレンダリング経路が使用されて画像をレンダリングする。
【００７０】
画像が所定のサイズよりも小さい場合、または画像が入れ子になったタイルを含む場合には、処理はＳ１０１６に進み、第１の画素マップが生成される。次いでＳ１０１８で、ドキュメント処理装置１０４によるレンダリングに利用可能なメモリが、使い果たされているか否かが判断される。利用可能なメモリが使い果たされている場合、処理はＳ１０１４に進み、画像は、単一の画素マップを用いてレンダリングされる。利用可能なメモリが使い果たされていないとＳ１０１８で判断された場合には、処理はＳ１０２０に進み、第２の画素マップ、例えば、不透明画素マップが生成される。その後Ｓ１０２２で、画像は、生成された２つの画素マップを用いて、ドキュメント処理装置１０４によってレンダリングされる。
【００７１】
本発明による実施形態は、一方はレンダリングされるオブジェクトを含み、他方はアルファ・マスクを含む、２つの透明度グループを生成することによって、不透明マスク・オブジェクトの走査線表現を生成し、ＸＰＳ不透明マスク・オブジェクトをレンダリングするシステムおよび方法に及ぶ。
【００７２】
以上の説明から明らかなように、本発明によれば、透明オブジェクトのレンダリング・システムおよび方法が提供される。また、本発明の一実施形態によれば、例えば、不透明度情報のような属性を有するオブジェクトを、メモリ効率良く、透明オブジェクトをレンダリング可能なシステムおよび方法が提供される。
【００７３】
本発明は、ソース・コード、オブジェクト・コード、部分的にコンパイルされた形のようなコード中間ソースおよびオブジェクト・コードの形、あるいは本発明の実施形態で使用するために適した任意の他の形のコンピュータ・プログラムをも含む。コンピュータ・プログラムは、スタンドアローンのアプリケーション、ソフトウェア・コンポーネント、スクリプトまたは他のアプリケーションへのプラグ・インとすることができる。本発明を実施するコンピュータ・プログラムは、例えば、ＲＯＭやＲＡＭ等の記憶媒体、ＣＤ−ＲＯＭ等の光記録媒体、フロッピー（登録商標）ディスク等の磁気記録媒体等の、コンピュータ・プログラムを伝達することができる任意の実体または装置である担体上で具体化することができ、あるいは電気ケーブルまたは光ケーブルによって、または無線や他の手段によって伝えられる電気信号や光信号等の任意の担体によって伝達することができる。コンピュータ・プログラムは、サーバからインターネットを介してダウンロードすることもできる。また、コンピュータ・プログラムの機能は集積回路に組み込むこともできる。説明を行った本発明の原理を実質的にコンピュータまたはプロセッサに実行させるコードを含む任意およびすべての実施形態は、本発明の範囲内にある。
【００７４】
本発明の好ましい実施形態の以上の説明は、例示と説明のために行った。説明は網羅的ではなく、本発明を開示した形態に限定しようとするものでもない。以上の開示を鑑みて明らかな修正または変形が可能である。実施形態は、本発明の原理とその実際的な応用例を最もよく示し、それにより当業者が、本発明を、意図された特定の使用に適した様々な実施形態において様々な修正で使用できるように選択され説明された。そのようなすべての修正と変形は、特許請求の範囲の記載に明示されるとおりの本発明の原理および範囲内において、当業者によって行われ得ることは明らかであり、特許請求の範囲の記載によって定められる本発明の範囲内にある。
【図面の簡単な説明】
【００７５】
【図１】本発明による実施形態が適用される透明オブジェクトのレンダリング・システム全体の構成例である。
【図２】本発明による実施形態のシステムの動作が実行されるコントローラのハードウェアの構成例を説明するための図である。
【図３】本発明による実施形態のシステムの動作が実行されるコントローラの機能ブロックの構成例を説明するための図である。
【図４】本発明による実施形態のシステムの動作が実行されるワークステーションのハードウェアの構成例である。
【図５】本発明による実施形態における透明オブジェクトのレンダリングを実行する基本的な動作例を表すフローチャートである。
【図６】本発明による実施形態における透明オブジェクトのレンダリングを実行する詳細な動作例を表したフローチャートである。
【図７】本発明による一実施形態において透明度スタックを生成する動作例を表したフローチャートである。
【図８】本発明による一実施形態においてグループ分けされたエレメントを処理する動作例を表したフローチャートである。
【図９】本発明による一実施形態においてグループ分けされないエレメントを処理する動作例を表したフローチャートである。
【図１０】本発明による一実施形態において画素マップの生成、使用の動作例を表したフローチャートである。
【符号の説明】
【００７６】
１００  システム
１０２  コンピュータ・ネットワーク、分散通信システム
１０４  ドキュメント処理装置、ＭＦＰ
１０６  ユーザ・インターフェイス
１０８  コントローラ
１１０、１１６  データ記憶装置
１１２、１１８  通信リンク
１１４  ユーザ装置
２００  コントローラ
２０２、４０２  プロセッサ
２０４、４０４  読み出し専用メモリ、ＲＯＭ
２０６、４０６  ＲＡＭ
２０８、４１０  ストレージ・インターフェイス
２１０、４１２  ネットワーク・インターフェイス・サブシステム
２１２、４１４  バス
２１４、４２０  ネットワーク・インターフェイス・カード
２１６、４１８  ディスク・ドライブ
２１８、４３０  無線インターフェイス
２２０、４３２  物理的ネットワーク
２２２  ドキュメント・プロセッサ・インターフェイス
２２４  コピー・ハードウェア
２２６  画像走査ハードウェア
２２８  印刷ハードウェア
２３０  ファクシミリ・ハードウェア
２３２  ドキュメント処理ハードウェア
３００  コントローラ機能
３０２  ドキュメント処理エンジン
３０４  印刷機能部
３０６  ファクシミリ通信機能部
３０８  画像走査機能部
３１０  ユーザ・インターフェイス・パネル
３１２  ジョブ・キュー
３１４  ネットワーク・サービス機能部
３１６  画像プロセッサ
３１８  ジョブ解析部
３２０  クライアント側ネットワーク・サービス機能
４００  ワークステーション
４０８  表示インターフェイス
４１６  入出力インターフェイス
４２２  キーボード
４２４  周辺装置インターフェイス
４２６  ポインティング・デバイス・インターフェイス
４２８  表示モニタ
【図１】
2008299845.tif 000003
【図２】
2008299845.tif 000004
【図３】
2008299845.tif 000005
【図４】
2008299845.tif 000006
【図５】
2008299845.tif 000007
【図６】
2008299845.tif 000008
【図７】
2008299845.tif 000009
【図８】
2008299845.tif 000010
【図９】
2008299845.tif 000011
【図１０】
2008299845.tif 000012