(57)【要約】【課題】片方向通信によって送信されるパケットを小容量化する。【解決手段】本発明の第１の態様によれば、データ送信装置は、第１の差センサデータを含む片方向通信用のパケットを生成する送信制御部と、前記生成されたパケットを送信する送信部とを具備し、前記第１の差センサデータは、センサによって測定された第１のセンサデータと当該第１のセンサデータに関連付けられる基準値との差である。【選択図】      図１
2019033452.tif 000002
【特許請求の範囲】
【請求項１】
第１の差センサデータを含む片方向通信用の第１のパケットを生成する送信制御部と、
前記生成された第１のパケットを送信する送信部と
を具備し、
前記第１の差センサデータは、センサによって測定された第１のセンサデータと当該第１のセンサデータに関連付けられる基準値との差である、
データ送信装置。
【請求項２】
前記送信制御部は、前記基準値を前記第１のパケットに格納しない、請求項１に記載のデータ送信装置。
【請求項３】
前記送信制御部は、前記基準値が予め定められた複数のプリセット基準値のうちのいずれであるかを表す識別子をさらに含むように前記第１のパケットを生成する、請求項１に記載のデータ送信装置。
【請求項４】
前記送信制御部は、前記基準値と第２の差センサデータとをさらに含む前記第１のパケットを生成し、
前記第２の差センサデータは、前記センサによって測定された、前記第１のセンサデータとは異なる第２のセンサデータと前記基準値との差である、
請求項１に記載のデータ送信装置。
【請求項５】
前記送信制御部は、前記基準値をさらに含む前記第１のパケットを生成し、
前記基準値は、前記センサによって測定された、前記第１のセンサデータとは異なる第２のセンサデータである、
請求項１に記載のデータ送信装置。
【請求項６】
前記送信制御部は、前記第１の差センサデータのデータサイズが前記第１のセンサデータよりも大きい場合には、前記第１のセンサデータを含む片方向通信用の第２のパケットを前記第１のパケットの代わりに生成し、
前記送信部は、前記生成された第２のパケットを送信する、
請求項１乃至請求項５のいずれか１項に記載のデータ送信装置。
【請求項７】
前記第１のセンサデータは、生体データである、請求項１乃至請求項６のいずれか１項に記載のデータ送信装置。
【請求項８】
第１の差センサデータを含む片方向通信用の第１のパケットを受信する受信部と、
前記受信された第１のパケットに含まれる前記第１の差センサデータを、当該第１の差センサデータに関連付けられる基準値に加算して当該第１の差センサデータの元となる第１のセンサデータを復元する復元部と
を具備し、
前記第１の差センサデータは、前記第１のセンサデータと前記基準値との差である、
データ受信装置。
【請求項９】
前記第１のパケットは、前記基準値を含まず、
前記復元部は、前記第１のパケット以外の受信データまたはユーザ入力に基づいて前記基準値を決定する、
請求項８に記載のデータ受信装置。
【請求項１０】
複数のプリセット基準値を記憶する記憶部をさらに具備し、
前記第１のパケットは、前記基準値が前記記憶された複数のプリセット基準値のうちのいずれであるかを表す識別子をさらに含み、
前記復元部は、前記記憶された複数のプリセット基準値のうち、前記受信された第１のパケットに含まれる前記識別子の表すプリセット基準値を選択し、当該選択されたプリセット基準値に前記受信された第１のパケットに含まれる前記第１の差センサデータを加算して前記第１のセンサデータを復元する、
請求項８に記載のデータ受信装置。
【請求項１１】
前記第１のパケットは、前記基準値と第２の差センサデータとをさらに含み、
前記復元部は、前記受信された第１のパケットに含まれる前記基準値に前記受信された第１のパケットに含まれる前記第２の差センサデータを加算して当該第２の差センサデータの元となる第２のセンサデータを復元し、
前記第２の差センサデータは、前記第２のセンサデータと前記基準値との差である、
請求項８に記載のデータ受信装置。
【請求項１２】
前記第１のパケットは、前記基準値をさらに含み、
前記基準値は、前記第１のセンサデータとは異なる第２のセンサデータであり、
前記復元部は、前記第２のセンサデータに前記第１の差センサデータを加算して前記第１のセンサデータを復元する、
請求項８に記載のデータ受信装置。
【請求項１３】
前記第１のセンサデータは、生体データである、請求項８乃至請求項１２のいずれか１項に記載のデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、片方向通信によるデータの送受信に関する。
【背景技術】
【０００２】
血圧データをユーザのスマートフォンに伝送する機能を備えた血圧計が市場投入されている。かかる機能を利用すれば、ユーザは様々な状況下での自己の血圧の測定結果をスマートフォンで一覧することができる。また、血圧データの伝送には、近距離無線通信技術、特にＢｌｕｅｔｏｏｔｈ（登録商標）技術が典型的には使用される。一般に、Ｂｌｕｅｔｏｏｔｈの通信（コネクション）は、ＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信に比べると、小規模かつ省電力に実現可能である。Ｂｌｕｅｔｏｏｔｈの仕様のバージョン４．０は、ＢＬＥ（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ）とも呼ばれ、従前の仕様に比べてさらに消費電力が低いことを特徴とする。
【０００３】
ＢＬＥのコネクションは、ペアリングのためにユーザに課される操作が煩雑である、ペアリング後の通信手順が煩雑である、スマートフォン側がＢＬＥをサポートしている必要がある、血圧計（およびスマートフォン）が高性能なハードウェア（プロセッサ、メモリ）を必要とする、開発／評価コストが高い、通信のオーバーヘッド量が大きく小容量のデータ送信に向かない、などの問題がある。
【０００４】
他方、ＢＬＥでは、アドバタイジングと呼ばれる片方向通信を行うこともできる。特許文献１には、アドバタイズメントパケットのデータフィールドの余白部分に任意のデータを含めて送信する技術が開示されている。アドバタイジングを利用して血圧データを送信すれば、ペアリングやその後の煩雑な通信手順が不要となるので、先の問題はほとんど解消する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５８５２６２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、片方向通信では、データ送信装置は、送信したデータがデータ受信装置によって正常に受信されたかどうかを確認することができない。故に、データ送信装置は、実用上、データ受信装置におけるデータの欠落を想定してデータの再送を行うことが必要とされる。データの再送に伴う伝送効率の低下を補うために、伝送データの小容量化が望まれる。
【０００７】
本発明は、片方向通信によって送信されるパケットを小容量化することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様では、データ送信装置は、第１の差センサデータを含む片方向通信用の第１のパケットを生成する送信制御部と、前記生成された第１のパケットを送信する送信部とを具備し、前記第１の差センサデータは、センサによって測定された第１のセンサデータと当該第１のセンサデータに関連付けられる基準値との差である。通常、同一人物の血圧などの生体情報が短期間で大幅に変動することは稀であるから、差センサデータの送信のために割り当てるビット数は、生のセンサデータの送信のために割り当てるビット数に比べて抑えることができる。故に、この態様に係るデータ送信装置によれば、片方向通信によって送信されるパケットを小容量化することができる。
【０００９】
本発明の第２の態様では、前記送信制御部は、前記基準値を前記第１のパケットに格納しない。故に、センサデータを実質的に暗号化してセキュアに送信することができる。
【００１０】
本発明の第３の態様では、前記送信制御部は、前記基準値が予め定められた複数のプリセット基準値のうちのいずれであるかを表す識別子をさらに含むように前記第１のパケットを生成する。この態様によれば、データ受信装置は、識別子とプリセット基準値との対応関係を用いて、パケットに格納された識別子の表すプリセット基準値を特定し、センサデータを確実に復元することができる。他方、このパケットが第三者によって傍受された場合であっても、この第三者が識別子とプリセット基準値との対応関係を知らない限りは元のセンサデータを復元することができない。すなわち、センサデータを実質的に暗号化してセキュアに送信することができる。
【００１１】
本発明の第４の態様では、前記送信制御部は、前記基準値と第２の差センサデータとをさらに含む前記第１のパケットを生成し、前記第２の差センサデータは、前記センサによって測定された、前記第１のセンサデータとは異なる第２のセンサデータと前記基準値との差である。この態様によれば、基準値そのものが、当該基準値を用いて生成された第１の差センサデータおよび第２の差センサデータと同じパケットに格納される。故に、データ受信装置は、センサデータを確実に復元することができる。
【００１２】
本発明の第５の態様では、前記送信制御部は、前記基準値をさらに含む前記第１のパケットを生成し、前記基準値は、前記第１のセンサデータとは異なる第２のセンサデータである。この態様によれば、第４の態様と同様に、基準値そのものが、当該基準値を用いて生成された第１の差センサデータと同じパケットに格納される。故に、データ受信装置は、センサデータを確実に復元することができる。また、この態様によれば、第２のセンサデータを基準値としてそのまま利用するので、第４の態様に比べて、第２の差センサデータ分相当の小容量化が可能である。
【００１３】
本発明の第６の態様によれば、前記送信制御部は、前記第１の差センサデータのデータサイズが前記第１のセンサデータよりも大きい場合には、前記第１のセンサデータを含む片方向通信用の第２のパケットを前記第１のパケットの代わりに生成し、前記送信部は、前記生成された第２のパケットを送信する。故に、この態様によれば、第１のパケットを送信することによる小容量化の効果を確実に得ることができる。
【００１４】
本発明の第７の態様によれば、前記第１のセンサデータは、生体データである。故に、血圧データなどの生体データを高効率に伝送することができる。
【００１５】
本発明の第８の態様によれば、データ受信装置は、第１の差センサデータを含む片方向通信用の第１のパケットを受信する受信部と、前記受信された第１のパケットに含まれる前記第１の差センサデータを、当該第１の差センサデータに関連付けられる基準値に加算して当該第１の差センサデータの元となる第１のセンサデータを復元する復元部とを具備し、前記第１の差センサデータは、前記第１のセンサデータと前記基準値との差である。通常、同一人物の血圧などの生体情報が短期間で大幅に変動することは稀であるから、差センサデータの送信のために割り当てるビット数は、生のセンサデータの送信のために割り当てるビット数に比べて抑えることができる。故に、このデータ受信装置によれば、片方向通信によって送信されるパケットを小容量化することができる。
【００１６】
本発明の第９の態様によれば、データ受信装置は、前記第１のパケットは、前記基準値を含まず、前記復元部は、前記第１のパケット以外の受信データまたはユーザ入力に基づいて前記基準値を決定する。故に、センサデータを実質的に暗号化してセキュアに送信することができる。
【００１７】
本発明の第１０の態様によれば、複数のプリセット基準値を記憶する記憶部をさらに具備し、前記第１のパケットは、前記基準値が前記記憶された複数のプリセット基準値のうちのいずれであるかを表す識別子をさらに含み、前記復元部は、前記記憶された複数のプリセット基準値のうち、前記受信された第１のパケットに含まれる前記識別子の表すプリセット基準値を選択し、当該選択されたプリセット基準値に前記受信された第１のパケットに含まれる前記第１の差センサデータを加算して前記第１のセンサデータを復元する。故に、このデータ受信装置は、識別子とプリセット基準値との対応関係を用いて、パケットに格納された識別子の表すプリセット基準値を特定し、センサデータを確実に復元することができる。他方、このパケットが第三者によって傍受された場合であっても、この第三者が識別子とプリセット基準値との対応関係を知らない限りは元のセンサデータを復元することができない。すなわち、センサデータを実質的に暗号化してセキュアに送信することができる。
【００１８】
本発明の第１１の態様によれば、前記第１のパケットは、前記基準値と第２の差センサデータとをさらに含み、前記復元部は、前記受信された第１のパケットに含まれる前記基準値に前記受信された第１のパケットに含まれる前記第２の差センサデータを加算して当該第２の差センサデータの元となる第２のセンサデータを復元し、前記第２の差センサデータは、前記第２のセンサデータと前記基準値との差である。この態様によれば、基準値そのものが、当該基準値を用いて生成された第１の差センサデータおよび第２の差センサデータと同じパケットに格納される。故に、このデータ受信装置は、センサデータを確実に復元することができる。
【００１９】
本発明の第１２の態様によれば、前記第１のパケットは、前記基準値をさらに含み、前記基準値は、前記第１のセンサデータとは異なる第２のセンサデータであり、前記復元部は、前記第２のセンサデータに前記第１の差センサデータを加算して前記第１のセンサデータを復元する。この態様によれば、第１０の態様と同様に、基準値そのものが、当該基準値を用いて生成された第１の差センサデータと同じパケットに格納される。故に、このデータ受信装置は、センサデータを確実に復元することができる。また、この態様によれば、第２のセンサデータを基準値としてそのまま利用するので、第１０の態様に比べて、第２の差センサデータ分相当の小容量化が可能である。
【００２０】
本発明の第１３の態様によれば、前記第１のセンサデータは、生体データである。故に、血圧データなどの生体データを高効率に伝送することができる。
【発明の効果】
【００２１】
本発明は、片方向通信によって送信されるパケットを小容量化することができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態に係るデータ送信装置の適用例を示すブロック図。
【図２】実施形態に係るデータ送信装置のハードウェア構成を例示するブロック図。
【図３】実施形態に係るデータ受信装置のハードウェア構成を例示するブロック図。
【図４】実施形態に係るデータ送信装置の機能構成を例示するブロック図。
【図５】ＢＬＥにおいて行われるアドバタイジングの説明図。
【図６】ＢＬＥにおいて送受信されるパケットのデータ構造を例示する図。
【図７】アドバタイズメントパケットのＰＤＵフィールドのデータ構造を例示する図。
【図８】実施形態に係るデータ送信装置が送信するパケットのＰＤＵフィールドのペイロードに格納されるデータ構造の第１の例を示す図。
【図９】実施形態に係るデータ送信装置が送信するパケットのＰＤＵフィールドのペイロードに格納されるデータ構造の第２の例を示す図。
【図１０】実施形態に係るデータ送信装置が送信するパケットのＰＤＵフィールドのペイロードに格納されるデータ構造の第３の例を示す図。
【図１１】５組のセンサデータを例示する図。
【図１２】図１１のセンサデータに対応する差センサデータを例示する図。
【図１３】図１２の差センサデータを図１０のデータ構造を用いて伝送した場合の容量削減効果の説明図。
【図１４】実施形態に係るデータ送信装置が送信するパケットのＰＤＵフィールドのペイロードに格納されるデータ構造の第４の例を示す図。
【図１５】実施形態に係るデータ受信装置の機能構成を例示するブロック図。
【図１６】実施形態に係るデータ送信装置およびデータ受信装置を含むデータ伝送システムを例示する図。
【図１７】実施形態に係るデータ送信装置の動作を例示するフローチャート。
【図１８】実施形態に係るデータ受信装置の動作を例示するフローチャート。
【発明を実施するための形態】
【００２３】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。
【００２４】
なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。  
§１  適用例  
まず、図１を用いて、本発明の一適用例について説明する。図１は、本実施形態に係るデータ送信装置１００の適用例を模式的に示す。データ送信装置１００は、少なくとも、生体センサ１０１と、データ管理部１０２と、データ記憶部１０３と、送信制御部１０４と、基準値記憶部１０５と、送信部１０６とを含む。
【００２５】
生体センサ１０１は、ユーザの生体情報に関する量を測定することで生体データを得る。生体センサ１０１は、生体データをデータ管理部１０２へ送る。データ管理部１０２は、生体センサ１０１から生体データを受け取り、これらをデータ記憶部１０３に書き込む。データ記憶部１０３は、データ管理部１０２によってセンサデータを読み書きされる。
【００２６】
送信制御部１０４は、データ管理部１０２から日時データおよびセンサデータのセットを受け取り、このセンサデータを小容量化するために用いる基準値を決定する。具体的には、送信制御部１０４は、過去に用いた基準値を再利用する場合には基準値記憶部１０５から基準値を読み出せばよい。他方、送信制御部１０４は、基準値を更新する場合には、後述されるように新たな基準値を決定し、決定した基準値を基準値記憶部１０５に保存する。基準値記憶部１０５は、送信制御部１０４によって基準値を読み書きされる。
【００２７】
送信制御部１０４は、決定した基準値と生体データとの差（以降、差センサデータとも称する）を算出し、この差センサデータを格納した、片方向通信用のパケットを生成する。送信制御部１０４は、このパケットを送信部１０６へ送る。送信部１０６は、送信制御部１０４からパケットを受け取り、このパケットを送信（アドバタイジング）する。
【００２８】
例えば、生体データが、収縮期血圧および拡張期血圧の値を含み、生体センサ１０１としての血圧センサの測定範囲が０ｍｍＨｇ〜２９９ｍｍＨｇであるとすれば、それぞれの値は高々９ビットで表現される。実用上、収縮期血圧の範囲を４４〜２９９ｍｍＨｇに定め、拡張期血圧の範囲を０ｍｍＨｇ〜２５５ｍｍＨｇに定めれば十分であるから、それぞれの値は１バイトで表現可能である。
【００２９】
さらに、同一のユーザの短期的な血圧変動に着目すれば、この血圧変動は収縮期血圧および拡張期血圧の全範囲に比べてかなり小さな範囲に収まると推定することができる。仮に、ユーザの血圧変動がその中心から±１５ｍｍＨｇ程度の範囲に収まると想定すれば収縮期血圧および拡張期血圧の値をそれぞれ５ビット、その中心から±３１ｍｍＨｇ程度と想定しても６ビットで表現可能となる。故に、血圧値そのものではなく基準値と血圧値との差を送信することで、伝送データの小容量化が可能となる。基準値は、例えば、ユーザの血圧値の短期間における統計指標（平均値、最小値、最大値、中央値、最頻値、または最小値および最大値の平均、など）であることが好ましいが、複数のプリセット基準値から選択することで統計処理を省くこともできる。
【００３０】
§２  構成例  
［ハードウェア構成］  
＜データ送信装置＞
次に、図２を用いて、本実施形態に係るデータ送信装置１００のハードウェア構成の一例について説明する。図２は、データ送信装置１００のハードウェア構成の一例を模式的に示す。
【００３１】
図２に示されるとおり、データ送信装置１００は、制御部１１１と、記憶部１１２と、通信インタフェース１１３と、入力装置１１４と、出力装置１１５と、外部インタフェース１１６と、バッテリ１１７とが電気的に接続されたコンピュータ、典型的には、血圧計、体温計、活動量計、歩数計、体組成計、体重計などのユーザの生体情報または活動情報に関する量を日常的に測定するセンサ装置である。なお、図２では、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００３２】
制御部１１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などを含む。ＣＰＵは、記憶部１１２に格納されたプログラムをＲＡＭに展開する。そして、ＣＰＵがこのプログラムを解釈および実行することで、制御部１１１は、様々な情報処理（機能構成の項目において説明される機能ブロックの処理）を実行可能となる。
【００３３】
記憶部１１２は、いわゆる補助記憶装置であり、例えば、内蔵または外付けのフラッシュメモリなどの半導体メモリ、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ソリッドステートドライブ（ＳＳＤ：Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などであり得る。記憶部１１２は、制御部１１１で実行されるプログラム、制御部１１１によって使用されるデータ（例えば基準値、日時データおよびセンサデータ）などを記憶する。
【００３４】
通信インタフェース１１３は、少なくとも、ＢＬＥなどの片方向通信の可能な無線モジュールを含む。入力装置１１４は、例えばタッチスクリーン、ボタン、スイッチなどのユーザ入力を受け付けるための装置と、ユーザの生体情報または活動情報に関する量を検知するためのセンサとを含む。出力装置１１５は、例えば、ディスプレイ、スピーカなどの出力を行うための装置である。
【００３５】
外部インタフェース１１６は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、メモリカードスロットなどであり、外部装置と接続するためのインタフェースである。
【００３６】
バッテリ１１７は、データ送信装置１００の電源電圧を供給する。バッテリ１１７は、交換可能であってもよい。なお、データ送信装置１００がバッテリ駆動されることは必須ではなく、ＡＣ（Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ）アダプタを介して商用電源に接続可能であってもよい。この場合には、バッテリ１１７は省略され得る。
【００３７】
なお、データ送信装置１００の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１１は、複数のプロセッサを含んでもよい。データ送信装置１００は、複数台のセンサ装置で構成されてもよい。
【００３８】
＜データ受信装置＞  
次に、図３を用いて、本実施形態に係るデータ受信装置２００のハードウェア構成の一例について説明する。図３は、データ受信装置２００のハードウェア構成の一例を模式的に示す。
【００３９】
図３に示されるとおり、データ受信装置２００は、制御部２１１と、記憶部２１２と、通信インタフェース２１３と、入力装置２１４と、出力装置２１５と、外部インタフェース２１６とが電気的に接続されたコンピュータ、典型的にはスマートフォンである。なお、図３では、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００４０】
制御部２１１は、ＣＰＵ、ＲＡＭ、ＲＯＭなどを含む。ＣＰＵは、記憶部２１２に格納されたプログラムをＲＡＭに展開する。そして、ＣＰＵがこのプログラムを解釈および実行することで、制御部２１１は、様々な情報処理（機能構成の項目において説明される機能ブロックの処理）を実行可能となる。
【００４１】
記憶部２１２は、いわゆる補助記憶装置であり、例えば、内蔵または外付けのフラッシュメモリなどの半導体メモリであり得る。記憶部２１２は、制御部２１１で実行されるプログラム、制御部２１１によって使用されるデータ（例えば、識別子、基準値、日時データおよびセンサデータ）などを記憶する。なお、データ受信装置２００が、ラップトップまたはデスクトップコンピュータなどである場合には、記憶部２１２は、ＨＤＤ、ＳＳＤなどであり得る。
【００４２】
通信インタフェース２１３は、主に、ＢＬＥ、移動通信（３Ｇ、４Ｇなど）およびＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのための各種無線通信モジュールであって、ネットワークを介して無線通信を行うためのインタフェースである。なお、通信インタフェース２１３が、有線ＬＡＮモジュールなどの有線通信モジュールをさらに備えていてもよい。
【００４３】
入力装置２１４は、例えばタッチスクリーン、キーボード、マウスなどのユーザ入力を受け付けるための装置である。出力装置２１５は、例えば、ディスプレイ、スピーカなどの出力を行うための装置である。
【００４４】
外部インタフェース２１６は、ＵＳＢポート、メモリカードスロットなどであり、外部装置と接続するためのインタフェースである。
【００４５】
なお、データ受信装置２００の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１１は、複数のプロセッサを含んでもよい。データ受信装置２００は、複数台の情報処理装置で構成されてもよい。また、データ受信装置２００は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレットＰＣ等が用いられてもよい。
【００４６】
［機能構成］  
＜データ送信装置＞  
次に、図４を用いて、本実施形態に係るデータ送信装置１００の機能構成の一例を説明する。図４は、データ送信装置１００の機能構成の一例を模式的に示す。
【００４７】
図２で説明したように、制御部１１１は、記憶部１１２に格納されているプログラムをＲＡＭに展開する。そして、制御部１１１は、このプログラムをＣＰＵにより解釈および実行して、図２に示した各種のハードウェア要素を制御する。これにより、図４に示されるとおり、データ送信装置１００は、生体センサ１０１と、データ管理部１０２と、データ記憶部１０３と、送信制御部１０４と、基準値記憶部１０５と、送信部１０６と、動きセンサ１０７と、時計部１０８と、入力部１０９と、表示制御部１１０と、表示部１２０とを備えるコンピュータとして機能する。
【００４８】
生体センサ１０１は、ユーザの生体情報に関する量を測定することで生体データを得る。生体センサ１０１の動作は、例えば図示されないセンサ制御部によって制御される。生体センサ１０１は、生体データを時計部１０８から受け取った日時データに関連付けて、データ管理部１０２へ送る。生体センサ１０１は、典型的には、ユーザの血圧を測定することで血圧データを得る血圧センサを含む。この場合に、生体データは血圧データを含む。血圧データは、例えば、収縮期血圧および拡張期血圧の値と脈拍数とを含み得るが、これに限られない。このほか、生体データは、心電データ、脈波データ、体温データなどを含むことができる。
【００４９】
血圧センサは、ユーザの血圧を１拍毎に連続測定可能な血圧センサ（以降、連続型の血圧センサと称する）を含むことができる。連続型の血圧センサは、脈波伝播時間（ＰＴＴ；Ｐｕｌｓｅ  Ｔｒａｎｓｉｔ  Ｔｉｍｅ）からユーザの血圧を連続測定してもよいし、トノメトリ法または他の技法により連続測定を実現してもよい。
【００５０】
血圧センサは、連続型の血圧センサに代えて、または、加えて、連続測定不可能な血圧センサ（以降、非連続型の血圧センサと称する）を含むこともできる。非連続型の血圧センサは、例えば、カフを圧力センサとして用いてユーザの血圧を測定する（オシロメトリック法）。
【００５１】
非連続型の血圧センサ（特に、オシロメトリック方式の血圧センサ）は、連続型の血圧センサに比べて、測定精度が高い傾向にある。故に、血圧センサは、例えば、何らかの条件が満足する（例えば、連続型の血圧センサによって測定されたユーザの血圧データが所定の状態を示唆した）ことをトリガとして、連続型の血圧センサに代えて非連続型の血圧センサを作動させることにより、血圧データをより高い精度で測定してもよい。
【００５２】
データ管理部１０２は、生体センサ１０１または動きセンサ１０７から日時データに関連付けられたセンサデータ（生体データまたは加速度／角速度データ）を受け取り、これらをデータ記憶部１０３に書き込む。データ管理部１０２は、日時データおよびセンサデータを新たに受け取った場合に、これらを自動的に送信制御部１０４または表示制御部１１０へ送ってもよい。また、データ管理部１０２は、送信制御部１０４または表示制御部１１０からの命令をトリガとして、データ記憶部１０３に格納されている日時データおよびセンサデータのセットを読み出し、送信制御部１０４または表示制御部１１０へ送ってもよい。
【００５３】
データ記憶部１０３は、データ管理部１０２によって日時データおよびセンサデータのセットを読み書きされる。
【００５４】
送信制御部１０４は、データ管理部１０２から日時データおよびセンサデータのセットを受け取り、このセンサデータを小容量化するために用いる基準値を決定する。具体的には、送信制御部１０４は、過去に用いた基準値を再利用する場合には基準値記憶部１０５から基準値を読み出せばよい。他方、送信制御部１０４は、基準値を更新する場合には、後述されるように新たな基準値を決定し、決定した基準値を基準値記憶部１０５に保存する。
【００５５】
送信制御部１０４は、例えば、１週間毎、１ヶ月毎、１年毎などの予め定められた周期で基準値を更新してもよいし、入力部１０９に与えられた特定のユーザ入力をトリガに基準値を更新してもよい。或いは、送信制御部１０４は、差の絶対値の統計指標（平均値、最小値、最大値、中央値、最頻値、または最小値および最大値の平均、など）に基づいて基準値を更新するか否かを判定してもよい。例えば、ユーザの血圧が過去に比べて高い、または、低い傾向を示す場合には、ユーザの現在の傾向に合せて基準値を更新することで、差が割り当てられたビット数で表現可能な範囲を超える事態を予防することができる。
【００５６】
送信制御部１０４は、決定した基準値とセンサデータとの差を算出し、この差センサデータを格納した、片方向通信用のパケットを生成する。送信制御部１０４は、生成したパケットを送信部１０６へ送る。このパケットは、例えばＢＬＥにおけるアドバタイズメントパケットである。ただし、ＢＬＥは、将来的に他の低消費電力・片方向通信可能な通信規格に置き換わる可能性がある。その場合には、以降の説明を適宜読み替えればよい。ＢＬＥのアドバタイズメントについての説明は後述する。
【００５７】
送信制御部１０４は、入力部１０９から、送信部１０６によるデータ送信を制御するためのユーザ入力を受け取ることがある。この場合に、送信制御部１０４は、ユーザ入力に基づいてデータ管理部１０２に特定の日時データおよびセンサデータのセットを要求したり、基準値を更新したりする。その他、送信制御部１０４は、過去に送信したデータの再送などのために、ユーザ入力に関わらず、アドバタイズメントパケットを生成し得る。
【００５８】
基準値記憶部１０５は、送信制御部１０４によって基準値を読み書きされる。また、基準値記憶部１０５に格納された基準値は、表示制御部１１０によって読み出されることもある。  
送信部１０６は、送信制御部１０４からＢＬＥのアドバタイズメントパケットを受け取り、これを送信（アドバタイジング）する。
【００５９】
動きセンサ１０７は、例えば、加速度センサまたはジャイロセンサであり得る。動きセンサ１０７は、当該動きセンサ１０７の受ける加速度／角速度を検出することで３軸の加速度／角速度データを得る。動きセンサ１０７の動作は、例えば図示されないセンサ制御部によって制御される。この加速度／角速度データは、データ送信装置１００を装着しているユーザの活動状態（姿勢および／または動作）を推定するために用いることができる。動きセンサ１０７は、加速度／角速度データを時計部１０８から受け取った日時データに関連付けて、データ管理部１０２へ送る。
【００６０】
なお、生体センサ１０１および動きセンサ１０７のうち一方が省略されてもよい。また、生体センサ１０１および動きセンサ１０７に加えて、または、代えて、環境センサが設けられてもよい。環境センサは、例えば、温度センサ、湿度センサ、気圧センサなどを含み得る。すなわち、センサデータとは、センサが予め定められた物理量を測定し、測定結果に基づいて生成する任意のデータであり得る。
【００６１】
時計部１０８は、日時を指示する。時計部１０８は、例えば、固定周波数で振動する水晶発振器と、その出力を分周して１Ｈｚの信号を得る分周回路と、この信号をカウントして日時を示すシリアル値を得るカウンタとを含む。時計部１０８は、現在日時を示す日時データ（例えば上記シリアル値）を生体センサ１０１および動きセンサ１０７へ送る。日時データは、生体センサ１０１による生体データの測定日時、動きセンサ１０７による加速度／角速度データの測定日時などとして用いることができる。このほか、日時データは、表示部１２０へ表示するために表示制御部１１０によって参照される。
【００６２】
時計部１０８（の保持するシリアル値）は、例えば、ユーザ入力によって調整（時刻合わせ）可能に設計されてもよいが、敢えて、かかる設計としないことで、入力装置１１４を簡素化（ボタン数の削減等）してもよい。なお、この場合にも、例えば、「１０分前」、「２時間前」、「昨日」、「１週間前」などの現在日時を基準とした相対的な日時をユーザに提示することは可能である。
【００６３】
入力部１０９は、ユーザ入力を受け付ける。ユーザ入力は、例えば、送信部１０６によるデータ送信を制御するためのものであったり、表示部１２０によるデータ表示を制御するためのものであったり、生体センサ１０１または動きセンサ１０７による測定を開始するためのものであったりする。
【００６４】
送信部１０６によるデータ送信を制御するためのユーザ入力は、例えば、特定の日時データおよびセンサデータのセットの送信を明示的または黙示的に指示するもの、基準値の変更を明示的または黙示的に指示するものなどであり得る。後述されるように、図８のデータ構造によれば、基準値は実質的な暗号化キーとしても機能するので、基準値を積極的に変更することで、伝送データのセキュリティを高めることができる。
【００６５】
入力部１０９は、送信部１０６によるデータ送信を制御するためのユーザ入力を送信制御部１０４へ送り、表示部１２０によるデータ表示を制御するためのユーザ入力を表示制御部１１０へ送り、生体センサ１０１または動きセンサ１０７による測定を開始するためのユーザ入力を図示されないセンサ制御部へ送る。
【００６６】
表示制御部１１０は、データ管理部１０２から日時データおよびセンサデータのセットを受け取り、これらに基づいて表示部１２０の表示データを生成する。また、表示制御部１１０は、時計部１０８を参照して、時計部１０８の保持する日時データを表示部１２０に表示させるための表示データを生成することもある。さらに、表示制御部１１０は、基準値記憶部１０５を参照して、基準値を表示部１２０に表示させるための表示データを生成することもある。図８のデータ構造によれば、基準値は実質的な暗号化キーとしても機能するので、表示部１２０に表示させた基準値をユーザがデータ受信装置２００に手入力することで、第三者による傍受リスクのある無線伝送を利用することなくデータ受信装置２００に基準値を設定することができる。表示制御部１１０は、生成した表示データを表示部１２０へ送る。
【００６７】
表示制御部１１０は、入力部１０９から、表示部１２０によるデータ表示を制御するためのユーザ入力を受け取ることがある。この場合に、表示制御部１１０は、ユーザ入力に基づいてデータ管理部１０２に特定の日時データおよびセンサデータのセットを要求したり、時計部１０８に略最新の日時データを要求したり、基準値記憶部１０５から基準値を読み出したりする。  
表示部１２０は、表示制御部１１０から表示データを受け取り、これを表示する。
【００６８】
ここで、ＢＬＥのアドバタイズメントについて概略的に説明する。  
ＢＬＥにおいて採用されるパッシブスキャン方式では、図５に例示するように、新規ノードは自己の存在を周知するアドバタイズメントパケットを定期的に送信する。この新規ノードは、アドバタイズメントパケットを一度送信してから次に送信するまでの間に、低消費電力のスリープ状態に入ることで消費電力を節約できる。また、アドバタイズメントパケットの受信側も間欠的に動作するので、アドバタイズメントパケットの送受信に伴う消費電力は僅かである。
【００６９】
図６にＢＬＥ無線通信パケットの基本構造を示す。ＢＬＥ無線通信パケットは、１バイトのプリアンブルと、４バイトのアクセスアドレスと、２〜３９バイト（可変）のプロトコルデータユニット（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）と、３バイトの巡回冗長チェックサム（ＣＲＣ：Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋｓｕｍ）とを含む。ＢＬＥ無線通信パケットの長さは、ＰＤＵの長さに依存し、１０〜４７バイトである。１０バイトのＢＬＥ無線通信パケット（ＰＤＵは２バイト）は、Ｅｍｐｔｙ  ＰＤＵパケットとも呼ばれ、マスタとスレイブ間で定期的に交換される。
【００７０】
プリアンブルフィールドは、ＢＬＥ無線通信の同期のために用意されており、「０１」または「１０」の繰り返しが格納される。アクセスアドレスは、アドバタイジングチャネルでは固定数値、データチャネルでは乱数のアクセスアドレスが格納される。本実施形態では、アドバタイジングチャネル上で伝送されるＢＬＥ無線通信パケットであるアドバタイズメントパケットを対象とする。ＣＲＣフィールドは、受信誤りの検出に用いられる。ＣＲＣの計算範囲は、ＰＤＵフィールドのみである。
【００７１】
次に、図７を用いて、アドバタイズメントパケットのＰＤＵフィールドについて説明する。なお、データチャネル上で伝送されるＢＬＥ無線通信パケットであるデータ通信パケットのＰＤＵフィールドは図７とは異なるデータ構造を有するが、本実施形態ではデータ通信パケットを対象としていないので説明を省略する。
【００７２】
アドバタイズメントパケットのＰＤＵフィールドは、２バイトのヘッダと、０〜３７バイト（可変）のペイロードとを含む。ヘッダは、さらに、４ビットのＰＤＵ  Ｔｙｐｅフィールドと、２ビットの未使用フィールドと、１ビットのＴｘＡｄｄフィールドと、１ビットのＲｘＡｄｄフィールドと、６ビットのＬｅｎｇｔｈフィールドと、２ビットの未使用フィールドとを含む。
【００７３】
ＰＤＵ  Ｔｙｐｅフィールドには、このＰＤＵのタイプを示す値が格納される。「接続可能アドバタイジング」、「非接続アドバタイジング」などのいくつかの値が定義済みである。ＴｘＡｄｄフィールドには、ペイロード中に送信アドレスがあるか否かを示すフラグが格納される。同様に、ＲｘＡｄｄフィールドには、ペイロード中に受信アドレスがあるか否かを示すフラグが格納される。Ｌｅｎｇｔｈフィールドには、ペイロードのバイトサイズを示す値が格納される。
【００７４】
ペイロードには、任意のデータを格納することができる。そこで、データ送信装置１００は、例えば図８、図９、図１０または図１４に例示されるようなデータ構造を用いて、差センサデータおよび日時データをペイロードに格納する。
【００７５】
図８のデータ構造は、１人のユーザの血圧および脈拍の１回分のセンサデータを伝送するために使用可能である。なお、図８のデータ構造は、複数回分のセンサデータを伝送するように変形されてもよい。
【００７６】
ＩＤフィールドは、ユーザを表す識別子が格納される。なお、ユーザを表す識別子の代わりに、または、これに加えて、データ送信装置１００またはデータ受信装置２００を表す識別子が格納されてもよい。
【００７７】
Ｔｉｍｅフィールドは、日時データが格納される。ＤｉｆＳｙｓ、ＤｉｆＤｉａおよびＤｉｆＰｕｌｓｅフィールドは、それぞれ、日時データに関連付けられる収縮期血圧（Ｓｙｓｔｏｌｉｃ  Ｂｌｏｏｄ  Ｐｒｅｓｓｕｒｅ）、拡張期血圧（Ｄｉａｓｔｏｌｉｃ  Ｂｌｏｏｄ  Ｐｒｅｓｓｕｒｅ）および脈拍数の差センサデータが格納される。このように日時データに関連付けられる差センサデータは、１種に限られず複数種であってもよい。
【００７８】
図８のデータ構造によれば、差センサデータを生成するために用いられた基準値は、当該差センサデータと同じパケットには格納されない。故に、図８のデータ構造を持つパケットが第三者によって傍受されたとしても、この第三者は基準値を知らない限りは元のセンサデータを復元することができない。すなわち、図８のデータ構造によれば、センサデータを実質的に暗号化してセキュアに送信することができる。反面、データ受信装置２００が基準値を特定できない場合には、当該データ受信装置２００も元のセンサデータを復元することができない。そこで、データ送信装置１００は、例えば特定のユーザ入力などの何らかのトリガに応じて、基準値を送信するように制御されてよい。基準値は、例えば、データ送信装置１００によって差センサデータとは別に送信されてもよいし、過去１週間のセンサデータの平均値、最小値、最大値、中央値、最頻値、または最小値および最大値の平均、などデータ受信装置２００が独力で特定可能な値に設定されてもよい。或いは、基準値は、ユーザ入力によって直接指定されてもよい。
【００７９】
図９のデータ構造は、１人のユーザの血圧および脈拍の１回分のセンサデータを伝送するために使用可能である。なお、図９のデータ構造は、複数回分のセンサデータを伝送するように変形されてもよい。図９のＩＤフィールド、Ｔｉｍｅフィールド、ＤｉｆＳｙｓフィールド、ＤｉｆＤｉａフィールドおよびＤｉｆＰｕｌｓｅフィールドは図８と同様である。
【００８０】
Ｂａｓｅｌｉｎｅフィールドは、差センサデータを生成するために用いられた基準値を表す識別子が格納される。この識別子は、予め定められた複数のプリセット基準値のうちいずれが差センサデータを生成するために用いられたかを示す。例えば、プリセット基準値は、重度の高血圧のユーザ向け、軽度の高血圧のユーザ向け、平均的な血圧のユーザ向けおよび低血圧のユーザ向けの４種類が用意されてよい。この場合には、識別子は２ビットで表現可能である。ただし、プリセット基準値は、この例に限られず、３種類以下または５種類以上であってよい。
【００８１】
図９のデータ構造によれば、差センサデータを生成するために用いられた基準値を表す識別子が、当該差センサデータと同じパケットに格納される。故に、図９のデータ構造によれば、データ受信装置２００は初期設定時、例えば、生体データの管理アプリケーションのインストール時、データ送信装置１００の認証時、など、またはその後の更新時などに設定された、識別子とプリセット基準値との対応関係を用いて、パケットに格納された識別子の表すプリセット基準値を特定し、センサデータを確実に復元することができる。他方、図９のデータ構造を持つパケットが第三者によって傍受された場合であっても、この第三者が識別子とプリセット基準値との対応関係を知らない限りは元のセンサデータを復元することができない。すなわち、センサデータを実質的に暗号化してセキュアに送信することができる。なお、第三者が識別子とプリセット基準値との対応関係を調べることを困難にしてセキュリティを高めるために、各識別子の表すプリセット基準値は全ユーザ固定ではなくユーザ毎に異なるオフセットを加えるなどしてランダム化されてよい。或いは、識別子とプリセット基準値との対応関係が全ユーザ固定ではなくユーザ毎にランダム化、例えばシャッフルされてよい。
【００８２】
図１０のデータ構造は、１人のユーザの血圧および脈拍の複数回分のセンサデータを伝送するために使用可能である。図１０のＩＤフィールドは図８および図９と同様である。図１０のデータ構造によれば、例えば同一のパケットに格納される複数組のセンサデータの統計指標（例えば、平均値、最小値、最大値、中央値、最頻値、または最小値および最大値の平均、など）を基準値として用いて、各センサデータに基づく差センサデータが生成される。すなわち、パケットには、共通の基準値と、複数組の差センサデータとが格納されることになる。
【００８３】
Ｂａｓｅｌｉｎｅフィールドは、基準値が格納される。この基準値は、前述のように同一のパケットに格納される複数組のセンサデータの統計指標であり得る。具体的には、Ｂａｓｅｌｉｎｅフィールドは、ＢＳｙｓフィールドと、ＢＤｉａフィールドと、ＢＰｕｌｓｅフィールドとを含むことができる。
【００８４】
ＢＳｙｓフィールド、ＢＤｉａフィールドおよびＢＰｕｌｓｅフィールドは、それぞれ、収縮期血圧、拡張期血圧および脈拍数の基準値が格納される。
【００８５】
Ｔｉｍｅ１フィールドは、１組目のセンサデータの測定日時を表す日時データが格納される。ＤｉｆＳｙｓ１フィールド、ＤｉｆＤｉａ１フィールドおよびＤｉｆＰｕｌｓｅ１フィールドは、それぞれ、Ｔｉｍｅ１フィールドに格納された日時データに関連付けられる収縮期血圧、拡張期血圧および脈拍数の差センサデータが格納される。
【００８６】
Ｔｉｍｅ２フィールドは、２組目のセンサデータの測定日時を表す日時データが格納される。ＤｉｆＳｙｓ２フィールド、ＤｉｆＤｉａ２フィールドおよびＤｉｆＰｕｌｓｅ２フィールドは、それぞれ、Ｔｉｍｅ２フィールドに格納された日時データに関連付けられる収縮期血圧、拡張期血圧および脈拍数の差センサデータが格納される。
【００８７】
パケットに３組目以降のセンサデータを格納する場合には、必要に応じて、Ｔｉｍｅフィールド、ＤｉｆＳｙｓフィールド、ＤｉｆＤｉａフィールドおよびＤｉｆＰｕｌｓｅフィールドを追加すればよい。
【００８８】
図１０のデータ構造によれば、基準値そのものが、当該基準値を用いて生成された差センサデータと同じパケットに格納される。故に、データ受信装置２００は、センサデータを確実に復元することができる。他方では、図１０のデータ構造を持つパケットが第三者によって傍受された場合に、この第三者は元のセンサデータを復元することができる点に注意が必要である。
【００８９】
図１０のデータ構造では、パケットに格納するセンサデータの組数を増やすことで、パケットをより効率的に小容量化することができる。例えば、図１１に示す５組のセンサデータをパケットに格納すると仮定する。また、基準値は、各種センサデータの最小値に定められる。
【００９０】
図１１の例では、収縮期血圧、拡張期血圧および脈拍数の最小値は、それぞれ、「１０５」、「７２」、「６０」である。これらを基準値として用いると、センサデータを図１２に例示される差センサデータへ変換することができる。
【００９１】
ここで、図１１に示す収縮期血圧、拡張期血圧および脈拍数を表現するには８ビット程度は必要であり、図１２に示す収縮期血圧差、拡張期血圧差および脈拍数差は５ビットもあれば表現可能である。収縮期血圧、拡張期血圧および脈拍数にそれぞれ８ビットを割り当てるとすれば、５回分のセンサデータをそのまま送信するには１２０ビット（８×３×５）が必要となる。他方、収縮期血圧差、拡張期血圧差および脈拍数差にそれぞれ５ビットを割り当てるとすれば、５回分の差センサデータを基準値と一緒に送信したとしてもデータ量は９９ビット（５×３×５＋８×３）で済む。故に、センサデータおよび基準値に着目すると、１８％のデータ削減（小容量化）が可能となる。データ削減率は、図１３に例示するように、同一のパケットに格納するセンサデータの組数が多くなるほど向上する。
【００９２】
図１４のデータ構造は、１人のユーザの血圧および脈拍の複数回分のセンサデータを伝送するために使用可能である。図１４のＩＤフィールドは、図８、図９および図１０と同様である。図１４のデータ構造では、任意の１組のセンサデータ、例えば１組目のセンサデータを基準値として用いて、他のセンサデータに基づく差センサデータが生成される。すなわち、パケットには、基準値としての１組目のセンサデータと、２組目以降の差センサデータとが格納されることになる。
【００９３】
Ｂａｓｅｌｉｎｅフィールドは、基準値が格納される。この基準値は、前述のように１組目のセンサデータである。具体的には、Ｂａｓｅｌｉｎｅフィールドは、Ｔｉｍｅ１フィールドと、Ｓｙｓ１フィールドと、Ｄｉａ１フィールドと、Ｐｕｌｓｅ１フィールドとを含むことができる。
【００９４】
Ｔｉｍｅ１フィールドは、１組目のセンサデータの測定日時を表す日時データが格納される。Ｓｙｓ１フィールド、Ｄｉａ１フィールドおよびＰｕｌｓｅ１フィールドは、それぞれ、Ｔｉｍｅ１フィールドに格納された日時データに関連付けられる収縮期血圧、拡張期血圧および脈拍数が格納される。
【００９５】
Ｔｉｍｅ２フィールドは、２組目のセンサデータの測定日時を表す日時データが格納される。ＤｉｆＳｙｓ２フィールド、ＤｉｆＤｉａ２フィールドおよびＤｉｆＰｕｌｓｅ２フィールドは、それぞれ、Ｔｉｍｅ２フィールドに格納された日時データに関連付けられる収縮期血圧、拡張期血圧および脈拍数の差センサデータが格納される。
【００９６】
パケットに３組目以降のセンサデータを格納する場合には、必要に応じて、Ｔｉｍｅフィールド、ＤｉｆＳｙｓフィールド、ＤｉｆＤｉａフィールドおよびＤｉｆＰｕｌｓｅフィールドを追加すればよい。
【００９７】
図１４のデータ構造によれば、図１０のデータ構造と同様に、基準値そのものが、当該基準値を用いて生成された差センサデータと同じパケットに格納される。故に、データ受信装置２００は、センサデータを確実に復元することができる。他方では、図１４のデータ構造を持つパケットが第三者によって傍受された場合に、この第三者は元のセンサデータを復元することができる点に注意が必要である。また、図１４のデータ構造によれば、任意の１組のセンサデータを基準値としてそのまま利用するので、図１０のデータ構造に比べて、おおよそ１組分の差センサデータに相当する小容量化が可能である。
【００９８】
＜データ受信装置＞  
次に、図１５を用いて、本実施形態に係るデータ受信装置２００の機能構成の一例を説明する。図１５は、データ受信装置２００の機能構成の一例を模式的に示す。
【００９９】
図３で説明したように、制御部２１１は、記憶部２１２に格納されているプログラムをＲＡＭに展開する。そして、制御部２１１は、このプログラムをＣＰＵにより解釈および実行して、図３に示した各種のハードウェア要素を制御する。これにより、図１５に示されるとおり、データ受信装置２００は、受信部２０１と、データ復元部２０２と、基準値記憶部２０３と、データ管理部２０４と、データ記憶部２０５と、送信部２０６とを備えるコンピュータとして機能する。
【０１００】
受信部２０１は、データ送信装置１００から、センサデータと当該センサデータに関連付けられた日時データとを含むパケットを受信する。受信部２０１は、例えば、ＢＬＥのアドバタイズメントパケットからＰＤＵのペイロードを抽出する。そして、受信部２０１は、ＩＤフィールドの値が不適切である（例えば、自己のユーザを表す値に一致しない）ならば受信パケットを破棄してもよい。他方、受信部２０１は、ＩＤフィールドの値が適切である（例えば、自己のユーザを表す値に一致する）ならば、他の各種データをデータ復元部２０２へ送る。
【０１０１】
図８のデータ構造の例では、受信部２０１は、Ｔｉｍｅフィールドに格納された日時データと、ＤｉｆＳｙｓフィールド、ＤｉｆＤｉａフィールドおよびＤｉｆＰｕｌｓｅフィールドに格納された差センサデータとをデータ復元部２０２へ送る。
【０１０２】
図９のデータ構造の例では、受信部２０１は、Ｔｉｍｅフィールドに格納された日時データと、Ｂａｓｅｌｉｎｅフィールドに格納された、基準値を表す識別子と、ＤｉｆＳｙｓフィールド，ＤｉｆＤｉａフィールドおよびＤｉｆＰｕｌｓｅフィールドに格納された差センサデータとをデータ復元部２０２へ送る。
【０１０３】
図１０のデータ構造の例では、受信部２０１は、ＢＳｙｓフィールド、ＢＤｉａフィールドおよびＢＰｕｌｓｅフィールドに格納された基準値と、Ｔｉｍｅ１フィールドに格納された、１組目の差センサデータに関連付けられる日時データと、ＤｉｆＳｙｓ１フィールド、ＤｉｆＤｉａ１フィールドおよびＤｉｆＰｕｌｓｅ１フィールドに格納された１組目の差センサデータと、Ｔｉｍｅ２フィールドに格納された、２組目の差センサデータに関連付けられる日時データと、ＤｉｆＳｙｓ２フィールド、ＤｉｆＤｉａ２フィールドおよびＤｉｆＰｕｌｓｅ２フィールドに格納された２組目の差センサデータとをデータ復元部２０２へ送る。
【０１０４】
図１４のデータ構造の例では、受信部２０１は、Ｔｉｍｅ１フィールドに格納された、１組目のセンサデータに関連付けられる日時データと、Ｓｙｓ１フィールド、Ｄｉａ１フィールドおよびＰｕｌｓｅ１フィールドに格納された、基準値としての１組目のセンサデータと、Ｔｉｍｅ２フィールドに格納された、２組目の差センサデータに関連付けられる日時データと、ＤｉｆＳｙｓ２フィールド、ＤｉｆＤｉａ２フィールドおよびＤｉｆＰｕｌｓｅ２フィールドに格納された２組目の差センサデータとをデータ復元部２０２へ送る。
【０１０５】
データ復元部２０２は、受信部２０１から差センサデータを含む各種データを受け取る。データ復元部２０２は、差センサデータから元のセンサデータを復元するために用いる基準値を決定する。データ復元部２０２が、どのようにして基準値を決定するかは、パケットのデータ構造に依存する。
【０１０６】
パケットが図８に例示されるデータ構造を持つ場合には、差センサデータを生成するために用いられた基準値は当該差センサデータと同一のパケットには格納されない。故に、データ復元部２０２は、受信部２０１から、差センサデータと基準値を一緒に受け取ることはできない。基準値は、このパケット以外の受信データに直接格納されてデータ復元部２０２に与えられるかもしれないし、当該受信データに基づいて特定可能であるかもしれないし、ユーザ入力によって指定されるかもしれないし、基準値記憶部２０３に保存済みであるかもしれない。データ復元部２０２は、基準値記憶部２０３に基準値が保存されていない場合、または基準値が再利用できない場合には、受信データまたはユーザ入力に基づいて基準値を決定する。決定した基準値を再利用する可能性がある場合には、データ復元部２０２は、基準値を基準値記憶部２０３に格納してもよい。
【０１０７】
パケットが図９に例示されるデータ構造を持つ場合には、データ復元部２０２は、受信部２０１から、Ｂａｓｅｌｉｎｅフィールドに格納された、基準値を表す識別子を受け取る。データ復元部２０２は、基準値記憶部２０３に記憶されている複数のプリセット基準値のうち識別子によって指示される１つを読み出すことにより、基準値を特定できる。
【０１０８】
パケットが図１０に例示されるデータ構造を持つ場合には、データ復元部２０２は、受信部２０１から、ＢＳｙｓフィールド、ＢＤｉａフィールドおよびＢＰｕｌｓｅフィールドに格納された基準値を受け取る。故に、データ復元部２０２は、これら基準値をそのまま使用することができる。
【０１０９】
パケットが図１４に例示されるデータ構造を持つ場合には、データ復元部２０２は、受信部２０１から、Ｓｙｓ１フィールド、Ｄｉａ１フィールドおよびＰｕｌｓｅ１フィールドに格納された、基準値としての１組目のセンサデータを受け取る。故に、データ復元部２０２は、これら基準値をそのまま使用することができる。
【０１１０】
データ復元部２０２は、パケットのデータ構造に関わらず、決定した基準値に差センサデータを加算して当該差センサデータに対応するセンサデータを復元する。データ復元部２０２は、復元したセンサデータを、受信部２０１から受け取った日時データと一緒に、データ管理部２０４へ送る。
【０１１１】
基準値記憶部２０３は、データ復元部２０２によって基準値を読み書きされる。基準値記憶部２０３には、図９のデータ構造において用いられるプリセット基準値が保存されていてもよい。なお、図１０および図１４のデータ構造のように１回限りで基準値が適用される場合には、基準値を保存しておく必要がないので、基準値記憶部２０３は省略可能である。
【０１１２】
データ管理部２０４は、データ復元部２０２から日時データとセンサデータとを受け取り、これらを関連付けてデータ記憶部２０５に書き込む。また、データ管理部２０４は、例えば図示されない上位アプリケーション、例えば生体データの管理アプリケーションからの命令に従って、データ記憶部２０５に格納されている日時データおよびセンサデータのセットを読み出し、送信部２０６または図示されない表示部へ送る。
【０１１３】
データ記憶部２０５は、データ管理部２０４によって日時データおよびセンサデータのセットを読み書きされる。
【０１１４】
送信部２０６は、データ管理部２０４から日時データおよびセンサデータのセットを受け取り、これらをネットワーク経由でサーバ３００へ送信する（図１６参照）。送信部２０６は、例えば移動通信またはＷＬＡＮを利用する。なお、図１６の例では、データ送信装置１００として腕時計型のウェアラブル血圧計の外観が示されているが、データ送信装置１００の外観はこれに限られず据え置き型の血圧計であってもよいし、他の生体情報または活動情報に関する量を測定するセンサ装置であり得る。
【０１１５】
サーバ３００は、多数のユーザのセンサデータ（主に生体データ）を管理するデータベースに相当する。サーバ３００は、ユーザ自身のほか、例えば、ユーザの健康指導、保険加入査定、健康増進プログラムの成績評価などに供するために、健康指導者、保険会社またはプログラム運営者のＰＣなどからのアクセスに応じて当該ユーザの生体データを送信してもよい。
【０１１６】
＜その他＞
データ送信装置１００およびデータ受信装置２００の各機能に関しては後述する動作例で詳細に説明する。なお、本実施形態では、データ送信装置１００およびデータ受信装置２００の各機能がいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上の機能の一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、データ送信装置１００およびデータ受信装置２００それぞれの機能構成に関して、実施形態に応じて、適宜、機能の省略、置換及び追加が行われてもよい。
【０１１７】
§３  動作例  
＜データ送信装置＞  
次に、図１７を用いて、データ送信装置１００の動作例を説明する。図１７は、データ送信装置１００の動作の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１１８】
図１７の動作例は、送信制御部１０４が、データ管理部１０２から、データ受信装置２００へ送信するための日時データおよびセンサデータのセットを受け取ることで開始する。
【０１１９】
まず、送信制御部１０４は、送信対象となるセンサデータに関連付けられる基準値を決定する（ステップＳ４０１）。具体的には、送信制御部１０４は、過去に用いた基準値を再利用する場合には基準値記憶部１０５から基準値を読み出せばよい。他方、送信制御部１０４は、基準値を更新する場合には、後述されるように新たな基準値を決定し、決定した基準値を基準値記憶部１０５に保存する。
【０１２０】
送信制御部１０４は、ステップＳ４０１において決定した基準値とセンサデータとの差である差センサデータを算出する（ステップＳ４０２）。そして、送信制御部１０４は、ステップＳ４０２において算出した差センサデータと日時データとを格納した、片方向通信用のパケットを生成する（ステップＳ４０３）。パケットの生成には、図８、図９、図１０または図１４に例示するデータ構造が利用可能であるが、他のデータ構造を利用してもよい。
【０１２１】
送信部１０６は、ステップＳ４０３において生成されたパケットを送信し（ステップＳ４０４）、処理は終了する。
【０１２２】
＜データ受信装置＞  
次に、図１８を用いて、データ受信装置２００の動作例を説明する。図１８は、データ受信装置２００の動作の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１２３】
図１８は、データ送信装置１００によって送信されるパケットに格納された差センサデータから元のセンサデータを復元するまでの動作例を示している。データ受信装置２００は、図１８の動作例をパケット毎に繰り返し実行する。
【０１２４】
まず、受信部２０１が、パケットを受信し、当該パケットに格納された差センサデータを抽出する（ステップＳ５０１）。データ復元部２０２は、ステップＳ５０１において抽出された差センサデータから、元のセンサデータを復元するために用いる基準値を決定する（ステップＳ５０２）。なお、前述のように、データ復元部２０２が、どのようにして基準値を決定するかは、パケットのデータ構造に依存する。
【０１２５】
データ復元部２０２は、ステップＳ５０２において決定した基準値に、ステップＳ５０１において抽出された差センサデータを加算し、当該差センサデータに対応するセンサデータを復元する（ステップＳ５０３）。このステップＳ５０３を以て、処理は終了する。
【０１２６】
［作用・効果］  
以上説明したように、本実施形態では、データ送信装置は、センサデータに関連付けられる基準値を決定し、この基準値とセンサデータとの差である差センサデータを算出する。そして、データ送信装置は、センサデータに代えて差センサデータを、片方向通信用のパケットに格納してデータ受信装置へ送信する。そして、データ受信装置は、このパケットに格納された差センサデータに関連付けられる基準値を決定し、この差センサデータと合算して元のセンサデータを復元する。通常、同一人物の血圧などの生体情報が短期間で大幅に変動することは稀であるから、差センサデータの送信のために割り当てるビット数は、生のセンサデータの送信のために割り当てるビット数に比べて抑えることができる。故に、このデータ送信装置およびデータ受信装置によれば、片方向通信によって送信されるパケットを小容量化することができる。
【０１２７】
これに加えて、図８または図９に例示したように、差センサデータを算出するために用いられた基準値を明示する情報を当該差センサデータと同じパケットに格納しないようにすることにより、センサデータを実質的に暗号化してセキュアに送信することもできる。
【０１２８】
§４  変形例  
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１２９】
＜４．１＞
例えば、上記実施形態では、データ送信装置は、センサデータの代わりに差センサデータを含むパケットを送信することで、伝送効率を高めている。しかしながら、同一人物の血圧などの生体情報が短期間で大幅に変動することは稀であるものの、センサデータよりも差センサデータのデータサイズが大きくなることもあり得ないことではない。そこで、例えば、送信制御部が差センサデータのデータサイズが生のセンサデータよりも大きい場合には、差分センサデータを含む第１のパケットの代わりに、センサデータを含む片方向通信用の第２のパケットを生成し、送信部がこれを送信してもよい。なお、データ受信装置が第１のパケットおよび第２のパケットのどちらを受信したかを判定できるようにするために、送信制御部は、第１のパケットおよび第２のパケットにそれぞれのパケット種別を表す情報を含めてもよい。かかる変形例によれば、センサデータの代わりに差センサデータを含むパケットを送信することによる、小容量化の効果が確実に得ることができる。
【０１３０】
ただし、ここまで説明した実施形態は全て、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、各実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【０１３１】
§５  付記  
上記各実施形態の一部または全部は、特許請求の範囲のほか以下の付記に示すように記載することも可能であるが、これに限られない。  
（付記１）  
メモリと、
前記メモリに接続されたプロセッサと
を具備し、
前記プロセッサは、
（ａ）第１の差センサデータを含む片方向通信用の第１のパケットを生成する送信制御部と、
（ｂ）前記生成された第１のパケットを送信する送信部
として機能するように構成され、
前記第１の差センサデータは、センサによって測定された第１のセンサデータと当該第１のセンサデータに関連付けられる基準値との差である、
データ送信装置。
【０１３２】
（付記２）  
メモリと、
前記メモリに接続されたプロセッサと
を具備し、
前記プロセッサは、
（ａ）第１の差センサデータを含む片方向通信用の第１のパケットを受信する受信部と、
（ｂ）前記受信された第１のパケットに含まれる前記第１の差センサデータを、当該第１の差センサデータに関連付けられる基準値に加算して当該第１の差センサデータの元となる第１のセンサデータを復元する復元部
として機能するように構成され、
前記第１の差センサデータは、前記第１のセンサデータと前記基準値との差である、
データ受信装置。
【符号の説明】
【０１３３】
１００・・・データ送信装置
１０１・・・生体センサ
１０２，２０４・・・データ管理部
１０３，２０５・・・データ記憶部
１０４・・・送信制御部
１０５，２０３・・・基準値記憶部
１０６，２０６・・・送信部
１０７・・・動きセンサ
１０８・・・時計部
１０９・・・入力部
１１１，２１１・・・制御部
１１２，２１２・・・記憶部
１１３，２１３・・・通信インタフェース
１１４，２１４・・・入力装置
１１５，２１５・・・出力装置
１１６，２１６・・・外部インタフェース
１１７・・・バッテリ
１２０・・・表示部
２００・・・データ受信装置
２０１・・・受信部
２０２・・・データ復元部
３００・・・サーバ
【図１】
2019033452.tif 000003
【図２】
2019033452.tif 000004
【図３】
2019033452.tif 000005
【図４】
2019033452.tif 000006
【図５】
2019033452.tif 000007
【図６】
2019033452.tif 000008
【図７】
2019033452.tif 000009
【図８】
2019033452.tif 000010
【図９】
2019033452.tif 000011
【図１０】
2019033452.tif 000012
【図１１】
2019033452.tif 000013
【図１２】
2019033452.tif 000014
【図１３】
2019033452.tif 000015
【図１４】
2019033452.tif 000016
【図１５】
2019033452.tif 000017
【図１６】
2019033452.tif 000018
【図１７】
2019033452.tif 000019
【図１８】
2019033452.tif 000020