(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-10-16
(45)【発行日】2025-10-24
(54)【発明の名称】コンピュータ実装方法、システムおよびコンピュータプログラム製品(呼吸器疾患予測のためのマルチモーダル肺活量測定)
(51)【国際特許分類】
G10L 25/66 20130101AFI20251017BHJP
G10L 25/30 20130101ALI20251017BHJP
A61B 5/08 20060101ALI20251017BHJP
【FI】
G10L25/66
G10L25/30
A61B5/08
(21)【出願番号】P 2021165451
(22)【出願日】2021-10-07
【審査請求日】2024-03-19
(32)【優先日】2020-10-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】トーマス、サムエル
(72)【発明者】
【氏名】ラタ、ケー、ナリニ
(72)【発明者】
【氏名】コネル2世、ハドソン、ジョナサン
【審査官】大野 弘
(56)【参考文献】
【文献】特表2015-536691(JP,A)
【文献】特開2018-091954(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 25/66
G10L 25/30
A61B 5/08
(57)【特許請求の範囲】
【請求項1】
コンピュータが、
実行される発話の仕様をユーザに提示することと、
前記発話を実行している前記ユーザの音声波形をキャプチャすることと、
前記発話を実行している前記ユーザの映像をキャプチャすることと、
前記キャプチャされた前記音声波形と前記映像を前記仕様に準拠しているかどうか分析することと、
前記キャプチャされた映像を使用して前記ユーザの継続的な同一性を確定することと、
前記音声波形に基づいて、呼吸機能の指標を決定することと、
前記指標を参照指標と比較して、前記ユーザの健康状態を判断することと、
を含む、コンピュータ実装方法。
【請求項2】
前記指標は、前記ユーザが1回の呼吸で前記発話の一部を実行するのにかかる時間の長さを含む、
請求項1に記載の方法。
【請求項3】
少なくとも前記提示および前記キャプチャは、モバイルデバイスを使用して実行される、
請求項1に記載の方法。
【請求項4】
前記発話の前記仕様は、読まれる原稿、繰り返される音声パッセージ、歌われる既知の歌、および歌唱映像のうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項5】
前記参照指標は、前記ユーザが健康であるとみなされる期間中に取得された前記ユーザに関連するデータを含む、
請求項1に記載の方法。
【請求項6】
前記参照指標は、前記ユーザによって実行された複数のセッションを組み合わせることによって構築される、
請求項1に記載の方法。
【請求項7】
前記参照指標は、前記ユーザの人口統計学的グループ内の個人のグループに関連するデータを含む、
請求項1に記載の方法。
【請求項8】
前記分析、前記決定、および前記比較は、コンピュータネットワークを介してリモートデバイス上で実行される、
請求項1に記載の方法。
【請求項9】
呼吸機能の指標の前記決定は、前記キャプチャされた音声から抽出された音声スペクトルおよび時間的特徴を含む入力特徴を使用して、前記呼吸機能を予測するように訓練された機械学習モデルを実行することを含む、
請求項1に記載の方法。
【請求項10】
前記ユーザが、前記キャプチャされた映像を使用して、前記仕様における前記発話を正しく発話したことを確定することをさらに含む、
請求項1に記載の方法。
【請求項11】
プロセッサと、
前記プロセッサと結合されたメモリとを含み、
前記プロセッサは、実行される発話の仕様をユーザに提示することと、
前記発話を実行している前記ユーザの音声波形をキャプチャすることと、
前記発話を実行している前記ユーザの映像をキャプチャすることと、
前記キャプチャされた前記音声波形と前記映像を前記仕様に準拠しているかどうか分析することと、
前記キャプチャされた映像を使用して前記ユーザの継続的な同一性を確定することと、
前記音声波形に基づいて、呼吸機能の指標を決定することと、
前記指標を参照指標と比較して、前記ユーザの健康状態を判断することと、
で構成される、システム。
【請求項12】
前記指標は、前記ユーザが1回の呼吸で前記発話の一部を実行するのにかかる時間の長さを含む、
請求項11に記載のシステム。
【請求項13】
前記発話の前記仕様は、読まれる原稿、繰り返される音声パッセージ、歌われる既知の歌、および歌唱映像のうちの少なくとも1つを含む、
請求項11に記載のシステム。
【請求項14】
前記参照指標は、前記ユーザが健康であるとみなされる期間中に取得された前記ユーザに関連するデータを含む、
請求項11に記載のシステム。
【請求項15】
前記参照指標は、前記ユーザによって実行された複数のセッションを組み合わせによって構築される、
請求項11に記載のシステム。
【請求項16】
前記参照指標は、前記ユーザの人口統計学的グループ内の個人のグループに関連するデータを含む、
請求項11に記載のシステム。
【請求項17】
前記プロセッサは、前記キャプチャされた音声から抽出された音声スペクトルおよび時間的特徴を含む入力特徴を使用して、前記呼吸機能の前記指標を予測するように訓練されたニューラルネットワークを実行するように構成される、
請求項11に記載のシステム。
【請求項18】
プログラム命令が具体化されたコンピュータプログラムであって、デバイスによって可読な前記プログラム命令により、前記デバイスに、
実行される発話の仕様をユーザに提示すること、
前記発話を実行している前記ユーザの音声波形をキャプチャすることと、
前記発話を実行している前記ユーザの映像をキャプチャすることと、
前記キャプチャされた前記音声波形と前記映像を前記仕様に準拠しているかどうか分析することと、
前記キャプチャされた映像を使用して前記ユーザの継続的な同一性を確定することと、
前記音声波形に基づいて、呼吸機能の指標を決定することと、
前記指標を参照指標と比較して、前記ユーザの健康状態を判断することと、
を行わせる、コンピュータプログラム。
【請求項19】
前記デバイスは、前記キャプチャされた音声から抽出された音声スペクトルおよび時間的特徴を含む入力特徴を使用して、前記呼吸機能の前記指標を予測するように訓練された機械学習モデルを実行させる、
請求項18に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、概してコンピュータ及びコンピュータアプリケーションに関するものであり、より具体的には、健康検出のためのマルチメディア及び音声処理に関する。
【背景技術】
【0002】
呼吸器疾患はしばしば肺にゆっくりと影響を及ぼし、影響が重くなると検出される。疾患が体に影響を与えるのに伴って、空気を保持するための肺活量はゆっくりと減少する。肺活量の変化を早期に検出することは有用であるが、X線やCTスキャンなどの現在の方法では、特別なセットアップとスキャンを分析する専門家が必要である。例えば、これらの方法は費用がかかり、容易には利用できない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
呼吸器疾患予測のためのマルチモーダル肺活量測定を実現するコンピュータ実装方法、システムおよびコンピュータプログラム製品を提供する。
【課題を解決するための手段】
【0004】
呼吸器疾患予測のためのマルチモーダル肺活量測定のための方法およびシステムを提供することができる。この方法は、一態様では、実行される発話の仕様をユーザに提示することを含み得る。この方法はまた、発話を実行するユーザの音声波形をキャプチャすることを含み得る。この方法は、発話を実行しているユーザの映像をキャプチャすることをさらに含み得る。この方法はまた、仕様に準拠しているかどうか、キャプチャされた音声波形および映像を分析することを含み得る。この方法はまた、音声波形に基づいて、呼吸機能の指標を決定することを含み得る。この方法はまた、ユーザの健康状態を決定するために、指標を参照指標と比較することを含み得る。
【0005】
システムは、一態様では、プロセッサと、プロセッサに結合されたメモリとを備え得る。プロセッサは、実行される発話の仕様をユーザに提示するように構成され得る。プロセッサは、発話を実行しているユーザの音声波形をキャプチャするように構成され得る。プロセッサは、発話を実行しているユーザの映像をキャプチャするように構成され得る。プロセッサは、仕様に準拠しているかどうか、キャプチャされた音声波形と映像を分析するように構成され得る。プロセッサは、音声波形に基づいて、呼吸機能の指標を決定するように構成され得る。プロセッサは、指標を参照指標と比較してユーザの健康状態を決定するように構成され得る。
【0006】
本明細書に記載の1つ以上の方法を実行するために機械によって実行可能な命令のプログラムを保存するコンピュータ可読記憶媒体も提供され得る。
【0007】
様々な実施形態のさらなる特徴ならびに構造および動作は、添付の図面を参照して以下に詳細に説明される。図面において、同様の参照番号は、同一または機能的に類似した要素を示している。
【図面の簡単な説明】
【0008】
【
図1】一実施形態において起こり得る呼吸器疾患を検出するためのマルチモーダル肺活量測定の概要を示す図である。
【
図2】一実施形態における肺活量を予測するための機械学習モデルの訓練を示す図である。
【
図3】一実施形態における個人の登録プロセスを示している。
【
図4】一実施形態において起こり得る呼吸器疾患を検出するための個人のテストの実施を示す図である。
【
図5】一実施形態における音声活動検出(SAD)のためのスペクトル特性および変調特性を示す図である。
【
図6】一実施形態における肺活量を決定する方法を示す図である。
【
図7】一実施形態におけるコンピュータ実装方法を示す図である。
【
図8】ユーザの肺活量を決定する一実施形態のシステムの構成要素を示す図である。
【
図9】一実施形態においてシステムを実装することができる例示的なコンピュータまたは処理システムの概略図を示す図である。
【
図10】一実施形態におけるクラウドコンピューティング環境を示す図である。
【
図11】一実施形態においてクラウドコンピューティング環境によって提供される機能的抽象化レイヤのセットを示す図である。
【発明を実施するための形態】
【0009】
例えば、呼吸器疾患予測のための肺活量を決定するためのシステムおよび方法が開示されている。1つ以上の実施形態において、システムもしくは方法またはその両方は、マルチメディア分析、例えば、音声処理および映像処理に基づいて肺活量を決定する。例えば、システムもしくは方法またはその両方は、発話特性を重要な肺活量と相関させるプロトコルを利用することができる。一態様において、モバイルデバイスのようなユーザデバイス上の単純かつ低コストで使用可能なアプリケーションは、ユーザが自分の進行を自己チェックするのに役立たせることができる。ユーザがユーザの肺活量を確実に自己評価できるようにすることで、人口と頻度の両方の観点からテストの範囲を広げることができる。
【0010】
一態様において、システムおよび方法は、個人の呼吸器系のウェルネスまたは健康の指標として、様々な種類の発話音声の生成を使用することができる。例えば、母音は、肺からの空気が最小限の障害で、可聴摩擦音なしに口を通過するときに生成される音である。肺から空気が流れると、声帯が振動してこれらの音が生成される。これらの音(例:/ a / / e / / i / / o / / u /)は、空気が肺から押し出されるときに生成されるため、例えば継続的で持続的な母音を生成する能力は、肺活量の尺度として使用され得る。肺が感染している場合、もしくは粘液などの液体で満たされている場合、またはその両方の場合、肺活量が低下し、持続的な母音を生成する個人の能力に影響を及ぼす。声道の感染もこれらの音の生成に影響を与え得る。他の例として、鼻音は、空気が鼻腔を通過するときに生成される子音である。 / m /のような持続的な鼻音が口を閉じた状態で生成される場合、鼻腔がどれだけ詰まっているかの指標として使用することができる。
【0011】
人間の発話は、明確な特徴によって他の発声から特徴づけることができる。例えば、英語の一般的な発話速度は、1秒あたり4音節に一般化することができる。発話特性の異常は個人の状態の異常として認識される場合があり、個人の呼吸器の健康の指標として使用することができる。
【0012】
図1は、一実施形態において起こり得る呼吸器疾患を検出するためのマルチモーダル肺活量測定の概要を示す図である。
図1に示される構成要素は、例えば、1つまたは複数のハードウェアプロセッサのような、1つまたは複数のプロセッサを有するデバイスまたはコンピュータ上で実装または実行することができる。例えば、デバイスまたはコンピュータは、アプリケーション(例えば、モバイルアプリ)を実行するモバイルデバイス、または他のデバイスである場合がある。1つまたは複数のハードウェアプロセッサは、例えば、本開示で説明されるそれぞれのタスクを実行するように構成される、プログラマブルロジックデバイス、マイクロコントローラ、メモリデバイス、もしくは他のハードウェア構成要素、またはそれらの組み合わせなどの構成要素を備え得る。結合されたメモリデバイスは、1つまたは複数のハードウェアプロセッサによって実行可能な命令を選択的に保存するように構成することができる。
【0013】
プロセッサは、中央処理装置(CPU)、グラフィックス処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、他の適切な処理構成要素またはデバイス、あるいはそれらの1つまたは複数の組み合わせである場合がある。プロセッサは、メモリデバイスと結合されてもよい。メモリデバイスは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、または他のメモリデバイスを備える場合があり、本明細書に記載の方法もしくはシステムまたはその両方に関連する様々な機能を実装するためのデータもしくはプロセッサ命令またはその両方を保存する場合がある。プロセッサは、メモリに保存されているか、または別のコンピュータデバイスまたは媒体から受信したコンピュータ命令を実行する場合がある。
【0014】
ステップ102において、プロセッサ(例えば、アプリケーションの実行またはプロセッサ命令の実行)は、息を止めながら一連の音を発声するようにユーザに促す。例えば、一連の音を発声するとは、ユーザが息を切らすまで、「a(あ)-e(え)-i(い)-o(お)-u(う)」のような母音(または他の順序の母音)を何度も発声することを含むことができる。他の例には、子音、単語の発声、特定のテキストの読み上げ、および/またはその他が含まれる場合がある。この方法論は、他の自然言語や、母音、子音、その他の単語と同様の効果を持つ音でも機能する場合がある。
【0015】
ステップ104において、プロセッサは、ユーザの音の発声における適合性をチェックすることができる。例えば、プロセッサは、肺活量の正確な測定に影響を与え得る、ユーザが音を出している間に生じた不一致またはエラーを自動的もしくは自律的またはその両方によりチェックすることができる。この処理において、プロセッサは、適合性を決定するために、映像分析もしくは音声分析またはその両方を使用することができる。例えば、本実施形態の方法論は、例えば、「1234567…」に対して(対)「1 2 3 4 5 6 7…」など、発声中のカウントなどの音を出すことによる急ぎ具合を検出することができる。そのような急ぎのカウントは、各数値に使用される空気が少なくなり、測定値として使用される最大カウントが歪む場合がある。一実施形態において、この方法論は、音の強度エンベロープを調べ、ペーシングを決定および補強することができる。他の例として、短く発音された単語や長く発音された単語(例えば、「いーち にーい さーん しーい…」または「いっ にっ さんっ しっ…」)は、各母音セグメントに使用される空気の量の変動と発話時間の変動をもたらすことがあり、測定値を歪ませる場合がある。一実施形態において、この方法論は、フィードバックを提供するために、スペクトログラムから母音の長さを直接測定することができる。さらに他の例として、つぶやきまたは部分的なささやき(例えば、「ち に ん し…」または「いいち にいい さあん…」)は、通常より少ない量の呼気が使用される場合がある。一実施形態において、この方法論は、母音フォルマントの信号対雑音比を分析して、発話を拒絶する場合がある。
【0016】
ユーザが音を出している、または発声している間にキャプチャされた映像の画像処理は、適合性について分析することができる。例えば、音を出している間のユーザのキャプチャ画像は、ユーザが音を発声する際に適切な顔の動き、口の動き、もしくは唇の動き、またはそれらの組み合わせをしているのか、適切な姿勢にあるのかなどを検出して、例えば、計算されている音の特徴の測定を歪めないようにするための、測定を行うための適切で標準的な基準を提供することができる。例えば、映像の画像処理は、映像からの同一性の継続性を確定し、同じユーザからのデータがテストまたは訓練されていることを確定することができる。プロセッサは、例えば、そのような音を出すことの適合性の範囲内で、ユーザによって出された音をキャプチャする。ユーザが発話を提供している間に不一致が検出された場合、プロセッサはユーザに再び発話するか、再試行するように要求する。
【0017】
ステップ106において、プロセッサは、キャプチャされた音に関連する特徴を計算することができる。例えば、プロセッサは、音を分析し、ユーザによって発声された音の様々な特性を計算する場合がある。プロセッサはまた、計算された特徴または特性に相関する、ユーザの肺活量測定値を決定または取得する場合がある。ユーザが健康な状態(例えば、肺の「正常な」状態)で音を出したことを考慮すると、取得された肺活量測定値(または測定範囲)は、ユーザの「正常な」肺活量または「健康な」肺活量に関連付けられる。一実施形態において、ユーザの肺活量を決定することは、訓練された機械学習モデルへの入力特徴として計算された特徴を有するニューラルネットワークモデルのような訓練された機械学習モデルを実行することを含み得る。機械学習モデルは、入力特徴に対応する肺活量測定値(または測定範囲)を出力する。
【0018】
音の種類は、母音および子音を含み得る。このような音は、音声のスペクトログラムでそれらを識別するために使用できる明確なスペクトルシグネチャを示す。母音には明確なフォルマント周波数があり、子音には、明確な周波数帯域でのエネルギーバーストがある。音声の変調スペクトルには、明確なスペクトル時間パターンが見られる。したがって、例えば、特徴または特性には、発話速度のようなスペクトル時間特性が含まれる場合があるが、これらに限定されない。
【0019】
ステップ108において、プロセッサは、計算された特性および肺活量測定値を保存することができる。保存された情報は、基準値または参照ポイントとして使用することができる。そのような基準値を使用して、プロセッサは、例えば、異なる時または後に、肺活量の正常または異常を決定または評価することができる。
【0020】
ステップ102、104、106、および108における処理は、較正処理またはスケーリングと呼ぶことができる。例えば、このような処理では、呼吸器または肺の健康状態を評価するための個人の基準値または参照ポイントを較正できる場合があり、特定の個人に固有の場合がある。
【0021】
別の態様において、基準値較正処理(例えば、ステップ102、104、106、および108に示される)は、例えば、人口統計学的な特性もしくは物理的な特性またはその両方のような共通の特性を有する一般的な集団グループに対して実行することができる。例えば、ユーザまたは個人のグループからのサンプル音がキャプチャされる場合があり、例えば、訓練された機械学習モデルを実行することによって対応する肺活量測定値(または測定範囲)を取得することができる。取得した測定値は、そのグループの基準値(例えば、グループの健康段階での「正常な」肺活量)として使用され得る。
【0022】
ステップ110、112、114、および116の処理は、所与の時間(例えば、現在の時間)におけるユーザまたは個人の肺活量を決定するために実行することができる。ステップ110において、プロセッサ(例えば、アプリケーションを実行する、またはプロセッサ命令を実行する)は、一連の音を発声するか、または発声を繰り返すようにユーザに促す。例えば、ユーザは、息を吸ってから、一連の音を話したり発声したりするように促される場合がある。例えば、一連の音を発声することには、「a-e-i-o-u」のような母音(または他の順序の母音)を、例えばユーザが息を切らすまで何度も発声することを含み得る。他の例には、子音、単語の発声、特定のテキストの読み上げ、および/またはその他が含まれる場合がある。例えば、ユーザは、例えば、ステップ102において、基準値決定中に発せられた音と同様の音を発するように促される場合がある。
【0023】
ステップ112において、プロセッサは、例えば、少なくとも映像分析を使用して、例えば、ステップ104において行われるように、ユーザが音を出している間に適合性をチェックする。
【0024】
ステップ114において、プロセッサは、ユーザの音の発声に関連する特徴または特性を計算する。計算された特徴に基づいて、プロセッサは、肺活量、例えば、ユーザの現在の肺活量を決定することができる。肺活量の決定には、訓練された機械学習モデルの実行が含まれる場合がある。訓練された機械学習モデルは、ユーザまたはユーザのグループの基準値を決定するために使用されるモデルと同じである場合がある。
【0025】
ステップ116において、プロセッサは、現在の肺活量を、例えば、ステップ108において保存された基準値量と比較し、現在の肺容量が基準値量の範囲外であるかどうかを決定する。現在の肺活量が範囲外の場合、プロセッサは現在の肺活量が正常範囲から外れていると判断し、このことから呼吸器疾患の兆候を示すことができる。
【0026】
一態様において、機械学習モデルは、ユーザの発声に関連する一連の特徴または特性が与えられた場合に、肺活量測定を予測するように訓練されたニューラルネットワークモデルまたは他の機械学習モデルである場合がある。例えば、機械学習モデルまたはニューラルネットワークモデルの訓練データには、肺活量の測定値に関連付けられた、ユーザが発した音の特性を含むラベル付きデータを含み得る。
【0027】
例えば、ニューラルネットワークは、音特性としての入力特徴および肺活量測定データとしての出力を用いて訓練することができる。ニューラルネットワークのパラメータ(重みやバイアスなど)は、入力音の特徴と出力肺活量の測定値を関連付けるよう最適化される場合がある。簡単に言うと、人工ニューラルネットワークまたはニューラルネットワークは、入力データを予測または分類するように訓練することができる機械学習モデルである。人工ニューラルネットワークは、ニューロンの連続する層を備える場合があり、これらの層は相互接続されているため、ある層のニューロンの出力信号に重み付けがされ、次の層のニューロンに送信される。所与の層のニューロンNiは、次の層の1つまたは複数のニューロンNjに接続される場合があり、異なる重みwijは、NiからNjに送信される信号を重み付けするために、各ニューロン-ニューロン接続Ni-Njに関連付けられる場合がある。ニューロンNjは、蓄積された入力に応じて出力信号を生成し、重み付けされた信号は、入力から出力ニューロン層までネットワークの連続する層に伝達する場合がある。人工ニューラルネットワークの機械学習モデルは、それぞれのニューロン層に関連付けられた重みのセットが決定される訓練段階を経る場合がある。ネットワークは、ネットワークが訓練データから「学習」するときに重みが繰り返し更新される反復訓練スキームで、一連の訓練データにさらされる。結果として得られる訓練済みモデルは、訓練処理によって定義された重みを使用して、新しいデータに基づいてタスクを実行するように適用することができる。
【0028】
一実施形態において、自己較正処理は、以下を含むことができる。ユーザは、アプリを実行している携帯電話または他のデバイスを使用して、ユーザが息を切らすまで何度も「a」、「e」、「i」、「o」、「u」(または別の発話)を発声することによって「正常な」肺活量測定値を提供するように促される場合がある。この発話特性を使用して、肺の空気容量の基準値が作成される(例えば、通常のサンプル全体における平均時間および分散)。上記のステップを繰り返して、ある期間(例えば、1週間)の期間にわたって平均化され、「正常な」状態を較正することができる。ユーザは、使用しているデバイスの画面上の段落を読むことを要求される場合がある。音声信号から、変調スペクトルを計算して、発話速度の基準値を推定することができる。テスト段階では、ユーザはユーザが息を切らすまで母音を発声するように要求される場合があり、ユーザのデバイスのプロセッサが発声を行ったユーザを記録する場合がある。較正された基準値からの母音全体で平均化された時間の差は、呼吸器疾患の発症を示している場合がある。例えば、差が閾値を超えている場合、プロセッサは肺活量が正常でないことを通知する場合がある。他の態様において、ユーザは、ユーザのデバイスの画面上に表示されるテキストの段落を読むように要求される場合がある。ユーザのデバイスのプロセッサは、変調スペクトルを計算し、ユーザの発話速度を推定する場合がある。プロセッサは、この発話速度を基準値の発話速度と比較することがある。偏差または差が閾値よりも大きい場合、プロセッサは肺活量の低下を通知する場合がある。
【0029】
図2は、一実施形態における肺活量を予測するための機械学習モデルの訓練を示す図である。音声録音データベース202は、複数の個人の音声録音を表すデータを含み得る。例えば、個人は、可能な限り多くの空気を吸い込み、息を吐きだす間に、例えば、母音もしくは子音またはその両方を単独でまたは連続して発話する発話音を発し始めるよう要求される場合がある。個人は、例えば、何度も、一定期間、または例えば、個人が快適に発声することができる間、そのような音の発声を繰り返すよう要求される場合がある。録音を提供した被験者または個人のそれぞれについて、肺活量も測定される。録音および関連する測定された肺活量は、データベース202として1つまたは複数の記憶装置またはシステムに保存され得る。
【0030】
音声処理システム204において、記憶されたユーザ音声は、ユーザ音声の特徴または特性を抽出または計算するために処理される。抽出された特性は、音声/非音声活動量206に関連する特性を含み得る。例えば、スペクトル特性、変調周波数、および結合スペクトル時間特性のようなデータは、音声録音から抽出または計算され得る。
【0031】
機械学習システム208において、特徴または特性および関連する肺活量データを使用して、機械学習モデル、例えば、ニューラルネットワークモデルは肺活量を予測するよう訓練され得る。例えば、特徴と関連する肺活量データは、ニューラルネットワークまたは他の機械学習モデルのパラメータ(例えば、重みとバイアス)を最適化または訓練するための訓練データとして使用される。次に、訓練されたニューラルネットワーク(または他の機械学習モデル)を使用して、例えばニューラルネットワークがこれまでに見たことのない新しい特徴のセットが与えられた場合に、肺活量210を予測することができる。
【0032】
図3は、一実施形態における個人の登録プロセスを示している。このプロセスは、特定の個人の肺活量を決定するために、特定の個人の参照ポイントまたはレベルをカスタマイズまたは決定する。個人からの音声データ302を受信する。例えば、母音、子音、もしくは他の文字のような音、またはそれらを組み合わせた音声を発声するように個人に促すことができ、その音がキャプチャされる。音声処理システム304において、音声処理は、キャプチャまたは受信された音から、特徴または特性を抽出または計算する。抽出された特性には、音声/非音声活動量306が含まれる場合があるが、これに限定されない。訓練された機械学習システム308において、訓練された機械学習モデル、例えば、ニューラルネットワークモデルが、肺活量310を予測するために機械学習モデルの入力特徴として特性を使用して実行する。例えば、機械学習モデルは、
図2に示すプロセスに従って訓練されたニューラルネットワークとすることができる。データ分析システム312において、予測データ(肺活量)310をこの個人の基準値または参照ポイントとして指定することができる。予測された肺活量は、例えば、データベース314または記憶装置に保存され得る。
【0033】
図4は、一実施形態において起こり得る呼吸器疾患を検出するための個人のテストの実施を示す図である。このようなテストは、例えば、ユーザインタフェースを備えたアプリケーションまたはアプリを実行するユーザのモバイルデバイスまたは他のデバイスで実施され得る。音声データ402が個人から受信される。例えば、個人は、母音、子音、もしくは他の文字のような音、またはそれらを組み合わせた音声を発声するように促される場合があり、その音がキャプチャされる。音声処理システム404において、音声処理は、キャプチャまたは受信された音から特徴または特性を抽出または計算する。抽出された特性には、音声/非音声活動量406が含まれ得るが、これに限定されない。訓練された機械学習システム408において、訓練された機械学習モデル、例えば、ニューラルネットワークモデルが、肺活量410を予測するために機械学習モデルの入力特徴として特性を使用して実行する。例えば、機械学習モデルは、
図2に示すプロセスに従って訓練されたニューラルネットワークでとすることができる。機械学習システム414において、予測データ(肺活量)410は、過去に保存され(例えば、
図3に示すように)、この使用または個人の基準値を保存するデータベース412から受信または取得した基準値または参照ポイントと比較される。予測された肺活量410と基準値の肺活量との差が閾値(例えば、事前定義された許容範囲)を超えるかまたは範囲外にある場合、機械学習システム414での処理は、ユーザの肺活量が正常範囲から逸脱していることを示すフラグまたは信号を送る。
【0034】
音声または非音声活動量の検出(例えば、
図2の音声/非音声活動量206、
図3の音声/非音声活動量306、および/または
図4の音声/非音声活動量406)は、以下を含むことができる。音声は、子音と母音のシーケンスであり、それらの間に自然な沈黙がある非調和音と調和音である。これにより、音声は広範囲のスペクトル時間変調を伴う複雑な信号になる。音声の有用な時間変調は0~20Hzの範囲にあり、4Hz付近にピークがある。一方、スペクトル変調は、0~6サイクル/オクターブの範囲に及ぶ。ピッチまたはボイシングは2~6サイクル/オクターブの範囲の変調をもたらすが、2サイクル/オクターブ未満の変調はフォルマント情報を反映する。音声のこれらの変調特性に基づいて情報をキャプチャする様々な種類の音響特性を使用して、効果的な音声/非音声の検出を行うことができる。
【0035】
図5は、一実施形態における音声活動検出(SAD)のためのスペクトル特性および変調特性を示す図である。音響特性は、異なる信号処理技術を使用して生成される場合があり、短期スペクトル特性、長期変調周波数、および結合スペクトル時間特性としてキャプチャする変調の種類によって大まかに分類され得る。短期スペクトル特性は、例えば、メル周波数ケプストラム係数(MFCC)、知覚線形予測(PLP)特性などの音声信号の短い分析ウィンドウ(例えば、10~30ms)のパワースペクトル推定から抽出され得る。長期変調周波数要素は、例えば、デルタおよびダブルデルタ特性を備えたサブバンドログメルエネルギー特性などの音声のサブバンドエンベロープから数百ミリ秒に及ぶ長い分析ウィンドウで推定することができる。結合スペクトロ時間特性は、例えば、多重解像度レート/スケール特性などの入力スペクトログラムの異なるレートとスケールに調整された2D(2次元)選択的フィルターを使用して抽出され得る。
【0036】
図6は、一実施形態における肺活量を決定する方法を示す図である。例えば、モバイルデバイスなどのユーザデバイス上で実行されている1つまたは複数のハードウェアプロセッサが、この方法を実行することができる。ステップ602において、ユーザは、単母音または一連の母音を発声するように促される。例えば、ユーザは1回の呼気でその音を出すように要求される場合がある。一実施形態において、ユーザは、特定の母音または一連の母音640を読み上げるよう提示される場合がある。ステップ604において、ユーザが音声を発声しているときの映像および音声は、例えば、ユーザのデバイスに接続または結合されたカメラおよびマイクを介してキャプチャされる。
【0037】
ステップ606において、キャプチャされた映像の分析または画像処理を実行することができる。そのような画像処理は、発話の適合性を検証し、例えば、音を出している間のユーザの唇の動きもしくは姿勢またはその両方を分析することによって、ユーザの同一性を検証すること(例えば、肺活量が決定されているユーザが発話をしているユーザと同じユーザである)、および、ユーザが適切な方法で発声をしていることを検証することを含み得る。ステップ608において、例えば、ユーザが早口なのか、短縮された音声を出すのか、長く伸ばされた音声を出すのか、つぶやいているのか、もしくはささやいているのか、またはそれらの組み合わせかなど、音を出すことに関連する適合性を決定するために、キャプチャされた音声のスペクトル分析を実行することができる。
【0038】
ステップ610において、映像と音声の両方が適合しているか否かが決定される。ステップ610でNOである場合、手順はステップ602に戻り、ユーザは再び音を出すように促される。映像と音声の両方が適合している場合、ステップ612において、発話の開始時間と終了時間が記録され、キャプチャされた音声または発話とともに容量推定部638に送信される。例えば、容量推定部638は、音の特徴または特性を計算し、例えば
図4に示すように、ユーザの肺活量を決定する。ユーザの基準値を決定するため(例えば、
図3に示すように)および/または機械学習モデルの訓練を行うため(例えば、
図2に示すように)の適切な発話データを収集するために、
図6に示す処理を使用することができる。
【0039】
上記の処理は、ユーザが他の音、例えば、子音を出すまたは、所与のテキストを読み上げる間にも実行され得る。例えば、ステップ614において、ユーザは、子音または一連の子音を発声するように促される。例えば、ユーザは1回の呼気で音を出すように要求される場合がある。一実施形態において、ユーザは、特定の子音または一連の子音640を読み上げるよう提示される場合がある。ステップ616において、ユーザが音声を発声しているときの映像および音声は、例えば、ユーザのデバイスに接続または結合されたカメラおよびマイクを介してキャプチャされる。
【0040】
ステップ618において、キャプチャされた映像の分析または画像処理を実行することができる。そのような画像処理は、発話の適合性を検証し、例えば、音を出している間のユーザの唇の動きもしくは姿勢またはその両方を分析することによって、ユーザの身元を検証すること(例えば、肺活量が決定されているユーザが発話をしているのと同じユーザである)、および、ユーザが適切な方法で発声をしていることを検証することを含み得る。ステップ620において、例えば、ユーザが早口なのか、短縮された音声を出すのか、長く伸ばされた音声を出すのか、つぶやいているのか、もしくはささやいているのか、またはそれらの組み合わせかなど、音を出すことに関連する適合性を決定するために、キャプチャされた音声のスペクトル分析を実行することができる。
【0041】
ステップ622において、映像と音声の両方が適合しているか否かが決定される。ステップ622でNOである場合、手順はステップ614に戻り、ユーザは再び音を出すように促される。映像と音声の両方が適合している場合、ステップ624において、発話の開始時間と終了時間が記録され、キャプチャされた音声または発話とともに容量推定部638に送信される。例えば、容量推定部638は、音の特徴または特性を計算し、例えば
図4に示すように、ユーザの肺活量を決定する。
【0042】
同様に、ステップ626において、ユーザは、所与のテキストを読み上げることによって1つまたは複数の音を発声するように促される。例えば、ユーザは1回の呼気で音を出すように要求される場合がある。一実施形態において、ユーザは、特定のテキスト640を読み上げるよう提示される場合がある。ステップ628において、ユーザが音声を発声しているときの映像および音声は、例えば、ユーザのデバイスに接続または結合されたカメラおよびマイクを介してキャプチャされる。
【0043】
ステップ630において、キャプチャされた映像の分析または画像処理を実行することができる。そのような画像処理は、発話の適合性を検証し、例えば、音を出している間のユーザの唇の動きもしくは姿勢またはその両方を分析することによって、ユーザの身元を検証すること(例えば、肺活量が決定されているユーザが発話をしているのと同じユーザである)、および、ユーザが適切な方法で発話をしていることを検証することを含み得る。ステップ632において、例えば、ユーザが早口なのか、短縮された音声を出すのか、長く伸ばされた音声を出すのか、つぶやいているのか、もしくはささやいているのか、またはそれらの組み合わせかなど、音を出すことに関連する適合性を決定するために、キャプチャされた音声のスペクトル分析を実行することができる。
【0044】
ステップ634において、映像と音声の両方が適合しているか否かが決定される。ステップ634でNOである場合、手順はステップ626に戻り、ユーザは再び音を出すように促される。映像と音声の両方が適合している場合、ステップ636において、発話の開始時間と終了時間が記録され、キャプチャされた音声または発話とともに容量推定部638に送信される。例えば、容量推定部638は、音の特徴または特性を計算し、例えば
図4に示すように、ユーザの肺活量を決定する。容量推定部638は、肺活量を決定するために、母音、子音、およびテキスト読み上げ音声640におけるすべて、または1つもしくは複数、または異なる組み合わせを使用する場合がある。
【0045】
図7は、一実施形態におけるコンピュータ実装方法を示す図である。この方法は、1つまたは複数のハードウェアプロセッサによって実行される場合がある。ステップ702において、ユーザは、実行される発話の仕様を提示される場合がある。仕様には、例えば、一連の母音、一連の子音、読まれるテキストパッセージ、読まれる原稿、繰り返される音声パッセージ、歌われる既知の歌、および歌唱映像などの発声されるデータを含み得る。
【0046】
ステップ704において、発話を実行するユーザの音声波形がキャプチャされる。例えば、そのような音声波形は、モバイルデバイスなどのユーザデバイスに結合または接続されたマイクまたは同様のデバイスを使用して、キャプチャされる場合がある。ステップ706において、発話を実行しているユーザの映像がキャプチャされる。例えば、そのような映像は、モバイルデバイスなどのユーザデバイスに結合または接続されたカメラまたは同様のデバイスを使用して、キャプチャされる場合がある。
【0047】
発話の実行は、仕様への準拠についてモニタリングされる場合がある。例えば、ステップ708において、キャプチャされた音声波形と映像が仕様に準拠しているかどうかが分析される。例えば、映像分析では、発話を行っているユーザが、肺活量が決定されているユーザであるかどうか、ユーザが肺活量測定で使用する適切な音響特性を生成するために、適切または正確な唇の動きを行っているかどうか、発話をしている間、ユーザが適切な姿勢または位置にあるかどうか、および/またはその他について決定することができる。例えば、映像データを使用して、ユーザの継続的な同一性を確定すること、もしくはユーザが要求されたシーケンスを正しく発声したことを確定すること、またはその両方をすることができる。音声波形を分析して、ユーザが発話を早口で行っているかどうか、音節が適切に発話されているかどうか(例えば、短縮されていない、長くなりすぎていないなど)、および/またはその他を判断することができる。例えば、取得した情報を、事前定義可能な閾値または標準値と比較して、準拠しているかを判断することができる。
【0048】
ステップ710において、音声波形に基づいて、呼吸機能の指標を決定することができる。例えば、指標は肺活量測定である場合がある。一実施形態において、肺活量を予測するように訓練されたニューラルネットワークは、例えば、
図2、
図3および
図4を参照して上記で説明したように、入力特徴として音声波形の特性を使用して実行することができる。入力特徴は、発話に関連するスペクトルもしくは時間的特徴またはその両方を含むことができる。例えば、入力特徴は、ユーザが1回の呼吸で発話の一部を実行するのにかかる時間の長さである場合がある。
【0049】
ステップ712において、指標は、例えば、
図3および
図4を参照して上記で説明したように、ユーザの健康状態を決定するために参照指標と比較される場合がある。他の態様において、指標は、ユーザが1回の呼吸で発話の一部を実行するのにかかる時間の長さである場合がある。このような指標は、ユーザが健康な状態にあるとみなされるときに、ユーザが同じ発話を実行するのにかかる時間のユーザの基準測定値と比較される場合がある。参照指標には、ユーザが健康であるとみなされる期間中に取得されたユーザに関連するデータが含まれる。例えば、参照指標は、ユーザによって実行された複数のセッションを組み合わせることによって構築されることがある。他の実施形態においては、参照指標は、ユーザの人口統計学的グループ内の個人のグループ、またはユーザと同様の身体的特徴を有するグループに関連するデータを含み得る。
【0050】
一実施形態において、例えば、分析、決定、および比較といった方法の1つまたは複数の処理は、コンピュータネットワーク上のリモートデバイス上で、例えば、クラウドシステム上で、例えば、アプリまたはアプリケーションプログラミングインタフェース(API)を実行しているユーザのモバイルデバイスを介してユーザから収集された音声情報もしくは映像情報またはその両方を使用して実行することができる。
【0051】
図8は、例えばユーザがユーザの肺活量の自己評価を実行することを可能にする、一実施形態におけるユーザの肺活量を決定するシステムの構成要素を示す図である。中央処理装置(CPU)、グラフィック処理装置(GPU)、および/またはフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、および/または他のプロセッサのような1つまたは複数のハードウェアプロセッサ802は、メモリデバイス804と結合されている場合があり、実行される発話の仕様をユーザに提示し、発話を実行するユーザの音声波形をキャプチャし、発話を実行するユーザの映像をキャプチャすることができる。1つまたは複数のハードウェアプロセッサ802は、キャプチャされた音声波形および映像を分析して仕様に準拠しているかどうかを分析する場合があり、および音声波形に基づいて、呼吸機能の指標を決定する場合がある。1つまたは複数のハードウェアプロセッサ802は、ユーザの健康状態を判断するために、その指標を参照指標と比較する場合がある。メモリデバイス804は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、または他のメモリデバイスを備える場合があり、本明細書に記載の方法もしくはシステムまたはその両方に関連する様々な機能を実装するためのデータもしくはプロセッサ命令またはその両方を保存する場合がある。1つまたは複数のプロセッサ802は、メモリ804に格納されているか、または他のコンピュータデバイスまたは媒体から受信されたコンピュータ命令を実行する場合がある。メモリデバイス804は、例えば、1つまたは複数のハードウェアプロセッサ802の機能のための命令もしくはデータまたはその両方を保存する場合があり、命令もしくはデータまたはその両方の処理システムおよび他のプログラムを備える場合がある。1つまたは複数のハードウェアプロセッサ802は、ユーザの発話もしくは発話を行うユーザの映像またはその両方を含む入力を受信する場合がある。1つまたは複数のハードウェアプロセッサ802は、肺活量を予測する予測モデルを生成する場合がある。予測モデルを使用して、例えば比較のために、ユーザまたはユーザのグループの基準値または参照ポイントを決定することができる。入力データもしくは予測モデルまたはその両方は、記憶装置806に保存されるか、またはリモートデバイスからネットワークインタフェース808を介して受信され、使用するためにメモリデバイス804に一時的に読み込まれる場合がある。1つまたは複数のハードウェアプロセッサ802は、例えばネットワークを介してリモートシステムと通信するためのネットワークインタフェース808のようなインタフェースデバイスと、キーボード、マウス、画面、および/またはその他などの入力/出力デバイスと通信するための入力/出力インタフェース810とに結合され得る。
【0052】
図9は、一実施形態においてシステムを実装することができる例示的なコンピュータまたは処理システムの概略図を示す図である。コンピュータシステムは、適切な処理システムの一例に過ぎず、本明細書に記載の方法論の実施形態の使用範囲または機能に関する限定を示唆することを意図するものではない。示されている処理システムは、他の多くの汎用または特殊な目的のコンピューティングシステム環境または構成で動作可能である。
図9において示される処理システムでの使用に適する周知のコンピューティングシステム、環境、および/または構成の例には、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、および上記のシステムまたはデバイスのいずれかを含む分散クラウドコンピューティング環境などが含まれる場合があるが、これらに限定されない。
【0053】
コンピュータシステムは、コンピュータシステムによって実行されるプログラムモジュールのようなコンピュータシステムによって実行可能な命令の一般的なコンテキストで説明することができる。一般に、プログラムモジュールには、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、構成要素、ロジック、データ構造などが含まれる場合がある。コンピュータシステムは、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウドコンピューティング環境で、実行される場合がある。分散クラウドコンピューティング環境において、プログラムモジュールは、メモリストレージデバイスを含むローカルおよびリモートの両方のコンピュータシステムストレージメディアに配置される場合がある。
【0054】
コンピュータシステムの構成要素は、1つまたは複数のプロセッサまたは処理ユニット12、システムメモリ16、およびシステムメモリ16を備える様々なシステム構成要素をプロセッサ12に結合するバス14を備える場合があるが、これらに限定されない。プロセッサ12は、本明細書に記載の方法を実行するモジュール30を備える場合がある。モジュール30は、プロセッサ12の集積回路にプログラムされるか、またはシステムメモリ16、記憶装置18、またはネットワーク24またはそれらの組み合わせから読み取られる場合がある。
【0055】
バス14は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーショングラフィックスポート、および様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のいずれか1つまたは複数である場合がある。例として、これらに限定されないが、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびPeripheral Component Interconnect(PCI)バスを含む。
【0056】
コンピュータシステムは、様々なコンピュータシステム可読媒体を備える場合がある。そのような媒体は、コンピュータシステムによってアクセス可能な任意の利用可能な媒体である場合があり、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を備え得る。
【0057】
システムメモリ16は、ランダムアクセスメモリ(RAM)および/またはキャッシュメモリのような揮発性メモリの形態のコンピュータシステム可読媒体を備え得る。コンピュータシステムは、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータシステム記憶媒体をさらに備え得る。一例として、記憶装置18は、非リムーバブルで不揮発性の磁気媒体(例えば、「ハードドライブ」)からの読み取りおよび書き込みのために使用され得る。不図示だが、リムーバブルで不揮発性の磁気ディスク(例えば、「フロッピーディスク」)からの読み取りおよび書き込みのための磁気ディスクドライブ、またはCD-ROM、DVD-ROM、または他の光学媒体のようなリムーバブルで不揮発性のディスクからの読み取りまたは書き込みのための光学ディスクドライブが使用され得る。そのような場合、それぞれ1つまたは複数のデータメディアインタフェースによって、バス14に接続され得る。
【0058】
コンピュータシステムはまた、キーボード、ポインティングデバイス、画面28などのような、1つまたは複数の外部デバイス26と通信する場合がある。1つまたは複数のデバイスは、ユーザがコンピュータシステムと通信できるようにするものであってもよく、および/またはコンピュータシステムが1つまたは複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)であってもよい。そのような通信は、入力/出力(I/O)インタフェース20を介して実行する。
【0059】
なお、コンピュータシステムは、ネットワークアダプタ22を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、および/またはパブリックネットワーク(例えば、インターネット)のような1つまたは複数のネットワーク24と通信する場合がある。図示するように、ネットワークアダプタ22は、バス14を介してコンピュータシステムの他の構成要素と通信する。不図示だが、他のハードウェアもしくはソフトウェア構成要素またはその両方を、コンピュータシステムと組み合わせて使用できることを理解されたい。例には、マイクロコード、デバイスドライバー、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、データアーカイブストレージシステムなどが含まれるが、これらに限定されない。
【0060】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載した教示の実装形態はクラウドコンピューティング環境に限定されないことを事前に理解されたい。むしろ、本発明の実施形態は、現在公知のまたは将来開発される他の任意の種類のコンピュータ環境と共に実施することができる。クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがある。
【0061】
特性は以下の通りである。
【0062】
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
【0063】
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
【0064】
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
【0065】
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
【0066】
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
【0067】
サービスモデルは以下の通りである。
【0068】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
【0069】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
【0070】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含む任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
【0071】
展開モデルは以下の通りである。
【0072】
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0073】
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0074】
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
【0075】
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
【0076】
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0077】
ここで、
図10に例示的なクラウドコンピューティング環境50を示す。図示するように、クラウドコンピューティング環境50は1つ以上のクラウドコンピューティングノード10を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、PDAもしくは携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは自動車コンピュータシステム54Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード10は互いに通信することができる。ノード10は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つ以上のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境50は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、
図10に示すコンピュータ装置54A~Nの種類は例示に過ぎず、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
【0078】
ここで、クラウドコンピューティング環境50(
図10)によって提供される機能的抽象化レイヤのセットを
図11に示す。なお、
図11に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本発明の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
【0079】
ハードウェアおよびソフトウェアレイヤ60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワークコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
【0080】
仮想化レイヤ70は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75。
【0081】
一例として、管理レイヤ80は以下の機能を提供することができる。リソース準備81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定82は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウド消費者およびタスクの識別確認を可能にする。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行85は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
【0082】
ワークロードレイヤ90は、クラウドコンピューティング環境が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育の配信93、データ分析処理94、取引処理95、ならびに、スピーチ・肺活量処理96。
【0083】
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
【0084】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD?ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
【0085】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピュータ装置/処理装置へダウンロード可能である。あるいは、ネットワーク(例えばインターネット、LAN、WANもしくはワイヤレスネットワークまたはこれらの組み合わせ)を介して、外部コンピュータまたは外部記憶装置へダウンロード可能である。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはこれらの組み合わせを備えることができる。各コンピュータ装置/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、各々のコンピュータ装置/処理装置におけるコンピュータ可読記憶媒体に記憶するために転送する。
【0086】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、スモールトークやC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン型ソフトウェアパッケージとして完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、完全にリモートコンピュータもしくはサーバ上で実行可能である。後者の場合、リモートコンピュータは、LANやWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続してもよいし、外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続してもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行する目的で当該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
【0087】
本発明の各態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品のフローチャートもしくはブロック図またはその両方を参照して説明されている。フローチャートもしくはブロック図またはその両方における各ブロック、および、フローチャートもしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行可能である。
【0088】
上記のコンピュータ可読プログラム命令は、機械を生産するために、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサに提供してよい。これにより、かかるコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行するための手段を創出する。上記のコンピュータ可読プログラム命令はさらに、コンピュータ、プログラマブルデータ処理装置もしくは他の装置またはこれらの組み合わせに対して特定の態様で機能するよう命令可能なコンピュータ可読記憶媒体に記憶してよい。これにより、命令が記憶された当該コンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作の態様を実行するための命令を含む製品を構成する。
【0089】
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブル装置、または他の装置にロードし、一連の動作ステップを当該コンピュータ、他のプログラマブル装置、または他の装置上で実行させることにより、コンピュータ実行プロセスを生成してもよい。これにより、当該コンピュータ、他のプログラマブル装置、または他の装置上で実行される命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行する。
【0090】
図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に係るシステム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行してもよい。例えば、連続して示される2つのブロックは、実際には、関係する機能に応じて、1つの工程として達成してもよいし、同時もしくは略同時に実行してもよいし、部分的もしくは全体的に時間的に重複した態様で実行してもよいし、または場合により逆順で実行してもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能または動作を行う専用ハードウェアベースのシステムによって、または専用ハードウェアとコンピュータ命令との組み合わせによって実行可能である。
【0091】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明を限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」および「the」は、文脈が明確に他のことを示さない限り、複数形も含むことを意図している。本明細書で使用される場合、「または」という用語は包括的演算子であり、文脈が明示的または明確に他のことを示さない限り、「および/または」を意味することができる。本明細書で使用される場合、「含む(comprise)」、「含む(comprises)」、「含む(comprising)」、「含む(include)」、「含む(includes)」、「含む(including)」、および/または「有する(having)」という用語は、記載された特徴、整数、ステップ、操作、要素、もしくは構成要素、またはそれらの組み合わせの存在を特定できることがさらに理解されよう。 ただし、1つまたは複数の他の特徴、整数、ステップ、操作、要素、構成要素、もしくはそれらのグループ、またはそれらの組み合わせの存在または追加を排除するものではない。本明細書で使用される場合、「一実施形態において(in an embodiment)」という句は、必ずしも同じ実施形態を指すとは限らないが、そうである場合もある。本明細書で使用される場合、「一実施形態において(in one embodiment)」という句は、必ずしも同じ実施形態を指すとは限らないが、そうである場合もある。本明細書で使用される場合、「他の実施形態において(in another embodiment)」という句は、必ずしも他の実施形態を指すとは限らないが、そうである場合もある。さらに、実施形態および/または実施形態の構成要素は、それらが相互に排他的でない限り、互いに自由に組み合わせることができる。
【0092】
以下の特許請求の範囲におけるすべての対応する構造、材料、行為、および同等物またはステッププラス関数要素は、特に主張されているように、他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、または行為を含むことを意図している。本発明の説明は、例示および説明の目的で提示されたが、網羅的であることを意図するものではなく、または開示された形態の本発明に限定されることを意図するものではない。多くの修正および変形は、本発明の範囲および精神から逸脱することなく、当業者には明らかであろう。実施形態は、本発明の原理および実際の適用を最もよく説明し、当業者が、企図される特定の使用に適した様々な修正を伴う様々な実施形態について本発明を理解できるようにするために選択および説明された。