(57)【要約】【課題】摂取した食べ物の消化率に応じたサービスをリアルタイムでユーザに提供することができる情報処理装置、消化率推定方法および消化率推定プログラムを提供すること。【解決手段】ユーザが摂取した食物の消化率を推定する情報処理装置は、前記ユーザが所持する心拍信号測定装置から所定の時間間隔で測定された複数の心拍数情報を受信する第１受信部と、前記ユーザの食事開始時刻および食事終了時刻の情報を受信する第２受信部と、前記複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、前記食事開始時刻における心拍数とに基づいて、前記食物の消化が終了する時刻を示す消化終了時刻を特定する特徴量算出部と、前記食事終了時刻と、特定された前記消化終了時刻とに基づいて、現在時刻における消化率を推定する消化率推定部と、を有する。
2017051442.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが摂取した食物の消化率を推定する情報処理装置であって、
前記ユーザが所持する心拍信号測定装置から所定の時間間隔で測定された複数の心拍数情報を受信する第１受信部と、
前記ユーザの食事開始時刻および食事終了時刻の情報を受信する第２受信部と、
前記複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、前記食事開始時刻における心拍数とに基づいて、前記食物の消化が終了する時刻を示す消化終了時刻を特定する特徴量算出部と、
前記食事終了時刻と、特定された前記消化終了時刻とに基づいて、現在時刻における消化率を推定する消化率推定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記消化率が閾値を超えるか否かを判定する判定部と、
前記判定部によって、前記消化率が前記閾値を超えると判定された場合に、サービスに関する情報を前記ユーザに提示する情報提示部と、
を更に有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記特徴量算出部は、
前記複数の心拍数情報を参照することによって、前記食事開始時刻における心拍数と、前記食事終了後に測定された心拍数の最大値とを特定し、
前記複数の心拍数の情報のうち、前記最大値が測定された時刻以降に測定された複数の心拍数情報を用いて、前記最大値が測定された時刻以降の心拍数の変化を近似する一次近似直線を算出し、
前記一次近似直線を用いて、前記食事終了後に心拍数が前記最大値を経て前記食事開始時刻の心拍数に戻る時刻を、消化終了時刻として特定する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記特徴量算出部は、
前記最大値が測定された時刻から経過した時間を示す設定時間を設定し、
前記最大値が測定された時刻から前記設定時間が経過した後の時刻までの間に測定された複数の心拍数情報を用いて、前記一次近似直線を算出する、
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記消化率推定部は、
前記食事終了時刻を消化開始時刻として、前記消化終了時刻と前記消化開始時刻との差分を算出することによって消化時間を算出し、
前記消化時間に対する、前記食事終了時刻から前記現在時刻までに経過した時間の割合を算出することによって、前記現在時刻における消化率を推定する、
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定部は、
前記最大値が測定された時刻から前記設定時間が経過した後の時刻までの時間帯に測定された複数の心拍数情報が全て取得されているか否かを判定し、
前記特徴量算出部は、
前記時間帯に測定された複数の心拍数情報が全て取得されていると判定された場合に、前記一次近似直線を算出する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記判定部は、特定された前記消化終了時刻が上限値以上であるか否かを判定し、
前記消化終了時刻が上限値以上であると判定された場合に、前記設定時間を所定の時間長くすることによって、前記設定時間を再設定する、
ことを特徴とする請求項４〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記受信部によって受信された、食事終了後に心拍数が前記最大値を経て前記食事開始時刻の心拍数に戻る時刻までに測定した複数の心拍数情報に基づいて、心拍数の単位時間あたりの変化率を示す心拍数変化率を算出する変化率算出部と、
前記心拍数変化率と、前記消化率との対応関係を示す対応テーブルを生成するモデル生成部と、
を更に有し、
前記変化率算出部は、
前記現在時刻における心拍数情報と、前記現在時刻以前における１又はそれ以上の心拍数情報とに基づいて、前記現在時刻における心拍数変化率を算出し、
前記消化率推定部は、
前記現在時刻における心拍数変化率に基づいて、前記対応テーブルを参照することによって、前記現在時刻における消化率を推定する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項９】
心拍信号測定装置を所持したユーザが摂取した食物の消化率を推定する情報処理装置によって実行される消化率推定方法であって、
前記心拍信号測定装置から所定の時間間隔で測定された複数の心拍数情報を受信し、前記心拍信号測定装置と異なる装置から、前記ユーザの食事開始時刻および食事終了時刻の情報を受信し、
前記複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、前記食事開始時刻における心拍数とに基づいて、前記食物の消化が終了する時刻を示す消化終了時刻を特定し、
前記食事終了時刻と、特定された前記消化終了時刻とに基づいて、現在時刻における消化率を推定する、
ことを特徴とする消化率推定方法。
【請求項１０】
ユーザが摂取した食物の消化率を推定する情報処理システムであって、
心拍信号測定装置と、
前記心拍信号測定装置と通信可能に接続される情報処理装置と、
を有し、
前記情報処理装置は、
前記心拍信号測定装置から、所定の時間間隔で測定された前記ユーザの複数の心拍数情報を受信する第１受信部と、
前記ユーザの食事開始時刻および食事終了時刻の情報を受信する第２受信部と、
前記複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、前記食事開始時刻における心拍数とに基づいて、前記食物の消化が終了する時刻を示す消化終了時刻を特定する特徴量算出部と、
前記食事終了時刻と、特定された前記消化終了時刻とに基づいて、現在時刻における消化率を推定する消化率推定部と、
を有することを特徴とする情報処理システム。
【請求項１１】
心拍信号測定装置と携帯端末装置とを所持したユーザの消化率を推定する情報処理装置に、
前記心拍信号測定装置から所定の時間間隔で測定された複数の心拍数情報を受信し、前記心拍信号測定装置と異なる装置から、前記ユーザの食事開始時刻および食事終了時刻の情報を受信し、
前記複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、前記食事開始時刻における心拍数とに基づいて、前記食物の消化が終了する時刻を示す消化終了時刻を特定し、
前記食事終了時刻と、特定された前記消化終了時刻とに基づいて、現在時刻における消化率を推定する、
処理を実行させるための消化率推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、消化率推定方法、情報処理システムおよび消化率推定プログラムに関する。
【背景技術】
【０００２】
近年では、ユーザの状況または行動をセンシングし、その状況または行動に応じた情報をユーザに配信するサービスが、サービス提供業者によって行われている。【０００３】
例えば、摂取した食べ物の消化率に応じて、有益な情報をユーザに提供するサービスが開示されている（非特許文献１）。このサービスでは、呼気からアセトン濃度を計測し、アセトン濃度から消化率（空腹度）を推定する技術が用いられている。ユーザは、推定された空腹度の程度に応じて、食事や運動に適したタイミングを、携帯情報端末を通じて知ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表平１０−５０４７３９号公報
【特許文献２】特開２００４−１３８号公報
【特許文献３】特開２００９−２０１８０５号公報
【特許文献４】特開２０１１−１１５５０８号公報
【特許文献５】特開２００８−６１７９０号公報
【非特許文献】
【０００５】
【非特許文献１】「食事写真のカロリーを表示、息を吹きかけて空腹度を測定−ドコモのダイエット支援サービス」、[online]、アイティメディア株式会社、[平成２７年７月６日検索]、インターネット＜ＵＲＬ：http://www.itmedia.co.jp/mobile/articles/1110/06/news128.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のアセトン濃度を計測するための装置は、常時装着できるほど小さいものではない。また、計測を行う度に、装置中に残留するアセトンを除去する作業も発生する。このため、アセトン濃度を監視し、摂取した食べ物の消化率に応じたサービスをリアルタイムでユーザに提供することは困難である。【０００７】
本発明の１つの側面では、摂取した食べ物の消化率に応じたサービスをリアルタイムでユーザに提供することができる情報処理装置、消化率推定方法および消化率推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
発明の一観点によれば、ユーザが摂取した食物の消化率を推定する情報処理装置であって、前記ユーザが所持する心拍信号測定装置から所定の時間間隔で測定された複数の心拍数情報を受信する第１受信部と、前記ユーザの食事開始時刻および食事終了時刻の情報を受信する第２受信部と、前記複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、前記食事開始時刻における心拍数とに基づいて、前記食物の消化が終了する時刻を示す消化終了時刻を特定する特徴量算出部と、前記食事終了時刻と、特定された前記消化終了時刻とに基づいて、現在時刻における消化率を推定する消化率推定部と、を有する情報処理装置が提供される。
【発明の効果】
【０００９】
一実施態様によれば、摂取した食べ物の消化率に応じたサービスをリアルタイムでユーザに提供することができる情報処理装置、消化率推定方法および消化率推定プログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１における情報処理システム１００の一例を示す図である。
【図２】図２は、実施例１における情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、食事前から食事後までの心拍数の時間変化の一例を示す図である。
【図４】図４は、情報処理装置１０によって実行される消化率推定方法の一例を示すフローチャート（その１）である。
【図５】図５は、心拍数管理テーブル１２ａの初期状態の一例を示す図である。
【図６】図６は、心拍数管理テーブル１２ａに情報を格納した例を示す図である。
【図７】図７は、食事時刻管理テーブル１２ｂの初期状態の一例を示す図である。
【図８】図８は、Ｓ１０２において、食事時刻管理テーブル１２ｂに情報を格納した例を示す図である。
【図９】図９は、特徴量管理テーブル１２ｃの初期状態の一例を示す図である。
【図１０】図１０は、Ｓ１０３において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。
【図１１】図１１は、Ｓ１０４において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。
【図１２】図１２は、一次近似直線を用いて消化率を推定する方法を説明するための図である。
【図１３】図１３は、Ｓ１０５において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。
【図１４】図１４は、Ｓ１０６において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。
【図１５】図１５は、Ｓ１０８において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。
【図１６】図１６は、情報処理装置１０によって実行される消化率推定方法の一例を示すフローチャート（その２）である。
【図１７】図１７は、消化率推定管理テーブル１２ｄの初期状態の一例を示す図である。
【図１８】図１８は、Ｓ１１０において、消化率推定管理テーブル１２ｄに情報を格納した例を示す図である。
【図１９】図１９は、消化率推定管理テーブル１２ｄに情報を複数回格納した例を示す図である。
【図２０】図２０は、図１６に示すフローチャートの変形例を示す図である。
【図２１】図２１は、実施例２における情報処理システム２００の一例を示す図である。
【図２２】図２２は、実施例２における、情報処理装置１０ｂによって実行される消化率推定方法の一例を示すフローチャート（その１）である。
【図２３】図２３は、実施例２における、情報処理装置１０ｂによって実行される消化率推定方法の一例を示すフローチャート（その２）である。
【図２４】図２４は、実施例３における情報処理システム３００の一例を示す図である。
【図２５】図２５は、実施例４における情報処理システム４００の一例を示す図である。
【図２６】図２６は、実施例４における、情報処理装置１０ｄによって実行される消化率推定方法の一例を示すフローチャート（その１）である。
【図２７】図２７は、心拍数変化率−消化率対応テーブルの一例を示す図である。
【図２８】図２８は、図２７の心拍数変化率−消化率対応テーブルを説明するための、心拍数変化率のプロファイルを示す図である。
【図２９】図２９は、実施例４における、情報処理装置１０ｄによって実行される消化率推定方法の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図１乃至図２９を参照して具体的に説明する。
【００１２】
（実施例１）
図１は、実施例１における情報処理システム１００の一例を示す図である。図１に示すように、情報処理システム１００は、情報処理装置１０と、心拍信号測定装置２０とを有している。
【００１３】
情報処理装置１０は、摂取した食物の胃における消化率に応じたサービスを受けるユーザが所持するコンピュータである。情報処理装置１０は、心拍信号測定装置２０から受信した心拍（脈拍）数から消化率を推定し、推定結果に基づいて、ユーザにサービスを提供する装置である。情報処理装置１０は、例えばスマートフォン、携帯電話、タブレット端末、ノートＰＣ（Personal Computer）、ウェアラブルコンピュータなどのコンピュータである。ウェアラブルコンピュータは、利用者が身に着けて持ち歩くことができるコンピュータであり、例えば腕時計型の装置である。
【００１４】
心拍信号測定装置２０は、心拍（脈拍）数を測定するための機器であり、例えば腕時計型の心拍計である。心拍信号測定装置２０は、所定の時間間隔で、心拍信号測定装置２０を装着したユーザの心拍数を測定することができる。心拍信号測定装置２０は、測定した心拍数の情報を、情報処理装置１０に送信することができる。
【００１５】
情報処理システム１００は、情報処理装置１０と、心拍信号測定装置２０とを内蔵したウェアラブルコンピュータとして実現することもできる。ウェアラブルコンピュータによって実現することにより、容易に常時装着することができる。
【００１６】
以下、情報処理装置１０を構成する各部の機能について説明する。
【００１７】
図１に示すように、情報処理装置１０は、受信部１１と、記憶部１２と、特徴量算出部１３と、消化率推定部１４と、判定部１５と、情報提示部１６とを備えている。
【００１８】
受信部１１は、第１受信部１１ａと第２受信部１１ｂとを備えている。第１受信部１１ａは、心拍信号測定装置２０から所定の時間間隔で測定された複数の心拍信号情報を受信する。心拍信号情報は、ユーザの心拍数と、心拍数を測定した時刻とが対応付けられた情報である。第２受信部１１ｂは、ユーザから食事開始時刻および食事終了時刻の情報を受信する。食事開始時刻は、ユーザが食事を開始した時刻である。食事終了時刻は、ユーザが食事を終了した時刻である。
【００１９】
記憶部１２は、情報処理装置１０が実行する処理に用いられるデータおよびプログラムを格納するハードウェアである。例えば、記憶部１２には、情報処理装置１０が実行する処理に用いられる、心拍数管理テーブル１２ａ、食事時刻管理テーブル１２ｂ、特徴量管理テーブル１２ｃおよび消化率推定管理テ−ブル１２ｄなどを格納することができる。各テーブルの詳細については後述する。
【００２０】
記憶部１２は、例えばＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、ＲＡＭ（Random Access Memory）、フラッシュメモリ、またはＲＯＭ（Read Only Memory）であり、これらのいずれかの組み合わせであっても良い。例えば、ＨＤＤ、ＳＳＤ、ＲＡＭおよびＮＡＮＤ型フラッシュメモリは、データの格納用に用いることができる。一方、ＮＯＲ型フラッシュメモリおよびＲＯＭは、プログラム（消化率推定プログラムなど）の格納用に用いることができる。記憶部１２は、用途または必要とする記憶容量などに応じて複数の記憶装置によって構成することもできる。
【００２１】
特徴量算出部１３は、心拍信号測定装置２０から受信した複数の心拍信号情報、およびユーザの食事開始時刻および食事終了時刻の情報に基づいて、消化率の算出に用いられる各種のパラメータを算出する。以降では、各種のパラメータを「特徴量」と総称する。各種の特徴量の詳細および算出方法については後述する。
【００２２】
消化率推定部１４は、特徴量算出部１３によって算出された各種の特徴量に基づいて、消化率を推定する。
【００２３】
判定部１５は、情報処理装置１０によって実行される処理の中で、各種の判定処理を実行する。
【００２４】
情報提示部１６は、判定部１５によって、ユーザに消化率に関連する情報を提示すると判定した場合に、ユーザに情報を提示する。
【００２５】
次に、情報処理装置１０のハードウェア構成について説明する。
【００２６】
図２は、実施例１における情報処理装置１０のハードウェア構成の一例を示す図である。図２に示すように、情報処理装置１０は、ＣＰＵ（Central Processing Unit）６１、ＲＯＭ６２、ＲＡＭ６３、ストレージ装置６４、入力装置６５、表示装置６６、ネットワークインタフェース６７および可搬型記憶媒体用ドライブ６８等を備えている。
【００２７】
ＣＰＵ６１は、情報処理装置１０の処理を管理または実行するハードウェアである。ＭＰＵ（Micro Processing Unit）もＣＰＵ６１の一例である。ＣＰＵ６１は、受信部１１、特徴量算出部１３、消化率推定部１４、判定部１５、および情報提示部１６の一例である。
【００２８】
ＲＯＭ６２、ＲＡＭ６３およびストレージ装置６４は、ＣＰＵ６１が実行する処理に用いられるデータおよびプログラムを格納するハードウェアである。ストレージ装置６４は、例えばＨＤＤである。ＲＯＭ６２、ＲＡＭ６３およびストレージ装置６４は、記憶部１２の一例である。
【００２９】
入力装置６５は、ユーザが各種情報を入力する際に用いられるハードウェアである。入力装置６５は、例えばタッチパネル、キーボード、マウス等である。入力装置６５がタッチパネルである場合、タッチパネルは後述の表示装置６６の上に重なるようにして配置される。
【００３０】
表示装置６６は、画像を表示する装置である。表示装置６６は、例えば液晶ディスプレイ、プラズマディスプレイまたは有機ＥＬ（Electro-Luminescence）ディスプレイ等である。
【００３１】
ネットワークインタフェース６７は、外部装置とネットワークを介して通信するためのハードウェアである。
【００３２】
情報処理装置１０の構成各部は、バス７０に接続されている。情報処理装置１０では、ＲＯＭ６２あるいはストレージ装置６４に格納されているプログラム（消化率推定プログラムを含む）、或いは可搬型記憶媒体用ドライブ６８が可搬型記憶媒体６９から読み取ったプログラム（消化率推定プログラムを含む）をＣＰＵ６１等のプロセッサが実行することにより、情報処理装置１０の機能が実現される。なお、当該プログラムは、ＲＡＭ６３にロードされ、ＣＰＵ６１等のプロセッサに実行されてもよい。
【００３３】
次に、情報処理装置１０によって実行される消化率推定方法について説明する。発明者は、食事前から食後までの心拍数の変化を測定し、心拍数の変化のプロファイルに特有の傾向があることを見出した。
【００３４】
図３は、食事前から食事後までの心拍数の時間変化の一例を示す図である。縦軸（ｙ軸）は心拍数、横軸（ｘ軸）は食事が終了した時刻を０分としたときの時間軸を示している。また、食事開始時刻は、食事を開始する時刻を示しており、食事終了時刻は、食事を終了する時刻を示している。なお、以降の説明の中で、心拍数の時間変化のプロファイルを「心拍数プロファイル」と呼称することがある。図３に示すように、心拍数は、食事を開始すると同時に急激に増加し、その後、降下して、食事終了時刻で極小値を示している。この極小値は、食事開始時刻における心拍数よりも僅かに高いレベルである。このような食事中の心拍数の変化は、食べ物の摂取時の咀嚼行動または嚥下行動によるものであると推察される。
【００３５】
その後、心拍数は、食事が終了した時点から再び上昇し、ある時刻でピークを迎えた後、緩やかな勾配で下降している。そして、心拍数は、食事開始時刻における心拍数に戻り、やがて一定となる。このような食事後の心拍数の変化は、体内の胃などにおける消化活動によるものであり、消化活動が終了したことによって、心拍数が食事前のレベルまで回復したものと推察される。図３の例では、食事終了時刻から２４０分後に心拍数が食事前のレベルまで回復しているが、心拍数が食事前のレベルまで回復する時刻は、食事の内容（種類または量など）によって異なる。本実施形態では、上述の心拍数の変化の傾向を利用して、リアルタイムで消化率を推定する。
【００３６】
次に、情報処理装置１０によって実行される、消化率を推定し、推定結果に基づいてユーザに情報を提示する処理のフローについて説明する。
【００３７】
図４は、情報処理装置１０によって実行される消化率推定方法の一例を示すフローチャート（その１）である。
【００３８】
まず、第１受信部１１ａは、心拍信号測定装置２０から複数の心拍信号情報を受信する（Ｓ１０１）。Ｓ１０１において、第１受信部１１ａは、例えば無線通信により所定の時間間隔で心拍信号測定装置２０から複数の心拍信号情報を取得する。そして、第１受信部１１ａは、取得した複数の心拍信号情報を記憶部１２の中の心拍数管理テーブル１２ａに格納する。
【００３９】
図５は、心拍数管理テーブル１２ａの初期状態の一例を示す図である。心拍数管理テーブル１２ａは、心拍数および心拍数を測定した時刻の項目を有している。
【００４０】
図６は、心拍数管理テーブル１２ａに情報を格納した例を示す図である。図６の例では、「１２：００」は１２時００分を示しており、１分間隔で測定された心拍数の情報が格納されている。心拍数管理テーブル１２ａに格納される情報は、１日毎に管理され、例えば、毎日０時００分から測定を開始し、日が変わるたびに消去するようにしても良い。これにより、記憶部１２内の心拍数管理テーブル１２ａのために使用される記憶領域が増大しないように抑制することができる。
【００４１】
図４に戻り、Ｓ１０１の処理の後、第２受信部１１ｂは、心拍信号測定装置２０から心拍数情報を順次受信しているときに、食事開始時刻および食事終了時刻の情報を取得する（Ｓ１０２）。Ｓ１０２では、例えばユーザが、入力装置６５を用いて食事開始時刻および食事終了時刻の情報を入力する。これにより、第２受信部１１ｂは、食事開始時刻および食事終了時刻の情報を受信することができる。
【００４２】
あるいは、情報処理装置１０は、食事開始時刻および食事終了時刻の情報を取得する別の方法として、食物を摂取する際に行う下腕の動作を加速度センサで検出することにより、食事開始時刻および食事終了時刻を特定する方法（特許文献４参照）を用いることもできる。あるいは、情報処理装置１０は、体内音マイクを用いて咀嚼特有の周波数パターンを検出することにより、食事開始時刻および食事終了時刻を特定する方法（特許文献５参照）を用いることもできる。
【００４３】
Ｓ１０２において、第２受信部１１ｂは、取得した食事開始時刻および食事終了時刻の情報を、記憶部１２の中の食事時刻管理テーブル１２ｂに格納する。
【００４４】
図７は、食事時刻管理テーブル１２ｂの初期状態の一例を示す図である。図７に示すように、食事時刻管理テーブル１２ｂは、食事のイベントを特定する識別子を示す食事ＩＤ（identifier）、食事開始時刻、および食事終了時刻の項目を有しており、食事ＩＤ毎に食事開始時刻および食事終了時刻の情報を管理する。第２受信部１１ｂは、食事開始時刻および食事終了時刻の情報を受信する度に、新たな食事ＩＤを付与して食事時刻管理テーブル１２ｂに登録する。
【００４５】
図８は、Ｓ１０２において、食事時刻管理テーブル１２ｂに情報を格納した例を示す図である。図８の例では、食事ＩＤ＝１が付与された食事に関し、食事開始時刻として１２：０２、食事終了時刻として１２：０７が登録されている。以降では、これらの情報を用いて処理の流れを説明する。
【００４６】
Ｓ１０２の処理の後、特徴量算出部１３は、食事開始時刻における心拍数を特定する（Ｓ１０３）。具体的には、図６の心拍数管理テーブル１２ａを参照し、図８の食事時刻管理テーブル１２ｂに登録されている食事開始時刻に対応付けられている心拍数を特定する。例えば、図８によれば、食事ＩＤ＝１に対応する食事開始時刻は１２：０２であるので、図６を参照すると、１２：０２に対応する心拍数は８０ｂｐｍ（beats per minute）であることがわかる。そこで、特徴量算出部１３は、特定した心拍数８０ｂｐｍの情報を、特徴量管理テーブル１２ｃに格納する。
【００４７】
図９は、特徴量管理テーブル１２ｃの初期状態の一例を示す図である。図９に示すように、特徴量管理テーブル１２ｃには、食事ＩＤ毎に、特徴量１から６までの６種類の特徴量を格納することができる。本実施形態の説明では、食事開始時刻における心拍数を「特徴１」と呼称し、食事後における心拍数の最大値を示すピーク値を「特徴量２」と呼称する。更に、ピーク値が測定された時刻以降の心拍数プロファイルの一次近似直線を「特徴量３」と呼称し、消化終了時刻を「特徴量４」と呼称する。更に、食事終了時刻からピーク値が測定された時刻までの時間を「特徴量５」と呼称し、ピーク値が測定された時刻から消化終了時刻までの時間を「特徴量６」と呼称する。なお、特徴量２乃至６の詳細については後述する。
【００４８】
図１０は、Ｓ１０３において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。図１０に示すように、特徴量算出部１３は、Ｓ１０３の処理によって特定した心拍数８０ｂｐｍの情報を、食事ＩＤ＝１に対応する「特徴量１」の項目の欄に格納する。
【００４９】
続いて、特徴量算出部１３は、食事終了後における心拍数のピーク値を特定する（Ｓ１０４）。例えば、図８に示すように食事終了時刻が１２：０７で、図６がＳ１０４の処理開始時における心拍数管理テーブル１２ａの格納状態を示す場合、特徴量算出部１３は、図６の心拍数管理テーブル１２ａを参照し、食事終了後の時間帯における心拍数のピーク値が、時刻が１２：２５のときに測定された１００ｂｐｍであることを特定する。
【００５０】
図１１は、Ｓ１０４において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。図１１に示すように、特徴量算出部１３は、特定したピーク値１００ｂｐｍの値を、食事ＩＤ＝１に対応する「特徴量２」の項目の欄に格納する。
【００５１】
続いて、判定部１５は、一次近似直線の算出が可能か否かを判定する（Ｓ１０５）。ここで、Ｓ１０５の処理の背景について説明する。
【００５２】
図３を用いて説明したように、心拍数プロファイルは、食事が終了した時点から再び上昇してピークに到達した後、食事開始時刻の心拍数に戻るまで緩やかに下降する形状を有している。しかし、消化活動が行われているときは、その時点までに取得した複数の心拍数情報によって描かれる心拍数プロファイルはまだ食事開始時刻の心拍数には到達していないため、消化活動が終了する時刻（消化終了時刻）は明らかになっていない。そこで、本実施形態では、食事開始時刻の心拍数に到達していない心拍数プロファイルを用いて消化終了時刻を特定するため、一次近似直線を用いることとした。
【００５３】
図１２は、一次近似直線を用いて消化率を推定する方法を説明するための図である。図１２では、第１受信部１１ａによって取得された心拍数情報によって描かれたプロファイルが実線で示されている。縦軸（ｙ軸）は心拍数、横軸（ｘ軸）は、食事が終了した後に心拍数のピーク値が測定された時刻を０分としたときの時間軸を示している。また、実線のプロファイルの右端が、現在時刻において測定された心拍数の大きさを示している。そして、第１受信部１１ａによってまだ取得されていない未知の心拍数情報によって描かれたプロファイルが破線で示されている。
【００５４】
図１２に示すように、情報処理装置１０は、ピーク値が測定された時刻以降の所定の時間帯における心拍数の変化を一次近似直線で近似する。時間軸をｘ軸、心拍数の軸をｙ軸とすると、一次近似直線はｙ＝ａｘ＋ｂと表すことができる。ここで、ａは、心拍数のピーク値が測定された時刻以降に下降傾向を示す心拍数プロファイルの傾きを示している。ｂは、後述するように、心拍数のピーク値が測定された時刻における心拍数を示している。食事開始時刻における心拍数の値をｃとし、食事後に心拍数がｃの値に回復した時刻を消化終了時刻と仮定すると、消化終了時刻は、ｙ＝ａｘ＋ｂおよびｙ＝ｃの交点のｘの値を求めることによって算出することができる。本実施形態では、例えば、現在時刻よりも前で、且つピーク値が測定された時刻以降の約１０分〜２０分程度の時間帯を、上述の「所定の時間帯」としている。そして、情報処理装置１０は、当該時間帯における心拍数の情報が取得されている場合に、ピーク値が測定された時刻以降の心拍数の変化を直線で近似することによって、一次近似直線を算出する。Ｓ１０５は、一次近似直線を算出するために必要な心拍数の情報が既に取得されているか否かを判定するための処理である。
【００５５】
Ｓ１０５において、判定部１５はまず、ピーク値が測定された時刻からの経過時間として、例えば２０分を設定時間として設定する。
【００５６】
続いて判定部１５は、図６の心拍数管理テーブル１２ａを参照し、ピーク値が測定された時刻から２０分後までの時間帯における心拍数の情報が全て格納されているか否かを判定する。心拍数の情報が全て格納されていない場合は、一次近似直線を算出するために必要な心拍数の情報が不足しているため、一次近似直線の算出が可能でないと判定する（Ｓ１０５否定）。Ｓ１０５否定と判定された場合、判定部１５は、ピーク値を示す時刻から２０分後が経過し、一次近似直線を算出するために必要な心拍数の情報が取得されるまで待機する。すなわち、判定部１５は、Ｓ１０５の処理を繰り返し実行する。
【００５７】
一方、対象心拍数情報が全て格納されている場合は、一次近似直線を算出するために必要な心拍数の情報が取得されている。このため、一次近似直線の算出が可能であると判定し（Ｓ１０５肯定）、特徴量算出部１３は、一次近似直線を算出する（Ｓ１０６）。Ｓ１０６において、特徴量算出部１３は、心拍数管理テーブル１２ａから、ピーク値が測定された時刻から所定の時間帯における複数の心拍数の情報を抽出する。そして、特徴量算出部１３は、特徴量管理テーブル１２ｃの「特徴量２」の項目の欄に格納されているピーク値の情報と、抽出した複数の心拍数の情報とを用いて、時間を変数とした心拍数の関数である一次近似直線を算出する。
【００５８】
例えば、図１２に示すように、ピーク値が測定された時刻を時間軸（ｘ軸）上の原点とすると、特徴量２、すなわち心拍数のピーク値１００ｂｐｍが一次近似直線のｙ切片の値となる。一方、図６の心拍数管理テーブル１２ａを参照すると、ピーク値１００ｂｐｍが測定された時刻は、１２：２５である。そこで、特徴量算出部１３は、Ｓ１０５で設定した設定時間が２０分である場合、１２：２５の２０分後である１２：４５までの複数の心拍数の情報を抽出する。そして、特徴量算出部１３は、抽出した複数の心拍数の値に基づいて、心拍数の一次近似直線の傾きを算出し、−０．１の値を得る。その結果、特徴量算出部１３は、ピーク値が測定された時刻からの経過時間をｘ分とすると、心拍数の一次近似直線としてｙ＝−０．１ｘ＋１００を得ることができる。
【００５９】
図１３は、Ｓ１０５において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。図１３に示すように、特徴量算出部１３は、算出した一次近似直線−０．１ｘ＋１００の情報を、食事ＩＤ＝１に対応する「特徴量３」の項目の欄に格納する。
【００６０】
図４に戻り、Ｓ１０６の処理の後、特徴量算出部１３は、Ｓ１０３で特定した食事開始時刻における心拍数と、Ｓ１０５で算出した一次近似直線とを用いて、ピーク値測定時刻から消化終了時刻までの時間を算出し、消化終了時刻を特定する（Ｓ１０７）。
【００６１】
特徴量算出部１３は、心拍数の下降時のプロファイルである一次近似直線を用いて、食事開始時刻における心拍数に回復する時刻に対応するｘの値を算出する。この方法により、特徴量算出部１３は消化終了時刻を特定することができる。
【００６２】
図１３の特徴量管理テーブル１２ｃの「特徴量１」の項目を参照すると、食事開始時刻における心拍数は８０ｂｐｍである。そこで、特徴量算出部１３は、「特徴量３」の項目に格納されている一次近似直線に基づいて、８０＝−０．１ｘ＋１００を満足するｘの値を算出する。その結果、ｘ＝２００が得られ、特徴量算出部１３は、ピーク値が測定された時刻から２００分後に消化活動が終了すると特定することができる。ピーク値が測定された時刻は、図６の心拍数管理テーブルによると１２：２５である。よって、消化終了時刻は、１２：２５の２００分後、すなわち１５：４５と算出される。
【００６３】
図１４は、Ｓ１０６において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。図１４に示すように、特徴量算出部１３は、特定した消化終了時刻１５：４５の情報を、食事ＩＤ＝１に対応する「特徴量４」の項目の欄に格納する。さらに、特徴量算出部１３は、特定したピーク値測定時刻から消化終了時刻までの時間である２００分の値を、食事ＩＤ＝１に対応する「特徴量６」の項目の欄に格納する。以上のように、ピーク値が測定された時刻から所定の時間帯における心拍数の情報を用いて一次近似直線を算出することにより、所定の時間帯が終了した時点で消化終了時刻を特定することができる。このため、所定の時間帯以降において、リアルタイムに消化率の推定を行うことが可能となる。
【００６４】
図４に戻り、Ｓ１０７の処理の後、特徴量算出部１３は、食事終了時刻からピーク値測定時刻までの時間を算出する（Ｓ１０８）。具体的には、特徴量算出部１３は、ピーク値が測定された時刻と、図８の食事時刻管理テーブル１２ｂに格納されている食事終了時刻との差分を求めることにより、食事終了時刻からピーク値測定時刻までの時間を算出する。ピーク値が測定された時刻は、図６の心拍数管理テーブル１２ａによると１２：２５である。また、図８の食事時刻管理テーブル１２ｂによると、食事終了時刻は１２：０７である。したがって、食事終了時刻からピーク値測定時刻までの時間は、１８分と算出される。
【００６５】
図１５は、Ｓ１０８において、特徴量管理テーブル１２ｃに情報を格納した例を示す図である。特徴量算出部１３は、特定した食事終了時刻からピーク値測定時刻までの時間１８分を、食事ＩＤ＝１に対応する「特徴量５」の項目の欄に格納する。以上のようにして、Ｓ１０８の処理が実行される。以下、Ｓ１０８の後に実行される処理について説明する。
【００６６】
図１６は、情報処理装置によって実行される消化率推定方法の一例を示すフローチャート（その２）である。
【００６７】
Ｓ１０８の処理の後、判定部１５は、消化率の推定タイミングであるか否かを判定する（Ｓ１０９）。本実施形態では、消化率の算出を予め設定した時間間隔で行うため、判定部１５は、Ｓ１０９の判定処理を実行する。記憶部１２には、消化率の算出結果を格納し、管理するための消化率推定管理テーブル１２ｄが用意されている。
【００６８】
図１７は、消化率推定管理テーブル１２ｄの初期状態の一例を示す図である。消化率推定管理テーブル１２ｄは、消化率の項目と、消化率を算出した時刻を示す算出時刻の項目とを有している。図１７の例では、消化率を算出する時間間隔を１０分としており、複数の算出時刻が１０分間隔で予め設定されている。なお、時間間隔は、１分または１秒のオーダで設定することもできる。
【００６９】
図１６に戻り、Ｓ１０９において、判定部１５は、現在時刻の情報を読み出した上で、予め設定された複数の算出時刻のうちのいずれかの時刻になったか否かを判定することにより、消化率の推定タイミングであるか否かを判定する。消化率の推定タイミングでないと判定された場合（Ｓ１０９否定）、再びＳ１０９の処理を実行する。一方、消化率の推定タイミングであると判定された場合（Ｓ１０９肯定）、消化率推定部１４は、現在時刻における消化率を算出する（Ｓ１１０）。
【００７０】
消化率推定部１４は、食事終了時刻を、胃における消化活動を開始した時刻（消化開始時刻）と見做し、食事終了時刻のときの消化率を０％、消化終了時刻のときの消化率を１００％とする。そして、消化率推定部１４は、食事終了時刻からの経過時間に基づいて現在時刻における消化率を算出する。具体的には、消化率推定部１４は、食事終了時刻から消化終了時刻までの時間の長さ、すなわち消化時間に対する、食事終了時刻から現在時刻までに経過した時間の長さの割合を算出することによって消化率を算出する。
【００７１】
消化時間の長さは、図１２に示すように、特徴量管理テーブル１２ｃの「特徴量５」と「特徴量６」の和を算出することによって求めることができる。よって、現在時刻における消化率は、以下の式により算出することができる。
（消化率）＝［（現在時刻−食事終了時刻）／（消化時間）］×１００％
＝［（現在時刻−食事終了時刻）／（特徴量５＋特徴量６）］×１００％
例えば、現在時刻を１２：３０とする。食事終了時刻は、図８の食事時刻管理テーブル１２ｂによると１２：０７であるので、現在時刻と食事終了時刻との差分は２３分と算出される。また、図１５の特徴量管理テーブル１２ｃによると、「特徴量５」は１８分、「特徴量６」は２００分である。よって、現在時刻１２：３０における消化率は、上述の式を用いて、（消化率）＝［２３／（１８＋２００）］×１００％≒１１％と算出される。消化率推定部１４は、算出した消化率１１％の値を、算出時刻と対応付けて消化率推定管理テーブル１２ｄに格納する。
【００７２】
図１８は、Ｓ１１０において、消化率推定管理テーブル１２ｄに情報を格納した例を示す図である。図１８に示すように、例えば、消化率の項目の、算出時刻１２：３０に対応する位置に、算出された１１％の値が格納される。
【００７３】
続いて、判定部１５は、算出した消化率の値に基づいて、情報処理装置１０のユーザにサービスに関する情報を提示するか否かを判定する（Ｓ１１１）。サービスの例として、例えば、ユーザの空腹になった頃に、お奨めのレストランなどの飲食店を提示して推薦するサービスや、ダイエットをしているユーザに、適切な食事摂取時刻を提示してアドバイスするサービスを挙げることができる。または、消化能力に不安を抱えるユーザに、消化が終った、または終わりそうなタイミングで食事を勧めるサービスや、高齢のユーザに、適切な食事時刻をアドバイスするサービスを挙げることができる。Ｓ１１１では、消化率が所定の消化率に達した場合に、ユーザにサービスに関する情報を提示すると判定される。所定の消化率は、サービスの内容によって設定が異なるが、例えば９５％〜１００％の範囲にある消化率である。
【００７４】
ユーザにサービスに関する情報を提示しないと判定した場合（Ｓ１１１否定）、判定部１５は、ユーザに対するサービスを継続中か否かを判定する（Ｓ１１２）。Ｓ１１２では、例えば情報処理装置１０が、当該サービスに関するアプリケーションの利用を継続しているか否かを判定することによって、ユーザに対するサービスを継続中か否かを判定する。ユーザに対するサービスが継続中であると判定した場合（Ｓ１１２肯定）、Ｓ１０９に戻り、Ｓ１０９以降の処理を再び実行する。ユーザに対するサービスが継続中でないと判定した場合（Ｓ１１２否定）、一連の処理を終了する。
【００７５】
図１９は、消化率推定管理テーブル１２ｄに情報を複数回格納した例を示す図である。図１９に示すように、Ｓ１１１で肯定判定されるまで、すなわちユーザに情報提示を行うと決定されるまでＳ１１１の処理が繰り返し実行される。すると、１０分ごとに消化率が算出され、算出結果が消化率推定管理テーブル１２ｄに徐々に蓄積されていく。１４：２０の時点では消化率６１％を示しており、所定の消化率に達するまで消化率の算出と蓄積が繰り返されることとなる。
【００７６】
Ｓ１１１において、ユーザにサービスに関する情報を提示すると判定した場合（Ｓ１１１肯定）、情報提示部１６は、表示装置６６を用いてユーザに情報を提示する（Ｓ１１３）。ユーザに提示する情報が、飲食店などの店舗、または施設の情報などを含む場合は、例えばネットワークを通じて、関連する情報を格納するＤＢを有するサーバなどの外部装置から、ユーザに提示する情報を取得する。その他の方法としては、関連する情報を格納するＤＢを情報処理装置１０の記憶部１２に格納しておき、記憶部１２から必要とする情報を読み出す方法を採ることもできる。Ｓ１１３の処理の後、一連の処理を終了する。
【００７７】
以上のようにして、情報処理装置１０による消化率推定処理が実行される。
【００７８】
このように、本実施形態によれば、心拍信号測定装置２０から受信した複数の心拍数情報が示す、食事終了後において心拍数が時間とともに上昇した後に下降する傾向と、食事開始時刻における心拍数とに基づいて、食事終了後に心拍数が食事開始時刻の心拍数に戻る時刻を消化終了時刻として特定する。そして、第２受信部１１ｂが取得した食事終了時刻の情報と、消化終了時刻とに基づいて、現在時刻における消化率を推定する。この方法によれば、逐次受信する最新の心拍数情報をもとに最新の消化率を推定できるため、推定した消化率に応じたサービスをリアルタイムでユーザに提供することができる。例えば、ユーザが消化率に応じた飲食店の情報提供サービスを受けている場合は、飲食店を検索する手間を省くことができる。
【００７９】
（変形例）
以下、本発明の実施例１の変形例について説明する。
【００８０】
実施例１では、食事終了後の時間帯におけるピーク値を特定し、ピーク値が測定された時刻から設定時間が経過するまでの所定の時間帯における複数の心拍数の情報を用いて一次近似直線を測定している。ところが、当該所定の時間帯における心拍数の減少度合いが小さい場合は、一次近似直線の傾きが小さくなるため、消化時間の特定値が実際の消化時間よりも長くなってしまう可能性がある。
【００８１】
そこで、変形例では、消化時間が、予め設定した上限値を超えた場合は、一次近似直線を算出するために設定した設定時間をより長い時間に変更することによって、心拍数情報のサンプル数を増やし、一次近似直線の算出処理を再び実行することを特徴としている。
【００８２】
図２０は、図１６に示すフローチャートの変形例を示す図である。図１６に含まれる処理と同一の処理については、同一の処理番号が付されている。
【００８３】
消化時間は、前述のように「特徴量５」と「特徴量６」との和から算出される。変形例では、Ｓ１０８の処理の後、判定部１５は、算出された消化時間の妥当性を確認するため、算出された消化時間が上限値以下であるか否かを判定する（Ｓ１０８ａ）。上限値は、摂取した食物が消化のため胃に滞留している時間として想定しにくい値であり、例えば８時間である。Ｓ１０８ａにおいて、算出された消化時間が上限値以下でないと判定された場合（Ｓ１０８ａ否定）、特徴量算出部１３は、一次近似直線の算出に用いる心拍数情報のサンプル数を所定の値増加させる（Ｓ１０８ｂ）。具体的には、特徴量算出部１３は、例えばピーク値を示す時刻からの経過時間の設定値に５分加算して長くする。例えば初期の設定値が２０分の場合、設定値は２０＋５＝２５分に変更される。Ｓ１０８ｂの処理の後、図４のＳ１０６に戻り、特徴量算出部１３は、再び一次近似直線を算出する処理を実行する。
【００８４】
一方、算出された消化時間が上限値以下であると判定された場合（Ｓ１０８ａ肯定）、Ｓ１０９に移り、Ｓ１０９以降の処理を実行する。Ｓ１０９以降の処理は図１６に示す処理と略同様であるので、説明を省略する。
【００８５】
以上のようにして、情報処理装置１０による消化率推定処理が実行される。
【００８６】
このように、実施例１の変形例によれば、特定された消化終了時刻が上限値以上であるか否かを判定し、消化終了時刻が上限値以上であると判定された場合に、設定時間を所定の時間長くすることによって、設定時間を再設定する。この方法によれば、食後における心拍数の減少傾向が現れるまで一次近似直線の算出を繰り返すことができるため、より正確な一次近似直線を算出することができる。これにより、消化時間の特定精度の向上を図ることができる。
【００８７】
（実施例２）
次に、実施例２について説明する。実施例１では、消化率に応じたサービスを受けるユーザが所持する情報処理装置が消化率を推定する処理を実行する。これに対して実施例２では、ユーザが携帯している情報処理装置と異なる情報処理装置が、代わりに消化率を推定する処理を実行することを特徴としている。
【００８８】
図２１は、実施例２における情報処理システム２００の一例を示す図である。図１に示す機能ブロックと同一の機能を有する機能ブロックについては、図１の当該機能ブロックと同一の符号を付し、説明を省略する。図２１に示すように、情報処理システム２００は、情報処理装置１０ａと、情報処理装置１０ｂと、心拍信号測定装置２０とを備えている。図２１中の破線は、無線による通信を示している。
【００８９】
情報処理装置１０ａは、図１の情報処理装置１０と同様に、ユーザが携帯しているコンピュータである。情報処理装置１０ａは、例えばスマートフォン、携帯電話、タブレット端末、ノートＰＣ、ウェアラブルコンピュータなどである。
【００９０】
情報処理装置１０ｂは、情報処理装置１０ａを所持するユーザの消化率を推定するコンピュータであり、ユーザから離れた場所に設置されている。情報処理装置１０ｂは、例えばサーバまたはデスクトップ型ＰＣなどである。情報処理装置１０ｂは、図１の情報処理装置１０と同様に、受信部１１と、記憶部１２と、特徴量算出部１３と、消化率推定部１４と、判定部１５と、情報提示部１６とを備えている。
【００９１】
情報処理システム２００も、情報処理装置１０ｂと心拍信号測定装置２０とを内蔵したウェアラブルコンピュータとして実現することもできる。
【００９２】
次に、情報処理装置１０ｂによって実行される、消化率を推定し、推定結果に基づいてユーザに情報を提示する処理のフローについて説明する。
【００９３】
図２２は、実施例２における、情報処理装置１０ｂによって実行される消化率推定方法の一例を示すフローチャート（その１）である。
【００９４】
まず、受信部１１は、心拍信号測定装置２０から心拍信号情報を取得する（Ｓ２０１）。Ｓ２０１の処理は、実施例１における図４のＳ１０１の処理と略同様であるので、説明を省略する。
【００９５】
続いて、受信部１１は、食事開始時刻および食事終了時刻の情報を情報処理装置１０ａから取得する（Ｓ２０２）。具体的には、情報処理装置１０ａを携帯するユーザが、情報処理装置１０ａに備えられている入力装置６５を用いて食事開始時刻および食事終了時刻の情報を入力する。そして、情報処理装置１０ａが、入力を受け付けた情報を情報処理装置１０ｂの受信部１１に送信する。これにより、情報処理装置１０ｂは、食事開始時刻および食事終了時刻の情報を取得することができる。あるいは、ユーザが装着している加速度センサまたは体内温マイクを使ってユーザの動作を検出することによって、食事開始時刻および食事終了時刻を特定し、特定した情報を情報処理装置１０ｂの受信部１１に送信する。これにより、情報処理装置１０ｂは、食事開始時刻および食事終了時刻の情報を取得することができる。
【００９６】
Ｓ２０３からＳ２０８までの処理は、実施例１における図４のＳ１０３からＳ１０８までの処理と略同様であるので、説明を省略する。
【００９７】
図２３は、実施例２における、情報処理装置１０ｂによって実行される消化率推定方法の一例を示すフローチャート（その２）である。
【００９８】
Ｓ２０９からＳ２１１までの処理は、実施例１における図１６のＳ１０９からＳ１１１までの処理と略同様であるので、説明を省略する。Ｓ２１１でユーザに情報提示を行わないと判定された場合（Ｓ２１１否定）、判定部１５は、ユーザに対するサービスを継続中か否かを判定する（Ｓ２１２）。Ｓ２１２では、例えば情報処理装置１０ｂは、情報処理装置１０ａによる当該サービスに関するアプリケーションの利用を停止した旨の信号を受信したか否かを判定することによって、ユーザに対するサービスを継続中か否かを判定する。ユーザに対するサービスが継続中であると判定した場合（Ｓ２１２肯定）、Ｓ２０９に戻り、Ｓ２０９以降の処理を再び実行する。ユーザに対するサービスが継続中でないと判定した場合（Ｓ２１２否定）、一連の処理を終了する。
【００９９】
一方、Ｓ２１１でユーザに情報提示を行うと判定された場合（Ｓ２１１肯定）、情報提示部１６は、ユーザに情報提示を行う旨の指示信号を情報処理装置１０ａに対して、送信する（Ｓ２１３）。なお、ユーザに提示する情報が、飲食店などの店舗、または施設の情報などを含む場合、情報処理装置１０ｂは、例えばネットワークを通じて、関連する情報を格納するＤＢを有するサーバなどの外部装置から、ユーザに提示する情報を取得する。取得した情報とともに指示信号を送信することもできる。その他の方法としては、関連する情報を格納するＤＢを情報処理装置１０ｂの記憶部１２に格納しておき、記憶部１２から必要とする情報を読み出す方法を採ることもできる。情報処理装置１０ｂ自身がＤＢを備えることにより、サービス情報を取得するために行う外部装置との通信が不要となる。Ｓ２１３の処理の後、一連の処理を終了する。
【０１００】
実施例２によれば、消化率を推定するための処理、および消化率の推定に用いる各種テーブルの格納を、ユーザが携帯している情報処理装置１０ａでなく、ユーザから離れた場所に設置されている情報処理装置１０ｂが担う。このため、ユーザが所持する情報処理装置のプロセッサの負荷を軽減させることができ、メモリ内の記憶領域の使用を軽減させることができる。
【０１０１】
（実施例３）
次に、実施例３について説明する。実施例１では、消化率を推定する処理に用いる各種テーブルが、ユーザが所持する情報処理装置１０内に格納されている。これに対して実施例３では、各種テーブルが、ユーザが所持する情報処理装置でなく、外部の記憶装置に格納されていることを特徴としている。
【０１０２】
図２４は、実施例３における情報処理システム３００の一例を示す図である。図１に示す機能ブロックと同一の機能を有する機能ブロックについては、図１の当該機能ブロックと同一の符号を付し、説明を省略する。図２４に示すように、情報処理システム３００は、情報処理装置１０ｃと、心拍信号測定装置２０と、記憶装置３０と、無線装置４０と、無線装置５０とを備えている。図２４中の破線は、無線による通信を示している。
【０１０３】
情報処理装置１０ｃは、実施例１の情報処理装置１０と同様に、ユーザが所持するコンピュータである。すなわち、情報処理装置１０ｃは、情報処理装置１０と同様に、消化率を推定し、推定結果に基づいて、ユーザにサービスを提供する装置である。情報処理装置１０ｃは、例えばスマートフォン、携帯電話、タブレット端末、ノートＰＣ、ウェアラブルコンピュータなどである。情報処理装置１０ｃは、心拍信号測定装置２０を内蔵したウェアラブルコンピュータとして実現することもできる。情報処理装置１０ｃは、図１の情報処理装置１０と同様に、受信部１１と、記憶部１２と、特徴量算出部１３と、消化率推定部１４と、判定部１５と、情報提示部１６とを備えている。なお、実施例３では、記憶部１２は、プログラム（消化率推定プログラムなど）の格納に用いる不揮発性メモリ、および当該プログラムを実行するためにデータを一時的に格納するキャッシュメモリなどとして機能する。
【０１０４】
記憶装置３０は、情報処理装置１０ｃが実行する処理に用いる各種情報のＤＢとして用いられ、例えばストレージ装置またはサーバによって実現される。情報処理装置１０ｃは、記憶装置３０から適宜データを読み出したり、データを格納したりすることによって、処理を実行することができる。情報処理装置１０ｃは、記憶装置３０に様々な情報を蓄積しておくことにより、クラウドサーバとして記憶装置３０を使用することができる。
【０１０５】
また、心拍信号測定装置２０には無線装置４０が接続され、記憶装置３０には無線装置５０が接続されている。無線装置４０、５０は、例えば無線インタフェースによって実現される。無線装置４０、５０は、それぞれ心拍信号測定装置２０および記憶装置３０内に内蔵されていてもよい。
【０１０６】
心拍信号測定装置２０は、所定の間隔で測定した心拍数の情報を、測定周期毎、または所定のバッチタイミングで無線装置４０、５０を介して無線通信により記憶装置３０に送信する。記憶装置が受信した心拍数の情報は、時間の経過とともに心拍数管理テーブル１２ａに蓄積されていく。
【０１０７】
情報処理装置１０ｃによって実行される、消化率を推定する処理は、図１のＳ１０２の処理から開始される。情報処理装置１０ｃは、記憶装置３０に格納されている各種テーブルから処理に必要な情報を読み出したり、あるいは各種テーブルを参照したりしながら、Ｓ１０３以降の処理を実行する。各処理の内容は、実施例１と略同様であるので、説明は省略する。
【０１０８】
実施例３によれば、消化率の推定に用いる各種テーブルの格納を、ユーザが所持する情報処理装置でなく、外部装置である記憶装置が担う。このため、ユーザが所持する情報処理装置のメモリ内の記憶領域の使用を軽減させることができる。
【０１０９】
（実施例４）
次に、実施例４について説明する。実施例１乃至３では、食事前から食後までの心拍数プロファイルを用いて消化率を推定する処理を実行する。これに対して実施例４では、心拍数の時間変化率と消化率との関係を示すモデルとして、心拍数変化率−消化率対応テーブルを生成、学習し、当該モデルをもとに消化率を推定することを特徴としている。
【０１１０】
図２５は、実施例４における情報処理システムの一例を示す図である。図１に示す機能ブロックと同一の機能を有する機能ブロックについては、図１の当該機能ブロックと同一の符号を付し、説明を省略する。図２５に示すように、情報処理システム４００は、情報処理装置１０ｄと、心拍信号測定装置２０とを備えている。
【０１１１】
情報処理装置１０ｄは、ユーザが携帯しているコンピュータである。情報処理装置１０ｄは、例えばスマートフォン、携帯電話、タブレット端末、ノートＰＣ、ウェアラブルコンピュータなどである。情報処理装置１０ｄは、図１の情報処理装置１０に含まれている各機能ブロックに加え、新たに変化率算出部１７と、モデル生成部１８とを有している。変化率算出部１７およびモデル生成部１８は、例えば図２のＣＰＵ６１によって実現される。
【０１１２】
変化率算出部１７は、心拍数プロファイルをもとに心拍数変化率を算出する。心拍数変化率は、単位時間あたりの心拍数の変化量によって定義される。
【０１１３】
モデル生成部１８は、変化率算出部１７によって算出された心拍数変化率の情報を用いて、消化率を推定する際に参照する、心拍数変化率−消化率対応テーブルを生成する。
【０１１４】
なお、情報処理システム４００も、情報処理装置１０ｄと心拍信号測定装置２０とを内蔵したウェアラブルコンピュータとして実現することができる。
【０１１５】
図２６は、実施例４における、情報処理装置１０ｄによって実行される消化率推定方法の一例を示すフローチャート（その１）である。図２６は、心拍数変化率−消化率対応テーブルを生成する処理を示している。
【０１１６】
まず、受信部１１は、心拍信号測定装置２０から心拍信号情報を取得する（Ｓ４０１）。Ｓ４０１の処理は、実施例１における図４のＳ１０１の処理と略同様である。
【０１１７】
続いて、受信部１１は、食事開始時刻、食事終了時刻、および食事の内容の情報を取得する（Ｓ４０２）。食事開始時刻および食事終了時刻を取得する処理は、図４のＳ１０２の処理と略同様であるが、実施例４では、これらに加えて食事の内容の情報も取得する。これは、心拍数プロファイルおよび後述する心拍数変化率のプロファイルが、食事の内容または食べる速度などによって異なるからである。すなわち、実施例４では、食事の内容ごとに心拍数変化率−消化率対応テーブルを生成することによって、食事の内容または食べる速度などに関わらず、消化率を高精度で推定することができる。受信部１１は、取得した食事開始時刻、食事終了時刻、および食事の内容に関する情報を、記憶部１２に格納する。
【０１１８】
Ｓ４０２の後、特徴量算出部１３は、食事開始時刻における心拍数を特定する（Ｓ４０３）。Ｓ４０３の処理は、図４のＳ１０３の処理と略同様である。
【０１１９】
Ｓ４０３の処理の後、判定部１５は、心拍数が食事開始時刻における値に回復したか否かを判定する（Ｓ４０４）。心拍数が食事開始時刻における値に回復していないと判定された場合（Ｓ４０４否定）、消化活動が終了していないと判断し、Ｓ４０４の処理を再び実行する。一方、心拍数が食事開始時刻における値に回復したと判定された場合（Ｓ４０４肯定）、特徴量算出部１３は、記憶部１２に蓄積された心拍数情報から得られた心拍数プロファイルをもとに、消化終了時刻を特定する（Ｓ４０５）。具体的には、特徴量算出部１３は、心拍数の時間変化のプロファイルを参照し、心拍数が食事開始時の値に回復した時刻を、消化終了時刻として特定する。
【０１２０】
続いて、特徴量算出部１３は、Ｓ４０２で取得した食事開始時刻と、Ｓ４０５で特定した消化終了時刻との差分を算出することにより、消化時間を特定する（Ｓ４０６）。例えば、図３に示すような心拍数プロファイルが取得された場合、消化時間は２４０分と特定される。
【０１２１】
続いて、モデル生成部１８は、Ｓ４０２で取得した食事の内容の情報に対応する心拍数変化率−消化率対応テーブルを生成する（Ｓ４０７）。具体的には、まず食事開始時刻における消化率を０％、消化終了時刻における消化率を１００％とし、消化率が時間に比例すると仮定する。そして、変化率算出部１７は、Ｓ４０１で受信した心拍数情報を用いて、消化率０％から１００％までの範囲で、１０％ごとに心拍数変化率を算出する。例えば、消化時間が２４０分の場合、消化率が０％から１０％になるのに要する時間は２４分である。消化率０％のときの心拍数が６０、消化率１０％のときの心拍数が６７である場合、消化率１０％における心拍数変化率は、（６７−６０）／２４≒０．２９ｂｐｍと算出される。そして、モデル生成部１８は、変化率算出部１７によって消化率ごとに算出された心拍数変化率を用いて、心拍数変化率−消化率対応テーブルを生成する。
【０１２２】
図２７は、心拍数変化率−消化率対応テーブルの一例を示す図である。図２７は、図３に示すような心拍数プロファイルが取得された場合の例である。心拍数変化率−消化率対応テーブルは、心拍数変化率の項目と、消化率の項目とを有している。心拍数変化率は、心拍数が増加傾向にあるときは正の値を示し、心拍数が減少傾向にあるときは、負の値を示す。そして、心拍数変化率が負の値から零になるときに消化率は１００％となる。
【０１２３】
図２８は、図２７の心拍数変化率−消化率対応テーブルを説明するための、心拍数変化率のプロファイルを示す図である。図２８の上段のプロファイルは、図３と同様の心拍数プロファイルを示している。図２８の下段のプロファイルは、上段のプロファイルに対応する心拍数変化率のプロファイルである。図２８の下段に示すように、食事が終了して間もない消化率１０％の時点では、心拍数変化率は０．２９であり、正の値を示している。しかし、食事が終了して消化が始まると心拍数変化率は徐々に減少し、消化率が３０％になる前に正の値から負の値に変化する。消化率３０％の時点では、心拍数変化率は−０．０１である。その後、心拍数変化率は、消化率が５０％になるあたりまで少しずつ減少する。そして、消化率が８０％を過ぎると心拍数変化率は再び増加に転じ、消化率１００％で心拍数変化率が零となる。図２７の心拍数変化率−消化率対応テーブルは、この心拍数変化率のプロファイルをモデル化した情報であり、情報処理装置４００は、食事の内容ごとに複数のテーブルを生成、学習しておくことができる。
【０１２４】
図２６に戻り、モデル生成部１８は、Ｓ４０７で心拍数変化率−消化率対応テーブルを生成した後、生成されたテーブルを記憶部１２に格納する。その後、図２９のＳ４０８に移る。
【０１２５】
図２９は、実施例４における、情報処理装置１０ｄによって実行される消化率推定方法の一例を示すフローチャート（その２）である。図２９は、生成された心拍数変化率−消化率対応テーブルを用いて消化率を推定し、推定した消化率に応じてユーザにサービスを提供する処理を示している。
【０１２６】
Ｓ４０８において、受信部１１は、心拍信号測定装置２０から現在時刻の心拍数を含む心拍信号情報を受信する。
【０１２７】
続いて、受信部１１は、食事開始時刻および食事終了時刻の情報を取得する（Ｓ４０９）。Ｓ４０９の処理は、実施例１におけるＳ１０２の処理と略同様である。
【０１２８】
続いて、変化率算出部１７は、現在時刻の心拍数と、現在時刻以前に受信した心拍数情報とを用いて、現在時刻における心拍数変化率を算出する（Ｓ４１０）。直前に受信した心拍数情報は、１つの心拍数情報を用いても良いし、過去の所定の時間帯（１０分間など）に受信した複数の心拍数情報を用いることもできる。
【０１２９】
続いて、消化率推定部１４は、現在時刻における心拍数変化率が算出された後、Ｓ４０７で生成された心拍数変化率−消化率対応テーブルを参照することによって、現在時刻における消化率を推定する（Ｓ４１１）。ここで、消化率の推定方法について説明する。
【０１３０】
図２８の（ｂ）の時間帯では、心拍数変化率がほぼ一定であるため、現在時刻における心拍数変化率と同一の値が、心拍数変化率−消化率対応テーブルの中で連続して登録されている複数の消化率と対応付けられている可能性がある。この場合は、現在時刻における心拍数変化率に対応する複数の消化率を抽出する。（ｂ）の時間帯は消化率７０〜８０％であり、ユーザに情報提示を行うタイミングではない。このため、消化率に応じたサービスを行う限りにおいては、現在時刻における消化率が７０〜８０％であることが特定できただけで、後に続くＳ４１２の判定処理を実行することができる。
【０１３１】
一方、現在時刻における心拍数変化率と同一の値が、心拍数変化率−消化率対応テーブルの中で連続せずに登録されている複数の消化率と対応付けられている場合もある。例えば、図２８の（ａ）および（ｃ）の時間帯には、同一の心拍数変化率が存在する。このため、現在時刻における心拍数変化率を心拍数変化率−消化率対応テーブルから検索しただけでは、現在の消化率が（ａ）の時間帯に対応する消化率なのか、（ｃ）の時間帯に対応する消化率なのかを推定することが困難である。
【０１３２】
この場合は、現在時刻に至る前に算出した心拍数変化率の履歴を参照することによって、いずれの時間帯に対応する消化率なのかを推定することができる。例えば、現在時刻における心拍数変化率が、現在時刻の直前にＳ４１０の処理の中で算出した心拍数変化率よりも小さい場合、現在の消化率が、（ａ）の時間帯に対応する消化率であると推定することができる。一方、現在時刻における心拍数変化率が、現在時刻の直前にＳ４１０の処理の中で算出した心拍数変化率よりも大きい場合、現在の消化率が、（ｃ）の時間帯に対応する消化率であると推定することができる。
【０１３３】
あるいは、食事の内容が予め分かっている場合には、Ｓ４０９で取得した食事終了時刻から現在時刻までの経過時間に基づいて、いずれの時間帯に対応する消化率なのかを推定することも可能である。例えば、摂取した食物が４時間程度の消化時間に相当することが分かっている場合において、食事終了時刻から現在時刻までの経過時間が２時間以内である場合、現在の消化率が、（ａ）の時間帯に対応する消化率であると推定することができる。一方、食事終了時刻から現在時刻までの経過時間が２時間を超えている場合、現在の消化率が、（ｃ）の時間帯に対応する消化率であると推定することができる。
【０１３４】
以上のようにして、Ｓ４１１の処理を実行する。
【０１３５】
続いて、判定部１５は、推定した消化率の値に基づいて、情報処理装置１０のユーザにサービスに関する情報を提示するか否かを判定する（Ｓ４１２）。Ｓ４１２の処理は、実施例１における図１６のＳ１１１の処理と略同様であり、所定の消化率の閾値との比較によって、情報を提示するか否かを判定する。なお、消化率の候補が複数抽出されている場合は、消化率の候補の中に所定の消化率に達した候補が存在する場合に、ユーザにサービスに関する情報を提示すると判定する。
【０１３６】
図２９に示すＳ４１３およびＳ４１４の処理は、実施例１における図１６のＳ１１２およびＳ１１３の処理と略同様であるので、説明を省略する。以上のようにして、実施例４の処理が実行される。
【０１３７】
実施例４によれば、食事が終了してから消化活動が終了するまでの心拍数プロファイルの全体を予め取得しておき、この心拍数プロファイルを元に心拍数変化率と、前記消化率との対応関係を示す心拍数変化率−消化率対応テーブルを生成する。そして、心拍数変化率−消化率対応テーブルを用いて現在時刻における消化率を推定する。この方法によれば、事前に取得した心拍数プロファイルを用いることで消化時間の誤差が小さくなるため、消化率の推定精度の向上を図ることができる。
【０１３８】
以上、本発明の好ましい実施例について詳述したが、本発明は特定の実施例に限定されるものではなく、種々の変形や変更が可能である。例えば、本実施形態では、消化率を推定しているが、消化率を空腹率や満腹率などの言葉に置き換えることもできる。
【０１３９】
また、例えば実施例１の説明では、ピーク値が測定された時刻から設定時間が経過した後の時刻までの間に測定された複数の心拍数情報を用いて、一次近似直線を算出するとしているが、現在時刻が設定時間を経過した後である場合には、ピーク値が測定された時刻から現在時刻までの間に測定された複数の心拍数情報を用いて、一次近似直線を算出するようにしても良い。この方法によれば、設定時間を経過した後の時間が長くなればなるほど一次近似直線の算出に用いる心拍数情報の数が増加するため、一次近似直線の精度が向上し、消化終了時間をより正確に特定することが可能となる。
【０１４０】
また、実施例１乃至３では、一次近似直線を用いて消化終了時刻を特定しているが、二次曲線などの高次曲線を用いて消化終了時刻の特定を行うことも可能である。例えば、消化率が５０％〜１００％の範囲にあると推定された場合は、心拍数情報が十分蓄積されているため、高次曲線を用いることにより消化終了時刻をより高精度で特定することができる。
【０１４１】
また、実施例４では、心拍数変化率−消化率対応テーブルを生成、学習し、当該モデルをもとに消化率を推定しているが、食事が終了してから消化活動が終了するまでの心拍数プロファイルを予め学習しておき、当該心拍数プロファイルを参照することにより消化率を推定することも可能である。
【０１４２】
なお、前述した携帯端末装置および制御方法をコンピュータに実行させるコンピュータプログラム、およびそのプログラムを記録した、非一時的なコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、非一時的なコンピュータ読み取り可能な記録媒体は、例えばＳＤメモリカードなどのメモリカードである。なお、前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【符号の説明】
【０１４３】
１０，１０ａ，１０ｂ，１０ｃ，１０ｄ：情報処理装置
１１：受信部
１１ａ：第１受信部
１１ｂ：第２受信部
１２：記憶部
１２ａ：心拍数管理テーブル
１２ｂ：食事時刻管理テーブル
１２ｃ：特徴量管理テーブル
１２ｄ：消化率推定管理テーブル
１３：特徴量算出部
１４：消化率推定部
１５：判定部
１６：情報提示部
１７：変化率算出部
１８：モデル生成部
２０：心拍信号測定装置
３０：記憶装置
４０，５０：無線装置
６１：ＣＰＵ
６２：ＲＯＭ
６３：ＲＡＭ
６４：ストレージ装置
６５：入力装置
６６：表示装置
６７：ネットワークインタフェース
６８：可搬型記憶媒体用ドライブ
６９：可搬型記憶媒体
７０：バス
１００，２００，３００，４００：情報処理システム
【図１】
2017051442.tif 000003
【図２】
2017051442.tif 000004
【図３】
2017051442.tif 000005
【図４】
2017051442.tif 000006
【図５】
2017051442.tif 000007
【図６】
2017051442.tif 000008
【図７】
2017051442.tif 000009
【図８】
2017051442.tif 000010
【図９】
2017051442.tif 000011
【図１０】
2017051442.tif 000012
【図１１】
2017051442.tif 000013
【図１２】
2017051442.tif 000014
【図１３】
2017051442.tif 000015
【図１４】
2017051442.tif 000016
【図１５】
2017051442.tif 000017
【図１６】
2017051442.tif 000018
【図１７】
2017051442.tif 000019
【図１８】
2017051442.tif 000020
【図１９】
2017051442.tif 000021
【図２０】
2017051442.tif 000022
【図２１】
2017051442.tif 000023
【図２２】
2017051442.tif 000024
【図２３】
2017051442.tif 000025
【図２４】
2017051442.tif 000026
【図２５】
2017051442.tif 000027
【図２６】
2017051442.tif 000028
【図２７】
2017051442.tif 000029
【図２８】
2017051442.tif 000030
【図２９】
2017051442.tif 000031
【国際調査報告】
2017051442.tif 000032
2017051442.tif 000033
2017051442.tif 000034
2017051442.tif 000035