JP3061765B2 - コンピュータベースの文書処理方法 - Google Patents

コンピュータベースの文書処理方法

Info

Publication number
JP3061765B2
JP3061765B2 JP9143504A JP14350497A JP3061765B2 JP 3061765 B2 JP3061765 B2 JP 3061765B2 JP 9143504 A JP9143504 A JP 9143504A JP 14350497 A JP14350497 A JP 14350497A JP 3061765 B2 JP3061765 B2 JP 3061765B2
Authority
JP
Japan
Prior art keywords
resolution
representation
images
document
image
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.)
Expired - Fee Related
Application number
JP9143504A
Other languages
English (en)
Other versions
JPH1097397A (ja
Inventor
ピー.ヒュッテンロッヒャー ダニエル
ジェイ.ラックリッジ ウィリアム
スィーリー ブラウン ジョン
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.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/652,864 external-priority patent/US5884014A/en
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH1097397A publication Critical patent/JPH1097397A/ja
Application granted granted Critical
Publication of JP3061765B2 publication Critical patent/JP3061765B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Document Processing Apparatus (AREA)
  • Computer And Data Communications (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】本願は、共に譲渡され、かつ少なくとも一
人の共通の発明者を有する米国特許出願番号08/65
2,864(1996年5月23日出願)の一部継続出
願である。
【0002】
【発明の属する技術分野】本発明は、プリント可能か又
は表示可能な文書ラスタ画像へのレンダリングに好適な
構造化文書表現に関する。本発明は更に、データ圧縮技
術に関する。
【0003】
【従来の技術】構造化文書表現は、単なるピクセルのア
レイよりも高度で抽象的なレベルで編成される文書のデ
ジタル表現を提供する。
【0004】公知の構造化文書表現技術は、文書のレン
ダリングが可能な速度と、文書の表現が可能な表現性
(expressiveness) 又は精巧さ(subtlety) との間にト
レードオフを有する。これは、図1(従来技術)におい
て概略的に示されている。連続体1に沿って左から右に
ゆくにつれ表現の表現性は上昇するが、レンダリング速
度は低下する。従って、純粋なテキスト表現であるAS
CII(American Standard Code for Information Int
erchange)は迅速にレンダリングをするが、フォーマッ
ティング情報又は文書構造に関する他の情報に乏しく、
これは図1の左に示されている。PostScript
(商標名、アドビーシステムズ社(AdobeSystems, In
c.)、カリフォルニア州マウンテンビュー)及びInt
erpress(ゼロックスコーポレーション(Xerox
Corporation)、コネチカット州スタンフォード)などの
ページ記述言語(PDLs)は文書構造に関する情報を
大量に含むが、レンダリングをするためには大幅により
多くの時間を必要とし、これは連続体1の右に示されて
いる。
【0005】連続体1は、程度が上昇してゆく文書構造
を有する文書表現の1つとして見ることが可能である。 ・ASCIIなどの純粋なテキスト表現はテキスト文書
の文字のみを有し、フォント、レイアウト又は他のペー
ジ記述情報に関する情報をもたず、グラフィック情報又
はテキスト以外の他の情報に関してはなおさらである。 ・インターネットのワールドワイドウェブ(World Wide
Web) 用の文書を表すために使用されるHTML(Hype
rText Markup Language)は、埋め込みグラフィック、画
像、オーディオ及びビデオレコーディング、及びハイパ
ーテキストリンキング能力をサポートするという点では
ASCIIよりも多少柔軟性がある。しかし、HTML
もフォント及びレイアウト(即ち、実際の文書の外観)
情報に乏しい。異なるウェブクライアント(「ブラウ
ザ」)プログラム又は異なるコンピュータによって、異
なってはいるが同様に「正確な」方法でHTML文書を
レンダリングする(表示可能又はプリント可能な出力に
変換する)可能性がある。 ・PostScript及びInterpressなど
のページ記述言語は、ページレイアウト、グラフィック
ス及び記号形式で表現される他の文書属性の任意的な複
合構造を許容する全機能プログラミング言語である。 ・連続体1の中央にはPCL5(ヒューレット−パッカ
ード社、カリフォルニア州パロアルト)などのプリンタ
制御言語があり、これは曲線及び文字のドローイングの
ための基本要素を含んでいる。 ・連続体1の中央にあるが多少PDL寄りであるのは、
クロスプラットホーム文書交換フォーマットである。こ
れは、ポータブルドキュメントフォーマット(Portable
Document Format、アドビーシステムズ社) 及びコモン
グラウンド(Common Ground 、コモングラウンドソフト
ウェア社(Common Ground Software)、カリフォルニア州
ベルモント)を含む。ポータブルドキュメントフォーマ
ット、即ちPDFは、Adobe Acrobat(商
品名)と呼ばれるソフトウェアプログラムと共に使用す
ることができる。PDFは、あらゆる所与の基本要素
(利用可能な基本要素は「ドロー(draw)」、「フィル(f
ill)」、「クリップ」、「テキスト」などを含む)によ
って生じることが可能なドローイング動作及びレンダリ
ング動作の豊富なセットを含むが、例えば基本要素の構
成仕様を許容するプログラミング言語構造を含まない。
【0006】公知の構造化文書表現技術は、レンダリン
グエンジン(例えば、ディスプレイドライバソフトウェ
ア、プリンタPDL分解ソフトウェア又は構造化文書表
現からピクセル画像を生成する他のソフトウェア又はハ
ードウェア)が文字フォントのセットへのアクセスを有
することを想定している。レンダリングエンジンは、既
に記憶されていて使用可能である必要なフォントを有す
るものと推定される。通常、文書自体はフォント情報を
供給しない。レンダリングエンジンが文書をレンダリン
グするように要求され、そのレンダリングエンジンがそ
の文書に対して利用可能である必要なフォントをもたな
い場合、レンダリングエンジンは信頼性をもって文書を
レンダリングすることができないであろう。
【0007】PDLに対するフォントの基本的な重要性
は、例えば、PostScript LanguageReference Manual (2
d ed. 1990)(以下、PostScript Manual とする) とい
うアドビーシステムズ社のフォントに関するより進んだ
検討によって示されている。
【0008】フォントに関する基本的な概念は、ラベリ
ング、即ち特定の文字又は記号に与えられる意味論的有
意性の概念である。フォントの各文字又は各記号は、固
有の関連した意味ラベルを有する。ラベリングは、フォ
ントの置換を可能にする。同一の意味ラベルを有する異
なるフォントの文字を、互いに置換することができる。
例えば、図2(従来技術)の各文字21、22、23、
24、25、26は、同一の意味論的有意性を有する。
各々は、英語に一般的に使用されるアルファベットの第
5文字である「E」の大文字を表している。しかし、各
々は異なるフォントで表されている。
【0009】PDL文書記述を入力として受け入れる公
知のプリンタが、図3(従来技術)に概略的に示されて
いる。プリンタ30はPDL記述35を受け入れ、これ
はレンダリングユニット31によって解釈され、即ち分
解され、文書のページのラスタ画像32を生成する。次
に、ラスタ画像32は画像出力ターミナル(IOT)に
送られ、これは画像32をペーパーシート上の可視のマ
ークに変換する。マークはプリント出力として出力さ
れ、人間のユーザによって使用される。都合の悪いこと
に、レンダリングユニット31が入力PDL記述を分解
できる速度は、IOT33がペーパーシートにマーキン
グしてそれを出力36として施すことができる速度と通
常合わせることができない。これは、1つにはPDL記
述の分解結果が明確ではないからである。前述のよう
に、PDL記述35などのPDL記述は特定の画像又は
画像のセットに対応せず、異なる方法でレンダリングさ
れる可能性がある。従って、レンダリングユニット31
は、プリンタ30の全体的なスループットを制限する障
害となる。
【0010】データ圧縮技術は、文書のピクセル画像の
データアレイなど大きなデータのセットをよりコンパク
トな表現に変換し、この表現から初めの大きなデータセ
ットを完全に又は不完全に回復することができる。回復
が完全である場合、この圧縮技術はロスレス(損失のな
い)と呼ばれ、回復が不完全である場合、この圧縮技術
はロシー(損失のある)と呼ばれる。
【0011】ロスレス画像圧縮に好適な公知のエンコー
ディング(符号化)技術は、例えばCCITTグループ
−4エンコーディング及びJBIGエンコーディングを
含む。ロシー画像圧縮に好適な公知のエンコーディング
技術は、例えばJPEGエンコーディング及び米国特許
第5,303,313号に開示されるような記号ベース
の圧縮技術を含む。
【0012】ロシー技術と比較すると、ロスレス圧縮技
術はより大きな忠実度を提供するが、より低い圧縮比及
びより遅い圧縮解除速度を提供する。
【0013】
【発明が解決しようとする課題】本発明は、表現性が高
いと共にレンダリングが速く安価である構造化文書表現
を提供する。
【0014】
【課題を解決するための手段】本発明に従って、今まで
はロシー画像圧縮のみに使用されていた圧縮スキームで
ある記号ベースのトークンマッチングを使用して、PD
L表現又は他の構造化文書表現から生成されたオリジナ
ル文書画像のロスレス圧縮を達成する。テキスト及びグ
ラフィックスを含む文書はそのオリジナル構造化表現か
ら(それ自体が構造化表現である)トークンベース表現
にコンパイルされ、トークンベース表現はレンダリング
されるピクセル画像の生成に使用される。トークンベー
ス表現は高い圧縮比を得ることができ、フォントのセッ
トを参照せずに迅速かつ忠実にレンダリングすることが
できる。
【0015】本発明の請求項1の態様は、コンピュータ
ベースの文書処理方法であって、文書の第1構造化表現
(以下「開始表現」とする)を含むデジタル情報の第1
セットをプロセッサに提供するステップを含み、前記開
始表現は解像度に依存しない表現であり、複数の画像の
集まりが前記開始表現から取得可能であり、このような
各取得可能な画像の集まりは少なくとも1つの画像を含
み、前記各集まりにおける各画像は前記文書の少なくと
も一部分の画像であり、前記各集まりにおける各画像は
固有解像度を有し、プロセッサを用いて、前記文書の第
2構造化表現(以下「低解像度表現」とする)を含むデ
ジタル情報の第2セットを前記デジタル情報の第1セッ
トから生成するステップを含み、前記低解像度表現は特
定の画像の集まり(以下「低解像度画像の集まり」とす
る)のロスレス表現であり、前記低解像度画像の集まり
は前記開始表現から取得可能な前記複数の画像の集まり
のうちの1つであり、前記低解像度画像の集まりにおけ
る各画像は第1の固有解像度(以下「低解像度」とす
る)を有し、前記低解像度表現は複数のトークン(以下
「低解像度トークン」とする)及び複数の位置を含み、
前記デジタル情報の第2セットの生成は前記開始表現か
ら前記低解像度トークンを抽出するステップを含み、各
低解像度トークンは前記低解像度画像の集まりのサブ画
像を表すピクセルデータのセットを含み、前記開始表現
から前記低解像度表現の複数の位置を決定するステップ
を含み、前記低解像度表現の各位置は前記低解像度画像
の集まりにおけるサブ画像(以下「低解像度サブ画像」
とする)の位置であり、前記低解像度サブ画像は前記低
解像度トークンのうちの1つからのサブ画像のうちの1
つであり、前記低解像度サブ画像のうちの少なくとも1
つは複数のピクセルを有すると共に前記画像の集まりに
おいて1つよりも多い位置で生じ、プロセッサを用い
て、文書の第3構造化表現(以下「高解像度表現」とす
る)を含むデジタル情報の第3セットを前記デジタル情
報の第1セットから生成するステップを含み、前記高解
像度表現は特定の画像の集まり(以下「高解像度画像の
集まり」とする)のロスレス表現であり、前記高解像度
画像の集まりは前記開始表現から取得可能な複数の画像
の集まりのうちの1つであり、前記高解像度画像の集ま
りにおける各画像は第2の固有解像度(以下「高解像
度」とする)を有し、前記高解像度は前記低解像度より
も大きく、前記高解像度表現は複数のトークン(以下
「高解像度トークン」とする)及び複数の位置を含み、
前記デジタル情報の第3セットの生成は前記開始表現か
ら前記高解像度トークンを抽出するステップを含み、各
高解像度トークンは前記高解像度画像の集まりのサブ画
像を表すピクセルデータのセットを含み、前記開始表現
から前記高解像度表現の複数の位置を決定するステップ
を含み、前記高解像度表現の各位置は前記高解像度画像
の集まりにおけるサブ画像(以下「高解像度サブ画像」
とする)の位置であり、高解像度サブ画像は前記高解像
度トークンのうちの1つからのサブ画像のうちの1つで
あり、前記高解像度サブ画像のうちの少なくとも1つは
複数のピクセルを有すると共に前記画像の集まりにおい
て1つよりも多い位置で生じ、このようにして生成され
た前記デジタル情報の第2セット及び第3セットを後の
使用のために利用可能にするステップを含む。
【0016】本発明の請求項2の態様は、請求項1の態
様において、前記提供ステップが前記文書のフォントベ
ースの第1構造化表現をプロセッサに提供することを含
み、前記生成ステップが前記文書のフォントレス第2構
造化表現を生成することを含む。
【0017】本発明の請求項3の態様は、コンピュータ
ベースの文書処理方法であって、文書の第1表現及び第
2表現を提供するステップを含み、前記第1表現及び第
2表現は解像度依存構造化表現であると共に各々が第1
固有解像度及び第2固有解像度を有し、前記第2解像度
は前記第1解像度よりも大きく、前記第2表現ではなく
前記第1表現を委託されていない受領者にデジタル形式
で提供するステップを含み、人間によって可読の非デジ
タル形式である前記文書の第3表現に前記第2表現を変
換するステップを含み、前記第2表現でなく前記第3表
現を前記委託されていない受領者に提供するステップを
含む。
【0018】
【発明の実施の形態】本発明の特定の実施の形態による
と、PostScript又は他のPDL表現などの構
造化文書表現、あるいはPDF又は他の文書交換言語表
現はコンパイルされ、そうでなければ後述するDigi
Paperフォーマットなどのトークン化(tokenized)
ファイルフォーマットに変換される。トークン化表現
は、プリント、表示、記憶、伝送などが可能であるビッ
トマップ又はCCITTグループ4圧縮ビットマップな
どの文書画像の非構造化表現に迅速にレンダリングされ
ることが可能である。
【0019】好適な実施の形態では、本発明の方法は、
コンピュータ又は他のプロセッサによって、文書の固有
の視覚的外観を定めない、解像度に依存しない初期構造
化文書記述を、文書の固有の視覚的外観を定める解像度
依存構造化文書記述に自動変換することを考慮してい
る。
【0020】例えば、本発明を使用して、従来技術のP
DLプリンタに固有のレンダリング速度の障害(図3に
関連するプリンタ30の上の記述を参照)を取り除くこ
とによってプリンタのスループットを向上させることが
できる。DigiPaperファイルを予測可能な速度
で迅速にデコード(復号)できるため、この障害を取り
除くことができる。
【0021】図4は、本発明の特定の実施の形態に従っ
て、完全な圧縮−圧縮解除サイクルにおいて文書の構造
化表現に適用される変換の全体的なシーケンスを示して
いる。変換されるべき文書は、ブラックとホワイトのテ
キスト及びグラフィックスを含む文書のような1つ又は
それより多くのバイナリ(二値)画像のセットとしてレ
ンダリング可能な文書であると想定される。文書のPD
L表現40は、文書のトークン化表現42を生成するト
ークン化コンパイラ41に入力される。トークン化表現
42は、出力バイナリ画像44を生成するレンダリング
エンジン43に入力される。
【0022】トークン化コンパイラ41はコンプレッサ
(圧縮装置)とも呼ばれ、トークン化表現42は圧縮表
現とも呼ばれる。トークン化表現42は、それが出力ビ
ットマップ44よりも小規模であるという意味で圧縮さ
れる。従って、入力PDL文書表現からのトークン化文
書表現の生成(例えば、入力PDL表現40からのトー
クン化表現42の生成)は変換シーケンスの圧縮段階と
呼ばれ、トークン化表現からの出力画像の生成(例え
ば、トークン化表現42からの出力バイナリ画像44の
生成)はシーケンスの圧縮解除段階と呼ばれる。
【0023】図5は、PDL表現40がトークン化コン
パイラ41に入力され、これによってトークン化表現4
2が生成される態様を再び示している。ここでは、トー
クン化コンパイラ41がより詳細に示されている。トー
クン化コンパイラ41は、PDLデコンポーザ45を介
して入力PDL表現40を処理し、1つ又はそれより多
くのページ画像46を生成することによって始まる。P
DLデコンポーザ45は、公知のプリンタ及びディスプ
レイにおいてPDLファイルを出力画像にするために通
常使用されるものであり、例えばPostScript
入力ファイル40に対しては、プロセッサによって実行
されるPostScriptインタプリタプログラムと
してPDLデコンポーザ45を実施することができる。
ページ画像46は、文書のページを表すビットマップ又
は圧縮ビットマップである。ページ画像46は、トーク
ン化装置即ちコンプレッサ47によって圧縮される。コ
ンプレッサ47はページ画像を受け取ってDigiPa
per又は他のトークン化データストリーム又はファイ
ルを構築し、次にコンプレッサ47はこれを記憶して伝
送することができ、又は他の方法で更なる処理を可能に
する。従って、コンプレッサ47の出力はトークン化表
現42である。
【0024】プロセッサによって実行されるソフトウェ
アプログラムとして、コンプレッサ47を実施すること
が可能である。この実施の形態においてコンプレッサ4
7がトークン化(圧縮)を実行しうるステップは、図1
4及び付随のテキストを参照して後述される。この実施
の形態においてトークン化表現42に好適なフォームで
あり、従ってコンプレッサ47の出力に好適なフォーム
であるDigiPaperファイルフォーマットは、図
16〜図23及び付随のテキストの1〜8のセクション
に関連して後述される。
【0025】トークン化表現42を生成するもう1つの
方法も図5に示されている。この方法によると、PDL
デコンポーザ45は標準のPDLデコンポーザではなく
コンプレッサ47に密接に結合されるような態様でトー
クン化コンパイラ41がデザインされているため、中間
ページ画像46は生成されない。この代わりの方法は、
入力PDL記述40のトークン化表現42への直接的コ
ンパイルと呼ぶことができる。これは、矢印49によっ
て示される。
【0026】図6の一組の2つの図は、図4の変換シー
ケンスの圧縮段階及び圧縮解除段階が互いから分離可能
であることを示している。図(A)では、圧縮段階が生
じている。PDL文書記述60はトークン化コンパイラ
61に入力され、トークン化表現62を生成する。次
に、トークン化表現62は63において後の使用のため
に保存される。例えば、ハードディスクのファイル、別
のコンピュータへのネットワーク又は出力デバイスにト
ークン化表現62を記憶することができる。
【0027】図6の図(B)では、圧縮解除段階が生じ
ている。64では、圧縮解除及び出力を行うデバイスに
よってトークン化表現65を得る。例えば、記憶装置か
らトークン化表現65を検索することができ、又はネッ
トワークを介してこれを受け取ることができる。トーク
ン化表現65はレンダリングエンジン66に入力され、
これは、表示、プリント、ファックス、伝送などが可能
であるページ画像又はページ画像のセットとして文書を
出力する。
【0028】好ましくは、トークン化表現65は、解像
度がレンダリングエンジン66の出力解像度とマッチす
る画像又は画像のセットから生成された(即ち、圧縮さ
れた)表現である。
【0029】レンダリングエンジン66としての使用に
好適なレンダリングエンジンのいくつかの例が図7〜図
8に示されている。図7は、DigiPaperファイ
ルなど、トークン化表現からの文書をプリントできるプ
リンタ76を概略的に示している。プリンタ76は、ト
ークン化表現75のような入力トークン化表現を受け入
れ、この表現をプリント出力に変換するようにデザイン
されている。これは内蔵PDLデコンポーザを必要とし
ないため、この内蔵計算力は非常に小さくてよい。プリ
ンタ76は、デコンプレッサ(圧縮解除装置)71を用
いて入力トークン化表現75を圧縮解除することによっ
て動作する。デコンプレッサ71は、例えば、圧縮解除
ソフトウェアを実行する内蔵プロセッサとすることがで
きる。あるいは、専用ハードウェアにおいて実施が可能
である。デコンプレッサ71は1つ又はそれより多くの
ラスタ画像72のセットを生成し、これはプリント文書
の各ページ毎に1つである。ラスタ画像は、プリント出
力77を生成する従来のIOT73に提供される。
【0030】図8は、入力トークン化表現が与えられた
文書を表示できるビジュアルディスプレイ86を概略的
に示している。この概念は、プリンタ76に類似してい
る。ディスプレイ86は、トークン化表現85などの入
力トークン化表現を受け入れ、デコンプレッサ81を用
いてこれを圧縮解除する。デコンプレッサ81は1つ又
はそれより多くのラスタ画像82のセットを生成し、こ
れはプリント文書の各ページ毎に1つである。ラスタ画
像は、人間によって可読である出力を生成するカソード
レイチューブ(CRT)又はフラットパネルモニタスク
リーンなどのディスプレイターミナル83に提供され
る。
【0031】図7〜図8に示されるレンダリングエンジ
ンの例76、86はプリントページ又はディスプレイペ
ージとしてすぐに可視である出力画像を生成するが、他
のレンダリングエンジンが他の種類の画像出力を生成す
ることが可能である。特に、レンダリングエンジン66
としての使用に好適なレンダリングエンジンからの出力
は、エンコード(符号化)されたビットマップ(例え
ば、遠隔のファックス又は多機能デバイスによって受け
取られるCCITTグループ4伝送)でもよいし、又は
他の非構造化文書フォーマットでもよい。
【0032】この実施の形態において、デコンプレッサ
71及びデコンプレッサ81などのデコンプレッサが圧
縮解除を行うことが可能であるステップは、図15及び
付随のテキストに関連して後述される。
【0033】図9は、図4の変換シーケンスの圧縮段階
を行うために好適な例示的システムのハードウェア構成
要素及びソフトウェア構成要素を示している。図9のシ
ステムは汎用コンピュータ100を含み、これは接続1
29などの1つ又はそれより多くの通信経路によって、
ローカルエリアネットワーク(LAN)140及びここ
ではインターネット180として示されるワイドエリア
ネットワークに接続されている。コンピュータ100
は、LAN140を介してファイルサーバ141などの
他のローカルコンピュータと通信できる。コンピュータ
100は、インターネット180を介してワールドワイ
ドウェブサーバ181などの他のローカルコンピュータ
及び遠隔コンピュータと通信することができる。理解さ
れるように、コンピュータ100からインターネット1
80への接続を種々の方法で行うことができ、例えば接
続129を直接介したり、ローカルエリアネットワーク
140を介したり又はモデム(図示せず)によって行う
ことができる。
【0034】コンピュータ100はパーソナルコンピュ
ータ又はオフィスコンピュータであり、これは例えばワ
ークステーション、パーソナルコンピュータ又は他のコ
ンピュータシステムとすることができる。説明のため
に、コンピュータ100をハードウェア構成要素101
及びソフトウェア構成要素102に有意に分けることが
できる。
【0035】ハードウェア構成要素101は、プロセッ
サ(CPU)105、メモリ106、固定記憶装置10
8、ユーザI/O120及びネットワークインターフェ
イス125を含む。
【0036】プロセッサ105は、例えばマイクロプロ
セッサか又はマルチ処理用に構成されるプロセッサの集
まりとすることができる。
【0037】メモリ106は、ROM、RAM、仮想メ
モリ又は他のメモリ技術を含むことが可能である。固定
記憶装置108は、例えば磁気ハードディスク、フロッ
ピーディスク又は他の固定読み書きデータ記憶技術を含
むことができ、CD−ROM又は他の大容量記憶技術に
よって提供できるような大容量記憶装置又はアーカイブ
記憶装置を更に含むことが可能である。(ファイルサー
バ141は、プロセッサ105が使用可能な追加の記憶
能力を提供することに注意する。)
【0038】ユーザI/O(入力/出力)ハードウェア
120は、CRT又はフラットパネルディスプレイなど
のビジュアルディスプレイモニタ、英数字キーボード及
びマウス又は他のポインティングデバイスを通常含み、
必要に応じて、プリンタ、光学スキャナー又はユーザ入
出力のための他のデバイスを更に含むことが可能であ
る。
【0039】ネットワークI/Oハードウェア125
は、コンピュータ100と外界との間に接点を提供す
る。より詳細には、ネットワークI/O125によって
プロセッサ105は接続129、LAN140及びイン
ターネット180を介して他のプロセッサ及びデバイス
と通信することができる。
【0040】ソフトウェア構成要素102は、オペレー
ティングシステム150、アプリケーションプログラム
160などのオペレーティングシステム150の制御下
のタスクのセット、そして重要なことにトークン化コン
パイラソフトウェア165を含む。オペレーティングシ
ステム150により、プロセッサ105は固定記憶装置
108、ユーザI/O120及びネットワークインター
フェイス125など種々のデバイスを制御することもで
きる。プロセッサ105は、メモリ106及びコンピュ
ータシステム100の他の構成要素と関連してオペレー
ティングシステム150及びそのタスク160、165
のソフトウェアを実行する。
【0041】ソフトウェア構成要素102は、本発明に
従ってトークン化コンパイラとして機能する能力をコン
ピュータ100に提供する。
【0042】図9では、トークン化能力は主にタスク1
65によって提供されている。
【0043】図10は、図4の変換シーケンスの圧縮解
除段階を多様な方法で実行できるシステムを示してい
る。図10の例示的なシステムは、図9のシステムのス
ーパーセットとして示されている。特に、このシステム
はコンピュータ100、ファイルサーバ141、ウェブ
サーバ181、LAN140及びインターネット180
を含む。更に、図10のシステムは種々のシステム構成
要素200を加えており、これらを使用して文書のトー
クン化表現をレンダリングできる。構成要素200は、
第2の汎用コンピュータ210、ネットワークプリンタ
220、プリントサーバ230及び「スマート(smar
t)」多機能デバイス240を含む。
【0044】図10のシステムの動作において、先にP
DL表現からトークン化表現に変換された文書(例え
ば、コンピュータ100内のトークン化コンパイラ16
5によって生成された文書;ファイルサーバ141又は
ウェブサーバ181からの文書)がネットワーク接続2
29を介して構成要素210、220、230、240
のうちの1つ又はそれより多くにおいて利用可能にな
る。これらの構成要素の各々はレンダリングエンジンと
して、特にデコンプレッサとして機能することができ
る。各々は、プロセッサが文書のトークン化表現を得る
ことを可能にする通信ソフトウェアと、プロセッサがト
ークン化表現を特定の出力形式に好適な画像データに変
換することを可能にする圧縮解除ソフトウェアとを含む
ものと想定される。圧縮解除ソフトウェアは構成要素に
内在してもよいし、あるいはトークン化表現と共にLA
N140又はインターネット180から接続229を介
してダウンロードされてもよい。
【0045】コンピュータ210は、コンピュータ10
0に類似する特徴及びハードウェア構成要素を備える汎
用コンピュータが可能である。また、コンピュータ10
0のように、コンピュータ210は1つ又はそれより多
くのタスクを制御するオペレーティングシステムを含む
ソフトウェアを有する。しかし、コンピュータ100は
圧縮ソフトウェアを有するが、コンピュータ210は圧
縮解除ソフトウェアを有する。(もちろん、コンピュー
タのメモリに圧縮ソフトウェア及び圧縮解除ソフトウェ
アの双方をロードすることができ、いくつかの場合では
単一のコンピュータが圧縮コンピュータ100及び圧縮
解除コンピュータ210の双方として動作できることに
注意する。)
【0046】コンピュータ210は、ディスプレイモニ
タ211、ローカルプリンタ212、モデム213、固
定記憶デバイス214及びネットワーク出力ハードウェ
ア215に接続して示されている。コンピュータ210
はこれらのデバイスを制御でき、特にこれらの各々に適
切な圧縮解除ソフトウェアをランすることができる。
【0047】例えば、ディスプレイモニタ211に適切
な圧縮解除ソフトウェアを実行することにより、コンピ
ュータ210のプロセッサはディスプレイモニタ211
が表示可能な形式にトークン化表現を圧縮解除すること
ができる。従って、コンピュータ210及びディスプレ
イモニタ211は共にビジュアルディスプレイ用のレン
ダリングエンジンとして機能する。同様に、コンピュー
タ210及びローカルプリンタ212は文書のトークン
化表現をハードコピー出力としてレンダリングすること
ができる。コンピュータ210が圧縮解除の動作を行う
ため、ローカルプリンタ212は内蔵計算ハードウェア
が殆どないか又は全くない「ダム(dumb) 」プリンタで
もよい。
【0048】更に、コンピュータ210は人間によって
すぐに可読ではないがそれにもかかわらず有用である形
式で文書画像をレンダリングすることができる。コンピ
ュータ210は、非構造化(例えば、CCITTグルー
プ−4)圧縮フォーマットの画像データを出力する圧縮
解除ソフトウェアをランすることができ、モデム213
によって電話回線をわたってこの画像データを伝送する
ことができる。コンピュータ210はまた、圧縮されて
いない画像データ又は圧縮された画像データを後の検索
のために固定記憶装置214に出力することもでき、圧
縮されていない画像データ又は圧縮された画像データを
ネットワーク出力デバイス215に出力して他の場所
(例えば、LAN140内の別のコンピュータ又はイン
ターネット180)に伝送することもできる。後述する
ように、圧縮解除された文書がハイパーテキストリンク
又は他の注釈を含む場合、コンピュータ210はこのよ
うな注釈のうちユーザが示した選択物を解釈し、画像デ
ータと共にネットワークを介してこれらの選択物を伝送
することが可能である。
【0049】ネットワークプリンタ220は、CPU及
びメモリを含む独自の内蔵計算ハードウェアを有するプ
リンタである。従って、ローカルプリンタ212とは異
なり、ネットワークプリンタ220はホストコンピュー
タ又はサーバに助けられずに独自の圧縮解除を行うこと
ができる。従って、ネットワークプリンタ220は完全
に独立したレンダリングエンジンであり、トークン化入
力ファイルをハードコピー出力に変換することができ
る。この点では、図7に示されたプリンタ76に類似し
ている。
【0050】図10をひき続き参照すると、プリントサ
ーバ230は、「ダム」プリンタを制御できると共にこ
のようなプリンタによってプリントされるファイルの一
時的な記憶に使用されうるコンピュータである。汎用コ
ンピュータ210は人間ユーザによって対話式に使用さ
れるコンピュータと想定されるが、プリントサーバ23
0はプリンタ及びプリントジョブの制御に主に使用され
るコンピュータである。このプロセッサは圧縮解除ソフ
トウェアを実行して画像を生成し、すぐプリントするた
めにIOT231に送るか、プリントの前に予備の検査
を行うためにプレス前ビューア232に送るか、後のプ
リントのために又はプリプレス(prepress) ビューイン
グのためにプリントサーバ230の固定記憶装置にスプ
ールする(一時的に記憶する)ことが可能である。
【0051】多機能デバイスは、プリント機能、コピー
機能、走査機能及びファクシミリ機能の組み合わせを提
供する独立型デバイスの種類である。多機能デバイス2
40は「スマート」デバイスであり、独自のプロセッサ
及びメモリを有し、ホストコンピュータ又はサーバから
援助されずに独自のトークン化ファイルを圧縮解除する
ために十分な計算力を有するものと想定される。ここで
は、ネットワーク出力デバイス242を介してネットワ
ークに出力を提供するものとして示されている。多機能
デバイス240がペーパーユーザインターフェイスをサ
ポートするソフトウェアを有する場合、出力データは画
像データの他にハイパーテキストリンクセレクション又
は他の情報を含むことができる。多機能デバイス240
はまた、圧縮画像データをファクシミリマシン241に
提供するものとして示されている。例えば、多機能デバ
イス240は通常の電話によってファクシミリマシン2
41にコンタクトし、CCITTグループ−4フォーマ
ットの圧縮画像データをファクシミリマシン241に送
ることができる。ファクシミリマシン241は、あらゆ
る他のファックス通信のように多機能デバイス240か
らファックス通信を受け取り、文書のコピーをプリント
アウトする。
【0052】好適な実施の形態では、トークン化コンパ
イラによって生成されたトークン化文書表現は、図16
〜図23を参照して後述するDigiPaperフォー
マットで編成される。DigiPaperフォーマット
の詳細を容易に理解するため、まず図11〜図13を参
照していくつかの簡略化トークン化フォーマットを考慮
する。これらの簡略化フォーマットは、本発明において
使用されるトークン化表現において基本的であるいくつ
かの概念を例示する目的で表され、DigiPaper
を含むがこれに限定されない。
【0053】図11は、非常に簡略化された例によって
トークン及び位置の概念を示している。画像1100が
示される1ページの入力文書は、テキスト1101を含
む。この文書をトークン化表現1110に変換すること
ができる。トークン化表現1110は、トークン111
1のセット(又は辞書)と位置1112のセットとを含
む。
【0054】トークン1111の各々は、文書内のどこ
かで生じる形を表している。各トークンの形は、ビット
マップとして記憶される。位置1112の各々は、トー
クンのうちの1つが配置されるべき場所、即ちトークン
の形が文書内で生じる場所を表している。例えば、第1
のトークンに関連する形「t」は、(X、Y)座標が順
序対(10、20)である位置に現れる。第2のトーク
ンと関連する形「h」は、(X、Y)座標が順序対(2
0、30)である位置に現れる。一般に、位置1112
の各々は、トークンインデックス、即ちトークン111
1のうち特定した1つのトークンを示すインデックス
と、示されるトークンの形が文書内で現れる場所を示す
(X、Y)座標対とを含む。
【0055】文書画像1100からトークン化表現11
10を生成するために、コンピュータは文書画像内に現
れる異なる形を検出し、それらが現れる場所を注釈する
ことができる。コンピュータは各形を見つけ、その形が
すでにトークン辞書にあるかを決定し、なければその形
を辞書に加え、いずれの場合でも位置のセットにその位
置を記憶する。
【0056】トークン化表現1110から画像を再構築
するために、コンピュータは位置1112を連続的に読
み取り、各位置毎に、リストされた(X、Y)座標にイ
ンデックスがリストされているトークンの形を転送する
ことができる。
【0057】トークン1111のセットはフォントでは
ないことに注意する。本発明による文書のトークン化表
現は、意味論的ラベリングの概念、文字のセットの概
念、文字コードのセットを文字名のセットにエンコード
したりマッピングしたりすることを含まない。「t」、
「h」、「i」などの形は、形としてのみ、即ち特定の
ビットマップとして処理され、アルファベットの文字又
は文字コードのより大きなセットのメンバーとしては処
理されない。これらの形は、固定された順序ではなく文
書画像1101に現れた順で辞書に現れる。
【0058】記号的意味を全くもたない形を含め、文書
内に繰り返し生じるあらゆる形をトークンの形として使
用できる。反対に、2つの異なる形として(例えば、2
つの異なるサイズ又は2つの異なる書体で)レンダリン
グされるべきアルファベットの所与の文字は、2つの異
なるトークンとして割り当てられる。
【0059】画像1100のような1ページの文書画像
に関しては、ページ情報をトークン化表現にエンコード
する必要はない。より長い文書の複数ページの画像に関
しては、トークン化表現はどのトークンの形がどのペー
ジに現れるかに関する情報を含むべきである。このため
に、文書の各ページ毎に位置の別個のセットを維持する
ことができる。
【0060】図12及び図13は、複数ページのトーク
ン化フォーマットに関するいくつかの可能性を示してい
る。図12は文書のトークン化表現(カプセル化とも呼
ばれる)1200を示しており、このレンダリング画像
の長さはnページである。トークン化表現1200は、
ファイルヘッダ1205と、トークン及びその形を含む
辞書ブロック1206とによって始まる。この後には、
複数ページの文書画像のページのためのブロックのシー
ケンスが続く。ブロック1211、1212及び121
5はページ1に関し、ブロック1221、1222及び
1225はページ2に関し、(エリプシス1250によ
って表されるように)残りのページも同様であり、これ
はページnに関するブロック1291、1292及び1
295を含む。
【0061】表現1200の各ページ毎に、ページヘッ
ダブロック、位置ブロック及び残留ブロックがある。例
えば、ブロック1211はページ1のヘッダブロックで
あり、ブロック1212はページ1の位置ブロックであ
り、ブロック1215はページ1の残留ブロックであ
る。ページヘッダブロックは新しいページの始まりを示
し、追加のページ特有の情報を含むことができる。位置
ブロックは、現行ページのどの位置にどのトークンを配
置すべきかを記録する。残留ブロックは、文書中に1度
しか現れない形など、このページに現れるがトークン辞
書にはない形がある場合にそれを記憶する。
【0062】図13は、複数ページの文書のトークン化
表現1300を示している。最初の2ページのみが示さ
れており、残りの文書はエリプシス1350で示されて
いる。フォーマットは図12のトークン化表現1200
のものと類似しているが、ファイルにわたって複数の辞
書ブロックがインターリーブしている。トークン化表現
1300はファイルヘッダ1305で始まり、次にペー
ジ1の辞書ブロック1310、ページヘッダ1311、
位置ブロック1312及び残留ブロック1315が続
く。辞書ブロック1310は、文書画像のページ1に現
れる全ての形を含む。この後、トークン化表現1300
はページ2の追加の辞書ブロック1320に続き、この
後にページ2のページヘッダ1321、位置ブロック1
322及び残留ブロック1325が続く。辞書ブロック
1320は、文書画像のページ2に初めて現れる全ての
形、即ちページ1のレンダリングには不要であったがペ
ージ2のレンダリングに必要な形を含む。従って、これ
らの新しい形はページ2のレンダリングに使用される辞
書に加えられる。このフォーマットは、全てのページが
処理されるまでこの態様で続く(エリプシス135
0)。文書画像の後に続くページをレンダリングするた
めに何度も現れる形の新しいセットが必要である度に、
追加の辞書ブロックをフォーマットに含むことができ
る。
【0063】トークン化表現のフォーマットを拡張し
て、容易にトークン化されない情報を許容することがで
きる。例えば、文書のソース構造化表現がブラック及び
ホワイトのテキストとカラー写真とを含む場合、JPE
G又は他の圧縮技術を用いてカラー写真の画像を圧縮
し、本発明によるDigiPaper又は他のトークン
化圧縮を用いてブラック及びホワイトのテキストを圧縮
することができる。トークン化フォーマットがこのよう
な拡張をサポートする場合、JPEGによって圧縮した
写真、即ちそのポインタをそのページの位置ブロックの
拡張セクションに記憶することができる。特に、位置ブ
ロック拡張は位置依存情報を有することができ、辞書ブ
ロック拡張は文書中の1つよりも多くの場所で再び使用
される情報を有することができる。
【0064】拡張を使用して、例えばワールドワイドウ
ェブ(World Wide Web) ページなどのハイパーテキスト
文書のトークン化圧縮をサポートすることができる。ウ
ェブページとして意図されるHTML文書が本発明によ
るトークン化表現に圧縮される場合、その表示可能なテ
キスト及びビットマップグラフィックをトークン化し、
そのリンク情報(即ち、ユニバーサルリソースロケー
タ、即ちURLの情報)を拡張内に記憶することができ
る。
【0065】拡張を使用して、テキスト文書に埋め込ま
れたアクティブスプレッドシートなど、埋め込みオブジ
ェクトを含むオブジェクトのトークン化圧縮をサポート
することも可能である。
【0066】図14は、構造化文書表現をトークン化表
現にコンパイルするステップのシーケンスを示してい
る。構造化文書表現をワーキングメモリに読み込み(ス
テップA)、従来のPDLデコンポーザによって各ペー
ジに1つであるビットマップ画像のセットにレンダリン
グする(ステップB)。この後、コンプレッサによって
トークン化圧縮を行う(ステップC、D及びE)。ま
ず、ビットマップ画像を分析してその中の形を識別する
(ステップC)。次に、同一の形が複数現れた場合に同
一のトークンに割り当てられるように、これらの形を分
類する(ステップD)。この後、ハイパーテキストリン
ク又は埋め込み非バイナリ画像構成要素などのあらゆる
拡張と共に、トークン辞書、位置情報及び残留物をエン
コードする(ステップE)。これによってトークン化圧
縮表現の構築を完了し、次にこれを出力する(ステップ
F)。
【0067】形を識別するステップ(ステップC)は、
あらゆる他の適切な技術を使用することができるが、こ
の特定の実施の形態では連結要素分析を用いて行われ
る。形を分類するステップ(ステップD)は、この特定
の実施の形態では非常に簡潔なロスレス識別子を用いて
行われる。このロスレス識別子では、2つの形のビット
が同一である場合のみこれらは互いにマッチするものと
みなされる。
【0068】ステップBにおいて使用されるPDLデコ
ンポーザは、例えば図5のデコンポーザ45でありう
る。ステップC〜ステップEにおいて使用されるコンプ
レッサは、例えば図5のコンプレッサ47でありうる。
(図5の矢印49による直接的コンパイラは、ステップ
AからステップEに直接に進む。)
【0069】図15は、トークン化表現を出力画像にレ
ンダリングするステップを示している。トークン化表現
をワーキングメモリに読み込ませる(ステップG)。こ
の後、デコンプレッサがファイルのブロックを読み取る
とループが開始する(ステップH)。次のブロックが辞
書ブロックである場合(ステップI)、辞書ブロックを
読み取り(ステップJ)、ワーキングメモリに記憶され
た辞書内にすでにあるあらゆるトークンにそのトークン
を加える(ステップK)。あるいは、次のブロックがペ
ージヘッダである場合(ステップL)、そのページを圧
縮解除してレンダリングする(ステップM〜ステップ
Q)。即ち、ページの位置ブロックを読み取り、ワーキ
ングメモリに目下記憶されている辞書のトークンのセッ
トに関してブロックを解釈する(ステップM)。残留ブ
ロックも読み取る(ステップN)。次に、ページの位置
ブロックからの情報と目下記憶されている辞書のトーク
ンとを用いて、トークン化記号をページのビットマップ
画像に変換する(ステップO)。トークンの個々のビッ
トマップを、(例えばbit−blt動作を用いて)ペ
ージを構築しているより大きなビットマップに転送す
る。また、この時点であらゆる拡張を処理する。次に残
留物をレンダリングし、これらのビットマップも同様に
より大きなビットマップに転送する(ステップP)。デ
ィスプレイスクリーン、IOT、固定記憶装置、ネット
ワーク、ファックス又は他の出力メカニズムに完成した
ページ画像を出力する(ステップQ)。トークン化表現
全体(又はそのあらゆる所望の部分)を処理する(ステ
ップR)までループを続ける(ステップH)。
【0070】DigiPaperフォーマット 便宜上1〜8で番号づけされている次のいくつかのセク
ションは、本発明の好適な実施の形態において使用され
る文書のトークン化表現用のフォーマットを詳細に表し
ている。図16〜図23を参照して説明されるフォーマ
ットはDigiPaperフォーマットと呼ばれ、図1
1〜図13に関連して前述した簡略化トークン化表現よ
りも好ましい。
【0071】セクション1は、DigiPaperフォ
ーマットのデザインに影響を及ぼしたデザイン基準を述
べている。セクション2は、より高レベルのデータスト
リーム構造を参照せずにこのフォーマットにおける圧縮
データストリームの構成要素の概要を述べている。セク
ション3〜セクション5は、これらの構成要素の各々を
より詳しく説明している。セクション6は、ハフマンツ
リーを構築するために使用されるアルゴリズムを述べて
いる。セクション7は、構成要素をカプセル化するより
高レベルのデータストリームの説明をしている。セクシ
ョン8は、このデータストリームフォーマットのいくつ
かの追加のアスペクトを述べている。
【0072】1.導入部 このコーディングフォーマットのデザインに影響を与え
た基準は以下を含む: ・複数ページ文書のために得られる圧縮は単一ページ文
書のために得られる圧縮よりもかなり優れているため、
単一ストリームで複数ページをエンコードすることが可
能であるべきである。 ・このフォーマットでエンコードされる文書がファイル
に記憶される場合、全ての先行ページを完全にパーズす
ることを必要とせずにあらゆる所与のページを再生成す
ることが可能であるべきである。 ・フォーマット内の個々の値のコーディングは、優れた
圧縮の目的と首尾一貫して出来るだけ簡潔であるべきで
ある。これにより、低コストデバイスにおける実施が可
能になる。
【0073】2.データストリーム構成要素 データストリームは、多数のページからなる文書をエン
コードする。データストリームは、いくつかの辞書ブロ
ック、位置ブロック及び残留ブロックを含む。全てのバ
イトはMSBからLSBに埋められる。他の方法が指定
されない限り、全ての32ビット値は符号を付けられ
ず、本明細書末尾の表1(以下、表2〜表12も同様に
本明細書の末尾に示す)を使用してエンコードされる。
【0074】2.1.辞書ブロック 辞書ブロックは、トークンの数に関する情報を含む。各
トークンのビットマップ(及び関連サイズと幅)が辞書
ブロックに記憶されている。各トークンに関するいくつ
かの他の情報もまた、辞書ブロックに記憶されている。
詳細には、各トークンの使用数(その使用カウント)が
トークンと共にエンコードされる。これにより、デコー
ダ(復号装置)は各トークンの数のエンコーディングを
示すハフマンツリーを構築することができる。
【0075】辞書ブロックはページ同士の間に任意的に
インタリーブすることが可能であるが、最初の位置ブロ
ックの前に少なくとも1つの辞書ブロックがなくてはな
らない。
【0076】2.2.位置ブロック 位置ブロックは多数の三重対を含み、その各々が、X座
標、Y座標及びトークンの数を含んでいる。あらゆる所
与の位置ブロックにおいて参照されるトークンは、(デ
ータストリームにおいて)その位置ブロックの前にある
一定の辞書ブロックにおいて定義されていなければなら
ない。
【0077】各位置ブロックは、全ての先行辞書ブロッ
クを結合したものに対して解釈される。即ち、各位置ブ
ロックはこれらのブロックのあらゆるトークンを含むこ
とが可能である(しかし、サブセクション3.3を参照
のこと)。従って、デコーダは全ての辞書ブロックにあ
る全てのトークンを考慮し、各トークンに関連する使用
カウントに基づいてハフマンツリーを構築し、位置ブロ
ックにエンコードされたトークンの数をデコードしなく
てはならない。このハフマンツリーの構築に関する詳細
は、セクション6において述べられる。
【0078】1ページあたり最大1つの位置ブロックを
設けることが可能である。
【0079】2.3.残留ブロック 残留ブロックは、ページの全ての非トークン部分を含む
ビットマップをエンコードする。どのタイプのどのブロ
ックも参照せずにデコードが可能である。
【0080】1ページあたり最大1つの残留ブロックを
設けることが可能である。
【0081】3.辞書ブロックのエンコーディング 辞書ブロックは、(先行辞書ブロックからのトークンと
共に)後に続く位置ブロックのデコードに使用されるべ
きトークンのセットを含む。
【0082】辞書ブロックのフォーマットは図16に示
されている。辞書ブロック1600はすぐに後述される
最初の値1610を含み、これはトークンカウント及び
辞書クリアリングコードのいずれかである。この後には
フラグ1620が続き、これは、この辞書ブロックのた
めにどの使用カウントエンコーディング表を使用するか
を示す。更に、辞書ブロック1600は、例えば高さク
ラス1(1630)、高さクラス2(1640)及び
(エリプシス1650で示されるような)追加の高さク
ラスなどの高さクラスを含む(セクション3.1を参
照)。高さクラスの後には、ENDコード1660及び
辞書拡張セクション1670が続く。
【0083】辞書ブロックの最初の値1610は、この
ブロックに記憶されているトークンの数を示す(符号の
付いていない)32ビット値である。この値、即ちトー
クンカウントは、表1のエンコーディングを用いてそれ
自体が記憶されている。トークンの数が0であると指定
された場合、(0の新しいトークンを含む辞書ブロック
は有用ではないため)最初の値1610は辞書クリアリ
ングコードである。辞書クリアリングコードの詳細に関
しては、サブセクション3.3を参照のこと。
【0084】トークンカウント1610の後は1ビット
フラグ1620であり、これは、この辞書ブロックのた
めにどの使用カウントエンコーディング表を使用するか
を示す。ビットが0であれば、トークン使用カウントの
エンコーディングに表3を使用し、ビットが1であれ
ば、表4を使用する。
【0085】3.1.高さクラス 辞書ブロックに記憶されている全てのトークンはその高
さ及び幅によって分類され、高さクラス、即ち同一の高
さを有するトークンのグループにグループ化される。一
定の高さを有する全てのトークンは、同一の高さクラス
にある。高さクラス内では、トークンは幅の増加に従っ
て分類される。
【0086】高さクラスのフォーマットが図17に示さ
れている。高さクラス1700は、最初のコード171
0、最初のトークンの幅1720、トークン1の使用カ
ウント1730、トークン2のデルタ幅1740、トー
クン2の使用カウント1750、(エリプシス1760
で示されるような)追加のトークンの追加のデルタ幅及
び使用カウント、ENDコード1770、圧縮トークン
画像の(バイト単位の)サイズ1780及び圧縮トーク
ン画像1790そのものを含む。
【0087】3.1.1.トークンの高さのエンコーデ
ィング 高さクラスの最初のコード1710は、前の高さクラス
との高さの差である。クラスは最も小さい(短い)もの
から現れるため、これらのデルタは常に正の数である。
デルタは表2に従ってエンコードされるが、各高さクラ
スの高さは前のクラスの高さと少なくとも1の差がある
ため、エンコードの前に高さデルタを1だけ減分する。
最初の実際の高さクラスの前に高さが0である仮想の高
さクラスが存在するため、最初のクラスの高さは直接エ
ンコードされる。最後の高さクラスの後には、有効高さ
デルタコードの代わりに表2のENDコードが続く。
【0088】3.1.2.トークンの幅のエンコーディ
ング 各高さクラス内では、トークンは幅の増加に従って分類
される。各トークンの幅は前のトークンの幅との差とし
て表され、これは常に正の数である。最初のトークンの
幅1720は、直接(即ち、幅が0である仮想トークン
からのデルタとして)エンコードされる。幅は、表2を
用いてエンコードされる。幅デルタwのエンコーディン
グは、高さデルタとしてのw+1のエンコーディングと
全く同一であることに注意する。各高さクラス内の最後
のトークンの後には、表2のENDコードが続く。
【0089】3.1.3.使用カウントのエンコーディ
ング 各トークンは、関連する使用カウントを有する。これ
は、概念では、辞書ブロックと次の辞書ブロックとの間
の全ての位置ブロックにおいてトークンが生じる回数で
ある。いくつかの場合では、それは正確にこの値ではな
い可能性がある(即ち、デコーダはトークンがこれらの
位置ブロックにおいて正確な回数を生じていることを当
てにすべきではない)。これらの使用カウントは、トー
クンの数のハフマンコーディングを構築するためだけに
使用されるべきである(セクション4を参照のこと)。
【0090】いくつかのトークンは単一使用トークンで
ある。これは、このトークンが1度だけ使用されること
をコンプレッサが保証することを意味し、従ってデコン
プレッサはこのトークンを使用した後にメモリを消去で
きる。通常、このようなトークンは大きいため、これに
よってデコンプレッサにもたらされうるメモリ節約は大
きい。単一使用トークンに関しては、使用カウントは実
際は1であるが、この辞書ブロックと次の辞書ブロック
との間で1回だけ使用されたが理論的に後で再び使用さ
れる可能性のある他のトークン(シングルトン(singlet
ons))との区別をつけるために、0でエンコードされ
る。単一使用トークンは、使用後に完全に消去されては
ならない(例えこれらがもはや生じないとしても、ハフ
マンツリーの構築の際にこれらを考慮しなくてはならな
い)が、維持する必要のある唯一の情報は(トークンの
ハフマンコードを計算する際に結合を解くために必要で
ある)トークンのサイズ及び辞書ブロック内のトークン
の位置である。画像情報は消去することができる。
【0091】これは無駄にみえる。なぜなら、単一使用
トークンはある位置ブロックで生じた後は再び生じない
ため、トークンの数のコードスペースの部分が無駄に感
じるからである。しかし、トークンの使用が生じる位置
ブロックをデコンプレッサがスキップした(とばした)
と想定してみる。例えば、誰かがこのフォーマットで記
憶されたファイルを対話的にブラウジングしていて、単
一使用トークンが使用されたページをスキップしてしま
ったためにこのことが生じる可能性がある。その場合、
デコンプレッサは、スキップしたページの位置ブロック
を完全にパーズすることができないため、単一使用トー
クンが使用されていたことが分からない。(場合によっ
ては多くのスキップしたページの)この余分なパージン
グは、ファイルの部分同士の間に不要な依存性を取り込
んでしまうため、対話式の使用には好ましくない。
【0092】いくつかのアプリケーションでは、シング
ルトン及び単一使用トークンはトークン辞書に記憶され
ず、これらが生じるページの残留ブロックにエンコード
される場合がある(通常これはより優れた圧縮を生じ、
デコーダのメモリ要件を低減する)。これらが辞書ブロ
ックにある場合、使用カウントのエンコードには表3を
使用すべきであり、これらが辞書ブロックにない場合は
表4を使用すべきである。(辞書ブロックヘッダ内の)
使用カウントフラグビットは、どちらの表を使用したか
を示す。表4は、0又は1の使用カウントをエンコード
できないことに注意する。
【0093】3.1.4.トークン画像のエンコーディ
ング 高さクラス内の全てのトークン画像は同一順で左から右
に連結しており(即ち、幅の増加に従って分類されてお
り)、最初(最短の)トークン画像が一番左に位置して
いる。次に、この単一画像はCCITTグループ−4に
よって圧縮される。グループ−4圧縮はEOLコードを
使用せず、バイトをMSBからLSBに埋める。
【0094】エンコーディングの(バイト全体の)長さ
は、表1を用いて32ビット値として書き込まれる。次
に圧縮画像が書き込まれ、これはファイル内の次のバイ
ト境界において始まる。次の高さクラスは圧縮画像の後
に続くバイト境界において始まる。従って、高さクラス
のグループ−4圧縮画像はバイト境界において始まり、
終わる。
【0095】いくつかの場合では、高さクラスの画像を
圧縮するグループ−4はそのサイズを増大する。このこ
とが生じると、エンコーダは画像ビットマップを圧縮さ
れないままで記憶する場合がある。これは、記憶された
ビットマップの長さが0バイトであることによって示さ
れる。どの高さクラスも空ではないため、これは圧縮の
結果としてあり得ないバイトカウントであり、従ってデ
コーダはこの状況を認識することができる。この時点で
高さクラスビットマップのサイズはデコーダにおいて既
知であり、従ってデコーダは実際に占めるバイトの数を
認識している。ビットマップの各行は、バイト境界にお
いて終わるように埋め込まれる。
【0096】3.2.辞書ブロック拡張 最後の高さクラスの後、辞書ブロックは拡張を含むこと
ができる。目下、辞書ブロックのこのセクションは大部
分は定義されていない。このセクションは、辞書ブロッ
ク内のトークンに関する追加の情報(例えば、決定され
ている場合、トークンが表すASCII文字など)を記
憶するために使用されることが予期される。
【0097】この実施の形態において定義されている拡
張セクションの唯一の部分は長さフィールドである。最
後の高さクラスのすぐ後には、辞書ブロック拡張セクシ
ョンのバイト単位のサイズを示す(表1のエンコーディ
ングを用いて記憶された)32ビット値が続く。拡張セ
クションがある場合、拡張セクション自体は次のバイト
境界において始まる。拡張がない場合、0の長さが与え
られるべきである。
【0098】3.3.辞書クリアリングコード 辞書ブロックのトークンの数フィールドの値が0である
場合、この辞書ブロックの前には辞書クリアリングコー
ドがくることを示している。このようなクリアリングコ
ードはデコンプレッサにおける記憶要件を低減すると共
に、ハフマンツリーのトークンの数、従って後に続く位
置ブロックにおいてトークンの数をエンコードするため
に必要なビットの数を減少させることによって記憶効率
を向上させる。クリアリングコードは、デコンプレッサ
に記憶されるトークン辞書をクリアすべきであることを
示している。しかし、先行辞書ブロックからのいくつか
のトークン(将来有用である可能性が最も高いとコンプ
レッサが認識したもの)を維持することができる。
【0099】このクリアリングセクションのフォーマッ
トは図18に示されている。辞書クリアリングセクショ
ン1800は、維持するべきトークンの数を示す値18
10を含み、維持されたトークンのハフマンコードがこ
の後に続く(例えば、第1の維持トークンのコード18
20、第2の維持トークンのコード1830などで、追
加のコードはエリプシス1840によってここに表され
ている)。ハフマンコードの後には、この辞書ブロック
にある新しいトークンの数を示す値1850が続く。
【0100】クリアリングセクションは、その存在を示
す「この辞書ブロック内のトークンは0である」という
フラグのすぐ後に生じる。維持すべきトークンの数18
10は、表1を用いてエンコードされる。このセクショ
ンの最後の値は、この辞書ブロック内の新しいトークン
の数であり、辞書ブロックは通常通りに処理される。フ
ァイル内のこの位置の位置ブロックに対してそうであっ
たように、ハフマンツリーを構築しなければならないこ
とに注意する。
【0101】4.位置ブロック 位置ブロックは、(トークン位置、トークン数の)対の
シーケンスを記憶することによってバイナリ画像をエン
コードする。位置ブロックは、それが表す画像矩形のサ
イズを含まず、これはファイルフォーマットの一定の他
の層に託されている。
【0102】(先行辞書ブロックが辞書クリアリングコ
ードを含まない限り(サブセクション3.3を参照))、
ファイル内で位置ブロックの前にくるあらゆる辞書ブロ
ックから、あらゆる位置ブロック内で使用されるトーク
ンを引き出すことができる。これらのトークンは、ハフ
マンコードによって参照される。全ての先行辞書ブロッ
クを(論理的に)連結し、次にこれらのブロック内のト
ークンの使用カウントのハフマンツリーを構築すること
によって、ハフマンコードが計算される。このツリー
は、新しい辞書ブロックがファイル内に現れる度に再構
築しなければならないことに注意する。ハフマンツリー
を構築するためのアルゴリズムは、セクション6におい
て述べられる。
【0103】この論述のために、この位置ブロックによ
ってエンコードされる画像矩形の左上部角の座標が
(0、0)であると想定する。ブロック内の全ての座標
は相対的であり、全てがこの左上部位置に相対してエン
コードされるため、実際の座標はどの数でもよい。座標
は画像を下方向にゆくにつれ、また画像を横切って右方
向にゆくにつれて増加する。通常は、Y座標はトークン
のインスタンスの垂直位置を表しており、X座標はその
水平位置を表している。しかし、(中国語テキストにお
いて生じるような)テキストフローの主方向が垂直であ
る文書用に意図される転置エンコーディングモードが存
在する。この場合、トークン位置のX座標は画像におけ
るその垂直位置を表し、Y座標はその水平位置を表す。
【0104】トークンのためにエンコードされる位置
は、通常のエンコーディングモードでは左下部角のピク
セルの位置であり、転置エンコーディングモードでは左
上部角のピクセルの位置である。
【0105】位置ブロック1900のフォーマットが図
19に示されている。最初の値1910は、表1を用い
てエンコードされたこの位置ブロックに存在するトーク
ンの数である。この後には、このブロック内で使用され
るエンコーディングに関する情報が続く。ここでのフィ
ールドは以下の通りである。モードデルタX値 この符号が付いていない4ビット
フィールド(フィールド1920)は、モードデルタX
値を示す。全てのデルタX値がエンコードされる前にこ
れらのデルタX値からこの値を引き、デコーディングの
際に再び加えなくてはならない。ストリップの高さ この2ビットフィールド(フィー
ルド1930)は、画像が分割されるストリップの高さ
を示す。0、1及び3の3つの値が目下定義されてお
り、これらは1、2及び4個のピクセルのストリップ高
さをそれぞれ示している。最初のXエンコーディング表フラグ この2ビットフ
ィールド(フィールド1940)は、各ストリップ内の
最初のX位置をエンコードするためにどのエンコーディ
ング表を使用したかを示している。表5及び表6を参照
のこと。2及び3の値が目下定義されていない。デルタXエンコーディング表フラグ この2ビットフ
ィールド(フィールド1950)は、各ストリップ内の
デルタX値をエンコードするためにどのエンコーディン
グ表を使用したかを示している。表7、表8及び表9を
参照のこと。3の値が目下定義されていない。デルタYエンコーディング表フラグ この2ビットフ
ィールド(フィールド1960)は、ストリップ同士の
間のデルタY値をエンコードするためにどのエンコーデ
ィング表を使用したかを示している。表10、表11及
び表12を参照のこと。3の値が目下定義されていな
い。転置フラグ この1ビットフィールド(フィールド1
965)は、位置ブロックが通常通りにエンコードされ
ている場合は0、転置してエンコードされている場合は
1を含む。
【0106】この初めのエンコーディング情報に続き、
この画像に現れるトークンの位置及び識別がエンコード
される。画像は、ストリップサイズフィールドによって
エンコードされたサイズのストリップ(1、2又は4個
のピクセル)に分割される。通常の座標エンコーディン
グモードでは、ストリップは画像を水平スライスに分割
し、転置エンコーディグモードでは、ストリップは画像
を垂直スライスに分割する。明確にするため、通常のエ
ンコーディングモードのコンテクストで(行に関して)
ストリップを後述する。
【0107】位置ブロック1900では、ストリップは
ストリップ1(1970)と、ストリップ2(198
0)と、(エリプシス1985で示される)追加のスト
リップとを含む。ストリップの後には、位置拡張セクシ
ョン1990が続く。
【0108】位置ブロックの最初のストリップの最初の
行は、画像の最上行である。ストリップは、上から下に
エンコードされる。一定のトークンの呼出しを含むスト
リップのみが実際にコード化される。空でない各ストリ
ップは、これと先行する空でないストリップとの間でス
キップされたストリップの数をエンコードする。各スト
リップ内では、トークンはX位置の増加に従って分類さ
れる。
【0109】単一ストリップのフォーマットが図20に
示されている。ストリップ2000は、先行ストリップ
とのY差分2010、第1トークンのX位置2020及
びY位置2030、第1トークンのハフマンコード20
40、第2トークンに対するデルタX位置2050、第
2トークンのY位置2060、第2トークンのハフマン
コード2070及び(エリプシス2080で示されるよ
うな)追加トークンの追加のデルタX、Y及びハフマン
コード情報を含む。ストリップの終わりはENDコード
2090である。
【0110】ストリップの最初の値(例えば、ストリッ
プ2000の最初の値2010)は、このストリップの
開始するY位置と先行ストリップの開始するY位置との
差である。ストリップはストリップ高さによって割り切
れる行から開始するように制限されているため、エンコ
ーダは実際の差をストリップ高さで割り、次にこれをエ
ンコードする。エンコーディングは、表10〜表12の
うちの1つを用いて行われる。使用された表は、位置ブ
ロックのヘッダの「デルタYエンコーディング表フラ
グ」によって示される。画像の最上部の上には仮想の空
ではないストリップがあり、これは第1ストリップのY
位置のオフセットを計算するために使用される。
【0111】各ストリップ内の最初のトークンのX位置
は、表5又は表6を用いてエンコードされる。使用され
た表は、位置ブロックのヘッダの「最初のXエンコーデ
ィング表フラグ」によって示される。X位置は、先行ス
トリップの最初のX位置からのオフセットとして(又
は、最初のストリップの場合は絶対値として)エンコー
ドされる。
【0112】ストリップ内の各トークンのY位置は、ス
トリップ高さ(1、2又は4のストリップ高さ)に依存
して0、1又は2ビットでエンコードされる。この値
は、ストリップの最上部からこのトークンの参照位置
(その左下部の角)までの行の数である。
【0113】ストリップの各トークンのX位置(最初の
もの以外)は、トークンのX位置をとり、これから先行
トークンのX位置を差引き、先行トークンの幅を足すこ
とによって(標準エンコーディングモードで)エンコー
ドされる。これにより、このトークンの左下部の角と先
行トークンの右下部の角の右にあるピクセルとの間のX
の差が計算される。転置エンコーディングモードでは、
ストリップの各トークンのX位置は、このトークンのX
位置と先行トークンのX位置との差をとり、先行トーク
ンの高さを足すことによってエンコードされる。従っ
て、転置エンコーディングモードでは、エンコードされ
るものはこのトークンの左上部の角と先行トークンの左
下部角の下のピクセルとの垂直の差である。
【0114】いずれの場合でも、位置ブロックヘッダに
与えられるモードデルタX値は、エンコードされる前に
この値から差し引かれる。これは、エンコードされる最
も一般的な値が常に0であることを確実にする。得られ
た符号つきの値のために使用されるエンコーディング表
は「デルタXエンコーディング表フラグ」値によって与
えられ、これは表7〜表9のうちの1つである。
【0115】ストリップの最後のトークンは、デルタX
コードの代わりに(適切なデルタXエンコーディング表
から引き出される)ENDコードによってフラグが立て
られる。ストリップは常に空ではないため、最初のXエ
ンコーディング表のうちのいずれにおいてもENDコー
ドをエンコードすることはできない。
【0116】画像の終わりのコード(end-of-image cod
e)はなく、その代わりに最後のストリップはこの画像矩
形の可能な範囲の外にあるY位置によってフラグが立て
られる。この位置は本物のストリップを開始しないた
め、この後に続くトークン位置はない。代わりに、(図
16の)辞書ブロック拡張1670に類似する位置ブロ
ック拡張セクション1990がこの後に続く(図19を
参照)。目下、定義されているセクション1990の唯
一の部分は長さフィールドである。これは、位置ブロッ
ク拡張セクションのバイト単位のサイズを示す32ビッ
ト値(表1のエンコーディングを使用して記憶される)
であり、これは次のバイト境界において開始する。0の
長さは、空の拡張セクションを示すために使用される。
【0117】5.残留ブロック 各ページのビットマップは、このページに使用された辞
書からのトークンを示す位置ブロック及び残留ビットマ
ップの2つの部分にエンコードされる。残留ビットマッ
プは、位置ブロックにおいてエンコードされなかったペ
ージ上の全てのマークをエンコードする。デコーディン
グの際、ページの位置ブロックによって指定されたトー
クンをまず非圧縮ビットマップに書き込み、次にOR動
作によってこのビットマップを残留ブロックと組み合わ
せる。残留ブロックに記憶されるビットマップは、元の
ページビットマップよりも小さくすることが可能であ
る。残留ビットマップが空(全てが白)である場合、
(長さフィールドを含む)残留ビットマップフィールド
は全て0を含み、エンコードされた残留ビットマップは
ない。
【0118】図21は、残留ブロック2100のフォー
マットを示している。実際にエンコードされた残留ビッ
トマップ以外の全てのフィールドは、符号が付いていな
い16又は32ビット値である。これらはそれぞれ2又
は4バイトとしてエンコードされ、最も大きなバイトが
最初に現れる(ビッグエンドエンコーディング)。
【0119】残留ビットマップの左エッジ このフィールド(フィールド2110)は、元のビット
マップに対する残留ビットマップの左エッジ位置を示
す。これは、2バイト値である。残留ビットマップの最上エッジ これは2バイト値(値2120)であり、元のビットマ
ップに対する残留ビットマップの最上エッジの位置を示
す。残留ビットマップの幅 これは2バイト値(値2130)であり、残留ビットマ
ップの幅を示す。残留ビットマップの高さ これは2バイト値(値2140)であり、残留ビットマ
ップの高さを示す。エンコードされた残留ビットマップの長さ これは4バイト値(値2150)であり、エンコードさ
れた残留ビットマップのバイト単位の長さを示す。エンコードされた残留ビットマップ これは、残留ビットマップのCCITTグループ−4エ
ンコード表現2160である。グループ−4圧縮はEO
Lコードを使用せず、バイトをMSBからLSBに埋め
る。サブセクション3.1.4の辞書高さクラスの場合
と同様、このビットマップを必要に応じて圧縮しないま
ま記憶できる。これは、0のバイトカウント値によって
フラグが立てられる。
【0120】6.ハフマンエンコーディング ハフマンツリーの構築に使用するアルゴリズムは以下の
通りである。 ・トークン使用カウントのアレイを構築する。使用カウ
ントが0であるトークンは、1の使用カウントを有する
ものとみなされる(これらは単一使用トークンであ
る)。アレイの順序は、現時点までにトークンがファイ
ル内に生じた順でなくてはならない。辞書クリアリング
コードの後、あらゆる維持されたトークンの順序は、維
持されたトークンが維持されたトークンのリストに現れ
る順序である。 ・2つの最低値エレメントの現行アレイを走査する。タ
イの場合は、アレイの開始に最も近いエレメントを常に
選択する。これは、使用カウントの1次キーと、アレイ
の位置の2次キーとを備える優先待ち行列を使用して行
うことが可能である。 ・これらの2つのエレメントの併合を表すツリーノード
を生成する。その使用カウントは、使用カウントの合計
である。 ・アレイにおいて、これらの2つのエレメントのうちの
第1エレメント(アレイの開始点に最も近いもの)をこ
の併合ノードと取り替える。アレイから第2エレメント
を取り除く(が、これを忘れない)。 ・アレイが単一ノードのみを含むまでこれを続ける。 ・このツリーを使用して、各トークンのハフマンコード
長を見つける。即ち、各トークンまでツリーをトラバー
スし、この経路の長さがそのトークンのコードのビット
数である。 ・「標準ハフマンコード」割り当てアルゴリズムを使用
して、コード自体を割り当てる。
【外1】
【0121】7.ブロックのカプセル化 これらのブロックの現行のカプセル化は非常に簡潔であ
るが、他のより複雑なカプセル化も可能である。ここに
記載されるものは最小のものであるが、パーズするには
非常に容易であり、過度の困難を生じずにページへのラ
ンダムアクセスを可能にする。このカプセル化のフィー
ルドは、図22に示されている。
【0122】識別ヘッダ これは、0×54 0×03 0×6f 0×8d 0
×50のバイトを含む5バイトフィールド(フィールド
2210)である。ファイルバージョン これは、使用されるカプセル化のバージョンを含む1バ
イトフィールド(フィールド2220)である。目下、
この値は9である。エンコードされた辞書ブロックの長さ これは、辞書ブロックのバイト単位の長さを示す4バイ
ト値(値2230)である。この値は、より高レベルの
カプセル化における全ての他の数値と同様、ネットワー
クバイト順(MSBが最初)に記憶される。辞書ブロック これは、セクション3に記載のフォーマットにおける辞
書ブロック(辞書ブロック2240)である。目下、辞
書ブロックは1つのみであり、辞書クリアリングコード
は使用されていない。これらをサポートするためにカプ
セル化を変更することは難しくない。ページの数 これは、このファイル内のページの数を示す2バイト値
(値2250)である。ページ これらの各々(例えば、エンコードされたページ1(2
260)、エンコードされたページ2(2270)、エ
リプシスで示されるような追加のエンコードされたペー
ジ2280)は、図23に示されるようにエンコードさ
れる。ページ2300のフィールドは、以下の通りであ
る。ページファイル名 これは、このページが由来するフ
ァイルの名前又は他の識別情報を示すNUL終端ストリ
ングである。ページ幅 これは、このページのビットマップの幅を
示す2バイト値(値2320)である。ページ高さ これは、このページのビットマップの高
さを示す2バイト値(値2330)である。エンコードされた位置ブロックの長さ これは、ペー
ジの位置ブロックのバイト単位の長さを示す4バイト値
(値2340)である。位置ブロック これは、セクション4に記載のフォー
マットにおける位置ブロック2350である。残留ブロック これは、セクション5に記載のフォー
マットにおける残留ブロック2360である。残留ブロ
ックの長さは最初の数バイトを走査することによって容
易に測定可能なため、残留ブロックの長さをエンコード
する必要はない。
【0123】7.1.TIFF内への埋め込み TIFFは、CCITTグループ−4圧縮ビットマップ
を記憶するために目下一般的に使用されている。このサ
ブセクションでは、辞書ブロック、位置ブロック及び残
留ブロックをTIFFファイル内に埋め込んでTIFF
がトークン圧縮ビットマップを表すことを可能にする態
様を簡潔に説明する。
【0124】デコンプレッサは、圧縮解除を正確に行う
ために位置ブロックの前にある全ての辞書ブロックを参
照する必要があるため、これらの辞書ブロックは出来る
だけ見つけ易いものでなくてはならない。好ましくは、
1ページあたり最大1ブロックがそのページの最上レベ
ルディレクトリに(タグとして)記憶される。デコンプ
レッサは特定のページにたどり着くためにファイルを通
過し、従ってデコンプレッサは必要である全ての辞書ブ
ロックを通過しなければならない。デコンプレッサは、
実際にランしてトークン圧縮バイナリ画像に入るまでは
これらをパーズする必要はないが、これらの位置(及び
順序)を記憶する必要がある。
【0125】一方、位置ブロックは、バイナリ画像のた
めに利用可能な情報を出来るだけ多く再使用するべきで
ある。位置ブロックは通常のバイナリ画像として記憶さ
れるべきであるが、その場合は可変圧縮方法を使用する
(TIFF仕様は、使用される圧縮方法による圧縮画像
のタグ付けを可能にする)。
【0126】残留ブロックもまた、対応する位置ブロッ
クと同一のページにバイナリ画像として記憶されうる。
同一ページに複数の画像を記憶することは、TIFF仕
様では可能である(しかし、これらを組み合わせる態様
は適切に指定されていない)。
【0127】8.更なる検討 ここに説明するものは、現行のDigiPaperフォ
ーマット及びこのフォーマットの可能な変更物に関連す
る追加の検討である。
【0128】(a)現行フォーマットでは、位置ブロッ
クはページ全体を表す。いくつかのアプリケーション
(特に、ファックス出力デバイス)では、ページをスラ
イスに分割することができる。これは、最初のページス
ライスがデコードされるとページのプリントを出来るだ
け速く開始することができるという意味である。各ペー
ジスライスは、位置ブロック及び残留ブロックを含む。
【0129】トップレベルのフォーマットは、辞書ブロ
ックがページ内で(ページスライス同士の間で)生じる
ということを許容するためにわずかに変更を施さなくて
はならない。これは、単一ページへの容易なアクセスを
可能にする目的と相反する。後に続くページをデコード
可能にするには、デコーダはページを読み通してこれら
の辞書ブロックをピックアップしなければならない。し
かし、各ページスライスの位置ブロックを完全にデコー
ドする必要はない。
【0130】(b)コーダが各ページのトークンを分類
する態様、コーダが辞書ブロック及び辞書クリアリング
コードを配置する場所、エンコーディング表の選択、ペ
ージをページストリップに分割する態様などに依存し
て、あらゆる所与の文書は多数の表現を有することがで
きる。エンコーダ及びデコーダのメモリ要件は、適切に
生成されうる又はデコードされうる表現を制限する可能
性がある。(ファックス出力デバイスへの伝送のよう
に)エンコーダ及びデコーダが直接交信する場合、これ
らはメモリ限度を決めることができ、エンコーダは、
(ページ画像バッファメモリ要件を低減するために)各
ページを分割して十分小さいストリップにすると共に
(トークン辞書メモリ要件を低減するために)辞書クリ
アリングコードを挿入することによってデコーダがこの
限度を越えないことを確実にすることができる。このよ
うな制約は、圧縮を劣化する傾向がある。
【0131】文書がファイルに圧縮されると、このよう
な取り決めは不可能になるため、このような記憶ファイ
ルから解読するデコーダは(潜在的に)多量のメモリを
使用する準備をしなくてはならない。しかし、このよう
な状況において、デコーダは一定の強力な汎用コンピュ
ータにおいてランする傾向があるため、この要件は面倒
ではない。一方、ファックスマシンに関しては、コスト
要件によってはメモリ使用が厳しく制約される状況にな
る可能性があるが、幸いにもこれらは取り決めが可能な
状況である。
【0132】(c)エンコードされたトークン高さクラ
ス及び残留ビットマップは、CCITTグループ−4を
使用して圧縮されるか、あるいはグループ−4が実際に
これらのサイズを増大する場合では圧縮しないまま記憶
される。グループ−4圧縮及び圧縮解除を行うシステム
(ハードウェア及びソフトウェアの双方)は一般的であ
り、非常に簡潔であるため、これを選択した。これらの
ビットマップは、あらゆる好適なロスレスバイナリコン
プレッサ、例えばJBIGを用いて記憶することが可能
である。
【0133】DigiPaperファイルフォーマット
を十分に説明した。次に、本発明の更なる用途を述べ
る。一般に、本発明は、素早く高品質の文書レンダリン
グを必要とするあらゆる状況において用途を見出すこと
ができる。
【0134】本発明は、ワールドワイドウェブ文書など
の対話式文書に特に好適である。(特にHTMLと比較
して)トークン化表現の表現性のため、DigiPap
erフォーマットでエンコードされるウェブ文書をプリ
ント媒体に匹敵する忠実性でレンダリングすることがで
きる。
【0135】図24のフローチャートは、ウェブサーバ
と、Javaプログラミング言語をサポートするウェブクラ
イアント(ブラウザ)プログラムをランするクライアン
トコンピュータとの間の簡潔な対話を示している。クラ
イアントコンピュータは、DigiPaperフォーマ
ットでエンコードされる新しいウェブページを示すハイ
パーテキストリンクをクライアントコンピュータのユー
ザが選択したことを示すコマンドを受け取る(ステップ
AA)。コンピュータは選択されたリンクをたどること
でこれに応答し(ステップBB)、選択されたページを
ダウンロードし始める。最初にダウンロードするもの
は、Java言語プログラム、即ちアプレット(applet)であ
り(ステップCC)、クライアントコンピュータはこれ
を自動的に実行し始める。Javaアプレットを実施するこ
とにより、クライアントコンピュータは、ウェブページ
の可読内容を構成する表示可能テキスト及びグラフィッ
クスのDigiPaperトークン化表現を含むデータ
ファイルをダウンロードする(ステップDD)。アプレ
ットはまたDigiPaperデコンプレッサソフトウ
ェアを含み、これによってトークン化表現がダウンロー
ドされるとクライアントコンピュータはこれをレンダリ
ングでき(ステップEE)、得られたウェブページを表
示できる(ステップFF)。DigiPaper表現
は、ダウンロードされたウェブページに埋め込まれたハ
イパーテキストリンクをサポートする拡張を含むことが
でき、アプレットは圧縮解除ページのユーザが選択した
新しいリンクを認識できる(引き続きステップFF)。
ユーザが次にすることに依存して(ステップGG)、ア
プレットはダウンロードされたDigiPaperペー
ジのユーザが選択したリンクに応答して新しいページに
リンクする(ステップBB)か、又は制御をブラウザに
戻すことができる(ステップHH)。新しいウェブペー
ジが選択された場合、アプレットは制御されたままであ
る。特に、新しく選択されたページがDigiPape
rページである場合、アプレットは再びダウンロードさ
れる必要はない(ステップBB)。ユーザが、例えば目
下表示されているページの内容にさほど関連していない
ブラウザ機能を選択した場合、アプレットを終わらせる
か又は中断し、制御をメインブラウザプログラムに戻す
ことができる(ステップHH)。
【0136】DigiPaperトークン化文書表現に
デコンプレッサアプレットがバンドルされている場合、
得られるパッケージは本質的にはセルフレンダリングフ
ァイルフォーマットであることが、この例によって示さ
れている。
【0137】ブラウザが産業標準のJava言語をサポート
する限り、ブラウザはDigiPaper用に指定され
てイネーブルされる必要はない。
【0138】本発明の多くの他の実施の形態が可能であ
る。特に、DigiPaperファイルフォーマットは
トークン化表現に好適なフォーマットであるが、他の構
造化文書表現を使用することができる。1つの可能性
は、PDLの非常に減少されたサブセットを使用するこ
とである。このサブセットは、種々の記号のビットマッ
プを示したりレンダリング画像内のどこに記号が配置さ
れるかを示すのに十分ないくつかのオペレータと、所望
の位置において記号を引き出すための基本的なコマンド
を含むだけでよい。例えば、PostScriptで
は、サブセットはimagemask、moveto、
rmoveto、definefont及びshowと
いうオペレータが可能であり、これらのオペレータは P
ostScript Manualの435、456、483、398及
び520ページにそれぞれ定義されている。特に、de
finefontオペレータはビットマップフォントを
許容でき、従ってトークンビットマップを定義するため
に使用可能である。
【0139】ブラウズ−ナウ−プリント−レイター(Br
owse-Now-Print-Later) 特定のウェブ文書へのユーザアクセスを制御することが
望ましい場合がある。おそらく特権のためにお金を払っ
ている著作権を有する文書を含むウェブページをユーザ
がブラウズしており、サーバからこの文書をダウンロー
ドしようとすることを想定する。この後、ダウンロード
した文書のあらゆる数のデジタルコピーをユーザが作成
したり分配したりすることを止めるものは何もなく、従
って著作権を有する作品の価値を害する可能性がある。
従って、何らかの手段を用いて、ユーザがウェブの文書
をブラウズすることを可能にはするが、ユーザが文書の
高品質デジタルコピーを得ることを防げることが望まし
い。
【0140】同時に、ユーザによる文書の高品質プリン
トコピーの要求も満たされなくてはならない。
【0141】後述される本発明の実施の形態によると、
PDL表現などのソース文書の解像度に依存しない構造
化表現はロスレスでそれぞれ異なる解像度の2つ(又は
それより多く)のDigiPaperトークン化表現に
変換される。例えば、PDLオリジナルは、低解像度D
igiPaper表現及び高解像度DigiPaper
表現としてエンコードされる。低解像度表現は、オンラ
インウェブブラウジング及びスクリーン表示に好適であ
るが、高品質プリントには不十分な解像度である。文書
の高品質プリントコピーの作成には、高解像度表現のみ
が好適である。
【0142】低解像度表現はウェブサーバに記入され、
従ってあらゆる全てのウェブユーザによる通常無料のオ
ンラインブラウジングが可能になる。文書に興味があ
り、これを読むために高品質のプリントコピーを望むユ
ーザは、ウェブサーバにプリントアウトのリクエストを
送る。これに応答して、サーバは委託プリント設備にコ
ンタクトをし、保護された通信チャネルを介して文書の
高解像度DigiPaper表現をこの設備に提供す
る。委託プリント設備は、高解像度DigiPaper
表現から文書のハードコピーをプリントし、これをリク
エストしたユーザに対して利用可能になる。ユーザはこ
れに応じて料金を請求され、適切な著作権使用料が著作
権所有者に流れる。重要なことに、ユーザは文書の高解
像度DigiPaper表現に全くアクセスせず、従っ
て文書の高品質デジタルコピーの作成が有効に防止され
る。
【0143】このスタイルのウェブの使用を、ブラウズ
−ナウ−プリント−レイター(今ブラウズし、後でプリ
ントする)と呼ぶことができる。これは、図25の概念
的な例において示される。ウェブユーザは、PC又は他
のローカルコンピュータにおいてウェブブラウザ(クラ
イアント)をランする。ユーザは、例えば表示されたウ
ィンドウ2510を眺め、ユーザはこれを介してブラウ
ザと対話をする。文書の低解像度表現2520をウィン
ドウ2510において眺めることができる。これは、低
解像度テキスト表現2521と、低解像度ラインアート
表現2522とを含む。ユーザは自由に低解像度表現2
520をダウンロードし、これを複写することさえ可能
である。低解像度表現2520は、文書が興味をもつも
のであるかどうかをユーザに示すには十分な画像である
が、ユーザが低解像度テキスト2521を楽に読んだり
又はラインアート2522の詳細を容易に認識したりす
るには十分な画像ではない。
【0144】ウィンドウ2510にはハイパーテキスト
リンク2523もあり、例えばマウス又は他のポインテ
ィングデバイスを用いてユーザがこれを選択し、文書の
高解像度ハードコピーを注文することができる。矢印2
525で示されるような適切な支払い又はクレジットと
共にリクエストすると、ユーザの注文は文書の高解像度
表現と一緒にプリントショップ又は他の委託プリント設
備に伝送される。高解像度プリントコピー2530は、
高解像度表現から作成される。この後、プリントショッ
プは高解像度プリントコピーをユーザに郵便で送るか又
は配達することができ、あるいはユーザがプリントショ
ップを訪れてコピー2530をピックアップすることが
できる。ユーザは、(それぞれ高解像度テキスト表現2
531及び高解像度ラインアート表現2532として)
文書のテキスト及びラインアートを明確に示す高解像度
コピー2530を楽に読むことができる。一方、プリン
トショップ又は他の委託プリント設備は料金を集めて処
理し、適用するあらゆる著作権使用料を著作権所有者に
送る。
【0145】図26は、本発明のブラウズ−ナウ−プリ
ント−レイターの実施の形態における文書エンコーディ
ング段階を示している。PDLファイルなどの解像度に
依存しないソース文書表現2601が、1つ又はそれよ
り多くの保護された通信チャネル2609を介してエン
コーダ2610、2630に提供され、これはそれぞれ
低解像度及び高解像度のDigiPaperトークン化
フォーマットに変換される。エンコーダ2610、26
30は、例えば、異なるDigiPaperエンコーデ
ィングプログラムをランする2つの異なるコンピュータ
でもよいし、又は入力パラメータを許容してエンコーデ
ィング解像度を制御するプログラムをランする単一のコ
ンピュータでもよい。低解像度(例えば、72dpi)
は、スクリーンディスプレイを生成するには許容可能で
あるが、高品質のプリントには許容不可能である。高解
像度(例えば、600dpi)は、高品質プリントに好
適である。保護通信チャネル2609は、例えば専用ハ
ードワイヤリンク、電話リンク又は適切に記号化された
ネットワーク経路が可能である。いずれにせよ、保護チ
ャネル2609をわたって送られる情報は、非認可の窃
信又はコピーを容易に受けない。
【0146】この実施の形態において、低解像度エンコ
ーダ2610によって形成される低解像度DigiPa
per表現は保護されていない通信チャネル2611を
介してディスプレイサーバ又はサービス2620に提供
される一方、高解像度エンコーダ2630によって形成
される高解像度表現は保護チャネル2631を介してプ
リントサーバ又はサービス2640に提供される。保護
されていないチャネル2611は、例えば記号化されて
いないインターネット経路であってもよい。保護されて
いないチャネル2611をわたって送られる低解像度表
現は、非認可の窃信及びコピーを受ける。チャネル26
09のように、保護チャネル2631は、例えば専用ハ
ードワイヤリンク、電話リンク、好適に記号化されたネ
ットワーク経路又は非認可の窃信を容易に受けないあら
ゆる通信チャネルとすることが可能である。ディスプレ
イサーバ又はサービス2620及びプリントサーバ又は
サービス2640は、例えば2つの物理的に別個である
コンピュータ(サーバ)であってもよいし、単一コンピ
ュータ上で実施する2つの処理でもよい。プリントサー
バ又はサービス2640は高解像度DigiPaper
表現の保管を委託されているため、それ自体が信頼でき
るものでなければならないことに注意する。
【0147】図27は、本発明のブラウズ−ナウ−プリ
ント−レイターの実施の形態におけるデコーディングの
簡潔な例を示している。図27の実施の形態では、文書
の低解像度及び高解像度DigiPaper表現の双方
が単一サーバ2705に記憶されている。サーバ270
5はユーザ2790から遠隔に位置しており、著作権所
有者によって委託されている。サーバ2705は、ディ
スプレイサービス2706及びプリントサービス270
7を提供する。
【0148】ディスプレイサービス2706は、保護さ
れていないチャネル2711及びネットワーク2710
(例えば、インターネット)を介してウェブブラウザソ
フトウェアプログラムをランするクライアントコンピュ
ータ2720に低解像度表現を提供する。クライアント
2720は委託されていない。即ち、クライアント27
20を使用する人物(ここではユーザ2790)は、文
書の非認可コピーの作成を控えることを当てにされてい
ない。同様に、保護されていないチャネル2711は、
非認可の人物による窃信を受けやすい。クライアント2
720は、低解像度ディスプレイ出力2725を生成す
るウェブブラウザソフトウェアをランし、ユーザ279
0はこの出力をオンライン2729で眺めることができ
る。
【0149】ディスプレイサービス2706は、クライ
アント2720からのハードコピーリクエストを受け入
れてこれを安全にプリントサービス2707に通信する
こともできる。この実施の形態では、このようなリクエ
ストを受け取ると、プリントサービス2707は保護さ
れた専用通信チャネル2731を介して高解像度Dig
iPaper表現をプリンタ2730に提供する。プリ
ンタ2730は委託されている。即ち、プリンタ273
0を作動する人物又は設備は非認可コピーを作成しない
ことを当てにされており、更にプリントコピーのユーザ
への提供に関連する金銭的な計算を処理することを当て
にされている。プリンタ2730は、高品質の高解像度
プリンタ出力2735を生成すると共に2733で示さ
れるようなインボイスなどを作成する。プリント出力2
735がユーザ2790に物理的に配達されると(27
39)、ユーザ2790はこれを読むことができる。配
達2739は、例えば郵便、空輸又は陸運などによって
行うことができる。あるいは、ユーザ2790はプリン
タ2730を保有する設備からプリント出力2735を
ピックアップすることができる。通常は、ユーザの便宜
を向上させると同時に文書の安全性を確実にするため
に、プリンタ2730は、ユーザ2790の比較的近く
に位置するがユーザ2790の家屋内ではなく、又は少
なくとも適切な認可なしではユーザ2790がアクセス
することができないプリントサービスビューロー、コピ
ーショップ又は他の設備に配置される。
【0150】図28は、本発明のブラウズ−ナウ−プリ
ント−レイターの実施の形態におけるデコーディングの
より複雑な例を示している。図28の実施の形態では、
文書の低解像度DigiPaper表現はディスプレイ
サーバ2806に記憶されており、1つ又はそれより多
くの高解像度DigiPaper表現はプリントサーバ
2807に記憶されている。ディスプレイサーバ280
6は、保護されていないチャネル2811を介してネッ
トワーク2810をわたって委託されていないクライア
ント2820a、2820b及び2820cと通信し、
またディスプレイサーバ2806は保護されたチャネル
2831を介してプリントサーバ2807と通信する。
保護チャネル2831は、ディスプレイサーバ2806
とプリントサーバ2807との間を直接ランするか又は
場合によってはネットワーク2810を通ることが可能
である。ディスプレイサーバ2806は文書の低解像度
DigiPaper表現をクライアント2820a、2
820b及び2820cに伝送し、クライアントはこれ
を低解像度ディスプレイ出力2825a、2825b及
び2825cとして各々のユーザ(図示せず)に表示す
ることができる。
【0151】ディスプレイサーバ2806はまた、クラ
イアント2820a、2820b及び2820cからの
ハードコピー出力のリクエストを受け取ることができ
る。ディスプレイサーバ2806は、保護チャネル28
31を介してこれらのリクエストをプリントサーバ28
07に転送する。好ましくは、プリントサーバ2807
へのリクエストはディスプレイサーバ2806から保護
されていないチャネルではなく保護チャネルをわたって
通信され、妨害者が適切な認可なしでプリントコピーを
リクエストすることを防ぐ。
【0152】ディスプレイサーバ2806からハードコ
ピー出力リクエストを受け取ると、プリントサーバ28
07はインボイスを処理できるように計算サーバ283
3に知らせ、保護チャネル2831を介してネットワー
ク2810をわたって委託プリンタ2830に文書の高
解像度DigiPaper表現を伝送し、プリンタ28
30はこの表現から高解像度プリント出力2839を生
成する。
【0153】図28はまた、ディスプレイサーバ280
6からクライアント2820a、2820b及び282
0cへの通信を窃信する非認可の窃信者2890を示し
ている。チャネル2811が保護されていないため、こ
のような窃信は可能である。しかし、窃信者2890は
文書の低解像度表現しか窃信することができない。保護
チャネル2831を介してプリントサーバ2807から
又はプリントサーバ2807に送られる高解像度表現は
アクセスできない。
【0154】図27及び図28の実施の形態に共通のい
くつかの点は注目に値する。各実施の形態において、双
方のサーバ又はサービスは著作権所有者又は他の正当な
文書保有者によって委託されており、これらの間のリン
クは保護されている。同様に、出力プリンタも委託され
ている。サーバ及びプリンタのいずれも、非認可のユー
ザにアクセスできない。クライアント及びユーザは委託
されておらず信用に値しないものとみなされ、従ってこ
れらとの通信は保護されない。
【表1】
【表2】
【表3】
【表4】
【表5】
【表6】
【表7】
【表8】
【表9】
【表10】
【表11】
【表12】
【図面の簡単な説明】
【図1】従来技術の構造化文書表現における表現性対レ
ンダリング速度のトレードオフの略図である。
【図2】従来技術の異なるフォントにおける文字「E」
の例である。
【図3】従来技術において入力ページ記述言語ファイル
からの文書をプリントするプリンタの略図である。
【図4】本発明による完全な圧縮−圧縮解除サイクルに
おいて構造化文書表現に適用される変換の全体的なシー
ケンスを示している。
【図5】入力ページ記述言語ファイルをトークン化表現
に変換するコンプレッサの略図であり、図4の圧縮段階
において構造化文書表現に適用される変換をより詳細に
示している。
【図6】圧縮段階及び圧縮解除段階が互いから分離可能
である態様を示す一連の図である。
【図7】トークン化表現からの文書をプリントするプリ
ンタの略図である。
【図8】トークン化表現からの文書を表示するディスプ
レイビューアの略図である。
【図9】文書の構造化表現を文書のトークン化表現に変
換するために好適なシステムのハードウェア構成要素及
びソフトウェア構成要素を示している。
【図10】文書のトークン化表現をプリント可能又は表
示可能ページ画像などのレンダリング画像に変換するた
めに好適な構成要素を含むシステムを示している。
【図11】例示的で非常に簡略化されたトークン化ファ
イルフォーマットにおけるトークン及び位置を示してい
る。
【図12】例示的で簡略化されていると共にインターリ
ーブされていないトークン化ファイルフォーマットにお
いて表される文書の辞書ブロック及びページ(位置ブロ
ック及び残留ブロックを含む)のカプセル化の図であ
る。
【図13】例示的で簡略化されていると共にインターリ
ーブされたトークン化ファイルフォーマットにおいて表
される文書の辞書ブロック及びページ(位置ブロック及
び残留ブロックを含む)のカプセル化の図である。
【図14】文書圧縮ステップのフローチャートである。
【図15】文書圧縮解除ステップのフローチャートであ
る。
【図16】好適な実施の形態のトークン化ファイルフォ
ーマットにおいて、辞書拡張を含む辞書ブロックのフォ
ーマットを示している。
【図17】好適な実施の形態のトークン化ファイルフォ
ーマットにおいて、高さクラスのフォーマットを示して
いる。
【図18】好適な実施の形態のトークン化ファイルフォ
ーマットにおいて、辞書クリアリングセクションのフォ
ーマットを示している。
【図19】好適な実施の形態のトークン化ファイルフォ
ーマットにおいて、位置拡張を含む位置ブロックのフォ
ーマットを示している。
【図20】好適な実施の形態のトークン化ファイルフォ
ーマットにおいて、ストリップのフォーマットを示して
いる。
【図21】好適な実施の形態のトークン化ファイルフォ
ーマットにおいて、残留ブロックのフォーマットを示し
ている。
【図22】好適な実施の形態のトークン化ファイルフォ
ーマットに表される文書の辞書ブロック及びページのカ
プセル化を示している。
【図23】好適な実施の形態のトークン化ファイルフォ
ーマットに表される文書のページの位置ブロック、残留
ブロック及び他のエレメントを示している。
【図24】トークン化ファイルとして圧縮されたウェブ
ページを組み込むワールドワイドウェブビューアの動作
を示すフローチャートである。
【図25】ウェブユーザの側から示されるようなブラウ
ズ−ナウ−プリント−レイターウェブアクセスの概念的
な例である。
【図26】ブラウズ−ナウ−プリント−レイターアプリ
ケーションのための本発明のエンコーディング段階を示
している。
【図27】ブラウズ−ナウ−プリント−レイターアプリ
ケーションのための本発明のデコーディング段階の実施
の形態の簡潔な例を示している。
【図28】ブラウズ−ナウ−プリント−レイターアプリ
ケーションのための本発明の実施の形態のより複雑な例
を示している。
【符号の説明】
40 文書の入力PDL表現 41 トークン化コンパイラ 42 トークン化表現 43 レンダリングエンジン 44 文書の出力画像表現 47 コンプレッサ 100 汎用コンピュータ 105 CPU 165 トークン化コンパイラソフトウェア 1111 トークン 1112 位置 2705 遠隔サーバ 2710 ネットワーク 2720 クライアント 2725 低解像度ディスプレイ出力 2730 専用プリンタ 2735 高解像度ディスプレイ出力 2790 ユーザ
フロントページの続き (72)発明者 ジョン スィーリー ブラウン アメリカ合衆国 94301 カリフォルニ ア州 パロ アルト ウェイバーリー ストリート 1110 (58)調査した分野(Int.Cl.7,DB名) G06F 3/12

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 コンピュータベースの文書処理方法であ
    って、 文書の第1構造化表現(以下「開始表現」とする)を含
    むデジタル情報の第1セットをプロセッサに提供するス
    テップを含み、前記開始表現は解像度に依存しない表現
    であり、複数の画像の集まりが前記開始表現から取得可
    能であり、このような各取得可能な画像の集まりは少な
    くとも1つの画像を含み、前記各集まりにおける各画像
    は前記文書の少なくとも一部分の画像であり、前記各集
    まりにおける各画像は固有解像度を有し、 プロセッサを用いて、前記文書の第2構造化表現(以下
    「低解像度表現」とする)を含むデジタル情報の第2セ
    ットを前記デジタル情報の第1セットから生成するステ
    ップを含み、前記低解像度表現は特定の画像の集まり
    (以下「低解像度画像の集まり」とする)のロスレス表
    現であり、前記低解像度画像の集まりは前記開始表現か
    ら取得可能な前記複数の画像の集まりのうちの1つであ
    り、前記低解像度画像の集まりにおける各画像は第1の
    固有解像度(以下「低解像度」とする)を有し、前記低
    解像度表現は複数のトークン(以下「低解像度トーク
    ン」とする)及び複数の位置を含み、前記デジタル情報
    の第2セットの生成は前記開始表現から前記低解像度ト
    ークンを抽出するステップを含み、各低解像度トークン
    は前記低解像度画像の集まりのサブ画像を表すピクセル
    データのセットを含み、 前記開始表現から前記低解像度表現の複数の位置を決定
    するステップを含み、前記低解像度表現の各位置は前記
    低解像度画像の集まりにおけるサブ画像(以下「低解像
    度サブ画像」とする)の位置であり、前記低解像度サブ
    画像は前記低解像度トークンのうちの1つからのサブ画
    像のうちの1つであり、前記低解像度サブ画像のうちの
    少なくとも1つは複数のピクセルを有すると共に前記画
    像の集まりにおいて1つよりも多い位置で生じ、 プロセッサを用いて、文書の第3構造化表現(以下「高
    解像度表現」とする)を含むデジタル情報の第3セット
    を前記デジタル情報の第1セットから生成するステップ
    を含み、前記高解像度表現は特定の画像の集まり(以下
    「高解像度画像の集まり」とする)のロスレス表現であ
    り、前記高解像度画像の集まりは前記開始表現から取得
    可能な複数の画像の集まりのうちの1つであり、前記高
    解像度画像の集まりにおける各画像は第2の固有解像度
    (以下「高解像度」とする)を有し、前記高解像度は前
    記低解像度よりも大きく、前記高解像度表現は複数のト
    ークン(以下「高解像度トークン」とする)及び複数の
    位置を含み、前記デジタル情報の第3セットの生成は前
    記開始表現から前記高解像度トークンを抽出するステッ
    プを含み、各高解像度トークンは前記高解像度画像の集
    まりのサブ画像を表すピクセルデータのセットを含み、 前記開始表現から前記高解像度表現の複数の位置を決定
    するステップを含み、前記高解像度表現の各位置は前記
    高解像度画像の集まりにおけるサブ画像(以下「高解像
    度サブ画像」とする)の位置であり、高解像度サブ画像
    は前記高解像度トークンのうちの1つからのサブ画像の
    うちの1つであり、前記高解像度サブ画像のうちの少な
    くとも1つは複数のピクセルを有すると共に前記画像の
    集まりにおいて1つよりも多い位置で生じ、 このようにして生成された前記デジタル情報の第2セッ
    ト及び第3セットを後の使用のために利用可能にするス
    テップを含む、 コンピュータベースの文書処理方法。
  2. 【請求項2】 前記提供ステップが前記文書のフォント
    ベースの第1構造化表現をプロセッサに提供することを
    含み、前記生成ステップが前記文書のフォントレス第2
    構造化表現を生成することを含む、請求項1に記載の方
    法。
  3. 【請求項3】 コンピュータベースの文書処理方法であ
    って、 文書の第1表現及び第2表現を提供するステップを含
    み、前記第1表現及び第2表現は解像度依存構造化表現
    であると共に各々が第1固有解像度及び第2固有解像度
    を有し、前記第2解像度は前記第1解像度よりも大き
    く、 前記第2表現ではなく前記第1表現を委託されていない
    受領者にデジタル形式で提供するステップを含み、 人間によって可読の非デジタル形式である前記文書の第
    3表現に前記第2表現を変換するステップを含み、 前記第2表現でなく前記第3表現を前記委託されていな
    い受領者に提供するステップを含む、 コンピュータベースの文書処理方法。
JP9143504A 1996-05-23 1997-05-16 コンピュータベースの文書処理方法 Expired - Fee Related JP3061765B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/652,864 US5884014A (en) 1996-05-23 1996-05-23 Fontless structured document image representations for efficient rendering
US652864 1996-05-23
US752497 1996-11-08
US08/752,497 US6011905A (en) 1996-05-23 1996-11-08 Using fontless structured document image representations to render displayed and printed documents at preferred resolutions

Publications (2)

Publication Number Publication Date
JPH1097397A JPH1097397A (ja) 1998-04-14
JP3061765B2 true JP3061765B2 (ja) 2000-07-10

Family

ID=27096384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9143504A Expired - Fee Related JP3061765B2 (ja) 1996-05-23 1997-05-16 コンピュータベースの文書処理方法

Country Status (7)

Country Link
US (2) US6275301B1 (ja)
EP (1) EP0809210B1 (ja)
JP (1) JP3061765B2 (ja)
BR (1) BR9703310A (ja)
CA (1) CA2205732C (ja)
DE (1) DE69737115T2 (ja)
MX (1) MX9703686A (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) * 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
JPH11338666A (ja) * 1998-05-04 1999-12-10 Hewlett Packard Co <Hp> プリント可能なペ―ジを提供するための方法およびハ―ドコピ―を配信する装置
WO2000002148A1 (en) * 1998-07-02 2000-01-13 Interleaf, Inc. System and method for rendering and displaying a compound document
US6972865B1 (en) * 1999-03-01 2005-12-06 Canon Kabushiki Kaisha Image processing apparatus and method, and storage medium
US6539420B1 (en) * 1999-06-04 2003-03-25 International Business Machines Corporation Distribution mechanism for reuse of web based image data
US6518976B1 (en) * 1999-07-30 2003-02-11 Microsoft Corporation Graphics container
US6587583B1 (en) * 1999-09-17 2003-07-01 Kurzweil Educational Systems, Inc. Compression/decompression algorithm for image documents having text, graphical and color content
US7233407B1 (en) * 2000-02-02 2007-06-19 Xerox Corporation Document production system for capturing web page content
JP2001236271A (ja) * 2000-02-22 2001-08-31 Nippon Techno Lab Inc 携帯電話メール情報印刷システム、携帯電話メール情報印刷方法および携帯電話メール情報印刷課金方法。
WO2001077806A1 (de) * 2000-04-11 2001-10-18 OCé PRINTING SYSTEMS GMBH Verfahren und system zur registerhaltigen verarbeitung von druckdaten
US7400334B1 (en) 2000-09-29 2008-07-15 809, L.L.C. Use of vector graphics in paper printing and website development
AU2001296993A1 (en) * 2000-10-05 2002-04-15 Christopher Peiffer Connection management system and method
US6834297B1 (en) 2000-10-06 2004-12-21 Redline Networks, Inc. Web resource transfer acceleration system and method
US7249196B1 (en) 2000-10-06 2007-07-24 Juniper Networks, Inc. Web page source file transfer system and method
US7263550B1 (en) 2000-10-10 2007-08-28 Juniper Networks, Inc. Agent-based event-driven web server architecture
US7500017B2 (en) * 2001-04-19 2009-03-03 Microsoft Corporation Method and system for providing an XML binary format
US7916124B1 (en) * 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US6608618B2 (en) * 2001-06-20 2003-08-19 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US8346848B2 (en) 2001-08-16 2013-01-01 Juniper Networks, Inc. System and method for maintaining statefulness during client-server interactions
US7127503B2 (en) * 2001-10-10 2006-10-24 Juniper Networks, Inc. Computer networking system, device, and method for improved speed in web page rendering
US6539405B1 (en) 2001-10-17 2003-03-25 Herbert M. Honig Information cross referencing system
US6839149B2 (en) * 2002-03-21 2005-01-04 ColorQuick.com, LLC Preparation of production data for a print job using a still image proxy of a page description language image file
US20040205662A1 (en) * 2002-05-30 2004-10-14 Brad Anderson Image preservation and reconstruction
US20030233422A1 (en) * 2002-06-12 2003-12-18 Andras Csaszar Method and apparatus for creation, publication and distribution of digital objects through digital networks
US20080131648A1 (en) * 2003-06-23 2008-06-05 Solid Water Holdings Waterproof/breathable, moisture transfer, soft shell alpine boots and snowboard boots, insert liners and footbeds
JP2004086810A (ja) * 2002-08-29 2004-03-18 Fuji Xerox Co Ltd 画像形成システム、バックエンドプロセッサ
US20070283047A1 (en) * 2002-10-01 2007-12-06 Theis Ronald L A System and method for processing alphanumeric characters for display on a data processing device
US20040120589A1 (en) * 2002-12-18 2004-06-24 Lopresti Daniel Philip Method and apparatus for providing resource-optimized delivery of web images to resource-constrained devices
US7796292B2 (en) * 2003-01-03 2010-09-14 Integrated Software Design, Inc. Interactive system and method for graphical document generation
US7319543B2 (en) * 2003-03-17 2008-01-15 Kabushiki Kaisha Toshiba Image forming system
US20060017955A1 (en) * 2003-03-31 2006-01-26 Sharp Laboratories Of America, Inc. Selective graphic instance rendering
CN100541537C (zh) * 2003-11-24 2009-09-16 廖宏 一种利用计算机对数字化档案文件压缩的方法
EP1544761A1 (de) * 2003-12-17 2005-06-22 Axel Dr. Glanz Verfahren und Vorrichtung zur Erzeugung und zum Versand eines grafischen Abbildes eines elektronisch erzeugten Dokumentes
US7499913B2 (en) * 2004-01-26 2009-03-03 International Business Machines Corporation Method for handling anchor text
US7424467B2 (en) * 2004-01-26 2008-09-09 International Business Machines Corporation Architecture for an indexer with fixed width sort and variable width sort
US7293005B2 (en) 2004-01-26 2007-11-06 International Business Machines Corporation Pipelined architecture for global analysis and index building
US8296304B2 (en) * 2004-01-26 2012-10-23 International Business Machines Corporation Method, system, and program for handling redirects in a search engine
US7831933B2 (en) 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US7853193B2 (en) 2004-03-17 2010-12-14 Leapfrog Enterprises, Inc. Method and device for audibly instructing a user to interact with a function
US7552116B2 (en) * 2004-08-06 2009-06-23 The Board Of Trustees Of The University Of Illinois Method and system for extracting web query interfaces
US20060181026A1 (en) * 2005-02-14 2006-08-17 Wong Jacob Y Chinese poker deck
US7461064B2 (en) 2004-09-24 2008-12-02 International Buiness Machines Corporation Method for searching documents for ranges of numeric values
US7610400B2 (en) * 2004-11-23 2009-10-27 Juniper Networks, Inc. Rule-based networking device
US8417693B2 (en) * 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US7922099B1 (en) 2005-07-29 2011-04-12 Leapfrog Enterprises, Inc. System and method for associating content with an image bearing surface
US7936339B2 (en) 2005-11-01 2011-05-03 Leapfrog Enterprises, Inc. Method and system for invoking computer functionality by interaction with dynamically generated interface regions of a writing surface
US7853869B2 (en) * 2005-12-14 2010-12-14 Microsoft Corporation Creation of semantic objects for providing logical structure to markup language representations of documents
US8599143B1 (en) 2006-02-06 2013-12-03 Leapfrog Enterprises, Inc. Switch configuration for detecting writing pressure in a writing device
US8261967B1 (en) 2006-07-19 2012-09-11 Leapfrog Enterprises, Inc. Techniques for interactively coupling electronic content with printed media
JP2008040796A (ja) * 2006-08-07 2008-02-21 Fuji Xerox Co Ltd 文書出力制御のためのプログラム及び装置及びシステム
US20080320385A1 (en) * 2006-09-29 2008-12-25 Colorquick, L.L.C. Graphical Object Insertion During Preparation of Production Data for a Print Job Using a Still Image Proxy of a Page Description Language Image File
US20080218812A1 (en) * 2007-03-05 2008-09-11 Wolf John P Metadata image processing
US20080304113A1 (en) * 2007-06-06 2008-12-11 Xerox Corporation Space font: using glyphless font for searchable text documents
US8185565B2 (en) * 2007-11-16 2012-05-22 Canon Kabushiki Kaisha Information processing apparatus, control method, and storage medium
US8204964B2 (en) * 2008-08-06 2012-06-19 Microsoft Corporation Efficient size optimization of visual information or auditory information
US9087337B2 (en) * 2008-10-03 2015-07-21 Google Inc. Displaying vertical content on small display devices
US8180164B2 (en) * 2008-12-16 2012-05-15 Xerox Corporation OCR-guided text tokenization of digital images
US8352855B2 (en) 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
JP5471072B2 (ja) * 2009-06-26 2014-04-16 富士通株式会社 表示テスト装置、表示テストプログラムおよび表示テスト方法
KR20110032678A (ko) * 2009-09-23 2011-03-30 삼성전자주식회사 디스플레이장치, 시스템 및 그 해상도 제어방법
US9507827B1 (en) * 2010-03-25 2016-11-29 Excalibur Ip, Llc Encoding and accessing position data
US8442998B2 (en) 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
US8549399B2 (en) 2011-01-18 2013-10-01 Apple Inc. Identifying a selection of content in a structured document
US9817899B2 (en) * 2013-08-26 2017-11-14 Globalfoundries Searching for secret data through an untrusted searcher
US20170291261A1 (en) * 2015-06-12 2017-10-12 Ashok Chand Mathur Method And Apparatus Of Very Much Faster 3D Printer
US9811505B2 (en) * 2015-07-20 2017-11-07 Sas Institute Inc. Techniques to provide processing enhancements for a text editor in a computing environment
US10043036B1 (en) * 2017-08-22 2018-08-07 TokenEx, LLC Systems and methods for tokenization to support pseudononymization of sensitive data

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410916A (en) 1979-08-24 1983-10-18 Compression Labs, Inc. Dual mode facsimile coding system and method
JPS58114670A (ja) 1981-12-28 1983-07-08 Photo Composing Mach Mfg Co Ltd 文字画像デ−タ圧縮方式
JPS5947666A (ja) 1982-09-13 1984-03-17 Dainippon Screen Mfg Co Ltd 2値画像のデ−タ圧縮方法
US4499499A (en) 1982-12-29 1985-02-12 International Business Machines Corporation Method for identification and compression of facsimile symbols in text processing systems
US4769716A (en) 1986-10-17 1988-09-06 International Business Machines Corporation Facsimile transmission using enhanced symbol prototypes with precalculated front and back white spaces
KR930003416B1 (ko) 1988-03-29 1993-04-29 주식회사 금성사 폰트의 함축방법
JP3021547B2 (ja) 1989-09-29 2000-03-15 セイコーエプソン株式会社 文字パターン発生方法
US5167016A (en) 1989-12-29 1992-11-24 Xerox Corporation Changing characters in an image
US5218455A (en) 1990-09-14 1993-06-08 Eastman Kodak Company Multiresolution digital imagery photofinishing system
US5440401A (en) 1990-09-14 1995-08-08 Eastman Kodak Company Image database incorporating low resolution index image data
US5303313A (en) 1991-12-16 1994-04-12 Cartesian Products, Inc. Method and apparatus for compression of images
JP2659896B2 (ja) * 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
JP3360905B2 (ja) * 1993-01-04 2003-01-07 ゼロックス・コーポレーション プリンティングシステム
US5485568A (en) * 1993-10-08 1996-01-16 Xerox Corporation Structured image (Sl) format for describing complex color raster images
JPH07212712A (ja) * 1993-10-29 1995-08-11 Eastman Kodak Co 階層的な画像記憶及び取出しシステムにおいてディジタル透かし模様を付加及び除去する方法及び装置
JPH07261279A (ja) 1994-02-25 1995-10-13 Eastman Kodak Co 写真画像の選択システム及び方法
US5557678A (en) 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5784461A (en) 1996-05-23 1998-07-21 Eastman Kodak Company Security system for controlling access to images and image related services

Also Published As

Publication number Publication date
US6529285B2 (en) 2003-03-04
CA2205732A1 (en) 1997-11-23
DE69737115D1 (de) 2007-02-01
MX9703686A (es) 1998-06-30
EP0809210A3 (en) 2002-09-25
EP0809210B1 (en) 2006-12-20
EP0809210A2 (en) 1997-11-26
US6275301B1 (en) 2001-08-14
JPH1097397A (ja) 1998-04-14
US20010043349A1 (en) 2001-11-22
BR9703310A (pt) 1998-11-10
CA2205732C (en) 2000-04-25
DE69737115T2 (de) 2007-04-05

Similar Documents

Publication Publication Date Title
JP3061765B2 (ja) コンピュータベースの文書処理方法
US6011905A (en) Using fontless structured document image representations to render displayed and printed documents at preferred resolutions
JP5063140B2 (ja) 書類オブジェクトを選択する方法、装置及び記憶媒体
US7792362B2 (en) Reformatting documents using document analysis information
US5781914A (en) Converting documents, with links to other electronic information, between hardcopy and electronic formats
US5848413A (en) Method and apparatus for accessing and publishing electronic documents
US8174724B2 (en) Image processing apparatus, control method therefor, and program
US7681121B2 (en) Image processing apparatus, control method therefor, and program
JP4934462B2 (ja) 部分的な書類画像にアクセスするための方法、サーバー及びコンピュータプログラム
US7639388B2 (en) Image processing apparatus, image reproduction apparatus, system, method and storage medium for image processing and image reproduction
EP1217537A2 (en) Method and apparatus for embedding translation information in text-based image data
US20020135803A1 (en) Printing system, printing apparatus, information processing apparatus and storage medium storing font download control program
US20070050410A1 (en) Image processing apparatus, image processing method and storage medium storing image processing program
JP3278298B2 (ja) ビットマップデータの圧縮方法及び圧縮装置
JP2004220260A (ja) ウェブページ閲覧システム及び画像配信サーバ
US8755064B2 (en) Information processing apparatus, information processing method, and information processing program protecting security of an object in a document
US7613833B2 (en) Data processing apparatus and data processing method, and computer program
JPH11168632A (ja) ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム
JP2007245723A (ja) ドキュメント・レンダリング・システム、方法およびプログラム
US5715069A (en) Data encoding system for rasterized fonts
JP4683374B2 (ja) 符号化装置、符号化方法及びプログラム
JPH05266247A (ja) 画像データ処理システム
MXPA01004466A (es) Metodo para generar un trabajo de impresion.
AU2008202366A1 (en) Efficient fillmap merging
JP2006352548A (ja) データ圧縮装置およびデータ圧縮プログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000411

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees