以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の本人認証処理を適用したテレワーク管理支援システム100の構成の一例を示すシステム構成図である。
テレワーク管理支援システム100は、1または複数の管理サーバ101、1または複数のデータベース102、1または複数のテレワーカ用PC111、1または複数の管理者用PC121がインターネット130を介して接続される構成となっている。
管理サーバ101は、テレワーカの離席状況や他者による覗き込み、なりすましの証跡データをテレワーク情報として一元管理するサーバであり、サービス環境ネットワーク104上に構築されている。管理サーバ101へは、テレワーカ用PC111と管理者用PC121が、アカウントIDとパスワードを用いた認証処理により接続する。管理サーバ101は、テレワーカ用PC111からテレワーク情報を受信した場合はデータベース102に格納する。また、管理者用PC121から取得要求があった場合は、データベース102から必要なテレワーク情報を取り出す。
データベース102は、管理サーバ101の操作にもとづいてテレワーク情報を記憶するサーバであり、サービス環境ネットワーク104上に構築されている。データベース102は、テレワーク情報のほかに、管理サーバ101への接続用アカウントIDとパスワードも記憶する。
データベース102は、管理サーバ101からの接続のみ許可し、外部からは接続できない。
テレワーカ用PC111は、テレワーク情報のもととなる証跡データを作成する端末であり、自宅ネットワーク110上に存在する。証跡データは、専用アプリケーションにより作成され、ルータ112、インターネット130、ルータ103を介して管理サーバ101へ送信される。本実施形態の本人認証処理はこの専用アプリケーション内の機能として動作する。
管理者用PC121は、テレワーク情報を確認するための端末であり、社内ネットワーク120上に存在する。テレワーク情報の確認にはウェブ管理コンソール(ウェブブラウザ上で動作)を使用し、ルータ122、インターネット130、ルータ103を介して管理サーバ101に接続する。
以下、図2を用いて図1に示した管理サーバ101、データベース102、テレワーカ用PC111、管理者用PC121に適用可能な情報処理装置のハードウェア構成について説明する。
図2は、図1に示した管理サーバ101、データベース102、テレワーカ用PC111、管理者用PC121に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ212には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ212からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209、ウェブカメラ210や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、ディスプレイ211への表示を制御する。ディスプレイ211は、CRTや液晶ディスプレイ等の表示器である。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ212へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したネットワーク104)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ211上での表示を可能としている。また、CPU201は、ディスプレイ211上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ212に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ212に格納されており、これらについての詳細な説明も後述する。
図3は、図1に示した管理サーバ101、データベース102、テレワーカ用PC111、管理者用PC121の機能を説明するための機能ブロック図である。
テレワーク管理支援システム100において、主に、テレワーカ用PC111では本人認証処理による労務監視、管理サーバ101とデータベース102では監視情報の管理、管理者用PC121では監視情報の表示をおこなう。
テレワーカ用PC111は、認証制御部311、画像取得部312、イベント検出部313、画面表示内容取得部314、画面表示内容解析部315、視線解析部316、証跡データ送信制御部317から構成される。
テレワーカ用PC111は専用アプリケーションを用いて、認証制御部311がウェブカメラ210により撮影された画像から本人認証処理をおこなう。認証制御部311は認証されたユーザのアカウントIDとパスワードを使用して、管理サーバ101と通信接続を確立する。管理サーバと接続を確立後、テレワーカの労務監視およびセキュリティ監視をおこなう。
画像取得部312は、ウェブカメラ210や不図示の監視カメラなどを用いて、テレワーカ用PCのディスプレイ211の画面に対向する空間の画像を取得する。
イベント検出部313は、画像取得部312により取得した画像を基に、画像に写り込んだ人物を特定し、離席や他者による画面覗き込み、本人なりすましなどの状態をイベントとして検出する。
画面表示内容取得部314は、定期的、または、イベント検出時等の不定期に、ディスプレイ211の画面の表示内容を取得する。
画面表示内容解析部315は、画面表示内容取得部314が取得した表示内容を基に、画面に表示されていた内容の重要度等を解析する。
視線解析部316は、イベント検出部313により特定された人物に対し、ウェブカメラ210や不図示の赤外線カメラなどにより取得した視線検知用画像を基に、既知の視線検出技術を用いて視線を検出し、画面表示内容取得部314により取得された表示内容のどの部分を注視していたかを特定する。
証跡データ送信制御部317は、イベント検出部313によるイベント内容、画面表示内容取得部314による表示内容、画面表示内容解析部315による解析結果、視線解析部316による視線位置情報を合わせて、管理サーバ101に証跡データとして送信する。
管理サーバ101は、証跡データ受信制御部301、証跡データ登録部302、証跡表示制御部303から構成される。
管理サーバ101はテレワーカ用PC111から証跡データが送信されると、証跡データ受信制御部301が当該データを受信し、証跡データ登録部302がデータベース102の証跡データ記憶部304に格納する。証跡データの受信時、管理サーバ101から管理者用PC121のユーザにメール通知するようにしてもよい。
証跡表示制御部303は、管理者用PC121から証跡表示要求があった場合、証跡データ記憶部304に格納されている証跡データを基に表示データを作成し、管理者用PCに送信する。
管理者用PC121は、証跡表示部321を持つ。
証跡表示部321は、ウェブブラウザから専用URLにアクセスするウェブ管理コンソールにより実現され、管理サーバ101に証跡表示要求を送信することにより、表示データを受信し、証跡情報を表示する。また、ウェブ管理コンソールでは、証跡情報のほか、本人認証処理に使用しているテレワーカ写真、テレワーカ用PC111の管理サーバへの通信状況などについて確認できる。
なお、本構成例では、イベント検出部313、画面表示内容解析部315、視線解析部316をテレワーカ用PC111の構成としたが、テレワーカ用PC111にて取得した前記の画像、画面表示内容、視線検知用画像を基に処理するように管理サーバ101の構成としてもよい。
また、テレワーカ用PC111にて、証跡表示制御部303の機能を持ち、証跡データを基に作成した表示用データを管理サーバ101に送信し登録してもよい。
また、管理者用PC121にて、証跡表示制御部303の機能を持ち、管理サーバ101の証跡データ記憶部に格納されている証跡データを基に表示データを作成し証跡情報を表示するようにしてもよい。
以下、図4を参照して、本実施形態のテレワーク管理支援システム100におけるセキュリティ監視処理について説明する。
本処理は、テレワーカ用PC111に備え付けられたウェブカメラの画像から、本人以外の人物(第三者)が画面を覗き込んだ場合や、本人になりすました場合のディスプレイ上の視線先を推定し、どの表示領域に関心を向けていたかを証跡として取得する。テレワーカ本人以外がディスプレイを覗き見た場合は、管理サーバにスクリーン画像と、視線位置情報と機密レベル情報を証跡情報として送信する。
本処理のポイントとして、テレワーカ本人以外がディスプレイを覗き見た場合や本人になりすました場合に、その人物のディスプレイ上の視線先推定位置と、ディスプレイ表示されている内容とその機密レベルを証跡情報として取得することが挙げられる。
ディスプレイ上の視線先推定位置は、テレワーカ本人以外がディスプレイ上のどの領域に視線を向けているかの推定位置を示す。機密レベルは、ディスプレイに表示されているファイルの属性や、表示されている文字情報を基に算出した機密の度合いを示す。
以下に、図4を参照して本実施形態の視線先推定処理の各ステップについて説明する。
ステップS401では、テレワーカ用PC111は設定ファイルから各種パラメータを読み込む。読み込んだ各パラメータは、RAM203に記憶させておき、必要なときに参照する。各パラメータの設定ファイルの記載例は、図10にて説明する。
ステップS402では、認証制御部311は、S417で証跡情報を送信できるよう、管理サーバとの通信接続を確立する。接続の確立には、あらかじめ管理サーバに登録しているテレワーカのシステムログイン用のアカウントIDとログインパスワードを使用する。
ステップS403では、画像取得部312は、ウェブカメラ210から画像を取得する。取得した画像はRAM203に記憶しておき、S501、S502、S601、S602、S603の各ステップで使用する。
ステップS404では、イベント検出部313は、ステップS403で取得した画像から状態を判定する。状態判定処理の詳細は、図5で説明する。
ステップS405では、判定状態により処理を決定する。判定状態がセキュリティ上問題のある「覗き見」または「なりすまし」の場合は、ステップS406に進む。一方、セキュリティ上問題のない「在席」または「離席」の場合は、ステップS412で次回の処理d実行タイミングまで待機する。
なお、本例では「覗き見」または「なりすまし」の場合のみ、証跡を取得するようにしているが、「在席」の場合にも証跡を取得し、セキュリティ監視や勤務状態の確認のために使用してもよい。
ステップS406では、画面表示内容取得部314は、判定状態および画面の表示内容に変化があったかを判断する。前回処理と今回とで、判定状態が異なる場合または画面の表示内容が異なる場合は、新たに画面表示内容を取得するためにステップS407に進む。、判定状態と表示内容が同じ場合は、ステップS410に進む。
ここで、画面の表示内容の変化を判断する際に画面スクロールされている状況では、処理サイクルが短い場合には通常通り、画面の表示内容に変化があったとして画面表示内容を取得すればよいし、処理サイクルが長い場合には画面スクロール中の視線先推定は困難であるため、画面スクロールが終了した段階で画面表示内容を取得するようにしてもよい。
また、例えば一度別のウィンドウを前面に表示して、そのウィンドウを非表示にした状況のように、結果的に表示内容が同じであるような場合には、前の画面の表示内容が継続しているとして処理を実施してもよい。それにより、同一の情報に対して注視していた結果をより正確に得ることができる。
ステップS407では、画面表示内容取得部314は、テレワーカ用PC111のディスプレイ211の画面に表示されている内容をOS等から取得する。取得する情報は、画面のスクリーン画像、表示されているウィンドウで起動されているアプリケーションや開かれているファイルなど、である。本ステップで取得するスクリーン画像情報、表示領域情報をそれぞれ図12(a)、図12(b)で説明する。
ステップS408では、画面表示内容解析部315は、ステップS407にて取得した画面の表示内容を基に、機密レベルを判定する。機密レベル判定処理の詳細は図6で説明する。
ステップS409では、証跡データ送信制御部317は、ステップS407で取得した画面表示内容およびステップS408で判定した機密レベル情報を、管理サーバ101に送信し、管理サーバ101ではデータベース102に登録する。なお、本例では画面表示内容を取得するたびに送信しているが、データを蓄積して定期または不定期、イベント発生などのタイミングで一括して送信する形態でもよい。送信する情報の詳細例は、図12(a)〜(c)で説明する。
ステップS410では、視線解析部316は、ウェブカメラ画像に写っている顔に対して視線先推定処理をおこない、PC画面上のどの領域を見ているかを算出し、視線位置情報を作成する。視線先推定処理の詳細は、図7で説明する。
ステップS411では、証跡データ送信制御部317は、ステップS410で作成した視線位置情報を、管理サーバ101に送信し、管理サーバ101ではデータベース102に登録する。なお、本例では視線位置情報を取得するたびに送信しているが、データを蓄積して定期または不定期、イベント発生などのタイミングで一括して送信する形態でもよい。送信する情報の詳細例は、図11で説明する。
ステップS412では、画像取得部312は、次の画像取得タイミングまでの時間調整のためにスリープ処理をおこなう。スリープする時間は、S401で読み込んだ処理サイクルのパラメータを使用する。
ステップS413では、セキュリティ監視処理を終了させるか判断する。セキュリティ監視処理を終了させるには、メニュー等からテレワーカ本人が明示的に命令する。セキュリティ監視処理を終了させない場合は、再びステップS403の処理に戻る。
以下、図5を参照して、本実施形態の状態判定処理(S404)について説明する。
状態判定処理は、イベント検出部313が実行する。
ステップS501では、ステップS403で取得した画像から顔を検出する。顔の検出には外部ライブラリを使用し、顔の個数と画像上での位置を特定する。検出結果はRAM203に記憶しておき、後続処理で使用する。
ステップS502では、ステップS501での顔検出結果により状態を判定する。顔の検出数が0個(未検出)の場合、後述するステップS503で「離席」として判定する。検出数が1個の場合、後述するステップS505でテレワーカ本人かどうか確認するための顔認証処理をおこなう。検出数が2個以上の場合、後述するS504で「覗き見」として判定する。
ステップS503では、判定状態を「離席」に設定する。判定状態はRAM203に記憶しておき、後続処理で使用する。
ステップS504では、判定状態を「覗き見」に設定する。判定状態はRAM203に記憶しておき、後続処理で使用する。
ステップS505では、顔認証処理により、ウェブカメラ画像に写る顔とテレワーカが同一人物であるかの類似度を算出する。顔認証処理には、外部ライブラリを使用する。算出した類似度はRAM203に記憶しておき、後続処理で使用する。
ステップS506では、顔認証処理の類似度の結果とステップS401で読み込んだ類似度の閾値を比較し、画像に写る顔がテレワーカ本人であるか判断する。類似度が閾値以上の場合は本人と判断し、ステップS507で「在席」として判定する。類似度が閾値を満たさない場合は他人と判断し、ステップS508で「なりすまし」として判定する。
以下、図6を参照して、本実施形態の機密レベル判定処理(S408)について説明する。
機密レベル判定処理では、ステップS407で取得した画面の表示内容を基に機密レベル(言い換えると重要度)を算出する。機密レベルは1〜4の整数で表し、1であれば最も機密性が高い内容が表示されていたことを示す。また4であれば機密性が低い内容が表示されていたことを示す。
機密レベル判定処理は、画面表示内容解析部315が実行する。
以下に、各ステップの処理について説明する。
ステップS601では、取得した画面表示内容から表示領域一覧を取得する。表示領域とは、基本的に各ウィンドウを指すが、ウィンドウ以外のデスクトップであってもよい。取得した表示領域一覧情報はRAM203に記憶しておき、ステップS602で使用する。
ステップS602では、表示領域すべてに機密レベル算出処理をおこなったか判断する。未処理の表示領域がある場合、ステップS603で表示領域の表示位置情報を取得する。すべての表示領域を処理した場合、ステップS606で機密レベルの値を機密レベル情報に登録する。
ステップS603では、処理対象の表示領域が画面上のどの位置に表示されているかの情報を、表示領域一覧情報から取得する。取得した表示位置情報はRAM203に記憶しておき、ステップS604で使用する。
ステップS604では、表示領域の表示位置情報を使用して、表示領域に表示していた文字情報を抽出する。文字情報の抽出には、外部ライブラリを使用する。抽出した文字情報はRAM203に記憶しておき、ステップS605で使用する。
ステップS605では、抽出した文字情報を解析し、表示領域内の表示内容の機密レベルを算出する。機密レベルは、表示領域に表示している文字情報の解析結果から、1〜4の整数で算出する。機密レベルの値は、1が最も機密性が高い内容を意味し、4が最も低い内容であったことを表す。算出単位は、表示領域全体、段落単位、文章単位、単語単位などがあり、その組み合わせであってもよい。
機密レベルの解析には、事前に機密用語を登録した辞書データベースを使用する。例えば、辞書データベースに登録してある用語の出現回数のカウントや、ベイズ分類器と辞書データベースの組み合わせるような使用方法が考えられる。
表示内容が図表の場合には、その図表を説明する文章や段落から機密レベルを算出する。例えば、図表番号が記載されている段落の機密レベルを算出することで、それを図表の機密レベルとするような算出方法も考えられる。
また、表示領域で開いているファイルの属性から表示領域の機密レベルを判定してもよい。
算出した機密レベルはRAM203に記憶しておき、ステップS606で使用する。
ステップS606では、ステップS605で取得した機密レベルを証跡情報の一部として登録する。機密レベルの登録の際には、算出単位を画面上の座標情報に変換して表示位置を特定できるように登録する。機密レベル情報の詳細例は、図12(c)で説明する。
以下、図7を参照して、本実施形態の視線先推定処理(S410)について説明する。
視線先推定処理では、ウェブカメラ画像に写っているテレワーカ本人を含むすべての顔に対し、画面のどの領域に視線を向けていたか推定し、視線位置情報として算出する。
視線推定処理は、視線解析部316が実行する。
以下に、各ステップの処理について説明する。
ステップS701では、ウェブカメラ画像に写っている顔すべてに視線推定処理をおこなったかを判断する。未処理の顔がある場合、ステップS702で顔認証処理によりテレワーカ本人との類似度を算出する。すべての顔を処理した場合、ステップS705で視線位置情報を証跡情報の一部として登録する。
ステップS702では、顔認証をおこない、処理対象の顔とテレワーカが同一人物であるかの類似度を算出し、テレワーカ本人なのか判定する。テレワーカ本人であるか判定することで、視線位置情報を漏えい情報の絞り込みのほか、テレワーカの勤務状況の管理にも使用できるようになる。
顔認証処理には、外部ライブラリを使用する。算出した類似度はRAM203に記憶しておき、ステップS705で使用する。
ステップS703では、処理対象の顔に対して視線検出をおこなう。視線検出には、外部ライブラリを使用する。検出結果はRAM203に記憶しておき、ステップS705で使用する。
ステップS704では、視線検出結果をもとに、顔の視線先がスクリーン画像上のどの位置であるかを、視線位置情報として算出する。視線位置情報は、X方向とY方向のピクセル座標で表現する。算出結果はRAM203に記憶しておき、ステップS705で使用する。
ステップS705では、算出した視線位置情報を証跡情報の一部として登録する。
視線位置情報の詳細例は、図11で説明する。
以下、図8を参照して、本実施形態の証跡表示処理について説明する。
証跡表示処理では、取得イベント一覧から確認するイベントの選択後に、証跡情報である画面のスクリーン画像、視線位置情報、機密レベル情報から、覗き見となりすましのイベントが発生したときの第三者の視線先位置をヒートマップにて画面表示する。ヒートマップは、注視時間が長ければ、つまり、検出した視線位置の密度が高いほど、濃い色で表示し、注視時間が短ければ薄い色で表示する。
表示画面には、証跡サマリ画面(図13)と証跡詳細画面(図14)があり、画面操作をおこなうことで表示を切り替えられる。それぞれの画面の詳細例については、図13、図14で説明する。
証跡サマリ画面は、イベント発生時に取得した証跡情報を概要的に確認するための画面である。この画面では、スクリーン画像とヒートマップを重畳表示した画像(視線先ヒートマップ画像)をサムネイル(縮小画像)形式で一覧で表示し、連続的に確認できる。これにより、第三者がどの画面のどの領域を注視していたかを可視化する。
さらにヒートマップは、表示内容の機密レベルに応じて、色を変える。機密レベルが最も高い1の領域の場合、目立つ赤色を、機密レベルが最も低い4の領域の場合、淡い黄色を、というように機密レベルを一目で判断できるように色を割り当てる。
また、上記方法とは逆に、注視時間の長短を色の違いで、機密レベルを濃淡で表すようにしてもよい。また、機密レベルを記号や模様で、注視時間の長短をその記号や模様の大小で表してもよく、それぞれの内容が識別できればよい。
なお、本例では第三者に対してのみヒートマップを表示するようにしているが、テレワーカ本人についても、色や記号等を変えて第三者との区別を可能にしてヒートマップを表示するようにしてもよい。また、第三者が複数存在する場合は、色や記号等を変えて人物を区別可能にヒートマップを表示させてもよい。
証跡サマリ画面で、一覧表示されているサムネイルをマウスなどで選択すると、別ウィンドウ表示により証跡詳細画面に遷移する。
証跡詳細画面は、第三者に漏洩した表示内容の詳細を確認するための画面である。この画面では、画面表示内容、つまりスクリーン画像とヒートマップを重畳表示する。
証跡表示処理は、証跡表示制御部303が実行し、証跡表示部321、つまりウェブ管理コンソールに表示される。
以下に、各ステップの処理について説明する。
ステップS801では、管理サーバに送られてきたイベントの一覧を表示する。ユーザは、イベント一覧から確認したいイベントを選択することで内容を確認できる。
ステップS802では、イベント一覧でのユーザ操作を判断する。イベント一覧中のイベントの一つを選択した場合、ステップS803に進む。「ホーム」ボタンを選択した場合、イベント一覧の表示を終了する。
ステップS803では、ステップS802で選択されたイベントの証跡情報を取得する。証跡情報は、イベント発生期間内に取得したすべてのスクリーン画像、視線位置情報、機密レベル情報で構成される。取得した証跡情報はRAM203に記憶しておき、ステップS804、S806で使用する。
ステップS804では、ステップS802で選択したイベントの証跡情報をサマリ表示する。証跡情報のサマリ表示処理の詳細は、図9で説明する。
ステップS805では、証跡サマリ表示でのユーザ操作を判断する。証跡サマリで表示中のサムネイル一覧の中から一つを選択した場合、S806にて証跡情報の詳細を表示する。「戻る」ボタンを選択した場合、S801のイベント一覧表示に戻る。
ステップS806では、ステップS805で選択したサムネイルと関連付けられた証跡情報と視線先ヒートマップ画像を、証跡詳細として別ウィンドウで表示する。
ステップS807では、証跡詳細表示でのユーザ操作を判断する。「戻る」ボタンを選択した場合、S804の証跡サマリ表示に戻る。
以下、図9を参照して、本実施形態の証跡サマリ表示処理について説明する。
証跡サマリ表示処理では主に、ステップS802で選択されたイベントに対する視線先ヒートマップ画像のサムネイルの一覧表示をおこなう。
証跡サマリ表示処理は、証跡表示制御部303が実行し、証跡表示部321、つまりウェブ管理コンソールに表示される。
以下に、各ステップの処理について説明する。
ステップS901では、ステップS802で選択されたイベントの証跡情報をもとに、イベントのスクリーン画像一覧を取得する。取得した全スクリーン画像はRAM203に記憶しておき、ステップS906で使用する。
ステップS902では、ステップS802で選択されたイベントの証跡情報から、イベント発生期間中の視線情報を取得する。視線情報は、対となるスクリーン画像のID、視線検出時刻、スクリーン画像上の視線先となるピクセル座標で構成される。取得した視線情報はRAM203に記憶しておき、ステップS903、S905で使用する。
ステップS903では、ステップS902で抽出した視線情報をもとに、各視線の注視時間を算出する。注視時間は、次回の視線検出時刻までの時間を、ミリ秒単位で算出する。イベント終了時では、次回の視線情報が存在しないため、その場合に限りイベント終了時刻までを注視時間として算出する。算出した注視時間はRAM203に記憶しておき、ステップS905で使用する。
ステップS904では、ステップS802で選択されたイベントの証跡情報から、機密レベル情報を取得する。機密レベル情報は、対となるスクリーン画像のID、画面内に表示されたアプリケーション領域とその機密レベルにより構成される。ステップS901で取得した各スクリーン画像のIDをもとに取得する。取得した機密レベル情報はRAM203に記憶しておき、ステップS905で使用する。
ステップS905では、S902、S903、S904の各ステップで取得および算出した視線情報、注視時間、機密レベル情報をもとに、各スクリーン画像に対応するヒートマップを生成する。
ヒートマップの生成には、外部ライブラリを使用する。外部ライブラリには処理対象のすべての視線について、視線位置情報であるピクセル座標、注視時間、機密レベル情報から算出する濃淡パラメータを与えてヒートマップを生成する。
濃淡パラメータは、視線位置のピクセル座標、アプリケーション表示領域情報、機密レベルをもとに算出する。注視時間の長短により濃度を設定し、機密レベルにより色を変えるようにパラメータを設定する。ピクセル座標が表示領域外にある場合は、機密レベル4として濃淡パラメータを設定する。
生成したヒートマップはRAM203に記憶しておき、ステップS906で使用する。
ステップS906では、ステップS905で生成したヒートマップとスクリーン画像を重畳表示した画像(視線先ヒートマップ画像)のサムネイルを一覧表示する。一覧表示の画像サイズは、ユーザ操作により変更できるようにする。ヒートマップについては、ユーザ操作により表示の有無を切り替えられるようにする。
一覧表示されたサムネイルから1つのサムネイルを選択することにより、関連する証跡詳細情報を表示できる。
以下、図10を参照して、本実施形態のテレワーカ用PCでの設定ファイルの記述例について説明する。
図10は、ウェブカメラ画像のサイズ、本人認証時の類似度の閾値、本人認証処理のサイクルの設定例である。この例では、各設定項目をタグで囲んで設定している。
ウェブカメラ画像のサイズは、image_sizeタグ1001で指定する。「横×縦」の形式で、ピクセルで指定する。
本人認証時の類似度の閾値は、similarity_thresholdタグ1002で指定する。認証処理時に算出する類似度がここで設定する閾値を下回ると、他人と判断される。フォールス・ネガティブの観点から、指定できる範囲は0.5〜1.0とする。
本人認証処理のサイクルは、processing_cycleタグ1003で指定する。指定する値の単位はミリ秒とする。
以下、図11を参照して、本実施形態の視線位置情報のデータ構成例について説明する。
視線位置情報は、視線位置情報のID、視線検出の対象となったスクリーン画像のID、注視位置、検出時刻、テレワーカ本人視線の有無の情報により構成される。
視線位置情報のIDは、「視線ID」1101で指定する。このIDは、システム全体でユニークなものとする。
視線検出の対象となったスクリーン画像のIDは、「画像ID」1102で指定する。このIDで指定するスクリーン画像は、システム上に必ず存在することを前提とする。また、視線位置情報とスクリーン画像の関係は、多対一とする。
視線の注視位置はXY座標で指定する。X座標は「X」1103、Y座標は「Y」1104で指定する。指定できる値は、ピクセル値とする。
視線の検出時刻は、「時刻」1105で指定する。この例では、時刻はUNIX(登録商標)時刻で指定している。
視線検出の対象者がテレワーカ本人であるかの有無は、「テレワーカ」1106で指定する。指定できる値は1または0とする。1の場合はテレワーカ本人の視線情報、0の場合はテレワーカ本人以外、つまり第三者の視線情報であることを表す。
以下、図12を参照して、本実施形態のスクリーン画像情報、表示領域情報、機密レベル情報の記述例について説明する。
図12(a)は、スクリーン画像情報のデータ構成例である。
スクリーン画像情報は、スクリーン画像のID、画像を取得した端末のID、テレワーカのユーザID、スクリーン画像取得時刻、格納したファイル情報で構成される。
スクリーン画像のIDは、「画像ID」1201で指定し、システム全体でユニークなIDとする。
画像を取得した端末のIDは、「端末ID」1202で指定し、スクリーン画像を取得した端末のコンピュータ名やMACアドレスを設定する。
テレワーカのユーザIDは、「ユーザID」1203で指定する。
スクリーン画像取得時刻は、「時刻」1204で指定し、UNIX(登録商標)時刻で表現する。
格納したファイル情報は、「画像ファイル」1205で指定し、スクリーン画像を格納したフォルダパスも含めた画像ファイル名を設定する。
図12(b)は、表示領域情報のデータ構成例である。
表示領域情報は、スクリーン画像のID、スクリーン画像内の表示領域のID、起動しているプログラム、開いているファイル、表示基準位置、表示サイズ、アクティブ情報で構成される
スクリーン画像のIDは、「画像ID」1211で指定する。
スクリーン画像内の表示領域のIDは、「領域ID」1212で指定し、画像ID1211に対してユニークなIDである。基本的に各ウィンドウに対して設定するが、ウィンドウ以外のデスクトップなどや、スクリーン画像全体を表示領域の1つとしてもよい。
起動しているプログラムは、「プログラム」1213で指定し、表示領域で起動しているプログラムの名称やプログラムIDを設定する。
開いているファイルは、「ファイル」1214で指定し、表示領域で開いているファイル名を設定する。
表示基準位置は、表示範囲の左上角を基準としXY座標で指定する。X座標は「X」1215、Y座標は「Y」1216で指定する。指定できる値は、ピクセル値とする。
表示サイズは縦横の長さで指定する。縦の長さは「縦幅」1217、横の長さは「横幅」1218で指定する。長さに指定できる値は、ピクセル値とする。
アクティブ情報は、「アクティブ」1219で指定し、ユーザが操作中の表示領域であったかどうかを表す。指定できる値は、1または0とする。1の場合はユーザがその表示領域を操作中であったことを表す。
図12(c)は、機密レベル情報のデータ構成例である。機密レベル情報は、機密レベル情報のID、機密レベル算出の対象となったスクリーン画像のID、表示領域のID、機密レベル算出の基準位置、表示範囲、算出された機密レベルで構成される。
機密レベル情報のIDは、「機密ID」1221で指定する。このIDは、システム全体でユニークなものとし、機密レベル算出単位(表示領域全体、段落、文章、単語など)ごとに設定する。
機密レベル算出の対象となったスクリーン画像のIDは、「画像ID」1222で指定する。このIDで指定するスクリーン画像は、システム上に必ず存在することを前提とする。
表示領域のIDは、「領域ID」1223で指定し、表示領域情報の「領域ID」1212と対応する。機密レベルを算出したのが、この表示領域全体またはその一部であることを表す。
機密レベル算出の基準位置は、機密レベル算出単位の表示範囲の左上角を基準としXY座標で指定する。X座標は「X」1224、Y座標は「Y」1225で指定する。指定できる値は、ピクセル値とする。
表示範囲は、機密レベル算出単位の縦横の長さで指定する。縦の長さは「縦幅」1226、横の長さは「横幅」1227で指定する。長さに指定できる値は、ピクセル値とする。
算出された機密レベルは、「機密レベル」1228で指定する。機密レベルは1〜4の整数の範囲で指定する。機密レベルは、ステップS605で算出された値とする。
以下、図13、図14を参照して、本実施形態の証跡サマリ画面、証跡詳細画面の画面イメージ例について説明する。
図13は、証跡サマリ画面の画面イメージ例である。
証跡サマリ画面1300は、テレワーカ一覧1301、イベント一覧1302、証跡サマリ1303から構成される。また図中にあるようにカレンダ等を表示してもよい。
テレワーカ一覧1301は、本テレワーク管理支援システム100において管理されるテレワーカの一覧を表示し、一覧の中からイベントを表示させたいテレワーカを選択することができる。
イベント一覧1302は、選択されたテレワーカに対応するイベントの一覧を表示する。ここでイベントとは、ステップS404にて判定した判定状態に対応する。一覧の中から証跡を表示させたいイベントを選択することができる。
証跡サマリ1303は、選択されたイベントに対応する証跡の一覧を表示する。表示する証跡は、視線先ヒートマップ画像のサムネイル画像1304である。一覧の中から詳細表示させたい証跡を選択することにより、証跡詳細画面を呼び出すことができる。
図14は、証跡詳細画面の画面イメージ例である。
証跡詳細画面1400は、証跡説明一覧1401、証跡詳細1402から構成される。
証跡説明一覧1401は、対象となる証跡に対する説明情報を表示し、イベントの分類、イベントの発生日時、起動していたアプリケーション(プログラム)、機密レベル等を表示する。
証跡詳細1402は、証跡サマリ1303で選択されたサムネイル画像に対応する元画像が拡大表示される。スクリーン画像とヒートマップが重畳表示されるため、第三者が注視していた具体的内容を確認することができる。
図15に証跡詳細画面の別の表示形態を示す。
図15(a)は、機密レベルの高い表示領域が、ユーザによって一定時間以上注視された場合に、その表示領域を強調表示する表示形態の例である。表示領域1501は、機密レベルが「1」であり、ユーザ(例えば、第三者)によって一定時間(例えば「5秒」)以上注視されたことにより、表示領域が1502のように網掛け表示される。強調表示の方法は、反転、色塗りなど、管理者が認識できる形式であればよい。
図15(b)は、機密レベルの高い表示領域が、ユーザによって一定時間以上注視された場合に、その表示領域に対してメッセージ表示する表示形態の例である。表示領域1511は、機密レベルが「1」であり、ユーザ(例えば、第三者)によって一定時間(例えば「5秒」)以上注視されたことにより、表示領域1511に対してメッセージ1512が表示される。メッセージ1512には、機密レベル、注視していたユーザ名、注視時間等、注視されていた事実を管理者が認識できる情報を出力すればよい。
上記により、機密レベルの高い表示内容を、ユーザが注視していたか否かを確認することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
また、本発明におけるプログラムは、図4、図5、図6、図7、図8、図9の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、図4、図5、図6、図7、図8、図9の各処理ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。