(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-31
(45)【発行日】2025-02-10
(54)【発明の名称】複数の測定による推定のための方法、装置及びプログラム
(51)【国際特許分類】
G10K 15/00 20060101AFI20250203BHJP
【FI】
G10K15/00 Z
(21)【出願番号】P 2022564800
(86)(22)【出願日】2021-09-30
(86)【国際出願番号】 US2021052962
(87)【国際公開番号】W WO2022225548
(87)【国際公開日】2022-10-27
【審査請求日】2022-10-25
(32)【優先日】2021-04-23
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ジュン・ティアン
【審査官】菊池 智紀
(56)【参考文献】
【文献】特表2016-507173(JP,A)
【文献】米国特許出願公開第2021/0099825(US,A1)
【文献】米国特許出願公開第2016/0330493(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 15/00-15/12
H04S 1/00- 7/00
G10L 19/00-25/93
(57)【特許請求の範囲】
【請求項1】
オーディオレンダリングプログラムの複雑度
Aを推定する方法であって、前記方法は、
オーディオ評価プラットフォームで、
k回の測定を実行するステップであって、各回の測定は、前記オーディオレンダリングプログラムの
L
i
個のインスタンスを実行して、リソースの消費量の第i番目の測定を実行し、測定値A
i
を取得することを含み、1≦i≦kであり、kは2以上の正の整数であり、L
i
は正の整数でありかつ互いに異なっている、ステップと、
【数1】
という線形回帰モデルによって前記複雑度Aを推定するステップと、
を含む、方法。
【請求項2】
k=2であり、L
1
=L
2
-1である、請求項1に記載の方法。
【請求項3】
k=2であり、前記線形回帰モデルによって前記複雑度Aを推定する前記ステップが、
測定値A
1
と測定値A
2
との間の第1の差を決定するステップと、
L
1
とL
2
との間の第2の差を決定するステップと、
前記第1の差を前記第2の差で除算して、前記複雑度Aの推定値を求めるステップと、を含む請求項1に記載の方法。
【請求項4】
前記リソースが、中央処理装置(CPU)ランタイム、グラフィックス処理ユニット(GPU)ランタイム、CPU占有率、またはGPU占有率のうちの1つを含む、請求項1に記載の方法。
【請求項5】
前記リソースの前記消費量が、前記リソースのランタイム、または前記リソースの占有割合のうちの1つである、請求項1に記載の方法。
【請求項6】
前記オーディオ評価プラットフォームが、CPUに基づくプラットフォーム、またはGPUに基づくプラットフォームのうちの1つである、請求項1に記載の方法。
【請求項7】
請求項1から6のいずれか一項に記載の方法を実行するように構成された処理回路
を備える、装置。
【請求項8】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
請求項1から6のいずれか一項に記載の方法を実行させる命令を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月23日に出願された米国仮出願第63/178,660号「ESTIMATION THROUGH MULTIPLE MEASUREMENTS」の優先権の利益を主張する、2021年9月29日に出願された米国特許出願第17/488,419号「ESTIMATION THROUGH MULTIPLE MEASUREMENTS」の優先権の利益を主張する。先行出願の開示は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、一般にノイズの多い環境での推定に関連する実施形態を説明する。
【背景技術】
【0003】
本明細書において提供される背景技術の説明は、本開示の文脈を大まかに提示することを目的としている。ここに記名された発明者の仕事は、その仕事がこの背景技術セクションに記載されている程度まで、ならびにさもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、本開示に対する従来技術として、明示的にも黙示的にも認められていない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ノイズの多い環境での数量の推定は、測定値がしばしばノイズに汚染されるため困難な作業である。いくつかの関連する例では、没入型オーディオレンダラの複雑度推定に対して自己比較法が提案されている。自己比較法では、複雑度は、中央処理装置(CPU)の使用率を、アプリケーションプログラムの1つのインスタンスおよびN個のインスタンスに対して比較することによって測定される。
【課題を解決するための手段】
【0005】
本開示の態様は、オーディオレンダリングプログラムの複雑度を推定するための装置を提供する。1つの装置は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第1の複数のインスタンスを実行して、リソースの消費量の第1の測定を実行する処理回路を備える。処理回路は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第2の複数のインスタンスを実行して、リソースの消費量の第2の測定を実行する。第1の複数のインスタンスの第1の数は、第2の複数のインスタンスの第2の数とは異なっている。処理回路は、第1の測定値、第2の測定値、第1の複数のインスタンスの第1の数、および第2の複数のインスタンスの第2の数に基づいて、オーディオレンダリングプログラムの複雑度を推定する。
【0006】
一実施形態では、第1の複数のインスタンスの第1の数は、第2の複数のインスタンスの第2の数から1を引いたものと等しい。
【0007】
一実施形態では、処理回路は、第1の測定値と第2の測定値間の消費量の差を決定する。処理回路は、第1の複数のインスタンスの第1の数と、第2の複数のインスタンスの第2の数との間の即時的な差を決定する。処理回路は、消費量の差と即時的な数の差とに基づいて、オーディオレンダリングプログラムの複雑度を推定する。
【0008】
一実施形態では、処理回路は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第3の複数のインスタンスを実行して、リソースの消費量の第3の測定を実行する。処理回路は、第1の測定値、第2の測定値、および第3の測定値に適用された線形回帰モデルに基づいて、オーディオレンダリングプログラムの複雑度を推定する。
【0009】
一実施形態では、リソースは、中央処理装置(CPU)ランタイム、グラフィックス処理ユニット(GPU)ランタイム、CPU占有率、またはGPU占有率のうちの1つを含む。
【0010】
一実施形態では、リソースの消費量は、リソースのランタイム、またはリソースの占有割合のうちの1つである。
【0011】
一実施形態では、オーディオレンダリングプラットフォームは、CPUに基づくプラットフォーム、またはGPUに基づくプラットフォームのうちの1つである。
【0012】
本開示の態様は、オーディオレンダリングプログラムの複雑度を推定するための方法を提供する。1つの方法では、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第1の複数のインスタンスを実行することによって、リソースの消費量の第1の測定が実行される。第2の測定は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第2の複数のインスタンスを実行することによって、リソースの消費量に対して実行される。第1の複数のインスタンスの第1の数は、第2の複数のインスタンスの第2の数とは異なっている。プログラムの複雑度は、第1の測定値、第2の測定値、第1の複数のインスタンスの第1の数、および第2の複数のインスタンスの第2の数に基づいて推定される。
【0013】
本開示の態様はまた、少なくとも1つのプロセッサによって実行されるときに、少なくとも1つのプロセッサに、オーディオレンダリングプログラムの複雑度を推定するための方法の任意の1つまたは組合せを実行させる命令を記憶する、非一時的コンピュータ可読媒体を提供する。
【0014】
開示されている主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
【図面の簡単な説明】
【0015】
【
図1】本開示の一実施形態による6自由度の一例を示す。
【
図2】本開示の一実施形態による例示的なフローチャートを示す。
【
図3】本開示の一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0016】
I.複雑度推定
動画専門家集団(MPEG)は、没入型オーディオ、没入型ビデオ、およびシステムサポートを含む標準のスイートを提案してきた。標準のスイートは、ユーザが6自由度(6 DoF)を使用して環境をナビゲートし環境と対話できる、仮想現実(VR)または拡張現実(AR)表現をサポートすることができる。
図1は、本開示の一実施形態による6自由度の一例を示す。
図1において、6自由度は、空間ナビゲーション(x、y、z)とユーザの頭の方向(ヨー、ピッチ、ロール)とで表すことができる。
【0017】
没入型のオーディオまたはビデオ環境では、デバイス(例えば、VRまたはARデバイス)上で稼働しているプログラムの複雑度を正確に推定することは、ノイズの存在により困難になっている。
【0018】
いくつかの関連する例では、プログラムの複雑度を推定するために自己比較法を使用することができる。例えば、オーディオシーンでは、オーディオレンダリングプログラムの複雑度は、オーディオレンダリングプログラムがCPUで稼働しているときは、中央処理装置(CPU)の使用量(ランタイム)によって推定することができる。オーディオレンダリングプログラムは、音楽およびマルチメディア用の視覚的プログラミング言語であるMax/MSPであってもよい。
【0019】
一例において、オーディオレンダリングプログラムは、オーディオ評価プラットフォーム(AEP)などの、MPEG標準における標準のテストベンチで実行することができる。オーディオレンダリングプログラムは、プラグインソフトウェアとしてAEP上で実行することができる。第1の測定では、オーディオレンダリングプログラムは、プラグインソフトウェアの1つのインスタンスを用いてAEP上で実行でき、測定されたCPUワークロードはA1である。第2の測定では、オーディオレンダリングプログラムは、プラグインソフトウェアの複数の(N個の)インスタンスを用いてAEP上で実行でき、測定されたCPUワークロードはANである。したがって、オーディオレンダリングプログラムの複雑度は、Aplugin=(AN-A1)/(N-1)で推定することができる。Apluginは、比較複雑度推定に使用することができる。
【0020】
自己比較法の前提は、測定値ANのノイズが、測定値A1のノイズと等しいことである。ANとA1のノイズは1つの事例では近似する場合があっても、別の事例ではまったく異なっている可能性がある。この知見により、本開示は、ノイズの多い環境でより良好な推定を得るために、複数の測定によって複雑度を推定する方法を含む。
【0021】
開示する推定方法は、複雑度の測定に限定されない。ノイズの多い環境における様々な変数の推定に適用可能である。
【0022】
なお、本開示に含まれる方法は、個別に、または組み合わせて使用することができる。本方法は部分的に、または全体的に使用することができる。
【0023】
本開示では、複雑度測定値は、オーディオレンダリングプログラムのインスタンスが、CPUに基づくプラットフォーム、グラフィックス処理ユニット(GPU)に基づくプラットフォームなどの、所定のプラットフォームで稼働しているときのリソースの消費量とすることができる。リソースの消費量は、リソースランタイム、リソースの占有割合などで測定することができる。
【0024】
一実施形態では、第1の測定は、AEPで、プラグインソフトウェアの第1の複数の(M1個の)インスタンスを実行することによって実行でき、リソースの消費量はAM1である。第2の測定は、AEPで、プラグインソフトウェアの第2の複数の(M2個の)インスタンスを実行することによって実行でき、同じリソースの消費量はAM2である。オーディオレンダリングプログラムの複雑度は、A=(AM1-AM2)/(M1-M2)で推定でき、M1はM2より大きいと仮定する。この実施形態では、M1とM2は両方とも正の整数であり、M1はM2と等しくない。
【0025】
一実施形態では、M1とM2は両方とも1より大きい。
【0026】
一実施形態では、M2=M1-1である。したがって、第1の測定は、AEPでプラグインソフトウェアのM1個のインスタンスを実行することによって実行でき、リソースの消費量はAM1である。第2の測定は、AEPでプラグインソフトウェアのM1-1個のインスタンスを実行することによって実行でき、同じリソースの消費量はAM1-1である。この実施形態では、M1は2以上の正の整数である。そして、オーディオレンダリングプログラムの複雑度は、A=AM1-AM1-1と推定することができる。
【0027】
一実施形態では、第1の測定は、AEPでプラグインソフトウェアのM1個のインスタンスを実行することによって実行でき、リソースの消費量はA
M1である。第2の測定は、AEPでプラグインソフトウェアのM2個のインスタンスを実行することによって実行でき、同じリソースの消費量はA
M2である。第3の測定は、AEPでプラグインソフトウェアのM3個のインスタンスを実行することによって実行でき、同じリソースの消費量はA
M3である。この実施形態では、M1、M2、およびM3は異なる正の整数である。測定された消費量A
i(i=M1、M2、またはM3)、および推定複雑度Aは、A
i=i*A+Bとして線形回帰モデルにあてはめられると仮定される。そして、推定複雑度Aは、以下の通り線形回帰によって求めることができる。
【数1】
【0028】
一実施形態では、複数の測定A
1、A
2~A
kを実行でき、A
iは、プラグインソフトウェアのL
i個のインスタンスに対する、測定された同じリソースの消費量であり、L
iは正の整数であり、i=1、2、~kであり、kは2以上の正の整数である。測定された消費量A
i および推定複雑度Aは、A
i=L
i*A+Bとして線形回帰モデルに当てはめられると仮定される。そして、推定複雑度Aは、以下の通り線形回帰によって求めることができる。
【数2】
【0029】
II.フローチャート
図2は、本開示の一実施形態による例示的な処理(200)の概要を示すフローチャートを示す。様々な実施形態において、処理(200)は、
図3に示す処理回路などの処理回路によって実行される。いくつかの実施形態では、処理(200)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(200)を実行する。
【0030】
処理(200)は、通常はステップ(S210)から開始してよく、処理(200)は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第1の複数のインスタンスを実行して、リソースの消費量の第1の測定を実行する。次に、処理(200)はステップ(S220)に進む。
【0031】
ステップ(S220)において、処理(200)は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第2の複数のインスタンスを実行して、リソースの消費量の第2の測定を実行する。第1の複数のインスタンスの第1の数は、第2の複数のインスタンスの第2の数とは異なっている。次に、処理(200)はステップ(S230)に進む。
【0032】
ステップ(S230)において、処理(200)は、第1の測定値、第2の測定値、第1の複数のインスタンスの第1の数、および第2の複数のインスタンスの第2の数に基づいて、オーディオレンダリングプログラムの複雑度を推定する。その後、処理(200)は終了する。
【0033】
一実施形態では、第1の複数のインスタンスの第1の数は、第2の複数のインスタンスの第2の数から1を引いたものと等しい。
【0034】
一実施形態では、処理(200)は、第1の測定値と第2の測定値間の消費量の差を決定する。処理(200)は、第1の複数のインスタンスの第1の数と、第2の複数のインスタンスの第2の数との間の即時的な差を決定する。処理(200)は、消費量の差と即時的な数の差とに基づいて、プログラムの複雑度を推定する。
【0035】
一実施形態では、処理(200)は、オーディオ評価プラットフォームで、オーディオレンダリングプログラムの第3の複数のインスタンスを実行して、リソースの消費量の第3の測定を実行する。処理(200)は、第1の測定値、第2の測定値、および第3の測定値に適用された線形回帰モデルに基づいて、オーディオレンダリングプログラムの複雑度を推定する。
【0036】
一実施形態では、リソースは、中央処理装置(CPU)ランタイム、グラフィックス処理ユニット(GPU)ランタイム、CPU占有率、またはGPU占有率のうちの1つを含む。
【0037】
一実施形態では、リソースの消費量は、リソースのランタイム、またはリソースの占有割合のうちの1つである。
【0038】
一実施形態では、プラットフォームは、CPUに基づくプラットフォーム、またはGPUに基づくプラットフォームのうちの1つである。
【0039】
III.コンピュータシステム
上記で説明された技術は、1つ以上のコンピュータ可読媒体に物理的に記憶された、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施され得る。例えば、
図3は開示されている保護対象のいくつかの実施形態を実施するのに好適なコンピュータシステム(300)を示す。
【0040】
コンピュータソフトウェアは、1つ以上のコンピュータ中央処理装置(CPU)およびグラフィックス処理ユニット(GPU)などによって直接的に、または解釈およびマイクロコードの実行などを通して実行され得る命令を含むコードを作成するために、アセンブリ、コンパイル、リンキング、または同様のメカニズムを受け得る任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ得る。
【0041】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーミングデバイス、およびモノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはその構成要素上で実行され得る。
【0042】
コンピュータシステム(300)の
図3に示されている構成要素も当然典型的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定の示唆も意図していない。また、構成要素の構成は、コンピュータシステム(300)の例示的な実施形態に示されている構成要素のいずれか1つまたは組合せに関する依存性または要件を有するものとして解釈されるべきではない。
【0043】
コンピュータシステム(300)はいくつかのヒューマンインターフェース入力デバイスを含んでもよい。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きなどの)触覚入力、(音声、拍手などの)オーディオ入力、(ジェスチャなどの)視覚入力、(描写されていない)嗅覚入力を介して、1人以上の人間のユーザによる入力に応答することができる。ヒューマン・インターフェース・デバイスを用いて、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係ない特定の媒体を取り込むこともできる。
【0044】
入力ヒューマン・インターフェース・デバイスには、キーボード(301)、マウス(302)、トラックパッド(303)、タッチスクリーン(310)、データグローブ(図示せず)、ジョイスティック(305)、マイク(306)、スキャナ(307)、カメラ(308)のうち1つ以上(それぞれ1つのみ図示される)が含まれ得る。
【0045】
コンピュータシステム(300)はいくつかのヒューマンインターフェース出力デバイスも含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および臭い/味を通じて、1人以上の人間のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(310)、データグローブ(図示せず)、またはジョイスティック(305)による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ(309)、ヘッドホン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能の有無にかかわらず、それぞれが触覚フィードバック機能の有無にかかわらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(310)などであり、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を介して二次元視覚出力または三次元以上の出力が可能であり得る)、およびプリンタ(図示せず)を含んでもよい。これらの視覚出力デバイス(スクリーン(310など)は、グラフィックスアダプタ(350)を通じてシステムバス(348)に接続することができる。
【0046】
コンピュータシステム(300)は、CD/DVDなどの媒体(321)をともなうCD/DVD ROM/RW(320)を含む光媒体、サムドライブ(322)、リムーバブルハードドライブやソリッドステートドライブ(323)、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用のROM/ASIC/PLDベースのデバイスなど、人間がアクセス可能な記憶デバイスおよびその関連媒体を含むこともできる。
【0047】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0048】
コンピュータシステム(300)はまた、1つ以上の通信ネットワーク(355)とのネットワークインターフェース(354)も含むことができる。1つ以上の通信ネットワーク(355)は、例えば、無線、有線、光であり得る。1つ以上の通信ネットワーク(355)はさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業、リアルタイム、ならびに遅延耐性などであり得る。1つ以上の通信ネットワーク(355)の例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、およびLTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含む有線または無線TVワイドエリアデジタルネットワーク、ならびにCANBusを含む車両および産業用のものなどを含む。特定のネットワークは、通常、(例えば、コンピュータシステム(300)のUSBポートなどの)特定の汎用データポートまたは周辺バス(349)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、通常、以下に記載されるシステムバスに取り付けることによってコンピュータシステム(300)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。このようなネットワークのいずれを用いても、コンピュータシステム(300)は相手方と通信することができる。そのような通信は、単方向受信のみ(例えば、ブロードキャストTV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルもしくは広域のデジタルネットワークを使用する他のコンピュータシステムとの双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上記で説明したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
【0049】
前述のヒューマン・インターフェース・デバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェースを、コンピュータシステム(300)のコア(340)に取り付けることができる。
【0050】
コア(340)には、1つ以上の中央処理装置(CPU)(341)、グラフィックス処理ユニット(GPU)(342)、フィールド・プログラマブル・ゲート・エリア(FPGA)(343)、特定のタスクのハードウェアアクセラレータ(344)などの形式の特殊なプログラマブル処理装置を含めることができる。これらの装置は、読み取り専用メモリ(ROM)(345)、ランダムアクセスメモリ(346)、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量記憶装置(347)と共に、システムバス(348)を介して接続され得る。いくつかのコンピュータシステムでは、システムバス(348)は、追加のCPU、GPUなどによって拡張を可能にする1つ以上の物理的なプラグの形態をとる直接操作し得るものであることが可能である。周辺機器をコアのシステムバス(348)に直接取り付けるか、周辺バス(349)を介して取り付けるかすることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0051】
CPU(341)、GPU(342)、FPGA(343)、およびアクセラレータ(344)は、組み合わされて上述のコンピュータコードを構成し得る特定の命令を実行することができる。そのコンピュータコードを、ROM(345)またはRAM(346)に記憶することができる。RAM(346)には過渡的データも記憶することができる一方で、不変データを例えば内部大容量記憶装置(347)に記憶することができる。1つ以上のCPU(341)、GPU(342)、大容量記憶装置(347)、ROM(345)、RAM(346)などと密接に関連付けることができるキャッシュメモリの使用によって、メモリデバイスのいずれかへの高速記憶および取得を可能にすることができる。
【0052】
コンピュータ可読媒体は、様々なコンピュータ実施動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよいし、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
【0053】
限定ではなく、一例として、アーキテクチャ、具体的にはコア(340)を有するコンピュータシステム(300)は、1つ以上の有形のコンピュータ可読媒体で具現化されたソフトウェアを1つまたは複数のプロセッサ(CPU、GPU、FPGA、およびアクセラレータなどを含む)が実行する結果として、機能を提供することができる。このようなコンピュータ可読媒体は、上述されているような、ユーザが直接操作し得る大容量記憶装置に関連する媒体であることが可能であり、さらには、コア内部大容量記憶装置(347)やROM(345)などの非一時性の記憶装置であるコア(340)の特定の記憶装置であることも可能である。本開示の様々な実施形態を実施するソフトウェアをこのようなデバイスに記憶してコア(340)によって実行することができる。コンピュータ可読媒体は、特定のニーズに応じて、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアにより、コア(340)、特にコア(340)中のプロセッサ(CPU、GPU、FPGAなどを含む)が、RAM(346)に記憶されているデータ構造の定義と、ソフトウェアによって定義されているプロセスに応じたこのようなデータ構造の修正とを含む、本出願で説明されている特定のプロセスまたは特定のプロセスの特定の部分を実行することができる。追加または代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ(344))内に配線された、またはさもなければ具現化されたロジックの結果として、機能を実現することができる。必要に応じて、ソフトウェアへの参照はロジックを包含することができ、その逆も同様である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具体化する回路、またはこれらの両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0054】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例、置換例、および様々な代替均等例がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0055】
200 処理
300 コンピュータシステム
301 キーボード
302 マウス
303 トラックパッド
305 ジョイスティック
306 マイク
307 スキャナ
308 カメラ
309 スピーカ
310 タッチスクリーン
320 媒体
321 CD/DVD ROM/RW
322 サムドライブ
323 ソリッドステートドライブ
340 コア
341 中央処理装置(CPU)
342 グラフィックス処理ユニット(GPU)
343 フィールド・プログラマブル・ゲート・エリア(FPGA)
344 ハードウェアアクセラレータ
345 読み取り専用メモリ(ROM)
346 ランダムアクセスメモリ(RAM)
347 内部大容量記憶装置
348 システムバス
349 周辺バス
350 グラフィックスアダプタ
354 ネットワークインターフェース
355 通信ネットワーク