(57)【特許請求の範囲】
【請求項１】
出版物を表示するためにコンピュータによって実行される方法であって、
出版物のソースイメージに対して施された光学式文字認識（ＯＣＲ）処理に応じて生成された複数のテキストセグメントを含む文書を受信することと、
ユーザによって使用されるクライアント装置のディスプレイ上に１以上の前記テキストセグメントを表示することと、
表示されたテキストセグメントに対する前記ユーザによる選択に応じて、該選択されたテキストセグメントを前記ＯＣＲ処理によって生成させた元である前記ソースイメージ内のイメージセグメントを自動的に取り出すことと、
前記クライアント装置の前記ディスプレイ上で、前記選択されたテキストセグメントを前記取り出されたイメージセグメントで置き換えること、
を具備する方法。
【請求項２】
更に、前記ユーザによる前記イメージセグメントの選択に応じて、前記クライアント装置の前記ディスプレイ上で、該選択されたイメージセグメントを前記テキストセグメントで置き換えること、
を具備する請求項１の方法。
【請求項３】
前記文書は、更に、それに関連するテキストセグメントの品質を示すがらくた度スコアを含み、
前記１以上の前記テキストセグメントを表示することは、
前記関連するテキストセグメントの前記がらくた度スコアを或る閾値と比較することと、
前記閾値以下の前記がらくた度スコアに応じて、前記関連するテキストセグメントを表示することと、
前記閾値を超える前記がらくた度スコアに応じて、前記クライアント装置の前記ディスプレイ上で、前記関連するテキストセグメントを、該関連するテキストセグメントを前記ＯＣＲ処理によって生成させた元であるイメージセグメントで、自動的に置き換えること、
を含む請求項１の方法。
【請求項４】
前記文書は、前記複数のテキストセグメントを前記ソースイメージ内の複数のイメージセグメントに関連付ける位置情報を含み、
前記イメージセグメントを取り出すことは、
前記表示されたテキストセグメントについての前記文書内での位置情報を特定することと、
前記イメージセグメントを要求するリクエストであって、該特定された位置情報を含む該リクエストを送信すること、
を更に具備する請求項１の方法。
【請求項５】
前記イメージセグメントを要求する前記リクエストは遠隔のサーバーに送信され、該イメージセグメントが該遠隔のサーバーから取り出される請求項４の方法。
【請求項６】
前記位置情報は、前記表示されたテキストセグメントに含まれる文章を見せるソースイメージ内の領域を記述する情報である請求項４の方法。
【請求項７】
更に、前記表示されているテキストセグメントの前記ユーザによる選択に応じて、該表示されているテキストセグメントを前記文書に関連付けて記憶すること、
を具備する請求項１の方法。
【請求項８】
出版物を表示するために実行可能なコンピュータプログラムコードを記憶したコンピュータ読取可能な記憶媒体であって、該プログラムは、コンピュータに、
出版物のソースイメージに対して施された光学式文字認識（ＯＣＲ）処理に応じて生成された複数のテキストセグメントを含む文書を受信する手順と、
ユーザによって使用されるクライアント装置のディスプレイ上に１以上の前記テキストセグメントを表示する手順と、
表示されたテキストセグメントに対する前記ユーザによる選択に応じて、該選択されたテキストセグメントを前記ＯＣＲ処理によって生成させた元である前記ソースイメージ内のイメージセグメントを自動的に取り出す手順と、
前記クライアント装置の前記ディスプレイ上で、前記選択されたテキストセグメントを前記取り出されたイメージセグメントで置き換える手順、
を実行させることを特徴とするコンピュータ読取可能な記憶媒体。
【請求項９】
前記プログラムは、更に、前記コンピュータに、前記ユーザによる前記イメージセグメントの選択に応じて、前記クライアント装置の前記ディスプレイ上で、該選択されたイメージセグメントを前記テキストセグメントで置き換える手順、
を実行させることを特徴とする請求項８のコンピュータ読取可能な記憶媒体。
【請求項１０】
前記文書は、更に、それに関連するテキストセグメントの品質を示すがらくた度スコアを含み、
前記１以上の前記テキストセグメントを表示する前記手順は、
前記関連するテキストセグメントのための前記がらくた度スコアを或る閾値と比較する手順と、
前記閾値以下の前記がらくた度スコアに応じて、前記関連するテキストセグメントを表示する手順と、
前記閾値を超える前記がらくた度スコアに応じて、前記クライアント装置の前記ディスプレイ上で、前記関連するテキストセグメントを、該関連するテキストセグメントを前記ＯＣＲ処理によって生成させた元であるイメージセグメントで、自動的に置き換える手順、
を前記コンピュータに実行させることからなる請求項８のコンピュータ読取可能な記憶媒体。
【請求項１１】
前記文書は、前記複数のテキストセグメントを前記ソースイメージ内の複数のイメージセグメントに関連付ける位置情報を含み、
前記イメージセグメントを取り出す前記手順は、
前記表示されたテキストセグメントについての前記文書内での位置情報を特定する手順と、
前記イメージセグメントを要求するリクエストであって、該特定された位置情報を含む該リクエストを送信する手順と、
を前記コンピュータに更に実行させることからなる請求項８のコンピュータ読取可能な記憶媒体。
【請求項１２】
出版物をユーザに提供するためにコンピュータによって実行される方法であって、
出版物のソースイメージに対して施された光学式文字認識（ＯＣＲ）処理に応じて生成された複数のテキストセグメントを含む文書を受信することと、ここで、前記文書は、前記複数のテキストセグメントに対応する前記ソースイメージの複数のセグメントを特定する位置情報も含んでおり、
クライアント装置に前記文書を提供することと、
前記文書内に含まれる１テキストセグメントを前記ＯＣＲ処理によって生成させた元である１イメージセグメントの前記位置情報を含むリクエストを前記クライアント装置から受信することに応じて、該１イメージセグメントを該クライアント装置に自動的に提供すること、
を具備し、前記クライアント装置に提供された前記１イメージセグメントは、該クライアント装置のディスプレイ上で前記１テキストセグメントと置き換えられるようになっている、方法。
【請求項１３】
前記文書を受信することは、更に、
それに関連するテキストセグメントの品質を示すがらくた度スコアを生成することと、
前記関連するテキストセグメントと前記がらくた度スコアを含む前記文書を生成すること、
を含む請求項１２の方法。
【請求項１４】
前記がらくた度スコアを生成することは、
１つの言語モデルに基づいて前記関連するテキストセグメント中の各文字毎の言語条件付き文字確率の１組を計算することと、
前記関連するテキストセグメント中の各文字毎の前記言語条件付き文字確率の１組に基づいて、該関連するテキストセグメントのための前記がらくた度スコアを生成すること、
を含む請求項１３の方法。
【請求項１５】
更に、前記送信する文書内に制御モジュールを含めることを具備し、該制御モジュールは、前記クライアント装置において前記文書の表示を制御し、かつ、該クライアント装置のユーザとの相互作用に応じて、前記１テキストセグメントを前記ＯＣＲ処理によって生成させた元である１イメージセグメントを要求するリクエストを自動的に生成するように、前記クライアント装置において実行されるものである、請求項１３の方法。
【請求項１６】
前記位置情報は、前記テキストセグメント内に含まれる文章を提示する前記ソースイメージ内の領域を記述するものである、請求項１２の方法。
【請求項１７】
出版物をユーザに提供するために実行可能なコンピュータプログラムコードを記憶したコンピュータ読取可能な記憶媒体であって、該プログラムは、コンピュータに、
出版物のソースイメージに対して施された光学式文字認識（ＯＣＲ）処理に応じて生成された複数のテキストセグメントを含む文書を受信する手順と、ここで、前記文書は、前記複数のテキストセグメントに対応する前記ソースイメージの複数のセグメントを特定する位置情報も含んでおり、
クライアント装置に前記文書を提供する手順と、
前記文書内に含まれる１テキストセグメントを前記ＯＣＲ処理によって生成させた元である１イメージセグメントの前記位置情報を含むリクエストを前記クライアント装置から受信することに応じて、該１イメージセグメントを該クライアント装置に自動的に提供する手順、
を実行させることを特徴とし、前記クライアント装置に提供された前記１イメージセグメントは、該クライアント装置のディスプレイ上で前記１テキストセグメントと置き換えられるようになっている、コンピュータ読取可能な記憶媒体。
【請求項１８】
前記文書を受信する前記手順は、更に、
それに関連するテキストセグメントの品質を示すがらくた度スコアを生成する手順と、
前記関連するテキストセグメントと前記がらくた度スコアを含む前記文書を生成する手順、
を前記コンピュータに実行させることを特徴とする請求項１７のコンピュータ読取可能な記憶媒体。
【請求項１９】
前記がらくた度スコアを生成する前記手順は、
１つの言語モデルに基づいて前記関連するテキストセグメント中の各文字毎の言語条件付き文字確率の１組を計算する手順と、
前記関連するテキストセグメント中の各文字毎の前記言語条件付き文字確率の１組に基づいて、該関連するテキストセグメントのための前記がらくた度スコアを生成する手順、
を前記コンピュータに実行させることを特徴とする請求項１８のコンピュータ読取可能な記憶媒体。
【請求項２０】
更に、前記送信する文書内に制御モジュールを含める手順を前記コンピュータに実行させ、該制御モジュールは、前記クライアント装置において前記文書の表示を制御し、かつ、該クライアント装置のユーザとの相互作用に応じて、前記１テキストセグメントを前記ＯＣＲ処理によって生成させた元である１イメージセグメントを要求するリクエストを自動的に生成するように、前記クライアント装置において実行されるものである、請求項１８のコンピュータ読取可能な記憶媒体。
【請求項２１】
前記取り出されたイメージセグメントが、前記クライアント装置の前記ディスプレイに基づいて調整される、請求項１の方法。
【請求項２２】
前記取り出されたイメージセグメントのサイズ及び解像度の少なくとも一方が、前記クライアント装置の前記ディスプレイの解像度に基づいて調整される、請求項２１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式文字認識（ＯＣＲ）、特に、ＯＣＲを使用して抽出されたテキスト、および、前記テキストの抽出元であるオリジナルのイメージ（画像）を表示する分野に関する。 
【背景技術】
【０００２】
印刷された文書が光学式文字認識（ＯＣＲ）を使用してスキャンされ、編集可能なテキストに変換される。コンピュータ画面で文書を読む場合、ユーザは、典型的には、画像バージョンよりＯＣＲ認識されたバージョンを好む。ＯＣＲ認識されたテキストは、文書画像に比べて、サイズが小さく、従って、より効率的にコンピュータネットワークを介して送信可能である。さらに、前記ＯＣＲ認識されたテキストは、編集可能であり（例えば、コピーおよびペーストをサポートしており）また検索可能であり、（例えば、ローカルに利用可能なフォントを使用して）明瞭に、且つ、（コンピュータスクリーンに合うよう調整されたレイアウトを使用して）弾力的に表示可能である。上記利点は、携帯電話およびミュージックプレーヤー等の携帯装置を使って読書することを好むユーザにとって特に有益である。
【０００３】
しかしながら、多くの場合、ＯＣＲ認識されたテキストにはエラーが存在する。このようなエラーは、文書における欠陥、スキャン処理時に発生したアーチファクト（artifact: 人口物）、および、ＯＣＲエンジンの欠点による場合がある。これらのエラーは、ＯＣＲ認識されたテキストの使用および利点享受を妨害し、前記テキストの利点を損なうことがある。従って、ＯＣＲ処理によって発生したエラーの影響を最小化しながら、ＯＣＲ認識されたテキストを使用する利益を実現するための方法が要求されている。
【発明の概要】
【０００４】
ここに開示する実施例は、ＯＣＲを使用して画像から抽出されたテキストを表示するための方法（及びそれに対応するシステムとコンピュータプログラム製品）を含んでいる。
【０００５】
１つの観点においては、ＯＣＲ認識された文書（document: ドキュメント）はＯＣＲ認識されたテキストの複数セグメントの集合として生成される。該文書内の各テキストセグメントには、イメージの連続からなる元の文書における元のテキストイメージにおける該テキストセグメントを内容とする矩形のイメージ区間を一意的に識別（同定）する、情報のタグが付けられる。該文書は、１テキストセグメントの表示を、ユーザの選択に応じて、ＯＣＲ認識されたテキストとそれに対応するイメージ区間（イメージセグメント）との間で読み手がトグル式に切り換えることができるようにするプログラムコードを含んでいる。
【０００６】
別の観点において、各テキストセグメント毎にがらくた度スコア（点数）が計算される。ＯＣＲ認識された文書内の各テキストセグメントは、そのがらくた度スコアのタグが付けられる。ＯＣＲ認識された文書がロードされるとき、埋め込まれたプログラムコードが各テキストセグメントのがらくた度スコアを或る閾値と比較する。或るテキストセグメントのがらくた度スコアが閾値よりも低いならば、該プログラムコードは該テキストセグメントを表示する。そうでない場合は、該プログラムコードは該テキストセグメントに代えてイメージセグメントを表示する。ユーザはテキストセグメントを選択することにより、この表示をトグル式に切り換えることができる。
【０００７】
本明細書で説明する特徴および利点は、全てを包含しているとは限らず、特に、追加される多くの特徴および利点は、図面、明細書、および特許請求の範囲から当該技術に精通する者には明らかであろう。更に、本明細書で使用する言葉は、原則として可読性と説明目的のために選定されており、本発明の主題を描写し、または制限するよう選定したものではないことに留意されたい。
【図面の簡単な説明】
【０００８】
【図１】本開示に係る一実施例に従うコンピューティング環境のハイレベルなブロック図。
【０００９】
【図２】本開示に係る一実施例に従う図１に示すコンピューティング環境において使用される１台のコンピュータの一例を示すハイレベルなブロック図。
【００１０】
【図３】本開示に係る一実施例に従う文書供給システム内の複数モジュール例を示すハイレベルなブロック図。
【００１１】
【図４】本開示に係る一実施例に従う文書供給システムの動作例を示す流れ図。
【００１２】
【図５】本開示に係る一実施例に従う文書供給システムによって生み出される制御モジュールの動作例を示す流れ図。
【００１３】
【図６Ａ】本開示に係る一実施例に従う文書供給システムによって生成されるウェブページを読むユーザ体験を例示する一画面の図。
【図６Ｂ】同ウェブページの別画面の図。
【図６Ｃ】同ウェブページの別画面の図。
【発明を実施するための形態】
【００１４】
ここに説明するコンピューティング環境は、ＯＣＲ認識されたテキストを読む読み手がＯＣＲ認識されたテキストのセグメントとテキストセグメントを含むソースイメージの１セグメントとの間でトグル式に切り換えることを可能にする。
【００１５】
図面及び以下の記述は単に説明の目的で或る実施例を記述している。ここに説明された構成及び方法についての変形がここに記述された原理から逸脱することなく実現され得ることを、以下の説明から当業者は容易に認識するであろう。いくつかの実施例に対する言及が詳細になされ、それらの一例が添付図面において示されている。どこで使用される場合であっても、類似のまたは似たような参照番号が図面で使用され、類似のまたは似たような機能性を示す。
システム環境
【００１６】
図１は、本開示に係る一実施例に従うコンピューティング環境１００のハイレベルなブロック図であり、該コンピューティング環境１００は、印刷された出版物（publication: 公表物）をＯＣＲ認識されたテキストに変換し、読み手が該ＯＣＲ認識されたテキスト及び所望に応じてそれに対応するソース（元の）イメージを見れるようにする。図示するように、コンピューティング環境１００は、スキャナー１１０、ＯＣＲエンジン１２０、文書供給システム（文書サーバーシステム）１３０、クライアント装置１４０を含んでいる。本記述を単純化し明確化するために、各エンティティ（実体、装置）の１つのみが図示される。コンピューティング環境１００においては、その他のエンティティ（実体、装置）も同様に存在する。或る実施例において、ＯＣＲエンジン１２０及び文書供給システム１３０は１つのエンティティ（実体、装置）内に組み込まれる。
【００１７】
スキャナー１１０は、印刷された出版物（例えば書籍、新聞）を光学的にスキャンし該印刷された出版物をデジタルのテキストイメージに変換する。スキャナー１１０の出力はＯＣＲエンジン１２０に送られる。
【００１８】
ＯＣＲエンジン１２０は、ソースイメージを編集可能なテキスト（以下、ＯＣＲ認識されたテキストという）に変換（翻訳）するように構成されたハードウェア装置及び／又はソフトウェアプログラムである。ＯＣＲエンジン１２０は、コンピュータアルゴリズムを使用してソースイメージを処理し、それに対応するＯＣＲ認識されたテキストを生成する。
【００１９】
加えて、ＯＣＲエンジン１２０は、ソースイメージ中の該ＯＣＲ認識されたテキストに対応するイメージセグメントを記述する位置情報を生成し出力する。例えば、テキストの各セグメント（例えばパラグラフ、コラム、タイトル）毎に、ＯＣＲエンジン１２０は、該テキストセグメントに対応するソースイメージのセグメントをユニークに特定する境界ボックス（囲み）を記述する１組の値を提供する。この境界ボックスを記述する１組の値は、ｘ−ｙ軸上の四角形の右上角の２次元座標値と、該四角形の幅及び高さとを含む。従って、境界ボックスは、該テキストセグメントに対応するイメージセグメントとして、ソースイメージ中の領域をユニークに特定する。
【００２０】
ＯＣＲエンジン１２０は、また、ＯＣＲ認識されたテキストの品質を評価する信頼性レベルを生成してよい。加えて、ＯＣＲエンジン１２０は、フォーマット情報（例えばフォント種類、フォントサイズ、スタイルなど）のようなその他の情報を生成してよい。ＯＣＲエンジン１２０の一例は、ＡＢＢＹＹファインリーダーＯＣＲ（登録商標）、ＡＤＯＢＥアクロバットキャプチャ（登録商標）、ＭＩＣＲＯＳＯＦＴオフィス文書イメージング（登録商標）などである。ＯＣＲエンジン１２０の出力は文書供給システム１３０に送られる。
【００２１】
文書供給システム１３０は、印刷された出版物の電子的表現物をユーザに提供するように構成されたコンピュータシステムである。文書供給システム１３０はＯＣＲエンジン１２０から受信した情報を記憶する。この情報は、ＯＣＲ認識されたテキスト、ソースイメージ、該ソースイメージ内のセグメントにＯＣＲ認識されたテキストのセグメントを関連付ける位置情報、及び信頼性レベルを含む。一実施例において、文書供給システム１３０は受信した情報を使用して、ＯＣＲ認識されたテキストの各テキストセグメントの「がらくた度スコア」を計算する。この「がらくた度スコア」は全体の品質を評価するものである。加えて、文書供給システム１３０は、クライアント装置１４０によって実行されることができる制御モジュール１３２を含む。この制御モジュール１３２は、クライアント装置１４０のユーザがテキストセグメントとそれに対応するイメージセグメントとを選択的にトグル式に切り換えることができるようにするものであり、これにより、ユーザがＯＣＲ認識されたテキスト又は印刷された出版物のソースイメージ中の該テキストに対応する部分のいずれかを見ることができるようにする。
【００２２】
一実施例において、文書供給システム１３０は、ユーザが、クライアント装置１４０を使用して、ＯＣＲ認識された印刷出版物をウェブページとして読むためのウェブサイトを提供する。印刷された出版物の特定の部分についてのリクエストをクライアント装置から受信すると、文書供給システム１３０は、リクエストされた出版物の部分を内容とする文書（例えばウェブページ）を生成する。一実施例において、該文書はリクエストされた出版物の部分中に複数テキストセグメントを含む（例えば本の一章分のテキスト）。加えて、該文書は、該テキストセグメントをそれに対応するイメージセグメントに関連付ける位置情報を含む。また、該文書は前記制御モジュール１３２を含む。文書供給システム１３０は、該生成した文書を、それをリクエストしているクライアント装置１４０に提供する。
【００２３】
クライアント装置１４０は、文書供給システム１３０に文書をリクエストし、その応答として受信した文書を表示するように構成されている。その機能は、クライアント装置１４０上で実行するウェブブラウザ（例えば、Microsoft Internet Explorer（登録商標）、Mozilla FireFox（登録商標）、Apple Safari（登録商標）など）のような閲覧アプリケーション１４２によって提供される。閲覧アプリケーション１４２は文書供給システム１３０から受信した文書に含まれる制御モジュール１３２を実行し、それはユーザがテキストセグメントの表示とそれに対応するイメージセグメントの表示とを交替でトグル式に切り換えることができるようにする。
【００２４】
スキャナー１１０はＯＣＲエンジン１２０と通信可能に接続され、ＯＣＲエンジン１２０は文書供給システム１３０と通信可能に接続され、文書供給システム１３０はクライアント装置１４０と通信可能に接続される。これらの接続のいずれかが配線結線式又は無線式ネットワークであってよい。このネットワークの一例は、インターネット、イントラネット、ＷｉＦｉネットワーク、ＷｉＭＡＸネットワーク、携帯電話ネットワーク、若しくはこれらの組み合わせを含む。
コンピュータアーキテクチャ
【００２５】
図１に示されたエンティティは１又は複数のコンピュータを使用して実装される。図２はコンピュータ２００の一例を示すハイレベルなブロック図である。コンピュータ２００はチップセット２０４に結合された少なくとも１つのプロセッサ２０２を含む。チップセット２０４は、メモリコントローラハブ２２０と入出力（Ｉ／Ｏ）コントローラハブ２２２を含む。メモリ２０６とグラフィックアダプタ２１２はメモリコントローラハブ２２０に結合され、ディスプレイ２１８はグラフィックアダプタ２１２に結合される。記憶装置２０８、キーボード２１０、ポインティングデバイス２１４、ネットワークアダプタ２１６はＩ／Ｏコントローラハブ２２２に結合される。コンピュータ２００の別の実施例は、異なるアーキテクチャを持つ。
【００２６】
記憶装置２０８は、ハードディスクドライブ、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、ＤＶＤ、ソリッドステートメモリデバイスなどのコンピュータ読取可能な記憶媒体である。メモリ２０６はプロセッサ２０２によって使用される命令及びデータを保持する。ポインティングデバイス２１４は、マウス、トラックボール、その他のタイプのポインティングデバイスであり、コンピュータシステム２００にデータを入力するためにキーボード２１０と組み合わせて使用される。グラフィックアダプタ２１２はディスプレイ２１８上にイメージその他の情報を表示する。ネットワークアダプタ２１６は１又は複数のコンピュータネットワークにコンピュータシステム２００を結合する。
【００２７】
コンピュータ２００は、ここで述べる機能を提供するためにコンピュータプログラムモジュールを実行するようになっている。本書において、「モジュール」とは、特定の機能を提供するために使用されるコンピュータプログラム論理のことをいう。従って、モジュールは、ハードウェア内、ファームウェア内、及び／又はソフトウェア内に実装されることができる。一実施例において、プログラムモジュールは記憶装置２０８内に格納され、メモリ２０６上にロードされ、プロセッサ２０２によって実行される。
【００２８】
図１のエンティティによって使用されるコンピュータ２００の種類は、実施形態及び該エンティティに要求される処理能力に依存して変り得る。例えば、文書供給システム１３０は、本書で述べる機能を提供するために協働するマルチ・ブレード・サーバーで構成されるかもしれない。別の例として、クライアント装置１４０は限られた処理能力を持つ携帯電話で構成されるかもしれない。コンピュータ２００は、上述した構成要素のあるもの、例えばキーボード２１０、グラフィックアダプタ２１２やディスプレイ２１８など、を欠いていてもよい。
文書供給システムのアーキテクチャ例の概観
【００２９】
図３は、一実施例に従う文書供給システム内の複数モジュール例を示すハイレベルなブロック図である。文書供給システムのいくつかの実施形態は、本書で述べるものとは異なる及び／又は別のモジュールを有する。同様に、その機能は、本書で述べるのとは異なるやり方で、別の実施形態に従い複数モジュール間で分散化され得る。図示したように、文書供給システム１３０は、テキスト評価エンジン３１０、コード発生モジュール３２０、文書生成モジュール３３０、入出力管理モジュール（以下Ｉ／Ｏモジュールという）３４０、データ記憶部３５０を含む。
【００３０】
テキスト評価エンジン３１０は、ＯＣＲエンジン１２０によって提供された情報に基づいてテキストセグメントのがらくた度スコアを生成する。がらくた度スコアは該テキストセグメントの全体的な品質を評価する数値である。一実施例において、がらくた度スコアは０乃至１００の範囲であり、０は高いテキスト品質を示しており、１００は低いテキスト品質を示す。
【００３１】
がらくた度スコアを生成するために、テキスト評価エンジン３１０の一実施例は、テキストセグメント内の各文字（キャラクタ）毎に言語条件付き文字確率の１組を生成する。各言語条件付き文字確率は、該文字とテキストセグメントにおいて該文字に先行している１セットの文字群とが或る言語モデルに如何によく調和しているかを示す。該文字に先行している１セットの文字群は、典型的には、少数（例えば４乃至８文字程度）に限定され、例えば複合語あるいはその他の結合語中の文字群が該モデルに基づき強い確率値が付与される。言語条件付き文字確率はテキスト品質のその他の指針（例えばＯＣＲエンジン１２０によって提供される前記信頼性レベル）と組み合わせられて、テキストセグメント内の各文字毎のテキスト品質スコア（点数）を生成するようにしてよい。そのような値の計算は、テキスト品質の位置特定分析を考慮に入れる。
【００３２】
テキスト評価エンジン３１０は、１テキストセグメント内の複数文字に対応付けられた１組のテキスト品質スコアを組み合わせて、該テキストセグメントの品質を特徴付ける「がらくた度スコア」を生成する。テキスト評価エンジン３１０は、１テキストセグメント内の複数文字に対応付けられた１組のテキスト品質スコアを平均化して「がらくた度スコア」を生成するようにしてもよい。
【００３３】
コード発生モジュール３２０は、クライアント装置１４０における文書の表示を制御する制御モジュール１３２を生成するか又は提供する。一実施例において、制御モジュール１３２は、JAVASCRIPT（登録商標）、JAVA（登録商標）又はPerl（登録商標）のようなプログラム言語を使用して書かれたブラウザで実行可能なコードを使用して実装される。コード発生モジュール３２０は、Google Web Toolkit（登録商標）のようなアプリケーションを含むか又はそれと通信することができ、及び／又は開発者が該制御モジュール１３２を開発できるようにする統合化開発環境（ＩＤＥ）を提供できる。実施例によっては、コード発生モジュール３２０は、制御モジュール１３２の予め作成されたインスタンスを格納する。該制御モジュール１３２はクライアント装置１４０に提供される文書内に含ませることができるか、若しくはクライアント装置１４０が文書供給システム１３０に文書をリクエストするとき該コード発生モジュール３２０がリアルタイムに制御モジュール１３２を形成することができる。
【００３４】
文書生成モジュール３３０は、リクエストしているクライアント装置１４０に出版物の部分を提供する文書を生成する。一実施例において、生成した文書はハイパーテキストランゲージ（ＨＴＭＬ）を使用して形成されたウェブページである。その他の実施例では、ポータブル文書フォーマット（ＰＤＦ）のようなウェブページではない文書及び／又はＨＴＭＬ以外の言語を使用して形成されたウェブページを生成する。
【００３５】
文書を生成するために、文書生成モジュール３３０は、クライアント装置１４０によってリクエストされた出版物と部分を特定し、該部分を構成するテキストセグメントをデータ記憶部３５０から取り出す。文書生成モジュール３３０は、複数のテキストセグメントを有する文書を作成し、また、該文書内の各テキストセグメント毎に当該テキストセグメントをソースイメージからのイメージセグメントに関連付ける位置情報を持つタグを付ける。文書生成モジュール３３０は、また、各テキストセグメント毎にそれに対応するがらくた度スコアを持つタグを付ける。加えて、文書生成モジュール３３０は、コード発生モジュール３２０によって提供された制御モジュール１３２を該文書内に埋め込む。文書生成モジュール３３０は、ＯＣＲ認識されたテキストが利用可能になるとき該文書を生成してよい。別の例として、文書生成モジュール３３０は、オンデマンドで（例えばクライアント装置１４０からのリクエストに応じて）該文書を動的に生成してよい。
【００３６】
Ｉ／Ｏモジュール３４０は、文書供給システム１３０の入力及び出力を管理する。例えば、Ｉ／Ｏモジュール３４０は、ＯＣＲエンジン１２０から受信したデータをデータ記憶部３５０に記憶し、テキスト評価エンジン３１０を作動させてそれに対応する「がらくた度スコア」を生成させる。別の例として、Ｉ／Ｏモジュール３４０はクライアント装置１４０からのリクエストを受信し、文書生成モジュール３３０を作動させてリクエストされた文書をそれに応じて提供させる。イメージセグメントを要求するリクエストを文書供給システムが受信すると、Ｉ／Ｏモジュール３４０はデータ記憶部３５０から該イメージセグメントを取り出し、それをクライアント装置１４０に提供する。一実施例において、Ｉ／Ｏモジュール３４０はイメージセグメントをクライアント装置１４０に返す前に該イメージセグメントを処理する。例えば、Ｉ／Ｏモジュール３４０は、該文書を表示するクライアント装置１４０の画面の解像度に基づいてイメージセグメントのサイズ及び／又は解像度を調整してよい。
【００３７】
データ記憶部３５０は文書供給システム１３０によって使用されるデータを記憶する。そのようなデータの一例は、ＯＣＲ認識されたテキスト及びそれに関連する情報（例えば、がらくた度スコア、位置情報など）、ソースイメージ、生成された文書などを含む。データ記憶部３５０は関連データベース又は任意のその他のタイプのデータベースであってよい。
文書及び制御モジュール
【００３８】
一実施例によれば、文書供給システム１３０は制御モジュール１３２を埋め込んだ文書を生成する。文書は、それに対応するイメージセグメントを識別する情報のタグが付けられた複数テキストセグメントを含んでいる。これらのテキストセグメントは、また、ソースイメージにおける元の文章を模擬するようにデザインされたフォーマット情報のタグが付けられる。そのようなフォーマット情報はフォント種類、フォントサイズ、スタイル（例えばイタリック、ボールド、アンダーラインなど）を含む。
【００３９】
制御モジュール１３２の一実施例は、該文書に関連するイベントを取り扱うイベントハンドラーを含む。例えば、該文書がクライアント装置１４０でウェブブラウザにロードされことに応じて（オンロード・イベント）、制御モジュール１３２はＨＴＭＬテキストタグを使用してそこに含まれたテキストセグメントの表示を生成する。別の例では、ユーザによる１テキストセグメントの選択に応じて、制御モジュール１３２は該テキストセグメントとそれに対応するイメージセグメントとの間で該表示をトグル式に切り換える。
【００４０】
一実施例において、ウェブブラウザによってウェブページがロードされるとき、埋め込まれた制御モジュールが各テキストセグメントのがらくた度スコアを閾値と比較し、当該テキストセグメントが表示するのに十分な品質のものであるかを判定する。がらくた度スコアが該閾値以下であれば、該制御モジュールは下記のようなＨＴＭＬコードを使用して該テキストセグメントを表示する。
<p id='pageID.40.paraID.1.box.103.454.696.70.garbage.40'> <i>The courtyard of the Sheriff&#39;s house. A chapel. A shed in which is a blacksmith&#39;s forge with fire. A prison near which is an anvil, before which Will Scarlet is at work making a sword.</i></p>
上記ＨＴＭＬコードは、次に示すイタリック体のテキストを含む。「The courtyard of the Sheriff's house. A chapel. A shed in which is a blacksmith's forge with fire. A prison near which is an anvil, before which Will Scarlet is at work making a sword.」（その保安官の家の中庭。教会。その中の小屋は鍛冶屋の炎の鍛冶場。その近くの牢屋は鉄床で、その前でウィル・スカーレットが剣を作る仕事をしている。）このパラグラフは次に示す情報“id=' 
pageID.40.paraID.1.box.103.454.696.70.garbage.40'”のタグが付けられ、これは、対応するイメージセグメントが40ページ（pageID.40）のパラグラフ１（paraID.1）に位置し、該イメージセグメントの左上角が（103, 454）、該イメージセグメントが高さ696ピクセルで幅70ピクセルの長さ、それに関連する「がらくた度スコア」が40（garbage.40）、ということを示している。
【００４１】
もし「がらくた度スコア」が閾値を超えていたら、制御モジュール１３２は、イメージセグメントを自動的に取り出し、次に示すようなＨＴＭＬコードを使用して、テキストセグメントの代わりに該イメージセグメントを表示する。
<p id='pageID.40.paraID.1.box.103.454.696.70. garbage.40'><img src="image?bookID=0123&pageID=40&paraID=1&x=103&y=454&h=696&w=70" display="100%"></p>
上記ＨＴＭＬコードは、上記パラグラフと同じ文章を内容とするイメージセグメントを取り出し、テキストセグメントの代わりに該イメージセグメントを表示する。上記bookIDは、文書生成モジュール３３０によって該文書内にハード的にコード化（hardcode）され得る。この閾値はユーザによって設定し得るか、又は該文書内にプリセットされ得る。
【００４２】
ユーザは、また、該文書がテキストセグメント又はイメージセグメントを表示するかを特定することができる。例えば、ユーザはテキストセグメントをアクティブ化するためにキーボード又はポインティングデバイスを使用することができ、若しくはタッチ感知スクリーン上のテキストセグメントをタップすることができる。ユーザの選択に応じて、制御モジュール１３２は、テキストセグメントとそれに対応するイメージセグメントとの間で表示を動的にトグル式に切り換える。表示がテキストセグメントからイメージセグメントに切り換えられるとき、制御モジュール１３２は、該イメージセグメントをユニークに識別する情報（例えばページ番号、パラグラフ番号、バインディングボックスなど）を用いて文書供給システム１３０に該イメージセグメントをリクエストし、ウェブページに該イメージセグメントのイメージタグを挿入し、ＯＣＲ認識されたテキストに代えて該イメージセグメントをユーザに表示する。表示されないとしても、ユーザがトグルバックしたときにそれに対応するテキストが容易に表示され得るように、テキストセグメントはローカル・バリアブル（変数）内に記憶される。
【００４３】
典型的には、イメージセグメントが表示されるとき、制御モジュール１３２はディスプレイが１００％であるように構成し、画面スクリーンの全幅を満たすようにイメージセグメントがサイズ修正されるべきであることを示す。しかし、１テキストセグメント（例えば短い言葉又は「第１章］のようなタイトルライン）が非常に短いとき（例えば１行の５０％未満）、制御モジュールは画面スクリーン幅に対して同様の比率で該イメージを表示するように構成され得る。
文書供給システムのための方法の概観
【００４４】
図４は、一実施例に従い、ユーザによって見るためにクライアント装置１４０に文書を相互作用的に提供するための文書供給システム１３０用の方法４００を図示する流れ図である。その他の実施例として、該方法４００の各ステップを図示とは異なる順序で実行することもできる。更に、その他の実施例として、本書で述べたものとは異なる及び／又は追加のステップを含んでいてもよい。文書供給システム１３０は、方法４００の各ステップの複数のインスタンスを同時に及び／又は並行して実行することができる。
【００４５】
最初に、文書供給システム１３０は、ＯＣＲ認識されたテキスト、イメージ、関連情報（例えば位置情報、信頼性レベル）をＯＣＲエンジン１２０から受信する（４１０）。文書供給システム１３０は、各ＯＣＲ認識されたテキストセグメント毎のがらくた度スコアを（例えばテキスト評価エンジン３１０を通して）計算し（４２０）、文書内に含まれるべき制御モジュール１３２を（例えばコード発生モジュール３２０を通して）生成する（４３０）。
【００４６】
文書供給システム１３０は、出版物の一部分（例えば本の一章）のリクエストをクライアント装置１４０から受信し（４４０）、該リクエストされた部分を構成する複数テキストセグメントをデータ記憶部３５０から取り出し、該テキストセグメントを含むウェブページのような文書を生成する（４５０）。これらのテキストセグメントには位置情報及びがらくた度スコアを含む関連属性のタグが付けられる。生成した文書はまた制御モジュール１３２を含む。文書供給システム１３０は、生成した文書を、それをリクエストしたクライアント装置１４０に送信する（４６０）。
【００４７】
上述のように、ユーザは対応するテキストセグメントに代えてイメージセグメントを見るために、該文書と相互作用することができる。クライアント装置１４０で実行される制御モジュール１３２は或るイメージセグメントを表示するようリクエストを受信すると、該イメージセグメントをユニークに識別（特定）するパラメータを伴ってイメージリクエストを文書供給システム１３０に送信する。文書供給システム１３０は、該イメージリクエストを受信し（４７０）、該リクエストされたイメージセグメントを取り出し（４８０）、表示のためにクライアント装置１４０に送信する（４９０）。該イメージリクエストは、該文書を表示する画面スクリーンの解像度のような付加的情報を提供してもよい。文書供給システム１３０は、そのような情報に基づいてイメージセグメントを処理し（例えばサイズ修正、解像度調整など）、その後、処理済のイメージセグメントを表示のためにクライアント装置１４０に送信する（４９０）ようにしてもよい。
制御モジュールのための方法の概観
【００４８】
図５は、一実施例に従い、文書内に含まれる制御モジュール１３２の動作５００を図示する流れ図である。制御モジュール１３２は、クライアント装置１４０での閲覧アプリケーション１４２（例えばウェブブラウザ）によって文書が表示されるときに、該アプリケーションによって実行される。別の実施例において、制御モジュール１３２の機能が、閲覧アプリケーション１４２それ自体によって提供される（例えばプラグイン・アプレットによって）。従って、制御モジュール１３２は、文書供給システム１３０によってクライアント装置１４０に送られる文書内に必ずしも含まれている必要はない。
【００４９】
図示のように、文書がロードされるとき、制御モジュール１３２は文書の表示を生成する（５１０）。上述のように、制御モジュール１３２は各テキストセグメントのがらくた度スコアを閾値と比較し、該テキストセグメント又はそれに対応するイメージセグメントを表示するか同化を決定する。
【００５０】
制御モジュール１３２は、表示されたセグメントへのユーザによる選択を監視し検出する（５２０）。制御モジュール１３２は、選択されたセグメントがテキストセグメントとして又はイメージセグメントとして現在表示されているかどうかを判定する（５３０）。表示されているセグメントがテキストセグメントであれば、制御モジュール１３２はそれに対応するイメージセグメントをリクエストし（５４０）、該リクエストしたイメージセグメントを受信し（５５０）、受信したイメージセグメントをテキストセグメントに代えて表示する（５６０）。そうでなければ、制御モジュール１３２はイメージセグメントのイメージタグをテキストセグメントで置き換える（５７０）。一実施例において、制御モジュール１３２は、表示されていないテキストセグメントを文書内にローカルに記憶しておき（例えば、ローカルのJavaScript（登録商標）バリアブル）、ユーザが次に表示をテキストに戻すよう切り換えるときに、文書供給システム１３０からテキストセグメントをリクエストして取り出す必要がないようにする。表示を切り換えた後、制御モジュール１３２は、ユーザ選択の監視に戻る。
実例
【００５１】
図６Ａ〜６Ｃは、本開示に係る一実施例に従い、文書と相互作用するユーザ体験を例示する画面ショットを示す図である。この例においては、該文書はウェブページである。図６Ａに示すように、アップル社（登録商標）のiPHONE（登録商標）クライアント装置を使用して、ユーザが「クリスマス・キャロル：過去のクリスマスの幽霊であること」と題するＯＣＲ認識された本に関して生成されたウェブページを取り出している。このウェブページは本の１２０〜１３０頁を内容とする。
【００５２】
ユーザはパラグラフ６１０のイメージセグメントを見ることを望み、該パラグラフの表示をタップする（叩く）。これに応じて、制御モジュール１３２はパラグラフ６１０のテキストセグメントを図６Ｂに示すように割れ目イメージ６２０に置き換える。この割れ目イメージ６２０は、「元の本の画像を読み込み中．．．（直前の画像に戻るためにはこの画像をタップして下さい。）」という文章を見せる。この割れ目イメージ６２０は、どう戻るかについての簡潔なガイドを提供するのと同時にユーザが動作を理解するのを手助けするようにデザインされている。例えば、クライアント装置１４０のネットワーク接続が貧弱な場合、パラグラフ６１０のオリジナルイメージを読み込むのに時間がかかるかもしれない。ユーザは割れ目イメージ６２０を叩いて動作をキャンセルしテキストセグメントの閲覧に戻ることができる。この割れ目イメージ６２０はまた感覚的な読み込み時間を減少させる手助けとなる。
【００５３】
イメージセグメント６３０が取り出されるとき、制御モジュール１３２は図６Ｃに示すようにテキストセグメントに代えてイメージセグメント６３０に交換する。その後ユーザが再びタップすると図６Ａに示すようにテキストセグメントに戻る。
【００５４】
上記説明のいくつかの部分は、アルゴリズム的処理又は動作に関する実施例を述べている。これらのアルゴリズムの説明および表現は、当該分野に精通する者により使用されて、自らの業務内容を当該分野に精通する他の者に最も効率的に伝えるための手段である。これらの動作を、機能的、計算的または論理的に説明したが、これらは、プロセッサによって実行される命令群からなるコンピュータープログラム又はそれと等価の電子回路を介して実装されることが理解される。更に、モジュールとして、これら動作の構成に言及することが、一般性を失わせることなく、時には便利であると証明されてもいる。説明された動作及びこれらに関連するモジュールはソフトウェア。ファームウェアあるいはそれらの組み合わせで実施され得る。
【００５５】
本書で使用する「一実施例」または「１つの実施例」とは、該実施例に関連した特定の要素、特徴、構造又は特性が少なくとも１つの実施例内に含まれることを意味する。本明細書における各所での「一実施例において」という表現の出現は、必ずしもそのすべてが同一の実施例を言及するものではない。
【００５６】
いくつかの実施例は、「結合された」又は「接続された」という表現を使用して述べられているかもしれない。これらの用語は、互いに類義語として意図されないことを理解されたい。例えば、いくつかの実施例は、２以上の要素が直接的に物理的に又は電気的に互いに接触していることを示すために、「接続された」の語を使用して述べているかもしれない。別の実施例は、２以上の要素が直接的に物理的に又は電気的に接触していることを示すために、「結合された」の語を使用して述べているかもしれない。しかし、「結合された」の語は、また、２以上の要素が直接的に互いに接触していないが、互いに協働又は相互作用していることを意味するものであってもよい。実施例はこれらの文脈に限定されない。
【００５７】
本書で使用されている「備える」「具備している」「含む」「含んでいる」「持つ」「持っている」の語又はその他の如何なるそれらの変形語は、非排他的な包摂をカバーしようとするものである。例えば、１組の要素を掲げてなるプロセス、方法、物又は装置は、必ずしもそれらの要素のみに限定されるものではなく、その他の明示的に掲げられていない要素又はそのようなプロセス、方法、物又は装置につきものその他の要素を含んでいてよい。更に、特に反対の意を表さない限り、「又は」とは、包括的な「又は」及び非排他的な「又は」のことである。例えば、Ａ又はＢという条件は、Ａが真（又は存在する）かつＢが偽（又は存在しない）、Ａが偽（又は存在しない）かつＢが真（又は存在する）、及びＡもＢも真（又は存在する）、のいずれか１つによって満足させられるものである。
【００５８】
加えて、「１」又は「或る」の使用は、本書中の実施例の構成要素及び成分を記述するために使用される。これは、単に便宜と、開示の一般性を与えるためになされる。この記述は１又は少なくとも１つを含むと読まれるべきであり、また、単一のとは、それが明らかにその反対を意味していない限り、複数も含む。
【００５９】
本書での開示を読解すると、この技術分野の熟練者は、ＯＣＲ認識されたテキストを表示するためのシステム及び処理についての更に追加の変形構成及び機能的設計が認識できるであろう。従って、特定の実施例及び応用が図示され説明されているが、本発明は、ここに説明した構成及び要素に正確に限定されるものではなく、添付の請求の範囲で定義される精神と範囲から逸脱することなく、当業者にとって明白な様々な変形、変更、変化が、ここに開示した方法及び装置の構成、動作、詳細においてなされ得る。
【図１】
0005324669.tif 000002
【図２】
0005324669.tif 000003
【図３】
0005324669.tif 000004
【図４】
0005324669.tif 000005
【図５】
0005324669.tif 000006
【図６Ａ】
0005324669.tif 000007
【図６Ｂ】
0005324669.tif 000008
【図６Ｃ】
0005324669.tif 000009