以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理システム1000のブロック図である。
情報処理システム1000は、情報処理装置1と、サーバ装置2とを備える。情報処理装置1とサーバ装置2とは、有線や無線の通信回線等を介して通信可能となるよう接続されている。ここでは、情報処理装置1が一つである場合について説明するが、情報処理装置1は二以上であっても良い。
情報処理装置1は、生体情報取得部101、スキャナ101a、生体情報送信部102、コード情報受信部103、印刷部104、コード読取部105、カメラ105a、読取情報送信部106、認証結果受信部107、出力部108、作業情報受付部109、および作業情報送信部110を備える。
サーバ装置2は、生体情報受信部201、生体情報格納部202、生体情報蓄積部203、検索部204、コード情報取得部205、コード情報送信部206、認証受信部207、認証部208、認証結果送信部209、作業情報受信部210、および作業情報格納部211、作業情報蓄積部212を備える。
情報処理装置1は、例えば、コンピュータや、携帯情報端末や、携帯電話、タブレット端末、スマートフォン等の多機能携帯電話等により実現可能である。
生体情報取得部101は、ユーザから生体情報を取得する。生体情報とは、生体(例えば、人間等)から取得可能な、生体を識別可能な情報である。生体情報は、例えば、指紋、虹彩、指の静脈パターン、顔、および掌紋の一以上に関する情報である。生体情報は、例えば、これらを撮像した画像や、これらを撮像した画像等から取得した一または二以上の特徴点を示す情報等である。生体情報は、例えば、通常の生体認証等に利用可能な生体情報であれば、上記以外の情報であっても良い。
生体情報取得部101は、例えば、生体情報の取得対象となる生体の一部(例えば、目や、指や、顔や、手のひら等)を撮像した画像を取得する。そして、生体情報取得部101は、例えば、撮像した画像、あるいは撮像した画像に対して予め決められた画像処理を行なって得られた画像を生体情報として取得する。または、生体情報取得部101は、撮像した画像から一以上の特徴点の情報を取得して、この特徴点を示す情報を生体情報として取得しても良い。上記の撮像には、例えば、カメラやスキャナ等の撮像装置(図示せず)が用いられる。撮像装置が撮像する画像の解像度や、階調数や、色数は、例えば、取得する生体情報に応じて決定される。撮像装置が撮像する画像は1または2以上の静止画像であっても良く、動画像であっても良い。
生体情報取得部101は、上述した撮像装置等を有していてもよく、撮像装置等を有していなくても良い。生体情報取得部101が撮像装置等を有していない場合、例えば、生体情報取得部101は、情報処理装置1が有する撮像装置、または情報処理装置1の外部に設けられた撮像装置が撮像した画像を受信することで画像を取得する。ここでは、一例として、情報処理装置1が、生体情報取得部101の外部にスキャナ101aを有しており、このスキャナ101aを用いて撮像した画像を用いて、生体情報を取得する場合について説明する。ただし、スキャナ101aの代わりに、カメラ等の他の撮像装置を用いても良い。
ユーザから生体情報を取得する処理については、生体認証等の技術等として公知技術であるため、ここでは詳細な説明は省略する。
なお、ここでの生体情報の取得は、指紋スキャナ等の、図示しない生体情報を取得する装置から出力される生体情報の取得(例えば、受信)であっても良い。このような生体情報を取得する装置は、情報処理装置1内に設けられていても良く、情報処理装置一の外部に設けられていても良い。
生体情報取得部101が生体情報を取得するタイミングやトリガー等は問わない。生体情報取得部101は、例えば、後述する生体情報送信部102が、ユーザ等の操作に応じて、生体情報を送信する際に、生体情報を取得してもよい。また、生体情報取得部101は、後述する作業情報送信部110が、ユーザ等の操作に応じて、生体情報を送信する直前等に、生体情報を取得しても良い。また、この両方のタイミングにおいて生体情報を取得しても良い。
スキャナ101aは、生体情報を取得するために用いられる画像を撮像するするための装置である。例えば、スキャナ101aは、ラインセンサ(図示せず)を移動させながら撮像を行なう装置である。スキャナ101aは、例えば、指紋や虹彩等を撮像するためのスキャナである。スキャナ101aが撮像する画像の解像度や、階調数や、色数は、例えば、取得する生体情報に応じて決定される。スキャナ101aが撮像する画像は1または2以上の静止画像であっても良く、動画像であっても良い。スキャナ101aについては、公知技術であるため、ここでは詳細な説明は省略する。
生体情報送信部102は、生体情報取得部101が取得した生体情報をサーバ装置2に送信する。生体情報送信部102は、通常、無線または有線の通信手段で実現される。生体情報送信部102は、通信デバイスを含むと考えても、含まないと考えても良い。かかることは、他の送信部についても同様である。
コード情報受信部103は、サーバ装置2から、生体情報に対応するコード情報を受信する。コードは、例えば、図や、図形、図柄を用いて情報を表すものである。コードにより表される情報は、例えば、文字列等の情報である。ここでの文字列は、識別子も含むと考えてもよい。ここでの文字列は、数字等も含む概念である。かかることは、以下においても同様である。コードにより表される情報は、例えば、コードから読取られる情報である。コードは、例えば、光学的に読取り可能なコードである。コードは、例えば、カラーコード、QRコード(登録商標)、バーコート等である。光学的に読取り可能なコードとは、例えば、カメラ等の撮像装置や、コードリーダ等を用いて読み取ることが可能なコードである。コードは、例えば、バーコード、二次元バーコード、QRコード(登録商標)、カラーコード等である。カラーコードとは、例えば、色の配列で情報を表すコードである。カラーコードは、例えば、カラーバーコードやカメレオンコードと呼ばれることもある。
コード情報は、例えば、コードの画像データでも良く、コードに対応する文字列等の情報であっても良く、その両方を有していても良い。コード情報は、例えば、コードの印刷に用いられる情報である。コードの画像データは、例えば、コードの印刷に利用可能な画像データである。コードに対応する文字列とは、例えば、コードの作成に用いられる文字列であってもよく、コードから読取られる文字列等の情報であってもよい。以下、コードから読取られる文字列等の情報をコード読取情報と呼ぶ。コード読取情報は、例えば、コードから読取られる識別子であってもよい。
コード情報受信部103は、通常、無線または有線の通信手段で実現される。コード情報受信部103は、通信デバイスを含むと考えても、含まないと考えても良い。かかることは、他の受信部においても同様である。
印刷部104は、コード情報受信部103が受信したコード情報を用いて、コードを印刷する。印刷部104は、例えば、受信したコード情報が、コードの画像データである場合、このコードの画像データを用いてコードを印刷する。また、受信したコード情報が、コードに対応する文字列等の情報である場合、印刷部104は、この文字列に対応するコードの画像データを取得し、取得した画像データを用いてコードを印刷する。文字列等の情報に対応するコードの画像データを取得する処理は、公知技術であるため、ここでは詳細な説明は省略する。コードの画像データを取得する処理は、文字列等の情報に対応するコードの画像を生成する処理であっても良く、文字列等の情報に対応付けられたコードの画像を読み出す処理等であってもよい。
印刷部104は、例えば、コードをシールに印刷する。シールに印刷することは、例えば、シール用の用紙に印刷することである。シールに印刷することは、転写用のシート等に印刷することも含むと考えてもよい。印刷部104は、コードを、例えば、ユーザのヘルメットや、IDカードや、名札等のユーザの持ち物に印刷しても良い。
印刷部104は、印刷を行なうプリンタ等を有していてもよく、有していなくても良い。ここでの印刷は、プリンタや、プリントを行なう他の装置への、コードの画像データの送信や、コードの画像データを用いて印刷部104が作成した印刷用データの送信も含むと考えてよい。例えば、印刷部104は、情報処理装置1の内部または外部に設けられたプリンタ(図示せず)を用いて、コードを印刷してもよい。
コード読取部105は、印刷されたコードを読取る。例えば、コード読取部105は、カメラやイメージセンサやラインセンサ等の撮像装置(図示せず)を用いて、コードを撮像してコードの画像を取得し、このコードの画像からコードを読取る。コードの画像は、1または2以上の静止画像であっても良く、動画像であっても良い。コードの画像の階調数や、色数等は、例えば、読取るコードに応じて決定される。また、ここでのコードの読取りは、コードリーダ(図示せず)等のコードを読取るための装置がコードから読取ったコード読取情報の取得(例えば、受信)等であっても良い。コードから、コードに対応付けられた文字列等の情報を取得するための処理や構成は、公知技術であるため、ここでは詳細な説明は省略する。
コード読取部105は、カメラやイメージセンサ等の撮像装置を有していても有していなくてもよい。また、コード読取部105は、コードリーダ等を有していても有していなくてもよい。例えば、コード読取部105は、撮像装置を有していない場合、情報処理装置1が有する撮像装置や、情報処理装置1の外部の撮像装置(図示せず)を利用して、コードの画像を取得して、コードを読取る。ここでは、一例として、情報処理装置1が、コード読取部105の外部にカメラ105aを有しており、このカメラ105aを用いて撮像した画像を用いて、コードを読取る場合について説明する。ただし、カメラ105aの代わりに、スキャナ等の他の撮像装置を用いても良い。
コード読取部105がコードを読取るタイミングやトリガー等は問わない。コード読取部105は、例えば、後述する読取情報送信部106が、ユーザ等の操作に応じて、コードから読取った情報を送信する際に、その直前等に、コードを読取ってもよい。また、コード読取部105は、後述する作業情報送信部110が、ユーザ等の操作に応じて、コードから読取った情報を送信する際に、その直前等に、コードを読取っても良い。また、コード読取部105は、この両方のタイミングにおいてコードを読取っても良い。
カメラ105aは、コードを読取るために用いられるコードの画像を撮像する装置である。カメラ105aが撮像する画像の階調や色数は、例えば、読取対象となるコードに応じて決定される。カメラ105aが撮像する画像は、1または2以上の静止画像であっても良く、動画像であっても良い。カメラ105aについては公知技術であるため、ここでは、詳細な説明は省略する。
読取情報送信部106は、コード読取部105がコードから読取った情報を、サーバ装置2に送信する。ここでのコードから読取った情報は、コード読取情報である。
認証結果受信部107は、サーバ装置2から、コード読取情報についての認証結果を受信する。コード読取情報についての認証結果とは、サーバ装置2に送信したコード読取情報を用いてサーバ装置2で行なわれた認証の結果を示す情報である。認証の結果を示す情報は、例えば、認証されたか否か、あるいは、認証が成功したか否かを示す情報である。また、認証結果は、例えば、認証されたユーザの識別子等の、認証によって得られた情報であってもよく、認証された場合に得られる「+1」等の値や、認証が失敗した場合に得られる値「0」等の、認証の結果を示すことが可能な情報であっても良い。ユーザの識別子は、例えば、ユーザ名や、ユーザの識別番号等である。
出力部108は、認証結果受信部107が受信した認証結果に応じた情報を出力する。出力部108は、例えば、認証結果受信部107が受信した認証結果そのものを出力しても良く、認証結果を予め決められたルールやアルゴリズム等により変換して得られた情報を出力しても良く、認証結果に対応付けられて図示しない格納部等に格納された情報(例えば、認証されたか否かを示す文字列や画像等)を出力しても良い。
ここでの出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、ランプの点灯、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
なお、出力部108は、作業情報等を受け付けるための入力インターフェース(例えば、入力画面)等を出力(例えば、表示)するようにしても良い。
出力部108は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部108は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
作業情報受付部109は、ユーザの作業情報を受け付ける。作業情報とは、ユーザの作業に関する情報である。作業情報は、作業に関する情報であれば、どのような情報であっても良い。例えば、作業情報は、作業の開始時刻や、終了時刻や、作業が行なわれた日付等の作業に関連した日時の情報であってもよく、作業時間の情報であっても良く、作業内容の情報であってもよく、作業場所の情報であってもよく、作業の進捗状況を示す情報であってもよく、これらの二以上の組合わせであっても良い。作業の開始時刻や終了時刻等は、作業情報の入力を受け付ける際等に、図示しない時計等から取得しても良い。また、日付等は、図示しないカレンダ等から取得してもよい。
ここでの作業情報の受け付けは、例えば、キーボードやマウス、タッチパネルなどの入力手段から入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。例えば、作業情報受付部109は、図示しない入力手段等を介して、手入力でユーザから作業情報を受け付けであってもよく、ユーザが利用する携帯情報端末(図示せず)等の装置から作業情報を受信してもよく、ユーザが作業情報を蓄積している記録媒体等の格納部(図示せず)等からの作業情報の読み出し等であっても良い。
なお、作業情報受付部109が、ユーザの作業情報を受け付ける際(例えば、受け付ける直前や直後)に、上述した生体情報取得部101がこのユーザの生体情報を取得するようにしても良く、コード読取部105が、このユーザに対応付けられたコードを読取るようにしてもよい。また、作業情報受付部109が受け付けた作業情報は、このユーザの生体情報またはコードと対応付けられて、図示しない格納部等に、一時的に格納されるようにしても良い。
作業情報を入力する場合の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。作業情報受付部109は、キーボードやタッチパネル等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
作業情報送信部110は、作業情報受付部109が受け付けた作業情報と、コード読取部105がユーザに対応付けられたコードから読取ったコード読取情報、または生体情報取得部101がユーザについて取得した生体情報と、をサーバ装置2に送信する。ユーザに対応付けられたコードとは、具体的には、生体情報送信部102がサーバ装置2に送信したユーザの生体情報に応じて、コード情報受信部103がサーバ装置2から受信したコード情報を用いて印刷されたコードである。作業情報送信部110は、コード読取情報と、生体情報とのいずれを、サーバ装置2に送信しても良い。上述した出力部108等は、作業情報を送信する際等に、例えば、コードからの情報の読取りと、生体情報の入力とのいずれかを行なうことを促す出力を行なってもよい。例えば、作業情報受付部109が作業情報を受け付ける直前または直後や、作業情報送信部110が作業情報を送信する直前等に、コードからの情報の読取りと、生体情報の入力とのいずれかを行なうことを促す出力を行なってもよい。なお、予め、作業情報と、コード読取情報または生体情報とが対応付けられて図示しない格納部等に格納されている場合、この情報を、予め指定されたタイミング等に読み出してサーバ装置2に送信するようにしても良い。
サーバ装置2は、例えば、コンピュータ等により実現される。
生体情報受信部201は、情報処理装置1から生体情報を受信する。
生体情報格納部202には、生体情報が格納される。生体情報格納部202には、例えば、生体情報と、この生体情報に対応するコードから読取られるコード読取情報とが対応付けて格納されても良い。ここでの生体情報に対応するコードとは、後述するコード情報取得部205が取得するコード情報に対応するコードである。後述するコード情報取得部205が取得するコード情報が、上述したようにコードに対応する文字列等の情報であって、コードから読取られる情報である場合、このコード情報がコード読取情報として、生体情報と対応付けられて、生体情報格納部202に格納されても良い。
生体情報格納部202は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
生体情報蓄積部203は、コード情報取得部205が取得したコード情報に対応付けられた生体情報を、生体情報格納部202に蓄積する。生体情報蓄積部203が蓄積する生体情報は、生体情報受信部201が受信した生体情報である。なお、ここでは、受信した生体情報を用いて作成された新たな生体情報も、生体情報受信部201が受信した生体情報と考えてもよい。例えば、生体情報受信部201が受信した画像情報である生体情報から取得した特徴点の情報等も、生体情報であると考えてもよい。このような情報の生成等も、例えば、生体情報蓄積部203が行なっても良い。生体情報蓄積部203は、このコード情報が示すコードから読取られるコード読取情報を、生体情報と対応付けて蓄積しても良い。生体情報蓄積部203は、生体情報受信部201が受信した生体情報と、この生体情報についてコード情報取得部205が取得したコード情報とを対応付けて、生体情報格納部202に蓄積してもよい。
検索部204は、生体情報受信部201が受信した生体情報と一致する生体情報を、生体情報格納部202に格納されている生体情報から検索する。ここでの一致は、完全一致であっても良く、部分一致であっても良い。検索部204は、例えば、生体情報格納部202に蓄積されている生体情報のうちの、生体情報受信部201が受信した生体情報に対して、予め決められた閾値以上の類似度を有する生体情報を、一致する生体情報として検出しても良い。検索部204は、検索を可能とするために、生体情報受信部201が受信した生体情報を用いて、生体情報格納部202に蓄積されている生体情報と同様の態様の生体情報を適宜生成しても良い。
コード情報取得部205は、生体情報受信部201が受信した生体情報に対応付けられたコード情報を取得する。コード情報取得部205が生成するコード情報は、例えば、コード情報受信部103が受信するコード情報と同様のコード情報である。
例えば、コード情報取得部205は、生体情報を用いてコード情報を生成することで、生体情報受信部201が受信した生体情報に対応付けられたコード情報を取得してもよい。コード情報取得部205が取得するコード情報は、例えば、生体情報が埋め込まれているものであってもよく、生体情報が取出し可能なものであっても良い。コード情報取得部205は、例えば、生体情報のデータをコード情報に変換することでコード情報を取得する。コード情報取得部205は、例えば、画像情報である生体情報から特徴点の情報等を取得し、取得した特徴点の情報を変換して文字列の情報を取得し、取得した文字列をコード情報に変換しても良い。ここでの文字列への変換や、コード情報への変換は、どのような変換であっても良い。また、コード情報取得部205は、生体情報が、特徴点の情報等である場合、この特徴点の情報を文字列の情報に変換し、この文字列をコード情報に変換しても良い。このコード情報に変換される文字列は、例えば、コード情報が示すコードから読取られる情報である。コード情報が示すコードとは、コード情報がコードの取得に用いられる文字列の情報等である場合、例えば、このコード情報から取得される文字列の情報等である。また、コード情報が示すコードとは、コード情報がコードの画像である場合、例えば、このコード情報であるコードの画像が示すコードから読取られる文字列の情報等である。
また、コード情報取得部205は、図示しない格納部等に予め格納されている1または2以上のコード情報のうちの一つを、生体情報受信部201が受信した生体情報に対応するコード情報として読み出すことで、生体情報受信部201が受信した生体情報に対応付けられたコード情報を取得してもよい。コード情報がコードの画像である場合、コード情報取得部205は、取得されたコード情報と対応付けて予め格納されているコード情報が示すコードから読取られる文字列等の情報であるコード読取情報を、図示しない格納部等から取得しても良い。なお、コード情報取得部205は、異なる生体情報に対して、重複したコード情報を取得しないようにすることが好ましい。
コード情報取得部205は、検索部204が一致する生体情報を検出した場合に、生体情報受信部201が受信した生体情報に対応付けられたコード情報を取得しないようにすることが好ましい。これにより、既にコード情報を取得した生体情報に対して重複してコード情報を取得しないようにすることができる。
コード情報送信部206は、コード情報取得部205が取得したコード情報を情報処理装置1に送信する。
認証受信部207は、コード読取情報を情報処理装置1から受信する。
認証部208は、認証受信部207が受信したコード読取情報を用いて、認証処理を行なう。例えば、認証部208は、認証受信部207が受信したコード読取情報と一致するコード読取情報が、生体情報格納部202に蓄積されているか否かを判断することによって認証処理が行なわれる。例えば、一致するコード読取情報が蓄積されている場合、認証された(言い換えれば、認証が成功した)こととなり、蓄積されていない場合、認証が失敗したこととなる。ここでの一致は、完全一致であっても部分一致であっても良い。認証部208が行なう認証処理は、上記以外のどのような認証処理であってもよい。ただし、認証部208が行なうこの認証処理は、生体情報蓄積部203が、生体情報とコード読取情報とを対応付けて生体情報格納部202に蓄積する場合に行なわれる処理であるとする。
認証結果送信部209は、認証結果を、コード読取情報を送信した情報処理装置1に送信する。認証結果は、認証部208が行なった認証の結果を示す情報である。
作業情報受信部210は、情報処理装置1から送信される作業情報と、生体情報またはコード読取情報とを受信する。
作業情報格納部211には、作業情報受信部210が受信した作業情報と、作業情報受信部210が受信した生体情報またはコード読取情報とが対応付けて格納される。
作業情報蓄積部212は、作業情報受信部210が受信した作業情報と、作業情報受信部210が受信した生体情報またはコード読取情報とを対応付けて作業情報格納部211に蓄積する。
なお、サーバ装置2は、作業情報格納部211に格納された作業情報等を、外部に出力する作業情報出力部(図示せず)等を更に有していても良い。ここでの出力は、上述した出力部108と同様の出力である。
次に、情報処理システム1000の情報処理装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)生体情報取得部101は、生体情報を印刷するか否かを判断する。例えば、図示しない受付部等が生体情報を印刷する指示等を受け付けた場合に、印刷を行なうと判断し、受け付けていない場合、印刷しないと判断する。印刷する場合、ステップS102に進み、印刷しない場合、ステップS106に進む。
(ステップS102)生体情報取得部101は、生体情報を取得する。例えば、生体情報取得部101は、スキャナ101aが取得した画像を用いて、生体情報を取得する。
(ステップS103)生体情報送信部102は、ステップS102で取得した生体情報をサーバ装置2に送信する。
(ステップS104)コード情報受信部103は、ステップS103で送信した生体情報に応じてコード情報を受信したか否かを判断する。受信した場合、ステップS105に進み、受信していない場合、ステップS104に戻る。
(ステップS105)印刷部104は、ステップS104で受信したコード情報を用いてコードを印刷する。そして、ステップS101に戻る。
(ステップS106)コード読取部105は、ユーザの認証を行なうか否かを判断する。例えば、図示しない受付部等がユーザの認証を行なう指示等を受け付けた場合に、認証を行なうと判断し、受け付けていない場合に、認証を行なわないと判断する。認証を行なう場合、ステップS107に進み、認証を行なわない場合、ステップS111に進む。
(ステップS107)コード読取部105がコードを読取ったか否かを判断する。コードの読取は、例えば、カメラ105aが撮像したコードの画像を用いて行なわれる。読取った場合、ステップS108に進み、読取っていない場合、ステップS107に戻る。
(ステップS108)読取情報送信部106は、ステップS107で読取った情報であるコード読取情報をサーバ装置2に送信する。
(ステップS109)認証結果受信部107は、ステップS108で送信したコード読取情報に対する認証結果を受信したか否かを判断する。受信した場合、ステップS110に進み、受信していない場合、ステップS109に戻る。
(ステップS110)出力部108は、ステップS109で受信した認証結果を出力する。そして、ステップS101に戻る。
(ステップS111)作業情報受付部109は、作業情報を送信するか否かを判断する。例えば、図示しない受付部等がユーザの作業情報の送信を行なう指示等を受け付けた場合に、作業情報の送信を行なうと判断し、受け付けていない場合に、送信を行なわないと判断する。送信する場合、ステップS112に進み、送信しない場合、ステップS102に戻る。
(ステップS112)作業情報受付部109は、作業情報を受け付けたか否かを判断する。受け付けた場合、ステップS113に進み、受け付けていない場合、ステップS112に戻る。
(ステップS113)コード読取部105は、コードを読取ったか否かを判断する。読取った場合、ステップS115に進み、読取っていない場合、ステップS114に進む。
(ステップS114)生体情報取得部101は、生体情報を取得したか否かを判断する。取得した場合、ステップS115に進み、取得していない場合、ステップS113に戻る。
(ステップS115)作業情報送信部110は、ステップS112で受け付けた作業情報と、ステップS113で読取ったコード読取情報、またはステップS114で取得した生体情報とを、サーバ装置2に送信する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、情報処理システム1000のサーバ装置2の動作の一例について図3のフローチャートを用いて説明する。ここでは、生体情報格納部202には、生体情報と、この生体情報を用いて作成されたコード情報が示すコードから読取られるコード読取情報とが対応付けて格納される場合を例に挙げて説明する。
(ステップS201)生体情報受信部201は、情報処理装置1から生体情報を受信したか否かを判断する。受信した場合、ステップS202に進み、受信していない場合、ステップS206に進む。
(ステップS202)検索部204は、ステップS201で受信した生体情報に一致する生体情報が、生体情報格納部202に格納されているか否かを判断する。一致する生体情報が格納されていない場合、ステップS203に進み、格納されている場合、ステップS201に戻る。
(ステップS203)コード情報取得部205は、ステップS201で受信した生体情報に対応するコード情報を取得する。
(ステップS204)コード情報送信部206は、ステップS203で取得したコード情報を、生体情報を送信した情報処理装置1に送信する。
(ステップS205)生体情報蓄積部203は、ステップS201で受信した生体情報と、ステップS204で取得したコード情報から読取られるコード読取情報とを対応付けて、生体情報格納部202に蓄積する。そして、ステップS201に戻る。
(ステップS206)承認受信部207は、情報処理装置1からコード読取情報を受信したか否かを判断する。受信した場合、ステップS207に進み、受信していない場合、ステップS209に進む。
(ステップS207)認証部208は、ステップS206で受信したコード読取情報を用いて認証を行なう。例えば、受信したコード読取情報と一致するコード読取情報が生体情報格納部202に格納されているか否かを判断し、格納されている場合、認証されたと判断し、格納されていない場合、認証が失敗したと判断する。
(ステップS208)認証結果送信部209は、ステップS207の認証結果をコード読取情報を送信した情報処理装置1に対して送信する。そして、ステップS201に戻る。
(ステップS209)作業情報受信部210は、情報処理装置1から作業情報と、コード読取情報または生体情報とを受信したか否かを判断する。受信した場合、ステップS210に進み、受信していない場合、ステップS201に戻る。
(ステップS210)作業情報蓄積部212は、ステップS209で受信した作業情報と、コード読取情報または生体情報とを対応付けて、作業情報蓄積部212に蓄積する。そして、ステップS201に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理システム1000の具体的な動作について説明する。ここでは、情報処理装置1が、建設現場におけるユーザの管理に利用される場合を例に挙げて説明する。また、ここでは、スキャナ101aが、ユーザの指の画像を撮像するスキャナであり、生体情報として、ユーザの指紋の特徴点の情報を用いる場合を例に挙げて説明する。なお、ここでは、コードとして、縦3行、横9列のマトリクス状に配置した複数のセルに、計8色の色を配色したカラーバーコードと呼ばれるコードを用いる場合について説明する。
新しく建設現場で働くこととなったユーザAの生体情報を登録するために、情報処理装置1の図示しないメニュー等から、生体情報を登録するメニュー項目を選択すると、生体情報取得部101が、スキャナ101aを用いて、ユーザの指の画像を取得可能な状態となる。
そしてユーザAがスキャナ101aに人差し指の腹の部分をかざすと、スキャナ101aが指の腹のスキャンを開始して、指の腹の画像、つまり指紋の画像を取得する。生体情報取得部101は、スキャナ101aが取得した指紋の画像から、複数の特徴点を検出して、特徴点の情報である生体情報を取得する。この生体情報は、例えば、複数の特徴点の位置を示す情報等である。
生体情報送信部102は、取得した生体情報を、ネットワーク等を介してサーバ装置2に送信する。ここで、送信される生体情報は、説明の便宜上、生体情報を有する1ファイルであるとする。
サーバ装置2の生体情報受信部201は、情報処理装置1から生体情報を受信する。検索部204は、受信した生体情報と一致する生体情報を、生体情報格納部202に格納されている生体情報において検索する。ここでは、ユーザAが、新たに生体情報が登録されるユーザであるため、一致する生体情報が格納されていないものとすると、検索部204は、一致する生体情報がないことを示す検索結果を取得する。
検索部204が、一致する生体情報がないことを示す検索結果を取得したため、コード情報取得部205は、生体情報受信部201が受信した生体情報を用いて、この生体情報に対応するコード情報を生成する。ここで生成するコード情報は、例えば、コードの画像であるとする。例えば、コード情報取得部205は、生体情報である指紋の特徴点の情報を、予め決められたアルゴリズム等により、予め決められた文字数の文字列に変換する。ここでは、一例として、予め決められた文字数の文字列に変換する。変換された文字列は、「rs4m8zwn」であったとする。変換した文字列を、予め決められたアルゴリズム等により、コードの画像に変換することにより、コードの画像であるコード情報を取得する。ここでは、コードの画像に変換された文字列が、変換された画像が示すコードから読取られる文字列であるとする。なお、これらのアルゴリズム等は公知であるため、ここでは詳細な説明は省略する。そして、コード情報送信部206は、取得したコード情報を情報処理装置1に送信する。
なお、検索部204が、一致する生体情報があることを示す検索結果を取得した場合、コード情報取得部205は、コード情報を生成しない。
また、生体情報蓄積部203は、コード情報取得部205が取得したコード情報が示すコードから読取られるコード読取情報を取得し、このコード読取情報と、生体情報受信部201が受信した生体情報とを対応付けて、生体情報格納部202に蓄積する。ここでは、生体情報蓄積部203は、コード情報取得部205が上記で生体情報を変換して取得した文字列「rs4m8zwn」を、コード読取情報として取得する。
図4は、生体情報格納部202に格納されている生体情報を管理する生体情報管理表である。生体情報管理表は、「ID」と、「生体情報」と、「コード読取情報」という属性を有している。「ID」は、生体情報管理表の各レコード(行)を管理する識別子である。一のレコードが、生体情報蓄積部203が蓄積する生体情報とコード読取情報との組に対応する。「生体情報」は、生体情報であり、ここでは、生体情報が格納されているファイルであるとする。「コード読取情報」はコード読取情報であり、ここでは、生体情報に対応するコード情報が示すコードから読取られる文字列であるとする。
図4の生体情報管理表において、「ID」が「57」であるレコード(行)が、ユーザAについて取得された「生体情報」と「コード読取情報」とを有するレコードであるとする。
情報処理装置1のコード情報受信部103が、サーバ装置2から送信されるコード情報を受信すると、印刷部104は、受信したコード情報を用いてコードを印刷する。ここでは、印刷部104が、シールにコードを印刷可能なカラープリンタを有しているものとすると、印刷部104は、受信したコードの画像であるコード情報を用いて、カラーバーコードであるコードをシールに印刷する。
図5は、印刷部104がシールに印刷したコード50を示す図(図5(a))、およびこのコードが印刷されたシールが貼付されたユーザAのヘルメットの側面図(図5(b))である。
図5(a)に示すように、コード50の色が配置されている各セル50aの周りは、ここでは、黒色で塗りつぶされている。
ユーザAは印刷されたコード50を、図5(b)に示すように、自分のヘルメット55の側面に貼付したとする。
図6は、コード50を撮像する状況を示す図(図6(a))、およびカメラ105aが撮像した画像を示す図(図6(b))である。
ヘルメット55をかぶったユーザAが、建設現場の入口で、図6(a)ヘルメット55の側部のコード50が情報処理装置1が有するカメラ105aの撮像領域内に配置されるような位置に立ったとする。
カメラ105aが、コード50を含む領域を撮像して、図6(b)に示すようなカラー画像60を取得すると、コード読取部105は、図6(b)に示す画像60において、コード50が配置されている領域51を検出し、検出した領域の画像を切り出して、コード50の読取を行なう。コード読取部105がコードから読取ったコード読取情報は、「rs4m8zwn」という文字列であったとする。
読取情報送信部106は、コード読取部105が取得したコード読取情報である文字列「rs4m8zwn」を、サーバ装置2に送信する。
認証受信部207は、情報処理装置1の読取情報送信部106からコード読取情報「rs4m8zwn」を受信する。認証部208は、認証受信部207が受信したコード読取情報を用いて認証処理を行なう。ここでは、認証部208は、「コード読取情報」の属性値が、認証受信部207が受信したコード読取情報「rs4m8zwn」と一致するをレコードを、図4に示した生体情報管理表から検索し、一致するレコードが検出された場合に、認証されたと判断する。「ID」が「57」であるレコードの「コード読取情報」が、受信したコード読取情報と一致するため、認証されたと判断する。このため、認証結果送信部209は、認証されたことを示す認証結果を情報処理装置1に対して送信する。
情報処理装置1の認証結果受信部107は、サーバ装置2から送信される認証結果を受信する。出力部108は、認証結果受信部107が受信した認証結果に応じた情報を出力する。ここでは、一例として、出力部108は、認証されたことを示す認証結果の情報に対応付けられた「認証されました。入場が可能です。」という文字列を、図示しない格納部から読み出し、読み出した文字列を配置したダイアログボックス65を、モニタ108aに認証結果に応じた情報として表示する。
図7は、出力部108による認証結果の出力例を示す図である。
ユーザAが、建設現場での一日の作業の終了時に、一日の作業についての内容等を作業情報として入力するため、情報処理装置1に対して、作業情報を入力する入力画面をモニタ108aに表示させる操作を、図示しない入力デバイス等を介して行なったとすると、出力部108は、作業情報の入力画面70をモニタ108aに出力する。
図8は、作業情報の入力画面の一例を示す図である。
ユーザが、図示しないキーボード等を操作して、入力画面70に対して作業情報の入力を行なったとする。そして、作業情報を送信するための指示を入力すると、出力部108は、モニタ108aに、送信するユーザに対応したコードの読取り、またはユーザの生体情報の読取りを行なうことを指示する画面を出力する。これに応じて、上記と同様に、ユーザのヘルメット55の横に貼り付けられたコード50を、カメラ105aで撮像させると、コード読取部105が上記と同様に、カメラ105aが撮像した画像を用いてコード50を読取って、コード読取情報「rs4m8zwn」を取得する。作業情報送信部110は、このコード読取情報と、上記で作業情報受付部109が受け付けた作業情報とを、サーバ装置2に送信する。
サーバ装置2の作業情報受信部210は、情報処理装置1の作業情報送信部110が、コード情報と、作業情報とを受信する。作業情報蓄積部212は、作業情報受信部210が受信した作業情報を、作業情報受信部210が受信したコード読取情報と対応付けて作業情報格納部211に蓄積する。
図9は、作業情報格納部211に格納された作業情報を管理する作業情報管理表である。作業情報管理表は、「コード読取情報」、「生体情報」、「作業情報」という属性を有している。また、「作業情報」という属性は、図8に示した入力画面で入力された作業情報の各項目に対応する「氏名」、「日付」、「作業開始時刻」、「作業終了時刻」、「作業内容1」等の複数の属性を有している。作業情報受信部210が受信したコード読取情報は、一のレコードの「コード読取情報」の属性値として蓄積され、作業情報受信部210が受信した作業情報が有する各項目の値は、同じレコードの「作業情報」に含まれる複数の属性のうちの、それぞれの項目に対応する属性の属性値として蓄積される。ここでは、一番下のレコード(行)が、上記で受信した作業情報が格納されるレコードである。
なお、作業情報の送信する指示を入力した後、コード50を読取らせる代わりに、スキャナ101aを用いて指の指紋を読取らせて、指の指紋の特徴点である生体情報を生体情報取得部101に取得させたとすると、作業情報送信部110は、コード読取情報の代わりに生体情報取得部101が取得した生体情報を、作業情報とともに、サーバ装置2に送信する。そして、サーバ装置2の作業情報蓄積部212は、作業情報受信部210が受信した生体情報と、作業情報とを、図9に示した作業情報管理表に蓄積する。
このようにして、ユーザAの作業情報が、ユーザAの生体情報に対応するコード読取情報、またはユーザAの生体情報と対応付けて作業情報格納部211に格納されることとなる。
なお、作業情報格納部211に格納された作業情報等を、図示しない作業情報を出力する作業情報出力部等により、適宜、外部に出力するようにしてもよい。例えば、このような作業情報等を用いることで、ユーザの作業状況の管理等を行なうことが可能となる。
以上、本実施の形態によれば、ユーザから取得した生体情報に対応付けられたコードを印刷することができ、コードを利用してユーザを適切に管理することができる。例えば、ユーザの生体情報と紐付けられたコードが、ユーザに発行されることとなるため、コードを利用しているユーザが、コードが発行されたユーザであるか否かを、コードに紐付けられた生体情報をもちいて確認することが可能となる。
また、本実施の形態においては、生体情報と対応付けたコードを発行することで、ユーザに対してコードが重複して発行されないようにすることができる。これにより、例えば、一のコードで一のユーザに関連した情報を管理することが可能となる。また、生体情報と対応付けられたコードを、異なる作業場や、異なる建築現場、異なる企業等で共用できるようにすることで、例えば、一度、どこかで生体情報を用いてコードの発行を受けたユーザは、他の作業場や、建築現場、他の企業の作業現場等においても、同じコードを利用することが可能となり、コード発行の手間等をなくしたり、ユーザの情報を一のコードで管理できるようにすることができる。
また、ユーザから取得した生体情報に対応付けられたコードを用いて、認証を行なうことができ、容易にユーザの認証を行なうことができる。
また、ユーザの作業情報を、ユーザから取得した生体情報、またはこの生体情報に対応付けられたコードから読取った情報と対応付けて蓄積することができ、ユーザの作業情報を容易に管理することができる。
(変形例)
なお、上記実施の形態においては、情報処理装置1と、サーバ装置2とで構成される情報処理システム1000について説明したが、本発明は、スタンドアローンの情報処理装置としても実現可能なものである。
以下、本実施の形態の情報処理システム1000と同様の機能を実現する情報処理装置3について説明する。
図10は、本実施の形態の変形例の情報処理装置を示すブロック図である。
情報処理装置3は、生体情報取得部101、スキャナ101a、コード情報取得部301、印刷部302、生体情報格納部202、生体情報蓄積部303、検索部304、コード読取部105、カメラ105a、認証部305、出力部306、作業情報受付部109、作業情報格納部211、作業情報蓄積部307を備える。
図10において、図1と同一符号は同一または相当する部分を示しており、ここでは詳細な説明は省略する。
コード情報取得部301は、上記のコード情報取得部205において、生体情報受信部201が受信した生体情報に対応付けられたコード情報の代わりに、生体情報取得部101が取得した生体情報に対応付けられたコード情報を取得するようにしたものであり、この点以外については、コード情報取得部205と同様であるため、詳細な説明は省略する。
印刷部302は、上記の印刷部104において、コード情報受信部103が受信したコード情報の代わりに、コード情報取得部301が取得したコード情報を用いて、コードを印刷するようにしたものであり、この点以外については、印刷部104と同様であるため、詳細な説明は省略する。
生体情報蓄積部303は、上記の生体情報蓄積部203において、コード情報取得部205が取得したコード情報に対応付けられた生体情報の代わりに、コード情報取得部301が取得したコード情報に対応付けられた生体情報を、生体情報格納部202に蓄積するようにしたものであり、この点以外については、生体情報蓄積部203と同様であるため、詳細な説明は省略する。
検索部304は、上記の検索部204において、生体情報受信部201が受信した生体情報と一致する生体情報の代わりに、生体情報取得部101が取得した生体情報と一致する生体情報を、生体情報格納部202に格納されている生体情報から検索するようにしたものであり、この点以外については、検索部204と同様であるため、詳細な説明は省略する。
認証部305は、上記の認証部208において、認証受信部207が受信したコード読取情報を用いて、認証処理を行なう代わりに、コード読取部105が読取ったコード読取情報を用いて、認証処理を行なうようにしたものであり、この点以外については、認証部208と同様であるため、詳細な説明は省略する。
出力部306は、上記の出力部108において、認証結果受信部107が受信した認証結果に応じた情報を出力する代わりに、認証部208の認証結果に応じた情報を出力するようにしたものであり、この点以外については、出力部108と同様であるため、詳細な説明は省略する。
作業情報蓄積部307は、上記の作業情報蓄積部212において、作業情報受信部210が受信した作業情報と、生体情報またはコード読取情報とを対応付けて作業情報格納部211に蓄積する代わりに、作業情報受付部109が受け付けた作業情報と、生体情報取得部101が取得した生体情報またはコード読取部105が読取ったコード読取情報とを対応付けて作業情報格納部211に蓄積するようにしたものであり、この点以外については、作業情報蓄積部212と同様であるため、詳細な説明は省略する。
このような情報処理装置3においても、上記実施の形態の情報処理システム1000と同様の効果を奏するとともに、スタンドアローンで生体情報に対応したコードの印刷等が可能となるため、装置の取扱が容易となるとともに、通信環境等が整っていない状況においても利用することが可能となる。
なお、上記実施の形態において、一の装置に存在する2以上の通信手段(例えば、生体情報送信部102、コード情報受信部103、読取情報送信部106、認証結果受信部107、および作業情報送信部110や、生体情報受信部201、コード情報送信部206、認証受信部207、認証結果送信部209、および作業情報受信部210は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
例えば、上記実施の形態において、サーバ装置2を、複数の異なるサーバ装置で実現するようにしてもよい。例えば、図13に示すように、情報処理システム1のサーバ装置2を、上記実施の形態において説明したサーバ装置2の、生体情報受信部201、生体情報格納部202、生体情報蓄積部203、検索部204、コード情報取得部205、およびコード情報送信部206を備えた第一のサーバ装置2aと、上記実施の形態において説明したサーバ装置2の、認証受信部207、認証部208、認証結果送信部209、作業情報受信部210、および作業情報格納部211、および作業情報蓄積部212とを備えた第二のサーバ装置とで構成するようにしても良い。この場合の第一のサーバ装置2aは、例えば、生体情報を受信して、コード情報を取得して、コード情報を送信する構成であり、第二のサーバ装置2bは、例えば、コードを読み取った情報を用いて、認証処理や、作業情報を蓄積する処理等を行なう構成である。なお、第二のサーバ装置2bの認証部208等が、第一のサーバ装置2aの生体情報格納部202等に格納されている情報を認証処理等に利用する必要がある場合、ネットワーク経由で適宜、第二サーバ装置2bの生体情報格納部202等にアクセスするようすればよい。また、生体情報格納部202等に格納されている情報と同じ情報が格納される格納部(図示せず)を、第二のサーバ装置2bに設けるようにし、認証部208等はこの格納部に適宜アクセスするようにしても良い。なお、この格納部と生体情報格納部202等とは、格納されている情報が同じとなるよう同期しておくことが好ましい。なお、第二のサーバ装置2bにおいて認証等を行なう必要がない場合、認証受信部207、認証部208、認証結果送信部209等は省略しても良い。
なお、上記のような第二のサーバ装置2bであって、認証受信部207、認証部208、認証結果送信部209等は省略した第二のサーバ装置2bは、例えば、情報処理装置1から送信される作業情報と、生体情報またはコードから読取った情報とを受信する作業情報受信部210と、作業情報と、生体情報またはコードから読取った情報とが対応付けて格納される作業情報格納部211と、作業情報受信部210が受信した作業情報と、生体情報またはコードから読取った情報とを対応付けて作業情報格納部210に蓄積する作業情報蓄積部212とを備えたサーバ装置である。
また、この第二のサーバ装置2bに、認証受信部207、認証部208、認証結果送信部209を備えるようにした第二のサーバ装置2bは、情報処理装置1から送信されるコード読取情報を受信する認証受信部207と、認証受信部207が受信したコード読取情報を用いて認証処理を行なう認証部208と、認証部208による認証結果を前記情報処理装置1に送信する認証結果送信部209とを備えたサーバ装置である。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、生体情報を取得する生体情報取得部と、生体情報取得部が取得した生体情報をサーバ装置に送信する生体情報送信部と、サーバ装置から、生体情報に対応するコード情報を受信するコード情報受信部と、コード情報受信部が受信したコード情報を用いて、コードを印刷する印刷部と、して機能させるためのプログラムである。
また、上記実施の形態におけるサーバ装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、情報処理装置から生体情報を受信する生体情報受信部と、生体情報に対応付けられたコード情報を取得するコード情報取得部と、コード情報取得部が取得したコード情報を情報処理装置に送信するコード情報送信部と、をして機能させるためのプログラムである。
また、上記実施の形態の変形例における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、生体情報を取得する生体情報取得部と、生体情報取得部が取得した生体情報に対応するコード情報を取得するコード情報取得部と、コード情報取得部が取得したコード情報を用いて、コードを印刷する印刷部と、して機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図11は、上記プログラムを実行して、上記実施の形態による情報処理装置およびサーバ装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図11において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図12は、コンピュータシステム900の内部構成を示す図である。図12において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。