以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、サーバー200と、中継装置として機能するゲートウェイ(G/W)装置300と、画像処理装置として機能するMFP(Multi Function Peripheral)100,100A,100Bと、を含む。サーバー200およびゲートウェイ装置300それぞれは、インターネット5に接続されており、インターネット5を介して互いに通信可能である。ゲートウェイ装置300は、さらに、ローカルエリアネットワーク(LAN)3と接続されており、そのLAN3に、MFP100,100A,100Bが接続されている。ゲートウェイ装置300は、LAN3に接続されたMFP100,100A,100Bと通信可能である。このため、MFP100,100A,100Bは、GW装置300を介して、サーバー200と通信可能である。
本実施の形態における情報処理システム1において、MFP100,100A,100Bそれぞれは、予め登録された複数のユーザーそれぞれに対して、操作画面を登録する機能を有する。このため、サーバー200に、MFP100,100A,100Bそれぞれの使用が許可されたユーザーを登録ユーザーとして登録している。また、サーバー200は、複数の登録ユーザーそれぞれについて、顔認証するための特徴データを予め登録している。ここでは、特徴データを、登録ユーザーを撮像して得られる認証画像としている。さらに、サーバー200には、複数の登録ユーザーそれぞれに対応する操作画面を特定するためのカスタムデータが記憶されている。
MFP100,100A,100Bそれぞれは、それを操作するユーザーの認証をサーバー200に依頼し、サーバー200においてユーザーが複数の登録ユーザーのいずれかであることが確認されると、操作ユーザーとして認証する。また、MFP100,100A,100Bそれぞれは、操作ユーザーに対応するカスタムデータを、サーバー200からダウンロードし、カスタムデータに基づいて操作画面を表示する。このため、ユーザーは、MFP100,100A,100Bのいずれを用いる場合であっても、同じ操作画面が表示されるので、便利である。また、ユーザーは、MFP100,100A,100Bのいずれかで操作画面のカスタム化すれば、カスタム化された後のカスタムデータがサーバー200に登録される。このため、ユーザーは、MFP100,100A,100Bのいずれかで操作画面をカスタム化すればよいので、MFP100,100A,100Bそれぞれで操作画面をカスタム化する操作をする必要がなく、操作が簡便である。
なお、本実施の形態においては、カスタムデータを、サーバー200に記憶するようにしたが、LAN3に接続されたコンピューターにカスタムデータを記憶するようにしてもよい。また、MFP100,100A,100Bのいずれかにカスタムデータを記憶するようにしてもよい。この場合には、MFP100,100A,100Bのうちカスタムデータを記憶する装置が、サーバー200と同様の機能を備える。MFP100,100A,100Bそれぞれのハードウェア構成および機能は同じなので、ここでは、特に言及しない限りMFP100を例に説明する。
図2は、本実施の形態の1つにおけるサーバーのハードウェア構成の一例を示す図である。図2を参照して、サーバー200は、サーバー200の全体を制御するためのCPU201と、CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をインターネット5に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置208と、を含む。
外部記憶装置208は、CD−ROM(Compact Disk Read Only Memory)209が装着される。CPU201は、外部記憶装置208を介してCD−ROM209にアクセス可能である。CPU201は、外部記憶装置208に装着されたCD−ROM209に記録されたプログラムをRAM203にロードして実行する。なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209に限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)などの半導体メモリ等の媒体でもよい。
また、CPU201が実行するプログラムは、CD−ROM209に記録されたプログラムに限られず、HDD204に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、サーバー200のHDD204に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、サーバー200が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD204に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、本発明の実施の形態の1つにおけるMFPの外観を示す斜視図である。図4は、MFPのハードウェア構成の概要を示すブロック図である。図3および図4を参照して、MFP100は、メイン回路110と、被写体を撮像するカメラ119と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
カメラ119は、被写体を撮像し、画像データを出力する撮像装置である。カメラ119は、操作パネル160の上方で、MFP100の本体に固定して取り付けられる。カメラ119は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU111に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。カメラ119が有するレンズは、広角レンズであることが好ましい。また、カメラ119のレンズは、その画角が固定されている。このため、カメラ119の撮像範囲は固定される。カメラ119の撮像範囲がMFP100を操作するユーザーの顔を含むように、カメラ119の画角が設定される。具体的には、カメラ119は、その撮像範囲に、立った姿勢で操作パネル160を操作するユーザーの顔を含むように画角および配置される位置が設定される。ユーザーの身長はバラツキがあるので、ユーザーの顔の高さに所定の範囲を設けるようにして、カメラ119の画角および配置位置を決定すればよい。さらに、カメラ119は、その撮像範囲が、MFP100から少なくとも第1の距離だけ離れた地点に存在するユーザーの顔を含むように画角および配置される位置が設定される。第1の距離は、カメラ119の解像度、焦点距離などの性能によって定まり、カメラ119から第1の距離以内に位置するユーザーの顔を撮像可能な距離である。
自動原稿搬送装置120は、原稿トレイ125上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイ127上に排出する。自動原稿搬送装置120は、原稿トレイ125に載置される原稿を検出する原稿検出センサーを備える。
原稿読取部130は、原稿を読み取るための矩形状の読取面を有する。読取面は、例えばプラテンガラスにより形成される。自動原稿搬送装置120は、読取面の1つの辺に平行な軸を中心に回転可能にMFP100の本体に接続され、開閉可能である。自動原稿搬送装置120の下方に、原稿読取部130が配置されており、自動原稿搬送装置120が回転して開いた開状態で、原稿読取部130の読取面が露出する。このため、ユーザーは、原稿読取部130の読取面に原稿を載置可能である。自動原稿搬送装置120は、原稿読取部130の読み取り面が露出する開状態と、読み取り面を覆う閉状態とに状態を変化可能である。自動原稿搬送装置120は、自動原稿搬送装置120の開状態を検出する状態検出センサーを備える。
原稿読取部130は、光を照射する光源と、光を受光する光電変換素子とを含み、読取面に載置された原稿に形成されている画像を走査する。読取領域に原稿が載置されている場合、光源から照射された光は原稿で反射し、反射した光が光電変換素子で結像する。光電変換素子は、原稿で反射した光を受光すると、受光した光を電気信号に変換した画像データを生成する。原稿読取部130は、画像データをCPU111に出力する。
給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。画像形成部140は、CPU111により制御され、周知の電子写真方式により画像を形成するものであって、CPU111から入力される画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイ155に排出する。CPU111が画像形成部140に出力する画像データは、原稿読取部130から入力される画像データの他、外部から受信されるプリントデータ等の画像データを含む。
メイン回路110は、MFP100の全体を制御するCPU(中央演算処理装置)111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのHDD115と、ファクシミリ部116と、人感センサー117と、外部記憶装置118と、を含む。CPU111は、カメラ119、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる画像データを一時的に記憶する。
操作パネル160は、MFP100の上面に設けられる。操作パネル160は、表示部161と操作部163とを含む。表示部161は、例えば、液晶表示装置(LCD)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、LCDに代えて、画像を表示する装置であれば、例えば、有機EL(electroluminescence)ディスプレイを用いることができる。
操作部163は、タッチパネル165と、ハードキー部167とを含む。タッチパネル165は、静電容量方式である。なお、タッチパネル165は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
タッチパネル165は、その検出面が表示部161の上面または下面に表示部161に重畳して設けられる。ここでは、タッチパネル165の検出面のサイズと、表示部161の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル165は、ユーザーが、表示部161の表示面を指示する位置を検出面で検出し、検出した位置の座標をCPU111に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル165が出力する座標を、表示面の座標に置き換えることができる。
ハードキー部167は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル165は、表示部161の表示面中でユーザーにより指示された位置を検出する。ユーザーがMFP100を操作する場合は直立した姿勢となる場合が多いので、表示部161の表示面、タッチパネル165の操作面およびハードキー部167は、上方を向いて配置される。ユーザーが表示部161の表示面を容易に視認することができ、ユーザーが指で操作部163を容易に指示することができるようにするためである。
通信I/F部112は、ネットワークにMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターまたはデータ処理装置と通信する。なお、通信I/F部112が接続されるネットワークは、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワークは、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するとともに、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
人感センサー117は、MFP100から所定の範囲内の人を検出し、CPU111に出力する。本実施の形態においては、人感センサー117として赤外線センサーを用いている。なお、人を検出できれば、赤外線センサーに代えて、焦電センサーを用いてもよい。
外部記憶装置118は、CPU111により制御され、CD−ROM118A、または半導体メモリが装着される。本実施の形態においては、CPU111は、ROM113に記憶されたプログラムを実行する例を説明するが、CPU111は、外部記憶装置118を制御して、CD−ROM118AからCPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM114に記憶し、実行するようにしてもよい。
なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、CD−ROM118Aに限られず、フレキシブルディスク、カセットテープ、光ディスク、ICカード、光カード、半導体メモリ等の媒体でもよい。さらに、CPU111がネットワークに接続されたコンピューターからプログラムをダウンロードしてHDD115に記憶する、または、ネットワークに接続されたコンピューターがプログラムをHDD115に書込みするようにして、HDD115に記憶されたプログラムをRAM114にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図5は、本実施の形態におけるMFPによる人物の検出を説明する模式図である。図4を参照して、MFP100を側面方向から見た場合のカメラ119の撮像範囲をハッチングで示している。ユーザーAがMFP100から距離L1に位置する場合には、ユーザーAの顔はカメラ119の撮像範囲に納まっている。一方、ユーザーAがMFP100の操作パネル160を操作可能な位置であるMFP100から距離L2に位置する場合、ユーザーAの顔はカメラ119の撮像範囲に納まっている。
カメラ119の画角は一定なので、MFP100から距離が離れるほど被写体のサイズは小さくなる。また、MFP100から距離が離れるほど、カメラ119の撮像範囲が広くなるので、撮像範囲に複数のユーザーが含まれる場合がある。例えば、カメラ119が出力する画像において、ユーザーAがMFP100から距離L1だけ離れた位置におけるユーザーAの顔のサイズは、MFP100から距離L2だけ離れた位置におけるユーザーAの顔のサイズより小さい。
本実施の形態におけるMFP100は、カメラ119が出力する画像に基づいて、ユーザーを認証するが、画像中の顔のサイズが大きいほど、データ量が多いため、認証の精度が高い。このため、ユーザーAが予め登録された登録ユーザーであることの確からしさを示す一致度は、MFP100から離れるに従って小さな値となる。具体的には、ユーザーAがMFP100から距離L1だけ離れて位置する状態でカメラ119が出力する画像に基づいて決定される一致度は、ユーザーAがMFP100から距離L2だけ離れて位置する状態でカメラ119が出力する画像に基づいて決定される一致度よりも小さい。
図6は、本実施の形態におけるMFPが備えるCPUが有する機能の一例を示す図である。図6に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶されたカスタム画面表示プログラムを実行することにより、CPU111に形成される機能である。図6を参照して、CPU111は、撮像制御部51と、検出部53と、仮依頼部55と、認証前取得部57と、認証依頼部59と、認証後取得部61と、表示制御部63と、消去部65と、を含む。
撮像制御部51は、カメラ119を制御して、カメラ119に撮像させる。カメラ119は、撮像すると静止画像を出力するので、撮像制御部51は、カメラ119が出力する静止画像を取得する。撮像制御部51は、人感センサー117により人が検出されることに応じて、カメラ119に撮像させる。また、撮像制御部51は、人感センサー117により人が検出されている間は、所定時間間隔でカメラ119に撮像させ、カメラ119が出力する静止画像を検出部53に出力する。なお、カメラ119が動画像を出力するようにしてもよい。この場合、撮像制御部51は、カメラ119が出力する動画像のうちから所定時間間隔で静止画像を生成し、その静止画像を検出部53に出力するようにすればよい。
なお、撮像制御部51は、カメラ119が出力する動画像を解析して、人が検出される場合に、静止画像を生成し、静止画像を検出部53に出力するようにしてもよい。この場合には、人感センサー117は不要である。
検出部53は、撮像制御部51から静止画像が入力されることに応じて、静止画像中から人物を検出する。具体的には、検出部53は、静止画像中で人物が表された部分を抽出し、抽出された部分に表された人物を検出する。以下、静止画像中で人物が表された部分を人物部分といい、人物部分に表された人物を検出人物という。検出部53は、検出人物を検出する場合、人物部分を仮依頼部55および認証依頼部59に出力する。検出部53は、静止画像中から人物部分を抽出する技術は、限定するものではないが、パターンマッチングを用いるようにすればよい。例えば、顔、目、鼻、口、眉毛等の顔の各部分の形状および色等の特徴量を予め定めておき、特徴量を参照して、静止画像から人物部分を抽出する。また、カメラ119の撮像範囲に人物が存在しない状態でカメラ119が撮像して出力する静止画像を基準画像とし、カメラ119が出力する静止画像と基準画像との差分を人物が表された部分として抽出するようにしてもよい。検出部53は、複数の検出人物を検出する場合がある。検出部53は、複数の検出人物を検出する場合、複数の検出人物がそれぞれ表された複数の人物部分を仮依頼部55および認証依頼部59に出力する。
仮依頼部55は、検出部53によって1以上の人物部分が検出されると、所定時間間隔で、仮認証依頼をサーバー200に送信するとともに認証前取得部57に仮取得指示を出力する。仮依頼部55は、人物部分が検出されなくなるか、または、操作ユーザーが認証されるまで、仮認証依頼をサーバー200に送信するとともに認証前取得部57に仮取得指示を出力する。
認証依頼部59は、ユーザーが操作部163を操作可能な位置に存在することを検出すると、認証依頼をサーバー200に送信する。例えば、認証依頼部59は、操作部163がユーザーによる任意の操作を受け付けることに応じて、認証依頼を送信する。具体的には、認証依頼部59は、操作部163がユーザーにより入力される操作を受けた後に、カメラ119が出力する静止画像に基づいて検出部53が抽出した人物部分を含む認証依頼をサーバー200に送信するとともに、認証後取得部61に取得指示を出力する。認証依頼を受信するサーバー200は、認証結果を送信するので、認証依頼部59は、認証結果が認証成功を示す場合、表示制御部63に表示指示を出力する。認証結果および表示指示は、認証された操作ユーザーのユーザー識別情報を含む。認証依頼部59は、認証結果が認証失敗を示す場合、表示制御部63に表示指示を出力しない。
図7は、本実施の形態におけるサーバーが備えるCPUが有する機能の一例を示すブロック図である。図7に示す機能は、サーバー200が備えるCPU201が、ROM202、HDD204またはCD−ROM209に記憶されたカスタムデータ送信プログラムを実行することにより、CPU201に形成される機能である。カスタムデータ送信プログラムは、カスタム画面表示プログラムの一部である。図7を参照して、サーバー200が備えるCPU201は、仮依頼受付部251と、認証部253と、仮決定部255と、カスタムデータ送信部257と、認証依頼受付部259と、を含む。カスタムデータ送信部257は、認証前送信部261と、認証後送信部265と、を含む。
認証部253は、人物が表された人物部分に基づいて、人物部分に表された検出人物が予め登録された複数の登録ユーザーのいずれであるかを決定する。認証部253は、比較部271を含む。比較部271は、人物部分を、複数の登録ユーザーにそれぞれに対して定められた特徴データとそれぞれ比較し、比較の結果得られる一致度を決定する。一致度は、検出人物が登録ユーザーであることの確からしさを示す値である。一致度は、人物部分が登録ユーザーに対して定められた特徴データで特定される特徴を有する程度を示す。一致度は、顔で人物を認証するアルゴリズムによって求め方が異なるが、いずれのアルゴリズムを利用する場合であっても比較の結果、検出人物が登録ユーザーであることの確からしさを示す値が存在するので、その値を一致度とすればよい。ここでは、特徴データを、登録ユーザーを撮像して得られる認証画像としている。このため、一致度は、人物部分と認証画像とが類似する程度を示す。一致度は、人物部分と認証画像とが類似するほど高い値となる。
仮依頼受付部251は、通信部205がMFP100,100A,100Bのいずれかから仮認証依頼を受信する場合に、仮認証依頼を受け付ける。仮認証依頼は、1以上の人物部分を含む。ここでは、MFP100から仮認証依頼を受け付ける場合を例に説明する。仮依頼受付部251は、仮認証依頼を受け付けることに応じて、認証部253に仮認証指示を出力する。仮認証指示は、仮認証依頼に含まれる1以上の人物部分を含む。MFP100は、カメラ119の撮像範囲に人物が存在する間、所定時間間隔で仮認証依頼を送信する。このため、仮依頼受付部251は、MFP100から所定時間間隔で仮認証依頼を受け付けるごとに、仮認証指示を認証部253に出力する。
認証依頼受付部259は、通信部205がMFP100,100A,100Bのいずれかから認証依頼を受信する場合に、認証依頼を受け付ける。ここでは、MFP100から認証依頼を受け付ける場合を例に説明する。認証依頼は、1つの人物部分を含む。認証依頼受付部259は、認証依頼を受け付けることに応じて、認証部253に認証指示を出力する。認証指示は、認証依頼に含まれる1つの人物部分を含む。MFP100は、操作部163がユーザーによる操作を受け付ける場合に、仮認証依頼を送信する。
認証部253は、認証依頼受付部259から認証指示が入力されることに応じて、認証指示に含まれる人物部分に基づいて、MFP100を操作する操作ユーザーを認証する。具体的には、認証部253は、複数の登録ユーザーのうちに、認証依頼に含まれる人物部分に表された検出人物に対する一致度がしきい値TH1以上となる登録ユーザーが存在する場合に、検出人物を登録ユーザーと判断し、操作ユーザーとして認証する。認証部253は、操作ユーザーを認証する場合、認証された操作ユーザーを識別するためのユーザー識別情報を認証後送信部265に出力する。認証部253は、複数の登録ユーザーのうちに、認証依頼に含まれる人物部分に表された検出人物に対する一致度がしきい値TH1以上となる登録ユーザーが存在しない場合に、操作ユーザーを認証することなく、エラー信号を認証依頼受付部259に出力する。認証依頼受付部259は、認証指示を出力した後にエラー信号が入力される場合、認証依頼を送信してきたMFP100に認証に失敗したことを示すエラー信号を送信する。
認証部253は、操作ユーザーを認証する前の段階で、仮依頼受付部251から仮認証指示が入力される場合、仮認証指示に含まれる1以上の人物部分それぞれについて、複数の登録ユーザーそれぞれの一致度を決定し、人物部分を識別するための人物部分識別情報と、複数の登録ユーザーそれぞれの一致度との組を仮決定部255に出力する。認証部253は、仮認証指示が複数の人物部分を含む場合、複数の人物部分ごとに、人物部分識別情報と、複数の登録ユーザーそれぞれの一致度との組を仮決定部255に出力する。
仮決定部255は、人物部分識別情報で特定される検出人物に対する一致度がしきい値TH2以上の登録ユーザーを、その検出人物に対する仮登録ユーザーに決定する。ただし、しきい値TH2はしきい値TH1よりも小さい。したがって、仮決定部255は、一人の検出人物に2以上の仮登録ユーザーを決定する場合がある。仮決定部255は、検出人物に対する仮登録ユーザーを決定する場合、仮送信指示を認証前送信部261に出力する。仮送信指示は、仮登録ユーザーを識別するためのユーザー識別情報と、検出人物に対するその仮登録ユーザーの一致度との組を含む。仮決定部255が、検出人物に対して複数の仮登録ユーザーを決定する場合、仮送信指示は、複数の仮登録ユーザーそれぞれのユーザー識別情報と一致度との組を仮登録ユーザーの数だけ含む。
仮依頼受付部251は、MFP100から所定時間間隔で仮認証依頼を受け付ける。このため、仮決定部255は、仮認証指示が所定時間間隔で入力されなくなるまでの間、または、仮認証指示が入力されてから認証部253によって操作ユーザーが認証されるまでの間、所定時間間隔で、検出人物に対する仮登録ユーザーを決定する。
認証前送信部261は、仮決定部255から仮送信指示が入力されることに応じて、仮送信指示に含まれるユーザー識別情報と、そのユーザー識別情報で識別される仮登録ユーザーに関連するカスタムデータのうち一致度に対応する部分と、一致度とを仮認証依頼を送信してきた装置、ここではMFP100に送信する。認証前送信部261は、仮決定部255から仮送信指示が所定時間間隔で入力される。このため、同一のユーザー識別情報に対して、異なる時間に異なる一致度が入力される場合がある。認証前送信部261は、先に入力される一致度よりも後に入力される一致度が大きい場合には、仮登録ユーザーに関連するカスタムデータのうち後に入力される一致度に対応する部分であって未だ送信されていない残りの部分を送信する。先に入力される一致度よりも後に入力される一致度が大きい場合は、仮登録ユーザーがMFP100に近づいている可能性が高く、MFP100を次に操作する可能性が高い。仮登録ユーザーがMFP100に近づくにしたがって、仮登録ユーザーに関連するカスタムデータをMFP100に送信する割合が増加する。このため、その仮登録ユーザーがMFP100の操作を開始した後に送信するカスタムデータの量を少なくすることができ、操作画面を表示するまでの待ち時間を短くすることができる。また、認証前送信部261は、先に入力される一致度よりも後に入力される一致度が小さい場合には、仮登録ユーザーに関連するカスタムデータを送信しない。
カスタムデータは、複数の操作画面で構成されている。カスタムデータのうち一致度に対応する部分は、複数の操作画面のうち一致度に対応する割合の数の操作画面である。例えば、一致度が50%の場合、カスタムデータのうち一致度に対応する部分は、カスタムデータに含まれる複数の操作画面のうち50%の数の操作画面である。したがって、認証前送信部261は、仮決定部255によって複数の仮登録ユーザーが決定される場合、一致度が高い仮登録ユーザーほど多くの割合でカスタムデータを送信する。認証前送信部261は、カスタムデータを送信する場合、仮登録ユーザーのユーザー識別情報と、送信されたカスタムデータの一部に含まれる操作画面を識別するための画面識別情報との組を認証後送信部265に出力する。
認証前送信部261は、登録ユーザーに関連付けられたカスタムデータで定められる複数の操作画面のうちから一致度に対応する数の操作画面を送信する。例えば、カスタムデータで定められる操作画面が100個の場合、一致度が50%ならば50個の操作画面を送信する。また、複数の操作画面それぞれのデータ量が異なる場合は、認証前送信部261は、登録ユーザーに関連付けられたカスタムデータで定められる複数の操作画面のうちから一致度に対応するデータ量になるまで操作画面を送信するようにしてもよい。例えば、カスタムデータで定められる操作画面のデータ量の合計が10MByteの場合、一致度が50%ならば5Mbyteになるまで操作画面を送信する。
認証前送信部261は、優先送信部263を含む。カスタムデータで定められる複数の操作画面は、優先順位が定められている。優先送信部263は、一致度に対応する複数の操作画面を、優先順位の高い操作画面から順に送信する。カスタムデータで定められる複数の操作画面が階層構造で互いに関連付けられている場合、複数の操作画面のうち上位の階層に属する操作画面を下位の階層に属する操作画面よりも優先順位を高くするようにしてもよい。また、同一階層に属する複数の操作画面それぞれに対しては、優先順位を予め定めておくようにすればよい。例えば、複数の操作画面それぞれに遷移するための遷移ボタンを配列したメニュー画面において、複数の遷移ボタンの配列は、左から右に向かって優先順位が低くなり、上から下に向かって優先順位が低くなる。このため、メニュー画面において、第1の操作画面より左に配置された第2の操作画面を第1の操作画面のより優先順位を高くし、第1の操作画面より上に配置された第3の操作画面を第1の操作画面のより優先順位を高くする。
また、カスタムデータで定められる複数の操作画面それぞれが、複数種類のファイルで構成される場合がある。優先送信部263は、複数種類のファイルのうち所定の種類のファイルを他の種類のファイルよりも優先して送信する。例えば、操作画面が、第1の種類のファイル〜第3の種類のファイルで構成される場合、カスタムデータで定められる複数の操作画面それぞれにおいて、第1の種類のファイルを送信した後に、第2の種類のファイルを送信し、最後に第3の種類のファイルを送信する。複数種類のファイルは、例えば、拡張子がhtml、js、py、css、png、jpgのファイルである。ファイルの種類に対して優先順位を定めておけばよい。操作画面が、拡張子がhtml、js、py、css、png、jpgの種類のファイルで構成される場合、拡張子がhtml、js、py、css、png、jpgの順に優先順位を定めるようにすればよい。この場合、少なくとも拡張子がhtmlのファイルを送信すれば、カスタムデータの一部を受信する装置、ここではMFP100においては、操作画面を部分的に表示することができる。このため、MFP100においては、拡張子がhtmlよりも優先順位が低い拡張子のファイルを送信する前の段階で、操作画面を表示することができる。なお、優先送信部263は、一致度で定まる操作画面の数またはデータ量により定まる操作画面の数が、整数とならない場合、最後の操作画面を除く操作画面について全ての種類のファイルを送信し、最後の操作画面について、複数種類のファイルのうち優先度の高い種類のファイルから順に送信するようにしてもよい。
優先送信部263は、仮決定部255からユーザー識別情報と一致度との組が複数入力される場合、複数のユーザー識別情報でそれぞれ特定される複数の仮登録ユーザーのうち対応する一致度が高い仮登録ユーザーを優先して、カスタムデータの一部を送信する。一致度が高い仮登録ユーザーほど、仮認証依頼を送信してきたMFP100からの距離が短い可能性があり、MFP100を使用する可能性が高いからである。例えば、優先送信部263は、一致度が高い仮登録ユーザーに関連するカスタムデータの一部から順に送信する。
認証後送信部265は、認証部253から操作ユーザーのユーザー識別情報が入力されることに応じて、操作ユーザーを識別するためのユーザー識別情報と、操作ユーザーに対応するカスタムデータのうち、認証前送信部261によって送信された部分以外の残りの部分を、認証依頼を送信してきた装置、ここではMFP100に送信する。
図6に戻って、認証前取得部57は、仮依頼部55から仮取得指示が入力された後に、通信部205がサーバー200から受信する仮登録ユーザーのユーザー識別情報と、カスタムデータの部分と、一致度と、を取得する。認証前取得部57は、通信部205により受信された仮登録ユーザーのユーザー識別情報と、カスタムデータの部分と、一致度とを関連付けて、HDD115の予め定められたカスタム領域に記憶する。
消去部65は、認証前取得部57により取得されたカスタムデータを消去する。認証前取得部57により取得されたカスタムデータは、HDD115が備えるカスタム領域に記憶される。カスタム領域は記憶可能な容量が予め定められている。消去部65は、認証前取得部57によってカスタムデータの一部が記憶された後、検出部53によって検出人物が検出されなくなる場合、カスタム領域に記憶されているカスタムデータを消去する。
また、消去部65は、認証前取得部57によりカスタムデータの一部がHDD115のカスタム領域に記憶される段階で、カスタム領域に記憶可能な容量がカスタムデータの一部よりも小さい場合、カスタム領域に記憶されているカスタムデータのうち、最小の一致度に関連付けられたカスタムデータを消去する。これにより、新たなカスタムデータを記憶するための領域を確保することができる。一致度が最小のカスタムデータに対応する検出人物は、MFP100からの距離が最も長い可能性が高く、MFP100を次に操作する可能性が最も低いため、使用される可能性の低いものから順にカスタムデータを消去することができる。
認証後取得部61は、認証依頼部59から取得指示が入力された後に、通信部205がサーバー200から受信する操作ユーザーのユーザー識別情報と、カスタムデータの残部分と、を受信する。認証後取得部61は、通信部205により受信された操作ユーザーのユーザー識別情報と、カスタムデータの残部分とを関連付けて、HDD115の予め定められたカスタム領域に記憶する。
表示制御部63は、認証依頼部59から表示指示が入力されることに応じて、表示指示に含まれる操作ユーザーのユーザー識別情報と関連付けられたカスタムデータに基づいて、操作画面を決定し、決定された操作画面を表示部161に表示する。認証依頼部59から表示指示が入力された時点で、操作ユーザーに関連するカスタムデータの全てが取得されていない場合がある。この場合、認証前取得部57によって操作ユーザーに関連するカスタムデータの一部がサーバー200から取得され、HDD115のカスタム領域に記憶されている。表示制御部63は、HDD115のカスタム領域に記憶されたカスタムデータの一部を用いて、操作画面を表示部161に表示する。このため、操作ユーザーが操作部163に操作を入力してから操作画面が表示部161に表示するまでの時間をできるだけ短くすることができる。
図8は、カスタム画面表示処理の流れの一例を示すフローチャートである。カスタム画面表示処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶されたカスタム画面表示プログラムを実行することにより、CPU111により実行される処理である。図8を参照して、MFP100が備えるCPU111は、ユーザーを検出したか否かを判断する(ステップS01)。人感センサー117がユーザーを検出したならば処理をステップS02に進めるが、そうでなければ処理をステップS21に進める。ステップS21においては、HDD115のカスタム領域に記憶されたカスタムデータを消去し、処理をステップS01に戻す。HDD115のカスタム領域に記憶されたカスタムデータが記憶されていない場合には、そのまま処理をステップS01に戻す。
ステップS02においては、カメラ119を制御して撮像させ、カメラ119が出力する静止画像を取得する。次のステップS03においては、静止画像から人物を検出し、処理をステップS04に進める。例えば、静止画像中から人物が表された人物部分を抽出する。人物部分は、例えば、人の顔が表された部分である。静止画像が複数の人物部分を含む場合がある。この場合、CPU111は、複数の人物部分を静止画像から抽出する。
ステップS04においては、サーバー200に仮認証依頼を送信し、処理をステップS05に進める。仮認証依頼は、ステップS03により検出された人物部分を含む。仮認証指示を受信するサーバー200は、仮登録ユーザーに関連するカスタムデータを送信する。ステップS05においては、サーバー200が送信するカスタムデータを受信する。サーバー200は、カスタムデータとともに、仮登録ユーザーのユーザー識別情報と、検出部分に表された検出人物に対する一致度とを送信するので、それらを併せて受信する。カスタムデータを受信したならば処理をステップS06に進めるが、そうでなければ処理をステップS09に進める。
次のステップS06においては、HDD115のカスタム領域に、カスタムデータを記憶するための空き領域が存在するか否かを判断する。ステップS05において受信されたカスタムデータの一部のデータ量が、カスタム領域の空き容量より小さければ処理をステップS08に進めるが、そうでなければ処理をステップS07に進める。ステップS07においては、一致度が最小のカスタムデータをカスタム領域から消去し、処理をステップS06に戻す。ステップS08においては、ステップS05において受信されたカスタムデータの一部を、カスタムデータとともに受信される仮登録ユーザーのユーザー識別情報および一致度と関連付けてHDD115のカスタム領域に記憶し、処理をステップS09に進める。
ステップS09においては、サーバー200からカスタムデータを受信したか否かを判断する。サーバー200は、複数の仮登録ユーザーを決定する場合、複数の仮登録ユーザーごとにカスタムデータを送信するので、次の仮登録ユーザーのカスタムデータを受信したか否かを判断する。次の仮登録ユーザーのカスタムデータを受信したならば処理をステップS05に戻すが、そうでなければ処理をステップS10に進める。
ステップS10においては、ユーザーにより入力される操作を検出したか否かを判断する。ここでの操作は、操作パネル160または自動原稿搬送装置120に対する操作である。具体的には、タッチパネル165がユーザーの指示する位置を検出する場合、ハードキー部167が複数のハードキーのいずれかの押下を検出する場合に操作パネル160に対する操作を検出する。また、自動原稿搬送装置120が備える状態検出センサーまたは原稿検出センサーがONになると自動原稿搬送装置120に対する操作を検出する。操作を検出したならば処理をステップS12に進めるが、そうでなければ処理をステップS11に進める。
ステップS11においては、ステップS01でユーザーが検出されてから所定時間経過したか否かを判断する。所定時間が経過していなければ処理をステップS10に戻すが、所定時間が経過したならば処理をステップS01に戻す。処理がステップS11からステップS01に戻る場合は、ステップS01でユーザーが検出されてからユーザーによる操作を受け付けることなく所定時間が経過する場合である。この場合、仮登録ユーザーがMFP100から遠ざかっている可能性が高く、仮登録ユーザーがMFP100を操作しない可能性が高い。このため、ステップS01において、ユーザーが検出されなければ処理がステップS21に進み、カスタム領域に記憶されているカスタムデータが消去される。 処理がステップS12に進む場合、ユーザーがMFP100に入力する操作を受け付ける場合である。ステップS12においては、カメラ119を制御して撮像させ、カメラ119が出力する静止画像を取得する。次のステップS13においては、ステップS03と同様に、静止画像から人物を検出し、処理をステップS14に進める。ステップS14においては、サーバー200に認証依頼を送信し、処理をステップS15に進める。認証依頼は、静止画像中で、ステップS13により検出された人物が表された人物部分を含む。認証指示を受信するサーバー200は、ユーザーの認証結果と、操作ユーザーを認証する場合に、操作ユーザーに関連するカスタムデータの残部分を送信する。ステップS15においては、サーバー200が送信する認証結果に基づいて、操作ユーザーが認証されたか否かを判断する。操作ユーザーが認証されたならば処理をステップS16に進めるが、そうでなければ処理をステップS01に戻す。
ステップS16においては、サーバー200が送信するカスタムデータの残部分の受信を開始し、処理をステップS17に進める。HDD115のカスタム領域に、操作ユーザーに対するカスタムデータの一部が記憶されているので、操作ユーザーに対するカスタムデータのうちカスタム領域に記憶されている一部を除く残部分をサーバー200から取得する処理を開始する。
ステップS17においては、操作ユーザーに対するカスタムデータにしたがって、操作画面を表示部161に表示し、処理をステップS18に進める。ステップS16において、カスタムデータの残部分の受信が開始されて受信中の場合であっても、HDD115のカスタム領域に、カスタムデータの一部が記憶されているので、その一部を用いて操作画面を表示部161に表示することができる。したがって、操作ユーザーが操作部163を操作してから操作画面が表示部161に表示されるまでの待ち時間を短くすることできる。
ステップS18においては、ユーザーにより入力される操作を受け付けたか否かを判断する。ここでの操作は、操作パネル160に対する操作である。具体的には、タッチパネル165がユーザーの指示する位置を検出する場合、ハードキー部167が複数のハードキーのいずれかの押下を検出する場合に操作パネル160に対する操作を受け付ける。操作を受け付けるまで待機状態となり、操作を受け付けたならば処理をステップS19に進める。ステップS19においては、受け付けられた操作がログアウトを指示する操作か否かを判断する。ログアウトを指示する操作ならば処理を終了するが、そうでなければ処理をステップS20に進める。ステップS20においては、操作で定まる処理を実行し、処理をステップS18に戻す。操作で定める処理は、例えば、操作画面を切り換える処理を含む。
図9は、カスタムデータ送信処理の流れの一例を示すフローチャートである。カスタムデータ送信処理は、サーバー200が備えるCPU201が、ROM202、HDD204またはCD−ROM209に記憶されたカスタムデータ送信プログラムを実行することにより、CPU201により実行される処理である。カスタムデータ送信プログラムは、カスタム画面表示プログラムの一部である。図9を参照して、CPU201は、MFP100,100A,100Bのいずれかから仮認証依頼を受信したか否かを判断する。仮認証依頼を受信したならば処理をステップS202に進めるが、そうでなければ処理をステップS208に進める。
ステップS202においては、仮認証依頼を送信してきた装置を特定し、処理をステップS203に進める。ここでは、MFP100から仮認証依頼を受信する場合を例に説明する。ステップS203においては、仮決定処理を実行し、処理をステップS204に進める。仮決定処理の詳細は後述するが、仮登録ユーザーと一致度とを決定する処理である。
ステップS204においては、仮決定処理を実行した結果、仮登録ユーザーが決定されたか否かを判断する。仮登録ユーザーが決定されたならば処理をステップS205に進めるが、そうでなければ処理をステップS208に進める。ステップS205においては、仮登録ユーザーのうちから処理対象となる仮登録ユーザーを選択し、処理をステップS206に進める。一致度が大きい仮登録ユーザーから順に選択する。これにより、MFP100の近くに位置する仮登録ユーザーに関連するカスタムデータから順に取得することができる。
ステップS206においては、カスタムデータ部分送信処理を実行し、処理をステップS207に進める。カスタムデータ部分送信処理の詳細は後述するが、仮登録ユーザーに関連するカスタムデータのうち一致度に対応する部分を、仮認証依頼を送信してきた装置、ここではMFP100に送信する処理である。ステップS207においては、ステップS203において決定された仮登録ユーザーのうちに、ステップS205において処理対象に選択されていない仮登録ユーザーが存在するか否かを判断する。未選択の仮登録ユーザーが存在すれば処理をステップS205に戻し、そのような仮登録ユーザーが存在しなければ処理をステップS208に進める。
ステップS208においては、MFP100,100A,100Bのいずれかから認証依頼を受信したか否かを判断する。認証依頼を受信したならば処理をステップS209に進めるが、そうでなければ処理をステップS201に戻す。ここでは、MFP100から認証依頼を受信する場合を例に説明する。ステップS209においては、認証処理を実行し、処理をステップS210に進める。認証処理の詳細は後述するが、MFP100を操作するユーザーを認証する処理である。ステップS210においては、操作ユーザーが決定されたか否かを判断する。MFP100を操作するユーザーが認証される場合、MFP100を操作するユーザーを操作ユーザーに決定する。操作ユーザーが決定されたならば処理をステップS211に進めるが、そうでなければ処理をステップS213に進める。
ステップS211においては、認証依頼を送信してきた装置、ここではMFP100に操作ユーザーを通知し、処理をステップS212に進める。ステップS212においては、認証依頼を送信してきた装置、ここではMFP100に、操作ユーザーに関連付けられたカスタムデータの残部分を送信し、処理をステップS201に戻す。ステップS213においては、認証依頼を送信してきた装置、ここではMFP100にエラーを通知し、処理をステップS201に戻す。
図10は、仮決定処理の流れの一例を示すフローチャートである。仮決定処理は、カスタムデータ送信処理のステップS203において実行される処理である。仮決定処理が実行される前のステップS201において、MFP100から仮認証依頼が受信されており、仮認証依頼に含まれる1以上の人物部分が特定される。図10を参照して、仮認証依頼に含まれる1以上の人物部分のうちから1つを処理対象に選択し(ステップS31)、処理をステップS32に進める。
ステップS32においては、複数の登録ユーザーのうちから一人の登録ユーザーを処理対象として選択し、処理をステップS33に進める。ステップS33においては、人物部分を、登録ユーザーの特徴データと比較し、処理をステップS34に進める。ステップS34においては、比較の結果得られる一致度を決定し、処理をステップS35に進める。ステップS35においては、一致度がしきい値TH2以上か否かを判断する。一致度がしきい値TH2以上ならば処理をステップS36に進めるが、そうでなければ処理をステップS38に進める。
ステップS36においては、ステップS32において選択された登録ユーザーを、ステップS31において選択された人物部分に表された検出人物に対する仮登録ユーザーに決定し、処理をステップS37に進める。ステップS37においては、仮登録ユーザーに一致度を関連付けて、処理をステップS38に進める。ステップS38においては、ステップS32において処理対象に選択されていない登録ユーザーが存在するか否かを判断する。未選択の登録ユーザーが存在するならば処理をステップS32に戻すが、存在しなければ処理をステップS39に進める。ステップS32〜ステップS38が実行されることにより、一人の検出人物に対して1以上の仮登録ユーザーが決定される場合がある。
ステップS39においては、ステップS31において処理対象に選択されていない人物部分が存在するか否かを判断する。未選択の人物部分が存在するならば処理をステップS31に戻すが、存在しなければ処理をカスタムデータ送信処理に戻す。これにより、1以上の検出部分それぞれに対する1以上の仮登録ユーザーが決定される。
図11は、カスタムデータ部分送信処理の流れの一例を示すフローチャートである。カスタムデータ部分送信処理は、カスタムデータ送信処理のステップS206で実行される処理である。図11を参照して、カスタムデータ部分送信処理が実行される前の段階で仮登録ユーザーが選択されており、その仮登録ユーザーに対する一致度が決定されている。図11を参照して、送信量を決定する(ステップS41)。送信量は、一致度に基づいて決定される。一致度は、検出人物が登録ユーザーである確からしさを示し、ここでは一致度を確率として単位をパーセント(%)で示している。送信量の単位を操作画面数とする場合、カスタムデータによって定められた操作画面の総数に一致度を乗じた数を取得量とする。例えば、カスタムデータによって100個の操作画面が定められており、一致度が50%であれば、取得量を50個に決定する。
ステップS42においては、カスタムデータで定められ、未だ送信されていない1以上の操作画面のうちから優先順位が最も高い操作画面を送信対象に決定する。そして、取得量を超過したか否かを判断する(ステップS43)。既に送信した操作画面に、送信対象の操作画面を追加すると、送信量を超過するか否かを判断する。送信量を超過するならば処理をカスタムデータ送信処理に戻すが、そうでなければ処理をステップS44に進める。ステップS44においては、送信対象に決定された操作画面を含むカスタムデータの一部を、仮認証依頼を送信してきたMFP100に送信し、処理をステップS42に戻す。
図12は、認証処理の流れの一例を示すフローチャートである。認証処理は、カスタムデータ送信処理のステップS209において実行される処理である。認証処理が実行される前の段階で、認証依頼が受信されており、認証依頼に含まれる人物部分が特定される。図12を参照して、CPU111は、複数の登録ユーザーのうちから一人の登録ユーザーを処理対象として選択し(ステップS51)、処理をステップS52に進める。ステップS52においては、認証依頼に含まれる人物部分を、処理対象の登録ユーザーの認証画像と比較し、処理をステップS53に進める。ステップS53においては、比較の結果得られる一致度を決定し、処理をステップS54に進める。ステップS54においては、一致度がしきい値TH1以上か否かを判断する。一致度がしきい値TH1以上ならば処理をステップS55に進めるが、そうでなければ処理をステップS56に進める。
ステップS56においては、複数の登録ユーザーのうちにステップS51において処理対象に選択されていない登録ユーザーが存在するか否かを判断する。未選択の登録ユーザーが存在するならば処理をステップS51に戻し、そうでなければ、操作ユーザーを決定することなく、処理をカスタムデータ送信処理に戻す。ステップS55においては、ステップS51において選択された登録ユーザーを、操作ユーザーに決定し、処理をカスタム画面表示処理に戻す。
<第1の変形例>
上述した情報処理システム1においては、MFP100を操作するユーザーの認証をサーバー200で実行した。変形例における情報処理システム1においては、MFP100,100A,100Bそれぞれで、ユーザーを認証するようにしたものである。以下、第1の変形例における情報処理システム1について、上述した情報処理システム1と異なる点を主に説明する。
図13は、第1の変形例におけるMFPが備えるCPUが有する機能の一例を示す図である。図13に示す機能が、図6に示した機能と異なる点は、仮依頼部55および認証依頼部59が削除された点、認証前取得部57および認証後取得部61が認証前取得部57Aおよび認証後取得部61Aにそれぞれ変更された点、認証部71および仮決定部73が追加された点である。その他の機能は、図6に示したのでここでは説明を繰り返さない。
認証部71は、検出部53により検出された人物部分に基づいて、人物部分に対応する検出人物が予め登録された複数の登録ユーザーのいずれであるかを決定する。認証部71は、比較部271を含む。比較部271は、人物部分を、複数の登録ユーザーにそれぞれ対応する複数の特徴データとそれぞれ比較し、比較の結果得られる一致度を決定する。一致度は、検出人物が登録ユーザーであることの確からしさを示す値である。一致度は、人物部分と特徴データとが類似するほど高い値となる。
認証部71は、複数の登録ユーザーのうちに、検出人物に対する一致度がしきい値TH1以上となる登録ユーザーが存在する場合に、検出人物を登録ユーザーと判断し、操作ユーザーを認証する。認証部71は、操作ユーザーを認証する場合、認証された操作ユーザーを識別するためのユーザー識別情報を認証後取得部61Aに出力する。認証部71が操作ユーザーを認証するタイミングは、ユーザーが操作部163を操作可能な位置に存在する時である。例えば、認証部71は、操作部163がユーザーによる任意の操作を受け付ける時点で、ユーザーを認証する。具体的には、認証部71は、操作部163がユーザーにより入力される操作を受けた後に、カメラ119が出力する静止画像に基づいて検出部53が検出した検出人物に対する一致度がしきい値TH1以上ならば、検出人物を登録ユーザーと判断するとともに、検出人物を操作ユーザーとして認証する。
認証部71は、操作ユーザーを認証する前の段階で、検出部53により検出される1以上の人物部分それぞれについて、複数の登録ユーザーそれぞれの一致度を決定し、人物部分を識別するための人物部分識別情報と、複数の登録ユーザーそれぞれの一致度とを仮決定部255に出力する。認証部71は、検出部53により1以上の人物部分が検出される場合、複数の人物部分それぞれに対して、人物部分識別情報と、複数の登録ユーザーそれぞれの一致度とを仮決定部73に出力する。
仮決定部73は、人物部分識別情報で特定される検出人物に対する一致度がしきい値TH2以上の登録ユーザーを、その検出人物に対する仮登録ユーザーに決定する。ただし、しきい値TH2はしきい値TH1よりも小さい。したがって、仮決定部73は、一人の検出人物に2以上の仮登録ユーザーを決定する場合がある。仮決定部73は、検出人物に対する仮登録ユーザーを決定する場合、仮登録ユーザーを識別するためのユーザー識別情報と、検出人物に対するその仮登録ユーザーの一致度との組を認証前取得部57Aに出力する。仮決定部73は、検出人物に対して仮登録ユーザーを複数決定する場合、複数の仮登録ユーザーごとに、ユーザー識別情報と一致度との組を認証前取得部57Aに出力する。
認証前取得部57Aは、仮決定部73からユーザー識別情報と一致度との組が入力されることに応じて、サーバー200に仮送信依頼を送信し、サーバー200からユーザー識別情報で識別される仮登録ユーザーに対応するカスタムデータのうち一致度に対応する部分を取得する。仮送信依頼は、仮登録ユーザーのユーザー識別情報と一致度とを含む。認証前取得部57Aは、取得されたカスタムデータの部分を一致度と関連付けて、HDD115の予め定められたカスタム領域に記憶する。認証前取得部57Aは、仮決定部73からユーザー識別情報と一致度との組が所定時間間隔で入力される。このため、同一のユーザー識別情報に対して、異なる時間に異なる一致度が入力される場合がある。認証前取得部57Aは、先に入力される一致度よりも後に入力される一致度が大きい場合には、ユーザー識別情報で識別される仮登録ユーザーに関連するカスタムデータのうち後に入力される一致度に対応する部分のうち未だ取得されていない残りの部分を取得する。認証前取得部57Aは、先に入力される一致度よりも後に入力される一致度が小さい場合には、仮送信依頼をサーバー200に送信することなく、ユーザー識別情報で識別される仮登録ユーザーに関連するカスタムデータを取得しない。認証前取得部57Aは、先に入力される一致度よりも後に入力される一致度が小さい場合には、HDD115のカスタム領域に記憶されたユーザー識別情報で識別される仮登録ユーザーに関連するカスタムデータを消去するようにしてもよい。一致度が小さくなる場合には、検出人物がMFP100から遠ざかっている可能性が高く、MFP100を次に操作する可能性が低いからである。
認証後取得部61Aは、認証部71により認証された操作ユーザーのユーザー識別情報が入力されることに応じて、サーバー200に送信依頼を送信し、サーバー200から認証された操作ユーザーに関連するカスタムデータのうち、認証前取得部57Aによって取得された部分以外の残部分を取得する。送信依頼は、操作ユーザーのユーザー識別情報を含む。認証後取得部61Aは、取得されたカスタムデータの部分をHDD115の予め定められたカスタム領域に記憶する。
図14は、第1の変形例におけるサーバーが備えるCPUが有する機能の一例を示すブロック図である。図14を参照して、図7に示した機能と異なる点は、仮依頼受付部251および認証依頼受付部259が仮送信依頼受付部251Aおよび送信依頼受付部259Aにそれぞれ変更された点、認証部253および仮決定部255が削除された点である。その他の機能は、図7に示した機能と同じなのでここでは説明を繰り返さない。
仮送信依頼受付部251Aは、通信部205が、MFP100,100A,100Bのいずれかから仮送信依頼を受信すると、仮送信依頼を受け付ける。仮送信依頼受付部251Aは、仮送信指示を受け付けることに応じて、仮送信指示に含まれる仮登録ユーザーのユーザー識別情報と一致度との組を認証前送信部261に出力する。
送信依頼受付部259Aは、通信部205が、MFP100,100A,100Bのいずれかから送信依頼を受信すると、送信依頼を受け付ける。送信依頼受付部259Aは、送信指示を受け付けることに応じて、送信指示に含まれる操作ユーザーのユーザー識別情報を認証後送信部265に出力する。
図15は、第1の変形例におけるカスタム画面表示処理の流れの一例を示すフローチャートである。図15を参照して、図8に示したカスタム画面表示処理と異なる点は、ステップS03、ステップS04およびステップS14が、ステップS03A、ステップS04AおよびステップS14Aにそれぞれ変更された点、ステップS15の後におよびステップS15Aが追加された点である。その他の処理は図8に示した処理と同じなのでここでは説明を繰り返さない。
ステップS03において静止画像から人物が検出される場合、ステップS03Aにおいて、図10に示した仮決定処理が実行され、処理がステップS04Aに進む。ステップS04Aにおいては、サーバー200に仮送信依頼を送信し、処理をステップS05に進める。仮送信依頼は、ステップS03Aにおいて決定された仮登録ユーザーのユーザー識別情報と一致度との組を含む。仮送信依頼を受信するサーバー200は、仮登録ユーザーに関連するカスタムデータのうち一致度に対応する部分を送信する。このため、ステップS05においては、サーバー200からカスタムデータを受信したか否かを判断する。カスタムデータを受信したならば処理をステップS06に進めるが、そうでなければ処理をステップS09に進める。
ステップS13において、静止画像から人物が検出される場合、次のステップS14Aにおいて、図12に示した認証処理を実行し、処理をステップS15に進める。ステップS15においては、認証処理の結果によって処理を分岐させる。操作ユーザーが認証されたならば処理をステップS15Aに進め、そうでなければ処理をステップS01に戻す。ステップS15Aにおいては、サーバー200に送信依頼を送信し、処理をステップS16に進める。送信依頼は、ステップS15において認証された操作ユーザーのユーザー識別情報を含む。
図16は、第1の変形例におけるカスタムデータ送信処理の流れの一例を示すフローチャートである。図16を参照して、サーバー200が備えるCPU201は、MFP100,100A,100Bのいずれかから仮送信依頼を受信したか否かを判断する(ステップS201A)。仮送信依頼を受信したならば処理をステップS202に進めるが、そうでなければ処理をステップS208Aに進める。
ステップS202においては、仮送信依頼を送信してきた装置を特定し、処理をステップS205に進める。仮送信依頼は、仮登録ユーザーのユーザー識別情報と一致度との組を含む。ここでは、MFP100から仮送信依頼を受信する場合を例に説明する。ステップS205においては、仮送信依頼で定められる仮登録ユーザーのうちから処理対象となる仮登録ユーザーを選択し、処理をステップS206に進める。一致度が大きい仮登録ユーザーから順に選択する。これにより、MFP100の近くに位置する仮登録ユーザーに関連するカスタムデータから順に送信することができる。
ステップS206においては、図11に示したカスタムデータ部分送信処理を実行し、処理をステップS207に進める。ステップS207においては、仮送信依頼で定められる仮登録ユーザーのうちに、ステップS205において処理対象に選択されていない仮登録ユーザーが存在するか否かを判断する。未選択の仮登録ユーザーが存在すれば処理をステップS205に戻し、そのような仮登録ユーザーが存在しなければ処理をステップS208Aに進める。
ステップS208Aにおいては、MFP100,100A,100Bのいずれかから送信依頼を受信したか否かを判断する。送信依頼を受信したならば処理をステップS209Aに進めるが、そうでなければ処理をステップS201Aに戻す。ここでは、MFP100から送信依頼を受信する場合を例に説明する。ステップS209Aにおいては、送信認証依頼に含まれるユーザー識別情報で識別される操作ユーザーを特定し、処理をステップS212に進める。ステップS212においては、認証依頼を送信してきた装置、ここではMFP100に、操作ユーザーに関連付けられたカスタムデータの残部分を送信し、処理をステップS201Aに戻す。
<第2の変形例>
上述した実施の形態においては、MFP100,100A,100Bそれぞれを操作するユーザーの認証に、顔認証を用いる例を説明した。第2の変形例においては、認証方法に音声認証を用いるようにしたものである。この場合、MFP100,100A,100Bそれぞれに、音を集音するマイクロフォンを備えるようにし、マイクロフォンで集音した音からユーザーの音声を抽出することにより、人物を検出する。また、サーバー200においては、複数の登録ユーザーを認証するための生体情報として、声紋を記憶する。
また、マイクロフォンで集音した音から抽出される音声の音量を検出するようにして、サーバー200が複数の仮登録ユーザーを決定する場合に、音量が大きな仮登録ユーザーを優先して、その仮登録ユーザーに関連するカスタムデータの一部を送信するようにしてもよい。例えば、MFP100で集音した音から抽出される音声で音量が大きなユーザーは、MFP100からの距離が他のユーザーよりも短い可能性が高く、MFP100を次に操作する可能性が高い。このため、MFP100の近くにいるユーザーに関連するカスタムデータを優先してMFP100に送信することにより、ユーザーが操作を開始する段階で、カスタムデータの一部がMFP100に記憶された状態にすることができる。
また、第2の変形例を第1の変形例に適用する場合には、MFP100,100A,100Bそれぞれが、複数の登録ユーザーを認証するための生体情報として、声紋を記憶する。
<第3の変形例>
第3の変形例においては、認証方法に顔認証と音声認証とを用いるようにしたものである。この場合、MFP100,100A,100Bそれぞれに、カメラ119と、音を集音するマイクロフォンとを備えるようにする。カメラ119で撮像して得られる静止画像から人物部分を抽出し、顔認証して特定される仮登録ユーザーに対する第1の一致度と、マイクロフォンで集音した音からユーザーの音声を抽出し、音声認証して特定される仮登録ユーザーに対する第2の一致度とを決定する。同一の仮登録ユーザーに対して、第1の一致度と第2の一致度とに基づいて、その仮登録ユーザーに対する一致度を決定する。例えば、第1の一致度と第2の一致と和を一致度に決定する。また、一致度は、第1の一致度と第2の一致度との平均としてもよいし、第1の一致度と第2の一致度との積としてもよい。
2つの認証方法を用いて、一致度を決定するので、MFP100から離れた位置に存在するユーザーを特定する精度を高めることができる。
<第4の変形例>
認証方法は、人物の生体情報を用いていれば、顔認証または/および音声認証に限定されない。例えば、人の虹彩を用いた認証であってもよい。
<第5の変形例>
上述した実施の形態においては、人物の生体情報を用いて認証し、複数の登録ユーザーに対する一致度を決定するようにした。MFP100を操作するユーザーの認証と、生体情報を用いた一致度の決定を、異なる方法を用いてもよい。例えば、人物の生体情報を用いて一致度を決定し、MFP100を操作するユーザーを、認証情報として予め登録されたパスワードとIDの組、ユーザーが携帯する装置の装置識別情報と照合することにより認証するようにしてもよい。ユーザーが携帯する装置は、携帯情報端末であってもよいし、ICカードまたは磁気カードであってもよい。
以上説明したように、本実施の形態における情報処理システム1において、サーバー200において、MFP100で検出される人物の生体情報に基づいて、登録された複数の登録ユーザーそれぞれに対する一致度を決定し、MFP100において人物が検出される場合、複数の登録ユーザーそれぞれに対して決定された一致度に基づいて仮登録ユーザーを決定し、MFP100を操作する操作者が認証される前の段階で、仮登録ユーザーに関連するカスタムデータのうちで一致度に応じた部分をMFP100に送信する。このため、MFP100においては、操作者が認証され場合に、操作者が認証される前の段階で、サーバー200から受信される仮登録ユーザーに関連するカスタムデータの一致度に応じた部分に基づいて、操作画面を表示することができる。したがって、MFP100,100A,100Bそれぞれにおいて、操作者が認証されてから操作画面を表示するまでの時間を短くすることができる。このため、複数のユーザーごとの操作画面をサーバー200で一元的に管理するとともに、複数のMFP100,100A,100Bそれぞれにおけるレスポンスタイムを短縮することができる。
また、サーバー200は、複数の登録ユーザーのうちからMFP100において同時に検出された複数の人物にそれぞれ対応する複数の仮登録ユーザーを決定する。このため、MFP100を操作する可能性のある登録ユーザーのカスタムデータをMFP100に、その登録ユーザーがMFP100を操作する前に送信することができる。
また、サーバー200は、複数の登録ユーザーのうちからMFP100において検出される一人の人物に対応して複数の仮登録ユーザーを決定するので、MFP100を操作する可能性のある登録ユーザーのカスタムデータを、その登録ユーザーがMFP100を操作する前に送信することができる。
また、サーバー200またはMFP100は、MFP100がカメラ119で人物を撮像して取得した画像に含まれる人物部分を、複数の登録ユーザーそれぞれを認証するために登録された特徴データと比較するので、認証に用いる特徴データを用いて、仮登録ユーザーを決定することができる。
また、サーバー200またはMFP100は、MFP100がマイクロフォンで集音した音に含まれる人物の音声を、複数の登録ユーザーそれぞれを認証するために予め登録された特徴データと比較するので、認証に用いる特徴データを用いて、仮登録ユーザーを決定することができる。
また、サーバー200またはMFP100は、顔認証によって決定された第1一致度と、音声認証によって決定された第2一致度と、に基づいて、一致度を決定するので、仮登録ユーザーを決定する精度を向上させることができる。
また、サーバー200は、複数の仮登録ユーザーが決定される場合、複数の仮登録ユーザーのうち、MFP100のマイクロフォンが集音した音に含まれる人物の音声が大きな仮登録ユーザーに関連するカスタムデータの一部を優先して送信する。音声が大きな仮登録ユーザーほど、MFP100の近くにいる可能性が高いので、MFP100を使用するまでの時間の短いユーザーのカスタムデータを優先することで、レスポンスタイムを短くすることができる。
また、サーバー200は、複数の仮登録ユーザーを決定する場合、一致度が高い仮登録ユーザーに関連するカスタムデータの一部を、他の仮登録ユーザーに関連するカスタムデータの一部をよりも先に送信する。このため、登録ユーザーである確率が高い仮登録ユーザーほど優先して、カスタムデータを送信するので、登録ユーザーである確率の高い仮登録ユーザーのレスポンスタイムを短くすることができる。
また、サーバー200またはMFP100は、MFP100において生体情報が検出されてから操作者が認証されるまでの間は、所定時間間隔で人物に対応する一致度を決定するので、一致度が大きくなるほどカスタムデータを送信する量を多くすることができる。したがって、MFP100に仮登録ユーザーが近づくにしたがって、カスタムデータの送信量を多くすることができる。
また、サーバー200は、カスタムデータで定められる複数の操作画面のうち優先度が高い操作画面を優先して送信するので、優先度を使用される可能性の高いほど高く設定すれば、使用される可能性の高い操作画面が表示される確率が高くなるので、レスポンスタイムを短くすることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記カスタムデータ送信手段は、前記操作装置を操作する前記操作者が認証されることに応じて、前記操作ユーザーに関連する前記カスタムデータの残りの残部分を前記操作装置に送信する認証後送信手段を含む、請求項1に記載のサーバー。
(2) 前記操作ユーザーが認証されることに応じて、前記操作ユーザーに関連する前記カスタムデータの残りの残部分を取得する認証後取得手段を、さらに備えた、請求項15または16に記載の画像形成装置。