説明

デジタルドキュメント処理のためのシステム及び方法

【課題】表示のためのグラフィカルユーザーインターフェースのツール及び制御を提供するアプリケーションの必要をなくし、あるいは減じる表示技術。
【解決手段】デジタルドキュメント内のコンテンツを基本構造の内部表示を表すドキュメントオブジェクトのセットに変換するドキュメントエージェントと、前記デジタルコンテンツを表すディスプレイを生成するために、前記ドキュメントオブジェクトをレンダリングするコアドキュメントエンジンと、前記デジタルドキュメントのコンテンツを修正するための入力を表す入力信号を検出するユーザーインターフェースと、前記デジタルコンテンツのディスプレイを修正するために、前記入力信号のファンクションとして、前記コンテンツの前記内部表示を変更させるプロセスと、を含むことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システムに、より詳しくは、画像表示、ハードコピーとして、あるいは幾つかの他の表示形式で、ソースドキュメントの出力表示を生成するためにデジタルドキュメントを処理するための方法及びシステムに関する。
【0002】
本出願は、先に出願された、2000年4月14日出願の英国特許出願0009129.8号及び2000年10月31日出願の米国特許出願09/703,502号に優先権を主張しており、両方とも発明者としてマジッド アンワーを有し、その内容が参考のためこの明細書に組み入れられる。
【背景技術】
【0003】
ここで用いられるような用語「デジタルドキュメント(digital document)」は、典型的には、視覚的に表示又は再生されることにより(例えば、画像表示装置又はプリンタにより)、あるいはテキスト音声変換によるなどして、全部又は一部が最終的には人間のユーザーへの幾つかの形式の出力になることを意図されたデータ処理システムにより処理されるいずれかのタイプのデータのデジタル表現を示すのに用いられる。デジタルドキュメントは、表示可能ないずれかの特徴を含んで良く、これらに制限されないが、テキスト、グラフィックイメージ、動画のグラフィックイメージ、フルモーションのビデオ画像、インタラクティブアイコン(interactive icon)、ボタン、メニュー、あるいはハイパーリンクを含む。デジタルドキュメントは、聴覚(音)の要素のように視覚でない要素を含んでも良い。
【0004】
パーソナルコンピューターシステムのようなデータ処理システムは、幾つかのローカル又はリモートソースのいずれか一つからもたらされ、また幅広い種類のデータ形式(「ファイル形式」)のいずれか一つで存在し得る「デジタルドキュメント」を処理することを要求されるのが典型的である。画像表示としてであろうと、プリントコピーとしてであろうと、このドキュメントを出力したものを生成するためには、例えば、コンピューターシステムが元のデータファイルを翻訳し、関連する出力装置(例えば、モニター、あるいは他の画像表示装置又はプリンタ)と互換性のある出力を生成する必要がある。通常、この処理は、データファイルを翻訳するのに適合したアプリケーションプログラム、コンピューターのオペレーティングシステム、所望の出力装置に特有のソフトウェア「ドライバ」、そして場合によっては(特に、モニター、又は他の画像表示装置のために)、拡張カードの形態の追加のハードウェアを含むことになる。
【0005】
出力を生成するためのデジタルドキュメントの処理に対するこの従来のアプローチは、ハードウェア資源、ソフトウェアのオーバーヘッド、ならびに処理時間の点で不十分であり、ワイヤレス電気通信システムを含む低電力のポータブルデータ処理システム、あるいはネットワーク端末のような低コストのデータ処理システム等に対しては、完全には適合しない。従来のデジタルドキュメント処理システムでは、(ハードウェアとソフトウェアの両方の構成要素を含む)複数のシステム構成要素を構成して所望の手段で対話する必要性と、異なるシステム(例えば、フォーマティング、色再生等の違い)による同一のソースマテリアルの処理の不一致とを含む他の問題に直面した。加えて、デジタルドキュメント処理に対するこの従来のアプローチは、ファイル形式の構成要素の共通性及び/又は再利用性を利用することができない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の方法及びシステムの前記不都合を回避しあるいは減じる、デジタルドキュメントの処理方法及びシステム、ならびにこのような方法及びシステムに組み込む装置を提供することが本発明の目的である。
【課題を解決するための手段】
【0007】
ここで記載されるシステム及び方法は、アプリケーションプログラムの基礎的機能をグラフィック表示処理から切り離し、これにより、装置の表示を制御し、ならびに表示のためのグラフィカルユーザーインターフェースのツール及び制御を提供するアプリケーションの必要をなくし、あるいは減じる表示技術を提供する。さらに、このようなシステムは、アプリケーションプログラムにより、又はために作成された、ドキュメント又はビデオストリームのようなデータを表示する時に処理システムにあるべきアプリケーションプログラムの必要を減じ、あるいはなくす。したがって、ある態様では、ここに記載されるシステム及び方法は、コンテンツを表示するシステムにあるべき基礎的なアプリケーションの必要なしで、ドキュメント、ビデオストリーム、又は他のコンテンツを含むコンテンツを表示することができ、そしてその表示されたドキュメントを見るために、ズーム、パン、あるいは他のそのような機能のようなグラフィカルユーザー機能を提供することが理解される。ここに記載されるシステム及び方法の従来技術を超える利点は、異なるアプリケーションプログラムからの異なるタイプのコンテンツが、同じ作業領域内で同じ表示上に示されることを可能にする利点を含む。多くのそれ以上の利点が、当業者には明らかであり、また、当業者は、追加のシステム、装置、及びアプリケーションを作成するために、本発明の基礎をなす技術を用いる多くの手段を見抜くことができる。これらの改変したシステム、ならびに代わりのシステム及び実施が、本発明の範囲内に入ることが理解される。
【0008】
より詳しくは、ここで記載されるシステム及び方法は、複数ある所定データ形式の一つでソースデータを表している入力バイトストリームを受け取るため、そして該入力バイトストリームを所定データ形式の一つと結び付けるためのアプリケーションディスパッチャを含むデジタルコンテンツ処理システムを含む。また、このシステムは、前記入力バイトストリームを、前記結び付けた所定データ形式のファンクションとして翻訳するため、そしてその入力バイトストリームを、入力バイトストリーム内の基本構造の内部表現を提供するドキュメントオブジェクトのストリームに解析するためのドキュメントエージェントを含んでも良い。また、このシステムは、前記ドキュメントオブジェクトを、前記内部表現データ形式に変換するため、そしてその内部表現データを、表示上の位置にマッピングするためのコアドキュメントエンジン(core document engine)も含む。このシステム内の形状プロセッサは、前記内部表現データを処理して、内部表現により表わされるようなコンテンツを表示すべく出力装置を動作する。
【0009】
本発明の態様が、単なる一例として、添付の図面を参照して以下に記載される。
【0010】
本発明の前記及び他の目的ならびに利点が、以下のそのさらなる記載から、添付の図面を参照して、さらに十分に理解される。
【図面の簡単な説明】
【0011】
【図1】本発明によるデジタルドキュメント処理システムの一つの態様を説明するブロック線図である。
【図2】図1に描かれたシステムをより詳細に表すブロック線図である。
【図3】あるドキュメントエージェントのフローチャート図である。
【図4】図1のシステムにより処理できるタイプの例示的なドキュメントを模式的に描く。
【図5】ドキュメントの内部表現内での冗長を減じるのに用いられる2つの例示的な処理のフローチャート図を描く。
【図6】処理されるソースドキュメントの内部表現を格納するための例示的なデータ構造を描く。
【図7】処理されるソースドキュメントの内部表現を格納するための例示的なデータ構造を描く。
【図8】処理されるソースドキュメントの内部表現を格納するための例示的なデータ構造を描く。
【発明を実施するための形態】
【0012】
幾つかの図示された態様の詳細な説明 ここに記載されるシステム及び方法は、ビデオディスプレイのような出力装置に出力を表示する目的でアプリケーションプログラムにより生成される出力ストリーム又は出力ファイルを処理すべく動作するコンピュータープログラムを含む。本発明によるアプリケーションは、これらのストリームを処理してその出力の内部表現を作成することができ、そして、この内部表現をさらに処理して、本発明によるアプリケーションにより生成される出力として出力装置に表示できる新しい出力ストリームを生成することができる。したがって、本発明のシステムは、アプリケーションプログラムを表示処理から切り離し、それ故に、アプリケーションプログラムを、特定の表示装置に出力を表示する必要があることから解放し、さらに、アプリケーションプログラムを、出力を表示する目的でアプリケーションの出力を処理する時に存在させる必要をなくす。
【0013】
この動作を説明するのに、図1は、要素13として集合的に示される複数のアプリケーションプログラムが、出力ストリームを処理しそして装置26に表示するためにそのストリームにより作成される集合的な出力の表現を生成するコンピューター処理8に、出力ストリームを引き渡すことを可能にするシステム10のハイレベル機能ブロック図を提供する。このアプリケーションプログラム13の集合的な出力は、様々なアプリケーションプログラム13により生成される出力コンテンツを表示する出力プリンタ装置26により図1に描かれる。出力装置26はコンピューター処理8により生成される出力を表していること、そしてこの出力は複数のアプリケーションプログラム13のコンテンツを集合的に引き渡すことが、当業者により理解される。図1により提供される説明図では、表示されたコンテンツは、複数の画像からなり、出力装置26はディスプレイである。しかし他の実施では、例えば聴覚、触覚、又はいずれか他の形式、あるいはユーザーに情報を伝えるのに適した形式を組合せたものといった、画像以外の形式で引き渡されてよいことが当業者には明らかである。さらに、当業者には、出力装置26のタイプはアプリケーションにより変わり、音声のコンテンツ、ビデオのコンテンツ、印刷のコンテンツ、プロットのコンテンツ、あるいはいずれか他のタイプのコンテンツを表示するための装置を含んでよいことが理解される。説明するために、ここに記載されるシステム及び方法は、表示装置により画像を表示することとして概ね示されるが、これらの例示的なシステムは、単に説明のためであって、いずれかの手段に制限しているように理解されるべきではないことが理解される。したがって、アプリケーションプログラム13により生成される出力は、コンピューター処理8により処理され、そして集合させられて、それぞれのアプリケーションプログラム13により生成されるすべてのコンテンツを含む単一の表示を作成する。
【0014】
描かれた態様では、ディスプレイ26に現れるそれぞれの表現の出力は、ドキュメントと呼ばれ、それぞれの描かれたドキュメントはアプリケーションプログラム13の一つと結び付けることができる。ここで用いられるような用語、ドキュメントは、ドキュメントと、ストリームビデオと、ストリーム音声と、ウェブページと、コンピューター処理8により処理及び表示されることができるいずれか他の形態のデータを含むことが理解される。コンピューター処理8は、その出力表示中に、アプリケーションプログラム13から生成された一つ以上のドキュメントを含む単一の出力表示を生成する。表示されるドキュメントのこの集合体は、アプリケーションプログラム13により生成されるコンテンツを表し、このコンテンツは、コンピューター処理8により生成されるプログラムウィンドウ内に表示される。コンピューター処理8のためのプログラムウィンドウは、グラフィカルユーザーインターフェースに具備され、しかもユーザーがプログラムウィンドウに現れるドキュメントの動作を、この場合は画面表示を、制御するのを可能にするツールを表す一連のアイコンを含んでも良い。
【0015】
反対に、各アプリケーションプログラムが各自の表示を形成させるものである従来のアプローチは、複数のプログラムウィンドウを、典型的には各アプリケーションプログラム13毎に一つを含んだ表示装置26での表示に結果としてなる。加えて、それぞれ異なるタイプのプログラムウィンドウは、そのウィンドウで表示されるコンテンツを操作するために異なるセットのツールを含む。したがって、本発明のシステム10は、一致したユーザーインターフェースを提供し、異なるドキュメントを表示及び制御するために一セットのツールの知識を必要とするだけである利点を有する。加えて、コンピューター処理8は、アプリケーションプログラム13の出力で動作し、それ故に、プログラムウィンドウ内に現れるドキュメントを作成するためにはその出力を必要とするだけである。したがって、アプリケーションプログラム13が処理8と同じマシンに常駐するか、あるいは、アプリケーションプログラム13がコンピューター処理8に合わせて動作する必要がない。コンピューター処理8は、これらのアプリケーションプログラム13からの出力のみを必要とし、この出力は、早いうちにアプリケーションプログラム13により作成された格納データファイルから引き渡されることができる。しかし、ここに記載されるシステム及び方法は、アプリケーションプログラムが自身のコンテンツを表示でき、少なくともディスプレイ26の一部を制御でき、そしてそのアプリケーションプログラムと結び付けられたプログラムウィンドウ内でそのコンテンツを表示できるシステムの一部として用いられて良い。これらの態様では、本発明のシステム及び方法は、使用するために提供されるディスプレイの一部の中でそのディスプレイに現れる別々のアプリケーションとして動作することができる。
【0016】
より詳しくは、図1は複数のアプリケーションプログラム13を描く。これらのアプリケーションプログラムは、例えば、ワード(Word)、ワードパーフェクト(WordPerfect)、あるいはいずれか他の同様のワードプロセッシングプログラムといったワードプロセッシングプログラムを含むことができる。それは、さらに、例えば、HTMLファイルを生成するネットスケープコンポーザー(Netscape Composer)や、PDFファイルを処理するアドビアクロバット(Adobe Acrobat)や、XML又はHTMLを引き渡すウェブサーバーや、音声映像データのストリームを生成するストリーミングサーバーや、電子メールクライアント又はサーバーや、データベースや、表計算や、あるいはファイル、データストリームとして、又はコンピューター処理による使用に適した幾つかの他の形式でのいずれかで出力を引き渡すいずれか他の種類のアプリケーションといったプログラムを含む。図1の態様では、それぞれのアプリケーションプログラム13は、コンピューター処理8にその出力コンテンツを提示する。動作において、これは、アプリケーション処理13に、その出力ストリームをコンピューター処理8への入力バイトストリームとして導かせることにより起き得る。データストリームの使用は、当業者によく知られており、例えば、Stephen G. Kochan, Programming in C, Hayden Publishing (1983)を含む文献に記載されている。付随的に、アプリケーションプログラム13は、別のアプリケーションによるかあるいはコンピューター処理8によるかのいずれかでコンピューター処理8に流される、例えばワードドキュメントといったデータファイルを作成できる。
【0017】
コンピューター処理8は、表示装置26に示される集合した表示を作成するために様々な入力ストリームを処理することができる。このために、そして以下により詳細に示されるように、コンピューター処理8は入力ストリームを処理して、これらの入力ストリームのそれぞれの内部表現を生成する。ある実施では、この内部表現はそれぞれのアプリケーションプログラム13の出力ストリームに出来るだけ近づくように意図される。しかし、他の態様では、内部表現は、それぞれのアプリケーションプログラム13により生成される出力ストリームに、選択的に、簡略的に、あるいは部分的に類似させるべく作成される。加えて、あるいは付随的に、ここに記載されるシステム及び方法は、翻訳されるコンテンツにフィルタを適用しても良く、それにより、そのコンテンツの一部が、表示されあるいは提示されるコンテンツから除去されるのを可能にする。さらに、ここに記載されるシステム及び方法は、ソースドキュメントの構造を変えることを可能にしてよく、ドキュメント内のコンテンツを再位置付けし、ドキュメントの構造を並べ換え、あるいはあるタイプのデータのみを選択することを可能にする。同様に、ある付随的な態様では、ウェブサイトへのリンクのようなアクティブコンテンツを含むコンテンツが、翻訳処理の間に付け加えられることができる。いずれにしても、コンピューター処理8により作成される内部表現は、コンピューター処理8によりさらに処理されて、図1に表される集合した画像を作成するために表示装置26を動作することができる。
【0018】
図2を参照すると、図1のシステムのより詳細な表現が提示される。特に、図2は、そのコンピューター処理8、ソースドキュメント11、及び表示装置26を含むシステム10を描く。コンピューター処理8は、複数のドキュメントエージェント12と、内部表現形式ファイル及び処理14と、バッファ格納15と、ジェネリックオブジェクトのライブラリ16と、この態様では解析モジュール18及びレンダリングモジュール19からなるコアドキュメントエンジンと、内部ビュー20と、形状プロセッサ22と、最終出力24とを含む。図2は、さらに、ユーザー入力40をコンピューター処理8に伝えるための付随的な入力装置30を描く。描かれた態様は、形状プロセッサ22を含む処理8を含む。しかし、描かれた処理8は、単なる例示であり、代わりの処理及びアーキテクチャにより実現されて良いことが当業者には明らかである。例えば、形状プロセッサ22は、処理8の他の要素の動作をサポートする半導体装置のようなハードウェア構成要素として付随的に実現されて良い。さらに、図2は単一のシステムを含む機能ブロック線図として処理8を示すが、処理8は幾つかの異なるプラットフォームに渡って分散されることが可能であり、そして付随的に、その要素が様々な時間で動作し、処理8の一つの要素からの出力が後の方の時間に処理8の次の要素への入力として引き渡されることが可能であることが理解される。
【0019】
上記で議論したように、それぞれのソースドキュメント11は、入力ドキュメントをそのソースドキュメント11のコンテンツの内部表現に翻訳することができるドキュメントエージェント12に結び付けられる。ソースドキュメント11を処理するのに適当なドキュメントエージェント12を同定するために、図1のシステム10は、アプリケーションプログラムとシステム10の間のインタフェースを制御するアプリケーションディスパッチャ(不図示)を含む。ある実施では、外部アプリケーションプログラミングインタフェース(API)の利用は、データを渡すか、適当なドキュメントエージェント12を呼び出すか、あるいはアプリケーションプログラムによりなされた要求を実行するかするアプリケーションディスパッチャにより取り扱われる。アプリケーションディスパッチャは、特定のソースドキュメント11のために適当なドキュメントエージェント12を選択するために、ソースドキュメント11を全てのロードされたドキュメントエージェント12に知らせる。その後、これらのドキュメントエージェント12は、知らされたソースドキュメント11のコンテンツを翻訳するための特定の適合性に関する情報で応答する。ドキュメントエージェント12が応答すると、アプリケーションディスパッチャは、ドキュメントエージェント12を選択し、その選択されたドキュメントエージェント12に、ソースドキュメント11のURIのようなポインタを渡す。
【0020】
ある実施では、コンピューター処理8は、複数のスレッドが作成され、それにより、複数のドキュメントソース11のマルチプロセッシングをサポートすることが可能であるサービスとして実行される。別の態様では、処理8は、複数のスレッド処理をサポートせず、そしてアプリケーションディスパッチャにより選択されるドキュメントエージェント12は、今現在のスレッドで呼び出される。
【0021】
図2の例示的な態様は、異なるファイル形式の入力データストリームを処理するために、融通がきき拡張可能な前部を提供することが理解される。例えば、付随的に、もし、システムがソースドキュメント11を翻訳するのに適合したドキュメントエージェント12を欠いていることをアプリケーションディスパッチャが決定するなら、そのアプリケーションディスパッチャは、それぞれのアプリケーションプログラム13にそのソースドキュメント11が認識されない形式であることを示す信号を送ることができる。付随的に、アプリケーションプログラム13は、そのアプリケーションプログラム13により作成されるソースドキュメント11を、例えば現在の形式からアプリケーションプログラム13によりサポートされる別の形式に変換するといったことにより、ソースドキュメント11をリフォーマットすることを可能にすることを選んで良い。例えば、アプリケーションプログラム13は、ソースドキュメント11がそのファイル形式の以前のバージョンのような異なる形式で保存される必要があることを決定して良い。アプリケーションプログラム13がその形式をサポートする範囲で、そのアプリケーションプログラム13は、システム10により提供されるドキュメントエージェント12がソースドキュメント11を翻訳できるように、このサポートされる形式でソースドキュメント11を再保存できる。付随的に、アプリケーションディスパッチャは、システム10が適切なドキュメントエージェント12を欠くときには、特定のタイプの新しいドキュメントエージェントが現在のソースドキュメント11を翻訳するために必要である可能性があることをユーザーに示すことができる。このために、コンピューター処理8は、新しいドキュメントエージェントがシステム10にロードされる必要があることをユーザーに示して良く、その新しいドキュメントエージェント12がダウンロードできるウェブサイトのような場所にユーザーを導いて良い。付随的に、システムは、ユーザーに尋ねないでドキュメントエージェントを自動的に取り込むことができ、あるいは、例えば、テキストを表すソースドキュメント11の部分を抜き出すことの可能なジェネリックテキストエージェントといったジェネリックエージェント(generic agent)12を同定できる。さらに、翻訳処理の間に入力及び命令をユーザーに促すエージェントが提供されても良い。
【0022】
さらなる付随的な態様では、ドキュメントエージェント12と連動するアプリケーションディスパッチャは、例えば、ファイル名の拡張子を含むファイル名から、あるいは特定のファイルタイプのコンテンツの既知の特性から、ドキュメント内で明示のファイルタイプを同定するといった、いろいろな基準のいずれか一つに基づいてソースドキュメント11のファイル形式を同定する入力モジュールとして動作する。そのバイトストリームは、ソースドキュメント11のファイル形式に特有のドキュメントエージェント12への入力である。
【0023】
以上の記載は、ストリーム又はコンピューターファイルにより提供されている入力データを議論したが、システム10は、例えばデジタルカメラ又はスキャナーといった入力装置から、またその出力を処理8に直接流すことができるか、あるいはその出力をオペレーティングシステムにより処理8に流させるかするアプリケーションプログラムから受け取った入力に適用されてもよいことが当業者により理解されるべきである。この場合、入力バイトストリームは、ソースドキュメント11からよりもむしろ、入力装置から直接もたらされて良い。しかし、入力バイトストリームは、やはりシステム10で処理されるのに適合したデータ形式であり、本発明の目的のために、このような入力装置から受け取った入力はソースドキュメント11とみなされて良い。
【0024】
図2に示されるように、ドキュメントエージェント12は、ドキュメント内の様々なドキュメントオブジェクトの特定のインスタンスの特性を定義するパラメーターと、一般的なタイプはライブラリ16で定義されるようなものであるドキュメントオブジェクトの集合とでソースドキュメントのコンテンツを記述する内部表現14を生成するために、標準オブジェクトのライブラリ16を用いる。したがって、ライブラリ16は、ドキュメントエージェント12と、パーサ18と、システム10とが認識する一連のタイプのオブジェクトを提供する。例えば、内部表現14で用いられるドキュメントオブジェクトは、テキストと、動画化されてもされなくても良く、あるいは2次元でも3次元でも良いビットマップグラフィックス及びベクトルグラフィックスのドキュメントオブジェクトと、ビデオと、音声と、ボタンやアイコンのような様々なタイプの対話式オブジェクトとを含んで良い。ベクトルグラフィクスのドキュメントオブジェクトは、特定の塗り潰し及び透明性を有する、ポストスクリプトのようなパスであって良い。ビットマップグラフィックスのドキュメントオブジェクトは、例えばJPEG、GIF、及びPNGのオブジェクトタイプといった一連のサブオブジェクトタイプを含んで良い。テキストのドキュメントオブジェクトは、スタイルの決められたテキストの範囲を宣言して良い。この範囲は、テキストのパラグラフを含んで良く、典型的には、1対のキャリッジリターンのような、2つの区切りの間にみられる一連の文字として理解される。それぞれのテキストオブジェクトは、一群の文字と、一つ以上結び付けられた書体、ポイント、及び他のそのようなスタイル情報を含むその文字群のためのスタイル情報とを含んで良い。
【0025】
通常、ドキュメントオブジェクトの特定のインスタンスを決めるパラメーターは、ドキュメントオブジェクトの物理的形状、サイズ、及び位置を決める次元座標と、特性が時間で変化するドキュメントオブジェクトを規定するためのいずれか関連した時間的データとを含み、これにより、このシステムが動的ドキュメント構造及び/又は表示機能を扱うことを可能にする。例えば、ビデオ入力のストリームは、例えば、一秒あたり30フレームの速度で変化している一連の画像としてシステム10により処理されて良い。この場合には、この画像オブジェクトの時間的特性は一秒あたり30回更新されるべきであることを指す。以上で議論したように、パラメーターは、テキストオブジェクトのために、通常、文字列に適用されるべきフォント及びサイズも含む。オブジェクトのパラメーターは、透明性のような他の特性を規定しても良い。内部表現は、そのシステムに固有のファイル形式で保存/格納されて良く、そしてシステム10へ入力可能なソースドキュメント11の範囲は、システム固有のファイル形式でのドキュメントを含んで良いことが理解される。内部表現14は、必要であれば、適当な変換エージェントを用いて、いずれか他の範囲のファイル形式に変換することもできる。
【0026】
図3は、ドキュメントエージェント12により行われるある例示的な処理のフローチャート図を描く。特に、図3は、ドキュメントエージェント12の一例の、この場合は、マイクロソフト ワードのドキュメントのコンテンツを内部表現の形式に翻訳するのに適したドキュメントエージェント12の動作を表す処理50を描く。特に、処理50は、その処理50がデータ構造と、メモリスペースと、その処理50がソースドキュメント11を翻訳している間に用いる他のリソースとを初期化する初期化ステップ52を含む。ステップ52の後に、処理50は、ソースドキュメント11が解析されそしてサブセクションに分けられる一連のステップ54、58、60に進む。図3に描かれる処理50では、ステップ54、58、60は、ソースドキュメント11を、それがドキュメントエージェント12に流されると最初にセクションに細分し、それからこのセクションをパラグラフに細分し、その後、このパラグラフを、パラグラフを構成する個々の文字に細分する。ソースドキュメント11内で同定されるセクション、パラグラフ、及び文字は、ソースドキュメント11内で同定される異なるサブセクションに対するある種のポインタを含むピーステーブル(piece table)内で同定されて良い。図3に描かれるピーステーブルは、ドキュメントの異なるサブセクションにポインタを提供するための、MSワードにより用いられる構成体を表すことが当業者により理解される。さらに、ピーステーブル又はピーステーブルのような構成体の使用は、付随的であり、そして即時にアプリケーションに依存し、処理されるドキュメントのタイプに依存することを含むことが理解される。
【0027】
ステップ60で処理50が、特定のパラグラフ内で見られる異なる文字を同定し始めたら、この処理60は、ステップ60で同定された文字又は文字のセットにスタイルが適用されるステップ62に進んで良い。スタイルの適用は、同定された文字を、これらの文字とともに用いられるスタイル表示と結び付けることと理解される。スタイル表示は、フォントタイプと、フォントサイズと、文字がボールドか、イタリックか、あるいは他のスタイルのものかといったこととを含む文字と結び付けられた特性を含んで良い。加えて、ステップ62では、処理は、文字が回転するかどうか、あるいは曲線状のパス又は他の形状に従うために配置されるかどうかを決定できる。加えて、ステップ62では、文字が生じるパラグラフと結び付けられたスタイルが、同定され、そしてその文字と結び付けられても良い。このような特性は、パラグラフと結び付けられた行間隔と、パラグラフと結び付けられたマージンと、文字の間の間隔と、他のそのような特性とを含むことができる。
【0028】
ステップ62の後で、処理50は、内部表現が形成されるステップ70に進む。ドキュメントの構造を記述するオブジェクトは、内部表現内のオブジェクトとしてステップ64で作成され、そしてこのオブジェクトの結び付けられたスタイルが、オブジェクトが含む文字群とともに、ステップ68で内部表現内に別々に作成される。以下により詳細に説明される図6、7、8は、ドキュメントの構造が一群のドキュメントオブジェクトにより捕捉され、そしてこのドキュメントオブジェクトと結び付けられたデータが別のデータ構造に格納されることを特徴とする、処理50により作成されるファイル構造を図形的に描く。ステップ70の後に、処理50は、最後に処理された文字と結び付けられたパラグラフが完全かどうかを処理50が決定する決定ブロック72に進む。パラグラフが完全でないなら、処理50は、パラグラフからの次の文字が読込まれるステップ60に戻る。代わりに、パラグラフが完全であるなら、処理50は、セクションが完全かどうかを処理50が決める決定ブロック74に進む。セクションが完全であるなら、処理は、ステップ58に戻り、次のパラグラフがピーステーブルから読み込まれる。代わりに、セクションが完全であるなら、次のセクションがあれば、次のセクションがピーステーブルから読み込まれるステップ54に進み、処理が続く。ドキュメントが処理されると、システム8は、次の利用のために、翻訳したドキュメントを送るか、保存するか、エクスポートするか、さもなくば格納することができる。このシステムは、翻訳したファイルを内部表現と互換性のある形式で格納でき、そして付随的に、(内部表現データを受け取ることができ、そしてソースドキュメントデータを作成できる不図示の「エクスポートドキュメントエージェント」を用いることが可能である)ソースドキュメント11のファイル形式と互換性のある形式を同様に含む他の形式で、あるいは2進形か、テキストドキュメントの記述構造か、マークアップテキストか、いずれか他の適当な形式かで格納でき、それからユニコードと、シフトマッピング(Shiftmapping)と、ビッグ5(big−5)と、ルミナンス/クロミナンスモデルとを含むユニバーサルテキスト(universal text)のコード化モデルを用いて良い。
【0029】
以上から見られるように、内部表現14の形式は、オブジェクトのタイプ及びそのパラメーターにより記述されるようなドキュメントの「構造」(あるいは「レイアウト」)を、様々なオブジェクトの「コンテンツ」から切り離し、例えば、テキストオブジェクトの文字列(コンテンツ)が、オブジェクトの次元のパラメーターから切り離され、グラフィックオブジェクトの画像データ(コンテンツ)が、その次元のパラメーターから切り離される。これは、ドキュメント構造が圧縮手段で規定されるのを可能にし、そして遠隔で格納されるために、また必要な時にのみシステムにより取り出されるためにコンテンツデータのためのオプションを提供する。内部表現14は、「高レベルの」記述で、ドキュメント及びその構成オブジェクトを記述する。
【0030】
図3を参照して以上に記載されたドキュメントエージェント12は、MSワードのワードプロセッシングアプリケーションにより作成されるデータファイルを処理することができ、そのデータファイルを、ライブラリ16から選択されるオブジェクトタイプのセットから形成される内部表現に翻訳することができ、そしてそれは処理されたドキュメントのコンテンツを表す。したがって、ドキュメントエージェント12は、ワードのドキュメントを解析し、そのドキュメントの構造及びコンテンツを、コンピューター処理8にわかる内部表現に翻訳する。ドキュメントエージェント12により処理され得るタイプのワードドキュメントの一例が、図4に描かれる。特に、図4は、MSワードのアプリケーションプログラムにより作成されるタイプのワードドキュメント32を描く。描かれたドキュメント32は、一ページがテキストの二つの欄34と一つの図36を含む一ページの情報を含む。図4は、さらに、テキストの一つの欄がページ38の上端からページ38の下端まで走り、そしてテキストの第二の欄がページのおよそ中央からページの下端まで走り、また図36がテキスト34の第二の欄の上に配置されるようにテキストの欄34及び図36がページ38に配置される。
【0031】
図3を参照して以上で議論したように、ドキュメントエージェント12は、ドキュメント32が一つのページを含み、複数の異なるオブジェクトを含むことを決定することによりドキュメント32を処理し始める。ドキュメントエージェント12により見出された一つのページのために、ドキュメントエージェント12は、そのページのスタイルを同定し、そして例えばそれは肖像画書式で8.5×11のページのページスタイルになる。ドキュメントエージェント12により同定されたページスタイルは、テキストを処理8により作成されるドキュメントにフォーマットし流す際に、パーサ18による後の利用のために内部表現で表される。
【0032】
図4に描かれるドキュメント32のためには、一ページがあるのみである。しかし、ドキュメント12は複数のページを含むワードドキュメントを処理して良いことが理解される。このような場合には、ドキュメントエージェント12は、一つのページを作成しその後それをライブラリで見出されたタイプのオブジェクトで満たすことにより、それぞれのページを別々に処理する。このように、ページスタイル情報は、ドキュメントが複数のページを含むこと、及びそのページが所定サイズであることを含むことができる。他のページスタイル情報がドキュメントエージェント12により同定されて良く、そしてその同定されたページスタイル情報はアプリケーションにより変わり得る。したがって、異なるページスタイル情報が、マイクロソフト エクセル(Microsoft Excel)のドキュメント又はリアルメディアのデータストリームを処理することのできるドキュメントエージェントにより同定されて良い。
【0033】
図4を参照してさらに記載されるように、ドキュメントエージェント12がページスタイルを同定したら、ドキュメントエージェント12は、ドキュメント32を、システムに認識されるドキュメントオブジェクトにマッピングでき、そして典型的にはライブラリ16に格納できるオブジェクトに分解され始めて良い。例えば、ドキュメントエージェント12は、テキストオブジェクト、ビットマップオブジェクト、及びベクトルグラフィックオブジェクトを見出すべくドキュメント32を処理する。他のタイプのオブジェクトタイプは、付随的に、ビデオタイプ、動画タイプ、ボタンタイプ、及びスクリプトタイプを含んで提供されてよい。この実施では、ドキュメントエージェント12は、結び付けられたスタイルが2つの欄を有するテキストオブジェクト34を同定する。テキストオブジェクト34内で生じるテキストのパラグラフは、それぞれ別のパラグラフでそれぞれの文字を同定するために解析されて良い。処理50は、スタイル特性をそれぞれの同定された文字群に適用して良く、そしてドキュメント32内で同定されたそれぞれの文字群は、ライブラリ16内にリストされるタイプのテキストオブジェクトにマッピングされて良い。それぞれの文字群及び適用されたスタイルが、ドキュメント32内で見出だされた、そしてドキュメントオブジェクトに、この場合はライブラリ16内にリストされるタイプのテキストオブジェクトに翻訳されたようなドキュメントエージェント12により同定されるオブジェクトとして理解されることができる。この内部表現オブジェクトは、ドキュメントエージェント12から内部表現14に流されて良い。ドキュメントエージェント12は、ドキュメント32内で見られるオブジェクトを、それぞれのオブジェクトが翻訳されるまで、システム10に認識されるドキュメントオブジェクトに翻訳し続ける。そのオブジェクトタイプは、アプリケーションにとって適当なものであり、そしてデジタルドキュメントと、音声/映像表示と、音楽ファイルと、対話式スクリプトと、ユーザーインターフェースファイルと、画像ファイルと、さらにいずれか他のタイプのファイルとを表すソースデータを翻訳するのに適しているオブジェクトタイプを含んで良い。
【0034】
図5を参照すると、図5に描かれる処理80は、内部表現のサイズを減じるために、ソースドキュメント11の内部表現内に現れる類似のオブジェクトを圧縮することを可能とすることが見られる。例えば図5は、ステップ82が、処理される基本のライブラリオブジェクトAを有し、ステップ84において、その基本のオブジェクトを、ソースドキュメント11の内部表現になるドキュメントに挿入する処理80を描く。ステップ88ではドキュメントエージェント12により提供される別のオブジェクトBが、内部表現ファイル処理14に引き渡される。その後、この処理80は、オブジェクトAの特性がオブジェクトBの特性と比較されて、その2つのオブジェクトが同じ特性かどうかを決める描かれた一連のステップ92から98を行う。例えば、オブジェクトA及びオブジェクトBが、文字Pと文字Nのように2つの特性を表す場合に、もし、両方の特性P及びNが同じ色で、同じフォントで、同じサイズで、そしてボールド体又はイタリック体のように同じスタイルであるなら、ステップ94で処理80は、2つのオブジェクトを内部表現内に格納される一つのオブジェクト分類内で結合させる。もし、これらの特性が一致しないなら、処理80はそれらを2つの別のオブジェクトとして内部表現に加える。
【0035】
図5は、内部表現ファイル14が物理的に近いオブジェクトの類似のファンクションとしてオブジェクトを圧縮する処理80を描く。当業者は、これが単にオブジェクトを圧縮するための処理の一つであり、他の技術が用いられて良いことを理解する。例えば、付随的な実施では、圧縮処理は視覚的に近いオブジェクトを圧縮するための処理を含んで良い。
【0036】
図6、7、及び8は、図1及び2に描かれるシステムにより処理されたドキュメントの内部表現の構造を描く。ドキュメントの内部表現はコンピューターファイルとして、あるいはコアメモリに格納されたデータとして表されて良い。しかし、当業者には、内部表現を捕捉しあるいは移送するために選択されるデータ構造がアプリケーションにより変わり、そしていずれか適当なデータ構造がここに記載されたシステム及び方法とともに本発明の範囲から外れないで用いられてよいことが明らかである。
【0037】
以下により詳細に記載されるように、処理されたドキュメントの内部表現の構造は、そのドキュメントの構造をドキュメントのコンテンツから切り離す。特に、ドキュメントの構造は、これらのドキュメントオブジェクトが互いに関連して配列される方法と同様に、ドキュメントを構成する異なるドキュメントオブジェクトを示すデータ構造により捕捉される。このコンテンツからの構造の分離は図6に示され、そこではデータ構造110が、処理されているドキュメントの構造を捕捉し、そしてその構造を、そのドキュメントと結び付けられた実際のコンテンツから独立したデータ形式で格納する。特に、データ構造110は、リソーステーブル(resource table)112とドキュメント構造114を含む。リソーステーブル112は、ドキュメントの内部表現を構築するためのリソースのリストを提供する。例えば、リソーステーブル112は、ドキュメント内で生じる、書体、リンク、及び色のリストのような共通の構造の一つ以上のテーブルを含むことができる。これらの共通の構造は、リソーステーブル112内で数値で参照されて良い。リソーステーブル112のリソースは、ドキュメント構造114内に配置されるドキュメントオブジェクトに関係する。図6が示すように、ドキュメント構造114は、ネストされたカッコのセットにより表された複数のコンテナ118を含む。複数のドキュメントオブジェクト120はコンテナ118内にある。図6に示されるように、コンテナ118は、処理されているドキュメント内に見られるドキュメントオブジェクトの集合を表す。図6によりさらに示されるように、コンテナ118はサブコンテナをもつこともできる。例えば、ドキュメント構造114は、符号1の外側カッコのセットで同定される一つのトップレベルのコンテナを含み、3つのネストされたコンテナ2、3、4を有する。加えて、コンテナ4は、コンテナ1とコンテナ3内に2重にネストされる。
【0038】
それぞれのコンテナ118はドキュメント内の特徴を表し、そしてその特徴は、描かれたドキュメントオブジェクト120のように個々のドキュメントオブジェクトの集合であって良い。したがって、例えば、図4に描かれたドキュメント32のようなドキュメントは、文字群を表すコンテナを含んで良く、そしてその文字群は欄34内に見られるテキストを含む。文字群内で生じる異なるドキュメントオブジェクト120は、例えば、その文字群内で生じる異なるパラグラフを表して良い。この文字群のコンテナは、それと結び付けられたスタイルを有する。例えば、図4に描かれる文字群は、その文字群あるいはその文字群の少なくとも一部が生じる、文字のフォントタイプと、フォントサイズと、例えばボールド又はイタリックスタイルといったスタイルと、幅及び長さを含む欄のサイズを表すスタイル情報とを含むことができる。このスタイル情報は、コンテキストの特定ビュー20内に、テキストをリフォーマットし、そして再び流すために、後でパーサ18で用いられる。別の例のコンテナは、例えば、ドキュメント32のテキストの欄34内に見られるテーブルであって良い。このテーブルは、オブジェクトを有するコンテナであって良い。コンテナの他のタイプ及び利用はアプリケーションによりすぐに変わり、そして本発明のシステム及び方法は、いずれかの特定のセットのオブジェクトタイプ又はコンテナに制限されない。
【0039】
したがって、ドキュメントエージェント12がソースドキュメント11を翻訳すると、それは、既知のオブジェクトタイプのものであるオブジェクトに出会い、そしてドキュメントエージェント16は、適当なオブジェクトタイプのオブジェクトを作成することをライブラリ16に要求する。このドキュメントエージェント12は、その作成されたドキュメントオブジェクトをドキュメント構造114内の適当な位置に入れて、ソースドキュメント11の全体構造を保存する。例えば、ドキュメントエージェント12がソースドキュメント11内の画像36に出会うと、ドキュメントエージェント12は、例えばJPEG画像のような画像36を、ビットマップのタイプの、あるいは付随的にJPEGのサブタイプのオブジェクトとして認識する。図3のステップ64及びステップ68に示されるように、このドキュメントエージェント12は、適当なドキュメントオブジェクト120を作成でき、そしてこの作成したドキュメントオブジェクト120を構造114に入れることができる。加えて、JPEG画像のドキュメントオブジェクト120のためのデータは、あるいは他の例では、文字と、文字群のためのそれらの結び付けられたスタイルとのためのデータは、図8に描かれるデータ構造150内に格納されて良い。
【0040】
ソースドキュメント11が処理されている時に、ドキュメントエージェント12は、文字群のような既存のコンテナ内で見られる下位の特徴を表す他のコンテナを同定してよい。例えば、これらの下位の特徴は、参照される材料へのリンクか、あるいは、ドキュメント内で見られ、そして個別のドキュメントオブジェクト120の集合を含む、クリップされた映像の範囲又は特徴かを含んで良い。ドキュメントエージェント12は、これらのドキュメントオブジェクト120を、既存のコンテナ内にネストされた別のコンテナ内に置くことができる。これらのドキュメントオブジェクト120とコンテナ118の配列は、それぞれのコンテナ1、2、3、4がコンテナオブジェクト132、134、138、140としてそれぞれ示されるツリー構造130として、図7(A)に示される。コンテナ118及びドキュメントオブジェクト120は、ドキュメント構造114と、コンテナ118内で生じるいろいろなドキュメントオブジェクト120とのネストされたコンテナ構造を示すツリー構造で配列される。図7(A)のツリー構造は、ドキュメントオブジェクト120の階層としてソースドキュメントを示すソースドキュメント11の構造を構造114が記録し保存することを説明し、そしてそのドキュメントオブジェクト120は、例えば文字群が見られる欄のサイズといったスタイル情報、あるいは、例えば、ストリームされるコンテンツのためのフレーム速度といった時間的情報を含む。従って、それぞれのドキュメントのグラフィック構造が一連のパラメーター要素により記述される。この一例が、以下に表1に表される。
【0041】
【表1】

