(57)【要約】      （修正有）【課題】直線ではないことが多い手書き線によって区切られた、行および列を含む表を含む画像から、表の形状を決定する方法を提供する。【解決手段】画像処理の方法であって、表を含む画像を取得するステップ２０５と、画像において、第１の複数の幾何学線を特定するステップ２１５と、第１の複数の幾何学線を複数のクラスターに分類するステップ２２０と、画像において、複数のクラスターから表に相当する複数の手書き線を決定するステップ２３５と、複数の手書き線に関する複数の点を算出するステップ２４５と、複数の点に基づいて、表の形状を決定するステップ２５０と、を含む。【選択図】図２
2017151953.tif 000002
【特許請求の範囲】
【請求項１】
表を含む画像を取得するステップと、
前記画像において、第１の複数の幾何学線を特定するステップと、
前記第１の複数の幾何学線を複数のクラスターに分類するステップと、
前記画像において、前記複数のクラスターから前記表に相当する複数の手書き線を決定するステップと、
前記複数の手書き線に関する複数の点を算出するステップと、
前記複数の点に基づいて、前記表の形状を決定するステップと、
を含む画像処理方法。
【請求項２】
前記画像から前記複数の手書き線を削除するステップと、
前記複数の手書き線を削除した後、前記画像において、第２の複数の幾何学線を特定するステップと、
前記第２の複数の幾何学線を新たな複数のクラスターに分類するステップと、
前記新たな複数のクラスターに基づいて、前記表に相当する一つ以上の手書き線を決定するステップと、
前記一つ以上の手書き線の一つ以上の中点を算出するステップと、
をさらに含み、
前記表の形状は、前記一つ以上の手書き線の前記一つ以上の中点に基づいてさらに決定される請求項１に記載の方法。
【請求項３】
前記複数の手書き線のうちの一つの手書き線が、誤検出されたことを判断するステップと、
前記複数の点を算出する前に、前記複数の手書き線から前記手書き線を削除するステップと、
前記画像から前記手書き線を削除するステップと、
を含む請求項１または２に記載の方法。
【請求項４】
前記手書き線が、前記表におけるテキスト文字と交差する場合、または、前記手書き線における切れ目の数が所定の閾値を超える場合、前記手書き線は誤検出された手書き線である請求項３に記載の方法。
【請求項５】
前記第１の複数の幾何学線を分類するステップは、
前記第１の複数の幾何学線の第１のサブセットを横方向に分類するステップと、
前記第１の複数の幾何学線の第２のサブセットを縦方向に分類するステップと、
前記第１のサブセットにおける第１の幾何学線と、前記第１のサブセットにおける第２の幾何学線との交差を判断するステップと、
前記交差があると判断した場合、前記第１の幾何学線および前記第２の幾何学線を含む、前記複数のクラスターの第１のクラスターを生成するステップと、
を含む請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第１の複数の幾何学線を分類するステップは、
前記第１の幾何学線および前記第２の幾何学線からなるグループから選択される少なくとも一つの幾何学線と平行であり、当該少なくとも一つの幾何学線から画素で所定の閾値の範囲内にある、前記第１のサブセットにおける第３の幾何学線を決定するステップをさらに含み、
前記第１のクラスターは、前記第３の幾何学線をさらに含む請求項５に記載の方法。
【請求項７】
前記第１の複数の幾何学線は、前記画像の特徴に従って特定される請求項５または６に記載の方法。
【請求項８】
前記第１の複数の幾何学線を特定するステップは、前記画像にハフ変換を適用するステップを含む請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記複数の手書き線を決定するステップは、
前記複数のクラスターから一つのクラスターを選択するステップと、
前記クラスターにおいて、最大信頼値を有する幾何学線を特定するステップと、
前記クラスターにおける前記最大信頼値を有する前記幾何学線を用いて、前記画像における手書き線を見つけ出すステップと、
を含む請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記複数の点の各々は、前記複数の手書き線のうちの一つの手書き線の中点であり、
前記表の前記形状を決定するステップは、前記複数の点を通過する新たな幾何学線を生成するステップを含み、
同一の方向に向かう前記新たな幾何学線のうち任意の二つは、平行である請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記第１の複数の幾何学線を特定するステップの前に、前記画像をマスクに変換するステップと、
前記表の回転を相殺するために、前記画像を回転させるステップと、
を含む請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
画像処理をコンピューターに実行させるように構成されるコンピュータープログラムであって、当該画像処理は、
表を含む画像を取得するステップと、
前記画像において、第１の複数の幾何学線を特定するステップと、
前記第１の複数の幾何学線を複数のクラスターに分類するステップと、
前記画像において、前記複数のクラスターから前記表に相当する複数の手書き線を決定するステップと、
前記複数の手書き線に関する複数の点を算出するステップと、
前記複数の点に基づいて、前記表の形状を決定するステップと、
を含むコンピュータープログラム。
【請求項１３】
当該画像処理は、
前記画像から前記複数の手書き線を削除するステップと、
前記複数の手書き線を削除した後、前記画像において、第２の複数の幾何学線を特定するステップと、
前記第２の複数の幾何学線を新たな複数のクラスターに分類するステップと、
前記新たな複数のクラスターに基づいて、前記表に相当する一つ以上の手書き線を決定するステップと、
前記一つ以上の手書き線の一つ以上の中点を算出するステップと、
をさらに含み、
前記表の形状は、前記一つ以上の手書き線の前記一つ以上の中点に基づいてさらに決定される請求項１２に記載のコンピュータープログラム。
【請求項１４】
前記第１の複数の幾何学線を分類するステップは、
前記第１の複数の幾何学線の第１のサブセットを横方向に分類するステップと、
前記第１の複数の幾何学線の第２のサブセットを縦方向に分類するステップと、
前記第１のサブセットにおける第１の幾何学線と、前記第１のサブセットにおける第２の幾何学線との交差を判断するステップと、
前記第１の幾何学線および前記第２の幾何学線からなるグループから選択される少なくとも一つの幾何学線と平行であり、当該少なくとも一つの幾何学線から画素で所定の閾値の範囲内にある、前記第１のサブセットにおける第３の幾何学線を決定するステップと、
前記第１の幾何学線、前記第２の幾何学線および前記第３の幾何学線を含む、前記複数のクラスターの第１のクラスターを生成するステップと、
を含む請求項１２または１３に記載のコンピュータープログラム。
【請求項１５】
前記第１の複数の幾何学線は、前記画像の特徴に従って特定される請求項１４に記載のコンピュータープログラム。
【請求項１６】
前記第１の複数の幾何学線を特定するステップは、前記画像にハフ変換を適用するステップを含み、
前記複数の手書き線を決定するステップは、
前記複数のクラスターから一つのクラスターを選択するステップと、
前記クラスターにおいて、最大信頼値を有する幾何学線を特定するステップと、
前記クラスターにおける前記最大信頼値を有する前記幾何学線を用いて、前記画像における手書き線を見つけ出すステップと、
を含む請求項１２〜１５のいずれか一項に記載のコンピュータープログラム。
【請求項１７】
前記複数の点の各々は、前記複数の手書き線のうちの一つの手書き線の中点であり、
前記表の前記形状を決定するステップは、前記複数の点を通過する新たな幾何学線を生成するステップを含み、
同一の方向に向かう前記新たな幾何学線のうち任意の二つは、平行である請求項１２〜１６のいずれか一項に記載のコンピュータープログラム。
【請求項１８】
表を含む画像を蓄積するバッファーと、
前記画像において、第１の複数の幾何学線を特定する線抽出部と、
前記第１の複数の幾何学線を複数のクラスターに分類するクラスターエンジンと、
前記画像において、前記複数のクラスターから前記表に相当する複数の手書き線を決定し、前記複数の手書き線に関する複数の点を算出し、前記複数の点に基づいて、前記表の形状を決定する表エンジンと、
を有する画像処理システム。
【請求項１９】
前記線抽出部は、前記画像から前記複数の手書き線が削除された後、前記画像において、第２の複数の幾何学線をさらに特定し、
前記クラスターエンジンは、前記第２の複数の幾何学線を新たな複数のクラスターにさらに分類し、
前記表エンジンは、
前記新たな複数のクラスターに基づいて、前記表に相当する一つ以上の手書き線をさらに決定し、
前記一つ以上の手書き線の一つ以上の中点をさらに算出し、
前記表の形状は、前記一つ以上の手書き線の前記一つ以上の中点に基づいてさらに決定される請求項１８に記載のシステム。
【請求項２０】
前記クラスターエンジンは、
前記第１の複数の幾何学線の第１のサブセットを横方向に分類することと、
前記第１の複数の幾何学線の第２のサブセットを縦方向に分類することと、
前記第１のサブセットにおける第１の幾何学線と、前記第１のサブセットにおける第２の幾何学線との交差を判断することと、
前記第１の幾何学線および前記第２の幾何学線からなるグループから選択される少なくとも一つの幾何学線と平行であり、当該少なくとも一つの幾何学線から画素で所定の閾値の範囲内にある、前記第１のサブセットにおける第３の幾何学線を決定することと、
前記第１の幾何学線、前記第２の幾何学線および前記第３の幾何学線を含む、前記複数のクラスターの第１のクラスターを生成することと、
によって、前記第１の複数の幾何学線を分類する請求項１８または１９に記載のシステム。
【請求項２１】
前記第１の複数の幾何学線は、前記画像の特徴に従って特定される請求項２０に記載のシステム。
【請求項２２】
前記線抽出部は、前記画像にハフ変換を適用することによって、前記第１の複数の幾何学線を特定し、
前記表エンジンは、
前記複数のクラスターから一つのクラスターを選択することと、
前記クラスターにおいて、最大信頼値を有する幾何学線を特定することと、
前記クラスターにおける前記最大信頼値を有する前記幾何学線を用いて、前記画像における手書き線を見つけ出すことと、
によって、前記複数の手書き線を決定する請求項１８〜２１のいずれか一項に記載のシステム。
【請求項２３】
前記複数の点の各々は、前記複数の手書き線のうちの一つの手書き線の中点であり、
前記表の前記形状を決定することは、前記複数の点を通過する新たな幾何学線を生成することを含み、
同一の方向に向かう前記新たな幾何学線のうち任意の二つは、平行である請求項１８〜２２のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
画像は、手書きの線（手書き線）によって区切られた、行および列を含む表を含みうる。たとえば、画像は、手書きのページのスキャンでありうる。これらの手書き線が直線であることはほとんどないため、表の形状（たとえば、左上の角、範囲、行および列の数、セルの位置）を画像処理装置が判断することを困難にする。また、これらの手書き線は、電子文書（たとえば、ワープロ文書、スプレッドシート、スライドショー、ウェブページなど）に含まれうる表の、高レベルな表現の生成を困難にする。それにもかかわらず、ユーザーは依然、手書きの表に対して画像処理装置を動作させることを望んでいる。
【発明の概要】
【課題を解決するための手段】
【０００２】
概して、一態様では、本発明は、画像処理方法に関する。本方法は、表を含む画像を取得するステップと、前記画像において、第１の複数の幾何学線を特定するステップと、前記第１の複数の幾何学線を複数のクラスターに分類するステップと、前記画像において、前記複数のクラスターから前記表に相当する複数の手書き線を決定するステップと、前記複数の手書き線に関する複数の点を算出するステップと、前記複数の点に基づいて、前記表の形状を決定するステップと、を含む。
【０００３】
概して、一態様では、本発明は、画像処理をコンピューターに実行させるように構成されるコンピュータープログラムに関する。当該画像処理は、表を含む画像を取得するステップと、前記画像において、第１の複数の幾何学線を特定するステップと、前記第１の複数の幾何学線を複数のクラスターに分類するステップと、前記画像において、前記複数のクラスターから前記表に相当する複数の手書き線を決定するステップと、前記複数の手書き線に関する複数の点を算出するステップと、前記複数の点に基づいて、前記表の形状を決定するステップと、を含む。
【０００４】
概して、一態様では、本発明は、画像処理システムに関する。本システムは、表を含む画像を蓄積するバッファーと、前記画像において、第１の複数の幾何学線を特定する線抽出部と、前記第１の複数の幾何学線を複数のクラスターに分類するクラスターエンジンと、前記画像において、前記複数のクラスターから前記表に相当する複数の手書き線を決定し、前記複数の手書き線に関する複数の点を算出し、前記複数の点に基づいて、前記表の形状を決定する表エンジンと、を有する。
【０００５】
本発明の他の態様は、以下の説明および添付した特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１】本発明の一つ以上の実施形態に係るシステムを示す図である。
【図２】本発明の一つ以上の実施形態に係るフローチャートを示す図である。
【図３Ａ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｂ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｃ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｄ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｅ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｆ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｇ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図３Ｈ】本発明の一つ以上の実施形態に係る実施例を示す図である。
【図４】本発明の一つ以上の実施形態に係るコンピューターシステムを示す図である。
【発明を実施するための形態】
【０００７】
添付した図面を参照し、本発明の具体的な実施形態を詳細に説明する。異なる図面における同様の要素は、整合性のため、同様の参照番号で示す。
【０００８】
本発明の実施形態の以下の詳細な説明では、本発明のより完全な理解のために、数々の具体的な詳細を記載している。しかし、当業者には、これらの具体的な詳細がなくても、本発明が実施可能であることは明らかであろう。その他、説明が不必要に複雑になることを避けるために、よく知られた構成については、詳細に説明してしない。
【０００９】
概して、本発明の実施形態によれば、方法、コンピュータープログラムおよび画像処理システムを提供する。手書き線を含む表を含む画像が取得され、マスクに変換される。画像内の複数の幾何学的な線（幾何学線）が、（たとえば、画像にハフ変換（Ｈｏｕｇｈ  ｔｒａｎｓｆｏｒｍ）を適用することによって）特定され、クラスター化される。最も強い幾何学線（すなわち、それに寄与する最も多くのソースの画素を有するもの）が選択されて用いられ、表における手書き線の一つが決定される。決定された各々の手書き線に関して、中点が算出されうる。算出された中点を通過する、新たな横方向の幾何学線と、新たな縦方向の幾何学線とを用いて表を再構成することによって、表の形状（たとえば、左上の角、範囲、行および列の数、セルの位置）が決定されうる。また、高レベルな表のオブジェクト表現が生成され、電子文書（たとえば、ワープロ文書、スプレッドシート、スライドショー、ウェブページなど）に含めるためのアプリケーションに出力されてもよい。
【００１０】
図１は、本発明の一つ以上の実施形態に係るシステム（１００）を示す図である。図１に示すように、システム（１００）は、たとえば、バッファー（１０４）、線抽出部（１１４）、クラスターエンジン（１１０）および表エンジン（１０８）を含む、複数の構成要素を有する。これらの構成要素（１０４、１０８、１１０、１１４）の各々は、同一のコンピューター装置（たとえば、パーソナルコンピューター（ＰＣ）、ラップトップ、タブレットＰＣ、スマートフォン、複合プリンター、キオスク、サーバーなど）に搭載されてもよいし、有線および／または無線のセグメントを有する任意のサイズのネットワークによって接続された、異なるコンピューター装置に搭載されてもよい。これらの構成要素の各々について、以下で説明する。
【００１１】
本発明の一つ以上の実施形態では、システム（１００）は、バッファー（１０４）を含む。バッファー（１０４）は、ハードウェア（すなわち、電気回路）、ソフトウェア、またはこれらの任意の組み合わせに実装されうる。バッファー（１０４）は、任意の数の行および列を有する表を含む画像（１０６）を蓄積するように構成される。表の各セルは、テキストおよび／または図を含んでもよい。一つ以上の実施形態では、画像（１０６）における表は、手書きである。したがって、表の行および列を区切る手書き線は、完全に水平または完全に垂直ではない可能性がある。画像（１０６）は、任意のソースから取得（たとえば、ダウンロード）されてもよい。さらに、画像（１０６）は、任意のサイズおよび任意のフォーマット（たとえば、ＪＰＥＧ、ＧＩＦ、ＢＭＰ、ＰＮＧなど）であってもよい。
【００１２】
本発明の一つ以上の実施形態では、システム（１００）は、線抽出部（１１４）を含む。線抽出部（１１４）は、ハードウェア（すなわち、電気回路）、ソフトウェア、またはこれらの任意の組み合わせに実装されうる。線抽出部（１１４）は、画像における幾何学線、各幾何学線の（たとえば、横軸または縦軸に対する）角度、および、各幾何学線の信頼値（すなわち、画像における、幾何学線に寄与する画素の数）を特定する。本発明の一つ以上の実施形態では、線抽出部（１１４）は、画像（１０６）にハフ変換を適用して、幾何学線、幾何学線の角度および幾何学線の信頼値を特定する。本発明の一つ以上の実施形態では、線抽出部（１１４）は、線の特定処理を向上させるために、画像（１０６）における幾何学線を特定する前に、画像（１０６）をマスク（たとえば、二値画像）に変換する。本発明の一つ以上の実施形態では、線抽出部（１１４）は、表を横軸および／または縦軸により合わせるために、画像（１０６）における幾何学線を特定する前に、画像（１０６）を回転させる。
【００１３】
本発明の一つ以上の実施形態では、線抽出部（１１４）は、一つ以上の基準を満たさない幾何学線を取り除く。たとえば、幾何学線の信頼値が閾値と比較され、当該信頼値が閾値未満である場合に、幾何学線が取り除かれてもよい。閾値は、最も信頼されるＮ本の幾何学線の平均信頼値の割合Ｐとして計算されてもよい。換言すれば、平均信頼値は、最高の信頼値を有するＮ本の幾何学線について計算され、当該平均信頼値のＰ未満の信頼値を有する任意の幾何学線が、取り除かれる。たとえば、Ｐ＝５０％であり、Ｎ＝１０である。
【００１４】
本発明の一つ以上の実施形態では、システム（１００）は、クラスターエンジン（１１０）を含む。クラスターエンジン（１１０）は、ハードウェア（すなわち、電気回路）、ソフトウェア、またはこれらの任意の組み合わせに実装されうる。クラスターエンジン（１１０）は、線抽出部（１１４）から見つけ出された複数の幾何学線を、一つ以上のクラスターに分類するように構成される。幾何学線は、（ａ）画像の領域内のクラスターＣにおける任意の他の線と交差する場合、あるいは、（ｂ）Ｃにおける平行線のＫ画素内（すなわち、画素の所定の閾値の範囲内）にある場合、クラスターＣに属する。Ｋは、表におけるセルの最小許容サイズ（幅または高さ）に設定されてもよい。たとえば、Ｋ＝１０である。具体的には、クラスターエンジン（１１０）は、まず、各幾何学線を縦方向または横方向に分類してもよい。たとえば、０〜４５度の範囲内または１３５〜１８０度の範囲内の角度を有する任意の幾何学線は、横方向に分類されてもよい。逆に、上記の角度以外の角度を有する任意の幾何学線は、縦方向に分類されてもよい。そして、複数のクラスターが、幾何学的な横線および幾何学的な縦線について生成される。一つ以上の実施形態では、縦方向の幾何学線および横方向の幾何学線は、同一のクラスターに置かれない。
【００１５】
本発明の一つ以上の実施形態では、システム（１００）は、表エンジン（１０８）を含む。表エンジン（１０８）は、ハードウェア（すなわち、電気回路）、ソフトウェア、またはこれらの任意の組み合わせに実装されうる。表エンジン（１０８）は、画像（１０６）において、クラスターに基づいて表の手書き線を決定するように構成される。換言すれば、表エンジン（１０８）は、クラスターを用いて、表の手書き線の各々に相当する、画像（１０６）における画素を決定するように構成される。
【００１６】
一つ以上の実施形態では、各クラスターについて、表エンジン（１０８）は、最大の（すなわち、最高の）信頼値を有する幾何学線を選択する。この選択された幾何学線は、画像（１０６）において、手書き線の画素を見つけ出すために用いられる。これらの画素は、データ構造（たとえば、リスト）に追加され、画像（１０６）から削除されてもよい。また、表エンジン（１０８）は、データ構造におけるこれらの画素を用いて、手書き線に関する点（たとえば、中点、１／４点、１／３点など）を算出する。
【００１７】
本発明の一つ以上の実施形態では、手書き線が誤検出（すなわち、画像（１０６）において、実際には表の線ではない画素のグループ）であるかどうかを判断するために、様々な試験が適用される。たとえば、手書き線は、多数の切れ目を有するかどうか、あるいは、テキスト認識エンジンによってテキストとして特定された画素の領域と交差するかどうかを確認されうる。このような状況において、誤検出であると判断された手書き線は、画像（１０６）から削除されるが、その画素はデータ構造に追加されず、表エンジン（１０８）は、その中点、１／４点などを算出しない。
【００１８】
本発明の一つ以上の実施形態では、表エンジン（１０８）は、算出された点に基づいて、表の形状（たとえば、左上の角、範囲、行の数、列の数、セルの位置など）を決定する。具体的には、表エンジン（１０８）は、算出された点を通過する、新たな横方向の幾何学線と、新たな縦方向の幾何学線とを生成してもよい。同一の方向に向かう新たな幾何学線のうち任意の二つは、平行である。換言すれば、新たな横方向の幾何学線の全ては、平行である。同様に、新たな縦方向の幾何学線の全ては、平行である。これらの新たな幾何学線を用いて、これらの新たな幾何学線を互いに交差させることによって、表の形状が決定されうる。画像が以前に回転させられた場合には、新たに生成された幾何学線に逆回転を適用して、表の形状（たとえば、左上の角）を決定することが必要となりうる。
【００１９】
本発明の一つ以上の実施形態では、表エンジン（１０８）は、表を示す高レベルなオブジェクトを生成する。この高レベルなオブジェクトは、（たとえば、タグおよび属性を用いて）表の形状を特定しうる。また、この高レベルなオブジェクトは、（たとえば、光学文字認識（ＯＣＲ）またはインテリジェント文字認識（ＩＣＲ）によって、画像（１０６）におけるセルから抽出される）表のコンテンツを含んでもよい。一つ以上の実施形態では、高レベルなオブジェクトは、電子文書（たとえば、スプレッドシート、スライドショー、ワープロ文書、ウェブページなど）に含めるためのアプリケーションに出力されてもよい。
【００２０】
システム（１００）は、四つの構成要素（１０４、１０８、１１０、１１４）を有するように図示されるが、本発明の他の実施形態では、システム（１００）は、より多い構成要素、またはより少ない構成要素を有してもよい。また、上述された各構成要素の機能が、構成要素にわたって分割されてもよい。さらに、各構成要素（１０４、１０８、１１０、１１４）は、反復演算を実行するために、複数回用いられてもよい。
【００２１】
図２は、本発明の一つ以上の実施形態に係るフローチャートを示す図である。フローチャートは、画像処理の方法を示す。具体的には、フローチャートは、手書きの表の線を特定する方法を示す。図２におけるステップの一つ以上は、図１を参照して上述された、システム（１００）の構成要素によって実行されてもよい。本発明の一つ以上の実施形態では、図２に示すステップの一つ以上が、省略され、繰り返され、および／または、図２に示す順序とは異なる順序で実行されてもよい。したがって、本発明の範囲は、図２に示すステップの具体的な配置に限定されるとみなされるべきではない。
【００２２】
まず、表を含む画像が取得される（ステップ２０５）。画像は、任意のソースから取得（たとえば、ダウンロード）されてもよく、任意のサイズまたはフォーマットであってもよい。一つ以上の実施形態では、画像における表は、手書きである。換言すれば、表は、表の行および列を区切る手書き線を有する。これらの手書き線は、完全に直線ではない。さらに、表の各セルは、テキストおよび／または図を含んでもよい。
【００２３】
ステップ２１０では、画像がマスクに変換される。換言すれば、画像が二値画像に変換される。表の手書き線、および／または、セルにおけるテキスト文字に相当する画素が、１に設定される一方で、残りの全ての画素が、０に設定されてもよい。さらに、表を横軸および／または縦軸により合わせるために、表は回転させられてもよい。
【００２４】
ステップ２１５では、画像の特徴に従って、画像内において幾何学線が特定される。また、各幾何学線の（たとえば、横軸または縦軸に対する）角度、および、各幾何学線の信頼値（すなわち、画像における、幾何学線に寄与する画素の数）も特定される。本発明の一つ以上の実施形態では、幾何学線、幾何学線の角度、および、幾何学線の信頼値は、画像にハフ変換を適用することによって特定される。また、幾何学線を特定するために、他の変換が用いられてもよい。
【００２５】
本発明の一つ以上の実施形態では、一つ以上の基準を満たさない幾何学線は、取り除かれる。たとえば、幾何学線の信頼値が閾値と比較され、当該信頼値が閾値未満である場合に、幾何学線が取り除かれてもよい。閾値は、最も信頼されるＮ本の幾何学線の平均信頼値の割合Ｐとして計算されてもよい。換言すれば、平均信頼値は、最高の信頼値を有するＮ本の幾何学線について計算され、当該平均信頼値のＰ未満の信頼値を有する任意の幾何学線が、取り除かれる。
【００２６】
図２に示すように、ステップ２１５は、当該処理において複数回繰り返されてもよい。一つ以上の実施形態では、各々の反復に対して、同値のＰおよびＮが用いられてもよい。
【００２７】
ステップ２２０では、幾何学線がクラスターに分類される。幾何学線は、（ａ）画像の領域内のクラスターＣにおける任意の他の線と交差する場合、あるいは、（ｂ）Ｃにおける平行線のＫ画素内（すなわち、画素の所定の閾値の範囲内）にある場合、クラスターＣに属する。Ｋは、表におけるセルの最小許容サイズ（幅または高さ）に設定されてもよい。具体的には、このステップは、まず、各幾何学線を縦方向または横方向のいずれかに分類することを含んでもよい。たとえば、０〜４５度の範囲内または１３５〜１８０度の範囲内の角度を有する任意の幾何学線は、横方向に分類されてもよい。逆に、上記の角度以外の角度を有する任意の幾何学線は、縦方向に分類されてもよい。そして、複数のクラスターが、幾何学的な横線および幾何学的な縦線について生成される。一つ以上の実施形態では、縦方向の幾何学線および横方向の幾何学線は、同一のクラスターに置かれない。この詳細な説明の利益を有する当業者は、一つのクラスターが、画像における二つの異なる手書き線に相当する幾何学線を含みうることを理解するであろう。
【００２８】
ステップ２２５では、少なくとも一つのクラスターが存在するかどうかが判断される。少なくとも一つのクラスターが存在すると判断された場合、処理はステップ２３０に進む。一方で、クラスターが存在しない（たとえば、必要な基準を満たす幾何学線が、ステップ２１５で特定されなかった）と判断された場合、処理はステップ２４５に進む。
【００２９】
ステップ２３０では、各クラスターにおいて、最大の（すなわち、最高の）信頼値を有する幾何学線が選択される。ステップ２３５では、クラスターから選択された幾何学線を用いて、クラスターにつき、一つの手書き線が決定される。具体的には、選択された幾何学線は、画像において、手書き線に相当するものを見つけ出す（すなわち、画素を特定する）ために用いられる。これらの画素は、データ構造（たとえば、リスト）に追加される。一つ以上の実施形態では、手書き線が誤検出（すなわち、画像において、実際には表の線ではない画素のグループ）であるかどうかを判断するために、様々な試験が適用される。たとえば、手書き線は、多数の切れ目を有するかどうか、あるいは、テキスト認識エンジンによってテキストとして特定された画素の領域と交差するかどうかを確認されうる。このような場合、手書き線の画素は、データ構造に追加されない。
【００３０】
ステップ２４０では、誤検出された手書き線を含む決定された手書き線（すなわち、ステップ２３５で決定された手書き線）の画素が、画像から削除される（たとえば、０に設定される）。この詳細な説明の利益を有する当業者は、決定された手書き線を画像から削除した後、当該画像が、一つ以上の手書き線をさらに含みうることを理解するであろう。このことは、特に、クラスターの一つ（ステップ２２０）が、画像において、複数の手書き線に相当する幾何学線を含む場合に当てはまる。
【００３１】
ステップ２４５では、データ構造における手書き線の各々に関して、点が算出される。点は、手書き線の中点、１／４点などであってもよい。ステップ２５０では、算出された点に基づいて、表の形状（たとえば、左上の角、範囲、行の数、列の数、セルの位置など）が決定される。具体的には、表エンジン（１０８）が、算出された点を通過する、新たな横方向の幾何学線と、新たな縦方向の幾何学線とを生成してもよい。同一の方向に向かう新たな幾何学線のうち任意の二つは、平行である。換言すれば、新たな横方向の幾何学線の全ては、平行である。同様に、新たな縦方向の幾何学線の全ては、平行である。これらの新たな幾何学線を用いて、これらの新たな幾何学線を互いに交差させることによって、表の形状が決定されうる。画像が以前に回転させられた場合には、新たに生成された幾何学線に逆回転を適用して、表の形状（たとえば、左上の角）を決定することが必要となりうる。
【００３２】
本発明の一つ以上の実施形態では、表を示す高レベルなオブジェクトが生成される。この高レベルなオブジェクトは、（たとえば、タグおよび属性を用いて）表の形状を特定しうる。また、この高レベルなオブジェクトは、表のコンテンツ（たとえば、ＯＣＲまたはＩＣＲによって、画像におけるセルから抽出されるコンテンツ）を含んでもよい。一つ以上の実施形態では、高レベルなオブジェクトは、電子文書（たとえば、スプレッドシート、スライドショー、ワープロ文書、ウェブページなど）に含めるためのアプリケーションに出力されてもよい。
【００３３】
図３Ａ〜図３Ｈは、本発明の一つ以上の実施形態に係る実施例を示す図である。図３Ａに示すように、手書きの表（３０８）を含む画像（３０６）がある。具体的には、表（３０８）は、行および列を形成する手書き線を含んでいる。表（３０８）の各セルは、テキストを含んでいる。手書きの表（３０８）は、傾斜して書かれている（すなわち、横軸および／または縦軸に合わせられていない）。
【００３４】
図３Ｂは、マスク（たとえば、二値画像）に変換された後の画像（３１０）を示す。線およびテキスト文字に相当する全ての画素が１に設定される一方で、残りの全ての画素が０に設定されている。さらに、表を横軸および縦軸により合わせるために、表は回転させられている。
【００３５】
図３Ｃは、ハフ変換後の画像（３１２）を示す。ハフ変換は、画像内の複数の幾何学線を特定する。特定された幾何学線の多くは、行および列を区切る表の手書き線と関連している。また、ハフ変換は、特定された各幾何学線の（たとえば、横軸または縦軸に対する）角度、および、信頼値（すなわち、画像における、特定された幾何学線に寄与する画素の数）も特定する。
【００３６】
図３Ｄでは、特定された幾何学線が、縦方向または横方向のいずれかに分類された後、クラスターに分類されている。クラスターＡ〜Ｅが、縦方向の幾何学線を有している一方で、クラスターＸ〜Ｚは、横方向の幾何学線を有している。図３Ｄに示すように、大部分のクラスターは、表の行または列を区切る少なくとも一つの手書き線と関連している。さらに、クラスターＸは、二つの手書き線と関連している。しかし、クラスターＤは、誤検出の例である。クラスターＤは、表の行または列を区切る任意の手書き線と関連していない。
【００３７】
各クラスターについて、最高の信頼値を有する幾何学線が選択される。当該幾何学線は、クラスターと関連する手書き線の画素を決定するために用いられる。これらの画素は、リスト（図示せず）に追加され、画像から削除される。例外は、クラスターＤから決定された手書き線である。クラスターＤから決定された手書き線は、表におけるテキストと交差するため、削除されるが、そのリストには追加されない。
【００３８】
図３Ｅは、決定された手書き線および誤検出された手書き線の削除後の画像（３１６）を示す。図３Ｅに示すように、一つだけ残っている手書き線は、以前にクラスターＸと関連していた一つの手書き線である。幾何学線、幾何学線の角度および幾何学線の信頼値を特定するために、再度のハフ変換が画像に適用される。
【００３９】
図３Ｆでは、特定された幾何学線が、一つ以上のクラスターに分類される。図３Ｆに示すように、画像（３１８）には、一つのクラスター（クラスターＷ）のみがあり、当該クラスターは、残っている手書き線と関連している。最高の信頼値を有するクラスターＷにおける幾何学線は、クラスターＷと関連する手書き線を決定するために用いられる。決定された手書き線の画素は、リストに追加され、画像から削除される。
【００４０】
図３Ｇは、全ての手書き線の削除後の画像（３２０）を示す。図３Ｇに示すように、手書き線は残っていない。幾何学線、幾何学線の角度および幾何学線の信頼値を特定するために、三回目のハフ変換が画像に適用される。しかし、幾何学線はもはや見つからず、追加のクラスターも検出されない。続いて、手書き線のリストにおける手書き線の各々に関して、中点が算出されてもよい。
【００４１】
図３Ｈでは、表の形状（たとえば、左上の角、範囲、行の数、列の数、セルの位置など）を決定するために、手書き線の中点を通過する、新たな横方向の幾何学線、または新たな縦方向の幾何学線とが生成されている。さらに、元の画像における表の方向により合わせるために、新たに生成された幾何学線に、逆回転が適用されている。これらの新たな幾何学線を用いて、これらの新たな幾何学線を互いに交差させることによって、表の形状が決定されうる。
【００４２】
本発明の一つ以上の実施形態は、画像における手書きの表の形状を決定でき、表の行および列を形成する手書き線を決定でき、誤検出された手書き線を特定して削除でき、手書き線の中点、１／４点などを算出でき、手書き線の算出された点を通過する新たな幾何学線を用いて表の形状を決定でき、電子文書などに含めるための高レベルな画像のオブジェクト表現を生成できるという利点を有しうる。
【００４３】
本発明の実施形態は、用いられているプラットフォームに関わらず、事実上、あらゆる種類のコンピューターシステムに実装されうる。たとえば、コンピューターシステムは、一つ以上のモバイル機器（たとえば、ラップトップコンピューター、スマートフォン、携帯情報端末、タブレットコンピューターまたは他のモバイル機器）、デスクトップコンピューター、サーバー、サーバーシャーシにおけるブレード、または、本発明の一つ以上の実施形態を実施するための最低限の処理能力、メモリー、ならびに、入力装置および出力装置を少なくとも含む任意の他の種類の一つまたは複数のコンピューター装置であってもよい。たとえば、図４に示すように、コンピューターシステム（４００）は、一つ以上のコンピュータープロセッサー（４０２）、関連するメモリー（４０４）（たとえば、ランダムアクセスメモリー（ＲＡＭ）、キャッシュメモリー、フラッシュメモリーなど）、一つ以上の記憶装置（４０６）（たとえば、ハードディスク、コンパクトディスク（ＣＤ）ドライブまたはデジタル多目的ディスク（ＤＶＤ）ドライブなどの光学ドライブ、フラッシュメモリースティックなど）、ならびに、多くの他の構成要素および機能を含んでもよい。コンピュータープロセッサー（４０２）は、指示を処理する集積回路でありうる。たとえば、コンピュータープロセッサーは、一つ以上のコアまたはプロセッサーのマイクロコアであってもよい。また、コンピューターシステム（４００）は、タッチスクリーン、キーボード、マウス、マイクロホン、タッチパッド、電子ペンまたは任意の他の種類の入力装置などの、一つ以上の入力装置（４１０）を含んでもよい。さらに、コンピューターシステム（４００）は、スクリーン（たとえば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、タッチスクリーン、ブラウン管（ＣＲＴ）モニター、プロジェクターまたは他の表示装置）、プリンター、外部記憶装置または任意の他の出力装置などの、一つ以上の出力装置（４０８）を含んでもよい。出力装置の一つ以上は、入力装置と同じでもよいし、異なってもよい。コンピューターシステム（４００）は、ネットワークインターフェース接続（図示せず）を介して、ネットワーク（４１２）（たとえば、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどの広域ネットワーク（ＷＡＮ）、モバイルネットワークまたは任意の他の種類のネットワーク）に接続されてもよい。入力装置および出力装置は、局所的または遠隔的に（たとえば、ネットワーク（４１２）を介して）、コンピュータープロセッサー（４０２）、メモリー（４０４）および記憶装置（４０６）に接続されてもよい。多くの異なる種類のコンピューターシステムがあり、上記の入力装置および出力装置は、他の形態を取ってもよい。
【００４４】
本発明の実施形態を実施するためのコンピューター読取可能なプログラムコードの形態におけるソフトウェア指示は、ＣＤ、ＤＶＤ、記憶装置、ディスケット、テープ、フラッシュメモリー、物理メモリー、または、任意の他のコンピュータ読取可能な記憶媒体などの、非一時的なコンピューター読取可能な媒体上の、全体または一部に、一時的にまたは恒久的に記憶されてもよい。具体的には、ソフトウェア指示は、プロセッサーによって実行される際に、本発明の実施形態を実施するために構成される、コンピューター読取可能なプログラムコードに相当してもよい。
【００４５】
また、上記のコンピューターシステム（４００）の一つ以上の構成要素は、遠隔地に位置してもよく、ネットワーク（４１２）を介して、他の構成要素に接続されてもよい。さらに、本発明の一つ以上の実施形態は、複数のノードを有する分散システムに実装されてもよく、本発明の各部は、分散システム内の異なるノードに位置してもよい。本発明の一実施形態では、ノードは、異なるコンピューター装置に相当する。あるいは、ノードは、関連する物理メモリーを有するコンピュータープロセッサーに相当してもよい。あるいは、ノードは、共有されるメモリーおよび／またはリソースを有するコンピュータープロセッサー、または、コンピュータープロセッサーのマイクロコアに相当してもよい。
【００４６】
本発明を限定された数の実施形態に関して説明したが、本開示の利益を有する当業者は、本明細書に開示されるような本発明の範囲から逸脱しない他の実施形態が、考案されうることを理解するであろう。したがって、本発明の範囲は、添付した特許請求の範囲によってのみ限定されるべきである。
【図１】
2017151953.tif 000003
【図２】
2017151953.tif 000004
【図３Ａ】
2017151953.tif 000005
【図３Ｂ】
2017151953.tif 000006
【図３Ｃ】
2017151953.tif 000007
【図３Ｄ】
2017151953.tif 000008
【図３Ｅ】
2017151953.tif 000009
【図３Ｆ】
2017151953.tif 000010
【図３Ｇ】
2017151953.tif 000011
【図３Ｈ】
2017151953.tif 000012
【図４】
2017151953.tif 000013
【外国語明細書】
2017151953000001.pdf
2017151953000002.pdf
2017151953000003.pdf
2017151953000004.pdf