(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-21
(54)【発明の名称】デコードされた近傍に基づく頂点予測
(51)【国際特許分類】
H04N 19/597 20140101AFI20250214BHJP
H04N 19/70 20140101ALI20250214BHJP
【FI】
H04N19/597
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024546002
(86)(22)【出願日】2023-05-05
(85)【翻訳文提出日】2024-08-01
(86)【国際出願番号】 US2023021135
(87)【国際公開番号】W WO2023244336
(87)【国際公開日】2023-12-21
(32)【優先日】2022-06-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2023-05-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】チャオ・フアン
(72)【発明者】
【氏名】ジュン・ティアン
(72)【発明者】
【氏名】シアン・ジャン
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC01
5C159MA04
5C159MA05
5C159NN32
5C159PP03
5C159PP13
5C159RB09
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
1つまたは複数のプロセッサに、少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得させ、ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を導出させ、第1の層の複数の頂点の頂点からメッシュの第2の層の複数の第2の頂点のそれぞれへの変位ベクトルを決定させ、複数の第2の頂点の総数が複数の第1の頂点の総数よりも大きく、変位ベクトルに基づいてボリュームデータをシグナリングさせるように構成されたコンピュータコードを含む方法および装置。
【特許請求の範囲】
【請求項1】
ビデオコーディングのための方法であって、前記方法は、少なくとも1つのプロセッサによって行われ、
少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得するステップと、
前記ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を導出するステップと、
前記第1の層の前記複数の頂点のうちの頂点から前記メッシュの第2の層の複数の第2の頂点のそれぞれへの変位ベクトルを決定するステップであって、前記複数の第2の頂点の総数は前記複数の第1の頂点の総数よりも大きい、ステップと、
前記変位ベクトルに基づいて前記ボリュームデータをシグナリングするステップと
を含む、ビデオコーディングのための方法。
【請求項2】
前記メッシュの前記第2の層の前記複数の第2の頂点からの、および前記メッシュの前記第2の層の複数の他の頂点からの第2の変位ベクトルを決定するステップと、
前記第2の変位ベクトルに基づいて前記ボリュームデータをさらにシグナリングするステップと
をさらに含む、請求項1に記載のビデオコーディングのための方法。
【請求項3】
前記メッシュの前記第1の層は、前記複数の第1の頂点のうちの他の頂点の各々を相互接続する直線によって定義されたポリゴンを含み、
前記複数の第1の頂点のうちの前記頂点は、前記複数の第1の頂点のうちの前記他の頂点の各々を相互接続する前記直線のそれぞれの上に配置されている、
請求項2に記載のビデオコーディングのための方法。
【請求項4】
前記複数の第1の頂点のうちの前記他の頂点はデコードされた頂点であり、
前記複数の第1の頂点のうちの前記頂点は補間された頂点であり、
前記ポリゴンは、前記メッシュの前記第1の層の境界を定義する、
請求項3に記載のビデオコーディングのための方法。
【請求項5】
前記メッシュの前記第2の層は、前記メッシュの前記第2の層の前記複数の第2の頂点を前記メッシュの前記第1の層の複数の第1の頂点のうちの前記他の頂点と相互接続する第2の直線によって各々定義された複数の第2のポリゴンを含む、
請求項3に記載のビデオコーディングのための方法。
【請求項6】
前記複数の第2の頂点のうちの少なくとも1つは、前記ポリゴンの境界内にある、
請求項5に記載のビデオコーディングのための方法。
【請求項7】
前記複数の第2の頂点の各々は、前記ポリゴンの前記境界内にある、
請求項6に記載のビデオコーディングのための方法。
【請求項8】
前記第2のポリゴンは、各々完全に前記ポリゴンの前記境界内にある、
請求項5に記載のビデオコーディングのための方法。
【請求項9】
前記複数の第2の頂点のうちの少なくとも1つは、前記ポリゴンの境界外にある、
請求項5に記載のビデオコーディングのための方法。
【請求項10】
前記第2のポリゴンのうちの1つの少なくとも一部は、前記ポリゴンの前記境界外にある、
請求項9に記載のビデオコーディングのための方法。
【請求項11】
ビデオコーディングのための装置であって、前記装置は、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードにより命令されるように動作するように構成された少なくとも1つのプロセッサであって、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得させるように構成された取得コードと、
前記少なくとも1つのプロセッサに、前記ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を導出させるように構成された導出コードと、
前記少なくとも1つのプロセッサに、前記第1の層の前記複数の頂点のうちの頂点から前記メッシュの第2の層の複数のうちの第2の頂点のそれぞれへの変位ベクトルを決定させるように構成された決定コードであって、前記複数の第2の頂点の総数は前記複数の第1の頂点の総数よりも大きい、決定コードと、
前記少なくとも1つのプロセッサに、前記変位ベクトルに基づいて前記ボリュームデータをシグナリングさせるように構成されたシグナリングコードと
を含む、少なくとも1つのプロセッサと
を含む、ビデオコーディングのための装置。
【請求項12】
前記決定コードは、前記少なくとも1つのプロセッサに、前記メッシュの前記第2の層の前記複数の第2の頂点からの、および前記メッシュの前記第2の層の複数の他の頂点からの第2の変位ベクトルを決定させるようにさらに構成されており、
前記シグナリングコードは、前記少なくとも1つのプロセッサに、前記第2の変位ベクトルに基づいて前記ボリュームデータをさらにシグナリングさせるようにさらに構成されている、
請求項11に記載のビデオコーディングのための装置。
【請求項13】
前記メッシュの前記第1の層は、前記複数の第1の頂点のうちの他の頂点の各々を相互接続する直線によって定義されたポリゴンを含み、
前記複数の第1の頂点のうちの前記頂点は、前記複数の第1の頂点のうちの前記他の頂点の各々を相互接続する前記直線のそれぞれの上に配置されている、
請求項12に記載のビデオコーディングのための装置。
【請求項14】
前記複数の第1の頂点のうちの前記他の頂点はデコードされた頂点であり、
前記複数の第1の頂点のうちの前記頂点は補間された頂点であり、
前記ポリゴンは、前記メッシュの前記第1の層の境界を定義する、
請求項13に記載のビデオコーディングのための装置。
【請求項15】
前記メッシュの前記第2の層は、前記メッシュの前記第2の層の前記複数の第2の頂点を前記メッシュの前記第1の層の複数の第1の頂点のうちの前記他の頂点と相互接続する第2の直線によって各々定義された複数の第2のポリゴンを含む、
請求項13に記載のビデオコーディングのための装置。
【請求項16】
前記複数の第2の頂点のうちの少なくとも1つは、前記ポリゴンの境界内にある、
請求項15に記載のビデオコーディングのための装置。
【請求項17】
前記複数の第2の頂点の各々は、前記ポリゴンの前記境界内にある、
請求項16に記載のビデオコーディングのための装置。
【請求項18】
前記第2のポリゴンは、各々完全に前記ポリゴンの前記境界内にある、
請求項15に記載のビデオコーディングのための装置。
【請求項19】
前記複数の第2の頂点のうちの少なくとも1つは、前記ポリゴンの境界外にある、
請求項15に記載のビデオコーディングのための装置。
【請求項20】
コンピュータに、
少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得させ、
前記ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を導出させ、
前記第1の層の前記複数の頂点のうちの頂点から前記メッシュの第2の層の複数の第2の頂点のそれぞれへの変位ベクトルを決定させ、前記複数の第2の頂点の総数は前記複数の第1の頂点の総数よりも大きく、
前記変位ベクトルに基づいて前記ボリュームデータをシグナリングさせる、
プログラムを記憶している、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年6月17日に出願された米国仮特許出願第63/353,312号および2023年5月4日に出願された米国特許出願第18/312,265号の優先権を主張し、これらは、その全体が、参照により本出願に明示的に組み込まれる。
【0002】
本開示は、動的メッシュ圧縮のための導出されたメッシュ三角分割に基づくメッシュ頂点予測を含む高度なビデオコーディング技術のセットを対象とする。
【背景技術】
【0003】
3Dキャプチャ、モデリング、およびレンダリングの前進は、いくつかのプラットフォームおよびデバイスにわたって3Dコンテンツのユビキタスな存在を促進している。今日では、ある大陸で赤ちゃんの最初の一歩を撮影し、他の大陸で赤ちゃんの祖父母がその子供を見て(かつもしかするとその子供とやり取りし)、その子供との完全没入型の体験を楽しめるようにすることが可能である。それでもなお、そのような臨場感を達成するために、モデルはこれまで以上に高度化されてきており、かなりの量のデータがこれらのモデルの作成および消費にリンクされる。
【0004】
したがって、そのような問題に対する技術的解決策が望まれている。
【発明の概要】
【課題を解決するための手段】
【0005】
コンピュータプログラムコードを記憶するように構成されたメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって命令されるように動作するように構成された1つまたは複数のプロセッサとを含む方法および装置が含まれる。コンピュータプログラムは、少なくとも1つのプロセッサに、少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得させるように構成された取得コードと、少なくとも1つのプロセッサに、ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を取得させるように構成された取得コードと、少なくとも1つのプロセッサに、第1の層の複数の頂点のうちの頂点からメッシュの第2の層の複数の第2の頂点のそれぞれへの変位ベクトルを取得させるように構成された決定コードであって、複数の第2の頂点の総数が複数の第1の頂点の総数よりも大きい、決定コードと、少なくとも1つのプロセッサに、変位ベクトルに基づいてボリュームデータをシグナリングさせるように構成されたシグナリングコードとを、プロセッサに実施させるように構成されている。
【0006】
例示的な実施形態によれば、決定コードは、少なくとも1つのプロセッサに、メッシュの第2の層の複数の第2の頂点からの、およびメッシュの第2の層の複数の他の頂点からの第2の変位ベクトルを決定させるようにさらに構成されており、シグナリングコードは、少なくとも1つのプロセッサに、第2の変位ベクトルに基づいてボリュームデータをさらにシグナリングさせるようにさらに構成されている。
【0007】
例示的な実施形態によれば、メッシュの第1の層は、複数の第1の頂点のうちの他の頂点の各々を相互接続する直線によって定義されたポリゴンを含み、複数の第1の頂点のうちの頂点は、複数の第1の頂点のうちの他の頂点の各々を相互接続する直線のそれぞれの上に配置されている。
【0008】
例示的な実施形態によれば、複数の第1の頂点のうちの他の頂点はデコードされた頂点であり、複数の第1の頂点のうちの頂点は補間された頂点であり、ポリゴンは、メッシュの第1の層の境界を定義する。
【0009】
例示的な実施形態によれば、メッシュの第2の層は、メッシュの第2の層の複数の第2の頂点をメッシュの第1の層の複数の第1の頂点のうちの他の頂点と相互接続する第2の直線によって各々定義された複数の第2のポリゴンを含む。
【0010】
例示的な実施形態によれば、複数の第2の頂点の少なくとも1つは、ポリゴンの境界内にある。
【0011】
例示的な実施形態によれば、複数の第2の頂点の各々は、ポリゴンの境界内にある。
【0012】
例示的な実施形態によれば、第2のポリゴンは、各々完全にポリゴンの境界内にある。
【0013】
例示的な実施形態によれば、複数の第2の頂点のうちの少なくとも1つは、ポリゴンの境界外にある。
【0014】
例示的な実施形態によれば、第2のポリゴンのうちの1つの少なくとも一部は、ポリゴンの境界外にある。
【0015】
開示の主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0016】
【
図20】実施形態による簡略フローチャートである。
【
図21】実施形態による簡略フローチャートである。
【
図22】実施形態による簡略フローチャートである。
【発明を実施するための形態】
【0017】
以下で考察される提案の特徴は、別々に使用されても、または任意の順序で組み合わされてもよい。さらに、実施形態は、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0018】
図1は、本開示の一実施形態による通信システム100の簡略ブロック図を例示している。通信システム100は、ネットワーク105を介して相互接続された少なくとも2つの端末102、103を含みうる。データの単方向伝送の場合、第1の端末103は、ネットワーク105を介して他方の端末102に伝送するためにローカル位置でビデオデータをコーディングしうる。第2の端末102は、ネットワーク105から他方の端末のコーディングされたビデオデータを受信し、コーディングされたデータをデコードし、復元されたビデオデータを表示しうる。単方向データ伝送は、メディアサービングアプリケーションなどで一般的でありうる。
【0019】
図1は、例えばビデオ会議中に発生しうるコーディングされたビデオの双方向伝送をサポートするために提供される端末101、104の第2のペアを例示している。データの双方向伝送の場合、各端末101、104は、ネットワーク105を介して他方の端末に送信するためにローカル位置で取り込まれたビデオデータをコーディングしうる。各端末101、104はまた、他方の端末によって送信されたコーディングされたビデオデータを受信し、コーディングされたデータをデコードし、復元されたビデオデータをローカルの表示デバイスで表示しうる。
【0020】
図1では、端末101、102、103、104は、サーバ、パーソナルコンピュータおよびスマートフォンとして例示されうるが、本開示の原理はそのように限定されるものではない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器にも適用される。ネットワーク105は、例えば、有線および/または無線通信ネットワークを含む、端末101、102、103、104の間で、コーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク105は、回線交換チャネルおよび/またはパケット交換チャネルにおいてデータを交換しうる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本考察の目的では、ネットワーク105のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0021】
図2は、開示の主題の用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を例示している。本開示の主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティック、などを含むデジタルメディアへの圧縮ビデオの記憶、などを含む、他のビデオ対応用途に等しく適用可能とすることができる。
【0022】
ストリーミングシステムは、例えば、圧縮されていないビデオサンプルストリーム213を作成する、例えばデジタルカメラなどのビデオソース201を含むことができるキャプチャサブシステム203を含みうる。そのサンプルストリーム213は、エンコードされたビデオビットストリームと比較されたときに高いデータボリュームとして強調されてもよく、例えば上述されたようなカメラであってもよい、ビデオソース201に結合されたエンコーダ202によって処理されることができる。エンコーダ202は、以下でより詳細に説明されるように、開示の主題の態様を可能にするか、または実施するために、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができる。エンコードされたビデオビットストリーム204は、サンプルストリームと比較されたときにより低いデータボリュームとして強調されてもよく、将来の使用のためにストリーミングサーバ205に記憶されることができる。1つまたは複数のストリーミングクライアント212、207は、ストリーミングサーバ205にアクセスして、エンコードされたビデオビットストリーム204のコピー208、206を取り出すことができる。クライアント212は、入力されるエンコードされたビデオビットストリームのコピー208をデコードし、ディスプレイ209または他のレンダリングデバイス(図示せず)上にレンダリングされることができる出力されるビデオサンプルストリーム210を作成するビデオデコーダ211を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム204、206、208は、特定のビデオコーディング/圧縮規格に従ってエンコードされることができる。これらの規格の例は、上述されており、本明細書でさらに説明される。
【0023】
図3は、本発明の一実施形態によるビデオデコーダ300の機能ブロック図でありうる。
【0024】
受信器302は、デコーダ300によってデコードされるべき1つまたは複数のコーデックビデオシーケンスを受信してもよく、同じまたは他の実施形態では、一度に1つのコーディングされたビデオシーケンスであり、コーディングされた各ビデオシーケンスのデコードは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスはチャネル301から受信されてもよく、チャネルは、エンコードされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでありうる。受信器302は、エンコードされたビデオデータを、それぞれの使用エンティティ(図示せず)に転送されうる他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームと共に受信しうる。受信器302は、コーディングされたビデオシーケンスを他のデータから分離しうる。ネットワークジッタに対抗するために、バッファメモリ303が、受信器302とエントロピーデコーダ/パーサ304(以降、「パーサ」)との間に結合されてもよい。受信器302が十分な帯域幅および可制御性の記憶/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信している場合、バッファ303は必要とされない場合もあり、または小さくすることもできる。インターネットなどのベストエフォートパケットネットワーク上の使用では、バッファ303は必要とされる場合があり、比較的大きくすることができ、有利には適応サイズとすることができる。
【0025】
ビデオデコーダ300は、エントロピーコーディングされたビデオシーケンスからシンボル313を再構成するためのパーサ304を含みうる。それらのシンボルのカテゴリーは、デコーダ300の動作を管理するために使用される情報、および、潜在的に、デコーダの一体部分ではないがデコーダに結合されることができるディスプレイ312などのレンダリングデバイスを制御するための情報を含む。(1つまたは複数の)レンダリングデバイスのための制御情報は、補足エンハンスメント情報(Supplementary Enhancement Information(SEIメッセージ))またはビデオユーザビリティ情報(Video Usability Information(VUI))パラメータセットフラグメント(図示せず)の形式であってもよい。パーサ304は、受信されたコーディングされたビデオシーケンスをパース/エントロピーデコードしうる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従ったものとすることができ、可変長コーディング、ハフマンコーディング、文脈依存性ありまたはなしの算術コーディングなどを含む、当業者に周知の原理に従うことができる。パーサ304は、コーディングされたビデオシーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出しうる。サブグループは、Groups of Pictures(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピーデコーダ/パーサはまた、コーディングされたビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトルなどといった情報も抽出しうる。
【0026】
パーサ304は、シンボル313を作成するために、バッファ303から受信されたビデオシーケンスに対してエントロピーデコード/パース動作を行いうる。パーサ304は、エンコードされたデータを受信し、特定のシンボル313を選択的にデコードしうる。さらに、パーサ304は、特定のシンボル313が、動き補償予測ユニット306、スケーラ/逆変換ユニット305、イントラ予測ユニット307、またはループフィルタ311に提供されるべきかどうかを決定しうる。
【0027】
シンボル313の再構成は、コーディングされたビデオピクチャまたはその部分(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)のタイプ、ならびに他の要因に応じて、複数の異なるユニットを関与させることができる。どのユニットがどのように関与しているかは、パーサ304によって、コーディングされたビデオシーケンスからパースされたサブグループ制御情報によって制御されることができる。パーサ304と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために図示されていない。
【0028】
既に言及された機能ブロック以外に、デコーダ300は、後述されるようにいくつかの機能ユニットに概念的に細分されることができる。商業的制約の下で動作する実際の実施態様では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示の主題を説明する目的には、以下の機能ユニットへの概念的な細分が適切である。
【0029】
第1のユニットは、スケーラ/逆変換ユニット305である。スケーラ/逆変換ユニット305は、量子化された変換係数、および使用すべき変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報をパーサ304から(1つまたは複数の)シンボル313として受信する。スケーラ/逆変換ユニット305は、アグリゲータ310に入力されることができるサンプル値を含むブロックを出力することができる。
【0030】
場合によっては、スケーラ/逆変換305の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関係することもできる。そのような予測情報は、イントラピクチャ予測ユニット307によって提供されることができる。場合によっては、イントラピクチャ予測ユニット307は、現在の(部分的に再構成された)ピクチャ309からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ310は、場合によっては、サンプルごとに、イントラ予測ユニット307が生成した予測情報を、スケーラ/逆変換ユニット305によって提供される出力サンプル情報に追加する。
【0031】
他の場合には、スケーラ/逆変換ユニット305の出力サンプルは、インターコーディングされ、潜在的に動き補償されたブロックに関係することができる。そのような場合、動き補償予測ユニット306は、参照ピクチャメモリ308にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルをブロックに関係するシンボル313に従って動き補償した後、これらのサンプルは、出力サンプル情報を生成するためにアグリゲータ310によってスケーラ/逆変換ユニットの出力に追加されることができる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリ形式内のアドレスは、動きベクトルによって制御され、例えば、X、Y、および参照ピクチャ成分を有することができるシンボル313の形式で動き補償ユニットに利用可能とすることができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用中であるときに参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
【0032】
アグリゲータ310の出力サンプルは、ループフィルタユニット311における様々なループフィルタリング技術を適用されることができる。ビデオ圧縮技術は、コーディングされたビデオビットストリームに含まれるパラメータによって制御され、パーサ304からのシンボル313としてループフィルタユニット311に利用可能とされるインループフィルタ技術を含むことができるが、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(デコード順で)前の部分のデコード中に取得されたメタ情報に応答することもでき、以前に再構成され、ループフィルタリングされたサンプル値に応答することもできる。
【0033】
ループフィルタユニット311の出力は、レンダリングデバイス312に出力されることができると共に、将来のインターピクチャ予測で使用するために参照ピクチャメモリ557に記憶されることもできるサンプルストリームとすることができる。
【0034】
特定のコーディングされたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。コーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ304によって)参照ピクチャとして識別されると、現在の参照ピクチャ309は参照ピクチャバッファ308の一部になることができ、後続のコーディングされたピクチャの再構成を開始する前に、新しい現在のピクチャメモリが再割振りされることができる。
【0035】
ビデオデコーダ300は、ITU-T Rec.H.265などの規格に文書化されている所定のビデオ圧縮技術に従ってデコード動作を行いうる。コーディングされたビデオシーケンスは、ビデオ圧縮技術文書または規格において、具体的にはその中のプロファイル文書において指定されているように、ビデオ圧縮技術または規格の構文に忠実であるという意味において、使用されているビデオ圧縮技術または規格によって指定された構文に準拠しうる。コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることもまた、コンプライアンスのために必要でありうる。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定された限界は、場合によっては、仮想参照デコーダ(Hypothetical Reference Decoder(HRD))仕様、およびコーディングされたビデオシーケンスでシグナリングされるHRDバッファ管理のためのメタデータによってさらに制限されうる。
【0036】
一実施形態では、受信器302は、エンコードされたビデオと共に追加の(冗長な)データを受信しうる。追加のデータは、(1つまたは複数の)コーディングされたビデオシーケンスの一部として含まれうる。追加のデータは、ビデオデコーダ300によって、データを適切にデコードするために、かつ/または元のビデオデータをより正確に再構成するために使用されうる。追加のデータは、例えば、時間層、空間層、または信号対雑音比(SNR)エンハンスメント層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式とすることができる。
【0037】
図4は、本開示の一実施形態によるビデオエンコーダ400の機能ブロック図でありうる。
【0038】
エンコーダ400は、エンコーダ400によってコーディングされるべき(1つまたは複数の)ビデオ画像を取り込みうるビデオソース401(エンコーダの一部ではない)からビデオサンプルを受信しうる。
【0039】
ビデオソース401は、エンコーダ(303)によってコーディングされるべきソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)および適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとすることができるデジタルビデオサンプルストリームの形式で提供しうる。メディアサービングシステムでは、ビデオソース401は、以前に準備されたビデオを記憶している記憶デバイスでありうる。ビデオ会議システムでは、ビデオソース401は、ローカル画像情報をビデオシーケンスとして取り込むカメラでありうる。ビデオデータは、順番に見られたときに動きを伝える複数の個別のピクチャとして提供されうる。ピクチャ自体は、ピクセルの空間配列として編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0040】
一実施形態によれば、エンコーダ400は、リアルタイムで、または用途によって必要とされる任意の他の時間制約下で、ソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス410にコーディングおよび圧縮しうる。適切なコーディング速度を強いることが、コントローラ402の1つの機能である。コントローラは、後述されるように他の機能ユニットを制御し、これらのユニットに機能的に結合される。結合は明確にするために図示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、Groups of Pictures(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ402の他の機能は特定のシステム設計のために最適化されたビデオエンコーダ400に関係しうるので、当業者はそれらを容易に識別することができる。
【0041】
一部のビデオエンコーダは、当業者が「コーディングループ」として容易に認識するもので動作する。過度に簡略化された説明として、コーディングループは、エンコーダ400(以降「ソースコーダ」)のエンコード部分(コーディングされるべき入力ピクチャおよび(1つまたは複数の)参照ピクチャに基づいてシンボルを作成する役割を果たす)と、シンボルを再構成して、(開示の主題で考慮されているビデオ圧縮技術ではシンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が可逆であるため)(リモート)デコーダも作成することになるはずのサンプルデータを作成するエンコーダ400に組み込まれた(ローカル)デコーダ406とからなることができる。再構成されたサンプルストリームは、参照ピクチャメモリ405に入力される。シンボルストリームのデコードは、デコーダの場所(ローカルかリモートか)とは無関係にビットイグザクトな結果につながるため、参照ピクチャバッファのコンテンツもまた、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、デコード中に予測を使用するときにデコーダが「見る」ことになるのとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネル誤りが原因で同期性が維持されることができない場合に結果として生じるドリフト)のこの基本原理は、当業者には周知である。
【0042】
「ローカル」デコーダ406の動作は、「リモート」デコーダ300の動作と同じとすることができ、これは、
図3に関連して上記で詳細に既に説明されている。しかしながら、
図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ408およびパーサ304によるコーディングされたビデオシーケンスへのシンボルのエンコード/デコードは可逆的とすることができるため、チャネル301、受信器302、バッファ303、およびパーサ304を含むデコーダ300のエントロピーデコード部分は、ローカルデコーダ406で完全には実施されない場合がある。
【0043】
この時点で言えることは、デコーダ内に存在するパース/エントロピーデコードを除く任意のデコーダ技術もまた必然的に、対応するエンコーダにおいて、実質的に同一の機能形態で存在する必要があるということである。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略されることができる。特定のエリアにおいてのみ、より詳細な説明が必要であり、以下に提供される。
【0044】
ソースコーダ403は、その動作の一部として、動き補償予測コーディングを行ってもよく、これは、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前にコーディングされたフレームを参照して入力フレームを予測的にコーディングする。このようにして、コーディングエンジン407は、入力フレームのピクセルブロックと、入力フレームへの(1つまたは複数の)予測参照として選択されうる(1つまたは複数の)参照フレームのピクセルブロックとの差をコーディングする。
【0045】
ローカルビデオデコーダ406は、ソースコーダ403によって作成されたシンボルに基づいて、参照フレームとして指定されうるフレームのコーディングされたビデオデータをデコードしうる。コーディングエンジン407の動作は、有利には、不可逆プロセスでありうる。コーディングされたビデオデータがビデオデコーダ(
図4には図示せず)でデコードされうる場合、再構成されたビデオシーケンスは、通常、多少の誤差を伴うソースビデオシーケンスの複製でありうる。ローカルビデオデコーダ406は、参照フレームに対してビデオデコーダによって行われうるデコードプロセスを再現し、再構成された参照フレームを、例えばキャッシュでありうる参照ピクチャメモリ405に記憶させうる。このようにして、エンコーダ400は、(伝送誤りのない)遠端ビデオデコーダによって取得されることになる再構成された参照フレームとして共通のコンテンツを有する再構成された参照フレームのコピーをローカルに記憶しうる。
【0046】
予測器404は、コーディングエンジン407のための予測探索を行いうる。すなわち、コーディングされるべき新しいフレームに対して、予測器404は、(候補参照ピクセルブロックとしての)サンプルデータ、または新しいピクチャの適切な予測参照として機能しうる、参照ピクチャ動きベクトル、ブロック形状などといった特定のメタデータを求めて参照ピクチャメモリ405を探索しうる。予測器404は、適切な予測参照を見つけるために、ピクセルブロックごとにサンプルブロックに対して動作しうる。場合によっては、予測器404によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ405に記憶された複数の参照ピクチャから引き出された予測参照を有しうる。
【0047】
コントローラ402は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定などを含む、例えばビデオコーダでありうるソースコーダ403のコーディング動作を管理しうる。
【0048】
すべての前述の機能ユニットの出力は、エントロピーコーダ408でエントロピーコーディングを施されうる。エントロピーコーダは、様々な機能ユニットによって生成されたシンボルを、例えば、ハフマンコーディング、可変長コーディング、算術コーディングなどの、当業者に公知の技術に従ってシンボルを可逆圧縮することによってコーディングされたビデオシーケンスに変換する。
【0049】
送信器409は、エントロピーコーダ408によって作成された(1つまたは複数の)コーディングされたビデオシーケンスを、通信チャネル411を介した伝送に備えるためにバッファに入れてもよく、通信チャネル411は、エンコードされたビデオデータを記憶することになる記憶デバイスへのハードウェア/ソフトウェアリンクでありうる。送信器409は、ソースコーダ403からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージしうる。
【0050】
コントローラ402は、エンコーダ400の動作を管理しうる。コーディング中に、コントローラ402は、コーディングされた各ピクチャに特定のコーディングされたピクチャタイプを割り当ててもよく、これは、それぞれのピクチャに適用されうるコーディング技術に影響を及ぼしうる。例えば、ピクチャは、多くの場合、以下のフレームタイプのうちの1つとして割り当てられうる。
【0051】
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のフレームを予測のソースとして使用せずにコーディングおよびデコードされうるピクチャでありうる。いくつかのビデオコーデックは、例えば独立したデコーダリフレッシュピクチャを含む、様々なタイプのイントラピクチャを可能にする。当業者は、Iピクチャのこれらの変形例およびそれらそれぞれの用途および特徴を認識している。
【0052】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコードされうるピクチャでありうる。
【0053】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコードされうるものでありうる。同様に、多重予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャおよび関連付けられたメタデータを使用することができる。
【0054】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロックごとにコーディングされうる。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割当てによって決定されるように他の(既にコーディングされた)ブロックを参照して予測的にコーディングされうる。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、または同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、空間予測を介して、または以前にコーディングされた1つの参照ピクチャを参照する時間予測を介して、非予測的にコーディングされうる。Bピクチャのピクセルブロックは、空間予測を介して、または以前にコーディングされた1つもしくは2つの参照ピクチャを参照する時間予測を介して、非予測的にコーディングされうる。
【0055】
エンコーダ400は、例えばビデオコーダであってもよく、ITU-T Rec.H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を行いうる。その動作において、エンコーダ400は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測コーディング動作を含む様々な圧縮動作を行いうる。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格によって指定された構文に準拠しうる。
【0056】
一実施形態では、送信器409は、エンコードされたビデオと共に追加のデータを送信しうる。ソースコーダ403は、そのようなデータを、コーディングされたビデオシーケンスの一部として含みうる。追加のデータは、時間層/空間層/SNRエンハンスメント層、冗長ピクチャや冗長スライスなどの他の形式の冗長データ、補足エンハンスメント情報(SEI)メッセージ、視覚ユーザビリティ情報(VUI)パラメータセットフラグメントなどを含みうる。
【0057】
図5は、HEVCおよびJEMで使用されるイントラ予測モードを例示している。自然なビデオに提示される任意のエッジ方向を取り込むために、方向イントラモードの数は、HEVCで使用される33から65に拡張される。HEVCに加えてJEMにおける追加の方向モードが、
図1(b)において点線矢印として図示されており、planarモードおよびDCモードは同じままである。これらのより高密度の方向イントラ予測モードは、すべてのブロックサイズに、およびルーマとクロマ両方のイントラ予測に適用される。
図5に示されるように、点線矢印によって識別される方向イントラ予測モードは、奇数イントラ予測モードインデックスと関連付けられており、奇数イントラ予測モードと呼ばれる。実線矢印によって識別される方向イントラ予測モードは、偶数イントラ予測モードインデックスと関連付けられており、偶数イントラ予測モードと呼ばれる。本明細書では、
図5の実線矢印または点線矢印で指示される方向イントラ予測モードは角度モードとも呼ばれる。
【0058】
JEMでは、合計67個のイントラ予測モードがルーマイントラ予測に使用される。イントラモードをコーディングするために、サイズ6の最確モード(MPM)リストが、近傍ブロックのイントラモードに基づいて構築される。イントラモードがMPMリストからのものでない場合、イントラモードが選択されたモードに属するかどうかを指示するフラグがシグナリングされる。JEM-3.0では、16個の選択されたモードがあり、これらは4つ目の角度モードごとに一様に選択される。JVET-D0114およびJVET-G0060では、一様に選択されたモードを置き換えるために16個の二次MPMが導出される。
【0059】
図6は、イントラ方向モードのために利用されるN個の参照階層を例示している。ブロックユニット611、セグメントA601、セグメントB602、セグメントC603、セグメントD604、セグメントE605、セグメントF606、第1の参照階層610、第2の参照階層609、第3の参照階層608および第4の参照階層607が存在する。
【0060】
HEVCおよびJEMの両方、ならびにH.264/AVCなどの他のいくつかの規格では、現在のブロックを予測するために使用される参照サンプルは、最も近い参照ライン(行または列)に制限される。複数参照ラインのイントラ予測の方法では、候補参照ライン(行または列)の数は、イントラ方向モードに対して1(すなわち、最も近い)からNに増加され、Nは1以上の整数である。
図2は、複数ラインのイントラ方向予測方法の概念を示すために4×4予測ユニット(PU)を例にとっている。イントラ方向モードは、予測子(predictor)を生成するためにN個の参照階層のうちの1つを任意に選択することができる。言い換えれば、予測子p(x,y)は、参照サンプルS1、S2、…、SNのうちの1つから生成される。どの参照階層がイントラ方向モードのために選択されるかを指示するためにフラグがシグナリングされる。Nが1として設定される場合、イントラ方向予測方法は、JEM2.0における従来の方法と同じである。
図6では、参照ライン610、609、608、607は、左上参照サンプルと共に6つのセグメント601、602、603、604、605、606から構成されている。本明細書では、参照階層は参照ラインとも呼ばれる。現在のブロックユニット内の左上ピクセルの座標は(0,0)であり、第1の参照ラインの左上ピクセルは(-1,-1)である。
【0061】
JEMでは、ルーマ成分について、イントラ予測サンプル生成に使用される近傍サンプルは、生成プロセスの前にフィルタリングされる。フィルタリングは、所与のイントラ予測モードおよび変換ブロックサイズによって制御される。イントラ予測モードがDCであるか、または変換ブロックサイズが4×4に等しい場合、近傍サンプルはフィルタリングされない。所与のイントラ予測モードと垂直モード(または水平モード)との間の距離が所定の閾値よりも大きい場合、フィルタリングプロセスは有効にされる。近傍サンプルのフィルタリングには、[1,2,1]フィルタおよびバイリニアフィルタが使用される。
【0062】
位置依存イントラ予測組合せ(PDPC)法は、フィルタリングされていない境界参照サンプルと、フィルタリングされた境界参照サンプルを有するHEVCスタイルのイントラ予測との組合せを呼び出すイントラ予測方法である。(x,y)に位置する各予測サンプルpred[x][y]は、以下のように計算される。
pred[x][y]=(wL*R-1,y+wT*Rx,-1+wTL*R-1,-1+(64-wL-wT-wTL)*pred[x][y]+32)≫6 (式1)
式中、Rx,-1、R-1,yは、それぞれ現在のサンプル(x,y)の上および左に位置するフィルタリングされていない参照サンプルを表し、R-1,-1は、現在のブロックの左上隅に位置するフィルタリングされていない参照サンプルを表す。重み付けは以下のように計算される。
wT=32≫((y≪1)≫shift) (式2)
wL=32≫((x≪1)≫shift) (式3)
wTL=-(wL≫4)-(wT≫4) (式4)
shift=(log2(width)+log2(height)+2)≫2 (式5)
【0063】
図7は、1つの4×4ブロック内の(0,0)位置および(1,0)位置に対してDCモードPDPCが(wL,wT,wTL)と重み付けする
図700を例示している。PDPCがDC、planar、水平、および垂直のイントラモードに適用される場合、HEVC DCモード境界フィルタや水平/垂直モードエッジフィルタなどの追加の境界フィルタは不要である。
図7は、右上対角モードに適用されたPDPCの参照サンプルR
x,-1、R
-1,yおよびR
-1,-1の定義を例示している。予測サンプルpred(x’,y’)は、予測ブロック内の(x’,y’)に位置する。参照サンプルR
x,-1の座標xは、x=x’+y’+1によって与えられ、参照サンプルR
-1,yの座標yも同様に、y=x’+y’+1によって与えられる。
【0064】
図8は、局所照明補償(LIC)
図800を例示しており、倍率aおよびオフセットbを使用した、照明変化の線形モデルに基づくものである。またLICは、インターモードでコーディングされたコーディングユニット(CU)ごとに適応的に有効または無効にされる。
【0065】
LICがCUに適用される場合、現在のCUの近傍サンプルおよびそれらの対応する参照サンプルを使用することによってパラメータaおよびパラメータbを導出するために最小二乗誤差法が使用される。より具体的には、
図8に例示されるように、CUのサブサンプリング(2:1サブサンプリング)された近傍サンプル、および参照ピクチャ内の(現在のCUまたはサブCUの動き情報によって識別された)対応するサンプルが使用される。ICパラメータは、予測方向ごとに別々に導出され適用される。
【0066】
CUがマージモードでコーディングされる場合、LICフラグは、マージモードにおける動き情報コピーと同様の方法で、近傍ブロックからコピーされ、そうでない場合、LICが適用されるか否かを指示するためにCUに対してLICフラグがシグナリングされる。
【0067】
図9Aは、HEVCで使用されるイントラ予測モード900を例示している。HEVCには、合計35のイントラ予測モードがあり、そのうちモード10は水平モードであり、モード26は垂直モードであり、モード2、モード18、およびモード34は対角モードである。イントラ予測モードは、3つの最確モード(MPM)および32個の残りのモードによってシグナリングされる。
【0068】
図9Bは、VVCの実施形態において、合計87個のイントラ予測モードがあり、モード18は水平モードであり、モード50は垂直モードであり、モード2、モード34およびモード66は対角モードであることを例示している。モード-1~-10およびモード67~76は、広角イントラ予測(WAIP)モードと呼ばれる。
【0069】
位置(x,y)に位置する予測サンプルpred(x,y)は、イントラ予測モード(DC、planar、角度)およびPDPC式による参照サンプルの線形組合せを使用して以下のように予測され、
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6 (式6)
式中、Rx,-1、R-1,yは、それぞれ現在のサンプル(x,y)の上および左に位置する参照サンプルを表し、R-1,-1は、現在のブロックの左上隅に位置する参照サンプルを表す。
【0070】
DCモードの場合、重みは、幅および高さの寸法を有するブロックに対して以下のように計算され、
wT=32>>((y<<1)>>nScale),wL=32>>((x<<1)>>nScale),wTL=(wL>>4)+(wT>>4) (式7)
nScale=(log2(幅)-2+log2(高さ)-2+2)>>2であり、式中、wTは、同じ水平座標を有する上の参照ラインに位置する参照サンプルの重み係数を表し、wLは、同じ垂直座標を有する左の参照ラインに位置する参照サンプルの重み係数を表し、wTLは、現在のブロックの左上の参照サンプルの重み係数を表し、nScaleは、軸に沿って重み係数がどれだけ速く減少するか(wLが左から右に減少するか、またはwTが上から下に減少する)、すなわち重み係数減少率を指定し、これは現在の設計におけるx軸(左から右へ)およびy軸(上から下へ)に沿って同じである。また、32は近傍サンプルの初期重み係数を表し、初期重み係数はまた、現在のCBにおいて左上のサンプルに割り当てられた上(左または左上)の重み付けであり、PDPCプロセスにおける近傍サンプルの重み係数は、この初期重み係数以下とすべきである。
【0071】
planarモードでは、wTL=0であり、水平モードでは、wTL=wTであり、垂直モードでは、wTL=wLである。PDPC重みは、加算およびシフトのみで計算されることができる。pred(x,y)の値は、式1を使用して単一ステップで算出されることができる。
【0072】
図10は、全方向メディアアプリケーションフォーマット(Omnidirectional Media Application Format(OMAF))で記述された360度の仮想現実(VR360)ストリーミングを可能にしうるOMAFにおける例示的なビューポート依存処理の簡略化されたブロックスタイルのワークフロー
図1000を例示している。
【0073】
取得ブロック1001において、画像データがVR360でシーンを表すことができる場合には、同じ時間インスタンスの複数の画像およびオーディオのデータなどのビデオデータAが取得される。処理ブロック1003において、同じ時間インスタンスの画像Biは、スティッチングされること、1つまたは複数の仮想現実(VR)角度または他の角度/視点に関して投影されたピクチャ上にマッピングされること、および領域ごとにパックされることのうちの1つまたは複数によって処理される。さらに、配信プロセスおよびレンダリングプロセスを支援するために、そのような処理された情報および他の情報のいずれかを指示するメタデータが作成されうる。
【0074】
データDに関して、画像エンコードブロック1005において、投影されたピクチャはデータEiにエンコードされ、メディアファイルに構成され、ビューポート非依存ストリーミングでは、ビデオエンコードブロック1004において、ビデオピクチャは、例えば、単一層ビットストリームとしてデータEvとしてエンコードされ、データBaに関して、オーディオデータはまた、オーディオエンコードブロック1002においてデータEaにエンコードされうる。
【0075】
データEa、Ev、およびEi、コーディングされたビットストリームFiおよび/またはFの全体は、(コンテンツ配信ネットワーク(CDN)/クラウド)サーバにおいて記憶されてもよく、典型的には、配信ブロック1007において、またはそれ以外において、OMAFプレーヤ1020に、完全に送信されてもよく、頭部/眼球追跡ブロック1008から、当該デバイスのビューポート仕様に関してユーザがVR画像デバイスを通して見ている可能性のある角度など、様々なメタデータ、ファイル再生、および向き/ビューポートメタデータに関して現在のビューポートに対応するデコードされたピクチャの少なくとも1つのエリアが表示ブロック1016においてユーザにレンダリングされるようにデコーダによって完全にデコードされうる。VR360の目だった特徴は、任意の特定の時間にビューポートのみが表示されてもよく、そのような特徴は、ユーザのビューポート(または推奨されるビューポートタイムドメタデータなどの任意の他の基準)に応じた選択的配信により、全方向ビデオシステムの性能を改善するために使用されうる。例えば、ビューポート依存配信は、例示的な実施形態によるタイルベースのビデオコーディングによって可能とされうる。
【0076】
上述されたエンコードブロックと同様に、例示的な実施形態によるOMAFプレーヤ1020は、データF’および/またはF’iならびにメタデータのうちの1つまたは複数のファイル/セグメントカプセル化解除に関してそのようなエンコードの1つまたは複数のファセットを同様に逆転させ、オーディオデコードブロック1010においてオーディオデータE’iを、ビデオデコードブロック1013においてビデオデータE’vを、画像デコードブロック1014において画像データE’iをデコードして、向き/ビューポートメタデータなどの様々なメタデータに従ってVR360フォーマットで、表示ブロック1016において表示データA’iを、スピーカ/ヘッドフォンブロック1012においてオーディオデータA’sを出力するために、オーディオレンダリングブロック1011におけるデータB’aのオーディオレンダリングおよび画像レンダリングブロック1015におけるデータD’の画像レンダリングに進みうる。様々なメタデータは、OMAFプレーヤ1020のユーザによってまたはユーザのために選択されうる様々なトラック、言語、品質、ビューに応じてデータデコードプロセスおよびレンダリングプロセスのうちのプロセスに影響を及ぼしてもよく、本明細書で説明される処理の順序は例示的な実施形態のために提示されており、他の例示的な実施形態による他の順序で実施されてもよいことを理解されたい。
【0077】
図11は、6自由度メディアの取込み/生成/(デ)コーディング/レンダリング/表示に関する点群データの視点位置および角度依存処理(本明細書では「V-PCC」)を伴う(コーディングされた)点群データの簡略化されたブロックスタイルのコンテンツフロープロセス
図1100を例示している。説明される特徴は、別々に使用されても、または任意の順序で組み合わされてもよく、例示されている中でも特に、エンコードおよびデコードなどの要素は、処理回路(例えば、1つまたは複数のプロセッサや1つまたは複数の集積回路)によって実施されてもよく、1つまたは複数のプロセッサは、例示的な実施形態による非一時的コンピュータ可読媒体に記憶されたプログラムを実行しうることを理解されたい。
【0078】
図1100は、V-PCCによるコーディングされた点群データのストリーミングのための例示的な実施形態を例示している。
【0079】
ボリュームデータ取得ブロック1101において、現実世界の視覚シーンまたはコンピュータ生成による視覚シーン(またはそれらの組合せ)が、カメラデバイスのセットによって取り込まれるか、またはコンピュータによってボリュームデータとして合成されてもよく、ボリュームデータは、任意のフォーマットを有していてもよく、点群への変換ブロック1102における画像処理を介して、(量子化された)点群データフォーマットに変換されうる。例えば、ボリュームデータからのデータは、後述される値のうちの1つまたは複数を、ボリュームデータおよび任意の関連付けられたデータから例示的な実施形態による所望の点群フォーマットに引き入れることによって点群の点のうちの点にエリアデータごとに変換されてもよい。例示的な実施形態によれば、ボリュームデータは、例えば、3Dデータセットの2D投影がそこから投影されうるスライスなどの2D画像の3Dデータセットであってもよい。例示的な実施形態によれば、点群データフォーマットは、1つまたは複数の様々な空間内のデータ点の表現を含み、ボリュームデータを表すために使用されてもよく、時間的冗長性に関してなどサンプリングおよびデータ圧縮に関して改善を提供してもよく、例えば、x、y、zフォーマットの点群データは、群データの複数の点の各点において、色値(例えば、RGBなど)、輝度、強度などを表し、プログレッシブデコード、ポリゴンメッシュ化、直接レンダリング、2D四分木データの八分木3D表現と共に使用されることもできる。
【0080】
画像への投影ブロック1103において、取得された点群データは、2D画像上に投影され、ビデオベースの点群コーディング(V-PCC)を用いて画像/ビデオピクチャとしてエンコードされうる。投影された点群データは、属性、ジオメトリ、占有マップ、および、例えば中でも特に、ペインタのアルゴリズム、レイキャスティングアルゴリズム、(3D)2値空間分割アルゴリズムなどを用いた点群データの再構成に使用される他のメタデータで構成されうる。
【0081】
一方、シーン生成器ブロック1109において、シーン生成器は、例えば監督の意図やユーザの好みにより、6自由度(DoF)メディアをレンダリングおよび表示するために使用されるべきいくつかのメタデータを生成しうる。そのような6DoFメデイアは、点群のコーディングされたデータ内の、または少なくともそれに応じた仮想体験に関する前/後、上/下、および左/右の移動を可能にする追加の次元に加えて、3D軸X、Y、Z上の回転変化からのシーンの360VR様の3Dビューイングを含んでもよい。シーン記述メタデータは、コーディングされた点群データおよびVR360、明視野、オーディオなどを含む他のメディアデータから構成された1つまたは複数のシーンを定義し、
図11および関連する記述に指示されるように、1つまたは複数のクラウドサーバおよび/またはファイル/セグメントカプセル化/カプセル化解除処理に提供されうる。
【0082】
上述されたビデオおよび画像エンコードと同様のビデオエンコードブロック1104および画像エンコードブロック1105(また理解されるように、オーディオエンコードも上述のように提供されうる)の後、ファイル/セグメントカプセル化ブロック1106は、コーディングされた点群データが、ファイル再生用のメディアファイル、または1つもしくは複数のビデオコンテナフォーマットなどの特定のメディアコンテナファイルフォーマットによるストリーミング用の初期設定セグメントおよびメディアセグメントのシーケンスに構成され、特に、そのような説明が例示的な実施形態を表す、後述されるDASHに関して使用されうるように処理する。ファイルコンテナはまた、シーン生成器ブロック1109からなどのシーン記述メタデータをファイルまたはセグメントに含めてもよい。
【0083】
例示的な実施形態によれば、ファイルは、そのようなファイルがユーザまたは作成者の入力に応じて要求に応じて送信されうるように、6DoFメディアの中の1つまたは複数の時間における少なくとも1つの視点位置およびその1つまたは複数の視点位置における少なくとも1つまたは複数の角度ビューを各々含むように、シーン記述メタデータに応じてカプセル化される。さらに、例示的な実施形態によれば、そのようなファイルのセグメントは、1つまたは複数の時点における単一の視点およびその視点での角度を指示する6DoFメディアの一部分などのそのようなファイルの1つまたは複数の部分を含んでもよいが、これらは単なる例示的な実施形態であり、ネットワーク、ユーザ、作成者の能力および入力などの様々な条件に応じて変更されてもよい。
【0084】
例示的な実施形態によれば、点群データは、複数の2D/3D領域に分割され、これらの領域は、ビデオエンコードブロック1104および画像エンコードブロック1105のうちの1つまたは複数などにおいて独立してコーディングされる。次いで、点群データの各々独立してコーディングされたパーティションは、ファイル/セグメントカプセル化ブロック1106においてファイルおよび/またはセグメント内のトラックとしてカプセル化されうる。例示的な実施形態によれば、各点群トラックおよび/またはメタデータトラックは、視点位置/角度依存処理のためのいくつかの有用なメタデータを含みうる。
【0085】
例示的な実施形態によれば、視点位置/角度依存処理に有用な、ファイル/セグメントカプセル化ブロックに関してカプセル化されたファイルおよび/またはセグメントに含まれるようなメタデータは、インデックスを有する2D/3Dパーティションのレイアウト情報、3Dボリュームパーティションを1つまたは複数の2Dパーティション(例えば、タイル/タイルグループ/スライス/サブピクチャのいずれか)と関連付ける(動的)マッピング情報、6DoF座標系上の各3Dパーティションの3D位置、代表的な視点位置/角度リスト、3Dボリュームパーティションに対応する選択された視点位置/角度リスト、選択された視点位置/角度リストに対応する2D/3Dパーティションのインデックス、各2D/3Dパーティションの品質(ランク)の情報、および例えば各視点位置/角度に応じた各2D/3Dパーティションのレンダリング情報、のうちの1つまたは複数を含む。V-PCCプレーヤのユーザによって、またはV-PCCプレーヤのユーザのためにコンテンツ作成者によって指図されるなど、要求されたときにそのようなメタデータを求めることは、V-PCCプレーヤが、6DoFメディアの未使用の部分を配信するのではなく、そのメディアの重視されている部分の、他の部分よりも高品質の画像を配信しうるように、そのようなメタデータに関して所望される6DoFメディアの特定の部分に関してより効率的な処理を可能にしうる。
【0086】
ファイルまたはファイルの1つまたは複数のセグメントは、ファイル/セグメントカプセル化ブロック1106から、配信メカニズムを使用して(例えば、HTTP上の動的適応ストリーミング(Dynamic Adaptive Streaming over HTTP(DASH))によって)、V-PCCプレーヤ1125、ならびにクラウドサーバが、ファイルから1つもしくは複数のトラックおよび/または1つもしくは複数の特定の2D/3Dパーティションを抽出することができ、複数のコーディングされた点群データを1つのデータにマージしうるクラウドサーバブロック1107などにおけるクラウドサーバに直接配信されうる。
【0087】
位置/視野角追跡ブロック1108などのデータに従って、現在の視点位置および(1つまたは複数の)角度がクライアントシステムにおいて6DoF座標系上で定義されている場合には、クラウドサーバが、例えばV-PCCプレーヤ1125を有するクライアントシステムからのメタデータに応じて、適切な(1つもしくは複数の)パーティションを(1つもしくは複数の)ストアファイルから抽出し、(必要に応じて)それらをマージしてもよく、抽出されたデータが、ファイルまたはセグメントとして、クライアントに配信されることができるように、視点位置/角度メタデータは、ファイル/セグメントカプセル化ブロック1106から配信されるか、またはそうではなく、クラウドサーバブロック1107において、クラウドサーバに既にあるファイルまたはセグメントから他の方法で処理されうる。
【0088】
そのようなデータに関して、ファイル/セグメントカプセル化解除ブロック1115において、ファイルデカプスレータは、ファイルまたは受信されたセグメントを処理し、コーディングされたビットストリームを抽出し、メタデータをパースし、次いで、ビデオデコードおよび画像デコードブロックにおいて、コーディングされた点群データはデコードされたにデコードされ、点群再構成ブロック1112において、点群データに再構成され、再構成された点群データは、表示ブロック1114において表示されることができ、かつ/または、シーン生成器ブロック1109によるシーン記述データに関して、シーン構成ブロック1113において1つまたは複数の様々なシーン記述に応じて最初に構成されうる。
【0089】
上記を考慮すると、そのような例示的なV-PCCフローは、複数の2D/3Dエリアについての記述された分割能力、コーディングされた2D/3Dパーティションの圧縮されたドメインアセンブリを単一の整合したコーディングされたビデオビットストリームにする能力、およびコーディングされたピクチャのコーディングされた2D/3Dを整合したコーディングされたビットストリームにするビットストリーム抽出能力のうちの1つまたは複数を含むV-PCC規格に関する利点を表し、そのようなV-PCCシステムサポートは、上述のメタデータのうちの1つまたは複数を搬送するメタデータを収容するメカニズムをサポートするためにVVCビットストリームのためのコンテナ形成を含めることによってさらに改善される。
【0090】
その点において、さらに後述される例示的な実施形態によれば、「メッシュ」という用語は、ボリュームオブジェクトの表面を記述する1つまたは複数のポリゴンの構成を指示する。各ポリゴンは、3D空間内のその頂点、および接続性情報と呼ばれる、頂点がどのように接続されているかの情報によって定義される。任意選択で、色、法線などといった頂点属性は、メッシュ頂点と関連付けられることもできる。属性はまた、メッシュを2D属性マップでパラメータ化するマッピング情報を利用することによって、メッシュの表面と関連付けられることもできる。そのようなマッピングは、メッシュ頂点と関連付けられた、UV座標またはテクスチャ座標と呼ばれるパラメトリック座標のセットによって定義されうる。2D属性マップは、テクスチャ、法線、変位などといった高解像度属性情報を記憶するために使用される。そのような情報は、例示的な実施形態によれば、テクスチャマッピングやシェーディングなどの様々な目的に使用されることもできる。
【0091】
それでもなお、動的メッシュシーケンスは、これが経時的に変化するかなりの量の情報からなりうるので、大量のデータを必要とする場合がある。したがって、そのようなコンテンツを記憶し、送信するために効率的な圧縮技術が必要とされる。メッシュ圧縮規格IC、MESHGRID、FAMCは、常時接続性および時変ジオメトリおよび頂点属性を有する動的メッシュに対処するためにMPEGによって以前に開発された。しかしながら、これらの規格は、時変属性マップおよび接続性情報を考慮に入れない。DCC(Digital Content Creation(デジタルコンテンツ生成))ツールは、通常、そのような動的メッシュを生成する。これに対応して、特にリアルタイム制約下で、ボリューム取得技術が常時接続性動的メッシュを生成することは困難である。このタイプのコンテンツは、既存の規格によってサポートされていない。本明細書の例示的な実施形態によれば、時変接続性情報および任意選択で時変属性マップを用いて動的メッシュを直接処理するための新しいメッシュ圧縮規格の態様が説明されており、この規格は、リアルタイム通信、記憶、自由視点ビデオ、ARおよびVRなどの様々なアプリケーショのための不可逆および可逆圧縮を対象とする。ランダムアクセスやスケーラブル/プログレッシブコーディングなどの機能も考慮される。
【0092】
図12は、2Dアトラスサンプリングベースの方法などのための1つの動的メッシュ圧縮の例示的なフレームワーク1200を表している。入力メッシュ1201の各フレームは、一連の動作、例えば、追跡、再メッシュ化、パラメータ化、ボクセル化によって前処理されることができる。これらの動作はエンコーダのみとすることができ、これは、これらの動作がデコードプロセスの一部ではない可能性があることを意味し、そのような可能性は、エンコーダのみには0を、他には1を指示するなどのフラグによってメタデータにおいてシグナリングされうることに留意されたい。その後、2D UVアトラス1202を有するメッシュを得ることができ、メッシュの各頂点は、2Dアトラス上に1つまたは複数の関連付けられたUV座標を有する。次いで、メッシュは、2Dアトラス上サンプリングすることによって、ジオメトリマップおよび属性マップを含む複数のマップに変換されることができる。次いで、これらの2Dマップは、HEVC、VVC、AV1、AVS3などといったビデオ/画像コーデックによってコーディングされることができる。デコーダ1203側では、デコードされた2Dマップからメッシュが再構成されることができる。再構成されたメッシュ1204に対して任意の後処理およびフィルタリングも適用されることができる。3Dメッシュ再構成を目的として他のメタデータがデコーダ側にシグナリングされてもよいことに留意されたい。境界頂点の、uvおよびxyz座標を含むチャート境界情報は、ビットストリームにおいて予測され、量子化され、エントロピーコーディングされることができることに留意されたい。量子化ステップサイズは、エンコーダ側で、品質とビットレートとの間のトレードオフのために構成されることができる。
【0093】
いくつかの実施態様では、3Dメッシュはいくつかのセグメント(またはパッチ/チャート)に分割(partition)されることができる。各セグメントは、それらのジオメトリ、属性、および接続性情報と関連付けられた接続頂点のセットから構成される。
図13のボリュームデータの例1300に例示されるように、3Dメッシュセグメントから上記の2D UVアトラス1202ブロックへなど2Dチャート上へのマッピングのUVパラメータ化プロセス1302は、1つまたは複数のメッシュセグメント1301を2D UVアトラス1304内の2Dチャート1303上にマッピングする。メッシュセグメント内の各頂点(v
n)は、2D UVアトラス内の2D UV座標を割り当てられることになる。2Dチャート内の頂点(v
n)は、それらの3D対応頂点として接続構成要素を形成することに留意されたい。各頂点のジオメトリ、属性、および接続性情報は、それらの3D対応物からも同様に継承されることができる。例えば、頂点v
4が頂点v
0、v
5、v
1、v
3に直接接続しているという情報が指示されてもよいし、同様に、その他の頂点の各々の情報が同様に支持されてもよい。さらに、そのような2Dテクスチャメッシュは、例示的な実施形態によれば、少なくとも
図16の例1600のUVパラメトリック特徴に関して示されている各三角形、例えばv
2、v
5、v
3のパッチなどによりパッチごとに、色情報などの情報をさらに指示する、2Dチャートの境界頂点の図を示す
図17の例1700も参照されたい。
【0094】
例えば、
図13の例1300の特徴に加えて、3Dメッシュセグメント1301が複数の別々の2Dチャート1401、1402にマッピングされることもできる
図14の例1400を参照されたい。この場合、3D内の頂点は、2D UVアトラス内の複数の頂点に対応することもできる。
図14に示されるように、同じ3Dメッシュセグメントは、2D UVアトラスにおいて、
図13のような単一のチャートの代わりに、複数の2Dチャートにマッピングされる。例えば、3D頂点v
1、v
4は、それぞれ2つの2D対応関係v
1、v
1’およびv
4、v
4’を各々有する。そのため、3Dメッシュの一般的な2D UVアトラスは、
図14に示されるように複数のチャートからなってもよく、各チャートは、それらの3Dジオメトリ、属性、および接続性情報と関連付けられた複数の(通常は3つ以上の)頂点を含みうる。
【0095】
図15は、境界頂点B
0、B
1、B
2、B
3、B
4、B
5、B
6、B
7を有するチャートにおける導出された三角分割を例示する例1500を示している。そのような情報が提示されると、(境界頂点およびサンプリングされた頂点を含む)頂点間の接続性を作成するために任意の三角分割法が適用されることができる。例えば、頂点ごとに、最も近い2つの頂点を見つける。または、すべての頂点について、設定回数の試行後に最小数の三角形が達成されるまで、三角形を連続的に生成する。例1500に示されるように、様々な規則的形状の反復する三角形と、一般に境界頂点に最も近く、他のいずれかの三角形と共有される場合もされない場合もあるそれ自体の独自の寸法を有する、様々な異形の三角形とが存在する。接続性情報はまた、明示的なシグナリングによって再構成されることもできる。ポリゴンが暗黙的な規則によって復元されることができない場合、エンコーダは、例示的な実施形態によれば、ビットストリームにおいて接続性情報をシグナリングすることができる。
【0096】
上述のパッチを見ると、例1500は、
図14および
図15のいずれかに示される頂点v
3、v
2、v
5から形成されたパッチなどの、1つのそのようなパッチを表しうる。
【0097】
境界頂点B
0、B
1、B
2、B
3、B
4、B
5、B
6、B
7は、2D UV空間において定義される。
図15に示されているように、塗りつぶされた頂点は、接続構成要素(パッチ/チャート)の境界エッジ上にあるため、境界頂点である。境界エッジは、そのエッジが1つの三角形にのみに現れるかどうかをチェックすることによって決定されることができる。境界頂点の以下の情報は重要であり、例示的な実施形態によればビットストリームにおいてシグナリングされる必要がある。ジオメトリ情報、例えば、現在は2D UVパラメータ形式であっても3D XYZ座標、および2D UV座標。
【0098】
3Dにおける境界頂点が2D UVアトラスにおける複数の頂点に対応する場合については、
図14に示されるように、3D XUZから2D UVへのマッピングは1対多とすることができる。したがって、マッピング関数を指示するためにUVからXYZ(またはUV2XYZと呼ばれる)インデックスをシグナリングされることができる。UV2XYZは、各2D UV頂点を3D XYZ頂点に対応させるインデックスの1D配列であってもよい。
【0099】
例示的な実施形態によれば、メッシュ信号を効率的に表すために、メッシュ頂点のサブセットが、それらの間の接続性情報と共に最初にコーディングされうる。元のメッシュでは、これらの頂点間の接続は、頂点が元のメッシュからサブサンプリングされるため存在しない場合がある。頂点間の接続性情報をシグナリングするための様々な方法があり、したがって、そのようなサブセットはベースメッシュまたはベース頂点と呼ばれる。
【0100】
しかしながら、他の頂点は、2つ以上の既にデコードされたメッシュ頂点間で補間を適用することによって予測されることができる。予測子頂点は、2つの接続された既存の頂点のエッジに沿ったそのジオメトリ位置を有し、そのため予測子のジオメトリ情報は、近傍にあるデコードされた頂点に基づいて計算されることができる。場合によっては、コーディングされるべき頂点から頂点予測子への変位ベクトルまたは予測誤差がさらにコーディングされるべきである。例えば、そのようなエッジベースの頂点予測、より具体的には、左に示されるように三角形を平行四辺形に拡張することによる補外、および右に示されるように2つの既存の頂点の加重平均による補間によるイントラ予測を使用した頂点ジオメトリ予測の例が示されている、
図18の例1800を参照されたい。ベース頂点(すなわち、
図18左の実線の三角形1801)をデコードした後、これらのベース頂点間の補間は、接続エッジに沿って行われることができる。例えば、各エッジの中点が予測子として生成されることができる。したがって、これらの補間された点のジオメトリ位置は、2つの近傍にあるデコードされた頂点の(加重)平均(
図18左の破線の点1802)である。2つの既にデコードされた頂点間に2つ以上の中点を有することも、同様の方法で行われることができる。したがって、コーディングされるべき実際の頂点は、予測子に変位ベクトルを加えることによって再構成されることができる(
図7中央)。これらの追加の頂点をデコードした後、新たにデコードされた頂点と既存のベース頂点との間の接続は依然として維持される。加えて、新たにデコードされた頂点間の接続がさらに確立されることができる。ベース頂点と共に、より多くの中間頂点予測子が、これらの新たにデコードされた頂点1803とベース頂点とを互いに接続することによって、新たなエッジ(
図7右)に沿って生成されることができる。したがって、よりより多くのデコードされるべき実際の頂点が、関連付けられた変位ベクトルと共に存在する。ここで、「変位ベクトル」は、頂点からの距離および方向を表す。
【0101】
例示的な実施形態によれば、メッシュフレーム1902のメッシュ頂点もまた、以前にコーディングされたメッシュフレーム1901のデコードされた頂点から予測されることができる。この予測メカニズムは、インター予測と呼ばれる。メッシュジオメトリインター予測の例が、インター予測を使用した頂点ジオメトリ予測を示す
図19の例1900に示されている(前のメッシュフレームの頂点が現在のフレームの頂点の予測子になる)。場合によっては、コーディングされるべき頂点から頂点予測子への変位ベクトルまたは予測誤差がさらにコーディングされるべきである。
【0102】
例示的な実施形態によれば、動的メッシュ圧縮のためにいくつかの方法が実施され、これらは、上述のエッジベースの頂点予測フレームワークの一部であり、ベースメッシュが最初にコーディングされ、次いでベースメッシュのエッジからの接続性情報に基づいて、より多くの追加の頂点が予測される。方法は、個別に適用されることもでき、または任意の形態の組合せによって適用されることもできることに留意されたい。
【0103】
例えば、
図20の予測モードの例示的なフローチャート2000のための頂点グループ化を考える。S201において、メッシュ内の頂点が取得されてもよく、S202において、予測目的で異なるグループに分割されることができる、例えば、
図15を参照されたい。一例では、分割は、前に考察されたようにS204においてパッチ/チャート分割を使用して行われる。他の例では、分割は各パッチ/チャートS205の下で行われる。S204に進むかS205に進むかの決定S203は、フラグなどによってシグナリングされてもよい。S205の場合、同じパッチ/チャートのいくつかの頂点は予測グループを形成し、同じ予測モードを共有するが、同じパッチ/チャートのいくつかの他の頂点は他の予測モードを使用することができる。S206におけるそのようなグループ化は、グループごとに関与するそれぞれの頂点の数を決定することによって、異なるレベルで割り当てられることができる。例えば、パッチ/チャート内の走査順序による64、32、または16個の頂点ごとに、例示的な実施形態に従って同じ予測モードが割り当てられ、他の頂点は異なるように割り当てられてもよい。グループごとに、予測モードはイントラ予測モードまたはインター予測モードとすることができる。これはシグナリングされるか、または割り当てられることができる。例示的なフローチャート2000によれば、メッシュフレームまたはメッシュスライスが、S207において、そのメッシュフレームまたはメッシュスライスのフラグがイントラタイプを指示するかどうかをチェックすることなどによってイントラタイプであると決定された場合には、そのメッシュフレームまたはメッシュスライス内のすべての頂点グループは、イントラ予測モードを使用するものとし、そうでない場合、S208において、イントラ予測モードまたはインター予測モードのいずれかが、その中のすべての頂点に対してグループごとに選択されうる。
【0104】
さらに、イントラ予測モードを使用するメッシュ頂点のグループの場合、その頂点は、現在のメッシュの同じサブパーティション内の以前にコーディングされた頂点を使用することによってのみ予測されることができる。サブパーティションは、時として、例示的な実施形態によれば現在のメッシュ自体である可能性があり、インター予測モードを使用するメッシュ頂点のグループの場合、その頂点は、例示的な実施形態によれば、他のメッシュフレームからの以前にコーディングされた頂点を使用することによってのみ予測されることができる。上記の各情報は、フラグなどによって決定およびシグナリングされうる。前記の予測の特徴はS210で行われてもよく、前記の予測およびシグナリングの結果はS211で発生しうる。
【0105】
例示的な実施形態によれば、例示的なフローチャート2000、および後述されるフローチャート2100における頂点グループ内の各頂点について、予測後、残差は、現在の頂点からその予測子へのシフトを指示する3D変位ベクトルになる。頂点グループの残差は、さらに圧縮される必要がある。一例では、S211における変換は、そのシグナリングと共に、エントロピーコーディングの前に、頂点グループの残差に適用されることができる。変位ベクトルのグループのコーディングを処理するために、以下の方法が実施されうる。例えば、1つの方法では、変位ベクトルのグループ、いくつかの変位ベクトル、またはその成分が0値のみを有する場合を適切にシグナリングするために。他の実施形態では、このベクトルが非ゼロ成分を有するかどうかのフラグが変位ベクトルごとにシグナリングされ、そうでない場合、この変位ベクトルのすべての成分のコーディングがスキップされることができる。さらに、他の実施形態では、このグループが非ゼロベクトルを有するかどうかのフラグが変位ベクトルのグループごとにシグナリングされ、そうでない場合、このグループのすべての変位ベクトルのコーディングがスキップされることができる。さらに、他の実施形態では、グループのこの成分が任意の非ゼロベクトルを有するかどうかのフラグが変位ベクトルのグループの成分ごとにシグナリングされ、そうでない場合、このグループのすべての変位ベクトルのこの成分のコーディングをスキップされることができる。さらに、他の実施形態では、変位ベクトルのグループまたは変位ベクトルのグループの成分が変換を必要とする場合のシグナリングが存在してもよく、そうでない場合、変換はスキップされることができ、量子化/エントロピーコーディングは、グループまたはグループ成分に直接適用されることができる。さらに、他の実施形態では、このグループが変換を経る必要があるかどうかのフラグが変位ベクトルのグループごとにシグナリングされてもよく、そうでない場合、このグループのすべての変位ベクトルの変換コーディングがスキップされることができる。さらに、他の実施形態では、グループのこの成分が変換を経る必要があるかどうかのフラグが変位ベクトルのグループの成分ごとにシグナリングされ、そうでない場合、このグループのすべての変位ベクトルのこの成分の変換コーディングがスキップされることができる。頂点予測残差の処理に関するこの段落の上述の実施形態はまた、それぞれ異なるパッチ上で組み合わされ、並列に実施されてもよい。
【0106】
図21は、S221において、メッシュフレームがデータユニット全体としてコーディングされて取得されることができ、メッシュフレームのすべての頂点または属性がそれらの間に相関を有しうることを意味する、例示的なフローチャート2100を示している。代替的に、S222における決定に応じて、メッシュフレームは、S223において、2Dビデオまたは画像のスライスまたはタイルと同様の概念で、より小さな独立したサブパーティションに分割されることもできる。コーディングされたメッシュフレームまたはコーディングされたメッシュサブパーティションは、S224において予測タイプを割り当てられることができる。可能な予測タイプは、イントラコーディングタイプおよびインターコーディングタイプを含む。イントラコーディングタイプの場合、同じフレームまたはスライスの再構成された部分からの予測のみがS225において可能とされる。一方、インター予測タイプは、S225において、イントラメッシュフレーム予測に加えて、以前にコーディングされたメッシュフレームからの予測も可能にする。さらに、インター予測タイプは、PタイプやBタイプなど、より多くのサブタイプに分類されうる。Pタイプでは、1つの予測子のみが予測目的に使用されることができ、Bタイプでは、2つの以前にコーディングされたメッシュフレームからの2つの予測子が予測子を生成するために使用されうる。2つの予測子の加重平均が、一例とすることができる。メッシュフレームが全体としてコーディングされる場合、フレームは、イントラまたはインターコーディングされたメッシュフレームとみなされることができる。インターメッシュフレームの場合、PタイプまたはBタイプが、シグナリングを介してさらに識別されうる。あるいは、メッシュフレームがフレーム内のさらなる分割を伴ってコーディングされている場合、サブパーティションの各々の予測タイプ割当てがS224において行われる。上記の情報の各々は、フラグなどによって決定およびシグナリングされてもよく、
図20のS210およびS211と同様に、前記の予測の特徴はS226で行われてもよく、前記の予測およびシグナリングの結果はS227で発生しうる。
【0107】
そのため、動的メッシュシーケンスは、経時的に変化するかなりの量の情報からなりうるので大量のデータを必要としうるが、そのようなコンテンツを記憶し、送信するために効率的な圧縮技術が必要とされ、
図20および
図21についての上述の特徴は、同じメッシュフレーム内の(イントラ予測)または以前にコーディングされたメッシュフレームからの(インター予測)いずれかの以前にデコードされた頂点を使用することによって少なくとも改善されたメッシュ頂点3D位置予測を可能にすることによるそのような改善された効率を表す。
【0108】
さらに、例示的な実施形態は、第2の層2302および第1の層2301などのその前の(1つまたは複数の)層の再構成された頂点のうちの1つまたは複数に基づいて、メッシュの第3の層2303の変位ベクトルを生成しうる。第2の層2302のインデックスがTであると仮定すると、第3の層2303T+1内の頂点の予測子は、少なくとも現在の層または第2の層2302の再構成された頂点に基づいて生成される。そのような層ベースの予測構造の一例が
図23の例2300に示されており、
図23は、再構成ベースの頂点予測、すなわち、エッジベースの補間を使用したプログレッシブ頂点予測を例示しており、予測子は予測子頂点ではなく以前にデコードされた頂点に基づいて生成される。第1の層2301は、その頂点として、その境界におけるデコードされた頂点、およびこれらのデコードされた頂点のうちのデコードされた頂点の間の線のうちの線に沿った補間された頂点を有する第1のポリゴン2340によって囲まれたメッシュでありうる。プログレッシブコーディングが第1の層2301から第2の層2302に進むにつれて、第1の層の補間された頂点のうちの補間された頂点から第2の層2302の追加の頂点への変位ベクトルによって追加のポリゴン2341が形成される場合があり、そのため、第2の層2302の頂点の総数は第1の層2301の頂点の総数よりも多くなりうる。同様に、第3の層2303に進むと、第2の層2302の追加の頂点は、第1の層2301からのデコードされた頂点と共に、コーディングにおいて、第1の層2301から第2の層2303に進む際に機能したデコードされた頂点が機能したのと同様に機能しうる、すなわち、複数の追加のポリゴンが形成されうる。注記として、
図23とは異なり、例2600は、第1の層2601から第2の層2603、次いで第3の層2603へと進む際に、追加的に形成されたポリゴンの各々が完全に、第1の層2601の範囲によって形成されたポリゴンの内部にありうることを例示している、そのようなプログレッシブコーディングを例示する
図26の例2600を参照されたい。
【0109】
そのような例2300については、現在の層の補間された頂点が予測された値であるために、次の層の頂点の予測子を生成するために使用される前に、そのような値が再構成される必要がある、
図22の例示的なフローチャート2200を参照されたい。これは、S231においてベースメッシュをコーディングし、S232において頂点予測をそのように実施し、次いでS233において現在の層のデコードされた変位ベクトルを、層2302などの頂点の予測子に追加することによって行われる。次いで、この層2303の再構成された頂点は、S234においてそのような層の追加の頂点値をチェックするなど、前の(1つまたは複数の)層のすべてのデコードされた頂点と共に、S235において次の層2303の予測子頂点を生成およびシグナリングするために使用されることができる。このプロセスはまた、以下のように要約されることもできる。P[t](Vi)は層t上の頂点Viの予測子を表すとし、R[t](Vi)は層t上の再構成された頂点Viを表すとし、D[t](Vi)は層tの頂点Viの変位ベクトルを表すとし、f(*)は、特に、2つの既存の頂点の平均とすることができる、予測子生成器を表すとする。その場合、例示的な実施形態によれば、層tごとに以下が存在する。
P[t](Vi)=f(R[s|s<t](Vj)、R[m|m<t](Vk))、式中、
VjおよびVkは前の層の再構成された頂点である
R[t](Vi)=P[t](Vi)+D[t](Vi) 式(8)
【0110】
次いで、1つのメッシュフレームのすべての頂点について、それらを層0(ベースメッシュ)、層1、層2、…などに分割する。その場合、1つの層上の頂点の再構成は、前の(1つまたは複数の)層上の頂点の再構成に依拠する。上記では、P、RおよびDの各々が、3Dメッシュ表現の文脈の下での3Dベクトルを表す。Dはデコードされた変位ベクトルであり、量子化はこのベクトルに適用されても適用されなくてもよい。
【0111】
例示的な実施形態によれば、再構成された頂点を使用した頂点予測は、特定の層にのみ適用されうる。例えば、層0および層1。他の層の場合、頂点予測は、再構成のためにそれらに変位ベクトルを追加することなく、近傍にある予測子頂点を依然として使用することができる。そのため、これらの他の層は、1つ前の層が再構成するのを待つことなく同時に処理されることができる。例示的な実施形態によれば、層ごとに、再構成ベースの頂点予測を選択するか、予測子ベースの頂点予測を選択するかがシグナリングされることができるか、または再構成ベースの頂点予測を使用しない層(およびその後続の層)がシグナリングされることができる。
【0112】
その頂点予測子が再構成された頂点によって生成される変位ベクトルについては、ウェーブレット変換などといった変換をさらに行うことなく、量子化がそれらの変位ベクトルに適用されることができる。その頂点予測子が他の予測子頂点によって生成される変位ベクトルについては、変換が必要とされる場合があり、量子化がそれらの変位ベクトルの変換係数に適用されることができる。
【0113】
そのため、動的メッシュシーケンスは経時的に変化するかなりの量の情報からなりうるので、動的メッシュシーケンスは大量のデータを必要とする場合があるので。したがって、そのようなコンテンツを記憶し、送信するために効率的な圧縮技術が必要とされる。上述された補間ベースの頂点予測方法のフレームワークでは、1つの重要な手順は変位ベクトルを圧縮することであり、これはコーディングされたビットストリームにおいて主要部分を占め、本開示の焦点であり、例えば
図22の特徴は、そのような圧縮を提供することによってそのような問題を軽減する。
【0114】
さらに、上述されたその他の例と同様に、それらの実施形態であっても、動的メッシュシーケンスは、経時的に変化するかなりの量の情報から構成されうるので、それでもなお大量のデータを必要とする場合があり、そのため、そのようなコンテンツを記憶し、送信するために効率的な圧縮技術が必要とされる。上述された2Dアトラスサンプリングベースの方法のフレームワークでは、デコーダ側でサンプリングされた頂点および境界頂点から接続性情報を推測することによって重要な利点が達成されうる。これは、デコードプロセスにおける主要部分であり、後述されるさらなる例の焦点である。
【0115】
例示的な実施形態によれば、ベースメッシュの接続性情報は、エンコーダ側とデコーダ側の両方でチャートごとのデコードされた境界頂点およびサンプリングされた頂点から推測(導出)されることができる。
【0116】
上述されたのと同様に、任意の三角分割法が、(境界頂点およびサンプリングされた頂点を含む)頂点間の接続を作成するために適用されることができる。
図15の例1500および以下でさらに説明される
図25の例2500に示される内部頂点など、内部頂点のサンプリングがないチャートの場合、接続性を作成する同様の方法が依然として適用されるが、例示的な実施形態によれば、境界頂点およびサンプリングされた頂点に対して異なる三角分割法を使用することがシグナリングされうる。
【0117】
例えば、例示的な実施形態によれば、任意のサンプリングされた位置における4つの近傍点ごとに、占有点の数が3以上であるかどうかが決定されてもよく(占有点または非占有点の例は、各円が整数ピクセルを表す占有マップ例2500を示す
図25で強調表示されている)、4点間の三角形の接続性は特定の規則によって推測されることができる。例えば、
図24の例2400に例示されるように、4点のうち3つが占有されていると決定される、図示の例(2)、(3)、(4)、(4)の場合には、それらの点は、それらの例のように三角形を形成するように直接相互接続されることができ、一方、4点がすべて占有されていると決定された場合には、それらの点は、
図24の例(1)に示されるように2つの三角形を形成するために使用される。異なる数の近傍点には異なる規則が適用されることができることに留意されたい。このプロセスは、
図25にさらに例示されるように、多くの点にわたって実施されうる。この実施形態では、再構成されたメッシュは、
図24のような、また、少なくとも
図25の内部部分における規則的な三角形メッシュのような三角形メッシュであり、これは、そのような規則性に従ってシグナリングされないと決定されなくてもよく、代わりに、個別のシグナリングによってではなく推測によって、個別にシグナリングされるべきである周囲の不規則な三角形としてコーディングされ、デコードされてもよい。
【0118】
また、複雑さおよびデータ処理をさらに低減しようとして、
図25に示されるそのような規則的な内部三角形の四角形メッシュは、
図24の例(1)のそのような四角形メッシュとして推測され、それによって、内部の規則的な三角形を推測することから、代わりに低減された数の内部の規則的な四角形メッシュを推測することとして複雑さの量さえも低減しうる。
【0119】
例示的な実施形態によれば、
図24の例(1)のように4つの近傍点がすべて占有されていると決定された場合に四角形メッシュが再構成されうる。
【0120】
上記の説明から推定すると、
図25に示されるように、例2500における再構成されたメッシュはハイブリッドタイプでありうること、すなわち、メッシュフレーム内のいくつかの領域は三角形メッシュを生成し、他の領域は四角形メッシュを生成し、前記三角形メッシュのうちのいくつかは、その中の他の三角形メッシュと比較して規則的であり、境界の三角形メッシュといったいくつかは、不規則でありうるが必ずしもそのようなメッシュのすべてが境界上にあるわけではないことが例示されている。
【0121】
例示的な実施形態によれば、そのような接続性タイプは、シーケンスヘッダやスライスヘッダなどのハイレベル構文でシグナリングされることができる。
【0122】
上述されたように、接続性情報もまた、不規則な形状の三角形メッシュについての場合のように、明示的にシグナリングすることによって再構成されることができる。すなわち、ポリゴンが暗黙的な規則によって復元されることができないと決定された場合、エンコーダはビットストリームにおいて接続性情報をシグナリングすることができる。また、例示的な実施形態によれば、そのような明示的なシグナリングのオーバーヘッドは、ポリゴンの境界に応じて低減されうる。例えば、
図25の例2500に示されるように、三角形の接続性情報は、推測されうる
図24の規則的な例2400によるような、暗黙的な規則と、少なくとも
図25においてメッシュ境界上に示されている不規則な形状のポリゴンに対する明示的なシグナリングの両方によって再構成されるようシグナリングされることになる。
【0123】
実施形態によれば、境界頂点とサンプリングされた位置との間の接続性情報のみがシグナリングされると決定され、サンプリングされた位置自体の間の接続性情報は推測される。
【0124】
また、実施形態のいずれかにおいて、接続性情報は、あるメッシュから他のメッシュへの(予測としての)推測された接続性との差のみがビットストリームにおいてシグナリングされうるように、予測によってシグナリングされうる。
【0125】
注記として、推測された(三角形ごとに時計回りまたは反時計回りに推測されるなどの)三角形の向きは、例示的な実施形態によれば、シーケンスヘッダ、スライスヘッダなどといったハイレベル構文ですべてのチャートに対してシグナリングされるか、またはエンコーダおよびデコーダによって固定(想定)されることができる。推測された三角形の向きは、チャートごとに異なるようにシグナリングされることもできる。
【0126】
さらなる注記として、任意の再構成されたメッシュは、元のメッシュとは異なる接続性を有する場合がある。例えば、元のメッシュは三角形メッシュでありうるが、再構成されたメッシュはポリゴンメッシュ(例えば、四角形メッシュ)でありうる。
【0127】
例示的な実施形態によれば、任意のベース頂点の接続性情報はシグナリングされなくてもよく、代わりに、ベース頂点間のエッジが、エンコーダ側とデコーダ側の両方で同じアルゴリズムを使用して導出されてもよい。例えば、例2500の最下部の頂点がどのようにしてすべて占有されているかを参照されたく、したがって、コーディングはそのような情報を、したがってそのような頂点がベースとして占有されていると決定し、それによって、任意のベース頂点の接続性情報がシグナリングされなくてもよく、代わりに、ベース頂点間のエッジが、エンコーダ側とデコーダ側の両方で同じアルゴリズムを使用して導出されうるように後で推測することによって利用しうる。また、例示的な実施形態によれば、追加のメッシュ頂点についての予測された頂点の補間は、ベースメッシュの導出されたエッジに基づくものであってもよい。
【0128】
例示的な実施形態によれば、ベース頂点の接続性情報がシグナリングされるべきか、導出されるべきかをシグナリングするためにフラグが使用されてもよく、そのようなフラグは、シーケンスレベル、フレームレベルなどといった、ビットストリームの異なるレベルでシグナリングされることができる。
【0129】
例示的な実施形態によれば、ベース頂点間のエッジは、エンコーダ側とデコーダ側の両方で同じアルゴリズムを使用して最初に導出される。次いで、ベースメッシュ頂点の元の接続性と比較して、導出されたエッジと実際のエッジとの差がシグナリングされる。したがって、差分をデコードした後、ベース頂点の元の接続性が復元されることができる。
【0130】
一例では、導出されたエッジについては、元のエッジと比較したときに誤っていると決定された場合、そのような情報は、(このエッジを形成する頂点のペアを指示することによって)ビットストリームにおいてシグナリングされてもよく、元のエッジについては、導出されない場合、(このエッジを形成する頂点のペアを指示することによって)ビットストリームにおいてシグナリングされうる。さらに、境界エッジ上の接続性および境界エッジを関与させる頂点補間は、内部頂点およびエッジとは別に行われうる。
【0131】
したがって、本明細書で説明される例示的な実施形態によって、上述された技術的問題は、これらの技術的解決策のうちの1つまたは複数によって有利に改善されうる。例えば、動的メッシュシーケンスは、経時的に変化するかなりの量の情報から構成されうるので、大量のデータを必要としうるので、したがって、本明細書で説明される例示的な実施形態は、そのようなコンテンツを記憶し、送信するための少なくとも効率的な圧縮技術を表す。
【0132】
上述された技術は、コンピュータ可読命令を使用する、1つもしくは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして、または特に構成された1つもしくは複数のハードウェアプロセッサによって実施されることができる。例えば、
図27は、開示の主題の特定の実施形態を実施するのに適したコンピュータシステム2600を示している。
【0133】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などを介して実行されることができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどのメカニズムを適用されうる、任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされることができる。
【0134】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行されることができる。
【0135】
コンピュータシステム2700について
図27に示される構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能性の範囲に関するいかなる制限も示唆することを意図されていない。構成要素の構成もまた、コンピュータシステム2700の例示的な実施形態に例示されている構成要素のいずれか1つまたは組合せに関する依存関係または要件を有すると解釈されるべきではない。
【0136】
コンピュータシステム2700は、特定のヒューマンインターフェース入力デバイスを含んでもよい。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1人または複数の人間ユーザによる入力に応答してもよい。ヒューマンインターフェースデバイスはまた、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、静止画像カメラから取得される写真画像)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むために使用されることもできる。
【0137】
入力ヒューマンインターフェースデバイスは、キーボード2701、マウス2702、トラックパッド2703、タッチスクリーン2710、ジョイスティック2705、マイクロフォン2706、スキャナ2708、カメラ2707のうちの1つまたは複数(各々の1つだけ図示されている)を含んでもよい。
【0138】
コンピュータシステム2700はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味を介して、1人または複数の人間ユーザの感覚を刺激しうる。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン2710やジョイスティック2705による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在することができる)、オーディオ出力デバイス(例えば、スピーカ2709、ヘッドフォン(図示せず))、視覚的出力デバイス(例えば、各々タッチスクリーン入力機能ありまたはなし、各々触覚フィードバック能力ありまたはなしのCRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン2710、その一部は、立体画像出力、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を介して二次元の視覚的出力や、三次元を超える出力を出力することが可能でありうる)、ならびにプリンタ(図示せず)を含みうる。
【0139】
コンピュータシステム2700はまた、人間がアクセス可能な記憶デバイスと、それらと関連付けられた媒体、例えば、CD/DVD2711などの媒体を有するCD/DVD ROM/RW2720を含む光学媒体、サムドライブ2722、リムーバブルハードドライブまたはソリッドステートドライブ2723、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどを含むこともできる。
【0140】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことも理解するはずである。
【0141】
コンピュータシステム2700はまた、1つまたは複数の通信ネットワーク2798へのインターフェース2799も含むことができる。ネットワーク2798は、例えば、無線、有線、光とすることができる。ネットワーク2798は、さらに、ローカル、広域、メトロポリタン、車両用および産業用、リアルタイム、遅延耐性などとすることができる。ネットワーク2798の例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、および地上波放送テレビを含むテレビ有線または無線の広域デジタルネットワーク、CANBusを含む車両用および産業用などを含む。特定のネットワーク2798は、一般に、特定の汎用データポートまたは周辺バス(2750および2751)(例えば、コンピュータシステム2700のUSBポートなどに取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、一般に、後述されるようにシステムバスへの接続によってコンピュータシステム2700のコアに組み込まれる(例えば、PCコンピュータシステムへのイーサネットインターフェースやスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワーク2798のいずれかを使用して、コンピュータシステム2700は他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送テレビ)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えばローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムへの双方向とすることができる。特定のプロトコルおよびプロトコルスタックが、上述されたように、それらのネットワークおよびネットワークインターフェースの各々で使用されることができる。
【0142】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム2700のコア2740に接続されることができる。
【0143】
コア2740は、1つまたは複数の中央処理装置(CPU)2741、グラフィックスプロセッシングユニット(GPU)2742、グラフィックアダプタ2717、フィールドプログラマブルゲートエリア(FPGA)2743の形態の専用のプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ2744などを含むことができる。これらのデバイスは、読出し専用メモリ(ROM)2745、ランダムアクセスメモリ2746、内部の非ユーザアクセス可能ハードドライブなどの内部大容量記憶、SSDなど2747と共に、システムバス2748を介して接続されうる。いくつかのコンピュータシステムでは、システムバス2748は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス2748に直接、または周辺バス2749を介して接続されることができる。周辺バス用のアーキテクチャには、PCI、USBなどを含む。
【0144】
CPU2741、GPU2742、FPGA2743、およびアクセラレータ2744は、組み合わせて前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM2745またはRAM2746に記憶されることができる。暫定的なデータもまた、RAM2746に記憶されることができるが、永続的なデータは、例えば内部大容量記憶2747に記憶されることができる。メモリデバイスのいずれかへの高速記憶および検索は、1つまたは複数のCPU2741、GPU2742、大容量記憶2747、ROM2745、RAM2746などと密接に関連付けられることができるキャッシュメモリの使用によって可能にされることができる。
【0145】
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることもできるし、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることもできる。
【0146】
限定ではなく、例として、アーキテクチャを有するコンピュータシステム2700、具体的にはコア2740は、(1つまたは複数の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つまたは複数の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述されたようなユーザアクセス可能な大容量記憶、ならびにコア内部大容量記憶2747やROM2745などの非一時的な性質のコア2740の特定の記憶と関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに記憶され、コア2740によって実行されることができる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア2740、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM2746に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書で説明された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、回路においてハードワイヤードされるか、または他の方法で具現化された論理の結果として機能を提供することができ(例えば、アクセラレータ2744)、この回路は、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書で説明された特定のプロセスまたは特定のプロセスの特定の部分を実行することができる。ソフトウェアへの言及は、必要に応じて、論理を包含することができ、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0147】
本開示はいくつかの例示的な実施形態を説明しているが、本開示の範囲内に入る変更例、置換例、および様々な代替の均等物が存在する。よって、当業者は、本明細書では明示的に図示も説明もされていないが、本開示の原理を具体化し、よってその趣旨および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0148】
100 通信システム、101 端末、102 端末、103 端末、104 端末、105 ネットワーク、201 ビデオソース、202 エンコーダ、203 キャプチャサブシステム、204 エンコードされたビデオビットストリーム、205 ストリーミングサーバ、206 エンコードされたビデオビットストリームのコピー、207 ストリーミングクライアント、208 エンコードされたビデオビットストリームのコピー、209 ディスプレイ、210 出力されるビデオサンプルストリーム、211 ビデオデコーダ、212 ストリーミングクライアント、213 圧縮されていないビデオサンプルストリーム、300 デコーダ、301 チャネル、302 受信器、303 バッファメモリ、304 パーサ、305 スケーラ/逆変換ユニット、306 動き補償予測ユニット、307 イントラ予測ユニット、308 参照ピクチャバッファ、309 現在のピクチャ、310 アグリゲータ、311 ループフィルタ、312 ディスプレイ、313 シンボル、400 エンコーダ、401 ソース、402 コントローラ、403 ソースコーダ、404 予測子、405 参照ピクチャメモリ、406 デコーダ、407 コーディングエンジン、408 エントロピーコーダ、409 送信器、410 コーディングされたビデオシーケンス、411 チャネル、601 セグメントA、602 セグメントB、603 セグメントC、604 セグメントD、605 セグメントE、606 セグメントF、607 第4の参照階層、608 第3の参照階層、609 第2の参照階層、610 第1の参照階層、611 ブロックユニット、700 図、800 局所照明補償(LIC)図、900 イントラ予測モード、1000 ワークフロー図、1001 取得ブロック、1002 オーディオエンコードブロック、1003 処理ブロック、1004 ビデオエンコードブロック、1005 画像エンコードブロック、1007 配信ブロック、1008 頭部/眼球追跡ブロック、1010 オーディオデコードブロック、1011 オーディオレンダリングブロック、1012 スピーカ/ヘッドフォンブロック、1013 ビデオデコードブロック、1014 画像デコードブロック、1015 画像レンダリングブロック、1016 表示ブロック、1020 OMAFプレーヤ、1100 コンテンツフロープロセス図、1101 ボリュームデータ取得ブロック、1102 点群ブロック、1103 画像ブロック、1104 ビデオエンコードブロック、1105 画像エンコードブロック、1106 ファイル/セグメントカプセル化ブロック、1107 クラウドサーバブロック、1108 位置/視野角追跡ブロック、1109 シーン生成器ブロック、1112 点群再構成ブロック、1113 シーン構成ブロック、1114 表示ブロック、1125 V-PCCプレーヤ、1200 1つの動的メッシュ圧縮のフレームワーク、1201 入力メッシュ、1202 2D UVアトラス、1203 デコーダ、1204 再構成されたメッシュ、1300 ボリュームデータの例、1301 3Dメッシュセグメント、1302 UVパラメータ化プロセス、1303 2Dチャート、1304 2D UVアトラス、1400 例、1401 2Dチャート、1402 2Dチャート、1500 例、1600 例、1700 例、1800 例、1801 実線の三角形、1802 破線の点、1803 新しくデコードされた頂点、1900 例、1901 以前にコーディングされたメッシュフレーム、1902 メッシュフレーム、2000 例示的なフローチャート、2100 例示的なフローチャート、2200 例示的なフローチャート、2300 例、2301 第1の層、2302 第2の層、2303 第3の層、2340 第1のポリゴン、2341 追加のポリゴン、2400 例、2500 例、2600 例、2601 第1の層、2602 第2の層、2603 第3の層、2700 コンピュータシステム、2701 キーボード、2702 マウス、2703 トラックパッド、2705 ジョイスティック、2706 マイクロフォン、2707 カメラ、2708 スキャナ、2709 スピーカ、2710 タッチスクリーン、2720 CD/DVD ROM/RW、2711 CD/DVDなどの媒体、2717 グラフィックスアダプタ、2722 サムドライブ 、2723 リムーバブルハードドライブまたはソリッドステートドライブ、2740 コア、2741 中央処理装置(CPU)、2742 グラフィックスプロセッシングユニット(GPU)、2743 フィールドプログラマブルゲートエリア(FPGA)、2744 ハードウェアアクセラレータ、2745 読出し専用メモリ(ROM)、2746 ランダムアクセスメモリ、2747 内部大容量記憶、2748 システムバス、2749 周辺バス、2750 汎用データポートまたは周辺バス、2751 汎用データポートまたは周辺バス、2798 通信ネットワーク、2799 通信ネットワークへのインターフェース
【手続補正書】
【提出日】2024-08-01
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正の内容】
【0005】
コンピュータプログラムコードを記憶するように構成されたメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって命令されるように動作するように構成された1つまたは複数のプロセッサとを含む方法および装置が含まれる。コンピュータプログラムは、少なくとも1つのプロセッサに、少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得させるように構成された取得コードと、少なくとも1つのプロセッサに、ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を導出させるように構成された導出コードと、少なくとも1つのプロセッサに、第1の層の複数の頂点のうちの頂点からメッシュの第2の層の複数の第2の頂点のそれぞれへの変位ベクトルを決定させるように構成された決定コードであって、複数の第2の頂点の総数が複数の第1の頂点の総数よりも大きい、決定コードと、少なくとも1つのプロセッサに、変位ベクトルに基づいてボリュームデータをシグナリングさせるように構成されたシグナリングコードとを、プロセッサに実施させるように構成されている。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0024
【補正方法】変更
【補正の内容】
【0024】
受信器302は、デコーダ300によってデコードされるべき1つまたは複数のコーディングされたビデオシーケンスを受信してもよく、同じまたは他の実施形態では、一度に1つのコーディングされたビデオシーケンスであり、コーディングされた各ビデオシーケンスのデコードは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスはチャネル301から受信されてもよく、チャネルは、エンコードされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでありうる。受信器302は、エンコードされたビデオデータを、それぞれの使用エンティティ(図示せず)に転送されうる他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームと共に受信しうる。受信器302は、コーディングされたビデオシーケンスを他のデータから分離しうる。ネットワークジッタに対抗するために、バッファメモリ303が、受信器302とエントロピーデコーダ/パーサ304(以降、「パーサ」)との間に結合されてもよい。受信器302が十分な帯域幅および可制御性の記憶/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信している場合、バッファ303は必要とされない場合もあり、または小さくすることもできる。インターネットなどのベストエフォートパケットネットワーク上の使用では、バッファ303は必要とされる場合があり、比較的大きくすることができ、有利には適応サイズとすることができる。
【手続補正3】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが行うビデオコーディングのための方法であって
、
少なくとも1つの三次元(3D)視覚コンテンツのボリュームデータを取得するステップと、
前記ボリュームデータの少なくとも1つのフレームから複数の第1の頂点を含むメッシュの第1の層を導出するステップと、
前記第1の層の前記複数の
第1の頂点のうちの
第1の頂点から前記メッシュの第2の層の複数の第2の頂点のそれぞれへの変位ベクトルを決定するステップであって、前記複数の第2の頂点の総数は前記複数の第1の頂点の総数よりも大きい、ステップと、
前記変位ベクトルに基づいて前記ボリュームデータをシグナリングするステップと
を含む、ビデオコーディングのための方法。
【請求項2】
前記メッシュの前記第2の層の前記複数の第2の頂点からの、および前記メッシュの前記第2の層の複数の他の頂点からの第2の変位ベクトルを決定するステップと、
前記第2の変位ベクトルに基づいて前記ボリュームデータをさらにシグナリングするステップと
をさらに含む、請求項1に記載のビデオコーディングのための方法。
【請求項3】
前記メッシュの前記第1の層は、前記複数の第1の頂点のうちの他の頂点の各々を相互接続する直線によって定義されたポリゴンを含み、
前記複数の第1の頂点のうちの前記頂点は、前記複数の第1の頂点のうちの前記他の頂点の各々を相互接続する前記直線のそれぞれの上に配置されている、
請求項2に記載のビデオコーディングのための方法。
【請求項4】
前記複数の第1の頂点のうちの前記他の頂点はデコードされた頂点であり、
前記複数の第1の頂点のうちの前記頂点は補間された頂点であり、
前記ポリゴンは、前記メッシュの前記第1の層の境界を定義する、
請求項3に記載のビデオコーディングのための方法。
【請求項5】
前記メッシュの前記第2の層は、前記メッシュの前記第2の層の前記複数の第2の頂点を前記メッシュの前記第1の層の
前記複数の第1の頂点のうちの前記他の頂点と相互接続する第2の直線によって各々定義された複数の第2のポリゴンを含む、
請求項3に記載のビデオコーディングのための方法。
【請求項6】
前記複数の第2の頂点のうちの少なくとも1つは、前記ポリゴンの境界内にある、
請求項5に記載のビデオコーディングのための方法。
【請求項7】
前記複数の第2の頂点の各々は、前記ポリゴンの前記境界内にある、
請求項6に記載のビデオコーディングのための方法。
【請求項8】
前記第2のポリゴンは、各々完全に前記ポリゴンの前記境界内にある、
請求項
6に記載のビデオコーディングのための方法。
【請求項9】
前記複数の第2の頂点のうちの少なくとも1つは、前記ポリゴンの境界外にある、
請求項5に記載のビデオコーディングのための方法。
【請求項10】
前記第2のポリゴンのうちの1つの少なくとも一部は、前記ポリゴンの前記境界外にある、
請求項9に記載のビデオコーディングのための方法。
【請求項11】
請求項1~10のいずれか一項に記載の方法を行わせる、ビデオコーディングのための装置。
【請求項12】
コンピュータに、請求項1~10のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】