(57)【要約】【課題】食事時間の推定精度が低下するのを抑制すること。【解決手段】情報処理装置１００は、心拍を表わす信号を取得する処理と、信号から隣接する心拍の時間間隔を算出する処理と、時間間隔のうちの２つの時間間隔の差を算出する処理と、時間間隔の差に基づき、該時間間隔に対応する時刻に嚥下が有ったか否かを検出する処理と、嚥下に対応する時刻から食事時間を推定する処理とを実行する。【選択図】図１
2017012249.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
心拍を表わす信号を取得する処理と、
前記信号から隣接する心拍の時間間隔を算出する処理と、
前記時間間隔のうちの２つの時間間隔の差を算出する処理と、
前記時間間隔の差に基づき、該時間間隔に対応する時刻に嚥下が有ったか否かを検出する処理と、
前記嚥下に対応する時刻から食事時間を推定する処理と、
を実行することを特徴とする食事時間推定方法。
【請求項２】
前記推定する処理は、前記食事時間として、食事開始時刻、食事終了時刻及び食事所要時間のうち少なくともいずれか１つを推定することを特徴とする請求項１に記載の食事時間推定方法。
【請求項３】
前記推定する処理は、
前記検出した嚥下に対応する時刻と、隣接する前記検出した嚥下に対応する時刻との間隔が第１の閾値以上かつ第２の閾値以下である、一連の嚥下にそれぞれ対応する時刻のうち、少なくとも第１の食事開始時刻候補として最初の時刻または、第１の食事終了時刻候補として最後の時刻のいずれかを推定することを特徴とする請求項１または２に記載の食事時間推定方法。
【請求項４】
前記推定する処理は、前記一連の嚥下が所定数以上あるときに、前記第１の食事開始時刻候補および前記第１の食事終了時刻候補をそれぞれ食事開始時刻および食事終了時刻と推定することを特徴とする請求項３に記載の食事時間推定方法。
【請求項５】
前記推定する処理は、前記食事開始時刻および食事終了時刻を推定した後に、新たに食事開始時刻および食事終了時刻を推定した場合、先に推定した食事終了時刻と後に判定した食事開始時刻の間隔が第３の閾値以内の場合に、先に判定した食事と後に判定した食事は、先に判定した食事開始時刻を食事開始時刻とし、後に判定した食事終了時刻を食事終了時刻とする同一の食事イベントと推定することを特徴とする請求項４に記載の食事時間推定方法。
【請求項６】
前記コンピュータが、
心拍数の時系列データを取得する処理と、
前記心拍数の時系列データから前記心拍数の上昇に対応する第２の食事開始時刻候補を、前記心拍数の下降に対応する第２の食事終了時刻候補を推定する処理とをさらに実行し、
前記推定する処理は、前記第１の食事開始時刻候補から前記第１の食事終了時刻候補までの期間と、前記第２の食事開始時刻候補から前記第２の食事終了時刻候補までの期間が所定時間以上または所定以上の割合で重なった場合に、前記第１の食事開始時刻候補、前記第１の食事終了時刻候補、前記第２の食事開始時刻候補および前記第２の食事終了時刻候補に基づき食事開始時刻および食事終了時刻を推定することを特徴とする請求項４または５に記載の食事時間推定方法。
【請求項７】
前記コンピュータが、
第２の食事開始時刻候補から第２の食事終了時刻候補までの期間の前記検出した嚥下に対する特徴量を算出する処理をさらに実行させ、
前記推定する処理は、前記特徴量が所定の条件を満たす場合に、食事開始時刻および食事終了時刻を判定することを特徴とする請求項６に記載の食事時間推定方法。
【請求項８】
前記推定する処理は、前記時間間隔に対応する時刻に嚥下があったと推定され、かつ、前記心拍数の上昇および下降を検出する処理が心拍数の上昇も下降も検出しなかった場合に、該嚥下が間食に対応すると判定することを特徴とする請求項６または７に記載の食事時間推定方法。
【請求項９】
前記コンピュータが、
前記食事時間から求まる食事の摂取量が所定の閾値以上である場合に通知を行う処理をさらに実行することを特徴とする請求項１〜８のいずれか１つに記載の食事時間推定方法。
【請求項１０】
前記コンピュータが、
前記時間間隔の差から求まる食事のスピードが所定の条件を満たす場合に通知を行う処理をさらに実行することを特徴とする請求項１〜９のいずれか１つに記載の食事時間推定方法。
【請求項１１】
コンピュータに、
心拍を表わす信号を取得する処理と、
前記信号から隣接する心拍の時間間隔を算出する処理と、
前記時間間隔のうちの２つの時間間隔の差を算出する処理と、
前記時間間隔の差に基づき、該時間間隔に対応する時刻に嚥下が有ったか否かを検出する処理と、
前記嚥下に対応する時刻から食事時間を推定する処理と、
を実行させることを特徴とする食事時間推定プログラム。
【請求項１２】
心拍を表わす信号を取得する取得部と、
前記信号から隣接する心拍の時間間隔を算出する第１算出部と、
前記時間間隔のうちの２つの時間間隔の差を算出する第２算出部と、
前記時間間隔の差に基づき、該時間間隔に対応する時刻に嚥下が有ったか否かを検出する検出部と、
前記嚥下に対応する時刻から食事時間を推定する推定部と、
を有することを特徴とする食事時間推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、食事時間推定方法、食事時間推定プログラム及び食事時間推定装置に関する。
【背景技術】
【０００２】
メタボリック症候群や糖尿病を始めとする生活習慣病の予防や、ダイエット、医療サービスなどのヘルスケアが注目されている。かかるヘルスケアを行う場合には、日頃の運動や食事などの生活習慣を記録することにより、自己の生活習慣の問題点に気付き、改善していくプロセスが求められる。
【０００３】
例えば、「食事」に関する予防策として、下記の通り、「いつ」、「何を」、「どれだけ」などの食事のコントロール方法が挙げられている。具体的には、規則正しく三食を摂る（いつ）、朝食をとる（いつ）、バランス良く栄養をとる（何を）、カロリーを摂取し過ぎない（どれだけ）、塩分は控える（何を）といった項目が挙げられている。
【０００４】
ここで、例えば、「いつ」食べたのかという記録があれば、不規則な食習慣を検知し、予防のアドバイスを提供するなどのサービスを実施することもできる。
【０００５】
例えば、食事判定を行う技術の一例として、食行動検知システム、発話・飲食状態検出システムや食行動検出装置などが提案されている。例えば、食行動検知システムでは、食物摂取の際の、腕を上げて降ろす動作を加速度センサを用いて検出することにより、食事判定を行う。また、発話・飲食状態検出システムでは、物を食べる際に咀嚼する事を利用し、体内音の咀嚼特有の周波数パターンを検出する。また、食行動検出装置の場合、食卓上などに赤外線センサを設置した状況の下、食卓付近で人体を検出した後に人体が頻繁に動いているかどうかを閾値処理する。
【０００６】
ところが、これらの技術のいずれにおいても、食事行動を推定するために、食事の仕方が制限されたり、あるいは食事行動を推定する場所に制約があったりするので、汎用性に欠ける面がある。例えば、食行動検知システムで想定される加速度の傾向は、あくまでも食物摂取時になされる腕の動作の一面にしか対応しておらず、それ以外の腕の動作がなされる場合には加速度の傾向が異なるので、検出漏れが発生する。また、発話・飲食状態検出システムの場合、食事時にマイクを首に装着させることになるので、身体に負担がかかり、かつ見栄えも悪くなってしまう。また、食行動検出装置の場合、赤外線センサが設置された場所などのように、固定された環境での食事しか認識することはできない。
【０００７】
また、食事判定に脈波を用いる技術の一例として、生活管理端末装置も提案されている。この生活管理端末装置では、食事時に起る咀嚼特徴が現れることに加え、脈拍数が上昇し、かつ皮膚導電率に急激な上昇がない場合に食事中であると判断する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−４８１８０号公報
【特許文献２】特開２０１１−１１５５０８号公報
【特許文献３】特開２００８−６１７９０号公報
【特許文献４】特開２００３−１７３３７５号公報
【特許文献５】特表平１０−５０４７３９号公報
【特許文献６】特開２０１３−３１６５０号公報
【特許文献７】特開２００６−６８０９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の技術では、次に説明するように、食事時間に誤判定が起こる場合がある。
【００１０】
すなわち、上記の生活管理端末装置では、食事判定に皮膚導電率が用いられる。かかる皮膚導電率は、発汗時等にその計測精度が低下するので、食事判定にも誤判定が発生する可能性が高まる。また、上記の生活管理端末において皮膚導電率を用いずに脈拍数だけを用いたとしても、食事以外の原因、例えば精神の緊張、環境温度の変化や運動行為などにより脈拍数が上昇するので、この場合にも誤判定が起こる。
【００１１】
１つの側面では、本発明は、食事時間の推定精度が低下するのを抑制できる食事時間推定方法、食事時間推定プログラム及び食事時間推定装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
一態様の食事時間推定方法では、コンピュータが、心拍を表わす信号を取得する処理と、前記信号から隣接する心拍の時間間隔を算出する処理と、前記時間間隔のうちの２つの時間間隔の差を算出する処理と、前記時間間隔の差に基づき、該時間間隔に対応する時刻に嚥下が有ったか否かを検出する処理と、前記嚥下に対応する時刻から食事時間を推定する処理とを実行する。
【発明の効果】
【００１３】
食事時間の推定精度が低下するのを抑制できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係るヘルスケア支援システムの構成を示す図である。
【図２】図２は、心電信号の一例を示す図である。
【図３Ａ】図３Ａは、ＲＲ間隔の波形の一例を示す図である。
【図３Ｂ】図３Ｂは、ＲＲ間隔の波形の一例を示す図である。
【図４】図４は、ＲＲ間隔の差の一例を示す図である。
【図５Ａ】図５Ａは、食事嚥下時刻の判定方法の一例を示す図である。
【図５Ｂ】図５Ｂは、食事嚥下時刻の判定方法の一例を示す図である。
【図５Ｃ】図５Ｃは、食事嚥下時刻の判定方法の一例を示す図である。
【図６】図６は、食事嚥下時刻の一例を示す図である。
【図７】図７は、食事イベントのマージ処理の一例を示す図である。
【図８】図８は、実施例１に係る食事時間推定処理の手順を示すフローチャート（１）である。
【図９】図９は、実施例１に係る食事時間推定処理の手順を示すフローチャート（２）である。
【図１０Ａ】図１０Ａは、心拍数の時系列データの一例を示す図である。
【図１０Ｂ】図１０Ｂは、心拍数の時系列データの一例を示す図である。
【図１１】図１１は、食事時間の重複例を示す図である。
【図１２】図１２は、実施例１〜実施例２に係る食事時間推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して本願に係る食事時間推定方法、食事時間推定プログラム及び食事時間推定装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１６】
［システム構成］
図１は、実施例１に係るヘルスケア支援システムの構成を示す図である。図１に示すヘルスケア支援システム１は、各種のヘルスケア支援サービスを提供するものである。例えば、ヘルスケア支援サービスの一例として、センサ端末１０により採取されるセンシングデータを用いてセンサ端末１０のユーザの生活行動、例えば食事時間を記録するサービス、さらには、その記録を活用する派生のサービスなどが挙げられる。
【００１７】
かかるヘルスケア支援サービスの一環として、ヘルスケア支援システム１は、心電信号等に代表される心拍に関する時系列データから求まる心拍の時間間隔、例えばＲＲ間隔の差をもとに嚥下があった時刻を検出し、嚥下の時刻から食事時間を推定する。ここで言う「食事時間」とは、食事開始時刻、食事終了時刻及び食事所要時間のうち少なくともいずれか１つに対応する。これによって、食事以外の原因、例えば精神の緊張、環境温度の変化や運動行為などによって心拍数が上昇する場面で食事時間が推定されるのを抑制し、もって食事時間の推定精度が低下するのを抑制する。なお、上記のＲＲ間隔の表記は、ＲＲＩ（R-R  Interval）とされる場合もあるが、以下では一部を除き表記を「ＲＲ間隔」で統一する。
【００１８】
図１に示すように、ヘルスケア支援システム１には、センサ端末１０と、情報処理装置１００とが収容される。なお、図１には、センサ端末が１つである場合を図示したが、ヘルスケア支援システム１には、複数のセンサ端末を収容することとしてもよく、その場合、各センサ端末ごとに上記のヘルスケア支援サービスを提供することができる。
【００１９】
これらセンサ端末１０及び情報処理装置１００の間は、相互に通信可能に接続される。ここでは、一例として、センサ端末１０及び情報処理装置１００がＢＬＥ（Bluetooth（登録商標）  Low  Energy）などの近距離無線通信により接続される場合を想定するが、有線または無線を問わず、任意のネットワークを介して互いを接続することができる。例えば、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの構内通信網を始め、インターネット（Internet）などの任意の種類の通信網を介して、センサ端末１０及び情報処理装置１００を接続することができる。
【００２０】
センサ端末１０は、センサを実装する端末装置である。
【００２１】
一実施形態として、センサ端末１０は、ヘルスケア専用の端末装置として実装されることとしてもよい。また、センサ端末１０には、既存のウェアラブルガジェット、例えばスマートグラスやスマートウォッチ等を流用することもできる。
【００２２】
センサ端末１０には、少なくとも後述の心電センサ１１が実装される。この心電センサ１１を用いて、センサ端末１０は、例えば、センサ端末１０を利用するユーザの心電信号をセンシングする。このようにセンシングされる心電信号は、上記の食事時間の推定に用いられる。なお、ここでは、心電センサ１１が搭載される場合を例示するが、搭載可能なセンサが心電センサに限定されるわけではなく、センサ端末１０に他のセンサ、例えばジャイロセンサやＧＰＳ（Global  Positioning  System）受信機などが搭載されることを妨げない。
【００２３】
このようにセンサ端末１０によりセンシングされた心電信号は、ユーザの識別情報、例えばセンサ端末１０のマシン名やシリアル番号などと対応付けられた状態で情報処理装置１００へ伝送される。このとき、心電信号は、心電センサ１１が心電信号を出力する度にリアルタイムで伝送されることとしてもよいし、所定期間、例えば１２時間、１日間、１週間や１ヶ月などにわたって蓄積してから伝送することとしてもかまわない。なお、ここでは、センサ端末１０から情報処理装置１００へ心電信号が伝送される場合を例示したが、必ずしも心電信号そのものが伝送されずともかまわない。例えば、センサ端末１０は、心電信号から算出されるＲＲ間隔を情報処理装置１００へ伝送することとしてもよいし、複数のＲＲ間隔から算出されるＲＲ間隔の差を情報処理装置１００へ伝送することとしてもよい。このようにＲＲ間隔やＲＲ間隔の差をセンサ端末１０に算出させる場合、２つの装置の間で伝送されるデータ量を低減すると共に、個人情報とも言える心電信号を伝送することによりこれが漏洩する可能性を低減できる。
【００２４】
情報処理装置１００は、上記のヘルスケア支援サービスを提供するコンピュータである。かかる情報処理装置１００には、携帯端末装置、据置き型やノート型のパーソナルコンピュータを含む計算機全般を採用できる。なお、上記の携帯端末装置には、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末のみならず、タブレット端末やスレート端末などもその範疇に含まれる。
【００２５】
一実施形態として、情報処理装置１００は、パッケージソフトウェアやオンラインソフトウェアとして上記のヘルスケア支援サービスを実現する食事時間推定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、情報処理装置１００は、センサ端末１０から受け付けた心電信号を用いて、センサ端末１０のユーザの食事時間を推定する。その上で、情報処理装置１００は、食事時間を記録することができる他、それまでに記録された食事時間から所定期間、例えば１週間などにわたる食事時間帯の一覧表を生成した上で出力したり、それまでに記録された食事時間から食習慣またはダイエットに関する分析を行った上で各種のアドバイスを出力したりすることもできる。例えば、情報処理装置１００が有する表示デバイス、音声出力デバイス、印字デバイスなどの出力デバイスを通じて、上記の各種の情報を出力させることができる。また、情報の出力先は、必ずしも情報処理装置１００に限定されず、ユーザが使用する他の端末装置とすることもできるし、その関係者、例えばユーザの親族、医療または介護の担当者などが使用する端末装置とすることもできる。これによって、上記のヘルスケア支援サービスが実現される。
【００２６】
［センサ端末１０の構成］
次に、本実施例に係るセンサ端末１０の機能的構成について説明する。図１に示すように、センサ端末１０は、心電センサ１１と、通信Ｉ／Ｆ（InterFace）部１５とを有する。なお、センサ端末１０は、図１に示した機能部以外にも既知のコンピュータが有する機能部を有することとしてもよい。例えば、ヘルスケア専用の端末装置、ウェアラブルガジェットまたは携帯端末装置がセンサ端末１０として実行される場合、これらの各装置が標準装備するハードウェア及びソフトウェアを実装できる。
【００２７】
心電センサ１１は、心電信号を検出するセンサである。
【００２８】
一実施形態として、心電センサ１１は、複数の電極間の電位差を採取する。図示は省略するが、一例として、導電性の粘着ゲルを付着させたディスポ電極がセンサ端末１０のユーザの生体の表面、例えば胸部や四肢などに少なくとも２つ以上取り付けられる。このように装着された複数の電極間の電位差を採取することによって、数ｍＶ程度の電圧、０．１〜２００Ｈｚ程度の周波数、１〜２０ｋΩ程度のインピーダンスを持つ生体電気現象、いわゆる心起電力が心電信号として測定される。このような心電センサ１１は、一例として、電極間の電位差の検出および増幅を行う電子回路や所定のサンプリング周波数で電位差のアナログ信号をデジタル信号へ変換するデジタル信号回路などにより実装できる。
【００２９】
通信Ｉ／Ｆ部１５は、他の装置、例えば情報処理装置１００などとの間で通信制御を行うインタフェースである。
【００３０】
一実施形態として、通信Ｉ／Ｆ部１５には、センサ端末１０及び情報処理装置１００の間が近距離無線通信により接続される場合、ＢＬＥモジュールなどを採用できる。この他、ＬＡＮ（Local  Area  Network）やＶＬＡＮ（Virtual  LAN）などの無線通信網により接続される場合、通信Ｉ／Ｆ部１５には、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１５は、上記の心電信号などを情報処理装置１００へ送信する。また、通信Ｉ／Ｆ部１５は、心電信号を情報処理装置１００へアップロードする指示や心電信号を情報処理装置１００へアップロードする間隔に関する指示などの他、食事時間の推定結果やそれを用いた診断結果などを情報処理装置１００から受信することもできる。
【００３１】
このように心電センサ１１により検出される心電信号は、図示しないＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro-Processing  Unit）などの制御部の指示にしたがって通信Ｉ／Ｆ部１５により情報処理装置１００へ伝送される。このとき、電極間の電位差がサンプリングされる度に当該電位差の振幅が情報処理装置１００へ伝送されることとしてもよいし、所定の期間、例えば１２時間や１日間などにわたって図示しないメモリへ心電信号を蓄積してから情報処理装置１００へ伝送されることとしてもかまわない。
【００３２】
［情報処理装置１００の構成］
次に、本実施例に係る情報処理装置１００の機能的構成について説明する。図１に示すように、情報処理装置１００は、通信Ｉ／Ｆ部１１０と、取得部１２０と、第１算出部１３０と、第２算出部１４０と、検出部１５０と、推定部１６０とを有する。なお、情報処理装置１００は、図１に示した機能部以外にも既知のコンピュータが有する機能部、例えば各種の入出力デバイスなどを有することとしてもよい。
【００３３】
通信Ｉ／Ｆ部１１０は、他の装置、例えばセンサ端末１０などとの間で通信制御を行うインタフェースである。
【００３４】
一実施形態として、通信Ｉ／Ｆ部１１０には、センサ端末１０及び情報処理装置１００の間が近距離無線通信により接続される場合、ＢＬＥモジュールなどを採用できる。この他、ＬＡＮやＶＬＡＮなどの無線通信網により接続される場合、通信Ｉ／Ｆ部１１０には、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１１０は、上記の心電信号などをセンサ端末１０から受信する。また、通信Ｉ／Ｆ部１１０は、上記の心電信号をセンサ端末１０にアップロードさせる指示やセンサ端末１０が心電信号を情報処理装置１００へアップロードする間隔に関する指示などの他、食事時間の推定結果やそれを用いた診断結果などをセンサ端末１０へ送信することができる。
【００３５】
取得部１２０は、上記の心電信号を取得する処理部である。
【００３６】
一実施形態として、取得部１２０は、センサ端末１０から近距離無線通信を通じて心電信号を取得することができる。このような通信によるアクセスの他、取得部１２０は、ハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアに保存された心電信号を読み出すことにより心電信号を取得することもできる。なお、ここでは、心電センサ１１を搭載するセンサ端末１０から心電信号を近距離無線通信により取得する場合を例示したが、情報処理装置１００が心電センサを内蔵または付設する場合には、心電センサにより出力される心電信号をそのまま取得してもよい。
【００３７】
第１算出部１３０は、上記の心電信号から心拍の時間間隔を算出する処理部である。
【００３８】
一実施形態として、第１算出部１３０は、取得部１２０により取得された心電信号の波形上で心拍のＲ波が現れる時刻を検出する。このようにＲ波を検出する場合、第１算出部１３０は、心電信号の波形から所定の閾値以上の電位差が計測される時刻を検出したり、心電信号の微分波形上のゼロクロス点を検出したりすることにより、心電信号の波形上にピーク、すなわち極大点が現れる時刻を検出する。このとき、第１算出部１３０は、取得部１２０により取得された心電信号をハイパスフィルタへ入力することにより、心電信号に重畳する筋電信号のノイズを低減させることもできる。このようにＲ波の発生時刻が検出された後、第１算出部１３０は、心電信号に含まれるＲ波の発生時刻ごとに当該Ｒ波とその１つ前のＲ波の間で互いの発生時刻の差を計算することにより、ＲＲ間隔をＲ波の発生時刻ごとに算出する。
【００３９】
図２は、心電信号の一例を示す図である。図２に示すグラフの縦軸は、電圧（ｍＶ）を指し、横軸は、時刻を指す。図２には、取得部１２０により取得された心電信号の一部が抜粋して示されており、取得部１２０により取得された心電信号の波形が破線で示されると共に、ハイパスフィルタの通過後の心電信号の波形が実線で示されている。図２に破線で示す通り、心電信号には、Ｒ波以外のＰ波、Ｑ波、Ｓ波、Ｔ波やＵ波などの他の成分が含まれる他、筋電信号が重畳する場合がある。かかる心電信号をハイパスフィルタへ入力することにより、図２に実線で示す通り、筋電信号等が除去される結果、２０ｍＶ程度のピークが周期的に現れた心電信号の波形を得ることができる。このようにハイパスフィルタの通過後の心電信号からＲ波を検出する場合、例えば、心電信号に含まれる振幅の最大値が７割や８割程度に減じられた値を閾値とし、当該閾値を超える時刻をＲ波の発生時刻として検出することができる。その後、Ｒ波の発生時刻ごとに当該Ｒ波と１つ前のＲ波の間で互いの発生時刻の差が計算される。例えば、心電信号に含まれるｍ個のＲ波のうちｋ番目のＲ波の場合、当該Ｒ波が発生する時刻ｔｋからｋ−１番目のＲ波が発生する時刻ｔｋ−１を減算する計算、すなわち「時刻ｔｋ−時刻ｔｋ−１」を実行する。これによって、ｋ番目のＲ波が発生する時刻ｔｋにおけるＲＲ間隔Ｉｋを算出することができる。
【００４０】
なお、ここでは、ハイパスフィルタの通過後の心電信号からＲ波の発生時刻を検出する場合を例示したが、Ｒ波の検出に必ずしもハイパスフィルタを用いずともかまわない。さらに、ここでは、あくまで心拍の時間間隔の一例としてＲＲ間隔を算出する場合を例示したが、心電の他の成分に関する時間間隔を求めることとしてもかまわない。心電のＲ波以外の成分、例えばＰ波、Ｑ波、Ｓ波、Ｔ波やＵ波などの時間間隔を算出することとしてもよい。
【００４１】
第２算出部１４０は、ＲＲ間隔の差を算出する処理部である。
【００４２】
一実施形態として、第２算出部１４０は、第１算出部１３０によりＲＲ間隔が算出された時刻ｔｋごとに、当該時刻ｔｋのＲＲ間隔と、当該時刻ｔｋから所定の時間幅ｗまでの時間窓Ｗｋに含まれる各時刻のＲＲ間隔のうち最小値を持つＲＲ間隔との差を計算する。ここで言う「時間幅ｗ」は、１度の嚥下が行われる場合の所要時間を基準に設定される窓幅を指し、例えば、数秒程度の値を設定できる。以下では、上記の時間窓Ｗｋに含まれるＲＲ間隔のうち時刻ｔｋのＲＲ間隔のことを「ＲＲ間隔１」と記載し、最小値を持つＲＲ間隔のことを「ＲＲ間隔２」と記載する場合がある。
【００４３】
図３Ａ及び図３Ｂは、ＲＲ間隔の波形の一例を示す図である。図３Ａ及び図３Ｂに示すグラフの縦軸は、ＲＲ間隔を指し、横軸は、時刻を指す。図３Ａ及び図３Ｂには、第１算出部１３０により算出されたＲＲ間隔の波形の一部が抜粋して示されている。これら図３Ａ及び図３Ｂのうち、図３Ａには、ＲＲ間隔の波形上に時刻ｔｋを始点に設定された時間窓Ｗｋが示されると共に、図３Ｂには、ＲＲ間隔の波形上に時刻ｔｋ＋１を始点に設定された時間窓Ｗｋ＋１が示されている。
【００４４】
図３Ａに示すように、ｋ番目のＲ波が発生する時刻ｔｋに時間窓Ｗｋが設定される場合、時刻ｔｋが時間窓Ｗｋの開始時刻に設定されると共に、時刻ｔｋに時間幅ｗが加算された時刻ｔｋ＋ｗが時間窓Ｗｋの終了時刻に設定される。このような時間窓Ｗｋの下、時間窓Ｗｋの開始時刻のＲＲ間隔１と、時間窓Ｗｋに含まれるＲＲ間隔の中でも最小値となるＲＲ間隔２との差が計算される。このとき、ＲＲ間隔１−ＲＲ間隔２の計算を実行することとしてもよいし、｜ＲＲ間隔１−ＲＲ間隔２｜または｜ＲＲ間隔２−ＲＲ間隔１｜を計算することもできる。かかる計算によって、時刻ｔｋにおけるＲＲ間隔の差「ＲＲＩdiff（ｔｋ）」が算出される。
【００４５】
ＲＲＩdiff（ｔｋ）が算出された後、ｋ＋１番目のＲ波が発生する時刻ｔｋ＋１に時間窓Ｗｋ＋１が設定される。図３Ｂに示す通り、時刻ｔｋ＋１が時間窓Ｗｋ＋１の開始時刻に設定されると共に、時刻ｔｋ＋１に時間幅ｗが加算された時刻ｔｋ＋１＋ｗが時間窓Ｗｋ＋１の終了時刻に設定される。このような時間窓Ｗｋ＋１の下、時間窓Ｗｋ＋１の開始時刻のＲＲ間隔１と、時間窓Ｗｋ＋１に含まれるＲＲ間隔の中でも最小値となるＲＲ間隔２との差が計算される。これによって、時刻ｔｋ＋１におけるＲＲ間隔の差「ＲＲＩdiff（ｔｋ＋１）」が算出される。
【００４６】
このように心電信号に含まれるＲ波の発生時刻ごとにＲＲ間隔の差が算出されることになる。なお、ここでは、ＲＲ間隔の差が１番目のＲ波の発生時刻、２番目のＲ波の発生時刻、・・・、ｍ番目のＲ波の発生時刻の順に算出される場合を例示したが、これらのＲＲ間隔の差は順番に算出されずともよく、並列処理で算出することができるのは言うまでもない。
【００４７】
検出部１５０は、ＲＲ間隔の差が算出された時刻のうちＲＲ間隔の差が嚥下に対応する心拍変動条件を満たす時刻を有効嚥下時刻として検出する処理部である。
【００４８】
一実施形態として、検出部１５０は、第２算出部１４０により算出されたＲＲ間隔の差ごとに当該ＲＲ間隔の差が所定の閾値Ｄｔｈ以上であるか否かを判定する。ここで、ＲＲ間隔の差が所定の閾値Ｄｔｈ以上である場合、当該ＲＲ間隔の差が観測された時刻ｔｋで嚥下が行われた可能性が高まる。この場合、検出部１５０は、図示しない内部メモリのワークエリアに保存される有効嚥下時刻のリストに対し、上記の閾値Ｄｔｈ以上であるＲＲ間隔の差が観測された時刻ｔｋを追加登録する。一方、ＲＲ間隔の差が閾値Ｄｔｈ未満である場合、当該ＲＲ間隔の差が観測された時刻ｔｋで嚥下が行われた可能性は低下する。この場合、当該ＲＲ間隔の差が観測された時刻ｔｋは、有効嚥下時刻とはみなされず、上記の有効嚥下時刻のリストには追加されない。
【００４９】
図４は、ＲＲ間隔の差の一例を示す図である。図４に示すグラフの縦軸は、ＲＲ間隔の差を指し、横軸は、時刻を指す。図４には、第２算出部１４０により算出されたＲＲ間隔の差に関する波形が示されると共に、検出部１５０により嚥下に対応する心拍変動条件の一例として用いられた閾値Ｄｔｈが示されている。さらに、図４には、内部メモリに保存されたｎ個（ｎは自然数、但しｍ≧ｎ）の有効嚥下時刻のうちｊ番目の有効嚥下時刻Ｔｊ、ｊ＋１番目の有効嚥下時刻Ｔｊ＋１、ｊ＋２番目の有効嚥下時刻Ｔｊ＋２、ｊ＋３番目の有効嚥下時刻Ｔｊ＋３が示されている。これに加えて、図４には、呼吸センサが出力する信号の波形が示されており、信号の振幅の乱れから嚥下が検出された区間がリファレンスとしてハッチングで示されている。
【００５０】
図４に示すように、検出部１５０によりＲＲ間隔の差が閾値Ｄｔｈ以上であると判定されることにより、ｊ番目の有効嚥下時刻Ｔｊ、ｊ＋１番目の有効嚥下時刻Ｔｊ＋１、ｊ＋２番目の有効嚥下時刻Ｔｊ＋２及びｊ＋３番目の有効嚥下時刻Ｔｊ＋３が検出される。このように検出部１５０により検出される４つの有効嚥下時刻は、図４に示す通り、いずれも呼吸センサから嚥下が検出されるハッチングの区間と重複する。かかるリファレンスとの対比の結果、次のことがわかる。すなわち、嚥下中には、気道が封鎖されて呼吸が一時停止することが原因となって頻脈になるので、嚥下が心拍に対し、ＲＲ間隔の減少という影響を与えるという知見の下、嚥下に対応する心拍変動条件の一例として、上記の閾値Ｄｔｈを用いることにより、嚥下があった可能性が高い時刻を推定できることがわかる。
【００５１】
なお、ここでは、嚥下に対応する心拍変動条件の一例として、上記の閾値Ｄｔｈを用いる場合を例示したが、他の条件を用いることとしてもかまわない。例えば、検出部１５０は、ＲＲ間隔の差の微分波形上で極大値を持つ時刻を有効嚥下時刻として検出することもできる。
【００５２】
推定部１６０は、有効嚥下時刻から食事時間を推定する処理部である。
【００５３】
一実施形態として、推定部１６０は、検出部１５０により検出された有効嚥下時刻Ｔｊごとに当該有効嚥下時刻とそれに後続する有効嚥下時刻とが次の関係を満たすか否かを判定する。例えば、推定部１６０は、ｊ番目の有効嚥下時刻Ｔｊとｊ＋１番目の有効嚥下時刻Ｔｊ＋１の時間間隔が下記の式（１）を満たすか否かを判定する。下記の式（１）における「Ｔｔｈ１」は、下限の閾値を指し、例えば、人体が嚥下を連続して行う場合の最短所要時間が設定される。一方、下記の式（１）における「Ｔｔｈ２」は、上限の閾値を指し、例えば、人体が嚥下を連続して行う場合の最長所要時間が設定される。
【００５４】
Ｔｔｈ１≦｜Ｔｊ−Ｔｊ＋１｜≦Ｔｔｈ２・・・式（１）
【００５５】
図５Ａ、図５Ｂ及び図５Ｃは、食事嚥下時刻の判定方法の一例を示す図である。図５Ａには、有効嚥下時刻Ｔｊ及び有効嚥下時刻Ｔｊ＋１の時間間隔が上記の式（１）を満たすケースが模式的に示されている。一方、図５Ｂ及び図５Ｃには、有効嚥下時刻Ｔｊ及び有効嚥下時刻Ｔｊ＋１の時間間隔が上記の式（１）を満たさないケースが模式的に示されており、このうち、図５Ｂには、｜Ｔｊ−Ｔｊ＋１｜＜Ｔｔｈ１に該当するケースが示される一方で、図５Ｃには、Ｔｔｈ２＜｜Ｔｊ−Ｔｊ＋１｜に該当するケースが示されている。
【００５６】
すなわち、有効嚥下時刻Ｔｊ及び有効嚥下時刻Ｔｊ＋１は、図５Ａ〜図５Ｃのいずれかのケースに該当することとなるが、図５Ａに示すケースに該当する場合、ｊ番目の有効嚥下時刻Ｔｊは、食事に由来する嚥下である可能性が高まる。なぜなら、食事が行われる場合、食事による嚥下は、散発的に行われる可能性が低く、ある程度連続して行われる可能性が高いからである。この場合、推定部１６０は、内部メモリのワークエリアに保存される食事嚥下時刻のリストに対し、上記の式（１）を満たす有効嚥下時刻Ｔｊを食事イベントを識別する食事イベント識別情報と対応付けて追加登録する。かかる有効嚥下時刻Ｔｊには、上記の式（１）が連続して満たされる限り、同一の食事イベント識別情報が対応付けられる一方で、有効嚥下時刻Ｔｊが上記の式（１）を満たさなかった場合には、異なる食事イベント識別情報が対応付けられる。
【００５７】
一方、始点をＴｊ＋Ｔｔｈ１、終点をＴｊ＋Ｔｔｈ２とする窓を設けて、窓内に有効嚥下時刻Ｔｊ＋１が後続しなければ、図５Ｂ及び図５Ｃに示すケースに該当することになるので、有効嚥下時刻Ｔｊは食事嚥下時刻とは判定されない。
【００５８】
その後、推定部１６０は、内部メモリに保存された食事嚥下時刻のうち同一の食事イベント識別情報が付与された食事嚥下時刻の数が所定数、例えば５回以上であるか否かを判定する。このとき、推定部１６０は、同一の食事イベント識別情報が付与された食事嚥下時刻の数が所定数以上である場合に、これら一連の食事嚥下時刻を食事時間の推定に用いる。図６は、食事嚥下時刻の一例を示す図である。図６には、同一の食事イベント識別情報が付与された食事嚥下時刻が示されている。図６に示す通り、食事による嚥下は、散発的に行われる可能性が低く、ある程度連続して行われる可能性が高いので、上記の判定によって、食事の嚥下ではなく、唾液の嚥下等のように、散発的に行われる嚥下が食事イベントと誤認識することを抑制する。以下では、同一の食事イベント識別情報が付与された一連の食事嚥下時刻のことを「食事イベント」と記載する場合がある。
【００５９】
例えば、推定部１６０は、図６に示すように、食事イベントに含まれる食事嚥下時刻のうち先頭の食事嚥下時刻を食事開始時刻ＴＳＷｓｔａｒｔと推定すると共に末尾の食事嚥下時刻を食事終了時刻ＴＳＷｅｎｄと推定し、さらに、食事開始時刻ＴＳＷｓｔａｒｔ及び食事終了時刻ＴＳＷｅｎｄの時間間隔を食事所要時間と推定する。なお、ここでは、食事開始時刻、食事終了時刻及び食事所要時間の３つを食事時間として推定する場合を例示したが、これら３つのうち少なくともいずれか１つを食事時間として推定することとしてもよい。
【００６０】
このように同一の食事イベント識別情報が付与された食事嚥下時刻から食事時間を直ちに推定することもできるが、異なる食事イベントに分類されていたとしても、互いの食事イベントの間隔が短い場合には、１つの食事の単位、例えば朝食、昼食、夕食、これら以外の間食に含まれることも想定され得る。
【００６１】
このことから、推定部１６０は、異なる食事イベントが一定の条件を満たす場合に、条件を満たす食事イベントを統合する食事イベントのマージ処理を実行することもできる。例えば、推定部１６０は、互いが連続する２つの食事イベントのうち先行の食事イベントに含まれる末尾の食事嚥下時刻と後続の食事イベントに含まれる先頭の食事嚥下時刻との時間間隔が所定の閾値Ｔｔｈ３、例えば５分間以下であるか否かを判定する。そして、推定部１６０は、当該時間間隔が閾値Ｔｔｈ３以下である場合に、２つの食事イベントを統合する。この場合、推定部１６０は、２つの食事イベントに含まれる全ての食事嚥下時刻に同一の食事イベント識別情報を改めて付与することにより、食事イベントを統合することとしてもよいし、互いの食事イベント識別情報を関連付けることにより、食事イベントを統合することとしてもよい。このような食事イベントのマージ処理を先頭の食事イベントから繰り返し実行することにより、２つ以上の食事イベントを統合することができる。
【００６２】
図７は、食事イベントのマージ処理の一例を示す図である。図７には、食事イベントＥ１、食事イベントＥ２、食事イベントＥ３の順に並ぶ３つの食事イベントが例示されている。図７に示す例では、食事イベントＥ１に含まれる末尾の食事嚥下時刻と食事イベントＥ２に含まれる先頭の食事嚥下時刻との時間間隔が閾値Ｔｔｈ３以下であり、かつ食事イベントＥ２に含まれる末尾の食事嚥下時刻と食事イベントＥ３に含まれる先頭の食事嚥下時刻との時間間隔が閾値Ｔｔｈ３以下である。この場合、食事イベントＥ１、食事イベントＥ２及び食事イベントＥ３の３つの食事イベントがマージされる。このように３つの食事イベントがマージされた場合、推定部１６０は、食事イベントＥ１に含まれる食事嚥下時刻のうち先頭の食事嚥下時刻を食事開始時刻ＴＳＷｓｔａｒｔと推定すると共に食事イベントＥ３に含まれる食事嚥下時刻のうち末尾の食事嚥下時刻を食事終了時刻ＴＳＷｅｎｄと推定し、さらに、食事開始時刻ＴＳＷｓｔａｒｔ及び食事終了時刻ＴＳＷｅｎｄの時間間隔を食事所要時間と推定する。
【００６３】
このように推定部１６０により推定された食事時間、例えば食事開始時刻、食事終了時刻、もしくは、食事所要時間のうち少なくともいずれか１つは、食事時間を記録したり、それまでに記録された食事時間から所定期間、例えば１週間などにわたる食事時間帯の一覧表を生成した上で出力したり、それまでに記録された食事時刻から食習慣またはダイエットに関する分析を行った上で各種のアドバイスを出力したりする「サービス提供処理」の実行先へ出力される。かかる実行先は、情報処理装置１００のプロセッサ上で実行される処理部であってもよいし、外部のサーバ装置などであってもかまわない。
【００６４】
なお、上記の取得部１２０、第１算出部１３０、第２算出部１４０、検出部１５０及び推定部１６０などの処理部は、次のようにして実装できる。例えば、中央処理装置、いわゆるＣＰＵなどに、上記の各機能部と同様の機能を発揮するプロセスをメモリ上に展開して実行させることにより実現できる。これらの処理部は、必ずしも中央処理装置で実行されずともよく、ＭＰＵに実行させることとしてもよい。また、上記の各機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００６５】
また、上記の各処理部が用いる主記憶装置には、一例として、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。また、上記の各処理部が参照する記憶装置は、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。
【００６６】
［処理の流れ］
図８及び図９は、実施例１に係る食事時間推定処理の手順を示すフローチャートである。この処理は、一例として、情報処理装置１００のプロセッサ上で上記のヘルスケア支援サービスを実行するアプリケーションプログラム等が起動された場合、あるいは動作中のアプリケーションプログラムでサービスの提供指示を受け付けた場合などに処理が実行される。
【００６７】
図８に示すように、取得部１２０は、センサ端末１０等から心電信号を取得する（ステップＳ１０１）。そして、第１算出部１３０は、取得部１２０により取得された心電信号の波形上で心拍のＲ波が現れる時刻を検出する（ステップＳ１０２）。その上で、第１算出部１３０は、ステップＳ１０２で検出されたＲ波の発生時刻ごとに当該Ｒ波とその１つ前のＲ波の間で互いの発生時刻の差を計算することにより、ＲＲ間隔をＲ波の発生時刻ごとに算出する（ステップＳ１０３）。
【００６８】
続いて、第２算出部１４０は、Ｒ波のカウンタｋの値をゼロに設定することにより初期化し（ステップＳ１０４）、Ｒ波のカウンタｋの値を１つインクリメントする（ステップＳ１０５）。
【００６９】
そして、第２算出部１４０は、ｋ番目のＲ波が発生する時刻ｔｋで観測されるＲＲ間隔ＩｋをＲＲ間隔１に設定すると共に、当該時刻ｔｋから所定の時間幅ｗまでの時間窓Ｗｋに含まれる各時刻のＲＲ間隔のうち最小値を持つＲＲ間隔をＲＲ間隔２に設定する（ステップＳ１０６及びステップＳ１０７）。
【００７０】
その上で、第２算出部１４０は、ステップＳ１０６で設定されたＲＲ間隔１と、ステップＳ１０７で設定されたＲＲ間隔２との差、すなわち｜ＲＲ間隔１−ＲＲ間隔２｜を計算することにより、時刻ｔｋにおけるＲＲ間隔の差「ＲＲＩdiff（ｔｋ）」を算出する（ステップＳ１０８）。
【００７１】
続いて、検出部１５０は、ステップＳ１０８で算出されたＲＲ間隔の差が所定の閾値Ｄｔｈ以上であるか否か、すなわちＲＲＩdiff（ｔｋ）≧Ｄｔｈを満たすか否かを判定する（ステップＳ１０９）。
【００７２】
ここで、ＲＲ間隔の差が所定の閾値Ｄｔｈ以上である場合（ステップＳ１０９Ｙｅｓ）、当該ＲＲ間隔の差が観測された時刻ｔｋで嚥下が行われた可能性が高まる。この場合、検出部１５０は、内部メモリのワークエリアに保存される有効嚥下時刻のリストに対し、上記の閾値Ｄｔｈ以上であるＲＲ間隔の差が観測された時刻ｔｋを有効嚥下時刻Ｔｊとして追加登録する（ステップＳ１１０）。なお、ＲＲ間隔の差が閾値Ｄｔｈ未満である場合（ステップＳ１０９Ｎｏ）、当該ＲＲ間隔の差が観測された時刻ｔｋで嚥下が行われた可能性は低下する。この場合、ステップＳ１１０の処理をスキップし、ステップＳ１１１の処理へ移行する。
【００７３】
そして、Ｒ波のカウンタｋの値がＲ波の総数ｍになるまで（ステップＳ１１１Ｎｏ）、Ｒ波のカウンタｋの値がインクリメントされ（ステップＳ１０５）、上記のステップＳ１０６〜ステップＳ１１０の処理が実行される。
【００７４】
その後、Ｒ波のカウンタｋの値がＲ波の総数ｍになると（ステップＳ１１１Ｙｅｓ）、図９に示す通り、推定部１６０は、有効嚥下時刻Ｔｊのカウンタｊをゼロに設定することにより初期化し（ステップＳ１１２）、有効嚥下時刻Ｔｊのカウンタｊの値を１つインクリメントする（ステップＳ１１３）。
【００７５】
続いて、推定部１６０は、ｊ番目の有効嚥下時刻Ｔｊとｊ＋１番目の有効嚥下時刻Ｔｊ＋１の時間間隔が上記の式（１）、すなわちＴｔｈ１≦｜Ｔｊ−Ｔｊ＋１｜≦Ｔｔｈ２を満たすか否かを判定する（ステップＳ１１４）。
【００７６】
ここで、上記の式（１）を満たす場合（ステップＳ１１４Ｙｅｓ）、ｊ番目の有効嚥下時刻Ｔｊは、食事に由来する嚥下である可能性が高まる。なぜなら、食事が行われる場合、食事による嚥下は、散発的に行われる可能性が低く、ある程度連続して行われる可能性が高いからである。この場合、推定部１６０は、ｊ−１番目の有効嚥下時刻Ｔｊ−１が食事嚥下時刻と判定されたか否かをさらに判定する（ステップＳ１１５）。なお、上記の式（１）を満たさない場合（ステップＳ１１４Ｎｏ）、ステップＳ１１９の処理へ移行する。
【００７７】
このとき、ｊ−１番目の有効嚥下時刻Ｔｊ−１が食事嚥下時刻と判定されていた場合（ステップＳ１１５Ｙｅｓ）、推定部１６０は、１つ前に食事嚥下時刻と判定された有効嚥下時刻ＴＸと同一の食事イベントにｊ番目の有効嚥下時刻Ｔｊを分類する（ステップＳ１１６）。一方、ｊ−１番目の有効嚥下時刻Ｔｊ−１が食事嚥下時刻と判定されていなかった場合（ステップＳ１１５Ｎｏ）、推定部１６０は、１つ前に食事嚥下時刻と判定された有効嚥下時刻ＴＸと異なる食事イベントにｊ番目の有効嚥下時刻Ｔｊを分類する（ステップＳ１１７）。
【００７８】
その上で、推定部１６０は、内部メモリのワークエリアに保存される食事嚥下時刻のリストに対し、上記の式（１）を満たす有効嚥下時刻Ｔｊを食事嚥下時刻としてステップＳ１１６またはステップＳ１１７の分類結果に対応付けて追加登録する（ステップＳ１１８）。
【００７９】
そして、有効嚥下時刻Ｔｊのカウンタｊの値が有効嚥下時刻の総数ｎになるまで（ステップＳ１１９Ｎｏ）、有効嚥下時刻Ｔｊのカウンタｊの値がインクリメントされ（ステップＳ１１３）、上記のステップＳ１１４〜ステップＳ１１８の処理が実行される。
【００８０】
その後、有効嚥下時刻Ｔｊのカウンタｊの値が有効嚥下時刻の総数ｎになると（ステップＳ１１９Ｙｅｓ）、推定部１６０は、内部メモリに保存された食事嚥下時刻のグループ、すなわち食事イベントのうち、食事イベントが含む食事嚥下時刻の数が所定の閾値以上である食事イベントを抽出する（ステップＳ１２０）。
【００８１】
そして、推定部１６０は、ステップＳ１２０で抽出された食事イベントのうち食事イベントを１つ選択する（ステップＳ１２１）。その上で、推定部１６０は、ステップＳ１２１で選択された食事イベントよりも１つ前に先行する食事イベントに含まれる末尾の食事嚥下時刻とステップＳ１２１で選択された食事イベントに含まれる先頭の食事嚥下時刻との時間間隔が閾値Ｔｔｈ３以下であるか否かを判定する（ステップＳ１２２）。
【００８２】
このとき、当該時間間隔が閾値Ｔｔｈ３以下である場合（ステップＳ１２２Ｙｅｓ）、推定部１６０は、ステップＳ１２１で選択された食事イベントと、それに先行する食事イベントとを統合する食事イベントのマージ処理を実行する（ステップＳ１２３）。なお、時間間隔が閾値Ｔｔｈ３を超過する場合（ステップＳ１２２Ｎｏ）、ステップＳ１２３の処理をとばし、ステップＳ１２４へ移行する。
【００８３】
その後、ステップＳ１２０で抽出された全ての食事イベントが選択されるまで（ステップＳ１２４Ｎｏ）、上記のステップＳ１２１〜ステップＳ１２３の処理を繰り返し実行し、ステップＳ１２０で抽出された全ての食事イベントが選択されると（ステップＳ１２４Ｙｅｓ）、ステップＳ１２５の処理へ移行する。
【００８４】
すなわち、推定部１６０は、食事イベントごとに当該食事イベントに含まれる食事嚥下時刻のうち先頭の食事嚥下時刻を食事開始時刻ＴＳＷｓｔａｒｔと推定すると共に末尾の食事嚥下時刻を食事終了時刻ＴＳＷｅｎｄと推定し、さらに、食事開始時刻ＴＳＷｓｔａｒｔ及び食事終了時刻ＴＳＷｅｎｄの時間間隔を食事所要時間と推定し（ステップＳ１２５）、処理を終了する。
【００８５】
［効果の一側面］
上述してきたように、本実施例に係るヘルスケア支援システム１は、心電信号等に代表される心拍に関する時系列データから求まる心拍の時間間隔、例えばＲＲ間隔の差をもとに嚥下があった時刻を検出し、嚥下の時刻から食事時間を推定する。これによって、食事以外の原因、例えば精神の緊張、環境温度の変化や運動行為などによって心拍数が上昇する場面で食事時間が推定されるのを抑制できる。したがって、本実施例に係るヘルスケア支援システム１によれば、食事時間の推定精度が低下するのを抑制することが可能になる。
【実施例２】
【００８６】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８７】
［心拍数に基づく食事時間の推定との併用１］
上記の実施例１では、嚥下に対応する時刻から食事時間を推定する場合を例示したが、心拍数から食事時間を推定する技術と併用することにより、食事時間の推定精度を高めることもできる。例えば、情報処理装置１００は、心拍数の上昇および下降のパターンの特徴を抽出して、食事開始時刻、食事終了時刻を検出し、これらの差から食事所要時間を推定する。
【００８８】
図１０Ａ及び図１０Ｂは、心拍数の時系列データの一例を示す図である。図１０Ａ及び図１０Ｂには、心拍数の時系列データの波形が示されており、グラフの縦軸は、心拍数（ｂｐｍ:beat  per  minute）を指し、グラフの横軸は、時刻を指す。図１０Ａ及び図１０Ｂに示す心拍数の時系列データは、取得部１２０により取得される心電信号から導出することができる。例えば、１０拍分のＲＲ間隔の合計値がＴＡ（秒）であるとき、心拍数（ＨＲ）は、ＨＲ＝６００／ＴＡ（ｂｐｍ）として求められる。このように１０拍ごとに得られる心拍数の波形に対し、線形補間、多項式補間、スプライン補間などを行うことにより、図１０Ａ及び図１０Ｂに示す心拍数の時系列データが得られる。
【００８９】
例えば、食事開始時刻を推定する場合、情報処理装置１００は、心拍数の時系列データに含まれる時刻及び心拍数のデータ点ごとに次のような処理を実行する。すなわち、情報処理装置１００は、ある時刻から所定の期間後までの心拍数の上昇幅が閾値以上であり、かつ当該時刻から所定期間前までの心拍数のデータ列に近似された近似直線の傾き０と当該時刻から所定期間後までの心拍数のデータ列に近似された近似直線の傾き１とが所定の条件を満たす場合に、当該時刻を食事開始時刻ＴＵＤｓｔａｒｔと推定する。図１０Ａには、食事開始時刻が推定される例が示されており、上記の近似直線の傾き０及び上記の近似直線の傾き１が水平線からの角度として示されている。図１０Ａに示す例では、上昇幅が閾値以上であり、かつ傾き１から傾き０が減算された減算値が所定の角度、例えば６０度以上であるので、当該時刻が食事開始時刻ＴＵＤｓｔａｒｔと推定される。
【００９０】
また、食事終了時刻を推定する場合、情報処理装置１００は、上記の食事開始時刻以降の心拍数の時系列データに含まれる時刻及び心拍数のデータ点ごとに次のような処理を実行する。すなわち、情報処理装置１００は、ある時刻から所定時間後までの心拍数の減少幅が閾値以上であり、かつ当該時刻から所定期間前までの心拍数のデータ列に近似された近似直線の傾き２と当該時刻から所定期間後までの心拍数のデータ列に近似された近似直線の傾き３とが所定の条件を満たす場合に、当該時刻を食事終了時刻ＴＵＤｅｎｄと推定する。図１０Ｂには、食事終了時刻が推定される例が示されており、上記の近似直線の傾き２及び上記の近似直線の傾き３が水平線からの角度として示されている。図１０Ｂに示すように、減少幅が閾値以上であり、かつ傾き２から傾き３が減算された減算値が所定の角度、例えば−６０度以下であるので、当該時刻が食事終了時刻ＴＵＤｅｎｄと推定される。
【００９１】
図１１は、食事時間の重複例を示す図である。図１１には、心拍数の時系列データの波形と、ＲＲ間隔の差の波形とが上下に併記されている。図１１の上部に示すグラフの縦軸は、心拍数（ｂｐｍ）とし、横軸は、時刻を指す。また、図１１の下部に示すグラフの縦軸は、ＲＲ間隔の差を指し、横軸は、時刻を指す。
【００９２】
図１１の、左側で縦線に挟んで示した領域では、上半分では心拍数の上昇および降下が見られ、下半分でも嚥下を示すＲＲ間隔の差の変化が見られ、それぞれで食事時間が推定され、実際にも食事が行われている。一方、図１１の右側では、上半分のグラフでのみ破線に挟まれた領域で心拍数の上昇および降下が見られるが、下半分では嚥下は検出されず、実際にはその期間には食事でなく運動が行われている。
【００９３】
このように、「心拍数の上昇及び下降の特徴」と「ＲＲ間隔の差の時間変化」の２つの食事時間の推定方法を併用することにより、例えば、２つの推定方法の両方で食事時間が重複する場合に、少なくとも両者が重複する区間を食事時間と判定することにすれば、食事時間でない時間を食事時間と誤って判定する事態を抑制し、もって高性能な検出を実現できる。一方、「心拍数の上昇及び下降の特徴」と「ＲＲ間隔の差の時間変化」の推定方法のうち一方でも食事時間が推定された場合に、食事時間と判定することにすれば、食事時間を検出し損なう検出の漏れが少なくなる。このように、目的に合わせて、食事時間の検出方法を変更できる。
【００９４】
より具体的には、情報処理装置１００は、推定部１６０により推定される食事時間候補と心拍数の上昇及び下降の特徴から推定される食事時間候補とを照合する。例えば、心拍数の上昇及び下降の特徴から推定される食事開始時刻が「ＴＵＤｓｔａｒｔ」であり、食事終了時刻が「ＴＵＤｅｎｄ」であり、推定部１６０により推定される食事開始時刻が「ＴＳＷｓｔａｒｔ」であり、食事終了時刻が「ＴＳＷｅｎｄ」であるとする。このとき、下記の式（２）または下記の式（３）のいずれかを満たす場合に、「ＲＲ間隔の差の時間変化」から推定される食事イベントと、「心拍数の上昇及び下降の特徴」から推定される食事イベントとが一定以上の度合いで重複することを検出できる。このように両者の食事イベントが一定以上の度合いで重複する場合、一例として、食事開始時刻ＴＳＷｓｔａｒｔ、食事終了時刻ＴＳＷｅｎｄ、これらの差から求まる食事所要時間を推定結果として出力できる。この場合、食事所要時間、すなわち「食事終了時刻ＴＳＷｅｎｄ−食事開始時刻ＴＳＷｓｔａｒｔ」が所定の閾値Ｔｔｈ５以上である場合に絞って、食事開始時刻ＴＳＷｓｔａｒｔ、食事終了時刻ＴＳＷｅｎｄ、食事所要時間を出力することもできる。なお、ここでは、食事開始時刻ＴＳＷｓｔａｒｔ、食事終了時刻ＴＳＷｅｎｄ、食事所要時間を最終的な推定結果として出力する場合を例示したが、食事開始時刻ＴＵＤｓｔａｒｔ、食事終了時刻ＴＵＤｅｎｄ、これらの差から求まる食事所要時間を出力することとしてもよいし、また、互いの食事イベントが重複する重複期間、その重複期間の開始時刻及び終了時刻を出力することとしてもよい。
【００９５】
ＴＵＤｅｎｄ−ＴＳＷｓｔａｒｔ＞Ｔｔｈ４  …  式（２）
【００９６】
ＴＳＷｅｎｄ−ＴＵＤｓｔａｒｔ＞Ｔｔｈ４  …  式（３）
【００９７】
［心拍数に基づく食事時間の推定との併用２］
例えば、情報処理装置１００は、心拍数の上昇及び下降の特徴から推定される食事時間の尤もらしさを当該食事時間内に含まれる有効嚥下時刻の個数により評価することもできる。
【００９８】
（１）ＴＵＤｓｔａｒｔからＴＵＤｅｎｄまでの食事時間の中に含まれる有効嚥下時刻の数ＮＳＷが所定の閾値Ｎｔｈ１より大きい場合に食事があったと判定できる。
【００９９】
（２）ＴＵＤｓｔａｒｔからＴＵＤｅｎｄまでの食事時間の中に含まれる有効嚥下時刻の頻度が所定の閾値より大きい場合に食事があったと判定する。なお、頻度は、有効嚥下時刻の数ＮＳＷを食事所要時間ＴＵＤｄｕｒａｔｉｏｎで除算する計算等により求めることができる。
【０１００】
（３）ＴＵＤｓｔａｒｔからＴＵＤｅｎｄまでの食事時間の中に含まれる有効嚥下時刻が周期性を持つ場合に食事があったと判定する。ここで周期性があるかどうかは、式（４）を満たす嚥下（周期性を持っている嚥下）が所定の閾値Ｎｔｈ１より大きい場合に、周期的な嚥下があるので、食事があったと判定する。
【０１０１】
ｍ・Ｔｉｎｔｅｒｖａｌ≦ＴＳＷ（ｍ）≦（ｍ＋１）・Ｔｉｎｔｅｒｖａｌ・・・式（４）
【０１０２】
なお、ＴＳＷ（ｍ）は、検出されたｍ番目の嚥下の時刻を表し、Ｔｉｎｔｅｒｖａｌは、Ｔｉｎｔｅｒｖａｌ＝（ＴＵＤｅｎｄ−ＴＵＤｓｔａｒｔ）／ＮＳＷで求められる、嚥下が均等に行われた場合の時間間隔を表わしている。
【０１０３】
［心拍数に基づく食事時間の推定との併用３］
上記の２つの食事時間の推定方法は、互いを並列して実行させることもできるし、一方を先に実行してから他方を後に実行させることもできる。例えば、「心拍数の上昇及び下降の特徴」から食事時間を推定する方法が先に実行される場合、食事終了時刻ＴＵＤｅｎｄ−食事開始時刻ＴＵＤｓｔａｒｔが所定の閾値Ｔｔｈ５以上である場合に絞って、上記の実施例１で示した「ＲＲ間隔の差の時間変化」から食事時間を推定する処理を実行する。また、「ＲＲ間隔の差の時間変化」から食事時間を推定する方法が先に実行される場合、食事終了時刻ＴＳＷｅｎｄ−食事開始時刻ＴＳＷｓｔａｒｔが所定の閾値Ｔｔｈ５以上である場合に絞って、「心拍数の上昇及び下降の特徴」から食事時間を推定する方法を実行する。これによって、少なくとも一方の食事時間の推定方法が閾値Ｔｔｈ５以上である場合に絞って他方の食事時間の推定方法が実行される結果、無駄な処理を削減できる。
【０１０４】
［間食等の検出］
間食など摂取量が少ない場合は、心拍数は殆ど上昇しないが、嚥下による心拍変動は摂取量に関わらず観測されると考えられる。このことから、情報処理装置１００は、２つの食事イベントの中間で飲み込みによる心拍変動が生じた時に、間食イベントと判定することもできる。
【０１０５】
例えば、食事イベント１の食事開始時刻をＴＵＤｓｔａｒｔ１、食事終了時刻をＴＵＤｅｎｄ１とし、かかる食事イベント１に後続する食事イベント２の食事開始時刻をＴＵＤｓｔａｒｔ２、食事終了時刻をＴＵＤｅｎｄ２とする。この場合、当然のことながら、ＴＵＤｅｎｄ１＜ＴＵＤｓｔａｒｔ２であるとする。この場合、食事の直前、直後には間食しないものと想定し、間食を判定しない間食非判定の時間幅ＴＤＺ１、ＴＤＺ２を設け、有効嚥下時刻Ｔｊが下記の式（５）を満たす場合に、当該有効嚥下時刻Ｔｊを間食イベントとして検出することもできる。
【０１０６】
ＴＵＤｅｎｄ１＋ＴＤＺ１≦Ｔｊ≦ＴＵＤｓｔａｒｔ２−ＴＤＺ２・・・式（５）
【０１０７】
［食事スピードの検出］
さらに、ヘルスケア支援サービスの一環としてユーザの食物摂取のスピードに関する通知方法について示す。食事時間中に嚥下を行う頻度は食物を摂取する頻度であるから、その逆数は食事のスピードを表わしていると考えられる。具体的には、食事のスピードは式（６）のように表される。
【０１０８】
Ｖ＝ＮＳＷ／（ＴＳＷｅｎｄ−ＴＳＷｓｔａｒｔ）・・・式（６）
【０１０９】
式（６）のＶは、食事のスピードを表わしている。求めたスピードが大きければ「早食い」、小さければ「遅食い」ということになる。具体的には、早食いの判定値をＶｔｈ１、遅食いの判定値をＶｔｈ２として、Ｖ＞Ｖｔｈ１  のときに早食いと判定、Ｖ＜Ｖｔｈ２  のときに遅食いと判定ができ、その結果をユーザに通知して、食生活の改善を促すことができる。ここでは、食事のスピードを求め、それに基づき通知を行う例を示したが、食事時間が所定の閾値より長い場合に「遅食い」と通知してもよい。このように、食事に関しては様々な観点から評価を与えることができるので、上に示した以外にも、さまざまな条件を設定して通知を行うことができる。
【０１１０】
［入力データ］
上記の実施例１では、心電信号を食事時間の推定に用いる場合を例示したが、心拍の時間間隔を求めることができれば入力データは必ずしも心電信号でなくともかまわない。例えば、光電脈波センサ等により採取される脈波の時系列データを入力データとすることもできる。
【０１１１】
［他の実装例１］
上記の実施例１〜実施例２では、センサ端末１０及び情報処理装置１００を含むヘルスケア支援システム１として構築される場合を例示したが、これに限定されない。例えば、心電信号の取得から食事時間の推定までの一連の処理をセンサ端末１０、情報処理装置１００、あるいはその他のコンピュータにスタンドアローンで実行させることとしてもかまわない。
【０１１２】
［他の実装例２］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、上記の実施例１では、食事時間推定処理を情報処理装置１００が実行する場合を例示したが、処理の実行主体はこれに限定されない。例えば、センサ端末１０からの心電信号を中継する中継装置として情報処理装置１００を機能させ、上記のヘルスケア支援サービスを提供するＷｅｂサーバやアウトソーシングによって上記のヘルスケア支援サービスを提供するクラウドに、上記の食事時間推定処理を実行させることとしてもかまわない。また、情報処理装置１００が有する処理部の一部をセンサ端末１０に持たせることとしてもよい。例えば、情報処理装置１００が有する第１算出部１３０と第２算出部１４０とをセンサ端末１０に持たせることとしてもよい。これにより、センサ端末１０で心電信号からＲＲ間隔およびＲＲ間隔の差を算出して情報処理装置１００へ伝送できる。
【０１１３】
［食事時間推定プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１２を用いて、上記の実施例１〜実施例２と同様の機能を有する食事時間推定プログラムを実行するコンピュータの一例について説明する。
【０１１４】
図１２は、実施例１〜実施例２に係る食事時間推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１２に示すように、コンピュータ１０００は、操作部１１００ａと、スピーカ１１００ｂと、ディスプレイ１２００と、通信部１３００とを有する。さらに、このコンピュータ１０００は、ＣＰＵ１５００と、ＲＯＭ１６００と、ＨＤＤ１７００と、ＲＡＭ１８００とを有する。これら１１００〜１８００の各部はバス１４００を介して接続される。
【０１１５】
ＨＤＤ１７００には、上記の実施例１〜実施例５で示した情報処理装置１００の構成要素と同様の機能を発揮する食事時間推定プログラム１７００ａが記憶される。この食事時間推定プログラム１７００ａは、情報処理装置１００の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７００には、必ずしも上記の実施例１〜実施例２で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７００に格納されればよい。
【０１１６】
このような環境の下、ＣＰＵ１５００は、ＨＤＤ１７００から食事時間推定プログラム１７００ａを読み出した上でＲＡＭ１８００へ展開する。この結果、食事時間推定プログラム１７００ａは、図１２に示すように、食事時間推定プロセス１８００ａとして機能する。この食事時間推定プロセス１８００ａは、ＲＡＭ１８００が有する記憶領域のうち食事時間推定プロセス１８００ａに割り当てられた領域にＨＤＤ１７００から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。なお、ＣＰＵ１５００では、必ずしも上記の実施例１〜実施例２で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１１７】
なお、上記の食事時間推定プログラム１７００ａは、必ずしも最初からＨＤＤ１７００やＲＯＭ１６００に記憶されておらずともかまわない。例えば、コンピュータ１０００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１０００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１０００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１１８】
１  ヘルスケア支援システム
１０  センサ端末
１１  心電センサ
１５  通信Ｉ／Ｆ部
１００  情報処理装置
１１０  通信Ｉ／Ｆ部
１２０  取得部
１３０  第１算出部
１４０  第２算出部
１５０  検出部
１６０  推定部
【図１】
2017012249.tif 000003
【図２】
2017012249.tif 000004
【図３Ａ】
2017012249.tif 000005
【図３Ｂ】
2017012249.tif 000006
【図４】
2017012249.tif 000007
【図５Ａ】
2017012249.tif 000008
【図５Ｂ】
2017012249.tif 000009
【図５Ｃ】
2017012249.tif 000010
【図６】
2017012249.tif 000011
【図７】
2017012249.tif 000012
【図８】
2017012249.tif 000013
【図１０Ａ】
2017012249.tif 000014
【図１１】
2017012249.tif 000015
【図１２】
2017012249.tif 000016
【図９】
2017012249.tif 000017
【図１０Ｂ】
2017012249.tif 000018