JP2006114012A - 電子文書への最適アクセス - Google Patents

電子文書への最適アクセス Download PDF

Info

Publication number
JP2006114012A
JP2006114012A JP2005176652A JP2005176652A JP2006114012A JP 2006114012 A JP2006114012 A JP 2006114012A JP 2005176652 A JP2005176652 A JP 2005176652A JP 2005176652 A JP2005176652 A JP 2005176652A JP 2006114012 A JP2006114012 A JP 2006114012A
Authority
JP
Japan
Prior art keywords
page
document
objects
shared
file
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
JP2005176652A
Other languages
English (en)
Inventor
Edward R Rowe
エドワード アール. ロウ,
Eswar Priyadarshan
エスワール プリヤダーシャン,
Kenneth S Anderson
ケニス エス. アンダーソン,
Nabeel A Al-Shamma
ナベル エイ. アル−シャーマ,
Edward A Taft
エドワード エイ. タフト,
Elizabeth M Mcquarrie
エリザベス エム. マクカリー,
Richard J Cohn
リチャード ジェイ. コウン,
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27415122&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2006114012(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/533,875 external-priority patent/US5781785A/en
Priority claimed from US08/569,000 external-priority patent/US5737599A/en
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of JP2006114012A publication Critical patent/JP2006114012A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】最適化させた頁をベースとした電子文書ファイルを与え且つ該最適化させたファイルをダウンロードする方法。
【解決手段】最適化されてない電子文書を最適化したファイルを作成し、頁内容を該最適化させたファイル内に連続的に書込み且つ頁オフセット情報を使用して該文書の個々の頁及びオブジェクトを探し出す。最適化したファイルをホストからダウンロードする場合、頁オフセット情報を早期に読取り且つ該文書内のその他の頁のダウンロードを行うことなしに、要求された特定の頁をダウンロードさせる。ビュアが要求された頁の第一部分をダウンロードすることが可能であり、一方該要求された頁の全ての残りの部分は、頁オフセットテーブルを使用して探し出される。一つの頁全体に対する全てのオブジェクトは一度に要求することが可能であり、要求された頁はホストに対する一つの接続のみでダウンロードさせることが可能である。
【選択図】 図4

Description

本発明は、大略、コンピュータシステム用のデータの格納及び検索に関するものであって、更に詳細には、ネットワークを介しての高速検索用の頁をベースとしたデータ文書を最適化させる方法及び装置、及びこのような最適化した文書へアクセスする方法及び装置に関するものである。本発明は、更に、電子文書の処理及び表示用の方法及び装置に関するものであって、更に詳細には、ネットワークを介して検索された場合にこのような文書を処理し且つ表示することに関するものである。
電子形態で文書を作成し、送信し且つ表示することが益々一般的なこととなっている。電子文書は、紙文書と比較して多数の利点を有しており、例えば、送信が容易であり、格納する上で小型であり、且つ編集することが可能であり及び/又は電子的に操作することが可能であることが挙げられる。電子文書は、典型的に、情報内容(例えば、テキスト、グラフィックス、絵)及びその内容がどのようにして表示されるべきかを指示するフォーマット情報を有している。最近のマルチメディア技術の進展と共に、文書は、今や、サウンド(音)、完全な動画ビデオ、及びその他のマルチメディアコンテンツを包含することが可能である。
電子文書は著作者、卸売業者又は出版業者(本明細書においては、「パブリシャー(publisher)」として言及する)であって、その文書が作成された様相で観察されることをしばしば所望するパブリシャーによって供給される。然しながら、これは、電子文書は、典型的に、広範囲に配布され、従って、多様なハードウエア及びソフトウエアのプラットホーム上で観察することが可能であるという点において問題を発生する。例えば、その文書を観察するために使用されるビデオモニタは寸法、分解能等が変化することが可能である。更に、例えばDOS、マイクロソフトウインドウズ(商標)、及びマッキントッシュ(商標)等の種々のソフトウエアプラットホームは、全て、それら自身の表示特性を有している。又、各ユーザ又はその電子文書の「読者」は、彼又は彼女自身の個人的な観察上の好みを有しており、そのことも、可能である場合には、考慮されるべきである。
この問題に対する一つの解決方法は、多種類の異なるプラットホーム上で観察し且つ操作することが可能であり且つ読者によって観察されるその文書の様相がパブリシャーによって意図されたものと同一である所定のフォーマットで提供することが可能な「ポータブル電子文書」を提供することである。このような一つの所定のフォーマットはカリフォルニア州マウンテンビューの−アドビシステムズ、インコーポレイテッドによって開発されたPortableDocumentFormat(商標)(PDF(商標))である。PDF文書を作成し、読取り且つ表示するための頁をベースとしたソフトウエアの一例はアドビシステムズ、インコーポレイテッドのアクロバット、即ちAcrobat(商標)ソフトウエアである。アドビ社のアクロバットソフトウエアは、アドビ社のポストスクリプト(PostScript(商標))技術に基づいており、それは装置独立性の態様で文書のフォーマット化した頁を記述するものである。一つのプラットホーム上のアクロバットプログラムは、使用するコンピュータプラットホームのタイプに拘らずに、異なるプラットホーム上で稼動する別のアクロバットプログラムによって作成されたPDF文書を作成し、表示し、編集し、印刷し、注釈を加える等の動作を行うことが可能である。あるフォーマット又は言語における一つの文書は、アクロバットを使用してPDF文書へ翻訳することが可能である。PDF文書はパブリシャーによって意図された様相を有する状態で任意のコンピュータプラットホーム上で迅速に表示させることが可能であり、パブリシャーが該文書の最終的な様相を制御することを可能とする。
ポータブル電子文書に対する一つの比較的新しいアプリケーション(応用)は、このような文書を「インターネット」、即ちユーザに対して大量且つ多様の情報を集合的に供給する世界的にアクセス可能なコンピュータのネットワークからこのような文書を検索することである。ワールドワイドウエブ(WorldWideWeb)等のインターネットのサービスから、ユーザはインターネットネットワークサイドからデータを検索するか又は「ダウンロード」することが可能であり且つパブリシャーによって意図された様相を有する種々のフォントにおけるテキスト、グラフィックス、画像等として提供される情報を包含するデータを表示することが可能である。任意のプラットホームがパブリシャーによって意図された様相を有する文書を観察することを可能とするPDF等のファイルフォーマットは、インターネットのようなこのように広くアクセス可能であり且つプラットホームが独立的なネットワーク資源からファイルをダウンロードする場合に価値の高いものである。
従来の頁をベースとしたデータダウンロードプロセスの場合の一つの問題は、文書のデータの全てが、典型的に、その文書のいずれかの部分がユーザに対して表示される前に、ダウンロードされるということである。従って、ユーザはディスプレイスクリーン上でその文書の1頁又はその他の部分を見る前に、文書全体がダウンロードすることを待機せねばならない。このことは、ユーザがその文書の一部のみを使用すること、即ち一つの文書の特定数の連続した頁又は特定の頁のみを観察することを希望する場合に不便な場合がある。あるサーチプロセスは一つの文書において一つの単語をサーチすることを可能とし且つそのサーチした単語を包含する文書の部分のみをダウンロードする。然しながら、その文書のこの部分は孤立した別個の部分であって、その文書の残部と関係を有するものではない。ユーザがダウンロードした部分の次の頁を見たい場合には、彼又は彼女は文書全体をダウンロードするか又は該文書の次の頁上でサーチ用の用語を特定せねばならないという不便がある。
アクロバット及び例えばPDF文書等のポータブル電子文書を表示するための同様のプログラムは、しばしば、頁をベースとしており、そのことは、該プログラムが、典型的に、該文書の所望の頁を一度に組織化し且つ表示することを意味している。典型的に、文書全体が、一度にダウンロードされ、次いで所望の頁が表示されていた。然しながら、アクロバットは一つの文書ファイルから一度に一つの文書の一つの頁をダウンロードすることが可能であり、一方ユーザが該文書のその他の頁を都合よく選択することを可能とする。然しながら、このような頁をベースとしたフォーマットの場合には、文書データは、通常、一つのファイル、データ構造、又はその他の文書データの集まり(本明細書においては「文書ファイル」として言及する)内において頁順に連続して格納されるものではない。例えば、PDFフォーマットにおける文書ファイルは、頁内容オブジェクト(テキスト、グラフィックス形状、表示命令等を包含する)等のオブジェクト及び画像オブジェクトを有する頁を格納することが可能である。然しながら、該オブジェクトは散らばった態様即ちばらばらの態様で該文書内に格納される場合がある。例えば、頁内容オブジェクトの部分は一つの文書ファイルにおいて異なる箇所に散らばることが可能であり、且つ例えばフォント等の共用オブジェクトは該ファイル内の任意の箇所に格納することが可能である。フォント等の共用オブジェクトは、更に、該文書ファイルとは別のファイル内に格納することが可能であり、且つ別のコンピュータ上に格納することさえ可能であり、又フォントサーバー等の資源サービスを介して使用可能とすることが可能である。出力ディスプレイ装置は関連するオブジェクトに対するポインターに基づいて頁内容及び共用オブジェクトを表示するので、オブジェクトは文書ファイル内において逐次的に又は連続的に格納されることは必要ではなく、且つ、典型的に、ばらばらの態様で格納される。
この頁に対するばらばらのデータ格納は、ユーザによって所望される文書の特定の頁をダウンロードしようとする場合に問題に遭遇する場合がる。一つの主要な問題は、データをダウンロードする場合に複数回の接続(即ち複数回の要求・応答処理)を行うことによって発生される時間遅延である。例えば、クライエントコンピュータにおいて頁をベースとしたデータを表示するためのビューイング(観察)プログラムは遠隔ホストコンピュータからPDF(又は同様のフォーマットの)ファイルのダウンロードを開始する。該ビューイングプログラムは、該ホストに対して一つの接続を行い(又は該ホストとの一つのトランズアクションを開始し)且つその頁の第一部分からのデータをダウンロードし、次いで該頁の次のばらばらの即ち解体された部分を検索するために該ホストに対して別の接続(即ちトランズアクション)をせねばならない。このことは該頁のダウンロードを低速化する効果を有している。何故ならば、各接続(及び各トランズアクション)は時間遅延を有しており且つそれと関連するオーバーヘッドを有しているからである。従って、該頁を要求するユーザは、ビュアが該頁に対する全てのデータを受取り且つその頁を表示するまでに数秒待機せねばならない場合がある。この問題は、フォント又はその他のこのような参照オブジェクトが該頁上に包含されている場合に複雑なものとされる。何故ならば、該頁を表示することが可能となる前に、これらのオブジェクトを検索するためにホストに対して更に別の接続(即ちトランズアクション)をせねばならないからである。
1頁をダウンロードするための時間遅延は、ランダムにアクセスされる頁がユーザによって観察することが所望される場合に、更に一層長いものとなる場合がある。PDFファイルにおいては、オブジェクトは「頁ツリー」の形態で与えられ、それは、ビュアが、その文書ファイルのどこにランダムにアクセスされた頁のルートが位置されているかを決定するために使用する。頁ツリーは該ツリー内の全てのチルドレンオブジェクトを決定するために全てのノードが訪問されねばならないデータ構造である。従って、多くの頁ノードが頁ルートオブジェクトが該文書ファイル内の何処に位置しているかを決定するために訪問されねばならない必要性がある場合がある。従って、頁ツリーは極めて大きなものである場合があり、且つそれを文書からダウンロードすることはダウンロードプロセスを低速化させる。更に、頁ツリーは、しばしば、それをダウンロードするためにはホストへの複数回の接続(即ちトランズアクション)が必要とされる程度に大きなもの又はばらばらなものである場合がある。
従って、一つの頁を表示するか又は一つの頁の一部をユーザに対して表示する前に、過剰な遅延を発生することなしに、最適化した頁をベースとする文書を供給し且つこのような文書から所望の頁をダウンロードするための方法及び装置に対する必要性が存在している。
本発明は、頁をベースとした電子文書を最適化し且つ過剰な時間遅延なしで最適化した文書から所望の頁又は一つの頁の一部をダウンロードし且つ表示する方法及び装置を提供している。
本発明方法は、一つ又はそれ以上の頁を有する最適化されていない電子文書から最適化された文書ファイルを提供する。該文書の個々の頁を記述する頁内容情報は最適化された文書ファイル内に書込まれる。頁内容情報は連続的に書くことが可能である。該文書の個々の頁を探すために使用される頁オフセット情報も、最適化させた文書ファイル内に与えることが可能である。複数個の頁によって共用されるオブジェクトも、頁内容情報の全ての後に連続的に位置されて最適化された文書ファイル内に与えられ、且つ該頁オフセット情報はこれらの共用オブジェクトに対するオフセット(位置)を包含している。該頁内容情報は、テキスト及びグラフィックスを包含しており、且つ該共用オブジェクトはフォントオブジェクト及び画像オブジェクトを包含することが可能である。頁内容及び共用オブジェクトを該ファイルにおいて連続的に与えるために、該文書ファイル内の非共用オブジェクト及び共用オブジェクトの内部リストが作成される。オブジェクトを共用する頁のリストも作成され、それは各共用頁によって使用される共用オブジェクトを包含し、且つ、各このような共用オブジェクトに対して、該共用オブジェクトが参照される頁内容の一部を包含する。更に、一つの側面においては、第一頁オフセット情報が最適化した文書ファイルの第一頁に対するレンジテーブル内に設けることが可能である。このような第一頁オフセット情報は、該文書ファイル内の第一頁の全ての部分の位置を記述する。この頁のための頁内容に対するオフセットが、第一頁に対する頁内容によって参照される共用オブジェクトに対するオフセットと共にレンジテーブル内においてインターリーブさせることが可能である。
本発明の別の方法は、上述した如くに作成された頁をベースとした最適化された文書を効率的にダウンロードする。頁オフセット情報はダウンロードプロセス期間中の始めに読取られる。該文書の各頁の開始オフセット及び終了オフセットが頁オフセット情報から派生することが可能である。頁オフセット情報を使用して、ユーザによって要求される特定の頁がダウンロードされ、且つユーザによって所望される任意の頁を、該文書内のその他の頁をダウンロードする必要性なしに容易にダウンロードすることが可能である。この方法の一つの側面においては、頁オフセット情報を、該文書の一つを超える頁のダウンロードを完了する前に読むことが可能である。一つの側面においては、該文書ファイルは頁オフセット情報の位置に対してポイントするポインターを有しており、そのポインターは該文書の第一頁の読取りの前又はその期間中に読取られる。
別の側面においては、ユーザが最適化した文書の特定の頁を要求する場合に、その特定の頁が該最適化された文書ファイルを格納するホストとの一つの接続のみでクライエントコンピュータシステムへダウンロードされる。別の側面においては、その特定の頁がホストとの一つのトランズアクションのみでダウンロードされる。その要求された頁は、ダウンロードされている間に、例えばディスプレイスクリーン、モニタ又はプリンタ等の出力ディスプレイ装置上においてユーザに対して表示することが可能である。ダウンロード動作はクライエントコンピュータシステム上のビュア(viewer)プログラムによって達成することが可能である。接続及びダウンロードする場合に、要求された頁の全ての残りの部分が頁オフセットテーブルを使用するクライエントコンピュータ上でのファインダー(finder)プロセスによって探し出し且つ要求されている間に、該ビュアプログラムは要求された頁の第一部分をダウンロードすることが可能である。これらの付加的な部分は、クライエントコンピュータのホストとの一つの接続期間中にダウンロードされ、従って複数回のトランズアクション又は接続を回避することにより時間及びオーバーヘッドを節約している。該特定の頁の付加的な部分は、該特定の頁の頁内容によって参照される共用オブジェクトを包含することが可能である。共用オブジェクトは、該共用オブジェクトを参照する頁内容の部分の間でインターリーブ順にダウンロードされる。別の側面においては、要求された頁は、最適化された文書ファイルを格納するホストとのただ一度のトランズアクションでクライエントコンピュータシステムへダウンロードされ、そのトランズアクションは頁オフセットヒントテーブル及び該文書内において使用可能なその他のヒントテーブル(hinttable)を使用するプロセスによって構成される。
共用オブジェクトがインターリーブ順にダウンロードされる場合には、そのインターリーブプロセスは、要求された頁からの頁内容の第一の部分をダウンロードすることを包含しており、その場合に該頁内容の第一の部分は共用オブジェクトに対する参照を包含している。該第一の部分は、共用オブジェクトに対する参照の(近似)点まで、該文書の全ての隣接する頁内容を包含することが可能である。次いで、該頁の第一の部分によって参照される共用オブジェクトがダウンロードされる。例えば、該共用オブジェクトは、頁内容の第一の部分を表示するのに必要なフォント又は同様の参照されるオブジェクトである。要求された頁からの頁内容の第二の部分が、次いで、ダウンロードされ、その場合に、該第二の部分は頁内容の第一の部分と隣接している。頁をベースとした文書における共用オブジェクト及び頁内容の第一及び第二の部分の位置は、頁オフセットテーブルを使用して派生される。一方、頁内容の第一の部分を表示するために例えば置換フォント等の代用物を使用し、その際に該プロセスが参照されたオブジェクトのダウンロードを繰延べさせ且つその際に頁内容の第二の部分をより迅速にダウンロードし且つ表示することを可能とする。
本発明の別の方法は、コンピュータのディスプレイ装置上に、例えばビットマップ画像等の大きなオブジェクトの上に表示されるべきテキストを有する例えばポータブル電子文書等の電子文書の表示を与える。一般的に、一つの側面においては、この方法は、上側に存在するテキストの表示を行うことを優先させて大きなオブジェクトの表示を行い、ディスプレイ装置上に上側に存在するテキストを表示し、且つ少なくとも上側に存在するテキストの下側に表われる大きなオブジェクトの部分に関して、その下側の部分をオフスクリーンバッファ内に描画し、該上側に存在するテキストを該オフスクリーンバッファ内のオブジェクト上に描画し、且つディスプレイ装置上に表示されるべき該オフスクリーンバッファをコピーすることを包含している。別の側面においては、オブジェクトを表示する動作及びテキストを表示する動作が、ピクセル当たりの少なくとも一つのビットのビットマップをランダムアクセスメモリからなるディスプレイバッファ内へレンダリングさせることを包含している。別の側面においては、ディスプレイバッファ及びオフスクリーンバッファは同一のピクセル深さ及びカラー定義を有している。別の側面においては、本発明はテキストの表示された様相に対応するブロック用マスクを作成し、次いで該オブジェクトを表示することが表示されるテキストを上書きすることがないように、ブロック用マスクの制御下において該テキストの下側にあたかも描画される如くに表われるように特定されたオブジェクトの部分を表示させる。
本発明の別の方法は、ユーザの入力に対して応答する対話的要素を包含する例えばポータブル電子文書等の電子文書をユーザに対して表示するビューイングプログラムの形態で実現される。一つの側面においては、本方法は、対話的要素が表示される位置に位置されていることを表わすためにビューイングプログラムのグラフィカルユーザインターフェースのカーソルの様相を変化させ、且つ対話的要素が表示されることを待機することなしに、対話的要素をユーザからの入力に対して応答させることを包含している。別の側面においては、該対話的要素はハイパーテキストリンクである。別の側面においては、該対話的要素はPDFフォーマット電子文書におけるアノテーション即ち注釈である。
本発明の別の方法は所望のフォントが使用可能となることを待機することなしに、所望のフォントでのテキストを有する例えばポータブル電子文書等の電子文書の表示をコンピュータディスプレイ装置上に与える。一つの側面においては、この方法は、初期的に、ディスプレイ装置上に該所望のフォントとは異なる置換フォントで少なくともテキストの一部を描画し、該ディスプレイ装置を有するコンピュータ上で使用するための所望のフォントとを獲得し、且つ該置換フォントが初期的に使用された表示区域を該所望のフォントで再描画することを包含している。別の側面においては、この方法は、該所望のフォントに対するフォント記述メトリックスを読取り且つそれらを使用して置換フォントを作成する。別の側面においては、この方法は、更に、置換フォントとして使用可能なフォント資源から一つのフォントを採用することを包含している。別の側面においては、該所望のフォントは該文書内に埋込まれているフォントとして包含されているフォントである。別の側面においては、該所望のフォントはフォントサーバーから獲得される。
本発明の装置は、上述した如く、ホスト上に格納されている頁をベースとした文書を効率的にダウンロードさせる。本装置は、デジタルプロセサと、メモリ装置と、ディスプレイスクリーンとを包含している。更に、ディスプレイスクリーン上に頁をベースとした文書を表示するためのメカニズムが包含されており、それはホストと接続して頁オフセット情報をダウンロードし及び/又は該文書内のその他の頁をダウンロードすることなしに、ユーザによって要求された文書の特定の頁をダウンロードする。ダウンロードされた頁はディスプレイスクリーン上に表示させることが可能である。ファインダー(finder)が頁オフセット情報を使用して、該表示メカニズムに対して該文書内の特定の頁の位置を与える頁オフセット情報を使用し、従って該特定の頁をダウンロードすることが可能である。ファインダーは一つの接続期間中に該特定の頁の付加的な部分を要求することが可能であり、且つ頁内容の部分と共用オブジェクトのダウンロード動作をインターリーブさせることが可能である。別の側面においては、ファインダーは一つのトランズアクション期間中に該特定の頁の全ての部分を要求することが可能であり、該トランズアクションは頁オフセットヒントテーブル及び該文書内において使用可能なその他の任意のヒントテーブルを使用するプロセスによって構成される。
一般的に、一つの側面においては、本発明は頁内容要素及び一組のヒントテーブルを包含する電子文書のユーザが要求した頁を読取る方法を提供しており、その場合に、該一組のヒントテーブルの内の一つ(一つの頁オフセットヒントテーブル)が該文書の頁に対する頁オフセット情報を与える。本方法は、該文書の読取り期間中速くに頁オフセットヒントテーブルを読取り、且つ該頁オフセットヒントテーブルを使用してユーザが要求した頁の内容を探し出すことを包含している。このように、ユーザが要求した頁は、該文書内のその他の頁を読取る必要性なしに、容易に読取ることが可能である。別の側面においては、頁オフセット情報は、該文書の一つを超える頁の読取りが完了する前に読取られ、且つ該文書の頁の開始オフセット及び終了オフセットは、頁オフセット情報から派生させることが可能である。別の側面においては、該頁オフセット情報は、該文書の第二頁の読取りが開始される前に読取られる。別の側面においては、該一組のヒントテーブルは、該文書の第二頁の読取りが開始される前に読取られる共用オブジェクトヒントテーブルを包含している。別の側面においては、該一組のヒントテーブルは、該文書の第二頁の読取りが開始される前に読取られるブックマークヒントテーブルを包含している。別の側面においては、該一組のヒントテーブルは、該文書の第二頁の読取りが開始される前に読取られるアーティクルスレッド(記事の繋がり)ヒントテーブルを包含している。別の側面においては、該一組のヒントテーブルは、該文書の第二頁の読取りが開始される前に開始されるサムネイル(簡略)ヒントテーブルを包含している。別の側面においては、該文書はユーザコンピュータ上で稼動しているビュアプログラムによってホストコンピュータから読取られ、且つ本発明はユーザコンピュータへ結合しているディスプレイ装置上にユーザによって要求された特定の頁を表示させることを包含している。別の側面においては、全体として該文書と関連しているオブジェクトの各カテゴリーは対応するヒントテーブルを有している。
別の側面においては、ユーザが要求した頁はホストコンピュータとの一つのトランズアクションでダウンロードされる。別の側面においては、その文書全体がホストコンピュータとの最初のトランズアクションで要求され、且つ該文書のホストコンピュータからの読取りは、ユーザが該文書の特定の頁を要求されるまで中断されることはない。別の側面においては、共用オブジェクトが、それらが読取られた後に、キャッシュされる。
一般的には、一つの側面において、本発明は、二つ又はそれ以上の頁を有する最適化した電子文書を供給する方法を提供している。この方法は、該文書の各頁の様相を特定する頁内容情報を包含する最適化した電子文書における文書情報を供給し、指定した第一頁に対する頁内容情報の性質又は量に拘らずに最適化した電子文書の開始において該文書の指定した第一頁の様相の何等かの側面を特定する頁内容情報を供給し、且つ該文書の実質的に全ての頁の各々に対する夫々の頁内容情報を見つけ出すために充分な情報を有する最適化した電子文書における頁オフセットヒントテーブルを供給することを包含している。別の側面においては、この方法は、テキストと、少なくとも一つのグラフィックと、少なくとも一つの画像と、少なくとも一つのフォントとを包含する頁内容情報を供給することを包含している。別の側面においては、この方法は、最適化した電子文書の開始において一組のヒントテーブルを供給することを包含している。別の側面においては、この方法は、該文書の指定した第一頁の様相の何等かの側面を特定する頁内容情報以外の頁内容情報の前に最適化した電子文書において一組のヒントテーブルを供給することを包含している。
一般的に、一つの側面においては、本発明は、各オブジェクトが一組のクラスの内の一つに属する一組のオブジェクトを包含する電子文書を読取る方法を提供しており、該文書は、更に、該一組のクラスにおける各クラスに対し1個のヒントテーブルを包含しており、各ヒントテーブルは対応するクラスにおけるオブジェクトの位置を識別する情報を包含している。この方法は、読取りプロセス期間中速くにヒントテーブルを読取り、ヒントテーブルを使用して対応するクラスのオブジェクトの文書内の位置を識別し、且つ該識別した位置を使用して対応するクラスのオブジェクトの全て又は特定したサブセットのものを読取ることを包含している。このように、ユーザによって所望されるあるクラスの情報に関連する文書の任意の側面を、該文書の他の側面に関するオブジェクトを読取ることの必要性なしに、読取ることが可能である。別の側面においては、該一組のクラスが頁オブジェクトに対する一つのクラスを包含している。別の側面においては、該一組のクラスがサムネイルオブジェクトに対する一つのクラスを包含している。
別の側面においては、該一組のクラスがアーチクル(記事)オブジェクトに対する一つのクラスを包含している。別の側面においては、該一組のクラスがブックマークオブジェクトに対する一つのクラスを包含している。別の側面においては、該一組のクラスが対応するヒントテーブルを有するアプリケーションプラグインによって定義される一つのクラスを包含している。
本発明の一つの利点は、ダウンロードを遠隔ホスト上に位置している文書の特定の所望の頁のみに制限することが可能であり、その結果、これらの頁に対し表示時間が高速化される。何故ならば、文書全体をダウンロードすることは必要ではないからである。更に、頁をベースとした電子文書ファイルは、連続して格納されている頁内容及び頁オフセットテーブルを包含すべく最適化されている。最適化されたファイルから個々の頁をダウンロードする速度は、頁オフセットテーブルから最適化されたファイル内の頁の位置を決定することによって増加される。一つの頁に対する全ての頁内容及び共用オブジェクトは、ホストに対する一つの接続でダウンロードすることが可能であり、従って複数回の接続による時間遅延を回避している。
本発明の別の利点は、頁内容の部分を、該頁内容のこれらの部分を表示するために必要とされるフォント等の共用オブジェクトと共にインターリーブさせた順番でダウンロードさせることが可能である。このことは、参照した共用オブジェクトがダウンロードされることを待機する必要性なしに、該頁のダウンロードした部分をより迅速に表示させることを可能とする。
本発明の別の利点は、テキストを表示する場合の不所望の遅延が減少されており且つ所望の頁の有用な側面がユーザに対してより迅速に使用可能とされるという点である。
本発明のこれら及びその他の利点は、本発明の以下の明細書を読み且つ図面の内のいくつかの図を検討することにより当業者にとって明らかなものとなる。
本発明はホストコンピュータからポータブル電子文書のデータからなる頁をダウンロードし、且つそれらを最適な増分的表示を行うのに適したものである。より詳細には、ポータブルドキュメントフォーマット(PDF)及び同様のフォーマットにおけるポータブル電子文書は、本発明によって最適化させることが可能である。本発明は、頁をベースとしたファイルの頁をダウンロードし且つ表示するための時間が最少となるように該ファイルを組織化し且つダウンロードするのに適している。
図1において、ポータブル電子文書をダウンロードするためのコンピュータシステム10は、デジタルコンピュータ11、ディスプレイスクリーン22、プリンタ24、フロピーディスクドライブ26、ハードディスクドライブ28、ネットワークインターフェイス30、キーボード34を包含することが可能である。
例えば、CD−ROMドライブ、入力タブレット又はその他のインターフェイス装置等のその他のタイプの周辺装置を包含させることも可能である。デジタルコンピュータ11は、典型的に、マイクロプロセサー12、メモリバス14、ランダムアクセスメモリ(RAM)16、リードオンリーメモリ(ROM)18、ペリフェラルバス20、キーボードコントローラー32を包含している。デジタルコンピュータ11は、パソコン(例えば、IBM−PCATコンパチ又はマッキントッシュパソコン)、ワークステーション(例えば、サン又はヒューレットパッカードワークステーション)等とすることが可能である。
マイクロプロセサー12はコンピュータシステム10の動作を制御する汎用デジタルプロセサーである。マイクロプロセサー12は、単一チッププロセサーか又は複数個のコンポーネントで実現されるものとすることが可能である。メモリから検索された命令を使用して、マイクロプロセサー12は入力データの受取り及び処理及び出力装置上でのデータの出力及び表示を制御する。図示例においては、マイクロプロセサー12の機能は、電子文書の頁からのデータを読取り且つ処理することである。
メモリバス14は、RAM16及びROM18へアクセスするためにマイクロプロセサー12によって使用される。RAM16は、一般的な格納区域として及びスクラッチパッドメモリとしてマイクロプロセサー12によって使用され、且つ、表示中の(又は、表示されていない)ダウンロードしたデータを格納するために使用することも可能である。ROM18は、マイクロプロセサー12によって処理される命令及びその他の永久的なデータを格納するために使用することが可能である。
ぺリフェラルバス20は、デジタルコンピュータ11によって使用される入力、出力及び格納装置へアクセスするために使用される。図示例においては、これらの装置は、ディスプレイスクリーン22、プリンタ装置24、フロピーディスクドライブ26、ハードディスクドライブ28、ネットワークインターフェイス30を包含している。キーボードコントローラー32は、キーボード34から入力を受取り且つバス33を介して各押圧されたキーに対するデコードした記号をマイクロプロセサー12へ送給するために使用される。
ディスプレイスクリーン22は、ペリフェラルバス20を介してマイクロプロセサー12によって供給されるか又はコンピュータシステム内のその他のコンポーネントによって供給されるデータの画像を表示する出力装置である。図示例においては、ディスプレイスクリーン22はラスター装置であって、それは当業者にとって公知の如く、ピクセルの行及び列におけるビットマップのビットに対応してスクリーン上に画像を表示する。即ち、ビットマップをディスプレイスクリーン22へ入力することが可能であり、且つ該ビットマップのビットはピクセルとして表示することが可能である。入力したビットマップはディスプレイスクリーン上で直接的に表示することが可能であり、又はコンピュータシステム10のコンポーネントが、最初に、頁記述ファイルからのコード又はその他の画像技術をビットマップへレンダリングし且つこれらのディスプレイスクリーン24上で表示されるべきビットマップを、公知の如くに、送給することが可能である。例えばCRT、LCDディスプレイ等のラスターディスプレイスクリーンは、本発明にとって適切なものである。
プリンタ装置24は用紙又は同様の表面上にビットマップの画像を供給する。プリンタ24はレイザープリンタとすることが可能であり、それは、ディスプレイスクリーン22のように、ビットマップから派生されたピクセルを表示するラスター装置である。プリンタ装置24はポータブル電子文書において見出されるようなデータから派生される画像をプリントすることが可能である。その他の出力装置を、例えば、プロッター、タイプセッター等のプリンタ装置24として使用することが可能である。コンピュータシステム10は、メモリ、格納装置からのデータ、又はネットワークインターフェイス30によって接続されているネットワークを介して、別の供給源又はホストからのデータを使用して、例えばディスプレイスクリーン22又はプリンタ装置24等のディスプレイ出力装置上で画像を表示することが可能である。
フロピーディスクドライブ26及びハードディスクドライブ28は、本発明の最適化したフォーマットでダウンロードされるか又は作成された文書としてデータを格納するために使用することが可能である。フロピーディスクドライブ26は、このようなデータを他のコンピュータシステムへ搬送することを容易としており、且つハードディスクドライブ28は大量の格納したデータへの高速のアクセスを可能とする。例えば非揮発性メモリ(例えば、フラッシュメモリ)、PCデータカード等のその他の大量ユニットも、コンピュータシステム10によって使用されるデータを格納するために使用することが可能である。この場合に、「コンピュータ(又はマシン)読取り可能な格納媒体」とは、例えばディスクドライブ26及び28のみならずRAM16及びROM18等のメモリ又はデータを格納するためのその他の任意のタイプの装置の両方のことを意味することが可能である。
ネットワークインターフェイス30は、例えばコンピュータ装置31等の一つ又はそれ以上のその他のコンピュータシステムへ接続されているネットワークを介してデータを送給し且つ受取るために使用される。インターフェースカード、モデム又は同様の装置及びマイクロプロセサー12によって実行される適宜のソフトウエアを使用して、コンピュータシステム10を既存のネットワークへ接続し且つスタンダードのプロトコルに従ってデータを転送することが可能である。
本発明においては、ネットワークインターフェイス30は、ネットワークを介してホストコンピュータシステムからポータブル電子文書を検索又は「ダウンロード」し、又はホスト又はクライエントコンピュータシステムへ該文書を送給「(アップロード)」するために使用することが可能である。該ネットワークは、当業者にとって公知の如く、多様なハードウエア及びソフトウエアを使用して実現することが可能である。
キーボード34は、コンピュータシステム10へコマンド及びその他の命令を入力するためにユーザによって使用される。ディスプレイスクリーン22上に表示されるか又はコンピュータシステム10に対してアクセス可能な画像は、キーボード34上で命令を入力することによって、ユーザによって編集され、サーチされ、又はその他の態様で処理することが可能である。その他のタイプのユーザ入力装置も、本発明に関連して使用することが可能である。例えば、コンピュータマウス、トラックボール、スタイラス、及び/又はタブレット等のポインティング装置を、汎用コンピュータのスクリーン上で例えばカーソル等のポインターを動作させるために使用することが可能である。
コンピュータシステム10は、又、最適化した文書をダウンロードする「クライエント」(受信)コンピュータシステムへ本発明の最適化した文書を作成及び/又は供給するためのホスト又は供給源コンピュータとして使用することも可能である。一方、該ホストコンピュータはファイルサーバー又はその他のタイプの大量格納装置とすることが可能である。
図2aはポータブル電子文書からの表示された視覚的表現を示したディスプレイスクリーン22の模式的概略図である。本発明は、主に、ポータブル電子文書の頁を作成し且つダウンロードすることに関連している。「ポータブル電子文書」とは、ポータブル電子文書言語で格納されているオブジェクトを包含するデータの集まりのことである。該文書は、例えばファイル、データ構造等の格納単位とすることが可能な「文書ファイル」で組織化され且つ格納される。ポータブル電子文書は、多様な異なる言語及びフォーマットで格納することが可能である。
ここでは、ポータブル電子文書はカリフォルニア州マウンテンビューのアドビシステムズ、インコーポレッドによるポータブルドキュメントフォーマット(PDF)又は同様のタイプのフォーマットを参照して説明する。PDFは「頁をベースとした」フォーマットであり、即ち、一つの文書は多数の頁を包含しており且つ、典型的に、頁毎にユーザへ提供され、即ち、ユーザは、典型的に、ディスプレイスクリーン上に一度に一つの頁(又は、一つの頁の一部)を観察する。同様の文書構造を有するその他の頁をベースとした文書フォーマットも、本発明と共に使用すべく適合させることが可能である。
例えばPDF等のポータブル電子文書言語は、典型的に、データをオブジェクトとして格納する。本明細書において使用されるように「オブジェクト」とは、能力と属性とを与えるデータ及びプロセスを有する論理的ソフトウエア単位である。例えば、オブジェクトはそのタイプに関して質問される場合があり、且つこのようなデータをそれが有する単語数、座標におけるその位置(例えば、オブジェクトの取囲みボックス(BBOX)の位置)等としてこのようなデータをリターンさせることが可能である。オブジェクトは、同一の又は異なるタイプのその他のオブジェクトを包含するか又は参照することが可能である。オブジェクトは、又、そのオブジェクトタイプに従ってスクリーン上に画像を投影するために使用することが可能である。オブジェクト指向型プログラミングを記述する多数の公知の参考書が存在している。典型的なPDFファイルにおいて使用されるオブジェクトタイプの例は、頁オブジェクト、頁内容オブジェクト(テキストキャラクタ、ワード、等及び/又は多角形形状等のグラフィックオブジェクト、コマンド等を包含する)、画像オブジェクト(例えば、ビットマップ)、フォントオブジェクト、及びユーザ特定オブジェクト等がある。幾つかのオブジェクトは、他のオブジェクトに対する直接的な参照、及び/又はそのオブジェクトを表示するために使用される情報を包含する場合がある。例えば、PDF文書においては、頁オブジェクトはコマンド及びテキストキャラクタを包含する頁内容オブジェクトを参照することが可能であり、その場合に該テキストキャラクタは該テキストキャラクタの同一性即ちIDを表わすキャラクタコードとして供給される。頁内容オブジェクトは、テキストの周りの取囲みボックスを表示するために使用される座標のようなテキストを表示するための位置、及び例えばキャラクタの寸法及び配向状態等のその他の情報を包含することが可能である。頁内容オブジェクトは、更に、例えばフォント等の「共用オブジェクト」を参照することも可能である(後述する)。本明細書において定義するように、ポータブル電子文書は、通常のASCIIテキストファイルとは異なっている。何故ならば、ASCIIテキスト文書又はファイルは、ASCIIコードのキャラクタを包含するに過ぎずその他の表示情報を包含するものではないからである。本明細書においては、オブジェクトは、頁オブジェクトによって記述される頁の「上」に存在することが可能であり、それはオブジェクトが頁オブジェクトによって「参照」されることと等価である。
図2aにおいて、ディスプレイスクリーン22はポータブル電子文書から受取ったデータから派生された表示された頁表現40を示している。頁表現40は、ポータブル電子文書内に格納されているオブジェクトからビュアプログラムによってビューウインドウ39においてスクリーン上に表示され、且つ、典型的に、当業者にとって公知の如くレンダリングされたビットマップから派生される。コンピュータシステム10上で稼動するビュアアプリケーションプログラム(「ビュア」)は、典型的に、ポータブル電子文書の頁全体、又は1頁の一部を表示することが可能である。該頁に対するデータはビュアによって要求され且つ格納装置又はその他のコンピュータから受取られる。頁40に対するデータは、ホストコンピュータからダウンロードし且つ表示させることが可能である。ビュアは、更に、メニューヘッディング41、選択ボタン43、目次、又は「ブックマーク」ビュー45のような特徴を提供することが可能である。これらの特徴は、ユーザが受取ったデータを処理し且つユーザの好みに従って頁データを観察することを可能とする。例えば、メニューヘッディングはユーザがダウンロードした頁を観察し、コピーし、ロードし、保存し、サーチし、又は同様の処理を行うことを可能とする。選択ボタン43は、同様に、ユーザがポータブル電子文書等の次の頁をズームし、選択することによって異なる態様で該文書を観察し又は処理することを可能とする。ブックマーク45は、ユーザが(又は異なるユーザが、特にマーク付を行い且つテキスト(又は、グラフィックス)でラベル付をした文書の特定の部分をユーザが選択し且つ表示することを可能とする。例えば、異なるチャプターヘッディング即ち章の見出しはブックマーク45におけるラベルとして表示させることが可能であり、従って、ユーザが一つの章を選択すると、その章の第一頁がビューウインドウ39内に表示される。本発明と共に使用するのに適したビュアアプリケーションプログラムは、アドビシステムズから入手可能なアクロバットリーダー(Acrobat(商標)Reader)又はアクロバットエクスチェンジ(Acrobat(商標)Exchange)であり、それは、文書ファイルからPDFフォーマットで格納した頁データを読取り、書込み又は処理することが可能であり且つそのデータを頁をベースとしたフォーマットで表示することが可能である。その他のビュア及びファイルフォーマットはその他の実施例において使用することが可能である。
頁表現40は、幾つかの異なるタイプの視覚的表現を包含することが可能であり、例えば、テキスト42、グラフィックス44、画像及びリンク46などがある。テキスト42は、文書ファイル内に格納されているキャラクタコード及びフォントオブジェクトから派生される。テキスト42は、当業者にとって公知の如く、スクリーン22上で表示するためにビットマップへレンダリングさせることが可能である。グラフィックス44も、例えば線及び矩形などのコード化された形状のプリミティブ即ち原始要素からレンダリングさせ且つ表示させることが可能である。画像(不図示)は、典型的に、例えば走査又はデジタル化した絵などのビットマップ画像であり、且つ当業者にとって公知の方法によってスクリーン22上に表示させることが可能である。リンク46はユーザによってアクセスすることの可能なトピック又はアイディアを描写し、且つ、例えば、通常のオブジェクトから区別するために特別のテキスト、グラフィックス、又は画像で取囲むことが可能である。リンク46はそのリンクによって描写されるトピック又はアイディアに関連しているポータブル電子文書の異なる部分を表示するためにユーザによって選択することが可能である。又、リンク46は他の文書へのアクセスを与えるために該リンクによって表現されるトピックを包含するこれらの他の電子文書へリンクさせることが可能である。例えば、多数の既存のネットワークサービス上において、該ネットワーク上に与えられている多数の異なる文書へのリンクが電子文書内に包含される。頁表現40は、更に、プリンタ24によって出力される用紙上に表示させることも可能である。コンピュータが関連するフォントオブジェクト、カラーマップ、寸法及びPDF文書内のその他の情報を検査することによって、表示されるべき各オブジェクトに対するフォント、寸法、カラー又はその他の適宜の情報を決定する。
図2bは図2aに示したスクリーンに類似したディスプレイスクリーンの模式的概略図を示している。図2bにおいて、ブックマークレビュー45は、ユーザの好みによって、「サムネイル」ウインド48によって置換されている。サムネイルウインド48は頁アイコン50(即ち、「サムネイル」)を表示し、その各々は観察されるポータブル電子文書における別個の頁を表わしている。アイコン50は該文書の何れかの頁へのランダムなアクセスを可能とし、即ち、ユーザはビューウインド39において対応する頁40を表示するためにアイコン40を選択することが可能である。現在表示されている頁は、例えばアイコン51などのハイライトしたラベルを有することが可能である。
図3aは最適化していない文書ファイル54の模式的概略図である。図示例においては、PDF言語で格納しているデータを有する文書ファイルが主要な例として参照される。その他の実施例においては、該文書ファイルは異なる頁をベースとしたフォーマットを有することが可能である。ポータブル電子文書は、典型的に、従来技術の通常のプロセスを使用してファイル又はメモリへ書込まれる場合に、図3aに示したように、最適化されていない文書ファイル54として格納される。最適化されていない文書ファイルは、ファイル54内において通常ばらばらの態様で格納される頁内容データ56を包含している。該頁内容データはテキスト42に対するデータ及び単一の頁に対するグラフィックス44を包含している。更に、該頁内容データは、又、例えば参照される(共用されない)フォント、画像、プロクセット(procsets)などのその他の頁によって共用されることのないその他の関連するデータも包含している。例えば、特定の頁Pはファイル54の始めに位置されるテキスト/グラフィックス頁内容56aと、内容56aから不連続なファイル内の後の位置に配置される共用されない画像頁内容56bと、内容56bから不連続な資源辞書内容56cと、ファイルの終わり近くに配置される共用されないフォントオブジェクト内容56dとを有している。これらの内容の全ては、頁P全体を表示するためにはビュアによって読取ることが必要である。
該文書のその他の頁は、同様のばらばらの態様でファイル54内に格納されている頁内容データ56を有している。更に、文書ファイル54は相互参照テーブル58を包含することが可能であり、それは、そのオブジェクトが位置しているファイル内の位置(オフセット)に対してインデックスされている文書ファイル54内の各オブジェクトのテーブルを与える。「ポータブル文書フォーマット参照マニュアル(PortableDocumentFormatReferenceManual)」、アドビシステムズインコーポレイテッド、アジソン・ウィズリー出版社、ニューヨーク、1993年の文献は、相互参照テーブル、頁ツリー、及びその他のPDFファイルフォーマットの特徴を記載しており、且つそれを引用によって本明細書に取込む。相互参照テーブル58は該ファイル内の任意の箇所に配置させることが可能であり、例えば、ファイルの終わりに配置させることが可能であり、又は、相互参照テーブルの一部はファイルの異なる部分に位置させることが可能である。最後に、最適化されていない文書ファイル54は、典型的に、共用オブジェクト60及び特別オブジェクト61(後述する)を包含しており、それらは、典型的に、ばらばらの態様でファイル54全体に位置されている。共用オブジェクトはファイル内の複数個の頁内容オブジェクトによって参照することが可能であり、且つ、フォントオブジェクト、カラーマップ(又は「カラー空間」)、及び表示された場合にオブジェクトの様相に必然的に影響を与えるために参照されるその他のオブジェクトを包含することが可能である。共用オブジェクトは、更に、複数個の頁上に表われる任意のオブジェクト及びユーザが定義した共用オブジェクトを包含することも可能である。本明細書において言及する「共用オブジェクト」は、特定の場合に実際に共用されるものでないものであるかもしれないが、これらのオブジェクトは潜在的に共用することが可能なものである。例えば、あるフォントは一つの頁によって使用されているに過ぎず且つ特定の文書内においてはその他の頁によって共用されるものではないかもしれないが、それは潜在的にその他の頁によって共用することが可能なものである。当該技術において公知の如く、PDFファイルは、典型的に、「頁ツリー」構造にあるオブジェクトを関連付け、その場合に、一つのオブジェクトは一つのチャイルド(子供)又は子孫オブジェクトに対して参照することが可能である。例えば、頁オブジェクトは頁内容56(チャイルド)オブジェクトへ参照することが可能であり、一方該頁内容オブジェクトは、更に、(チャイルド)共用オブジェクト60に対して参照することが可能である。
文書ファイル54の1頁を表示するプロセスにおいて、文書ファイル54は別個のホストコンピュータ上に位置させることが可能である。ユーザが、図2a及び2bに示したビュアがディスプレイスクリーン22上に文書ファイルの特定の頁Pを表示することを要求する場合には、ビュアは、最初に、その所望の文書ファイルへアクセスするためにホストコンピュータへの接続を確立する。その頁内容が図3aに示したように組織化されている場合には、ビュアは、最初に、指定された量の頁内容56aをダウンロードする。ダウンロード内容56aに対して幾つかの可能な接続を行った後に、典型的に、内容56bに対してアクセスするためにビュアによって別の接続がなされねばならず、以下同様である。更に、頁Pの内容が例えばフォントなどのオブジェクトを参照する場合には、そのフォントは、そのフォントを必要とする頁内容を表示する前に、ダウンロードされねばならない場合がある。このことは、全ての頁の何れかの部分がビュアによって表示される前に、ユーザに対する長い遅延に貢献するものである。
図3bは本発明の最適化した文書ファイル62の模式的概略図である。ファイル62におけるデータはホストコンピュータから1頁をダウンロードし且つその頁を図2a及び2bに示したようにビュアによって表示させるための時間の量を最小とさせるべく組織化されている。文書ファイル62は該ファイルの始めに格納されているレンジテーブル66を包含しており、且つ同様に該ファイルの始め近くに格納されている相互参照テーブルの第一頁部分64を包含している。頁内容56はグループ化され且つ連続的に即ち隣接して格納され、従って連続した量の第一頁の内容56が格納され、次いで連続した量の頁2の内容56が格納され、以下、頁Nの連続した内容56の終わりまで同様に行われ、尚Nは該文書における最後の頁番号である。全ての共用オブジェクト60は頁内容データの後に格納することが可能である。頁を表示するために必要とされるものではない特別のオブジェクト61は、共用オブジェクト60の後に格納することが可能である。図示例においては、特別オブジェクトは頁アイコン(サムネイル)オブジェクト、ブックマークオブジェクト、頁ツリーオブジェクトなどを包含している。相互参照テーブル58は、該特別オブジェクトの後に格納することが可能であり、且つ本発明の頁オフセットテーブル68は該ファイルの終わりに格納することが可能である。該頁オフセットテーブルは後に説明するように、ビュアに対して文書ファイル62における頁の位置及び共用オブジェクト情報を与える。別の実施例においては、該頁オフセットテーブルは該ファイルのその他の区域内に格納することが可能である。一つのこの様な別の実施例を図14に示してあり且つそれを参照して説明する。図3bに示したようなデータの組織化の機能について後に説明する。図2a及び2bに示したビュアのようなアプリケーションプログラムは、図3bに示したような最適化した文書ファイルとして観察した文書(又は特定した格納装置上の文書)を保存するためのオプションを有することが可能である。その場合には、ユーザは、文書を最適化したフォーマットで又は最適化していないフォーマットで保存するかの何れかを選択することが可能である。
別の実施例においては、文書データを最適化した文書ファイル62の異なる位置に書込むことが可能である。例えば、レンジテーブル66、相互参照テーブル58又は64、又は頁オフセットテーブル64はファイル62内の特定の位置に配置させることが可能であり、且つビュアは、特定のデータがダウンロードされることを必要とする場合に、これらの特定の位置を読取ることが可能である。
最適化した文書ファイルの作成
図4は最適化されていない文書から本発明の最適化されている文書ファイル62を作成するための本発明のプロセス70を示したフローチャートである。「最適化されていない文書ファイル」は格納装置上に一つのファイルとして格納することが可能であり、又は図2a及び2bに示したようなビューイング即ち観察プロセス期間中などに、コンピュータシステム10のメモリ(例えばRAM16)内に部分的に又は全体的に格納することが可能である。本実施例における最適化されていない文書は「通常の」PDFフォーマットにある。プロセス70は、その最適化されていない文書を本発明の最適化されている文書ファイルとして保存することを希望するユーザによって開始させることが可能である。例えば、最適化されていない文書をコンピュータシステムのRAM内にロードさせ、次いで、最適化された文書ファイル62としてハードディスク又はその他のコンピュータによって読取り可能な格納媒体へ保存させることが可能である。例えば、アドビシステムズからのPDFライター(PDFWriter)又はアクロバットディスティラ(AcrobatDistiller)を使用してアプリケーションプログラムからPDFファイルを書き、且つプロセス70を実行するために使用することが可能である。
保存した最適化されているファイル62は、例えば、その文書をダウンロードすることを要求する可能性のあるクライエントコンピュータシステムに対してホストコンピュータ又はサーバ(「ホスト」又は「ホストコンピュータ」)上で入手可能なものとさせることが可能である。最適化された文書ファイル62をダウンロードするための本発明のプロセスについて図10を参照してより詳細に説明する。このプロセスは72において開始する。ステップ74において、オブジェクトの内部リスト及び共用オブジェクトのリストが最適化されていない文書ファイルから作成される。これらのリストは該プロセスが、オブジェクトを本発明のより最適化された形態へグループ化するために該文書のオブジェクトを組織化することを助ける。共用オブジェクトのリストは、頁内容オブジェクトの後に該文書内に共用オブジェクトを配置させるために使用される。ステップ74を図5を参照してより詳細に説明する。次のステップ76において、頁内容情報56、共用オブジェクト60、特別オブジェクト61を包含する文書情報が、ステップ74において組織化された内部リストに従って最適化された文書ファイルへ書込まれる。このプロセスは、基本的に、内部リストにおける各相次ぐオブジェクト名称又は(ID)を検索し且つそのオブジェクトを同一の順番で最適化させたファイルへ書込む。このことは、図3bに示したように、該文書の全ての頁に対して、頁内容56、共用オブジェクト60及び特別オブジェクト61を組織化させる効果を有している。更に、以下に説明する相互参照テーブル部分64及びレンジテーブル66を格納するために、最適化させたファイルの始めに空間を割当てることが可能である。又、該ファイル内のオブジェクトの位置を記述する相互参照テーブル58に対する情報が、該オブジェクトがこのステップにおいて書込まれる場合に、メモリ内に格納される。
別の実施例においては、頁内容及び共用オブジェクトをインターリーブさせた順番で最適化させた文書ファイル62内に格納することが可能であり、その場合に、頁内容の部分の後にこれらの部分によって参照される共用オブジェクトが続くこととなる。一実施例においては、データがインターリーブさせた順番で読取られ又はダウンロードされるが、インターリーブさせた順番で格納するものではない。インターリーブは図9及び12を参照してより詳細に説明する。別の実施例においては、第一頁の内容を最適化させたファイル内にインターリーブさせた順番で物理的に格納し、従ってレンジテーブル66はダウンロードさせることは必要ではなく、そのことはホストコンピュータへの接続(又はそれとのトランズアクション)を節約し且つ該ファイルの初期的なダウンロード時間を減少させることが可能である。
次のステップ78において、相互参照テーブル58(又はその他のファイルフォーマットを使用する等価な構造)が該ファイルへ書込まれ、且つ一実施例においては、図3bに示したように、特別のオブジェクト61の後のファイルの終わりに書込まれる。相互参照テーブル58は該文書におけるオブジェクト及び各オブジェクトのスタートに対するファイルの始めからのオフセット(例えば、バイト単位)のリストであり、且つ該文書内のオブジェクトに対しランダムアクセスを可能とする(しかしながら、相互参照テーブルはオブジェクト又はオブジェクトが位置されている頁のタイプを与えるものではない)。PDFファイルに対する「トレーラ(trailer)」もこのステップにおいて書込むことも可能である。相互参照テーブルに対する情報は、各オブジェクトが上述した如くステップ76において最適化されるファイルへ書込まれる場合に決定される。PDFファイルにおいて相互参照テーブルの形成は当業者にとって公知である。
ステップ80において、相互参照テーブル58の頁1部分64が最適化された文書ファイル62へ書込まれ、且つ一実施例においては、それは該ファイルの始め近くに書込まれる(レンジテーブル66を格納するための余裕が残される)。相互参照テーブル58のこの部分64は電子文書の第一頁上のオブジェクトを参照し且つ頁1情報をダウンロードプロセスにおいて可及的速やかに検索することが可能であるように、該ファイルの始め近くに配置される。従って、第一頁の内容は、文書ファイル62をダウンロードする場合にこれらの内容を受取るや否やすぐに表示させることが可能である(図10における如く)。
ステップ82において、本発明の頁オフセットテーブル68が作成され且つ最適化されたファイル内に配置される。一実施例においては、それは相互参照テーブル58の後の最適化されたファイル62の終わり近くに配置される。該頁オフセットテーブルにおける情報は電子文書の任意の頁を迅速にアクセスし且つダウンロードすることを可能とする。該頁オフセットテーブルは、別のオフセットテーブルファイルをダウンロードし、処理し、アップデートし又は頁内容ファイルと関連させる必要性がないように、最適化させたファイル62内に包含させることが可能である。しかしながら、別の実施例においては、頁オフセットテーブル及び、オプションとして、その他のインデックステーブルをオプションとして別のホストコンピュータ上に存在する一つ又は複数個の二次ファイル内に格納することが可能である。一実施例においては、頁オフセットテーブルに対するポインタがファイル62の始め近くのレンジテーブル66(後述する)内に包含され、従って該頁オフセットテーブルは、第一頁1情報がダウンロードプロセスにおいてダウンロードされた後にアクセスすることが可能である。該頁オフセットテーブルは該文書の頁1を表示するためには必要なものではないので、それは該ファイルの始めに配置されるものではない。一方、該頁オフセットテーブルは、始めの部分を包含する最適化させたファイル62におけるその他の場所に与えることが可能である。該頁オフセットテーブルは図8を参照してより詳細に説明する。
ステップ84において、レンジテーブル66(及び、オプションとして、ヘッダ)を最適化させたファイル62を真先に書込む。該レンジテーブルは該文書の第一頁の頁内容及び共用オブジェクトに対するオフセット及び長さを与え、従って、頁オフセットテーブル68のような機能を行う。該レンジテーブルを書込むプロセスは図9を参照してより詳細に説明する。その他の必要な情報もこのステップにおいて書込むことが可能であり、例えば、PDFファイルは「トレーラ」後のファイルの終わりにおいて文書ファイルの内容に対するポインタを格納する。次いで、プロセス70は86において完了する。
図5は図4のステップ74を例示するフローチャートであり、その場合に、オブジェクトの内部リスト及び共用オブジェクトのリストが最適化されていないポータブル電子文書から作成される。該プロセスは88において開始する。ステップ89において、ペアレント(親)オブジェクトからの任意の継承データが適宜頁ツリー下方のチルドレン(子供)オブジェクト内にコピーされる。このステップは、PDFファイルにおけるように、幾つかのチルドレン(子供)オブジェクトがある必要とされるデータを包含するものではなく且つ、その代わりに、例えば表示コマンド、配向コマンドなどをペアレント(親)オブジェクトからこの必要とされるデータを参照し且つ「継承」する場合に実行される。本発明はオブジェクトデータを記録し且つペアレントオブジェクトを容易に参照することが可能でない場合があるので、ペアレントオブジェクトからの任意の継承データはステップ89においてこの様なデータを必要とするチルドレンオブジェクト内にコピーされる。
ステップ91において、第一頁に対する頁ツリーオブジェクトを除いて、別の頁ツリー内部リストへ頁ツリーオブジェクトが付加される。第一頁の頁ツリーオブジェクトのみがダウンロードプロセスにおいて最初にダウンロードされることが必要であるに過ぎず、従ってその他の頁ツリーオブジェクトはステップ91において別個のリスト内に組織化することが可能であり、且つ、後に該ファイルの終わり近くに書込むことが可能である(後述する)。ステップ92において、変数Pが1へ初期化され且つそれが該文書内の頁数未満であるか又はそれに等しいか否かがチェックされる。そうである場合には、ステップ94において、頁Pに対する頁オブジェクトが最適化されていない文書ファイル(又はメモリ内に格納されている最適化されていない文書)から検索され且つ内部リストへ書込まれる。典型的にPDFファイル又は同様のフォーマットで定義される頁オブジェクトはその頁上に包含され且つ集団的に表示されるその他のオブジェクトを参照する一つのオブジェクトである。従って、頁Pに対する頁オブジェクトを検索することによって、本プロセスは、又、頁Pの頁内容オブジェクト及び任意のその他の参照されるオブジェクトに対する参照(ポインタ)を間接的に検索する。ステップ94は最適化されていないファイル(それはビュアによって使用することが可能である)からの相互参照テーブルを使用することにより最適化されていないファイルにおける頁Pに対する頁オブジェクトを見つけ出す。頁Pオブジェクトの同定又は識別(ID)が内部リストへ書込まれ、RAM16又はその他の格納部内に格納される。
PDF及びその他のタイプのファイルにおいて、オブジェクトは、典型的に、オブジェクトIDを有しており、それは該文書ファイル内の該オブジェクトを固有的に識別する番号又はその他の識別子である。頁Pオブジェクトに対する番号識別子が本実施例における内部リストへ書込まれる。ステップ96において、頁アイコン50(「サムネイル」)が図2bに示したようにビュア実施例において実現される場合には、最初に表示されたビューが頁アイコンを包含するものでない場合には、現在の頁Pに対する頁アイコンオブジェクトが、典型的に、別の頁アイコンリストへ付加される。しかしながら、アクロバット(Acrobat)などのビュアにおいては、ユーザは最初にダウンロードし且つ表示される場合に、図2bに示したように、頁アイコンビューと共に表示されるべき文書を指定するファイルを保存することが可能である。現在の最適化されていない文書がその様に指定されている場合には、頁アイコンオブジェクトは第一頁を表示するために必要である。従って、一実施例においては、ステップ96はスキップすることが可能であり且つ該頁アイコンオブジェクトを、全ての第一頁オブジェクトを付加した後に該内部リストへ付加させることが可能である(即ち、第一頁(例えば、P=1)に対するステップ108の負の判別)。一方、特定の頁に対する頁アイコンをその頁内容の後に格納することが可能である。該文書を表示するために必要ではないその他の特別のオブジェクトもステップ96において特別化された内部リストへ付加させることが可能であり、従ってこれらのオブジェクトは文書ファイルの終わりに書込むことが可能である。本明細書においては、「特別のオブジェクト」とは頁アイコンオブジェクト、ブックマークオブジェクト、頁ツリーオブジェクト、及び頁を表示するために通常必要なものではなく且つ最適化させた文書ファイルの終わり近くに与えることの可能な同様の任意のタイプのオブジェクトのことを意味している。
次のステップ98において、頁Oの「上」の次のオブジェクトが指定された順番、即ち、オブジェクトの指定された順番における頁Pオブジェクトによって参照される次のオブジェクトが検索される。オブジェクトの「指定された順番」とは、該ファイルから一つの頁へアクセスする場合に、最適化されたファイルのプロバイダ(又はプロセス74のインプリメンタ即ち実行するもの)がダウンロードされ且つ表示されることを所望する場合のオブジェクトの順番である。従って、最適化されたファイル62をダウンロードする場合には、他のタイプのオブジェクトが未だダウンロード中に、あるタイプのオブジェクトを最初に表示させることが可能である。例えば、その頁をダウンロードするユーザが画像が未だダウンロードしている間にテキストを読取ることが可能となるので、その頁がダウンロードされる場合に、その頁の画像より前にその頁のテキスト(即ち、頁内容オブジェクト)を表示することが望ましい。テキスト内容から、ユーザは、画像がダウンロードされ且つ表示されるのを彼又は彼女が待機するのに値するか否か、又はその頁のダウンロードを中断し且つ新しい頁をダウンロードするか否かを迅速に判別することが可能だからである。
一実施例においては、オブジェクトの指定した順番はリンク、非画像「資源オブジェクト」(即ち、資源辞書における非画像オブジェクト)、頁内容オブジェクト、画像オブジェクト、ブックマークオブジェクト、ユーザが定義したオブジェクト、及びその他のオブジェクトである。この順番はリンクを最初にダウンロードし且つアクティブとさせることを可能とする。リンクは、典型的に、テキスト、グラフィックス、画像又はその他のオブジェクトを取囲む矩形状の(又はその他の形状の)「取囲みボックス」として典型的に実現されるので、該リンクは好適には指定された順番における最初のものであり、従って、リンクの取囲まれているオブジェクトは後に表示され、該リンクは既にユーザの入力を受付けることが可能である。ビュアによって文書へ付加することの可能なその他のタイプのオブジェクトは指定した順番でリンクと共に順番付けされる。非画像「資源オブジェクト」は次の順番とされ、それは例えばフォントオブジェクト、カラーマップオブジェクトなどの共用オブジェクトを包含している。フォントオブジェクトはテキストがどの様にして表われるかを決定するデータを与え、且つカラーマップオブジェクトは当業者にとって公知の如く異なるディスプレイ出力装置に対するカラーをマッピングする。フォント及びカラーマップオブジェクトはテキスト及びグラフィックスを表示するために必要とされ、従ってそれらを参照する頁内容オブジェクトに対し時間的に近接してダウンロードされるべきである。PDFファイルにおいては、これらのタイプのオブジェクトは、典型的に、「資源辞書」内に位置され、それは文書ファイルの頁内容オブジェクト56内に位置され(又は別のオブジェクトとして)且つオブジェクト参照でオブジェクトをマッピングするために頁内容をデコーディングするために使用される。画像オブジェクトは、又、典型的なPDFファイルにおける資源辞書において参照することが可能であるが、それらは指定した順番の後において順番付けされる。頁内容オブジェクト(テキスト及びグラフィックス)は該指定された順番において次の順番とされ、それはユーザがテキスト/グラフィックスを迅速にダウンロードし且つ観察し且つ該頁の主題内容を決定することを可能とする。画像オブジェクトは、次の該指定された順番の終わり近くの順番とされている。なぜならば、それらは、通常、最も大きな寸法のオブジェクトであり且つ最も大きなダウンロード時間を必要とするからである。図2aに示したように、ブックマークオブジェクトによって参照されるオブジェクトが次の順番である。これらのオブジェクトはブックマークによってアクセスすることが可能であるようにダウンロードすべきであり、且つ以下に説明するように特別の場合である。ユーザが定義したオブジェクト及び任意のその他のタイプのオブジェクトは最後の順番である。
オブジェクトのその他の指定した順番をその他の実施例において実現することが可能である。例えば、リンクをテキスト及びグラフィックスオブジェクトの後にダウンロードすることが可能である。一方、最適化させたファイル62を作成するユーザがオブジェクトの所望の指定順を入力するオプションが提供されるようにすることが可能である。従って、オブジェクトの指定順における次のオブジェクトがステップ98において検索される。即ち、これが、ステップ98が実行される最初の時である場合には、リンクオブジェクトが検索される。全てのリンクオブジェクトが検索され且つ現在のプロセスのステップ102におけるリストへ付加されると、指定順における次のオブジェクト(例えば、資源オブジェクト)がステップ98において検索され、以下同様である。
ステップ100において、本プロセスは、検索されたオブジェクトが異なる頁に対して既に検査されているか否か又は検索されたオブジェクトが強制された共用オブジェクトであるか否かを決定する。その検索されたオブジェクトが異なる頁に対して既に検査されている場合には、このオブジェクトは共用オブジェクトとして指定され、即ち、該オブジェクトは先に検査した頁/頁内容オブジェクト又は現在の頁/頁内容オブジェクトによって参照され且つ既に検索され且つ処理されたものである。何れのオブジェクトも潜在的に共用オブジェクトとなることが可能であり、例えば、文書ファイルにおける頁内容オブジェクト又は画像オブジェクトは二つ又はそれ以上の異なる頁によって参照されることが可能である。本プロセスは、現在のプロセスにおいてこれまで作成された内部リストを検査することによって、一つのオブジェクトが共用されるか否かをチェックすることが可能である。オブジェクトIDが現在のオブジェクトのIDと一致するものであることが判別する場合には、そのオブジェクトは共用オブジェクトであると考えられる。
又、一実施例においては、ステップ100において、検索されたオブジェクトが強制された共用オブジェクトである場合には、そのオブジェクトは、実際に複数個の頁によって参照されたか否かに拘らずに、そのオブジェクトは共用オブジェクトへ自動的に強制される(指定される)。本明細書においては、「強制された」共用オブジェクトは、フォントオブジェクト及びカラーマップオブジェクトのような資源オブジェクトを包含するものであるが、例えば画像オブジェクト又はプロクセット(procset)オブジェクトなどの資源オブジェクトを包含するものではない。フォントオブジェクト及びカラーマップオブジェクトは、頁内容をデコーディングする場合に必要とされるのでそれらは共用オブジェクトへ強制され且つ、特定の実施例においては、効果的に、以下に説明するダウンロードプロセスにおいてインターリーブさせることが可能である。「プロクセット(procset)」は、当業者にとって公知の如くプリントプロセスに対して使用され且つ自動的に共用オブジェクトへ強制されることは必要でないものである(画像及びプロクセット(procset)は、複数個の頁によって参照される場合に、共用オブジェクトとなることが可能である)。
更に、ユーザは、複数個の頁上で参照することの可能な彼又は彼女自身の標準的でない共用オブジェクトを与えることが可能である。例えば、ユーザは複数個の頁によって参照される文書内のディクショナリ即ち辞書テーブルオブジェクトを与えることが可能である。この様なユーザが定義した共用オブジェクトは必ずしも参照されるものではなく且つテキストのような頁内容を表示するために必要とされるものでもなく、且つ従って、本明細書においては「非内容共用オブジェクト」として言及する。
検索されたオブジェクトが共用オブジェクトではない場合には、ステップ102が実行され、その場合に、検索されたオブジェクトのオブジェクトIDが内部リストの終わりに付加される。従って、内部リストは頁オブジェクトと、それに続くその頁によって参照される全てのオブジェクト(指定順)とを包含するオブジェクトの順番を有している。
ステップ103において、所定の条件が充足される場合には特別オブジェクトが処理される。例えば、図示例においては、ブックマーク45オブジェクトは、現在の頁が第一頁(P=1)であり、且つ現在の頁上の画像オブジェクトが全て処理されている場合には(即ち、ブックマークオブジェクトが指定順において画像オブジェクトの後である)、ステップ103において処理される特別タイプのオブジェクトである。これらの条件が満足される場合には、本プロセスは、該文書が最初に開かれる場合にブックマークビュー45が表示されるべきか否か、即ち図2aのブックマークビューがデフォルト初期ビューであるか否かをチェックする。そうである場合には、所定数のブックマークオブジェクト(例えば、60)のIDが内部リストへ付加される。この数は、図2aに示したように、初期的にブックマークビュー45内に示されるブックマークオブジェクトの数である。次いで、ブックマークオブジェクトの残部が、上述した別個の頁アイコンリストと同様に、別個のブックマーク内部リストへ付加される。図2aのブックマークビューがデフォルトの初期的なビューでない場合には、ブックマークオブジェクトの全てがステップ103において別個のブックマークリストへ付加される。このステップは、ブックマークビュー内に表示されているオブジェクトが第一頁の内容データと共にグループ化させることを可能とし、従ってブックマークオブジェクトをダウンロードし且つダウンロードプロセスにおいて最初の頁データを迅速に表示させることが可能である(初期の文書表示がブックマークビューを包含している場合)。次いで、本プロセスは以下に説明するようにステップ108へ進行する。
検索したオブジェクトがステップ100における共用オブジェクトである場合には、ステップ104が実行され、その場合に共用オブジェクトが処理され且つ共用頁リストが作成される。このステップについては図6を参照して詳細に説明する。次のステップ106において、共用オブジェクトのオブジェクトIDが共用オブジェクトリストへ付加され、それは、プロセス74によって検査されたオブジェクトの共用オブジェクトIDのみを包含するという点を除いて、内部リストに類似している。
図5aは図5のステップ106において処理されるような共用オブジェクトリスト148の模式的概略図である。共用オブジェクトリスト148は、図5のプロセスにおいて見つけられた各共用オブジェクトに対するノード150を有している。各ノード150は、後に詳細に説明するように、オブジェクトのオブジェクトIDを格納するためのオブジェクトIDフィールド152、及び内容フラッグを格納するための内容フラッグフィールド154を有している。
ステップ102又はステップ106の後に、ステップ108が実行され、その場合に、本プロセスは、検査されていない頁P上に付加的なオブジェクトが存在するか否かをチェックする。存在する場合には、本プロセスはステップ98へ復帰して、オブジェクトの指定した順番で次のオブジェクトを検索する。付加的なオブジェクトが存在しない場合には、ステップ110が実行され、その場合に、頁P上のオブジェクト数がメモリ内に格納される。この数は、内部リストにおける新たに付加されたオブジェクトID全てをカウントすることによって決定することが可能である。次いで、本プロセスはステップ92へ復帰し、変数Pをインクリメントさせ、且つ、再度、Pが該文書内の頁数より小さいか又は等しいかのチェックを行う。
最適化されていない文書の全ての頁が前述したステップによって処理されると、本プロセスはステップ112へ進行し、その場合に、共用頁リストが完成され且つ全ての共用オブジェクト及びその他のオブジェクトが内部リスト内に組込まれる。共用頁リストはステップ104の共用オブジェクトの処理において作成される。共用オブジェクト及びその他のオブジェクトが内部リスト内に組込まれた後に、該内部リストは図4のステップ76において最適化された順番で該オブジェクトの全てを書込むために使用する準備がなされる。ステップ112は図7を参照してより詳細に説明する。次いで、このプロセスは114において完了する。
図6は図5のステップ104を示したフローチャートであり、その場合に、検索された共用オブジェクトが処理される。処理104は116において開始し、且つ、ステップ118において、本プロセスは、検索されたオブジェクトが頁P上の第一共用オブジェクトであるか否かをチェックする。このことは、頁Pが既に共用頁リスト内に存在するか否かをチェックすることによって決定される。頁Pが共用頁リスト内に既に存在する場合には、共用オブジェクトは、既に、頁Pによって参照されており、且つステップ122が実行される。頁Pが共用頁リスト内に存在しない場合には、ステップ120において、頁Pが共用頁リストへ付加される。
図6aは図示例の共用頁リスト136の模式的概略図である。このリストは図6のプロセス104期間中に作成され且つ参照される。前述したように、このリストはリンクされたリストとして与えられ、その具体例は当業者にとって公知である。該リストのその他の具体例を与えることも可能である。一つの頁は頁ノード138によって表わされ、その場合に、各頁ノードは、例えば、ソーティングした頁の数字順で、別の頁ノードへリンクされている。頁ノードがリスト136内に存在する場合には、その頁は、図6のステップ118及び120によって決定されるように、共用オブジェクトを包含している。
再度図6を参照すると、該オブジェクトが頁Pによって参照された第一共用頁ではない場合には、又はステップ120の後に、ステップ122が実行される。ステップ122において、本プロセスは、検索されたオブジェクトが頁Pのオブジェクトリスト内に存在するか否かをチェックする。図6aに示したように、オブジェクトリスト140は、その頁が共用オブジェクトを参照する場合には、頁ノード138によって参照される。オブジェクトリスト140は多数のオブジェクトノード142を包含しており、その各々は対応する頁ノードの頁によって参照される共用オブジェクトを表わす。ステップ122において、本プロセスは、検索された共用オブジェクトが既に頁Pのオブジェクトリスト140内に存在するか否かをチェックする。この様な条件が存在する場合には、それは、該共用オブジェクトに対する複数回の参照が頁P上に存在していることを表わす。
一つの頁上の共用オブジェクトの第一インスタンス(例)のみが本発明にとって必要であるに過ぎないので、以下に説明するように、次いでステップ126が実行される。しかしながら、検索されたオブジェクトが頁Pのオブジェクトリスト140内に存在しない場合には、ステップ124において、オブジェクトノード142がオブジェクトリスト140へ付加され、且つ共用IDがオブジェクトノードのIDフィールド144へ付加される(オブジェクトノード142も、以下に詳細に説明するように、フラクション(小数)フィールド146を有している)。「共用ID」は、共用頁リスト内のオブジェクトを固有的に識別するオブジェクトに対する識別子である。共用IDは、数字nとすることが可能であり、それは共用オブジェクトが該文書内において見つかったn番目の共用オブジェクトであることを表わしている。例えば、「0」の共用IDは、あるオブジェクトが該文書内において見つかった第一共用オブジェクトであることを表わし、「1」は見つけられた第二共用オブジェクトであり、以下同様である。共用IDはオブジェクトIDと同一ではない。なぜならば、逐次的なオブジェクトIDであるmは、そのオブジェクトが該文書におけるm番目(共用か又は非共用)オブジェクトであることを表わすからである。オブジェクトノード142及び共用IDは、当然に、共用IDに従うソーティングした数字順でオブジェクトリスト140へ付加される。
次いで、ステップ126が実行され、その場合に、本プロセスは、検索されたオブジェクトが元の頁上の第一共用オブジェクトであるか否か、即ち該元の頁が既に共用頁リスト136内に存在するか否かをチェックする。「元の頁」はそれも該共用オブジェクトを参照するその他の前の頁である。例えば、検索された共用オブジェクトが強制された共用オブジェクト(例えば、フォント)である場合には、元の頁が存在しない場合がある。
本プロセスは、例えば、各オブジェクト及び各オブジェクトが位置している頁を記録するテーブルをチェックすることによって元の頁を決定する。検索されたオブジェクトが元の頁上の第一共用オブジェクトではない場合には、ステップ130が実行され、それについては後に詳細に説明する。検索されたオブジェクトが元の頁上の第一共用オブジェクトである場合には、ステップ128において、元の頁に対応する頁ノード138が共用頁リストへ付加される。頁番号による数字的にソーティングした順番で新たなノードをリスト136へ付加させることが可能である。例えば、ノード142aによって指定された共用オブジェクトが頁9上で見つけられ、且つ「1」の共用IDが割当てられる。頁1も同一のオブジェクトを有しており、従って、ノード142bが頁1に対する頁ノードのオブジェクトリスト140へ付加される。次いで、このプロセスはステップ130へ進行する。
ステップ126における判別が否定である場合、又はステップ128の後に、ステップ130が実行され、その場合に、本プロセスは、検索されたオブジェクトが元の頁のオブジェクトリスト140内に存在するか否かをチェックする。このステップは、上述したステップ122と実質的に同様である。そのオブジェクトが既に元の頁のリスト140内に存在する場合には、本プロセスは以下に説明するステップ133へ進行する。そのオブジェクトが元の頁のリスト140内に存在しない場合には、ステップ132において、検索されたオブジェクトに対するオブジェクトノード及び共用IDが元の頁のオブジェクトリスト140へ付加される。本プロセスは、次いで、ステップ133へ進行する。
ステップ133において、本プロセスは、検索されたオブジェクトが強制された共用オブジェクトであるか否か、又はそのオブジェクトが頁Pのオブジェクトリスト内に存在しないか否かをチェックする。何れかの条件が成立する場合には、ステップ131が実行され、その場合に、図5のステップ104及び106が、検索されたオブジェクトによって参照されるチルドレンオブジェクトの全て(存在する場合)であってその他のチルドレンのチルドレンオブジェクトなどを包含するチルドレンオブジェクトの全てに対して反復的に実行される。このステップは、ペアレントを共用するオブジェクトのチルドレンオブジェクトを強制的に共用させる。この様なチルドレンオブジェクトは、例えば、カスタムフォントなどに対するキャラクタの幅を包含することが可能である。ステップ131の後に、又はステップ133の何れの条件も成立しない場合には、本プロセスはステップ134において完了する。
ステップ118−124は、ファンクションコールを介してファンクションへパスされるオブジェクトを検査するファンクションとして実現することが可能である。この同一のファンクションは、2番目のコールを介して元の頁を該ファンクションへパスすることによってステップ126,128,130,132を実行することが可能である。図7は図5のステップ112を例示したフローチャートであり、その場合に、共用頁リストが完了され且つ共用され且つその他のオブジェクトが内部リストへ付加される。プロセス112は156において開始する。ステップ158において、共用頁リスト136における次の頁ノード138が検索される。これがステップ158を実行する最初である場合には、リスト136内の第一頁ノードが検索される。次のステップ160において、本プロセスは、全ての頁ノードが検査されたことを表わすためにヌル又はリストの終わり記号がステップ158において検索されたかなどを検査するために、リスト136内にさらなる頁ノードが存在するか否かを決定する。検査すべきさらなる頁ノードが存在しない場合には、ステップ170が実行され、それを以下に詳細に説明する。新たな検査されていない頁ノードがステップ158において検索された場合には、ステップ162において、選択された頁に対する共用オブジェクトでもある資源オブジェクトの名称が共用オブジェクトリスト148を使用して資源ディクショナリ(辞書)から検索される(資源辞書は、典型的に、各頁オブジェクトと関連している)。ダウンロードプロセスにおいてインターリーブされることを所望するあるタイプの資源オブジェクトのみが検索される。図示例においては、これらの所望の資源オブジェクトはフォントオブジェクト、カラーマップオブジェクト、及び(共用)画像オブジェクトを包含している。各資源オブジェクトは、典型的に、「名称(name)」を有しており、それは該オブジェクトに対する識別子であり、従って、それは実際のオブジェクトデータに対して参照することが可能である。例えば、フォントオブジェクトは例えば「f1」又は「f2」のような名称を有することが可能であり、それは「ヘルベチカ(Helvetica)」、「タイムズ(Times)」などのフォントに対する特定のフォントオブジェクトを参照する。
次のステップ164において、本プロセスは選択した頁の頁内容部分における検索した共用資源オブジェクト名称に対するサーチを行う。例えば、頁9が選択された頁である場合には、本プロセスは頁9の頁内容へアクセスし且つステップ162において見つけられた資源辞書から名称(例えば「f1」)をサーチする。ステップ166において、各見つけられた資源オブジェクトに対して、これが該頁上の資源オブジェクトの最初に見つかった事象である場合には、その見つかった資源オブジェクトを包含する頁内容のフラクション(fraction)番号がオブジェクトリスト内に書込まれる。例えば、一つのフラクションが頁内容の寸法の1/8であるようにフラクションを1/8を基礎とした寸法に指定することが可能であり、且つ第一フラクションに対するフラクション番号は0(ゼロ)であり、該頁の頁内容データの0/8乃至1/8を表わしている。より大きな又はより小さなフラクションをその他の実施例において指定することが可能である。フラクション寸法は、インターリーブする場合に使用され、且つ後に説明するように、その内容データによって参照される共用データがダウンロードされる前に、ダウンロードされるべき所望の量の頁内容データに依存する。資源オブジェクトの名称が頁内容内に見つけ出される場合には、本プロセスは該資源オブジェクトに対する参照又はポインタを見つけ出す。例えば、頁内容におけるテキストは、フォントオブジェクトを参照する識別子を包含する場合がある。次いで、該資源オブジェクトが指名された頁内容の特定のフラクションが現在の頁ノードのオブジェクトリスト140へ書込まれる。このフラクション(小数又は分数)番号はオブジェクトノード142のフラクションフィールド146内に書込まれ且つ該フラクション即ち分数の分子であり、その分母は文書ファイルヘッダ内において見つけ出すことの可能な所定の数である。例えば、図6aにおけるリスト136のオブジェクトノード142cの場合には、「7」のフラクション番号(分子)は、この共用オブジェクトが頁22の頁内容データの7/8乃至8/8部分において発生したことを表わしており、即ち、頁内容が八つの部分に分割された場合には、該オブジェクトは最後の8番目に発生し、その場合に「8」が所定の分母である。フラクション番号は、同様に、サーチした各資源名称に対して同様に書込まれ且つ該頁上に見つけ出される。又、ペアレント共用オブジェクト内に書込まれたフラクション番号は、更に、これらのペアレント共用オブジェクトの任意のチルドレンオブジェクト内に書込まれ(チルドレンオブジェクトは図6のステップ131において説明している)、従ってこれらのチルドレンはペアレントオブジェクトとインターリーブさせることが可能である。一実施例においては、画像資源オブジェクトが自動的に高いフラクション番号が割当てられ、従って以下に説明するように、画像はインターリーブされたダウンロードプロセスにおける後の方にダウンロードされる。図13aを参照して説明するフォントの段階的レンダリングの方法を使用する実施例においては、フォント記述子オブジェクトが正しいフラクション番号が与えられ、従って、それらはインターリーブされたダウンロードプロセスにおけるフォント参照近くでダウンロードされ、一方フォントデータオブジェクトは高いフラクション番号が与えられ、従ってそれらは頁の終わりに向かってダウンロードされる。
更に、ステップ166において、各オブジェクトリスト140のノードを再度順番付けすることが可能であり、従って共用オブジェクトは該頁上において最初の事象から最後の事象への順番で与えられる。選択した頁上の他の共用オブジェクトから別個に第一事象から最後の事象へ画像オブジェクトが順番付けされている実施例においては、これらは該頁に対するオブジェクトリストの終わりに付加させることが可能である。
ステップ168において、各見つけられた資源オブジェクトと関連する内容フラッグが共用オブジェクトリスト148内にセットされる。図5aに示したように、フラッグフィールド154は各共用オブジェクトに対して内容フラッグを保持する。このフラッグは、該共用オブジェクトがステップ166において見つけられた場合に、「1」に設定される。コンテンツフラッグは後に説明するように、最適化したファイルがダウンロードされる場合に、どの共用オブジェクトが頁内容とインターリーブされるべきであるかを表わす。内容フラッグをセットしていない共用オブジェクトは、図10のダウンロードプロセスにおいてインターリーブされることはない。(例えばユーザが定義したオブジェクト、プロクセット(procset)、及び資源辞書などの非内容オブジェクトは、共用されている場合でも、内容フラッグをセットすることはない。)ステップ168の後に、本プロセスはステップ158へ復帰し、共用頁リスト136から別の頁ノード138を検索する。全ての頁ノードを検査すると、本プロセスはステップ160からステップ170へ進行し、そこで共用オブジェクトリスト148からの共用オブジェクトIDが内部リストの終わりにアテンド即ち付けられる。ステップ171において、ブックマーク内部リスト上のブックマークオブジェクト、頁アイコン内部リスト上の頁アイコン、頁ツリー内部リスト上の頁ツリーオブジェクト、及び任意のその他の必要とされるオブジェクトが主内部リストの終わりに付加される。次のステップ172において、内部リストの前部部分(即ち、共用オブジェクト部分の前の部分)における二重の共用オブジェクトIDが内部リストから取除かれる。共用オブジェクトリスト148における共用オブジェクトIDが内部リストの前部部分におけるオブジェクトIDと比較され、且つ内部リストから一致するものが取除かれる。更に、ステップ172において、一つの頁に対するオブジェクトの総数が、その様にして取除かれた一致したオブジェクトの量だけ減少される。ステップ174において、共用オブジェクトIDをステップ168においてセットした内容フラッグを使用して再度順番付けすることが可能であり、従って頁内容によって参照される共用オブジェクトが最初の順番とされる。この順番は、内容共用オブジェクトをグループ化することを可能とし、且つ頁オフセットテーブルが、共用オブジェクトが再度順番付けされなかった場合よりも必要とする格納空間をより小さいものとすることを可能とする。次いで、本プロセスは176において完了する。
図8は図4のステップ82を示したフローチャートであり、その場合に、本発明の頁オフセットテーブルが展開され且つ最適化された文書ファイル内に格納される。図8のプロセスは頁オフセットテーブルの一例を発生し、それは別の実施例においてはその他のフォーマット及びフォームを有することが可能である。本プロセスは180において開始し、且つステップ182において、本プロセスはバイト又は同様の内容の大きさにおいて各頁の長さを決定する。このことは、一つの頁上のオブジェクトの数を検査し且つ該頁上の第一オブジェクトと次の頁の第一オブジェクトとの間のバイトオフセット量を決定することによって決定することが可能である。ステップ184において、ハウスキーピング情報が頁オフセットテーブル68内に書込まれる。プロセス82によって参照されるように頁オフセットテーブル68の一例を図8aに示してある。ハウスキーピング情報は、電子文書における頁数、単一の頁上のオブジェクトの最後の番号、相互参照テーブルの位置(例えば、ファイルの始めからバイトにおけるオフセット)、及び該文書内の共用オブジェクトの数などを包含することが可能である。このハウスキーピング情報は、図10のダウンロードプロセスにおいて詳細に示されるように、該文書の部分部分をダウンロードすることを助けるために頁情報を作成するために使用される。
該ファイル内に共用オブジェクトが存在する場合には、共用オブジェクトハウスキーピング情報がステップ184において頁オフセットテーブルへ書込まれる。共用オブジェクトハウスキーピング情報は、該文書内の非内容共用オブジェクトの数、共用オブジェクトの最小寸法、及びフラクション寸法(例えば、3ビット)に対する被除数の大きさなどを包含している。
ステップ188において、ステップ180において決定されるような頁長さ情報及び図7のステップ170及び図5のステップ110において決定されるような各頁上のオブジェクトの数は、図8aにおける情報189のように、圧縮され且つ頁オフセットテーブルへ書込まれる。ステップ190において、該文書内の各共用オブジェクトに対して、共用オブジェクトの長さ(例えば、オフセット比較によって決定されるバイトにおいて)且つ共用オブジェクトに対するシグナチャ(署名)(適用可能な場合)が頁オフセットテーブル内に格納される。シグナチャ即ち署名は、ダウンロードプロセスにおいて共用オブジェクトのキャッシングを安全に使用することを可能とする識別子である。シグナチャは異なるものであるが同一の名称で存在する可能性のある誤った資源(例えばフォント)を回避するために使用される。シグナチャは、異なる資源に対して異なる値を与える十分に高い蓋然性で任意の方法によって該資源自身から計算することが可能である。従って、共用オブジェクトは、同一か又はたとえ異なる文書ファイルにおける頁内容によってアクセスされるか又は参照される場合には、それが最初に使用するためにダウンロードされた後にディスクキャッシュにおいて格納させることが可能である。
次に、ステップ192において、該文書の各頁Pに対して、共用オブジェクトフラッグ、頁P上の共用オブジェクトの数、共用ID、近似的な頁内容フラクション情報、及びフラクション寸法のために使用される除数値などの付加的な情報が頁Pに対する圧縮のために決定され且つ回収される。共用オブジェクトフラッグは、頁Pが共用オブジェクトを参照することを表わす。共用オブジェクトIDはその頁によって使用されている共用オブジェクトに対して格納される。近似的内容フラクション情報は、頁長さのフラクション即ち一部として頁内容オブジェクトの寸法から推定され、例えば、この近似的なフラクションは「1/8」として指定される。除数値は、例えば、該フラクション寸法が1/8を基礎とするものとして決定される場合には「8」である。ステップ192における情報が該文書の各頁に対して決定された後に、本プロセスはステップ194へ進行し、そこで全ての頁に対する情報を公知の技術によって圧縮し且つ最適化した文書ファイル62における頁オフセットテーブルへ書込むことが可能である。次いで、本プロセスは196において完了する。
頁オフセットテーブル68は、意図的に寸法が小さく且つコンパクトなものとされており、その場合に、データは可能である場合には圧縮される。頁オフセットテーブルは最適化されていない文書において通常ダウンロードされることのない付加的なデータであるので、該付加的なデータが可及的に小さなものであり、従ってユーザが何らエキストラな時間の長さに亘って待機する必要性がないものであることが望ましい。更に、頁オフセットテーブルはコンパクトなものであるから、それは例えばPDF文書内に通常含まれている「頁ツリー」のような他のより長い構造のものよりもダウンロードプロセスにおいて「気が付く可能性」(時間遅延を介して)はより少ない。
別の実施例においては、頁オフセットテーブルは異なる又は付加的なデータを包含することが可能であり、又は該データは異なるフォーマットで格納することが可能である。例えば、共用頁リスト136、内部リスト及び発生されたその他のリストを幾つかの実施例において頁オフセットテーブルにおいて直接的に(且つ非効率的に)格納することが可能である。
図9は図4のステップ84を示したフローチャートであり、その場合に、電子文書の頁1に対するレンジテーブル66が最適化させた文書ファイルの始めに書込まれる。該レンジテーブルは情報を供給し、従って該電子文書の頁1データは最適化させたファイル内に位置させることが可能であり且つ迅速にダウンロードし且つ表示させることが可能である。頁1が「第一頁」であるものと仮定しており、即ち頁をベースとした電子文書のダウンロードを開始する場合に、デフォルトとして最初に表示されることが所望されるものである。その他の実施例においては、異なる頁を表示されるデフォルトの最初の頁とすることが可能である。
本プロセスは200において開始する。ステップ202において、ハウスキーピング情報がレンジテーブルへ書込まれる。このハウスキーピング情報は、上述した頁オフセットテーブルを参照して説明したハウスキーピング情報と類似している。図9aは本発明のレンジテーブルの模式的概略図を示している。該ハウスキーピング情報は第一頁に対してダウンロードされるデータのレンジ(範囲)の数を包含している。これらのレンジは、頁内容及び共用オブジェクトのインターリーブされる部分を包含することが可能である(後述する)。共用頁リスト136は、オブジェクトノード142におけるフラクション番号を検査し且つ適宜共用オブジェクトを頁内容とインターリーブさせることによって、どの様にして共用オブジェクトが頁内容とインターリーブされるべきかを決定するために参照することが可能である。別法として、インターリーブ動作が適用されず、且つ第一レンジは全体的な頁内容オブジェクト56であり、一方任意の付加的なレンジは頁内容によって参照される共用オブジェクトである。現在のファイルにおけるレンジテーブル/頁オフセットテーブルに対するバージョン番号もハウスキーピング情報として格納することが可能である。更に、各レンジに対するシグナチャフラッグは、該レンジ(オブジェクト)がシグナチャを有しているか否かを表わすことが可能であり、該シグナチャはレンジテーブル内にリストすることも可能である。シグナチャは上述したように、共用オブジェクトをキャッシングするために使用することが可能である。
ステップ204において、頁オフセットテーブル68に対するポインタがレンジテーブル内に書込まれる。このポインタは頁オフセットテーブルを最適化したファイル内に位置させ且つレンジテーブル及び第一頁がダウンロードされた後にダウンロードさせることを可能とする。次のステップ206において、本プロセスは、全体的な第一頁寸法が所定の最小寸法未満であるか否かをチェックする。該頁が最小寸法より小さい場合には、頁内容及び共用オブジェクトのインターリーブ処理は望ましいものではない。なぜならば、頁内容は小さすぎ、インターリーブ処理によってダウンロード速度における利点が得られるものではなく、実際に、ダウンロード速度は、その頁が最小寸法より小さい場合により遅い場合があり、且つインターリーブ処理が与えられると、ディスプレイスクリーン上でその頁をユーザが観察するのにより長い待機時間を発生させる。頁内容及び共用オブジェクトのインターリーブ処理は図12を参照して詳細に説明する。例えば、最小寸法の4キロバイトを特定することが可能である。
その頁が最小寸法を超えるものである場合には、ステップ208において、頁内容のオフセット及び長さが、共用オブジェクトのオフセット及び長さとインターリーブされるレンジテーブル内に書込まれる。即ち、該頁内容のフラクション即ち一部が一つの共用オブジェクトに対する参照を包含する場合には、参照される共用オブジェクトは、レンジテーブルにおける該頁内容のそのフラクションの後の順番とされる。ステップ202におけるハウスキーピング情報において決定されるインターリーブされるレンジを使用することが可能である。次いで、本プロセスは210において完了する。
該頁がステップ206において最小寸法より小さい場合には(又は、異なる理由によりインターリーブが望ましくない場合には)、ステップ212において、その全体的な頁内容に対するオフセット及び長さがレンジテーブルへ書込まれ、従って一つのオフセット及び一つのレンジが頁内容を記述する。ステップ214において、共用オブジェクトに対するオフセット及び長さ、及び、一実施例においては、これらの共用オブジェクトに対して必要とされる相互参照テーブルエントリに対するオフセット/長さがレンジテーブルへ書込まれる。それらは、例えば、それらがオブジェクトリスト140内に格納された順番で書込むことが可能である。次いで、本プロセスは210において完了する。
一方、レンジテーブルにおける共用オブジェクトオフセット及び頁内容の配列を調節するためにその他の条件をチェックすることも可能である。例えば、頁内容オブジェクトが寸法において3キロバイト未満である場合には、共用オブジェクトオフセットを、インターリーブなしで、頁内容データの後に配置させることが可能である。
最適化させた文書ファイルのダウンロード
図10はホストコンピュータからクライエントコンピュータシステム10への本発明の最適化させた頁をベースとした文書をダウンロードさせるプロセス220を示したフローチャートである。ユーザが、一つの頁又は該文書の一つの頁の一部を表示することの可能なビュアにおいて該文書を観察することを所望するものと仮定する。現在のプロセスにおいて記述した「ファインダ(finder)」を該ビュア内に、又はコンピュータシステム10上で該ビュアと同時的に稼動する別の手順又はプログラム命令として実現することが可能である。
本プロセスは222において開始する。ステップ224において、本プロセスは、ユーザがホスト(供給源)サーバ又はコンピュータ上で本発明にとって適宜位置されている文書を観察することを要求したか否かをチェックする。文書に対する要求がなされていない場合には、本プロセスはこの様な要求を待機する(コンピュータシステム10又はビュアは、例えば局所的な文書を観察するなどのその間ユーザに対してその他のタスクを実施することが可能である)。ユーザがダウンロードされた文書を観察することを要求する場合には、該ビュアはステップ226においてホストコンピュータへ接続して、最適化させた文書ファイルに対するヘッダ及びレンジテーブル66をダウンロードさせる。該ヘッダは、特定のフォーマット(又はPDF)で該ファイルを指定する情報を有しており、且つレンジテーブルが存在することは、そのファイルが最適化されたファイルであることを表わすために使用することが可能である。ヘッダ及びレンジテーブルは、該ファイルの始めに位置させることが可能であり、従ってそれらは最初にダウンロードさせることが可能である。その他の必要とされる情報もこの時にダウンロードされ、例えば、PDFビュアは該ファイルの終わりに位置しているファイルの内容に対するポインタを必要とする場合がある。第一頁の内容が最適化されているファイルにおけるインターリーブされた順番で格納されている別の実施例においては、レンジテーブルをダウンロードすることは必要ではなく、且つステップ226を省略することが可能である。
ステップ227において、本プロセスは、該文書の第一頁がステップ224においてユーザによって観察すべく要求されたか否かをチェックする。本発明の一実施例においては、ユーザが最初に文書を観察することを要求する場合には、該第一頁はデフォルトとして自動的にダウンロードされ且つ表示される。次いで、ユーザは以下に詳細に説明するように、第一頁をダウンロードした後に所望の頁を要求する。しかしながら、その他のビュア実施例においては、ユーザは、該文書の何れかの部分がダウンロードされる前に、新たな文書の特定の頁を観察することを最初に要求することが可能である。この様な別の実施例においては、ステップ231が実現され、それは後に説明する。第一頁が常に最初に表示されるか、又はユーザが第一頁を要求する場合には、ステップ228が完了する。
ステップ228において、第一頁データ及び頁オフセットテーブルがレンジテーブルを使用して別の接続(又は別のトランズアクション)においてビュアによってソースファイルからダウンロードされ、且つ第一頁が表示される。この第一頁データは頁内容及び該第一頁の共用オブジェクトを包含している。第一頁に対する相互参照テーブルの部分もこの時にダウンロードされる。第一頁の共用オブジェクト及び頁内容は、図9を参照して説明したように、レンジテーブルにおけるオフセットを使用して既にインターリーブされている場合がある。従って、1実施例においては、頁内容の一部がダウンロードされ、その後にその部分によって参照される任意の共用オブジェクトが続き(且つこれらの共用オブジェクトに対する相互参照データ)、そのことはその部分をすぐさまユーザに対して表示させることを可能とする。従って、ユーザは第一頁の内容の少なくとも幾らかを観察するために殆ど待機時間を経験することはない。頁オフセットテーブル68は、第一頁がダウンロードされた後にレンジテーブル66におけるポインタを使用してこの接続(又はトランズアクション)期間中にダウンロードさせることが可能である。従って、頁オフセットテーブルは、例えば、該文書内のその他の頁をランダムにアクセスし且つ観察することが可能であるように、第一頁のダウンロードの後に(又は、別法としては、前に)すぐにダウンロードプロセスにおける早期にダウンロードさせることが可能である。幾つかの実施例においては、文書をダウンロードする場合に第一頁を表示させないようにビュアを選択することが可能である。
次のステップ230において、頁オフセットテーブルを検査して頁情報を決定する。頁オフセットテーブルを検査し且つ処理するためにファインダーがその責務を担うことが可能であり、その場合に、ファインダーは頁オフセットテーブルにおける情報を使用して頁情報を決定する。この頁情報を決定するプロセスについては図11を参照してより詳細に説明する。次いで、本プロセスはステップ234へ進行する。
ステップ234において、本プロセスは、ユーザがビュア内の文書の特定の頁を観察することを要求しているか否かをチェックする。ユーザは、ステップ226,228,230(又はステップ226,231,232)において部分的にダウンロードされた現在の文書又は異なる文書(後述する)の頁を要求することが可能である。例えば、現在の文書の頁を要求するためには、ユーザは現在の文書の異なる頁を表示するために図2bに示したように頁アイコン51を選択することが可能である。又は、ユーザは現在の文書内の別の頁へのリンクを選択するか、又は図2aに示したように、ブックマークビュー45においてリストしたブックマークオブジェクトを選択することが可能である。文書の異なる頁を表示するための要求がなされない場合には、本プロセスはステップ234において継続してこのような要求を待機する(ステップ234の期間中に、その他のビュア又はコンピュータ機能を実行することが可能である)。現在の文書の要求がなされる場合には、本プロセスは後述するステップ236へ進行する。
ステップ234において、ユーザは、未だにダウンロードされていない異なる文書の頁を要求することも可能である。例えば、ビュア内のリンク又はその他の制御を選択して、同一又は異なるホストコンピュータシステム上で使用可能な異なる文書ファイルへのアクセスを与えることが可能である。ユーザがステップ234において異なる文書の頁を要求する場合には、本プロセスはステップ226へ復帰して、異なる文書の最初の部分をダウンロードさせる。
プロセス220の特定の実施例が、ユーザが新しい文書の特定の頁を選択してダウンロードし且つ観察することを可能とする場合には、ステップ227の後にステップ231が実行され、尚その文書のどの部分も以前にダウンロードされていない。該文書のヘッダー及びレンジテーブルはステップ226においてダウンロードされている。ステップ231において、ビュアがホストコンピュータへ接続し(新たな接続が必要である場合)且つ最適化させた文書ファイルから頁オフセットテーブルをダウンロードする。頁オフセットテーブルは文書ファイル内の要求された頁の位置を決定するために必要とされる。ステップ232において、上述したステップ230(及び図11を参照して説明した)ものと同様に、頁情報が該文書に対して決定される。次いで、本プロセスは、以下に説明するように、ステップ236へ進行する。
ステップ236において、ビュアがファインダーから頁オフセットを要求し、従ってビュアは適宜のデータをダウンロードすることが可能である。ステップ238において、ファインダーがステップ230又はステップ232(図11に示したように)において作成された頁情報の頁開始オフセットテーブルを検討して、ユーザによって要求された頁に対する第一オフセットを決定する。一方、ビュアは頁ではなく特定のオブジェクトを要求することが可能であり、且つファインダーは頁上の第一オブジェクトのテーブル(これもステップ230又は232において作成されている)を検討し、どのオフセットにおいて該オブジェクトが文書ファイル内に位置されるかを決定することが可能である。該頁に対して見つかった第一オフセットはこのステップにおいてビュアへ返される。
ステップ240において、ファインダーは例えば付加的な頁内容及び該頁内容に対する共用オブジェクト等の要求された頁を完全にダウンロードし且つ表示するために必要とされるデータの付加的なレンジを決定する。ファインダーはステップ230又は232において発生される頁情報からこれらの付加的なレンジを決定する。付加的なレンジのデータが必要とされる場合には(典型的な場合のように)、頁情報は適宜のレンジが最適化された文書ファイル内のどこに位置しているかを表わす。ステップ242において、ビュアはホストコンピュータへ接続し(新たな接続が必要とされる場合)、ファインダーによって返された第一オフセットに位置されている要求された頁のデータをダウンロードする。1実施例においては、ビュアは1つの接続において、例えば1キロバイト(1K)等の所定量のデータをダウンロードする。
ステップ244において、ファインダーは、ビュア接続期間中に、要求された頁に対する付加的なレンジのデータを要求する。ファインダーは、この要求における頁内容データの部分部分における特定の共用オブジェクトをインターリーブさせてユーザに対して頁データのより高速の表示を与えることが可能である。ステップ244は図12を参照してより詳細に説明する。更に、且つオプションとして、ファインダーは、図13a,13b,13cを参照してより詳細に説明するように、例えばフォント及び画像等のある種の大きなオブジェクトを要求することを遅延させることが可能である。
ステップ246において、ファインダーによって要求された付加的なレンジのダウンロードは、「バックグラウンド」プロセスとして進行し、一方ビュアは既に受取ったデータを処理する。少なくとも幾らかの頁データを表示するのに充分なデータがビュアによって受取られた場合には、そのデータが表示される。付加的なオフセットレンジは、ビュアによって要求される前に、例えばRAM及び/又はディスク等のローカルなバッファ内に格納することが可能である。ビュアが第一ブロックの後のデータを要求する場合には、それはソースファイルからではなくローカルキャッシュからデータを受取る。
文書ファイル内のその他のオブジェクトは適当である場合には後の時間にダウンロードさせることが可能である。例えば、頁アイコン又はブックマークオブジェクト等の特別オブジェクトは、ユーザがビュア内の適宜のビューへ変更し、ブックマークビュー内の更なるブックマークオブジェクトを見るためにスクロールする等した場合に、ダウンロードさせることが可能である。ビュアがこのようなオブジェクトへアクセスすることを所望する場合には、頁ツリーオブジェクトをダウンロードさせることが可能である。
ステップ247において、本プロセスは、例えば、RAM16等のローカルメモリ又はハードディスク又はその他の格納装置上で実現されている頁キャッシュにおける要求された頁を配置させる。このことは、ユーザが後の時間にその頁を観察することを所望する場合には、前にダウンロードした頁をキャッシュから迅速に検索し且つ表示させることを可能とする。又、ステップ247において、本プロセスは、ダウンロードされている適宜の共用オブジェクト(存在する場合には、それらのシグナチャと共に)を、例えば、RAM16等のローカルメモリ又はハードディスクにおいて実現されている「共用オブジェクトキャッシュ」内へ配置させることが可能である。これらのキャッシュされた共用オブジェクトは、これらの共用オブジェクトを参照する現在の文書のその他の頁と共に他の文書の頁内容をダウンロードし且つ表示する場合に使用することが可能である。従って、文書ファイルからのキャッシュした共用オブジェクトの冗長コピーのダウンロードは回避され、ダウンロードプロセスを高速化させることが可能である。
1実施例においては、共用オブジェクトを複数回のダウンロードにわたり又はコンピュータシステム10がパワーダウンされている場合であっても(バッテリバックアップRAM又はその他の非揮発性格納装置を使用して)共用オブジェクトをキャッシュ内に格納することが可能である。次いで、本プロセスは248において完了する。
本発明のダウンロードプロセスは、ユーザによって所望される特定の頁を、該文書内のその他の頁をダウンロードすることなしに、ダウンロードさせることを可能とする。このことは、より高速なダウンロードを可能とする。何故ならば、その頁に対するデータのみがダウンロードされ、文書ファイル全体がダウンロードされるわけではないからである。更に、頁オフセットテーブルを使用して、該文書の新たに所望されランダムにアクセス可能な頁を容易にダウンロードすることが可能であり、そのことは、例えば「次の頁を表示」又は「頁番号Xを表示」等の簡単なコマンドによって文書全体が容易に入手可能であり且つアクセス可能であることの幻想をユーザに与える。
従来のプロセスにおいては、最初の1K部分(又はどのような大きさの部分が使用される場合であっても)を超える頁に対する付加的なデータがダウンロードされるべき場合には、付加的な接続が各付加的な1K部分に対してなされねばならず、そのことは頁データを表示する場合に遅延を発生する場合がある。ネットワークを介してホストコンピュータへ接続することは時間のかかるプロセスとなる場合がある。何故ならば、ホストをネットワーク上で探さねばならず且つ適宜のハンドシェーク信号が典型的に送られ且つ受取られねばならず、且つホストコピュータ(サーバー)がビジーである場合があるからである。然しながら、本発明においては、ファインダーが、ビュアが第一レンジを要求しているのと同一の接続期間中に付加的なレンジを要求し、該付加的なレンジをバックグラウンドプロセスとしてダウンロードし、且つ該付加的なレンジをローカルバッファ内に格納する。これらの付加的なレンジは、ビュアが付加的な1Kレンジを要求する場合に、ビュアに対してバッファから直接的に供給することが可能である。従って、頁に対する更なるデータをダウンロードするために、後の時間において、ホストに対する付加的な接続が必要とされることはない。本発明におけるホストへの複数回の接続を回避することにより、頁データがユーザに対してより迅速にダウンロードされ且つ表示される。
類推として、この単一接続ダウンロードプロセスは、食糧雑貨品目を購入するために食糧雑貨店へ出向き、且つ第一回の買い物で購入しなかった品目を購入するために複数回の買い物に出向く必要性なしに、1回の買い物で必要な品目全てを購入することと比較することが可能である。複数回の買い物は、単一の買い物の場合より時間的に著しく効率が悪い。図14を参照して説明する別の実施例においては、頁に対する1つのトランズアクションで複数個のレンジのデータをファインダーによって要求することが可能であり、複数回のトランズアクションのオーバーヘッドを回避している。
図11は図10のステップ230を示したフローチャートであり、その場合に、ファインダーが頁オフセットテーブルから頁情報を発生する。該頁情報は、ビュアが頁データをダウンロードする場合に、頁データの付加的なレンジを要求するためにファインダーによって使用されるべきものである。本プロセスは250において開始し、且つ、ステップ252において、頁開始オフセットテーブルが頁オフセットテーブルにおけるデータから発生される。該頁開始オフセットテーブルは、電子文書における各頁の頁内容に対して、例えばバイト単位において、開始オフセットを包含している。より詳細に説明すると、例えば文書内の頁数、1頁上のオブジェクト数、1頁の長さ等の頁オフセットテーブル内の情報は、頁開始オフセットテーブルを作成するために使用される。図11aを参照すると、頁開始オフセットテーブル264が示されており、その場合には、各エントリ266は各頁の内容に対する開始オフセットである。頁内容(及び共用オブジェクト)の長さは、頁開始オフセットと次の頁の開始オフセットとの間の差をとることによって決定することが可能である。何故ならば、頁の全ての内容は図4の最適化したファイル作成プロセスにおいて連続的に配列されているからである。
次のステップ254において、各頁上の第一オブジェクトのオブジェクトIDを包含するテーブルが頁オフセットテーブルにおける情報から発生される。このテーブルは頁オフセットテーブルにおける各頁上のオブジェクト数から発生される。この情報は、当業者にとって公知の如く、頁オフセットテーブルにおける4番目のエントリである頁上のオブジェクト数を表わすビット単位での寸法を使用して頁オフセットテーブルから脱圧縮即ち伸張させることが可能である。頁オフセットテーブルにおけるその他の情報は同様に脱圧縮させることが可能である。
図11aに示したように、各頁上の第一オブジェクトのテーブル268は、各頁に対するエントリ270を有しており、その場合に、該頁上の第一オブジェクトのオブジェクトIDが格納される。テーブル268のエントリ270はテーブル264における開始オフセットエントリ266の順番及び数に対応しており、従って1つの頁はテーブル264又は268のいずれかにおけるのと同様にインデックスさせることが可能である。テーブル268は、ビュアが頁番号ではなくオブジェクトIDに基づいて頁の開始オフセットを要求する場合に、オブジェクトを参照するために使用することが可能である。1つのオブジェクトに対する頁番号はテーブル268内において見つけ出すことが可能であり、且つその頁の開始オフセットはテーブル264において参照することが可能である。
ステップ256において、共用オブジェクトオフセットテーブルが頁オフセットテーブルから発生される。該共用オブジェクトオフセットテーブルは、文書内の各共用オブジェクトに対して、例えばバイト単位で、開始オフセットを包含している。該共用オブジェクトオフセットは、文書ファイル内に格納されているように共用オブジェクトの順番でこのテーブル内に格納させることが可能である。
図11aに示したように、共用オブジェクトオフセットテーブル272は、文書ファイルにおける共用オブジェクト開始オフセットを格納するためのエントリ274を有している。該共用オブジェクトオフセットテーブルは、例えば共用オブジェクトの長さ、共用オブジェクトの数、共用オブジェクトの最小寸法、共用オブジェクトが開始する位置(それは、最後の頁オフセット(テーブル270から)+頁オフセットテーブルにおける最後の頁長さから計算することが可能である)等の頁オフセットテーブルにおける情報から発生させることが可能である。
次のステップ258において、共用頁リスト136が頁オフセットテーブル情報から発生される。このリスト136は、クライエントコンピュータシステム10の例えばRAM16等のメモリ内に格納され、且つ図6aに示したように実質的に同一のノードを有している。リスト136から、ファインダーは、どの頁がどの共用オブジェクトを参照するか、共用オブジェクトが参照される頁内容のフラクション(部分)、及び共用オブジェクトの共用IDを決定することが可能であり、従って共用オブジェクトに対する開始オフセットは共用オブジェクトオフセットテーブル272において参照することが可能である。リスト136は頁オフセットテーブルにおける共用オブジェクトフラグ、フラクション、及び共用IDから発生させることが可能である。次いで、本プロセスは260において示したように完了する。その他の実施例においては、頁情報は異なる態様で組織化することが可能であり、又は頁オフセットテーブルから直接的に使用することが可能である。
図12は図10のステップ244に示したフローチャートであり、その場合に、ファインダーはビュアのホストコンピュータとの接続期間中に、要求された頁に対する頁データの付加的なレンジを要求する。本プロセスは280において開始する。ステップ282において、ファインダーは要求された頁に対してホストコンピュータにおける文書ファイルから頁内容オブジェクトに対する相互参照テーブルデータを要求する。該相互参照データは、要求された頁上の一番目のオブジェクト以外のオブジェクトに対するオフセットをビュアが決定することを可能とする。次のステップ284において、本プロセスは、ダウンロードした頁データに関してインターリーブを実施すべきか否かをチェックする。上述した如く、インターリーブは、これらの共用オブジェクトを参照する頁内容データの部分(即ち、「フラクション」)の後にある共用オブジェクトを挿入することである。このことは、頁の部分の表示を高速化させる。何故ならば、頁内容の一部を表示するために必要とされる共用オブジェクトがその部分がダウンロードされた直後にダウンロードされるからである。一方、図13a,13b,13cを参照して詳細に説明するように、例えば埋め込まれているフォント及び画像等のある大きなオブジェクトの要求は、その他のより小さな頁内容データに対する要求がなされた後になるまで遅延させることが可能である。
頁データのインターリーブが所望されない場合には、本プロセスは以下に説明するステップ300へ進行する。頁データのインターリーブが所望される場合には、本プロセスはステップ286へ進行し、そこで、ファインダーは、共用頁リスト136をチェックすることによって文書ファイル内の頁内容オブジェクトの残存するフラクション(部分)によって参照される更なる共用オブジェクトが存在するか否かをチェックする。存在する場合には、本プロセスはステップ288へ進行し、そこで、次の共用オブジェクトが共用頁リスト136内の適宜のオブジェクトリスト140から検査される。キャッシュが実現される場合には、ステップ290が実行され、その場合に、本プロセスは、検査された共用オブジェクトがキャッシュであるか否かをチェックする。例えば、シグナチャ(署名)が使用される場合には、ファインダーはキャッシュ内のオブジェクトのシグナチャを検査した共用オブジェクトのシグナチャと比較する。検査した共用オブジェクトが既にキャッシュ内にある場合には、このオブジェクトは現在のプロセス期間中にダウンロードされることが必要なものではない。
従って、本プロセスはステップ286及び288へ復帰して、オブジェクトリスト140内の次の共用オブジェクトを検査する。検査した共用オブジェクトがキャッシュ内に存在しない場合には、ステップ292が実行され、その場合に、ファインダーは、頁内容の残存部分のスタート(開始)から検査した共用オブジェクトを参照する頁内容のフラクションの終りまでの頁内容データのレンジを要求する。本プロセスは、オブジェクトリスト140における検査した共用オブジェクトのフラクションフィールド146を検査することによってそのフラクションを決定する(それは、該フラクションの被除数である)。該フラクションの除数は頁オフセットテーブル68から既知である。頁内容の実際のフラクション寸法(バイト単位)は、頁長さ及び適宜の頁内容フラクション(頁オフセットテーブル内)から適宜の頁内容を派生させ、且つ該適宜の頁内容寸法を該除数で割算することによって計算することが可能である。例えば、フラクション除数として8が使用される場合には、頁内容の次の8番目のものは、検査した共用オブジェクトがこの8番目のものによって参照される場合に、ステップ292においてファインダーによって要求される。検査した共用オブジェクトが頁内容の6番目8番目によって参照される場合には、6番目8番目を包含し且つそれまでの全ての頁内容データ(頁内容オブジェクト内)がファインダーによって要求される。従って、オブジェクトリスト内の共用オブジェクトを参照することのない頁内容のフラクションは、オブジェクトリスト内において共用オブジェクトが見つかるまで結合され、その時に、結合したフラクションの全てのレンジに対する要求がホストコンピュータへ送られる。
オブジェクトリスト140における共用オブジェクトは、オブジェクトリスト内のどの共用オブジェクトも単一の頁に関する複数回の参照によって複製されることがないように供給される(図5のプロセス)。従って、1つの共用オブジェクトは1つの頁に対して一度のみダウンロードされる。
別の実施例においては、ステップ290を省略し且つ頁内容の次のフラクションのみを、その次のフラクションがオブジェクトリスト140内の共用オブジェクトを参照するか否かに拘らずに、ステップ292において要求されることが可能である。その次の要求されたフラクションが「新たな」共用オブジェクト(即ち、以前にダウンロードされたことのない共用オブジェクト)に対する参照を包含するものではない場合には、ステップ294(後述する)をスキップすることが可能である。実効的に、このことは、新たな共用オブジェクトが見つかり且つステップ294が実行されるまで、ステップ292を複数回継続して実行することを可能とする。
次のステップ294において、ファインダーは、ステップ292において要求された頁内容データのレンジによって参照されるキャッシュされない共用オブジェクトに対してホストコンピュータから文書ファイルのレンジを要求する(ファインダーは、更に、これらの共用オブジェクトに対して適宜の相互参照テーブル情報を要求する)。ファインダーはステップ290において検査した共用オブジェクトに対するデータのレンジを要求し、且つ共用オブジェクトキャッシュ内に存在しておらず且つ要求された頁内容によって参照される付加的な共用オブジェクトに対するレンジも要求する(ファインダーは、このような各付加的な共用オブジェクトに対しキャッシュ内のオブジェクトを比較することが可能である)。
ファインダーは、共用頁リスト136を検査することによって、どの共用オブジェクトがどのフラクションにおいて参照されかを決定することが可能であり、且つ共用オブジェクトに対するオフセットは共用オブジェクトオフセットテーブル272から既知である。例えば、図示例においては、ファインダーは、オブジェクトリスト140におけるノードのフラクションフィールド146を検査し且つ検査した共用オブジェクトと同一のフラクション番号を有する全ての共用オブジェクトに対するレンジを要求することが可能である。ファインダーは、更に、これらの共用オブジェクトを参照する相互参照テーブル58からの相互参照テーブル情報を要求する。本プロセスは、次いで、ステップ286へ進行する。
注意すべきことであるが、共用画像オブジェクトが共用頁リスト136における各オブジェクトリスト140の終りに配置されており且つ頁内容の最後のフラクション内に強制される場合には、画像オブジェクトを、全ての頁内容及びその他のインターリーブした共用オブジェクトの後に強制的にダウンロードされる。
画像オブジェクトの表示に対する別の実施例は、図13cを参照してより詳細に説明する。ステップ286において、頁内容オブジェクトの残存フラクションによって更なる共用オブジェクトが参照されない場合には、本プロセスはステップ296へ進行し、そこで、ファインダーは、全ての残存する頁内容データを包含するレンジを要求する(要求されていない頁内容が未だに文書ファイル内に残存している場合)。次のステップ298において、ファインダーは、その頁に対する内容でない共用オブジェクト及びこれらの共用オブジェクトに対する適宜の相互参照テーブル情報を要求する。上述したように、内容でない共用オブジェクトは、例えばユーザが特定したオブジェクト、共用されることを強制されることのない資源オブジェクト(例えばprocsets)等及び共用されるオブジェクトを包含することが可能である。これらの内容でない共用オブジェクトは共用頁リスト136のオブジェクトリスト140において見つけることが可能である。次いで、本プロセスは302に示したように完了する。
ある条件下において、インターリーブが望ましくない場合がある。例えば、頁内容が例えば4キロバイト未満であるような非常に小さい場合には、インターリーブは図9を参照して説明したように、顕著な表示速度の増加を与えるものではない場合がある。インターリーブが所望されない場合には、本プロセスは、ステップ284からステップ300へ移行し、その場合に、ファインダーはインターリーブすることなしに連続する頁内容データの残部を要求し、且つ頁内容オブジェクトの表示のために必要とされる頁内容オブジェクトの後に格納されているその他のオブジェクトも要求する。該「その他のオブジェクト」は、共用オブジェクト、任意の適宜の特別オブジェクト、及び該オブジェクトに対して必要とされる付加的な相互参照情報を包含している。例えば、共用オブジェクトはそれらが頁上で参照される順番に要求されることが可能である。別の実施例においては、共用オブジェクトを最初に要求し、それに頁内容が続くことが可能である。本プロセスは、次いで、302において完了する。
図13aを参照すると、ビュアプログラムはオプションとして所望したフォント(例えば、電子文書において特定したエンベディド(embedded)即ち埋め込まれているフォント)がすぐには使用可能でない場合には、置換(代用)フォントを使用してテキストを表示するためにフォントを段階的にレンダリングする方法を使用することが可能である。フォントの段階的レンダリング方法は、例えば、図10に示したステップ242,244,246に関連して喚起させることが可能である。この方法を使用することは、例えば、ネットワークを介してダウンロードされる電子文書におけるエンベディド即ち埋込み型フォントに関連して有益的なものである。埋込み型フォントは文書の主要部分と同一のファイル内に存在することが必要ではないが、文書は埋込み型フォントを間接的に参照することが可能であり、従ってそれらは別のファイルから又は共用フォント資源又はサーバーから得ることが可能である。フォント参照に遭遇すると、ステップ400において、ソフトウエアは、所望されているフォントが既に使用可能であるか否かをステップ402において決定せねばならない。このことは、例えば、フォントが既にキャッシュ内に格納されているか(例えば、ステップ247において、図10に示してある)又は例えばハードディスクドライブ28(図1に示してある)等のローカルデータ格納部に格納されている場合である。そのフォントがステップ404において使用可能である場合には、当然に、ソフトウエアはそれを使用する。
一方、ステップ406において、所望されたフォントが使用可能でない場合には、ソフトウエアは置換フォントを獲得する。置換フォントはそれが所望されたフォントの寸法に近い寸法を有する範囲において適切なものであり、従って置換フォントを使用して描画されたテキストはステップ420乃至428において行なわれる所望のフォントを使用して描画されるテキストと実質的に同一の場所及び形態に表われる。1実施例においては、置換フォントは所望されたフォントに特定的な完全な1組のフォント寸法に基づいて作成される。PDFフォーマットドキュメントにおいては、例えば、フォント記述子オブジェクトが例えばアセント、デセント、境界ブロック、大文字の高さ、イタリックス角度、垂直ステムの幅等の寸法情報を包含し、且つ、更に、例えばこれがセリフか又はサンセリフフォントであるか否か、それが固定した幅のフォントであるか否か、それが全て大文字のフォントであるか否か、及びそれが混合した高さの全て大文字のフォントであるか否か等のその他の記述的情報を包含するメトリックスを供給する。第二PDFオブジェクト、幅アレイオブジェクトは、フォントメトリックスの記述を完成し、それは該フォントにおける各文字に対する幅情報を与える。文書内に含まれるこのようなメトリックス又はデータベース又はコンピュータシステム10上のデータファイルか又はネットワーク上のサーバー上のデータファイルから得られたメトリックスか又は、より良い情報が存在しない場合には、デフォルトメトリックスを使用することにより、適宜の置換フォントを、例えばカリフォルニア州フォスターシティのアレス(Ares)ソフトウエアコーポレイションから入手可能なフォントカメレオン(FontChameleon)製品又はワシントン州シアトルのエルスウエア(ElseWare)コーポレイションから入手可能なインフィニフォント(Infinifont)製品を使用することによって形成することが可能である。アクロバットリーダー製品は置換フォントを作成するためにアドビマルチプルマスターフォント技術を使用する。一方、所望されたフォントに対して使用可能なフォントメトリックスが存在する場合には、コンピュータシステム10上で使用可能であるか又はそれに対して容易に使用可能なものとされるフォント資源の中からフォントを採用するために使用することが可能である。作成するか又は採用することのいずれかにより置換フォントが得られた場合には、それは、ステップ408において使用されて、対応するテキストをレンダリングし、且つ本ソフトウエアはステップ410において文書の処理を継続して行なう。
所望のフォントが例えば合字ファイキャラクタ等のフォントで一般的に使用可能でないキャラクタを有するか、又は所望されたフォントが例えばチェスの駒又はアイコンのような1組のグラフィックスである場合には、置換フォントは複数個の場所保持用記号を有するか、又は、使用可能なフォントメトリックスに従って表示される単に1つの場所保持用記号(空のボックス等)から完全に構成される場合もある。
ステップ420において、例えば、電子文書における埋込み型フォントとしてダウンロードされたので、所望されたフォントが使用可能である場合には、表示の影響される部分がステップ422乃至428において再度描画される(1つを超える所望されたフォントが置換フォントによって置換されている場合には、所望されたフォントの全てをこれらのステップにおいて共に処理することが可能である)。最初に、置換フォントを使用してレンダリングしたテキストの取囲み矩形又は複数個の矩形をステップ422において決定する。これらの矩形は、置換フォントで描画する場合に使用した区域及び所望のフォントで描画する場合に使用すべき区域を取囲む。次に、ステップ424において、頁の見える部分に制限された取囲み矩形又は複数個の矩形の交差に対応する境界でオフスクリーンビットマップバッファが形成される。オフスクリーンバッファは、ディスプレイと同一のピクセル深さ及びカラー特性を有するように形成される。次いで、ステップ426において、オフスクリーンビットマップバッファと交差する頁の入手可能な部分を、現在使用可能な所望のフォント又は複数個のフォントを使用して、そのバッファ内に再描写する(例えば、大きな画像等の頁の幾つかの部分が入手可能でない場合があり、本プロセスは図13cを参照して説明するように、それらなしで進行する)。オフスクリーンビットマップバッファが完了すると、それはステップ428においてディスプレイ上に描写される。ディスプレイバッファから従来技術のように表示が発生されると、それはオフスクリーンビットマップバッファをディスプレイバッファの対応する区域内にコピーすることによって行なわれる。別の実施例においては、表示の単位は1つの頁のある倍数(又はフラクション即ち一部)であり、且つ埋込み型フォントの処理は、表示の単位全体が描写されるまで遅延され、電子文書のユーザ(読者)が可及的に見ることの可能な領域の全てに関するテキスト及びグラフィックスを見ることを可能とする。更に別の実施例においては、オフスクリーンビットマップバッファ内への描写は、全ての所望されたフォントが使用可能となるまで遅延され、そのことはオフスクリーンでレンダリングするのに費やされる時間を減少させることが可能である。更に別の実施例においては、複数個の小さな矩形を合体させてオフスクリーンビットマップバッファを形成する場合に1つ又はそれ以上のより大きな矩形を形成し、そのこともオフスクリーンビットマップバッファの処理を簡単化させることを可能とする。更に別の実施例においては、本方法を可能な所望されたフォントの全体のうちの一部に対してのみ適用し、従って例えば外国語のフォントを排除する。例えば、アクロバットリーダー製品は、所望されたフォントがアドビ社のスタンダードのキャラクタセット内に見つからないキャラクタを有する場合には、段階的レンダリングを適用することはなく、フォントに特定的なフォントメトリックスが存在しない場合にも段階的レンダリングを適用することはない。
注意すべきことであるが、フォントの段階的レンダリング方法の最大の利点を得るために、文書をダウンロード又は読むプロセスにおいて埋込み型フォントの位置を制御すべきであり、従って置換されるべき埋込み型フォントは、主要なテキスト及びグラフィックスの後で読まれるか又はダウンロードされる。然しながら、埋込み型フォントの抽出が時間がかかる場合には、埋込み型フォントがテキスト及びグラフィックスの前に位置されているか又はそれと混ざり合っている場合であっても、本方法を使用することが有益的な場合がある。この方法に関連して、文書の初期的な表示期間中にユーザインターフェースを維持しながら、埋込み型フォントをバックグラウンドプロセスと共にダウンロードすることが可能であることも有益的である。最後に、詳細且つ完全なフォントメトリックスが使用可能である場合には、所望されたフォントは、置換フォントによって非常に近似的にエミュレートすることが可能であり且つディスプレイ上のテキストのレイアウトを保存することが可能であり且つディスプレイがアップデートされる場合にユーザの気が散ることが最小とさせることが可能であることが理解される。ユーザの気が散ることが最小とされる理由は、ディスプレイのアップデートが文書におけるテキストの流れに対するより顕著な変化ではなく繊細なキャラクタ形状の変化のリップルだからである。記述的情報の完全性又は特定性がより低いか又はデフォルトフォントメトリックスを使用せねばならない場合には、文書のより顕著な再フォーマット化が行なわれ、多分、最終的な表示におけるテキストの顕著な再配置を包含する。フォント置換の技術に関する更なる情報は、フォント置換及びキャラクタ表示方法という名称の発明者がWarnockである米国特許第5,185,818号であって本願出願人に譲渡されている米国特許において見出すことが可能であり、その特許の開示内容は引用によって本明細書に取込む。
図13bを参照すると、オンライン環境において電子文書とのユーザのインタラクション即ち相互作用を最適化する別の側面は、ハイパーテキストリンク等の対話文書要素が可及的にユーザインターフェースにおいてアクティブなものとなることを確保することである。本明細書においては、「アノテーション」という用語は、それがPDF文書の文脈において有する意味において使用され、「アノテーション」という用語は例えばキーボード及びマウス等のデバイスからのユーザ入力に応答する、ハイパーテキストリンク、マルチメディアプレゼンテーションを喚起するために選択可能なアイコン等のプリントした頁自身の一部ではないが頁と関連している対話的要素を包含している。アノテーションがレンダリングされる前にユーザ入力に対して応答させることは、オンラインで同一の文書をしばしば訪ねるユーザに対して有用である。このようなユーザは、ディスプレイの特定の領域がアノテーションを有していることを知っている場合があり且つ該アノテーションに対するグラフィックスが描写される前にそこをクリックするために選択する場合がある。従って、アクティブな要素の早期の活性化のためのオプションとしての方法において、表示されるべきアクティブ(活性)要素がステップ440において表示用の文書を処理する間に遭遇した場合には、本ソフトウエアは、最初に(又はフォアグラウンドにおいて)ステップ442において該活性要素の選択可能な境界を識別し、カーソルがステップ444において選択境界内に表示される場合には、カーソルの様相を適宜変化させるためにカーソル表示プロセスに命令を与え、且つステップ446においてクリック又はキーボードコマンドのエントリ等のユーザによる選択動作に対する応答を可能とさせる。第二に(即ち、文書の通常の表示過程におけるバックグラウンドプロセス又はその他において)、アクティブ要素と関連する表示がステップ448においてレンダリングされる。
図13cを参照すると、ビュアプログラムは、オプションとして、大きなオブジェクトを繰り延べる(そのダウンロード及び/又は表示を遅滞化させる)ための方法を使用することが可能である。この方法はビットマップ画像等の大きな及び/又は複雑なオブジェクトをダウンロードし且つレンダリングする前に、情報及びテキスト、グラフィックス、アノテーション、その他の迅速に表示された要素を表示することによって、特にオンライン環境において、電子文書の表示の有用な最適化を与える。PDF等のフォーマットを有する電子文書はテキスト、グラフィックス、画像及びアノテーションの間の複雑な関係を表わすことが可能である。頁内容はオーバーラップすることが可能であり且つ特定の表示順を有するように電子文書において特定することが可能である。大きなオブジェクトを繰り延べする方法においては、電子文書が例えばテキストの1つのセグメントが例えば画像の上部に表われるべきであることを特定する場合には、そのテキストは最初に描写され、電子文書の一部が使用可能となるや否やユーザがそれと対話することを可能とする。従って、ステップ460において大きなオブジェクトに遭遇する場合には、該オブジェクトのレンダリングはステップ462において繰り延べられ、且つテキスト及びグラフィックス等の迅速に表示される要素がステップ464において使用可能な状態となるや否や描写される。頁上の全てのオブジェクトの正確な位置を精密に記述するPDF等の電子文書フォーマットにおいては、幾つかのオブジェクトの遅延させたレンダリングは他のオブジェクトをしてその位置をシフトさせるものではなく、頁要素が段階的に表示される場合にユーザに対する影響を最小とさせる。
該例を継続して使用して、既に描写されているテキストが未だに描写されていない画像の上部に表われるように特定される場合には、オフスクリーンバッファがステップ466において形成され、その中に繰り延べさせたオブジェクト及びその他の全ての描写要素をそれらがステップ468においてオフスクリーンバッファの境界内に表われるような範囲であるが、その時に使用可能でないオブジェクト(例えば、これからダウンロードすべき画像)を待機することの必要性なしにレンダリングさせる。オフスクリーンビットマップバッファの境界矩形は頁の見える部分に制限されている大きなオブジェクトの境界に対応している。オフスクリーンビットマップバッファは、ディスプレイと同一のピクセル深さ及びカラー特性を有するように形成される。オフスクリーンバッファが完成されると、それはステップ470においてディスプレイ上に描写される。別の実施例においては、頁指向型ビュアの場合には、1つを超える頁が一度に見ることが可能である場合には、大きなオブジェクトのレンダリングは、全ての見ることの可能な頁が描写されるまで繰り延べされ、該文書の読者が可及的速やかに見ることの可能な頁の全てに関して迅速に表示された内容を見ることを可能とする。更に別の実施例においては、画像の一部が、使用可能となるや否や、画像のオフスクリーンバッファ内にレンダリングされ、次いで、画像全体がダウンロードされることを待機することなしに、表示される。このことは、例えば、画像情報をバンドで組織化する画像オブジェクトフォーマットにおいて容易に実施することが可能である。更に別の実施例においては、幾つかの大きなオブジェクトの処理がそれらの境界の結合によって定義されるオフスクリーンバッファにおいて結合され、そのことはオフスクリーンでレンダリングするのに費やされる時間を減少させることを可能とする。
線形化最適化文書レイアウト
次に、図14を参照すると、線形化させた文書レイアウトは既に説明した最適なフォーマットの洗練化したものである。線形化レイアウト(又はフォーマット)は、ワールドワイドウエブサイトへの低速接続の特性を有する環境においてビューが効率的な増分的アクセスを達成することを可能とする。線形化フォーマットの利点としては、電子文書が開かれた場合に、第一頁の表示が迅速に行なわれるということである。
観察すべき第一頁は文書の任意の頁とすることが可能であり、それは、頁0が最も一般的な選択であろうが、必ずしもそうであるわけではない。その他の利点は既に説明した最適化させた電子文書フォーマットのその他の別の実施例と共有されており、例えば、要求された後の頁の迅速な表示、最も有用なデータが最初に表示される頁内容のインクリメンタル即ち増分的表示(特に、低速のチャンネルを介して送給される頁の場合)、及び頁全体が受取られ且つ表示される前にハイパーテキストリンクの追従等のユーザのインタラクション即ち相互作用を可能とすること等がある。線形フォーマットを包含する最適化されたフォーマットは、任意の寸法の電子文書に対してこれらの利点を達成し、文書内の頁の総数はいずれか特定の頁を観察する場合のユーザ知覚性能に殆ど又は何ら影響を有するものではない。
ワールドワイドウエブ環境は、電子文書をクライエントが読取り且つサーバーが供給する性能に影響を与える特性を有している。アクセスプロトコル(HTTP)は要求と応答とからなるトランズアクションである。トランズアクションが完了した後に、更なるデータを得ることは新たな要求−応答トランズアクションを必要とし、且つクライエント(ビュア)とサーバーとの間の接続は、ある具体例では同一のサーバーとのその後のトランズアクションを迅速化させるためにオープン接続をキャッシュする試みをする場合があるが、通常、1つのトランズアクションの終了を超えて持続するものではない。ラウンドトリップ遅延が顕著な場合があり、トランズアクションは、要求されたデータの量とは独立的に、数秒かかる場合がある。最後に、データレートが制限される場合があり、典型的なボトルネックはクライエントとインターネットサービスプロバイダーとの間において14.4キロボー又は28.8キロボーモデムリンクである。その他の広域ネットワークアーキテクチュアは、通常、これらの特性を共有している。CD−ROMでさえもこれらの特性の幾つかを供給している。何故ならば、CD−ROMは比較的低速のシーク時間を有すると共に磁気媒体と比較してデータレートが制限されているからである。
やがてサポートされるべきHTTPプロトコルに対する拡張においては、クライエントはトランズアクション要求の一部として(即ち、URLの一部として)1つ又はそれ以上のオフセット長バイトレンジを特定することによって1つの文書の一部の検索を要求することが可能である。各レンジはファイルの始め又は終りのいずれかに対するものとすることが可能である。クライエントはその要求において任意の数のレンジを特定することが可能であり、且つその応答は複数個のブロックから構成され、各ブロックは適切にタグが付けられる。あるワールドワイドウエブ環境を包含するある環境においては、クライエントは並列的に複数個の応答を得ようとして複数個の同時的なトランズアクションを開始することが可能である。このことは、例えば、HTML文書から参照されるインライン画像を検索するために一般的に行なわれる。然しながら、複数個の同時的なトランズアクションはある重要な環境におけるPDFフォーマット文書に対しては最適なものとは言えない場合があるようであるから、一度に1つのトランズアクションのみがアクティブ即ち活性状態であるという拘束条件下において良好な性能を達成するように線形化したフォーマットがデザインされている。その理由により、線形化したフォーマットは与えられた頁を表示するのに必要な全てのオブジェクトに対するバイトレンジを決定するためにクライエントに対して充分な情報を供給し、従ってクライエントは単一の要求において適宜のバイトレンジを特定することが可能である。
次に、PDFフォーマット文書における実現例を参照すると、線形化したレイアウトは従来のPDFヘッダー480とトレイラー504とで開始する。該ヘッダーの後に線形化パラメータを含むオブジェクト482が続き、該パラメータは、フォーマットバージョン識別子、ファイル全体の長さ、主要なヒント(hint)テーブルストリームオブジェクト486(後述する)に対するオフセット長ポインタ、存在する場合には、オプションとしてのオーバーフローヒントテーブルストリームオブジェクト500に対するオプションとしてのオフセット長ポインタ、第一頁の頁オブジェクトのオブジェクト番号、及び、オプションとしての、デフォルトの場合には頁0である表示されるべき第一頁の頁番号を包含している。
第一頁相互参照テーブル484は全ての第一頁のオブジェクト及び該第一頁の前に表われる全ての文書レベルオブジェクトに対する相互参照テーブルである(図3a及び3bにおけるテーブル58を参照して説明したようなテーブル)。これは第一頁に対するペアレント頁オブジェクトを包含し、その他の頁の頁オブジェクトから継承した属性を有することのない文書の第一頁を表示するのに必要な全てのオブジェクトに対する相互参照テーブルである。テーブル484において表の形とされたオブジェクトは、それらが該頁の表示に影響を与える場合には、任意の深さへペアレント頁オブジェクトが参照する全てのオブジェクトを包含している。それは、更に、主要なヒントテーブルストリームオブジェクト486の始めにおけるヒントテーブルの辞書に対するエントリも包含している。第一頁相互参照テーブル484は、その文書ファイルにおける位置が従来のものと異なるが、PDF仕様に従った有効な相互参照テーブルである。そのトレーラー部分は文書を表示するのに必要とされる任意の相互参照テーブル属性のみならず、ファイルの終り近くの主要な相互参照テーブル502に対するオフセットを与えている。
主要ヒントテーブルストリームオブジェクト486は、第一頁オブジェクト492より先行するか又はそれに追従することが可能である。別の実施例においては、主要ヒントテーブルストリームオブジェクト486のデータ内容はオプションとして別のホストコンピュータ上に存在する1つ又は複数個の二次ファイル内に格納されている。ストリームオブジェクトはPDFフォーマットによって定義された1つのタイプのオブジェクトであり、それはそれと関連する圧縮を有することが可能な二進ビットのシーケンスである。各ヒントテーブルは該ディクショナリ即ち辞書によって示されるストリームにおける位置で開始するストリームオブジェクト486の一部から構成されている。各テーブルは可及的にコンパクトに所要の情報をエンコードするものと期待される。何故ならば、該文書内のテーブルはランダムアクセスのために構成されることが必要ではないからである。更に、クライエントは該テーブルを一度読取り且つデコードし且つその文書が開いている限り該情報を維持するものと期待される。ヒントテーブルストリームオブジェクト486は、オブジェクト内のヒントテーブルの位置を示すディクショナリ(辞書)を包含している。これらの位置はストリームデータの開始と相対的なものである。
ヒントテーブルは文書ファイル内の一群の又は1つのクラスのオブジェクトの位置をエンコードする。その表現は明示的なもの、即ちファイルの開始からのオフセットであるか、又は暗示的、即ち先行するオブジェクトの累積的長さからのもののいずれかである。いずれの場合においても、結果的に得られる位置はヒントテーブルストリームオブジェクト自身が存在しなかったかのように解釈される。その理由は、ヒントテーブルストリームオブジェクトの長さは、一般的に、それが発生されるまで不知であり、且つヒントテーブルにおける情報は前もってその長さを知ることに依存すべきものではないからである。オーバーフローヒントテーブルストリームオブジェクト500が存在する場合には、それを獲得することは付加的なトランズアクションを発生することを必要とする。然しながら、オーバーフローオブジェクトを与えることは、線形化プログラムが推定した寸法の主要ヒントテーブルストリームオブジェクト486に対して予約した空間で線形化したファイルを書き、次いで、ヒントテーブルに書込むために戻ることを可能とする。その推定値が小さすぎる場合には、該線形化プログラムは残りのヒントテーブルデータを含むオーバーフローオブジェクトをアペンド即ち取付けることを可能とし、そのことは該ファイルを1つのパスで書込むことを可能とし、そのことはある条件下においては有益的なものである場合がある。オプションとしてのオーバーフローヒントテーブルストリームオブジェクトが存在している場合には、2つのストリームオブジェクトの内容が連結され且つあたかもそれらが単一の連続したストリームオブジェクトであるかのように取扱われる。
ヒントテーブルは第一頁のオブジェクトを処理する場合には使用されることはなく、従ってそれらの第一頁と相対的な位置は選択的事項である。ヒントテーブルが第一頁オブジェクトの前に来る場合には、クライエントは表示されるべき第一頁の文書の選択がクライエントの選択と同一でない場合に、初期的なトランズアクションを迅速にアボート即ち中止させることが可能である。一方、ヒントテーブルが第一頁オブジェクトに続く場合には、第一頁の文書の選択を表示することは、より迅速に行なわれ、一方任意の頁を開くことは文書の第一頁を受取るのに必要な時間だけ遅延される。電子文書ファイルが線形化されると、線形化プロセスは、ユーザのオプションとして、第一頁において開くか又は任意の頁において開くかのいずれを好むかの決定を受付けることが可能である。
図15a及び15bを参照すると、オブジェクト486のヒントテーブルは、頁オフセットヒントテーブル488及び共用オブジェクトテーブル490を包含しており、これら2つのテーブルは図3bに示してあり且つそれに関連して説明したレンジテーブル64と同一の機能を達成する。頁オフセットテーブル488は、各頁に対して、その頁を探し出すのに必要な情報を与える。更に、第一頁を除く各頁に対して、それはその頁が直接的に又は間接的に参照する全ての共用オブジェクトを列挙する。共用オブジェクトテーブル490は共用オブジェクトを探し出すために必要な情報を与える。線形化したフォーマットにおいては、共用オブジェクトは物理的に2つの場所のうちのいずれかに位置させることが可能である。第一頁から参照されるオブジェクトは第一頁オブジェクトと共に共同的に位置されている。その他の全ての共用オブジェクトは共用オブジェクトセクション498内に位置されている。共用オブジェクトテーブル490における単一のエントリは、そのグループにおける第一オブジェクトのみがグループ外側から参照される場合に、隣接するオブジェクトからなるグループを記述することが可能である。頁オフセットテーブル488は該テーブルにおけるその逐次的な位置である簡単なインデックスによって、共用オブジェクトテーブル490において1つのエントリを参照する。
その他のヒントテーブルは文書全体に関連する文書要素に対する情報を与える。例えば、ブックマークヒントテーブルは、クライエントがブックマークを見つけることを可能とし、且つスレッドヒントテーブルは、クライエントがある記事を定義する複数個のビーズからなるスレッド即ち繋りにおける全てのビーズを見つけ出すことを可能とする。新聞におけるように、ある記事が幾つかの頁にわたって延在している場合には、ここにおける「記事」は複数個の「ビーズ」からなるリストであり、その場合に、各ビードは特定の頁上における矩形であり、その矩形の中に該記事のテキスト又はイラストの一部を見つけることが可能である。スレッドヒント(threadhint)テーブルの場合には、クライエント(ビュア)が1つのトランズアクションで記事全体を表示するのに必要な全てのオブジェクトを要求する場合がある。従って、ヒントテーブルは文書の任意の頁を表示させるため又はあるその他の情報を効率的に検索するために必要とされるオブジェクトの全てに対する単一の要求をクライエントが構築することを可能とするインデックス情報を提供する。
ヒントテーブルは、更に、プラグインによりアプリケーション特定情報へのアクセスを最適化するための情報を有することも可能である。
ヒントテーブルは、論理的には、文書の情報内容の一部ではなく、それは文書から派生させることが可能なものである。文書が再度発生されると、ヒントテーブルストリームオブジェクト486及び500は、それらが特別に発生されたものでない限り、文書の一部となるものではない。文書を変更させる何らかのアクション、例えば増分的なアップデートをアペンドすること、は、ヒントテーブルの幾つか又は全てを無効なものとさせる場合がある。結果的に得られる文書ファイルは、PDFファイルとしては未だに有効であるが、線形化したファイルとしては必ずしもそうではない。
図15aを参照すると、頁オフセットヒントテーブル488のエレメントの幾つかについて更に説明することが必要である。「頁におけるオブジェクト数」とは、ヘッダーにおいて与えられる「頁におけるオブジェクトの最小数」に対して付加された場合には、該頁におけるオブジェクトの実際の数を与える値である。第一頁の第一オブジェクトは、線形パラメータオブジェクト482において与えられるオブジェクト番号を有している。第二頁の第一オブジェクトは1のオブジェクト番号を有している。その後の頁に対するオブジェクト番号は、全ての前の頁におけるオブジェクトの数を蓄積することにより決定することが可能である。
「バイト単位での頁長さ」は、ヘッダーに与えられる「バイト単位での頁の最小長さ」に付加された場合に、バイト単位での頁の全長を与える値である。第一頁の第一オブジェクトの位置は、そのオブジェクトに対する相互参照テーブルエントリから決定することが可能である。後の頁の位置は、前の全ての頁の長さを蓄積することにより決定することが可能である。「頁のスタート即ち始めから内容ストリームのスタート即ち始めまでのバイト数」は、ヘッダーに与えられる「オフセットされている内容の最小スタート(開始)」に付加された場合に、頁の始めと相対的に内容ストリームオブジェクトのオフセット及びバイトを与える値である。「バイト単位での内容の長さ」とは、ヘッダーに与えられる「最小内容長さ」へ付加された場合に、オブジェクトオーバーヘッドを包含するバイト単位での内容ストリームオブジェクトの長さである値である。
頁オフセットヒントテーブル488は、各頁から参照された各共用オブジェクトに対して、「共用オブジェクト識別子」及び「第一参照の内容において位置を与えるフラクション」を包含している。前者は共用オブジェクトヒントテーブル490内へのインデックスである。該後者は、頁の内容データにおけるどこが、共用オブジェクトが最初に参照されたかを表わす。説明したように、これはフラクション即ち分数の分子として解釈され、その分母は頁オフセットヒントテーブルヘッダー内において特定される。該分子は付加的な値をとることが可能であり、公称的に、内容データの終りを超えたフラクションを表わし、共用オブジェクトが該内容から参照されたものではなく、該内容の後に描かれたアノテーション又はその他のオブジェクトによって必要とされるものであることを表わす。共用オブジェクトが頁の終りにおける共用されていないオブジェクトのタイプに関して共用オブジェクトが必要とされる場合を指定するために異なる値を使用することが可能である。
共用オブジェクトヒントテーブル490を図15bに示してある。頁オフセットヒントテーブル488は、該テーブルにおけるエントリのシーケンスである簡単なインデックスによって共用オブジェクトヒントテーブル490における1つのエントリを参照する。自明なヘッダー情報に続いて、共用オブジェクトグループエントリの2つのシーケンスが存在しており、即ち第一頁に位置されているオブジェクト492に対する1に対して共用オブジェクトセクション498に位置しているオブジェクトに対する1が続いている。これらのエントリは両方の場合に同一のフォーマットを有している。表現の便宜上、第一頁(492オブジェクト)は、それが完全に共用オブジェクトから構成されているかのように取扱うことが可能である。即ち、共用オブジェクトテーブルの第一エントリは第一頁の開始を参照し且つ初期の共用されていないオブジェクトの全てに跨がるオブジェクトカウント及び長さを有している。次のエントリは第一頁オブジェクト492における共用オブジェクトからなるグループを参照する。その後のエントリは、第一頁における全ての共用オブジェクトが列挙されるまで、共用されるか又は共用されないオブジェクトのいずれかの付加的なグループに連続的に跨がる。
各共用オブジェクトグループに対して表われる情報において、「グループ内のオブジェクト数」はそのグループにおけるオブジェクトの実際の数よりも1だけ少ない値である。第一頁の第一オブジェクトのオブジェクト数は文書の始めにおける線形化パラメータオブジェクト482において与えられる。後のエントリに対するオブジェクト番号は第一頁における全ての共用オブジェクトが列挙されるまで、全ての前のエントリにおけるオブジェクト数を蓄積することによって決定することが可能である。それに続いて、共用オブジェクトセクション498における第一オブジェクトは、共用オブジェクトテーブルヘッダーから得ることの可能な数、即ち「共用オブジェクトセクションにおける第一オブジェクトのオブジェクト数」を有している。「バイト単位でのオブジェクトの全長」は、ヘッダーに与えられている「バイト単位での共用オブジェクトグループの最小長さ」へ付加される場合に、バイト単位でのオブジェクトグループの全長を与える値である。第一頁の第一オブジェクトの位置は、頁オフセットテーブルヘッダー情報において与えられている。その後のオブジェクトグループの位置は、第一頁における全ての共用オブジェクトが列挙されるまで、全ての前のオブジェクトグループの長さを蓄積することによって決定することが可能である。それに続いて、共用オブジェクトセクション498における第一オブジェクトの位置は、ヘッダーから得ることが可能である。「シグナチャ存在フラグ」はシグナチャ(署名)の有無を表わす。「オプショナルシグナチャ(optionalsignature)」は、存在する場合には、1実施例において、オブジェクトのグループを表わす資源を個別的に識別することが意図された16バイトのMD5ハッシュ(hash)である。このことは、クライエントが、それを文書から読む代わりに、局所的にキャッシュした資源のコピーを置換させることを可能とする。
図15cを参照すると、サムネイルヒントテーブル506における各エントリは、単一の頁に対するサムネイル(thumbnail)を記述する。頁は頁番号順に考慮され、頁0が表示されるべき第一頁でない場合であっても、頁0から開始する。サムネイルは全ての頁ではなく幾つかの頁に対して存在する場合がある。このテーブルに対するヘッダーは自明である。エントリにおいて、「サムネイルを欠如する頁に先行するカウント」は、この1つにおける前のエントリの頁間にサムネイルのない幾つの頁が存在しているかを表わす。全ての頁がサムネイルを有している場合には、このフィールドの値は常に0であり、且つヘッダにおける「サムネイルのない頁のカウントを表わすために必要なビット」の値は0とすることが可能である。「バイト単位でのサムネイルオブジェクトの長さ」は、ヘッダにおいて与えられる「バイト単位でのサムネイルオブジェクトの最小長さ」へ付加された場合に、サムネイルオブジェクトの全長を与える値である。「各共用オブジェクトに対して、共用オブジェクト識別子」は共用オブジェクトヒントテーブル490内へのインデックスである。
図15dを参照すると、包括的ヒントテーブル508に対するフォーマットが例示されている。あるカテゴリのオブジェクトは個々の頁ではなく文書全体と関連している。この様なオブジェクトへアクセスするためのヒントを与えることが効率的であることが時折有用である。ヒントテーブルでサポートされる各カテゴリのヒントに対して、ストリーム内の対応するヒントテーブルの開始位置を与えるヒントテーブルストリームオブジェクト486におけるエントリが存在している。包括的ヒントテーブル508の例示したフォーマットはこの様なヒントに対する包括的な表現を与える。この表現は、アウトライン、スレッド及び命名した宛先などのスタンダードのオブジェクトのカテゴリに対して有用である。それは、更に、プラグインによってアクセスされる応用特定オブジェクトに対しても有用な場合がある。包括的ヒントテーブル508は、文書内において一緒に位置している一つ又はそれ以上のグループのオブジェクトを記述する。各グループに対して、ヒントは、クライエント(文書読取りプロセス)がそのグループにおけるオブジェクトが参照する可能性のある任意の共用オブジェクトを包含するそのグループ内の全てのオブジェクトに対する要求を構築することを可能とするのに十分な情報を有している。単一のグループが存在する場合には、該ヒントテーブルは同時にアクセスされるべき該カテゴリ内の全てのオブジェクトに対して参照を行う。複数個のグループが存在する場合には、各グループは0からカウントする該テーブル内のその逐次的な位置である簡単なインデックスによって識別される。オブジェクトグループが意味するものはオブジェクトカテゴリに依存する。
包括的ヒントテーブル508に対するヘッダ情報は自明である。各オブジェクトグループに対するエントリにおいて、「バイト単位でのオブジェクトの全長」は、ヘッダに与えられている「バイト単位でのオブジェクトグループの最小長さ」に対して付加された場合に、オブジェクトグループの全長を与える値である。「グループから参照される各共用オブジェクトに対して、共用オブジェクト識別子」は、共用オブジェクトヒントテーブル490内へのインデックスである。この識別子を表現するのに必要なビット数は、頁オフセットヒントテーブル488のヘッダ内に与えられている。
第一頁オブジェクトセクション492において、共用オブジェクトを包含する全てのオブジェクトは、文書の第一頁を表示することが必要とされる。以下のオブジェクトの順番付けは、早期のユーザインタラクションに、第一頁データが到着する場合にその増分的表示を与えるために有用である。第一に、アノテーションを活性化させることを可能とするのに十分な深さへのアノテーションオブジェクト、アノテーションを引出すのに必要な情報は繰延べることが可能である。なぜならば、アノテーションは、常に、他の内容の上に(従って、後に)描かれるからである。
第一頁オブジェクトセクション492の後は、順番に、次の頁に対する共用されていないオブジェクト494乃至最後の頁に対する共用されていないオブジェクト496を含むセクションである。表示されるべき第一頁以外の各頁に対して、該頁を表示するのに必要とされるオブジェクトは、他の頁と共用される資源及びその他のオブジェクトを除いて、一緒にグループ化される。共用オブジェクトは共用オブジェクトセクション498内に位置される。任意の頁の開始ファイルオフセット及び長さはヒントテーブルから決定することが可能である。第一頁における順番のように、1番目でない頁におけるオブジェクトの順番は、早期ユーザインタラクション及びそれが到着する場合の頁データの増分的な表示を簡単化すべきである。一般的に、線形化したフォーマットにおいては、内容を資源とインターリーブさせることから得られる利点はほとんどない。なぜならば、画像以外のほとんどの資源、特に、フォントにおいては、全ての頁の間で共用されており、従って、共用オブジェクトセクション498内に存在しているからである。画像オブジェクトは、通常、共用されておらず、それらは、他の頁オブジェクトの後に表われるべきである。なぜならば、図13cを参照して説明したように、画像のレンダリングは繰延べることが可能だからである。
共用オブジェクトセクション498は一つを超える頁から参照され且つ第一頁から(直接的に又は間接的に)参照されることのないオブジェクトを包含している。共用オブジェクトテーブル490はこれらのオブジェクトのインデックスを有している。共用オブジェクトセクション498におけるオブジェクトの順番は基本的に任意である。しかしながら、資源がマルチレベルの構造から構成されている場合には、該構造の全ての構成要素が一緒にグループされることが望ましい。従って、トップレベルのオブジェクトのみがグループの外部から参照される場合には、そのグループは共用オブジェクトテーブル490における単一のエントリによって記述することが可能であり、そのテーブルの寸法を最小なものとさせる。
主要相互参照テーブル502は、第一頁相互参照テーブル484においてリストされているもの以外のファイル内の全てのオブジェクトに対する相互参照テーブルである。
電子文書は、更に、頁を表示するためには必要とされるものではないが文書の一部であるその他のオブジェクト(不図示)を有している場合がある。この様なオブジェクトは機能的なカテゴリに分割され、且つ各カテゴリ内のオブジェクトは一緒にグループ化されるべきであり、従って各々は、クライエントによる効率的なアクセスに対して必要とされる情報を与えるための対応するヒントテーブルを有することが可能である。線形化されたフォーマットは、プラグインによりアクセスされる応用特定データに対する付加的なヒントテーブルを可能とする。この様な付加的なヒントテーブルは、包括的なフォーマットを有することが可能であり、又は該ヒントテーブルのフォーマットはアプリケーションに対して専用のものとすることが可能である。
前述したことから、線形化したフォーマットは、電子文書の効率的な検索及び表示を可能とすることが理解される。従って、文書が最初にアクセスされる場合には、クライエントは最初から開始するファイル全体を検索するための要求を発生することが可能である。従って、表示されるべき第一頁に対するデータは迅速に表われ且つ使用可能となる。第一頁に対するオブジェクトのように、主要ヒントテーブルストリームオブジェクトも、検索され且つファイルの初期的逐次的読取りの一部が検索される。クライエントはヒントテーブル内の情報の全てを解釈し且つ維持することが推測される。ヒントテーブル及び第一頁オブジェクトが読取られると、クライエントは逐次的に該文書の残りを継続して読むことの決定をするか、又はクライエントはバイトレンジを要求する別のトランズアクションを使用して該初期的なトランズアクション及びその後の頁へのアクセスをアボート即ち中止する決定をすることが可能である。ヒントテーブルが受取られると、クライエントはその頁番号が与えられる文書の任意の頁の検索を要求するための十分な情報を有することとなる。
オブジェクト及び頁の順番付け及び線形化したフォーマットでのヒントテーブルの使用は、表示の段階的アップデート即ち更新及びデータがゆっくりと到着する場合のユーザインタラクションに対する早期の機会を与えることを可能とする。その目的のために、クライエント(ビュア)は、頁上で参照されているオブジェクトが到着したか否かを認識し、且つ、可能である場合には、オブジェクトの性質及び利用可能性に対してオブジェクトに関して動作する順番を適合させるべきである。この様な動作の順番の一つは以下のようなものであり、その要素については図13a,13b,13cを参照して説明しており、第一に、描写することなしにアノテーションを活性化させ、次いで、内容を描写するが使用不可能な画像を繰延べし且つ使用不可能なフォントに対しては置換フォントを使用し、次いでアノテーションを描写し、次いでオーバーラップするものと共に画像を描写し、次いでテキストとオーバーラップするものと共に、所望のフォントを使用してテキストを再描写する。説明したように、画像の後描写及びテキストの再描写はオフスクリーンバッファを使用して行うことが可能であるが、これらは、又、表示が発生されるバッファ内に直接的に描写することが可能である。
要求された頁のダウンロードの例
図10及び12のプロセスの例においては、電子文書の第一頁が本発明の最適化させた文書ファイルからダウンロードされ且つ図10のステップ224,226,228,230において表示されている。次いで、ユーザは図10のステップ234においてビュアにおいて頁9を表示することを要求する。この例においては、頁9を表示するのに必要なデータは最適化された文書ファイルにおける25000−29000,112000−113000,200000−202000のバイトレンジにおいて発生し、その場合に、第一レンジは頁内容データであり、且つ2番目の二つのレンジは頁内容によって参照される共用オブジェクトである。ファインダは相互参照テーブルを見つけ出し且つステップ238において頁9に対し25000をオフセットし且つそのオフセットをビュアへ与える。ファインダはステップ240において付加的なレンジを決定する。ステップ242において、ビュアはソースコンピュータへ接続し且つ例えば1Kなどの所定量のデータをダウンロードする。一方、ファインダは、頁内容が実際にバイト29000へ進行することを決定する。インターリーブが所望されない場合には、ファインダは、付加的に、図12のステップ300においてバイトレンジ26000−29000がダウンロードされることを要求する。又、ファインダは、頁9が共用ID1及び2を具備する二つの共用オブジェクトを有していることを共用頁リスト136を検査することによって決定する。従って、ファインダは共用オブジェクトオフセットテーブル272をチェックし且つ図12のステップ300における同一の接続において対応する共用オブジェクトバイトレンジ112000−113000および200000−202000がダウンロードされることを要求する。一方、図14に示した線形化した最適化したフォーマットを参照して説明したように、バイトレンジの全てを一つのトランズアクションで要求することが可能であり、従って、図10のステップ238,240,242,244,246は一つのステップとして動作する。
インターリーブが実施される場合には、図12のステップ288において、ファインダは共用ID1及びフラクション番号1を有するオブジェクトリスト内の次の共用オブジェクトを検査する。ステップ292において、ファインダは該頁の最初から第一フラクションへの頁内容を要求する。従って、該フラクション即ち分数が0/8であることを仮定すると、各フラクションは4000/8=500バイトである。第一フラクションは検査された共用オブジェクトを参照するので、ファインダは25000−25500のレンジを要求する。ステップ294において、ファインダは第一フラクションにおける任意の共用オブジェクトに対するレンジを要求し、オブジェクトリスト内には唯一つ存在するに過ぎない。従って、ファインダは共用オブジェクトオフセットテーブル272から決定されるように、この共用オブジェクトに対して112000−113000のレンジを要求する。その頁の内容の5/8は該頁上の他の共用オブジェクトのみに対する参照を有しているので(共用ID2)、本プロセスはステップ294の後ステップ286へ復帰する。次の反復において、ファインダは共用ID2を有しており且つフラクション番号5であるオブジェクトリスト内の次の共用オブジェクトを検査する。従って、頁内容の次の4/8がステップ292において検索され、それは検査された共用オブジェクトを包含する5/8までであり且つそれを包含するものである(一方、ステップ292はループを介して各階毎に一つのフラクションを要求し且つ共用オブジェクト参照が見つかるまでステップ294をスキップすることによって、複数回(5)実行することが可能である)。従って、文書ファイルのバイト25501−27500からの頁内容のレンジが要求される(四つのフラクション=2000バイト)。次いで、ステップ294において、レンジ200000−202000における5番目のフラクションによって参照される共用オブジェクト(及び、その相互参照情報)が要求される。さらなる共用オブジェクトは頁内容において参照されないので、ファインダは27501−29000のバイトレンジ(及びその相互参照情報)を有するステップ296における頁内容の残りの部分を要求する。これら全てのバイト要求はホストコンピュータに対する単一の接続期間中に実行される。一方、図14に例示した線形化した最適化フォーマットを参照して説明したように、バイトレンジの全ては一つのトランズアクションで要求することが可能である。
従って、本発明のプロセスは、第一頁又は最初の組のテーブルがダウンロードされた後に、ソース即ち供給源に対しての一つの接続(又は、一つのトランズアクション)のみでソースコンピュータから要求した頁全体に対するデータを読取ることを可能とする。従って、頁データは、ユーザに対してより少ない待機時間で、より迅速にダウンロードし且つ表示させることが可能である。インターリーブプロセスにおいては、これらの共用オブジェクトを参照する頁内容の部分のすぐ後に、共用オブジェクトをダウンロードさせることが可能である。このことは、共用オブジェクトがダウンロードされることを待機する必要性なしに、頁の一部をすぐさまユーザに対して表示させることを可能とする。
本発明を幾つかの特定の実施例について説明したが、本明細書を読み且つ図面を検討することにより、当業者にとってその変形例、修正例及び交換例が明らかになるものと思料する。例えば、本発明を例えばPDF文書などのポータブル電子文書に対して使用するものとして説明している。しかしながら、例えば、ばらばらにしたオブジェクト/データ、及び/又は共用オブジェクト/データなどのその他のファイル又はデータの集まりは、本発明によって最適化し且つダウンロードするのに適したものである。更に、説明した本発明の共用オブジェクトインターリーブは、より高速のダウンロードのために最適化したファイルを提供するために必ずしも必要なものではない。更に、説明した実施例において記載した多くのステップ又はプロセスは記載した実施例に対して特定的なものであり、その他の実施例において変更したり省略したりすることが可能である。例えば、図10のダウンロードプロセスにおいてファインダ及びビュアの使用は特定の実施例に適合すべく変更することが可能である。更に、説明を簡潔的なものとする目的のためにある用語を使用しているが、本発明を制限するものではない。例えば、「テーブル」という用語は、従来のテーブル即ち表形式の構造を有するデータ構造のみを包含するものとして狭く読まれることを意図しているものではなく、その用語は必要とされる情報を担持する全ての形態のデータ構造を包含すべきものである。従って、以下の添付の請求の範囲はこれら全ての変形例、修正例及び交換例が本発明の真の精神及び範囲内に入るものであることを意図している。
本発明に基づいて最適化した文書を供給し及び/又は最適化したファイルからデータをダウンロードするコンピュータシステムのブロック図。 ポータブル電子文書からの一つの頁及びブックマークビューを表示するビュアのディスプレイスクリーンの模式的概略図。 ポータブル電子文書からの一つの頁及び「サムネイル(thumbnail)」ウインドウを表示するビュアの表示スクリーンの模式的概略図。 最適化していない文書ファイルの一例の模式的概略図。 本発明の最適化した文書ファイルの模式的概略図。 電子文書から最適化した文書ファイルを作成するための本発明のプロセスを例示したフローチャート。 オブジェクトの内部リスト及び共用オブジェクトのリストを作成する図4のステップを例示したフローチャート。 図5のプロセスにおいて作成される共用オブジェクトリストの模式的概略図。 共用オブジェクトが処理される図5のステップを例示したフローチャート。 図6のプロセスにおいて作成される共用頁リストの模式的概略図。 完成され且つ共用されるオブジェクトにおける共用頁リストが内部リスト内に組込まれる図5のステップを例示したフローチャート。 本発明の頁オフセットテーブルが最適化されたファイル内に配置される図4のステップを例示したフローチャート。 図8のプロセスにおいて作成される頁オフセットテーブルの模式的概略図。 レンジテーブルが最適化されたファイル内に書込まれる図4のステップを例示したフローチャート。 図9のプロセスにおいて作成されるレンジテーブルの模式的概略図。 最適化した文書ファイルから頁をダウンロードするための本発明のプロセスを例示するフローチャート。 ファインダーが文書からの頁オフセットテーブルを検索し且つ頁情報を決定する図10のステップを例示したフローチャート。 図11のプロセスにおいて展開される頁情報テーブルの模式的概略図。 ビュアのホストとの接続期間中に要求された頁に対してファインダーが頁データの付加的なレンジを要求する場合の図10のステップを例示したフローチャート。 異なるフォントを使用してテキストが段階的にレンダリングされる図10のステップにおける本発明のオプションとしてのプロセスを例示したフローチャート。 文書の活性要素が早期にイネーブルされる図10のステップにおいて本発明のオプションとしてのプロセスを例示したフローチャート。 テキストが下側に存在するオブジェクトが表示される前に表示される図10のステップにおける本発明のオプションとしてのプロセスを例示したフローチャート。 本発明の線形化した文書ファイルを例示したブロック図。 頁オフセットヒントテーブルの模式的概略図。 共用オブジェクトヒントテーブルの模式的概略図。 サムネイルヒントテーブルの模式的概略図。 包括的オブジェクトヒントテーブルの模式的概略図。

Claims (13)

  1. 頁オフセット情報を有するマルチ頁電子文書の一つの頁を読み取る方法において、
    前記文書の読み取り期間中の初期に、動作を最適化させるために前記文書に付加されているオプション情報である前記頁オフセット情報を読み取り、
    特定の頁の様相を画定する様相画定要素であって非連続的な態様で前記文書内に格納されている様相画定要素を有している前記文書の前記特定の頁を読み取るための要求を受け取り、
    前記文書の読み取り期間中の初期に読み取られた頁オフセット情報を使用して前記文書における前記特定の頁の前記非連続的な要素を見つけ出し、
    前記特定の頁の様相を画定する前記様相画定要素を読み取る、
    ことを包含していることを特徴とする方法。
  2. 請求項1において、
    前記文書の一つの頁を越えて読み取りが完了される前に前記頁オフセット情報が読み取られ、
    前記文書の一つの頁を表示するために必要な各様相画定要素の開始及び終了オフセットを前記頁オフセット情報から派生させることが可能である、
    ことを特徴とする方法。
  3. 請求項1において、前記頁オフセット情報が前記文書内の所定の位置に位置されていることを特徴とする方法。
  4. 請求項1において、前記頁オフセット情報を読み取る前に、オフセット値が前記文書から読み取られ且つ前記文書内の前記頁オフセット情報を探し出すための前記文書内へのインデックスとして使用されることを特徴とする方法。
  5. 請求項1において、前記特定の頁が頁内容及び共用オブジェクトを包含しており、且つ前記共用オブジェクトが前記頁内容の部分間でインターリーブされて読み取られることを特徴とする方法。
  6. 請求項1において、
    前記頁オフセット情報の読み取りが、前記文書に対する共用オブジェクトヒントであって、読み取りプロセスが前記文書内の共用オブジェクトを探し出すことを可能とさせる情報を与える共用オブジェクトヒントの読み取りを包含しており、
    前記頁オフセット情報の読み取りが、前記文書に対するブックマークヒントであって、読み取りプロセスが前記文書内のブックマークを探し出すことを可能とさせる情報を与えるブックマークヒントの読み取りを包含しており、
    前記頁オフセット情報の読み取りが、前記文書に対するサムネールヒントであって、読み取りプロセスが前記文書内のサムネールを探し出すことを可能とさせる情報を与えるサムネールヒントの読み取りを包含している、
    ことを特徴とする方法。
  7. 請求項1において、
    前記頁オフセット情報の読み取りが、前記文書に対するアーティクルスレッドヒントであって、読み取りプロセスが前記文書内のアーティクルスレッド及びビーズを探し出すことを可能とさせる情報を与えるアーティクルスレッドヒントの読み取りを包含していることを特徴とする方法。
  8. 請求項1において、
    前記文書が一組のオブジェクトを包含しており、各オブジェクトは一組のクラスのうちの一つに属しており、且つ前記文書は、又、前記一組のクラスにおける各クラスに対するヒントテーブルを包含しており、各ヒントテーブルは対応するクラスにおけるオブジェクトの位置を識別する情報を包含しており、且つ
    前記頁オフセット情報の読み取りが、前記読み取りプロセス期間中の初期における前記ヒントテーブルの読み取りを包含しており、且つ
    本方法が、更に、
    対応するクラスのオブジェクトの前記文書内の位置を識別するためにヒントテーブルを使用し、且つ
    対応するクラスの全ての又は特定したサブセットのオブジェクトを読み取るためのトランズアクションを作成するために前記識別した位置を使用する、
    ことを有しており、その際にユーザにより所望される情報のクラスに関連する前記文書の任意の側面を、前記文書の他の側面に関連するオブジェクトを読み取る必要性無しに、読み取ることが可能であることを特徴とする方法。
  9. 請求項8において、
    前記一組のクラスが頁オブジェクトに対するクラスを包含していることを特徴とする方法。
  10. 請求項8において、
    前記一組のクラスがサムネールオブジェクトに対するクラスを包含していることを特徴とする方法。
  11. 請求項8において、
    前記一組のクラスがアーティクルオブジェクトに対するクラスを包含していることを特徴とする方法。
  12. 請求項8において、前記一組のクラスがブックマークオブジェクトに対するクラスを包含していることを特徴とする方法。
  13. 請求項8において、前記一組のクラスが対応するヒントテーブルを有するアプリケーションプラグインによって画定されるクラスを包含していることを特徴とする方法。
JP2005176652A 1995-09-25 2005-06-16 電子文書への最適アクセス Pending JP2006114012A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US53317795A 1995-09-25 1995-09-25
US08/533,875 US5781785A (en) 1995-09-26 1995-09-26 Method and apparatus for providing an optimized document file of multiple pages
US08/569,000 US5737599A (en) 1995-09-25 1995-12-07 Method and apparatus for downloading multi-page electronic documents with hint information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9513760A Division JP2000500887A (ja) 1995-09-25 1996-09-25 電子文書への最適アクセス

Publications (1)

Publication Number Publication Date
JP2006114012A true JP2006114012A (ja) 2006-04-27

Family

ID=27415122

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9513760A Ceased JP2000500887A (ja) 1995-09-25 1996-09-25 電子文書への最適アクセス
JP2005176652A Pending JP2006114012A (ja) 1995-09-25 2005-06-16 電子文書への最適アクセス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP9513760A Ceased JP2000500887A (ja) 1995-09-25 1996-09-25 電子文書への最適アクセス

Country Status (6)

Country Link
US (3) US5860074A (ja)
EP (1) EP0870246B1 (ja)
JP (2) JP2000500887A (ja)
CA (1) CA2233023A1 (ja)
DE (1) DE69637125T2 (ja)
WO (1) WO1997012328A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014081049A1 (ko) * 2012-11-20 2014-05-30 모글루(주) 전자문서 리더 및 그 제어 방법

Families Citing this family (421)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835989B1 (en) 1992-12-09 2010-11-16 Discovery Communications, Inc. Electronic book alternative delivery systems
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
ES2154291T3 (es) 1992-12-09 2001-04-01 Discovery Communicat Inc Controlador de red para sistemas de distribucion de programas de television por cable.
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US7509270B1 (en) 1992-12-09 2009-03-24 Discovery Communications, Inc. Electronic Book having electronic commerce features
US7849393B1 (en) 1992-12-09 2010-12-07 Discovery Communications, Inc. Electronic book connection to world watch live
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
US7721307B2 (en) * 1992-12-09 2010-05-18 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects
CA2125608A1 (en) * 1993-06-30 1994-12-31 George M. Moore Method and system for providing substitute computer fonts
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US7865567B1 (en) * 1993-12-02 2011-01-04 Discovery Patent Holdings, Llc Virtual on-demand electronic book
US8095949B1 (en) 1993-12-02 2012-01-10 Adrea, LLC Electronic book with restricted access features
US7861166B1 (en) 1993-12-02 2010-12-28 Discovery Patent Holding, Llc Resizing document pages to fit available hardware screens
US7467137B1 (en) 1994-09-02 2008-12-16 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US6604103B1 (en) 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US7103594B1 (en) 1994-09-02 2006-09-05 Wolfe Mark A System and method for information retrieval employing a preloading procedure
JP3548617B2 (ja) * 1995-01-31 2004-07-28 株式会社日立製作所 情報検索装置
US7302638B1 (en) 1995-06-07 2007-11-27 Wolfe Mark A Efficiently displaying and researching information about the interrelationships between documents
US5870770A (en) * 1995-06-07 1999-02-09 Wolfe; Mark A. Document research system and method for displaying citing documents
US7562392B1 (en) 1999-05-19 2009-07-14 Digimarc Corporation Methods of interacting with audio and ambient music
US6957260B1 (en) * 1996-06-03 2005-10-18 Microsoft Corporation Method of improving access to services provided by a plurality of remote service providers
US6311197B2 (en) * 1996-06-03 2001-10-30 Webtv Networks, Inc. Method for downloading a web page to a client for efficient display on a television screen
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5852820A (en) * 1996-08-09 1998-12-22 Digital Equipment Corporation Method for optimizing entries for searching an index
US9134398B2 (en) 1996-09-09 2015-09-15 Tracbeam Llc Wireless location using network centric location estimators
US7764231B1 (en) 1996-09-09 2010-07-27 Tracbeam Llc Wireless location using multiple mobile station location techniques
US7903029B2 (en) 1996-09-09 2011-03-08 Tracbeam Llc Wireless location routing applications and architecture therefor
US7714778B2 (en) 1997-08-20 2010-05-11 Tracbeam Llc Wireless location gateway and applications therefor
US6236365B1 (en) 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US5953008A (en) * 1996-10-01 1999-09-14 Nikon Corporation Source file editing apparatus
US6006252A (en) 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US5835908A (en) * 1996-11-19 1998-11-10 Microsoft Corporation Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers
US5918239A (en) * 1997-01-21 1999-06-29 International Business Machines Corporation Deferred display of web pages corresponding to links selected by user
JP3586351B2 (ja) * 1997-03-21 2004-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ウインドウ表示装置および方法、並びにウインドウ表示制御プログラムを記録した記録媒体
US8626763B1 (en) 1997-05-22 2014-01-07 Google Inc. Server-side suggestion of preload operations
US6278465B1 (en) 1997-06-23 2001-08-21 Sun Microsystems, Inc. Adaptive font sizes for network browsing
US6178433B1 (en) * 1997-07-15 2001-01-23 International Business Machines Corporation Method and system for generating materials for presentation on a non-frame capable web browser
US6076104A (en) * 1997-09-04 2000-06-13 Netscape Communications Corp. Video data integration system using image data and associated hypertext links
US6094657A (en) * 1997-10-01 2000-07-25 International Business Machines Corporation Apparatus and method for dynamic meta-tagging of compound documents
US5940843A (en) * 1997-10-08 1999-08-17 Multex Systems, Inc. Information delivery system and method including restriction processing
US6324500B1 (en) * 1997-11-14 2001-11-27 International Business Machines Corporation Method and system for the international support of internet web pages
US7257604B1 (en) 1997-11-17 2007-08-14 Wolfe Mark A System and method for communicating information relating to a network resource
US6292813B1 (en) 1997-11-17 2001-09-18 Mark A. Wolfe System and method for communicating information relating to a network resource
US6085199A (en) * 1997-11-24 2000-07-04 International Business Machines Corporation Method for distributing a file in a plurality of different file formats
US6092063A (en) * 1997-11-25 2000-07-18 International Business Machines Corporation Multi-level live connection for fast dynamic access to business databases through a network
US6324553B1 (en) 1997-11-26 2001-11-27 International Business Machines Corporation Apparatus and method for the manual selective blocking of images
US6356924B2 (en) * 1997-11-26 2002-03-12 International Business Machines Corporation Configurable disablement of display objects in a browser
US6769019B2 (en) 1997-12-10 2004-07-27 Xavier Ferguson Method of background downloading of information from a computer network
US6091395A (en) 1997-12-15 2000-07-18 International Business Machines Corporation Computer system and method of manipulating a graphical user interface component on a computer display through collision with a pointer
US6996561B2 (en) * 1997-12-21 2006-02-07 Brassring, Llc System and method for interactively entering data into a database
US5999939A (en) * 1997-12-21 1999-12-07 Interactive Search, Inc. System and method for displaying and entering interactively modified stream data into a structured form
JP4183311B2 (ja) 1997-12-22 2008-11-19 株式会社リコー 文書の注釈方法、注釈装置および記録媒体
US7954056B2 (en) 1997-12-22 2011-05-31 Ricoh Company, Ltd. Television-based visualization and navigation interface
US7124093B1 (en) 1997-12-22 2006-10-17 Ricoh Company, Ltd. Method, system and computer code for content based web advertising
US7263659B2 (en) 1998-09-09 2007-08-28 Ricoh Company, Ltd. Paper-based interface for multimedia information
US7257589B1 (en) 1997-12-22 2007-08-14 Ricoh Company, Ltd. Techniques for targeting information to users
US7596755B2 (en) * 1997-12-22 2009-09-29 Ricoh Company, Ltd. Multimedia visualization and integration environment
US20080028292A1 (en) * 1997-12-22 2008-01-31 Ricoh Company, Ltd. Techniques to facilitate reading of a document
US6874123B1 (en) * 1998-02-09 2005-03-29 International Business Machines Corporation Three-dimensional model to facilitate user comprehension and management of information
US6308187B1 (en) 1998-02-09 2001-10-23 International Business Machines Corporation Computer system and method for abstracting and accessing a chronologically-arranged collection of information
US6505251B1 (en) * 1998-03-06 2003-01-07 Intel Corporation Controlling the reception of a data signal stream of a progressive format type file
US6219679B1 (en) * 1998-03-18 2001-04-17 Nortel Networks Limited Enhanced user-interactive information content bookmarking
US6133916A (en) * 1998-04-08 2000-10-17 International Business Machines Corporation Graphical user interface providing access to files downloaded over a network
US7689532B1 (en) 2000-07-20 2010-03-30 Digimarc Corporation Using embedded data with file sharing
US7756892B2 (en) * 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US7372976B2 (en) * 1998-04-16 2008-05-13 Digimarc Corporation Content indexing and searching using content identifiers and associated metadata
FI981355A (fi) * 1998-06-11 1999-12-12 Nokia Mobile Phones Ltd Elektroninen tiedoston noutomenetelmä ja -järjestelmä
US6438564B1 (en) * 1998-06-17 2002-08-20 Microsoft Corporation Method for associating a discussion with a document
US6216123B1 (en) * 1998-06-24 2001-04-10 Novell, Inc. Method and system for rapid retrieval in a full text indexing system
CN100392634C (zh) * 1998-07-21 2008-06-04 三星电子株式会社 显示万维网文档的系统和方法
US7215436B2 (en) * 1998-09-09 2007-05-08 Ricoh Company, Ltd. Device for generating a multimedia paper document
US6369811B1 (en) 1998-09-09 2002-04-09 Ricoh Company Limited Automatic adaptive document help for paper documents
US7263671B2 (en) * 1998-09-09 2007-08-28 Ricoh Company, Ltd. Techniques for annotating multimedia information
US6582475B2 (en) 1998-09-09 2003-06-24 Ricoh Company Limited Automatic adaptive document printing help system
US7266782B2 (en) * 1998-09-09 2007-09-04 Ricoh Company, Ltd. Techniques for generating a coversheet for a paper-based interface for multimedia information
JP4150452B2 (ja) * 1998-11-12 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション フォントの取得方法、登録方法および印刷方法
US8135413B2 (en) 1998-11-24 2012-03-13 Tracbeam Llc Platform and applications for wireless location and other complex services
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US6912327B1 (en) * 1999-01-28 2005-06-28 Kabushiki Kaisha Toshiba Imagine information describing method, video retrieval method, video reproducing method, and video reproducing apparatus
EP1024443A3 (en) * 1999-01-29 2002-01-09 Canon Kabushiki Kaisha Utilising electronically accessible resources
US6326957B1 (en) * 1999-01-29 2001-12-04 International Business Machines Corporation System and method for displaying page information in a personal digital notepad
US6678410B1 (en) * 1999-02-17 2004-01-13 Adobe Systems Incorporated Generating a glyph
US6938051B1 (en) * 1999-02-26 2005-08-30 Verizon Services Corp. Method, storage medium and system for electronically viewing multi-page document while preserving appearance of printed pages
US6687878B1 (en) 1999-03-15 2004-02-03 Real Time Image Ltd. Synchronizing/updating local client notes with annotations previously made by other clients in a notes database
US6310633B1 (en) * 1999-03-23 2001-10-30 Ricoh Company Limited Method and system for organizing document information
US6486892B1 (en) 1999-04-07 2002-11-26 Joseph L. Stern System and method for accessing, manipulating and viewing internet and non-internet related information and for controlling networked devices
US6512531B1 (en) * 1999-04-09 2003-01-28 Adobe Systems Incorporated Font navigation tool
DE60039742D1 (de) * 1999-05-13 2008-09-18 Matsushita Electric Ind Co Ltd Mobiles Kommunikationsendgerät zum Darstellen von Text durch Schalten zwischen verschiedenen Zeichensätzen
US8874244B2 (en) 1999-05-19 2014-10-28 Digimarc Corporation Methods and systems employing digital content
US6647534B1 (en) 1999-06-30 2003-11-11 Ricoh Company Limited Method and system for organizing document information in a non-directed arrangement of documents
US7228492B1 (en) 1999-07-06 2007-06-05 Ricoh Company, Ltd. 2D graph displaying document locations of user-specified concept of interest
JP2001043212A (ja) * 1999-07-23 2001-02-16 Internatl Business Mach Corp <Ibm> 電子文書における文字情報の正規化方法
US6282327B1 (en) * 1999-07-30 2001-08-28 Microsoft Corporation Maintaining advance widths of existing characters that have been resolution enhanced
US8064886B2 (en) * 1999-08-12 2011-11-22 Hewlett-Packard Development Company, L.P. Control mechanisms for mobile devices
US7007239B1 (en) * 2000-09-21 2006-02-28 Palm, Inc. Method and apparatus for accessing a contacts database and telephone services
US7503016B2 (en) * 1999-08-12 2009-03-10 Palm, Inc. Configuration mechanism for organization of addressing elements
US20060121938A1 (en) * 1999-08-12 2006-06-08 Hawkins Jeffrey C Integrated handheld computing and telephony device
US6781575B1 (en) * 2000-09-21 2004-08-24 Handspring, Inc. Method and apparatus for organizing addressing elements
US6519050B1 (en) 1999-08-18 2003-02-11 Rtimage Ltd. Client/server based color density measurement system
US7278094B1 (en) 2000-05-03 2007-10-02 R. R. Donnelley & Sons Co. Variable text processing for an electronic press
EP1286735A1 (en) 1999-09-24 2003-03-05 Dennis Jay Dupray Geographically constrained network services
US7536561B2 (en) * 1999-10-15 2009-05-19 Ebrary, Inc. Method and apparatus for improved information transactions
US8311946B1 (en) 1999-10-15 2012-11-13 Ebrary Method and apparatus for improved information transactions
US20040148274A1 (en) * 1999-10-15 2004-07-29 Warnock Christopher M. Method and apparatus for improved information transactions
DE60025389T2 (de) * 1999-10-27 2006-07-06 Discovery Communications, Inc. Verfahren für ein virtuelles auf anforderung ausgeliefertes elektronisches buch
US6748450B1 (en) 1999-10-28 2004-06-08 International Business Machines Corporation Delayed delivery of web pages via e-mail or push techniques from an overloaded or partially functional web server
JP3609307B2 (ja) * 1999-12-07 2005-01-12 シャープ株式会社 文書管理装置
US7185274B1 (en) 1999-12-07 2007-02-27 Microsoft Corporation Computer user interface architecture wherein users interact with both content and user interface by activating links
US7337389B1 (en) 1999-12-07 2008-02-26 Microsoft Corporation System and method for annotating an electronic document independently of its content
US7458014B1 (en) 1999-12-07 2008-11-25 Microsoft Corporation Computer user interface architecture wherein both content and user interface are composed of documents with links
US6992687B1 (en) 1999-12-07 2006-01-31 Microsoft Corporation Bookmarking and placemarking a displayed document in a computer system
US20040268253A1 (en) * 1999-12-07 2004-12-30 Microsoft Corporation Method and apparatus for installing and using reference materials in conjunction with reading electronic content
US7028267B1 (en) * 1999-12-07 2006-04-11 Microsoft Corporation Method and apparatus for capturing and rendering text annotations for non-modifiable electronic content
US6957233B1 (en) 1999-12-07 2005-10-18 Microsoft Corporation Method and apparatus for capturing and rendering annotations for non-modifiable electronic content
US9424240B2 (en) 1999-12-07 2016-08-23 Microsoft Technology Licensing, Llc Annotations for electronic content
US6714214B1 (en) 1999-12-07 2004-03-30 Microsoft Corporation System method and user interface for active reading of electronic content
US6820111B1 (en) * 1999-12-07 2004-11-16 Microsoft Corporation Computer user interface architecture that saves a user's non-linear navigation history and intelligently maintains that history
US6920633B1 (en) * 2000-01-14 2005-07-19 Microsoft Corporation Cross-process common system resource data sharing
US7107526B1 (en) * 2000-01-19 2006-09-12 Xerox Corporation Transparent injection of specific content into web pages viewed while browsing
US7340481B1 (en) * 2000-01-21 2008-03-04 International Business Machines Corp. Method and system for adding user-provided content to a content object stored in a data repository
US7356766B1 (en) 2000-01-21 2008-04-08 International Business Machines Corp. Method and system for adding content to a content object stored in a data repository
US7007034B1 (en) * 2000-01-21 2006-02-28 International Business Machines Corporation File structure for storing content objects in a data repository
US7346844B1 (en) 2000-01-21 2008-03-18 International Business Machines, Corporation Method and system for moving content in a content object stored in a data repository
US8589777B1 (en) 2000-01-21 2013-11-19 International Business Machines Corporation Method and system for calculating cost of a compilation of content
US7089239B1 (en) 2000-01-21 2006-08-08 International Business Machines Corporation Method and system for preventing mutually exclusive content entities stored in a data repository to be included in the same compilation of content
US7043488B1 (en) 2000-01-21 2006-05-09 International Business Machines Corporation Method and system for storing hierarchical content objects in a data repository
US7765271B1 (en) 2000-02-03 2010-07-27 Hyland Software, Inc. System and method for scanning a document in client/server environment
US6700589B1 (en) 2000-02-17 2004-03-02 International Business Machines Corporation Method, system, and program for magnifying content downloaded from a server over a network
US6618758B1 (en) * 2000-02-18 2003-09-09 Lucent Technologies Inc. System for downloading only a portion of a file from a server through a computer network utilizing a client menu downloaded periodically from the server
US8676667B1 (en) * 2000-02-24 2014-03-18 Richard Paiz Parallel computer network and method for real time financial resource management, inventory control, and online purchasing
US8122344B2 (en) 2000-03-01 2012-02-21 Research In Motion Limited System and method for rapid document conversion
US7142691B2 (en) * 2000-03-18 2006-11-28 Digimarc Corporation Watermark embedding functions in rendering description files
US6785679B1 (en) * 2000-03-29 2004-08-31 Brassring, Llc Method and apparatus for sending and tracking resume data sent via URL
US7047493B1 (en) * 2000-03-31 2006-05-16 Brill Eric D Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction
US6580440B1 (en) * 2000-04-05 2003-06-17 Ncr Corporation System and method for automatically creating and updating a graphical user interface
US8055776B1 (en) 2000-04-05 2011-11-08 International Business Machines Corporation Sending full-content data to a second data processing system while viewing reduced-content data on a first data processing system
KR100369944B1 (ko) * 2000-04-06 2003-02-05 엘지전자 주식회사 정보 편집 및 그 정보의 디스플레이 방법
US7576730B2 (en) 2000-04-14 2009-08-18 Picsel (Research) Limited User interface systems and methods for viewing and manipulating digital documents
US7009626B2 (en) * 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
US7243299B1 (en) 2000-04-21 2007-07-10 Microsoft Corporation Methods and apparatus for displaying multiple contexts in electronic documents
US7069592B2 (en) 2000-04-26 2006-06-27 Ford Global Technologies, Llc Web-based document system
US7111168B2 (en) * 2000-05-01 2006-09-19 Digimarc Corporation Digital watermarking systems
US6834312B2 (en) 2000-05-02 2004-12-21 Cadopener.Com 11C Method and apparatus for delivery of data over a network
US6781711B1 (en) 2000-05-15 2004-08-24 International Business Machines Corporation Method and system for efficient transmittal and presentation of complex images
US9436667B2 (en) * 2000-05-19 2016-09-06 Renderx, Inc. Techniques for rendering media as layers
US7155672B1 (en) * 2000-05-23 2006-12-26 Spyglass, Inc. Method and system for dynamic font subsetting
JP2001344243A (ja) * 2000-05-31 2001-12-14 Fuji Xerox Co Ltd 文書データ送信装置、文書データ送受信システム及び文書データ送信方法
US9875492B2 (en) 2001-05-22 2018-01-23 Dennis J. Dupray Real estate transaction system
US10641861B2 (en) 2000-06-02 2020-05-05 Dennis J. Dupray Services and applications for a communications network
US10684350B2 (en) 2000-06-02 2020-06-16 Tracbeam Llc Services and applications for a communications network
US7743330B1 (en) 2000-06-19 2010-06-22 Comcast Ip Holdings I, Llc Method and apparatus for placing virtual objects
US7234108B1 (en) 2000-06-29 2007-06-19 Microsoft Corporation Ink thickness rendering for electronic annotations
EP1785890B1 (en) * 2000-07-20 2019-12-11 Digmarc Corporation Using embedded data with file sharing
US6778972B2 (en) 2000-08-10 2004-08-17 Gustavo S. Leonardos′ System and method for providing integrated management of electronic information
US8397163B1 (en) * 2000-08-14 2013-03-12 Deep Sran Device, method, and system for providing an electronic reading environment
US20020095663A1 (en) * 2000-08-31 2002-07-18 Rafael Joory Enabling an application access to setup information therefor
US8332553B2 (en) * 2000-09-21 2012-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for accessing a contacts database and telephone services
US6980204B1 (en) * 2000-09-21 2005-12-27 Jeffrey Charles Hawkins Charging and communication cable system for a mobile computer apparatus
US7584090B1 (en) 2000-11-06 2009-09-01 Verisign, Inc. Text creating and editing system and method with dynamic data loading
US6823360B2 (en) * 2000-12-18 2004-11-23 International Business Machines Corp. Cofetching in a command cache
US6741745B2 (en) 2000-12-18 2004-05-25 Xerox Corporation Method and apparatus for formatting OCR text
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
US6807606B2 (en) 2000-12-18 2004-10-19 International Business Machines Corp. Distributed execution coordination for web caching with dynamic content
US7702800B2 (en) 2000-12-18 2010-04-20 International Business Machines Corporation Detecting and handling affinity breaks in web applications
US6877025B2 (en) * 2000-12-18 2005-04-05 International Business Machines Corp. Integrated JSP and command cache for web applications with dynamic content
AU2002232817A1 (en) * 2000-12-21 2002-07-01 Digimarc Corporation Methods, apparatus and programs for generating and utilizing content signatures
US6965683B2 (en) * 2000-12-21 2005-11-15 Digimarc Corporation Routing networks for use with watermark systems
US8103877B2 (en) * 2000-12-21 2012-01-24 Digimarc Corporation Content identification and electronic tickets, coupons and credits
US7616971B2 (en) * 2000-12-29 2009-11-10 International Business Machines Corporation System and method for providing access to forms for displaying information on a wireless access device
US7142883B2 (en) * 2000-12-29 2006-11-28 International Business Machines Corporation System and method for providing search capabilities and storing functions on a wireless access device
US8112544B2 (en) * 2000-12-29 2012-02-07 International Business Machines Corporation System and method for providing customizable options on a wireless device
US20020087628A1 (en) * 2000-12-29 2002-07-04 Andrew Rouse System and method for providing wireless device access to e-mail applications
US20050159136A1 (en) * 2000-12-29 2005-07-21 Andrew Rouse System and method for providing wireless device access
US6983310B2 (en) * 2000-12-29 2006-01-03 International Business Machines Corporation System and method for providing search capabilties on a wireless device
TWI238637B (en) * 2001-01-10 2005-08-21 Ibm Method and system for processing of documents with electronic signatures
US20020095443A1 (en) * 2001-01-17 2002-07-18 The Beacon Journal Publishing Company Method for automated generation of interactive enhanced electronic newspaper
US7496767B2 (en) * 2001-01-19 2009-02-24 Xerox Corporation Secure content objects
JP3631680B2 (ja) * 2001-02-06 2005-03-23 株式会社ビーコンインフォメーションテクノロジー データ処理システム、データ処理方法及びコンピュータプログラム
JP2002236701A (ja) * 2001-02-09 2002-08-23 Nihon Keizai Shimbun Inc 段階的情報表示方法
US7277878B2 (en) * 2001-02-13 2007-10-02 Ariba, Inc. Variable length file header apparatus and system
US7546527B2 (en) * 2001-03-06 2009-06-09 International Business Machines Corporation Method and apparatus for repurposing formatted content
US20020188635A1 (en) * 2001-03-20 2002-12-12 Larson Stephen C. System and method for incorporation of print-ready advertisement in digital newspaper editions
FR2822560A1 (fr) * 2001-03-20 2002-09-27 Koninkl Philips Electronics Nv Procede de transfert d'une certaine version d'un objet
DE50204478D1 (de) * 2001-04-06 2006-02-16 Oce Printing Systems Gmbh Verfahren, system und computerprogramm zum erstellen eines elektronischen dokuments aus gerasterten bilddaten
US7197703B1 (en) * 2001-04-09 2007-03-27 Critical Technologies, Inc. System and methodology for the storage and manipulation of documents
US8762837B1 (en) * 2001-04-09 2014-06-24 Critical Technologies, Inc. System and methodology for the storage and manipulation of documents
US7134093B2 (en) * 2001-04-18 2006-11-07 International Business Machines Corporation Graphical user interface for direct control of display of data
WO2002095594A1 (en) * 2001-05-18 2002-11-28 Sharp Kabushiki Kaisha Content delivery system, content server, and content delivery method
US8082096B2 (en) 2001-05-22 2011-12-20 Tracbeam Llc Wireless location routing applications and architecture therefor
US8522127B2 (en) 2001-07-16 2013-08-27 Robert G. Adamson, III Allowing operating system access to non-standard fonts in a network document
US10810355B1 (en) 2001-07-16 2020-10-20 Clantech, Inc. Allowing operating system access to non-standard fonts in a network document
US20040205602A1 (en) * 2001-07-25 2004-10-14 Douglas Croeni Page layout design using geometric interference schema
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US6883138B2 (en) * 2001-08-08 2005-04-19 Xerox Corporation Methods and systems for generating enhanced thumbnails usable for document navigation
US6993726B2 (en) * 2001-08-08 2006-01-31 Xerox Corporation Methods and systems for document navigation using enhanced thumbnails
US7069506B2 (en) * 2001-08-08 2006-06-27 Xerox Corporation Methods and systems for generating enhanced thumbnails
US7337396B2 (en) * 2001-08-08 2008-02-26 Xerox Corporation Methods and systems for transitioning between thumbnails and documents based upon thumbnail appearance
JP2003162475A (ja) * 2001-08-15 2003-06-06 Square Co Ltd ドキュメント処理装置、ドキュメント表示方法、プログラム及び記録媒体
US7692667B2 (en) * 2001-08-17 2010-04-06 Palm, Inc. Handheld computer having moveable segments that are interactive with an integrated display
US20040205639A1 (en) * 2001-10-04 2004-10-14 International Business Machines Corporation Apparatus and method for printing multiple related web pages
US6801673B2 (en) * 2001-10-09 2004-10-05 Hewlett-Packard Development Company, L.P. Section extraction tool for PDF documents
US7376846B2 (en) * 2001-10-14 2008-05-20 Palm, Inc. Charging and communication cable system for a mobile computer apparatus
US7231208B2 (en) * 2001-10-17 2007-06-12 Palm, Inc. User interface-technique for managing an active call
US20030110234A1 (en) * 2001-11-08 2003-06-12 Lightsurf Technologies, Inc. System and methodology for delivering media to multiple disparate client devices based on their capabilities
US8635531B2 (en) * 2002-02-21 2014-01-21 Ricoh Company, Ltd. Techniques for displaying information stored in multiple multimedia documents
US7747655B2 (en) * 2001-11-19 2010-06-29 Ricoh Co. Ltd. Printable representations for time-based media
US7149957B2 (en) 2001-11-19 2006-12-12 Ricoh Company, Ltd. Techniques for retrieving multimedia information using a paper-based interface
US7703044B2 (en) * 2001-11-19 2010-04-20 Ricoh Company, Ltd. Techniques for generating a static representation for time-based media information
US8539344B2 (en) 2001-11-19 2013-09-17 Ricoh Company, Ltd. Paper-based interface for multimedia information stored by multiple multimedia documents
US7861169B2 (en) 2001-11-19 2010-12-28 Ricoh Co. Ltd. Multimedia print driver dialog interfaces
US7495795B2 (en) * 2002-02-21 2009-02-24 Ricoh Company, Ltd. Interface for printing multimedia information
US7788080B2 (en) * 2001-11-19 2010-08-31 Ricoh Company, Ltd. Paper interface for simulation environments
US7743347B2 (en) * 2001-11-19 2010-06-22 Ricoh Company, Ltd. Paper-based interface for specifying ranges
US8001052B2 (en) 2001-12-10 2011-08-16 Dunkeld Bryan C System and method for unique digital asset identification and transaction management
US20030110218A1 (en) * 2001-12-12 2003-06-12 Stanley Randy P. Local caching of images for on-line conferencing programs
US20030142128A1 (en) * 2002-01-30 2003-07-31 Benefitnation User interface for a document component management and publishing system
US20040205656A1 (en) * 2002-01-30 2004-10-14 Benefitnation Document rules data structure and method of document publication therefrom
US7035837B2 (en) * 2002-01-30 2006-04-25 Benefitnation Document component management and publishing system
KR100429893B1 (ko) * 2002-02-20 2004-05-03 이일용 웹에서의 주석을 이용한 다중페이지 전자 게시판 시스템
US20030187954A1 (en) * 2002-03-29 2003-10-02 Inventec Appliances Corp. Method and apparatus for downloading e-book via WAP
DE10215719A1 (de) * 2002-04-10 2003-10-30 Philips Intellectual Property Datenspeicher
EP1497754A1 (en) * 2002-04-19 2005-01-19 Computer Associates Think, Inc. System and method for navigating search results
US20040205511A1 (en) * 2002-05-09 2004-10-14 International Business Machines Corporation Method and apparatus for extending browser bookmarks
US8392499B2 (en) * 2002-05-16 2013-03-05 Hewlett-Packard Development Company, L.P. System and method for relating aborted client accesses of data to quality of service provided by a server in a client-server network
US7487508B2 (en) * 2002-05-16 2009-02-03 Hewlett-Packard Development Company, L.P. System and method for reconstructing client web page accesses from captured network packets
US7474298B2 (en) 2002-05-31 2009-01-06 Palm, Inc. Mobile device having an adjustable length to selectively expose a surface component
US7051040B2 (en) * 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
US7194469B1 (en) 2002-09-24 2007-03-20 Adobe Systems Incorporated Managing links in a collection of documents
US8356019B1 (en) 2002-12-11 2013-01-15 Altera Corporation Method and apparatus for utilizing patterns in data to reduce file size
US7385606B2 (en) * 2002-12-18 2008-06-10 Microsoft Corporation International font measurement system and method
US20040119714A1 (en) * 2002-12-18 2004-06-24 Microsoft Corporation International automatic font size system and method
US7271806B2 (en) 2002-12-18 2007-09-18 Microsoft Corporation International automatic line height system and method
JP4084225B2 (ja) * 2003-03-28 2008-04-30 富士通株式会社 サービス提供システム
US7509569B2 (en) 2003-03-31 2009-03-24 Ricoh Co., Ltd. Action stickers for nested collections
US7552381B2 (en) * 2003-03-31 2009-06-23 Ricoh Co., Ltd. Check boxes for identifying and processing stored documents
US7536638B2 (en) * 2003-03-31 2009-05-19 Ricoh Co., Ltd. Action stickers for identifying and processing stored documents
US7739583B2 (en) * 2003-03-31 2010-06-15 Ricoh Company, Ltd. Multimedia document sharing method and apparatus
US20070050696A1 (en) * 2003-03-31 2007-03-01 Piersol Kurt W Physical key for accessing a securely stored digital document
US7757162B2 (en) * 2003-03-31 2010-07-13 Ricoh Co. Ltd. Document collection manipulation
US7703002B2 (en) 2003-03-31 2010-04-20 Ricoh Company, Ltd. Method and apparatus for composing multimedia documents
US7269787B2 (en) * 2003-04-28 2007-09-11 International Business Machines Coporation Multi-document context aware annotation system
US7295852B1 (en) 2003-05-01 2007-11-13 Palm, Inc. Automated telephone conferencing method and system
US20030191681A1 (en) * 2003-05-06 2003-10-09 Gallion Kirk P. Method for managing a business process related to a document publishing project
US20050289461A1 (en) * 2003-05-23 2005-12-29 Manoel Amado System and method for digital content processing and distribution
US7865180B2 (en) * 2003-06-23 2011-01-04 Palm, Inc. Automated telephone conferencing method and system
US7275159B2 (en) * 2003-08-11 2007-09-25 Ricoh Company, Ltd. Multimedia output device having embedded encryption functionality
US9098475B2 (en) * 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US7860309B1 (en) 2003-09-30 2010-12-28 Verisign, Inc. Media publishing system with methodology for parameterized rendering of image regions of interest
US20050114361A1 (en) * 2003-11-26 2005-05-26 Brent Roberts Method and apparatus for integrating data repositories and frameworks
US7512658B2 (en) * 2004-02-26 2009-03-31 International Business Machines Corporation Providing a portion of an electronic mail message based upon a transfer rate, a message size, and a file format
US7596285B2 (en) * 2004-02-26 2009-09-29 International Business Machines Corporation Providing a portion of an electronic mail message at a reduced resolution
US20050193145A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Providing a portion of an electronic mail message based upon digital rights
US20050193069A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Providing a portion of an electronic mail message based upon a transfer rate and a message size
US8689101B2 (en) 2004-02-27 2014-04-01 Blackberry Limited Font data processing system and method
US20050193330A1 (en) * 2004-02-27 2005-09-01 Exit 33 Education, Inc. Methods and systems for eBook storage and presentation
ATE390669T1 (de) * 2004-02-27 2008-04-15 Research In Motion Ltd System und verfahren zur verarbeitung von schriftartdaten
US7802262B1 (en) 2004-03-05 2010-09-21 Adobe Systems Incorporated System and method for communicating state and title information between a browser and a rich internet application with browser forward and back button support
US7554544B2 (en) * 2004-03-16 2009-06-30 Microsoft Corporation Just-in-time user interface layout
US7779355B1 (en) 2004-03-30 2010-08-17 Ricoh Company, Ltd. Techniques for using paper documents as media templates
US7716597B2 (en) * 2004-03-31 2010-05-11 International Business Machines Corporation Dynamic materialization of disappearing entities
JP4143566B2 (ja) * 2004-04-16 2008-09-03 キヤノン株式会社 文書処理装置及びその制御方法、並びにコンピュータプログラム
US7580867B2 (en) * 2004-05-04 2009-08-25 Paul Nykamp Methods for interactively displaying product information and for collaborative product design
US9058388B2 (en) 2004-06-22 2015-06-16 Digimarc Corporation Internet and database searching with handheld devices
US7340316B2 (en) * 2004-06-28 2008-03-04 Hanger Orthopedic Group, Inc. System and method for producing medical devices
TW200622893A (en) * 2004-07-09 2006-07-01 Nokia Corp Cute user interface
US20060020904A1 (en) * 2004-07-09 2006-01-26 Antti Aaltonen Stripe user interface
JP4546187B2 (ja) * 2004-08-06 2010-09-15 キヤノン株式会社 画像処理装置およびその制御方法
US7526726B1 (en) * 2004-08-25 2009-04-28 Adobe Systems Incorporated System and method for generating presentations
US20070118794A1 (en) * 2004-09-08 2007-05-24 Josef Hollander Shared annotation system and method
GB2418280A (en) * 2004-09-18 2006-03-22 Hewlett Packard Development Co Document creation system
US20060075327A1 (en) 2004-09-29 2006-04-06 Joe Sriver User interface for presentation of a document
KR100478397B1 (ko) * 2004-11-24 2005-03-24 엔에이치엔(주) 폰트 서비스 제공 방법 및 상기 방법을 수행하는 시스템
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US8131647B2 (en) * 2005-01-19 2012-03-06 Amazon Technologies, Inc. Method and system for providing annotations of a digital work
EP1686454B1 (en) 2005-01-28 2018-12-26 Kyocera Corporation Display apparatus
US7408556B2 (en) * 2005-01-31 2008-08-05 Microsoft Corporation System and method for using device dependent fonts in a graphical display interface
US7840564B2 (en) 2005-02-16 2010-11-23 Ebrary System and method for automatic anthology creation using document aspects
US7620886B1 (en) * 2005-03-01 2009-11-17 Adobe Systems, Incorporated Method and apparatus for ordering objects in an electronic document
US9137417B2 (en) 2005-03-24 2015-09-15 Kofax, Inc. Systems and methods for processing video data
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
US9384171B2 (en) 2005-05-16 2016-07-05 Adobe Systems Incorporated Object resizing with content reflow
US7854013B2 (en) * 2005-06-03 2010-12-14 Working Solutions International, Inc. Method for electronic data and signature collection, and system
US7433869B2 (en) * 2005-07-01 2008-10-07 Ebrary, Inc. Method and apparatus for document clustering and document sketching
JP4905899B2 (ja) * 2005-07-28 2012-03-28 シャープ株式会社 情報処理システム、情報処理プログラムおよび可読記録媒体
JP4724517B2 (ja) * 2005-09-29 2011-07-13 キヤノン株式会社 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体
JP4808220B2 (ja) * 2005-09-30 2011-11-02 シャープ株式会社 文字パターン生成装置、文字パターン生成プログラムおよび可読記録媒体
KR100661173B1 (ko) * 2005-10-18 2006-12-26 삼성전자주식회사 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법
US20070094267A1 (en) * 2005-10-20 2007-04-26 Glogood Inc. Method and system for website navigation
US20070103488A1 (en) * 2005-11-04 2007-05-10 Microsoft Corporation Substituting pattern fills
US8001458B1 (en) * 2005-11-14 2011-08-16 Adobe Systems Incorporated System and method for communicating state and title information between a browser and a rich Internet application
US7716570B2 (en) * 2005-12-12 2010-05-11 Microsoft Corporation Interfaces for creation and access of extensible markup language paper specification documents
US8255640B2 (en) * 2006-01-03 2012-08-28 Apple Inc. Media device with intelligent cache utilization
US8301997B2 (en) * 2006-01-10 2012-10-30 International Business Machines Corporation System and method for serving multiple data objects and formatting functions in a single request
US7467163B1 (en) 2006-02-10 2008-12-16 Unisys Corporation System and method to manipulate large objects on enterprise server data management system
US7610551B2 (en) * 2006-02-24 2009-10-27 Verisign, Inc. System and method for managing distribution of multi-formatted content
US8381121B2 (en) * 2006-03-01 2013-02-19 Microsoft Corporation Controlling scroll speed to improve readability
US20070224643A1 (en) * 2006-03-09 2007-09-27 Mcpherson Paul H Methods and compositions for the diagnosis of diseases of the aorta
US7433548B2 (en) * 2006-03-28 2008-10-07 Amazon Technologies, Inc. Efficient processing of non-reflow content in a digital image
US7788580B1 (en) 2006-03-28 2010-08-31 Amazon Technologies, Inc. Processing digital images including headers and footers into reflow content
US8023738B1 (en) 2006-03-28 2011-09-20 Amazon Technologies, Inc. Generating reflow files from digital images for rendering on various sized displays
US8352449B1 (en) 2006-03-29 2013-01-08 Amazon Technologies, Inc. Reader device content indexing
US7966557B2 (en) * 2006-03-29 2011-06-21 Amazon Technologies, Inc. Generating image-based reflowable files for rendering on various sized displays
US7617206B1 (en) 2006-04-06 2009-11-10 Unisys Corporation Method for analyzing status of specialized tank files which store and handle large objects
US7478332B2 (en) * 2006-05-24 2009-01-13 170 Systems Inc. System for and method of providing a user interface for a computer-based software application
US7627818B2 (en) * 2006-05-31 2009-12-01 International Business Machines Corporation Displaying HTML text on a non-graphical console
US8086946B2 (en) 2006-09-05 2011-12-27 Adobe Systems Incorporated Methods and apparatus for optimizing responsiveness of portable documents
JP2008070831A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd 文書表示装置及び文書表示プログラム
US7715635B1 (en) 2006-09-28 2010-05-11 Amazon Technologies, Inc. Identifying similarly formed paragraphs in scanned images
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
US7810026B1 (en) * 2006-09-29 2010-10-05 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
US7865817B2 (en) 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
US8024400B2 (en) 2007-09-26 2011-09-20 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US7751807B2 (en) 2007-02-12 2010-07-06 Oomble, Inc. Method and system for a hosted mobile management service architecture
US20080235597A1 (en) * 2007-03-19 2008-09-25 Mor Schlesinger Systems and methods of data integration for creating custom books
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US7716224B2 (en) 2007-03-29 2010-05-11 Amazon Technologies, Inc. Search and indexing on a user device
US20080250023A1 (en) * 2007-04-03 2008-10-09 Baker Peter N System and method for bookmarking content with user feedback
US9021352B2 (en) * 2007-05-17 2015-04-28 Adobe Systems Incorporated Methods and apparatus for predictive document rendering
US8990215B1 (en) 2007-05-21 2015-03-24 Amazon Technologies, Inc. Obtaining and verifying search indices
US9286309B2 (en) * 2007-05-23 2016-03-15 Adobe Systems Incorporated Representation of last viewed or last modified portion of a document
US8271470B2 (en) * 2007-06-09 2012-09-18 Apple Inc. Auto-activation of fonts
US20090031081A1 (en) * 2007-07-25 2009-01-29 International Business Machines Corporation System and module for merging electronic and printed data
US9086791B2 (en) * 2007-08-22 2015-07-21 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for providing content-aware scrolling
US8370751B2 (en) * 2007-08-31 2013-02-05 Sap Ag User interface customization system
US8126519B2 (en) * 2007-08-31 2012-02-28 Hewlett-Packard Development Company, L.P. Housing for mobile computing device having construction to slide and pivot into multiple positions
US7975222B1 (en) 2007-09-11 2011-07-05 E-Plan, Inc. System and method for dynamic linking between graphic documents and comment data bases
US10657314B2 (en) 2007-09-11 2020-05-19 E-Plan, Inc. System and method for dynamic linking between graphic documents and comment data bases
CN100527122C (zh) * 2007-10-24 2009-08-12 北大方正集团有限公司 可移植文档格式文件的合并方法及装置
US8150482B2 (en) 2008-01-08 2012-04-03 Hewlett-Packard Development Company, L.P. Mobile computing device with moveable housing segments
US8233948B2 (en) * 2007-12-11 2012-07-31 Hewlett-Packard Development Company, L.P. Slider assembly for a housing of a mobile computing device
US8782516B1 (en) 2007-12-21 2014-07-15 Amazon Technologies, Inc. Content style detection
US8200298B2 (en) 2008-01-08 2012-06-12 Hewlett-Packard Development Company, L.P. Keypad housing configuration for a mobile computing device
US9235559B2 (en) * 2008-04-02 2016-01-12 Microsoft Technology Licensing, Llc Progressive page loading
US8572480B1 (en) 2008-05-30 2013-10-29 Amazon Technologies, Inc. Editing the sequential flow of a page
US8423889B1 (en) 2008-06-05 2013-04-16 Amazon Technologies, Inc. Device specific presentation control for electronic book reader devices
US9229911B1 (en) 2008-09-30 2016-01-05 Amazon Technologies, Inc. Detecting continuation of flow of a page
US20100180011A1 (en) * 2009-01-12 2010-07-15 Microsoft Corporation Url based retrieval of portions of media content
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
US8378979B2 (en) 2009-01-27 2013-02-19 Amazon Technologies, Inc. Electronic device with haptic feedback
US8774516B2 (en) 2009-02-10 2014-07-08 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US8879846B2 (en) 2009-02-10 2014-11-04 Kofax, Inc. Systems, methods and computer program products for processing financial documents
US9349046B2 (en) 2009-02-10 2016-05-24 Kofax, Inc. Smart optical input/output (I/O) extension for context-dependent workflows
US8958605B2 (en) 2009-02-10 2015-02-17 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
US8856647B2 (en) * 2009-02-20 2014-10-07 Microsoft Corporation Font handling for viewing documents on the web
US9083932B2 (en) 2009-03-25 2015-07-14 Eloy Technology, Llc Method and system for providing information from a program guide
US8832584B1 (en) 2009-03-31 2014-09-09 Amazon Technologies, Inc. Questions on highlighted passages
US20110072036A1 (en) * 2009-09-23 2011-03-24 Microsoft Corporation Page-based content storage system
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
US8769405B2 (en) * 2009-10-16 2014-07-01 Celartem, Inc. Reduced glyph font files
US8769050B2 (en) * 2009-10-16 2014-07-01 Celartern, Inc. Serving font files in varying formats based on user agent type
US8411305B2 (en) * 2009-10-27 2013-04-02 Hewlett-Packard Development Company, L.P. System and method for identifying a record template within a file having reused objects
US9445158B2 (en) 2009-11-06 2016-09-13 Eloy Technology, Llc Distributed aggregated content guide for collaborative playback session
US8922582B2 (en) * 2009-11-16 2014-12-30 Martin J. Murrett Text rendering and display using composite bitmap images
CN102081594B (zh) * 2009-11-27 2014-02-05 株式会社理光 从可移植电子文档中提取字符外接矩形的设备和方法
JP5361697B2 (ja) * 2009-12-21 2013-12-04 キヤノン株式会社 表示制御装置および表示制御方法
US20110161842A1 (en) * 2009-12-31 2011-06-30 Tim Prebble Systems and methods for the rendering of printable data
US8499236B1 (en) 2010-01-21 2013-07-30 Amazon Technologies, Inc. Systems and methods for presenting reflowable content on a display
US20110214088A1 (en) * 2010-02-26 2011-09-01 Research In Motion Limited Automatic scrolling of electronic messages
EP2367118A1 (en) 2010-03-15 2011-09-21 GMC Software AG Method and devices for generating two-dimensional visual objects
ES2907203T3 (es) 2010-04-13 2022-04-22 Ge Video Compression Llc Codificación de vídeo que usa subdivisiones multiárbol de imágenes
JP5718453B2 (ja) 2010-04-13 2015-05-13 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 復号化方法
CN106454370B (zh) * 2010-04-13 2019-11-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
EP2381397A1 (en) * 2010-04-26 2011-10-26 Siemens Aktiengesellschaft Electronic work instruction designed for ISA-95 standard
US20110276872A1 (en) * 2010-05-06 2011-11-10 Xerox Corporation Dynamic font replacement
US20110295879A1 (en) * 2010-05-27 2011-12-01 Neuone, Llc Systems and methods for document management
US8555161B2 (en) 2010-05-27 2013-10-08 Microsoft Corporation Concurrent editing of a document by multiple clients
US9652440B2 (en) * 2010-05-27 2017-05-16 Microsoft Technology Licensing, Llc Concurrent utilization of a document by multiple threads
US9538493B2 (en) 2010-08-23 2017-01-03 Finetrak, Llc Locating a mobile station and applications therefor
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
CN101976169B (zh) * 2010-10-22 2012-11-21 鸿富锦精密工业(深圳)有限公司 电子阅读装置及其翻页的方法
US10073820B2 (en) * 2010-12-31 2018-09-11 Thomson Reuters Global Resources Unlimited Company Systems, methods, and interfaces for pagination and display on an access device
US10007402B2 (en) * 2011-03-09 2018-06-26 Apple Inc. System and method for displaying content
US20130007602A1 (en) 2011-06-29 2013-01-03 Apple Inc. Fixed layout electronic publications
CN102289511B (zh) * 2011-08-31 2013-04-03 深圳市茁壮网络股份有限公司 一种字库文件下载方法、用户端及服务器
US8884970B2 (en) 2011-09-09 2014-11-11 Microsoft Corporation Aligning script animations with display refresh
US9613003B1 (en) 2011-09-23 2017-04-04 Amazon Technologies, Inc. Identifying topics in a digital work
US9449526B1 (en) 2011-09-23 2016-09-20 Amazon Technologies, Inc. Generating a game related to a digital work
US9639518B1 (en) 2011-09-23 2017-05-02 Amazon Technologies, Inc. Identifying entities in a digital work
US9471547B1 (en) * 2011-09-23 2016-10-18 Amazon Technologies, Inc. Navigating supplemental information for a digital work
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works
US9165188B2 (en) 2012-01-12 2015-10-20 Kofax, Inc. Systems and methods for mobile image capture and processing
US9058580B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9058515B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9483794B2 (en) 2012-01-12 2016-11-01 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
CN103488616B (zh) * 2012-06-11 2016-04-06 北大方正集团有限公司 一种内嵌字体处理方法与装置
US9135602B2 (en) 2012-07-25 2015-09-15 E-Plan, Inc. Management of building plan documents utilizing comments and a correction list
WO2014107809A1 (en) * 2013-01-11 2014-07-17 La Presse, Ltée Device, method and system for displaying digital editions
CN105976830B (zh) 2013-01-11 2019-09-20 华为技术有限公司 音频信号编码和解码方法、音频信号编码和解码装置
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
JP2016517587A (ja) 2013-03-13 2016-06-16 コファックス, インコーポレイテッド モバイル装置を用いて取込まれたデジタル画像におけるオブジェクトの分類
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
DE202014011407U1 (de) 2013-05-03 2020-04-20 Kofax, Inc. Systeme zum Erkennen und Klassifizieren von Objekten in durch Mobilgeräte aufgenommenen Videos
US9547628B2 (en) * 2013-10-31 2017-01-17 Adobe Systems Incorporated Method and apparatus for improving text legibility by automatically adjusting zoom level based on preferred font characteristics including height, weight, and condensation
JP2016538783A (ja) 2013-11-15 2016-12-08 コファックス, インコーポレイテッド モバイル映像データを用いて長尺文書の合成画像を生成するためのシステムおよび方法
JP5974024B2 (ja) * 2014-01-18 2016-08-23 株式会社モリサワ フォント配信システム、及びフォント配信方法
US10536523B2 (en) * 2014-05-11 2020-01-14 Microsoft Technology Licensing, Llc File service using a shared file access-rest interface
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US9792024B2 (en) 2015-08-17 2017-10-17 E-Plan, Inc. Systems and methods for management and processing of electronic documents using video annotations
US10897490B2 (en) 2015-08-17 2021-01-19 E-Plan, Inc. Systems and methods for augmenting electronic content
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US10372821B2 (en) * 2017-03-17 2019-08-06 Adobe Inc. Identification of reading order text segments with a probabilistic language model
US10713519B2 (en) 2017-06-22 2020-07-14 Adobe Inc. Automated workflows for identification of reading order from text segments using probabilistic language models
US20190179499A1 (en) * 2017-10-20 2019-06-13 Qurika Inc. Systems and methods for providing a digital content reader and collection display application implementing 3d graphical user interfaces and interactions
US11062176B2 (en) 2017-11-30 2021-07-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach
JP6996373B2 (ja) * 2018-03-19 2022-01-17 株式会社リコー 情報処理装置、画像形成装置、システム及びプログラム
US11087188B2 (en) * 2019-09-30 2021-08-10 Kyocera Document Solutions Inc. Smart page decoding system including linearization for viewing and printing
US11076023B1 (en) * 2020-01-29 2021-07-27 Salesforce.Com, Inc. Critical path estimation for accelerated and optimal loading of web pages
CN112131183A (zh) * 2020-09-07 2020-12-25 百望股份有限公司 Ofd电子文件的线性化存取方法
US11030387B1 (en) 2020-11-16 2021-06-08 Issuu, Inc. Device dependent rendering of PDF content including multiple articles and a table of contents
US11416671B2 (en) * 2020-11-16 2022-08-16 Issuu, Inc. Device dependent rendering of PDF content
AU2021203578A1 (en) * 2021-06-01 2022-12-15 Canva Pty Ltd Systems and methods for converting embedded font text data
US20240045561A1 (en) * 2022-08-04 2024-02-08 Micro Focus Llc Using mouseover to scan a graphical user interface to improve accuracy of graphical object recognition

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4603330A (en) * 1982-10-01 1986-07-29 High Technology Solutions, Inc. Font display and text editing system with character overlay feature
US4648061A (en) * 1982-11-09 1987-03-03 Machines Corporation, A Corporation Of New York Electronic document distribution network with dynamic document interchange protocol generation
US4532588A (en) * 1982-11-09 1985-07-30 International Business Machines Corporation Electronic document distribution network with uniform data stream
US4594674A (en) * 1983-02-18 1986-06-10 International Business Machines Corporation Generating and storing electronic fonts
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
DE3504937C2 (de) * 1984-02-14 1994-04-14 Canon Kk Elektronische Einrichtung mit einer Druckvorrichtung
US4965558A (en) * 1987-07-15 1990-10-23 Interand Corporation Method and apparatus for image retrieval
JPH01166127A (ja) * 1987-12-23 1989-06-30 Hitachi Ltd 画像表示方式
JPH01195568A (ja) * 1988-01-29 1989-08-07 Hitachi Ltd 電子化文書編集制御方式
JP2783558B2 (ja) * 1988-09-30 1998-08-06 株式会社東芝 要約生成方法および要約生成装置
US5408655A (en) * 1989-02-27 1995-04-18 Apple Computer, Inc. User interface system and method for traversing a database
DE68926446T2 (de) * 1989-03-14 1996-12-05 Ibm Elektronisches System zum Genehmigen von Dokumenten
US5146552A (en) * 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
EP0451384B1 (en) * 1990-04-10 1997-09-24 International Business Machines Corporation Hypertext data processing system and method
CA2036859C (en) * 1990-04-30 1994-04-05 Eric M. Hesse System and method for editing a structured document to modify emphasis characteristics
US5276793A (en) * 1990-05-14 1994-01-04 International Business Machines Corporation System and method for editing a structured document to preserve the intended appearance of document elements
US5185818A (en) * 1991-06-05 1993-02-09 Adobe Systems Incorporated Method of substituting fonts and displaying characters
CA2048039A1 (en) * 1991-07-19 1993-01-20 Steven Derose Data processing system and method for generating a representation for and random access rendering of electronic documents
US5404436A (en) * 1991-11-27 1995-04-04 Digital Equipment Corporation Computer method and apparatus for converting compressed characters for display in full size
US5446891A (en) * 1992-02-26 1995-08-29 International Business Machines Corporation System for adjusting hypertext links with weighed user goals and activities
JP3210102B2 (ja) * 1992-11-17 2001-09-17 松下電器産業株式会社 電子化文書ファイリング装置及びファイリング文書検索方法
JPH06337896A (ja) * 1993-03-31 1994-12-06 Matsushita Electric Ind Co Ltd 電子書籍表示検索装置及び電子書籍表示検索方法
US5418549A (en) * 1993-06-14 1995-05-23 Motorola, Inc. Resolution compensating scroll bar valuator
CA2125608A1 (en) * 1993-06-30 1994-12-31 George M. Moore Method and system for providing substitute computer fonts
US5499330A (en) * 1993-09-17 1996-03-12 Digital Equipment Corp. Document display system for organizing and displaying documents as screen objects organized along strand paths
US5511160A (en) * 1993-09-30 1996-04-23 Hewlett-Packard Company Information retrieval device for displaying and directly refreshing the display of a document
US5623681A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. Method and apparatus for synchronizing, displaying and manipulating text and image documents
US5623679A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. System and method for creating and manipulating notes each containing multiple sub-notes, and linking the sub-notes to portions of data objects
US6006013A (en) * 1994-05-18 1999-12-21 Xerox Corporation Object optimized printing system and method
JPH0830620A (ja) * 1994-07-19 1996-02-02 Fuji Xerox Co Ltd 構造検索装置
US6181837B1 (en) * 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
US5689585A (en) * 1995-04-28 1997-11-18 Xerox Corporation Method for aligning a text image to a transcription of the image
US5737619A (en) * 1995-10-19 1998-04-07 Judson; David Hugh World wide web browsing with content delivery over an idle connection and interstitial content display
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014081049A1 (ko) * 2012-11-20 2014-05-30 모글루(주) 전자문서 리더 및 그 제어 방법

Also Published As

Publication number Publication date
DE69637125D1 (de) 2007-07-19
DE69637125T2 (de) 2008-01-24
US6073148A (en) 2000-06-06
US5819301A (en) 1998-10-06
WO1997012328A1 (en) 1997-04-03
EP0870246B1 (en) 2007-06-06
EP0870246A1 (en) 1998-10-14
CA2233023A1 (en) 1997-04-03
EP0870246A4 (en) 2004-08-18
JP2000500887A (ja) 2000-01-25
US5860074A (en) 1999-01-12

Similar Documents

Publication Publication Date Title
JP2006114012A (ja) 電子文書への最適アクセス
US5737599A (en) Method and apparatus for downloading multi-page electronic documents with hint information
US5781785A (en) Method and apparatus for providing an optimized document file of multiple pages
US5781714A (en) Apparatus and methods for creating and using portable fonts
US6714199B1 (en) Method and apparatus for typographic glyph construction including a glyph server
AU719368B2 (en) Font sharing system and method, and recording medium storing program for executing font sharing method
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
US7143109B2 (en) Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
JP4290011B2 (ja) ビューワ装置及びその制御方法、プログラム
US7617449B2 (en) Method and system for mapping content between a starting template and a target template
US20190073342A1 (en) Presentation of electronic information
JPH10124413A (ja) 埋め込みウェブオブジェクトの優先順位づけダウンローディングの方法と装置
US20040041818A1 (en) Design system for website text graphics
KR980010818A (ko) 제 1 및 제 2 html 문서 생성 방법, 시스템 및 컴퓨터 프로그램 제품
JP2009510650A (ja) 動的に集約された文書のための調和構成を備えたマルチフォームデザイン
JPH11232267A (ja) 頁付けした文書内の頁付けしていないハイパーテキストの捕獲
JPH077408B2 (ja) 強調特性変更方法及びシステム
EP0384986A2 (en) Method for displaying online information
JP4542033B2 (ja) 文書コンテンツの複数のレンディションを提供するためのシステムおよび方法
US20060095838A1 (en) Object-oriented processing of tab text
JP5857281B2 (ja) レイアウト処理装置、レイアウト処理方法、およびプログラム
JPH08241306A (ja) 文書処理装置
Borgo et al. GKS-94 to SVG: Some Reflections on the Evolution of Standards for 2D Graphics

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070612

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070712

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080226

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080321