JP2009093645A - オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法 - Google Patents

オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法 Download PDF

Info

Publication number
JP2009093645A
JP2009093645A JP2008258706A JP2008258706A JP2009093645A JP 2009093645 A JP2009093645 A JP 2009093645A JP 2008258706 A JP2008258706 A JP 2008258706A JP 2008258706 A JP2008258706 A JP 2008258706A JP 2009093645 A JP2009093645 A JP 2009093645A
Authority
JP
Japan
Prior art keywords
document
instruction
rendering
visual output
scan line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008258706A
Other languages
English (en)
Inventor
Benjamin D Capper
ディー. カッパー,ベンジャミン
Dakai Liu
リウ,ダキ
Abhijit Mandal
マンダル,アビジット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba TEC Corp
Original Assignee
Toshiba Corp
Toshiba TEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba TEC Corp filed Critical Toshiba Corp
Publication of JP2009093645A publication Critical patent/JP2009093645A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法を提供する。
【解決手段】先ず、レンダリング対象の電子ドキュメントの走査線に対応した走査線の記憶場所と対応する命令の記憶場所が、メモリ割り当てユニットによって割り当てられる。次に、少なくとも1つの視覚出力要素を含む電子ドキュメントが受信され、視覚出力要素のそれぞれに一意的な識別子が割り当てられ、一連の命令に変換され、メモリ割り当てユニットによって割り当てられ、選択された走査線の記憶場所に対応する命令記憶場所に保存される。次いで、それぞれの走査線の記憶場所に対応するそれぞれの命令記憶場所のコンテンツを含む符号化された走査線出力ファイルが、ドキュメント・レンダリング装置に伝達され、要素に関連付けられた相対的な識別子に基づいた視覚出力優先順位にしたがって、それぞれの視覚出力要素のレンダリングが実行される。
【選択図】図14

Description

