(57)【要約】【課題】資源の限られたセンサノードに、より多く格納してセンシングデータの欠落を抑制する。【解決手段】生体情報を測定するセンサ１２と、前記センサ１２を駆動してデータを取得するＣＰＵ２８と、ＣＰＵ２８が取得した前記データを送信する無線通信部１１と、ＣＰＵ２８と無線通信部１１及びセンサ１２に電力を供給する電池１７と、を備えたセンサノードにおいて、前記データを格納するＲＡＭ２５と、前記無線通信部１１で送信ができないときに、ＲＡＭ２５のデータを圧縮する圧縮部と、前記圧縮されたデータを格納するフラッシュメモリ３０とを備える。【選択図】図３
2008310630.tif 000002
【特許請求の範囲】
【請求項１】
生体情報を測定するセンサと、
前記センサを駆動してデータを取得する制御部と、
前記制御部が取得した前記データを送信する無線通信部と、
前記制御部と無線通信部及びセンサに電力を供給する電池と、
前記データを格納する揮発性記憶部と、
前記無線通信部で送信ができないときに、前記揮発性記憶部のデータを圧縮する圧縮部と、
前記圧縮されたデータを格納する不揮発性記憶部と
を備えて成ることを特徴とするセンサノード。
【請求項２】
請求項１において、
前記制御部は、前記不揮発性記憶部へアクセスする際に、前記不揮発性記憶部へ前記電力の供給を開始し、アクセスが終了した後に前記不揮発性記憶部への電力の供給を遮断するスイッチを備えていることを特徴とするセンサノード。
【請求項３】
請求項１において、
前記不揮発性記憶部は、所定の書き込み単位であるページを複数有し、
前記制御部は、前記不揮発性記憶部へデータを書き込む際には、前記ページのうち先頭のページから終端のページへ向けて循環して順次ページを切り替える
ことを特徴とするセンサノード。
【請求項４】
請求項１において、
前記圧縮部は、前記データを予め設定した可変長の符号に変換する符号部を有することを特徴とするセンサノード。
【請求項５】
請求項１において、
前記圧縮部は、
前記データの差分値を演算する差分化部と、
前記差分値を予め設定した可変長の符号に変換する符号部と
を有することを特徴とするセンサノード。
【請求項６】
請求項１において、
前記制御部は、前記無線通信部を停止状態または稼働状態に切り替える無線通信停止部を有することを特徴とするセンサノード。
【請求項７】
請求項１において、
前記センサは、前記生体情報として加速度または脈波を測定することを特徴とするセンサノード。
【請求項８】
請求項１において、
前記揮発性記憶部は、前記データを格納するバッファを有し、
前記制御部は、前記取得したデータまたは前記不揮発性記憶部から読み込んだデータを前記バッファに格納し、当該バッファのデータを前記無線通信部へ転送し、データの送信を行う
ことを特徴とするセンサノード。
【請求項９】
生体情報を測定するセンサを備え、当該センサが測定したデータを送信するセンサノードと、
前記データを受信してサーバ計算機へ転送する中継装置と
を備えて成るセンサネットワークシステムであって、
前記センサノードは、
前記センサを駆動してデータを取得する制御部と、
前記制御部が取得した前記データを送信する無線通信部と、
前記制御部と無線通信部及びセンサに電力を供給する電池と、
前記データを格納する揮発性記憶部と、
前記無線通信部で送信ができないときに、前記揮発性記憶部のデータを圧縮する圧縮部と、
前記圧縮されたデータを格納する不揮発性記憶部と
を備え、
前記中継装置は、
前記センサノードと通信を行う無線通信部と、
前記センサノードから受信したデータを復号する復号部と、
前記復号したデータを前記サーバ計算機へ送信するネットワーク通信部と
を備えている
ことを特徴とするセンサネットワークシステム。
【請求項１０】
請求項９において、
前記制御部は、前記不揮発性記憶部へアクセスする際に、前記不揮発性記憶部へ前記電力の供給を開始し、アクセスが終了した後に前記不揮発性記憶部への電力の供給を遮断するスイッチを備えていることを特徴とするセンサネットワークシステム。
【請求項１１】
請求項９において、
前記不揮発性記憶部は、所定の書き込み単位であるページを複数有し、
前記制御部は、前記不揮発性記憶部へデータを書き込む際には、前記ページのうち先頭のページから終端のページへ向けて循環して順次ページを切り替えることを特徴とするセンサネットワークシステム。
【請求項１２】
請求項９において、
前記圧縮部は、前記データを予め設定した可変長の符号に変換する符号部を有することを特徴とするセンサネットワークシステム。
【請求項１３】
請求項９において、
前記圧縮部は、
前記データの差分値を演算する差分化部と、
前記差分値を予め設定した可変長の符号に変換する符号部と
を有することを特徴とするセンサネットワークシステム。
【請求項１４】
請求項９において、
前記制御部は、前記無線通信部を停止状態または稼働状態に切り替える無線通信停止部を有することを特徴とするセンサネットワークシステム。
【請求項１５】
請求項９において、
前記センサは、前記生体情報として加速度または脈波を測定することを特徴とするセンサネットワークシステム。
【請求項１６】
請求項９において、
前記揮発性記憶部は、前記データを格納するバッファを有し、
前記制御部は、前記取得したデータまたは前記不揮発性記憶部から読み込んだデータを前記バッファに格納し、当該バッファのデータを前記無線通信部へ転送し、データの送信を行う
ことを特徴とするセンサネットワークシステム。
【請求項１７】
生体情報を測定するセンサを備え、当該センサが測定したデータを送信するセンサノードと、
前記データを受信してサーバ計算機へ転送する中継装置と
を備えたセンサネットワークシステムであって、
前記センサノードは、
前記センサを駆動してデータを取得する制御部と、
前記制御部が取得した前記データを送信する無線通信部と、
前記制御部と無線通信部及びセンサに電力を供給する電池と、
前記データを格納する揮発性記憶部と、
前記無線通信部で送信ができないときに、前記揮発性記憶部のデータを圧縮する圧縮部と、
前記圧縮されたデータを格納する不揮発性記憶部と
を備え、
前記中継装置は、
前記センサノードと通信を行う無線通信部と、
前記センサノードから受信したデータを前記サーバ計算機へ送信するネットワーク通信部と
を備え、
前記サーバ計算機は、
前記中継装置と通信を行う通信部と、
前記中継装置から受信したデータを復号する復号部と、
前記復号したデータを格納するデータ格納部と
を備えている
ことを特徴とするセンサネットワークシステム。
【請求項１８】
請求項１７において、
前記制御部は、前記不揮発性記憶部へアクセスする際に、前記不揮発性記憶部へ前記電力の供給を開始し、アクセスが終了した後に前記不揮発性記憶部への電力の供給を遮断するスイッチを備えていることを特徴とするセンサネットワークシステム。
【請求項１９】
請求項１７において、
前記不揮発性記憶部は、所定の書き込み単位であるページを複数有し、
前記制御部は、前記不揮発性記憶部へデータを書き込む際には、前記ページのうち先頭のページから終端のページへ向けて循環して順次ページを切り替えることを特徴とするセンサネットワークシステム。
【請求項２０】
請求項１７において、
前記圧縮部は、前記データを予め設定した可変長の符号に変換する符号部を有することを特徴とするセンサネットワークシステム。
【請求項２１】
請求項１７において、
前記圧縮部は、
前記データの差分値を演算する差分化部と、
前記差分値を予め設定した可変長の符号に変換する符号部と
を有することを特徴とするセンサネットワークシステム。
【請求項２２】
請求項１７において、
前記制御部は、前記無線通信部を停止状態または稼働状態に切り替える無線通信停止部を有することを特徴とするセンサネットワークシステム。
【請求項２３】
請求項１７において、
前記センサは、前記生体情報として加速度または脈波を測定することを特徴とするセンサネットワークシステム。
【請求項２４】
請求項１７において、
前記揮発性記憶部は、前記データを格納するバッファを有し、
前記制御部は、前記取得したデータまたは前記不揮発性記憶部から読み込んだデータを前記バッファに格納し、当該バッファのデータを前記無線通信部へ転送し、データの送信を行う
ことを特徴とするセンサネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、小型の無線機能付き生体情報端末などに用いられる、大容量波形データの記憶と、波形データのデータ圧縮技術に関する。
【背景技術】
【０００２】
近年、病院や介護施設、家庭における医療及び健康管理等を目的として、生体情報センサ（ＥＣＧ、脈拍、血圧、加速度）からの情報を、無線通信によって取得する端末が開発されている。
【０００３】
例えば、特許文献１には、身体各部に装着したセンサで身体各部位の位置、姿勢の変化を測定し、測定したデータを身体に装着した無線通信装置により送信する行動管理システムが開示されている。
【０００４】
また、特許文献２には、身体に装着した医療用無線端末が生理学的センサで生体情報を測定し、測定したデータを無線で送信し、これを受信するゲートウェイ装置がデータを中継し、インターネットを介して診療機関に伝送することにより、患者を監視するシステムが開示されている。
【０００５】
さらに、特許文献３には、患者の身体に装着する医療端末機が使用者の健康状態を測定して診医療情報を生成し、これらの生成したデータを無線通信によりサーバなどに送信し、患者の監視を行うシステムが開示されている。また、特許文献３では、無線端末を通信可能範囲外で使用する場合に、センシングデータをパーソナルコンピュータ（ＰＣ）と互換性のあるフラッシュメモリに記憶し、ＰＣへ回収している。
【０００６】
長時間身体に装着する端末では小型、かつ、低消費電力のものが求められており、間欠的に起動してセンサを動かして結果を無線通信するという間欠動作により、消費電力を低減するセンサノードが知られている（例えば、非特許文献１）。このセンサノードでは、データを複数段にわたって中継することで、低消費電力でありながら広範囲な無線ネットワークを構築する。
【特許文献１】特開２００５−３５２８８１号公報
【特許文献２】特表２００６−５２０６５７号公報
【特許文献３】特表２００５−５１４１３８号公報
【非特許文献１】「無線センサネットワークＭＯＴＥ−２００７」カタログ、クロスボー株式会社、「平成１９年５月１日検索」、インターネット＜ＵＲＬ：http://www.xbow.jp/mote2dot.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、センサノードによって人体（あるいは生体）の状態を測定し、健康状態や運動状態をモニタするセンサネットワークシステムを構築する場合、連続的またはほぼ連続的に状態を測定し、測定したデータ（センシングデータ）を送信する必要がある。そして、センサノードの無線通信環境が悪化した場合や、無線通信が制限される環境等で送信が行えない状態では、測定したセンシングデータをセンサノード内に格納しておく必要がある。
【０００８】
しかしながら、第１の課題として、上記従来の小型のセンサノードでは、使用可能な電力に限りがあるため、電波環境や使用者の状態により、通信の可否が著しく変化する問題がある。従って、連続したセンシングデータを得るために、モニタや診断用装置等へ確実に送信する技術が必要となる。
【０００９】
特に小型のセンサノードにおいては、使用できるアンテナも限られている。小型化に最適なチップアンテナをセンサノードの基板表面に実装する場合を考えると、電波の指向性は強く偏る。このような条件で人が日常的に使用した場合、人の姿勢や周辺環境のため、直線的には無線通信可能な距離であっても無線送信は頻繁に失敗する。また、長時間にわたり無線通信可能範囲から離れることも考えられる。このような環境において、無線で連続的にセンサノードが測定したデータを確実に収集するためには、上記非特許文献１のように無線のデータを中継機により複数段にわたって中継して届けるマルチホップ技術などが有効であるが、中継機の設置などのコストを考慮すると、個人など小規模の応用には、適用が困難である。
【００１０】
また、無線の電波出力が許されない環境もある。例えば、空港や飛行機内、病院などでは、一般的に電波を発する機器の使用が制限される。このような場合に、意図的にセンサノードの電源を切ると、同時にこの期間のセンシングデータを収集することができなくなっていた。
【００１１】
したがって、無線通信が行えない環境では、センサノードが無線送信できない期間のデータをすべて送信するためには、メモリへ一時的に記憶する機能が必要である。
【００１２】
しかしながら、一時的なデータ記憶とはいえ、これを長時間行うためには、センサノードに、大容量でありながら、頻繁な書き換えに適したメモリが不可欠である。そのため、センサノードに搭載するメモリの消費電力が重要である。例えば、フラッシュメモリなどは大容量で安価な不揮発性メモリであるが、センサノードへの応用では、書き換え時の消費電力が大きく、スタンバイ時のリーク電流もマイコンなどのスタンバイ時と比較して大きいため、センサノードの電池寿命を大幅に低下させる要因となる。そのため、消費電力を削減する書き換え、電源遮断方式が必要である。上記特許文献１〜３には、フラッシュメモリなどの不揮発性メモリを採用することが記載されてはいるが、フラッシュメモリの消費電力をどのように削減するか、という思想について示唆はなく、センサノードの電池寿命を低下させることになる。
【００１３】
また、センサノードに搭載するフラッシュメモリの寿命も問題である。フラッシュメモリでは、書き換え可能な回数には限度があり、頻繁な書き換えで長期間使用することはできない。また、小型のセンサノードに搭載できるメモリは、大容量とはいえサイズやコストの面で制約がある。そのため、ＰＣで一般的に使用されているフラッシュメモリの搭載はそのままでは困難である。そこで、一時的な記憶であっても、センシングデータの圧縮により効率化することが考えられる。
【００１４】
そこで、第２の課題としてはセンサノードのコントローラ（マイコン）の限られた演算処理能力が問題である。センサノードに搭載されるマイコンはＰＣに搭載されるＣＰＵと比べて処理能力が格段に劣るため、公知の一般的なデータ圧縮方式を適用すると、処理時間が長くなり、消費電力が大幅に増大する。例えば、特許文献２のようにセンサノードにおいて公知の手法によるデータ圧縮が提案されてはいるが、センサノードの電池寿命が大幅に低下するという問題が生じる。また、１回に圧縮するデータ量が１００バイト程度の無線パケット単位であるため、ＰＣで扱うデータファイルなどと比べて小さく、適用できる圧縮方式も限られる。そのため、簡単な処理でありながら、高効率な圧縮方式が不可欠である。
【００１５】
特に、上記特許文献１及び特許文献３では、センシングデータをそのままフラッシュメモリに格納する構成であるため、無線通信が行えない期間のために大容量のフラッシュメモリが必要となる。このため、上述のようにセンサノードの電池寿命を低下させるのに加え、連続的に測定を行う場合では大量のセンシングデータをフラッシュメモリに書き込むため、書き換え回数が増大してフラッシュメモリの寿命を早めるという問題がある。
【００１６】
そこで本発明は、上記問題点に鑑みてなされたもので、無線通信ができない期間のセンシングデータを、資源の限られたセンサノードに、より多く格納してセンシングデータの欠落を抑制することを目的とし、また、センシングデータを格納する不揮発性メモリの消費電力を抑制することを目的とする。さらに、センシングデータを格納する不揮発性メモリの使用期間を延長することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、生体情報を測定するセンサと、前記センサを駆動してデータを取得する制御部と、前記制御部が取得した前記データを送信する無線通信部と、前記制御部と無線通信部及びセンサに電力を供給する電池と、を備えたセンサノードにおいて、
前記データを格納する揮発性記憶部と、前記無線通信部で送信ができないときに、前記揮発性記憶部のデータを圧縮する圧縮部と、前記圧縮されたデータを格納する不揮発性記憶部と、を備える。
【００１８】
また、前記制御部は、前記不揮発性記憶部へアクセスする際に、前記不揮発性記憶部へ前記電力の供給を開始し、アクセスが終了した後に前記不揮発性記憶部への電力の供給を遮断するスイッチを備える。
【００１９】
さらに、前記圧縮部は、前記データの差分値を演算する差分化部と、前記差分値を予め設定した可変長の符号に変換する符号部を有する。
【００２０】
また、前記不揮発性記憶部は、所定の書き込み単位であるページを複数有し、前記制御部は、前記不揮発性記憶部へデータを書き込む際には、前記ページのうち先頭のページから終端のページへ向けて循環して順次ページを切り替える。
【発明の効果】
【００２１】
したがって、本発明は、無線送信できなかったデータを圧縮してから不揮発性記憶部へ記憶させることで、長時間のセンシングデータでも欠けることなく確実に収集することが可能となる。
【００２２】
また、不揮発性記憶部はアクセスするときにのみ電力を供給するようにしたので、スタンバイ時のリーク電流等を防いで、電池の消耗を抑制することができる。
【００２３】
また、データの圧縮は、データの差分値を求め、この差分値を符号化する。生体の活動データである生体情報（例えば、加速度）は急激な時間変化が少ない上、１日のうちで動いていない情報、即ち差分値が０、が多いため、小さい差分値ほど出現頻度が高い。そして、この差分化したデータを符号化することで、より多くのデータをセンサノードに保持することができ、無線通信が行えない状態が続いても、センシングデータの欠損を抑制できる。
【００２４】
また、不揮発性記憶部へデータを書き込む際には、先頭のページから終端のページへ向けて循環して順次ページを切り替えることにより、不揮発性記憶部内でのページ毎の書換え頻度を均等にし、特定のページに書き換えが集中するのを防いで、不揮発性記憶部の使用期間を増大することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００２６】
図１は、第１の実施形態を示し、本発明を適用する腕時計型（または腕輪型）のセンサノード１を示す正面図で、図２は、図１のＡ−Ａ矢示断面図である。
【００２７】
図１において、センサノード１は、アンテナ１３やセンサ、制御装置を格納するケース３と、ケース３を人体の腕に装着するバンドを備える。ケース３には、情報を表示する液晶表示装置（ＬＣＤ）５と、予めプログラムされた特定の機能を実行するためのボタンスイッチ１８、１９が配置される。または、ＬＣＤ５をタッチパネルで構成し、ＬＣＤ５に表示された項目を選択して実行できる。アンテナ１３は、位置を明示するため、図１に記載したが、実際には図２で示すように、ケース３の内部に配置された基板１０上に配置される。図２において基板１０のアンテナ１３が取り付けられた面は、生体表面と反対側であり、ＬＣＤ５と同じ面である。
【００２８】
なお、以下の説明ではセンサノード１に搭載されて、生体情報を測定するセンサとしては、図中Ｘ−Ｙ−Ｚの３軸の加速度をそれぞれ測定する加速度センサを採用した例を示す。
【００２９】
図３は、センサノード１の基板１０に取り付けられた電子回路のブロック図を示す。図３において、基板１０には、後述のゲートウェイ４０と通信を行うアンテナ１３を備えた無線通信部（ＲＦ）１１と、生体情報として加速度を測定する加速度センサ１２と、加速度センサ１２及び無線通信部１１を制御するマイクロコンピュータ２０と、マイクロコンピュータ２０を周期的に起動するためのタイマや時計として機能するリアルタイムクロック（ＲＴＣ）１４と、各部に電力を供給する電池１７と、書き換え可能な不揮発性メモリであるフラッシュメモリ３０と、文字や波形を表示するＬＣＤ５と、加速度センサ１２へ供給する電力を制御するスイッチ１５と、フラッシュメモリ３０へ供給する電力を制御するスイッチ１６と、マイクロコンピュータ２０に割り込みをかけて特定の処理を実行するボタンスイッチ１８、１９が配置される。
【００３０】
マイクロコンピュータ２０は、演算処理を実行するＣＰＵ２８と、ＣＰＵ２８で実行するプログラムなどを格納する不揮発性メモリのＲＯＭ２４と、データなどを格納する揮発性メモリで構成されたＲＡＭ２５と、ＲＴＣ１４からの信号（タイマ割り込み）に基づいてＣＰＵ２８に割り込みをかける割り込み制御部（ＩＲＱ）２９と、センサ１２から出力されたアナログ信号をデジタル信号に変換するＡ／Ｄコンバータ２３と、無線通信部１１やフラッシュメモリ３０等との間でシリアル信号にて信号の送受を行うシリアルコミュニケーションインターフェース（ＳＣＩ）２７と、無線通信部１１とスイッチ１５、１６を制御するパラレルインターフェース（ＰＩＯ）２６と、マイクロコンピュータ２０内の上記各部へクロックを供給する発振部（ＯＳＣ）２２とを含んで構成される。そして、マイクロコンピュータ２０内の上記各部はシステムバス２１を介して接続される。
【００３１】
ＲＯＭ２４には、センサデータの容量を圧縮する圧縮プログラム６１を格納しており、ＣＰＵ２８に読み出して実行する。
【００３２】
フラッシュメモリ３０は、図９で示すように、不揮発記憶部であるメモリセル３２と、メモリセル３２に書き込むデータ（または読み出す）を一時的に格納する揮発記憶部であるリードライトバッファ３１で構成される。フラッシュメモリ３０への電力の供給はスイッチ１６により遮断可能である。
【００３３】
図４は、本発明の腕輪型センサノード１を使用して、センサネットワークシステムを構築した例を示すシステム構成図である。
【００３４】
図４において、基地局または中継装置として機能するゲートウェイ４０はアンテナ４４、及び無線通信部４５を介して複数のセンサノード１と通信を行う。センサノード１は通信の開始時に時刻同期要求を送信する。これは各センサノード１の内部のＲＴＣ１４の時刻を正しい時刻に設定し、センシングデータにタイムスタンプを付けるためである。センサノード１から時刻同期要求を受信したゲートウェイ４０では、この要求が無線通信部４５を介してＣＰＵ４６に送られ、ＣＰＵ４６ではＲＴＣ４９から正しい時刻情報を取得し、無線通信部４５を介してセンサノード１へ送信する。センサノード１ではゲートウェイ４０から受信した時刻情報をＲＴＣ１４に正しい現在時刻として設定する。
【００３５】
ゲートウェイ４０は、各センサノード１から装着者の動きに応じたセンシングデータを含む無線パケットデータを受信し、ＣＰＵ４６は受信した無線パケットデータのセンシングデータが圧縮されていればＲＯＭ４７から解凍プログラム６２を呼び出してセンシングデータを復号し、圧縮されていなければそのままネットワークアクセス部４８へ受信した無線パケットデータを送り、ネットワーク４１を介してサーバ４３へ転送する。
【００３６】
サーバ４３は受信したセンシングデータまたは無線パケットデータから抽出したセンシングデータを格納し、クライアントが利用する計算機（ＰＣ）４２からの要求に応じてセンシングデータを提供する。このため、サーバ４３は、ゲートウェイ４０と通信を行う通信部と、演算処理を行うプロセッサ（ＣＰＵ）と、プログラムなどを記憶するメモリと、センシングデータを格納するストレージ装置とを備える。
【００３７】
また、逆にサーバ４３、ＰＣ４２からセンサノード１へ任意のコマンドを送信し、実行することもできる。例えば、コマンドにより、センサノード１のセンシング周期や無線周波数の変更などが可能である。この場合、ネットワークから、ゲートウェイ４０のネットワークアクセス部４８を介して無線通信部４５にコマンドを送信する。無線通信部４５はセンサノードからのデータ送信要求を受信したときに、センサノード１にコマンドを送信する。センサノード１はコマンドの内容を実行する。
【００３８】
図５は、図２に示したようにアンテナ１３をケース３内に配置し、腕に装着した場合における電波出力の指向性を示す。図５の指向性は、生体表面と垂直の外向き（図中Ｚ軸の上方）に集中しており、生体表面方向（図中Ｙ軸下方）では大幅に減衰する。つまり、人の生活において、体や腕は動作によって頻繁に向きが変わるため、送信先であるゲートウェイ４０のある方向に送信した電波が強く出力されるとは限らない。そのため、日常生活でこれを使用すると、送信先で受信する電波強度は小さく、もしくは受信に失敗する可能性が高くなることがわかる。
【００３９】
図６は図１に示されるようにセンサノード１を腕に装着し、実際に一般家庭内で使用した場合のパケットエラーレート（無線送信失敗回数／無線送信回数）を示す。ゲートウェイ４０は家庭内（広さ約５０ｍ２）の中心部に設置され、使用者はゲートウェイ４０と同じ階で生活する。この場合、使用者はゲートウェイ４０を中心として、直線的には通信可能距離内（５０ｍ以内）で生活しているが、パケットエラーは頻繁に発生している。これは図５に示した電波指向性と人の動きが原因であるほかに、無線ＬＡＮや電子レンジなど同じ周波数を使う無線機器による電波干渉の影響も強いと考えられる。つまり、小型電池のみで、無線の電力も小さいセンサノードを実環境で使用した場合、通信距離に関わらず無線通信が失敗することが頻繁にあることを示している。
【００４０】
そこで、本発明ではセンサノード１に頻繁に書き換え可能で大容量な記憶手段としてフラッシュメモリ３０を備え、電波状態が悪いときや無線通信部１１がＯＦＦのときには無線パケットデータをフラッシュメモリ３０へ一時的に記憶し、電波状態が良いときや無線通信部１１がＯＮとなったときにはフラッシュメモリ３０へ記憶したセンシングデータをまとめて送信するという機能を備える。
【００４１】
また、無線機器の使用が制限される場合には、図８に示すように、ボタンスイッチ１８、１９でセンサノード１を操作し、無線通信部１１のみをＯＦＦ（またはＯＮ）にすることができる。無線通信部１１がＯＦＦの間も加速度センサ１２によるセンシングは継続されるが、無線パケットデータは送信できないため、内部のメモリ（ＲＡＭ２５またはフラッシュメモリ３０）に無線パケットデータを記憶する。この無線通信部１１をＯＦＦにすると、ＬＣＤ５では図８で示すように、無線通信部１１がＯＦＦであることを示す表示が行われる。メモリに記憶されたデータは、無線機器の使用制限がなくなり、無線通信部１１をＯＮにした後にまとめて送信する。なお、センサノード１は、ボタンスイッチ１８、１９で所定の操作を行うことにより無線通信部１１をＯＮにすることができる。の無線通信部１１をＯＮにすると、ＬＣＤ５では図７で示すように、無線通信部１１がＯＦＦであることを示す表示が行われる。
【００４２】
図９は、上述したように電波状態が悪いときや、ユーザにより無線通信部１１をＯＦＦにした期間は無線パケットデータをフラッシュメモリ３０へ一時的に記憶する機能を実現する機能を実現するための、ＲＡＭ２５及びフラッシュメモリ２０への無線パケットデータの記憶、及び呼び出し制御を説明するためのブロック図である。
【００４３】
センサノード１のマイクロコンピュータ２０内のＲＡＭ２５には、Ａ／Ｄコンバータ２３が出力したセンシングデータを一時的に格納するセンサデータバッファ５３と、送信する無線パケットデータや他のデータを格納するＲＦバッファ５２と、フラッシュメモリ３０へ書き込むセンシングデータを一時的に格納するパケットバッファ５４と、フラッシュメモリ３０の読み込み位置を示すリードポインタ５０と、フラッシュメモリ３０の書き込み位置を示すライトポインタ５１が設定される。
【００４４】
加速度センサ１２で測定されたセンシングデータは、センサデータバッファ５３へ一旦格納された後、センシングデータの送信タイミングでＣＰＵ２８がセンサデータバッファ５３から読み出したセンシングデータから所定のフォーマットの無線パケットデータを生成してＲＦバッファ５２へ格納する。そして、無線通信が可能な状態であればＣＰＵ２８はＲＦバッファ５２から無線パケットデータを読み出して無線通信部１１からゲートウェイ４０に送信する。
【００４５】
一方、無線通信が行えない環境では、ＣＰＵ２８はＲＦバッファ５２から読み出した無線パケットデータのセンシングデータに対して後述する差分化と符号化を施すことで圧縮してからＲＡＭ２５のパケットバッファ５４に蓄積する。例えば、フラッシュメモリ３０の最小書き換え単位（以下、ページと呼ぶ）が１キロバイトの場合、フラッシュメモリ３０のリードライトバッファ３１、ＲＡＭ２５のパケットバッファ５４も１キロバイトと同容量か、それ以下とするのが望ましい。同容量の場合、１パケットのサイズが１００バイトの無線パケットデータは、パケットバッファ５４に１０個まで蓄積可能である。また、センシングデータが圧縮されたパケットであればさらにそれ以上の数の無線パケットデータをパケットバッファ５４に蓄積可能である。フラッシュメモリ３０は書き換え時の消費電力が大きいのに対し、ＲＡＭ２５は書き換えが高速で消費電力は小さいため、無線環境が頻繁に変化したときに無線パケットデータを読み書きするのに適している。
【００４６】
次に、パケットバッファ５４の空き容量が１パケットサイズ以下に少なくなるか、フラッシュメモリ３０に未送信データがあり、パケットバッファ５４の未送信データ（無線パケットデータ）が１パケットになった場合、フラッシュメモリ３０へのアクセスが必要であるため、ＣＰＵ２８はパラレルインターフェース２６を制御し、フラッシュメモリ３０の電源を遮断しているスイッチ１６を予めオンにする。このフラッシュメモリの起動には、数ｍｓ程度の待ち時間が必要である。
【００４７】
そして、無線パケットデータの蓄積量がパケットバッファ５４の限界に達すると、シリアルコミュニケーションインターフェース２７を介してシリアル通信でフラッシュメモリ３０のリードライトバッファ３１に転送し、メモリセル３２のページ３４に書き込む。書き込み後は再びＣＰＵ２８がパラレルインターフェース２６を制御してスイッチ１６をオフにし、フラッシュメモリのスタンバイ時のリーク電流を遮断する。
【００４８】
また、逆にパケットバッファ５４からすべての無線パケットデータが送信された場合、ＣＰＵ２８はシリアルコミュニケーションインターフェース２７を介して、未送信の無線パケットデータをフラッシュメモリ３０のメモリセル３２のページ３４からリードライトバッファ３１に読み出した後、シリアル通信で受信し、パケットバッファ５４に書き込む。無線パケットデータの読み出し完了後も再びＣＰＵ２８がパラレルインターフェース２６を制御してスイッチ１６をオフにする。すなわち、読み書きを行わない期間はフラッシュメモリ３０への電力供給を遮断しておくことにより、電池１７の消耗を抑制することができる。
【００４９】
このフラッシュメモリ３０のページ３４のページアドレス３３のうち、読み出すアドレスと書き込むアドレスは、それぞれリードポインタ５０、ライトポインタ５１としてＲＡＭ２５に記憶することで、フラッシュメモリのページ当りの書換え回数を効率的に削減する。
【００５０】
リードポインタ５０、ライトポインタ５１のそれぞれの初期値はメモリセル３２の先頭のアドレスであり、フラッシュメモリ３０に未送信の無線パケットデータがない場合はリードポインタ５０とライトポインタ５１の値は同じである。ＣＰＵ２８はページを書き込む毎にライトポインタ５１を１ずつ増やしていき、読み出しはリードポインタ５０のアドレスから行う。ＣＰＵ２８は読み出し毎に、リードポインタ５０も１ずつ増やしていき、記憶する。この結果、書き換えアドレスはメモリセル３２の先頭から順送りに循環していき、メモリセル３２内のそれぞれのページを書換える頻度は、ほぼすべて均等になり、一部のページに集中しない。
【００５１】
図１０、図１１は、１キロバイトのデータ書き込み時のフラッシュメモリ３０の消費電流の典型的な例を示す。図１０は、フラッシュメモリ３０の電源遮断を行わない従来例を示し、図１１は、フラッシュメモリ３０の電源遮断を実行する本発明の例を示す。
【００５２】
図１０において、フラッシュメモリ３０の未使用時に電源遮断をしない場合、スタンバイ時に１５μＡのリーク電流を消費し続ける。ただし、スタンバイ時であれば、図示のように３０msecほどでシリアル通信やデータ書き込みをすぐに実行可能である。
【００５３】
一方、フラッシュメモリ３０の未使用時に電源遮断をする場合、図１１のように電源投入時に起動時間（１２msec程度）が必要で、その消費電流のピーク値は８０ｍＡで、それ以外で５ｍＡ流れる。ピーク値はスタンバイ状態の電流よりも大きいが、時間は１２ｍｓ程度だけである。これはスタンバイ時の５秒間に当たる消費電流と同程度である。そのため、１０パケット分のデータをバッファしてフラッシュメモリ３０を読み書きする場合、連続的な読み書きでも起動する間隔は短くても１０秒であり、電源遮断をした方が消費電流が少なく、低電力である。
【００５４】
図１２は図９に示した本発明による書換えアドレスの分散化の効果を示しており、日常生活でセンサノード１を使用した場合における、最も書き換え頻度が高いページの書き換え回数を比較している。本発明では、すべてのページの書換え頻度が特定のページに偏らずほぼ均等になるため、書き換えアドレスを循環させない場合に比べて、書き換え頻度は１／１００である。これにより、無線パケットデータ（センシングデータ）を格納する不揮発性メモリとしてのフラッシュメモリ３０の使用期間を延長することが可能となる。
【００５５】
次に、本発明のセンシングデータの圧縮方法について示す。本発明では、生体情報を測定する人の動きやデータの特徴に着目する。例えば、図１３〜図１５はセンサノード１を人の腕に身に付けて、人の典型的な行動例（安静時、デスクワーク時、走行時）において測定した３軸（Ｘ、Ｙ、Ｚ軸）加速度（±３Ｇ）のデータを示す。ただし、Ａ／Ｄ変換の分解能は８ビット、サンプリング周波数は２０Ｈｚで５０秒間のデータ取得例を示す。図１３（ａ）は安静時の３軸加速度を示し、図１４（ａ）はデスクワーク中の３軸加速度を示し、図１５（ａ）は走行中の３軸加速度を示す。
【００５６】
図１３（ｂ）、図１４（ｂ）、図１５（ｂ）は図１３（ａ）、図１４（ａ）、図１５（ａ）の実測値を、それぞれ１つ前の値を基準として差分化した値の出現頻度をまとめた結果を示す。図１３〜図１５の中で、図１３に示す安静中は変化がないので、１００％に近い割合で差分値＝０が多いことがわかる。これが、図１４のデスクワーク時や、最も激しい運動例である図１５の走行時になると、３軸加速度の値の変化は大きくなり、差分値の頻度は分散化すると考えられる。しかしながら、人の動きでは、このような激しい変化であっても、差分値が小さい値ほど頻度が高く、その値は０から一桁の値にほぼ集中している。また、人の１日の活動を通して考えると、安静時や睡眠時の時間が比較的長いため、１日全体では、差分値の出現頻度が非常に偏った結果がえられる。
【００５７】
図１３（ｂ）〜図１５（ｂ）で示したように差分値の出現頻度が０近傍に偏っていることから、簡単な符号化処理を適用することで、加速度データの容量を高効率で、可逆圧縮してメモリに記憶できる。
【００５８】
次に、本発明で適用する符号化方法について示す。
【００５９】
本発明の符号化方法では、より小さい数値に、より短い符号長を割り当てる可変長の符号化を適用する。図１６は、本発明に適用する可変長符号の符号表を示す。数値（加速度の値）が０に近い値であれば、８ビットの値を半分の４ビットまで圧縮することが可能である。しかしながら、数値が大きくなると、ビット長が増していき、もとのデータ長である８ビットよりも大きくなることもある。また、数値が０で３個以上１９個以下の連続である場合、それら０の連続をまとめて８ビットで表す。これは、図１３（ｂ）〜図１５（ｂ）で示したように、人の活動による加速度の差分値は０が最も高頻度であることを利用し、圧縮効率を上げるためである。０が１９個連続している場合は、１５２ビットを８ビットに圧縮することが可能である。
【００６０】
図１７にセンシングデータが８ビットの場合の可変長符号の構成を示す。符号は最上位ビット（ＭＳＢ）からａビットと、区切りビット、正負を示す符号ビット及び最下位ビット（ＬＳＢ）までのｂビットから構成される。可変長符号は、数値が６４未満と６４以上のときではビット構成が変化する。
【００６１】
まず、数値が６４未満のときには、ａビットは数値を４で割ったときの商の数の０を設定し、そして、余りの値をｂビットに設定する。なお、この場合、ｂビットは４で除したときの余りであるので２ビットとなる。区切りビットは常に１であり、符号ビットは、正であれば０、負であれば１をセットする。例えば、数値＝４は４で割った商が０、余りが０であるので、ａビット＝０でＭＳＢは区切りビットとなり、ｂビットは００となる。
【００６２】
数値が６４以上のときには、ａビットは１６ビットの０を設定し、そして、下位６ビットに数値から６４を差し引いた値をｂビットとして設定する。区切りビット、符号ビットは上記６４未満の場合と同様である。例えば、数値＝６５は、ａビットはＭＳＢから１６ビットの０が設定され、下位６ビットは数値６５から６４を差し引いた値である１をセットする。
【００６３】
さらに、図１６で示したように、符号＝「１１００」は「−０」の代わりに、数値＝０が４回以上連続する数を示す。このため、ａビット＝０で、ｂビットは図１６の下部で示すように、６ビットのうちＬＳＢ側の４ビットで４以上の０の連続数を示す。すなわち、図１６で示すように、「１１００００００」が数値＝０が４回続くことを示し、「１１００１１１１」が４＋１５の１９回の０の連続を示す。
【００６４】
図１８、図１９は、ＣＰＵ２８が実行する圧縮プログラム６１による数値の符号化の処理を示すフローチャートで、図１８が０の連続数を符号化する場合を示し、図１９が０以上の数値または０の連続数が４回未満の場合を示す。なお、圧縮プログラム６１は、ＲＡＭ２５のＲＦバッファ５２から無線パケットデータ内のセンシングデータを読み出して、センシングデータの値が０で、かつ０の連続数が４回以上の場合には図１８の処理を実行し、そうでない場合には図１９の処理を実行する。
【００６５】
図１８は符号化する対象であるセンシングデータの数値が、最初の値から４つ以上連続で０の羅列である場合、これをまとめて符号化する。ステップＳ１００から始まり、ステップＳ１０１ではＣＰＵ２８がセンサデータバッファ５３内の０の連続数をカウントし、その数をｃとする。
【００６６】
ステップＳ１０２では、ｃから４を差し引いた値を図１７のｂビットの下位４ビットに設定して符号化を完了する。
【００６７】
一方、符号化する対象である数値の列が、最初の値から４つ以上連続で０ではない場合、図１９の処理で１つの８ビット数を符号化する。
【００６８】
ステップＳ２００では、ＣＰＵ２８がセンサデータバッファ５３のセンシングデータの値を変数ｘに代入する。
【００６９】
ステップＳ２０１で変数ｘの絶対値が６４より小さければステップＳ２０２に進み、変数ｘの値が６４以上であればステップＳ２１１に進む。ステップＳ２０２で変数ｘの値を４で除した商をａに設定し、ステップＳ２０３では、４で除した余り（％４）をｂにセットする。
【００７０】
ステップＳ２０４では、変数ｘ≧０であればステップＳ２０５に進み、ｘ≧０でなければステップＳ２０６に進む。ステップＳ２０５では変数ｘが正であるので、符号ビット＝０とし、商を代入したａの値に応じたａビットを設定し、余りをｂビットに設定する。ステップＳ２０６では、変数ｘが負であるので符号ビット＝１とし、Ｓ２０５と同様にａビットとｂビットを設定して符号化を完了する。
【００７１】
変数ｘ≧６４となるステップＳ２１１では、変数ｘから６４を差し引いた値を図１７に示したｂビットの下位６ビットに設定する。
【００７２】
ステップＳ２１２で、ｘ≧０であればステップＳ２１３に進み、ｘ≧０でなければステップＳ２１４に進む。ステップＳ２１３では変数ｘが正であるので、符号ビット＝０とし、ａビットを１６ビットの０で設定し、Ｓ２１１で設定した６ビットをｂビットに設定する。ステップＳ２１４は変数ｘが負であるので符号ビット＝１とし、Ｓ２１３と同様にａビットとｂビットを設定して符号化を完了する。
【００７３】
上記図１８、図１９の符号化処理は、センサノード１に保持するデータに図１７で示した符号表などの情報（辞書）を含める必要がなく、ほとんどがビット演算処理で乗算もないため、軽い演算処理で、センサノード１のマイクロコンピュータ２０でも高速に処理することが可能である。
【００７４】
図２０は、図１３〜図１５に示した差分化と、図１６に示した符号化によって、生体情報から取得したデータを圧縮して、無線パケットデータを作成する過程を示す。生体情報（例えば、脈拍や加速度）はセンサにより数値化され、センサの出力である電圧は時間変化するアナログ値の波形データとなる。
【００７５】
センサノード１は、加速度センサ１２からのアナログ値（図中波形データ）をマイクロコンピュータ２０のＡ／Ｄコンバータ２３において一定周期（例えば、２０Ｈｚ）でデジタル値（例えば、８ビット）に変換する。これらのデジタル値は１回の無線送信で送る数（例えば、２０個）分をセンサデータバッファ５３に格納する。
【００７６】
マイクロコンピュータ２０は、この２０個のデジタル値について差分化処理を施す。差分化処理は、２０個のデジタル値（センシングデータ）の先頭のデータＸ１はそのままの値を用い、以降のデータＸ２〜Ｘ２０について直前のデータＸｎ−１の値を基準とする差分値に変換する。
【００７７】
これらの差分化された値を図１８、図１９のフローチャートにて説明したように符号化する。しかしながら、図１６のような可変長符号においては、前述したように元のデータよりもサイズが大きくなることが考えられる。圧縮効率の著しい低下を防ぐため、圧縮率が１００％を超える場合のみ、非圧縮データをそのまま使用する。
【００７８】
後述するように、フラッシュメモリ３０への書き込みは、送信できない無線パケットデータが発生する度に行うのではなく、ＣＰＵ２８はパケットバッファ５４に格納された無線パケットデータが所定値（例えば、２０個）となったときにフラッシュメモリ３０への書き込みを実行し、書き込んだ無線パケットデータはパケットバッファ５４から消去する。
【００７９】
このように、フラッシュメモリ３０への書き込みをまとめて行うようにすることで、フラッシュメモリ３０をＯＮ／ＯＦＦする頻度を低減し、また、フラッシュメモリ３０へ電力を供給する期間を低減する。これにより、電池１７の消耗を抑制することができ、電池の交換や充電のためのセンサノード１のメンテナンス周期を増大することができる。
【００８０】
図２１は無線規格としてＩＥＥＥ８０２．１５．４を使用した場合の、無線パケットデータのフォーマット１５０の例を示す。フォーマット１５０は、無線規格で規定されたヘッダ１５１、フッタ１５９を除く約１００バイトのデータ部（ペイロード）にデータを格納する。このデータ部には、データ部のデータ長１５２（1バイト）、パケット作成時のタイムスタンプ１５３（４バイト）、データの種類を判別するためのデータＩＤ１５４（１バイト）、その後に圧縮、または非圧縮の加速度センシングデータ１５５（Ｘ軸）、１５６（Ｙ軸）、１５７（Ｙ軸）とその他のデータ１５８を格納する。タイムスタンプ１５３により、パケットの送信順が変わった場合でも波形データの復元が可能である。データＩＤ１５４により、センシングデータの内容を示す他、センシングデータの圧縮、非圧縮の判別を可能とする。その他のデータ１５８として、センシングデータのサンプリング周波数、分解能、使用者からの緊急通報などが同一パケットに格納可能である。
【００８１】
図２２は、図２０の実測値である８ビットの値を、実際に図２０に示した手順で圧縮した無線パケットデータとした場合の圧縮率を示している。この結果、安静時では最大効率の１２．４％で圧縮可能である。また、もっとも激しい運動例である走行時であっても６０％で圧縮が可能である。これらを含む１日の典型的な例では３３％程度で圧縮可能である。
【００８２】
図２３は図１６に示した符号を復号化するフローチャートを示す。この処理は、ゲートウェイ４０の解凍プログラム６２をＣＰＵ４６で実行することにより行われる。
【００８３】
ゲートウェイ４０では受信したパケットデータからデータＩＤ１５４を読み込んで、センシングデータが圧縮されたものであるときに、ＣＰＵ４６は図２３の処理を実行する。
【００８４】
ステップＳ３００では、対象とするセンシングデータの値の上位ビット（ＭＳＢ）から読み進める。読んだビットの値が１であればステップＳ３０２に進み、０であればステップＳ３１１に進む。ステップＳ３１１では変数ｄ（初期値は０）の値に１を加えて、ステップＳ３００に戻る。
【００８５】
ステップＳ３０２では、変数ｄ＜１６であればステップＳ３０３に進み、ｄ＜１６でなければステップＳ３４１に進む。すなわち変数ｄの値が図１７に示した区切りビットのＭＳＢから位置（ビット数）を示すａビットの値となる。そして、区切りビットの位置が１６ビット未満、つまり、図１６で示した符号表で数値が６４未満であるか否かにより、可変長符号のフォーマットが変化するので、何れのフォーマットであるかを判定する。
【００８６】
ステップＳ３０３では、ステップＳ３０１で１であったビットの次のビットが０であればステップＳ３０４に進み、０でなければステップＳ３２１に進む。すなわち、区切りビットのＬＳＢ側の隣の符号ビットが正負の何れを示すのかを判定する。
【００８７】
符号ビット＝０の正の場合のステップＳ３０４では、次の２ビットを読み、その値を変数ｅとする。つまり、図１７に示したｂビットを読み込んで、ステップＳ３０６ではａビットを示す変数ｄに４を乗じ、変数ｅの値を加えたものを正のセンシングデータとして復号し、処理を終了する。
【００８８】
一方、センシングデータの数値が６４未満で符号ビット＝１の負の場合は、ステップＳ３２１で次の２ビット（ｂビット）を読み、その値を変数ｅとする。つまり、図１７に示したｂビットを読み込んでから、ステップＳ３２２ではａビットを示す変数ｄに４を乗じ、変数ｅの値を加えた値に−１を乗じたものを負のセンシングデータとして復号する。
【００８９】
次に、ステップＳ３２３では、復号化したセンシングデータの値が０であるか否かを判定する。０でなければステップＳ３３１に進み、ステップＳ３２３の値をセンシングデータの復号結果として出力し、処理を終了する。
【００９０】
ここで、センシングデータが負値の場合、図１６で示したように「−０」のときには、０の数が４回以上連続することを示すセンシングデータであるため、ステップＳ３２４以降でさらに復号化を行う。
【００９１】
ステップＳ３２４では、次の４ビットであるｂビットのＬＳＢ側の４ビットを読み、その値をｆとする。Ｓ３２５ではｆ＋４個の０を生成し、複数のセンシングデータ列（ｆ＋４個の連続する０（８ビット））を復号結果として出力し、処理を終了する。
【００９２】
次に、ステップＳ３０２の判定で復号するセンシングデータの値が６４以上と判定された場合のＳ３４１では、１と判定した区切りビットのＬＳＢ側の次のビットである符号ビットが０であるか否かを判定する。符号ビット＝０であれば正の値であるのでステップＳ３４２ヘ進み、符号ビット＝１であれば負の値であるのでステップＳ３５１ヘ進む。
【００９３】
ステップＳ３４２では、符号ビットのＬＳＢ側の次の６ビット（ｂビット）を読み、その値を変数ｅとする。ステップＳ３４３では変数ｅに６４を加えた値を復号化したセンシングデータとして出力し、処理を終了する。
【００９４】
負の場合のステップＳ３５１では、符号ビットのＬＳＢ側の次の６ビット（ｂビット）を読み、その値を変数ｅとする。ステップＳ３５２では変数ｅに６４を加えた値に−１を乗じた負値を復号化したセンシングデータとして出力し、処理を終了する。
【００９５】
以上の処理により、ゲートウェイ４０では符号化によって圧縮された無線パケットデータからセンシングデータを復号することができる。
【００９６】
なお、上記図２３の復号処理は、サーバ４３で実行しても良い。この場合、ゲートウェイ４０では復号処理を行わず、センサノード１から受信した無線パケットデータをそのままサーバ４３へ転送するだけとなる。
【００９７】
図２４はセンサノード１で行われる処理の一例を示すフローチャートである。この処理はＲＴＣ１４からの割り込みによりＣＰＵ２８を起動することで実行される。ＲＴＣ１４が割り込みを発生する周期（サンプリング周期）は、例えば、５０msecなどに設定され、センサノード１の起動時にＣＰＵ２８がＲＴＣ１４に設定したものである。
【００９８】
ステップＳ６００では、サンプリング周期でＲＴＣ１４から割り込み制御部２９に信号を送り、スタンバイ状態のマイクロコンピュータ２０を起動する。ステップＳ６０１では、スイッチ１５をＯＮにして加速度センサ１２へ電力の供給を開始してから、Ａ／Ｄコンバータ２３のＡ／Ｄ変換により加速度センサ１２からセンシングデータを取り込む。ステップＳ６０２では、デジタル値に変換したセンシングデータをセンサデータバッファ５３に格納する。ステップＳ６０３では、センサデータバッファ５３へ格納した各センシングデータの数が２０以上であればステップＳ６０４に進み、２０より少なければステップＳ６０７に進む。
【００９９】
ステップＳ６０４では無線通信部１１がＯＮであるかを判定し、無線通信部１１がＯＮの場合には、センシングデータ（無線パケットデータ）を無線で送信するため、ステップＳ６０５に進む。無線通信部１１がＯＦＦの場合には、センシングデータを圧縮し、無線パケットデータとしてＲＦバッファ５２へ記憶するため、ステップＳ６１１に進む。
【０１００】
ステップＳ６０５では無線パケットデータをＲＦバッファ５２に格納し、ステップＳ６０６で無線送信を実行する。ステップＳ６０７ではステップＳ６０６の無線送信が成功したらステップＳ６０８に進み、失敗した場合はＳ６１１に進む。なお、無線送信に成功した場合にはＲＦバッファ５２の無線パケットデータを消去する。
【０１０１】
ステップＳ６０８ではＲＡＭ２５のＲＦバッファ５２に記憶した無線パケットデータが無いかを判定し、未送信の無線パケットデータが無ければステップＳ６０９に進む。ＲＦバッファ５２に未送信の無線パケットデータがあればステップＳ６２１に進む。ステップＳ６２１ではメモリ（ＲＡＭ２５またはフラッシュメモリ３０）に記憶した無線パケットデータを呼び出し、ステップＳ６０５に進む。
【０１０２】
上記ステップＳ６０４の判定で無線通信部１１がＯＦＦまたはステップＳ６０７の判定で送信が失敗したときのステップＳ６１１では、ＲＦバッファ５２に格納されている無線パケットデータ内のセンシングデータについて図２０で示した差分化を実行する。そして、ステップＳ６１２では、差分化した無線パケットデータ内のセンシングデータを図１６〜図１９で示した符号化により圧縮する。ステップＳ６１３では符号化した無線パケットデータ（センシングデータ）及びその他の無線パケットデータをパケットバッファ５４またはフラッシュメモリ３０に記憶する。
【０１０３】
ステップＳ６０９ですべての処理を終了し、マイクロコンピュータ２０はスイッチ１５をＯＦＦにして加速度センサ１２への電力を遮断してからスタンバイモードに移行する。
【０１０４】
上記処理により、センサノード１は、所定のサンプリング周期になるとＲＴＣ１４からの割り込みによりマイクロコンピュータ２０をスタンバイモードから起動して、加速度センサ１２からのセンシングデータの取得と、無線送信を実行し、無線送信が失敗したときまたは無線通信部１１がＯＦＦの場合には、無線パケットデータ内のセンシングデータに差分化処理と符号化処理を加えて圧縮し、次回の無線送信を行うためにパケットバッファ５４またはフラッシュメモリ３０へ格納される。
【０１０５】
マイクロコンピュータ２０は、次回のサンプリング周期まではスタンバイ状態となり、また、加速度センサ１２は次回のサンプリング周期まで通電を遮断することで電池１７の消耗を抑制することができる。
【０１０６】
図２５は上記ステップＳ６１３で行われる無線パケットデータの格納処理の詳細を示すフローチャートである。ステップＳ４００から無線パケットデータのメモリへの書き込みを開始する。ステップＳ４０１では、ＲＡＭ２５のパケットバッファ５４に書き込みが可能であればステップＳ４０２に進み、パケットバッファ５４の空き容量が足りなくて書き込みできないのであればステップＳ４１１に進む。ステップＳ４０２ではパケットバッファ５４に無線パケットデータを書き込む。ステップＳ４０３では、書き込みを完了して図２４の処理へ戻る。
【０１０７】
一方、ステップＳ４０１でパケットバッファ５４への書き込みができないと判定されたステップＳ４１１では、ＣＰＵ２８がパラレルインターフェース２６を制御してスイッチ１６をＯＮにしてフラッシュメモリ３０を起動する。
【０１０８】
ステップＳ４１２では、パケットバッファ５４の内容をシリアルコミュニケーションインターフェース２７を介して、フラッシュメモリ３０のリードライトバッファ３１に転送する。ステップＳ４１３では、ライトポインタ５１が指し示すメモリセル３２のページ３４に書き込む。
【０１０９】
ステップＳ４１４では、書き込みが完了すると、ＣＰＵ２８がパラレルインターフェース２６を制御してスイッチ１６をＯＦＦにしてフラッシュメモリ３０へ電力を遮断する。Ｓ４１５ではライトポインタ５１の値を１増やす。もし、１増やした後のページアドレス３３が存在しなければ、先頭のページアドレス３３に戻した値をライトポインタ５１に設定する。また、ＣＰＵ２８は書き込みが完了したパケットバッファ５４のパケットデータを消去する。そして、ステップＳ４０３で、書き込みを完了して図２４の処理へ戻る。
【０１１０】
以上の処理により、無線通信が行えないときには、ＣＰＵ２８がＲＡＭ２５に設けたパケットバッファ５４へ圧縮された無線パケットデータを書き込んでいき、パケットバッファ５４が一杯になった時点でフラッシュメモリ３０に通電し、パケットバッファ５４の内容をまとめてフラッシュメモリ３０へ書き込む。そして、書き込みが完了するとフラッシュメモリ３０への電力供給を遮断して電池１７の消耗を抑制する。
【０１１１】
また、フラッシュメモリ３０への書き込みは、ライトポインタ５１により先頭のページから最後のページまで循環して使用することができ、特定のページが頻繁に書き換えられるのを防止して、フラッシュメモリ３０の使用期間を長くすることができる。
【０１１２】
次に、図２６は上記図２４のステップＳ６２１で行われるパケットデータ呼び出し処理の詳細なフローチャートを示す。
【０１１３】
ステップＳ５００から、無線パケットデータの呼び出しを開始する。ステップＳ５０１では、パケットバッファ５４から未送信の無線パケットデータを読み出し、ＲＦバッファ５２へ転送する。ステップＳ５０２では、パケットバッファ５４に未送信データが存在すればＳ５０３に進み、パケットバッファ５４に未送信パケットデータがなければＳ５１１に進む。
【０１１４】
ステップＳ５１１では、フラッシュメモリ３０に未送信データが存在すればステップＳ５１２に進み、存在しなければステップＳ５０３に進む。ステップＳ５１１のフラッシュメモリ３０内の未送信の無線パケットデータの有無の判定は、リードポインタ５０の値と、ライトポインタ５１の値が一致していれば未送信の無線パケットデータはないと判定する。
【０１１５】
ステップＳ５１２で、ＣＰＵ２８はパラレルインターフェース２６を制御してスイッチ１６をＯＮにし、フラッシュメモリ３０へ電力の供給を開始する。ステップＳ５１３ではリードポインタ５０が指し示すフラッシュメモリ３０のページ３４からリードライトバッファ３１に読み出し、ステップＳ５１４でシリアルコミュニケーションインターフェース２７を介してパケットバッファ５４にデータを読み出す。
【０１１６】
ステップＳ５１５では、ＣＰＵ２８がパラレルインターフェース２６を制御し、スイッチ１６をＯＦＦにしてフラッシュメモリ３０への電力供給を遮断する。ステップＳ５１６ではリードポインタ５０の値に１を加える。１を加えた結果、リードポインタ５０が指し示すページアドレス３３が存在しない場合には、先頭のページアドレス３３を設定する。ステップＳ５０３でパケット呼び出しを完了する。
【０１１７】
上記図２５の書き込み時と同様に、読み出し期間のみフラッシュメモリ３０への電力供給を行うことにより、電池１７の消耗を抑制してセンサノード１のメンテナンス周期を増大させることができる。
【０１１８】
図２７は図２４に示したステップＳ６０６の無線送信の処理の詳細を示すフローチャートである。ステップＳ７０１でＲＦバッファ５２のデータ（無線パケットデータ）を無線通信部１１から無線送信する。ステップＳ７０２では、ゲートウェイ４０からステップＳ７０１の無線送信に対するＡＣＫを受信すればステップＳ７０３に進み、ＡＣＫを受信しなければステップＳ７１１に進む。
【０１１９】
ステップＳ７０３では無線送信結果を成功とし、ステップＳ７１１では無線送信結果を失敗とする。次のステップＳ７０４で無線送信処理を完了する。
【０１２０】
以上の処理により、無線通信の成功または失敗を判定する。
【０１２１】
このように本第１の実施形態によれば、無線通信ができない期間のセンシングデータ（無線パケットデータ）を、差分化と符号化により圧縮してからＲＡＭ２５のパケットバッファ５４またはフラッシュメモリ３０へ格納するようにしたので、計算機資源が限られたセンサノード１で大量のセンシングデータを保持することができる。これにより、加速度などの生体情報では比較的短いサンプリング周期で測定することが望まれるが、無線通信が行えない期間では、差分化と符号化によりセンシングデータを圧縮することで、センサノード１の限られた記憶容量でより多くのセンシングデータを保持し、サーバ４３に蓄積されるセンシングデータの欠損を抑制することができる。
【０１２２】
また、センシングデータの圧縮は、パケットバッファ５４またはフラッシュメモリ３０へ格納するときに行い、測定したセンシングデータをそのまま送信できる場合には圧縮を行わないので、ＣＰＵ２８の演算処理で消費する電力を節減して、電池１７の消耗を抑制することができる。
【０１２３】
さらに、送信できないセンシングデータを格納するフラッシュメモリ３０には、読み書きを行うときのみ電力を供給するようにしたので、電池１７の消耗を抑制することができる。これにより、センサノード１に搭載する電池１７のメンテナンス周期を増大して、使い勝手の良いセンサノード１を提供することができる。
【０１２４】
また、不揮発性メモリとしてのフラッシュメモリ３０への書き込みは、先頭のページから終端のページまでを先頭から順に循環して書き込むようにしたので、特定のページが頻繁に書き換えられるのを防止して、フラッシュメモリ３０の使用期間を長くすることができる。
【０１２５】
また、本発明の符号化では、センシングデータの値が０に近づくほど圧縮率が高くなり、かつ、０が連続する場合には複数のセンシングデータを一つのデータにまとめてさらに圧縮率を高めることができる。これにより、生体の加速度のように一日のセンシングデータに０の出現頻度の高いデータの場合では、全体的なデータ圧縮率を高めて、無線通信が行えない期間のセンシングデータを容量の限られたセンサノード１の記憶装置に保持することが可能となるのである。
【０１２６】
さらに、センシングデータ（無線パケットデータ）を保持する記憶部として、揮発性記憶部で構成されるＲＡＭ２５と、書き換え可能な不揮発性記憶部で構成されるフラッシュメモリ３０を備え、センシングデータの送信時には、アクセス速度が速く、消費電力の少ないＲＡＭ２５のＲＦバッファ５２を使用する。そして、無線通信部１１が送信ができないときには、センシングデータを圧縮してからＲＡＭ２５のパケットバッファ５４へ格納して、消費電力の大きいフラッシュメモリ３０を使用する頻度を抑制する。
【０１２７】
そして、パケットバッファ５４が一杯になったとき（無線パケットデータの数が所定値に達したとき）にフラッシュメモリ３０へ複数の無線パケットデータをまとめて書き込むようにしたので、書き換え時の消費電力の大きいフラッシュメモリ３０を作動させる期間を可能な限り短縮することができる。これにより、電池１７の消耗を極力抑制することが可能となる。
【０１２８】
また、無線通信部１１のみをＯＮまたはＯＦＦにするボタンスイッチ１８、１９を設けることにより、無線通信が制限される環境でもセンサノード１全体をＯＦＦにすることなく、無線通信部１１のみをＯＦＦにしたまま生体情報の測定を継続することが可能となる。
【０１２９】
＜第２実施形態＞
図２８は第２の実施形態を示し、センサノード１の基板１０に取り付けられた電子回路のブロック図を示しており、前記第１実施形態に対して、図中左下に脈波センサ１１９を加えたものである。前記第１実施形態の加速度センサ１２に加えて脈拍の波形を計測する脈波センサ１１９を付加したもので、その他の構成は前記第１実施形態と同様である。
【０１３０】
この脈波センサ１１９は発光素子ＬＤ１として赤外線発光ダイオードを用い、受光素子ＰＤ１としてフォトトランジスタを採用したものである。なお、受光素子としては、フォトトランジスタ以外にもフォトダイオードも使用可能である。ケース３の裏面には、発光素子ＬＤ１と受光素子ＰＤ１が露出しており、腕の皮膚と対向可能となっている。
【０１３１】
この脈波センサ１１９は、発光素子ＬＤ１で発生させた赤外光を皮下の血管に照射し、血流変動による血管からの散乱光の強度変化を受光素子ＰＤ１にて検知し、その強度変化の周期から脈拍及び脈波を推定する。
【０１３２】
脈波センサ１１９は、加速度センサ６と同様にＡ／Ｄコンバータ２３に接続されて、アナログ値の出力がデジタル値に変換される。また、脈波センサ１１９を駆動するための電源は、スイッチ１１８を介して電池１７に接続される。スイッチ１１８は、第１実施形態のスイッチ１５と同様に、パラレルインターフェース２６によって制御され、脈波センサ１１９への電力をＯＮ／ＯＦＦする。脈波センサ１１９の制御のタイミングは、前記第１実施形態に示した加速度センサ１２と同様であり、測定期間が開始されると電源はＯＮになり、休止期間ではＯＦＦとなる。
【０１３３】
ここで、脈波センサ１１９による脈拍の測定は、生体（使用者）が安静にしていることが望ましい。装着者が動いている場合には脈拍の波形は乱れた波形しか取得できず、正常な脈拍は検知できない。これは、脈波センサ１１９が腕に密着されずに、脈拍周期よりもずっと短い時間間隔で、外乱光にさらされ、その結果、脈拍の波形が乱れるのである。したがって、信頼できる脈波を検知するためには、ユーザが安静状態にある間に、センシングを行なう必要がある。本第２実施形態では、前記第１実施形態と同様のタイミングで、３軸の加速度と脈波を測定し、複数の無線パケットデータをまとめてゲートウェイ４０へ送信する。この無線パケットデータを利用する場合には、加速度のセンシングデータが安静と認められる脈波を採用すればよい。
【０１３４】
図２９（ａ）には脈波センサ１１９の実測値を示している。これは安静時にセンシングした結果であり、正確な脈波形を得ることができている。これを差分化した値の出現頻度を図２９（ｂ）に示している。これは前述の加速度波形（図１３〜図１５）と同様に、センシングデータの値の出現頻度が偏っていることがわかる。ただし、加速度波形とは異なり、差分値の出現頻度が最も大きい値が０ではない。これは安定時の脈波形の変化率は一定の値に集中するが、常に変化しているため、０にはならないからである。しかしながら、図１６に示した符号表の値の割り当てを、脈波の変化率に伴って変えることで、高い圧縮率を得ることが可能である。
【０１３５】
図３０は、前記第１実施形態の図２１と同様に生成したＲＦパケットのフォーマット１５０を示している。ただし、センサ１１９から脈波センシングデータを複数（例えば、２０個）取得して、圧縮または非圧縮のデータを１５５１に格納している。
【０１３６】
第１実施形態とは異なり、無線送信した無線パケットデータのみならず、すべての無線パケットデータを圧縮することで、無線送信するデータ量を削減することもできる。図３１はこの場合のセンサノード１の動作フローチャートを示す。
【０１３７】
ステップＳ６００〜Ｓ６０２では、第１実施形態の図２４と同様にセンシングデータをセンサデータバッファ５３に格納する。
【０１３８】
ステップＳ６０３では各センシングデータ数≧２０となってから、すぐにステップＳ６０４でセンサデータを前記第１実施形態と同様に差分化し、ステップＳ６０５で差分化したセンシングデータを前記第１実施形態と同様に符号化する。ステップＳ６２０では、符号化したセンシングデータを搭載した無線パケットデータをＲＦバッファ５２の空き領域に書き込み可能か判断し、不可能であればステップＳ６０５で無線送信し、可能であればステップＳ６０４に進む。Ｓ６０４ではＲＦバッファ５２の空き領域に符号化したセンシングデータを含む無線パケットデータを書き込む。
【０１３９】
以上のように、センサノード１に保持するセンシングデータに加えてセンサノード１から送信する無線パケットデータ内のセンシングデータについても、差分化と符号化による２段階の圧縮を施すことで、無線通信時のデータ量を削減し、通信時間を削減できる。これにより、無線通信部１１が消費する電力を低減して電池１７の消耗を抑制することが可能となる。
【０１４０】
なお、上記実施形態では、図１８、図１９に示すフローチャートにより符号化を行う例を示したが、図１６に示したマップを用いて符号化を行っても良い。
【０１４１】
なお、上記各実施形態では、生体情報として加速度や脈波を測定する場合を示したが、心拍数などを検出するセンサノード１に適用しても良い。
【０１４２】
＜備考＞
センサを備えるセンサノードが、センサで測定した生体情報を送信する方法あって、
前記生体情報を測定したセンサからのデータを取得する手順と、
前記データをセンサノードの揮発性記憶部へ格納する手順と、
前記センサノードの無線通信部を介して前記揮発性記憶部のデータを送信する手順と、
前記送信が完了したか否かを判定する手順と、
前記送信が完了しなかったときには、前記揮発性記憶部のデータを圧縮する手順と、
前記センサノードに設けた不揮発性記憶部への電力の供給を開始する手順と、
前記圧縮したデータを前記不揮発性記憶部へ書き込む手順と、
前記不揮発性記憶部への電力の供給を遮断する手順と、
を含むことを特徴とする生体情報の送信方法。
【産業上の利用可能性】
【０１４３】
以上のように、本発明は、所定のサンプリング周期で情報を測定するセンサノード及びセンサノードを用いたセンサネットワークシステムに適用することができる。
【図面の簡単な説明】
【０１４４】
【図１】本発明の第１の実施形態を示し、腕輪型のセンサノードの正面図を示す。
【図２】同じく、第１の実施形態を示し、図１のＡ−Ａ矢示断面図を示す。
【図３】同じく、第１の実施形態を示し、センサノードのブロック図を示す。
【図４】同じく、第１の実施形態を示し、センサネットシステムのブロック図を示す。
【図５】同じく、第１の実施形態を示し、センサノードの電波出力のＸ−Ｚ軸の指向性を示すグラフである。
【図６】同じく、第１の実施形態を示し、センサノードが送信したときのパケットエラー率を示すグラフである。
【図７】同じく、第１の実施形態を示し、センサノードのＬＣＤの表示の一例を示す正面図で、無線通信部がＯＮの状態を示す。
【図８】同じく、第１の実施形態を示し、センサノードのＬＣＤの表示の一例を示す正面図で、無線通信部がＯＦＦの状態を示す。
【図９】同じく、第１の実施形態を示し、ＲＡＭ２５とフラッシュメモリ３０の詳細なブロック図を示す。
【図１０】従来例を示し、フラッシュメモリの消費電力と時間の関係を示すグラフで、電源遮断を行わない場合である。
【図１１】第１の実施形態を示し、フラッシュメモリの消費電力と時間の関係を示すグラフで、電源遮断を行う場合である。
【図１２】同じく、第１の実施形態を示し、フラッシュメモリの最大書き換え数と動作時間の関係を示すグラフである。
【図１３】同じく、第１の実施形態を示し、センサノードで安静時の人の動きをセンシングしたときの加速度を示し、（ａ）は３軸加速度の実測値と時間の関係を示すグラフで、（Ｂ）は加速度の差分値と出現頻度の関係を示すグラフである。
【図１４】同じく、第１の実施形態を示し、センサノードでデスクワーク時の人の動きをセンシングしたときの加速度を示し、（ａ）は３軸加速度の実測値と時間の関係を示すグラフで、（Ｂ）は加速度の差分値と出現頻度の関係を示すグラフである。
【図１５】同じく、第１の実施形態を示し、センサノードで走行時の人の動きをセンシングしたときの加速度を示し、（ａ）は３軸加速度の実測値と時間の関係を示すグラフで、（Ｂ）は加速度の差分値と出現頻度の関係を示すグラフである。
【図１６】同じく、第１の実施形態を示し、符号化の際の数値と符号のマップである。
【図１７】同じく、第１の実施形態を示し、符号のビット構成を示す説明図である。
【図１８】同じく、第１の実施形態を示し、センサノードで行われる符号化処理の一例を示すフローチャートで、０となるセンシングデータの値が４回以上連続する場合を示す。
【図１９】同じく、第１の実施形態を示し、センサノードで行われる符号化処理の一例を示すフローチャートで、センシングデータの値が０以外、または０の連続が４回未満の場合を示す。
【図２０】同じく、第１の実施形態を示し、センシングデータの差分化処理と符号化処理によるデータ長を示す説明図である。
【図２１】同じく、第１の実施形態を示し、センサノードが送信する無線パケットの一例を示すブロック図である。
【図２２】同じく、第１の実施形態を示し、差分化と符号化によるセンシングデータの圧縮率の一例を示すマップである。
【図２３】同じく、第１の実施形態を示し、圧縮されたセンシングデータの復号処理の一例を示すフローチャートである。
【図２４】同じく、第１の実施形態を示し、センサノードで行われるタイマ割り込み処理の一例を示すフローチャートである。
【図２５】同じく、第１の実施形態を示し、図２４のステップＳ６１３で行われる無線パケットデータの格納処理の詳細を示すフローチャートである。
【図２６】同じく、第１の実施形態を示し、図２４のステップＳ６２１で行われるパケットデータ呼び出し処理の詳細なフローチャートを示す。
【図２７】同じく、第１の実施形態を示し、図２４に示したステップＳ６０６の無線送信の処理の詳細を示すフローチャートである。
【図２８】第２の実施形態を示し、センサネットシステムのブロック図を示す。
【図２９】同じく、第２の実施形態を示し、センサノードで人の脈波をセンシングしたときの脈拍強度を示し、（ａ）は脈拍強度と時間の関係を示すグラフで、（Ｂ）は脈拍強度の差分値と出現頻度の関係を示すグラフである。
【図３０】同じく、第２の実施形態を示し、センサノードが送信する無線パケットの一例を示すブロック図。
【図３１】同じく、第２の実施形態を示し、センサノードで行われるタイマ割り込み処理の一例を示すフローチャートである。
【符号の説明】
【０１４５】
１  センサノード
５  ＬＣＤ
１１  無線通信部
１２  加速度センサ
１３  アンテナ
１４  リアルタイムクロック
１５、１６、１８  スイッチ
１７  電池
２０  マイクロコンピュータ
２３  Ａ／Ｄコンバータ
２４  ＲＯＭ
２５  ＲＡＭ
２６  パラレルインターフェース
２７  シリアルコミュニケーションインターフェース
２８  ＣＰＵ
２９  割り込み制御部
３０  フラッシュメモリ
３１  リード／ライトバッファ
３２  メモリセル
３３  ページアドレス
３４  ページ
５０  リードポインタ
５１  ライトポインタ
５２  ＲＦバッファ
５３  センサデータバッファ
５４  パケットバッファ
【図３】
2008310630.tif 000003
【図５】
2008310630.tif 000004
【図１０】
2008310630.tif 000005
【図１１】
2008310630.tif 000006
【図１２】
2008310630.tif 000007
【図１３】
2008310630.tif 000008
【図１４】
2008310630.tif 000009
【図１５】
2008310630.tif 000010
【図１６】
2008310630.tif 000011
【図１７】
2008310630.tif 000012
【図１８】
2008310630.tif 000013
【図１９】
2008310630.tif 000014
【図２０】
2008310630.tif 000015
【図２３】
2008310630.tif 000016
【図２４】
2008310630.tif 000017
【図２５】
2008310630.tif 000018
【図２６】
2008310630.tif 000019
【図２７】
2008310630.tif 000020
【図３１】
2008310630.tif 000021
【図１】
2008310630.tif 000022
【図２】
2008310630.tif 000023
【図４】
2008310630.tif 000024
【図６】
2008310630.tif 000025
【図７】
2008310630.tif 000026
【図８】
2008310630.tif 000027
【図９】
2008310630.tif 000028
【図２１】
2008310630.tif 000029
【図２２】
2008310630.tif 000030
【図２８】
2008310630.tif 000031
【図２９】
2008310630.tif 000032
【図３０】
2008310630.tif 000033