(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-22
(54)【発明の名称】ウェブブラウザのボリュメトリックビデオ
(51)【国際特許分類】
G06T 9/00 20060101AFI20240515BHJP
【FI】
G06T9/00
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2023572738
(86)(22)【出願日】2022-05-25
(85)【翻訳文提出日】2024-01-19
(86)【国際出願番号】 IL2022050556
(87)【国際公開番号】W WO2022249183
(87)【国際公開日】2022-12-01
(32)【優先日】2021-05-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523371078
【氏名又は名称】ヨーム.コム リミテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ルビンスタイン、オフェル
(72)【発明者】
【氏名】エイラム、イーガル
(72)【発明者】
【氏名】ビルンボイム、マイケル
(72)【発明者】
【氏名】カガルリッキー、フセボロド
(72)【発明者】
【氏名】タルモン、ギラッド
(72)【発明者】
【氏名】タミール、マイキー
(57)【要約】
ウェブブラウザで画像を提供する方法であって、以下のステップを含む。カラーデータおよびジオメトリデータを含むデータセットを取得するステップであって、ジオメトリデータは、カラーデータと同じフォーマットでエンコードされるステップ。初期フェースのセットを生成するステップ。関連するフェースについて、ジオメトリデータからジオメトリ情報を決定するステップ。ジオメトリフェースのセットを生成するステップであって、各ジオメトリフェースは関連するフェースに対応し、各関連するフェースについて、関連するフェースのジオメトリ情報を初期フェースのうちの1つに割り当てることによってジオメトリフェースを生成し、割り当てられたフェースは、ジオメトリフェースである、生成するステップ。画像のジオメトリおよびテクスチャが同じフレームからのものであるように、ジオメトリフェースのセットおよびカラーデータを使用して視点から画像をレンダリングするステップ。
【特許請求の範囲】
【請求項1】
カラーデータおよびジオメトリデータを含むデータセットを取得するステップであって、前記ジオメトリデータが前記カラーデータと同じフォーマットでエンコードされる、取得するステップと、
初期フェースのセットを生成するステップと、
前記ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定するステップと、
ジオメトリフェースのセットを生成するステップであって、前記ジオメトリフェースのセットの各メンバがジオメトリフェースであり、各ジオメトリフェースが前記少なくとも1つの関連するフェースのうちの1つに対応する、生成するステップと、
前記少なくとも1つの関連するフェースの各々について、前記少なくとも1つの関連するフェースの各々の前記ジオメトリ情報を前記初期フェースのセットのうちの1つに割り当てることによって前記ジオメトリフェースを生成するステップであって、前記割り当てられたジオメトリ情報を有する前記初期フェースのセットのうちの前記1つがジオメトリフェースである、生成するステップと、
前記ジオメトリフェースのセットおよび前記カラーデータを使用して視点から画像をレンダリングするステップと
を含む画像を提供するための処理装置実行方法であって、
前記画像のジオメトリおよび前記画像のテクスチャは、一連のフレームの同じフレームからのものである、
処理装置実行方法。
【請求項2】
前記ジオメトリフェースのセットの各々について、前記ジオメトリ情報を割り当てる前記ステップが、前記ジオメトリフェースの各頂点に対して、前記ジオメトリフェースの各頂点に、前記少なくとも1つの関連するフェースのうちの前記1つの対応する前記頂点のジオメトリ位置を割り当てることによって実現される、請求項1に記載の処理装置実行方法。
【請求項3】
a.前記少なくとも1つの関連するフェースの数および前記少なくとも1つの関連するフェースの位置を前記データセットの少なくとも1つの追加のラインに保存するステップと、
b.前記カラーデータおよび前記ジオメトリデータをYUV値または対数Y’U’V’値のいずれかとして保存するステップと、
c.複数の符号化パラメータを含む前記カラーデータを提供するステップであって、前記複数の符号化パラメータの各々が前記カラーデータの異なる部分で使用される、提供するステップと、
d.複数の符号化パラメータを含む前記カラーデータを提供するステップであって、前記複数の符号化パラメータの各々が前記カラーデータの異なる部分で使用される、提供するステップと、
e.前記ジオメトリデータが、ジオメトリデータバイトの最上位ビットにのみ保存されるステップと、
f.前記初期フェースのセット内のフェースの数を10から10
6の範囲になるように選択するステップと、
g.前記初期フェースのセット内のフェースの数を5万に選択するステップと、
h.前記データセット内のメタデータに、前記初期フェースのセット内のフェースの数を提供するステップと、
i.ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から前記初期フェースのセット内の前記フェースの位置を選択し、座標系の原点および視点の外側の位置からなる群から前記固定位置を選択するステップと、
j.未使用のフェースに単一の位置を割り当てるステップであって、未使用のフェースが、前記初期フェースのセット内のフェースであり、前記位置決めされたフェースのセット内のフェースではない、割り当てるステップと、
座標系の原点および前記視点の外側の位置からなる群から前記単一の位置を選択するステップ
のうちの少なくとも1つをさらに含む、請求項1に記載の処理装置実行方法。
【請求項4】
画像を提供するための処理装置実行方法であって、
カラーデータおよび、各フレームについて、フレーム番号を含むデータセットを取得するステップと、
ジオメトリデータを取得するステップと、
初期フェースのセットを生成するステップと、
各フレームについて、
前記カラーデータから前記フレーム番号を決定するステップと、
前記フレーム番号を有する前記ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定するステップと、
ジオメトリフェースのセットを生成するステップであって、前記ジオメトリフェースのセットの各メンバがジオメトリフェースであり、前記各ジオメトリフェースが、前記少なくとも1つの関連するフェースのうちの1つに対応する、生成するステップと、
前記少なくとも1つの関連するフェースのうちの前記1つの前記ジオメトリ情報を前記初期フェースのセットのうちの1つに割り当てることによって前記ジオメトリフェースを生成するステップであって、前記割り当てられたジオメトリ情報を有する前記初期フェースのセットのうちの前記1つが前記ジオメトリフェースである、生成するステップと、
前記ジオメトリフェースのセットおよび前記カラーデータを使用して、所定の視点からの画像をレンダリングするステップと
を含む処理装置実行方法であって、
前記画像のジオメトリおよび前記画像のテクスチャが、一連のフレームの同じフレームからのものである、
処理装置実行方法。
【請求項5】
a.各ジオメトリフェースについて、前記ジオメトリ情報を割り当てる前記ステップが、前記ジオメトリフェースの各頂点に対して、前記少なくとも1つの関連するフェースのうちの前記1つの対応する頂点のジオメトリ位置を前記ジオメトリフェースの前記各頂点に割り当てることによって実現される、
b.前記関連するフェースが、各関連するフレームについて、所定の時間の後、ジオメトリに一貫性の変化があるときはいつでも、およびそれらの任意の組み合わせからなる群から選択される方法で生成され、前記所定の時間が、0.01秒~10秒の範囲内である、
c.前記初期フェース内のセットのフェースの数を1から10
6の範囲になるように選択する、
d.前記初期フェース内のセットのフェースの数を5万に選択する、
e.前記データセット内のメタデータ内の前記初期フェースのセット内のいくつかのフェースを提供する、
うちの少なくとも1つが真である、請求項4に記載の処理装置実行方法。
【請求項6】
前記ジオメトリフェースのセットを生成するステップの後に、前記少なくとも1つの関連するフェースを保存し、それによって保存された関連するフェースのセットを生成するステップをさらに含み、前記保存された関連するフェースのセットは、前記少なくとも1つの関連するフェースのすべてを含む、請求項4に記載の処理装置実行方法。
【請求項7】
前記フレーム番号を決定する前記ステップの後に、
複数のフレームの各フレームについて、前記ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定するステップと、
前記複数のフレームの前記ジオメトリ情報を保存するステップと、
複数のフレーム内の前記各フレームについて、前記フレーム番号を複数のフレーム内の前記各フレームのフレーム番号と比較するステップと、
前記フレーム番号が複数のフレーム内の前記各フレームの前記フレーム番号のうちの1つと同じである場合、複数のフレーム内の前記各フレームの前記保存されたジオメトリ情報から、前記フレーム番号のジオメトリ情報をレンダリングするために選択するステップと、
前記フレーム番号が複数のフレーム内の前記各フレームの前記フレーム番号のいずれとも同じでない場合、前記保存された関連フェースのセットをレンダリングするために選択するステップと
をさらに含む、請求項6に記載の処理装置実行方法。
【請求項8】
a.2フレーム~1001フレームの範囲になるように前記複数のフレームの数を選択するステップと、
b.2フレーム~100フレームの範囲になるように前記複数のフレームの数を選択するステップと、
c.2フレーム~10フレームの範囲になるように前記複数のフレームの数を選択するステップと、
d.2フレーム~5フレームの範囲になるように前記複数のフレームの数を選択するステップと、
e.2フレーム~3フレームの範囲になるように前記複数のフレームの数を選択するステップと、
f.前記複数のフレームの数を3フレームに選択するステップと、
g.前記フレーム番号の前の第1の所定数のフレームおよび前記フレーム番号の後の第2の所定数のフレームを含むように前記複数のフレームを選択するステップであって、前記第1の所定数のフレームが、0から第1のデコーダの不正確さまでの範囲内にあり、前記第2の所定数のフレームが、0から第2のデコーダの不正確さまでの範囲内にあり、前記第1のデコーダの不正確さが、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあり、前記第2のデコーダの不正確さは、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあるように選択するステップ
のうちの1つをさらに含む、請求項7に記載の処理装置実行方法。
【請求項9】
ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から前記初期フェースのセット内の前記フェースの位置を選択するステップをさらに含む、請求項4に記載の処理装置実行方法。
【請求項10】
前記固定位置を座標系の原点となるように選択するステップをさらに含む、請求項9に記載の処理装置実行方法。
【請求項11】
未使用のフェースに単一の位置を割り当てるステップをさらに含み、未使用のフェースが、前記初期フェースのセット内のフェースであり、前記位置決めされたフェースのセット内のフェースではない、請求項4に記載の処理装置実行方法。
【請求項12】
座標系の原点および前記視点の外側の位置からなる群から前記単一の位置を選択するステップをさらに含む、請求項11に記載の処理装置実行方法。
【請求項13】
プロセッサによって実行される命令を表すコードを保存する非一時的なプロセッサ可読媒体であって、前記コードが、プロセッサに画像を提供させるコードを含み、前記プログラムが、
カラーデータおよびジオメトリデータを含むデータセットを取得することであって、前記ジオメトリデータが、前記カラーデータと同じフォーマットでエンコードされ、取得する、
初期フェースのセットを生成する、
前記ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定する、
ジオメトリフェースのセットを生成することであって、前記ジオメトリフェースのセットの各メンバがジオメトリフェースであり、各ジオメトリフェースが前記少なくとも1つの関連するフェースのうちの1つに対応し、生成する、
前記少なくとも1つの関連するフェースの各々について、前記少なくとも1つの関連するフェースの前記各々の前記ジオメトリ情報を前記初期フェースのセットのうちの1つに割り当てることによってジオメトリフェースを生成することであって、前記割り当てられたジオメトリ情報を有する前記初期フェースのセットのうちの前記1つが前記ジオメトリフェースであり、生成する、
前記ジオメトリフェースのセットおよび前記カラーデータを使用して視点から画像をレンダリングする
ように構成されたステップを含み、
前記画像のジオメトリおよび前記画像のテクスチャが、一連のフレームの同じフレームからのものである、
非一時的なプロセッサ可読媒体。
【請求項14】
前記命令が、前記ジオメトリフェースのセットの各々について、前記ジオメトリフェースの各頂点に対して、前記少なくとも1つの関連するフェースのうちの前記1つの対応する頂点のジオメトリ位置を割り当てることによって前記ジオメトリ情報の前記割り当てが実現されることを保証するように構成される、請求項13に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項15】
実行されると、
a.前記データセットの少なくとも1つの追加のライン内の前記少なくとも1つの関連するフェースの数および前記少なくとも1つの関連するフェースの位置を保存する、
b.前記カラーデータおよび前記ジオメトリデータをYUV値または対数Y’U’V’値のいずれかとして保存する、
c.複数の符号化パラメータを含む前記カラーデータを提供することであって、前記複数の符号化パラメータの各々が前記カラーデータの異なる部分で使用され、提供する、
d.複数の符号化パラメータを含む前記カラーデータを提供することであって、前記複数の符号化パラメータの各々が前記カラーデータの異なる部分で使用され、提供する、
e.前記ジオメトリデータが、ジオメトリデータバイトの最上位ビットにのみ保存される、
f.前記初期フェースのセット内のフェースの数を10から10
6の範囲になるように選択する、
g.前記初期フェースのセット内のフェースの数を5万に選択する、
h.前記データセット内のメタデータに、前記初期フェースのセット内のフェースの数を提供する、
i.ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から前記初期フェースのセット内の前記フェースの位置を選択し、座標系の原点およ前記視点の外側の位置からなる群から前記固定位置を選択する、
j.未使用のフェースに単一の位置を割り当てることであって、未使用のフェースが、前記初期フェースのセット内のフェースであり、前記位置決めされたフェースのセット内のフェースではなく、割り当てる、
座標系の原点および前記視点の外側の位置からなる群から前記単一の位置を選択する
うちの少なくとも1つを前記命令が実行するようにさらに構成される、請求項13に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項16】
プロセッサによって実行される命令を表すコードを保存する非一時的なプロセッサ可読媒体であって、前記コードがプロセッサに画像を提供させるコードを含み、
カラーデータおよび、各フレームについて、フレーム番号を含むデータセットを取得する、
ジオメトリデータを取得する、
初期フェースのセットを生成する、
各フレームについて、
カラーデータからフレーム番号を決定する、
前記フレーム番号を有する前記ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定する、
ジオメトリフェースのセットを生成することであって、前記ジオメトリフェースセットの各メンバがジオメトリフェースであり、前記各ジオメトリフェースが前記少なくとも1つの関連するフェースのうちの1つに対応し、生成する、
前記少なくとも1つの関連するフェースのうちの前記1つの前記ジオメトリ情報を前記初期フェースのセットのうちの1つに割り当てることによって前記ジオメトリフェースを生成することであって、前記割り当てられたジオメトリ情報を有する前記初期フェースのセットのうちの1つがジオメトリフェースであり、生成する、
前記ジオメトリフェースのセットおよび前記カラーデータを使用して、所定の視点から画像をレンダリングする、ように構成されたステップを前記命令が含み、
前記画像のジオメトリおよび前記画像のテクスチャが、一連のフレームの同じフレームからのものである、
非一時的なプロセッサ可読媒体。
【請求項17】
実行されると、
a.各ジオメトリフェースについて、前記ジオメトリフェースの各頂点に対して、前記少なくとも1つの関連するフェースのうちの前記1つの対応する頂点のジオメトリ位置を前記ジオメトリフェースの前記各頂点に割り当てることによって、前記ジオメトリ情報の割り当てを実現する、
b.各関連フレームについて、所定の時間の後、ジオメトリに一貫性の変化があるときはいつでも、およびそれらの任意の組み合わせからなる群から選択される方法で前記関連フェースを生成することであって、所定の時間が、0.01秒~10秒の範囲内であり、生成する、
c.前記初期フェースのセット内のフェースの数を1から10
6の範囲になるように選択する、
d.前記初期フェースのセット内のフェースの数を5万個に選択する、
e.前記データセット内のメタデータ内の前記初期フェースのセット内のいくつかのフェースを提供する、
うちの少なくとも1つを実行するように前記命令がさらに構成される、請求項16に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項18】
前記命令が、前記ジオメトリフェースのセットの前記生成後に実行されると、前記少なくとも1つの関連するフェースを保存し、それによって保存された関連するフェースのセットを生成するようにさらに構成され、前記保存された関連するフェースのセットが、前記少なくとも1つの関連するフェースのすべてを含む、請求項16に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項19】
前記フレーム番号の前記決定後に実行されると、
複数のフレームの各フレームについて、前記ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定し、
前記複数のフレームの前記ジオメトリ情報を保存し、
複数のフレーム内の前記各フレームについて、前記フレーム番号を複数のフレーム内の前記各フレームのフレーム番号と比較し、
前記フレーム番号が、複数のフレーム内の前記各フレームの前記フレーム番号の1つと同じである場合、複数のフレーム内の前記各フレームの前記保存されたジオメトリ情報から、前記フレーム番号のジオメトリ情報をレンダリングのために選択し、
前記フレーム番号が複数のフレームにおける前記各フレームの前記フレーム番号のいずれとも同じでない場合、前記保存された関連フェースのセットをレンダリングするために選択する、
うちの少なくとも1つを実行するように前記命令がさらに構成される、請求項18に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項20】
実行されると、
a.2フレーム~1001フレームの範囲内になるように前記複数のフレームの数を選択する、
b.2フレーム~100フレームの範囲内になるように前記複数のフレームの数を選択する、
c.2フレーム~10フレームの範囲内になるように前記複数のフレームの数を選択する、
d.2フレーム~5フレームの範囲内になるように前記複数のフレームの数を選択する、
e.2フレーム~3フレームの範囲内になるように前記複数のフレームの数を選択する、
f.3フレームとなるように前記複数のフレームの数を選択する、
g.前記複数のフレームを選択することであって、前記フレーム番号の前の第1の所定数のフレームおよび前記フレーム番号の後の第2の所定数のフレームを含み、前記第1の所定数のフレームが、0から第1のデコーダの不正確さまでの範囲内にあり、前記第2の所定数のフレームが、0から第2のデコーダの不正確さまでの範囲内にあり、前記第1のデコーダの不正確さが、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあり、第2のデコーダの不正確さが、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあるように選択する、
うちの少なくとも1つを前記命令が実行するようにさらに構成される、請求項19に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項21】
前記命令が、実行されると、ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から前記初期フェースのセット内の前記フェースの位置を選択するようにさらに構成される、請求項16に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項22】
前記命令が、前記固定位置を座標系の原点となるように選択するステップをさらに含む、請求項21に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項23】
前記命令が、実行されると、未使用のフェースに単一の位置を割り当てるようにさらに構成され、未使用のフェースが、前記初期フェースのセット内のフェースであり、前記位置決めされたフェースのセット内のフェースではない、請求項16に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【請求項24】
前記命令が、実行されると、座標系の原点および前記視点の外側の位置からなる群から前記単一の位置を選択するようにさらに構成される、請求項23に記載の命令を表すコードを保存する非一時的なプロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ウェブブラウザでボリュメトリックビデオを再生するときにジオメトリとテクスチャとの間の一致を保証するためのシステムおよび方法に関する。
【背景技術】
【0002】
多くの場合、ウェブブラウザでボリュメトリック(3D)ビデオを再生することが望ましい。ボリュメトリックビデオは、典型的には、オーディオファイル内のオーディオ情報、圧縮ビデオファイル内のテクスチャ情報、およびメッシュファイル内のテクスチャ情報の3つのタイプの情報を別々のファイルに保存する。ボリュメトリックビデオが再生されるとき、表示されているフレーム間に不一致がある場合、再生の品質が損なわれる。例えば、テクスチャフレーム番号とメッシュフレーム番号とが異なると、表示される画像が荒れる可能性がある。オーディオフレーム番号がメッシュフレーム番号と一致しない場合、人の唇の動きは音と相関しない。後者の不一致は、本明細書では扱わない。
【0003】
テクスチャデコーダとメッシュデコーダの両方は、典型的には、独立して動作し、各々は、デコードすべきフレームを決定するためにフレーム番号ではなくビデオ時間を使用するので、テクスチャデコードフレームとメッシュデコーダフレームとの間の不一致がしばしば生じる。本発明は、ウェブブラウザの限られた処理環境においてさえ、テクスチャデコーダフレーム番号とメッシュデコーダフレーム番号とが一貫して一致することを保証し、より良好な品質の表示画像を保証する方法を開示する。
【0004】
米国特許第8,284,204号は、立体ディスプレイの複数の視点にレンダリングするための装置を開示している。このデバイスは、プリミティブに対応する頂点を受け取り、視点依存情報を処理する頂点シェーダを含む。装置はまた、立体ディスプレイによってサポートされる視点の数にしたがってプリミティブを複製するプリミティブ複製ユニットを含む。プリミティブ複製部は、各プリミティブに、各プリミティブの宛先となっている視点を識別する固有のビュータグを付加する。複製された各プリミティブは、ラスタライザによって処理され、ピクセルに変換される。ラスタライザは、ラスタライズされたピクセルにビュータグを追加して、ピクセルがそれぞれのプリミティブを識別し、ピクセルの宛先であるそれぞれのピクセルバッファを識別できるようにする。次いで、ピクセルは、ピクセル処理ユニットによって処理され、それぞれの視点に対応するピクセルバッファに書き込まれることができる。その後、ピクセルは立体ディスプレイに出力される。
【0005】
しかしながら、米国特許第8,284,204号は、テクスチャフレーム番号がジオメトリフレーム番号と一致することを検証するいかなる手段も示唆していない。
【0006】
米国特許出願公開第2017/0078703号は、1つ以上の信号特性に基づいて画像内の少なくとも1つの境界を識別することと、境界を含む画像の領域を縁部を含む領域として分類することと、ビデオデータのビットストリーム内で信号送信される領域に関するコンテキストベースの情報を決定することと、縁部に沿って領域を少なくとも2つに分割することと、領域に変換を適用することと、を含む方法を開示する。
【0007】
しかしながら、米国特許第8,284,204号は、テクスチャフレーム番号がジオメトリフレーム番号と一致することを検証するいかなる手段も示唆していない。
【0008】
したがって、ボリュメトリックビデオを保存する現在の方法の修正を必要とせず、表示されたテクスチャと表示されたメッシュとの間の不一致を回避する、ボリュメトリックビデオを表示する方法を提供することが、長い間求められている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第8,284,204号
【特許文献2】米国特許出願公開第2017/0078703号
【発明の概要】
【0010】
本発明の目的は、ウェブブラウザでボリュメトリックビデオを再生するときにジオメトリとテクスチャとの一致を保証するためのシステムを開示することである。
【0011】
本発明の別の目的は、画像を提供するための方法であって、
カラーデータおよびジオメトリデータを含むデータセットを取得するステップであって、ジオメトリデータはカラーデータと同じフォーマットでエンコードされる、取得するステップと、
初期フェースのセットを生成するステップと、
ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定するステップと、
ジオメトリフェースのセットを生成するステップであって、ジオメトリフェースのセットの各メンバはジオメトリフェースであり、各ジオメトリフェースは少なくとも1つの関連するフェースのうちの1つに対応する、生成するステップと、
少なくとも1つの関連するフェースの各々について、少なくとも1つの関連するフェースのそれぞれのジオメトリ情報を初期フェースのセットの1つに割り当てることによってジオメトリフェースを生成するステップであって、割り当てられたジオメトリ情報を有する初期フェースのセットの1つはジオメトリフェースである、生成ステップと、
ジオメトリフェースのセットおよびカラーデータを使用して視点から画像をレンダリングするステップと
を含む方法であって、
画像のジオメトリおよび画像のテクスチャは、一連のフレームの同じフレームからのものである、方法。
【0012】
本発明の別の目的は、上記に開示した方法を開示することであり、ジオメトリフェースのセットの各々について、ジオメトリ情報を割り当てるステップは、ジオメトリフェースの各頂点に対して、ジオメトリフェースの各頂点に、少なくとも1つの関連するフェースのうちの1つの対応する頂点のジオメトリ位置を割り当てることによって実現される。
【0013】
本発明の別の目的は、上記で開示された方法を開示することであり、
a.少なくとも1つの関連するフェースの数および少なくとも1つの関連するフェースの位置をデータセットの少なくとも1つの追加のラインに保存するステップと、
b.カラーデータおよびジオメトリデータをYUV値または対数Y’U’V’値のいずれかとして保存するステップと、
c.複数の符号化パラメータを含むカラーデータを提供するステップであって、複数の符号化パラメータの各々がカラーデータの異なる部分で使用される、提供するステップと、
d.複数の符号化パラメータを含むカラーデータを提供するステップであって、複数の符号化パラメータの各々がカラーデータの異なる部分で使用される、提供するステップと、
e.ジオメトリデータは、ジオメトリデータバイトの最上位ビットにのみ保存されるステップと、
f.初期フェースのセット内のフェースの数を10から106の範囲になるように選択するステップと、
g.初期フェースのセット内のフェースの数を5万に選択するステップと
h.データセット内のメタデータに、初期フェースのセット内のフェースの数を提供するステップと、
i.ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から初期フェースのセット内のフェースの位置を選択し、座標系の原点および視点の外側の位置からなる群から固定位置を選択するステップと、
j.未使用のフェースに単一の位置を割り当てるステップであって、未使用のフェースは、初期フェースのセット内のフェースであり、位置決めされたフェースのセット内のフェースではない、割り当てるステップと、
座標系の原点および視点の外側の位置からなる群から単一の位置を選択するステップ、のうちの少なくとも1つをさらに含む。
【0014】
本発明の別の目的は、画像を提供する方法を開示することであって、
カラーデータおよび各フレームのフレーム番号を含むデータセットを取得するステップと、
ジオメトリデータを取得するステップと、
初期フェースのセットを生成するステップと、
各フレームについて、
カラーデータからフレーム番号を決定するステップと、
フレーム番号を有するジオメトリデータから、少なくとも1つの関連するフェースのジオメトリ情報を決定するステップと、
ジオメトリフェースのセットを生成するステップであって、ジオメトリフェースのセットの各メンバはジオメトリフェースであり、各ジオメトリフェースは少なくとも1つの関連するフェースのうちの1つに対応する、生成するステップと、
少なくとも1つの関連するフェースの1つのジオメトリ情報を初期フェースのセットの1つに割り当てることによってジオメトリフェースを生成し、割り当てられたジオメトリ情報を有する初期フェースのセットの1つはジオメトリフェースである、生成ステップと、
ジオメトリフェースのセットおよびカラーデータを使用して所定の視点から画像をレンダリングするステップと
を含み、
画像のジオメトリおよび画像のテクスチャは、一連のフレームの同じフレームからのものである。
【0015】
本発明の別の目的は、上記で開示された方法を開示することであり、
a.各ジオメトリフェースについて、ジオメトリ情報を割り当てるステップは、ジオメトリフェースの各頂点に対して、少なくとも1つの関連するフェースのうちの1つの対応する頂点のジオメトリ位置をジオメトリフェースの各頂点に割り当てることによって実現される、
b.関連するフェースは、各関連するフレームについて、所定の時間の後、ジオメトリに一貫性の変化があるときはいつでも、およびそれらの任意の組み合わせからなる群から選択される方法で生成され、所定の時間は、0.01秒~10秒の範囲内である、
c.初期フェースのセット内のフェースの数を1から106の範囲になるように選択することと、
d.初期フェースのセットのフェースの数を5万に選択することと、
e.データセット内のメタデータ内の初期フェースのセット内のいくつかのフェースを提供する、うちの少なくとも1つが真である。
【0016】
本発明の別の目的は、上記で開示された方法を開示することであり、ジオメトリフェースのセットを生成するステップの後にステップをさらに含み、少なくとも1つの関連するフェースを保存するステップで、それによって保存された関連するフェースのセットを生成し、保存された関連するフェースのセットは、少なくとも1つの関連するフェースのすべてを含む。
【0017】
本発明の別の目的は、上記で開示された方法を開示することであり、フレーム番号を決定するステップの後に、
複数のフレーム内の各フレームについて、ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定するステップと、
複数のフレームのジオメトリ情報を保存するステップと、
複数のフレーム内の各フレームについて、フレーム番号を複数のフレーム内の各フレームのフレーム番号と比較するステップと、
フレーム番号が複数のフレーム内の各フレームのフレーム番号のうちの1つと同じである場合、複数のフレーム内の各フレームの保存されたジオメトリ情報から、フレーム番号のジオメトリ情報をレンダリングするために選択するステップと、
フレーム番号が複数のフレーム内の各フレームのフレーム番号のいずれとも同じでない場合、保存された関連フェースのセットをレンダリングするために選択するステップと
をさらに含む。
【0018】
本発明の別の目的は、上記で開示された方法を開示することであり、
a.2フレーム~1001フレームの範囲内になるように複数のフレームの数を選択するステップと、
b.2フレーム~100フレームの範囲内になるように複数のフレームの数を選択するステップと、
c.2フレーム~10フレームの範囲内になるように複数のフレームを選択するステップと、
d.2フレーム~5フレームの範囲内になるように複数のフレームの数を選択するステップと、
e.2フレーム~3フレームの範囲内になるように複数のフレームの数を選択するステップと、
f.3フレームに複数のフレームの数を選択するステップと、
g.フレーム番号の前の第1の所定数のフレームおよびフレーム番号の後の第2の所定数のフレームを含むように複数のフレームを選択するステップであって、第1の所定数のフレームは、0から第1のデコーダの不正確さまでの範囲内にあり、第2の所定数のフレームは、0から第2のデコーダの不正確さまでの範囲内にあり、第1のデコーダの不正確さは、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあり、第2のデコーダの不正確さは、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあるように選択するステップと
のうちの1つをさらに含む。
【0019】
本発明の別の目的は、ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から初期面のセット内のフェースの位置を選択するステップをさらに含む、上記で開示された方法を開示することである。
【0020】
本発明の別の目的は、座標系の原点となる固定位置を選択するステップをさらに含む、上記で開示された方法を開示することである。
【0021】
本発明の別の目的は、未使用のフェースに単一の位置を割り当てるステップをさらに含み、未使用のフェースは、初期フェースのセット内のフェースであり、位置決めされたフェースのセット内のフェースではない、上記で開示された方法を開示することである。
【0022】
本発明の別の目的は、座標系の原点および視点の外側の位置からなる群から単一の位置を選択するステップをさらに含む、上記で開示された方法を開示することである。
【0023】
本発明の別の目的は、実行時に画像を提供するように構成された命令のセットを開示することであり、
カラーデータおよびジオメトリデータを含むデータセットを取得することであって、ジオメトリデータは、カラーデータと同じフォーマットでエンコードされ、取得する、
初期フェースのセットを生成する、
ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定する、
ジオメトリフェースのセットを生成することであって、ジオメトリフェースのセットの各メンバはジオメトリフェースであり、各ジオメトリフェースは少なくとも1つの関連するフェースのうちの1つに対応し、生成する、
少なくとも1つの関連するフェースの各々について、少なくとも1つの関連するフェースの各々のジオメトリ情報を初期フェースのセットのうちの1つに割り当てることによってジオメトリフェースを生成することであって、割り当てられたジオメトリ情報を有する初期フェースのセットのうちの1つがジオメトリフェースであり、生成する、
ジオメトリフェースのセットおよびカラーデータを使用して視点から画像をレンダリングする、ように構成されたステップを命令は含み、
画像のジオメトリおよび画像のテクスチャは、一連のフレームの同じフレームからのものである。
【0024】
本発明の別の目的は、上記に開示した命令セットを開示することであり、ジオメトリフェースのセットの各々について、ジオメトリ情報の割り当ては、ジオメトリフェースの各頂点に対して、少なくとも1つの関連するフェースのうちの1つの対応する頂点のジオメトリ位置を割り当てることによって実現される。
【0025】
本発明の別の目的は、上記で開示された命令のセットを開示することであり、命令のセットは、実行されると、
a.データセットの少なくとも1つの追加のライン内の少なくとも1つの関連するフェースの数および少なくとも1つの関連するフェースの位置を保存する、
b.カラーデータおよびジオメトリデータをYUVまたは対数Y’U’V’値のいずれかとして保存する、
c.複数の符号化パラメータを含むカラーデータを提供することであって、複数の符号化パラメータの各々は、カラーデータの異なる部分で使用されて、提供する、
d.複数の符号化パラメータを含むカラーデータを提供することであって、複数の符号化パラメータの各々は、カラーデータの異なる部分で使用されて、提供する、
e.ジオメトリデータをジオメトリデータバイトの最上位ビットのみに保存する、
f.初期フェースのセット内のフェースの数を10から106の範囲内になるように選択する、
g.初期フェースのセット内のフェースの数を5万に選択する、
h.データセット内のメタデータに、初期フェースのセット内のフェースの数を提供する、
i.ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から初期フェースのセット内のフェースの位置を選択し、座標系の原点および視点の外側の位置からなる群から固定位置を選択する、
j.未使用のフェースに単一の位置を割り当てることであって、未使用のフェースは、初期フェースのセット内のフェースであり、位置決めされたフェースのセット内のフェースではなく、割り当てる、
座標系の原点および視点の外側の位置からなる群から単一の位置を選択する、
うちの少なくとも1つを実行するようにさらに構成される。
【0026】
本発明の別の目的は、実行されると、画像を提供するように構成された命令のセットを開示することであり、
カラーデータおよび、各フレームについて、フレーム番号を含むデータセットを取得する、
ジオメトリデータを取得する、
初期フェースのセットを生成する、
各フレームについて、
カラーデータからフレーム番号を決定する、
フレーム番号を有するジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定する、
ジオメトリフェースのセットを生成することであって、ジオメトリフェースセットの各メンバはジオメトリフェースであり、各ジオメトリフェースは少なくとも1つの関連するフェースのうちの1つに対応して、生成する、
少なくとも1つの関連するフェースのうちの1つのジオメトリ情報を初期フェースのセットのうちの1つに割り当てることによってジオメトリフェースを生成することであって、割り当てられたジオメトリ情報を有する初期フェースのセットのうちの1つはジオメトリフェースであり、生成する、
ジオメトリフェースのセットおよびカラーデータを使用して、所定の視点から画像をレンダリングする
ように構成されたステップが命令に含まれ、
画像のジオメトリおよび画像のテクスチャは、一連のフレームの同じフレームからのものである。
【0027】
本発明の別の目的は、上記で開示された命令のセットを開示することであり、実行されると、
a.各ジオメトリフェースについて、ジオメトリフェースの各頂点に対して、少なくとも1つの関連するフェースのうちの1つの対応する頂点のジオメトリ位置をジオメトリフェースの各頂点に割り当てることによって、ジオメトリ情報の割り当てを実現する、
b.各関連フレームについて、所定の時間の後、ジオメトリに一貫性の変化があるときはいつでも、およびそれらの任意の組み合わせからなる群から選択される方法で関連フェースを生成することであって、所定の時間は、0.01秒~10秒の範囲内であり、生成する、
c.初期フェースのセット内のフェースの数を1から106の範囲になるように選択する、
d.初期フェースのセットのフェースの数を5万個に選択する、
e.データセット内のメタデータ内の初期フェースのセット内のいくつかのフェースを提供する、うちの少なくとも1つを実行するようにさらに構成される。
【0028】
本発明の別の目的は、ジオメトリフェースのセットの生成後に実行されると、少なくとも1つの関連するフェースを保存し、それによって保存された関連するフェースのセットを生成するように構成され、保存された関連するフェースのセットは、少なくとも1つの関連するフェースのすべてを含む、上記で開示された命令のセットを開示することである。
【0029】
本発明の別の目的は、上記で開示された命令のセットを開示することであり、実行されると、フレーム番号の決定の後に、
複数のフレーム内の各フレームについて、ジオメトリデータから少なくとも1つの関連するフェースのジオメトリ情報を決定し、
複数のフレームのジオメトリ情報を保存し、
複数のフレーム内の各フレームについて、フレーム番号を複数のフレーム内の各フレームのフレーム番号と比較し、
フレーム番号は、複数のフレーム内の各フレームのフレーム番号の1つと同じである場合、複数のフレーム内の各フレームの保存されたジオメトリ情報から、フレーム番号のジオメトリ情報をレンダリングのために選択し、
フレーム番号が複数のフレーム内の各フレームのフレーム番号のいずれとも同じでない場合、保存された関連フェースのセットをレンダリングするために選択する、うちの少なくとも1つを実行するようにさらに構成される。
【0030】
本発明の別の目的は、上記で開示された命令のセットを開示することであり、実行されると、
a.2フレーム~1001フレームの範囲内になるように複数のフレームの数を選択する、
b.2フレーム~100フレームの範囲内になるように複数のフレームの数を選択する、
c.2フレーム~10フレームの範囲内になるように複数のフレームの数を選択する、
d.2フレーム~5フレームの範囲内になるように複数のフレームの数を選択する、
e.2フレーム~3フレームの範囲内になるように複数のフレームの数を選択する、
f.3フレームになるように複数のフレームの数を選択する、
g.複数のフレームを選択することであって、フレーム番号の前の第1の所定数のフレームおよびフレーム番号の後の第2の所定数のフレームを含み、第1の所定数のフレームは、0から第1のデコーダの不正確さまでの範囲内にあり、第2の所定数のフレームは、0から第2のデコーダの不正確さまでの範囲内にあり、第1のデコーダの不正確さは、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあり、第2のデコーダの不正確さは、0-1フレーム0-2フレームおよび0-500フレームからなる群から選択される範囲内にあるように選択する
うちの少なくとも1つを実行するようにさらに構成される。
【0031】
本発明の別の目的は、実行されると、ノイズ、乱数、固定位置、およびそれらの任意の組み合わせからなる群から初期フェースのセット内のフェースの位置を選択するようにさらに構成された、上記で開示された命令のセットを開示することである。
【0032】
本発明の別の目的は、座標系の原点となる固定位置を選択するステップをさらに含む、上記で開示された命令のセットを開示することである。
【0033】
本発明の別の目的は、実行されると、未使用のフェースに単一の位置を割り当てるようにさらに構成された、上記で開示された命令のセットを開示することであり、未使用のフェースは、初期フェースのセット内のフェースであり、位置決めされたフェースのセット内のフェースではない。
【0034】
本発明の別の目的は、実行されると、座標系の原点および視点の外側の位置からなる群から単一の位置を選択するようにさらに構成された、上記で開示された命令のセットを開示することである。
【0035】
本発明およびその実施態様を実際によりよく理解するために、添付の図面を参照して、複数の実施形態を非限定的な例としてのみ説明する。
【図面の簡単な説明】
【0036】
【
図1】従来技術のフローチャートを概略的に示す図である。
【
図2】本発明の一実施形態のフローチャートを概略的に示す図である。
【
図3】本発明の一実施形態のフローチャートを概略的に示す図である。
【
図4】本発明の一実施形態のフローチャートを概略的に示す図である。
【
図5】本発明の一実施形態のフローチャートを概略的に示す図である。
【
図6】本発明の一実施形態のフローチャートを概略的に示す図である。
【
図7】本発明の一実施形態のフローチャートを概略的に示す図である。
【発明を実施するための形態】
【0037】
次の説明は、当業者が本発明を利用できるように、本発明の全章に沿って提供され、本発明を実施するために発明者が考えた最良の形態を説明するものである。しかしながら、本発明の一般的な原理は、ウェブブラウザでボリュメトリックビデオを再生するときにジオメトリとテクスチャとの間の一致を保証するための手段および方法を提供するために特に定義されているので、様々な変更が当業者には明らかである。
【0038】
以下、「データセット」という用語は、ダウンロードすることができるデータのセットを指す。本明細書で使用される場合、データセットは、テクスチャデータ、ジオメトリデータ、オーディオデータ、およびメタデータのうちの少なくとも1つを含む。典型的には、データセットは、テクスチャデータとジオメトリデータの両方、ならびにオーディオデータを含み、メタデータを含むことができるが、必ずしも含まれる必要はない。
【0039】
以下、「カラーデータ」という用語は、データセット内の色を指す。各カラーデータは、典型的には、2Dマッピングにおけるピクセルであり、典型的には、2Dマッピングはテクスチャアトラスを含むが、マッピングのタイプは本明細書に開示される方法に関連しない。
【0040】
以下、「フェース」または「ジオメトリフェース」という用語は、モデル上の最小の有用な領域を指す。フェースの完全なセットは、モデルのジオメトリを記述する。フェースは、最も一般的には三角形であり、あまり一般的ではないが四角形であり、任意の所望の平面ジオメトリ形状とすることができる。フェースは、1つ以上の色を含むことができる。
【0041】
以下、「ジオメトリデータ」という用語は、データセット内のジオメトリデータを指す。ジオメトリデータは、典型的には、フェースの頂点の位置を含み、頂点の3Dモデル内の3Dジオメトリ位置と2Dアトラス内の頂点の2D位置との間のリンクを有し、アトラスは色情報を保存する。ジオメトリデータは、典型的には、(3D内の位置)および(共形または他の2Dアトラス上の位置)として保存される。ジオメトリデータを保存する1つの典型的な方法はXYZUVであり、(x、y、z)は3D空間におけるデータの位置であり、(u、v)は2Dアトラスにおけるデータの位置である。各ジオメトリデータは頂点番号を含むことができる。保存方法のいくつかの実施形態では、頂点に対して位置が与えられた後に、(x、y、z)位置の代わりに頂点番号を保存することができ、それによって保存されるデータセットのサイズを縮小することができる。
【0042】
以下、「ジオメトリ情報」という用語は、モデルのジオメトリを記述する情報を指す。ジオメトリ情報は、典型的には、フェースの頂点のモデル上の位置、メッシュ頂点のアトラスピクセルへのマッピング、および各頂点が属するフェースを含む。
【0043】
以下、「色情報」という用語は、モデルに適用されるアトラス内のピクセルの色を指す。ジオメトリデータから、アトラス内の各ピクセルのカラーデータを使用して、3Dモデルに色を付けることができる。(一定のサイズの)アトラス内の各ピクセルについて、ピクセルによって色付けされた領域の3Dモデル上のサイズおよび3D形状がジオメトリ情報から生成される。アトラスにはジオメトリ情報は保存されない。
【0044】
多くの場合、ウェブブラウザでボリュメトリック(3D)ビデオを再生することが望ましい。しかしながら、ウェブブラウザは、限られた帯域幅を有することができ、ブラウザが実行されているコンピュータは、限られたCPUおよびGPUを有することができ、コンピュータプロセッサ、ブラウザ、メモリ、またはそれらの何らかの組み合わせは、ブラウザに利用可能なCPUまたはGPUの量を制限することができる。さらに、ブラウザに利用可能なビデオデコーダを使用することが好ましく、その結果、プラグインまたは他の追加のソフトウェアは、ディスプレイを生成するために必要とされない。したがって、ウェブブラウザで再生されたときに高品質のボリュメトリックビデオを保証することは困難であり得る。最も典型的な問題は、表示されているテクスチャフレームと表示されているメッシュフレームとの間の不一致であり、表示された画像がぼやけて見えたり、誤ったテクスチャ(色)を有したりする。本発明は、この問題を克服するためのシステムを提供する。
【0045】
典型的には、画像を表示するように構成された装置は、一般的な計算のためのメインプロセッサに加えて、専用のグラフィックス処理を有する。メインプロセッサは、本明細書で使用されるように、一般にCPUと呼ばれる。グラフィックス処理は、ソフトウェア対応またはハードウェア対応とすることができる。本明細書では、グラフィックス処理は、ハードウェアであるかソフトウェアであるかにかかわらず、GPUと呼ばれる。
【0046】
典型的には、レンダリングされるジオメトリフェースの数およびそれらの位置はCPUで指定されるが、位置はGPUで編集することができる。
【0047】
モバイルデバイスはGPUでより多くの機能を実行する傾向があるため、どの機能がCPUで実行され、どの機能がGPUで実行されるかは、ある程度デバイスに依存することに留意されたい。
【0048】
画像を表示するために、典型的には、ボリュメトリックビデオには少なくとも2つのタイプの情報がある。
・通常、圧縮されたビデオ(カラーデータ)として保存される色。
・3Dモデルフェースが3D空間内のどこに位置するか、および2Dテクスチャアトラス内のそれらの位置の説明であるジオメトリ。ジオメトリは、通常、3D空間および2Dテクスチャアトラス(ジオメトリデータ)内の頂点位置として保存される。典型的には、ジオメトリデータは、頂点位置のリストおよび各フェースに属する頂点のリストとして保存される。通常、頂点インデックス番号は、ジオメトリデータに保存された頂点の順序から推測されるが、他の保存システムも可能であり、本発明のシステムは、ジオメトリデータのための保存システムの種類によって限定されない。ジオメトリデータの保存の非限定的な例を以下に示す。以下の非限定的な例では、各フェースa頂点bは、頂点のリスト内の頂点のインデックス番号である。すべてのフェースが三角形である場合、各フェースには3つの頂点があり、FaceaVertexlastは常にFaceaVertexthirdになる。
頂点数N、
x1y1z1u1v1、
x2y2z2u2v2、
x3y3z3u3v3、
・
・
・
xNyNzNuNvN
フェースの数F
フェース1頂点第1フェース1頂点第2...フェース1頂点最後
フェース2頂点第1フェース2頂点第2...フェース2頂点最後
フェース3頂点第1フェース3頂点第2...フェース3頂点最後
・
・
・
フェースF頂上第1フェースF頂上第2...フェースF頂点最後
【0049】
例えば、頂点xmymzmを共有する2つのフェースがアトラス内の異なる領域にマッピングされる場合、頂点xmymzmは、非限定的な例では、ujvjとukvkの両方の、アトラス内の複数の位置にマッピングされることが可能である。その場合、典型的には、位置xmymzmは、xmymzmujvjとして1回、およびxmymzmukvkとして1回、頂点のリスト内で複数回発生する。本発明のシステムは、位置xmymzmをアトラスピクセルujvjにマッピングする方法によって限定されない。
【0050】
典型的には、ボリュメトリックビデオは音声データも含む。存在してもしなくてもよい他の情報は、典型的には、メタデータと呼ばれる。メタデータは、日付スタンプ、タイムスタンプ、認証、有効性証明書、パスコード、参照番号、およびそれらの任意の組み合わせを含むことができるが、これらに限定されない。本明細書に詳述されている場合を除いて、メタデータの存在およびメタデータの性質は、存在する場合、本明細書に開示された発明を限定しない。
【0051】
典型的には、従来技術では、
図1に示すように、テクスチャ付きボリュームビデオの生成(1000)に含まれるステップは、以下を含む。
1)カラーデータは、ブラウザにストリーミングまたはダウンロードされる(1005)。
2)カラーデータはビデオデコーダでデコードされる(1010)。典型的には、デコーダはGPU内にある。
3)CPUは、どのフレーム番号がデコードされようとしているかについてデコーダに照会する(1015)。
4)ジオメトリデータがストリーミングまたはダウンロードされ、関連するフェースの数および各関連するフェースの位置がジオメトリデータから抽出され、GPUに送信される(1020)。
5)ブラウザはユーザが決定した視点からの3Dオブジェクトの2Dレンダリングを表示するので、レンダリングは関連する視点から行われる(1025)。
【0052】
この処理を「標準プロセス」と呼ぶ。
【0053】
しかしながら、ステップ3において、実際には、デコーダは誤ったフレーム番号を報告するか、または参照されたフレーム(前または後のいずれか)が破損しているか、またはバッファ内にないことが非常に多い。
【0054】
通常、色情報の圧縮方法は、表示される色の審美性を元の審美性に可能な限り近づけて、色品質の損失を最小限に抑えながら、ファイルサイズを最小限に抑えるように設計される。しかしながら、カラーデータは、典型的には、カラー値として保存され、一方、ジオメトリデータは、典型的には、上述したように、頂点位置として、および各フェースについて、そのフェースを記述する頂点として保存される。
【0055】
標準的なプロセスでは、ジオメトリと色の両方の良好な圧縮が可能であるが、カラーフレームとジオメトリフレームとの同期は信頼できない可能性がある。本発明は、カラーフレームとジオメトリフレームとの同期を保証する2つの方法を開示する。両方の方法は、2つ以上の実施形態を有する。1つの方法では、ジオメトリはテクスチャとして保存され、他の方法では、フレーム番号は、フレームごとにカラーデータに保存される。
【0056】
第1の方法では、ファイルはジオメトリデータとカラーデータの両方を含み、ジオメトリデータはテクスチャデータフォーマットでエンコードされる。次いで、カラーデータおよびジオメトリデータは、ファイルサイズを小さく保ちながら単一の圧縮フォーマットを使用して圧縮することができ、したがってダウンロード速度が向上し、妥当なジオメトリ品質を保つ。
【0057】
後述する第2の方法では、フレーム番号のみがテクスチャデータ形式でエンコードされる。
【0058】
ジオメトリデータおよびカラーデータを含むファイルのサイズを縮小し、またジオメトリデータをテクスチャデータフォーマットで保存するために使用することができるいくつかの技術がある。
【0059】
したがって、標準的なプロセスでは、カラーデータとジオメトリデータの両方が標準的な方法で保存されるため、ジオメトリデータの圧縮は困難である。1セットの圧縮パラメータが両方のタイプのデータに使用される場合、可逆圧縮が使用される場合、ジオメトリ品質は維持されるが、保存されたファイルは大きくなる。一方、非可逆圧縮が使用される場合、ファイルサイズは大幅に低減されるが、レンダリングされた画像のジオメトリ品質はおそらく大幅に低下する。
【0060】
ビデオ圧縮に現在使用されている典型的な技術は、H.264およびH.265であり、典型的には、限定はしないが、整数離散コサイン変換(DCT)などのタイプのフーリエ変換を使用してカラーデータを圧縮する。一般に、フーリエ変換の場合、変換の振幅のみを保存する必要があり、ファイルサイズが小さくなる。DCTでは、変換の高周波成分が除去または強調解除される。これは、高周波数のカラーデータがノイズであることが多いため、テクスチャ品質に強く影響しない傾向がある。ダウンロード後、デコーダはデータを逆変換する。
【0061】
典型的には、色情報を保存する際に、各位置のカラー値は、RGBまたは対数R’G’B’(赤、緑青)カラー値からYUVまたは対数Y’U’V’カラー値に変換され、ここで、Yは輝度(Y’=ルマ)であり、U、第1のクロマ値はB-Y(U’=B’-Y’)であり、BはRGB空間の青の値であり、V、第2のクロマ値はR-Y(V’=R’-Y’)であり、RはRGB空間の赤の値である。簡単にするために、以下では色空間(およびそれぞれのカラー値)をRGBおよびYUVと呼ぶ。
【0062】
ファイルサイズを小さくするために、各位置に対してYUVチャネルのうちの2つのみが保存されるようにカラー値をサブサンプリングすることができ、2つのチャネルは、第1にYチャネル(常に保存される)であり、第2にUチャネルまたはVチャネルのいずれかである。
【0063】
サブサンプリングスキームは、典型的には、幅Jピクセル、高さ2ピクセルの概念的領域内の輝度およびクロミナンスのサンプルの数を表す3つの部分の比率J:a:b(例:4:2:2)として表現される。部品は(それぞれの順序で)次のとおりである。
J:水平サンプリング基準(概念的領域の幅)。
a:Jピクセルの1行目のクロミナンスのサンプル数(U、V)
b:Jピクセルの第1の行と第2の行との間のクロミナンスのサンプル(U、V)の変化数。通常、bは、慣例に従わない4:4:1および4:2:1のような不規則な場合を除いて、0またはaに等しい。
【0064】
サブサンプリングがなく、すべてのカラー値が保存されている場合、これは典型的には、4:4:4サンプリングと呼ばれる。
【0065】
非限定的な例として、4:2:2サブサンプリングでは、各カラーデータについて、保存される2つの値はYおよびUまたはVの1つであり、UおよびVは、第1の行にUVおよび第2の行にVUの順序で交互のカラーデータに保存される。デコード時に、隣接するカラーデータの値を平均することによって「欠損」値が生成される。4:2:2サブサンプリングでは、所与のカラーデータがYおよびUを保存している場合、V値は、所与のカラーデータを取り囲むカラーデータのV値の平均から生成することができる。明らかに、保存されたV値を有するカラーデータのU値を生成するために同じことが当てはまる。他の典型的なサブサンプリングスキームは、4:4:2および4:2:0である。使用されるサブサンプリングスキームは、所望される圧縮量および所望されるテクスチャの品質に依存すれ、圧縮が大きくなると、レンダリングされた色の細部の損失が大きくなる。
【0066】
ジオメトリデータがテクスチャフォーマットに保存されている場合、サブサンプリングは、隣接する位置に保存されている情報間の関係の欠如のために、レンダリングされた画像の精度に著しい損傷を引き起こす可能性があり、これは、通常、ジオメトリデータは、非限定的な例では、フェース番号、頂点位置、およびフェース間の頂点間接続として、またはフェース番号およびフェース内の各頂点の頂点番号+頂点位置として保存されるためである。
【0067】
1つの技術では、サブサンプリング中のジオメトリ情報の損失を回避するために、すべてのジオメトリデータは、サブサンプリングされないYチャネルにのみ保存される。
【0068】
エンコーダが非可逆である別の技術では、エンコード中に最下位ビット(LSB)データが失われるため、重要なデータは最上位ビット(MSB)に保存される。典型的には、バイトの最初の5ビットはMSBであり、最後の3ビットは破棄される。このタイプのエンコードスキームでは、ファイルデータは、テクスチャデータフォーマットで保存されたカラーデータおよびジオメトリデータとの間で交互に繰り返す(または、の別々のブロックを含む)。すべてのピクセルのMSBはYデータを含む。テクスチャデータはYUVチャネルを含み、上記のように、ジオメトリデータについては、ジオメトリ情報はYチャネルのみでエンコードされる。したがって、非可逆圧縮が使用される場合、LSBデータを破棄すると、ジオメトリ情報は劣化しない。第1の実施形態では、各フレームのジオメトリは関連するカラーデータで埋め込まれる。ファイルデータの追加のラインは、ジオメトリフェースの数および位置を含む。
【0069】
別の技術では、画像の異なる部分に対して異なる圧縮パラメータが使用される。非限定的な例では、関心領域は他の領域よりも圧縮されない。関心領域は、ジオメトリであってもよく、ジオメトリデータはカラーデータよりも圧縮されない。典型的には、必ずしもそうとは限らないが、関心領域は画像の下部であり、画像がその上部に背景を有し、一方で前景が下部にあることは非常に一般的である。したがって、画像の下部を画像の上部よりも圧縮することが一般的である。
【0070】
上記の技術の任意の組み合わせを圧縮に使用できることに留意されたい。
【0071】
本発明のシステムは、圧縮のための上記の技術によって限定されないことにさらに留意されたい。
【0072】
別の技術では、ジオメトリおよびテクスチャの同期は、ジオメトリデータおよびカラーデータを別々に保存するが、色およびジオメトリの同期を保証するためにカラーデータにフレーム番号を保存することによって保証される。この技術では、フレーム番号がカラーデータにエンコードされる。非限定的な例として、カラーデータの第1のファイル位置の1つまたは複数は、テクスチャ値の代わりにフレーム番号を含むことができる。
【0073】
以下により十分に説明されるこの実施形態のバリアントには、以下が含まれる。
1.フレーム番号はGPUでデコードされてCPUに送信されるため、CPUはフレーム番号を認識し、デコーダの不正確な「現在のフレームは何か」というCPU内のアプリケーションプログラミングインターフェイス(API)を置き換える。
【0074】
2.多数の初期フェース、典型的には三角形をCPUで生成することができる。GPUでは、フレーム番号を知ると、初期フェースのサブセットが適切なジオメトリで埋められる。
【0075】
3.利用可能な十分なメモリがある場合、ジオメトリをいくつかのフレームについてデコードし、メモリに保存することができる。次に、上記のように、初期フェース、典型的には三角形がCPUにおいて生成される。フレーム番号は、カラーデータから抽出され、GPUにおいて、ジオメトリフェース(初期フェースのサブセット)は、そのフレーム番号に適したジオメトリで埋められ、ジオメトリ情報は、保存されたジオメトリから取得される。
【0076】
4.メモリが制限される可能性がある場合、予想されるフレームの近傍の数フレームのジオメトリがデコードされ、メモリに保存される。テクスチャおよびその埋め込みフレーム番号がデコードされる。テクスチャのフレーム番号は、保存されたジオメトリのフレーム番号と比較される。保存されたジオメトリのフレーム番号とテクスチャのフレーム番号との間に一致がある場合、上記のように、ジオメトリフェース(初期フェースのサブセット)はそのフレーム番号の適切なジオメトリで埋められ、ジオメトリおよびテクスチャはレンダリングされる。レンダリングされた画像はバッファに保存される。フレームについて、保存されたジオメトリのフレーム番号とテクスチャのフレーム番号との間に一致が見つからない場合、バッファに保存されたテクスチャ画像が再利用される。これにより、ビットレートをわずかに低減することができるが、画質は維持される。
【0077】
第1の実施形態では、ジオメトリは、関連するテクスチャ内のフレームごとにエンコードされる。さらに数行のファイルデータが追加され、ファイルデータの追加の行にジオメトリフェースの数および位置が保存される。
【0078】
図2に示すように、本方法の第1の実施形態(1100)は、以下のステップを含む。
1)カラーデータおよびジオメトリデータは、ブラウザにストリーミングまたはダウンロードされる(1105)。
2)テクスチャは、色情報を決定するためにビデオデコーダでデコードされる(1110)。典型的には、デコーダはGPU内にある。
3)十分な数のフェースが生成される(1115)。フェースの数は、メタデータとして送信することができ、または十分に大きくなるように選択された所定の数が使用される。すべてのフェースは無関係の位置を有する。「位置」は、ノイズまたは(0、0、0)などの固定位置であることができ、後のステップで正しい値が入力されるため、値は重要ではない。生成されるフェースの数は限定されない。典型的には、約5万になる。1から10
6の範囲であり得る。
4)GPUでは、ジオメトリデータを含むファイルデータの追加のラインが読み取られ、そこからジオメトリ情報を決定することができる(1120)。関連する各フェースについて、その実際の位置が、ステップ3で生成されたフェースのうちの1つに割り当てられる。関連するフェースよりも多くのフェースがステップ3で生成された場合、不要なフェースには単一の位置が割り当てられ、これは(0、0、0)またはレンダリングビューの外側にあることが知られている位置とすることができる。これらの不要なフェースは縮退状態にある。
5)ブラウザはユーザが決定した視点からの3Dオブジェクトの2Dレンダリングを表示するので、レンダリングは関連する視点から行われる(1125)。
【0079】
この解決策では、関連するジオメトリデータおよびカラーデータが同じフレームに保存されるので、エンコーダを照会する必要がなく、したがってレンダリングの不一致の可能性がない。
【0080】
本方法の第2の実施形態では、フレーム番号はカラーデータ内でエンコードされる。2つのサブバリアントを有する第1のバリアントおよび第2のバリアントが与えられる。
【0081】
本方法の第2の実施形態の第1のバリアントでは、ステップ1および2は標準プロセスと同じである。
【0082】
その後、標準ステップ3は、以下に示すように、データセットからデコードされたフレーム番号を使用することから生じるステップに置き換えられる。
【0083】
図3に示すように、本方法の第2の実施形態の第1のバリアント(1200)は、以下のステップを含む。
1)データセットがブラウザにストリーミングまたはダウンロードされる(1205)。
2)データセットは、カラーデータを決定するためにビデオデコーダにおいてデコードされる(1210)。典型的には、デコーダはGPU内にある。
3)GPUでは、フレーム番号(上述したように、カラーデータに埋め込まれる)が読み取られ、CPUに送信される(1215)。
4)ジオメトリデータがデコードされ、関連するフェースの数および各関連するフェースの位置がジオメトリデータから抽出され、GPUに送信される(1220)。
5)ブラウザは、ユーザが決定した視点からの3Dオブジェクトの2Dレンダリングを表示するので、レンダリングは関連する視点から行われる(1225)。
【0084】
本方法の第2の実施形態の第2のバリアントでは、標準方法のステップ3で説明したように、関連するジオメトリデータがダウンロードされ、フェースの縮退プールを生成することによってアクセス可能なGPUメモリに保存され、標準方法のステップ4で説明したように、位置を実際の位置に変更することによって、実際のジオメトリがフェースの縮退プールのサブセットに適用される。
【0085】
保存されるジオメトリデータの量が異なる2つのサブバリアントが示されている。第1のサブバリアントでは、ジオメトリデータは多数のフレームに保存され(「大容量メモリ」、第2のサブバリアントでは、ジオメトリデータは少数のフレーム「小容量メモリ」にのみ保存され、フレームの数はデコーダフレームの不正確さをカバーするのに十分である。非限定的な例として、デコーダがプラスまたはマイナス1フレーム以内まで正確である場合、3つのフレームのみが保存される必要があり、プラス1またはマイナス2フレーム以内の精度は、4フレームを保存する必要があることなどを意味する。保存されるフレームの数の非限定的な例は、2から1000、2から100、2から10、2から4、および2から3である。
【0086】
図4および
図5に示すように、本方法の第2のバリアントの第1のサブバリアント(1300)は以下のステップを含む。
1)カラーデータは、ブラウザにストリーミングまたはダウンロードされる(1305)。
2)ジオメトリデータはストリーミングまたはダウンロードされ、GPUアクセス可能メモリに保存される(1310)。
3)カラーデータは、色情報を決定するためにビデオデコーダでデコードされる(1315)。典型的には、デコーダはGPU内にある。
4)十分な数のフェースが生成される(1320)。フェースの数は、メタデータとして送信することができ、または十分に大きくなるように選択された所定の数が使用される。すべてのフェースは無関係の位置を有する。「位置」は、ノイズまたは(0、0、0)などの固定位置であることができ、後のステップで正しい値が入力されるため、値は重要ではない。生成されるフェースの数は限定されない。典型的には、約5万になる。1から10
6の範囲であり得る。
5)GPUでは、カラーデータに保存されたフレーム番号が読み出される(1325)。
6)GPUにおいて、フレーム番号は、アクセス可能なメモリから関連するフェースの位置を取得するために使用される(1330)。
7)GPUでは、関連するフェースごとに、その実際の位置が、ステップ4で生成されたフェースのうちの1つに割り当てられる(1335)。関連するフェースよりも多くのフェースがステップ4で生成された場合、不要なフェースには単一の位置が割り当てられ、これは(0、0、0)またはレンダリング視点の外側にあることが知られている位置とすることができる。これらの不要なフェースは縮退状態にある。
8)ブラウザは、ユーザが決定した視点からの3Dオブジェクトの2Dレンダリングを表示するので、レンダリングは関連する視点から行われる。(1340)
【0087】
図6および
図7に示すように、本方法の第2のバリアントの第2のサブバリアント(1400)は、以下のステップを含む。
1)データセットは、ブラウザにストリーミングまたはダウンロードされる(1405)。
2)カラーデータは、色情報を決定するためにビデオデコーダでデコードされる(1410)。典型的には、デコーダはGPU内にある。
3)関連するジオメトリ情報は、すべての関連するフレームについてGPUアクセス可能メモリにコピーされ(1415)、関連するフレームは、現在のフレーム番号のフレームおよび推定されたデコーダの不正確さをカバーするフレーム番号のフレームである。
4)十分な数のフェースが生成される(1420)。フェースの数は、メタデータとして送信することができ、または十分に大きくなるように選択された所定の数が使用される。すべてのフェースは無関係の位置を有する。「位置」は、ノイズまたは(0、0、0)などの固定位置であることができ、後のステップで正しい値が入力されるため、値は重要ではない。生成されるフェースの数は限定されない。典型的には、約5万になる。1から10
6の範囲であり得る。
【0088】
いくつかの実施形態では、フェースは、関連するフレームごとに生成される。いくつかの実施形態では、フェースは、所定の時間ごとに1回生成され、非限定的な例として、毎秒フェースを生成することができる。いくつかの実施形態では、フェースは、ジオメトリに一貫性の変化があるときはいつでも生成される。典型的には、フェースの位置(以下を参照)はフレームごとに変更される。
5)GPUにおいて、カラーデータがデコードされ、データセットにおいてエンコードされた現在のフレーム番号が読み出される(1425)。
6)GPUにおいて、現在のフレーム番号は、アクセス可能なメモリから関連するフェースの位置を取得するために使用される(1430)。
7)GPUでは、各関連フレーム内の各関連フェースについて、関連フェースの実際の位置が、ステップ4で関連フレームについて生成されたフェースのうちの1つに割り当てられる(1435)。関連するフェースよりも多くのフェースがステップ4で生成された場合、不要なフェースには単一の位置が割り当てられ、これは(0、0、0)またはレンダリング視点の外側にあることが知られている位置とすることができる。これらの不要なフェースは縮退状態にある。
8)GPUにおいて、現在のフレームのジオメトリ情報は現在のフレームの色情報と一致する(1440)。
9)ブラウザはユーザが決定した視点からの3Dオブジェクトの2Dレンダリングを表示するので、レンダリングは関連する視点から行われる(1445)。
【0089】
デコーダの不正確さが予想よりも大きく、特定のフレームについて、関連するジオメトリがGPUアクセス可能メモリ内にない場合、第2のバリアントは、ステップ6とステップ7との間にステップを追加することによって修正される。
6.1)現在のフレーム番号が関連するフレームのうちの1つのフレーム番号と一致する場合、ステップ4においてGPUに保存されたジオメトリ情報を有するフレームは、ステップ7に進む。
6.2)現在のフレーム番号が、ステップ4でGPUに保存されたジオメトリを有する関連フレームのいずれかのフレーム番号と一致しない場合、最後のレンダリングに使用されたジオメトリ情報が再使用され、プロセスはステップ9に続き、関連するフェースの数および各関連するフェースの位置がジオメトリ情報から抽出され、プロセスはステップ10で完了し、関連する視点からレンダリングが行われる。
【0090】
この変更により、同じフレームが2回レンダリングされるため、フレームレートが瞬間的に低下するが、アーティファクトは発生しない。
【国際調査報告】