本発明は、電子ドキュメントをレンダリングするシステムおよび方法に関し、特に、オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法に関する。
レーザ・プリンタ、インクジェット・プリンタ、またはその他のビットマップ出力装置等のドキュメント出力装置は、通常、ラスタ画像処理(Raster Image Processing:RIP)によって実行されるレンダリングからビットマップ出力画像を生成する。通常、電子ドキュメントには、ハイ・レベルな記述言語が関連付けられている。このようなハイ・レベルな記述言語は、ページ記述言語またはPDLと呼ばれることが多い。多くのページ記述言語フォーマットが存在する。それらは、ワード・プロセッシング・パッケージ、ドロー・パッケージ、CADパッケージ、または画像処理パッケージ等のアプリケーションから生じる場合もある。また、このようなファイルは、電子メール、スキャナ、ディジタイザ、ラスタライザ、ベクトル・ジェネレータ、およびデータ記憶装置等のドキュメント入力から生じる場合もある。
通常の画像ファイルは、幾何学的形状あるいは他の定義された領域等の様々な要素を含む。これらの要素は、その全体がファイルに符号化されるが、1つまたは複数の部分が残りの要素とオーバーラップすることによって、画像が不鮮明になることがある。
ラスタ画像プロセッサは、通常、ハイ・レベルの記述言語を、前述したようなビットマップ出力装置に伝達される一連の走査線またはビットマップ部分に復号化する。ビットマップ画像データの1または複数のシート全体が一度にページ・バッファ内に準備された後にエンジンに伝達された場合、相当量のメモリが必要となる。したがって、従来のラスタ画像プロセッサは、一度にはピクセルの1つのバンドをページ記述から抽出し、このバンドをバッファリングしてエンジンに伝達することによって、グラフィック出力を生成する方式を用いていた。このように、一連のバンドを生成し出力することによって、1または複数のページの出力を実行していた。
特に、入力されるページ記述が、グラフィック、テキスト、およびオーバーレイ等の複数の画像または雑多なデータ・タイプを含んでいる場合には、正確なバンド情報を抽出することが困難であることが多い。また、いくつかの従来のシステムにおいて、ハイ・レベルなページ記述から直接的にバンドを生成するためには、ダウンストリーム・エンジンが予想する入力速度に対応するタイミングでバンドへの変換を実行することも必要となる。
従来のレンダリングに関する改善については、2006年3月16日付けで米国に出願された「SYSTEM AND METHOD FOR DOCUMENT RENDERING EMPLOYING BIT-BAND INSTRUCTIONS」という名称の米国特許出願第11/376,797号(米国特許出願公開第2007/0216696号明細書)に記載されている。しかし、このような改善は、符号化された走査線を利用することによって従来のレンダリング・システムの欠点の多くを解決してはいるが、符号化された画像ファイルにオーバーラップする要素が存在することによって生じるさらなる問題点に焦点を合わせたものではなく、上記の問題点は未解決であった。
米国特許出願公開第2007/0216696号明細書
本発明は、上記の従来の問題点に鑑みてなされたもので、オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法を提供することを目的とする。
本発明によるドキュメント・レンダリング・システムは、レンダリング対象のドキュメントの走査線に対応する複数の走査線の記憶場所を割り当てる走査線記憶場所割当て手段と、それぞれの走査線の記憶場所に対応する少なくとも1つの命令の記憶場所を割り当てる命令記憶場所割当て手段とを有する。また、本システムは、符号化された視覚出力要素(primitive)を含む電子ドキュメントを受信する受信手段と、この受信手段によって受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てる手段とを有する。本システムは、受信された電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換する変換手段と、変換されたそれぞれの命令を少なくとも1つの走査線の記憶場所と関連付ける関連付け手段と、命令記憶場所割当て手段によって割り当てられた命令記憶場所にそれぞれの命令を保存する記憶手段とを、さらに、有する。また、本システムは、それぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達する出力手段を有し、それぞれの視覚出力要素は関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされる。
本発明の一実施形態において、本システムは、符号化された走査線出力ファイルを受信する手段と、それぞれの走査線の記憶場所の命令を順次的に復号化する復号化手段とを、さらに、有する。この実施形態においては、本システムは、オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた相対的な識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する復号された命令に対応するビットマップ・バンド出力を生成する手段を、さらに、有する。
本発明の別の実施形態においては、それぞれの命令は、色、または不透明度、またはパターン、またはピクセルの範囲(pixel range)、またはラスタ・オペレーション・コード(raster operating code)を規定する。
本発明のさらに別の実施形態においては、受信手段は、少なくとも1つの走査線の記憶場所が複数の符号化された視覚出力要素のそれぞれに対応する命令を含むように、複数の符号化された視覚出力要素を含む電子ドキュメントを受信する手段を含む。
さらなる実施形態において、復号化手段は、復号された命令が、先行する復号された命令に関連付けられたビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、複数の符号化された視覚出力要素のそれぞれに対応する命令を含む少なくとも1つの走査線の記憶場所に対応する命令を復号化する。
さらに別の実施形態において、少なくとも1つの命令は、テキスト・レンダリング、または一般的なバンド・レンダリング、またはグラフィック・レンダリング、バッチ・レンダリング、またはキャッシングを含むラスタ・オペレーション・コードを含む。
また、本発明によるドキュメント・レンダリング方法は、レンダリング対象のドキュメントの走査線に対応する複数の走査線の記憶場所を割り当てるステップと、それぞれの走査線の記憶場所に対応する少なくとも1つの命令の記憶場所を割り当てるステップと、符号化された視覚出力要素を含む電子ドキュメントを受信するステップと、受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てるステップと、受信された電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換するステップと、それぞれの命令を少なくとも1つの走査線の記憶場所と関連付けるステップと、命令記憶場所を割り当てるステップで割り当てられた命令記憶場所にそれぞれの命令を保存するステップと、それぞれの視覚出力要素が関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされるようにそれぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達するステップとを含む。
本発明によれば、オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法が提供される。
以下、適宜、図面を参照しながら本発明による実施形態の説明を行う。図1に本発明による実施形態が適用されるドキュメント・レンダリング・システム全体の構成例を示す。図に示したシステム100は、コンピュータ・ネットワーク102として表されている分散コンピューティング環境を利用している。コンピュータ・ネットワーク102は、複数の電子装置間におけるデータの交換を可能とする本技術分野で知られている任意の分散通信システムである。コンピュータ・ネットワーク102は、例えば、仮想ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク、インターネット、イントラネット、またはそれらの任意の組み合わせを含む本技術分野で知られている任意のコンピュータ・ネットワークである。本発明による一実施形態において、コンピュータ・ネットワーク102は、例えば、トークン・リング、IEEE802.11(x)、Ethernet(登録商標)またはその他の無線ベースまたは有線ベースのデータ通信メカニズム等の既存の多数のデータ転送メカニズムによって例示されるような物理レイヤおよびトランスポート・レイヤから構成される。図にはコンピュータ・ネットワーク102を示したが、本発明は、本技術分野で知られているスタンドアローンのシステムにおいても同様に実施可能である。
システム100は、さらに、様々なドキュメント処理を実行するために適切な多機能周辺装置(Multi-Function Peripheral;以下、MFPということがある)として図に表されている、ドキュメント・レンダリング装置104を含む。しかし、MFPはドキュメント・レンダリング装置の一形態であって、本発明におけるドキュメント・レンダリング装置がMFPに限定されるものではない。ドキュメント・レンダリング装置における処理動作には、例えば、ファクシミリ通信、画像走査、コピー、印刷、電子メール、ドキュメント管理、またはドキュメント保存等の処理動作がある。本発明による一形態においては、ドキュメント・レンダリング装置104は、リモート・ドキュメント処理サービスを外部装置あるいはネットワーク装置に対して提供する。ドキュメント・レンダリング装置104は、ユーザ、あるいはネットワークに接続された装置等とやり取りするように構成された、ハードウェア、ソフトウェアおよびこれらの任意の適切な組み合わせを含んでいる。ドキュメント・レンダリング装置104の構成等については、後ほど図2と図3を参照しながら説明を行う。
また、本発明による一実施形態において、ドキュメント・レンダリング装置104は、例えば、IEEE 1394あるいはUSBインターフェイスを有する各種ドライブ、または多様なICメモリカード等の、複数のポータブル記憶媒体を受け入れるためのインターフェイスを備える。本発明の実施形態においては、ドキュメント・レンダリング装置104は、さらに、タッチ・スクリーン、LCD、タッチ・パネルまたは英数字キーパッド等のユーザ・インターフェイス106を備え、ユーザは、このようなユーザ・インターフェイスを介してドキュメント・レンダリング装置104と直接やり取りすることができる。ユーザ・インターフェイス106は、ユーザに対して情報を伝達するとともに、ユーザから選択内容を受け取るために有効に用いられている。ユーザ・インターフェイス106は、本技術分野において知られているように、ユーザに対してデータを提示するために適切な様々なコンポーネントを有している。本発明の一実施形態によれば、ユーザ・インターフェイス106は、後ほど説明するように、1つまたは複数のグラフィック要素、テキスト・データまたは画像等をユーザに対して表示し、ユーザから入力情報を受け取り、受け取ったユーザ入力情報をコントローラ108等のバックエンド・コンポーネントに対して伝達するディスプレイを有する。
また、ドキュメント・レンダリング装置104は、適切な通信リンク112を介して、コンピュータ・ネットワーク102に通信可能に接続されている。適切な通信リンク112としては、例えば、WiMax(Worldwide Interoperability for Microwave Access)、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、Bluetooth(登録商標)、公衆交換電話網、専用通信ネットワーク、赤外線接続、光接続、または本技術分野において知られている他の適切な有線または無線のデータ通信チャネルがある。
本発明による実施形態において、ドキュメント・レンダリング装置104は、さらに、ドキュメント・レンダリング装置104による処理操作を容易にする、コントローラ108として示されている、適切なバックエンド・コンポーネントを内蔵している。コントローラ108は、ドキュメント・レンダリング装置104の動作の制御、あるいはユーザ・インターフェイス106を介した画像の表示、または電子画像データの操作の制御等の処理を容易にするように構成されたハードウェア、ソフトウェアあるいはこれらの適切な組み合わせによって実装される。以下の説明においては、コントローラ108という用語は、後述する動作を実行し、もしくは実行させ、もしくは制御し、またはその他の方法で管理するように機能するハードウェア、ソフトウェア、またはこれらの組み合わせを含むドキュメント・レンダリング装置104と関連する任意の多数のコンポーネントの意味で使用する。なお、図および上記の説明において、コントローラ108をドキュメント・レンダリング装置104に内蔵された形態としたが、コントローラ108は、ドキュメント・レンダリング装置104に通信可能に接続された外部装置の形態であってもよい。コントローラ108との関連において説明を行う動作は、本技術分野において知られている任意の汎用的なコンピューティング・システムによって実行可能である。したがって、コントローラ108は、このような汎用的なコンピューティング装置を表しており、以下の説明において使用する際にも、そのように意図されている。また、以下の説明においてはコントローラ108を使用しているが、これは実施形態の例にすぎず、その他の実施形態においても、本発明によるドキュメント・レンダリング・システムおよび方法を利用することができる。コントローラ108の構成等については、後ほど図4と図5を参照しながら説明を行う。
また、ドキュメント・レンダリング装置104にはデータ記憶装置110が通信可能に接続されている。データ記憶装置110は、例えば、ハードディスク・ドライブ、その他の磁気記憶装置、光学式記憶装置、フラッシュ・メモリまたはそれらの任意の組み合わせを含む本技術分野で知られている大容量記憶装置である。一実施形態においては、データ記憶装置110は、ドキュメント・データ、画像データ、電子データベースのデータ、ギフト・カード・フォーマットまたはフォント等を保存するように適切に適合されている。データ記憶装置110は、図においてはシステム100の独立したコンポーネントとして例示されているが、例えば、内蔵ハードディスク・ドライブ等のような、ドキュメント・レンダリング装置104の内部記憶装置、あるいはコントローラ108のコンポーネント等として実装することができる。
ユーザ装置114は、適切な通信リンク116を介して、コンピュータ・ネットワーク102とのデータ通信を行う。図においてはユーザ装置114をノート形パーソナル・コンピュータとして示しているが、これは例示にすぎない。ユーザ装置114は、例えば、コンピュータ・ワークステーション、デスクトップ形パーソナル・コンピュータ、携帯情報端末(PDA)、ウェブ適合(web-enabled)携帯電話、スマート・フォン、専用通信ネットワーク用の装置またはその他のウェブ適合電子装置を含む本技術分野において知られている任意のパーソナル・コンピューティング装置を表している。通信リンク116は、例えば、Bluetooth(登録商標)、WiMax、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、専用通信ネットワーク、赤外線接続、光接続、公衆交換電話網、または本技術分野において知られている他の適切な有線または無線のデータ通信チャネルである。ユーザ装置114は、例えば、電子ドキュメント、ドキュメント処理インストラクション、ユーザ・インターフェイスの変更、アップグレード、更新、またはパーソナル化データ等を生成し、ドキュメント・レンダリング装置104あるいはコンピュータ・ネットワーク102に接続されたその他の類似装置に、送信する。本発明の一実施形態によれば、ユーザ装置114は、ドキュメント・レンダリング装置104とセキュリティ面で安全にやり取りするために適切なウェブ・ブラウザ等を含む。
次に、図2および図3を参照しながら、図1においてドキュメント・レンダリング装置104として示した、本発明による実施形態におけるシステムの動作が実行されるドキュメント・レンダリング装置のハードウェアおよび機能構成等を説明する。図2に本発明による実施形態においてシステム100の動作が実行され、図1においてドキュメント・レンダリング装置104として示した、ドキュメント・レンダリング装置200のハードウェア・アーキテクチャの構成例を示す。ドキュメント・レンダリング装置200には、少なくとも一つのCPUから構成されるプロセッサ202が含まれる。プロセッサ202は、互いに協調して動作する複数のCPUから構成されることもある。また、ドキュメント・レンダリング装置200には、BIOS機能、システム機能、システム構成データおよびドキュメント・レンダリング装置200の動作に使用するその他のルーチンもしくはデータ等の静的または固定的なデータ、あるいはインストラクションのために有効に使用される、不揮発性または読出し専用メモリ(ROM)204が含まれる。
また、ドキュメント・レンダリング装置200には、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、または他の任意の適切なアドレス指定可能かつ書込み可能なメモリ・システムから構成されるRAM206が含まれている。RAM206は、プロセッサ202によって処理されるアプリケーションおよびデータ処理に関係するデータ・インストラクションのための記憶領域を提供する。
ストレージ・インターフェイス208は、ドキュメント・レンダリング装置200に関連するデータの不揮発性保存、大容量保存または長期的な保存ためのメカニズムを提供する。ストレージ・インターフェイス208は、参照符号216で示したディスク・ドライブ、あるいは光学式ドライブ、テープ・ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大容量記憶装置の他、当業者に知られている適切な任意の記憶媒体を使用する。
ネットワーク・インターフェイス・サブシステム210は、ネットワークとの間の入出力を適切にルーティングすることによって、ドキュメント・レンダリング装置200が他の装置と通信することを可能にする。ネットワーク・インターフェイス・サブシステム210は、ドキュメント・レンダリング装置200の外部装置との一つまたは複数のコネクションを確立する。図においては、一例として、Ethernet(登録商標)およびトークン・リング等といった固定または有線ネットワークとのデータ通信のための少なくとも一つのネットワーク・インターフェイス・カード214、およびWiFi(Wireless Fidelity)、WiMax、無線モデム、セルラ・ネットワークまたは適切な任意の無線通信システム等の手段を介した無線通信のために適切な無線インターフェイス218を示している。ネットワーク・インターフェイス・サブシステム210は、任意の物理的データ転送レイヤあるいは物理的データ転送レイヤではないデータ転送レイヤまたはプロトコル・レイヤを適切に利用する。図においては、ネットワーク・インターフェイス・カード214は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはこれらの組合せから適切に構成される物理的ネットワーク220を介したデータ交換を行うために、相互接続されている。
プロセッサ202、読出し専用メモリ(ROM)204、RAM206、ストレージ・インターフェイス208およびネットワーク・インターフェイス・サブシステム210の間のデータ通信は、バス212によって例示したバス・データ転送メカニズムを介して行われる。
ドキュメント・レンダリング装置200における実行可能なインストラクションは、ワークステーション、他のドキュメント・レンダリング装置、サーバ等の複数の外部装置との通信を容易にする。動作の際、典型的な装置は自立的に動作するが、しばしば、ローカル・ユーザによる直接的な制御が望ましい場合もある。ローカル・ユーザによる直接的な制御は、ユーザ入出力(I/O)パネル224へのオプションの入出力(I/O)インターフェイス222を介して実行することができる。
また、1つまたは複数のドキュメント処理エンジンへのインターフェイスも、バス212を介してデータ通信を行う。図に示した実施形態においては、印刷インターフェイス226、コピー・インターフェイス228、画像走査インターフェイス230およびファクシミリ・インターフェイス232は、それぞれ、印刷エンジン234、コピー・エンジン236、画像走査エンジン(スキャナ)238、およびファクシミリ・エンジン240との通信を容易にする。ドキュメント・レンダリング装置200は、1つまたは複数のドキュメント処理機能を適切に実行する。複数のドキュメント処理動作を実行するシステムは、前述したように、通常、多機能周辺装置(MFP)または多機能装置と呼ばれる。
次に図3を参照しながらシステムの動作が実行されるドキュメント・レンダリング装置の機能ブロックを説明する。図3に、本発明による実施形態のシステム100の動作が実行される、図1においてはドキュメント・レンダリング装置104として示した、ドキュメント・レンダリング装置300の機能ブロックの構成例を示す。図3は、ソフトウェアおよびオペレーティング・システム機能と関連して、図2に示したハードウェアの機能性を例示している。
ドキュメント・レンダリング装置300は、1つまたは複数のドキュメント処理動作を円滑に実行するドキュメント処理エンジン302を含む。ドキュメント処理エンジン302は、印刷エンジン304、ファクシミリ・エンジン306、画像走査エンジン(スキャナ)308およびコンソール・パネル310を含む。印刷エンジン304は、ドキュメント・レンダリング装置300に伝達された電子ドキュメントを、物理的なドキュメント、すなわちハードコピーの出力を可能とする。ファクシミリ・エンジン306は、ファクシミリ・モデム等の装置を介して、外部のファクシミリ装置との間で相互にファクシミリ通信を行う。
画像走査エンジン(スキャナ)308は、ハードコピー・ドキュメントを受け取り、このハードコピー・ドキュメントに対応する画像データに変換するように機能する。コンソール・パネル310等のユーザ・インターフェイスは、ユーザからのインストラクションの入力と、ユーザへの情報の表示を可能にする。画像走査エンジン308は、目に見える有形のドキュメントの入力を、ビットマップ・フォーマット、ベクター・フォーマットまたはページ記述言語(PDL)フォーマットの電子的な形態へ変換し、さらに、光学文字認識のためにも構成されている。また、有形のドキュメントの画像走査は、ファクシミリ動作においても有効に機能する。
図3に示したドキュメント処理エンジン302は、ドライバ326を介したネットワークとのインターフェイス316も備え、例えばネットワーク・インターフェイス・カードから構成されている。ネットワークは、有線、無線あるいは光によるデータ通信のような任意の適切な物理的レイヤおよび物理的でないレイヤによって、十分なやり取りを実現している。
ドキュメント処理エンジン302は、1つまたは複数のデバイス・ドライバ314と適切な通信を行う。デバイス・ドライバ314は、実際のドキュメント処理動作を実行するために、ドキュメント処理エンジン302と、1つまたは複数の物理的装置との間のデータ交換を可能とする。このようなドキュメント処理動作には、ドライバ318による印刷、ドライバ320によるファクシミリ通信、ドライバ322による画像走査、およびドライバ324によるユーザ・インターフェイス機能の中の1つまたは複数のものが含まれる。これらの多様な装置は、ドキュメント処理エンジン302と関連する1つまたは複数の対応するエンジンと結合されている。本発明においては、ドキュメント処理動作の任意のセットまたはサブセットが想定されている。複数の利用可能なドキュメント処理選択肢を含むドキュメント・レンダリング装置はMFPと呼ばれている。
次に、図4および図5を参照しながら、本発明による実施形態におけるシステムの動作が実行されるコントローラのハードウェアおよび機能構成等を説明する。図4に本発明による実施形態においてシステム100の動作が実行されるバックエンド・コンポーネント、すなわち、図1においてはコントローラ108として示した、コントローラ400のハードウェア・アーキテクチャの構成例を説明するための図を示す。尚、図4においては、コントローラの構成要素の意義をより明確にするため、参照符号432で表した、コントローラ以外のドキュメント・レンダリング装置の構成要素の一部を併せて示している。コントローラ400は、本明細書に記載する動作を円滑に実行する能力を有する、本技術分野において知られている任意の汎用コンピューティング装置を表している。コントローラ400には、少なくとも一つのCPUを含むプロセッサ402が含まれる。プロセッサ402は、互いに協調して動作する複数のCPUから構成されることもある。また、BIOS機能、システム機能、システム構成データ、およびコントローラ400の動作のために使用されるその他のルーチンまたはデータ等の静的なまたは固定されたデータまたは命令用に有利に使用される不揮発性または読み出し専用メモリ404も含まれている。
また、コントローラ400には、BIOS機能、システム機能、システム構成データおよびコントローラ400の動作に使用されるその他のルーチンもしくはデータ等の静的または固定的なデータ、あるいはインストラクションのために有効に使用される、不揮発性または読出し専用メモリ(ROM)404が含まれる。
また、コントローラ400には、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、または他の任意の適切なアドレス指定可能かつ書込み可能なメモリ・システムから構成されるRAM406が含まれる。RAM406は、プロセッサ402によって処理されるアプリケーションおよびデータ処理に関係するデータ・インストラクションのための記憶領域を提供する。
ストレージ・インターフェイス408は、コントローラ400に関連するデータの不揮発性保存、大容量保存または長期的な保存ためのメカニズムを提供する。ストレージ・インターフェイス408は、参照符号416で示したディスク・ドライブ、光学式ドライブ、あるいはテープ・ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大量記憶装置の他、当業者に知られている適切な任意の記憶媒体を使用する。
ネットワーク・インターフェイス・サブシステム410は、ネットワークとの間の入出力を適切にルーティングすることによって、コントローラ400が他の装置と通信することを可能にする。ネットワーク・インターフェイス・サブシステム410は、コントローラ400に対する外部装置との一つまたは複数のコネクションのインターフェイスを適切にとる。図においては、例えば、Ethernet(登録商標)、トークン・リング等といった固定または有線ネットワークとのデータ通信のための少なくとも一つのネットワーク・インターフェイス・カード414、およびWiFi、WiMax、無線モデム、セルラ・ネットワークまたは適切な任意の無線通信システム等の手段を介した無線通信のために適切な無線インターフェイス418とを示している。ネットワーク・インターフェイス・サブシステム410は、任意の物理的データ転送レイヤあるいは物理的データ転送レイヤではないデータ転送レイヤまたはプロトコル・レイヤを適切に利用する。図においては、ネットワーク・インターフェイス・カード414は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはそれらの組合せから適切に構成される物理的ネットワーク420を介したデータ交換を行うために、相互接続されている。
プロセッサ402、読出し専用メモリ(ROM)404、RAM406、ストレージ・インターフェイス408およびネットワーク・インターフェイス・サブシステム410の間のデータ通信は、バス412によって例示したバス・データ転送メカニズムを介して行われる。
また、ドキュメント・プロセッサ・インターフェイス422もバス412を介してデータ通信を行う。ドキュメント・プロセッサ・インターフェイス422は、様々なドキュメント処理動作を実行するために、ドキュメント処理ハードウェア432との接続を提供する。そのようなドキュメント処理動作には、コピー・ハードウェア424によって実行されるコピー、画像走査ハードウェア426によって実行される画像走査、印刷ハードウェア428によって実行される印刷、およびファクシミリ・ハードウェア430によって実行されるファクシミリ通信がある。コントローラ400は、これらのドキュメント処理動作のいずれかまたは全部を適切に動作させる。複数のドキュメント処理動作を実行可能なシステムは、前述したように、MFPまたは多機能装置と呼ばれる。システム100の機能は、ドキュメント・レンダリング装置と関連するインテリジェント・サブシステムとして図4に示したコントローラ400(図1においてはコントローラ108として示されている)を含む、ドキュメント・レンダリング装置104等の適切なドキュメント・レンダリング装置において実行される。
次に図5を参照しながらシステムの動作が実行されるコントローラの機能ブロックと動作の概要を説明する。図5に、本発明による実施形態のシステム100の動作が実行されるコントローラの機能ブロックの構成例を説明するための図を示す。尚、図5においても、コントローラの機能要素の意義をより明確にするため、コントローラ以外のドキュメント・レンダリング装置の機能要素の一部を併せて示している。図5は、ソフトウェアおよびオペレーティング・システム機能と関連して、図4に示したハードウェアの機能性を例示している。
コントローラ機能は、ドキュメント処理エンジン502を含む。一実施形態において、ドキュメント処理エンジン502は、印刷動作、コピー動作、ファクシミリ通信動作および画像走査動作を可能にする。これらの機能が一つの装置で実行できる装置は、産業界において一般に好まれているドキュメント処理周辺装置であるMFPである。しかし、コントローラが上記のドキュメント処理動作のすべてを可能にする必要は必ずしもない。コントローラは、上記のドキュメント処理動作のサブセットを実行する専用のドキュメント・レンダリング装置、あるいはより限定した目的のドキュメント・レンダリング装置においても有効に用いられる。
ドキュメント処理エンジン502はユーザ・インターフェイス・パネル510と適切にインターフェイスされている。ユーザまたは管理者は、このユーザ・インターフェイス・パネル510を介して、ドキュメント処理エンジン502によって制御される機能にアクセスすることができる。アクセスは、コントローラにローカルに接続されているインターフェイスを介して行われるか、または遠隔のシン・クライアント(thin client)もしくはシック・クライアント(thick client)によって遠隔から行われる。
ドキュメント処理エンジン502は、印刷機能部504、ファクシミリ通信機能部506および画像走査機能部508とデータ通信を行う。これらの機能部は、印刷、ファクシミリの送受信、およびドキュメント画像をコピーのために取得するか、またはドキュメント画像の電子バージョンを生成するための、ドキュメント画像走査の実際の処理動作を容易にする。
ジョブ・キュー(job queue)512は、印刷機能部504、ファクシミリ通信機能部506および画像走査機能部508とデータ通信を行う。ビットマップ・フォーマット、ページ記述言語(PDL)フォーマットまたはベクター・フォーマット等の種々の画像形式は、画像走査機能部508からジョブ・キュー512を介して以降の処理のために中継される。
ジョブ・キュー512は、また、ネットワーク・サービス機能部514ともデータ通信を行う。一実施形態において、ジョブ制御、状態データまたは電子ドキュメント・データが、ジョブ・キュー512とネットワーク・サービス機能部514との間で交換される。このように、適切なインターフェイスが、クライアント側ネットワーク・サービス機能520を介したコントローラへのネットワーク・ベースのアクセスのために設けられており、このインターフェイスは、任意の適切なシン・クライアントまたはシック・クライアントである。一実施形態において、ウェブ・サービス・アクセスは、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、ユニフォーム・データ・ダイアグラム・プロトコルまたは他の任意の適切な交換メカニズムによって実行される。ネットワーク・サービス機能部514は、また、FTP、電子メール、あるいはテルネット(TELNET)等による通信のために、クライアント側ネットワーク・サービス機能520とのデータ交換も有効に提供する。このように、コントローラ機能は、種々のネットワーク・アクセス・メカニズムによって、電子ドキュメントおよびユーザ情報の出力あるいは受信を容易にする。
ジョブ・キュー512は、また、画像プロセッサ516ともデータ通信を行う。画像プロセッサ516は、印刷機能部504、ファクシミリ通信機能部506または画像走査機能部508等の装置機能部と、電子ドキュメントを交換するために適したフォーマットに変換するラスタ画像処理(Raster Image Process;RIP)、ページ記述言語インタープリタまたは任意の適切な画像処理を行うメカニズムである。
さらに、ジョブ・キュー512は、ジョブ解析部(job parser)518とデータ通信を行い、このジョブ解析部518はクライアント装置サービス部522等の外部装置からの印刷ジョブ言語ファイルを受け取る働きをする。クライアント装置サービス部522は、電子ドキュメントの印刷、ファクシミリ通信、またはコントローラ機能による処理が有効である他の適切な電子ドキュメントの入力を含む。ジョブ解析部518は、受け取った電子ドキュメント・ファイルを解析し、前述した機能およびコンポーネントと関連する処理のために、解析した電子ドキュメント・ファイル情報をジョブ・キュー512に中継する働きをする。
以下、本発明における動作の概要を説明する。先ず、複数の走査線の記憶場所(memory location)が、メモリ割り当てユニットによって割り当てられる。ここで、それぞれの走査線の記憶場所は、レンダリング対象の電子ドキュメントの走査線に対応する。次いで、少なくとも1つの命令の記憶場所が、メモリ割り当てユニット内のそれぞれの走査線の記憶場所に対応して、割り当てられる。次に、少なくとも1つの符号化された視覚出力要素(visual output primitive)を含む電子ドキュメントが受信され、受信した符号化された視覚出力要素のそれぞれに一意的な識別子が割り当てられる。次いで、受信した電子ドキュメントの視覚出力要素のそれぞれが一連の命令に変換され、その後、それぞれの命令は、少なくとも1つの走査線の記憶場所に関連付けられる。次に、それぞれの命令は、メモリ割り当てユニットによって割り当てられ、選択された走査線の記憶場所に対応する命令記憶場所に保存される。次いで、それぞれの走査線の記憶場所に対応するそれぞれの命令記憶場所のコンテンツを含む符号化された走査線出力ファイルが、ドキュメント・レンダリング装置に伝達される。その後、要素に関連付けられた相対的な識別子に基づいた視覚出力優先順位にしたがって、それぞれの視覚出力要素のレンダリングが実行される。
本発明による例示的な一実施形態においては、先ず、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントが、メモリ割り当てユニットを介して、走査線の記憶場所を割り当てる。それぞれの走査線の記憶場所は、レンダリング対象のドキュメントの走査線に対応する。走査線を保存する手段は、ドキュメント・レンダリング装置104に関連するシステム・メモリ、データ記憶装置110に配置された仮想メモリ、またはこれらの任意の適切な組み合わせとすることができる。次いで、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントに存在するメモリ割り当てユニットは、走査線の記憶場所のそれぞれに対応した少なくとも1つの命令記憶場所を割り当てる。
次に、ドキュメント・レンダリング装置104によるさらなる処理のために、ユーザ装置114から、もしくはファクシミリ受信、画像走査またはコピー等のドキュメント・レンダリング装置104の動作から、または電子メール伝送、あるいは、電子ドキュメントを受信するその他の手段から、電子ドキュメントを受信する。電子ドキュメントを受信すると、その電子ドキュメントが視覚出力要素を含むか否かの判断が行われる。視覚出力要素としては、例えば、点、線、多角形、台形、円、三角形、正方形、矩形、スプライン曲線、プレーン等がある。コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントによって要素オブジェクトが検出されない場合、受信した電子ドキュメント・データは一連の命令に変換される。それぞれの命令は、少なくとも1つの走査線の記憶場所と関連付けられる。電子ドキュメント・データの変換については、2006年3月16日に米国に出願された「SYSTEM AND METHOD FOR DOCUMENT RENDERING EMPLOYING BIT-BAND INSTRUCTIONS」という名称の米国特許出願第11/376,797号(米国特許出願公開第2007/0216696号明細書)に詳しく説明されている。
視覚出力要素が検出された場合には、検出された要素のそれぞれは一意的な識別子を割り当てられる。本発明の一実施形態によれば、それぞれの要素には、英数文字または値等の一意的なオブジェクトIDを割り当てられる。次に、それぞれの要素は一連の命令に変換される。次いで、変換された命令のそれぞれは、選択された走査線の記憶場所に対応して割り当てられた命令記憶場所に、保存される。本発明の一実施形態によれば、それぞれの命令は、例えば、色、不透明度、パターン、ピクセルの範囲(pixel range)、またはラスタ・オペレーション・コード(raster operating code)等を規定する。また、ラスタ・オペレーション・コードは、例えば、テキスト・レンダリング、一般的なバンド・レンダリング、グラフィック・レンダリング、バッチ・レンダリング、およびキャッシング等を含む。
次いで、ドキュメント・レンダリング装置104における後続する処理のために、例えば、コントローラ108から、ドキュメント・レンダリング装置104に、符号化された走査線出力ファイルが伝達される。ドキュメント・レンダリング装置104は、電子ドキュメントに関連付けられた一連の命令によって表される動作を実行する能力を有する任意のコンポーネントに対応する。次に、符号化された走査線出力ファイルがドキュメント・レンダリング装置104によって受信される。受信された電子ドキュメント内に要素が検出された場合には、少なくとも1つの走査線の記憶場所は、符号化された視覚出力要素のそれぞれに対応する命令を含んでいる。次いで、ドキュメント・レンダリング装置104またはその任意の適切なコンポーネントが、走査線の記憶場所に対応する命令を順次的に復号化する。
次いで、オーバーラップする要素が存在する場合には、オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する復号された命令に対応するビットマップ・バンド出力が、ドキュメント・レンダリング装置104またはそのコンポーネントによって生成される。受信した電子ドキュメント内に複数の要素が存在する場合には、復号された命令が先行する復号された命令に関連付けられたビットマップの少なくとも一部に選択的に上書きを行うビットマップを生成するように、順次的な復号化は、複数の符号化された視覚出力要素のそれぞれに対応する。
次に、図6に示すページ画像例を参照しながら、本発明による実施形態の説明を行う。図には第1のオブジェクト602、第2のオブジェクト604、第3のオブジェクト606、および第4のオブジェクト608という4つのオブジェクトが示されており、これらはページ600に印刷されている。オブジェクト602、604、606、608は、ページ画像600の視覚出力要素を表している。それぞれのオブジェクト602、604、606、608上に示した1ないし4の番号は、印刷ジョブにおいて、そのオブジェクトをラスタ画像プロセッサに提供する順序を表す。ページ画像600の左側に走査線番号610を示している。第3のオブジェクト606を囲う破線は、オブジェクト606のサイズを表すが、走査線Y=5000および走査線Y=5400に対応するクリップ・パス(clip path)が存在し、この結果、第3のオブジェクト606は、走査線5000から走査線5400までの範囲のみが、ページ画像600に印刷される。
ページ画像600の処理の最初のステップは、コントローラ108、ドキュメント・レンダリング装置104またはそれに関連する任意の適切なコンポーネントと関連付けられたラスタ画像プロセッサが、新しいページの処理を開始する準備が完了した際に始まる。次に、ディスク入出力およびメモリ・サブシステムが初期化され、走査線のグラフィック状態を含む走査線アレイが割り当てられ、デフォルトの空の値に初期化される。
次いで、台形700として図7に示した、図6における第1のオブジェクト602が、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントと関連付けられた解析手段によって解析され、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントと関連付けられたカラー・システムおよび走査変換メカニズムによってデバイス空間に変換される。図7は、バンド・レンダリング関数(bf)702と台形レンダリング関数(tf)704を使用してレンダリングされる台形700(図6の第1のオブジェクト602)を示す。本発明の一実施形態によれば、バンド・レンダリング関数(bf)702および台形レンダリング関数(tf)704の両方をレンダリング・エンジンが利用可能である。本発明のさらなる実施形態によれば、台形700は3つのセグメント、すなわち、最初の走査線、最後の走査線、およびこれらの走査線の間のすべての走査線に、分割される。さらに別の実施形態によれば、最初の走査線と最後の走査線の間の走査線の数が、次に、特定される。特定された走査線の数が予め定められた閾値を上回っている場合には、台形700は3つのセグメントに分割され、そうでない場合には、台形700は台形700に跨る走査線の合計数に等しい数のセグメントに分割される。本発明の一実施形態によれば、予め定められた閾値は、台形表現によって消費されるバイトのバンド表現によって消費されるバイトに対する比を用いて計算される。
本発明による例示的な実施形態において、台形700、すなわち、第1のオブジェクト602を構成するデータは、適切なソフトウェア構造(structure)であり、例えば、_tPxSTrapezoidが使用される。このようなソフトウェア構造に含まれている情報の例が図8に示されており、台形800として第1のオブジェクト602を含む。クリップ・パスが存在する場合には、クリッピング境界である「左下x」(すなわち、llx802)および「右上x」(すなわち、urx804)も保存される。クリッピングが存在しない場合には、これらの境界802および804は、ページの境界を表す。さらに、このソフトウェア構造は、lAdjおよびrAdjという名称の2つの構成要素を含む。これらのlAdjおよびrAdjは、それぞれの走査線の左側の調節(adjustment)および右側の調節にそれぞれ対応する。POSTSCRIPT(登録商標)ページ記述言語にしたがえば、接触したピクセルがペイントされるが、PCLXLの場合にはピクセルの中心は中央に位置しており、したがって、例えば、lAdjおよびrAdj等の調節構成要素を用いた0.5ピクセルの調節が必要である。
本発明の一実施形態によれば、それぞれの走査線は、走査線に命令を追加する処理の際と最終的なレンダリング処理の際の両方において使用される単純なグラフィック状態情報を保存する。これは、次の項目を含む。
現在の色(デフォルトは黒)
現在の不透明度(デフォルトは不透明)
現在のラスタ演算の演算子(ROP演算子)(デフォルトはrop0)
現在のパターン(デフォルトはパターンなし)
現在の色と、命令リストに挿入される現在のバンドの色に応じて、opRenderBand(5バイト)またはopRenderBandColor(9バイト)のいずれかが使用される。バンドの色がグラフィック状態の現在の色と同一である場合には、現在のバンドの色は、4バイトを節約するopRenderBandを使用することによって、OpCode内に含まれない。上記のOpCodeは、単一の走査線上において表現されるオブジェクトに適用される。オブジェクトが複数の走査線に跨っている場合には、類似のOpCodeであるopRenderTrap(31バイト)およびopRenderTrapColor(35バイト)が使用される。
図6に示したページ画像の場合、ラスタ画像プロセッサに提供される最初のオブジェクトは第1のオブジェクト602であるため、最初に遭遇する命令は、第1のオブジェクト602の走査線800における命令となる。第1のオブジェクト602の最初の走査線は、バンドとして取り扱われる。このバンドの色、例えば、赤は、走査線のグラフィック状態のデフォルトの現在の色、すなわち、黒とは同一ではないため、opRenderBandColorが使用される。第1のオブジェクト602は、図9に示すテーブル900内の走査線データによって表される。objectID=0がtPxSRepresentation構造でセットされる。同様に、図10のテーブル1000は第2のオブジェクト604の走査線データを、図11のテーブル1100は第3のオブジェクト606の走査線データを、図12のテーブル1200は第4のオブジェクト608の走査線データを表す。
図6に示され図11に表されているように、第3のオブジェクト606は、クリッピングされた要素、すなわちオブジェクトを表す。垂直(Y)クリッピングは、本発明による実施形態の処理を開始する前に予め実行されている。したがって、図11のテーブル1100に示されているOpCodeのみが使用され、クリッピング情報にしたがってllxとurxがセットされている。第4のオブジェクト608は、ページ画像600の最上部に描かれているが、これは、最後のオブジェクトとしてラスタ画像プロセッサによって受信され、したがって図12のテーブル1200に示されているOpCodeによって最後に表される。
図6に示したページ画像で入力値を有する走査線は、Y=200、201、800、801、1000、2000、2001、2600、4000および5000の走査線のみ、すなわち10本の走査線のみである。このように、本発明の実施形態によれば、図6のページ画像の表現サイズが効率的に最適化される。
ラスタ画像プロセッサ、あるいは、コントローラ108またはドキュメント・レンダリング装置104等に関連する他の適切なコンポーネントによって、テーブル900、1000、1100、1200が埋められた後に、ページ・データの最終的に完成したバンドのレンダリングが実行される。次に、例えば、ラスタ画像プロセッサ等の、コントローラ108またはドキュメント・レンダリング装置104等に関連する他の適切なコンポーネントが、典型的には高さが128本の走査線である、圧縮されていない完全なバンドのために、例えば、システム・メモリまたはデータ記憶装置110上の仮想メモリ等の、十分なメモリを提供または割り当てる。このようなバンドのフィリングは、バンド内に属するそれぞれの規則的な走査線の検出と、バンドに関連付けられた命令ブロック内のOpCodeの「再生」または復号化を伴う。
図6のページ画像600を再度参照すると、入力値を有する最初の走査線は、Y=200の走査線である。第4のオブジェクト608がレンダリングされる最初の対象である。レンダリングを実行する前に、z−バッファ情報を表現するために、動的オブジェクト・リストがセットアップされる。例えば、次の構成要素を有するtPxSObjectという名称のソフトウェア構造のリンクされたリストの開始によって、適切なオブジェクト・リストのセットアップが実行される。
unsigned char objType /* 例えば「台形」*/
tPxsTrapezoid trap /* 図8に示されているすべての台形情報を含む */
unsigned int objID /* オブジェクトID */
unsigned char OpCode /* 命令のOpCode */
unsigned char c, m, y, k /* 色の値*/
unsigned int blackOverPrint /* BOPがオンであるか否か */
struct _tPxSObject *next /* 次のオブジェクトに対するポインタ */
このレンダリングの開示時点においては、リンクされたリストは、オブジェクトを含んでおらず、したがって関連付けられたNULL値を有する。リンクされたリストにアクセスするために、予約された2MBのメモリ内に、例えば、_tPxSCacheOpCodeSource等の、よりハイ・レベルのデータ構造が定義される。これは、次の構成要素を含んでいる。
unsigned char *mem /* 2MBメモリのヘッドに対するポインタ */
unsigned char *currentPtr /* メモリ内の現在の場所に対するポインタ */
unsigned int size /* 利用可能なメモリのサイズ */
unsigned int availableSize /* オブジェクト・リストを拡張するための残りのメモリ・サイズ */
tPxSObject *objList /* オブジェクト・リストのヘッドに対するポインタ */
tPxSObject *curObjList /* オブジェクト・リスト内の現在のオブジェクトに対するポインタ */
tPxSObject *prevObj /* オブジェクト・リスト内の以前のオブジェクトに対するポインタ */
tPxSObject *freeList /* もはや使用されていない再使用可能であるオブジェクトのリスト */
unsigned int *scanlineObjectCnt /* 走査線内においてこれまでレンダリングされたオブジェクトの数 */
fPxSAllocFuncPtr memAlloc /* メモリ割り当て関数ポインタ */
fPxSAllocFuncPtr memFree /* メモリ解放関数ポインタ */
図6に示した例示用のページ画像600の処理について説明を続けると、Y=200の走査線において、ObjectID=3を有する第4のオブジェクト608(オブジェクト4)が、先ず、検討される。第4のオブジェクト608の検討内容を示すオブジェクト・リスト1300の例が図13(a)に示されている。この結果、第4のオブジェクト608の走査線のペインティングに先だって、3以下のObjectIDを有するオブジェクトがレンダリングされる。命令はopRenderBandColorであるため、この命令は、現在の走査線に対してのみ適応可能であり、すなわち、これは台形ではない。したがって、このバンドは、バンドバッファにレンダリングされ、このオブジェクトはオブジェクト・リストに挿入されない。命令opRenderTrapColorを伴いObjectID=3を有する第4のオブジェクト608を含む走査線Y=201に遭遇した際にも、オブジェクト・リスト内に入力値を有するオブジェクトは依然として存在しない。この結果、OpCodeのデータ内のx0、x1、dx0、dx1、lAdj、rAdj、llxおよびurxの値を用いて、ペイント対象の走査線の範囲が計算される。色、すなわちC、M、Y、Kを走査線のグラフィック状態にセットする。但し、グラフィック状態の色を変更する前に、レンダリング後に色を元に戻せるように、現在のグラフィック状態の色を一時変数に保存する。このOpCodeは台形と関連付けられているため、この段階で、第4のオブジェクト608は、図13(a)に示されているように、オブジェクト・リストに挿入される。
上記のレンダリングと同一のレンダリングが、Y=800の走査線に到達するまで続けられる。Y=800において、ObjectID=0を有する第1のオブジェクト602(オブジェクト1)に遭遇する。しかしながら、命令はopRenderBandColorであるため(すなわち、現在の走査線にのみ適用可能であるため)、第1のオブジェクト602は未だオブジェクト・リストに入力されない。現在のオブジェクト・リストを調べることによって、現在のエントリとして、第1のオブジェクト602よりも大きなObjectIDを有するオブジェクト4の存在のみが明らかになる。したがって、第4のオブジェクト608の走査線のレンダリングの前に、第1のオブジェクト602の走査線がレンダリングされる。Y=801において、第1のオブジェクト602に関するopRenderTrapColor命令に遭遇し、図13(b)に示されているように、第1のオブジェクト602が、選択された順番でオブジェクト・リストに追加される。
次いで、このレンダリングが、Y=1000の走査線に到達するまで第1のオブジェクト602および第4のオブジェクト608の両方について、引き続き実行される。Y=1000の走査線に到達すると第4のオブジェクト608は完了しており、第4のオブジェクト608に対応するオブジェクト・リストのエントリが除去されるとともにフリーリストに追加される。第4のオブジェクト608に対応するオブジェクト・リストのエントリの除去を反映したオブジェクト・リストが、図13(c)に示されている。
次いで、このレンダリングが、Y=2000の走査線に到達するまで第1のオブジェクト602に関して継続される。第2のオブジェクト604(オブジェクト2)のバンドのレンダリングの前に、オブジェクト・リストを検査することにより、第2のオブジェクト604のObjectIDよりも小さいObjectIDを有する第1のオブジェクト602(オブジェクト1)がオブジェクト・リスト内に存在していることが明らかとなる。したがって、第2のオブジェクト604の走査線のレンダリングの前に、先ず第1のオブジェクト602の走査線がレンダリングされ、この結果、オブジェクト602およびオブジェクト604の正しいオーバーラップ関係が実現される。この後、Y=2001において、図13(d)に示されているように、第2のオブジェクト604もオブジェクト・リストに組み込まれる。
次いで、このレンダリングが、Y=2600の走査線に到達するまで継続されるが、Y=2600の走査線に到達した時点で第1のオブジェクト602は完成しており、第1のオブジェクト602はオブジェクト・リストから除去される。この段階で、図13(e)に示されているように、オブジェクト・リスト内には、第2のオブジェクト604のみが残っている。第2のオブジェクト604のレンダリングは、Y=4000の走査線に到達するまで継続し、Y=4000の走査線に到達した時点で第2のオブジェクト604は完成しており、第2のオブジェクト604はオブジェクト・リストから除去される。第2のオブジェクト604が除去された後には、オブジェクト・リスト内には、オブジェクトが残っておらず、この結果、オブジェクト・リストは図13(f)に示されるものになる。図6に示したページ画像600においては、Y=5000の走査線に到達するまで、新しいOpCode命令には遭遇しない。Y=5000の走査線に到達すると、opRenderTrapColor命令を有する第3のオブジェクト606(オブジェクト3)に遭遇する。この結果、第3のオブジェクト606がオブジェクト・リストに組み込まれ、走査線がレンダリングされる。この段階におけるオブジェクト・リストが図13(g)に示されている。
次いで、このレンダリングが、Y=5400の走査線に到達するまで継続され、Y=5400の走査線に到達した時点で第3のオブジェクト606は完成しており、第3のオブジェクト606はオブジェクト・リストから除去される。オブジェクト・リスト内には、オブジェクトは何も残っておらず、この段階におけるオブジェクト・リストが図13(h)に示されている。この結果、ページ画像ジ600のバンディングが完了し、レンダリングの対象となるピクセルは、もはや残っていない。
以上、図1ないし図13を参照しながらシステム100および関連するコンポーネントについて説明を行ったが、図14および図15を参照しながら行う以下の説明によって、本発明による実施形態の動作の理解が深まるであろう。図14に、本発明による実施形態におけるドキュメント・レンダリングの基本的な動作例を表すフローチャートを示す。先ず、S1402で、走査線の記憶場所が関連付けられたメモリ割り当てユニットによって割り当てられる。ここで、それぞれの走査線の記憶場所は、レンダリング対象の電子ドキュメントの走査線に対応する。メモリ割り当てユニットは、例えば、ドキュメント・レンダリング装置104のコントローラ108と関連付けられたハードウェア、ソフトウェアまたはこれらの任意の適切な組み合わせである。図14に示す処理動作はユーザ装置114の動作によっても実行可能であるが、説明を簡潔にするため、以下の説明においてはドキュメント・レンダリング装置104および関連するハードウェア、ソフトウェアによって実行されるとして説明を行う。すなわち、ドキュメント・レンダリング装置104および関連するハードウェア、ソフトウェアに対する参照は、例示を目的としたものに過ぎない。
S1404において、走査線の記憶場所のそれぞれに対応する少なくとも1つの命令の記憶場所がメモリ割り当てユニットによって割り当てられる。次いでS1406において、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントが、少なくとも1つの符号化された視覚出力要素を含む電子ドキュメントを受信する。本発明の一実施形態によれば、符号化された視覚出力要素は、点、線、多角形、または画像のその他のグラフィック要素に対応する。次にS1408において、受信した電子ドキュメントのそれぞれの要素は一意的な識別子を割り当てられる。例えば、それぞれの要素、すなわちオブジェクトは一意的なObjectIDを割り当てられ、割り当てられた一意的なObjectIDは、前述し、かつ、後ほど図15との関係においてさらに説明するように、画像をレンダリングする際に使用される。
次にS1410において、それぞれの要素は一連の命令、すなわちOpCodeに変換される。これらの命令は、例えば、要素の色、要素の不透明度、要素のパターン、要素に関連するピクセルの範囲(pixel range)、または要素の処理に関連するラスタ・オペレーション・コード等を規定する。次いでS1412において、それぞれの命令は、少なくとも1つの走査線の記憶場所に関連付けられる。次にS1414において、例えば、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネント等の、メモリ割り当てユニットによって割り当てられ、かつ、選択された走査線の記憶場所に対応する命令の記憶場所に、それぞれの命令が保存される。この後、S1416において、それぞれの走査線の記憶場所に対応するそれぞれの命令記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置104に伝達する。ドキュメント・レンダリング装置104においては、それぞれの出力要素がその要素の一意的な識別子に対応する視覚出力優先順位にしたがってレンダリングされる。
次に図15を参照しながら、本発明による実施形態におけるドキュメント・レンダリングの動作をさらに詳細に説明する。図15に、本発明による実施形態におけるドキュメント・レンダリングの動作例をさらに詳細に表したフローチャートを示す。先ず、S1502で、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントのメモリ割り当てユニットによって、走査線の記憶場所が割り当てられる。本発明の一実施形態によれば、それぞれの走査線記憶場所は、ドキュメント・レンダリング装置104によってレンダリングされるドキュメントの走査線に対応する。本発明の別の実施形態によれば、記憶場所は、ドキュメント・レンダリング装置104に関連付けられたシステム・メモリ、またはデータ記憶装置110からアクセスされる仮想メモリ等から割り当てられる。次いでS1504において、コントローラ108またはドキュメント・レンダリング装置104に関連する他の適切なコンポーネントと関連付けられたメモリ割り当てユニットは、それぞれの走査線の記憶場所に対応する1つまたは複数の命令の記憶場所を割り当てる。
次いで処理はS1506に進み、コンピュータ・ネットワーク102を介してユーザ装置114から、もしくは、例えば、コピー、画像走査、ファクシミリ伝送等のドキュメント・レンダリング装置104の動作から、もしくはポータブル記憶媒体から、または電子ドキュメントを伝達するその他の適切な手段から、電子ドキュメントがドキュメント・レンダリング装置104によって受信される。次いでS1508において、受信した電子ドキュメント内に、符号化された視覚出力要素、すなわちオブジェクトが存在しているか否かの判断が行われる。視覚出力要素には、例えば、点、線、多角形、台形、円、三角形、正方形、矩形、スプライン曲線、およびプレーン等がある。S1508において、受信した電子ドキュメント内に要素オブジェクトが存在していないと判断が行われると、受信した電子ドキュメントに対応するデータが、S1526において、一連の命令に変換される。ここで、それぞれの命令は少なくとも1つの走査線の記憶場所に関連付けられている。尚、電子ドキュメント・データの変換については、前述したように米国特許出願第11/376,797号(米国特許出願公開第2007/0216696号明細書)にさらに詳細に説明されている。次いで処理はS1514に進み、後ほど説明するように、それぞれの命令は少なくとも1つの走査線の記憶場所に関連付けられる。
S1508に戻り、受信した電子ドキュメント内に少なくとも1つの符号化された視覚出力要素が存在すると判断された場合には、処理はS1510に進む。S1510において、存在する符号化された視覚出力要素のそれぞれは、一意的な識別子が割り当てられる。一意的な識別子の割り当ての例は、図6ないし図13を参照しながら前述した。それぞれの要素に対する識別子の割り当てに続いて、処理はS1512に進み、要素のそれぞれは一連の命令に変換される。次いでS1514において、それぞれの命令は、少なくとも1つの走査線の記憶場所に関連付けられる。S1516において、それぞれの命令が、選択された走査線の記憶場所に対応して割り当てられた命令記憶場所に、保存される。本発明の一実施形態において、それぞれの命令は、例えば、色、不透明度、パターン、ピクセルの範囲、またはラスタ・オペレーション・コード等を規定する。また、ラスタ・オペレーション・コードは、例えば、テキスト・レンダリング、一般的なバンド・レンダリング、グラフィック・レンダリング、またはバッチ・レンダリング、キャッシング等を含む。
次にS1518において、ドキュメント・レンダリング装置104におけるさらなる処理のために、例えば、コントローラ108から関連するドキュメント・レンダリング装置104の適切なコンポーネントへ等のように、符号化された走査線出力ファイルがドキュメント・レンダリング装置104に伝達される。ドキュメント・レンダリング装置104に関連するラスタ画像プロセッサまたは他の適切なコンポーネントは、電子ドキュメントと関連する一連の命令によって表されている動作を実行することができる。次いでS1520において、符号化された走査線出力ファイルが、ドキュメント・レンダリング装置104によって受信される。このように、受信した電子ドキュメント内に要素が存在する場合、少なくとも1つの走査線の記憶場所は、符号化された視覚出力要素のそれぞれに対応する命令を含む。次いでS1522において、ドキュメント・レンダリング装置104またはその任意の適切なコンポーネントが、走査線の記憶場所に対応する命令を順次的に復号化する。
次いでS1524において、それぞれの走査線の記憶場所に対応する復号された命令に対応するビットマップ・バンド出力がドキュメント・レンダリング装置104またはその適切なコンポーネントによって生成され、オーバーラップする要素が存在する場合には、オーバーラップする要素に関する視覚出力がそれぞれの要素に関連付けられた識別子にしたがって選択される。受信した電子ドキュメントに要素が存在する場合、復号された命令が先行して復号された命令に関連するビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、順次的な復号化は複数の符号化された視覚出力要素のそれぞれに対応する。受信した電子ドキュメントに視覚出力要素が存在しない場合には、ドキュメント・レンダリング装置104は、それらの要素のオーバーラップがレンダリングされないように、復号された命令のビットマップ・バンド出力を生成する。
本発明は、ソース・コード、オブジェクト・コード、部分的にコンパイルされた形のようなコード中間ソースおよびオブジェクト・コードの形、あるいは本発明の実施形態で使用するために適した任意の他の形のコンピュータ・プログラムをも含む。コンピュータ・プログラムは、スタンドアローンのアプリケーション、ソフトウェア・コンポーネント、スクリプトまたは他のアプリケーションへのプラグ・インとすることができる。本発明を実施するコンピュータ・プログラムは、例えば、ROMやRAM等の記憶媒体、CD−ROM等の光記録媒体、フロッピー(登録商標)ディスク等の磁気記録媒体等の、コンピュータ・プログラムを伝達することができる任意の実体または装置である担体上で具体化することができ、あるいは電気ケーブルまたは光ケーブルによって、または無線や他の手段によって伝えられる電気信号や光信号等の任意の担体によって伝達することができる。コンピュータ・プログラムは、サーバからインターネットを介してダウンロードすることもできる。また、コンピュータ・プログラムの機能は集積回路に組み込むこともできる。説明を行った本発明の原理を実質的にコンピュータまたはプロセッサに実行させるコードを含む任意およびすべての実施形態は、本発明の範囲内にある。
本発明の好ましい実施形態の以上の説明は、例示と説明のために行った。説明は網羅的ではなく、本発明を開示した形態に限定しようとするものでもない。以上の開示を鑑みて明らかな修正または変形が可能である。例えば、本発明による実施形態の説明に記したシステムおよび方法は、例えば、通信、汎用コンピューティング、データ処理等を含む、順序付けされた命令シーケンスを用いる複数の様々な分野に対しても適用可能であり、本発明がドキュメント処理への適用に限定されるものではない。実施形態は、本発明の原理とその実際的な応用例を最もよく示し、それにより当業者が、本発明を、意図された特定の使用に適した様々な実施形態において様々な修正で使用できるように選択され説明された。そのようなすべての修正と変形は、特許請求の範囲の記載に明示されるとおりの本発明の原理および範囲内において、当業者によって行われ得ることは明らかであり、特許請求の範囲の記載によって定められる本発明の範囲内にある。
本発明による実施形態が適用されるドキュメント・レンダリング・システム全体の構成例である。 本発明による実施形態のシステムの動作が実行されるドキュメント・レンダリング装置のハードウェアの構成例である。 本発明による実施形態のシステムの動作が実行されるドキュメント・レンダリング装置の機能ブロックの構成例である。 本発明による実施形態のシステムの動作が実行されるコントローラのハードウェアの構成例を説明するための図である。 本発明による実施形態のシステムの動作が実行されるコントローラの機能ブロックの構成例を説明するための図である。 本発明による実施形態において処理対象となるページ画像の例である。 図6に示したページ画像に含まれる視覚出力要素の一例である。 図6に示したページ画像に含まれる視覚出力要素の構成情報の一例である。 図6に示した第1のオブジェクトの走査線データを表すテーブルである。 図6に示した第2のオブジェクトの走査線データを表すテーブルである。 図6に示した第3のオブジェクトの走査線データを表すテーブルである。 図6に示した第4のオブジェクトの走査線データを表すテーブルである。 本発明による実施形態において使用される図6に示したページ画像に対応するオブジェクト・リストの例である。 本発明による実施形態におけるドキュメント・レンダリングの基本的な動作例を表すフローチャートである。 本発明による実施形態におけるドキュメント・レンダリングの動作例を詳細に表したフローチャートである。
符号の説明
100 システム
102 コンピュータ・ネットワーク、分散通信システム
104 ドキュメント・レンダリング装置、MFP
106 ユーザ・インターフェイス
108 コントローラ
110 データ記憶装置
112、116 通信リンク
114 ユーザ装置
200、300 ドキュメント・レンダリング装置
202、402 プロセッサ
204、404 読出し専用メモリ、ROM
206、406 RAM
208、408 ストレージ・インターフェイス
210、410 ネットワーク・インターフェイス・サブシステム
212、412 バス
214、316、414 ネットワーク・インターフェイス・カード
216、416 ディスク・ドライブ
218、418 無線インターフェイス
220、420 物理的ネットワーク
222 オプションの入出力インターフェイス
224 ユーザ入出力パネル
226 印刷インターフェイス
228 コピー・インターフェイス
230 画像走査インターフェイス
232 ファクシミリ・インターフェイス
234、304 印刷エンジン
236 コピー・エンジン
238、308 画像走査エンジン
240、306 ファクシミリ・エンジン
310 コンソール・パネル
314 デバイス・ドライバ
318、320、322、324、326 ドライバ
400 コントローラ
422 ドキュメント・プロセッサ・インターフェイス
424 コピー・ハードウェア
426 画像走査ハードウェア
428 印刷ハードウェア
430 ファクシミリ・ハードウェア
432 ドキュメント処理ハードウェア
502、302 ドキュメント処理エンジン
504 印刷機能部
506 ファクシミリ通信機能部
508 画像走査機能部
510 ユーザ・インターフェイス・パネル
512 ジョブ・キュー
514 ネットワーク・サービス機能部
516 画像プロセッサ
518 ジョブ解析部
520 クライアント側ネットワーク・サービス機能
522 クライアント装置サービス部
600 ページ画像、ページ
602、604、606、608 オブジェクト、視覚出力要素
900、1000、1100、1200 オブジェクトを表現するテーブル

