(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-18
(54)【発明の名称】メッシュ三角測量導出に基づく頂点予測
(51)【国際特許分類】
H04N 19/70 20140101AFI20241010BHJP
H04N 19/597 20140101ALI20241010BHJP
【FI】
H04N19/70
H04N19/597
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024522387
(86)(22)【出願日】2023-03-30
(85)【翻訳文提出日】2024-04-12
(86)【国際出願番号】 US2023016837
(87)【国際公開番号】W WO2023204948
(87)【国際公開日】2023-10-26
(32)【優先日】2022-04-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2023-03-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・ジャン
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP03
5C159PP13
5C159RC12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
1つまたは複数のプロセッサに、少なくとも1つの3次元(3D)視覚コンテンツの体積測定的データを取得するステップと、体積測定的データから複数の3Dメッシュを取得するステップと、複数の3Dメッシュの頂点を複数の2次元(2D)メッシュに投影するステップと、複数の2Dメッシュに基づいて複数の3Dメッシュの接続情報をシグナリングするステップとを実行させるように構成されたコンピュータコードを含む方法および装置が含まれ、接続情報をシグナリングするステップは、2D占有マップの画素の中のものが推論されるべきか明示的にシグナリングされるべきかをシグナリングするステップを含む。
【特許請求の範囲】
【請求項1】
ビデオ符号化のための方法であって、前記方法は、
少なくとも1つの3次元(3D)視覚コンテンツの体積測定的データを取得するステップと、
前記体積測定的データから複数の3Dメッシュを取得するステップと、
前記複数の3Dメッシュの頂点を複数の2次元(2D)メッシュに投影するステップと、
前記複数の2Dメッシュに基づいて前記複数の3Dメッシュの接続情報をシグナリングするステップとを含み、
前記接続情報をシグナリングする前記ステップは、2D占有マップの画素のうちの1つが推論されるべきか明示的にシグナリングされるべきかをシグナリングするステップを含む、ビデオ符号化のための方法。
【請求項2】
前記接続情報をシグナリングする前記ステップは、
前記2D占有マップの前記画素のうちの第1の画素が推論されるべきであり、
前記2D占有マップの前記画素のうちの第2の画素が明示的にシグナリングされるべきであることをシグナリングするステップをさらに含む、請求項1に記載のビデオ符号化のための方法。
【請求項3】
前記接続情報をシグナリングする前記ステップは、
前記2D占有マップの前記画素の他のもののうち互いに近傍にある少なくとも3つの画素のグループを設定するステップ、
前記少なくとも3つの画素の各々が、前記2Dメッシュ上に投影された前記複数の3Dメッシュの前記頂点に従って占有されているか占有されていないかを判定するステップ、および
前記少なくとも3つの画素の各々が占有されていると判定したことに応答して、前記少なくとも3つの画素を第1の三角形メッシュの頂点として含む前記第1の三角形メッシュをシグナリングするステップ、をさらに含む、請求項1に記載のビデオ符号化のための方法。
【請求項4】
前記少なくとも3つの画素の各々が占有されていると判定したことに応答して、前記第1の三角形メッシュをシグナリングする前記ステップが、前記少なくとも3つの画素の各々が推論されるべきであることをシグナリングするステップを含む、請求項3に記載のビデオ符号化のための方法。
【請求項5】
前記グループは、前記2D占有マップの前記画素の他のもののうち互いに近傍にある、前記少なくとも3つの画素を含む4つの画素を含み、
前記少なくとも3つの画素の各々が占有されているか占有されていないかを判定するステップは、前記2Dメッシュ上に投影された前記複数の3Dメッシュの前記頂点に従って、前記4つの画素のうちのいずれかが占有されているか占有されていないかを判定するステップを含む、
請求項3に記載のビデオ符号化のための方法。
【請求項6】
前記4つの画素の各々が占有されていると判定したことに応答して、前記接続情報をシグナリングするステップが、前記第1の三角形メッシュと、前記4つの画素のうちの第4の画素および前記少なくとも3つの画素のうちの少なくとも2つの頂点を含む第2の三角形メッシュとを含む四角形メッシュをシグナリングするステップをさらに含む、
請求項5に記載のビデオ符号化のための方法。
【請求項7】
前記4つの画素の各々が占有されていると判定したことに応答して、前記四角形メッシュをシグナリングする前記ステップは、前記4つの画素の各々が推論されるべきであることをシグナリングするステップを含む、請求項6に記載のビデオ符号化のための方法。
【請求項8】
前記接続情報をシグナリングする前記ステップが、前記2D占有マップが推論される前記画素の多角形メッシュを含むかどうかをシグナリングするステップをさらに含む、請求項1に記載のビデオ符号化のための方法。
【請求項9】
前記多角形メッシュは、三角形メッシュと四角形メッシュとの組合せを含む、請求項8に記載のビデオ符号化のための方法。
【請求項10】
前記接続情報をシグナリングする前記ステップが、シーケンスヘッダおよびスライスヘッダのうちの少なくとも1つにおいて、前記2D占有マップが推論されるべき前記画素の前記多角形メッシュを含むかどうかをシグナリングするステップをさらに含む、請求項8に記載のビデオ符号化のための方法。
【請求項11】
ビデオ符号化のための装置であって、前記装置は、
コンピュータ・プログラム・コードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータ・プログラム・コードにアクセスし、前記コンピュータ・プログラム・コードによって命令されるように動作するように構成された少なくとも1つのプロセッサであって、前記コンピュータ・プログラム・コードは、
前記少なくとも1つのプロセッサに、少なくとも1つの3次元(3D)視覚コンテンツの体積測定的データを取得させるように構成された取得コードと、
前記少なくとも1つのプロセッサに、前記体積測定的データから複数の3Dメッシュを取得させるように構成されたさらなる取得コードと、
前記少なくとも1つのプロセッサに、前記複数の3Dメッシュの頂点を複数の2次元(2D)メッシュに投影させるように構成された投影コードと、
前記少なくとも1つのプロセッサに、前記複数の2Dメッシュに基づいて前記複数の3Dメッシュの接続情報をシグナリングさせるように構成されたシグナリングコードと、を含む、少なくとも1つのプロセッサとを含み、
前記接続情報をシグナリングすることは、2D占有マップの画素のうちの1つが推論されるべきか明示的にシグナリングされるべきかをシグナリングすることを含む、ビデオ符号化のための装置。
【請求項12】
前記接続情報をシグナリングすることは、
前記2D占有マップの前記画素のうちの第1の画素が推論されるべきであり、
前記2D占有マップの前記画素のうちの第2の画素が明示的にシグナリングされるべきであることをシグナリングすることをさらに含む、請求項11に記載のビデオ符号化のための装置。
【請求項13】
前記接続情報をシグナリングすることは、
前記2D占有マップの画素の他のもののうち互いに近傍にある少なくとも3つの画素のグループを設定すること、
前記少なくとも3つの画素の各々が、前記2Dメッシュ上に投影された前記複数の3Dメッシュの前記頂点に従って占有されているか占有されていないかを判定すること、および
前記少なくとも3つの画素の各々が占有されていると判定したことに応答して、前記少なくとも3つの画素を第1の三角形メッシュの頂点として含む前記第1の三角形メッシュをシグナリングすること、をさらに含む、請求項11に記載のビデオ符号化のための装置。
【請求項14】
前記少なくとも3つの画素の各々が占有されているとの判定に応答して、前記第1の三角形メッシュをシグナリングすることが、前記少なくとも3つの画素の各々が推論されるべきであることをシグナリングすることを含む、請求項13に記載のビデオ符号化のための装置。
【請求項15】
前記グループは、前記2D占有マップの前記画素の他のもののうち互いに近傍にある、前記少なくとも3つの画素を含む4つの画素を含み、
前記少なくとも3つの画素の各々が占有されているか占有されていないかを判定することは、前記2Dメッシュ上に投影された前記複数の3Dメッシュの前記頂点に従って、前記4つの画素のうちのいずれかが占有されているか占有されていないかを判定することを含む、
請求項13に記載のビデオ符号化のための装置。
【請求項16】
前記4つの画素の各々が占有されていると判定したことに応答して、前記接続情報をシグナリングすることが、前記第1の三角形メッシュと、前記4つの画素のうちの第4の画素および前記少なくとも3つの画素のうちの少なくとも2つの頂点を含む第2の三角形メッシュとを含む四角形メッシュをシグナリングすることをさらに含む、
請求項15に記載のビデオ符号化のための装置。
【請求項17】
前記4つの画素の各々が占有されていると判定したことに応答して、前記四角形メッシュをシグナリングすることは、前記4つの画素の各々が推論されるべきであることをシグナリングすることを含む、請求項16に記載のビデオ符号化のための装置。
【請求項18】
前記接続情報をシグナリングすることが、前記2D占有マップが推論される前記画素の多角形メッシュを含むかどうかをシグナリングすることをさらに含む、請求項11に記載のビデオ符号化のための装置。
【請求項19】
前記多角形メッシュは、三角形メッシュと四角形メッシュとの組合せを含む、請求項18に記載のビデオ符号化のための装置。
【請求項20】
コンピュータに処理を実行させるプログラムを記憶した非一時的なコンピュータ可読媒体であって、前記処理は、
少なくとも1つの3次元(3D)視覚コンテンツの体積測定的データを取得するステップと、
前記体積測定的データから複数の3Dメッシュを取得するステップと、
前記複数の3Dメッシュの頂点を複数の2次元(2D)メッシュに投影するステップと、
前記複数の2Dメッシュに基づいて前記複数の3Dメッシュの接続情報をシグナリングするステップとを含み、
前記接続情報をシグナリングするステップは、2D占有マップの画素のうちの1つが推論されるべきか明示的にシグナリングされるべきかをシグナリングするステップを含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2022年4月22日に出願された米国特許仮出願第63/333,976号、および2023年3月28日に出願された米国特許出願第18/191,730号の優先権を主張するものであり、これらは参照によりその全体が本願に明示的に組み込まれる。
【背景技術】
【0002】
1.分野
本開示は、動的メッシュ圧縮のための導出されたメッシュ三角測量に基づくメッシュ頂点予測を含む高度なビデオ符号化技術のセットに関する。
【0003】
2.関連技術の説明
3Dキャプチャ、モデリング、およびレンダリングの進歩は、いくつかのプラットフォームおよびデバイスにわたり3Dコンテンツが普遍的に存在することを促進している。今日、ある大陸で赤ん坊の最初の一歩を取り込み、別の大陸で祖父母がその子どもの姿を見て(交わる場合もある)、一緒に十分夢中になる体験を味わうことを可能にし得る。それにもかかわらず、そのような臨場感を達成するために、モデルは、これまで以上に洗練されてきており、かなりの量のデータがこれらのモデルの作成および消費に結び付けられる。
【0004】
したがって、このような問題に対する技術的解決策が望まれている。
【発明の概要】
【課題を解決するための手段】
【0005】
コンピュータ・プログラム・コードを記憶するように構成されたメモリと、コンピュータ・プログラム・コードにアクセスし、コンピュータ・プログラム・コードによって命令されると動作するように構成された1つまたは複数のプロセッサと、を含む方法および装置が含まれる。コンピュータプログラムは、プロセッサに、少なくとも1つのプロセッサに、少なくとも1つの3次元(3D)視覚コンテンツの体積測定的データを取得させるように構成された取得コードと、少なくとも1つのプロセッサに、体積測定的データから複数の3Dメッシュを取得させるように構成された取得コードと、少なくとも1つのプロセッサに、複数の3Dメッシュの頂点を複数の2次元(2D)メッシュに投影させるように構成された投影コードと、少なくとも1つのプロセッサに、複数の2Dメッシュに基づいて複数の3Dメッシュの接続情報をシグナリングさせるように構成されたシグナリングコードとを実行させるよう構成され、接続情報をシグナリングすることは、2D占有マップの画素のうちの1つが推論されるべきか明示的にシグナリングされるべきかをシグナリングすることを含む。
【0006】
例示的な実施形態によれば、接続情報をシグナリングすることは、2D占有マップの画素のうちの第1の画素が推論されるべきであり、2D占有マップの画素のうちの第2の画素は明示的にシグナリングされるべきであることをシグナリングすることをさらに含む。
【0007】
例示的な実施形態によれば、接続情報をシグナリングすることは、2D占有マップの画素の他のもののうち互いに近傍にある少なくとも3つの画素のグループを設定すること、少なくとも3つの画素の各々が、2Dメッシュ上に投影された複数の3Dメッシュの頂点に従って占有されているか占有されていないかを判定すること、および少なくとも3つの画素の各々が占有されていると判定したことに応答して、少なくとも3つの画素を第1の三角形メッシュの頂点として含む第1の三角形メッシュをシグナリングすることをさらに含む。
【0008】
例示的な実施形態によれば、少なくとも3つの画素の各々が占有されているとの判定に応答して、第1の三角形メッシュをシグナリングすることが、少なくとも3つの画素の各々が推論されるべきであることをシグナリングすることを含む。
【0009】
例示的な実施形態によれば、グループは、2D占有マップの画素の他のもののうち互いに近傍にある、少なくとも3つの画素を含む4つの画素を含み、少なくとも3つの画素の各々が占有されているか占有されていないかを判定することは、2Dメッシュ上に投影された複数の3Dメッシュの頂点に従って、4つの画素のうちのいずれかが占有されているか占有されていないかを判定することを含む。
【0010】
例示的な実施形態によれば、4つの画素の各々が占有されていると判定したことに応答して、接続情報をシグナリングすることが、第1の三角形メッシュと、4つの画素のうちの第4の画素および少なくとも3つの画素のうちの少なくとも2つの頂点を含む第2の三角形メッシュとを含む四角形メッシュをシグナリングすることをさらに含む。
【0011】
例示的な実施形態によれば、4つの画素の各々が占有されていると判定したことに応答して、四角形メッシュをシグナリングすることは、4つの画素の各々が推論されるべきであることをシグナリングすることを含む。
【0012】
例示的な実施形態によれば、接続情報をシグナリングすることが、2D占有マップが推論される画素の多角形メッシュを含むかどうかをシグナリングすることをさらに含む。
【0013】
例示的な実施形態によれば、多角形メッシュは、三角形メッシュと四角形メッシュとの組合せを含む。
【0014】
例示的な実施形態によれば、接続情報をシグナリングすることが、シーケンスヘッダおよびスライスヘッダのうちの少なくとも1つにおいて、2D占有マップが推論されるべき画素の多角形メッシュを含むかどうかをシグナリングすることをさらに含む。
【0015】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0016】
【
図2】実施形態による簡略化されたブロック図である。
【
図3】実施形態による簡略化されたブロック図である。
【
図4】実施形態による簡略化されたブロック図である。
【
図10】実施形態による簡略化されたブロック図である。
【
図11】実施形態による簡略化されたブロック図である。
【
図12】実施形態による簡略化されたブロック図である。
【
図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などの、レンダリングデバイスを制御するための潜在的な情報を含む。レンダリングデバイスのための制御情報は、補助拡張情報(SEIメッセージ)、またはビデオユーザビリティ情報(VUI)パラメータ集合フラグメント(図示せず)の形態にされ得る。パーサ304は、受信した符号化されたビデオシーケンスを、構文解析/エントロピー復号してもよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または標準規格に従うことができ、可変長符号化、ハフマン符号化、文脈依存性を伴うまたは伴わない算術符号化などを含む、当業者に周知の原理に従うことができる。パーサ304は、符号化ビデオシーケンスから、そのグループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、ピクチャのグループ(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からシンボル313として受け取る。それは、アグリゲータ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などの標準規格に文書化され得る所定のビデオ圧縮技術に従って復号動作を行い得る。符号化ビデオシーケンスは、ビデオ圧縮技術文書または規格、具体的にはその中のプロファイル文書に指定されるように、ビデオ圧縮技術または標準規格のシンタックスに忠実であるという意味において、使用されているビデオ圧縮技術または標準規格によって指定されたシンタックスに準拠し得る。また、コンプライアンスのために必要なのは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術または標準規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)の仕様と、符号化されたビデオシーケンスでシグナリングされるHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0036】
実施形態では、受信器302は、符号化ビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化ビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切に復号するため、および/または元のビデオデータをより正確に再構築するために、ビデオデコーダ300によって使用され得る。追加のデータは、例えば、時間層、空間層、または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式にすることができる。
【0037】
図4は、本開示の実施形態によるビデオエンコーダ400の機能ブロック図であり得る。
【0038】
エンコーダ400は、エンコーダ400によって符号化されるべきビデオ画像を取り込み得るビデオソース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つの機能である。コントローラは、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合される。分かりやすくするために、結合は描かれていない。コントローラによって設定されるパラメータには、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値など)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含めることができる。当業者であれば、コントローラ402の他の機能は、それらが特定のシステム設計のために最適化されたビデオエンコーダ400に関係し得るため、容易に識別することができる。
【0041】
一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するものにおいて動作する。過度に簡略化した説明として、符号化ループは、エンコーダ402(以降「ソースコーダ」)(符号化される入力ピクチャと参照ピクチャに基づいてシンボルを作成する役割を果たす)の符号化部分、およびシンボルを再構築して(リモート)デコーダも作成するであろうサンプルデータを作成するエンコーダ400に組み込まれた(ローカル)デコーダ406からなり得る(シンボルと符号化ビデオビットストリームとの間の任意の圧縮は、開示された主題で考慮されているビデオ圧縮技術では無損失であるため)。再構築されたサンプルストリームは、参照ピクチャメモリ405に入力される。シンボルストリームの復号は、デコーダの場所(ローカルまたはリモート)に関係なくビットイグザクト結果をもたらすため、参照ピクチャバッファコンテンツもまた、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネル誤りのために同期性を維持できない場合に結果として生じるドリフト)のこの基本原理は、当業者には周知である。
【0042】
「ローカル」デコーダ406の動作は、「リモート」デコーダ300の動作と同じであってよく、これは、
図3に関連して上記で詳細にすでに説明されている。しかしながら、
図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ408およびパーサ304による符号化ビデオシーケンスへのシンボルの符号化/復号は可逆的であり得るため、チャネル301、受信器302、バッファ303およびパーサ304を含むデコーダ300のエントロピー復号部分は、ローカルデコーダ406で完全には実施されない場合がある。
【0043】
この時点で言えることは、デコーダ内に存在する解析/エントロピー復号を除く任意のデコーダ技術もまた必然的に、対応するエンコーダにおいて、実質的に同一の機能形態で存在する必要があるということである。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略することができる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0044】
その動作の一部として、ソースコーダ403は、動き補償予測符号化を実行し得、これは、「参照フレーム」として指定された、ビデオシーケンスからの1つ以上の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する。この方法において、符号化エンジン407は、入力フレームの画素ブロックと、入力フレームへの予測参照として選択され得る参照フレームの画素ブロックとの差を符号化する。
【0045】
ローカル・ビデオ・デコーダ406は、ソースコーダ403によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化ビデオデータを復号し得る。符号化エンジン407の動作は、有利には、非可逆プロセスであり得る。符号化ビデオデータがビデオデコーダ(
図4には示されていない)で復号され得るとき、再構成されたビデオシーケンスは、通常、多少の誤差を伴うソース・ビデオ・シーケンスの複製であり得る。ローカル・ビデオ・デコーダ406は、参照フレームに対してビデオデコーダによって行われ得る復号プロセスを複製し、再構成された参照フレームを参照ピクチャキャッシュ405に記憶させ得る。このようにして、エンコーダ400は、(伝送エラーのない)遠端のビデオデコーダによって取得されることになる再構築された参照フレームとして共通の内容を有する再構築された参照フレームのコピーをローカルに記憶し得る。
【0046】
予測器404は、符号化エンジン407のための予測検索を行い得る。すなわち、符号化すべき新しいフレームに対して、予測器404は、サンプルデータ(候補参照画素ブロックとして)、または新しいピクチャの適切な予測参照として機能し得る、参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて参照ピクチャメモリ405を検索し得る。予測器404は、適切な予測参照を見出すために、画素ブロックごとのサンプルブロックに基づいて動作し得る。場合によっては、予測器404によって取得された検索結果によって判定されるように、入力ピクチャは、参照ピクチャメモリ405に記憶された複数の参照ピクチャから引き出された予測参照を有し得る。
【0047】
コントローラ402は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ403の符号化動作を管理し得る。
【0048】
すべての前述の機能ユニットの出力は、エントロピーコーダ408でエントロピー符号化を受け得る。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化などの、当業者に既知の技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0049】
送信器409は、エントロピーコーダ408によって作成された符号化ビデオシーケンスをバッファに入れて、符号化ビデオデータを記憶することになるストレージデバイスへのハードウェア/ソフトウェアリンクであり得る通信チャネル411を介した送信のためにそれを準備し得る。送信器409は、ビデオコーダ403からの符号化ビデオデータを、送信すべき他のデータ、例えば、符号化音声データおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0050】
コントローラ402は、エンコーダ400の動作を管理し得る。符号化中に、コントローラ405は、各符号化ピクチャに特定の符号化ピクチャタイプを割り当て得、これは、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得る。例えば、ピクチャは、多くの場合、以下のフレームタイプのうちの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)において点線矢印として図示されており、平面モードおよびDCモードは同じままである。これらのより高密度の指向性イントラ予測モードは、すべてのブロックサイズに、および輝度と彩度の両方のイントラ予測に適用される。
図5に示すように、奇数イントラ予測モードインデックスに関連付けられた、点線矢印によって識別される指向性イントラ予測モードは、奇数イントラ予測モードと呼ばれる。偶数イントラ予測モードインデックスに関連付けられた、実線矢印で識別される指向性イントラ予測モードは、偶数イントラ予測モードと呼ばれる。本明細書では、
図5の実線または点線矢印で示される指向性イントラ予測モードは角度モードとも呼ばれる。
【0058】
JEMでは、輝度イントラ予測に合計67個のイントラ予測モードが使用される。イントラモードを符号化するために、サイズ6の最確モード(MPM)リストが、近傍ブロックのイントラモードに基づいて構築される。イントラモードがMPMリストからのものでない場合、イントラモードが選択されたモードに属するかどうかを示すフラグがシグナリングされる。JEM-3.0では、16個の選択されたモードがあり、これらは4つ目の角度モードごとに一様に選択される。JVET-D0114およびJVET-G0060では、一様に選択されたモードを置き換えるために16個の二次MPMが導出される。
【0059】
図6は、イントラ指向性モードのために活用されるN個の参照階層を例示する。ブロックユニット611、セグメントA 601、セグメントB 602、セグメントC 603、セグメントD 604、セグメントE 605、セグメントF 606、第1の参照階層610、第2の参照階層609、第3の参照階層608および第4の参照階層607が存在する。
【0060】
HEVCおよびJEMの両方、ならびにH.264/AVCなどの他のいくつかの標準規格では、現在のブロックを予測するために使用される参照サンプルは、最も近い参照ライン(行または列)に制限される。複数の参照ラインイントラ予測の方法では、候補参照ライン(行または列)の数は、イントラ指向性モードに対して1(すなわち、最も近い)からNに増加され、この場合Nは1以上の整数である。
図2は、複数ラインのイントラ指向性予測方法の概念を示すために、一例として4×4予測ユニット(PU)を引用する。イントラ指向性モードは、予測器を生成するために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 (式2-1)
式中、Rx,-1、R-1,yは、それぞれ現在のサンプル(x,y)の上部および左に位置するフィルタリングされていない参照サンプルを表し、R-1,-1は、現在のブロックの左上隅に位置するフィルタリングされていない参照サンプルを表す。重み付けは以下のように計算される。
wT=32>>((y<<1)>>shift) (式2-2)
wL=32>>((x<<1)>>shift) (式2-3)
wTL=-(wL>>4)-(wT>>4) (式2-4)
shift=(log 2(幅)+log 2(高さ)+2)>>2 (式2-5)。
【0063】
図7は、1つの4×4ブロック内の(0,0)および(1,0)位置に対してDCモードPDPCが(wL、wT、wTL)で重み付けする
図700を例示する。PDPCがDC、平面、水平、および垂直イントラモードに適用される場合、HEVC DCモード境界フィルタまたは水平/垂直モードエッジフィルタなどの追加の境界フィルタは必要ない。
図7は、右上対角モードに適用されたPDPCの参照サンプルRx,-1、R-1,yおよびR-1,-1の定義を例示する。予測サンプルpred(x’,y’)は、予測ブロック内の(x’,y’)に位置する。参照サンプルRx、-1のx座標は、x=x’+y’+1によって与えられ、参照サンプルR-1、yのy座標も同様に、y=x’+y’+1によって与えられる。
【0064】
図8は、局所照明補償(LIC)
図800を例示しており、スケーリング係数aおよびオフセットbを使用した、照明変化の線形モデルに基づいている。そしてそれは、インターモードで符号化された符号化ユニット(CU)ごとに適応的に有効または無効にされる。
【0065】
LICがCUに適用されるとき、最小二乗誤差法を使って、現在のCUの近傍サンプルおよびそれらの対応する参照サンプルを使用することによってパラメータaおよびbを導出する。より具体的には、
図8に例示されるように、CUのサブサンプリング(2:1サブサンプリング)された近傍サンプル、および参照ピクチャ内の(現在のCUまたはサブCUの動き情報によって識別される)対応するサンプルが使用される。ICパラメータは、予測方向ごとに別々に導出され適用される。
【0066】
CUがマージモードで符号化される場合、LICフラグは、マージモードにおける動き情報コピーと同様の方法で、近傍ブロックからコピーされ、そうでない場合、LICが適用されるかどうかを示すために、LICフラグがCUに対してシグナリングされる。
【0067】
図9Aは、HEVCで使用されるイントラ予測モード900を例示する。HEVCには、合計35のイントラ予測モードがあり、そのうちモード10は水平モードであり、モード26は垂直モードであり、モード2、モード18、およびモード34は対角モードである。イントラ予測モードは、3つの最確モード(MPM)および残りの32個のモードによってシグナリングされる。
【0068】
図9Bは、VVCの実施形態において、モード18が水平モードであり、モード50が垂直モードであり、モード2、モード34、およびモード66が対角モードである合計87個のイントラ予測モードがあることを例示する。モード-1~-10およびモード67~76は、広角イントラ予測(WAIP)モードと呼ばれる。
【0069】
位置(x,y)に位置する予測サンプルpred(x,y)は、イントラ予測モード(DC、平面、角度)およびPDPC表現による参照サンプルの線形結合を使用して予測され、
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>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)、
ここで、nScale=(log2(幅)-2+log 2(高さ)-2+2)>>2であり、式中、wTは、同じ水平座標を有する上記の参照ラインに位置する参照サンプルの重み付け係数を表し、wLは、同じ垂直座標を有する左の参照ラインに位置する参照サンプルの重み付け係数を表し、wTLは、現在のブロックの左上の参照サンプルの重み付け係数を表し、nScaleは、軸に沿って重み付け係数がどれだけ速く減少する(wLは左から右に減少する、またはwTは上から下に減少する)かを指定する、すなわち重み付け係数減少率を指定し、それは、現在の設計におけるx軸(左から右へ)およびy軸(上から下へ)に沿って同じである。また、32は近傍サンプルの初期重み付け係数を表し、初期重み付け係数はまた、現在のCBにおいて左上のサンプルに割り当てられた上(左または左上)の重み付けであり、PDPCプロセスにおける近傍サンプルの重み付け係数は、この初期重み付け係数以下とするべきである。
【0071】
平面モードの場合、wTL=0であり、一方、水平モードの場合、wTL=wTであり、垂直モードの場合、wTL=wLである。PDPC重みは、加算およびシフトのみで計算することができる。pred(x,y)の値は、式1を使用して単一ステップで算出することができる。
【0072】
図10は、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画像デバイスを通してユーザが見ることができる角度に関して、表示ブロック1016で、ユーザにレンダリングされる。VR360の明確な特徴は、任意の特定の時間にビューポートのみを表示することができ、そのような特徴を利用して、ユーザのビューポートに応じた選択的配信(または推奨されるビューポート時限メタデータなどの任意の他の基準)により、全方向ビデオシステムの性能を向上させることができることである。例えば、ビューポート依存型配信は、例示的な実施形態によるタイルベースのビデオ符号化によって可能にすることができる。
【0076】
上述した符号化ブロックと同様に、例示的な実施形態によるOMAFプレーヤ1020は、データF’および/またはF’iならびにメタデータのうちの1つまたは複数のファイル/セグメントカプセル化解除に関してそのような符号化の1つまたは複数のファセットを同様に逆転させ、音声復号ブロック1010で音声データE’i、ビデオ復号ブロック1013でビデオデータE’v、および画像復号ブロック1014で画像データE’iを復号して、音声レンダリングブロック1011でのデータB’aの音声レンダリング、および画像レンダリングブロック1015でのデータD’の画像レンダリングを進めて、方向/ビューポートメタデータなどの様々なメタデータに従って、VR360フォーマットで、表示ブロック1016での表示データA’iおよびスピーカ/ヘッドフォンブロック1012での音声データA’sを出力することができる。様々なメタデータは、OMAFプレーヤ1020のユーザによってまたはユーザのために選択され得る様々なトラック、言語、質、ビューに応じてデータ復号およびレンダリングプロセスのうちの1つに影響を及ぼし得、本明細書に記載の処理の順序は、例示的な実施形態のために提示され、他の例示的な実施形態による他の順序で実施され得ることを理解されたい。
【0077】
図11は、6自由度メディアの取り込み/生成/(復号)符号化/レンダリング/表示に関する点群データ(本明細書では「V-PCC」)の視点位置および角度依存処理を伴う(符号化された)点群データの簡略化されたブロックスタイルのコンテンツフロープロセス
図1100を示す。記載された特徴は、別々に使用されてもよく、または任意の順序で組み合わされてもよく、符号化および復号などの要素は、特に図示されているように、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得、1つまたは複数のプロセッサは、例示的な実施形態による非一時的コンピュータ可読媒体に記憶されたプログラムを実行し得ることを理解されたい。
【0078】
図1100は、V-PCCによる符号化された点群データのストリーミングのための例示的な実施形態を示す。
【0079】
体積測定的データ取得ブロック1101では、現実世界の視覚的シーンまたはコンピュータ生成の視覚的シーン(またはそれらの組合せ)が、一組のカメラデバイスによって取り込まれ得るか、またはコンピュータによって体積測定的データとして合成され得、任意のフォーマットを有し得る体積測定的データは、点群ブロック1102への変換における画像処理を介して、(量子化された)点群データフォーマットに変換され得る。例えば、体積測定的データ由来のデータは、例示的な実施形態によれば、体積測定的データおよび任意の関連データから以下に説明する値の1つまたは複数を所望の点群フォーマットにプルすることによって、点群の点の1つに変換された領域データによる領域データであり得る。例示的な実施形態によれば、体積測定的データは、例えば3Dデータセットの2D投影を投影することができるスライスなどの2D画像の3Dデータセットであり得る。例示的な実施形態によれば、点群データフォーマットは、1つまたは複数の様々な空間のデータ点の表現を含み、体積測定的データを表すために使用することができ、時間的冗長性に関してなどサンプリングおよびデータ圧縮に関して改善を提供することができ、例えば、x、y、zのフォーマットの点群データは、群のデータの複数の点の各点において、色の値(例えば、RGBなど)、輝度、強度などを表し、プログレッシブ復号、ポリゴンメッシュ、直接レンダリング、2D四分木データの八分木3D表現と共に使用することができる。
【0080】
画像への投影ブロック1103において、取得された点群データは、2D画像へ投影され、かつビデオベースの点群符号化(V-PCC)を用いて画像/ビデオピクチャとして符号化され得る。投影された点群データは、属性、ジオメトリ、占有マップ、および例えばとりわけ、ペインタのアルゴリズム、レイキャスティングアルゴリズム、(3D)二値空間パーティションアルゴリズムなどを用いた点群データの再構成に使用される他のメタデータで、構成することができる。
【0081】
一方、シーン生成器ブロック1109において、シーン生成器は、例えばディレクタの意図またはユーザの好みにより、6自由度(DoF)メディアをレンダリングおよび表示するために使用されるいくつかのメタデータを生成することができる。そのような6DoFメディアは、点群符号化データ内の、または少なくともそれに応じた仮想体験に対する、前後、上下、および左右の移動を可能にする追加の次元に加えて、3D軸X、Y、Zでの回転的な変化からのシーンの360VRのような3Dビューを含むことができる。シーン記述メタデータは、符号化された点群データ、およびVR360、ライトフィールド、音声などを含む他のメディアデータから構成される1つまたは複数のシーンを定義し、
図11および関連する記述に示すように、1つまたは複数のクラウドサーバおよびまたはファイル/セグメントカプセル化/カプセル化解除処理に提供することができる。
【0082】
上述したビデオおよび画像符号化と同様のビデオ符号化ブロック1104および画像符号化ブロック1105の後(理解されるように、音声符号化はまた、上述のように提供することができる)、ファイル/セグメントカプセル化ブロック1106は、符号化された点群データが、ファイル再生のためのメディアファイル、または初期化セグメントのシーケンスと、1つまたは複数のビデオコンテナフォーマットなどの特定のメディアコンテナファイルフォーマットに従ってストリーミングするためのメディアセグメントとに構成されるように処理し、とりわけ、そのような記述は例示的な実施形態を表すなど、後述するDASHに関して使用することができる。ファイルコンテナはまた、シーン生成器ブロック1109からなどのシーン記述メタデータを、ファイルまたはセグメントに含むことができる。
【0083】
例示的な実施形態によれば、ファイルは、そのようなファイルがユーザまたは作成者の入力に応じて、要求に即して送信され得るように、シーン記述メタデータに応じてカプセル化されて、少なくとも1つのビュー位置およびその/それらのビュー位置における少なくとも1つまたは複数の角度ビューを、それぞれ、6DoFメディアのうちの1つまたは複数の時間に含む。さらに、例示的な実施形態によれば、そのようなファイルのセグメントは、そのようなファイルの1つまたは複数の部分、例えば、その時点、1つまたは複数の時点における1つの視点および角度を示す6DoFメディアの一部を含むことができる。しかしながら、これらは単なる例示的な実施形態であり、ネットワーク、ユーザ、作成者の能力および入力などの様々な条件に応じて変更することができる。
【0084】
例示的な実施形態によれば、点群データは、ビデオ符号化ブロック1104および画像符号化ブロック1105のうちの1つまたは複数などにおいて独立して符号化される複数の2D/3D領域に分割される。次に、点群データの各々の独立して符号化されたパーティションは、ファイルおよび/またはセグメントのトラックとして、ファイル/セグメントカプセル化ブロック1106でカプセル化することができる。例示的な実施形態によれば、各点群トラックおよび/またはメタデータトラックは、ビュー位置/角度依存処理のためのいくつかの有用なメタデータを含むことができる。
【0085】
例示的な実施形態によれば、視聴位置/角度依存処理に有用な、ファイル/セグメントカプセル化ブロックに関してカプセル化されたファイルおよび/またはセグメントに含まれるなどのメタデータは、以下のうちの1つまたは複数を含む:インデックスを有する2D/3Dパーティションのレイアウト情報、3Dボリュームパーティションを1つまたは複数の2Dパーティションに関連付ける(動的)マッピング情報(例えば、タイル/タイルグループ/スライス/サブピクチャのいずれか)、6DoF座標系の各3Dパーティションの3Dでの位置、代表的なビュー位置/角度リスト、3Dボリュームパーティションに対応する選択されたビュー位置/角度リスト、選択されたビュー位置/角度に対応する2D/3Dパーティションのインデックス、各2D/3Dパーティションの質(ランク)の情報、および例えば各ビュー位置/角度に応じた各2D/3Dパーティションのレンダリング情報。V-PCCプレーヤのユーザによって、またはV-PCCプレーヤのユーザのためにコンテンツ制作者によって指示されるなど、要求されたときにそのようなメタデータを呼び出すことにより、そのようなメタデータに関して所望される6DoFメディアの特定の部分に関してより効率的な処理を可能にすることができ、それにより、V-PCCプレーヤは、そのメディアの未使用部分を配信するのではなく、他の部分よりも6DoFメディアの部分にフォーカスされた質の高い画像を配信することができる。
【0086】
ファイル/セグメントカプセル化ブロック1106から、ファイルまたはファイルの1つ以上のセグメントは、配信機構(例えば、HTTP上のダイナミック・アダプティブ・ストリーミング(DASH))を使用して、V-PCCプレーヤ1125およびクラウドサーバブロック1107などのクラウドサーバのいずれかに直接配信することができ、クラウドサーバは、ファイルから1つ以上のトラックおよび/または1つ以上の特定の2D/3Dパーティションを抽出することができ、複数の符号化された点群データを1つのデータにマージすることができる。
【0087】
位置/ビュー角追跡ブロック1108などのデータによれば、現在のビュー位置および角度がクライアントシステムにおいて6DoF座標系で定義されている場合、クラウドサーバブロック1107において、ビュー位置/角度メタデータは、ファイル/セグメントカプセル化ブロック1106から配信されるか、またはクラウドサーバに既にあるファイルまたはセグメントから他の方法で処理されてもよく、その結果、クラウドサーバは、例えばV-PCCプレーヤ1125を有するクライアントシステムからのメタデータに応じて、適切なパーティションをストアファイルから抽出し、それらを(必要に応じて)マージすることができ、抽出されたデータは、ファイルまたはセグメントとして、クライアントに配信することができる。
【0088】
そのようなデータに関して、ファイル/セグメントカプセル化解除ブロック1109において、ファイルカプセル化解除器は、ファイルまたは受信されたセグメントを処理し、符号化されたビットストリームを抽出し、メタデータを解析し、ビデオ復号および画像復号ブロックにおいて、符号化された点群データは、次に復号されて、点群再構成ブロック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(デジタルコンテンツ作成)ツールは、通常、そのような動的メッシュを生成する。これに対応して、特にリアルタイム制約下で、体積測定的取得技術が一定の接続動的メッシュを生成することは困難である。この種のコンテンツは、既存の規格ではサポートされない。本明細書の例示的な実施形態によれば、時変接続情報および任意選択的に時変属性マップを有する動的メッシュを直接処理するための新しいメッシュ圧縮規格の態様が記載されており、この規格は、リアルタイム通信、ストレージ、自由視点ビデオ、ARおよびVRなどの様々なアプリケーションの非可逆および可逆圧縮を対象とする。ランダムアクセスおよびスケーラブル/プログレッシブ符号化などの機能もまた考え得る。
【0092】
図12は、2Dアトラスサンプリングベースの方法などのための1つの動的メッシュ圧縮の例示的なフレームワーク1200を表す。入力メッシュ1201の各フレームは、追跡、再メッシュ化、パラメータ化、ボクセル化などの一連の動作によって前処理することができる。これらの動作はエンコーダのみとすることができ、これは、それらが復号プロセスの一部ではない可能性があることを意味し、そのような可能性は、エンコーダのみに0を示し、他に1を示すなどのフラグによってメタデータでシグナリングすることができることに留意されたい。その後、2DのUVアトラス1202を有するメッシュを得ることができ、それにおいてメッシュの各頂点は、2Dのアトラスの1つ以上の関連付けられたUV座標を有し得る。次いで、メッシュは、2Dアトラスでサンプリングすることによって、ジオメトリマップおよび属性マップを含む複数のマップに変換することができる。次に、これらの2Dマップは、HEVC、VVC、AV 1、AVS 3などのビデオ/画像コーデックによって符号化することができる。デコーダ1203側では、復号された2Dマップからメッシュを再構成することができる。再構成されたメッシュ1204に対していずれの後処理およびフィルタリングも適用され得る。他のメタデータは、3Dメッシュ再構成を目的としてデコーダ側にシグナリングされてもよいことに留意されたい。境界頂点のuvおよびxyz座標を含むチャート境界情報は、ビットストリームにおいて予測、量子化、およびエントロピー符号化することができることに留意されたい。量子化ステップサイズは、質とビットレートとの間のトレードオフのためにエンコーダ側で構成することができる。
【0093】
いくつかの実施態様では、3Dメッシュをいくつかのセグメント(またはパッチ/チャート)に分割することができる。各セグメントは、それらのジオメトリ、属性、および接続情報と関連付けられた接続された頂点のセットから構成される。
図13の例1300に示すように、上述の2DのUVアトラス1202のブロックなどの、3Dメッシュセグメントから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の特徴に加えて、
図14の例1400を参照されたい。それにおいて、3Dメッシュセグメント1301を複数の別々の2Dチャート1401および1402にマッピングすることもできる。この場合、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】
例えば
図14に示すように、3Dの境界頂点が2DのUVアトラスの複数の頂点に対応する場合、3DのXUZから2DのUVへのマッピングは一対多であり得る。したがって、マッピング関数を示すためにUV-XYZ(またはUV2XYZと呼ばれる)インデックスをシグナリングすることができる。UV2XYZは、各2DのUV頂点を3DのXYZ頂点に対応させるインデックスの1D配列であってもよい。
【0099】
例示的な実施形態によれば、メッシュ信号を効率的に表すために、メッシュ頂点のサブセットが、それらの間の接続情報と共に最初に符号化され得る。元のメッシュでは、それらが元のメッシュからサブサンプルされるため、これらの頂点間の接続は存在しない場合がある。頂点間の接続情報をシグナリングする方法は様々であり、したがって、そのようなサブセットはベースメッシュまたはベース頂点と呼ばれる。
【0100】
しかしながら、他の頂点は、2つ以上の既に復号されたメッシュ頂点間に補間を適用することによって予測することができる。予測器頂点は、2つの接続された既存の頂点のエッジに沿ったそのジオメトリ的な位置を有するので、予測器のジオメトリ情報は、近傍にある復号された頂点に基づいて計算することができる。場合によっては、符号化されるべき頂点から頂点予測器までの変位ベクトルまたは予測誤差がさらに符号化されるべきである。例えば、
図18の例1800を参照すると、そのようなエッジベースの頂点予測の例、より具体的には、左に示すように三角形を平行四辺形に拡張することによる補外、および右に示すように2つの既存の頂点の加重平均による補間によるイントラ予測を使用した頂点ジオメトリ予測の例が示されている。ベース頂点(すなわち、
図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の場合、同じパッチ/チャートのいくつかの頂点は予測グループを形成し、同じ予測モードを共有するが、同じパッチ/チャートのいくつかの他の頂点は別の予測モードを使用することができる。グループ化は、関与する頂点の数に関して異なるレベルで割り当てることができる。例えば、パッチ/チャート内部の走査順序に従う64、32、または16個の頂点ごとに、例示的な実施形態による同じ予測モードが割り当てられ、他の頂点は異なって割り当てられ得る。各グループについて、予測モードはイントラ予測モードまたはインター予測モードであり得る。これはシグナリングされるかまたは割り当てられることができる。例示的なフローチャート2000によれば、メッシュフレームまたはメッシュスライスがイントラタイプであると判定された場合、このメッシュフレームまたはメッシュスライス内部のすべての頂点グループは、イントラ予測モードを使用するものとする。そうでない場合、各グループは、イントラ予測モードまたはインター予測モードのいずれかを選択することができる。
【0104】
さらに、イントラ予測モードを使用するメッシュ頂点のグループの場合、その頂点は、現在のメッシュの同じサブパーティション内部の以前に符号化された頂点を使用することによってのみ予測することができる。時として、サブパーティションは、例示的な実施形態によれば現在のメッシュ自体とすることができ、インター予測モードを使用するメッシュ頂点のグループの場合、その頂点は、例示的な実施形態によれば、別のメッシュフレームからの以前に符号化された頂点を使用することによってのみ予測することができる。上記の各情報は、フラグなどによって判定およびシグナリングされ得る。前記予測特徴はS206で行われてもよく、前記予測およびシグナリングの結果はS207で行われ得る。
【0105】
例示的な実施形態によれば、例示的なフローチャート2000および後述するフローチャート2100の頂点のグループの各頂点について、予測後、残余は、現在の頂点からその予測器へのシフトを示す3D変位ベクトルとなる。頂点のグループの残余は、さらに圧縮される必要がある。一例では、エントロピー符号化の前に、変換を頂点グループの残余に適用することができる。変位ベクトルのグループの符号化を処理するために、以下の方法を実施することができる。例えば、1つの方法では、変位ベクトルのグループ、いくつかの変位ベクトル、またはその成分が0の値のみを有する場合を適切にシグナリングする。別の実施形態では、このベクトルがゼロ以外のいずれかの成分を有するかどうかのフラグが変位ベクトルごとにシグナリングされ、そうでない場合、この変位ベクトルのすべての成分の符号化をスキップすることができる。さらに、別の実施形態では、変位ベクトルのグループごとに、このグループが非ゼロベクトルを有するかどうかフラグがシグナリングされ、そうでない場合、このグループのすべての変位ベクトルの符号化をスキップすることができる。さらに、別の実施形態では、グループのこの成分が任意のゼロではないベクトルを有するかどうかのフラグが変位ベクトルのグループの各成分についてシグナリングされ、そうでない場合、このグループのすべての変位ベクトルsのこの成分の符号化をスキップすることができる。さらに、別の実施形態では、変位ベクトルのグループまたは変位ベクトルのグループの成分が変換を必要とし、そうでない場合、変換をスキップすることができ、量子化/エントロピー符号化をグループまたはグループ成分に直接適用することができる場合のシグナリングがあり得る。さらに、別の実施形態では、変位ベクトルのグループごとに、このグループが変換を経る必要があるかどうかフラグをシグナリングすることができ、そうでない場合、このグループのすべての変位ベクトルの変換符号化をスキップすることができる。さらに、別の実施形態では、グループのこの成分が変換を経る必要があるかどうかのフラグが変位ベクトルのグループの各成分についてシグナリングされ、そうでない場合、このグループのすべての変位ベクトルのこの成分の変換符号化をスキップすることができる。頂点予測残余の処理に関するこの段落の上述の実施形態はまた、それぞれ異なるパッチにおいて組み合わせて並列に実施することもできる。
【0106】
図21は、S211において、メッシュフレームをデータユニット全体として符号化して取得することができ、メッシュフレームのすべての頂点または属性がそれらの間に相関を有し得ることを意味する、例示的なフローチャート2100を示す。あるいは、S212での判定に応じて、メッシュフレームは、S213で、2Dビデオまたは画像のスライスまたはタイルと同様の概念で、より小さな独立したサブパーティションに分割することができる。符号化メッシュフレームまたは符号化メッシュサブパーティションには、S214で予測タイプを割り当てることができる。可能な予測タイプは、イントラ符号化タイプおよびインター符号化タイプを含む。イントラ符号化タイプの場合、同じフレームまたはスライスの再構成された部分からの予測のみがS215において許容される。一方、インター予測タイプは、S215において、イントラメッシュフレーム予測に加えて、以前に符号化されたメッシュフレームからの予測を可能にする。また、インター予測のタイプは、PタイプやBタイプなど、より多くのサブタイプに分類され得る。Pタイプでは、予測目的のために1つの予測器のみを使用することができ、Bタイプでは、2つの以前に符号化されたメッシュフレームからの2つの予測器を使用して予測器を生成することができる。2つの予測器の加重平均は一例であり得る。メッシュフレームが全体として符号化される場合、フレームは、イントラ符号化またはインター符号化されたメッシュフレームとみなすことができる。インターメッシュフレームの場合、PまたはBタイプは、シグナリングを介してさらに識別され得る。あるいは、メッシュフレームがフレーム内部でさらに分割して符号化されている場合、S214で各サブパーティションの予測タイプを割り当てる。上記の各情報は、フラグなどによって判定およびシグナリングされ得て、
図20のS206およびS207と同様に、前記予測特徴はS216で発生してもよく、前記予測およびシグナリングの結果はS217で発生し得る。
【0107】
このように、動的メッシュシーケンスは、時間とともに変化するかなりの量の情報からなり得るため、大量のデータを必要とし得るが、そのようなコンテンツを記憶して送信するために効率的な圧縮技術が必要とされ、
図20および
図21について上述した特徴は、同じメッシュフレーム内の以前に復号された頂点(イントラ予測)または以前に符号化されたメッシュフレームからの以前の復号された頂点(インター予測)のいずれかを使用することにより、少なくとも改善されたメッシュ頂点3D位置予測を可能にすることにより、そのような改善された効率を表す。
【0108】
さらに、例示的な実施形態は、その前の層2302の再構成された頂点に基づいて、一方の層2302の変位ベクトルを生成することができる。現在の層2302のインデックスがTであると仮定すると、層2303 T+1の頂点の予測器は、現在の層2302の再構成された頂点に基づいて生成される。そのような層ベースの予測構造の例が
図23の例2300に示されており、これは再構成ベースの頂点予測、すなわちエッジベースの補間を使用するプログレッシブ頂点予測を示しており、予測器は予測器頂点ではなく以前に復号された頂点に基づいて生成される。
【0109】
そのような例2300については、
図22の例示的なフローチャート2200を参照すると、現在の層の補間された頂点は予測値であるため、次の層の頂点の予測器を生成するために使用される前に、そのような値を再構成する必要がある。これは、S221でベースメッシュを符号化し、S222などで頂点予測を実施し、次にS223で現在の層の復号された変位ベクトルを層2302などの頂点の予測器に追加することによって行われる。次に、この層2303の再構築された頂点は、S224でそのような層の追加の頂点の値をチェックするなど、前の層のすべての復号された頂点と共に、S225で次の層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)-式(1)
【0110】
次に、1つのメッシュフレームのすべての頂点について、それらを層0(ベースメッシュ)、層1、層2、....などに分割する。次いで、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に示すように、示された例(2)、(3)、(4)、および(4)である4点のうち3点が占有されていると判定された場合、それらの点を直接相互接続して、例のように三角形を形成することができる。他方、4点がすべて占有されていると判定された場合、それらの点は、
図24の例(1)に示すように2つの三角形を形成するために使用される。異なる数の近傍点に異なる規則を適用することができることに留意されたい。このプロセスは、
図25にさらに示すように、多くの点にわたって実施することができる。この実施形態では、再構築されたメッシュは、
図24のような三角形メッシュであり、少なくとも
図25の内部の規則的な三角形メッシュのように、そのような規則に従ってシグナリングされないと判定され得ず、代わりに、個々のシグナリングではなく推論によって、および個別にシグナリングされる周囲の不規則な三角形として、符号化および復号され得る。
【0118】
また、複雑さおよびデータ処理をさらに低減する試みにおいて、
図25に示されているそのような規則的な内部の三角形の四角形メッシュは、
図24の例(1)のそのような四角形メッシュとして推論され得、それによって、内部の規則的な三角形を推論することによる複雑さの程度さえも低減し、代わりに低減された数の内部の規則的な四角形メッシュを推論するものとする。
【0119】
例示的な実施形態によれば、
図24の例(1)のように、4つの近傍点がすべて占有されていると判定された場合、四角形メッシュを再構成することができる。
【0120】
上記の説明から推定すると、
図25に示すように、例2500の再構築されたメッシュはハイブリッド型であり得ることが示されており、すなわち、メッシュフレームのいくつかの領域は三角形メッシュを生成し、他の領域は四角形メッシュを生成し、前記三角形メッシュのいくつかは、その中の他の三角形メッシュと比較して規則的であり得、いくつかは、境界のうちの1つであるが、境界のそのようなメッシュの必ずしもすべてではないように、不規則であり得る。
【0121】
例示的な実施形態によれば、そのような接続タイプは、シーケンスヘッダやスライスヘッダなどの高レベルシンタックスでシグナリングされ得る。
【0122】
上述したように、接続情報はまた、不規則な形状の三角形メッシュのように、明示的にシグナリングすることによって再構成することができる。すなわち、暗黙的規則によって多角形が復元されることができないと判定された場合、エンコーダは、ビットストリームの接続情報をシグナリングすることができる。また、例示的な実施形態によれば、そのような明示的なシグナリングのオーバーヘッドは、ポリゴンの境界に応じて低減され得る。例えば、
図25の例2500に示すように、三角形の接続情報は、推論され得る
図24の規則的な例2400などの暗黙の規則と、少なくとも
図25のメッシュ境界に示された不規則な形状の多角形のうちの1つの明示的なシグナリングとの両方によって再構築されるようにシグナリングされる。
【0123】
実施形態によれば、境界頂点とサンプリングされた位置との間の接続情報のみがシグナリングされるように判定され、サンプリングされた位置自体の間の接続情報が推論される。
【0124】
また、実施形態のいずれかにおいて、接続情報は、あるメッシュから別のメッシュへの(予測としての)推論された接続との差のみがビットストリームでシグナリングされ得るように、予測によってシグナリングされ得る。
【0125】
注記として、推論された三角形の向き(三角形ごとに時計回りまたは反時計回りに推論されるなど)は、シーケンスヘッダ、スライスヘッダなどの高レベル構文ですべてのチャートに対してシグナリングされるか、または例示的な実施形態によるエンコーダおよびデコーダによって固定(想定)され得る。推論された三角形の向きは、チャートごとに異なってシグナリングすることもできる。
【0126】
さらなる注記として、任意の再構築されたメッシュは、元のメッシュとは異なる接続を有することができる。例として、入力メッシュは三角形メッシュであってもよく、再構成されたメッシュは四角形メッシュであってもよい。
【0127】
例示的な実施形態によれば、任意のベース頂点の接続情報はシグナリングされなくてもよく、代わりに、ベース頂点間のエッジは、エンコーダ側とデコーダ側の両方で同じアルゴリズムを使用して導出され得る。例えば、例2500の最も下の頂点がどのようにしてすべて占有されているかを参照されたい。それによって、符号化は、したがってそのような頂点がベースとして占有されていると判定することによってそのような情報を利用することができ、それによって、後に、いずれかのベース頂点の接続情報がシグナリングされなくてもよく、代わりに、ベース頂点間のエッジが、エンコーダ側とデコーダ側の両方で同じアルゴリズムを使用して導出され得るように推論する。また、例示的な実施形態によれば、追加のメッシュ頂点の予測された頂点の補間は、ベースメッシュの導出されたエッジに基づいてもよい。
【0128】
例示的な実施形態によれば、ベース頂点の接続情報がシグナリングされるべきか導出されるべきかをシグナリングするためにフラグを使用することができ、そのようなフラグは、シーケンスレベル、フレームレベルなど、ビットストリームの異なるレベルでシグナリングすることができる。
【0129】
例示的な実施形態によれば、ベース頂点間のエッジは、エンコーダ側とデコーダ側の両方で同じアルゴリズムを使用して最初に導出される。次いで、ベースメッシュ頂点の元の接続と比較して、導出されたエッジと実際のエッジとの間の差がシグナリングされる。したがって、差分を復号した後、ベース頂点の元の接続を復元することができる。
【0130】
一例では、導出されたエッジについて、元のエッジと比較したときに誤っていると判定された場合、そのような情報は、(このエッジを形成する頂点の対を示すことによって)ビットストリームでシグナリングされ得る。元のエッジについては、導出されない場合、(そのエッジを形成する頂点の対を示すことによって)ビットストリームでシグナリングされ得る。さらに、境界エッジの接続および境界エッジを含む頂点補間は、内部頂点およびエッジとは別に行われ得る。
【0131】
したがって、本明細書に記載の例示的な実施形態によって、上記で指摘した技術的問題は、これらの技術的解決策の1つまたは複数によって有利に改善され得る。例えば、動的メッシュシーケンスは、時間とともに変化するかなりの量の情報からなり得るので、これは大量のデータを必要とし得、そのため本明細書に記載の例示的な実施形態は、そのようなコンテンツを記憶および送信するための少なくとも効率的な圧縮技術を表す。
【0132】
前述した技術は、コンピュータ可読命令を使用し、1つ以上のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして、または具体的に構成される1つ以上のハードウェアプロセッサによって実装され得る。例えば、
図26は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム2600を示す。
【0133】
コンピュータソフトウェアは、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接に、または解釈、マイクロコードの実行などを介して実行できる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構の適用を受け得る、任意の適切な機械コードまたはコンピュータ言語を使用して符号化されることができる。
【0134】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行されることができる。
【0135】
コンピュータシステム2600に関して
図26に示す構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関するいずれかの限定を示唆することを意図していない。構成要素の構成は、コンピュータシステム2600の例示的な実施形態に示されている構成要素のいずれか1つ、または構成要素の組合せに関して、いずれかの依存性を有するものとも要件を有するものとも解釈されるべきではない。
【0136】
コンピュータシステム2600は、特定のヒューマン・インターフェース入力デバイスを備えてもよい。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(キーを押す、スワイプする、データグローブを動かすなど)、音声入力(声、手をたたくなど)、視覚入力(身振りなど)、嗅覚入力(図示せず)による、1人以上のユーザによる入力に応答し得る。ヒューマン・インターフェース・デバイスは、音声(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得する)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むために使用することもできる。
【0137】
入力ヒューマン・インターフェース・デバイスは、キーボード2601、マウス2602、トラックパッド2603、タッチスクリーン2610、ジョイスティック2605、マイク2606、スキャナ2608、カメラ2607のうちの1つまたは複数(それぞれの1つのみが図示される)を含み得る。
【0138】
コンピュータシステム2600は、特定のヒューマン・インターフェース出力デバイスを備えてもよい。このようなヒューマン・インターフェース出力デバイスは、触覚出力、音声、光、および臭い/味など、1人以上のユーザの感覚を刺激し得る。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン2610、またはジョイスティック2605による触覚フィードバック、ただし入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、音声出力デバイス(スピーカ2609、ヘッドフォン(図示せず))、視覚出力デバイス(それぞれがタッチスクリーン入力能力を有するかまたは有さず、それぞれが触覚フィードバック能力を有するかまたは有さず、そのうちのいくつかは二次元映像出力、または立体出力などの手段によって三次元を上回る出力を出力可能であってもよい、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン2610など、VRグラス(図示せず)、ホログラフィック表示、発煙剤タンク(図示せず)、ならびにプリンタ(図示せず))を含んでもよい。
【0139】
コンピュータシステム2600はまた、人間がアクセス可能なストレージデバイスと、それらに関連付けられた媒体、例えば、CD/DVD2611または同様の媒体を備えたCD/DVD ROM/RW2620、サムドライブ2622、取り外し可能なハードドライブまたはソリッドステートドライブ2623、テープおよびフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用のROM/ASIC/PLDベースのデバイスを含めた光学媒体などを含むこともできる。
【0140】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送メディア、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0141】
コンピュータシステム2600は、1つまたは複数の通信ネットワーク2698へのインターフェース2699も含むことができる。ネットワーク2698は、例えば、無線、有線、光となり得る。ネットワーク2698は、更に、ローカル、広域、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などとなり得る。ネットワーク2698の例には、イーサネット、無線LANなどのローカル・エリア・ネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波ブロードキャストTVを含むTVの有線または無線の広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワーク2698は、一般に、特定の汎用データポートまたは周辺バス(2650および2651)(例えば、コンピュータシステム2600のUSBポートなど)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、一般に、後述するようにシステムバスへの取り付けによってコンピュータシステム2600のコアに組み込まれる(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワーク2698のいずれかを使用して、コンピュータシステム2600は他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えばローカルエリアまたは広域デジタルネットワークを使用する他のコンピュータシステムへの通信であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用され得る。
【0142】
前述のヒューマン・インターフェース・デバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム2600のコア2640に取り付けることができる。
【0143】
コア2640は、1つまたは複数の中央処理装置(CPU)2641、グラフィック処理装置(GPU)2642、グラフィックアダプタ2617、フィールドプログラマブルゲート領域(FPGA)2643の形式の専用のプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ2644などを含むことができる。これらのデバイスは、読取り専用メモリ(ROM)2645、ランダムアクセスメモリ2646、内部のユーザアクセス不可能なハードドライブ、SSDなどの内部大容量ストレージ2647とともに、システムバス2648を通じて接続され得る。いくつかのコンピュータシステムでは、システムバス2648は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス2648に直接取り付けることも、周辺バス2649を介して取り付けることもできる。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。
【0144】
CPU2641、GPU2642、FPGA2643、およびアクセラレータ2644は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行することができる。このコンピュータコードは、ROM2645またはRAM2646に記憶することができる。過渡的なデータをRAM2646に記憶することもでき、一方永続的なデータを、例えば、内部大容量ストレージ2647に記憶することができる。1つまたは複数のCPU2641、GPU2642、大容量ストレージ2647、ROM2645、RAM2646などと密接に関連付けることができるキャッシュメモリを使用することにより、メモリデバイスのいずれかへの高速記憶および高速取り出しを可能にすることできる。
【0145】
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることができ、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることができる。
【0146】
限定ではなく例として、アーキテクチャを有するコンピュータシステム2600、具体的にはコア2640は、(CPU、GPU、FPGA、アクセラレータなどを含む)(1つ以上の)プロセッサが1つ以上の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。そのようなコンピュータ可読メディアは、上述したようなユーザアクセス可能な大容量記憶、ならびにコア内部大容量ストレージ2647やROM2645などの非一時的な性質のものであるコア2640の特定の記憶に関連付けられたメディアとすることができる。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶され、コア2640によって実行することができる。コンピュータ可読メディアは、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア2640、および具体的にはその中の(CPU、GPU、FPGAなどを含む)プロセッサに、RAM2646に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスにしたがってこのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行することができる、回路(例えば、アクセラレータ2644)におけるハードワイヤードの、または他の方法で具現化された論理の結果として機能を提供することもできる。ソフトウェアへの言及は、必要に応じて、論理を包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0147】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0148】
100 通信システム、101 端末、102 第2の端末、103 第1の端末、104 端末、105 通信ネットワーク、201 カメラ、201 ビデオソース、202 エンコーダ、203 キャプチャサブシステム、204 ビデオビットストリーム、205 ストリーミングサーバ、206 コピー、208 着信コピー、209 ディスプレイ、210 ストリーム、211 ビデオデコーダ、212 クライアント、212 ストリーミングクライアント、213 サンプルストリーム、213 ストリーム、300 デコーダ、300 ビデオデコーダ、301 チャネル、302 受信器、303 バッファメモリ、303 バッファ、303 エンコーダ、304 パーサ、304 構文解析器、305 逆変換、305 逆変換ユニット、306 動き補償予測ユニット、307 イントラ予測ユニット、307 イントラピクチャ予測ユニット、308 参照ピクチャバッファ、308 参照ピクチャメモリ、309 参照ピクチャ、309 ピクチャ、310 アグリゲータ、311 ループ・フィルタ・ユニット、311 フィルタ・ユニット、312 表示デバイス、313 シンボル、360 VR、400 ビデオエンコーダ、400 ビデオコーダ、400 エンコーダ、401 ビデオソース、402 エンコーダ、402 コントローラ、403 ビデオコーダ、403 ソースコーダ、404 予測器、405 参照ピクチャメモリ、405 コントローラ、405 参照ピクチャキャッシュ、406 デコーダ、406 ローカルデコーダ、407 符号化エンジン、408 エントロピーコーダ、409 送信器、410 符号化ビデオシーケンス、411 通信チャネル、557 参照ピクチャメモリ、601 セグメントA、602 セグメントB、603 セグメントC、604 セグメントD、605 セグメントE、606 セグメントF、607 第4の参照階層、608 第3の参照階層、609 第2の参照階層、610 第1の参照階層、610 参照ライン、611 ブロックユニット、700 図、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 カプセル化解除ブロック、1109 シーン生成器ブロック、1112 点群再構成ブロック、1113 シーン構成ブロック、1114 表示ブロック、1125 V-PCCプレーヤ、1200 フレームワーク、1201 入力メッシュ、1202 UVアトラス、1203 デコーダ、1204 メッシュ、1300 例、1301 3Dメッシュセグメント、1301 メッシュセグメント、1302 UVパラメータ化プロセス、1303 2Dチャート、1304 UVアトラス、1400 例、1401 2Dチャート、1402 2Dチャート、1500 例、1600 例、1700 例、1800 例、1801 三角形、1802 破線点、1803 頂点、1900 例、1901 メッシュフレーム、1902 メッシュフレーム、2000 フローチャート、2100 フローチャート、2200 フローチャート、2300 例、2302 層、2303 層、2400 例、2500 例、2600 コンピュータシステム、2601 キーボード、2602 マウス、2603 トラックパッド、2605 ジョイスティック、2606 マイク、2607 カメラ、2608 スキャナ、2609 音声出力デバイススピーカ、2610 スクリーン、2610 タッチスクリーン、2611 CD/DVD、2617 グラフィックアダプタ、2620 CD/DVD ROM/RW、2622 サムドライブ、2623 ソリッドステートドライブ、2640 コア、2641 中央処理装置(CPU)、2641 CPU、2642 GPU、2642 グラフィック処理装置(GPU)、2643 FPGA、2643 フィールドプログラマブルゲート領域、2644 ハードウェアアクセラレータ、2644 アクセラレータ、2645 ROM、2646 ランダムアクセスメモリ、2646 RAM、2647 大容量ストレージ、2648 システムバス、2649 周辺バス、2650 周辺バス、2651 周辺バス、2698 ネットワーク、2698 通信ネットワーク、2699 インターフェース
【手続補正書】
【提出日】2024-04-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ符号化のための方法であって、前記方法は、
少なくとも1つの3次元(3D)視覚コンテンツの体積測定的データを取得するステップと、
前記体積測定的データから複数の3Dメッシュを取得するステップと、
前記複数の3Dメッシュの頂点を複数の2次元(2D)メッシュに投影するステップと、
前記複数の2Dメッシュに基づいて前記複数の3Dメッシュの接続情報をシグナリングするステップとを含み、
前記接続情報をシグナリングする前記ステップは、2D占有マップの画素のうちの1つが推論されるべきか明示的にシグナリングされるべきかをシグナリングするステップを含む、ビデオ符号化のための方法。
【請求項2】
前記接続情報をシグナリングする前記ステップは、
前記2D占有マップの前記画素のうちの第1の画素が推論されるべきであり、
前記2D占有マップの前記画素のうちの第2の画素が明示的にシグナリングされるべきであることをシグナリングするステップをさらに含む、請求項1に記載のビデオ符号化のための方法。
【請求項3】
前記接続情報をシグナリングする前記ステップは、
前記2D占有マップの前記画素の他のもののうち互いに近傍にある少なくとも3つの画素のグループを設定するステップ、
前記少なくとも3つの画素の各々が、前記2Dメッシュ上に投影された前記複数の3Dメッシュの前記頂点に従って占有されているか占有されていないかを判定するステップ、および
前記少なくとも3つの画素の各々が占有されていると判定したことに応答して、前記少なくとも3つの画素を第1の三角形メッシュの頂点として含む前記第1の三角形メッシュをシグナリングするステップ、をさらに含む、請求項1に記載のビデオ符号化のための方法。
【請求項4】
前記少なくとも3つの画素の各々が占有されていると判定したことに応答して、前記第1の三角形メッシュをシグナリングする前記ステップが、前記少なくとも3つの画素の各々が推論されるべきであることをシグナリングするステップを含む、請求項3に記載のビデオ符号化のための方法。
【請求項5】
前記グループは、前記2D占有マップの前記画素の他のもののうち互いに近傍にある、前記少なくとも3つの画素を含む4つの画素を含み、
前記少なくとも3つの画素の各々が占有されているか占有されていないかを判定するステップは、前記2Dメッシュ上に投影された前記複数の3Dメッシュの前記頂点に従って、前記4つの画素のうちのいずれかが占有されているか占有されていないかを判定するステップを含む、
請求項3に記載のビデオ符号化のための方法。
【請求項6】
前記4つの画素の各々が占有されていると判定したことに応答して、前記接続情報をシグナリングするステップが、前記第1の三角形メッシュと、前記4つの画素のうちの第4の画素および前記少なくとも3つの画素のうちの少なくとも2つの頂点を含む第2の三角形メッシュとを含む四角形メッシュをシグナリングするステップをさらに含む、
請求項5に記載のビデオ符号化のための方法。
【請求項7】
前記4つの画素の各々が占有されていると判定したことに応答して、前記四角形メッシュをシグナリングする前記ステップは、前記4つの画素の各々が推論されるべきであることをシグナリングするステップを含む、請求項6に記載のビデオ符号化のための方法。
【請求項8】
前記接続情報をシグナリングする前記ステップが、前記2D占有マップが推論される前記画素の多角形メッシュを含むかどうかをシグナリングするステップをさらに含む、請求項1に記載のビデオ符号化のための方法。
【請求項9】
前記多角形メッシュは、三角形メッシュと四角形メッシュとの組合せを含む、請求項8に記載のビデオ符号化のための方法。
【請求項10】
前記接続情報をシグナリングする前記ステップが、シーケンスヘッダおよびスライスヘッダのうちの少なくとも1つにおいて、前記2D占有マップが推論されるべき前記画素の前記多角形メッシュを含むかどうかをシグナリングするステップをさらに含む、請求項8に記載のビデオ符号化のための方法。
【請求項11】
請求項1から10のいずれか一項に記載の方法を実行する、ビデオ符号化のための装置
。
【請求項12】
コンピュータに処理を実行させるプログラム
であって、前記処理は、
前記コンピュータに、請求項1から10のいずれか一項に記載の方法を実行させる、プログラム。
【国際調査報告】