(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】デジタル衣類の生成
(51)【国際特許分類】
G06T 19/00 20110101AFI20241008BHJP
A41H 43/00 20060101ALI20241008BHJP
A41H 1/02 20060101ALI20241008BHJP
【FI】
G06T19/00 A
A41H43/00 D
A41H43/00 Z
A41H1/02 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024507949
(86)(22)【出願日】2022-09-15
(85)【翻訳文提出日】2024-03-26
(86)【国際出願番号】 US2022043712
(87)【国際公開番号】W WO2023043959
(87)【国際公開日】2023-03-23
(32)【優先日】2021-09-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】トゥン, トニー
(72)【発明者】
【氏名】シュタイク, トゥール ジャン エム
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050BA13
5B050CA07
5B050DA05
5B050DA07
5B050EA07
5B050EA13
5B050EA19
(57)【要約】
一実施形態では、方法は、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成することと、衣類の背面パネルを生成することと、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルと背面パネルとを三次元空間内で位置合わせすることと、前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別することであって、前面パネルおよび背面パネルの境界セグメントの各対が互いに結合される、境界セグメントの1つまたは複数の対を識別することと、物理シミュレーションモデルを使用する複数の反復シミュレーションにより前面パネルおよび背面パネルの識別された境界セグメントの1つまたは複数の対の各々を結合することによってデジタル衣類を生成することとを含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
コンピューティングデバイスによって、
衣類を含む1つまたは複数の画像に基づいて前記衣類の前面パネルを生成することと、
前記衣類の背面パネルを生成することと、
前記前面パネルが三次元ボディの前にあり、前記背面パネルが前記三次元ボディの後ろにあるように、前記前面パネルと前記背面パネルとを三次元空間内で位置合わせすることと、
前記前面パネルおよび前記背面パネルの境界セグメントの1つまたは複数の対を識別することであって、前記前面パネルおよび前記背面パネルの境界セグメントの各対が互いに結合される、境界セグメントの1つまたは複数の対を識別することと、
物理シミュレーションモデルを使用する複数の反復シミュレーションにより前記前面パネルおよび前記背面パネルの識別された前記境界セグメントの1つまたは複数の対の各々を結合することによってデジタル衣類を生成することと
を含む、方法。
【請求項2】
前記前面パネルを生成することが、
前記衣類の前面を含む前記1つまたは複数の画像にアクセスすることと、
前記1つまたは複数のアクセスされた画像内の前記衣類の前記前面を識別する前面セグメンテーションマスクを生成することと、
前記生成された前面セグメンテーションマスクに対応する前記前面パネルを生成することとを含み、
任意選択で、前記前面セグメンテーションマスクが二次元である、請求項1に記載の方法。
【請求項3】
前記背面パネルが前記前面パネルの複製である、請求項1または2に記載の方法。
【請求項4】
前記背面パネルが、
前記衣類の背面を含む1つまたは複数の第2の画像にアクセスすることと、
前記1つまたは複数の第2の画像内の前記衣類の前記背面を識別する背面セグメンテーションマスクを生成することと、
前記生成された背面セグメンテーションマスクに対応する前記背面パネルを生成することと
によって生成される、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記前面パネルおよび前記背面パネルが三次元フラットメッシュを含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記三次元ボディが人体の三次元テンプレートであるか、または前記三次元ボディが、前記衣類を着ているユーザの三次元スキャンまたは深度マップに基づいて生成される、請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記前面パネルおよび前記背面パネルの前記境界セグメントの1つまたは複数の対を識別することが、
前記前面パネルと前記背面パネルの境界と垂直に交わる仮想線を引くことと、
前記境界の各連続部分であって、対応する仮想線が前記三次元ボディと交差しない前記境界の各連続部分を識別することと
を含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記複数の反復シミュレーションの各反復が、
前記前面パネルおよび前記背面パネルの境界セグメントの各対の間の距離を減少させることと、
前記前面パネルおよび前記背面パネルの境界セグメントの各対の間の前記距離および前記三次元ボディの形状に基づいて前記衣類を変形させることと
を含む、請求項1~7のいずれか一項に記載の方法。
【請求項9】
前記三次元ボディが第1のポーズから第2のポーズに移動すると判定することと、
前記三次元ボディの前記第2のポーズに従って前記デジタル衣類を変形させることと
をさらに含む、請求項1~8のいずれか一項に記載の方法。
【請求項10】
前記生成されたデジタル衣類が、ユーザが前記デジタル衣類を、前記ユーザを表すアバターに羽織らせる仮想試着に使用され、
前記方法が、任意選択的に、
リアルタイムのハンドトラッキング技術を使用して前記デジタル衣類に対する前記ユーザの行動を検出することと、
前記検出に関連する情報を物理シミュレーションモデルに提供することによって、前記ユーザの行動によって引き起こされる追加の制約を満たすように前記デジタル衣類を変形させることと
をさらに含む、請求項1~9のいずれか一項に記載の方法。
【請求項11】
前記デジタル衣類に対する前記ユーザの行動を検出することが、
前記アバターに対応するメッシュと前記デジタル衣類に対応するメッシュとの間の衝突を観察すること、
前記アバターの指と前記デジタル衣類との間の距離が閾値未満であることを検出し、前記指の周りに三次元体積力場を生成することであって、前記三次元体積力場において前記力場内の点での力の量が前記指からの距離に依存し、前記力場内の前記デジタル衣類のどの部分も前記力の影響を受ける、三次元体積力場を生成すること、または
深度検知技術を使用して、前記ユーザが着ている衣類の点群を生成し、前記デジタル衣類を前記点群と一致するように保つ物理シミュレーションモデルに前記点群を提供すること
のうちの1つを含む、請求項10に記載の方法。
【請求項12】
前記ユーザの行動が、触る、挟む、または握る、を含む、請求項10または請求項11に記載の方法。
【請求項13】
ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されると、請求項1~12のいずれか一項に記載の方法を実施するように、または、
衣類を含む1つまたは複数の画像に基づいて前記衣類の前面パネルを生成することと、
前記衣類の背面パネルを生成することと、
前記前面パネルが三次元ボディの前にあり、前記背面パネルが前記三次元ボディの後ろにあるように、前記前面パネルと前記背面パネルとを三次元空間内で位置合わせすることと、
前記前面パネルおよび前記背面パネルの境界セグメントの1つもしくは複数の対を識別することであって、前記前面パネルおよび前記背面パネルの境界セグメントの各対が互いに結合される、境界セグメントの1つもしくは複数の対を識別することと、
物理シミュレーションモデルを使用する複数の反復シミュレーションにより前記前面パネルおよび前記背面パネルの識別された前記境界セグメントの1つもしくは複数の対の各々を結合することによってデジタル衣類を生成することと
を行うように、動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
【請求項14】
1つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を含む前記プロセッサに結合された非一時的メモリとを備えるシステムであって、前記プロセッサが、前記命令を実行すると、請求項1~12のいずれか一項に記載の方法を実施するように、または、
衣類を含む1つまたは複数の画像に基づいて前記衣類の前面パネルを生成することと、
前記衣類の背面パネルを生成することと、
前記前面パネルが三次元ボディの前にあり、前記背面パネルが前記三次元ボディの後ろにあるように、前記前面パネルと前記背面パネルとを三次元空間内で位置合わせすることと、
前記前面パネルおよび前記背面パネルの境界セグメントの1つもしくは複数の対を識別することであって、前記前面パネルおよび前記背面パネルの境界セグメントの各対が互いに結合される、境界セグメントの1つもしくは複数の対を識別することと、
物理シミュレーションモデルを使用する複数の反復シミュレーションにより前記前面パネルおよび前記背面パネルの識別された前記境界セグメントの1つもしくは複数の対の各々を結合することによってデジタル衣類を生成することと
を行うように、動作可能である、システム。
【請求項15】
命令を含むソフトウェア製品であって、前記命令は、コンピュータシステムによって実行されると、請求項1~12のいずれか一項に記載の方法を実施するように、または、
衣類を含む1つまたは複数の画像に基づいて前記衣類の前面パネルを生成することと、
前記衣類の背面パネルを生成することと、
前記前面パネルが三次元ボディの前にあり、前記背面パネルが前記三次元ボディの後ろにあるように、前記前面パネルと前記背面パネルとを三次元空間内で位置合わせすることと、
前記前面パネルおよび前記背面パネルの境界セグメントの1つもしくは複数の対を識別することであって、前記前面パネルおよび前記背面パネルの境界セグメントの各対が互いに結合される、境界セグメントの1つもしくは複数の対を識別することと、
物理シミュレーションモデルを使用する複数の反復シミュレーションにより前記前面パネルおよび前記背面パネルの識別された前記境界セグメントの1つもしくは複数の対の各々を結合することによってデジタル衣類を生成することと
を行うように、動作可能である、ソフトウェア製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、人工現実システムに関し、特に、デジタル衣類の生成に関する。
【背景技術】
【0002】
人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。人工現実感は、たとえば人工現実感におけるコンテンツの生成および/または人工現実感における使用(たとえば、人工現実感における活動の実行)がなされるアプリケーション、製品、付属品、サービス、またはこれらの何らかの組合せと関連付けられている場合がある。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【発明の概要】
【0003】
本明細書に記載の特定の実施形態は、自動化されたテンプレートフリーの方法で、衣類の1つまたは複数の画像に基づいてデジタル衣類を生成するためのシステムおよび方法に関する。デジタル衣類の生成は、仮想試着などの様々なアプリケーションで衣類モデルのニーズの高まりと共にますます人気が高まっている。デジタル衣類を生成する従来の方法は、非常に労働集約的である。また、これらの従来の方法でのデジタル衣類の生成は、芸術的な技能および訓練された専門家による頻繁な手作業による介入を必要とし得る。様々なタイプおよびサイズの多数のデジタル衣類が1つまたは複数のアプリケーションに必要とされる場合、デジタル衣類を生成することがボトルネックとなり得る。本出願で開示される発明は、デジタル衣類を自動化された方法で生成するために、衣類セグメント化モデル、リアルタイムシミュレーションエンジン、およびリアルタイムボディ追跡ソリューションを利用し得る。
【0004】
したがって、本発明は、請求項1に記載の方法、請求項13に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体、請求項14に記載のシステム、および請求項15に記載のソフトウェア製品に関する。有利な実施形態は、従属請求項の特徴を含み得る。
【0005】
したがって、本発明による方法は、コンピューティングデバイスによって、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成することと、衣類の背面パネルを生成することと、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルと背面パネルとを三次元空間内で位置合わせすることと、前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別することであって、前面パネルおよび背面パネルの境界セグメントの各対が互いに結合される、境界セグメントの1つまたは複数の対を識別することと、物理シミュレーションモデルを使用する複数の反復シミュレーションにより識別された前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対の各々を結合することによってデジタル衣類を生成することとを含む。
【0006】
いくつかの実施形態では、前面パネルを生成することは、衣類の前面を含む1つまたは複数の画像にアクセスすることと、1つまたは複数のアクセスされた画像内の衣類の前面を識別する前面セグメンテーションマスクを生成することと、生成された前面セグメンテーションマスクに対応する前面パネルを生成することとを含み得る。任意選択で、前面セグメンテーションマスクは二次元であり得る。
【0007】
いくつかの実施形態では、背面パネルは前面パネルの複製であり得る。
【0008】
いくつかの実施形態では、背面パネルは、衣類の背面を含む1つまたは複数の第2の画像にアクセスし、1つまたは複数の第2の画像内の衣類の背面を識別する背面セグメンテーションマスクを生成し、生成された背面セグメンテーションマスクに対応する背面パネルを生成することによって生成され得る。
【0009】
いくつかの実施形態では、前面パネルおよび背面パネルは、三次元フラットメッシュを含み得る。
【0010】
いくつかの実施形態では、三次元ボディは人体の三次元テンプレートであり得る。
【0011】
いくつかの実施形態では、三次元ボディは、衣類を着ているユーザの三次元スキャンまたは深度マップに基づいて生成され得る。
【0012】
いくつかの実施形態では、前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別することは、前面パネルおよび背面パネルの境界と垂直に交差する仮想線を描くことと、対応する仮想線が三次元ボディと交差しない境界の各連続部分を識別することとを含み得る。
【0013】
いくつかの実施形態では、複数の反復シミュレーションの各反復は、前面パネルと背面パネルの境界セグメントの各対の間の距離を減少させることと、前面パネルと背面パネルの境界セグメントの各対の間の距離および三次元ボディの形状に基づいて衣類を変形させることとを含み得る。
【0014】
いくつかの実施形態では、本方法は、三次元ボディが第1のポーズから第2のポーズに移動することを判定することと、三次元ボディの第2のポーズに従ってデジタル衣類を変形させることとをさらに含み得る。
【0015】
いくつかの実施形態では、生成されたデジタル衣類は、ユーザがデジタル衣類をユーザを表すアバターに羽織らせる仮想試着に使用され得る。任意選択的に、本方法は、リアルタイムのハンドトラッキング技術を使用してデジタル衣類に対するユーザの行動を検出することと、検出に関連する情報を物理シミュレーションモデルに提供することによって、ユーザの行動によって引き起こされる追加の制約を満たすようにデジタル衣類を変形させることとをさらに含み得る。さらに任意選択的に、デジタル衣類に対するユーザの行動を検出することは、
アバターに対応するメッシュとデジタル衣類に対応するメッシュとの間の衝突を観察することと、
アバターの指とデジタル衣類との間の距離が閾値未満であることを検出し、指の周りに三次元体積力場を生成することであって、三次元体積力場において力場内の点での力の量が指からの距離に依存し、力場内のデジタル衣類のどの部分も力の影響を受ける、三次元体積力場を生成すること、
深度検知技術を使用してユーザが着ている衣類の点群を生成し、デジタル衣類を点群と一致するように保つ物理シミュレーションモデルに点群を提供すること
のうちの1つを含み得る。
これに関連して、ユーザの行動は、触る、挟む、または握る、を含み得る。
【0016】
本発明による1つもしくは複数のコンピュータ可読非一時的記憶媒体は、実行されると、上記の方法のいずれか1つを実施するように、または、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成し、衣類の背面パネルを生成し、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルと背面パネルとを三次元空間内で位置合わせし、前面パネルおよび背面パネルの境界セグメントの1つもしくは複数の対を識別し、前面パネルおよび背面パネルの境界セグメントの各対の各対は互いに結合され、物理シミュレーションモデルを使用する複数の反復シミュレーションにより識別された前面パネルおよび背面パネルの境界セグメントの1つもしくは複数の対の各々を結合することによってデジタル衣類を生成するように動作可能なソフトウェアを取り込む。
【0017】
前面パネルを生成する媒体のいくつかの実施形態は、衣類の前面を含む1つまたは複数の画像にアクセスすることと、1つまたは複数のアクセスされた画像内の衣類の前面を識別する前面セグメンテーションマスクを生成することと、生成された前面セグメンテーションマスクに対応する前面パネルを生成することとを含み得る。
【0018】
本発明によるシステムは、1つまたは複数のプロセッサと、プロセッサによって実行可能な命令を含むプロセッサに結合された非一時的メモリとを備え、プロセッサは、命令を実行すると、上述の方法のいずれか1つを実施するように、または、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成し、衣類の背面パネルを生成し、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルと背面パネルとを三次元空間内で位置合わせし、前面パネルおよび背面パネルの境界セグメントの1つもしくは複数の対を識別し、前面パネルおよび背面パネルの境界セグメントの各対は互いに結合され、物理シミュレーションモデルを使用する複数の反復シミュレーションにより識別された前面パネルおよび背面パネルの境界セグメントの1つもしくは複数の対の各々を結合することによってデジタル衣類を生成するように動作可能である。
【0019】
本発明によるソフトウェア製品は、コンピュータシステムによって実行されたときに、上記の方法のいずれか1つを実行するように、または、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成し、衣類の背面パネルを生成し、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルおよび背面パネルを三次元空間に位置合わせし、前面パネルおよび背面パネルの境界セグメントの1つもしくは複数の対を識別し、前面パネルおよび背面パネルの境界セグメントの各対の各対は互いに結合され、物理シミュレーションモデルを使用する複数の反復シミュレーションにより識別された前面パネルおよび背面パネルの境界セグメントの1つもしくは複数の対の各々を結合することによってデジタル衣類を生成するように動作可能な命令を含む。
【0020】
デジタル衣類が生成されると、デジタル衣類は仮想試着などのアプリケーションに使用され得る。仮想試着アプリケーションにより、ユーザは、推定された体型およびポーズで仮想衣類を試着し、スタイル感覚と、ユーザの身体特性にカスタマイズされたサイジング推奨を得ることができ得る。仮想試着アプリケーションは、圧倒的で魅力的な体験をユーザに提供し得るが、仮想的にシミュレートされた衣類は現実世界と緊密に結びつき得ない。デジタル衣類がユーザの自然な手の動きと相互作用するように、デジタル衣類をリアルタイムでシミュレートするシステムおよび方法。
【0021】
コンピューティングデバイスは、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成し得る。衣類の前面パネルを生成するために、コンピューティングデバイスは、衣類の前面を含む1つまたは複数の画像にアクセスし得る。コンピューティングデバイスは、1つまたは複数のアクセスされた画像内の衣類の前面を識別する前面セグメンテーションマスクを生成し得る。前面セグメンテーションマスクは二次元であり得る。コンピューティングデバイスは、生成された前面セグメンテーションマスクに対応する前面パネルを生成し得る。前面パネルは、三次元フラットメッシュを含み得る。コンピューティングデバイスは、衣類の背面パネルを生成し得る。特定の実施形態では、背面パネルは前面パネルの複製であり得る。特定の実施形態では、コンピューティングデバイスは、衣類の背面パネルを生成するために衣類の背面を含む1つまたは複数の第2の画像にアクセスし得る。コンピューティングデバイスは、1つまたは複数の第2の画像内の衣類の背面を識別する背面セグメンテーションマスクを生成し得る。コンピューティングデバイスは、生成された背面セグメンテーションマスクに対応する背面パネルを生成し得る。背面パネルは、三次元フラットメッシュを含み得る。コンピューティングデバイスは、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルおよび背面パネルを三次元空間内で位置合わせし得る。特定の実施形態では、三次元ボディは、人体の三次元テンプレートであり得る。特定の実施形態では、三次元ボディは、衣類を着ているユーザの三次元スキャンまたは深度マップに基づいて生成され得る。コンピューティングデバイスは、前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別し得る。前面パネルおよび背面パネルの境界セグメントの各対は、互いに結合されることになり得る。前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別するために、コンピューティングデバイスは、前面パネルおよび背面パネルの境界と垂直に交差する仮想線を描き得る。コンピューティングデバイスは、対応する仮想線が三次元ボディと交差しない境界の各連続部分を識別し得る。コンピューティングデバイスは、物理シミュレーションモデルを使用する複数の反復シミュレーションによって、識別された前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対の各々を結合することによってデジタル衣類を生成し得る。複数の反復シミュレーションの各反復において、コンピューティングデバイスは、前面パネルおよび背面パネルの境界セグメントの各対の間の距離を減少させ得る。コンピューティングデバイスは、前面パネルおよび背面パネルの境界セグメントの各対の間の距離および三次元ボディの形状に基づいて衣類を変形させ得る。コンピューティングデバイスは、三次元ボディが第1のポーズから第2のポーズに移動すると判定し得る。コンピューティングデバイスは、三次元ボディの第2のポーズに従ってデジタル衣類を変形させ得る。
【0022】
生成されたデジタル衣類は、仮想試着に使用し得、ユーザはデジタル衣類をユーザを表すアバターに羽織らせ得る。コンピューティングデバイスは、リアルタイムのハンドトラッキング技術を使用して、デジタル衣類に対するユーザの行動を検出し得る。ユーザの行動は、触る、挟む、握る、または任意の適切なユーザの行動を含み得る。コンピューティングデバイスは、検出に関連する情報を物理シミュレーションモデルに提供することによって、ユーザの行動によって引き起こされる追加の制約を満たすようにデジタル衣類を変形させ得る。特定の実施形態では、コンピューティングデバイスは、アバターに対応するメッシュとデジタル衣類に対応するメッシュとの間の衝突を観察することによって、デジタル衣類に対するユーザの行動を検出し得る。特定の実施形態では、デジタル衣類に対するユーザの行動を検出するために、コンピューティングデバイスは、アバターの指とデジタル衣類との間の距離が閾値未満であることを検出し得る。コンピューティングデバイスは、三次元体積力場を指の周りに生成し得る。力場内の点における力の量は、指からの距離に依存し得る。力場内のデジタル衣類のどの部分も、力の影響を受け得る。特定の実施形態では、デジタル衣類に対するユーザの行動を検出するために、コンピューティングデバイスは、深度検知技術を使用して、ユーザが着ている衣類の点群を生成し得る。コンピューティングデバイスは、デジタル衣類を点群と一致するように保つ物理シミュレーションモデルに点群を提供し得る。
【0023】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、任意の先行請求項に対する意図的な前方参照(特に、マルチ従属)の結果としての如何なる主題も、同様に請求可能であるため、請求項およびその特徴の任意の組合せが開示され、添付の特許請求の範囲において選定した従属に関わらず請求可能である。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
【図面の簡単な説明】
【0024】
【
図1】デジタル衣類を生成するための例示的なアーキテクチャを示す。
【
図2】1つまたは複数の画像に基づいてデジタル衣類を生成するための例示的なプロセスを示す。
【
図3】前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別する例示的なシナリオを示す。
【
図4A】デジタル衣類を生成するための複数のシミュレーション反復のうちの例示的な中間反復を示す。
【
図4B】デジタル衣類を生成するための複数のシミュレーション反復の最終反復の例示的な結果を示す。
【
図6】指の周りの三次元体積力場に基づくデジタル衣類の例示的な変形を示す。
【
図7】ユーザが着ている衣類の点群に基づくデジタル衣類の例示的な変形を示す。
【
図8】衣類を含む1つまたは複数の画像に基づいてデジタル衣類を生成するための例示的な方法を示す。
【発明を実施するための形態】
【0025】
図1は、デジタル衣類を生成するための例示的なアーキテクチャを示す。コンピューティングデバイス101は、衣類の1つまたは複数の画像110にアクセスし得る。コンピューティングデバイス101は、1つまたは複数のアクセスされた画像110を処理して、三次元デジタル衣類120を生成し得る。コンピューティングデバイス101は、デジタル衣類120を生成するために物理シミュレーションモデル105を利用し得る。本開示は、衣類の1つまたは複数の画像に基づいて三次元デジタル衣類を生成するための特定のアーキテクチャについて説明するが、本開示は、衣類の1つまたは複数の画像に基づいて三次元デジタル衣類を生成するための任意の適切なアーキテクチャを企図する。
【0026】
特定の実施形態では、コンピューティングデバイス101は、衣類を含む1つまたは複数の画像110に基づいて衣類の前面パネルを生成し得る。衣類の前面パネルを生成するために、コンピューティングデバイス101は、衣類の前面を含む1つまたは複数の画像110にアクセスし得る。コンピューティングデバイス101は、1つまたは複数のアクセスされた画像内の衣類の前面を識別する前面セグメンテーションマスクを生成し得る。前面セグメンテーションマスクは二次元であり得る。コンピューティングデバイス101は、生成された前面セグメンテーションマスクに対応する前面パネルを生成し得る。前面パネルは、三次元フラットメッシュを含み得る。
図2は、1つまたは複数の画像に基づいてデジタル衣類を生成するための例示的なプロセスを示す。限定としてではなく一例として、
図2に示すように、コンピューティングデバイス101は、衣類の1つまたは複数の画像110にアクセスし得る。コンピューティングデバイス101は、1つまたは複数のRGB画像110において衣類の前面を識別する前面セグメンテーションマスク203を生成し得る。次いで、コンピューティングデバイス101は、前面セグメンテーションマスク203に対応する衣類の前面パネル205を生成し得る。前面パネル205は、三次元メッシュを備え得る。本開示は、1つまたは複数の画像に基づいて衣類の前面パネルを特定の方法で生成することを説明するが、本開示は、1つまたは複数の画像に基づいて衣類の前面パネルを任意の適切な方法で生成することを企図する。
【0027】
特定の実施形態では、コンピューティングデバイス101は、衣類の背面パネルを生成し得る。特定の実施形態では、背面パネルは前面パネルの複製であり得る。特定の実施形態では、コンピューティングデバイス101は、衣類の背面パネルを生成するために衣類の背面を含む1つまたは複数の第2の画像にアクセスし得る。コンピューティングデバイス101は、1つまたは複数の第2の画像内の衣類の背面を識別する背面セグメンテーションマスクを生成し得る。コンピューティングデバイス101は、生成された背面セグメンテーションマスクに対応する背面パネルを生成し得る。背面パネルは、三次元フラットメッシュを含み得る。限定としてではなく一例として、
図2に示すように、1つまたは複数の画像110は、衣類の前面のみを含み得る。このような場合、コンピューティングデバイス101は、前面パネル205を複製することによって背面パネル207を生成し得る。限定としてではなく別の一例として、コンピューティングデバイス101は、衣類の背面を含む1つまたは複数の第2の画像にアクセスし得る。コンピューティングデバイス101は、1つまたは複数の第2の画像内の衣類の背面を識別する背面セグメンテーションマスクを生成し得る。コンピューティングデバイス101は、背面セグメンテーションマスクに対応する背面パネル207を生成し得る。本開示は、衣類の背面パネルを特定の方法で生成することについて説明するが、本開示は、衣類の背面パネルを任意の適切な方法で生成することを企図する。
【0028】
特定の実施形態では、コンピューティングデバイス101は、前面パネル205および背面パネル207を、前面パネルが三次元ボディ209の前にあり、背面パネル207が三次元ボディ209の後ろにあるように、三次元空間内で位置合わせし得る。特定の実施形態では、三次元ボディ209は、人体の三次元テンプレートであり得る。特定の実施形態では、1つまたは複数の画像110は、衣類を着ているユーザを含み得る。そして、衣類を着ているユーザの三次元スキャンやデプスマップに基づいて三次元ボディ209を生成し得る。本開示は、三次元空間内で前面パネルおよび背面パネルを特定の方法で位置合わせすることを説明するが、本開示は、前面パネルおよび背面パネルを三次元空間内で任意の適切な方法で位置合わせすることを企図する。
【0029】
特定の実施形態では、コンピューティングデバイス101は、前面パネル205および背面パネル207の境界セグメントの1つまたは複数の対を識別し得る。前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別するために、コンピューティングデバイス101は、前面パネル205および背面パネル207の境界と垂直に交差する仮想線を描き得る。コンピューティングデバイス101は、対応する仮想線が三次元ボディ209と交差しない境界の各連続部分を識別し得る。
図3は、前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別するシナリオの一例を示す。限定としてではなく一例として、
図3に示すように、コンピューティングデバイス101は、前面パネル205および背面パネル207の境界と垂直に交差する仮想線301を描き得る。コンピューティングデバイス101は、境界の連続部分に対応する仮想線301が三次元ボディ209と交差しない場合、境界の連続部分を境界セグメント310として判定し得る。境界セグメント310は、
図3に実線の楕円で示されている。コンピューティングデバイス101は、境界の連続部分に対応する仮想線301のうち所定の割合より多くが三次元ボディ209と交差する場合、境界の連続部分を非境界セグメント320として判定し得る。このセグメント320は、
図3に点線の楕円で示されている衣類の腕スリーブ、首、または底部を含み得る。本開示では、特定の方法で前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別することを説明するが、本開示では、任意の適切な方法で前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別することを企図する。
【0030】
特定の実施形態では、コンピューティングデバイス101は、物理シミュレーションモデル105を使用する複数の反復シミュレーションにより、前面パネル205および背面パネル207の境界セグメントの1つまたは複数の対310の各々を結合することによって、デジタル衣類120を生成し得る。複数の反復シミュレーションの各反復において、コンピューティングデバイス101は、前面パネル205の境界セグメント310の各対と背面パネル207との間の距離を減少させ得る。コンピューティングデバイス101は、前面パネルおよび背面パネルの境界セグメント310の各対の間の距離および三次元ボディ209の形状に基づいて衣類を変形させ得る。
図4Aは、デジタル衣類を生成するための複数のシミュレーション反復のうちの例示的な中間反復を示す。限定としてではなく一例として、
図4Aに示すように、コンピューティングデバイス101は、各反復において、前面パネル205の境界セグメント310の各対とパックパネル207との間の距離を減少させる。コンピューティングデバイス101はまた、物理シミュレーションモデル105を使用して、境界セグメント310間の距離および三次元ボディ209の形状に基づいて衣類の前面パネル205および背面パネル207を変形させる。
図4Bは、デジタル衣類を生成するための複数のシミュレーション反復の最終反復の例示的な結果を示す。限定としてではなく一例として、
図4Bに示すように、境界セグメント310の各対が互いに結合された。衣類は、三次元ボディ209にフィットするように変形された。生成されたデジタル衣類120は、三次元メッシュによって表され得る。特定の実施形態では、生成されたデジタル衣類120は、三次元点群によって表され得る。本開示は、物理シミュレーションモデルを使用する複数の反復シミュレーションによってデジタル衣類を特定の方法で生成することを説明するが、本開示は、物理シミュレーションモデルを使用する複数の反復シミュレーションによってデジタル衣類を任意の適切な方法で生成することを企図する。
【0031】
特定の実施形態では、コンピューティングデバイス101は、三次元ボディ209が第1のポーズから第2のポーズに移動することを判定し得る。コンピューティングデバイス101は、三次元ボディ209の第2のポーズに従ってデジタル衣類120を変形させ得る。本開示は、検出された三次元ボディの姿勢の変化に基づいてデジタル衣類を特定の方法で変形させることを説明するが、本開示は、検出された三次元ボディの姿勢の変化に基づいてデジタル衣類を任意の適切な方法で変形させることを企図する。
【0032】
特定の実施形態では、生成されたデジタル衣類120は、ユーザがデジタル衣類120をユーザを表すアバターに羽織らせ得る仮想試着などのアプリケーションに使用され得る。コンピューティングデバイス101は、リアルタイムのハンドトラッキング技術を使用して、デジタル衣類120に対するユーザの行動を検出し得る。ユーザの行動は、触る、挟む、握る、または任意の適切なユーザの行動を含み得る。コンピューティングデバイス101は、検出に関連する情報を物理シミュレーションモデルに提供することによって、ユーザの行動によって引き起こされる追加の制約を満たすようにデジタル衣類120を変形させ得る。
図5は、仮想試着システムの一例を示す。限定としてではなく一例として、
図5に示すように、ユーザを表すアバター501は、デジタル衣類503を着ている。アバター501は、ユーザが選択した身体特性を有し得る。追跡システム507は、1つまたは複数のカメラ、1つまたは複数の深度センサー、または追跡システムのための任意の適切な構成要素を使用して、ユーザ505の動き、特にユーザ505の手の動きを追跡し得る。アバター501は、追跡システム507によって検出されたユーザ505の行動を模倣する。コンピューティングデバイス101は、物理シミュレーションモデルを使用して、アバターの動きによって引き起こされる追加の制約を満たすようにデジタル衣類503を変形させ得る。本開示は、デジタル衣類がユーザの行動によって引き起こされる制約を満たすように変形される特定のアプリケーションを説明するが、本開示は、デジタル衣類がユーザの行動によって引き起こされる制約を満たすように変形される任意の適切なアプリケーションを企図する。
【0033】
特定の実施形態では、コンピューティングデバイス101は、アバター501に対応するメッシュとデジタル衣類503に対応するメッシュとの間の衝突を観察することによって、デジタル衣類に対するユーザの行動を検出し得る。コンピューティングデバイス101は、観察された衝突に関連する情報を物理シミュレーションモデルに提供し、それに応じてデジタル衣類503を変形させ得る。本開示は、特定の方法でアバターに対応するメッシュとデジタル衣類に対応するメッシュとの間の衝突を観察することにより、デジタル衣類に対するユーザの行動を検出することについて説明するが、本開示は、任意の適切な方法でアバターに対応するメッシュとデジタル衣類に対応するメッシュとの間の衝突を観察することにより、デジタル衣類に対するユーザの行動を検出することを企図する。
【0034】
特定の実施形態では、デジタル衣類503に対するユーザの行動を検出するために、コンピューティングデバイス101は、アバター501の指とデジタル衣類503との間の距離が閾値未満であることを検出し得る。コンピューティングデバイス101は、三次元体積力場を指の周りに生成し得る。力場内の点における力の量は、指からの距離に依存し得る。力場内のデジタル衣類503のどの部分でも、力の影響を受け得る。
図6は、指の周りの三次元体積力場に基づくデジタル衣類の例示的な変形を示す。限定としてではなく一例として、
図6に示すように、デジタル衣類503をユーザ505を表すアバター501に羽織らせる。アバター501は、追跡システム507によって追跡されるユーザ505の動きを模倣する。コンピューティングデバイス101は、アバター501の指とデジタル衣類503との間の距離が閾値内にあることを検出し得る。コンピューティングデバイス101は、三次元力場を指の周りに生成し得て、力の方向は、デジタル衣類503に対する指の位置に基づいて判定され得る。コンピューティングデバイス101は、物理シミュレーションモデルが生成された三次元力場に基づいてデジタル衣類503を変形できるように、生成された三次元力場に関する情報を物理シミュレーションモデルに提供し得る。本開示は、指の周りに生成された三次元力場に基づいてデジタル衣類を特定の方法で変形させることを説明するが、本開示は、指の周りに生成された三次元力場に基づいてデジタル衣類を任意の適切な方法で変形させることを企図する。
【0035】
特定の実施形態では、デジタル衣類503に対するユーザの行動を検出するために、コンピューティングデバイス101は、深度検知技術を使用して、ユーザ505が着ている衣類の点群を生成し得る。コンピューティングデバイス101は、デジタル衣類503を点群と一致するように保つ物理シミュレーションモデルに点群を提供し得る。
図7は、ユーザが着ている衣類の点群に基づくデジタル衣類の例示的な変形を示す。限定としてではなく一例として、
図7に示すように、コンピューティングデバイス101は、追跡システム507によって取得された衣類703に関連付けられた深度データに基づいて、ユーザ505が着ている衣類703の点群を生成し得る。特定の実施形態では、深度データは、複数のカメラに基づいて取得され得る。特定の実施形態では、深度データは、1つまたは複数の深度センサーを使用して取得され得る。コンピューティングデバイス101は、物理シミュレーションモデルがユーザ505を表すアバター601に羽織らせたデジタル衣類503を変形させ得るように、衣類703の点群を物理シミュレーションモデルに提供し得る。物理シミュレーションモデルは、デジタル衣類503の点群が衣類503の点群と一致するように、デジタル衣類703を変形させ得る。本開示は、ユーザが着ている衣類の点群に基づいてデジタル衣類を特定の方法で変形させることを説明するが、本開示は、ユーザが着ている衣類の点群に基づいてデジタル衣類を任意の適切な方法で変形させることを企図する。
【0036】
図8は、衣類を含む1つまたは複数の画像に基づいてデジタル衣類を生成するための例示的な方法800を示す。本方法は、ステップ810で開始され得て、コンピューティングデバイス101は、衣類を含む1つまたは複数の画像に基づいて衣類の前面パネルを生成し得る。ステップ820で、コンピューティングデバイス101は、衣類の背面パネルを生成し得る。ステップ830で、コンピューティングデバイス101は、前面パネルが三次元ボディの前にあり、背面パネルが三次元ボディの後ろにあるように、前面パネルおよび背面パネルを三次元空間内で位置合わせし得る。ステップ840で、コンピューティングデバイス101は、前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対を識別し得る。前面パネルおよび背面パネルの境界セグメントの各対は、互いに結合されることになり得る。ステップ850で、コンピューティングデバイス101は、物理シミュレーションモデルを使用する複数の反復シミュレーションによって、識別された前面パネルおよび背面パネルの境界セグメントの1つまたは複数の対の各々を結合することによってデジタル衣類を生成し得る。特定の実施形態は、適切な場合には、
図8の方法の1つまたは複数のステップを繰り返し得る。本開示は、
図8の方法の特定のステップが特定の順序で発生するものとして説明し、示すが、本開示は、
図8の方法の任意の好適なステップが任意の好適な順序で発生することを企図する。さらに、本開示は、衣類を含む1つまたは複数の画像に基づいてデジタル衣類を生成するための、
図8の方法の特定のステップを含む例示的な方法を説明し、示すが、本開示は、衣類を含む1つまたは複数の画像に基づいてデジタル衣類を生成するための、任意の好適なステップを含む任意の好適な方法を企図しており、適切な場合には、
図8の方法のステップのすべて、一部、またはいずれも含まなくてもよい。さらに、本開示は、
図8の方法の特定のステップを実行する特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せが、
図8の方法の任意の好適なステップを実行することを企図する。
【0037】
システムおよび方法
図9は、例示的なコンピュータシステム900を示す。特定の実施形態では、1つまたは複数のコンピュータシステム900は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム900は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム900上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム900の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
【0038】
本開示は、任意の好適な数のコンピュータシステム900を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム900を企図する。限定としてではなく例として、コンピュータシステム900は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム900は、1つまたは複数のコンピュータシステム900を含むか、単一型または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム900は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム900は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム900は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
【0039】
特定の実施形態では、コンピュータシステム900は、プロセッサ902と、メモリ904と、ストレージ906と、入出力(I/O)インターフェース908と、通信インターフェース910と、バス912とを含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【0040】
特定の実施形態では、プロセッサ902は、コンピュータプログラムを作成する命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ902は、内部レジスタ、内部キャッシュ、メモリ904、またはストレージ906から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ904、またはストレージ906に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ902は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ902を企図する。限定としてではなく一例として、プロセッサ902は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファ(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ904またはストレージ906中の命令のコピーであり得、命令キャッシュは、プロセッサ902によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ902において実行する命令が動作する対象のメモリ904またはストレージ906中のデータのコピー、プロセッサ902において実行する後続の命令によるアクセスのための、またはメモリ904もしくはストレージ906に書き込むための、プロセッサ902において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ902による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ902のための仮想アドレストランスレーション(virtual-address translation)を高速化し得る。特定の実施形態では、プロセッサ902は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ902を企図する。適切な場合、プロセッサ902は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ902を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
【0041】
特定の実施形態では、メモリ904は、プロセッサ902が実行するための命令、またはプロセッサ902が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム900は、ストレージ906または(たとえば、別のコンピュータシステム900などの)別のソースからメモリ904に命令をロードし得る。プロセッサ902は、次いで、メモリ904から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ902は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ902は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ902は、次いで、メモリ904にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ902は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ906または他の場所とは対照的な)メモリ904中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ906または他の場所とは対照的な)メモリ904中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ902をメモリ904に結合し得る。バス912は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ902とメモリ904との間に常駐し、プロセッサ902によって要求されるメモリ904へのアクセスを容易にする。特定の実施形態では、メモリ904は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ904は、適切な場合、1つまたは複数のメモリ904を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
【0042】
特定の実施形態では、ストレージ906は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ906は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ906は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ906は、適切な場合、コンピュータシステム900の内部または外部にあり得る。特定の実施形態では、ストレージ906は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ906は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ906を企図する。ストレージ906は、適切な場合、プロセッサ902とストレージ906との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ906は、1つまたは複数のストレージ906を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
【0043】
特定の実施形態では、I/Oインターフェース908は、コンピュータシステム900と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム900は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム900との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース908とを企図する。適切な場合、I/Oインターフェース908は、プロセッサ902がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース908は、適切な場合、1つまたは複数のI/Oインターフェース908を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
【0044】
特定の実施形態では、通信インターフェース910は、コンピュータシステム900と、1つまたは複数の他のコンピュータシステム900または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース910は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース910とを企図する。限定としてではなく一例として、コンピュータシステム900は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム900は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム900は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース910を含み得る。通信インターフェース910は、適切な場合、1つまたは複数の通信インターフェース910を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
【0045】
特定の実施形態では、バス912は、コンピュータシステム900の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス912は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス912は、適切な場合、1つまたは複数のバス912を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
【0046】
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
【0047】
その他
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
【0048】
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
【国際調査報告】