Claims (14)

  1. レンダリング対象のドキュメントの走査線に対応する、複数の走査線の記憶場所を割り当てる走査線記憶場所割当て手段と、
    それぞれの走査線の記憶場所に対応する少なくとも1つの命令の記憶場所を割り当てる命令記憶場所割当て手段と、
    符号化された視覚出力要素を含む電子ドキュメントを受信する受信手段と、
    この受信手段によって受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てる手段と、
    受信された前記電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換する変換手段と、
    この変換手段によって変換されたそれぞれの命令を少なくとも1つの走査線の記憶場所と関連付ける関連付け手段と、
    前記命令記憶場所割当て手段によって割り当てられた命令記憶場所にそれぞれの命令を保存する記憶手段と、
    それぞれの視覚出力要素が関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされるように、それぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達する出力手段と
    を有することを特徴とするドキュメント・レンダリング・システム。
  2. 前記符号化された走査線出力ファイルを受信する手段と、
    それぞれの走査線の記憶場所の命令を順次的に復号化する復号化手段と、
    オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた相対的な識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する、復号された命令に対応するビットマップ・バンド出力を生成する手段と
    を、さらに、有することを特徴とする請求項1に記載のドキュメント・レンダリング・システム。
  3. 前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項1に記載のドキュメント・レンダリング・システム。
  4. 前記受信手段は、少なくとも1つの走査線の記憶場所が前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含むように、複数の符号化された視覚出力要素を含む前記電子ドキュメントを受信する手段を含むことを特徴とする請求項1に記載のドキュメント・レンダリング・システム。
  5. 前記復号化手段は、復号された命令が、先行する復号された命令に関連付けられたビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含む前記少なくとも1つの走査線の記憶場所に対応する命令を復号化することを特徴とする請求項4に記載のドキュメント・レンダリング・システム。
  6. 前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項5に記載のドキュメント・レンダリング・システム。
  7. 前記ラスタ・オペレーション・コードは、テキスト・レンダリング、または一般的なバンド・レンダリング、またはグラフィック・レンダリング、バッチ・レンダリング、またはキャッシングであることを特徴とする請求項5に記載のドキュメント・レンダリング・システム。
  8. レンダリング対象のドキュメントの走査線に対応する複数の走査線の記憶場所を割り当てるステップと、
    それぞれの走査線の記憶場所に対応する少なくとも1つの命令の記憶場所を割り当てるステップと、
    符号化された視覚出力要素を含む電子ドキュメントを受信するステップと、
    受信されたそれぞれの視覚出力要素に一意的な識別子を割り当てるステップと、
    受信された前記電子ドキュメントのそれぞれの視覚出力要素を一連の命令に変換するステップと、
    それぞれの命令を少なくとも1つの走査線の記憶場所と関連付けるステップと、
    前記命令記憶場所を割り当てるステップで割り当てられた命令記憶場所にそれぞれの命令を保存するステップと、
    それぞれの視覚出力要素が関連付けられた相対的な識別子に対応する視覚出力優先順位にしたがってレンダリングされるように、それぞれの走査線の記憶場所に対応するそれぞれの命令の記憶場所のコンテンツを含む符号化された走査線出力ファイルをドキュメント・レンダリング装置に伝達するステップと
    を含むことを特徴とするドキュメント・レンダリング方法。
  9. 前記符号化された走査線出力ファイルを受信するステップと、
    それぞれの走査線の記憶場所の命令を順次的に復号化するステップと、
    オーバーラップする要素の視覚出力が、それぞれの要素に関連付けられた相対的な識別子にしたがって選択されるように、それぞれの走査線の記憶場所に対応する、復号された命令に対応するビットマップ・バンド出力を生成するステップと
    を、さらに、含むことを特徴とする請求項8に記載のドキュメント・レンダリング方法。
  10. 前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項8に記載のドキュメント・レンダリング方法。
  11. 前記電子ドキュメントは、少なくとも1つの走査線の記憶場所が前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含むように、複数の符号化された視覚出力要素を含む状態で受信されることを特徴とする請求項8に記載のドキュメント・レンダリング方法。
  12. 前記命令は、復号された命令が、先行する復号された命令に関連付けられたビットマップの少なくとも一部を選択的に上書きするビットマップを生成するように、前記複数の符号化された視覚出力要素のそれぞれに対応する命令を含む前記少なくとも1つの走査線の記憶場所に対応する命令を順次的に復号化されることを特徴とする請求項11に記載のドキュメント・レンダリング方法。
  13. 前記命令は、色、または不透明度、またはパターン、またはピクセルの範囲、またはラスタ・オペレーション・コードを規定することを特徴とする請求項12に記載のドキュメント・レンダリング方法。
  14. 前記ラスタ・オペレーション・コードは、テキスト・レンダリング、または一般的なバンド・レンダリング、またはグラフィック・レンダリング、バッチ・レンダリング、またはキャッシングであることを特徴とする請求項12に記載のドキュメント・レンダリング方法。
