(57)【特許請求の範囲】
【請求項１】
メモリに格納されたグラフィカルデータの視覚表示を再描画するとともに、デジタルドキュメントを処理する方法であって、それによって現在の表示が更新された表示によって置換えられ、再描画要求に応じて、直ちに現在の表示を更新された表示の第１の近似表現に置換え、最終的な更新された表示を生成し、および近似表現を最終的な更新された表示に置換えることを含み、
少なくとも、前記第１の近似表現は、最終的に更新された表示において要求され、かつ、近似の前記更新された表示の要求されたコンテンツにスケーリング（１２４）される解像度よりも小さい解像度を持つ少なくとも１つのビットマップ（１２０）表現に対して、前記最終的に更新された表示において要求されるコンテンツを近似するようにスケーリング（１２４）を行い、その結果を前記メモリに格納し、
前記視覚表示は、前記グラフィカルデータを複数の固定された所定の大きさのビットマップタイル（１３６）に分割し、前記タイルをオフスクリーンバッファ内の指標付き配列に格納し、前記グラフィカルデータの要求された視覚表現を選択された前記オフスクリーンバッファ内に格納された一組の前記タイルからアセンブルすることによってアセンブルされ、
前記グラフィカルデータの現在の視覚表現が、
（ａ）前記オフスクリーンバッファ内に格納された前記選択された一組の前記タイルから冗長なタイルを除去し、
（ｂ）更新された表示の範囲を覆うために新しいタイルをビルドし、
（ｃ）前記オフスクリーンバッファ内の冗長なタイルを置換えて前記選択された一組の前記タイル（１３８）へ新しいタイルを加え、そして、指標付き配列の指標を更新し、
（ｄ）前記更新された配列から更新された視覚表現をアセンブルすることによって更新され、
複数のグラフィカルオブジェクト（１−８）が少なくとも１ページ上に配置され、前記デジタルドキュメントを複数のゾーン（Ａ−Ｄ）に分割し、それぞれのゾーンのために、前記ゾーン内及び前記ゾーンに重なったオブジェクトのリストを生成し、
前記ドキュメントの部分（１４２）の視覚表現は、前記ゾーン（Ａ−Ｄ）のうちの前記ドキュメントの前記部分を交差するものを決定し、前記ドキュメントの前記部分を交差する前記ゾーンに関連付けられた一組の前記オブジェクト（１−８）を決定し、および前記視覚表現を生成するために前記一組のオブジェクトを処理することにより生成されることを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、近似表現を最終的な更新された表示に置換える前に、前記第１の近似表現を更新された表示の１以上の連続した改良された近似表現に置換えることを含むことを特徴とする方法。
【請求項３】
請求項１または請求項２に記載の方法であって、前記第１のおよび続きの近似表現は、前記最終的な更新された表示を生成することと並行して行われることを特徴とする方法。
【請求項４】
請求項１ないし３のいずれか１項に記載の方法であって、連続した改良された近似表現は、その上のスーパーインポーズされたベクトルアウトラインを有する前記更新された表示の減少された解像度のビットマップ表現の前記スケーリングされたバージョンを含むことを特徴とする方法。
【請求項５】
請求項１に記載の方法であって、前記タイルの配列は複数のソースからのグラフィカルデータを表現することを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、前記複数のソースは、データ処理システムおよび前記データ処理システムのオペレーティングシステム上で実行されるアプリケーションを含むことを特徴とする方法。
【請求項７】
請求項１ないし請求項６のいずれか１項に記載の方法であって、並列に前記タイルの部分集合を処理することを含むことを特徴とする方法。
【請求項８】
請求項１に記載の方法であって、前記各々のゾーン（Ａ−Ｄ）は、前記タイル（１３６）のうちの少なくとも１つに対応することを特徴とする方法。
【請求項９】
請求項１ないし８のいずれか１項に記載の方法であって、現在の表示を前記更新された表示の第１の近似表現に置換える行程は、現在の表示の少なくとも一部を、表示のその部分の更新の近似表現で置換えることを含むことを特徴とする方法。
【請求項１０】
請求項１ないし９のいずれか１項に記載の方法であって、ビットマップのビューが、補間を用いて、第１の解像度（１２０）から第２の解像度（１２４）へビットマップをスケーリングすることによって更新されることと特徴とする方法。
【請求項１１】
請求項１ないし請求項１０のいずれかに記載の方法を実行するプロセッサを含むデジタルドキュメント処理システム。
【請求項１２】
請求項１１に記載されたシステムであって、
複数の所定のデータフォーマットのうちの一つでソースデータ（１０、１０ａ、１０ｂ）を表現する入力バイトストリームを受ける入力機構（１１）と、
前記バイトストリームを解釈するための解釈機構（１２）と、
前記バイトストリームからの解釈されたコンテンツを内部表現データフォーマット（１４）に変換するための変換機構（１２）と、および
出力機器（２６）を駆動するための出力表現データ（２４）を生成するために前記内部表現データを処理するための処理機構（１８、２２）を含むことを特徴とするデジタルドキュメント処理システム。
【請求項１３】
請求項１２に記載のシステムであって、前記ソースデータ（１０、１０ａ、１０ｂ）はデジタルドキュメントのコンテンツおよび構造を定義し、前記内部表現データ（１４）は、前記コンテンツとは別個に、複数のデータ形式を定義するジェネリックオブジェクトとジェネリックオブジェクトの特定のインスタンスの特性を定義するパラメータとを使用して前記構造を記述することを特徴とするシステム。
【請求項１４】
請求項１３に記載のシステムであって、ジェネリックオブジェクト形式のライブラリ（１６）をさらに含み、前記内部表現データ（１４）は前記ライブラリのコンテンツに基づくことを特徴とするシステム。
【請求項１５】
請求項１３または請求項１４に記載のシステムであって、パーシングおよびレンダリングモジュールへの第１制御入力（４０）に基づいて、前記内部表現データ（１４）の少なくとも部分の特定のビューにおけるオブジェクトおよびパラメータベースの表現（２０）を生成するパーシングおよびレンダリングモジュール（１８）を含むことを特徴とするシステム。
【請求項１６】
請求項１５に記載のシステムであって、前記パーシングおよびレンダリングモジュール（１８）から前記特定のビューの表現（２０）に基づいた前記オブジェクトとパラメータを受けるために、および表現に基づいた前記オブジェクトおよびパラメータを特定の出力機器（２６）と互換性のある出力データフォーマット（２４）に変換する形状処理モジュール（２２）をさらに含むことを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムであって、前記形状処理モジュール（２２）は、オブジェクトの境界を定義するバウンダリーボックス、バウンダリーボックスによって区切られたオブジェクトの実際の形状を定義する形状、オブジェクトのデータコンテンツ、およびオブジェクトの透明性に基づいて前記オブジェクトを処理することを特徴とするシステム。
【請求項１８】
請求項１７に記載のシステムであって、前記形状処理モジュール（２２）は、前記オブジェクトの端にグレイスケールエイリアス除去を適用することを特徴とするシステム。
【請求項１９】
請求項１６、請求項１７または請求項１８に記載のシステムであって、前記形状処理モジュール（２２）はパイプラインアーキテクチャを有することを特徴とするシステム。
【請求項２０】
請求項１３から請求項１９のいずれか１項に記載のシステムであって、前記オブジェクトパラメータは次元の、物理の、および時相のパラメータを含むことを特徴とするシステム。
【請求項２１】
請求項１２から請求項２０のいずれか１項に記載のシステムであって、システムは色データを記述するためにクロミナンス／ルミナンスに基づいたカラーモデルを用いることを特徴とするシステム。
【請求項２２】
請求項１２ないし請求項２１のいずれか１項に記載のシステムであって、システムは１以上のデータソースから１以上の組のソースデータを処理するために、および１以上の組の出力表現データを生成するために、システムの全体でまたは部分でこれら複数の動作を並行して実現することを特徴とするシステム。
【請求項２３】
データ処理システムのプロセッサにグラフィカルユーザインターフェースを実現させるプログラムであって、ユーザインターフェースによって用いられるインタラクティブ視覚表示が、請求項１１ないし請求項２２のいずれか１項に記載のデジタルドキュメント処理システムのプロセッサよって生成されることを特徴にするプログラム。
【請求項２４】
請求項２３に記載のグラフィカルユーザインターフェースを取り入れたことを特徴とするデータ処理機器。
【請求項２５】
データ処理および／または記憶符号化するためのハードウェア機器であって、請求項１１ないし請求項２２のいずれか１項に記載のデジタルドキュメント処理システムを含むことを特徴とするハードウェア機器。
【請求項２６】
請求項２５に記載のハードウェア機器であって、コアプロセッサシステムをさらに含むことを特徴とするハードウェア機器。
【請求項２７】
請求項２６に記載のハードウェア機器であって、前記コアプロセッサはＲＩＳＣプロセッサであることを特徴とするハードウェア機器。
【請求項２８】
請求項１１ないし請求項２２のいずれか１項に記載のデジタルドキュメント処理システムを含むことを特徴とするデータ処理システム。
【請求項２９】
請求項２８に記載のデータ処理システムであって、前記データ処理システムは携帯データ処理機器を含むことを特徴とするデータ処理システム。
【請求項３０】
請求項２９に記載のデータ処理システムであって、前記携帯データ処理機器は、無線テレコミュニケーションシステムを含むことを特徴とするデータ処理システム。
【請求項３１】
請求項２８に記載のデータ処理システムであって、前記データ処理システムは、ネットワークユーザ端末を含むことを特徴とするデータ処理システム。
【請求項３２】
データ処理システムと共に用いるための周辺機器であって、請求項１１ないし請求項２２のいずれか１項に記載のデジタルドキュメント処理システムを含むことを特徴とする周辺機器。
【請求項３３】
請求項３２に記載の周辺機器であって、前記周辺機器は視覚表示機器であることを特徴とする周辺機器。
【請求項３４】
請求項３２に記載の周辺機器であって、前記周辺機器はハードコピー出力機器であることを特徴とする周辺機器。
【請求項３５】
請求項３２に記載の周辺機器であって、前記周辺機器は入力機器であることを特徴とする周辺機器。
【請求項３６】
請求項３２に記載の周辺機器であって、前記周辺機器はネットワーク機器であることを特徴とする周辺機器。
【請求項３７】
請求項３２に記載の周辺機器であって、前記周辺機器は多機能周辺装置であることを特徴とする周辺機器。
【発明の詳細な説明】
【０００１】
本発明は、データ処理方法およびシステムに関する。より詳しくは、本発明は、「グラフィカルデータ」および「デジタルドキュメント」（ここで定義されるような）を処理するための方法とシステム、並びにそのような方法とシステムを取り入れたデバイスに関する。一般的に言うと、本発明は、例えば視覚表示またはハードコピーとしてのソースデータおよびドキュメントの出力表現を生成することに関する。
【０００２】
ここに使われたように、「グラフィカルデータ」、「グラフィカルオブジェクト」、および「デジタルドキュメント」という語は、データ処理システムによって処理された任意の形式のデジタル表現を記載するために使われ、それは、最後には、典型的には表示され、視覚的に複製されることによって（例えば、視覚表示ユニットまたはプリンタによって）、ある形式で、全体または部分で、人間のユーザに出力しようとする。そのようなデータ、オブジェクトおよびドキュメントは、テキスト、グラフィカルイメージ、動画化されたグラフィカルイメージ、フルモーションビデオイメージ、インタラクティブアイコン、ボタン、メニュー、ハイパーリンクを含むがそれに限定されない表現が可能な任意の機能を含むことができる。デジタルドキュメントは、オーディオ（サウンド）要素等の非視覚要素も含むことができる。デジタルドキュメントは、一般的に、グラフィカルデータおよび／または少なくとも一つのグラフィカルオブジェクトを含むか、またはそれから成ることができる。
【０００３】
パーソナルコンピュータシステム等のデータ処理システムは、典型的には、複数の構内または遠隔のソースの内のある一つから源を発し、広く様々なデータフォーマット（「ファイルフォーマット」）のうちのある一つに存在することができる「デジタルドキュメント」を処理することを必要とされる。例えば、視覚表示または印刷された複写であるかどうか等のドキュメントの出力バージョンを生成するために、コンピュータシステムは、元々のデータファイルを解釈し、関連した出力機器（例えば、モニターまたはその他の視覚表示機器、またはプリンタ）と互換性がある出力を生成することを必要とする。一般的に、このプロセスは、データファイル、コンピュータのオペレーティングシステム、要求された出力機器に固有のソフトウェア「ドライバ」、およびある場合における（特にモニターまたはその他の視覚表示ユニットのために）拡張カードの形式の追加のハードウェアを解釈するように適合されたアプリケーションプログラムを含む。
【０００４】
出力を生成するためのデジタルドキュメントの処理へのこの従来のアプローチは、ハードウェア資源、ソフトウェアオーバーヘッド、および処理時間の点で非効率的であり、無線テレコミュニケーションシステムを含む低電力、携帯データ処理システム、またはネットワーク端末等の低コストデータ処理システムには、完全に不適当である。従来のデジタルドキュメント処理システムでは、要求された方法で相互作用するために多重システム構成要素（ハードウェアとソフトウェア構成要素の両方を含む）を構成する必要と、異なるシステム（例えば、フォーマット、色再生等）による同一のソースマテリアルの処理における非整合性を含む他の問題に直面する。加えて、デジタルドキュメント処理への従来のアプローチは、ファイルフォーマット構成要素の共通性および／または再使用性を利用することは不可能である。
【０００５】
本発明の目的は、グラフィカルデータ、グラフィカルオブジェクト、およびデジタルドキュメントを処理するための方法およびシステム、およびそのような方法およびシステムを取り入れた機器を提供することであり、それは前述した従来の方法およびシステムの欠点を除去し、または不要にする。
【０００６】
本発明は、その様々な態様において、ここに添付した請求の範囲により定義される。また、本発明の態様および特徴は以下の記述から明白である。
【０００７】
第１の態様において、本発明は、グラフィカルデータの視覚表示を再描画する方法であって、それによって現在の表示が更新された表示によって置換えられ、再描画要求に応じて、直ちに現在の表示を更新された表示の第１の近似表現に置換え、最終的な更新された表示を生成し、および近似表現を最終的な更新された表示に置換えることを含む。
【０００８】
第２の態様において、本発明は、グラフィカルデータの様々な視覚表現を生成する方法であって、前記グラフィカルデータを固定された所定の大きさの複数のビットマップタイルに分割し、前記タイルを指標付き配列に格納し、前記グラフィカルデータの要求された視覚表現を選択された一組の前記タイルからアセンブルすることを含む。
【０００９】
前記第２の態様の方法は、第１の態様の方法で用いられることができる。
【００１０】
本発明の第３の態様は、デジタルドキュメントを処理する方法であって、前記ドキュメントは少なくとも１ページ上に配置された複数のグラフィカルオブジェクトを含み、前記ドキュメントを複数のゾーンに分割し、および各々のゾーンのために、前記ゾーン内に含まれおよび重なっているオブジェクトのリストを生成することを含む。
【００１１】
第２の態様の方法は、第３の態様の方法で用いられることができる。
【００１２】
本発明の第４の態様によって、第１ないし第３の態様のいずれか一つの方法を実現するために適合されたデジタルドキュメント処理システムが提供される。
【００１３】
本発明の第４の態様による好ましいシステムは、
複数の所定のデータフォーマットのうちの一つでソースデータを表現する入力バイトストリームを受ける入力機構と、
前記バイトストリームを解釈するための解釈機構と、
前記バイトストリームからの解釈されたコンテンツを内部表現データフォーマットに変換するための変換機構と、および
出力機器を駆動するために適合された出力表現データを生成するために前記内部表現データを処理するための処理機構を含む。
【００１４】
さらなる態様では、本発明は、データ処理システムのためのグラフィカルユーザインターフェースであって、ユーザインターフェースによって用いられるインタラクティブ視覚表示が、本発明の第４の態様によるデジタルドキュメント処理システムによって生成されるグラフィカルユーザインターフェースと、そのようなグラフィカルユーザインターフェースを取り入れたデータ処理システムに関する。
【００１５】
なお、さらなる態様では、本発明は、本発明の第４の態様によるデジタルドキュメント処理システムを取り入れた様々な形式の機器に関し、ハードウェア機器、データ処理システム、および周辺機器を含む。
【００１６】
本発明の実施態様が、添付の図面を参照して、単に例によって、記載される。  図面を今参照すると、図１は、本発明の様々な態様の方法を実現する好ましいデジタルドキュメント処理システム８を図示する。本発明の方法を詳細に述べる前に、システム８が最初に背景として述べられる。本発明の方法が、ここに記載されたようなシステム８以外の処理システムで実現できることが理解される。
【００１７】
一般的に言うと、システム８は、既知のフォーマットのデータファイルから成る１以上のソースドキュメント１０を処理する。システム８への入力は、ソースドキュメントのコンテンツから成るビットストリームである。入力モジュール１１は、ファイル名から（特にファイル名拡張子）、または特定のファイル形式のコンテンツの既知の特性から、ドキュメント内の明示のファイル形式認識等の様々な基準のうちのある一つに基づいて、ソースドキュメントのファイルフォーマットを認識する。バイトストリームは、ソースドキュメントのファイルフォーマットに固有の「ドキュメントエージェント」１２に入力される。ドキュメントエージェント１２は、入ってくるバイトストリームを解釈し、システム８によって用いられる標準のフォーマットにそれを変換するように適合され、結果としてシステム８による処理に適した「ネイティブ」フォーマットのソースデータの内部表現１４となる。システム８は一般的に複数のドキュメントエージェント１２を含み、各々は対応する複数の所定のファイルフォーマットのうちの一つを処理するように適合されている。
【００１８】
システム８は、デジタルカメラまたはスキャナー等の入力機器から受けた入力にも適用されることができる。この場合、入力バイトストリームは、そのような「ソースドキュメント」からよりもむしろ、入力機器から直接に源を発することができる。しかし、入力バイトストリームは、さらに、システムによる処理のために適した予測されたデータフォーマットであり、システムの目的のために、そのような入力機器から受けられた入力は「ソースドキュメント」とみなされることができる。
【００１９】
ドキュメントエージェント１２は、内部表現１４を生成するために標準オブジェクトのライブラリ１６を用い、それは、ドキュメント内の様々な総称オブジェクトの固有のインスタンスの特性を定義するパラメータと共に、その形式がライブラリ１６に定義されたような総称オブジェクトの収集の点からソースドキュメントのコンテンツを記述する。内部表現はシステムに固有のファイルフォーマットで保存／格納されることができることと、システム８に入力される可能なソースドキュメント１０の範囲はシステムの固有のファイルフォーマットのドキュメントを含むことができることが理解される。内部表現１４は、もし必要であれば適当な変換エージェントを用いて（不図示）、他のファイルフォーマットの任意の範囲に変換されることもできる。
【００２０】
内部表現１４で用いられる総称オブジェクトは、典型的に、テキスト、ビットマップグラフィクス、およびベクトルグラフィクス（動画化されたまたはされていない、２次元または３次元の）、ビデオ、オーディオ、およびボタンおよびアイコン等の様々な形式のインタラクティブオブジェクトを含む。総称オブジェクトの固有のインスタンスを定義するパラメータは、一般的に、オブジェクトの物理的形状、大きさ、および位置を定義する次元の座標と、その特性が時間に伴って変化するオブジェクトを定義するための時間的なデータを含む。テキストオブジェクトのために、パラメータは通常は、文字列に適用される字体および大きさをも含む。オブジェクトパラメータは、透明性等のその他の特性も定義することができる。
【００２１】
内部表現１４のフォーマットは、オブジェクト形式およびそのパラメータにより記述されたように、様々なオブジェクトの「コンテンツ」から、ドキュメントの「構造」（または「レイアウト」）を分離し、例えば、テキストオブジェクトの文字列（コンテンツ）がオブジェクトの次元パラメータから分離され、グラフィックオブジェクトのイメージデータ（コンテンツ）がその次元パラメータから分離される。これはドキュメント構造を極めて小さい手段で定義できるようにし、遠隔で格納され必要なときにのみシステムによってフェッチされるコンテンツデータのためのオプションを提供する。
【００２２】
内部表現１４は、「高レベル」記述の点から、ドキュメントとその構成要素のオブジェクトを記述する。
【００２３】
内部表現１４は、コンテキスト仕様表現２０または内部表現１４によって表現されるドキュメントの「ビュー」を生成するモジュール１８をパースしレンダーするために入力される。要求されたビューは、ドキュメント全体の、またはその部分（部分集合）とすることができる。パーサ／レンダラー１８は、見えるコンテキストと生成される固有のドキュメントビューの関連した時間的パラメータを定義するビュー制御入力４０を受ける。例えば、システムは、ドキュメントの部分のズームされたビューを生成し、ドキュメントの隣接した部分を表示するためにズームされたビューをパンまたはスクロールすることを要求されることができる。ビュー制御入力４０は、内部表現のどの部分が特定のビューのために必要とされるか、およびどのようにして、いつ、およびどのくらいの間、ビューが表示されるべきかを決定するため、パーサ／レンダラー１８によって解釈される。
【００２４】
コンテキスト仕様表現／ビュー２０は、基本的形状およびパラメータの点から表現される。
【００２５】
パーサ／レンダラー１８は、ソースドキュメント１０の要求されたビュー２０を生成するとき、内部表現１４の関連する部分上で、追加の前処理機能も果たす。ビュー表現２０は、表示機器またはプリンタ等の出力機器２６（または複数の出力機器）を駆動するために適当なフォーマットで、最終処理が最終出力２４を生成するために、形状プロセッサモジュール２２に入力される。
【００２６】
パーサ／レンダラー１８の前処理機能は、色修正、解像度調整／向上、およびエイリアス除去を含む。解像度向上は、目標出力機器によって表示されまたは再生されたとき、オブジェクトのコンテンツの読みやすさを保存するスケーリング機能を含むことができる。解像度調整は、文脈依存であることができ、例えば、特定のオブジェクトの表示解像度は、表示されたドキュメントビューがパンされまたはスクロールされるときは、減少されることができ、ドキュメントビューが静止しているときは（本発明の第１の態様に関連してさらに以下に記載されるように）、増加されることができる。
【００２７】
例えば、内部表現により表現されたドキュメント１０がマルチフレーム動画を含む場合等で、内部表現１４のコンテンツの更新をトリガリングする目的で、パーサ／レンダラー１８と内部表現１４との間にフィードバックパス４２があっても良い。
【００２８】
パーサ／レンダラー１８からの出力表現２０は、「原始」オブジェクトの点からドキュメントを表現する。各々のドキュメントオブジェクトのため、表現２０は好ましくは、少なくとも、物理的に直方体のバウンダリーボックス、バウンダリボックスによって区切られるオブジェクトの実際の形状、オブジェクトのデータコンテンツ、およびその透明性の点からオブジェクトを定義する。
【００２９】
形状プロセッサ２２は表現２０を解釈し、それを目標出力機器２６に適当な出力フレームフォーマット２４、例えば、プリンタのためのドットマップ、プロッタのために設定されたベクトル命令、表示機器のためのビットマップ、に変換する。形状プロセッサ２２への出力制御入力４４は、特定の出力機器２６に適した出力２４を生成するために、形状プロセッサ２２のための必要なパラメータを定義する。
【００３０】
形状プロセッサ２２は、好ましくは、「形状」（すなわちオブジェクトの輪郭形状）、「塗りつぶし」（オブジェクトのデータコンテンツ）、および「アルファ」（オブジェクトの透明性）の観点からビュー表現２０によって定義されるオブジェクトを処理し、要求されたビューと出力機器に適したスケーリングとクリッピングを行い、および出力機器に適した表現でオブジェクトを表現する（典型的には、大部分の形式の表示機器またはプリンタのために、走査変換等によるピクセルの点から）。
【００３１】
形状プロセッサ２２は好ましくは走査変換されたピクセルの点からオブジェクトの形状を定義するエッジバッファを含み、また好ましくは輪郭形状にエイリアス除去を適用する。エイリアス除去は好ましくは、オブジェクト境界にわたってグレイスケールランプを適用することにより、出力機器２６の特性により決定される方法で行われる（すなわち、制御入力４４に基づいて）。このアプローチは、メモリ効率の良い形状クリッピングおよび形状交差処理を可能にする。
【００３２】
ルックアップテーブルが複数のトーン応答曲線を定義するのに用いられることができ、非線形レンダリング制御を可能にする（ガンマ訂正）。
【００３３】
形状プロセッサ２２によって処理された個々のオブジェクトは、複合の出力フレーム２４で組み合わされる。最終出力の質は、出力制御入力４４を介してユーザによって制御されることもできる。
【００３４】
形状プロセッサ２２は、マルチステージパイプラインアーキテクチャを有し、それは、形状プロセッサパイプラインの複数のインスタンスを用いることにより、それ自体を複数のオブジェクト、複数のドキュメント、または１以上のドキュメントの複数の部分集合の並列処理に加える。パイプラインアーキテクチャは、もし必要であれば、追加の処理機能（例えば、フィルタ機能）を含むために簡単に修正されることもできる。複数の形状プロセッサ２２からの出力は、複数の出力フレーム２４を生成でき、または単一の出力フレーム２４に組み合わされることができる。
【００３５】
システムアーキテクチャは事実上モジュールである。これは、例えば、追加のソースファイルフォーマットを処理するために、要求されたようにおよびされたときに、さらなるドキュメントエージェントが追加されることが可能となる。モジュールアーキテクチャは、ライブラリ１６、パーサ／レンダラー１８、または形状プロセッサ２２等の個々のモジュールが、他のモジュールへの変更を必要とすることなく、修正されまたは更新されることも可能にする。
【００３６】
全体としてシステムアーキテクチャも、それ自体を、１以上のドキュメントエージェント１２、１２ａを介して、１以上のファイルフォーマットで、複数の入力ドキュメント１０ａ、１０ｂ等、またはドキュメントの部分集合の同時処理のため、全体でまたは部分での並行処理に加える。一体化されたモジュールのシステムの特性は、システムモジュールの複数のインスタンスが、可能な処理またはメモリ資源によって制限されるだけで、要求されたようにまたはされたときに、データ処理システムまたはデバイス内で広げられることができるようにする。
【００３７】
全体としてのシステムおよび特に形状プロセッサ２２によって提供される柔軟性のある並行処理の可能性は、与えられた機器のための表示パスが、可能な帯域幅およびメモリのために最適化されることを可能にする。表示更新および動画はより早く、より少ないメモリを必要とするように改良される。用いられるオブジェクト／パラメータドキュメントモデルは決定性および無矛盾である。システムは、完全にスケーラブルであり、複数のＣＰＵにわたるシステムの複数のインスタンスを与える。
【００３８】
パーサ／レンダラー１８および形状プロセッサ２２は、可能なメモリおよび帯域幅の使用を最適化する方法で、ビュー制御入力４０に応じて動的に相互作用する。視覚表示を駆動するとき、例えば、表示がユーザによってスクロールまたはパンされているときに、これは特に再描画機能に適用される。
【００３９】
最初に、このシステムは、ドキュメントビューの表示解像度またはビュー内の１以上のオブジェクトが、表示が修正されるような方法によって動的に変化するように、本発明の第１の態様によってスケーラブル遅延再描画モデルを実現できる。これは、典型的には、スクリーン上で動くときは減少された解像度で表示され、止った時に完全な解像度で表示されるオブジェクトを伴う。このシステムは、この目的のために複数のレベルの表示品質で用いられることができる。典型的には、これは、プレビルドされたドキュメントオブジェクトの低解像度ビットマップ表現および／または補間有りまたは無しで動的ビルドされたおよびスケーリングされたビットマップを伴う。このアプローチは高度に応答可能な表示を提供し、それは可能なメモリ／帯域幅の最良の使用をもたらす。
【００４０】
本発明のこの第１の態様を具体化する方法が、図２Ａおよび図２Ｂに図示される。
【００４１】
再描画要求がシステム内で開始されたとき、現在のフレームの全部または部分が、再レンダーおよび表示されることが必要となる。フレームを再レンダーするプロセスはかなりの量の時間がかかる。
【００４２】
図２Ａを参照すると、再描画要求１００が開始されたとき、出力フレームは、近似の再描画された表示の要求されたコンテンツにスケーリングされたドキュメントまたはその部分の１以上の減少された解像度（「サムネイル」）のビットマップを用いて、直ちに更新される（１０２）。図１のシステム８において、この目的のために用いられるビットマップ表現は、パーサ／レンダラー１８によってプレビルドされ、再描画要求に応じて使用されるために格納される。この再描画表示の近似は、表示の完全な再レンダリングよりも、大幅に速く生成されることができ、再レンダリングが完了する間に一時的な表示を供給する。図２Ａの実施態様において、表示の完全なレンダリング（１０４）は、近似再描画１０２に並行して行われ、一度完了すると（１０６）、一時的な表示を置換える。この方法は、完全な再レンダリング１０４が完了する間、近似の一時的表示の１以上の追加の中間の更新１０８を含むことができる。これらの中間の更新は、より良い質でスケーリングされたビットマップを用いることによって、および／または、ビットマップ上のオブジェクトのベクトルアウトラインをスーパーインポーズすることによって、漸進的に、一時的な表示を「美しくする」ことができる（すなわち、最終表示のより良い近似を漸進的に供給する）。
【００４３】
図２Ａの方法は、再描画プロセスが、新しい再描画要求（１１０）によって、割り込まれることもできる。完全な再レンダリングプロセス１０４は単純に停止されることができ、システムは前のように新しい再描画要求を処理する。
【００４４】
図２Ｂは、替わりの実施態様を図示する。
それは、再描画要求１１２の後に、前のように近似のサムネイルに基づいた再描画１１４が続き、完全なフレーム再描画１１６が、最終の完全な解像度表示１１８を生成するために、近似再描画の後、直列に続く（図２Ａのような並行の替わりに）。このアプローチは、新しい再描画要求によって、任意のステージにおいて割り込まれることもできる。
【００４５】
図２Ａおよび図２Ｂの方法は、スクリーン再ビルド、スクロール、パン、およびスケーリング（ズーム）を含む、全ての形式の再描画要求に適用されることができる。
【００４６】
図３は、サムネイルビットマップをズーミング／スケーリングする好ましい方法を図示する。基本のビットマップ１２０は、前に記述したように、ドキュメント処理のある前のステージのシステムによって生成され格納される。ビットマップが、ある任意の因子によって（例えば、因子４．４）スケーリングされることが必要とされていると仮定すると、基本のサムネイル１２０は２つのステージでスケーリングされる。すなわち、最初に、サムネイルは、その整数部によって割られた最終のスケーリング因子に対応する小数の量（１２２）によりスケーリングされ（この例では、４で割られた４．４が１．１に等しい）、そこで最終のスケーリング因子の整数部に相当する整数量（１２４）によってスケーリングされる（すなわち、この例では、×４）。これは、メモリ必要量の小さな増加を犠牲にするだけで、４．４の単一ステージのズームより速い。
【００４７】
上記スケーリング動作は、補間ありまたはなしで行われることができる。図３は、元々の８×８ビットマップ１２０に比べて、１６×１６の解像度を提供するために補間された最終的にズームされたビットマップ１２４を示す。補間は様々な良く知られた補間方法のいずれかを用いて行われることができる。
【００４８】
透明なオブジェクトを処理する能力は、図１のシステムの重要な機能である。しかし、これは、最終の出力フレームをアセンブルするために形状プロセッサ２２でオフスクリーンバッファリングを使うことを必要とする。典型的には、図４Ａに示したように、従来のオフスクリーンバッファ１３０は直接の表示範囲より広い範囲を覆い、バッファ範囲内で制限された度合いでパン／スクロールすることができるが、要求された表示がそれらの制限の外に動いたときは、全バッファは、再度センタリングされ、再ビルドされなければならない。これは、更新されたバッファコンテンツをスクリーン１３４にブロック複写する前に、バッファ内でのブロック複写動作と残っている「汚い長方形」（１３２）の再描画を必要とする。
【００４９】
本発明の第２の態様によると、図４Ｂに図示されたように、そのようなバッファリングプロセスの効率は、整然としたリストで指標が付けられた、タイルの配列１３６のようなバッファコンテンツを定義することにより改良することができる。各々のタイルは、固定された大きさ（例えば３２×３２または６４×６４）のビットマップから成り、「ミニバッファ」とみなされることができる。要求された表示ビューがバッファー範囲から動いたときは、そこで、もはや必要でなくなったそれらのタイルを捨て、新しい表示の範囲を覆うために新しいタイルをビルドし、タイルリスト（１３８）を更新することだけが必要となる。これは、バッファ内でブロック複写が必要でなくなることと、動かされ複写されるために物理的なメモリが必要でなくなるために、従来のバッファリングプロセスよりも速く、より効率的である。
【００５０】
この記載されたタイル方式は、全てのドキュメントおよびスクリーン再描画動作のためのタイルプールを提供するために全体的に用いられることができる。タイルはドキュメントオフスクリーンをキャシュするために用いられ、ビューの速い効率的なパンと再センタリングができるようにする。
【００５１】
記載されたようなタイルプールの使用は、メモリとプロセッサ資源のより効果的な使用ができるようにする。図５Ａは、任意の予測できない大きさを有するデータブロックを伴う従来のオフバッファリング方法が、予測できない連続したブロックアロケーションが必要なため、いかにメモリのフラグメンテーションを結果して生じるかを示す。バッファリング動作によって要求されるメモリのブロックは、プロセッサメモリマネージメントユニット（ＭＭＵ）ブロックと釣合いが取れなくなり、メモリの再アロケーションは非効率的になり、多数の物理的メモリ複写動作を必要とし、キャシュ整合性は損なわれる。固定された、所定の大きさのタイルを用いることにより、メモリの必要条件ははるかに予測可能になり、メモリおよびプロセッサ資源は、はるかに効率的に使用され処理され、フラグメンテーションはユーザビリティに影響を与えることなく無制限化され、メモリ複写動作の必要は、多くの形式のバッファリング動作のために実質的に除去されることができる。理想的には、タイルの大きさは、プロセッサＭＭＵブロックの大きさに対応して選択される。
【００５２】
図５Ｃは、タイルプール内でタイルを処理するための好ましい方式を図示する。タイル番号０は各々の新しいタイルをビルドするためにいつも残される。一度、新しいタイルがビルドされると、次の可能な自由な番号を用いて、再度ナンバリングがされる（すなわち、タイルプールは最大ｎタイルを収容でき、アロケイトされたタイルアドレスの数はｎ−１に限定される）。タイルプールが再ナンバリングに失敗した場合には、タイルプールがいっぱいで自由なタイルがないときは、新しいタイル０が直接スクリーンに書かれ、バックグラントプロセス（スレッド）が、ガーベジコレクション（例えば、「老齢の」タイルの認識および除去）および／または追加のタイルアドレスのアロケーションのために開始される。これは、資源アロケーションの失敗を処理するための適応機構を提供する。
【００５３】
図６に図示されたように、記載されたタイル方法はそれ自体が並行処理に加えられる。一連のタイルを処理することは、複数の並行処理に分割されることができる（図１の形状プロセッサ２２の複数のインスタンスの間で）。例えば、一連のタイル１〜２０は、タイルのスクリーン位置に基づいて分割され、タイル１〜１０の処理は一つのプロセッサＷＡＳＰ−Ａによって処理され、タイル１１〜２０の処理は第２のプロセッサＷＡＳＰ−Ｂによって処理される。従って、もし、再描画命令がタイル１〜３、７〜９、および１２〜１４が再描画されることを要求すると、タイル２〜４および７〜９はＷＡＳＰ−Ａによって処理され、タイル１２〜１４はＷＡＳＰ−Ｂによって処理される。あるいは、一連のタイルはタイルメモリマップ内でのタイルの位置を基にして分割されることができ、タイルメモリをＷＡＳＰ−Ａによる処理のためのメモリＡとＷＡＳＰ−Ｂによる処理のためのメモリＢに分割する。
【００５４】
記載されたタイル張り方式は、複数のバッファリングおよびオフスクリーンキャッシングの使用を促す。それはまた、割込み可能な再描画機能（例えば、現在の再描画は割込まれることができ、ユーザの入力に応じて新しい再描画が開始される）、効率的な色／表示変換およびディザリング、ソフトウェアの全表示の速い９０度（肖像画書式／風景画書式）回転を促進し、および個々のオブジェクトのために要求される再描画メモリを減少させる。このタイル張りは、また、補間されたビットマップスケーリングをより速くし、より効率的にする。図１のようなシステムは、全てのオペレーティングシステム／ＧＵＩおよびデータ処理システムのアプリケーション表示機能のための共通のタイルプールを用いることができる。
【００５５】
本発明の第２の態様のタイル張り方法は、本発明の第１の態様の再描画方法と都合良く組み合わされることができる。
【００５６】
本発明の第３の態様によると、図７に図示されるように、ドキュメントの処理は、ビューされるべきドキュメントの各々のページをゾーンに分割することを伴う（これは、図１のシステム８のレンダラー／パーサ１８および形状プロセッサ２２の相互作用を伴う）。各ゾーンＡ、Ｂ、Ｃ、Ｄは、そのゾーン内にまたはゾーンに重なった全てのオブジェクト１〜８のリストを関連付けた。再描画はゾーンに基づいて処理されることができ、システムは再描画により影響された関連したゾーンに関連付けられたオブジェクトを処理するだけで良い。このアプローチは、並行処理を促進し、効率を向上させ、冗長性を減少させる。ゾーンの使用は、また、異なる表示機器のための異なる出力を生成するためにシステムの使用を促進する（例えば、分離した表示スクリーンの配列による表示のための複合／モザイク出力を生成するために）。
【００５７】
図８に図示されたように、ゾーンを付けることを用いない、陰影を付けた範囲１４２に関連するあるスクリーンの更新は、オブジェクトがプロットされる必要があるか否かを決定するために、オブジェクトのバウンディングボックスが範囲１４２を交差するか否かを見るために、８つのオブジェクト１〜８の各々が検査されることが必要とされる。ゾーンを付ける場合、最初にどのゾーンが範囲１４２を交差するか決定することができ（この場合、ゾーンＤのみ）、第２にどのオブジェクトが関連するゾーンを交差するか決定することができ（この場合、オブジェクト２のみ）、そして、そこで、関連するゾーンを交差するこれらのオブジェクトのバウンディングボックスが範囲１４２にも交差するか否かを検査することだけが必要となる。多くの場合において、これは、抽出し、オブジェクトを重要な範囲１４２と比較することに伴うオーバーヘッドを大幅に減少させる。
【００５８】
この形式のゾーンを付けることは、ある環境では少ないまたは全く利益のないものであることが理解される（例えば、ページ上の全てのオブジェクトがページの全てのゾーンに交差する極端な場合）。すなわち、ゾーンの大きさと典型的なオブジェクトの大きさはこの点で重要であるかもしれない。特定のページに適用される任意のゾーンを付けることの特性を決定する目的で、あるアルゴリズムが、ページコンテンツを分析し、そのページのために有効に用いられることができるゾーンを付ける方式（数、大きさ、およびゾーンの形状）を決定するために用いられることができる。しかし、多くの小さな、局部的に密集したオブジェクトを共通に含む典型的なページコンテンツのため、ゾーンへの任意のページ分割は、かなりの利益を得ることになりそうである。
【００５９】
上述のゾーンを付けるおよびタイルを張る方式は、原則として独立しているが、都合よく組み合わされることもでき、すなわち、ゾーンは１以上のタイルと関連付けられて良い。再度、これは並行処理を促進し、システム資源の使用を最適化する。
【００６０】
図１を再度参照すると、このシステムは好ましくは、ＣＩＥ  Ｌ★ａ★ｂ★１９７６モデル等のルミナンス／クロミナンスモデルに合った装置から独立したカラーモデルを用いる。これは、グラフィックオブジェクトの冗長性を減少させ、データの圧縮性を向上させ、異なる出力機器間の色出力の整合性を向上させる。装置依存の色訂正は、形状プロセッサ２２への装置依存の制御入力４４に基づいて適用されることができる。
【００６１】
図１は、ソースバイトストリームが受けられる入力端と最終出力フレーム２４がシステムから出力される出力端を有するシステムを示す。しかし、このシステムは、データコンテンツをフェッチするまたはプロセスのコースで生成されたデータを保存／変換する等のための中間入力および他の中間ステージでの出力を含むことができる。
【００６２】
本発明の第４の態様によるデジタルドキュメント処理システムは、多数の異なる方法により、様々な形式のデータ処理システムおよび機器、および周辺機器に取り入れられることができる。
【００６３】
一般的な目的のデータ処理システム（「ホストシステム」）において、本発明のシステムは、オペレーティングシステムおよびホストシステムのアプリケーションと一緒に取り入れられ、またはホストオペレーティングシステムに完全にまたは部分的に取り入れられる。
【００６４】
例えば、本発明のシステムは、ブラウザまたはアプリケーションプログラムを用いることなく、ＬＣＤディスプレイ付きの携帯データ処理機器上で様々な形式のデータファイルの速い表示を可能にする。データ処理機器のこのクラスは、小サイズ、携帯性のための低電力処理を要求される。典型的には、これは、電子パッケージが小さく、可能な限り高度に集積化されるために、ＡＳＩＣ（特定用途向け集積回路）内に設計された進歩したＲＩＳＣ型コアプロセッサの使用を必要とする。この形式の機器は、また、制限されたランダムアクセスメモリを有し、典型的に不揮発性のデータ格納を有さない（例えばハードディスク）。標準的なデスクトップコンピュータシステム（ＰＣＳ）で用いられたような従来のオペレーティングシステムモジュールは、デジタルドキュメントを処理するためと有効な出力を生成するために高電力の中央プロセッサおよび大量のメモリを必要とし、この形式のデータ処理機器には完全に合っていない。特に、従来のシステムは、一体化された方法で複数のファイルフォーマットを処理することを提供することがない。反対に、本発明は共通のプロセスと全てのファイルフォーマットのためにパイプラインを利用することができ、それによって、電力消費およびシステム資源の活用の点で極めて効率的な高度に一体化されたドキュメント処理システムを提供する。
【００６５】
本発明のシステムは、従来のシステムモジュールよりもはるかに少ないオーバーヘッドでドキュメント処理および出力を可能とするために、携帯データ処理機器のＢＩＯＳレベルに集積化できる。あるいは、本発明は、トランスポートプロトコルスタックの直上の最も低いシステムレベルで実現されることができる。例えば、本発明は、ネットワークトラフィック（例えば、ＴＣＰ／ＩＰシステムのパケットレベルで働く）のインライン処理を提供するためにネットワーク機器（カード）またはシステムに取り入れられる。
【００６６】
特定の機器において、本発明のシステムは、所定の１組のデータファイルフォーマットおよび特定の出力機器、例えば、機器のの視覚表示ユニットおよび／または少なくとも１つの形式のプリンタと一緒に動作するために構成される。
【００６７】
本システムを用いることができる携帯データ処理デバイスの例は、「パームトップ」（palmtop）コンピュータ、ポータブルデジタルアシスタント（スタイラス装置によって直接ユーザが対話するグラフィカルディスプレイを含む主要なユーザインターフェースのタブレット型ＰＤＡを含むＰＤＡ）、インターネット可能な移動体電話およびその他の通信機器等を含む。
【００６８】
このシステムは、また、改良された電話、および「シン」ネットワーククライアント端末（例えば、制限された局部的処理および記憶された資源があるネットワーク端末）、およびインタラクティブ／インターネット可能なケーブルテレビジョンシステムで用いられることができる「セットトップボックス」等の低コストデータ処理端末に取り入れられることができる。
【００６９】
データ処理システムのオペレーティングシステムに一体化されたとき、本発明のシステムは、また、オペレーティングシステム（ＯＳ）のための新しいグラフィカルユーザインターフェース（ＧＵＩ）の基礎を形成することができる。システムによって処理され表示されたドキュメントは、オペレーティングシステムの基礎をなす機能にユーザインターフェースを提供するメニュー、ボタン、アイコン等のインタラクティブ機能を含むことができる。拡張により、完全なＯＳ／ＧＵＩが、システム「ドキュメント」の点から、表現され、処理され、および表示される。ＯＳ／ＧＵＩは、複数の「章」と共に単一のドキュメントを含むことができる。
【００７０】
本発明のシステムは、また、ハードコピー機器（プリンタおよびプロッタ）、表示機器（デジタルプロジェクタ等）、ネットワーク機器、入力機器（カメラ、スキャナ等）、およびまた多機能周辺装置（ＭＦＰ）等の周辺機器に取り入れられることができる。
【００７１】
プリンタに取り入れられたときは、このシステムは、ホストシステムより提供される特定のアプリケーションまたはドライバの必要なくして、プリンタがホストデータ処理システムから生データファイルを受け、オリジナルデータファイルのコンテンツを正しく再生することができるようにする。これは、特定の型のプリンタを駆動するためにコンピュータシステムを構成する必要を回避する。本システムは、プリンタによる出力に適したソースドキュメントのドットマップされたイメージを直接に生成することができる（これは、システムがプリンタ自体に、またはホストシステムに取り入れられるかを問わず当てはまる）。同様の考えがプロッタ等の他のハードコピー機器に当てはまる。
【００７２】
プロジェクタ等の表示機器に取り入れられたときは、このシステムは、ホストシステム上のアプリケーションまたはドライバを使用することなく、およびホストシステムの特定の構成および／または表示機器の必要なく、機器がオリジナルデータファイルのコンテンツを正しく表示できるようにする。そのような型の周辺機器は、本システムに装備されたときは、任意の型のデータ通信ネットワークを介して、任意のソースからデータファイルを受け、出力することができる。
【００７３】
前述のように、本発明のシステムは、例えば、ＲＯＭ内で実現されたおよび／またはＡＳＩＣまたは他の単一チップシステムと一体化された「ハードワイヤード」であって良く、またファームウェア（フラッシュｅＰＲＯＭ等のプログラムできるＲＯＭ）として、または、局所的にまたは遠隔的に記憶され、特定の機器により要求されたようにフェッチされ実行されるソフトウェアとして実現されることができることが理解される。
【００７４】
改良と修正が、本発明の範囲から離れないで取り入れられることができる。
【図面の簡単な説明】
【図１】  本発明の様々な態様を実現することに用いられる好ましいデジタルドキュメント処理システムの実施態様を図示するブロックダイアグラムである。
【図２】  図２Ａは、本発明の第１の態様の第１の実施態様を図示するフローダイアグラムである。図２Ｂは、本発明の第１の態様の第２の実施態様を図示するフローダイアグラムである。
【図３】  本発明の第１の態様の好ましい実施形態におけるビットマップのスケーリングの方法を図示するダイアグラムである。
【図４】  図４Ａは、デジタルドキュメントの視覚表示をパンするためのオフスクリーンバッファを用いる従来の方法を図示するダイアグラムである。図４Ｂは、本発明の第２の態様によってデジタルドキュメントの視覚表示をパンするためのオフスクリーンバッファを用いる方法を図示するダイアグラムである。
【図５Ａ】  図４Ａの従来の方法に関連したメモリのアロケーションとフラグメンテーションを図示するダイアグラムである。
【図５Ｂ】  図４Ｂの方法に関連したメモリのアロケーションとフラグメンテーションを図示するダイアグラムである。
【図５Ｃ】  図４Ｂの方法を実現する好ましい方法を図示するダイアグラムである。
【図６】  図４Ｂの方法を実現するための多重並列処理モジュールの使用を図示するダイアグラムである。
【図７】  本発明の第３の態様によるデジタルドキュメントを処理する方法を図示するダイアグラムである。
【図８】  本発明の第３の態様によるデジタルドキュメントを処理する方法を図示するダイアグラムである。
【符号の説明】
８…デジタルドキュメント処理システム、  １０…ソースドキュメント、  １０ａ，１０ｂ…入力ドキュメント、  １１…入力モジュール、  １２，１２ａ…ドキュメントエージェント、  １４…内部表現、  １６…ライブラリ、  １８…パーサ／レンダラー、  ２０…コンテキスト仕様表現／ビュー、  ２２…形状プロセッサ、  ２４…出力フレーム、  ２６…出力機器、  ４０…ビュー制御入力、  ４２…フィードバックパス、  ４４…出力制御入力、  １００…再描画要求、  １０２…近似再描画、  １０４…完全な再レンダリングプロセス、  １０６…完了、  １０８…中間の更新、  １１０…新しい再描画要求、  １１２…再描画要求、  １１４…再描画、  １１６…完全なフレーム再描画、  １１８…完全な解像度表示、  １２０…基本のビットマップ、  １２２…整数部によって割られた最終のスケーリング因子に対応する小数の量、  １２４…最終のスケーリング因子の整数部に相当する整数量、  １３０…オフスクリーンバッファ、  １３２…汚い長方形、  １３４…スクリーン、  １３６…タイル配列、  １３８…タイルリスト、  １４０…適当な相殺が更新のためスクリーンに直接された一連のブロック複写、  １４２…陰影を付けた範囲。
【図１】
0004964386.tif 000002
【図２】
0004964386.tif 000003
【図３】
0004964386.tif 000004
【図４】
0004964386.tif 000005
【図５Ａ】
0004964386.tif 000006
【図５Ｂ】
0004964386.tif 000007
【図５Ｃ】
0004964386.tif 000008
【図６】
0004964386.tif 000009
【図７】
0004964386.tif 000010
【図８】
0004964386.tif 000011