IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キャパシティー インコーポレイテッドの特許一覧

特許7125983実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法
<>
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図1
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図2
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図3A
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図3B
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図3C
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図4A
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図4B
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図4C
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図5
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図6
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図7
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図8
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図9
  • 特許-実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-17
(45)【発行日】2022-08-25
(54)【発明の名称】実物体の相互作用的な3D表現を作成および表示するためのシステムおよび方法
(51)【国際特許分類】
   G06T 15/20 20110101AFI20220818BHJP
   G06T 19/00 20110101ALI20220818BHJP
   G06T 7/55 20170101ALI20220818BHJP
   G06F 3/04815 20220101ALI20220818BHJP
【FI】
G06T15/20 500
G06T19/00 600
G06T7/55
G06F3/04815
【請求項の数】 20
(21)【出願番号】P 2020523230
(86)(22)【出願日】2018-07-12
(65)【公表番号】
(43)【公表日】2020-09-10
(86)【国際出願番号】 US2018041899
(87)【国際公開番号】W WO2019014497
(87)【国際公開日】2019-01-17
【審査請求日】2021-07-08
(31)【優先権主張番号】62/532,900
(32)【優先日】2017-07-14
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520009644
【氏名又は名称】キャパシティー インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ポポフ,コンスタンティン,エス.
【審査官】板垣 有紀
(56)【参考文献】
【文献】特開2001-149319(JP,A)
【文献】特開2001-325297(JP,A)
【文献】特開2002-042169(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/00 - 19/20
G06T 7/55
G06F 3/01
G06F 3/048 - 3/0489
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムであって、
物体についての複数の3Dビューを含むデータストアと、
1つ以上のプロセッサであって、
物体についての3Dビューのための要求を受信することと、
使用統計値を含むデータログを複数のユーザから受信することであって、前記使用統計値は、前記物体の前記3Dビューが異なる角度の範囲から閲覧される閲覧頻度を含み、前記閲覧頻度は、前記複数のユーザが前記物体の前記3Dビューを所定の角度の範囲から見た期間に基づいて決定される、使用統計値を含むデータログを複数のユーザから受信することと、
前記閲覧頻度の少なくとも一部に基づく1又は複数の角度の範囲を識別するために前記使用統計値を分析することと、
前記識別された前記1又は複数の角度の範囲から選択されたデフォルトビューを有する、前記物体の前記3Dビューを生成することと、を行うためにコンピュータ読み取り可能な命令を実行するように構成されている、1つ以上のプロセッサとを含む、コンピュータシステム。
【請求項2】
前記1つ以上のプロセッサは、
ユーザーインターフェースを生成するためのデータを送信するようにさらに構成され、前記ユーザーインターフェースは、
前記データログに少なくとも部分的に基づいて生成されたグラフと、
前記物体の3Dビューと、を含む、請求項1に記載のコンピュータシステム。
【請求項3】
前記グラフは、前記物体についての複数のデータログに基づいて、前記物体の集計または平均閲覧期間を示す、請求項2に記載のコンピュータシステム。
【請求項4】
前記グラフのx軸は、前記物体を閲覧するための視点を示し、
前記グラフのy軸は、前記物体を閲覧している期間を示し、
前記グラフ上の各(x、y)ポイントの前記期間は、ある範囲の視点期間に基づく、請求項3に記載のコンピュータシステム。
【請求項5】
前記1つ以上のプロセッサは、前記データログに少なくとも部分的に基づいて、最もポピュラーな視点または最も長い期間閲覧された視点を示すようにさらに構成されている、請求項1に記載のコンピュータシステム。
【請求項6】
前記1つ以上のプロセッサは、
デバイスタイプまたは描画環境の指示を受信することと、
複数の補足データの中から、前記デバイスタイプまたは描画環境に応じて前記3Dビューを生成するための第1の補足データを選択することと、
前記第1の補足データを送信することと、を行うようにさらに構成されている、請求項1に記載のコンピュータシステム。
【請求項7】
前記1つ以上のプロセッサは、
前記物体の拡大ビューを見せる要求を受信することと、
前記要求に応じて、少なくとも前記物体のズームデータセットから画像を送信することと、を行うようにさらに構成されている、請求項1に記載のコンピュータシステム。
【請求項8】
コンピュータで実装された方法であって、
コンピュータ読み取り可能な命令を実行する1つ以上のプロセッサによって、
物体についての3Dビューのための要求を受信することと、
使用統計値を含むデータログを複数のユーザから受信することであって、前記使用統計値は、前記物体の前記3Dビューが異なる角度の範囲から閲覧される閲覧頻度を含み、前記閲覧頻度は、前記複数のユーザが前記物体の前記3Dビューを所定の角度の範囲から見た期間に基づいて決定される、使用統計値を含むデータログを複数のユーザから受信することと、
前記閲覧頻度の少なくとも一部に基づく1又は複数の角度の範囲を識別するために前記使用統計値を分析することと、
前記識別された前記1又は複数の角度の範囲から選択されたデフォルトビューを有する、前記物体の前記3Dビューを生成することと、を含む、コンピュータで実装された方法。
【請求項9】
前記1つ以上のプロセッサによって、ユーザーインターフェースを生成するためのデータを送信することをさらに含み、前記ユーザーインターフェースは、
前記データログに少なくとも部分的に基づいて生成されたグラフと、
前記物体の3Dビューと、を含む、請求項8に記載のコンピュータで実装された方法。
【請求項10】
前記グラフは、前記物体についての複数のデータログに基づいて、前記物体の集計または平均閲覧期間を示す、請求項9に記載のコンピュータで実装された方法。
【請求項11】
前記グラフのx軸は、前記物体を閲覧するための視点を示し、
前記グラフのy軸は、前記物体を閲覧している期間を示し、
前記グラフ上の各(x、y)ポイントの前記期間は、ある範囲の視点期間に基づく、請求項10に記載のコンピュータで実装された方法。
【請求項12】
前記1つ以上のプロセッサによって、前記データログに少なくとも部分的に基づいて、最もポピュラーな視点または最も長い期間閲覧された視点を示すことをさらに含む、請求項8に記載のコンピュータで実装された方法。
【請求項13】
前記1つ以上のプロセッサによって、
デバイスタイプまたは描画環境の指示を受信することと、
複数の補足データの中から、前記デバイスタイプまたは描画環境に応じて前記3Dビューを生成するための第1の補足データを選択することと、
前記第1の補足データを送信することと、をさらに含む、請求項8に記載のコンピュータで実装された方法。
【請求項14】
前記物体の拡大ビューを見せる要求を受信することと、
前記要求に応じて、少なくとも前記物体のズームデータセットから画像を送信することと、をさらに含む、請求項8に記載のコンピュータで実装された方法。
【請求項15】
コンピュータプログラムが格納されたストレージを有する、非一時的なコンピュータストレージであって、前記コンピュータプログラムは、コンピュータシステムに、少なくとも、
物体についての3Dビューのための要求を受信することと、
使用統計値を含むデータログを複数のユーザから受信することであって、前記使用統計値は、前記物体の前記3Dビューが異なる角度の範囲から閲覧される閲覧頻度を含み、前記閲覧頻度は、前記複数のユーザが前記物体の前記3Dビューを所定の角度の範囲から見た期間に基づいて決定される、使用統計値を含むデータログを複数のユーザから受信することと、
前記閲覧頻度の少なくとも一部に基づく1又は複数の角度の範囲を識別するために前記使用統計値を分析することと、
前記識別された前記1又は複数の角度の範囲から選択されたデフォルトビューを有する、前記物体の前記3Dビューを生成することと、を命令する、実行可能な命令を含む、非一時的なコンピュータストレージ。
【請求項16】
前記実行可能な命令は、前記コンピュータシステムに、ユーザーインターフェースを生成するためのデータを送信することをさらに命令し、前記ユーザーインターフェースは、
前記データログに少なくとも部分的に基づいて生成されたグラフと、
前記物体の3Dビューと、を含む、請求項15に記載の非一時的なコンピュータストレージ。
【請求項17】
前記グラフは、前記物体についての複数のデータログに基づいて、前記物体の集計または平均閲覧期間を示す、請求項16に記載の非一時的なコンピュータストレージ。
【請求項18】
前記グラフのx軸は、前記物体を閲覧するための視点を示し、
前記グラフのy軸は、前記物体を閲覧している期間を示し、
前記グラフ上の各(x、y)ポイントの前記期間は、ある範囲の視点期間に基づく、請求項17に記載の非一時的なコンピュータストレージ。
【請求項19】
前記実行可能な命令は、前記コンピュータシステムに、前記データログに少なくとも部分的に基づいて、最もポピュラーな視点または最も長い期間閲覧された視点を示すことをさらに命令する、請求項15に記載の非一時的なコンピュータストレージ。
【請求項20】
前記実行可能な命令は、前記コンピュータシステムに、
デバイスタイプまたは描画環境の指示を受信することと、
複数の補足データの中から、前記デバイスタイプまたは描画環境に応じて前記3Dビューを生成するための第1の補足データを選択することと、
前記第1の補足データを送信することと、をさらに命令する、請求項15に記載の非一時的なコンピュータストレージ。
【発明の詳細な説明】
【技術分野】
【0001】
優先明細書への参照による組み込み
本開示は、2017年7月14日に出願された米国仮特許出願第62/532,900号の優先権の利益を主張する。外国または国内の優先権を主張するありとあらゆる出願は、本願とともに提出された出願データシートで特定されている。
【0002】
本開示は、概して3D画像生成に関する。
【背景技術】
【0003】
カメラは、物体の写真を撮ることができるが、その結果の画像は、物体の2次元(2D)表現を示す。
【発明の概要】
【0004】
いくつかの態様は、物体の3Dビューを生成するための方法であって、方法は、物体の周りの複数の視点から画像データをキャプチャすることと、品質について画像データを分析することと、画像データに基づいて画像のデータセットを作成することと、画像のデータセットをフィルタリングすることと、データ参照パラメータを生成することと、ネットワーク経由でサーバに画像のデータセットをアップロードすることと、を含む方法を特徴とする。
【0005】
方法は、次の特徴の1つ、すべて、または任意の組み合わせを含むことができる。画像データは、映像を含む。画像データは、複数の写真を含む。画像データをキャプチャすることは、固定カメラを使用して画像データをキャプチャしながら物体を回転させることを含む。画像データをキャプチャすることは、物体の周りの軌道でカメラを動かすことを含む。方法は、画像データに含まれる画像のぼけまたはアーチファクトを検出して低品質の画像を識別することを含む、品質について画像データを分析することをさらに含むことができる。方法は、画像のデータセットから低品質画像を除外することをさらに含むことができる。方法は、物体と画像データをキャプチャするカメラと一定でない相対回転を補償することをさらに含むことができる。方法は、少なくとも1つの画像のサイズを変更することによって画像データ内の物体のスケーリングを正規化することをさらに含むことができる。方法は、画像のデータセットに含まれる画像のより高解像度バージョンである画像を含むズーム画像データセットを作成することをさらに含むことができる。画像のデータセットは、物体の周りの異なる視点からの物体の複数の画像と、複数の画像の各々について、画像内の物体のそれぞれの位置または角度を示すデータと、を含む。データ参照パラメータは、画像データのキャプチャするために使用された機器に関するデータと、画像データのキャプチャするために使用された1つ以上の記録パラメータと、物体の寸法と、物体の形状に関するデータと、を含む。画像のデータセットは、3Dメッシュフレームまたは3D幾何モデルデータを含まない。
【0006】
いくつかの態様は、コンピュータシステムであって、物体についての複数の3Dビューを含むデータストアと、コンピュータ読み取り可能な命令を実行するように構成されている、1つ以上のプロセッサと、を含む、コンピュータシステムを特徴とする。1つ以上のプロセッサは、物体についての3Dビューのための要求を受信することと、物体についての3Dビューを送信することと、物体が異なる角度から閲覧される頻度に関する使用統計値を含むデータログを受信することと、を行うためにコンピュータ読み取り可能な命令を実行することができる。
【0007】
コンピュータシステムは、次の特徴の1つ、すべて、または任意の組み合わせを含むことができる。1つ以上のプロセッサは、ユーザーインターフェースを生成するためのデータを送信するようにさらに構成され、ユーザーインターフェースは、データログに少なくとも部分的に基づいて生成されたグラフと、物体の3Dビューと、を含む。グラフは、物体についての複数のデータログに基づいて、物体の集計または平均閲覧期間を示す。グラフのx軸は、物体を閲覧するための視点を示し、グラフのy軸は、物体を閲覧している期間を示し、グラフ上の各(x、y)ポイントの期間は、ある範囲の視点の期間に基づく。1つ以上のプロセッサは、データログに少なくとも部分的に基づいて、最もポピュラーな視点または最も長い期間閲覧された視点を示すようにさらに構成されている。1つ以上のプロセッサは、デバイスタイプまたは描画環境の指示を受信することと、複数の補足データの中から、デバイスタイプまたは描画環境に応じて3Dビューを生成するための第1の補足データを選択することと、第1の補足データを送信することと、を行うようにさらに構成されている。1つ以上のプロセッサは、物体の拡大ビューを見せる要求を受信することと、要求に応じて、少なくとも物体のズームデータセットから画像を送信することと、を行うようにさらに構成されている。
【図面の簡単な説明】
【0008】
図1】静的カメラを使用し物体を回転させて、物体の3Dビューを生成するための例示的なシステムを示す。
図2】移動カメラを使用して静的物体の3Dビューを生成するための例示的なシステムを示す。
図3A】物体の例示的な3Dビューを示す。
図3B】物体の例示的な3Dビューを示す。
図3C】物体の例示的な3Dビューを示す。
図4A】拡張現実(AR)ヘッドセット経由の例示的な3Dビューを示す。
図4B】拡張現実(AR)ヘッドセット経由の例示的な3Dビューを示す。
図4C】拡張現実(AR)ヘッドセット経由の例示的な3Dビューを示す。
図5】静的カメラを使用し物体を回転させることによって物体の3Dビューを生成するための例示的なプロセスのフローチャートを示す。
図6】移動カメラを使用して静的物体の3Dビューを生成するための例示的なプロセスのフローチャートを示す。
図7】物体の3Dビューを表示するための例示的なプロセスのフローチャートを示す。
図8】ログデータをレビューするための例示的なユーザーインターフェースを示す。
図9】3Dビューを表示するための例示的なシステムを示す。
図10】物体の3Dビューをホストするための例示的なプロセスのフローチャートを示す。
【発明を実施するための形態】
【0009】
序論
カメラは、人物、衣服などの物体の2D画像を撮影することができる。多くの場合において、物体を異なる角度から回転させて見ることができるように、物体を3Dで提示することがより望ましいことがある。
【0010】
特殊な3D深度スキャンシステムは、物体の深さをスキャンおよび分析して3Dモデルを生成することができるが、これらの特殊な3D深度スキャンシステムでは、多くの人々のリソースを超える高価な機器と技術的専門知識が必要になる場合がある。
【0011】
3D構造、3Dメッシュフレーム、および3D幾何モデルに関する詳細を含む完全な3Dモデルは、状況によってはモデルの3D表現を表示するために不要な場合がある。例えば、3Dビューを共有して物体を友人に見せたり、オンラインで販売中の物体の3Dビューを提示したり、仮想現実または拡張現実で3Dビューを表示したりすることは、メッシュフレームまたは3D幾何モデルを生成せずに実行することができる。
【0012】
本明細書では、異なる角度から回転させて見ることができる3Dビューとして現れる物体のデジタル表現を作成するためのシステムおよび方法を開示する。3Dビューは、メッシュフレームまたは3D幾何モデルデータを含めずに、本格的な3Dコンテンツに似ているように見え得る。物体を回転させると、物体の映像および/または一連の写真は、カメラによってキャプチャすることができる。映像および/または写真を処理して、物体を異なる角度から回転および閲覧できる相互作用的な視覚化を生成することができる。相互作用的な視覚化は、映像および/または写真および/または他のデータを含む第1の形式で保存することができる。相互作用的な視覚化は別個に保存され、他のプラットフォームに埋め込むためにフォーマットされることもできる。ユーザーが相互作用的な視覚化を閲覧するとき、ユーザーは、様々な角度から閲覧するため物体を回転させることができ、ポピュラーな閲覧角度を決定するユーザーの閲覧パターンなど、サーバは、ユーザーの行動に関連する分析を追跡することができる。
【0013】
回転物体
図1は、物体を回転させることによって静的カメラを使用して物体の3Dビューを生成するための例示的なシステム100を示す。システムは、回転104することができるターンテーブル103上の物体101を含む。カメラ105は、静止位置に配置され、1つ以上のライト107、109を使用して物体101を照らすことができる。
【0014】
物体101は、3Dビューが生成されるべき任意の物体であり得る。例としては、衣類、道具、家具、マネキンまたはモデル、車、宝石、工芸品、アクセサリーなどを含む。
【0015】
カメラ105は、物体101が回転するときに映像または一連の画像を記録するように構成することができる。カメラ105は、スマートフォンカメラ、写真カメラ、映像カメラ、または画像または映像をキャプチャするための任意の同様のデバイスであり得る。
【0016】
ターンテーブル103は、矢印104によって示されるように回転することができる任意のプラットフォームであり得る。電動ターンテーブル103を使用して、一定の電動速度で物体101を回転させることができる。ターンテーブル103は、一枚の紙などの任意の回転面を使用して実装されることができる。一枚の紙は、一枚の紙上に置かれている任意の物体101とともに、矢印104で示されるように回転することができる。手動で紙を回転させているときの回転速度の不均一性などのように、速度変動は、処理中に検出および調整されることができる。
【0017】
ライト107、109を使用して、物体101を照らし、明確に照明された写真または映像を提供することができる。ライト107、109は、異なる角度からの物体の均一な照明を提供することができる。
【0018】
カメラ105は、物体101が回転するときに映像または一連の写真を撮るように構成することができる。ターンテーブル104を使用して、物体101を回転させることができる。いくつかの実施形態において、物体101を回転させるために、物体を回転させるために細く、ほとんど見えない糸を使用するなど、他の技術を使用することができる。物体101は、少なくとも完全な1回転または360度回転して、すべての角度の画像データを提供することができる。場合によっては、1.5回転、2回転以上など、物体101を1回転より多く回転させて、処理用の画像データを増やすことができる。物体が完全に2回転する場合など、複数の角度の画像が提供される場合、任意の角度で、より優れた(より鮮明、より明確、より良い照明、より焦点の合ったなど)画像を選択して使用することができる。
【0019】
周回カメラ
図2は、移動カメラを使用して静的物体の3Dビューを生成するための例示的なシステム200を示す。システムは、静的表面であり得る表面203上の物体101を含む。カメラ205は、物体101を周回して、物体の写真または映像を撮る。
【0020】
物体101は、3Dビューが生成されるべき任意の物体であり得る。例としては、衣類、道具、家具、モデルなどを含む。物体は、ライトで照らされることができる(図2には示されていない)。
【0021】
カメラ205は、カメラ205が物体101の周りを回転または周回するとき、映像または一連の画像を記録するように構成される。カメラ205は、例えば、カメラ205を保持している人によって、またはトラックに沿って移動することができる。カメラは、物体101を少なくとも完全に1回転(360度)以上周回して、すべての角度の画像データを提供することができる。カメラ205は、スマートフォンカメラとして示されているが、カメラ205は、写真カメラ、映像カメラ、または画像または映像をキャプチャするための任意の同様のデバイスであってもよい。
【0022】
例示的な3Dビュー
カメラからキャプチャされたデータを処理して、3Dビューを生成することができる。図3A図3B、および図3Cは、靴301の例示的な3Dビューを示す。図3Aは、靴301の第1の3Dビュー300を示す。ユーザーは、カーソルまたは、タッチパッド、キーボード、コントローラ、音声コマンドなどの他の入力デバイスを使用して、靴の3Dビューと相互作用することができる。例えば、ユーザーは、3Dビュー300をクリックして左にドラッグし、3Dビュー300を時計回りに回転させることができる。図3Bは、第1の量だけカーソルを左にドラッグすることに応答して、靴が第1の角度だけ反時計回りに回転する第2のビュー310を示す。図3Cは、第1の量だけカーソルを左にドラッグすることに応じて、靴が第2の角度だけ反時計回りに回転する第2のビュー320を示す。3Dビューが画面上に提示される場合、物体のビューは、比例するなど、カーソルの動きに応じて回転することができる。物体のビューは、例えば、キーボード上の左または右ボタンを押すなどの入力に応じて、連続的または増分的に回転することもできる。
【0023】
ユーザーがドラッグすることを停止すると、3Dビュー300、310、または320の回転が停止する。ユーザーは、提示された角度のいずれかから靴物体301上で拡大することを選択することもできる。ユーザーは、例えば、ズームボタン(図示せず)を押す、キーボード上の「+」または「-」などのボタンを押す、マウスを上下にドラッグするなどして、拡大するコマンドを提供することができる。
【0024】
3Dビュー300、310、または320を回転させて、物体の周りを周回する複数の視点から物体がどのように見えるかを示すことができる。物体のこれらのビューは、図1および図2に関して記載した、物体の周りの各それぞれの位置でカメラによって撮影された写真または映像フレームに対応することができる。3Dビューは、物体を連続的に360度回転させることができ、物体を任意の2つの閲覧角度(例えば、時計回りまたは反時計回りに27度~245度)の間で回転させることができる。3Dビューは、3D構造、3Dメッシュフレーム、および/または3D幾何モデルに関するデータなしで生成することができる。
【0025】
図4A図4B、および図4Cは、拡張現実(AR)ヘッドセット経由の例示的な3Dビューを示す。図4Aにおいて、ユーザーは、ARヘッドセット401内の靴の3Dビュー403を表示するARヘッドセット401を着用して、ユーザーの現実のビューが3Dビュー403で増強されるようにする。ユーザーは、手ぶりを使用し、および/またはコントローラを動かして、靴の3Dビュー403を回転させることができる。図4Bは、ユーザーがヘッドセット401を左に動かすことに応じて、ARヘッドセット401に現れる3Dビュー403を示している。図4Cは、ユーザーがヘッドセット401を右に動かすことに応じて、ARヘッドセット401に現れる3Dビュー403を示している。ARヘッドセット内で3Dビュー403を回転させて、ARヘッドセットの相対的な閲覧位置に基づいて3Dビューの角度を変更することができる。AR技術は、仮想現実(VR)ヘッドセットでも同様に実装されることができる。
【0026】
3Dビューの生成
図5は、静的カメラを使用し物体を回転させることによって物体の3Dビューを生成するための例示的なプロセスのフローチャート500を示す。プロセス500は、とりわけ、コンピュータシステム、モバイルコンピューティングデバイス、またはカメラによって、全体的または部分的に、実装することができる。
【0027】
ブロック501で、物体を回転させることができる。例えば、物体は、回転しているターンテーブルまたは回転している一枚の紙などの他の回転面上に置くことができる。他の実施例として、物体を手動で回転させたり、細い糸で吊り下げたり、空中で回転させたりすることができる。物体は、少なくとも完全な1回転(少なくとも360度)、いくつかの実施形態においては、360度~480度の間など、1回転よりも多く回転させることができる。
【0028】
ブロック503で、カメラは、物体回転の映像を記録することができる。カメラは、映像が物体の周りの複数の角度から物体を示している複数の画像フレームを含むように、少なくとも完全な1回転にわたって回転している物体を記録することができる。いくつかの実施形態において、物体の周りの複数の角度から物体を示している写真のセットが、映像の代わりに使用され得る。
【0029】
ブロック505で、物体回転の映像をコンピュータシステムに提供することができる。コンピュータシステムは、映像を受信することができる。コンピュータシステムは、例えば、デスクトップ、ラップトップ、スマートフォン、リモートサーバなどを含むことができる。
【0030】
ブロック507で、フレームのセットを選択するために、映像のフレームを分析してフレームの品質を検出することができる。フレームを分析して、ぼけ、アーチファクト、または低品質フレームの他の特性を検出することができる。低品質のフレームは、選択したフレームのセットから省略することができる。少なくとも2つのフレームが同じまたは実質的に同様の角度から物体を示す場合、それらの2つのフレームのうち、映像に複数の回転が含まれる場合など、フレームのセットに含めるために高品質のフレームを選択することができる。選択されたフレームのセットは、0.5度、1度、2度、または任意の他の定義されたしきい値角度など、物体の周りの回転のしきい値角度内の少なくとも1つのフレームを含むことができる。
【0031】
ブロック509で、画像のデータセットを作成することができる。データセットは、選択されたフレームセットに基づいているか、または含まれており、データセットにしきい値角度ごとに物体のビューが少なくとも1つ含まれる(物体の周りの1度の回転ごとに少なくとも1フレームなど)。データセットには、フレームと物体の間の位置または角度を示すデータを含めることができる。画像のデータセットを使用して、ユーザーが3Dビューで物体を回転させるときに、各角度から物体がどのように見えるかを示すことができる。
【0032】
ブロック511で、ズーム画像データセットを作成することができる。ズーム画像データセットには、画像のデータセットの高解像度バージョンを含めることができる。ズーム画像データセットを使用して、ユーザーが3Dビューで拡大するときに詳細を示すことができる。
【0033】
ブロック513で、1つ以上の画像フィルタまたはプリセットを、ズーム画像データセットおよび/またはズーム画像データセットに適用することができる。フィルタには、輝度、コントラスト、カラーバランス、ホワイトバランス、鮮明さなどのフィルタを含めることができる。
【0034】
ブロック515で、データ参照パラメータを作成または抽出することができる。データ参照パラメータを使用して、様々なプラットフォームおよびデバイスで3Dビューを生成することができる。参照パラメータは、例えば、どのフレームをデフォルトまたは3Dビューの前面として使用するかを示すことができる。参照パラメータは、映像の記録または写真の撮影に使用される機器に関するデータ、記録パラメータ、フレームマスク、物体の寸法、物体の幾何学的形状に関する情報も含むことができる。
【0035】
ブロック517で、画像のデータセット、ズーム画像データセット、および/または参照パラメータは、ネットワーク経由でリモートコンピュータシステムにアップロードすることができる。リモートコンピュータシステムは、データを保存し、画像のデータセット、ズーム画像データセット、および/または参照パラメータに少なくとも部分的に基づいて、物体の1つ以上の3Dビューを生成するように構成することができる。
【0036】
図6は、移動カメラを使用して静的物体の3Dビューを生成するための例示的なプロセス600のフローチャートを示す。プロセス600は、とりわけ、コンピュータシステム、モバイルコンピューティングデバイス、またはカメラによって、全体的または部分的に、実施することができる。
【0037】
ブロック601で、カメラを使用して物体を記録し、カメラが物体の周りを移動する。カメラは、少なくとも完全な1回転の軌道で移動することができ、いくつかの実施形態において、カメラは、360から480度以上回転することができる。カメラは、物体の周囲を手動で運ばれたり、トラックに沿って移動したり、または別の方法で移動することができる。記録された映像は、物体の周りの複数の角度から物体を示す複数の画像フレームを含む。いくつかの実施形態において、物体の周りの複数の角度から物体を示す写真のセットが、映像の代わりに使用され得る。
【0038】
ブロック603で、物体回転の映像をコンピュータシステムに提供することができる。コンピュータシステムは、映像を受信することができる。コンピュータシステムは、例えば、デスクトップ、ラップトップ、スマートフォン、リモートサーバなどを含むことができる。
【0039】
ブロック605で、一定でないカメラの回転を特定し、補償することができる。固定参照マーカーの回転に基づいて、一定でないカメラの回転を手動または自動で識別することができる。物体がブロック601で記録されている間に、固定参照マーカー(グリッドなど)を表面または背景に表示することができる。一定でない回転を補正するために、より遅い回転を示す映像の部分のフレームを削除して、映像のそれらの部分を高速化することができる。ブロック605は、特にブロック501で物体が手動で回転された場合、ブロック507の前後など、図5に関して説明したプロセス500中にオプションで実行され得る。
【0040】
図6に関して、ブロック607で、物体のスケーリングを正規化することができ、焦点を調整することができる。記録されたフレーム内の物体の外観は、ブロック601中のカメラの半径方向の動きによりサイズが様々な場合がある。物体が小さく現れるフレームは拡大でき、物体が大きく現れるフレームはサイズを小さくできる。したがって、物体のスケーリングを正規化することができる。物体のサイズは、物体とカメラの間の半径方向の距離を示し、半径方向の距離の変化に起因する焦点変動も補正することができる。
【0041】
ブロック609で、画像のデータセットを作成することができる。データセットは、選択されたフレームセットに基づいているか、または含まれており、データセットにしきい値角度ごとに物体のビューが少なくとも1つ含まれる(物体の周りの1度の回転ごとに少なくとも1フレームなど)。データセットには、フレームと物体の間の位置または角度を示すデータを含めることができる。画像のデータセットを使用して、ユーザーが3Dビューで物体を回転させるときに、各角度から物体がどのように見えるかを示すことができる。
【0042】
ブロック611で、ズーム画像データセットを作成することができる。ズーム画像データセットには、画像のデータセットの高解像度バージョンを含めることができる。ズーム画像データセットを使用して、ユーザーが3Dビューで拡大するときに詳細を示すことができる。
【0043】
ブロック613で、1つ以上の画像フィルタまたはプリセットを、ズーム画像データセットおよび/またはズーム画像データセットに適用することができる。フィルタには、輝度、コントラスト、カラーバランス、ホワイトバランス、鮮明さなどのフィルタを含めることができる。
【0044】
ブロック615で、データ参照パラメータを作成または抽出することができる。データ参照パラメータを使用して、様々なプラットフォームおよびデバイスで3Dビューを生成することができる。参照パラメータは、例えば、どのフレームをデフォルトまたは3Dビューの前面として使用するかを示すことができる。参照パラメータは、映像の記録または写真の撮影に使用される機器に関するデータ、記録パラメータ、フレームマスク、物体の寸法、物体の幾何学的形状に関する情報も含むことができる。
【0045】
ブロック617で、画像のデータセット、ズーム画像データセット、および/または参照パラメータは、ネットワーク経由でリモートコンピュータシステムにアップロードすることができる。リモートコンピュータシステムは、データを保存し、画像のデータセット、ズーム画像データセット、および/または参照パラメータに少なくとも部分的に基づいて、物体の1つ以上の3Dビューを生成するように構成することができる。
【0046】
図7は、物体の3Dビューを表示するための例示的なプロセスのフローチャートを示す。プロセス700は、とりわけ、コンピュータシステム、モバイルコンピューティングデバイス、またはカメラによって、全体的にまたは部分的に、実装することができる。
【0047】
ブロック701で、3Dビューを示すためのデータを受信することができる。いくつかの実施形態において、3Dビューを示すためのデータは、インターネットなどのネットワーク接続経由でサーバからダウンロードすることができる。
【0048】
ブロック703で、デバイスのタイプおよび描画環境を検出することができる。例えば、デバイスがモニター付きコンピュータ、画面付きラップトップ、スマートフォン、ARヘッドセット、VRヘッドセットなどである場合に検出することができる。描画環境には、例えば、インターネットブラウザーでのウエブサイトの一部としての描画、VRアプリ経由の描画、AR環境での描画、複合現実環境での描画などが含まれる。
【0049】
ブロック705で、検出されたデバイスのタイプおよび/または描画環境に基づいて、3Dビューを示すためのデータを構成することができる。いくつかの実施形態において、3Dビューは、描画環境で検出されたタイプのデバイスに3Dビューを表示するための補足データをダウンロードまたはストリーミングすることにより構成される。検出されたデバイスのタイプまたは描画環境に基づいて、異なるタイプの補足データをダウンロードまたはストリーミングすることができる。いくつかの実施形態において、3Dビューを表示するためのデータは、複数の異なる描画環境の複数の異なるタイプのデバイスで3Dビューを表示するためのデータを含むことができ、検出された描画環境内の検出されたデバイスのタイプで3Dビューを示すために、3Dビューを表示するためのデータのサブセットが選択される。いくつかの実施形態において、デバイスのタイプおよび/または描画環境の検出に応じて、3Dビューは、それぞれのタイプのユーザー入力に応じて回転するように構成される。
【0050】
ブロック707で、3Dビューは、少なくとも部分的にユーザーの視点に基づいて描画される。3Dビューにおいて、物体の画像を表示することができる。画像は、ユーザーの視点が変わると変化し、物体を周回する視点の輪から物体を観察することができる。図3A図3B図3C図4A図4B、および図4Cに関して説明したように、ユーザーは、3Dビューと相互作用して、物体に対するユーザーの視点を変更することができる。いくつかの実施形態において、ARおよびVR環境など、頭部追跡を使用してユーザーの視点を決定でき、3Dビューは頭部の動きに応じて更新することができる。
【0051】
ブロック709で、3Dビューとのユーザーの相互作用は、ログを取ることができる。これは、例えば、様々な角度で物体を閲覧している期間、物体がどの角度から閲覧されるか、3Dビューを閲覧している期間、ユーザーが物体を閲覧する角度をどのように変更するか、などを含む。
【0052】
ブロック711で、3Dビューとのユーザーの相互作用のログを、3Dビューをホストしているサーバなどにネットワーク経由で送信することができる。これにより、サーバは3Dビューを分析して、どのビューが最もポピュラーであるかを判断することができる。サーバは、場合によっては、ポピュラーな角度に基づいてデフォルトビューを設定し、および/または、ポピュラーな角度経由で回転するように3Dビューを設定することができる。サーバは、物体のどの部分が最も興味深いものであるかを分析することもできる。
【0053】
図8は、ログデータをレビューするための例示的なユーザーインターフェース800を示す。ユーザーインターフェース800は、0~360度の角度範囲で閲覧される3Dビュー310である、期間または頻度を示すグラフ801を含む。選択ボックス805は、グラフに沿って左または右に移動することができ、3Dビューはそれに応じて時計回りまたは反時計回りに回転する。曲線803は、1人以上のユーザーによって閲覧された選択ボックス805内に含まれる隣接する視点の範囲である、時間の集計量を示す。例えば、点807で示される期間は、ユーザーが物体を約65度から95度で閲覧された期間を含む。グラフは、1人のユーザーのためのデータまたは複数のユーザーのための集計(平均のような)データを含めることができる。各角度または角度範囲のヒストグラムなど、他のグラフも示すことができる。
【0054】
サーバ
図9は、3Dビューを表示するための例示的なシステム900を示す。システム900は、サーバ901、ネットワーク903、カメラ105、画像のデータセット907およびズーム画像データセット908およびデータ参照パラメータ909を格納するコンピュータ905、タブレット911のような第1のユーザーデバイス、および、ARまたはVRヘッドセット913のような第2のユーザーデバイスを含む。サーバ901は、処理ユニット20、ユーザー入力/出力34、フラッシュ52、クロック50、読み取り専用メモリ46、ランダムアクセスメモリ48、ディスプレイ入力/出力36、オーディオ/映像インターフェース56、およびストレージ903を含む。データストア903は、画像のデータセットの送信済みコピー、ズーム画像データセットの送信済みコピー、データ参照パラメータの送信済みコピー、物体用に生成された3Dビューファイル、ウエブサイトのための補足3Dビューデータ、およびVRのための補足3Dビューデータを含むことができる。
【0055】
図1図2図5、および図6に関して説明したように、カメラ105は、少なくとも360度からの物体の映像または写真を記録することができる。映像または写真をコンピュータ905に転送することができる。コンピュータ905は、画像を処理し、画像のデータセット907、ズーム画像データセット908、およびデータ参照パラメータ909を生成することができる。コンピュータ905は、画像のデータセット907、ズーム画像データセット908、およびデータ参照パラメータ909を、ネットワーク903経由でサーバ901に転送することができる。
【0056】
サーバ901は、画像のデータセット、ズーム画像データセット、およびデータ参照パラメータを受信および保存することができる。サーバ901はまた、画像のデータセット、ズーム画像データセット、およびデータ参照パラメータに基づいて3Dビューを生成することができる。サーバ901は、画像のデータセット、ズーム画像データセット、およびデータ参照パラメータに基づいて、ウエブサイト上およびVR環境で3Dビューを示すための補足データを生成することもできる。
【0057】
サーバは、タブレット911のような第1のコンピューティングデバイスからウエブサイト経由で3Dビューを示すための第1の要求を受信すると、サーバは、3Dビューファイルをタブレット911に転送し、ウエブサイト経由で3Dビューを示すための補足データも転送することができる。サーバは、VRヘッドセット913のような第2のコンピューティングデバイスからVR環境で3Dビューを示す第2の要求を受信すると、サーバは、3DビューファイルをVRヘッドセット913に転送し、VR環境で3Dビューを示すための補足データも転送することができる。サーバ901は、物体の3Dビューを示すために要求されたように、ズーム画像データセットおよび/または画像のデータセットから画像をストリーミングおよび/または転送することができる。
【0058】
図示されたように、サーバ901は、サーバ901の他のコンポーネントおよびサーバ901の外部のコンポーネントとも相互作用する処理ユニット20を含む。サーバ901は、別個のグラフィックプロセッサ24を含むことができる。場合によっては、グラフィックプロセッサ24は、APUなどを用いて処理ユニット20に組み込まれてもよい。いくつかのそのような場合、グラフィックプロセッサ24は、ランダムアクセスメモリ(RAM)を処理ユニット20と共有してもよい。代替的、または追加的に、サーバ901は、処理ユニット20とは別個である離散グラフィックプロセッサ24を含み得る。いくつかのそのような場合、グラフィックプロセッサ24は、処理ユニット20とは別個のRAMを有していてもよい。さらに、場合によっては、グラフィックプロセッサ24は、マザーボードに組み込まれている場合があり、オンボードグラフィックチップまたはデバイスと呼ばれることもある、1つ以上の追加のグラフィックプロセッサおよび/または埋め込みまたは非離散グラフィックス処理ユニットと連携して動作し得る。
【0059】
サーバ901は、ユーザーI/O34、ディスプレイI/O36、およびネットワークI/O38のような入力/出力を可能にするための様々なコンポーネントも含む。入力/出力コンポーネントは、場合によっては、タッチ対応デバイスを含んでいてもよい。データストア903は、サーバ901のための内部またはリムーバブルストレージを含むことができる。データストア903は、コンピュータ905から受信したデータセットおよびデータ参照パラメータを保存することができる。データストア903は、データセットおよびデータ参照パラメータに基づいて生成された3Dビューを保存し、異なるタイプのデバイスおよび/または異なる描画環境で3Dビューを表示するための補足データも保存するように構成することもできる。ストレージ40および取り外し可能なストレージ媒体44に加えて、ROM(読み取り専用メモリ)46およびRAM48を含むサーバ901も示されている。RAM48は、ゲームがプレイされているときなど、頻繁にアクセスされるデータ、または処理ユニット20および/またはグラフィックプロセッサ24によってアクセスされるすべてのデータに使用することができる。
【0060】
ユーザーI/O34は、処理ユニット20とユーザーデバイスとの間でコマンドを送信および受信するために使用される。いくつかの実施形態において、ユーザーI/O34は、タッチスクリーン入力を含むことができる。前述したように、タッチスクリーンは、容量性タッチスクリーン、抵抗性タッチスクリーン、またはユーザーからの触覚入力経由でユーザー入力を受信するように構成された他のタイプのタッチスクリーン技術であり得る。ディスプレイI/O36は、モニターなどに画像を表示するために使用される入力/出力機能を提供する。ネットワークI/O38は、ネットワークの入力/出力機能のために使用される。ネットワークI/O38を使用して、3Dビュー、データセット、データ参照パラメータ、および/または3Dビューを示すための補足データを転送することができる。
【0061】
ディスプレイ出力信号は、ディスプレイI/O36によって製造されてもよく、グラフィックス、ユーザーインターフェース、映像、および/または他の視覚コンテンツなど、サーバ901によって製造された視覚コンテンツをディスプレイデバイスに表示する信号を含むことができる。
【0062】
サーバ901は、クロック50、フラッシュメモリ52、および他のコンポーネントなどの他の特徴も含むことができる。オーディオ/映像プレーヤー56を使用して、3Dビューを示すこともできる。他のコンポーネントがサーバ901に提供されてもよく、当業者がサーバ901の他の変形を認めることを理解されたい。
【0063】
プログラムコードは、ROM46、RAM48、またはストレージ40(ハードディスク、その他の磁気ストレージ、光学ストレージ、ソリッドステートドライブ、および/またはその他の不揮発性ストレージ、またはこれらの組み合わせまたはバリエーションを含む)に保存することができる。プログラムコードの少なくとも一部は、プログラム可能であるROM(ROM、PROM、EPROM、EEPROMなど)、データストア903、および/またはリムーバブルメディアなどに保存するか、必要に応じてネットワークまたはその他の電子チャンネルを介して取得することができる。概して、プログラムコードは、有形の非一時的なコンピュータ読み取り可能な媒体に組み込まれていることがわかる。
【0064】
ランダムアクセスメモリ(RAM)48(事によると他のストレージ)は、必要に応じて変数およびプロセッサデータを保存するために使用することができる。RAMは使用されて、ゲームのプレイ中に生成されるデータを保持し、その一部は、フレームバッファ、ゲーム状態、および/またはユーザー入力の解釈およびゲーム表示の生成のために必要または使用可能なその他のデータ用に確保される場合がある。概して、RAM48は、揮発性ストレージであり、RAM48内に保存されたデータは、サーバ901の電源が切られるか、または電力が失われると失われる可能性がある。
【0065】
図10は、物体の3Dビューをホストするための例示的なプロセスのフローチャート1000を示す。プロセス1000は、とりわけ、コンピュータシステムまたはモバイルコンピューティングデバイスによって、全体的または部分的に実装することができる。
【0066】
ブロック1000で、データセットおよび/またはデータ参照パラメータを受信することができる。データセットは、例えば、図5のブロック517または図6のブロック617でデータセットおよび/またはデータ参照パラメータをアップロードするコンピュータシステムから受信することができる。
【0067】
ブロック1003で、データセットおよびデータ参照パラメータに少なくとも部分的に基づいて、物体の3Dビューを生成することができる。
【0068】
ブロック1005で、異なるタイプのデバイスおよび/または描画環境で3Dビューを示すために、3Dビューの補足データを生成することができる。
【0069】
ブロック1007で、物体の3Dビューを示すための要求が受信される。例えば、クライアントは、ゲームの一部として、仮想環境または拡張現実環境などで、ウエブサイトに埋め込まれて表示される物体の3Dビューを要求することができる。いくつかのクライアントは、APIを使用して、物体の3Dビューを示す要求をする場合がある。いくつかのクライアントは、ウエブサイト上のコード経由で、3Dビューを示す要求をする場合がある。例えば、ウエブサイトはHTML5のiframeを使用して、物体の3Dビューを表すように要求することができる。別の実施例として、ウエブサイトは、PrestaShopプラグイン(http://cappasity.com/prestashopで入手可能)などのプラグインを使用して、物体の3Dビューをウエブページに埋め込むことができる。クライアントは、各3Dビューに関連付けられた一意の識別子を使用して、表示する3Dビューを識別することができる。
【0070】
ブロック1009で、3Dビューをクライアントに転送することができる。いくつかの実施形態において、必要に応じてデータをストリーミングすることができる。例えば、ユーザーが視点を選択すると、選択した視点および/または隣接する視点の画像データをストリーミングおよび/またはバッファリングすることができる。いくつかの実施形態において、ズームデータセットを転送してユーザーが拡大することができるようにするか、またはユーザーが個々の視点からズームを選択したことに応じてズームデータセットからの個々の画像を転送することができる。
【0071】
ブロック1011で、クライアントデバイスでの描画のための補足データは、クライアントデバイスのタイプおよび/または描画環境に基づいて転送され得る。
【0072】
本明細書に記載される特定の実施形態に従って、必ずしもすべての目的または利点が達成されるとは限らないことを理解されたい。このように、例えば、当業者は、本明細書で教示され得る他の目的または利点を必ずしも達成することなく、または本明細書で教示される1つの利点または利点群を達成、増加、または最適化するように動作するように、特定の実施形態が構成され得ることを認識するであろう。
【0073】
本明細書で記載されるプロセスのすべては、1つ以上のコンピュータまたはプロセッサを含むコンピューティングシステムによって実行されるソフトウェアコードモジュールで実施され、それを介して完全に自動化され得る。コードモジュールは、任意のタイプの非一時的なコンピュータ読み取り可能な媒体または他のコンピュータ記憶装置に保存されてもよい。一部またはすべての方法は、専用のコンピュータハードウェアで実現することができる。
【0074】
本開示から、本明細書に記載されているもの以外の多くの変形が明らかとなるであろう。例えば、実施形態に応じて、本明細書で記載したアルゴリズムの特定の動作、イベント、または機能は、異なる順序で実行でき、追加、マージ、または完全に除外することができる(例えば、記載したすべての動作またはイベントがアルゴリズムの実行に必要なわけではない)。さらに、特定の実施形態において、行為またはイベントは、例えば、マルチスレッド処理、割り込み処理、または複数のプロセッサまたはプロセッサコア経由で、または他の並列アーキテクチャ上で、順次ではなく同時に実行され得る。さらに、異なるタスクやプロセスを、一緒に機能することができる異なるマシンやコンピューティングシステムで実行することができる。
【0075】
本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロックおよびモジュールは、処理ユニットまたはプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書で説明される機能を実行するように設計されたそれらの組み合わせなどのような機械によって、実装または実行され得る。プロセッサは、マイクロプロセッサであり得るが、代わりに、プロセッサは、コントローラ、マイクロコントローラ、またはステートマシン、それらの組み合わせなどであってもよい。プロセッサは、コンピュータ実行可能命令を処理するように構成された電気回路を含むことができる。別の実施形態において、プロセッサは、コンピュータ実行可能命令を処理することなく論理演算を実行するFPGA、または他のプログラム可能なデバイスを含む。プロセッサは、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連結された1つ以上のマイクロプロセッサ、または任意の他のそのような構成として実装することもできる。本明細書では主にデジタル技術に関して記載したが、プロセッサは、主にアナログコンポーネントを含んでもよい。コンピューティング環境には、マイクロプロセッサ、メインフレームコンピュータ、デジタルシグナルプロセッサ、ポータブルコンピューティングデバイス、デバイスコントローラ、またはアプライアンス内のコンピュータエンジン内の計算エンジンに基づくコンピュータシステムなど、あらゆるタイプのコンピュータシステムが含まれるが、これらに限定されない。
【0076】
「できる」、「できた」、「かもしれない」、「あり得る」などの条件付き言語は、特に明記しない限り、特定の実施形態が含むことを伝えるために概して使用される文脈内で別の方法で理解され、一方、他の実施の形態は、特定の特徴、要素、および/またはステップを含まない。このように、そのような条件付き言語は概して、特徴、要素および/またはステップが1つ以上の実施形態に何らかの形で必要であること、または1つ以上の実施形態がユーザー入力またはプロンプトの有無にかかわらず決定するためのロジックを必ず含むことを意味するものではなく、これらの特徴、要素、および/またはステップは、特定の実施形態に含まれるか、または実行されることになっている。
【0077】
句「X、Y、またはZのうちの少なくとも1つ」などの選言的言語は、特に明記しない限り、アイテム、用語などがX、Y、もしくはZのいずれか、またはそれらの任意の組み合わせ(例えば、X、Y、および/またはZ)であることを提示するために概して使用される文脈で理解される。このように、そのような選言言語は概して、特定の実施形態がそれぞれ提示するために、Xの少なくとも1つ、Yの少なくとも1つ、またはZの少なくとも1つを必要とすることを意図するものではない。
【0078】
本明細書で記載され、および/または添付の図に示された、プロセス図、要素またはブロックは、プロセス内の特定の論理機能または要素を実装するための1つ以上の実行可能な命令を含む、モジュール、セグメント、またはコードの部分を潜在的に表すものとして理解されるべきである。代替の実装は、本明細書に記載の実施形態の範囲内に含まれ、要素または機能は削除され、示されている、または議論されているものから順不同で実行され得、当業者によって理解されるように、関連する機能に応じて、実質的に同時にまたは逆の順序で含む。
【0079】
特に明記されていない限り、「a」や「an」などの冠詞は、一般に1つ以上の記載されたアイテムを含むと解釈されるべきである。したがって、「に構成されたデバイス(単数)」などのフレーズは、列挙された1つ以上のデバイスを含むことを意図している。そのような1つ以上の列挙されたデバイスは、述べられた列挙を実行するように集合的に構成することもできる。例えば、「列挙A、B、およびCを実行するように構成されたプロセッサ」には、記載BおよびCを実行するように構成された第2のプロセッサと連動して記載Aを実行するように構成された第1のプロセッサを含めることができる。
【0080】
上記の実施形態に対して多くの変形および修正を行うことができることを強調すべきであり、その要素は他の許容可能な実施例の中にあると理解されるべきである。そのような修正および変形はすべて、本開示の範囲内に含まれることが意図されている。
図1
図2
図3A
図3B
図3C
図4A
図4B
図4C
図5
図6
図7
図8
図9
図10