(57)【特許請求の範囲】
【請求項１】
プロセッサによってコントロールされる装置を操作して、ランゲージ・モデルを用いてテキストライン画像を復号化する復号化オペレーションを実行する方法であって、
それぞれが文字記号を表す画像グリフ、を複数含んでなる入力テキストライン画像を受容するステップと、
入力されたテキストライン画像を、複数のノード及び、ノード間の枝を表す画像ネットワーク・データ構造として表現するステップであって、各ノードは一つの画像グリフの位置を表し、一つのノードに向かう各枝に画像グリフを同定する文字記号が関連づけられ、複数のノードおよび枝が画像ネットワークを通る複数の可能なパスを表し、各パスは入力されたテキストライン画像の可能な転写を表すようなステップと、
ランゲージ・モデルから計算されるランゲージ・モデル・スコアを画像ネットワークの各枝に、その枝に関連づけられる文字記号にしたがって割り当てるステップであって、ランゲージ・モデル・スコアはその枝に関連づけられる文字記号で終わる文字記号シーケンスの有効度を表すようなステップと、
最良パス探索オペレーションとそれに続くネットワーク拡大オペレーションの反復シーケンスを、停止条件が満たされるまで実行するステップであって、最良パス探索オペレーションは枝に割り当てられたランゲージ・モデル・スコアを用いて画像ネットワークを通る枝とノードの完全パスを生成し、ネットワーク拡大オペレーションは画像ネットワークに少なくとも一つのコンテキスト・ノードおよびコンテキスト枝を付加することを含み、コンテキスト・ノードはそれに関連した文字ヒストリを有し、コンテキスト枝は、そのコンテキスト枝に関連した文字記号で終わる文字ヒストリに関し更新されたランゲージ・モデル・スコアを表し、コンテキスト・ノードおよびコンテキスト枝が付加された画像ネットワークは最良パス探索オペレーションのその後の実行に利用できるようになるようなステップと、
停止条件が満たされたとき、完全パスの枝に関連づけられた文字記号を用いて、入力されたテキストライン画像の画像グリフによって表される画像記号の転写を生成するステップと、を含み、
ランゲージ・モデルは、選ばれた文字記号νkに対して、その選ばれた文字記号に先行するＮ−１個の文字記号のシーケンスに基づくランゲージ・モデル重みを表す確率的Ｎ−グラムランゲージ・モデルであり、
ランゲージ・モデル・スコアは前記確率的ランゲージ・モデルを用いて上限関数から計算される上限スコアであり、上限関数は、
ｑ（νk｜Ｂ）＝max Ｐ（νk｜ＡＢ）
であり、ここで、ｑは上限スコア、Ｂは文字記号νkに先行するｊ個の文字記号のシーケンス（ここで０≦ｊ≦Ｎ−１）、Ａは（Ｎ−ｊ−１）個の文字記号のシーケンス、Ｐ（νk｜ＡＢ）は前記確率的Ｎ−グラムランゲージ・モデルにおいてＮ−１個の文字のシーケンスＡＢの後に文字記号νkが現れる条件付き確率、max演算はＡを（Ｎ−ｊ−１）個の文字記号のシーケンス全部にわたって変えたときのＰ（νk｜ＡＢ）の最大値を求める演算である、
ことを特徴とする方法。
【請求項２】
ビットマップ・テキストライン画像を分析して、マルコフ・ソースの復号化グラフによって計算される少なくとも一つの完全パスに基づいて、テンプレートのライブラリーから選ばれた文字記号テンプレートの組み合わせにする、コンピュータで実行される画像認識の方法において、
ランゲージ・モデルから計算されるランゲージ・モデル・スコアを復号化グラフの各遷移に対し、当該遷移に関連づけられる文字記号にしたがって、割り当てるステップであって、ランゲージ・モデル・スコアはその遷移に関連づけられる文字記号で終わる文字記号シーケンスの有効度を表すようなステップと、
最良パス探索オペレーションとそれに続くネットワーク拡大オペレーションの反復シーケンスを、停止条件が満たされるまで実行するステップであって、最良パス探索オペレーションは遷移に割り当てられたランゲージ・モデル・スコアを用いて復号化グラフを通るノードと遷移の完全パスを生成し、ネットワーク拡大オペレーションは完全パスに含まれる各ノードに対して一つのコンテキスト・ノードを含む拡大された復号化グラフを生成し、ネットワーク拡大オペレーションはあるコンテキスト・ノードに入る遷移に対し、そのインカミング遷移に関連づけられる文字記号で終わる文字記号のシーケンスについてランゲージ・モデルから計算される更新されたランゲージ・モデル・スコアを割り当て、拡大された復号化グラフは最良パス探索オペレーションのその後の実行に利用できるようになるようなステップと、を含み、
ランゲージ・モデルは、選ばれた文字記号νkに対して、その選ばれた文字記号に先行するＮ−１個の文字記号のシーケンスに基づくランゲージ・モデル重みを表す確率的Ｎ−グラムランゲージ・モデルであり、
ランゲージ・モデル・スコアは前記確率的ランゲージ・モデルを用いて上限関数から計算される上限スコアであり、上限関数は、
ｑ（νk｜Ｂ）＝max Ｐ（νk｜ＡＢ）
であり、ここで、ｑは上限スコア、Ｂは文字記号νkに先行するｊ個の文字記号のシーケンス（ここで０≦ｊ≦Ｎ−１）、Ａは（Ｎ−ｊ−１）個の文字記号のシーケンス、Ｐ（νk｜ＡＢ）は前記確率的Ｎ−グラムランゲージ・モデルにおいてＮ−１個の文字のシーケンスＡＢの後に文字記号νkが現れる条件付き確率、max演算はＡを（Ｎ−ｊ−１）個の文字記号のシーケンス全部にわたって変えたときのＰ（νk｜ＡＢ）の最大値を求める演算である、
ことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、マルコフ・ソースなどの確率的有限状態ネットワーク（Stochastic finite state networks）を用いる画像復号化および画像認識の方法に関する。特に、本発明は、テキストライン画像復号化に用いる、テキストライン画像の確率的有限状態ネットワーク表現へのランゲージ・モデルの効率的な統合の方法を提供する。
【０００２】
【従来の技術】
米国特許第5,321,773号は、「ドキュメント画像復号化」（Document Image Decoding、以下では、ＤＩＤと呼ぶ）として知られる古典的情報理論に基づくドキュメント認識方法を開示している。このＤＩＤモデルは、確率的メッセージ・ソースと、イメージャーと、チャンネルと、デコーダ（復号器）を含む。
【０００３】
メッセージ・ソースとイメージャーの機能は組み合わせられて、マルコフ・ソースとして実現される単一の複合画像ソースになる。マルコフ・ソースとは、ある特定クラスのドキュメント画像に生ずる二次元（２Ｄ）空間レイアウトおよび画像成分を正規文法として記述する確率的有限状態ネットワークである。この有限状態ネットワークは、ノード（状態）の組と、各ノードへの有向遷移（directed transitions）の組を含む。ネットワーク内の任意の二つの先行状態と後続状態の間の有向遷移には、文字テンプレートＱ、ラベル又はメッセージ・ストリングｍ、遷移確率α、二次元整数ベクトル変位Δ、を含む属性の組が伴っている。変位は、画像のテキストラインでのテンプレートのセット幅である水平（Ｘ方向）距離を表す。
【０００４】
画像の復号化は転写（transcription）を生ずるが、これはダイナミック・プログラミング作業によって遂行され、普通はビタビ（Viterbi）アルゴリズムによって実行される。ダイナミック・プログラミング作業は、ある遷移のテンプレートが、その画像点の近傍で復号される画像領域に対応する確率の計算を含む。このテンプレート−画像確率は、ある特定テンプレートとその画像点における画像領域とのマッチングの測定量を示すテンプレート−画像マッチング・スコアによって表される。
【０００５】
米国特許第5,526,444号（以下では‘４４４ＩＣＰ特許と呼ぶ）は、ＤＩＤシステムによる復号化の計算効率を改良するいくつかの方法を開示している。
特に、この‘４４４ＩＣＰ特許は、ある発見法的なアルゴリズムを開示して、ほとんどの水平な画素列の完全ビタビ復号化をその列に関するスコアの単純な上限の計算で置き換えて、それによって計算時間を減らしている。
【０００６】
米国特許第5,883,986 号（以下では、‘９８６特許と呼ぶ）は、ＤＩＤシステムの有用性を転写における誤りの修正にまで拡張した。
転写の誤りを修正するための開示された方法の一つは、ランゲージ・モデルを用いるものである。ランゲージ・モデルは、復号化している画像における文字画像の予期されるシーケンスについての外部から供給される明示された情報を、アプリオリに、提供する。ランゲージ・モデルは、実質的に、ある転写の有効性についてのソフト尺度（soft measure）である。スペル修正装置はランゲージ・モデルの一つの単純な形である。
【０００７】
‘９８６特許では、Ｎ−グラム・ランゲージ・モデルが画像の確率的有限ネットワーク表現に取り込まれる。
ＤＩＤ画像認識システムでは、モデルによって定義される画像のサイズと複雑さ（すなわち、遷移の数）およびマッチさせるテンプレートの数、が計算時間の主な因子である。復号化作業にランゲージ・モデルを組み込むと復号化の複雑さが顕著に増大する。Ｎ−グラム・ランゲージ・モデルは、ｍ次マルコフ過程に対応する、ここでｍ＝Ｎ−１である。全部でＭ個のキャラクタ・テンプレートを有するｍ次マルコフ過程を組み込むと、ダイナミック・プログラミング復号化作業の計算は因子Ｍmだけ増加する。例えば、画像モデルが１００個のテンプレートを含む場合、画像モデルにバイグラム（bigram；Ｎ＝２）モデルを組み込むと復号化計算はほぼ１００倍だけ増加する。確率的ランゲージ・モデルを組み込むための復号化データ構造の拡大により、到底不可能なほどの記憶量が必要になる。
【０００８】
【発明が解決しようとする課題】
‘４４４ＩＣＰ特許および‘９８６特許で開示された技術的進歩によって得られる改良は、画像復号化作業にランゲージ・モデルをいかにして効率的に取り込むかということを問題にしていない。
【０００９】
ＤＩＤシステムにおけるランゲージ・モデルの利用は、復号化で生成される転写出力の精度改善という顕著な利益をもたらし、ユーザーはテキスト認識システムが商業的に実用となる時間枠でほぼエラーがない結果を出し、認識後のマニュアルのエラー修正がほとんど全く必要なくなると期待できる。したがって、復号化作業にランゲージ・モデルを計算的に効率的な仕方で利用できるようにする方法を提供することが望まれる。
【００１０】
【課題を解決するための手段】
本発明は、ＤＩＤシステムにおいてランゲージ・モデルを利用できるようにする鍵は、復号化データ構造におけるノードの拡大を効果的かつ正確に管理して、グラフにおける可能な最良パスに対して得られる完全条件付の確率に対処し、全ての画像位置（image position）での最大累積パス・スコアを生成するために必要な復号化計算で生ずる増加をコントロールするものである。
【００１１】
本発明は、画像ネットワークを表す拡大されていない復号化データ構造における枝に関連した上限スコアによる復号化作業からスタートする。上限スコアは、ある枝に完全な文字ヒストリにしたがって関連づけられるであろうランゲージ・モデル確率又は重みの上限を表す。
【００１２】
次に、最良パス探索オペレーションが、グラフを通る完全推定最良パスを見つける。そのパスが識別されたら、最良パスのノードに関してネットワーク拡大オペレーションを行って、完了したばかりの反復の推定最良パスに基づく明確な文字ヒストリのパスを反映する新しいノードおよび枝によってネットワークを拡大する。新たに加えられた枝は、利用できる文字ヒストリに基づくランゲージ・モデル・スコアでエッジ・スコアを有する。次に、復号化および拡大オペレーションを停止条件が満たされるまで繰り返す。本発明は、画像モデルの状態を必要な場合にだけ拡大して、完全に文脈的（contextual）なランゲージ・モデル確率、又は各推定最良パスになった画像ネットワーク中の比較的少数のノードによって表現し、画像モデルの状態の管理可能な効率的な拡大でランゲージ・モデルを取り入れることを可能にするものである。
【００１３】
本発明のある態様では、あるストリングにおける一つ以上の先行文字が与えられたとき、ある文字があるストリングに現れる確率を示す確率分布をランゲージ・モデルによって生成し、生成された確率の上限を非拡大画像ネットワークの枝に最初に割り当てる。そして最良パス探索オペレーションを実行し、まず上限スコアを用いて画像ネットワークを通る推定最良パスを決定する。復号化の後、推定最良パスにあるノードについて選択的に、新しいノード及び、その新しいノードに入来するインカミング枝を用いてパスを拡大し、上限スコアの代わりに実際の文字ヒストリを反映させた新しいランゲージ・モデル・スコアを適用する。復号化および画像ネットワークの選択的拡大は、最終的に出力されるべきテキスト画像の転写として、例えば認識の結果の文字列データが生成されるまで続けられる。
【００１４】
【発明の実施の形態】
図１は、テキストライン・デコーダ２００の入力および出力データ構造を示している。テキストライン画像１０が復号化されるべき画像であり、文字画像、画像「グリフ」とも呼ばれるものを含んでいる。グリフは、画像として表現された文字又は記号の一例である。
【００１５】
画像ソース・モデル８００は、確率的な有限状態ネットワークとしてのあるクラスの単一テキストライン画像の空間的レイアウトを表す。文字テンプレート・ライブラリー２０は、画像モデル８００の一部である。テンプレート・ライブラリー２０における各テンプレート・データ構造は、ある文字のビットマップ画像を表し、あるセット幅（変位）ｗを有する。復号化されるべきテキストライン画像に現れてきそうなあらゆるフォントのあらゆる記号に対して一つの文字テンプレートがあるのが普通である。
【００１６】
各テンプレート・データ構造は、また、その文字を一意に識別する文字ラベルを示す。
【００１７】
テキストライン復号化オペレーション２００は、出力として、テキストライン画像１０の画像グリフの転写４０を生成する。
【００１８】
復号化オペレーション２００は、画像モデルにおける確率セットを用いる。この画像モデルは、画像を所定の確率にて予測し、各ノードにおいて、画像点の近傍にある画像の領域に対応する遷移のテンプレートの確率を計算するものである。ここで、テンプレート−画像確率は、ある文字ｃに関連したある特定の文字テンプレートと画像点ｘにおける画像領域との間の一致度（match）の測定値を示すテンプレート−画像マッチング・スコアで表される。
【００１９】
テンプレート−画像マッチング・スコアは、matchscore(x,c)と表される。この実施形態では、そのヒストリ（history）ｈが同じ文字ｃで終わる位置ｘ′における全てのノードは同じテンプレート−画像matchscore(x,c)を共有する、ここでmatchscore(x,c)は、ｘ＝ｘ′からｃと関連した空間変位を差し引いたものである。
【００２０】
画像モデル８００を表すデータ構造は、ノードと、ノードの間の枝（branch）、又はエッジ、からなるグラフである。各枝にはエッジ・スコアが付され、又は関係づけられている。画像モデルが確率的ランゲージ・モデルを含む場合、画像ネットワークにおける各枝に関係づけられ、又は割り当てられた全エッジ・スコアは、テンプレート−画像マッチ・スコアおよびランゲージ・モデル・スコアを含む。ランゲージ・モデル・スコアは、ランゲージ・モデル重み又は上限スコアである。エッジには対数確率で記されているので、あるエッジの全スコアは、単純に、テンプレート−画像マッチ・スコアとランゲージ・モデル・スコアを加えることで計算される。
【００２１】
ランゲージ・モデル６０は、復号化オペレーション２００が、ある転写、又は文字シーケンス、を他のものよりも、アプリオリに優先させる方法を提供する。
この実施形態では、用いられるランゲージ・モデルは、因果的シーケンシャル予測確率分布（causal sequential predictive probability distribution）であり、確率的ランゲージ・モデルと呼ばれる。このモデルは、各文字に対して、前の文字の出現に条件付けられた確率分布を与える。これによって、この確率分布は、テキストライン画像のある文字ストリングの有効性（validity）についての確率的な記述を与える。任意の長さＮの有限ストリングについて、確率的ランゲージ・モデルは長さＮの全てのストリングにわたって有効確率分布を定める。確率分布は、分布している確率の総和が１になり、負でないときに有効（valid）である。
【００２２】
文字ストリングから導かれる確率は何らかの便利な方法で計算可能でなければならない。最も便利な方法は、それを条件付シーケンシャル確率分布（conditional sequential probability distributions）の積に因数分解することである。すなわち、全メッセージの全体確率、Ｐ（ν1,ν2,...,νk）、はメッセージの個々の文字の確率の各々の積である。最も一般的な場合、全体確率は前にある（前に現れている；previous）文字全部に条件付けられる。例えば、
【数１】
0004594551.tif 000002
【００２３】
この定式化は、追跡すべき文字と組み合わせの数が指数関数的に大きくなり実際的ではない。ランゲージ・モデルは式（１）の近似である。ある文字の出現が、先行する一つの条件文字に条件付けられる場合、この近似は次のような形になる。
【数２】
0004594551.tif 000003
【００２４】
ある文字の出現が、先行する二つの条件文字に条件付けられる場合、この近似は次のような形になる。
【数３】
0004594551.tif 000004
【００２５】
条件付ける文字の数を表す条件付け変数ｉ、を用いてモデルを一般化すると、
【数４】
0004594551.tif 000005
となる。式（４）で表されるタイプのランゲージ・モデルはＮ−グラム・モデルと呼ばれる。Ｎ−グラムの「Ｎ」は、ある候補文字を条件付ける文字の最大数、又はヒストリを表す。Ｎ−グラム・ランゲージ・モデルは、ｍ次マルコフ過程に対応する、ここでｍ＝Ｎ−１である。例えば、バイグラム・ランゲージ・モデル（Ｎ＝２）は、一次マルコフ過程である。可変Ｎ−グラム・モデルは、大きなＮでのＮ−グラム・ランゲージ・モデルの特別な場合である。可変Ｎ−グラム（variable N-gram）・ランゲージ・モデルは、文字に条件付き確率を付与する際に意味があると見なすヒストリの長さを低減できる。
【００２６】
図２は、図１のランゲージ・モデル６０の一例であるＮ−グラム・ランゲージ・モデル６２の機能を図示している。モデル６２は、長さＮ−１の文字シーケンスを取り、画像モデル８００におけるＭ文字全てに関する有効確率分布を生成する。ランゲージ・モデル重み（language model weight）、又は単に重み（weight）、という用語は、ランゲージ・モデル６２によって生成される有効な確率分布において、モデルの全てのストリングに対しある与えられた文字ストリングに関する一つの確率を意味するものとして用いられる。適切に拡大された復号化データ構造では、あるノードに入る各枝には、そのノードに関連した文字ヒストリが与えられると、その枝に関連した文字のランゲージ・モデル重みが割り当てられる。
【００２７】
復号化オペレーション２００は、最初、画像ネットワークを拡大されない格子状グラフ・データ構造として表し、ネットワークの各枝に上限スコアを結びつける。上限スコアは、確率そのものではなく、それがない場合にそのヒストリにしたがって枝に結びつけられるランゲージ・モデル重みの上限である。上限スコアは、ストリングの楽観的な（optimistic）有効度測定値である。
【００２８】
上限スコアは、普通、復号化に先立って計算され、復号化オペレーション２００がアクセスできるように適当なデータ構造に格納される。図３は、上限スコアを生成するためのオペレーション４００の入力と出力を示す。オペレーション４００は、入力として画像モデル８００におけるＭ文字記号、Ｎ−グラム・ランゲージ・モデル６２、および上限関数（upper bound function）６６を取る。次に、オペレーション４００は、上限スコア関数６６によって、Ｍにおける全ての文字νに関する上限スコアを生成する。ある与えられたνの上限スコアは、νに先立つ全てのパスの上限である。
【００２９】
代表的な上限スコア関数６６は次のように表すことができる。
【００３０】
【数５】
0004594551.tif 000006
ここで、Ｂは先行するｊ文字のシーケンス、０≦ｊ≦Ｎ−１、Ａは（Ｎ−ｊ−１）の長さの文字シーケンス全部にわたる。ｊ＝０のとき、ｑ（νk｜Ｂ）は単にｑ（νk）であり、上限関数はユニグラム（unigram）関数である。ｊ＝１のとき、上限関数はバイグラム関数である。バイグラム上限スコアは各文字のランゲージ・モデル重みを最後のＮ文字ではなく最後の一文字に依存するある量で上限を定める。式（４）と（５）は、合わせて、以下で図４に関連して記述されるｑ（ｈ，ｃ）関数を構成する。可能な各文字について、オペレーション４００は、式（５）を用いてＮ−グラム・ランゲージ・モデル６２での有効な確率分布を生成し、次に最大ランゲージ・モデル重みを求めてその確率分布を探索する。この最大ランゲージ・モデル重みは、その文字で終わる全ての文字シーケンスを表すのに用いられる上限スコアである。復号化オペレーション２００によって生成されるパスは、楽観的な（optimistic）上限スコアを用いて予測されるものよりも良いことは決してなく、用いるデータ（スコア）での最適（optimal）パスである。
【００３１】
式（５）は、ランゲージ・モデル確率に対する厳密な上限を生成する。しかし、厳密な上限スコアを生成しない他の上限スコア関数も可能である。
オペレーション４００の出力は、画像ソース・モデルにおける全ての文字に関する上限スコアであり、図３のアレー（array）７０など適当なデータ構造に格納される。アレー７０はＭ×Ｍ次元である、ここでＭは画像ソース・モデルにおけるユニーク文字記号の総数である。上限スコアのアレー７０では、与えられたνｋ−１に基づくνkのランゲージ・モデル重みに上限がある。ユニグラム上限スコア関数を用いる場合、上限スコアは長さＭのベクトルに格納される、ここでＭはソース・モデルにおけるユニーク文字記号の総数である。
【００３２】
一般に、Ｎ−グラム・モデルの場合、復号化で必要とされる全ての上限スコアをあらかじめ計算する結果必要になる格納のためのコストは、ランゲージ・モデルの数Ｎ、および、テンプレート・ライブラリー２０における文字の数ｋ、という因子に依存し、一般にｋＮ エントリーとして記述される。
【００３３】
バイグラム上限関数は、ユニグラム上限関数よりも厳密な上限を与える。何故なら、バイグラム上限関数はより広い範囲の上限スコアを与えると予測されるからである。
【００３４】
図４は、ダイナミック・プログラミングによるテキストライン復号化オペレーション２００の実施形態の主なプロセスのトップレベル・フローチャート図である。オペレーション２００は、選択的グラフ拡大プロセスを用いて復号化グラフによって表される画像ネットワークにランゲージ・モデルを統合している。オペレーション２００は、ボックス２２０および４００における二つの準備関数（preparatory functions）からスタートする。ボックス２２０では、初期化プロセスで、すべての空間位置ｘでのゼロ次ノード（以下で定義される）で初期化する、すなわち、復号化のときにあるノードのまわりで情報を追跡するのに用いられるすべての位置ｘに関するノード・データ構造を生成する。次に、オペレーション４００が、上のセクション２で述べたように、画像モデルの各文字についてランゲージ・モデル確率の上限を生成し、これらの上限スコアを最良パス探索オペレーション２４０に提供する。
【００３５】
図４は、反復プロセスとしての復号化プロセスを示す。準備タスク２２０および４００を完了した後、処理コントロールは、オペレーション２４０と３００の反復シーケンスに移行し、それはボックス２９８で終止条件がテストされて満たされるまで続く。復号化は、上限スコアが付されているノードへの遷移を有する拡大されていない画像ネットワークから始まり、このネットワークを通る見込みのありそうなパス（promising paths）が見つかるにつれて選択的に拡大する。復号化オペレーション２４０の各反復において、復号化グラフを通る推定最良パスの候補（現行パス（current path）と呼ばれるもの）が生成される。現行パスは、上限スコアを用いる探索プロセスのときに得られる最大累積パス（maximum cumulative path）を用いて決定される。ボックス２９８において終止条件が満たされない場合、ネットワーク拡大オペレーション３００の拡大関数（expansion function）が実行される。ネットワーク拡大オペレーション３００は、識別された最良パス・ノードに対し高次ノード（以下で定義される）を付加することにより、現行パスのノードに関して復号化グラフを拡大する。ネットワーク拡大オペレーション３００は、また、高次ノードに関連した特定文字シーケンスについてランゲージ・モデル重みを計算し、新たに計算されたこれらのランゲージ・モデル確率をそれぞれのノードと関連させる。
【００３６】
処理コントロールは、ネットワーク拡大オペレーション３００から最良パス探索オペレーション２４０に移行して新たな反復を開始する。オペレーション２４０の各反復における最良パス探索に利用できる復号化グラフは、ネットワーク拡大オペレーション３００で生成されたばかりの新しいランゲージ・モデル・スコアを有する新しい高次のノードおよび枝を含んでおり、そこには利用できる文字ヒストリが反映されている。復号化は、復号化グラフの現行最良パスに含まれる各ノードがその最大オーダー（以下で定義される）にあるとき終了する。復号化が完了すると、ボックス２９９で、転写出力が出されて、印刷又は別のオペレーションによる処理に利用できるようになる。
【００３７】
本発明は、次のような特定の用語および定義を用いてさらに良く理解される。ある候補文字ｃに関するランゲージ・モデル重みは、ｃまで続くある特定先行文字シーケンスに依存する。ｃまでの、およびｃも含む、ｈ個の先行する文字の組は、ｃの「ヒストリ（history）」、又は「コンテキスト（context）」、と呼ばれる。ヒストリは長さ｜ｈ｜を有する。復号化グラフにおけるノードとは、テキストライン画像における空間位置ｘおよびヒストリｈ、によってユニークに定められる（状態、位置）対である。グラフの枝（エッジ、又は遷移、とも呼ばれる）は、二つのノードを結合する。枝の属性は、あるノードによってマークされる画像位置に終端位置を有する文字テンプレート、およびその文字を同定する関連文字ラベル、を示す。あるノードのオーダー（次数）とは、そのノードに関連したヒストリｈの長さである。したがって、ヒストリｈが１文字であるノードは一次のノードであり、ヒストリｈが２文字であるノードは二次のノードであり、以下同様である。テキストライン画像上の同じ空間位置ｘに二つ以上のノードがあっても良い。何故なら、ノードは次数が異なることがあるからである。画像ネットワークの各空間位置ｘには、少なくとも一つのノード、ゼロ次ノードと呼ばれるもの、がある。ゼロ次ノードは、ゼロ長さの空（empty）の、又はヌル（null）のヒストリを有し、スコアリングの目的でのそのノードへの遷移に関連したランゲージ・モデルからの上限スコアを有する。図では、異なる次数のノードは異なるレベルに示される、すなわち、ゼロ次ノードが最も低いレベルに示され、一次ノードがゼロ次ノードの上のレベルに示され、以下同様に示される。ｈ′と表されるヒストリは、｜ｈ′｜＞｜ｈ｜でありｈ′がその最後の｜ｈ｜文字でｈとマッチする場合、ヒストリｈの「後方延長」（backward extension）である。
【００３８】
復号化オペレーション２００は、Ｎ−グラム・ランゲージ・モデルの使用に関連して二つの関数を利用する。与えられた文字シーケンス・ヒストリｈ、に対してismax(h)と記される最大オーダー関数は、ランゲージ・モデルが、すぐ後で定義される関数ｑを計算するときにｈの全ての後方延長ｈ′をｈと等価に扱う場合かつその場合に限り、真になる。ismax(h)が真（true）になるとき、文字シーケンス・ヒストリｈは、用いているランゲージ・モデルに関して、そのランゲージ・モデルが文字シーケンス・ヒストリｈに対してランゲージ・モデル重みを生成できるような最大オーダーにあると定義される。文字シーケンス・ヒストリｈが最大オーダーにあるとき、全ての後方延長ｈ′も最大オーダーにあり、そのランゲージ・モデルによってｈと等価な仕方で扱われる。復号化オペレーション２００で用いられる復号化グラフにおけるある最良パスに含まれると識別されたノードに関して、あるノードは、ismax(h)が真であり（ここでismax(h)は今定義したもの）、ｈがそのノードに関連したヒストリである場合、最大オーダーである。ismax(h)が偽（false）であるとき、文字シーケンス・ヒストリｈは、用いているランゲージ・モデルに関して最大オーダーになく、そのランゲージ・モデルはｈよりも長いある長さの文字シーケンス・ヒストリに対してのみランゲージ・モデル重みを生成できる。ある固定されたＮ−グラム・ランゲージ・モデルで、｜ｈ｜＝Ｎ−１である場合かつその場合に限りismax(h)関数が真になるという規則には、テキストラインの初めにある、利用できるヒストリがＮ−１より短い長さであるテキストライン・ストリングの部分では例外がある、ということに注意しよう。その場合、ｈが利用できるヒストリ全体である場合かつその場合に限りismax(h)関数が真になる。ismax(h)関数はテーブル・ルックアップとして実装できるということに注意されたい。
【００３９】
二番目の関数、ｑ（ｈ，ｃ）と記される関数、は、ヒストリがｈであるときに文字ｃに関連したスコアを返す。ismax(h)が真であれば、ｑ（ｈ，ｃ）は、ランゲージ・モデル６２によって、かつ式（４）を用いて、与えられたｈでｃに対して有効な確率分布を生成し、ｃのランゲージ・モデル重みがこの分布から得られる。ismax(h)が偽であれば、スコアは、ｈの全ての後方延長ｈ′にわたって与えられたｈ′でのｃのランゲージ・モデル確率の上限スコアであり、例えば式（５）を用いて計算される。関数ｑ（ｈ，ｃ）は、ランゲージ・モデル重みに対して、与えられた文字シーケンス・ヒストリでそれができる最も厳しい上限を計算し、ランゲージ・モデル重みはノード（およびそれに関連したヒストリ）が用いているランゲージ・モデルで最大オーダーにあるときに最も正確である。
【００４０】
グラフ・データ構造は、復号化グラフを表し、各ノードを処理するのに必要なデータを格納する。ここで用いられる場合、データ構造とは、関連したデータ項目の何らかの組み合わせであって、何も特定のデータ組織（organization）を意味しない。
【００４１】
ノードは、その空間位置ｘおよびヒストリｈによって識別される。各ノード・データ構造は、また、ノードの次数を識別するノード・オーダー情報、および、そのノードの近傍におけるパスについての情報、を含んでいる。特に、すべてのノードに関し、最良インカミング枝（incoming branch）、その最良インカミング枝に関連した文字テンプレートの文字ラベル、およびこのノードへの最良パスの累積パス・スコアも含まれる。ノード・データ構造は、また、このノードからの最良アウトゴーイング枝（outgoing branch）およびこの位置ｘにおける次のノード（異なる次数の）のノード・データ構造へのポインタも含む。例示された実施形態では、そのテキストラインの各空間位置ｘにおけるノードのリストを含むその他のデータ構造が管理されている。
【００４２】
復号化オペレーション２４０の終わりに行われるバックトレーシング・オペレーション２９０では、すべてのノード・データ構造を含むグラフ・データ構造を用いて、テキストライン画像の終わりからスタートして、各ノードについて格納されている最良インカミング・ブランチおよび累積パス・スコアを用いて復号化グラフをさかのぼってトレースすることによって、現行推定最良パスにおけるノードの位置を識別する。
【００４３】
図５は、図１の画像ネットワーク８００の一部を表す一次元復号化グラフ５００のグラフィック表現である。復号化グラフ５００は、テキストラインの左端に対応するグラフの左側にスタート状態ＮIを有する。テキストラインの右端における最終状態ＮFは図示されていない。復号化グラフ５００には、一連の画素位置５０２が垂直チック・マークで表示されている。図５は、復号化グラフを構成している少数の可能なノード５１２およびノードの間の枝５１４を示している。復号化グラフ５００におけるノードは、ゼロ次のノードであり、小さな黒い丸で示されている。長さが最も短い枝は、その属性として比較的小さなセット幅の文字テンプレートを有し、中間の長さの枝は中間サイズのセット幅の文字テンプレートを示し、最も長い枝はセット幅が最も大きい文字テンプレートを示す。ある与えられた位置での与えられた文字テンプレートでのグラフの各枝は、それに関連した複合エッジ・スコア（composite edge score；Ｅcと記される）を有する。例えば、枝５１４には、複合エッジ・スコア５１０が表示されている。複合エッジ・スコアは、その画像位置における文字テンプレートに関するテンプレート−画像マッチング・スコアを表す対数確率（log probability）とランゲージ・モデル重みの対数の和を含む。ゼロ次ノードのランゲージ・モデル重みの値は、上限スコアである。復号化が進行して、より高次のノードが作られると、エッジ・スコアのランゲージ・モデル重み成分はｑ（ｈ，ｃ）関数を用いて計算される。
【００４４】
最良パス探索オペレーション２４０の前進段階（forward phase）（図６）では、画像の各画素位置に対して、各文字テンプレートを印刷することによって生成されたパスのうちから、そして以前に計算された位置に到達するための最もありそうな（最尤；most likely）パスのすべてを用いて、その位置に到達するための最もありそうなパスを識別する。各画像位置、およびすべてのノードへの各遷移に対し、オペレーション２４０は、複合エッジ・スコアおよび以前に計算した累積パス・スコアを用いて、最良パスがこのノードで終端する確率および遷移によって通過した後の画像位置を計算する。オペレーション２４０は、最良パスの終端点が一意に（unambiguously）識別されるまで前進して行われる。
【００４５】
図６のフローチャート図は、最良パス探索オペレーション２４０の処理の流れを示している。オペレーション２４０は、処理の流れをコントロールする三つの主なループ構造を含んでいる。オペレーション２４０の始めに、ボックス２４４で、ループ・オペレーションをコントロールする変数ｘ，ｎ，およびｆがゼロに初期化される。一番外側のループ（ボックス２４８とボックス２８４で区切られるループ）は復号化しようとするテキストライン画像の各画像位置ｘを、ラインの終わりに到達するまで処理する。中間ループ（ボックス２５２とボックス２８２で区切られるループ）は、与えられた画像位置におけるｎｏｄｅｎと記される各ノードｎを処理する。各画像位置には、各々が異なる次数を有する複数のノードがあり得ることを考えると、中間ループはこれらのノードがすべて処理されるようにする。最も内側のループ（ボックス２５４とボックス２８０で区切られるループ）は文字テンプレート・ライブラリー２０の各文字ｃｆの処理をコントロールする。各文字ｃｆの処理は、ボックス２５８からボックス２７４までの関数によって扱われる。以前のネットワーク拡大オペレーション３００の実行の際にランゲージ・モデルから計算された新しいランゲージ・モデル・スコアがこの復号化反復でグラフ・データ構造に格納されている累積パス・スコアに変化を生じたとき、これらの関数はこの累積パス・スコアを更新する。
【００４６】
オペレーション２４０のプロセスを、図７に示される部分復号化グラフ５００を参照して記述する。復号化グラフ５００は、画像テキストラインの画像位置の選択された部分を表す三行の垂直チック・マークで表されている。行５０２は、ヌル、又は空（empty）の、ヒストリｈを有するゼロ次ノードの位置を示し、行５２０は、一つの先行文字からなるヒストリｈを有する一次ノードの位置を示し、行５２２は、二つの先行文字からなるヒストリｈを有する二次ノードの位置を示している。復号化グラフ５００は、それまでに繰り返された何回かの最良パス探索オペレーション２４０とそれに続くネットワーク拡大オペレーション３００の結果として図７に示される状態にまで拡大される。図７は、いくつかのノードから、オペレーション２４０の際に用いられるグラフ・データ構造のうちから選択されたデータ項目に向いた矢印を示している。復号化グラフ５００はゼロ次ノード５２６から二次ノード５４０への枝５２８を示している。枝５２８は、テンプレート・ライブラリーからの文字ｃｆの指定でラベルづけされており、ノード５４０での文字ｃｆのエッジ・スコアであるデータ項目５３２に向けてカーブした矢印を有する。
【００４７】
次に、図６を参照して、いくつかの画像位置ｘを通る処理が既に完了し、ループ・コントロール変数ｎおよびｆがボックス２８６でゼロにリセットされた場合について説明する。また、ループ変数ｘがボックス２４８でインクリメントされて復号化グラフ５００で画像位置５２４に到達したとする。コントロールは、次に、ボックス２５２に移行し、そこでノード・ループ変数ｎをインクリメントして画像位置５２４のノードの最初のもの、すなわち、ノード５２６を処理する。コントロールは、次に、ボックス２５４に移行し、そこでライブラリー２０の文字の最初のもの、ｃｆと指定されるもの、を同定して処理する。オペレーション２４０は、ボックス２５８で、位置５２４における画像位置ｘにその変位（セット幅）ｄを加えて文字ｃｆの終端画像位置を計算する。これは図７でｘ＋ｄｃｆと記され変位５３０によって示される。次に、ボックス２６０において、ノード５２６のヒストリがデータ項目６０４のグラフ・データ構造から検索され、処理されている現在の文字ｃｆ、がノード・ヒストリに添付されてヒストリｈｃｆがボックス２６４で形成される。
【００４８】
次に、ボックス２６８において、オペレーション２４０は画像位置ｘ＋ｄｃｆにおいてｈｃｆと矛盾しないノード・ヒストリを有する最高次数のノードを決定し、このノードをＳと記す。このためには、ノード５４０，５４２，および５４４のそれぞれに対応するノード・ヒストリ６４４，６６４，および６８４を調べる必要がある。ゼロ次ノードのヒストリ（すなわち、ヌル・ヒストリ）は常にヒストリｈｃｆと整合（consistent）するし、全ての画像位置には少なくとも一つのゼロ次ノードがあるので、ノードＳは常に存在する。与えられたノードのヒストリは、そのノードのヒストリがｈｃｆと同一であるか、そのノードのヒストリがｈｃｆの初めの部分と同一であるとき、ｈｃｆと整合する。例えば、ｈｃｆがストリング「rec」を示している場合、ノード・ヒストリ「rec」および「re」はどちらもｈｃｆと整合する。
【００４９】
説明のために、ノード５４０のノード・ヒストリ６４４がヒストリｈｃｆと矛盾しないとする。実際には、オペレーション２４０はノード５２６からノード５４０への枝５２８を調べて、この枝がノード５４０の累積パス・スコアを改善するかどうか判定する。このために、オペレーション２４０は、ボックス２７０において、ノード５４０に対する最良累積パス・スコア６５４（ボックス２７０でＳbestscoreと記されるもの）を検索し、ノード５４０に対するバック・ポインター（最良インカミング枝）６４８（Ｓbackptrと記される）を検索する。次に、オペレーション２４０は、枝５２８によるノード５４０への累積パス・スコアを計算する。これは、ノード５２６における累積パス・スコア６１４（ｎbestscore）と記される、をノード５４０におけるエッジ・スコアｃｆに加えることによって行われ、ボックス２７４でEdgescore と記される。次に、ボックス２７４は、この新しい累積パス・スコアをＳbestscore（ノード５４０の累積パス・スコア）と比較して、もしもEdgescore＋ｎbestscoreがＳbestscoreよりも大きい場合、コントロールはボックス２７８に移行し、そこでノード５４０の累積パス・スコア６５４とバックポインター６４８を、それぞれ、Edgescore＋ｎbestscoreとノード５２６に更新する。次に、コントロールはボックス２８０に移行する。もしもEdgescore＋ｎbestscoreがＳbestscoreよりも大きくない場合は、コントロールはボックス２８０に移行し、そこでテンプレート・ライブラリーに処理すべき文字がまだあるかどうかを尋ねる。
【００５０】
まだ文字がある場合、コントロールはボックス２５４に移行し、そこで文字処理をコントロールするループ変数ｆをインクリメントして次の文字を処理する。次の文字ｃｆがボックス２５８からボックス２７４までの同じシーケンスのオペレーションで処理される。ボックス２５８で次のノード位置ｘ＋ｄｃｆが計算され、ボックス２６０および２６４でヒストリｈｃｆが生成される。次に、オペレーション２４０は、画像位置ｘ＋ｄｃｆでヒストリｈｃｆを有する最高次数のノードを求めてノード・グラフ・データ構造を調べる。次に、オペレーション２４０は、ボックス２７４において、画像位置ｘ＋ｄｃｆにおけるその最高次数のノードに関する累積パス・スコアおよびバックポインターを更新すべきかどうかを決定する。ノード５２６に関する処理は、このように、テンプレート・ライブラリー２０の全ての文字について続けられる。
【００５１】
テンプレート・ライブラリー２０の全ての文字がノード５２６に関して処理されたときには、コントロールはボックス２８０からボックス２８２におけるクエリ（query）に移行し、画像位置５２４に他のノードがあるかどうかが調べられる。もしもそうであれば、文字処理をコントロールするループ変数ｆをボックス２８３においてゼロにセットし、コントロールはボックス２５２に移行し、そこで現在の画像位置でのノード処理をコントロールするループ変数ｎがインクリメントされる。図７に示されている復号化グラフ５００においては、ノード５２５がノード５２６について今述べたと同じ仕方で次に処理される。与えられた画像位置で、その位置でのノードはどんな順序でも処理できる。画像位置５２４での全てのノードが処理されたら、ボックス２８２におけるテストはコントロールをボックス２８４に移して、そこで行の終端条件がテストされる。処理すべき画像位置がもっとある場合、ボックス２８６においてループ・コントロール変数ｆおよびｎをゼロにセットし、コントロールはボックス２４８に移行し、そこでループ・コントロール変数ｘをインクリメントしてテキストライン画像の次の画像位置ｘを処理する。
【００５２】
テキストライン画像の終わりに到達すると、コントロールはバックトレース処理部２９０に移行し、それは復号化オペレーション２４０によって更新されたグラフ・データ構造を用いて、テキストラインの最後のノードからデータ構造のバックポインター・データアイテムを用いてさかのぼってトレースする。このような仕方によるバックトレーシングによって、画像ネットワークを通るノードと枝からなる推定最良パスが生成される。最良パスにおけるノードは、画像におけるグリフの位置を決定する。終端条件２９８（図４）が満たされると、復号化オペレーション２００は完了し、メッセージ・ストリング、又は転写、がこのパスから生成される。転写は、推定最良パスのノードのインカミング枝の属性であるテンプレートに関連した、接合された（concatnated）文字ラベルの順序付けられたシーケンスから構成される。
【００５３】
オペレーション２４０における処理ループの順序は、最良累積パス・スコアがテキストラインを通って前方へ伝播するように設計されており、その結果、量ｎbestscoreは行の終わりで有効であり最終的なものとなる。
ネットワーク拡大オペレーション３００（図９）の機能の一つは、状態（ノード）を効率的に拡大し、復号化グラフ５００の枝を含めることにより、ランゲージ・モデル重みが利用できるようになるとそれを反映させることである。オペレーション３００の別の機能は、復号化グラフ５００の拡大後の全ての枝に適当なランゲージ・モデル・スコア、上限スコア又はランゲージ・モデル重み、が表示されるようにすることである。ランゲージ・モデルが復号化において有効であるためには、全ての拡大されたパスが一意の特定ヒストリに条件付けられていなければならず、エッジ・スコアがパスの集まりではなく、ある特定パスに依存しなければならない。
【００５４】
図８は、復号化グラフ５００を通る、ノード及び、ノード間の枝からなるシーケンスで表される代表的なパス５０４の一部を示している。復号化オペレーション２４０が推定最良パス５０４を生成し、それがさらに、メッセージ・ストリング「irrnm n」を有する転写５０３を生成した。
【００５５】
オペレーション３００（図９）は、グラフ・データ構造の各ノードを処理し、まずボックス３０４でループ・コントロール変数ｎをゼロに初期化することからスタートする。ノードは、普通、画像位置の順序で処理される。ボックス３０８と３５０は、ノード処理ループの範囲を限定している。ｎｏｄｅｎと記される各ノードについて、オペレーション３００は、ボックス３１２で、ｎｏｄｅｎのヒストリｈを取得し、ボックス３１６で、ismax(h)関数を用いてｎｏｄｅｎが最大オーダーであるかどうかを決定する。ismax(h)が真（true）であれば、コントロールはボックス３５０におけるテストに移行し、さらにノードを処理することを続けるべきかどうかを決定する。ｎｏｄｅｎが最大オーダーでなかったら（ismax(h)が偽（false）であれば）、コントロールはボックス３２０に移行し、そこでグラフ・データ構造に少なくとも一つの新しい、高次のノードを生成する。この新しい、高次のノードは、「コンテキスト・ノード（context node）」であり、その関連するインカミング枝は「コンテキスト枝（context branch）」である。コンテキスト・ノードのノード・データ構造は［表１］に示されたデータを有する。
【００５６】
【表１】
0004594551.tif 000007
【００５７】
さらに、コンテキスト・ノードは、それに関連したインカミング枝についてエッジ・スコアを計算し格納しておかなければならない。コンテキスト枝のエッジ・スコアは、ｎｏｄｅｎに関する同じテンプレート−画像マッチング・スコアmatchscore(x,c)と、関数ｑ（ｈ，ｃ）を用いて生成される更新されたランゲージ・モデル重みと、を含む、ここでｈは新しい高次ノードに関連したヒストリであり、ｃはこの新しい高次ノードに関する最良インカミング枝の文字である。このランゲージ・モデル・スコアは、もしもコンテキスト・ノードが最大オーダーでない場合、上限スコアであるか、又はコンテキスト・ノードが最大オーダーである場合、 ランゲージ・モデル重みであるということに注意されたい。
【００５８】
図１０は、オペレーション３００の結果を概念的に示す。図８に示されているゼロ次ノードのパス５０４の部分に対し、オペレーション３００は、全てのゼロ・ノードについて一次ノードを生成する。例えば、オペレーション３００は、ノード５０６と同じ位置ｘに一次ノード５０７を生成する。図８の転写５０３を参照すると、ノード５０７は「i」のヒストリｈを有する。ノード５０６への最良インカミング枝は、それに関係づけられた文字「ｒ」を有し、したがって、ノード５０７への最良インカミング枝は、やはりそれに関連する文字「ｒ」を有するブランチ５５０である。事前に計算していない場合、オペレーション３２０は、また、ブランチ５５０に関連したエッジ・スコアを計算する。これは、位置５０６における文字「ｒ」に関するテンプレート−画像マッチング・スコアと、ｑ（「ｉ」，「ｒ」）の結果である関数ｑ（ｈ，ｃ）によって生成されるランゲージ・モデル・スコアとを含む。
【００５９】
図１０は、また、一次ノード５１５から二次ノード５１７への復号化グラフ５００の拡大を示している。ノード５１５を処理するとき、ボックス３１６におけるismax(h)関数を用いるテスト（図９）が偽となり、ノード５１５は最大オーダーではないということを示したとする。すると、処理コントロールは、ボックス３２０に進み、そこで同じ位置ｘに新しい高次のノードを生成する。図８の転写５０３を参照すると、ノード５１５は、ボックス５１８に示されるように、「ｍ」のヒストリｈを有し、したがって、ボックス５１９に示されるように、ノード５１７は「ｎｍ」のヒストリｈを有する。ノード５１５への最良インカミング枝はそれに関連したスペース記号を有し、したがって、ノード５１７への最良インカミング枝は、やはりそれに関連したスペース記号を有する枝５５４である。やはり、事前に計算していない場合、オペレーション３２０は、また、枝５５４に関連したエッジ・スコアを計算する。これは、位置５１５におけるスペース記号（以下、便宜的に「＿」と記す）に関するテンプレート−画像マッチング・スコアと、ｑ（「ｎｍ」，「＿」）の結果である関数ｑ（ｈ，ｃ）によって生成されるランゲージ・モデル・スコアを含む。
【００６０】
オペレーション３２０（図９）は、ｎｏｄｅｎに対し少なくとも一つの高次ノードを生成しなければならないが、同時に１以上で、用いているランゲージ・モデルの最大オーダーまでの複数の高次ノードを生成することができる。
複数の高次ノードを一斉に加えることは正しいパスをもっと速やかに決定できるようにするかもしれないが、このような決定は推測になってしまうであろう。与えられたノードのグラフ拡大オプションは、一度に一つの高次ノードだけを加えること、全ての高次ノードを一斉に加えること、又は、いくつかの中間個数のノードを、何回の反復を行ったかの推定に基づいて（parhaps based）加えることを含む。
【００６１】
Ｂをランゲージ・モデルなしの基礎グラフ・サイズとすると、グラフは各反復で高々因子Ｎだけ拡大する。全グラフ・サイズはＯ（ＢＮＩ）となる、ここでＩは反復回数である。テンプレートの数である因子Ｍは、基礎グラフ・サイズＢ＝Ｏ（ＭＸ）に現れる、ここでＸは行の上の位置の数である。
【００６２】
エッジ・スコアにおいてランゲージ・モデルによって生成される全条件付確率を用いる方法はいろいろある。例えば、全条件付確率をＰで表し、マッチ・スコアをＭで表すと、そのノードへの枝のエッジ・スコアはlog Ｍ＋αlog Ｐで定義できる、ここで量αはランゲージ・モデルによって生成される全条件付確率に対する重みとしてのα関数である。
【００６３】
ランゲージ・モデル６２（ｑ関数）は、直接、所望の量を与えることがあり得る。ismax(h)が真であるときにランゲージ・モデルが有効な確率分布を与えるということは必ずしも常に厳密な必要条件ではない。すなわち、「確率」という用語が用いられていても、復号化グラフのエッジ・スコアのランゲージ・モデル成分は、もっと一般的に、復号化しているテキストの言語での「妥当性の度合い」を表している。
【００６４】
ボックス２９８（図６）でテストされる終止条件は、現行推定最良パスにおけるすべてのノードが最大オーダーであるかどうか、ということである。
この必要条件は、用いているランゲージ・モデルの挙動に関する仮定された制限が前提になっている、すなわち、それが有意と見なすヒストリの長さはストリングの位置あたり一文字以下の速さでしか増加しないということである。Ｎ−グラム・モデルはこの前提と両立する。
【００６５】
しかし、復号化に用いられる合理的な確率ランゲージ・モデルであって、最良パスの全てのノードが最大オーダーにあることが適当な停止条件ではないかもしれないものがある。ボックス２９８におけるテストは、用いているランゲージ・モデルの条件に基づいて決定される。
【００６６】
本発明は、プロセッサでコントロールされるどんなマシンでも利用できるものであり、どのような特定のプロセッサ、マシン、システム、又はその他の装置にも本質的に結びつくものではない。本発明を実行する目的でマシン又はシステムを特に構成し最適化することもできるし、あるいは又、マシンは汎用コンピュータを含み、そのコンピュータに格納されているコンピュータ・プログラムによってそれを選択的に実行（activate）又は再構成（reconfigure）してもよい。マシンは、また、汎用コンピュータと補助的な専用ハードウエアの組み合わせであってもよい。
【図面の簡単な説明】
【図１】本発明のテキストライン画像デコーダの全体的な動作を説明する入力および出力データ構造を示すブロック図である。
【図２】図１のランゲージ・モデルの機能を示すブロック図である。
【図３】ランゲージ・モデルを用いて上限スコア又は重みを生成するオペレーションのための入力および出力データ構造を示すブロック図である。
【図４】ランゲージ・モデルを画像ネットワークおよびテキストラインの復号化に統合するオペレーションの処理の流れを示すトップレベルのフローチャート図である。
【図５】本発明で用いられるタイプの復号化グラフの一部を示す概念図であり、グラフ中の可能なノードおよび枝の一部を示した図である。
【図６】図４の最良パス探索オペレーションの機能を示すフローチャート図である。
【図７】図６に示された最良パス探索オペレーションで用いられるグラフのノードと枝に関連した復号化グラフの一部とデータ項目を概念的に示した図である。
【図８】図５の復号化グラフを概念的に示し、最良パス探索オペレーションの一回反復で得られるそのグラフを通るパスを示す説明図である。
【図９】確率的ランゲージ・モデルを取り入れるために、図５の復号化グラフを拡大する図４のポスト−ライン復号化ネットワーク拡大の主な機能を示すフローチャート図である。
【図１０】図９のフローチャート図による図８の復号化グラフのノードと枝の拡大を概念的に示す説明図である。
【符号の説明】
１０  テキストライン画像、４０  テキストライン転写、６０  ランゲージモデル、８００  画像モデル。
【図１】
0004594551.tif 000008
【図２】
0004594551.tif 000009
【図３】
0004594551.tif 000010
【図４】
0004594551.tif 000011
【図５】
0004594551.tif 000012
【図６】
0004594551.tif 000013
【図７】
0004594551.tif 000014
【図８】
0004594551.tif 000015
【図９】
0004594551.tif 000016
【図１０】
0004594551.tif 000017