(58)【調査した分野】(Int.Cl.,DB名)
ユーザに装着され、前記ユーザの生体情報を計測する計測部と、外部機器と無線通信を行う無線通信部とを有し、電池で駆動される電子機器のコンピュータによって実行されるプログラムであって、
前記計測部により前記ユーザの生体情報を計測する手順と、
前記電池の残容量を取得し、その残容量の閾値を判定する手順と、
前記無線通信部によって受信された前記外部機器から送信される電波の強度が第1閾値(WTH1)以上で、且つ前記電池の残容量が第1閾値(BTH1)以上の場合、前記生体情報を可逆圧縮方式である2次差分方式で圧縮された第1データを前記外部機器に送信する手順と、
前記無線通信部によって受信された前記外部機器から送信される電波の強度が前記第1閾値(WTH1)以上で、前記電池の残容量が前記第1閾値(BTH1)未満の第2閾値(BTH2)以上の場合、前記生体情報を可逆圧縮方式である2次差分方式で圧縮された、前記第1データより小さい第2データを前記外部機器に送信する手順と、
前記電池の残容量が前記第2閾値(Bth2)未満の第3閾値(Bth3)以上の場合、前記生体情報を非可逆圧縮方式により圧縮した、前記第2データより小さい第3データを前記外部機器に送信するための第3格納方法を選択する手順と、
前記電池の残容量が前記第3閾値(Bth3)未満で、且つ判定手段による不揮発性メモリの空き容量が第1閾値(Mth1)以上の場合、2次差分の圧縮方式により前記生体情報を欠落することなく圧縮した第4データを前記不揮発性メモリに格納する第4格納方法を選択する手順と、
を前記コンピュータに実行させるためのプログラム。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
【0010】
図1は、一実施形態に係る電子機器を含むシステムの概略構成例を示すブロック図である。なお、本実施形態では、電子機器が生体センサ装置である場合を想定して説明する。生体センサ装置10は小型・軽量・薄型であり、電池(例えば、内蔵の2次電池)で駆動される。生体センサ装置10は、生体情報(センシングデータ)を常時計測可能とするために、例えば、接着テープ等により人体に貼り付けられる。しかし、人体への装着法は貼り付けによる装着以外にも、リストバンドによる装着、イヤホンによる装着でもよい。生体センサ装置10は例えば脈波、心電図、体温、体動等の複数の生体情報を同時に計測し、無線で外部機器(例えば、スマートフォンやPC)11に送出する機能を有する。なお、外部機器11に送出する前に、生体センサ装置10内部のフラッシュメモリに一時的に蓄えておくことも可能である。生体センサ装置10は外部機器11からの制御信号等を無線で受信する機能も有する。なお、生体センサ装置10は、生体情報を外部機器11に送出する際に、生体センサ装置10固有の識別情報を共に外部機器11に送出してもよい。また、生体センサ装置10は、計測した複数の生体情報のうちの1つの生体情報だけを外部機器11に送出してもよい。あるいは、計測する生体情報は1つの生体情報だけであってもよい。また、生体センサ装置10は、後述する電波強度が弱い場合や、電池残容量やメモリ空き容量が少ない場合にこの旨を警告情報として外部機器11に送出することもできる。外部機器11は、生体センサ装置10から送出された生体情報を無線で受信すると、この生体情報をディスプレイに表示してもよいし、この生体情報をクラウドサーバ装置12にさらに送出してもよい。クラウドサーバ装置12は、いわゆる外部サーバ装置である。
【0011】
生体センサ装置10は複数の生体情報を同時に計測できるように、複数のセンサを有するが、複数のセンサのアナログフロントエンドは、センサ毎に仕様が異なるために、柔軟性と高性能の両立が要求され、大型化してしまうことがある。しかしながら、本実施形態では、擬似SoC技術を用いて複数のアナログフロントエンドと、CPU等をシングルチップ上に集積することにより、数ミリメートル四方のセンサモジュールが実現される。擬似SoC技術とは、ウエハ上に部品を集積することにより、SoC相当の小型化と、SiP相当の設計自由度を両立した技術である。このモジュールにアンテナと電池等のわずかな周辺部品を接続することにより、小型・軽量(10数グラム程度)・薄型(数mm程度)の生体センサ装置10が実現される。なお、部品内蔵基板技術や専用LSIを用いた構成により小型化を実現することも可能である。
【0012】
ここで、
図2を参照して、生体センサ装置10の回路構成について説明する。
図2は、生体センサ装置10の回路構成を示すブロック図である。生体センサ装置10は、心電図電極20A,20B、光電ユニット22、温度センサ24、充電用の端子26、心電計28、加速度センサ30、脈波計32、ブルートゥース(登録商標)モジュール(無線通信部)34、システムコントローラ36、エンベデッドコントローラ(EC)38、リチウム2次電池40、CPU42、主メモリ44、BIOS−ROM46、フラッシュメモリ(不揮発性メモリ)48等を含む。
【0013】
心電図電極(R)20A、心電図電極(L)20Bが心電図用のアナログフロントエンドである心電計28に接続される。心電計28は心電図電極(R)20A、心電図電極(L)20B間の電位差をセンシング(サンプリング)した時系列信号を解析することにより心電図を得る。さらに、心電計
28は心電図から連続する2つの心拍それぞれに対応する2つのR波間の間隔であるR−R間隔(RRI)を求めるとともに、心拍数を求める。
【0014】
光電ユニット22は容積脈波を検知するためのものであり、光源である発光素子(例えば、緑色LED)22Aと、受光部であるフォトダイオード(PD)22Bを含む。光電ユニット22の前面には透明な窓部が設けられ、窓部を通して緑色LED22Aからの光が皮膚表面に照射され、反射光が窓部を通してPD22Bに入射される。緑色LED22Aと、PD22Bが脈波用のアナログフロントエンドである脈波計32に接続される。脈波計32は毛細血管内の血流変化により変化する反射光の変動を検知し、この検知信号を解析することにより脈波を求め、脈拍数を求める。
【0015】
温度センサ24、心電計28、加速度センサ30、脈波計32がシステムコントローラ36に接続される。温度センサ24は人体の体表面の温度を測定し、加速度センサ30は人体の体動(例えば、歩行速度)を測定する。
【0016】
CPU42は生体センサ装置10の各モジュール、各コンポーネントの動作を制御するプロセッサである。上記したように、生体センサ装置10は各センサの出力、あるいは複数のセンサの出力の組み合わせを解析することにより、種々の生体情報(例えば、体温、皮膚温、脈拍数、心拍数、自律神経活動指標、血圧、血中酸素濃度、歩行速度、睡眠時間)を連続的に計測することができる。
【0017】
なお、血圧は心電図波形のピーク(R波のピーク)と脈波のピークとに基づいた脈波伝搬時間(PWTT:Pulse Wave Transit time)に基づいて求められる。脈波伝搬時間は心電図のR波の出現から末梢の脈波が出現するまでの時間間隔を示す。脈波伝搬時間は血圧値と反比例の関係を有する。したがって、脈波伝搬時間(PWTT)から血圧の変動を求めることができる。なお、血圧の測定においては、血圧値と脈波伝搬時間との関係を示す初期値を予め決めておいてもよい。例えば、通常の血圧測定器で測定されるユーザの血圧値とこの時の脈波伝搬時間とを初期値として予めフラッシュメモリ48に格納しておいてもよい。現在の脈波伝搬時間(PWTT)から求められる血圧の変動と、この初期値(血圧値と脈波伝搬時間との関係)とを使用して、ユーザの現在の血圧値を求めることができる。あるいは、通常の血圧測定器で測定されるユーザの血圧値とこの時の脈波伝搬時間とを初期値として入力する代わりに、血圧値と脈波伝搬時間との関係を示す標準的なデータを用意しておき、この標準的なデータと、現在の脈波伝搬時間(PWTT)から求められる血圧の変動とを使用して、ユーザの現在の血圧値を求めるようにしてもよい。また、自律神経活動指標は上記したRRIの時系列を周波数解析することにより求めることが可能である。また、睡眠時間は例えばCole式と呼ばれる式で求めることができる。
【0018】
システムコントローラ36は、CPU42と各モジュール、各コンポーネントとの間を接続するブリッジデバイスである。システムコントローラ36には、ブルートゥースモジュール34、エンベデッドコントローラ(EC)38、CPU42、主メモリ44、BIOS−ROM46、フラッシュメモリ48も接続される。
【0019】
エンベデッドコントローラ38は、生体センサ装置10の電力管理を実行するための電力管理コントローラであり、内蔵の2次電池、例えばリチウム2次電池40の充電を制御する。生体センサ装置10が充電器50に装着されると、充電端子26が充電器50の端子に接触し、充電端子26を介して充電器50からの充電電流が生体センサ装置10に供給され、リチウム2次電池40が充電される。エンベデッドコントローラ38は、リチウム2次電池40からの電力に基づいて各モジュール、各コンポーネントへ動作電源を供給する。主メモリ44には、例えば、ヘルスケアアプリケーションプログラム100が含まれる。このヘルスケアアプリケーションプログラム100は、生体センサ装置10の連続使用時間を延ばすためのアプリケーションである。
【0020】
ここで、
図3を参照して、ヘルスケアアプリケーションプログラム100について説明する。
図3は、ヘルスケアアプリケーションプログラム100の機能構成例を示すブロック図である。
図3に示すヘルスケアアプリケーションプログラム100は、状況判定部101、制御方式判定部102および制御指示部103を備えている。以下、各部101〜103の機能について詳しく説明する。
【0021】
状況判定部101は、生体センサ装置10が現在(例えば、外部機器11へのデータ転送時)どのような状況にあるかを判定可能なモジュールである。この状況判定部101は、
図3に示すように、電波強度判定部101A、電池残容量判定部101B、およびメモリ空き容量判定部101Cをさらに含む。
【0022】
電波強度判定部101Aは、ブルートゥースモジュール34によって受信される外部機器11から送信された電波の強度を認識し、強度が所定の閾値より大きいかどうかを判定し、この判定の結果を制御方式判定部102に通知するモジュールである。
【0023】
電池残容量判定部101Bはリチウム2次電池40の電圧やガスゲージからリチウム2次電池40の残容量を認識可能なモジュール(換言すると、リチウム2次電池40の残容量を示す情報を取得可能なモジュール)である。電池残容量判定部101Bはリチウム2次電池40の残容量を認識すると、この電池残容量が所定の閾値より大きいかどうかを判定する。この判定により、上記した電池残容量が所定の閾値より大きいと判定された場合、電池残容量判定部101Bは、リチウム2次電池40の残容量に余裕がある旨を制御方式判定部102に通知する。一方で、上記した電池残容量が所定の閾値以下であると判定された場合、電池残容量判定部101Bは、リチウム2次電池の残容量に余裕がない旨を制御方式判定部102に通知する。なお、本実施形態では、電池残容量判定部101Bは、リチウム2次電池40の残容量に余裕があるか否かを通知するものとしたが、単にリチウム2次電池40の残容量、つまり具体的な値を制御方式判定部102に通知するものとしてもよい。
【0024】
メモリ空き容量判定部101Cはフラッシュメモリ48の空き容量を認識可能なモジュール(換言すると、フラッシュメモリ48の空き容量を示す情報を取得可能なモジュール)である。メモリ空き容量判定部101Cはフラッシュメモリ48の空き容量を認識すると、このメモリ空き容量が所定の閾値より大きいかどうかを判定する。この判定により、上記したメモリ空き容量が所定の閾値より大きいと判定された場合、メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量に余裕がある旨を制御方式判定部102に通知する。一方で、上記したメモリ空き容量が所定の閾値以下であると判定された場合、メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量に余裕がない旨を制御方式判定部102に通知する。なお、本実施形態では、メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量に余裕があるか否かを通知するものとしたが、単にフラッシュメモリ48の空き容量、つまり具体的な値を制御方式判定部102に通知するものとしてもよい。
【0025】
なお、
図3には図示しないが、上記した各判定部101A,101B,101Cの他に、状況判定部101は、行動判定部なる判定部をさらに含んでいてもよい。行動判定部は加速度センサ
30により計測された、例えばユーザの歩行速度を認識し、この歩行速度が所定の閾値より大きいかどうかを判定し、この判定の結果を、すなわち、ユーザが歩いて行動しているか又は走って行動しているかを制御方式判定部102に通知するモジュールである。状況判定部101内に上記した行動判定部がさらに含まれることで、より細やかに生体センサ装置10の制御方式を決定することができるようになる。
【0026】
制御方式判定部102は、状況判定部101から通知された各種情報に基づいて、生体センサ装置10をどのように制御するかを決定するモジュールである。具体的には、選択手段としての制御方式判定部102は、生体情報に基づいたデータの格納方法を選択する。
【0027】
格納方法は、生体センサ装置10により計測された生体情報の圧縮方式をどのような方式にするか、どのようなセンシング間隔で生体情報を計測するか、さらには、生体情報の分解能をどの程度の荒さにするか(換言すると、生体情報を何ビットのデジタルデータとするか)、生体情報に基づいたデータの格納場所等の項目を含む。生体情報に基づいたデータの格納場所には、外部機器11や、フラッシュメモリ48等がある。
【0028】
無線環境が悪い場合、ブルートゥースモジュール34の消費電力が増えたり、パケットロスが発生する可能性が高まる。その結果、リチウム2次電池40が残容量が小さくなり、生体情報を取得することができる時間が短くなる。そのため、ブルートゥースモジュール34によって受信された外部機器11から送信される電波の強度に応じて、制御方式判定部102は、生体情報の格納方法を選択する。電波の強度に応じた生体情報の適した格納方法を選択することで、電力消費を抑制と通信エラーによる情報欠落とを避ける。
【0029】
格納方法には、以下のモード1〜5の方法がある。以下、各モードについて説明する。
【0030】
[モード1:ロスレス送信]
モード1では、可逆圧縮方式である2次差分の圧縮方式により、取得されたセンシングデータを欠落することなく圧縮し、圧縮されたセンシングデータを外部機器11にリアルタイムに送信することによって、センシングデータを外部機器11に格納する。本実施形態では、可逆圧縮方式として、2次差分方式を採用した。ただし、可逆圧縮方式は、2次差分方式以外の入力されたデジタル信号そのものや、線形予測方式等の他の方式でも良い。
【0031】
図4は、2次差分方式を説明するための図である。センシングデータ(入力信号)x[n]と、x[n]に対してz
-1の時間遅延を行ったx[n-1]との差を求めて、1次差分値x
1[n]が得られる。更に1次差分値x
1[n]と、x
1[n]に対して、z
-1の時間遅延を行った x
1[n-1]との差を求めて、2次差分値x
2[n]が得られる。ハフマン符号化により2次差分値x2[n]が圧縮された値cが得られる。センシングデータに対して、2次差分を適用した場合、生成される差分信号は偏りが強くなり、結果として、圧縮率が高めることできる。
【0032】
図5(A)は、センシングデータ(入力信号)の波形を示す図である。
図5(B)は、センシングデータ(入力信号)に対して1次差分を施した結果の波形を示す図である。
図5(C)は、センシングデータ(入力信号)に対して2次差分を施した結果の波形を示す図である。
【0033】
また、
図6は、入力信号、1次差分信号、2次差分信号の振幅値の頻度を示すヒストグラムを示す図である。
図6に示すように、2次差分信号は振幅値が約500のところにピークを有する。
【0034】
図7は、心拍数(センシングデータ)に対する平均符号度を示す図である。
図7では、1次差分方式、2次差分方式、1次差分方式のエントロピー、および2次差分方式のエントロピーを示す。
図7に示すように、圧縮率でみた場合、2次差分方式は、他の方式に比べ、高い圧縮率を示している。更に、心拍数による変動も少なく良好な結果になることが確認された。
【0035】
[モード2:ロスレス送信]
モード2では、モード1と同様、可逆圧縮方式である2次差分の圧縮方式により、取得されたセンシングデータを欠落することなく圧縮し、圧縮されたセンシングデータを外部機器11にリアルタイムに送信することによって、センシングデータを外部機器11に格納する。但し、モード1のロスレス送信に比べ、センシングされるデータのパラメータを荒くすることで、生体情報に基づいたよりデータの大きさをモード1のデータの大きさより小さくしたモードである。圧縮方式はモード1と同様2次差分方式を採用する。例えば、パラメータとしてのサンプリングレートが長くされてもよい。例えば、パラメータとしての振幅の量子化ビット数が小さくされても良い。
【0036】
[モード3:ロッシー送信+高周波成分のみ蓄積]
モード2に加え、圧縮方式を変更したモードである。モード3において、非可逆圧縮方式の圧縮方式が、用いられる。モード3により格納されるデータの大きさは、モード2により格納されるデータの大きさより小さい。圧縮方式が、圧縮方式は、周波数領域で処理を行うウェーブレット変換でも良いし、2次差分方式+量子化でもよい。ウェーブレット変換の場合、高周波成分をメモリに蓄積しても良い。2次差分方式の場合、2次差分結果を量子化した際の誤差をメモリに蓄積しておいてもよい。
【0037】
[モード4:ロスレス蓄積]
2次差分の圧縮方式により、取得されたセンシングデータを欠落することなく圧縮し、リアルタイムに圧縮されたセンシングデータをフラッシュメモリ48に蓄積する。
【0038】
[モード5:ロスレス蓄積]
モード4のロスレス蓄積に比べ、センシングされるデータのパラメータ(サンプリングレート、振幅の量子化ビット数)を荒くすることでデータ量を削減して、生体情報に基づいたデータをフラッシュメモリ48に蓄積するモードである。圧縮方式は2次差分方式を採用する。
【0039】
なお、メモリ空き容量が厳しい場合は、モード3の蓄積版を用いても良い。この場合、蓄積される情報は、モード3でのロッシー送信分とする。
【0040】
再び
図3の説明に戻ると、制御指示部103は、制御方式判定部102に選択された方式にしたがった格納方式で各モジュール、各コンポーネントを制御するための指示をCPU42に出力するモジュールである。CPU42は、制御指示部103から出力された指示を受けると、この指示にしたがった制御を行う。
【0041】
次に、
図8〜11のフローチャートを参照して、ヘルスケアアプリケーションプログラム100により実行される処理の手順の一例について説明する。
まず、無線電波感度による判定が実施される。電波強度判定部101Aは、無線電波感度が閾値W
TH1以上であるかを判定する(ステップB11)。無線電波感度が閾値W
TH1以上の場合(ステップB11のYes)、制御方式判定部102は、データの送信モードとしてロスレス送信(モード1)を選択する(ステップB12)。モード1は、信号成分の変動に強い2次差分方式となっている。
【0042】
電池残容量判定部101Bは、バッテリ残容量が閾値B
TH1以上であるかを判定する(ステップB21)。バッテリ残容量が閾値B
TH1以上であると判定した場合(ステップB21のYes)、制御方式判定部102は、データの送信モードとしてロスレス送信(モード1)を選択する(ステップB22)。バッテリ残容量が閾値B
TH1未満であると判定した場合(ステップB21のNo)、電池残容量判定部101Bは、バッテリ残容量が閾値B
TH2以上であるかを判定する(ステップB23)。バッテリ残容量が閾値B
TH2以上であると判定した場合(ステップB23のYes)、制御方式判定部102は、データの送信モードとしてロスレス送信(モード2)を選択する(ステップB24)。バッテリ残容量が閾値B
TH2未満であると判定した場合(ステップB23のNo)、電池残容量判定部101Bは、バッテリ残容量が閾値B
TH3以上であるかを判定する(ステップB25)。バッテリ残容量が閾値B
TH3以上であると判定した場合(ステップB25のYes)、制御方式判定部102は、データの送信モードとしてロスレス送信(モード3)を選択する(ステップB26)。バッテリ残容量が閾値B
TH3未満であると判定した場合(ステップB25のNo)、制御指示部103は、ブルートゥースモジュール34をスリープさせる(ステップB27)。
【0043】
メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量が閾値M
TH1以上であるかを判定する(ステップB28)。空き容量が閾値M
TH1以上であると判定した場合(ステップB28のYes)、制御方式判定部102は、データの蓄積モードとしてロスレス蓄積(モード4)を選択する(ステップB29)。空き容量が閾値M
TH1未満であると判定した場合(ステップB28のNo)、制御指示部103は、データの蓄積モードとしてロッシー蓄積(モード5)を選択する(ステップB30)。
【0044】
ステップB11において、無線電波感度が閾値W
TH1未満であると判定した場合(ステップB11のNo)、電波強度判定部101Aは、再判定を実施する。再判定において、電波強度判定部101Aは、無線電波感度が閾値W
TH2以上であるかを判定する(ステップB13)。無線電波感度が閾値W
TH2以上であると判定した場合(ステップB13のYes)、制御方式判定部102は、データの送信モードとしてロスレス送信(モード2)を選択する(ST14)。モード2では、センシングされる際のパラメータ(サンプリングレート、振幅の量子化ビット数)が変更される。一方、無線電波感度が閾値W
TH2未満であると判定した場合(ステップB13のNo)、電波強度判定部101Aは、無線電波感度が閾値W
TH3以上であるかを判定する(ステップB15)。無線電波感度が閾値W
TH3以上であると判定した場合(ステップB15のYes)、制御方式判定部102は、データの送信モードとして「ロッシー送信+高周波成分の蓄積」(モード3)を選択する(ステップB16)。
【0045】
メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量が閾値M
TH1以上であるかを判定する(ステップB31)。空き容量が閾値M
TH1以上であると判定した場合(ステップB31のYes)、制御方式判定部102は、データの蓄積モードとしてロスレス蓄積(モード4)を選択する(ステップB32)。空き容量が閾値M
TH1未満であると判定した場合(ステップB31のNo)、制御指示部103は、ブルートゥースモジュール34をスリープさせる(ステップB33)制御指示部103は、データの蓄積モードとしてロッシー蓄積(モード5)を選択する(ステップB34)。
【0046】
ステップB15において無線電波感度が閾値W
TH3未満であると判定した場合(ステップB15のNo)、メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量による判定を実施する。以下フローは無線機器を使わない方式を採用するため、まず制御指示部103は、ブルートゥースモジュール34をスリープさせる(ステップB41)。そのうえでフラッシュメモリ48の空き容量による比較がなされる。
【0047】
メモリ空き容量判定部101Cは、フラッシュメモリ48の空き容量が閾値M
TH1以上であるかを判定する(ステップB42)。空き容量が閾値M
TH1以上であると判定した場合(ステップB42のYes)、電池残容量判定部101Bは、バッテリ残容量が閾値B
TH1以上であるかを判定する(ステップB43)。バッテリ残容量が閾値B
TH1以上であると判定した場合(ステップB43のYes)、制御方式判定部102は、データの蓄積モードとしてロスレス蓄積(モード4)を選択する(ステップB44)。
【0048】
空き容量が閾値M
TH1未満であると判定した場合(ステップB31のNo)、またはバッテリ残容量が閾値B
TH1未満であると判定した場合(ステップB43のNo)、制御指示部103は、データの蓄積モードとしてロッシー蓄積(モード5)を選択する(ステップB45)。
【0049】
なお、フラッシュメモリ48に蓄積を行っている際、電波強度、電池残容量、メモリ空き容量等の状況が改善された場合、フラッシュメモリ48に蓄積されたデータ量に応じて通信速度を適応的に変化させて、データアップロード時間を短くするような工夫を行う。
【0050】
また、ブルートゥースモジュール34をスリープモードに切り替える場合、外部機器11に事前通知を行っても良い。もし、ユーザ判断で通信状態を維持したい設定の場合、ブルートゥースモジュール34はスリープモードには遷移せず、無線状態が良くない事だけを外部機器11に通知しても良い。
【0051】
無線電波感度と同様に、加速度などの動き情報に基づいて格納方法を選択しても良い。例えば、時間平均された動き量が大きい時、ランニングなど激しい運動を行っているときは、体動/心拍/脈拍数が大きく早くなる傾向にあるため、サンプリング間隔を短く設定することで、運動時の細かい変化を把握することができる。
【0052】
一方、動き量が小さい時は、心拍/脈拍数が落ち着いていることが想定されるため、サンプリング間隔を長く設定することで、データが無駄に蓄積されていくことを抑制することができる。
【0053】
上述したように、本実施形態によれば、ブルートゥースモジュール34によって受信される外部機器11から送信された電波の強度に応じて、前記生体情報の格納方法を選択することで、生体情報を取得することができる時間を延ばし得る。
【0054】
なお、本実施形態の処理は、コンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0055】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。