A.第1実施例:
図1は、本発明の一実施例としての画像処理システムを示す説明図である。この画像処理システム1000は、ネットワーク900と、ネットワーク900に接続された複合機100と、ネットワーク900に接続されたサーバ400と、を有している。画像処理システム1000は、挨拶状(例えば、いわゆる年賀状)の宛先面の印刷を行う。
複合機100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、表示部140と、操作部150と、通信インタフェース160と、スキャナ170と、プリンタ180と、を有している。
プロセッサ110は、データ処理を行う装置であり、例えば、いわゆるCPUである。揮発性記憶装置120は、例えば、いわゆるDRAMであり、不揮発性記憶装置130は、例えば、いわゆるフラッシュメモリである。不揮発性記憶装置130は、プロセッサ110によって実行されるプログラム132を、格納している。プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する。本実施例では、プロセッサ110は、データ送信部210と、データ受信部220と、スキャナ制御部230と、プリンタ制御部240と、処理制御部250と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ110は、プログラム(例えば、プログラム132)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、または、不揮発性記憶装置130)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け入れる装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、画像処理の指示等の種々の指示を入力可能である。通信インタフェース160は、ネットワークに接続するためのインタフェースであり、例えば、IEEE802.11a/b/g/nの規格に従った無線インタフェースである。通信インタフェース160は、ネットワーク900に接続されている。
スキャナ170は、文書などの対象物を光学的に読み取ることによって対象物を表す画像データ(「スキャンデータ」とも呼ぶ)を生成する装置である。本実施例では、スキャナ170は、光電変換素子(例えば、CCDイメージセンサ)を用いてスキャンデータを生成する。プリンタ180は、印刷媒体(例えば、紙)上に画像を印刷する装置である。本実施例では、プリンタ180は、シアンCとマゼンタMとイエロYとブラックKのそれぞれのインクを用いるインクジェット式のプリンタである。ただし、プリンタ180としては、他の方式のプリンタ(例えば、レーザ式プリンタ)を採用可能である。
サーバ400は、プロセッサ410と、揮発性記憶装置420と、不揮発性記憶装置430と、通信インタフェース460と、を有している。プロセッサ410は、データ処理を行う装置であり、例えば、いわゆるCPUである。揮発性記憶装置420は、例えば、いわゆるDRAMであり、不揮発性記憶装置430は、例えば、いわゆるハードディスクドライブである。不揮発性記憶装置430は、プロセッサ410によって実行されるプログラム432を、格納している。プロセッサ410は、プログラム432を実行することによって、種々の機能を実現する。本実施例では、プロセッサ410は、データ取得部510と、抽出部520と、出力データ生成部530と、データ送信部540と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ410は、プログラム(例えば、プログラム432)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置420、または、不揮発性記憶装置430)に、一時的に格納する。
通信インタフェース460は、ネットワークに接続するためのインタフェースであり、例えば、IEEE802.3の規格に従った有線インタフェースである。通信インタフェース460は、ネットワーク900に接続されている。
図2、図3は、画像処理システム1000によって実行される画像処理のフローチャートである。図3は、図2の続きを示している。この画像処理では、挨拶状の宛先面に、差出人の情報と宛先(すなわち、受取人)の情報とが印刷される。本実施例では、挨拶状として、年賀状が用いられる。差出人と受取人とのそれぞれの情報としては、名前と住所と郵便番号とが印刷される。以下、図2、図3の画像処理を「情報出力処理」とも呼ぶ。図中では、複合機100における処理が左側に示され、サーバ400における処理が右側に示されている。最初のステップS100では、ユーザは、情報出力処理の実行のために、記入済の差出人シートと宛先シートとを、スキャナ170にセットする。本実施例では、スキャナ170は、ユーザによってセットされた複数枚のシートを、モータの動力を用いて一枚ずつ自動的に搬送する機構(ADF(Auto Document Feeder)と呼ばれる)を有している。ユーザは、ADFにシートをセットする。ただし、ADFが省略され、ユーザが、手作業で、シートを1枚ずつスキャナ170に供給することとしてもよい。
図4は、差出人シートSAの説明図である。図4(A)は、差出人に関する情報が記入される前の差出人シートSAの説明図であり、図4(B)は、差出人に関する情報が記入された差出人シートSAの説明図である。図4(A)に示すように、差出人シートSAは、差出人の情報を記入するための差出人記入欄FAを、有している。差出人記入欄FAは、人名を記入するための人名欄FAnと、住所を記入するための住所欄FAaと、郵便番号を記入するための郵便番号欄FApと、を有している。これらの欄FAn、FAa、FApは、罫線によって表されている。図4(B)に示すように、ユーザは、人名欄FAnには、差出人の名前を記入し、住所欄FAaには、差出人の住所を記入し、郵便番号欄FApには、差出人の郵便番号を記入する。
差出人シートSAには、3つのマークMKが示されている。マークMKは、所定形状のマーク(本実施例では、黒丸)である。差出人シートSA上では、3つのマークMKは、右上の隅と、右下の隅と、左下の隅とに、配置されている。3つのマークMKのこの配置は、差出人シートSAを、後述する宛先シートSBと区別するために、用いられる。以下、3つのマークMKのこの配置を、「第1配置」あるいは「第1態様」と呼ぶ。
図5は、宛先シートSBの説明図である。図5(A)は、受取人に関する情報が記入される前の宛先シートSBの説明図であり、図5(B)は、受取人に関する情報が記入された宛先シートSBの説明図である。図5(A)に示すように、宛先シートSBは、宛先(すなわち、受取人)の情報を記入するための3つの受取人記入欄FB1〜FB3と、受取人記入欄FB1〜FB3に記入された情報を用いるか否かをそれぞれ示す使用欄FB1c〜FB3cとを、有している。受取人記入欄FB1〜FB3は、人名を記入するための人名欄FB1n〜FB3nと、住所を記入するための住所欄FB1a〜FB3aと、郵便番号を記入するための郵便番号欄FB1p〜FB3pを、有している。これらの欄FB1n〜FB3n、FB1a〜FB3a、FB1p〜FB3pは、罫線によって表されている。図5(B)に示すように、ユーザは、3つの受取人記入欄FB1〜FB3に、互いに異なる3つの受取人に関する情報を、それぞれ、記入可能である。
また、本実施例では、使用欄FB1c〜FB3cは、いわゆるチェックボックスである。本実施例では、ユーザは、使用欄FB1c〜FB3cにチェックマークを記入することによって、対応する受取人記入欄の情報が情報出力処理に使用されることを避けることができる(すなわち、受取人記入欄の情報を印刷に用いないことを選択することができる)。例えば、記入された人名が、誤記を含む場合に、ユーザは、対応する使用欄に、チェックマークを記入すればよい。これにより、誤記を含む情報が情報出力処理に利用されることを回避できる。なお、チェックマークが記入される受取人記入欄の情報が情報出力処理に使用され、チェックマークが記入されない受取人記入欄の情報が情報出力処理に使用されない態様を採用してもよい。
以下、個々の受取人記入欄を区別する必要のない場合には、受取人記入欄を「受取人記入欄FB」とも呼び、人名欄を「人名欄FBn」とも呼び、住所欄を「住所欄FBa」とも呼び、郵便番号欄を「郵便番号欄FBp」とも呼び、使用欄を「使用欄FBc」とも呼ぶ。
宛先シートSBには、3つのマークMKが示されている。このマークMKの形状は、差出人シートSA上のマークMKの形状と、同じである。宛先シートSB上では、3つのマークMKは、左上の隅と、右下の隅と、左下の隅とに、配置されている。3つのマークMKのこの配置は、上述の差出人シートSAの第1配置とは非相似である。従って、3つのマークMKの配置を特定することによって、2種類のシートSA、SBを、区別可能である。以下、宛先シートSB上の3つのマークMKの配置を、「第2配置」あるいは「第2態様」と呼ぶ。
各シートSA、SBは、予め準備された専用のシートである。この代わりに、プリンタ制御部240が、ユーザの指示に応じて、各シートSA、SBを印刷してもよい。いずれの場合も、ユーザは、情報出力処理のために、各シートSA、SBに、所定の色(本実施例では、黒色)の筆記用具を用いて、差出人の情報と、受取人の情報とを、手書きで記入する。なお、本実施例では、挨拶状のサイズは、例えば、葉書サイズであり、各シートSA、SBのサイズは、挨拶状よりも大きい所定サイズ(例えば、いわゆる「A4サイズ」)である。
後述するように、各シートSA、SBに記入された情報を表す画像は、スキャナ170によって読み取られて、挨拶状の宛先面に印刷される。差出人記入欄FAに記入された情報は、複数の挨拶状に、共通に利用される。複数の受取人記入欄FBに記入された情報は、複数の挨拶状に、個別に用いられる。宛先シートSBの総数は、1枚に限らず、2枚以上であってもよい。以下、差出人シートSAの数が、1枚であり、差出人シートSAと宛先シートSBとの総数が、M枚(Mは2以上の整数)であることとする。
図2の次のステップS110では、ユーザは、複合機100の操作部150を操作して、情報出力処理の開始指示を入力する。この指示に応じて、複合機100のプロセッサ110は、情報出力処理を開始する。
次のステップS120では、複合機100のスキャナ制御部230は、スキャナ170を制御することによって、スキャナ170にセットされた複数枚のシートのそれぞれをスキャンし、各シートを表す入力データを生成する。入力データは、図4(B)、図5(B)で説明した記入済の差出人シートSAと記入済の宛先シートSBとを表している。以下、入力データによって表される画像を「入力画像」とも呼ぶ。入力データは、スキャナ170によって読み取られたM枚のシートをそれぞれ表すM個の入力画像を、表している。入力データの形式としては、例えば、M個の入力画像をそれぞれ表すM個のJPEGデータを含む形式が、採用される。次のステップS130では、データ送信部210は、入力データをサーバ400に送信する。
次のステップS200では、サーバ400のデータ取得部510は、入力データを取得する。次のステップS210では、抽出部520は、入力データによって表されるM枚の入力画像のうちの未処理の1枚の入力画像を処理対象の入力画像として選択する(「対象入力画像」と呼ぶ)。そして、抽出部520は、対象入力画像を解析することによって、対象入力画像によって表されるシートの種類を特定する。具体的には、抽出部520は、対象入力画像からマークMKを検出し、検出されたマークMKの配置を特定することによって、シートの種類を特定する。
次のステップS220では、抽出部520は、特定されたシートの種類に応じて、処理を分岐する。シートの種類が宛先シートである場合、抽出部520は、ステップS230で、宛先シートの解析処理を実行する(詳細は後述)。シートの種類が差出人シートである場合、抽出部520は、ステップS240で、差出人シートの解析処理を実行する(詳細は後述)。各ステップS230、S240の完了に応じて、次のステップS250では、抽出部520は、未処理の入力画像が残っているか否かを判定する。未処理の入力画像が残っている場合(S250:Yes)、抽出部520は、ステップS210に戻る。そして、抽出部520は、全ての入力画像のそれぞれについて、宛先シートの解析処理(S230)と差出人シートの解析処理(S240)とのいずれかを実行する。全ての入力画像の処理が終了した場合(S250:NO)、処理は、ステップS260に移行する。
図6は、宛先シートSBの解析処理(図2:S230)のフローチャートである。図7は、差出人シートSAの解析処理(図2:S240)のフローチャートである。図8〜図11は、それぞれ、情報出力処理の例を示す概略図である。以下、図8〜図11を参照しつつ、図6の処理と図7の処理とについて説明する。
図6の解析処理では、抽出部520は、宛先シートSB(図5)を表す対象入力画像から、処理候補の受取人記入欄FBを表す領域を、抽出する。ここで、処理候補は、印刷データの生成に利用される領域の候補である。まず、ステップS500で、抽出部520は、対象入力画像の角度補正を行う。具体的には、抽出部520は、対象入力画像から3つのマークMKを検出し、検出された3つのマークMKの位置関係に応じて、対象入力画像を正立させるための回転角度を算出し、算出された角度に従って対象入力画像を回転させることによって、対象入力画像を正立させる。以下、正立した入力画像を、「正立入力画像」とも呼ぶ。ステップS500では、抽出部520は、正立入力画像を表す画像データを生成する。
次のステップS510では、抽出部520は、正立入力画像中の使用欄FBcを表す領域を解析することにより、チェックマークを検出する。正立入力画像中の使用欄FBcの位置は、3つのマークMKに対する使用欄FBcの相対的な位置に基づいて、特定される。次のステップS520では、抽出部520は、正立入力画像中の全ての使用欄FBcにチェックマークが記入されている、という条件が満たされるか否かを判定する。全ての使用欄FBcにチェックマークが記入されている場合(S520:Yes)、抽出すべき対象となる領域が存在しないので、抽出部520は、図6の処理を終了する。
少なくとも1つの使用欄FBcで、チェックマークが記入されていない場合(S520:No)、抽出部520は、次のステップS530で、正立入力画像から、チェックマークの無い使用欄FBcに対応付けられた受取人記入欄FBを表す領域を、処理候補として抽出する。具体的には、抽出部520は、人名欄FBnを表す領域と、住所欄FBaを表す領域と、郵便番号欄FBpを表す領域とを、処理候補として抽出する。正立入力画像中の受取人記入欄FBの位置(すなわち、各欄FBn、FBa、FBpのそれぞれの位置)は、3つのマークMKに対する相対的な位置に基づいて、特定可能である。
図8の下部には、記入済の宛先シートSBの例が示されている。図8の例では、全ての使用欄FB1c〜FB3cが空欄である。従って、抽出部520は、3つの受取人記入欄FB1〜FB3を表す領域、すなわち、人名欄FB1n〜FB3nを表す領域と、住所欄FB1a〜FB3aを表す領域と、郵便番号欄FB1p〜FB3pを表す領域とを、処理候補として抽出する。
図9の下部には、記入済の宛先シートSBの別の例が示されている。図9の例では、第1の受取人記入欄FB1の使用欄FB1cにチェックマークが記入されている。従って、受取人記入欄FB1を表す領域は抽出されずに、チェックマークのない受取人記入欄FB2、FB3を表す領域(すなわち、人名欄FB2n、FB3nを表す領域と、住所欄FB2a、FB3aを表す領域と、郵便番号欄FB2p、FB3pを表す領域)が、処理候補として抽出される。
図6の次のステップS540では、抽出部520は、抽出した受取人記入欄FBを表す領域を解析することによって、情報が記入されずに空欄である受取人記入欄を表す領域を検出し、次のステップS550では、抽出部520は、空欄である受取人記入欄を表す領域を、処理候補から削除する。
図10の下部には、記入済の宛先シートSBの別の例が示されている。図10の例では、3つの使用欄FB1c〜FB3cのいずれにもチェックマークは記入されていないものの、第2の受取人記入欄FB2が空欄である。この場合、抽出部520は、ステップS530で、一旦は、第2の受取人記入欄FB2を表す領域を、処理候補として抽出するが、ステップS550で、第2の受取人記入欄FB2を表す領域を、処理候補から削除する。
図11の下部には、記入済の宛先シートSBの別の例が示されている。図11の例では、3つの使用欄FB1c〜FB3cのいずれにもチェックマークは記入されていないものの、全ての受取人記入欄FB1〜FB3が空欄である。この場合、抽出部520は、ステップS530で、一旦は、受取人記入欄FB1〜FB3を表す領域を、処理候補として抽出するが、ステップS550で、受取人記入欄FB1〜FB3を表す領域を、処理候補から削除する。
図6のステップS550の処理が終了したことに応じて、抽出部520は、図6の処理を終了する。
図7の解析処理では、抽出部520は、差出人シートSA(図4)を表す対象入力画像から、処理候補の差出人記入欄FAを表す領域を、抽出する。まず、ステップS600で、抽出部520は、対象入力画像の角度補正を行う。この処理は、図6のステップS500と同じである。
次のステップS610では、抽出部520は、正立入力画像中の差出人記入欄FAを表す領域を、処理候補として抽出する。具体的には、抽出部520は、人名欄FAnを表す領域と、住所欄FAaを表す領域と、郵便番号欄FApを表す領域とを、処理候補として抽出する。正立入力画像中の差出人記入欄FA(すなわち、各欄FAn、FAa、FAp)の位置は、3つのマークMKに対する相対的な位置に基づいて、特定可能である。
図8〜図11の上部には、記入済の差出人シートSAの例が示されている。この差出人シートSAの例は、図8〜図11の間で同じである。図8〜図11のそれぞれの例において、差出人記入欄FAを表す領域、すなわち、人名欄FAnを表す領域と、住所欄FAaを表す領域と、郵便番号欄FApを表す領域とが、処理候補として抽出される。
図7の次のステップS620では、抽出部520は、抽出した差出人記入欄FAを表す領域を解析することによって、抽出した領域が、情報が記入されていない空欄であるか否かを判定する。抽出した領域が空欄である場合(S620:Yes)、次のステップS640で、抽出部520は、抽出した差出人記入欄FAを表す領域を、処理候補から削除して、図7の処理を終了する。抽出した領域が空欄ではない場合(S620:No)、次のステップS630で、抽出部520は、抽出した差出人記入欄FAを表す領域を、処理候補として保持し、図7の処理を終了する。図8〜図11の例では、差出人記入欄FAに情報が記入されているので、ステップS620の判定結果は、Noである。
全ての入力画像の処理が終了した場合(図2:S250:NO)、次のステップS260では、出力データ生成部530は、宛先(すなわち、受取人)の数と、差出人の数と、を特定する。受取人の数としては、処理候補として抽出された受取人記入欄FBの数が利用され、差出人の数としては、処理候補として抽出された差出人記入欄FAの数が利用される。次のステップS265では、出力データ生成部530は、受取人の数と差出人の数とが、情報出力処理を実行するための所定の実行条件を満たすか否かを判定する。本実施例では、実行条件は、差出人の数が「1」であることである。受取人の数は、ゼロ以上の任意の数であってよい。以下、受取人の数がN個(Nは、ゼロ以上の整数)であることとして、説明を行う。
実行条件が満たされない場合(S265:No)、次のステップS270で、出力データ生成部530は、複合機100にエラーを通知する。複合機100の処理制御部250は、エラー通知を受信したことに応じて、表示部140にエラーメッセージを表示し(ステップS280)、図2の処理を終了する。エラーメッセージを観察したユーザは、改めて、差出人シートSAと宛先シートSBとを準備することによって、情報出力処理の開始を指示可能である。
実行条件が満たされる場合(S265:Yes)、図3の次のステップS300で、出力データ生成部530は、抽出部520によって抽出された処理候補の領域を用いて、N枚の出力画像をそれぞれ表すN個の出力データを生成する。
図8〜図11の中央部には、出力データによって表される出力画像の例が示されている(例えば、出力画像OI1〜OI3)。出力データによって表される出力画像の数は、受取人の数と同じN枚である。N枚の出力画像のそれぞれは、挨拶状の宛先面を表す画像であり、差出人の情報を表す差出人領域LAn、LAa、LApと、受取人の情報を表す受取人領域LBn、LBa、LBpと、を有している。差出人領域LAn、LAa、LApは、出力画像内の所定の位置に配置されている。受取人領域LBn、LBa、LBpは、出力画像内の、上記差出人領域LAn、LAa、LApとは別の所定の位置に配置されている。
なお、図中では、各領域LAn、LAa、LAp、LBn、LBa、LBpの枠線が示されているが、この枠線は、各領域LAn、LAa、LAp、LBn、LBa、LBpを示すために図示されている。出力画像は、これらの枠線を含んでいない。
差出人の情報は、N枚の出力画像の間で、共通である。出力データ生成部530は、差出人の情報を表す領域LAn、LAa、LApに、処理候補として抽出された差出人記入欄FAの各欄FAn、FAa、FApを表す領域の画像FAni、FAai、FApiを、それぞれ割り付ける。例えば、図8の出力画像OI1に示すように、人名領域LAnには、人名欄FAnを表す領域の画像FAniが割り付けられ、住所領域LAaには、住所欄FAaを表す領域の画像FAaiが割り付けられ、郵便番号領域LApには、郵便番号欄FApを表す領域の画像FApiが割り付けられる。各画像FAni、FAai、FApiは、差出人シートSAに記入された文字を表している。従って、N枚の出力画像のそれぞれは、差出人シートSAに記入された差出人の情報を表している。以下、入力画像中の差出人記入欄FA(すなわち、欄FAn、FAa、FAp)を表す領域を、「共通領域AA」とも呼ぶ。
なお、図8〜図11では、各種シートSA、SBに含まれる領域を表す画像を示す符号として、領域に対応する記入欄の符号の末尾に文字「i」を付加した符号が用いられている。例えば、画像FAniは、人名欄FAnを表す領域の画像を示している。以下、対応する領域(記入欄)の説明を省略して、画像を用いた説明を行う場合がある。
受取人の情報としては、処理候補として抽出されたN個の受取人記入欄FBの情報が、N枚の出力画像に対して、個別に適用される。出力データ生成部530は、受取人の情報を表す領域LBn、LBa、LBpに、処理候補として抽出された受取人記入欄FBの各欄FBn、FBa、FBpを表す領域の画像を、それぞれ割り付ける。例えば、図8の第1の出力画像OI1には、第1の受取人記入欄FB1の画像が割り付けられている。具体的には、人名領域LBnには、人名欄FB1nを表す領域の画像FB1niが割り付けられ、住所領域LBaには、住所欄FB1aを表す領域の画像FB1aiが割り付けられ、郵便番号領域LBpには、郵便番号欄FB1pを表す領域の画像FB1piが割り付けられている。他の出力画像には、他の受取人記入欄FBの画像が、割り付けられている。例えば、第2の出力画像OI2の領域LBn、LBa、LBpには、第2の受取人記入欄FB2から得られる画像FB2ni、FB2ai、FB2piが、割り付けられている。以下、入力画像中の受取人記入欄FB(すなわち、欄FBn、FBa、FBp)を表す領域を、「個別領域AB」とも呼ぶ。
図9〜図11の例においても、同様に、出力データ生成部530は、出力画像を表す出力データを生成する。例えば、図9の例では、抽出されなかった第1の受取人記入欄FB1は用いられずに、抽出された受取人記入欄FB2、FB3に応じて、出力画像OI2、OI3を表す出力データが生成される。図10の例では、処理候補から削除された受取人記入欄FB2は用いられずに、抽出された受取人記入欄FB1、FB3に応じて、出力画像OI1、OI3を表す出力データが生成される。図11の例では、処理候補として残った受取人記入欄FBの数、すなわち、受取人の数がゼロである。この場合、出力データ生成部530は、出力データの生成をキャンセルせずに、受取人の情報が省略されて差出人の情報を表す1枚の出力画像OI11を表す出力データを生成する。
なお、出力データの形式としては、例えば、出力画像を表すJPEGデータを含む形式が、採用される。また、出力データは、印刷媒体のサイズとして、挨拶状のサイズ(ここでは、葉書サイズ)を指定するデータを含んでいる。
出力データの生成が完了した場合、図3の次のステップS310で、出力データ生成部530は、複合機100に、試し印刷の要否を問い合わせる。試し印刷とは、挨拶状の用紙に印刷を行う前に、当該挨拶状の用紙と異なる用紙に出力画像を印刷させるものである。複合機100の処理制御部250は、次のステップS320で、ユーザの指示に従って、回答を、サーバ400に送信する。例えば、処理制御部250は、試し印刷の要否を問い合わせるメッセージを表示部140に表示し、操作部150を通じて入力された指示を受け付け、そして、指示に従って回答をサーバ400に送信する。次のステップS330では、サーバ400の出力データ生成部530は、複合機100からの回答が、試し印刷を行うことを示しているか否かを判定する。回答が、試し印刷を行うことを示していない場合(S330:No)、次のステップS390で、データ送信部540は、N個の出力データを複合機100に送信する。複合機100のプリンタ制御部240は、次のステップS400で、受信したN個の出力データを用いて印刷データを生成し、生成した印刷データをプリンタ180に供給する。プリンタ180は、印刷データに従って、N枚の出力画像を印刷する。ユーザは、予め、印刷媒体として、挨拶状(例えば、年賀状)を、プリンタ180にセットする。プリンタ180は、セットされた挨拶状に、出力画像を印刷する。
なお、印刷データの生成方法としては、プリンタ180に適した任意の方法を採用可能である。例えば、プリンタ制御部240は、出力データの色変換を行い、色変換後のデータを用いてハーフトーン処理を行い、ハーフトーン処理の結果に応じて、印刷データを生成する。色変換後のデータは、プリンタ180が利用可能な各色材(例えば、シアンとマゼンタとイエロとブラックの色材)の階調値で色を表すデータである。
複合機100からの回答が、試し印刷を行うことを示している場合(S330:Yes)、次のステップS340で、出力データ生成部530は、出力画像の試し印刷を複合機100に実行させるデータである試行データを生成する。本実施例では、試行データは、N枚の出力画像から選択された1枚の出力画像を表しており、出力データと同じJPEGデータを含んでいる。また、試行データに含まれる印刷媒体のサイズを指定するデータは、葉書サイズよりも大きい所定サイズを指定している。このサイズとしては、印刷用紙として広く普及している普通紙の典型的なサイズ(本実施例では、A4サイズ)が、採用される。次のステップS350では、データ送信部540は、試行データを、複合機100に送信する。複合機100のプリンタ制御部240は、次のステップS360で、受信した試行データを用いて印刷データを生成し、生成した印刷データをプリンタ180に供給する。プリンタ180は、印刷データに従って、試行画像を印刷する。
図12は、試行データによって表される画像である試行画像TIの例を示す概略図である。図12の例では、試行画像TIは、出力画像OI1と、メッセージMSと、を表している。メッセージMSは、試行画像TIの印刷が試し印刷であることを示している。なお、試行画像TIが印刷された場合の試行画像TIに含まれる出力画像OI1のサイズは、出力データに応じて出力画像OI1が挨拶状の用紙上に印刷された場合の出力画像OI1のサイズと、同じである。従って、ユーザは、印刷された試行画像TIを観察することによって、出力画像OI1が適切であるか否かを容易に判断できる。また、試行画像TIは、出力データに基づく印刷に利用される印刷媒体よりも大きい印刷媒体に印刷される。従って、出力画像OI1の周囲には、空白BSが配置される。この結果、出力画像OI1の大きさを小さくせずに、メッセージMSを配置できる。また、ユーザは、空白BSに、出力画像OI1の校正を記入できる。また、試行画像TIの印刷に用いられる印刷媒体のサイズは、印刷用紙として広く普及している普通紙の典型的なサイズ(本実施例では、A4サイズ)に設定されている。従って、試行画像TIの印刷には、高価な挨拶状の代わりに、安価な普通紙を用いることができる。なお、試行画像TIとしては、出力画像と同じ画像に限らず、出力画像に、切手や郵便番号欄等の実際の挨拶状が有する対象物を表す画像を付加して得られる画像を、採用してもよい。また、試行画像TIが印刷された場合の試行画像TIに含まれる出力画像OI1のサイズが、出力データに応じて出力画像OI1が印刷された場合の出力画像OI1のサイズよりも、大きくてもよい。こうすれば、ユーザは、大きく印刷された出力画像OI1を観察することによって、出力画像OI1が適切であるか否かを容易に判断できる。
ユーザは、印刷された試行画像TIの観察結果に応じて、出力画像を挨拶状に印刷するか否かを決定する。そして、図3の次のステップS370では、ユーザは、操作部150を通じて、印刷を行うか否かを表す指示を入力する。処理制御部250は、ユーザの指示に従って、印刷を行うか否かを示す指示を、サーバ400に送信する。次のステップS380では、サーバ400のデータ送信部540は、受信した指示が印刷を行うことを示しているか否かを判定する。指示が印刷を行うことを示す場合(S380:Yes)、次のステップS390で、データ送信部540は、出力データを複合機100に送信し、続くステップS400で、複合機100のプリンタ制御部240は、受信した出力データに応じて出力画像を印刷する。指示が印刷を行うことを示していない場合(S380:No)、データ送信部540は、出力データを複合機100に送信せずに、図2、図3の処理を終了する。
以上のように、本実施例では、受取人の数Nは、2以上であり得る(例えば、図8参照)。そして、抽出部520は、差出人シートSAと宛先シートSBとを読み取ることによって生成された入力データを用いることによって、N枚(Nは2以上の整数)の出力画像に共通な共通領域AA(差出人記入欄FAを表す領域;図4(A))と、N枚の出力画像に個別に利用されるN個の個別領域AB(受取人記入欄FBを表す領域;図5(A))と、を抽出する。そして、出力データ生成部530は、抽出された領域AA、ABを用いることによって、共通領域AAの画像と、個別領域ABの画像と、を有するN枚の出力画像を表すN個の出力データを生成する。このように、差出人シートSAと宛先シートSBとを用いることによって、出力データ生成部530は、容易に、N枚の出力画像を表すN個の出力データを生成できる。
また、図8で説明したように、出力画像は、差出人から宛先(すなわち、受取人)に送信されるべき文書(ここでは、挨拶状)を表している。そして、共通領域AAは、差出人を表す領域(差出人記入欄FAを表す領域)であり、N個の個別領域ABは、それぞれ、宛先を表す領域(受取人記入欄FBを表す領域)である。従って、出力データ生成部530は、共通の差出人と個別の宛先とを表すN枚の出力画像を表すN個の出力データを、容易に生成できる。
また、図4、図5で説明したように、情報出力処理に用いられるM枚のシートは、共通領域AAを表す差出人シートSAと、個別領域ABを表す宛先シートSBと、を含んでいる。入力データは、M枚のシートのそれぞれを表すM枚の入力画像を表している。そして、抽出部520は、差出人シートSAを表す入力画像から共通領域AAを抽出し、宛先シートSBを表す入力画像から個別領域ABを抽出する。このように、情報出力処理には、共通領域AAを表す差出人シートSAと、個別領域ABを表す宛先シートSBとが、利用される。従って、出力データ生成部530は、共通領域AAの画像と個別領域ABの画像とを有するN枚の出力画像を表すN個の出力データを、容易に生成できる。
また、図4、図5で説明したように、差出人シートSAと宛先シートSBとは、互いに異なる態様で表されたマークMKを、それぞれ表している。そして、抽出部520は、マークMKが第1態様を示す入力画像から、共通領域AAを抽出し、マークMKが第2態様を示す入力画像から、個別領域ABを抽出する。このように、抽出部520は、差出人シートSAと宛先シートSBとをマークの態様によって区別できるので、共通領域AAと個別領域ABとを適切に抽出できる。従って、出力データ生成部530は、共通領域AAの画像と個別領域ABの画像とを有するN枚の出力画像を表すN個の出力データを、容易に生成できる。
また、本実施例では、差出人シートSA上の共通領域AA(すなわち、欄FAn、FAa、FAp)の大きさは、印刷された出力画像上の共通領域AAに対応する領域LAn、LAa、LApの大きさよりも、大きい。出力データ生成部530は、共通領域AAの画像を出力画像に割り付ける際に、共通領域AAの画像を縮小する(例えば、80%)。このように、ユーザは、挨拶状に直接に差出人の情報を記入する場合と比べて、差出人シートSA上の大きな差出人記入欄FAに、差出人の情報を大きく記入することができる。従って、ユーザは、差出人の情報を、容易に記入することができる。
同様に、宛先シートSB上の個別領域AB(すなわち、欄FBn、FBa、FBp)の大きさは、印刷された出力画像上の個別領域ABに対応する領域LBn、LBa、LBpの大きさよりも、大きい。出力データ生成部530は、個別領域ABの画像を出力画像に割り付ける際に、個別領域ABの画像を縮小する(例えば、60%)。このように、ユーザは、挨拶状に直接に受取人の情報を記入する場合と比べて、宛先シートSB上の大きな受取人記入欄FBに、受取人の情報を大きく記入することができる。従って、ユーザは、受取人の情報を、容易に記入することができる。
また、出力画像中においては、共通領域AAに対応する領域LAn、LAa、LApの大きさは、個別領域ABに対応する領域LBn、LBa、LBpの大きさよりも小さい。一方、シートSA、SB上においては、すなわち、入力画像中においては、共通領域AA(差出人記入欄FA)の大きさは、個別領域AB(受取人記入欄FB)の大きさと、おおよそ同じである。このように、ユーザは、受取人の情報と比べて小さく記入すべき差出人の情報を、受取人記入欄FBと同程度の大きさの差出人記入欄FAに記入することができる。従って、ユーザは、容易に差出人の情報を記入できる。また、出力データ生成部530は、出力画像中の共通領域AAの画像の大きさに対する個別領域ABの画像の大きさの比率が、入力画像中の共通領域AAの画像の大きさに対する個別領域ABの画像の大きさの比率よりも大きい出力データを、容易に生成できる。
また、図10で説明したように、抽出部520は、空欄ではなく情報が記入された受取人記入欄FBを表す領域を、出力データの生成に用いられる個別領域ABとして抽出する。従って、個別領域ABに対応する領域LBn、LBa、LBpが空欄である出力画像を表す出力データが生成されることを抑制できる。
また、図11で説明したように、全ての受取人記入欄FBが空欄であり、抽出部520が、処理候補の個別領域ABを抽出できない場合には、出力データ生成部530は、個別領域ABの画像を含まずに、共通領域AAの画像を含む出力画像OI11を表す出力データを生成する。従って、ユーザが差出人に関する情報のみを挨拶状の用紙上に印刷させることを所望する場合にも、出力データ生成部530は、空欄である受取人記入欄FBの画像を用いずに、共通領域AAの画像(差出人記入欄FAの画像)を用いた適切な出力データを生成できる。
また、図5で説明したように、宛先シートSBは、受取人記入欄FBの領域を、出力データの生成のための個別領域ABとして用いるべきか否かを示す使用欄FBcを有している。そして、図9で説明したように、抽出部520は、受取人記入欄FBの領域を個別領域ABとして用いるべきであることを示す使用欄FBcに対応付けられた受取人記入欄FBの領域を、個別領域ABとして抽出する。従って、出力データ生成部530は、使用欄FBcに応じて適切な出力画像を表す出力データを生成できる。
なお、シートSA、SB上の記入欄FA、FBを表す罫線は、出力画像中に残らないように、薄い色で表されていることが好ましい。さらに、抽出部520は、罫線を消去する画像処理を実行することが好ましい。例えば、抽出部520は、明るさを調整するガンマ補正を行って、薄い罫線を表す画素の色を、背景と同じ色(例えば、白色)に変更することによって、罫線を消去可能である。また、このガンマ補正では、シートSA、SBに記入された文字が濃くなるように、明るさが調整されることが好ましい。なお、このような画像処理は、入力データに対して実行されてもよく、入力データから抽出された部分データに対して実行されてもよく、出力データに対して実行されてもよい。
B.第2実施例:
図13は、情報出力処理の別の実施例の概略図である。第2実施例では、複数の差出人シートSAを用いることによって、連名の差出人が印刷される。情報出力処理に用いられる画像処理システムの構成は、図1に示す画像処理システム1000の構成と同じである。また、情報出力処理の手順は、図2、図3に示す手順と、おおよそ同じである。
図13には、2枚の差出人シートSA1、SA2が利用される場合が、示されている。第1差出人シートSA1の差出人記入欄FA1、すなわち、人名欄FA1nと住所欄FA1aと郵便番号欄FA1pには、差出人の情報が記入されている。第2差出人シートSA2においては、人名欄FA2nに名前が記入されているが、住所欄FA2aと郵便番号欄FA2pとは、空欄である。抽出部520は、図2のステップS240で、第1差出人シートSA1の差出人記入欄FA1と、第2差出人シートSA2の差出人記入欄FA2とを、処理候補の差出人記入欄として抽出する。差出人の数は「2」である。本実施例では、ステップS265の実行条件は、差出人の数が1以上であることである。受取人の数は、ゼロ以上の任意の数であってよい。出力データ生成部530は、図3のステップS300では、差出人の郵便番号と住所とについては、空欄ではない記入欄FA1a、FA1pの画像FA1ai、FA1piを用いる。出力データ生成部530は、人名を表す画像としては、情報が記入された2つの人名欄FA1n、FA2nのそれぞれの画像FA1ni、FA2niを並べて配置した画像FAcniを、用いる。この画像FAcniは、第1差出人シートSA1に記入された名前と、第2差出人シートSA2に記入された名前とが、並んで配置された画像を表している。
3人以上の名前を差出人として用いる場合も、同様に、処理が行われる。一般に、抽出部520が、K個(Kは2以上の整数)の共通領域AAを抽出した場合には、出力データ生成部530は、K個の共通領域AAのK個の人名欄FAnを表すK個の画像を含む画像を、N枚の出力画像に共通な画像として用いる。図13の例では、2つの画像FA1ni、FA2niを含む画像(画像FAncni、FA1ai、FA1piの全体)が、共通な画像として用いられる。これにより、出力データ生成部530は、K個の人名を共通画像として表す出力データを、容易に生成できる。差出人の数が「1」である場合には、第1実施例と同様に、処理が行われる。
出力データ生成部530は、例えば、以下のように、出力データを生成する。差出人の数がK個(Kは2以上の整数)である場合、すなわち、抽出された共通領域AAの数がK個である場合、出力データ生成部530は、K個の共通領域AAを解析し、K個の共通領域AAが、連名条件を満たすか否かを判定する。連名条件は、連名の差出人を表す出力データを生成するための条件であり、例えば、以下の条件を採用可能である。
連名条件:「人名欄FAnと住所欄FAaと郵便番号欄FApとの全てが空欄ではない共通領域AAの数が1個であり、他のK−1個の共通領域AAのそれぞれの住所欄FAaと郵便番号欄FApとが空欄である」
連名条件が満たされる場合、出力データ生成部530は、出力画像の人名領域LAnに割り付けられる画像(「連名画像」とも呼ぶ)を、例えば、以下のように、生成する。すなわち、出力データ生成部530は、K個の共通領域AAのK個の人名欄FAnのK個の画像(「人名画像」とも呼ぶ)を、所定方向(例えば、左方向)に沿って並べて配置することによって、連名画像を生成する。先頭の人名画像としては、住所欄FAaと郵便番号欄FApとが空欄ではない共通領域AAの人名画像が、採用される。K−1個の人名画像の並び順としては、例えば、入力データにおけるK−1個の共通領域AAの順番(本実施例では、スキャナ170によって読み取られた順番と同じ)と同じ順番を採用可能である。なお、出力データ生成部530は、K個の共通領域AAを表すデータを用いて、連名画像を表す画像データを生成し、生成した画像データを用いて、出力データを生成する。
連名条件が満たされない場合、出力データ生成部530は、複合機100にエラーを通知する。複合機100の処理制御部250は、エラー通知を受信したことに応じて、表示部140にエラーメッセージを表示し、情報出力処理を終了する。
なお、連名条件としては、上記の条件に限らず、抽出された共通領域AAの総数が2以上であることを含む任意の条件を採用可能である。例えば、抽出された共通領域AAの総数が2以上である場合に、連名条件が満たされることとしてもよい。また、連名画像としては、上記の連名画像に限らず、K個の人名画像を含む任意の画像を採用可能である。例えば、出力データ生成部530は、入力データにおけるK個の共通領域AAの順番(本実施例では、スキャナ170によって読み取られた順番と同じ)と同じ順番に、K個の人名画像を所定方向(例えば、左方向)に沿って並べて配置することによって、連名画像を生成してもよい。
なお、図13の実施例では、1枚の差出人シートSA上の差出人記入欄FAの数が「1」であるが、1枚の差出人シートSAに2個以上の差出人記入欄FAが設けられていても良い。
C.変形例:
(1)差出人シートSAと宛先シートSBとのそれぞれの構成としては、図4、図5の構成に限らず、種々の構成を採用可能である。例えば、シートSA、SB上の共通領域AA(すなわち、差出人記入欄FA)の大きさに対する個別領域AB(すなわち、受取人記入欄FB)の大きさの比率が、出力画像中における共通領域AAの画像の大きさに対する個別領域ABの画像の大きさの比率と同じ、あるいは、それ以上であってもよい。いずれの場合も、差出人記入欄FAを構成する複数の記入欄FAn、FAa、FApの間で、差出人シートSA上のサイズに対する、印刷された出力画像中のサイズの比率が、異なっていても良い。同様に、受取人記入欄FBを構成する複数の記入欄FBn、FBa、FBpの間で、宛先シートSB上のサイズに対する、印刷された出力画像中のサイズの比率が、異なっていても良い。
また、差出人シートSAと宛先シートSBとの区別に利用されるマークとしては、シートSA、SBの間で態様が異なる種々のマークを採用可能である。マークの態様としては、図4、図5で説明したようなマークMKの配置に限らず、区別可能な種々の態様を採用可能である。例えば、シートSA、SBの間で形状が異なるマークを採用してもよい。
また、使用欄FBcが省略されてもよい。この場合、抽出部520は、空欄ではない受取人記入欄FBを表す領域を、出力データの生成に用いられる個別領域ABとして抽出すればよい。また、郵便番号欄FAp、FBpが省略されてもよい。この場合、郵便番号を含む住所が、住所欄FAa、FBaに記入されることが好ましい。このように、住所領域LAa、LBaに割り付けられる画像としては、郵便番号の有無に拘わらず、県名、市名、町名、村名、番地、などの区域を特定する情報を表す画像を、採用可能である。
また、差出人記入欄FAと受取人記入欄FBとが1枚のシート上に形成されていてもよい。この場合、抽出部520は、シート上の位置に基づいて、差出人記入欄FAと受取人記入欄FBとを特定可能である。また、シート上に、差出人記入欄FAと受取人記入欄FBとを区別するためのチェックボックスが設けられてもよい。
(2)情報出力処理の手順としては、図2、図3、図6、図7に示す手順に限らず、種々の手順を採用可能である。例えば、図2のステップS265で判定される実行条件は、受取人の数が1以上であることを、含んでも良い。すなわち、受取人の数がゼロである場合には、実行条件が満たされずに(S265:No)、出力データの生成がキャンセルされてもよい(例えば、ステップS270、S280が実行される)。また、図6、図7の手順において、ステップS500、S600を省略してもよい。この場合も、抽出部520は、入力画像中のマークMKの位置に基づいて、各記入欄の位置を特定可能である。ここで、差出人の数がゼロである場合には、出力データ生成部530は、差出人記入欄FAの領域の画像を含まずに、受取人記入欄FBの領域の画像を含む出力画像を表す出力データを、生成してもよい。
また、試し印刷の代わりに、表示確認を行ってもよい。例えば、図3のステップS340では、出力データ生成部530は、1枚の出力画像を表す表示用データ(例えば、JPEGデータ)を生成する。次のステップS350では、データ送信部540は、表示用データを複合機100に送信する。次のステップS360では、処理制御部250は、表示用データを用いて出力画像を表示部140に表示する。次のステップS370では、ユーザは、表示部140に表示された出力画像を観察することによって、印刷を行うか否かを表す指示を入力する。そして、処理制御部250は、ユーザの指示に従って、印刷を行うか否かを示す指示を、サーバ400に送信する。なお、試し印刷や表示確認などの事前の確認を省略してもよい。
(3)情報出力処理によって印刷される文書としては、挨拶状に限らず、種々の文書を採用可能である。例えば、情報出力処理によって、FAXの差出人の情報と受取人の情報とが印刷されてもよい。また、出力データの用途としては、印刷に限らず、種々の用途(例えば、表示)を採用してもよい。一般的には、データ送信部540は、出力データを、画像出力装置(印刷装置または表示装置)に送信すればよい。また、データ送信部540は、画像出力装置に限らず、サーバ400によって通信可能な任意の装置(例えば、ネットワークに接続された記憶装置(NASとも呼ばれる)や、ユーザによって指定された装置(例えば、携帯電話))に、出力データを送信してもよい。また、データ送信部540を省略し、出力データ生成部530は、生成した出力データを、サーバ400の記憶装置(例えば、不揮発性記憶装置430)に格納してもよい。
(4)情報出力処理を実現する画像処理システムの構成としては、図1に示す構成に限らず、種々の構成を採用可能である。例えば、スキャナ170とプリンタ180とが、1つの装置(ここでは複合機100)に組み込まれずに、互いに離れた別の装置として、実現されてもよい。いずれの場合も、データ送信部540は、N個の出力データを、画像出力装置(例えば、印刷装置)に送信すればよい。
また、対象物を光学的に読み取ることによって対象物を表す画像データを生成する画像読み取り装置としては、スキャナ170に限らず、種々の装置を採用可能である。例えば、デジタルカメラを採用してもよい。
(5)画像読み取り装置によって生成された入力データを用いて出力データを生成する画像処理装置としては、サーバ400に限らず、種々の装置を採用可能である。例えば、パーソナルコンピュータ、デジタルカメラ、携帯電話、複合機(例えば、複合機100)が、上述のサーバ400によって実現されている機能を、実現してもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、入力データを用いて出力データを生成する生成処理の機能を一部ずつ分担して、全体として、生成処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。例えば、ユーザインタフェース(ユーザに対する問い合わせとユーザからの指示の受信)を担当する第1サーバと、画像処理(入力データの解析と出力データの生成)を担当する第2サーバとが、協働して、生成処理を進行してもよい。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の抽出部520の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。