(57)【要約】【課題】画像処理方法を提供する。【解決手段】画像処理方法は、箇条書きリストを含むオリジナル画像を取得し、箇条書きリストを囲むリストバウンディングボックスを決定し、箇条書きリストのラインを囲むリストバウンディングボックス内に入れ子にされたラインバウンディングボックスを決定し、ラインバウンディングボックスに基づいてビュレットを識別し、ビュレットに基づいてインデントを識別し、インデントに基づいてオリジナル画像における箇条書きリストのための箇条書きリストオブジェクトを生成する。【選択図】図１
2017134822.tif 000002
【特許請求の範囲】
【請求項１】
箇条書きリストを有するオリジナル画像を取得するステップと、
前記箇条書きリストを囲むリストバウンディングボックスを決定するステップと、
前記箇条書きリストの複数の行を囲むリストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスを決定するステップと、
前記複数のラインバウンディングボックスに基づいて複数のビュレットを識別するステップと、
前記複数のビュレットに基づいて複数のインデントを識別するステップと、
前記複数のインデントに基づいて前記オリジナル画像における前記箇条書きリストのための箇条書きリストオブジェクトを生成するステップと、
を含む画像処理方法。
【請求項２】
前記リストバウンディングボックスを決定するステップは、
前記オリジナル画像に基づいて二値画像を生成するステップと、
第１の構造要素を有する第１の膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって第１の変換画像を生成するステップと、
前記第１の変換画像における第１の複数の輪郭を識別するステップと、
第１の輪郭閾値を超える第１の輪郭の基数を有する変換画像における領域を識別するステップと、を含む請求項１に記載の方法。
【請求項３】
前記二値画像を生成するステップは、
前記オリジナル画像の勾配画像を生成するステップと、
前記勾配画像に閾値処理を適用するステップと、を含む請求項２に記載の方法。
【請求項４】
前記複数のラインバウンディングボックスを決定するステップは、
前記第１の構造要素よりも小さい第２の構造要素を有する第２の膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって第２の変換画像を生成するステップと、
前記リストバウンディングボックスに対応する前記第２の変換画像における第２の複数の輪郭を識別するステップと、
第２の輪郭閾値を超える第２の輪郭の基数を有する前記第２の変換画像における領域を識別するステップと、を含む請求項２または請求項３に記載の方法。
【請求項５】
前記複数のビュレットを識別するステップは、
前記オリジナル画像から二値画像を生成するステップと、
複数の膨張の反復および複数の収縮の反復を有し、膨張の反復の回数が収縮の反復の回数を超える膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって変換画像を生成するステップと、
前記複数のラインバウンディングボックスのラインバウンディングボックスを選択するステップと、
前記ラインバウンディングボックスのための始点ライン内バウンディングボックスおよび中間ライン内バウンディングボックスを識別するステップと、
前記始点ライン内バウンディングボックスの寸法を含む比較に基づいて、前記始点ライン内バウンディングボックス内の内容をビュレットとして指定するステップと、を含む請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記寸法は、前記始点ライン内バウンディングボックスの高さであり、前記比較は、前記寸法と前記ラインバウンディングボックスの高さの半分との比較である請求項５に記載の方法。
【請求項７】
前記寸法は、前記始点ライン内バウンディングボックスの幅の半分であり、前記比較は、前記寸法と前記始点ライン内バウンディングボックスおよび前記中間ライン内バウンディングボックス間の間隔との比較である請求項５に記載の方法。
【請求項８】
前記複数のインデントを識別するステップは、
複数の水平位置を有する複数の始点ライン内バウンディングボックスを取得するステップと、
前記複数の水平位置のサブセットが互いに所定の距離内にあるか否かを判断するステップと、
前記複数の水平位置のサブセットを統合するステップと、を含む請求項１〜７のいずれか一項に記載の方法。
【請求項９】
箇条書きリストを有するオリジナル画像を取得するステップと、
前記箇条書きリストを囲むリストバウンディングボックスを決定するステップと、
前記箇条書きリストの複数の行を囲むリストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスを決定するステップと、
前記複数のラインバウンディングボックスに基づいて複数のビュレットを識別するステップと、
前記複数のビュレットに基づいて複数のインデントを識別するステップと、
前記複数のインデントに基づいて前記オリジナル画像における前記箇条書きリストのための箇条書きリストオブジェクトを生成するステップと、
を含む画像処理方法をコンピューターに実行させるためのコンピュータープログラム。
【請求項１０】
前記リストバウンディングボックスを決定するステップは、
前記オリジナル画像に基づいて二値画像を生成するステップと、
第１の構造要素を有する第１の膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって第１の変換画像を生成するステップと、
前記第１の変換画像における第１の複数の輪郭を識別するステップと、
第１の輪郭閾値を超える第１の輪郭の基数を有する変換画像における領域を識別するステップと、を含む請求項９に記載のコンピュータープログラム。
【請求項１１】
前記複数のラインバウンディングボックスを決定するステップは、
前記第１の構造要素よりも小さい第２の構造要素を有する第２の膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって第２の変換画像を生成するステップと、
前記リストバウンディングボックスに対応する前記第２の変換画像における第２の複数の輪郭を識別するステップと、
第２の輪郭閾値を超える第２の輪郭の基数を有する前記第２の変換画像における領域を識別するステップと、を含む請求項１０に記載のコンピュータープログラム。
【請求項１２】
前記複数のビュレットを識別するステップは、
前記オリジナル画像から二値画像を生成するステップと、
複数の膨張の反復および複数の収縮の反復を有し、膨張の反復の回数が収縮の反復の回数を超える膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって変換画像を生成するステップと、
前記複数のラインバウンディングボックスのラインバウンディングボックスを選択するステップと、
前記ラインバウンディングボックスのための始点ライン内バウンディングボックスおよび中間ライン内バウンディングボックスを識別するステップと、
前記始点ライン内バウンディングボックスの寸法を含む比較に基づいて、前記始点ライン内バウンディングボックス内の内容をビュレットとして指定するステップと、を含む請求項９〜１１のいずれか一項に記載のコンピュータープログラム。
【請求項１３】
前記寸法は、前記始点ライン内バウンディングボックスの高さであり、前記比較は、前記寸法と前記ラインバウンディングボックスの高さの半分との比較である請求項１２に記載のコンピュータープログラム。
【請求項１４】
前記寸法は、前記始点ライン内バウンディングボックスの幅の半分であり、前記比較は、前記寸法と前記始点ライン内バウンディングボックスおよび前記中間ライン内バウンディングボックス間の間隔との比較である請求項１２に記載のコンピュータープログラム。
【請求項１５】
前記複数のインデントを識別するステップは、
複数の水平位置を有する複数の始点ライン内バウンディングボックスを取得するステップと、
前記複数の水平位置のサブセットが互いに所定の距離内にあるか否かを判断するステップと、
前記複数の水平位置のサブセットを統合するステップと、を含む請求項９〜１４のいずれか一項に記載のコンピュータープログラム。
【請求項１６】
オリジナル画像において箇条書きリストを囲むリストバウンディングボックスを決定し、前記箇条書きリストの複数の行を囲むリストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスを決定するバウンディングボックス生成部と、
前記複数のラインバウンディングボックスに基づいて複数のビュレットを識別するビュレットロケーターと、
前記複数のビュレットに基づいて複数のインデントを識別するリスト階層エンジンと、
前記複数のインデントに基づいて前記オリジナル画像における前記箇条書きリストのための箇条書きリストオブジェクトを生成するリストオブジェクト生成部と、
を有する画像処理システム。
【請求項１７】
前記バウンディングボックス生成部は、
前記オリジナル画像に基づいて二値画像を生成し、
第１の構造要素を有する第１の膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって第１の変換画像を生成し、
前記第１の変換画像における第１の複数の輪郭を識別し、
第１の輪郭閾値を超える第１の輪郭の基数を有する変換画像における領域を識別することによって前記リストバウンディングボックスを決定する請求項１６に記載のシステム。
【請求項１８】
前記バウンディングボックス生成部は、
前記第１の構造要素よりも小さい第２の構造要素を有する第２の膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって第２の変換画像を生成し、
前記リストバウンディングボックスに対応する前記第２の変換画像における第２の複数の輪郭を識別し、
第２の輪郭閾値を超える第２の輪郭の基数を有する前記第２の変換画像における領域を識別することによって前記複数のラインバウンディングボックスを決定する請求項１７に記載のシステム。
【請求項１９】
前記ビュレットロケーターは、
前記オリジナル画像から二値画像を生成し、
複数の膨張の反復および複数の収縮の反復を有し、膨張の反復の回数が収縮の反復の回数を超える膨張および収縮（ＤＥ）処理を前記二値画像に適用することによって変換画像を生成し、
前記複数のラインバウンディングボックスのラインバウンディングボックスを選択し、
前記ラインバウンディングボックスのための始点ライン内バウンディングボックスおよび中間ライン内バウンディングボックスを識別し、
前記始点ライン内バウンディングボックスの寸法を含む比較に基づいて、前記始点ライン内バウンディングボックス内の内容をビュレットとして指定することによって前記複数のビュレットを識別する請求項１６〜１８のいずれか一項に記載のシステム。
【請求項２０】
前記リスト階層エンジンは、
複数の水平位置を有する複数の始点ライン内バウンディングボックスを取得し、
前記複数の水平位置のサブセットが互いに所定の距離内にあるか否かを判断し、
前記複数の水平位置のサブセットを統合することによって前記複数のインデントを識別する請求項１６〜１９のいずれか一項に記載のシステム。
【請求項２１】
請求項９〜１５のいずれか一項に記載のコンピュータープログラムを記録したコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、箇条書きリストに関する。
【背景技術】
【０００２】
箇条書きリストは、データの集合を表す非常に一般的な方法である。たとえば、組織または計画の会議において、ホワイトボード上に項目をリスト化することは一般的である。この種の情報が、保存または事後の配布（たとえば、電子メールによる）のために、電子形態において必要となる場合、そのホワイトボードの画像（たとえば写真）から、電子文書を生成できることは有益である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
文字認識技術は、この種の情報を電子形態に変換するために比較的広まっている。しかし、単に文字を認識するだけでは、箇条書きリストの実際の構造を保存できない。ユーザーが後で内容を修正したい場合（たとえば追加項目の付加、既存項目の削除等）、データを手動でリストにフォーマットする必要がある。これはテキストが自由な形式であるという事実によって困難となり、項目間の分離が失われうる。そして、文字認識が信頼できない場合（特に手書きのテキストの場合）、テキストの画像は電子テキストにおいて散在し、または、テキストの一部が省略されうる。それでもユーザーは箇条書きリストをキャプチャーし、それらを電子形式に変換することを所望する。
【課題を解決するための手段】
【０００４】
一般に、一つの側面において、本発明は画像処理方法に関する。方法は、箇条書きリストを有するオリジナル画像を取得し、前記箇条書きリストを囲むリストバウンディングボックスを決定し、前記箇条書きリストの複数の行を囲むリストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスを決定し、前記複数のラインバウンディングボックスに基づいて複数のビュレットを識別し、前記複数のビュレットに基づいて複数のインデントを識別し、前記複数のインデントに基づいて前記オリジナル画像における前記箇条書きリストのための箇条書きリストオブジェクトを生成することを含む。
【０００５】
一般に、一つの側面において、本発明はコンピュータープログラムおよびコンピュータープログラムを内部に記憶している非一時的なコンピューター読み取り可能な媒体（ＣＲＭ）に関する。コンピュータープログラムは、箇条書きリストを有するオリジナル画像を取得し、前記箇条書きリストを囲むリストバウンディングボックスを決定し、前記箇条書きリストの複数の行を囲むリストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスを決定し、前記複数のラインバウンディングボックスに基づいて複数のビュレットを識別し、前記複数のビュレットに基づいて複数のインデントを識別し、前記複数のインデントに基づいて前記オリジナル画像における前記箇条書きリストのための箇条書きリストオブジェクトを生成する処理をコンピューターに実行させるように構成される。
【０００６】
一般に、一つの側面において、本発明は画像処理システムに関する。システムは、オリジナル画像において箇条書きリストを囲むリストバウンディングボックスを決定し、前記箇条書きリストの複数の行を囲むリストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスを決定するバウンディングボックス生成部と、前記複数のラインバウンディングボックスに基づいて複数のビュレットを識別するビュレットロケーターと、前記複数のビュレットに基づいて複数のインデントを識別するリスト階層エンジンと、前記複数のインデントに基づいて前記オリジナル画像における前記箇条書きリストのための箇条書きリストオブジェクトを生成するリストオブジェクト生成部と、を有する。
【０００７】
本発明の他の態様は、以下の記述および添付された特許請求の範囲から明らかである。
【図面の簡単な説明】
【０００８】
【図１】本発明の一つ以上の実施形態に係るシステムを示す図である。
【図２】本発明の一つ以上の実施形態に係るフローチャートを示す図である。
【図３】本発明の一つ以上の実施形態に係るフローチャートを示す図である。
【図４】本発明の一つ以上の実施形態に係るフローチャートを示す図である。
【図５】本発明の一つ以上の実施形態に係るフローチャートを示す図である。
【図６】本発明の一つ以上の実施形態に係るフローチャートを示す図である。
【図７Ａ】本発明の一つ以上の実施形態に係る実装例を示す図である。
【図７Ｂ】本発明の一つ以上の実施形態に係る実装例を示す図である。
【図７Ｃ】本発明の一つ以上の実施形態に係る実装例を示す図である。
【図７Ｄ】本発明の一つ以上の実施形態に係る実装例を示す図である。
【図８】本発明の一つ以上の実施形態に係るコンピューターシステムである。
【発明を実施するための形態】
【０００９】
以下、添付の図を参照して本発明の特定の実施形態について詳細に説明する。様々な図において、同様の構成は一貫性のため同様の参照符号によって示される。
【００１０】
以下の本発明の実施形態の詳細な説明において、本発明のより完全な理解を提供するために、多数の具体的な詳細が記載される。しかし、本発明がこれらの具体的な詳細なしでも実施されうることは、当業者にとって明らかである。他の例において、周知の特徴は、説明を不必要に複雑化することを避けるため、詳述されていない。
【００１１】
概して、本発明の実施形態は、画像処理のための方法、コンピュータープログラムおよびコンピュータープログラムを内部に記憶している非一時的なコンピューター読み取り可能な媒体、ならびにシステムを提供する。箇条書きリストを有するオリジナル画像が取得され、膨張および収縮（ＤＥ）処理を使用して箇条書きリストを囲むリストバウンディングボックスが決定される。リストバウンディングボックス内に入れ子にされた複数のラインバウンディングボックスが決定される。各ラインバウンディングボックス内において、収縮の反復よりも多い膨張の反復を有するＤＥ処理を使用して始点ライン内バウンディングボックスおよび一つ以上の中間ライン内バウンディングボックスが識別される。始点ライン内バウンディングボックスの寸法に基づいてラインバウンディングボックス内でビュレットが識別されてもよい。また、箇条書きリストのインデント、および箇条書きリストの階層は、識別されたビュレットの水平位置に基づいて識別される。そして、電子文書（ＥＤ）に包含するための箇条書きリストオブジェクトが生成される。箇条書きリストオブジェクトは、箇条書きリストの階層（たとえばインデント）および箇条書きリストの内容（たとえばテキスト文字）を定義する属性を有するタグを使用して特定されてもよい。
【００１２】
図１は、本発明の一つ以上の実施形態に係るシステム（１００）を示す。図１に示されるように、システム（１００）は、バッファー（１０４）、バウンディングボックス生成部（１１４）、リスト階層エンジン（１１０）、リストオブジェクト生成部（１０８）、およびビュレットロケーター（１１６）を含む複数の構成を有する。これらの構成（１０４、１０８、１１０、１１４、１１６）の各々は、同じコンピューター（たとえばパーソナルコンピューター（ＰＣ）、ラップトップ、タブレットＰＣ、スマートフォン、サーバー、メインフレーム、ケーブルボックス、キオスク等）に配置されてもよく、あるいは、いかなるサイズおよびいかなるトポロジの有線および／または無線のセグメントを有するネットワークによって接続される異なるコンピューター上に配置されてもよい。
【００１３】
本発明の一つ以上の実施形態において、システム（１００）はバッファー（１０４）を含む。バッファー（１０４）は、ハードウェア（すなわち回路）、ソフトウェアまたはそれらのいかなる組み合わせにおいて実行されてもよい。バッファー（１０４）は、一つ以上の箇条書きリストを有するオリジナル画像（１０６）を格納する。箇条書きリストは手書きであってもよく機械印刷されていてもよい。オリジナル画像（１０６）は、ハードコピー文書のスキャンであってもよい。オリジナル画像（１０６）は、ハードコピー文書またはホワイトボードのデジタルの写真でもよい。追加的または代替的に、オリジナル画像（１０６）は、いかなるソース（たとえばウェブサイト）からダウンロードされてもよい。さらに、オリジナル画像（１０６）は、いかなる大きさでもよく、いかなるフォーマット（たとえばＪＰＥＧ、ＧＩＦ、ＢＭＰ等）でもよい。
【００１４】
この詳細な説明の恩恵を受ける当業者であれば、箇条書きリストがリストの項目を導くためにビュレット（すなわち、星印、ハイフン、数指、ピリオド、塗りつぶされた円等のシンボルまたはグリフ）を使用するリストであると理解するであろう。リストの各々の項目は、一つ以上のラインを占有してもよい。箇条書きリストは、異なるインデントに配置される異なる種類のビュレットを使用する箇条書きリストの異なるレベルを備えた階層を有してもよい。
【００１５】
本発明の一つ以上の実施形態において、システム（１００）はバウンディングボックス生成部（１１４）を含む。バウンディングボックス生成部（１１４）は、ハードウェア（すなわち回路）、ソフトウェアまたはそれらのいかなる組み合わせにおいて実行されてもよい。バウンディングボックス生成部（１１４）は、オリジナル画像（１０６）の各々の箇条書きリストのためのリストバウンディングボックスを決定するように構成される。リストバウンディングボックスは、箇条書きリストを囲む矩形の境界である。したがって、リストバウンディングボックスは、位置（たとえば座標）および寸法を有する。リストバウンディングボックスを決定するために、バウンディングボックス生成部（１１４）は、勾配、ＤＥ処理、および輪郭閾値（後述）を利用してもよい。
【００１６】
本発明の一つ以上の実施形態において、バウンディングボックス生成部（１１４）は、箇条書きリストの各々のラインのためのラインバウンディングボックスを決定するように構成される。ラインバウンディングボックスは、箇条書きリストのラインを囲む矩形の境界である。したがって、各々のラインバウンディングボックスは、位置（たとえば座標）および寸法を有する。箇条書きリストの複数のラインがあるため、複数のラインバウンディングボックスは単一のリストバウンディングボックス内に入れ子に（ネスト）されてもよい。ラインバウンディングボックスを決定するために、バウンディングボックス生成部（１１４）は、勾配、ＤＥ処理、および輪郭閾値（後述）を利用してもよい。
【００１７】
本発明の一つ以上の実施形態において、システム（１００）はビュレットロケーター（１１６）を含む。ビュレットロケーター（１１６）は、ハードウェア（すなわち回路）、ソフトウェアまたはそれらのいかなる組み合わせにおいて実行されてもよい。ビュレットロケーター（１１６）は、箇条書きリストのラインのビュレットを識別するように構成される。具体的には、ビュレットロケーター（１１６）は、最初に各々のラインバウンディングボックスの始点ライン内バウンディングボックスおよび一つ以上の中間ライン内バウンディングボックスを識別してもよい。ライン内バウンディングボックスの識別は、ブラー機能およびＤＥ処理（後述）の使用を含んでもよい。ビュレットロケーター（１１６）は、始点ライン内バウンディングボックスの寸法および／または始点ライン内バウンディングボックスと隣接する中間のバウンディングボックス（後述）との間隔に基づいて、ビュレットを識別してもよい。上記のように、箇条書きリストの単一の項目は、複数のラインを占有してもよい。したがって、いくつかのラインは、ビュレットを有していないこともある。
【００１８】
本発明の一つ以上の実施形態において、システム（１００）はリスト階層エンジン（１１０）を含む。リスト階層エンジン（１１０）は、ハードウェア（すなわち回路）、ソフトウェアまたはそれらのいかなる組み合わせにおいて実行されてもよい。リスト階層エンジン（１１０）は、箇条書きリストのインデントおよび箇条書きリストの階層を識別するように構成される。上記のように、箇条書きリストは、異なるインデントに配置される異なる種類のビュレットを使用する箇条書きリストの異なるレベルを備えた階層を有してもよい。リスト階層エンジン（１１０）は、始点ライン内バウンディングボックスの水平位置を使用してビュレットのインデントを識別してもよい。一つ以上の実施形態において、間隔エンジン（１１０）は、互いに所定の距離内にある複数の水平位置を単一のインデント（後述）に統合（すなわち、併合、結合、圧潰）してもよい。
【００１９】
本発明の一つ以上の実施形態において、システム（１００）はリストオブジェクト生成部（１１０）を含む。リストオブジェクト生成部（１１０）は、ハードウェア（すなわち回路）、ソフトウェアまたはそれらのいかなる組み合わせにおいて実行されてもよい。リストオブジェクト生成部（１０８）は、箇条書きリストを表す箇条書きリストオブジェクトを生成するように構成される。箇条書きリストオブジェクトは、マークアップ言語（たとえばＯｆｆｉｃｅ  Ｏｐｅｎ  ＸＭＬ）を使用して特定される電子文書（ＥＤ）において包含されるように生成されてもよい。したがって、箇条書きリストオブジェクトは、オリジナル画像（１０６）の箇条書きリストから識別されるテキスト文字、ビュレット、インデント、階層等に基づいて設定される属性を有するタグを使用して定められてもよい。箇条書きリストオブジェクトは、箇条書きリストの構造を保存し、箇条書きリストが後続のユーザーによって編集（たとえば、項目、ライン、レベル等の追加／削除）可能とする。
【００２０】
図１は、５つの構成（１０４、１０８、１１０、１１４、１１６）を有するシステム（１００）を示すが、他の実施形態において、システム（１００）は、より多くの、またはより少ない構成を有してもよい。たとえば、システム（１００）は、オリジナル画像（１０６）をキャプチャーするスキャナーまたはデジタルカメラを有するスマートフォンを含んでもよい。他の実施形態として、システム（１００）は、オリジナル画像（１０６）上で追加的な処理（たとえばＯＣＲ）を実行して箇条書きリストのラインの内容（たとえばテキスト文字）を抽出する付加エンジンを含んでもよい。
【００２１】
図２は、本発明の一つ以上の実施形態に係るフローチャートを示す。フローチャートは画像処理のための処理を示す。図２の一つ以上のステップは、図１を参照して上述されるシステム（１００）の構成（１０８、１１０、１１４、１１６）によって実行されてもよい。本発明の一つ以上の実施形態において、図２の一つ以上のステップは、省略、繰り返し、および／または図２に示される順序と異なる順序で実行されてもよい。したがって、本発明の範囲は、図２に示されるステップの特定の配置に限定して考慮されてはならない。
【００２２】
まず、オリジナル画像が取得される（ステップ２０５）。オリジナル画像は、デジタルカメラからまたはスキャナーから取得されてもよい。オリジナル画像は、サーバーからダウンロードされてもよい。オリジナル画像は、一つ以上の箇条書きリストを含んでもよい。各々の箇条書きリストは手書きであってもよく、機械印刷されていてもよい。上記のように、箇条書きリストは、リストの項目を導くためにビュレット（すなわちシンボルまたはグリフ）を使用するリストである。箇条書きリストは、異なるインデントに配置される異なる種類のビュレットを有する箇条書きリストの異なるレベルを備えた階層を有してもよい。
【００２３】
ステップ２１０において、リストバウンディングボックスは、オリジナル画像の各々の箇条書きリストについて決定される。各々のリストバウンディングボックスは、箇条書きリストを囲む矩形の境界である。したがって、各々のリストバウンディングボックスは、位置（すなわち座標）および寸法を有する。リストバウンディングボックスを決定するための処理は、図３を参照して後述される。
【００２４】
ステップ２１５において、ラインバウンディングボックスは、箇条書きリスト内の各々のラインについて決定される。各々のリストバウンディングボックスは、箇条書きリストのラインを含む矩形の境界である。ラインがビュレットを含むか否かに応じて、ラインバウンディングボックスは、ビュレットを含んでもよい。複数のラインバウンディングボックスは、単一のリストバウンディングボックス内に入れ子にされてもよい。各々のラインバウンディングボックスは、位置（すなわち座標）および寸法を有する。ラインバウンディングボックスを決定するための処理は、図４を参照して後述される。
【００２５】
ステップ２２０において、複数のビュレットは、ラインバウンディングボックスに基づいて識別される。各々のビュレット（すなわちシンボルまたはシンボル）は、リストの項目を導くために用いられる。ビュレットを識別することは、最初に各々のラインバウンディングボックスの始点ライン内バウンディングボックスおよび一つ以上の中間ライン内バウンディングボックスを識別することを含んでもよい。ビュレットは、始点ライン内バウンディングボックスの寸法および／または始点ライン内バウンディングボックスおよび隣接した中間ライン内バウンディングボックスの間の間隔に基づいて識別されてもよい。ビュレットを識別するための処理は、図５を参照して後述される。
【００２６】
ステップ２２５において、リストのインデントが識別される。上記のように、箇条書きリストは、異なるインデントに配置される異なる種類のビュレットを有する箇条書きリストの異なるレベルを備えた階層を有してもよい。始点ライン内バウンディングボックスの水平位置は、ビュレットのインデントおよび箇条書きリストのレベルを識別するために用いられてもよい。一つ以上の実施形態において、近接する（すなわち、互いに所定の距離内にある）複数の水平位置は、単一のインデントに併合されてもよい。インデントおよびビュレットが付されたリストのレベルを識別するための処理は、図６を参照して後述される。
【００２７】
ステップ２３０において、箇条書きリストオブジェクトが生成される。箇条書きリストオブジェクトは、オリジナル画像における箇条書きリストを表す。箇条書きリストオブジェクトは、配布、簡単な編集（たとえば、項目の追加または削除、階層レベルの追加または削除等）およびレンダリング（すなわち、印刷、表示等）のためにＥＤに含まれてもよい。箇条書きリストオブジェクトは、ビュレット、インデント、階層およびラインバウンディングボックス等の内容（すなわちテキスト文字）に基づいて設定される属性を有するタグを使用して特定されてもよい。箇条書きリストオブジェクトは、箇条書きリストの構造（たとえば階層）を保存する。
【００２８】
一つ以上の実施形態において、箇条書きリストオブジェクトを生成することは、箇条書きリストの内容（すなわちテキスト文字）を抽出するためにラインバウンディングボックスによって囲まれるオリジナル画像の領域上において光学文字認識（ＯＣＲ）または追加的な画像処理を実行することを含んでもよい。一つ以上の実施形態において、箇条書きリストのラインのテキスト文字を抽出することが困難であるイベントにおいて、ラインの内容の画像（「ライン画像」）は、箇条書きリストオブジェクトに含まれてもよい。箇条書きリストオブジェクトが描画される際に、このライン画像が表示または印刷されてもよい。さらに、ライン画像は、箇条書きリストの構造を維持するように配置されてもよい。
【００２９】
図３は、本発明の一つ以上の実施形態に係るフローチャートを示す。フローチャートはオリジナル画像内において一つ以上のリストバウンディングボックスを決定するための処理を表す。図３のステップの一つ以上は、図１を参照して上述されたバウンディングボックス生成部（１１４）によって実行されてもよい。さらに、図３のステップの一つ以上は、図２のステップ２１０に対応してもよい。本発明の一つ以上の実施形態において、図３に示されるステップの一つ以上は、省略、繰り返し、および／または図３に示される順序とは異なる順序で実行されてもよい。したがって、本発明の範囲は、図３に示されるステップの特定の配置に限定して考慮されてはならない。
【００３０】
まず、二値画像が、オリジナル画像に基づいて生成される（ステップ３０５）。このステップは、オリジナル画像をグレースケール画像に変換することを含んでもよい。また、このステップは、Ｓｏｂｅｌオペレータをグレースケール画像に適用することによって勾配画像を生成することを含んでもよい。この詳細な説明の恩恵を受ける当業者であれば、Ｓｏｂｅｌオペレータをグレースケール画像に適用することによって、グレースケール画像の水平および垂直の勾配が決定されることを理解するであろう。また、このステップは、二値画像を生成するために、閾値処理を勾配画像に適用することを含んでもよい。
【００３１】
ステップ３１０において、画像（たとえばテキスト文字）における近接した構成間の領域を閉じるために、二値画像に膨張および収縮（ＤＥ：ｄｉｌａｔｅ  ａｎｄ  ｅｒｏｄｅ）処理を適用することによって、変換された画像が生成される。ＤＥ処理は、ユーザーが指定した構造要素を二値画像に適用して、同じサイズの変換画像を生成する。変換画像内の各画素の値は、二値画像内の対応する画素とその近傍画素との比較に基づく。
【００３２】
この詳細な説明の恩恵を受ける当業者であれば、膨張は二値画像内のオブジェクトの境界にピクセルを追加し、収縮はオブジェクトの境界上のピクセルを除去することも理解するであろう。二値画像内のオブジェクトに追加または削除されるピクセルの数は、二値画像を処理するために使用される構造要素のサイズおよび形状、膨張の反復の数、および収縮の反復の数によって異なる。
【００３３】
ステップ３１５において、変換画像内の輪郭が識別される。変換画像の輪郭を識別するために、たとえば、微分輪郭検出、位相一致輪郭検出、顕著性輪郭検出などを含む様々な技法が使用されうる。
【００３４】
ステップ３２０において、輪郭閾値を超える輪郭の基数を有する変換画像内の少なくとも一つの領域が識別される。たとえば、輪郭閾値は１０００の輪郭であってもよい。さらに、領域は長方形状であってもよい。領域の境界は、リストバウンディングボックスに対応する。
【００３５】
この詳細な説明の恩恵を受ける当業者であれば、図３の処理の実行後、一つ以上のリストバウンディングボックスが決定されることを理解するであろう。各々のリストバウンディングボックスは、オリジナル画像における箇条書きリストを含む。
【００３６】
図４は、本発明の一つ以上の実施形態に係るフローチャートを示す。フローチャートは一つ以上のラインバウンディングボックスを決定するための処理を表す。図４のステップの一つ以上は、図１を参照して上述されたバウンディングボックス生成部（１１４）によって実行されてもよい。さらに、図４のステップの一つ以上は、図２のステップ２１５に対応してもよい。本発明の一つ以上の実施形態において、図４に示されるステップの一つ以上は、省略、繰り返し、および／または図４に示される順序とは異なる順序で実行されてもよい。したがって、本発明の範囲は、図４に示されるステップの特定の配置に限定して考慮されてはならない。
【００３７】
まず、二値画像にＤＥ処理を適用することによって変換画像が生成される（ステップ４０５）。二値画像は、オリジナル画像に基づいて生成される。二値画像は、ステップ３０５の二値画像と同じものであってもよい。あるいは、ステップ４０５の二値画像は、異なる勾配オペレータおよび／または異なる閾値処理を使用して生成されてもよい。また、ステップ４０５のＤＥ処理は、より小さい構成要素が使用されることを除いてステップ３１０のＤＥ処理と同様でもよい。ステップ４０５のＤＥ処理は、全ての二値画像に適用されてもよい。追加的にまたは代替的に、ＤＥ処理は、決定されたリストバウンディングボックスによって囲まれる二値画像の部分のみに適用されてもよい。上述のようにＤＥ処理は二値画像における近接する構成（たとえばテキスト文字）間の領域を閉じる。
【００３８】
ステップ４１０において、変換画像内の輪郭が識別される。具体的には、決定されたリストバウンディングボックスによって囲まれる変換画像の部分内の輪郭が識別される。輪郭検出技術は、ステップ３１５において使用する輪郭検出技術と同じでもよく、異なってもよい。
【００３９】
ステップ４１５において、少なくとも一つの領域は、リストバウンディングボックスによって囲まれる各々の領域内において識別される。具体的には、領域は形状において矩形であってもよく、輪郭閾値を超える輪郭の基数を含んでもよい。輪郭閾値は、１００の輪郭であってもよい。また、領域の境界は、ラインバウンディングボックスに対応する。
【００４０】
この詳細な説明の恩恵を受ける当業者であれば、図４の処理の実行に続き、各々のリストバウンディングボックスに入れ子にされた複数のラインバウンディングボックスが決定されることを理解するであろう。さらに、各々のラインバウンディングボックスは、オリジナル画像の箇条書きリストのラインに対応する。
【００４１】
図５は、本発明の一つ以上の実施形態に係るフローチャートを示す。フローチャートは、箇条書きリストのビュレットを識別するための処理を表す。図５のステップのうちの一つ以上は、図１を参照して上述されるビュレットロケーター（１１６）によって実行されてもよい。さらに、図５のステップのうちの一つ以上は、図２のステップ２２０に対応してもよい。本発明の一つ以上の実施形態において、図５に示されるステップの一つ以上は、省略されてもよく、反復されてもよく、および／または図５に示される順序と異なる順序で実行されてもよい。したがって、本発明の範囲は、図５に示されるステップの特定の配置に限定されるものではない。
【００４２】
まず、オリジナル画像に基づく二値画像が生成される（ステップ５０５）。二値画像は、オリジナル画像を最初にグレースケール画像に変換することによって生成されてもよい。そして、二値画像を生成するための閾値処理に先行して、ブラー処理がグレースケール画像に適用されてもよい。ブラー処理は、グレースケール画像の全体に適用されてもよい。追加的に、または代替的に、ブラー処理はラインバウンディングボックスによって囲まれるグレースケール画像の一部のみに適用されてもよい。
【００４３】
ステップ５１０において、変換画像は、ＤＥ処理を二値画像に適用することによって生成される。ステップ５１０のＤＥ処理は、ステップ４０５のＤＥ処理と同様でもよい。しかし、ステップ５１０のＤＥ処理は、収縮の反復よりも多くの膨張の反復を有してもよい。たとえば、膨張の反復が収縮の反復の２倍であってもよい。このＤＥ処理は、一語の範囲内で文字を効果的に統合できる。
【００４４】
ステップ５１５において、事前に決定されたラインバウンディングボックスのうちの一つが選択される。ラインバウンディングボックスは、ランダムに選択されてもよい。追加的に、または代替的に、選択されたラインバウンディングボックスは、画像のために決定された最初のバウンディングボックスまたは最後のラインバウンディングボックスに対応してもよい。
【００４５】
ステップ５２０において、選択されたラインバウンディングボックスについて始点ライン内バウンディングボックスおよび一つ以上の中間ライン内バウンディングボックスが識別される。始点および中間ライン内バウンディングボックスは、輪郭閾値を超える輪郭の基数を有する選択されたラインバウンディングボックス内の領域に対応する。領域が水平位置に基づいてソートされる場合、ソート後の最初の領域は、始点ライン内バウンディングボックスである。残りの領域は、中間ライン内バウンディングボックスである。ビュレットが存在する場合、始点ライン内バウンディングボックスは、選択されたラインバウンディングボックスのためのビュレットを含んでもよい。あるいは、始点ライン内バウンディングボックスは、選択されたラインバウンディングボックスの最初の語を含んでもよい。
【００４６】
ステップ５２５において、始点ライン内バウンディングボックス内の内容は、始点ライン内バウンディングボックスの寸法を含む比較に基づいてビュレットに指定される。たとえば、始点ライン内バウンディングボックスの高さが選択されたラインバウンディングボックスの高さの半分未満の場合、始点ライン内バウンディングボックスの内容はビュレットであるとみなされる。他の例として、始点ライン内バウンディングボックスおよび隣接する中間のバウンディングボックス間の水平の間隔が始点ライン内バウンディングボックスの幅の２倍以上である場合、始点ライン内バウンディングボックスの内容はビュレットであるとみなされる。上述のように、いくつかのラインは、ビュレットを有していないこともある。このような場合、始点ライン内バウンディングボックスは、選択されたラインバウンディングボックスおける最初の語（すなわちプレーンテキスト）を含む。
【００４７】
ステップ５３０において、まだ選択されていない追加的なラインバウンディングボックスが存在するか否かが判断される。そのようなラインバウンディングボックスが存在する場合、処理はステップ５１５に戻る。あるいは、処理を終了してもよい。
【００４８】
この詳細な説明の恩恵を受ける当業者であれば、図５の処理の実行に続き、ビュレットを含む始点ライン内バウンディングボックスが識別されることを理解するであろう。さらに、これらの始点ライン内バウンディングボックスの各々は、位置（すなわち座標）を有する。また、テキスト文字認識（たとえばＯＣＲ）を実行することなく、または実行する前に、ビュレットが識別される。
【００４９】
図６は、本発明の一つ以上の実施形態に係るフローチャートを示す。フローチャートは、箇条書きリストにおけるインデントおよび箇条書きリストのレベルを識別するための処理を表す。図６のステップのうちの一つ以上は、図１を参照して上述されるリスト階層エンジン（１１０）によって実行されてもよい。さらに、図６のステップのうちの一つ以上は、図２のステップ２２５に対応してもよい。本発明の実施形態のうちの一つ以上において、図６に示されるステップのうちの一つ以上は、省略されてもよく、反復されてもよく、および／または図６に示される順序と異なる順序で実行されてもよい。したがって、本発明の範囲は、図６に示されるステップの特定の配置に限定されるものではない。
【００５０】
まず、ビュレットを含むと想定される各々の始点ライン内バウンディングボックスが取得される（ステップ６０５）。上記のように、箇条書きリストの各々のラインバウンディングボックスについて一つの始点ライン内バウンディングボックスがあってもよい。いくつかの始点ライン内バウンディングボックスの内容は、ビュレットであってもよい。また、上述のように、各々の始点ライン内バウンディングボックスは位置（たとえば座標）を有する。各々のビュレットの水平位置（すなわちビュレットを含む始点ライン内バウンディングボックスの水平位置）は、箇条書きリストのインデントに対応してもよい。
【００５１】
ステップ６１０において、同様の水平位置を有する始点ライン内バウンディングボックスのサブセットが決定される。上記のように、箇条書きリストは、異なるインデントに配置される異なる種類のビュレットを使用する箇条書きリストの異なるレベルを備えた階層を有してもよい。理論的には、二つのビュレットが異なる水平位置を有する場合、各々のビュレットは箇条書きリストの異なるレベルと一致する。しかし、箇条書きリストが手書きでもよいので、実際に同じレベルに属するビュレットの間には、わずかな水平方向のオフセットがあってもよい。一つ以上の実施形態において、同様の水平位置は、二つのビュレットが互いに所定の距離内にあることを意味する。一つ以上の実施形態において、所定の距離は、リストバウンディングボックスに入れ子にされたラインバウンディングボックスの高さの平均の半分である。
【００５２】
ステップ６１５において、同様の水平位置は、統合される。換言すれば、近接して間隔をあけられたインデントは、単一のインデント値に併合／圧潰される。たとえば、単一のインデント値は、同様の水平位置の平均であってもよい。他の実施形態として、単一のインデント値は、同様の水平位置の最小値または最大値であってもよい。インデントの存在およびインデント値は、箇条書きリストの構造を決定するために用いられ、箇条書きリストオブジェクトを生成するために用いられてもよい。
【００５３】
図７Ａ〜７Ｄは、本発明の一つ以上の実施形態に係る実装例を示す。図７Ａに示されるように、オリジナル画像（７０２）が存在する。オリジナル画像（７０２）は、手書きの箇条書きリストを有する。各々の項目またはサブ項目は、ビュレットによって導かれる。また、図７Ａに示されるように、箇条書きリストは、異なるインデントに配置される異なる種類のビュレットを使用する箇条書きリストの異なるレベルを備えた階層を有する。
【００５４】
図７Ｂは、箇条書きリストのために決定されたリストバウンディングボックス（７０４）を示す。リストバウンディングボックス（７０４）は、バウンディングボックス生成部（１１４）および図３に示される処理を用いて決定されてもよい。図７Ｂに示されるように、リストバウンディングボックス（７０４）は、箇条書きリストを囲む。
【００５５】
図７Ｃは、複数のラインバウンディングボックス（７０６）を示す。ラインバウンディングボックス（７０４）は、バウンディングボックス生成部（１１４）および図４に示される処理を使用して決定されてもよい。ラインバウンディングボックス（７０６）の全ては、リストバウンディングボックス（７０４）に入れ子にされる。図７Ｃに示されるように、いくつかのラインバウンディングボックスは、ビュレットを含む。しかし、いくつかのラインバウンディングボックスは、ビュレットを有さない。
【００５６】
図７Ｄは、選択されたラインバウンディングボックス（７０８）を示す。始点ライン内バウンディングボックス（７１０）および複数の中間ライン内バウンディングボックス（７１２）は、選択されたラインバウンディングボックス（７０８）内で識別されている。ライン内バウンディングボックス（７１０、７１２）は、ビュレットロケーター（１１６）および図５に示される処理を使用して識別されてもよい。始点ライン内バウンディングボックス（７１０）は、ビュレットを含む。中間ライン内バウンディングボックス（７１２、７１４）は、テキスト文字を含む。
【００５７】
本発明の一つ以上の実施形態は、オリジナル画像において箇条書きリストを識別する能力、箇条書きリスト内でラインを識別する能力、箇条書きリスト内でビュレットおよびインデント（すなわちレベル）を識別する能力、テキスト文字認識（たとえばＯＣＲ）の実行なしでビュレットおよびインデントを識別する能力、手書きの箇条書きリストを処理して水平のオフセットがあっても実際に同じレベルに属するビュレットを統合する能力、配布のためのＥＤに含まれうる箇条書きリストオブジェクトを生成する能力、箇条書きリストの構造を保存し、容易に変更可能な箇条書きリストオブジェクトを生成する能力等の効果を有することができる。
【００５８】
本発明の実施形態は、使用されるプラットフォームに関係なく、実質的にいかなる種類のコンピューターシステムにおいて実行されてもよい。たとえば、コンピューターシステムは、一つ以上のモバイル装置（たとえばラップトップコンピューター、スマートフォン、パーソナルデジタルアシスタント、タブレットコンピューターまたは他のモバイル装置）、デスクトップコンピューター、サーバー、サーバーシャシーのブレードまたは本発明の一つ以上の実施形態を実行する少なくとも最小限の処理パワー、メモリーおよび入出力装置を含むいかなる種類の計算装置または装置群であってもよい。たとえば、図８に示されるように、コンピューターシステム（８００）は、一つ以上のコンピュータープロセッサー（８０２）、関連するメモリー（８０４）（たとえばランダムアクセスメモリー（ＲＡＭ）、キャッシュメモリー、フラッシュメモリー等）、一つ以上の記憶装置（８０６）（たとえばハードディスク、たとえばコンパクトディスク（ＣＤ）ドライブまたはデジタルヴァーサタイルディスク（ＤＶＤ）ドライブ等の光学ドライブ、フラッシュメモリースティック等）および多数の他の要素および機能を含んでもよい。コンピュータープロセッサー（８０２）は、指示を処理するための集積回路であってもよい。たとえば、コンピュータープロセッサーは、一つ以上のコアまたはプロセッサーのマイクロコアであってもよい。コンピューターシステム（８００）は、たとえばタッチスクリーン、キーボード、マウス、マイクロホン、タッチパッド、電子ペンまたは他のいかなる種類の入力装置等の一つ以上の入力装置（８１０）を含んでもよい。さらに、コンピューターシステム（８００）は、スクリーン（たとえば液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、タッチスクリーン、ブラウン管（ＣＲＴ）モニタ、映写機または他の表示装置等）、プリンター、外部記憶装置または他の出力装置等の一つ以上の出力装置（８０８）を含んでもよい。出力装置のうちの一つ以上は、入力装置と同じものでもよく異なるものでもよい。コンピューターシステム（８００）は、ネットワークインターフェース接続（図示せず）を介してネットワーク（８１２）（たとえばローカルエリアネットワーク（ＬＡＮ）、インターネット、モバイルネットワーク等のワイドエリアネットワーク（ＷＡＮ）、または他の種類のネットワーク）に接続されてもよい。入出力装置は、コンピュータープロセッサー（８０２）、メモリー（８０４）および記憶装置（８０６）にローカルまたはリモートで（たとえば、ネットワーク（８１２）を介して）接続されてもよい。多くの異なる種類のコンピューターシステムが存在し、上記の入出力装置は他の形態でもよい。
【００５９】
コンピューターに本発明の実施形態を実行させるコンピュータープログラムの形態のソフトウェア指示は、全体的または部分的に、一時的または非一時的に、ＣＤ、ＤＶＤ、記憶装置、ディスケット、テープ、フラッシュメモリー、物理メモリー、または他のコンピューター読み取り可能記憶媒体のような非一時的コンピューター読み取り可能媒体に記憶されてもよい。具体的には、ソフトウェア指示は、プロセッサーによって実行される場合に本発明の実施形態を実行するためのコンピュータープログラムに対応してもよい。
【００６０】
また、上記のコンピューターシステム（８００）の一つ以上の要素は、遠隔地に位置してもよく、ネットワーク（８１２）上で他の要素に接続されてもよい。また、本発明の一つ以上の実施形態は、複数のノードを有する分散処理システムに実行されてもよく、本発明の各部分が、分散処理システム内の異なるノードに配置されてもよい。本発明の一実施形態において、ノードは異なるコンピューターに対応する。あるいは、ノードは関連する物理メモリーを有するコンピュータープロセッサーに対応してもよい。あるいは、ノードは、共有メモリーおよび／またはリソースを有するコンピュータープロセッサーまたはコンピュータープロセッサーのマイクロコアに対応してもよい。
【００６１】
本発明は限られた数の実施形態に関して記載されているが、本開示の恩恵を受ける当業者であれば、本明細書に開示された本発明の範囲から逸脱しない他の実施形態が導出され得ることを理解するであろう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。
【図１】
2017134822.tif 000003
【図２】
2017134822.tif 000004
【図３】
2017134822.tif 000005
【図４】
2017134822.tif 000006
【図５】
2017134822.tif 000007
【図６】
2017134822.tif 000008
【図７Ａ】
2017134822.tif 000009
【図７Ｂ】
2017134822.tif 000010
【図７Ｃ】
2017134822.tif 000011
【図７Ｄ】
2017134822.tif 000012
【図８】
2017134822.tif 000013
【外国語明細書】
2017134822000001.pdf
2017134822000002.pdf
2017134822000003.pdf
2017134822000004.pdf