JP2008117379A - エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム - Google Patents

エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2008117379A
JP2008117379A JP2007260810A JP2007260810A JP2008117379A JP 2008117379 A JP2008117379 A JP 2008117379A JP 2007260810 A JP2007260810 A JP 2007260810A JP 2007260810 A JP2007260810 A JP 2007260810A JP 2008117379 A JP2008117379 A JP 2008117379A
Authority
JP
Japan
Prior art keywords
document
raster
code
encoded
primary
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
JP2007260810A
Other languages
English (en)
Other versions
JP2008117379A5 (ja
Inventor
Benjamin D Capper
ディー. カッパー,ベンジャミン
Arthur J Poirier
ジェー. ポワリエ,アトゥール
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 JP2008117379A publication Critical patent/JP2008117379A/ja
Publication of JP2008117379A5 publication Critical patent/JP2008117379A5/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/60Editing figures and text; Combining figures or text

Landscapes

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

Abstract

【課題】固定的な部分と動的な部分を有する文書をレンダリングするシステム、方法およびコンピュータプログラムを提供する。
【解決手段】先ず、電子文書が、プライマリラスタコードとして保存される。例えば、フォームのような所定の文書の走査線に対する命令を含んでいる。次いで、オーバーレイデータが受信され、セカンダリラスタコードに変換される。次いで、プライマリラスタコードおよびセカンダリラスタコードが出力され、この際、プライマリおよびセカンダリラスタコードの組み合わせからビットマップ画像文書が生成される。
【選択図】図15

Description

本発明は、文書をレンダリングするシステム、方法およびコンピュータプログラムに関し、特に、フォームを備えた固定的な部分と動的な部分を有する文書をレンダリングするシステム、方法およびコンピュータプログラムに関する。
電子文書は、通常、ワードプロセッサ、描画パッケージ、またはグラフィカルデザインパッケージ等のアプリケーションによって生成される。多数のソフトウェアアプリケーションが存在しているが、よく知られ、現在入手可能なアプリケーションの中には、Microsoft(登録商標)Office製品やAdobe Acrobatを含むAdobe Systems社の製品が含まれている。電子文書は、多くの場合、ページ記述言語(Page Description Language:以下、PDLという)として出力され、PDLは、通常、対応する画像のレイアウトを記述した命令から形成されている。
電子PDL文書は、印刷または閲覧するために、デコードされなければならない。プリンタによるもの等のハードコピー出力は、通常、レンダリングプロセスにおいて、ラスタ画像処理を含むビットマップ化画像へのPDLのデコーディングを必要とする。PDLからビットマップへの変換には、かなりの処理が必要である。これは、フォームの記入および生成の際のように、一連の文書を出力しなければならない場合に特に問題となる。
一般的なフォーム生成動作は、通常は、PDLフォーマットである、固定的なフォームから始まる。また、PDLフォームコンテンツへの追加または変更により、フォームを完成させる補完的なコンテンツが実現される。完成すると、PDL文書全体をビットマップ化画像に変換する必要がある。大量の郵便物や請求書の生成、または任意のその他の反復的な文書生成タスク等の多くのフォームの場合には、それぞれのPDL文書をビットマップ化された形態に変換するために、かなりの処理時間が必要であることが理解されよう。
前述の動作を代替する選択肢は、固定的なフォームコンテンツのビットマップ化された画像を生成して保存するという方法である。そして、補完情報をビットマップ化した後に、固定的なフォームビットマップに対してオーバーレイとして追加する。この動作によれば、それぞれの出力ごとの固定的なフォームコンテンツのレンダリングが回避されるが、ビットマップ化された、あるいはレンダリングされたデータは、通常、特に、高解像度または多色文書の場合に非常に大きいため、大量の記憶容量を必要とする。
ビットマップを再使用するための大量の記憶容量の必要性を回避しつつ、それぞれの出力ごとに固定的なフォームコンテンツと関連したPDLを完全にデコードおよびラスタ化するためのニーズを除去するシステム、方法およびコンピュータプログラムが望まれている。
特開2007−245723号公報
本発明は、上記の従来の問題点に鑑みてなされたもので、固定的な部分と動的な部分を有する文書をレンダリングするシステム、方法およびコンピュータプログラムを提供することを目的とする。また、本発明は、2またはそれ以上の部分を電子的に組み合わせて一つの文書出力を形成する、文書レンダリングのためのシステム、方法およびコンピュータプログラムを提供することを目的とする。さらに、本発明は、ビットマップを再使用するための大量のストレージの必要性を回避しつつ、それぞれの出力ごとに固定的なフォームコンテンツに関連するPDLをすべてデコードおよびラスタ化するニーズを除去するシステム、方法およびコンピュータプログラムを提供することを目的とする。
本発明によるエンコードされたラスタ文書を生成するシステムは、電子文書を、文書出力エンジンによる前記電子文書のレンダリングにおけるドット配置を表す命令を含む、プライマリラスタコードとして保存する記憶手段を有する。本システムは、また、前記電子文書に対応するオーバーレイデータを受信する手段と、受信したオーバーレイデータをセカンダリラスタコードに変換する変換手段を有する。例えば、プライマリラスタコードは、会計フォーム、記録管理フォーム、レターヘッド等の複数の文書処理動作に必要なフォームを表すことができ、セカンダリラスタコードはオーバーレイデータを表すことができる。本システムは、さらに、前記プライマリラスタコードおよび前記セカンダリラスタコードを、これらの組み合わせからビットマップ化画像出力を生成するために、出力する手段を有する。
一実施形態において、本システムは、ページ記述言語にエンコードされた電子ページ記述言語文書を受信する手段を、さらに、含む。また、本システムは、受信した電子ページ記述言語文書にしたがってプライマリラスタコードを生成する変換手段と、生成されたプライマリラスタコードを記憶手段に伝達する手段も含む。
好ましくは、ページ記述言語は、Portable Document FormatまたはPOSTSCRIPT(登録商標)エンコーディングから構成されている。
他の実施形態において、本システムは、プライマリラスタコードおよびセカンダリラスタコードをビットマップ化文書画像にデコードするデコーディング手段と、それから有形の文書(tangible document)を生成するために、ビットマップ化文書画像を関連する文書出力エンジンに伝達する手段をも含む。
さらに他の実施形態においては、本システムは、単一のラスタコード文書を形成するように、セカンダリラスタコードをプライマリラスタコードに付加する手段を、さらに、含む。好ましくは、セカンダリラスタコードは、電子文書の少なくとも一部を上書きする。
本発明によるエンコードされたラスタ文書を生成する方法は、電子文書を、文書出力エンジンによる前記電子文書のレンダリングにおけるドット配置を表す命令を含む、プライマリラスタコードとして記憶装置に保存するステップと、前記電子文書に対応するオーバーレイデータを受信するステップと、受信したオーバーレイデータをセカンダリラスタコードに変換するステップと、前記プライマリラスタコードおよび前記セカンダリラスタコードを、これらの組み合わせからビットマップ化画像出力を生成するために、出力するステップとを含む。
エンコードされたラスタ文書を生成するコンピュータプログラムは、プロセッサに、以下の命令を実行させる。すなわち、命令は、電子文書を、文書出力エンジンによる前記電子文書のレンダリングにおけるドット配置を表す命令を含む、プライマリラスタコードとして記憶装置に保存する命令と、前記電子文書に対応するオーバーレイデータを受信する命令と、受信したオーバーレイデータをセカンダリラスタコードに変換する命令と、前記プライマリラスタコードおよび前記セカンダリラスタコードを、これらの組み合わせからビットマップ化画像出力を生成するために、出力する命令とを含む。
本発明によれば、固定的な部分と動的な部分を有する文書をレンダリングするシステム、方法およびコンピュータプログラムが提供される。
また、本発明によれば、2またはそれ以上の部分を電子的に組み合わせて一つの文書出力を形成する、文書レンダリングのためのシステム、方法およびコンピュータプログラムが提供される。
さらに、本発明によれば、ビットマップを再使用するための大量のストレージの必要性を回避しつつ、それぞれの出力ごとに固定的なフォームコンテンツに関連するPDLをすべてデコードおよびラスタ化するニーズを除去するシステム、方法およびコンピュータプログラムが提供される。
以下、適宜、図面を参照しながら本発明による実施形態の説明を行う。図1に本発明による実施形態のシステム例の機能ブロックダイアグラムが示されている。
以下に詳述する図1のシステムは、いくつかの主要な機能を円滑に実行する。主要な機能には、順序付けられた命令シーケンスに基づいて部分的にレンダリングされた走査線を取得する能力が含まれている。また、これには、ハイレベルレンダリング、ローレベルレンダリングにおいて出会うような2経路レンダリングのためのシステムも含まれている。さらには、本システムは、その特性がフィードフォワードであるため、効率的なレンダリング動作が可能である。図1のシステムは、ローレベルのディスプレイリストレンダリングを提供する。これは、そのローレベルにおけるラスタ画像処理(Raster Image Processing;以下、RIPという)との関連において有効に使用される。本システムは、RIPがページ上のピクセルのマーキングを処理する時点において適切に実行(implement)される。このようなローレベル動作には、指定された色の走査線yにおけるxからx1までのピクセルのバンドのレンダリング等の機能が含まれる。他の適切なローレベル動作は、指定された色の走査線yにおけるxからx1までのグリフビットマップの行のレンダリングである。さらに他の適切なローレベル動作には、指定された色の走査線yにおけるxからx1までの擬似的にランレングスエンコードされた(run length encoded;以下、RLEという)ピクセルグループのレンダリングが含まれる。
図1の全体的なシステムの説明において、処理は、ブロック10における、例えば、電子文書、ページ記述言語文書、テキスト等を含む(但し、これらに限定されない)入力によって始まる。この入力、例えば、ページ記述言語(page description language;以下、PDLという)文書は、ブロック12においてインタープリタに伝達される。ブロック12において解釈された命令(instructions)は、ブロック14における走査線レンダリング命令の生成のために伝達される。次いで、これらの走査線命令は、ブロック16においてバッファリングされ、ブロック18において走査線レンダリング命令リストを生成する。本発明の一実施形態によれば、ブロック10における受信された入力による判定によって、POSTSCRIPT(登録商標)フォーム(form)のようなフォームに遭遇した場合には、このフォームは、好ましくは、ブロック28においてフォームキャッシュ装置に対してレンダリングされる。当業者であれば、このようなレンダリングは、結果的に、PDL文書のハイレベル動作をローレベルレンダリングプリミティブに変換する変換をもたらし、これら変換されたローレベルレンダリングプリミティブは、ブロック28においてフォームキャッシュ装置に保存されることを理解するであろう。したがって、これらのフォームをブロック28のフォームキャッシュ装置から取得可能であり、これらを使用することにより、図1に示されているように、ブロック18において走査線レンダリング命令リストを生成可能である。フォームキャッシュ装置ブロック28の動作については、後ほどさらに詳しく説明する。このような命令は、ブロック24におけるレンダラに適切に、直接、伝達されるか、あるいはディスク22またはその他の揮発性または不揮発性のメモリ等の適切な記憶システムと協働するブロック20におけるディスク入出力マネージャに伝達される。次いで、ブロック24において参照されているレンダラは、レンダリングされた文書を、出力装置によるブロック26における出力のために伝達する。適切な出力装置は、レーザープリンタ、インクジェットプリンタ、ファクシミリ装置等の任意のドットマトリックスまたはピクセルに基づいた出力と、後にレンダリングするために、任意の適切なメモリへのビットマップ画像の保存とを含んでいる。
インタープリタ12、ディスク入出力マネージャ20、レンダラ24等の機能は、プロセッサ、ROM、RAM、オペレーティングシステム等からなる適切なプラットフォーム上で、前述した処理およびその他の処理を実行するコンピュータプログラムによって実行させることができる。
次に図2を参照すると、本発明による一実施形態との関連において使用されるページ表現フォーマットが示されている。前述のように、本システムは、有利には、ローレベルディスプレイリストを使用している。ピクセルを実際にレンダリングするのではなく、本システムは、それぞれのページを記述しているレンダリング命令の保存と、画像を出力エンジンに対してバンドの形態で出力する(band out)時点においてこれらの命令を再生する方法とを提供する。
本システムは、1つのページを走査線のアレイとして取り扱う。本明細書において使用されている「走査線」とは、出力ページ上におけるピクセルの完全な行のことである。それぞれの走査線は、結果的にその走査線のレンダリングをもたらすエンコードされた命令のシーケンスによって適切に表される。走査線レンダリング命令は、1つまたは複数の命令ブロック内に保存されており、これらの命令ブロックは、関連するメモリプールから割り当てられた適切な固定サイズのメモリブロックである。
図2の内容から、ページ30は、一連の走査線y=0〜y=nとして表されており、ここで、nは、ページ30に関連する走査線の数として定められていることを理解されたい。
代表的な走査線32を参照すれば、この走査線は、ページ30上のy=0において完成されていることに留意されたい。走査線y=0は、一連の命令33として表されており、その多くは、以下の説明を理解することによって判明するように、走査線32から明らかである描画に対応している。図2の表現においては、このような命令は、走査線y=0に合致しており、命令33a、33b、33c、および33dを含んでいる。類似の命令の組が、このページ30のページ全体におけるそれぞれの走査線yと関連付けられていることを理解されたい。さらには、以下の内容を参照することによって理解されるように、走査線と関連したコンテンツの複雑さに応じて、さらに少ないまたはさらに多くの数の命令が必要とされるであろうことについても理解されたい。上記の内容に加え、それぞれの走査線は、次の命令を追加する命令ブロックの次の利用可能な領域をポイントするべく機能するポインタデータをも含んでいる。好適な実施形態においては、それぞれの走査線は、その走査線と関連する指定されたグラフィックパラメータの現在の状態に関する情報を保存するべく機能するグラフィック状態をも含んでいる。
RIPプロセスにおいては、特定の命令ブロックと関連した以前の命令に続いて、命令が走査線に対して追加または付加される。図2の走査線36(この場合には、y=6である)に示されているように、走査線が空である場合には、本システムは、新しい空の命令ブロックを適切に割り当てる。好適な実施形態においては、本システムは、エンコーディングまたは変換プロセスにおいて、命令ブロックからの判読を必要としておらず、それぞれのインスタンス内に命令を付加するべく動作しているのみである。出力コントローラに対してページのバンド形成(banding)を実行する時点において、本システムは、命令を再生して個他の走査線をレンダリングし、この後に、これらを、それからの出力のためにプリンタシステムに対して伝達するべく機能していることを理解されたい。
好適な実施形態においては、それぞれの走査線と関連したメモリは、グラフィック状態情報を保存するべく機能する。この状態情報は、走査線に対して命令を追加するプロセスと、最終的なレンダリングプロセスの両方において、適切に使用される。但し、特定の状況においては、性能上の理由から、選択された情報の局所化されたキャッシュを生成することが有利であることを理解されたい。このグラフィック状態に関する適切な情報には、走査線と関連する現在の色が含まれている。適切な既定の色は、適切には、黒である。
また、グラフィック状態情報には、走査線と関連する現在の不透明度も適切に含まれている。好適な実施形態においては、既定の不透明度は、完全な不透明である。また、グラフィック状態情報には、プリンタ制御言語(Printer Control Language:以下、PCLという)との関連において使用されるもの等の現在のラスタ演算子(Raster Operator:以下、ROPという)も適切に含まれている。任意の適切なプリンタ制御言語が好適である。但し、好ましい実施形態は、Hewlett-Packard社によって普及されている(従来、PCL6と呼ばれていた)PCL/XLを利用する。適切な既定のROPは、0である。追加の状態エントリは、適切には、現在のパターンであり、適切な既定値は、「パターンなし」である。以下において理解されるように、本システムは、このようなグラフィック状態要素の変更および使用法について開示している。
本システムにおいては、バイトコードスタイルの命令フォーマットが適切に採用されている。これは、通常1バイトであるopCodeから構成される。opCodeには、1つまたは複数のパラメータバイトと、任意選択の埋め込みデータが適切に後続している。選択されたopCodeは、選択された状態情報を適切に含んでいる。このようなopCodeタイプは、走査線のグラフィック状態を変更するopCode等のすべての後続する命令に対して影響を与える変化を適切に実現する。
本システムは、有利には、4つのopCodeを使用する。ラインアート等の表現には、一般的なバンドレンダリングが好適である。グラフィック状態は、現在の色、ROP、TROP(ternary ROP)、パターン等を設定するのに適している。バッチピクセルレンダリングおよびキャッシングのために、opCodeが適切に提供される。これにより、画像レンダリング、パターン、POSTSCRIPT(登録商標)シェーディング、ポータブルドキュメントフォーマット(Portable Document Format;以下、PDF(登録商標)という)シェーディング等が円滑に実行される。さらには、テキストレンダリングに対応するべく、opCodeが適切に提供される。このような多くのopCodeは、POSTSCRIPT(登録商標)、PCL、POSTSCRIPT(登録商標)および任意のその他の適切な文書言語との関連において使用されるべく定期的に公開および更新された状態において入手可能であることを理解されたい。
次に、図3を参照し、代表的なサンプル画像40を使用することにより、本システムによる実施形態を使用した代表的なレンダリングについて説明することとする。本システムは、ディスク入出力(以下、I/Oともいう)およびメモリサブシステムの初期化と、(走査線グラフィック状態を含む)走査線アレイの既定のまたは空の値に対する割り当ておよび初期化によって始まっている。適切なディスクおよびメモリシステムについては、後程、さらに詳しく説明することとする。図3の代表的な画像には、4つの要素が示されている。第1要素は、月面上におけるNeil Armstrongを描いた画像42の要素である。図3の画像40は、白黒であるが、本レンダリングは、有色並びに白黒の画像において機能することを理解されたい。尚、本明細書における説明においては、本発明に関する明瞭な理解を促進するべく、画像42がグレイカラーであるものと仮定されている。次に、画像40は、(画像40の底部に位置した矩形部分44として示されている)ベクトルグラフィック要素44を含んでいる。また、本システムは、2つのテキストオブジェクトをも示しており、第1オブジェクト46は、写真領域42上に重畳された「Neil Armstrong」であり、第2オブジェクト48は、白でレンダリングされており、かつ、矩形エリア44上に重畳されている「On The Moon」という言葉である。
図3においては、説明のために、2つの代表的な走査線y=600およびy=7000が選択されている。走査線y=600は、画像42およびテキスト46の両方と交差している。走査線y=7000は、画像42、矩形44、およびテキスト48と交差している。まず、各部分(グラフィック、形状、およびテキスト)のそれぞれの記述について個別に説明することとする。
まず、Neil Armstrong42の画像を参照し、記述を実現するための適切なメカニズムについて説明することとする。42のもの等の写真画像は、左から右へのフォーマットにおいて適切に表されている。ラスタ画像処理動作においては、純粋な画像レンダリングのケースに頻繁に遭遇する。本明細書における説明においては、ソース画像が、プリンタ等の文書出力装置の解像度と同一の解像度を有しているものと仮定している。一例に過ぎないが、このような解像度は、適切には、600dpi(dot per inch)である。但し、入力および出力解像度レベルの両方について、任意の解像度を適切に利用可能であることを理解されたい。また、入力と出力の解像度間における変換も想定されており、かつ、これは、本明細書から理解されるように、スケーリング命令によって適切に実現されることについても理解されたい。また、例示を目的として、適切な8ビットのグレイ画像が提示されている。CMY、CMY(K)、RGB、または任意の加算または減算的なプライマリカラーセット等の任意の適切なパレット表現が適切に使用されることをさらに理解されたい。一般的なルールとして、加算的なプライマリカラーセットは、ビデオディスプレイ装置等の能動的な表示生成器において有利に使用されており、減算的なカラーセットは、プリントアウト等の受動的な表示において有利に使用される。
図4には、図3の画像表現の構築における開始時点が示されており、画像は、参照符号40’の電子文書として表されている。参照符号49は、走査線のアレイを示しており、このそれぞれは、図3に示されている写真40に対応した電子ページ40’と関連付けられている。電子ページ40’によって表されている画像の記述を構築する開始時点においては、命令ブロックは、まだ割り当てられておらず、アレイ49内のすべての走査線構造は、既定の値に設定されている。
図5Aのフローチャートの更なる検討により、この画像の構築プロセスについて詳述することとする。このフローにおいては、ステップ50において、画像を受信する。ステップ52において、ソース画像の行をデコードすることにより、ステップ54に示されている未加工の画像行を形成する。次いで、ステップ56において、スケーリングと、ランレングスの判定を実行する。これが完了すると、ステップ58に進み、この時点において、一連の入力色値およびピクセルランを含むバッファリングを実行する。その後、ステップ60において、出力と関連した装置固有の色空間に対する色値の変換を実行する。ステップ62において、この値を一連の装置色値およびピクセルランに変換する。次に、ステップ64において、特定の行の影響を受けるそれぞれの走査線に対して、関連する色およびランレングスバッファと関係した命令を付加する。次に、ステップ66において、画像のそれぞれの行が完了しているかどうかに関する判定を実行する。完了していない場合には、フローは、次の行を処理するべくステップ52に戻る。最後の行が完了した際には、手順は、ステップ68において終了することになる。
要すれば、代表的な写真等のソース画像用の処理は、ソース画像のそれぞれのピクセル行ごとに進行する。必要に応じて、スケーリングを実行する。この例においては、画像の入力と出力は、いずれも、対応する600dpiにおいて固定されている。したがって、このような状況においては、スケーリングは不要であろう。色値および対応するランレングスをバッファリングする。これらの値を代表的な出力であるCYMK等の関連する出力の色空間に変換する。本システムは、レンダリング対象行の影響を受ける走査線を算出する。そのソース画像行をレンダリングする対応した命令を、その走査線と関連した命令ブロックに対して付加する。このプロセスは、それぞれの行ごとに実行される。
図3の代表的な画像においては、写真部分42は、y=600およびy=7000における走査線の両方に影響を与えている。したがって、画像40の全体と関連したデータを変換する際には、なんらかの点において、部分42と関係したレンダリングにより、これらの走査線に命令が配置されるという結果がもたらされることになる。
y=600における代表的な走査線を参照すれば、ソースから(レンダリング対象である入力から)グレイ画像行等の画像が取得されることになる。この例においては、入力と出力の両方が600dpiに設定されているため、スケーリングは不要である。y=600における走査線の多くの部分は、黒であり、かつ、特徴なしとなる。これに、ヘルメットの上部におけるなんらかの詳細が後続しており、これに、はるか右におけるさらに黒いスペースと月の詳細が後続することになろう。このラインが完了したら、図6Aに示されている適切な表現が生成されることになる。この記述は、実際の表現の複雑性によって変化することになるが、好適な実施形態の例示としては、十分であろう。
次に、図7Aを参照すれば、適切な出力装置の色空間への変換が完了した際の表現が例示されている。尚、図6Aにおけると同様に、この表現は、例示を目的として提供されているものに過ぎない。実際の記述は、入力および出力画像のさらに正確な詳細および特性との関係において変化することになる。図7Aの情報は、y=600における走査線に対応した選択座標において始まっており、画像ページにしたがって適切に編成される。命令ブロックを割り当てる。この命令ブロックは、適切なopCodeを意味する1バイトコードを適切に含んでいる。第1命令ブロック内において、適切な値は、開始opCodeを表している。画像の開始x座標を設定する次のopCodeを形成する。次に、図7Aに示されているもの等の値を適切な画像データエンコーディング方式に変換する。このプロセスを、画像全体の処理が完了するまで、画像と関連したそれぞれの行ごとに実行する。
図6Bおよび図7Bは、前述の図6Aおよび図7Aとの関連において示されているものに代わる実施形態を示している。図6Bは、カラー画像におけるソース値の代替エンコーディングを示しており、図7Bは、適切な出力装置の色空間への変換後の代替エンコーディングを示している。いずれの場合にも、2つのパラレルアレイを使用して値をエンコードする。いずれの場合にも、第1アレイは、ランレングスのアレイであり、第2のものは、色値のアレイである。この実施形態においては、関連する画像ランのページ座標として定義された次のようなアレイフォーマットにおいて、図7Bのページ座標値がエンコードされていることを理解されたい。
,y
,y
したがって、黒値(これは、8ビット表現においては、適切には、255である)の第1画像ランは、x=100〜2499であり、これは、y=600において1ピクセルの高さである。対応するランの高さがy−yとなり、幅がx−xとなるように、xおよびyの値は含まれていない。
図6Cおよび図7Cは、図6Bおよび図7Bの実施形態に対応する実施形態を示しており、この場合には、グレイスケール画像がエンコードされる。この実施形態においては、C、Y、M値がすべてゼロであり、したがって、出力は、グレイスケールになると考えられる。したがって、すべての実施形態は、カラーまたはグレイスケールのレンダリングを想定していることを理解されたい。
図5Bは、前述の図6B、図7B、および図6C、図7Cとの関連において示されているパラレルアレイフォーマットにおける画像構築プロセスのフローチャートを示している。このフローチャートにおいては、ステップ70において、画像を受信する。ステップ72において、ソース画像の行をデコードすることにより、ステップ74に示されている未加工の画像行を形成する。次に、ステップ76において、スケーリングと、ランレングスの判定を実行する。これが完了したら、ステップ78に進み、この時点において、一連の入力色値およびピクセルランを含むバッファリングを実行する。この実施形態においては、パラレルアレイが形成されていることに留意されたい。その後、ステップ80において、出力と関連する装置固有の色空間への色値の変換を実行する。ステップ82において、この値を、一連の装置色値およびピクセルランにバッファリングしており、こちらもパラレルアレイとして形成される。次いで、ステップ84において、特定の行の影響を受けるそれぞれの走査線に対して、関連する色およびランレングスバッファと関係した命令を付加する。次に、ステップ86において、画像のそれぞれの行が完了しているかどうかに関する判定を実行する。完了していない場合には、フローは、新しい行を処理するべくステップ72に戻る。最後の行が完了した際に、手順は、ステップ80において終了することになる。
図8を参照すれば、y=600およびy=7000の場所によって表されている画像部分42を含む完全な表現の一部が示されている。画像42のすべての側面が、対応するエントリをそれぞれの走査線内に具備することになることを理解されたい。図9を参照し、図3の矩形44との関連において説明することとする。この例においては、グレイの矩形44は、ベクトルの形態において適切に表されている。適切なベクトルレンダリングにおいては、台形、次いで、単一の走査バンドへの形状の分解を実行する。但し、多くのその他のケースにおいては、一例として、複雑な形状は、個々の1ピクセルの高さのバンドを描画する一連の要求を結果的にもたらすことになることを理解されたい。
ベクトル矩形のレンダリングは、単純である。走査変換は、1つの出力走査線当たりに1つのバンドをレンダリングする要求を結果的にもたらすことになり、それぞれのバンドは、同一の開始x座標および幅wを具備している。本システムは、矩形が(前述のもの42等の)画像の一部とオーバーラップしているかどうかを気にする必要はない。例えば、画像データおよびベクトルデータを含む複合画像の場合には、その走査線用の画像データおよび命令ブロックの後に、矩形記述等のベクトルデータが付加されることになる。この記述においては、レンダリングの後に、基礎をなすオブジェクトの上または下のいずれに描画が表れるのかを判定または規定する必要はない。
矩形44の例においては、変換により、最終的に、1ピクセルの高さのバンドを描画する一連の要求が結果的にもたらされることになる。それぞれの要求ごとに、有効な走査線に対して命令ブロックが割り当てられているかどうかをチェックするための判定を実行する。これが実行されていない場合には、命令ブロックを割り当てる。次に、走査線用の現在の色が、レンダリング対象のものと整合しているかどうかに関する判定を実行する。整合していない場合には、適切なopCodeを設定して必要な色を選択する。次いで、開始x座標および対応するバンドの長さと関連したそれぞれの影響を受けるラインに対して、レンダリングと関連するopCodeを付加する。矩形部分44内においては、処理は、最終的にy=7000等の走査線に結び付くことになり、この場合には、メモリが既に割り当てられており、したがって、このようなメモリを再度割り当てる必要はない。前述の画像の部分42と同様に、黒等の既定の色を選択し、かつ、必要に応じて、命令を付加することにより、適切な色を設定することになる。一例として、グレイ矩形は、4バイトによって定義された8ビットコンポーネントレベルのCYMKグレイを定義する0、0、0、128の値を適切に設定することになる。走査線7000に関して継続すれば、バンドをレンダリングするためのopCodeのバイトコード(「opRenderBand」)が命令ブロックに対して適切に付加され、この後には、開始x座標(適切には、2バイト)と、幅w(こちらも、適切には、2バイト)が後続している。
したがって、以上の内容から、本表現は、写真部分42と矩形部分44の両方に関する情報を含んでいることを理解されたい。次に、テキスト空間要素の構築について説明することとする。
図3のサンプル画像40には、テキストの観点において、ストリング46および48が含まれている。テキスト情報をレンダリングするには、まず、必要な文字を必要なサイズにおいてメモリ内の1ビットグリフ内にレンダリングするべく要求する。グリフビットマップ内のそれぞれの行ごとに、その行を必要な色において適切な出力走査線にレンダリングする命令を追加する。したがって、このような命令の前に、必要に応じて、現在の色を選択する。代表的な例においては、すべての走査線の既定の色は黒であるという観点において、ストリングのテキスト46については、これを白に設定しなければならない。これは、opCode(例えば、選択された値に対するopSetColor等の1バイトコード)によって適切に実現される。一例として、CYMK色空間において、0,0,0,0は、白の4バイト値を適切に表している。図12の走査線600内においては、opGlyphBand用の1バイトコード、グリフが始まる次の座標用の2バイト、およびグリフの幅用の2バイトが付加されている。
図10を参照すれば、テキストストリング46内の第1の文字に対応した文字「N」が示されている。図10は、この文字と関連する適切な1ビットのグリフ画像を示している。図11には、前述の走査線600における「N」グリフの一部が示されている。着色されていない単一ビット画像の場合には、黒で示されているビットマップの各部分は、白として描画され、白の部分は、透明として適切に示される。次いで、この情報が、グラフィックおよびベクトルに基づいた画像について構築された以前の表現に対して、それぞれの走査線ごとに付加される。前述のように、命令ブロックがy=600に対してまだ割り当てられていない場合には(この走査線は、端部とオーバーラップしている)、命令ブロックが割り当てられることになる。
レンダリングが完了したら、本システムは、グリフデータの対応する行を再生成するための十分な記録情報を具備する。
それぞれのテキストストリング内の残りの文字を前述のように処理する。同一のテキストストリング内の後続の文字は、以前の文字について色が設定されており、かつ、その以前のものと異なる色を具備するように次の文字が選択されていない限り、色を設定する必要がないことを理解されたい。
1つまたは複数の画像部分を含む画像の完全な記述が完了したら、本システムは、出力を実現するべく画像のバンド形成ステップ(banding)に進む。このステップにおいては、本システムは、現在の実施形態においては、通常、長さが128本の走査線である完全な圧縮されていないバンド用の十分なメモリを適切に提供している。バンドは、このバンド内に含まれるそれぞれの標準走査線と、これらの走査線と関連するopCode命令を見出すことにより、充填される。
図13は、先ほど詳述したサンプル画像におけるy=7000と関連した命令の例を提供している。図に示されているのは、この走査線と関連した命令を含む適切なバッファのコンテンツである。レンダリングプロセスにおいては、関連するエンジンには、関連した走査線をレンダリングするためのメモリブロックに対するポインタが付与される。これは、その走査線と関連した命令を処理することによって完了する。レンダリングは、まず、走査線グラフィックプロセッサをリセットして既定値を選択することによって始まることになる。次いで、命令を対応するブロックから取得し、実行することにより、宛先メモリブロック内へのレンダリングが完了する。図13の走査線y=7000の例においては、まず、第1のopCodeが取得される(これは、opBeginImageである)。このopCodeは、開始x座標である最初の2バイトを適切にアドレス指定する。この値がフェッチされたら、本システムは、関連する命令バッファ内のエンコードされた画像データを通じて反復することにより、対応する宛先メモリブロック内においてピクセルをプロットする。
図示の例においては、この時点において、宛先メモリブロックは、Neil Armstrongの足下の月の1ピクセルの高さのスライスを有する走査線を含んでいる。次いで、opSetColorを取得して色を設定する。この例においては、これは、前述の矩形のグレイを規定している0,0,0,128値である。次に定義されているopCodeは、開始x座標およびバンド幅を取得するopRenderBandであり、これは、以前にレンダリングされた写真画像上にグレイの矩形のバンドをレンダリングする手順を結果的にもたらすことになる。次いで、グリフデータ(これは、コード「O」文字のスライスであり、これは、選択色が白である)をレンダリングするopCodeを取得する。このレンダリングを宛先メモリブロックに対して伝達する。最後に、このバンドに対して影響を与えるすべての残りの文字について、テキスト文字のレンダリングを実行する。関連するバンドのすべてのレンダリングが完了したら、最終ページ上に印刷するための(あるいは、さもなければ、文書出力装置に対して出力するための)準備が整っている。この例においては、y=7000に関するレンダリングが完了したら、y=7001における走査線に進み、ページが完全にレンダリングされて最終的な出力のためのシステムに対して完全に伝達されるまで、以下同様に継続することになる。
まず、図1を再度参照した後に、図14を参照することにより、当業者には、図1のシステムが、動的な部分と固定的な部分を有していることが明らかとなろう。動的な部分は、ブロック10〜26によって適切に表されており、固定的な部分は、有利には、ブロック28によって表されている。例えば、固定的な部分は、フォームを表現可能であり、動的な部分は、保存されたフォーム上に内蔵されるオーバーレイデータを表している。次に、図14を参照すれば、本発明によるフォームキャッシュ装置28の一実施形態を示す機能ブロックダイアグラムが示されている。図14に示されているように、フォームキャッシュ装置28は、文書処理動作において使用される1つまたは複数のフォームを保存するべく適合された様々なコンポーネントを適切に有している。当業者であれば、本発明の動作の際に、1つまたは複数のフォームに対応する1つまたは複数のフォームキャッシュ装置を実装可能であることを理解するであろう。好ましくは、フォームキャッシュ装置28、並びに、その構成コンポーネントは、ハードウェア、ソフトウェア、またはこれらの適切な組み合わせとして実装可能である。フォームキャッシュ装置28は、当業者には明らかなように、フォームキャッシュ装置28の動作を制御するために適切に適合されたフォームコントローラ1402を含んでいる。好ましくは、フォームコントローラ1402は、プリミティブ変換、レンダラブロック1408、およびバンド生成器ブロック1412を管理する。
プリミティブ変換ブロック1404は、先ほど詳述したように、ローレベルなレンダリングプリミティブをopCodeに変換する。好ましくは、プリミティブと関連するオブジェクトタグは、opCode内において黙示的であり、かつ、別個のデータとして保存されてはいない。当業者であれば、不透明度値は、色表現にしたがって別個のチャネル内に保存可能であることを理解するであろう。
中間レンダリングコンポーネントブロック1406は、プリミティブ変換ブロック1404において生成されたopCodeによって表されるフォームデータを保存するべく有利に適合されている。図1との関連において前述したように、本システムは、RIPがページ上のピクセルのマーキングを処理する時点において有効に実行される。したがって、RIPが、キャッシュされているフォームを使用するようにフォームコントローラブロック1402に対して通知した場合に、コントローラブロック1402は、レンダラ1408を起動することにより、図14にキャッシュブロック1410として示されている一時的な単一の走査線バッファ内にopCodeを走査線ごとにレンダリングする。走査線バッファブロック1410が一杯になったら、ブロック1410内のデータは、ブロック1412におけるバンド生成器に転送される。したがって、当業者であれば、opCodeがレンダラブロック1408を介してピクセルデータに変化していることを理解するであろう。次いで、バンド生成器ブロック1412は、バンドごとのオブジェクトタグと共に、ピクセルデータを、不透明度を含むカラーバンドに連結する。RIPは、カラーバンドを適切な出力装置に送付することにより、これらのバンドを消費し、この結果、フォームが実際の出力媒体にレンダリングされることになる。当業者であれば、バンド生成器ブロック1412によって出力されるカラーバンドは、opCode表現内に保存されるローレベルのレンダリングプリミティブとして他のフォームキャッシュ装置に送付可能であることを理解するであろう。
当業者であれば、図14のフォームキャッシュ装置28の表現は、例示を目的としたものにすぎないことを理解するであろう。代替実施形態によれば、フォームキャッシュ装置28は、走査線レンダリング命令のみから構成可能であり、次いで、これらが、図1のシステムにしたがって、さらに取得および処理されることになる。したがって、当業者であれば、図1および図14に示されているフォームキャッシュ装置28は、スタンドアローン動作と、動的な部分との関連における動作との能力を有していることを理解するであろう。
本発明による一実施形態によれば、図1において前述したシステムは、フォームキャッシュ装置28からの電子文書を保存および取得するべく適切に適合されている。好ましくは、電子文書は、図2との関連において前述したもの等の中間フォーマットにおいて保存される。当業者であれば理解するように、図2によって表されている部分的にレンダリングされたフォーマットは、その文書の対応するビットマップフォーマットよりも少ない量の記憶空間を必要としている。当業者であれば、このような記憶装置は、有利には、同一のフォームが関連する文書出力装置によって反復的に出力されるフォーム処理において使用するのに適していることを理解するであろう。電子文書は、まず、電子PDL文書の形態において受信され、これがインタープリタによって解釈されることにより、プライマリラスタコードが結果的に得られる。このプライマリラスタコードは、同一のフォームを呼び出す後続の文書処理動作において取得可能である。プライマリラスタコードは、先ほど詳述したように、順序付けされた命令シーケンスに基づいて部分的にレンダリングされた走査線を表している。
フォームとの関連において新しい題材を構成するグラフィカルオブジェクト等のオーバーレイデータは、任意の適切な手段を介して取得される。例えば、フォームに記入するテキスト、レターヘッドの下の追加の図等が、適切なオーバーレイデータを表している(但し、これらに限定されない)。次いで、前述の方法を介してオーバーレイデータをセカンダリラスタコードに変換する。本発明による一実施形態によれば、セカンダリラスタコードをプライマリラスタコードに対して付加することにより、単一のラスタコード文書を結果的に得ている。当業者には明らかなように、このようなイベントは、プライマリラスタコードの1つまたは複数の部分がセカンダリラスタコードによって上書きされるという結果を生成可能である。
次いで、最終的な文書のビットマップ画像を生成するべく、プライマリラスタコードとセカンダリラスタコードを出力する。中間ラスタコードを使用するビットマップの生成に関する方法については、先ほど詳述しており、かつ、これは、ここに記述されている方法に対して同様に適用可能である。その後、ビットマップ画像は、有形の文書を生成するために、出力装置に転送される。
次に、図15を参照すれば、本発明にしたがった実施形態によるエンコードされたラスタ文書を生成する動作を示すフローチャートが示されている。処理は、ステップ1502において、電子文書をプライマリラスタコードとして保存することにより、始まっている。好ましくは、プライマリラスタコードは、フォーム等の所与の文書のそれぞれの走査線用の命令を有する。次いで、ステップ1504において、オーバーレイデータを受信しており、次いで、ステップ1506において、これをセカンダリラスタコードに変換する。次いで、ステップ1508において、プライマリおよびセカンダリラスタコードを出力しており、この結果、ステップ1510において、組み合わせられたプライマリラスタコードおよびセカンダリラスタコードからビットマップ画像文書を生成する。
次に、図16を参照すれば、本発明にしたがった一実施形態によるエンコードされたラスタ文書を生成する動作を示すフローチャートが示されている。先ずステップ1602で、電子ページ記述言語文書を取得する。好ましくは、ページ記述言語は、ポータブルドキュメントフォーマットまたはPOSTSCRIPT(登録商標)エンコーディングである。次いで、ステップ1604において、図1〜図12において前述した方法にしたがい、受信した電子ページ記述言語文書に基づいて、プライマリラスタコードを生成する。次いで、ステップ1606において、プライマリラスタコードを関連する記憶装置またはこのようなコードのキャッシュに伝達する。ステップ1608において、伝達されたプライマリラスタコードを関連する記憶装置に保存する。したがって、本発明の一実施形態によれば、プライマリラスタコードは、例えば、会計フォーム、記録管理フォーム、レターヘッド等の複数の文書処理動作に必要なフォームに対応する。
次いで、ステップ1610において、オーバーレイデータを当技術分野において既知の適切な手段を介して受信する。好ましくは、オーバーレイデータは、以前に保存されているフォーム上に挿入されるテキストまたはグラフィカルオブジェクト等の既存のフォームに追加される追加データに対応している。次いで、ステップ1612において、図1〜図12との関連において前述した方法により、オーバーレイデータをセカンダリラスタデータに変換する。その後、ステップ1614において、プライマリラスタコードおよびセカンダリラスタコードを出力しており、この結果、ステップ1616において、ビットマップ画像文書が生成される。好ましくは、このビットマップ画像文書は、組み合わせられたプライマリラスタコードとセカンダリラスタコードにしたがって生成される。
次に図17を参照すれば、本発明の一実施形態によるエンコードされたラスタ文書を生成する動作を示すフローチャートが示されている。ステップ1702において始まり、電子文書を関連する記憶装置またはキャッシュ内にプライマリラスタコードとして保存する。好ましくは、プライマリラスタコードは、フォームを表しており、これは、追加またはオーバーレイデータを伴う複数の文書処理動作に使用可能である。当業者であれば、このようなプライマリラスタコードは、好ましくは、先ほど詳述した方法にしたがって生成されていることを理解するであろう。次いで、ステップ1704において、オーバーレイデータを受信しており、ステップ1706において、セカンダリラスタデータに変換する。当業者には、このオーバーレイデータのセカンダリラスタコードへの変換は、前述の方法によって有利に実現されていることが明らかであろう。
ステップ1708において、単一のラスタコード文書を生成するべく、セカンダリラスタコーをプライマリラスタコードに対して付加するべきであるかどうかに関する判定を実行する。セカンダリラスタコードをプライマリラスタコードに対して付加するべきであると判定された場合には、フローは、ステップ1710に進み、この結果、セカンダリラスタコードがプライマリラスタコードに付加され、結果的に単一のラスタコード文書が得られることになる。当業者であれば、前述のように、本発明によって採用されている方法によれば、プライマリラスタコードの一部にセカンダリラスタコードの1つまたは複数の部分を上書き可能であることを理解するであろう。例えば、セカンダリラスタコードがプライマリラスタコードに付加されることに伴って、セカンダリラスタコード内に表されているそれぞれの走査線用の命令が、プライマリラスタコードの対応する走査線用の命令の末尾に追加される。当業者であれば、このような付加の結果として、プライマリおよびセカンダリラスタコードの両方を使用してそれぞれの走査線が完全にレンダリングされることにより、基本的に、プライマリラスタコードによって表されたフォームに、セカンダリラスタコードによって表されたテキストまたはグラフィカルオブジェクトオーバーレイデータが記入された出力文書が得られることを理解するであろう。次いで、ステップ1712において、この単一のラスタコード文書を当技術分野において既知の任意の適切な手段によって出力する。
ステップ1714において、単一のラスタコード文書をデコードしており、この結果、ステップ1716において、デコードされた単一のラスタコード文書にしたがって、ビットマップ画像文書を生成する。次いで、フローはステップ1724に進み、ここで、ビットマップ画像文書を関連する文書出力エンジンに伝達する。ステップ1726において、ビットマップ画像に基づいて、有形の文書を関連する文書出力エンジンによって出力する。
ステップ1708を再度参照し、セカンダリラスタコードがプライマリラスタコードに対して付加されるべきではないと判定された場合には、フローはステップ1718に進み、ここで、プリマリおよびセカンダリラスタコードを任意の適切な手段によって出力する。次いでステップ1720において、プライマリラスタコード文書およびセカンダリラスタコード文書をデコードしており、この結果、ステップ1722において、組み合わせられたプライマリラスタコードおよびセカンダリラスタコードからビットマップ画像文書が生成される。次いで、ステップ1724において、ビットマップ画像文書を関連する文書出力エンジンに対して伝達する。その後、ステップ1726において、ビットマップ化画像文書を有形の文書として出力する。
本発明は、ソースコード、オブジェクトコード、コード中間ソース、および部分的にコンパイルされたオブジェクトコードの形態、あるいは、本発明の実装において使用するのに好適な任意のその他の形態のコンピュータプログラムをも含んでいる。コンピュータプログラムは、好適には、スタンドアローンのアプリケーション、ソフトウェアコンポーネント、スクリプト、またはその他のアプリケーションに対するプラグインとすることができる。本発明が組み込まれているコンピュータプログラムは、有利には、担体上において実施されており、この担体は、例えば、ROMまたはRAM等の記憶媒体、CD−ROM等の光学記録媒体、またはフロッピー(登録商標)ディスク等の磁気記録媒体等のコンピュータプログラムを搬送する能力を有する任意のエンティティまたは装置である。担体は、電気または光ケーブルによって、あるいは、無線またはその他の手段によって、伝達される電気または光信号等の任意の伝送可能な担体である。コンピュータプログラムは、好適には、サーバからインターネットを介してダウンロードされる。また、コンピュータプログラムは、集積回路に組み込むことも可能である。前述の本発明の原理をコンピュータに実質的に実行させるコードを収容するそのような任意およびすべての実施形態は、本発明の範囲にある。
本発明の好ましい実施形態の以上の説明は、例示と説明のために行った。説明は網羅的ではなく、本発明を開示した形態に限定しようとするものでもない。以上の開示内容に鑑み、明らかな変更または変形が可能である。例えば、本発明は、2あるいはそれ以上の部分が電子的に組み合わされ、一つの文書出力を形成する、任意の文書レンダリングに適用可能である。実施形態は、本発明の原理とその実際的な応用例を最もよく示し、それにより当業者が、本発明を、意図された特定の使用に適した様々な実施形態において様々な修正で使用できるように選択され説明された。このような変更および変形のすべては、正しく、適法に、かつ、公正に付与された範囲にしたがって解釈された際に添付する特許請求の範囲の請求項によって定められる本発明の範囲にある。
本発明による実施形態のシステム例の機能ブロックダイアグラムである。 本発明による実施形態との関連において使用されるページ表現フォーマットの例である。 本発明による実施形態におけるレンダリングを説明するためのサンプル画像である。 図3に示したサンプル画像をレンダリングするための開始ページ表現である。 本発明による実施形態におけるレンダリングの動作例を示すフローチャートである。 本発明による実施形態におけるレンダリングの動作例を示すフローチャートである。 本発明による実施形態における例示的なレンダリングの未加工ピクセルとランレングスを示す図である。 本発明による実施形態における例示的なレンダリングの未加工ピクセルとランレングスを示す図である。 本発明による実施形態における例示的なレンダリングの未加工ピクセルとランレングスを示す図である。 本発明による実施形態における例示的なレンダリングのCYMKピクセルおよびランレングスを示す図である。 本発明による実施形態における例示的なレンダリングのCYMKピクセルおよびランレングスを示す図である。 本発明による実施形態における例示的なレンダリングのCYMKピクセルおよびランレングスを示す図である。 本発明による実施形態におけるサンプル画像の表現を示す図である。 本発明による実施形態における他のサンプル画像の表現を示す図である。 本発明による実施形態における文字「N」のビットマップを示す図である。 本発明による実施形態における文字「N」ののビットマップラインを示す図である。 本発明による実施形態におけるテキスト要素の表現を示す図である。 本発明による実施形態における走査線と関連した命令を含むバッファのコンテンツの例を示す図である。 本発明による実施形態におけるフォームキャッシュ装置の機能ブロックダイアグラムの例である。 本発明による実施形態において、エンコードされたラスタ文書を生成する動作を示すフローチャートである。 本発明による実施形態において、エンコードされたラスタ文書を生成する動作を示すフローチャートである。 本発明による実施形態において、エンコードされたラスタ文書を生成する動作を示すフローチャートである。

Claims (18)

  1. 電子文書を、文書出力エンジンによる前記電子文書のレンダリングにおけるドット配置を表す命令を含む、プライマリラスタコードとして保存する記憶手段と、
    前記電子文書に対応するオーバーレイデータを受信する手段と、
    受信したオーバーレイデータをセカンダリラスタコードに変換する変換手段と、
    前記プライマリラスタコードおよび前記セカンダリラスタコードを、これらの組み合わせからビットマップ化画像出力を生成するために、出力する手段と
    を有することを特徴とするエンコードされたラスタ文書を生成するシステム。
  2. ページ記述言語にエンコードされた電子ページ記述言語文書を受信する手段と、
    前記受信した電子ページ記述言語文書にしたがって前記プライマリラスタコードを生成する変換手段と、
    生成されたプライマリラスタコードを前記記憶手段に伝達する手段と
    を、さらに、有することを特徴とする請求項1に記載のエンコードされたラスタ文書を生成するシステム。
  3. 前記プライマリラスタコードおよび前記セカンダリラスタコードをビットマップ化文書画像にデコードするデコーディング手段と、
    ビットマップ化文書画像から有形の文書を生成するために、前記ビットマップ化文書画像を文書出力エンジンに伝達する手段と
    を、さらに、有することを特徴とする請求項1に記載のエンコードされたラスタ文書を生成するシステム。
  4. 単一のラスタコード文書を形成するように前記セカンダリラスタコードを前記プライマリラスタコードに付加する手段を、さらに、有することを特徴とする請求項1に記載のエンコードされたラスタ文書を生成するシステム。
  5. 前記セカンダリラスタコードは、前記電子文書の少なくとも一部を上書きすることを特徴とする請求項4に記載のエンコードされたラスタ文書を生成するシステム。
  6. 前記ページ記述言語は、Portable Document Formatエンコーディングから構成されることを特徴とする請求項2に記載のエンコードされたラスタ文書を生成するシステム。
  7. 電子文書を、文書出力エンジンによる前記電子文書のレンダリングにおけるドット配置を表す命令を含む、プライマリラスタコードとして記憶装置に保存するステップと、
    前記電子文書に対応するオーバーレイデータを受信するステップと、
    受信したオーバーレイデータをセカンダリラスタコードに変換するステップと、
    前記プライマリラスタコードおよび前記セカンダリラスタコードを、これらの組み合わせからビットマップ化画像出力を生成するために、出力するステップと
    を含むことを特徴とするエンコードされたラスタ文書を生成する方法。
  8. ページ記述言語にエンコードされた電子ページ記述言語文書を受信するステップと、
    受信した前記電子ページ記述言語文書にしたがって前記プライマリラスタコードを生成するステップと、
    生成されたプライマリラスタコードを前記記憶装置に伝達するステップと
    を、さらに、含むことを特徴とする請求項7に記載のエンコードされたラスタ文書を生成する方法。
  9. 前記プライマリラスタコードおよび前記セカンダリラスタコードをビットマップ化文書画像にデコードするステップと、
    ビットマップ化文書画像から有形の文書を生成するために、前記ビットマップ化文書画像を文書出力エンジンに伝達するステップと
    を、さらに、含むことを特徴とする請求項7に記載のエンコードされたラスタ文書を生成する方法。
  10. 単一のラスタコード文書を形成するように前記セカンダリラスタコードを前記プライマリラスタコードに付加するステップを、さらに、含むことを特徴とする請求項7に記載のエンコードされたラスタ文書を生成する方法。
  11. 前記セカンダリラスタコードは、前記電子文書の少なくとも一部を上書きすることを特徴とする請求項10に記載のエンコードされたラスタ文書を生成する方法。
  12. 前記ページ記述言語は、Portable Document Formatエンコーディングから構成されることを特徴とする請求項8のエンコードされたラスタ文書を生成する方法。
  13. プロセッサに、
    電子文書を、文書出力エンジンによる前記電子文書のレンダリングにおけるドット配置を表す命令を含む、プライマリラスタコードとして記憶装置に保存する命令と、
    前記電子文書に対応するオーバーレイデータを受信する命令と、
    受信したオーバーレイデータをセカンダリラスタコードに変換する命令と、
    前記プライマリラスタコードおよび前記セカンダリラスタコードを、これらの組み合わせからビットマップ化画像出力を生成するために、出力する命令と
    を実行させることを特徴とするエンコードされたラスタ文書を生成するコンピュータプログラム。
  14. プロセッサに、
    ページ記述言語にエンコードされた電子ページ記述言語文書を受信する命令と、
    受信した前記電子ページ記述言語文書にしたがって前記プライマリラスタコードを生成する命令と、
    生成されたプライマリラスタコードを前記記憶装置に伝達する命令と
    を、さらに、実行させることを特徴とする請求項13に記載のエンコードされたラスタ文書を生成するコンピュータプログラム。
  15. プロセッサに、
    前記プライマリラスタコードおよび前記セカンダリラスタコードをビットマップ化文書画像にデコードする命令と、
    ビットマップ化文書画像から有形の文書を生成するために、前記ビットマップ化文書画像を文書出力エンジンに伝達する命令と
    を、さらに、実行させることを特徴とする請求項13に記載のエンコードされたラスタ文書を生成するコンピュータプログラム。
  16. プロセッサに、単一のラスタコード文書を形成するように前記セカンダリラスタコードを前記プライマリラスタコードに付加する命令を、さらに、実行させることを特徴とする請求項13に記載のエンコードされたラスタ文書を生成するコンピュータプログラム。
  17. 前記セカンダリラスタコードは、前記電子文書の少なくとも一部を上書きすることを特徴とする請求項16に記載のエンコードされたラスタ文書を生成するコンピュータプログラム。
  18. 前記ページ記述言語は、Portable Document Formatエンコーディングから構成されることを特徴とする請求項14に記載のエンコードされたラスタ文書を生成するコンピュータプログラム。
JP2007260810A 2006-10-06 2007-10-04 エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム Pending JP2008117379A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/539,502 US7898686B2 (en) 2006-10-06 2006-10-06 System and method for encoded raster document generation

Publications (2)

Publication Number Publication Date
JP2008117379A true JP2008117379A (ja) 2008-05-22
JP2008117379A5 JP2008117379A5 (ja) 2010-05-06

Family

ID=39301493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007260810A Pending JP2008117379A (ja) 2006-10-06 2007-10-04 エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US7898686B2 (ja)
JP (1) JP2008117379A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614823B2 (en) 2011-03-24 2013-12-24 Fuji Xerox Co., Ltd. Technique for processing print data in parallel using plural raster image processors in order to increase printing speed
US8830506B2 (en) 2011-03-24 2014-09-09 Fuji Xerox Co., Ltd. Image processing system utilizing plural parallel processors and image processing method utilizing plural parallel processors

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101392166B1 (ko) * 2006-12-18 2014-05-08 삼성전자주식회사 휴대용 디스플레이 장치의 이미지 편집 방법, 편집 이미지생성 방법 및 편집된 이미지 저장 방법 및 장치
US7928992B2 (en) * 2007-05-30 2011-04-19 Kabushiki Kaisha Toshiba System and method for transparent object rendering
WO2008157322A1 (en) * 2007-06-13 2008-12-24 Quattro Wireless, Inc. Displaying content on a mobile device
JP5531531B2 (ja) * 2009-09-25 2014-06-25 富士ゼロックス株式会社 画像処理システム及び画像処理プログラム
US20150015586A1 (en) * 2012-03-22 2015-01-15 Google Inc. Systems and methods for rendering and downsampling an image
US10460500B1 (en) * 2018-04-13 2019-10-29 Facebook Technologies, Llc Glyph rendering in three-dimensional space

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131052A (ja) * 1997-07-14 1999-02-02 Fuji Xerox Co Ltd 文書処理システム
JP2000207154A (ja) * 1999-01-20 2000-07-28 Fuji Xerox Co Ltd 画像処理システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3360905B2 (ja) * 1993-01-04 2003-01-07 ゼロックス・コーポレーション プリンティングシステム
WO2000053420A1 (fr) * 1999-03-10 2000-09-14 Seiko Epson Corporation Ajustement du deplacement de l'emplacement d'un point a l'aide d'informations selon lesquelles aucun point ne doit etre forme pour chaque unite de pixel
US7167259B2 (en) * 2000-05-16 2007-01-23 International Business Machines Corporation System and method for merging line work objects using tokenization and selective compression
ES2296722T3 (es) * 2000-09-14 2008-05-01 Patrick Mcsweeney Mejoras relacionadas con remolques basculantes.
EP1612728A3 (de) * 2001-04-06 2008-06-11 Océ Printing Systems GmbH Verfahren, System und Computerprogramm zum Erstellen eines elektronischen Dokuments aus gerasterten Bilddaten
US7242492B2 (en) * 2002-01-25 2007-07-10 Hewlett-Packard Development Company, L.P. Proxied printing services
JP2005212360A (ja) * 2004-01-30 2005-08-11 Canon Inc 画像形成方法、画像処理方法およびインクジェット記録装置
US20060268316A1 (en) * 2005-05-24 2006-11-30 Condon John B Systems and methods for fast color processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131052A (ja) * 1997-07-14 1999-02-02 Fuji Xerox Co Ltd 文書処理システム
JP2000207154A (ja) * 1999-01-20 2000-07-28 Fuji Xerox Co Ltd 画像処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614823B2 (en) 2011-03-24 2013-12-24 Fuji Xerox Co., Ltd. Technique for processing print data in parallel using plural raster image processors in order to increase printing speed
US8830506B2 (en) 2011-03-24 2014-09-09 Fuji Xerox Co., Ltd. Image processing system utilizing plural parallel processors and image processing method utilizing plural parallel processors

Also Published As

Publication number Publication date
US20080084572A1 (en) 2008-04-10
US7898686B2 (en) 2011-03-01

Similar Documents

Publication Publication Date Title
JP4995057B2 (ja) 描画装置、印刷装置、描画方法、及びプログラム
US7583397B2 (en) Method for generating a display list
JP2008117379A (ja) エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム
US6512595B1 (en) Data processing apparatus, data processing method, and medium
JP2000511364A (ja) 表示データ用の格納条件を減少させる方法及び装置
US6860203B2 (en) Method and apparatus for printing computer generated images
EP1033645A2 (en) Late binding of device settings in a host raster image processor
US6597471B1 (en) Information processing apparatus, its control method, and memory medium
JP2007245723A (ja) ドキュメント・レンダリング・システム、方法およびプログラム
US20090091564A1 (en) System and method for rendering electronic documents having overlapping primitives
JP2004152255A (ja) 情報処理装置及び情報処理方法及び印刷制御プログラム
JPH1166327A (ja) 画像処理方法および画像処理装置および記録媒体
JP2008228168A (ja) 画像処理装置およびプログラム
KR20010104212A (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
JP2001293936A (ja) 描画情報処理装置および描画情報処理方法
JP4514168B2 (ja) 画像処理システム及び画像処理方法
US20090284766A1 (en) Image Synthesis Method, Print System and Image Synthesis Program
US20100027037A1 (en) Image Processing Controller and Image Processing Apparatus
JP2011053263A (ja) 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体
JP6238589B2 (ja) 画像形成装置、画像処理方法、およびプログラム
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
JP2009066926A (ja) 画像処理装置及び画像形成システム
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US20140153055A1 (en) Image processing apparatus, image processing method, and storage medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100318

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228