〔第1の実施形態〕
図1は、複合機1の全体の例を示す図である。図2は、複合機1のハードウェア構成の例を示す図である。図3は、MFPユニット2のハードウェア構成の例を示す図である。図4は、MFPユニット2の機能的構成の例を示す図である。図5は、サーバユニット3のハードウェア構成の例を示す図である。図6は、サーバユニット3の機能的構成の例を示す図である。
図1に示す複合機1は、様々な機能を集約した装置である。複合機1は、図1および図2に示すように、MFPユニット2、サーバユニット3、タッチパネルディスプレイ4、およびセレクタ5などによって構成される。
サーバユニット3は、MFPユニット2の筐体に収納されている。タッチパネルディスプレイ4は、タッチ面および表示面がやや水平になるようにスキャンユニット20gの正面に配置されている。
MFPユニット2は、一般に「MFP(Multi Function Peripherals)」などと呼ばれる画像形成装置に相当する装置であって、コピー、PCプリント、ファックス、スキャン、およびボックスなどの機能を有する。
PCプリント機能は、複合機1の外部の装置またはサーバユニット3から受信した画像データに基づいて画像を用紙に印刷する機能である。
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するための機能である。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
サーバユニット3は、サーバ機またはパーソナルコンピュータに相当する装置であって、ウェブサーバまたはFTP(File Transfer Protocol)サーバなどの機能を有する。サーバユニット3として、組込みコンピュータ(例えば、組込みLinux(登録商標)または組込みWindows(登録商標)など)が用いられる。組込みコンピュータは、「組込みコンピュータシステム」または「ビルトインサーバ」などと呼ばれることもある。
タッチパネルディスプレイ4は、MFPユニット2およびサーバユニット3によって共用される。そして、複合機1を直接操作するユーザを対象に、MFPユニット2の画面およびサーバユニット3の画面を表示する。また、タッチパネルのタッチ面のタッチされた位置の座標を示すデータ(以下、「座標データ6A」と記載する。)をセレクタ5へ送信する。
セレクタ5は、MFPユニット2またはサーバユニット3から受信した、画面を表示するための映像信号を、タッチパネルディスプレイ4へ送信する。また、タッチパネルディスプレイ4から受信した座標データ6Aを、MFPユニット2またはサーバユニット3へ送信する。
MFPユニット2およびサーバユニット3それぞれの機能によって基本的なサービスがユーザへ提供される。さらに、これらの機能を組み合わせることによって、応用的なサービスがユーザへ提供される。
MFPユニット2は、図3に示すように、CPU(Central Processing Unit)20a、RAM(Random Access Memory)20b、ROM(Read Only Memory)20c、補助記憶装置20d、第1のNIC(Network Interface Card)20e、第2のNIC20f、スキャンユニット20g、プリントユニット20h、フィニッシャ20i、ビデオボード20j、および入力インタフェース20kなどによって構成される。
第1のNIC20eは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで外部の装置との通信を行う。
第2のNIC20fは、サーバユニット3の第2のNIC30f(図5参照)とツイストペアケーブルによって繋がれており、TCP/IPなどのプロトコルでサーバユニット3と通信する。
スキャンユニット20gは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
プリントユニット20hは、スキャンユニット20gによって読み取られた画像のほか、第1のNIC20eによって複合機1の外部の装置から受信しまたは第2のNIC20fによってサーバユニット3から受信した画像データに示される画像を用紙に印刷する。
フィニッシャ20iは、プリントユニット20hによって得られた印刷物に対して、必要に応じて後処理を施す。後処理は、ステープルで綴じる処理、パンチ穴を開ける処理、または折り曲げる処理などである。
ビデオボード20jは、画面データを映像信号に変換して、セレクタ5へ送信する。「グラフィックボード」、「LCD(liquid crystal display)コントローラ」または「ビデオカード」などと呼ばれることもある。
ビデオボード20jおよび第1の入力端子50aのインタフェースとして、HDMI(High-Definition Multimedia Interface)(登録商標)またはD−SUB(D-Subminiature)などが用いられる。後述するビデオボード30g、第2の入力端子50b、および第3の出力端子50fのインタフェースも同じである。
第2のNIC20fのインタフェースとして、IEEE(Institute of Electrical and Electronics Engineers)802.3などが用いられる。後述する第2のNIC30fも同じである。
入力インタフェース20kは、セレクタ5の第1の出力端子50dとケーブルで繋がれており、座標データ6Aをタッチパネルディスプレイ4から受信する。
入力インタフェース20kおよび第1の出力端子50dのインタフェースとして、IEEE1394またはUSB(Universal Serial Bus)などが用いられる。後述する入力インタフェース30h、第2の出力端子50e、および第3の入力端子50cも同じである。
ROM20cまたは補助記憶装置20dには、上述のコピーなどの各機能を実現するためのプログラムが記憶されている。補助記憶装置20dとして、ハードディスクドライブまたはSSD(Solid State Drive)などが用いられる。
さらに、ROM20cまたは補助記憶装置20dには、画面出力プログラム20P(図4参照)が記憶されている。画面出力プログラム20Pは、MFPユニット2の画面の画面データをサーバユニット3へ送信し、または、サーバユニット3の画面とMFPユニット2の画面とを合成し、合成した画面の画面データをビデオボード20jへ出力するためのプログラムである。
これらのプログラムは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。
サーバユニット3は、図5に示すように、CPU30a、RAM30b、ROM30c、補助記憶装置30d、第1のNIC30e、第2のNIC30f、ビデオボード30g、入力インタフェース30hなどによって構成される。
第1のNIC30eは、TCP/IPなどのプロトコルで複合機1の外部の装置と通信する。
第2のNIC30fは、MFPユニット2の第2のNIC20f(図3参照)とツイストペアケーブルによって繋がれており、TCP/IPなどのプロトコルでMFPユニット2と通信する。
ビデオボード30gは、画面データを映像信号に変換して、セレクタ5へ送信する。入力インタフェース30hは、セレクタ5の第2の出力端子50eとケーブルで繋がれており、座標データ6Aをセレクタ5から受信する。
ROM30cまたは補助記憶装置30dには、アプリケーションをダウンロードする機能およびインストールする機能などを実現するためのプログラムが記憶されている。補助記憶装置30dとして、ハードディスクドライブまたはSSDなどが用いられる。
さらに、ROM30cまたは補助記憶装置30dには、画面出力プログラム30P(図6参照)が記憶されている。画面出力プログラム30Pは、サーバユニット3の画面の画面データをMFPユニット2へ送信し、または、サーバユニット3の画面とMFPユニット2の画面とを合成し、合成した画面の画面データをビデオボード30gへ出力するためのプログラムである。
これらのプログラムは、必要に応じてRAM30bにロードされ、CPU30aによって実行される。
タッチパネルディスプレイ4は、図2に示すように、ディスプレイモジュール4Aおよびタッチパネルモジュール4Bなどによって構成される。
ディスプレイモジュール4Aは、セレクタ5から送信された映像信号に基づいて画面を表示する。ディスプレイモジュール4Aとして、有機EL(Electro Luminescence)ディスプレイまたは液晶ディスプレイなどのフラットパネルディスプレイが用いられる。
タッチパネルモジュール4Bは、そのタッチ面がタッチされたことを検知するごとに、座標データ6Aをセレクタ5へ送信する。
セレクタ5は、図2に示すように、第1の入力端子50a、第2の入力端子50b、第3の入力端子50c、第1の出力端子50d、第2の出力端子50e、第3の出力端子50f、およびコントローラ50gなどによって構成される。
第1の入力端子50aは、MFPユニット2のビデオボード20jにケーブルによって繋がれており、ビデオボード20jから映像信号が入力される。第2の入力端子50bは、サーバユニット3のビデオボード30gにケーブルによって繋がれており、ビデオボード30gから映像信号が入力される。第3の入力端子50cは、タッチパネルモジュール4Bにケーブルによって繋がれており、タッチパネルモジュール4Bから座標データ6Aが入力される。
第1の出力端子50dは、MFPユニット2の入力インタフェース20kにケーブルによって繋がれており、座標データ6AをMFPユニット2へ出力する。第2の出力端子50eは、サーバユニット3の入力インタフェース30hにケーブルによって繋がれており、座標データ6Aをサーバユニット3へ出力する。第3の出力端子50fは、MFPユニット2またはサーバユニット3から送信された映像信号をディスプレイモジュール4Aへ出力する。
コントローラ50gは、第1の入力端子50aまたは第2の入力端子50bに入力された映像信号をディスプレイモジュール4Aへ送信する。
また、コントローラ50gは、第3の入力端子50cから座標データ6Aが入力されると、座標データ6Aを第1の出力端子50dまたは第2の出力端子50eから出力する処理を、以下のように行う。
コントローラ50gは、タッチパネルモジュール4Bから座標データ6Aが送信され第3の入力端子50cから入力されると、映像信号が第1の入力端子50aおよび第2の入力端子50bのいずれから入力されているのかを判別する。第1の入力端子50aから入力されている場合、座標データ6Aを第1の出力端子50dから出力する。第2の入力端子50bから入力されている場合、第2の出力端子50eから出力する。
画面出力プログラム20Pによると、配置データ記憶部201ないし判別部206がMFPユニット2に実現され、画面出力プログラム30Pによると、配置データ記憶部301ないし判別部306がサーバユニット3に実現される。
図7は、配置データ6Cの例を示す図である。図8は、操作画面5B1の例を示す図である。図9は、配置データ6Eの例を示す図である。図10は、操作画面5B2の例を示す図である。図11は、複合操作画面5B3の例を示す図である。図12は、複合操作画面5B4の例を示す図である。
以下、第1の実施形態における複合機1の動作を、図4ないし図12を参照しながら説明する。
ユーザは、複合機1の電源をオンにする。すると、MFPユニット2およびサーバユニット3のそれぞれが独立して必要なプログラム(オペレーティングシステムおよびファームウェアなど)を順次、起動する。
すると、MFPユニット2、サーバユニット3、タッチパネルディスプレイ4、およびセレクタ5において、以下のような処理が行われる。
MFPユニット2の配置データ記憶部201(図4参照)には、配置データ6Cが、MFPユニット2の機能の実行の指示をユーザから受け付けるためのアイコンごとに、図7に示すように記憶されている。
配置データ6Cは、「アイコン名」、「機能」、および「位置」を示す。さらに、アイコンを表示するための画像データが含まれている。画像データとして、GIF(Graphics Interchange Format)またはPING(Portable Network Graphics)などのフォーマットのファイルが用いられる。
「アイコン名」はアイコンの名称であり、アイコンを識別するものである。「機能」は、例えば、ユーザがアイコンをタップすることでユーザからの指示が受け付けられた際に、実行される機能である。
「位置」は、MFPユニット2を操作するための操作画面5B1におけるアイコンの位置である。すなわち、「位置」は、操作画面5B1の全体の領域をXYの座標系で表したときの、アイコンを囲う外枠の4つの頂点の座標(X座標およびY座標)のそれぞれを示す。4つの頂点の座標によって、アイコンのサイズも表わされている。
なお、アイコンを囲う外枠(具体的には、図7の配置データ6Cそれぞれの「画像」における、アイコンを囲う矩形状の枠)およびその中に含まれる座標を、「アイコンの座標」と記載する。
また、配置データ記憶部201には、タッチパネルモジュール4Bの表示面の全体の領域(以下、「全体領域」と記載する。)における、操作画面5B1などのMFPユニット2によって生成される画面の位置およびサイズ、ならびに、サーバユニット3を操作するための後述する操作画面5B2などのサーバユニット3によって生成される画面の位置およびサイズを示す全体配置データ6Dも、記憶されている。
本例では、操作画面5B1の位置が、全体領域を横方向(X軸方向)に等分したときの左半分の領域であること、および、操作画面5B1のサイズがその領域のサイズに等しいことが、全体配置データ6Dに示される。さらに、操作画面5B2の位置が、全体領域を横方向に等分したときの右半分の領域であること、および、操作画面5B2のサイズがその領域のサイズに等しいことが、全体配置データ6Dに示される。
MFPユニット2の生成部202は、配置データ記憶部201に記憶されている配置データ6Cおよび全体配置データ6Dに基づいて、図8に示すような操作画面5B1を生成する。
サーバユニット3の配置データ記憶部301(図6参照)には、配置データ6Eが、サーバユニット3の機能の実行の指示をユーザから受け付けるためのアイコンごとに、図9に示すように記憶されている。
配置データ6Eは、上述の配置データ6Cと同様に、「アイコン名」および「機能」を示す。さらに、アイコンを表示するための画像データが含まれている。
「位置」は、サーバユニット3を操作するための操作画面5B2におけるアイコンの位置およびサイズである。すなわち、「位置」は、操作画面5B2の全体の領域をXYの座標系で表したときの、アイコンの4つの頂点の座標(X座標およびY座標)のそれぞれを示す。
また、配置データ記憶部301には、上述の配置データ記憶部201と同様に、全体配置データ6Dも記憶されている。
サーバユニット3の生成部302は、配置データ記憶部301に記憶されている配置データ6Eおよび全体配置データ6Dに基づいて、図10に示すような操作画面5B2を生成する。
MFPユニット2のユニット出力部203(図4参照)は、生成部202が生成した操作画面5B1の画面データ6B1をサーバユニット3へ送信する。画面データ6B1は、操作画面5B1のビットマップデータまたはそれを圧縮したデータである。
または、サーバユニット3のユニット出力部303(図6参照)は、生成部302が生成した操作画面5B2の画面データ6B2をMFPユニット2へ送信する。画面データ6B2は、操作画面5B2のビットマップデータまたはそれを圧縮したデータである。
ユニット出力部203およびユニット出力部303のうちのいずれか一方だけが、この処理を行う。両者のうちのいずれが行うかは、後述するように切り換わる。どちらが最初に行うのかは、画面出力プログラム20Pまたは画面出力プログラム30Pに予め設定しておけばよい。
本例では、最初は、ユニット出力部203が、画面データ6B1をサーバユニット3へ送信する。
合成部304は、画面データ6B1を受信すると、配置データ記憶部301に記憶されている全体配置データ6Dに示される位置に従って、画面データ6B1に示される操作画面5B1および生成部302によって生成された操作画面5B2を並べて合成することによって、複合操作画面5B3を生成する。
本例では、合成部304は、操作画面5B1が全体領域の左半分の領域に配置されるように、また、操作画面5B2が全体領域の右半分の領域に配置されるように、操作画面5B1および操作画面5B2を並べる。両画面を合成することで、図11に示すような複合操作画面5B3を生成する。なお、Xmidは、全体領域の水平方向の長さの値の半分であり、Xmax/2、である。
セレクタ出力部305は、複合操作画面5B3の画面データをディスプレイモジュール4A用の映像信号6B3に変換しセレクタ5へ送信する処理を、ビデオボード30gに実行させる。
セレクタ5のコントローラ50g(図2参照)は、映像信号6B3が第2の入力端子50bから入力されると、映像信号6B3を第3の出力端子50fからディスプレイモジュール4Aへ出力する。すなわち、映像信号6B3をサーバユニット3からディスプレイモジュール4Aへ中継する。
ディスプレイモジュール4Aは、映像信号6B3を受信すると、複合操作画面5B3を表示する。
その後、ユーザは、MFPユニット2またはサーバユニット3の機能を実行させようとして、タッチパネルディスプレイ4に表示されている複合操作画面5B3の、その機能に対応するアイコンをタップする。本例では、MFPユニット2のボックス機能を実行させようとして、複合操作画面5B3の左半分(つまり操作画面5B1の部分)に配置されているアイコンのうち、ボックスのアイコンをタップする。
すると、MFPユニット2、サーバユニット3、タッチパネルディスプレイ4、およびセレクタ5において、以下のような処理が行われる。
タッチパネルモジュール4B(図2参照)は、ユーザがタップした位置を示すデータを座標データ6Aとして生成し、セレクタ5へ送信する。
セレクタ5のコントローラ50gは、座標データ6Aが第3の入力端子50cに入力されるとつまり座標データ6Aをタッチパネルモジュール4Bから受信すると、映像信号6B3が第1の入力端子50aおよび第2の入力端子50bのいずれから入力されているのかを判別する。判別した結果に応じて、座標データ6Aを第1の出力端子50dまたは第2の出力端子50eから出力する。すなわち、座標データ6AをMFPユニット2またはサーバユニット3へ送信する。
本例では、コントローラ50gは、映像信号6B3が第2の入力端子50bから入力されていると、判別する。そこで、座標データ6Aを、第2の出力端子50eから出力する、つまりサーバユニット3へ送信する。
サーバユニット3の判別部306(図6参照)は、座標データ6Aを受信すると、配置データ記憶部301に記憶されている全体配置データ6Dに基づいて、座標データ6Aに示される座標が操作画面5B2のいずれかの位置の座標であるか、または操作画面5B1のいずれかの位置の座標であるかを判別する。
本例では、判別部306は、座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標であると判別する。
座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標であると判別された場合、ユニット出力部303は、最も直近に生成した操作画面5B2の画面データ6B2をMFPユニット2へ送信する。このとき、座標データ6Aも併せて送信する。なお、座標データ6Aが連続的に複数、タッチパネルモジュール4Bから送信されてきた場合は、これらの座標データ6AをすべてMFPユニット2へ送信する。
MFPユニット2が座標データ6Aおよび画面データ6B2を受信すると、生成部202(図4参照)は、配置データ記憶部201に記憶されている配置データ6Cの中から、座標データ6Aに示される座標がアイコンの座標に含まれる配置データ6Cを特定し、その配置データ6Cのアイコンがタップされた直後に表示すべき操作画面5C1(例えば、そのアイコンに対応付けられた機能の設定を行うための画面)を生成する。
合成部204は、生成された操作画面5C1および受信された画面データ6B2に示される操作画面5B2を並べて合成することによって、複合操作画面5B4を生成する。このとき、配置データ記憶部201に記憶されている全体配置データ6Dに示される位置に従って、操作画面5B2を配置する。また、全体配置データ6Dに示される操作画面5B1の位置を操作画面5C1の位置として、操作画面5C1を配置する。
本例では、合成部204は、操作画面5C1が全体領域の左半分の領域に配置されるように、また、操作画面5B2が全体領域の右半分の領域に配置されるように、操作画面5C1および操作画面5B2を並べる。両画面を合成することで、図12に示すような複合操作画面5B4を生成する。
セレクタ出力部205は、複合操作画面5B4の画面データをディスプレイモジュール4A用の映像信号6B4に変換しセレクタ5へ送信する処理を、ビデオボード20jに実行させる。
セレクタ5のコントローラ50gは、映像信号6B4をサーバユニット3からディスプレイモジュール4Aへ中継する。ディスプレイモジュール4Aは、受信した複合操作画面5B4を表示する。
なお、サーバユニット3の判別部306によって座標データ6Aに示される座標が操作画面5B2のいずれかの位置の座標であると判別された場合、MFPユニット2およびサーバユニット3において、以下のような処理が行われる。
生成部302は、配置データ記憶部301に記憶されている配置データ6Eの中から、座標データ6Aに示される座標がアイコンの座標に含まれる配置データ6Eを特定する。このとき、座標データ6Aに示される座標のうちのX座標の値からXmidの値を引いたものを、座標データ6Aに示されるX座標として用いる。
生成部302は、特定した配置データ6Eのアイコンがタップされた直後に表示すべき操作画面5C2を生成する。最も直近に生成された操作画面5B1をMFPユニット2へ要求する。
MFPユニット2のユニット出力部203(図4参照)は、最も直近に生成した操作画面5B1の画面データ6B1をサーバユニット3へ送信する。
サーバユニット3の合成部304は、画面データ6B1を受信すると、上述の複合操作画面5B3を生成するのと同様に、複合操作画面5B4を生成する。ただし、操作画面5B2の代わりに操作画面5C2を合成する。
セレクタ出力部305は、複合操作画面5B4の画面データを映像信号6B4に変換しセレクタ5へ送信する処理を、ビデオボード30gに実行させる。
上述と同様に、セレクタ5のコントローラ50g(図2参照)は、映像信号6B4をサーバユニット3から受信すると、ディスプレイモジュール4Aへ中継する。ディスプレイモジュール4Aは、映像信号6B4を受信すると、複合操作画面5B4を表示する。
図13および図14は、MFPユニット2の全体的な処理の流れの例を示すフローチャートである。
次に、第1の実施形態におけるMFPユニット2、サーバユニット3それぞれの全体的な処理の流れを、図13および図14のフローチャートを参照しながら説明する。
MFPユニット2およびサーバユニット3は、画面出力プログラム20Pおよび画面出力プログラム30Pそれぞれに基づいて、図13および図14に示す処理を実行する。
ユーザが複合機1の電源をオンにすると、MFPユニット2およびサーバユニット3のそれぞれが独立して起動する。
MFPユニット2は、画面出力プログラム20Pを起動すると、操作画面5B1を生成する(図13の#601)。サーバユニット3へ操作画面5B1を送信するように設定されている場合(#602でYes)、操作画面5B1をサーバユニット3へ送信する(#603)。
サーバユニット3へ操作画面5B1を送信するように設定されていない場合(#602でNo)、MFPユニット2は、操作画面5B2をサーバユニット3から受信する(#604)。生成した操作画面5B1および受信した操作画面5B2を左右に並べて合成することで複合操作画面5B3を生成し(#605)、セレクタ5へ送信する(#606)。
MFPユニット2は、座標データ6Aをセレクタ5から受信すると(図14の#611でYes)、座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標であるか、または操作画面5B2のいずれかの位置の座標であるかを判別する(#612)。
MFPユニット2は、座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標であると判別した場合(#613でYes)、座標データ6Aに基づいてユーザにタップされたアイコンの配置データ6Cを特定して、そのアイコンがタップされた直後の操作画面5C1を生成する(#614)。サーバユニット3が最も直近に生成した操作画面5B2を、サーバユニットへ要求して受信する(#615)。
MFPユニット2は、生成した操作画面5C1および受信した操作画面5B2を合成することで複合操作画面5B4を生成し(#616)、セレクタ5へ送信する(#617)。
MFPユニット2は、座標データ6Aに示される座標が操作画面5B2のいずれかの位置の座標であると判別した場合(#613でNo)、座標データ6Aおよび最も直近に生成した操作画面5B1をサーバユニット3へ送信する(#618)。
MFPユニット2は、座標データ6Aをセレクタ5から受信することなく(#611でNo)、座標データ6Aおよびサーバユニット3が最も直近に生成した操作画面5B2をサーバユニット3から受信した場合に(#620でYes)、ユーザにタップされたアイコンの配置データ6Cを座標データ6Aに基づいて特定して、そのアイコンがタップされた直後の操作画面5C1を生成する(#621)。生成した操作画面5C1および受信した操作画面5B2を合成することで複合操作画面5B4を生成し(#622)、セレクタ5へ送信する(#623)。
MFPユニット2は、座標データ6Aをセレクタ5から受信することなく(#611でNo)、かつ、座標データ6Aおよびサーバユニット3が最も直近に生成した操作画面5B2をサーバユニット3から受信することなく(#620でNo)、サーバユニット3からの要求を受信した場合に(#624でYes)、その要求に応じて最も直近に生成した操作画面5B1をサーバユニット3へ送信する(#625)。
上述の処理は、MFPユニット2のオペレーティングシステムが終了するまで継続される(#619でNo)。
なお、サーバユニット3は、画面出力プログラム30Pを起動すると、上述のMFPユニット2における処理と同様の処理を行う。
すなわち、サーバユニット3は、操作画面5B2を生成する(#601)。そして、操作画面5B2をMFPユニット2へ送信し、または、複合操作画面5B3を生成してセレクタ5へ送信する(#602〜#606)。
また、サーバユニット3は、座標データ6Aをセレクタ5から受信した場合は、複合操作画面5B3を生成してセレクタ5へ送信し、または、座標データ6Aおよび操作画面5B2をMFPユニット2へ送信する(#611〜#618)。座標データ6Aをセレクタ5から受信することなく座標データ6Aおよび操作画面5B1をMFPユニット2から受信した場合は、操作画面5B1および複合操作画面5B3を生成して、生成した複合操作画面5B3をセレクタ5へ送信する(#620〜#623)。座標データ6Aをセレクタ5およびMFPユニット2から受信することなく、MFPユニット2からの要求を受信した場合に、その要求に応じて操作画面5B1をMFPユニット2へ送信する(#620、#624、#625)。
第1の実施形態によると、MFPユニット2の操作画面5B1およびサーバユニット3の操作画面5B2を並べて表示しているときにおいて、操作画面5B1または操作画面5B2の切替えの際に生じる遅延を従来よりも抑えることができる。
〔第2の実施形態〕
図15は、MFPユニット2の機能的構成の他の例を示す図である。図16は、サーバユニット3の機能的構成の他の例を示す図である。図17は、操作画面5B7の例を示す図である。
第2の実施形態によると、映像信号の出力元がMFPユニット2からサーバユニット3に変わりまたはサーバユニット3からMFPユニット2に変わった際の、画面の切り替わりに遅延が発生することを第1の実施形態よりも抑えることができる。以下、この仕組みについて説明する。第1の実施形態と重複する点は、説明を省略する。
なお、第2の実施形態においては、ユーザがアイコンをタップするとアイコンに対応付けられた機能が実行され、ロングタップするとアイコンが選択された状態で表示されるとする。
複合機1のハードウェア構成は、第1の実施形態と同様であり、前に図1ないし図3、および図5に示したとおりである。各ハードウェアの機能も、第1の実施形態と同様である。
ただし、MFPユニット2のROM20cまたは補助記憶装置20dには、画面出力プログラム20P(図4参照)の代わりに、画面出力プログラム21P(図15参照)が記憶されている。画面出力プログラム21Pは、差分データ6F1を生成して所定の時間間隔でサーバユニット3へ送信し、または、MFPユニット2の画面とサーバユニット3の画面とを合成し、合成した画面の画面データをビデオボード20jへ出力するためのプログラムである。
また、サーバユニット3のROM30cまたは補助記憶装置30dには、画面出力プログラム30P(図6参照)の代わりに、画面出力プログラム31P(図16参照)が記憶されている。画面出力プログラム31Pは、差分データ6F2を生成して所定の時間間隔でMFPユニット2へ送信し、または、サーバユニット3の画面とMFPユニット2の画面とを合成し、合成した画面の画面データをビデオボード30gへ出力するためのプログラムである。
画面出力プログラム21Pによると、図15に示す配置データ記憶部211ないし画面記憶部221がMFPユニット2に実現される。画面出力プログラム31Pによると、図16に示す配置データ記憶部311ないし画面記憶部321がサーバユニット3に実現される。
ユーザが複合機1の電源をオンにすると、MFPユニット2およびサーバユニット3のそれぞれは、必要なプログラムを順次、起動する。
すると、MFPユニット2、サーバユニット3、タッチパネルディスプレイ4、およびセレクタ5において、以下のような処理が行われる。
MFPユニット2の配置データ記憶部211(図15参照)には、第1の実施形態の配置データ記憶部201(図4参照)と同様に、配置データ6Cおよび全体配置データ6Dが記憶されている。また、サーバユニット3の配置データ記憶部311(図16参照)には、第1の実施形態の配置データ記憶部301(図6参照)と同様に、配置データ6Eおよび全体配置データ6Dが記憶されている。
MFPユニット2の生成部212は、第1の実施形態の生成部202と同様に、配置データ記憶部211に記憶されている配置データ6Cおよび全体配置データ6Dに基づいて、操作画面5B1を生成する。
ユニット出力部213は、生成された操作画面5B1の画面データ6B1をサーバユニット3へ送信する。
サーバユニット3の生成部312は、第1の実施形態の生成部302と同様に、配置データ記憶部311に記憶されている配置データ6Eおよび全体配置データ6Dに基づいて、操作画面5B2を生成する。
ユニット出力部313は、生成された操作画面5B2の画面データ6B2をMFPユニット2へ送信する。
なお、第1の実施形態では、ユニット出力部203およびユニット出力部303のうち、複合操作画面5B3を生成しない方のユニットに属するユニット出力部だけが、画面データを送信した。しかし、第2の実施形態では、ユニット出力部213およびユニット出力部313ともに、画面データを送信する。
MFPユニット2の合成部214は、画面データ6B2を受信すると、第1の実施形態の合成部304と同様に、操作画面5B1および操作画面5B2を並べて合成することによって、図11に示したような複合操作画面5B3を生成する。操作画面5B2は、画面データとして画面記憶部221に記憶される。
サーバユニット3の合成部314は、画面データ6B1を受信すると、第1の実施形態の合成部304と同様に、操作画面5B2および操作画面5B1を並べて合成することによって、複合操作画面5B3を生成する。操作画面5B1は、画面データとして画面記憶部321に記憶される。
MFPユニット2のセレクタ出力部215は、生成された複合操作画面5B3の画面データをディスプレイモジュール4A用の映像信号6B3に変換しセレクタ5へ送信する処理を、ビデオボード20jに実行させる。または、サーバユニット3のセレクタ出力部315は、生成された複合操作画面5B3の画面データをディスプレイモジュール4A用の映像信号6B3に変換しセレクタ5へ送信する処理を、ビデオボード30gに実行させる。
セレクタ出力部215およびセレクタ出力部315のいずれか一方だけが、この処理を行う。両者のうちのいずれが行うかは、後述するように切り換わる。どちらが最初に行うのかは、画面出力プログラム21Pまたは画面出力プログラム31Pに予め設定しておけばよい。
本例では、最初は、サーバユニット3のセレクタ出力部315が、画面データを映像信号6B3に変換しセレクタ5へ送信する。
第1の実施形態と同様に、セレクタ5のコントローラ50g(図2参照)は、映像信号6B3をサーバユニット3からディスプレイモジュール4Aへ中継する。ディスプレイモジュール4Aは、受信した複合操作画面5B3を表示する。
ユーザは、複合操作画面5B3(図11参照)のあるアイコンを選択するために、そのアイコンをロングタップする。本例では、複合操作画面5B3の操作画面5B2のアイコンのうち、PCプリントのアイコンをロングタップする。
すると、MFPユニット2、サーバユニット3、タッチパネルディスプレイ4、およびセレクタ5において、以下のような処理が行われる。
タッチパネルモジュール4B(図2参照)は、第1の実施形態と同様に、ユーザがタップした位置を示すデータを座標データ6Aとして生成し、セレクタ5へ送信する。
セレクタ5のコントローラ50gは、上述と同様に、座標データ6Aをタッチパネルモジュール4Bから受信すると、映像信号6B3が第2の入力端子50bから入力されていることを判別し、座標データ6Aをサーバユニット3へ送信する。
サーバユニット3の判別部316(図16参照)は、第1の実施形態と同様に、座標データ6Aを受信すると、配置データ記憶部311に記憶されている全体配置データ6Dに基づいて、座標データ6Aに示される座標が操作画面5B2のいずれかの位置の座標であると判別する。
そして、判別部316は、配置データ記憶部311に記憶されている配置データ6Eの中から、座標データ6Aに示される座標がアイコンの座標に含まれる配置データ6Eを特定する。このとき、座標データ6Aに示される座標のうちのX座標の値からXmidの値を引いたものを、座標データ6Aに示されるX座標として用いる。本例では、配置データ6E1を特定する。
そして、判別部316は、特定した配置データ6Eのアイコンに対応付けられた機能を実行することをユーザが指示したのか、または、アイコンを単に選択された状態にすることをユーザが指示したのかを、以下のように判別する。
判別部316は、1つ目の座標データ6Aの後に受信した座標データ6Aに基づいて、ユーザのそのアイコンに対するジェスチャ、つまりユーザがそのアイコンをタップしたのかまたはロングタップしたのかを、判別する。ユーザがタップしたと判別した場合に、アイコンに対応付けられた機能を実行することをユーザが指示したと判別する。ロングタップしたと判別した場合に、アイコンを選択された状態にすることをユーザが指示したと判別する。
生成部312は、あるアイコンを選択された状態にすることをユーザが指示したと判別された場合、そのアイコンが選択された状態になるように操作画面5B2を更新する。例えば、図17に示すように、そのアイコンに対して網掛けを施す。以下、更新された操作画面5B2を「操作画面5B7」と記載する。
合成部314は、操作画面5B1を画面記憶部321から読み出して、第1の実施形態の合成部304と同様に、操作画面5B1および生成された操作画面5B7を並べて合成することによって、複合操作画面5B8を生成する。
セレクタ出力部315は、生成された複合操作画面5B8の画面データを映像信号6B8に変換しセレクタ5へ送信する処理を、ビデオボード30gに実行させる。
第1の実施形態と同様に、セレクタ5のコントローラ50g(図2参照)は、映像信号6B8をサーバユニット3から受信すると、ディスプレイモジュール4Aへ中継する。ディスプレイモジュール4Aは、映像信号6B8を受信すると、複合操作画面5B8を表示する。
上述の通り、ユニット出力部313は、生成部312によって操作画面5B2の画像データ6B2が生成されると、画像データ6B2をMFPユニット2へ送信した。
しかし、ある画面の一部分を更新することによって新たな画面を生成した場合は、新たな画面全体の画像データを送信するのではなく、その変更した一部分の画像データおよびその一部分の位置を示すデータを、差分データとして送信する。例えば、操作画面5B7は、操作画面5B2の中のあるアイコンに網掛けを施すことによって生成されたので、そのアイコンの更新後の画像データおよびそのアイコンの位置(配置データ6E1に示される位置)を示すデータを、差分データ6F2として送信する。後述するユニット出力部213も同様である。
ただし、画面が連続的に変化する場合は、そうでない場合よりも多くの差分データが生じる。これらをすべてMFPユニット2へ送信すると、負荷が増大する。そこで、ユニット出力部313は、差分データ6F2を所定の時間間隔(例えば、2秒の間隔)でMFPユニット2へ送信してもよい。画面が連続的に変化しない場合も、差分データ6F2を所定の時間間隔でMFPユニット2へ送信してもよい。後述するユニット出力部213も同様である。
MFPユニット2の生成部212および合成部214(図15参照)は、差分データ6F2が送信されてくるごとに、以下のような処理を行う。
生成部212は、上述と同様に、操作画面5B1を生成する。なお、直近に生成した操作画面5B1と差異がない場合は、生成しなくてもよい。
合成部214は、画面記憶部221に記憶されている操作画面5B2を読み出す。差分データ6F2に含まれる画像データが示す処理後アイコンを、操作画面5B2における、差分データ6F2に示される位置に合成する。最新の操作画面5B1および処理後アイコンが合成された操作画面5B2つまり操作画面5B7を、第1の実施形態の合成部204と同様に並べて合成することによって、複合操作画面5B8を生成する。
なお、サーバユニット3がセレクタ5へ映像信号を出力している際にユーザが複合操作画面5B3の操作画面5B1のアイコンのいずれかをロングタップした場合、以下のような処理が行われる。
タッチパネルモジュール4B(図2参照)は、上述と同様に、ユーザがタップした位置を示すデータを座標データ6Aとして生成し、セレクタ5へ送信する。
セレクタ5のコントローラ50gは、上述と同様に、座標データ6Aをタッチパネルモジュール4Bから受信すると、映像信号6B3が第2の入力端子50bから入力されていることを判別し、座標データ6Aをサーバユニット3へ送信する。
サーバユニット3の判別部316(図16参照)は、上述と同様に、座標データ6Aを受信すると、配置データ記憶部311に記憶されている全体配置データ6Dに基づいて、座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標に該当すると判別する。ユニット出力部313は、座標データ6AをMFPユニット2へ送信する。
MFPユニット2の判別部216(図15参照)は、座標データ6Aが送信されてくると、配置データ記憶部211に記憶されている配置データ6Cの中から、座標データ6Aに示される座標がアイコンの座標に含まれる配置データ6Cを特定する。
生成部212は、上述の生成部312と同様に、操作画面5B1の中のそのアイコンを更新することによって、処理後アイコンを含む操作画面5B6を生成する。
合成部214は、操作画面5B2を画面記憶部211から読み出して、操作画面5B2および生成された操作画面5B6を、第1の実施形態の合成部204と同様に並べて合成することで、複合操作画面5B8を生成する。
セレクタ出力部215は、複合操作画面5B8の画面データを映像信号6B8に変換しセレクタ5へ送信する処理を、ビデオボード20jに実行させる。
第1の実施形態と同様に、セレクタ5のコントローラ50g(図2参照)は、映像信号6B8をサーバユニット3から受信すると、ディスプレイモジュール4Aへ中継する。ディスプレイモジュール4Aは、映像信号6B8を受信すると、複合操作画面5B8を表示する。
また、ユニット出力部213は、処理後アイコンの画像データと特定された配置データ6Cに示される位置を示すデータとを、差分データ6F1として、所定の時間間隔(例えば、2秒の間隔)でサーバユニット3へ送信する。
サーバユニット3の生成部312および合成部314(図16参照)は、差分データ6F1が送信されるごとに、以下のような処理を行う。
生成部312は、上述と同様に、操作画面5B2を生成する。なお、直近に生成した操作画面5B2と差異がない場合は、生成しなくてもよい。
合成部314は、画面記憶部321に記憶されている操作画面5B1を読み出す。差分データ6F1に含まれる画像データが示す処理後アイコンを、操作画面5B1における、差分データ6F1に示される位置に合成する。最新の操作画面5B2および処理後アイコンが合成された操作画面5B6を、第1の実施形態の合成部304と同様に並べて合成することで、複合操作画面5B8を生成する。
図18ないし図21は、MFPユニット2の全体的な処理の流れの例を示すフローチャートである。
次に、本実施形態におけるMFPユニット2、サーバユニット3それぞれの全体的な処理の流れを、図18ないし図21のフローチャートを参照しながら説明する。
MFPユニット2およびサーバユニット3は、画面出力プログラム21Pに基づいて、図18ないし図21に示す処理を実行する。
ユーザが複合機1の電源をオンにすると、MFPユニット2およびサーバユニット3それぞれの画面出力プログラム21Pおよび画面出力プログラム31Pが独立して起動する。
MFPユニット2は、画面出力プログラム21Pを起動すると、操作画面5B1を生成し(図18の#701)、サーバユニット3へ操作画面5B1を送信する(#702)。操作画面5B2をサーバユニット3から受信し、記憶する(#703)。生成した操作画面5B1および受信した操作画面5B2を左右に並べて合成することで、複合操作画面5B3を生成する(#704)。セレクタ5へ複合操作画面5B3を送信するように設定されている場合(#705でYes)、複合操作画面5B3をセレクタ5へ送信する(#706)。
MFPユニット2は、座標データ6Aをセレクタ5から受信すると(図19の#711でYes)、座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標であるか、または操作画面5B2のいずれかの位置の座標であるかを判別する(#712)。
MFPユニット2は、座標データ6Aに示される座標が操作画面5B1のいずれかの位置の座標であると判別した場合(#713でYes)、ユーザのジェスチャを判別する(#714)。
MFPユニット2は、ユーザのジェスチャがロングタップであると判別した場合(#715でYes)、ユーザにタップされたアイコンの配置データ6Cを座標データ6Aに基づいて特定して、その配置データ6Cに含まれる画像データを用いて処理後アイコンを生成し(#716)、その処理後アイコンを用いて操作画面5B6を生成する(#717)。ユーザのジェスチャがタップであると判別した場合(#715でNo)、ユーザにタップされたアイコンの配置データ6Cを座標データ6Aに基づいて特定して、そのアイコンがタップされた直後の操作画面5C1を生成する(#717)。
MFPユニット2は、記憶されている操作画面5B2を読み出し(#718)、生成した操作画面(つまり操作画面5B1または操作画面5C1)と読み出した操作画面5B2とを合成することで、複合操作画面(つまり複合操作画面5B4または複合操作画面5B8)を生成する(#719)。生成した複合操作画面を、セレクタ5へ送信する(#720)。
MFPユニット2は、座標データ6Aに示される座標が操作画面5B2のいずれかの位置の座標であると判別した場合(#713でNo)、座標データ6Aをサーバユニット3へ送信する(#721)。
MFPユニット2は、座標データ6Aをセレクタ5からではなく、サーバユニット3から受信した場合(#711でNo、図20の#731でYes)、ユーザのジェスチャを判別する(#732)。
MFPユニット2は、ユーザのジェスチャがロングタップであると判別した場合(#733でYes)、ユーザにタップされたアイコンの配置データ6Cを座標データ6Aに基づいて特定して、その配置データ6Cに含まれる画像データを用いて処理後アイコンを生成し(#734)、その処理後アイコンを用いて操作画面5B6を生成する(#735)。ユーザのジェスチャがタップであると判別した場合(#733でNo)、ユーザにタップされたアイコンの配置データ6Cを座標データ6Aに基づいて特定して、そのアイコンがタップされた直後の操作画面5C1を生成する(#735)。
MFPユニット2は、記憶されている操作画面5B2を読み出し(#736)、生成した操作画面と読み出した操作画面5B2とを合成することで、複合操作画面を生成する(#737)。生成した複合操作画面を、セレクタ5へ送信する(#738)。
MFPユニット2は、MFPユニット2の最新の画面を更新した場合(図21の#741でYes)、所定の時間が経過するごとにつまり所定の時間間隔で(#742でYes)、差分データ6F1をサーバユニット3へ送信する(#743)。
上述の処理は、MFPユニット2のオペレーティングシステムが終了するまで適宜、実行される(#744でNo)。
なお、サーバユニット3は、画面出力プログラム31Pを起動すると、上述のMFPユニット2のステップ#701〜#744の処理と同様の処理を行う。
すなわち、サーバユニット3は、操作画面5B2を生成し、MFPユニット2へ送信する(#701〜#702)。複合操作画面5B3を生成し、設定に応じてセレクタ5へ送信する(#703〜#706)。
また、サーバユニット3は、座標データ6Aをセレクタ5から受信した場合は、操作画面および複合操作画面を生成してその複合操作画面をセレクタ5へ送信し、または、座標データ6AをMFPユニット2へ送信する(#711〜#721)。座標データ6Aをセレクタ5からではなくMFPユニット2から受信した場合は、操作画面および複合操作画面を生成して、生成した複合操作画面をセレクタ5へ送信する(#731〜#738)。
また、サーバユニット3は、サーバユニット3の最新の画面を更新した場合、所定の時間間隔で差分データ6F2をMFPユニット2へ送信する(#741〜#743)。
第2の実施形態によると、映像信号の出力元がMFPユニット2からサーバユニット3に変わりまたはサーバユニット3からMFPユニット2に変わった際の、画面の切り替わりに遅延が発生することを第1の実施形態よりも抑えることができる。
〔その他の実施形態〕
第1の実施形態では、サーバユニット3は、操作画面5B2がタッチされたときに、最も直近に生成された操作画面5B1をMFPユニット2へ要求した。しかし、予めMFPユニット2から操作画面5B1を受信し、その操作画面5B1を記憶しておいてもよい。そして、操作画面5B2がタッチされたときに、記憶している操作画面5B1を読み出してもよい。
また、MFPユニット2も、最も直近に生成された操作画面5B2をサーバユニット3から予め受信し、その操作画面5B2を記憶しておいてもよい。そして、コントローラ50gから座標データ6Aを受信している場合に、操作画面5B1がタッチされたときに、記憶している操作画面5B2を読み出してもよい。
第2の実施形態では、MFPユニット2は所定の時間間隔で差分データ6F1をサーバユニット3へ送信し、サーバユニット3は所定の時間間隔で差分データ6F2をMFPユニット2へ送信した。しかし、MFPユニット2およびサーバユニット3の少なくとも一方が省電力の状態である場合は、差分データ6F1および差分データ6F2を所定の時間間隔ではなく特定のイベントが発生したときに送信するようにしてもよい。
例えば、MFPユニット2は、省電力の状態であるときに操作画面5B1などMFPユニット2の画面がタッチされるなどして操作画面5B1を更新する必要が生じた場合に、差分データ6F1を生成してサーバユニット3へ送信してもよい。同様に、サーバユニット3は、省電力の状態であるときに操作画面5B2などサーバユニット3の画面を更新する必要が生じた場合に、差分データ6F2を生成してMFPユニット2へ送信してもよい。
第1の実施形態および第2の実施形態では、最初にサーバユニット3が、複合操作画面5B3の画面データをディスプレイモジュール4A用の映像信号6B3に変換しセレクタ5へ送信する処理を、ビデオボード30gに実行させた。しかし、最初にMFPユニット2がその処理をビデオボード20jに実行させてもよい。
第1の実施形態および第2の実施形態では、ユーザによるタッチパネルディスプレイ4に対するタッチに応じて、MFPユニット2またはサーバユニット3が適宜、複合操作画面を生成した。しかし、タッチパネルディスプレイ4に対するタッチ以外のイベントが発生したときにも、MFPユニット2またはサーバユニット3が新たな複合操作画面を生成してもよい。
例えば、MFPユニット2で紙詰まりもしくはトナー切れなどのエラーまたはファックスの受信などの特定のイベントが発生した場合は、MFPユニット2は、サーバユニット3へ操作画面5B2を必要に応じて要求し、サーバユニット3は要求に応じて操作画面5B2を生成してMFPユニット2へ送信する。MFPユニット2は、サーバユニット3から操作画面5B2を受信すると、そのイベントが発生した旨のメッセージを含む操作画面を生成し、生成した操作画面および受信した操作画面5B2を合成することで、新たな複合操作画面を生成する。既に操作画面5B2を受信している場合は、その操作画面5B2を用いればよい。操作画面5B2は、差分データに基づいて更新されていることもある。この場合は、更新された操作画面5B2を用いればよい。サーバユニット3で特定のイベントが発生した場合も同様に、サーバユニット3が新たな複合操作画面を生成すればよい。
第2の実施形態では、MFPユニット2が差分データ6F1をサーバユニット3へ送信する時間間隔と、サーバユニット3が差分データ6F2をMFPユニット2へ送信する時間間隔と、が同じであった。しかし、異なる時間間隔で差分データ6F1、6F2を送信してもよい。つまり、MFPユニット2およびサーバユニット3それぞれに、異なる時間間隔が設定されていてもよい。この場合は、MFPユニット2およびサーバユニット3それぞれが、設定されている時間間隔を予め通知し合うようにしてもよい。そして、MFPユニット2およびサーバユニット3は、他方から通知された時間間隔で処理後アイコンの合成を試みればよい。
または、設定されている時間間隔が異なる場合は、時間間隔の短い方が、時間間隔の長い方に合わせて、差分データを送信してもよい。
例えば、MFPユニット2が差分データ6F1を送信する時間間隔が5秒であり、サーバユニット3が差分データ6F2を送信する時間間隔が1秒であった場合、サーバユニット3は時間間隔を1秒から5秒にして差分データ6F2を送信すればよい。
MFPユニット2およびサーバユニット3それぞれの時間間隔は、MFPユニット2およびサーバユニット3それぞれの画像の描画の能力に応じて決定し、設定すればよい。MFPユニット2およびサーバユニット3それぞれの時間間隔を、例えば、ビデオボード20jおよびビデオボード30gそれぞれのフレームレートまたはリフレッシュレートが高いほど短い時間に決定すればよい。例えば、フレームレートが、N/秒、である場合は、時間間隔を、K/N、に決定すればよい。なお、「K」は、定数である。
第1の実施形態または第2の実施形態において、画面データが入力される入力端子を第1の入力端子50aから第2の入力端子50b(またはこの逆)に切り替えるときに、MFPユニット2およびサーバユニット3のうちの切り替える前に映像信号を出力しているほうのユニットが、ディスプレイモジュール4Aのバックライトを消灯させてもよい。これにより、入力端子が切り替わることによって発生する画面のちらつきを低減することができる。
その他、複合機1、MFPユニット2、およびサーバユニット3の全体または各部の構成、処理の内容、処理の順序、データの構成、画面の構成などは、本発明の趣旨に沿って適宜変更することができる。