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

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

▶ ソニー株式会社の特許一覧 ▶ ソニー ピクチャーズ エンターテインメント インコーポレイテッドの特許一覧

特許7419522視覚的忠実度を保持しながらのボリュームデータの低減
<>
  • 特許-視覚的忠実度を保持しながらのボリュームデータの低減 図1A
  • 特許-視覚的忠実度を保持しながらのボリュームデータの低減 図1B
  • 特許-視覚的忠実度を保持しながらのボリュームデータの低減 図2
  • 特許-視覚的忠実度を保持しながらのボリュームデータの低減 図3A
  • 特許-視覚的忠実度を保持しながらのボリュームデータの低減 図3B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】視覚的忠実度を保持しながらのボリュームデータの低減
(51)【国際特許分類】
   G06T 15/00 20110101AFI20240115BHJP
【FI】
G06T15/00 501
【請求項の数】 20
(21)【出願番号】P 2022526781
(86)(22)【出願日】2020-12-11
(65)【公表番号】
(43)【公表日】2022-12-28
(86)【国際出願番号】 US2020064468
(87)【国際公開番号】W WO2021119405
(87)【国際公開日】2021-06-17
【審査請求日】2022-05-10
(31)【優先権主張番号】62/947,715
(32)【優先日】2019-12-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/874,859
(32)【優先日】2020-05-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(73)【特許権者】
【識別番号】596102126
【氏名又は名称】ソニー ピクチャーズ エンターテインメント インコーポレイテッド
(74)【代理人】
【識別番号】100092093
【弁理士】
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(72)【発明者】
【氏名】ハント ブラッド
(72)【発明者】
【氏名】アンダーバーグ トビアス
【審査官】村松 貴士
(56)【参考文献】
【文献】国際公開第2019/126653(WO,A1)
【文献】米国特許出願公開第2010/0060640(US,A1)
【文献】特開2007-081873(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00 - 19/20
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムと当該コンピュータシステム上のアプリケーションによって実行される、ボリュームデータを管理するための方法であって、
空間のボリューム内のビューボリュームを定義するステップであって、前記ボリュームデータは、前記空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントは前記ビューボリューム内に存在し、少なくとも1つのポイントは前記ビューボリューム内に存在しない、ステップと、
前記空間のボリューム内のグリッドを定義するステップであって、前記グリッドは複数のセルを有し、前記空間のボリュームをそれぞれのセルに分割し、各ポイントは、前記グリッド内の対応するセルを有し、前記グリッド内の各セルは、0又は1以上の対応するポイントを有する、ステップと、
セルが前記ビューボリュームの外側に存在する前記グリッド内のそのセルに対するポイントの数を低減するステップと、
を含むことを特徴とする方法。
【請求項2】
前記ビューボリュームの内側に存在する前記セルに対してポイントの数を一定に保つステップ、
を更に含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記ビューボリュームは、3次元(3-D)ボックスであることを特徴とする、請求項1に記載の方法。
【請求項4】
セルに対するポイントの数を低減するステップは、
前記ボリュームデータをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えるステップであって、前記第1の数は前記第2の数よりも大きい、ステップ、
を含むことを特徴とする、請求項1に記載の方法。
【請求項5】
前記第2の数のポイントの各ポイントは、局所的に平均化された位置、色、及びサイズを使用することを特徴とする、請求項4に記載の方法。
【請求項6】
前記グリッド内のセルに対して2又は3以上のサブセルを定義するステップであって、各サブセルは前記セル内に存在する、ステップ、
を更に含むことを特徴とする、請求項1に記載の方法。
【請求項7】
ボリュームデータを管理するためのシステムであって、前記システムは、
空間のボリューム内のビューボリュームを定義するためのビューボリューム定義部であって、前記ボリュームデータは、前記空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントは前記ビューボリューム内に存在し、少なくとも1つのポイントは前記ビューボリューム内に存在しない、ビューボリューム定義部と、
前記空間のボリューム内のグリッドを定義するためのグリッド定義部であって、前記グリッドは複数のセルを有し、
前記空間のボリュームをそれぞれのセルに分割し、
各ポイントは、前記グリッド内の対応するセルを有し、
前記グリッド内の各セルは、0又は1以上の対応するポイントを有する、グリッド定義部と、
前記ビューボリューム定義部からの前記ビューボリュームと、前記グリッド定義部からの前記グリッドとを受け取るためのプロセッサと、
前記プロセッサから前記ビューボリューム及び前記グリッドを受け取り、セルが前記ビューボリュームの外側に存在する時に、前記ボリュームデータの前記グリッド内のそのセルに対するポイントの数を低減するためのポイント低減部であって、前記ポイント低減部がその動作を終了すると、前記プロセッサは、ポイントが低減された前記ボリュームデータを表示する、ポイント低減部と、
を含むことを特徴とするシステム。
【請求項8】
前記システムは、ユーザによって装着されるヘッドマウント仮想現実(VR)セットであり、前記VRセットは、前記ユーザによって見るために、前記ボリュームデータを処理して表示するように構成されることを特徴とする、請求項7に記載のシステム。
【請求項9】
前記ビューボリュームは、3-Dボックスであることを特徴とする、請求項7に記載のシステム。
【請求項10】
前記ボリュームデータをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えるためのマージ部及び空間フィルタであって、前記第1の数は前記第2の数よりも大きい、マージ部及び空間フィルタ、
を更に含むことを特徴とする、請求項7に記載のシステム。
【請求項11】
前記マージ部及び空間フィルタは、前記第2の数のポイントの各ポイントの位置、色、及びサイズの局所平均化も実行することを特徴とする、請求項10に記載のシステム。
【請求項12】
前記グリッド内のセルに対して2又は3以上のサブセルを定義するためのサブセル定義部であって、各サブセルは前記セル内に存在する、サブセル定義部、
を更に含むことを特徴とする、請求項7に記載のシステム。
【請求項13】
前記サブセル定義部は、3次元のボックスフィルタを使用して、各ポイントの位置、色、及びサイズを定義することを特徴とする、請求項12に記載のシステム。
【請求項14】
前記サブセル定義部は、3次元のガウスフィルタを使用して、各ポイントの位置、色、及びサイズを定義することを特徴とする、請求項12に記載のシステム。
【請求項15】
ボリュームデータを管理するためのコンピュータプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記コンピュータプログラムは実行可能命令を含み、前記実行可能命令は、コンピュータに、
空間のボリューム内のビューボリュームを定義することであって、前記ボリュームデータは、前記空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントは前記ビューボリューム内に存在し、少なくとも1つのポイントは前記ビューボリューム内に存在しない、ことと、
前記空間のボリューム内のグリッドを定義することであって、前記グリッドは複数のセルを有し、前記空間のボリュームをそれぞれのセルに分割し、各ポイントは、前記グリッド内の対応するセルを有し、前記グリッド内の各セルは、0又は1以上の対応するポイントを有する、ことと、
セルが前記ビューボリュームの外側に存在する前記グリッド内のそのセルに対するポイントの数を低減することと、
を行わせる、
ことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項16】
前記ビューボリュームの内側に存在する前記セルに対してポイントの数を一定に保つこと、
を前記コンピュータに行わせる実行可能命令を更に含む、
ことを特徴とする、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記ビューボリュームは、3次元(3-D)ボックスであることを特徴とする、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
セルに対するポイントの数を低減することを前記コンピュータに行わせる前記実行可能命令は、
前記ボリュームデータをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えることであって、前記第1の数は前記第2の数よりも大きい、こと、
を前記コンピュータに行わせる実行可能命令を含む、
ことを特徴とする、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記第2の数のポイントの各ポイントは、局所的に平均化された位置、色、及びサイズを使用することを特徴とする、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記グリッド内のセルに対して2又は3以上のサブセルを定義することであって、各サブセルは前記セル内に存在する、こと、
を前記コンピュータに行わせる実行可能命令を更に含む、
ことを特徴とする、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、ボリュームデータに関し、具体的には、視覚的忠実度を保持しながら、ボリュームデータを低減することに関する。
【背景技術】
【0002】
[0002] ボリュームデータは、非常に大きく、場合によっては、数百ギガバイト程度のメモリ及び数十億個の固有のポイントである可能性がある。このような膨大な量のデータのロード及びレンダリングは、リアルタイム性能にとって、特に、映画及びTV、ゲーム、及び仮想現実体験及び拡張現実体験におけるバーチャルプロダクションにとって、非常に問題のある可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
[0003] 本開示は、視覚的忠実度を保持しながら、ボリュームデータを低減することを提供する。
【課題を解決するための手段】
【0004】
[0004] 1つの実装では、ボリュームデータを管理するための方法を開示する。前記方法は、空間のボリューム内のビューボリュームを定義するステップであって、前記ボリュームデータは、前記空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントは前記ビューボリューム内に存在し、少なくとも1つのポイントは前記ビューボリューム内に存在しない、ステップと、前記空間のボリューム内のグリッドを定義するステップであって、前記グリッドは複数のセルを有し、前記空間のボリュームをそれぞれのセルに分割し、各ポイントは、前記グリッド内の対応するセルを有し、前記グリッド内の各セルは、0又は1以上の対応するポイントを有する、ステップと、セルが前記ビューボリュームの外側に存在する前記グリッド内のそのセルに対するポイントの数を低減するステップと、を含む。
【0005】
[0005] 1つの実装では、前記方法は、前記ビューボリュームの内側に存在する前記セルに対してポイントの数を一定に保つステップ、を更に含む。1つの実装では、前記ビューボリュームは、3次元(3-D)ボックスである。1つの実装では、セルに対するポイントの数を低減するステップは、前記ボリュームデータをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えるステップであって、前記第1の数は前記第2の数よりも大きい、ステップ、を含む。1つの実装では、前記第2の数のポイントの各ポイントは、局所的に平均化された位置、色、及びサイズを使用する。1つの実装では、前記方法は、前記グリッド内のセルに対して2又は3以上のサブセルを定義するステップであって、各サブセルは前記セル内に存在する、ステップ、を更に含む。
【0006】
[0006] 別の実装では、ボリュームデータを管理するためのシステムを開示する。前記システムは、空間のボリューム内のビューボリュームを定義するためのビューボリューム定義部であって、前記ボリュームデータは、前記空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントは前記ビューボリューム内に存在し、少なくとも1つのポイントは前記ビューボリューム内に存在しない、ビューボリューム定義部と、前記空間のボリューム内のグリッドを定義するためのグリッド定義部であって、前記グリッドは複数のセルを有し、前記空間のボリュームをそれぞれのセルに分割し、各ポイントは、前記グリッド内の対応するセルを有し、前記グリッド内の各セルは、0又は1以上の対応するポイントを有する、グリッド定義部と、前記ビューボリューム定義部からの前記ビューボリュームと、前記グリッド定義部からの前記グリッドとを受け取るためのプロセッサと、前記プロセッサから前記ビューボリューム及び前記グリッドを受け取り、セルが前記ビューボリュームの外側に存在する時に、前記ボリュームデータの前記グリッド内のそのセルに対するポイントの数を低減するためのポイント低減部であって、前記ポイント低減部がその動作を終了すると、前記プロセッサは、ポイントが低減された前記ボリュームデータを表示する、ポイント低減部と、を含む。
【0007】
[0007] 1つの実装では、前記システムは、ユーザによって装着されるヘッドマウント仮想現実(VR)セットであり、前記VRセットは、前記ユーザによって見るために、前記ボリュームデータを処理して表示するように構成される。1つの実装では、前記ビューボリュームは、3-Dボックスである。1つの実装では、前記システムは、前記ボリュームデータをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えるためのマージ部及び空間フィルタであって、前記第1の数は前記第2の数よりも大きい、マージ部及び空間フィルタ、を更に含む。1つの実装では、前記マージ部及び空間フィルタは、前記第2の数のポイントの各ポイントの位置、色、及びサイズの局所平均化も実行する。1つの実装では、前記システムは、前記グリッド内のセルに対して2又は3以上のサブセルを定義するためのサブセル定義部であって、各サブセルは前記セル内に存在する、サブセル定義部、を更に含む。1つの実装では、前記サブセル定義部は、3次元のボックスフィルタを使用して、各ポイントの位置、色、及びサイズを定義する。1つの実装では、前記サブセル定義部は、3次元のガウスフィルタを使用して、各ポイントの位置、色、及びサイズを定義する。
【0008】
[0008] 別の実装では、ボリュームデータを管理するためのコンピュータプログラムを記憶する非一時的コンピュータ可読記憶媒体を開示する。前記コンピュータプログラムは実行可能命令を含み、前記実行可能命令は、コンピュータに、空間のボリューム内のビューボリュームを定義することであって、前記ボリュームデータは、前記空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントは前記ビューボリューム内に存在し、少なくとも1つのポイントは前記ビューボリューム内に存在しない、ことと、前記空間のボリューム内のグリッドを定義することであって、前記グリッドは複数のセルを有し、前記空間のボリュームをそれぞれのセルに分割し、各ポイントは、前記グリッド内の対応するセルを有し、前記グリッド内の各セルは、0又は1以上の対応するポイントを有する、ことと、セルが前記ビューボリュームの外側に存在する前記グリッド内のそのセルに対するポイントの数を低減することと、を行わせる。
【0009】
[0009] 1つの実装では、前記コンピュータプログラムは、前記ビューボリュームの内側に存在する前記セルに対してポイントの数を一定に保つこと、を前記コンピュータに行わせる実行可能命令を更に含む。1つの実装では、前記ビューボリュームは、3次元(3-D)ボックスである。1つの実装では、セルに対するポイントの数を低減することを前記コンピュータに行わせる前記実行可能命令は、前記ボリュームデータをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えることであって、前記第1の数は前記第2の数よりも大きい、こと、を前記コンピュータに行わせる実行可能命令を含む。1つの実装では、前記第2の数のポイントの各ポイントは、局所的に平均化された位置、色、及びサイズを使用する。1つの実装では、前記コンピュータプログラムは、前記グリッド内のセルに対して2又は3以上のサブセルを定義することであって、各サブセルは前記セル内に存在する、こと、を前記コンピュータに行わせる実行可能命令を更に含む。
【0010】
[0010] 本開示の態様を一例として示す本明細書からは、他の特徴及び利点も明らかになるはずである。
【0011】
[0011] 同じ部分を同じ参照数字によって示す添付図面を検討することにより、本開示の詳細をその構造及び動作の両方に関して部分的に収集することができる。
【図面の簡単な説明】
【0012】
図1A】本開示の1つの実装による、ボリュームデータを管理するための方法のフロー図である。
図1B】グリッド内のセルに対するポイントの数を低減するステップの図である。
図2】本開示の1つの実装による、ボリュームデータを管理するためのシステムのブロック図である。
図3A】本開示の実装による、コンピュータシステム及びユーザの図である。
図3B】本開示の実装による、ビデオアプリケーションをホストするコンピュータシステムを示す機能ブロック図である。
【発明を実施するための形態】
【0013】
[0017] 上記のように、ボリュームデータは、非常に大きい可能性がある。したがって、このような膨大な量のデータのロード及びレンダリングは、リアルタイム性能にとって、特に、映画及びTV、ゲーム、及び仮想現実体験及び拡張現実体験におけるバーチャルプロダクションにとって、非常に問題のある可能性がある。
【0014】
[0018] 本開示の特定の実装は、ビデオデータを処理するための技術を実装するためのシステム及び方法を提供する。1つの実装では、ビデオシステムは、ボリュームデータを作成して管理する。システムは、ボリュームデータの限定的なビューイングボリュームを特定する。システムは、限定的なビューイングボリュームを使用して、内部ビューイングボリュームの内側のいずれの位置及び方向からもレンダリングされた視覚的忠実度/品質を損失することなく、データの全ボリュームポイント数を低減する。この低減によって、データロード時間の低減及びデータのストリーミングの高速化が可能になり、また、処理するポイントの数が減ることによりレンダリング(視覚表示)の高速化も可能になる。これらの速度の向上は、ヘッドマウントディスプレイの性能要件に起因する仮想現実(VR)アプリケーションや、映画及びTV、ゲーム、及び仮想現実体験及び拡張現実体験におけるバーチャルプロダクションに有用である。
【0015】
[0019] 以下の説明を読んだ後には、様々な実装及び用途における本開示の実施方法が明らかになるであろう。本明細書では本開示の様々な実装について説明するが、これらの実装は、限定ではなく一例として提示するものにすぎないと理解されたい。したがって、様々な実装についての詳細な説明は、本開示の範囲又は外延を限定するものとして解釈すべきではない。
【0016】
[0020] 1つの実装では、特定のビューイングボリュームが、内部ビューイングボリュームから空間のボリューム内の任意の位置(例えば映画又はゲーム内のシーン)までの距離が増加するにつれて視覚的忠実度が低下する潜在的な可視関心領域を定義する。この実装では、入力特性「最小ポイントサイズ」を使用して、内部ビューイングボリュームの内側の全てのポイントに対して、一定のレベルのディテールを設定することができ、一方、ボリュームから外部位置までの距離に基づいて、ボリューム境界から遠ざかる方向に最小内部ポイントサイズを投影することによって、内部ビューイングボリュームの外側の位置(すなわち外部ビューイングボリューム)に対して、種々のレベルのディテールを設定することができる。したがって、ユーザがデータを観察する位置を限定する特定の空間のボリュームを定義することによって、様々な方法を使用して、視覚的忠実度への影響が最小であるようにデータを結合して低減することができる。
【0017】
[0021] 1つの実装では、ボリュームデータをマージ及び空間フィルタリングして、多数のポイントを、局所的に平均化された位置、色、及びサイズの少数のポイントに置き換える。他の実装では、空間内の任意の位置において、ポイントに関連する任意の特性をフィルタリングすることができる。
【0018】
[0022] ボリュームデータを管理するためのシステムの1つの実装では、空間の特定のビューボリュームを、空間内においてボリュームデータが見られることが予想される任意の位置、サイズ及び向きにおいて、3-Dボックスとして特定する。別の実装では、特定のビューボリュームを、半球又は3-Dビュー四角錐台などの他の形状として特定する。そのボリュームの内部データ及び外部データの両方に対して任意選択的な設定が可能である。例えば、内部データのための最小ポイントサイズ及び外部データのためのサンプルグリッドの解像度である。
【0019】
[0023] 1つの実装では、空間データ構造を使用して、処理を高速化し、ボリュームを空間的に細分して、空間内の特定の位置において局所的に隣接するポイントを収集する。空間データ構造は、ポイント位置の特性又はより深い空間細分を含むポイントを含み、限られたメモリを含む種々の量の非常に詳細なポイントクラウドを効率的に処理することができる。
【0020】
[0024] 例えば、空間データ構造としてユニフォームグリッド(Uniform Grid)を使用するビデオシステムでは、システムは、多数のポイントを「グリッドセル」に細分して、高速サーチを行う。1つの実装では、これを使用して、隣接するポイントの3-Dフィルタリングを行う。この実装では、各3-Dポイント位置は、単一の乗算及び加算演算を使用して、セルに迅速にマッピングし、各セルは、細分された場合、ポイント又はサブグリッドのリストを有することができる。更に、単一のセル内の大きいポイントリストを回避するために、セルを反復的に細分及びプリソートして、性能を向上させることができる。1つの実装では、システムは、特定されたグリッド解像度を定義して、セル毎に最大数のポイントを効率的に管理する。システムは、特定されたグリッド解像度に基づいて、各セルを細分する。したがって、1つの実装では、フィルタリングのために、隣接するセルのみを考慮する。一方で、他の実装では、システムは、複数のセル及びグリッドにわたって任意のフィルタサイズを可能にして、例えば品質を向上させることができる。フィルタリングされたデータの出力は、単一の大きいポイントのリストであり、これは、より低い解像度で最終ユニフォームグリッドによって体積測定的に分割される。次に、その結果を使用して、ポイントを連続するディテールレベル(LOD)データ構造に分割して、レンダリングを行う。
【0021】
[0025] したがって、1つの実装では、ビデオシステムは、以下のプロセスを使用して、ボリュームデータを管理する。各ポイントに対して、以下のステップ、すなわち、(1)最小、最大、中心などのポイントにおいてセル特性を計算するステップ、(2)ポイントから最も近いビューイングボリュームの矩形ボックスの境界までの距離を計算するステップ、(3)ポイントがボックスの内側に存在する場合、サブセルを最小セルサイズとして設定し、そうでない場合には、投影されたサイズになる距離において境界からサブセルを投影するステップ、(4)主グリッドからのデータを含むサブセルをロードするステップ、(5)各サブセル内のポイントのリストを計算するステップ、(6)ボックスフィルタを使用して、最終サブセル内のポイントのリストから最終的なポイントの色及びサイズを計算するステップ、(7)各サブセル内のポイントのリストを計算するステップ、を行う。
【0022】
[0026] 代替の実装では、ソーティングのためにユニフォームグリッドを使用する代わりに、ランタイム性能及びメモリ制約の要件に応じて、任意の空間データ構造(例えば、KDツリー、BST、オクツリーなど)を使用することができる。更に、異なる空間ソーティングシステムを一緒に使用すると、多くの場合、単一のタイプのソーティングのみを使用するよりも効率の向上をもたらす。例えば、まず「粗い」ソートとしてKDツリーを使用してポイントをソートし、次に「精細な」ソートとしてユニフォームグリッドを使用することは、多くの場合に有益である。しかしながら、一般に、ユニフォームグリッドは、マルチスレッド環境内でストールする最小限のCPU実行のための良好なCPUキャッシュコヒーレンシを有するので、高速で動作する。
【0023】
[0027] サブセル内の最終的なポイントのサイズ及び色の計算において、システムは、3次元のボックスフィルタ又はガウスフィルタを含む任意のフィルタタイプを使用する。ガウス分布フィルタカーネルのような不均一フィルタは、最終的な単一の出力ポイント特性のための位置、サイズ、及び色のような局所特性を強調して、これにより、ノイズを追加するコストでシャープネスを向上させることができる。3次元フィルタカーネルを使用して、ポイントの色及びサイズをブレンドして、視覚的忠実度及び外観を保持する。したがって、様々なフィルタリングカーネル及びサイズを使用して、3x3x3ボックス、ガウス等などの3次元空間内の任意の位置においてポイントクラウドデータセットの正確な特性を解像することができる。
【0024】
[0028] 更なる実装は、内部ビューイングボリューム及び外部ビューイングボリュームの両方のためのカスタマイズ可能なサンプリングレート及びデータフィルタリング及び設定を含む。この実装では、内部ビューイングボリュームに対して最小ポイントサイズを設定し、最小ポイントサイズは、ユニフォームグリッド解像度に基づいてサンプルレートを定義する。ポイントの局所クラスタの平均位置を使用して、サンプリングされた各サブセルに対してサブボクセル位置を保持する。各サブセル内のフィルタリングされた出力ポイントに対してサブボクセル位置を保持することによって、位置のユニフォームグリッド上のサンプリングデータに関連する視覚ノイズアーチファクトを低減する。これは、動きが遅いアニメーション化されたデータセットを含む視覚品質を向上させる。
【0025】
[0029] 図1Aは、本開示の1つの実装による、ボリュームデータを管理するための方法100のフロー図である。図1Aに示す実装では、方法は、ステップ110において、空間のボリューム内のビューボリュームを定義するステップを含む。したがって、1つの実装では、ビューボリュームは、ゲーム又は映画においてプレイヤが位置する場所の周囲の空間のボリュームを定義する。1つの実装では、ビューボリュームはボックスである。別の実装では、ビューボリュームは半球である。更に、ボリュームデータは、空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントはビューボリューム内に存在し、少なくとも1つのポイントはビューボリューム内に存在しない。
【0026】
[0030] ステップ120において、空間のボリューム内において複数のセルを有するものとしてグリッドを定義する。空間のボリュームをそれぞれのセルに分割し、各ポイントは、グリッド内の対応するセルを有する。グリッド内の各セルは、0又は1以上の対応するポイントを有する。次に、ステップ130において、セルがビューボリュームの外側に存在する時に、グリッド内のそのセルに対するポイントの数を低減する。したがって、この実装では、ビューボリュームの内側のボリュームポイント数を一定に保ち、一方、ビューボリュームの外側のボリュームポイント数を低減する。グリッド内のセルに対するポイントの数を低減するステップの図150については、図1Bを参照されたい。
【0027】
[0031] 1つの実装では、データをマージ及び空間フィルタリングして、第1の数のポイントを第2の数のポイントに置き換えることによって、セルに対するポイントの数を低減し、第1の数は第2の数よりも大きい。第2の数のポイントの各ポイントは、局所的に平均化された位置、色、及びサイズを使用する。1つの実装では、ステップ140において、グリッド内のセルに対して2又は3以上のサブセルを定義し、各サブセルはセル内に存在する。
【0028】
[0032] 上記のように、サブセル内の最終的なポイントのサイズ及び色の計算において、システムは、3次元のボックスフィルタ又はガウスフィルタを含む任意のフィルタタイプを使用する。ガウス分布フィルタカーネルのような不均一フィルタは、最終的な単一の出力ポイント特性のための位置、サイズ、及び色のような局所特性を強調して、これにより、ノイズを追加するコストでシャープネスを向上させることができる。3次元フィルタカーネルを使用して、ポイントの色及びサイズをブレンドして、視覚的忠実度及び外観を保持する。したがって、様々なフィルタリングカーネル及びサイズを使用して、3x3x3ボックス、ガウス等などの3次元空間内の任意の位置においてポイントクラウドデータセットの正確な特性を解像することができる。
【0029】
[0033] 図2は、本開示の1つの実装による、ボリュームデータを管理するためのシステム200のブロック図である。1つの実装では、システム200は、ユーザによって装着されるヘッドマウント仮想現実(VR)セットであり、VRセットは、ユーザによって見るために、ボリュームデータを処理して表示するように構成される。図2に示す実装では、システム200は、ビューボリューム定義部220、グリッド定義部230、ポイント低減部240、ディスプレイ250、及びサブセル定義部260と通信するプロセッサ210を含む。1つの実装では、サブセル定義部260は、グリッド内のセルに対して2又は3以上のサブセルを定義し、各サブセルはセル内に存在する。
【0030】
[0034] 1つの実装では、ビューボリューム定義部220は、空間のボリューム内のビューボリュームを定義するように構成される。定義されたビューボリュームをプロセッサ210に通信する。1つの実装では、ビューボリュームはボックスである。別の実装では、ビューボリュームは半球である。更に、ボリュームデータは、空間のボリューム内の複数のポイントを有し、少なくとも1つのポイントはビューボリューム内に存在し、少なくとも1つのポイントはビューボリューム内に存在しない。
【0031】
[0035] 1つの実装では、グリッド定義部230は、空間のボリューム内において複数のセルを有するものとしてグリッドを定義するように構成される。空間のボリュームをそれぞれのセルに分割し、各ポイントは、グリッド内の対応するセルを有する。グリッド内の各セルは、0又は1以上の対応するポイントを有する。定義されたグリッドをプロセッサ210に通信する。
【0032】
[0036] 1つの実装では、ポイント低減部240は、セルがビューボリュームの外側に存在する時に、グリッド内のそのセルに対するポイントの数を低減するように構成される。したがって、上記のように、ビューボリュームの内側のボリュームポイント数を一定に保ち、一方、ビューボリュームの外側のボリュームポイント数を低減する。したがって、圧縮とは対照的に、この実装の選択的な「量低減」は不可逆的であるが、(サイズ及び色を含む)視覚的忠実度を保持する。ポイント低減部240は、グリッド内のセルに対するポイントの数を低減した結果を、プロセッサ210に通信する。
【0033】
[0037] 1つの実装では、ポイント低減部240は、データをマージ及び空間フィルタリングして第1の数のポイントを第2の数のポイントに置き換えるためのマージ部242及び空間フィルタ244を使用して、セルに対するポイントの数を低減し、第1の数は第2の数よりも大きい。第2の数のポイントの各ポイントは、局所的に平均化された位置、色、及びサイズを使用する。
【0034】
[0038] 1つの実装では、フィルタリングのために、隣接するセルのみを考慮する。一方で、他の実装では、システム200は、複数のセル及びグリッドにわたって任意のフィルタサイズを可能にして、例えば品質を向上させることができる。フィルタリングされたデータの出力は、単一の大きいポイントのリストであり、これは、より低い解像度で最終ユニフォームグリッドによって体積測定的に分割される。次に、その結果を使用して、ポイントを連続するディテールレベル(LOD)データ構造に分割して、レンダリングを行う。
【0035】
[0039] 上記のように、サブセル内の最終的なポイントのサイズ及び色の計算において、システム200は、3次元のボックスフィルタ又はガウスフィルタを含む任意のフィルタタイプを使用する。ガウス分布フィルタカーネルのような不均一フィルタは、最終的な単一の出力ポイント特性のための位置、サイズ、及び色のような局所特性を強調して、これにより、ノイズを追加するコストでシャープネスを向上させることができる。3次元フィルタカーネルを使用して、ポイントの色及びサイズをブレンドして、視覚的忠実度及び外観を保持する。したがって、様々なフィルタリングカーネル及びサイズを使用して、3x3x3ボックス、ガウス等などの3次元空間内の任意の位置においてポイントクラウドデータセットの正確な特性を解像することができる。
【0036】
[0040] ポイント低減部240がその動作を終了すると、プロセッサ210は、ポイントが低減されたボリュームデータをディスプレイ250上に表示する。
【0037】
[0041] 図3Aは、本開示の実装による、コンピュータシステム300及びユーザ302の図である。ユーザ302は、コンピュータシステム300を使用して、図1A及び図2の方法100及びシステム200に関して図示及び説明されるような、ボリュームデータを管理するためのビデオアプリケーション390を実装する。
【0038】
[0042] コンピュータシステム300は、図3Bのビデオアプリケーション390を記憶して実行する。更に、コンピュータシステム300は、ソフトウェアプログラム304と通信することができる。ソフトウェアプログラム304は、ビデオアプリケーション390のためのソフトウェアコードを含むことができる。ソフトウェアプログラム304は、以下で更に説明するように、CD、DVD又はストレージドライブなどの外部媒体にロードすることができる。
【0039】
[0043] 更に、コンピュータシステム300は、ネットワーク380に接続することができる。ネットワーク380は、様々な異なるアーキテクチャ、例えば、クライアント-サーバアーキテクチャ、ピアツーピアネットワークアーキテクチャ、又は他のタイプのアーキテクチャにおいて接続することができる。例えば、ネットワーク380は、ビデオアプリケーション390内で使用されるエンジン及びデータを協調させるサーバ385と通信することができる。また、ネットワークは、異なるタイプのネットワークとすることができる。例えば、ネットワーク380は、インターネット、ローカルエリアネットワーク又はローカルエリアネットワークの任意の変形、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、イントラネット又はエクストラネット、又は無線ネットワークとすることができる。
【0040】
[0044] 図3Bは、本開示の実装による、ビデオアプリケーション390をホストするコンピュータシステム300を示す機能ブロック図である。コントローラ310はプログラマブルプロセッサであり、コンピュータシステム300及びそのコンポーネントの動作を制御する。コントローラ310は、メモリ320又は内蔵コントローラメモリ(図示せず)から(例えば、コンピュータプログラムの形で)命令をロードして、これらの命令を実行してシステムを制御する。その実行において、コントローラ310は、ビデオアプリケーション390にソフトウェアシステムを提供して、例えば、装置のグループを作成して、タスクキューを使用して装置設定データを並列に送信することを可能にする。代替的に、このサービスは、コントローラ310又はコンピュータシステム300において別個のハードウェアコンポーネントとして実装することができる。
【0041】
[0045] メモリ320は、コンピュータシステム300の他のコンポーネントによって使用するためにデータを一時的に記憶する。1つの実装では、メモリ320はRAMとして実装される。1つの実装では、メモリ320は、また、フラッシュメモリ及び/又はROMなどの長期又は永久メモリを含む。
【0042】
[0046] ストレージ330は、コンピュータシステム300の他のコンポーネントによって使用するために、データを一時的に又は長期間にわたって記憶する。例えば、ストレージ330は、ビデオアプリケーション390によって使用されるデータを記憶する。1つの実装では、ストレージ330は、ハードディスクドライブである。
【0043】
[0047] メディアデバイス340は、リムーバブルメディアを受け入れて、挿入されたメディアに対してデータの読み出し及び/又は書き込みを行う。1つの実装では、例えば、メディアデバイス340は、光ディスクドライブである。
【0044】
[0048] ユーザインターフェイス350は、コンピュータシステム300のユーザからユーザ入力を受け取ってユーザ302に情報を提示するためのコンポーネントを含む。1つの実装では、ユーザインターフェイス350は、キーボード、マウス、オーディオスピーカ、及びディスプレイを含む。コントローラ310は、ユーザ302からの入力を使用して、コンピュータシステム300の動作を調整する。
【0045】
[0049] I/Oインターフェイス360は、1又は2以上のI/Oポートを含み、外部記憶又は補足装置(例えば、プリンタ又はPDA)などの対応するI/Oデバイスに接続する。1つの実装では、I/Oインターフェイス360のポートは、USBポート、PCMCIAポート、シリアルポート、及び/又はパラレルポートなどのポートを含む。別の実装では、I/Oインターフェイス360は、外部装置と無線で通信するための無線インターフェイスを含む。
【0046】
[0050] ネットワークインターフェイス370は、イーサネット接続をサポートするRJ-45又は「Wi-Fi」インターフェイス(802.11を含むが、これに限定されるわけではない)などの有線及び/又は無線ネットワーク接続を含む。
【0047】
[0051] コンピュータシステム300は、コンピュータシステムに典型的な追加のハードウェア及びソフトウェア(例えば、電力、冷却、オペレーティングシステム)を含むが、これらのコンポーネントは、簡略化のために、図3Bに具体的に示されていない。他の実装では、コンピュータシステムの異なる構成を使用することができる(例えば、異なるバス又はストレージ構成又はマルチプロセッサ構成)。
【0048】
[0052] 開示した実装についての本明細書の説明は、当業者が本開示を実施又は利用できるように行ったものである。当業者には、これらの実装の多数の修正が容易に明らかになると思われ、また本明細書で定義した原理は、本開示の趣旨又は範囲から逸脱することなく他の実装にも適用することができる。したがって、本開示は、本明細書に示す実装に限定されることを意図するものではなく、本明細書で開示した原理及び新規の特徴と一致する最も広い範囲が与えられるべきである。
【0049】
[0053] 上記の各実施例の全ての特徴が、本開示の特定の実装において必ずしも必要というわけではない。更に、本明細書で提示した説明及び図面は、本開示が広く意図する主題を表すものであると理解されたい。更に、本開示の範囲は、当業者にとって明らかになり得る他の実装を完全に含み、したがって、本開示の範囲は、添付の特許請求の範囲以外のものによって限定されるものではないと理解されたい。
【符号の説明】
【0050】
100 ボリュームデータを管理するための方法
110 複数のポイントを有する空間のボリューム内のビューボリュームを定義し、少なくとも1つのポイントはビューボリューム内に存在し、少なくとも1つのポイントはビューボリューム内に存在しない
120 空間のボリューム内において複数のセルを有するものとしてグリッドを定義し、空間のボリュームをそれぞれのセルに分割し、各ポイントはグリッド内の対応するセルを有し、グリッド内の各セルは0又は1以上の対応するポイントを有する
130 セルがビューボリュームの外側に存在する時に、グリッド内のそのセルに対するポイントの数を低減
140 グリッド内のセルに対して2又は3以上のサブセルを定義し、各サブセルはセル内に存在する
150 グリッド内のセルに対するポイントの数を低減するステップの図
200 ボリュームデータを管理するためのシステム
210 プロセッサ
220 ビューボリューム定義部
230 グリッド定義部
240 ポイント低減部
242 マージ部
244 空間フィルタ
250 ディスプレイ
260 サブセル定義部
300 コンピュータシステム
302 ユーザ
304 ソフトウェアプログラム
310 コントローラ
320 メモリ
330 ストレージ
340 メディアデバイス
350 ユーザインターフェイス
360 I/Oインターフェイス
370 ネットワークインターフェイス
380 ネットワーク
385 サーバ
390 ビデオアプリケーション
図1A
図1B
図2
図3A
図3B