以下に、本発明の実施の形態による画像処理装置の一例について図面を参照して説明する。
図1は、本発明の実施の形態による画像処理装置が用いられたネットワーク(画像処理システム)の一例を示す図である。
図示の画像処理装置103は、例えば、マルチファンクションプリンタ(MFP)であり、有線LAN(Local Area Network)によって無線ネットワークルーター(無線アクセスポイント)102に接続されている。さらに、MFP103は公衆電話交換回線網(PSTN)に接続されており、PTSNを介してファックス送信を行う機能を有している。
情報処理装置の一つであるタブレット型端末(クライアント装置)101は、無線ネットワークルーター102を介してMFP103と通信する。つまり、タブレット型端末101と無線ネットワークルーター102は無線LANで接続されている。
なお、タブレット型端末101とMFP103の通信経路は、上述の例に限らない。例えば、タブレット型端末101と無線ネットワークルーター102とを有線LANで接続するようにしてもよい。さらには、MFP103と無線ネットワークルーター102とを無線LANで接続するようにしてもよい。また、タブレット型端末101とMFP103とを同一ネットワークに接続するようにしてもよい。
MFP103は、無線ネットワークルーター102を介して複数の情報処理装置と通信可能である。図示の例では、タブレット型端末101の他に、タブレット型端末104が無線ネットワークルーター102を介してMFP103に接続されている。
図2は、図1に示すMFP103のハードウェア構成の一例を示すブロック図である。
制御部210はCPU211を有しており、MFP103全体の制御を司る。ここでは、CPU211は、ROM212に格納された制御プログラムを読み出して、例えば、読取、印刷、および通信などの各種制御を行う。RAM213は、CPU211の主メモリおよびワークエリアなどの一時記憶領域として用いられる。
なお、図示のMFP103では、1つのCPU211が1つのメモリ(RAM213又はHDD214)を用いて、後述するフローチャートに示す各処理を実行するものとするが、他の態様であってもよい。例えば、複数のCPUおよび複数のRAM又はHDDを協働させて、後述のフローチャートに示す各処理を実行するようにするようにしてもよい。
HDD214には、画像データおよび各種プログラムが格納される。操作部I/F(インタフェース)215は操作部220と制御部210とを接続するためのものである。操作部220には、タッチパネル機能を有する液晶表示部およびキーボードなどが備えられており、ユーザによる操作、入力、および指示を受け付ける受付部として用いられる。
プリンタI/F216は、プリンタ221と制御部210とを接続するためのものである。プリンタ221で印刷すべき画像データはプリンタI/F216を介して制御部210から転送される。そしてプリンタ221は画像データに応じて画像を記録媒体に印刷する。
スキャナI/F217は、スキャナ222と制御部210とを接続するためのものである。スキャナ222は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に送る。
モデムI/F218は、モデム223と制御部210とを接続するためのものである。モデム223はPSTNに接続され、外部装置であるファックス装置(図示せず)に画像データをファックス送信するとともに、ファクス装置から画像データをファクス受信する。
ネットワークI/F219は、制御部210を有線LANに接続する。MFP103は、ネットワークI/F219によって外部装置から画像データおよび各種情報を受信することができ、さらに外部装置に画像データおよび各種情報を送信することができる。
図3は、図1に示すMFP103のソフトウェア構成の一例を示すブロック図である。
図3において、実線で示すブロックは、CPU211がROM212又はHDD214に格納されたプログラムを読み出して実行することによるソフトウェアモジュールである。UI(User Interface)部301は、操作部220を介して各種情報をユーザに提供するとともに、ユーザから各種指示を受け付ける。
Job Controller部302は、コピー、プリント、又はファックスなどのジョブを受け付けて、受け付けたジョブの実行を制御する。Protocol Stack部304は、TCP/IP又はHTTP(Hypertext Transfer Protocol)などの各種ネットワークプロトコルを保持する。
図示の例において、MFP103はタブレット型端末101から送信される画像データを、Protocol Stack部304に保持されたネットワークプロトコルに応じてネットワークI/F219を介して受信する。そして、受信した画像データは、Image File部303によってRAM213又はHDD214に格納される。なお、Image File部303は、RAM213又はHDD214に格納された画像データを管理するソフトウェアモジュールである。
Image File部303は、ネットワークI/F部219を介して受信した画像データのみでなく、スキャナ222による読み取りによって生成された画像データをRAM213又はHDD214に格納する。Scan部306はスキャナ222による画像データの生成を制御する。Fax部305は、モデム223によって行われるファックス通信を制御する。そして、MFP103からファックス送信を行う場合には、Fax部305はImage File部303によって画像データを読み出して送信する。
OS(Operating System)部308は、各ソフトウェアモジュールおよびタスクを調整して、MFP103で動作するソフトウェアモジュールを管理する。OS部308には、Device Driver部307が組み合わされている。Device Driver部307は、スキャナ222およびモデム223などのハードウェアデバイスを制御するためのものである。
図4は、図1に示すタブレット型端末101のハードウェア構成の一例を示すブック図である。なお、ここでは、タブレット型端末104はタブレット型端末101と同様の構成を有している。
制御部410はCPU411を有しており、タブレット型端末101全体の制御を司る。CPU411は、メモリ412に格納された制御プログラムを読み出して各種の制御を行う。また、メモリ412は、CPU411の主メモリおよびワークエリアなどの一時記憶領域としても用いられる。
なお、ここでは、タブレット型端末101は1つのCPU411が1つのメモリ412を用いて各処理を実行するものとするが、他の態様であってもよい。例えば、複数のCPUおよび複数のメモリを協働させて各処理を実行するようにしてもよい。
操作部I/F413は、操作部420と制御部410を接続するためのものである。操作部420には、タッチパネル機能を有する液晶表示部が備えられており、ユーザによる操作、入力、および指示などを受け付ける受付部として用いられる。
ネットワークI/F414は、制御部410を無線LANに接続するためのものである。タブレット型端末101は、ネットワークI/F414によって外部装置に画像データおよび各種の情報を送信する。さらには、タブレット型端末101はネットワークI/F414によって外部装置から各種情報を受信する。
図5は、図1に示すタブレット型端末101に表示されるファックス送信アプリケーションの操作画面の一例を示す図である。なお、タブレット型端末104にも同様の操作画面が表示される。
ファックス送信アプリケーションは、例えば、インターネット上のサーバ(図示せず)からダウンロードしてタブレット型端末101に追加インストールされる。そして、ファックス送信アプリケーションは、図3に示すOS部308で操作されるソフトウェアである。
ファックス送信アプリケーションを用いることによって、MFP103にファックス送信を行わせるための設定をタブレット型端末101で行うことができる。後述するように、タブレット型端末101はファックス送信アプリケーションからの指示に基づいて動作する。
タブレット型端末101でファックス送信アプリケーションを起動すると、CPU410は、図5に示す操作画面を操作部420に表示する。設定欄501は、ファックス送信を実行させるMFPを設定するための欄である。設定欄501にタッチすると、CPU411は自機の周囲に存在するMFPを検索して、検索の結果見つかったMFPが操作部420に一覧表示する。ユーザは、表示されたMFPの一覧からファックス送信を行わせるMFPを選択する。
設定欄502は、ファックス送信の宛先となる電話番号(ファックス番号)を設定するための欄である。ユーザは、操作部420に表示されるソフトキーボードを用いて電話番号を入力する。なお、ユーザはメモリ412に記憶されたアドレス帳を参照して電話番号を選択するようにしてもよい。
設定欄503は、MFP103に備えられたスキャナ222を用いて行うスキャン処理(読取処理)の詳細を設定するための欄である。設定欄503をタッチすると、CPU411は解像度、原稿サイズ、およびカラー/モノクロなどの読取パラメータを指定するための画面を操作部420に表示する。そして、CPU411は当該画面によってユーザから読取パラメータ(つまり、スキャン設定)を受け付ける。
ファックス送信キー504は、MFP103に対してファックス送信の実行を指示するためのキーである。設定欄501~503による設定が済んだ後、ファックス送信キー504が押下されると、CPU411はMFP103との通信を開始する。
図6は、図1に示すタブレット型端末101およびMFP103の処理の一例を説明するためのシーケンス図である。なお、タブレット型端末104においてもタブレット型端末101と同様の処理が行われる。
まず、タブレット型端末101において、CPU411は図5に示す操作画面によってユーザから上述したようにして設定を受け付ける(ステップS601)。そして、CPU411はMFP103にジョブ生成のためのジョブ生成コマンドを送信する(ステップS602)。当該コマンドを受信すると、CPU211はOKレスポンス(第1のOKレスポンス)をタブレット型端末101に送信する(ステップS603)。
OKレスポンスを受けると、CPU411はMFP103にスキャンの実行を指示するスキャンコマンド(処理コマンドの一つ)を送信する(ステップS604)。当該コマンドを受けると、CPU211は、後述する所定の条件を確認した後、OKレスポンス(第2のOKレスポンス)をタブレット型端末101に送信する(ステップS605)。
そして、第2のOKレスポンスを受けると、CPU411はMFP103にジョブ終了のためのジョブ終了コマンドを送信する(ステップS606)。ジョブ終了コマンドを受けると、CPU211はOKレスポンス(第3のOKレスポンス)をタブレット型端末101に送信する(ステップS607)。
MFP103は、ユーザの操作があるまで待機して、ユーザの操作を受け付けると(ステップS608)、CPU211はスキャナ222によって原稿のスキャン処理を行う(ステップS609)。このスキャン処理においては、CPU211は図5に示す設定欄503で設定された設定内容に従ってスキャン処理を行う。
続いて、CPU211はスキャン処理によって得られた画像データをファックス(FAX)送信する(ステップS610)。そして、CPU211は処理を終了する。なお、ファックス送信の宛先は設定欄502で設定された電話番号である。
このようにして、タブレット型端末101で設定された設定内容に従って、MFP103は原稿をスキャン処理して、その結果得られた画像データをファックス送信する。以下、このファックス送信処理を第1の送信処理と呼ぶ。
図7は、図1にタブレット型端末101に表示されるデータ管理アプリケーションの操作画面の一例を示す図である。
タブレット型端末101においては、例えば、メモリ412にネットワーク上からダウンロードした画像データ、そして、タブレット型端末101に備えられたカメラを用いて撮影した画像データが記憶されている。これらの画像データは、タブレット型端末101にインストールされたデータ管理アプリケーションを用いて順次切り替えて表示することができる。図7に示す例では、操作画面にメモリ412に記憶されている画像データの一つが表示されている。
図示の操作画面において、ユーザが操作キー701を押下すると、CPU411は現在表示されている画像データについて行う処理を選択する画面(選択画面)を操作部420に表示する。この選択画面には、メール送信アプリケーションおよび印刷アプリケーションなどの他に、上述のファックス送信アプリケーションが選択候補として表示される。そして、ユーザがファックス送信アプリケーションを選択すると、CPU411は、後述するファックス送信操作画面を操作部420に表示する。
図8は、図1に示すタブレット型端末101に表示されるファックス送信アプリケーションの操作画面の他の例を示す図である。なお、タブレット型端末104にも同様の操作画面が表示される。
図8において、設定欄801および802は、それぞれ図5で説明した設定欄501および502と同様の設定欄である。また、ファックス送信キー803は、図5で説明したファックス送信キー504と同様のキーである。
図8に示す操作画面を図5に示す操作画面と比較すると、図8に示す操作画面においては設定欄503が存在しない。図8に示す操作画面においてファックス送信キー803が押下されると、MFP103は図7に示す操作画面によって選択された画像データをファックス送信する。以下、このファックス送信処理を第2の送信処理と呼ぶ。
図9は、図1に示すMFP103で行われる第2の送信処理を説明するためのシーケンス図である。
まず、タブレット型端末101において、CPU411は、図7に示す操作画面によってユーザから上述したようにして画像データの設定(画像選択)を受け付ける(ステップS901)。そして、CPU411は、図8に示す操作画面によってユーザから上述したようにして設定を受け付ける(ステップS902)。
CPU411はMFP103にジョブ生成のためのジョブ生成コマンドを送信する(ステップS903)。当該コマンドを受信すると、CPU211はOKレスポンス(第1のOKレスポンス)をタブレット型端末101に送信する(ステップS904)。
第1のOKレスポンスを受けると、CPU411はMFP103に画像コマンド(処理コマンドの一つ)を送信する(ステップS905)。この画像コマンドには、MFP103からファックス送信すべき画像データが含まれており、当該画像データは、図7に示す操作画面に表示された画像データである。当該画像コマンドを受けると、CPU211は、OKレスポンス(第4のOKレスポンス)をタブレット型端末101に送信する(ステップS906)。
そして、第4のOKレスポンスを受けると、CPU411はMFP103にジョブ終了のためのジョブ終了コマンドを送信する(ステップS907)。ジョブ終了コマンドを受けると、CPU211はOKレスポンス(第3のOKレスポンス)をタブレット型端末101に送信する(ステップS908)。
MFP103において、CPU211はタブレット型端末101から受信した画像データをファックス送信する(ステップS909)。当該ファックス送信の宛先は設定欄802に設定された電話番号である。そして、CPU211はファックス送信処理を終了する。
図9に示すファックス送信処理、つまり、第2の送信処理では、MFP103においてスキャン処理を行うことがない。このため、第2の送信処理においては、MFP103はユーザによる操作を待つ必要がない。
このように、図9に示すファックス送信処理では、MFP103はタブレット型端末101において設定された設定内容に応じて、タブレット型端末101からMFP103に送信された画像データをファックス送信する(第2の送信処理)。
図10は、図1に示す2つのタブレット型端末101および104による第1の送信処理要求が重なった際の処理を説明するためのシーケンス図である。
まず、タブレット型端末101において、CPU411は図5に示す操作画面によってユーザから送信設定を受け付ける(ステップS1001)。そして、CPU411はMFP103にジョブ生成のためのジョブ生成コマンドを送信する(ステップS1002)。当該コマンドを受信すると、CPU211は、このコマンドが所定の条件を満たすか否かを判定するためのコマンド受信応答処理を行う。
図11は、図1に示すMFP103で行われるコマンド受信応答処理を説明するためのフローチャートである。なお、図11に示すフローチャートに係る処理はCPU211がROM212に記憶された制御プログラムを実行することによって行われる。
コマンド受信応答処理を開始すると、まずCPU211はコマンドを受信する(ステップS1101)。そして、CPU211は当該コマンドがスキャンコマンドであるか否かを判定する(ステップS1102)。ここでは、CPU211はコマンドとしてジョブ生成コマンドを受信したので、つまり、受信コマンドはスキャンコマンドではないと判定して(ステップS1102において、NO)、CPU211は受信コマンドに対応するコマンド処理を行う(ステップS1109)。ここでは、CPU211はジョブ生成コマンドに応じてジョブ生成処理を行うことになる。なお、ジョブ生成処理については本実施の形態と直接関係がないので、説明を省略する。
ジョブ生成処理が終了すると、CPU211はOKレスポンス(第1のOKレスポンス)をタブレット型端末101に送信する(ステップS1110)。つまり、図10に示すステップS1003において、CPU211は第1のOKレスポンスをタブレット型端末101に送信する。そして、CPU211はステップS1101の処理に戻る。
第1のOKレスポンスを受けると、CPU411はMFP103にスキャンの実行を指示するスキャンコマンドを送信する(ステップS1004)。コマンドを受信すると、CPU211は、図11に示すステップS1102において、当該受信コマンドがスキャンコマンドであるか否かを判定する。
受信コマンドはスキャンコマンドであるので(ステップS1102において、YES)、CPU211はスキャナ222が稼働中であるか否かを判定する(ステップS1103)。スキャナ222が稼働中でないと(ステップS1103において、NO)、CPU211はスキャナ222が予約中であるか否かを判定する(ステップS1104)。そして、スキャナ222が予約中でないと(ステップS1104において、NO)、CPU211はスキャンコマンド処理を行う(ステップS1106)。
なお、CPU411がMFP103にスキャンコマンドを送信したタイミングでは、スキャナ222は稼働中でなく、さらに予約中でもないので、CPU211はステップS1106においてスキャンコマンド処理を行うことになる。また、スキャンコマンド処理においては、CPU211は次のようにして問い合わせ処理を行う。
図12は、図1に示すMFP103で行われる問い合わせ処理を説明するためのフローチャートである。なお、図12に示すフローチャートに係る処理はCPU211がROM212に記憶された制御プログラムを実行することによって行われる。
問い合わせ処理を開始すると、CPU211において、UI部301に対して問い合わせ画面を操作部220に表示する要求が行われる。問い合わせ画面の表示要求を受けるとUI部301は操作部220に問い合わせ画面を表示する(ステップS1201)。
図13は、図1に示すMFP103に表示される問い合わせ画面の一例を示す図である。
図示の問い合わせ画面は、MFP103においてコピー又はファックスの操作中であっても、スキャナ222が稼働中でなければ操作部220に表示される。そして、問い合わせ画面には、読込開始(スキャン開始)ボタン1301および1302が表示される。
その後、CPU211は、図11に示すように、スキャナ222を予約状態とする(ステップS1107)。そして、CPU211はOKレスポンス(第2のOKレスポンス)をタブレット型端末101に送信する(ステップS1108)。つまり、図10に示すステップS1005において、CPU211は第2のOKレスポンスをタブレット型端末101に送信して、ステップS1101の処理に戻る。
第2のOKレスポンスを受けると、CPU411はMFP103にジョブ終了のためのジョブ終了コマンドを送信する(ステップS1006)。コマンドを受信すると、CPU211は、図11に示すステップS1102において、当該受信コマンドがスキャンコマンドであるか否かを判定することになる。
ここでは、受信コマンドはスキャンコマンドではないので、CPU211はステップS1109の処理に進み、ジョブ終了処理を行うことになる。そして、CPU211は、図10に示すステップS1007においてOKレスポンス(第3のOKレスポンス)をタブレット型端末101に送信する。
MFP103は、問い合わせ画面においてユーザの操作があるまで待機している。ユーザの操作を受け付けると(ステップS1008)、CPU211は、図12に示すように、スキャナ222によるスキャン(原稿読み取り)を行う操作が行われたか否かを判定する(ステップS1202)。
図13に示す問い合わせ画面において、読取開始ボタン1301が操作されると(ステップS1202において、YES)、CPU211は、図10に示すステップS1009においてスキャナ222によるスキャンを実行する。
ここでは、CPU211は操作部220にスキャン設定画面(図示せず)を表示して、ユーザによるスキャン設定の入力を受け付ける(ステップS1203)。そして、操作部220に備えられたスタートボタン(図示せず)が押下されると、つまり、スキャナ222を稼働する直前に、CPU211はスキャナ222の予約状態を解除する(ステップS1204)。
続いて、CPU211において、Scan部306にスキャンの開始が指示されて、スキャナ222を稼働状態に遷移させる。これによって、スキャナ222が稼働して原稿の読み取りが行われる(ステップS1205)。そして、原稿の読み取りが終了すると、CPU211は問い合わせ処理を終了する。その後、CPU211はタブレット型端末101で設定された設定内容に応じて第1の送信処理を行う(ステップS1010)。
一方、図13に示す問い合わせ画面において、キャンセルボタン1302が操作されると(ステップS1202において、NO)、CPU211はスキャナ222の予約状態を解除する(ステップS1206)。そして、CPU211はジョブの取り消しをJob Controller部302に要求して(ステップS1207)、問い合わせ処理を終了する。
図10に示すように、第3のレスポンスがタブレット型端末101に送信された後において、タブレット型端末104が図5に示す操作画面によって他のユーザから送信設定を受け付けたとする(ステップS1011)。
これによって、タブレット型端末104において、CPU411はMFP103にジョブ生成のためのジョブ生成コマンドを送信する(ステップS1012)。当該コマンドを受信すると、CPU211は、前述のように、このコマンドが所定の条件を満たすか否かを判定するためのコマンド受信応答処理を行うことになる。
ここでは、受信コマンドはスキャンコマンドではないので、前述したように、図11に示すステップS1109およびS1110が行われて、CPU211はタブレット型端末104に第1のOKレスポンスを送信することになる(ステップS1013)。
第1のOKレスポンスを受けると、タブレット型端末104において、CPU411はMFP103にスキャンの実行を指示するスキャンコマンドを送信する(ステップS1014)。コマンドを受信すると、CPU211は、図11に示すステップS1102において、当該受信コマンドがスキャンコマンドであるか否かを判定する。
当該受信コマンドはスキャンコマンドであるので(ステップS1102において、YES)、CPU211は、ステップS1103においてスキャナ222が稼働中であるか否かを判定することになる。
スキャナ222が稼働中でないと、CPU211は、ステップS1104においてスキャナ222が予約中であるか否かを判定することになる。そして、スキャナ222が予約中であると(ステップS1104において、YES)、CPU211は、スキャナ222がビジー(BUSY)状態であることを示すBUSYレスポンス(ビジー信号)をタブレット型端末104に送信する(ステップS1105)。つまり、図10に示すステップS1015において、CPU211はBUSYレスポンスをタブレット型端末104に送信して、ステップS1101の処理に戻る。
なお、ここでは、スキャナ222が稼働中であるか又は予約中である状態を占有状態であるという。スキャナ222が稼働中である場合には(ステップS1103において、YES)、CPU211はステップS1105の処理に進む。
ここでは、タブレット型端末104において、CPU411がMFP103にスキャンコマンドを送信したタイミングでは、スキャナ222は予約状態であるので、CPU211はステップS1105においてBUSYレスポンスをタブレット型端末104に送信することになる。
BUSYレスポンスを受けると、タブレット型端末104において、CPU411は再度スキャンコマンドをMFP103に送信する(ステップS1016)。再度スキャンコマンドを受けても、スキャナ222が稼働中又は予約中であれば、MFP103は再度BUSYレスポンスをタブレット型端末104に送信する(ステップS1017)。このようにして、タブレット型端末104では第2のOKレスポンスを受信するまで、スキャンコマンドの送信をリトライすることになる。
図10に示す例では、前述のように、ステップS1014において、タブレット型端末104からスキャンコマンドがMFP103に送信された場合、スキャナ222は予約状態であるので、MFP103は、ステップS1015においてBUSYレスポンスをタブレット型端末104に送信することになる。
また、ステップS1016において、タブレット型端末104からスキャンコマンドがMFP103に送信されると、スキャナ222はステップS1009において稼働中(スキャン中)であるので、MFP103は、ステップS1017においてBUSYレスポンスをタブレット型端末104に送信することになる。
一方、ステップS1018において、タブレット型端末104からスキャンコマンドがMFP103に送信されると、スキャナ222は稼働中又は予約状態ではない。そして、ステップS1010において、MFP103はFAX送信を行っているので、ここでは、MFP103は、ステップS1019において第2のOKレスポンスをタブレット型端末104に送信することになる。この際には、前述のように、MFP103は操作部220に問い合わせ画面を表示する。
第2のOKレスポンスを受けると、タブレット型端末104において、CPU411はジョブ終了コマンドをMFP103に送信する(ステップS1020)。これによって、CPU211はステップS1109の処理に進み、ジョブ終了処理を行うことになる。そして、CPU211はOKレスポンス(第3のOKレスポンス)をタブレット型端末104に送信する(ステップS1021)。
前述のように、MFP103は、問い合わせ画面においてユーザの操作があるまで待機している。ユーザの操作を受け付けると、CPU211は、図12で説明した問い合わせ処理を行うことになる。
問い合わせ画面において読取開始ボタン1301が操作されると、つまり、ユーザ操作を受け付けると(ステップS1022)、CPU211はステップS1023においてスキャナ222によるスキャンを実行する。その後、CPU211はタブレット型端末104で設定された設定内容に応じて第1の送信処理を行う(ステップS1024)。
このようにして、MFP103は複数のタブレット型端末から第1の送信処理要求を受けた際、スキャナ222が稼働中又は予約状態であると、後でスキャンコマンドを送信したタブレット型端末に対してBUSYレスポンスを送信する。これによって、MFP103は先行するスキャン処理を行った後、後続のスキャンコマンドに対するスキャン処理を行うことになる。
図14は、図1に示す2つのタブレット型端末101および104の一方が第1の送信処理要求を行い他方が第2の送信処理要求を行った際の処理を説明するためのシーケンス図である。
なお、図14に示す例では、タブレット型端末101が第1の送信処理要求を行い、タブレット型端末104が第2の送信処理要求を行ったものとする。また、図14に示すステップS1401~S1410の処理は、図10に示すステップS1001~S1010の処理と同様であるので、ここでは説明を省略する。
タブレット型端末104において、操作部420に表示された操作画面(図7参照)によってユーザは画像を選択する(ステップS1411)。画像選択を受け付けると、CPU411は図8に示す操作画面によってユーザから設定を受け付ける(ステップS1412)。
続いて、タブレット型端末104において、CPU411はFP103にジョブ生成コマンドを送信する(ステップS1413)。当該ジョブ生成コマンドはスキャンコマンドではないので、図11で説明したステップS1109において、CPU211はジョブ生成コマンドに応じてジョブ生成処理を行う。そして、ジョブ生成処理が完了すると、CPU211はタブレット型端末104に第1のOKレスポンスを送信する(ステップS1414)。
タブレット型端末104において第1のOKレスポンスを受けると、CPU411はMFP103に画像コマンドを送信する(ステップS1415)。この画像コマンドには、MFP103からファックス送信すべき画像データが含まれる。なお、当該画像データは、図7に示す操作画面に表示された画像データである。
当該画像コマンドはスキャンコマンドではないので、図11で説明したステップS1109において、CPU211は画像コマンドに含まれる画像データを抽出する。そして、CPU211は当該画像データを図3に示すImage File部303に保存する。つまり、たとえ、スキャナが稼働中であるか又はスキャナ予約中であっても、CPU211は画像コマンドに応じた処理を行うことになる。そして、画像コマンドに応じた処理が完了すると、CPU211はタブレット型端末104に第4のOKレスポンスを送信する(ステップS1416)。
タブレット型端末104において第4のOKレスポンスを受けると、CPU411はMFP103にジョブ終了コマンドを送信する(ステップS1417)。当該ジョブ終了コマンドはスキャンコマンドではないので、図11で説明したステップS1109において、CPU211はジョブ終了コマンドに応じてジョブ終了処理を行う。そして、CPU211はタブレット型端末104に第3のOKレスポンスを送信する(ステップS1418)。その後、MFP103において、CPU211はステップS1410で示すファックス送信が終了した後、タブレット型端末104から受信した画像データをファックス送信する(ステップS1419)。
このようにして、一つのタブレット型端末による第1の送信処理要求と別のタブレット型端末による第2の送信処理要求とが重なったとしても、MFP103は一方の送信処理要求を待ち状態とすることなく、各送信処理要求を受け付ける。そして、MFP103はジョブが終了した送信処理要求から順にファクシミリ送信を行う。
[マージ制御]
図15は、図1にタブレット型端末101に表示されるファックス送信アプリケーション操作画面の一例を示す図である。
図15において、図5に示す操作画面と同一の構成要素については同一の参照番号を付す。図15に示す操作画面では、新たに設定欄1501が追加されている。設定欄1501においては、図7に示す操作画面で選択した画像データのみをファックス送信するか又は図7に示す操作画面で選択した画像データとMFP103によるスキャンで得られた画像データとの双方をファックス送信するかについて設定する。前者の処理は前述の第2の送信処理である。以下後者の処理を第3の送信処理と呼ぶ。
設定欄1501においては、「オン」又は「オフ」を選択可能である。設定欄1501において「オフ」が設定されると、CPU411は第2の送信処理を選択する。一方、設定欄1501において「オン」が設定されると、CPU411は第3の送信処理を選択する。
図16は、図1に示すタブレット型端末101において第3の送信処理が選択された際の処理を説明するためのシーケンス図である。
まず、タブレット型端末101において、CPU411は、図7に示す操作画面によってユーザから画像データの設定(画像選択)を受け付ける(ステップS1601)。そして、CPU411は、図8に示す操作画面によってユーザから設定を受け付ける(ステップS1602)。そして、CPU411はMFP103にジョブ生成コマンドを送信する(ステップS1603)。当該ジョブ生成コマンドを受信すると、CPU211は第1のOKレスポンスをタブレット型端末101に送信する(ステップS1604)。
第1のOKレスポンスを受けると、CPU411はMFP103に、前述の画像コマンドを送信する(ステップS1605)。画像コマンドを受ける、CPU211は第4のOKレスポンスをタブレット型端末101に送信する(ステップS1606)。
続いて、CPU411はMFP103にスキャン実行を指示するスキャンコマンドを送信する(ステップS1607)。このスキャンコマンドを受けると、CPU211は図11で説明したステップS1103およびS1104においてそれぞれスキャナ222が稼働中でないかおよびスキャナ222が予約中でないかを確認する。つまり、CPU211はスキャナ222が使用可能であるかを確認する。
スキャナ222が使用可能であれば、CPU211は第2のOKレスポンスをタブレット型端末101に送信する(ステップS1608)。第2のOKレスポンスを受けると、CPU411はMFP103にジョブ終了コマンドを送信する(ステップS1609)。そして、ジョブ終了コマンドを受けると、CPU211は第3のOKレスポンスをタブレット型端末101に送信する(ステップS1610)。
前述のように、MFP103において、CPU211はユーザ操作があるまで待機する。そして、ユーザ操作を受け付けると(ステップS1611)、CPU211はスキャナ222によって原稿を読み取るスキャン処理を行う(ステップS1612)。なお、スキャン処理においては、前述のように、CPU211は設定欄503で設定された設定内容に応じてスキャン処理を行う。
続いて、CPU211は、ステップS1605においてタブレット型端末101から送信された画像データ(送信画像データ)とステップS1612で説明したスキャン処理の結果得られた画像データ(スキャン画像データ)とをマージするマージ処理を行う(ステップS1613)。
なお、マージとは、複数の画像データを、複数のページからなる1つの画像データ(文書又は文書ファイルと呼ぶことができる)とすることをいう。そして、CPU211は、マージ処理で得られた画像データ(マージ画像データ)をファックス送信する。このファックス送信の宛先は設定欄502で設定された電話番号である。
このようにして、タブレット型端末101において設定された設定内容に応じて、タブレット型端末101からMFP103に送信した画像データとMFP103によるスキャン処理で得られた画像データをマージ処理する。そして、MFP103は当該マージ処理で得られた画像データを設定された宛先にファックス送信する。
上述の第3の送信処理は、例えば、タブレット型端末101において生成したカバーページとMFP103によって原稿を読み取った結果得られる画像データとを一つの画像データにマージしてファックス送信する際に利用される。つまり、第3の送信処理を行えば、タブレット型端末101で生成した画像データとMFP103で生成した画像データとを纏めて送信する際の手間を大幅に軽減することができる。
図17は、図1に示すタブレット型端末101による第1の送信処理要求とタブレット型端末104による第3の送信処理要求とが重なった際の処理を説明するためのシーケンス図である。
タブレット型端末101とMFP103とによって行われる第1の送信処理において、ステップS1001からステップS1010の処理は図10で説明したので、ここでは、説明を省略する。
タブレット型端末104において、CPU411は、図7に示す操作画面によるユーザの画像選択を受け付ける(ステップS1701)。そして、CPU411は、図8に示す操作画面によるユーザ設定を受け付ける(ステップS1702)。
続いて、タブレット型端末104において、CPU411はMFP103にジョブ生成コマンドを送信する(ステップS1703)。CPU211はジョブ生成コマンドをスキャンコマンドではないと判定するので、ジョブ生成コマンドに応じたジョブ生成処理を行う。そして、CPU211は第1のOKレスポンスをタブレット型端末104に送信する(ステップS1704)。
第1のOKレスポンスを受けると、CPU411はMFP103に画像コマンドを送信する(ステップS1705)。CPU211は画像コマンドをスキャンコマンドではないと判定するので、画像コマンドに含まれる画像データを抽出して、当該画像データをImage File部303(図3)に保存する。ここでは、たとえ、スキャナ222が稼働中であるか又は予約中であっても、CPU211は画像コマンドに応じた処理を行うことになる。その後、CPU211は第4のOKレスポンスをタブレット型端末104に送信する(ステップS1706)。
続いて、タブレット型端末104において、CPU411はMFP103にスキャンコマンドを送信する(ステップS1707)。CPU211はスキャンコマンドを受けると、図11で説明したようにして、スキャナ222が稼働中であるかを判定するとともに、予約中であるかを判定する。
ここでは、タブレット型端末101から受信したスキャンコマンドによって、MFP103はスキャナ予約状態にある。よって、CPU211はスキャナ予約中と判定する。そして、CPU211はタブレット型端末104にBUSYレスポンスを送信する(ステップS1708)。なお、MFP103はBUSY応答を送信しても、Image File部303に保存した画像データを保持する。つまり、一度生成されたジョブに帰属する画像データは少なくとも当該ジョブが完了するか又は異常終了するまで保持されることになる。
BUSYレスポンスを受けると、CPU411はOKレスポンス(第2のOKレスポンス)を受けるまでスキャンコマンドの送信をリトライする。つまり、CPU411は、再度スキャンコマンドをMFP103に送信する(ステップS1709)。図示のように、当該スキャンコマンドは、ステップS1009に示すスキャン処理のタイミングでMFP103に送られる。よって、CPU211はスキャナ222が稼働中である判定して、BUSYレスポンスをタブレット型端末104に送信する(ステップS1710)。
BUSYレスポンスを受けると、CPU411は、またスキャンコマンドをMFP103に送信する(ステップS1711)。図示のように、当該スキャンコマンドは、ステップS10010に示すファックス送信のタイミングでMFP103に送られる。よって、CPU211はスキャナ222が稼働中なく、かつ予約中でもないと判定して、第2のOKレスポンスをタブレット型端末104に送信する(ステップS1712)。
第2のOKレスポンスを受けると、CPU411はMFP103にジョブ終了コマンドを送信する(ステップS1713)。CPU211はジョブ終了コマンドをスキャンコマンドではないと判定するので、ジョブ終了コマンドに応じたジョブ終了処理を行う。そして、CPU211は第3のOKレスポンスをタブレット型端末104に送信する(ステップS1714)。
そして、MFP103においては、CPU211はステップS1715~S1718の処理を行う、なお、ステップS1715~S1718の処理は、図16で説明したステップS1611~S1614の処理と同様であるので、ここでは説明を省略する。
このように、第1の送信処理要求と第3の送信処理要求とが重なった場合、MFP103は、待機することなく第3の送信処理要求を行うタブレット型端末104から画像データを受信して保存する。そして、MFP103は当該画像データを保持した状態で、後で受けたスキャンコマンドに対してBUSYレスポンスを送信して、先のスキャンコマンドに応じたスキャンが終了するまで待ち状態とし、順にファクシミリ送信を行う。
このようにして、本発明の実施の形態では、原稿読み取りに係るスキャンコマンドを簡単な構成で留め置き、原稿読み取りと同時に動作可能な処理に係るコマンドを受け付けることができる。
なお、上述の実施の形態においては、情報処理装置の一例としてタブレット型端末を例に挙げて説明したが、PC又は携帯電話などの情報処理装置であっても同様にして本実施の形態を適用することができる。
さらに、上述の実施の形態では、MFP103はスキャナが稼働中であるか、そして、スキャナが予約中であるかを判定するようにしたが、例えば、スキャナに対するセマフォを1つ準備して、スキャナコマンド受信、コピーおよびファックスなどスキャナを用いる操作開始の際にセマフォを得て、スキャナを占有するようにしてもよい。このようにすると、コピー又はファックスなどの操作開始の際にスキャナが占有されるので、上述の実施の形態に比べてスキャンコマンドに対してBUSYレスポンスを返送する期間が長くなるものの、実施の形態と同様の効果を得ることができる。
上述の説明から明らかなように、図2に示す例では、CPU211、モデムI/F217、およびモデム223が送信手段として機能し、CPU211が第1の判定手段および第2の判定手段として機能する。そして、CPU211およびネットワークI/F219が返信手段として機能する。また、CPU211は第1の処理手段、第2の処理手段、およびマージ処理手段として機能する。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を画像処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを画像処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。