(57)【要約】  心拍検出装置は、心電図波形のサンプリングデータ列から心拍時刻を算出するように構成された心拍時刻算出部（３）と、心拍時刻算出部（３）によって算出された心拍時刻から心拍数を心拍時刻毎に算出するように構成された心拍数算出部（４）と、心拍数算出部（４）によって算出された心拍数（Ｘ）に基づいて、心拍時刻算出の度にスキップ期間の長さを算出するように構成されたスキップ期間算出部（５）とを備える。心拍時刻算出部（３）は、サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出されたスキップ期間の長さ以下の場合に、サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しない。
2020090606.tif 000002
【特許請求の範囲】
【請求項１】
生体の心電図波形のサンプリングデータ列から心拍時刻を算出する第１のステップと、
この第１のステップで算出した心拍時刻から心拍数を心拍時刻毎に算出する第２のステップと、
この第２のステップで算出した心拍数に基づいて、前記心拍時刻算出の度にスキップ期間の長さを算出する第３のステップとを含み、
前記第１のステップは、前記サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出された前記スキップ期間の長さ以下の場合に、前記サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないステップを含むことを特徴とする心拍検出方法。
【請求項２】
請求項１記載の心拍検出方法において、
前記第３のステップは、前記心拍数をＸ、この心拍数Ｘの所定の上限値をＸmaxとしたときに、Ｘ＋ΔＸ（ΔＸは定数）がＸmax／２以下の場合に、Ｙ（Ｘ）＝２（Ｘ＋ΔＸ）となり、Ｘ＋ΔＸがＸmax／２より大きくＸmax／（１＋ｒ）以下の場合に（ｒは０以上１未満の定数）、Ｙ（Ｘ）＝（１＋ｒ）（Ｘ＋ΔＸ）となり、Ｘ＋ΔＸがＸmax／（１＋ｒ）より大きい場合に、Ｙ（Ｘ）＝Ｘmaxとなる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項３】
請求項１記載の心拍検出方法において、
前記第３のステップは，前記スキップ期間の長さを前記心拍数に対応するＲ−Ｒ間隔以下の値として算出するステップを含むことを特徴とする心拍検出方法。
【請求項４】
請求項１記載の心拍検出方法において、
前記第３のステップは，前記心拍数をＸとしたときにＹ（Ｘ）＝ｎＸ（ｎは自然数）となる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項５】
請求項１記載の心拍検出方法において、
前記第３のステップは，前記心拍数をＸとしたときにＹ（Ｘ）＝ｎ（Ｘ＋ΔＸ）（ｎは自然数、ΔＸは定数）となる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項６】
請求項１記載の心拍検出方法において、
前記第３のステップは、前記心拍数をＸ、この心拍数Ｘの所定の上限値をＸmaxとしたときに、ＸがＸmax／２以下の場合に、Ｙ（Ｘ）＝２Ｘとなり、ＸがＸmax／２より大きくＸmax／（１＋ｒ）以下の場合に（ｒは０以上１未満の定数）、Ｙ（Ｘ）＝（１＋ｒ）Ｘとなり、ＸがＸmax／（１＋ｒ）より大きい場合に、Ｙ（Ｘ）＝Ｘmaxとなる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項７】
請求項１記載の心拍検出方法において、
前記第３のステップは、前記心拍数をＸ、この心拍数Ｘの所定の上限値をＸmaxとしたときに、ＸがＸmax／（ｎ＋１）以下の場合に（ｎは２以上の整数）、Ｙ（Ｘ）＝（ｎ＋１）Ｘとなり、ＸがＸmax／（ｎ＋１）より大きくＸmax／（ｎ＋ｒ）以下の場合に（ｒは０以上１未満の定数）、Ｙ（Ｘ）＝（ｎ＋ｒ）Ｘとなり、ＸがＸmax／（ｍ＋１＋ｒ）より大きくＸmax／（ｍ＋ｒ）以下の場合に（ｍは（ｎ−１）から１までの各整数）、Ｙ（Ｘ）＝（ｍ＋ｒ）Ｘとなり、ＸがＸmax／（１＋ｒ）より大きい場合に、Ｙ（Ｘ）＝Ｘmaxとなる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項８】
請求項１記載の心拍検出方法において、
前記第３のステップは、前記心拍数をＸ、この心拍数Ｘの所定の上限値をＸmaxとしたときに、Ｘ＋ΔＸ（ΔＸは定数）がＸmax／（ｎ＋１）以下の場合に（ｎは２以上の整数）、Ｙ（Ｘ）＝（ｎ＋１）（Ｘ＋ΔＸ）となり、Ｘ＋ΔＸがＸmax／（ｎ＋１）より大きくＸmax／（ｎ＋ｒ）以下の場合に（ｒは０以上１未満の定数）、Ｙ（Ｘ）＝（ｎ＋ｒ）（Ｘ＋ΔＸ）となり、Ｘ＋ΔＸがＸmax／（ｍ＋１＋ｒ）より大きくＸmax／（ｍ＋ｒ）以下の場合に（ｍは（ｎ−１）から１までの各整数）、Ｙ（Ｘ）＝（ｍ＋ｒ）（Ｘ＋ΔＸ）となり、Ｘ＋ΔＸがＸmax／（１＋ｒ）より大きい場合に、Ｙ（Ｘ）＝Ｘmaxとなる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項９】
請求項１記載の心拍検出方法において、
前記第３のステップは、前記心拍数をＸ、この心拍数Ｘの所定の上限値をＸmaxとしたときに、Ｘ＋ΔＸ（ΔＸは定数）がＸmax以下の場合に、Ｙ（Ｘ）＝Ｘ＋ΔＸとなり、Ｘ＋ΔＸがＸmaxより大きい場合に、Ｙ（Ｘ）＝Ｘmaxとなる変数Ｙ（Ｘ）を算出し、この変数Ｙ（Ｘ）の逆数に基づいて前記スキップ期間の長さを算出するステップを含むことを特徴とする心拍検出方法。
【請求項１０】
生体の心電図波形のサンプリングデータ列から心拍時刻を算出するように構成された心拍時刻算出部と、
この心拍時刻算出部によって算出された心拍時刻から心拍数を心拍時刻毎に算出するように構成された心拍数算出部と、
この心拍数算出部によって算出された心拍数に基づいて、前記心拍時刻算出の度にスキップ期間の長さを算出するように構成されたスキップ期間算出部とを備え、
前記心拍時刻算出部は、前記サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出された前記スキップ期間の長さ以下の場合に、前記サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないことを特徴とする心拍検出装置。
【請求項１１】
生体の心電図波形のサンプリングデータ列から心拍時刻を算出する第１のステップと、
この第１のステップで算出した心拍時刻から心拍数を心拍時刻毎に算出する第２のステップと、
この第２のステップで算出した心拍数に基づいて、前記心拍時刻算出の度にスキップ期間の長さを算出する第３のステップとを、コンピュータに実行させ、
前記第１のステップは、前記サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出された前記スキップ期間の長さ以下の場合に、前記サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないステップを含むことを特徴とする心拍検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、心電図波形から心拍（Ｒ波）を検出するための心拍検出方法、心拍検出装置およびプログラムに関するものである。
【背景技術】
【０００２】
ＥＣＧ（Electrocardiograph，心電図）波形は、連続した心臓の電気的活動を記録したものである。一般的なＥＣＧ波形は、図９に示すように、左右の心房や心室の電気的活動状況を示すＰ波，Ｑ波，Ｒ波，Ｓ波，Ｔ波と呼ばれる成分で主に構成される。ＥＣＧ波形から得られる心拍数などの生体情報は、スポーツにおける運動強度や、日常生活における自律神経の活動状況を示す代表的な指標値として活用されている。【０００３】
ＥＣＧ波形から心拍を検出する方法としては、ＥＣＧ波形の時系列データから、比較的振幅が大きなＲ波のピークを検出する方法が簡便である。つまり、ＥＣＧ波形の時系列データに対し、Ｒ波の振幅に応じて閾値を設定し、データ値がこの閾値を上回ったことをもってＲ波を検出し、その周期から瞬時心拍数を算出する（特許文献１）。【０００４】
また、体動などに起因したＥＣＧ波形の基線の搖動を低減するために、波形の時系列データを使用する代わりに、波形の時間差分を指標値として用いる方法（特許文献２）や、Ｑ波，Ｒ波，Ｓ波のピーク幅の個人差が小さいことに着目し、時間差分からピーク前後のクリアランスを考慮した値を新たな指標として使用する方法（特許文献３）が提案されており、より高い精度でのＲ波の検出が可能である。【０００５】
平常時や運動時などの生体情報のモニタリングで注目を集めている、ウェアラブルデバイスによるＥＣＧ波形の計測においては、電極の浮きや体動、そして筋電に起因する電気的なノイズがＥＣＧ波形に加わることがある。
これに対し、特許文献４に開示された心拍検出方法では、ＥＣＧ波形に大きなノイズが重畳した場合において、前述したＲ波検出のための指標値に対し、上限を設け、上限を超えるような指標値の場合には閾値更新を行わないことで、閾値の急激な変動を抑制し、適切にＲ波を検出する方法が提案されている。【０００６】
しかしながら、特許文献４に開示された方法では、Ｒ波間に同等の振幅を持ったノイズが発生した場合、このノイズをＲ波と誤検知し、心拍数が実際よりも高い値として誤検出されてしまうという課題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−１５６９３６号公報
【特許文献２】特開２０１７−２９６２８号公報
【特許文献３】特開２０１７−４２３８８号公報
【特許文献４】再表２０１７−１５０１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記のような課題を解決するために考案されたものであり、体動や筋電に代表される心拍以外の生体情報が頻繁に混入するＥＣＧ波形からでも高い精度で心拍を検出することができる心拍検出方法、心拍検出装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の心拍検出方法は、生体の心電図波形のサンプリングデータ列から心拍時刻を算出する第１のステップと、この第１のステップで算出した心拍時刻から心拍数を心拍時刻毎に算出する第２のステップと、この第２のステップで算出した心拍数に基づいて、前記心拍時刻算出の度にスキップ期間の長さを算出する第３のステップとを含み、前記第１のステップは、前記サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出された前記スキップ期間の長さ以下の場合に、前記サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないステップを含むことを特徴とするものである。【００１０】
また、本発明の心拍検出装置は、生体の心電図波形のサンプリングデータ列から心拍時刻を算出するように構成された心拍時刻算出部と、この心拍時刻算出部によって算出された心拍時刻から心拍数を心拍時刻毎に算出するように構成された心拍数算出部と、この心拍数算出部によって算出された心拍数に基づいて、前記心拍時刻算出の度にスキップ期間の長さを算出するように構成されたスキップ期間算出部とを備え、前記心拍時刻算出部は、前記サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出された前記スキップ期間の長さ以下の場合に、前記サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないことを特徴とするものである。【００１１】
また、本発明の心拍検出プログラムは、生体の心電図波形のサンプリングデータ列から心拍時刻を算出する第１のステップと、この第１のステップで算出した心拍時刻から心拍数を心拍時刻毎に算出する第２のステップと、この第２のステップで算出した心拍数に基づいて、前記心拍時刻算出の度にスキップ期間の長さを算出する第３のステップとを、コンピュータに実行させ、前記第１のステップは、前記サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出された前記スキップ期間の長さ以下の場合に、前記サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないステップを含むことを特徴とするものである。
【発明の効果】
【００１２】
本発明によれば、算出した心拍時刻から心拍数を心拍時刻毎に算出し、この心拍数に基づいてスキップ期間の長さを算出し、サンプリングデータ列から算出した最新の時刻と直前の心拍時刻との時間差が、直前の心拍時刻から算出したスキップ期間の長さ以下の場合に、サンプリングデータ列から算出した最新の時刻を心拍時刻として採用しないようにすることにより、心拍以外の情報が頻繁に混入する心電図波形からでも高い精度で心拍を検出することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施例に係る心拍検出装置の構成を示すブロック図である。
【図２】図２は、本発明の実施例に係る心拍検出方法を説明するフローチャートである。
【図３】図３は、本発明の実施例に係る心拍検出装置の心拍時刻算出部の構成例を示すブロック図である。
【図４】図４は、本発明の実施例に係る心拍検出装置の心拍時刻算出部の別の構成例を示すブロック図である。
【図５】図５は、本発明の実施例に係る心拍検出装置の心拍時刻算出部の別の構成例を示すブロック図である。
【図６】図６は、従来の心拍検出方法により算出した指標値の時系列データを示す図である。
【図７】図７は、従来の心拍検出方法および本発明の実施例に係る心拍検出方法により算出した瞬時心拍数を示す図である。
【図８】図８は、本発明の実施例に係る心拍検出装置を実現するコンピュータの構成例を示すブロック図である。
【図９】図９は、代表的な心電図波形を示す図である。
【発明を実施するための形態】
【００１４】
［発明の原理］
本発明の心拍検出方法では、生体のＥＣＧ波形の時系列データから心拍時刻を算出するが、ＥＣＧ波形の時系列データから検出した心拍数（Ｒ−Ｒ間隔）を基に、時系列データから算出した最新の時刻を心拍時刻として採用しない期間（スキップ期間）を設けることで、その間のノイズの誤検出を防止する。
【００１５】
具体的には、従来の手法では、心拍検出後、検出心拍数の上限に相当するＲ−Ｒ間隔に相当する期間はＲ波を検出しないのに対し、本発明では、式（１）に示すように、最新のＲ−Ｒ間隔から得られる瞬時心拍数Ｘ［ｂｐｍ］に応じて、可変的にスキップ期間の長さｔskipを設定する。
【００１６】
【数１】
2020090606.tif 000003
【００１７】
ここで、Ｙ（Ｘ）［ｂｐｍ］は瞬時心拍数Ｘの値に応じた変数である。心拍数の上限値を超える異常値の検出防止を考慮すると、変数Ｙ（Ｘ）は瞬時心拍数Ｘの上限以下（Ｒ波と１つ前のＲ波の時間間隔であるＲ−Ｒ間隔以下）の値をとればよい。Ｒ波の（ｎ−１）回の取りこぼし（ｎは自然数）を考慮すると、変数Ｙ（Ｘ）を式（２）のように算出すればよい。
Ｙ（Ｘ）＝ｎＸ                              ・・・（２）
【００１８】
また、Ｒ波の出現間隔のばらつきに起因する瞬時心拍数Ｘの変動分ΔＸを考慮して、変数Ｙ（Ｘ）を式（３）のように算出してもよい。
Ｙ（Ｘ）＝ｎ（Ｘ＋ΔＸ）                    ・・・（３）
【００１９】
式（３）において、ｎは自然数、ΔＸは定数である。ΔＸは、例えば、瞬時心拍数Ｘの時系列データから予め実験的に求めることができる。
また、心拍数Ｘの生じ得る上限値Ｘmaxを考慮して、変数Ｙ（Ｘ）を式（４）のように算出してもよい。
【００２０】
【数２】
2020090606.tif 000004
【００２１】
ｒは０≦ｒ＜１をとる定数である。式（４）は、ＸがＸmax／２以下の場合は、Ｙ（Ｘ）＝２Ｘとし、ＸがＸmax／２より大きくＸmax／（１＋ｒ）以下の場合は、Ｙ（Ｘ）＝（１＋ｒ）Ｘとし、ＸがＸmax／（１＋ｒ）より大きい場合は、Ｙ（Ｘ）＝Ｘmaxとすることを意味している。また、式（４）の代わりに、式（５）を用いてもよい。
【００２２】
【数３】
2020090606.tif 000005
【００２３】
式（５）においてｎは２以上の整数である。ｍは（ｎ−１）から１までの各整数であり、例えばｎ＝４の場合にはｍ＝３，２，１となる。式（５）は、ＸがＸmax／（ｎ＋１）以下の場合は、Ｙ（Ｘ）＝（ｎ＋１）Ｘとし、ＸがＸmax／（ｎ＋１）より大きくＸmax／（ｎ＋ｒ）以下の場合は、Ｙ（Ｘ）＝（ｎ＋ｒ）Ｘとし、ＸがＸmax／（ｍ＋１＋ｒ）より大きくＸmax／（ｍ＋ｒ）以下の場合は、Ｙ（Ｘ）＝（ｍ＋ｒ）Ｘとし、ＸがＸmax／（１＋ｒ）より大きい場合は、Ｙ（Ｘ）＝Ｘmaxとすることを意味している。この式（５）はＲ波のｎ個の取りこぼしを考慮した場合の式であり、式（４）は式（５）においてｎ＝１とした場合に相当する。また、Ｒ波の取りこぼしと心拍数Ｘの変動分ΔＸと心拍数Ｘの上限値Ｘmaxとを考慮して、変数Ｙ（Ｘ）を式（６）のように算出してもよい。
【００２４】
【数４】
2020090606.tif 000006
【００２５】
式（６）は、Ｘ＋ΔＸがＸmax／２以下の場合は、Ｙ（Ｘ）＝２（Ｘ＋ΔＸ）とし、Ｘ＋ΔＸがＸmax／２より大きくＸmax／（１＋ｒ）以下の場合は、Ｙ（Ｘ）＝（１＋ｒ）（Ｘ＋ΔＸ）とし、Ｘ＋ΔＸがＸmax／（１＋ｒ）より大きい場合は、Ｙ（Ｘ）＝Ｘmaxとすることを意味している。なお、式（６）の代わりに、式（７）を用いてもよい。
【００２６】
【数５】
2020090606.tif 000007
【００２７】
式（７）においてｎは２以上の整数である。式（７）は、Ｘ＋ΔＸがＸmax／（ｎ＋１）以下の場合は、Ｙ（Ｘ）＝（ｎ＋１）（Ｘ＋ΔＸ）とし、Ｘ＋ΔＸがＸmax／（ｎ＋１）より大きくＸmax／（ｎ＋ｒ）以下の場合は、Ｙ（Ｘ）＝（ｎ＋ｒ）（Ｘ＋ΔＸ）とし、Ｘ＋ΔＸがＸmax／（ｍ＋１＋ｒ）より大きくＸmax／（ｍ＋ｒ）以下の場合は、Ｙ（Ｘ）＝（ｍ＋ｒ）（Ｘ＋ΔＸ）とし、Ｘ＋ΔＸがＸmax／（１＋ｒ）より大きい場合は、Ｙ（Ｘ）＝Ｘmaxとすることを意味している。この式（７）はＲ波のｎ個の取りこぼしを考慮した場合の式であり、式（６）は式（７）においてｎ＝１とした場合に相当する。
なお、Ｒ波の取りこぼしを考慮せず、心拍数Ｘの変動分ΔＸと心拍数Ｘの上限値Ｘmaxとを考慮した場合には、以下のような式となる。
【００２８】
【数６】
2020090606.tif 000008
【００２９】
式（８）は、Ｘ＋ΔＸがＸmax以下の場合は、Ｙ（Ｘ）＝Ｘ＋ΔＸとし、Ｘ＋ΔＸがＸmaxより大きい場合は、Ｙ（Ｘ）＝Ｘmaxとすることを意味している。
式（２）〜式（８）のＸは必ずしも瞬時心拍数である必要はなく、例えば、特開２０１８−０１１８１９号公報に開示されているように、瞬時心拍数の時系列データを基に算出した平均心拍数をＸとしてもよい。
【００３０】
特開２０１８−０１１８１９号公報によると、平均化処理前のｉ番目の瞬時心拍数をＨＲ（ｉ）とし、ｉ−１番目までの瞬時心拍数を平均化した値をＸ（ｉ−１）、所定の平均化係数をｑとすれば、ｉ番目までの瞬時心拍数を平均化した平均心拍数Ｘ（ｉ）は、式（９）によって求めることができる。
Ｘ（ｉ）＝ｑ×ＨＲ（ｉ）＋（１−ｑ）×Ｘ（ｉ−１）    ・・・（９）
【００３１】
以上のように、本発明では、心拍検出の際に、検出を行わない（心拍時刻として採用しない）スキップ期間ｔskipを心拍検出の度に可変的に設定することで、スキップ期間ｔskipで発生する異常ノイズを心拍として誤検出するのを防ぐことができる。
なお、本発明において心拍時刻とは、生体の心臓の拍動が発生したと思われる時刻のことを言う。
【００３２】
［実施例］
以下、本発明の実施例について図面を参照して説明する。図１は本発明の実施例に係る心拍検出装置の構成を示すブロック図、図２は本実施例に係る心拍検出方法を説明するフローチャートである。心拍検出装置は、ＥＣＧ波形のサンプリングデータ列を出力する心電計１と、ＥＣＧ波形のサンプリングデータ列とサンプリング時刻の情報とを記憶する記憶部２と、ＥＣＧ波形のサンプリングデータ列から心拍時刻を算出する心拍時刻算出部３と、心拍時刻算出部３によって算出された心拍時刻から心拍数Ｘを心拍時刻毎に算出する心拍数算出部４と、心拍数算出部４によって算出された心拍数Ｘに基づいて、心拍時刻算出の度にスキップ期間ｔskipの長さを算出するスキップ期間算出部５とを備えている。
【００３３】
以下、本実施例の心拍検出方法を説明する。ここでは、１つの心拍を検出し、その心拍時刻を得るまでの手順を説明する。このような心拍時刻の算出をＥＣＧ波形データの期間にわたって繰り返すことによって、心拍時刻の時系列データが得られる。
【００３４】
本実施例では、ＥＣＧ波形をサンプリングしたデータ列をＤ（ｉ）とする。ｉ（ｉ＝１，２，…）は１サンプリングのデータに付与される番号である。番号ｉが大きくなる程、サンプリング時刻が後になることは言うまでもない。
【００３５】
心電計１は、図示しない生体（人体）のＥＣＧ波形を測定し、ＥＣＧ波形のサンプリングデータ列Ｄ（ｉ）を出力する。このとき、心電計１は、各サンプリングデータにサンプリング時刻の情報を付加して出力する。なお、ＥＣＧ波形の具体的な測定方法は周知の技術であるので、詳細な説明は省略する。
記憶部２は、心電計１から出力されたＥＣＧ波形のサンプリングデータ列Ｄ（ｉ）とサンプリング時刻の情報とを記憶する。
【００３６】
次に、心拍時刻算出部３は、記憶部２に記憶されたＥＣＧ波形のサンプリングデータ列Ｄ（ｉ）から心拍時刻を算出する（図２ステップＳ１）。
【００３７】
図３は心拍時刻算出部３の構成例を示すブロック図である。心拍時刻算出部３は、ＥＣＧ波形のサンプリングデータＤ（ｉ）とＲ波を識別するための第１の閾値ＴＨとを比較してＲ波の代表点となるサンプリングデータを検出するＲ波検出部３０と、ＥＣＧ波形のサンプリングデータＤ（ｉ）とＳ波を識別するための第２の閾値ＴＬ（ＴＨ＞ＴＬ）とを比較してＳ波の代表点となるサンプリングデータを検出するＳ波検出部３１と、Ｒ波の代表点とこの点の直後に存在するＳ波の代表点との間で、第３の閾値ＴＭ（ＴＨ＞ＴＭ＞ＴＬ）を跨ぐ２点のサンプリングデータを検出し、この２点のサンプリングデータを結ぶ直線が第３の閾値ＴＭと交わる時刻を心拍時刻として算出する時刻算出部３２とから構成される。
【００３８】
Ｓ波やＲ波の電位はＥＣＧの誘導法によって異なるので、Ｓ波を識別するための閾値ＴＬは、心電計１が採用する誘導法の典型的なＳ波の電位の６０〜７０％程度の値とするのが適当であり、Ｒ波を識別するための閾値ＴＨは、心電計１が採用する誘導法の典型的なＲ波の電位の６０〜７０％程度の値とするのが適当である。また、閾値ＴＭは、閾値ＴＬとＴＨの中間付近の値とするとよい。
図３のような心拍時刻算出部３の構成は特許文献１に開示されているので、詳細な説明は省略する。
【００３９】
図４は心拍時刻算出部３の別の構成例を示すブロック図である。図４に示す心拍時刻算出部３は、ＥＣＧ波形のサンプリングデータＤ（ｉ）の時間差分値をサンプリング時刻毎に算出する時間差分値算出部３３と、時間差分値が閾値ＴＨ２を下回るかどうかを判定する時間差分値判定部３４と、直前の心拍時刻から、時間差分値を求めた最新のサンプリング時刻までの第一の経過時間が第一の時間間隔の範囲内にあるかどうか、時間差分値が閾値ＴＨ２を下回った時刻から、時間差分値を求めた最新のサンプリング時刻までの第二の経過時間が第二の時間間隔の範囲内にあるかどうか、および第二の経過時間が第二の時間間隔の範囲を過ぎたと判定した時刻から、時間差分値を求めた最新のサンプリング時刻までの第三の経過時間が第三の時間間隔の範囲内にあるかどうかを判定する時間判定部３５と、第一の経過時間が第一の時間間隔の範囲内にあるときの時間差分値の最小値Ｍｉｎ１と、第二の経過時間が第二の時間間隔の範囲内にあるときの時間差分値の最小値Ｍｉｎ２と、第三の経過時間が第三の時間間隔の範囲内にあるときの時間差分値の最小値Ｍｉｎ３とを保持する最小値保持部３６と、最小値Ｍｉｎ１，Ｍｉｎ２，Ｍｉｎ３の関係が予め定められた心拍時刻確定条件を満たすとき、時間差分値が閾値ＴＨ２を下回った時刻または最小値Ｍｉｎ２が得られた時刻を心拍時刻とする時刻決定部３７とから構成される。
【００４０】
時間差分値算出部３３は、サンプリングデータＤ（ｉ）の１サンプリング後のデータＤ（ｉ＋１）と１サンプリング前のデータＤ（ｉ−１）とを記憶部２から取得し、サンプリングデータＤ（ｉ）の時間差分値ＤＹ（ｉ）を次式のように算出する。
ＤＹ（ｉ）＝Ｄ（ｉ＋１）−Ｄ（ｉ−１）              ・・・（１０）
【００４１】
時間差分値判定部３４は、時間差分値ＤＹ（ｉ）が閾値ＴＨ２を下回るかどうかを判定する。Ｒ波からＳ波への急峻な変化による時間差分値ＤＹ（ｉ）のピークを検出しようとしているので、このピークは負の値として現れる。したがって、閾値ＴＨ２は負の値である。第一の時間間隔は、想定される次の心拍時刻の手前の時間領域を定めたものであり、第二の時間間隔は、時間差分値ＤＹ（ｉ）のピークを含むと想定される時間領域を定めるものであり、第三の時間間隔は、時間差分値ＤＹ（ｉ）のピークを含むと想定される時間領域の後の一定の時間領域を定めたものである。
【００４２】
時間判定部３５は、例えば直前の心拍時刻から得られるＲ−Ｒ間隔よりも１５０ｍｓ短い時間から、この時間に１００ｍｓ加えた時間までの間を第一の時間間隔の範囲とする。ここでのＲ−Ｒ間隔とは、直前の心拍時刻から更に１つ前の心拍時刻を引いた時間である。あるいは、時間判定部３５は、直前の心拍時刻から時間差分値ＤＹ（ｉ）が次に閾値ＴＨ２を超える直前までの時間領域を第一の時間間隔の範囲とする。第二の時間間隔は、時間差分値のピークをカバーするのに十分な時間幅であることが好ましく、例えば５０ｍｓに予め設定される。第三の時間間隔は、例えば１００ｍｓに予め設定される。
【００４３】
また、最小値Ｍｉｎ２の最小値Ｍｉｎ１に対する比率Ｍｉｎ２／Ｍｉｎ１と、最小値Ｍｉｎ２の最小値Ｍｉｎ３に対する比率Ｍｉｎ２／Ｍｉｎ３とが一定値を上回ることを、心拍時刻確定条件とする。
図４のような心拍時刻算出部３の構成は特許文献２に開示されているので、詳細な説明は省略する。
【００４４】
図５は心拍時刻算出部３の別の構成例を示すブロック図である。図５に示す心拍時刻算出部３は、ＥＣＧ波形のサンプリングデータＤ（ｉ）の時間差分値ＤＹ（ｉ）をサンプリング時刻毎に算出する時間差分値算出部４０と、サンプリング点ｉ毎に、そのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値を取得する最小値取得部４１と、サンプリング点ｉ毎に、そのサンプリング点ｉの時間差分値ＤＹ（ｉ）からそのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値を引いた値を指標値として求める指標値算出部４２と、サンプリング点ｉ毎の指標値の中から、予め定められている閾値を下回り、かつ指標値の変化の傾向が減少から増加に転じる点の指標値を下向きのピークとして特定し、この特定した下向きのピークの時刻を心拍時刻とする時刻決定部４３とから構成される。
【００４５】
サンプリング点ｉの前後の所定の時間領域とは、例えばサンプリング点ｉの時刻に対して、−１１２．５ｍｓ〜−１２．５ｍｓの領域と、＋１２．５ｍｓ〜＋１１２．５ｍｓの領域である。
図５のような心拍時刻算出部３の構成は特許文献３、特許文献４に開示されているので、詳細な説明は省略する。
【００４６】
続いて、心拍時刻算出部３は、ステップＳ１で算出した時刻が適切なものであるかを判断し、心拍時刻を確定する。具体的には、心拍時刻算出部３は、ステップＳ１で算出した最新の時刻と直前に算出・確定した心拍時刻との時間差ΔＴが、スキップ期間算出部５によって直前に算出されたスキップ期間の長さｔskipよりも長いかどうかを判定し（図２ステップＳ２）、時間差ΔＴがスキップ期間の長さｔskip以下の場合には（ステップＳ２においてＮＯ）、ステップＳ１で算出した時刻を、心拍時刻として採用することなく廃棄する。この場合には、次のサンプリング時刻のサンプリングデータＤ（ｉ）に処理対象を移して、ステップＳ１以降の処理が再び行われる。
【００４７】
また、心拍時刻算出部３は、時間差ΔＴがスキップ期間の長さｔskipよりも長い場合には（ステップＳ２においてＹＥＳ）、ステップＳ１で算出した時刻を心拍時刻として確定する（図２ステップＳ３）。
【００４８】
次に、心拍数算出部４は、心拍時刻算出部３によって算出・確定された最新の心拍時刻から心拍数Ｘ［ｂｐｍ］を算出する（図２ステップＳ４）。心拍数算出部４は、心拍時刻算出部３によって算出・確定された最新の心拍時刻から１つ前の心拍時刻を引いた時間であるＲ−Ｒ間隔をＲＲＩ［ｍｓ］としたとき、式（１１）により瞬時心拍数Ｘを算出する。
Ｘ＝６００００／ＲＲＩ                              ・・・（１１）
【００４９】
また、心拍数算出部４は、瞬時心拍数の代わりに、式（９）により平均心拍数Ｘを算出するようにしてもよい。
続いて、スキップ期間算出部５は、心拍数算出部４によって算出された心拍数Ｘ（瞬時心拍数または平均心拍数）に基づいて、式（１）と、式（２）〜式（８）のいずれかにより、スキップ期間の長さｔskipを算出する（図２ステップＳ５）。なお、ここで算出されたスキップ期間の長さｔskipは、次にステップＳ２の処理が行われる際に使用されるものである。
こうして、ステップＳ１〜Ｓ５の処理を繰り返すことで、心拍時刻の時系列データが得られる。
【００５０】
図６に、ＥＣＧ波形の時系列データから、特許文献３に開示された方法で算出した指標値（図５の指標値算出部４２で算出する指標値）の時系列データを示す。ただし、ここではサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値から、サンプリング点ｉの時間差分値ＤＹ（ｉ）を引いた値を指標値としている。図６のＲはＲ波を示し、ＮはＲ波以外のノイズを示している。図６の例では、３番目のＲ波と５番目のＲ波との間に２つの大きなノイズ（Ｎ）が指標値に現れており、これら２つのノイズが閾値ＴＨ３を越えているため、これら２つのノイズの時刻が心拍時刻として誤って算出されてしまうことが分かる。
【００５１】
次に、図６と同じＥＣＧ波形の時系列データを基に、特許文献４に開示された従来の心拍検出方法および本実施例により算出した瞬時心拍数を図７に示す。図７のＸ０は従来の心拍検出方法により算出した瞬時心拍数、Ｘ１は本実施例により算出した瞬時心拍数である。本実施例では、ｎを１とし（式（２））、ΔＸを１５ｂｐｍ、ｒを１／３、Ｘmaxを特許文献３を参考に２５０ｂｐｍとしている。従来の心拍検出方法では、ノイズの時刻も心拍時刻として検出しているため、瞬時心拍数が不規則に変化しているのに対し、本実施例では、瞬時心拍数が安定しており、ノイズによる瞬時心拍数の誤算出が防止できていることが分かる。
【００５２】
以上のように、本実施例では、心拍（Ｒ波）以外の情報が頻繁に混入するＥＣＧ波形からでも高い精度で心拍を検出できることが実証された。
なお、本実施例では、心拍時刻の算出方法として特許文献１〜特許文献４に開示された方法を用いたが、本発明は心拍時刻の算出方法の如何を問わず適用が可能である。
【００５３】
本実施例で説明した心拍検出装置の記憶部２と心拍時刻算出部３と心拍数算出部４とスキップ期間算出部５とは、ＣＰＵ（Central Processing Unit）、記憶装置及びインターフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このコンピュータの構成例を図８に示す。コンピュータは、ＣＰＵ１００と、記憶装置１０１と、インターフェース装置（以下、Ｉ／Ｆと略する）１０２とを備えている。Ｉ／Ｆ１０２には、心電計１などが接続される。このようなコンピュータにおいて、本発明の心拍検出方法を実現させるための心拍検出プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供され、記憶装置１０１に格納される。ＣＰＵ１００は、記憶装置１０１に記憶されたプログラムに従って本実施例で説明した処理を実行する。
【産業上の利用可能性】
【００５４】
本発明は、生体の心拍を検出する技術に適用することができる。
【符号の説明】
【００５５】
１…心電計、２…記憶部、３…心拍時刻算出部、４…心拍数算出部、５…スキップ期間算出部、３０…Ｒ波検出部、３１…Ｓ波検出部、３２…時刻算出部、３３，４０…時間差分値算出部、３４…時間差分値判定部、３５…時間判定部、３６…最小値保持部、３７，４３…時刻決定部、４１…最小値取得部、４２…指標値算出部。
【図１】
2020090606.tif 000009
【図２】
2020090606.tif 000010
【図３】
2020090606.tif 000011
【図４】
2020090606.tif 000012
【図５】
2020090606.tif 000013
【図６】
2020090606.tif 000014
【図７】
2020090606.tif 000015
【図８】
2020090606.tif 000016
【図９】
2020090606.tif 000017
【国際調査報告】
2020090606.tif 000018
2020090606.tif 000019
2020090606.tif 000020
2020090606.tif 000021