【0042】
示されるように、表1はドキュメントのグラフィック構造を記述するのに用いられるパラメーターの例を表す。表1は、例えば、この場合ではビットマップのオブジェクトタイプであるオブジェクトタイプといった、パラメーターの例である。バウンディングボックスのパラメーターが提供され、ソースドキュメント11内のドキュメントオブジェクトの位置を与える。さらに、表1は、用いられる塗り潰し、及びオブジェクトの透明性の程度を表すアルファ要素を提供する。形状のパラメーターは、オブジェクトの形状にハンドルを与え、そしてそれは、この場合、不規則な形状のオブジェクトを含むオブジェクトのアウトラインを決めるパスになることができる。表1は、オブジェクトの時間的変化を表す時間パラメーターも表す。この例では、画像は固定しており、時間とともに変化しない。しかし、もし、画像オブジェクトがストリームされたメディアを表すなら、このパラメーターは、例えば、そのコンテンツのための所望のフレーム速度に相当する速度といった、オブジェクトが変化する速度を示す時間的特性を含むことができる。
【0043】
したがって、この構造の要素は、流すことの可能なデータコンテンツを有するコンテナであって、この流すことの可能なデータは、分離して保持され、このコンテナからハンドルにより参照される。このように、いずれか又は全てのデータコンテンツがドキュメント構造から分離して保持される。これは、構内保持及び遠隔保持したデータコンテンツを混ぜてなされる手段でドキュメントをレンダリングすることを可能にする。加えて、このデータは、より広くより高いレベルのオブジェクトが最初に表示され、それからより細かい特徴が順次表示されることができるように、ソースドキュメント11の内部表現を速い進み方でレンダリングすることを可能にする。このように、別個の構造及びデータは、コンテンツを「満たす」ためにデータを流しながら映像ドキュメントを表示することを可能にする。加えて、別個のコンテンツ及び構造は、ドキュメントのコンテンツが素早く編集され、変更されることを可能にする。ドキュメント構造はコンテンツから独立しているので、異なるコンテンツがそのドキュメント構造に置き換えられることができる。これは、コンテナごとに、あるいは全ドキュメントのために、コンテナで行われる。ドキュメントのこの構造は、そのコンテンツと後に提供されるコンテンツとから別々に引き渡されるか、あるいはその構造が引き渡されるプラットフォームに存在させられる。
【0044】
加えて、図7(A)は、ソースドキュメント11の構造がツリー構造130として表されることができることを示す。ある実施では、このツリー構造は、ソースドキュメント11の表示を変えるべく改変され、また編集されて良い。例えば、このツリー構造は、ツリー130に追加の構造及びコンテンツを付加すべく改変されて良い。これは、複製されそしてより高いレベルのコンテナの下に与えられた図7(A)の元のツリー構造を示す図7(B)に描かれる。それ故に、図7(B)は、新しいドキュメント構造が、したがって新しい表現が、ドキュメントエージェント12により作成されるツリー構造130を処理することにより作成されることを示す。これは、異なるオブジェクト120の相対的位置は同じままであるが、ドキュメント内でオブジェクトの視覚的位置が変わることを可能にする。ツリー構造130を調整することにより、ここに記載されるシステムはコンテンツを編集し、改変することができる。例えば、これらのアプリケーションでは、ツリー構造130内のコンテンツが、視覚のコンテンツを表す場合に、ここに記載されるシステムは、ツリー構造を編集してドキュメントの映像を複製し、そしてそのドキュメントの映像を並んで表示することができる。代わりに、このツリー構造130は、例えば、新しいドキュメント又はそのドキュメントの一部の映像を付加することにより、追加の視覚情報を付加すべく編集され、また補足されることができる。さらに、ツリー構造が変えられる速度を制御することにより、ここに記載されるシステムは、ドキュメントが、表示装置26のようなディスプレイを横切って滑るようにゆっくりと変化していくか、あるいは新しいドキュメントにゆっくりと変わっていく錯覚を生み出すことができる。サムネイルビューの作成といった効果及び他の同様な結果が得られ、そしてここに記載されるシステム及び方法に対する改変をすることによる通常の技術のもの、及びこのように改変されたシステム及び方法が本発明の範囲内に入る。
【0045】
ソースドキュメント11のデータは、構造114から分離して格納される。このために、それぞれのドキュメントオブジェクト120は、そのオブジェクトと結び付いたデータに対するポインタを含み、この情報は、図8に描かれる間接リスト160のような間接リスト内に配列されて良い。この実施では、図8に示されるように、それぞれのドキュメントオブジェクト120が番号をふられ、そしてそれぞれのオブジェクトドキュメント番号154がオフセット値158と結び付けられる間接リスト152が作成される。例えば、参照番号160で同定されるドキュメントオブジェクトの1番は、参照番号162で同定されるオフセット700と結び付けられることができる。したがって、間接リストは、オフセット700とオブジェクトの1番を結び付ける。オフセット700は、オブジェクト1と結び付けられたデータが存在するコアメモリでの位置又はファイルのオフセットを表すことができる。図8でさらに示されるように、データ構造150は、それぞれのドキュメントオブジェクト120と結び付けられたコンテンツを表すデータが格納される場所に存在して良い。したがって、例えば、ジャンプ位置700の描かれたオブジェクト1は、図6に描かれたコンテナの文字群内で生じる文字を表すユニコードの文字を含んで良い。同様に、参照番号172で図8に描かれ、また参照番号170により同定されるコアメモリの位置810で結び付けられたオブジェクト2のデータは、図6のドキュメント構造114内で参照されるビットマップのドキュメントオブジェクト120と結び付けられたJPEGビットマップを表して良い。
【0046】
データが構造から切り離されると、ソースドキュメントのコンテンツは一元化されたレポジトリに保持されることが当業者により注目される。したがって、ここに記載されるシステムは、様々なタイプのデータオブジェクトにわたって圧縮することを可能にする。このような処理は、制限されたリソースシステムの中で、より多く格納する柔軟性を提供する。
【0047】
図2を参照すると、内部表現ファイルのコンテンツを圧縮するための処理が、様々なオブジェクトを圧縮し終えると、これらのオブジェクトはパーサ18に渡されることが理解される。パーサ18は、内部表現の構造セクションで同定されたオブジェクトを解析し、そしてこのオブジェクトと結び付けられたデータのコンテンツを参照して、それは、それぞれのオブジェクトに位置及びスタイル情報を再び適用する。レンダラー(renderer)19は、内部表現14により表されるドキュメントのコンテキスト特有の表現又は「ビュー」20を生成する。要求されるビューは、複数のドキュメントの全部、一つのドキュメントの全部、あるいは一つ又は複数のドキュメントの部分になって良い。レンダラー19は、生成されるべき特定のドキュメントビューの表示コンテキストと、いずれか関連する時間的パラメーターとを規定するビュー制御入力40を受け取る。例えば、システム10は、ドキュメントの一部をズームしたビューを生成し、それからそのズームしたビューをドキュメントの隣接した部分を表示するためにパン又はスクロールすることを要求されて良い。このビュー制御入力40は、レンダラー19により解釈されて、内部表現のどの部分が特定のビューを要求されるのか、そしてどのように、いつ、どのくらいビューが表示されるべきなのかを決める。
【0048】
コンテキスト特有の表現/ビュー20は、基本の形状及びパラメーターで表される。
【0049】
レンダラー19は、ソースドキュメント11の要求されたビュー20を生成する時に、内部表現14の関連部分に追加の前処理機能を果たしても良い。このビュー表現20は、表示装置又はプリンタのような出力装置26を動作するのに適した形式での出力を生成すべく処理するための形状プロセッサ22への入力である。
【0050】
レンダラー19の前処理機能は、色補正、解像度の調整/向上、ならびにエイリアス除去を含むことができる。解像度の向上は、目標の出力装置により表示又は再生される時の、オブジェクトのコンテンツの読みやすさを保つスケーリング機能を含んで良い。解像度の調整は、コンテキスト依存であって、例えば、特定のオブジェクトの表示解像度は、表示ドキュメントのビューがパン又はスクロールされる間は減じられ、またドキュメントビューが静的である時は上げられて良い。
【0051】
付随的に、例えば、内部表現により表されるソースドキュメント11がマルチフレームの動画を含むような場合に、内部表現14のコンテンツの更新をトリガする目的で、パーサ18と内部表現14の間にフィードバック経路42があって良い。
【0052】
レンダラー19からの出力は基本のオブジェクトでドキュメントを表す。それぞれのドキュメントオブジェクトのために、レンダラー19からの表現は、少なくとも、物理的に長方形のバウンディングボックスと、そのバウンディングボックスにより境界をつけられたオブジェクトの実際のアウトラインパスと、オブジェクトのデータコンテンツと、透明性とでオブジェクトを規定する。
【0053】
形状プロセッサ22は基本のオブジェクトを解釈し、それを、例えば、プリンタのためにドットマップ、プロッタのためにベクトル命令のセット、あるいは表示装置のためにビットマップといった、目標の出力装置26に適切な出力のフレーム形式に変換する。形状プロセッサ22への出力制御の入力44は、特定の出力装置26にとって適切な出力を生成すべく形状プロセッサ22に情報を提供する。
【0054】
形状プロセッサ22は、「形状」(すなわち、オブジェクトのアウトラインの形)、「塗り潰し」(オブジェクトのデータコンテンツ)、及び「アルファ」(オブジェクトの透明性)でビュー表示20により規定されるオブジェクトを完全に処理し、そして指定のビュー及び出力装置に適切なスケーリング及びクリッピングを行い、出力装置に適切なもので(典型的には、ほぼ全タイプの表示装置又はプリンタのために、走査変換等によりピクセルで)オブジェクトを表す。付随的に、形状プロセッサ22は、走査変換したピクセルでオブジェクトの形状を決めるエッジバッファ(edge buffer)を含み、好ましくは、アウトライン形状にエイリアス除去を適用する。エイリアス除去は、出力装置26の特性により決められる手段で、オブジェクトの境界を横切るグレースケールランプを適用することにより行われる。このアプローチは、形状クリッピング処理及び形状交差処理に有効なメモリを可能とし、有効なメモリであると同時に有効なプロセッサである。ルックアップテーブル、あるいは他の技術が、多重トーン応答曲線を決めるのに用いられ、非線形のレンダリング制御を可能とする。形状プロセッサ22により処理される個々の基本のオブジェクトが、合成出力フレームで結合される。ここに記載されたシステムとともに用いるのに適した一つの形状プロセッサの設計が、これと同日に出願され、形状プロセッサの名称を与えられた出願により詳細に示され、その内容が参照のために組み入れられる。しかし、いずれか適当な形状プロセッサのシステム又は処理が本発明の範囲から外れないで用いられて良い。
【0055】
以上に記載したように、図1に描かれる処理8は、ハンドヘルドコンピューターか、携帯電話か、セットトップボックスか、ファクシミリ機、コピー機又は他の事務機器か、埋め込み型コンピューターシステムか、ウィンドウズ(登録商標)又はユニックスワークステーションか、あるいは、以上に記載したドキュメント処理システムを全部又は一部をサポート可能ないずれか他のタイプのコンピューター/プロセッシングプラットフォームかのようなデータ処理システムで動作するソフトウェア構成要素として実現できる。これらの態様では、システムは、C言語のコンピュータープログラム、又はC++、フォートラン(Fortran)、ジャバ(Java)(登録商標)、あるいはベイシック(Basic)を含む高レベルの言語で記述されたコンピュータープログラムとして実行できる。加えて、マイクロコントローラあるいはDSPが用いられる態様では、システムは、マイクロコードで記述されるか、あるいは高レベル言語で記述され、そして用いられるプラットフォームで実行できるマイクロコードにコンパイルされるコンピュータープログラムとして実現できる。このようなシステムの開発は、当業者に知られており、そして、このような技術は、インテル(Intel)(登録商標) ストロングアームプロセッサ(StrongARM Processor) SA−1110 マイクロプロセッサ 上級デベロッパマニュアルに示される。加えて、高レベルのプログラミングのための通常の技術が知られおり、例えば、Stephen G. Kochan, Programming in C, Hayden Publishing(1983)に示される。特に、DSPは、例えば、コントラスト、エッジ解像力、及び輝度の調整による画像強調といった処理機能を含む信号処理機能を実行するのに適していることが注目される。DSP及びマイクロコントローラシステムためにコードを開発することは、従来技術でよく知られた原理からできる。
【0056】
したがって、図1及び2は、複数の機能ブロック要素を含むようにコンピューター処理8を図形的に描くが、これらの要素は、データ処理プラットフォーム上で実行して、それにより本発明によるシステムのようにデータ処理プラットフォームを構成できるコンピュータープログラグ又はコンピュータープログラムの部分として実現できることが当業者には明らかである。さらに、図1は、ドキュメント処理プロセス8と表示装置26を統合した単位としてシステム10を描くが、これは単なる一つの態様であり、ここに記載されるシステムは、処理8のドキュメント処理機能を、ディスプレイ26により行われるドキュメントの表示動作から切り離すシステムアーキテクチャを含む他のアーキテクチャ及び配列により実現できることが当業者には明らかである。さらに、本発明のシステムは、表示又は出力装置を含むこれらのシステムに制限されないが、本発明のシステムは、一つ以上のデジタルドキュメントを処理して出力装置に表示される出力を作成するこれらの処理システムを含むことが理解される。しかし、その出力は、表示装置での次の表示のためか、長期間の保管のためか、ネットワークでの配信のためか、あるいは即時の表示以外の他の目的のためにデータファイルに格納されて良い。したがって、ここに記載されるシステム及び方法は、多くの異なるドキュメント及びコンテンツ処理アプリケーションをサポートでき、特定のアプリケーションのために用いられるシステム又はプロセスの構造は、アプリケーション及びデザイナーの選択により変わることが当業者には明らかである。
【0057】
前記のものから、本発明のシステムは、例えば、ロム(ROM)で実行され、及び/又はエイシック(AISIC)又は他のシングルチップシステムに集積されるといった「ハードワイヤード」になって良く、あるいは、ファームウェア(フラッシュ性イーピーロム(ePROM)のようなプログラム可能ROM)として、又は、構内又は遠隔で格納され、特定の装置により要求されると取り出され、そして実行されるソフトウェアとして実行されて良いことが理解される。このような改良及び改変が、本発明の範囲から外れないで組み込まれて良い。
【0058】
当業者は、ただの機械的作業の実験、この態様と同等な多くのもの、及びここに記載された実施を利用して、知り、あるいは突きとめることができる。例えば、ここに記載されるシステム及び方法は、ソースドキュメント11を処理するためのシステムを独立型にして良いが、付随的に、これらのシステムは、多くの異なる方法で、様々なタイプのデータ処理システム及び装置に、また周辺装置に組み込まれて良い。通常の目的のデータ処理システム(「ホストシステム」)では、本発明のシステムは、オペレーティングシステム及びホストシステムのアプリケーションといっしょに組み込まれて良く、あるいは全体的又は部分的にホストオペレーティングシステムに組み込まれて良い。例えば、ここに記載されるシステムは、ブラウザ又はアプリケーションプログラムの利用を必要としないで、LCDディスプレイを有する携帯用データ処理装置の様々なタイプのデータファイルの即時の表示を可能にする。本システムを用いて良い携帯用データ処理装置の例には、「パルムトップ」コンピューター、携帯用デジタル補助装置(PDA、主要なユーザーインターフェースが、スタイラス装置により直接ユーザーが対話するグラフィック表示を含むタブレットタイプのPDAを含む)、インターネット可能な携帯電話、及び他の通信装置が含まれる。この種のデータ処理装置は、携帯性のために小型で、低電力のプロセッサを必要とする。典型的には、これらの装置は、エレクトロニクスパッケージが小さく集積されるように、エイシック(ASIC)(特定用途向け集積回路(application specific integrated cuircit))に設計された新型のRISCタイプのコアプロセッサを用いる。また、このタイプの装置は、制限のあるランダムアクセスメモリを有し、典型的には、非揮発性データ記憶装置(例えば、ハードディスク)を有しない。標準のデスクトップ計算機システム(PC)に用いられるような従来のオペレーティングシステムモデルは、デジタルドキュメントを処理しまた有用な出力を生成するのに高出力の中央演算処理装置と大量のメモリを必要とし、このタイプのデータ処理装置には全く相応しくない。特に、従来のシステムは、統合された手段で、複数のファイル形式の処理を提供しない。反対に、ここに記載されるシステムは、全てのファイル形式のために共通の処理及びパイプラインを用いて、これにより、消費電力量及びシステムのリソースの用法に関して優れた効果がある高集積のドキュメント処理システムを提供する。
【0059】
本発明のシステムは、従来のシステムモデルより少ないオーバーヘッドでのドキュメント処理及び出力を可能にするために携帯用データ処理装置のバイオス(BIOS)レベルで集積されて良い。代わりに、これらのシステムは、トランスポートプロトコルスタックのすぐ上の最も低いシステムレベルで実行されて良い。例えば、このシステムは、(例えば、TCP/IPシステムのパケットレベルで作業する)ネットワークトラフィックのインライン処理を提供するために、ネットワークデバイス(カード)又はシステムに組み込まれて良い。
【0060】
ここでのシステムは、所定セットのデータファイル形式と、例えば、装置の映像表示部及び/又は少なくとも一つのタイプのプリンタといった所定の出力装置とで動作すべく構成されることができる。
【0061】
ここに記載されるシステムは、例えば拡張された電話及び「シン」ネットワーククライアント端末(例えば、制限のある構内処理及び格納リソースのネットワーク端末)といった低費用のデータ処理端末と、対話式/インターネット可能ケーブルTVシステムでの利用のための「セットトップボックス」とに組み込まれても良い。そのシステムは、例えば、ハードコピー装置(プリンタ及びプロッタ)と、表示装置(例えば、デジタルプロジェクタ)と、ネットワーキング装置と、入力装置(カメラ、スキャナ等)と、また多機能周辺装置(MFP)といったような周辺装置に組み込まれても良い。システムは、プリンタに組み込まれると、そのプリンタが、ホストシステムにより提供される特定のアプリケーション又はドライバを必要とせずに、生データファイルをホストデータ処理システムから受け取り、そして元のデータファイルのコンテンツを正確に再現することを可能にする。これは、特定のタイプのプリンタを動作するのにコンピューターシステムを構成する必要を避けるか、あるいは減じる。本システムは、プリンタによる出力に適したソースドキュメントのドットマップの画像を直接生成する(これは、システムがプリンタ自体に組み込まれるか、ホストシステムに組み込まれるかによる)。同様の検討が、プロッタのような他のハードコピー装置にあてはまる。
【0062】
このシステムは、プロジェクタのような表示装置に組み込まれると、デバイスが、ホストシステムのアプリケーション又はドライバを利用せずに、そしてホストシステム及び/又は表示装置の特定の構成を必要とせずに正確に元のデータファイルのコンテンツを表示することも可能にする。これらのタイプの周辺装置が、本システムを備えると、いずれかのタイプのデータ通信ネットワークを経由して、いずれかのソースからデータファイルを受け取り、そして出力することが可能になる。
【0063】
加えて、ここに記載されたシステム及び方法は、ドライバー情報又は娯楽のシステムを提供して、乗り物内あるいは乗り物を超えて通信するネットワークへの情報の配信を容易にするために車内のシステムに組み込まれて良い。さらに、ここに記載されるシステムは、単に制御パラメーターのみへの改変を利用して一貫した表示を維持するために、複数の出力ソースを有する装置を動作することができることが理解される。例としては、それに制限はされないが、画像表示を組み込むSTB又は車内システムと、プリントヘッドとが含まれ、これにより、ソースアプリケーション及びドライバの必要なしでドキュメントを見ること、あるいはプリントすることが可能になる。
【0064】
前記のものから、本発明のシステムは、例えば、ロム(ROM)で実行され、及び/又はエイシック(AISC)か他のシングルチップシステムかに集積されるといったように「ハードワイヤード」されて良く、あるいはファームウェア(フラッシュ性イーピーロム(ePROM)のようにプログラム可能ロム(ROM))として、又は、構内又は遠隔で格納され、特定の装置により要求されると取り出されそして実行されるソフトウェアとして実行されて良いことが理解される。
【0065】
したがって、本発明はここに記載された態様に制限されないことが理解されるが、以下の請求項から、法律の定めるところにより、許される限り広く解釈されるべきであることが理解されるべきである。
【符号の説明】
【0066】
8…コンピューター処理、
10…システム
11…ソースドキュメント
12…ドキュメントエージェント
13…アプリケーションプログラム
14…内部表現
15…バッファ格納
16…ライブラリ
18…パーサ
19…レンダラー
20…内部ビュー
22…形状プロセッサ
24…最終出力
26…出力装置
30…入力装置
32…ドキュメント
34…テキストオブジェクト
36…図
38…ページ
40…入力
42…フィードバック経路
50、80…処理
52、54、58、60、62、64、68、70、82、84、88、92、94、98…ステップ
72、74…決定ブロック
110…データ構造
112…リソーステーブル
114…ドキュメント構造
118…コンテナ
120…ドキュメントオブジェクト

