以下に添付図面を参照して本願に係る脈波検出装置、脈波検出プログラム、脈波検出方法及びコンテンツ評価システムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[脈波検出装置の構成]
まず、本実施例に係る脈波検出装置の機能的構成について説明する。図1は、実施例1に係る脈波検出装置の機能的構成を示すブロック図である。図1に示す脈波検出装置100は、太陽光や室内光などの一般の環境光の下で被験者に計測器具を接触させずに、カメラ110によって被験者の生体が撮影された画像を用いて被験者の脈波、すなわち血液の体積の変動を検出する脈波検出処理を実行するものである。
かかる脈波検出装置100は、一態様として、上記の脈波検出処理がパッケージソフトウェアやオンラインソフトウェアとして実現される脈波検出プログラムを所望のコンピュータにインストールさせることによって実装できる。
ここで、上記の脈波検出プログラムは、プロセッサ及びメモリを有するコンピュータであれば任意の装置にインストールできるが、一例として、ディスプレイ付きの情報処理装置にインストールすることができる。
例えば、上記の脈波検出プログラムは、スマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末にインストールさせることができる。この他、上記の脈波検出プログラムは、移動体通信端末のみならず、移動体通信網に接続する能力を持たないデジタルカメラ、タブレット端末やスレート端末を含む携帯端末装置全般にインストールさせることができる。このように、上記の脈波検出プログラムが携帯端末装置にインストールされる場合には、携帯端末装置を脈波検出装置100として機能させることができる。さらに、携帯端末装置にカメラが標準装備されている場合には、携帯端末装置に標準装備されたカメラを脈波の検出に用いることもできる。
また、上記の脈波検出プログラムは、携帯端末装置に限定されず、情報処理装置全般にインストールさせることができる。例えば、デスクトップ型及びノート型のパーソナルコンピュータに上記の脈波検出プログラムをインストールさせることができる。この場合には、パーソナルコンピュータに接続されるWebカメラによって撮影された画像を脈波の検出に用いることができる。また、テレビ受信機もしくはテレビ受信機に接続された外部装置に上記の脈波検出プログラムをインストールすることもできる。この場合には、テレビ受信機やその外部装置に付設または内蔵されるカメラによって撮影された画像を脈波の検出に用いることとすればよい。さらには、テレビ受信機に接続されるゲーム機に上記の脈波検出プログラムをインストールさせたり、ゲーム機に実行させるソフトウェアのモジュールとして上記の脈波検出プログラムを組み込むこともできる。かかるゲーム機にカメラが内蔵されている場合には、当該カメラによって撮影された画像を脈波の検出に用いることができる。
図1に示すように、脈波検出装置100は、カメラ110と、画像メモリ111と、第1取得部112と、生体抽出部113と、第1算出部114と、BPF(Band-Pass Filter)115と、検出部116とを有する。さらに、脈波検出装置100は、表示部120と、フレームバッファ121と、第2取得部122と、第2算出部124とを有する。さらに、脈波検出装置100は、照度センサ130と、検出制御部150とを有する。
かかる脈波検出装置100は、図1に示した機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。例えば、脈波検出装置100が据置き端末として実装される場合には、キーボードやマウスなどの入力デバイスをさらに有することとしてもよい。また、脈波検出装置100がタブレット端末やスレート端末として実装される場合には、加速度センサや角速度センサをさらに有することとしてもよい。また、脈波検出装置100が移動体通信端末として実装される場合には、アンテナ、移動体通信網に接続する無線通信部、GPS(Global Positioning System)受信機などの機能部をさらに有していてもかまわない。
カメラ110は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を搭載する撮像装置である。例えば、カメラ110には、R(red)、G(green)、B(blue)など3種以上の受光素子を搭載することができる。かかるカメラ110の実装例としては、デジタルカメラやWebカメラを外部端子を介して接続することとしてもよい。また、他の実装例としては、インカメラやアウトカメラのように、カメラが出荷時から搭載されている場合にはそのカメラを流用できる。以下では、カメラ110によって撮影された画像のことを「カメラ画像」と記載する場合がある。なお、ここでは、脈波検出装置100がカメラ110を有する場合を例示したが、ネットワークまたは記憶デバイスを経由して画像を取得できる場合には、必ずしも脈波検出装置100がカメラ110を有さずともよい。
表示部120は、各種の情報、例えば脈波検出装置100上で動作するOS(Operating System)やアプリケーションプログラムが出力する画像、あるいは外部装置から供給される画像などを表示する表示デバイスである。かかる表示部120の一態様としては、モニタやディスプレイを採用したり、入力デバイスと一体化することによってタッチパネルとして実装したりすることもできる。
図2は、脈波の検出が実行されるシーンの一例を示す図である。図2には、一例として、脈波検出装置100が携帯端末装置として実装されており、表示部120が設置された側と同じ側に設置されたインカメラがカメラ110として用いられる例が図示されている。図2に示すように、脈波検出装置100の使用者が表示部120に表示された画像を閲覧する場合には、使用者の顔が表示部120のスクリーンと向き合う形になる。以下では、表示部120に表示される画像のことを「画面の表示画像」と記載する場合がある。このように、使用者が画面の表示画像を閲覧する場合には、使用者の顔が表示部120だけでなく、表示部120と同じ側に設けられたカメラ110とも向き合うこととなる。このため、使用者が画面の表示画像を閲覧している状況で撮影されたカメラ画像には、使用者の顔が映る可能性が高いと推定できる。かかる状況で、表示部120に画像が表示されるバックグラウンドでカメラ画像から脈波を検出することができれば、脈波検出装置100の使用者に意識させずに、健康管理を行ったり、静止画や動画を含むコンテンツを評価したりすることができる。
ここで、上記の脈波検出プログラムは、図示しない入力デバイスを介して起動操作がなされたことを契機に起動することもできるし、上述のように、表示部120にコンテンツが表示されたことを契機にバックグラウンドで起動することもできる。
このとき、上記の脈波検出プログラムがバックグラウンドで動作する場合には、表示部120にコンテンツを表示させながら、そのバックグラウンドでカメラ110による撮影が開始される。これによって、使用者が顔を表示部120のスクリーンに向けてコンテンツを閲覧する様子がカメラ画像として撮影される。かかるコンテンツは、文書、映像、動画などを始め、任意の種類の表示物であってよく、脈波検出装置100に保存されたものであってもよいし、Webサーバなどの外部装置から取得されたものであってもかまわない。このように、コンテンツが表示されると、コンテンツの閲覧が終了するまで使用者が表示部120を注視する可能性が高いので、使用者の顔が映ったカメラ画像、すなわち脈波の検出が可能な画像が継続して取得されることが期待できる。
また、上記の脈波検出プログラムが使用者による起動操作によって起動された場合には、表示部120による画像表示や図示しないスピーカからの音声出力などを通じて、脈波を検出し易いカメラ画像が撮像されるように画像の撮影操作を案内できる。例えば、脈波検出プログラムは、入力デバイスを介して起動されると、カメラ110を起動する。これを受けて、カメラ110は、カメラ110の撮影範囲に収容された被写体の撮影を開始する。このとき、使用者の顔を撮影する場合には、脈波検出プログラムは、カメラ110が撮影する画像を表示部120に表示させつつ、使用者の鼻を映す目標位置を照準として表示させることもできる。これによって、使用者の眼、耳、鼻や口などの顔パーツの中でも使用者の鼻が撮影範囲の中心部分に収まった状態で撮影できるようにする。その後、カメラ110によって使用者の顔が撮影されたカメラ画像を画像メモリ111へ保存する。
画像メモリ111は、画像を記憶する記憶デバイスである。一態様としては、画像メモリ111には、カメラ110によって撮影が実行される度に、当該撮影で得られたカメラ画像が保存される。このとき、画像メモリ111には、所定の圧縮符号化方式によってエンコードされた動画が保存されることとしてもよいし、使用者の顔が映る静止画の集合が保存されることとしてもよい。なお、ここでは、カメラ110によって撮影されたカメラ画像が保存される場合を例示したが、ネットワークを介して受信した画像が保存されることとしてもかまわない。
第1取得部112は、カメラ画像を取得する処理部である。一態様としては、第1取得部112は、カメラ110によって撮像されたカメラ画像を取得する。他の一態様としては、第1取得部112は、カメラ画像を蓄積するハードディスクや光ディスクなどの補助記憶装置またはメモリカードやUSB(Universal Serial Bus)メモリなどのリムーバブルメディアからカメラ画像を取得することもできる。更なる一態様としては、第1取得部112は、外部装置からネットワークを介して受信することによってカメラ画像を取得することもできる。なお、第1取得部112は、CCDやCMOSなどの撮像素子による出力から得られる2次元のビットマップデータやベクタデータなどの画像データを用いて処理を実行する場合を例示したが、1つのディテクタから出力される信号をそのまま取得して後段の処理を実行させることとしてもよい。
生体抽出部113は、カメラ画像から生体領域を抽出する処理部である。一態様としては、生体抽出部113は、第1取得部112によって取得されたカメラ画像から所定の顔パーツを基準とする生体領域を抽出する。例えば、生体抽出部113は、カメラ画像にテンプレートマッチング等の画像処理を実行することによって被験者である使用者の眼、耳、鼻や口などの顔の器官、いわゆる顔パーツのうち特定の顔パーツ、すなわち使用者の鼻を検出する。その上で、生体抽出部113は、使用者の鼻を中心とし、中心から所定の範囲に含まれる生体領域を抽出する。これによって、使用者の鼻、鼻の周辺に位置する頬の一部などの顔中心部分を含んだ生体領域の画像が脈波の検出に使用する画像として抽出される。その後、生体抽出部113は、原画像であるカメラ画像から抽出した生体領域の画像を第1算出部114へ出力する。尚、特定の顔パーツは鼻に限定するものではなく、眼や口を選択しても良い。
第1算出部114は、生体領域に含まれる各画素が持つ画素値の代表値を算出する処理部である。一態様としては、第1算出部114は、生体抽出部113によって抽出された生体領域に含まれる各画素が持つ画素値に所定の統計処理を実行する。例えば、RGBの3種類の受光素子によってカメラ画像が撮像される場合には、第1算出部114は、生体領域に含まれる各画素が持つR成分の輝度値、G成分の輝度値およびB成分の輝度値のうちG成分の輝度値に対象を絞って平均処理を実行する。かかる平均処理の一例としては、相加平均を始め、加重平均や移動平均などの平均処理全般を適用することもできる。また、上記の統計処理は、平均処理に限定されず、中央値や最頻値を計算することとしてもかまわない。これによって、生体領域に含まれる各画素が持つG成分の輝度値の平均値が当該生体領域を代表する代表値として算出される。なお、ここでは、RGBの3つの波長成分のうち血液による吸光特性が最も高いG成分の輝度値を平均する場合を例示したが、他の波長成分、例えばR成分やB成分の輝度値を平均することとしてもかまわない。さらに、G成分やR成分やB成分の輝度値の平均値を適当に重み付け加算しても良い。
BPF115は、所定の周波数帯の信号成分だけを通過させてそれ以外の周波数帯の信号成分を除去するバンドパスフィルタである。一態様としては、BPF115は、第1算出部114によって算出された生体領域の代表値の時系列データ、すなわち生体領域の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する。ここで、脈波が採り得る周波数帯の一例としては、0.5Hz以上4Hz以下の周波数帯、言い換えれば30bpm(beats per minute)以上240bpm以下の周波数帯が挙げられる。このように、BPF115を通過させた生体領域の輝度信号Piには、脈波に対応する輝度変化が含まれる。なお、BPF115は、ハードウェアによって実装されることとしてもよいし、ソフトウェアによって実装されることとしてもよい。
検出部116は、BPF115によって出力された生体領域の輝度信号Piから使用者の脈波を検出する処理部である。一態様としては、検出部116は、BPF115によって出力された生体領域の輝度信号Piの波形をそのまま脈波波形として出力することができる。他の一態様としては、検出部116は、生体領域の輝度信号Piの振幅値が出力される度に、輝度信号Piの波形のピーク検出、例えば微分波形のゼロクロス点の検出などを実行することによって脈拍数を計算することができる。例えば、検出部116は、ピーク検出によって生体領域の輝度信号Piの波形からピークが検出された場合に、当該ピーク、すなわち極大点が検出されたサンプリング時間を図示しない内部メモリに保存しておく。その上で、検出部116は、ピークが出現した時点で、所定のパラメータn個前の極大点との時刻差を求め、当該時間差をnで除算することによって脈拍数を算出することができる。なお、ここでは、ピーク間隔によって脈拍数を検出する場合を例示したが、脈波波形を周波数成分へ変換することによって脈波に対応する周波数帯、すなわち0.5Hz以上4Hz以下でピークをとる周波数から脈拍数を検出することもできる。
このようにして得られる脈拍数や脈波波形は、脈波検出装置100が有する表示部120を始め、任意の出力先へ出力することができる。例えば、脈拍数や脈拍周期のゆらぎから自律神経の働きを診断したり、脈波波形から心疾患等を診断したりする診断プログラムが脈波検出装置100にインストールされている場合には、診断プログラムを出力先とすることができる。また、診断プログラムをWebサービスとして提供するサーバ装置などを出力先とすることもできる。さらに、脈波検出装置100を利用する利用者の関係者、例えば介護士や医者などが使用する端末装置を出力先とすることもできる。これによって、院外、例えば在宅や在席のモニタリングサービスも可能になる。なお、診断プログラムの測定結果や診断結果も、脈波検出装置100の表示部120を始め、関係者の端末装置に表示させることができるのも言うまでもない。このように、脈波の検出結果を用いることによって使用者の健康管理が可能となる。
ここで、一連のカメラ画像には、使用者の顔の脈波に対応する輝度変化が映り込む反面で、顔の脈波以外の輝度変化が映り込む余地もある。例えば、使用者が画面の表示画像を閲覧しながら脈波を検出する場合には、表示部120によって画面の表示画像として出力される画面光が使用者の顔で反射することによってカメラ110へ入射し、その反射光がカメラ画像に映り込むことがある。このように、カメラ画像に映り込んだ画面光の変化は、脈波に対応する輝度変化よりも大きな変化として検出されることが多く、誤検出の原因となる。
そこで、本実施例に係る脈波検出装置100は、カメラ画像から脈波の検出を実行した場合に誤検出のおそれがあるか否かを画面の輝度情報を用いて判定する。かかる判定を実現するために、フレームバッファ121、第2取得部122、第2算出部124及び照度センサ130が検出制御部150によって用いられる。
フレームバッファ121は、画面の表示画像を記憶する記憶デバイスである。例えば、フレームバッファ121には、脈波検出装置100が有するプロセッサ上で動作するOSやアプリケーションプログラムの処理結果として表示部120に表示される画面の表示画像が描画される。なお、フレームバッファ121は、プロセッサに接続される主記憶装置が持つ記憶領域の一部を割り当てることによって実現してもよいし、専用のメモリ装置を設けることとしてもかまわない。
第2取得部122は、画面の表示に関する輝度情報を取得する処理部である。一態様としては、第2取得部122は、OSやアプリケーションプログラムが提供するAPI(Application Program Interface)を用いて、フレームバッファ121に保存された画面の表示画像を取得する。他の一態様としては、フレームバッファ121に保存された画面の表示画像のうち指定色の輝度の代表値を取得する機能をOSやアプリケーションプログラム等に追加しておく。その上で、第2取得部122は、OSやアプリケーションプログラムに追加しておいた機能を呼び出すことによって画面の表示に関する輝度情報を取得することもできる。更なる一態様としては、第2取得部122は、カメラ110とは別のカメラによって表示部120が撮像された画像を画面の表示に関する輝度情報として取得することもできる。
第2算出部124は、画面の表示画像に含まれる各画素が持つ画素値の代表値を算出する処理部である。一態様としては、第2算出部124は、第2取得部122によって取得された画面の表示画像に含まれる各画素が持つ画素値に所定の統計処理を実行する。例えば、画面の表示画像がRGB表色系に対応する輝度値を持つ場合には、第2算出部124は、画面の表示画像に含まれる各画素が持つR成分の輝度値、G成分の輝度値およびB成分の輝度値のうちG成分の輝度値に対象を絞って平均処理を実行する。これによって、画面の表示画像に含まれる各画素が持つG成分の輝度値の平均値が当該画面の表示画像を代表する代表値として算出される。なお、ここでは、RGBの3つの波長成分のうち血液による吸光特性が最も高いG成分の輝度値を平均する場合を例示したが、他の波長成分、例えばR成分やB成分の輝度値を平均することとしてもかまわない。さらに、G成分やR成分やB成分の輝度値の平均値を適当に重み付け加算しても良い。
照度センサ130は、周囲の明るさを感知するセンサである。一態様としては、脈波検出装置100が携帯端末装置として実装される場合には、節電対策または暗所対策として携帯端末装置に標準装備された照度センサをそのまま流用できる。他の一態様としては、脈波検出装置100が情報処理装置として実装される場合には、ディスプレイ等に内蔵または付設された照度センサを流用することができる。なお、照度センサ130の種類は、フォトトランジスタやフォトダイオードを用いるものであってもよいし、あるいはフォトダイオードにアンプ回路を追加したものであってもかまわない。
検出制御部150は、画面の輝度情報を用いて、検出部116による脈波の検出を実行させるか否かを制御する処理部である。かかる検出制御部150は、図1に示すように、照度判定部151および変化量判定部152を有する。
このうち、照度判定部151は、照度センサ130によって検知された照度が所定の閾値以上であるか否かを判定する処理部である。一態様としては、照度判定部151は、画像メモリ111に保存されたカメラ画像が更新される度に、照度センサ130によって検知された照度を取得する。その上で、照度判定部151は、照度センサ130によって検知された照度が所定の閾値以上であるか否かを判定する。かかる照度の閾値判定は、使用者が表示部120を閲覧する周囲の環境光の明るさが脈波の検出に影響があるかどうかを判別する目的で実行される。
例えば、周囲が十分に明るい場合には、環境光の明るさが画面の反射光を無視できる程度に大きい状況でカメラ画像が撮影されたと推定できる。この場合には、必ずしも画面の輝度変化がカメラ画像に影響を与えるかどうかを判定せずともよい。したがって、検出制御部150は、照度が閾値以上である場合には、第2取得部122による画面の表示画像の取得を休止させるとともに、第1取得部112にカメラ画像を取得させる。これによって、第2取得部122及び第2算出部124によって実行される処理の負荷および処理の実行によって消費される電力を低減できるとともに、脈波の検出に有利なカメラ画像を用いて脈波の検出を実行させることができる。なお、ここでは、第2取得部122による画面の表示画像の取得を休止させる場合を例示したが、第2算出部124による画面の表示画像の代表値の算出を休止させることとしてもかまわない。
一方、周囲が十分に明るくなく暗所である場合には、環境光の明るさが画面の反射光を無視できる程には大きくない状況でカメラ画像が撮影されたと推定できる。この場合には、画面の輝度変化がカメラ画像に悪影響を与える余地が残される。したがって、検出制御部150は、照度が閾値未満である場合には、第2取得部122による画面の表示画像の取得を休止させずに、画面の表示画像の取得を実行させる。
なお、ここでは、照度判定部151に照度が閾値以上であるか否かを判定させる場合を例示したが、使用者が画面を閲覧する環境が過度な暗所である場合には、脈波に対応する輝度変化をカメラ画像でとらえることも困難となる。このため、照度が過度な暗所であるか否かを判別する閾値以下である場合には、第1取得部112によるカメラ画像の取得を休止させることによって脈波の検出を休止させることとしてもよい。
変化量判定部152は、第2算出部124によって出力される画面の表示画像の輝度の代表値の変化が所定の閾値以上であるか否かを判定する処理部である。一態様としては、変化量判定部152は、照度判定部151によって照度が閾値以上であると判定された場合に、次のような処理を実行する。例えば、変化量判定部152は、第2算出部124によって出力された画面の表示画像の代表値と、当該画面の表示画像よりも前にフレームバッファ121から取得された画面の表示画像の代表値との間で差を計算する。このようにフレーム間で代表値の差を計算することによって画面の表示画像の輝度の変化量が算出される。その上で、変化量判定部152は、画面の表示画像の輝度の変化量が所定の閾値以上であるか否かを判定する。かかる変化量の閾値判定は、画面の表示画像が脈波の検出に悪影響を与えるかどうかを判別する目的で実行される。
例えば、画面の表示画像の輝度の変化量が脈波に対応する輝度変化よりも大きい場合には、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性が高まる。したがって、検出制御部150は、第1取得部112によるカメラ画像の取得を休止させる。これによって、第1取得部112以降の機能部によって実行される処理の負荷および処理の実行によって消費される電力を低減できるとともに、脈波の誤検出を抑制できる。なお、ここでは、一例として、第1取得部112によるカメラ画像の取得を休止させる場合を例示したが、第1取得部112よりも後段のうちいずれの機能部による処理を休止することとしてもよい。例えば、生体抽出部113、第1算出部114、BPF115または検出部116のいずれの機能部による処理を休止してもよく、また、検出部116によって検出された脈波の検出結果を破棄させることとしてもよい。このとき、前段の機能部で実行される処理を休止するほど処理負荷および消費電力をより大きく削減できる。
一方、画面の表示画像の輝度の変化量が脈波に対応する輝度変化よりも小さい場合には、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性は薄まる。したがって、検出制御部150は、第1取得部112にカメラ画像を取得させる。これによって、第1取得部112よりも後段の各機能部の処理が実行される結果、脈波の検出が実行されることになる。
なお、図1に示した各機能部は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などに脈波検出プログラムを実行させることによって実現できる。また、上記の各機能部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。上記の機能部には、第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、第2取得部122、第2算出部124および検出制御部150などが含まれる。
また、上記の画像メモリ111やフレームバッファ121には、一例として、半導体メモリ素子を採用できる。例えば、半導体メモリ素子の一例としては、VRAM(Video Random Access Memory)、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)やフラッシュメモリ(flash memory)などが挙げられる。また、半導体メモリ素子等のメモリ装置の代わりに、ハードディスク、光ディスクなどの補助記憶装置を代用することとしてもよい。
[処理の流れ]
続いて、本実施例に係る脈波検出装置100の処理の流れについて説明する。図3は、実施例1に係る脈波検出処理の手順を示すフローチャートである。この脈波検出処理は、画像メモリ111に保存されたカメラ画像が更新される度に処理を起動し、カメラ画像が更新されなくなるまで繰り返し実行される処理である。なお、図示しない入力デバイス等を介して終了操作を受け付けたり、コンテンツの表示が終了することによってカメラ画像の撮影が終了された場合には、脈波検出処理は終了される。
図3に示すように、照度判定部151は、画像メモリ111に保存されたカメラ画像が更新されると、照度センサ130によって検知された照度を取得する(ステップS101)。その上で、照度判定部151は、ステップS101で取得された照度が所定の閾値以上であるか否かを判定する(ステップS102)。
このとき、照度が閾値以上である場合(ステップS102Yes)には、環境光の明るさが画面の反射光を無視できる程度に大きい状況でカメラ画像が撮影されたと推定できる。この場合には、必ずしも画面の輝度変化がカメラ画像に影響を与えるかどうかを判定せずともよい。したがって、検出制御部150は、ステップS103〜ステップS105の処理をとばし、ステップS106の処理へ移行する。
一方、照度が閾値未満である場合(ステップS102No)には、環境光の明るさが画面の反射光を無視できる程には大きくない状況でカメラ画像が撮影されたと推定できる。この場合には、第2取得部122は、OSやアプリケーションプログラムが提供するAPIを用いて、フレームバッファ121に保存された画面の表示画像を取得する(ステップS103)。
続いて、第2算出部124は、ステップS103で取得された画面の表示画像に含まれる各画素が持つ画素値に所定の統計処理を実行することによって当該画面の表示画像を代表する代表値を算出する(ステップS104)。
そして、変化量判定部152は、ステップS104で算出された画面の表示画像の代表値と、当該画面の表示画像よりも前に取得された画面の表示画像の代表値との間で差から算出された画面の表示画像の輝度の変化量が所定の閾値以上であるか否かを判定する(ステップS105)。
ここで、画面の表示画像の輝度の変化量が閾値以上である場合(ステップS105Yes)には、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性が高まる。したがって、検出制御部150は、第1取得部112によるカメラ画像の取得を休止させ、そのまま処理を終了する。
一方、画面の表示画像の輝度の変化量が閾値未満である場合(ステップS105No)には、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性は薄まる。したがって、検出制御部150は、第1取得部112にカメラ画像を取得させる(ステップS106)。
続いて、生体抽出部113は、ステップS106で取得されたカメラ画像から生体領域を抽出する(ステップS107)。その後、第1算出部114は、ステップS107で抽出された生体領域に含まれる各画素が持つ画素値の代表値を算出する(ステップS108)。
続いて、BPF115は、生体領域の代表値の時系列データ、すなわち生体領域の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS109)。その後、検出部116は、BPF115によって出力された生体領域の輝度信号Piから使用者の脈波を検出し(ステップS110)、処理を終了する。
[処理の流れ]
上述してきたように、本実施例に係る脈波検出装置100は、カメラ110によって画面の表示画像を閲覧する被験者の生体が撮影される場合に、画面の表示に関する輝度情報を用いてカメラ画像から脈波を検出させるか否かを制御する。このため、本実施例に係る脈波検出装置100では、画面の表示がカメラ画像に悪影響を与える場合には、脈波の検出を休止させる一方で、画面の表示がカメラ画像に悪影響を与えない場合には、脈波の検出を継続させることができる。それゆえ、本実施例に係る脈波検出装置100では、脈波の検出に有利なカメラ画像に絞って脈波の検出を実行できる。したがって、本実施例に係る脈波検出装置100によれば、脈波の検出精度の低下を抑制できる。
さて、上記の実施例1では、画面の表示画像の輝度の変化量が閾値以上であるか否かによって脈波の検出を実行させるか否かを制御する場合を例示したが、画面の表示画像の輝度の変化量が閾値以上であるからといって必ずしも脈波の検出が不可能な訳ではない。なぜなら、画面の表示画像の輝度の変化量が閾値以上である場合でも、画面の表示画像の輝度が脈波が採り得る周波数帯で変化しなければ、BPF115によって画面の表示画像の輝度変化を除去し得るからである。そこで、本実施例では、画面の表示画像の輝度が脈波が採り得る周波数帯で変化するか否かによって脈波の検出を実行させるか否かを制御する例について説明する。
図4は、実施例2に係る脈波検出装置の機能的構成を示すブロック図である。図4に示す脈波検出装置200は、図1に示した脈波検出装置100と比較して、BPF220及び検出制御部250を有する点が相違する。なお、図4には、図1に示した機能部と同様の機能を発揮する機能部に同一の符号を付し、その説明を省略することとする。
BPF220は、BPF115と同様に、所定の周波数帯の信号成分だけを通過させてそれ以外の周波数帯の信号成分を除去するバンドパスフィルタである。一態様としては、BPF220は、第2算出部124によって算出された画面の表示画像の代表値の時系列データ、すなわち画面の表示画像の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する。ここで、脈波が採り得る周波数帯の一例としては、0.5Hz以上4Hz以下の周波数帯、言い換えれば30bpm(beats per minute)以上240bpm以下の周波数帯が挙げられる。なお、BPF115は、ハードウェアによって実装されることとしてもよいし、ソフトウェアによって実装されることとしてもよい。
検出制御部250は、図1に示した検出制御部150に比べて、変化量判定部152の代わりに、BPF220によって出力された画面の表示画像の輝度信号Liの振幅値が所定の閾値以上であるか否かを判定する振幅判定部252を有する点が異なる。
図5は、実施例2に係る脈波検出処理の手順を示すフローチャートである。この脈波検出処理は、図3に示した脈波検出処理と同様に、画像メモリ111に保存されたカメラ画像が更新される度に処理を起動し、カメラ画像が更新されなくなるまで繰り返し実行される処理である。なお、図5には、図3に示した脈波検出処理と同様の処理が実行されるステップには同様のステップ番号を付し、処理が相違するステップには異なるステップ番号を付している。
図5に示すように、照度判定部151は、画像メモリ111に保存されたカメラ画像が更新されると、照度センサ130によって検知された照度を取得する(ステップS101)。その上で、照度判定部151は、ステップS101で取得された照度が所定の閾値以上であるか否かを判定する(ステップS102)。
このとき、照度が閾値以上である場合(ステップS102Yes)には、環境光の明るさが画面の反射光を無視できる程度に大きい状況でカメラ画像が撮影されたと推定できる。この場合には、必ずしも画面の輝度変化がカメラ画像に影響を与えるかどうかを判定せずともよい。したがって、検出制御部250は、ステップS103〜ステップS202の処理をとばし、ステップS106の処理へ移行する。
一方、照度が閾値未満である場合(ステップS102No)には、環境光の明るさが画面の反射光を無視できる程には大きくない状況でカメラ画像が撮影されたと推定できる。この場合には、第2取得部122は、OSやアプリケーションプログラムが提供するAPIを用いて、フレームバッファ121に保存された画面の表示画像を取得する(ステップS103)。
続いて、第2算出部124は、ステップS103で取得された画面の表示画像に含まれる各画素が持つ画素値に所定の統計処理を実行することによって当該画面の表示画像を代表する代表値を算出する(ステップS104)。その後、BPF220は、画面の表示画像の代表値の時系列データ、すなわち画面の表示画像の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS201)。
そして、振幅判定部252は、ステップS201で脈波が採り得る周波数帯の信号成分が抽出された画面の表示画像の輝度信号Liの振幅値が所定の閾値以上であるか否かを判定する(ステップS202)。
ここで、画面の表示画像の輝度信号Liの振幅値が閾値以上である場合(ステップS202Yes)には、画面の表示画像の輝度変化と脈波に対応する輝度変化とが互いに類似し、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性がより高まる。したがって、検出制御部250は、第1取得部112によるカメラ画像の取得を休止させ、そのまま処理を終了する。
一方、画面の表示画像の輝度信号Liの振幅値が閾値未満である場合(ステップS202No)には、画面の表示画像の輝度変化と脈波に対応する輝度変化とが互いに類似しておらず、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性は薄まる。したがって、検出制御部250は、第1取得部112にカメラ画像を取得させる(ステップS106)。
続いて、生体抽出部113は、ステップS106で取得されたカメラ画像から生体領域を抽出する(ステップS107)。その後、第1算出部114は、ステップS107で抽出された生体領域に含まれる各画素が持つ画素値の代表値を算出する(ステップS108)。
続いて、BPF115は、生体領域の代表値の時系列データ、すなわち生体領域の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS109)。その後、検出部116は、BPF115によって出力された生体領域の輝度信号Piから使用者の脈波を検出し(ステップS110)、処理を終了する。
[実施例2の効果]
上述してきたように、本実施例に係る脈波検出装置200は、画面の表示画像の輝度が脈波が採り得る周波数帯で変化するか否かによって脈波の検出を実行させるか否かを制御する。このため、本実施例に係る脈波検出装置200では、画面の表示画像の輝度が変化する大きさのみならず、画面の表示画像の輝度変化と目的とする脈波の輝度変化とが互いに類似する場合に絞って脈波の検出を休止させることができる。それゆえ、本実施例に係る脈波検出装置200では、画面の表示画像の輝度が大きく変化する場合でも、BPF115等によってノイズ除去が可能である場合には、脈波の検出を継続させることができる。したがって、本実施例に係る脈波検出装置200によれば、脈波の検出精度の低下を抑制できるとともに、カメラ画像から脈波が検出される機会を増加させることができる。
さて、上記の実施例2では、脈波が採り得る周波数帯の成分が抽出された画面の表示画像の輝度信号Liの振幅値を監視することによって画面の表示画像の輝度変化と目的とする脈波の輝度変化とが互いに類似するか否かを判別する場合を例示したが、これ以外の方法によって両者の輝度変化が類似するか否かを判定することもできる。例えば、本実施例では、互いに脈波が採り得る周波数帯の成分が抽出された生体領域の輝度信号Piの波形および画面の表示画像の輝度信号Liの波形の間で類似度を算出することによって画面の表示画像の輝度変化と目的とする脈波の輝度変化とが類似するか否かを判別する例について説明する。
図6は、実施例3に係る脈波検出装置の機能的構成を示すブロック図である。図6に示す脈波検出装置300は、図4に示した脈波検出装置200と比較して、検出制御部350を有する点が相違する。さらに、図6に示す検出制御部350は、図4に示した検出制御部250に比べて、類似度算出部351と、類似度判定部352とを有する点も異なる。
ここでも、上記の実施例2の説明と同様に、図6には、図4に示した機能部と同様の機能を発揮する機能部に同一の符号を付し、その説明を省略することとする。なお、図6には、図1および図4に示した照度センサ130及び照度判定部151の図示が省略されているが、これら照度センサ130及び照度判定部151をさらに有することとしてもかまわない。また、図1および図4に示した脈波検出装置100または脈波検出装置200において照度センサ130及び照度判定部151を省くこともできる。
類似度算出部351は、BPF115によって出力される生体領域の輝度信号Piの波形と、BPF220によって出力される画面の表示画像の輝度信号Liの波形との間で類似度を算出する処理部である。一態様としては、類似度算出部351は、下記の式(1)を用いて、生体領域の輝度信号Piと、画面の表示画像の輝度信号Liとの間で相関係数を計算し、当該相関係数を類似度として算出する。下記の式(1)において、「Lm」は、画面の表示画像の輝度信号Liの平均値を指し、「Pm」は、生体領域の輝度信号Piの平均値を指し、「Σ」は、i=1〜i=nまでの総和を指す。
類似度判定部352は、類似度算出部351によって算出された類似度が所定の閾値、例えば「0.2」以上であるか否かを判定する処理部である。ここで、類似度が閾値以上である場合には、画面の表示画像の輝度変化が脈波に重畳されて、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性が高い。したがって、検出制御部350は、検出部116による脈波の検出を休止させる。一方、類似度が閾値未満である場合には、画面の表示画像の輝度変化が脈波に重畳されておらず、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性は低い。したがって、検出制御部350は、検出部116に生体領域の輝度信号Piから脈波を検出させる。
図7は、実施例3に係る脈波検出処理の手順を示すフローチャートである。この脈波検出処理は、図5に示した脈波検出処理と同様に、画像メモリ111に保存されたカメラ画像が更新される度に処理を起動し、カメラ画像が更新されなくなるまで繰り返し実行される処理である。
図7に示すように、画像メモリ111に保存されたカメラ画像が更新されると、第2取得部122は、OSやアプリケーションプログラムが提供するAPIを用いて、フレームバッファ121に保存された画面の表示画像を取得する(ステップS301)。
続いて、第2算出部124は、ステップS301で取得された画面の表示画像に含まれる各画素が持つ画素値に所定の統計処理を実行することによって当該画面の表示画像を代表する代表値を算出する(ステップS302)。その後、BPF220は、画面の表示画像の代表値の時系列データ、すなわち画面の表示画像の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS303)。
一方、第1取得部112は、画像メモリ111に保存されたカメラ画像を取得する(ステップS304)。続いて、生体抽出部113は、ステップS304で取得されたカメラ画像から生体領域を抽出する(ステップS305)。
続いて、第1算出部114は、ステップS305で抽出された生体領域に含まれる各画素が持つ画素値の代表値を算出する(ステップS306)。そして、BPF115は、生体領域の代表値の時系列データ、すなわち生体領域の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS307)。
その後、類似度算出部351は、ステップS303で脈波が採り得る周波数帯の成分が抽出された画面の表示画像の輝度信号Liの波形と、ステップS307で脈波が採り得る周波数帯の成分が抽出された生体領域の輝度信号Piの波形との間で類似度を算出する(ステップS308)。
そして、類似度判定部352は、ステップS308で算出された類似度が所定の閾値以上であるか否かを判定する(ステップS309)。ここで、類似度が閾値以上である場合(ステップS309Yes)には、画面の表示画像の輝度変化が脈波に重畳されて、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性が高い。したがって、検出制御部350は、検出部116による脈波の検出を休止し、そのまま処理を終了する。
一方、類似度が閾値未満である場合(ステップS309No)には、画面の表示画像の輝度変化が脈波に重畳されておらず、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性は低い。したがって、検出制御部350は、検出部116に生体領域の輝度信号Piから脈波を検出させる。この場合には、検出部116は、BPF115によって出力された生体領域の輝度信号Piから使用者の脈波を検出し(ステップS310)、処理を終了する。
なお、図7に示したフローチャートでは、ステップS301〜ステップS303の処理が実行された後に、ステップS304〜ステップS307の処理を実行する例を図示したが、これらの処理が実行される順序は、入れ替えることもできるし、並列に実行することもできる。
[実施例3の効果]
上述してきたように、本実施例に係る脈波検出装置300は、互いに脈波が採り得る周波数帯の成分が抽出された生体領域の輝度信号Piの波形および画面の表示画像の輝度信号Liの波形の間の類似度が閾値以上であるか否かによって脈波を検出させるか否かを制御する。したがって、本実施例に係る脈波検出装置300によれば、上記の実施例2と同様に、脈波の検出精度の低下を抑制できるとともに、カメラ画像から脈波が検出される機会を増加させることができる。
さて、上記の実施例1〜3では、画面の表示に関する輝度情報として画面の表示画像を取得する場合を例示したが、必ずしも画面の表示画像を取得せずともよい。例えば、本実施例では、カメラ画像の非生体領域のうち生体領域との間で特定の位置関係を有する特定領域の画像を画面の表示に関する輝度情報として取得する例について説明する。
図8は、実施例4に係る脈波検出装置の機能的構成を示すブロック図である。図8に示す脈波検出装置400は、図6に示した脈波検出装置300と比較して、非生体抽出部410と、第2取得部420とを有する点が相違する。なお、ここでも、上記の実施例1〜3の説明と同様に、図8には、図6に示した機能部と同様の機能を発揮する機能部に同一の符号を付し、その説明を省略することとする。
非生体抽出部410は、カメラ画像から非生体領域を抽出する処理部である。一態様としては、非生体抽出部410は、まず、図6に示した生体抽出部113と同様にして、カメラ画像から所定の顔パーツを基準とする生体領域を抽出する。その上で、非生体抽出部410は、カメラ画像のうち生体領域を除く領域を非生体領域として抽出する。その後、非生体抽出部410は、原画像であるカメラ画像から抽出した非生体領域の画像を第2取得部420へ出力する。
第2取得部420は、画面の表示に関する輝度情報として、非生体領域のうち生体領域との間で特定の位置関係を有する特定領域の画像を取得する処理部である。一態様としては、第2取得部420は、非生体領域のうち生体領域に含まれる複数の顔パーツとの位置関係にしたがって特定領域を決定する。一例として、口パーツおよび鼻パーツを特定領域の決定に用いる場合を想定する。この場合には、第2取得部420は、カメラ画像の非生体領域上で鼻パーツから口パーツへ向けて口パーツから所定の距離にわたって離れた位置を重心または中心とする所定の形状および範囲を特定領域として決定する。かかる特定領域の形状は、楕円、円、多角形などの任意の形状を採用でき、特定領域の大きさは、非生体領域内であり、かつ生体領域と重複しなければ任意の大きさを採用できる。また、特定領域および生体領域の間の距離は、カメラ画像に映ることが想定される首の長さと同等以上の長さであることが好ましい。これによって、カメラ画像に含まれる非生体領域の中でも、使用者の衣服が映り込む可能性が高い領域を特定領域として特定することができる。
なお、ここでは、特定領域を特定するのに複数の顔パーツを用いる場合を例示したが、顔パーツの位置関係に依存せず、生体領域の下方向に位置する所定の大きさの領域を特定領域として特定することとしてもかまわない。また、ここでは、非生体領域を抽出するために生体抽出部113とは独立して非生体抽出部410を設ける場合を例示したが、カメラ画像の中から生体抽出部113によって抽出された生体領域を除外することによって非生体領域を抽出することとしてもよい。また、非生体領域の抽出方法は、上記のテンプレートマッチングに用いて検出される生体領域から検出する方法に限定されず、肌色検出によって肌色が検出されなかった領域を非生体領域として抽出することとしてもかまわない。さらに、ここでは、カメラ画像に映る使用者の衣服を目標に特定領域を決定する場合について例示したが、脈波に対応する輝度変化が現れにくい毛髪などを目標に特定領域を決定することもできる。この場合には、顔から抽出される生体領域よりも上方向、言い換えれば口パーツから鼻パーツへ向かう方向に存在する非生体領域の一部、例えば黒や茶色などの特定色を持つ領域を特定領域として決定することができる。
このようにして第2取得部420によって取得された特定領域の画像が第2算出部124へ出力される。かかる特定領域の画像が入力された第2算出部124では、画面の表示画像の代わりに、特定領域の画像に含まれる各画素が持つ画素値の代表値が算出されることになる。
図9は、実施例4に係る脈波検出処理の手順を示すフローチャートである。この脈波検出処理は、図7に示した脈波検出処理と同様に、画像メモリ111に保存されたカメラ画像が更新される度に処理を起動し、カメラ画像が更新されなくなるまで繰り返し実行される処理である。なお、図9には、図7に示した脈波検出処理と同様の処理が実行されるステップには同様のステップ番号を付し、処理が相違するステップには異なるステップ番号を付している。
図9に示すように、画像メモリ111に保存されたカメラ画像が更新されると、非生体抽出部410は、画像メモリ111に保存されたカメラ画像を取得する(ステップS401)。続いて、非生体抽出部410は、ステップS401で取得されたカメラ画像から非生体領域を抽出する(ステップS402)。
そして、第2取得部420は、ステップS402で抽出された非生体領域のうち生体領域との間で特定の位置関係を有する特定領域の画像を決定する(ステップS403)。続いて、第2算出部124は、ステップS403で取得された特定領域に含まれる各画素が持つ画素値に所定の統計処理を実行することによって当該特定領域を代表する代表値を算出する(ステップS404)。その後、BPF220は、特定領域の代表値の時系列データ、すなわち特定領域の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS405)。
一方、第1取得部112は、画像メモリ111に保存されたカメラ画像を取得する(ステップS304)。続いて、生体抽出部113は、ステップS304で取得されたカメラ画像から生体領域を抽出する(ステップS305)。
続いて、第1算出部114は、ステップS305で抽出された生体領域に含まれる各画素が持つ画素値の代表値を算出する(ステップS306)。そして、BPF115は、生体領域の代表値の時系列データ、すなわち生体領域の輝度信号から脈波が採り得る周波数帯の信号成分を抽出する(ステップS307)。
その後、類似度算出部351は、ステップS405で脈波が採り得る周波数帯の成分が抽出された特定領域の輝度信号L´iの波形と、ステップS307で脈波が採り得る周波数帯の成分が抽出された生体領域の輝度信号Piの波形との間で類似度を算出する(ステップS308)。
そして、類似度判定部352は、ステップS308で算出された類似度が所定の閾値以上であるか否かを判定する(ステップS309)。ここで、類似度が閾値以上である場合(ステップS309Yes)には、画面の表示画像の輝度変化が脈波に重畳されて、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性が高い。したがって、検出制御部350は、検出部116による脈波の検出を休止し、そのまま処理を終了する。
一方、類似度が閾値未満である場合(ステップS309No)には、画面の表示画像の輝度変化が脈波に重畳されておらず、画面の表示画像の反射光がノイズとなって脈波が誤検出される可能性は低い。したがって、検出制御部350は、検出部116に生体領域の輝度信号Piから脈波を検出させる。この場合には、検出部116は、BPF115によって出力された生体領域の輝度信号Piから使用者の脈波を検出し(ステップS310)、処理を終了する。
なお、図9に示したフローチャートでは、ステップS401〜ステップS405の処理が実行された後に、ステップS304〜ステップS307の処理を実行する例を図示したが、これらの処理が実行される順序は、入れ替えることもできるし、並列に実行することもできる。
[実施例4の効果]
上述してきたように、本実施例に係る脈波検出装置400は、カメラ画像の非生体領域のうち生体領域との間で特定の位置関係を有する特定領域の画像を画面の表示に関する輝度情報として取得する。このため、本実施例に係る脈波検出装置400では、表示部120に表示される画面の表示画像の現物を取得するのが困難である場合でも、その代わりにカメラ画像に映り込んだ画面光の輝度変化を取得できる。したがって、本実施例に係る脈波検出装置400によれば、脈波の検出制御の適用範囲を拡張できる結果、汎用性を高めることができる。
なお、本実施例では、上記の実施例3との間で差分を説明したが、上記の実施例1と本実施例を組み合わせることもできるし、上記の実施例2と本実施例を組み合わせることもできる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[検出結果の他の活用例]
上記の実施例1〜4では、脈波の検出結果が健康管理に活用される場合を例示したが、脈波の検出結果は健康管理以外にも他の用途で活用することができる。一例として、脈波の検出結果がコンテンツの評価に活用される場合を想定する。この場合には、脈波検出装置100〜400は、表示部120で表示されるコンテンツが含むコンテンツ画像と、当該コンテンツ画像が表示された時点における脈波の検出結果とを関連付ける。
例えば、コンテンツが動画である場合には、動画に含まれる各フレームと、当該フレームが再生された時点における脈拍数とを関連付ける。これによって、脈拍数が最高値を計測されたフレームを特定したり、特定のシーンに対応する脈拍数の高低や脈拍数の変動傾向によってシーンの盛り上がりの度合いを評価したりすることができる。例えば、脈拍数が所定の閾値よりも高い場合や脈拍数が上昇傾向にある場合には、使用者がシーンを見て興奮していると評価できる。
また、コンテンツがWebサイトである場合には、当該Webサイトが含む各Webページと、各Webページが表示された時点における脈拍数とを関連付ける。これによって、脈拍数が最高値を計測されたWebページを特定することによってWebサイト内で人気のコーナーをモニタリングしたり、脈拍数が平均値よりも下回っているWebページを特定することによってWebサイト内で不人気なコーナーをモニタリングしたりすることができる。なお、ここでは、1つのWebサイト内のWebページをコンテンツ画像とする場合を例示したが、ポータイルサイトやまとめサイトをコンテンツとし、ポータルサイトやまとめサイトに貼るリンク先の各Webサイトをコンテンツ画像とし、人気の高いWebサイトや不人気なWebサイトを評価することとしてもかまわない。
これら脈拍数を用いたコンテンツの評価は、脈波検出装置100〜400内で実行することもできるし、コンテンツ画像及び脈波の検出結果が関連付けられた関連付けデータを複数の脈波検出装置100〜400が接続されたコンテンツ評価装置に収集させた上でコンテンツの評価を実行させることもできる。このように、複数の脈波検出装置100〜400が接続されたコンテンツ評価装置でコンテンツの評価を実行させることによって、例えば、コンテンツの人気不人気、あるいは盛り上がり盛り下がりなどの評価を集計することができる。
[他の実装例]
上記の実施例1〜4では、脈波検出装置100〜400が上記の脈波検出処理をスタンドアローンで実行する場合を例示したが、クライアントサーバシステムとして実装することもできる。例えば、脈波検出装置100〜400は、脈波検出サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって脈波検出サービスを提供するクラウドとして実装することとしてもかまわない。このように、脈波検出装置100〜400がサーバ装置として動作する場合には、スマートフォンや携帯電話機等の携帯端末装置やパーソナルコンピュータ等の情報処理装置をクライアント端末として収容することができる。これらクライアント端末からネットワークを介してカメラ画像が取得された場合に脈波検出処理を実行し、脈波の検出結果や検出結果を用いて診断がなされた診断結果をクライアント端末へ応答することによって脈波検出サービスを提供することもできる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、第2取得部122、第2算出部124または検出制御部150を脈波検出装置100の外部装置としてネットワーク経由で接続するようにしてもよい。また、第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、第2取得部122、第2算出部124または検出制御部150を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の脈波検出装置100の機能を実現するようにしてもよい。
[脈波検出プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムを携帯端末装置、パーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有する脈波検出プログラムを実行するコンピュータの一例について説明する。
図10は、実施例1〜5に係る脈波検出プログラムを実行するコンピュータの一例について説明するための図である。図10に示すように、コンピュータ1000は、操作部1100aと、スピーカ1100bと、カメラ1100cと、ディスプレイ1200と、通信部1300とを有する。さらに、このコンピュータ1000は、CPU1500と、ROM1600と、HDD1700と、RAM1800とを有する。これら1100〜1800の各部はバス1400を介して接続される。
HDD1700には、上記の実施例1で示した第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、第2取得部122、第2算出部124及び検出制御部150と同様の機能を発揮する脈波検出プログラム1700aが予め記憶される。また、HDD1700には、上記の実施例2で示した第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、第2取得部122、第2算出部124、BPF220及び検出制御部250と同様の機能を発揮する脈波検出プログラム1700aが予め記憶されることとしてもよい。また、HDD1700には、上記の実施例3で示した第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、第2取得部122、第2算出部124、BPF220及び検出制御部350と同様の機能を発揮する脈波検出プログラム1700aが予め記憶されることとしてもよい。また、HDD1700には、上記の実施例4で示した第1取得部112、生体抽出部113、第1算出部114、BPF115、検出部116、非生体抽出部410、第2取得部420、第2算出部124、BPF220及び検出制御部350と同様の機能を発揮する脈波検出プログラム1700aが予め記憶されることとしてもよい。この脈波検出プログラム1700aについては、図1、図4、図6または図8に示した各々の機能部と同様、適宜統合又は分離しても良い。すなわち、HDD1700に格納される各データは、常に全てのデータがHDD1700に格納される必要はなく、処理に必要なデータのみがHDD1700に格納されれば良い。
そして、CPU1500が、脈波検出プログラム1700aをHDD1700から読み出してRAM1800に展開する。これによって、図10に示すように、脈波検出プログラム1700aは、脈波検出プロセス1800aとして機能する。この脈波検出プロセス1800aは、HDD1700から読み出した各種データを適宜RAM1800上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、脈波検出プロセス1800aは、図1、図4、図6または図8に示した各機能部にて実行される処理、例えば図3、図5、図7及び図9に示す処理を含む。また、CPU1500上で仮想的に実現される各処理部は、常に全ての処理部がCPU1500上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
なお、上記の脈波検出プログラム1700aについては、必ずしも最初からHDD1700やROM1600に記憶させておかずともよい。例えば、コンピュータ1000に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ1000がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ1000に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ1000がこれらから各プログラムを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)カメラによって生体が撮影された画像を取得する第1取得部と、
前記画像から生体領域を抽出する生体抽出部と、
前記生体領域に含まれる各画素を代表する輝度信号から脈波が採り得る周波数帯の成分を抽出する第1フィルタと、
前記周波数帯の成分が抽出された生体領域の輝度信号から脈波を検出する検出部と、
所定の画面の表示に関する輝度情報を取得する第2取得部と、
前記画面の表示に関する輝度情報を用いて、前記検出部による脈波の検出を実行させるか否かを制御する検出制御部と
を有することを特徴とする脈波検出装置。
(付記2)前記第2取得部は、前記画面の表示に関する輝度情報として当該画面の表示画像を取得することを特徴とする付記1に記載の脈波検出装置。
(付記3)前記検出制御部は、
前記画面の表示画像に含まれる各画素を代表する輝度の代表値の変化が所定の閾値以上である場合に前記検出部に脈波を検出させず、前記輝度の代表値の変化が前記閾値未満である場合に前記検出部に脈波を検出させることを特徴とする付記2に記載の脈波検出装置。
(付記4)前記脈波検出装置は、
前記画面の表示画像の各画素を代表する輝度信号から前記脈波に対応する周波数帯の成分を抽出する第2フィルタをさらに有し、
前記検出制御部は、
前記周波数帯の成分が抽出された画面の輝度信号の振幅値が所定の閾値以上である場合に前記検出部に脈波を検出させず、前記振幅値が前記閾値未満である場合に前記検出部に脈波を検出させることを特徴とする付記2に記載の脈波検出装置。
(付記5)前記脈波検出装置は、
前記画面の表示画像の各画素を代表する輝度信号から前記脈波に対応する周波数帯の成分を抽出する第2フィルタをさらに有し、
前記検出制御部は、
互いに前記周波数帯の成分が抽出された画面の輝度信号および生体領域の輝度信号の間で波形の類似度を算出し、前記類似度が所定の閾値以上である場合に前記検出部に脈波を検出させず、前記類似度が前記閾値未満である場合に前記検出部に脈波を検出させることを特徴とする付記2に記載の脈波検出装置。
(付記6)前記第2取得部は、前記画面の表示に関する輝度情報として、前記画像の非生体領域のうち前記生体領域との間で特定の位置関係を有する特定領域の画像を取得することを特徴とする付記1に記載の脈波検出装置。
(付記7)前記検出制御部は、
前記特定領域に含まれる各画素を代表する輝度の代表値の変化が所定の閾値以上である場合に前記検出部に脈波を検出させず、前記輝度の代表値の変化が前記閾値未満である場合に前記検出部に脈波を検出させることを特徴とする付記6に記載の脈波検出装置。
(付記8)前記脈波検出装置は、
前記特定領域の各画素を代表する輝度信号から前記脈波に対応する周波数帯の成分を抽出する第2フィルタをさらに有し、
前記検出制御部は、
前記周波数帯の成分が抽出された特定領域の輝度信号の振幅値が所定の閾値以上である場合に前記検出部に脈波を検出させず、前記振幅値が前記閾値未満である場合に前記検出部に脈波を検出させることを特徴とする付記6に記載の脈波検出装置。
(付記9)前記脈波検出装置は、
前記特定領域の表示画像の各画素を代表する輝度信号から前記脈波に対応する周波数帯の成分を抽出する第2フィルタをさらに有し、
前記検出制御部は、
互いに前記周波数帯の成分が抽出された特定領域の輝度信号および生体領域の輝度信号の間で波形の類似度を算出し、前記類似度が所定の閾値以上である場合に前記検出部に脈波を検出させず、前記類似度が前記閾値未満である場合に前記検出部に脈波を検出させることを特徴とする付記6に記載の脈波検出装置。
(付記10)コンピュータに、
所定の画面の表示に関する輝度情報を取得し、
前記画面の表示に関する輝度情報を用いて、カメラによって生体が撮影された画像を取得する処理、前記画像から生体領域を抽出する処理、前記生体領域に含まれる各画素を代表する輝度信号から脈波が採り得る周波数帯の成分を抽出する処理または前記周波数帯の成分が抽出された生体領域の輝度信号から脈波を検出する処理のいずれかの処理を休止させるか、もしくは各々の処理を実行させるかを制御する
処理を実行させることを特徴とする脈波検出プログラム。
(付記11)コンピュータが、
所定の画面の表示に関する輝度情報を取得し、
前記画面の表示に関する輝度情報を用いて、カメラによって生体が撮影された画像を取得する処理、前記画像から生体領域を抽出する処理、前記生体領域に含まれる各画素を代表する輝度信号から脈波が採り得る周波数帯の成分を抽出する処理または前記周波数帯の成分が抽出された生体領域の輝度信号から脈波を検出する処理のいずれかの処理を休止させるか、もしくは各々の処理を実行させるかを制御する
処理を実行することを特徴とする脈波検出方法。
(付記12)脈波を検出する脈波検出装置と、脈波の検出結果からコンテンツを評価するコンテンツ評価装置とを有するコンテンツ評価システムであって、
前記脈波検出装置は、
カメラによって生体が撮影された画像を取得する第1取得部と、
前記画像から生体領域を抽出する生体抽出部と、
前記生体領域に含まれる各画素を代表する輝度信号から脈波が採り得る周波数帯の成分を抽出する第1フィルタと、
前記周波数帯の成分が抽出された生体領域の輝度信号から脈波を検出する検出部と、
所定の画面の表示に関する輝度情報を取得する第2取得部と、
前記画面の表示に関する輝度情報を用いて、前記検出部による脈波の検出を実行させるか否かを制御する検出制御部と、
前記画面に表示されるコンテンツが含むコンテンツ画像と、当該コンテンツ画像が画面に表示された時点における脈波の検出結果とを関連付ける関連付け部とを有し、
前記コンテンツ評価装置は、
前記コンテンツ画像に関連付けられた脈波の検出結果を用いて、当該コンテンツを評価する評価部を有することを特徴とするコンテンツ評価システム。