(57)【特許請求の範囲】
【請求項１】
画像データをタイプ毎の領域に分類して、当該分類された各領域の特徴データが該各領域に対応するノードに付加されている階層ツリー構造を格納する画像処理システムにおいて、前記階層ツリー構造を編集する方法であって、
前記階層ツリー構造の各ノードに付加されている前記各領域の特徴データに基づいて、前記画像データにおける前記各領域の位置を示すブロックを表示する表示工程と、
前記表示されたブロックの中から、ユーザの選択指示に基づいてブロックを選択する選択工程と、
前記選択されたブロックに対してなされたユーザの編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている特徴データを更新する第１更新工程と、
前記第１更新工程で更新された特徴データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する第２更新工程と、
を有することを特徴とする階層ツリー構造編集方法。
【請求項２】
前記ノードに付加されている特徴データが第１特徴データと第２特徴データとを含み、
前記第１更新工程では、前記選択されたブロックに対してなされたユーザの編集指示が第１特徴データの編集指示であった場合、前記選択されたブロックに対応するノードに付加されている第１特徴データを更新し、更に、当該選択されたブロックに対応するノードにおいて当該更新された第１特徴データ以外の第２特徴データも更新されるべきであるか判断し、更新されるべきであると判断された第２特徴データを更新する
ことを特徴とする請求項１に記載の階層ツリー構造編集方法。
【請求項３】
前記ノードに付加されている特徴データが、該領域の画像タイプを示す属性データを含み、前記ユーザの編集指示が前記選択されたブロックの属性の編集指示であった場合、
前記第１更新工程では、前記ユーザの属性の編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている属性データを更新し、
前記第２更新工程では、前記第１更新工程で更新された属性データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する
ことを特徴とする請求項１または２に記載の階層ツリー構造編集方法。
【請求項４】
前記ノードに付加されている特徴データが、該領域の読取順を示す読取順データを含み、前記ユーザの編集指示が前記選択されたブロックの読取順の編集指示であった場合、
前記第１更新工程では、前記ユーザの読取順の編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている読取順データを更新し、
前記第２更新工程では、前記第１更新工程で更新された読取順データが付加されているノード以外の別ノードについて、当該別ノードの読取順データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている読取順データを自動的に更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の階層ツリー構造編集方法。
【請求項５】
前記ノードに付加されている特徴データが、該領域の読取方向を示す読取方向データと該領域の読取順を示す読取順データとを含み、前記ユーザの編集指示が前記選択されたブロックの読取方向の編集指示であった場合、
前記第１更新工程では、前記ユーザの読取方向の編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている読取方向データを更新し、
前記第２更新工程では、前記第１更新工程で更新された読取方向データが付加されているノード以外の別ノードについて、当該別ノードの読取順データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている読取順データを自動的に更新する
ことを特徴とする請求項１乃至４のいずれか１項に記載の階層ツリー構造編集方法。
【請求項６】
前記ユーザの編集指示が前記選択されたブロックの分割指示であった場合、
前記第１更新工程では、前記ユーザの分割指示に基づいて、当該分割されるブロックに対応する新たなノードを生成し、当該分割されるブロックに対応する該階層ツリー構造内のノードの特徴データを更新する
ことを特徴とする請求項１乃至５のいずれか１項に記載の階層ツリー構造編集方法。
【請求項７】
前記ユーザの編集指示が前記選択されたブロックの合成指示であった場合、
前記第１更新工程では、前記ユーザの合成指示に基づいて、前記選択されたブロックを合成して、当該合成されたブロックに対応する該階層ツリー構造内のノードを更新し、
前記第２更新工程では、前記第１更新工程で更新されたノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する
ことを特徴とする請求項１乃至６のいずれか１項に記載の階層ツリー構造編集方法。
【請求項８】
前記ユーザの編集指示が前記選択されたブロックの削除指示であった場合、
前記第１更新工程では、前記ユーザの削除指示に基づいて、前記選択されたブロックに対応する該階層ツリー構造内のノードを削除し、
前記第２更新工程では、前記第１更新工程で削除されたノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する
ことを特徴とする請求項１乃至７のいずれか１項に記載の階層ツリー構造編集方法。
【請求項９】
更に、ユーザにより選択された領域をブロック化し、前記ブロック化した領域に対応するノードを前記階層ツリー構造内に生成するノード生成工程を有する
ことを特徴とする請求項１に記載の階層ツリー構造編集方法。
【請求項１０】
更に、前記階層ツリー構造を表示する階層ツリー構造表示工程と、
前記表示された階層ツリー構造に対してなされたユーザの編集指示に基づいて、前記階層ツリー構造を直接編集する編集工程と
を有することを特徴とする請求項１に記載の階層ツリー構造編集方法。
【請求項１１】
前記ユーザの編集指示が前記選択されたブロックの階層関係の編集指示であった場合、
前記第１更新工程では、前記ユーザの階層関係の編集指示に基づいて、前記選択されたブロックに対応する該階層ツリー構造内のノードの階層関係を変更する
ことを特徴とする請求項１に記載の階層ツリー構造編集方法。
【請求項１２】
画像データをタイプ毎の領域に分類して、当該分類された各領域の特徴データが該各領域に対応するノードに付加されている階層ツリー構造を格納するメモリを有する画像処理システムであって、
前記階層ツリー構造の各ノードに付加されている前記各領域の特徴データに基づいて、前記画像データにおける前記各領域の位置を示すブロックを表示する表示手段と、
前記表示されたブロックの中から、ユーザの選択指示に基づいてブロックを選択する選択手段と、
前記選択されたブロックに対してなされたユーザの編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている特徴データを更新する第１更新手段と、
前記第１更新手段で更新された特徴データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する第２更新手段と、
を有することを特徴とする画像処理システム。
【請求項１３】
前記ノードに付加されている特徴データが第１特徴データと第２特徴データとを含み、
前記第１更新手段では、前記選択されたブロックに対してなされたユーザの編集指示が第１特徴データの編集指示であった場合、前記選択されたブロックに対応するノードに付加されている第１特徴データを更新し、更に、当該選択されたブロックに対応するノードにおいて当該更新された第１特徴データ以外の第２特徴データも更新されるべきであるか判断し、更新されるべきであると判断された第２特徴データを更新する
ことを特徴とする請求項１２に記載の画像処理システム。
【請求項１４】
画像データをタイプ毎の領域に分類して、当該分類された各領域の特徴データが該各領域に対応するノードに付加されている階層ツリー構造と、前記階層ツリー構造を編集するためのコンピュータ実行可能なプログラムとを格納するメモリと、前記メモリに格納されたプログラムを実行するためのプロセッサとを有する情報処理装置であって、
前記プログラムは、
前記階層ツリー構造の各ノードに付加されている前記各領域の特徴データに基づいて、前記画像データにおける前記各領域の位置を示すブロックを表示する表示工程と、
前記表示されたブロックの中から、ユーザの選択指示に基づいてブロックを選択する選択工程と、
前記選択されたブロックに対してなされたユーザの編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている特徴データを更新する第１更新工程と、
前記第１更新工程で更新された特徴データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する第２更新工程とを、
前記プロセッサに実行させるためのプログラムコードを含む
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、原稿画像に対して実行されるブロックセレクション処理の結果を検証し、編集するためのシステムに関するものである。特に、本発明は、原稿画像に対して実行されるブロックセレクション処理の結果として生成される階層ツリー構造を編集するためのシステムに関するものである。
【０００２】
【従来の技術】
シン  ヤン  ワング（Shin-Ywan Wang）による米国特許出願第０７／８７３，０１２号には、文字認識装置及びその方法、また、米国特許出願第０８／１７１，７２０号には、読取原稿のテキスト／非テキスト選択装置及びその方法、更に米国特許出願第０８／３３８，７８１号には、ページ解析システムが記載されている。
【０００３】
特に、米国特許出願第０７／８７３，０１２号、０８／１７１，７２０号に記載されているようなブロックセレクション処理は、原稿から得られる複数種類の画像データのタイプを区別するために、１ページ単位で自動的に原稿画像の解析を行っている。
そのブロックセレクション処理の処理単位は、光学的文字認識（ＯＣＲ）、データ圧縮、データ等で得られるイメージを、以下説明される処理によって複数のタイプに区別される単位が処理単位として用いられる。例えば、ＯＣＲによって認識されるテキストデータと、認識されない図形データとしてのイメージが、その処理単位である。その結果、ユーザによる操作を必要とすることなく異なるタイプの画像データが入力可能であり、また、自動的に処理が実行される。
【０００４】
以下、ブロックセレクション処理の一手順を図２４〜２６を参照して説明する。
図２４は１ページの原稿の代表的な例を示す図である。
原稿２４０１は、２つの段落から構成されており、タイトル２４０２、水平線２４１４、複数のテキストデータの行からなるテキスト領域２４０４、２４０５、２４０９、非テキストであるグラフィックを含むハーフトーン図形領域２４０７、テキストデータを含む表２４１０、枠２４０６、キャプション２４１６を持つハーフトーン図形領域２４１１、キャプション２４１７を持つ図形領域２４１２、２４１５からなる。
【０００５】
米国特許出願第０７／８７３，０１２号、０８／１７１，７２０号に記載されるブロックセレクション処理によれば、原稿２４０１を構成する各領域は、画像データのタイプ毎に分類される。そして、ページ単位の原稿に関する、ブロックセレクション処理により、図２５に示すような、階層ツリー構造が生成される。図２５に示すように、階層ツリー構造２５０１は、画像データを複数のブロックに分割される各ブロックが、１つのノードである複数のノードから構成されている。各ノードは、ブロックセレクション処理によって得られる各ブロックの特徴を示す特徴データが付加されている。例えば、特徴データとしては、ブロック位置データ、サイズデータ、属性データ（例えば、テキスト、絵、表等の図形タイプ）、副属性データ、子ノードあるいは親ノードポインタがある。
【０００６】
また、子ノードあるいは子孫ノードが、階層が上のブロックの下に存在する。子ノードは、階層ツリー構造の親ノードから分岐するノードとして示される。例えば、図２５において、子ノードは、親ノード２５１０から分岐するノード２５２１が子ノードとなる。また、テキストブロックとなるノードには、その処理方向と読取順序（図に「ＲＯ＝」が示す番号）を示す特徴データが付加される。
【０００７】
例えば、階層ツリー構造２５０１に示されるような階層ツリー構造が生成されたとすると、それはメモリに格納される。また、原稿より画像データを要求する処理において、メモリより階層ツリー構造が検索されブロック化された画像データに対応するノードの特徴データが生成される。
また、原稿２４０１に対する画像データを処理し、更に原稿２４０１の簡単な構成を生成し、その結果を表示するために階層ツリー構造が用いられる。例えば、図２６に示されるようなディスプレイ２６００に、簡単な構成であるブロックテンプレート２６０１が表示される。また、ブロックテンプレート２６０１は、図２５の階層ツリー構造で示される特徴データに基づいて生成され表示される。
【０００８】
１ページの原稿に対応するブロックテンプレートは、階層ツリー構造ばかりでなく、階層ツリー構造の各ノードの特徴データに直接反映する。各ノードの特徴データは、ブロックの外枠、位置、サイズを生成することで利用される。また、各ノードの特徴データは、ブロックに含まれる画像データのタイプ、可能な割当、読取順、処理方向を認識するために用いられる。
【０００９】
例えば、図２６に示されるブロックテンプレート２６０１において、テキストブロック２６０２、２６０４、２６０５、２６０９は、それぞれ図２５のノード２５０２、２５０４、２５０５、２５０９に対応している。また、それぞれのテキストブロックには、各テキストブロックの読取順、処理方向である特徴データを含んでいる。
【００１０】
同様にして、水平線ブロック２６１４、表ブロック２６１０、枠ブロック２６０６、ハーフトーン図形ブロック２６１０、２６１１、図形ブロック２６１２（ノード２５１４、２５１０、２５０６、２５０７、２５１１、２５１２にそれぞれ対応する）は、各ブロックの画像データのタイプを指定する特徴データが含まれている。
【００１１】
そのため、原稿画像のブロックテンプレートがユーザに対して表示されると、ブロックセレクション処理プログラムによって原稿画像が、どのようにして処理されるかという過程をわかりやすい形式で把握する。その結果、ユーザによってブロックセレクション処理プログラムが正しく操作されたか、また、画像データが適切に処理されたかどうかを容易に判定することができる。
【００１２】
尚、図のＴ１〜Ｔ１４はそれぞれがテキスト１〜テキスト１４を示しており、また、ＰＩＣＴ．１〜ＰＩＣＴ．４は図形１〜図形４を示している。
【００１３】
【発明が解決しようとする課題】
しかしながら、上述のブロックセレクション処理は、以下に説明される問題点が発生していた。
選定する画像データの選定結果にエラーがあると、誤った画像データのタイプに対する画像処理が行われてしまうという問題点が発生していた。
【００１４】
例えば、いくつかの分割されるブロックにグループ化すべきテキストデータが１つのブロックにグループ化されたり、あるいは、テキストデータを含む表データが、テキストブロックではなく図形ブロックとして選定されてしまうような場合である。この場合、グループ化し分割する画像データにおけるエラーは、画像データに従う処理の実行に対し誤った判定をしてしまう。そのため、適切でない処理結果が得られてしまう。
【００１５】
また、ブロックセレクション処理の別の問題点として、ユーザが原稿画像から選定した画像データの処理のタイプを変更しようとする際に発生する。例えば、ある原稿画像に対しブロックセレクション処理が実行され、それによって得られる階層ツリー構造における編集は非常に複雑で時間がかかっていた。
そのため、ブロック自身あるいはブロックの特徴によって定義される特徴データを変更するために、ブロックセレクション処理を自動的に操作させることで生成される画像データのブロックの編集が必要となっている。
【００１６】
本発明は上記の問題点に鑑みてなされたものであり、ブロックセレクション処理によって生成される階層ツリー構造の編集の作業効率を向上し、容易に編集することができるブロックセレクション処理の検証及び編集システムを提供することを目的としている。
【００１７】
【課題を解決するための手段】
上記の目的を達成するための本発明による階層ツリー構造編集方法は以下の構成を備える。即ち、
画像データをタイプ毎の領域に分類して、当該分類された各領域の特徴データが該各領域に対応するノードに付加されている階層ツリー構造を格納する画像処理システムにおいて、前記階層ツリー構造を編集する方法であって、
前記階層ツリー構造の各ノードに付加されている前記各領域の特徴データに基づいて、前記画像データにおける前記各領域の位置を示すブロックを表示する表示工程と、
前記表示されたブロックの中から、ユーザの選択指示に基づいてブロックを選択する選択工程と、
前記選択されたブロックに対してなされたユーザの編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている特徴データを更新する第１更新工程と、
前記第１更新工程で更新された特徴データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する第２更新工程と、
を有する。
【００１８】
また、好ましくは、前記ノードに付加されている特徴データが第１特徴データと第２特徴データとを含み、
前記第１更新工程では、前記選択されたブロックに対してなされたユーザの編集指示が第１特徴データの編集指示であった場合、前記選択されたブロックに対応するノードに付加されている第１特徴データを更新し、更に、当該選択されたブロックに対応するノードにおいて当該更新された第１特徴データ以外の第２特徴データも更新されるべきであるか判断し、更新されるべきであると判断された第２特徴データを更新する。
【００２０】
また、好ましくは、前記ノードに付加されている特徴データが、該領域の画像タイプを示す属性データを含み、前記ユーザの編集指示が前記選択されたブロックの属性の編集指示であった場合、
前記第１更新工程では、前記ユーザの属性の編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている属性データを更新し、
前記第２更新工程では、前記第１更新工程で更新された属性データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する。
【００２１】
また、好ましくは、前記ノードに付加されている特徴データが、該領域の読取順を示す読取順データを含み、前記ユーザの編集指示が前記選択されたブロックの読取順の編集指示であった場合、
前記第１更新工程では、前記ユーザの読取順の編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている読取順データを更新し、
前記第２更新工程では、前記第１更新工程で更新された読取順データが付加されているノード以外の別ノードについて、当該別ノードの読取順データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている読取順データを自動的に更新する。
【００２２】
また、好ましくは、前記ノードに付加されている特徴データが、該領域の読取方向を示す読取方向データと該領域の読取順を示す読取順データとを含み、前記ユーザの編集指示が前記選択されたブロックの読取方向の編集指示であった場合、
前記第１更新工程では、前記ユーザの読取方向の編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている読取方向データを更新し、
前記第２更新工程では、前記第１更新工程で更新された読取方向データが付加されているノード以外の別ノードについて、当該別ノードの読取順データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている読取順データを自動的に更新する。
【００２３】
また、好ましくは、前記ユーザの編集指示が前記選択されたブロックの分割指示であった場合、
前記第１更新工程では、前記ユーザの分割指示に基づいて、当該分割されるブロックに対応する新たなノードを生成し、当該分割されるブロックに対応する該階層ツリー構造内のノードの特徴データを更新する。
【００２４】
また、好ましくは、前記ユーザの編集指示が前記選択されたブロックの合成指示であった場合、
前記第１更新工程では、前記ユーザの合成指示に基づいて、前記選択されたブロックを合成して、当該合成されたブロックに対応する該階層ツリー構造内のノードを更新し、
前記第２更新工程では、前記第１更新工程で更新されたノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する。
【００２５】
また、好ましくは、前記ユーザの編集指示が前記選択されたブロックの削除指示であった場合、
前記第１更新工程では、前記ユーザの削除指示に基づいて、前記選択されたブロックに対応する該階層ツリー構造内のノードを削除し、
前記第２更新工程では、前記第１更新工程で削除されたノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する。
【００２６】
また、好ましくは、更に、ユーザにより選択された領域をブロック化し、前記ブロック化した領域に対応するノードを前記階層ツリー構造内に生成するノード生成工程を有する。
【００２７】
また、好ましくは、更に、前記階層ツリー構造を表示する階層ツリー構造表示工程と、
前記表示された階層ツリー構造に対してなされたユーザの編集指示に基づいて、前記階層ツリー構造を直接編集する編集工程と
を有する。
【００２８】
また、好ましくは、前記ユーザの編集指示が前記選択されたブロックの階層関係の編集指示であった場合、
前記第１更新工程では、前記ユーザの階層関係の編集指示に基づいて、前記選択されたブロックに対応する該階層ツリー構造内のノードの階層関係を変更する。
【００２９】
上記の目的を達成するための本発明による画像処理システムは以下の構成を備える。即ち、
画像データをタイプ毎の領域に分類して、当該分類された各領域の特徴データが該各領域に対応するノードに付加されている階層ツリー構造を格納するメモリを有する画像処理システムであって、
前記階層ツリー構造の各ノードに付加されている前記各領域の特徴データに基づいて、前記画像データにおける前記各領域の位置を示すブロックを表示する表示手段と、
前記表示されたブロックの中から、ユーザの選択指示に基づいてブロックを選択する選択手段と、
前記選択されたブロックに対してなされたユーザの編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている特徴データを更新する第１更新手段と、
前記第１更新手段で更新された特徴データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する第２更新手段と、
を有する。
【００３０】
また、好ましくは、前記ノードに付加されている特徴データが第１特徴データと第２特徴データとを含み、
前記第１更新手段では、前記選択されたブロックに対してなされたユーザの編集指示が第１特徴データの編集指示であった場合、前記選択されたブロックに対応するノードに付加されている第１特徴データを更新し、更に、当該選択されたブロックに対応するノードにおいて当該更新された第１特徴データ以外の第２特徴データも更新されるべきであるか判断し、更新されるべきであると判断された第２特徴データを更新する。
【００３２】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
画像データをタイプ毎の領域に分類して、当該分類された各領域の特徴データが該各領域に対応するノードに付加されている階層ツリー構造と、前記階層ツリー構造を編集するためのコンピュータ実行可能なプログラムとを格納するメモリと、前記メモリに格納されたプログラムを実行するためのプロセッサとを有する情報処理装置であって、
前記プログラムは、
前記階層ツリー構造の各ノードに付加されている前記各領域の特徴データに基づいて、前記画像データにおける前記各領域の位置を示すブロックを表示する表示工程と、
前記表示されたブロックの中から、ユーザの選択指示に基づいてブロックを選択する選択工程と、
前記選択されたブロックに対してなされたユーザの編集指示に基づいて、前記選択されたブロックに対応するノードに付加されている特徴データを更新する第１更新工程と、
前記第１更新工程で更新された特徴データが付加されているノード以外の別ノードについて、当該別ノードの特徴データが更新されるべきであるか判断し、更新されるべきであると判断した別ノードに付加されている特徴データを自動的に更新する第２更新工程とを、
前記プロセッサに実行させるためのプログラムコードを含む。
【００３３】
【発明の実施の形態】
以下、実施の形態の概要を説明する。
本実施の形態のシステムによれば、画像データのブロックとそのブロックに付加される特徴データを編集することができる。また、好ましくは、表示される原稿画像のブロックテンプレートの編集が行われ、また、編集操作に従って編集プログラムが、自動的に階層ツリー構造の特徴データを更新する。
【００３４】
また、他の実施の形態のシステムによれば、原稿画像のブロックテンプレートの階層ツリー構造が編集される。他の実施の形態に従えば、ブロックセレクションシステムは複数のノードを含む階層ツリー構造を持ち、各ノードは、原稿画像のブロックテンプレートにおける画像データのブロックに対応している。また、画像データのブロックの特徴を定義する特徴データも含まれている。更に、階層ツリー構造を編集するためのシステムである。
【００３５】
このシステムは、階層ツリー構造をメモリからダウンロードすることで、メモリに格納された階層ツリー構造に対応する原稿画像のブロックテンプレートを生成し表示する。そして、原稿画像のブロックテンプレートにおいて、編集される画像データのブロックを選択し、選択された画像データのブロックを編集する。また、選択された画像データに対応する特徴データを更新する。
【００３６】
また、このシステムは、ノードに残っている特徴データが、更新された特徴データによる影響を受けた否かを判定する。判定によって、影響を受けた特徴データがある場合、そのノードに残っている特徴データは、選択された画像データのブロックの新たな特徴に適切に反映するように変更される。
更に、また、このシステムは、残っているブロックの特徴が、選択された画像データのブロックの新たな特徴による影響を受けたか否かを判定する。判定によって、影響を受けたブロックの特徴がある場合、そのブロックに対応するノードの特徴データは、画像データのブロックに対応する新たな特徴に反映するように適切に変更される。
【００３７】
また、他の実施の形態によれば、ブロック編集システムは、階層ツリー構造をメモリから検索するための操作を行い、その階層ツリー構造に対応する原稿画像のブロックテンプレートを生成し表示する。そして、編集される原稿画像のブロックテンプレートにおいて、画像データのブロックを選択する。選択方法としては、新しい読取順や、読み取り方向、あるいは選択された画像データのブロックの属性によって選択する。また、選択された特徴に従わせるために、選択された画像データのブロックに対応するノードの特徴によって定義される特徴データを更新する。
【００３８】
また、他の実施の形態によれば、ブロック編集システムは、階層ツリー構造をメモリから検索するための操作を行い、そのメモリに格納された階層ツリー構造に対応する原稿画像のブロックテンプレートを生成し表示する。原稿画像のブロックテンプレートを表示し、新しい画像データのブロックに合成されるために原稿画像の中の少なくとも２つのブロックを選択する。そして、合成前の２つのブロックに対応する階層ツリー構造の各ノードを削除する。その結果、画像データの２つのブロックが合成されて新しい１つの画像データのブロックを持つ原稿画像のブロックテンプレートを再表示する。また、階層ツリー構造において、対応するノードを生成し、生成されたノードの中に特徴データを格納するためのブロックセレクション処理は、画像データの新しいブロックに従う。
【００３９】
また、他の実施の形態によれば、ブロックセレクション処理システムは、階層ツリー構造をメモリから検索するための操作を行い、そのメモリに格納された階層ツリー構造に対応する原稿画像のブロックテンプレートを生成し表示する。そして、原稿画像のブロックテンプレートにおいて、画像データのブロックを選択する。その選択されたブロックの画像データを離脱し、その選択されたブロックに対応する階層ツリー構造のノードを削除する。離脱された画像データのブロックを、手動で１つあるいは複数の画像データの中に封じ込める。そして、画像データの１つあるいは複数の各ブロックに対応する特徴データとノードを生成し、階層ツリー構造を更新するために、１つあるいは複数のブロックに対するブロックセレクション処理を実行する。
【００４０】
また、他の実施の形態によれば、ブロックセレクション処理システムは、階層ツリー構造をメモリから検索するための操作を行い、編集する階層ツリー構造のノードを選択する。そして、その選択されたノードの特徴データを編集し、編集ステップにおいて、編集された特徴データに従うように未編集の特徴データを持つノードを更新する。また、選択されたノードにおける編集された特徴データが、階層ツリー構造の中で、少なくとも他の１つのノードの特徴データに影響を与える場合、その少なくとも他の１つのノードを更新する。
【００４１】
また、他の実施の形態によれば、階層ツリー構造をメモリから検索するための操作を行い、そのメモリに格納された階層ツリー構造に対応する原稿画像のブロックテンプレートを生成し表示する。そして、原稿画像の階層ブロックテンプレートにおいて、編集される画像データのブロックを選択する。その選択されたブロックを編集し、その編集された画像データのブロックに対応するノードの特徴データを更新する。また、その編集された原稿画像の階層ブロックテンプレートを再表示する。
【００４２】
また、他の実施の形態によれば、階層ツリー構造をメモリから検索するための操作を行い、そのメモリに格納された階層ツリー構造に対応する原稿画像のブロックテンプレートを生成し表示する。そして、少なくとも２つのブロックの画像データに分割されるために、原稿画像の中から画像データのブロックを選択する。選択された画像データのブロックを少なくとも２つのブロックの画像データに分割し、その選択された画像データのブロックに対応する階層ツリー構造のノードを削除する。また、その少なくとも２つのブロックに分割する画像データのブロックを持つ原稿画像のブロックテンプレートを再表示する。更に、また、階層ツリー構造において、対応するノードを生成し、生成されたノードの中に特徴データを格納するためのブロックセレクション処理は、少なくとも２つの画像データのブロックに従う。
【００４３】
尚、これらの本発明の特徴及び有利な点は、以下の添付の図面に従う好適な実施の形態の詳細な説明を参照することにより、更に容易に理解されるであろう。
図１は本発明を適用する実施の形態の外観図である。
以下に図１の構成を説明する。１０はコンピュータ装置であり、MacIntosh、IBM PCまたはMicroSoft社製Windowsのようなウィンドウズ環境を備えたＰＣ互換コンピュータからなる。コンピュータ装置１０には、カラーモニター等のディスプレイ１２、ユーザコマンド等を入力するためのキーボード１３、そして、ディスプレイ１２上に表示される事象を指示し操作するためのマウス等のポインティングデバイス１４が接続されている。
【００４４】
コンピュータ装置１０は、大容量記憶装置として、イメージファイルを含むデータファイルを記憶するためのディスク１１を備えている。ディスク１１は、圧縮、あるいは無圧縮のイメージファイルや、少なくとも１つのブロックセレクション処理を実行するためのためのアプリケーションプログラムとブロックセレクション編集プログラムを含む情報処理プログラムを記憶している。また、ディスク１１には、１ページ分の原稿画像のそれぞれがブロックセレクション処理によって表現される階層ツリー構造の各データも記憶している。
【００４５】
ディスク１１には、プログラムの読込命令を含む他の処理の実行プログラムを含んでいる。それらのプログラムは、コンピュータ装置１０が、ディスプレイ１２を介してユーザへ表示されるファイルを構成するデータとそのデータファイルを処理するためのものである。
原稿画像は、スキャナ１６によってスキャンされる。スキャナ１６によって、スキャンされた各ページを構成する文書あるいはイメージは、ビットマップ画像データとしてコンピュータ装置１０へ展開される。また、画像データは、ネットワークインターフェース２４またはファクシミリ／モデムインターフェース２６を介して、他の外部装置からコンピュータ装置１０へ入力してもよい。プリンタ１８は、コンピュータ装置１０によって処理された原稿画像の出力のために備えられている。
【００４６】
尚、図１では、プログラム可能な汎用コンピュータ装置としてその外観を示したが、専用、あるいは独立したコンピュータ装置、または他のタイプのデータ処理装置であっても本発明の実施の形態に適用できることは言うまでもない。
図２は実施の形態のコンピュータ装置１０の詳細な内部構造を示すブロック図である。
【００４７】
以下に図２の構成を説明する。図中、コンピュータ装置１０は、コンピュータバス２１によって、中央処理ユニット（ＣＰＵ）２０を含む各ユニットが相互に接続さている。コンピュータバス２１に接続される各ユニットは、スキャナインタフェース２２、プリンタインタフェース２３、ネットワークインタフェース２４、ファックス／モデムインタフェース２６、ディスプレイインターフェース２７、キーボードインタフェース２８、マウスインタフェース２９、メインメモリ３０、そしてディスク１１からなっている。
【００４８】
メインメモリ３０は、コンピュータバス２１に接続され、ＲＡＭを備えている。ＲＡＭは、ＣＰＵ２０で実行される各種処理（例えば、ブロックセレクション処理やブロックセレクション編集プログラム）を実行するための作業領域である。また、メインメモリ３０では、ＣＰＵ２０によってディスク１１に記憶された各種処理を実行するためのプログラムが読み込まれ、読み込まれた各種プログラムによって各種処理が実行される。
【００４９】
ユーザの操作によって、画像データを処理するためのアプリケーションプログラムが読み込まれ、その処理が実行される。例えば、ウインドウズ版WordPerfectのようなデスクトップ処理プログラムを操作することで画像データが処理され、また、原稿画像の処理状況を表示する。同様にして、ブロックセレクション処理が実行されることで処理対象の１ページ分の原稿画像に複数種類の画像データのタイプを入力する。
【００５０】
図３Ａ、図３Ｂはブロック編集システムの概要を説明するためのフローチャートである。
尚、階層ツリー構造の選択方法及び原稿画像のブロックテンプレートの編集方法の実行は、ユーザがマウスを用いてウインドウに表示されるメニューまたはプルダウンメニューから選択操作を行うようなウインドウ環境のもとで行われる。
【００５１】
ステップＳ３０１で、ユーザは、表示されたメニューから編集される階層ツリー構造を選択する。ステップＳ３０２で、階層ツリー構造を含む選択されたファイルが、ディスク１１からダウンロードされ、メインメモリ３０に格納される。尚、階層ツリー構造は、テキストデータ、表データ、ハーフトーン図形データ、図形データ、枠データ、線データからなる。
【００５２】
ステップＳ３０４で、選択された階層ツリー構造に対応する原稿画像のテンプレートが、検索された階層ツリー構造より生成され、それがユーザに対して表示される。上述のように、各ノードに含まれる特徴データによって定義される属性データが付加されている各ブロックが、ユーザに対して表示される。ステップＳ３０５で、ブロックセレクション編集プログラムは、ユーザに対し編集の必要があるか否かの判定を要求する。ユーザが階層ツリー構造の編集を選択しない場合、フローはステップＳ３０１に戻り、ユーザは、編集する別の階層ツリー構造を選択できる。一方、ユーザが階層ツリー構造の編集を選択すると、フローはステップＳ３０７に進み、ユーザに対して編集操作オプションが表示される。
【００５３】
ステップＳ３０９で、ユーザは実行される編集オプションを選択する。例えば、ユーザはブロックの属性（ステップＳ３１０）、ブロックの読取順（ステップＳ３１１）、ブロックの方向（ステップＳ３１２）に基づいて編集するための選択が可能である。また、ユーザは、先在するブロックを含むブロックの生成、あるいは先在するブロックを２つのブロックに分割（ステップＳ３１４）、２つのブロックの合成（ステップＳ３１５）、先在するブロックを１つあるいは複数のブロックに離脱、生成（ステップＳ３１６）、直接に階層ツリー構造を編集（ステップＳ３１７）、あるいは原稿画像の階層ブロックテンプレートの編集（ステップＳ３１８）のいずれかを実行することによって再定義が許される編集操作を選択する。
【００５４】
尚、上述の各編集操作は、以下にその詳細を説明する。また、その各編集操作は、表示される原稿画像のブロックテンプレートに基づいて直接実行され（ステップＳ３１７は除く）、１つのノードあるいは複数のノードに対応する特徴データが、編集操作の結果として自動的に更新される。
尚、後述の編集操作は本発明を実行するための編集操作の１つの一例にすぎない。
【００５５】
＜属性の編集＞
図４は、ブロックの属性を編集するイベントが選択された場合（ステップＳ３１０）に実行される詳細なフローチャートである。
尚、本発明では、ブロックの属性は、ブロックセレクション処理によって生成されるブロックに含まれる画像データのタイプによって定義する。例えば、ブロックの属性は、テキスト画像、図形画像等によって定義する。以下に説明する場合には、ブロックセレクション処理による属性の設定を変更するのが望ましい。例えば、属性が誤って選定された場合、あるいはユーザが画像データのブロックを、ブロックセレクション処理によって設定される属性によって選定されたタイプと異なるタイプの画像処理で処理を実行させたい場合等である。
【００５６】
ステップＳ４０１で、ユーザは、マウス１４を操作することで、表示された編集される原稿画像のブロックテンプレート内にある個々のブロックを選択する。ブロックの選択において、フローはステップＳ４０２に進み、選択可能な属性のメニューが表示される。選択可能な属性メニューは、優先度の高低あるいは大小の論理的選択に基づいて構成される属性のリストからなっている。ステップＳ４０４で、ユーザはメニューの必要な属性の位置にカーソルを置くことで、ブロックに指定する属性を選択する。
【００５７】
ステップＳ４０５で、ブロックに対応するノードに含まれる特徴データが選択された属性に従って更新される。属性の編集は、原稿画像のブロックテンプレートの階層ツリー構造に反映される。例えば、図５Ａに示されるような、原稿画像のブロックテンプレートの階層ツリー構造が描画される。また、ノード５０２の属性をテキストの選定から図形の選定というような編集をユーザが行うと、図５Ｂに示されるように、編集によるが反映された結果としてノード５０２に含まれる特徴データが更新される。
【００５８】
属性の編集後、フローはステップＳ４０６に進み、ブロックセレクション編集プログラムは、更新されるノード５０２に含まれる特徴データをノード５０２の属性の編集に必要であるか否かを判定する。例えば、未編集状態の時がテキストデータであるノード５０２から、編集済みの状態の時が図形データであるノード５０２のような場合、ノード５０２の特徴データは、読取順と読み取り方向を削除し、図形ブロックが結合固定ラインスタイルであるか否かを指示する補助属性を生成するために更新されなければならない。この場合、フローはステップＳ４０７に進み、複数のステップからなるブロックセレクション処理が編集されたブロックに対して実行される。一方、ステップＳ４０６で、編集されたブロックが上述の編集処理を必要としない場合、フローはステップＳ４０９に進む。
【００５９】
ステップＳ４０９で、ブロックセレクション編集プログラムは、ノード５０２の編集された属性によって、編集が必要な階層ツリー構造が残っているか否かを判定する。例えば、ノード５０４に示されるようなテキストブロックの読取順は、編集された属性によって３番目から２番目に編集されなければならない。加えて、読取順に従って再構成されるテキストブロックを持つノードがあるために、残っているノードは、階層ツリー構造において再構成されなければならない。従って、ステップＳ４１０で、残っている階層ツリー構造のノードを編集するために、複数のステップからなるブロックセレクション処理が実行される。図５Ｂに示されるように、ノード５０４の読取順は３番目から２番目に編集されいる。また、編集されたノード５０２は階層ツリー構造の右端に移動されている。しかしながら、階層ツリー構造が編集される必要がない場合、フローはステップＳ４１１へ進む。
【００６０】
ステップＳ４１１で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ４１２に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
＜読取順の編集＞
図６は、ブロックの読取順を編集するイベントが選択された場合（ステップＳ３１１）に実行される詳細なフローチャートである。
【００６１】
尚、読取順は、読み取られる原稿画像の中のテキストブロックの順序を判定する。読取順の判定は、テキストのＯＣＲ処理を容易にするために重要である。そのため、ＯＣＲ処理の適切な実行のために、テキストブロックは、正しい順で処理されなければならない。この編集の特徴を用いることで、原稿画像のブロックテンプレートの中のテキストブロックの読取順が、ブロックセレクション処理によって誤って指定された場合でも、ユーザはテキストブロックの読取順を編集することができる。
【００６２】
ステップＳ６０１で、ユーザは表示される原稿画像の中から少なくも１つのテキストブロックの読取順を選択し編集する。編集されたブロックに対応する編集されたノードに含まれる特徴データは、編集された読取順に従って更新される。例えば、図７Ａと図７Ｂは、読取順の編集前後の階層ツリー構造を示している。本例では、読取順が２番目であるテキストブロックが、その読取順が２番目から４番目に編集される。その結果、図７Ｂに示されるように、読取順が２番目であるテキストブロックで定義されるノード７０２の特徴データは、新しい指定された読取順である４番目を反映するために更新される。
【００６３】
フローはステップＳ６０２に進み、ブロックセレクション編集プログラムは、ノード７０２に編集のために、残っているテキストブロックの読取順の編集の必要があるか否かを判定する。残っているテキストブロックの読取順の編集の必要がある場合、フローはステップＳ６０４に進み、影響を及ぼす読取順が編集される。例えば、図７Ｂに示されるように、ノード７０４、ノード７０５は、編集されるノード７０２のために、その読取順の変更を反映するために編集される。一方、残っているテキストブロックの読取順の編集の必要がない場合、フローはステップＳ６０５に進む。
【００６４】
ステップＳ６０５で、ブロックセレクション編集プログラムは、階層ツリー構造が、編集された読取順に従って編集される必要があるか否かを判定する。階層ツリー構造の原稿画像のテキストブロックに対応するノードの位置は、それらの読取順によって判定される。そのため、読取順が編集された場合、階層ツリー構造は編集する必要が生じる。この場合、フローはステップＳ６０６に進み、ノードは、新しい読取順に従って再構成される。例えば、図７Ａと図７Ｂに示されるように、ノード７０２、ノード７０４、ノード７０５は編集された読取順に従って再構成される。一方、階層ツリー構造が編集される必要がない場合、フローはステップＳ６０７に進む。
【００６５】
ステップＳ６０７で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ６０９に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
＜読取方向の編集＞
図８は、ブロックの読取方向を編集するイベントが選択された場合（ステップＳ３１２）に実行される詳細なフローチャートである。
【００６６】
尚、ステップＳ３１２で、テキストブロックの読取方向が編集される。例えば、キャラクタ認識中にテキストブロックの読取方向が不正確に指定された場合、例えば、一般に垂直の段落からなる日本語テキストを読む場合、ユーザはテキストの読取方向を適切に反映するために読取方向を編集できる。その結果、ラインの分割、キャラクタデータは正確に処理が実行される。
【００６７】
ステップＳ８０１で、ユーザは再方向付けされる原稿画像のテキストブロックを選択する。ステップＳ８０２で、選択されたテキストブロックの読取方向は変更され、テキストブロックの読取方向によって定義される特徴データが更新される。例えば、図９Ａと図９Ｂは、ブロックの読取方向の編集前後のブロック化された原稿画像の階層ツリー構造を示している。テキストブロック３の読取方向、つまり、ノード９０４は、ユーザによって編集のために選択される。
【００６８】
ステップＳ８０２で、テキストラインとテキストブロックの傾き角度が、ブロックセレクション処理ステップに従って再配置される。
ステップＳ８０４で、選択されたテキストブロックの編集された読取方向によって、選択されたテキストブロックの読取順を編集しなければならないか否かが判定される。編集しなければならない場合、フローはステップＳ８０５に進み、選択されたテキストブロックの読取順は、編集されたブロックになされる複数のステップのブロックセレクション処理によって編集される。この編集に従えば、選択されたブロックの読取順に対応する特徴データが更新される。例えば、図９Ａと図９Ｂに示されるように、テキストブロック３の読取順を定義するノード９０４の特徴データは３番目から４番目に更新される。
【００６９】
ステップＳ８０７で、ブロックセレクション編集プログラムは、ノード９０４を変更するために、階層ツリー構造の残っているノードの中に含む特徴データを更新する必要があるか否かを判定する。必要がある場合、ステップＳ８０９で、階層ツリー構造が編集される。例えば、図９Ａと図９Ｂに示されるように、テキストブロック３の読取方向の編集のために、ノード９０５の読取順に対応する特徴データは４番目から３番目に更新される。加えて、階層ツリー構造のノードは、更新された読取順に従って再構成される。
【００７０】
ステップＳ８０９で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ８１０に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
＜先在するブロックの中からブロックの生成＞
図１０は、先在するブロックの中からブロックを生成するイベントが選択された場合（ステップＳ３１４）に実行される詳細なフローチャートである。
【００７１】
尚、ユーザは、存在するブロックから新しいブロックを生成、あるいは新しいブロックを生成するために存在するブロックを分割する。例えば、ブロックが２つの異なるタイプを含む画像データを分割する。存在するブロックの中からブロックを分割することによって、異なるタイプの画像データが、最も最適なタイプの処理に従わせることができる。
【００７２】
ステップＳ１００１で、ユーザは、マウス１４を操作することによって、分割されブロック化された先在するブロックの領域を選択する。図１１Ａと図１１Ｂに示されるように、ブロック１１０５の領域１２０７が選択されたとする。ステップＳ１１０２で、図１２Ａと図１２Ｂに示されるように、新しいブロック１２０７とノード１２１４が生成される。この場合、存在するブロックの領域は、分割される存在するブロックによって形成される。また、同様の方法で、階層ツリー構造の新しいノードによって、新しい領域が表現される。
【００７３】
ステップＳ１００４で、新しく生成されたブロック１２０７は、新しいブロックを区別するための複数の処理ステップからなるブロックセレクション処理に従う。この方法では、特徴データが生成されノード１２１４に格納される。例えば、図１２Ｂに示されるように、ノード１２１４の特徴データは、図形画像を定義するために更新される。
【００７４】
ステップＳ１１０５で、ブロックセレクション編集プログラムは、階層ツリー構造が編集される必要があるか否かを判定する。例えば、ステップＳ１００６で、親ノード１１１１が、子ノード１２１４へポインタを含ませるために編集される。また、残りのノードは変更されないままである。
ステップＳ１００７で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ１００９に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
【００７５】
＜２つのブロックの合成＞
図１３は、２つのブロックを合成するイベントが選択された場合（ステップＳ３１５）に実行される詳細なフローチャートである。
尚、原稿画像においてブロックセレクション処理が実行された後、より適切に合成されるべき２つのブロックというのは、原稿画像のブロックテンプレートの中で並んで存在する。２つのブロックを合成することによって、その合成結果である新しいブロックの中の画像データは、１つの画像タイプとして処理が実行される。
【００７６】
ステップＳ１３０１で、ユーザは、合成することで新しいブロックとなる２つのブロックを、原稿画像のブロックテンプレートの中から選択する。ステップＳ１３０２で、原稿画像のブロックテンプレートの中で、選択された２つのブロックが合成される。例えば、図１４Ａに示されるように、ブロック１４０１とブロック１４０２が合成されるために選択される。そして、図１５Ａに示されるように、新しいブロック１５０１を生成するために２つのブロックが合成される。
【００７７】
ステップＳ１３０４で、選択された２つのブロックが合成されることによって生成されたブロックに対応するノード１５１４が階層ツリー構造に生成される。例えば、ブロック１５０１に対応してノード１５１４が生成される。ステップＳ１３０５で、合成されたブロックに対応する２つのノードが階層ツリー構造から削除される。例えば、ブロック１４０１とブロック１４０２に対応するノード１４０７とノード１４０９は、図１５Ｂに示されるように、階層ツリー構造から削除される。
【００７８】
ステップＳ１３０６で、新しいブロック１５０１は、複数のステップからなるブロックセレクション処理に従い、新しいブロックの特徴によって定義される特徴データが生成され、ノード１５１４に格納される。例えば、ブロックセレクション処理ステップを適用することによって、読取順が１番目で水平方向の読取方向を持つテキストブロックとしてブロック１５０１を定義するために、ノード１５１４に含まれる特徴データが生成される。
【００７９】
ステップＳ１３０７で、ブロック１４０１とブロック１４０２が合成されることを考慮して、階層ツリー構造に上述の編集が必要であるか否かを判定する。必要である場合、フローはステップＳ１３０９に進み、新しいブロックの状態に編集するためにブロックセレクション処理ステップを、影響する画像データのブロックに従わせる。図１４Ｂと図１５Ｂに示されるように、テキストブロック１４０４の読取順は、３番目から２番目に編集される。同様に、ノード１４１１に対応するテキストブロック１４０５の読取順は、４番目から３番目に編集される。
【００８０】
そして、ステップＳ１３１０で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ１３１１に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
＜存在するブロックから１つあるいは複数のブロックの離脱と生成＞
図１６は、存在するブロックから１つあるいは複数のブロックの離脱と生成するイベントが選択された場合（ステップＳ３１６）に実行される詳細なフローチャートである。
【００８１】
尚、この方法では、エラーのある合成された画像データやユーザが異なる処理を実行させたい画像データを複数の処理方法に従わせることができる。
ステップＳ１６０１で、ユーザは離脱させるブロックを選択する。ステップＳ１６０２で、選択されたブロックに対応するノードばかりでなく、そのノードの子孫ノードが、階層ツリー構造から削除される。例えば、図１７Ａに示されるように、ブロック１７０４が選択されたとすると、図１８Ａに示されるように、ブロックラインの周囲を囲む画像データの領域が離脱される。加えて、図１７Ｂに示されるようなノード１７１１が、図１８Ｂの階層ツリー構造から削除されている。
【００８２】
ステップＳ１６０４で、ユーザは、原稿画像のブロックテンプレートの中からブロック化されていない領域をブロック化されるために選択する。図１９Ａに示されるように、ブロック１９１６とブロック１９１７は、離脱する画像データの周囲を囲んでいる。
ステップＳ１６０５で、新しいブロック領域に対応するノード１９１９とノード１９２０が、階層ツリー構造に生成される。ステップＳ１６０６で、ノード１９１９とノード１９２０に対応する特徴データを生成し格納するために、ブロック１９１６とブロック１９１７は、複数のステップからなるブロックセレクション処理に従う。
【００８３】
例えば、図１９Ｂに示されるように、ブロック１９１６に対応するためにノード１９１９が生成され、ブロック１９１７に対応するためにノード１９２０が生成される。ブロック１９１６とブロック１９１７に、ブロックセレクション処理ステップが適用されると、ノード１９１９とノード１９２０に各ブロックの特徴を定義するための特徴データが格納される。例えば、ブロック１９１６は、読取順が３番目で水平方向の読取方向を持つテキストとして定義される。
【００８４】
ステップＳ１６０７で、ブロック１７０４が離脱されることを考慮して、階層ツリー構造に上述の編集が必要であるか否かを判定する。必要である場合、フローはステップＳ１６０９に進み、各影響されるブロックの特徴データを更新するために複数の処理からなるブロックセレクション処理を、影響する画像データのブロックに従わせる。例えば、ノード１７１２は、その編集された読取順に基づいて再構成される。また、新しいブロック１９１６と１９１７は、新しい読取順に従って構成される。
【００８５】
ステップＳ１６１０で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ１６１１に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
尚、上述の１つあるいは複数の新しいブロックの離脱と生成する方法は、ブロック化されていない画像領域から１つあるいは複数の新しいブロックを生成するために、１つ以上のブロックを離脱することができる。
【００８６】
＜階層ツリー構造の直接編集＞
図２０は、存在するブロックから１つあるいは複数のブロックの離脱と生成するイベントが選択された場合（ステップＳ３１７）に実行される詳細なフローチャートである。
尚、ここでの特徴としては、画像処理システムの上級ユーザが、原稿画像のブロックセレクション処理による結果となる階層ツリー構造を直接編集することが許されている。その結果、ユーザは、コンピュータ生成インタフェースを使わずに、階層ツリー構造を検証し直接編集することができる。
【００８７】
ステップＳ２００１で、選択された原稿画像のブロックテンプレートに対応する階層ツリー構造が表示される。
ステップＳ２００２で、編集されるノードが選択され、そのノードの特徴データが、キーボードを介する入力によって編集される。この方法では、階層ツリー構造のノード、あるいは階層ツリー構造のノードの位置に含まれている特徴データが編集される。例えば、ノードに含まれている特徴データは、非テキストブロックから読取順が４番目で読取方向が水平方向のテキストブロックに変更される。
【００８８】
ステップＳ２００４で、階層ツリー構造に残っているノードに編集の必要があるか否かを判定する。必要がある場合、ユーザは影響を受けたノードを直接編集するか、あるいは編集を自動的に実行するブロック編集プログラムを実行するために選択することができる。ユーザが、編集操作を実行するためにブロック編集プログラムを実行させる場合、影響を受けたノードは、ステップＳ２００５で複数のステップからなるブロックセレクション処理に従う。例えば、その影響を受けたノードは、それらのノードに与えられているブロックの読取順に従って、それらのノードを順序付けるために再構成される。一方、ユーザが、影響を受けた各ブロックを直接編集する場合、まだ他のノードを編集する必要があるか否かを判定するためにステップＳ２００４が繰り返される。
【００８９】
ステップＳ２００６で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ２００７に進み、編集された階層ツリー構造はコンピュータディスク１１に記憶される。
＜原稿画像の階層ブロックテンプレートの編集＞
図２１は、原稿画像の階層ブロックテンプレートの編集するイベントが選択された場合（ステップＳ３１８）に実行される詳細なフローチャートである。
【００９０】
尚、ここでの特徴は、画像処理システムの上級ユーザが用いた場合、ブロック化された画像データを直接編集する（上述した通り）ことができるばかりか、階層ツリー構造を変形せずに、画像データのブロック間の階層関係を編集することができる。その結果、原稿画像のブロック化された画像データ間の階層関係を容易に変更することが可能となり、その編集された関係が変更された階層ツリー構造として表示される。
【００９１】
ステップＳ２１０１で、原稿画像の階層ブロックテンプレートは、検索された階層ツリー構造から生成され表示される。表示された原稿画像の階層ブロックテンプレートは、上述のブロックテンプレート画像とはわずかに異なる。特に、階層ブロックテンプレートは、その中の各ブロックの最上部に表示された階層関係情報を含んでいる。その階層関係情報は、原稿画像に含まれる画像データの各ブロックの階層関係を容易に理解するためのものである。例えば、図２２Ａと図２２Ｂは原稿画像の階層ブロックテンプレートとそれに従う階層ツリー構造を示している。図２２Ａに示されるように、原稿２２００とテキストブロック２２０１の間の階層関係として、テキストブロック２２０１の左上側部の角を「１ーＴー１」として表している。この情報は、テキストブロック２２０１が最初に生成された図２２Ｂに示される親ノード２２２０の子ノード２２２１であることを示している。画像データの各ブロックの階層関係は、図２２Ｂに示されるような階層ツリー構造のノードの関係に基づいて生成される。例えば、図形ブロック２２０６は、原稿２２００に対する階層関係を持ち、その関係を「１ーＮＴー２」として示している。この情報は、図形ブロック２２０２が親ノード２２２０の２番目の図形の子ノードであることを示している。
【００９２】
ステップＳ２１０２で、階層ブロック化原稿画像の画像データのブロックが選択され編集される。選択されたブロックの編集操作は、上述の編集操作の１つでが用いられる。例えば、「新しいノードの離脱、生成」の編集操作を選択しても良い。編集操作後、編集されたブロックを表すノードに従う特徴データが、編集された読取順に従って更新される。画像データのブロック間の階層関係が変更された場合、同様にして、影響を受けた画像データのブロックに表示される階層情報が更新される。
【００９３】
図２２Ａに示されるような、図形ブロック２２０４とテキストブロック２２０５の階層関係が編集されると、図２３Ａに示されるように、図形ブロック２２０４とテキストブロック２２０５の周囲を破線ブロックで囲む新しいブロック２３０１が生成される。その結果、図２２Ｂに示されるような階層ツリー構造は編集され図２３Ｂに示されるような構造に更新される。
【００９４】
図２３Ｂに示されるように、階層ツリー構造は、編集された図形ブロック２２０４とテキストブロック２２０５の関係を反映するために更新される。本例では、各ブロックに対応する図形ノード２２２５とテキストノード２２２４が、階層ツリー構造から削除され、新しい図形ノード２３０２として再生成される。この点を考慮した上で、図形ノード２３０２はページノード２２００の子ノードとなり、テキストノード２２２４と図形ノード２２２５は図形ノード２３０２の子ノードとなる。ステップＳ２１０２で、階層ツリー構造は編集されると、図２３Ａに示されるような階層ブロックテンプレートが再表示される。
【００９５】
ステップＳ２１０４で、ブロック２２０４とブロック２２２０５の階層関係を編集することを考慮したうえで、階層ツリー構造に残っているノードを編集する必要があるか否かを判定する。必要がある場合、ステップＳ２１０５で、各影響を受けたブロックの特徴データを更新するために、影響を受けた画像データのブロックは複数のステップからなるブロックセレクション処理に従う。本例では、図２３Ｂに示されるように、階層ブロックテンプレートとそれに対応するツリーに対する変更は、テキストブロック２２０５の読取順だけである。その読取順は４から１に変更されている。
【００９６】
ステップＳ２１０６で、ユーザは追加編集を実行すべきか否かが要求される。追加編集が必要な場合、フローはステップＳ３０７に進む。これ以上の編集の必要がない場合、フローはステップＳ２１０７に進み、編集された画像はコンピュータディスク１１に記憶される。
尚、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用しても良い。また、本発明はシステム或は装置にプログラムを供給することによって実施される場合にも適用できることは言うまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が、本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステム或は装置に読み出すことによって、そのシステム或は装置が、予め定められた仕方で動作する。
【００９７】
【発明の効果】
以上の説明からも明らかなように、ブロックセレクション処理によって生成される階層ツリー構造の編集の作業効率を向上し、容易に編集することができるブロックセレクション処理の検証及び編集システムを提供できる。
【図面の簡単な説明】
【図１】本発明を適用する実施の形態の装置の外観図である。
【図２】図１の装置の構成を示すブロック図である。
【図３Ａ】本発明に従うブロック編集システムの概要を説明するためのフローチャートである。
【図３Ｂ】本発明に従うブロック編集システムの概要を説明するためのフローチャートである。
【図４】画像データのブロックの属性の編集方法を説明するためのフローチャートである。
【図５Ａ】画像データのブロックの属性の編集前の階層ツリー構造を示す図である。
【図５Ｂ】画像データのブロックの属性の編集後の階層ツリー構造を示す図である。
【図６】画像データのブロックの読取順の編集方法を説明するためのフローチャートである。
【図７Ａ】画像データのブロックの読取順の編集前の階層ツリー構造を示す図である。
【図７Ｂ】画像データのブロックの読取順の編集後の階層ツリー構造を示す図である。
【図８】画像データのブロックの読取方向の編集方法を説明するためのフローチャートである。
【図９Ａ】画像データのブロックの読取方向の編集前の階層ツリー構造を示す図である。
【図９Ｂ】画像データのブロックの読取方向の編集後の階層ツリー構造を示す図である。
【図１０】存在する画像データのブロックの中から新しいブロックを生成する方法を説明するためのフローチャートである。
【図１１Ａ】原稿画像のブロックテンプレートを示す図である。
【図１１Ｂ】画像データの存在するブロックに含まれる新しいブロックが生成される前の階層ツリー構造を示す図である。
【図１２Ａ】原稿画像のブロックテンプレートを示す図である。
【図１２Ｂ】画像データの存在するブロックに含まれる新しいブロックが生成された後の階層ツリー構造を示す図である。
【図１３】原稿画像のブロックテンプレートにおいて、新しいブロックを形成するために２つのブロックを合成する方法を説明するためのフローチャートである。
【図１４Ａ】原稿画像のブロックテンプレートを示す図である。
【図１４Ｂ】画像データの新しいブロックを形成するための２つの画像データのブロックが合成される前の階層ツリー構造を示す図である。
【図１５Ａ】原稿画像のブロックテンプレートを示す図である。
【図１５Ｂ】画像データの新しいブロックを形成するための２つの画像データのブロックが合成された後の階層ツリー構造を示す図である。
【図１６】原稿画像のブロックテンプレートからブロックを離脱する方法と、画像データから１つあるいは複数のブロックを生成する方法を説明するためのフローチャートである。
【図１７Ａ】原稿画像のブロックテンプレートを示す図である。
【図１７Ｂ】原稿画像から１つあるいは複数のブロックを離脱、生成する前の階層ツリー構造を示す図である。
【図１８Ａ】原稿画像のブロックテンプレートを示す図である。
【図１８Ｂ】原稿画像から１つあるいは複数のブロックを離脱した後の階層ツリー構造を示す図である。
【図１９Ａ】原稿画像のブロックテンプレートを示す図である。
【図１９Ｂ】原稿画像から１つあるいは複数のブロックを生成した後の階層ツリー構造を示す図である。
【図２０】階層ツリー構造の低いレベルにおける編集方法を説明するためのフローチャートである。
【図２１】原稿画像の階層ブロックテンプレートの編集方法を説明するためのフローチャートである。
【図２２Ａ】原稿画像のブロックテンプレートを示す図である。
【図２２Ｂ】編集前の階層ツリー構造を示す図である。
【図２３Ａ】原稿画像のブロックテンプレートを示す図である。
【図２３Ｂ】編集後の階層ツリー構造を示す図である。
【図２４】原稿ページの一例を示す図である。
【図２５】図２４の原稿ページに関して、ブロックセレクション処理の処理結果より得られる階層ツリー構造の一例を示す図である。
【図２６】図２４の階層ツリー構造に基づいて生成される原稿ページの表示例を示す図である。
【符号の説明】
２０  ＣＰＵ
２１  コンピュータバス
２２  スキャナインタフェース
２３  プリンタインタフェース
２４  ネットワークインタフェース
２６  ＦＡＸ／モデムインタフェース
２７  ディスプレイインタフェース
２８  キーボードインタフェース
２９  マウスインタフェース
３０  メインメモリ
【図１】
0003869875.tif 000002
【図２】
0003869875.tif 000003
【図３Ａ】
0003869875.tif 000004
【図３Ｂ】
0003869875.tif 000005
【図４】
0003869875.tif 000006
【図５Ａ】
0003869875.tif 000007
【図５Ｂ】
0003869875.tif 000008
【図６】
0003869875.tif 000009
【図７Ａ】
0003869875.tif 000010
【図７Ｂ】
0003869875.tif 000011
【図８】
0003869875.tif 000012
【図９Ａ】
0003869875.tif 000013
【図９Ｂ】
0003869875.tif 000014
【図１０】
0003869875.tif 000015
【図１１Ａ】
0003869875.tif 000016
【図１１Ｂ】
0003869875.tif 000017
【図１２Ａ】
0003869875.tif 000018
【図１２Ｂ】
0003869875.tif 000019
【図１３】
0003869875.tif 000020
【図１４Ａ】
0003869875.tif 000021
【図１４Ｂ】
0003869875.tif 000022
【図１５Ａ】
0003869875.tif 000023
【図１５Ｂ】
0003869875.tif 000024
【図１６】
0003869875.tif 000025
【図１７Ａ】
0003869875.tif 000026
【図１７Ｂ】
0003869875.tif 000027
【図１８Ａ】
0003869875.tif 000028
【図１８Ｂ】
0003869875.tif 000029
【図１９Ａ】
0003869875.tif 000030
【図１９Ｂ】
0003869875.tif 000031
【図２０】
0003869875.tif 000032
【図２１】
0003869875.tif 000033
【図２２Ａ】
0003869875.tif 000034
【図２２Ｂ】
0003869875.tif 000035
【図２３Ａ】
0003869875.tif 000036
【図２３Ｂ】
0003869875.tif 000037
【図２４】
0003869875.tif 000038
【図２５】
0003869875.tif 000039
【図２６】
0003869875.tif 000040