(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】心拍検出方法および心拍検出装置
(51)【国際特許分類】
A61B 5/352 20210101AFI20241119BHJP
【FI】
A61B5/352
(21)【出願番号】P 2023544908
(86)(22)【出願日】2021-09-02
(86)【国際出願番号】 JP2021032266
(87)【国際公開番号】W WO2023032119
(87)【国際公開日】2023-03-09
【審査請求日】2024-02-16
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100098394
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100153006
【氏名又は名称】小池 勇三
(74)【代理人】
【識別番号】100064621
【氏名又は名称】山川 政樹
(74)【代理人】
【識別番号】100121669
【氏名又は名称】本山 泰
(72)【発明者】
【氏名】松浦 伸昭
(72)【発明者】
【氏名】近藤 利彦
【審査官】阿部 知
(56)【参考文献】
【文献】特開2018-175152(JP,A)
【文献】特開2017-29628(JP,A)
【文献】特開2017-42388(JP,A)
【文献】国際公開第2017/150156(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 5/24-5/398
(57)【特許請求の範囲】
【請求項1】
生体の心電図波形のサンプリングデータ列からサンプリングデータの時間差分の正負反転値をサンプリング時刻ごとに算出する第1のステップと、
処理対象のサンプリング時刻よりも前の第1の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第2の時間範囲の前記正負反転値のうちの第1の最大値をサンプリング時刻ごとに検出する第2のステップと、
前記処理対象のサンプリング時刻よりも前の第3の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第4の時間範囲の前記正負反転値のうちの第2の最大値をサンプリング時刻ごとに検出する第3のステップと、
前記処理対象のサンプリング時刻の前記正負反転値から前記第1の最大値を引いた減算値を第1の指標値としてサンプリング時刻ごとに算出する第4のステップと、
前記処理対象のサンプリング時刻の前記正負反転値から前記第2の最大値を引いた減算値を第2の指標値としてサンプリング時刻ごとに算出する第5のステップと、
前記第1の指標値が所定の閾値を超えた第1のサンプリング時刻における前記第2の指標値と、前記第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻における前記第1の指標値とが、所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とする第6のステップとを含むことを特徴とする心拍検出方法。
【請求項2】
請求項1記載の心拍検出方法において、
前記処理対象のサンプリング時刻に対する前記第3の時間範囲の前縁のタイミングは、前記第1の時間範囲の前縁のタイミングと同じであり、
前記処理対象のサンプリング時刻に対する前記第4の時間範囲の後縁のタイミングは、前記第2の時間範囲の後縁のタイミングと同じであり、
前記第3の時間範囲と前記第4の時間範囲の間隔は、前記第1の時間範囲と前記第2の時間範囲の間隔よりも短いことを特徴とする心拍検出方法。
【請求項3】
請求項1または2記載の心拍検出方法において、
前記第6のステップは、前記第1のサンプリング時刻よりも前の前記第1の指標値に対して前記第1のサンプリング時刻における前記第1の指標値が増加し、かつ前記第1のサンプリング時刻における前記第2の指標値と前記第2のサンプリング時刻における前記第1の指標値とが所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とするステップを含むことを特徴とする心拍検出方法。
【請求項4】
請求項1乃至3のいずれか1項に記載の心拍検出方法において、
前記第3の時間範囲と前記第4の時間範囲の間隔は、20msから30msの範囲であることを特徴とする心拍検出方法。
【請求項5】
生体の心電図波形のサンプリングデータ列からサンプリングデータの時間差分の正負反転値をサンプリング時刻ごとに算出するように構成された正負反転値算出部と、
処理対象のサンプリング時刻よりも前の第1の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第2の時間範囲の前記正負反転値のうちの第1の最大値をサンプリング時刻ごとに検出するように構成された第1の最大値検出部と、
前記処理対象のサンプリング時刻よりも前の第3の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第4の時間範囲の前記正負反転値のうちの第2の最大値をサンプリング時刻ごとに検出するように構成された第2の最大値検出部と、
前記処理対象のサンプリング時刻の前記正負反転値から前記第1の最大値を引いた減算値を第1の指標値としてサンプリング時刻ごとに算出するように構成された第1の指標値算出部と、
前記処理対象のサンプリング時刻の前記正負反転値から前記第2の最大値を引いた減算値を第2の指標値としてサンプリング時刻ごとに算出するように構成された第2の指標値算出部と、
前記第1の指標値が所定の閾値を超えた第1のサンプリング時刻における前記第2の指標値と、前記第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻における前記第1の指標値とが、所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とするように構成された心拍時刻決定部とを備えることを特徴とする心拍検出装置。
【請求項6】
請求項5記載の心拍検出装置において、
前記処理対象のサンプリング時刻に対する前記第3の時間範囲の前縁のタイミングは、前記第1の時間範囲の前縁のタイミングと同じであり、
前記処理対象のサンプリング時刻に対する前記第4の時間範囲の後縁のタイミングは、前記第2の時間範囲の後縁のタイミングと同じであり、
前記第3の時間範囲と前記第4の時間範囲の間隔は、前記第1の時間範囲と前記第2の時間範囲の間隔よりも短いことを特徴とする心拍検出装置。
【請求項7】
請求項5または6記載の心拍検出装置において、
前記心拍時刻決定部は、前記第1のサンプリング時刻よりも前の前記第1の指標値に対して前記第1のサンプリング時刻における前記第1の指標値が増加し、かつ前記第1のサンプリング時刻における前記第2の指標値と前記第2のサンプリング時刻における前記第1の指標値とが所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とすることを特徴とする心拍検出装置。
【請求項8】
請求項5乃至7のいずれか1項に記載の心拍検出装置において、
前記第3の時間範囲と前記第4の時間範囲の間隔は、20msから30msの範囲であることを特徴とする心拍検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、心電図波形から心拍(R波)を検出するための心拍検出方法および心拍検出装置に関するものである。
【背景技術】
【0002】
ECG(Electrocardiogram、心電図)波形は、心臓の電気的な活動を観測したもので、連続した心拍の波形からなる。1つの心拍波形は、それぞれ心房や心室の活動を反映したP波、Q波、R波、S波、T波等の成分からなっている。そのうち、心室の収縮に伴うものがR波であり、振幅も大きいため、心拍の検出はR波由来のピークに基づいて行われることが多い。
【0003】
従来の心拍検出方法として、特許文献1に開示された方法がある。特許文献1に開示された方法は、ECG波形の時間差分値のピークと、その前後の一定の時間領域での値との関係に着目した指標値を利用し、閾値に基づいた判定ロジックを用いてR波を検出するものである。この方法には、ECG波形の振幅だけでなく形状(時間幅)にも感度を持たせることができ、R波よりも幅の広いT波等を誤ってR波と認識することが少ないといった利点がある。
【0004】
図14は、ECG波形の例を示す図である。ECG波形には、1拍分の心拍が含まれている。心電位の振幅(peak to valley)は約500μVであり、通常の値(2000~3000μV)より小さいが、心電位を検出する電極の位置や状態によって振幅が減衰することがあり得る。
【0005】
図15は、
図14のECG波形の時間差分をとって正負を反転した値を示す図である。ECG波形の時間差分をとることで、R波~S波の急峻な心電位の低下に伴う上向きのピークが、心拍のリズムに沿って出現しているのが確認できる。
【0006】
図15の時点tの前後一定の時間範囲A,Bにおける時間差分正負反転値の最大値を、時点tの時間差分正負反転値から減じた指標値は、時点tの周辺でのピークのクリアランスの高さに相当する。この指標値は、ピークを外れた時点については負の値になる。
【0007】
図16は、指標値の時系列データをプロットした図である。
図16によると、指標値は、時間範囲AとBの間隔よりも小さい時間幅を持つピークが強調された形になっている。検出対象がR波の場合、時間範囲A,Bを100ms、時間範囲AとBの間隔を50msなどとするのが好適である。
図16に示すように、指標値に、閾値THに基づいた判定ロジックを適用することでR波を検出することができる。閾値THは、複数の心拍由来のピークを含む期間における指標値の最大値を求め、その最大値に1以下の係数を乗じるなどの方法で得ることができる。
【0008】
しかしながら、以上のような指標値を用いる方法では、時間幅が短くR波としては不適当と考えられるような波形についても、R波と誤って認識してしまう可能性があった。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、上記課題を解決するためになされたもので、時間幅の短すぎるピークを誤って心拍と認識することのない心拍検出方法および心拍検出装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の心拍検出方法は、生体の心電図波形のサンプリングデータ列からサンプリングデータの時間差分の正負反転値をサンプリング時刻ごとに算出する第1のステップと、処理対象のサンプリング時刻よりも前の第1の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第2の時間範囲の前記正負反転値のうちの第1の最大値をサンプリング時刻ごとに検出する第2のステップと、前記処理対象のサンプリング時刻よりも前の第3の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第4の時間範囲の前記正負反転値のうちの第2の最大値をサンプリング時刻ごとに検出する第3のステップと、前記処理対象のサンプリング時刻の前記正負反転値から前記第1の最大値を引いた減算値を第1の指標値としてサンプリング時刻ごとに算出する第4のステップと、前記処理対象のサンプリング時刻の前記正負反転値から前記第2の最大値を引いた減算値を第2の指標値としてサンプリング時刻ごとに算出する第5のステップと、前記第1の指標値が所定の閾値を超えた第1のサンプリング時刻における前記第2の指標値と、前記第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻における前記第1の指標値とが、所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とする第6のステップとを含むことを特徴とするものである。
【0012】
また、本発明の心拍検出方法の1構成例において、前記処理対象のサンプリング時刻に対する前記第3の時間範囲の前縁のタイミングは、前記第1の時間範囲の前縁のタイミングと同じであり、前記処理対象のサンプリング時刻に対する前記第4の時間範囲の後縁のタイミングは、前記第2の時間範囲の後縁のタイミングと同じであり、前記第3の時間範囲と前記第4の時間範囲の間隔は、前記第1の時間範囲と前記第2の時間範囲の間隔よりも短い。
また、本発明の心拍検出方法の1構成例において、前記第6のステップは、前記第1のサンプリング時刻よりも前の前記第1の指標値に対して前記第1のサンプリング時刻における前記第1の指標値が増加し、かつ前記第1のサンプリング時刻における前記第2の指標値と前記第2のサンプリング時刻における前記第1の指標値とが所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とするステップを含むことを特徴とするものである。
また、本発明の心拍検出方法の1構成例において、前記第3の時間範囲と前記第4の時間範囲の間隔は、20msから30msの範囲である。
【0013】
また、本発明の心拍検出装置は、生体の心電図波形のサンプリングデータ列からサンプリングデータの時間差分の正負反転値をサンプリング時刻ごとに算出するように構成された正負反転値算出部と、処理対象のサンプリング時刻よりも前の第1の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第2の時間範囲の前記正負反転値のうちの第1の最大値をサンプリング時刻ごとに検出するように構成された第1の最大値検出部と、前記処理対象のサンプリング時刻よりも前の第3の時間範囲の前記正負反転値と前記処理対象のサンプリング時刻よりも後の第4の時間範囲の前記正負反転値のうちの第2の最大値をサンプリング時刻ごとに検出するように構成された第2の最大値検出部と、前記処理対象のサンプリング時刻の前記正負反転値から前記第1の最大値を引いた減算値を第1の指標値としてサンプリング時刻ごとに算出するように構成された第1の指標値算出部と、前記処理対象のサンプリング時刻の前記正負反転値から前記第2の最大値を引いた減算値を第2の指標値としてサンプリング時刻ごとに算出するように構成された第2の指標値算出部と、前記第1の指標値が所定の閾値を超えた第1のサンプリング時刻における前記第2の指標値と、前記第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻における前記第1の指標値とが、所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とするように構成された心拍時刻決定部とを備えることを特徴とするものである。
【0014】
また、本発明の心拍検出装置の1構成例において、前記処理対象のサンプリング時刻に対する前記第3の時間範囲の前縁のタイミングは、前記第1の時間範囲の前縁のタイミングと同じであり、前記処理対象のサンプリング時刻に対する前記第4の時間範囲の後縁のタイミングは、前記第2の時間範囲の後縁のタイミングと同じであり、前記第3の時間範囲と前記第4の時間範囲の間隔は、前記第1の時間範囲と前記第2の時間範囲の間隔よりも短い。
また、本発明の心拍検出装置の1構成例において、前記心拍時刻決定部は、前記第1のサンプリング時刻よりも前の前記第1の指標値に対して前記第1のサンプリング時刻における前記第1の指標値が増加し、かつ前記第1のサンプリング時刻における前記第2の指標値と前記第2のサンプリング時刻における前記第1の指標値とが所定の条件を満たすときに、前記第1のサンプリング時刻を心拍時刻とすることを特徴とするものである。
また、本発明の心拍検出装置の1構成例において、前記第3の時間範囲と前記第4の時間範囲の間隔は、20msから30msの範囲である。
【発明の効果】
【0015】
本発明によれば、処理対象のサンプリング時刻の時間差分正負反転値から、前後の第1、第2の時間範囲における時間差分正負反転値の最大値を減じた第1の指標値と、処理対象のサンプリング時刻の時間差分正負反転値から、前後の第3、第4の時間範囲における時間差分正負反転値の最大値を減じた第2の指標値とを算出し、第1の指標値が閾値を超えた第1のサンプリング時刻における第2の指標値と、第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻における第1の指標値とが、所定の条件を満たすときに、第1のサンプリング時刻を心拍時刻とする。これにより、本発明では、R波として尤もらしい指標値のピークを検出するとともに、R波としての信憑性が低い、時間幅が短過ぎる指標値のピークを除外することができ、的確に心拍検出を行うことができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、ECG波形の時間差分正負反転値を示す図である。
【
図2】
図2は、ECG波形の第1の指標値と第2の指標値の時系列データを示す図である。
【
図4】
図4は、ECG波形を模した疑似波形の例を示す図である。
【
図5】
図5は、疑似波形の第1の指標値と第2の指標値の時系列データを示す図である。
【
図6A-6C】
図6A-
図6Cは、ECG波形の第1の指標値と第2の指標値の時系列データを示す図である。
【
図7A-7C】
図7A-
図7Cは、疑似波形の第1の指標値と第2の指標値の時系列データを示す図である。
【
図8】
図8は、本発明の実施例に係る心拍検出装置の構成を示すブロック図である。
【
図9】
図9は、本発明の実施例に係る心拍検出装置の最大値検出部と指標値算出部と指標値記憶部の構成例を示すブロック図である。
【
図10】
図10は、本発明の実施例に係る心拍検出方法を説明するフローチャートである。
【
図11】
図11は、第1の指標値の算出方法を説明するフローチャートである。
【
図12】
図12は、第2の指標値の算出方法を説明するフローチャートである。
【
図13】
図13は、本発明の実施例に係る心拍検出装置を実現するコンピュータの構成例を示すブロック図である。
【
図16】
図16は、従来の心拍検出方法により算出した指標値の時系列データを示す図である。
【発明を実施するための形態】
【0017】
[発明の原理]
図1に、
図15と同じECG波形の時間差分正負反転値を示す。
図15との違いは、第2の時間範囲C,Dを併記したことである。処理対象のサンプリング時刻(
図1の例ではt)に対する時間範囲Cの前縁のタイミングは、時間範囲Aの前縁のタイミングと同じである。また、処理対象のサンプリング時刻に対する時間範囲Dの後縁のタイミングは、時間範囲Bの後縁のタイミングと同じである。一方、時間範囲CとDの間隔は、時間範囲AとBの間隔よりも短い。以下の
図2~
図4の例では、時間範囲CとDの間隔を24msとしている。
【0018】
ECG波形の時間差分正負反転値をサンプリング時刻ごとに算出する。そして、処理対象のサンプリング時刻よりも前の時間範囲Aの時間差分正負反転値と処理対象のサンプリング時刻よりも後の時間範囲Bの時間差分正負反転値のうちの最大値M1を、処理対象のサンプリング時刻の時間差分正負反転値から引いた値を、処理対象のサンプリング時刻の第1の指標値xとする。また、処理対象のサンプリング時刻よりも前の時間範囲Cの時間差分正負反転値と処理対象のサンプリング時刻よりも後の時間範囲Dの時間差分正負反転値のうちの最大値M2を、処理対象のサンプリング時刻の時間差分正負反転値から引いた値を、処理対象のサンプリング時刻の第2の指標値yとする。
【0019】
図2は、
図14のECG波形の第1の指標値xと第2の指標値yの時系列データをプロットした図である。第2の指標値yのピークは、第1の指標値xのピークよりも細くなっていることが分かる。
【0020】
図3は、
図2のR波由来のピークの付近を拡大して示したものである。
図3では、サンプリング間隔1ms毎の値をプロットしている。第1の指標値xと第2の指標値yは、ピークの頂点から離れるにしたがって乖離していく様子が見て取れる。第1の指標値xと第2の指標値yが乖離する理由は、時刻がピークの中心からずれてくると、時間範囲Cの後縁と時間範囲Dの前縁がECG波形の時間差分正負反転値のピークと干渉することで、時間範囲C,Dにおける最大値M2が上昇し、第2の指標値yのピークの裾野の傾斜が急になるためである。
【0021】
一方、
図4は、ECG波形を模した疑似波形の例を示す図である。
図4に示した波形は、Q波、R波、S波の時間幅を半分程度に短くしたものであり、R波として検出すべきでない例を示している。
【0022】
図5は、
図4の波形について、
図3と同様なプロットを示したものである。
図3に比べ、第1の指標値xと第2の指標値yの乖離が少ない。第1の指標値xと第2の指標値yの乖離が少ない理由は、時間範囲CとDの間隔に対してピークの幅が狭く、時間範囲C,Dとピーク波形の干渉の度合いが少なく、
図3の場合のような最大値M2の上昇が起こり難いためである。
【0023】
図3と
図5を比較すると、
図3ではピークから離れるに従って第1の指標値xと第2の指標値yの差が徐々に広がり、
図5では
図3と比べて第1の指標値xと第2指標値yの差が少ない。このような第1の指標値xと第2の指標値yの関係をR波検出に利用するには、ある時点の第2の指標値yと少し離れた時点の第1の指標値xとの関係に着目するとよい。
【0024】
図3では、時刻t3で第1の指標値x=x3が閾値THを超えている。例えば、同じ時刻t3での第2の指標値y=y3と、その2サンプリング前の時刻における第1の指標値x=x1が、(x1-y3)>a(aは所定の正の値)という条件を満たす場合に、時刻t3を心拍時刻とすればよい。すなわち、時刻t3の直後に出現する上向きのピークをR波由来のピークとして検出できる。
【0025】
同じ条件で、
図5の場合、第1の指標値x=x3が第2の指標値y=y1を下回っており、時刻t3が心拍時刻として検出されることはなく、
図5のピークがR波由来のピークとして検出されることはない。
【0026】
なお、第1の指標値xと第2の指標値yがピークの頂点を過ぎて下降する局面で上記の条件を満たしてしまう場合がある。このように第1の指標値xと第2の指標値yが下降する局面での条件成立を防止するため、時刻t3で第1の指標値xが増加している(x3>x2)という条件をさらに課すことで、
図5のようなピークをR波由来のピークとして検出しないようにすることができる。
【0027】
図6A~
図6Cは、
図14のECG波形の第1の指標値xと第2の指標値yの時系列データをプロットした図である。
図7A~
図7Cは、
図4の疑似波形の第1の指標値xと第2の指標値yの時系列データをプロットした図である。
図6A、
図7Aは時間範囲CとDの間隔が20msの場合、
図6B、
図7Bは時間範囲CとDの間隔が24msの場合、
図6C、
図7Cは時間範囲CとDの間隔が30msの場合を示している。時間範囲AとBの間隔は50msである。
【0028】
図7Aに示すように時間範囲CとDの間隔が短くなると、R波として検出すべきでない疑似波形の場合でも第1の指標値xと第2の指標値yが乖離する。一方、
図6Cに示すように時間範囲CとDの間隔が長くなると、ECG波形の場合でも第1の指標値xと第2の指標値yが接近する。ECG波形と疑似波形を区別するための、時間範囲CとDの間隔は、20msから30msの範囲で設定することが好ましい。
【0029】
[実施例]
以下、本発明の実施例について図面を参照して説明する。
図8は本発明の実施例に係る心拍検出装置の構成を示すブロック図である。心拍検出装置は、ECG波形のサンプリングデータ列を出力する心電計1と、ECG波形のサンプリングデータ列とサンプリング時刻の情報とを記憶する記憶部2と、ECG波形のサンプリングデータ列からサンプリングデータの時間差分の正負反転値をサンプリング時刻ごとに算出する正負反転値算出部3と、処理対象のサンプリング時刻よりも前の時間範囲Aの時間差分正負反転値と処理対象のサンプリング時刻よりも後の時間範囲Bの時間差分正負反転値のうちの最大値M1をサンプリング時刻ごとに検出する最大値検出部4と、処理対象のサンプリング時刻の時間差分正負反転値から最大値M1を引いた第1の指標値xをサンプリング時刻ごとに算出する指標値算出部5と、第1の指標値xを入力とする指標値記憶部6とを備えている。
【0030】
さらに、心拍検出装置は、処理対象のサンプリング時刻よりも前の時間範囲Cの時間差分正負反転値と処理対象のサンプリング時刻よりも後の時間範囲Dの時間差分正負反転値のうちの最大値M2をサンプリング時刻ごとに検出する最大値検出部7と、処理対象のサンプリング時刻の時間差分正負反転値から最大値M2を引いた第2の指標値yをサンプリング時刻ごとに算出する指標値算出部8と、第2の指標値yを入力とする指標値記憶部9と、第1の指標値xが閾値THを超えた第1のサンプリング時刻における第2の指標値yと、第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻における第1の指標値xとが、所定の条件を満たすときに、第1のサンプリング時刻を心拍時刻とする心拍時刻決定部10とを備えている。
【0031】
図9は最大値検出部4,7と指標値算出部5,8と指標値記憶部6,9の構成例を示すブロック図である。
最大値検出部4は、正負反転値算出部3によって算出された時間差分正負反転値を入力とするFIFOバッファ(First In,First Out)40と、FIFOバッファ40の出力値を入力とするFIFOバッファ41と、FIFOバッファ41の出力値を入力とするFIFOバッファ42と、FIFOバッファ40に格納された時間差分正負反転値およびFIFOバッファ42に格納された時間差分正負反転値のうちの最大値M1をサンプリング時刻ごとに検出する検出処理部43とから構成される。
【0032】
指標値算出部5は、正負反転値算出部3によって算出された時間差分正負反転値を入力とするFIFOバッファ50と、FIFOバッファ50の出力値から、最大値検出部4によって検出された最大値M1を引いた第1の指標値xをサンプリング時刻ごとに算出する減算処理部51とから構成される。
指標値記憶部6は、減算処理部51によって算出された第1の指標値xを入力とするFIFOバッファ60から構成される。
【0033】
最大値検出部7は、正負反転値算出部3によって算出された時間差分正負反転値を入力とするFIFOバッファ70と、FIFOバッファ70の出力値を入力とするFIFOバッファ71と、FIFOバッファ71の出力値を入力とするFIFOバッファ72と、FIFOバッファ70に格納された時間差分正負反転値およびFIFOバッファ72に格納された時間差分正負反転値のうちの最大値M2をサンプリング時刻ごとに検出する検出処理部73とから構成される。
【0034】
指標値算出部8は、正負反転値算出部3によって算出された時間差分正負反転値を入力とするFIFOバッファ80と、FIFOバッファ80の出力値から、最大値検出部7によって検出された最大値M2を引いた第2の指標値yをサンプリング時刻ごとに算出する減算処理部81とから構成される。
指標値記憶部9は、減算処理部81によって算出された第2の指標値yを入力とするFIFOバッファ90から構成される。
【0035】
以下、本実施例の心拍検出方法を
図10~
図12を用いて説明する。ここでは、1つの心拍を検出し、その心拍時刻を得るまでの手順を説明する。このような心拍時刻の算出をECG波形データの期間にわたって繰り返すことによって、心拍時刻の時系列データが得られる。
【0036】
本実施例では、ECG波形をサンプリングしたデータ列をD(i)とする。i(i=1,2,…)は1サンプリングのデータに付与される番号である。番号iが大きくなる程、サンプリング時刻が後になることは言うまでもない。
【0037】
心電計1は、図示しない生体(人体)のECG波形を測定し、ECG波形のサンプリングデータ列D(i)を出力する。このとき、心電計1は、各サンプリングデータにサンプリング時刻の情報を付加して出力する。なお、ECG波形の具体的な測定方法は周知の技術であるので、詳細な説明は省略する。
記憶部2は、心電計1から出力されたECG波形のサンプリングデータ列D(i)とサンプリング時刻の情報とを記憶する。
【0038】
正負反転値算出部3は、サンプリングデータD(i)の時間差分正負反転値Y(i)を算出するため、サンプリングデータD(i)の1サンプリング後のデータD(i+1)と1サンプリング前のデータD(i-1)とを記憶部2から取得する(
図10ステップS1)。そして、正負反転値算出部3は、サンプリングデータD(i)の時間差分正負反転値Y(i)を次式のようにサンプリング時刻ごとに算出する(
図10ステップS2)。
Y(i)=-{D(i+1)-D(i-1)} ・・・(1)
【0039】
最大値検出部4と指標値算出部5とによって第1の指標値xが算出される(
図10ステップS3)。具体的には、正負反転値算出部3は、算出した時間差分正負反転値Y(i)をサンプリング時刻ごとにFIFOバッファ50に入力する(
図11ステップS100)。入力された値は、FIFOバッファ50内に保持され、FIFOバッファ50の大きさに相当する時間(時間差分正負反転値がFIFOバッファ50に入力されてから出力されるまでの遅延時間)の後、減算処理に用いられることになる。
【0040】
また、正負反転値算出部3は、算出した時間差分正負反転値Y(i)をサンプリング時刻ごとにFIFOバッファ40に入力する(
図11ステップS101)。FIFOバッファ40の出力はFIFOバッファ41に入力され(
図11ステップS102)、FIFOバッファ41の出力はFIFOバッファ42に入力される(
図11ステップS103)。FIFOバッファ40~42は、時間範囲A,Bでの時間差分正負反転値の最大値を求めるためのものである。
【0041】
FIFOバッファ41の長さに相当する時間間隔L3(時間差分正負反転値がFIFOバッファ41に入力されてから出力されるまでの遅延時間)は、R波由来のピークの幅(概ね10ms程度である)に対して十分広くしておく必要があり、50ms程度が好ましい。この間隔L3が時間範囲AとBの間隔になる。また、FIFOバッファ40の長さに相当する時間間隔L2(時間差分正負反転値がFIFOバッファ40に入力されてから出力されるまでの遅延時間)、およびFIFOバッファ42の長さに相当する時間間隔L4(時間差分正負反転値がFIFOバッファ42に入力されてから出力されるまでの遅延時間で、L2=L4)は、100ms程度が適当である。
【0042】
また、FIFOバッファ50の長さに相当する時間間隔L1は、L1=L2+L3/2とすればよい。したがって、上記の数値例で言えば、L1は125msとなる。L1=L2+L3/2かつL2=L4とすることにより、FIFOバッファ50の出力値bの時刻(処理対象のサンプリング時刻)に対して、-(L2+L3/2)~-(L3/2)の範囲と(L3/2)~(L2+L3/2)の範囲について最大値M1を求めることができ、出力値bから最大値M1を減算することが可能となる。
【0043】
検出処理部43は、FIFOバッファ40に格納された時間差分正負反転値およびFIFOバッファ42に格納された時間差分正負反転値のうちの最大値M1をサンプリング時刻ごとに検出する(
図11ステップS104)。
減算処理部51は、FIFOバッファ50の出力値bから最大値M1を引いた第1の指標値x(i)=b-M1をサンプリング時刻ごとに算出する(
図11ステップS105)。
【0044】
こうして、最大値検出部4と指標値算出部5とによってステップS3の処理が行われ、同時に最大値検出部7と指標値算出部8とによって第2の指標値yが算出される(
図10ステップS4)。
【0045】
具体的には、正負反転値算出部3は、算出した時間差分正負反転値Y(i)をサンプリング時刻ごとにFIFOバッファ80に入力する(
図12ステップS200)。また、正負反転値算出部3は、算出した時間差分正負反転値Y(i)をサンプリング時刻ごとにFIFOバッファ70に入力する(
図12ステップS201)。FIFOバッファ70の出力はFIFOバッファ71に入力され(
図12ステップS202)、FIFOバッファ71の出力はFIFOバッファ72に入力される(
図12ステップS203)。FIFOバッファ70~72は、時間範囲C,Dでの時間差分正負反転値の最大値を求めるためのものである。
【0046】
FIFOバッファ71の長さに相当する時間間隔L7(時間差分正負反転値がFIFOバッファ71に入力されてから出力されるまでの遅延時間)は、上記の例では例えば24msである。この間隔L7が時間範囲CとDの間隔になる。また、FIFOバッファ70の長さに相当する時間間隔L6(時間差分正負反転値がFIFOバッファ70に入力されてから出力されるまでの遅延時間)、およびFIFOバッファ72の長さに相当する時間間隔L8(時間差分正負反転値がFIFOバッファ72に入力されてから出力されるまでの遅延時間で、L6=L8)は、113ms程度が適当である。上記の説明から明らかなように、L2+L3+L4=L6+L7+L8となる。
【0047】
また、FIFOバッファ80の長さに相当する時間間隔L5は、L5=L6+L7/2とすればよい。したがって、上記の数値例で言えば、L5は125msとなる。この値はFIFOバッファ50の長さL1と同じである。L5=L6+L7/2かつL6=L8とすることにより、FIFOバッファ80の出力値cの時刻(処理対象のサンプリング時刻)に対して、-(L6+L7/2)~-(L7/2)の範囲と(L7/2)~(L6+L7/2)の範囲について最大値M2を求めることができ、出力値cから最大値M2を減算することが可能となる。
【0048】
検出処理部73は、FIFOバッファ70に格納された時間差分正負反転値およびFIFOバッファ72に格納された時間差分正負反転値のうちの最大値M2をサンプリング時刻ごとに検出する(
図12ステップS204)。
減算処理部81は、FIFOバッファ80の出力値cから最大値M2を引いた第2の指標値y(i)=c-M2をサンプリング時刻ごとに算出する(
図12ステップS205)。こうして、最大値検出部7と指標値算出部8とによってステップS4の処理が行われる。
【0049】
減算処理部51は、算出した第1の指標値x(i)をサンプリング時刻ごとにFIFOバッファ60に入力する(
図10ステップS5)。同時に、減算処理部81は、算出した第2の指標値y(i)をサンプリング時刻ごとにFIFOバッファ90に入力する(
図10ステップS6)。
【0050】
心拍時刻決定部10は、FIFOバッファ60,90の第1の位置に格納されている第1の指標値x(i)=x3、第2の指標値y(i)=y3を取得する。また、心拍時刻決定部10は、FIFOバッファ60の第2の位置に格納されている、第1の指標値x(i)=x3よりも1サンプリング(1ms)だけ過去の第1の指標値x(i-1)=x2を取得する。さらに、心拍時刻決定部10は、FIFOバッファ60の第3の位置に格納されている、第1の指標値x(i)=x3よりも2サンプリング(2ms)だけ過去の第1の指標値x(i-2)=x1を取得する。
【0051】
心拍時刻決定部10は、第1の指標値x(i)=x3が閾値THを超え(
図10ステップS7においてYES)、かつ1サンプリング前の第1の指標値x(i-1)=x2に対して第1の指標値x(i)=x3が増加しているときに(
図10ステップS8においてYES)、第1の指標値x(i)=x3と同時刻における第2の指標値y(i)=y3と2サンプリング前の第1の指標値x(i-2)=x1とが(x1-y3)>aという条件を満たす場合(
図10ステップS9においてYES)、第1の指標値x(i)=x3のサンプリング時刻を心拍時刻とする(
図10ステップS10)。
【0052】
上記のとおり、サンプリングデータD(i)から時間差分正負反転値Y(i)が算出され、時間差分正負反転値Y(i)から第1の指標値x(i)が算出される。したがって、第1の指標値x(i)のサンプリング時刻とは、時間差分正負反転値Y(i)のサンプリング時刻(データD(i)のサンプリング時刻)のことであり、記憶部2から取得することが可能である。
こうして、ステップS1~S10の処理をサンプリング周期ごとに繰り返し実行することで、心拍時刻の時系列データが得られる。
【0053】
なお、本実施例では、第1の指標値x(i)=x3が閾値THを超えた第1のサンプリング時刻(
図3の例ではt3)における第2の指標値y(i)=y3と、第1のサンプリング時刻と所定の関係にある第2のサンプリング時刻(
図3の例ではt1)における第1の指標値x(i-2)=x1とが条件を満たすかどうかを判定しているが、第2のサンプリング時刻は、第1のサンプリング時刻に対して所定の時間だけ過去の時刻であればよく、2サンプリング(2ms)前でなくてもよい。
【0054】
本実施例で説明した心拍検出装置の記憶部2と正負反転値算出部3と最大値検出部4,7と指標値算出部5,8と指標値記憶部6,9と心拍時刻決定部10とは、CPU(Central Processing Unit)、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このコンピュータの構成例を
図13に示す。
【0055】
コンピュータは、CPU100と、記憶装置101と、インタフェース装置(I/F)102とを備えている。I/F102には、心電計1などが接続される。本発明の心拍検出方法を実現させるためのプログラムは記憶装置101に格納される。CPU100は、記憶装置101に格納されたプログラムに従って本実施例で説明した処理を実行する。
【産業上の利用可能性】
【0056】
本発明は、生体の心拍を検出する技術に適用することができる。
【符号の説明】
【0057】
1…心電計、2…記憶部、3…正負反転値算出部、4,7…最大値検出部、5,8…指標値算出部、6,9…指標値記憶部、10…心拍時刻決定部、40~42,50,60,70~72,80,90…FIFOバッファ、43,73…検出処理部、51,81…減算処理部。