以下、本発明の実施形態について、添付図面を参照しつつ詳細に説明する。本実施形態では、本発明の画像合成装置及び画像合成プログラムをプリンタ10に具体化し、プリンタ10とコンピュータ30とにより構成される画像合成システム1を例に挙げて説明する。
<システムの構成>
プリンタ10とコンピュータ30とにより構成された画像合成システム1について、図1を参照して説明する。プリンタ10とコンピュータ30とは、LAN(Local Area Network)でデータ送受信可能に接続されている。なお、プリンタ10とコンピュータ30との接続方法は、LANに限定されるものではなく、USB接続やパラレル接続であってもよい。
以下、各装置の構成を説明する。まず、プリンタ10について説明する。プリンタ10は、制御部11と、スキャナ部18と、印刷部19と、表示部20と、操作部21と、ネットワークインターフェース(以下、「ネットワークI/F」と称す)22とを備える。
制御部11は、自装置の制御を司り、CPU12と、ROM13と、RAM17とにより構成される。CPU12は、ROM13及びRAM17に記憶される固定値やプログラムに従って、プリンタ10が有している各機能を制御するものである。
ROM13は、プリンタで実行される制御プログラム等を格納する書き換え不能なメモリである。ROM13には、画像合成プログラム14と、重複領域メモリ(本発明の重複領域記憶手段に相当)15と、編集文字列メモリ(本発明の文字列記憶手段に相当)16とが記憶されている。
画像合成プログラム14には、具体的に、図3のフローチャートに示す画像合成処理、図4のフローチャートに示す配置順序記憶処理、及び、図5のフローチャートに示す原稿画像編集処理を実行する各プログラムが記憶されている。
重複領域メモリ15は、複数の原稿画像データの一部が重なって配置される重複領域の形状が記憶されるメモリである。原稿画像データとは、スキャナ部18で読み取られた原稿の画像データである。重複領域メモリ15には、複数種類の重複領域の形状が記憶されており、各重複領域について、当該重複領域に配置される原稿画像データ数と、当該重複領域における各原稿画像データの配置領域及び配置順序を示す重複順序情報とが関連付けて記憶される。
本実施形態において、重複領域は2枚の原稿画像データの一部が重なって配置される配置領域であるとし、図2に示す4種類の形状が重複領域メモリ15に記憶される。すなわち、本実施形態では、各重複領域に配置される原稿画像データ数は2つであり、この数値が重複領域の形状と関連付けて記憶される。重複順序情報に含まれる各原稿画像データの配置場所とは、例えば図2(A)に示す重複領域において、右斜線で示す配置領域100及び左斜線で示す配置領域102である。重複順序情報に含まれる各原稿画像データの配置順序は、例えば図2(A)において、配置領域100及び配置領域102それぞれに記されている番号「1」及び「2」により示されるものである。すなわち、配置領域100、配置領域102の順に後述する配置順序情報が順序付けされることを示す。図2(A)に示す重複領域の場合は、2つの原稿画像データのうち、後述する読取順序情報により示される番号が小さい方の原稿画像データが配置領域100に配置され、読み取り順序情報により示される番号が大きい方の原稿画像データが配置領域102に配置される。
編集文字列メモリ16は、文字列と編集内容とが関連付けて記憶されるメモリである。文字列とは、「カラー」、「モノクロ」、「ふちあり」、「ふちなし」等の編集内容を示す文字列である。文字列と関連付けて記憶される編集内容とは、各文字列が示す内容の編集処理を実行するプログラムである。例えば、編集文字列メモリ16には、「モノクロ」の文字列が記された配置領域に配置されるカラー画像データにモノクロ処理を実行して当該配置領域に配置する処理プログラムが、当該文字列に関連付けて記憶される。
RAM17は、書き換え可能な揮発性のメモリであり、各種のデータを一時的に記憶するためのメモリである。RAM17には、スキャナ部18で読み取られた原稿画像データ及びコンピュータ30から取得された原稿画像データ等が記憶される。
本実施形態において、RAM17には、スキャナ部18で読み取られた原稿画像データと、当該原稿画像データに対応する読取順序情報とが関連付けて記憶される。読取順序情報は、後述するADFに載置された複数枚の原稿が読み取られた順を示す情報である。本実施形態では、ADFに載置された複数枚の原稿が連続して読み取られた順を示す番号を読取順序情報とする。
また、本実施形態において、RAM17には、テンプレートデータの配置領域と、当該配置領域に対応する配置順序情報とが関連付けて記憶される。配置順序情報は、テンプレートデータの所定の隅部から当該配置領域の所定の隅部までの最短距離に基づいて、各配置領域を順序付けする情報である。本実施形態では、テンプレートデータの左上隅部から当該配置領域の左上隅部までの最短距離の短い順に、配置領域が順序付けられた番号を配置順序情報とする。
スキャナ部18は、原稿台(図示を省略)に載置された原稿を読み取る。また、スキャナ部18は、原稿の自動搬送を行う自動原稿搬送機構(Auto Document Feeder、以下、「ADF」と称す)(図示を省略)を備えており、ADFの原稿トレイに載置された複数枚の原稿を連続して読み取ることができる。
印刷部19は、例えば、スキャナ部18で読み取られた原稿画像データ及びコンピュータ30で作成された印刷データ等の各種データを印刷する。表示部20は、例えば、スキャナ部18で読み取られた原稿画像データ等の各種情報を表示する。本実施形態において、表示部20には、画像合成プログラム14の実行により生成された合成画像データが表示される。
操作部21は、例えば、方向キー、文字入力が可能なテンキーボードおよび確定ボタン等により構成され、各種指令の入力インターフェースとしての機能を実現する。操作部21には、スキャナ機能及びコピー機能の実行開始を指示するスタートボタンが設けられている。また、操作部21は、画像合成プログラム14を実行可能な画像合成モードの選択指令の入力インターフェースとして機能する。
ネットワークI/F22は、プリンタ10をLANに接続し、コンピュータ30のような外部装置との間でLANを介した種々のデータの送受信を実行する。
次に、コンピュータ30について説明する。コンピュータ30は、制御部31と、記憶部35と、操作部40と、表示部41と、ネットワークI/F42とを備える。
制御部31は、自装置の制御を司り、CPU32と、ROM33と、RAM34とにより構成される。CPU32は、ROM33及びRAM34に記憶される固定値やプログラムに従って、コンピュータ30が有している各機能を制御するものである。
ROM33は、プリンタで実行される制御プログラム等を格納する書き換え不能なメモリである。RAM34は、書き換え可能な揮発性のメモリであり、各種のデータを一時的に記憶するためのメモリである。RAM34には、プリンタ10で読み取られた原稿画像データ及び後述するアプリケーションプログラム36により作成されたデータ等が記憶される。
本実施形態において、RAM34には、プリンタ10で読み取られた原稿画像データと、当該原稿画像データに対応する読取順序情報とが関連付けて記憶される。また、RAM34には、テンプレートデータの配置領域と、当該配置領域に対応する配置順序情報とが関連付けて記憶される。
記憶部35は、例えば、ハードディスクで構成されている。記憶部35には、アプリケーションプログラム36と、画像合成プログラム37と、重複領域メモリ38と、編集文字列メモリ39とが記憶されている。アプリケーションプログラム36は、文書作成プログラム及び表計算プログラム等のプログラムである。画像合成プログラム37、重複領域メモリ38、及び、編集文字列メモリ39は、プリンタ10のROM13に記憶された、画像合成プログラム14、重複領域メモリ15、及び、編集文字列メモリ16と同様に構成されているため、詳細な説明は省略する。
操作部40は、例えば、キーボードおよびマウスから構成され、各種指令の入力インターフェースとしての機能を実現する。表示部41は、例えば、プリンタ10で読み取られた原稿画像データ等の各種情報を表示する。本実施形態において、表示部41には、画像合成プログラム37の実行により生成された合成画像データが表示される。
ネットワークI/F42は、コンピュータ30をLANに接続し、例えば、プリンタ10との間で種々のデータの送受信を実行する。
<実施形態の動作>
次に、本実施形態におけるプリンタ10の動作について、図3〜図10を参照して詳細に説明する。
(画像合成処理)
まず、図3を参照して、プリンタ10のCPU12により実行される画像合成処理について説明する。この画像合成処理は、複数の原稿に基づく原稿画像データを一つのデータに挿入して合成された合成画像データを取得するための処理であり、ユーザにより操作部21で画像合成モードが選択され、スタートキーが押下された場合に実行される処理である。本実施形態において、ユーザによりスタートキーが押下されたとき、後述するテンプレート原稿が原稿台に載置され、複数枚の原稿がADFの原稿トレイに載置されていることとする。
この画像合成処理では、まず、スキャナ部18の原稿台に載置されたテンプレート原稿が読み取られ、テンプレートデータが生成される(ステップ300、以下ステップをSと記す)。テンプレート原稿は、1枚の原稿中に別原稿の内容を配置したい部分(すなわち、配置領域)が、長方形状の図形または重複領域メモリ15に記憶された形状の図形で示された原稿である。例えば、テンプレート原稿に基づいて、図7及び図9に示すテンプレートデータ70、90が生成される。S300で生成されたテンプレートデータはRAM17に記憶される。
S302において、S300で生成されたテンプレートデータから、配置領域が抽出される。S302では、テンプレートデータの左上隅部をテンプレート原点とする直交座標系に従って、テンプレートデータ内の配置領域が抽出される。具体的には、配置領域を示す長方形状の図形または重複領域の形状を構成する各辺からなる領域境界が検出されることにより、配置領域が抽出される。例えば、図7に示すテンプレートデータ70は、テンプレートデータ70の左上隅部をテンプレート原点700とする直交座標系に従って、領域境界71、72、73が検出されることにより、配置領域75、76、77が抽出される。
また、図7に示すように、テンプレートデータ70の直交座標系は、テンプレート原点700から右方向へ延びるX軸と、テンプレート原点700から下方向に延びるY軸とにより規定される。テンプレートデータ70の直交座標系における各領域境界71、72、73の左上隅部の座標をそれぞれ領域基準座標710、720、730とし、当該領域基準座標に基づいてテンプレートデータ70における各配置領域75、76、77の位置が特定される。S300では、抽出された領域境界に基づいて、配置領域の大きさが特定される。
S302では、抽出された配置領域の形状と一致する形状が重複領域メモリ15に記憶されているか否かが判断され、一致する形状があると判断された場合、当該配置領域が重複領域であると判断される。なお、本実施形態において、一致する形状とは、完全一致する形状だけでなく、抽出された配置領域の形状が重複領域メモリ15に記憶された形状と同じ形状を示すと認識できるものであればよい。重複領域であると判断された場合、重複領域メモリ15に当該重複領域の形状と関連付けて記憶された当該重複領域に配置される原稿画像データ数が重複領域メモリ15から読み出される。例えば、図7において、配置領域77の形状は重複領域メモリ15に記憶された形状(図2(A)参照)と一致するため、重複領域メモリ15に記憶された原稿画像データ数「2」が読み出される。
S302で抽出された配置領域の形状、位置、大きさ、及び配置領域数はRAM17に記憶される。配置領域数は、原稿画像データが配置される数であり、重複領域はその重複領域に配置される原稿画像データ数分の配置領域数を有する。すなわち、図7に示すテンプレートデータ70の配置領域数は、配置領域75、76、771、772の4つである。
S304において、後述する配置順序記憶処理(図4参照)が実行される。配置順序記憶処理は、S302で抽出された各配置領域と、各配置領域に対応する配置順序情報とが関連付けて記憶される処理であり、詳細は後述する。
ADFの原稿トレイに載置された複数枚の原稿が連続して読み取られ(S306)、各原稿の原稿画像データが生成される(S308)。
S310において、S308で生成された原稿画像データと、読取順序情報とが関連付けてRAM17に記憶される。読取順序情報は、S306において、ADFの原稿トレイに載置された複数枚の原稿が連続して読み取られた順を示す番号である。例えば、図6に示す4枚の原稿が、図6の左側の原稿から順に読み取られた場合、原稿画像データ60と読取順序「1」、原稿画像データ62と読取順序「2」、原稿画像データ64と読取順序「3」、原稿画像データ66と読取順序「4」、がそれぞれ関連付けてRAM17に記憶される。
ADFの原稿トレイに載置された原稿があるか否かが判断される(S312)。ADFの原稿トレイに載置された原稿があると判断された場合(S312:YES)、ステップ処理はS306へ移行される。
ADFの原稿トレイに載置された原稿がないと判断された場合(S312:NO)、原稿画像数Nと配置領域数Mが等しいか否かが判断される(S314)。すなわち、S308で生成された原稿画像データの数とS302で抽出された配置領域の数が等しいか否かが判断される。原稿画像数Nと配置領域数Mが等しくないと判断された場合(S314:NO)、警告処理が実行されて(S316)、本処理が終了される。ADFの原稿トレイに載置された原稿がない場合とは、配置領域数より原稿画像数の方が少ない場合である。S316の警告処理は、「配置領域数より原稿画像数の方が多い」、または、「配置領域数より原稿画像数の方が少ない」という旨を表示部20に表示させる。
原稿画像数Nと配置領域数Mが等しいと判断された場合(S314:YES)、カウンタAの値が「0」にセットされる(S318)。カウンタAの数値は、次に配置領域に配置、合成される原稿画像データの読取順序を示す。すなわち、次に原稿画像データが配置、合成される配置領域の配置順序を示す。
S320において、カウンタAの値が原稿画像数Nと等しいか否かが判断される。カウンタAの値が原稿画像数Nと等しい場合(S320:YES)、印刷処理が実行されて(S322)、本処理が終了される。S322では、画像合成処理により合成された合成画像データが印刷部19に送られ、記録用紙に印刷される。合成画像データについては、後述する。
カウンタAの値が原稿画像数Nと等しくない場合(S320:NO)、カウンタAの値に「1」が加算され(S324)、後述する原稿画像編集処理(図5参照)が実行される(S326)。原稿画像編集処理は、S302で抽出された各配置領域のサイズ等に基づいて、各配置領域に対応する原稿画像データが編集される処理であり、詳細は後述する。
S328において、配置順序「A」の配置領域に配置される原稿画像データは、読取順序「A」の原稿画像データであると特定される。そして、S326で編集された読取順序「A」の原稿画像データが、RAM17に記憶されたテンプレートデータの配置順序「A」の配置領域に配置され、合成される。S328において、読取順序「A」の原稿画像データが合成されたテンプレートデータはRAM17に記憶され、読取順序「A」の原稿画像データが合成される前のテンプレートデータはRAM17から消去される。そして、ステップ処理は、S320へ移行される。
(配置順序記憶処理)
次に、図4を参照して、プリンタ10のCPU12により実行される配置順序記憶処理(図3に示すS304)について説明する。
この配置順序記憶処理は、図3に示すS302で抽出された各配置領域と、各配置領域に対応する配置順序情報とが関連付けて記憶される処理である。本実施形態では、テンプレートデータの左上隅部から各配置領域の左上隅部までの最短距離が短い順に、配置領域が順序付けられた番号を配置順序情報とする。
この配置順序記憶処理は、まず、テンプレートデータの長手方向全域にわたる境界があるか否かが判断される(S400)。具体的には、テンプレートデータの長手方向全域にわたって、所定幅の空白領域または境界線が検出される。例えば、図9に示すテンプレートデータ90は、テンプレートデータ90のX軸方向における中央部分に、テンプレートデータ90の長手方向であるY軸方向に平行な所定幅の空白領域を有する。本実施形態では、テンプレートデータの4つの端部に設けられた余白は、テンプレートデータの長手方向全域にわたる所定幅の空白領域に該当しないこととする。
S400の判断の結果、境界がないと判断された場合(S400:NO)、テンプレートデータに存在する各配置領域の領域基準座標がRAM17から読み出される(S402)。
各配置領域について、原点距離が算出される(S404)。原点距離は、テンプレート原点から各配置領域の領域基準座標まで最短距離である。例えば、図7に示すテンプレートデータ70において、原点距離は、テンプレート原点700から各配置領域75、76、77の領域基準座標710、720、730まで最短距離D1、D2、D3である。S404では、各配置領域について、当該配置領域の領域基準座標と、テンプレート原点の座標に基づいて、原点距離が算出され、各配置領域の原点距離がRAM17に記憶される。
S406において、カウンタTの値が「0」にセットされる。カウンタTの数値は、配置順序情報が関連付けて記憶された配置領域数を示す。
S408において、カウンタTの値がS302で抽出された配置領域数Mに等しいか否かが判断される。カウンタTの値がS302で抽出された配置領域数Mに等しい場合(S408:YES)、本処理が終了される。
カウンタTの値がS302で抽出された配置領域数Mに等しくない場合(S408:NO)、テンプレートデータの配置領域のうち、S404で算出された原点距離が最短の配置領域が特定される(S410)。本実施形態において、テンプレートデータの配置領域のうち、配置順序情報と関連付けてRAM17に記憶されている配置領域は、S410で特定されうる配置領域から除外される。
S412において、S410で特定された配置領域が重複領域であるか否かが判断される。すなわち、S410で特定された配置領域の領域境界の形状が、重複領域メモリ15に記憶された重複領域の形状(図2参照)に一致するか否かが判断される。
重複領域でないと判断された場合(S412:NO)、S410で特定された配置領域と、配置領域情報としてカウンタTの値に「1」が加算された値とが関連付けられてRAM17に記憶される(S414)。S416において、カウンタTの値に「1」が加算され、ステップ処理はS408へ移行される。
重複領域であると判断された場合(S412:YES)、その重複領域に配置される画像データ数Iが読み出される(S418)。具体的には、S412で判断された重複領域の形状と同じ形状の重複領域が重複領域メモリ15から読み出され、その重複領域に関連付けて記憶された当該重複領域に配置される原稿画像データ数Iが読み出される。本実施形態では、重複領域は2枚の原稿画像データの一部が重なって配置される配置領域であるため(図2参照)、S412で読み出される画像データ数Iは「2」である。
S420において、重複領域メモリ15に当該重複領域の形状と関連付けて記憶された重複順序情報に基づいて、当該重複領域と、配置順序情報とが関連付けてRAM17に記憶される。すなわち、重複順序情報として記憶された当該重複領域における各原稿画像データの配置場所及び配置順序に従って、1つの原稿画像データが配置される領域ごとに配置順序情報が関連付けて記憶される。
例えば、図7に示すテンプレートデータ70において、S410で重複領域である配置領域77が特定された場合、配置領域77の形状は図2(A)に示す重複領域の形状と同一であるため、重複領域メモリ15から図2(A)に示す重複領域の形状と関連付けて記憶された原稿画像データ数「2」と重複順序情報とが読み出される。この重複順序情報に含まれる配置場所は、図2(A)に示す重複領域における配置領域100及び配置領域102である。この重複順序情報に含まれる配置順序は、配置領域100が「1」、配置領域102が「2」である。したがって、配置領域77のうち、図2(A)に示す配置領域100に相当する領域771と、配置順序情報としてカウンタTの値に「1」が加算された値とが関連付けてRAM17に記憶される。また、配置領域77のうち、図2(A)に示す配置領域102に相当する領域772と、配置順序情報としてカウンタTの値に「2」が加算された値とが関連付けてRAM17に記憶される。
S422において、カウンタTの値に画像データ数Iが加算され、ステップ処理はS408へ移行される。
S400の判断の結果、境界があると判断された場合(S400:YES)、当該境界により分割された分割領域が抽出される(S424)。例えば、図9に示すテンプレートデータ90は、テンプレートデータ90のX軸方向の中央部分にあるY軸方向に平行な所定幅の空白領域を境界として、分割領域902及び分割領域904が抽出される。
S424では、分割領域の左上隅部を分割原点とし、テンプレートデータ90の直交座標系に従って、分割原点の位置が特定される。特定された分割原点の位置はRAM17に記憶される。
S426において、S424で抽出された各分割領域と、配置順序記憶処理の実行される順序を示す分割順序とが関連付けてRAM17に記憶される。本実施形態において、分割順序は、テンプレートデータの左側に位置する分割領域から順に順序付けされた番号である。
S428において、カウンタSの値が「1」にセットされる。カウンタSの数値は、配置順序記憶処理が実行される分割領域の分割順序を示す。
S430において、分割領域Sの分割領域が有する配置領域数Kが取得される。具体的には、S424で抽出された分割領域Sの位置と図3に示すS302で抽出された配置領域の位置とに基づいて、配置領域数Kが算出されてRAM17に記憶される。例えば、図9に示すテンプレートデータ90の分割領域902は、配置領域96を有するので、配置領域数Kは「1」となる。
S432において、S402と同様に、分割順序「S」の分割領域が有する配置領域の領域基準座標がRAM17から読み出される。S434において、分割順序「S」の分割領域が有する各配置領域について、分割原点距離が算出される。分割原点距離は、分割原点から各配置領域の領域基準座標まで最短距離である。例えば、図9に示す分割領域902において、分割原点距離は、分割原点906から配置領域96の領域基準座標920まで最短距離D5である。S434では、各配置領域について、当該配置領域の領域基準座標と、分割原点の座標に基づいて、分割原点距離が算出され、各配置領域の分割原点距離がRAM17に記憶される。
S436において、カウンタTの値が「0」にセットされる。S438において、カウンタTの値が分割順序「S」の分割領域が有する配置領域数Kと等しいか否かが判断される。
S438の判断の結果、カウンタTの値が分割順序「S」の分割領域が有する配置領域数Kと等しくないと判断された場合(S438:NO)、分割順序「S」の分割領域が有する配置領域のうち、S434で算出された分割原点距離が最短の配置領域が特定される(S440)。本実施形態において、分割領域Sの分割領域が有する配置領域のうち、配置順序情報と関連付けてRAM17に記憶されている配置領域は、S440で特定されうる配置領域から除外される。
S412と同様に、S440で特定された配置領域が重複領域であるか否かが判断される(S442)。重複領域でないと判断された場合(S442:NO)、S440で特定された配置領域と、配置領域情報とが関連付けられてRAM17に記憶される(S444)。S444において、配置領域順序情報は、分割順序「S−1」の分割領域の配置領域数KとカウンタTの値の和に「1」が加算された値である。S446において、カウンタTの値に「1」が加算され、ステップ処理はS438へ移行される。
重複領域であると判断された場合(S442:YES)、S418と同様に、この重複領域に配置される画像データ数Iが重複領域メモリ15から読み出される(S448)。
S450において、重複領域メモリ15に当該重複領域の形状と関連付けて記憶された重複順序情報に基づいて、当該重複領域と、配置順序情報とが関連付けてRAM17に記憶される。すなわち、重複順序情報として記憶された当該重複領域における各原稿画像データの配置場所及び配置順序に従って、1つの原稿画像データが配置される領域ごとに配置順序情報が関連付けて記憶される。
例えば、図9に示すテンプレートデータ90において、S440で重複領域である配置領域97が特定された場合、配置領域97の形状は図2(A)に示す重複領域の形状と同一であるため、重複領域メモリ15から図2(A)に示す重複領域の形状と関連付けて記憶された原稿画像データ数「2」と重複順序情報とが読み出される。配置領域97のうち、図2(A)に示す配置領域100に相当する領域971と、配置順序情報として所定値に「1」が加算された値とが関連付けてRAM17に記憶される。また、配置領域77のうち、図2(A)に示す配置領域102に相当する領域772と、配置順序情報として所定値に「2」が加算された値とが関連付けてRAM17に記憶される。所定値とは、分割順序「S−1」の分割領域の配置領域数KとカウンタTと値の和である。
S452において、カウンタTの値に画像データ数Iが加算され、ステップ処理はS438へ移行される。
S438の判断の結果、カウンタTの値が分割順序「S」の分割領域が有する配置領域数Kと等しいと判断された場合(S438:YES)、分割順序「S」の値が、S424で抽出された分割領域数Yと等しいか否かが判断される(S454)。
分割順序「S」の値が、S424で抽出された分割領域数Yと等しいと判断された場合(S454:YES)、本処理が終了される。分割順序「S」の値が、S424で抽出された分割領域数Yと等しくないと判断された場合(S454:NO)、カウンタSの値に「1」が加算され(S456)、ステップ処理はS430へ移行される。
(原稿画像編集処理)
次に、図5を参照して、プリンタ10のCPU12により実行される配置順序記憶処理(図3に示すS326)について説明する。
この原稿画像編集処理は、図3に示すS302で抽出された各配置領域のサイズ等に基づいて、各配置領域に対応する原稿画像データが編集される処理である。
この原稿画像編集処理は、まず、配置順序「A」の配置領域に編集文字列メモリ16に記憶された文字列があるか否かが判断される(S500)。具体的には、光学文字認識(Optical Character Recognition、以下、「OCR」と称す)等によりテンプレートデータが解析されることにより文字列があるか否かが判断される。なお、S500における判断方法は、これに限定されるものではなく、配置領域内に文字列があるか否かが判断できれば、種々の態様を採ることができる。
S500の判断の結果、配置順序「A」の配置領域に編集文字列メモリ16に記憶された文字列がないと判断された場合(S500:NO)、ステップ処理はS506へ移行される。S500の判断の結果、配置順序「A」の配置領域に編集文字列メモリ16に記憶された文字列があると判断された場合(S500:YES)、配置順序「A」の配置領域から抽出された文字列に対応する編集内容が編集文字列メモリ16から読み出される(S502)。
S504において、S502で読み出された編集内容に基づいて、読取順序「A」の原稿画像データが編集される。すなわち、編集文字列メモリ16に文字列に関連付けて記憶されたプログラムに基づいて、読取順序「A」の原稿画像データについての編集処理が実行される。例えば、S500で「モノクロ」の文字列が抽出された場合、読取順序「A」の原稿画像データが、モノクロ画像データであるか否かが判断され、カラー画像データである場合はモノクロ処理が実行されてRAM17に記憶される。読取順序「A」の原稿画像データがモノクロ画像データである場合は、そのモノクロ画像データがRAM17に記憶される。抽出された文字列の編集処理の実行が不可能な場合は、編集処理が実行できない旨が表示部20に表示される。
S506において、配置順序「A」の配置領域の大きさ(以下、「配置領域サイズ」と称す)が読取順序「A」の原稿画像データの大きさ(以下、「原稿画像サイズ」と称す)と等しいか否かが判断される。配置順序「A」の配置領域サイズが読取順序「A」の原稿画像サイズと等しいと判断された場合(S506:YES)、本処理が終了される。
配置順序「A」の配置領域サイズが読取順序「A」の原稿画像サイズと等しくないと判断された場合(S506:NO)、配置順序「A」の配置領域サイズと読取順序「A」の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。配置順序「A」の配置領域サイズと読取順序「A」の原稿画像サイズが等しくない旨と一緒に、読取順序「A」の原稿画像データの拡大または縮小処理を実行するか否かをユーザに判断させるメッセージが表示されてもよい。配置順序「A」の配置領域サイズと読取順序「A」の原稿画像サイズが等しくない旨の表示は、例えば、テンプレートデータの縮小画像と読取順序「A」の原稿画像とが表示部20に表示され、当該縮小画像に対応する配置順序「A」の配置領域が他の配置領域と異なる態様で表示されるようにしてもよい。
S510において、配置順序「A」の配置領域サイズが読取順序「A」の原稿画像サイズより小さいか否かが判断される。配置順序「A」の配置領域サイズが読取順序「A」の原稿画像サイズより小さいと判断された場合(S510:YES)、ユーザによる操作部21からの縮小指示が受け付けられたか否かが判断される(S512)。縮小指示は、S508において、表示部20に表示される配置順序「A」の配置領域サイズと読取順序「A」の原稿画像サイズが等しくない旨のメッセージに基づいて、ユーザの操作部21における操作により入力される、当該原稿画像データを縮小させる指示である。
縮小指示が受け付けられたと判断された場合(S512:YES)、配置順序「A」の配置領域サイズに合わせて読取順序「A」の原稿画像データが縮小され(S514)、本処理が終了される。
縮小指示が受け付けられていないと判断された場合(S512:NO)、配置順序「A」の配置領域サイズに合わせて読取順序「A」の原稿画像データが切り取られ(S516)、本処理が終了される。S516では、読取順序「A」の原稿画像データの中心を基準として、配置順序「A」の配置領域サイズと一致するように、当該原稿画像データの端部が切り取られる。すなわち、配置順序「A」の配置領域の中心と読取順序「A」の原稿画像データの中心とを重ね合わせた場合に、読取順序「A」の原稿画像データのうち、配置順序「A」の配置領域からはみ出した部分が切り取られる。
S510の判断の結果、配置順序「A」の配置領域サイズが読取順序「A」の原稿画像サイズより大きいと判断された場合(S510:NO)、S512と同様に、ユーザによる操作部21からの拡大指示が受け付けられたか否かが判断される(S518)。S508において、表示部20に表示される配置順序「A」の配置領域サイズと読取順序「A」の原稿画像サイズが等しくない旨のメッセージに基づいて、ユーザの操作部21における操作により入力される、当該原稿画像データを拡大させる指示である。
拡大指示が受け付けられたと判断された場合(S518:YES)、配置順序「A」の配置領域サイズに合わせて読取順序「A」の原稿画像データが拡大され(S520)、本処理が終了される。
拡大指示が受け付けられていないと判断された場合(S518:NO)、配置順序「A」の配置領域サイズに合わせて読取順序「A」の原稿画像データに余白部分が付与され(S522)、本処理が終了される。S522では、読取順序「A」の原稿画像データの中心を基準として、配置順序「A」の配置領域サイズと一致するように、読取順序「A」の原稿画像データの端部に余白が付与される。すなわち、配置順序「A」の配置領域の中心と読取順序「A」の原稿画像データの中心とを重ね合わせた場合に、配置順序「A」の配置領域サイズと一致するように、読取順序「A」の原稿画像データの端部に余白が付与される。
ここで、図6に示す原稿画像データ及び図7に示すテンプレートデータを例として、図3〜図5に示す画像合成処理、配置順序記憶処理、及び、原稿画像編集処理について説明する。
図6に示す原稿画像データ60、62、64、66は、原稿画像データ60、原稿画像データ62、原稿画像データ64、原稿画像データ66の順にADFで連続して読み取られて生成された原稿画像データである。図6に示す原稿画像データ60、62、64、66は、全てカラー原稿が読み取られたカラー画像データであり、また、全てA4サイズに応じた画像サイズであるとする。各原稿画像データの上下方向は、図6に示す矢印上下方向に相当する。
図7に示すテンプレートデータ70は、A3サイズに応じた画像サイズであり、領域境界71で形成される配置領域75と、領域境界72で形成される配置領域76と、領域境界73で形成される配置領域77とを有す。配置領域76内には、「モノクロ」という文字列78が記されている。配置領域77は重複領域であり、配置領域771と配置領域772各々に原稿画像データが配置可能である。配置領域75、76、77はそれぞれ領域基準座標710、720、730を有し、テンプレート原点700から各領域基準座標までの最短距離をそれぞれ原点距離D1、D2、D3とする。テンプレートデータ70の直交座標系は、左上隅部のテンプレート原点700から右方向へ延びるX軸と、テンプレート原点700から下方向に延びるY軸とにより規定される。
本実施形態において、配置領域75、76、771、772の配置領域サイズは、原稿画像データ60、62、64、66の原稿画像サイズより小さいとし、各原稿画像データは、配置領域サイズに合わせて縮小されて配置されることとする。
まず、図3に示すS300で図7に示すテンプレートデータ70が生成される。S302において、テンプレートデータ70のテンプレート原点700とする直交座標系に従って、領域境界71、72、73が検出されることにより、配置領域75、76、77が抽出され、RAM17に記憶される。配置領域77は重複領域であるので、重複領域77に一致する重複領域の形状を重複領域メモリ15から読み出され、読み出された形状と関連付けて記憶された重複領域に配置される原稿画像データ数「2」が読み出される。テンプレートデータ70における配置領域数「4」がRAM17に記憶される。次に、配置領域順序記憶処理が実行される(S304)。
ここで、図4を参照して、配置領域順序記憶処理(図3に示すS304)について説明する。S400において、図7に示すテンプレートデータ70は、Y軸方向全域にわたる所定幅の空白領域または境界線を有していないので(S400:NO)、ステップ処理はS402へ移行される。S402において、配置領域75、76、77の領域基準座標710、720、730がRAM17から読み出され、各配置領域の原点距離D1、D2、D3が算出されてRAM17に記憶される(S404)。
S406において、カウンタTの値が「0」にセットされる。S408において、カウンタTの値「0」はS302で抽出された配置領域数「4」に等しくないので(S408:NO)、ステップ処理はS410へ移行される。
図7に示すテンプレートデータ70では、原点距離D1、D2、D3の大小関係は、D1<D2<D3であるため、S410において、最短の原点距離D1の配置領域75が特定される。S412において、配置領域75は重複領域でないので(S412:NO)、配置領域75と、配置領域情報としてカウンタTの値「0」に「1」が加算された値「1」とが関連付けられてRAM17に記憶される(S414)。S416において、カウンタTの値が「1」となり、ステップ処理はS408へ移行される。
S408において、カウンタTの値「1」は配置領域数「4」に等しくないので(S408:NO)、ステップ処理はS410へ移行される。
S410において、配置領域情報が関連付けられた配置領域75の原点距離D1を除く原点距離D2、D3のうち、最短の原点距離D2の配置領域76が特定される。S412において、配置領域76は重複領域でないので(S412:NO)、配置領域76と、配置領域情報としてカウンタTの値「1」に「1」が加算された値「2」とが関連付けられてRAM17に記憶される(S414)。S416において、カウンタTの値が「2」となり、ステップ処理はS408へ移行される。
S408において、カウンタTの値「2」は配置領域数「4」に等しくないので(S408:NO)、ステップ処理はS410へ移行される。
S410において、配置領域情報が関連付けられた配置領域75、76の原点距離D1、D2を除く原点距離D3の配置領域77が特定される。S412において、配置領域77は重複領域であるので(S412:YES)、ステップ処理はS418へ移行される。
S418において、重複領域77の形状と同じ形状の重複領域(図2(A)参照)が重複領域メモリ15から読み出され、重複領域メモリ15から重複領域77に配置される原稿画像データ数「2」が読み出される。
S420において、重複領域メモリ15から図2(A)に示す重複領域の形状と関連付けて記憶された重複順序情報とが読み出される。重複順序情報に含まれる配置場所及び配置順序は、図2(A)に示す重複領域において、配置領域100が「1」、配置領域102が「2」である。よって、配置領域77のうち、図2(A)に示す配置領域100に相当する領域771と、配置順序情報としてカウンタTの値「2」に「1」が加算された値「3」とが関連付けてRAM17に記憶される。また、配置領域77のうち、図2(A)に示す配置領域102に相当する領域772と、配置順序情報としてカウンタTの値「2」に「2」が加算された値「4」とが関連付けてRAM17に記憶される。
S422において、カウンタTの値「2」に画像データ数「2」が加算され、ステップ処理はS408へ移行される。S408において、カウンタTの値「4」は配置領域数「4」に等しいので(S408:YES)、本処理が終了される。以上より、配置領域75と配置順序「1」、配置領域76と配置順序「2」、配置領域771と配置順序「3」、配置領域772と配置順序「4」、がそれぞれ関連付けてRAM17に記憶されている。
図3に示す画像合成処理に戻り、S306において、ADFの原稿トレイに載置された4枚の原稿が連続して読み取られ、図6に示す各原稿の原稿画像データが生成される(S308)。図6に示す原稿画像データは、原稿画像データ60、原稿画像データ62、原稿画像データ64、原稿画像データ66の順にADFで連続して読み取られて生成されたので、原稿画像データ60と読取順序「1」、原稿画像データ62と読取順序「2」、原稿画像データ64と読取順序「3」、原稿画像データ66と読取順序「4」、がそれぞれ関連付けてRAM17に記憶される。
S312において、ADFの原稿トレイに載置された原稿はないので(S312:NO)、ステップ処理はS314へ移行される。S314において、原稿画像数「4」と配置領域数「4」が等しいので(S314:YES)、カウンタAの値が「0」にセットされる(S318)。
S320において、カウンタAの値「0」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「1」となり(S324)、原稿画像編集処理が実行される(S326)。
ここで、図5を参照して、原稿画像編集処理(図3に示すS326)について説明する。S500において、OCRによりテンプレートデータが解析され、配置順序「1」の配置領域75に文字列はないので(S500:NO)、ステップ処理はS506へ移行される。
本実施形態において、配置領域75の配置領域サイズは読取順序「1」の原稿画像データ60の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域75の配置領域サイズと読取順序「1」の原稿画像データ60の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域75の配置領域サイズに合わせて原稿画像データ60が縮小され(S514)、原稿画像データ60における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「1」の原稿画像データ60が、配置順序「1」の配置領域75に配置され、合成される。原稿画像データ60が合成されたテンプレートデータ70はRAM17に記憶され、原稿画像データ60が合成される前にRAM17に記憶されていたテンプレートデータ70は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「1」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「2」となり(S324)、原稿画像編集処理が実行される(S326)。
上述した原稿画像データ60についての原稿画像編集処理と同様に、図5のS500において、OCRによりテンプレートデータが解析され、配置順序「2」の配置領域76から文字列「モノクロ」78が抽出される。よって、配置領域76に文字列があるので(S500:YES)、文字列「モノクロ」と関連付けて記憶されたプログラムが編集文字列メモリ16から読み出される(S502)。
図6に示す原稿画像データ62は、カラー画像データであるため、S502で読み出されたプログラムに基づいて、モノクロ処理が実行されてRAM17に記憶される。図8において、モノクロ画像は右斜線で示されている。
本実施形態において、配置領域76の配置領域サイズは読取順序「2」の原稿画像データ62の原稿画像サイズより小さいので(S506:NO、S510:NO)、当該配置領域サイズと当該原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域76の配置領域サイズに合わせて原稿画像データ62が縮小され(S514)、原稿画像データ62における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「2」の原稿画像データ62が、配置順序「2」の配置領域76に配置され、合成される。原稿画像データ62が合成されたテンプレートデータ70はRAM17に記憶され、原稿画像データ62が合成される前にRAM17に記憶されていたテンプレートデータ70は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「2」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「3」となり(S324)、原稿画像編集処理が実行される(S326)。
上述した原稿画像データ60についての原稿画像編集処理と同様に、図5のS500において、OCRによりテンプレートデータが解析され、配置順序「3」の配置領域771に文字列はないので(S500:NO)、ステップ処理はS506へ移行される。
本実施形態において、配置領域771の配置領域サイズは読取順序「3」の原稿画像データ64の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域771の配置領域サイズと読取順序「3」の原稿画像データ64の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域771の配置領域サイズに合わせて原稿画像データ64が縮小され(S514)、原稿画像データ64における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「3」の原稿画像データ64が、配置順序「3」の配置領域771に配置され、合成される。原稿画像データ64が合成されたテンプレートデータ70はRAM17に記憶され、原稿画像データ64が合成される前にRAM17に記憶されていたテンプレートデータ70は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「3」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「4」となり(S324)、原稿画像編集処理が実行される(S326)。
上述した原稿画像データ60についての原稿画像編集処理と同様に、図5のS500において、OCRによりテンプレートデータが解析され、配置順序「4」の配置領域772に文字列はないので(S500:NO)、ステップ処理はS506へ移行される。
本実施形態において、配置領域772の配置領域サイズは読取順序「4」の原稿画像データ66の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域772の配置領域サイズと読取順序「4」の原稿画像データ66の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域772の配置領域サイズに合わせて原稿画像データ66が縮小され(S514)、原稿画像データ66における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「4」の原稿画像データ66が、配置順序「4」の配置領域772に配置され、合成される。原稿画像データ64が合成されたテンプレートデータ70はRAM17に記憶され、原稿画像データ64が合成される前にRAM17に記憶されていたテンプレートデータ70は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「4」が原稿画像数「4」と等しいので(S320:YES)、S328で合成されたテンプレートデータ70である合成画像データ80(図8参照)がRAM17から読み出され、印刷部19で記録用紙に印刷される(S322)。図8において、合成された原稿画像データに記された右斜線は、その原稿画像データがモノクロ画像データであることを示す。また、図8に示す合成画像データ80において、右斜線が記されていない原稿画像データは、その原稿画像データがカラー画像データであることを示す。
次に、テンプレートデータを図9に示す境界を有するテンプレートデータに変更し、同様に図6に示す原稿画像データを例として、図3〜図5に示す画像合成処理、配置順序記憶処理、及び、原稿画像編集処理について説明する。
図9に示すテンプレートデータ90の直交座標系は、左上隅部のテンプレート原点900から右方向へ延びるX軸と、テンプレート原点900から下方向に延びるY軸とにより規定される。テンプレートデータ90は、A3サイズに応じた画像サイズであり、X軸方向における中央部分に、Y軸方向に平行な所定幅の空白領域を有する。テンプレートデータ90は、当該空白領域を境界として、テンプレートデータ90の左側の分割領域902とテンプレートデータ90の右側の分割領域904とに分割される。各分割領域902、904の左上隅部を分割原点906、908とする。分割領域902は、領域境界92で形成される配置領域96を有し、配置領域96内には、「モノクロ」という文字列98が記されている。配置領域96は領域基準座標920を有し、分割原点906から領域基準座標920までの最短距離を分割原点距離D5とする。分割領域904は、領域境界91で形成される配置領域95と、領域境界93で形成される配置領域97とを有す。配置領域97は重複領域であり、配置領域971と配置領域972各々に原稿画像データが配置可能である。配置領域95、97はそれぞれ領域基準座標910、930を有し、分割原点908から各領域基準座標910、930までの最短距離を分割原点距離D4、D6とする。
本実施形態において、配置領域95、96、971、972の配置領域サイズは、原稿画像データ60、62、64、66の原稿画像サイズより小さいとし、各原稿画像データは、配置領域サイズに合わせて縮小されて配置されることとする。
まず、図3に示すS300で図9に示すテンプレートデータ90が生成される。S302において、テンプレートデータ90のテンプレート原点900とする直交座標系に従って、領域境界91、92、93が検出されることにより、配置領域95、96、97が抽出され、RAM17に記憶される。配置領域97は重複領域であるので、重複領域97に一致する重複領域の形状を重複領域メモリ15から読み出され、当該形状と関連付けて記憶された重複領域に配置される原稿画像データ数「2」が読み出される。したがって、テンプレートデータ90における配置領域数は「4」となり、この値がRAM17に記憶される。次に、配置領域順序記憶処理が実行される(S304)。
ここで、図4を参照して、配置領域順序記憶処理(図3に示すS304)について説明する。S400において、図9に示すテンプレートデータ90は、Y軸方向全域にわたる所定幅の空白領域を有しているので(S400:YES)、S424において、分割領域902と分割領域904の2つの分割領域が抽出されてRAM17に記憶される。各分割領域902、904の分割原点906、908の位置はRAM17に記憶される。
S426において、分割領域902と分割順序「1」、分割領域904と分割順序「2」がそれぞれ関連付けてRAM17に記憶される。S428において、カウンタSの値が「1」にセットされる。
S430において、分割領域「1」の分割領域902が有する配置領域は配置領域96のみであるので、配置領域数「1」が取得される。S432において、配置領域96の領域基準座標920がRAM17から読み出され、配置領域96の分割原点距離D5が算出されてRAM17に記憶される(S434)。
S436において、カウンタTの値が「0」にセットされる。S438において、カウンタTの値「0」はS430で取得された配置領域数「1」に等しくないので(S438:NO)、ステップ処理はS440へ移行される。
分割領域902が有する配置領域は配置領域96のみであるので、S440において、配置領域96が特定される。S442において、配置領域96は重複領域でないので(S442:NO)、配置領域96と、配置領域情報としてカウンタTの値「0」に「1」が加算された値「1」とが関連付けられてRAM17に記憶される(S444)。S446において、カウンタTの値が「1」となり、ステップ処理はS438へ移行される。
S438において、カウンタTの値「1」は配置領域数「1」に等しいので(S438:YES)、ステップ処理はS454へ移行される。S454において、分割順序「1」はS424で抽出された分割領域数「2」と等しくないので(S454:NO)、カウンタSの値は「2」となり(S456)、ステップ処理はS430へ移行される。
S430において、分割領域「2」の分割領域904が有する配置領域は配置領域95と、配置領域97を構成する配置領域971と配置領域972との3つであるので、配置領域数「3」が取得される。S432において、各配置領域95、97の領域基準座標920、930が読み出され、各配置領域95、97の分割原点距離D4、D6が算出されてRAM17に記憶される(S434)。
S436において、カウンタTの値が「0」にセットされる。S438において、カウンタTの値「0」はS430で取得された配置領域数「3」に等しくないので(S438:NO)、ステップ処理はS440へ移行される。
図9に示す分割領域904では、分割原点距離D4、D6の大小関係は、D4<D6であるため、S440において、最短の分割原点距離D4の配置領域95が特定される。S442において、配置領域95は重複領域でないので(S442:NO)、配置領域95と、配置領域情報とが関連付けられてRAM17に記憶される(S444)。配置領域情報は、分割順序「1」の分割領域902の配置領域数「1」とカウンタTの値「0」との和に「1」が加算された値「2」である。S446において、カウンタTの値が「1」となり、ステップ処理はS438へ移行される。
S438において、カウンタTの値「1」は配置領域数「3」に等しくないので(S438:NO)、ステップ処理はS440へ移行される。S440において、配置領域情報が関連付けられた配置領域95の分割原点距離D4を除く分割原点距離D6の配置領域97が特定される。S442において、配置領域97は重複領域であるので(S442:YES)、ステップ処理はS448へ移行される。
S448において、重複領域97の形状と同じ形状の重複領域(図2(A)参照)が重複領域メモリ15から読み出され、重複領域メモリ15から重複領域97に配置される原稿画像データ数「2」が読み出される。
S450において、まず、重複領域メモリ15から図2(A)に示す重複領域の形状と関連付けて記憶された重複順序情報とが読み出される。重複順序情報に含まれる配置場所及び配置順序は、図2(A)に示す重複領域において、配置領域100が「1」、配置領域102が「2」である。そして、配置領域97のうち、図2(A)に示す配置領域100に相当する領域971と、配置順序情報として所定値「2」に「1」が加算された値「3」とが関連付けてRAM17に記憶される。また、配置領域77のうち、図2(A)に示す配置領域102に相当する領域772と、配置順序情報として所定値「2」に「2」が加算された値「4」とが関連付けてRAM17に記憶される。所定値「2」は、分割順序「1」の分割領域902の配置領域数「1」とカウンタTの値「1」との和である。
S452において、カウンタTの値「1」に画像データ数「2」が加算されてカウンタTの値は「3」となり、ステップ処理はS438へ移行される。S438において、カウンタTの値「3」は配置領域数「3」に等しいので(S438:YES)、ステップ処理はS454へ移行される。
S454において、分割順序「2」はS424で抽出された分割領域数「2」と等しいので(S454:YES)、本処理が終了される。以上より、配置領域96と配置順序「1」、配置領域95と配置順序「2」、配置領域971と配置順序「3」、配置領域972と配置順序「4」、がそれぞれ関連付けてRAM17に記憶されている。
図3に示す画像合成処理に戻り、ADFの原稿トレイに載置された4枚の原稿が連続して読み取られ(S306)、図6に示す各原稿の原稿画像データが生成される(S308)。図6に示す原稿画像データは、図7のテンプレートデータ70についての画像合成手段と同様に、原稿画像データ60と読取順序「1」、原稿画像データ62と読取順序「2」、原稿画像データ64と読取順序「3」、原稿画像データ66と読取順序「4」、がそれぞれ関連付けてRAM17に記憶される。
S312において、ADFの原稿トレイに載置された原稿はないので(S312:NO)、ステップ処理はS314へ移行される。S314において、原稿画像数「4」と配置領域数「4」が等しいので(S314:YES)、カウンタAの値が「0」にセットされる(S318)。
S320において、カウンタAの値「0」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「1」となり(S324)、原稿画像編集処理が実行される(S326)。
ここで、図5を参照して、原稿画像編集処理(図3に示すS326)について説明する。図5のS500において、OCRによりテンプレートデータが解析され、配置順序「1」の配置領域96から文字列「モノクロ」98が抽出される。よって、配置領域96に文字列があるので(S500:YES)、編集文字列メモリ16を参照して、文字列「モノクロ」と関連付けて記憶されたプログラムが読み出される(S502)。
図6に示す原稿画像データ60は、カラー画像データであるため、S502で読み出されたプログラムに基づいて、モノクロ処理が実行されてRAM17に記憶される。図10において、モノクロ画像は右斜線で示されている。
本実施形態において、配置領域96の配置領域サイズは読取順序「1」の原稿画像データ60の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域96の配置領域サイズと読取順序「1」の原稿画像データ60の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域96の配置領域サイズに合わせて原稿画像データ60が縮小され(S514)、原稿画像データ60における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「1」の原稿画像データ60が、配置順序「1」の配置領域96に配置され、合成される。原稿画像データ60が合成されたテンプレートデータ90はRAM17に記憶され、原稿画像データ60が合成される前にRAM17に記憶されていたテンプレートデータ90は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「1」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「2」となり(S324)、原稿画像編集処理が実行される(S326)。
上述した原稿画像データ60についての原稿画像編集処理と同様に、S500において、OCRによりテンプレートデータが解析され、配置順序「2」の配置領域95に文字列はないので(S500:NO)、ステップ処理はS506へ移行される。
本実施形態において、配置領域95の配置領域サイズは読取順序「2」の原稿画像データ62の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域95の配置領域サイズと読取順序「2」の原稿画像データ62の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域95の配置領域サイズに合わせて原稿画像データ62が縮小され(S514)、原稿画像データ62における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「2」の原稿画像データ62が、配置順序「2」の配置領域95に配置され、合成される。原稿画像データ62が合成されたテンプレートデータ90はRAM17に記憶され、原稿画像データ62が合成される前にRAM17に記憶されていたテンプレートデータ90は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「2」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「3」となり(S324)、原稿画像編集処理が実行される(S326)。
上述した原稿画像データ60についての原稿画像編集処理と同様に、図5のS500において、OCRによりテンプレートデータが解析され、配置順序「3」の配置領域971に文字列はないので(S500:NO)、ステップ処理はS506へ移行される。
本実施形態において、配置領域971の配置領域サイズは読取順序「3」の原稿画像データ64の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域971の配置領域サイズと読取順序「3」の原稿画像データ64の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域971の配置領域サイズに合わせて原稿画像データ64が縮小され(S514)、原稿画像データ64における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「3」の原稿画像データ64が、配置順序「3」の配置領域971に配置され、合成される。原稿画像データ64が合成されたテンプレートデータ90はRAM17に記憶され、原稿画像データ64が合成される前にRAM17に記憶されていたテンプレートデータ90は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「3」が原稿画像数「4」と等しくないので(S320:NO)、カウンタAの値が「4」となり(S324)、原稿画像編集処理が実行される(S326)。
上述した原稿画像データ60についての原稿画像編集処理と同様に、図5のS500において、OCRによりテンプレートデータが解析され、配置順序「4」の配置領域972に文字列はないので(S500:NO)、ステップ処理はS506へ移行される。
本実施形態において、配置領域972の配置領域サイズは読取順序「4」の原稿画像データ66の原稿画像サイズより小さいので(S506:NO、S510:NO)、配置領域972の配置領域サイズと読取順序「4」の原稿画像データ66の原稿画像サイズが等しくない旨が表示部20に表示される(S508)。
S512において、ユーザによる操作部21からの縮小指示が受け付けられたので(S512:YES)、配置領域972の配置領域サイズに合わせて原稿画像データ66が縮小され(S514)、原稿画像データ66における原稿画像編集処理が終了される。
図3に示す画像合成処理に戻り、S328において、編集された読取順序「4」の原稿画像データ66が、配置順序「4」の配置領域972に配置され、合成される。原稿画像データ64が合成されたテンプレートデータ90はRAM17に記憶され、原稿画像データ64が合成される前にRAM17に記憶されていたテンプレートデータ90は消去される。そして、ステップ処理は、S320へ移行される。
S320において、カウンタAの値「4」が原稿画像数「4」と等しいので(S320:YES)、S328で合成されたテンプレートデータ90である合成画像データ110(図10参照)がRAM17から読み出され、印刷部19で記録用紙に印刷される(S322)。図10において、合成された原稿画像データに記された右斜線は、その原稿画像データがモノクロ画像データであることを示す。また、図10に示す合成画像データ110において、右斜線が記されていない原稿画像データは、その原稿画像データがカラー画像データであることを示す。
以上説明したように、本実施形態によれば、原稿画像データ60〜66が配置される配置領域が複数規定されたテンプレートデータ70、90から抽出された各配置領域75〜77、95〜97について、各配置領域と配置順序情報とが関連付けて記憶され(図4に示すS414、S424、S444、S450参照)、各原稿画像データ60〜66と読取順序情報とが関連付けて記憶される(図3に示すS310参照)。また、読取順序情報と一致する配置順序情報の各配置領域に、当該読取順序情報の原稿画像データがそれぞれ配置された一の合成画像データ80、110が生成される(図8及び図10参照)。これにより、主に、テンプレート原稿及び原稿のセット、画像操作部21における画像合成モードの選択、及び、スタートキーの押下というユーザによる操作だけでユーザ所望の合成画像データ80、110を生成することができる。したがって、複数の原稿画像データ60〜66を一つのデータに挿入して合成された画像データを取得する場合におけるユーザの作業負担を低減することができ、すなわち、利便性を高めることが可能となる。
図2に示すような複数種類の重複領域の形状と、複数種類の重複領域各々について、当該重複領域に配置される原稿画像データ数と、当該重複領域における複数の原稿画像データの配置場所及び配置順序を示す重複順序情報とが関連付けて重複領域メモリ15に記憶される。また、重複領域の形状に基づいて、テンプレートデータ70、90から抽出された配置領域が重複領域であると判断された場合(図4に示すS412:YES、S442:YES)、原稿画像データ数分の配置順序情報が、重複順序情報に基づいて、当該重複領域における原稿画像データの配置場所と関連付けて記憶される(図4に示すS420、S450参照)。これにより、図7及び図9に示すテンプレートデータ70、90のように、配置領域として重複領域が抽出された場合であっても、ユーザの作業負担を低減しつつ、ユーザ所望の態様で合成された合成画像データを生成することができる。
編集文字列メモリ16に文字列と編集内容とが関連付けて記憶され、配置領域内に記憶された文字列78、98がある場合(図5に示すS500:YES)、その配置領域に対応する原稿画像データが文字列78、98に関連付けられた編集内容に基づいて編集される(図5に示すS504参照)。これにより、原稿画像データごとにユーザによる編集作業を行うことなく、ユーザ所望の態様で合成された合成画像データ80、110を生成することができ、ユーザの作業負担をさらに低減することができる。
各配置領域の配置領域サイズと、当該配置領域サイズの配置領域に配置される原稿画像データの原稿画像サイズとが一致しない場合、当該配置領域サイズと等しくなるように当該原稿画像データが編集される(図5に示すS512〜S522参照)。これにより、ユーザに見栄えの良い良好な合成画像データ80、110を生成することができる。
テンプレートデータ70の左上隅部がテンプレート原点700とされて、テンプレート原点700から各配置領域の左上隅部の領域基準座標710〜730までの最短距離である原点距離D1〜D3が算出される(図4に示すS404参照)。算出された原点距離D1〜D3に基づいて、配置順序情報が各配置領域と関連付けて記憶される。これにより、ユーザによる各配置領域と関連付けて記憶される配置順序情報の認識が容易となり、確実にユーザ所望の態様で合成された合成画像データ80を生成することができる。
テンプレートデータ90の長手方向(図9に示すY軸方向)全域にわたって、所定幅の空白領域または境界線が検出される(図4に示すS400参照)。そして、空白領域または境界線を境界として分割された各分割領域902、904において、各分割領域902、904の左上隅部が分割原点906、908とされる。分割原点906、908から配置領域95〜97の左上隅部の領域基準座標910〜930までの最短距離である分割原点距離D4〜D6に基づいて、配置順序情報が各配置領域に関連付けて記憶される(図4参照)。これにより、例えば図9に示すテンプレートデータ90のような、所定の方向に分割された形式のテンプレートデータの場合であっても、ユーザによる各配置領域と関連付けて記憶される配置順序情報の認識が容易となり、さらに確実にユーザ所望の態様で合成された合成画像データ110を生成することができる。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の態様を採ることができる。
本実施形態は、プリンタ10のCPU12により画像合成処理(図3参照)、配置順序記憶処理(図4参照)、及び、原稿画像編集処理(図5参照)が実行されていたが、コンピュータ30のCPU32により実行されてもよい。画像合成処理、配置順序記憶処理、及び、原稿画像編集処理がコンピュータ30のCPU32により実行される場合、図3に示すS300及びS306におけるテンプレート原稿及び原稿が読み取られる処理は、プリンタ10のスキャナ部18で読み取られたデータがCPU32によりネットワークI/F22、42を介して取得される処理に置換される。係る場合、S322における印刷処理は、コンピュータ30のCPU32により実行されるプリンタ10に対する印刷指示である。
本実施形態では、図3に示すS300において、スキャナ部18の原稿台に載置されたテンプレート原稿が読み取られて生成されたテンプレートデータが使用されていたが、例えば、予めスキャナ部18で読み取られたテンプレートデータや、コンピュータ30で作成されたテンプレートデータであってもよい。
本実施形態では、図3に示すS302でテンプレートデータにおける直交座標系に従って、領域境界が検出され、配置領域の位置が特定されていた。しかしながら、例えば、予め記憶されていたテンプレートデータの場合は、以前に当該テンプレートデータにおける画像合成処理が実行されたときに取得された配置領域の情報が当該テンプレートデータに関連付けて記憶されていれば、S302の処理を行わずにS304以降の処理が実行されてもよい。また、例えば、コンピュータ30で作成されたテンプレートデータの場合、当該テンプレートデータに配置領域の情報が記憶されていれば、S302の処理を行わずにS304以降の処理が実行されてもよい。
本実施形態では、図4に示す配置順序記憶処理において、テンプレートデータまたは分割領域の左上隅部から各配置領域の左上隅部までの最短距離の短い順に、配置領域が順序付けられた番号を配置順序情報としているが、テンプレートデータにおける各配置領域が順序付けされるものであれば、番号に限定されることなく、種々の態様を採ることができる。配置領域の順序付けについては、テンプレートデータまたは分割領域の左上隅部から各配置領域の左上隅部までの最短距離に限定されることなく、テンプレートデータまたは分割領域の一の隅部から各配置領域の一の隅部までの最短距離であれば、種々の態様を採ることができる。また、配置順序情報は最短距離の短い順に配置領域が順序付けられているが、最短距離の長い順に配置領域が順序付けられてもよい。
本実施形態では、図3に示すS310において、ADFに載置された複数枚の原稿が連続して読み取られた順を示す番号を読取順序情報としているが、生成された複数の原稿画像データが順序付けされるものであれば、種々の態様を採ることができる。
本実施形態において、重複領域は、2枚の原稿画像データの一部が重なって配置される配置領域であるとしたが、これに限定されることなく、3枚以上の原稿画像データの一部が重なって配置される配置領域であってもよい。
本実施形態において、テンプレートデータに記される配置領域の形状は、長方形状の図形または重複領域メモリ15に記憶された形状の図形としていたが、円、三角形、多角形等であってもよい。係る場合、円、三角形、多角形等の図形は予めROM13に記憶される。また、係る場合、図5に示すS512〜S522と同様に、原稿画像サイズが円、三角形、多角形等の配置領域サイズに一致するように、原稿画像データが編集される。具体的には、拡大指示または縮小指示が受け付けられた場合は、S514及びS520と同様に、配置領域サイズに合わせて原稿画像データが拡大または縮小される。拡大指示または縮小指示が受け付けられなかった場合は、S516及びS522と同様に、原稿画像データの中心を基準として、配置領域サイズと一致するように、原稿画像データの端部が切り取られる、または、原稿画像データの端部に余白が付与される。
本実施形態では、図4のS400において、テンプレートデータの長手方向(図9に示すY軸方向)全域にわたる所定幅の空白領域または境界線が境界とされているが、例えば、図9に示すテンプレートデータ90において、X軸方向全域にわたる所定幅の空白領域または境界線であってもよい。また、テンプレートデータの対角方向全域にわたる所定幅の空白領域または境界線であってもよい。
本実施形態では、図3に示すS302において、テンプレート原稿が読み取られて生成されたテンプレートデータが解析されることにより、配置領域が抽出されているが、テンプレート原稿が読み取られながら解析されてもよい。
本実施形態では、図3に示すS322において、合成画像データ80、110の印刷処理が実行されているが、例えば、合成画像データ80、110は印刷されずにネットワークI/F22、42を介してコンピュータ30へ送信されてもよい。
なお、図3のフローチャートにおいて、S300は本発明のテンプレート取得手段、S302は本発明の領域抽出手段及び領域位置特定手段、S304は本発明の配置順序記憶手段、S306は本発明の読取手段、S308は本発明の画像生成手段、S310は本発明の読取順序記憶手段、S328は本発明の原稿画像特定手段及び合成手段に相当する。
図4のフローチャートにおいて、S400は本発明の境界検出手段、S412及びS442は本発明の重複領域判断手段に相当する。
図5のフローチャートにおいて、S500は本発明の文字列判断手段、S504、S514、S516、S520、及び、S522は本発明の編集手段、S506及びS510は本発明のサイズ判断手段に相当する。