(57)【特許請求の範囲】
【請求項１】
記憶媒体に蓄積されたサンプリング点をｉ（ｉは１以上の整数）とする生体の心電図波形のサンプリングデータ列から、前記サンプリング点ｉ毎に、ｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を時間差分値ｙ（ｉ）として求める時間差分値算出ステップと、
前記サンプリング点ｉ毎に、そのサンプリング点ｉの前後の所定の時間領域における前記時間差分値の最小値ｚ（ｉ）を取得する最小値取得ステップと、
前記サンプリング点ｉ毎に、そのサンプリング点ｉの前記時間差分値ｙ（ｉ）からそのサンプリング点ｉの前後の前記所定の時間領域における前記時間差分値の最小値ｚ（ｉ）を差し引いた値を指標値ｗ（ｉ）として求める指標値算出ステップと、
前記サンプリング点ｉ毎の指標値ｗ（ｉ）の中から、予め定められている閾値を下回り、かつ前記指標値の変化の傾向が減少から増加に転じる点の指標値を下向きのピークとして特定し、この特定した下向きのピークの時刻を心拍時刻とする心拍時刻決定ステップと
を備えることを特徴とする心拍検出方法。
【請求項２】
請求項１に記載された心拍検出方法において、
前記心拍時刻決定ステップは、
前記指標値の変化の傾向が減少から増加に転じる場合、減少から増加に転じる点の指標値を前記下向きのピークとして特定し、
前記指標値の変化の傾向が減少から横ばいを経て増加に転じる場合、横ばいから増加に転じる点の指標値あるいは減少から横ばいに転じる点の指標値を前記下向きのピークとして特定する
ことを特徴とする心拍検出方法。
【請求項３】
請求項１又は２に記載された心拍検出方法において、
前記心拍時刻決定ステップは、
前記サンプリング点ｉ毎の指標値ｗ（ｉ）のうち、その値が正のものはその値を「０」に置き換えて、前記下向きのピークを特定する
ことを特徴とする心拍検出方法。
【請求項４】
請求項１〜３の何れか１項に記載された心拍検出方法において、
前記時間差分値算出ステップは、
前記時間差分値ｙ（ｉ）を、前記サンプリング点ｉ毎のｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を移動平均処理した値として求める
ことを特徴とする心拍検出方法。
【請求項５】
記憶媒体に蓄積されたサンプリング点をｉ（ｉは１以上の整数）とする生体の心電図波形のサンプリングデータ列から、前記サンプリング点ｉ毎に、ｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を時間差分値ｙ（ｉ）として求める時間差分値算出手段と、
前記サンプリング点ｉ毎に、そのサンプリング点ｉの前後の所定の時間領域における前記時間差分値の最小値ｚ（ｉ）を取得する最小値取得手段と、
前記サンプリング点ｉ毎に、そのサンプリング点ｉの前記時間差分値ｙ（ｉ）からそのサンプリング点ｉの前後の前記所定の時間領域における前記時間差分値の最小値ｚ（ｉ）を差し引いた値を指標値ｗ（ｉ）として求める指標値算出手段と、
前記サンプリング点ｉ毎の指標値ｗ（ｉ）の中から、予め定められている閾値を下回り、かつ前記指標値の変化の傾向が減少から増加に転じる点の指標値を下向きのピークとして特定し、この特定した下向きのピークの時刻を心拍時刻とする心拍時刻決定手段と
を備えることを特徴とする心拍検出装置。
【請求項６】
請求項５に記載された心拍検出装置において、
前記心拍時刻決定手段は、
前記指標値の変化の傾向が減少から増加に転じる場合、減少から増加に転じる点の指標値を前記下向きのピークとして特定し、
前記指標値の変化の傾向が減少から横ばいを経て増加に転じる場合、横ばいから増加に転じる点の指標値あるいは減少から横ばいに転じる点の指標値を前記下向きのピークとして特定する
ことを特徴とする心拍検出装置。
【請求項７】
請求項５又は６に記載された心拍検出装置において、
前記心拍時刻決定手段は、
前記サンプリング点ｉ毎の指標値ｗ（ｉ）のうち、その値が正のものはその値を「０」に置き換えて、前記下向きのピークを特定する
ことを特徴とする心拍検出装置。
【請求項８】
請求項５〜７の何れか１項に記載された心拍検出装置において、
前記時間差分値算出手段は、
前記時間差分値ｙ（ｉ）を、前記サンプリング点ｉ毎のｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を移動平均処理した値として求める
ことを特徴とする心拍検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、心電図波形から心拍間隔（Ｒ−Ｒ間隔）などの生体情報を抽出するための心拍検出方法および心拍検出装置に関し、特に、記憶媒体に蓄積された心電図波形のサンプリングデータ列を一括処理して心拍を検出するための心拍検出方法および心拍検出装置に関するものである。
【背景技術】
【０００２】
心拍数あるいはその変動はＥＣＧ（Electrocardiogram、心電図）波形から得られる生体情報であり、スポーツ関連の分野においては運動強度の指標となるとともに、日常生活や安静状態においては自律神経機能の評価などに活用される。
【０００３】
ＥＣＧ波形は、心臓の電気的な活動を観測したものであり、電極を体表面に取り付けて計測する。ＥＣＧ波形の誘導法、すなわち電極の配置には様々な種類があるが、例えば左右の胸部など、心臓を挟むように配置すると振幅の大きい安定した波形が得られる。ＥＣＧ波形に対し心拍検出などのデータ処理を行う際には、ＥＣＧ波形は一定の時間間隔でサンプリングされた離散的なデータ列（サンプリングデータ列）として扱われる。
【０００４】
図１６に、ＥＣＧ波形の例を示す。図１６の縦軸は電位、横軸は時間である。ＥＣＧ波形は、連続した心拍波形からなり、１つの心拍波形は、それぞれ心房や心室の活動を反映したＰ波、Ｑ波、Ｒ波、Ｓ波、Ｔ波等の成分からなっている。そのうち、心室の収縮（心室筋の脱分極）に伴うものがＲ波であり、振幅も大きいため、心拍の検出はＲ波を目安にして行われることが多い。特に、ＥＣＧ波形のサンプリングデータ列の時間差分を取ることにより、Ｒ波からＳ波への急峻な変化をピーク状に浮き立たせると、心拍を検出しやすくなる。１拍毎の心拍の間隔は、Ｒ−Ｒ間隔と称され、心拍変動の１次指標として扱われる。
【０００５】
従来の心拍検出方法として、以下のような文献が公知である。特許文献１には、ＥＣＧ波形の基線の搖動を除去するための構成が開示されている。また、特許文献２には、波形の山と谷との振幅に基づいた閾値でＲ波を認識する構成が開示されている。
【０００６】
また、非特許文献１には、ＥＣＧ波形を時間差分した値の変化をもとにＲ−Ｒ間隔などを求める方法が記載されている。具体的には、ＥＣＧ波形のサンプリング点をｉ（ｉは１以上の整数）とした場合、（ｉ＋１）番目のサンプリングデータの値と（ｉ−１）番目のサンプリングデータの値との差分を時間差分値として求め、その値がある閾値を超えた時刻を記録し、連続する２つの閾値を超えた時刻の間隔をＲ−Ｒ間隔としている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−７８６９５号公報
【特許文献２】特開２００３−５６１号公報
【非特許文献】
【０００８】
【非特許文献１】“ECG Implementation on the TMS320C5515 DSP Medical Development Kit (MDK) with the ADS1298 ECG-FE”、インターネット＜http://www.ti.com/lit/an/sprabj1/sprabj1.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記のような心拍検出方法には次のような問題点があった。
ＥＣＧ波形やその時間差分にノイズが重畳している場合、閾値を超えたことに基づく方法では、心拍の検出を誤ってしまう場合がある。
また、閾値を超えた時刻を心拍時刻とみなす方法では、サンプリングデータ列の個々のサンプリングデータについて逐次判定を行うため、記憶媒体に蓄積された大量のＥＣＧ波形データに対しては、その分析に時間がかかってしまう。
【００１０】
図１７は、ＥＣＧ波形のサンプリングデータの一部を示したグラフであり、横軸は時間、縦軸は心電位［μＶ］である。この例では、使用している電極および装具の特性により、心電位のレベルも小さく、かつ体動などによるノイズが重畳している。図１７では、矢印で示す箇所にＲ波が現れていることが見て取れる。この例のＥＣＧ波形のデータ全体は、５ｍｓ間隔でサンプリングされている。
【００１１】
図１８は、図１７のＥＣＧ波形の時間差分「（ｉ＋１）番目のサンプリングデータの値−（ｉ−１）番目のサンプリングデータの値」をとったものを、さらにローパスフィルタの効果によるノイズ削減を狙いとして、移動平均処理を施したものである。具体的には、各サンプリング点の±１５ｍｓの区間、計７個のデータを平均している。ここで、横軸は時間、縦軸は心電位の差分値［μＶ］である。
【００１２】
図１８中に“◆”で表されたプロットは、非特許文献１の方法に則って、図１８の曲線の下向きのピークに対して閾値に基づいて検出した心拍時刻と、それに基づくＲ−Ｒ間隔（縦軸右側、単位：［ｍｓ］）を表している。破線の丸で囲んだところでは、ノイズを心拍と誤って検出しており、その直後にある実際の心拍（矢印で示す）は、心拍を検出した後に挿入されている最大心拍数を考慮したスキップ幅２４０ｍｓの間に入っているため検出されていない。一方、実線の丸で囲んだところでは、心拍に由来するピークの振幅が小さく、取りこぼしていることが分かる。また、この例のＥＣＧ波形のデータ全体は、５ｍｓ間隔でサンプリングされた３０分間のものであり、それに対して心拍検出を行うには、条件判定のループ処理を３６０，０００回繰り返す必要がある。
【００１３】
本発明は、このような課題を解決するためになされたもので、その目的とするところは、ＥＣＧ波形のサンプリングデータ列に対する心拍検出を、精度よくかつ迅速に行う方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
このような目的を達成するために本発明は、記憶媒体に蓄積されたサンプリング点をｉ（ｉは１以上の整数）とする生体の心電図波形のサンプリングデータ列から、サンプリング点ｉ毎に、ｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を時間差分値ｙ（ｉ）として求める時間差分値算出ステップと、サンプリング点ｉ毎に、そのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）を取得する最小値取得ステップと、サンプリング点ｉ毎に、そのサンプリング点ｉの時間差分値ｙ（ｉ）からそのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）を差し引いた値を指標値ｗ（ｉ）として求める指標値算出ステップと、サンプリング点ｉ毎の指標値ｗ（ｉ）の中から、予め定められている閾値を下回り、かつ指標値の変化の傾向が減少から増加に転じる点の指標値を下向きのピークとして特定し、この特定した下向きのピークの時刻を心拍時刻とする心拍時刻決定ステップとを備えることを特徴とする。
【００１５】
ＥＣＧ波形のサンプリングデータ列の時間差分「（ｉ＋１）番目のサンプリングデータの値−（ｉ−１）番目のサンプリングデータの値」を取ると、心拍に由来する下向きのピークが現れるが、閾値を下回ったことによってそれを検出しようとすると、ノイズの影響を受け易い。ところが、あるサンプリング点ｉにおける時間差分値から、その前後の所定の時間領域（例えば、サンプリング点ｉの前後に２５ｍｓ離れたところから１００ｍｓの幅の区間）における時間差分値の最小値を引くことにより、ピークはより強調され、鋭い単峰性の形状になる。このピーク（下向きのピーク）を特定するために、本発明では、予め定められた閾値を下回り、かつ減少から増加に転じる、という条件を適用する。これにより、逐次に判定を繰り返すことなく、一括で処理できるようになる。また、心拍検出に要する時間も極めて短縮することができる。また、ノイズの影響を抑えて精度よく心拍時刻を検出すことができる。
【００１６】
なお、本発明において、指標値の変化の傾向が減少から増加に転じる場合、減少から増加に転じる点の指標値を下向きのピークとして特定し、指標値の変化の傾向が減少から横ばいを経て増加に転じる場合、横ばいから増加に転じる点の指標値あるいは減少から横ばいに転じる点の指標値を下向きのピークとして特定するようにするとよい。また、サンプリング点ｉ毎の指標値ｗ（ｉ）のうち、その値が正のものはその値を「０」に置き換えて、下向きのピークを特定するようにするとよい。また、本発明において、サンプリング点ｉの時間差分値ｙ（ｉ）は、サンプリング点ｉ毎のｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を移動平均処理した値として求めるようにしたものであってもよい。
【発明の効果】
【００１７】
本発明によれば、記憶媒体に蓄積されたサンプリング点をｉとする生体の心電図波形のサンプリングデータ列から、サンプリング点ｉ毎に、ｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を時間差分値ｙ（ｉ）として求め、サンプリング点ｉ毎に、そのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）を取得し、サンプリング点ｉ毎に、そのサンプリング点ｉの時間差分値ｚ（ｉ）からそのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）を差し引いた値を指標値ｗ（ｉ）として求め、サンプリング点ｉ毎の指標値ｗ（ｉ）の中から、予め定められている閾値を下回り、かつ減少から増加に転じる点の指標値を下向きのピークとして特定し、この特定した下向きのピークの時刻を心拍時刻とするようにしたので、記憶媒体に蓄積されたＥＣＧ波形のサンプリングデータ列を一括処理しながら、ノイズの影響を抑えて精度よくかつ迅速に心拍時刻を検出することができるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係る心拍検出方法の一実施の形態を適用して心拍時刻を検出する際の処理手順におけるサンプリング点毎の時間差分値の求め方を説明する図である。
【図２】サンプリング点毎の所定の時間領域での最小値の求め方を説明する図である。
【図３】サンプリング点の前後の所定の時間領域を示す図である。
【図４】サンプリング点毎の指標値（時間差分値−所定の時間領域での最小値）の求め方を説明する図である。
【図５】サンプリング点毎の指標値が「減少→増加」となる場合と「減少→横ばい→増加」となる場合とを比較して示す図である。
【図６】指標値の変化の傾向が減少から増加に転じる位置を示す列ベクトルの求め方を説明する図である。
【図７】指標値の変化の傾向が減少から横ばいに転じる位置を示す列ベクトルの求め方を説明する図である。
【図８】指標値の変化の傾向が減少から増加に転じる位置を示す列ベクトルと減少から横ばいに転じる位置を示す列ベクトルとからの下向きのピークの位置を示す列ベクトルの求め方を説明する図である。
【図９】下向きのピークの値を示す列ベクトルの求め方を説明する図である。
【図１０】心拍位置を示す列ベクトルの求め方を説明する図である。
【図１１】心拍時刻を示す列ベクトルの求め方を説明する図である。
【図１２】サンプリング点毎の指標値のグラフを示す図である。
【図１３】サンプリング点毎の時間差分値のグラフを一部拡大して示す図である。
【図１４】従来方法と本発明に係る心拍検出方法で抽出されたＲ−Ｒ間隔をプロットした図である。
【図１５】本発明に係る心拍検出方法を適用した心拍検出装置の要部の機能ブロック図である。
【図１６】ＥＣＧ波形の例を示す図である。
【図１７】ＥＣＧ波形のサンプリングデータのグラフの一部を示す図である。
【図１８】従来の問題点を説明する図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。図１〜図１１は本発明に係る心拍検出方法の一実施の形態を適用して心拍時刻を検出する際の処理手順を説明する図である。この処理手順では、ＥＣＧ波形のサンプリングデータ列等を、列ベクトルのように取り扱って心拍時刻を検出する。
【００２０】
図１（ａ）において、［ｘ（１）、ｘ（２）、…、ｘ（ｎ）］は、一定のサンプリング間隔（Δｔ）で取得されたＥＣＧ波形のサンプリングデータ列（列ベクトル）である。このＥＣＧ波形の列ベクトルを、行のマイナス方向に１つシフト（−１シフト）させたものと、プラス方向に１つシフト（＋１シフト）させたものを作り（図１（ｂ）参照）、行ごとに前者から後者を引くと、ＥＣＧ波形の時間差分値ｙ（ｉ）＝ｘ（ｉ＋１）−ｘ（ｉ−１）の列ベクトル［ｙ（１）、ｙ（２）、…ｙ（ｎ）］が得られる（図１（ｃ））。ここで、ｉは１以上ｎ以下の任意の整数である。
【００２１】
なお、ここでは循環シフトを用いているため、両端の部分（ここでは、ｙ（１）とｙ（ｎ））は、実際の時間差分値とは異なっているが、データ列全体からすればごく一部であり、心拍時刻の検出に影響を与えることはほとんどない。このことは、この処理手順において循環シフトを用いている他の箇所に関しても同様である。
【００２２】
次に、時間差分値の列ベクトル［ｙ（１）、ｙ（２）、…、ｙ（ｎ）］を、行のマイナス方向にそれぞれｋ、ｋ＋Ｌ、…、ｋ＋ｍ＊Ｌシフトしたｍ＋１の列ベクトルを考える(図２（ａ）参照)。これらの列ベクトルは、図２（ａ）に示すように、ｎ×（ｍ＋１）の行列となり、行ごとの成分を見ると、サンプリング点ｉから未来に向かってｋ＊Δｔ離れたところから、さらに未来に向かってｍ＊Ｌ＊Δｔの時間領域（本発明でいう「サンプリング点ｉの前の所定の時間領域」に相当）を、Ｌが２以上の整数とすれば、サンプリングデータ列のサンプリング間隔よりも粗い、Ｌ＊Δｔの間隔で、ＥＣＧ波形の時間差分値をピックアップした値の集合になっている（図３参照）。
【００２３】
また、時間差分値の列ベクトル［ｙ（１）、ｙ（２）、…、ｙ（ｎ）］を、行のプラス方向にｋ、ｋ＋Ｌ、…、ｋ＋ｍ＊Ｌシフトしたｍ＋１の列ベクトルを考える(図２（ｂ）参照)。これらの列ベクトルは、図２（ｂ）に示すように、ｎ×（ｍ＋１）の行列となり、行ごとの成分を見ると、サンプリング点ｉから過去に向かってｋ＊Δｔ離れたところから、さらに過去に向かってｍ＊Ｌ＊Δｔの時間領域（本発明でいう「サンプリング点ｉの後の所定の時間領域」に相当）を、Ｌが２以上の整数とすれば、サンプリングデータ列のサンプリング間隔よりも粗い、Ｌ＊Δｔの間隔で、ＥＣＧ波形の時間差分値をピックアップした値の集合になっている（図３参照）。
【００２４】
なお、ｋ、ｍ、Ｌの値は、人間のＥＣＧ波形に適用する場合は、例えば、ｋ＊Δｔ＝２５ｍｓ、ｍ＊Ｌ＊Δｔ＝１００ｍｓ、Ｌ＊Δｔ＝１０ｍｓなどとなるようにするのが適当である。
【００２５】
そして、図２（ａ），（ｂ）における行ごとの最小値を取得し、この最小値をサンプリング点ｉの前後それぞれｋ＊Δｔからｋ＊Δｔ＋ｍ＊Ｌ＊Δｔの時間領域（以下、「所定の時間領域」という。）における時間差分値の最小値ｚ（ｉ）とする。この最小値ｚ（ｉ）の列ベクトルを［ｚ（１）、ｚ（２）、…、ｚ（ｎ）］とする（図２（ｃ）参照）。
【００２６】
このサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）は、サンプリング点ｉの前後のフロアレベルに相当し、このサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）をサンプリング点ｉでの時間差分値ｙ（ｉ）と比較することで、サンプリング点ｉの前後のクリアランス、すなわちピークの単峰性を評価することができる。また、本来のＲ波以外に１０ｍｓ幅より狭い棘波状の異常値がデータ列に含まれる可能性は低いため、Ｌ＊Δｔは１０ｍｓ程度に粗くすることができ、それにより、心拍検出の精度を落とさずに計算負荷を軽減することができる。
【００２７】
次に、時間差分値の列ベクトル［ｙ（１）、ｙ（２）、…、ｙ（ｎ）］から所定の時間領域における時間差分値の最小値の列ベクトル［ｚ（１）、ｚ（２）、…、ｚ（ｎ）］を引き（図４（ａ）参照）、「時間差分値−所定の時間領域における時間差分値の最小値」の列ベクトル［ｗ（１）、ｗ（２）、…、ｗ（ｎ）］を得る（図４（ｂ）参照）。この列ベクトルの各値ｗ（ｉ）が本発明でいう「指標値」に相当する。以下、ｗ（ｉ）を指標値と呼ぶ。これ以降の処理ではｗ（ｉ）の値が負のものしか必要としないので、列ベクトルの各指標値のうちその値が正のものは、その値を「０」に置き換える。
【００２８】
次に、この指標値の列ベクトル［ｗ（１）、ｗ（２）、…、ｗ（ｎ）］の中から、予め定められている閾値を下回り、かつ指標値の変化の傾向が減少から増加に転じる点の指標値を下向きのピークとして特定する。この場合、実際には、単純に「減少→増加」となる場合（図５（ａ））と、ピークの頂点で同じ値が２回続いて、指標値の変化の傾向が減少から横ばいを経て増加に転じる「減少→横ばい→増加」となる場合（図５（ｂ））とがある。
【００２９】
ここで、（ｗ（ｉ＋１）−ｗ（ｉ））＊（ｗ（ｉ）−ｗ（ｉ−１））＜０という条件に基づいて下向きのピークを特定しようとすると、「減少→横ばい→増加」を見逃すことになり、（ｗ（ｉ＋１）−ｗ（ｉ））＊（ｗ（ｉ）−ｗ（ｉ−１））≦０という条件にすると、「減少→横ばい→増加」のところを複数回カウントしてしまう。そこで、本実施の形態では、以下のようにする。
【００３０】
まず、指標値の列ベクトル［ｗ（１）、ｗ（２）、…、ｗ（ｎ）］について、（ｗ（ｉ＋１）−ｗ（ｉ））＊（ｗ（ｉ）−ｗ（ｉ−１））の値が負のところにフラグ「１」を立てた列ベクトル［ａ（１）、ａ（２）、…、ａ（ｎ）］を求める（図６（ａ），（ｂ），（ｃ）参照）。また、（ｗ（ｉ）−ｗ（ｉー１））が「０」となるところにフラグ「１」を立てた列ベクトル［ｂ（１）、ｂ（２）、…、ｂ（ｎ）］を求める（図７（ａ），（ｂ）参照）。列ベクトル［ａ（１）、ａ（２）、…、ａ（ｎ）］と列ベクトル［ｂ（１）、ｂ（２）、…、ｂ（ｎ）］とのＯＲを取ると、下向きのピークの位置を示す列ベクトル［ｃ（１）、ｃ（２）、…、ｃ（ｎ）］が得られる（図８（ａ），（ｂ）参照）。
【００３１】
そして、列ベクトル［ｗ（１）、ｗ（２）、…、ｗ（ｎ）］と列ベクトル［ｃ（１）、ｃ（２）、…、ｃ（ｎ）］とを行（要素）ごとに掛け合わせて、指標値の下向きピークの値を示す列ベクトル［ｐ（１）、ｐ（２）、…、ｐ（ｎ）］を得る（図９（ａ），（ｂ）参照）。
【００３２】
さらに、列ベクトル［ｐ（１）、ｐ（２）、…、ｐ（ｎ）］の値が予め定められた閾値を下回るところにフラグ「１」を立て、心拍時刻を示す列ベクトル［ｑ（１）、ｑ（２）、…、ｑ（ｎ）］を求める（図１０（ａ），（ｂ）参照）。
【００３３】
そして、この列ベクトル［ｑ（１）、ｑ（２）、…、ｑ（ｎ）］と、サンプリング点の時刻の列ベクトル［ｔ（１）、ｔ（２）、…、ｔ（ｎ）］とを行ごとに掛け合わせることにより、心拍時刻を表す列ベクトル［ｒ（１）、ｒ（２）、…、ｒ（ｎ）］を得る（図１１（ａ），（ｂ）参照）。
【００３４】
これにより、指標値ｗ（ｉ）の変化の傾向が減少から増加に転じる場合には、減少から増加に転じる点の指標値が下向きのピークとして特定され、指標値ｗ（ｉ）の変化の傾向が減少から横ばいを経て増加に転じる場合には、横ばいから増加に転じる点の指標値が下向きのピークとして特定される。なお、この例では、指標値ｗ（ｉ）の変化の傾向が減少から横ばいを経て増加に転じる場合、横ばいから増加に転じる点の指標値を下向きのピークとして特定するようにしたが、減少から横ばいに転じる点の指標値を下向きのピークとして特定するようにしてもよい。
【００３５】
図１２は、図１７のＥＣＧ波形のデータに対し、本発明に係る心拍検出方法を適用した例を示している。グラフの曲線は、指標値ｗ（ｉ）すなわちサンプリング点ｉ毎の「時間差分値−所定の時間領域における時間差分値の最小値」を表しており、横軸は時間、縦軸は電位［μＶ］である。ここで、所定の時間領域は、サンプリング点ｉの前後に２５ｍｓ離れたところから１００ｍｓの幅の区間としている。
【００３６】
これを、図１３を用いて説明する。図１３は、ＥＣＧ波形（図１７に相当）の時間差分値ｙ（ｉ）のプロットを一部拡大したものである。図中の“◆”は、５ｍｓ間隔のサンプリング点に対応している。図中３カ所に、縦矢印と破線と横矢印を組み合わせたもので示した箇所がある。縦矢印で示すサンプリング点に対し、破線で示す前後両側に２５ｍｓを隔てたところから、横矢印で示す１００ｍｓずつの区間を考える。
【００３７】
矢印（１）で示された箇所は、心拍がないところであり、サンプリング点での値と、横矢印の区間での時間差分値の最小値が、絶対値の小さい、同程度の値になっている。したがって、指標値ｗ（ｉ）は、同程度の値同士の引き算となり、概ねゼロに近いものになる（図１２の矢印（１）参照）。
【００３８】
また、矢印（２）で示された箇所では、サンプリング点自体は心拍ではないが、横矢印の区間に心拍由来のピークがかかっている。そのため、サンプリング点での時間差分値は絶対値の小さい値であるが、横矢印の区間の時間差分値の最小値は、絶対値の大きい負の値になる。したがって、指標値ｗ（ｉ）は、絶対値の小さい値から絶対値の大きい負の値を引くので、絶対値の大きい正の値となる（図１２の矢印（２）参照）。
【００３９】
一方、矢印（３）で示された箇所、すなわち心拍由来のピークの頂点では、指標値ｗ（ｉ）は、絶対値の大きい負の値から絶対値の小さい値を引くことになり、絶対値の大きい負の値となる（図１２の矢印（３）参照）。
【００４０】
つまり、上述の操作は、元の波形に対して、急峻なピークでの値はそのままに、その周辺での値は逆方向にへこませる、という効果を生んでいる。図１２を見ても、指標値ｗ（ｉ）を「時間差分値−所定の時間領域における時間差分値の最小値」とすることで、心拍に由来する急峻なピークのみが一層強調され、極めて捉えやすくなっていることが分かる。
【００４１】
このように強調することによって、その下向きのピークを、ある閾値を下回るところで増減が反転している、といった条件で検出でき、蓄積されたデータに対しては、時間方向に走査しながら探索するという必要がなくなる。図１２中、“◆”で表されたプロットは、本発明に係る心拍検出方法を適用して検出した心拍時刻と、それに基づくＲ−Ｒ間隔（縦軸右側、単位：［ｍｓ］）を表している。
【００４２】
なお、ここでは、指標値ｗ（ｉ）を示す曲線（図１２）に対する閾値は、５秒毎に、その区間での最小値（５秒間の間には必ず心拍が含まれるので、その範囲での最小値は、心拍由来のピークの値といってよい）に０．５を乗じた値を用いた。また、ＥＣＧ波形計測の状況に応じて、固定の値を用いてもよい。
【００４３】
図１７のＥＣＧ波形の場合では、使用している電極等の特性により、その振幅（基線の搖動を除く）は−３００〜＋３００μＶ程度であり、その時間差分値の下向きのピークの値は概ね−４００μＶ程度であるため、例えば−１５０μＶなどとすることで、それらのピークを検出することができる。図１８の従来方法において誤検出や取りこぼしがあったところも、本発明に係る心拍検出方法では的確に心拍を検出できていることが分かる。
【００４４】
図１４は、図１７を含むより長時間のＥＣＧ波形データから、従来方法と本発明に係る心拍検出方法で抽出されたＲ−Ｒ間隔をプロットしたものである（横軸：時間、縦軸：［ｍｓ］）。従来方法に比べ、本発明に係る心拍検出方法では心拍検出の精度が改善していることが分かる。また、本発明に係る心拍検出方法では、行列演算に基づいた一括処理によって行うことができるため、長時間におよぶＥＣＧ波形データに対しても極めて短時間で結果を得ることができる。
【００４５】
図１５に本発明に係る心拍検出方法を適用した心拍検出装置の要部の機能ブロック図を示す。この心拍検出装置１００は、プロセッサや記憶装置からなるハードウェアと、これらのハードウェアと協働して各種機能を実現させるプログラムとによって実現され、メモリ（記憶媒体）１と、時間差分値算出部２と、最小値取得部３と、指標値算出部４と、心拍時刻決定部５とを備えている。
【００４６】
この心拍検出装置１００において、メモリ１には、サンプリング点をｉとするＥＣＧ波形のサンプリングデータ列が蓄積される。また、時間差分値算出部２は、メモリ１に蓄積されているＥＣＧ波形のサンプリングデータ列から、サンプリング点ｉ毎に、ｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を時間差分値ｙ（ｉ）として求める。
【００４７】
最小値取得部３は、時間差分値算出部２にアクセスし、サンプリング点ｉ毎に、そのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）を取得する。指標値算出部４は、時間差分値算出部２および最小値取得部３にアクセスし、サンプリング点ｉ毎に、そのサンプリング点ｉの時間差分値ｙ（ｉ）からそのサンプリング点ｉの前後の所定の時間領域における時間差分値の最小値ｚ（ｉ）を差し引いた値（時間差分値−所定の時間領域における時間差分値の最小値）を指標値ｗ（ｉ）として求める。
【００４８】
心拍時刻決定部５は、指標値算出部４にアクセスし、サンプリング点ｉ毎の指標値ｗ（ｉ）の中から、予め定められている閾値を下回り、かつ減少から増加に転じる点の指標値を下向きのピークとして特定し、この特定した下向きのピークの時刻を心拍時刻とする。
【００４９】
なお、上述した実施の形態では、メモリ１に蓄積されているＥＣＧ波形のサンプリングデータ列から、サンプリング点ｉ毎に、ｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を時間差分値として求めるようにしたが、サンプリング点ｉ毎のｉ＋１番目のサンプリングデータの値からｉ−１番目のサンプリングデータの値を引いた値を移動平均処理した値を時間差分値ｙ（ｉ）とするようにしてもよい。
【００５０】
〔実施の形態の拡張〕
以上、実施の形態を参照して本発明を説明したが、本発明は上記の実施の形態に限定されるものではない。本発明の構成や詳細には、本発明の技術思想の範囲内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【００５１】
本発明は、生体の心拍を検出する技術に適用することができる。
【符号の説明】
【００５２】
１…メモリ（記憶媒体）、２…時間差分値算出部、３…最小値取得部、４…指標値算出部、５…心拍時刻決定部、１００…心拍検出装置。
【図１】
0006360017.tif 000002
【図２】
0006360017.tif 000003
【図３】
0006360017.tif 000004
【図４】
0006360017.tif 000005
【図５】
0006360017.tif 000006
【図６】
0006360017.tif 000007
【図７】
0006360017.tif 000008
【図８】
0006360017.tif 000009
【図９】
0006360017.tif 000010
【図１０】
0006360017.tif 000011
【図１１】
0006360017.tif 000012
【図１２】
0006360017.tif 000013
【図１３】
0006360017.tif 000014
【図１４】
0006360017.tif 000015
【図１５】
0006360017.tif 000016
【図１６】
0006360017.tif 000017
【図１７】
0006360017.tif 000018
【図１８】
0006360017.tif 000019