第1の実施の形態.
<1.全体構成>
図1は、電子機器システムの構成の一例を概略的に示す図である。図1の例示では、電子機器システムは、電子機器100と、サーバ200とを備えている。
<2.サーバ>
サーバ200は例えば無線により、電子機器100と通信を行うことができる。図1の例示では、サーバ200は無線通信部210と、特定部220と、記憶部230とを有している。
記憶部230は例えばROMまたはハードディスクなどの非一時的な記憶媒体である。この記憶部230には、複数種類の摂取対象物に対応する複数のカロリー(以下、第1カロリーとも呼ぶ)が記憶されている。このカロリーは、人が当該摂取対象物を摂取することによって得られる栄養学的な熱量を意味する。また、記憶部230に記憶されるカロリーは例えば摂取対象物の全量に対するカロリーである。
より具体的には、記憶部230には、複数の摂取対象物を区別する区別情報と、その区別情報に対応する第1カロリーとが記憶されている。この区別情報は、例えば、摂取対象物の少なくとも一部を含む画像情報、あるいは、その摂取対象物を識別する識別コード情報(例えば1次元コード情報または2次元コード情報など)である。
無線通信部210はアンテナ211を有しており、電子機器100と無線通信を行う。電子機器100は後に詳述するように、特定情報と、その特定情報に対応する第1カロリーを要求する要求信号とを、サーバ200に送信する。無線通信部210は、電子機器100からの特定情報と要求信号とを受信し、これを特定部220へと出力する。
特定部220は、無線通信部210から受け取った特定情報に基づいて、対応する第1カロリーを記憶部230から読み出し、その第1カロリーを、無線通信部210を介して電子機器100へと送信する。
特定情報および区別情報が画像情報である場合には、特定部220は、例えば、電子機器100から受け取った画像情報と、記憶部230に含まれる複数の画像情報の各々との類似度を算出し、その類似度が最も高く、かつ、所定の基準値よりも高い画像情報を特定する。このような類似度としては、例えば各画素の差分の絶対値の総和を採用してもよい。この場合、当該総和が小さいほど類似度が高い。類似度と基準値との大小関係、および、類似度同士の大小関係は、公知の比較器を用いて行うことができる。
あるいは、特定情報および区別情報が識別コード情報である場合には、特定部220は、電子機器100から受け取った識別コード情報と、記憶部230に含まれる複数の識別コード情報の各々とを対比し、これらが一致する識別コード情報を特定する。
なお、第1カロリー以外の情報が特定情報に対応して記憶部230に記憶されていてもよい。例えば、摂取対象物の名称、または、摂取対象物の全量(例えば飲料であれば体積、固体摂取対象物であれば重量など)などの属性情報が、特定情報に対応して記憶されていてもよい。そして、特定部220は第1カロリーとともに、当該属性情報も電子機器100へと送信してもよい。
<3.電子機器>
<3−1.外観>
図2は電子機器100の外観を示す前面図である。図3は電子機器100の概観を示す裏面図である。電子機器100は、例えばタブレット、PDA(Personal Digital Assistant)、または、携帯電話機(スマートフォンを含む)などである。この電子機器1は、例えば、基地局及びサーバ等を通じて、或いは、直接に、他の通信装置と通信することが可能である。
図2および図3に示されるように、電子機器100は、カバーパネル2とケース部分3を備えており、カバーパネル2とケース部分3とが組み合わされることによって、平面視で略長方形の板状を成す筐体(以下、機器ケースとも呼ぶ)4が構成されている。
カバーパネル2は、平面視において略長方形を成しており、電子機器1の前面部分における、周縁部分以外の部分を構成している。カバーパネル2は、例えば、透明のガラスあるいは透明のアクリル樹脂で形成されている。あるいは、カバーパネル2は、例えばサファイアで形成されている。ここで、サファイアとは、アルミナ(Al2O3)を主成分とする単結晶のことをいい、本明細書では、Al2O3純度が約90%以上の単結晶のことをいう。傷がよりつき難くなるという点で、Al2O3純度は99%以上であることが好ましい。カバーパネル2の材料としては他に、例えば、ダイヤモンド、ジルコニア、チタニア、水晶、タンタル酸リチウム、酸化窒化アルミニウムなどが挙げられる。これらも、傷がよりつき難くなるという点で、純度が約90%以上の単結晶が好ましい。
カバーパネル2は、サファイアから成る層を含む複数層構造の複合パネル(積層パネル)であっても良い。例えば、カバーパネル2は、電子機器1の表面に設けられたサファイアから成る層(サファイアパネル)と、当該層に貼り付けられたガラスから成る層(ガラスパネル)とで構成された2層構造の複合パネルであっても良い。また、カバーパネル2は、電子機器1の表面に設けられたサファイアから成る層(サファイアパネル)と、当該層に貼り付けられたガラスから成る層(ガラスパネル)と、当該層に貼り付けられたサファイアから成る層(サファイアパネル)とで構成された3層構造の複合パネルであっても良い。また、カバーパネル2は、サファイア以外の結晶性材料、例えば、ダイヤモンド、ジルコニア、チタニア、水晶、タンタル酸リチウム、酸化窒化アルミニウムなどから成る層を含んでいても良い。
ケース部分3は、電子機器100の前面部分の周縁部分、側面部分及び裏面部分を構成している。ケース部分3は、例えばポリカーボネート樹脂で形成されている。
カバーパネル2の前面には、文字、記号、図形または画像等の各種情報が表示される表示領域2aが設けられている。この表示領域2aは例えば平面視で長方形を成している。カバーパネル2における、表示領域2aを取り囲む周縁部分2bは、例えばフィルム等が貼られることによって黒色となっており、情報が表示されない非表示部分となっている。カバーパネル2の裏面には後述するタッチパネル50が貼り付けられており、ユーザは、電子機器1の前面の表示領域2aを指等で操作することによって、電子機器1に対して各種指示を与えることができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどの静電式タッチパネル用ペンで表示領域2aを操作することによっても、電子機器1に対して各種指示を与えることができる。
機器ケース4内には、例えば操作キー5が設けられている。操作キー5は、例えばハードウェアキーであって、例えばカバーパネル2の前面の下側端部に設けられている。
タッチパネル50および操作キー5は、電子機器100への操作を行う操作部である。
<3−2.電子機器の電気的構成>
図4は電子機器1の電気的構成を示すブロック図である。図4に示されるように、電子機器100には、制御部10、無線通信部20、近接無線通信部22、表示部30、レシーバ42、スピーカ44、音声入力部46、タッチパネル50、キー操作部52、撮像部60、および、現在位置取得部70が設けられている。電子機器100に設けられたこれらの構成要素は、機器ケース4に収められている。
制御部10は、例えばCPU(Central Processing Unit)101、DSP(Digital Signal Processor)102及び記憶部103等を備えており、電子機器100の他の構成要素を制御することによって、電子機器100の動作を統括的に管理する。記憶部103は、ROM(Read Only Memory)及びRAM(Random Access Memory)等で構成されている。記憶部103には、電子機器1の動作、具体的には電子機器100が備える無線通信部20、表示部30等の各構成要素を制御するための制御プログラムであるメインプログラム及び複数のアプリケーションプログラム(以後、単に「アプリケーション」とも呼ぶ)等が記憶されている。制御部10の各種機能は、CPU101及びDSP102が記憶部103内の各種プログラムを実行することによって実現される。なお図4の例示では、CPU101およびDSP102がそれぞれ一つ示されているものの、これらは複数設けられてもよい。そして、これらが互いに協働して各種機能を実現してもよい。また、図4の例示では、記憶部103は、制御部10の内部において示されているものの、制御部10の外部に設けられてもよい。換言すれば、記憶部103は制御部10とは別体であってもよい。また、制御部10の機能の一部または全部はハードウェアによって実現されても構わない。
無線通信部20は、アンテナ21を有している。無線通信部20は、他の携帯電話機あるいはインターネットに接続されたウェブサーバ等の通信装置からの信号を、基地局等を介してアンテナ21で受信する。無線通信部20は、受信信号に対して増幅処理及びダウンコンバートを行って制御部10に出力する。制御部10は、入力される受信信号に対して復調処理等を行う。また無線通信部20は、制御部10で生成された送信信号に対してアップコンバート及び増幅処理を行って、処理後の送信信号をアンテナ21から無線送信する。アンテナ21からの送信信号は、基地局等を通じて、他の携帯電話機あるいはインターネットに接続された通信装置で受信される。
近接無線通信部22は、アンテナ23を有している。近接無線通信部22は、無線通信部20の通信対象(例えば基地局)に比べて近い位置に存在する通信端末との通信を、アンテナ23を介して行なう。近接無線通信部22は、例えばBLUETOOTH(登録商標)規格などに則って通信を行なう。
表示部30は、例えば、液晶表示パネルあるいは有機ELパネルである。表示部30は、制御部10によって制御されることによって、文字、記号、図形または画像などの各種情報を表示する。表示部30に表示される情報は、カバーパネル2の前面の表示領域2aに表示される。したがって、表示部30は、表示領域2aに表示を行っていると言える。
タッチパネル50は、カバーパネル2の表示領域2aに対する操作指等の操作子による操作を検出する。タッチパネル50は、例えば、投影型静電容量方式のタッチパネルであって、カバーパネル2の裏面に貼り付けられている。ユーザが操作指等の操作子によってカバーパネル2の表示領域2aに対して操作を行うと、それに応じた信号がタッチパネル50から制御部10に入力される。制御部10は、タッチパネル50からの信号に基づいて、表示領域2aに対して行われた操作の内容を特定して、その画面に応じた処理を行う。
キー操作部52は、各操作キー5に対するユーザの押下操作を検出する。キー操作部52は、各操作キー5について、当該操作キー5が押下されているか否かを検出する。キー操作部52は、操作キー5が押下されていない場合には、当該操作キー5が操作されていないことを示す未操作信号を制御部10に出力する。また、キー操作部52は、操作キー5が押下されると、当該操作キー5が操作されたことを示す操作信号を制御部10に出力する。これにより、制御部10は、各操作キー5について、当該操作キー5が操作されているか否かを判断することができる。
タッチパネル50および操作キー5は、電子機器100への入力を受け付ける操作部である。
レシーバ42は、受話音を出力するものであって、例えばダイナミックスピーカで構成されている。レシーバ42は、制御部10からの電気的な音信号を音に変換して出力する。レシーバ42から出力される音は、電子機器1の前面に設けられたレシーバ穴80aから外部に出力される。レシーバ穴80aから出力される音の音量は、スピーカ44からスピーカ穴34aを介して出力される音の音量よりも小さくなっている。
なおレシーバ42に替えて、圧電振動素子が設けられてもよい。圧電振動素子は、制御部10によって制御され、音声信号に基づいて振動する。圧電振動素子は例えばカバーパネル2の裏面に設けられており、音声信号に基づく自身の振動によってカバーパネル2を振動させる。これにより、カバーパネル2の振動が音声としてユーザの耳に伝達される。この場合、レシーバ穴80aは不要である。
スピーカ44は、例えばダイナミックスピーカであって、制御部10からの電気的な音信号を音に変換して出力する。スピーカ44から出力される音は、電子機器100の裏面に設けられたスピーカ穴34aから外部に出力される。スピーカ穴34aから出力される音が、電子機器1から離れた場所でも聞こえるように、その音量が調整されている。スピーカ44は例えば着信音などを出力する。
音声入力部46はマイクであって、電子機器100の外部から入力される音を電気的な音信号に変換して制御部10に出力する。電子機器100の外部からの音は、カバーパネル2の前面に設けられたマイク穴から電子機器100の内部に取り込まれて音声入力部46に入力される。
撮像部60は例えば第1撮像部62と第2撮像部64とを有している。第1撮像部62は撮像レンズ6aおよび撮像素子などで構成されており、制御部10による制御に基づいて、静止画像および動画像を撮像する。図1に示されるように、撮像レンズ6aは、電子機器100の前面に設けられていることから、電子機器100の前面側(カバーパネル2側)に存在する物体を撮像することが可能である。
第2撮像部64は、撮像レンズ7aおよび撮像素子などで構成されており、制御部10による制御に基づいて、静止画像および動画像を撮像する。図3に示されるように、撮像レンズ7aは、電子機器100の裏面に設けられていることから、電子機器100の裏面側に存在する物体を撮像することが可能である。
現在位置取得部70は、自身の現在位置を取得する。例えば現在位置取得部70はGPS(Global Positioning System)を利用した装置であり、人工衛星からの電波を受信し、当該電波に基づいて現在位置を測位する。現在位置には、緯度情報と経度情報とが含まれている。
<3−3.制御部>
図5は制御部10の内部構成の一例を概略的に示す機能ブロック図である。制御部10は、カロリー表示処理部110と、撮像処理部120とを有している。
カロリー表示処理部110は、摂取情報取得部(例えば課題を解決するための手段の欄でいう第1情報取得部に相当)112と、カロリー情報取得部(例えば課題を解決するための手段の欄でいうカロリー取得部に相当)111と、総合カロリー算出部113と、カロリー表示部114とを有している。これらの機能部は、記憶部103のプログラムの実行によって実現されてもよく、あるいは、その一部または全部がハードウェアで構成されてもよい。この点は後に述べる他の機能部についても同様であるので、繰り返しの説明を避ける。
図6は、制御部10の動作の一例を示すフローチャートである。この動作は例えば所定時間ごとに行われる。
まず、ステップS1にて、第2カロリー取得部111は、運動または代謝によってユーザが消費するカロリー(以下、第2カロリーとも呼ぶ)を取得する。この第2カロリーの取得方法は任意の公知の手法を採用できるものの、その一例について簡単に説明する。例えばユーザの移動運動(例えばランニングなど)によって消費する第2カロリーを取得する。この第2カロリーは、簡単に考えれば、ユーザの体重と移動距離との積で表されるので、まず体重と移動距離とを取得する。
例えばユーザの体重はユーザによって入力されて、記憶部103に記憶される。なお記憶部103以外に記憶部が設けられる場合には、その記憶部にユーザの体重が記憶されてもよい。この内容は、以下で述べる他の情報についても同様であるので、繰り返しの説明を避ける。
移動距離は、例えば、現在位置取得部70によって取得される現在位置に基づいて算出できる。この現在位置は所定期間ごとに繰り返し取得される。そして、前回に取得された現在位置と、今回に取得された現在位置と間の距離を算出し、その距離を所定期間ごとに積算することで、移動距離を算出する。なお移動距離の算出を開始する時点は例えばユーザによって入力される。つまり、ユーザが移動運動を開始するときに、移動距離算出の開始を指示する入力を行う。
第2カロリー取得部111は、記憶部103から読み出したユーザの体重と、現在位置に基づいて算出した移動距離とを乗算することで、第2カロリーを算出する。算出した第2カロリーは、総合カロリー算出部113へと出力される。
次に、ステップS2にて、摂取物情報取得部112は、ユーザによる入力があったか否かを判定する。この入力は、例えばユーザが摂取対象物を摂取したときに行われる。図7は、表示部30に表示される画面の一例を概略的に示しており、この画面30aはカロリー表示部114によって表示部30、即ち表示領域2aに表示される。図7に例示するように、この画面30aには、カロリー表示領域114aと、「摂取物」ボタン112aとが設けられている。カロリー表示領域114aについては後に詳述する。ボタン112aは上記入力を行うボタンである。この入力はタッチパネル50によって検出されて、その情報が摂取物情報取得部112に出力される。
ステップS2にて肯定的な判定がなされたときには、ステップS3にて、摂取物情報取得部112は摂取対象物の第1カロリーを取得する動作を行う。図8は、この動作のより具体的な一例を示すフローチャートである。
ステップS31にて、ユーザは、自身が摂取した摂取対象物を特定する特定情報を入力する。つまり、摂取物情報取得部112が摂取対象物に対応する第1カロリーを取得するに際して、どのような摂取対象物が摂取されたのかの情報を、ユーザの入力によって得るのである。例えば特定情報としては、この摂取対象物を撮像部60によって撮像することで得られる撮像画像を採用する。摂取対象物の外観は、その摂取対象物を特定するに足る情報を含んでいる。
より具体的な動作として、摂取物情報取得部112は、ボタン112aの選択に応答して、撮像処理部120を起動する。撮像処理部120は撮像部60を用いて画像を撮像する処理部である。図9は、撮像処理部120が表示する撮像用画面30bの一例を概略的に示している。撮像用画面30bには、撮像部60によって取得される画像が表示される画像領域120aと、シャッター用のボタン120bとが設けられている。図9の例示では、画像領域120aに摂取対象物300の全体が表示されている。
摂取対象物300が表示された状態で、ユーザはボタン120bを選択する。ボタン120bが選択されると、その情報がタッチパネル50によって検出されて、撮像処理部120に入力される。撮像処理部120は、その時点の撮像画像を示す画像情報を記憶部(例えば記憶部103)に記憶する。また、この画像情報は摂取物情報取得部112にも与えられる。
次に、ステップS32にて、摂取物情報取得部112は、その画像情報を、無線通信部20を介して、サーバ200へと送信するとともに、第1カロリーを要求する要求信号も送信する。なお、第1カロリーに加えて、属性情報(例えば摂取対象物の名称など)を要求してもよい。
画像情報と要求信号とを受信したサーバ200において、特定部220は、受信した画像情報に基づいて記憶部230から、対応する第1カロリーを読み出す。例えば特定部220は、電子機器100から受信した画像情報と、記憶部230に記憶される複数の区別情報(ここでは画像情報)とを対比して、同じ摂取対象物を示す区別情報を特定する。例えば受信した画像情報から、摂取対象物が示された部分の画素情報を抽出し、区別情報のうち摂取対象物が示された部分の画素情報との類似度を算出する。かかる類似度としては、例えば各画素値の差の絶対値の総和を採用できる。当該総和が小さいほど、類似度が高い。そして、類似度が最も高く、かつ、所定の基準値よりも高い区別情報を特定する。
特定部220は、特定した区別情報に対応する第1カロリーを記憶部230から読み出して、これを、無線通信部210を介して電子機器100へと送信する。また、属性情報の送信も要求されている場合には、特定した区別情報に対応する属性情報を記憶部230から読み出して、これを電子機器100へと送信してもよい。
無線通信部20を介して第1カロリーを受信した摂取物情報取得部112は、これを総合カロリー算出部113へと出力する。
なお摂取物情報取得部112は、画像情報および要求信号の送信を行ってから、第1カロリーおよび属性情報を受信するまでの期間において、サーバ200との通信中であることを示す画面30cを表示してもよい。図10は、画面30cの一例を概略的に示す図であり、サーバ200と通信している最中であることが表示されている。
再び図6を参照して、ステップS3の次に、或いは、ステップS2においてユーザの入力がないと判断されたときに、ステップS4にて、総合カロリー算出部113は、摂取対象物の第1カロリーKC1と、ユーザが消費する第2カロリーKC2との差を総合カロリーとして算出する。例えば以下の式で総合カロリーKCを算出する。
KC=KC2−KC1 ・・・(1)
なおステップS2にて否定的な判断がなされた場合には、ステップS3が実行されないので、第1カロリーKC1が取得されない。この場合、第1カロリーKC1は零と把握される。よって、ステップS2にてユーザの入力がないと判断されたとき、即ち、ユーザが摂取対象物を摂取していないと考えられるときには、総合カロリーKCはユーザが消費する第2カロリーKC2と一致する。一方で、ステップS2にてユーザの入力があると判断されたときには、摂取対象物の第1カロリーKC1を考慮した総合カロリーKCが算出されることとなる。
算出された総合カロリーKCはカロリー表示部114へと出力される。
なお上述の説明では、第2カロリーKC2(=移動距離×体重)は、移動運動の開始時点から現時点までの期間に消費したカロリーとして取得される。そして、この期間にユーザが複数回にわたって摂取物を摂取した場合を考慮すると、第1カロリーKC1も、当該期間の摂取対象物のカロリーの合計を採用するとよい。よって、総合カロリーKCは例えば以下の式で算出するとよい。
KC=KC2−Σ(KC1) ・・・(2)
式(2)の第2項は、第1カロリーKC1の総和である。つまり、移動運動の開始から複数の時点で摂取対象物を摂取したときには、その摂取対象物の第1カロリーKC1の合計を、第2カロリーKC2から減算して、総合カロリーKCを算出するのである。これにより、複数の時点で摂取される摂取対象物の第1カロリーKC1を考慮して総合カロリーKCを算出できる。
あるいは、第2カロリーKC2を次のように算出しても構わない。即ち、繰り返し実行される図6の動作において、前回の実行時点から現時点までの移動距離と、体重との積で第2カロリーKC2を算出する。このときの第2カロリーKC2は、前回の実行時点から現時点までに消費されたカロリーを示している。よって、この場合、以下の式で総合カロリーKCを算出してもよい。ただし、KC’は前回の実行時点における総合カロリーを示している。
KC=KC’+KC2−KC1 ・・・(3)
式(3)においても、ステップS2にてユーザの入力がない場合には、第1カロリーKC1は零である。これによっても、複数の時点で摂取される摂取対象物の第1カロリーKC1を考慮して総合カロリーKCを算出することができる。
次に、ステップS5にて、カロリー表示部114は、入力された総合カロリーKCの値を表示部30に表示する。図11の例示では、総合カロリーKCはカロリー表示領域114aにおいて、グラフで示されている。すなわち、横軸が時間を示し、縦軸が総合カロリーKCの値を示す座標において、総合カロリーKCがグラフで示されている。なおこの画面30aには、図6の画面30aと同じ画面である。ただし、総合カロリーKCのグラフは、図6の状態から更新されている。
以上のように、本実施の形態によれば、摂取対象物の第1カロリーKC1をも考慮した総合カロリーKCが表示される。よってユーザは、より実際に即したカロリーを確認することができる。
しかも、図11の例示では、総合カロリーKCがグラフで示されているので、総合カロリーKCの時間推移を容易に確認することができる。
なお図6のフローチャートにおいて、ステップS1と、ステップS2,S3の一組の実行順序は逆であってもよく、あるいは、並行して行われてもよい。要するに、第2カロリー取得部111は所定時間ごとに第2カロリーKC2を取得し、摂取物情報取得部112は、ユーザの入力をトリガとして、摂取対象物の第1カロリーKC1を取得すればよい。
<特定情報の入力方法>
上述の具体例では、摂取対象物300を特定する特定情報として、ユーザによって撮像される撮像画像を採用した。しかるに、本実施の形態では、これに限らない。例えば予め記憶部103に記憶した画像を採用してもよく、あるいは、摂取対象物300に識別コード(1次元コードまたは2次元コードなど)が印されているときには、当該識別コードを読み取った識別コード情報を採用してもよい。
図12は、摂取物情報取得部112のステップS3における動作の一例を示すフローチャートである。摂取物情報取得部112は、ステップS311にて、特定情報の入力方法を選択する選択画面を表示する。図13は、この選択画面30dの一例を概略的に示す図である。選択画面30dでは、ボタン112b〜112dが表示されている。ボタン112bは、摂取対象物を撮像することによって特定情報を入力するときに選択されるボタンであり、ボタン112cは、予め格納された摂取対象物の画像の一覧から一つを選ぶことによって、特定情報を入力する場合に選択されるボタンであり、ボタン112dは、摂取対象物に印された識別コードを読み取ることによって、特定情報を入力する場合に選択されるボタンである。識別コードは、一次元コードであってもよく、2次元コードであってもよい。
これらのボタン112b〜112dのうちの一つがユーザによって選択されると、その情報がタッチパネル50で検出されて、摂取物情報取得部112に出力される。これに応答して、摂取物情報取得部112はステップS312にて、どの入力方法が選択されたのかを判断する。ステップS312にて、ボタン112bが選択されたと判断したときには、ステップS313にて、ユーザは撮像部60を用いて摂取対象物300を撮像する。この動作は上述したとおりである。
ステップS312にてボタン112cが選択されたと判断したときには、ステップS314にて、摂取物情報取得部112は、記憶部103に格納された画像情報を読み出して、これらを並べて選択可能に表示する。図14は画像情報が表示された一覧画面30eの一例を概略的に示す図である。一覧画面30eでは、複数種類の摂取対象物がそれぞれ表示された複数の画像が並んで表示されている。
各画像は自身を選択するボタンとしても機能しており、ユーザは、自身が摂取した摂取対象物300の画像を一つ選択する。この画像の選択はタッチパネル50によって検出されて、その情報が摂取物情報取得部112に出力される。そして、摂取物情報取得部112は、この画像についての画像情報を特定情報として用いる。
ステップS312にてボタン112dが選択されたと判断したときには、ステップS315にて、摂取物情報取得部112は撮像処理部120を起動する。図15は、撮像処理部120によって表示される撮像画面30fの一例を概略的に示す図である。図15の例示では、画像領域120aには、摂取対象物300に印された識別コードが表示されている。そして、この状態で、ユーザはシャッター用のボタン120bを選択する。これに応答して、撮像処理部120は、撮像部60によって取り込まれた画像情報を摂取物情報取得部112へと出力する。この画像は、摂取対象物300のうち識別コードが印された部分の撮像画像である。
摂取物情報取得部112は、この画像情報を周知の手法で解析して、識別コード情報を生成する。識別コード情報とは、幾何学的な模様で表現される識別コードの情報を、コンピュータで信号として取扱い可能なデジタル情報に変換したものである。そして、摂取物情報取得部112は、この識別コード情報を特定情報として用いる。
ステップS313〜S315のいずれかを経て、ステップS32にて、摂取物情報取得部112は、特定情報をサーバ200へと送信し、サーバ200(より具体的には特定部220)が、特定情報に対応する第1カロリー、或いは更に属性情報を電子機器100へと送信する。
このような動作によれば、複数の入力方法から適当な方法を選択できるので、利便性を向上することができる。
また上述したいずれの態様であっても、摂取物情報取得部112は、タッチパネル50へのユーザの操作によって、摂取対象物の少なくとも一部を含む画像を入力し、当該画像に対応する第1カロリーを取得している。このような画像は撮像部によって簡単に生成できるので、画像に基づく第1カロリーの取得は、ユーザにとって操作が容易である。
<撮像画像の確認>
上述の具体例では、摂取対象物300を示す画像情報を得たときに、その画像情報をユーザに確認することなく、サーバ200へと送信した。しかしながら、ユーザの不手際などにより、画像情報に摂取対象物300が適切に含まれていない場合も考えられる。例えば、ステップS313における撮像ミスまたはステップS314における選択ミスが考えられる。そこで、摂取物情報取得部112は、画像情報をサーバ200へと送信する前に、画像情報が適切か否か、即ち、画像情報に正しく摂取対象物300が含まれているか否かを、ユーザに確認させる確認画面を表示してもよい。図16はこの確認画面30gの一例を概略的に示す図である。図16の例示では、確認画面30gには、画像情報を表示する画像領域112fと、ボタン112g,112hが設けられている。ボタン112gは、画像領域112fに摂取対象物300が適切に含まれているときに、ユーザによって選択されるボタンであり、ボタン112hは、画像領域112fに摂取対象物300が適切に含まれていないときに、ユーザによって選択されるボタンである。
ボタン112hが選択されると、その情報がタッチパネル50によって検出されて、摂取物情報取得部112に入力される。この場合、画像情報に摂取対象物300が適切に含まれていないので、その画像情報は摂取対象物300を特定することができないとして、再びステップS313あるいはステップS314を実行してもよい。あるいは、摂取対象物の入力がないと考えて、ステップS4を実行してもよい。この場合、ユーザは再度、摂取対象物300を特定する情報を入力するために、図6におけるボタン112aを選択することとなる。
図16においてボタン112gが選択されると、その情報がタッチパネル50によって検出されて、摂取物情報取得部112に入力される。摂取物情報取得部112は、画像情報と要求信号とを無線通信部20を介して、サーバ200へと送信する。以後の動作は既述したとおりである。
以上のように、取得した画像情報をユーザに確認させてから、画像情報に基づいて第1カロリーを取得するので、ユーザのミスによる総合カロリーの誤算出を抑制できる。
<取得した情報の確認>
上述の具体例では、摂取物情報取得部112が第1カロリーを受信したときに、その第1カロリーが正しいか否かを確認することなく、第1カロリーを総合カロリー算出部113へと出力した。しかるに、特定部220が誤判断して他の画像情報に対応する第1カロリーおよび属性情報を送信することも考えられる。
そこで、摂取物情報取得部112は、第1カロリーを総合カロリー算出部113へと出力する前に、取得した第1カロリーが正しいか否かをユーザに確認させる確認画面を表示してもよい。
第1カロリーが正しいか否かの判断は、摂取対象物に固有の情報であって、ユーザによく知られた情報に基づいて行うことができる。つまり、摂取対象物の情報が正しければ、これに対応する第1カロリーも正しいと考えるのである。摂取対象物に固有の情報としては、例えば摂取対象物の名称などを採用することができる。
図17はこの確認画面30hの一例を概略的に示す図である。確認画面30hには、画像情報を表示する表示領域112iと、摂取対象物の第1カロリー、摂取対象物の名称、および、コメントが表示される表示領域112jとが設けられている。図17の例示では、表示領域112iには、第1カロリーとして「カロリー:140kcal」が表示され、摂取対象物の名称として「品名:xxx飲料」が表示され、コメントとして「水分を摂った。」と表示されている。このコメントは摂取対象物に対応したテキスト情報であって、例えば予め記憶部230に記憶されており、サーバ200から送信される。
なおこの確認画面30hで表示される画像情報は、サーバ200に格納された区別情報としての画像情報であってもよい。すなわち、第1カロリーおよび属性情報とともに、記憶部230の画像情報もサーバ200から受信して、これらを表示してもよい。これにより、ユーザは、摂取対象物300に対応する情報が正しく取得されているか否かを、例えば表示領域112iに表示された画像、および、表示領域112jに表示された名称の少なくともいずれかに基づいて、確認することができる。
また確認画面30hには、ボタン112k,112mも設けられている。ボタン112mは、摂取対象物300に対応する情報が正しく取得されていないと判断されたときに、ユーザによって選択されるボタンであり、ボタン112kは、摂取対象物300に対応する情報が正しく取得されたと判断されたときに、ユーザによって選択されるボタンである。
ボタン112mが選択されると、その情報がタッチパネル50によって摂取物情報取得部112へと入力される。摂取物情報取得部112はステップS3の動作を最初から実行してもよく、あるいは、摂取対象物の入力がないと考えて、ステップS4を実行してもよい。この場合、ユーザは再度、摂取対象物300を特定する情報を入力するために、図6におけるボタン112aを選択することとなる。
ボタン112kが選択されると、その情報がタッチパネル50によって摂取物情報取得部112へと入力される。摂取物情報取得部112は、取得した摂取対象物300の第1カロリーを総合カロリー算出部113へと出力する。以後の動作は既述したとおりである。
以上のように、取得した摂取対象物の情報をユーザに確認させた上で、第1カロリーを総合カロリー算出部113へと出力するので、誤った第1カロリーに基づいて総合カロリーが算出されることを抑制できる。
<摂取量の入力>
ユーザは、摂取対象物の全量を摂取せずに、その一部を摂取することが考えられる。そこで、ユーザが摂取した摂取対象物の摂取量に応じたカロリーについて考慮する。このカロリーは、摂取対象物の全量に対する摂取量の割合と、摂取対象物の全量に対する全量カロリーとの積で表すことができる。
そこで、摂取物情報取得部112は、摂取対象物の全量に対する摂取量の割合を入力させる摂取量の入力画面を表示する。この入力画面は、例えば図17のボタン112kの選択をトリガとして、表示されてもよい。或いは、図17に他のボタンを設け、そのボタンをトリガとして表示されてもよい。図18はこの入力画面30hの一例を概略的に示す図である。図18の入力画面30hでは、複数のボタン112nが設けられており、複数のボタン112nは上記割合について互いに異なる値を示している。ユーザは摂取量に応じて複数のボタン112nの一つを選択することで、上記割合を入力する。ボタン112nの選択はタッチパネル50によって検出されて、その情報が摂取物情報取得部112へと出力される。
またここでは、サーバ200の記憶部230には、摂取対象物の全量についてのカロリー(以下、全量カロリーと呼ぶ)が記憶されている。摂取物情報取得部112は、摂取対象物を示す画像情報に対応する全量カロリーを、上述と同様にして、サーバ200から取得する。
そして、その全量カロリーに対して、入力された割合を乗算して第1カロリーを算出する。第1カロリーは総合算出部113へと出力される。
総合カロリー算出部113は、第1カロリーと第2カロリーとの差を総合カロリーとして算出する。全量カロリーKC11と上記割合Pを用いると、総合カロリーKCは例えば以下の式で表すことができる。
KC=KC2−Σ(P・KC11) ・・・(4)
式(4)の第2項は、複数の時点で摂取対象物が取得される場合の、積(P・KC11)の総和である。これにより、実際にユーザが摂取した摂取量に応じたカロリーで、総合カロリーを更新することができる。
なお図18の例示では、複数のボタン112nから一つを選択して割合Pを入力しているものの、割合Pの数値を入力してもよい。
また割合ではなく、摂取量自体を入力してもよい。この場合、サーバ200の記憶部230に、摂取対象物の全量の値(例えば液体であれば体積値、固体であれば重量値など)を全量情報として記憶しておき、摂取物情報取得部112が全量情報を受信し、ユーザによって入力される摂取量と、受信した全量とに基づいて上記割合Pを算出してもよい。
また摂取量を入力する場合、一口で摂取される摂取量を予め設定し、その一口の摂取量を単位として、摂取量を入力させてもよい。
<総合カロリーおよび摂取物情報の表示>
カロリー表示部114は、総合カロリーとともに、摂取対象物の各種情報を表示してもよい。例えばカロリー表示部114は、摂取物情報取得部112から、摂取対象物の画像情報、カロリー情報および属性情報を入力し、第1カロリーとともに、画像情報および属性情報も表示部30に表示する。図19は、画面30aの一例を概略的に示す図である。図19の例示では、総合カロリーを示すグラフにおいて、画像情報、第1カロリー、摂取対象物の名称、および、コメント(以下では、これらを纏めて摂取物情報と呼ぶ)が表示されている。
しかも、図19の例示では、カロリー表示部114は、総合カロリーを更新した時点で用いられた第1カロリーの摂取対象物の摂取物情報を、グラフ上の当該時点に対応づけて、表示している。より具体的には、摂取対象物の第1カロリーで総合カロリーを更新した時点を示しつつ、その摂取対象物の摂取物情報が表示されている。例えば図19の例示では、先細形状の先端がグラフ上の上記時点を示すように吹き出しを表示し、その吹き出しの内部に、摂取物情報を表示している。
これにより、ユーザは、その摂取物情報がどの時点で摂取された摂取対象物の情報なのかを容易に確認することができる。
なお表示される摂取物情報としては、第1カロリー、画像情報、摂取対象物の名称およびコメントの少なくともいずれか一つであってもよい。
また、図19のグラフにおいては、複数の時点で総合カロリーが低下している。これは、各当該時点においてユーザが摂取対象物を摂取したことを意味している。図19の例示では、最後に摂取した摂取対象物の摂取物情報が表示されているものの、カロリー表示部114は、当該時点の全てに対応して、それぞれの摂取対象物の摂取物情報を表示しても構わない。
また、摂取物情報の表示は、所定時間経過後に終了しても構わない。即ち、カロリー表示部114は、摂取物情報の表示を開始した時点からの経過時間を、例えば周知のタイマ回路を用いて計時し、その経過時間が所定値を超えたときに、その表示を終了する。これにより、画面の煩雑を回避できる。
この場合、表示を終了した摂取物情報に対する再表示を、ユーザの入力をトリガとして行っても構わない。例えば図19では、グラフの各谷において記号114bが示されている。この記号114bは、摂取物情報を再表示させるボタンとしても機能する。
また、各時点に対応する摂取物情報は、例えば摂取物情報取得部112によって記憶部103に記憶される。
記号114bの一つがユーザによって選択されると、その情報がタッチパネル50によって検出されて、カロリー表示部114へと出力される。カロリー表示部114は、選択された時点に対応する摂取物情報を記憶部103から読み出して、これを表示部30に表示する。
これにより、ユーザは過去にどの時点でどのような摂取対象物を摂取したのかを、容易に確認することができる。
<総合カロリーの修正>
摂取物情報取得部112は、上述のように、ユーザによる操作をトリガとして摂取対象物の第1カロリーを取得する。そして総合カロリーは、その取得ごとに、第1カロリーについての分だけ更新されている。例えば図19において、総合カロリーの低下は、その時点で取得された摂取対象物の第1カロリーを用いて、総合カロリーが更新されたことを意味している。
さて、ある時点における第1カロリーが誤った値で取得されると、その時点以後の総合カロリーに誤差が生じる。そこで、ここでは、ユーザ操作によって、総合カロリーを修正することを企図する。
まず複数の時点でそれぞれ取得される摂取物情報、および、これを用いて算出された総合カロリーは、例えばその時点の情報と対応して記憶部に記憶される。
タッチパネル50は、総合カロリーを更新した時点を指定して総合カロリーの修正を指示する入力を受け付ける。この入力は例えば次の一連の操作によって実現される。例えば図20において、ある時点の記号114b−1を選択すると、その選択がタッチパネル50によって検出されて、カロリー表示部114へと出力される。カロリー表示部114は、その時点で用いられた摂取対象物の摂取物情報を表示するとともに、さらに、ボタン112pを表示する。ボタン112pは、表示された摂取物情報を修正する際に選択されるボタンである。
ユーザは、摂取物情報を確認して、これが間違っていると判断すると、ボタン112pを選択する。ボタン112pの選択はタッチパネル50で検出されて、これが摂取物情報取得部112に入力される。摂取物情報取得部112は、ステップS3と同様にして、ユーザの操作に基づいて得られる特定情報をサーバ200に送信することで、第1カロリーを含む摂取物情報を取得する。ここで取得される第1カロリーは、ユーザのタッチパネル50への操作によって入力される画像に含まれる摂取対象物のカロリーであり、総合カロリーの修正用に用いられるカロリーである。
取得した第1カロリーは、修正用カロリーとして総合カロリー算出部113に出力される。
総合カロリー算出部113は、記号114b−1で示される時点(以下、修正時点と呼ぶ)以後の総合カロリーの値を、修正用カロリーに基づいて修正する。具体的には、その修正時点で用いられていた第1カロリーKC1と、修正用カロリーKC1’との差ΔKC1(=KC1−KC1’)を、その修正時点以後の総合カロリーから減算して、総合カロリーを修正する。これにより、図21に示すように、総合カロリーが修正される。図21の例示では、記号114b−1で示される修正時点以後において、総合カロリーが低く更新されている。
以上のように、たとえ第1カロリーが誤って取得されたとしても、ユーザは総合カロリーを適切に修正することができる。
<記憶部103への記憶>
摂取物情報取得部112は、取得した第1カロリーを、その特定情報と対応づけて記憶部103に記憶してもよい。つまり、摂取したことがある摂取対象物の情報を、記憶部103に記憶してもよい。なお、サーバ200から区別情報を受信して、第1カロリーを区別情報に対応付けて記憶部103に記憶してもよい。
よって、記憶部103に情報が記憶された摂取対象物を、別の時点でユーザが摂取したときには、この記憶部103に記憶された第1カロリーを利用することができる。この場合、摂取物情報取得部112は、入力された特定情報と一致する情報が記憶部103に記憶されているか否かを確認し、記憶されている場合には、その特定情報に対応する第1カロリーを記憶部103から読み出して、総合カロリー算出部113へと出力する。一方で、記憶部103に記憶されていない場合には、上述のようにサーバ200から第1カロリーを取得する。
これによれば、サーバ200との通信を低減できるので、通信量を低減できる。
<第2カロリーの算出>
上述の例では、第2カロリー取得部111は、移動運動によって消費される第2カロリーを、ユーザの体重と移動距離とに基づいて算出したが、これに限らない。例えば消費する第2カロリーの単位時間当たりの変化量を、一日の時間帯ごとに予め設定し、これに基づいて第2カロリーを算出してもよい。例えば1日で複数の時間帯(例えば仕事場にいると想定される時間帯、家にいると想定される時間帯など)を設定し、その時間帯で第2カロリーの変化量をそれぞれ設定してもよい。そして、第2カロリー取得部111は、現時点がどの時間帯に属するのかを判断し、その時間帯の変化量を積算することで、第2カロリーを算出してもよい。なお1日における複数の時間帯および変化量の設定は、日、曜日、週または月ごとに異なっていてもよい。また、例えば特許文献1の技術を適用しても構わない。
また、本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得る。例えば第1カロリーはサーバ200の記憶部230ではなく、電子機器100の記憶部103に格納されていてもよい。この場合、通信を不要にできる。
実施の形態は、相互に矛盾しない限り、互いに組み合わせて実施することができる。