(57)【要約】【課題】文書画像の領域を従来よりも高速に且つ正確にブロック化できるようにする。【解決手段】構造化文書に含まれる各オブジェクトの情報をリスト形式で纏めたオブジェクトリストＬＯを生成する。文書の垂直方向の距離が閾値以内であるオブジェクトを１つのオブジェクトグループＧに含め、そのオブジェクトグループＧ内にあるオブジェクトを１つのグループとしてグループ化する。その後、オブジェクトグループＧ内に含まれる２つ以上のオブジェクトの外接矩形の水平方向の長さが垂直方向の長さ以上であり、且つ、それら２つ以上のオブジェクトの少なくとも１つの水平方向の長さが閾値以上でない場合に、再ブロック化処理を行う。再ブロック化処理では、オブジェクトグループＧに含まれるオブジェクトのうち、水平方向の距離が閾値以内であるオブジェクトを、１つのオブジェクトグループＧＣとしてグループ化する。【選択図】図１１
2010020642.tif 000002
【特許請求の範囲】
【請求項１】
文書におけるオブジェクト間の距離であって、前記文書の第１の方向の距離である第１の距離が閾値以内であるオブジェクトを第１のオブジェクトグループに追加してグループ化する第１のグループ化手段と、
前記第１のオブジェクトグループ内の複数のオブジェクト間の距離であって、前記第１の距離とは異なる方向の距離である第２の距離が閾値以内に収まらない場合、当該複数のオブジェクトが別のオブジェクトグループに属するようにグループを分ける第２のグループ化手段とを有することを特徴とする文書管理装置。
【請求項２】
前記第１のオブジェクトグループの属性が、所定の条件を満たすか否かを判定する判定手段を有し、
前記第２のグループ化手段は、前記第１のオブジェクトグループの属性が、所定の条件を満たしていると、前記第１のオブジェクトグループ内の複数のオブジェクト間の距離が閾値以内に収まるか否かを判定することを特徴とする請求項１に記載の文書管理装置。
【請求項３】
前記所定の条件は、前記第１のオブジェクトグループ内のオブジェクトが２つ以上であることと、前記第１のオブジェクトグループ内のオブジェクトの外接矩形の領域の前記第２の方向の長さが前記第１の方向の長さよりも大きいことと、前記第１のオブジェクトグループ内のオブジェクトの前記第２の方向の長さが閾値未満であることとの少なくとも何れか１つを含むことを特徴とする請求項２に記載の文書管理装置。
【請求項４】
前記判定手段は、前記第１のオブジェクトグループ内のオブジェクトが１つであるか否かを判定する第１の判定手段と、
前記第１の判定手段により、前記第１のオブジェクトグループ内のオブジェクトが２つ以上あると判定されると、前記第１のオブジェクトグループ内のオブジェクトの外接矩形の領域の前記第１の方向の長さが前記第２の方向の長さよりも大きいか否かを判定する第２の判定手段と、
前記第２の判定手段により、前記第１のオブジェクトグループ内のオブジェクトの外接矩形の領域の前記第１の方向の長さが前記第２の方向の長さよりも大きくないと判定されると、前記第１のオブジェクトグループ内に、前記第２の距離の方向の長さが閾値以上であるオブジェクトがあるか否かを判定する第３の判定手段とを有し、
前記第２のグループ化手段は、前記第３の判定手段により、前記第１のオブジェクトグループ内に、前記第２の距離の方向の長さが閾値以上であるオブジェクトがないと判定されると、前記第２の距離が閾値以内であるオブジェクトを第２のオブジェクトグループに追加して更にグループ化することを特徴とする請求項３に記載の文書管理装置。
【請求項５】
前記第１のオブジェクトグループを識別する第１のグループ識別情報を、前記第１のオブジェクトグループに付与する第１の付与手段と、
前記第２のオブジェクトグループを識別する第２のグループ識別情報を、前記第１のオブジェクトグループに付与する第２の付与手段とを有し、
前記第１のグループ識別情報により識別される第１のオブジェクトグループと、その第１のオブジェクトグループ内のオブジェクトが追加された第２のオブジェクトグループとが親子関係にあることを、前記第１のグループ識別情報と前記第２のグループ識別情報との少なくとも何れかに示すようにしたことを特徴とする請求項１〜４の何れか１項に記載の文書管理装置。
【請求項６】
前記第１の付与手段により付与された第１のグループ識別情報と、前記第２の付与手段により付与された第２のグループ識別情報とに基づいて、前記オブジェクトのグループに関する情報を表示装置に表示する表示手段を有することを特徴とする請求項５に記載の文書管理装置。
【請求項７】
前記第１の方向は、前記文書の垂直方向であり、前記第２の方向は、前記文書の水平方向であることを特徴とする請求項１〜６の何れか１項に記載の文書管理装置。
【請求項８】
文書におけるオブジェクト間の距離であって、前記文書の第１の方向の距離である第１の距離が閾値以内であるオブジェクトを第１のオブジェクトグループに追加してグループ化する第１のグループ化ステップと、
前記第１のオブジェクトグループ内の複数のオブジェクト間の距離であって、前記第１の距離とは異なる方向の距離である第２の距離が閾値以内に収まらない場合、当該複数のオブジェクトが別のオブジェクトグループに属するようにグループを分ける第２のグループ化ステップとを有することを特徴とする文書管理方法。
【請求項９】
文書におけるオブジェクト間の距離であって、前記文書の第１の方向の距離である第１の距離が閾値以内であるオブジェクトを第１のオブジェクトグループに追加してグループ化する第１のグループ化ステップと、
前記第１のオブジェクトグループ内の複数のオブジェクト間の距離であって、前記第１の距離とは異なる方向の距離である第２の距離が閾値以内に収まらない場合、当該複数のオブジェクトが別のオブジェクトグループに属するようにグループを分ける第２のグループ化ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置、文書管理方法、及びコンピュータプログラムに関し、特に、文書における、図形、文字列、画像等の描画オブジェクトをブロック化するために用いて好適なものである。
【背景技術】
【０００２】
従来から、文書画像の領域をブロック化（画定）するブロック化技術があった。このブロック化技術として、文書の画像データに対して、像域分離（ブロックセレクション）を適用する方法があった。この方法は、ヒストグラムやグラフ分割法等の技術を利用して文書画像の領域を抽出するものである。この方法を用いた技術として特許文献１に記載の技術がある。特許文献１では、まず、画像データを横方向及び縦方向に走査し、最長白ラン幅のヒストグラムを作成する。そして、作成したヒストグラムを用いて、領域抽出処理を行い、抽出した領域を、フィールドセパレータ領域、写真領域、図表領域、及びその他の文字領域のうちの何れかの属性に分類する。
【０００３】
【特許文献１】特開平５-４０８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した従来の技術では、ブロック化を行う対象となるデータが画像であることが前提である。このため、前述した従来の技術を例えば構造化文書に適応する場合、構造化文書内の描画データを一旦ラスタライズし、更にヒストグラムやグラフ分割等の技法を用いて像域分離を行う必要がある。したがって、ブロック化（領域の抽出）が完了するまでに非常に時間を要する課題があった。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、文書画像の領域を従来よりも高速にブロック化できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の文書管理装置は、文書におけるオブジェクト間の距離であって、前記文書の第１の方向の距離である第１の距離が閾値以内であるオブジェクトを第１のオブジェクトグループに追加してグループ化する第１のグループ化手段と、前記第１のオブジェクトグループ内の複数のオブジェクト間の距離であって、前記第１の距離とは異なる方向の距離である第２の距離が閾値以内に収まらない場合、当該複数のオブジェクトが別のオブジェクトグループに属するようにグループを分ける第２のグループ化手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、文書の第１の方向の距離が閾値以内であるオブジェクトを第１のオブジェクトグループとしてグループ化する。その後、第１のオブジェクトグループ内のオブジェクトのうち、文書の第２の方向の距離が閾値以内に収まらない複数のオブジェクトを別のオブジェクトグループに属するようにする。したがって、ヒストグラムやグラフ分割等の技法を用いなくても、オブジェクトのグループ化が可能になる。よって、文書画像の領域を従来よりも高速にブロック化できるようになる。
【発明を実施するための最良の形態】
【０００８】
以下に、図面を参照しながら、本発明の一実施形態について説明する。本実施形態では、構造化文書に含まれる描画オブジェクト（以下の説明では、必要に応じてオブジェクトと略称する）を自動的にブロック化する場合を例に挙げて説明する。ここで、構造化文書とは、マークアップ言語により作成された文書をいい、計算機での管理や処理のために文書中に文書の構造を示すタグを入れることで、論理構造を定義している文書である。このため、テキストデータでありながら、複雑な文書構造を持ちつつ、ＯＳやソフトウェアの制約を受けることなく利用することができ、汎用度が高い文書データとなる。
【０００９】
図１は、ページレイアウト（ブロック化処理）を実行する文書管理装置のシステム構成の一例を示す図である。
図１において、コンピュータモジュール１０１には、入力／出力インタフェイス（Ｉ／Ｏインタフェイス）１４３を介して、キーボード１３２やマウス１３３のようなポインティングデバイス等の入力装置が接続される。また、コンピュータモジュール１０１には、ディスプレイ装置１４４や、状況に応じてはローカルプリンタ１４５を含む出力装置が接続される。入力／出力インタフェイス（Ｉ／Ｏインタフェイス）１３８は、コンピュータモジュール１０１をネットワーク１０７に接続し、コンピュータモジュール１０１を、外部の他のコンピュータ装置と通信可能に接続する。ネットワーク１０７としては、例えば、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）やインターネットが挙げられる。
【００１０】
コンピュータモジュール１０１は、少なくとも１つのプロセッサユニット（ＣＰＵ）１３５を有している。また、コンピュータモジュール１０１は、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）を備えて構成されるメモリユニット１３６を有している。また、コンピュータモジュール１０１は、ビデオインタフェイス１３７を含む入力／出力（Ｉ／Ｏ）インタフェイスと、キーボード１３２やマウス１３３とコンピュータモジュール１０１とを相互に接続するための前述したＩ／Ｏインタフェイス１４３と有している。
更に、コンピュータモジュール１０１は、例えばハードディスクドライブ（ＨＤＤ）１４０やフレキシブルディスクドライブ（ＦＤＤ）１４１を含む記憶装置１３９を有している。図１には示していないが、磁気テープドライブ等が記憶装置１３９に含まれることもある。ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される。
コンピュータモジュール１０１は、LINUX（登録商標）やWINDOWS（登録商標）のようなオペレーションシステムや、相互接続バス１３４を介して通信を行うコンピュータモジュール１０１のコンポーネント１３５〜１４３を利用して処理を実行する。
以下に示すフローチャートで示された手順を実現するソフトウェアは、例えば記憶装置１３９を含む"コンピュータモジュール１０１の可読媒体"に格納される。ソフトウェアは、コンピュータモジュール１０１の可読媒体からメモリユニット１３６にロードされ、プロセッサユニット（ＣＰＵ）１３５によって実行される。コンピュータモジュール１０１でコンピュータプログラム製品を使用することにより、文書管理装置を、ドキュメントのレイアウト編集に有利な装置として作動することができる。
【００１１】
図２は、オブジェクトリストの一例を示す図である。
図２に示すオブジェクトリスト２００は、例えばＨＤＤ１４０に格納される。本実施形態では、コンピュータモジュール１０１は、図２に示すようなオブジェクトリスト２００を用いることにより、構造化文書内のオブジェクトの情報を管理する。図２に示すように、各オブジェクトの情報がリスト構造になってオブジェクトリスト２００に格納されている。また、各オブジェクトの情報には、オブジェクトＩＤ２０１と、オブジェクト種類２０２、左上座標２０３と、右下座標２０４と、オブジェクト固有情報２０５とが含まれている。ここで、左上座標２０３及び右下座標２０４は、オブジェクトの位置を示す情報である。
【００１２】
図３は、オブジェクトリスト２００に格納されるオブジェクトの情報と、実際のオブジェクトとの関係の一例を示す図である。
図３に示すように、左上座標２０３ａが(20,34)、右下座標２０４ａが(81,65)の位置にある長方形のオブジェクト３０１の情報は、図３の右図に示す内容でオブジェクトリスト２００に格納（登録）される。
【００１３】
図４は、ＰＤＦフォーマットの構造化文書から、図３に示したような長方形のオブジェクト３０１が読み出され、そのオブジェクトの情報が取り出されることの一例を概念的に示す図である。
尚、図４では、構造化文書としてＰＤＦフォーマットの構造化文書４０１を例に挙げて示しているが、構造化文書は、このようなものに限定されない。例えば、XPS（XML Paper Specification）、SVG（Scalable Vector Graphics）等の構造化文書でも、ＰＤＦフォーマットの構造化文書と同様に処理できる。また、OOXML（Office Open XML）、ODF（Open Document Format）等の構造化文書でも、ＰＤＦフォーマットの構造化文書と同様に処理できる。
【００１４】
図５は、構造化文書のオブジェクトをブロック化する際の文書管理装置のレイアウト処理部の処理の一例を説明するフローチャートである。尚、本実施形態では、レイアウト処理部は、プロセッサユニット（ＣＰＵ）１３５、メモリユニット１３６、及びＨＤＤ１４０等を用いることにより実現できる。尚、フローチャートで示す手順は、メモリユニット（ＲＡＭ又はＲＯＭ）１３６、及びＨＤＤ１４０の何れかに記憶されており、その手順がプロセッサユニット（ＣＰＵ）１３５により実行される。
【００１５】
まず、レイアウト処理部は、オブジェクトリストＬＯから、オブジェクトを１つ取得する。(ステップＳ５０１）。オブジェクトリストＬＯは、例えば図２に示したオブジェクトリスト２００である。
次に、レイアウト処理部は、新しいオブジェクトグループＧを生成する（ステップＳ５０２）。ここで、オブジェクトグループＧは、オブジェクトリストＬＯと同等の形式を有し、且つ、レイアウト処理部が１つのオブジェクトとして操作することができるデータ形式を有する。
次に、レイアウト処理部は、生成したオブジェクトグループＧに、ステップＳ５０１で取得したオブジェクトを追加する（ステップＳ５０３）。
次に、レイアウト処理部は、オブジェクトグループＧに追加したオブジェクトを、オブジェクトリストＬＯから削除する（ステップＳ５０４）。
【００１６】
次に、レイアウト処理部は、オブジェクトリストＬＯに、オブジェクトがまだ残っているか否かを判定する（ステップＳ５０５）。この判定の結果、オブジェクトリストＬＯに、オブジェクトが残っていない場合、レイアウト処理部は、オブジェクトグループＧをオブジェクトリストＬＯに追加する（ステップＳ５１０）。そして、図５のフローチャートによる処理を終了する。
【００１７】
一方、オブジェクトリストＬＯに、オブジェクトが残っている場合、レイアウト処理部は、オブジェクトリストＬＯから、次のオブジェクトＰＯを取得する（ステップＳ５１１）。
次に、レイアウト処理部は、オブジェクトグループＧの中から、オブジェクトＧＯを１つ取得する（ステップＳ５１２）。
次に、レイアウト処理部は、オブジェクトグループＧの中から、オブジェクトＧＯを取得できたか否かを判定する（ステップＳ５１３）。この判定の結果、オブジェクトグループＧの中から、オブジェクトＧＯを取得できない場合には、前述したステップＳ５０２に戻る。
一方、オブジェクトグループＧの中から、オブジェクトＧＯを取得できた場合、レイアウト処理部は、ステップＳ５１１で取得したオブジェクトＰＯと、ステップＳ５１２で取得したオブジェクトＧとの間の垂直方向の距離を計算する（ステップＳ５１４）。
【００１８】
図６は、２つのオブジェクトの間の垂直方向の距離の一例を説明する図である。
図６に示すように、本実施形態では、オブジェクト間の距離とは、オブジェクト６０１、６０２を包む外接矩形の間の最短距離のことをいう。図６に示す例では、オブジェクト６０１は長方形であるのに対し、オブジェクト６０２は楕円である。したがって、レイアウト処理部は、楕円のオブジェクト６０２の外接矩形６０３を作成し、この外接矩形６０３と長方形のオブジェクト６０１との垂直方向の最短距離６０４を、２つのオブジェクト６０１、６０２の間の垂直方向の距離として計算する。
【００１９】
図５の説明に戻り、レイアウト処理部は、ステップＳ５１４で計算した距離が閾値以内か否かを判定する（ステップＳ５１５）。この判定の結果、ステップＳ５１４で計算した距離が閾値以内でなければ、前述したステップＳ５１２に戻る。一方、ステップＳ５１４で計算した距離が閾値以内であれば、前述したステップ５０３に戻る。
ここで閾値とは、システムで定められる一定の大きさの距離のことであり、本実施形態では、この距離の閾値でブロック化するオブジェクト同士を垂直方向で分離している。
以上のように本実施形態では、例えば、文書の垂直方向が第１の方向の一例となり、ステップＳ５１４で計算した距離が第１の距離の一例となり、オブジェクトグループＧが第１のオブジェクトグループの一例となる。また、例えば、ステップＳ５０３の処理を行うことにより第１のグループ化手段の一例が実現される。
【００２０】
図７は、文書と、その文書のオブジェクトを図５のフローチャートによってブロック化した結果の一例を示す図である。
図７に示すように、ページ７０１上で、オブジェクト７１１とオブジェクト７１２とがブロック化され、１つのブロック７２１にブロック化されている。同様に、オブジェクト７１３とオブジェクト７１４とが１つのブロック７２２に、オブジェクト７１５とオブジェクト７１６とが１つのブロック７２３に夫々ブロック化されている。尚、オブジェクト７１１とオブジェクト７１２は隣り合っているため、両者の垂直方向の差異は０とみなされる。その結果、両者の垂直方向の差異が閾値値以内に収まるため、両者がブロック化されている。
図７に示すように、本実施形態では、ページレイアウトを変更するに際し、最も小さい区分けによるオブジェクトの距離を全て考慮するのではなく、ある程度のまとまったオブジェクト群からなる「ブロックの距離」を考慮するようにしている。
【００２１】
図８は、図５に示したフローチャート処理で生成したオブジェクトグループＧ内のオブジェクトを再ブロック化するか否かを判定する際の文書管理装置のレイアウト処理部の処理の一例を説明するフローチャートである。
まず、レイアウト処理部は、オブジェクトリストＬＯから、図５のステップＳ５１０で追加されたオブジェクトグループＧを１つ取得する（ステップＳ８０１）。
次に、レイアウト処理部は、ステップＳ８０１で取得したオブジェクトグループＧの中のオブジェクトが１つのみであるか否かを判定する（ステップＳ８０２）。
この判定の結果、ステップＳ８０１で取得したオブジェクトグループＧの中のオブジェクトが１つのみの場合、レイアウト処理部は、オブジェクトリストＬＯの中に、未参照のオブジェクトグループＧが残っているか否かを判定する（ステップＳ８０６）。この判定の結果、未参照のオブジェクトグループＧが残っていない場合には、図８のフローチャートによる処理を終了する。
一方、未参照のオブジェクトグループＧが残っている場合には、前述したステップＳ８０１に戻る。
【００２２】
ステップＳ８０２において、テップＳ８０１で取得したオブジェクトグループＧの中のオブジェクトが１つのみでない（２つ以上ある）場合、レイアウト処理部は、次の処理を行う。すなわち、レイアウト処理部は、ステップＳ８０１で取得したオブジェクトグループＧの外接矩形の領域の縦（垂直方向）の長さが横（水平方向）の長さよりも長いか否か（縦横比（縦の長さ／横の長さ）＞１であるか否か）を判定する（ステップＳ８０３）。
この判定の結果、ステップＳ８０１で取得したオブジェクトグループＧの外接矩形の領域の縦の長さが横の長さよりも長い場合には、前述したステップＳ８０６に進む。
【００２３】
一方、ステップＳ８０１で取得したオブジェクトグループＧの外接矩形の領域の縦の長さが横の長さよりも長くない場合、レイアウト処理部は、次の処理を行う。すなわち、レイアウト処理部は、ステップＳ８０１で取得したオブジェクトグループＧ内に、オブジェクトの幅（水平方向の長さ）が閾値以上であるオブジェクトが存在するか否かを判定する（ステップＳ８０４）。
この判定の結果、ステップＳ８０１で取得したオブジェクトグループＧ内に、オブジェクトの幅が閾値以上であるオブジェクトが存在する場合には、前述したステップＳ８０６に進む。
一方、ステップＳ８０１で取得したオブジェクトグループＧ内の全てのオブジェクトの幅が閾値未満である場合、レイアウト処理部は、図９のフローチャートに従って再ブロック化処理を実行する（ステップＳ８０５）。そして、前述したステップＳ８０６に進む。
以上のように本実施形態では、例えば、ステップＳ８０２の処理を行うことにより第１の判定手段の一例が実現される。また、ステップＳ８０３の処理を行うことにより第２の判定手段の一例が実現される。また、ステップＳ８０４の処理を行うことにより第３の判定手段の一例が実現される。
【００２４】
図９は、図８のステップＳ８０５における再ブロック化処理の一例を詳細に説明するフローチャートである。
まず、レイアウト処理部は、図８のステップＳ８０１で取得したオブジェクトグループＧからオブジェクトを１つ取得する（ステップＳ９０１）。ステップＳ９０１にて取得されるオブジェクトグループの一例は、図７のグループ７２１である。
次に、レイアウト処理部は、新しいオブジェクトグループＧＣを生成する（ステップＳ９０２）。ここで、オブジェクトグループＧＣは、オブジェクトリストＬＯと同等の形式を有し、且つ、レイアウト処理部が１つのオブジェクトとして操作することができるデータ形式を有する。
【００２５】
また、このオブジェクトグループＧＣは、オブジェクトグループＧと親子関係を持つ。よって、オブジェクトグループＧのオブジェクトＩＤ２０１が「0001」の場合、レイアウト処理部は、オブジェクトグループＧＣのオブジェクトＩＤとして「0001-1」等を付与する。尚、ここでは、オブジェクトグループＧＣのオブジェクトＩＤに、オブジェクトグループＧ、ＧＣが親子関係であることを示すようにした。しかしながら、必ずしもこのようにする必要はなく、オブジェクトグループＧ、ＧＣのオブジェクトＩＤの少なくとも何れかに、オブジェクトグループＧ、ＧＣが親子関係であることを示すようにしていればよい。
以上のように本実施形態では、例えば、オブジェクトグループＧのオブジェクトＩＤが第１のグループ識別情報の一例となり、オブジェクトグループＧＣのオブジェクトＩＤが第２のグループ識別情報の一例となる。また、例えば、レイアウト処理部がオブジェクトグループＧにオブジェクトＩＤを付与することにより第１の付与手段の一例が実現される。また、レイアウト処理部がオブジェクトグループＧＣにオブジェクトＩＤを付与することにより第２の付与手段の一例が実現される。
【００２６】
次に、レイアウト処理部は、生成したオブジェクトグループＧＣに、ステップＳ９０１で取得したオブジェクトを追加する（ステップＳ９０３）。ステップＳ９０３において追加されるオブジェクトの一例は、オブジェクトグループ７２１内の左のオブジェクトである。
次に、レイアウト処理部は、オブジェクトグループＧに、オブジェクトがまだ残っているか否かを判定する（ステップＳ９０４）。この判定の結果、オブジェクトグループＧにオブジェクトが残っていない場合、レイアウト処理部は、オブジェクトグループＧＣをオブジェクトリストＬＯに追加する（ステップＳ９０５）。そして、図９のフローチャートによる処理を終了する。
【００２７】
一方、オブジェクトグループＧに、オブジェクトが残っている場合、レイアウト処理部は、オブジェクトグループＧから、次のオブジェクトＰＯを取得する（ステップＳ９０６）。ステップＳ９０６にて取得されるオブジェクトＰＯの一例は、オブジェクトグループ７２１内の右のオブジェクトである。
次に、レイアウト処理部は、オブジェクトグループＧＣの中から、オブジェクトＧＯを１つ取得する（ステップＳ９０７）。ステップＳ９０７において取得されるオブジェクトの一例は、オブジェクトグループ７２１内の左のオブジェクトである。
次に、レイアウト処理部は、オブジェクトグループＧＣの中から、オブジェクトＧＯを取得できたか否かを判定する（ステップＳ９０８）。この判定の結果、オブジェクトグループＧＣの中から、オブジェクトＧＯを取得できない場合には、前述したステップＳ９０２に戻る。
一方、オブジェクトグループＧＣの中から、オブジェクトＧＯを取得できた場合、レイアウト処理部は、ステップＳ９０６で取得したオブジェクトＰＯと、ステップＳ９０７で取得したオブジェクトＧＯとの間の水平方向の距離を計算する（ステップＳ９０９）。
【００２８】
前述したように、図５のステップＳ５１４では、オブジェクトを包む外接矩形同士の垂直方向における最短距離をオブジェクト間の距離とした。これに対し、図９のステップＳ６０９では、オブジェクトを包む外接矩形同士の水平方向における最短距離をオブジェクト間の距離とする。
図１０は、２つのオブジェクトの間の水平方向の距離の一例を説明する図である。
図１０に示す例では、オブジェクト１００１は長方形であるのに対し、オブジェクト１００２は楕円である。したがって、レイアウト処理部は、楕円のオブジェクト１００２の外接矩形１００３を作成し、この外接矩形１００３と長方形のオブジェクト１００１との垂直方向の最短距離１００４を、２つのオブジェクト１００１、１００２の間の水平方向の距離として計算する。
【００２９】
図９の説明に戻り、レイアウト処理部は、ステップＳ９０９で計算した距離が閾値以内か否かを判定する（ステップＳ９１０）。この判定の結果、ステップＳ９０９で計算した距離が閾値以内でなければ、前述したステップＳ９０７に戻る。例えば、図７のグループ７２１内のオブジェクト間の距離が閾値以内でない場合、Ｓ８０５の再ブロック化が実行された後、図１１のようにグループ７２１内の２つ（複数）のオブジェクトが別のオブジェクトグループに属するようにグループが分けられる。
一方、ステップＳ９０９で計算した距離が閾値以内であれば、前述したステップ９０３に戻る。例えば、図７のグループ７２１内の２つのオブジェクト間の距離が閾値以内である場合、グループ７２１のオブジェクトは最ブロック化が実行された後も同一グループ内に属することになる。
ここで閾値とは、システムで定められる一定の大きさの距離のことであり、本実施形態では、この距離の閾値でブロック化するオブジェクト同士を水平方向で分離している。
以上のように本実施形態では、例えば、文書の水平方向が第２の方向の一例となり、ステップＳ９０９で計算した距離が第２の距離の一例となり、オブジェクトグループＧＣが第２のオブジェクトグループの一例となる。また、例えば、ステップＳ９０３の処理を行うことにより第２のグループ化手段の一例が実現される。
【００３０】
図１１は、文書のオブジェクトを図５のフローチャートに基づきブロック化した結果と、その文書のオブジェクトを、更に図８、図９のフローチャートに基づきブロック化した結果の一例を示す図である。
図１１に示すように、ページ１１０１上で、ブロック１１１１は、２つのブロック１１２１、１１２２に再ブロック化される。同様に、オブジェクト１１１４は、２つのブロック１１２５、１１２６に再ブロック化される。一方、ブロック１１１２については、図８のステップＳ８０３の判定結果により再ブロック化が行われない。また、ブロック１１１３については、図８のステップＳ８０４の判定結果により再ブロック化が行われない。
【００３１】
そして、レイアウト処理部は、ユーザによるキーボード１３２やマウス１３３等の操作に基づいて、文書に設定されているブロックの状態の表示が指示されると、その文書に対して設定されているオブジェクトグループＧ、ＧＣを抽出する。そして、レイアウト処理部は、抽出したオブジェクトグループＧ、ＧＣのグループＩＤを参照し、参照した結果に基づいて、ユーザが指定した文書におけるブロックの状態をディスプレイ装置１４４に表示することができる。例えば、図７の右図に示したような画像、図１１の右図に示したような画像、及び図１１の左図と右図との双方の画像の何れかを、ユーザの操作に基づいてディスプレイ装置１４４に表示することができる。また、それらの表示を、ユーザの操作に基づいて切り替え表示することもできる。更に、表示したグループをユーザに選択させて編集させることもできる。この他、図５の処理のみを行うブロック化処理と、図５、図８、図９の処理を行うブロック化処理との何れかを実行するのかを、ユーザに選択させるようにすることもできる。
以上のように本実施形態では、例えば、レイアウト処理部が、オブジェクトグループＧ、ＧＣのグループＩＤを参照してユーザが指定した文書におけるブロックの状態を表示装置に表示することにより表示手段の一例が実現される。
【００３２】
以上のように本実施形態では、構造化文書に含まれる各オブジェクトの情報をリスト形式で纏めたオブジェクトリストＬＯを生成する。文書の垂直方向の距離が閾値以内であるオブジェクトを１つのオブジェクトグループＧに含め、そのオブジェクトグループＧ内にあるオブジェクトを１つのグループとしてグループ化する。その後、オブジェクトグループＧ内に含まれる２つ以上のオブジェクトの外接矩形の水平方向の長さが垂直方向の長さ以上であり、且つ、それら２つ以上のオブジェクトの少なくとも１つの水平方向の長さが閾値以上でない場合に、再ブロック化処理を行う。再ブロック化処理では、オブジェクトグループＧに含まれるオブジェクトのうち、水平方向の距離が閾値以内であるオブジェクトを、１つのオブジェクトグループＧＣとしてグループ化する。
したがって、構造化文書内の描画データをラスタライズし、更にヒストグラムやグラフ分割等の技法を用いて像域分離を行う必要がなくなる。したがって、ブロック化（領域の抽出）が完了するまでの時間を従来よりも短縮することができる。
【００３３】
ところで、文書における複数のオブジェクトのブロック化を簡便に且つ高速に行うために、図５の処理だけを行うことが考えられる。すなわち、文書のオブジェクトを上から垂直方向に探索し、探索したオブジェクトを順次参照し、上下のオブジェクトの距離が閾値以内であれば、それらをブロック化し、順次ブロック化する領域を広げる。一方、ブロック化した領域とその直下のオブジェクトとの距離が閾値以内でない場合には、それらを別々のブロックとみなす。
しかしながら、このようにした場合、文書の垂直方向の距離のみでブロック化領域を作成する。このため、例えば文字列の段組のように、水平方向の距離が離れたオブジェクトであっても、垂直方向の距離が近ければ同一のブロックとなってしまう課題がある。
【００３４】
また、図８のステップＳ８０２〜Ｓ８０４の少なくとも何れか１つを行わないようにすることも考えられる。例えば、ステップＳ８０３、Ｓ８０４を行わない場合には、垂直方向及び水平方向の両方の距離が閾値以内であるオブジェクトをブロック化し、そうでないオブジェクトを別々のブロックにすることになる。ただし、このようにして単純にブロック化処理を行うと、各ブロック自体が非常に細分化されてしまうため、ユーザの利便性を損ない、また、ブロック化自体の処理に非常に時間を要してしまう課題がある。
【００３５】
これに対し、本実施形態では、構造化文書に対して、垂直方向及び水平方向の両方から、オブジェクト間の距離を参照すると共に、ブロック化の条件（オブジェクト数、外接矩形領域の縦横比、オブジェクト幅）を満たす場合にのみブロック化を行うようにした。したがって、不必要なブロック化処理を可及的に省略することができ、従来よりも簡便、高速、且つ正確に自動ブロック化を実現することが可能になり、より好ましい形態となる。
【００３６】
また、本実施形態では、文書の垂直方向の距離に基づいて生成したオブジェクトグループＧ（親）と、文書の水平方向の距離に基づいて生成したオブジェクトグループＧＯ（子）との親子関係をグループＩＤで判別できるようにした。したがって、ユーザの用途に応じて、ブロックの状態を表示したり、選択の切り替えを行ったりすることが可能となる。
【００３７】
尚、本実施形態では、文書の垂直方向の距離に基づいてオブジェクトグループＧを生成してから、文書の水平方向の距離に基づいて、オブジェクトグループＧを更に細分化したオブジェクトグループＧＯを作成する場合を例に挙げて説明した。しかしながら、文書の水平方向の距離に基づいてオブジェクトグループを生成してから、文書の垂直方向の距離に基づいて、当該オブジェクトグループを更に細分化したオブジェクトグループを作成してもよい。このようにした場合、例えば、図８のステップＳ８０３において、オブジェクトグループＧの外接矩形の領域の横の長さが縦の長さよりも長いか否かを判定するようにしてもよい。また、ステップＳ８０４において、オブジェクトグループＧ内に、オブジェクトの高さ（縦の長さ）が閾値以上であるオブジェクトが存在するか否かを判定するようにしてもよい。
また、本実施形態では、オブジェクトグループＧの属性が所定の条件を満たすか否かを判定するための判定基準として、ステップＳ８０２〜Ｓ８０４の３つの判定基準を用いた場合を例に挙げて説明したが、必ずしもこのようにする必要はない。例えば、ステップＳ８０２〜Ｓ８０４の３つの判定基準のうち、少なくとも１つ（ステップＳ８０２のみ、ステップＳ８０２とステップＳ８０３、又はステップＳ８０２とステップＳ８０４等）を採用することができる。
【００３８】
（本発明の他の実施形態）
前述した本発明の実施形態における文書管理装置を構成する各手段、並びに文書管理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００３９】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４０】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図５、図８、図９に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００４１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００４２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００４３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００４４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００４５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００４６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００４７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００４８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００４９】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施形態を示し、ページレイアウト（ブロック化処理）を実行する文書管理装置のシステム構成の一例を示す図である。
【図２】本発明の実施形態を示し、オブジェクトリストの一例を示す図である。
【図３】本発明の実施形態を示し、オブジェクトリストに格納されるオブジェクトの情報と、実際のオブジェクトとの関係の一例を示す図である。
【図４】本発明の実施形態を示し、ＰＤＦフォーマットの構造化文書から、長方形のオブジェクトが読み出され、そのオブジェクトの情報が取り出されることの一例を概念的に示す図である。
【図５】本発明の実施形態を示し、構造化文書のオブジェクトをブロック化する際の文書管理装置のレイアウト処理部の処理の一例を説明するフローチャートである。
【図６】本発明の実施形態を示し、２つのオブジェクトの間の垂直方向の距離の一例を説明する図である。
【図７】本発明の実施形態を示し、文書と、その文書のオブジェクトを図５のフローチャートによってブロック化した結果の一例を示す図である。
【図８】本発明の実施形態を示し、図５に示したフローチャート処理で生成したオブジェクトグループ内のオブジェクトを再ブロック化するか否かを判定する際の文書管理装置のレイアウト処理部の処理の一例を説明するフローチャートである。
【図９】本発明の実施形態を示し、図８のステップＳ８０５における再ブロック化処理の一例を詳細に説明するフローチャートである。
【図１０】本発明の実施形態を示し、２つのオブジェクトの間の水平方向の距離の一例を説明する図である。
【図１１】本発明の実施形態を示し、文書のオブジェクトを図５のフローチャートに基づきブロック化した結果と、その文書のオブジェクトを、更に図８、図９のフローチャートに基づきよってブロック化した結果の一例を示す図である。
【符号の説明】
【００５１】
１０１  コンピュータモジュール
２００  オブジェクトリスト
２０１  オブジェクトＩＤ
２０２  オブジェクト種類
２０３  左上座標
２０４  右下座標
７１１〜７１６  オブジェクト
７２１〜７２３、１１１１〜１１１４、１１２１〜１１２６  ブロック
【図１】
2010020642.tif 000003
【図２】
2010020642.tif 000004
【図３】
2010020642.tif 000005
【図４】
2010020642.tif 000006
【図５】
2010020642.tif 000007
【図６】
2010020642.tif 000008
【図７】
2010020642.tif 000009
【図８】
2010020642.tif 000010
【図９】
2010020642.tif 000011
【図１０】
2010020642.tif 000012
【図１１】
2010020642.tif 000013