(57)【要約】【課題】ノイズを含む脈波データから脈拍数を推定する精度を向上させる。【解決手段】センサ１１は、生体の脈波を示す脈波データ１４を生成する。記憶部１２は、正常状態およびノイズに対応する異常状態を含む複数の状態と、状態間の遷移確率と、複数種類の記号の出力確率とが記載された状態遷移モデルであって、遷移確率および出力確率の少なくとも一方が異なる状態遷移モデル１５〜１７を記憶する。推定部１３は、脈波データ１４から脈波の時系列変化を示す記号列１８を生成し、記号列１８と状態遷移モデル１５〜１７それぞれとの間の適合度を算出し、適合度に応じて選択した状態遷移モデルに基づいて、脈波データ１４から推定される脈拍数１９を算出する。【選択図】図１
2017205145.tif 000002
【特許請求の範囲】
【請求項１】
生体の脈波を示す脈波データを生成するセンサと、
正常状態およびノイズに対応する異常状態を含む複数の状態と、前記複数の状態の間の遷移確率と、各状態において複数種類の記号それぞれが観測される出力確率とが記載された状態遷移モデルであって、前記遷移確率および前記出力確率の少なくとも一方が異なる複数の状態遷移モデルを記憶する記憶部と、
前記複数種類の記号を用いて前記脈波データから脈波の時系列変化を示す記号列を生成し、前記記号列と前記複数の状態遷移モデルそれぞれとの間の適合度を算出し、前記複数の状態遷移モデルのうち前記適合度に応じて選択した状態遷移モデルに基づいて、前記脈波データから推定される脈拍数を算出する推定部と、
を有する脈拍推定装置。
【請求項２】
前記複数の状態遷移モデルは、異なるノイズを含む複数のサンプル脈波データを用いて生成された状態遷移モデルである、
請求項１記載の脈拍推定装置。
【請求項３】
前記複数の状態遷移モデルそれぞれは、ノイズが存在しないときに巡回的に遷移する２以上の正常状態と、前記２以上の正常状態から分岐する２以上の異常状態とを含む、
請求項１記載の脈拍推定装置。
【請求項４】
前記推定部は、単位時間毎の脈波の変化パターンを前記脈波データ内における出現頻度に応じて複数のクラスに分類し、異なるクラスに異なる種類の記号を割り当てる、
請求項１記載の脈拍推定装置。
【請求項５】
前記複数の状態遷移モデルそれぞれにモデル脈拍数が対応付けられており、
前記推定部は、前記選択した状態遷移モデルに対応付けられている前記モデル脈拍数に基づいて前記脈拍数を特定する、
請求項１記載の脈拍推定装置。
【請求項６】
生体の脈波を示す脈波データを生成する端末装置と、
前記端末装置から前記脈波データを受信し、複数種類の記号を用いて前記脈波データから脈波の時系列変化を示す記号列を生成し、前記記号列と複数の状態遷移モデルそれぞれとの間の適合度を算出し、前記複数の状態遷移モデルのうち前記適合度に応じて選択した状態遷移モデルに基づいて、前記脈波データから推定される脈拍数を算出する推定装置とを有し、
前記複数の状態遷移モデルは、正常状態およびノイズに対応する異常状態を含む複数の状態と、前記複数の状態の間の遷移確率と、各状態において前記複数種類の記号それぞれが観測される出力確率とが記載された状態遷移モデルであって、前記遷移確率および前記出力確率の少なくとも一方が異なる、
脈拍推定システム。
【請求項７】
コンピュータが実行する脈拍推定方法であって、
生体の脈波を示す脈波データを取得し、
複数種類の記号を用いて前記脈波データから脈波の時系列変化を示す記号列を生成し、
前記記号列と複数の状態遷移モデルそれぞれとの間の適合度を算出し、前記複数の状態遷移モデルのうち前記適合度に応じて選択した状態遷移モデルに基づいて、前記脈波データから推定される脈拍数を算出し、
前記複数の状態遷移モデルは、正常状態およびノイズに対応する異常状態を含む複数の状態と、前記複数の状態の間の遷移確率と、各状態において前記複数種類の記号それぞれが観測される出力確率とが記載された状態遷移モデルであって、前記遷移確率および前記出力確率の少なくとも一方が異なる、
脈拍推定方法。
【請求項８】
コンピュータに、
生体の脈波を示す脈波データを取得し、
複数種類の記号を用いて前記脈波データから脈波の時系列変化を示す記号列を生成し、
前記記号列と複数の状態遷移モデルそれぞれとの間の適合度を算出し、前記複数の状態遷移モデルのうち前記適合度に応じて選択した状態遷移モデルに基づいて、前記脈波データから推定される脈拍数を算出する処理を実行させ、
前記複数の状態遷移モデルは、正常状態およびノイズに対応する異常状態を含む複数の状態と、前記複数の状態の間の遷移確率と、各状態において前記複数種類の記号それぞれが観測される出力確率とが記載された状態遷移モデルであって、前記遷移確率および前記出力確率の少なくとも一方が異なる、
脈拍推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は脈拍推定装置、脈拍推定システム、脈拍推定方法および脈拍推定プログラムに関する。
【背景技術】
【０００２】
近年、スポーツ・ヘルスケア・医療などの様々な分野において、生体の脈拍数を推定する装置が用いられることがある。脈拍数を推定する装置は、リストバンドなどのウェアラブル端末であることもある。脈拍数は、血管の容積変化を測定する光学式センサなどの脈波センサを用いて脈波を検出し、脈波の周期性を分析することで推定することができる。
【０００３】
例えば、脈波センサから出力された脈波データの周波数スペクトルを高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）によって算出し、周波数スペクトルにおけるピーク周波数に基づいて脈拍数を推定する脈波計測装置が提案されている。提案の脈波計測装置は、ノイズの影響により特定の計測区間の脈波データが異常と判定される場合、正常と判定された過去の脈波データを用いて推定値を補正する。
【０００４】
また、例えば、時系列の心電図信号を、隠れマルコフモデルを用いて複数の時間区間（セグメンテーション）に分割する信号解析方法が提案されている。また、例えば、脈波センサから出力された脈波信号に対して周波数分解処理を行い、その結果に基づいて脈拍数を推定する脈動検出装置が提案されている。提案の脈動検出装置は、脈波信号の信号対雑音比（ＳＮ比）が小さい場合、周波数分解処理としてフーリエ変換を行い、脈波信号のＳＮ比が大きい場合、周波数分解処理としてパワースペクトル密度推定を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２６５４２２号公報
【特許文献２】国際公開第２００５／１０７５８７号
【特許文献３】国際公開第２０１３／１４５７３１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
脈波センサから出力される脈波データには、生体が動くことによる生体と脈波センサの位置関係の変化といった種々の原因により、ノイズが含まれることがある。ノイズが大きい脈波データから脈拍数を推定すると、ノイズが小さい脈波データから脈拍数を推定する場合よりも推定精度が低下してしまう。ノイズの影響を軽減する方法としては、脈波の測定時間を長くし、長い時間分の脈波データから脈拍数を推定することが考えられる。しかし、測定時間を長くすることは、脈波センサの消費電力が大きくなるなど好ましくない。
【０００７】
１つの側面では、本発明は、ノイズを含む脈波データから脈拍数を推定する精度を向上させる脈拍推定装置、脈拍推定システム、脈拍推定方法および脈拍推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、センサと記憶部と推定部とを有する脈拍推定装置が提供される。センサは、生体の脈波を示す脈波データを生成する。記憶部は、正常状態およびノイズに対応する異常状態を含む複数の状態と、複数の状態の間の遷移確率と、各状態において複数種類の記号それぞれが観測される出力確率とが記載された状態遷移モデルであって、遷移確率および出力確率の少なくとも一方が異なる複数の状態遷移モデルを記憶する。推定部は、複数種類の記号を用いて脈波データから脈波の時系列変化を示す記号列を生成し、記号列と複数の状態遷移モデルそれぞれとの間の適合度を算出し、複数の状態遷移モデルのうち適合度に応じて選択した状態遷移モデルに基づいて、脈波データから推定される脈拍数を算出する。
【０００９】
また、１つの態様では、端末装置と推定装置とを有する脈波推定システムが提供される。また、１つの態様では、コンピュータが実行する脈拍推定方法が提供される。また、１つの態様では、コンピュータに実行させる脈拍推定プログラムが提供される。
【発明の効果】
【００１０】
１つの側面では、ノイズを含む脈波データから脈拍数を推定する精度が向上する。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の脈拍推定装置の例を示す図である。
【図２】第２の実施の形態に係る脈拍推定装置および情報処理装置を含むシステムの一例を示した図である。
【図３】第２の実施の形態に係る脈拍推定装置の機能を実現可能なハードウェアの一例を示した図である。
【図４】第２の実施の形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。
【図５】体動ノイズ（スパイク型）がある場合に観測される脈波データの一例を示したグラフである。
【図６】体動ノイズ（低周波継続型）がある場合に観測される脈波データの一例を示したグラフである。
【図７】第２の実施の形態に係る脈拍推定装置が有する機能の一例を示したブロック図である。
【図８】第２の実施の形態に係る脈拍推定装置の動作（脈拍推定処理）を示したフロー図である。
【図９】第２の実施の形態に係る脈拍推定装置の動作（ラベル系列の生成処理）を示したフロー図である。
【図１０】相関値の計算に利用される雛形波形の一例を示したグラフである。
【図１１】脈波データと相関値との関係を示したグラフである。
【図１２】相関値に関する度数分布に基づく分類方法の一例を示した図である。
【図１３】基線変動ノイズの有無による相関値への影響について説明するための図である。
【図１４】脈拍推定に利用する隠れマルコフモデルを規定する状態遷移図である。
【図１５】脈波データ、相関値、ラベル系列、および状態の関係（体動ノイズが小さい場合）を示した図である。
【図１６】脈波データ、相関値、ラベル系列、および状態の関係（上向きスパイク型の体動ノイズがある場合）を示した図である。
【図１７】脈波データ、相関値、ラベル系列、および状態の関係（下向きスパイク型の体動ノイズがある場合）を示した図である。
【図１８】第２の実施の形態に係る脈拍推定装置の動作（模型情報の生成処理）を示したフロー図である。
【図１９】第２の実施の形態に係るシステムの他の例を示した図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態を図面を参照して説明する。
＜１．第１の実施の形態＞
第１の実施の形態を説明する。
【００１３】
図１は、第１の実施の形態の脈拍推定装置の例を示す図である。
第１の実施の形態の脈拍推定装置１０は、生体の脈拍数を推定する。脈拍推定装置１０は、例えば、人間の手首に装着するリストバンド型デバイスなどのウェアラブルデバイスである。脈拍推定装置１０は、センサ１１、記憶部１２および推定部１３を有する。
【００１４】
ただし、第１の実施の形態では脈拍推定装置１０がセンサ１１を有しているが、脈拍推定装置１０の外部の装置がセンサ１１を有していてもよい。例えば、脈拍推定装置１０の外部のウェアラブルデバイスがセンサ１１を有し、脈拍推定装置１０が当該外部のウェアラブルデバイスと無線または有線により通信するようにしてもよい。その場合、脈拍推定装置１０は、携帯電話機、スマートフォン、タブレット型コンピュータ、ノート型コンピュータ、サーバコンピュータなどの任意の情報処理装置でよい。
【００１５】
センサ１１は、生体の脈波を示す脈波データ１４を生成する。センサ１１は、例えば、手首の血管の容積変化を、光の吸収率の変化に基づいて測定する光学式脈波センサである。ただし、電気信号センサなど他の種類のセンサを用いることもできる。
【００１６】
脈波データ１４は、脈拍以外の原因によって脈波を変化させるノイズを含むことがある。例えば、脈波データ１４は、ある瞬間に値が急激に上昇または下降するノイズを含むことがある。また、例えば、脈波データ１４は、数秒以上にわたって緩やかに移動平均値が上昇または下降するノイズ（基線変動ノイズ）を含むことがある。ノイズは、例えば、生体が動くことで生体とセンサ１１との距離が変化したときに発生し得る。
【００１７】
記憶部１２は、状態遷移モデル１５〜１７を含む複数の状態遷移モデルを記憶する。記憶部１２は、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、フラッシュメモリなどの不揮発性の記憶装置でもよい。
【００１８】
状態遷移モデル１５〜１７はそれぞれ、正常状態およびノイズに対応する異常状態を含む複数の状態と、これら複数の状態の間で遷移が発生する確率である遷移確率と、各状態において複数種類の記号それぞれが観測される確率である出力確率とを含む。状態遷移モデル１５〜１７は、いわゆる隠れマルコフモデルであってもよい。
【００１９】
例えば、状態遷移モデル１５〜１７は、正常状態に相当する状態１５ａ，１５ｂと、異常状態に相当する状態１５ｃ，１５ｄとを含む。脈波データ１４にノイズが存在しない場合、正常状態である状態１５ａと状態１５ｂとの間で巡回的に遷移が発生することが想定される。例えば、状態１５ａが値の上昇場面に相当し、状態１５ｂが値の下降場面に相当する。脈波の一周期が状態１５ａ，１５ｂ間の遷移の一巡に相当する。一方、脈波データ１４にノイズが存在する場合、何れかの正常状態から何れかの異常状態に適宜遷移し、その後、異常状態から正常状態に戻ることが想定される。異常状態である状態１５ｃ，１５ｄは、例えば、複数種類の記号のうち脈波の異常な変化を示す記号が、正常状態である状態１５ａ，１５ｂよりも観測されやすい状態である。
【００２０】
状態遷移モデル１５〜１７の間では、遷移確率および出力確率の少なくとも一方が異なる。状態遷移モデル１５〜１７は、例えば、ノイズパターンが異なる複数のサンプル脈波データから生成される。状態遷移モデル１５〜１７は、ノイズパターンと脈拍数の組み合わせが異なる複数のサンプル脈波データから生成されてもよい。各状態遷移モデルには、使用したサンプル脈波データの脈拍数（モデル脈拍数）が対応付けられていてもよい。
【００２１】
推定部１３は、センサ１１から脈波データ１４を取得し、取得した脈波データ１４から脈拍数１９を推定する。推定部１３は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサでもよい。また、推定部１３は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部１２でもよい）に記憶されたプログラムを実行する。プロセッサが実行するプログラムには、以下に説明する処理を記載した脈拍推定プログラムが含まれる。複数のプロセッサの集合を、「マルチプロセッサ」または単に「プロセッサ」と呼ぶこともある。
【００２２】
推定部１３は、所定の特徴抽出方法に従って、脈波データ１４から脈波の時系列変化を示す記号列１８を生成する。記号列１８には、状態遷移モデル１５〜１７で出力確率が定義されている複数種類の記号が用いられる。例えば、推定部１３は、微分フィルタなどを用いて単位時間毎の変化量を示す指標値を算出し、各時刻の指標値を記号にマッピングする。複数種類の記号には、例えば、変化量が小さいことを示す記号、上昇量が正常であることを示す記号、上昇量が異常に大きいことを示す記号、下降量が正常であることを示す記号、下降量が異常に大きいことを示す記号などが含まれる。このとき、推定部１３は、脈波データ１４内での指標値の出現頻度の分布を算出し、出現頻度の分布に基づいて指標値と記号との対応関係を決定するようにしてもよい。すなわち、ある変化量が正常であるか異常であるかを、脈波データ１４内での相対的関係から判定してもよい。
【００２３】
推定部１３は、記号列１８と状態遷移モデル１５〜１７それぞれとの間の適合度を算出する。適合度は、例えば、遷移確率および出力確率に従って記号列１８が観測される確率（尤度）である。推定部１３は、適合度に応じて何れかの状態遷移モデルを選択する。例えば、推定部１３は、最も適合度が高い状態遷移モデルを選択する。
【００２４】
そして、推定部１３は、選択した状態遷移モデルに基づいて、脈波データ１４に対応する脈拍数１９を算出する。例えば、推定部１３は、選択した状態遷移モデルに対応付けられているモデル脈拍数を脈拍数１９と判定する。また、例えば、推定部１３は、選択した状態遷移モデルと記号列１８とを照合して、正常状態である状態１５ａ，１５ｂを一巡するのに要した平均時間を算出し、当該平均時間に基づいて脈拍数１９を算出する。
【００２５】
脈拍推定装置１０は、脈拍推定装置１０が備える記憶装置に脈拍数１９を保存してもよい。また、脈拍推定装置１０は、脈拍推定装置１０が備える出力装置から脈拍数１９を出力してもよい。例えば、脈拍推定装置１０は、脈拍推定装置１０が備えるディスプレイに脈拍数１９を表示してもよく、脈拍推定装置１０が備えるスピーカから脈拍数１９を読み上げる音声を再生してもよい。また、脈拍推定装置１０は、外部の情報処理装置に有線または無線によって脈拍数１９を送信してもよい。外部の情報処理装置は、記憶装置に脈拍数１９を保存してもよく、出力装置から脈拍数１９を出力してもよい。
【００２６】
第１の実施の形態の脈拍推定装置１０によれば、脈波データ１４から記号列１８が生成され、遷移確率および出力確率の少なくとも一方が異なる複数の状態遷移モデルそれぞれと記号列１８との間の適合度が算出される。そして、適合度に応じて選択された状態遷移モデルに基づいて、脈波データ１４に対応する脈拍数１９が推定される。
【００２７】
これにより、様々なノイズパターンに対して、ノイズを織り込んで脈拍数１９を推定することが可能となる。よって、ノイズに対応する状態を含まない単一の状態遷移モデルから脈拍数１９を推定する場合よりも、脈拍数１９の推定精度が向上する。また、ノイズを含む脈波から直接的に脈拍数１９を推定できるため、ノイズが大きい脈波区間を避けるようにして脈拍数１９を推定する場合よりも、脈波の測定時間を短縮することができる。その結果、脈拍推定装置１０の消費電力を削減することができる。
【００２８】
＜２．第２の実施の形態＞
次に、第２の実施の形態について説明する。
［２−１．システム］
第２の実施の形態は、生体の脈拍数をモニタするバンド型の脈拍推定装置に関する。脈拍推定装置は、生体が身につけて使用するウェアラブルデバイスの一例である。ウェアラブルデバイスには無線通信機能が搭載されており、スマートフォンやパーソナルコンピュータ（ＰＣ）などの情報処理装置に脈拍数などの情報を遠隔で伝えることができる。
【００２９】
図２は、第２の実施の形態に係る脈拍推定装置および情報処理装置を含むシステムの一例を示した図である。図２に例示したシステムは、脈拍推定装置１００、および情報処理装置２０１、２０２を含む。脈拍推定装置１００は、脈波を検知するセンサを搭載しており、脈波のデータ（脈波データ）を解析して脈拍数を推定する機能を有する。
【００３０】
なお、脈波とは、心臓が血液を送り出す際に生じる血管の容積変化のことである。また、脈拍数とは、１分間あたりの血管の容積変化の回数のことである。脈波データは、周期的な波形を有する時系列データとなる。脈拍推定装置１００は、推定した脈拍数を無線通信により情報処理装置２０１（例えば、スマートフォン）や情報処理装置２０２（例えば、ＰＣ）などに送信する。
【００３１】
［２−２．ハードウェア］
脈拍推定装置１００の機能は、例えば、図３に示すようなハードウェアにより実現されうる。図３は、第２の実施の形態に係る脈拍推定装置の機能を実現可能なハードウェアの一例を示した図である。
【００３２】
図３に示すように、脈拍推定装置１００は、脈波センサ１０１、ＡＤＣ（Analog to Digital Converter）１０２、メモリ１０３、プロセッサ１０４、およびＲＦ（Radio Frequency）回路１０５を有する。脈波センサ１０１は、生体から脈波を検知するセンサである。
【００３３】
例えば、脈波センサ１０１は、光学式の脈波センサであり、血管の容積変化に伴って変化する光の吸収率を利用して脈波を検出する。ＡＤＣ１０２は、脈波センサ１０１が検出した脈波のアナログデータをデジタルデータに変換する変換回路である。
【００３４】
メモリ１０３は、ＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ（Dynamic Random Access Memory）などの記憶素子である。なお、メモリ１０３は、プロセッサ１０４が実行するプログラムや演算に用いるデータを一時的に記憶しうる。また、メモリ１０３は、複数の記憶素子を有していてもよいし、不揮発性メモリであってもよい。
【００３５】
プロセッサ１０４は、ＣＰＵ、ＦＰＧＡ（Field-Programmable Gate Array）、ＬＳＩ（Large-Scale Integration）などの演算回路である。プロセッサ１０４は、加算器、乗算器、バレルシフタ、浮動小数点ユニットなどの回路を含みうる。ＲＦ回路１０５は、アンテナ（非図示）に接続され、ＲＦ信号の送受信を制御する無線通信回路である。
【００３６】
なお、プロセッサ１０４は、第１の実施の形態の推定部１３の一例である。脈波センサ１０１は、第１の実施の形態のセンサ１１の一例である。メモリ１０３は、第１の実施の形態の記憶部１２の一例である。
【００３７】
（情報処理装置）
情報処理装置２０１の機能は、例えば、図４に示すようなハードウェアにより実現されうる。図４は、第２の実施の形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。
【００３８】
情報処理装置２０１は、ＣＰＵ２１１、ＲＡＭ２１２、ＨＤＤ（Hard Disk Drive）２１３、画像信号処理部２１４、入力信号処理部２１５、媒体リーダ２１６および通信インタフェース２１７を有する。
【００３９】
ＣＰＵ２１１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ２１１は、ＨＤＤ２１３に記憶されているプログラムやデータの少なくとも一部をＲＡＭ２１２にロードし、プログラムを実行する。
【００４０】
なお、ＣＰＵ２１１は複数のプロセッサコアを備えてもよく、情報処理装置２０１は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列実行してもよい。また、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００４１】
ＲＡＭ２１２は、ＣＰＵ２１１が実行するプログラムやＣＰＵ２１１が演算に用いるデータを一時的に記憶する揮発性メモリである。なお、情報処理装置２０１は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００４２】
ＨＤＤ２１３は、ＯＳ（Operating System）やアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、情報処理装置２０１は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００４３】
画像信号処理部２１４は、ＣＰＵ２１１からの命令に従って、情報処理装置２０１に接続されたディスプレイ７１に画像を出力する。ディスプレイ７１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ（ＰＤＰ：Plasma Display Panel）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなどを用いることができる。
【００４４】
入力信号処理部２１５は、情報処理装置２０１に接続された入力デバイス７２から入力信号を取得し、ＣＰＵ２１１に出力する。
入力デバイス７２としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置２０１に、複数の種類の入力デバイスが接続されていてもよい。なお、ディスプレイ７１および入力デバイス７２の少なくとも一方が、情報処理装置２０１の筐体と一体に形成されていてもよい。
【００４５】
媒体リーダ２１６は、記録媒体７３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体７３として、例えば、フレキシブルディスク（FD：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（MO：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ２１６は、例えば、記録媒体７３から読み取ったプログラムやデータをＲＡＭ２１２またはＨＤＤ２１３に格納する。
【００４６】
通信インタフェース２１７は、ネットワーク７４に接続され、ネットワーク７４を介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース２１７は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。なお、情報処理装置２０２の機能も図４に示したハードウェアにより実現可能である。
【００４７】
［２−３．脈拍推定装置の機能＆動作］
以下、脈拍推定装置１００の機能と動作について説明する。
（消費電力の考察）
脈波データから脈拍数を計算（推定）する方法としては、離散フーリエ変換（ＤＦＴ：Discrete Fourier Transform）を利用する方法がある。この方法では、ＤＦＴにより脈波データからスペクトルを生成し、スペクトルのピーク周波数から脈拍数が算出される。脈拍数ＨＲとピーク周波数ｆmaxとの関係は、下記の式（１）で与えられる。また、スペクトルの周波数分解能Δｆとセンサ動作時間Ｔとの関係は下記の式（２）により与えられる。また、脈拍数の分解能Ｒは下記の式（３）により与えられる。
【００４８】
【数１】
2017205145.tif 000003
【００４９】
【数２】
2017205145.tif 000004
【００５０】
【数３】
2017205145.tif 000005
【００５１】
式（３）から、センサ動作時間Ｔを長くすれば、脈拍数の分解能Ｒを高められることが分かる。しかし、センサ動作時間Ｔを長くするとセンサで消費される平均電力が増大する。ウェアラブルデバイスは電池駆動であるため、長時間充電無しで駆動する性能が求められる。例えば、脈拍数の分解能Ｒを１［ｂｐｍ（beats per minute）］とすると、センサ動作時間Ｔは６０［ｓｅｃ．］になる。光学式の脈波センサの消費電力を５［ｍＷ］とすると、センサで消費されるエネルギーは３００［ｍＪ］となる。
【００５２】
消費電力を抑制する方法として、ＤＦＴではなく、隠れマルコフモデルを用いて脈波データから脈拍数を計算する方法（Xiangmm Fan,"BayesHeart: Probabilistic Approach for Robust, Low latency Heart Rate Monitoring on Camera Phones", In Proc. IUI 2015.）がある。この方法では、脈拍数の分解能がサンプリング周波数で決まるため、センサ動作時間Ｔが短くても十分な脈拍数の分解能Ｒが得られる。例えば、サンプリング周波数６０［Ｈｚ］で１［ｂｐｍ］の分解能Ｒが得られる。脈拍推定装置１００は、隠れマルコフモデルを用いて脈波データから脈拍数を計算する。
【００５３】
（体動ノイズの影響）
脈拍推定装置１００は、脈波データから脈拍数を推定するにあたり、生体の動きに起因して脈波データに加算されうる体動ノイズの影響を考慮する。
【００５４】
例えば、図５に示すように、脈拍推定装置１００の装着者が体を動かすと脈波データに大きな振幅をもつノイズ（体動ノイズ）が乗ることがある。図５は、体動ノイズ（スパイク型）がある場合に観測される脈波データの一例を示したグラフである。図５に示すグラフ４１には、２箇所に体動ノイズが現れている。
【００５５】
体動ノイズへの対策としては、例えば、脈波データの中で体動ノイズを含む部分の周辺（例えば、２［ｓｅｃ．］幅以上）を利用せずに捨てるなどの方法がある。しかし、脈波データの一部を捨てると、捨てた分の脈波データを補充するために、より長い時間センサを動作させることになり、センサ動作時間Ｔが長くなる。その結果、消費電力が大きくなる。
【００５６】
また、図６に示すように、低周波成分を多く含む体動ノイズ（基線変動ノイズ）が脈波データに乗った場合、脈拍数の推定精度が低下する。図６は、体動ノイズ（低周波継続型）がある場合に観測される脈波データの一例を示したグラフである。図６に示すグラフ４２には、右肩上がりの基線変動ノイズが現れている。そのため、第２の実施の形態に係る脈拍推定装置１００は、体動ノイズの影響を除去する要素を隠れマルコフモデルの中に取り入れ、消費電力の増加を抑制しつつ精度良く脈拍数を推定する。以下、脈拍推定装置１００の機能および動作について述べる。
【００５７】
なお、以下の説明では、時刻ｔで計測された脈波データをｎ［ｔ］（ｔ＝１，２，…）と表記する。また、脈波データｎ［ｔ］から生成されるラベル系列（後述）をｘ［ｔ］、脈拍数の推定に利用する隠れマルコフモデル（脈波モデル）をΩ［ｋ］（ｋ＝１，２，…）と表記する。但し、脈波モデルΩは事前に用意され、脈波モデルΩを規定する情報（模型情報）は脈拍推定装置１００が保持しているものとする。
【００５８】
（機能ブロック）
脈拍推定装置１００の機能は、図７に示すような要素を含む。図７は、第２の実施の形態に係る脈拍推定装置が有する機能の一例を示したブロック図である。
【００５９】
図７に示すように、脈拍推定装置１００は、記憶部１１１、計測部１１２、解析部１１３、および送信部１１４を有する。なお、記憶部１１１の機能は、上述したメモリ１０３により実現されうる。計測部１１２の機能は、上述した脈波センサ１０１の機能により実現されうる。解析部１１３の機能は、上述したプロセッサ１０４により実現されうる。送信部１１４の機能は、上述したＲＦ回路１０５により実現されうる。
【００６０】
記憶部１１１には、模型情報が格納される。計測部１１２は、脈波の検出および脈波データのアナログ・デジタル変換を経てデジタルの脈波データを取得する。解析部１１３は、計測部１１２が取得した脈波データを解析して脈拍数の推定値を計算する。なお、以下では、説明の都合上、脈拍数の推定値を単に脈拍数と表現する場合がある。また、脈拍数の推定値を計算することを脈拍数を推定すると称する場合がある。送信部１１４は、解析部１１３が計算した脈拍数を情報処理装置２０１などに送信する。
【００６１】
（脈拍推定処理）
脈拍数を推定する処理は、脈拍推定装置１００により、図８に示すような流れに沿って実行される。図８は、第２の実施の形態に係る脈拍推定装置の動作（脈拍推定処理）を示したフロー図である。
【００６２】
（Ｓ１０１）処理が開始されると、計測部１１２は、脈波データｎ［ｔ］を取得する。つまり、脈波センサ１０１による脈波の検出およびＡＤＣ１０２による脈波データのアナログ・デジタル変換が行われ、脈波データｎ［ｔ］が解析部１１３に入力される。
【００６３】
（Ｓ１０２）解析部１１３は、脈波データｎ［ｔ］からラベル系列ｘ［ｔ］を生成する。ラベル系列ｘ［ｔ］は、時刻ｔにおける脈波データが持つ波形の特徴を表すラベルである。ラベル系列ｘ［ｔ］は、例えば、大きく上向きに突出した波形（上向きスパイク波形）、大きく下向きに突出した波形（下向きスパイク波形）、体動ノイズがない場合の一般的な脈波データの波形など、波形の特徴を表現するラベルの時系列データである。ラベル系列ｘ［ｔ］の生成方法については、さらに後述する。
【００６４】
（Ｓ１０３）解析部１１３は、予め用意されている脈波モデルΩを１つ選択する。脈波モデルΩをそれぞれ規定する模型情報（隠れマルコフモデルが持つモデルパラメータ）は、記憶部１１１に予め格納されている。解析部１１３は、選択した脈波モデルΩの模型情報を記憶部１１１から読み出す。
【００６５】
（Ｓ１０４）解析部１１３は、Ｓ１０２で生成したラベル系列ｘ［ｔ］およびＳ１０３で記憶部１１１から読み出した模型情報を利用して、選択した脈波モデルΩの尤度を計算する。例えば、脈波モデルΩの模型情報を（Ａ，Ｑ，ｒ）とし、状態系列をｓ［ｔ］と表現すると、脈波モデルΩの尤度は、下記の式（４）で表現される。この尤度は、与えられたラベル系列を観測する確率を表し、動的計画法（例えば、Viterbiアルゴリズム）を利用して求めることができる。
【００６６】
【数４】
2017205145.tif 000006
【００６７】
なお、脈波モデルΩがＭ個の状態Ｓ1，Ｓ2，…で表現される場合、ｓ［ｔ］∈｛Ｓ1，Ｓ2，…｝である。また、脈波モデルΩの模型情報Ａは、状態間の遷移確率Ｐ（Ｓi｜Ｓj）（ｉ，ｊ＝１，２，…）を要素に持つ行列で表現される。また、模型情報Ｑは、状態Ｓjでラベルｖl（ｌ＝１，２，…）を観測する確率Ｐ（ｖl｜Ｓj）を要素に持つ行列で表現される。また、模型情報ｒは、初期状態（ｔ＝１の状態）がＳjである確率Ｐ（Ｓj）を要素に持つベクトルで表現される。
【００６８】
例えば、解析部１１３は、次の方法で尤度Ｐ（｛ｘ［ｔ］｝；Ａ，Ｑ，ｒ）を計算する。なお、状態の数をＮc、ラベル系列ｘ［ｔ］の要素数をｎとする（つまり、ｉ，ｊ＝１，２，…，Ｎc、ｔ＝１，２，…、ｎ）。まず、解析部１１３は、下記の式（５）および式（６）に従って初期値Ψ1（ｉ）およびφ1（ｉ）を設定する。但し、ｒiはベクトルｒのｉ成分である。また、Ｐ（ｘ［１］｜Ｓi）は行列Ｑの１行ｉ列成分である。
【００６９】
【数５】
2017205145.tif 000007
【００７０】
【数６】
2017205145.tif 000008
【００７１】
次に、解析部１１３は、ｔ＝２，…，ｎについて、下記の式（７）および式（８）に従ってΨt（ｊ）およびφt（ｊ）を順次計算する。但し、ａijは、行列Ａのｉ行ｊ列成分である。また、Ｐ（ｘ［ｔ］｜Ｓj）は行列Ｑのｔ行ｊ列成分である。そして、解析部１１３は、下記の式（９）に従って尤度Ｐ（｛ｘ［ｔ］｝；Ａ，Ｑ，ｒ）を求める。
【００７２】
【数７】
2017205145.tif 000009
【００７３】
【数８】
2017205145.tif 000010
【００７４】
【数９】
2017205145.tif 000011
【００７５】
（Ｓ１０５）解析部１１３は、全ての脈波モデルΩを選択したか否かを判定する。全ての脈波モデルΩを選択し終えた場合、解析部１１３により尤度が最大となる脈波モデルΩ（最尤モデル）が特定され、処理はＳ１０６へと進む。一方、未選択の脈波モデルΩがある場合、処理はＳ１０３へと進む。
【００７６】
（Ｓ１０６）解析部１１３は、最尤モデルに基づいて脈拍数を計算する。例えば、解析部１１３は、最尤モデルの模型情報（Ａ，Ｑ，ｒ）について、Viterbiアルゴリズムにより推定される状態系列｛ｓ*［ｔ］｝（下記の式（１０））から、体動ノイズが小さい波形に対応する特定の状態（Ｓ1、Ｓ2）に留まる平均時間（ｄ1、ｄ2）を求める。そして、解析部１１３は、下記の式（１１）により脈拍数ＨＲを計算する。ｄ1は、状態Ｓ1に留まっている平均時間、すなわち、状態Ｓ1に入ってから他の状態へ出て行くまでの１回当たりの時間の平均値である。ｄ2は、状態Ｓ2に留まっている平均時間、すなわち、状態Ｓ2に入ってから他の状態へ出て行くまでの１回当たりの時間の平均値である。
【００７７】
【数１０】
2017205145.tif 000012
【００７８】
【数１１】
2017205145.tif 000013
【００７９】
脈拍数を計算する他の方法として、例えば、模型情報そのものに脈拍数を紐付けておく方法も採用しうる。予め設定した複数の脈拍数に対応する模型情報を用意しておき（例えば、脈拍数３０［ｂｐｍ］の模型情報、脈拍数３１［ｂｐｍ］の模型情報、…、脈拍数１８０［ｂｐｍ］の模型情報など）、解析部１１３は、模型情報に紐つけられた脈拍数を特定する。
【００８０】
解析部１１３により計算された脈拍数は、送信部１１４により情報処理装置２０１などに送信される。Ｓ１０６の処理が完了すると、図８に示した一連の処理は終了する。
（ラベル系列の生成処理）
ここで、図９を参照しながら、ラベル系列ｘ［ｔ］の生成に関する処理（Ｓ１０２に相当する処理）について、さらに説明する。図９は、第２の実施の形態に係る脈拍推定装置の動作（ラベル系列の生成処理）を示したフロー図である。
【００８１】
（Ｓ１２１）解析部１１３は、脈波データｎ［ｔ］から相関値ｑ［ｔ］を計算する。相関値ｑ［ｔ］は、下記の式（１２）で与えられる。但し、ｐ［ｍ］は、体動ノイズを含まない理想的な脈波に多く含まれる波形を模した雛形波形（図１０を参照）である。図１０は、相関値の計算に利用される雛形波形の一例を示したグラフである。図１０に示すグラフ４３は、雛形波形を示す。雛形波形の幅（相関幅）は、例えば、３０ポイント程度とする。脈波センサ１０１から取得する脈波データｎ［ｔ］のサンプリング周期が３０Ｈｚである場合、雛形波形の幅は、例えば、１秒程度に相当する。
【００８２】
【数１２】
2017205145.tif 000014
【００８３】
なお、微分フィルタのような高周波フィルタの係数をｐ［ｍ］として利用してもよい。脈波データｎ［ｔ］と雛形波形との相関を求めることは、例えば、脈波データｎ［ｔ］が示す波形を微分することに相当する。図１１（Ａ）のような脈波データｎ［ｔ］が与えられた場合、上記の式（１２）に従って計算された相関値ｑ［ｔ］は、図１１（Ｂ）のようになる。図１１は、脈波データと相関値との関係を示したグラフである。図１１のグラフ４４は、脈波データｎ［ｔ］に対応する相関値ｑ［ｔ］を示している。
【００８４】
（Ｓ１２２）解析部１１３は、Ｓ１２１で計算した相関値ｑ［ｔ］に関する度数分布（図１２を参照）を作成する。図１２は、相関値に関する度数分布に基づく分類方法の一例を示した図である。図１２に示すグラフ４５は、相関値ｑ［ｔ］の中での出現頻度を表している。図１２に示した度数分布は、横軸が相関値ｑ、縦軸が度数である。相関値ｑの定義（上記の式（１２）を参照）から、相関値ｑが０に近いほど雛形波形に近く、体動ノイズが小さい正常値である可能性が高い。一方、相関値ｑが０から遠いほど雛形波形との違いが大きく、体動ノイズによる影響が大きい異常値である可能性が高い。
【００８５】
なお、基線変動ノイズの影響は度数分布の平均に表われる。例えば、基線変動ノイズが脈波データｎ［ｔ］に乗ると、図１３に示すように、基線変動ノイズが持つ傾き成分の分だけ度数分布の平均がシフトする。図１３は、基線変動ノイズの有無による相関値への影響について説明するための図である。図１３のグラフ４６とグラフ４７を比較すると、右肩上がりの基線変動ノイズによりグラフ４７の方が相関値の平均が大きくなっている。
【００８６】
（Ｓ１２３）解析部１１３は、Ｓ１２２で作成した度数分布から相関値ｑの分類方法Ｃ（ｑ）を決定する。つまり、解析部１１３は、度数分布に基づいて、上述した正常値と異常値を分ける境界を画定する。このとき、解析部１１３は、正常値の範囲、および異常値の範囲をさらに小さな範囲に分け、各範囲にラベルを割り当てる。
【００８７】
解析部１１３は、下記の式（１３）に従って相関値ｑ［ｔ］の平均μを計算する。また、解析部１１３は、下記の式（１４）に従って相関値ｑ［ｔ］の分散σ2を計算する。そして、解析部１１３は、下記の式（１５）に基づき、ラベルｇ1、ｇ2、ｄ1、ｄ2、ｓ1、ｕ1、ｕ2、ｈ1、ｈ2を割り当てる相関値ｑの範囲を規定する。
【００８８】
【数１３】
2017205145.tif 000015
【００８９】
【数１４】
2017205145.tif 000016
【００９０】
【数１５】
2017205145.tif 000017
【００９１】
式（１５）の定義から、ｇ1、ｇ2、ｈ1、ｈ2は、相関値ｑが中心から大きく外れた場合に対応するラベルであり、異常値（体動ノイズがある場合に現われやすい値）を表す。一方、ｄ1、ｄ2、ｓ1、ｕ1、ｕ2は、相関値ｑが中心から大きく外れていない場合に対応するラベルであり、正常値を表す。以下、相関値ｑの範囲と、各範囲に割り当てられるラベルとの関係（上記の式（１５）の関係）を分類方法Ｃ（ｑ）と称する。
【００９２】
上述したように、低周波成分を多く含む体動ノイズが脈波データに乗った場合、相関値ｑの平均がシフトする。このシフト量を考慮せずに上記の分類を行うと、波形の特徴に応じた相関値ｑの分類が適切に行われないリスクがある。しかし、上記の式（１５）のように、相関値ｑから平均μを差し引いた値を基準に、標準偏差σを利用して分類方法Ｃ（ｑ）を決めることでシフト量を適切に考慮することができ、上記リスクが抑制される。
【００９３】
（Ｓ１２４）解析部１１３は、相関値ｑ［ｔ］と分類方法Ｃ（ｑ）とを照合し、時刻ｔ（ｔ＝１，２，…）におけるラベルを特定し、ラベル系列ｘ［ｔ］（下記の式（１６）を参照）を生成する。Ｓ１２４の処理を完了すると、図９に示した一連の処理は終了する。
【００９４】
【数１６】
2017205145.tif 000018
【００９５】
（尤度の計算）
ここで、図１４を参照しながら、隠れマルコフモデルの例と、解析部１１３による尤度の計算について説明を補足する。図１４は、脈拍推定に利用する隠れマルコフモデルを規定する状態遷移図である。
【００９６】
図１４に例示した状態遷移図５１には、１０個の状態Ｓ1、Ｓ2、…、Ｓ10（つまり、Ｎc＝１０の場合）が記載され、状態遷移確率Ｐ（Ｓj｜Ｓi）（ｉ，ｊ＝１，２，…，１０）が矢印で表現されている。なお、図１４の状態遷移図５１は一例であり、遷移確率が０でない状態の組み合わせを規定する矢印の組み合わせは変形可能である。図１４の状態遷移図５１は、典型的な状態遷移として２８個の状態遷移を含んでいるが、それ以外の状態遷移（例えば、状態Ｓ4から状態Ｓ7への遷移など）を更に含んでもよい。
【００９７】
図１４の（Ａ）内の状態は、異常値を観測しやすい状態（上向きスパイクノイズが乗りやすい状態）である。図１４の（Ｂ）内の状態は、正常値を観測しやすい状態である。図１４の（Ｃ）内の状態は、異常値を観測しやすい状態（下向きスパイクノイズが乗りやすい状態）である。つまり、Ｓ1、Ｓ2はラベルｖ∈｛ｄ1，ｄ2，ｓ1，ｕ1，ｕ2｝を観測しやすい状態を表し、Ｓ3、Ｓ4、Ｓ5、Ｓ6、Ｓ7、Ｓ8、Ｓ9、Ｓ10はラベルｖ∈｛ｇ1，ｇ2，ｈ1，ｈ2｝を観測しやすい状態を表す。
【００９８】
状態Ｓi、Ｓj間の遷移確率は、下記の式（１７）で表現される行列Ａ（模型情報）により与えられる。また、状態Ｓjでラベルｖlが観測される確率は、下記の式（１８）で表現される行列Ｑ（模型情報）により与えられる。但し、ラベルｖlは、下記の式（１９）で与えられる。また、初期状態（ｔ＝１）がＳjである確率は、下記の式（２０）で表現されるベクトルｒ（模型情報）により与えられる。これらの模型情報は記憶部１１１に格納される。
【００９９】
【数１７】
2017205145.tif 000019
【０１００】
【数１８】
2017205145.tif 000020
【０１０１】
【数１９】
2017205145.tif 000021
【０１０２】
【数２０】
2017205145.tif 000022
【０１０３】
脈波データｎ［ｔ］、相関値ｑ［ｔ］、ラベル系列ｘ［ｔ］、および状態の関係は、図１５〜図１７のようになる。図１５は、脈波データ、相関値、ラベル系列、および状態の関係（体動ノイズが小さい場合）を示した図である。図１５のグラフ５２は、体動ノイズが少ない脈波データｎ［ｔ］とこれに対応する相関値ｑ［ｔ］を表している。この相関値ｑ［ｔ］から算出されるラベル系列ｘ［ｔ］は、異常値に相当するラベルを含んでおらず、正常値の範囲内での周期変動を表している。隠れマルコフモデルでは、状態遷移が未知である（隠されている）ものとして、ラベル系列ｘ［ｔ］が出力される確率が最も高い状態遷移を推定することになる。よって、このラベル系列ｘ［ｔ］から推定される状態遷移の列には、正常値を観測しやすい状態Ｓ1とＳ2の間の状態遷移が交互に現れる。
【０１０４】
図１６は、脈波データ、相関値、ラベル系列、および状態の関係（上向きスパイク型の体動ノイズがある場合）を示した図である。図１６のグラフ５３は、上向きスパイクの体動ノイズを含む脈波データｎ［ｔ］とこれに対応する相関値ｑ［ｔ］を表している。この相関値ｑ［ｔ］から算出されるラベル系列ｘ［ｔ］は、正常値の範囲内での周期変動に紛れて、上向きスパイクの異常値に相当するラベルを含んでいる。よって、このラベル系列ｘ［ｔ］から推定される状態遷移の列には、上向きスパイクの異常値を観測しやすい状態Ｓ7や状態Ｓ8への状態遷移が現れる。
【０１０５】
図１７は、脈波データ、相関値、ラベル系列、および状態の関係（下向きスパイク型の体動ノイズがある場合）を示した図である。図１７のグラフ５４は、下向きスパイクの体動ノイズを含む脈波データｎ［ｔ］とこれに対応する相関値ｑ［ｔ］を表している。この相関値ｑ［ｔ］から算出されるラベル系列ｘ［ｔ］は、正常値の範囲内での周期変動に紛れて、下向きスパイクの異常値に相当するラベルを含んでいる。よって、このラベル系列ｘ［ｔ］から推定される状態遷移の列には、下向きスパイクの異常値を観測しやすい状態Ｓ9や状態Ｓ10への状態遷移が現れる。このように、脈波の山と体動ノイズとをラベルで分類し、それぞれに状態が割り当てられることで、体動ノイズを脈波の山として誤認識されるリスクが抑制される。
【０１０６】
（模型情報の生成処理）
ここで、図１８を参照しながら、模型情報（Ａ，Ｑ，ｒ）の生成処理について説明する。図１８は、第２の実施の形態に係る脈拍推定装置の動作（模型情報の生成処理）を示したフロー図である。
【０１０７】
模型情報は、学習用サンプルとして予め用意された異常値成分を含む脈波データｎ0［ｔ］を利用し、脈波データｎ0［ｔ］から生成されるラベル系列ｘ0［ｔ］に基づき、期待値最大化法（例えば、Baum-Welchアルゴリズム）を用いて算出される。つまり、模型情報の生成処理は、下記の式（２１）で与えられる（Ａopt，Ｑopt，ｒopt）を模型情報として算出する処理に相当する。なお、Baum-Welchアルゴリズムは、隠れマルコフモデルの未知のパラメータを推定するために利用されるアルゴリズムである。
【０１０８】
【数２１】
2017205145.tif 000023
【０１０９】
なお、模型情報は、脈拍推定装置１００以外のコンピュータ（例えば、サーバ装置やクラウドシステムなど）により予め計算され、脈拍推定装置１００の記憶部１１１に格納されてもよいが、ここでは解析部１１３が模型情報を生成すると仮定して説明する。
【０１１０】
（Ｓ２０１）解析部１１３は、脈波モデルΩの模型情報（Ａ，Ｑ，ｒ）の初期値を設定する。模型情報（Ａ，Ｑ，ｒ）の初期値は、例えば、事前に決められている値でもよいし、ランダムに決められる値でもよい。また、解析部１１３は、図９に示したラベル系列ｘ［ｔ］の生成方法と同じ方法で、学習用サンプルとして用意されている脈波データｎ0［ｔ］からラベル系列ｘ0［ｔ］を生成する。
【０１１１】
（Ｓ２０２）解析部１１３は、Ｓ２０１で生成したラベル系列ｘ0［ｔ］と、模型情報（Ａ，Ｑ，ｒ）とを用いて、模型情報の候補（Ａ*，Ｑ*，ｒ*）を計算する。行列Ａ*のｉ行ｊ列の要素は、下記の式（２２）で与えられる。行列Ｑ*のｊ行ｋ列の要素は、下記の式（２３）で与えられる。ベクトルｒ*のｉ番目の要素は、下記の式（２４）で与えられる。下記の式（２２）に含まれるａijは、Ｓ２０１で設定された行列Ａのｉ行ｊ列の要素である。
【０１１２】
【数２２】
2017205145.tif 000024
【０１１３】
【数２３】
2017205145.tif 000025
【０１１４】
【数２４】
2017205145.tif 000026
【０１１５】
また、αt（ｔ＝１，２，…，ｎ）は、下記の式（２５）に示す初期値α1を設定し下記の式（２６）に示すαtを再帰的に計算するForwardアルゴリズムにより得られる。βt（ｔ＝１，２，…，ｎ）は、下記の式（２７）に示す初期値βnを設定し下記の式（２８）に示すβtを再帰的に計算するBackwardアルゴリズムにより得られる。下記の式（２３）に含まれるδ（・）はクロネッカーデルタである。
【０１１６】
【数２５】
2017205145.tif 000027
【０１１７】
【数２６】
2017205145.tif 000028
【０１１８】
【数２７】
2017205145.tif 000029
【０１１９】
【数２８】
2017205145.tif 000030
【０１２０】
（Ｓ２０３）解析部１１３は、下記の式（２９）に基づいて、Ｐ（｛ｘ0［ｔ］｝；Ａ*，Ｑ*，ｒ*）およびＰ（｛ｘ0［ｔ］｝；Ａ，Ｑ，ｒ）を計算する。そして、解析部１１３は、Ｐ（｛ｘ0［ｔ］｝；Ａ*，Ｑ*，ｒ*）とＰ（｛ｘ0［ｔ］｝；Ａ，Ｑ，ｒ）とを比較し、増分（Ｐ（｛ｘ0［ｔ］｝；Ａ*，Ｑ*，ｒ*）−Ｐ（｛ｘ0［ｔ］｝；Ａ，Ｑ，ｒ））を計算する。
【０１２１】
【数２９】
2017205145.tif 000031
【０１２２】
（Ｓ２０４）解析部１１３は、Ｓ２０３で計算した増分と、予め設定された閾値とを比較し、増分が閾値より小さいか否かを判定する。増分が閾値より小さい場合、処理はＳ２０６へと進む。一方、増分が閾値より小さくない場合、処理はＳ２０５へと進む。
【０１２３】
（Ｓ２０５）解析部１１３は、Ｓ２０２で計算した模型情報の候補（Ａ*，Ｑ*，ｒ*）を新たな模型情報（Ａ，Ｑ，ｒ）に設定する。Ｓ２０５の処理が完了すると、処理はＳ２０２へと進む。
【０１２４】
（Ｓ２０６）解析部１１３は、Ｓ２０２で計算した模型情報の候補（Ａ*，Ｑ*，ｒ*）を模型情報（Ａopt，Ｑopt，ｒopt）に設定し、記憶部１１１に格納する。Ｓ２０６の処理が完了すると、図１８に示した一連の処理は終了する。このように、図１８の処理では、学習用サンプルとして体動ノイズを含む脈波データｎ0［ｔ］を使用しているため、体動ノイズを考慮した模型情報が得られる。
【０１２５】
［２−４．変形例］
これまで、脈拍推定装置１００が脈波データから脈拍数を推定する仕組みについて説明してきたが、例えば、生体が身に付けるウェアラブルデバイスから情報処理装置に脈波データを送信し、情報処理装置で脈拍数を推定することも可能である。
【０１２６】
図１９は、第２の実施の形態に係るシステムの他の例を示した図である。他の例に係るシステムは、ウェアラブルデバイス３００と情報処理装置４００とを有する。ウェアラブルデバイス３００は、例えば、手首に巻くバンド型デバイスである。情報処理装置４００は、スマートフォン、ＰＣ、サーバコンピュータなどである。
【０１２７】
ウェアラブルデバイス３００は、図３の脈拍推定装置１００と同様のハードウェアを用いて実装できる。情報処理装置４００は、図４の情報処理装置２０１と同様のハードウェアを用いて実装できる。ウェアラブルデバイス３００と情報処理装置４００とは、互いに近くに存在していてもよい。例えば、情報処理装置４００が、ウェアラブルデバイス３００と同じ人によって所持されているスマートフォンやＰＣである場合が考えられる。その場合、両者は近距離無線通信技術を用いて通信してもよい。そのために、ＲＦ回路１０５および通信インタフェース２１７は、近距離無線通信技術を実装していてもよい。
【０１２８】
また、ウェアラブルデバイス３００と情報処理装置４００とは、離れて存在してもよい。例えば、情報処理装置４００が、クラウドシステムが有するサーバコンピュータである場合が考えられる。その場合、両者は広域無線通信技術を用いて基地局経由で通信してもよい。そのために、ＲＦ回路１０５は近距離無線通信技術を実装していてもよく、通信インタフェース２１７は有線通信技術を実装していてもよい。
【０１２９】
ウェアラブルデバイス３００は、計測部３１１および送信部３１２を有する。計測部３１１は、図７の計測部１１２に対応する。計測部３１１は、脈波センサ１０１を用いて脈波データを生成する。送信部３１２は、脈波データを情報処理装置４００に送信する。
【０１３０】
情報処理装置４００は、記憶部４１１、受信部４１２、解析部４１３および送信部４１４を有する。情報処理装置４００は、脈拍推定装置と呼ぶこともできる。記憶部４１１は、図７の記憶部１１１に対応する。記憶部４１１は、脈波モデルΩの模型情報を記憶する。受信部４１２は、ウェアラブルデバイス３００から脈波データを受信する。解析部４１３は、図７の解析部１１３に対応する。解析部４１３は、受信部４１２が受信した脈波データを解析して脈拍数を推定する。送信部４１４は、解析部４１３が推定した脈拍数を、ウェアラブルデバイス３００または他の情報処理装置（例えば、スマートフォンやＰＣなど）に送信する。ただし、情報処理装置４００は、推定した脈拍数を、情報処理装置４００が有する出力デバイス（例えば、ディスプレイやプリンタなど）に出力してもよい。また、情報処理装置４００は、推定した脈拍数を記憶部４１１に保存してもよい。
【０１３１】
以上、第２の実施の形態について説明した。
上記のように、第２の実施の形態に係る脈拍推定装置１００を適用すれば、脈波データに体動ノイズが乗った場合でも精度良く脈拍数を推定できる。また、隠れマルコフモデルに基づいて脈拍数を推定しているため、ＤＦＴを用いて脈拍数を推定する脈拍推定装置に比べてセンサ動作時間を短くすることができ、消費電力を抑制することができる。
【符号の説明】
【０１３２】
１０  脈拍推定装置
１１  センサ
１２  記憶部
１３  推定部
１４  脈波データ
１５，１６，１７  状態遷移モデル
１５ａ，１５ｂ，１５ｃ，１５ｄ  状態
１８  記号列
１９  脈拍数
【図１】
2017205145.tif 000032
【図２】
2017205145.tif 000033
【図３】
2017205145.tif 000034
【図４】
2017205145.tif 000035
【図５】
2017205145.tif 000036
【図６】
2017205145.tif 000037
【図７】
2017205145.tif 000038
【図８】
2017205145.tif 000039
【図９】
2017205145.tif 000040
【図１０】
2017205145.tif 000041
【図１１】
2017205145.tif 000042
【図１２】
2017205145.tif 000043
【図１３】
2017205145.tif 000044
【図１４】
2017205145.tif 000045
【図１５】
2017205145.tif 000046
【図１６】
2017205145.tif 000047
【図１７】
2017205145.tif 000048
【図１８】
2017205145.tif 000049
【図１９】
2017205145.tif 000050