(57)【要約】  物体の３Ｄビューを生成するためのシステムおよび方法が開示されている。物体を回転させるか、または物体の周りでカメラを動かすことにより、物体の少なくとも３６０度ビューが記録される。そのデータは、ユーザーが対応する画像を見るためにアイテムを回転させることを可能にする３Ｄビューを生成するために使用することができる。【選択図】図１
2020527814.tif 000002
【特許請求の範囲】
【請求項１】
物体の３Ｄビューを生成するための方法であって、前記方法は、
物体の周りの複数の視点から画像データをキャプチャすることと、
品質について前記画像データを分析することと、
前記画像データに基づいて画像のデータセットを作成することと、
前記画像のデータセットをフィルタリングすることと、
データ参照パラメータを生成することと、
ネットワーク経由でサーバに前記画像のデータセットをアップロードすることと、を含む、方法。
【請求項２】
前記画像データは、映像を含む、請求項１に記載の方法。
【請求項３】
前記画像データは、複数の写真を含む、請求項１に記載の方法。
【請求項４】
前記画像データをキャプチャすることは、固定カメラを使用して前記画像データをキャプチャしながら前記物体を回転させることを含む、請求項１に記載の方法。
【請求項５】
前記画像データをキャプチャすることは、前記物体の周りの軌道でカメラを動かすことを含む、請求項１に記載の方法。
【請求項６】
品質について前記画像データを分析することは、画像データに含まれる画像のぼけまたはアーチファクトを検出して低品質画像を識別することを含む、請求項１に記載の方法。
【請求項７】
前記画像のデータセットから前記低品質画像を除外することをさらに含む、請求項６に記載の方法。
【請求項８】
前記物体と前記画像データをキャプチャするカメラとの一定でない相対回転を補償することをさらに含む、請求項１に記載の方法。
【請求項９】
少なくとも１つの画像のサイズを変更することによって前記画像データ内の前記物体のスケーリングを正規化することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記画像のデータセットに含まれる画像のより高解像度バージョンである画像を含むズーム画像データセットを作成することをさらに含む、請求項１に記載の方法。
【請求項１１】
前記画像のデータセットは、
前記物体の周りの異なる視点からの前記物体の複数の画像と、
前記複数の画像の各々について、前記画像内の前記物体のそれぞれの位置または角度を示すデータと、を含む、請求項１に記載の方法。
【請求項１２】
前記データ参照パラメータは、
前記画像データのキャプチャするために使用された機器に関するデータと、
前記画像データのキャプチャするために使用された１つ以上の記録パラメータと、
前記物体の寸法と、
前記物体の形状に関するデータと、を含む、請求項１に記載の方法。
【請求項１３】
前記画像のデータセットは、３Ｄメッシュフレームまたは３Ｄ幾何モデルデータを含まない、請求項１に記載の方法。
【請求項１４】
コンピュータシステムであって、
物体についての複数の３Ｄビューを含むデータストアと、
１つ以上のプロセッサであって、
物体についての３Ｄビューのための要求を受信することと、
前記物体についての前記３Ｄビューを送信することと、
前記物体が異なる角度から閲覧される頻度に関する使用統計値を含むデータログを受信することと、を行うためにコンピュータ読み取り可能な命令を実行するように構成されている、１つ以上のプロセッサとを含む、コンピュータシステム。
【請求項１５】
前記１つ以上のプロセッサは、
ユーザーインターフェースを生成するためのデータを送信するようにさらに構成され、前記ユーザーインターフェースは、
前記データログに少なくとも部分的に基づいて生成されたグラフと、
前記物体の３Ｄビューと、を含む、請求項１４に記載のコンピュータシステム。
【請求項１６】
前記グラフは、前記物体についての複数のデータログに基づいて、前記物体の集計または平均閲覧期間を示す、請求項１５に記載のコンピュータシステム。
【請求項１７】
前記グラフのｘ軸は、前記物体を閲覧するための視点を示し、
前記グラフのｙ軸は、前記物体を閲覧している期間を示し、
前記グラフ上の各（ｘ、ｙ）ポイントの前記期間は、ある範囲の視点期間に基づく、請求項１６に記載のコンピュータシステム。
【請求項１８】
前記１つ以上のプロセッサは、前記データログに少なくとも部分的に基づいて、最もポピュラーな視点または最も長い期間閲覧された視点を示すようにさらに構成されている、請求項１４に記載のコンピュータシステム。
【請求項１９】
前記１つ以上のプロセッサは、
デバイスタイプまたは描画環境の指示を受信することと、
複数の補足データの中から、前記デバイスタイプまたは描画環境に応じて前記３Ｄビューを生成するための第１の補足データを選択することと、
前記第１の補足データを送信することと、を行うようにさらに構成されている、請求項１４に記載のコンピュータシステム。
【請求項２０】
前記１つ以上のプロセッサは、
前記物体の拡大ビューを見せる要求を受信することと、
前記要求に応じて、少なくとも前記物体のズームデータセットから画像を送信することと、を行うようにさらに構成されている、請求項１４に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先明細書への参照による組み込み
本開示は、２０１７年７月１４日に出願された米国仮特許出願第６２／５３２，９００号の優先権の利益を主張する。外国または国内の優先権を主張するありとあらゆる出願は、本願とともに提出された出願データシートで特定されている。
【０００２】
本開示は、概して３Ｄ画像生成に関する。
【背景技術】
【０００３】
カメラは、物体の写真を撮ることができるが、その結果の画像は、物体の２次元（２Ｄ）表現を示す。
【発明の概要】
【０００４】
いくつかの態様は、物体の３Ｄビューを生成するための方法であって、方法は、物体の周りの複数の視点から画像データをキャプチャすることと、品質について画像データを分析することと、画像データに基づいて画像のデータセットを作成することと、画像のデータセットをフィルタリングすることと、データ参照パラメータを生成することと、ネットワーク経由でサーバに画像のデータセットをアップロードすることと、を含む方法を特徴とする。
【０００５】
方法は、次の特徴の１つ、すべて、または任意の組み合わせを含むことができる。画像データは、映像を含む。画像データは、複数の写真を含む。画像データをキャプチャすることは、固定カメラを使用して画像データをキャプチャしながら物体を回転させることを含む。画像データをキャプチャすることは、物体の周りの軌道でカメラを動かすことを含む。方法は、画像データに含まれる画像のぼけまたはアーチファクトを検出して低品質の画像を識別することを含む、品質について画像データを分析することをさらに含むことができる。方法は、画像のデータセットから低品質画像を除外することをさらに含むことができる。方法は、物体と画像データをキャプチャするカメラと一定でない相対回転を補償することをさらに含むことができる。方法は、少なくとも１つの画像のサイズを変更することによって画像データ内の物体のスケーリングを正規化することをさらに含むことができる。方法は、画像のデータセットに含まれる画像のより高解像度バージョンである画像を含むズーム画像データセットを作成することをさらに含むことができる。画像のデータセットは、物体の周りの異なる視点からの物体の複数の画像と、複数の画像の各々について、画像内の物体のそれぞれの位置または角度を示すデータと、を含む。データ参照パラメータは、画像データのキャプチャするために使用された機器に関するデータと、画像データのキャプチャするために使用された１つ以上の記録パラメータと、物体の寸法と、物体の形状に関するデータと、を含む。画像のデータセットは、３Ｄメッシュフレームまたは３Ｄ幾何モデルデータを含まない。
【０００６】
いくつかの態様は、コンピュータシステムであって、物体についての複数の３Ｄビューを含むデータストアと、コンピュータ読み取り可能な命令を実行するように構成されている、１つ以上のプロセッサと、を含む、コンピュータシステムを特徴とする。１つ以上のプロセッサは、物体についての３Ｄビューのための要求を受信することと、物体についての３Ｄビューを送信することと、物体が異なる角度から閲覧される頻度に関する使用統計値を含むデータログを受信することと、を行うためにコンピュータ読み取り可能な命令を実行することができる。
【０００７】
コンピュータシステムは、次の特徴の１つ、すべて、または任意の組み合わせを含むことができる。１つ以上のプロセッサは、ユーザーインターフェースを生成するためのデータを送信するようにさらに構成され、ユーザーインターフェースは、データログに少なくとも部分的に基づいて生成されたグラフと、物体の３Ｄビューと、を含む。グラフは、物体についての複数のデータログに基づいて、物体の集計または平均閲覧期間を示す。グラフのｘ軸は、物体を閲覧するための視点を示し、グラフのｙ軸は、物体を閲覧している期間を示し、グラフ上の各（ｘ、ｙ）ポイントの期間は、ある範囲の視点の期間に基づく。１つ以上のプロセッサは、データログに少なくとも部分的に基づいて、最もポピュラーな視点または最も長い期間閲覧された視点を示すようにさらに構成されている。１つ以上のプロセッサは、デバイスタイプまたは描画環境の指示を受信することと、複数の補足データの中から、デバイスタイプまたは描画環境に応じて３Ｄビューを生成するための第１の補足データを選択することと、第１の補足データを送信することと、を行うようにさらに構成されている。１つ以上のプロセッサは、物体の拡大ビューを見せる要求を受信することと、要求に応じて、少なくとも物体のズームデータセットから画像を送信することと、を行うようにさらに構成されている。
【図面の簡単な説明】
【０００８】
【図１】静的カメラを使用し物体を回転させて、物体の３Ｄビューを生成するための例示的なシステムを示す。
【図２】移動カメラを使用して静的物体の３Ｄビューを生成するための例示的なシステムを示す。
【図３Ａ】物体の例示的な３Ｄビューを示す。
【図３Ｂ】物体の例示的な３Ｄビューを示す。
【図３Ｃ】物体の例示的な３Ｄビューを示す。
【図４Ａ】拡張現実（ＡＲ）ヘッドセット経由の例示的な３Ｄビューを示す。
【図４Ｂ】拡張現実（ＡＲ）ヘッドセット経由の例示的な３Ｄビューを示す。
【図４Ｃ】拡張現実（ＡＲ）ヘッドセット経由の例示的な３Ｄビューを示す。
【図５】静的カメラを使用し物体を回転させることによって物体の３Ｄビューを生成するための例示的なプロセスのフローチャートを示す。
【図６】移動カメラを使用して静的物体の３Ｄビューを生成するための例示的なプロセスのフローチャートを示す。
【図７】物体の３Ｄビューを表示するための例示的なプロセスのフローチャートを示す。
【図８】ログデータをレビューするための例示的なユーザーインターフェースを示す。
【図９】３Ｄビューを表示するための例示的なシステムを示す。
【図１０】物体の３Ｄビューをホストするための例示的なプロセスのフローチャートを示す。
【発明を実施するための形態】
【０００９】
序論
カメラは、人物、衣服などの物体の２Ｄ画像を撮影することができる。多くの場合において、物体を異なる角度から回転させて見ることができるように、物体を３Ｄで提示することがより望ましいことがある。
【００１０】
特殊な３Ｄ深度スキャンシステムは、物体の深さをスキャンおよび分析して３Ｄモデルを生成することができるが、これらの特殊な３Ｄ深度スキャンシステムでは、多くの人々のリソースを超える高価な機器と技術的専門知識が必要になる場合がある。
【００１１】
３Ｄ構造、３Ｄメッシュフレーム、および３Ｄ幾何モデルに関する詳細を含む完全な３Ｄモデルは、状況によってはモデルの３Ｄ表現を表示するために不要な場合がある。例えば、３Ｄビューを共有して物体を友人に見せたり、オンラインで販売中の物体の３Ｄビューを提示したり、仮想現実または拡張現実で３Ｄビューを表示したりすることは、メッシュフレームまたは３Ｄ幾何モデルを生成せずに実行することができる。
【００１２】
本明細書では、異なる角度から回転させて見ることができる３Ｄビューとして現れる物体のデジタル表現を作成するためのシステムおよび方法を開示する。３Ｄビューは、メッシュフレームまたは３Ｄ幾何モデルデータを含めずに、本格的な３Ｄコンテンツに似ているように見え得る。物体を回転させると、物体の映像および／または一連の写真は、カメラによってキャプチャすることができる。映像および／または写真を処理して、物体を異なる角度から回転および閲覧できる相互作用的な視覚化を生成することができる。相互作用的な視覚化は、映像および／または写真および／または他のデータを含む第１の形式で保存することができる。相互作用的な視覚化は別個に保存され、他のプラットフォームに埋め込むためにフォーマットされることもできる。ユーザーが相互作用的な視覚化を閲覧するとき、ユーザーは、様々な角度から閲覧するため物体を回転させることができ、ポピュラーな閲覧角度を決定するユーザーの閲覧パターンなど、サーバは、ユーザーの行動に関連する分析を追跡することができる。
【００１３】
回転物体
図１は、物体を回転させることによって静的カメラを使用して物体の３Ｄビューを生成するための例示的なシステム１００を示す。システムは、回転１０４することができるターンテーブル１０３上の物体１０１を含む。カメラ１０５は、静止位置に配置され、１つ以上のライト１０７、１０９を使用して物体１０１を照らすことができる。
【００１４】
物体１０１は、３Ｄビューが生成されるべき任意の物体であり得る。例としては、衣類、道具、家具、マネキンまたはモデル、車、宝石、工芸品、アクセサリーなどを含む。
【００１５】
カメラ１０５は、物体１０１が回転するときに映像または一連の画像を記録するように構成することができる。カメラ１０５は、スマートフォンカメラ、写真カメラ、映像カメラ、または画像または映像をキャプチャするための任意の同様のデバイスであり得る。
【００１６】
ターンテーブル１０３は、矢印１０４によって示されるように回転することができる任意のプラットフォームであり得る。電動ターンテーブル１０３を使用して、一定の電動速度で物体１０１を回転させることができる。ターンテーブル１０３は、一枚の紙などの任意の回転面を使用して実装されることができる。一枚の紙は、一枚の紙上に置かれている任意の物体１０１とともに、矢印１０４で示されるように回転することができる。手動で紙を回転させているときの回転速度の不均一性などのように、速度変動は、処理中に検出および調整されることができる。
【００１７】
ライト１０７、１０９を使用して、物体１０１を照らし、明確に照明された写真または映像を提供することができる。ライト１０７、１０９は、異なる角度からの物体の均一な照明を提供することができる。
【００１８】
カメラ１０５は、物体１０１が回転するときに映像または一連の写真を撮るように構成することができる。ターンテーブル１０４を使用して、物体１０１を回転させることができる。いくつかの実施形態において、物体１０１を回転させるために、物体を回転させるために細く、ほとんど見えない糸を使用するなど、他の技術を使用することができる。物体１０１は、少なくとも完全な１回転または３６０度回転して、すべての角度の画像データを提供することができる。場合によっては、１．５回転、２回転以上など、物体１０１を１回転より多く回転させて、処理用の画像データを増やすことができる。物体が完全に２回転する場合など、複数の角度の画像が提供される場合、任意の角度で、より優れた（より鮮明、より明確、より良い照明、より焦点の合ったなど）画像を選択して使用することができる。
【００１９】
周回カメラ
図２は、移動カメラを使用して静的物体の３Ｄビューを生成するための例示的なシステム２００を示す。システムは、静的表面であり得る表面２０３上の物体１０１を含む。カメラ２０５は、物体１０１を周回して、物体の写真または映像を撮る。
【００２０】
物体１０１は、３Ｄビューが生成されるべき任意の物体であり得る。例としては、衣類、道具、家具、モデルなどを含む。物体は、ライトで照らされることができる（図２には示されていない）。
【００２１】
カメラ２０５は、カメラ２０５が物体１０１の周りを回転または周回するとき、映像または一連の画像を記録するように構成される。カメラ２０５は、例えば、カメラ２０５を保持している人によって、またはトラックに沿って移動することができる。カメラは、物体１０１を少なくとも完全に１回転（３６０度）以上周回して、すべての角度の画像データを提供することができる。カメラ２０５は、スマートフォンカメラとして示されているが、カメラ２０５は、写真カメラ、映像カメラ、または画像または映像をキャプチャするための任意の同様のデバイスであってもよい。
【００２２】
例示的な３Ｄビュー
カメラからキャプチャされたデータを処理して、３Ｄビューを生成することができる。図３Ａ、図３Ｂ、および図３Ｃは、靴３０１の例示的な３Ｄビューを示す。図３Ａは、靴３０１の第１の３Ｄビュー３００を示す。ユーザーは、カーソルまたは、タッチパッド、キーボード、コントローラ、音声コマンドなどの他の入力デバイスを使用して、靴の３Ｄビューと相互作用することができる。例えば、ユーザーは、３Ｄビュー３００をクリックして左にドラッグし、３Ｄビュー３００を時計回りに回転させることができる。図３Ｂは、第１の量だけカーソルを左にドラッグすることに応答して、靴が第１の角度だけ反時計回りに回転する第２のビュー３１０を示す。図３Ｃは、第１の量だけカーソルを左にドラッグすることに応じて、靴が第２の角度だけ反時計回りに回転する第２のビュー３２０を示す。３Ｄビューが画面上に提示される場合、物体のビューは、比例するなど、カーソルの動きに応じて回転することができる。物体のビューは、例えば、キーボード上の左または右ボタンを押すなどの入力に応じて、連続的または増分的に回転することもできる。
【００２３】
ユーザーがドラッグすることを停止すると、３Ｄビュー３００、３１０、または３２０の回転が停止する。ユーザーは、提示された角度のいずれかから靴物体３０１上で拡大することを選択することもできる。ユーザーは、例えば、ズームボタン（図示せず）を押す、キーボード上の「＋」または「−」などのボタンを押す、マウスを上下にドラッグするなどして、拡大するコマンドを提供することができる。
【００２４】
３Ｄビュー３００、３１０、または３２０を回転させて、物体の周りを周回する複数の視点から物体がどのように見えるかを示すことができる。物体のこれらのビューは、図１および図２に関して記載した、物体の周りの各それぞれの位置でカメラによって撮影された写真または映像フレームに対応することができる。３Ｄビューは、物体を連続的に３６０度回転させることができ、物体を任意の２つの閲覧角度（例えば、時計回りまたは反時計回りに２７度〜２４５度）の間で回転させることができる。３Ｄビューは、３Ｄ構造、３Ｄメッシュフレーム、および／または３Ｄ幾何モデルに関するデータなしで生成することができる。
【００２５】
図４Ａ、図４Ｂ、および図４Ｃは、拡張現実（ＡＲ）ヘッドセット経由の例示的な３Ｄビューを示す。図４Ａにおいて、ユーザーは、ＡＲヘッドセット４０１内の靴の３Ｄビュー４０３を表示するＡＲヘッドセット４０１を着用して、ユーザーの現実のビューが３Ｄビュー４０３で増強されるようにする。ユーザーは、手ぶりを使用し、および／またはコントローラを動かして、靴の３Ｄビュー４０３を回転させることができる。図４Ｂは、ユーザーがヘッドセット４０１を左に動かすことに応じて、ＡＲヘッドセット４０１に現れる３Ｄビュー４０３を示している。図４Ｃは、ユーザーがヘッドセット４０１を右に動かすことに応じて、ＡＲヘッドセット４０１に現れる３Ｄビュー４０３を示している。ＡＲヘッドセット内で３Ｄビュー４０３を回転させて、ＡＲヘッドセットの相対的な閲覧位置に基づいて３Ｄビューの角度を変更することができる。ＡＲ技術は、仮想現実（ＶＲ）ヘッドセットでも同様に実装されることができる。
【００２６】
３Ｄビューの生成
図５は、静的カメラを使用し物体を回転させることによって物体の３Ｄビューを生成するための例示的なプロセスのフローチャート５００を示す。プロセス５００は、とりわけ、コンピュータシステム、モバイルコンピューティングデバイス、またはカメラによって、全体的または部分的に、実装することができる。
【００２７】
ブロック５０１で、物体を回転させることができる。例えば、物体は、回転しているターンテーブルまたは回転している一枚の紙などの他の回転面上に置くことができる。他の実施例として、物体を手動で回転させたり、細い糸で吊り下げたり、空中で回転させたりすることができる。物体は、少なくとも完全な１回転（少なくとも３６０度）、いくつかの実施形態においては、３６０度〜４８０度の間など、１回転よりも多く回転させることができる。
【００２８】
ブロック５０３で、カメラは、物体回転の映像を記録することができる。カメラは、映像が物体の周りの複数の角度から物体を示している複数の画像フレームを含むように、少なくとも完全な１回転にわたって回転している物体を記録することができる。いくつかの実施形態において、物体の周りの複数の角度から物体を示している写真のセットが、映像の代わりに使用され得る。
【００２９】
ブロック５０５で、物体回転の映像をコンピュータシステムに提供することができる。コンピュータシステムは、映像を受信することができる。コンピュータシステムは、例えば、デスクトップ、ラップトップ、スマートフォン、リモートサーバなどを含むことができる。
【００３０】
ブロック５０７で、フレームのセットを選択するために、映像のフレームを分析してフレームの品質を検出することができる。フレームを分析して、ぼけ、アーチファクト、または低品質フレームの他の特性を検出することができる。低品質のフレームは、選択したフレームのセットから省略することができる。少なくとも２つのフレームが同じまたは実質的に同様の角度から物体を示す場合、それらの２つのフレームのうち、映像に複数の回転が含まれる場合など、フレームのセットに含めるために高品質のフレームを選択することができる。選択されたフレームのセットは、０．５度、１度、２度、または任意の他の定義されたしきい値角度など、物体の周りの回転のしきい値角度内の少なくとも１つのフレームを含むことができる。
【００３１】
ブロック５０９で、画像のデータセットを作成することができる。データセットは、選択されたフレームセットに基づいているか、または含まれており、データセットにしきい値角度ごとに物体のビューが少なくとも１つ含まれる（物体の周りの１度の回転ごとに少なくとも１フレームなど）。データセットには、フレームと物体の間の位置または角度を示すデータを含めることができる。画像のデータセットを使用して、ユーザーが３Ｄビューで物体を回転させるときに、各角度から物体がどのように見えるかを示すことができる。
【００３２】
ブロック５１１で、ズーム画像データセットを作成することができる。ズーム画像データセットには、画像のデータセットの高解像度バージョンを含めることができる。ズーム画像データセットを使用して、ユーザーが３Ｄビューで拡大するときに詳細を示すことができる。
【００３３】
ブロック５１３で、１つ以上の画像フィルタまたはプリセットを、ズーム画像データセットおよび／またはズーム画像データセットに適用することができる。フィルタには、輝度、コントラスト、カラーバランス、ホワイトバランス、鮮明さなどのフィルタを含めることができる。
【００３４】
ブロック５１５で、データ参照パラメータを作成または抽出することができる。データ参照パラメータを使用して、様々なプラットフォームおよびデバイスで３Ｄビューを生成することができる。参照パラメータは、例えば、どのフレームをデフォルトまたは３Ｄビューの前面として使用するかを示すことができる。参照パラメータは、映像の記録または写真の撮影に使用される機器に関するデータ、記録パラメータ、フレームマスク、物体の寸法、物体の幾何学的形状に関する情報も含むことができる。
【００３５】
ブロック５１７で、画像のデータセット、ズーム画像データセット、および／または参照パラメータは、ネットワーク経由でリモートコンピュータシステムにアップロードすることができる。リモートコンピュータシステムは、データを保存し、画像のデータセット、ズーム画像データセット、および／または参照パラメータに少なくとも部分的に基づいて、物体の１つ以上の３Ｄビューを生成するように構成することができる。
【００３６】
図６は、移動カメラを使用して静的物体の３Ｄビューを生成するための例示的なプロセス６００のフローチャートを示す。プロセス６００は、とりわけ、コンピュータシステム、モバイルコンピューティングデバイス、またはカメラによって、全体的または部分的に、実施することができる。
【００３７】
ブロック６０１で、カメラを使用して物体を記録し、カメラが物体の周りを移動する。カメラは、少なくとも完全な１回転の軌道で移動することができ、いくつかの実施形態において、カメラは、３６０から４８０度以上回転することができる。カメラは、物体の周囲を手動で運ばれたり、トラックに沿って移動したり、または別の方法で移動することができる。記録された映像は、物体の周りの複数の角度から物体を示す複数の画像フレームを含む。いくつかの実施形態において、物体の周りの複数の角度から物体を示す写真のセットが、映像の代わりに使用され得る。
【００３８】
ブロック６０３で、物体回転の映像をコンピュータシステムに提供することができる。コンピュータシステムは、映像を受信することができる。コンピュータシステムは、例えば、デスクトップ、ラップトップ、スマートフォン、リモートサーバなどを含むことができる。
【００３９】
ブロック６０５で、一定でないカメラの回転を特定し、補償することができる。固定参照マーカーの回転に基づいて、一定でないカメラの回転を手動または自動で識別することができる。物体がブロック６０１で記録されている間に、固定参照マーカー（グリッドなど）を表面または背景に表示することができる。一定でない回転を補正するために、より遅い回転を示す映像の部分のフレームを削除して、映像のそれらの部分を高速化することができる。ブロック６０５は、特にブロック５０１で物体が手動で回転された場合、ブロック５０７の前後など、図５に関して説明したプロセス５００中にオプションで実行され得る。
【００４０】
図６に関して、ブロック６０７で、物体のスケーリングを正規化することができ、焦点を調整することができる。記録されたフレーム内の物体の外観は、ブロック６０１中のカメラの半径方向の動きによりサイズが様々な場合がある。物体が小さく現れるフレームは拡大でき、物体が大きく現れるフレームはサイズを小さくできる。したがって、物体のスケーリングを正規化することができる。物体のサイズは、物体とカメラの間の半径方向の距離を示し、半径方向の距離の変化に起因する焦点変動も補正することができる。
【００４１】
ブロック６０９で、画像のデータセットを作成することができる。データセットは、選択されたフレームセットに基づいているか、または含まれており、データセットにしきい値角度ごとに物体のビューが少なくとも１つ含まれる（物体の周りの１度の回転ごとに少なくとも１フレームなど）。データセットには、フレームと物体の間の位置または角度を示すデータを含めることができる。画像のデータセットを使用して、ユーザーが３Ｄビューで物体を回転させるときに、各角度から物体がどのように見えるかを示すことができる。
【００４２】
ブロック６１１で、ズーム画像データセットを作成することができる。ズーム画像データセットには、画像のデータセットの高解像度バージョンを含めることができる。ズーム画像データセットを使用して、ユーザーが３Ｄビューで拡大するときに詳細を示すことができる。
【００４３】
ブロック６１３で、１つ以上の画像フィルタまたはプリセットを、ズーム画像データセットおよび／またはズーム画像データセットに適用することができる。フィルタには、輝度、コントラスト、カラーバランス、ホワイトバランス、鮮明さなどのフィルタを含めることができる。
【００４４】
ブロック６１５で、データ参照パラメータを作成または抽出することができる。データ参照パラメータを使用して、様々なプラットフォームおよびデバイスで３Ｄビューを生成することができる。参照パラメータは、例えば、どのフレームをデフォルトまたは３Ｄビューの前面として使用するかを示すことができる。参照パラメータは、映像の記録または写真の撮影に使用される機器に関するデータ、記録パラメータ、フレームマスク、物体の寸法、物体の幾何学的形状に関する情報も含むことができる。
【００４５】
ブロック６１７で、画像のデータセット、ズーム画像データセット、および／または参照パラメータは、ネットワーク経由でリモートコンピュータシステムにアップロードすることができる。リモートコンピュータシステムは、データを保存し、画像のデータセット、ズーム画像データセット、および／または参照パラメータに少なくとも部分的に基づいて、物体の１つ以上の３Ｄビューを生成するように構成することができる。
【００４６】
図７は、物体の３Ｄビューを表示するための例示的なプロセスのフローチャートを示す。プロセス７００は、とりわけ、コンピュータシステム、モバイルコンピューティングデバイス、またはカメラによって、全体的にまたは部分的に、実装することができる。
【００４７】
ブロック７０１で、３Ｄビューを示すためのデータを受信することができる。いくつかの実施形態において、３Ｄビューを示すためのデータは、インターネットなどのネットワーク接続経由でサーバからダウンロードすることができる。
【００４８】
ブロック７０３で、デバイスのタイプおよび描画環境を検出することができる。例えば、デバイスがモニター付きコンピュータ、画面付きラップトップ、スマートフォン、ＡＲヘッドセット、ＶＲヘッドセットなどである場合に検出することができる。描画環境には、例えば、インターネットブラウザーでのウエブサイトの一部としての描画、ＶＲアプリ経由の描画、ＡＲ環境での描画、複合現実環境での描画などが含まれる。
【００４９】
ブロック７０５で、検出されたデバイスのタイプおよび／または描画環境に基づいて、３Ｄビューを示すためのデータを構成することができる。いくつかの実施形態において、３Ｄビューは、描画環境で検出されたタイプのデバイスに３Ｄビューを表示するための補足データをダウンロードまたはストリーミングすることにより構成される。検出されたデバイスのタイプまたは描画環境に基づいて、異なるタイプの補足データをダウンロードまたはストリーミングすることができる。いくつかの実施形態において、３Ｄビューを表示するためのデータは、複数の異なる描画環境の複数の異なるタイプのデバイスで３Ｄビューを表示するためのデータを含むことができ、検出された描画環境内の検出されたデバイスのタイプで３Ｄビューを示すために、３Ｄビューを表示するためのデータのサブセットが選択される。いくつかの実施形態において、デバイスのタイプおよび／または描画環境の検出に応じて、３Ｄビューは、それぞれのタイプのユーザー入力に応じて回転するように構成される。
【００５０】
ブロック７０７で、３Ｄビューは、少なくとも部分的にユーザーの視点に基づいて描画される。３Ｄビューにおいて、物体の画像を表示することができる。画像は、ユーザーの視点が変わると変化し、物体を周回する視点の輪から物体を観察することができる。図３Ａ、図３Ｂ、図３Ｃ、図４Ａ、図４Ｂ、および図４Ｃに関して説明したように、ユーザーは、３Ｄビューと相互作用して、物体に対するユーザーの視点を変更することができる。いくつかの実施形態において、ＡＲおよびＶＲ環境など、頭部追跡を使用してユーザーの視点を決定でき、３Ｄビューは頭部の動きに応じて更新することができる。
【００５１】
ブロック７０９で、３Ｄビューとのユーザーの相互作用は、ログを取ることができる。これは、例えば、様々な角度で物体を閲覧している期間、物体がどの角度から閲覧されるか、３Ｄビューを閲覧している期間、ユーザーが物体を閲覧する角度をどのように変更するか、などを含む。
【００５２】
ブロック７１１で、３Ｄビューとのユーザーの相互作用のログを、３Ｄビューをホストしているサーバなどにネットワーク経由で送信することができる。これにより、サーバは３Ｄビューを分析して、どのビューが最もポピュラーであるかを判断することができる。サーバは、場合によっては、ポピュラーな角度に基づいてデフォルトビューを設定し、および／または、ポピュラーな角度経由で回転するように３Ｄビューを設定することができる。サーバは、物体のどの部分が最も興味深いものであるかを分析することもできる。
【００５３】
図８は、ログデータをレビューするための例示的なユーザーインターフェース８００を示す。ユーザーインターフェース８００は、０〜３６０度の角度範囲で閲覧される３Ｄビュー３１０である、期間または頻度を示すグラフ８０１を含む。選択ボックス８０５は、グラフに沿って左または右に移動することができ、３Ｄビューはそれに応じて時計回りまたは反時計回りに回転する。曲線８０３は、１人以上のユーザーによって閲覧された選択ボックス８０５内に含まれる隣接する視点の範囲である、時間の集計量を示す。例えば、点８０７で示される期間は、ユーザーが物体を約６５度から９５度で閲覧された期間を含む。グラフは、１人のユーザーのためのデータまたは複数のユーザーのための集計（平均のような）データを含めることができる。各角度または角度範囲のヒストグラムなど、他のグラフも示すことができる。
【００５４】
サーバ
図９は、３Ｄビューを表示するための例示的なシステム９００を示す。システム９００は、サーバ９０１、ネットワーク９０３、カメラ１０５、画像のデータセット９０７およびズーム画像データセット９０８およびデータ参照パラメータ９０９を格納するコンピュータ９０５、タブレット９１１のような第１のユーザーデバイス、および、ＡＲまたはＶＲヘッドセット９１３のような第２のユーザーデバイスを含む。サーバ９０１は、処理ユニット２０、ユーザー入力／出力３４、フラッシュ５２、クロック５０、読み取り専用メモリ４６、ランダムアクセスメモリ４８、ディスプレイ入力／出力３６、オーディオ／映像インターフェース５６、およびストレージ９０３を含む。データストア９０３は、画像のデータセットの送信済みコピー、ズーム画像データセットの送信済みコピー、データ参照パラメータの送信済みコピー、物体用に生成された３Ｄビューファイル、ウエブサイトのための補足３Ｄビューデータ、およびＶＲのための補足３Ｄビューデータを含むことができる。
【００５５】
図１、図２、図５、および図６に関して説明したように、カメラ１０５は、少なくとも３６０度からの物体の映像または写真を記録することができる。映像または写真をコンピュータ９０５に転送することができる。コンピュータ９０５は、画像を処理し、画像のデータセット９０７、ズーム画像データセット９０８、およびデータ参照パラメータ９０９を生成することができる。コンピュータ９０５は、画像のデータセット９０７、ズーム画像データセット９０８、およびデータ参照パラメータ９０９を、ネットワーク９０３経由でサーバ９０１に転送することができる。
【００５６】
サーバ９０１は、画像のデータセット、ズーム画像データセット、およびデータ参照パラメータを受信および保存することができる。サーバ９０１はまた、画像のデータセット、ズーム画像データセット、およびデータ参照パラメータに基づいて３Ｄビューを生成することができる。サーバ９０１は、画像のデータセット、ズーム画像データセット、およびデータ参照パラメータに基づいて、ウエブサイト上およびＶＲ環境で３Ｄビューを示すための補足データを生成することもできる。
【００５７】
サーバは、タブレット９１１のような第１のコンピューティングデバイスからウエブサイト経由で３Ｄビューを示すための第１の要求を受信すると、サーバは、３Ｄビューファイルをタブレット９１１に転送し、ウエブサイト経由で３Ｄビューを示すための補足データも転送することができる。サーバは、ＶＲヘッドセット９１３のような第２のコンピューティングデバイスからＶＲ環境で３Ｄビューを示す第２の要求を受信すると、サーバは、３ＤビューファイルをＶＲヘッドセット９１３に転送し、ＶＲ環境で３Ｄビューを示すための補足データも転送することができる。サーバ９０１は、物体の３Ｄビューを示すために要求されたように、ズーム画像データセットおよび／または画像のデータセットから画像をストリーミングおよび／または転送することができる。
【００５８】
図示されたように、サーバ９０１は、サーバ９０１の他のコンポーネントおよびサーバ９０１の外部のコンポーネントとも相互作用する処理ユニット２０を含む。サーバ９０１は、別個のグラフィックプロセッサ２４を含むことができる。場合によっては、グラフィックプロセッサ２４は、ＡＰＵなどを用いて処理ユニット２０に組み込まれてもよい。いくつかのそのような場合、グラフィックプロセッサ２４は、ランダムアクセスメモリ（ＲＡＭ）を処理ユニット２０と共有してもよい。代替的、または追加的に、サーバ９０１は、処理ユニット２０とは別個である離散グラフィックプロセッサ２４を含み得る。いくつかのそのような場合、グラフィックプロセッサ２４は、処理ユニット２０とは別個のＲＡＭを有していてもよい。さらに、場合によっては、グラフィックプロセッサ２４は、マザーボードに組み込まれている場合があり、オンボードグラフィックチップまたはデバイスと呼ばれることもある、１つ以上の追加のグラフィックプロセッサおよび／または埋め込みまたは非離散グラフィックス処理ユニットと連携して動作し得る。
【００５９】
サーバ９０１は、ユーザーＩ／Ｏ３４、ディスプレイＩ／Ｏ３６、およびネットワークＩ／Ｏ３８のような入力／出力を可能にするための様々なコンポーネントも含む。入力／出力コンポーネントは、場合によっては、タッチ対応デバイスを含んでいてもよい。データストア９０３は、サーバ９０１のための内部またはリムーバブルストレージを含むことができる。データストア９０３は、コンピュータ９０５から受信したデータセットおよびデータ参照パラメータを保存することができる。データストア９０３は、データセットおよびデータ参照パラメータに基づいて生成された３Ｄビューを保存し、異なるタイプのデバイスおよび／または異なる描画環境で３Ｄビューを表示するための補足データも保存するように構成することもできる。ストレージ４０および取り外し可能なストレージ媒体４４に加えて、ＲＯＭ（読み取り専用メモリ）４６およびＲＡＭ４８を含むサーバ９０１も示されている。ＲＡＭ４８は、ゲームがプレイされているときなど、頻繁にアクセスされるデータ、または処理ユニット２０および／またはグラフィックプロセッサ２４によってアクセスされるすべてのデータに使用することができる。
【００６０】
ユーザーＩ／Ｏ３４は、処理ユニット２０とユーザーデバイスとの間でコマンドを送信および受信するために使用される。いくつかの実施形態において、ユーザーＩ／Ｏ３４は、タッチスクリーン入力を含むことができる。前述したように、タッチスクリーンは、容量性タッチスクリーン、抵抗性タッチスクリーン、またはユーザーからの触覚入力経由でユーザー入力を受信するように構成された他のタイプのタッチスクリーン技術であり得る。ディスプレイＩ／Ｏ３６は、モニターなどに画像を表示するために使用される入力／出力機能を提供する。ネットワークＩ／Ｏ３８は、ネットワークの入力／出力機能のために使用される。ネットワークＩ／Ｏ３８を使用して、３Ｄビュー、データセット、データ参照パラメータ、および／または３Ｄビューを示すための補足データを転送することができる。
【００６１】
ディスプレイ出力信号は、ディスプレイＩ／Ｏ３６によって製造されてもよく、グラフィックス、ユーザーインターフェース、映像、および／または他の視覚コンテンツなど、サーバ９０１によって製造された視覚コンテンツをディスプレイデバイスに表示する信号を含むことができる。
【００６２】
サーバ９０１は、クロック５０、フラッシュメモリ５２、および他のコンポーネントなどの他の特徴も含むことができる。オーディオ／映像プレーヤー５６を使用して、３Ｄビューを示すこともできる。他のコンポーネントがサーバ９０１に提供されてもよく、当業者がサーバ９０１の他の変形を認めることを理解されたい。
【００６３】
プログラムコードは、ＲＯＭ４６、ＲＡＭ４８、またはストレージ４０（ハードディスク、その他の磁気ストレージ、光学ストレージ、ソリッドステートドライブ、および／またはその他の不揮発性ストレージ、またはこれらの組み合わせまたはバリエーションを含む）に保存することができる。プログラムコードの少なくとも一部は、プログラム可能であるＲＯＭ（ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなど）、データストア９０３、および／またはリムーバブルメディアなどに保存するか、必要に応じてネットワークまたはその他の電子チャンネルを介して取得することができる。概して、プログラムコードは、有形の非一時的なコンピュータ読み取り可能な媒体に組み込まれていることがわかる。
【００６４】
ランダムアクセスメモリ（ＲＡＭ）４８（事によると他のストレージ）は、必要に応じて変数およびプロセッサデータを保存するために使用することができる。ＲＡＭは使用されて、ゲームのプレイ中に生成されるデータを保持し、その一部は、フレームバッファ、ゲーム状態、および／またはユーザー入力の解釈およびゲーム表示の生成のために必要または使用可能なその他のデータ用に確保される場合がある。概して、ＲＡＭ４８は、揮発性ストレージであり、ＲＡＭ４８内に保存されたデータは、サーバ９０１の電源が切られるか、または電力が失われると失われる可能性がある。
【００６５】
図１０は、物体の３Ｄビューをホストするための例示的なプロセスのフローチャート１０００を示す。プロセス１０００は、とりわけ、コンピュータシステムまたはモバイルコンピューティングデバイスによって、全体的または部分的に実装することができる。
【００６６】
ブロック１０００で、データセットおよび／またはデータ参照パラメータを受信することができる。データセットは、例えば、図５のブロック５１７または図６のブロック６１７でデータセットおよび／またはデータ参照パラメータをアップロードするコンピュータシステムから受信することができる。
【００６７】
ブロック１００３で、データセットおよびデータ参照パラメータに少なくとも部分的に基づいて、物体の３Ｄビューを生成することができる。
【００６８】
ブロック１００５で、異なるタイプのデバイスおよび／または描画環境で３Ｄビューを示すために、３Ｄビューの補足データを生成することができる。
【００６９】
ブロック１００７で、物体の３Ｄビューを示すための要求が受信される。例えば、クライアントは、ゲームの一部として、仮想環境または拡張現実環境などで、ウエブサイトに埋め込まれて表示される物体の３Ｄビューを要求することができる。いくつかのクライアントは、ＡＰＩを使用して、物体の３Ｄビューを示す要求をする場合がある。いくつかのクライアントは、ウエブサイト上のコード経由で、３Ｄビューを示す要求をする場合がある。例えば、ウエブサイトはＨＴＭＬ５のｉｆｒａｍｅを使用して、物体の３Ｄビューを表すように要求することができる。別の実施例として、ウエブサイトは、ＰｒｅｓｔａＳｈｏｐプラグイン（ｈｔｔｐ：／／ｃａｐｐａｓｉｔｙ．ｃｏｍ／ｐｒｅｓｔａｓｈｏｐで入手可能）などのプラグインを使用して、物体の３Ｄビューをウエブページに埋め込むことができる。クライアントは、各３Ｄビューに関連付けられた一意の識別子を使用して、表示する３Ｄビューを識別することができる。
【００７０】
ブロック１００９で、３Ｄビューをクライアントに転送することができる。いくつかの実施形態において、必要に応じてデータをストリーミングすることができる。例えば、ユーザーが視点を選択すると、選択した視点および／または隣接する視点の画像データをストリーミングおよび／またはバッファリングすることができる。いくつかの実施形態において、ズームデータセットを転送してユーザーが拡大することができるようにするか、またはユーザーが個々の視点からズームを選択したことに応じてズームデータセットからの個々の画像を転送することができる。
【００７１】
ブロック１０１１で、クライアントデバイスでの描画のための補足データは、クライアントデバイスのタイプおよび／または描画環境に基づいて転送され得る。
【００７２】
本明細書に記載される特定の実施形態に従って、必ずしもすべての目的または利点が達成されるとは限らないことを理解されたい。このように、例えば、当業者は、本明細書で教示され得る他の目的または利点を必ずしも達成することなく、または本明細書で教示される１つの利点または利点群を達成、増加、または最適化するように動作するように、特定の実施形態が構成され得ることを認識するであろう。
【００７３】
本明細書で記載されるプロセスのすべては、１つ以上のコンピュータまたはプロセッサを含むコンピューティングシステムによって実行されるソフトウェアコードモジュールで実施され、それを介して完全に自動化され得る。コードモジュールは、任意のタイプの非一時的なコンピュータ読み取り可能な媒体または他のコンピュータ記憶装置に保存されてもよい。一部またはすべての方法は、専用のコンピュータハードウェアで実現することができる。
【００７４】
本開示から、本明細書に記載されているもの以外の多くの変形が明らかとなるであろう。例えば、実施形態に応じて、本明細書で記載したアルゴリズムの特定の動作、イベント、または機能は、異なる順序で実行でき、追加、マージ、または完全に除外することができる（例えば、記載したすべての動作またはイベントがアルゴリズムの実行に必要なわけではない）。さらに、特定の実施形態において、行為またはイベントは、例えば、マルチスレッド処理、割り込み処理、または複数のプロセッサまたはプロセッサコア経由で、または他の並列アーキテクチャ上で、順次ではなく同時に実行され得る。さらに、異なるタスクやプロセスを、一緒に機能することができる異なるマシンやコンピューティングシステムで実行することができる。
【００７５】
本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロックおよびモジュールは、処理ユニットまたはプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書で説明される機能を実行するように設計されたそれらの組み合わせなどのような機械によって、実装または実行され得る。プロセッサは、マイクロプロセッサであり得るが、代わりに、プロセッサは、コントローラ、マイクロコントローラ、またはステートマシン、それらの組み合わせなどであってもよい。プロセッサは、コンピュータ実行可能命令を処理するように構成された電気回路を含むことができる。別の実施形態において、プロセッサは、コンピュータ実行可能命令を処理することなく論理演算を実行するＦＰＧＡ、または他のプログラム可能なデバイスを含む。プロセッサは、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連結された１つ以上のマイクロプロセッサ、または任意の他のそのような構成として実装することもできる。本明細書では主にデジタル技術に関して記載したが、プロセッサは、主にアナログコンポーネントを含んでもよい。コンピューティング環境には、マイクロプロセッサ、メインフレームコンピュータ、デジタルシグナルプロセッサ、ポータブルコンピューティングデバイス、デバイスコントローラ、またはアプライアンス内のコンピュータエンジン内の計算エンジンに基づくコンピュータシステムなど、あらゆるタイプのコンピュータシステムが含まれるが、これらに限定されない。
【００７６】
「できる」、「できた」、「かもしれない」、「あり得る」などの条件付き言語は、特に明記しない限り、特定の実施形態が含むことを伝えるために概して使用される文脈内で別の方法で理解され、一方、他の実施の形態は、特定の特徴、要素、および／またはステップを含まない。このように、そのような条件付き言語は概して、特徴、要素および／またはステップが１つ以上の実施形態に何らかの形で必要であること、または１つ以上の実施形態がユーザー入力またはプロンプトの有無にかかわらず決定するためのロジックを必ず含むことを意味するものではなく、これらの特徴、要素、および／またはステップは、特定の実施形態に含まれるか、または実行されることになっている。
【００７７】
句「Ｘ、Ｙ、またはＺのうちの少なくとも１つ」などの選言的言語は、特に明記しない限り、アイテム、用語などがＸ、Ｙ、もしくはＺのいずれか、またはそれらの任意の組み合わせ（例えば、Ｘ、Ｙ、および／またはＺ）であることを提示するために概して使用される文脈で理解される。このように、そのような選言言語は概して、特定の実施形態がそれぞれ提示するために、Ｘの少なくとも１つ、Ｙの少なくとも１つ、またはＺの少なくとも１つを必要とすることを意図するものではない。
【００７８】
本明細書で記載され、および／または添付の図に示された、プロセス図、要素またはブロックは、プロセス内の特定の論理機能または要素を実装するための１つ以上の実行可能な命令を含む、モジュール、セグメント、またはコードの部分を潜在的に表すものとして理解されるべきである。代替の実装は、本明細書に記載の実施形態の範囲内に含まれ、要素または機能は削除され、示されている、または議論されているものから順不同で実行され得、当業者によって理解されるように、関連する機能に応じて、実質的に同時にまたは逆の順序で含む。
【００７９】
特に明記されていない限り、「ａ」や「ａｎ」などの冠詞は、一般に１つ以上の記載されたアイテムを含むと解釈されるべきである。したがって、「に構成されたデバイス（単数）」などのフレーズは、列挙された１つ以上のデバイスを含むことを意図している。そのような１つ以上の列挙されたデバイスは、述べられた列挙を実行するように集合的に構成することもできる。例えば、「列挙Ａ、Ｂ、およびＣを実行するように構成されたプロセッサ」には、記載ＢおよびＣを実行するように構成された第２のプロセッサと連動して記載Ａを実行するように構成された第１のプロセッサを含めることができる。
【００８０】
上記の実施形態に対して多くの変形および修正を行うことができることを強調すべきであり、その要素は他の許容可能な実施例の中にあると理解されるべきである。そのような修正および変形はすべて、本開示の範囲内に含まれることが意図されている。
【図１】
2020527814.tif 000003
【図２】
2020527814.tif 000004
【図３Ａ】
2020527814.tif 000005
【図３Ｂ】
2020527814.tif 000006
【図３Ｃ】
2020527814.tif 000007
【図４Ａ】
2020527814.tif 000008
【図４Ｂ】
2020527814.tif 000009
【図４Ｃ】
2020527814.tif 000010
【図５】
2020527814.tif 000011
【図６】
2020527814.tif 000012
【図７】
2020527814.tif 000013
【図８】
2020527814.tif 000014
【図９】
2020527814.tif 000015
【図１０】
2020527814.tif 000016
【国際調査報告】
2020527814.tif 000017
2020527814.tif 000018
2020527814.tif 000019
2020527814.tif 000020
2020527814.tif 000021