(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための最良の形態】
【0016】
本発明の実施形態を図示するとともに図中の各要素に付した符号を参照して説明する。
(第1実施形態)
本発明の心音分析装置に係る第1実施形態について説明する。
図1は、本発明の心音分析装置に係る第1実施形態の構成を示す図である。
なお、本実施形態による心音分析装置は、コンピュータにより実行可能なプログラムとして実施することができる。
心音分析装置100は、信号入力部110と、分析信号生成部120と、ピーク区間情報生成部130と、評価値算出部140と、判定部150と、を備える。
これら各機能部の動作を
図2のフローチャートおよび例示(
図3〜
図9)を参照しながら説明する。
【0017】
信号入力部110は、マイク等で取得した心音信号の入力を受け、必要に応じてA/D変換を実施する。
【0018】
分析信号生成部120は、入力された信号を帯域分割し(S201)、さらに、分割した各信号に対して曲線近似を行う(S202)。
分析信号生成部120は、まず、入力信号の帯域毎の時間変化による特徴を示す信号を生成する(S201)。例えば、入力信号に短時間FFT等の処理を実施して時間周波数成分を算出し、各時間における所定の周波数範囲の周波数成分の和を算出する。あるいは、フィルタバンクを用いて帯域分割を行い、各出力にヒルベルト変換を実施する。なお、入力信号の帯域毎の時間変化による特徴を示す信号を生成する方法はこの二例に限定されるものではない。
【0019】
このようにして生成された各信号は、
図3(A)に示すような時間tの1次元信号として得られる。
ここで、分析信号生成部120では、0〜200Hzのいずれかの周波数成分を含む信号と、100〜2000Hzのいずれかの周波数成分を含む信号と、の少なくとも2つの信号を生成する。
前者は主に心音の時間変化による特徴を示す信号であり、後者は主に心雑音の時間変化による特徴を示す信号である。この2つの信号に限らず、3以上の信号を生成しても構わないし、また、各信号の周波数成分は排他的であっても重複部分があっても構わない。
【0020】
さらに、こうして得られた各信号にはノイズが含まれていることが多いため、メディアンフィルタ等を用いてノイズの影響を低減させるのが望ましい。
【0021】
次に、ここまでで得られた各信号を曲線で近似する(S202)。例えば、
図3(A)に示すような信号を近似した場合、
図3(B)に実線で示すような近似曲線が得られる。
【0022】
ここで、ひとつの信号から複数の近似曲線を得ることが好ましい。
例えば、
図4と
図5において、
図4(A)および
図5(A)は、近似処理前の元信号である。近似曲線は、近似に使用する曲線の次数や近似に用いる区間など、パラメータの違いによって結果が異なる。
図4(B)は、次数の高い曲線を用いた近似曲線を示し、
図5(B)は次数が低い曲線を用いた近似曲線を示す。あるいは、近似曲線の次数が同じでも、区間を狭くすれば
図4(B)になり、区間を長くとれば
図5(B)になる。
図4(B)の近似曲線の方が元の信号に近い近似曲線となる。一方、
図5(B)の近似曲線は、
図4(B)の近似曲線に比べて、元の信号の大まかな傾向をよく表しているといえる。
【0023】
なお、近似に用いる前記区間は、50〜200msの範囲から一つと、200〜500msの範囲から一つと、の少なくとも二つの値を用いるのが好ましい。また、前記区間および近似曲線の個数は、信号毎に異なっていても構わない。こうして得られた各近似曲線を分析信号生成部120の出力である分析信号とする。
【0024】
ピーク区間情報生成部130は、分析信号生成部120で生成した各分析信号を、心音または心雑音である区間とその他の区間とに区別する。
図3(B)、
図4(B)および
図5(B)の各近似曲線(分析信号)の形状に注目すると、上に凸の二次曲線と、下に凸の二次曲線と、が交互に接続されていることがわかる。ここで、上に凸の部分は、心音または心雑音である区間である。一方、下に凸の部分は、心音区間でもないし心雑音区間でもない。以下の説明では、下に凸の部分を、「その他の区間」と称する。
【0025】
そこで、ピーク区間情報生成部130は、この近似曲線(分析信号)の二階微分値を算出し(S203)、二階微分値が0より大きい値である区間(下に凸)と0以下である区間(上に凸)とに二値化する(S204)ことで、心音または心雑音である区間と、その他の区間と、を識別する。
【0026】
図3(B)、
図4(B)および
図5(B)中において、点線と一点鎖線とで区分けした矩形波信号を分析信号に重畳して示す。ここでは、二階微分値が0より大きい値である区間を点線とし、二階微分値が0以下である区間を一点鎖線として、分析信号を二値化したものである。こうして得られた各矩形波信号をピーク区間情報としてピーク区間情報生成部130の出力とする。
【0027】
なお、二階微分値は、公知のsavitzky−golay法などを用いることで近似曲線自体を求めることなく直接算出しても構わない。従って、分析信号生成部120とピーク区間情報生成部130とを一つの機能ブロックとしても良い。
【0028】
評価値算出部140は、心雑音を含むか否かの判定に用いる評価値を算出する(S206)。評価値算出部140は、まず、各ピーク区間の持続時間(以下、ピーク持続時間とする)の長さを算出する。すなわち、
図3(B)、
図4(B)および
図5(B)における各一点鎖線部分の長さを算出する。
【0029】
次に、ピーク区間情報毎に、各ピーク持続時間の和をSUMとし,分析信号の時間長をLENとする。
そして、ピーク区間情報毎に、
SUMとLENとの比RATIO(=SUM/LEN)と、
ピーク持続時間の平均値AVEと、
ピーク持続時間の標準偏差SDと、
をそれぞれ算出する。
【0030】
なお、ピーク持続時間の平均値AVEは、SUMをピーク区間の個数で除すことによって算出できる。ピーク持続時間の標準偏差SDについても、標準偏差の定義から明らかであろう。
【0031】
さらに、各ピーク区間情報のSUM、AVE,SDの比として、rSUM,rAVE,rSDをそれぞれ算出する。
ここで、例えば任意のピーク区間情報PEAK(m)およびPEAK(n)からそれぞれSUM(m)とSUM(n)とを算出したとする。
すると、rSUMとは、
rSUM(m,n)=SUM(m)/SUM(n)
によって求められる値である。
【0032】
rAVE,rSDについてもrSUMと同様にして求められる。
【0033】
また各ピーク区間情報の相関値CORRを求めても良い。
【0034】
こうして得られた各ピーク区間情報のRATIO、AVE,SD,および、各ピーク区間情報の組み合わせによるrSUM,rAVE,rSD、CORRをそれぞれ評価値として評価値算出部140の出力とする(S206)。
【0035】
これらの評価値は、少なくとも一つの評価値を算出すれば良く、必ずしもすべてを算出しなくてもよい。
【0036】
さて、ここで、各評価値の特徴について、
図6、
図7、
図8および
図9に例示するピーク区間情報のパターンを参照して説明する。
図6〜
図9において、
(A)に示すピーク区間情報は、0〜200Hzの帯域成分を100ms毎の区間を用いて曲線近似した分析信号から求めたピーク区間情報s01である。
(B)に示すピーク区間情報は、100〜2000Hzの帯域成分を100ms毎の区間を用いて曲線近似した分析信号から求めたピーク区間情報s11である。
(C)に示すピーク区間情報は、100〜2000Hzの帯域成分を300ms毎の区間を用いて曲線近似した分析信号から求めたピーク区間情報s12である。
【0037】
図6は心音が正常な場合のピーク区間情報の例である。
心音が正常な場合はI音II音と呼ばれる短時間鳴動の音が交互に聴取される。したがって、100ms程度で曲線近似すると、
図6(A)および
図6(B)のように、I音II音の鳴動時間がそのままピーク区間として表れる。一方、300ms程度で曲線近似すると、
図5で説明したように、I音II音がひとつのまとまったピーク区間として表れる(
図6(C))。
【0038】
図6(A)および
図6(B)に示すピーク区間情報s01、s11では各ピーク区間が短いので、例えば、RATIOは0.1未満、AVEは200ms程度といった、ともに小さい値となる。また鳴動時間についてのバラつきは小さいため、SDは100ms未満の小さい値となる。
【0039】
図6(C)に示すピーク区間情報s12では、I音からII音までの間がピーク区間となるので、RATIOおよびAVEはともにピーク区間情報s01(
図6(A))やピーク区間情報s11(
図6(B))の場合よりも大きい値となる。
【0040】
SDについては、I音とII音とがまとまったピーク区間となる場合、I音とII音との間隔は一定なのであるから、ピーク区間情報s01(
図6(A))やピーク区間情報s11(
図6(B))の場合と同様に小さな値となる。
図10は、この関係をまとめたテーブルである。
【0041】
rSUMについては、分析信号s01と分析信号s11とは近い傾向を示すので、rSUM(s01、s11)は1に近い値になる場合が多い。rSUM(s01、s12)、rSUM(s11、s12)については、分析信号s12のSUMが分析信号s01や分析信号s11と比較して大きくなるので、1よりも小さい値となる場合が多い。
図11は、この関係をまとめたテーブルである。
【0042】
なお、rAVEについてはrSUMと同様の特徴を示す一方、rSDについてはSD自体の特徴に差が無いので明確な特徴は示さない。
【0043】
CORRについては、分析信号s01と分析信号s11との組み合わせでは、分析信号s01または分析信号s11と分析信号s12との組み合わせと比較して高い相関を示すので、CORRの値もこれらの組み合わせの場合よりも大きくなる。
【0044】
次に、
図7は、
図6と同様に、正常な場合のピーク区間情報の例である。
(A)に示すピーク区間情報および(B)に示すピーク区間情報については
図6の場合と同様である。一方、
図7(C)については、
図6(C)のピーク区間が途中で寸断されたような不規則な区間が表れる。心音が正常であっても、I音II音の強度および鳴動時間によって、こうした結果になる場合もあるという例である。
【0045】
図7(A)と
図7(B)に示すピーク区間情報についてはそれぞれ
図6(A)および
図6(B)と同様の特徴を示す。一方、
図7(C)に示すピーク区間情報については、これらと比較してバラつきが大きくなるので、SDは100msを超える大きい値となる。この関係を
図12に示す。
【0046】
rSUM、rAVEおよびCORRについては、
図6(A)、(B)、(C)と同様であり、rSDについてもrSUMとrAVEと同様の特徴を示す(
図13参照)。
【0047】
図8は、心雑音を含む場合のピーク区間情報の例である。心雑音によってI音II音が聴取しにくくなる場合が多いため、(A)、(B)および(C)の総てにおいてほぼ同様のピーク区間が表れる。(A)〜(C)において、心雑音はI音II音と比較して鳴動時間が長い場合が多いので、
図6(A)等の場合と比較してRATIO、AVEともに
図6(A)等の場合よりも大きい値となる。
【0048】
また鳴動時間についてのバラつきは小さいため、SDは100ms程度の小さい値となる。これは、仮に心房細動等で脈が不整であったとしてもI音とII音との間隔は大きく変化しない場合が多いからである。したがって、心音が正常でなかったとしても、SDについては、心音が正常である場合((
図6(A)、
図6(B)、
図6(C)の場合)と同様に、小さい値となる。これらの関係を
図14のテーブルにまとめる。
【0049】
また、rSUM、rAVE、rSDについては、(A)、(B)および(C)が互いに近い傾向を示すので、1に近い値になる場合が多い(
図15参照)。CORRはどの組み合わせにおいても高い相関を示すので、顕著な差はみられない。
【0050】
図9は、
図8と同様に、心雑音を含む場合のピーク区間情報の例である。
(B)および(C)については
図8(B)(C)の場合と同様であるが、
図9(A)についてみると、
図6(A)や
図7(A)と同じように短いピーク区間が現れている。これは、心雑音を含む場合でも、I音II音を聴取しやすい状態の場合にはこうした結果となる可能性もあるという例である。
図9(A)に示すピーク区間情報は、
図6(A)等と近い傾向を示すので、RATIO、AVEおよびSDについては
図6(A)等の場合と同様に小さい値となる。
図9(B)および
図9(C)のピーク区間情報は、
図8(B)および図(C)と近い傾向を示すので、
図8(B)および図(C)と同様に、RATIOおよびAVEは
図6(A)等の場合よりも大きい値となり、一方、SDは100ms程度の小さい値となる。この関係を
図16のテーブルにまとめた。
【0051】
rSUMについては、ピーク区間情報s11(
図9(B))とピーク区間情報s12(
図9(C))とは近い傾向を示すので、rSUM(s11、s12)は1に近い値になる場合が多い。一方、rSUM(s01、s11)およびrSUM(s01、s12)については、ピーク区間情報s01(
図9(A))のSUMがピーク区間情報s11やピーク区間情報s12のSUMと比較して小さくなるので、1よりも小さい値となる場合が多い(
図17参照)。
【0052】
rAVEについてはrSUMと同様であるが、rSDについてはいずれもバラつきが小さくなるので明確な特徴は示さない。CORRについてみると、ピーク区間情報s11とピーク区間情報s12との組み合わせは、ピーク区間情報s11またはピーク区間情報s12とピーク区間情報s01との組み合わせと比較して高い相関を示すので、CORRの値もこれらの組み合わせの場合よりも大きくなる。
【0053】
図10から
図17は上記に説明した各評価値の傾向をまとめた表である。
RATIO、AVEおよびSDについては、大きな値となる傾向がある箇所に「H」の標記を付し、小さな値となる傾向がある箇所に「L」の標記を付した。一方、rSUMについては比であるので、前述したように比較する2値がほぼ等しくなる傾向がある場合には「1」を付し、1より顕著に大きくなる傾向がある場合は「H」の標記を付し、1より顕著に小さくなる傾向がある場合は「L」の標記を付した。「−」の表記は、算出の必要ない箇所であることを示す。
【0054】
そして、ハッチングで色を付けた箇所は、主に
図6、7(心音が正常である場合)と
図8、9(心音が異常である場合)とでそれぞれ相反する傾向を示すことが多い評価値を示す。すなわち、これらの評価値に基づいて、心雑音の有無を判定できるということが言える。また、ここではRATIO、AVE、SDおよびrSUMを用いた評価値の組み合わせを例示したが、その他の組み合わせを用いても構わない。
【0055】
さて次に、判定部150は、評価値算出部140で算出した評価値に基づいて心雑音の有無について判定を行う(S207)。
先に示した評価値の傾向を利用することで心雑音の有無を判定できることは理解されよう。評価値の傾向を利用して心雑音の有無を判定する方法としてはいくつか考えられる。ここでは二つの例を示す。
【0056】
第1の判定方法は、各評価値を順番にみていって、心雑音を含む場合の特徴があった場合には判定値をカウントアップし、そうでない場合には判定値のカウントアップをしない(そのままにする)という処理を評価値ごとに実施するというものである。例えば、RATIO(s11)が所定の値より大きい場合は判定値に1を加算し、小さい場合は加算しない(0を加算する)、といったことである。前記所定の値は、前述した「H」と「L」とを分ける値を用いたり、また、比を示す値については1を用いたりすることが望ましいが、これらの値に限定するものではない。
【0057】
こうした処理によって、心雑音を含むデータでは判定値が高くなり、心雑音を含まないデータでは判定値が低くなる。すなわち、この判定値に基づいて心雑音の有無を判断することができる(S208)。
【0058】
ここで、判定値への加算方法についてはあくまで一例であり、当然ながら評価値の重要度や信頼性によって重みづけをしてもよい。重みづけの方法については、例えば、AVE(s01)についていうと、
図9(A)に示すように、心雑音がある場合でも正常の場合(
図6(A)や
図7(A))と近い傾向を示す場合がある。したがって、AVE(s01)についての判定値への加算値は小さくするということ等が挙げられる。
一方で、AVE(s11)について見ると、心音が正常である場合と心雑音が含まれる場合とでは反対の傾向を示すので、AVE(s11)についての判定値への加算値は大きくしてもよい(例えば、1.5や2.0を加算する)。
【0059】
図18は、各評価値項目と加算条件との関係の一例である。
例えば、AVE(s01)についていうと、AVE(s01)が230を超えていれば判定値に1.0を加算し、AVE(s01)が230以下であれば加算しない(0を加算する)ということを意味している。
評価値項目ごとに、心音に心雑音が含まれている場合を判定する閾値条件を設定しておき、評価値項目ごとに閾値条件に従って判定値に加算値を加算していく。
そして、
図18の場合には項目(1)、(2)、(6)、(8)、(10)、(11)、(14)、(17)について条件に従って加算値を判定値に加算していき、最終的に、判定値が5を超えていれば心雑音有りと判定する。
また、判定値が5以下であれば心音は正常であると判定する。
なお、ここに挙げた各評価値項目の閾値条件や加算値および判定閾値(ここでは5)は例示であり、例えば心音を採取する環境(マイク感度など)によっても変わってくるのであって、この例に限られないのは当然である。
また、上の例では項目(1)、(2)、(6)、(8)、(10)、(11)、(14)、(17)という8つの項目を使用したが、どの項目を組み合わせて使用するかは適宜選択すればよい。
【0060】
第2の判定方法は、評価値を特徴ベクトルとして、複数の心雑音を含むデータと心雑音を含まないデータとのそれぞれに関してプロトタイプベクトルを生成しておき、判定するデータの特徴ベクトルがどちらに近いかに基づいて判定するというものである。
【0061】
第1判定方法および第2判定方法ともに、必ずしも総ての評価値を用いる必要はなく、必要に応じて1つ以上の評価値を用いればよい。
多くの評価値を組み合わせれば判定の精度は向上すると考えられるが、計算量やメモリ量も増えてくるので、必要に応じて評価値を最適に組み合わせればよい。また、第2判定方法の特徴ベクトルを用いて機械学習を行って判定モデルを生成しても良いし、一つの評価値のみに基づいて判定を行っても良い。
【0062】
表示部200は、判定部150で判定した結果を表示する。このとき、判定部150における判定結果として心音に心雑音が含まれることが分かった場合には(S208:YES)、判定結果と合わせて心雑音の区間がユーザにわかるようにしてもよい。心雑音の区間は、ピーク区間情報生成部130で生成されたピーク区間情報に基づいて検出できる。
【0063】
このように、心音信号から複数の帯域成分の特徴を示す信号を生成し、各信号から評価値を算出し、評価値に基づいて心雑音の有無を判定することで、簡単に異常の検出を可能にする。また、心周期の二つ分程度の長さの心音信号があれば本実施形態の解析を十分適用できるので、本実施形態は短時間で実施することも可能である。
【0064】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
心音分析装置100の各機能部は、各種論理素子等からなる専用のハードウェアで構成されてもよいし、あるいは、CPU、ROM、RAMを備えたコンピュータに心音分析プログラムを組み込んで各機能部として動作させてもよい。プログラムをインストールするには、コンピュータにメモリカードやCD−ROM等を直接差し込んで行ってもよいし、これらの記憶媒体を読み取る機器を外付けで接続してもよい。さらには、有線または無線の通信によってプログラムをコンピュータに供給してインストールしてもよい。なお、各種記録媒体や通信手段等で供給されるプログラムとしては、本発明に係る心音情報処理プログラムが含まれていればよく、それ以外の制御などを行うプログラムが含まれていてもよい。