(57)【要約】【課題】文書のレイアウト・オブジェクトのコンテンツを適切に順序付ける。【解決手段】文書の頁を、複数のレイアウト・オブジェクトが配置されたブロックとして割り当て、レイアウト・オブジェクトの境界と境界の間において幅方向に延びる第１組の仮定的切断部を識別し、レイアウト・オブジェクトの境界と境界の間にサブ（小）ブロックの長さ方向に延びる第２組の仮定的切断部を識別し、第１組及び第２組の仮定的切断部に順序付けられたレイアウト・オブジェクトの配置基準を計算し、計算された配置基準を用いて、第１組及び第２組の仮定的切断部仮定的切断部における切断部を、垂直方向に沿った２つ以上のサブブロックに延びる切断部を結合するように修正し、第１組及び第２組の仮定的切断部に残るレイアウト・オブジェクト間の切断部を用いて文書の論理順序を決定する。【選択図】図４
2006331423.tif 000002
【特許請求の範囲】
【請求項１】
文書の論理順序を決定するための方法であって、
（ａ）第１方向に沿った幅と前記第１方向に対し垂直な第２方向に沿った長さとを有するブロックであってその中に複数のレイアウト・オブジェクトが配置されたブロックであるように、文書の頁を割り当てるステップと、
（ｂ）実質的にレイアウト・オブジェクトの境界と境界との間において、前記ブロックの幅の方向に延びる第１組の仮定的切断部を識別するステップであって、前記第１組の仮定的切断部は一組のサブブロックを形成しており、前記一組のサブブロックの各々が前記第１方向に沿った幅と前記第２方向に沿った長さとを有している、前記識別ステップと、
（ｃ）実質的にレイアウト・オブジェクトの境界と境界との間に、前記一組のサブブロックにおけるサブブロック長さ方向に延びる第２組の仮定的切断部を識別するステップと、
（ｄ）前記第１組の仮定的切断部及び第２組の仮定的切断部に従って順序付けられたレイアウト・オブジェクトの配置基準を計算するステップと、
（ｅ）前記計算された配置基準を用いて、前記第１組の仮定的切断部及び第２組の仮定的切断部における切断部を修正して、前記第２方向に沿った２つ又はそれ以上のサブブロックにわたって延びる切断部を結合させるステップと、
（ｆ）前記ステップ（ｅ）を行った後に前記第１組の仮定的切断部及び第２組の仮定的切断部に残っている前記ブロックの複数のレイアウト・オブジェクトの間の切断部を用いて文書の論理順序を決定するステップと、
を含むことを特徴とする方法。
【請求項２】
（ｇ）前記ステップ（ｅ）を行った後に、前記第１組の仮定的切断部及び第２組の仮定的切断部に残っている切断部を用いて、前記ブロックの複数の前記レイアウト・オブジェクトを、一組のブロックを形成するように、セグメントに分けるステップと、
（ｈ）前記ステップ（ｇ）で形成された前記一組のブロックの各ブロックについて前記ステップ（ｂ）〜（ｅ）を繰り返すステップと、を更に含む、
請求項１に記載の方法。
【請求項３】
更に、前記第１組の仮定的切断部及び前記第２組の仮定的切断部の切断部を修正するステップを含み、該切断部の修正ステップが、
（ｉ）前記第１方向に沿って前記一組のサブブロックの２つ又はそれ以上のサブブロックにわたって延びる、前記第２組の仮定的切断部における切断部をグループ化し、
（ｉｉ）前記第２方向に沿った２つ又はそれ以上のサブブロックの間のスパン（長さ）を分割する、前記第１組の仮定的切断部内の切断部を除去する、ことを含み、
更に、前記第２組の仮定的切断部における切断部を、（ｉｉｉ）前記第１方向に沿ったレイアウト・オブジェクトの論理的グループ分けを示す、該第２組の仮定的切断部の切断部を除去することによって、修正する、
ことを含む、請求項１に記載の方法。
【請求項４】
前記第１組の仮定的切断部及び第２組の仮定的切断部に従って順序付けられたレイアウト・オブジェクトの配置基準を計算する前記ステップ（ｄ）が、
垂直方向切断部を結合させることによって生成されたブロックの累積高さと、結合された切断部の垂直方向の位置合わせと、切断部によって生成された列の幅と、互いに結合されるサブブロックの近接性とのうちの、１つ又はそれらの組み合わせを評価すること、
を含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、文書の読み取り又は表示順序といった論理的文書構造を決定するための方法、装置及びその製品に関する。
【背景技術】
【０００２】
電子的に作成され記録された文書（ドキュメント）の使用が一般化しているが、こうした電子文書の多くは、それらを表示し又は印刷すること以外には使用できない形式のものである。この制約の理由には、中でも、文書を本来のフォーマット（例えば、原稿書類を走査しただけのもの、すなわち、表現レベルの低いものが存在する）では利用できないこと、又は、文書の最初の作成環境の非汎用化又は消滅（例えば、もはや販売されていない又は既存のソフトウェア・プラットフォームでは動作しない文書エディタ）が含まれる。
【０００３】
文書コンテンツ（例えば、記号、文字など）及び論理構造（例えば、表示及び読み取り順序）の回復は、表示及び印刷といった用途以外の文書の有効な再利用のための基礎を築く。しかしながら、ハードコピー文書を走査することによって又は電子的表現（例えば、ＰＤＦ又はポストスクリプト表現）を復元することによって電子文書が復元されたとき、文書の表現が非常に低いレベルである（例えばビットマップ）か又は中レベルである（例えば頁記述言ワード又は移植可能文書形式にフォーマットされた文書）かのいずれかであるため、普通は論理的文書構造が失われることになる。
【０００４】
低レベル又は中レベル表現で記録された電子文書のオブジェクトの論理編成は、それらが印刷、表示又は保存といった特定の用途のために最適化されているので、特定の高レベル表現（例えば高レベル構成体の編集を可能にする）を失わせることがある。例えば、文書を形成するオブジェクトが印刷指向又は保存指向のファイル形式でフォーマットされる順序は、文書のオブジェクトの論理順序ではなく印刷又は保存のために最適化される。特定の印刷、保存又は表示効率を達成するために、最適化された印刷、保存又は表示形式で記録された電子文書は、文書の高レベル構成体又はグループ要素を、その論理フローの外に現れる順に、まとめて廃棄することがある。
【０００５】
対照的に、走査することによって電子形式に変換されたハードコピー文書は、高レベル記述を用いて増強しない限り、それらの文書構造を失う（例えば、米国特許第５４８６６８６号参照）。光学式文字認識（ＯＣＲ）は、文書イメージのオブジェクトを復元して認識するように使用されて、文書イメージの低レベル表現（例えば記号又は文字レベル）、又は中レベル表現（フォーマット操作、パラグラフ及びオブジェクト検出）を識別することができる。さらに、文書エディタ及び文書リーダといった、文書の論理構造に頼るアプリケーションがそのコンテンツを動作させ又は自動的に処理することを可能にするのに、文書の高レベル表現の特定の態様を復元する方法が存在する。
【０００６】
文書の論理構造、すなわち文書イメージ上にオブジェクトがレイアウトされる（すなわち「オブジェクトのレイアウト」）順序を決定するための方法が知られている。こうした公知の方法は、オブジェクトのコンテンツ、及び特定の文書クラスについての優先順位の知識の使用と共に、又はそれらを使用することなく、文書イメージ・オブジェクトの幾何学的又は印刷特性を活用する。こうした公知の方法は、例えば以下の刊行物、すなわち、
Ｒ．Ｃａｔｔｏｎｉ、Ｔ．Ｃｏｉａｎｉｚ、Ｓ．Ｍｅｓｓｅｌｏｄｉ、Ｃ．Ｍ．Ｍｏｄｅｎａ著、「Ｇｅｏｍｅｔｒｉｃ  Ｌａｙｏｕｔ  Ａｎａｌｙｓｉｓ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｄｏｃｕｍｅｎｔ  Ｉｍａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ  ａ  Ｒｅｖｉｅｗ」、ＩＴＣ−ＩＲＳＴ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＃９７０３−０９、１９９８；
Ｙ．Ｉｓｈｉｔａｎｉ、「Ｄｏｃｕｍｅｎｔ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｒｏｍ  Ｐａｐｅｒｓ  ｔｏ  ＸＭＬ  Ｄａｔａ  Ｂａｓｅｄ  ｏｎ  Ｐｉｖｏｔ  ＸＭＬ  Ｄｏｃｕｍｅｎｔ  Ｍｅｔｈｏｄ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ｄｏｃｕｍｅｎｔ  ａｎａｌｙｓｉｓ  ａｎｄ  ｒｅｃｏｇｎｉｔｉｏｎ（ＩＣＤＡＲ）、２００３；
Ｇ．Ｎａｇｙ及びＳ．Ｓｅｔｈ著、「Ｈｉｅｒａｒｃｈｉｃａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  ｏｐｔｉｃａｌｌｙ  ｓｃａｎｎｅｄ  ｄｏｃｕｍｅｎｔｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  Ｏｎ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、ｐｐ．３４７−３４９、１９８４；
Ｊａｅｋｙｕ  Ｈａ、Ｒ．Ｍ．Ｈａｒａｌｉｃｋ、Ｉ．Ｔ．Ｐｈｉｌｌｉｐｓ、「Ｒｅｃｕｒｓｉｖｅ  Ｘ−Ｙ  ｃｕｔ  ｕｓｉｎｇ  ｂｏｕｎｄｉｎｇ  ｂｏｘｅｓ  ｏｆ  ｃｏｎｎｅｃｔｅｄ  ｃｏｍｐｏｎｅｎｔｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＩＣＤＡＲ）、第２巻、１９９５；及び
Ａ．Ｋ．Ｊａｉｎ、Ｍ．Ｎ．Ｍｙｒｔｙ、及びＰ．Ｊ．Ｆｌｙｎｎ著、「Ｄａｔａ  ｃｌｕｓｔｅｒｉｎｇ：Ａ  ｓｕｒｖｅｙ」、ＡＣＭ  Ｃｏｍｐｕｔｉｎｇ  Ｓｕｒｖｅｙ、３１（３）、２６４−３２３、１９９９；
に記載されている。
【０００７】
【特許文献１】米国特許第５，４８６，６８６号明細書
【特許文献２】米国特許第５，８８４，０１４号明細書
【特許文献３】米国特許出願第１１／０３２，８１７号明細書
【非特許文献１】Ｒ．Ｃａｔｔｏｎｉ、Ｔ．Ｃｏｉａｎｉｚ、Ｓ．Ｍｅｓｓｅｌｏｄｉ、Ｃ．Ｍ．Ｍｏｄｅｎａ著、「Ｇｅｏｍｅｔｒｉｃ  Ｌａｙｏｕｔ  Ａｎａｌｙｓｉｓ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｄｏｃｕｍｅｎｔ  Ｉｍａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ」「ａ  Ｒｅｖｉｅｗ」、ＩＴＣ−ＩＲＳＴ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＃９７０３−０９、１９９８
【非特許文献２】Ｙ．Ｉｓｈｉｔａｎｉ、「Ｄｏｃｕｍｅｎｔ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｒｏｍ  Ｐａｐｅｒｓ  ｔｏ  ＸＭＬ  Ｄａｔａ  Ｂａｓｅｄ  ｏｎ  Ｐｉｖｏｔ  ＸＭＬ  Ｄｏｃｕｍｅｎｔ  Ｍｅｔｈｏｄ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ｄｏｃｕｍｅｎｔ  ａｎａｌｙｓｉｓ  ａｎｄ  ｒｅｃｏｇｎｉｔｉｏｎ（ＩＣＤＡＲ）、２００３
【非特許文献３】Ｇ．Ｎａｇｙ及びＳ．Ｓｅｔｈ著、「Ｈｉｅｒａｒｃｈｉｃａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  ｏｐｔｉｃａｌｌｙ  ｓｃａｎｎｅｄ  ｄｏｃｕｍｅｎｔｓ」、  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  Ｏｎ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、ｐｐ．３４７−３４９、１９８４
【非特許文献４】Ｊａｅｋｙｕ  Ｈａ、Ｒ．Ｍ．Ｈａｒａｌｉｃｋ、Ｉ．Ｔ．Ｐｈｉｌｌｉｐｓ、「Ｒｅｃｕｒｓｉｖｅ  Ｘ−Ｙ  ｃｕｔ  ｕｓｉｎｇ  ｂｏｕｎｄｉｎｇ  ｂｏｘｅｓ  ｏｆ  ｃｏｎｎｅｃｔｅｄ  ｃｏｍｐｏｎｅｎｔｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＩＣＤＡＲ）、第２巻、１９９５
【非特許文献５】Ａ．Ｋ．Ｊａｉｎ、Ｍ．Ｎ．Ｍｙｒｔｙ、及びＰ．Ｊ．Ｆｌｙｎｎ著、「Ｄａｔａ  ｃｌｕｓｔｅｒｉｎｇ：Ａ  ｓｕｒｖｅｙ」、ＡＣＭ  Ｃｏｍｐｕｔｉｎｇ  Ｓｕｒｖｅｙ、３１（３）、２６４−３２３、１９９９
【発明の開示】
【発明が解決しようとする課題】
【０００８】
文書イメージのレイアウト・オブジェクトをセグメントに分けるためのこうした公知の方法の１つは、ＸＹ切断法として知られている（上述のＮａｇｙ及びＳｅｔｈ（非特許文献３）参照）。手短に述べると、１つの実施形態においては、この方法は、垂直方向又は水平方向のいずれかに頁（すなわちブロック）全体を横切る最も広い切断部又は最も広い空き長方形（すなわち谷）を見つけることを含む。次に、頁が、それらのコンテンツに合う大きさにされたブロックにセグメント化される。この方法は、谷が残らなくなるまで各ブロックに反復的に適用される。ＸＹ切断法の１つの実施形態においては、黒色ピクセルの結合されたコンポーネントの境界ボックスは、代わりに、イメージ・ピクセル・データに頼るものである。
【０００９】
図１は、ＸＹ切断法を用いる頁セグメント化（１頁をセグメントに分けること）の例を示す。図１において、文書イメージすなわち頁１０４は、５つのレイアウト・オブジェクト（クロスエッチ（斜め交差線）された塗りつぶしで示される）を有する。ＸＹ切断法が実行されたときに、Ｙ切断（すなわち横切断）谷１０６を有する第１ブロックすなわち頁が、Ｘ切断（すなわち縦切断）谷１１０を有するブロック１０８と、Ｘ切断（すなわち縦切断）谷１１４を有するブロック１１２とにセグメント化される。ＸＹ切断法は、図１に示されるように、頁１０４上のレイアウト・オブジェクトがブロック１からブロック５までにセグメント化されるまで繰り返される。
【００１０】
各反復において最も広い空き長方形を切断するための図１に示されたＸＹ切断方法は、頁イメージ上のレイアウト・オブジェクトをセグメント化するために良好に働くが、この方法は、頁イメージ上のレイアウト・オブジェクトの読み取り順序を決定するためにはあまり適合されておらず、この読み取り順序は、切断部の階層（例えば、上から下へ且つ左から右への読み取り順序のとき、縦切断では、切断の右側のコンテンツの前に切断の左側のコンテンツがきて、横切断では、切断の下側のコンテンツの前に切断の上側のコンテンツがくる）から推測することができる。例えば、図１に示された切断方法を二列の文書頁に用いて、文書頁上のレイアウト・オブジェクトの適正な読み取り順序を決定するとき、頁が列分離に沿って縦に切断される前に横に切断される場合には、エラーが起こることがある。
【００１１】
したがって、文書イメージ上のレイアウト・オブジェクトの論理順序を決定して、文書イメージのレイアウト・オブジェクトが順序をもたない（例えば、走査されたビットマップ・イメージ）か又は不適正な順序をもつ（例えば、印刷、保存又は表示のために最適化された順序である）ときに人によって読まれるようにレイアウト・オブジェクトのコンテンツを適切に順序付けるための改善された方法への必要性が引き続き存在している。こうした方法が、多くの微細粒度ほど小さいレイアウト・オブジェクトを有する文書イメージを処理し、レイアウト・オブジェクトが頁文書を列又は行分離に沿って切断する複数の別法を与えるときに、こうした方法が決定的かつ効果的であれば、それは利点となるであろう。
【課題を解決するための手段】
【００１２】
本書での開示によれば、文書のレイアウト・オブジェクトを順序付けて、それらの論理すなわちセマンティック（意味的すなわち読み取り）順を決定するための方法が提供される。かかる方法は、文書イメージの幾何学的特性を活用するようになっており、それにより種々の言ワードで表現された文書のような種々の文書のクラスにこの方法を適用可能であるという利点がある。レイアウト・オブジェクトは１つ又はそれ以上の文字、ワード、ライン又はパラグラフを含むことがあるため、本発明にかかる方法は、文書イメージの種々の細かい粒度すなわち小さな領域のレイアウト・オブジェクトと共に動作可能である。例えば、このレイアウト・オブジェクトは、テキスト・コンテンツ及びイメージ・コンテンツの組み合わせを含むことができる。
【００１３】
本書に開示された種々の実施形態によれば、（ａ）文書の１頁を、第１方向に沿った幅（例えば水平方向）と第１方向に対し垂直な第２方向（例えば垂直方向）とに沿った長さを有し、複数のレイアウト・オブジェクトが配置されたブロックであるように、割り当てるステップと、（ｂ）実質的にレイアウト・オブジェクトの境界と境界の間において、前記ブロックの幅の方向に延びる第１組の仮定的切断部を識別するステップであって、前記第１組の仮定的切断部は一組のサブ（小又は下位）ブロックを形成しており、前記一組のサブブロックの各々が前記第１方向に沿った幅と前記第２方向に沿った長さとを有している、前記第１組の仮定的切断部の識別ステップと、（ｃ）実質的にレイアウト・オブジェクトの境界と境界との間に、前記一組のサブブロックにおけるサブブロック長さ方向に延びる第２組の仮定的切断部を識別するステップと、（ｄ）前記第１組の仮定的切断部及び第２組の仮定的切断部に従って順序付けられたレイアウト・オブジェクトの配置基準を計算するステップと、（ｅ）前記計算された配置基準を用いて、前記第１組の仮定的切断部及び第２組の仮定的切断部における切断部を修正して前記第２方向に沿った２つ又はそれ以上のサブブロックにわたって延びる切断部を結合するステップと、（ｆ）前記ステップ（ｅ）を行った後に前記第１組の仮定的切断部及び第２組の仮定的切断部に残っている前記ブロックの複数のレイアウト・オブジェクトの間の切断部を用いて文書の論理順序を決定するステップとを含む、文書の論理順序を決定するための方法、装置及び製品が提供される。
【００１４】
本発明のこれらの及びその他の態様は、以下の詳細な説明を、同じ部分に同じ参照番号が付されている付属の図面と併せて読むことから明らかとなるであろう。
【発明を実施するための最良の形態】
【００１５】
Ａ．論理文書構造を決定するためのコンテキスト
図２は、論理文書構造を決定するためのシステム２０２のブロック図を示す。図２に示されたシステム２０２の実施形態は、３つのオペレーティング・コンポーネント、すなわち、レイアウト計算モジュール２０６、順序計算モジュール２１０、及び文書アプリケーション・モジュール２１４を含む。ここで各モジュールによって説明された機能は、あらゆる数のモジュールによって実行され得るように構成され、説明された機能の１つ又はそれ以上の組み合わせを含むことができ、ここで説明された機能の全てを含む必要はなく、又はさらに別の機能を含むこともできることが、当業者であれば分かるであろう。したがって、システム２０２を、ここで説明された機能及び特徴の異なる組み合わせに従って構成することができる、あらゆる数の異なる構成が存在する。
【００１６】
図２に示されたシステム２０２の実施形態においては、レイアウト計算モジュール２０６は、走査されたイメージから、又は高レベル表現から低レベル表現に変換されたイメージから発生する、ビットマップ文書２０４（又は部分ビットマップ文書）の入力としてとられる。低レベル表現は、例えば、印刷、表示又は圧縮のために最適化された（例えば、米国特許第５，８８４，０１４号を参照されたい）イメージ・フラグメントの組（すなわち、位置及び境界ボックスによって指定されたビットマップ）からなるイメージとすることができる。
【００１７】
レイアウト計算モジュール２０６は、文書に既に存在する構造レベルに応じて異なる度合いにビットマップ文書２０４（又は部分ビットマップ文書）を処理する（例えば、部分ビットマップ文書は、文字レベルにセグメント化された文書イメージのレイアウト・オブジェクトを有することができる）。レイアウト計算モジュールの出力は、構造が組織化されていない（unstructured：以下「構造組織化されていない」）文書２０８ではあるが、文書頁のレイアウト・オブジェクトは識別されている文書２０８である。ここで定められたように、レイアウト・オブジェクトは、文書の構造要素を識別する。レイアウト・オブジェクトは、レイアウト・オブジェクトの文書頁上の領域（例えば、頁上の位置や寸法）を定める境界ボックス、レイアウト・オブジェクトを形成するコンテンツの形式（例えばテキスト・データ又はイメージ・データ）、及び他のレイアウト・オブジェクトとの関係（例えば、最も近い近隣レイアウト・オブジェクトとの水平方向及び垂直方向距離）を含むことができる。ＯＣＲ（光学文字認識）を実行してレイアウト・オブジェクトに存在するテキスト・コンテンツを識別することを含む、動作時に、レイアウト計算モジュール２０６は、レイアウト・オブジェクト及びそれらの属性を識別する。
【００１８】
さらに、図２に示されたシステムにおいては、構造組織化されていない文書２０８は、レイアウト計算モジュール２０６によって生成され又はアプリケーション（図示されていないが米国特許第５，８８４，０１４号に記載されている）によって作成された後に、順序計算モジュール２１０に入力され、順序計算モジュール２１０は、出力として低レベル又は中レベル表現（すなわちアプリケーション独立、例えば、ポストスクリプト）、或いは高レベル文書表現（すなわちアプリケーション依存、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）文書）を生成することができる。一実施形態においては、順序計算モジュール２１０によって入力として受け取られた構造組織化されていない文書２０８は、一実施形態においてはビットマップ・イメージ・データのＯＣＲ解析を用いて識別される境界ボックス内の識別されたテキスト・コンテンツを含み得る１つ又はそれ以上の細部レベル（例えば、文字、ワード、センテンス、パラグラフなど）の境界ボックスを特定するレイアウト・オブジェクトを有する文書である。例えば、構造組織化されていないＰＤＦ文書は、頁フッター及びヘッダーのような要素を、それらが頁上のレイアウト・オブジェクトの順序付けに影響を及ぼさないようにするために除去しながら、ＰＤＦ−ＸＭＬコンバータ（例えば、米国マサチューセッツ州ボストン所在のＣａｍｂｒｉｄｇｅＤｏｃｓ社から入手可能なコンバータ）を用いて変換することができる。その後、文書頁上のレイアウト・オブジェクトの論理フローを決定した後に、頁のレイアウト・オブジェクトの決定されたフローの頁ヘッダー及びフッターを、それぞれ開始及び終了に付加することができる。文書のヘッダー及びフッターを識別し、除去するための１つの方法は、米国特許出願第１１／０３２８１７号に開示されている。
【００１９】
順序計算モジュール２１０の出力は、構造組織化された文書２１２であって、構造組織化されていない文書２０８の論理構造（例えば論理的読み取り及び表示順序）を定めている。次いで、構造組織化された文書２１２は、あらゆる数のアプリケーションを実行するために文書アプリケーション・モジュール２１４によって用いられる。例えば、一実施形態においては、構造組織化されていない文書２０８は、Ａｄｏｂｅ  ＰＤＦといったポータブル・ドキュメント・フォーマットでエンコードされた文書とすることができる。ＸＭＬ（拡張可能マークアップ言語ワード）、ＳＧＭＬ（汎用マークアップ言語ワード）、又はＨＴＭＬ（ハイパーテキスト・マークアップ言語ワード）など、或いはアプリケーション指定フォーマットといった構造組織化された文書２１２に変換された後に、構造組織化された文書２１２は、例えば、音響再生を実行するテキスト・リーダ又はテキスト・トランスレータといった文書エディタ又はテキスト−音声変換アプリケーションか、又は表示のためのコンテンツの適正な配置を要求するスクリーン・サイズに応じてコンテンツを拡大縮小する文書表示アプリケーションによって用いられ、これらの全ては、文書頁における要素の適正な順序付けに頼るものである。
【００２０】
一実施形態においては、構造組織化された文書２１２は、そのコンテンツを、テキストや図面やテーブル含む、表示された構造ノードに組織化させるのが好ましい。文書の下位レベルの構造は、例えば、ワード、センテンス、テキスト・ブロックなどに対応することができ、一方、高レベルの構造は、ノードのネストされたグループ、ツリー状のグループあるいは他の組織化されたグループに表示することができる。文書構造は、文書にわたって散在するマークアップ・タグを用いて実現することができる。幾つかの構造組織化された文書においては、ＸＭＬ、ＤＴＤ（文書タイプ定義）又はそれに類似の専用文書部分といったフォーマットを用いて、文書に関する構造情報を提供することができる。次いで、ＸＭＬ文書のコンテンツは、組織によって、例えばレガシー文書を修正し又は維持するために再使用されてもよい。
【００２１】
Ｂ．論理文書構造を決定するための方法
図３は、一実施形態においては図２に示された順序計算モジュール２１０によって実行される論理文書構造を決定するための流れ図である。それらの特定性（例えば、文字、ワード、センテンス又はパラグラフ・レベルで）に関して変化しうるレイアウト・オブジェクトの組を有すると明記された、上述の構造組織化されていない文書２０８を受け取った後に、各文書頁は、図３のステップ３０２において処理が開始され、そこで、文書の頁がブロックの組におけるブロックに割当てられる。すなわち、一実施形態においては、文書は、頁上に幾何学的に配置された長方形のレイアウト・オブジェクトを含む１つ又はそれ以上の頁の組を含むと想定され、各レイアウト・オブジェクトは、座標の組（例えば、頁上のｘ−ｙ位置、高さ、幅）を有する。
【００２２】
ステップ３０４において、複数のレイアウト・オブジェクト境界の間に（実質的に）存在する第１組の仮定的切断部は、ブロックの組における各ブロックについてのサブ（小又は下位）ブロックの組を定める。ステップ３０６において、第２組の仮定的切断部は、ブロックの組における各ブロックのサブブロックの組の各々についてのレイアウト・オブジェクト境界（すなわち谷）の間に（実質的に）定められる。図３に示された論理文書構造を決定するための方法の例が図４に示されている。図４に示された文書頁４０２Ａは、８つのレイアウト・オブジェクトの組（文書頁４０２においてクロスエッチされた塗りつぶし（斜めの交差線）で示される）からなる。ステップ３０４において第１組の仮定的切断部を識別した後に、４０２Ａに示されるように切断部Ａ、Ｂ及びＣが識別される。ステップ３０６において第２組の仮定的切断部を識別した後に、４０２Ｂに示されるように切断部ａ、ｂ及びｃが識別される。一実施形態においては、仮定的切断部は、レイアウト・オブジェクトの間の最も広い空き長方形を識別する。
【００２３】
より具体的には、ステップ３０４において、第１組の仮定的切断部は、記載された切断が水平方向（すなわち第１方向）に沿って、ブロックの組における各ブロックの幅にわたるように選択される。例えば、ブロック４０２Ａにおける切断部Ａ、Ｂ及びＣは、ブロック４０２Ａの幅にわたる。ブロック４０２Ａにおける切断部Ａ、Ｂ及びＣを定めた後に、１、２、３及び４として識別されたサブブロックの組が、ブロック４０２Ａから形成される。ステップ３０６において、垂直方向（すなわち第２方向）に沿って、各サブブロック１、２、３及び４の長さにわたる切断部は、ブロック４０２Ｂにおけるａ、ｂ及びｃにおいて示されるように識別される。ブロックのスパンを両方向（水平方向及び垂直方向）に切断する全体的な手法を用いることによって、最小の水平方向切断部幅（すなわち行間）に対する方法の敏感さが緩和されるという利点がある。すなわち、文書の行幅より小さいか又は行幅に等しい値に、水平方向切断部幅を設定することにより、文書のレイアウト・オブジェクトが適正な列に沿って切断されることが防止される。最小の水平方向切断部幅に対して実質的に敏感でないことは、文書が頁上に種々の行幅を有する場合にさらに利点がある。
【００２４】
ステップ３０４及びステップ３０６において、可能性のある仮定的垂直方向及び水平方向切断部が所定の最小サイズ（すなわち、レイアウト・オブジェクト間のスペース）で出会うかどうかを評価するために閾値が用いられる。垂直方向及び水平方向閾値は、同一であっても良いし、それらは異なっていても良い。一実施形態においては、垂直方向及び／又は水平方向切断部閾値は、垂直方向及び／又は水平方向切断部が、それぞれ小さい（すなわち最小限に）重なる領域をもってレイアウト・オブジェクト間に存在することはないようにする。別の実施形態においては、提案された仮定的垂直方向及び／又は水平方向切断部が考慮されるべきかどうかを評価するために用いられるイメージ・ノイズのための閾値がさらに存在してもよい。
【００２５】
ステップ３０４に示されるように、各ブロックは、全体的に（すなわちブロック又はサブブロックの幅又は長さ全体にわたる切断部）最良の列の組につながるレイアウト・オブジェクトの中で切断部を選択することが考慮される。さらに、レイアウト・オブジェクトの切断方法は、図４に示された例において説明されるように、ポートレート指向（縦長）文書イメージにおいて水平方向切断よりも垂直方向切断を好むように指定される。しかしながら、ポートレート又はランドスケープ指向（横長）を有するかに応じて、それぞれ、ブロック長さに沿った垂直方向の第１方向にわたる切断部、及びブロック幅に沿った水平方向の第２方向にわたる切断部を有することができる。
【００２６】
ステップ３０８において、第１組の仮定的切断部及び第２組の仮定的切断部に従って、レイアウト・オブジェクトのための論理的読み取り順序基準（すなわち配置基準）が計算される。計算された基準は、イメージを形成するレイアウト・オブジェクトを切断し、順序付けるように最大化されたスコア関数を計算するために用いられる。スコア関数は、一実施形態においては、第１組の仮定的切断部及び第２組の仮定的切断部を用いて作成された列の最大累積高さに報いる。
【００２７】
より具体的には、ステップ３０８において計算されたスコア関数は、複数の連続ブロックにわたる垂直方向切断を好む。一実施形態においては、スコア関数は、結合されるブロックの高さの合計に基づいている。例えば、サブブロック１及び２（ブロック４０２Ａに示される）の垂直方向切断部「ａ」及び「ｂ」（ブロック４０２Ｂに示される）は、それぞれ結合されて、ブロック４０２Ｃに示されるように垂直方向切断部「ｄ」を定める。さらに、サブブロックは、あらゆる数の隣接サブブロックと結合することができ、垂直方向切断部の結合は、２つの垂直方向切断部（４０２Ｂに示されるように）必ずしも制限されず、連続ブロックの間のあらゆる数の垂直方向切断部に拡張することができる。垂直方向切断部（例えば、ブロック４０２Ｂの垂直方向切断部「ａ」及び「ｃ」）を結合させるための異なる選択肢が存在するが、最も適合した切断部が選択される。
【００２８】
別の実施形態においては、サブブロックの垂直方向切断部の１つ又はそれ以上の選択肢を結合させる適合性をスコア付けすることは、垂直方向切断部を結合させることによって生成されたブロックの累積高さ、結合された切断部の垂直方向の位置合わせ、結合が行われた場合に生じた列の幅、及び互いに結合されるサブブロックの近接性、のうちの１つ又はその組み合わせを含むパラメータの数に基づくことができる。一実施形態においては、サブブロックの近接性は、結合されたサブブロック（すなわち、互いにより近いサブブロックが好ましい）の間の距離の逆数を計算することによってパラメータ化される。一実施形態においては、列幅は、最小列幅と頁幅との比（例えば一実施形態においては１：５の最小比）を定義することによってパラメータ化される。
【００２９】
ステップ３１０において、再び図３を参照すると、第１組の仮定的切断部及び第２組の仮定的切断部（ステップ３０４及びステップ３０６において識別された）における切断部（ステップ３０８）をスコア付けするための計算された配置基準を用いて、２つ又はそれ以上のサブブロックにわたる切断部を結合させることができる。例えば、図４のブロック４０２Ｂにおいては、計算された配置基準のスコア付けされた結果に基づいて、ブロック４０２Ｃに示されるように垂直方向切断部「ｃ」及び水平方向切断部「Ａ」を除去しながら、垂直方向切断部「ａ」及び「ｂ」が定められた垂直方向切断部「ｄ」に結合される。ベスト・スコアの選択に達するために、第１組の仮定的切断部から水平方向の仮定的切断部が選択されない可能性がある。
【００３０】
ステップ３１２において（ステップ３１０において修正された後に）仮定的切断部が識別されない場合には、ステップ３１６において頁の論理構造が出力され、そうでなければ、ステップ３１４において、第１組の仮定的切断部及び第２組の仮定的切断部に残っている切断部に従って、ブロックの組における現在のブロックがセグメント化されてブロックの組が定められ、その後、ステップ３０４、３０６、３０８、３１０及び３１２が引き続き繰り返される。一実施形態においては、ステップ３１４において、セグメント化されたブロックが、それらのコンテンツ（例えばテキスト・コンテンツ）に合うような大きさにされ（例えば縮小され）、さらに別の実施形態においては、イメージ・ノイズに対して頑強な閾値を用いて拡大縮小されてもよい。この態様は、図４に示されたレイアウト・オブジェクトを取り囲む破線の長方形によって図４に説明されている。
【００３１】
ステップ３１６において、一実施形態においては、論理文書読み取り順序は、最初にブロックの上及び左に位置するレイアウト・オブジェクトを切断することによって読み取り順序を定める試行錯誤法により誘導される。切断レイアウト・オブジェクトがブロック・ツリーとして順序付けられたときには、ツリーの深さ優先の左から右への水平方向移動を実行することによって適正な読み取り順序を得ることができる。ステップ３１６において頁の論理構造を出力するときに、ブロックが上から下へ、かつ左から右への順序で、又はブロックが作動的に現れる順序で読み取られる。例えば、図４の４０２Ｃにおいて、サブブロック１．１；１．２；２及び３がブロック４０２Ａと同様の方法で処理され、結果として、ブロック１．１に関する水平方向の仮定的切断部「Ｄ」及び「Ｅ」、ブロック１．２に関する水平方向切断部「Ｆ」、及びサブブロック１．２．ｂに関する垂直方向切断部「ｅ」が識別され、結果として、ブロック１．１．ａ；１．１．ｂ；１．１．ｃ；１．２．ａ；１．２．ｂ．ｉ；１．２．ｂ．ｉｉ；２及び３として、ブロック４０２Ｄにおける識別された論理構造がもたらされる。
【００３２】
別の実施形態において、ステップ３１６の結論において定められた順序付けられたブロックの組は、頁要素（すなわち、ページ上のあらゆる要素は、その他の要素と関連付けられている）間の全順序を誘導するようにさらに処理される。この付加的な処理ステップの間に、ステップ３１６において出力された各順序付けブロック内の要素がさらに順序付けられる。この順序付けは、一実施形態においては、ステップ３０４又は３０６において既に用いられた閾値より小さい閾値を用いて、ブロック内で一方向に（例えば、水平方向又は垂直方向のいずれかに）切断することによって実行することができる。これらの切断部は、行又は列を形成し、そのコンテンツは、切断部が水平方向又は垂直方向のいずれに行われたかに応じて、左から右へ又は上から下へのいずれかに配置される。或いは、この順序付けは、ステップ３０４及び／又は３０６において閾値を減少させることによって行われ、ステップ３１６において原始的に出力された各順序付けブロックに関して、ステップ３０２、３０４、３０６、３０８、３１０、３１２、３１４及び３１６を繰り返す。
【００３３】
或いは、図３に詳細に示された流れ図は、以下のように要約することができる。レイアウト・オブジェクトを有するブロックを想定すると、この方法は、全ての可能性のある水平方向切断部（例えば、ブロック４０２Ａにおける切断部Ａ、Ｂ及びＣ）を列挙する。列挙された水平方向切断部によって生じる可能性がある各ブロックについて、この方法は、内部の全ての可能性のある垂直方向切断部（例えばブロック４０２Ｂのサブブロック１における切断部「ａ」及びサブブロック２における切断部「ｂ」及び「ｃ」）を列挙する。その後、水平方向切断部の（潜在的に空きの）組が、垂直方向切断部の最良の可能な結合に達するように（関連する垂直方向切断部と共に）選択され、結果として異なる代替物のためのスコアを与える。水平方向切断部の選択された組が実行され、次いで、切断部によって生成された各ブロックについて、関連する垂直方向切断が実行される。このプロセスは、付加的な切断部が形成されなくなるまで、選択された水平方向切断及びそれに関連する垂直方向切断によって生成された各ブロックについて繰り返される。
【００３４】
Ｃ．動的プログラミングによる反復的（recursive）方法
図５は、反復及び動的プログラミングを用いて文書イメージの水平方向及び垂直方向切断の全ての可能な組み合わせを列挙する論理文書構造を決定するための別の実施形態を示す。動的プログラミング（例えばインターネット上のｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇで入手可能なＷｉｋｉｐｅｄｉａ百科事典に記載されている）を用いて、文書イメージの水平方向及び垂直方向切断の全ての可能な組み合わせを列挙するときの計算の複雑さを減少させることができる。手短に述べると、動的プログラミングは、主問題を、該主問題を解決するときに数回現れる副問題に分解することによって、主問題を最適化することを含む。各副問題によって実行された計算は、同じ計算に直面する他の副問題を解決するときに再利用するために記録される（すなわち記憶される）。
【００３５】
より具体的には、図５は、動的プログラミングを用いて副問題を反復的に解決する関数ＢＣの擬似コードを示す。簡潔にするために、関数ＢＣによって戻されたスコアのみが示されており、垂直方向切断といった他のソリューションの細部は示されていない。関数ＢＣは、予め計算された水平方向切断部の組を与えるように選択された場合には、各サブブロックのスコア付けの副問題を解決する。すなわち、副問題は、水平方向切断部によって生成された異なる可能性のあるサブブロックを試験すること、近隣サブブロックの可能性のある垂直方向切断部を結合させるかどうか、又は予め計算された水平方向切断部を用いて試験されたサブブロックを水平方向に切断することによって近隣ブロック間の垂直方向切断部の結合を妨げるかどうかを決定することからなる。例えば、ブロック４０２Ａの水平方向切断部Ａ、Ｂ及びＣを予め計算した後の４つのサブブロック１、２、３及び４を想定すると、４つのサブブロックの各々は、予め計算された水平方向切断部を残すかどうか、又はサブブロックにおける可能性のある垂直方向切断部を結合させるかどうかの副問題を解決するために、図５に示された関数ＢＣによって評価される。
【００３６】
ここで、図５に示された関数ＢＣの細部を参照すると、ＢＣ（ｉ，Ｘ）は、ＢＣ（ｉ＋１，Ｘ’）及びＢＣ（ｉ＋１，φ）の間の最大を計算することによって計算することができる。最初に、「ｉ」は、水平方向切断ブロックの可能性のあるサブブロックのリストのことをいう。「ｘ」は、垂直方向切断部の組Ｘとブロック「ｉ」における可能性のある垂直方向切断部の組との交差を示す。「φ」は、ブロックｉ＋１に、垂直方向切断は課されないことを示す（すなわち、水平方向切断はブロックｉとブロックｉ＋１を分離する）。「＃」は、コメントが後に続くことを示す。図６は、図４に示された例示的なブロック４０２Ａについて図５に詳細に示されたＢＣによって実行された副問題の計算を示す。リーフ（leaf）ノードは、各々スコア付けされた頁の異なる可能性のある最終セグメント化を表す。無効な組み合わせをもたらすリーフ・ノードは、図６に「×」で示される。最も高いスコアを戻す反復計算は、参照番号６０２によって示されるノードの組によって識別され、サブブロック１及び２は、図４に示されるように垂直方向切断部「ｄ」を適用してサブブロック１．１及び１．２を定める前に、サブブロック１及び２が組み合わされる。図６は、また重複なしの計算としての動的プログラミングからの計算の利点が、ＢＣ（ｉ，Ｘ）に対してどのように行われるかを示す（すなわち、ＢＣ（ｉ，Ｘ）が一度計算されると、例えばＢＣ（４，φ）が一度計算されると、二度計算されることはない）。
【００３７】
Ｄ．その他種々のこと
要約すると、ここで説明した文書の論理構造を回復し又は決定するための方法は、垂直方向又は水平方向のいずれかに試験されるブロック又はサブブロックを完全に横切る（最も大きい）空きの谷（例えば長方形）を見つけるものである。次いで、ブロックは、それらのコンテンツに合うサイズにされたサブブロックにセグメント化される。この方法は、一実施形態においては、各セグメント化されたサブブロックに反復的に適用され、これは、セグメント化されたブロックのいずれかにおいて十分に大きな谷が見つからないときに止まる。この方法は、３つのパラメータ、すなわち、最小の垂直方向及び水平方向の谷の大きさを定める第１及び第２の閾値と、分割される前のブロックの最小の垂直方向の幅を定める第３の閾値とを使用するものである。選択されたセグメント化は、１つの読み取り順序について、近隣サブブロック間で共有された垂直方向切断を優先して水平方向切断を除去するスコア付け関数に基づいている。ブロック及びサブブロックがセグメント化される順序は、その読み取り順序といった文書の論理構造を定めるために用いられる。
【００３８】
文書のレイアウト・オブジェクトは、単に長方形の形状だけではなく多くの形態を取ることができることが認識される。ここで説明された方法に従って処理された文書が、例えば、いずれの方向にも（すなわち、水平方向にも垂直方向にも）完全には切断（すなわちセグメント化）できない「Ｌ」字形のレイアウト・オブジェクトを含む場合には、文書内の残りのレイアウト・オブジェクトを処理しているあいだ、「Ｌ」字形状を一時的に無視することができる。リストを含むレイアウト・オブジェクトは、２つのレイアウト・オブジェクトにセグメント化して、レイアウト・オブジェクトをセグメント化する垂直方向切断部がリスト識別子（例えば黒丸）を含み、テキスト・ブロックを含むレイアウト・オブジェクトが廃棄されるようにすることができる。次いで、リスト識別子を含むレイアウト・オブジェクトは、テキスト・ブロックを含むレイアウト・オブジェクトの「接頭部付きテキスト」クラスに属するものとしてマークすることができる。
【００３９】
ここで説明された方法は、左から右へかつ上から下への頁の読み取り又は表示順序に従う文書について説明されることがさらに認識される。ここで説明された方法は、例えば、図４の例に示された左から右へとは逆に、レイアウト・オブジェクトに右から左への優先順位を与えることによって、右から左への読み取り順序に従う言ワードで、文書の別の読み取り又は表示順で動作するようにすぐに修正できることが、当業者であれば分かるであろう。文書イメージの幾何学的特徴が、オープンな複数の可能性のある有効な順序を残す場合には、レイアウト・オブジェクトのテキスト・コンテンツといった他の特徴を活用して、こうした不確かなケースを解決することができる。
【００４０】
図２に示されここで説明されたシステム２０２を実現するために汎用コンピュータを使用できることを、当業者であれば理解するであろう。こうした汎用コンピュータは、ハードウェア及びソフトウェアを含む。ハードウェアは、例えば、プロセッサ（すなわちＣＰＵ）、メモリ（ＲＯＭ、ＲＡＭなど）、永続的メモリ（例えばＣＤ−ＲＯＭ、ハードドライブ、ＦＤドライブ、テープドライブなど）、ユーザＩ／Ｏ、及びネットワークＩ／Ｏを含む。ユーザＩ／Ｏは、カメラ、マイク、スピーカ、キーボード、ポインティング・デバイス（例えばポインティング・スティック、マウスなど）及びディスプレイを含むことができる。ネットワークＩ／Ｏは、例えば、インターネットといったネットワークに結合することができる。汎用コンピュータのソフトウェアは、システム２０２の機能を与えるオペレーティング・システム及びアプリケーション・ソフトウェアを含む。
【００４１】
さらに、上記の実施形態は、標準的なプログラミング及び／又は工学技術を用いてプログラミング・ソフトウェア、ファームウェア、ハードウェア又はこれらのいずれかの組み合わせを製造することによって、機械（又はシステム）、プロセス（又は方法）又は製品として実現できることを当業者であれば理解するであろう。本明細書で説明した流れ図は、異なる可能性のある実施形態の理解を与えることを意図していることを、当業者であれば認識するであろう。したがって、ステップの別の順序付け、１つ又はそれ以上のステップを並行して行うこと、及び／又は付加的な又はより少ないステップを行うことを、別の実施形態において実施することができる。
【図面の簡単な説明】
【００４２】
【図１】ＸＹ切断法を用いて頁をセグメント化する例を示す図である。
【図２】論理文書構造を決定する、本発明に係るシステムのブロック図である。
【図３】論理文書構造を決定する、本発明に係る実施形態の流れ図である。
【図４】図３に示された論理文書構造を決定する、例を示す図である。
【図５】反復及び動的プログラミングにより論理文書構造を決定する、別の実施形態の図である。
【図６】図４に示された例示的な頁を用いる図５の別の実施形態の例示的な計算を示す図である。
【符号の説明】
【００４３】
２０４：ビットマップ文書
２０６：レイアウト計算モジュール
２０８：構造組織化されていない文書
２１０：順序計算モジュール
２１２：構造組織化された文書
２１４：文書アプリケーション・モジュール
【図１】
2006331423.tif 000003
【図２】
2006331423.tif 000004
【図３】
2006331423.tif 000005
【図４】
2006331423.tif 000006
【図５】
2006331423.tif 000007
【図６】
2006331423.tif 000008