(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-30
(54)【発明の名称】構造図のベクトルバージョンの生成
(51)【国際特許分類】
G06T 1/00 20060101AFI20240920BHJP
【FI】
G06T1/00 500A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024543276
(86)(22)【出願日】2022-09-27
(85)【翻訳文提出日】2024-05-07
(86)【国際出願番号】 US2022077086
(87)【国際公開番号】W WO2023056253
(87)【国際公開日】2023-04-06
(32)【優先日】2021-09-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】524117882
【氏名又は名称】アンアースド ランド テクノロジーズ リミテッド ライアビリティ カンパニー
(74)【代理人】
【識別番号】100102978
【氏名又は名称】清水 初志
(74)【代理人】
【識別番号】100205707
【氏名又は名称】小寺 秀紀
(74)【代理人】
【識別番号】100160923
【氏名又は名称】山口 裕孝
(74)【代理人】
【識別番号】100119507
【氏名又は名称】刑部 俊
(74)【代理人】
【識別番号】100142929
【氏名又は名称】井上 隆一
(74)【代理人】
【識別番号】100148699
【氏名又は名称】佐藤 利光
(74)【代理人】
【識別番号】100188433
【氏名又は名称】梅村 幸輔
(74)【代理人】
【識別番号】100128048
【氏名又は名称】新見 浩一
(74)【代理人】
【識別番号】100129506
【氏名又は名称】小林 智彦
(74)【代理人】
【識別番号】100114340
【氏名又は名称】大関 雅人
(74)【代理人】
【識別番号】100214396
【氏名又は名称】塩田 真紀
(74)【代理人】
【識別番号】100121072
【氏名又は名称】川本 和弥
(74)【代理人】
【識別番号】100221741
【氏名又は名称】酒井 直子
(74)【代理人】
【識別番号】100114926
【氏名又は名称】枝松 義恵
(72)【発明者】
【氏名】キャリントン チャールズ シー.
(72)【発明者】
【氏名】ヴェストレ アーロン
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057AA13
5B057BA02
5B057CA12
5B057CA16
5B057CB12
5B057CB13
5B057CB17
5B057CC01
5B057CG10
5B057DA17
5B057DB02
5B057DC40
(57)【要約】
構造物の平面図のベクトルバージョンの改良された生成のための方法及びシステムが提供される。一実施形態では、構造物のブループリントのシートを描写するドキュメントを受信することを含む方法が提供される。第1の機械学習モデルを使用して、構造物の平面図を含むドキュメントの一部を識別し得る。第2の機械学習モデルを使用して、描写された平面図のタイプを決定し得る。第3の機械学習モデルを使用して、ドキュメントの一部の内容に基づいて、平面図内の個々の要素に関する場所及びラベルを決定し得る。間取図のベクトルバージョンは、前記場所及び前記ラベルに基づいて生成され得る。
【選択図】
図5
【特許請求の範囲】
【請求項1】
構造物のブループリントのシートを描写するドキュメントを受信することと、
第1の機械学習モデルを用いて、前記構造物の平面図を含む前記ドキュメントの一部を識別することと、
第2の機械学習モデルを用いて、前記ドキュメントの前記一部内に描写された前記平面図のタイプを決定することと、
第3の機械学習モデルを用いて、かつ前記ドキュメントの前記一部の内容に基づいて、(i)前記平面図内の個々の要素の場所及び(ii)前記平面図内の前記個々の要素のラベルを決定することと、
間取図内の個々の要素の前記場所及び前記ラベルに基づいて、前記間取図のベクトルバージョンを生成することと
を含む、方法。
【請求項2】
前記第1の機械学習モデルは、建物の前記平面図を含む前記ドキュメントの前記一部を囲む境界ボックスを識別する、請求項1に記載の方法。
【請求項3】
前記ドキュメントの前記一部は前記ドキュメントから抽出され、かつ前記第2の機械学習モデルに提供される、請求項2に記載の方法。
【請求項4】
前記タイプは、事前定義された複数のタイプの平面図の中から選択される、請求項1に記載の方法。
【請求項5】
前記複数のタイプの間取図は、構造図、電気図、配管図、HVAC図、生命安全図、及び/または消火図のうちの少なくとも1つを含む、請求項4に記載の方法。
【請求項6】
前記間取図の前記タイプが構造図であると決定することに応答して、個々の要素の場所及びラベルを決定する、請求項1に記載の方法。
【請求項7】
前記間取図の前記ベクトルバージョンを生成することは、前記個々の要素の少なくともサブセットの各要素に対して、
前記要素に対応するラベルと、前記要素に関連付けられた場所における前記間取図の内容とに基づいて、前記要素のベクトルバージョンを生成することと、
前記要素に関連付けられた前記場所に基づいて前記要素の前記ベクトルバージョンをスケーリングすることと、
前記要素に関連付けられた前記場所に基づいて、前記要素の前記ベクトルバージョンを前記間取図の前記ベクトルバージョン内に配置することと
を含む、請求項1に記載の方法。
【請求項8】
前記ドキュメントを受信することは、前記構造物の前記ブループリントの複数のシートを描写する複数のドキュメントを受信することを含み、かつ前記方法は、前記複数のドキュメントの少なくともサブセットのそれぞれにおいて描写された複数の間取図に対して少なくとも部分的に繰り返される、請求項1に記載の方法。
【請求項9】
前記構造物の3次元表現を生成するために、前記複数の間取図の複数のベクトルバージョンを組み合わせることをさらに含む、請求項8に記載の方法。
【請求項10】
個々の要素の前記場所及び前記ラベルを決定することの前に、
前記複数のドキュメントのうちの2つ以上のドキュメント内で共通のマッチラインを識別することと、
単一の間取図を生成するために前記複数のドキュメントのうちの前記2つ以上を組み合わせることであって、前記単一の間取図は、個々の要素の前記場所及び前記ラベルを決定する際に使用するために前記第3の機械学習モデルに提供される、前記組み合わせることと
をさらに含む、請求項9に記載の方法。
【請求項11】
(i)前記第1のモデルは物体認識モデルであること、(ii)前記第2のモデルは分類器モデルであること、及び/または(iii)前記第3のモデルはセグメンテーションモデルであること、のうちの少なくとも1つである、請求項1に記載の方法。
【請求項12】
前記構造物は、建物、車両、インフラストラクチャコンポーネント、船舶、宇宙船、航空機、戦車、及び/または電気器具のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項13】
前記構造物は、車両、船舶、宇宙船、航空機、戦車、大砲、及び/または武器のうちの1つ以上についてのコンポーネントを含む、請求項1に記載の方法。
【請求項14】
前記間取図は前記構造物を囲む外部を含み、かつ前記間取図の前記ベクトルバージョンは前記外部の表現を含む、請求項1に記載の方法。
【請求項15】
前記間取図の前記ベクトルバージョンは、(i)前記間取図の2次元ベクトル表現、及び(ii)前記間取図の3次元ベクトル表現、のうちの少なくとも1つである、請求項1に記載の方法。
【請求項16】
前記間取図の前記ベクトルバージョンにより、ユーザーは前記間取図の3次元表現をナビゲートすることが可能になる、請求項1に記載の方法。
【請求項17】
プロセッサ、ならびに
命令を記憶しているメモリであって、前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
構造物のブループリントのシートを描写するドキュメントを受信することと、
第1の機械学習モデルを用いて、前記構造物の平面図を含む前記ドキュメントの一部を識別することと、
第2の機械学習モデルを用いて、前記ドキュメントの前記一部内に描写された前記平面図のタイプを決定することと、
第3の機械学習モデルを用いて、かつ前記ドキュメントの前記一部の前記内容に基づいて、(i)前記平面図内の個々の要素の場所及び(ii)前記間取図内の前記個々の要素のラベルを決定することと、
前記間取図内の個々の要素の前記場所及び前記ラベルに基づいて、前記間取図のベクトルバージョンを生成することと
を行わせる、前記メモリ
を含む、システム。
【請求項18】
前記メモリは追加命令を含み、前記追加命令は、前記間取図の前記ベクトルバージョンを生成している間に前記プロセッサによって実行されるとき、前記プロセッサに、前記個々の要素の少なくともサブセットの各要素に対して、
前記要素に対応するラベルと、前記要素に関連付けられた場所における前記間取図の内容とに基づいて、前記要素のベクトルバージョンを生成することと、
前記要素に関連付けられた前記場所に基づいて前記要素の前記ベクトルバージョンをスケーリングすることと、
前記要素に関連付けられた前記場所に基づいて、前記要素の前記ベクトルバージョンを前記間取図の前記ベクトルバージョン内に配置することと
を行わせる、
請求項17に記載のシステム。
【請求項19】
(i)前記第1のモデルは物体認識モデルであること、(ii)前記第2のモデルは分類器モデルであること、及び/または(iii)前記第3のモデルはセグメンテーションモデルであること、のうちの少なくとも1つである、請求項17に記載のシステム。
【請求項20】
前記第1の機械学習モデルは、建物の前記平面図を含む前記ドキュメントの前記一部を囲む境界ボックスを識別する、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2021年9月28日に出願された米国特許出願第17/487,838号に対する優先権を主張し、その開示は全ての目的で参照により本明細書に組み込まれる。
【背景技術】
【0002】
背景
ブループリントは多くの建物について利用可能であり、建物のレイアウトをより深く理解するのに使用され得る。例えば、多くの建物のブループリントのスキャンされたコピーが公開されている。そのようなブループリントは、間取図、配管配置、セキュリティシステム配置、電気接続、及び建物内の他の備品を含む、建物の様々な特徴のインジケーションを含み得る。
【発明の概要】
【0003】
概要
本開示は、構造物の平面図のベクトルバージョンを抽出及び生成するための新しく革新的なシステム及び方法を提示する。第1の態様では、構造物のブループリントのシートを描写するドキュメントを受信することを含む方法が提供される。第1の機械学習モデルを使用して、構造物の平面図を含むドキュメントの一部を識別し得る。第2の機械学習モデルを使用して、ドキュメントの一部内に描写された平面図のタイプを決定し得る。第3の機械学習モデルを使用して、ドキュメントの一部の内容に基づいて、(i)平面図内の個々の要素の場所、及び(ii)平面図内の個々の要素のラベルを決定し得る。間取図のベクトルバージョンは、間取図内の個々の要素の場所及びラベルに基づいて生成され得る。
【0004】
第2の態様では、第1の態様に従って、第1の機械学習モデルは、建物の平面図を含むドキュメントの一部を囲む境界ボックスを識別する。
【0005】
第3の態様では、第1の態様及び第2の態様のいずれかに従って、ドキュメントの一部はドキュメントから抽出され、かつ第2の機械学習モデルに提供される。
【0006】
第4の態様では、第1の態様から第3の態様のいずれかに従って、タイプは、事前定義された複数のタイプの平面図の中から選択される。
【0007】
第5の態様では、第4の態様に従って、複数のタイプの間取図は、構造図、電気図、配管図、HVAC図、生命安全図、及び/または消火図のうちの少なくとも1つを含む。
【0008】
第6の態様では、第1の態様から第5の態様のいずれかに従って、間取図のタイプが構造図であると決定することに応答して、個々の要素の場所及びラベルを決定する。
【0009】
第7の態様では、第1の態様から第6の態様のいずれかに従って、間取図のベクトルバージョンを生成することは、個々の要素の少なくともサブセットの各要素に対して、要素に対応するラベル及びその要素に関連付けられた場所における間取図の内容に基づいて要素のベクトルバージョンを生成することと、要素に関連付けられた場所に基づいて要素のベクトルバージョンをスケーリングすることと、要素に関連付けられた場所に基づいて、要素のベクトルバージョンを間取図のベクトルバージョン内に配置することと、を含む。
【0010】
第8の態様では、第1の態様から第7の態様のいずれかに従って、ドキュメントを受信することは、構造物のブループリントの複数のシートを描写する複数のドキュメントを受信することを含む。本方法は、複数のドキュメントの少なくともサブセットのそれぞれに描写された複数の間取図に対して少なくとも部分的に繰り返され得る。
【0011】
第9の態様では、第8の態様に従って、本方法は、構造物の3次元表現を生成するために、複数の間取図の複数のベクトルバージョンを組み合わせることをさらに含む。
【0012】
第10の態様では、第9の態様に従って、本方法は、個々の要素の場所及びラベルを決定する前に、複数のドキュメントのうちの2つ以上の中で共通のマッチラインを識別すること、および単一の間取図を生成するために複数のドキュメントのうちの2つ以上を組み合わせることをさらに含む。単一の間取図は、個々の要素の場所及びラベルを決定する際に使用するために第3の機械学習モデルに提供され得る。
【0013】
第11の態様では、第1の態様から第10の態様のいずれかに従って、第1のモデルは物体認識モデルであり、第2のモデルは分類器モデルであり、及び/または第3のモデルはセグメンテーションモデルである。
【0014】
第12の態様では、第1の態様から第11の態様のいずれかに従って、構造物は、建物、車両、インフラストラクチャコンポーネント、船舶、宇宙船、航空機、戦車、及び/または電気機器のうちの少なくとも1つを含む。
【0015】
第13の態様では、第1の態様から第12の態様のいずれかに従って、構造物は、車両、船舶、宇宙船、航空機、戦車、大砲、及び/または武器のうちの1つ以上についてのコンポーネントを含む。
【0016】
第14の態様では、第1の態様から第13の態様のいずれかに従って、間取図は構造物を取り囲む外部を含み、間取図のベクトルバージョンは外部の表現を含む。
【0017】
第15の態様では、第1の態様から第14の態様のいずれかに従って、間取図のベクトルバージョンは、(i)間取図の2次元ベクトル表現、及び(ii)間取図の3次元ベクトル表現、のうちの少なくとも1つである。
【0018】
第16の態様では、第1の態様から第15の態様のいずれかに従って、間取図のベクトルバージョンにより、ユーザーは間取図の3次元表現をナビゲートすることが可能になる。
【0019】
第17の態様では、プロセッサ及びメモリを含むシステムが提供される。メモリは、プロセッサによって実行されるとき、プロセッサに構造物のブループリントのシートを描写するドキュメントを受信させ、第1の機械学習モデルを用いて、構造物のブループリントを含むドキュメントの一部を識別させる命令を記憶し得る。また、命令は、プロセッサに、第2の機械学習モデルを用いて、ドキュメントの一部内に描写された平面図のタイプを決定させ、第3の機械学習モデルを用いて、ドキュメントの一部の内容に基づいて、(i)平面図内の個々の要素の場所、及び(ii)間取図内の個々の要素のラベルを決定させ得る。命令は、さらに、プロセッサに、間取図内の個々の要素の場所及びラベルに基づいて、間取図のベクトルバージョンを生成させ得る。
【0020】
第18の態様では、第17の態様に従って、メモリは追加命令を含み、追加命令は、間取図のベクトルバージョンを生成している間にプロセッサによって実行されるとき、プロセッサに、個々の要素の少なくともサブセットの各要素に対して、要素に対応するラベル及び要素に関連付けられた場所における間取図の内容に基づいて要素のベクトルバージョンを作成することと、要素に関連付けられた場所に基づいて要素のベクトルバージョンをスケーリングすることと、要素に関連付けられた場所に基づいて、要素のベクトルバージョンを間取図のベクトルバージョン内に配置することと、を行わせる。
【0021】
第19の態様では、第17の態様及び第18の態様のいずれかに従って、第1のモデルは物体認識モデルであり、第2のモデルは分類器モデルであり、及び/または第3のモデルはセグメンテーションモデルである。
【0022】
第20の態様では、第17の態様から第19の態様のいずれかに従って、第1の機械学習モデルは、建物の平面図を含むドキュメントの一部を囲む境界ボックスを識別する。
【0023】
本明細書に説明される特徴及び利点は、全てを網羅するものではなく、特に、図面及び説明を考慮すると、多くの追加の特徴及び利点が当業者に明らかになるであろう。さらに、本明細書で使用される言語は主に読みやすさ及び教示目的で選択されており、開示された主題の範囲を限定するものではないことに留意されたい。
【図面の簡単な説明】
【0024】
【
図1】本開示の例示的な実施形態による、平面図のベクトルバージョンを生成するためのシステムを示す。
【
図2】本開示の例示的な実施形態による、ブループリントからの平面図の一部を示す。
【
図3】本開示の例示的な実施形態による、ブループリントのドキュメント解析を示す。
【
図4】本開示の例示的な実施形態による、平面図を含むブループリントの一部を示す。
【
図5】本開示の例示的な実施形態による、平面図のベクトルバージョンを生成するための方法を示す。
【
図6】本開示の例示的な実施形態による、コンピューターシステムを示す。
【発明を実施するための形態】
【0025】
例示的な実施形態の詳細な説明
ブループリントは、オリジナルのブループリントドキュメントのスキャン画像として受信され得る。これらのスキャンされた画像は、通常、ラスター画像(例えば、固定解像度の画像)の形式で保存される。そのようにスキャンされた画像は、建物のレイアウトを速く判定しようとするときには使用するのが困難である。例えば、ブループリントは、通常、建物の異なる態様を描写する多くのタイプのシートを含む。フロアシートは、建物の個々のフロアの正確なレイアウト及び/または位置に関する詳細を描写し得る。立面図シートは、様々な側面から建物の外観を描写し得る。他のシートは、造園、駐車場、保管エリア、及び/または建物の他の態様等のさらなる詳細を描写し得る。別の例として、ラスター画像として保存されたブループリントについて、特定の詳細を表示するためにズームインするとき、画像がぼやけて不鮮明になり得る。
【0026】
さらに、多くの場合、(例えば、軍事、消防署、警察、不動産、及び他の用途に対して)既存の構造物の3次元モデルを生成する必要がある。既存のシステムでは、建物の内部及び外部の形状をスキャンするために、LIDARまたは他の3次元スキャン技術を使用する必要がある。これは、不動産所有者及びスキャンを行う人にとって、煩雑であり混乱をもたらす。さらに、(例えば、消防署または軍隊のリアルタイムの対応等の)必要に応じて、これらの技術を実施できない。
【0027】
したがって、構造物の建築平面図の高品質のベクトルバージョンを生成する必要性が存在する。関連する使用事例に応じて、ベクトルバージョンは2次元及び/または3次元のいずれかである必要があり得る。この問題に対する1つの解決策は、異なるタイプの機械学習モデルの組み合わせを使用して、受信したドキュメントを解析し、受信したブループリントのベクトルバージョン(例えば、受信したブループリントからの間取図または他の平面図)を検出して生成することである。特に、第1の機械学習モデルを使用して、受信したドキュメントのページ内の平面図の場所を識別し得る(例えば、タイトル、設計者情報、ページ番号付け等のページに関する他の情報を除く)。次に、平面図を含むページの部分は、将来の解析のために抽出され得る。特に、第2の機械学習モデルは、ドキュメントから抽出された平面図を解析して、描写された平面図のタイプ(例えば、構造図、電気図、HVAC図、及び他のタイプの平面図)を決定し得る。次に、第3のモデルは平面図を受信し、平面図のベクトルバージョンに含めるべき平面図内の個々の要素を識別し得る。例えば、前記モデルはこれらの要素の場所及びラベルを識別して、平面図内にて要素がある場所、及び要素のタイプを示す。次に、平面図のベクトルバージョンは、(例えば、個々の要素のベクトルバージョンを生成及び位置決めすることによって)個々の要素の場所及びラベルに基づいて生成され得る。3次元のベクトルバージョンが望まれる場合、ベクトルバージョンは個々の要素の高さに従って押し出され得、これは、個々の要素を識別した同じモデルによって(または別のモデルによって)も決定され得る。場合によっては、平面図はドキュメントの複数ページにまたがり得る。そのような場合、追加のモデルを使用して隣接ページを識別し、次に、それらを組み合わせて、平面図の完全なバージョンを形成し得る。
【0028】
図1は、本開示の例示的な実施形態による、平面図のベクトルバージョンを生成するためのシステム100を示す。システム100は、構造物106のブループリントを描写するドキュメント108を受信するように構成され得る。ドキュメント108は、構造物106に対応する1つ以上のブループリントまたは建築平面図からのシートまたはページを描写し得る。例えば、ドキュメント108は、構造物106についての1つ以上の間取図、実施設計図、フロアシート、立面シート、敷地平面図等を描写し得る。特に、ドキュメント108は、構造物106についての1つ以上の異なるタイプの平面図を含むフロアシートを描写し得る。コンピューティングデバイス102は、建築平面図及び/またはブループリントのパブリックリポジトリ等のデータベースからドキュメント108を受信し得る。追加的または代替的に、ドキュメント108は、ブループリントのハードコピーをスキャンしてドキュメント108を生成するスキャナーから受信され得る。場合によっては、ドキュメント108は、ブループリントを作成するために使用されるソフトウェアによって生成された(例えば、ソフトウェアからエクスポートされた)ネイティブドキュメント(例えば、画像、TIFFドキュメント、PDFドキュメント)として受信され得る。
【0029】
図1において建物として描写されているが、実際には、構造物106は、任意のタイプの構造物(例えば、人工構造物)を含み得る。例えば、建物106は、少なくとも部分的に囲まれる内部空間を伴う任意の構造物を含み得る。具体的な例として、構造物は、1階建ての建物、多階の建物、倉庫構造物、インフラストラクチャ施設、屋外構造物(例えば、パビリオン、展望台、デッキ、橋、ダム)、またはそれらの組み合わせを含み得る。さらなる例として、インフラストラクチャ施設は、ダム、雨水管、下水管、トンネル(例えば、地下トンネル、自動車用トンネル)、水路、ユーティリティステーション(例えば、ポンプ場)、導管(例えば、電線管)等を含み得る。さらに別の実施態様では、構造物は、他の製品またはデバイス(例えば、車両部品、航空機部品、大砲部品、武器部品)の一部または他の部品(例えば、機械部品、化学部品、電気部品)を含み得る。したがって、本明細書における建物へのいずれかの言及は、任意のタイプの構造物にも同様に当てはまるものと理解されたい。同様に、本開示では、建物及び他の構造図を指すために「ブループリント」または「平面図」という用語(及び同様の用語)を使用する。当業者は、実際には、これらのドキュメントが他の場合に異なる用語を使用して参照され得ることを理解するであろう。例えば、そのようなドキュメントは、「敷地平面図」、「施設平面図」、または他の同様の用語で呼ばれ得る。さらなる例として、本明細書に説明される平面図は、1つ以上の間取図、立面図、回路基板レイアウト図、製品設計図等を含み得る。具体的な一例として、構造物は航空機のエンジンを含み得、平面図はエンジンの製品設計図を含み得る。別の具体例として、構造物は大砲兵器を含み得、平面図は大砲兵器の多視点構造図または製品設計図を含み得る。
【0030】
コンピューティングデバイス102は、複数のモデル110、112、114を使用して、ドキュメント108を解析して、ドキュメント108内に描写された1つ以上の平面図のベクトルバージョン116を生成するように構成され得る。例えば、コンピューティングデバイス102は、3つの異なるタイプの機械学習モデル110、112、114を使用して、この解析を行い得る。特に、コンピューティングデバイス102は、第1の機械学習モデル110を使用して、ドキュメント108内に描写された平面図のタイプを決定し得る。コンピューティングデバイス102は、また、第2の機械学習モデルを使用して、ドキュメント108内の平面
図118の場所を決定し得る。コンピューティングデバイス102は、第3のモデル114をさらに使用して、平面
図118内の構造物106の個々の要素を検出し得る。
【0031】
特に、モデル110は、ドキュメント108のコピーを受信し、ドキュメント108の内容(例えば、ドキュメント108内に描写された画像)を解析して、ドキュメント108内に描写された平面
図118のタイプ120を検出するように構成され得る。特に、ドキュメント108は、構造物106についてのブループリントの1つ以上のページの1つ以上の画像を含み得る。モデル110は、1つ以上の画像の少なくともサブセット内に描写された平面図のタイプ120を決定し得る。モデル110は、ブループリント内の複数のタイプの平面図と他の平面図とを区別するようにトレーニングされ得る。例えば、ブループリントの異なるページは、構造図、電気図、配管図、HVAC図、消火図、及び/または生命安全図等、異なるタイプの平面図を描写し得る。モデルは、これらのタイプの平面図、及び/または平面図を含まないドキュメント108のページを(例えば、ラベル付きの例を使用して)区別するようにトレーニングされ得る。特定の実施態様では、モデル110は、最近傍モデル、決定木モデル、ロジスティック回帰モデル等の分類器モデルとして実装され得る。追加または代替の実施態様では、モデル110は、ニューラルネットワーク(例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク)、教師あり学習モデル、教師なし学習モデル、クラスタリングモデル、回帰モデル、及び/または強化学習モデルのうちの1つ以上等、異なるタイプの機械学習モデルとして実装され得る。
【0032】
モデル112は、ドキュメント108のコピーを受信し、ドキュメント108内の平面
図118の場所122を決定するように構成され得る。特に、モデル112は、ドキュメント108内の平面
図118を取り囲む境界ボックスを、平面
図118の場所122として決定するように構成され得る。特に、モデル112は、1つ以上のラベル付き例を使用して、境界ボックスを場所122として決定するようにトレーニングされ得る。例えば、ブループリントのページは、通常、平面図だけまたは描写された平面図以外の追加情報(例えば、建築家識別情報、建物情報、タイトル情報、ページ番号等)を含み得る。モデル112は、場所122(例えば、境界ボックス)を識別するとき、これらの要素と、実際の平面図を含むドキュメント108の部分とを区別するようにトレーニングされ得る。特定の実施態様では、モデル112による処理は、モデル110によって行われた処理から独立し得る。追加または代替の実施態様では、モデル110によって処理が行われる前に、モデル112は場所122を決定し得る。例えば、モデル110は、ドキュメント108の一部またはサブセット(例えば、モデル112によって識別された境界ボックス内に含まれる部分)が提供され得、ドキュメント108の一部の内容に基づいてタイプ120を決定し得る。モデル112は、物体認識モデル(例えば、畳み込みニューラルネットワーク)として実装され得る。追加または代替の実施態様では、モデル112は、ニューラルネットワーク(例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク)、教師あり学習モデル、教師なし学習モデル、クラスタリングモデル、回帰モデル、及び/または強化学習モデルのうちの1つ以上等、異なるタイプの機械学習モデルとして実装され得る。
【0033】
モデル114は、ドキュメント108のコピー及び/または平面
図118を含むドキュメント108の一部を受信し、平面図内の個々の要素124を識別するように構成され得る。要素124は、平面
図118内に描写及び/または識別された個々の要素132、134、136を含み得る。モデル114は、要素132、134、136の場所126、128、130(例えば、境界ボックス)を追加的に識別し得る。モデル114は、また、要素132、134、136に関する追加情報(例えば、要素のタイプ、負荷容量、材料、電力容量)を識別し得、これらの情報は、個々の要素132、134、136に対応するラベル138、140、142として記憶され得る。特定の実施態様では、モデル114によって識別された要素132、134、136及びラベル138、140、142のタイプは、モデル110によって識別されたタイプ120に依存し得る。例えば、タイプ120が構造図である場合、モデル114は、ドア、耐力壁、非耐力壁、窓、支持梁、基礎構造等のうちの1つ以上を含む要素132、134、136を識別し得る。別の例として、タイプ120が電気図である場合、モデル114は、電気配線(例えば、場所、定格電力、設置日)、コンセント(例えば、120V、240V)、ヒューズボックス、照明器具、イーサネット/同軸ケーブル配線等を含む要素132、134、136を識別し得る。さらなる例では、タイプ120がHVAC図である場合、モデル114は、ダクト、吸気口、流出口、エアコン、炉、エアフィルタ等のうちの1つ以上を含む要素132、134、136を識別し得る。モデル114は、セグメンテーションモデル(例えば、受信した入力をセグメント化するようにトレーニングされたニューラルネットワーク)として実装され得る。追加または代替の実施態様では、モデル114は、ニューラルネットワーク(例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク)、教師あり学習モデル、教師なし学習モデル、クラスタリングモデル、回帰モデル、及び/または強化学習モデルのうちの1つ以上等、異なるタイプの機械学習モデルとして実装され得る。特定の実施態様では、モデル114は複数の機械学習モデル(例えば、異なるタイプの平面図用の個別のモデル)として実装され得る。そのような場合、コンピューティングデバイス102は、タイプ120に基づいてモデル114を選択し得る。
【0034】
モデル110、112、114からの出力(例えば、タイプ120、要素132、134、136、場所126、128、130、及び/またはラベル138、140、142)に基づいて、コンピューティングデバイス102は、平面図のベクトルバージョン116を生成し得る。ベクトルバージョン216は、(例えば、要素124のベクトル表現を生成することによって)平面
図118の2次元表現144を含み得る。特に、コンピューティングデバイス102は、平面
図118内の対応する場所126、128、130における要素132、134、136のベクトル表現を生成し得る。ベクトル表現の形状、サイズ、及び描写は、ドキュメント108及び平面
図118内のラベル138、140、142及び/または要素132、134、136の描写(例えば、対応する形状)に基づいて生成され得る。特定の実施態様では、平面
図118のベクトルバージョンは、同じ構造物106及び/または構造物106の同じ部分(例えば、同じ階、レベル、部屋)についての複数の平面
図118に基づいて生成され得る。例えば、コンピューティングデバイス102は、複数のタイプの平面図(例えば、構造図、電気図、HVAC図)から抽出された要素124を組み合わせて、全ての平面図を描写するベクトルバージョン116を生成し得る。別の例として、ユーザーは異なるタイプの平面図を選択して切り替えることが可能になり得る。例えば、ベクトルバージョン116を表示するために使用されるグラフィカルユーザーインターフェース(GUI)により、ユーザーは、構造図、電気図、及びHVAC図のそれぞれをオン及びオフに切り替えることが可能になり得る。追加または代替の実施態様では、ベクトルバージョン116は、平面
図118の3次元表現146を含み得る。例えば、コンピューティングデバイス102は、(例えば、ラベル138、140、142に基づいて)2次元表現144を押し出すように構成され得る。1つの具体的な例として、構造図では、コンピューティングデバイス102は、壁の高さを第1の標準高さ(例えば、10フィート)まで押し出し得、ドアの高さを第2の標準高さ(例えば、8フィート)まで押し出し得る。別の例として、異なる要素132、134、136の押し出し高さは、平面
図118内に含まれる情報(例えば、様々な要素について示された対応する高さ、平面
図118として同じまたは別のページに示された壁、ドア、窓の標準高さ)に基づいて決定され得る。そのような実施態様では、要素132、134、136の高さは、ラベル138、140、142の一部として記憶され得る。押し出し成形バージョンは、構造物106またはその一部の3次元表現146として提供され得る。コンピューティングデバイス(例えば、コンピューティングデバイス102または別のコンピューティングデバイス)上に表示されるとき、ユーザーは、構造物106の3次元表現146の全体をナビゲートする(例えば、フライスルーを行う)ことが可能になり得る。特定の実施態様では、コンピューティングデバイス102は、構造物106の複数の部分(例えば、複数の部屋、複数の部屋、複数の建物、建物の内装/外装)についての複数のドキュメント(または同じドキュメント108の複数のページ)を組み合わせて、構造物106の完全な3次元表現を生成し得る。
【0035】
ラベル138は、平面
図118でどのようなタイプの要素132、134、136が識別されているかを示すもの以外の追加情報を含み得る。例えば、ラベル132、134、136は、また、構造図で識別された要素132、134、136の構造物詳細(例えば、構造材料、壁/ドア/窓の高さ、壁/ドアの内装/外装の色、壁の内外トリム、外壁のファサード特徴、装飾デザイン特徴、壁の耐荷重、断熱材のタイプ)を示し得る。ラベル132、134、136は、また、要素132、134、136を設置した技術者または請負業者の識別、要素132、134、136の設置日、行われた、または必要なメンテナンスまたは修理等、要素132、134、136の他のタイプのメタデータを示し得る。さらなる例として、ラベルは、また、電気図で識別された要素132、134、136の動作パラメーター(例えば、ワイヤゲージ、ヒューズ定格、照明のワット数/ルーメン、コンセントのプラグの数/電圧)を示し得る。そのような追加情報は、平面
図118と同じページで識別され得る。追加的または代替的に、ラベル138、140、142の情報は、ドキュメント108の別のページで識別され得る。
【0036】
平面
図118及びベクトルバージョン116の上記の例は、構造物106のインテリアデザイン要素及び/または平面図に焦点を当てている。これらの議論は単なる例示であることを理解されたい。実際には、モデル110、112、114によって解析された平面図は、1つ以上の外部要素(例えば、外部デザイン特徴、外部設備、外部造園特徴、外部設備)を含み得る。そのような例では、ベクトルバージョン116(すなわち、2次元表現144及び/または3次元表現146)がこれらの外部要素を含み得、モデル114は外部要素を識別するようにトレーニングされ得ることを理解されたい。
【0037】
コンピューティングデバイス102は、また、プロセッサ148及びメモリ150を含む。プロセッサ148及びメモリ150は、コンピューティングデバイス102の1つ以上の態様を実装し得る。例えば、プロセッサ148によって実行されるとき、プロセッサ148にコンピューティングデバイス102の1つ以上の動作機能を行わせる命令(例えば、モデル110、112、114の1つ以上を実施する命令)を、メモリ150は記憶し得る。プロセッサ148は、メモリ150に記憶されている命令を実行するように構成された1つ以上の中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、及び/またはグラフィックス処理装置(GPU)として実装され得る。追加的に、コンピューティングデバイス102は、ネットワークを使用して通信する(例えば、ドキュメント108を受信する、及び/またはベクトルバージョン116を伝送する)ように構成され得る。例えば、コンピューティングデバイス102は、1つ以上の有線ネットワークインターフェース(例えば、イーサネットインターフェース)及び/または無線ネットワークインターフェース(例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、及び/またはセルラーデータインターフェース)を使用して、ネットワークと通信し得る。特定の例では、ネットワークは、ローカルネットワーク(例えば、ローカルエリアネットワーク)、仮想プライベートネットワーク、L1、及び/またはグローバルネットワーク(例えば、インターネット)として実装され得る。
【0038】
図2は、本開示の例示的な実施形態による、ブループリントからの平面
図200の一部を示す。ブループリント200は、コンピューティングデバイス102によって受信されたドキュメント108の例示的な実施態様であり得る。平面
図200は、建築構造物の様々な要素を含み、その一部は、下記の説明のために参照番号を使用して識別される。描写された平面
図200は、建物のフロアの一部であり得る。平面
図200は、外壁204、214及び内壁202、206、210の描写を含む(分かりやすくするために、そのサブセットだけに番号が付けられている)。内壁202、206、210は、2つの異なるタイプの壁、すなわち、内部隔壁202、206及び内部耐力壁210を含む。平面
図200は、また、基礎構造物208の描写と、建物の他の部分(例えば、内部の耐力壁210)を基礎構造物212に接続する構造物結合部212とを含む。
【0039】
特定の実施態様では、建物の内部レイアウトを適切に決定するために、描写された特徴の全てが必要ではない場合がある。例えば、フロアの内部レイアウトを正確に決定するために、基礎構造物208及び構造物結合材212は必要ない場合がある。したがって、特定の実施態様では、モデル114は、基礎構造物208及び/または構造物結合部212に基づいて、要素132、134、136を識別しないようトレーニングされる場合がある。追加または代替の実施態様では、コンピューティングデバイス102は、ユーザーがベクトルバージョン116においてオン及びオフを切り替えることできる、基礎構造物208及び構造物結合212用の別個の層またはモデルを生成するように構成され得る。
【0040】
平面
図200は、さらに、追加のドキュメント(例えば、同じブループリントの別のページ)または建物の隣接部分について対応する平面図の一部(
図4に関連してより詳細に説明される)を参照する分割線226も含む。平面
図200は、また、対応する要素202、204、208、216の周囲に境界ボックス218、220、222、224も含み、これは下記により詳細に説明される。
【0041】
図3は、本開示の例示的な実施形態による、ブループリントのドキュメント解析300を示す。ドキュメント解析300は、コンピューティングデバイス102によって行われた解析の実施態様の例であり得る。例えば、モデル302はモデル110の例示的な実施態様であり得、モデル304はモデル112の例示的な実施態様であり得、モデル306はモデル114の例示的な実施態様であり得る。コンピューティングデバイス102は、平面
図200を含むドキュメント330を(例えば、平面
図200を含むブループリントのスキャンされたコピーとして)受信し得る。ドキュメント330は、描写されていない追加のページを含み得る(例えば、同じまたは異なる構造物に対する異なる平面図を含む)。さらに、ドキュメント330のページは、描写されているように平面
図200よりも大きい場合があり、さらなる解析のために平面
図200から分離する必要がある追加情報(例えば、タイトル、設計者情報、ページ番号情報)を含み得る。
【0042】
したがって、モデル304は、ドキュメント330(例えば、
図2に示す部分)内の平面
図200を囲む境界ボックスを決定して、ドキュメントの他の部分に含まれる追加情報を除外する。境界ボックスは、平面
図200の場所310として決定され得、境界ボックス内に含まれる平面
図200は、モデル302、306によるさらなる解析のために抽出され得る。
【0043】
モデル302は平面
図200及び/またはドキュメント330を受信し得、平面
図200及び/またはドキュメント330を解析して、ドキュメント画像200に描写された平面図のタイプ308を決定し得る。例えば、モデル302は、構造図、電気図、配管図、HVAC図、生命安全図、及び/または消火図のうちの1つ以上を区別するようにトレーニングされ得る。モデル302は、(例えば、平面
図200の内容に基づいて)平面
図200のタイプ308が構造図であることを決定し得る。特定の実施態様では、モデル302は、単一の平面
図200に対して2つ以上のタイプ308を決定し得る。例えば、特定の平面図は、複数の異なる構造物要素を描写し得る(例えば、消火図及び配管図を組み合わせ得る)。そのような場合、モデル302は、平面図に複数のタイプ(例えば、消火図タイプ及び配管図タイプ)を割り当て得る。タイプ308に応じて、ドキュメント解析300は平面
図200について続行し得る。例えば、追加処理(例えば、モデル306による)は、ベクトルバージョン116で所望される要素のタイプに基づいて継続し得る。1つの具体的な例として、ベクトルバージョン116は、(例えば、所定の好みに従って、ユーザーの好みに従って)構造図、電気図、及びHVAC図を含むように生成され得る。平面
図200には構造図のタイプ308があるため、モデル306を用いて処理を継続し得る。
【0044】
モデル306は、平面
図200を含むドキュメント330の一部を(例えば、モデル304から)受信し得、平面
図200を解析して、平面
図200内の個々の要素204、208、210を識別し得る。上記でさらに説明したように、モデル306は、タイプ308に基づいて、1つ以上の所定のタイプの要素を識別し得る。例えば、平面
図200が構造物平面図を描写しているため、モデル306はドア、耐力壁、非耐力壁、支持梁、支柱、窓、基礎構造物等を識別し得る。特に、モデル306は、平面
図200内の要素204、208、216の周囲の境界ボックス220、222、224を識別し得る。特に、モデル306は、外壁204を囲む境界ボックス220、基礎構造物208を囲む境界ボックス222、及びドア216を囲む境界ボックス224を識別し得る。要素204、208、216のタイプに基づいて、モデル306は、対応するラベル312、314、316を要素204、208、216に割り当て得る。例えば、モデル306は、(例えば、外壁204の場所に対応する境界ボックス220にラベル312を割り当てることによって)「外壁」及び/または「耐力壁」のラベル312を外壁204に割り当て得る。同様に、モデル306は、基礎構造物208の場所を示す境界ボックス222に「基礎構造物」のラベル314を割り当て得、ドア216の場所を示す境界ボックス224に「ドア」または「屋外ドア」のラベルを割り当て得る。上記でさらに説明したように、ラベル312、314、316は、要素204のタイプを識別するもの以外の追加情報を含み得る。例えば、ラベル312は、壁204の材料、壁204の高さ、壁204の内装/外装の色、及び/または壁204の耐荷重を示し得る。同様に、ラベル314は、基礎構造物208の材料、基礎構造物208の設置日等を示し得る。追加的に、ラベル316は、ドア216の材料(例えば、木材、金属、複合材料)、ドア216の高さ、ドア216の内装/外装の色、ドア216の耐衝撃性、ドアが鍵を有するかどうか、ドアが非常口であるかどうか等を示し得る。この情報は、ドキュメント330の他のページから決定され得、構造物の平面図に描写された要素に関する高さ、材料、及び他の情報を示し得る。
【0045】
場合によっては、コンピューティングデバイスは、ドキュメント画像200に描写された平面図とマージするべき平面図の隣接部分を描写する隣接ページ400を識別するように構成された追加モデル318を含み得る。例えば、モデル318は、隣接ページ400を識別するために、結合線、共通の設計特徴(例えば、共通の形状)、及び/または共通の参照番号を探すように構成され得る。
図4は、ドキュメント画像200の隣接ページ400の一部を示す。特に、モデル318は、共通の接合線226、402を識別し得る。例えば、モデル318は、接合線226、402と、接合線226、402のそれぞれの隣にある共通の参照番号A113A及びA113Bを識別し得る。これに基づいて、モデル318は、平面
図200がページ400に描写された平面図に隣接していると判定し得る。隣接ページを結合するために、コンピューティングデバイス102は、ドキュメント330及び隣接ページ400のドキュメント画像を処理して、(例えば、モデル304を使用して)平面図を含むそれぞれの部分を抽出し、これらの部分をマージし得る。隣接ページは、後続の処理(例えば、モデル302、306による)の前または後のいずれかに結合され得る。モデル306による解析後に隣接ページが結合される場合、境界ボックス220、222、224の場所は、マージされた隣接ページ間の共通の座標系に基づいて調整され得る。実際には、3つ以上の隣接ページをマージする必要があり得る。例えば、モデル318は、5、10、25ページ、またはそれ以上のページを識別するように構成され得、それらのページは、次に上記に説明したようにマージされ得る。
【0046】
図5は、本開示の例示的な実施形態による、平面図のベクトルバージョンを生成するための方法500を示す。方法500は、システム100等のコンピューターシステムで実施され得る。例えば、方法500はコンピューティングデバイス102によって実施され得る。プロセッサによって実行されるとき、コンピューターシステムに方法500を行わせる、コンピューター可読媒体に記憶されている命令のセットによって、方法500はまた実施され得る。例えば、方法400の全部または一部は、プロセッサ148及びメモリ150によって実装され得る。下記の例は
図5に示されるフローチャートを参照して説明されるが、
図5に関連付けられた活動を行う他の多くの方法が使用され得る。例えば、ブロックの一部の順序が変更され得、特定のブロックは他のブロックと組み合わされ得、1つ以上のブロックを繰り返し得、そして説明したブロックの一部はオプションであり得る。
【0047】
方法500は、構造物のブループリントのシートを描写するドキュメントを受信することから始まり得る(ブロック502)。例えば、コンピューティングデバイス102は、構造物106のブループリントのシートを描写するドキュメント108を受信し得る。特に、ブループリントの1枚以上のシートは、構造物106の異なるタイプの平面
図118を描写し得る。上記に説明したように、構造物106は、建物、車両、インフラストラクチャ、または他の構造物を含み得る。ドキュメント108は、別のコンピューティングデバイス、及び/または様々な構造物についてのブループリントを記憶するデータベースから受信され得る。特に、ドキュメントはコンピューティングデバイス102によって受信され、構造物106の平面図のベクトルバージョン116を生成するためにユーザーから受信された要求に応答し得る。
【0048】
建物の平面図を含むドキュメントの一部を識別し得る(ブロック504)。例えば、コンピューティングデバイス102は、平面
図118を含むドキュメント108の一部の場所122を識別し得る。特に、コンピューティングデバイス102は、ドキュメント108の個々のページを解析して、平面図を含むそれらの個々のページの部分を識別し得る。例えば、上記に説明したように、場所122は、ドキュメント108内の様々なページに含まれる平面図の周りの境界ボックスとして決定され得る。次に、平面
図118を含むドキュメント108の部分は将来の分析のために抽出され得る。
【0049】
ドキュメントの一部内に描写された平面図のタイプが決定され得る(ブロック506)。特に、コンピューティングデバイス102は、平面
図118のタイプ120、308を決定し得る。例えば、平面
図118は、構造物106の電気図を描写し得る。モデル110は、平面
図118の内容を解析し(例えば、モデル112から受信した平面
図118を含むドキュメント108の部分を解析することによって)、その内容に基づいて、平面
図118が「電気図」のタイプ120を有することを決定し得る。
【0050】
ドキュメントの一部の内容に基づいて、個々の要素の場所及び個々の要素のラベルを決定し得る(ブロック508)。例えば、コンピューティングデバイス102は、平面
図118内に描写された個々の要素132、134、136の場所126、128、130及びラベル138、140、142を決定し得る。要素132、134、136は、平面
図118のタイプ120に基づいて識別され得る。特に、タイプ120は、平面
図118が電気図であることを示すため、モデル114は、電気図内で識別された配線経路及び定格、コンセントの場所、照明の場所、イーサネット/同軸ケーブル配線、ヒューズボックス等に対する場所126、128、130及びラベル138、140、142を識別し得る。上記でさらに説明したように、ラベル138、140、142は、動作定格、設置日、ワイヤゲージ、光のワット数等の、要素132、134、136に関する追加情報を含み得る。
【0051】
平面図のベクトルバージョンは、個々の要素の場所及びラベルに基づいて生成され得る(ブロック510)。例えば、コンピューティングデバイス102は、ラベル138、140、142内の場所126、128、130に基づいて、平面
図118のベクトルバージョン116を生成し得る。上記に説明したように、ベクトルバージョン116は、2次元表現144及び3次元表現146のうちの1つ以上を含み得る。3次元表現146が望ましい場合、コンピューティングデバイス102は、要素132、134、136の2次元表現を押し出すように構成され得る。特定の実施態様では、ベクトルバージョン116を生成することは、個々の要素132、134、136のベクトルバージョンを生成することを含み得る。要素のベクトルバージョンは、ラベル138、140、142に基づいて生成され得る、及び/またはドキュメント108内の要素132、134、136のスカラー表現を、要素132、134、136の対応するベクトルバージョンに変換することによって生成され得る。次に、ベクトルバージョンは、要素132、134、136に関連付けられた場所126、128、130に基づいてスケーリングされ得る(例えば、要素132、134、136を囲む境界ボックスのサイズに基づいてスケーリングされ得る)。次に、要素のベクトルバージョンは、(例えば、平面
図118内の他の要素に対して)要素に関連付けられた場所126、128、130に基づいて、平面
図118のベクトルバージョン116内に配置され得る。
【0052】
したがって、方法500は、平面図のベクトルバージョンを自動的に生成することを可能にする。特に、コンピューティングデバイスは、複数の機械学習モデルを利用して、所望のベクトルバージョンを生成するために使用できる平面図を識別するために、一般的な構造物の典型的なブループリントに含まれる多くのページ及び多数の異なるタイプの平面図を選別することが可能である。さらに、3つの異なる機械学習モデルにわたって解析を分割することによって、コンピューティングデバイス102は、後続の処理の精度を向上させることが可能である。特に、最初に平面図をドキュメントから抽出すると、平面図内で識別されたタイプ及び/または要素の精度が向上し得る。さらに、要素の前にタイプが決定される場合、要素を識別するモデルにこの情報を提供する(または要素を識別するモデルを選択するためにそのタイプを使用する)と、モデルが識別するように構成されている要素のタイプを制限することによって、識別された要素の精度がさらに向上し得る。さらに、コンピューティングデバイスは複数のタイプの平面図を解析及び統合し得るため、受信した平面図の結果として得られるベクトルバージョンは、複数のタイプの平面図を選択的に統合することが可能になり得る。したがって、ベクトルバージョンは、他の技術を使用して作成されたものよりも完全で、多用途で、正確であり得る。さらに、複数の機械学習モデルを利用することによって、コンピューティングデバイスは、(例えば、異なるタイプの平面図の要素を識別する新しいモデルを追加することによって、受信した平面図のタイプを識別するモデルを更新することによって)新しいタイプの平面図を処理するように容易に拡張可能になり得る。
【0053】
図6は、コンピューティングデバイス102等、本明細書に説明されるデバイス及び/またはコンポーネントの1つ以上を実装するために利用され得る例示的なコンピューターシステム600を示す。特定の実施形態では、1つ以上のコンピューターシステム600は、本明細書に説明または図示される1つ以上の方法の1つ以上のステップを行う。特定の実施形態では、1つ以上のコンピューターシステム600は、本明細書に説明または図示される機能を提供する。特定の実施形態では、1つ以上のコンピューターシステム600上で起動しているソフトウェアは、本明細書に説明または図示される1つ以上の方法の1つ以上のステップを行うか、または本明細書に記載もしくは図示される機能を提供する。特定の実施形態は、1つ以上のコンピューターシステム600の1つ以上の部分を含む。本明細書では、コンピューターシステムへの言及は、必要に応じて、コンピューティングデバイスを包含し得、その逆も同様である。さらに、コンピューターシステムへの言及は、必要に応じて、1つ以上のコンピューターシステムを包含し得る。
【0054】
本開示は、任意の適切な数のコンピューターシステム600を企図する。本開示は、コンピューターシステム600が任意の適切な物理的形態をとることを企図している。限定ではなく例として、コンピューターシステム600は、組み込みコンピューターシステム、システムオンチップ(SOC)、シングルボードコンピューターシステム(SBC)(例えば、コンピューターオンモジュール(COM)またはシステムオンモジュール(SOM)等)、デスクトップコンピューターシステム、ラップトップまたはノートブックコンピューターシステム、対話型キオスク、メインフレーム、コンピューターシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバー、タブレットコンピューターシステム、拡張/仮想現実デバイス、またはこれらの2つ以上の組み合わせであり得る。必要に応じて、コンピューターシステム600は、1つ以上のコンピューターシステム600を含み得る。これは、単一または分散型であり得る、複数の場所にまたがり得る、複数のマシンにまたがり得る、複数のデータセンターにまたがり得る、または1つ以上のネットワークに1つ以上のクラウドコンポーネントを含み得るクラウド内に常駐し得る。必要に応じて、1つ以上のコンピューターシステム600は、実質的な空間的制限または時間的制限なしに、本明細書に説明または図示される1つ以上の方法の1つ以上のステップを行い得る。限定ではなく例として、1つ以上のコンピューターシステム600は、本明細書に説明または図示される1つ以上の方法の1つ以上のステップをリアルタイムまたはバッチモードで行い得る。1つ以上のコンピューターシステム600は、必要に応じて、異なる時間または異なる場所で、本明細書に説明または図示される1つ以上の方法の1つ以上のステップを行い得る。
【0055】
特定の実施形態では、コンピューターシステム600は、プロセッサ606、メモリ604、ストレージ608、入力/出力(I/O)インターフェース610、及び通信インターフェース612を含む。本開示は、特定の配置で特定の数の特定のコンポーネントを有する特定のコンピューターシステムを説明及び図示するが、本開示は、任意の適切な配置で任意の適切な数の任意の適切なコンポーネントを有する任意の適切なコンピューターシステムを企図する。
【0056】
特定の実施形態では、プロセッサ606は、コンピュータープログラムを構成する命令等の命令を実行するためのハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ606は、内部レジスタ、内部キャッシュ、メモリ604、またはストレージ608から命令を取得(またはフェッチ)し、命令をデコードして実行し、次に、1つ以上の結果を内部レジスタ、内部キャッシュ、メモリ604、またはストレージ608に書き込み得る。特定の実施形態では、プロセッサ606は、データ、命令、またはアドレス用の1つ以上の内部キャッシュを含み得る。本開示は、プロセッサ606が、必要に応じて、任意の適切な数の任意の適切な内部キャッシュを含むことを企図する。限定ではなく例として、プロセッサ606は、1つ以上の命令キャッシュ、1つ以上のデータキャッシュ、及び1つ以上の変換索引バッファ(TLB)を含み得る。命令キャッシュの命令は、メモリ604またはストレージ608内の命令のコピーであり得、命令キャッシュは、プロセッサ606によるそれらの命令の検索を高速化し得る。データキャッシュのデータは、コンピューター命令によって操作されるメモリ604またはストレージ608内のデータのコピー、後続の命令にアクセス可能であり、またはメモリ604もしくはストレージ608に書き込むためにプロセッサ606によって実行された前の命令の結果、または任意の他の適切なデータ、であり得る。データキャッシュは、プロセッサ606による読み取り動作または書き込み動作を高速化し得る。TLBはプロセッサ606の仮想アドレス変換を高速化し得る。特定の実施形態では、プロセッサ606は、データ、命令、またはアドレス用の1つ以上の内部レジスタを含み得る。本開示は、プロセッサ606が、必要に応じて、任意の適切な数の任意の適切な内部レジスタを含むことを企図する。適切な場合、プロセッサ606は、1つ以上の算術論理演算装置(ALU)を含み得る、マルチコアプロセッサであり得る、または1つ以上のプロセッサ606を含み得る。本開示は特定のプロセッサを説明及び図示するが、本開示は任意の適切なプロセッサを企図する。
【0057】
特定の実施形態では、メモリ604は、プロセッサ606が実行するための命令、またはプロセッサ606が動作するためのデータを記憶するためのメインメモリを含む。限定ではなく例として、コンピューターシステム600は、ストレージ608または別のソース(別のコンピューターシステム600等)からメモリ604に命令をロードし得る。次に、プロセッサ606は、メモリ604から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ606は、内部レジスタまたは内部キャッシュから命令を取得し、それらをデコードし得る。命令の実行中または実行後、プロセッサ606は、1つ以上の結果(中間結果または最終結果であり得る)を、内部レジスタまたは内部キャッシュに書き込み得る。次に、プロセッサ606は、それらの結果のうちの1つ以上をメモリ604に書き込み得る。特定の実施形態では、プロセッサ606は、(ストレージ608等とは対照的に)1つ以上の内部レジスタもしくは内部キャッシュの命令、またはメモリ604の命令だけを実行し、(ストレージ608等とは対照的に)1つ以上の内部レジスタもしくは内部キャッシュのデータ、またはメモリ604のデータに対してだけ動作する。1つ以上のメモリバス(それぞれ、アドレスバス及びデータバスを含み得る)は、プロセッサ606をメモリ604に結合し得る。下記でさらに詳細に説明するように、バスは1つ以上のメモリバスを含み得る。特定の実施形態では、1つ以上のメモリ管理ユニット(MMU)がプロセッサ606とメモリ604との間に常駐し、プロセッサ606によって要求されたメモリ604へのアクセスを容易にする。特定の実施形態では、メモリ604はランダムアクセスメモリ(RAM)を含む。必要に応じて、このRAMは揮発性メモリであり得る。必要に応じて、このRAMはダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。さらに、必要に応じて、このRAMはシングルポートRAMまたはマルチポートRAMであり得る。本開示は、任意の適切なRAMを考慮している。メモリ604は、必要に応じて、1つ以上のメモリ604を含み得る。本開示は特定のメモリの実施態様を説明及び図示するが、本開示は任意の適切なメモリの実施態様を企図する。
【0058】
特定の実施形態では、ストレージ608は、データまたは命令のためのマスストレージを含む。限定ではなく例として、ストレージ608は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、またはこれらの2つ以上の組み合わせを含み得る。ストレージ608は、必要に応じて、リムーバブルまたは非リムーバブル(または固定)メディアを含み得る。ストレージ608は、必要に応じて、コンピューターシステム600の内部または外部に存在し得る。特定の実施形態では、ストレージ608は不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ608は読み取り専用メモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムされたROM、プログラマブルROM(PROM)、消去可能なPROM(EPROM)、電気的に消去可能なPROM(EEPROM)、電気的に変更可能なROM(EAROM)、フラッシュメモリ、またはこれらの2つ以上の組み合わせであり得る。本開示では、マスストレージ608が任意の適切な物理的形態をとることを企図している。ストレージ608は、必要に応じて、プロセッサ606とストレージ608との間の通信を容易にする1つ以上のストレージ制御ユニットを含み得る。適切な場合、ストレージ608は1つ以上のストレージ608を含み得る。本開示が特定のストレージを説明及び図示するが、本開示は任意の適切なストレージを企図する。
【0059】
特定の実施形態では、I/Oインターフェース610はハードウェア、ソフトウェア、またはその両方を含み、コンピューターシステム600と1つ以上のI/Oデバイスとの間の通信用の1つ以上のインターフェースが提供される。コンピューターシステム600は、必要に応じて、これらのI/Oデバイスのうちの1つ以上を含み得る。これらのI/Oデバイスのうちの1つ以上は、人(すなわち、ユーザー)とコンピューターシステム600との間の通信を可能にし得る。限定ではなく例として、I/Oデバイスは、キーボード、キーパッド、マイク、モニター、スクリーン、表示パネル、マウス、プリンター、スキャナー、スピーカー、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/Oデバイス、またはこれらの2つ以上の組み合わせを含み得る。I/Oデバイスは1つ以上のセンサーを含み得る。必要に応じて、I/Oインターフェース610は、プロセッサ606がこれらのI/Oデバイスのうちの1つ以上を駆動することを可能にする1つ以上のデバイスまたはソフトウェアドライバーを含み得る。I/Oインターフェース610は、必要に応じて、1つ以上のI/Oインターフェース610を含み得る。本開示は特定のI/Oインターフェースを説明及び図示するが、本開示は任意の適切なI/OインターフェースまたはI/Oインターフェースの組み合わせを企図する。
【0060】
特定の実施形態では、通信インターフェース612は、コンピューターシステム600と、1つ以上の他のコンピューターシステム600または1つ以上のネットワーク614との間の通信(例えば、パケットベースの通信等)のための1つ以上のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース612は、イーサネットもしくは任意の他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタ、またはWi-Fiネットワーク等のワイヤレスネットワークと通信するための無線NIC(WNIC)もしくは無線アダプタを含み得る。本開示は、任意の適切なネットワーク614と、ネットワーク614用の任意の適切な通信インターフェース612とを企図する。限定ではなく例として、ネットワーク614は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)のうちの1つ以上、もしくはインターネットの1つ以上の部分、またはこれらの2つ以上の組み合わせを含み得る。これらのネットワークのうちの1つ以上のうちの1つ以上の部分は、有線または無線であり得る。例として、コンピューターシステム600は、無線PAN(WPAN)(例えば、Bluetooth(登録商標)WPAN等)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話ネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)ネットワーク等)、もしくは任意の他の適切なワイヤレスネットワーク、またはこれらの2つ以上の組み合わせと通信し得る。コンピューターシステム600は、必要に応じて、これらのネットワークの任意の適切な通信インターフェース612を含み得る。通信インターフェース612は、必要に応じて、1つ以上の通信インターフェース612を含み得る。本開示が特定の通信インターフェースの実施態様について説明及び図示しているが、本開示は、任意の適切な通信インターフェースの実施態様を企図している。
【0061】
また、コンピューターシステム602はバスも含み得る。バスはハードウェア、ソフトウェア、またはその両方を含み得、コンピューターシステム600のコンポーネントを相互に通信可能に結合し得る。限定ではなく例として、バスは、アクセラレーテッドグラフィックスポート(AGP)または任意の他のグラフィックスバス、エンハンスドインダストリースタンダードアーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリースタンダードアーキテクチャ(ISA)バス、インフィニバンドインターコネクト、ローPINカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジアタッチメント(SATA)バス、ビデオエレクトロニクススタンダードアソシエーションローカルバス(VLB)、もしくは別の適切なバス、またはこれらのバスの2つ以上の組み合わせを含み得る。バスは、必要に応じて、1つ以上のバスを含み得る。本開示は特定のバスについて説明及び図示するが、本開示は任意の適切なバスまたは相互接続を企図する。
【0062】
本明細書では、コンピューター可読非一時的記憶媒体は、必要に応じて、1つ以上の半導体ベースもしくは他のタイプの集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC))、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードもしくはドライブ、任意の他の適切なコンピューター可読非一時的記憶媒体、またはこれらの2つ以上の適切な組み合わせを含み得る。コンピューター可読非一時的記憶媒体は、必要に応じて、揮発性、不揮発性、または揮発性及び不揮発性の組み合わせであり得る。
【0063】
本明細書では、「または」は、特に明示的に示されない限り、または文脈上別段の指示がない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、特に明示的に示されない限り、または文脈上別段の指示がない限り、「A、B、または両方」を意味する。さらに、「及び」は、特に明示的に示されない限り、または文脈上別段の指示がない限り、結合及び複数の両方である。したがって、本明細書では、「A及びB」は、特に明示的に示されない限り、または文脈上別段の指示がない限り、「A及びB、共同して、または個別に」を意味する。
【0064】
本開示の範囲は、当業者が理解するであろう本明細書に説明または図示される例示的な実施形態に対する変更、置換、変形、変更、及び改変の全てを包含する。本開示の範囲は、本明細書に説明または図示される例示的な実施形態に限定されない。さらに、本開示は、特定のコンポーネント、要素、特徴、機能、動作、またはステップを含むものとして本明細書の各々の実施形態を説明及び図示するが、これらの実施形態のいずれも、当業者が理解するであろう本明細書のどこかに説明または図示されるコンポーネント、要素、特徴、機能、動作、またはステップのいずれかの任意の組み合わせまたは置換を含み得る。さらに、特定の機能を行うように適応する、配置され、可能である、構成される、有効になる、動作可能である、または作動する添付の特許請求の範囲における装置もしくはシステム、または装置もしくはシステムのコンポーネントへの言及は、その装置、システム、またはコンポーネントがそのように適応する、配置され、可能である、構成される、有効になる、動作可能である、または作動する限り、それまたはその特定の機能がアクティブ化される、オンになる、またはロック解除されるかどうかに関係なく、その装置、システム、コンポーネントを包含する。追加的に、本開示は特定の実施形態を特定の利点をもたらすものとして説明または図示するが、特定の実施形態はこれらの利点を全くもたらさない場合があり、これらの利点の一部または全てをもたらす場合もある。
【国際調査報告】