JP2002015279A - ハードコピー・ドキュメントのための画像データ復号化方法及び同装置 - Google Patents

ハードコピー・ドキュメントのための画像データ復号化方法及び同装置

Info

Publication number
JP2002015279A
JP2002015279A JP2001140812A JP2001140812A JP2002015279A JP 2002015279 A JP2002015279 A JP 2002015279A JP 2001140812 A JP2001140812 A JP 2001140812A JP 2001140812 A JP2001140812 A JP 2001140812A JP 2002015279 A JP2002015279 A JP 2002015279A
Authority
JP
Japan
Prior art keywords
channel
data
assist
graph
candidate
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.)
Granted
Application number
JP2001140812A
Other languages
English (en)
Other versions
JP4582953B2 (ja
Inventor
Daniel H Greene
エイチ.グリーン ダニエル
Ashok C Popat
シー.ポパット アショック
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
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JP2002015279A publication Critical patent/JP2002015279A/ja
Application granted granted Critical
Publication of JP4582953B2 publication Critical patent/JP4582953B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

(57)【要約】 【課題】 アシスト・チャネルを用いてOCR精度を向
上させる方法を提供する。 【解決手段】 ハードコピー・アシスト・チャネル20
4において、画像抽出モジュール210は、ビットマッ
プ画像データ206を受信し、アシスト・チャネル11
8のデータと、ビットマップ一次チャネル214のデー
タとを切り離す。デコーダ・モジュール3204は、復
号化及び圧縮解除されたアシスト・チャネル219から
のサポートなしに、ビットマップ一次データ214を復
号化し、一次データの候補3202を生成する。リライ
ト・モジュール3200は、一次データの候補3202
と、復号化及び圧縮解除されたアシスト・チャネル21
9とを入力として受け取り、データ112の一次チャネ
ルを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概してドキュメン
ト画像符号化及び復号化に関し、より詳細には、光学文
字認識(OCR)の精度を向上させるための方法及び装
置に関する。
【0002】
【従来の技術】入力スキャナは、ハードコピー・ドキュ
メントを電子ドキュメント処理システムにアップロード
するために開発された。これらのスキャナは一般に、ハ
ードコピー・ドキュメントの外観をラスタ・フォーマッ
トのデジタル・データストリームに変換し、それによっ
て、ハードコピー・ドキュメントの外観を表すビットマ
ップ表現をもたらす。ScanSoft社により製作されるText
bridge等のOCRシステムは、ビットマップ・ドキュメ
ントの外観を、対応する記号的な符号に変換する。残念
ながら、特定のビットマップ・パターンと、対応するド
キュメント符号化(例えばASCII)との間の相関関係を
推測する際に、OCRシステムはエラーを起こすことか
ら免れない。
【0003】この問題は、混同される可能性(確率)の
高い文字(例えば1、|及びI)に対して明確に異なる
印刷特徴を与えるOCR−Bフォント等の特殊なフォン
トをデザインすることにより対処されている。これは、
OCRシステムが、ビットマップ・パターンと、それに
対応するドキュメント符号化との間の相関関係をより正
確に推測することを可能にする。更に、Plumb他は、
「OCRを介してソース・コードをパブリッシュするた
めのツール(Tools for Publishing Source Codevia OC
R)」(1997年)において、スペース及びタブをプリン
ト可能な文字に置換することによる、ハードコピー・ド
キュメントの一次チャネルの印刷を開示している。ま
た、米国特許第4,105,997号は、OCRの最中に、エラ
ーの位置を確認するためにドキュメント内のテキストの
チェックサムを用いる方法を開示している。
【0004】この問題はまた、米国特許第5,486,686号
でも言及されている。この特許は、人間が読むことが可
能なドキュメントのハードコピー表現が、このドキュメ
ント及び/又はそのコンテンツの全部又は一部の電子表
現と一体化されるドキュメント処理システムを開示して
いる。この電子表現は、ドキュメントに関する情報又は
ドキュメントから計算される情報を符号化する「アシス
ト・チャネル」を提供する。アシスト・チャネルは、プ
リント可能であり且つ機械で読み取ることができるコー
ドを用いて定義される。例示された一例において、アシ
スト・チャネルは、ドキュメントの下部で小さいグリフ
・コードを用いて定義されることが可能である。
【0005】より詳細には、ハードコピー・ドキュメン
トの「アシスト・チャネル」は、一次チャネルのコンテ
ンツを復号化する際にOCRアプリケーションを支援す
るサイド情報の機械可読な符号化である。ハードコピー
・ドキュメントの「一次チャネル」は、人間が読むこと
が可能なドキュメントの情報を含む。変更されることが
できず、OCR処理でややエラーを起こしやすい一次チ
ャネルは、ドキュメントの大部分の情報コンテンツを保
持する。アシスト・チャネルの1つの用途は、例えば、
米国特許第5,625,721号、第5,748,807号、及び第6,047,
093号に開示されるように、一次チャネルのコンテンツ
を復号化する際に、OCRアプリケーションの誤りを確
認するのを支援する情報を符号化することである。
【0006】
【発明が解決しようとする課題】アシスト・チャネルを
用いてOCR処理を向上させるこれらの進歩を伴ってさ
えも、アシスト・チャネルで符号化される情報量と、こ
の符号化された情報を与えられた場合のOCRシステム
の精度の向上との間のトレードオフのバランスを保ち、
改善するアシスト・チャネルの符号化を提供すること
が、引き続き好ましい。ある極端な例では、アシスト・
チャネルは一次チャネルと同程度多くの情報(即ち、冗
長な情報)を含むことができる。別の極端な例では、ア
シスト・チャネルは、ドキュメントのコンテンツの単一
のチェックサムのみを含むことができる。従って、OC
R処理中の一次チャネルの誤りを補正するが、一次チャ
ネルに比べて依然としてコンパクトであるアシスト・チ
ャネルの符号化を提供することが好ましい。
【0007】
【課題を解決するための手段】本発明では、ハードコピ
ー・ドキュメント上の表現のための画像データを生成す
るための方法及び装置が提供される。ハードコピー・ド
キュメント上に表現されるべき、人間が読むことが可能
な情報を有する第1のチャネルを提供する記号データの
一次セットが識別される。符号化データの二次セット
は、記号データの一次セットを用いて計算される。符号
化データの二次セットは、ハードコピー・ドキュメント
上に表現される、機械により可読である情報を有するア
シスト・チャネルを提供する。
【0008】本発明の一態様では、ハードコピー・ドキ
ュメントの画像データは、記号データの一次セット及び
符号化データの二次セットを含むハードコピー・ドキュ
メントの走査された表現を記録することにより復号化さ
れる。ハードコピー・ドキュメントの走査された表現
は、任意のOCRエンジンを用いて復号化され、候補と
なる記号データのセットが定義される。候補となる記号
データのセットは、OCRエンジンとは独立して、イベ
ント・ライブラリ及び符号化データの二次セットを用い
て書き直される。イベント・ライブラリは、ハードコピ
ー・ドキュメントの走査された表現が復号化される際に
遭遇する確率の高い誤りを識別する。
【0009】
【発明の実施の形態】A.アシスト・チャネル動作環境 図1及び2は、ドキュメントが、電子ドメイン(領域)
とハードコピー・ドメインとの間で授受される本発明の
一般的な動作環境を示す。図1は、ディスプレイ104
等に表示及び/又は生成される電子ドキュメント102
と、プリンタ108によって用紙等の物理的な媒体上に
表現されるハードコピー・ドキュメント106とを示
す。電子アシスト・チャネル110は、電子ドキュメン
ト102を生成及び/又は編集するために使用される電
子ドキュメント処理システム(図示せず)から画像デー
タを受信し、出力として増補された画像データ122を
生成する。
【0010】電子アシスト・チャネル110への画像デ
ータ入力は、本願明細書において、電子ドキュメント1
02の画像データ114を含む一次チャネル112のデ
ータとして定義される。電子アシスト・チャネル110
の符号化/圧縮モジュール116は、アシスト・チャネ
ル118を生成する。電子アシスト・チャネル110の
マージ・モジュール120は、増補された画像データ1
22を生成するために一次チャネル112とアシスト・
チャネル118とを組み合わせる。図1に示されるこの
実施の形態において、増補された画像データ122の一
次チャネル112及びアシスト・チャネル118はそれ
ぞれ、ハードコピー・ドキュメント106上で124及
び126として表現される。一次チャネル・データ12
4は人間が読むことが可能な情報であるように最適化さ
れ、アシスト・チャネル・データ126は機械により可
読である情報であるように最適化される。
【0011】図2は、一次チャネルのデータ124及び
アシスト・チャネルのデータ126が表現されたハード
コピー・ドキュメント106を、ハードコピー・ドメイ
ンから電子ドメインにアップロードする流れを示す。本
発明の一態様では、ハードコピー・アシスト・チャネル
204が、スキャナ208からビットマップ画像データ
206を受信する。ハードコピー・アシスト・チャネル
204の画像抽出モジュール210は、アシスト・チャ
ネル118のデータとビットマップ一次チャネル214
のデータとを分離する。ハードコピー・アシスト・チャ
ネル204の復号化/圧縮解除モジュール212は、デ
コーダ・モジュール216で用いられるアシスト・チャ
ネル118のデータを準備する。
【0012】デコーダ・モジュール216は、一次チャ
ネル・データ112を生成するために、ビットマップ一
次チャネル214上で復号化及び圧縮解除されたアシス
ト・チャネル219を用いて、光学文字認識(OCR)
を実行する。アシスト・チャネル219を用いて、正確
に再構成されると、一次チャネル・データ112は、画
像データ114としてディスプレイ104上に表示され
ることができる。従って、アシスト・チャネル・モジュ
ール110及び204は、ハードコピー・ドメインと電
子ドメインとの間でデータを変換するハードコピー・ド
キュメント画像データのOCR処理の実行を援助する。
【0013】図1及び2に示されるアシスト・チャネル
・モジュール110及び204を実行するための動作配
置が多数存在することは、当業者により理解されるであ
ろう。ある実施の形態では、アシスト・チャネル・モジ
ュール110及び204は、ディスプレイ104又はプ
リンタ108と一体的に動作するか、又はディスプレイ
104及びプリンタ108とは別々に動作するコンピュ
ータ・システムに埋設されている。他の実施の形態で
は、アシスト・チャネル・モジュール110及び204
は、1つ又は複数のコンピュータ・システム上で互いに
一体化されるか、又はそれぞれ別々に動作する。
【0014】B.アシスト・チャネル・コーディング 概要として、アシスト・チャネル・コーディングは、一
次チャネルのOCR処理の際に欠けている、即ち必要と
されるであろう情報のみを有するように、アシスト・チ
ャネル内の一次チャネルの情報コンテンツを圧縮する。
即ち、重複一次チャネルを圧縮するために使用されるこ
とが可能な技術とは異なり、アシスト・チャネルは、ア
シスト・チャネルのコンテンツを最小限に抑えることに
よって、符号化効率を向上させる。また、一次及び二次
チャネルが、段階的に情報を配信するように設計される
プログレッシブ方式の符号化(又はピラミッド符号化)
とは異なり、アシスト・チャネル・コーディングは、デ
ータの固定チャネルから始まり、ハードコピー・ドメイ
ンから電子ドメインへの変換の際に遭遇するエラー又は
脱落を補正するデータによって、そのデータを増補す
る。
【0015】以下のセクションC、D及びEにおいて、
アシスト・チャネル・データを符号化及び復号化する3
つの異なる方法が開示される。概要として、図3乃至1
6は、分離コーディングを使用するアシスト・チャネル
符号化/復号化を示し、図17乃至22は、ブロック・
コーディングを使用するアシスト・チャネル符号化/復
号化を示し、そして、図23乃至28は、畳み込みコー
ディングを使用するアシスト・チャネル符号化/復号化
を示す。セクションFは、これらの復号化技術を適用す
ることができる「リライト・モデル」を使用する代替の
動作環境を説明する。
【0016】C.アシスト・チャネル分離コーディング 本願明細書では「分離コーディング」と呼ばれるアシス
ト・チャネル・コーディングの第1の方法は、OCR処
理の最中に、最も混同されそうな一次チャネル内の記号
(即ち、等価クラス)を異なるグループに分類する。好
適には、容易に圧縮されることが可能な等価クラスへの
文字の分類は、アシスト・チャネルにおいて符号化され
るが、同様に圧縮され得ない実際の文字コードは、アシ
スト・チャネルにおいて符号化されない。一次チャネル
の走査された表現を復号化する場合、テンプレート・ラ
イブラリからの許容記号マッチは、OCR処理の間は、
アシスト・チャネルにおいて符号化された分類を満たす
ものに制限され、これによりOCR信頼性が向上する。
【0017】C.1 アシスト・チャネル分離符号化 図3は、分離符号化を実行するための概略ステップのフ
ロー・ダイアグラムである。概して、分離コーディング
は、符号化の定義と、この符号化の適用との2つの別の
動作に分割されることができる。一連のステップ304
により示される、符号化を定義するための動作は、OC
R処理の最中に最も混同されそうな一次チャネル内の文
字又は記号を区別する等価クラスを有する集合の生成を
含む。ステップ304で作成/取得される符号化を適用
するための、一連のステップ312により識別される動
作は、一次チャネル内の文字又は記号を、定義された等
価クラスの集合内のある等価クラスに割り当てることを
含む。
【0018】概要として、符号化を定義するためのステ
ップ304での動作は、符号化を適用するためのステッ
プ312での動作と共に実行されてもよいし、符号化適
用ステップ312の動作とは独立して実行されてもよ
い。実際は、ステップ312は、一次チャネルのために
アシスト・チャネルが生成される度に毎回実行される必
要があるのに対し、ステップ304は、特定の一次チャ
ネルのためにアシスト・チャネルが何度生成されよう
と、1回だけ実行されればよい。以下で更に詳細に論じ
られるように、符号化は、ステップ312で適用される
度に定義される必要はない。
【0019】より詳細には、ステップ306で、1セッ
トの電子ドキュメントの一次チャネルに現れるであろう
(英数字)記号(即ち、記号データ)のアルファベット
が識別される。続いてステップ308で、記号内の識別
されたアルファベットは、エントロピーを最小限に抑え
且つ利得を最大にする複数のグループに分割される。即
ち、ステップ308で、記号内のアルファベットは、
(a)アシスト・チャネルを構成する情報量(即ち、エ
ントロピー)を最小限に抑え、且つ(b)OCR処理の
最中に混同される可能性の高い2つの文字が、異なる等
価クラスに配置される確率(即ち、利得)を最大にす
る、ような方法で、複数の等価クラス(即ち、グルー
プ)のうちの1つにマップされる。
【0020】図4は、英数字記号の識別されたアルファ
ベットを複数のグループに分割するための図3に示され
るステップ308を、更に詳細に説明するフロー・ダイ
アグラムである。ステップ410では、記号の識別され
たアルファベットの各文字に対応するノードと、各ノー
ドを相互接続するアークとを含むグラフが定義される。
図5は、4つの記号の識別されたアルファベット
「e」、「p」、「b」及び「c」と、その文字が発生
するであろう確率を記録する、それぞれに対応するノー
ド502、504、506及び508とを有するグラフ
500の例を示す。各ノードは、別のノードへのアーク
を有しており、このアークは、ある文字が他の文字と区
別される利得を記録する。例えば、ノード502はノー
ド504、506及び508へのそれぞれのアーク51
0、512及び514を有しており、これらのアーク
は、個々が他と区別されて異なる等価クラスに分類され
るその利得を記録する。
【0021】図4のステップ412では、ステップ41
0で定義されたノード及びアークに値が割り当てられ
る。より詳細には、各ノードには、ある文字がドキュメ
ント内で発生するであろう確率により定義される値が割
り当てられる。各アークには、そのアークの両端の文字
がOCR処理の最中に混同される可能性によって定義さ
れる値が割り当てられる。ステップ414では、全ての
ノードが単一のグループに集められ、ノードのカレント
・パーティション(分割)を定義する。カレント・パー
ティションは、エントロピーを最小限に抑え、且つ利得
を最大にするように、ステップ416、418、420
及び422で調整される。
【0022】ステップ416では、グラフのカレント・
パーティションにおける全ての可能な変更が識別され
る。実施の一形態において、可能な変更は、(a)任意
の既存のグループに属する任意のノードを有する新しい
グループを形成すること、及び(b)あるノードをある
グループから別のグループへ移動すること、により識別
される。ステップ418では、ステップ416で識別さ
れた可能な候補のそれぞれごとに、利得における変化
(Δ)及びエントロピーにおける変化(Δ)が計算され
る。各候補は、新しいパーティションを定義する1つ又
は複数の可能な変更を含む。ステップ420では、カレ
ント・パーティションが、利得における変化及びエント
ロピーにおける変化の比率を最大にするパーティション
であるように選択される。
【0023】より詳細には、ステップ420では、OC
Rエラーの減少率とアシスト・チャネルの情報コンテン
ツのサイズとの比率が最大になるように、カレント・パ
ーティションは、ステップ416で識別された変更によ
り定義されるそれらの候補の中から選択される。図5を
再度参照すると、グラフ500のカレント・パーティシ
ョンは、グループ516及び518を含む。ステップ4
22で、所望の利得又はエントロピーが達成されると、
カレント・パーティションが、エントロピーを最小限に
抑え、且つ利得を最大にする記号の識別されたアルファ
ベットを有するパーティションであると判断され、ステ
ップ308のルーチンは終了する。
【0024】図6は、利得を最大にしつつ、エントロピ
ーを最小限に抑えるカレント・パーティションを識別す
るための反復処理を示すグラフである。まず最初に、カ
レント・パーティションは、グラフ上の点600により
表される(ステップ414)。候補の第1のセット60
2が識別された(ステップ418)後、エントロピーと
利得との比率を最大にする候補604が選択される(ス
テップ420)。このプロセスは、候補612が所望の
利得又はエントロピーと共に識別される(ステップ42
2)まで、候補606、608及び610に対して反復
的に続けられる。このプロセスが、例えば仮想の候補6
14等の候補が前のカレント・パーティション616に
比べて、局所的に負の比率をもたらすような例を、考慮
に入れるであろうことは、当業者により理解されるであ
ろう。従って、図6に示される例において、このような
候補を選択することは、プラスの傾斜を有する候補60
8のいずれかを選択するよりも好ましい。
【0025】図3を再度参照すると、英数字記号の識別
されたアルファベットが、利得を最大にしつつ、エント
ロピーを最小限に抑えるグループに、ステップ308で
分割されると、ステップ310が実行される。ステップ
310では、ステップ308で作成されるパーティショ
ンの複数のグループのそれぞれに、識別子が割り当てら
れる。図7は、1セットの記号が3つのグループ70
2、704及び706に分類される(ステップ308)
パーティション700を示す。グループ702、704
及び706には、それぞれ識別子708、710及び7
12が割り当てられる(ステップ310)。パーティシ
ョン700は、参照番号714、716及び718によ
り識別される、OCR処理によって混同される可能性が
高い記号「e」、「o」及び「c」を、それぞれグルー
プ702、704及び706に分離することによって、
利得を最大にする。更に、パーティション700は、ド
キュメント内で発生する可能性が最も高い記号を最大の
グループ702に集めるように3つのグループを定義す
ることによって、エントロピーを最小限に抑える。
【0026】ASCII文字セットのパーティションの例
が、表1に列挙されており、この表1において、ASCII
文字セットは9グループの文字に分類される。上述され
たように、OCR処理の最中に混同され易い文字、
「e」、「c」及び「o」は、利得を最大にするため
に、識別子(即ち、ID)Z1、Z2及びZ4を有する
グループ、即ちクラスにそれぞれ分類される。更に、Z
1として識別される第1、且つ最大のグループ内の最も
発生する可能性の高い文字は、エントロピーを最小限に
抑え、それによって、アシスト・チャネルの情報コンテ
ンツ量を最小限に抑える。
【表1】
【0027】ステップ304は、ステップ416で局所
的変化のみを調べるので、パーティションを定義するた
めのこの技術は、必ずしも利得及びエントロピーの間の
大域的に最適なトレードオフに到達しないであろう。ア
ニーリング法又は分岐限定法等のアルゴリズム技術が、
より適切な解を見いだすために使用され得る一方で、こ
れらのアプローチは、ステップ304で説明される技術
よりも幾分か改善された解を提供するものの、解を見い
だすためにかなり多くの時間を必要とする。結果とし
て、ステップ304は、グラフ分割を識別するための本
アプリケーションに非常によく適している。
【0028】定義ステップ304が完了すると、適用ス
テップ312が実行される。先ずステップ314では、
ステップ302で受信された一次チャネルの各記号を、
各記号が割り当てられるグループに対応する識別子と関
連付けることにより、アシスト・チャネルが作成され
る。図8は、ステップ302で受信された一次チャネル
800の例を示す。図9は、図7に示されるパーティシ
ョン700を使用して作成される、図8に示される一次
チャネルのためのアシスト・チャネル900を示す。具
体的には、一次チャネル800の参照番号802及び8
04によって識別される最初の2つの記号「A」及び
「n」は、識別子708(即ち、「a」)及び710
(即ち、「b」)を有するグループ702及び704に
分類され、それらの記号はそれぞれ、図9の参照番号9
02及び904により識別される。
【0029】ステップ316では、ステップ314で作
成されたアシスト・チャネルが、例えば、算術に基づく
符号化、ジブ−レンペル(Ziv-Lempel)の符号化又はラ
ン・レングス符号化を用いて圧縮される。これらの及び
他の圧縮技術は、Cover他による「情報理論の構成要素
("Elements of Information Theory")」(ジョン・ワ
イリー・アンド・サンズ、1991年8月12日(ISBN:04710
62596))で開示されている。アシスト・チャネルがス
テップ316で圧縮されると、アシスト・チャネルはス
テップ318で符号化される。実施の一形態において、
アシスト・チャネルは、データ・グリフを用いて符号化
される。図10は、データ・グリフを用いて符号化され
るアシスト・チャネル1010の例を示す。
【0030】ここで参照されるデータ・グリフは、デジ
タル情報を2値の1と0との形式で符号化し、これらの
値はその後、非常に小さい直線マークの形で表現され
る。一般に、各小型マークは、2値データのディジット
(桁)を表す。特定のディジットが、2値の1であるか
0であるかは、特定のマークの線の向きに依存する。例
えば、実施の一形態において、左上から右下に向けられ
たマークは0を表し、左下から右上に向けられたマーク
は1を表すことが可能である。
【0031】図1及び2に示されるアシスト・チャネル
126を形成するデータ・グリフの個々のマークは、多
数のこのようなマークが共に用紙にプリントされる場合
に、均等なグレー・ハーフトーン領域を何気なく見る人
に、好ましくは全体的な視覚効果をもたらすように、プ
リント装置の最大解像度と相関的なサイズである。米国
特許第5,091,966号、第5,128,525号、第5,168,147号、
第5,221,833号、第5,245,165号、第5,315,098号、第5,4
49,895号及び第5,486,686号は、データ・グリフの使用
法、符号化及び復号化技術に関する更なる情報を提供し
ている。
【0032】図3を再度参照すると、ステップ320で
は、符号化されたデータ・グリフが一次チャネルと連結
され、増補データを生成する。連結されたチャネル(即
ち、増補データ)は、ハードコピー・ドキュメント上に
表現される。図1に示すように、実施の一形態におい
て、増補データ122は、一次チャネル124及びアシ
スト・チャネル126としてハードコピー・ドキュメン
ト106上にプリンタ108によって表現される。
【0033】ステップ302で受信される一次チャネル
に対して適用ステップ312が実行される度に、定義ス
テップ304が実行される必要のないことは、当業者に
より理解されるであろう。代わりに、定義ステップ30
4は、任意の数の一次チャネルに対して一度だけ実行さ
れればよい。或いは、ステップ302で受信する英数字
記号のアルファベット又はフォントが変わる度に、定義
ステップ304が断続的に実行されてもよい。
【0034】別の実施の一形態において、定義ステップ
304は、異なる種類のドキュメント、フォント又はマ
シンに対して1回実行される。例えば、定義ステップ
は、フォント書体ごとに1回実行され、ステップ312
で繰り返し適用されることが可能である。また、例え
ば、ドキュメントの種類には、ドキュメントのジャンル
(例えば、オフィス文書、法律文書、メモ、画像等)に
よる分類を含んでもよい。更なる例として、マシンの種
類には、特定のスキャナ及びプリンタ、又は特定のクラ
スのスキャナ及びプリンタを含む。例えば、実施の一形
態において、定義ステップ304は、特定のスキャナ及
び/又はプリンタのために実行されることが可能であ
り、それにより、特定のスキャナ及び/又はプリンタの
特定の誤りに対する符号化方式の感度を高める。
【0035】C.2 アシスト・チャネル分離復号化 図11は、図2に示されるアシスト・チャネル126に
より増補されるハードコピー・ドキュメント106の一
次チャネル124を復号化するためのハードコピー・ア
シスト・チャネル(204)によって実行されるステッ
プのフロー・ダイアグラムを示す。先ずステップ110
2で、ハードコピー・ドキュメント106のビットマッ
プ画像206が、例えばスキャナ208を使用して取得
される。ステップ1104では、画像抽出モジュール2
10が、ビットマップ画像206からアシスト・チャネ
ルを抽出し、アシスト・チャネル118を復号化/圧縮
解除モジュール212に供給する。更に、画像抽出モジ
ュール210は、一次チャネル124のビットマップ表
現であるビットマップ一次チャネル214を、ビットマ
ップ画像206から抽出する。
【0036】ステップ1106では、アシスト・チャネ
ル(118)が、モジュール212によって復号化され
る。例えば、アシスト・チャネルがデータ・グリフを用
いて符号化される場合、これらのデータ・グリフは、そ
れらのデジタル表現にステップ1106で復号化され
る。アシスト・チャネル(この時点ではデジタル形式で
ある)は、ステップ1108でモジュール212によっ
て圧縮解除され、復号化及び圧縮解除されたアシスト・
チャネル219をデコーダ・モジュール216に供給す
る。
【0037】ステップ1110からの一連のステップで
は、デコーダ・モジュール216が、ビットマップ一次
チャネル214の連続行と、復号化及び圧縮解除された
アシスト・チャネル219の対応する連続行とをモジュ
ール210及び212のそれぞれから、入力として取得
する。ステップ1110で受信されたチャネル214及
び219の連続行のそれぞれに対して、一次チャネル2
14の全ての行がステップ1118で処理されたことが
判断されるまで、ステップ1112、1114及び11
16が実行される。ステップ1118で全ての行が処理
されたと判断されると、一次チャネルの復号化はステッ
プ1120で完了する。デコーダ・モジュール216が
ステップ1120で処理を終了すると、復号化された一
次チャネル112は、ドキュメント102内の114と
してディスプレイ104上に電子形式で表示されること
が可能である。
【0038】ビットマップ一次チャネル214の行を復
号化するためのステップ1112、1114及び111
6をここで詳細に参照する。ステップ1112では、一
次チャネルの行のグラフが、プロダクト・グラフの第1
の次元を定義するように決定される。ステップ1114
では、アシスト・チャネルの対応する行のグラフが、プ
ロダクト・グラフの第2の次元を定義するように決定さ
れる。最後にステップ1116で、一次チャネルのグラ
フと、アシスト・チャネルのグラフとの積の最短経路
が、観察される一次チャネルを生成するために決定され
る。
【0039】実施の一形態において、ステップ1112
は(ビットマップ一次チャネル214の「テキスト」の
各行ごとに)、ドキュメント画像復号化(DID:Docu
mentImage Decoding)として当該技術において公知のド
キュメント復号化技術を使用して、デコーダ・モジュー
ル216により実行される。一般にDIDは、ダイナミ
ック・プログラミング又はビタービ(Viterbi)アルゴ
リズムを用いて達成される。ダイナミック・プログラミ
ングは、有限状態のネットワークの全体にわたる、観察
される画像を表す経路(即ち、一次チャネル112)、
即ち、観察される画像を生成する可能性が最も高い経路
(即ち、ビットマップ一次チャネル214から導き出し
得る観察される可能性の最も高い画像)の検索を含む。
【0040】ダイナミック・プログラミングの更なる詳
細は、Aho、Hopcroft及びUllmanによる「コンピュータ
・アルゴリズムの設計及び解析(The Design and Analy
sisof Computer Algorithms)」(コンピュータ・サイ
エンス及び情報処理に関するアディソン‐ウェズリー・
シリーズ)(アディソン‐ウェズリー出版、ISBN:0201
000296、1974年6月)に開示されている。更に、DID
の更なる詳細は、米国特許第5,321,773号、第5,526,444
号、第5,689,620号、及び第5,594,809号において開示さ
れている。
【0041】図12を、ここで参照する。図12は、ビ
タービ・アルゴリズムを用いて一次チャネルのグラフの
最短経路を計算するためのステップを説明するフロー・
ダイアグラムである。先ず、グラフがステップ1200
で定義され、定義されたグラフの最短経路がステップ1
201で計算される。図12は、アシスト・チャネルの
助けなしで動作するDIDデコーダを説明する。アシス
ト・チャネルを含めるには、ステップ1200で定義さ
れるグラフは、最短経路が計算される前に、プロダクト
・グラフを計算することにより変更される。図11のス
テップをここで参照すると、ステップ1200は、一次
チャネルのためのグラフを決定するためのステップ11
12で実行される。更に、ステップ1201は、一次及
びアシスト・チャネルのグラフの積を定義しているグラ
フの最短経路を決定するためのステップ1116で実行
される。
【0042】グラフの定義は、ビットマップ一次チャネ
ル214の行に沿って、ピクセルごとにグラフのノード
を定義することにより、ステップ1202で開始され
る。例えば、図13は、グラフ生成を1301に示し、
最短経路計算を1303に示す。グラフ生成は、図8に
示される一次チャネル800の行の文字802のビット
マップ表現のためのノード1302によりグラフ130
0を定義することから始まる。ステップ1203では、
各ノードにおける全ての可能なアークが、テンプレート
・ライブラリを用いて列挙される。ステップ1204で
は、テンプレート・ライブラリ内の文字を画像内の文字
とマッチング(照合)することによって、アークの得点
が、列挙された各アークで計算される。
【0043】より詳細には、アークの得点は、マッチン
グ関数を使用して、列挙された各アークごとに計算され
る。この計算は、ライブラリ内の特定のテンプレート
と、ノードにより定義される画像ポイントでの画像領域
とのマッチングの測定である。マッチング関数を選択す
る際には、いくらかのフレキシビリティがあるが、マッ
チング関数は通常、マッチングの負の対数確率に密接に
比例する。これは、よりよいマッチングに対してアーク
の得点がより小さくなること、及び最短経路が行全体の
最適な解釈を識別すること、を可能にする。マッチング
関数の例は、Kopec他による「マルコフ・ソース・モデ
ルを用いたドキュメント画像復号化(Document Image D
ecoding Using Markov Source Models)」(パターン解
析及び機械知能に関するIEEE論文集第16巻6号、1994
年6月、第602〜617頁)に開示されている。
【0044】アークの得点及びテンプレートは、別のノ
ードへのアークの形で記録される。例えば図13に示す
ように、アーク1314は、テンプレート1310(即
ち、「A」)及びアークの得点1312(即ち、「1
0」)によって、ノード1306と1308との間に定
義される。より詳細には、アークは一致の質によって重
み付けされ(得点が低いほど、より一致する)、その一
致により識別されるテンプレートの幅だけ離された位置
のノード同士を連結する。
【0045】隣接するテンプレート同士の間の間隔にわ
ずかなシフトをもたらすために、スペーサ・アーク(図
13では参照番号1316で示される)が定義される。
例えば、得点(図示せず)を有することが可能なスペー
サ・アーク1318は、テンプレート1310の終端ノ
ード1308と、ノード1320から開始し得る図8に
示される文字804のための次のテンプレートとの間の
間隔を満たし得る。
【0046】ステップ1206では、記録1322が、
図示されるように(図13の最短経路計算1303に示
すように)各ノード1302ごとの累積得点1324及
びバックポインタ1326により定義される。ステップ
1208では、行の最後のノード1328を除く全ての
ノード1302の記録1322は、無限大の得点(即
ち、最悪の得点又は経路)及びNIL(ニル)バックポイ
ンタによって初期化される。行の最後のノード1328
に関する記録のための得点は、ステップ1208で0
(即ち、最高の得点又は経路)に初期化される。
【0047】ステップ1210及び1212では、ビタ
ービ・アルゴリズムの2つのパスが実行される。ステッ
プ1210で実行されるビタービ・アルゴリズムの第1
のパス(即ち、フォワードパス)の最中に、各ノード
(即ち、ピクセル位置)に至る確率の最も高い経路(即
ち、最もよい得点)が、先に計算された全ての位置への
確率の最も高い(即ち、最短の)経路を使用することに
より識別される。第1のパスは、各ノードのための最適
な経路の終端点が識別されるまで、実行される。図14
及び15に関連する以下の記述において、この例では、
部分的に最短の経路をグラフの後部から構築することが
有用であり、従って、ビタービ・アルゴリズムの第1及
び第2のパスの一般的な方向を逆転させることは、当業
者により理解されるであろう。
【0048】図14は、ノード1402により定義され
るグラフ1400のビタービ・アルゴリズムのフォワー
ドパス計算の例を示す。フォワードパスは、矢印140
4(即ち、順方向又は第1の方向)により示される方向
で、ノード1403からノード1401まで実行され
る。簡潔に示すために、ノード1410及び1412か
らそれぞれ開始し、ノード1414で終端するアーク1
406及び1408のための得点1416及び1418
と、テンプレート1420及び1422のみが示され
る。ステップ1210でノード1414のための最短経
路を計算する際に、ノード1410及び1412のそれ
ぞれの記録1424及び1426において、得点及びバ
ックポインタが、より短い経路を定義するようにノード
1414への点数に更新されるべきか否かの判断が成さ
れる。もし更新される場合、ノード1410の新しい得
点は19(即ち、12+7)であり、ノード1412の
新しい得点は10(即ち、3+7)である。更新される
と、ノード1410の得点は改善される(即ち、19は
50よりも適切である)ので、ノード1414への新し
い得点及びバックポインタにより記録は更新される(図
15参照)。対照的に、ノード1414からの新しい得
点に更新されても、ノード1412の得点は改善されな
い。従って、この記録は更新されない(即ち、10は8
よりも不適切である)。
【0049】ステップ1212で実行されるビタービ・
アルゴリズムの第2のパス(即ち、バックワードパス)
では、第1のパスの間に構成されたグラフが、グラフ全
体を通して実際に最適な経路(即ち、最短経路)を識別
するために、グラフの第1のノードから逆方向にたどら
れる。図15は、図14で作成されるグラフ1400の
バックトレーシングの例を示す。バックトレーシング
は、矢印1503により示される方向に、図15で実行
される。多くの異なる経路が存在し得るが、最適な経路
は、第1のパスの間に処理される最後のノードのバック
ポインタ(即ち、ノード1401のバックポインタ15
04)から始まるグラフ全体を通して、経路を逆方向に
たどることにより定義される。ノード1401のバック
ポインタ1504からのバックポインタ(例えば、15
04、1506、1508、1510、1512)を有
する経路は、ある文字のテンプレート(例えば、テンプ
レート1420)を指定する1セットのアークを識別す
る(例えば、バックポインタ1508はアーク1406
を識別する)。アークのこのセットは、一次チャネルの
記号に一致するテンプレートを識別する。即ち、プロダ
クト・グラフの第1の次元における最短経路は、アシス
ト・チャネル219の助けなしに構成される出力文字列
を定義する。
【0050】プロダクト・グラフにアシスト・チャネル
を組み入れるためには、プロダクト・グラフが定義され
るまで、最短経路1201の計算は保留される。ステッ
プ1114で、アシスト・チャネル219のグラフが決
定され、プロダクト・グラフの第2の次元を定義する。
より詳細には、ステップ1114では、ノードがアシス
ト・チャネルで符号化される各識別子708で定義され
る。あるノードから次のノードへのアークは、識別子の
値を与えられる。更に、各ノードは、最短経路の計算中
に、スペーサ・アーク1316の存在を許容するため
に、それ自体に戻るアーク(即ち、例えば、アーク16
30等の自己回帰アーク)を含む。
【0051】最後にステップ1116では、プロダクト
・グラフの最短経路が、ステップ1112及び1114
で定義される一次元のグラフを用いて定義される。即
ち、ステップ1116は、ビットマップ一次チャネル2
14及びアシスト・チャネル219を用いてプロダクト
・グラフ全体を通して最短の経路を識別し、観察される
画像(即ち、一次チャネル112)を定義する。ステッ
プ1110、1112、1114及び1116は、ビッ
トマップ一次チャネル214の各行に対して、ステップ
1118で繰り返される。一次チャネルの全ての行がス
テップ1120で処理されると、一次チャネル112
は、ディスプレイ104上に、例えば、ドキュメント1
02内の画像データ114として表示されることが可能
である。
【0052】図16は、図11のステップ1116での
プロダクト・グラフの最短経路計算の例を示す。図16
に示されるプロダクト・グラフ1600は、第1の次元
1602(図11のステップ1112で生成されるグラ
フにより定義される)及び第2の次元1604(図11
のステップ1114で生成されるグラフにより定義され
る)を含む。プロダクト・グラフの第1の次元1602
は、図8に示される一次チャネル800のテキストのビ
ットマップ行を表し、プロダクト・グラフの第2の次元
1604は、図9に示されるアシスト・チャネル900
の対応する行を表す。
【0053】図16に示されるプロダクト・グラフ16
00は、例示のために、一次チャネルの最初の4つの記
号(即ち、802、804、806及び808)、アシ
スト・チャネルの最初の4つの識別子(即ち、902、
904、906及び908)、及びわずかなテンプレー
トの一致のみを含む。比較目的のために、プロダクト・
グラフ1600は、結果として生じる出力文字列160
8と、1セットのアーク1610、1612、1614
及び1618を含む1つの次元1602におけるビット
マップ一次チャネルのグラフの最短経路の計算により生
成される出力文字列の両方を示す。単一の次元1602
におけるグラフ1600の最短経路の計算は、アシスト
・チャネルからの入力なしで実行され、文字「Ah
a」を含む出力文字列1606を生成する。
【0054】プロダクト・グラフ1600は、次元16
02に沿って画像における位置を、そして次元1604
に沿って対応するアシスト・チャネルにおける位置を識
別するノード1640を含む。また、プロダクト・グラ
フ1600は、アシスト・チャネルと合致しているはず
のアークを含む。即ち、テンプレート・ラベルを有する
第1の次元における各アーク、及び分類ラベルを有する
第2の次元における各アークにとって、テンプレートが
正しいクラスである場合には、対応するアークがプロダ
クト・グラフに存在する。第2の次元1604に沿った
アーク1622、1624、1626及び1628はそ
れぞれ、702、704、702及び702の記号グル
ープを識別する識別子902、904、906及び90
8に対応する。プロダクト・グラフ1600が定義され
ると、プロダクト・グラフの最短経路の計算は、文字
「An a」を含む出力文字列1608を生成する。
【0055】図16に示されるように、支援されない復
号化された一次チャネル1606の出力は、プロダクト
・グラフ1600においてアシスト・チャネルを使用し
て訂正される。ノード1646でプロダクト・グラフ1
600を定義する際に、計算された得点が15であるア
ーク1612のテンプレート「h」は、アシスト・チャ
ネルにより除外される。ビットマップ一次チャネルのグ
ラフからのアーク1612は、アーク1624によって
定義されるアシスト・チャネルの第2のエントリを満た
さないので、プロダクト・グラフから除外される。即
ち、アーク1612により識別されるテンプレートは、
アーク1624の識別子710により指定されるグルー
プ704ではなく、グループ702に分類される。従っ
て、図16に示されるテンプレートに関しては、より高
い19という得点を有し、且つアシスト・チャネルの第
2のエントリ(即ち、アーク1624)を満たすアーク
1620のテンプレート「n」のみが、プロダクト・グ
ラフにおける位置1642で有効なアークとして許容さ
れる。
【0056】より詳細には、図16は、図11に示され
るステップを参照しながら、図8に示される一次チャネ
ル800の走査された表現から、復号化された一次チャ
ネル1608を生成するプロダクト・グラフ1600を
示す。まず最初に、一次チャネルのグラフが、第1の次
元1602において決定される(ステップ1112)。
続いて、アシスト・チャネルのグラフは、第2の次元
(1604)において決定される(ステップ111
4)。先ず、プロダクト・グラフは、一次チャネルのグ
ラフ及びアシスト・チャネルのグラフを組み合せること
により定義される(ステップ1116)。一次チャネル
のグラフと、アシスト・チャネルのグラフとの積の最短
経路を決定することは、出力文字列1608を生成する
(ステップ1116)。
【0057】簡潔さのために、プロダクト・グラフ16
00を定義しているアーク及びノードのほんの一部が、
図16に示されていることは、当業者により理解される
であろう。グラフの最短経路を計算するための図12の
ステップ1201に従う実施の一形態において、プロダ
クト・グラフ1600の最短経路は、下から上へ、且つ
右から左への順序で第1のパスを実行することにより計
算される。本実施の形態では、プロダクト・グラフの第
1のパスは、プロダクト・グラフの最も下に位置するノ
ードが、最も右のノードに優先するとみなす。第2のパ
スは、プロダクト・グラフ1600の左上のノード16
44により定義される経路を選択することにより実行さ
れる。
【0058】簡潔さのために、プロダクト・グラフ16
00は、各ノード1640から延伸し、且つテンプレー
ト・ライブラリからのテンプレートと、ビットマップ一
次チャネルとの間で、アシスト・チャネルの条件を満た
す全ての可能な一致を識別する、多数のアークを示すわ
けではないことは、当業者により理解されるであろう。
代替の実施の形態において、プロダクト・グラフ160
0を定義するアークの数は、プロダクト・グラフの対角
線の周辺に配置されたノードから延伸するアークのみを
含むことによって、減じられる。十分な量の分散を許容
することにより、この代替の実施の形態は、アシスト・
チャネルが画像内の1行にわたって均等な割合で用いら
れると想定される。
【0059】D.アシスト・チャネル・ブロック・コー
ディング 本願明細書において「ブロック・コーディング」と呼ば
れる、アシスト・チャネル・コーディングの第2の方法
は、ハードコピー・ドキュメントの一次チャネルの文字
を垂直な列にグループ化する。ガード・ディジット(即
ち、エラー訂正符号)は、各垂直ブロックごとに計算さ
れ、ハードコピー・ドキュメントのアシスト・チャネル
において符号化される。好適には、アシスト・チャネル
による一次チャネルの復号化は、垂直ブロックごとに同
期をとられる。即ち、一次チャネルのアシスト・チャネ
ルとの同期は、一次チャネルの各垂直ブロックで発生す
るので、テキスト行のOCR処理の最中に発生し得る同
期はずれは、最小限に抑えられる。
【0060】D.1 アシスト・チャネル・ブロック符
号化 図17は、アシスト・チャネルのブロック符号化を実行
するためのステップのフロー・ダイアグラムである。実
施の一形態において、これらのステップは、図1に示さ
れる電子アシスト・チャネル110によって実行され
る。ステップ1702で、符号化/圧縮モジュール11
6は、データの一次チャネル112を受信する。例え
ば、図18はデータの一次チャネル1800の例を示
す。ステップ1704で、列グループのサイズが指定さ
れる。列グループのサイズは、固定されていても、列グ
ループごとに異なっていてもよい。より詳細には、列グ
ループのサイズは、何個の記号(例えば、文字)が、一
次チャネルの各行に沿って列グループを定義するかを識
別する。ステップ1706では、列グループ当たりのガ
ード・ディジットの数が指定される。より多くのガード
・ディジットがステップ1706で指定されると、ガー
ド・ディジットが訂正可能なエラーの数はより多くなる
一方で、アシスト・チャネルがより大きくなるであろう
ことは、当業者により理解されるであろう。
【0061】ステップ1708では、一次チャネルの記
号データ(例えば、文字)の行数が決定される。続いて
ステップ1710では、記号データの各行の長さが決定
される。ステップ1712では、記号データの一次チャ
ネルが、指定された列グループのサイズに従って、垂直
ブロックに分割される。ステップ1714では、ステッ
プ1706で指定された数の列グループ当たりのガード
・ディジットが、ステップ1712で生成された各垂直
ブロックごとに計算される。実施の一形態において、ガ
ード・ディジットは、エラーを訂正するリード・ソロモ
ン符号を適用することにより計算される。リード・ソロ
モン符号の計算は、Peterson他による「エラー訂正符号
(Error-Correcting Codes)」(MIT出版、1972年)
において開示されており、公知である。
【0062】例えば、28個の記号アルファベットを伴
う5個のエラーを訂正するリード・ソロモン符号が適用
される場合、アシスト・チャネルの最大ブロック・サイ
ズは、10個のガード・ディジット(即ち、チェック・
ディジット)を含む255ディジットである。更に、4
0行のテキスト(即ち、記号データ)が、列グループの
サイズが2である列にグループ化されると仮定する。す
ると、この例は、28個の記号アルファベットにわたる
リード・ソロモン符号のための255ディジットである
最大ブロック・サイズよりもかなり小さい90文字(即
ち、40×2+10=90)のブロック・サイズを必要
とする。この符号化方式を用いる場合、ガード・ディジ
ットのサイズは、1文字当たり1ビット(即ち、8文字
に対して1ガード・ディジットである圧縮比)である。
そして、ブロック当たりのOCRエラーが5個以下であ
る限り、このページはエラーなしに復号化されるであろ
う。
【0063】図19は、ガード・ディジットが、図18
に示される一次チャネルの記号データの指定された垂直
ブロックのために計算される例を示す。より詳細には、
図19において、一次チャネルの記号データは、参照番
号1902により示されるように2記号幅のブロック・
サイズを有する垂直ブロックに分割される(ステップ1
712)。記号データの各垂直ブロックごとに、対応す
るガード・ディジット1904が計算される(ステップ
1714)。一次チャネルの行(例えば、行1906)
が、別の行(例えば、行1908)ほど長くない場合に
は、空記号(例えば、空記号1910)が、その列のガ
ード・ディジット(例えば1912)を計算するために
その行に加えられる。
【0064】各垂直ブロックごとのガード・ディジット
がステップ1714で計算されると、アシスト・チャネ
ルのためのデータがアセンブルされ圧縮される。図20
は、図18に示される一次チャネルの例のためにステッ
プ1716でアセンブルされるデータ2002を示す。
より詳細には、データ2002は、列グループのサイズ
2004、列グループ当たりのガード・ディジット数2
006、ガードされる記号データの行数2008、行長
さのベクトル2010、及びガード・ディジット201
2を含む。実施の一形態において、データ2002の幾
つか(例えば、行長さのベクトル2010)は、無損失
の圧縮技術を用いてステップ1714で圧縮される。
【0065】アシスト・チャネルがステップ1716で
圧縮されると、アシスト・チャネルはステップ1718
で符号化される。実施の一形態において、アシスト・チ
ャネルは、例えば図10に示されるように、データ・グ
リフを用いて符号化される。ステップ1720では、符
号化されたアシスト・チャネルが一次チャネルと連結さ
れて、例えばプリンタ108を用いてステップ1722
でプリントされる。
【0066】一次チャネルが符号化される方法が変更さ
れ得ることは、当業者により理解されるであろう。実施
の一形態において、一次チャネルは、一定のサイズ及び
一定のガード・ディジット数をそれぞれ有する列グルー
プに分割される。代替の実施の形態において、一次チャ
ネルは、各列グループごとに異なるサイズ及び/又は異
なるガード・ディジット数を割り当てられる列グループ
に分割される。例えば、ある行は最後の列に至る前に終
了する可能性があるために、最後の列はより少数の文字
を有し得る。従って、ガード・ディジット数は、最後の
列ではおそらく異なるであろう。また、その列の情報
が、より高い復号化精度を必要とすると先験的に判断さ
れる場合(例えば、金額情報を含む銀行小切手の列)、
特定の列のためのガード・ディジット数をより大きくし
てもよい。
【0067】D.2 アシスト・チャネル・ブロック復
号化 図21は、走査されたハードコピー・ドキュメントを復
号化するために、ブロック符号化されたアシスト・チャ
ネルを用いて、ハードコピー・アシスト・チャネルによ
り実行されるステップを説明するフロー・ダイアグラム
である。図2に示されるように、先ずステップ2102
では、ハードコピー・ドキュメント106のビットマッ
プ画像206が、スキャナを使用して取得される。この
例において、ハードコピー・ドキュメント106は、一
次チャネル124及びブロック符号化されたアシスト・
チャネル126を含む。ステップ2104では、画像抽
出モジュール210が、アシスト・チャネル118及び
ビットマップ一次チャネル214をビットマップ画像2
06から抽出する。アシスト・チャネル118は、ステ
ップ2106で復号化され、モジュール212によりス
テップ2108で圧縮解除される。ステップ2109で
は、ビットマップ一次チャネルが、行長さのベクトル2
010の行長さを用いて位置合わせされ、一次チャネル
の行をアシスト・チャネルのガード・ディジットと同期
させる。続いて、圧縮解除されたアシスト・チャネル2
19及びビットマップ一次チャネル214は、ステップ
2110、2112、2114、2116、2118、
2120、2122、2124、2126及び2128
を実行するデコーダ・モジュール216に入力される。
【0068】ステップ2110では、OCR解釈の候補
が、アシスト・チャネルの支援を借りずに、一次チャネ
ルの各行ごとの最短経路計算を介して算出される。実施
の一形態において、この最短経路計算は、上述のセクシ
ョンCで詳細に論じられたドキュメント画像デコーダ
(DID)を用いて、各行ごとに実行される。より詳細
には、DIDは、図12で説明されるステップを実行
し、図14及び15に示されるようなノード及びアーク
を伴うグラフを通して最短の経路を生成する。2つのパ
スのうちの第2のパスにおいて、グラフ全体を逆方向に
たどることにより識別される最短経路は、各行の「アシ
スト無し」のOCR解釈の候補を提供する。
【0069】ステップ2112では、カレント・メッセ
ージのベクトルが、OCR解釈の候補を有する第1の列
グループを用いて特定される。列グループの寸法は、列
グループのサイズ及びガードされたテキストの行数を用
いて、アシスト・チャネルにおいて定義される。ステッ
プ2114では、カレント・メッセージのベクトルに対
応するガード・ディジットが、アシスト・チャネルから
取得される。ステップ2116では、ステップ2114
で取得されたガード・ディジットが用いられ、ステップ
2110で計算されたOCR解釈の候補にエラーが存在
するか否かがチェックされる。エラーが存在する場合
は、カレント・メッセージのベクトルは、ガード・ディ
ジット(例えば、リード・ソロモン符号)を使用してス
テップ2118で訂正され、存在しない場合は、ステッ
プ2122が実行される。
【0070】ステップ2120では、ステップ2118
で訂正を必要とされた一次チャネルの各行の、残りのメ
ッセージのベクトルが識別される。ステップ2116で
チェックされない残りのメッセージのベクトルに対し
て、ステップ2110で実行された最短経路計算が解釈
し直され、新しい又は変更されたOCR解釈の候補を生
成する。一次チャネルの各行の残りの再解釈は、図22
を参照して、以下で十分に説明される。最後に、全ての
ガード・ディジットが処理されている場合は、復号化は
ステップ2126で終了し、処理されていない場合は、
復号化処理は、カレント・メッセージをOCR解釈の候
補を有する次の垂直ブロックに指定することにより、ス
テップ2124で続けられる。ステップ2124が完了
すると、ステップ2114がカレント・メッセージ及び
(変更された)OCR解釈の候補に対して繰り返され
る。
【0071】図22は、図18に示される一次チャネル
1800の一部1802のために実行される最短経路計
算の再解釈の詳細な例を示す。より詳細には、図22
は、OCR処理においてエラーが識別された際に、OC
R解釈の候補2206を解釈し直し、再編成するために
アシスト・チャネルを使用する方法を示す。まず最初
に、OCR解釈の候補2206は、矢印2202によっ
て概略的に示されるように、抽出されたビットマップ一
次チャネル2204から、ドキュメント画像デコーダを
用いて計算される(ステップ2110)。抽出されたビ
ットマップ一次チャネル1800の一部1802のみ
が、図22に示されていることに留意すべきである。
【0072】続いて、図19に示される第1の列グルー
プ1920のためのガード・ディジット1918が用い
られ、矢印2209によって概略的に示されるように、
この列グループのための復号化されたOCR解釈の候補
の中にエラーが存在するか否かが決定される(ステップ
2116)。図19に示される列グループ1920の一
部1922のみが、部分2208として図22で識別さ
れていることに留意すべきである。部分2210を含む
列グループを評価するためにガード・ディジットを使用
する場合、この列グループに対応するガード・ディジッ
トは、ビットマップの部分2208を復号化する際のエ
ラーを識別し、訂正された復号化部分2212をもたら
すために用いられる(ステップ2118)。
【0073】第1の列グループの処理後、訂正された全
ての行が解釈し直され、矢印2213によって概略的に
示されるように、新しいOCR解釈の候補が提供される
(ステップ2120)。図22では、訂正された復号化
部分2212を考慮して、OCR解釈の候補2206を
解釈し直した後に、新しいOCR解釈の候補2214が
提供される。図15に関連して上述されたDIDを使用
することにより、復号化エラーを考慮したOCR解釈の
候補2206の再解釈は、図15及び22で参照番号1
520、1522及び1528によりそれぞれ識別され
るように、文字「d」を訂正し、文字「ol」に置換す
る。新しい文字1522のために、グラフ1400は、
図15に示されるように新しいテンプレートがノード1
524で終了するように再編成される。ノード1524
から逆方向にたどることにより、新しいセットのテンプ
レートを特定する新しいセットのアークを識別するバッ
クポインタ(例えば、1526、1508、1510、
1512)を有する新しい経路が解釈し直され、これに
より、図22に示される新しいOCR解釈の候補221
4が得られる。
【0074】DIDグラフの再解釈が成されると、新し
いOCR解釈の候補2214はこの時点で、図15及び
22に示される新しいテンプレート1528を識別す
る。新しいOCR解釈の候補2214のエラー識別及び
訂正は、部分2230を含む次の列グループに対して実
施される。OCR解釈2206の部分2210に対して
実行されたと同様に、OCR解釈2214の画像部分2
230は、先ずエラーを調べられ、矢印2232により
示されるように、必要に応じて訂正される。続いて、エ
ラーが識別されて、画像部分2234で訂正されたと仮
定すると、OCR解釈2214は、矢印2238により
示されるように、新しいOCR解釈2236として解釈
し直される。OCR解釈の各列グループが、図21に示
されるフロー・ダイアグラムに従って分析され終わるま
で、図22に示されるプロセスが続けられる。
【0075】OCR出力行を解釈し直すために、様々な
技術を用いることが可能であることは、当業者により理
解されるであろう。特に、任意のOCRシステムの文字
列出力は、訂正された接頭部とオリジナルのOCR解釈
との間の文字列編集の隔たり(即ち、ある文字列を別の
文字列に等しくするために必要とされる変更の回数)を
最小限に抑えるために、部分的に訂正された行に合せて
再調整されることが可能である。
【0076】1ページ又は複数ページのハードコピー・
ドキュメントのためのエラー訂正コードを、垂直なパー
ティション(サイズは異なり得る)に沿って計算するこ
とは、テキスト及び/又はページの各行の初め及び終わ
りに、当然ながら同期点を追加する。図22に示される
ように、エラーの検出及び訂正が、テキストの復号化さ
れた行全体で進められる際に、前のブロック2212の
成功した訂正は、次のブロック2230の訂正と同期が
とられる。好適には、一次チャネルの垂直列グループご
とにガード・ディジットを計算することにより、デコー
ダ・モジュール216は、各列グループで同期がとられ
る。行に沿って複数の同期点を提供する垂直列グループ
を用いない場合、OCRデコーダは、誤って異なる幅の
文字を照合し、エラー訂正符号との位置がずれるおそれ
がある。更に、適切な同期を伴わないOCRデコーダ
は、アシスト・チャネルのエラー訂正能力を上回るおそ
れのある連続するエラー文字列を生成し得る。
【0077】更に、より多くのテキスト行が記号ブロッ
クごとにガードされると、より大きい圧縮がアシスト・
チャネルにより達成されることは、当業者によって理解
されるであろう。また、ブロック・コーディングは、十
分な数の同期点を提供するために、多数の記号行を必要
とすることは、当業者により理解されるであろう。即
ち、ほんの数行しか存在しない場合は、これらの行の中
央に位置する1セットの同期点が、アシスト・チャネル
のデータ2002に加えられることが可能である。ガー
ド・ディジットのための1セットの同期点の中の同期点
は、1ページ又は複数ページ上で、同じ又は異なるテキ
スト行の第1の列グループの位置を識別する。これは、
1列を超える列が、同一セットのガード・ディジットに
よってガードされることを可能にする。例えば、多数の
テキストの列/欄を有するページ(例えば新聞)は、複
数の列/欄におけるメッセージ・ディジットの行の開始
を識別する1セットの同期点を記述することによって、
符号化されることが可能である。或いは、ページ当たり
数行のみを有する複数のページを有するドキュメントに
おける各行の開始は、異なるページ上で行の開始を識別
する1セットの同期点によって記述されることが可能で
ある。
【0078】D.3 拡張アシスト・チャネル・ブロッ
ク・コーディング ブロック・エラー・コーディングは、OCR処理でエラ
ーを識別して訂正する間、改善された同期を提供する
が、ブロック・エラー・コーディングは、OCR処理の
最中に生じる可能性の高いエラーに関する情報を一切使
用しない。このセクションでは、OCR処理の最中に生
じる可能性の高いエラーに関する情報を用いる拡張アシ
スト・チャネル・ブロック・コーディングに関する2つ
の代替の実施の形態が示される。
【0079】実施の一形態において、復号化は、最も近
いメッセージのベクトルよりも寧ろ、オリジナル・メッ
セージのベクトルである可能性が最も高いメッセージの
ベクトルを、図21のステップ2118で、検出するこ
とにより実行されることが可能である。例えば、カレン
ト・メッセージのベクトルの訂正は、正しくなさそうな
単一の訂正よりも寧ろ、「c」を「o」に変え、「I」
を「1」に変えるといった、2つの訂正をすることによ
り実行され得る。本実施の形態において、アシスト・チ
ャネルのビット当たりのエラー訂正の有効性が改善され
る。この実施の形態の不利な点は、ブロック・コードの
最大尤度による復号化が計算処理的に難しいということ
である。
【0080】計算処理的にそこまでの労力を必要としな
い別の実施の形態において、分離符号化エラー訂正が、
文字コードを再符号化することにより実行される。発生
する可能性の最も高いOCRエラーに、発生する可能性
のより低いOCRエラーよりも多くのガード・ディジッ
トが割り当てられるように、文字コードが再符号化され
る。即ち、より多くのエラー訂正が、OCR処理の最中
にエラーをより受け易いビットに適用される。例えば、
表2は、上述の技術を用いて作成される、4つの等価ク
ラスを有する分離コードを示す。4つの等価クラス又は
グループ・コード(即ち、GC)は、プリントされた文
字が高位の2ビットによって、符号化されることを可能
にする。各グループ・コードは、文字コード(即ち、C
C)又はグループに特有の文字コードの一意の等価クラ
スを識別する。
【表2】
【0081】文字を分類する等価クラスを識別する高位
の2ビットは、OCR処理の最中に、低位のビットのみ
の場合よりも、変更される可能性が非常に高い。従っ
て、より強力なエラー訂正が、図19に示される垂直配
置において、高位のビットに適用される。
【0082】ブロック・コーディングの例として図17
に示されるようにハードコピー・ドキュメントを符号化
する場合、この実施の形態は、表2に記載の符号化方式
のために、グループ・コード当たりのガード・ディジッ
ト数及び文字コード当たりのガード・ディジット数を特
定するステップを、ステップ1706で実行することを
含む。例えば、グループ・コードを用いない5-ディジ
ットのエラー訂正符号で用いられるのとほぼ同じ空間
で、この符号化方式は、8-ディジットのエラー訂正符
号が高位(「グループ・コード」)の2-ビットに適用
されることを可能にし、2-ディジットのエラー訂正符
号が低位(「文字コード」)の6-ビットに適用される
ことを可能にする。
【0083】更に、図17に示されるようにハードコピ
ー・ドキュメントを符号化する際に、オリジナルの文字
コードは、それらのグループ・コード及び文字コード表
現(即ち、gc.cc)に再符号化される。例えば、文
字「A」は、例えばASCIIコードからコード「<01>
<000000>」に再符号化される。従って、図19
の垂直配置に関すると、参照番号1918によって識別
されるG1のためのガード・ディジットは、垂直列グル
ープ1920のためのグループ・コードを保護する第1
のセットのガード・ディジットと、垂直列グループ19
20のための文字コードを保護する第2セットのガード
・ディジットとを含む。
【0084】復号化する場合、デコーダ・モジュール
は、先ず、特定の等価クラスに訂正された高位のビット
を有する行上で最適な解を検出することを強いられる。
続いて、デコーダ・モジュールは、訂正された高位ビッ
トの低位のビットを訂正する。低位のビットを用いた訂
正は、識別された等価クラスの範囲内の文字のみの訂正
に制約される。換言すると、先ず、復号化された行は、
チェック・ディジットの高位のビットを用いて修正され
る。続いて、この行は、チェック・ディジットの低位の
ビットを用いて、更に修正される。より詳細には、図2
1は、本実施の形態において、ステップ2116、21
18及び2120を有する、高位のビットのための「外
側ループ」と、低位のビットのための「内側ループ」と
を含むように変更される。
【0085】代替の実施の形態において、高位及び低位
のガード・ディジットの列グループのサイズ2004は
変化する。この代替の実施の形態の一態様において、ガ
ード・ディジットの高位のビットは、ガード・ディジッ
トの低位のビット(例えば、より小さい列グループ・サ
イズである2)よりも大きいサイズ(例えば、より大き
い列グループ・サイズである4)を有する列にグループ
化される。この符号化フォーマットは、より大きい記号
アルファベットを用いて符号化するために、異なる列の
高位のビットを一緒にグループ化する。これによりリー
ド・ソロモン・コーディングのエラー訂正を最大に利用
している。
【0086】E.アシスト・チャネル畳み込みコーディ
ング 本願明細書では「畳み込みコーディング」と呼ばれる、
アシスト・チャネル・コーディングの第3の方法は、一
次チャネルの1行の文字の各文字ciを連続的にハッシ
ュして、ハッシュ関数の繰返しを計算する。より詳細に
は、テキスト行の各位置で、カレント・ハッシュはカレ
ント文字コードと組み合せられ、再びハッシュされる。
それにより、各文字がテキスト行におけるその文字位置
の右の全てのハッシュ値に影響を及ぼす、ハッシュ値の
連鎖を生成する。この連鎖内の各ハッシュ値は、(例え
ば、各ハッシュ値の1ビットを選択することにより)サ
ンプリングされ、アシスト・チャネルにおいて符号化さ
れる。続いて、一次チャネルの走査された表現を復号化
する際に、テンプレート照合検索は、一致する対応ハッ
シュ値のサンプル値を生成する解釈に制限される。行に
おける如何なるエラーも、その行の残りのためのハッシ
ュ値の連鎖を変えてしまう可能性が高く、その結果、サ
ンプル値が一致する可能性は低いと推測されるので、適
切な一致が識別される迄に調べられる不正確な解釈の数
は制限される。
【0087】E.1 アシスト・チャネル畳み込み符号
化 図23は、アシスト・チャネルの畳み込み符号化を実行
するためのステップを示すフロー・ダイアグラムであ
る。実施の一形態において、これらのステップは、図1
に示される電子アシスト・チャネル110により実行さ
れる。ステップ2302では、データの一次チャネル
が、例えば符号化/圧縮モジュール116で受信され
る。データの一次チャネルは、プリンタ等によりハード
コピー・ドキュメント上に生成されることが可能な任意
の英数字記号を含み得る。ステップ2304では、文字
データの一次チャネルのカレント行が選択される。ステ
ップ2306、2308、2310、2312、231
4及び2316では、一次チャネルの各行が、畳み込み
符号化に従って符号化される。
【0088】先ずステップ2306で、一次チャネルの
選択された行(文字c1、c2、c3、...を有する)の最
初の文字が、カレント文字ciとして識別される。続い
てステップ2308で、状態変更関数hi=H(hi-1,c[1,
i])が繰返し計算される。この式で、h0=0、hi-1
連鎖内の前の値であり、そして、ciはカレント文字で
ある。たとえ状態変更関数H(hi-1,c[1,i])が、先行する
文字(即ち、c[1,i]=c1,c2,c3,...ci)の何れかに依存
し得るとしても、状態変更関数はしばしば、H(hi- 1,ci)
のような単純な形式を有する。実施の一形態において、
状態(state)関数は、Johannesson他による「畳み込み
コーディングの基本(Fundamentals Of Convolutional
Coding)」(IEEE、1999年、ISBN:0-7803-3483-3)に
記載されるように、単純なシフト・レジスタを用いて実
施される。代替の実施の形態において、Bruce Schneier
による「応用暗号手法(Applied Cryptography)」(ジ
ョン・ワイリー・アンド・サンズ、ISBN:0-471-11709-
9)に記載されるように、より多くの複雑なハッシュ関
数が、MD5のように実施されることができる。ハッシ
ュ関数を選択する際に、異なる入力が同一出力を有する
確率が極めて小さい(例えば、2-32)ように、ハッシ
ュ関数が十分に大きい範囲(例えば、232を超える)を
有することが好ましい。
【0089】ステップ2310で、カレント行の最後の
文字に達していない場合は、ステップ2312でガード
抽出関数gi=G(hi,c[1,i])が用いられ、カレント文字ci
の状態変更関数のためのガード値(即ち、gi)が計算
される。たとえガード抽出関数G(hi,c[1,i])が、全ての
先行する文字(即ち、c1、c2、c3、...、ci)に依
存可能であるとしても、ガード抽出関数はしばしば、G
(hi,qi)のような単純な形式を有する。この式におい
て、任意の数の先行する文字(即ち、c1、c2
3、...、ci)に依存し得るqiは、ガード値のビット
数を識別するビット・セレクタである。ガード抽出関数
Gの入力は、hi(例えば、カレント文字のハッシュ)
及びc[1,i](即ち、カレント文字を含む先行する文字)
を含む。次にステップ2314で、カレント文字がカレ
ント行の次の文字になるように割り当てられ、ステップ
2308が繰り返される。
【0090】図24は、qi=1である場合の、一次チ
ャネル2406のカレント行(即ち、「This」)の
ための状態変更関数及びガード抽出関数を計算する簡略
化された実施の形態を示す。一次チャネル2406の各
文字は、文字コード2408(即ち、c1、c2、c3
及びc4)により表される。本実施の形態において、ガ
ード抽出関数は、その全体(即ち、全てのビット)を選
択される最後のガード値(即ち、gn)を除く、連鎖内
の全てのガード値のために、一方向のハッシュ関数24
04(即ち、hi)の出力の低位のビット(即ち、qi
1)を常に選択するようにハードコーディングされる。
この実施の形態は、ガード抽出関数に対する出力として
生成されるガード値2410が、特定の符号化方式のた
めに固定されることが可能であることを示す。
【0091】図25は、一次チャネルの行における各対
応する文字コード2503のためのガード値2501を
ステップ2316で生成するために、ステップ2308
で実行される繰返し計算のより一般化された表現を示
す。本実施の形態において、ガード抽出関数G(hi,c[1,
i])2502は、対応する状態変更関数2504(即
ち、hi=H(hi-1,ci))から入力を受信する。カレント文
字hiの状態変更関数2504の出力から選択されるビ
ット数は、文字c[1,i]の値における累積的な不確実性に
依存する(即ち、より確実なほど、選択されるビット数
は少ない)。この不確実性は、値qiにより各ガード値
ごとに定量化され、この値qiは、ガード値(単数又は
複数)giを定義するために各状態hiから可変の数を選
択するために用いられる。
【0092】図23を再度参照する。ステップ2310
で、カレント行の最後の文字に達した場合は、ガード値
nがステップ2311で計算される。次にステップ2
316で、アシスト・チャネルが、計算されたガード抽
出関数(即ち、g1、...、g n)によって、カレント行
から増補される。ステップ2318で、選択された行が
一次チャネルの最後の行でない場合は、カレント行はス
テップ2320で一次チャネルの次の行になるように割
り当てられ、ステップ2306が繰り返される。最後の
行である場合は、アシスト・チャネルは、例えば図10
に示されるようにデータ・グリフ等を用いて機械で読み
取り可能な情報としてステップ2324で符号化され
る。最後にステップ2326で、一次チャネル及びアシ
スト・チャネルは連結され、例えば図1に示されるプリ
ンタ108を用いてハードコピー・ドキュメント上に表
現される。
【0093】E.2 アシスト・チャネル畳み込み復号
化 図26は、走査されたハードコピー・ドキュメントを、
畳み込み符号化されたアシスト・チャネルを用いて復号
化するために、図2に示されるハードコピー・アシスト
・チャネルにより実行されるステップを説明するフロー
・ダイアグラムを示す。先ずステップ2602で、ビッ
トマップ画像206が、ハードコピー・ドキュメント1
06のスキャナを用いて取得される。この例では、ハー
ドコピー・ドキュメント106は、一次チャネル124
及び畳み込み符号化されたアシスト・チャネル126を
含む。ステップ2604では、画像抽出モジュール21
0が、アシスト・チャネル118及びビットマップ一次
チャネル214をビットマップ画像206から抽出す
る。アシスト・チャネル118は、モジュール212に
より、ステップ2606で復号化される。続いてステッ
プ2610で、ビットマップ一次チャネルの各行は、復
号化されたアシスト・チャネルを用いて復号化される。
デコーダ・モジュール216がステップ2612で完了
すると、復号化された一次チャネル112は、ドキュメ
ント102の参照符号114で示されるディスプレイ1
04上に電子形式で表示されることが可能である。
【0094】図27は、図26に示されるステップ26
10を更に詳細に説明するフロー・ダイアグラムであ
る。ステップ2702では、優先順位付き待ち行列が、
一次チャネルのカレント行のために、空の候補C=(c'
=φ、h'=0、s'=0、k'=0)によって初期化さ
れる。この式において、c'=c1'c2'...、ci-1'は、
テキストのカレント行の接頭部の可能な解釈であり、
h’は、可能な解釈c’を処理した後の状態変更関数の
値であり、得点s’は、一次チャネルの行の可能な解釈
c’の品質を測定し、そしてk’は、カレント候補のた
めのカレント・ガード値の位置である。
【0095】ステップ2704では、最も高い得点を有
する候補が、優先順位付き待ち行列から取り出され、カ
レント候補Cbestとして定義される。行の接頭部のC
bestの解釈は、c'=c1'c2'...、ci-1'である。ステ
ップ2708では、カレント候補Cbestの行の接頭部
c'=c1'c2'...ci-1'の全ての拡張文字ci'(即ち、
復号化文字)が識別される。更に、ステップ2704で
は、hi-1'をこの候補のカレント・ハッシュとし、s
i-1'を候補のカレント得点とし、そして、k’をアシス
ト・チャネルの最初の一致しないガード値の位置とす
る。更にステップ2708では、各可能な拡張文字ci'
が、一次チャネルのカレント行の残りの部分に対して得
点され、これにより、新しい得点si'=si-1'+S
(ci')を取得する。ステップ2710では、状態変更関
数hi'=H(hi',ci'[1,i])及びガード抽出関数gi'=G(hi',
c'[1,i])のための値が、ステップ2708で識別される
各拡張文字ci'ごとに計算される。
【0096】ステップ2712では、位置kiから始ま
るアシスト・チャネルのガード値giに等しい、ステッ
プ2710で計算されたガード抽出関数gi'を有する、
ステップ2708で識別された拡張文字ci'のそれぞれ
が、候補Cnext(c'=c1'c2'...ci'、hi'、si'、
i')として、優先順位付き待ち行列に加えられる。ス
テップ2714では、計算されたガード値gi'が、カレ
ント行のためのアシスト・チャネルの最後のガード値g
nに等しい場合、一次チャネルのカレント行の終わりに
達したことを意味するので、ステップ2716が実行さ
れる。gnに等しくない場合は、ステップ2704が次
の最良の候補のために繰り返される。ステップ2716
で、ビットマップ一次チャネルの全ての行が処理されて
いるならば、ステップ2610はステップ2612に進
む。そうでない場合、カレント行はステップ2718で
次の行間隔へ進み、ステップ2702が繰り返される。
【0097】図28は、図27に示されるステップに従
って、図24に示される一次チャネルのカレント行24
06を復号化する方法のグラフ図2802を示す。先
ず、空の候補2803によりグラフが定義される。第1
の文字空間のための拡張文字2804乃至2807が識
別される。拡張文字2804乃至2807の中で、拡張
文字2804及び2807のガード値がアシスト・チャ
ネルのガード値と一致した(即ち、gi'=gi)ので、
拡張文字2804及び2807のみが優先順位付き待ち
行列に加えられる点に留意すべきである。続いて、拡張
文字2807が最高の計算された得点を有したので、次
の繰返しでは、拡張2807が選択される。一次チャネ
ル2406のビットマップは、図27に示されるステッ
プを4回繰返すことによって復号化される。各繰返しの
開始時に選択される優先順位付き待ち行列の最良の候補
は、参照番号2807、2810、2812及び281
4により識別される。Johannesson他による「畳み込み
コーディングの基本」(IEEE、1999年、ISBN:0-7803-3
483-3)に開示されているように、系統的な復号化技術
以外の畳み込み復号化技術が、Viterbi等の発明、即ち
リスト復号化技術を実行するために用いられることが可
能であることは、当業者により理解されるであろう。
【0098】E.3 変調アシスト・チャネル畳み込み
コーディング 図29は、図25に示される畳み込みコーダーを、本願
明細書では「変調畳み込みコーディング」と呼ばれる、
一体化された分離コーダー2902と分離コード・コン
プレッサ2904と共に示す。本実施の形態において、
アシスト・チャネルは、ハードコピー・ドキュメントに
プリントされた記号を、一次チャネルの各文字の文字コ
ードのハッシュから導き出されるガード値を用いて分離
コードの圧縮をスクランブルすることによって保護す
る。復号化する際に、スクランブルを解かれた分離コー
ドは、テンプレート照合検索の実行時のエラーを容易に
回避することを可能にする。
【0099】図25に示される実施の形態に類似して、
状態変更関数2504及びガード抽出関数2502は、
ガード値2501(即ち、g1、...、gn)を生成す
る。しかしながら、対照的に、図29に示される実施の
形態は、圧縮された分離コード2908(即ち、c
1、...、cdn)の処理結果を、ガード値2501
(即ち、g1、...、gn-1)を用いてスクランブルす
る。圧縮された分離コード2908は、ガード値gn
共にアシスト・チャネルにおいて符号化される。
【0100】即ち、上述の畳み込みコーディングに類似
して、状態変更関数2504は、状態変更関数hi=H(h
i-1,ci)の反復を介して生成される。しかしながら、こ
の状態変更関数をサンプリングし、その結果をアシスト
・チャネルにおいて符号化するよりも寧ろ、状態変更関
数のサンプルは、分離コーディングに基づくアシスト・
チャネルのコーディングを変更するために用いられる。
状態変更関数がアシスト・チャネルを変更するために用
いられる方法は、分離コーディングが圧縮される方法に
依存する。
【0101】図29に示されるように、文字コード25
03は分離コーダー2902に入力され、この分離コー
ダー2902は、出力として分離コード2906を生成
する。実施の一形態において、分離コーダー2902
は、上述のセクションCで説明された方法で一次チャネ
ルの文字コードを符号化する。実施の一形態の分離コー
ド・コンプレッサ2904は、変更された算術に基づく
符号化技術を用いて分離コード2906を圧縮する。こ
の例は、Witten他により、「データ圧縮のための算術コ
ーディング(Arithmetic Coding for Data Compressio
n)」(Comm. ACM第30巻6刷、第520〜540頁、1987
年)において記述されている。本実施の形態において、
分離コードの等価クラス・ラベルは、等価クラスの公算
に基づく算術符号化技術によって圧縮される。
【0102】より詳細には、拡張された畳み込みアシス
ト・チャネルの符号化は、一次チャネルの各行の第1の
符号化及び第2の符号化を必要とする。第1の符号化
は、一次チャネルの所定のテキスト文字列c1、c2、c
3、...、cnに対して実行され、このテキスト文字列の
文字を等価クラスz1、z2、z3、...、zm(例えば、
図7のグループ・ラベルa、b、c)に分類し、d1
1、z2、z3、...、zmの1つであるようなクラス・
ラベルの減少された文字列d1、d2、d3、...、d n
取得する。算術コンプレッサは、区間に関する計算とし
て記述されることが可能であり、P(zi)が、ziとラ
ベル付けされた等価クラスの確率である場合、区間
[0,1]は、部分区間(サブインターバル)[s0
1]、[s1,s2]、...に分割される。この場合、s
iは確率の累積和である。即ち、si=Σj i
(zi)。これは、i番目の等価クラスに対応するi番
目の部分区間の幅P(zi)を提供する。一般性を損失
することなく、区間は、最大の(最も可能性の高い)も
のから最小のものに順序づけられると仮定される。クラ
ス・ラベルの文字列d1、d2、d3、...、dnは、以下
の反復により圧縮される。
【数1】
【0103】選択演算子Sは、以下の式により示される
iの等価クラスのための区間が区間[0,1]に対す
るのと同じ比率で、カレント区間[x,y]内の区間
[x',y']を選択する。このように、区間r1は、クラ
ス・ラベルの文字列d1、d2、d3、...、dnを一意に
決定し、log(P(d1)P(d2)P(d3)...P(di))+1ビットの上限
が特定されることを必要とする。
【数2】
【0104】第2の符号化は、対応する状態変更関数h
1、h2、h3、...、hnを計算するために、一次チャネ
ルの所定のテキスト文字列c1、c2、c3、...、cn
対して実行される。実施の一形態において、hiは、G
(hi)が0又は1に等しい確率が同じであるような、2
値関数Gによりサンプリングされる。続いて、図29に
示すように、状態変更関数の出力が、選択区間を並べ替
えることによって、算術エンコーダ2904を変更する
ために用いられる。区間[0,1]の部分区間[s0
1]、[s1,s2]、...、への分割のために、[μ
(s0),μ(s1)]、[μ(s1),μ(s2)]、[μ(s2),μ
(s3)]、...が[0,1]を包括するパーティションで
あり、区間長さが||μ(si+1)−μ(si)||=||si+1
i||として保持されるように、順列μが定義される。
順列演算子は、単一のビットに依存するように定義さ
れ、次式のような状態変更関数により提供される。
【数3】
【0105】順列μは、可能な限り大きい同期はずれを
もたらすように選択される。第1の区間が1/2より大
きい場合、逆順列μ(x)=1−xは十分である。最大の
区間が1/2未満である場合、順列の画像において区間
自体が重ならないように、順列を選択することが好まし
い。演算子R(g,[a,b])を用いると、算術圧縮反復
は、以下のように書き直されることができる。
【数4】
【0106】図30は、ガード値2501を用いて分離
コード2906の圧縮2904をスクランブルする例を
示す。図30において、分離コード(又はクラス)ラベ
ル「a」「b」及び「c」の文字列が0及び1との間の
実数により符号化される。クラス・ラベル「a」「b」
及び「c」のそれぞれに対して割り当てられる確率は、
区間3002を定義するためには、1/2対1/3対1
/6の割合(即ち、0〜0.5、0.5〜0.833、
0.833〜1.0)である。図30に示されるこの例
は、符号化されているクラス・ラベルの文字列は、
「b」から始まり、「a」が続くと仮定する。「b」ク
ラス・ラベルから開始すると、選択される区間は、
[0.5,0.833]である。次の区間は、区間300
4及び区間3006の何れかから選択される。これらの
区間は、計算された単一ビットのガード値g1が1に等
しいか0に等しいかに従って、切り替えられる。分離コ
ード「a」が続くことにより、次の区間は、3012で
ガード値g1が0に等しいか1に等しいかに従って、そ
れぞれ3008又は3010の値の範囲により定義さ
れ、これにより、ガード値に基づいて、分離コードの圧
縮をスクランブルする。
【0107】図31は、スクランブルされた畳み込み符
号化アシスト・チャネルを用いて、一次チャネルの各行
を復号化するための図26に示されるステップ2610
の詳細を説明するフロー・ダイアグラムである。図27
に示されるステップ2702に類似して、ステップ31
02は、優先順位付き待ち行列を空の候補C0によって
初期化する。続いてステップ3104では、Cbestとし
て定義される候補が、コンプレッサ2904のカレント
状態がri-1'として記録されること以外はステップ27
04と同様に、優先順位付き待ち行列から取り出され
る。ステップ3106では、分離コード・ラベルdi'
が、アシスト・チャネルからの圧縮された分離コード・
ラベルcdi、コンプレッサの前の状態ri-1、及び前の
ガード値gi- 1を用いて圧縮解除される。分離コード・
ラベルdi'は、行の接頭部c'の次の拡張文字のために
計算される分離クラスである。
【0108】ステップ3108では、Cbestの全ての拡
張文字ci'が識別される。ci'は、diとラベル付けさ
れた計算された分離クラスに属する。更にステップ31
08では、識別される可能な拡張文字ci'のそれぞれ
が、一次チャネルのカレント行の残りの部分に対して得
点され、これにより、新しい得点si'=si-1'+S
(ci')を取得する。最後にステップ3112では、全て
の識別された拡張文字ci'のための候補Cnextが、優先
順位付き待ち行列に加えられる。ステップ3114、3
116及び3118は、図27に示され上述されたステ
ップ2714、2716及び2718に対応することに
留意されたい。
【0109】このように、計算されたガード値が、アシ
スト・チャネルのガード値と一致しない候補を、優先順
位付き待ち行列から削除する図27に示される復号化技
術とは異なり、図31の復号化技術は、正しい分離クラ
スに属さない候補を削除する。しかしながら、図27及
び31のアルゴリズムは、特定候補の復号化エラーに
が、その候補の全ての拡張文字に不十分な得点をもたら
すであろうという点で、類似している。図31におい
て、候補におけるエラーの後、ステップ3106で圧縮
解除された分離クラスdiは、正しいというよりも寧
ろ、ほぼランダムであろう。従って、ステップ3108
で最適な拡張文字が調査されないかなりの確率が存在
し、結果として、エラーを含んでいる候補の拡張文字の
得点を低下させる。
【0110】状態変更関数の計算を種々の圧縮アルゴリ
ズムと連結することが可能であることは、当業者により
理解されるであろう。このアプローチの背後にある一般
的な観念は、状態変更関数の値が、達成される圧縮の質
に影響を及ぼさないがエラー発生後に圧縮解除の結果を
スクランブルするように、圧縮アルゴリズムの機能を変
更するというものである。例えば、ジブ−レンペル−ウ
ェルチ(Ziv-Lempel-Welch)の(LZW)コンプレッサ
は、コーディングの前にコンプレッサのディクショナリ
・インデックスを用いて、状態変更関数hi-1のビット
のサブセットをXORする(排他的論理和をとる)こと
によって、圧縮をスクランブルするように変更されても
よい。
【0111】F.リライト・モデルを用いた代替動作環
境 セクションAで説明された動作環境では、DID様式の
デコーダの最短経路は、アシスト・チャネルの情報を考
慮するように変更される。このように、デコーダは、ア
シスト・チャネルの情報と整合している一致する解を識
別することによって最短経路を検出するように変更され
る。即ち、図2に示されるデコーダの動作環境で実行さ
れる最短経路計算は、アシスト・チャネルにより訂正さ
れる復号化エラーと整合している最短経路を検出するよ
うに増分的に適用されることが可能である。
【0112】図32は、図2に示されるハードコピー・
アシスト・チャネル204の代替の実施の形態を示す。
この代替の実施の形態において、アシスト・チャネル
は、デコーダ・モジュール3204とは独立して動作す
る。従って、この代替の実施の形態において、アシスト
・チャネルは、如何なる特定のOCR復号化プロセスと
も一体化される必要はない。その代わりに、アシスト・
チャネルは、ビットマップ画像の最初の復号化を実行す
る任意のOCRエンジンとは独立してデコーダ・エラー
をモデル化するリライト・モジュールへ入力される。
【0113】図2に示される実施の形態に類似して、図
32の画像抽出モジュール210は、ビットマップ画像
データ206を受信し、アシスト・チャネル118のデ
ータとビットマップ一次チャネル214のデータとを切
り離す。しかしながら、本実施の形態では、デコーダ・
モジュール3204は、復号化及び圧縮解除されたアシ
スト・チャネル219からのサポートなしに、ビットマ
ップ一次データ214を復号化し、一次データの候補3
202を生成する。また、本実施の形態では、リライト
・モジュール3200が、一次データの候補3202
と、復号化及び圧縮解除されたアシスト・チャネル21
9とを入力として受け取り、データ112の一次チャネ
ルを生成する。
【0114】作動時に、リライト・モジュール3200
は、イベント・ライブラリを用いて一次データの候補3
202のグラフを定義する。イベント・ライブラリは、
OCR処理の最中に発生し得る様々な失敗イベントの確
率を測定することにより、デコーダ・モジュール320
4にOCRエンジンのための失敗モデルを構築するため
に用いられる。これらの失敗イベントは、一般的(即
ち、全てのOCRエンジンで発生する傾向がある)であ
っても、特殊(即ち、所定のOCRエンジンでのみ発生
する傾向がある)であってもよい。例えば、図33は、
特殊な規則3304と、如何なる場合にも対応可能な規
則3308を含む、より汎用的な規則3306とを明記
するイベント・ライブラリ3302を示す。重み331
0が各規則に割り当てられる。重みが小さいほど、その
イベントがデコーダ・モジュールで発生する確率が高
い。その結果として、識別変換3312(即ち、変換を
行わない)は、最も小さい重みを割り当てられるか、又
はそのような変換の内の1つであり得る。失敗イベント
の1つの例はイベント3314(即ち、rn→m)であ
り、これは原形の損失(即ち、「rn」)及びその誤り
の訂正(即ち、「m」)を定義する。
【0115】実施の一形態において、失敗モデルは、そ
の状態に戻る遷移のみを有する単一の状態を含む単純な
構造を有する重み付けされた有限状態トランスデューサ
である。本実施の形態において、重み付けされた有限状
態トランスデューサの単純さのために、失敗モデルを、
重み付けされた有限状態トランスデューサの十分に一般
化された定式化により処理することは必要でない。代替
の実施の形態において、Jones他により「ベイズ流OC
Rポスト・プロセッサにおける複数の知識ソースの一体
化(Integrating Multiple Knowledge Sources in A Ba
yesian OCR Post-Processor)」、(ICDAR '91
サン‐マロ(フランス)の会報第2巻、第925〜933
頁)において説明されているような、言語モデルを組み
入れる重み付けされた有限状態トランスデューサのより
一般化された定式化が用いられる。この重み付けされた
有限状態トランスデューサのより一般化された定式化
は、リライト・モジュールが、デコーダ・モジュールの
OCRエンジンに組み込まれた任意の言語モデルにアク
セスすることができないことを考慮する。
【0116】イベント・ライブラリ3302において定
義される失敗モデルを用いて、リライト・モジュール3
200は、デコーダ・モジュール3204により復号化
された一次データの候補3202を、アシスト・チャネ
ル219の援助を受けてリライトする(書き直す)。実
施の一形態において、リライトは、失敗モデル及びアシ
スト・チャネルを使用して、一次データの候補3202
の最短経路を(ビタービ・アルゴリズムを用いたダイナ
ミック・プログラミングを用いて)計算することにより
実行される。このリライト動作は、最も可能性の高い一
次チャネル・データ112を検出する。換言すると、こ
の最短経路計算は、上述されたデコーダ・モジュール2
16で動作するDID OCRエンジンで行われる最短
経路計算のための代用物をもたらす。そして、これによ
り、アシスト・チャネルが、デコーダ・モジュール32
04で動作可能な任意のOCRエンジンに適用されるこ
とを可能にする。
【0117】図12に関連して上述されたように、最短
経路の計算は、グラフを定義するステップ及び最短経路
を計算するステップを含む。DID OCRエンジンの
本実施の形態におけるグラフを定義するステップは、図
34の参照番号3400で明記される。ステップ340
0を用いてグラフが定義されると、グラフの最短経路
が、上記に詳述された図12に示されるステップ120
1を用いて計算される。
【0118】グラフを定義するための図34に示される
ステップ3400は、一次データの候補3202からテ
キスト行の各文字(又は、記号)の位置で、グラフ内の
ノードを定義するステップ3402を含む。換言する
と、グラフのノードは、一次データの候補の各テキスト
位置に対応する。ステップ3404では、各ノードごと
に、イベント・ライブラリ3302がサーチされ、イベ
ントの左側がそのノード(即ち、カレント・ノード)か
ら開始する文字列と一致する場合には、アークが加えら
れる。アークの得点は、そのイベントの重みである。ア
ークの宛先ノードの位置は、カレント・ノードの位置
に、一致したイベントの左側の文字数を加えた位置に等
しい。
【0119】図35は、図34で説明されるステップに
従って定義されるグラフの例を示す。OCR解釈の候補
3505は、抽出されたビットマップ一次チャネル35
03から、例えばDID OCRエンジンを用いて計算
される。OCR解釈の候補3505における各文字位置
3506で、グラフ3502のノード3504が定義さ
れる(ステップ3402)。あるノードで開始する文字
の位置により定義される文字列が、イベント・ライブラ
リの文字列と一致する場合、アークがグラフのノード間
に引かれ、リライト及び得点を割り当てられる。例え
ば、アーク3508は、OCR解釈の候補3505の文
字列「rn」と、イベント・ライブラリ3302の文字
列3314との間の一致のために、得点及びリライト
(即ち、「m」)を与えられる(ステップ3404)。
グラフ3502の最短アークは、イベント・ライブラリ
において定義される識別変換3312であることに留意
すべきである。
【0120】代替の実施の形態において、デコーダ・モ
ジュール3204は、リライト・モジュール3200に
配信される一次データの候補3202と共に、確実性予
測等の他のOCRデータを含む。実施の一形態におい
て、これらの確実性予測は、ステップ3404でアーク
の得点に組み入れられる。従って、デコーダ・モジュー
ル3204及びリライト・モジュール3200は、互い
に独立して動作するが、リライト・モジュール3200
は、デコーダ・モジュール3204に提供され得る他の
統計情報を利用することができる。
【0121】図36は、図35で定義されるグラフの、
図11及び12で説明されるステップ1201による復
号化を示す。図36に示される例において、プロダクト
・グラフ3600は、図16で定義されるプロダクト・
グラフに類似の方法で定義される。分離コードを用いて
符号化されたアシスト・チャネルを用いて、一次チャネ
ルを復号化するための図11で説明されるステップは、
OCR解釈の候補をリライトするために適用されること
ができる。但し、ステップ1110で取得される一次チ
ャネルの各行は、ビットマップ一次チャネル214では
なく、OCR解釈3505の行に対応する。
【0122】例示のために、図36に定義されるグラフ
の復号化の例は、図35の最初の4つの記号のみを説明
する。また、簡潔さのために、プロダクト・グラフ36
00の形成方法を示す極くわずかのアークが図36に示
される。上記に詳述された分離復号化に従って、プロダ
クト・グラフ3600の第1の次元3602が定義され
る。リライト・モジュール3200が、第1の次元36
02におけるグラフの最短経路計算でなく、寧ろプロダ
クト・グラフにおける最短経路計算を実行することは、
当業者により理解されるであろう。
【0123】図36に示されるように、アシストされず
に復号化された一次チャネル3606の出力(即ち、一
次データの候補3202である文字「Fdbw」)は、
プロダクト・グラフ3600のアシスト・チャネルを用
いて訂正され、訂正された出力3620(即ち、一次チ
ャネル・データ112である文字「Follow」を生
成する。プロダクト・グラフを定義する際に、リライト
・モジュール3200は、OCR解釈の候補3602に
おける文字位置、及び対応するアシスト・チャネル36
04における位置の両方を識別する。図36に示される
アシスト・チャネルの例は、図7に示される3つのグル
ープに分類される分離コードを用いて定義される。プロ
ダクト・グラフ3600を定義する際に、文字「d」
が、アーク3610でアシスト・チャネルの第2の位置
により要求されるように、分離グループ「b」にではな
く、分離グループ「a」に分類されるので、アーク36
08はプロダクト・グラフから除外される。しかしなが
ら、アーク3612はアシスト・チャネルの第4の位置
3613に該当するが、次のアーク3614がアシスト
・チャネルの第5の位置3615に該当しないことに留
意すべきである。プロダクト・グラフ3600が定義さ
れると、プロダクト・グラフの最短経路の計算は、文字
「Follow」を含む出力文字列3620を生成す
る。
【0124】リライト・モジュールが、図36に示され
るような分離コーディングを用いたオペレーションに限
定される必要はないことは、当業者により理解されるで
あろう。代わりに、リライト・モジュールは、図2に示
される動作環境に関連して上述されたように、ブロック
・コーディング及び畳み込みコーディングに従って動作
することが可能である。また、図2に示されるデコーダ
・モジュール216により実行される畳み込みコーディ
ングが、グラフ(例えば、図16に示されるグラフ16
02)をツリー(例えば、図28に示されるツリー28
02)に変更するのと同様に、畳み込みリライト・モジ
ュールと共に動作する図32に示されるリライト・モジ
ュール3200が、図36に示されるグラフ3602を
ツリーに変更し得ることを、当業者は理解するであろ
う。
【0125】デコーダ3204によって復号化される一
次チャネルの文字又は記号は、失敗モデルにより識別さ
れる他のいかなるイベントよりも正しい可能性が高いは
ずなので、リライト処理がアシスト・チャネルの援助を
伴って実行されない限り、リライト・モジュールによる
一次データの候補のリライトは、無意味(即ち、識別変
換)になる可能性が高いことは、当業者により更に理解
されるであろう。結果として、アシスト・チャネルが、
一次データの候補に現れる文字を、次の最適な解釈によ
り制限するか、又は訂正した場合、失敗モデルは有用に
なる。一次データの候補のこのような制限又は訂正は、
リライト・モジュールにより識別される誤り(例えば、
rn→m)によって暗示される、図36に示されるよう
なデータの再同期化を含むことができる。
【0126】要約すると、図32に示される、デコーダ
・モジュールに依存しないOCR誤りを訂正するために
アシスト・チャネルを用いるリライト・モジュールを含
む、より一般化されたハードコピー・アシスト・チャネ
ルは、図2に示される一体化されたハードコピー・アシ
スト・チャネルよりも効率が悪い可能性がある。OCR
デコーダにより用いられる統計情報の全てが、リライト
・モジュールに把握されるわけではないために、一般化
されたハードコピー・アシスト・チャネルで、非効率性
が生じる。即ち、図2のアシスト・チャネルと一体化さ
れるDID OCRエンジンは、復号化されているビッ
トマップ一次チャネルに特有の、他の解釈に関するより
多くの統計情報を用いることができる。対照的に、図3
2に示されるリライト・モジュールは、任意の一般のド
キュメントで発生するOCR誤りの失敗モデル統計情報
内の情報のみ利用可能である。しかしながら、図32に
示される一般化されたハードコピー・アシスト・チャネ
ルの主たる利点は、デコーダ・モジュールでのオペレー
ションのために選択されるOCRエンジンとは独立して
いるリライト・モジュールにおいて、任意のアシスト・
チャネル復号化技術(即ち、分離コーディング、ブロッ
ク・コーディング、又は畳み込みコーディング)が、動
作可能なことである。上述されたDID OCRエンジ
ンの他に、デコーダ・モジュールで動作可能な他のOC
Rエンジンには、ScanSoft社(www.scansoft.com)によ
り製作されたテキスト・ブリッジ・プロ・ミレニアム
(TextBridge Pro Millennium)のOCRエンジンを含
むことは、当業者により理解されるであろう。
【図面の簡単な説明】
【図1】ディスプレイ上に表示及び/又は生成される電
子ドキュメントの授受を示す(ブロック)図である。
【図2】ハードコピー・ドキュメント上に表現される一
次チャネル及びアシスト・チャネルからのデータと共
に、ハードコピー・ドメイン及び電子ドメインの間での
ハードコピー・ドキュメントの授受を示す(ブロック)
図である。
【図3】本発明の分離符号化を実行するための一般的な
ステップを有するフロー・ダイアグラムである。
【図4】図3に示されるステップ308を更に詳細に説
明するフロー・ダイアグラムである。
【図5】4つの記号「e」、「p」、「b」及び「c」
の識別されたアルファベットのグラフの例を、その文字
が発生する可能性を記録する、記号に対応するノードと
共にに示す図である。
【図6】利得を最大にする一方で、エントロピーを最小
にするカレント・パーティションを識別するための反復
プロセスを示すグラフである。
【図7】1セットの記号が3グループに分類されるパー
ティションを示す図である。
【図8】一次チャネルの例を示す図である。
【図9】図7に示されるパーティションを使用して作成
される図8に示される一次チャネルのためのアシスト・
チャネルを示す図である。
【図10】データ・グリフを使用して符号化されるアシ
スト・チャネルの例を示す図である。
【図11】アシスト・チャネルによって増補されるハー
ドコピー・ドキュメントの一次チャネルを復号化するた
めに、ハードコピー・アシスト・チャネルにより実行さ
れるステップのフロー・ダイアグラムである。
【図12】一次チャネルのグラフの最短経路を計算する
ためのステップを説明するフロー・ダイアグラムであ
る。
【図13】図8に示される一次チャネル800の行の文
字802のビットマップ表現のためのノードを有するグ
ラフを示す図である。
【図14】ビタービ・アルゴリズムを用いたフォワード
パス計算の例を示す図である。
【図15】図14で作成されるグラフと逆方向にトレー
スする(即ち、ビタービ・アルゴリズムのバックワード
パス計算)例を示す図である。
【図16】プロダクト・グラフの最短経路計算の例を示
す図である。
【図17】アシスト・チャネルのブロック符号化を実行
するためのステップのフロー・ダイアグラムである。
【図18】データの一次チャネルの例を示す図である。
【図19】図18に示される一次チャネルの記号データ
の特定の垂直ブロックごとに、ガード・ディジットが計
算される例を示す図である。
【図20】図18に示されるデータの一次チャネルの例
のために集められたデータを示す図である。
【図21】ブロック符号化されたアシスト・チャネルを
有する走査されたハードコピー・ドキュメントを復号化
するために、ハードコピー・アシスト・チャネルにより
実行されるステップを説明するフロー・ダイアグラムで
ある。
【図22】図18に示される一次チャネルの一部に対し
て実行される最短経路計算の再解釈の詳細な例を示す図
である。
【図23】アシスト・チャネルの畳み込み符号化を実行
するためのステップを示すフロー・ダイアグラムであ
る。
【図24】ガード値のビット数qi=1である場合の、
一次チャネルのカレント行(即ち、「This」)のた
めの状態変更関数及びガード抽出関数の計算の簡略化さ
れた実施の形態を示す図である。
【図25】一次チャネルの行内の対応する文字コードの
それぞれごとにガード値を生成するために実行される反
復計算のより一般化された表現を示す図である。
【図26】畳み込み符号化されたアシスト・チャネルを
有する走査されたハードコピー・ドキュメントを復号化
するために、図2に示されるハードコピー・アシスト・
チャネルにより実行されるステップを説明するフロー・
ダイアグラムである。
【図27】図26に示されるステップ2610をより詳
細に説明するフロー・ダイアグラムである。
【図28】図27に示されるステップに従って、図24
に示される一次チャネルのカレント行を復号化する方法
を示すグラフ図である。
【図29】本願明細書で「変調された畳み込みコーディ
ング」と呼ばれる、一体化された分離コーダー及び分離
コード・コンプレッサを有する図25に示される畳み込
みコーダーを示す図である。
【図30】ガード値を用いた算術符号化により圧縮され
る分離コードのスクランブリングの例を示す図である。
【図31】スクランブルされた畳み込み符号化アシスト
・チャネルを用いて一次チャネルの各行を復号化するた
めの図26に示されるステップ2610の詳細を説明す
るフロー・ダイアグラムである。
【図32】図2に示されるハードコピー・アシスト・チ
ャネルの代替の実施の形態を示す(ブロック)図であ
る。
【図33】デコーダ・モジュールのOCRエンジンのた
めの失敗モデルを構築するために用いられるイベント・
ライブラリを示す図である。
【図34】図33に示されるイベント・ライブラリを用
いて、図32に示されるリライト・モジュールにより実
行されるグラフを定義するためのステップを説明するフ
ロー・ダイアグラムである。
【図35】図34で説明されるステップに従って定義さ
れるグラフの例である。
【図36】図12で説明されるステップ1201で定義
されるグラフの復号化の例を示す図である。
【符号の説明】
112 一次チャネル 118 アシスト・チャネル 204 ハードコピー・アシスト・チャネル 206 ビットマップ画像データ 210 画像抽出モジュール 212 復号化/圧縮解除モジュール 214 ビットマップ一次チャネル 219 復号化及び圧縮解除されたアシスト・チャネ
ル 3200 リライト・モジュール 3202 一次データの候補 3204 デコーダ・モジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アショック シー.ポパット アメリカ合衆国 94070 カリフォルニア 州 サン カルロス シーダー ストリー ト 625 アパートメント ケー Fターム(参考) 5B064 EA18

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ハードコピー・ドキュメント上に表現さ
    れる、人間により可読である情報を有する第1のチャネ
    ルを提供する記号データの一次セットと、前記ハードコ
    ピー・ドキュメント上に表現される、機械により可読で
    ある情報を有する第2のチャネルを提供する符号化デー
    タの二次セットとを含む前記ハードコピー・ドキュメン
    トの走査された表現を記録するステップと、 前記ハードコピー・ドキュメントの該走査された表現の
    復号化された形式を復号化モジュールから受信して、候
    補となる記号データのセットを定義するステップと、 前記復号化モジュールとは独立して、前記ハードコピー
    ・ドキュメントの走査された表現が復号化される際に遭
    遇する確率の高い誤りを識別するイベント・ライブラリ
    と、前記符号化データの二次セットと、を用いて、前記
    候補となる記号データのセットを書き直すステップと、 を含む、ハードコピー・ドキュメントのための画像デー
    タ復号化方法。
  2. 【請求項2】 前記書き直すステップが、前記候補とな
    る記号データのセットと、前記符号化データの二次セッ
    トと、のプロダクト・グラフの最短経路を計算するステ
    ップを更に含む、請求項1に記載の方法。
  3. 【請求項3】 前記プロダクト・グラフが、 前記候補となる記号データのセット及び前記符号化デー
    タの二次セットの両方の位置に対応するノードを定義す
    るステップと、 前記候補となる記号データのセットと、前記符号化デー
    タの二次セットと、を満たすアークを定義するステップ
    と、 により定義される、請求項2に記載の方法。
  4. 【請求項4】 前記プロダクト・グラフが更に、前記候
    補となる記号データのセット内の記号をイベント・ライ
    ブラリからのイベントとマッチングすることにより定義
    される、請求項3に記載の方法。
  5. 【請求項5】 ハードコピー・ドキュメント上に表現さ
    れる、人間により可読である情報を有する第1のチャネ
    ルを提供する記号データの一次セットと、前記ハードコ
    ピー・ドキュメント上に表現される、機械により可読で
    ある情報を有する第2のチャネルを提供する符号化デー
    タの二次セットとを含む前記ハードコピー・ドキュメン
    トの走査された表現を記録するための手段と、 前記ハードコピー・ドキュメントの該走査された表現の
    復号化された形式を復号化モジュールから受信して、候
    補となる記号データのセットを定義するための手段と、 前記復号化モジュールとは独立して、前記ハードコピー
    ・ドキュメントの走査された表現が復号化される際に遭
    遇する確率の高い誤りを識別するイベント・ライブラリ
    と、前記符号化データの二次セットと、を用いて、前記
    候補となる記号データのセットを書き直すための手段
    と、 を含む、ハードコピー・ドキュメントのための画像デー
    タ復号化装置。
JP2001140812A 2000-05-19 2001-05-11 ハードコピー・ドキュメントのための画像データ復号化方法及び同装置 Expired - Fee Related JP4582953B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US574406 2000-05-19
US09/574,406 US7110621B1 (en) 2000-05-19 2000-05-19 Assist channel coding using a rewrite model

Publications (2)

Publication Number Publication Date
JP2002015279A true JP2002015279A (ja) 2002-01-18
JP4582953B2 JP4582953B2 (ja) 2010-11-17

Family

ID=24295980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001140812A Expired - Fee Related JP4582953B2 (ja) 2000-05-19 2001-05-11 ハードコピー・ドキュメントのための画像データ復号化方法及び同装置

Country Status (2)

Country Link
US (1) US7110621B1 (ja)
JP (1) JP4582953B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137162B2 (en) * 2002-02-27 2006-11-21 Indal Technologies Inc. Imaging system for a passenger bridge or the like for docking automatically with an aircraft

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493250B2 (en) * 2000-12-18 2009-02-17 Xerox Corporation System and method for distributing multilingual documents
GB2487600A (en) * 2011-01-31 2012-08-01 Keywordlogic Ltd System for extracting data from an electronic document
US8953885B1 (en) * 2011-09-16 2015-02-10 Google Inc. Optical character recognition
US9064191B2 (en) 2012-01-26 2015-06-23 Qualcomm Incorporated Lower modifier detection and extraction from devanagari text images to improve OCR performance
US9047540B2 (en) 2012-07-19 2015-06-02 Qualcomm Incorporated Trellis based word decoder with reverse pass
US9262699B2 (en) 2012-07-19 2016-02-16 Qualcomm Incorporated Method of handling complex variants of words through prefix-tree based decoding for Devanagiri OCR
US9014480B2 (en) 2012-07-19 2015-04-21 Qualcomm Incorporated Identifying a maximally stable extremal region (MSER) in an image by skipping comparison of pixels in the region
US9141874B2 (en) 2012-07-19 2015-09-22 Qualcomm Incorporated Feature extraction and use with a probability density function (PDF) divergence metric
JP6315980B2 (ja) * 2013-12-24 2018-04-25 株式会社東芝 デコーダ、デコード方法およびプログラム
US10803242B2 (en) * 2018-10-26 2020-10-13 International Business Machines Corporation Correction of misspellings in QA system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4105997A (en) 1977-01-12 1978-08-08 United States Postal Service Method for achieving accurate optical character reading of printed text
US4728984A (en) 1986-11-17 1988-03-01 Xerox Corporation Data handling and archiving system
JPH0782544B2 (ja) * 1989-03-24 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチテンプレートを用いるdpマツチング方法及び装置
CA2039652C (en) 1990-05-30 1996-12-24 Frank Zdybel, Jr. Hardcopy lossless data storage and communications for electronic document processing systems
US5526444A (en) 1991-12-10 1996-06-11 Xerox Corporation Document image decoding using modified branch-and-bound methods
US5321773A (en) 1991-12-10 1994-06-14 Xerox Corporation Image recognition method using finite state networks
TW401567B (en) 1992-10-09 2000-08-11 Matsushita Electric Ind Co Ltd Certifiable optical character recognition
US5748807A (en) 1992-10-09 1998-05-05 Panasonic Technologies, Inc. Method and means for enhancing optical character recognition of printed documents
JP2611904B2 (ja) * 1992-10-19 1997-05-21 株式会社エイ・ティ・アール視聴覚機構研究所 文字認識装置
US5594809A (en) 1995-04-28 1997-01-14 Xerox Corporation Automatic training of character templates using a text line image, a text line transcription and a line image source model
US5956419A (en) * 1995-04-28 1999-09-21 Xerox Corporation Unsupervised training of character templates using unsegmented samples
US5689620A (en) 1995-04-28 1997-11-18 Xerox Corporation Automatic training of character templates using a transcription and a two-dimensional image source model
US5883986A (en) * 1995-06-02 1999-03-16 Xerox Corporation Method and system for automatic transcription correction
JPH0916598A (ja) * 1995-07-03 1997-01-17 Fujitsu Ltd エラー・パターンを用いた文字列修正システムおよび方法
US5889897A (en) * 1997-04-08 1999-03-30 International Patent Holdings Ltd. Methodology for OCR error checking through text image regeneration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137162B2 (en) * 2002-02-27 2006-11-21 Indal Technologies Inc. Imaging system for a passenger bridge or the like for docking automatically with an aircraft

Also Published As

Publication number Publication date
US7110621B1 (en) 2006-09-19
JP4582953B2 (ja) 2010-11-17

Similar Documents

Publication Publication Date Title
JP3278297B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
US7358874B2 (en) Data compression using a stream selector with edit-in-place capability for compressed data
US4814746A (en) Data compression method
US7453377B2 (en) Apparatus and methods for searching a pattern in a compressed data
US6522268B2 (en) Systems and methods for multiple-file data compression
JP4582952B2 (ja) ハードコピー・ドキュメントのための画像データ生成方法及び同装置
US20010051941A1 (en) Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data
JP2003179501A (ja) データ圧縮方法
JPH0682370B2 (ja) 文字処理装置
KR950026293A (ko) 색채화상의 압축과 그것을 위한 엠(m)개 알파벳의 비트와이즈 코딩을 위한 이진화 장치 및 방법
US20060036627A1 (en) Method and apparatus for a restartable hash in a trie
EP0127815B1 (en) Data compression method
JP4582953B2 (ja) ハードコピー・ドキュメントのための画像データ復号化方法及び同装置
WO1999065226A1 (fr) Codeur et decodeur d'images, verificateur de caracteres et support de donnees
JP5913748B2 (ja) セキュアで損失のないデータ圧縮
Yang et al. Universal lossless data compression with side information by using a conditional MPM grammar transform
JP4582951B2 (ja) ハードコピー・ドキュメントのための画像データ生成方法及び同装置
KR100906041B1 (ko) 폰트 압축 및 검색 방법 및 장치
US6492917B1 (en) System and method for implementation of the YK lossless data compression algorithm using a modular computational architecture
Lefebvre et al. Compror: on-line lossless data compression with a factor oracle
JP4582950B2 (ja) ハードコピー・ドキュメント上の表現のための画像データ生成方法
KR20070025853A (ko) 이진 영상 압축 장치 및 방법
JPH0723238A (ja) 画像データ圧縮及び復元装置
US7479905B2 (en) Apparatus, system and method for data compression using irredundant patterns
JPH05152971A (ja) データ圧縮・復元方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100831

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees