発明の詳細な説明
本実施形態の少なくとも1つについて、本実施形態の少なくとも1つの複数の例を示す添付図面を参照しながら以下により詳細に記述する。しかし、1つの実施形態が多くの代替的な形式で具現化され得、本明細書に開示する例に限定されるものと解釈すべきではない。従って、開示する特定の形式に実施形態を限定する意図がないことを理解されたい。逆に、本開示は、本出願の範囲に含まれる全ての変更形態、均等物及び代替形態を網羅することを意図する。
図がフロー図として提示される場合、対応する装置のブロック図も提示されるものと理解されたい。同様に、図がブロック図として提示される場合、対応する方法/処理のフロー図も提示されるものと理解されたい。
複数の図の類似又は同一の要素は、同一の参照番号で参照される。
いくつかの図は、V-PCCに準拠するビットストリームの構造を定義するV-PCCで広く用いられる構文テーブルを表す。これらの構文テーブルにおいて、用語「...」は、V-PCCで与えられるが、読み易いように図で省略された元の定義に関して不変である構文の部分を表す。図中の太字の用語は、その用語の値がビットストリームを解析することにより得られたことを示す。構文テーブルの右列は、構文要素のデータの符号化に要するビット数を示す。例えば、u(4)は、データの符号化に4ビットを用いることを示し、u(8)は、データの符号化に8ビットを用いることを示し、ae(v)は、文脈適応算術エントロピー符号化構文要素を示す。
以下に記述及び考察する態様は、多くの異なる形式で実装され得る。以下の図1~15は、いくつかの実施形態を示すが、他の実施形態も考えられ、図1~15の内容は、実装形態の広さを限定しない。
複数の態様の少なくとも1つは、一般に、点群符号化及び復号化に関し、他の少なくとも1つの態様は、一般に、生成又は符号化されたビットストリームの送信に関する。
より厳密には、本明細書に記述する各種の方法及び他の態様は、モジュール、例えば図3のパッチ情報エンコーダ3700で生じるようなメタデータの符号化に関連するモジュール、及び図4のパッチ情報デコーダ4400又は図4のジオメトリ生成モジュール4500における再構成処理で生じるようなメタデータの復号化に関連するモジュールの変更に用いることができる)。
更に、本態様は、点群圧縮に関するMPEG-I第5部のようなMPEG標準に限定されず、例えば既存の又は将来的に設定される他の標準及び勧告並びにそのような標準及び勧告(MPEG-I第5部を含む)の任意の拡張に適用され得る。別途指示されるか又は技術的に排除されない限り、本出願に記述する複数の態様は、個別に又は組み合わせて用いることができる。
以下では、画像データは、データ、例えば特定の画像/ビデオ形式の2Dサンプルの1つ又は複数のアレイを指す。特定の画像/ビデオ形式は、画像(又はビデオ)のピクセル値に関する情報を指定することができる。特定の画像/ビデオ形式は、ディスプレイ及び/又は他の任意の装置により、例えば画像(又はビデオ)を視覚化及び/又は復号化するために利用できる情報を指定することもできる。画像は、典型的には、通常、画像の輝度(又はルーマ)を表すサンプルの第1の2Dアレイの形状で第1の成分を含む。画像は、通常、画像のクロミナンス(又は彩度)を表すサンプルの他の2Dアレイの形状で第2の成分及び第3の成分も含み得る。いくつかの実施形態は、従来の三色RGB表現のようなカラーサンプルの2Dアレイの組を用いて同じ情報を表す。
1つ以上の実施形態では、ピクセル値をC個の値のベクトルにより表現し、ここで、Cは、成分の数である。ベクトルの各値は、典型的には、ピクセル値のダイナミックレンジを定義できるビットの数で表される。
画像ブロックは、画像に属するピクセルの組を意味する。画像ブロック(又は画像ブロックデータ)のピクセル値は、画像ブロックに属するピクセルの値を指す。画像ブロックは、任意の形状を有し得るが、長方形が一般的である。
点群は、一意な座標を有し、且つ1つ以上の属性を有し得る3D体積空間内の3Dサンプルのデータ組により表すことができる。
データ組の3Dサンプルは、空間位置(3D空間のX、Y及びZ座標)及び場合により例えばRGB又はYUV色空間で表現される色、透過率、反射率、2成分法線ベクトル又はサンプルの特徴を表す任意の特徴等の1つ以上の関連する属性により定義することができる。例えば、3Dサンプルを6つの成分(X、Y、Z、R、G、B)又は均等に(X、Y、Z、y、U、V)で定義することができ、ここで、(X,Y,Z)は、3D空間内の点の座標を定義し、(R,G,B)又は(y,U,V)は、3Dサンプルの色を定義する。同種の属性が複数回存在し得る。例えば、複数の色属性は、異なる視点からの色情報を提供することができる。
点群は、群が時間経過に伴って変化するか否かに応じて静的又は動的であり得る。静的点群又は動的点群のインスタンスは、通常、点群フレームと表記される。動的点群の場合、点の数が一般に一定ではなく、逆に一般に時間経過に伴って変化することに留意されたい。より一般的には、点群が動的であると考えられるのは、何らかの属性、例えば点の数、1つ以上の点の位置又は任意の点の任意の属性が時間経過に伴って変化する場合である。
一例として、2Dサンプルは、6つの成分(u、v、Z、R、G、B)又は均等に(u、v、Z、y、U、V)により定義することができる。(u,v)は、射影平面の2D空間における2Dサンプルの座標を定義する。Zは、射影平面に射影された3Dサンプルの深さ値である。(R,G,B)又は(y,U,V)は、3Dサンプルの色を定義する。
図1は、本実施形態の少なくとも1つによる2層構成の点群符号化構造1000の一例の概略ブロック図を示す。
2層構成の点群符号化構造1000は、入力点群フレームIPCFを表すビットストリームBを生成することができる。場合により、前記入力点群フレームIPCFは、動的点群のフレームを表す。次いで、前記動的点群のフレームは、別のフレームとは独立に2層構成の点群符号化構造1000により符号化することができる。
基本的に、2層構成の点群符号化構造1000は、ビットストリームBを基層BL及び拡張層ELとして構築する能力を提供することができる。基層BLは、入力点群フレームIPCFの損失表現を提示することができ、拡張層ELは、基層BLにより表現されない孤立点を符号化することにより、より高品質(場合により無損失)の表現を提示することができる。
基層BLは、図3に示すように、画像解析エンコーダ3000により提供することができる。前記画像解析エンコーダ3000は、入力点群フレームIPCFの3Dサンプルのジオメトリ/属性を表すジオメトリ/テクスチャ画像を提供することができる。これにより、孤立した3Dサンプルを除去することができる。基層BLは、中間の再構成された点群フレームIRPCFを提供できる、図4に示すような画像解析デコーダ4000により復号化することができる。
次いで、図1の2層構成の点群符号化1000に戻り、コンパレータCOMPは、逸失/孤立3Dサンプルを検知/位置特定するために、入力点群フレームIPCFの3Dサンプルを中間の再構成された点群フレームIRPCFの3Dサンプルと比較することができる。次に、エンコーダENCは、逸失3Dサンプルを符号化して拡張層ELを提供することができる。最後に、基層BL及び拡張層ELをマルチプレクサMUXにより多重化して、ビットストリームBを生成することができる。
一実施形態によれば、エンコーダENCは、中間の再構成された点群フレームIRPCFの3D基準サンプルRを検知して、逸失3DサンプルMに関連付けることができる検知器を含み得る。
例えば、逸失3DサンプルMに関連付けられた3D基準サンプルRは、所与の尺度によるMの最近隣であり得る。
一実施形態によれば、エンコーダENCは、次いで、逸失3DサンプルMの空間位置及びそれらの属性を、前記3D基準サンプルRの空間位置及び属性に従って決定された差異として符号化することができる。
一変型形態において、これらの差異は、別個に符号化することができる。
例えば、空間座標x(M)、y(M)及びz(M)を有する逸失3DサンプルMの場合、x座標位置差Dx(M)、y座標位置差Dy(M)、Z座標位置差Dz(M)、R属性成分差Dr(M)、G属性成分差Dg(M)及びB属性成分差Db(M)は、以下のように計算することができる:
Dx(M)=x(M)-x(R)
(式中、x(M)は、図3に示すジオメトリ画像の3DサンプルM又はRのx座標である)、
Dy(M)=y(M)-y(R)
(式中、y(M)は、図3に示すジオメトリ画像の3DサンプルM又はRのy座標である)、
Dz(M)=z(M)-z(R)
(式中、z(M)は、図3に示すジオメトリ画像の3DサンプルM又はRのz座標である)、
Dr(M)=R(M)-R(R)
(式中、R(M)又はR(R)は、3DサンプルM又はRの色属性のr色成分である)、
Dg(M)=G(M)-G(R)
(式中、G(M)又はG(R)は、3DサンプルM又はRの色属性のg色成分である)、
Db(M)=B(M)-B(R)
(式中、B(M)又はB(R)は、3DサンプルM又はRの色属性のb色成分である)。
図2は、本実施形態の少なくとも1つによる2層構成の点群復号化構造2000の一例の概略ブロック図を示す。
2層構成の点群復号化構造2000の挙動は、能力に依存する。
能力が限定された2層構成の点群復号化構造2000は、デマルチプレクサDMUXを用いて、ビットストリームBからの基層BLのみにアクセスし、次いで、図4に示すように、点群デコーダ4000により基層BLを復号化により入力点群フレームIPCFの忠実な(しかし、損失的な)バージョンIRPCFを提供することができる。
全能力を有する2層構成の点群復号化構造2000は、デマルチプレクサDMUXを用いて、ビットストリームBから基層BL及び拡張層ELの両方にアクセスすることができる。点群デコーダ4000は、図4に示すように、基層BLから中間の再構成された点群フレームIRPCFを決定することができる。デコーダDECは、拡張層ELから相補点群フレームCPCFを決定することができる。次いで、コンバイナCOMは、中間の再構成された点群フレームIRPCFと相補点群フレームCPCFとを組み合わせることにより、入力点群フレームIPCFのより高品質(場合により無損失)の表現(再構成)CRPCFを提供することができる。
図3は、本実施形態の少なくとも1つによる画像解析点群エンコーダ3000の一例の概略ブロック図を示す。
画像解析点群エンコーダ3000は、既存のビデオコーデックを利用して動的点群のジオメトリ及びテクスチャ(属性)情報を圧縮する。これは、点群データを、異なるビデオシーケンスの組に本質的に変換することにより実現される。
特定の実施形態において、既存のビデオコーデックを用いて、1つが点群データのジオメトリ情報を捕捉し、他の1つがテクスチャ情報を捕捉する2つのビデオを生成及び圧縮することができる。既存のビデオコーデックの一例は、HEVC主プロファイルエンコーダ/デコーダ(ITU(02/2018)、シリーズHのITU-T H.265電気通信標準化セクター:視聴覚及びマルチメディアシステム、視聴覚サービスのインフラ - 動画ビデオの符号化、高効率ビデオ符号化、勧告ITU-T H.265)である。
2つのビデオの解釈に用いる追加的メタデータも典型的には別個に生成及び圧縮される。そのような追加的メタデータは、例えば、占有マップOM及び/又は補助パッチ情報PIを含む。
生成されたビデオビットストリーム及びメタデータは、次いで、多重化されて結合ビットストリームを生成し得る。
メタデータは、典型的には、全体的な情報の僅かな量のみを表すことに留意されたい。大部分の情報は、ビデオビットストリームに存在する。
そのような点群符号化/復号化処理の一例は、ISO/IEC JTC1/SC29/WG11 MPEG2019/w18180(2019年1月、Marrakesh)に定義されているMPEGドラフト標準を実装するテストモデルカテゴリ2アルゴリズム(V-PCCとも表記)に与えられている。
ステップ3100において、モジュールPGMは、最良圧縮を提供する戦略を用いて、入力点群フレームIPCFのデータ組を表す3Dサンプルを射影平面上の2Dサンプルに分解することにより、少なくとも1つのパッチを生成することができる。
パッチは、2Dサンプルの組として定義することができる。
例えば、V-PCCにおいて、例えばHoppeら(Hugues Hoppe, Tony DeRose, Tom Duchamp, John McDonald, Werner Stuetzle, Surface reconstruction from unorganized points. ACM SIGGRAPH 1992 Proceedings, 71-78)に記述されているように、3Dサンプル毎に法線を最初に推定する。次に、各3Dサンプルを、入力点群フレームIPCFの3Dサンプルを含む3D境界ボックスの6つの有向平面の1つに関連付けることにより、入力点群フレームIPCFの初期クラスタリングを取得する。より厳密には、各3Dサンプルは、クラスタリングされ、最も近い法線を有する(すなわち点法線と平面法線との内積を最大化する)有向平面に関連付けられる。次いで、3Dサンプルを、関連付けられた平面に射影する。平面内の接続領域を形成する3Dサンプルの組を接続成分と呼ぶ。接続成分は、類似した法線及び関連付けられた同一の有向平面を有する少なくとも1つの3Dサンプルの組である。初期クラスタリングは、次いで、法線及び最も近い隣接サンプルのクラスタに基づいて、各3Dサンプルに関連付けられたクラスタを反復的に更新することにより改良される。最終ステップは、各接続成分から1つのパッチを生成することからなり、各接続成分の3Dサンプルを、前記接続成分に関連付けられた有向平面に射影することにより行われる。パッチは、ジオメトリ及び/又は属性情報に対応する射影2Dサンプルを解釈するために、パッチ毎に定義された補助パッチ情報を表す補助パッチ情報PIに関連付けられる。
V-PCCにおいて、例えば、補助パッチ情報PIは、1)接続成分の3Dサンプルを含む3D境界ボックスの6つの有向平面の1つを示す情報、2)平面法線に関連する情報、3)深さ、接線変位及び双接線変位として表される、パッチに相対的な接続成分の3D位置を決定する情報、及び4)パッチを含む2D境界ボックスを画定する射影平面内の座標(u0、v0、u1、v1)等の情報を含む。
ステップ3200において、パッチパッキングモジュールPPMは、少なくとも1つの生成されたパッチを、未使用空間を典型的に最小化する重なりが一切生じないように2D格子(キャンバスとも呼ばれる)にマッピング(配置)して、2D格子の全てのT×T(例えば、16×16)個のブロックが一意なパッチに関連付けられることを保証することができる。2D格子の所与の最小ブロックサイズT×Tは、2D格子に配置された異なるパッチ間の最短距離を指定することができる。2D格子の解像度は、入力点群サイズ並びにその幅W及び高さHに依存し得、ブロックサイズTは、メタデータとしてデコーダに送信され得る。
補助パッチ情報PIは、2D格子のブロックとパッチとの関連付けに関連する情報を更に含み得る。
V-PCCにおいて、補助情報PIは、2D格子のブロックとパッチ索引との関連付けを決定するブロック対パッチ索引情報(BlockToPatch)を含み得る。
図3aは、2つのパッチP1及びP2並びにそれらに関連付けられた2D境界ボックスB1及びB2を含むキャンバスCの一例を示す。2つの境界ボックスは、図3aに示すように、キャンバスC内で重なり得ることに留意されたい。2D格子(キャンバスの分割)は、境界ボックス内でのみ表されるが、これらの境界ボックスの外側でキャンバスの分割も生じる。パッチに関連付けられた境界ボックスは、T×T個のブロックに分割でき、典型的にはT=16である。
パッチに属する2Dサンプルを含むT×T個のブロックは、対応する占有マップOM内の占有されたブロックと見なすことができる。占有マップOMのブロックは、従って、ブロックが占有されているか否か、すなわちパッチに属する2Dサンプルを含むか否かを示す。
図3aにおいて、占有ブロックを白いブロックで表し、明るいグレーのブロックを空きブロックを表す。画像生成処理(ステップ3300及び3400)は、少なくとも1つの生成されたパッチの、ステップ3200で計算された2D格子へのマッピングを利用して、入力点群フレームIPCFのジオメトリ及びテクスチャを画像として保存する。
ステップ3300において、ジオメトリ画像ジェネレータGIGは、入力点群フレームIPCF、占有マップOM及び補助パッチ情報PIから少なくとも1つのジオメトリ画像GIを生成することができる。ジオメトリ画像ジェネレータGIGは、ジオメトリ画像GI内における占有ブロック、従って非空ピクセルを検出(位置特定)するために占有マップ情報を利用することができる。
ジオメトリ画像GIは、入力点群フレームIPCFのジオメトリを表すことができ、例えばYUV420-8bit形式で表されたW×Hピクセルのモノクロ画像であり得る。
(同一の射影方向(線)に沿って)射影平面の同じ2Dサンプルに射影(マッピング)される複数の3Dサンプルのケースをより良好に扱うために、層と呼ばれる複数の画像が生成される場合がある。従って、異なる深さ値D1,...,Dnがパッチの2Dサンプルに関連付けられ得、次いで複数のジオメトリ画像が生成され得る。
V-PCCにおいて、パッチの2Dサンプルが2つの層に射影される。近方層とも呼ばれる第1の層は、例えば、より浅い深さを有する2Dサンプルに関連付けられた深さ値D0を保存することができる。遠方層とも呼ばれる第2の層は、例えば、より深い深さを有する2Dサンプルに関連付けられた深さ値D1を保存することができる。代替的に、第2の層は、深さ値D1及びD0間の差異値を保存することができる。例えば、第2の深さ画像により保存された情報は、[D0,D0+Δ]の範囲の深さ値に対応する間隔[0,Δ]の範囲であり得、ここで、Δは、表面の厚さを記述するユーザー定義パラメータである。
このように、第2の層は、顕著な等高線状の高周波特性を含み得る。従って、従来のビデオコーダーを用いる第2の深さ画像の符号化は、困難であることが明らかであり、従って前記復号化された第2の深さ画像から深さ値が良好に再構成されず、再構成された点群フレームのジオメトリの品質が低い場合がある。
一実施形態によれば、ジオメトリ画像生成モジュールGIGは、補助パッチ情報PIを用いて、第1及び第2の層の2Dサンプルに関連付けられた深さ値を符号化(導出)することができる。
V-PCCにおいて、対応する接続成分を有するパッチ内の3Dサンプルの位置は、深さδ(u,v)、接線シフトs(u,v)及び双接線シフトr(u,v)を用いて、以下の式で表すことができる。
δ(u,v)=δ0+g(u,v)
s(u,v)=s0-u0+u
r(u,v)=r0-v0+v
ここで、g(u,v)は、ジオメトリ画像のルーマ成分であり、(u,v)は、射影平面上の3Dサンプルに関連付けられたピクセルであり、(δ0,s0,r0)は、3Dサンプルが属する接続成分の対応するパッチの3D位置であり、(u0,v0,u1,v1)は、前記接続成分に関連付けられたパッチの射影平面を含む2D境界ボックスを画定する前記射影平面内の座標である。
従って、ジオメトリ画像生成モジュールGIGは、(第1若しくは第2の又は両方の)層の2Dサンプルに関連付けられた深さ値を、g(u,v)=δ(u,v)-δ0で与えられるルーマ成分g(u,v)として符号化(導出)することができる。この関係は、補助パッチ情報PIを伴う再構成されたジオメトリ画像g(u,v)から3Dサンプル位置(δ0,s0,r0)への再構成に利用できることに留意されたい。
一実施形態によれば、射影モードを用いて、第1のジオメトリ画像GI0が第1又は第2の層の2Dサンプルの深さ値を保存できるか否か、及び第2のジオメトリ画像GI1が第2又は第1の層の2Dサンプルに関連付けられた深さ値を保存できるか否かを示すことができる。
例えば、射影モードが0に等しい場合、第1のジオメトリ画像GI0は、第1の層の2Dサンプルの深さ値を保存することができ、第2のジオメトリ画像GI1は、第2の層の2Dサンプルに関連付けられた深さ値を保存することができる。逆に、射影モードが1に等しい場合、第1のジオメトリ画像GI0は、第2の層の2Dサンプルの深さ値を保存することができ、第2のジオメトリ画像GI1は、第1の層の2Dサンプルに関連付けられた深さ値を保存することができる。
一実施形態によれば、フレーム射影モードを用いて、全てのパッチに固定射影モードが用いられたか否か、又は各パッチが異なる射影モード用い得る可変射影モードが用いられたか否かを示すことができる。
射影モード及び/又はフレーム射影モードは、メタデータとして送信することができる。
フレーム射影モード決定アルゴリズムは、例えば、V-PCCのセクション2.2.1.3.1に示されている。
一実施形態によれば、フレーム射影が可変射影モードを用い得ることを示す場合、パッチ射影モードを用いて、パッチの射影(解除)の使用に適したモードを示すことができる。
パッチ射影モードは、メタデータとして送信することができ、場合により補助パッチ情報PIに含まれる情報であり得る。
パッチ射影モード決定アルゴリズムは、例えば、V-PCCのセクション2.2.1.3.2に示されている。
ステップ3300の実施形態によれば、パッチの2Dサンプル(u,v)に対応する第1のジオメトリ画像、例えばGI0のピクセル値は、前記2Dサンプル(u,v)に対応する射影線に沿って定義された少なくとも1つの中間3Dサンプルに関連付けられた深さ値を表すことができる。前記中間3Dサンプルは、射影線に沿って存在し、その深さ値D1が第2のジオメトリ画像、例えばGI1に符号化される、2Dサンプル(u,v)の同一の座標を共有する。更に、上述の中間3Dサンプルは、深さ値D0~深さ値D1の深さ値を有し得る。中間3Dサンプルが存在する場合に1に、さもなければ0に設定されるように指定されたビットは、前記中間3Dサンプルの各々に関連付けられ得る。
次いで、前記射影線に沿う全ての前記指定ビットが連接されて、以下で拡張デルタ深度(EDD)符号と呼ぶ符号語を形成することができる。最後に、全てのEDD符号を画像、例えば第1のジオメトリ画像GI1又は占有マップOMにパックすることができる。
ステップ3400において、テクスチャ画像ジェネレータTIGは、少なくとも1つのテクスチャ画像TIを、入力点群フレームIPCF、占有マップOM、補助パッチ情報PI及びビデオデコーダVDEC(図4のステップ4200)の出力である少なくとも1つの復号化されたジオメトリ画像DGIから導出された再構成点群フレームのジオメトリから生成することができる。
テクスチャ画像TIは、入力点群フレームIPCFのテクスチャを表し、例えばYUV420-8bit形式で表されたW×Hピクセルの画像であり得る。
テクスチャ画像ジェネレータTGは、占有マップ情報を用いて、テクスチャ画像内の占有されたブロック、従って非空ピクセルを検知(位置を特定)することができる。
テクスチャ画像ジェネレータTIGは、テクスチャ画像TIを生成して、各ジオメトリ画像/層DGIに関連付けるように適合され得る。
一実施形態によれば、テクスチャ画像ジェネレータTIGは、第1の層の2Dサンプルに関連付けられたテクスチャ(属性)値T0を第1のテクスチャ画像TI0のピクセル値として、且つ第2の層の2Dサンプルに関連付けられたテクスチャ値T1を第2のテクスチャ画像TI1のピクセル値として符号化(保存)することができる。
代替的に、テクスチャ画像生成モジュールTIGは、第2の層の2Dサンプルに関連付けられたテクスチャ値T1を第1のテクスチャ画像TI0のピクセル値として、且つ第1の層の2Dサンプルに関連付けられたテクスチャ値D0を第2のジオメトリ画像GI1のピクセル値として符号化(保存)することができる。
例えば、3Dサンプルの色は、V-PCCのセクション2.2.3、2.2.4、2.2.5、2.2.8又は2.5で記述したように取得することができる。
一実施形態によれば、パディング処理をジオメトリ及び/又はテクスチャ画像に適用することができる。パディング処理を用いてパッチ間の空きスペースを満たして、ビデオ圧縮に適した区分的に滑らかな画像を生成することができる。
画像パディングの例は、V-PCCのセクション2.2.6及び2.2.7に示されている。
ステップ3500において、ビデオエンコーダVENCは、生成された画像/層TI及びGIを符号化することができる。
ステップ3600において、エンコーダOMENCは、例えば、V-PCCのセクション2.2.2において詳述されるように、占有マップを画像として符号化することができる。損失又は無損失符号化を用い得る。
一実施形態によれば、ビデオエンコーダENC及び/又はOMENCは、HEVCに基づくエンコーダであり得る。
ステップ3700において、エンコーダPIENCは、補助パッチ情報PI並びに場合によりジオメトリ/テクスチャ画像のブロックサイズT、幅W及び高さH等の追加的メタデータを符号化することができる。
一実施形態によれば、補助パッチ情報は、異なる方法で符号化することができる(例えば、V-PCCのセクション2.4.1で定義されたように)。
ステップ3800において、ステップ3500、3600及び3700の生成された出力にマルチプレクサを適用し、その結果、これらの出力を多重化して、基層BLを表すビットストリームを生成することができる。メタデータ情報は、ビットストリーム全体の僅かな部分を表すことに留意されたい。大部分の情報は、ビデオコーデックを用いて圧縮される。
図4は、本実施形態の少なくとも1つによる画像解析点群デコーダ4000の一例の概略ブロック図を示す。
ステップ4100において、デマルチプレクサDMUXを適用して、基層BLを表すビットストリームの符号化された情報を非多重化することができる。
ステップ4200において、ビデオデコーダVDECは、符号化された情報を復号化して、少なくとも1つの復号化されたジオメトリ画像DGI及び少なくとも1つの復号化されたテクスチャ画像DTIを導出することができる。
ステップ4300において、デコーダOMDECは、符号化された情報を復号化して、復号化された占有マップDOMを導出することができる。
一実施形態によれば、ビデオデコーダVDEC及び/又はOMDECは、HEVCに基づくデコーダであり得る。
ステップ4400において、デコーダPIDECは、符号化された情報を復号化して、補助パッチ情報DPIを導出することができる。
場合により、メタデータもビットストリームBLから導出することができる。
ステップ4500において、ジオメトリ生成モジュールGGMは、少なくとも1つの復号化されたジオメトリ画像DGI、復号化された占有マップDOM、復号化された補助パッチ情報DPI及び可能な追加的メタデータから再構成された点群フレームIRPCFのジオメトリRGを導出することができる。
ジオメトリ生成モジュールGGMは、少なくとも1つの復号化されたジオメトリ画像DGI内における非空ピクセルの位置を特定するために、復号化された占有マップ情報DOMを利用することができる。非空ピクセルに関連付けられた再構成された3Dサンプルの3D座標は、次いで、前記非空ピクセルの座標及び前記再構成された2Dサンプルの値から導出することができる。
一実施形態によれば、ジオメトリ生成モジュールGGMは、非空ピクセルの座標から再構成された3Dサンプルの3D座標を導出することができる。
一実施形態によれば、ジオメトリ生成モジュールGGMは、再構成された3Dサンプルの3D座標を、非空ピクセルの座標、少なくとも1つの復号化されたジオメトリ画像DGIの1つの前記非空ピクセルの値、復号化された補助パッチ情報及び場合により追加的メタデータから導出することができる。
非空ピクセルの使用は、3Dサンプルとの2Dピクセルの関係に基づく。例えば、V-PCCにおける上述の射影平面により、再構成された3Dサンプルの3D座標は、深さδ(u,v)、接線シフトs(u,v)及び双接線シフトr(u,v)に関して以下のように表すことができる。
δ(u,v)=δ0+g(u,v)
s(u,v)=s0-u0+u
r(u,v)=r0-v0+v
ここで、g(u,v)は、復号化されたジオメトリ画像DGIのルーマ成分であり、(u,v)は、再構成された3Dサンプルに関連付けられたピクセルであり、(δ0,s0,r0)は、再構成された3Dサンプルが属する接続成分の3D位置であり、(u0,v0,u1,v1)は、前記接続成分に関連付けられたパッチの射影を含む2D境界ボックスを画定する射影平面内の座標である。
ステップ4600において、テクスチャ生成モジュールTGMは、ジオメトリRG及び少なくとも1つの復号化されたテクスチャ画像DTIから、再構成された点群フレームIRPCFのテクスチャを導出することができる。
図5は、本実施形態の少なくとも1つによる基層BLを表すビットストリームの一構文例を概略的に示す。
ビットストリームは、ビットストリームヘッダSH及び少なくとも1つのフレームストリームグループGOFSを含む。
フレームストリームグループGOFSは、ヘッダHS、占有マップOMを表す少なくとも1つの構文要素OMS、少なくとも1つのジオメトリ画像(又はビデオ)を表す少なくとも1つの構文要素GVS、少なくとも1つのテクスチャ画像(又はビデオ)を表す少なくとも1つの構文要素TVS及び補助パッチ情報と他の追加的メタデータとを表す少なくとも1つの構文要素PISを含む。
一変型形態において、フレームストリームグループGOFSは、少なくとも1つのフレームストリームを含む。
図6は、各種の態様及び実施形態が実装されたシステムの一例を示す概略ブロック図を示す。
システム6000は、後述する各種の構成要素を含む1つ以上の装置として具現化され得、本明細書に記述する1つ以上の態様を実行するように構成される。システム6000の全部又は一部を形成し得る設備の例には、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルビデオ受信機、個人ビデオ録画システム、接続家電、接続車両及び付随する処理システム、ヘッドマウントディスプレイ装置(HMD、素通し眼鏡)、プロジェクタ(ビーマー)、「ケイブ」(複数のディスプレイを含むシステム)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダからの出力を処理するポストプロセッサ、ビデオエンコーダへの入力を提供するプリプロセッサ、ウェブサーバ、セットトップボックス及び点群、ビデオ若しくは画像を処理する他の任意の装置又は他の通信装置が含まれる。システム6000の要素は、単独で又は組み合わせて、単一の集積回路、複数のIC及び/又は別個の構成要素として具現化することができる。例えば、少なくとも1つの実施形態において、システム6000の処理及びエンコーダ/デコーダ要素は、複数のIC及び/又は別個の構成要素にわたり分散され得る。各種の実施形態において、システム6000は、例えば、通信バスを介して又は専用の入力及び/又は出力ポートを通して他の同様のシステム又は他の電子装置に通信可能に結合され得る。各種の実施形態において、システム6000は、本明細書に記述する1つ以上の態様を実装するように構成され得る。
システム6000は、例えば、本明細書に記述する各種の態様を実行するためにロードされた命令を実行するように構成された少なくとも1つのプロセッサ6010を含み得る。プロセッサ6010は、当技術分野で公知の埋め込みメモリ、入出力インターフェース及び他の各種の回路を含み得る。システム6000は、少なくとも1つのメモリ6020(例えば、揮発性メモリ素子及び/又は不揮発性メモリ素子)を含み得る。システム6000は、記憶装置6040を含み得、装置は、電気的消去可能プログラム可能読出専用メモリ(EEPROM)、読出専用メモリ(ROM)、プログラム可能読出専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ及び/又は光ディスクドライブを含むが、これらに限定されない不揮発メモリ及び/又は揮発性メモリを含み得る。記憶装置6040は、内蔵記憶装置、取付記憶装置及び/又はネットワークアクセス可能記憶装置を非限定的な例として含み得る。
システム6000は、例えば、データを処理して符号化されたデータ又は復号化されたデータを提供するように構成されたエンコーダ/デコーダモジュール6030を含み得、エンコーダ/デコーダモジュール6030は、自らのプロセッサ及びメモリを含み得る。エンコーダ/デコーダモジュール6030は、符号化及び/又は復号化機能を実行する装置に含まれ得るモジュールを表し得る。公知のように、装置は、符号化及び復号化モジュールの一方又は両方を含み得る。また、エンコーダ/デコーダモジュール6030は、当業者に公知のように、システム6000の別個の要素として実装され得るか、又はハードウェアとソフトウェアとの組み合わせとしてプロセッサ6010内に組み込まれ得る。
本明細書に記述する各種の態様を実行するためにプロセッサ6010又はエンコーダ/デコーダ6030にロードされるプログラムコードは、記憶装置6040に保存され、次いでプロセッサ6010によって実行されるようにメモリ6020にロードされ得る。各種の実施形態によれば、1つ以上のプロセッサ6010、メモリ6020、記憶装置6040及びエンコーダ/デコーダモジュール6030は、本明細書に記述する処理の実行中に1つ以上の各種の項目を保存することができる。このように保存された項目は、点群フレーム、符号化/復号化されたジオメトリ/テクスチャビデオ/画像又は符号化/復号化されたジオメトリ/テクスチャビデオ/画像の一部、ビットストリーム、マトリクス、変数及び方程式、公式、演算及び演算論理の処理からの中間又は最終結果を含むが、これらに限定されない。
いくつかの実施形態において、プロセッサ6010及び/又はエンコーダ/デコーダモジュール6030内のメモリを用いて、命令を保存し、符号化又は復号化中に実行され得る処理の作業メモリを提供することができる。
しかし、他の実施形態では、処理装置(例えば、処理装置は、プロセッサ6010又はエンコーダ/デコーダモジュール6030のいずれかであり得る)の外部のメモリをこれらの機能の1つ以上に用いることができる。外部メモリは、例えば、メモリ6020及び/又は記憶装置6040、動的揮発性メモリ及び/又は不揮発性フラッシュメモリであり得る。いくつかの実施形態において、外部不揮発性フラッシュメモリを用いてテレビのオペレーティングシステムを保存することができる。少なくとも1つの実施形態において、RAM等の高速外部動的揮発性メモリをMPEG-2第2部(ITU-T勧告H.262及びISO/IEC13818-2としても知られ、MPEG-2ビデオとしても知られる)、HEVC(高効率ビデオ符号化)又はVVC(多用途ビデオ符号化)等、ビデオの符号化及び復号化動作用の作業メモリとして用いることができる。
システム6000の要素への入力は、ブロック6130に示す各種の入力装置を介して提供することができる。そのような入力装置は、(i)例えばブロードキャスタにより無線送信されたRF信号を受信し得るRF部、(ii)複合入力ターミナル、(iii)USB入力ターミナル、及び/又は(iv)HDMI入力ターミナルを含むが、これらに限定されない。
各種の実施形態において、ブロック6130の入力装置は、公知のように各入力処理要素に関連付けられ得る。例えば、RF部は、(i)所望の周波数を選択(信号の選択又は周波数帯域への信号の帯域制限とも称する)し、(ii)選択された信号の下方変換を行い、(iii)より狭い帯域に周波数を再び帯域制限して、(例えば)特定の実施形態でチャネルと称する場合がある信号周波数帯域を選択し、(iv)下方変換されて帯域制限された信号を復調し、(v)誤り訂正を実行し、及び(vi)非多重化してデータパケットの所望のストリームを選択するのに必要な要素に関連付けられ得る。各種の実施形態のRF部は、これらの機能を実行する1つ以上の要素、例えば周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、下方コンバータ、デモジュレータ、エラーコレクタ及びデマルチプレクサを含み得る。RF部は、これらの各種の機能を実行する、例えば受信した信号をより低い周波数(例えば、中間周波数又はベースバンド付近の周波数)又はベースバンドに下方変換するチューナを含み得る。
セットトップボックスの一実施形態において、RF部及び関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されたRF信号を受信することができる。次いで、RF部は、フィルタリング、下方変換及び所望の周波数帯への再フィルタリングにより周波数選択を実行することができる。
各種の実施形態は、上述の(及び他の)要素の順序を再構成し、これらの要素のいくつかを除去及び/又は同様の若しくは異なる機能を実行する他の要素を追加する。
要素の追加は、既存の要素間への要素の挿入、例えばアンプ及びアナログ/デジタルコンバータの挿入等を含み得る。各種の実施形態において、RF部は、アンテナを含み得る。
USB及び/又はHDMI端末は、USB及び/又はHDMI接続を介してシステム6000を他の電子装置に接続する各インターフェースプロセッサも含み得る。入力処理の各種の態様、例えばリードソロモン誤り訂正は、必要に応じて、例えば別個の入力処理IC内又はプロセッサ6010内に実装され得ることを理解されたい。同様に、USB又はHDMIインターフェース処理の複数の態様は、必要に応じて、別個のインターフェースIC内又はプロセッサ6010内に実装され得る。復調及びエラー訂正され、且つ非多重化されたストリームは、各種の処理要素、例えばプロセッサ6010及び出力装置での提示のために必要に応じてデータストリームを処理するために、メモリ及び記憶要素と組み合わせて動作するエンコーダ/デコーダ6030に提供することができる。
システム6000の各種の要素は、一体化された筐体内に設けられ得る。一体化された筐体内において、各種の要素は、I2Cバス、配線及び印刷回路基板を含む適当な接続構成6140、例えば当技術分野で公知の内部バスを用いて相互接続されて、互いにデータを送信することができる。
システム6000は、通信チャネル6060を介した他の装置との通信を可能にする通信インターフェース6050を含み得る。通信インターフェース6050は、通信チャネル6060を介してデータを送信及び受信するように構成されたトランシーバを含み得るが、これに限定されない。通信インターフェース6050は、モデム又はネットワークカードを含み得るが、これに限定されず、通信チャネル6060は、例えば、有線及び/又は無線媒体内に実装され得る。
各種の実施形態において、IEEE802.11等のWi-Fiネットワークを用いて、データをシステム6000にストリーミングすることができる。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル6060及び通信インターフェース6050を介して受信することができる。これらの実施形態の通信チャネル6060は、典型的には、ストリーミングアプリケーション及び他のオーバーザトップ通信を可能にするインターネットを含むネットワーク外部へのアクセスを提供するアクセスポイント又はルータに接続され得る。
他の実施形態は、入力ブロック6130のHDMI接続を介してデータを配信するセットトップボックスを用いて、システム6000にストリームデータを提供することができる。
更に他の実施形態により、入力ブロック6130のRF接続を用いて、システム6000にストリームデータを提供することができる。
シグナリングは、各種の方法で行われ得ることを認識されたい。例えば、1つ以上の構文要素、フラグ等を用いて、各種の実施形態の対応するデコーダに情報をシグナリングすることができる。
システム6000は、ディスプレイ6100、スピーカー6110及び他の周辺装置6120を含む各種の出力装置に出力信号を提供することができる。他の周辺装置6120は、各種の実施形態の例において、スタンドアローンDVR、ディスクプレーヤー、ステレオシステム、照明システム及びシステム3000の出力に基づいて機能を提供する他の装置の1つ以上を含み得る。
各種の実施形態において、AV.Link(音声/ビデオリンク)、CEC(消費者電子制御)又はユーザーの介入の有無に依らず装置間制御を可能にする他の通信プロトコル等のシグナリングを用いて、制御信号をシステム6000とディスプレイ6100、スピーカー6110又は他の周辺装置6120との間でやり取りすることができる。
出力装置は、各々のインターフェース6070、6080及び6090による専用接続を介してシステム6000に通信可能に結合され得る。
代替的に、出力装置は、通信チャネル6060を用いて通信インターフェース6050を介してシステム6000に接続され得る。ディスプレイ6100及びスピーカー6110は、テレビ等の電子装置内のシステム6000の他の構成要素と単一のユニットに一体化され得る。
各種の実施形態において、ディスプレイインターフェース6070は、タイミングコントローラ(T Con)チップ等のディスプレイドライバを含み得る。
ディスプレイ6100及びスピーカー6110は、代替的に、例えば入力6130のRF部が別個のセットトップボックスの一部である場合、他の構成要素の1つ以上とは別個であり得る。ディスプレイ6100及びスピーカー6110が外部要素であり得る各種の実施形態において、出力信号は、例えば、HDMIポート、USBポート又はCOMPが出力を含む専用出力接続を介して出力され得る。
PLRは、局所的点再構成を表す。PLRは、点群フレームに対する追加的な3Dサンプルの生成に用いることができる再構成方法である。PLRは、典型的には、2D~3D射影の直後、例えばジオメトリ又はテクスチャ平滑化等の他の任意の処理前に適用される。
PLRは、3Dサンプルの層を入力として取り、PLRメタデータにより駆動されるフィルタの組を適用して、追加的な3Dサンプルをそれらのジオメトリ及びテクスチャと共に生成する。
PLRメタデータがキャンバスのT×T個のブロック毎に変化し得るため、PLRは、局所的であり得、フィルタの組は、小さい近隣を用いて追加的な3Dサンプルを生成することができる。エンコーダ及びデコーダに同一のPLRメタデータを用いる必要があることに留意されたい。
典型的な条件下において、PLRが施された単一の層の深さ及びテクスチャ画像を用いることで、2層の深さ及びテクスチャ画像よりも良好なBDレート性能が得られる。PLRメタデータの符号化は、深さ及びテクスチャ画像への射影を介した3Dサンプルの従来の符号化よりも用いるビット数が少ないため、全体的なビットレートが低下する。同時に、追加的な3Dサンプルは、より少ない層を用いることで生じる品質の低下を補償する。
V-PCCは、PLRの実装を含み、PLRはRDO(レート歪み最適化)によりエンコーダ側で決定される。前記PLRの実装は、点群フレームの少なくとも1つの3Dサンプルを再構成(生成)するために、PLRM(局所再構成モード)と表記する複数のモードを定義する。各PLRMは、フィルタの使用法を定義するPLRMメタデータの特定の値により決定される。
例えば、V-PCCのセクション「9.4.4」において、複数のPLRMは、V-PCCのセクション「7.4.35局所的点再構成セマンティクス」に記述する4つのパラメータにより決定される。前記4つのパラメータは、ビットストリーム内のPLRMメタデータとして送信される。
・point_local_reconstruction_mode_interpolate_flag:
このパラメータは、再構成方法の実行中に点補間法を用いることを示す場合、1に等しく、このパラメータは、再構成方法の実行中に点補間法を用いないことを示す場合、0に等しい。
・point_local_reconstruction_mode_filling_flag:
このパラメータは、再構成方法の実行中にフィリングモードを用いることを示す場合、1に等しく、このパラメータは、再構成処理の実行中にフィリングモードを用いないことを示す場合、0に等しい。
・point_local_reconstruction_mode_minimum_depth_minus1:
このパラメータは、再構成方法の実行中に用いる最小深さ値から1を減じた値を指定する。
・point_local_reconstruction_mode_neighbour_minus1:
このパラメータは、再構成方法で用いる2D近傍のサイズから1を減じた値を指定する。
PLRを符号化する構文は、V-PCCのセクション「7.3.35局所的点再構成構文」に詳述されている。この構文は、「blockToPatch」情報を介してT×T個のブロック(占有パッキングブロックサイズ)により送られるPLRMメタデータを記述する。blockToPatch構造は、T×Tピクセルのブロック毎にブロックが属するパッチを示す。block-to-patchブロックの16×16ピクセルのサイズは、V-PCC試験モデルソフトウェアで用いられる典型的な値である。本明細書(及び本実施形態の少なくとも1つ)は、bloc-to-patch索引及びPLRMメタデータの他のブロックサイズもサポートすることができる。
PLRメタデータは、以下のようにビットストリームから取得できる。キャンバスのT×T個のブロック全体にわたり、走査順序、例えばラスタ走査順序でループを繰り返す。占有マップOMが、キャンバスの各ブロックについて、前記ブロックが占領されていないことを示す場合、次のブロックに進む。一方、すなわちブロックが占有されている場合、前記ブロックのパッチIDを取得するために、ブロックからパッチへの情報BlockToPatchがビットストリームから取得され、前記占有されたブロックのPLRパラメータがビットストリームから取得される。
点群符号化(V-PCC)の本実装形態において、ビットストリームからPLRメタデータを復号化することは、T×T個のブロックの各々に対して4つのパラメータを復号化する必要があるため、膨大な計算リソース(CPU、GPU、メモリ)を必要とする。
少なくとも1つの実施形態の一般的な態様によれば、局所的点再構成モードを表す構文要素をシグナリングする方法であって、前記局所的点再構成モードは、点群フレームの少なくとも1つの点を再構成するためのモードを定義する少なくとも1つのパラメータを表す、方法が提供される。
ブロック毎に、4つのパラメータではなく、構文要素をシグナリングすることで、前記構文要素をパッチ毎又は点群フレーム毎にシグナリングできるため、V-PCCで定義される復号化側での計算リソースを減らすことができる。これにより、PLRMメタデータのシグナリングを柔軟に行うことができる。
図7は、本実施形態の少なくとも1つによる局所的点再構成モードのシグナリング方法の一例の概略ブロック図を示す。
ステップ710において、モジュールは、ビットストリームに、PLRMと表記する局所的点再構成モードを表す少なくとも1つの構文要素SE1を追加することができる。前記PLRMは、点群フレームの少なくとも1つの3Dサンプルを再構成するためのモードを定義する少なくとも1つのパラメータを表す。
ステップ740において、ビットストリームを送信する。
ステップ770において、モジュールは、ビットストリーム(受信ビットストリーム)から、点群の少なくとも1つの3Dサンプルの再構成に用いる少なくとも1つのPLRMを表す少なくとも1つの第1の構文要素SE1を取得(読み出す)ことができる。
少なくとも1つのパラメータは、前記少なくとも1つの構文要素SE1から取得され、次いで、点群の少なくとも1つの3Dサンプルは、前記少なくとも1つのPLRMを用いて再構成される。
ステップ710の一実施形態によれば、PLRMは、参照テーブルLUTのエントリの索引値であり得る。前記LUTの各エントリは、索引値と、前記点群フレームの少なくとも1つの点を再構成するための特定のモードを定義する少なくとも1つのパラメータとの間の関係を定義する。
図8a~8bは、ステップ710の一実施形態による参照テーブルLUTの一例を示す。
左列は、PLRMの異なる値を示し、各PLRMは、上で説明したように以下のツールの組み合わせを用いる再構成方法を決定する4つのパラメータI、F、D1min及びNの組み合わせを定義する。
point_local_reconstruction_mode_interpolate_flag、
point_local_reconstruction_mode_filling_flag、
point_local_reconstruction_mode_minimum_depth_minus1、及び
point_local_reconstruction_mode_neighbour_minus1
図8aのPLRM0は、「PLRMメタデータなし」を用いること、すなわちPLRメタデータが送信されないことを示す。
そのようなPLRMモードは、図8bの参照テーブルLUTから除去される。その場合、「PLRMメタデータなし」モードが他の箇所でシグナリングされる。
図8cは、ステップ710の一実施形態に従って参照テーブルLUTをシグナリングする構文の一例を示す。
ステップ710の一実施形態によれば、第1の構文要素SE1は、図8dに示すようにブロック毎にシグナリングされ得、point_local_reconstruction_mode[p][i]は、パッチpの1ブロックiに関連付けられた構文要素SE1を指す。
ステップ710の一実施形態によれば、第1の構文要素SE1は、図8eに示すようにパッチ毎にシグナリングされ得、point_local_reconstruction_mode[p]は、パッチpに関連付けられた第1の構文要素SE1を指す。
ステップ720(任意選択)において、モジュールは、パッチ毎に、単一の第1の構文要素SE1がパッチの全てのブロックについて1回でシグナリングされるかどうか、又は第1の構文要素SE1がパッチの各ブロックについてシグナリングされるかどうかを示す第2の構文要素SE2をビットストリームに追加することができる。
第2の構文要素SE2が、単一の第1の構文要素がパッチの全てのブロックについて1回でシグナリングされることを示す場合、前記単一の第1の構文要素が前記パッチの全てのブロックで用いられ、従ってそのパッチレベルでシグナリングされる。
図9に示すように、point_local_reconstruction_patch_level[p]は、第2の構文要素SE2を指し、point_local_reconstruction_patch_level[p]=0は、第1の構文要素point_local_reconstruction_mode[p][i]をパッチの各ブロックについてシグナリングすることを意味し、point_local_reconstruction_patch_level[p]=1は、第1の構文要素point_local_reconstruction_mode[p]をパッチpの全てのブロックについて1回でシグナリングすることを示す。
ステップ720の一変型形態によれば、パッチが、所与の数のよりも多いブロックを含む場合にのみ、第2の構文要素SE2をシグナリングし得る。
図10に示すように、BlockCountThresholdは、所与の数のブロックを指す。パッチ内のブロックの数がBlockCountThreshold以上である場合、第2の構文要素point_local_reconstruction_patch_level[p]は、0に設定される(第1の構文要素point_local_reconstruction_mode[p]をブロック毎にシグナリングする)。さもなければ、それは、1に設定される(第1の構文要素point_local_reconstruction_mode[p]をパッチ毎にシグナリングする)。
ステップ730(任意選択)において、モジュールは、好ましい局所的点再構成モードとも表記するデフォルトの局所的点再構成モードを表す少なくとも1つの第3の構文要素SE3をビットストリームに追加することができる。
図12a~bに示すように、point_local_reconstruction_preferred_modeは、第3の構文要素SE3を指す。
図11は、ステップ710の一実施形態及びpoint_local_reconstruction_preferred_modeに従って参照テーブルLUT(第1の構文要素SE1)をシグナリングする一例を示す。
ステップ730の一実施形態によれば、第3の構文要素SE3を点群フレーム毎及び/又はパッチ毎にシグナリングすることができる。
図13に示すように、point_local_reconstruction_preferred_mode_patch[p]は、パッチ毎にシグナリングされる第3の構文要素SE3を指し、point_local_reconstruction_preferred_modeは、点群フレーム毎にシグナリングされる第3の構文要素SE3を指す。
図15に示すように、point_local_reconstruction_preferred_modeは、点群フレーム毎にシグナリングされる第3の構文要素SE3を指す。
ステップ740の一実施形態によれば、モジュールは、第1の信号要素SE1の粒度(ブロック毎又はパッチ毎のPLRM)及び第3の構文要素SE3(パッチ毎にシグナリングされるデフォルトの局所的点再構成モード)の使用をシグナリングするために使用される第4の構文要素SE4をビットストリームに追加することができる。
図12a~bに示すように、point_local_reconstruction_patch_level[p]は、第4の構文要素を指す。point_local_reconstruction_patch_level[p]=0である場合、第1の構文要素SE1(point_local_reconstruction_mode[p][i])をブロックi毎にシグナリングし、point_local_reconstruction_patch_level[p]=1である場合、第1の構文要素SE1(point_local_reconstruction_mode[p])をパッチp毎にシグナリングし、さもなければ第3の構文要素SE3(point_local_reconstruction_preferred_mode)をパッチpの全てのブロックについてシグナリングする。
図12aにおいて、point_local_reconstruction_preferred_modeを点群フレーム毎にシグナリングする。
図12bにおいて、point_local_reconstruction_preferred_mode_patch[p]をパッチ毎にシグナリングする。
図13は、パッチが、所与の数BlockCountThresholdよりも多いブロックを含む場合にのみ、第2の構文要素SE2をシグナリングする、図12bの一変型形態を示す。
図14は、第1の構文要素point_local_reconstruction_mode[p][i]をブロック毎にシグナリングする(図8d)場合の前記一変型形態を示す。point_local_reconstruction_mode_delta[p][i]は、point_local_reconstruction_mode[p][i]を代替する。
前記変型形態は、例えば、図8e、9、10、12a~b、12a及び13に示すように、第1の構文要素SE1をシグナリングするために他の例に適用することができる。
前記変型形態は、例えば、図9、10、12a~b及び13に示すように、第2の構文要素SE2を異なる方法で符号化するために適用することもできる。
図1~15において、各種の方法が本明細書に記述され、各々の方法は、記述した方法を実現するために1つ以上のステップ又は動作を含む。本方法を適切に動作させるために特定の順序のステップ又は動作が要求されない限り、特定のステップ及び/又は動作の順序及び/又は使用は、変更するか又は組み合わせることができる。
いくつかの例をブロック図及び動作フロー図に関して記述する。各ブロックは、回路要素、モジュール又は指定された論理機能を実行するための1つ以上の実行可能な命令を含むコードの一部を表す。他の実装形態において、ブロックに注記した機能は、指定された順序から外れて起こり得ることに留意されたい。例えば、連続的に示す2つのブロックは、実際には、ほぼ同時に実行され得るか、又はブロックは、関係する機能に応じてときに逆の順序で実行され得る。
本明細書に記述する実装形態及び態様は、例えば、方法若しくは処理、装置、コンピュータプログラム、データストリーム、ビットストリーム又は信号で実装され得る。単一の実行形式に関連して議論(例えば、方法としてのみ議論)されたとしても、議論された特徴の実装形態は、他の形式(例えば、装置又はコンピュータプログラム)でも実装され得る。
本方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路又はプログラム可能な論理装置を含む処理装置を一般に指すプロセッサに実装され得る。プロセッサは、通信装置も含む。
本方法は、プロセッサによって実行される命令によっても実装され得、そのような命令(及び/又は実装形態により生じるデータ値)は、コンピュータ可読記憶媒体に保存され得る。コンピュータ可読記憶媒体は、1つ以上のコンピュータ可読の媒体として具現化され、且つコンピュータによって実行可能なコンピュータ可読プログラムコードが具現化されたコンピュータ可読プログラム製品の形式をとり得る。本明細書で用いるコンピュータ可読記憶媒体は、情報を保存する固有の能力と共に、情報を取得可能にする固有の能力を備えた非一時的記憶媒体と見なされ得る。例えば、コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁、赤外線若しくは半導体システム、装置若しくは機器又はこれらの任意の適当な組み合わせであり得るが、これらに限定されない。以下では、本実施形態を適用できるコンピュータ可読記憶媒体のより具体的な例を与えるが、これらは、例示的に過ぎず、当業者に容易に理解できるように網羅的に列挙したものではないことが理解されるであろう:ポータブルコンピュータディスケット、ハードディスク、読出専用メモリ(ROM)、消去可能プログラム可能読出専用メモリ(EPROM又はフラッシュメモリ)、可搬コンパクトディスク読出専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置又は上記の任意の適当な組み合わせ。
命令は、プロセッサ可読媒体に有形的に具現化されたアプリケーションプログラムを形成することができる。
命令は、例えば、ハードウェア、ファームウェア、ソフトウェア又はこれらの組み合わせであり得る。命令は、例えば、オペレーティングシステム、別個のアプリケーション又は両方の組み合わせに見出すことができる。従って、プロセッサは、例えば、処理を実行するように構成された装置と、処理を実行する命令を有するプロセッサ可読媒体を含む装置(例えば、記憶装置)との両方として特徴付けることができる。更に、プロセッサ可読媒体は、命令に加えて又は命令の代わりに、実装形態により生じたデータ値を保存することができる。
装置は、例えば、適当なハードウェア、ソフトウェア及びファームウェアに実装され得る。このような装置の一例は、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビジョン受信機、個人ビデオ録画システム、接続家電、ヘッドマウントディスプレイ装置(HMD、素通し眼鏡)、プロジェクタ(ビーマー)、「ケイブ」(複数のディスプレイを含むシステム)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダからの出力を処理するポストプロセッサ、ビデオエンコーダへの入力を提供するプリプロセッサ、ウェブサーバ、セットトップボックス及び点群、ビデオ若しくは画像を処理する他の任意の装置又は他の通信装置が含まれる。明らかになるよう、設備は、可動であり得、移動する車両に設置され得る。
コンピュータソフトウェアは、プロセッサ6010若しくはハードウェア又はハードウェアとソフトウェアとの組み合わせにより実装され得る。非限定的な例として、これらの実施形態は、1つ以上の集積回路にも実装され得る。メモリ6020は、技術環境に適した任意の種類であり得、非限定な例として、光メモリ装置、磁気記憶装置、半導体メモリ装置、固定メモリ及び着脱可能メモリ等、任意の適当なデータ収納部技術を用いて実装され得る。プロセッサ6010は、技術環境に適した任意の種類であり得、非限定的な例には、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ及びマルチコアアーキテクチャに基づくプロセッサの1つ以上が含まれ得る。
当業者に明らかになるように、複数の実装形態により、例えば保存又は送信可能な情報を保持するように形式化された各種の信号を生成することができる。情報は、例えば、方法を実行する命令又は記述した複数の実装形態の1つにより生成されたデータを含み得る。例えば、信号は、記述する実施形態のビットストリームを保持するように形式化され得る。そのような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を用いて)として又はベースバンド信号として形式化され得る。形式化は、例えば、データストリームを符号化し、符号化されたデータストリームによりキャリアを変調することを含み得る。信号が担持する情報は、例えば、アナログ又はデジタル情報であり得る。信号は、公知のように、各種の異なる有線又は無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に保存することができる。
本明細書で用いる用語は、特定の実施形態の記述のみを目的とし、限定を意図しない。本明細書で用いる単数形「1つの(a)」、「1つの(an)」及び「その」は、別途文脈から明示されない限り、複数形も含み得る。更に、用語「包含する/含む」及び/又は「包含している/含んでいる」は、本明細書で用いられる場合、例えば言及した特徴、整数、ステップ、動作、要素及び/又は構成要素の存在を指定し得るが、他の1つ以上の特徴、整数、ステップ、動作、要素、構成要素及び/又はこれらの集団の存在又は追加を排除するものではないことを理解されたい。更に、ある要素が別の要素に「応答する」又は「接続される」と称される場合、別の要素に直接応答するか若しくは接続されるか又は介在要素が存在し得る。対照的に、ある要素が他の要素に「直接応答する」又は「直接接続される」と称される場合、介在要素は、存在しない。
例えば、「A/B」、「A及び/又はB」及び「A及びBの少なくとも一方」の場合における記号/用語「/」、「及び/又は」及び「少なくとも一方」の使用は、第1の列挙された選択肢(A)のみの選択若しくは第2の列挙された選択肢(B)の選択のみ又は両方の選択肢(A及びB)の選択を包含することを意図され得ることが理解されるものとする。更なる例として、「A、B及び/又はC」及び「A、B及びCの少なくとも1つ」の場合、そのような語句は、第1の列挙された選択肢(A)のみの選択、若しくは第2の列挙された選択肢(B)のみの選択、若しくは第3の列挙された選択肢(C)のみの選択、又は第1及び第2の列挙された選択肢(A及びB)のみの選択、若しくは第1及び第3の列挙された選択肢(A及びC)の選択、若しくは第2及び第3の列挙された選択肢(B及びC)の選択、或いは3つの選択肢(A及びB及びC)の全ての選択を包含することを意図される。これは、当業者に明らかなように、列挙される数の項目に拡張することができる。
本出願において各種の数値が使用され得る。特定の値は、例えば、目的であり、記述した態様は、これら特定の値に限定されない。
本明細書において、第1、第2等の用語が各種の要素を記述するために使用され得るが、これらの要素は、その用語により限定されないことを理解されたい。これらの用語は、ある要素を別の要素と区別するために用いられるに過ぎない。例えば、本出願の教示から逸脱することなく、第1の要素を第2の要素と称し得、同様に第2の要素を第1の要素と称し得る。第1の要素と第2の要素との間の順序付けは、示唆されない。
「一実施形態」若しくは「ある実施形態」又は「一実装形態」若しくは「ある実装形態」及びこれらの他の変化形への言及は、(実施形態/実装形態との関連で記述された)特定の特徴、構造、特性等が少なくとも1つの実施形態/実装形態に含まれることを伝えるために頻繁に使用される。従って、本出願全体を通して様々な箇所に現れる「一実施形態において」若しくは「ある実施形態において」又は「一実装形態において」若しくは「ある実装形態において」及び他の任意の変化形は、必ずしも全てが同一の実施形態を指すわけではない。
同様に、「一実施形態/例/実装形態によれば」又は「一実施形態/例/実装形態において」及びこれらの他の変化形への言及は、(実施形態/例/実装形態との関連で記述された)特定の特徴、構造、特性等が少なくとも1つの実施形態/例/実装形態に含まれ得ることを伝えるために頻繁に使用される。従って、本出願全体を通して様々な箇所に現れる「一実施形態/例/実装形態によれば」又は「一実施形態/例/実装形態において」は、必ずしも全てが同一の実施形態/例/実装形態を指すわけではなく、別個の又は代替的な実施形態/例/実装形態は、必ずしも他の実施形態/例/実装形態と互いに排他的ではない。
請求項に現れる参照番号は、説明の目的のものに過ぎず、特許請求の範囲を限定する効果を有さないものとする。明示的に記述しないが、本実施形態/例及び変型形態は、任意の組み合わせ又は下位の組み合わせで用いることができる。
ある図がフロー図として提示される場合、対応する装置のブロック図も提供されるものと理解されたい。同様に、ある図がブロック図として提示される場合、対応する方法/処理のフロー図も提供されるものと理解されたい。
いくつかの図は、通信の主な方向を示すために通信経路に矢印を含むが、図に示す矢印とは逆方向に通信が生じ得ること理解されたい。
各種の実装形態は、復号化を含む。本出願で用いる「復号化」は、表示に適した最終出力を生成するため又は再構成された点群領域の更なる処理のために、例えば受信した点群フレーム(場合により1つ以上の点群フレームを符号化する受信ビットストリームを含む)に対して実行される処理の全部又は一部を含み得る。各種の実施形態において、このような処理は、画像解析デコーダにより典型的に実行される1つ以上の処理を含む。
更なる例として、一実施形態において、「復号化」は、エントロピー復号化のみを指し、別の実施形態において、「復号化」は、差分復号化のみを指し、別の実施形態において、「復号化」は、エントロピー復号化と差分復号化との組み合わせを指し得る。「復号化処理」という語句が具体的に動作のサブセット又は一般により広義の復号化処理のいずれを指すかは、具体的な記述の文脈に基づいて明らかになり、当業者によく理解されるものと考えられる。
各種の実装形態は、符号化を含む。「復号化」に関する上述の議論と同様に、本出願で用いる「符号化」は、符号化されたビットストリームを生成するために、例えば入力点群フレームに対して実行される処理の全部又は一部を含み得る。各種の実施形態において、このような処理は、画像解析デコーダにより典型的に実行される1つ以上の処理を含む。
更なる例として、一実施形態において、「符号化」は、エントロピー符号化のみを指し、別の実施形態において、「符号化」は、差分符号化のみを指し、別の実施形態において、「符号化」は、差分符号化とエントロピー符号化との組み合わせを指し得る。「符号化処理」という語句が具体的に動作のサブセット又は一般により広義の符号化処理のいずれを指すことを意図されるかは、具体的な記述の文脈に基づいて明らかになり、当業者によく理解されるものと考えられる。
本明細書で用いる構文要素、例えばフラグoint_local_reconstruction_mode_present_flagは、記述的用語であることに留意されたい。このように、他の構文要素名の使用を排除するものではない。
各種の実施形態は、レート歪み最適化に言及する。特に、符号化処理の実行中、多くの場合に計算の複雑さの制約を前提として、通常、レートと歪みとのバランス又はトレードオフを考慮する。レート歪み最適化は、通常、レートと歪みとの重み付き和であるレート歪み関数の最小化として定式化できる。レート歪み最適化課題を解決するために異なるアプローチがある。例えば、これらのアプローチは、再構成された信号の符号化及び復号化後の符号化コスト及び関連する歪みの完全な評価を伴う、全ての考慮したモード又は符号化パラメータ値を含む全ての符号化オプションの広範囲にわたる試験に基づき得る。特に、再構成された信号ではなく、予測信号又は予測残差信号に基づいて近似された歪みの計算における符号化の複雑さを回避するために、より速いアプローチを用い得る。例えば、可能な符号化オプションのいくつかのみに近似歪みを使用し、他の符号化オプションに完全な歪みを使用することにより、これらの2つのアプローチを混合して用い得る。他のアプローチは、可能な符号化オプションのサブセットを評価するものに過ぎない。より一般的に、多くのアプローチは、各種の技術のいずれかを用いて最適化を実行するが、最適化は、必ずしも符号化コスト及び関連する歪みを完全に評価するわけではない。
本出願は、情報の各種の項目の「判定」に言及する場合もある。情報の判定は、例えば、情報の推定、情報の計算、情報の予測又はメモリからの情報の取り出しの1つ以上を含み得る。
更に、本出願は、情報の各種の項目への「アクセス」に言及する場合がある。情報へのアクセスは、例えば、情報の受信、(例えば、メモリからの)情報の取得、情報の保存、情報の移動、情報の複製、情報の計算、情報の判定、情報の予測又は情報の推定の1つ以上を含み得る。
本出願は、情報の各種の項目の「受信」に言及する場合もある。受信は、「アクセス」と同様に広義な用語であるものとする。情報の受信は、例えば、情報へのアクセス又は(例えば、メモリからの)情報の取得の1つ以上を含み得る。更に、「受信」は、典型的には、何らかの方法において、例えば情報の保存、情報の処理、情報の送信、情報の移動、情報の複製、情報の消去、情報の計算、情報の判定、情報の予測又は情報の推定等の動作中に伴われる。
本明細書で用いる単語「信号」は、特に、対応するデコーダに対して何らかのものを示すことを指す。例えば、特定の本実施形態において、エンコーダは、特定の構文要素SE及び/又はPLRメタデータをシグナリングする。このように、一実施形態において、同じパラメータ(PLRメタデータ)をエンコーダ側とデコーダ側との両方で用いることができる。従って、例えば、エンコーダが特定のパラメータをデコーダに送信(明示的シグナリング)することにより、デコーダが同じ特定のパラメータを用いることができる。逆に、デコーダが既に特定のパラメータを他のパラメータと共に有する場合、そのパラメータを送信することなく(暗黙的シグナリング)、シグナリングを用いて単にデコーダにその特定のパラメータを認識及び選択させることができる。実際の関数の送信を回避することにより、各種の実施形態においてビット節約が実現される。シグナリングは、各種の方法で実現可能であることが認識されるであろう。例えば、1つ以上の構文要素、フラグ等を用いて、各種の実施形態における対応デコーダに情報をシグナリングする。上記は、動詞形の単語「シグナリングする」に関連するが、本明細書において、単語「信号」は、名詞としても使用できる。
多くの実装形態について記述してきた。しかし、各種の変更形態がなされ得ることが理解されるであろう。例えば、異なる実装形態の要素を組み合わせるか、補完するか、変更するか又は除去して他の実装形態を形成することができる。他の構造及び処理により、開示されたものを代替でき、その結果得られた実装形態は、開示された実装形態と少なくとも実質的に同一の機能を少なくとも実質的に同じ方法で実行して、少なくとも実質的に同じ結果が実現できることも当業者に理解されるであろう。従って、本出願により、これら及び他の実装形態が想定される。