IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特開2024-102502電子機器、睡眠状態判定方法及びプログラム
<>
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図1
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図2
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図3
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図4
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図5
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図6
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図7
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図8
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図9
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図10
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図11
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図12
  • 特開-電子機器、睡眠状態判定方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102502
(43)【公開日】2024-07-31
(54)【発明の名称】電子機器、睡眠状態判定方法及びプログラム
(51)【国際特許分類】
   A61B 5/16 20060101AFI20240724BHJP
   A61B 5/0245 20060101ALI20240724BHJP
   A61M 21/00 20060101ALI20240724BHJP
   A61B 5/02 20060101ALN20240724BHJP
【FI】
A61B5/16 130
A61B5/0245
A61M21/00 B
A61B5/02 310A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023006424
(22)【出願日】2023-01-19
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】中込 浩一
(72)【発明者】
【氏名】青山 航太郎
【テーマコード(参考)】
4C017
4C038
【Fターム(参考)】
4C017AA02
4C017AA09
4C017AA10
4C017AA20
4C017AC26
4C017BC11
4C017BC14
4C017BC16
4C017BC21
4C017BD04
4C017DD17
4C038PP05
4C038PS00
(57)【要約】
【課題】就寝者の睡眠状態をより正確に検出することができる。
【解決手段】電子機器100は、第1期間において、ユーザの生体信号データである第1期間内データを複数取得し、取得した複数の第1期間内データに対して所定のフィルタ処理を実行することで第1補正データ群を生成し、複数の第1期間内データに対して所定の統計処理を実行することで標準偏差データ群を生成し、生成した第1補正データ群及び標準偏差データ群に基づいて閾値を導出し、第1期間とは異なる第2期間で取得した第2期間内データと、閾値と、に基づいて、ユーザの睡眠状態を判定する、制御部110を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1期間において、ユーザの生体信号データである第1期間内データを複数取得し、
取得した複数の前記第1期間内データに対して所定のフィルタ処理を実行することで第1補正データ群を生成し、
前記複数の第1期間内データに対して所定の統計処理を実行することで標準偏差データ群を生成し、
生成した前記第1補正データ群及び前記標準偏差データ群に基づいて閾値を導出し、
前記第1期間とは異なる第2期間で取得した第2期間内データと、前記閾値と、に基づいて、前記ユーザの睡眠状態を判定する、
制御部を備える、
電子機器。
【請求項2】
前記制御部は、
前記所定のフィルタ処理として、取得した前記複数の第1期間内データのそれぞれを第1窓期間内の前記第1期間内データの最小値に置き換えるフィルタ処理を実行することで前記第1補正データ群を生成する、
請求項1に記載の電子機器。
【請求項3】
前記制御部は、
前記所定の統計処理として、第2窓期間内の前記第1期間内データの標準偏差を、前記第2窓期間を時間的にずらすことにより複数算出し、前記算出した複数の標準偏差を値の小さい方から所定の割合だけ抽出し、前記第1補正データ群に含まれるデータの中から前記抽出された前記標準偏差に対応するデータを抽出対応データとして特定し、
前記抽出対応データを前記標準偏差データ群として用いて前記閾値を導出する処理を含む、
請求項2に記載の電子機器。
【請求項4】
前記制御部は、
前記所定の統計処理として、前記算出した複数の標準偏差のヒストグラムを作成し、作成した前記ヒストグラムにおいて前記標準偏差を値の小さい方から所定の割合だけ抽出し、前記第1補正データ群に含まれるデータの中から前記抽出された前記標準偏差に対応するデータを前記抽出対応データとして特定する処理を含む、
請求項3に記載の電子機器。
【請求項5】
前記所定の統計処理は、前記抽出対応データの平均値と、前記抽出対応データの標準偏差と、から前記閾値を導出する処理を含む、
請求項3に記載の電子機器。
【請求項6】
前記制御部は、
前記ユーザの睡眠状態の判定結果によって、前記ユーザの眠りが浅い状態であると判定した場合に、起床推奨時刻であると判断し、アラームを起動する、
請求項5に記載の電子機器。
【請求項7】
前記第2期間内データは、前記第2期間で取得されたデータに対して前記所定のフィルタ処理が適用された第2補正データ群である、
請求項1に記載の電子機器。
【請求項8】
前記第1期間内データは心拍数のデータである、
請求項1から7のいずれか1項に記載の電子機器。
【請求項9】
制御部が、
第1期間において、ユーザの生体信号データである第1期間内データを複数取得し、
取得した複数の前記第1期間内データに対して所定のフィルタ処理を実行することで第1補正データ群を生成し、
前記複数の第1期間内データに対して所定の統計処理を実行することで標準偏差データ群を生成し、
生成した前記第1補正データ群及び前記標準偏差データ群に基づいて閾値を導出し、
前記第1期間とは異なる第2期間で取得した第2期間内データと、前記閾値と、に基づいて、前記ユーザの睡眠状態を判定する、
睡眠状態判定方法。
【請求項10】
コンピュータに、
第1期間において、ユーザの生体信号データである第1期間内データを複数取得し、
取得した複数の前記第1期間内データに対して所定のフィルタ処理を実行することで第1補正データ群を生成し、
前記複数の第1期間内データに対して所定の統計処理を実行することで標準偏差データ群を生成し、
生成した前記第1補正データ群及び前記標準偏差データ群に基づいて閾値を導出し、
前記第1期間とは異なる第2期間で取得した第2期間内データと、前記閾値と、に基づいて、前記ユーザの睡眠状態を判定する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電子機器、睡眠状態判定方法及びプログラムに関する。
【背景技術】
【0002】
人の睡眠状態を検出し、睡眠状態が浅い期間(レム期)にその人を起床させようとする装置として、例えば特許文献1に開示された装置が知られている。この装置は、就寝者の体動を測定する体動センサを備えており、この体動センサの信号から1分間の心拍数を導出し、導出した心拍数に基づいて睡眠状態が浅い期間を検出する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-105111号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このように、従来の装置では、心拍数に基づいて睡眠状態が浅い期間を検出するので、心拍を検出する精度が低いと睡眠状態を正しく検出することができない。
【0005】
本発明は、上記実情に鑑みてなされたものであり、就寝者の睡眠状態をより正確に検出することができる電子機器、睡眠状態判定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る電子機器は、
第1期間において、ユーザの生体信号データである第1期間内データを複数取得し、
取得した複数の前記第1期間内データに対して所定のフィルタ処理を実行することで第1補正データ群を生成し、
前記複数の第1期間内データに対して所定の統計処理を実行することで標準偏差データ群を生成し、
生成した前記第1補正データ群及び前記標準偏差データ群に基づいて閾値を導出し、
前記第1期間とは異なる第2期間で取得した第2期間内データと、前記閾値と、に基づいて、前記ユーザの睡眠状態を判定する、
制御部を備える。
【発明の効果】
【0007】
本発明によれば、就寝者の睡眠状態をより正確に検出することができる。
【図面の簡単な説明】
【0008】
図1】第1の実施形態に係る電子機器の構成例を示す図である。
図2】脈波の一例を示す図である。
図3】解析期間及び判定期間を説明するための図である。
図4】心拍数のグラフの一例を示す図である。
図5】Minフィルタ適用後の心拍数のグラフの一例を示す図である。
図6】Minフィルタの動作を説明するための図である。
図7】心拍数の標準偏差のヒストグラムを説明するための図である。
図8】心拍数閾値の導出に用いる心拍数データを説明するための図である。
図9】アラームが起動するタイミングを説明するための図である。
図10】心拍数が突発的に低い値になる場合を説明するための図である。
図11】ヒストグラムを用いずに心拍数閾値の導出に用いる心拍数データを取得する方法を説明するための図である。
図12】第1の実施形態に係る解析処理のフローチャートである。
図13】第1の実施形態に係る判定処理のフローチャートである。
【発明を実施するための形態】
【0009】
以下、実施形態について、図面を参照して説明する。なお、図中同一または相当部分には同一符号を付す。
【0010】
(第1の実施形態)
第1の実施形態に係る電子機器100は、例えばスマートウォッチである。電子機器100は、内蔵しているセンサにより、ユーザの生体信号を取得して、ユーザの睡眠状態を推定し、睡眠の浅いタイミングを起床推奨時刻と判定し、電子音やバイブレータでユーザを起床させる。
【0011】
図1に示すように、電子機器100は、機能構成として、制御部110と、記憶部120と、センサ部130と、入力部140と、出力部150と、通信部160と、を備える。
【0012】
制御部110は、CPU(Central Processing Unit)等のプロセッサで構成され、記憶部120に記憶されたプログラムを実行することにより、後述する各種処理を実行する。なお、制御部110は、複数の処理を並行して実行するマルチスレッド機能に対応しているため、後述する各種処理を並行に実行することができる。また、制御部110はクロック機能やタイマー機能も備えており、日時等を計時することができる。
【0013】
記憶部120は、ROM(Read Only Memory)、フラッシュメモリ、RAM(Random Access Memory)等で構成される。ROMには、制御部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが、記憶されている。フラッシュメモリは書き込み可能な不揮発性のメモリであり、電源OFF後も保存させておきたいデータが記憶される。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【0014】
センサ部130は、ユーザの容積脈波を検出する脈波センサと、ユーザの体動を検出する加速度センサと、を備える。
【0015】
脈波センサは、ユーザの皮膚の表面から光を照射し、その反射光や透過光を観測することにより、血液内の酸化ヘモグロビンによる光の吸収量の変化をあるサンプリング周波数(例えば250Hz)で検出する。この光の吸収量の変化は血管の容積変化に対応するので、脈波センサにより、図2に示すように、血管の容積変化を波形としてとらえた脈波201が得られる。
【0016】
そして、血管の容積変化(脈波)は心臓の拍動に同期していると考えられるので、脈波の振幅がピークとなるタイミングを、心臓の拍動が発生した時のタイミング(以下「拍動タイミング」という)と推定することができる。また、脈波において時間軸上で互いに隣り合う2つのピークの時間間隔を、心拍間隔(R-R Interval:RRI)として推定することができる。
【0017】
図2では、脈波201の振幅がピークとなっているタイミングが拍動タイミング201t,202t,203tに相当し、また、脈波201のピークの間隔が心拍間隔202i,203iに相当する。そして、心拍間隔の単位を秒とした場合、制御部110は、60秒を心拍間隔で割ることにより、1分当たりの心拍数(HR:Heart Rate)を算出することができる。本実施形態では、制御部110は、センサ部130で検出した脈波に基づいて1分当たりの心拍数を1秒に1回算出する。
【0018】
また、センサ部130は、加速度センサも備え、加速度センサは3軸(互いに直行するX軸、Y軸、Z軸)のそれぞれの方向における加速度を検出することにより、ユーザの体動を検出する。本実施形態では、制御部110は、加速度センサの検出値をあるサンプリング周波数(例えば32Hz)でサンプリングして加速度のデータ列を取得する。
【0019】
入力部140は、例えば押しボタンスイッチ、タッチパネル等から構成される。入力部140は、例えば、アラーム時刻(起床予定時刻)の設定、アラーム動作内容(電子音のみ、バイブレータのみ、電子音+バイブレータ等)の設定、アラーム機能のオン/オフ等のユーザ操作を受け付けるためのユーザインタフェースである。
【0020】
出力部150は、例えば、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイ等の表示部、スピーカ、ブザー等の音出力部、バイブレータ等の振動部等を備える。ただし、出力部150はこれらのうちの一部のみを備えていてもよい。出力部150の表示部は、例えば、現在時刻等を表示する。また、電子機器100が目覚まし時計として使用される場合には、出力部150は、例えば、起床推奨時刻に音を鳴らす。
【0021】
通信部160は、外部の他の装置とデータ等のやり取りを行う通信インタフェースである。この通信インタフェースは無線/有線を問わない。例えば、電子機器100は、判定した起床推奨時刻を、通信部160を介して、外部のサーバ等に送信することができる。
【0022】
電子機器100は、図3に示すように、ユーザが就寝中の解析期間(第1期間)において、ユーザの生体信号(第1期間内データ)を複数取得して統計処理し、睡眠が浅いか否かを判定するための閾値を導出する。そして、設定されたアラーム時刻の直前の判定期間(第2期間)において、ユーザの生体信号(第2期間内データ)を取得して、閾値に基づいてユーザの睡眠状態を推定し、睡眠が浅くなったタイミング(第2期間内データの値が閾値を超えたタイミング)を起床推奨時刻と判定し、アラームを起動(電子音を鳴らす、バイブレータを動作させる等)する。本実施形態では解析期間は3時間であり、判定期間はユーザにより15分、30分、45分、60分のいずれかを選択可能である。
【0023】
図3に示す例では、アラーム時刻が6時に、判定期間が60分に、それぞれ設定されている。この場合、2時から5時までが解析期間となり、5時から6時までが判定期間となる。そして、判定期間において、睡眠状態が閾値よりも浅くなったタイミングが5時40分なので、このタイミングでアラームが起動される。
【0024】
発明者は、簡易脳波計による睡眠ステージ計測と、心拍数計測と、加速度計測と、を同時に行う試験を複数人の被験者で行い、その試験結果の解析から以下の知見を得た。
(a)心拍数は、睡眠が浅い状態では大きく、浅くない状態(睡眠が深い状態又は中位の状態)では小さい。
(b)心拍数の標準偏差は、睡眠が浅い状態では大きく、浅くない状態では小さい。
(c)加速度は、睡眠が浅い状態では大きく、浅くない状態では小さい。
(d)心拍数、心拍数の標準偏差、加速度は、被験者によって異なるだけでなく、同一の被験者であっても日によって微妙な違いが生じる。
【0025】
本実施形態では、起床推奨時刻の判定を行う判定期間の直前の解析期間において取得した生体信号のデータを用いて判定用の閾値を導出することにより、個人差や日毎の違いの影響を抑えるようにしている。
【0026】
また、センサ部130で検出する値の誤差や、脈波から心拍数を算出する際のエラー等により、制御部110が取得する心拍数には外れ値が含まれることが多い。
【0027】
例えば、あるユーザのある日の3時45分頃から4時45分頃にかけての心拍数の例を図4に示す。図4において、心拍数が70を超えている部分は、突発的に値が大きくなっており、外れ値と考えられる。このような外れ値は、例えば、脈波から心拍数を算出するアルゴリズムにおいて、脈波のピークではないタイミングをピークと誤認識してしまうと発生する。逆にアルゴリズムにおいて脈波のピークを見逃してしまうと、心拍数が突発的に小さくなる外れ値が取得されることになるが、脈波のピークをできるだけ見逃さないアルゴリズムを採用することにより、心拍数が突発的に小さくなる外れ値を極力抑えることが可能である。
【0028】
実際には外れ値はこれ以外にも種々の原因で生じるが、代表的な外れ値としては、図4において点線の楕円形301で囲んだ部分に見られるような突発的に生じる外れ値と、図4において点線の長方形302で囲んだ部分に見られるような連続して生じる外れ値とが存在する。本実施形態では、突発的に生じる外れ値を除去するためにフィルタ(例えば後述するMinフィルタ)による外れ値除去を行い、連続して生じる外れ値を除去するために標準偏差を用いた外れ値除去を行う。
【0029】
本実施形態では、脈波から心拍数を算出する際に脈波のピークをできるだけ見逃さないようなアルゴリズムを採用するものとする。この場合、心拍数が本来の値より大きくなってしまう外れ値が生じる可能性は高まるが、逆に本来の値より小さくなってしまう外れ値が生じる可能性は非常に低くなる。したがって、心拍数を直近の所定の期間(窓)内の最小値に置き換えるMinフィルタを用いて心拍数データを補正することにより外れ値をほぼ除去することが可能になる。
【0030】
例えば、図4に示す心拍数のグラフに対してMinフィルタを適用すると、図5に示すような心拍数のグラフが得られる。図4図5とを比較すると、図4の点線の楕円形301で囲んだ部分で生じている心拍数70以上の外れ値のタイミングでも、図5では特に外れ値は生じていないことが確認できる。
【0031】
図6を参照してMinフィルタについてより詳しく説明する。図6は、図4及び図5の3:50~3:53辺りを拡大したものである。Minフィルタは、各心拍数を、その直前のある期間(第1窓期間)内の心拍数の最小値に置き換えるフィルタである。なお、本実施形態では第1窓期間は60秒としている。例えば図6で時刻tの時点では元々の心拍数は73だが、時刻tの60秒前から時刻tまでの第1窓期間内の心拍数の最小値は53なので、時刻tにおけるMinフィルタ適用後の心拍数は53となる。同様に、図6で時刻sの時点では元々の心拍数は63だが、時刻sの60秒前から時刻sまでの第1窓期間内の心拍数の最小値は52なので、時刻sにおけるMinフィルタ適用後の心拍数は52となる。
【0032】
このように、各時刻において心拍数を第1窓期間の長さの窓(第1窓)の期間内での最小値に置き換えるフィルタがMinフィルタである。そして、制御部110は、解析期間(第1期間)においてこの第1窓を時間的にずらしつつ(例えば1秒ずつスライドさせて)複数取得した心拍数データ(第1期間内データ)のそれぞれにMinフィルタを適用することで、突発的な外れ値が除去されるように補正された心拍数データ群(第1補正データ群)を生成する。なお、後述するように、制御部110は、判定期間(第2期間)においてもこの第1窓を時間的にずらしつつ(例えば1秒ずつスライドさせて)複数取得した心拍数データ(第2期間内データ)のそれぞれにMinフィルタを適用することで、突発的な外れ値が除去されるように補正された心拍数データ群(第2補正データ群)を生成する。
【0033】
また、発明者は、心拍数のデータが正しければ、その標準偏差はある程度(所定)の範囲に収まることを発見した。まず、標準偏差があまりにも小さいと、それは生物的な揺らぎがない機械的なデータと言えるから、その心拍数のデータにはなんらかのエラーが含まれていることがわかる。また正常な人の心拍数の揺らぎの大きさには限度があるので、標準偏差が大きすぎる場合にも正常なデータが取得できていないことがわかる。以上のことから、正常な心拍数であれば、その標準偏差は所定の範囲に収まる。したがって、制御部110は、心拍数の標準偏差が所定の範囲に収まっていない場合には、心拍数が正しく取得できていないと判定することができる。
【0034】
ただし、上述したように本実施形態で取得される心拍数には外れ値が含まれている可能性があり、外れ値が含まれていると、標準偏差は本来の値よりも大きくなってしまう。そこで、本実施形態では、制御部110は、心拍数の標準偏差のヒストグラムを作成し、標準偏差の25パーセンタイル値(第1四分位数)以下となるデータのみを起床推奨時刻の判定に用いるようにしている。なお、ヒストグラムとは、図7に示すように、横軸の値の範囲に含まれるデータ(図7では標準偏差)の個数を縦軸に取ったビン303で表したものである。
【0035】
具体的には、制御部110は、心拍数のデータに対して、第2窓期間(本実施形態では30秒)の窓(第2窓)を1秒ずつスライドさせて、その第2窓に含まれるデータ毎に標準偏差を算出する。すると解析期間(3時間=180分=10800秒)内で10800個の標準偏差が得られるが、このヒストグラムを作成すると例えば図7に示すようなヒストグラムが得られる。ここで、標準偏差の25パーセンタイル値を求めると、図7の例では約0.833となる。制御部110は、25パーセンタイル値以下の標準偏差に対応するAの範囲のデータ(Minフィルタ適用後の心拍数データ)を抽出する。そして、この抽出したデータ(抽出対応データ)を解析に用い、25パーセンタイル値を超える標準偏差に対応するBの範囲のデータはエラー値として解析には用いない。
【0036】
連続して外れ値が生じた部分(例えば図4において点線の長方形302で囲んだ部分)において第2窓内のデータの標準偏差を算出すると、他の部分の標準偏差よりも大きくなる(25パーセンタイル値を超える)ので、25パーセンタイル値以下となる範囲(図7のAの範囲)のデータを用いることで、連続して生じる外れ値を除去できる。このようにして、制御部110は標準偏差を用いて後述する解析処理に用いる標準偏差データ群(Aの範囲のデータDn)を生成する。
【0037】
そして、制御部110は、図8に示すように、標準偏差が25パーセンタイル値以下になる時間帯の心拍数(Minフィルタ適用後の心拍数)のデータDnを用いて、心拍数閾値HR_TH(睡眠状態が浅いか否かを判定するための心拍数の閾値)を以下の式(1)で導出する。
HR_TH=Dn_ave+h×Dn_std …(1)
ただし、式(1)中の各値は以下の通りである。
Dn_ave=Dn全てのデータの平均値
Dn_std=Dn全てのデータの標準偏差
h=調整係数(本実施形態では「2」)
【0038】
式(1)について、補足説明をしておく。心拍数が平均値(Dn_ave)よりもある程度大きくなったらユーザの睡眠状態が浅くなったと考えられる。つまり、心拍数閾値としては、平均値+αに設定すれば良いことは明らかである。しかし、人によって心拍数の変動の大きさはまちまちであり、変動の大きい人に対しては、簡単に心拍数閾値を超えないように、αの値をより大きな値に設定する必要がある。そして、心拍数の変動が大きいと標準偏差(Dn_std)は大きくなる。したがって、上述の式(1)においては、Dn_aveにh×Dn_stdを加算することにより、より信頼性の高い(心拍数の個人差を吸収できる)心拍数閾値が設定されるようにしている。
【0039】
そして、制御部110は、判定期間においてMinフィルタ適用後の心拍数が式(1)により導出された心拍数閾値HR_THより大きくなったら、起床推奨時刻であると判定し、アラームを起動させてユーザを起床させる。例えば、図9には、あるユーザのある晩のMinフィルタ適用後の心拍数のグラフが示されているが、心拍数閾値HR_THが72で、判定期間が5時から開始される場合、制御部110は、5時以降でMinフィルタ適用後の心拍数が72より大きくなる05:36を起床推奨時刻であると判定し、アラームを起動させる。
【0040】
ただし、ごく希ではあるが、例えば図10に示す時刻05:22における心拍数の値のように、心拍数が突発的に異常に小さい外れ値になってしまう場合がある。この場合、05:21~05:23の間はMinフィルタ適用後の心拍数もこの外れ値になってしまい、心拍数閾値による睡眠状態の正しい判定は不可能になる。そこで、Minフィルタ適用後の心拍数が異常判定閾値(例えば10)以下の場合には、制御部110は、心拍数ではなく、加速度の閾値で睡眠状態の判定を行うようにする。
【0041】
加速度の閾値についても解析期間中の加速度に基づいて制御部110が導出する。本実施形態では、制御部110は、解析期間中の加速度の平均値(ACC_ave)と、標準偏差(ACC_std)とから、以下の式(2)で加速度閾値ACC_THを導出する。
ACC_TH=ACC_ave+k×ACC_std …(2)
ただし、式(2)中の各値は以下の通りである。
ACC_ave=解析期間中の全ての加速度データの平均値
ACC_std=解析期間中の全ての加速度データの標準偏差
k=調整係数(本実施形態では「8」)
【0042】
式(2)について、補足説明をしておく。加速度が平均値(ACC_ave)よりもある程度大きくなったらユーザの睡眠状態が浅くなったと考えられる。つまり、加速度閾値としては、平均値+αに設定すれば良いことは明らかである。しかし、人によって加速度の変動の大きさはまちまちであり、変動の大きい人に対しては、簡単に加速度閾値を超えないように、αの値をより大きな値に設定する必要がある。そして、加速度の変動が大きいと標準偏差(ACC_std)は大きくなる。したがって、上述の式(2)においては、ACC_aveにk×ACC_stdを加算することにより、より信頼性の高い(加速度の個人差を吸収できる)加速度閾値が設定されるようにしている。
【0043】
なお、心拍数閾値の導出の際に、制御部110は、心拍数の標準偏差のヒストグラムを作成しなくても25パーセンタイル値を求めることができる。例えば、図11に示すように、制御部110が、各時刻(ti,tj,tk,…)における心拍数の標準偏差(STD[ti],STD[tj],STD[tk],…)を小さい順にソーティングすれば、小さい方から総数の1/4のところに対応する値が25パーセンタイル値である。したがって、小さい方からその値までの標準偏差の時刻(この例ではti,…,tj)に対応するMinフィルタ適用後の心拍数(HRmin[ti],…,HRmin[tj])のデータについて、平均値(Dn_ave)と標準偏差(Dn_std)を求めて心拍数閾値を導出してもよい。
【0044】
また、心拍数閾値(第1閾値)の導出については、心拍数のデータに何らかの統計処理を行って導出すればよく、必ずしも心拍数の標準偏差の25パーセンタイル値を用いる必要はない。例えば心拍数の標準偏差の中央値を用いてもよいし、任意のx(ただしxは0以上100以下)について、心拍数の標準偏差のxパーセンタイル値を用いてもよい。さらに、式(1)において、Dn_ave(Dn全てのデータの平均値)の代わりにDn_med(Dn全てのデータの中央値)や、Dn_mode(Dn全てのデータから得られる最頻値)を用いてもよい。また、式(1)において、Dn_std(Dn全てのデータの標準偏差)の代わりにDn全てのデータの分散や、予め定められた値を用いてもよい。
【0045】
加速度閾値(第2閾値)の導出についても同様で、加速度のデータに何らかの統計処理を行って導出すればよい。例えば、式(2)において、ACC_ave(解析期間中の全ての加速度データの平均値)の代わりにACC_med(解析期間中の全ての加速度データの中央値)や、ACC_mode(解析期間中の全ての加速度データから得られる最頻値)を用いてもよい。また、式(2)において、ACC_std(解析期間中の全ての加速度データの標準偏差)の代わりに解析期間中の全ての加速度データの分散や、予め定められた値を用いてもよい。
【0046】
次に、解析期間において実行される解析処理について図12を参照して説明する。解析処理は、時刻が解析期間になると開始され、解析期間が終了すると第1閾値及び第2閾値を設定して終了する。例えば、アラーム時刻が6時に設定されており、判定期間が60分に設定されている場合には、図3に示すように解析期間は2時から5時の期間になるので、2時になると解析処理が開始される。
【0047】
まず、制御部110は、センサ部130から生体信号を取得する(ステップS101)。より詳細には、制御部110は、脈波センサで脈波を取得し、加速度センサで加速度を取得する。
【0048】
そして、制御部110は、ステップS101で取得した加速度の総和及び二乗和を算出する(ステップS102)。具体的には、加速度の総和を変数SAに、二乗和を変数TAに、ステップS101で取得した加速度を変数Aに、それぞれ格納することにすれば、ステップS102では、変数SAにAを加算し、TAにAの二乗を加算すればよい。このように加速度の総和及び二乗和を逐次算出しておくことにより、後述のステップS108での加速度閾値の導出を短時間で行うことができる。
【0049】
そして、制御部110は、ステップS101で取得した脈波から心拍数を算出する(ステップS103)。単純には脈波から心拍間隔(sec)を求め、60を心拍間隔で割ることで心拍数を算出できる。ただし、本実施形態では、外れ値をできるだけ少なくするために、脈波のピークをできるだけ見逃さないアルゴリズムで心拍数を算出することが望ましい。
【0050】
そして、制御部110は、直近の第1窓期間内の心拍数の最小値を求める(ステップS104)。なお、第1窓期間は本実施形態では1分間であるが、もっと短い期間(例えば30秒間)でも長い期間(例えば2分間)でもよい。第1窓期間を短くした方が心拍数の変化に追従しやすくなり、ユーザの睡眠が浅くなったタイミングですぐにアラームを起動することができる。一方、第1窓期間を長くした方が心拍数の外れ値の影響をより抑えることができる。
【0051】
次に、制御部110は、直近の第2窓期間内の心拍数の標準偏差を求める(ステップS105)。第2窓期間は本実施形態では30秒間であるが、もっと短い期間(例えば15秒間)でも長い期間(例えば1分間)でもよい。ここで求める標準偏差によって、ステップS103で算出した心拍数が正常な値か否かが判定される。したがって、第2窓期間を短くした方が、心拍数が正常でない値になっていることをすぐに検出できる。一方、第2窓期間を長くした方が、心拍数が正常な値か否かをより正しく判定することができる。
【0052】
そして、制御部110は、ステップS105で求めた標準偏差のヒストグラムを作成する(ステップS106)。この時、制御部110は、ステップS104で求めた心拍数の最小値の総和及び二乗和を上記ヒストグラムのビンごとに算出しておく。このように心拍数の最小値の総和及び二乗和を上記ヒストグラムのビンごとに逐次算出しておくことにより、後述のステップS109での心拍数閾値の導出を短時間で行うことができる。
【0053】
そして、制御部110は、解析期間が終了したか否かを判定する(ステップS107)。解析期間が終了していない場合(ステップS107;No)、ステップS101に戻る。
【0054】
解析期間が終了している場合(ステップS107;Yes)、制御部110は、上述の式(2)により加速度の閾値を導出する(ステップS108)。
【0055】
そして、制御部110は、ステップS106で作成したヒストグラムに対して25パーセンタイル値を算出し、上述の式(1)により、心拍数の閾値を導出する(ステップS109)。
【0056】
そして、制御部110は、ステップS105で算出した標準偏差(Dn_std:Dn全てのデータの標準偏差)が所定の範囲内か否かを判定する(ステップS110)。標準偏差が所定の範囲内の場合(ステップS110;Yes)、制御部110は、フラグ変数HR_flgをONにし、後述する判定処理においては心拍数の閾値と加速度の閾値を両方とも用いるように設定し(ステップS111)、解析処理を終了する。
【0057】
一方、標準偏差が所定の範囲内でない場合(ステップS110;No)、制御部110は、フラグ変数HR_flgをOFFにし、後述する判定処理においては加速度の閾値のみを用いるように設定し(ステップS112)、解析処理を終了する。ステップS110での判定条件は、解析期間において心拍数が正しく取得できたか否かを判定する条件の1つであり、第1条件とも呼ばれる。
【0058】
次に、判定期間において実行される判定処理について図13を参照して説明する。判定処理は、時刻が判定期間になると開始され、所定の時間間隔で(例えば心拍数は1秒毎に、加速度は1/32秒毎に)判定用データ(心拍数、加速度)を取得し、取得した判定用データと、解析処理で設定した閾値(第1閾値、第2閾値)と、に基づいてユーザの睡眠状態を判定する。例えば、アラーム時刻が6時に設定されており、判定期間が60分に設定されている場合には、図3に示すように判定期間は5時から6時の期間になるので、5時になると判定処理が開始される。
【0059】
まず、制御部110は、フラグ変数HR_flgがONであるか否かを判定する(ステップS201)。ただし、フラグ変数HR_flgにまだONもOFFもセットされていない場合(解析処理が終了していない場合)には、制御部110は、ON又はOFFがセットされるまで(解析処理が終了するまで)待機し、いずれかがセットされた後にステップS201の判定を行う。
【0060】
フラグ変数HR_flgがONでない場合(ステップS201;No)、制御部110は、センサ部130の加速度センサから加速度を取得する(ステップS202)。そして、制御部110は、ステップS202で取得した加速度が、解析処理で設定された加速度の閾値より大きいか否かを判定する(ステップS203)。
【0061】
加速度が加速度の閾値より大きい場合(ステップS203;Yes)、制御部110は現在時刻が睡眠状態が浅いタイミングである起床推奨時刻であると判定し、アラームを起動して(ステップS205)、判定処理を終了する。
【0062】
加速度が加速度の閾値以下の場合(ステップS203;No)、制御部110は、判定期間が終了したか否かを判定する(ステップS204)。判定期間が終了していない場合(ステップS204;No)、ステップS202に戻る。判定期間が終了している場合(ステップS204;Yes)、設定されたアラーム時刻になっているので、制御部110は、ステップS205に進む(アラーム起動)。
【0063】
一方、ステップS201で、フラグ変数HR_flgがONである場合(ステップS201;Yes)、制御部110は、脈波センサで脈波を取得し、加速度センサで加速度を取得する(ステップS206)。
【0064】
そして、制御部110は、ステップS206で取得した脈波から心拍数を算出し(ステップS207)、Minフィルタにより、直近の第1窓期間内の心拍数の最小値を求める(ステップS208)。
【0065】
そして、制御部110は、ステップS208で求めた心拍数の最小値が所定の基準値の範囲内か否か(異常判定閾値(例えば10)より大きいか否か)を判定する(ステップS209)。なお、本実施形態では、解析期間における解析処理と同様に、判定期間における判定処理においてもMinフィルタは第1窓を1秒ずつスライドさせて、直近の第1窓期間内の心拍数の最小値を求める。したがって、ステップS209の判定は毎秒行われることになる。心拍数の最小値が所定の基準値の範囲内(異常判定閾値以下)の場合(ステップS209;No)、制御部110は、次に心拍数を算出するまでステップS206で取得した加速度が、解析処理で設定された加速度の閾値より大きいか否かを判定する(ステップS210)。
【0066】
加速度が加速度の閾値より大きい場合(ステップS210;Yes)、制御部110は睡眠状態が浅いタイミングである現在時刻が起床推奨時刻であると判定し、ステップS205に進む(アラーム起動)。加速度が加速度の閾値以下の場合(ステップS210;No)、制御部110は、判定期間が終了したか否かを判定する(ステップS212)。判定期間が終了していない場合(ステップS212;No)、ステップS206に戻る。判定期間が終了している場合(ステップS212;Yes)、設定されたアラーム時刻になっているので、制御部110は、ステップS205に進む(アラーム起動)。
【0067】
一方、ステップS209で、心拍数の最小値が所定の基準値の範囲外である(異常判定閾値より大きい)場合(ステップS209;Yes)、制御部110は、ステップS208で求めた心拍数の最小値が、解析処理で設定された心拍数の閾値より大きいか否かを判定する(ステップS211)。
【0068】
心拍数の最小値が心拍数の閾値以下の場合(ステップS211;No)、ステップS212に進む。一方、心拍数の最小値が心拍数の閾値より大きい場合(ステップS211;Yes)、制御部110は現在時刻が睡眠状態が浅いタイミングである起床推奨時刻であると判定し、ステップS205に進む(アラーム起動)。ステップS209での判定条件は、判定期間において心拍数が正しく取得できたか否かを判定する条件の1つであり、第2条件とも呼ばれる。
【0069】
以上の解析処理及び判定処理により、電子機器100が備える制御部110は、第1期間において、ユーザの生体信号データである第1期間内データを複数取得し、取得した複数の前記第1期間内データに対して所定のフィルタ処理を実行することで第1補正データ群を生成し、前記複数の第1期間内データに対して所定の統計処理を実行することで標準偏差データ群を生成し、生成した前記第1補正データ群及び前記標準偏差データ群に基づいて閾値を導出し、前記第1期間とは異なる第2期間で取得した第2期間内データと、前記閾値と、に基づいて、前記ユーザの睡眠状態を判定する。したがって、制御部110は、ユーザの睡眠状態が浅いタイミングを起床推奨時刻と判定することができる。そして、そのタイミングでアラームを起動することにより、ユーザはスムーズに目を覚ますことができる。
【0070】
以上説明したように、制御部110は、心拍数のデータに生じる2種類の外れ値(突発的に生じる外れ値と連続して生じる外れ値)を除去することができる。すなわち、突発的に生じる外れ値はMinフィルタによって除去することができ、連続して生じる外れ値は標準偏差を用いて(例えば標準偏差が25パーセンタイル値以下になっている時刻に対応する心拍数の平均値と標準偏差を用いることにより)除去することができる。したがって制御部110は、より適切にユーザの睡眠状態を判定することができる。
【0071】
また、制御部110は、正常な心拍数が取得できていないと判定した場合には、心拍数ではなく、加速度を用いてユーザの睡眠状態を判定するので、心拍数のみを用いる場合に比べてより適切にユーザの睡眠状態を判定することができる。例えば、ユーザが寝ている間に電子機器100(例えばスマートウォッチ)のベルトが緩くなってしまったりすると、適切に心拍が検出できなくなる。このような場合でも加速度は問題なく検出できるため、心拍データの代わりに加速度データを用いることによって、睡眠状態をより正しく判定することができる。
【0072】
また、制御部110は、第2窓期間内の心拍数データの標準偏差を第2窓を時間的にスライドさせることによって複数算出し、当該複数の標準偏差を値の小さい方から所定の割合だけ(例えば25パーセンタイル値以下を)抽出し、第1補正データ群(Minフィルタ適用後の複数の心拍数データ)に含まれるデータの中から抽出した標準偏差に対応するデータを用いて心拍数閾値を導出するので、連続して生じる心拍数の外れ値を除去したデータを用いて心拍数閾値を導出することができる。
【0073】
(変形例1)
上述の第1の実施形態に係る判定処理(図13)では、ステップS209で心拍数が所定の基準値の範囲外になる可能性を考慮しているが、実際には所定の基準値の範囲外になる可能性は非常に小さいため、解析処理(図12)においては、この可能性を考慮した処理が行われていない。しかし、変形例1としてこの可能性を考慮した処理を行ってもよい。
【0074】
変形例1では、制御部110は、ステップS103で算出した心拍数が所定の基準値の範囲外(異常判定閾値以下)の場合には、その心拍数は外れ値として無視する。このようにすることにより、変形例1では、解析期間中に心拍数として突発的に所定の基準値の範囲外の(異常に小さい)外れ値が生じてもその外れ値の影響を極力排除した心拍数閾値を設定することができる。
【0075】
(変形例2)
上述の第1の実施形態に係る解析処理(図12)及び判定処理(図13)では、心拍数が突発的に大きな値になるような外れ値を除去するためにMinフィルタを用いた。しかし、脈波から心拍数を算出するアルゴリズムによっては、心拍数が突発的に大きな値になるような外れ値はほとんど発生せず、逆に小さな値になるような外れ値が比較的多く発生する場合がある。このようなアルゴリズムを採用する場合には、Minフィルタの代わりに、心拍数を直近の所定の期間(窓)内の最大値に置き換えるMaxフィルタを用いるのが望ましい。
【0076】
このような変形例2においては、判定処理(図13)のステップS209において、心拍数の最大値が所定の基準値の範囲内か否か(異常判定閾値(例えば200)より小さいか否か)を判定するようにする。Maxフィルタを用いることにより、変形例2では、心拍数として突発的に小さな値の外れ値が生じても、その外れ値の影響を極力排除した心拍数閾値の設定及び起床推奨時刻の判定を行うことができる。
【0077】
(変形例3)
脈波から心拍数を算出するアルゴリズムによっては、心拍数が突発的に大きな値になることも小さな値になることもあるような場合がある。このようなアルゴリズムを採用する場合には、MinフィルタやMaxフィルタの代わりに、心拍数を直近の所定の期間(窓)内の中央値に置き換えるMedianフィルタを用いるのが望ましい。
【0078】
このような変形例3においては、判定処理(図13)のステップS209において、異常判定閾値を2種類(第1異常判定閾値及び第2異常判定閾値)用意し、心拍数が第1異常判定閾値(例えば10)と第2異常判定閾値(例えば200)の間に入っているか否かを判定するようにする。Medianフィルタを用いることにより、変形例3では、心拍数として突発的に小さな値や大きな値の外れ値が生じても、その外れ値の影響を極力排除した心拍数閾値の設定及び起床推奨時刻の判定を行うことができる。
【0079】
(その他の変形例)
なお、本発明は、上述の実施形態に限定されず、種々の変形及び応用が可能である。例えば、上述の実施形態及び変形例では、センサ部130は、脈波を検出するための脈波センサと体の動きを検出するための加速度センサとを備えていた。しかし、センサ部130が備えるセンサの種類はこれらに限定されない。センサ部130は、起床推奨時刻の判定に用いる生体信号を検出(取得)するセンサであれば、任意のセンサを備えることができる。また、例えば通信部160を介して外部の装置等から生体信号又は睡眠状態を推定するための特徴量を受信できる場合は、電子機器100は、センサ部130を備える必要はなく、通信部160を介して生体信号等を取得してもよい。
【0080】
また、電子機器100はスマートウォッチのようなウェアラブル機器に限定されない。電子機器100は、ユーザの心拍数や加速度を他のウェアラブル端末等(スマートウォッチ等)から無線通信等で取得するスマートフォン等の情報機器であってもよい。この場合、解析処理や判定処理は電子機器100としての情報機器が行い、アラーム機能は情報機器本体が行ってもよいし、アラーム情報をウェアラブル端末に送信してウェアラブル端末でアラーム音を出力させる構成であってもよい。
【0081】
また、上述の実施形態及び変形例では、電子機器100は、ユーザの睡眠状態の判定に用いる生体信号データとして心拍数(第1データ)と加速度(第2データ)を用いている。しかし、判定に用いる生体信号はこれらに限定されない。電子機器100が用いることができる生体信号としては、体動(頭部、腕、胸、足、胴体等に設置した加速度センサで検出)、筋電(頭部(こめかみや鼻の周り)、腕、胸、足、胴体等に設置した筋電センサで検出)、汗(皮膚電位計や湿度センサで検出)、心拍(心電計、ベッド下に設置された圧力センサ(心弾動図波形の検出)、頭部、腕、胸、足、胴体等に設置した脈波センサ等で検出)等が含まれる。
【0082】
なお、上述の実施形態及び変形例では、電子機器100は入力部140、出力部150及び通信部160を備えていたが、これらは必須の構成要素ではなく、電子機器100は、これらを備えなくてもよい。
【0083】
また、電子機器100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、電子機器100が行う解析処理等のプログラムが、記憶部120のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【0084】
また、上述の処理をOS(Operating System)とアプリケーションプログラムとの分担、又は、OSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(Bulletin Board System:BBS)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【0085】
また、制御部110は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。
【0086】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
【符号の説明】
【0087】
100…電子機器、110…制御部、120…記憶部、130…センサ部、140…入力部、150…出力部、160…通信部、201…脈波、201t,202t,203t…拍動タイミング、202i,203i…心拍間隔、301…楕円形、302…長方形、303…ビン
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13