(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
語句の定義
被験者は、心拍数測定の対象となる人間であり、典型的には、心拍数を測定する
心拍数測定装置(単にシステムともいう)のユーザである。しかし被験者は、システムのユーザ以外の人間であってもよい。
【0011】
顔の動きは、動画を構成するそれぞれのフレームに対する顔の位置の変化、顔の向きの変化、及び顔の表情の変化等を含む。顔の動きによる輝度値の変化は、体動ノイズとも呼ばれる。
【0012】
RGB表色系は、赤(R)成分、緑(G)成分、及び青(B)成分によって表現される色空間である。単に「R成分」、「G成分」、及び「B成分」という時は、それぞれRGB表色系の原色である赤成分、緑成分、及び青成分を意味する。
【0013】
HSV表色系は、色相、彩度、及び明度によって表現される色空間である。YUV表色系は、輝度信号Y、及び2つの色差信号によって表現される色空間である。
【0014】
平均という語は、重み付けをして平均を取る加重(異重)平均と、そのような重み付けをしない単純平均とを含む。
【0015】
プロセッサは、典型的にはCPU(中央処理装置)であるが、これには限定されず、さまざまな実施形態によるプログラムを実行できる任意の適切なハードウェアであればよい。このハードウェアは、複数のプロセッサを含んでもよい。
【0016】
さまざまな実施形態によるプログラムを記憶するハードウェアは、単一のメモリでもよく、複数のメモリであってもよい。
【0017】
「又は」という語は、排他的な論理和に加えて、積をも含む。したがって例えば「P又はQ」は、「P」、「Q」、及び「P及びQ」を含む。
【0018】
システムの概略
図1は、被験者の顔の動画に基づいて被験者の心拍数を測定できるシステム100を示す図である。心拍数測定システム100は、例えば、テレビ、携帯電話等のような電子装置の一部であり得る。システム100は、ビデオカメラ102から被験者の顔が含まれる動画データを受け取る。ビデオカメラ102は、システム100に含まれてもよい。例えばビデオカメラ102は、テレビの筐体内に設けられてもよい。代替として、ビデオカメラ102は、携帯電話機の筐体内に設けられてもよい。
【0019】
ビデオカメラ102は、典型的にはCMOS(相補型金属酸化膜半導体)イメージセンサを有し、これによって動画を撮像し、出力する。ビデオカメラ102は、他の種類のイメージセンサを利用してもよい。撮像された動画は、時系列に並んだフレーム群によって表現される。
【0020】
ビデオカメラ102が出力する動画の解像度は、例えば、フルハイビジョン相当(1920画素×1080画素)であり、フレームレートは、30フレーム/秒である。しかし解像度はこれには限定されずビデオカメラ102は、より低解像度(例えば640画素×480画素)であってもよく、より高解像度であってもよい。またフレームレートも30フレーム/秒には限定されず、他の任意の適切なフレームレートであってもよい。
【0021】
システム100は、被験者の顔の動画に基づいて被験者の心拍数を測定し、表示装置114に出力する。表示装置114は、例えば、テレビの液晶ディスプレイであってもよく、携帯電話機の液晶ディスプレイであってもよい。代替として表示装置114は、心拍数を表示するためのLED(発光ダイオード)を用いた表示器であってもよい。
【0022】
動画からの顔認識
図2は、ビデオカメラ102が撮像した動画の1枚のフレーム210を示す図である。顔認識器104は、ビデオ信号120をビデオカメラ102から受け取る。ビデオ信号120は、典型的にはデジタルビデオ信号であり、RGB表色系の三原色で動画を表現する。しかしビデオ信号120は、これには限定されず、HSV表色系又はYUV表色系の三原色で動画を表現してもよい。ビデオ信号120が、後述するノイズ低減器110で用いられる色に対応する画素データを持たない時は、ノイズ低減器110で用いられる色に対応する画素データに持つようビデオ信号120を変換すればよい。そのような信号変換器は、例えばビデオカメラ102と顔認識器104との間に設けられてもよく、顔認識器104に含まれてもよい。
【0023】
フレーム210は、例えば、ビデオカメラ102がフルハイビジョン動画を撮像する場合は、横1920画素、縦1080画素である。しかしビデオカメラ102が撮像する動画のフレームの解像度(すなわち縦横の画素数)は、これには限定されず、後述の対象領域を取得できる程度の解像度があればよい。
【0024】
ビデオ信号120が表す動画のうちの1枚のフレーム210は、例えば、被験者の顔212、被験者の体214、及び被験者以外の物(前景、背景216等)を含む。顔認識器104は、フレーム210の中から被験者の顔212を識別する。
【0025】
図3は、フレーム210の中の被験者の顔310(
図2の212)を示す図である。顔認識器104は、ビデオ信号120が表す動画のそれぞれのフレームにおいて、被験者の顔310を認識する。顔認識には、任意の適切な既知の顔認識手法が用いられ得る。顔認識器104が、あるフレーム中に人間の顔が存在すると判断する時は、その顔が被験者の顔310であると想定し、その顔310に対応する顔領域320を決定する。
【0026】
図4は、被験者の顔310の顔器官を示す図である。顔器官検出器106は、顔領域320を表す信号を顔認識器104から受け取り、顔領域320内にある被験者の顔器官を検出する。例として顔器官は、目410、鼻412、及び口414であるが、これらに限定されない。顔器官検出器106は、目410、鼻412、及び口414の位置を表すデータを対象領域切り出し器108に出力する。
【0027】
対象領域切り出し
図5は、被験者の顔310の一部である対象領域510を示す図である。対象領域切り出し器108は、被験者の目410、鼻412、及び口414の位置を表すデータを顔器官検出器106から受け取る。対象領域切り出し器108は、例えば、被験者の顔器官(例えば目410、及び口414)の位置に基づいて、心拍数測定に用いられる対象領域510をフレーム210から切り出す。対象領域切り出し器108は、目410、及び口414に加えて、又はこれら顔器官の代わりに、例えば鼻412に基づいて対象領域510を切り出してもよい。対象領域510は、例えば横100画素、縦100画素であり得るが、この具体的な値には限定されず、図示されるような長方形の領域であってもよい。
【0028】
対象領域510は、顔の中でも表情による動きが比較的少ない領域であるため、心拍数の測定には適する。加えて、対象領域510は、被験者の顔310の中央に位置するので被験者の顔がフレーム210内で動いても心拍数測定に与える影響が比較的、小さい。さまざまな実施形態において、対象領域510は、好ましくは、目410の下端を結ぶ水平な直線、口414の上端を通る水平な直線、及び目410の目尻を通る鉛直な直線に囲まれた長方形である。
【0029】
対象領域切り出し器108
は、典型的には対象領域510内の画素値データをノイズ低減器110に出力する。代替として、対象領域切り出し器108は、フレーム210に対する対象領域510の位置を表すデータをノイズ低減器110に出力してもよい。この場合は、ノイズ低減器110は、後述の輝度値の平均を取るために、ビデオ信号120の画素データが記憶されたビデオメモリにアクセスすればよい。
【0030】
ノイズ低減
ノイズ低減器110は、対象領域510の画素値データを対象領域切り出し器108から受け取り、心拍成分以外の、ノイズ成分が低減された信号810を出力する。具体的には、ノイズ低減器110は、対象領域510の画素群の輝度値の平均を表す輝度信号と、ノイズ成分の信号との差分をとり、これを差分信号として出力する。
【0031】
画素値変化の心拍成分は、被験者の心臓の拍動によって生じる。画素値変化のノイズ成分は、典型的には、被験者の顔の動き、又は被験者の顔を照らす環境光の強度変化によって生じる。ノイズ成分は、対象領域510の画素群の輝度値を変化させるので、心拍成分を検出する妨げとなり得る。そのためノイズ成分は、除去又は低減することが好ましい。典型的にはノイズ成分は、心拍成分よりも低い周波数成分を主にもつ。
【0032】
図6は、対象領域510の画素群(例えば横100画素、縦100画素)のG成分の平均値を時系列データ610として表したグラフ600を示す図である。ノイズ低減器110は、対象領域510の画素群の輝度値から時系列データ610を生成する。以下の説明で時系列データ(例えば610)は、例として1/30秒の時間間隔でサンプリングされたG成分平均値である。これはビデオ信号120のフレームレートが30フレーム/秒だからである。しかしサンプリングレートは、これには限定されず、動画のフレームレートに応じて任意の適切なサンプリングレートが用いられ得る。区間620で被験者の顔310がフレームに対して動いたために、時系列データ610にも大きな変動が見られる。
【0033】
図7は、対象領域510の画素群のR成分の平均値を時系列データ710として表したグラフ700を示す図である。ノイズ低減器110は、対象領域510の画素群の輝度値から時系列データ710を生成する。グラフ600及びグラフ700は、ビデオ信号120の同じ時間期間から得られた時系列データである。区間620と同様に、区間720で被験者の顔310がフレームに対して動いたために、時系列データ710にも大きな変動が見られる。
【0034】
図8は、時系列データ710から時系列データ610を引いた差分信号を時系列データ810として表したグラフ800を示す図である。ノイズ低減器110は、時系列データ710から時系列データ610を引いた差分信号を時系列データ810として生成し、心拍数検出器112に出力する。区間820で被験者の顔310が動いたにもかかわらず、時系列データ810には大きな変動が見られない。これは、被験者の顔の動きによるノイズ成分が(R成分−G成分)の差分演算によって低減したからである。この差分演算は、顔の動きによるノイズ成分だけを低減するのではなく、被験者の顔を照らす環境光の強度変化によるノイズ成分をも低減し得る。
【0035】
被験者の心臓の拍動によって血管中を流れる酸化ヘモグロビンの量が増えた瞬間には、被験者の顔でG成分が吸収される。このため、顔で反射したビデオ信号120のRGB成分の中では、G成分が心拍成分を最も多く含む。これに対してR成分は、心拍成分をG成分ほど多くは含まないので、これら2つの成分の差分を取ることによってノイズ成分が相殺される。なお、心拍数の測定のためには、差分信号の符号を考慮する必要はない。したがって2つの成分の差分を取る時には差の絶対値を考えれば十分である。
【0036】
上述の例では、ノイズ成分を低減するために、(R成分−G成分)の差分演算を利用した。代替として、(B成分−G成分)の差分演算を利用してもよい。この差分演算もノイズ成分を低減できるという効果を有する。
【0037】
心拍数検出
図9は、時系列データ810を周波数領域で表した周波数スペクトル900を示す図である。心拍数検出器112は、高速フーリエ変換により、正規化された差分成分(時系列データ810)を周波数成分に変換する。周波数帯域は、心拍数として取り得る範囲920、範囲920より周波数が低い範囲910、及び範囲920より周波数が高い範囲930の3つの範囲に区分できる。心拍数検出器112は、範囲920内でのピーク922を検出し、ピーク922に対応する周波数924を心拍数として表示装置114に出力する。
図9の例ではピーク922の周波数924は、0.85Hzである。よって心拍数HRは、HR=0.85×60=51(bpm、毎分脈拍)となる。
【0038】
上述のように、ノイズ低減器110は、ノイズ成分を(R成分−G成分)の差分演算によって低減することができる。
【0039】
ピーク検出
ピーク周波数924を検出するために、簡単には、平面上の座標のうちy座標値が最も
大きい点がピークであるとみなすことができる。これに対して、心拍数検出器112は、より高い精度でピーク周波数を検出するために、好ましくは、直線フィッティング又は曲線フィッティングを利用する。これらフィッティングは、(x-1, y), (x, y), (x+1, y)の平面上の3点から、ピークに対応するx座標を求める手法である。
【0040】
直線フィッティングの一例として、以下の式による等角直線フィッティングが用いられ得る。
【0041】
もしSAD(x+1, y)<SAD(x-1, y)ならxsub=(SAD(x+1, y)-SAD(x-1, y))/2(SAD(x, y)-SAD(x-1, y))とする。
【0042】
もしSAD(x+1, y)≧<SAD(x-1, y)ならxsub=(SAD(x+1, y)-SAD(x-1, y))/2(SAD(x, y)-SAD(x+1, y))とする。
【0043】
ここでSADは、絶対誤差の総和(Sum of Absolute Differences)を表し、xsubはピーク周波数を表す。
【0044】
曲線フィッティングの一例としては、以下の式によるパラボラフィッティングが用いられ得る。
【0045】
xsub=(SAD(x-1, y)-SAD(x+1, y))/(2(SAD(x-1, y)-4SAD(x, y)+2SAD(x+1, y))
このようにピークを求める時に直線フィッティング又は曲線フィッティングを用いれば、ピーク周波数を決定時の分解能を改善し得る。
【0046】
移動平均
代替として、ノイズ低減器110は、移動平均との差分演算によってノイズ成分を低減してもよい。
【0047】
図10は、対象領域510の画素群のG成分の平均値を時系列データ1010として表したグラフ1000を示す図である。ノイズ低減器110は、対象領域510の画素群の輝度値から時系列データ1010を生成する。
【0048】
図11は、時系列データ1010に対して移動平均を行って得られた結果を時系列データ1110として表したグラフ1100を示す図である。ノイズ低減器110は、時系列データ1010から時系列データ1110を生成する。例として、時系列データ1010に対して、連続する5つのサンプリング点を用いた移動平均を、20回繰り返し行うことによって、時系列データ1110は得られる。
【0049】
図12は、時系列データ1010から時系列データ1110を引いた差分信号を時系列データ1210として表したグラフ1200を示す図である。ノイズ低減器110は、時系列データ1010から時系列データ1110を引いた差分信号を時系列データ1210として出力する。この時系列データ1210は、時系列データ810に対応する。
【0050】
図13は、時系列データ1210を周波数領域で表した周波数スペクトル1300を示す図である。移動平均を利用する場合も、心拍数検出器112は、
図9を用いて説明したのと同様に動作する。すなわち、高速フーリエ変換により、正規化された差分成分(時系列データ1210)を周波数成分に変換する。周波数帯域は、心拍数として取り得る範囲1320、範囲1320より周波数が低い範囲1310、及び範囲1320より周波数が高い範囲1330の3つの範囲に区分できる。心拍数検出器112は、範囲1320内でのピーク1322を検出し、ピーク1322の周波数1324を心拍数として表示装置114に出力する。
【0051】
上述のように時系列データと、移動平均がとられた時系列データとによって差分演算を行えば、被験者の顔を照射する光の周波数成分が変化してもその影響を受けにくいという効果を奏する。
【0052】
システムのハードウェア
図14は、システム100のハードウェアを示すブロック図である。心拍数を測定するシステム100は、例えばテレビ、携帯電話等の任意の適切な電子装置、又はそのような電子装置の一部であり得る。システム100は、プログラム実行部1400等を含む。システム100には、例えば、ビデオカメラ102、表示装置114等が結合される。ビデオカメラ102及び表示装置114は、システム100の筐体内に組み込まれてもよい。
【0053】
プログラム実行部1400は、典型的にはCPU1402、ROM1404、RAM1406、信号処理部1408、及び画像処理部1410によって構成される。プログラム実行部1400は、本明細書で説明するさまざまな動作をCPU1402によって実行することにより、それぞれの動作に対応する構成を実現する。具体的には、プログラム実行部1400は、
図1に示される各構成を少なくとも実現する。プログラム実行部1400は、プログラムを実行するのに必要な他のさまざまな構成を有しても
よい。逆にプログラム実行部1400は、上記構成のうちの一部を省略してもよい。
【0054】
CPU1402は、システム100の各構成要素とバス1420を介して接続され、制御信号やデータをやりとりすることによって、その全体の動作を制御する。CPU1402は、RAM1406に記憶されたプログラムを構成する要素群を実行することによって、所望の動作を実現する。具体的にはCPU1402は、
図1に示される構成を実現する。
【0055】
CPU1402は、レジスタに対してALU(Arithmetic Logic Unit)を用いて加減
乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算等を行うことができる。CPU1402は、マルチメディア処理のための加減乗除等の飽和演算、及び三角関数等ベクトル演算を高速に行えるように構成されてもよい。CPU1402は、演算を高速に行うためにコプロセッサを備えてもよい。
【0056】
ROM1404は、電源投入直後に実行されるIPL(initial program loader)を記憶する。CPU1402は、IPLを実行することによって、ROM1404に記録されたプログラムを読み出す。CPU1402は、読み出されたプログラムをRAM1406に記憶させ、プログラムの実行に必要な処理を行う。ROM1404は、システム100の制御に必要なオペレーティングシステムのプログラム及び各種データを記憶する。
【0057】
RAM1406は、データやプログラムを一時的に記憶する。RAM1406は、ROM1404及び記録媒体1442から読み出したプログラム、プログラムに付随するデータ、通信に関連するデータ等を記憶する。CPU1402は、RAM1406に変数領域を設け、変数領域に格納された値に対して直接に演算を行ってもよい。CPU1402は、RAM1406に記憶された値をいったんレジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻してもよい。
【0058】
インタフェース1430は、コントローラ1432によって検出されたユーザの操作に関連付けられたデータを、バス1420を介してCPU1402等に送る。信号処理部1408及び画像処理部1410は、バス1420を通してCPU1402と接続される。CPU1402は、プログラムからの命令を解釈し、各種のデータ処理及び制御を行う。例えば、CPU1402は、信号処理部1408に対して、画像データを処理するように命令する。信号処理部1408は、例えば画像信号から対象領域の画素を切り出すこと、対象領域の画素値の平均を計算すること等のさまざまな計算や、画像及び音声データの生成を行う。
【0059】
記録媒体1442は、任意の適切なコンピュータ読み取り可能な記録媒体であり、本発明によるプログラム、及びプログラムに付随するデータを記録してもよい。ドライブ1440は、CPU1402の制御によって、記録媒体1442からプログラム及び付随するデータを読み出す。CPU1402は、読み出されたプログラム及びデータをバス1420を介して、RAM1406に転送し、一時的に記憶する。
【0060】
画像出力部1460は、測定された心拍数を表示装置114上に表示する画像処理等を実行する。
【0061】
音声出力部1470は、典型的にはデジタルアナログ変換器を有する。音声出力部1470は、例えば、測定された心拍数に応じた音声を出力する。表示装置114は、例えば、液晶ディスプレイであり得る。
【0062】
プログラム実行部1400は、上述の構成要素に加えて他のハードウェア又はソフトウェアの要素をさらに備えてもよい。例えばプログラム実行部1400は、単一のCPU1402の代わりに複数のCPUを用いることによって並列処理を行い、計算速度を高速化してもよい。逆に、プログラム実行部1400は、上述の構成要素の一部を含まなくてもよい。 画像出力部1460は、典型的にはデジタルアナログ変換器、フレームメモリを
有する。このフレームメモリは、例えば画像処理部1410によって処理された画像データを記憶する。
【0063】
ネットワークインタフェース1450は、ネットワーク1452を通して外部装置1456と通信するのに用いられる。例えば、被験者の心拍数を表すデータは、外部装置1456に伝達され得る。このような構成によって、例えば、被験者の心拍数を、被験者自身による心拍測定を介在させることなく、遠隔地にいる医療関係者に伝えることが可能となる。逆に、システム100は、ネットワーク1452に接続することなく、単体で心拍測定を行うプログラムを実行し、被験者自身が自分の心拍数を表示装置114によって知る構成であってもよい。
【0064】
本発明によるプログラムは、典型的にはROM1404からRAM1406にロードされる。しかしこれには限られず、本発明によるプログラムの全部又は一部が、ネットワーク1452を介して、遠隔地にあるコンピュータ(例えばサーバ)からロードされてもよい。また本発明によるプログラムに関連して用いられるデータの全部又は一部が、ネットワーク1452を介して、遠隔地にあるコンピュータ(例えばサーバ)からロードされてもよい。
【0065】
システムのソフトウェア
図15は、ノイズ低減器110の動作を実現するプログラムのフローチャート1500である。フローチャート1500で表されるプログラムは、例えば、ROM1404又は記録媒体1442からRAM1406上にロードされ、一時的に記憶される。その後、プログラムは、CPU1402によって実行され、心拍数を表すデータがバス1420を介して出力される。出力されたデータは、例えば、表示装置114上に表示されることによってユーザである被験者に提示される。
【0066】
ここでは、
図6〜
図9を用いて説明した(R成分−G成分)の差分演算を実現するプログラムを例として説明する。しかしこれには限定されず、さまざまな実施形態によるプログラムは、例えば、
図10〜
図13を用いて説明した、G成分と、移動平均が施されたG成分との差分演算を実現してもよい。
【0067】
プログラムは、1510において任意のトリガによって起動され得る。例えば、被験者自身がシステム100のコントローラ1432(例えばスイッチ)を操作することによってプログラムを起動できる。
【0068】
1512において、対象領域510の画素値データのうちG成分の平均値を求める。例えば、対象領域510が縦100画素、横100画素からなる場合、合計で10000画素のG成分の平均値を求める。対象領域510は、ビデオ信号120のそれぞれのフレームについて設けられているので、G成分の平均値である時系列データ610も時間依存の変数である。
【0069】
1514において、対象領域510の画素値データのうちR成分の平均値を求める。例えば、対象領域510が縦100画素、横100画素からなる場合、合計で10000画素のR成分の平均値を求める。対象領域510は、ビデオ信号120のそれぞれのフレームについて設けられているので、R成分の平均値である時系列データ710も時間依存の変数である。
【0070】
1516において、時系列データ710から時系列データ610を減ずることによって、差分信号である時系列データ810を求める。時系列データ610及び時系列データ710は、心拍数による周波数成分(大まかには1Hzのオーダー)を後で抽出できる程度に長い時間期間について取得する必要がある。例えば、時系列データ610及び時系列データ710は、数秒のオーダーのビデオ信号120に基づく。
【0071】
1518において、時系列データ810を時間領域から周波数領域に変換し、周波数スペクトル900を求める。この変換は例えば高速フーリエ変換によって行われ得る。
【0072】
1520において、周波数スペクトルのうち低域及び高域に存在し得るノイズ成分を無視して、中域に存在するはずの心拍数に対応するピークを検出する。
【0073】
1522において、検出されたピークの周波数に基づいて心拍数を求め、適当な形態(例えば表示装置114上での画像表示)によって出力する。
【0074】
1524において、プログラムを終了する。必要に応じて、プログラムの制御を1524から1510に戻すことによって、心拍数測定の処理を繰り返してもよい。加えて、1522において、妥当な心拍数が測定されなかった時に、測定エラーの旨をユーザに知らせ、プログラムの制御を1510に戻すことによって測定を再び行ってもよい。
【0075】
フローチャート1500に示す複数の処理は図示される順に実行される必要はなく、適宜、同時に実行されたり、パイプライン処理されたりしてもよい。フローチャート1500で表されるプログラムの動作は、全てがハードウェア及びソフトウェアの組み合わせによって実行される必要はなく、ハードウェアだけによって実現されてもよい。
【0076】
ノイズ低減器110がハードウェア及びソフトウェアの組み合わせによって典型的には実現されるのと同様に、システム100の他の要素もハードウェア及びソフトウェアの組み合わせによって典型的には実現され得る。しかしシステム100の他の要素の動作は、全てがハードウェア及びソフトウェアの組み合わせによって実行される必要はなく、ハードウェアだけによって実現されてもよい。例えば、システム100の全体又は一部は、ASIC(特定用途向け集積回路)を用いて実現されてもよい。
【0077】
代替として、1512及び1514において、G成分と、(R成分+B成分)/2とをそれぞれ求め、1516において、これらの差分を取ってもよい。R成分及びB成分の平均を取ることによって、被験者の動きによるノイズ成分に加えて、環境光によるノイズ成分も低減されやすくなるからである。
【0078】
代替として、1512及び1514において、RGB表色系、HSV表色系、又はYUV表色系の原色のうちの2つの成分をそれぞれ求め、1516において、これらの差分を取ってもよい。
【0079】
代替として、1512及び1514において、近赤外線領域の光を被験者に照射し、反射光の成分と、それに移動平均を行って得られた成分とをそれぞれ求め、1516において、これらの差分を取ってもよい。これにより、環境光の影響を受けることが少なくなるという効果が得られる。さらなる代替として遠赤外線領域の光、又はRGB表色系の原色である青色の光を被験者に照射してもよい。
【0080】
上述のさまざまな実施形態によれば、独立成分分析と比較して、測定開始時点においてノイズ成分(特に顔の動きによるノイズ成分)が存在しても心拍数を正しく検出できるという効果を有する。
【0081】
当業者には理解されるように、上述のさまざまなハードウェア及びソフトウェアの要素群は、その一部が省略されてもよい。逆に、付加的な要素が用いられてもよい。ハードウェア及びソフトウェアの要素群のうちの一部の要素群をまとめて単一の要素として実現してもよい。逆に、ハードウェア及びソフトウェアの要素群のうちの一つの要素を異なる複数の要素群として実現してもよい。