(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-14
(45)【発行日】2023-04-24
(54)【発明の名称】インターフレーム点群属性符号化のための方法並びにその、装置およびコンピュータプログラム
(51)【国際特許分類】
G06T 9/00 20060101AFI20230417BHJP
H04N 19/597 20140101ALI20230417BHJP
H04N 19/52 20140101ALI20230417BHJP
【FI】
G06T9/00
H04N19/597
H04N19/52
(21)【出願番号】P 2021536819
(86)(22)【出願日】2020-03-20
(86)【国際出願番号】 US2020023767
(87)【国際公開番号】W WO2020197966
(87)【国際公開日】2020-10-01
【審査請求日】2021-06-23
(32)【優先日】2019-03-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】セフン・ヤ
(72)【発明者】
【氏名】アーラシュ・ヴォソウギ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】橘 高志
(56)【参考文献】
【文献】米国特許出願公開第2017/0347120(US,A1)
【文献】特表2011-507404(JP,A)
【文献】特開2005-252921(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00
H04N 19/597
H04N 19/52
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する、インターフレーム点群属性符号化の方法であって、
ターゲットフレームの動き推定の動き推定不信頼性尺度として、
現在のターゲットフレーム内の点群サンプルの数に対する、
他のフレームからのインターフレーム参照フレームの第2の点群サンプル
に一致する、または対応する前記
現在のターゲットフレームの第1の点群サンプルの数の比に反比例する値を取得するステップ
であって、前記第2の点群サンプルは最近傍探索によって発見され、最近傍リストは時間的予測候補点を含む、ステップと、
取得された前記動き推定不信頼性尺度が所定の閾値よりも大きいか否かを識別するステップと、
取得された前記動き推定不信頼性尺度が前記所定の閾値よりも大きいと識別されたことに基づいて、前記ターゲットフレームの動き補償をスキップするステップと、
取得された前記動き推定不信頼性尺度が前記所定の閾値以下と識別されたことに基づいて、前記ターゲットフレームの前記動き補償を実行するステップと、を含む方法。
【請求項2】
前記動き推定不信頼性尺度の値が小さいほど、前記動き推定の不確実性が小さいことを示し、
前記動き推定不信頼性尺度の値が大きいほど、前記動き推定の不確実性が大きいことを示す、請求項1に記載の方法。
【請求項3】
最近傍探索アルゴリズムを用いて、前記第2の点群サンプルを取得するステップをさらに含む、請求項1に記載の方法。
【請求項4】
取得された前記動き推定不信頼性尺度が前記所定の閾値よりも大きいと識別されたことに基づいて、前記ターゲットフレーム内の前記点群サンプルのうちの1つに含まれる点の属性の予測をスキップするステップをさらに含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記動き補償が実行された前記ターゲットフレーム内の前記点群サンプルのうちの1つに含まれる点の属性の予測を実行するステップをさらに含む、請求項1~3のいずれか1項に記載の方法。
【請求項6】
前記属性は、前記点の色値および反射率値のいずれか一方または両方を含む、請求項5に記載の方法。
【請求項7】
前記予測を実行するステップは、前記属性に対して予測変換またはリフティング変換を適用するステップを含む、請求項5に記載の方法。
【請求項8】
インターフレーム点群属性符号化のための装置であって、
コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って前記請求項1~7のいずれか1項に記載の方法を実行するように構成される少なくとも1つのプロセッサと、を備える装置。
【請求項9】
少なくとも1つのプロセッサに、前記請求項1~7のいずれか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年3月22日に米国特許商標庁に出願された米国仮特許出願第62/822,765号に基づく優先権を主張し、その内容を全て参照により本明細書に組み込むものとする。
【0002】
1.技術分野
実施形態に従う方法および装置は、グラフベースの点群圧縮(G-PCC)に関し、より具体的には、インターフレーム点群属性符号化のための方法および装置に関するものである。
【背景技術】
【0003】
2.関連技術の説明
世界の高度な3次元(3D)表現は、より没入的な形態のインタラクションおよびコミュニケーションを可能にし、機械が我々の世界を理解し、解釈し、ナビゲートすることをも可能にする。3D点群は、このような情報の表現を可能にするものとして登場した。点群データに関連する多くのユースケースが特定され、点群表現および圧縮についての対応する要件が開発されている。
【0004】
点群は、それぞれが、例えば、色、材料特性などの関連する属性を持つ、3D空間内の点のセットである。点群は、オブジェクトまたはシーンをそのような点の合成として再構築するために使用されることができる。点群は、複数のカメラ及び深度センサーを用いて種々の設定でキャプチャされることができ、再構築されたシーンをリアルに表現するために、数千から数十億の点で構成されることがある。
【0005】
点群を表現するためのデータ量を減らすために、圧縮技術が必要である。そのため、リアルタイム通信および6自由度(6DoF)バーチャルリアリティで使用するための点群を非可逆圧縮する技術が要る。さらに、自動運転や文化遺産への適用などのための動的マッピングの文脈において、可逆点群圧縮の技術が求められている。動画専門家集団(Moving Picture Experts Group、MPEG)は、ジオメトリおよび色、反射率などの属性の圧縮、スケーラブル/プログレッシブな符号化、時間の経過とともにキャプチャされた点群のシーケンスの符号化、および点群のサブセットへのランダムアクセスに対処する規格に取り組み始めた。
【0006】
図1Aは、G-PCCにおいて詳細レベル(level of detail、LoD)を生成する方法を示す図である。
【0007】
図1Aを参照すると、現在のG-PCC属性符号化では、各3D点の距離に基づいて各3D点(例えば、P0~P9)のLoD(すなわち、グループ)を生成し、その後、各LoD内の3D点の属性値を、3D点の元の順序105の代わりにLoDベースの順序110で予測を適用することによってエンコードする。例えば、3D点P2の属性値は、3D点P2の前にエンコードまたはデコードされた3D点P0、P5、P4の距離ベースの加重平均値を算出することによって予測される。
【0008】
G-PCCにおける現在のアンカー方法は、以下のように進行する。
【0009】
まず、3D点の近傍の変動率を計算して、近傍値がどの程度異なるかを確認し、変動率が閾値よりも低い場合、現在の点iの最近傍の距離に基づく線形補間処理を用いて、属性値
【数1】
を予測することにより、距離ベースの加重平均予測の算出を行う。
【数2】
を現在の点iのk-最近傍のセットとし、
【数3】
をそれらのデコード/再構築された属性値とし、
【数4】
を現在の点iまでの距離とする。予測された属性値
【数5】
は次の式で与えられる。
【0010】
【0011】
属性が符号化されるとき、すべての点群の幾何学的位置はすでに利用可能であることに留意されたい。加えて、隣接する点とそれらの再構築された属性値は、エンコーダとデコーダの両方で、同一の方法で各点の最近傍探索を容易にするために使用されるk次元の木構造として利用可能である。
【0012】
第2に、変動率が閾値よりも高い場合、レート歪み最適化(RDO)予測子選択を実行する。LoDを生成する際の近傍点探索の結果に基づいて、複数の予測子候補または候補予測値を作成する。例えば、3D点P2の属性値を、予測を用いてエンコードする場合、3D点P2から3D点P0、P5、P4のそれぞれまでの距離の加重平均値を、0に等しい予測子インデックスに設定する。そして、3D点P2から最近傍点P4までの距離を1に等しい予測子インデックスに設定する。さらに、下の表1に示すように、3D点P2から次の最近傍点P5およびP0のそれぞれまでの距離を2および3に等しい予測子インデックスに設定する。
【表1】
【0013】
予測子候補を作成した後、レート歪み最適化手順を適用することによって最良の予測子を選択し、その後、選択された予測子インデックスを、ビンが算術符号化されていく切り捨てられた単項(Truncated Unary、TU)コードにマッピングする。なお、表1では、より短いTUコードがより小さい予測子インデックスに割り当てられる。
【0014】
予測子候補の最大数MaxNumCandが定義され、属性ヘッダにエンコードされる。現在の実施では、予測子候補の最大数MaxNumCandは、numberOfNearestNeighborsInPrediction+1に等しく設定され、切り捨てられた単項二値化を使用した予測子インデックスのエンコードおよびデコードに使用される。
【0015】
G-PCCにおける属性符号化のためのリフティング変換は、上述した予測変換の上に構築される。予測方式とリフティング方式の主な違いは、更新演算子の提出である。
【0016】
図1Bは、G-PCCにおけるP/U(Prediction/Update)リフティングのアーキテクチャの図である。リフティングにおける予測と更新のステップを容易にするには、分解の各段階で、信号を二つの高相関セットに分割する必要がある。G-PCCのリフティング方式では、レベル間でこのような高相関が期待でき、各レベルを最近傍探索によって構築することで、不均一な点群を構造化されたデータに編成するLoD構造を利用して分割を実行する。レベルNでのP/U分解ステップでは、詳細信号D(N-1)および近似信号A(N-1)が得られ、さらにD(N-2)およびA(N-2)に分解される。このステップは、ベースレイヤーの近似信号A(1)が得られるまで繰り返し適用される。
【0017】
その結果、リフティング方式では、LOD(N)、・・・LOD(1)からなる入力属性信号そのものを符号化するのではなく、D(N-1)、D(N-2)、・・・D(1)、A(1)を符号化することになる。なお、効率的なP/Uステップを適用すると、D(N-1)、・・・、D(1)のサブバンド「係数」が疎になることが多く、それによって、変換符号化の利得が得られる。
【0018】
現在、G-PCCのアンカー方法としてのリフティングにおける予測ステップには、予測変換についての上述した距離ベースの加重平均予測が用いられている。
【0019】
G-PCCにおける属性符号化のための予測およびリフティングでは、隣接する属性サンプルの数が多ければ多いほど、より良い予測を提供できるため、隣接する属性サンプルの利用可能性は、圧縮効率にとって重要である。予測するのに十分な近傍がない場合、圧縮効率が低下する可能性がある。
【発明の概要】
【課題を解決するための手段】
【0020】
実施形態によれば、少なくとも1つのプロセッサが実行する、インターフレーム点群属性符号化の方法は、ターゲットフレームの動き推定の動き推定不信頼性尺度として、前記ターゲットフレーム内の点群サンプルの数に対する、インターフレーム参照フレームの第2の点群サンプルをそれぞれあわせた前記ターゲットフレームの第1の点群サンプルの数の比に反比例する値を取得するステップを含む。前記方法は、取得された前記動き推定不信頼性尺度が所定の閾値よりも大きいか否かを識別するステップと、取得された前記動き推定不信頼性尺度が前記所定の閾値よりも大きいと識別されたことに基づいて、前記ターゲットフレームの動き補償をスキップするステップと、取得された前記動き推定不信頼性尺度が前記所定の閾値以下と識別されたことに基づいて、前記ターゲットフレームの前記動き補償を実行するステップと、をさらに含む。
【0021】
実施形態によれば、インターフレーム点群属性符号化のための装置であって、コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成される少なくとも1つのプロセッサと、を備える。前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、ターゲットフレームの動き推定の動き推定不信頼性尺度として、前記ターゲットフレーム内の点群サンプルの数に対する、インターフレーム参照フレームの第2の点群サンプルをそれぞれあわせた前記ターゲットフレームの第1の点群サンプルの数の比に反比例する値を取得させるように構成される取得コードを含む。前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、取得された前記動き推定不信頼性尺度が所定の閾値よりも大きいか否かを識別させるように構成される識別コードと、前記少なくとも1つのプロセッサに、取得された前記動き推定不信頼性尺度が前記所定の閾値よりも大きいと識別されたことに基づいて、前記ターゲットフレームの動き補償をスキップさせるように構成されるスキップコードと、前記少なくとも1つのプロセッサに、取得された前記動き推定不信頼性尺度が前記所定の閾値以下と識別されたことに基づいて、前記ターゲットフレームの前記動き補償を実行させるように構成される実行コードと、をさらに含む。
【0022】
命令を記憶する非一時的なコンピュータ読取可能な記憶媒体であって、前記命令は、少なくとも1つのプロセッサに、ターゲットフレームの動き推定の動き推定不信頼性尺度として、前記ターゲットフレーム内の点群サンプルの数に対する、インターフレーム参照フレームの第2の点群サンプルをそれぞれあわせた前記ターゲットフレームの第1の点群サンプルの数の比に反比例する値を取得させる。前記命令は、さらに、前記少なくとも1つのプロセッサに、取得された前記動き推定不信頼性尺度が所定の閾値よりも大きいか否かを識別させ、取得された前記動き推定不信頼性尺度が前記所定の閾値よりも大きいと識別されたことに基づいて、前記ターゲットフレームの動き補償をスキップさせ、取得された前記動き推定不信頼性尺度が前記所定の閾値以下と識別されたことに基づいて、前記ターゲットフレームの前記動き補償を実行させる。
【図面の簡単な説明】
【0023】
【
図1A】G-PCCにおいてLoDを生成する方法を示す図である。
【
図1B】G-PCCにおけるP/Uリフティングのアーキテクチャの図である。
【
図2】実施形態による通信システムのブロック図である。
【
図3】実施形態による、ある環境におけるG-PCC圧縮器およびG-PCC解凍器の配置の図である。
【
図4】実施形態によるG-PCC圧縮器の機能ブロック図である。
【
図5】実施形態によるG-PCC解凍器の機能ブロック図である。
【
図6】実施形態による、インターフレーム点群属性符号化の方法を示すフローチャートである。
【
図7】実施形態による、インターフレーム点群属性符号化のための装置のブロック図である。
【
図8】実施形態の実施に適したコンピュータシステムの図である。
【発明を実施するための形態】
【0024】
本明細書で説明する実施形態は、インターフレーム点群属性符号化のための方法および装置を提供する。詳細には、G-PCCにおける予測のために、同じ点群フレーム内からの属性値に加えて、異なる時間インスタンスにおける他の点群フレームからの属性値が使用される。本方法および装置は、差分パルス符号変調(Differential Pulse Code Modulation、DPCM)における予測(別名:予測変換)、又はG-PCCにおけるリフティングのための予測ステップ(別名:リフティング変換)を改善するために使用されることができる。また、時空間予測の本方法および装置は、同様の構造を持つ任意のコーデックに対しても機能することができる。本方法および装置は、他のフレームの対応するロケーションからのサンプル属性値を提供することによって、特に点群サンプルが現在のフレーム内で疎である場合に、予測性能を向上させることができる。
【0025】
図2は、実施形態による通信システム200のブロック図である。通信システム200は、ネットワーク250を介して相互接続された少なくとも2つの端末210および220を含み得る。データの単方向送信の場合、第1の端末210は、ネットワーク250を介して第2の端末220へ送信するために、点群データをローカルロケーションで符号化してもよい。第2の端末220は、第1の端末210の符号化された点群データをネットワーク250から受信し、符号化された点群データをデコードし、デコードされた点群データを表示することができる。単方向のデータ送信は、メディア供給アプリケーションなどで一般的である。
【0026】
図2は、例えばビデオ会議中に発生し得る符号化された点群データの双方向送信をサポートするために提供される第2の対の端末230および240をさらに示している。データの双方向送信の場合、各端末230または240は、ネットワーク250を介して他の端末へ送信するために、ローカルロケーションでキャプチャされた点群データを符号化してもよい。また、各端末230または240は、他の端末で送信された符号化された点群データを受信し、符号化された点群データをデコードし、デコードされた点群データをローカルの表示装置に表示することができる。
【0027】
図2において、端末210~240は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、実施形態の原理はこれに制限されることはない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤーおよび/または専用のビデオ会議機器における用途を見出す。ネットワーク250は、例えば有線および/または無線通信ネットワークを含む、端末210~240間で符号化された点群データを伝達する任意の数のネットワークを表す。通信ネットワーク250は、回線交換および/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークとしては、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットが挙げられる。本議論の目的のために、ネットワーク250のアーキテクチャおよびトポロジーは、以下で説明されない限り、実施形態の動作にとって重要ではないかもしれない。
【0028】
図3は、実施形態による、ある環境におけるG-PCC圧縮器303およびG-PCC解凍器310の配置の図である。開示された主題は、例えば、ビデオ会議、デジタルTV、および、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮された点群データの記憶など、を含む他の点群対応アプリケーションに等しく適用可能である。
【0029】
ストリーミングシステム300は、例えば非圧縮の点群データ302を作成するデジタルカメラなどの点群ソース301を含むことができるキャプチャサブシステム313を含んでもよい。より高いデータ量を有する点群データ302は、点群ソース301に結合されたG-PCC圧縮器303によって処理され得る。G-PCC圧縮器303は、以下でより詳細に説明するように、開示された主題の態様を可能にするかまたは実施するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。より低いデータ量を有するエンコードされた点群データ304は、将来使うためにストリーミングサーバ305に記憶されることができる。1つまたは複数のストリーミングクライアント306および308は、ストリーミングサーバ305にアクセスして、エンコードされた点群データ304のコピー307および309を検索することができる。クライアント306は、エンコードされた点群データの入り方向コピー307をデコードし、ディスプレイ312または他のレンダリングデバイス(示されていない)でレンダリングできる出方向点群データ311を作成するG-PCC解凍器310を含むことができる。一部のストリーミングシステムにおいて、エンコードされた点群データ304、307、309は、ビデオ符号化/圧縮規格に従ってエンコードされることができる。これらの規格の例には、G-PCCのためにMPEGによって開発されているものが含まれる。
【0030】
図4は、実施形態によるG-PCC圧縮器303の機能ブロック図である。
【0031】
図4に示すように、G-PCC圧縮器303は、量子化器405と、点除去モジュール410と、八分木エンコーダ415と、属性転送モジュール420と、LoD生成器425と、予測モジュール430と、量子化器435と、算術符号化器440とを備える。
【0032】
量子化器405は、入力点群内の点の位置を受信する。位置は、(x,y,z)座標であってもよい。量子化器405は、さらに、例えばスケーリングアルゴリズムおよび/またはシフトアルゴリズムを用いて、受信された位置を量子化する。
【0033】
点除去モジュール410は、量子化された位置を量子化器405から受信し、受信された量子化された位置から重複位置を除去またはフィルタリングする。
【0034】
八分木エンコーダ415は、フィルタリングされた位置を点除去モジュール410から受信し、受信されたフィルタリングされた位置を、八分木エンコーディングアルゴリズムを用いて、入力点群を表す八分木の占有シンボルにエンコードする。八分木に対応する入力点群のバウンディングボックスは、任意の3D形状、例えば、立方体であってもよい。
【0035】
八分木エンコーダ415は、さらに、フィルタリングされた位置のエンコーディングに基づいて、受信されたフィルタリングされた位置を並べ替える。
【0036】
属性転送モジュール420は、入力点群内の点の属性を受信する。属性は、例えば、各点の色またはRGB値および/または反射率を含んでもよい。属性転送モジュール420は、さらに、八分木エンコーダ415から並べ替えられた位置を受信する。
【0037】
属性転送モジュール420は、さらに、受信された並べ替えられた位置に基づいて、受信された属性を更新する。例えば、属性転送モジュール420は、受信された属性に対して、例えば、受信された属性の重み付け及び平均化、並びに受信された属性からの追加の属性の補間を含む前処理アルゴリズムのうちの1つ又は複数を実行してもよい。属性転送モジュール420は、さらに、更新された属性を予測モジュール430に転送する。
【0038】
LoD生成器425は、八分木エンコーダ415から並び替えられた位置を受信し、受信された並び替えられた位置に対応する点のそれぞれのLoDを取得する。各LoDは、点のグループと見なすことができ、点のそれぞれの距離に基づいて取得されることができる。例えば、
図1Aに示すように、点P0、P5、P4、P2がLoD LODOに、点P0、P5、P4、P2、P1、P6、P3がLoD LOD1に、点P0、P5、P4、P2、P1、P6、P3、P9、P8、P7がLoD LOD2にあってもよい。
【0039】
予測モジュール430は、転送された属性を属性転送モジュール420から受信し、点のそれぞれの取得されたLoDをLoD生成器425から受信する。予測モジュール430は、点のそれぞれの受信されたLoDに基づく順序で、受信された属性に予測アルゴリズムを適用することによって、受信された属性の予測残差(値)をそれぞれ取得する。予測アルゴリズムは、例えば、補間、加重平均の計算、最近傍法、RDOなどの様々な予測アルゴリズムのうちのいずれかを含んでもよい。
【0040】
例えば、
図1Aに示すように、LoD LOD0に含まれる点P0、P5、P4、P2の受信された属性のそれぞれの予測残差は、LoD LOD1、LOD2にそれぞれ含まれる点P1、P6、P3、P9、P8、P7の受信された属性の予測残差よりも先に最初に取得されてもよい。点P2の受信された属性の予測残差は、点P0、P5、P4の加重平均に基づく距離を算出することによって取得されてもよい。
【0041】
量子化器435は、予測モジュール430から、取得された予測残差を受信し、例えばスケーリングアルゴリズムおよび/またはシフトアルゴリズムを用いて、受信された予測された残差を量子化する。
【0042】
算術符号化器440は、八分木エンコーダ415から占有シンボルを受信し、量子化された予測残差を量子化器435から受信する。算術符号化器440は、受信された占有シンボルおよび量子化された予測残差に対して算術符号化を実行して、圧縮ビットストリームを取得する。算術符号化は、例えば文脈適応型二値算術符号化のような様々なエントロピーエンコードアルゴリズムのうちのいずれかを含んでもよい。
【0043】
図5は、実施形態によるG-PCC解凍器310の機能ブロック図である。
【0044】
図5に示すように、G-PCC解凍器310は、算術デコーダ505と、八分木デコーダ510と、逆量子化器515と、LoD生成器520と、逆量子化器525と、逆予測モジュール530とを備える。
【0045】
算術デコーダ505は、G-PCC圧縮器303から圧縮ビットストリームを受信し、受信された圧縮ビットストリームに対して算術デコードを実行して、占有シンボルおよび量子化された予測残差を取得する。算術デコードは、例えば文脈適応型二値算術デコードなどの様々なエントロピーデコードアルゴリズムのうちのいずれかを含んでもよい。
【0046】
八分木デコーダ510は、算術デコーダ505から、取得された占有シンボルを受信し、八分木デコードアルゴリズムを用いて、受信された占有シンボルを量子化された位置にデコードする。
【0047】
逆量子化器515は、量子化された位置を八分木デコーダ510から受信し、例えばスケーリングアルゴリズムおよび/またはシフトアルゴリズムを用いて、受信された量子化された位置を逆量子化して、入力点群内の点の再構築された位置を取得する。
【0048】
LoD生成器520は、量子化された位置を八分木デコーダ510から受信し、受信された量子化された位置に対応する点のそれぞれのLoDを取得する。
【0049】
逆量子化器525は、取得された量子化された予測残差を受信し、例えばスケーリングアルゴリズムおよび/またはシフトアルゴリズムを用いて、受信された量子化された予測残差を逆量子化して、再構築された予測残差を取得する。
【0050】
逆予測モジュール530は、取得された再構築された予測残差を逆量子化器525から受信し、点のそれぞれの取得されたLoDをLoD生成器520から受信する。逆予測モジュール530は、点のそれぞれの受信されたLoDに基づく順序で、受信された再構築された予測残差に予測アルゴリズムを適用することにより、受信された再構築された予測残差の再構築された属性をそれぞれ取得する。予測アルゴリズムは、例えば、補間、加重平均の計算、最近傍法、RDOなどの様々な予測アルゴリズムのうちのいずれかを含んでもよい。再構築された属性は、入力点群内の点のものである。
【0051】
次に、インターフレーム点群属性符号化のための方法および装置について詳細に説明する。このような方法および装置は、上述のG-PCC圧縮器303、すなわち、予測モジュール430で実施されることができる。このような方法および装置は、G-PCC解凍器310、すなわち、逆予測モジュール530で実施されてもよい。
【0052】
動き推定および補償
【0053】
実施形態では、ジオメトリベースまたはジョイントジオメトリ/属性ベースのグローバル/ローカル動き推定を実行することができる。
【0054】
詳細には、点群圧縮の文脈において、点群の位置などのジオメトリ情報は、属性符号化が実行されるときに利用可能である。この情報を活用または組み合わせて、動き推定を実行し、現在のフレームおよび参照フレームに存在する任意のローカルまたはグローバル動きを補償することができる。
【0055】
疎な点群データに対して動き推定を実行することは困難であるか、または信頼できない場合があるため、動き推定の結果として動き推定不信頼性尺度me_uncertaintyを取得することができる。動き推定不信頼性尺度は、一例として、類似した動きマッチングスコア、またはそのようなスコアの閾値テストを有する候補ターゲットサンプルの数に基づくことができる。動きマッチングスコアのそれぞれは、ブロックマッチングなどのプロセスを通じて取得されることができる。
【0056】
動き推定不信頼性尺度me_uncertainty(所定の閾値よりも大きい場合)は、インターフレーム予測の使用を無効/有効にすることができ、または予測におけるスケーリングまたは重み付け係数を決定する際に使用されることができる。
【0057】
修正された最近傍探索
【0058】
実施形態では、G-PCCにおける最近傍点群を採用する予測は、他のフレームからの近傍サンプルを追加の候補と見なすことができる。
【0059】
G-PCC設計では、点群のLoD層を以下のように生成する。まず、元の点群および参照点群を、モートンコードを用いてソートする。
【0060】
次に、元の点群をサンプル距離に従って、LoD層の上部から下部のLoDレベルまで連続的にサンプリングする。それから、1つのLoDに属する各点ごとに最近傍探索を実行する。その後、点群ごとに、幾何学的に近いサンプルがリストの最初の部分にある近傍リストを構築する。
【0061】
実施形態では、以下の規定は、インターフレーム群を用いた最近傍リスト構築をさらに容易にする。フラグinterframeが定義され、最近傍サンプルがイントラであるかインターであるかを示す。変数framenumが定義され、現在の点群フレームからのピクチャ順序カウント(Picture Order Count、POC)でのフレーム番号またはオフセットを示す。インターフレーム最近傍サンプルの最大数MaxInterNNが定義される。
【0062】
さらに、新しい点群サンプル候補がリストに既にあるものと比較されるたびに、距離の概念が定義される。このイントラ/インター混合予測の文脈では、フレーム間での属性値の可能な変化の度合いを反映するために、Temporal-to-Spatial Scale(TSScale)およびTSOffsetと呼ばれる変数が提出される。これらの値が大きい場合、時間的距離、速い動きの可能性、シーンの変化などにより、属性値が変化する可能性が高くなる。このような場合には、類似した3D座標を持つことは、属性値の近さと関連性が低い。
【0063】
最近傍探索および後の予測段階におけるその使用の実施形態では、TSScaleは、時間的距離対空間的距離の相対的な近接性をスケールアップ/スケールダウンするために使用されることができ、一方、TSOffsetは、フレームを仮想的に「マージ」して、混合されたイントラおよびインターフレームの中から群サンプルを選択する際に、参照フレーム内の点の3D座標にオフセットを追加するために使用されることができる。この「マージ」では、インターフレームサンプルを現在のフレームに属しているかのように扱い、この場合、同一の3Dロケーションに複数の候補予測サンプルが存在する可能性がある。
【0064】
実施形態では、最近傍サンプル候補の順序を再編成するオプションが追加される。エンコーダ(G-PCC圧縮器303)は、動き推定の確信度(すなわち、me_uncertainty)に基づいて、候補リストが構造化される手段、または時間的次元の距離がインターフレーム候補点群サンプルの加重平均または重み算出に反映される手段をシグナリングすることができる。
【0065】
実施形態では、動き推定不信頼性尺度me_uncertaintyを算出する方法は、現在のターゲットフレーム内の点群サンプルの数に対する、他のフレームからの1つまたは複数のインターフレーム参照点群サンプルをあわせた(すなわち、それに一致する、または対応する)現在のターゲットフレーム点群サンプルの数の比など、その反比例値を算出することを含む。他のフレームからの1つまたは複数のインターフレーム参照点群サンプルは、インターフレーム点群に対して提案された修正を加えた上述のような最近傍探索によって発見される。この比が小さいほど、動き推定の不確実性が高くなる。これは、提案された修正された最近傍探索からの出力として、本開示に記載されているような時空間距離メトリックによる時間的予測候補点が最近傍リストに含まれるからである。このような候補点がリスト内に多数存在すると、比の数値が大きくなり、現在のターゲットフレームと参照フレームが、明示的な動き補償、またはシーンおよびオブジェクトの静的な動かない性質のいずれかによって、合理的によく一致していることを意味する。
【0066】
動き推定不信頼性尺度が所定の閾値よりも大きいことに基づいて、一例として、エンコーダおよびデコーダ(G-PCC解凍器310)は、現在のフレームまたはターゲットフレームに対する動き補償をスキップすることに合意することができる。このプロセスは、修正された最近傍探索がエンコーダとデコーダの両方で行われるため可能である。したがって、余分に必要なオーバーヘッドシグナリングはない。これは、特にG-PCCに当てはまる。このプロセスは、予測/変換の前に動き補償を実行する適応的な方法で、点群データ全体の一部を指定することができる。
【0067】
属性のG-PCC予測変換への適用
【0068】
1. RDOインデックス符号化
【0069】
上記の実施形態は、上述したRDOベースの予測子選択に適用されることができる。詳細には、一定の条件の下で、時間的候補(interframe=1)により高い優先順位を割り当てるという規定が設けられている。実施形態では、動き推定不信頼性尺度me_uncertaintyが低い場合、時間的候補を最近傍リストに早期に入れることで、この時間的候補により高い優先順位が割り当てられ、その逆も同様である。これには、動き推定不信頼性尺度me_uncertaintyが所定の閾値より大きい場合、時間的候補を最近傍リストから除外することが含まれる。複数のインターフレームが存在する場合、(framenumによって示される)時間的距離がより近い候補点群サンプルは、より早くリストに配置される。
【0070】
RDOエンコーダ(G-PCC圧縮器303)およびデコーダ(G-PCC解凍器310)は、インターフレーム選択を追跡し、適応的なインデックス順序の切り替えを同期的に行うことができる。さらに、インターフレーム候補の数MaxInterNNは、上記条件に応じて適応的に変更されることができる。
【0071】
2. 距離ベースの平均予測
【0072】
上記の実施形態は、上述した距離加重平均予測に適用されることができる。詳細には、動き推定不信頼性尺度me_uncertaintyが高い場合、インターフレーム候補は加重平均に含まれない。
【0073】
実施形態では、現在の点群の属性値の距離加重平均予測
【数7】
は、以下のようにインターおよびイントラ最近傍サンプル値
【数8】
を用いて定義される。
【0074】
【0075】
ここで、n番目のサンプルの重みは次のように決定されることができる。
【0076】
【0077】
ただし、pは、属性aを有する現在の点群サンプルの位置であり、pnは、対応する属性値anを有するn番目の近傍サンプルの位置である。パラメータTSScaleおよびTSOffsetは、インターフレームの最近傍について上述の説明に従って割り当てられる。イントラ最近傍については、TSScaleは1に設定され、TSOffsetは0に設定される。
【0078】
図6は、実施形態による、インターフレーム点群属性符号化の方法600を示すフローチャートである。いくつかの実施では、
図6の1つまたは複数の処理ブロックは、G-PCC解凍器310によって実行されてもよい。いくつかの実施では、
図6の1つまたは複数の処理ブロックは、G-PCC圧縮器303など、G-PCC解凍器310とは別の、またはG-PCC解凍器310を含む他のデバイスまたはデバイス群によって実行されてもよい。
【0079】
図6を参照すると、第1のブロック610において、方法600は、ターゲットフレームの動き推定の動き推定不信頼性尺度として、ターゲットフレーム内の点群サンプルの数に対する、インターフレーム参照フレームの第2の点群サンプルをそれぞれあわせたターゲットフレームの第1の点群サンプルの数の比に反比例する値を取得するステップを含む。
【0080】
第2のブロック620において、方法600は、取得された動き推定不信頼性尺度が所定の閾値よりも大きいか否かを識別するステップを含む。
【0081】
第3のブロック630において、方法600は、取得された動き推定不信頼性尺度が所定の閾値よりも大きいと識別されたことに基づいて、ターゲットフレームの動き補償をスキップするステップを含む。
【0082】
第4のブロック640において、方法600は、取得された動き推定不信頼性尺度が所定の閾値以下と識別されたことに基づいて、ターゲットフレームの動き補償を実行するステップを含む。
【0083】
動き推定不信頼性尺度の値が小さいほど、動き推定の不確実性が大きいことを示してもよく、動き推定不信頼性尺度の値が大きいほど、動き推定の不確実性が小さいことを示してもよい。
【0084】
本方法は、最近傍探索アルゴリズムを用いて、第2の点群サンプルを取得するステップをさらに含んでもよい。
【0085】
本方法は、取得された動き推定不信頼性尺度が所定の閾値よりも大きいと識別されたことに基づいて、ターゲットフレーム内の点群サンプルのうちの1つに含まれる点の属性の予測をスキップするステップをさらに含んでもよい。
【0086】
本方法は、動き補償が実行されたターゲットフレーム内の点群サンプルのうちの1つに含まれる点の属性の予測を実行するステップをさらに含んでもよい。
【0087】
属性は、点の色値および反射率値のいずれか一方または両方を含んでもよい。
【0088】
予測を実行するステップは、属性に対して予測変換またはリフティング変換を適用するステップを含んでもよい。
【0089】
図6は、方法600の例示的なブロックを示しているが、いくつかの実施では、方法600は、
図6に描かれているものよりも追加のブロック、少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。さらに、または代わりに、方法600のブロックのうちの2つまたはそれより多くのブロックを並行して実行してもよい。
【0090】
さらに、提案された方法は、処理回路(例えば、1つまたは複数のプロセッサ若しくは1つまたは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的なコンピュータ読取可能な媒体に記憶されているプログラムを実行して、提案された方法のうちの1つまたは複数を実行する。
【0091】
図7は、実施形態による、インターフレーム点群属性符号化のための装置700のブロック図である。
【0092】
図7を参照すると、装置700は、取得コード710と、識別コード720と、スキップコード730と、実行コード740と、を含む。
【0093】
取得コード710は、少なくとも1つのプロセッサに、ターゲットフレームの動き推定の動き推定不信頼性尺度として、ターゲットフレーム内の点群サンプルの数に対する、インターフレーム参照フレームの第2の点群サンプルをそれぞれあわせたターゲットフレームの第1の点群サンプルの数の比に反比例する値を取得させるように構成される。
【0094】
識別コード720は、少なくとも1つのプロセッサに、取得された動き推定不信頼性尺度が所定の閾値よりも大きいか否かを識別させるように構成される。
【0095】
スキップコード730は、少なくとも1つのプロセッサに、取得された動き推定不信頼性尺度が所定の閾値よりも大きいと識別されたことに基づいて、ターゲットフレームの動き補償をスキップさせるように構成される。
【0096】
実行コード740は、少なくとも1つのプロセッサに、取得された動き推定不信頼性尺度が所定の閾値以下と識別されたことに基づいて、ターゲットフレームの動き補償を実行させるように構成される。
【0097】
動き推定不信頼性尺度の値が小さいほど、動き推定の不確実性が大きいことを示してもよく、動き推定不信頼性尺度の値が大きいほど、動き推定の不確実性が小さいことを示してもよい。
【0098】
取得コード710は、さらに、少なくとも1つのプロセッサに、最近接探索アルゴリズムを用いて、第2の点群サンプルを取得させるように構成されてもよい。
【0099】
スキップコード730は、さらに、少なくとも1つのプロセッサに、取得された動き推定不信頼性尺度が所定の閾値よりも大きいと識別されたことに基づいて、ターゲットフレーム内の点群サンプルのうちの1つに含まれる点の属性の予測をスキップさせるように構成されてもよい。
【0100】
実行コード740は、さらに、少なくとも1つのプロセッサに、動き補償が実行されたターゲットフレーム内の点群サンプルのうちの1つに含まれる点の属性の予測を実行させるようにさらに構成されてもよい。
【0101】
属性は、点の色値および反射率値のいずれか一方または両方を含んでもよい。
【0102】
実行コード740は、さらに、少なくとも1つのプロセッサに、属性に対して予測変換またはリフティング変換を適用させるように構成されてもよい。
【0103】
図8は、実施形態の実施に適したコンピュータシステム800の図である。
【0104】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、またはそのようなメカニズムを施されて、コンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などによって実行されることができる命令を含むコードを作成する任意の適切な機械コードまたはコンピュータ言語を用いて符号化されることができる。
【0105】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【0106】
コンピュータシステム800について、
図8に示されるコンポーネントは、本質的に例示的なものであり、実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定を示唆することも意図しない。コンポーネントの構成は、コンピュータシステム800の実施形態で示されるコンポーネントのうちのいずれか1つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきではない。
【0107】
コンピュータシステム800は、いくつかのヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(示されていない)によって、1人または複数のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることにも使用できる。
【0108】
入力ヒューマンインターフェースデバイスは、キーボード801、マウス802、トラックパッド803、タッチスクリーン810、ジョイスティック805、マイクフォン806、スキャナ807、カメラ808(それぞれ1つのみ示されている)のうちの1つまたは複数を含み得る。
【0109】
コンピュータシステム800は、特定のヒューマンインターフェース出力デバイスをも含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音声、光、および嗅覚/味覚を介して1人または複数のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン810またはジョイスティック805による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(スピーカ809、ヘッドホン(示されていない)など)、視覚出力デバイス(陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン810(それぞれタッチスクリーン入力能力を有するかもしくは有せず、それぞれ触覚フィードバック能力を有するかもしくは有しない。それらの一部は、ステレオグラフィック出力などの手段を介して、2次元の視覚出力または3次元以上の出力を出力することができる)、仮想現実眼鏡(示されていない)、ホログラフィックディスプレおよびスモークタンク(示されていない)など)、およびプリンタ(示されていない)を含み得る。グラフィックアダプタ850は、画像を生成してタッチスクリーン810に出力する。
【0110】
コンピュータシステム800は、人間がアクセス可能な記憶装置およびそれらの関連する媒体、例えば、CD/DVDなどの媒体821付きのCD/DVD ROM/RWドライブ820を含む光学媒体、サムドライブ822、リムーバブルハードドライブまたはソリッドステートドライブ823、テープやフロッピーディスクなどの従来の磁気媒体(示されていない)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(示されていない)などをも含むことができる。
【0111】
ここで開示された主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことをも当業者が理解するであろう。
【0112】
コンピュータシステム800は、1つまたは複数の通信ネットワーク855へのインターフェースをさらに含むことができる。通信ネットワーク855は、例えば、無線、有線、光学的であり得る。ネットワーク855は、さらに、ローカル、広域、大都市圏、車両用および産業用、リアルタイム、遅延耐性などであり得る。ネットワーク855の例は、イーサネット、無線LANなどのローカルエリアネットワーク、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、長期進化(LTE)などを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両用や産業用などを含む。ネットワーク855は、一般に、特定の汎用データポートまたは周辺バス849(例えば、コンピュータシステム800のユニバーサル・シリアル・バス(USB)ポートなど)に接続された外部ネットワークインターフェースアダプターを必要とする。他のものは一般に、以下で説明するようにシステムバスに接続することにより、コンピュータシステム800のコアに統合される。例えば、PCコンピュータシステムへのイーサネットインターフェースおよび/またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェースを含むネットワークインターフェース854が挙げられる。これらのネットワーク855のいずれかを用いて、コンピュータシステム800は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えばローカルまたはワイドエリアデジタルネットワークを用いる他のコンピュータシステムへの送信であり得る。特定のプロトコルおよびプロトコルスタックを上述したこれらのネットワーク855およびネットワークインターフェース854のそれぞれで使用することができる。
【0113】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインターフェース854は、コンピュータシステム800のコア840に接続されることができる。
【0114】
コア840は、1つまたは複数の中央処理装置(CPU)841、グラフィックスプロセッシングユニット(GPU)842、フィールドプログラマブルゲートエリア(FPGA)843の形態での専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ844などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)845、ランダムアクセスメモリ(RAM)846、非ユーザアクセス可能な内部ハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置847とともに、システムバス848を介して接続されてもよい。一部のコンピュータシステムでは、システムバス848は、1つまたは複数の物理プラグの形態でアクセスでき、追加のCPU、GPUなどによる拡張を可能にする。周辺機器は、コアのシステムバス848に直接、または周辺バス849を介して接続されることができる。周辺バスのアーキテクチャは、ペリフェラルコンポーネントインターコネクト(PCI)、USBなどを含む。
【0115】
CPU841、GPU842、FPGA843、およびハードウェアアクセラレータ844は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM845またはRAM846に記憶されることができる。推移データはRAM846にも記憶できるが、永続データは、例えば、内部大容量ストレージ847に記憶されることができる。CPU841、GPU842、大容量ストレージ847、ROM845、RAM846などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速保存および検索が可能になる。
【0116】
コンピュータ読取可能な媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを備えることができる。媒体およびコンピュータコードは、実施形態の目的のために特別に設計および構築されたものであり得るか、もしくは、それらは、コンピュータソフトウェア技術の当業者に周知であって利用可能な種類のものであり得る。
【0117】
限定ではなく、一例として、アーキテクチャを有するコンピュータシステム800、特にコア840は、1つまたは複数の有形のコンピュータ読取可能な媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果としての機能性を提供することができる。このようなコンピュータ読取可能な媒体は、以上で紹介したようにユーザがアクセス可能な大容量ストレージ、および、コア内部大容量ストレージ847またはROM845などの非一時的な性質を持つコア840の特定のストレージに関連付けられた媒体であり得る。様々な実施形態を実施するソフトウェアは、このようなデバイスに記憶され、コア840によって実行されることができる。コンピュータ読取可能な媒体は、特定の必要に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア840、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM846に記憶されたデータ構造を定義すること、および、ソフトウェアで定義されたプロセスに従ってこのようなデータ構造を変更することを含む、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または、代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路(例えば、ハードウェアアクセラレータ844)に有線接続されたまたは組み込まれたロジックの結果としての機能性を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ読取可能な媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を含むことができる。実施形態は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【0118】
本開示は一部の実施形態を説明してきたが、本開示の範囲内に含まれる変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、その思想および範囲内に含まれる様々なシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0119】
200 通信システム
210 端末
220 端末
230 端末
240 端末
250 通信ネットワーク
300 ストリーミングシステム
301 点群ソース
302 点群データ
303 圧縮器
304 点群データ
305 ストリーミングサーバ
306 クライアント
308 ストリーミングクライアント
310 解凍器
312 ディスプレイ
313 キャプチャサブシステム
405 量子化器
410 点除去モジュール
415 八分木エンコーダ
420 属性転送モジュール
425 生成器
430 予測モジュール
435 量子化器
440 算術符号化器
505 算術デコーダ
510 八分木デコーダ
515 逆量子化器
520 生成器
525 逆量子化器
530 逆予測モジュール