【実施例】
【0047】
以下では、図面を参照して呼吸音解析装置及び呼吸音解析方法、並びにコンピュータプログラム及び記録媒体の実施例について詳細に説明する。
【0048】
<全体構成>
先ず、本実施例に係る呼吸音解析装置の全体構成について、
図1を参照して説明する。ここに
図1は、本実施例に係る呼吸音解析装置の全体構成を示すブロック図である。
【0049】
図1において、本実施例に係る呼吸音解析装置は、主な構成要素として、生体音取得部110と、第1分解部120と、第2分解部130と、成分量算出部140と、結果出力部150とを備えて構成されている。
【0050】
生体音取得部110は、生体の呼吸音を取得可能なセンサ等として構成される。生体音取得部110は、例えばECM(Electret Condenser Microphone)やピエゾを利用したマイク、振動センサ等で構成されている。生体音取得部110で取得された呼吸音は、第1分解部120に出力される構成となっている。
【0051】
第1分解部120は、「第1分解手段」の一具体例であり、複数の演算回路やメモリ等を含んで構成されている。具体的には、第1分解部120は、周波数解析部121、ピーク周波数検出部122、基底集合生成部123、混合モデル基準データベース記憶部124、及び基底混合比算出部125を備えている。第1分解部120は、生体音取得部110で取得された呼吸音を、基底集合を利用して複数の音種に対応する成分へと分解する。第1分解部120での分解結果は、第2分解部130へと出力される構成となっている。第1分解部120に備えられる各部の動作については、後に詳述する。
【0052】
第2分解部130は、「第2分解手段」の一具体例であり、複数の演算回路やメモリ等を含んで構成されている。具体的には、第2分解部130は、ピーク周波数連続性判定部131、周波数記憶部132、結合部133、振幅値連続性判定部134、及び振幅値記憶部135を備えている。第2分解部130は、第1分解部120で分解された複数の音種に対応する成分を、時系列的特徴に基づいて更に分解する。第2分解部130での分解結果は、成分量算出部140へと出力される構成となっている。第2分解部130に備えられる各部の動作については、後に詳述する。
【0053】
成分量算出部140は、第1分解部120及び第2分解部130での分解結果に基づいて、生体音取得部110で取得された呼吸音に含まれる各音種の成分量を算出するものとして構成されている。成分量算出部140で算出された成分量を示す情報は、結果出力部150に出力される構成となっている。
【0054】
結果出力部150は、成分量算出部140で算出された各音種の成分量を、例えばディスプレイ等の画像や映像を表示可能な機器、或いはスピーカ等の音声を出力可能な機器に出力するものとして構成されている。
【0055】
<動作説明>
次に、本実施例に係る呼吸音解析装置の動作について、
図1に加えて
図2を参照して説明する。ここに
図2は、本実施例に係る呼吸音解析装置の動作を示すフローチャートである。ここでは、本実施例に係る呼吸音解析装置が実行する処理の全体的な流れを把握するための簡単な説明を行う。各処理の詳細については、後述する。
【0056】
図1及び
図2において、本実施例に係る呼吸音解析装置の動作時には、先ず生体音取得部110において呼吸音が取得される(ステップS101)。
【0057】
呼吸音信号が取得されると、周波数解析部121において周波数解析(例えば、高速フーリエ変換)が実行される(ステップS102)。また、ピーク周波数検出部122において、周波数解析結果を用いたピーク(極大値)の検出が実行される。
【0058】
続いて、基底集合生成部123において基底集合が生成される(ステップS103)。具体的には、基底集合生成部123は、混合モデル基準データベース記憶部124に記憶されている基底を用いて基底集合を生成する。この際、基底集合生成部123は、周波数解析結果から得られたピーク位置(即ち、対応する周波数)に基づいて、基底をシフトさせる。
【0059】
基底集合が生成されると、基底混合比算出部125において、周波数解析結果及び基底集合に基づく結合係数(即ち、各基底に対応する音種の成分量に対応する値)の算出が実行され(ステップS104)、結合係数に応じた信号強度が算出される(ステップS105)。また、基底混合比算出部125では更に、算出結果に基づいて音種パターン判定が行われ、分解された各成分が音種毎に異なる部位へと出力される(ステップS106)。
【0060】
具体的には、比較的なだらかな形状で表されるスペクトルを特徴とする成分は捻髪音成分と判定され、成分量算出部140に出力される(ステップS107)。即ち、捻髪音と判定された成分については、第2分解部130での分解は行われない。
【0061】
また、鋭いピークを有するスペクトルを特徴とする成分は主に連続性ラ音を含む成分として判定され、ピーク周波数連続性判定部131に出力される。ピーク周波数連続性判定部131では、ピーク周波数が時系列的に連続しているか否かが判定される(ステップS108)。ピーク周波数は、所定の時間間隔で取得された上で周波数記憶部132に記憶されており、ピーク周波数連続性判定部131は、周波数記憶部132に記憶されている過去のピーク周波数を利用して時系列的な連続性を判定する。
【0062】
ここで、ピーク周波数が時系列的に連続していると判定された成分は(ステップS108:YES)、連続性ラ音成分として更に周波数が所定閾値以上であるか否か判定される(ステップS109)。ピーク周波数が所定閾値以上である成分は(ステップS109:YES)、笛声音成分と判定され、成分量算出部140に出力される(ステップS110)。一方、ピーク周波数が所定閾値未満である成分は(ステップS109:NO)、類鼾音成分と判定され、成分量算出部140に出力される(ステップS111)。なお、ピーク周波数が時系列的に連続していないと判定された成分は(ステップS108:NO)、正常呼吸音及び水泡音を含む成分として、結合部133へと出力される。
【0063】
捻髪音成分及び連続性ラ音を含む成分以外の成分として判定された成分は、正常呼吸音及び水泡音を含む成分として、結合部133に出力される。この正常呼吸音及び水泡音を含む成分は、結合部133において、ピーク周波数連続性判定部131においてピーク周波数が時系列的に連続していないと判定された成分と結合される。結合された正常呼吸音及び水泡音を含む成分は、振幅値連続性判定部134に出力される。
【0064】
振幅値連続性判定部134では、スペクトルの振幅値が時系列的に連続しているか否かが判定される(ステップS112)。スペクトルの振幅値は、所定の時間間隔で取得された上で振幅値記憶部135に記憶されており、振幅値連続性判定部134は、振幅値記憶部135に記憶されている過去の振幅値を利用して時系列的な連続性を判定する。
【0065】
ここで、振幅値が時系列的に連続していると判定された成分は(ステップS112:YES)、正常呼吸音成分と判定され、成分量算出部140に出力される(ステップS113)。一方、振幅値が時系列的に連続していないと判定された成分は(ステップS112:NO)、水泡音と判定され、成分量算出部140に出力される(ステップS114)。
【0066】
続いて、成分量算出部140では、第1分解部120及び第2分解部130での分解結果に基づいて、信号強度が算出される(ステップS115)。信号強度が算出されると、結果出力部150において、信号強度(即ち、呼吸音に含まれる各音種の成分量)を示す画像データ等が生成され、外部のディスプレイ等において解析結果として表示される(ステップS116)。
【0067】
その後、解析処理を継続するか否かの判定が実行される(ステップS117)。解析処理を継続すると判定された場合(ステップS117:YES)、ステップS101からの処理が再び実行される。解析処理を継続しないと判定された場合(ステップS117:NO)、一連の処理は終了する。
【0068】
<呼吸音信号の具体例>
次に、本実施例に係る呼吸音解析装置で解析される呼吸音信号の具体例について、
図3及び
図4を参照して説明する。ここに
図3は、捻髪音を含む呼吸音の周波数解析結果を示すスペクトログラム図であり、
図4は、笛声音を含む呼吸音の周波数解析結果を示すスペクトログラム図である。
【0069】
図3に示す例では、正常呼吸音に対応するスペクトログラムパターンに加えて、異常呼吸音の1つである捻髪音に対応するスペクトログラムパターンが観測されている。捻髪音に対応するスペクトログラムパターンは、図中の拡大部分に示すように、菱形に近い形状である。
【0070】
図4に示す例では、正常呼吸音に対応するスペクトログラムパターンに加えて、異常呼吸音の1つである笛声音に対応するスペクトログラムパターンが観測されている。笛声音に対応するスペクトログラムパターンは、図中の拡大部分に示すように、白鳥の首のような形状である。
【0071】
このように、異常呼吸音には複数の音種が存在し、その音種によって異なる形状のスペクトログラムパターンとして観測される。ただし、図を見ても分かるように、正常呼吸音及び異常呼吸音は互いに混じり合った状態で検出される。本実施例に係る呼吸音解析装置は、このように混じり合った複数の音種を分解するための処理を実行する。
【0072】
<呼吸音信号の近似方法>
次に、本実施例に係る呼吸音解析装置の第1分解部120による分解処理(即ち、基底集合を利用した分解)の概略について、
図5から
図8を参照して簡単に説明する。ここに
図5は、捻髪音を含む呼吸音の所定タイミングにおけるスペクトルを示すグラフであり、
図6は、捻髪音を含む呼吸音のスペクトルの近似方法を示す概念図である。また
図7は、笛声音を含む呼吸音の所定タイミングにおけるスペクトルを示すグラフであり、
図8は、笛声音を含む呼吸音のスペクトルの近似方法を示す概念図である。
【0073】
図5において、捻髪音を含む呼吸音信号(
図3参照)について、捻髪音に対応するスペクトログラムパターンが強く現れているタイミングでスペクトルを抽出すると、図に示すような結果が得られる。このスペクトルは、正常呼吸音と捻髪音とを含んでいると考えられる。
【0074】
図6において、正常呼吸音に対応するスペクトル及び捻髪音に対応するスペクトルは、予め実験等により推定できる。このため、予め推定したパターンを利用すれば、上述したスペクトルについて、正常呼吸音に対応する成分と捻髪音に対応する成分とがどのような割合で含まれているかを知ることができる。
【0075】
図7において、笛声音を含む呼吸音信号(
図4参照)について、笛声音に対応するスペクトログラムパターンが強く現れているタイミングでスペクトルを抽出すると、図に示すような結果が得られる。このスペクトルは、正常呼吸音と笛声音とを含んでいると考えられる。
【0076】
図8において、上述した正常呼吸音及び捻髪音と同様に、笛声音に対応するスペクトルについても、予め実験等により推定できる。このため、予め推定したパターンを利用すれば、上述したスペクトルについて、正常呼吸音に対応する成分と笛声音に対応する成分とがどのような割合で含まれているかを知ることができる。
【0077】
以下では、このような解析を実現するための各処理について、より具体的に説明する。
【0078】
<周波数解析>
呼吸音信号の周波数解析及び解析結果におけるピークの検出について、
図9から
図11を参照して詳細に説明する。ここに
図9は、周波数解析方法の一例を示すグラフであり、
図10は、周波数解析結果の一例を示す図である。また
図11は、スペクトルのピーク検出結果を示す概念図である。
【0079】
図9において、取得された呼吸音信号に対しては、先ず周波数解析が実行される。周波数は、高速フーリエ変換等の既存の技術を利用して行うことができる。本実施例では、周波数毎の振幅値(即ち、振幅スペクトル)を周波数解析結果として用いている。なお、データ取得時のサンプリング周波数、窓サイズ、窓関数(例えば、ハニング窓等)については、適宜決定すればよい。
【0080】
図10に示すように、周波数解析結果は、n個の値で構成されるものとして得られる。なお、「n」は、周波数解析における窓サイズ等によって決まる値である。
【0081】
図11において、周波数解析によって得られたスペクトルについては、ピークの検出が実行される。図に示す例では、100Hz、130Hz、180Hz,及び320Hzの位置にピークp1〜p4が検出されている。なお、ピークの検出処理については、どの周波数にピークが存在するかだけわかればよいため、簡易的な処理でも構わない。ただし、小さなピークでも取りこぼしがないよう、ピーク検出のパラメータ設定されていることが好ましい。
【0082】
本実施例では、極大値を取る点を求め、更にその点の2階微分値の小さいもの(即ち、絶対値が大きいもの)から順に最大N個(Nは所定の値)を検出している。極大値は、差分の符号が正から負に切り替わる点から求められる。2階微分値は差分の差分で近似する。この値が所定の閾値(負の値)より小さいものを、小さいものから順に最大N個選び、その位置を記憶する。
【0083】
<基底集合の生成>
次に、基底集合の生成について、
図12から
図16を参照して詳細に説明する。ここに
図12は、正常肺胞呼吸音基底を示すグラフである。また
図13は、捻髪音基底を示すグラフであり、
図14は、連続性ラ音基底を示すグラフであり、
図15は、ホワイトノイズ基底を示すグラフである。
図16は、周波数シフトされた連続性ラ音基底を示すグラフである。
【0084】
図12から
図15に示すように、各音種に対応する基底(「基準スペクトル」の一具体例)は、特有の形状を有している。なお、各基底は周波数解析結果と同じn個の数値(即ち、周波数ごとの振幅値)で構成されている。なお、各基底は、周波数毎の振幅値を示す線と周波数軸とで囲まれた面積が所定の値(例えば1)になるように正規化されている。
【0085】
ちなみに、ここでは正常肺胞呼吸音基底、捻髪音基底、連続性ラ音基底、ホワイトノイズ基底の4つの基底を示しているが、1つの基底しかない場合でも分解処理を実行することができる。また、ここで挙げた基底以外の基底を用いることもできる。なお、ここで挙げた呼吸音に対応する基底に代えて、例えば心拍音や腸音に対応する基底を用いれば、心拍音や腸音の分解を実行することも可能である。
【0086】
図16において、上述した基底のうち連続性ラ音に対応する基底は、周波数解析の結果から検出されたピーク位置に合わせて周波数シフトされる。ここでは、
図11で示したピークp1〜p4の各々に合わせて、連続性ラ音基底を周波数シフトさせた例を示している。なお、連続性ラ音に対応する基底以外の基底を周波数シフトさせてもよい。
【0087】
以上の結果、基底集合は、正常肺胞呼吸音基底、捻髪音基底、ピーク検出個数分の連続性ラ音基底、及びホワイトノイズ基底の集合として生成される。
【0088】
<結合係数の算出>
次に、結合係数の算出について、
図17から
図19を参照して詳細に説明する。ここに
図17は、スペクトルと、基底及び結合係数との関係を示す図であり、
図18は、観測されたスペクトル及び近似に用いられる基底の一例を示す図である。また
図19は、非負値行列因子分解による近似結果を示す図である。
【0089】
解析対象であるスペクトルy、基底h(f)、及び結合係数uの関係は、以下の数式(1)で表すことができる。
【0090】
【数1】
図17に示すように、スペクトルy及び各基底h(f)は、n個の値を有している。他方、結合係数は、m個の値を有している。なお、「m」は、基底集合に含まれる基底の数である。
【0091】
本実施例に係る呼吸音解析装置では、非負値行列因子分解を利用して基底集合に含まれる各基底の結合係数を算出する。具体的には、以下の数式(2)で示される最適化基準関数Dを最小化するu(ただし、uの各成分値は非負)を求めればよい。
【0092】
【数2】
なお、一般的な非負値行列因子分解は、基底スペクトルの集合を表す基底行列と、結合係数を表すアクティベーション行列を共に算出する手法であるが、本実施例においては、基底行列を固定して結合係数のみを算出している。
【0093】
ちなみに、結合係数を算出するための手段として、非負値行列因子分解以外の近似法を用いてもよい。ただし、この場合においても非負であるという条件が望まれる。以下では、非負の近似法を用いる理由について、具体例を挙げて説明する
図18に示すように、観測されたスペクトルを、基底A〜Dの4つの基底で近似して結合係数を算出する場合を考える。なお、非負であることを条件とした場合の期待する結合係数uは、基底Aに対応するものが1、基底Bに対応するものが1、基底Cに対応するものが0、基底Dに対応するもの0である。即ち、非負であることを条件とした場合、観測されたスペクトルは、基底Aに1を乗じたものと、基底Bに1を乗じたものとを足し合わせたスペクトルとして近似される。
【0094】
一方、非負であることを条件としない場合に算出され得る結合係数uは、基底Aに対応するものが0、基底Bに対応するものが0、基底Cに対応するものが1、基底Dに対応するものが−0.5である。即ち、非負であることを条件としない場合、観測されたスペクトルは、基底Cに1を乗じたものと、基底Dに−0.5を乗じたものとを足し合わせたスペクトルとして近似される。
【0095】
上述した2つの例を比較した場合、非負であることを条件とする場合よりも、非負であることを条件としない場合の方が高い近似精度を得られることがある。しかしながら、ここでの結合係数uはスペクトルごとの成分量を表すものであるため、非負の値として得られなければならない。言い換えれば、結合係数uが負の値で得られた場合には、成分量としての解釈ができない。これに対し、非負の条件を課して近似を行えば、成分量に対応する結合係数uを算出することができる。
【0096】
図19において、本実施例に係る生体解析装置では、上述したように、正常肺胞呼吸音基底、捻髪音基底、4つの連続性ラ音基底、及びホワイトノイズ基底からなる基底集合を用いて結合係数uを算出するため、結合係数uは、u
1からu
7の7個の値を有するものとして算出される。
【0097】
ここで、正常肺胞呼吸音基底に対応する結合係数u
1は、呼吸音に対する正常肺胞呼吸音の割合を示す値であると言える。同様に、捻髪音基底に対応する結合係数u
2、ホワイトノイズ基底に対応する結合係数u
3、100Hzにシフトした連続性ラ音基底に対応する結合係数u
4、130Hzにシフトした連続性ラ音基底に対応する結合係数u
5、180Hzにシフトした連続性ラ音基底に対応する結合係数u
6、及び320Hzにシフトした連続性ラ音基底に対応する結合係数u
7の各々についても、呼吸音に対する各音種の割合を示す値であると言える。従って、結合係数uから各音種の信号強度を算出することができる。
【0098】
以上のように、本実施例では、各音種に対応する複数の基底を利用して呼吸音に含まれる複数の音種を分解する。
【0099】
<ピーク周波数の時間的連続性を利用した分解>
次に、ピーク周波数連続性判定部131において行われる分解処理について、
図20及び
図21を参照して具体的に説明する。ここに
図20及び
図21は夫々、ピーク周波数の時間的連続性を利用した分解方法を示す概念図である。
【0100】
ピーク周波数連続性判定部131は、上述したように、第1分解部120において連続性ラ音を含む成分として分解された一つ以上の成分を、連続性ラ音とそれ以外の音(例えば、正常呼吸音及び水泡音等)に分解する。具体的には、呼吸音信号の周波数解析結果から検出されるピーク周波数が、所定の範囲内で変動している場合に連続性ラ音であると判定する。
【0101】
図20に示すように、連続性ラ音である笛声音や類鼾音は、時間軸上で連続して検出されるピークの位置が所定の範囲内に収まるように変動する。言い換えれば、ピーク周波数が時間的に連続性を有するように変化する。よって、連続するピーク位置が所定の範囲内にある場合には、その音が連続性ラ音であると判別できる。
【0102】
他方、
図21に示すように、連続性ラ音以外の音は、時間軸上で連続して検出されるピークの位置が所定の範囲内に収まらないように変動する。言い換えれば、ピーク周波数が時間的な連続性を有さず離散的に変化する。よって、連続するピーク位置が所定の範囲内でない場合には、その音が連続性ラ音でないと判別できる。
【0103】
なお、連続性ラ音の判定には、複数回の判定結果を用いることもできる。具体的には、時間軸上で連続して検出されるピークの位置が所定の範囲内に収まるように変動している回数が所定回数以上継続した場合に、その音が連続性ラ音であると判定するようにしてもよい。
【0104】
<ピーク周波数に対する閾値を利用した分解>
次に、ピーク周波数の時間的連続性を利用した分解の後に実行される、ピーク周波数に対する閾値を利用した分解について説明する。なお、以下では、3つの異なる実施例について説明する。
【0105】
<第1実施例>
先ず、第1実施例に係る閾値を利用した分解方法について、
図22を参照して説明する。ここに
図22は、第1実施例に係る笛声音と類鼾音との分解に用いる閾値を示すグラフである。
【0106】
第1実施例に係る分解方法では、ピーク周波数の時間的連続性を利用した分解の結果として得られる一つ以上の連続性ラ音成分を、所定閾値との比較により笛声音と類鼾音とに分解する。ここで、笛声音は高音性連続性ラ音、類鼾音は低音性連続性ラ音と呼ばれるように、笛声音と類鼾音とは音の高さ(即ち、周波数)で判別することが可能である。しかしながら、笛声音及び類鼾音は、ピーク周波数が時間的に変化する。このため、ピーク周波数に対する単一の閾値(即ち、値が変動しない一つの閾値)を利用して笛声音及び類鼾音を判定しようとすると、時間の経過により、判定結果が変化してしまうことがある。例えば、ピーク周波数が判定閾値を跨ぐように変化してしまうと、それまでは正確に判定されていたものが、誤った音種として判定されることになってしまう。このため第1実施例では、ピーク周波数に応じて判定閾値を変動させる。
【0107】
図22に示すように、第1実施例に係る分解処理では、笛声音と判定する割合及び類鼾音と判定する割合がピーク周波数に応じてなめらかに変化するように閾値が変動する。例えば、ピーク周波数が200Hzの場合には、笛声音が7%含まれ、類鼾音が93%含まれると判定する。ピーク周波数が250Hzの場合には、笛声音が50%含まれ、類鼾音が50%含まれると判定する。ピーク周波数が280Hzの場合には、笛声音が78%含まれ、類鼾音が22%含まれると判定する。なお、ここでの具体的な数値はあくまで一例であり、異なる値を設定してもよい。また、測定対象である生体の性別、年齢、身長、体重等によって異なる変動特性を有するようにしてもよい。
【0108】
上述した変動する閾値を利用することで、ピーク周波数の変動に起因する誤判定を好適に防止することができる。即ち、第1実施例に係る分解処理では、笛声音及び類鼾音を判定するための閾値がピーク周波数に応じて適切な値にとなるよう変動するため、例えば変動しない単一の閾値を用いる場合と比較して、より正確な分解が行える。
【0109】
<第2実施例>
次に、第2実施例に係る分解処理について、
図23から
図25を参照して説明する。ここに
図23は、第2実施例に係る笛声音と類鼾音との分解に用いる閾値の初期値を示すグラフである。また
図24及び
図25は夫々、第2実施例に係る笛声音と類鼾音との分解に用いる閾値の調整後の値を示すグラフである。
【0110】
図23に示すように、第2実施例に係る分解処理では、閾値である250Hzを境にして判定結果が変化するものとして設定されている。具体的には、ピーク周波数が250Hz以上である場合には、連続性ラ音は笛声音成分を100%含んでおり、類鼾音は含んでいないと判定される。一方、ピーク周波数が250Hz未満である場合には、連続性ラ音は類鼾音成分を100%含んでおり、笛声音は含んでいないと判定される。
【0111】
図24に示すように、第2実施例に係る分解処理では、直前の判定において笛声音成分を100%含むものであると判定された場合、閾値が250Hzから220Hzへと低くされる。よって、笛声音成分を100%含むものとして判定され易くなる。具体的には、ピーク周波数が230Hzの場合を考えると、初期の閾値(
図23参照)によれば類鼾音と判定されることになるが、調整後の閾値(
図24参照)によれば笛声音と判定される。
【0112】
図25に示すように、第2実施例に係る分解処理では、直前の判定において類鼾音成分を100%含むものであると判定された場合、閾値が250Hzから280Hzへと高くされる。よって、類鼾音成分を100%含むものとして判定され易くなる。具体的には、ピーク周波数が270Hzの場合を考えると、初期の閾値(
図23参照)によれば笛声音と判定されることになるが、調整後の閾値(
図25参照)によれば類鼾音と判定される。
【0113】
上述したように閾値を調整すれば、ピーク周波数の変動に起因する誤判定を好適に防止することができる。即ち、第2実施例に係る分解処理では、笛声音及び類鼾音を判定するための閾値が過去の判定結果に基づいて適切なものへと調整されるため、例えば調整されない単一の閾値を用いる場合と比較して、より正確な判定が行える。
【0114】
なお、閾値の調整は、直前の判定結果だけによらず、複数回の過去の判定結果に基づいて行われてもよい。また、複数回の過去の判定結果を利用する場合は、各判定結果に対して重み付けを行ってもよい。例えば、過去の判定結果であるほど影響が小さくなるように重み付けを行ってもよい。また、調整する閾値の初期値として、第1実施例のなめらかな閾値を用いてもよい(
図22参照)。
【0115】
<第3実施例>
次に、第3実施例に係る分解処理について、
図26から
図29を参照して説明する。ここに
図26は、笛声音を含む呼吸音のスペクトログラム図であり、
図27は、笛声音のピーク周波数及びピーク数を示すグラフである。また
図28は、類鼾音を含む呼吸音のスペクトログラム図であり、
図29は、類鼾音のピーク周波数及びピーク数を示すグラフである。
【0116】
図26において、笛声音を含む呼吸音は、所定のピークを有するスペクトル波形として検出される。ここからピーク周波数F及びピーク数Nを検出するには、先ずスペクトル波形の単一時間(即ち、図中の白枠で囲った領域)に対応する周波数−振幅グラフを作成する。
【0117】
図27に示すグラフから、笛声音のピーク周波数F1及びピーク数N1が検出できる。なお、笛声音のピーク周波数の分布は、180〜900Hz程度であることが分かっている。また、図を見ても分かるように、笛声音のピーク数N1は1個である。
【0118】
図28において、類鼾音を含む呼吸音は、笛声音とは異なる所定のピークを有するスペクトル波形として検出される。ここからピーク周波数F及びピーク数Nを検出するには、同様にスペクトル波形の単一時間に対応する周波数−振幅グラフを作成する。
【0119】
図29に示すグラフから、類鼾音のピーク周波数F2及びピーク数N2が検出できる。なお、類鼾音のピーク周波数の分布は、100〜260Hz程度であることが分かっている。即ち、類鼾音のピーク周波数F2は、笛声音のピーク周波数F1よりも低い領域に分布していることになる。また、図を見ても分かるように、類鼾音のピーク数N2は例えば、3個である。即ち、類鼾音のピーク数N2は、笛声音のピーク数N1のように1つでなく、複数である。
【0120】
第3実施例に係る分解処理では、上述した笛声音及び類鼾音の特性の違いを利用して判定が行われる。具体的には、ピーク周波数F及びピーク数Nの各々に基づいて、笛声音と類鼾音とが分解される。このようにすれば、例えばピーク周波数Fだけを利用して笛声音と類鼾音とを分解する場合と比べて、より正確な分解が行える。
【0121】
<振幅値の時間的連続性を利用した分解>
次に、振幅値連続性判定部134において行われる分解処理について、
図30及び
図31を参照して具体的に説明する。ここに
図30及び
図31は夫々、振幅値の時間的連続性を利用した分解方法を示す概念図である。
【0122】
振幅値連続性判定部134は、上述したように、第1分解部120及びピーク周波数連続性判定部131において正常呼吸音及び水泡音を含む成分として分解された一つ以上の成分を、正常呼吸音と水泡音とに分解する。具体的には、呼吸音信号の周波数解析結果から検出されるスペクトルの振幅値が、所定の範囲内で変動している場合に正常呼吸音であると判定し、所定の範囲内で変動していない場合に水泡音であると判定する。
【0123】
図30に示すように、正常呼吸音は、時間軸上で連続して検出される振幅値が所定の範囲内に収まるように変動する。言い換えれば、振幅値が時間的に連続性を有するように変化する。よって、連続する振幅値が所定の範囲内にある場合には、その音が正常呼吸音であると判別できる。
【0124】
他方、
図31に示すように、水泡音は、時間軸上で連続して検出される振幅値が所定の範囲内に収まらないように変動する。言い換えれば、振幅値が時間的な連続性を有さず離散的に変化する。よって、連続する振幅値が所定の範囲内でない場合には、その音が水泡音であると判別できる。
【0125】
なお、正常呼吸音と水泡音との分解処理には、複数回の判定結果を用いることもできる。具体的には、時間軸上で連続して検出される振幅値が所定の範囲内に収まるように変動している回数が所定回数以上継続した場合に、その音が正常呼吸音であると判定し、それ以外の場合には水泡音であると判定するようにしてもよい。
【0126】
<分解処理の具体例>
次に、本実施例に係る呼吸音解析装置における分解処理について、
図32及び
図33を参照して、より具体的に説明する。ここに
図32及び
図33は夫々、分解処理の各段階において得られるスペクトログラムを、順を追って示す概念図である。
【0127】
図32に示す例では、捻髪音を多く含み、笛声音及び類鼾音は殆ど含まれない呼吸音を解析対象としている。
【0128】
取得された呼吸音波形をSTFTにより解析することで、解析処理間隔毎のスペクトルが得られる。周波数解析後スペクトルは、基底集合を利用した分解によって、正常・水泡音代表成分(即ち、正常呼吸音及び水泡音の殆どを含む成分)、ピーク型スペクトル成分(即ち、主として連続性ラ音を含む成分)、捻髪音成分、ノイズ成分(図示省略)に分解される。
【0129】
ピーク型スペクトラム成分は、ピーク周波数の連続性を利用した分解により、連続性ラ音成分と、正常・水泡音成分の一部とに分解される。連続性ラ音成分は、周波数閾値を利用した分解により、類鼾音成分と笛声音成分とに分解される。他方、正常・水泡音成分の一部は、基底集合を利用して分解された正常・水泡音代表成分と結合された後、振幅値の連続性を利用した分解によって、正常呼吸音成分と水泡音成分とに分解される。
【0130】
ここで、分解後のスペクトログラムを見ても分かるように、捻髪音成分は多く抽出される一方で、笛声音成分及び類鼾音成分は殆ど抽出されていない。この結果から、呼吸音に含まれる各音種を正確に分解できていることが分かる。
【0131】
一方、
図33に示す例では、笛声音及び類鼾音を多く含み、捻髪音は殆ど含まれない呼吸音を解析対象としている。
【0132】
この場合の分解後のスペクトログラムを見てみると、笛声音成分及び類鼾音成分は多く抽出される一方で、捻髪音成分は殆ど抽出されていない。この結果からも、
図32の例と同様に、呼吸音に含まれる各音種を正確に分解できていることが分かる。
【0133】
<解析結果の表示例>
次に、解析結果の具体的な表示例について、
図34及び
図35を参照して詳細に説明する。ここに
図34及び
図35は夫々、表示部における表示例を示す平面図である。なお、
図34の表示例は、
図32に示す解析結果(即ち、捻髪音を多く含む呼吸音の解析結果)に対応しており、
図35の表示例は、
図33に示す解析結果(即ち、笛声音及び類鼾音を多く含む呼吸音の解析結果)に対応している。
【0134】
図34及び
図35に示すように、本実施形態に係る呼吸音解析装置に接続される表示部の表示領域200には、解析結果が複数の画像として表示される。具体的には、領域200aには、取得された呼吸音の波形が表示されている。領域200bには、取得された呼吸音のスペクトルが表示されている。領域200cには、取得された呼吸音のスペクトログラムが表示されている。領域200dには、分解された各音種(ここでは、正常呼吸音、類鼾音、笛声音、捻髪音、水泡音の5音種)の成分量の時系列変化を表すグラフが表示されている。領域200eには、分解された各音種の割合がレーダーチャートとして表示されている。
【0135】
このような表示を行うことにより、解析結果を視覚的に分かりやすく提供することが可能である。即ち、ユーザに対して、呼吸音に含まれている各成分の割合を直感的に知らせることができる。なお、このような解析結果の表示態様はあくまで一例であり、他の表示態様で解析結果が表示されてもよい。例えば、分解された各音種の割合は、棒グラフや円グラフとして表示されてもよいし、数値化して表示されてもよい。
【0136】
以上説明したように、本実施例に係る呼吸音解析装置によれば、呼吸音に含まれるスペクトルを好適に分解して、呼吸音に含まれる各音種の割合に関する情報を出力することが可能である。
【0137】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う呼吸音解析装置及び呼吸音解析方法、並びにコンピュータプログラム及び記録媒体もまた本発明の技術的範囲に含まれるものである。