(57)【要約】【課題】相異なる階層で定義されたオブジェクトをグループ化する構造化文書において、グループ化の精度を向上するデータ処理装置を提供する。【解決手段】構造化文書のページ内において定義された第１のオブジェクトと、ページ内において第１のオブジェクトよりも下位階層に定義された第２のオブジェクトと、第１のオブジェクトが第２のオブジェクトと関連付けられているかを判定する第１の判定手段と、関連付けられていないと判定された場合、第１のオブジェクトと第２のオブジェクトとが重なるかを判定する第２の判定手段と、関連付けられていると判定された場合もしくは第１のオブジェクトと第２のオブジェクトとが重なると判定された場合、第１のオブジェクトと第２のオブジェクトとを１つのグループにし、重ならないと判定された場合、第１のオブジェクトと第２のオブジェクトとを別のグループにする。【選択図】図９
2010244436.tif 000002
【特許請求の範囲】
【請求項１】
相異なる階層に定義された第１のオブジェクトと第２のオブジェクトとを含む構造化文書のページ内で、前記第１のオブジェクトと前記第１のオブジェクトより下位階層に定義された前記第２のオブジェクトを１つのグループにグループ化処理するデータ処理装置であって、
前記第１のオブジェクトが前記第２のオブジェクトと関連付けられているか否かを判定する第１の判定手段と、
前記第１の判定手段による判定の結果、関連付けられていないと判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとが重なるか否かを判定する第２の判定手段と、
前記第１の判定手段による判定の結果、関連付けられていると判定された場合、もしくは、前記第２の判定手段による判定の結果、前記第１のオブジェクトと前記第２のオブジェクトとが重なると判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとを１つのグループにする第１のグループ化手段と、
前記第２の判定手段による判定の結果、重ならないと判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとを別のグループにする第２のグループ化手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記第２のグループ化手段によりグループ化された前記第１のオブジェクトが、前記第２のオブジェクトが含まれるグループと重なるか否かを判定する第３の判定手段と、
前記第３の判定手段による判定の結果、重なると判定された場合に、前記第１のオブジェクトを、前記第２のオブジェクトが含まれるグループに重ならないように移動する移動手段と
をさらに備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
相異なる階層に定義された第１のオブジェクトと第２のオブジェクトとを含む構造化文書のページ内で、前記第１のオブジェクトと前記第１のオブジェクトより下位階層に定義された前記第２のオブジェクトを１つのグループにグループ化処理するデータ処理装置において実行されるデータ処理方法であって、
前記データ処理装置の第１の判定手段が、前記第１のオブジェクトが前記第２のオブジェクトと関連付けられているか否かを判定する第１の判定工程と、
前記データ処理装置の第２の判定手段が、前記第１の判定工程における判定の結果、関連付けられていないと判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとが重なるか否かを判定する第２の判定工程と、
前記データ処理装置の第１のグループ化手段が、前記第１の判定工程における判定の結果、関連付けられていると判定された場合、もしくは、前記第２の判定工程における判定の結果、前記第１のオブジェクトと前記第２のオブジェクトとが重なると判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとを１つのグループにする第１のグループ化工程と、
前記データ処理装置の第２のグループ化手段が、前記第２の判定工程における判定の結果、重ならないと判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとを別のグループにする第２のグループ化工程と
を備えることを特徴とするデータ処理方法。
【請求項４】
コンピュータに、請求項３に記載のデータ処理方法の各工程を実行させるためのデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書で定義されたオブジェクトを処理するデータ処理装置及び方法に関する。
【背景技術】
【０００２】
従来のオブジェクトのブロック化（以下、グループ化ともいう）に関連した技術としては、ワードプロセッサ等で文書データと位置関係が関連した図形との連動移動を利用した技術がある。特許文献１のように、自動レイアウト処理によって文書データを適正位置に移動させる場合、それと関連する図形データが有れば、その図形データも文書データの移動に合せて自動的に移動する。そして、レイアウト規則に適合するか否かを判定し、文書データがレイアウト規則に適合しない場合には、その適合位置に文書データを移動する。また、位置関係が関連した図形データも、対応する文書データの移動に合わせて自動的に移動させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−２９８２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の場合には、位置関係から関連性があると推測される各描画オブジェクトを連動移動する。そのため、例えば、アノテーションのような上位レイアの描画オブジェクトがページ内に存在した場合、位置関係のみの判断で連動移動するので、描画オブジェクト同士の自動ブロック化を行った際に、適切でないブロック化を行ってしまうおそれがある。
【０００５】
例えば、ユーザの視認上、ページ内の描画オブジェクトに関連せず、ページに依存するアノテーションなどは、ページ内の描画オブジェクトとは別ブロックとして自動ブロック化されるのが望ましい。しかしながら、アノテーションをページ内の描画オブジェクトと位置関係のみで自動ブロック化を行った場合には、同一ブロックとして包含されてしまう。
【０００６】
図１１は、ページ内の描画オブジェクトとアノテーションとを位置関係のみで自動ブロック化した場合の例である。ページ１１０１において自動ブロック化を行うと、ページ１１０２に示すように同一ブロックとして包含されてしまう。つまり、アノテーションなどの上位レイアとページ内の描画オブジェクトの下位レイヤにおいて、上位レイヤの描画オブジェクトの種類に応じた適切な自動ブロック化の処理をする必要がある。
【０００７】
そこで、上記の点に鑑み、本発明は、ページ内で相異なる階層で定義されたオブジェクトをグループ化する構造化文書において、グループ化の精度を向上するデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係るデータ処理装置は、相異なる階層に定義された第１のオブジェクトと第２のオブジェクトとを含む構造化文書のページ内で、第１のオブジェクトと第１のオブジェクトより下位階層に定義された第２のオブジェクトを１つのグループにグループ化処理するデータ処理装置であって、第１のオブジェクトが第２のオブジェクトと関連付けられているか否かを判定する第１の判定手段と、第１の判定手段による判定の結果、関連付けられていないと判定された場合に、第１のオブジェクトと第２のオブジェクトとが重なるか否かを判定する第２の判定手段と、第１の判定手段による判定の結果、関連付けられていると判定された場合、もしくは、第２の判定手段による判定の結果、第１のオブジェクトと第２のオブジェクトとが重なると判定された場合に、第１のオブジェクトと第２のオブジェクトとを１つのグループにする第１のグループ化手段と、第２の判定手段による判定の結果、重ならないと判定された場合に、第１のオブジェクトと第２のオブジェクトとを別のグループにする第２のグループ化手段とを備える。
【０００９】
また、本発明に係るデータ処理方法は、相異なる階層に定義された第１のオブジェクトと第２のオブジェクトとを含む構造化文書のページ内で、第１のオブジェクトと第１のオブジェクトより下位階層に定義された第２のオブジェクトを１つのグループにグループ化処理するデータ処理装置において実行されるデータ処理方法であって、第１のオブジェクトが第２のオブジェクトと関連付けられているか否かを判定する第１の判定工程と、第１の判定工程における判定の結果、関連付けられていないと判定された場合に、第１のオブジェクトと第２のオブジェクトとが重なるか否かを判定する第２の判定工程と、第１の判定工程における判定の結果、関連付けられていると判定された場合、もしくは、第２の判定工程における判定の結果、第１のオブジェクトと第２のオブジェクトとが重なると判定された場合に、第１のオブジェクトと第２のオブジェクトとを１つのグループにする第１のグループ化工程と、第２の判定工程における判定の結果、重ならないと判定された場合に、第１のオブジェクトと第２のオブジェクトとを別のグループにする第２のグループ化工程とを備える。
【発明の効果】
【００１０】
本発明によれば、ページ内で相異なる階層で定義されたオブジェクトをグループ化する構造化文書において、グループ化の精度を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る実施例において、オブジェクトをグループ化してページレイアウトを実行するデータ処理装置を含むデータ処理システムの構成を示す図である。
【図２】本実施例においてソフトウェアがオブジェクトの情報を管理するためのオブジェクトリストの一例を示す図である。
【図３】オブジェクトリストに格納されている情報の一例を示す図である。
【図４】ＰＤＦフォーマットの文書から取り出されるオブジェクト情報の一例を示す図である。
【図５】本実施例において、オブジェクトをブロック化する処理の手順を示すフローチャートである。
【図６】オブジェクトを包む外接矩形間の最短距離を説明する図である。
【図７】図５に示すフローチャートによって、オブジェクトがブロック化された一例を示す図である。
【図８】ＰＤＦにおける、ページの描画オブジェクトとアノテーションの描画オブジェクトの記述の一例を示す図である。
【図９】本実施例において、相異なる階層で定義されたオブジェクトをグループ化する処理の手順を示すフローチャートである。
【図１０】図９に示す処理によるブロック化の一例を示す図である。
【図１１】ページ内の描画オブジェクトとアノテーションとを位置関係のみで自動ブロック化した一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１３】
図１は、本発明に係る実施例においてオブジェクトをグループ化してページレイアウトを実行するデータ処理装置を含むデータ処理システムの構成を示す図である。データ処理装置であるコンピュータ１０１は、キーボード１３２やマウス１３３のようなポインティングデバイスなどの入力装置を接続し、ディスプレイ１４４や状況に応じてローカルプリンタ等のプリンタ１４５を含む出力装置を接続する。Ｉ／Ｏインタフェース１３８は、コンピュータ１０１をネットワーク１０７に接続して、システムの他のコンピュータ装置に接続することができる。そのネットワーク１０７の典型例は、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）である。また、Ｉ／Ｏインタフェース１３８は、プリンタ１４５等の出力装置を接続する。表示インタフェース１３７は、ディスプレイ１４４を接続する。
【００１４】
コンピュータ１０１は、典型的に少なくとも１つのＣＰＵ１３５、例えば、ＲＡＭやＲＯＭ等のメモリ１３６、キーボード１３２やマウス１３３等の入力装置のためのＩ／Ｏインタフェース１４３を含んでいる。記憶部１３９は、典型的には、ハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。図示されていないが磁気テープドライブなどもまた記憶部１３９として用いられる。ＣＤ−ＲＯＭ１４２は、不揮発性のデータソースとして提供される。ＣＰＵ１３５は、ＬＩＮＵＸやマイクロソフトウィンドウズ（登録商標）等のオペレーティングシステムや相互接続バス１３４を介して、各部を制御する。
【００１５】
後述する本発明のフローチャートで示された手順を実現するソフトウェアは、例えば上記のような記憶部を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体からコンピュータにロードされ、コンピュータ１０１のＣＰＵ１３５によって実行される。そのコンピュータにおいてコンピュータプログラム製品を使用することによりドキュメントのレイアウト編集に有利なデータ処理装置として動作することができる。
【００１６】
図２は、本実施例においてソフトウェアがオブジェクトの情報を管理するためのオブジェクトリストの一例を示す図である。各オブジェクトには、オブジェクトＩＤ２０１、オブジェクトの種類２０２、オブジェクトの位置を示す座標２０３及び２０４、オブジェクト固有情報２０５が含まれている。そのようなオブジェクトがリスト構造になって、オブジェクトリスト２００に格納されている。
【００１７】
図３は、オブジェクトリスト２００に格納されている情報の一例を示す図である。図３に示すような座標に位置する長方形オブジェクトは、図３に示された内容によってオブジェクトリスト２００に登録されている。
【００１８】
図４は、ＰＤＦフォーマットの文書から、図３と同様の長方形オブジェクトが読み込まれ、同じオブジェクト情報として取り出される一例を示す図である。なお、本実施例においては、構造化文書としてＰＤＦフォーマットを用いている。ここで、ＸＰＳ、ＳＶＧ、ＯＯＸＭＬ、ＯＤＦに代表される構造化文書に対しても同様の方式を採用することができる。なお、ＸＰＳとは、「XML Paper Specification」のことであり、ＳＶＧとは、「Scalable Vector Graphics」のことである。また、ＯＯＸＭＬとは、「Office Open XML」のことであり、ＯＤＦとは、「Open Document Format」のことである。
【００１９】
図５は、本実施例において、オブジェクトをブロック化する処理（グループ化処理）の手順を示すフローチャートである。本実施例におけるレイアウト処理部は、図１に示すＣＰＵ１３５、メモリ１３６、ＣＤ−ＲＯＭ１４２、ＨＤＤ１４０を含んで構成される。なお、図５のフローチャートで示す手順は、ＲＡＭ、ＲＯＭ、ＨＤＤのいずれかの記憶部に記憶され、ＣＰＵ１３５により実行される。
【００２０】
ステップＳ５０１において、レイアウト処理部は、オブジェクトリスト２００で示されたオブジェクトリスト（以下、単にリストＬＯともいう）から対象とするオブジェクトを１つ取得し、ステップＳ５０２において、新しいオブジェクトグループＧを生成する。オブジェクトグループＧは、オブジェクトリストと同等の形式を持つが、レイアウト処理部が１つのオブジェクトとして操作することのできるデータ形式である。
【００２１】
ステップＳ５０３において、レイアウト処理部は、オブジェクトグループＧにステップＳ５０１で取得したオブジェクトを追加し、ステップＳ５０４において、そのオブジェクトをリストＬＯから削除する。
【００２２】
次に、ステップＳ５０５において、オブジェクトがまだリストＬＯに残っているか否かを判定する。ここで、残っていないと判定された場合に、ステップＳ５０６において、オブジェクトグループＧをリストＬＯに追加して本処理を終了する。一方、残っていると判定された場合に、ステップＳ５０７において、レイアウト処理部は、更に次の対象となるオブジェクト（ＰＯ）をリストＬＯから取得し、ステップＳ５０８において、オブジェクトグループＧの中のオブジェクトＧＯを取得する。ステップＳ５０９において、オブジェクトＧＯが取得できたか否かを判定する。ここで、取得できなかったと判定された場合には、ステップＳ５０２からの処理を繰り返す。一方、オブジェクトＧＯが取得できたと判定された場合には、ステップＳ５１０において、オブジェクトＰＯとオブジェクトＧＯとの間の垂直方向の距離を計算する。
【００２３】
ここで、オブジェクト間の距離とは、図６に示すように、オブジェクトを包む外接矩形を考え、それらの外接矩形間の最短距離をいう。図６に示すように、６０１は長方形オブジェクト、６０２は楕円オブジェクト、６０３は楕円オブジェクトの外接矩形を表す。ここで、矢印６０４の長さが、それら２オブジェクト間の距離に相等する。
【００２４】
ステップＳ５１１において、レイアウト処理部は、計算した距離が閾値以内か否かを判定する。ここで、閾値より離れていると判定された場合に、ステップＳ５０８に戻り、他のオブジェクトグループＧ内の他のオブジェクトを１つ取得して、以降の処理を繰り返す。一方、閾値以内であると判定された場合に、ステップＳ５０３に戻り、オブジェクトＰ０をオブジェクトＧに追加する。上記の閾値とは、システムで定められた一定の大きさの距離であり、この距離で表される閾値によって、ブロック化されたオブジェクト同士を分離している。図５に示す処理がステップＳ５０６により終了した段階で、オブジェクトリスト２００は、オブジェクトグループがリスト化されたものとなっている。
【００２５】
図７は、図５に示すフローチャートによって、オブジェクトがブロック化された一例を示す図である。ページ７０１上で、オブジェクト７１１とオブジェクト７１２とが、点線で示したブロック７２１にブロック化されている。同様に、オブジェクト７１３とオブジェクト７１４とがオブジェクト７２２にブロック化され、オブジェクト７１５とオブジェクト７１６とがオブジェクト７２３にブロック化されている。
【００２６】
本発明では、ページレイアウトの変更は、最も小さい区分けであるオブジェクト間の距離を全て考慮するのではなく、ブロック化されたオブジェクト群からなる「ブロック間の距離」を考慮して行われる。
【００２７】
図８は、ＰＤＦにおけるページの描画オブジェクトと、アノテーションの描画オブジェクトの記述の一例を示す図である。ＰＤＦは、ページの情報を保持するページ辞書８０１が存在する。ページ辞書８０１は、いくつかのエントリと呼ばれる、キーと値との組み合わせから構成される情報を保持している。図８の例では、ページの描画情報として、エントリ８０２（/Annots）とエントリ８０３（/Contents）を保持している。
【００２８】
エントリ８０２は、その配列値によってオブジェクト２０を参照しており、参照先の情報群をアノテーション辞書８０４という。ここでは、アノテーション辞書８０４内の「/Subtypeキー」が「/Square」であることから、正方形アノテーションを意味していることが分かる。アノテーション辞書８０４は、エントリ８０５（/AP）を保持するのが一般的である。エントリ８０５の参照先のオブジェクト４０の情報群は、アノテーション自体がどのような外観を保持するかを決定している。そのため、外観ストリーム辞書８０６と呼ばれる。外観ストリーム辞書８０６内には、実際の描画オブジェクト情報８０７が含まれている。
【００２９】
ページ辞書８０１のエントリ８０３（/Contents）が参照しているオブジェクト３０は、ページのコンテンツを表す描画オブジェクト情報を保持しており、この情報群をページコンテンツ辞書８０８という。前述の外観ストリーム辞書８０６と同様、実際の描画オブジェクト情報として、文字や図形やイメージなどの情報８０９を記述することが可能である。
【００３０】
このように、アノテーションなどの描画オブジェクトと、ページのコンテンツを表す描画オブジェクトは構造的に異なる場所に記述されるのが一般的である。本発明は、アノテーションなどの上位レイヤとページの描画オブジェクトの下位レイヤとが存在する中においてユーザが期待するブロック化を行う。そのために、上位レイヤの描画オブジェクトの種類と上位及び下位レイヤの位置関係に応じた適切な自動ブロック化の処理を行う必要がある。以下、自動ブロック化の処理について図９を参照して説明する。
【００３１】
図９は、本実施例における、相異なる階層で定義されたオブジェクトをグループ化するグループ化処理の手順を示すフローチャートである。
【００３２】
ここでは処理手順を分かりやすくするため、ある１ページに対してブロック化処理を行う前提で説明を行う。なお、ブロック化処理の対象が複数ページ存在する場合でも、同様の処理を各ページに対して行えばよい。
【００３３】
まず、ステップＳ９０１において、レイアウト処理部は、ページ内にアノテーションが存在するか否かを判定する。ここで、アノテーションが存在しないと判定された場合には、ブロック化処理をこれ以上行う必要がないため処理は終了する。一方、アノテーションが存在すると判定された場合には、ステップＳ９０２において、レイアウト処理部は、アノテーションリスト（ＬＡ）を作成し、ＲＡＭ等の記憶部に格納する。
【００３４】
次に、ステップＳ９０３において、レイアウト処理部は、対象とするオブジェクトグループ（Ｇ）をレイアウト処理部で格納しているリスト（ＬＯ）から１つ取得する。ステップＳ９０４において、同様に、前述のレイアウト処理部に格納したアノテーションリスト（ＬＡ）からレイアウト処理部が対象とするアノテーションを１つ取得する。本実施例において、アノテーションを第１のオブジェクトとし、アノテーションより下位階層に位置するオブジェクトグループ内のオブジェクトを第２のオブジェクトともいう。
【００３５】
ステップＳ９０５において、レイアウト処理部は、取得したアノテーションがどのような種類のアノテーションであるかを特定する。その特定方法は、ＰＤＦのアノテーションの場合には、図８で示したとおり、アノテーション辞書の/Subtypeエントリの値によってほぼ一意に特定できる。ただし、Widgetアノテーションのように、アノテーション辞書を用いて別のレイヤの表現を行う場合には、さらに他のエントリも確認する。
【００３６】
Widgetアノテーションは、電子署名の可視情報や、ラジオボタン、コンボボックス、リストボックス、ボタンなどの、フォームフィールドと呼ばれるレイヤの可視表現およびユーザとの対話を管理するために利用される。このように、アノテーション以外でも、フォームフィールドのように異なるレイヤの描画オブジェクトに対しても、本発明は有効である。
【００３７】
ステップＳ９０６において、そのアノテーションが印刷に影響するか否かを判定する。アノテーションがファイル添付アノテーションや、ミュージック・ムービー・アノテーションなど、印刷に影響のないアノテーションである場合には、ステップＳ９１１に進み、レイアウト処理部は、ページ内の残りのアノテーションの数を取得する。ステップＳ９１２において、まだ、アノテーションリスト（ＬＡ）に未参照の（まだ対象としていない）アノテーションがあれば、ステップＳ９０４に戻り、他のアノテーションを対象とし、以降の処理を繰り返す。
【００３８】
一方、ステップＳ９０６で、レイアウト処理部によりアノテーションがラインや正方形やラバースタンプなどの印刷に影響するアノテーションであると判定された場合、ステップＳ９０７で、レイアウト処理部は、そのアノテーションの外接矩形を取得する。外接矩形は、前述の図５のアノテーション辞書にある/Rectエントリーの値となる。
【００３９】
ステップＳ９０８において、レイアウト処理部は、対象としているアノテーションがページに依存する種類であるか、ページの描画オブジェクトに関連付けられた種類であるかを判定する（第１の判定の一例）。例えば、アノテーションがハイライトアノテーションや、下線アノテーションやストライクアウトアノテーションの場合には、文書内のテキストに必ず関連づいているため、ページの描画オブジェクトに依存する種類であると言える。それ以外のアノテーションについては、会社のロゴなどページに依存するアノテーションであると言える。
【００４０】
ここで、レイアウト処理部により、アノテーションがページの描画オブジェクトに関連付けられた種類のアノテーションであると判定された場合、ステップＳ９０９に進む。ステップＳ９０９において、レイアウト処理部は、オブジェクトグループ（Ｇ）に対象としているアノテーションを包含する形で再グループ化を行う（第１のグループ化の一例）。
【００４１】
一方、レイアウト処理部により、アノテーションがページに依存する種類のアノテーションであると判定された場合、ステップＳ９１０に進む。ステップＳ９１０において、レイアウト処理部は、更にオブジェクトグループ（Ｇ）内の各オブジェクトの外接矩形と、アノテーションの外接矩形とが重なるか否かを判定する（第２の判定の一例）。ここで、重ならないと判定された場合には、ステップＳ９１４において、レイアウト処理部は、対象のアノテーションを別グループとしてグループ化する（アノテーショングループ（ＡＧ）とする）。ステップＳ９１４の処理は、本実施例における第２のグループ化の一例である。一方、重なると判定された場合に、ステップＳ９０９において、レイアウト処理部は、オブジェクトグループＧに対象のアノテーションを包含する形で再グループ化を行う。
【００４２】
ステップＳ９１４の後、ステップＳ９１５において、レイアウト処理部は、グループ化したアノテーショングループ（ＡＧ）とオブジェクトグループ（Ｇ）とが重なるか否かを各外接矩形から判定する（第３の判定の一例）。ここで、重なると判定された場合に、ステップＳ９１６において、レイアウト処理部は、アノテーショングループ（ＡＧ）とオブジェクトグループ（Ｇ）との位置を移動して隙間を空けた後、ステップＳ９１１に進む。一方、重ならないと判定された場合に、レイアウト処理部は、アノテーショングループ（ＡＧ）とオブジェクトグループ（Ｇ）の位置をそのままとしてステップＳ９１１に進み、レイアウト処理部が未参照のアノテーションの数を取得する。
【００４３】
ステップＳ９１２において、未参照（まだ対象としていない）のアノテーションが存在すると判定された場合に、ステップＳ９０４からの処理を繰り返す。一方、未参照のアノテーションが存在しないと判定された場合に、ステップＳ９１３において、レイアウト処理部は、レイアウト処理部が格納しているリスト（ＬＯ）に、まだ対象としていないオブジェクトグループ（Ｇ）がまだ存在しているかを判定する。ここで、存在していると判定された場合に、ステップＳ９０３に戻り、他のオブジェクトグループを対象として、以降の処理を繰り返す。一方、存在していないと判定された場合に、レイアウト処理部による全てのブロック化処理は終了する。
【００４４】
図１０は、図９に示す処理による代表的なブロック化の一例を示す図である。１００２、１００３、１００６、１００７は、それぞれ下位レイヤであるページコンテンツのみをブロック化した状態の構造化文書を示している。また、１００１、１００４、１００９、１０１０は、それぞれ上位レイヤであるアノテーションと下位レイヤのページコンテンツを再ブロック化した状態の構造化文書を示している。
【００４５】
ページ１００１は、図９のステップＳ９０９において、オブジェクトグループにアノテーションを含めて再グループ化した結果である。ページ１００１内の左上の網線は、ハイライトアノテーションなどのページの描画オブジェクトに関連する種類のアノテーションを示している。
【００４６】
ページ１００４は、図９のステップＳ９１４において、アノテーションを別グループとしてブロック化した結果である。「重要」の文字は、ラバーバンドアノテーションを表しており、ページに依存しない種類のアノテーションであり、グループオブジェクト内のオブジェクトと外接矩形が重ならないため、別グループを新たに作成していることを示している。
【００４７】
アノテーション１００５は、ページに依存する種類の引き出し線付きテキストアノテーションである。図示されるように、外接矩形自体はオブジェクトグループ内のオブジェクトと重なるため、図９のステップＳ９０９の処理によって、オブジェクトグループにアノテーションを含めて再グループ化していることを示している。
【００４８】
１００８は、グループオブジェクト内のオブジェクトの外接矩形とは重ならないため、別グループとして一旦ブロック化している。しかしながら、オブジェクトグループ自体とアノテーショングループが重なるため、ステップＳ９１６において、アノテーショングループとオブジェクトグループとの隙間を空ける処理が行われた結果を示している。
【００４９】
以上のように、本発明によれば、構造化文書に対してアノテーション等の上位レイヤとページコンテンツ等の下位レイヤの描画オブジェクトにおいて上位レイヤの描画オブジェクトの種類と両レイヤの位置関係に応じた自動ブロック化の処理を行うことができる。その結果、ユーザが期待するブロック化の結果が得られる。
【００５０】
本発明は、以下のように、データ処理プログラムとして、実現されることもできる。本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図１】
2010244436.tif 000003
【図２】
2010244436.tif 000004
【図３】
2010244436.tif 000005
【図４】
2010244436.tif 000006
【図５】
2010244436.tif 000007
【図６】
2010244436.tif 000008
【図７】
2010244436.tif 000009
【図８】
2010244436.tif 000010
【図９】
2010244436.tif 000011
【図１０】
2010244436.tif 000012
【図１１】
2010244436.tif 000013