(57)【特許請求の範囲】
【請求項１】
固定フォーマット文書から解析されたデータに含まれる数式を識別し、前記数式を可変フォーマット・エレメントへと変換することを可能にする式検出方法であって、
固定フォーマット文書から解析されたデータ内の数式を示す式シードを識別するステップであって、式シードは、式の一部であることのインジケーションを持つテキスト・エレメントである、ステップと、
前記式シードの境界を定める式エリアを作成するステップと、
前記式シードの近くにある式エレメントを含めるように前記式エリアを拡張するステップであって、式エレメントは、式の一部である可能性のあるページ・エレメントである、ステップと、
前記式エリアにより取り込んだ前記式エレメントを、前記式エリアと重複する標準的テキストの行と相対する取り込んだ前記式エレメントの垂直方向の位置に基づいて、グループに置くステップと、
それぞれの前記グループに対して新たな式エリアを作成するステップと、
前記式エリアにより取り込んだ前記式エレメントのそれぞれと隣接するエレメントとの間の水平方向の間隔に基づいて、それぞれの前記式エリアを分離するステップと、
互いに少なくとも部分的に水平方向に重複する前記式エリアの組を選択するステップと、
ページの同じ行に現れる、選択された前記式エリアを合併するステップと
を含む式検出方法。
【請求項２】
請求項１に記載の式検出方法であって、式シードを識別する前記ステップは、数学フォントで表されるテキストを識別するステップを含む、式検出方法。
【請求項３】
請求項１に記載の式検出方法であって、式シードを識別する前記ステップは、選択された数学記号、選択された数学演算子、および選択された数学キーワードを識別するステップを含む、式検出方法。
【請求項４】
請求項１に記載の式検出方法であって、前記式エリアにより取り込んだ前記式エレメントを、前記式エリアと重複する標準的テキストの行と相対する取り込んだ前記式エレメントの垂直方向の位置に基づいて、グループに置く前記ステップは、
前記式エレメントのそばの標準的テキストの行の最上部の境界の上に現れる前記式エレメントを、第１グループに置くステップと、
前記式エレメントのそばの標準的テキストの前記行の最下部の境界の下に現れる前記式エレメントを、第２グループに置くステップと、
残りのそれぞれの前記式エレメントを、第３グループに置くステップと
を更に含む、式検出方法。
【請求項５】
請求項１に記載の式検出方法であって、前記式エリアにより取り込んだ前記式エレメントを、前記式エリアと重複する標準的テキストの行と相対する取り込んだ前記式エレメントの垂直方向の位置に基づいて、グループに置く前記ステップは、
標準的テキストの行の最上部の境界と交差する式エレメントの上に現れる前記式エレメントを、第１グループに置くステップと、
標準的テキストの行の最下部の境界と交差する式エレメントの下に現れる前記式エレメントを、第２グループに置くステップと、
残りのそれぞれの前記式エレメントを、第３グループに置くステップと
を更に含む、式検出方法。
【請求項６】
請求項１に記載の式検出方法であって、前記式エリアの組を選択する前記ステップは、選択された前記式エリアを垂直方向の位置により順序付けするステップを更に含む、式検出方法。
【請求項７】
請求項６に記載の式検出方法であって、前記式エリアの組を選択する前記ステップは、連続して順序付けされた２つの前記式エリアの間の垂直方向の間隔が、選択された距離スレッショルドを超えないときには、前記式エリアを共通の前記組に置くステップを更に含む、式検出方法。
【請求項８】
請求項１に記載の式検出方法であって、前記式エリアにより取り込んだ前記式エレメントのそれぞれと隣接するエレメントとの間の水平方向の間隔に基づいて、それぞれの前記式エリアを分離する前記ステップは、選択された距離スレッショルドに基づく、式検出方法。
【請求項９】
請求項８に記載の式検出方法であって、前記選択された距離スレッショルドは、評価されている前記式エレメントに基づいて変化する、式検出方法。
【請求項１０】
請求項１に記載の式検出方法であって、ページの同じ行に現れる、選択された前記式エリアを合併する前記ステップは、
それぞれの前記式エリアのそばに現れる標準的テキストを識別するステップと、
２つの前記式エリアのそばに現れる前記標準的テキストが同じであるとき、２つの前記式エリアはページの同じ行に現れると判定するステップと
を更に含む、式検出方法。
【請求項１１】
固定フォーマット文書に現れる式を検出するシステムであって、前記システムは、式検出エンジン・アプリケーションを含み、前記式検出エンジン・アプリケーションは、
固定フォーマット文書から解析されたデータ内の数式を示す式シードを識別し、式シードは、式の一部であることのインジケーションを持つテキスト・エレメントであり、
前記式シードの境界を定める式エリアを作成し、
前記式シードの近くにある式エレメントを含めるように前記式エリアを拡張し、式エレメントは、式の一部である可能性のあるページ・エレメントであり、
前記式エリアにより取り込んだ前記式エレメントを、前記式エリアと重複する標準的テキストの行と相対する取り込んだ前記式エレメントの垂直方向の位置に基づいて、グループに置き、
それぞれの前記グループに対して新たな式エリアを作成し、
前記式エリアにより取り込んだ前記式エレメントのそれぞれと隣接するエレメントとの間の水平方向の間隔に基づいて、それぞれの前記式エリアを分離し、
互いに少なくとも部分的に水平方向に重複する前記式エリアの組を選択し、
ページの同じ行に現れる、選択された前記式エリアを合併する
ように動作する、システム。
【請求項１２】
請求項１１に記載のシステムであって、前記式検出エンジン・アプリケーションは、数学フォントで表される文字列を式シードとして識別するように動作する、システム。
【請求項１３】
請求項１１に記載のシステムであって、前記式検出エンジン・アプリケーションは、選択された数学記号、選択された数学演算子、および選択された数学キーワードを式シードとして識別するように動作する、システム。
【請求項１４】
請求項１１に記載のシステムであって、前記式検出エンジン・アプリケーションは、
前記式エリアと重複する標準的テキストの行の最上部の境界の上に現れる前記式エレメントを、第１グループに置き、
前記式エリアと重複する標準的テキストの行の最下部の境界の下に現れる前記式エレメントを、第２グループに置き、
残りのそれぞれの前記式エレメントを、第３グループに置く
ように動作する、システム。
【請求項１５】
請求項１１に記載のシステムであって、前記式検出エンジン・アプリケーションは、
標準的テキストの行の最上部の境界と交差する式エレメントの上に現れる前記式エレメントを、第１グループに置き、
標準的テキストの行の最下部の境界と交差する式エレメントの下に現れる前記式エレメントを、第２グループに置き、
残りのそれぞれの前記式エレメントを、第３グループに置く
ように動作する、システム。
【請求項１６】
請求項１１に記載のシステムであって、前記式検出エンジン・アプリケーションは、
それぞれの前記式エリアのそばに現れる標準的テキストを識別し、
２つの前記式エリアのそばに現れる前記標準的テキストが同じであるとき、２つの前記式エリアはページの同じ行に現れると判定する
ように動作する、システム。
【請求項１７】
コンピューター実行可能命令を含むコンピューター可読媒体であって、前記コンピューター実行可能命令は、コンピューターにより実行されたときに、固定フォーマット文書から解析されたデータに含まれる数式を識別し、前記数式を可変フォーマット・エレメントへと変換することを可能にする式検出の方法を行わせ、前記方法は、
固定フォーマット文書から解析されたデータ内の数式を示す式シードを識別するステップであって、式シードは、式の一部であることのインジケーションを持つテキスト・エレメントである、ステップと、
前記式シードの境界を定める式エリアを作成するステップと、
前記式シードの近くにある式エレメントを含めるように前記式エリアを拡張するステップであって、式エレメントは、式の一部である可能性のあるページ・エレメントである、ステップと、
前記式エレメントのそばの標準的テキストの行の最上部の境界と交差する式エレメントの上に現れる前記式エレメントを、第１グループに置くステップと、
前記式エレメントのそばの標準的テキストの行の最下部の境界と交差する式エレメントの下に現れる前記式エレメントを、第２グループに置くステップと、
残りのそれぞれの前記式エレメントを、第３グループに置くステップと、
前記第１グループ、前記第２グループ、および前記第３グループのそれぞれに対して新たな式エリアを作成するステップと、
前記式エリアにより取り込んだ前記式エレメントのそれぞれと隣接するエレメントとの間の水平方向の間隔に基づいて、それぞれの前記式エリアを分離するステップと、
互いに少なくとも部分的に水平方向に重複する前記式エリアの組を選択するステップと、
それぞれの前記式エリアのそばに現れる標準的テキストを識別するステップと、
２つの前記式エリアのそばに現れる前記標準的テキストが同じであるとき、２つの前記式エリアはページの同じ行に現れると判定するステップと、
ページの同じ行に現れる、選択された前記式エリアを合併するステップと
を含む、コンピューター可読媒体。
【請求項１８】
請求項１７に記載のコンピューター可読媒体であって、式シードを識別する前記ステップは、数学フォントで表されるテキストを識別するステップを含む、コンピューター可読媒体。
【請求項１９】
請求項１７に記載のコンピューター可読媒体であって、式シードを識別する前記ステップは、選択された数学記号、選択された数学演算子、および選択された数学キーワードを識別するステップを含む、コンピューター可読媒体。
【請求項２０】
請求項１７に記載のコンピューター可読媒体であって、前記式エリアの組を選択する前記ステップは、選択された前記式エリアを垂直方向の位置により順序付けするステップを更に含む、コンピューター可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  可変フォーマット文書（flow format document）および固定フォーマット文書（fixed format document）は、広く用いられ、様々な目的を有する。可変フォーマット文書は、セクション、パラグラフ、コラム、およびテーブルなどのような複雑な論理フォーマッティング構造を用いて、文書を編成する。その結果として、可変フォーマット文書は柔軟性と変更の容易さとを提供して、文書が、頻繁に更新されることや大きい編集の対象となることのある文書と関連するタスクに適するようにされる。対照的に、固定フォーマット文書は、文字列（text runs）、パス（path）、およびイメージなどのような、基礎的物理レイアウト・エレメントを用いて文書を編成し、原型の外観を保つ。固定フォーマット文書は、首尾一貫し且つ正確なフォーマット・レイアウトを提供して、文書が、頻繁に又は広範に変更されない文書と関連するタスクに、または一様性が望まれるタスクに、適するようにされる。そのようなタスクの例は、文書のアーカイブ、高品質の複製、および商用の発行や印刷のためのソース・ファイルを含む。固定フォーマット文書は、しばしば、可変フォーマットのソース文書から作成される。固定フォーマット文書はまた、物理（例えば、紙）文書のデジタルの複製（例えば、スキャンや写真）を含む。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]  固定フォーマット文書の編集が望まれているが、可変フォーマットのソース文書を使用できないという状況では、固定フォーマット文書を可変フォーマット文書に変換する必要がある。変換は、固定フォーマット文書を解析することと、固定フォーマット文書の基礎的物理レイアウト・エレメントを、可変フォーマット文書で用いられる複雑な論理エレメントへと変換することとを含む。既存の文書変換器は、数式や数学表現などのような複雑なエレメントに遭遇すると、固定フォーマット文書のレイアウト（例えば、テキスト枠、行間隔、文字間隔、およびイメージ）の視覚的忠実性を保つように設計された基本的技術に頼るが、これは出力文書の可変性を犠牲にする。その結果として、可変フォーマット文書は限定されたものとなり、真に役立つ可変フォーマット文書にするためには、ユーザーが実質的に手動で再構築を行うことが必要となる。これらのこと及び他のことを考慮して、本発明がなされた。
【０００３】
[0003]  下記の簡単な概要は、以下の詳細な説明で更に説明する概念のうちの選択したものを、簡素化した形で紹介するものである。この簡単な概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を限定するために用いることを意図していない。
【０００４】
[0004]  式検出エンジンの１つの実施形態は、固定フォーマット文書を可変フォーマット文書に変換する変換プロセスの一部として、関連する式検出方法を行う。式検出エンジンは、数式の一部であり得るエレメントを識別すること、およびそれらのエレメントを、それらのエレメントの相対位置に基づいて式エリアへとグループ化することにより、初期の式エリアを作成する。式シード（formula seed）は、式の一部であることの何らかのインジケーションを持つテキスト・エレメントであり、例えば、数学的表現を表示するために独占的またはほぼ独占的に用いられるフォントで書かれた文字列や、数式で独占的またはほぼ独占的に用いられる数学演算子や記号やキーワードなどである。式シードが識別されると、式検出エンジンは、検出されたそれぞれの式のシードの周りに式エリア（即ち、境界）を定め、近接性に基づいて式シードと他のエレメントとをグループ化するように境界を拡張する。式エリアの境界ボックスに囲まれるページ・エレメントの全ては、取り込んだエレメントと見なされる。
【０００５】
[0005]  次に、式検出エンジンは、式エリアと周囲の何れもの標準的テキスト（即ち、数式の一部ではないテキスト・エレメント）との間での重複を除去するが、この除去では、標準的テキストと重複する式エリアを垂直方向の位置に基づいて細分し、水平方向の間隔に基づいて式エリアを分離する。式検出エンジンは、始めに、それぞれの式エリアを分析して、式エリアが標準的テキストの何れかのエリアと重複するか否かを判定する。式エリアが何れかの標準的テキストと重複する場合、式検出エンジンは、垂直方向の位置に基づいて、取り込んだエレメントをグループ化することにより、式エリアを分割する。新たな式エリアが、取り込んだエレメントの各グループの周りに作成される。式検出エンジンは、新たな式エリアを、標準的テキストとの重複に関して分析し、標準的テキストを含む何れの新たな式エリアも更に分割される。式エリアが分割されると、式検出エンジンは、取り込んだエレメント間の水平方向の間隔に従って、それぞれの式エリアを分離する。
【０００６】
[0006]  最後に、式検出エンジンは、近接性に基づいて何れの隣接する式エリアをも合併することにより、数式を流動性エレメントとして再構築する。式検出エンジンは、ページにおける別の行に現れる式エリアを合併することを避けるために、隣接するテキスト・エレメントの位置についての情報を用いる。水平方向で重複し（即ち、少なくとも部分的に垂直方向に整列されている）且つ選択された垂直方向の分離距離内にある式エリアは、合併候補としてグループ化される。式検出エンジンは、式エリア間の垂直方向の分離に従って合併候補を順序付け（例えば、ソート）し、２つの式エリアがまだ合併されておらず且つ別個の行にない場合には、合併候補の２つの式エリアを、新たな式エリアと置換する。
【０００７】
[0007]  添付の図面および後の説明で、１以上の実施形態の詳細を説明する。他の特徴および利点は、後の詳細な説明を読み、関連する図面を検討することにより、明らかになるであろう。後の詳細な説明は単なる例示であり、特許請求の範囲に記載の発明を限定するものではないことが、理解される。
【０００８】
[0008]  更なる特徴、態様、および利点は、後の詳細な説明、添付の特許請求の範囲、および付随する図面を参照することにより、更によく理解できるであろう。図面では、詳細を明瞭に示すために尺度を正確なものとしておらず、また、幾つかの図面を通して、同じ参照符号は同じエレメントを示す。
【図面の簡単な説明】
【０００９】
【図１】図１は、式検出エンジンを含むシステムを例示する。
【図２】図２は、文書プロセッサーの１つの実施形態の動作フローを示すブロック図である。
【図３】図３は、式検出方法の１以上の実施形態を示すフローチャートである。
【図４】図４は、式検出方法において用いられる初期の式エリアを作成するためのプロセスの１つの実施形態を示すフローチャートである。
【図５Ａ】図５Ａは、標準的テキストの連の中に現れる幾つかの数式および等式を含む固定フォーマット文書から解析されたデータの選択された位置へ適用される式シードを識別する例示のオペレーションを、グラフィックで示す。
【図５Ｂ】図５Ｂは、初期の式エリアを作成するプロセスの１つの実施形態からの例示のオペレーションをグラフィック的に示す。
【図６】図６は、式検出方法で用いられる、式エリアと標準的テキストとの間での重複を除去するためのプロセスの１つの実施形態を示すフローチャートである。
【図７Ａ】図７Ａ〜Ｄは、式検出方法の１つの実施形態で用いられる、式エリアと標準的テキストとの間での重複を除去するためのプロセスの１つの実施形態からの選択された例示のオペレーションを、グラフィックで示す。
【図７Ｂ】図７Ａ〜Ｄは、式検出方法の１つの実施形態で用いられる、式エリアと標準的テキストとの間での重複を除去するためのプロセスの１つの実施形態からの選択された例示のオペレーションを、グラフィックで示す。
【図７Ｃ】図７Ａ〜Ｄは、式検出方法の１つの実施形態で用いられる、式エリアと標準的テキストとの間での重複を除去するためのプロセスの１つの実施形態からの選択された例示のオペレーションを、グラフィックで示す。
【図７Ｄ】図７Ａ〜Ｄは、式検出方法の１つの実施形態で用いられる、式エリアと標準的テキストとの間での重複を除去するためのプロセスの１つの実施形態からの選択された例示のオペレーションを、グラフィックで示す。
【図８】図８は、式検出方法で用いられる、個々の式を再構築するプロセスの１つの実施形態を示すフローチャートである。
【図９Ａ】図９Ａ〜Ｂは、式検出方法で用いられる、個々の式を再構築するプロセスの１つの実施形態からの選択された例示のオペレーションを、グラフィックで示す。
【図９Ｂ】図９Ａ〜Ｂは、式検出方法で用いられる、個々の式を再構築するプロセスの１つの実施形態からの選択された例示のオペレーションを、グラフィックで示す。
【図１０】図１０は、式検出エンジンの実施形態を実行する例示のタブレット計算デバイスを示す。
【図１１】図１１は、式検出エンジンの実施形態の実施に適した例示の計算デバイスの簡素化したブロック図である。
【図１２Ａ】図１２Ａは、式検出エンジンの１つの実施形態を実行するモバイル計算デバイスの１つの実施形態を示す。
【図１２Ｂ】図１２Ｂは、式検出エンジンの実施形態の実施に適した例示のモバイル計算デバイスの簡素化したブロック図である。
【図１３】図１３は、式検出エンジンの実施形態の実施に適した例示の分散型計算システムの簡素化したブロック図である。
【発明を実施するための形態】
【００１０】
[0009]  固定フォーマット文書から抽出したデータにおける数式および数学的表現を識別するための式検出エンジンおよび関連する方法を、ここで説明し、付随する図面に例示する。式検出エンジンは、式シードを識別することにより、固定フォーマット文書の部分内の式の位置を突き止める。式検出エンジンは、式エリアを定めるために式シードの周りに境界を定め、拡張する。周りの標準的テキストとの重複を除去するために、式エリアは、取り込んだエレメント間の垂直方向の位置と水平方向の間隔とに基づいて、複数の式エリアへと分割される。結果として得られる垂直方向に順序付けされた式エリアと水平方向に重複する式エリアとは合併され、流動性エレメントとして式が再構築される。
【００１１】
[0010]  図１は、式検出エンジン１００を組み込んだシステムの１つの実施形態を示す。例示の実施形態では、式検出エンジン１００は、計算デバイス１０４で実行される文書変換器１０２の一部として動作する。文書変換器１０２は、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４を用いて、固定フォーマット文書１０６を可変フォーマット文書１０８へと変換する。パーサー１１０は、固定フォーマット文書１０６からデータを読み取って抽出する。固定フォーマット文書から抽出されたデータは、文書プロセッサー１１２およびシリアライザー１１４のアクセスできるデータ・ストア１１６へ書き込まれる。文書プロセッサー１１２は、１以上の検出および／または再構築エンジン（例えば、本発明の式検出エンジン１００）を用いて、データを分析し、流動性エレメントへと変換する。最後に、シリアライザー１１４は、流動性エレメントを可変フォーマット文書（例えば、ワード・プロセッシング・フォーマット）へ書き込む。
【００１２】
[0011]  図２は、文書プロセッサー１１２の動作フローの１つの実施形態を詳細に示す。文書プロセッサー１１２は、オプションの光学式文字認識（ＯＣＲ）エンジン２０２と、レイアウト分析エンジン２０４と、セマンティック分析エンジン２０６とを含む。データ・ストア１１６に含まれるデータは、物理レイアウト・オブジェクト２０８と論理レイアウト・オブジェクト２１０とを含む。幾つかの実施形態では、物理レイアウト・オブジェクト２０８と論理レイアウト・オブジェクト２１０とは、木状のグループ（即ち、データ・オブジェクト）のアレイに、階層的に配される。様々な実施形態において、ページは、物理レイアウト・オブジェクト２０８に関する最上レベルのグループであり、セクションは、論理レイアウト・オブジェクト２１０に関する最上レベルのグループである。固定フォーマット文書１０６から抽出されたデータは、固定フォーマット文書１０６に含まれるページにより組織化される物理レイアウト・オブジェクト２０８として記憶されるのが通常である。基礎的な物理レイアウト・オブジェクトは、文字列、イメージ、およびパスを含む。文字列は、固定フォーマット文書を表示するときに文字が描かれた位置を示す、ページ・コンテンツ・ストリームにおけるテキスト・エレメントである。イメージは、固定フォーマット文書１０６に格納されるラスター・イメージ（即ち、ピクチャー）である。パスは、ベクトル・グラフィックスを作成するために用いられる線、曲線（例えば、立方ベジエ曲線）、およびテキスト輪郭などのようなエレメントを記述する。論理データ・オブジェクトは、セクション、パラグラフ、コラム、およびテーブルなどのような流動性エレメントを含む。
【００１３】
[0012]  処理を開始する場所は、解析されている固定フォーマット文書１０６のタイプに応じたものとなる。可変フォーマットのソース文書から直接に作成されたネイティブの固定フォーマット文書１０６ａは、幾つか又は全ての基礎的物理レイアウト・エレメントを含む。一般に、データはネイティブの固定フォーマット文書から抽出される。埋め込まれたデータ構造は、パーサーにより抽出され、文書変換器による即座の使用を可能とされる。しかし、幾つかの場合には、データを編成または標準化するために、少しの再フォーマット処理やその他の処理が適用される。対照的に、物理文書をデジタル的にイメージ化すること（例えば、スキャニングや写真撮影）により作成されたイメージ・ベースの固定フォーマット文書１０６ｂにおける全ての情報は、付加データ無しで（即ち、文字列やパス無しで）一連のページ・イメージとして格納される。この場合、オプションの光学式文字認識エンジン２０２は、それぞれのページ・イメージを分析し、対応する物理レイアウト・オブジェクトを作成する。物理レイアウト・オブジェクト２０８が使用可能にされると、レイアウト分析エンジン２０４は、固定フォーマット文書のレイアウトを分析する。レイアウト分析が完了した後、セマンティック分析エンジン２０６は、物理レイアウト・オブジェクトおよび／または論理レイアウト・オブジェクトの分析から得られたセマンティック情報を用いて、論理レイアウト・オブジェクトを充実したものにする。
【００１４】
[0013]  図３は、式検出エンジン１００により実行される式検出方法３００の１つの実施形態を示すフロー図である。式検出エンジン１００は、物理レイアウト・オブジェクト内における数式の一部で有り得るエレメントを識別すること、およびそれらのエレメントの相対的な位置に基づいてそれらのエレメントを式エリアへとグループ化することにより、初期の式エリアを作成する(３０２)。次に、式検出エンジン１００は、標準的テキストと重複する式エリアを細分すること、および水平方向の間隔に基づいて式エリアを分離することにより、式エリアと周りの何れもの標準的テキスト（即ち、数式の一部ではないテキスト・エレメント）との間での重複を除去する(３０４)。最後に、式検出エンジン１００は、近接性に基づいて何れもの隣接する式エリアを合併することにより、数式を流動性エレメントとして再構築する(３０６)。
【００１５】
[0014]  図４は、式検出方法３００で用いられる初期の式エリアを作成するプロセス３０２の１つの実施形態を示すフロー図である。式検出エンジン１００は、始めに、解析したエレメントにおける式シードを識別する(４０２)。最も一般的には、式シードは、式の一部であることの何らかのインジケーションを持つテキスト・エレメントである。式シードを識別するために、式検出エンジン１００は、限定ではないが、数学的表現を表示するために独占的またはほぼ独占的に用いられるフォントで書かれた文字列や、数式で独占的またはほぼ独占的に用いられる数学演算子や記号やキーワードのうちの、１以上のものを捜す。
【００１６】
[0015]  例えば、ワード・プロセッサーは、式を、マイクロソフト（登録商標）・コーポレーションのＣａｍｂｒｉａ（登録商標）  Ｍａｔｈなどのような数学フォントを用いて表すことができ、ドキュメント準備システム（例えば、ＬａＴｅＸ）は、Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ数学フォントなどのような複数のフォント・ファミリーを用いることができる。式検出エンジン１００はまた、式シードを識別するために、数学演算子、記号、およびキーワードの存在を考慮する。なぜなら、幾つかの文書プロセッサーは、何れの数学用の特別の数学フォントも用いないからである。式の検出に用いられる数学演算子、記号、またはキーワードの例は、「Σ」や
【００１７】
【数１】
0005974115.tif 000002
【００１８】
などのような演算子や、「π」などのような記号や、コサイン関数を表す「ｃｏｓ」などのようなキーワードを含む。一般に、式検出エンジン１００は、標準的言語では意味を有さないキーワード（例えば、「ｔａｎ」）を用いる。様々な実施形態では、式シードを識別するために用いられるフォントは、限定ではないが、Ｃａｍｂｒｉａ（登録商標）  Ｍａｔｈ、Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ  ｍａｔｈ  ｉｔａｌｉｃ（ｃｍｍｉ）、Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ  ｍａｔｈ  ｂｏｌｄ  ｉｔａｌｉｃ（ｃｍｍｉｂ）、Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ  ｍａｔｈ  ｅｘｔｅｎｓｉｏｎ（ｃｍｅｘ）、Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ  ｍａｔｈ  ｓｙｍｂｏｌｓ（ｃｍｓｙ）、Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ  ｂｏｌｄ  ｍａｔｈ  ｓｙｍｂｏｌｓ（ｃｍｂｓｙ）、Ａｍｅｒｉｃａｎ  Ｍａｔｈ  Ｓｏｃｅｉｔｙ  ｅｘｔｒａ  ｍａｔｈ  ｓｙｍｂｏｌｓ−第１シリーズ（ｍａｓｍ）、Ａｍｅｒｉｃａｎ  Ｍａｔｈ  Ｓｏｃｅｉｔｙ  ｅｘｔｒａ  ｍａｔｈ  ｓｙｍｂｏｌｓ−第２シリーズ（ｍｓｂｍ）、ｅｘｔｅｎｄｅｄ  ｓｅｔ  ｏｆ  ｉｎｔｅｇｒａｌｓ  ｆｏｒ  Ｃｏｍｐｕｔｅｒ  Ｍｏｄｅｒｎ（ｅｓｉｎｔ）、ＭａｔｈＴｉｍｅ  ＴｅＸ  ｍａｔｈ  ｉｔａｌｉｃ（ｍｔｍｉ）、ＭａｔｈＴｉｍｅ  ＴｅＸ  ｍａｔｈ  ｓｙｍｂｏｌｓ（ｍｔｓｙ）、ＭａｔｈＴｉｍｅ  ＴｅＸ  ｍａｔｈ  ｅｘｔｅｎｓｉｏｎ（ｍｔｅｘ）、およびＲｏｌａｎｄ  Ｗａｌｄｉ’ｓ  ｓｙｍｂｏｌｓ（ｗａｓｙ）のうちの幾つかまたは全てを含む。幾つかの実施形態では、式シードは、限定ではないが、式シードとして、Ｕｎｉｃｏｄｅの＃２２００〜＃２２ＦＦ（数学演算子）、＃２７Ｃ０〜＃２７ＥＦ（種々の数学記号−Ａ）、＃２９８０〜＃２９ＦＦ（種々の数学記号−Ｂ）、および＃２Ａ００〜＃２ＡＦＦ（補足の数学演算子）の範囲の文字または文字の組のうちの、幾つかまたは全てを含む。様々な実施形態において、式シードは、限定ではないが、ｄｅｔ、ｓｉｎ、ｃｏｓ、ｔｇ、ｔａｎ、ｃｔｇ、ｃｔａｎ、ｓｉｎｈ、ｃｏｓｈ、ｔａｎｈ、ｃｔａｎｈ、ｌｏｇ、ｌｎ、ｇｃｄ、ａｒｃｓｉｎ、ａｒｃｏｓ、ａｒｃｔａｎ、ｓｅｃ、ｃｓｃ、ｍａｘ、ｍｉｎ、ｉｎｆ、ｓｕｐ、ｌｉｍ、ｓｇｎ、ｅｘｐ、ｍｏｄ、およびｖａｒといったテキストのキーワードのうちの幾つかまたは全てを含む。
【００１９】
[0016]  式シードが識別されると、式検出エンジン１００は、検出したそれぞれの式シードの周りに式エリア（即ち、境界）を定める(４０４)。次に、式検出エンジン１００は、初期の式エリアを作成するために、式シードの周りの境界を拡張する、(４０６)。１つの実施形態では、数学エレメントの特性を有し且つ式シードの近くにあるページ・エレメントが残らなくなるまで、そのようなエレメントの全てを付加する。式エリアへページ・エレメントを含めるべきか否かを判断するために、式検出エンジン１００は、ページ・エレメントを数式エレメントであり得るものとして識別する特性を捜す。様々な実施形態において、式検出エンジン１００は、限定ではないが、式エリアからページ・エレメントまでのユークリッド距離と、ページ・エレメントのテキスト・フォントと、ページ・エレメントにおける数学演算子、記号、および／または数字（即ち、アラビア数字）の存在と、ページ・エレメントの寸法（即ち、標準的テキスト・エレメントより高いか広いか）とを含む特性を考慮する。式エリアの境界ボックスにより囲まれたページ・エレメントの全ては、取り込んだエレメントと見なされる。
【００２０】
[0017]  図５Ａは、固定フォーマット文書から解析されたデータ５００の選択された部分を、式検出エンジン１００により識別された式シード５０２ａ〜ｄの例と共に、グラフィックで示す。フォント５０２ａとして識別される式シードは、破線の矩形で囲まれ、数学演算子５０２ｂ、記号５０２ｃ、およびキーワード５０２ｄとして識別される式シードは、実線の楕円で囲まれている。
【００２１】
[0018]  図５Ｂは、式検出エンジン１００により作成された初期の式エリア５０４をグラフィックで示し、境界ボックスで輪郭を定めている。例示の実施形態では、結果は、１以上の数式を含む矩形により境界が定められた式エリアとなっている。複数の数式が互いに十分に離間している場合、それぞれの式エリアは１つの数式のみを含むこととなる。しかし、複数の数式が近接している場合、１つの式エリアが分離している複数の数式を含むこととなる。更に、１つの式エリアが複数の数式を含む場合、拡張された式エリアは、周りの標準的テキストと重複し得る。例示の実施形態では、拡張された式エリアは、複数の数式５０６を含んでおり、それらの数式の周りの標準的テキスト５０８と重複している。
【００２２】
[0019]  図６は、式検出方法３００で用いられる、式エリアと標準的テキストとの間での重複を除去するプロセス３０４の１つの実施形態を示すフロー図である。式検出エンジン１００は、始めに、それぞれの式エリアを分析して、式エリアが標準的テキストの何れかのエリアと重複するか否かを判定する(６００)。式エリアがいずれかの標準的テキストと重複する場合、式検出エンジン１００は、動作を継続して、取り込んだエレメントの垂直方向の位置に基づいて、それぞれの取り込んだエレメントをグループ化する(６０２)。取り込んだエレメントの新たなグループのそれぞれの周りに、新たな式エリアが作成される(６０４)。式検出エンジン１００は、新たな式エリアのコンテンツに対して、標準的テキストとの重複に関する分析を行い、標準的テキストを含む何れの新たな式エリアも、更に分割する。それぞれの新たな式エリアに対して反復的に分析、分離、および縮小を行うことにより、式検出エンジン１００は、式エリアがテキストの複数の行と重複するケースを処理することを、可能とする。式エリアが垂直方向にグループ化されると、式検出エンジン１００は動作を継続して、取り込んだエレメント間の水平方向の間隔に従って、それぞれの式エリアを分離する(６０６)。
【００２３】
[0020]  図７Ａ〜Ｄは、式検出方法３００で用いられ、初期の式エリア５０４へ適用される、式エリアと標準的テキストとの間での重複を除去するサブプロセス３０４をグラフィックで示す。図７Ａは、垂直方向の位置に基づいて初期の式エリア５０４の取り込んだエレメントをグループ化するために用いられる２つの水平方向デバイダー７００ａ、７０２ａにより分割された初期の式エリア５０４を示す。水平ライン７００ａ、７０２ａは、標準的テキストの行の高さに対応する。第１の水平ライン７００ａは、数式を含む標準的テキストの行の境界となるボックスの上側縁部（即ち、境界）に対応する。第２の水平ライン７０２ａは、数式を含む標準的テキストの行の境界となるボックスの下側縁部（即ち、境界）に対応する。
【００２４】
[0021]  デバイダー７００ａ、７０２ａは、初期の式エリア５０４を、上側領域７０４ａ、中間領域７０６ａ、および下側領域７０８ａに分割し、それらは、標準的テキストの行の上のエリア、行に一致するエリア、および行の下のエリアに対応する。第一次のデバイダー７００ａ、７０２ａのうちの一方が、取り込んだエレメントと交差する場合、式検出エンジン１００は、交差する取り込んだエレメントの最も高い部分および最も低い部分の上および下に、第二次の上側水平方向分割ライン７１０ａおよび第二次の下側水平方向分割ライン７１２ａを、必要に応じて確立する。第一次のデバイダー７００ａ、７０２ａが何れの取り込んだエレメントとも交差しない場合には、第二次のデバイダー７１０ａ、７１２ａを確立する必要がないことを、当業者であれば理解すべきである。代替的には、第二次のデバイダー７１０ａ、７１２ａを、第一次のデバイダー７００ａ、７０２ａと同一直線状のもの（collinear）にすることができる。
【００２５】
[0022]  式検出エンジン１００により確立された最も上の分割ライン７００ａ、７１０ａの完全に上にある取り込んだエレメントのみが、上側領域７０４ａに対応する第１グループに配される。例示の実施形態では、記号「ｎ」および「∞」のみが第１グループに属する。同様に、式検出エンジン１００により確立された最も下の分割ライン７０２ａ、７１２ａの完全に下にある取り込んだエレメントのみが、下側領域７０８ａに対応する第２グループに配される。例示の実施形態では、項「ｋ＝０」および「ｎ＝１」と、それらの項の下の行のテキスト、等式、および式とが、第２グループの一部となる。第１グループにも第２グループにも属さない取り込んだエレメントの全ては、中間領域７０６ａに対応する第３グループに配される。換言すると、第３グループは、完全に第一次デバイダー７００ａ、７０２ａの間にある取り込んだエレメント、第一次デバイダー７００ａ、７０２ａの一方または双方と交差する取り込んだエレメント、または交差する取り込んだエレメントと垂直方向に重複する取り込んだエレメントを含む。空のグループは放棄される。
【００２６】
[0023]  図７Ｂは、取り込んだエレメントの垂直方向の位置に基づいて、グループの周りに新たな式エリアを作成するオペレーション６０４を示す。初期の式エリア５０４から３つまでの新たな式エリアが作成される。式検出エンジン１００は、オプションとして、それぞれの新たな式エリアの寸法を、その中に取り込んだ全ての式エレメントを囲むために十分である適切な大きさへと、低減する。例示の実施形態では、初期の式エリア５０４は、３つの新たな式エリア７１４、７１６、および７１８へと細分されており、初期の式エリア５００は放棄されている。新たな式エリア７１４、７１６、および７１８のそれぞれは、重複識別オペレーション６００の対象となる。例示の実施形態では、上側の２つの新たな式エリア７１４、７１６は、更なる垂直方向の分割を必要としない。三番目の新たな式エリア７１８は、なおも、式エリアと標準的テキストとの間での垂直方向の重複を含む。従って、式検出エンジン１００は、三番目の新たな式エリア７１８に対して、垂直方向位置に関するオペレーション６０２および新たな式エリア作成に関するオペレーション６０４を行うことにより、グループ化を反復する。下側の分割ライン７０２ｂは、加算演算子と交差し、上側の分割ライン７００ｂは、平方根演算子および加算演算子と交差する。第二次の上側デバイダー７１０ｂが、最も高い交差する取り込んだエレメント（即ち、平方根演算子）の上に確立されることに、注意されたい。以前のように、デバイダー７００ｂ、７０２ｂは、式エリア７１８を、上側領域７０４ｂ、中間領域７０６ｂ、および下側領域７０８ｂへと分離する。式検出エンジン１００は、上述の様式で、式エリア７１８内の取り込んだエレメントを再びグループ化する。
【００２７】
[0024]  図７Ｃは、重複識別のオペレーション６００、垂直方向位置のオペレーション６０２によるグループ化、および新たな式エリア作成のオペレーション６０４を反復的に適用した最終的結果を示す。三番目の新たな式エリア７１８は、２つの新たな式エリア７２４、７２６へと分割されている。第１の式エリア７２４は式エリア７１８の上側領域７０４ｂに対応し、第２の式エリア７２６は式エリア７１８の中間領域７０６ｂに対応する。式エリア７１８の中間領域７０６ｂに対応する空のグループは、放棄されている。残った式エリア７２４、７２６の何れも、更なる垂直方向のグループ化を必要としない。
【００２８】
[0025]  図７Ｄは、取り込んだエレメント間での水平方向の間隔に基づいて式エリアを分離するオペレーション６０６を示す。式検出エンジン１００は、始めに、それぞれの式エリアを水平方向にスキャンして、式エリア内の連続する取り込んだエレメントの各ペアの間の水平方向の距離を決定する。幾つかの実施形態では、水平方向スキャンの向きは、文書の言語における読む方向に対応する。別の実施形態では、水平方向スキャンの向きは、文書の言語にかかわらず、左から右または右から左である。式検出エンジン１００は、選択されたスレッショルド距離より大きい距離だけ水平方向距離が離間する２つの連続する取り込んだエレメントの間で、式エリアを分割して新たな式エリアを作成する。様々な実施形態において、連続する取り込んだエレメントの間の水平方向距離は、ホワイトスペースから決定される。図７Ｄに示す点線７３０は、水平方向の分離が選択されたスレッショルドを超えるところを示す。幾つかの実施形態では、１つのスレッショルドが用いられる。別の実施形態では、スレッショルドは、周りのテキストに基づいて変化する。
【００２９】
[0026]  図８は、式ボックスをグループ化することにより個々の式を再構築するサブプロセス３０６の１つの実施形態を示す。式検出エンジン１００は、始めに、それぞれの式エリアの左側および右側に現れる標準的テキスト・エレメントの位置を突き止める(８００)。式検出エンジン１００は、隣接するテキスト・エレメントの位置についての情報を用いて、ページ上の複数の異なる行に現れる複数の式エリアを合併すること避ける。次に、式検出エンジン１００は、使用可能な式エリアから合併候補の組を作成する。水平方向で重複しており（即ち、少なくとも部分的に垂直方向に整列されており）且つ選択された垂直方向分離距離内にある式エリアは、合併候補としてグループ化される(８０２)。式検出エンジン１００は、複数の式エリアの間の垂直方向距離に従って、合併候補を順序付け（例えば、ソート）する。幾つかの実施形態では、合併候補は昇順にソートされる。別の実施形態では、合併候補は降順にソートされる。式検出エンジン１００は、ソートした合併候補の最初から最後までに対しての作業を行い、合併候補を構成する２つの式エリアを１つの新たな式エリアと置換する(８０６)。ただし、これは、２つの式エリアが既に１つの式エリアへと合併されておらず且つそれらの垂直方向位置が複数の別個の行の垂直方向位置と関連していないことを、条件とする。幾つかの実施形態では、複数の式エリアがページ上の同じ行内にあるか否かは、それぞれの式エリアの右側および／また左側の標準的テキストから判定される。それぞれの式エリアの右側または左側の標準的テキストが同じである場合、複数の式エリアは、ページ上の同じ行内にあると判定される。対照的に、式エリアの右側または左側の標準的テキストが異なるということは、複数の式エリアは、ページ上の複数の異なる行内にあることを示す。合併された式エリアの境界は、合併候補を構成する２つの式エリアの最大範囲により定められる。換言すると、新たな式エリアは、合併候補の上、下、左、および右の境界から、最も上、最も下、最も左、および最も右の境界を選択することにより、定められる。
【００３０】
[0027]  図９Ａおよび図９Ｂは、文字列５００へ適用される、個々の式を再構築するサブプロセス３０６からの選択されたオペレーションをグラフィックで示す。図９Ａは、合併候補へとグループ化された選択された式エリアを示す。第１の合併候補グループ９００ａは、式エリア９１４ａ、９１６ａ、および９２４ａを含む。第２の合併候補グループ９００ｂは、式エリア９１４ｂ、９１６ｂ、および９２４ｂを含む。式エリア９２４ａおよび９２４ｂは、それぞれ、式エリア９２６ａおよび９２６ｂとの合併候補ではない。なぜなら、垂直方向の分離距離が、選択されたスレッショルドを超えるからである。更に、式エリア９２６ａおよび９２６ｂは、それぞれ、合併グループ９００ａおよび９００ｂと合併されない。なぜなら、それらの間では、左側と右側との標準的テキストが異なる（即ち、それらの式エリアはページ上の異なる行にある）からである。図９Ｂは最終的な解を示し、４つの式９０２ａ〜ｄのそれぞれが、互いに且つ周りの標準的テキストから、適切に分離されている。
【００３１】
[0028]  ここでは、「エリア」、「境界」、「ボックス」という用語は、交換可能に用いられている。同様に、「ライン」および「デバイダー」という用語も交換可能に用いられている。ここに記載した境界およびデバイダーは、式検出方法の間に実際に視覚的に表現および／または表示する必要がないことを、当業者であれば理解すべきである。更に、境界およびデバイダーは、ボックスやラインに限定されない。境界およびデバイダーは、本発明の範囲および精神から離れずに、他の形状（例えば、曲線）とすることもできる。更に、境界およびデバイダーは、単に、座標または他の参照系を用いる。形状を意味する用語（例えば、矩形、ボックス、ライン、および楕円）は、限定と解釈すべきではなく、明細書で特に示さないかぎりは、適切に、任意の適切な境界やデバイダーを含むものとして広く解釈すべきである。
【００３２】
[0029]  ここで説明した式検出エンジンおよび関連する式検出方法は、固定フォーマット文書において現れるそれぞれの異なる数式を検出し、それぞれの識別された数式を可変フォーマット・エレメントへと変換するために、有用である。様々な実施形態において、式検出エンジンの出力は、シリアライズされる前に、文書プロセッサー内の追加のフォーマッティング・エンジンにより更に処理される。
【００３３】
[0030]  本発明は、コンピューターのオペレーティング・システム上で実行されるアプリケーション・プログラムと関連して実行されるプログラム・モジュールの一般的コンテキストで説明したが、本発明は他のプログラム・モジュールとの組み合わせでもインプリメントできることを、当業者であれば理解するであろう。一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを行ったり特定の抽象データ型をインプリメントしたりする他のタイプの構造を含む。
【００３４】
[0031]  ここで説明した実施形態および機能は、複数の計算システムを介して行うことができ、計算システムは、限定ではないが、デスクトップ・コンピューター・システム、有線およびワイヤレスの計算システム、モバイル計算システム（例えば、モバイル電話、ネットブック、タブレット型またはスレート型のコンピューター、ノートブック・コンピューター、およびラップトップ・コンピューター）、手持ち型デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブルの消費者向け電子製品、ミニコンピューター、およびメインフレーム・コンピューターを含む。図１０は、式検出エンジン１００の実施形態を実行する例示のタブレット計算デバイス１０００を示す。更に、ここで説明した実施形態および機能は、分散型システム（例えば、クラウド・ベースの計算システム）を介して行うことができ、その場合、アプリケーション機能、メモリ、データ・ストレージ、および取得および様々な処理の機能は、インターネットやイントラネットなどのような分散型計算ネットワークを介して、互いにリモートで行うことができる。様々なタイプのユーザー・インターフェースや情報を、オンボードの計算デバイス・ディスプレイを介して、または１以上の計算デバイスと関連するリモート・ディスプレイ・ユニットを介して、表示することができる。例えば、様々なタイプのユーザー・インターフェースや情報を、様々なタイプのユーザー・インターフェースや情報が表示される壁面に表示して、インタラクションすることができる。本発明の実施形態を実施できる複数の計算システムとのインタラクションは、キーストローク入力、タッチ・スクリーン入力、音声または他のオーディオ入力、ジェスチャー入力などを含み、ジェスチャー入力の場合、関連する計算デバイスは、計算デバイスの機能を制御するためのユーザーのジェスチャーを捕捉して解釈するための検出（例えば、カメラ）機能を備える。図１１ないし図１３と、関連する記載とは、本発明の実施形態を実施できる様々な動作環境の説明を提供する。しかし、図１１ないし図１３と関連して示され説明されるデバイスおよびシステムは、例示および例証のためのものであり、ここで説明した本発明の実施形態の実施に使用できる多数の計算デバイスの構成を限定するものではない。
【００３５】
[0032]  図１１は、本発明の実施形態を実施できる計算デバイス１１００の物理コンポーネント（即ち、ハードウェア）を示すブロック図である。下記で説明する計算デバイスのコンポーネントは、上記の計算デバイスに適切であり得る。基本的な構成では、計算デバイス１１００は、少なくとも１つの処理ユニット１１０２とシステム・メモリ１１０４とを含むことができる。計算デバイスの構成およびタイプに応じて、システム・メモリ１１０４は、限定ではないが、揮発性ストレージ（例えば、ランダム・アクセス・メモリ）、不揮発性ストレージ（例えば、リード・オンリー・メモリ）、フラッシュ・メモリ、またはそのようなメモリの任意の組み合わせを含むことができる。システム・メモリ１１０４は、ソフトウェア・アプリケーション１１２０、例えば、式検出エンジン１００、パーサー１１０、ドキュメント・プロセッサー１１２、およびシリアライザー１１４などを実行するために適するオペレーティング・システム１１０５および１以上のプログラム・モジュール１１０６を含むことができる。オペレーティング・システム１１０５は、例えば、計算デバイス１１００の動作の制御に適する。更に、本発明の実施形態は、グラフィックス・ライブラリー、他のオペレーティング・システム、または任意の他のアプリケーション・プログラムと関連して実施することができ、何れの特定のアプリケーションやシステムにも限定されない。この基本的な構成は、図１１において、破線１１０８内のコンポーネントにより示されている。計算デバイス１１００は、追加の特徴や機能を有することができる。例えば、計算デバイス１１００は、例えば、磁気ディスクや光ディスクやテープなどのような追加のデータ・ストレージ・デバイス（取り外し可能および／または取り外し不可能）も、含むことができる。そのような追加のストレージは、図１１では、取り外し可能ストレージ・デバイス１１０９および取り外し不可能ストレージ・デバイス１１１０として示されている。
【００３６】
[0033]  上述のように、多数のプログラム・モジュールおよびデータ・ファイルを、システム・メモリ１１０４に格納することができる。処理ユニット１１０２での実行中に、式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４などのようなプログラム・モジュール１１０６は、例えば、式検出方法３００のステージの１以上のものを含む処理を行うことができる。上記のプロセスは例であり、処理ユニット１１０２は他の処理を行うこともできる。本発明の実施形態に従って使用され得る他のプログラム・モジュールは、電子メールおよび連絡先アプリケーション、ワード・プロセッシング・アプリケーション、スプレッドシート・アプリケーション、データベース・アプリケーション、スライド・プレゼンテーション・アプリケーション、描画またはコンピューター支援アプリケーション・プログラムなどを、含むことができる。
【００３７】
[0034]  更に、本発明の実施形態は、個別の電子エレメント、論理ゲートを含むパッケージ化または集積された電子チップ、マイクロプロセッサーを用いる回路、または電子エレメントやマイクロプロセッサーを含むシングル・チップを含む電子回路で、実施することができる。例えば、本発明の実施形態は、システム・オン・チップ（ＳＯＣ）を介して実施することができ、その場合、図１１に示すコンポーネントのそれぞれ又は多くのものは、１つの集積回路に統合することができる。そのようなＳＯＣデバイスは、１以上の処理ユニット、グラフィックス・ユニット、通信ユニット、システム仮想化ユニット、および様々なアプリケーション機能を含むことがで、それらの全ては、チップ基板へ、１つの集積回路として集積（または「焼き付け」）される。ＳＯＣを介して動作を行うとき、式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４に関してここで説明した機能は、１つの集積回路（チップ）における計算デバイス１１００の他のコンポーネントと統合された特定アプリケーション向け論理を介して、行うことができる。本発明の実施形態はまた、限定ではないが、数学、光、流体、および量子の技術を含めての、例えば、ＡＮＤ、ＯＲ、ＮＯＴなどのような論理演算を行うことができる他の技術を用いて、実施することができる。更に、本発明の実施形態は、汎用コンピューター内や任意の他の回路やシステムで、行うことができる。
【００３８】
[0035]  計算デバイス１１００はまた、キーボード、マウス、ペン、音入力デバイス、タッチ入力デバイスなどのような、１以上の入力デバイス１１１２を有することができる。ディスプレイ、スピーカー、プリンターなどのような出力デバイス１１１４も、含むことができる。上記のデバイスは例であり、他のものを用いることもできる。計算デバイス１１００は、１以上の通信接続１１１６を含むことができ、他の計算デバイス１１１８との通信を可能にする。適切な通信接続１１１６の例は、限定ではないが、ＲＦの送信機、受信機、および／または送受信機の回路、ユニバーサル・シリアル・バス（ＵＳＢ）、パラレル・ポートまたはシリアル・ポート、および適用可能なコンピューター可読媒体との使用に適する他の接続を含む。
【００３９】
[0036]  本発明の実施形態は、例えば、コンピューター・プロセス（方法）、計算システム、または製造品、例えば、コンピューター・プログラム製品やコンピューター可読媒体などとして、インプリメントすることができる。コンピューター・プログラム製品は、コンピューター・システムにより読取可能であり且つコンピューター・プロセスを実行させるための命令のコンピューター・プログラムをエンコードしているコンピューター・ストレージ媒体とすることができる。
【００４０】
[0037]  ここでは、コンピューター可読媒体という用語は、コンピューター・ストレージ媒体と通信媒体とを含み得る。コンピューター・ストレージ媒体は、揮発性および不揮発性、および取り外し可能および取り外し不可能である媒体を含み得るものであり、その媒体は、コンピューター可読命令、データ構造、プログラム・モジュール、または他のデータなどのような情報を記憶するための任意の方法または技術で実現される。システム・メモリ１１０４、取り外し可能ストレージ・デバイス１１０９、および取り外し不可能ストレージ・デバイス１１１０は、全て、コンピューター・ストレージ媒体の例（即ち、メモリ・ストレージ）である。コンピューター・ストレージ媒体は、限定ではないが、ＲＡＭ、ＲＯＭ、電気的消去可能リード・オンリー・メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル・バーサタイル・ディスク（ＤＶＤ）、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または情報を記憶するために使用でき且つ計算デバイス１１００によりアクセスできる他の任意の媒体を含む。このようなコンピューター・ストレージ媒体の任意のものを計算デバイス１１００の一部とすることができる。
【００４１】
[0038]  通信媒体は、搬送波や他のトランスポート機構などのような変調されるデータ信号において、コンピューター可読命令、データ構造、プログラム・モジュール、または他のデータを実現するものであり、任意の情報配信媒体を含む。「変調されるデータ信号」という用語は、信号内において情報をエンコードするように、１以上の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などのような有線媒体と、音響、無線周波数（ＲＦ）、赤外線、および他のワイヤレス媒体などのようなワイヤレス媒体とを含む。
【００４２】
[0039]  図１２Ａおよび図１２Ｂは、本発明の実施形態を実施でき得るモバイル計算デバイス１２００、例えば、モバイル電話、スマート・フォン、タブレット型パーソナル・コンピューター、ラップトップ・コンピューターなどを示す。図１２Ａを参照すると、実施形態をインプリメントするための例示のモバイル計算デバイス１２００が示されている。基本的な構成では、モバイル計算デバイス１２００は、入力エレメントと出力エレメントとの双方を有する手持ち型コンピューターである。モバイル計算デバイス１２００は、典型的には、ディスプレイ１２０５と１以上の入力ボタン１２１０とを含み、ユーザーが情報をモバイル計算デバイス１２００へ入力することを可能にする。モバイル計算デバイス１２００のディスプレイ１２０５はまた、入力デバイス（例えば、タッチ・スクリーン・ディスプレイ）として機能することができる。オプションの側面の入力エレメント１２１５が含まれる場合、それは更なるユーザー入力を可能にする。側面の入力エレメント１２１５は、ロータリー・スイッチ、ボタン、または他の任意のタイプの手動入力エレメントとすることができる。代替の実施形態では、モバイル計算デバイス１２００には、より多くの又はより少ない入力エレメントが組み込まれる。例えば、幾つかの実施形態では、ディスプレイ１２０５がタッチ・スクリーンではないこともある。更に別の代替の実施形態では、モバイル計算デバイス１２００は、セルラー・フォンなどのようなポータブル電話システムである。モバイル計算デバイス１２００はまた、オプションのキーパッド１２３５を含むことができる。オプションのキーパッド１２３５は、物理的キーパッド、またはタッチ・スクリーン・ディスプレイ上に生成される「ソフト」キーパッドとすることができる。様々な実施形態において、出力エレメントは、グラフィカル・ユーザー・インターフェース（ＧＵＩ）を示すためのディスプレイ１２０５、視覚的インジケーター１２２０（例えば、発光ダイオード）、および／またはオーディオ・トランスジューサー１２２５（例えば、スピーカー）を含む。幾つかの実施形態では、モバイル計算デバイス１２００には、ユーザーへ触覚的フィードバックを提供するための振動トランスジューサーが組み込まれる。更に別の実施形態では、モバイル計算デバイス１２００には、外部デバイスとの間で信号の送信や受信を行うために、オーディオ入力（例えば、マイクロフォン・ジャック）、オーディオ出力（例えば、ヘッドフォン・ジャック）、およびビデオ出力（例えば、ＨＤＭＩ（登録商標）ポート）などのような、入力ポートおよび／または出力ポートが、組み込まれる。
【００４３】
[0040]  図１２Ｂは、モバイル計算デバイスの１つの実施形態のアーキテクチャーを示すブロック図である。即ち、モバイル計算デバイス１２００は、幾つかの実施形態をインプリメントするためのシステム（即ち、アーキテクチャー）１２０２を組み込むことができる。１つの実施形態では、システム１２０２は、１以上のアプリケーション（例えば、ブラウザー、Ｅメール、カレンダリング、連絡先マネージャー、メッセージング・クライアント、ゲーム、およびメディア・クライアント／プレーヤー）を実行することができる「スマート・フォン」としてインプリメントされる。幾つかの実施形態では、システム１２０２は、パーソナル・デジタル・アシスタント（ＰＤＡ）とワイヤレス・フォンとを統合したもののように、計算デバイスとして統合される。
【００４４】
[0041]  １以上のアプリケーション・プログラム１２６６は、メモリ１２６２へロードして、オペレーティング・システム１２６４で又はオペレーティング・システム１２６４と関連して、実行することができる。アプリケーション・プログラムの例は、電話ダイヤラー・プログラム、Ｅメール・プログラム、個人情報管理（ＰＩＭ）プログラム、ワード・プロセッシング・プログラム、スプレッドシート・プログラム、インターネット・ブラウザー・プログラム、メッセージング・プログラムなどを含む。システム１２０２はまた、メモリ１２６２内に不揮発性ストレージ・エリア１２６８を含む。不揮発性ストレージ・エリア１２６８は、システム１２０２がパワー・ダウンした場合に失われるべきではない永続的情報を格納するために、用いることができる。アプリケーション・プログラム１２６６は、不揮発性ストレージ・エリア１２６８内の情報、例えば、Ｅメール・アプリケーション・プログラムにより用いられるＥメールや他のメッセージなどのような情報を使用すること、および情報を不揮発性ストレージ・エリア１２６８に格納することができる。同期アプリケーション（示さず）もまた、システム１２０２に存在することができ、不揮発性ストレージ・エリア１２６８に格納された情報がホスト・コンピューターで格納された対応する情報と同期するように、ホスト・コンピューターに存在する対応する同期アプリケーションとインタラクションするようにプログラムされる。理解されているように、ここで説明された式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４を含む他のアプリケーションをメモリ１２６２へロードすることができ、モバイル計算デバイス１２００で実行することができる。
【００４５】
[0042]  システム１２０２は電源１２７０を有し、これは、１以上のバッテリーとしてインプリメントすることができる。電源１２７０は、更に、バッテリーを補うため又は再充電するためのＡＣアダプターや給電されるドッキング・クレードルなどのような、外部電源を含むことができる。
【００４６】
[0043]  システム１２０２はまた、無線周波数通信の送信および受信の機能を行う無線１２７２を含むことができる。無線１２７２は、システム１２０２と「外界」との間での、通信キャリアやサービス・プロバイダーを介してのワイヤレス接続を容易にする。無線１２７２から及び無線１２７２への伝送は、オペレーティング・システム１２６４の制御の下で行われる。換言すると、無線１２７２により受け取られる通信は、オペレーティング・システム１２６４を介してアプリケーション・プログラム１２６６へ配布され、また、その逆のことも行われる。
【００４７】
[0044]  無線１２７２は、システム１２０２がネットワークを介してなどにより他の計算デバイスと通信することを、可能にする。無線１２７２は、通信媒体の一例である。通信媒体は、典型的には、搬送波や他のトランスポート機構などのような変調されたデータ信号におけるコンピューター可読命令、データ構造、プログラム・モジュール、または他のデータにより実現され、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内において情報をエンコードするように、その信号の１以上の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などのような有線媒体と、音響、ＲＦ、赤外線、および他のワイヤレス媒体などのようなワイヤレス媒体とを含む。ここで用いられるコンピューター可読媒体という用語は、ストレージ媒体と通信媒体との双方を含む。
【００４８】
[0045]  システム１２０２のこの実施形態は、視覚的通知を提供するために使用できる視覚的インジケーター１２２０および／またはオーディオ・トランスジューサー１２２５を介して可聴通知を生成するオーディオ・インターフェース１２７４を用いて、通知を提供する。例示の実施形態では、視覚的インジケーター１２２０は発光ダイオードであり、オーディオ・トランスジューサー１２２５はスピーカーである。これらのデバイスは、電源１２７０へ直接に結合することができ、従って、作動させられたときには、たとえ電力を節約するためにプロセッサー１２６０および他のコンポーネントがシャット・ダウンされても、通知機構により命令された期間はオンにとどまる。ＬＥＤは、デバイスのパワー・オン状態を示すためのアクションをユーザーが起こすまで無期限に、オンにとどまるように、プログラムすることができる。オーディオ・インターフェース１２７４は、ユーザーへ可聴信号を提供するため、およびユーザーから可聴信号を受け取るために、用いられる。例えば、オーディオ・トランスジューサ１２２５へ結合されることに加えて、オーディオ・インターフェース１２７４はまた、電話での会話を容易にするためなどのために、可聴入力を受け取るようにマイクロフォンへ結合することができる。本発明の実施形態に従うと、マイクロフォンはまた、通知の制御を容易にするために、オーディオ・センサーとして働くことができ、これについては後に説明する。システム１２０２は更に、スチル・イメージ、ビデオ・ストリームなどを記録するためのオンボード・カメラ１２３０の動作を可能にするビデオ・インターフェース１２７６を、含むことができる。
【００４９】
[0046]  システム１２０２をインプリメントするモバイル計算デバイス１２００は、追加の特徴や機能を有することができる。例えば、モバイル計算デバイス１２００はまた、磁気ディスクや光ディスクやテープなどのような、追加のデータ・ストレージ・デバイス（取り外し可能および／または取り外し不可能）を含むことができる。そのような追加のストレージは、不揮発性ストレージ・エリア１２６８として図１２Ｂに示されている。コンピューター・ストレージ媒体は、揮発性および不揮発性、および取り外し可能および取り外し不可能である媒体を含み得るものであり、その媒体は、コンピューター可読命令、データ構造、プログラム・モジュール、または他のデータなどのような情報を記憶するための任意の方法または技術で実現される。
【００５０】
[0047]  モバイル計算デバイス１２００により作成またはキャプチャされ、システム１２０２を介して格納されたデータ／情報は、上述のようにモバイル計算デバイス１２００にローカルに格納することができ、また、データは、モバイル計算デバイス１２００と、モバイル計算デバイス１２００と関連する別個の計算デバイス、例えば、インターネットなどのような分散型計算環境におけるサーバー・コンピューターとの間で無線１２７２を介して又は有線接続を介して、デバイスによりアクセスできる任意の数のストレージ媒体に格納することができる。理解されるように、そのようなデータ／情報は、無線１２７２を介してモバイル計算デバイス１２００介して、または分散型計算ネットワークを介して、アクセスすることができる。同様に、そのようなデータ／情報は、電子メールや共同データ／情報共有システムを含む既知のデータ／情報の転送および格納の手段に従って、格納および使用するために計算デバイス間で容易に転送することができる。
【００５１】
[0048]  図１３は、式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４を、上述のように、１以上のクライアント・デバイスへ提供するためのシステムのアーキテクチャーの１つの実施形態を示す。式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４と関連して創出、インタラクション、または編集されたコンテンツは、異なる通信チャンネルまたは他のストレージ・タイプに格納することができる。例えば、様々な文書を、ディレクトリー・サービス１３２２、ウェブ・ポータル１３２４、メールボックス・サービス１３２６、インスタント・メッセージング・ストア１３２８、またはソーシャル・ネットワーク・サイト１３３０を用いて、格納することができる。式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４は、ここで説明するように、データの使用を可能にするために、これらのタイプのシステムなどのうちの任意のものを用いることができる。サーバー１３２０は、式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４を、クライアントへ提供することができる。一例として、サーバー１３２０は、ウェブを介して式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４を提供するウェブ・サーバーとすることができる。サーバー１３２０は、ウェブを介してネットワーク１３１５を通じてクライアントへ、式検出エンジン１００、パーサー１１０、文書プロセッサー１１２、およびシリアライザー１１４を提供することができる。例として、クライアント計算システム１３１８は、計算デバイス１１００としてインプリメントすることができ、パーソナル・コンピューター１３１８ａ、タブレット計算デバイス１３１８ｂ、および／またはモバイル計算デバイス１３１８ｃ（例えば、スマート・フォン）において実現することができる。クライアント計算システム１３１８のこれらの実施形態の何れのものも、ストア１３１６からコンテンツを得ることができる。
【００５２】
[0049]  本発明の実施形態は、例えば、本発明の実施形態に従った方法、システム、およびコンピューター・プログラムのブロック図および／または動作の実例を参照して、上記で説明された。ブロックにおいて表された機能／行動は、何れかのフローチャートに示された順ではない順で生じ得る。例えば、関係する機能／行動に応じて、連続して示される２つのブロックが実際には実質的に同時に行われることもあり、また、複数のブロックが場合によっては逆の順に行われることもある。
【００５３】
[0050]  本発明の特定の実施形態を説明したが、他の実施形態も存在し得る。更に、本発明の実施形態は、メモリや他のストレージ媒体に格納されたデータと関連するものとして説明したが、データはまた、ハード・ディスクやフロッピー（登録商標）・ディスクやＣＤ−ＲＯＭのような二次ストレージ・デバイス、インターネットからの搬送波、または他の形のＲＡＭやＲＯＭなどのような他のタイプのコンピューター可読媒体へ格納することや、他のタイプのコンピューター可読媒体から読み出すことができる。更に、開示された方法のステージは、本発明から離れずに任意の様式に変更することができ、変更は、ステージの並べ替えおよび／またはステージの挿入または削除を含む。
【００５４】
[0051]  様々な実施形態において、本発明を構成する計算デバイス間での通信に用いられるネットワークのタイプは、限定ではないが、インターネット、イントラネット、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、およびバーチャル・プライベート・ネットワーク（ＶＰＮ）を含む。本発明では、ネットワークは、エンタープライズ・ネットワークと、クライアント計算デバイスがエンタープライズ・ネットワークへアクセスするためのネットワーク（即ち、クライアント・ネットワーク）とを含む。１つの実施形態では、クライアント・ネットワークは、エンタープライズ・ネットワークの一部である。別の実施形態では、クライアント・ネットワークは、ゲートウェイやリモート・アクセス・プロトコルや公開または秘密のインターネット・アドレスなどのような外部で使用可能なエントリー・ポイントを通じてエンタープライズ・ネットワークへアクセスする別個のネットワークである。
【００５５】
[0052]  本出願で提供される１以上の実施形態の説明および例示は、特許請求の範囲に記載した発明の範囲を如何なるように限定することも制限することも意図していない。本出願で提供される実施形態、例、および詳細は、占有を伝えるため、および特許請求の範囲に記載の発明の最良の態様を他者が作成および使用することを可能にするために、十分であると考えられる。特許請求の範囲に記載の発明は、本出願で提供される何れかの実施形態、例、または詳細に限定されるものと解釈すべきではない。組み合わせで示され説明されているか別個に示され説明されているかにかかわらず、様々な特徴（構造と方法との双方）は、特定の特徴の組を持つ実施形態を作成するために、選択的に含ませることや削除することが意図されている。本発明の説明および例示を提供したが、特許請求の範囲に記載の発明の広い見地からの精神内にあり、且つ広い範囲から離れず本出願で具体化される普遍的発明概念内にある変形、変更、および代替の実施形態を、当業者は想像することができる。 
【図１】
0005974115.tif 000003
【図２】
0005974115.tif 000004
【図３】
0005974115.tif 000005
【図４】
0005974115.tif 000006
【図５Ａ】
0005974115.tif 000007
【図５Ｂ】
0005974115.tif 000008
【図６】
0005974115.tif 000009
【図７Ａ】
0005974115.tif 000010
【図７Ｂ】
0005974115.tif 000011
【図７Ｃ】
0005974115.tif 000012
【図７Ｄ】
0005974115.tif 000013
【図８】
0005974115.tif 000014
【図９Ａ】
0005974115.tif 000015
【図９Ｂ】
0005974115.tif 000016
【図１０】
0005974115.tif 000017
【図１１】
0005974115.tif 000018
【図１２Ａ】
0005974115.tif 000019
【図１２Ｂ】
0005974115.tif 000020
【図１３】
0005974115.tif 000021