JP2008258706A 2007-10-03 2008-10-03 オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法 Pending JP2009093645A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/866,803 US20090091564A1 (en) 2007-10-03 2007-10-03 System and method for rendering electronic documents having overlapping primitives

Publications (1)

Publication Number Publication Date
JP2009093645A true JP2009093645A (ja) 2009-04-30

Family

ID=40522873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008258706A Pending JP2009093645A (ja) 2007-10-03 2008-10-03 オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法

Country Status (2)

Country Link
US (1) US20090091564A1 (ja)
JP (1) JP2009093645A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010274534A (ja) * 2009-05-28 2010-12-09 Kyocera Mita Corp 画像形成装置及び画像形成プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460063B2 (en) * 2009-01-02 2016-10-04 Apple Inc. Identification, selection, and display of a region of interest in a document
US8549399B2 (en) * 2011-01-18 2013-10-01 Apple Inc. Identifying a selection of content in a structured document
CN103543965A (zh) * 2012-07-09 2014-01-29 北大方正集团有限公司 一种文件处理方法及装置
KR20220157573A (ko) * 2021-05-21 2022-11-29 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 메모리 사이즈의 최적화
WO2023287407A1 (en) * 2021-07-14 2023-01-19 Hewlett-Packard Development Company, L.P. Hardware component initialization

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4203154A (en) * 1978-04-24 1980-05-13 Xerox Corporation Electronic image processing system
US5509115A (en) * 1990-08-08 1996-04-16 Peerless Systems Corporation Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device
JPH06309425A (ja) * 1990-10-12 1994-11-04 Internatl Business Mach Corp <Ibm> グラフィックディスプレイ装置及び方法
JPH04335422A (ja) * 1991-05-10 1992-11-24 Ricoh Co Ltd ソーティング装置
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
US5719598A (en) * 1993-08-23 1998-02-17 Loral Aerospace Corporation Graphics processor for parallel processing a plurality of fields of view for multiple video displays
US6327043B1 (en) * 1994-05-18 2001-12-04 Xerox Corporation Object optimized printing system and method
US6006013A (en) * 1994-05-18 1999-12-21 Xerox Corporation Object optimized printing system and method
AUPM704394A0 (en) * 1994-07-25 1994-08-18 Canon Information Systems Research Australia Pty Ltd Optimization method for the efficient production of images
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5801719A (en) * 1995-11-27 1998-09-01 Sun Microsystems, Inc. Microprocessor with graphics capability for masking, aligning and expanding pixel bands
JP4179483B2 (ja) * 1996-02-13 2008-11-12 株式会社半導体エネルギー研究所 表示装置の作製方法
US5963210A (en) * 1996-03-29 1999-10-05 Stellar Semiconductor, Inc. Graphics processor, system and method for generating screen pixels in raster order utilizing a single interpolator
US5852451A (en) * 1997-01-09 1998-12-22 S3 Incorporation Pixel reordering for improved texture mapping
AUPO478897A0 (en) * 1997-01-24 1997-02-20 Canon Information Systems Research Australia Pty Ltd Scan line rendering of convolutions
US5977980A (en) * 1997-07-14 1999-11-02 Ati Technologies Method and apparatus for determining visibility of a pixel
US6456285B2 (en) * 1998-05-06 2002-09-24 Microsoft Corporation Occlusion culling for complex transparent scenes in computer generated graphics
US7068272B1 (en) * 2000-05-31 2006-06-27 Nvidia Corporation System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline
US6480205B1 (en) * 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
US6646639B1 (en) * 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US6256108B1 (en) * 1998-09-10 2001-07-03 Electronics For Imaging, Inc. Method and apparatus for label composition
JP4365950B2 (ja) * 1998-09-11 2009-11-18 キヤノン株式会社 高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法および装置
US6825941B1 (en) * 1998-09-21 2004-11-30 Microsoft Corporation Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
US6252975B1 (en) * 1998-12-17 2001-06-26 Xerox Corporation Method and system for real time feature based motion analysis for key frame selection from a video
US6924801B1 (en) * 1999-02-09 2005-08-02 Microsoft Corporation Method and apparatus for early culling of occluded objects
US6677952B1 (en) * 1999-06-09 2004-01-13 3Dlabs Inc., Ltd. Texture download DMA controller synching multiple independently-running rasterizers
US6498605B2 (en) * 1999-11-18 2002-12-24 Intel Corporation Pixel span depth buffer
US20020135585A1 (en) * 2000-02-01 2002-09-26 Dye Thomas A. Video controller system with screen caching
AUPQ697100A0 (en) * 2000-04-18 2000-05-11 Canon Kabushiki Kaisha Rendering graphic object based images
US6914618B2 (en) * 2000-11-02 2005-07-05 Sun Microsystems, Inc. Methods and systems for producing A 3-D rotational image from A 2-D image
JP3524529B2 (ja) * 2000-12-19 2004-05-10 株式会社ソニー・コンピュータエンタテインメント コンピュータに実行させるための描画処理プログラム、コンピュータに実行させるための描画処理プログラムを記録した記録媒体、プログラム実行装置、描画装置及び方法
US6677945B2 (en) * 2001-04-20 2004-01-13 Xgi Cayman, Ltd. Multi-resolution depth buffer
US20030002729A1 (en) * 2001-06-14 2003-01-02 Wittenbrink Craig M. System for processing overlapping data
DE60136498D1 (de) * 2001-10-15 2008-12-18 Fujitsu Ltd Hierarchisches sortieren von im virtuellen dreidimensionalen raum verknüpften objekten
AUPR860901A0 (en) * 2001-10-31 2001-11-29 Canon Kabushiki Kaisha Activating a filling of a graphical object
US7430723B2 (en) * 2001-11-29 2008-09-30 Gse Advanced Industrial Technologies, Gmbh System and method for implementing a three-dimensional graphic user interface
US6891536B2 (en) * 2001-11-30 2005-05-10 Canon Kabushiki Kaisha Method of determining active priorities
AU2003900772A0 (en) * 2003-02-21 2003-03-13 Canon Kabushiki Kaisha Reducing the number of compositing operations performed in a pixel sequential rendering system
US20040196483A1 (en) * 2003-04-07 2004-10-07 Jacobsen Dana A. Line based parallel rendering
JP4307222B2 (ja) * 2003-11-17 2009-08-05 キヤノン株式会社 複合現実感提示方法、複合現実感提示装置
JP3889392B2 (ja) * 2003-11-18 2007-03-07 株式会社スクウェア・エニックス 画像描画装置及び方法、プログラム並びに記録媒体
US7538770B2 (en) * 2003-11-28 2009-05-26 Canon Kabushiki Kaisha Tree-based compositing system
US7124261B2 (en) * 2004-02-09 2006-10-17 Arm Limited Access to bit values within data words stored in a memory
US7714865B2 (en) * 2004-03-09 2010-05-11 Canon Kabushiki Kaisha Compositing list caching for a raster image processor
JP4284285B2 (ja) * 2005-02-24 2009-06-24 株式会社東芝 画像処理装置、画像処理方法および画像処理プログラム
US20070216696A1 (en) * 2006-03-16 2007-09-20 Toshiba (Australia) Pty. Limited System and method for document rendering employing bit-band instructions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010274534A (ja) * 2009-05-28 2010-12-09 Kyocera Mita Corp 画像形成装置及び画像形成プログラム

