(57)【特許請求の範囲】
【請求項１】
マーキングが重畳された文字列と、マーキングが重畳されていない文字列とを含む文字列エリアを有する原稿画像から、前記マーキングを抽出するマーキング抽出部と、
前記文字列に重畳されたマーキングを拡大して拡大文字列を作成し、前記マーキングが重畳されていない文字列を縮小して縮小文字列を作成する画像変換部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記拡大文字列に重畳する空欄画像を作成する空欄作成部と、
前記縮小文字列と、前記空欄画像とを合成した合成画像を作成する画像合成部と
をさらに具備する情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記マーキング抽出部が抽出した前記マーキングの、前記原稿画像内での位置及びサイズを判定するマーキング判定部と、
前記文字列エリアの、前記原稿画像内での位置及びサイズを判定する文字列エリア判定部と、
前記文字列エリアを１以上の行エリアに分割し、前記１以上の行エリアの前記文字列エリア内での位置及びサイズを判定する行エリア判定部と、
前記マーキングの前記原稿画像内での位置及びサイズと、前記１以上の行エリアの前記文字列エリア内での位置及びサイズとに基づき、前記マーキングが属する行エリア内での前記マーキングの位置及びサイズを判定し、
前記マーキングが属する行エリアを、前記文字列に重畳されたマーキングと、前記マーキングが重畳されていない文字列とに分割する
行エリア分割部と
をさらに具備し、
前記画像変換部は、前記行エリア分割部が分割して得られた各前記文字列を拡大及び縮小することにより、前記拡大文字列及び前記縮小文字列を作成する
情報処理装置。
【請求項４】
請求項１乃至３の何れか一項に記載の情報処理装置であって、
前記文字列に重畳されたマーキングから前記拡大文字列を作成するための拡大率を計算し、又は
前記マーキングが重畳されていない文字列から前記縮小文字列を作成するための縮小率を計算する
変換率計算部
をさらに具備する情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記変換率計算部は、
前記拡大文字列を含む行エリアの、前記行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の前記行エリアの同方向での長さ以下となるように、
予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
予め定められた前記拡大率をもとに、前記縮小率を計算する
情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記変換率計算部は、
前記拡大文字列を含む行エリアの、前記行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の前記行エリアの長さ以下となる範囲で、
前記拡大文字列が最大サイズとなるように、予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
前記縮小文字列が最大サイズとなるように、予め定められた前記拡大率をもとに、前記縮小率を計算する
情報処理装置。
【請求項７】
請求項３に記載の情報処理装置であって、
前記文字列に重畳されたマーキングから前記拡大文字列を作成するための拡大率を計算し、又は
前記マーキングが重畳されていない文字列から前記縮小文字列を作成するための縮小率を計算する
変換率計算部
をさらに具備し、
前記変換率計算部は、
前記拡大文字列を含む文字列エリアの、前記１以上の行エリアが並ぶ方向での長さが、拡大及び縮小前の前記文字列エリアの同方向での長さ以下となるように、
予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
予め定められた前記拡大率をもとに、前記縮小率を計算する
情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記変換率計算部は、
前記拡大文字列を含む文字列エリアの、前記１以上の行エリアが並ぶ方向での長さが、拡大及び縮小前の前記文字列エリアの長さ以下となる範囲で、
前記拡大文字列が最大サイズとなるように、予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
前記縮小文字列が最大サイズとなるように、予め定められた前記拡大率をもとに、前記縮小率を計算する
情報処理装置。
【請求項９】
情報処理装置を、
マーキングが重畳された文字列と、マーキングが重畳されていない文字列とを含む文字列エリアを有する原稿画像から、前記マーキングを抽出するマーキング抽出部と、
前記文字列に重畳されたマーキングを拡大して拡大文字列を作成し、前記マーキングが重畳されていない文字列を縮小して縮小文字列を作成する画像変換部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列に重畳されたマーキングを含む原稿画像から、マーキングされた文字列を解答とする穴埋め問題を作成することが可能な情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
問題の解答となる文字列を手書きのマーキングで指定した原稿の画像を読み取り、読み取った原稿の画像データの中からマーキングの画像を抽出し、マーキングの位置で文字列を抽出し、マーキングの位置で文字列を消去し、文字列の消去部分に回答欄を設定する、穴埋め問題を作成する技術が知られている（特許文献１、要約書）。一具体例として、２以上の虫食い箇所を１つの虫食いグループとして設定し、その虫食いグループについて１つの虫食い問題を作成する技術も知られている（特許文献２、要約書）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−４５２３号公報
【特許文献２】特開２０１０−１０１９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
穴埋め問題を作成することが可能な情報処理装置においては、問題作成者及び回答者の双方について益々ユーザーフレンドリーであることが望まれる。
【０００５】
以上のような事情に鑑み、本発明の目的は、文字列に重畳されたマーキングを含む原稿画像から、マーキングされた文字列を解答とする穴埋め問題を作成することが可能な情報処理装置及びプログラムにおいて、ユーザーの利便性を向上することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、
マーキングが重畳された文字列と、マーキングが重畳されていない文字列とを含む文字列エリアを有する原稿画像から、前記マーキングを抽出するマーキング抽出部と、
前記文字列に重畳されたマーキングを拡大して拡大文字列を作成し、前記マーキングが重畳されていない文字列を縮小して縮小文字列を作成する画像変換部と
を具備する。
【０００７】
このように、マーキングが重畳されていない文字列を縮小して縮小文字列を作成し、文字列に重畳されたマーキングを拡大して拡大文字列を作成することで、空欄画像を重畳すべき文字列のサイズを相対的に大きくすることができる。
【０００８】
情報処理装置は、
前記拡大文字列に重畳する空欄画像を作成する空欄作成部と、
前記縮小文字列と、前記空欄画像とを合成した合成画像を作成する画像合成部と
をさらに具備する。
【０００９】
このように、縮小文字列と、拡大文字列に重畳する空欄画像とを合成することで、元の原稿画像のレイアウトを極力活かしつつ、空欄画像のサイズを相対的に大きくすることができる。
【００１０】
情報処理装置は、
前記マーキング抽出部が抽出した前記マーキングの、前記原稿画像内での位置及びサイズを判定するマーキング判定部と、
前記文字列エリアの、前記原稿画像内での位置及びサイズを判定する文字列エリア判定部と、
前記文字列エリアを１以上の行エリアに分割し、前記１以上の行エリアの前記文字列エリア内での位置及びサイズを判定する行エリア判定部と、
前記マーキングの前記原稿画像内での位置及びサイズと、前記１以上の行エリアの前記文字列エリア内での位置及びサイズとに基づき、前記マーキングが属する行エリア内での前記マーキングの位置及びサイズを判定し、
前記マーキングが属する行エリアを、前記文字列に重畳されたマーキングと、前記マーキングが重畳されていない文字列とに分割する
行エリア分割部と
をさらに具備し、
前記画像変換部は、前記行エリア分割部が分割して得られた各前記文字列を拡大及び縮小することにより、前記拡大文字列及び前記縮小文字列を作成する。
【００１１】
このように、マーキングが属する行エリアを、文字列に重畳されたマーキングと、マーキングが重畳されていない文字列とに分割することで、文字列に重畳されたマーキングを過不足無く拡大して拡大文字列を作成することができる。
【００１２】
情報処理装置は、
前記文字列に重畳されたマーキングから前記拡大文字列を作成するための拡大率を計算し、又は
前記マーキングが重畳されていない文字列から前記縮小文字列を作成するための縮小率を計算する
変換率計算部
をさらに具備する。
【００１３】
前記変換率計算部は、
前記拡大文字列を含む行エリアの、前記行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の前記行エリアの同方向での長さ以下となるように、
予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
予め定められた前記拡大率をもとに、前記縮小率を計算する。
【００１４】
このように、拡大文字列を含む行エリアの、行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の行エリアの同方向での長さ以下とすることで、拡大文字列を含む行エリアの長さが相対的に長くなるにも拘らず改行等する必要がないため、元の原稿画像のレイアウトを極力活かしつつ、空欄画像のサイズを相対的に大きくすることができる。
【００１５】
前記変換率計算部は、
前記拡大文字列を含む行エリアの、前記行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の前記行エリアの長さ以下となる範囲で、
前記拡大文字列が最大サイズとなるように、予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
前記縮小文字列が最大サイズとなるように、予め定められた前記拡大率をもとに、前記縮小率を計算する。
【００１６】
このように、拡大文字列を最大サイズとすることで、空欄画像のサイズを最大サイズにすることができる。縮小文字列を最大サイズとすることで、縮小文字列の視認性を高めることができる。
【００１７】
前記変換率計算部は、
前記拡大文字列を含む文字列エリアの、前記１以上の行エリアが並ぶ方向での長さが、拡大及び縮小前の前記文字列エリアの同方向での長さ以下となるように、
予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
予め定められた前記拡大率をもとに、前記縮小率を計算する。
【００１８】
このように、拡大文字列を含む文字列エリアの、１以上の行エリアが並ぶ方向での長さが、拡大及び縮小前の文字列エリアの同方向での長さ以下とすることで、拡大文字列を含む文字列エリアの長さが元の原稿画像に比べて長くなるにも拘らず改頁等する必要がないため、元の原稿画像のレイアウトを極力活かしつつ、空欄画像のサイズを相対的に大きくすることができる。
【００１９】
前記変換率計算部は、
前記拡大文字列を含む文字列エリアの、前記１以上の行エリアが並ぶ方向での長さが、拡大及び縮小前の前記文字列エリアの長さ以下となる範囲で、
前記拡大文字列が最大サイズとなるように、予め定められた前記縮小率をもとに、前記拡大率を計算し、又は
前記縮小文字列が最大サイズとなるように、予め定められた前記拡大率をもとに、前記縮小率を計算する。
【００２０】
このように、拡大文字列を最大サイズとすることで、空欄画像のサイズを最大サイズにすることができる。縮小文字列を最大サイズとすることで、縮小文字列の視認性を高めることができる。
【００２１】
上記目的を達成するため、本発明の一形態に係るプログラムは、
情報処理装置を、
マーキングが重畳された文字列と、マーキングが重畳されていない文字列とを含む文字列エリアを有する原稿画像から、前記マーキングを抽出するマーキング抽出部と、
前記文字列に重畳されたマーキングを拡大して拡大文字列を作成し、前記マーキングが重畳されていない文字列を縮小して縮小文字列を作成する画像変換部
として機能させる。
【発明の効果】
【００２２】
本発明によれば、文字列に重畳されたマーキングを含む原稿画像から、マーキングされた文字列を解答とする穴埋め問題を作成することが可能な情報処理装置及びプログラムにおいて、ユーザーの利便性が向上する。
【図面の簡単な説明】
【００２３】
【図１】画像形成装置のハードウェア構成を示すブロック図である。
【図２】画像形成装置の機能的構成を示すブロック図である。
【図３】画像形成装置の動作を示すフローチャートである。
【図４】画像形成装置の動作を説明するための図である。
【図５】拡大率又は縮小率を算出するための数式に用いる変数を説明するための図である。
【図６】実施例１における拡大率又は縮小率の計算手法を説明するための図である。
【図７】実施例２における拡大率又は縮小率の計算手法を説明するための図である。
【図８】実施例３における拡大率又は縮小率の計算手法を説明するための図である。
【図９】実施例４における拡大率又は縮小率の計算手法を説明するための図である。
【図１０】実施例５における拡大率又は縮小率の計算手法を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００２５】
（１．画像形成装置のハードウェア構成）
図１は、本発明の一実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【００２６】
本発明の各実施形態に係る情報処理装置は、画像形成装置（例えば、ＭＦＰ、Multifunction Peripheral）であり、以下ＭＦＰと称する。
【００２７】
ＭＦＰ１は、制御部１１を備える。制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）及び専用のハードウェア回路等から構成され、ＭＦＰ１の全体的な動作制御を司る。ＭＦＰ１を各機能部（後述）として機能させるコンピュータプログラムは、ＲＯＭ等の非一過性の記憶媒体に記憶される。
【００２８】
制御部１１は、画像読取部１２、画像処理部１４、画像メモリー１５、画像形成部１６、操作部１７、記憶部１８、ネットワーク通信部１３等と接続されている。制御部１１は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【００２９】
制御部１１は、ユーザーから、操作部１７またはネッワーク接続されたパーソナルコンピュータ（図示せず）等を通じて入力されるジョブの実行指示に従って、スキャナ機能、印刷機能及びコピー機能機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【００３０】
画像読取部１２は、原稿から画像を読み取る。
【００３１】
画像処理部１４は、画像読取部１２で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部１４は、画像読取部１２により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【００３２】
画像メモリー１５は、画像読取部１２による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部１６での印刷対象となるデータを一時的に記憶したりする領域を有する。
【００３３】
画像形成部１６は、画像読取部１２で読み取られた画像データ等の画像形成を行う。
【００３４】
操作部１７は、ＭＦＰ１が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたＬＣＤ（Liquid Crystal Display）等の表示部１７ａを備えている。
【００３５】
ネットワーク通信部１３は、ネットワークに接続するためのインタフェースである。
【００３６】
記憶部１８は、画像読取部１２によって読み取られた原稿画像等を記憶する、ＨＤＤ（Hard Disk Drive）などの大容量の記憶装置である。
【００３７】
（２．画像形成装置の機能的構成）
図２は、画像形成装置の機能的構成を示すブロック図である。
【００３８】
ＭＦＰ１は、情報処理プログラムを実行することで、マーキング抽出部１０１、マーキング判定部１０２、文字列エリア判定部１０３、行エリア判定部１０４、行エリア分割部１０７、変換率計算部１０８、画像変換部１０９、空欄作成部１０５及び画像合成部１０６として機能する。
【００３９】
マーキング抽出部１０１は、画像読取部１２が読み取った原稿画像から、文字列に重畳されたマーキングを抽出する。
【００４０】
マーキング判定部１０２は、マーキング抽出部１０１が抽出したマーキングの、原稿画像内での位置及びサイズを判定する。
【００４１】
文字列エリア判定部１０３は、文字列エリアの、原稿画像内での位置及びサイズを判定する。
【００４２】
行エリア判定部１０４は、文字列エリア判定部１０３が判定した文字列エリアを、複数の行エリアに分割する。行エリア判定部１０４は、複数の行エリアの、文字列エリア内での位置及びサイズを判定する。
【００４３】
行エリア分割部１０７は、マーキング抽出部１０１が抽出したマーキングの、このマーキングが属する行エリア内での位置及びサイズを判定する。行エリア分割部１０７は、マーキングが属する行エリアを、文字列に重畳されたマーキングと、マーキングが重畳されていない文字列とに分割する。なお、本実施形態において、「文字列」は、１文字からなる単位、又は連続する複数の文字からなる単位を意味する。
【００４４】
変換率計算部１０８は、文字列に重畳されたマーキングを拡大するための拡大率、又は、マーキングが重畳されていない文字列を縮小するための縮小率を計算する。
【００４５】
画像変換部１０９は、文字列に重畳されたマーキングを拡大することにより、拡大文字列を作成する。画像変換部１０９は、マーキングが重畳されていない文字列を縮小することにより、縮小文字列を作成する。画像変換部１０９は、作成した拡大文字列及び縮小文字列を、出力対象となる原稿に対してレイアウト配置する。
【００４６】
空欄作成部１０５は、画像変換部１０９が作成した拡大文字列に重畳する空欄画像を作成する。
【００４７】
画像合成部１０６は、画像変換部１０９が作成した縮小文字列の画像と、空欄作成部１０５が作成した空欄画像とを、レイアウト通りに配置して、合成画像を作成する。
【００４８】
（３．画像形成装置の動作）
図３は、画像形成装置の動作を示すフローチャートである。図４は、画像形成装置の動作を説明するための図である。
【００４９】
前提として、原稿（典型的には、紙）には、テキストデータとしての文字列が印字されている。あるいは、原稿には、画像データとしての文字列の画像が形成されている（文字列が印字された原稿がコピーされている）。そして、文字列全体のうち複数の一部の文字列（熟語、文節、数値等）が、ユーザーである問題作成者により、蛍光マーカーペン等を用いて手書きでマーキングされている。マーキングされた文字列は、穴埋め問題において、解答となる文字列である。
【００５０】
画像読取部１２は、原稿を光学的にスキャンし、原稿画像を読み取る（ステップＳ１０１）。「原稿画像」は、全体的に見れば多数の文字列を含む文書原稿の画像データであり、複数の文字列に重畳された複数のマーキングを含む。「文字列」は、語句（単語、文節、文章等）、数値等であり、厳密には、その画像である。
【００５１】
マーキング抽出部１０１は、画像読取部１２が読み取った原稿画像から、文字列に重畳されたマーキングを抽出する（ステップＳ１０２）。具体的には、マーキング抽出部１０１は、背景（白色等）と明度及び／又は彩度等が異なり、特定の形状及びサイズ（特定の幅の帯状の長方形等）の領域を、マーキングとして抽出する。
【００５２】
マーキング判定部１０２は、マーキング抽出部１０１が抽出したマーキング（図４の左下の図に示すハッチング部分）の、原稿画像内での位置及びサイズを判定する（ステップＳ１０３、図４参照）。具体的には、マーキング判定部１０２は、原稿画像全体（余白（マージン）を含む）を座標系全体として、マーキングの位置及びサイズを座標として算出する。
【００５３】
一方、ステップＳ１０２及びＳ１０３と並行して、文字列エリア判定部１０３は、文字列エリアの、原稿画像内での位置及びサイズを判定する（ステップＳ１０４、図４参照）。「文字列エリア」は、原稿画像中、マーキングが重畳された文字列と、マーキングが重畳されていない文字列とを含む文字列の集合体が存在するエリアである。具体的には、文字列エリア判定部１０３は、原稿画像全体（余白（マージン）を含む）を座標系全体として、文字列エリアの位置及びサイズを座標として算出する。
【００５４】
行エリア判定部１０４は、文字列エリア判定部１０３が判定した文字列エリアを、複数の行エリアに分割する。「行エリア」は、文字列エリア内に存在する文字列の集合体を、１行ごとに分割して得られたエリアである。言い換えれば、文書原稿では、複数の文字が一方向に連続して並んで１行を成すのが一般的であるが、１行に連なる文字列を含む、文字列エリアの一端から他端までを「行エリア」とする。また、ある１行の文字列を含む「行エリア」と、次の１行の文字列を含む「行エリア」とは隣り合う。言い換えれば、隣り合う２つの行エリアの間に、空間が存在しない。図４の中央の図に示す例では、破線で囲まれた矩形の行エリアが隙間なく連なっている。行エリア判定部１０４は、文字列エリアを分割して得た複数の行エリアの、文字列エリア内での位置及びサイズを判定する（ステップＳ１０５、図４参照）。具体的には、行エリア判定部１０４は、原稿画像全体を座標系全体として、文字列エリア内での行エリアの位置及びサイズを座標として算出する。
【００５５】
行エリア分割部１０７は、マーキング抽出部１０１が抽出（ステップＳ１０２）したマーキングの、このマーキングが属する行エリア内での位置及びサイズを判定する。具体的には、行エリア分割部１０７は、マーキング判定部１０２が判定（ステップＳ１０３）したマーキングの原稿画像内での位置及びサイズと、行エリア判定部１０４が判定（ステップＳ１０５）した複数の行エリアの文字列エリア内での位置及びサイズとを取得する。行エリア分割部１０７は、マーキングの原稿画像内での位置及びサイズを、複数の行エリアの文字列エリア内での位置及びサイズに反映することで、このマーキングの、マーキングが属する行エリア内での位置及びサイズを判定する。図４の右側の図に示す例では、上から４つ目と６つ目の行エリア内のマーキング（ハッチング部分）の行エリア内での位置及びサイズが判定される。そして、行エリア分割部１０７は、マーキングが属する行エリアを、文字列に重畳されたマーキングと、マーキングが重畳されていない文字列とに分割する（ステップＳ１０６、図４参照）。具体的には、行エリア分割部１０７は、マーキングの位置及びサイズを座標として算出し、マーキングが重畳されていない文字列の位置及びサイズを座標として算出する。
【００５６】
変換率計算部１０８は、行エリア分割部１０７が分割（ステップＳ１０６）して得られた、文字列に重畳されたマーキングを拡大するための拡大率、又は、マーキングが重畳されていない文字列を縮小するための縮小率を計算する（ステップＳ１０７）。変換率計算部１０８は、予め定められた拡大率及び縮小率の何れか一方をもとに、拡大率及び縮小率の他方を計算する。拡大率が予め定められている場合とは、例えば、ユーザーが操作部１７を用いて拡大率をＭＦＰ１に予め設定した場合や、ユーザーが操作部１７を用いて空欄サイズをＭＦＰ１に予め設定した場合（元の文字サイズと空欄サイズとから、拡大率が予め定められる。）である。縮小率が予め定められている場合とは、例えば、ユーザーが操作部１７を用いて縮小率をＭＦＰ１に予め設定した場合や、ユーザーが操作部１７を用いて縮小後の文字サイズをＭＦＰ１に予め設定した場合（元の（縮小前の）文字サイズと縮小後の文字サイズとから、縮小率が予め定められる。）である。
【００５７】
望ましくは、変換率計算部１０８は、拡大文字列を含む行エリアの、行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の行エリアの同方向での長さ以下となるように、拡大率又は縮小率を計算する。より望ましくは、変換率計算部１０８は、拡大文字列を含む行エリアの、行エリア内で文字が並ぶ方向での長さが、拡大及び縮小前の行エリアの同方向での長さ以下となる範囲で、拡大文字列が最大サイズとなるように拡大率を計算し、又は縮小文字列が最大サイズとなるように縮小率を計算する。これにより、拡大文字列を含む行エリアの長さが相対的に長くなるにも拘らず改行等する必要がないため、元の原稿画像のレイアウトを極力活かしつつ、空欄画像のサイズを相対的に大きくすることができる。
【００５８】
望ましくは、変換率計算部１０８は、拡大文字列を含む文字列エリアの、複数の行エリアが並ぶ方向での長さが、拡大及び縮小前の文字列エリアの同方向での長さ以下となるように、拡大率又は縮小率を計算する。より望ましくは、変換率計算部１０８は、拡大文字列を含む文字列エリアの、複数の行エリアが並ぶ方向での長さが、拡大及び縮小前の文字列エリアの同方向での長さ以下となる範囲で、拡大文字列が最大サイズとなるように拡大率を計算し、又は縮小文字列が最大サイズとなるように縮小率を計算する。これにより、拡大文字列を含む文字列エリアの長さが元の原稿画像に比べて長くなるにも拘らず改頁等する必要がないため、元の原稿画像のレイアウトを極力活かしつつ、空欄画像のサイズを相対的に大きくすることができる。
【００５９】
変換率計算部１０８による拡大率及び縮小率の計算手法は、後述の各実施例において、より具体的に説明する。
【００６０】
画像変換部１０９は、行エリア分割部１０７が分割（ステップＳ１０６）して得られた、文字列に重畳されたマーキングを、予め定められた又は変換率計算部１０８が計算（ステップＳ１０７）した拡大率で拡大することにより、拡大文字列（厳密には、拡大文字列の画像）を作成する。そして、画像変換部１０９は、行エリア分割部１０７が分割（ステップＳ１０６）して得られた、マーキングが重畳されていない文字列を、予め定められた又は変換率計算部１０８が計算（ステップＳ１０７）した縮小率で縮小することにより、縮小文字列（厳密には、縮小文字列の画像）を作成する（ステップＳ１０８）。画像変換部１０９は、作成した拡大文字列及び縮小文字列を、出力対象となる原稿に対してレイアウト配置する（ステップＳ１０９）。「レイアウト」とは、例えば、複数の行エリアをそれぞれ「中央揃え」とするか、「左揃え」（横書きの場合）とするか、等である。
【００６１】
空欄作成部１０５は、画像変換部１０９が作成（ステップＳ１０８）した拡大文字列に重畳する空欄画像を作成する（ステップＳ１１０）。空欄画像は、単なるブランクでも良いし、予め決められたスタイル（下線、矩形枠、括弧、符号等）を含んでも良い。
【００６２】
画像合成部１０６は、画像変換部１０９が作成（ステップＳ１０８）した縮小文字列の画像と、空欄作成部１０５が作成（ステップＳ１１０）した空欄画像とを、レイアウト（ステップＳ１０９）通りに配置して、合成画像を作成する（ステップＳ１１１）。
【００６３】
画像形成部１６は、画像合成部１０６が作成した合成画像を、用紙に形成（プリントアウト）する（ステップＳ１１２）。
【００６４】
（４．実施例）
以下の各実施例において、変換率計算部１０８による拡大率又は縮小率の計算手法を、具体的に説明する。
【００６５】
図５は、拡大率又は縮小率を算出するための数式に用いる変数を説明するための図である。
【００６６】
各実施例では、文字が「横書き」されているものとする。以下、行エリア内で文字が並ぶ方向（図５の横方向）での長さを、「幅」と定義する。文字列エリア内で行エリアが並ぶ方向（図５の縦方向）での長さを、「高さ」と定義する。拡大率又は縮小率を算出するための数式に用いる変数を、以下に定義する。
【００６７】
以下は全て、画像読取部１２が読み取った原稿画像内での値である。
１つの文字列エリアに含まれる、行エリアの総数：Ｌ
１つの文字列エリアに含まれる、マーキング（図５に示すハッチング部分）を含む行エリアの総数：ＬＭ
文字列エリアの幅：Ｘ
文字列エリアの高さ：Ｙ
１つの行エリアに含まれる、文字列に重畳されたマーキングの合計幅：ｘＭ
文字列に重畳された各マーキングの高さ：ｙＭ
マーキングを含む行エリアに含まれる、マーキングが重畳されていない文字列の合計幅：ｘＮ
マーキングが重畳されていない文字列の高さ：ｙＮ
【００６８】
文字列に重畳されたマーキングから拡大文字列を作成するための拡大率：α（α>１）
マーキングが重畳されていない文字列から縮小文字列を作成するための縮小率：β（０＜β＜１）
以下の各実施例で示す数式は、何れも、拡大率α及び縮小率βを含む。拡大率α及び縮小率βの何れか一方は、変数として予め定められる。結果的に、拡大率α及び縮小率βの他方を算出することができる。
【００６９】
画像変換部１０９による拡大／縮小後のサイズを、便宜的に、以下のように称する。これらは変数ではない。
マーキングを含む行エリアの幅：Ｘ'
文字列エリアの高さ：Ｙ'
【００７０】
（４−１．実施例１）
図６は、実施例１における拡大率又は縮小率の計算手法を説明するための図である。
【００７１】
図６は、１つの文字列エリアに含まれる複数の行エリアのうち、１つの行エリアに、１つのマーキングと、１つのマーキング（図６に示すハッチング部分）が重畳されていない文字列が含まれる場合を示す。この場合、数１及び数２が成立すればよい。
【００７２】
（数１）
Ｙ'＝αｙＭ＋β（ｙ１＋ｙ３＋ｙ４＋・・・＋ｙＬ）≦Ｙ
【００７３】
αｙＭは、拡大後の、マーキングを含む行エリアの高さの合計値である。
β（ｙ１＋ｙ３＋ｙ４＋・・・＋ｙＬ）は、縮小後の、マーキングを含まない複数の行エリアの高さの合計値である。
【００７４】
Ｙ'≦Ｙが成立する。すなわち、拡大／縮小後の文字列エリアの高さＹ'を、拡大／縮小前の文字列エリアの高さＹ以下に収めることができる。
【００７５】
（数２）
Ｘ'＝αｘＭ＋βｘＮ≦Ｘ
【００７６】
αｘＭは、拡大後の、マーキングの幅の合計値である。
βｘＮは、縮小後の、マーキングが重畳されていない文字列の幅の合計値である。
【００７７】
Ｘ'≦Ｘが成立する。すなわち、拡大／縮小後のマーキングを含む行エリアの幅Ｘ'を、拡大／縮小前の文字列エリアの幅Ｘ以下に収めることができる。
【００７８】
（４−２．実施例２）
以下、すでに説明した実施例と同様の点は説明を省略し、異なる点を中心に説明する。
【００７９】
図７は、実施例２における拡大率又は縮小率の計算手法を説明するための図である。
【００８０】
図７は、１つの文字列エリアに含まれる複数の行エリアのうち、２つの行エリアに、１つのマーキング（図７に示すハッチング部分）と、１つのマーキングが重畳されていない文字列とが含まれる場合を示す。この場合、数３、数４及び数５が成立すればよい。
【００８１】
（数３）
Ｙ'＝α（ｙＭ１＋ｙＭ２）＋β（ｙ１＋ｙ３＋・・・＋ｙＬ）≦Ｙ
【００８２】
（数４）
Ｘ'１＝αｘＭ１＋βｘＮ１≦Ｘ
【００８３】
（数５）
Ｘ'２＝αｘＭ２＋βｘＮ２≦Ｘ
【００８４】
（４−３．実施例３）
図８は、実施例３における拡大率又は縮小率の計算手法を説明するための図である。
【００８５】
図８は、１つの文字列エリアに含まれる複数の行エリアのうち、１つの行エリアに、１つのマーキング（図８に示すハッチング部分）と、２つのマーキングが重畳されていない文字列が含まれる場合を示す。
【００８６】
Ｘ＝１０、Ｙ＝１２、Ｌ＝６、ｘＭ＝２、ｘＮ＝５＋３、ｙＮ＝２、ｙＭ＝２、α＝１．４が、予め変数として定められているとする。
【００８７】
これらの変数を、数１及び数２に代入すると、数６及び数７になる。
【００８８】
（数６）
Ｙ'＝１．４×２＋β（２＋２＋２＋２＋２）≦１２
【００８９】
数６によれば、β≦０．９２である。
【００９０】
（数７）
Ｘ'＝１．４×２＋β（５＋３）≦１０
【００９１】
数７によれば、β≦０．９である。
【００９２】
β≦０．９２及びβ≦０．９の両方を満たす範囲で、縮小率βの最小値（すなわち、縮小文字列が最大サイズとなる縮小率βの値）は０．９である。視認性を高めるためには縮小文字列が最大サイズとなる縮小率を採用するとよいので、この場合、β＝０．９とするのがよい。
【００９３】
（４−４．実施例４）
図９は、実施例４における拡大率又は縮小率の計算手法を説明するための図である。
【００９４】
図９は、１つの文字列エリアに含まれる複数の行エリアのうち、２つの行エリアそれぞれにマーキング（図８に示すハッチング部分）が含まれ、さらに、２つの行エリアのマーキングの合計幅ｘＭが互いに等しい場合を示す。
【００９５】
Ｘ＝１０、Ｙ＝１２、Ｌ＝６、上から２行目のｘＭ１＝３＋２、上から４行目のｘＭ２＝４＋１、上から２行目のｘＮ１＝２＋３、上から４行目のｘＮ２＝１＋４、ｙＮ＝２、ｙＭ＝２、α＝１．２が、予め変数として定められているとする。
【００９６】
これらの変数を、数３、数４及び数５に代入すると、数８、数９及び数１０になる。
【００９７】
（数８）
Ｙ'＝１．２（２＋２）＋β（２＋２＋２＋２）≦１２
【００９８】
数８によれば、β≦０．９である。
【００９９】
（数９）
Ｘ'１＝１．２×（３＋２）＋β（２＋３）≦１０
【０１００】
数９によれば、β≦０．８である。
【０１０１】
（数１０）
Ｘ'２＝１．２×（４＋１）＋β（１＋４）≦１０
【０１０２】
数１０によれば、β≦０．８である。
【０１０３】
β≦０．９、β≦０．８及びβ≦０．８の全てを満たす範囲で、縮小率βの最小値（すなわち、縮小文字列が最大サイズとなる縮小率βの値）は０．８である。視認性を高めるためには縮小文字列が最大サイズとなる縮小率を採用するとよいので、この場合、β＝０．８とするのがよい。
【０１０４】
（４−５．実施例５）
図１０は、実施例５における拡大率又は縮小率の計算手法を説明するための図である。
【０１０５】
図１０は、１つの文字列エリアに含まれる複数の行エリアのうち、２つの行エリアそれぞれにマーキング（図１０のハッチング部分）が含まれ、さらに、２つの行エリアのマーキングの合計幅ｘＭが互いに異なる場合を示す。
【０１０６】
Ｘ＝１０、Ｙ＝１２、Ｌ＝６、上から２行目のｘＭ１＝２、上から４行目のｘＭ２＝５、上から２行目のｘＮ１＝３＋５、上から４行目のｘＮ２＝２＋３、ｙＮ＝２、ｙＭ＝２、α＝１．２が、予め変数として定められているとする。
【０１０７】
これらの変数を、数３、数４及び数５に代入すると、数１１、数１２及び数１３になる。
【０１０８】
（数１１）
Ｙ'＝１．２（２＋２）＋β（２＋２＋２＋２）≦１２
【０１０９】
数１１によれば、β≦０．９である。
【０１１０】
（数１２）
Ｘ'１＝１．２×２＋β（３＋５）≦１０
【０１１１】
数１２によれば、β≦０．９５である。
【０１１２】
（数１３）
Ｘ'２＝１．２×５＋β（２＋３）≦１０
【０１１３】
数１３によれば、β≦０．８である。
【０１１４】
β≦０．９、β≦０．９５及びβ≦０．８の全てを満たす範囲で、縮小率βの最小値（すなわち、縮小文字列が最大サイズとなる縮小率βの値）は０．８である。視認性を高めるためには縮小文字列が最大サイズとなる縮小率を採用するとよいので、この場合、β＝０．８とするのがよい。
【０１１５】
以上、実施例１〜５を説明したが、それ以外の例も含めて、拡大率又は縮小率の計算手法において、数１４及び数１５が成立すればよい。
【０１１６】
【数１４】
0006540546.tif 000002
【０１１７】
数１４において、ｎはマーキングを含む行エリアの数、Ｍｎはマーキングを含む行エリアにおけるマーキング、ｍはマーキングを含まない行エリアの数、Ｌｍはマーキングを含まない行エリアを示す。
【０１１８】
【数１５】
0006540546.tif 000003
【０１１９】
数１５において、ｎはマーキングを含む行エリアの数、Ｐｎはマーキングを含む行エリア、ｓは行エリアＰｎ内のマーキングの数、Ｍｓは行エリアＰｎ内のマーキング、ｔは行エリアＰｎ内のマーキングが重畳されていない文字列の数、Ｎｔは行エリアＰｎ内のマーキングが重畳されていない文字列を示す。
【０１２０】
（５．まとめ）
ＭＦＰ１は、文字列に重畳されたマーキングを含む原稿画像から、マーキングされた文字列を解答とする穴埋め問題（空欄問題）を作成する。空欄には、回答者が回答となる文字列や符号を記入したり、問題作成者が符号等を記入する場合がある。空欄が小さいと、回答者が回答となる文字列や符号を記入するのが困難であったり、問題作成者が記入した符号等が見にくくなる等のおそれがある。
【０１２１】
これに対して、本実施形態によれば、画像変換部１０９は、文字列に重畳されたマーキングを拡大して拡大文字列を作成し、マーキングが重畳されていない文字列を縮小して縮小文字列を作成する。空欄作成部１０５は、拡大文字列に重畳する空欄画像を作成する。画像合成部１０６は、縮小文字列と、空欄画像とを合成した合成画像を作成する
【０１２２】
このように、空欄以外の文字列（マーキングされていない文字列）を縮小し、空欄のサイズを大きくすることで、元の原稿画像のレイアウトを極力活かしつつ、空欄のサイズを相対的に大きくすることができる。
【符号の説明】
【０１２３】
１…ＭＦＰ
１２…画像読取部
１６…画像形成部
１０１…マーキング抽出部
１０２…マーキング判定部
１０３…文字列エリア判定部
１０４…行エリア判定部
１０５…空欄作成部
１０６…画像合成部
１０７…行エリア分割部
１０８…変換率計算部
１０９…画像変換部
【図１】
0006540546.tif 000004
【図２】
0006540546.tif 000005
【図３】
0006540546.tif 000006
【図４】
0006540546.tif 000007
【図５】
0006540546.tif 000008
【図６】
0006540546.tif 000009
【図７】
0006540546.tif 000010
【図８】
0006540546.tif 000011
【図９】
0006540546.tif 000012
【図１０】
0006540546.tif 000013