【特許請求の範囲】
【請求項1】
デジタルドキュメント内のコンテンツと対話するシステムであって,
前記デジタルドキュメント内のコンテンツを基本構造の内部表示を表すドキュメントオブジェクトのセットに変換するドキュメントエージェントと、
前記デジタルコンテンツを表すディスプレイを生成するために、前記ドキュメントオブジェクトをレンダリングするコアドキュメントエンジンと、
前記デジタルドキュメントのコンテンツを修正するための入力を表す入力信号を検出するユーザーインターフェースと、
前記デジタルコンテンツのディスプレイを修正するために、前記入力信号のファンクションとして、前記コンテンツの前記内部表示を変更させるプロセスと、を含むことを特徴とするデジタルドキュメント内のコンテンツと対話するシステム。
【請求項2】
前記ユーザーインターフェースが、マウス、タッチパッド、タッチスクリーン、ジョイスティク、リモートコントロール、及びキーパッドからなる群から選択される入力装置を含むことを特徴とする請求項2に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−59275(P2012−59275A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2011−223133(P2011−223133)
【出願日】平成23年10月7日(2011.10.7)
【分割の表示】特願2001−577178(P2001−577178)の分割
【原出願日】平成13年4月17日(2001.4.17)
【出願人】(503447036)サムスン エレクトロニクス カンパニー リミテッド (2,221)
【Fターム(参考)】