Also Published As

Publication number Publication date
US20090091564A1 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
JP4995057B2 (ja) 描画装置、印刷装置、描画方法、及びプログラム
EP1698968B1 (en) Print control apparatus, control method thereof, and device driver
MXPA03002793A (es) Archivos de contenido de trama mezclada.
US20100033753A1 (en) System and method for selective redaction of scanned documents
JP2009093645A (ja) オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法
JP2008117379A (ja) エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム
JP5644214B2 (ja) 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム
US5784062A (en) Image output device and processing method converting an image formation command into raster format
US7973956B2 (en) High speed printing method and apparatus
US8373903B2 (en) Efficient implementation of raster operations flow
JP2007245723A (ja) ドキュメント・レンダリング・システム、方法およびプログラム
JP2006155308A (ja) 画像形成装置
US9069507B2 (en) Print server, printing system, and computer program product configured to send print data to an image forming apparatus based on obtained designation of the image forming apparatus
US20050088676A1 (en) Printer control program, document operation terminal, document processing system and method of creating printing data
US20040075859A1 (en) Printer instruction processing
JP2001293936A (ja) 描画情報処理装置および描画情報処理方法
JP2010165353A (ja) ドキュメント処理装置のユーザ・インターフェイスを変更するためのシステムおよび方法
JP2008299845A (ja) 透明オブジェクトのレンダリング・システムおよび方法
US20080304097A1 (en) System and method for staged processing of electronic document processing jobs
US8625158B2 (en) Apparatus, method, and computer program product for forming images
JP6755644B2 (ja) 文字処理装置、文字処理方法、文字処理プログラム
JP5424546B2 (ja) 画像処理装置及び画像形成システム
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US20080307296A1 (en) System and method for pre-rendering of combined document pages
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