(57)【特許請求の範囲】
【請求項１】
所定の表示手段に画像を表示可能な情報処理装置であって、
前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、
前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、
前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、
前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、
前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、
前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
所定の表示手段に画像を表示可能な情報処理装置であって、
前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、
前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、
前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、
前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、
前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、
前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段と、
を備え、
前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、
前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第１範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第１範囲を含む第２範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とする情報処理装置。
【請求項３】
前記書き込みオブジェクトの種類を判別する判別手段、
をさらに備え、
前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、
前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記文字列を解析して前記文字列における所定の区切り位置を検出する区切り検出手段、
をさらに備え、
前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、
前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記補正手段は、前記書き込みオブジェクトが２つの端点を有する場合に、当該書き込みオブジェクトを前記２つの端点を結ぶ線分に補正することを特徴とする請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記補正手段は、前記書き込みオブジェクトが前記２つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記画像は、ドキュメントを構成するページ内に配置され、
前記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段、
をさらに備えることを特徴とする請求項１乃至８のいずれかに記載の情報処理装置。
【請求項１０】
前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする請求項１乃至９のいずれかに記載の情報処理装置。
【請求項１１】
前記画像は、スキャン機能により生成された画像であることを特徴とする請求項１乃至１０のいずれかに記載の情報処理装置。
【請求項１２】
所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、
前記情報処理装置を、
前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、
前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、
前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、
前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、
前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、
前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、
として機能させることを特徴とするプログラム。
【請求項１３】
所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、
前記情報処理装置を、
前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、
前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、
前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、
前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、
前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、
前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、
として機能させ、
前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、
前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第１範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第１範囲を含む第２範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とするプログラム。
【請求項１４】
前記情報処理装置を、
前記書き込みオブジェクトの種類を判別する判別手段、
としてさらに機能させ、
前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする請求項１２又は１３に記載のプログラム。
【請求項１５】
前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、
前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする請求項１４に記載のプログラム。
【請求項１６】
前記情報処理装置を、
前記文字列を解析して、前記文字列における所定の区切り位置を検出する区切り検出手段、
としてさらに機能させ、
前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする請求項１２乃至１５のいずれかに記載のプログラム。
【請求項１７】
前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、
前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記補正手段は、前記書き込みオブジェクトが２つの端点を有する場合に、当該書き込みオブジェクトを前記２つの端点を結ぶ線分に補正することを特徴とする請求項１２乃至１７のいずれかに記載のプログラム。
【請求項１９】
前記補正手段は、前記書き込みオブジェクトが前記２つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする請求項１８に記載のプログラム。
【請求項２０】
前記画像は、ドキュメントを構成するページ内に配置され、
前記情報処理装置を、
前記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段、
としてさらに機能させることを特徴とする請求項１２乃至１９のいずれかに記載のプログラム。
【請求項２１】
前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする請求項１２乃至２０のいずれかに記載のプログラム。
【請求項２２】
前記画像は、スキャン機能により生成された画像であることを特徴とする請求項１２乃至２１のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関し、特に、ユーザーにより入力された画像を補正する技術に関する。
【背景技術】
【０００２】
従来、情報処理装置が他のデバイスから画像データを取得して、ディスプレイなどの表示手段に表示させることが可能である。情報処理装置が取得する画像データには、例えばスキャン処理を行うことにより生成された画像データが含まれる。さらに近年において、表示手段に画像を表示させた状態で、ユーザーによるマウスなどの操作手段の操作に応じて、表示されている画像に対して文字、記号、下線などの図形を書き込み可能な情報処理装置が提供されている。このような情報処理装置によると、表示手段に表示されている文字列などに対して、ユーザーは操作手段を操作することにより、下線を付加したり、囲み枠などを付加したりすることが可能となる。
【０００３】
ユーザーの操作に応じた書き込みがなされる場合、ユーザーが書き込みを行いたい文字列に対する的確な位置から外れた位置にオブジェクトが書き込まれることがある。また、原稿の画像をスキャンで自動的に読み取る場合、読取ヘッドは原稿の主走査方向の読取位置を主走査方向と直交する副走査方向へ相対的に移動させながら画像を読み取っていく。このような読取手法では、読取ヘッドによって主走査方向の読取動作が行われているときにも、読取ヘッドの読取位置が副走査方向に対して移動していることになり、スキャンによって得られた画像は、傾斜した画像であることがある。さらに、原稿読取部まで原稿が搬送される際、原稿が原稿読取方向に対し斜めになった状態で搬送され、或いは、原稿載置部に原稿が原稿読取方向に対して斜めになった状態で載置されると、例えば表示手段に対して傾斜して画像や文字が表示されることがある。このような場合、ユーザーは表示手段に対し傾斜して表示される画像や文字列に対して書き込みを行うことになり、傾斜していない場合に比べ、的確な位置に書き込みオブジェクトを表示させることがより困難になる。
【０００４】
そこで、文字画像の傾きを検知して、文字画像を例えば走査方向に補正する画像処理装置が提案されている（例えば特許文献１）。このような画像処理装置によると、表示手段において画像や文字列が傾斜して表示されている場合に、走査方向に補正することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１０８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に示す画像処理装置によっても、ユーザーにより書き込まれたオブジェクトが、表示手段に表示されている画像や文字列に対して的確な位置に表示されるよう補正することはできないという問題がある。なぜなら、上述したようにスキャン処理により生成された画像データの場合、画像や文字列が傾斜している場合があるため、このような場合にオブジェクトを走査線方向に補正しても、画像や文字列の配置とは無関係の位置にオブジェクトが表示されるだけであり、オブジェクトを的確な位置に表示させることができないからである。
【０００７】
そこで本発明は、上記問題点を解決するためになされたものであり、ユーザーの操作に応じて、表示手段に表示されている画像や文字に対して書き込まれたオブジェクトを的確な位置に表示可能な情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に係る発明は、所定の表示手段に画像を表示可能な情報処理装置であって、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段とを備えることを特徴とする構成である。
【０００９】
請求項２に係る発明は、所定の表示手段に画像を表示可能な情報処理装置であって、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段と、を備え、前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第１範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第１範囲を含む第２範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とする構成である。
【００１５】
請求項３に係る発明は、請求項１又は２に記載の情報処理装置において、前記書き込みオブジェクトの種類を判別する判別手段をさらに備え、前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする構成である。
【００１６】
請求項４に係る発明は、請求項３に記載の情報処理装置において、前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする構成である。
【００１７】
請求項５に係る発明は、請求項１乃至４のいずれかに記載の情報処理装置において、前記文字列を解析して前記文字列における所定の区切り位置を検出する区切り検出手段をさらに備え、前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする構成である。
【００１８】
請求項６に係る発明は、請求項５に記載の情報処理装置において、前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする構成である。
【００１９】
請求項７に係る発明は、請求項１乃至６のいずれかに記載の情報処理装置において、前記補正手段は、前記書き込みオブジェクトが２つの端点を有する場合に、当該書き込みオブジェクトを前記２つの端点を結ぶ線分に補正することを特徴とする構成である。
【００２０】
請求項８に係る発明は、請求項７に記載の情報処理装置において、前記補正手段は、前記書き込みオブジェクトが前記２つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする構成である。
【００２１】
請求項９に係る発明は、請求項１乃至８のいずれかに記載の情報処理装置において、前記画像は、ドキュメントを構成するページ内に配置され、前記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段をさらに備えることを特徴とする構成である。
【００２２】
請求項１０に係る発明は、請求項１乃至９のいずれかに記載の情報処理装置において、前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする構成である。
【００２３】
請求項１１に係る発明は、請求項１乃至１０のいずれかに記載の情報処理装置において、前記画像は、スキャン機能により生成された画像であることを特徴とする構成である。
【００２４】
請求項１２に係る発明は、所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、前記情報処理装置を、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、として機能させることを特徴とする構成である。
【００２５】
請求項１３に係る発明は、所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、前記情報処理装置を、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、として機能させ、前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第１範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第１範囲を含む第２範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とする構成である。
【００３１】
請求項１４に係る発明は、請求項１２又は１３に記載のプログラムにおいて、前記情報処理装置を、前記書き込みオブジェクトの種類を判別する判別手段としてさらに機能させ、前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする構成である。
【００３２】
請求項１５に係る発明は、請求項１４に記載のプログラムにおいて、前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする構成である。
【００３３】
請求項１６に係る発明は、請求項１２乃至１５のいずれかに記載のプログラムにおいて、前記情報処理装置を、前記文字列を解析して、前記文字列における所定の区切り位置を検出する区切り検出手段としてさらに機能させ、前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする構成である。
【００３４】
請求項１７に係る発明は、請求項１６に記載のプログラムにおいて、前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする構成である。
【００３５】
請求項１８に係る発明は、請求項１２乃至１７のいずれかに記載のプログラムにおいて、前記補正手段は、前記書き込みオブジェクトが２つの端点を有する場合に、当該書き込みオブジェクトを前記２つの端点を結ぶ線分に補正することを特徴とする構成である。
【００３６】
請求項１９に係る発明は、請求項１８に記載のプログラムにおいて、前記補正手段は、前記書き込みオブジェクトが前記２つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする構成である。
【００３７】
請求項２０に係る発明は、請求項１２乃至１９のいずれかに記載のプログラムにおいて、前記画像は、ドキュメントを構成するページ内に配置され、前記情報処理装置を、前記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段としてさらに機能させることを特徴とする構成である。
【００３８】
請求項２１に係る発明は、請求項１２乃至２０のいずれかに記載のプログラムにおいて、前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする構成である。
【００３９】
請求項２２に係る発明は、請求項１２乃至２１のいずれかに記載のプログラムにおいて、前記画像は、スキャン機能により生成された画像であることを特徴とする構成である。
【発明の効果】
【００４０】
本発明によれば、表示手段に表示されている画像や文字に対してユーザーの操作に応じて書き込まれたオブジェクトを、画像や文字に対する適切な位置に表示させることが可能であり、資料作成の効率性が向上するのである。
【図面の簡単な説明】
【００４１】
【図１】情報処理装置を有する情報処理システムの全体の構成を示す図である。
【図２】ドキュメントデータに基づく画像の表示例を示す図である。
【図３】情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図である。
【図４】画像に文字列が含まれる場合の一例を示す図である。
【図５】文字列に対する書込オブジェクトの一例を示す図である。
【図６】文字列に対する書込オブジェクトの一例を示す図である。
【図７】書込オブジェクトに対する補正が行われる場合の一例を示す図である。
【図８】書込オブジェクトに対する補正が行われる場合の一例を示す図である。
【図９】書込オブジェクトに対する補正が行われる場合の一例を示す図である。
【図１０】直線オブジェクトに対する補正の一例を示す図である。
【図１１】囲み枠オブジェクトに対する補正の一例を示す図である。
【図１２】文字列における区切りに応じて書込オブジェクトの補正が行われる場合の一例を示す図である。
【図１３】情報処理装置において行われる主要な処理手順の一例を示すフローチャートである。
【図１４】基準検出処理の具体的な処理手順の一例を示すフローチャートである。
【図１５】書込オブジェクト検出処理の具体的な処理手順の一例を示すフローチャートである。
【図１６】画像補正処理の具体的な処理手順の一例を示すフローチャートである。
【図１７】書込オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。
【図１８】直線オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。
【図１９】直線オブジェクト補正処理が行われる場合の補正態様の一例を示す図である。
【図２０】二重線オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。
【図２１】二重線オブジェクト補正処理が行われる場合の補正態様の一例を示す図である。
【図２２】囲み枠オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。
【図２３】囲み枠オブジェクト補正処理が行われる場合の補正態様の一例を示す図である。
【発明を実施するための形態】
【００４２】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【００４３】
図１は、本発明の一実施形態である情報処理システム１の構成例を示す図である。この情報処理システム１は、スマートフォンやタブレット端末、或いはパーソナルコンピュータ（ＰＣ）などで構成される情報処理装置２と、情報処理装置２と通信可能な画像処理装置４を備える。画像処理装置４は、ＭＦＰ（Multifunction Peripheral）などで構成され、ユーザーによる指示操作によって投入されるスキャンジョブを実行することができる装置である。これとは異なり、画像処理装置４は、スキャン機能のみを備える装置であってもよい。情報処理装置２は、ｂｌｕｅｔｏｏｔｈ（登録商標）やＷｉＦｉなどの電波を利用した無線通信機能を備え、画像処理装置４との間で無線通信を行うことが可能である。また、情報処理装置２と画像処理装置４は、図示しないＬＡＮ（Local Area Network）やインターネットなどのネットワークを経由して互いに通信可能である。
【００４４】
画像処理装置４は、原稿５に対しスキャン処理を行うことにより、ドキュメントデータＤ１を生成する。ドキュメントデータＤ１は、例えばビットマップやＪＰＥＧなどの画像データである。また、これとは異なり、ドキュメントデータＤ１はスキャン処理により生成されたものではなく、例えば文書編集アプリケーションなどにより生成されたデータであり、テキストデータを含むものであってもよい。情報処理装置２は、無線通信やネットワークを経由して、画像処理装置４からドキュメントデータＤ１を取得可能である。情報処理装置２は、表示部１０を備え、ドキュメントデータＤ１に基づいて表示部１０に画像を表示可能である。図２は、ドキュメントデータＤ１に基づいて画像を表示する場合における画面構成の一例を示した図である。図２（ａ）に示すように、表示部１０内に、ドキュメントデータＤ１を構成するページＰ１が表示され、ページＰ１内に画像Ａ１が表示される。ドキュメントデータＤ１は、複数のページＰ１により構成される場合があり、この場合、情報処理装置２は、表示部１０内に１つのページＰ１を表示させることができ、また、複数のページＰ１を並べて表示させることも可能である。
【００４５】
画像Ａ１は、図２（ａ）に示すようにページＰ１の上辺及び下辺に対して平行に表示される場合もあり、これとは異なり、ページＰ１の上辺及び下辺に対して傾斜して表示される場合もある。また、ドキュメントデータＤ１が複数のページＰ１により構成される場合、ページＰ１毎に画像Ａ１の傾斜の有無、又は傾斜の程度が異なることがある。
【００４６】
図２（ｂ）は、表示部１０に画像Ａ１が表示されている場合に、オブジェクトが画像Ａ１に付加される場合の一例を示す図である。表示部１０に画像Ａ１が表示されている場合に、ユーザーは、操作部１１を操作することにより書込オブジェクトＢ１を付加することが可能である。操作部１１は、例えばマウスなどにより構成され、或いは、表示部１０の画面に配置されるタッチセンサなどにより構成される。書込オブジェクトＢ１は、ユーザーによる操作内容に応じた形状にて表示部１０に表示される。図２（ｂ）の例では、画像Ａ１の文字列に下線が付され、ユーザーが強調したい語を見つけやすくすることができる。
【００４７】
上述したように、ユーザーの操作内容に応じた形状の書込オブジェクトＢ１が付加される場合、付加された書込オブジェクトＢ１は直線として表示されなかったり、文字列の配列方向に対して傾斜していたり、或いは、ユーザーが書込オブジェクトＢ１を付加したい文字列に対して的確な位置に表示されなかったりすることがある。そこで、本実施形態における情報処理装置２は、書込オブジェクトＢ１を、画像Ａ１における文字列の配列方向に基づいて付加されるよう補正することが可能な装置である。以下、情報処理装置２の具体的な構成について説明する。
【００４８】
図３は、情報処理装置２の機能構成及びハードウェア構成の一例を示すブロック図である。情報処理装置２は、画像処理装置４との通信におけるインタフェースとなる通信インタフェース１４と、ＣＰＵ１２と、記憶部１６とを備える。
【００４９】
記憶部１６は不揮発性の記憶手段である。この記憶部１６には、情報処理装置２において実行され、ＣＰＵ１２を以下に説明する各処理部として機能させるプログラム６０が格納される。また、記憶部１６には、画像処理装置４から取得したドキュメントデータＤ１が格納される。
【００５０】
ＣＰＵ１２は、プログラム６０を読み出して実行することにより、ドキュメントデータ取得部２０、文字列検出部２２、基準検出部２４、表示制御部２６、操作検知部２８、オブジェクト生成部３０、オブジェクト判別部３２、傾斜検出部３４、補正部３６、区切検出部３８として機能する。表示制御部２６は、さらにオブジェクト表示部４９として機能する。補正部３６は、さらに差分検出部５０、オブジェクト補正部５２、ドキュメント補正部５４としてさらに機能する。
【００５１】
ドキュメントデータ取得部２０は、情報処理装置２が通信インタフェース１４を経由して画像処理装置４からドキュメントデータＤ１を受信すると、受信されたドキュメントデータＤ１を取得する処理部である。ドキュメントデータ取得部２０によりドキュメントデータＤ１が取得されると、文字列検出部２２が機能する。文字列検出部２２は、ドキュメントデータＤ１に含まれる画像から文字列を検出する処理部である。図４は、ドキュメントデータＤ１が取得された場合の表示部１０に表示される画像Ａ１の表示態様の一例を示す図である。ドキュメントデータ取得部２０によりドキュメントデータＤ１が取得されると、図４（ａ）に示すようにドキュメントデータＤ１のページＰ１が表示部１０に表示される。そして、文字列検出部２２によりページＰ１に含まれる文字列が検出される。文字列検出部２２により文字列が検出されると、基準検出部２４（図３参照）が機能し、文字列検出部２２により検出された文字列の配列方向を検出する。
【００５２】
図４（ｂ）は、基準検出部２４により検出された文字列の配列方向の一例を示す図である。文字列検出部２２によりページＰ１に含まれる文字列が検出されると、基準検出部２４は、文字列を構成する各文字の配列に基づいて、文字列の配列方向を検出する。図４（ａ）および（ｂ）に示す例では、各文字はページＰ１の上辺及び下辺に対して略平行に配列されており、文字列の配列方向は、図４（ｂ）に示すように基準方向Ｆ１である。
【００５３】
基準検出部２４は、画像Ａ１の基準方向Ｆ１を検出する処理部である。本実施形態において基準方向Ｆ１は、画像Ａ１に対して付加された書込オブジェクトＢ１を補正する際の基準となる方向であり、書込オブジェクトＢ１が基準方向Ｆ１に対して傾斜する場合に、後述する補正部３６は、基準方向Ｆ１に一致するように例えば書込オブジェクトＢ１を回転させる。本実施形態において基準検出部２４は、文字列の配列方向を検出すると、検出された配列方向を画像Ａ１の基準方向Ｆ１に決定する。これにより、後述する補正部３６により、書込オブジェクトＢ１が画像Ａ１に含まれる文字列の配列方向に一致するよう補正されるため、書込オブジェクトＢ１が文字列に対して的確に付加されるのである。
【００５４】
操作検知部２８は、表示部１０に画像Ａ１が表示されている状態で、ユーザーにより操作部１１に対する操作が行われると、ユーザーによる操作に応じて画像Ａ１に対する書き込み入力を受け付ける処理部である。本実施形態において、書き込み入力の受付を開始する旨の指示が検知されると、操作検知部２８は、書き込み入力を受け付ける。そして、書き込み入力の受付を終了する旨の指示が検知されると、操作検知部２８は、書き込み入力の受付を終了する。
【００５５】
操作検知部２８により書き込み入力が受け付けられると、オブジェクト生成部３０が機能する。オブジェクト生成部３０は、操作検知部２８により受け付けられた書き込み入力に応じて書込オブジェクトＢ１を生成する処理部である。オブジェクト生成部３０は、操作検知部２８により受け付けられた書き込み入力に基づいて、書込オブジェクトＢ１を生成し、画像Ａ１に対して生成された書込オブジェクトＢ１を付加する。そして、本実施形態においては、オブジェクト生成部３０により書込オブジェクトＢ１が生成されると、表示制御部２６により表示部１０に書込オブジェクトＢ１が表示される。
【００５６】
図５は、画像Ａ１に書込オブジェクトＢ１が付加された場合の一例を示す図である。操作検知部２８により書き込み入力が受け付けられている間に、ユーザーが操作部１１を操作すると、操作検知部２８は、例えばページＰ１内においてユーザーによる操作が開始された位置と、操作の軌跡に沿った位置を取得する。そして、オブジェクト生成部３０は、例えば操作検知部２８により取得された操作開始位置と操作の軌跡に沿った位置に基づいて、書込オブジェクトＢ１をページＰ１内に生成する。図例では、文字列に対し直線により構成される直線オブジェクトＢ２（Ｂ１）と、二重線により構成される二重線オブジェクトＢ６（Ｂ１）と、方形により構成される囲み枠オブジェクトＢ８（Ｂ１）と、文字により構成される文字オブジェクトＢ１０（Ｂ１）が画像Ａ１に付加される。これらのオブジェクトは、ユーザーによる操作の軌跡に基づく描画により生成されるオブジェクトである。そのため、文字列に対して付加された下線（二重下線）や囲み枠が基準方向Ｆ１に対して傾いていたり、或いは文字列における適切な位置に付加されていないということが生じる。上述した直線オブジェクトＢ２、二重線オブジェクトＢ６及び囲み枠オブジェクトＢ８は、ユーザーの操作に応じて書き込み入力された線により構成される線状オブジェクトに含まれる。また、波線や二重波線を含む曲線により構成される書込オブジェクトＢ１も、線状オブジェクトに含まれる。これに対し、文字や記号などは線状オブジェクトに含まれない。
【００５７】
オブジェクト生成部３０により画像Ａ１に書込オブジェクトＢ１が付加されてから、書き込み入力の受け付けを終了する旨の指示が操作検知部２８に検知されると、これ以降に操作部１１に対する操作が操作検知部２８により検知されても、操作検知部２８は、書き込み入力として当該操作を受け付けない。書き込み入力の受付を終了する旨の指示が操作検知部２８により検知されると、オブジェクト判別部３２が機能する。
【００５８】
オブジェクト判別部３２は、書込オブジェクトＢ１の種類を判別する処理部である。書き込み入力が受け付けられている間にオブジェクト生成部３０によって画像Ａ１に付加された書込オブジェクトＢ１は、各々いずれの種類に属するオブジェクトであるのか未だ判別されていない。操作検知部２８による書き込み入力の受け付けが終了すると、オブジェクト判別部３２は、ページＰ１内の書込オブジェクトＢ１の種類の判別を行う。まず、オブジェクト判別部３２は、互いに所定距離以上離れているオブジェクトを異なる書込オブジェクトＢ１であると判別する。図５（ａ）の例において、オブジェクト判別部３２は、画像Ａ１に含まれる文字「資料１」を囲むように付加されたオブジェクトと、算用数字「１３０」上に付加されたオブジェクトとの距離を検出し、所定値以上である場合に、これら２つのオブジェクトを異なる書込オブジェクトＢ１であると判別する。同様に、その他のオブジェクト同士の距離を検出し、オブジェクト同士の距離が所定値以上である場合、各オブジェクトはそれぞれ別の書込オブジェクトＢ１であると判別する。
【００５９】
画像Ａ１に付加された各書込オブジェクトＢ１が判別されると、次に、オブジェクト判別部３２は、補正処理の対象となり得る書込オブジェクトＢ１であるか、補正処理の対象とならない書込オブジェクトＢ１であるかを判別する。オブジェクト判別部３２は、画像Ａ１に含まれる文字列に対する書込オブジェクトＢ１の位置に基づいて、当該書込オブジェクトＢ１が文字列に対して付加され、補正処理の対象となり得る書込オブジェクトＢ１であるか否かを判別する。本実施形態において、オブジェクト判別部３２は、画像Ａ１の文字列から所定範囲外に付加されている書込オブジェクトＢ１を補正処理の対象とならない書込オブジェクトＢ１であると判別する。文字列から所定範囲外に付加された書込オブジェクトＢ１は、文字列に対して書き込まれたものではないと判断されるからである。また、オブジェクト判別部３２は、文字により構成される書込オブジェクトＢ１を補正対象とならない書込オブジェクトＢ１であると判別する。文字により構成される書込オブジェクトＢ１は、補正を行わなくとも書き込み入力に応じて付加された状態で解読可能だからである。これとは異なり、全ての書込オブジェクトＢ１を補正対象となり得るとしてもよい。
【００６０】
オブジェクト判別部３２は、補正対象となり得ると判別された書込オブジェクトＢ１が、画像Ａ１に含まれる文字列のうち、いずれの文字列に付加されているのかをさらに判別する。一例として、画像Ａ１に含まれる各文字列から所定距離内に書込オブジェクトＢ１があるか否かを判定し、ある文字列から所定距離内にある書込オブジェクトＢ１を、当該文字列に対して付加された書込オブジェクトＢ１であると判別する。文字列から所定距離内に書込オブジェクトＢ１があるか否かの一判定基準として、例えば、書込オブジェクトＢ１を構成する線のうち所定割合（例えば６０％）以上の線が文字列から所定距離内にある場合に、当該文字列に付加された書込オブジェクトＢ１であると判別してもよい。
【００６１】
次にオブジェクト判別部３２は、補正対象となり得ると判別された書込オブジェクトＢ１の種類を判別する。オブジェクト判別部３２は、書込オブジェクトＢ１の端点を検出する。そして、２つの端点が検出される場合、オブジェクト判別部３２は、当該書込オブジェクトＢ１がこれら２つの端点を結ぶ直線から所定範囲内にあるときに、当該書込オブジェクトＢ１を直線オブジェクトＢ２であると判別する。図５（ｂ）の例では、２つの端点が検出されることから、これら２つの端点を結ぶ直線ｍ１から所定範囲内に書込オブジェクトＢ１がある。そこで、オブジェクト判別部３２は、当該書込オブジェクトＢ１を直線オブジェクトＢ２であると判別する。
【００６２】
さらにオブジェクト判別部３２は、文字列に付加された直線オブジェクトＢ２の位置に基づいて、当該直線オブジェクトＢ２が当該文字列に対して下線として書き込まれたものであるのか、或いは取消線として書き込まれたものであるのかを判別する。例えば図５（ｃ）に示すように、直線オブジェクトＢ２が文字列ａ１に対して付加されたものであると判別された場合に、オブジェクト判別部３２は、文字列ａ１の中心線ＣＬよりも直線オブジェクトＢ２がページＰ１において上方に付加されていれば、当該直線オブジェクトＢ２を、文字列ａ１に対して付加された取消線と判別する。他方、文字列ａ１の中心線ＣＬよりも直線オブジェクトＢ２がページＰ１において下方に付加されている場合、当該直線オブジェクトＢ２を下線と判別する。
【００６３】
書込オブジェクトＢ１から２つの端点が検出され、書込オブジェクトＢ１がこれら２つの端点を結ぶ直線ｍ１から所定範囲内にない場合、当該書込オブジェクトＢ１は直線オブジェクトＢ２ではないと判定される。次にオブジェクト判別部３２は、所定範囲内において各端点を通る略平行な２つの線が当該書込オブジェクトＢ１から検出される場合に、当該書込オブジェクトＢ１を二重線と判別する。図６（ｄ）に示すように、書込オブジェクトＢ１は端点Ｔ１と端点Ｔ３を有し、これら２つの端点を結ぶ直線から距離ｎ１以上離れた領域にあるため、直線オブジェクトＢ２であると判別されない。そして、書込オブジェクトＢ１は、端点Ｔ１と端点Ｔ３のそれぞれを通る２つの線が略平行であり、且つこれら２つの線の距離がｎ３以下であることから、オブジェクト判別部３２は、当該書込オブジェクトＢ１を二重線オブジェクトＢ６と判別する。
【００６４】
さらにオブジェクト判別部３２は、書込オブジェクトＢ１から端点が検出されない場合に、当該書込オブジェクトＢ１の形状を解析する。そして、当該書込オブジェクトＢ１が略四角形である場合、オブジェクト判別部３２は当該書込オブジェクトＢ１を囲み枠オブジェクトＢ８であると判別する。図６（ｅ）に示すように、文字列上に付加された書込オブジェクトＢ１は、端点が検出されず、また、４辺に相当する線がそれぞれ検出されると略四角形であると判定され、当該書込オブジェクトＢ１は囲み枠オブジェクトＢ８であると判別される。
【００６５】
図３に戻り、オブジェクト判別部３２により書込オブジェクトＢ１に対する判別が行われ、書込オブジェクトＢ１が直線オブジェクトＢ２、二重線オブジェクトＢ６又は囲み枠オブジェクトＢ８のいずれかである場合、傾斜検出部３４が機能する。傾斜検出部３４は、画像Ａ１に付加された書込オブジェクトＢ１の傾斜方向Ｆ３を検出する処理部である。本実施形態において、傾斜検出部３４は、書込オブジェクトＢ１が直線オブジェクトＢ２、二重線オブジェクトＢ６及び囲み枠オブジェクトＢ８のいずれかである場合に、当該オブジェクトの配置に基づいて傾斜方向Ｆ３を検出する。本実施形態において傾斜方向Ｆ３は、オブジェクトが配置されている方向である。傾斜方向Ｆ３が検出され、画像Ａ１の基準方向Ｆ１に基づいて傾斜方向Ｆ３が補正されることにより、オブジェクトが基準方向Ｆ１に適合した方向に配置され、的確な位置にオブジェクトが付加されるのである。
【００６６】
傾斜検出部３４は、直線オブジェクトＢ２、二重線オブジェクトＢ６及び囲み枠オブジェクトＢ８の各々に応じて、傾斜方向Ｆ３を検出する。例えば、直線オブジェクトＢ２の場合、傾斜検出部３４は、図５（ｂ）に示すように直線オブジェクトＢ２の２つの端点を結ぶ直線ｍ１を、直線オブジェクトＢ２の傾斜方向Ｆ３に決定する。
【００６７】
二重線オブジェクトＢ６の場合、傾斜検出部３４は、例えば直線近似によって二重線オブジェクトＢ６の傾斜方向Ｆ３を検出する。図６（ｄ）は、二重線オブジェクトＢ６の傾斜方向Ｆ３の検出の一例を示す図である。近似直線ｍ３は、例えば最小２乗法を用いて求め、得られた近似直線ｍ３を二重線オブジェクトＢ６の傾斜方向Ｆ３に決定する。或いはこれとは異なり、傾斜検出部３４は、二重線オブジェクトＢ６を構成する線の所定割合以上と接する直線ｍ４を検出する。そして、検出された直線ｍ４のうち、基準方向Ｆ１に対して最も平行に近い直線ｍ４を傾斜方向Ｆ３に決定してもよい。
【００６８】
囲み枠オブジェクトＢ８の場合、傾斜検出部３４は、二重線オブジェクトＢ６と同様に直線近似により囲み枠オブジェクトＢ８の傾斜方向Ｆ３を検出する。図６（ｅ）は、囲み枠オブジェクトＢ８の傾斜方向Ｆ３を検出する場合の一例を示す図であり、傾斜検出部３４は、例えば最小２乗法により得られた近似直線ｍ５を囲み枠オブジェクトＢ８の傾斜方向Ｆ３に決定する。或いは、これとは異なり、傾斜検出部３４は、囲み枠オブジェクトＢ８の各辺の所定割合以上と接する直線ｍ６を検出する。そして、検出された直線ｍ６のうち、基準方向Ｆ１に対して最も平行に近い直線ｍ６を傾斜方向Ｆ３に決定してもよい。
【００６９】
図３に戻り、補正部３６は、差分検出部５０と、オブジェクト補正部５２と、ドキュメント補正部５４としてさらに機能する。差分検出部５０は、画像Ａ１の基準方向Ｆ１と書込オブジェクトＢ１の傾斜方向Ｆ３との角度の差分を検出する処理部である。オブジェクト補正部５２は、基準方向Ｆ１に基づいて書込オブジェクトＢ１を補正する処理部である。ドキュメント補正部５４は、文字列を含む画像Ａ１をページＰ１の一の端辺と平行になるように補正する処理部である。
【００７０】
差分検出部５０は、画像Ａ１の基準方向Ｆ１と書込オブジェクトＢ１の傾斜方向Ｆ３との角度を検出する。図７は、補正部３６により書込オブジェクトＢ１が補正される場合の一例を示す図である。図７（ａ）に示すように、差分検出部５０は、画像Ａ１の基準方向Ｆ１と直線オブジェクトＢ２（Ｂ１）の傾斜方向Ｆ３との角度θを検出する。差分検出部５０により基準方向Ｆ１と傾斜方向Ｆ３との角度θが検出されると、オブジェクト補正部５２は、図７（ｂ）に示すように、例えば直線オブジェクトＢ２の端点Ｔ５を軸にして直線オブジェクトＢ２が基準方向Ｆ１と平行になるまで直線オブジェクトＢ２を回転させる。これにより、直線オブジェクトＢ２は画像Ａ１に含まれる文字列の配列方向に対して平行に表示されるため、いずれの文字列に対して付加された直線オブジェクトＢ２であるのかが明らかになる。
【００７１】
図８は、図７に示した補正とは異なる態様の補正が行われる場合の一例を示す図である。図７に示した補正例の場合、直線オブジェクトＢ２を回転させる際に軸となる端点Ｔ５の位置によって補正後の直線オブジェクトＢ２の位置が決定される。例えば、端点Ｔ５が文字列に重なる位置にある場合、補正後の直線オブジェクトＢ２は、文字列と重なる位置に配置されることになる。図７に示すように、ユーザーが文字列に対して下線として直線オブジェクトＢ２を付加する意図であることが推認できる場合であっても、仮に端点Ｔ５が文字列に重なる位置にあれば、補正後の直線オブジェクトＢ２が文字列上に配置されることになり、ユーザーの意図に反する結果になる。
【００７２】
そこで、図８に示す例では、オブジェクト判別部３２は、直線オブジェクトＢ２の文字列ａ２に対する位置に基づいて、補正前の直線オブジェクトＢ２を文字列ａ２に対する下線であると判別する。オブジェクト判別部３２による判別結果に応じて、オブジェクト補正部５２は、例えば文字列ａ２下端の近傍の所定位置を通る基準方向Ｆ１に平行な直線を検出し、検出された直線に対して直角方向を投影方向として直線オブジェクトＢ２を投影させる。そして、オブジェクト補正部５２は、直線オブジェクトＢ２を当該直線に対して投影することにより生成される直線オブジェクトＢ２'に補正する。これにより、オブジェクト補正部５２は、直線オブジェクトＢ２を、基準方向Ｆ１に平行に補正すると共に、文字列ａ２に対する下線であることを明示することができる。すなわち、図８の例では、オブジェクト補正部５２は、文字列ａ２に対する直線オブジェクトＢ２の位置に応じて、文字列中又は文字列の近傍において基準方向Ｆ１に平行な直線を検出する。そして、検出された直線に対して直線オブジェクトＢ２を投影させ、直線オブジェクトＢ２を投影により生成される線分に変換することにより補正を行うのである。
【００７３】
オブジェクト補正部５２は、オブジェクト判別部３２によって補正対象となる書込オブジェクトＢ１であると判別された場合に、文字列に対して予め設定される位置に当該書込オブジェクトＢ１を配置する。図５（ｃ）の例示において、オブジェクト判別部３２は、画像Ａ１に含まれる文字列に対する書込オブジェクトＢ１の位置に基づいて、画像Ａ１に含まれる文字列のうち、いずれの文字列に対して付加された書込オブジェクトＢ１であるかを判別する。そして、図５（ｃ）に示すように、直線オブジェクトＢ２が文字列ａ１に対して付加されたと判別されると、オブジェクト判別部３２はさらに、文字列ａ１に対する直線オブジェクトＢ２の位置に基づいて、直線オブジェクトＢ２が文字列ａ１に付加された取消線であるのか、又は文字列ａ１に付加された下線であるのかを判別する。
【００７４】
例えば文字列ａ１の中心線ＣＬよりも直線オブジェクトＢ２が上方に付加されている場合、当該直線オブジェクトＢ２を取消線と判別する。オブジェクト判別部３２により取消線であると判別されると、オブジェクト補正部５２は、例えば少なくとも直線オブジェクトＢ２の一の端点が文字列ａ１の中心線ＣＬ上に位置するように直線オブジェクトＢ２を移動させる。或いは、上述したように、基準方向Ｆ１に対して平行になるように補正された直線オブジェクトＢ２を、文字列ａ１の中心線ＣＬ上に移動させてもよい。
【００７５】
また、図５（ｃ）の例示において、オブジェクト判別部３２は、文字列ａ１の中心線ＣＬよりも直線オブジェクトＢ２が下方に付加されている場合、当該直線オブジェクトＢ２を文字列に付加された下線であると判別する。オブジェクト判別部３２により下線であると判別されると、オブジェクト補正部５２は、例えば少なくとも直線オブジェクトＢ２の一の端点が文字列下端に位置するように直線オブジェクトＢ２を移動させる。或いは、基準方向Ｆ１に対して平行になるように補正された直線オブジェクトＢ２を、文字列下端に移動させてもよい。これにより、文字列に付加された直線オブジェクトＢ２が、取消線又は下線のいずれであるのかが明らかにされ、美観が向上する。なお、オブジェクト判別部３２によって二重線オブジェクトＢ６であると判定された場合も同様に、オブジェクト補正部５２は、文字列における二重線オブジェクトＢ６が付加されている位置に基づいて、二重線オブジェクトＢ６を移動させる。
【００７６】
オブジェクト補正部５２は、傾斜検出部３４により検出された書込オブジェクトＢ１の傾斜方向Ｆ３と基準方向Ｆ１との角度が所定値以内である場合に、傾斜方向Ｆ３を基準方向Ｆ１と一致するように補正すると共に、傾斜方向Ｆ３と基準方向Ｆ１との角度が所定値より大きい場合に、傾斜方向Ｆ３を補正しないとしてもよい。この所定値は、ユーザーにより予め設定可能である。傾斜方向Ｆ３と基準方向Ｆ１との角度が比較的大きい場合には、ユーザーは意図的に基準方向Ｆ１との角度が大きくなる当該書込オブジェクトＢ１を付加させた可能性が高いため、当該書込オブジェクトＢ１を基準方向Ｆ１に基づいて補正すると、ユーザーの意図に反した書込オブジェクトＢ１になってしまう可能性がある。そこで、基準方向Ｆ１と傾斜方向Ｆ３との角度がユーザーにより設定された所定値以上となる場合、補正を行わないとすることにより、ユーザーの意図に反した補正が行われることを防止できる。
【００７７】
図９（ａ）は、基準方向Ｆ１と傾斜方向Ｆ３との角度が比較的大きい場合の直線オブジェクトＢ２の一例を示す図である。傾斜検出部３４により直線オブジェクトＢ２の傾斜方向Ｆ３が検出されると、差分検出部５０は、画像Ａ１の基準方向Ｆ１と傾斜方向Ｆ３との角度θ２を検出する。差分検出部５０により角度θ２が検出されると、オブジェクト補正部５２が機能する。そして、オブジェクト補正部５２は、角度θ２が予め設定される所定値α１より大きい場合、直線オブジェクトＢ２の補正を行わない。図例の直線オブジェクトＢ２が付加されている態様からすると、当該直線オブジェクトＢ２は、ユーザーにより文字列ａ２に取消線として付加されたのか、下線として付加されたのか、或いは、文字列ａ２を削除するための斜線として付加されたのか区別できない。そこでこのような場合、オブジェクト補正部５２は、直線オブジェクトＢ２に対して基準方向Ｆ１に基づく補正を行わない。これにより、ユーザーの意図に反する態様に書込オブジェクトＢ１が補正されることを防止する。
【００７８】
これとは異なり、オブジェクト補正部５２は、以下の処理を行ってもよい。書込オブジェクトＢ１が直線オブジェクトＢ２又は二重線オブジェクトＢ６である場合に、オブジェクト補正部５２は、直線オブジェクトＢ２又は二重線オブジェクトＢ６の基準方向Ｆ１における長さを検出する。そして、基準方向Ｆ１における長さが、所定値（例えば１０ミリメートル）以上であるとき、基準方向Ｆ１と傾斜方向Ｆ３との角度θが上記所定値α１より小さいことを条件として、直線オブジェクトＢ２又は二重線オブジェクトＢ６の補正を行う。他方、直線オブジェクトＢ２又は二重線オブジェクトＢ６の基準方向Ｆ１における長さが所定値（例えば１０ミリメートル）未満であるとき、基準方向Ｆ１と傾斜方向Ｆ３との角度θが、所定値α１より大きい値α２より小さいことを条件として、直線オブジェクトＢ２又は二重線オブジェクトＢ６の補正を行う。
【００７９】
図９（ｂ）に示すように、基準方向Ｆ１に対して共にθ１０傾斜している直線オブジェクトＢ２ａと、直線オブジェクトＢ２ａより長い直線オブジェクトＢ２ｂとが付加されている。直線オブジェクトＢ２ａは、文字列に含まれる１文字に対して付加された下線であるのに対し、直線オブジェクトＢ２ｂは、文字列に対して付加された下線であるのか、取消線であるのか、或いは文字列を削除する意図で付加された斜線であるのか区別できない。直線オブジェクトＢ２ｂを基準方向Ｆ１に基づいて補正してしまうと、ユーザーが直線オブジェクトＢ２ｂを付加させた意図に反する補正となる場合が生じる。そこで、直線オブジェクトＢ２の長さに応じて補正を行うか否かの判断基準をそれぞれ設定し、直線オブジェクトＢ２ａに対する補正を行うか否かの判断基準となる角度（α２）を、直線オブジェクトＢ２ａより長い直線オブジェクトＢ２ｂに対する補正を行うか否かの判断基準となる角度（α１）に比べて大きい値に設定することにより、補正を行うか否かを適切に判定できるのである。なお、図例では直線オブジェクトＢ２による場合を示したが、オブジェクト補正部５２は、線状オブジェクトに含まれる二重線オブジェクトＢ６や、波線など曲線により構成される書込オブジェクトＢ１による場合も、直線オブジェクトＢ２を用いて説明したのと同様の処理を行う。
【００８０】
上述したように、書込オブジェクトＢ１が２つの端点を結ぶ線分に対して直角方向に距離ｎ１の範囲内にある場合、オブジェクト判別部３２により、当該書込オブジェクトＢ１は直線オブジェクトＢ２であると判別される。そして、オブジェクト補正部５２は、直線オブジェクトＢ２を、２つの端点を結ぶ線分に補正してもよい。図１０は、直線オブジェクトＢ２が２つの端点を結ぶ線分に補正される場合の一例を示す図である。図１０（ａ）に示すように、ユーザーによる操作に応じて入力された直線オブジェクトＢ２は、２端点間を最短で結ぶ線分ではないことが多い。そこで、オブジェクト補正部５２は、図１０（ｂ）に示すように、直線オブジェクトＢ２を、端点Ｔ７と端点Ｔ９とを結ぶ線分に補正することにより、直線オブジェクトＢ２の美観を向上させることが可能となる。
【００８１】
図１１は、囲み枠オブジェクトＢ８に対する補正が行われる場合の一例を示す図である。オブジェクト判別部３２により書込オブジェクトＢ１が囲み枠オブジェクトＢ８であると判別された場合に、オブジェクト補正部５２は、傾斜検出部３４により検出された傾斜方向Ｆ３方向における囲み枠オブジェクトＢ８の長さＬ３を検出する。なお、図例では傾斜方向Ｆ３と基準方向Ｆ１とが略平行である場合を示すが、これに限られず、基準方向Ｆ１と傾斜方向Ｆ３とが平行ではない場合であってもよい。次に、オブジェクト補正部５２は、傾斜方向Ｆ３に対して直角方向における囲み枠オブジェクトＢ８の長さＬ４を検出する。そして、オブジェクト補正部５２は、例えば図１１（ｂ）に示すように、囲み枠オブジェクトＢ８を、当該囲み枠オブジェクトＢ８の各辺と接し、辺の長さがＬ３とＬ４とからなる矩形に補正する。これにより、囲み枠オブジェクトＢ８の美観を向上させることが可能となる。
【００８２】
図３に戻り、ドキュメント補正部５４は、文字列を含む画像Ａ１を、ページＰ１の一の端辺と平行になるように補正する処理部である。画像Ａ１がページＰ１の端辺に対して斜交する場合に、ドキュメント補正部５４は基準方向Ｆ１がページＰ１の一の端辺と一致するように画像Ａ１を補正する。例えば、ドキュメント補正部５４は、基準方向Ｆ１との角度が比較的小さいページＰ１の端辺を検出し、検出された端辺に基づいて画像Ａ１を回転させる。そして、ドキュメント補正部５４により補正されると、オブジェクト補正部５２が機能し、書込オブジェクトＢ１の傾斜方向Ｆ３が、画像Ａ１に対する補正の際にドキュメント補正部５４により検出されたページＰ１の端辺と一致するように、書込オブジェクトＢ１を補正する。これにより、画像Ａ１と書込オブジェクトＢ１は共に、ページＰ１に対して傾斜することなく表示される。
【００８３】
さらに、ＣＰＵ１２は、区切検出部３８を有する。区切検出部３８は、文字列検出部２２により検出された文字列を解析して、文字列における区切り位置を検出する処理部である。文字列検出部２２により画像Ａ１内に含まれる文字列が検出されると、区切検出部３８は機能する。区切検出部３８は、検出された文字列における区切り位置を検出する。一例として、区切検出部３８は、文字列に含まれる文字同士の間隔が所定値以上である場合に、当該間隔を文字列における区切り位置として検出する。また、区切検出部３８は、文字列に含まれる句読点を文字列における区切り位置として検出してもよい。
【００８４】
区切検出部３８はさらに、文字列における単語の区切り位置を検出する。記憶部１６には、例えば名詞、形容詞、動詞、副詞、接続詞、助詞、助動詞などの文法に基づく品詞情報を含む辞書情報６２が予め格納される。区切検出部３８は、記憶部１６から辞書情報６２を読み出し、文字列検出部２２により検出された文字列を解析し、単語ごとの区切り位置を検出する。図１２は、文字列における区切り位置が検出される場合の一例を示す図である。図１２（ａ）に示すように、区切検出部３８によって文字列における区切り位置が検出される。図例では、単語ごとの区切り位置が検出された場合を示すが、これに限られず、例えば、句読点が検出された場合や文字同士の間隔が所定値以上である場合に区切り位置を検出してもよい。
【００８５】
区切検出部３８により区切り位置が検出されると、オブジェクト補正部５２は、検出された区切り位置を含む所定範囲内に書込オブジェクトＢ１の端点がある場合、当該端点を区切り位置に一致させる。図１２（ｂ）及び（ｃ）は、区切り位置に基づいて書込オブジェクトＢ１が補正される場合の一例を示す図である。図例では、文字列下方に直線オブジェクトＢ２が付加されている。この場合、オブジェクト補正部５２は、文字列の区切り位置における文字列下端近傍に区切点ｈ１とｈ２とを抽出し、区切点ｈ１を含む領域Ｒ１と区切点ｈ２を含む領域Ｒ３の各々に直線オブジェクトＢ２の端点が存在するか否かを判定する。
【００８６】
領域Ｒ１内又は領域Ｒ３内に直線オブジェクトＢ２の端点が存在する場合、オブジェクト補正部５２は、端点が存在する領域における区切点に端点を一致させる。図１２（ｂ）の例では、区切点ｈ１を含む領域Ｒ１内と、区切点ｈ２を含む領域Ｒ３内のそれぞれに、直線オブジェクトＢ２の端点が存在する。そこで、オブジェクト補正部５２は、図１２（ｃ）に示すように、各端点をそれぞれ区切点ｈ１と区切点ｈ２に一致させることにより直線オブジェクトＢ２を補正する。これにより、直線オブジェクトＢ２は文字列における区切りと区切りの間に表示されることになり、よりユーザーの意図に即して補正されるのである。
【００８７】
次に、本実施形態における情報処理装置２にて行われる処理の手順の一例を説明する。図１３は、情報処理装置２において行われる主たる処理手順の一例を示すフローチャートである。記憶部１６に記憶されているプログラム６０がＣＰＵ１２で実行されることによりアプリケーションが起動すると、情報処理装置２は、ドキュメントデータＤ１を取得する（ステップＳ１）。ドキュメントデータＤ１は、画像処理装置４など外部装置から取得してもよいし、記憶部１６に記憶されているドキュメントデータＤ１を読み出してもよい。そして、情報処理装置２はドキュメントデータＤ１を読み出して画像Ａ１を含むページＰ１を表示させる（ステップＳ３）。ページＰ１を表示させると、ページＰ１内の画像Ａ１から基準方向Ｆ１を検出する基準検出処理（ステップＳ５）を実行する。基準検出処理（ステップＳ５）の具体的な処理手順については後述する。
【００８８】
次に、画像Ａ１が表示されている状態で、ユーザーによる書き込み入力の受付を開始する指示を検知したか否かを判定する（ステップＳ７）。書き込み入力の受付を開始する指示を検知した場合（ステップＳ７でＹＥＳ）、情報処理装置２は、さらにユーザーによる書き込み入力を検知したか否かを判定する（ステップＳ９）。書き込み入力を検知した場合（ステップＳ９でＹＥＳ）、情報処理装置２は書込オブジェクトＢ１を生成する（ステップＳ１１）。また、情報処理装置２は、生成された書込オブジェクトＢ１を表示部１０に表示させてもよい。他方、書き込み入力を検知しない場合（ステップＳ９でＮＯ）、ステップＳ１１をスキップする。そして、書き込み入力の受付を終了させる指示を検知したか否かを判定し（ステップＳ１３）、かかる指示を検知しない場合（ステップＳ１３でＮＯ）、指示を検知するまでステップＳ９からＳ１３を繰り返し実行する。他方、書き込み入力の受付を終了させる指示を検知した場合（ステップＳ１３でＹＥＳ）、情報処理装置２は、ステップＳ１１で生成された書込オブジェクトＢ１の判別や傾斜方向の検出を行う書込オブジェクト検出処理（ステップＳ１５）を実行する。書込オブジェクト検出処理（ステップＳ１５）の具体的な処理手順については後述する。
【００８９】
書込オブジェクト検出処理（ステップＳ１５）を行うと、情報処理装置２は書込オブジェクトＢ１又は画像Ａ１の補正を行う画像補正処理（ステップＳ１７）を実行する。画像補正処理の具体的な処理手順については後述する。最後に、情報処理装置２は、ユーザーによるアプリケーションを終了させる指示を検知したか否かを判定し（ステップＳ１９）、アプリケーションを終了させる指示を検知した場合（ステップＳ１９でＹＥＳ）、アプリケーションを終了させる処理を行って（ステップＳ２１）処理を終了する。他方、アプリケーションを終了させる指示を検知しない場合（ステップＳ１９でＮＯ）、ステップＳ７に戻り、アプリケーションを終了させる指示が検知されるまで、ステップＳ７乃至Ｓ１７の処理を繰り返し行う。なお、ステップＳ７で書き込み入力の受付を開始する指示を検知しなかった場合（ステップＳ７でＮＯ）、ステップＳ９乃至Ｓ１７の処理をスキップする。
【００９０】
図１４は、基準検出処理（図１３のステップＳ５）の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置２は、ドキュメントデータＤ１を構成するページＰ１から１つのページを抽出して（ステップＳ３１）文字列を検出したか否かを判定する（ステップＳ３３）。文字列を検出した場合（ステップＳ３３でＹＥＳ）、文字列の配列方向を検出する（ステップＳ３５）。そして、検出した配列方向を基準方向に決定する（ステップＳ３７）。
【００９１】
次に、情報処理装置２は、記憶部１６に格納されている辞書情報６２を読み出す（ステップＳ３９）。そして、読み出した辞書情報６２を用いて文字列における単語の区切り位置を検出する（ステップＳ４１）。なお、これとは異なり、情報処理装置２は、句読点の位置や文字同士の間隔が所定値以上である位置を文字列における区切り位置として検出してもよい。最後に、ドキュメントデータＤ１に含まれるすべてのページＰ１に対して処理済みであるか否かを判定し（ステップＳ４３）、すべてのページＰ１に対して処理済みである場合（ステップＳ４３でＹＥＳ）、基準検出処理を終了する。他方、すべてのページＰ１に対して処理済みでない場合（ステップＳ４３でＮＯ）、ステップＳ３１に戻り、すべてのページＰ１に対して処理が終了するまで、ステップＳ３１乃至Ｓ４１の処理を繰り返し実行する。なお、ステップＳ３３でページＰ１内に文字列が検出されなかった場合（ステップＳ３３でＮＯ）、ステップＳ３５乃至Ｓ４１の処理をスキップする。
【００９２】
図１５は、書込オブジェクト検出処理（図１３のステップＳ１５）の具体的な処理手順の一例を示すフローチャートである。書き込み入力の受付を終了する指示を検知すると（図１３のステップＳ１３）、情報処理装置２は、補正対象となり得る書込オブジェクトＢ１を抽出する（ステップＳ５１）。補正対象となり得る書込オブジェクトＢ１には、例えば直線オブジェクトＢ２、二重線オブジェクトＢ６及び囲み枠オブジェクトＢ８が含まれる。補正対象とならない書込オブジェクトＢ１には、例えば文字列との距離が所定値以上である書込オブジェクトＢ１や、文字により構成される書込オブジェクトＢ１が含まれる。補正対象となり得る書込オブジェクトＢ１を抽出すると、情報処理装置２は抽出された書込オブジェクトＢ１から端点が検出されるか否かを判定する（ステップＳ５３）。端点が検出される場合（ステップＳ５３でＹＥＳ）、さらに検出された端点を結ぶ直線から所定範囲内に書込オブジェクトＢ１があるか否かを判定する（ステップＳ５５）。
【００９３】
書込オブジェクトＢ１が検出された端点間を結ぶ直線から所定範囲内である場合（ステップＳ５５でＹＥＳ）、情報処理装置２は当該書込オブジェクトＢ１を直線オブジェクトＢ２と判別する（ステップＳ５７）。他方、書込オブジェクトＢ１が、検出された端点間を結ぶ直線から所定範囲内でない場合（ステップＳ５５でＮＯ）、情報処理装置２は当該書込オブジェクトＢ１を二重線オブジェクトＢ６であると判別する（ステップＳ５９）。また、ステップＳ５３において、当該書込オブジェクトＢ１から端点が検出されなかった場合（ステップＳ５３でＮＯ）、情報処理装置２は、当該書込オブジェクトＢ１を囲み枠オブジェクトＢ８であると判別する（ステップＳ５４）。最後に、判別された各書込オブジェクトＢ１毎に、傾斜方向を検出して（ステップＳ６１）、書込オブジェクト検出処理を終了する。
【００９４】
図１６は、画像補正処理（図１３のステップＳ１７）の具体的な処理手順の一例を示すフローチャートである。情報処理装置２は、画像補正処理において、まず基準方向Ｆ１を決定済みであるか否かを判定し（ステップＳ７１）、基準方向Ｆ１を決定済みである場合（ステップＳ７１でＹＥＳ）に傾斜方向Ｆ３を検出済みであるか否かを判定する（ステップＳ７３）。そして、傾斜方向Ｆ３を検出済みである場合（ステップＳ７３でＹＥＳ）、情報処理装置２は、基準方向Ｆ１と傾斜方向Ｆ３との角度を検出する（ステップＳ７５）。他方、基準方向Ｆ１及び傾斜方向Ｆ３のいずれかが検出されていない場合には（ステップＳ７１又はＳ７３でＮＯ）、情報処理装置２は、書込オブジェクトＢ１を表示部１０に表示させた態様で表示部１０の表示を更新させて（ステップＳ９２）画像補正処理を終了する。
【００９５】
基準方向Ｆ１と傾斜方向Ｆ３との角度（θ）を検出すると（ステップＳ７５）、当該書込オブジェクトＢ１が直線オブジェクトＢ２であると判別されたか否かを判定し（ステップＳ７７）、直線オブジェクトＢ２であると判定した場合（ステップＳ７７でＹＥＳ）、情報処理装置２は、直線オブジェクトＢ２の長さ（Ｌ）を検出する（ステップＳ７９）。そして、直線オブジェクトＢ２の長さ（Ｌ）が予め設定される所定値（Ｌ１）以上であるか否かを判定し（ステップＳ８１）、直線オブジェクトＢ２の長さ（Ｌ）が所定値（Ｌ１）以上である場合（ステップＳ８１でＹＥＳ）、情報処理装置２は、基準方向Ｆ１と傾斜方向Ｆ３との角度（θ）が所定値α１以下であるか否かを判定する（ステップＳ８３）。他方、直線オブジェクトＢ２の長さ（Ｌ）が所定値（Ｌ１）より小さい値である場合（ステップＳ８１でＮＯ）、情報処理装置２は、基準方向Ｆ１と傾斜方向Ｆ３との角度（θ）が、α１より大きいα２以下であるか否かを判定する（ステップＳ８５）。これは、短い直線オブジェクトＢ２の方が、基準方向Ｆ１に対して大きな角度で傾斜することがあるので、所定値（Ｌ１）未満の直線オブジェクトＢ２については、所定値（Ｌ１）以上である場合に比べ、基準方向Ｆ１と傾斜方向Ｆ３との角度（θ）がより大きいα２以下であることを条件として画像の補正を行うとしたものである。
【００９６】
ステップＳ８３で角度（θ）がα１未満である場合（ステップＳ８３でＹＥＳ）、或いは、ステップＳ８５で角度（θ）がα１より大きいα２より小さい場合、画像の補正を行う。他方、ステップＳ８３で角度（θ）がα１以上である場合（ステップＳ８３でＮＯ）、或いは、ステップＳ８５で角度（θ）がα２以上である場合（ステップＳ８５でＮＯ）、補正を行わない。ステップＳ８３で角度（θ）がα１以下である場合（ステップＳ８３でＹＥＳ）、又はステップＳ８５で角度（θ）がα２以下である場合（ステップＳ８５でＹＥＳ）には、情報処理装置２は次に、画像Ａ１の補正を行うか否かを判定する（ステップＳ８７）。画像Ａ１の補正を行う場合には（ステップＳ８７でＹＥＳ）画像Ａ１の補正を行い（ステップＳ８９）、画像Ａ１の補正を行わない場合には（ステップＳ８７でＮＯ）ステップＳ８９をスキップする。
【００９７】
次に、書込オブジェクトＢ１の補正を行う書込オブジェクト補正処理（ステップＳ９０）を実行する。書込オブジェクト補正処理（ステップＳ９０）の具体的な処理手順については後述する。最後に、表示部１０に表示されている画像Ａ１及び書込オブジェクトＢ１の表示を更新させて（ステップＳ９２）画像補正処理を終了する。
【００９８】
図１７は、書込オブジェクト補正処理（図１６のステップＳ９０）の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置２は、オブジェクト検出処理（図１５）における判別内容に基づき、書込オブジェクトＢ１が直線オブジェクトＢ２であるか否かを判定する（ステップＳ１０１）。直線オブジェクトＢ２である場合（ステップＳ１０１でＹＥＳ）、直線オブジェクト補正処理（ステップＳ１０３）を実行する。直線オブジェクト補正処理（ステップＳ１０３）の具体的な処理手順については後述する。
【００９９】
直線オブジェクトＢ２でないと判定した場合（ステップＳ１０１でＮＯ）、情報処理装置２はさらに、書込オブジェクトＢ１が二重線オブジェクトＢ６と判別されたか否かを判定する（ステップＳ１０５）。二重線オブジェクトＢ６であると判定した場合（ステップＳ１０５でＹＥＳ）、二重線オブジェクト補正処理（ステップＳ１０７）を実行する。他方、二重線オブジェクトＢ６でないと判定した場合（ステップＳ１０５でＮＯ）、囲み枠オブジェクト補正処理（ステップＳ１０９）を実行する。二重線オブジェクト補正処理（ステップＳ１０７）及び囲み枠オブジェクト補正処理（ステップＳ１０９）の具体的な処理手順については、それぞれ後述する。そして、直線オブジェクト補正処理（ステップＳ１０３）、二重線オブジェクト補正処理（ステップＳ１０７）又は囲み枠オブジェクト補正処理（ステップＳ１０９）を実行すると、書込オブジェクト補正処理を終了する。
【０１００】
図１８は、直線オブジェクト補正処理（図１７のステップＳ１０３）の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置２は、直線オブジェクトＢ２の端点間を結ぶ線分に補正する（ステップＳ１２１）。次に、端点間を結ぶ線分に補正された直線オブジェクトＢ２を、基準方向Ｆ１と平行になるように回転させる（ステップＳ１２３）。
【０１０１】
情報処理装置２は、補正前の直線オブジェクトＢ２の文字列に対する位置を検出し（ステップＳ１２５）、文字列中心線より補正前の直線オブジェクトＢ２が上方にあったか否かを判定する（ステップＳ１２７）。文字列中心線より補正前の直線オブジェクトＢ２が上方にあったと判定した場合（ステップＳ１２７でＹＥＳ）、直線オブジェクトＢ２を文字列中心線上に重なるよう平行移動させる（ステップＳ１２９）。他方、文字列中心線より補正前の直線オブジェクトＢ２が下方にあったと判定した場合（ステップＳ１２７でＮＯ）、文字列下端近傍の所定位置に直線オブジェクトＢ２を平行させる（ステップＳ１３０）。
【０１０２】
さらに、情報処理装置２は、基準検出処理（図１４）において文字列に区切り位置が検出されたか否かを判定し（ステップＳ１３１）、文字列に区切り位置がある場合（ステップＳ１３１でＹＥＳ）、補正前の直線オブジェクトＢ２の位置に応じた区切点を抽出する（ステップＳ１３３）。そして、抽出された区切点から直線オブジェクトＢ２の端点が所定範囲内にあるか否かを判定し（ステップＳ１３５）、所定範囲内にあると判定した場合（ステップＳ１３５でＹＥＳ）、端点を区切点に一致させて（ステップＳ１３７）直線オブジェクト補正処理を終了する。なお、ステップＳ１３１において文字列に区切り位置がない場合（ステップＳ１３１でＮＯ）、ステップＳ１３３乃至Ｓ１３７の処理をスキップして直線オブジェクト補正処理を終了する。
【０１０３】
図１９は、直線オブジェクト補正処理（図１８）が実行される場合における直線オブジェクトＢ２の補正の態様の一例を示す図である。図１９（ａ）に示すように直線オブジェクトＢ２が端点間を最短で結ぶ線分でない場合に、図１９（ｂ）のように２つの端点を最短で結ぶ線分に補正する。次に、線分に補正された状態の直線オブジェクトＢ２を、例えば図１９（ｃ）に示すように、一の端点を軸に基準方向Ｆ１に対し平行になるように回転させる。
【０１０４】
基準方向Ｆ１に対し平行になるよう回転させると、図例のように直線オブジェクトＢ２が文字列に対して重なって表示されることがある。図１９（ａ）に示すように当該直線オブジェクトＢ２は文字列中心線より下方に付加されていることから、文字列に対する下線である。そこで、図１９（ｄ）に示すように直線オブジェクトＢ２が文字列下端近傍の所定位置に表示されるように、基準方向Ｆ１に対する垂直方向に直線オブジェクトＢ２を移動させる。これにより、文字列に対する下線であることが明らかになる。
【０１０５】
そして、図１９（ｄ）では文字列における区切り位置が検出されている。そこで、文字列下端における区切点が抽出され、図例では、抽出された区切点のうち、区切点ｈ１を含む領域Ｒ１と区切点ｈ２を含む領域Ｒ３のそれぞれに、直線オブジェクトＢ２の端点がある。そこで、図１９（ｅ）に示すように、情報処理装置２は、これらの端点を各々区切点ｈ１とｈ２に一致させる。これにより、下線が付加された語を的確に示すことが可能となる。
【０１０６】
図２０は、二重線オブジェクト補正処理（図１７のステップＳ１０７）の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置２は、二重線オブジェクトＢ６の傾斜方向Ｆ３における長さＬ２を検出する（ステップＳ１４１）。傾斜方向Ｆ３における長さＬ２を検出すると、二重線オブジェクトＢ６を、一の端点を始点とする傾斜方向Ｆ３に長さＬ２の二重線に補正する（ステップＳ１４３）。二重線を構成する２つの線分は、予め設定されている所定の幅を有する。
【０１０７】
次に、補正された二重線オブジェクトＢ６を、基準方向Ｆ１と平行になるように回転させる（ステップＳ１４５）。そして、補正前の二重線オブジェクトＢ６の文字列に対する一を検出し（ステップＳ１４７）、補正前の二重線オブジェクトＢ６の少なくとも一の線が文字列中心線より上方の位置にあったか否かを判定する（ステップＳ１４９）。少なくとも一の線が文字列中心線より上方にあった場合（ステップＳ１４９でＹＥＳ）、情報処理装置２は、二重線オブジェクトＢ６の２つの線分が文字列中心線を挟む位置に、二重線オブジェクトＢ６を平行移動させて（ステップＳ１５１）二重線オブジェクト補正処理を終了する。少なくとも一の線が文字列中心線より上方にあった場合、当該二重線オブジェクトＢ６は文字列に含まれる語に対する二重取消線としてユーザーにより付加されたと考えられるため、ステップＳ１５１の処理を行うのである。他方、二重線オブジェクトＢ６のいずれの線も文字列中心線より下方にあった場合（ステップＳ１４９でＮＯ）、当該二重線オブジェクトＢ６は、ユーザーにより二重下線として文字列に付加されたと考えられることから、情報処理装置２は、二重線オブジェクトＢ６を文字列下端近傍の所定位置に移動させて（ステップＳ１５３）二重線オブジェクト補正処理を終了する。
【０１０８】
図２１は、二重線オブジェクト補正処理（図２０）が行われる場合における二重線オブジェクトＢ６の補正態様の一例を示す図である。図２１（ａ）に示すように、補正前の二重線オブジェクトＢ６は、いずれの線も文字列中心線より下方に表示されている。情報処理装置２は、まず二重線オブジェクトＢ６の傾斜方向Ｆ３における長さＬ２を検出する。長さＬ２を検出すると、次に図２１（ｂ）に示すように、補正前の二重線オブジェクトＢ６を、端点Ｔ１を始点として傾斜方向Ｆ３に長さＬ２の二重線に補正する。二重線を構成する線分間は予め設定される距離を有する。
【０１０９】
次に、図２１（ｃ）のように、二重線オブジェクトＢ６を、例えば端点Ｔ１を軸に基準方向Ｆ１に平行になるように回転させる。これにより、二重線オブジェクトＢ６が文字列に対して平行に表示される。最後に、図２１（ｄ）に示すように、二重線オブジェクトＢ６を基準方向Ｆ１に対して直角方向に移動させて、文字列下端近傍の所定位置に配置する。これにより、文字列に含まれる語に対する二重下線であることが明らかになる。
【０１１０】
図２２は、囲み枠オブジェクト補正処理（図１９のステップＳ１０９）の具体的な処理手順の一例を示すフローチャートである。情報処理装置２は、囲み枠オブジェクトＢ８の傾斜方向Ｆ３における長さＬ３を検出し（ステップＳ１６１）、次に、傾斜方向Ｆ３に対する直角方向における長さＬ４を検出する（ステップＳ１６３）。傾斜方向Ｆ３における長さＬ３と傾斜方向Ｆ３に対する直角方向における長さＬ４が検出されると、情報処理装置２は、囲み枠オブジェクトＢ８を、４辺の長さがＬ３とＬ４とからなる矩形に補正する（ステップＳ１６５）。
【０１１１】
情報処理装置２は、補正された囲み枠オブジェクトＢ８の４辺のうち、傾斜方向Ｆ３の辺が基準方向Ｆ１に対して平行になるように、囲み枠オブジェクトＢ８を回転させる（ステップＳ１６７）。最後に、囲み枠オブジェクトＢ８を基準方向Ｆ１に対して垂直方向に移動させ、基準方向Ｆ１と平行な辺のうち下方の辺が文字列下端近傍の所定位置に配置されるようにして（ステップＳ１６９）囲み枠オブジェクト補正処理を終了する。
【０１１２】
図２３は、囲み枠オブジェクト補正処理（図２２）が実行される場合における囲み枠オブジェクトＢ８の補正態様の一例を示す図である。まず、情報処理装置２は図２３（ａ）に示すように、囲み枠オブジェクトＢ８の傾斜方向Ｆ３における長さＬ３と、傾斜方向Ｆ３に対する直角方向における長さＬ４を検出する。長さＬ３は、例えば囲み枠オブジェクトＢ８の傾斜方向Ｆ３における最大幅であり、長さＬ４は、例えば傾斜方向Ｆ３に対する直角方向における最大高さである。長さＬ３とＬ４が検出されると、図２３（ｂ）に示すように補正前の囲み枠オブジェクトＢ８を４辺がＬ３とＬ４からなる矩形に補正する。また、図２３（ｂ）のように長さＬ３の辺が傾斜方向Ｆ３に対して平行である。
【０１１３】
次に、図２３（ｃ）に示すように、情報処理装置２は、補正後の囲み枠オブジェクトＢ８の一の頂点を軸に、囲み枠オブジェクトＢ８の長さＬ３の辺が基準方向Ｆ１に対して平行になるように回転させる。最後に、長さＬ３の辺のうち、基準方向Ｆ１に対して下方の辺が文字列下端辺近傍の所定位置に表示されるように囲み枠オブジェクトＢ８を基準方向Ｆ１に対し垂直方向に移動させる。これにより、囲み枠オブジェクトＢ８が文字列に含まれる語を囲む書込オブジェクトＢ１であることが明らかになる。
【０１１４】
（変形例）
以上、本発明に関する実施形態について説明したが、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１１５】
例えば上記実施形態では、画像Ａ１内に文字列が検出された場合に基準方向Ｆ１を検出する処理を行う場合を示した。しかし、これに限られず、情報処理装置２は画像Ａ１内に例えば罫線が検出された場合に基準方向Ｆ１を検出する処理を行ってもよい。この場合、情報処理装置２は、予め定められた設定に基づいて基準方向Ｆ１を検知する。例えば、当該画像Ａ１が表示されるページＰ１の一端辺に対する傾斜が比較的小さい罫線に基づいて基準方向Ｆ１を検出してもよい。
【符号の説明】
【０１１６】
１  情報処理システム
２  情報処理装置
１０  表示部（表示手段）
２２  文字列検出部（文字列検出手段）
２４  基準検出部（基準検出手段）
２６  表示制御部（表示制御手段）
２８  操作検知部（受付手段）
３０  オブジェクト生成部（生成手段）
３２  オブジェクト判別部（判別手段）
３４  傾斜検出部（傾斜検出手段）
５２  オブジェクト補正部（補正手段）
５４  ドキュメント補正部（画像補正手段）
Ｆ１  基準方向
Ｆ３  傾斜方向
Ｂ１  書込オブジェクト（書き込みオブジェクト）
Ｂ２  直線オブジェクト（線状オブジェクト）
Ｄ１  ドキュメントデータ
Ａ１  画像
【図１】
0006805552.tif 000002
【図２】
0006805552.tif 000003
【図３】
0006805552.tif 000004
【図４】
0006805552.tif 000005
【図５】
0006805552.tif 000006
【図６】
0006805552.tif 000007
【図７】
0006805552.tif 000008
【図８】
0006805552.tif 000009
【図９】
0006805552.tif 000010
【図１０】
0006805552.tif 000011
【図１１】
0006805552.tif 000012
【図１２】
0006805552.tif 000013
【図１３】
0006805552.tif 000014
【図１４】
0006805552.tif 000015
【図１５】
0006805552.tif 000016
【図１６】
0006805552.tif 000017
【図１７】
0006805552.tif 000018
【図１８】
0006805552.tif 000019
【図１９】
0006805552.tif 000020
【図２０】
0006805552.tif 000021
【図２１】
0006805552.tif 000022
【図２２】
0006805552.tif 000023
【図２３】
0006805552.tif 000024