(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】点群の欠落した点の処理
(51)【国際特許分類】
H04N 19/597 20140101AFI20240820BHJP
H04N 19/70 20140101ALI20240820BHJP
H04N 19/91 20140101ALI20240820BHJP
【FI】
H04N19/597
H04N19/70
H04N19/91
(21)【出願番号】P 2021556742
(86)(22)【出願日】2020-01-27
(86)【国際出願番号】 US2020015184
(87)【国際公開番号】W WO2020190375
(87)【国際公開日】2020-09-24
【審査請求日】2023-01-27
(32)【優先日】2019-03-20
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2019-03-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジョアン リャック
(72)【発明者】
【氏名】セリーヌ ゲーデ
(72)【発明者】
【氏名】ジャン-クラウド シュヴェ
【審査官】田中 純一
(56)【参考文献】
【文献】国際公開第2018/150933(WO,A1)
【文献】米国特許出願公開第2020/0013168(US,A1)
【文献】特表2023-509086(JP,A)
【文献】米国特許出願公開第2021/0209807(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
G06T 1/00 - 1/40
G06T 3/00 - 5/94
G06T 9/00 - 9/40
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が深度画像のピクセル値であることを示す占有マップのピクセル値をデコードすることであって、前記ピクセル値は、前記投影線に沿って投影された少なくとも1つの他の3Dサンプルの少なくとも1つの深度値を表すコードワードが前記占有マップに格納されているかどうかを前記ピクセル値によって示し、前記点群フレームの3Dサンプルの深度値は単一深度画像を使用して符号化されている、ことと、
前記占有マップの前記ピクセル値に基づいて、前記少なくとも1つの3Dサンプルを再構築することと、
を含む、方法。
【請求項2】
固定長コードワードが使用されるか否かを示す第1の情報を受信すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記コードワードの長さを表す第2の情報を受信すること
をさらに含む、請求項1または2に記載の方法。
【請求項4】
第1の情報および/または第2の情報は、点群フレームのシーケンスについて、フレームごとにまたはパッチごとに、シグナリングされ、パッチは前記点群フレームの3Dサンプルの前記投影を表す2Dサンプルのセットである、請求項2または3に記載の方法。
【請求項5】
前記コードワードの長さに基づいて、前記少なくとも1つの他の3Dサンプルを再構築することをさらに含む、請求項2から4のいずれか一項に記載の方法。
【請求項6】
投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が深度画像のピクセル値であることを示す占有マップのピクセル値をデコードし、前記ピクセル値は、前記投影線に沿って投影された少なくとも1つの他の3Dサンプルの少なくとも1つの深度値を表すコードワードが前記占有マップに格納されているかどうかを前記ピクセル値によって示し、前記点群フレームの3Dサンプルの深度値は単一深度画像を使用して符号化されており、
前記占有マップの前記ピクセル値に基づいて、前記少なくとも1つの3Dサンプルを再構築する、
ように構成された1つまたは複数のプロセッサを備えた、装置。
【請求項7】
前記1つまたは複数のプロセッサは、固定長コードワードが使用されるか否かを示す第1の情報を受信するためにさらに構成された、請求項6に記載の装置。
【請求項8】
前記1つまたは複数のプロセッサは、前記コードワードの長さを表す第2の情報を受信するためにさらに構成された、請求項6または7に記載の装置。
【請求項9】
前記1つまたは複数のプロセッサは、前記コードワードの長さに基づいて、前記少なくとも1つの他の3Dサンプルを再構築するためにさらに構成された、請求項7または8に記載の装置。
【請求項10】
投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が深度画像のピクセル値としてエンコードされていることを示す占有画像のピクセル値をエンコードすることであって、前記ピクセル値は、前記投影線に沿って投影された少なくとも1つの他の3Dサンプルの少なくとも1つの深度値を表すコードワードが前記占有画像に格納されているかどうかを前記ピクセル値によって示し、前記点群フレームの3Dサンプルの深度値は単一深度画像を使用して符号化されている、ことと、
前記少なくとも1つの3Dサンプルの前記深度値をエンコードすることと、
を含む、方法。
【請求項11】
固定長コードワードが使用されるか否かを示す第1の情報を送信すること
をさらに含む、請求項10に記載の方法。
【請求項12】
前記コードワードの長さを表す第2の情報を送信すること
をさらに含む、請求項10または11に記載の方法。
【請求項13】
投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が深度画像のピクセル値としてエンコードされていることを示す占有画像のピクセル値をエンコードし、前記ピクセル値は、前記投影線に沿って投影された少なくとも1つの他の3Dサンプルの少なくとも1つの深度値を表すコードワードが前記占有画像に格納されているかどうかを前記ピクセル値によって示し、前記点群フレームの3Dサンプルの深度値は単一深度画像を使用して符号化されており、
前記少なくとも1つの3Dサンプルの前記深度値をエンコードする
ように構成された1つまたは複数のプロセッサを備えた、装置。
【請求項14】
1つまたは複数のプロセッサによって実行されると、請求項1から5または10から12のいずれか一項に記載の方法を前記1つまたは複数のプロセッサに実行させる命令を含むコンピュータプログラム。
【請求項15】
請求項1から5または10から12のいずれか一項に記載の方法を1つまたは複数のプロセッサに実行させる命令を含む非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、一般に、点群の処理に関する。
【背景技術】
【0002】
本セクションは、以下で説明および/または特許請求される本実施形態のうちの少なくとも1つの様々な態様に関連し得る、技術の様々な態様を読者に紹介することが意図されている。この論考は、少なくとも1つの実施形態の様々な態様のより良い理解を促進するための背景情報を、読者に提供するのに役立つと信じられる。
【0003】
点群は、像または建造物のようなオブジェクトが、それを送るまたは訪問することなく、オブジェクトの空間的な構成を共有するために、3Dでスキャンされる、文化遺産/建造物など、様々な目的で使用されることがある。また、それは、オブジェクトについての知識を、それが破壊されることがある、例えば、寺院が地震によって破壊されることがあるケースにおいて、保存すること保証するための方法である。そのような点群は、一般に、静的で、色が付けられ、巨大である。
【0004】
別の使用事例は、3D表現の使用が、平面に限定されない、起伏も含み得る地図を可能にする、地形学および地図作成におけるものである。Google Mapsは、今現在における、3Dマップの良い例であるが、点群の代わりに、メッシュを使用している。それにもかかわらず、点群は、3Dマップのための適切なデータフォーマットであり、そのような点群は、一般に、静的で、色が付けられ、巨大である。
【0005】
自動車産業および自律走行車も、点群が使用されることがある領域である。自律走行車は、それらのすぐ近くにあるものの現実に基づいて、良好な運転判断を行うために、それらの環境を「探る」ことができるべきである。LIDAR(光検出および測距)のような典型的なセンサは、判断エンジンによって使用される、動的な点群を作り出す。これらの点群は、人間によって見られることは意図されておらず、それらは、一般に、小さく、必ずしも色が付けられるわけではなく、高い頻度でキャプチャされて動的である。これらの点群は、LIDARによって提供される反射率のような他の属性を、この属性が感知されたオブジェクトの材料に関する良好な情報を提供するので、有することがあり、判断を行うのに役立つことがある。
【0006】
バーチャルリアリティおよび没入世界は、最近、注目の話題になっており、多くの人によって、2Dフラットビデオの未来として、予想されている。基本的な考え方は、視聴者が、視聴者の前方の仮想世界しか見ることができない標準的なテレビとは対照的に、視聴者を取り囲む環境内に視聴者を没入させるというものである。環境内における視聴者の自由度に応じて、没入感には、いくつかの段階が存在する。点群は、バーチャルリアリティ(VR)世界を配信するための良好なフォーマット候補である。
【0007】
多くのアプリケーションにおいては、許容可能な(または好ましくは非常に良好な)体験の質を維持しながら、妥当な量のビットレート(または記憶用途のための記憶空間)だけを消費することによって、動的な点群をエンドユーザに配信する(またはそれらをサーバ内に記憶する)ことができることが重要である。これらの動的な点群の効率的な圧縮が、多くの没入世界の配信チェーンを実用的にするためのキーポイントである。
【0008】
少なくとも1つの実施形態は、前述のことを踏まえて、考案されている。
【先行技術文献】
【非特許文献】
【0009】
【文献】Hugues Hoppe, Tony DeRose, Tom Duchamp, John McDonald, Werner Stuetzle. Surface reconstruction from unorganized points. ACM SIGGRAPH 1992 Proceedings, 71-78
【発明の概要】
【0010】
本開示のいくつかの態様の基本的な理解を提供するために、以下に、本実施形態のうちの少なくとも1つについての簡略化された要約を提示する。この要約は、実施形態の広範な概要ではない。実施形態の主要要素または必須要素を識別することは、意図されていない。以下の要約は、本文書の他の箇所において提供されるより詳細な説明に対する序論として、本実施形態のうちの少なくとも1つについてのいくつかの態様を、簡略化された形で、提示するにすぎない。
【0011】
少なくとも1つの実施形態の一般的な態様に従うと、同じ投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が、少なくとも1つの深度画像のピクセル値として記憶されるか、それとも前記投影線に沿った少なくとも1つの3Dサンプル投影の深度値を表す、固定長コードワードに等しいかを示すために、占有画像のピクセル値を割り当てるステップを含む方法が、提供される。
【0012】
実施形態に従うと、方法は、投影線に沿って投影された少なくとも1つの3Dサンプルを、コードワードのビットとしてエンコードするステップと、前記深度値が、深度画像の値としてすでにエンコードされているときは、投影線に沿って投影された3Dサンプルの深度値の、コードワードのビットとしてのエンコーディングをスキップするステップとをさらに含む。
【0013】
実施形態に従うと、方法は、固定長コードワードが使用されるか否かを示す第1の情報をシグナリングするステップをさらに含む。
【0014】
実施形態に従うと、方法は、コードワードの長さを表す第2の情報をシグナリングするステップをさらに含む。
【0015】
実施形態に従うと、前記第1の情報および/または前記第2の情報は、点群フレームのシーケンスについて、シグナリングされる。
【0016】
実施形態に従うと、前記第1の情報および/または前記第2の情報は、フレームごとに、またはパッチごとに、シグナリングされる。
【0017】
少なくとも1つの実施形態の別の一般的な態様に従うと、同じ投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が、少なくとも1つの深度画像のピクセル値として記憶されるか、それとも前記投影線に沿った少なくとも1つの3Dサンプル投影の深度値を表す、固定長コードワードに等しいかを示すために、占有画像のピクセル値を表す画像データを含む信号が、提供される。
【0018】
実施形態に従うと、信号は、固定長コードワードが使用されるか否かを示す第1の情報をさらに含む。
【0019】
実施形態に従うと、信号は、コードワードの長さを表す第2の情報を含む。
【0020】
少なくとも1つの実施形態の一般的な態様に従うと、点群の少なくとも1つの3Dサンプルの深度値を導出するために、固定長コードワードが使用されるか否かを示す第1の情報を、ビットストリームから獲得するステップと、前記第1の情報が、固定長コードワードが使用されることを示す場合、投影線に沿って投影された少なくとも1つの3Dサンプルの深度値を表す、固定長コードワードから、前記深度値を導出するステップと、そうでない場合、異なる長さを有するコードワードから、前記深度値を導出するステップとを含む方法が、提供される。
【0021】
実施形態に従うと、方法は、ビットストリームから、コードワードの長さを表す第2の情報を獲得するステップをさらに含む。
【0022】
実施形態の少なくとも1つのうちの1つまたは複数は、デバイス、コンピュータプログラム製品、および非一時的コンピュータ可読媒体も提供する。
【0023】
本実施形態のうちの少なくとも1つの具体的な性質、ならびに本実施形態のうちの前記少なくとも1つの他の目的、利点、特徴、および使用は、添付の図面を併用して行われる、例についての以下の説明から明らかになる。
【図面の簡単な説明】
【0024】
図面においては、いくつかの実施形態の例が、例示される。図面は、以下のものを示す。
【
図1】本実施形態のうちの少なくとも1つに従った、2レイヤベースの点群エンコーディング構造の例の概略ブロック図である。
【
図2】本実施形態のうちの少なくとも1つに従った、2レイヤベースの点群デコーディング構造の例の概略ブロック図である。
【
図3】本実施形態のうちの少なくとも1つに従った、画像ベースの点群エンコーダの例の概略ブロック図である。
【
図3a】2つのパッチと、それらの2Dバウンディングボックスとを含む、キャンバスの例を例示する図である。
【
図3b】投影線に沿って2つの3Dサンプルの間に配置された2つの中間3Dサンプルの例を例示する図である。
【
図4】本実施形態のうちの少なくとも1つに従った、画像ベースの点群デコーダの例の概略ブロック図である。
【
図5】本実施形態のうちの少なくとも1つに従った、ベースレイヤBLを表すビットストリームのシンタクスの例を概略的に例示する図である。
【
図6】様々な態様および実施形態がその中で実施されるシステムの例の概略ブロック図である。
【
図7】V-PCCを使用するような3Dから2Dへの投影の例を例示する図である。
【
図8】少なくとも1つの実施形態に従った、同じ投影線に沿って投影された3Dサンプルの深度値を符号化するための方法の例の概略ブロック図である。
【
図9】少なくとも1つの実施形態に従った、同じ投影線に沿って投影された3Dサンプルの深度値をデコードするための方法の例の概略ブロック図である。
【
図10】少なくとも1つの実施形態に従った、占有マップのピクセル値を決定する例を例示する図である。
【
図11】その変形に従った、占有マップOM(u,v)のピクセル値を決定する例を例示する図である。
【
図12】少なくとも1つの実施形態に従った、占有マップOM(u,v)のピクセル値を決定する例を例示する図である。
【
図13】少なくとも1つの実施形態に従った、情報INFO1およびINFO2をシグナリングするために使用される、シンタックス要素の例を例示する図である。
【
図14】少なくとも1つの実施形態に従った、情報INFO1およびINFO2をシグナリングするために使用される、シンタックス要素の例を例示する図である。
【発明を実施するための形態】
【0025】
本実施形態のうちの少なくとも1つが、本実施形態のうちの少なくとも1つの例がその中に示される、添付の図を参照して、以下でより十分に説明される。しかしながら、実施形態は、多くの代替形態で具現化されてよく、本明細書に記載された例に限定されると解釈されるべきではない。したがって、開示された特定の形態に実施形態を限定する意図はないことが、理解されるべきである。それどころか、本開示は、本出願の主旨および範囲内に入る、すべての変形、均等物、および代替をカバーすることが意図されている。
【0026】
図が、フロー図として提示されるとき、それは、対応する装置のブロック図も提供することが、理解されるべきである。同様に、図が、ブロック図として提示されるとき、それは、対応する方法/プロセスのフロー図も提供することが、理解されるべきである。
【0027】
図の類似した要素または同じ要素は、同じ参照番号を用いて参照される。
【0028】
いくつかの図は、V-PCCに準拠したビットストリームの構造を定義するための、V-PCCにおいて広く使用されているシンタックステーブルを表している。それらのシンタックステーブルにおいて、「...」という項は、V-PCCにおいて与えられた元の定義に関する、シンタックスの変更されていない部分であって、読みやすくするために図において取り除かれた部分を表す。図中の太字の項は、この項の値が、ビットストリームを解析することによって獲得されることを示す。シンタックステーブルの右列は、シンタックス要素のデータをエンコードするためのビット数を示す。例えば、u(4)は、データをエンコードするために、4ビットが使用されることを示し、u(8)は、8ビットを示し、ae(v)は、コンテキスト適応算術エントロピ符号化されたシンタックス要素を示す。
【0029】
以下で説明され、企図される態様は、多くの異なる形態で実施され得る。以下の
図1~
図14は、いくつかの実施形態を提供するが、他の実施形態も、企図され、
図1~
図14の論考は、実施の広がりを限定しない。
【0030】
態様のうちの少なくとも1つは、一般に、点群エンコーディングおよびデコーディングに関し、少なくとも1つの他の態様は、一般に、生成またはエンコードされたビットストリームを送信することに関する。
【0031】
より正確には、本明細書において説明される様々な方法および他の態様は、モジュール、例えば、
図1~
図14に示されるような、モジュールPGM(ステップ3100)、エンコーダOMENC(ステップ3600)、ジオメトリ生成モジュールGGM(ステップ4300)、占有マップデコーダOMDEC(ステップ4400)を変更するために使用され得る。
【0032】
さらに、本態様は、点群圧縮に関連する、MPEG-1パート5などのMPEG規格に限定されず、既存のものか、それとも将来開発されるものかにかかわらず、例えば、他の規格および勧告に、ならびに(MPEG-1パート5を含む)任意のそのような規格および勧告の拡張に適用されてよい。別段の指摘がない限り、または技術的に排除されない限り、本出願において説明される態様は、個別にまたは組み合わせて、使用されてよい。
【0033】
以下では、画像データは、データ、例えば、特定の画像/ビデオフォーマットの2Dサンプルの1つまたは複数のアレイを指す。特定の画像/ビデオフォーマットは、画像(またはビデオ)のピクセル値に関連する情報を指定し得る。特定の画像/ビデオフォーマットは、例えば、ディスプレイ、ならびに/または画像(もしくはビデオ)を視覚化および/もしくはデコードするための他の任意の装置によって使用され得る、情報も指定し得る。画像は、一般に、通常は画像のルミナンス(またはルーマ)を表す、サンプルの第1の2Dアレイの形をした、第1の成分を含む。画像は、通常は画像のクロミナンス(またはクロマ)を表す、サンプルの他の2Dアレイの形をした、第2の成分および第3の成分も含み得る。いくつかの実施形態は、従来の3色RGB表現などの、色サンプルの2Dアレイのセットを使用して、同じ情報を表現する。
【0034】
1つまたは複数の実施形態においては、ピクセル値は、C個の値からなるベクトルによって表され、Cは、成分の数である。ベクトルの各値は、一般に、ピクセル値のダイナミックレンジを定義し得る数のビットを用いて表される。
【0035】
画像ブロックは、画像に属するピクセルのセットを意味する。画像ブロックのピクセル値(または画像ブロックデータ)は、この画像ブロックに属するピクセルの値を指す。画像ブロックは、任意の形状を有してよいが、長方形が、一般的である。
【0036】
点群は、一意的な座標を有し、1つまたは複数の属性も有し得る、3D体積空間内の3Dサンプルのデータセットによって表され得る。
【0037】
このデータセットの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サンプルの色を定義する。同じタイプの属性が、多数回存在してよい。例えば、多数の色属性は、異なる視点からの色情報を提供し得る。
【0038】
点群は、点群が時間に関して変化するか否かに応じて、静的または動的であり得る。静的な点群、または動的な点群のインスタンスは、通常、点群フレームと呼ばれる。動的な点群のケースにおいては、点の数は、一般に、一定でなく、逆に、一般に、時間とともに変化することが、気付かれるべきである。より一般には、例えば、点の数、1つもしくは複数の点の位置、または任意の点の任意の属性などの何かが、時間とともに変化する場合、点群は、動的であると見なされ得る。
【0039】
例として、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サンプルの色を定義する。
【0040】
図1は、本実施形態のうちの少なくとも1つに従った、2レイヤベースの点群エンコーディング構造1000の例の概略ブロック図を例示している。
【0041】
2レイヤベースの点群エンコーディング構造1000は、入力点群フレームIPCFを表す、ビットストリームBを提供し得る。場合によっては、その入力点群フレームIPCFは、動的な点群のフレームを表す。その場合、その動的な点群のフレームは、2レイヤベースの点群エンコーディング構造1000によって、別のフレームとは独立して、エンコードされ得る。
【0042】
基本的に、2レイヤベースの点群エンコーディング構造1000は、ビットストリームBをベースレイヤBLおよびエンハンスメントレイヤELとして構造化する能力を提供し得る。ベースレイヤBLは、入力点群フレームIPCFの損失のある表現を提供し得、エンハンスメントレイヤELは、ベースレイヤBLによって表されない孤立点をエンコードすることによって、より高品質な(場合によっては損失のない)表現を提供し得る。
【0043】
ベースレイヤBLは、
図3に例示されるような、画像ベースのエンコーダ3000によって、提供され得る。その画像ベースのエンコーダ3000は、入力点群フレームIPCFの3Dサンプルのジオメトリ/属性を表す、ジオメトリ/テクスチャ画像を提供し得る。それは、孤立した3Dサンプルが廃棄されることを可能にし得る。ベースレイヤBLは、中間的な再構築された点群フレームIRPCFを提供し得る、
図4に示されるような、画像ベースのデコーダ4000によって、デコードされ得る。
【0044】
次に、
図1における2レイヤベースの点群エンコーディング1000に戻ると、比較器COMPは、欠落した/孤立した3Dサンプルを検出/位置特定するために、入力点群フレームIPCFの3Dサンプルを、中間的な再構築された点群フレームIRPCFの3Dサンプルと比較し得る。次に、エンコーダENCは、欠落した3Dサンプルをエンコードし得、エンハンスメントレイヤELを提供し得る。最後に、ベースレイヤBLとエンハンスメントレイヤELは、ビットストリームBを生成するように、マルチプレクサMUXによって、一緒に多重化され得る。
【0045】
実施形態に従うと、エンコーダENCは、中間的な再構築された点群フレームIRPCFの3D参照サンプルRを検出し、欠落した3DサンプルMに関連付け得る、検出器を備え得る。
【0046】
例えば、欠落した3DサンプルMと関連付けられる3D参照サンプルRは、与えられたメトリックに従って最も近い、Mの近隣サンプルであり得る。
【0047】
実施形態に従うと、エンコーダENCは、その後、欠落した3DサンプルMの空間ロケーションおよびそれらの属性を、3D参照サンプルRの空間ロケーションおよび属性に従って決定される差分として、エンコードし得る。
【0048】
変形においては、それらの差分は、別々にエンコードされ得る。
【0049】
例えば、空間座標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)
【0050】
ここで、x(M)は、
図3によって提供されるジオメトリ画像内のRに対応する、3DサンプルMのx座標である。
Dy(M)=y(M)-y(R)
【0051】
ここで、y(M)は、
図3によって提供されるジオメトリ画像内のRに対応する、3DサンプルMのy座標である。
Dz(M)=z(M)-z(R)
【0052】
ここで、z(M)は、
図3によって提供されるジオメトリ画像内のRに対応する、3DサンプルMのz座標である。
Dr(M)=R(M)-R(R)
【0053】
ここで、R(R)に対応する、R(M)は、Rに対応する、3DサンプルMの色属性のr色成分である。
Dg(M)=G(M)-G(R)
【0054】
ここで、G(R)に対応する、G(M)は、Rに対応する、3DサンプルMの色属性のg色成分である。
Db(M)=B(M)-B(R)
【0055】
ここで、B(R)に対応する、B(M)は、Rに対応する、3DサンプルMの色属性のb色成分である。
【0056】
図2は、本実施形態のうちの少なくとも1つに従った、2レイヤベースの点群デコーディング構造2000の例の概略ブロック図を例示している。
【0057】
2レイヤベースの点群デコーディング構造2000の挙動は、それの能力に依存する。
【0058】
限られた能力を有する2レイヤベースの点群デコーディング構造2000は、デマルチプレクサDMUXを使用することによって、ビットストリームBから、ベースレイヤBLだけを入手し得、その後、
図4に例示されるような、点群デコーダ4000によって、ベースレイヤBLをデコードすることによって、入力点群フレームIPCFの忠実な(しかし、損失のある)バージョンIRPCFを提供し得る。
【0059】
十分な能力を有する2レイヤベースの点群デコーディング構造2000は、デマルチプレクサDMUXを使用することによって、ビットストリームBから、ベースレイヤBLとエンハンスメントレイヤELの両方を入手し得る。
図4に例示されるような、点群デコーダ4000は、ベースレイヤBLから、中間的な再構築された点群フレームIRPCFを決定し得る。デコーダDECは、エンハンスメントレイヤELから、補足的な点群フレームCPCFを決定し得る。その後、コンバイナCOMは、中間的な再構築された点群フレームIRPCFと、補足的な点群フレームCPCFとを一緒に組み合わせ、その結果、入力点群フレームIPCFのより高品質な(場合によっては、損失のない)表現(再構築)CRPCFを提供し得る。
【0060】
図3は、本実施形態のうちの少なくとも1つに従った、画像ベースの点群エンコーダ3000の例の概略ブロック図を例示している。
【0061】
画像ベースの点群エンコーダ3000は、動的な点群のジオメトリおよびテクスチャ(属性)情報を圧縮するために、既存のビデオコーデックを活用する。これは、基本的に、点群データを異なるビデオシーケンスのセットに変換することによって、達成される。
【0062】
特定の実施形態においては、1つは点群データのジオメトリ情報をキャプチャするための、別のものはテクスチャ情報をキャプチャするための、2つのビデオが、既存のビデオコーデックを使用して、生成および圧縮され得る。既存のビデオコーデックの例は、HEVCメインプロファイルエンコーダ/デコーダ(ITU-T H.265 ITUの電気通信標準化部門(02/2018)、シリーズH:視聴覚およびマルチメディアシステム、視聴覚サービスのインフラストラクチャ-動画の符号化、高効率ビデオ符号化、勧告ITU-T H.265)である。
【0063】
2つのビデオを解釈するために使用される、追加のメタデータも、一般に、別々に生成および圧縮される。そのような追加のメタデータは、例えば、占有マップOM、および/または補助パッチ情報PIを含む。
【0064】
生成されたビデオビットストリームと、メタデータは、その後、組み合わされたビットストリームを生成するために、一緒に多重化され得る。
【0065】
メタデータは、一般に、情報全体のうちの僅かな量を表すことが、留意されるべきである。情報の大部分は、ビデオビットストリーム内にある。
【0066】
そのような点群エンコーディング/デコーディングプロセスの例は、ISO/IEC JTC1/SC29/WG11 MPEG2019/w18180(2019年1月、マラケシュ)において定義されたような、MPEGドラフト規格を実施する、(V-PCCとも呼ばれる)テストモデルカテゴリ2アルゴリズムによって与えられる。
【0067】
ステップ3100において、モジュールPGMは、最良の圧縮を提供する戦略を使用して、入力点群フレームIPCFを表すデータセットの3Dサンプルを、投影平面上の2Dサンプルに分解することによって、少なくとも1つのパッチを生成し得る。
【0068】
パッチは、2Dサンプルのセットとして定義され得る。
【0069】
例えば、V-PCCにおいては、例えば、非特許文献1において説明されているように、あらゆる3Dサンプルにおける法線が、最初に推定される。次に、入力点群フレームIPCFの初期クラスタリングが、各3Dサンプルを、入力点群フレームIPCFの3Dサンプルを包含する3Dバウンディングボックスの6つの有向平面のうちの1つと関連付けることによって、獲得される。より正確には、各3Dサンプルは、(点法線と面法線のドット積を最大化する)最も近い法線を有する有向平面とクラスタ化され、関連付けられる。その後、3Dサンプルは、それらの関連付けられた平面に投影される。平面内において連結された領域を形成する3Dサンプルのセットは、連結成分と呼ばれる。連結成分は、類似した法線と、同じ関連付けられた有向平面とを有する、少なくとも1つの3Dサンプルからなるセットである。その後、初期クラスタリングは、各3Dサンプルと関連付けられたクラスタを、それの法線と、それに最も近い近隣サンプルのクラスタとに基づいて、反復的に更新することによって、精緻化される。最終ステップは、各連結成分から1つのパッチを生成することから成り、それは、各連結成分の3Dサンプルを、その連結成分と関連付けられた有向平面上に投影することによって行われる。パッチは、ジオメトリおよび/または属性情報に対応する、投影された2Dサンプルを解釈するために、各パッチについて定義された補助パッチ情報を表す、補助パッチ情報PIと関連付けられる。
【0070】
V-PCCにおいては、例えば、補助パッチ情報PIは、1)連結成分の3Dサンプルを包含する3Dバウンディングボックスの6つの有向平面のうちの1つを示す情報と、2)平面法線に関連する情報と、3)深度、タンジェントシフト、およびバイタンジェントシフトに関して表されるパッチに関連する連結成分の3Dロケーションを決定する情報と、4)パッチを包含する2Dバウンディングボックスを定義する投影平面内における座標(u0,v0,u1,v1)などの情報とを含む。
【0071】
ステップ3200において、パッチパッキングモジュールPPMは、一般に、使用されない空間を最小化する方法で、いかなる重なり合いもなしに、少なくとも1つの生成されたパッチを、(キャンバスとも呼ばれる)2Dグリッド上にマッピング(配置)し得、2DグリッドのあらゆるT×T(例えば、16×16)ブロックが、固有のパッチと関連付けられることを保証し得る。2Dグリッドの与えられた最小ブロックサイズT×Tは、この2Dグリッド上に配置される異なるパッチ間の最小距離を指定し得る。2Dグリッド解像度は、入力点群サイズ、ならびにそれの幅Wおよび高さHに依存し得、ブロックサイズTは、メタデータとして、デコーダに送信され得る。
【0072】
補助パッチ情報PIは、2Dグリッドのブロックとパッチとの間の関連付けに関連する情報をさらに含み得る。
【0073】
V-PCCにおいては、補助情報PIは、2Dグリッドのブロックとパッチインデックスとの間の関連付けを決定する、ブロック-パッチインデックス情報(BlockToPatch)を含み得る。
【0074】
図3aは、2つのパッチP1およびP2と、それらの関連付けられた2DバウンディングボックスB1およびB2とを含む、キャンバスCの例を例示している。
図3aに例示されるように、2つのバウンディングボックスは、キャンバスC内において重なり合うことがあることに留意されたい。2Dグリッド(キャンバスの分割)は、バウンディングボックスの内側だけ表されているが、キャンバスの分割は、それらのバウンディングボックスの外側でも発生する。パッチと関連付けられたバウンディングボックスは、T×Tブロックに分割することができ、一般に、T=16である。
【0075】
パッチに属する2Dサンプルを含むT×Tブロックは、占有ブロックと見なされ得る。キャンバスの各占有ブロックは、占有マップOMにおいて、特定のピクセル値(例えば、1)によって表され、キャンバスの各非占有ブロックは、別の特定の値、例えば、0によって表される。その場合、占有マップOMのピクセル値は、キャンバスのT×Tブロックが、占有されているかどうか、すなわち、パッチに属する2Dサンプルを含むかどうかを示し得る。
【0076】
図3aにおいては、占有ブロックは、白色ブロックによって表され、薄灰色ブロックは、非占有ブロックを表す。画像生成プロセス(ステップ3300および3400)は、入力点群フレームIPCFのジオメトリおよびテクスチャを、画像として記憶するために、ステップ3200中に計算された、少なくとも1つの生成されたパッチの2Dグリッドへのマッピングを利用する。
【0077】
ステップ3300において、ジオメトリ画像生成器GIGは、入力点群フレームIPCF、占有マップOM、および補助パッチ情報PIから、少なくとも1つのジオメトリ画像GIを生成し得る。ジオメトリ画像生成器GIGは、ジオメトリ画像GI内において、占有ブロック、したがって、空でないピクセルを検出(位置特定)するために、占有マップ情報を利用し得る。
【0078】
ジオメトリ画像GIは、入力点群フレームIPCFのジオメトリを表し得、例えば、YUV420-8ビットフォーマットで表された、W×Hピクセルのモノクローム画像であり得る。
【0079】
多数の3Dサンプルが、(同じ投影方向(線)に沿って)投影平面の同じ2Dサンプルに投影(マッピング)されるケースをより良く扱うために、レイヤと呼ばれる、多数の画像が、生成され得る。したがって、異なる深度値D1、...、Dnが、パッチの2Dサンプルと関連付けられ得、その後、多数のジオメトリ画像が、生成され得る。
【0080】
V-PCCにおいては、パッチの2Dサンプルは、2つのレイヤ上に投影される。ニアレイヤとも呼ばれる、第1のレイヤは、例えば、より小さい深度を有する2Dサンプルと関連付けられた、深度値D0を記憶し得る。ファーレイヤと呼ばれる、第2のレイヤは、例えば、より大きい深度を有する2Dサンプルと関連付けられた、深度値D1を記憶し得る。例えば、第2の深度画像によって記憶される情報は、範囲[D0,D0+Δ]内の深度値に対応する、区間[0,Δ]内にあり得、ここで、Δは、表面厚さを記述する、ユーザ定義のパラメータである。
【0081】
このようにして、第2のレイヤは、重要な輪郭に似た高周波数の特徴を含み得る。したがって、明らかに、第2の深度画像は、レガシビデオコーダを使用することによって符号化することが困難なことがあり、したがって、深度値が、デコードされた第2の深度画像から貧弱に再構築されることがあり、それが、再構築された点群フレームのジオメトリの貧弱な品質をもたらすと思われる。
【0082】
実施形態に従うと、ジオメトリ画像生成モジュールGIGは、補助パッチ情報PIを使用することによって、第1のレイヤおよび第2のレイヤの2Dサンプルと関連付けられた深度値を符号化(導出)し得る。
【0083】
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バウンディングボックスを定義する、投影平面上における座標である。
【0084】
したがって、ジオメトリ画像生成モジュールGIGは、(第1もしくは第2の、または両方の)レイヤの2Dサンプルと関連付けられた深度値を、g(u,v)=δ(u,v)-δ0によって与えられるルーマ成分g(u,v)として、符号化(導出)し得る。この関係は、付随する補助パッチ情報PIを有する、再構築されたジオメトリ画像g(u,v)から、3Dサンプルロケーション(δ0,s0,r0)を再構築するために、利用され得ることが留意される。
【0085】
実施形態に従うと、投影モードは、第1のジオメトリ画像GI0が、第1のレイヤまたは第2のレイヤのうちのどちらの2Dサンプルの深度値を記憶し得るか、また第2のジオメトリ画像GI1が、第2のレイヤまたは第1のレイヤのうちのどちらの2Dサンプルと関連付けられた深度値を記憶し得るかを示すために、使用され得る。
【0086】
例えば、投影モードが、0に等しいとき、第1のジオメトリ画像GI0は、第1のレイヤの2Dサンプルの深度値を記憶し得、第2のジオメトリ画像GI1は、第2のレイヤの2Dサンプルと関連付けられた深度値を記憶し得る。反対に、投影モードが、1に等しいとき、第1のジオメトリ画像GI0は、第2のレイヤの2Dサンプルの深度値を記憶し得、第2のジオメトリ画像GI1は、第1のレイヤの2Dサンプルと関連付けられた深度値を記憶し得る。
【0087】
実施形態に従うと、フレーム投影モードは、すべてのパッチに対して、固定投影モードが、使用されるかどうか、または各パッチが異なる投影モードを使用し得る、可変投影モードが、使用されるかどうかを示すために、使用され得る。
【0088】
投影モードおよび/またはフレーム投影モードは、メタデータとして、送信され得る。
【0089】
フレーム投影モード判定アルゴリズムは、例えば、V-PCCのセクション2.2.1.3.1において提供され得る。
【0090】
実施形態に従うと、フレーム投影が、可変投影モードが使用され得ることを示すとき、パッチを(逆)投影するために使用する、適切なモードを示すために、パッチ投影モードが、使用され得る。
【0091】
パッチ投影モードは、メタデータとして送信され得、場合によっては、補助パッチ情報PI内に含まれる情報であり得る。
【0092】
パッチ投影モード判定アルゴリズムは、例えば、V-PCCのセクション2.2.1.3.2において提供されている。
【0093】
ステップ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サンプルと関連付けられ得る。
【0094】
図3bは、投影線PLに沿って、2つの3DサンプルP0とP1との間に配置された、2つの中間3DサンプルP
i1およびP
i2の例を例示している。3DサンプルP0およびP1は、それぞれ、D0およびD1に等しい深度値を有する。2つの中間3DサンプルP
i1およびP
i2それぞれの深度値D
i1およびD
i2は、D0よりも大きく、D1よりも小さい。
【0095】
その場合、投影線に沿ったすべての指定されたビットは、これ以降、エンハンスト占有マップ(EOM)コードワードと呼ばれる、コードワードを形成するために、連結され得る。
図3bに例示されるように、8ビットの長さのEOMコードワードを仮定すると、2つの3DサンプルP
i1およびP
i2のロケーションを示すために、2つのビットは、1に等しい。最後に、すべてのEOMコードワードが、画像内に、例えば、占有マップOM内に、パッキングされ得る。そのケースにおいては、キャンバスの少なくとも1つのパッチが、少なくとも1つのEOMコードワードを含み得る。そのようなパッチは、参照パッチと呼ばれ、参照パッチのブロックは、EOM参照ブロックと呼ばれる。したがって、占有マップOMのピクセル値は、キャンバスの非占有ブロックを示すために、第1の値、例えば、0に等しくあり得、またはキャンバスの占有ブロックもしくはEOM参照ブロックのどちらかを示すために、例えば、0よりも大きい、別の値に等しくあり得る。
【0096】
例に従うと、D1-D0≦1であるとき、占有マップOMのピクセル値は、占有ブロックを示し得、D1-D0>1であるとき、ピクセル値マップOMは、キャンバスのEOM参照ブロックを示し得る。
【0097】
EOM参照ブロックを示す占有マップOM内のピクセルのロケーション、およびそれらのピクセルの値から獲得されるEOMコードワードのビットの値は、中間3Dサンプルの3D座標を示す。
【0098】
ステップ3400において、テクスチャ画像生成器TIGは、入力点群フレームIPCFと、占有マップOMと、補助パッチ情報PIと、ビデオデコーダVDEC(
図4におけるステップ4200)の出力である、少なくとも1つのデコードされたジオメトリ画像DGIから導出される、再構築された点群フレームのジオメトリとから、少なくとも1つのテクスチャ画像TIを生成し得る。
【0099】
テクスチャ画像TIは、入力点群フレームIPCFのテクスチャを表し得、例えば、YUV420-8ビットフォーマットで表された、W×Hピクセルの画像であり得る。
【0100】
テクスチャ画像生成器TGは、テクスチャ画像内において、占有ブロック、したがって、空でないピクセルを検出(位置特定)するために、占有マップ情報を利用し得る。
【0101】
テクスチャ画像生成器TIGは、テクスチャ画像TIを生成し、各ジオメトリ画像/レイヤDGIと関連付けるように適合され得る。
【0102】
実施形態に従うと、テクスチャ画像生成器TIGは、第1のレイヤの2Dサンプルと関連付けられたテクスチャ(属性)値T0を、第1のテクスチャ画像TI0のピクセル値として、また第2のレイヤの2Dサンプルと関連付けられたテクスチャ値T1を、第2のテクスチャ画像TI1のピクセル値として、符号化(記憶)し得る。
【0103】
あるいは、テクスチャ画像生成モジュールTIGは、第2のレイヤの2Dサンプルと関連付けられたテクスチャ値T1を、第1のテクスチャ画像TI0のピクセル値として、また第1のレイヤの2Dサンプルと関連付けられたテクスチャ値D0を、第2のジオメトリ画像GI1のピクセル値として、符号化(記憶)し得る。
【0104】
例えば、3Dサンプルの色は、V-PCCのセクション2.2.3、セクション2.2.4、セクション2.2.5、セクション2.2.8、またはセクション2.5において説明されるように、獲得され得る。
【0105】
2つの3Dサンプルのテクスチャ値は、第1のテクスチャ画像内または第2のテクスチャ画像内のどちらかかに記憶される。しかし、
図3bに例示されるように、投影される中間3Dサンプルのロケーションが、別の3Dサンプル(P0またはP1)のテクスチャ値を記憶するためにすでに使用されている、占有ブロックに対応しているため、中間3Dサンプルのテクスチャ値は、この第1のテクスチャ画像TI0内にも、第2のテクスチャ画像TI1内にも記憶されることができない。したがって、中間3Dサンプルのテクスチャ値は、手続き的に定義されたロケーションにある、第1のテクスチャ画像内または第2のテクスチャ画像内の別のどこかに配置された、EOMテクスチャブロック内に記憶される(V-PCCのセクション9.4.5)。手短に言えば、このプロセスは、テクスチャ画像内の非占有ブロックのロケーションを決定し、中間3Dサンプルと関連付けられたテクスチャ値を、EOMテクスチャブロックと呼ばれる、テクスチャ画像のその非占有ブロックのピクセル値として記憶する。
【0106】
実施形態に従うと、パディングプロセスが、ジオメトリおよび/またはテクスチャ画像上において、適用され得る。パディングプロセスは、パッチ間の空の空間を埋めて、ビデオ圧縮に適した区分的に滑らかな画像を生成するために、使用され得る。
【0107】
画像パディング例は、V-PCCのセクション2.2.6およびセクション2.2.7において提供されている。
【0108】
ステップ3500において、ビデオエンコーダVENCは、生成された画像/レイヤTIおよびGIをエンコードし得る。
【0109】
ステップ3600において、エンコーダOMENCは、例えば、V-PCCのセクション2.2.2において詳述されているように、占有マップを画像としてエンコードし得る。損失のあるエンコーディング、または損失のないエンコーディングが、使用され得る。
【0110】
実施形態に従うと、ビデオエンコーダENCおよび/またはOMENCは、HEVCベースのエンコーダであり得る。
【0111】
ステップ3700において、エンコーダPIENCは、補助パッチ情報PIと、場合によっては、ジオメトリ/テクスチャ画像のブロックサイズT、幅W、および高さHなどの、追加のメタデータとをエンコードし得る。
【0112】
実施形態に従うと、補助パッチ情報は、(例えば、V-PCCのセクション2.4.1において定義されているように)差分的にエンコードされ得る。
【0113】
ステップ3800において、マルチプレクサが、ステップ3500、ステップ3600、およびステップ3700の生成された出力に対して適用され得、結果として、これらの出力は、ベースレイヤBLを表すビットストリームを生成するために、一緒に多重化され得る。メタデータ情報は、ビットストリーム全体の小さい一部を表すことが、留意されるべきである。情報の大部分は、ビデオコーデックを使用して、圧縮される。
【0114】
図4は、本実施形態のうちの少なくとも1つに従った、画像ベースの点群デコーダ4000の例の概略ブロック図を例示している。
【0115】
ステップ4100において、デマルチプレクサDMUXが、ベースレイヤBLを表すビットストリームのエンコードされた情報を逆多重化するために、適用され得る。
【0116】
ステップ4200において、ビデオデコーダVDECは、少なくとも1つのデコードされたジオメトリ画像DGI、および少なくとも1つのデコードされたテクスチャ画像DTIを導出するために、エンコードされた情報をデコードし得る。
【0117】
ステップ4300において、デコーダOMDECは、デコードされた占有マップDOMを導出するために、エンコードされた情報をデコードし得る。
【0118】
実施形態に従うと、ビデオデコーダVDECおよび/またはOMDECは、HEVCベースのデコーダであり得る。
【0119】
ステップ4400において、デコーダPIDECは、補助パッチ情報DPIを導出するために、エンコードされた情報をデコードし得る。
【0120】
場合によっては、メタデータも、ビットストリームBLから導出され得る。
【0121】
ステップ4500において、ジオメトリ生成モジュールGGMは、少なくとも1つのデコードされたジオメトリ画像DGI、デコードされた占有マップDOM、デコードされた補助パッチ情報DPI、および場合によっては、追加のメタデータから、再構築された点群フレームIRPCFのジオメトリRGを導出し得る。
【0122】
ジオメトリ生成モジュールGGMは、少なくとも1つのデコードされたジオメトリ画像DGI内において、空でないピクセルの位置を特定するために、デコードされた占有マップ情報DOMを利用し得る。
【0123】
その空でないピクセルは、デコードされた占有情報DOMのピクセル値、および上で説明されたような、D1-D0の値に応じて、占有ブロックまたはEOM参照ブロックのどちらかに属する。
【0124】
ステップ4500の実施形態に従うと、ジオメトリ生成モジュールGGMは、空ではないピクセルの座標から、中間3Dサンプルの3D座標のうちの2つを導出し得る。
【0125】
ステップ4500の実施形態に従うと、その空でないピクセルが、EOM参照ブロックに属するとき、ジオメトリ生成モジュールGGMは、EOMコードワードのビット値から、中間3Dサンプルの3D座標の第3のものを導出し得る。
【0126】
例えば、
図3bの例に従うと、中間3DサンプルP
i1およびP
i2の3D座標を決定するために、EOMコードワードEOMCが、使用される。中間3DサンプルP
i1の第3の座標は、例えば、D
i1=D0+3によって、D0から導出され得、再構築された3DサンプルP
i2の第3の座標は、例えば、D
i2=D0+5によって、D0から導出され得る。オフセット値(3または5)は、投影線に沿った、D0とD1との間の区間の数である。
【0127】
実施形態に従うと、空でないピクセルが、占有ブロックに属するとき、ジオメトリ生成モジュールGGMは、空でないピクセルの座標、少なくとも1つのデコードされたジオメトリ画像DGIのうちの1つのその空でないピクセルの値、デコードされた補助パッチ情報から、また場合によっては、追加のメタデータから、再構築された3Dサンプルの3D座標を導出し得る。
【0128】
空でないピクセルの使用は、2Dピクセルの3Dサンプルとの関係に基づく。例えば、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バウンディングボックスを定義する、投影平面における座標である。
【0129】
ステップ4600において、テクスチャ生成モジュールTGMは、再構築された点群フレームIRPCFのテクスチャを、ジオメトリRGおよび少なくとも1つのデコードされたテクスチャ画像DTIから導出し得る。
【0130】
ステップ4600の実施形態に従うと、テクスチャ生成モジュールTGMは、EOM参照ブロックに属する空でないピクセルのテクスチャを、対応するEOMテクスチャブロックから導出し得る。テクスチャ画像内のEOMテクスチャブロックのロケーションは、手続き的に定義される(V-PCCのセクション9.4.5)。
【0131】
ステップ4600の実施形態に従うと、テクスチャ生成モジュールTGMは、占有ブロックに属する空でないピクセルのテクスチャを、第1のテクスチャ画像または第2のテクスチャ画像のどちらかのピクセル値として、直接的に導出し得る。
【0132】
図5は、本実施形態のうちの少なくとも1つに従った、ベースレイヤBLを表すビットストリームの例示的なシンタックスを概略的に例示している。
【0133】
ビットストリームは、ビットストリームヘッダSHと、少なくとも1つのグループオブフレームストリームGOFSとを含む。
【0134】
グループオブフレームストリームGOFSは、ヘッダHSと、占有マップOMを表す、少なくとも1つのシンタックス要素OMSと、少なくとも1つのジオメトリ画像(またはビデオ)を表す、少なくとも1つのシンタックス要素GVSと、少なくとも1つのテクスチャ画像(またはビデオ)を表す、少なくとも1つのシンタックス要素TVSと、補助パッチ情報および他の追加のメタデータを表す、少なくとも1つのシンタックス要素PISとを含む。
【0135】
変形においては、グループオブフレームストリームGOFSは、少なくとも1つのフレームストリームを含む。
【0136】
図6は、様々な態様および実施形態がその中で実施されるシステムの例を例示した、概略ブロック図を示している。
【0137】
システム6000は、以下で説明される様々なコンポーネントを含む、1つまたは複数のデバイスとして具現化され得、この文書において説明される態様のうちの1つまたは複数を実行するように構成される。システム6000の全部または一部を形成し得る機器の例は、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家電製品、接続された車両およびそれらの関連付けられた処理システム、ヘッドマウントディスプレイデバイス(HMD、シースルーグラス)、プロジェクタ(ビーマ)、「cave」(多数のディスプレイを含むシステム)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダからの出力を処理するポストプロセッサ、ビデオエンコーダに入力を提供するプリプロセッサ、ウェブサーバ、セットトップボックス、ならびに点群、ビデオもしくは画像を処理するための他の任意のデバイス、または他の通信デバイスを含む。システム6000の要素は、単独でまたは組み合わせて、単一の集積回路、多数のIC、および/または個別コンポーネント内に具現化され得る。例えば、少なくとも1つの実施形態においては、システム6000の処理要素およびエンコーダ/デコーダ要素は、多数のICおよび/または個別コンポーネントにわたって分散されてよい。様々な実施形態においては、システム6000は、例えば、通信バスを介して、または専用入力ポートおよび/もしくは出力ポートを通して、他の類似のシステムに、または他の電子デバイスに、通信可能に結合され得る。様々な実施形態においては、システム6000は、この文書において説明される態様のうちの1つまたは複数を実施するように構成され得る。
【0138】
システム6000は、例えば、この文書において説明される様々な態様を実施するための、その中にロードされた命令を実行するように構成された、少なくとも1つのプロセッサ6010を含み得る。プロセッサ6010は、組み込みメモリ、入出力インターフェース、および当技術分野において知られているような、他の様々な回路を含み得る。システム6000は、少なくとも1つのメモリ6020(例えば、揮発性メモリデバイスおよび/または不揮発性メモリデバイス)を含み得る。システム6000は、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含むが、それらに限定されない、不揮発性メモリおよび/または揮発性メモリを含み得る、記憶デバイス6040を含み得る。記憶デバイス6040は、非限定的な例として、内部記憶デバイス、取り付けられた記憶デバイス、および/またはネットワークアクセス可能な記憶デバイスを含み得る。
【0139】
システム6000は、例えば、エンコードされたデータまたはデコードされたデータを提供するために、データを処理するように構成された、エンコーダ/デコーダモジュール6030を含み得、エンコーダ/デコーダモジュール6030は、自らのプロセッサおよびメモリを含み得る。エンコーダ/デコーダモジュール6030は、エンコーディング機能および/またはデコーディング機能を実行するために、デバイス内に含まれ得る、モジュールを表し得る。知られているように、デバイスは、エンコードモジュールおよびデコードモジュールの一方または両方を含み得る。加えて、エンコーダ/デコーダモジュール6030は、システム6000の別個の要素として実施され得、または当業者に知られているように、ハードウェアとソフトウェアとの組み合わせとして、プロセッサ6010内に組み込まれ得る。
【0140】
この文書において説明される様々な態様を実行するために、プロセッサ6010またはエンコーダ/デコーダ6030上にロードされる、プログラムコードは、記憶デバイス6040内に記憶され、その後、プロセッサ6010による実行のために、メモリ6020上にロードされ得る。様々な実施形態に従うと、プロセッサ6010、メモリ6020、記憶デバイス6040、およびエンコーダ/デコーダモジュール6030のうちの1つまたは複数は、この文書において説明されるプロセスの実行中に、様々なアイテムのうちの1つまたは複数を記憶し得る。そのような記憶されるアイテムは、点群フレーム、エンコード/デコードされたジオメトリ/テクスチャビデオ/画像、またはエンコード/デコードされたジオメトリ/テクスチャビデオ/画像の一部、ビットストリーム、行列、変数、ならびに方程式、式、演算、および操作ロジックの処理からの中間結果または最終結果を含み得るが、それらに限定されない。
【0141】
いくつかの実施形態においては、プロセッサ6010および/またはエンコーダ/デコーダモジュール6030の内部のメモリは、命令を記憶するために、およびエンコーディングまたはデコーディング中に実行され得る処理のためのワーキングメモリを提供するために、使用され得る。
【0142】
しかしながら、他の実施形態においては、処理デバイス(例えば、処理デバイスは、プロセッサ6010またはエンコーダ/デコーダモジュール6030のどちらかであり得る)の外部のメモリが、これらの機能のうちの1つまたは複数のために、使用され得る。外部メモリは、メモリ6020および/または記憶デバイス6040、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態においては、外部不揮発性フラッシュメモリは、テレビのオペレーティングシステムを記憶するために、使用され得る。少なくとも1つの実施形態においては、RAMなどの高速外部ダイナミック揮発性メモリが、(ITU-T勧告H.262およびISO/IEC13818-2としても知られ、MPEG-2ビデオとしても知られる)MPEG-2パート2、HEVC(高効率ビデオ符号化)、またはVVC(多用途ビデオ符号化)などのための、ビデオ符号化およびデコーディング動作のためのワーキングメモリとして使用され得る。
【0143】
システム6000の要素への入力は、ブロック6130に示されるように、様々な入力デバイスを通して、提供され得る。そのような入力デバイスは、(i)例えば、放送局によって無線で送信された、RF信号を受信し得るRF部、(ii)コンポジット入力端子、(iii)USB入力端子、および/または(iv)HDMI入力端子を含むが、それらに限定されない。
【0144】
様々な実施形態においては、ブロック6130の入力デバイスは、当技術分野で知られているように、関連付けられたそれぞれの入力処理要素を有し得る。例えば、RF部は、(i)(信号を選択する、または信号を周波数の帯域に帯域制限するとも呼ばれる)所望の周波数を選択すること、(ii)選択された信号をダウンコンバートすること、(iii)ある実施形態においてはチャネルと呼ばれることがある(例えば)信号周波数帯域を選択するために、周波数のより狭い帯域に再び帯域制限すること、(iv)ダウンコンバートおよび帯域制限された信号を復調すること、(v)誤り訂正を実行すること、ならびに(vi)データパケットの所望のストリームを選択するために、逆多重化することを行うために必要な要素と関連付けられ得る。様々な実施形態のRF部は、これらの機能を実行するための1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを含み得る。RF部は、例えば、受信された信号を、より低い周波数(例えば、中間周波数もしくはベースバンドに近い周波数)に、またはベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々なものを実行する、チューナを含み得る。
【0145】
1つのセットトップボックスの実施形態においては、RF部、およびそれの関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体上において送信された、RF信号を受信し得る。その後、RF部は、所望の周波数帯域になるように、フィルタリング、ダウンコンバート、および再度のフィルタリングを行うことによって、周波数選択を実行し得る。
【0146】
様々な実施形態は、上で説明された(および他の)要素の順序を並べ替え、これらの要素のいくつかを取り除き、および/または類似の機能もしくは異なる機能を実行する他の要素を追加する。
【0147】
要素を追加することは、例えば、増幅器およびアナログ-デジタルコンバータを挿入することなど、既存の要素の間に要素を挿入することを含み得る。様々な実施形態においては、RF部は、アンテナを含み得る。
【0148】
加えて、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介して、システム6000を他の電子デバイスに接続するための、それぞれのインターフェースプロセッサを含み得る。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、例えば、必要に応じて、別個の入力処理IC内において、またはプロセッサ6010内において、実施され得ることが、理解されるべきである。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内において、またはプロセッサ6010内において、実施され得る。復調、誤り訂正、および逆多重化されたストリームは、出力デバイス上における提示のために、必要に応じて、データストリームを処理するために、例えば、メモリおよび記憶要素と組み合わされて動作する、プロセッサ6010およびエンコーダ/デコーダ6030を含む、様々な処理要素に提供され得る。
【0149】
システム6000の様々な要素は、統合されたハウジング内において提供され得る。統合されたハウジング内において、様々な要素は、相互接続され、適切な接続構成6140、例えば、I2Cバスを含む当技術分野で知られているような内部バス、配線、およびプリント回路基板を使用して、それらの間でデータを送信し得る。
【0150】
システム6000は、通信チャネル6060を介した他のデバイスとの通信を可能にする、通信インターフェース6050を含み得る。通信インターフェース6050は、通信チャネル6060上においてデータを送信および受信するように構成された、送受信機を含み得るが、それに限定されない。通信インターフェース6050は、モデムまたはネットワークカードを含み得るが、それらに限定されず、通信チャネル6060は、例えば、有線媒体および/または無線媒体内において、実施され得る。
【0151】
様々な実施形態においては、データは、IEEE 802.11などのWi-Fiネットワークを使用して、システム6000にストリーミングされ得る。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された、通信チャネル6060および通信インターフェース6050上において、受信され得る。これらの実施形態の通信チャネル6060は、一般に、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供する、アクセスポイントまたはルータに接続され得る。
【0152】
他の実施形態は、入力ブロック6130のHDMI接続上においてデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム6000に提供し得る。
【0153】
また他の実施形態は、入力ブロック6130のRF接続を使用して、ストリーミングされたデータをシステム6000に提供し得る。
【0154】
シグナリングは、様々な方法で達成され得ることが、理解されるべきである。様々な実施形態においては、例えば、1つまたは複数のシンタックス要素およびフラグなどが、対応するデコーダに情報をシグナリングするために、使用され得る。
【0155】
システム6000は、ディスプレイ6100、スピーカ6110、および他の周辺デバイス6120を含む、様々な出力デバイスに、出力信号を提供し得る。実施形態の様々な例においては、他の周辺デバイス6120は、スタンドアロンDVR、ディスクプレーヤ、ステレオシステム、照明システム、およびシステム3000の出力に基づいた機能を提供する他のデバイスのうちの1つまたは複数を含み得る。
【0156】
様々な実施形態においては、制御信号は、AV.Link(オーディオ/ビデオリンク)、CEC(家電制御)、またはユーザ介入を伴ったもしくは伴わないデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して、システム6000と、ディスプレイ6100、スピーカ6110、または他の周辺デバイス6120との間で、伝達され得る。
【0157】
出力デバイスは、それぞれのインターフェース6070、6080、6090を通した専用接続を介して、システム6000に通信可能に結合され得る。
【0158】
あるいは、出力デバイスは、通信インターフェース6050を介して、通信チャネル6060を使用して、システム6000に接続され得る。ディスプレイ6100およびスピーカ6110は、例えば、テレビなどの電子デバイス内において、システム6000の他のコンポーネントとともに、単一のユニットに統合され得る。
【0159】
様々な実施形態においては、ディスプレイインターフェース6070は、例えば、タイミングコントローラ(T Con)チップなどの、ディスプレイドライバを含み得る。
【0160】
あるいは、例えば、入力6130のRF部が、別個のセットトップボックスの一部である場合、ディスプレイ6100およびスピーカ6110は、他のコンポーネントの1つまたは複数と別個であり得る。ディスプレイ6100およびスピーカ6110が外部コンポーネントであり得る、様々な実施形態においては、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む、専用の出力接続を介して、提供され得る。
【0161】
上で説明されたように、V-PCCにおいては、点群フレームの3Dサンプルは、2つのレイヤ上に投影され(3Dから2Dへの投影)、ニアレイヤとも呼ばれる第1のレイヤは、例えば、より小さい深度を有する3Dサンプルと関連付けられた深度値D0を記憶し得る。ファーレイヤと呼ばれる第2のレイヤは、例えば、より大きい深度を有する3Dサンプルと関連付けられた深度値D1を記憶し得る。
【0162】
図7は、V-PCCを使用した、3Dから2Dへの投影の例を例示している。
【0163】
表現を簡単にするために、描画は、2Dサンプル点群フレームと、1D投影平面を使用して、行われている。3Dサンプル(中空でない正方形)は、下向きに投影され、したがって、同じ列内の黒い3Dサンプルは、すべて投影平面の同じロケーションに投影される。投影された3Dサンプルの深度値を記憶するために、ニアレイヤD0とファーレイヤD1の2つのレイヤが、使用される。
【0164】
2つのレイヤが、使用されるので、列当たり2つの3Dサンプルだけが、投影されることができ、ニアレイヤ、またはファーレイヤに投影される3Dサンプルは、「0」、または「1」とマーク付けされる。各レイヤ値は、投影平面から3Dサンプルまでの距離値を表す。さらに、V-PCCにおいては、(2つのレイヤの間に配置される)中間3Dサンプルの深度値は、上で説明されたように、EOMコードワードを使用して、符号化される。これらの中間3Dサンプルは、
図7においては、「I」とマーク付けされる。
【0165】
ニアレイヤD0(第1の深度画像)、およびファーレイヤD1(第2の深度画像)は、投影された3Dサンプルの投影平面からのロケーションが記憶される。占有マップ(画像)は、値「0」(キャンバスの非占有ブロック)、「1」(キャンバスの占有ブロック)、「c」(EOMコードワードの値)のいずれかを記憶し得る。
【0166】
図8は、少なくとも1つの実施形態に従った、同じ投影線に沿って投影された3Dサンプルの深度値を符号化するための方法の例の概略ブロック図を例示している。
【0167】
ステップ8100において、モジュールは、少なくとも1つの3Dサンプルが、座標(u,v)によって定義される占有マップOM内のロケーションに対応する投影線PLに沿って、投影されるかどうかを決定する。
【0168】
3Dサンプルが、投影線PLに沿って投影されない場合、ステップ8200において、占有マップ内の座標(u,v)に配置されたピクセルの値は、キャンバス内の非占有ブロックを示す、第1の値に等しい。例えば、その第1の値は、0に等しい。
【0169】
ステップ8200の後には、ステップ8300が続き、占有マップ内の別のロケーションを検討する。プロセスは、すべてのロケーションが検討されたとき、終了する。
【0170】
少なくとも1つの3Dサンプルが、投影線PLに沿って投影される場合、ステップ8400において、占有マップ内の座標(u,v)に配置されたピクセルの値は、キャンバス内の占有ブロックを示す、第2の値に等しい。例えば、その第2の値は、1に等しい。
【0171】
ステップ8500において、モジュールは、少なくとも1つの追加の3Dサンプルが、投影線PLに沿って投影されるかどうかをチェックする。
【0172】
V-PCCにおいては、2つの最初に投影された3Dサンプルの深度値が、ニアレイヤおよびファーレイヤ内に記憶されるので、第1の追加の3Dサンプルは、投影線PL上に投影される第3の3Dサンプルであることに留意されたい。
【0173】
V-PCCにおいては、ステップ8500において、モジュールは、3Dサンプルのロケーションが、D0(u,v)よりも大きく、D1(u,v)よりも小さいかどうかをチェックし、第2に、D1(u,v)-D0(u,v)>1であるかどうかをチェックする。
【0174】
追加の3Dサンプルが、投影線PLに沿って投影されない場合、ステップ8500の後には、ステップ8300が続く。
【0175】
少なくとも1つの追加3Dサンプルが、投影線PLに沿って投影される場合、ステップ8600において、モジュールは、少なくとも1つの追加3Dサンプルの深度値をエンコードするために使用される、(N-1)ビット長のPCMコードPCM(u,v)の長さN(u,v)を初期化する。
【0176】
V-PCCにおいては、N(u,v)=D1(u,v)-D0(u,v)である。
【0177】
ステップ8700において、モジュールは、投影線PLに沿って投影される少なくとも1つの3Dサンプルの深度値をエンコードするために、(N-1)ビット長のPCMコードPCM(u,v)を生成する。
【0178】
V-PCCにおいては、PCM(u,v)の第iのビットは、ロケーションD0(u,v)+iが、投影された3Dサンプルによって占有されることを示す場合は、1に等しく、非占有ロケーションを示す場合は、0に等しい。
【0179】
ステップ8800においては、モジュールは、
以下のように、PCM(u,v)からEOMコードワードC(u,v)を計算する。
C(u,v)=1+(2^(N-1)-1-PCMコード)
【0180】
ステップ8900において、モジュールは、EOMコードワードを、座標(u,v)に配置される、占有マップOM内のピクセルの値に割り当て、すなわち、OM(u,v)=C(u,v)とする。
【0181】
ステップ8900の後には、ステップ8300が続く。
【0182】
図9は、少なくとも1つの実施形態に従った、同じ投影線に沿って投影された3Dサンプルの深度値をデコードするための方法の例の概略ブロック図を例示している。
【0183】
ステップ9100において、モジュールは、座標(u,v)における占有マップ(OMまたはDOM)のロケーションを検討する。プロセスは、占有マップのすべてのロケーションが検討されたとき、終了する。
【0184】
ステップ9200において、モジュールは、占有マップ内の座標(u,v)に配置されたピクセルの値OM(u,v)が、3Dサンプルが、投影線PLに沿って、このロケーションに投影されていないことを示すかどうかを決定する。OM(u,v)は、キャンバス内の占有ブロックを示す別の値と等しいこともある。言い換えると、その別の値は、投影線PLに沿った少なくとも1つの投影された3Dサンプルの深度値が、レイヤ(ニアレイヤおよび/またはファーレイヤ)のピクセル値として記憶されていること、場合によっては、追加の3Dサンプルの深度値を表すEOMコードワードC(u,v)が、ロケーション(u,v)において占有マップに記憶されていることを示す。
【0185】
V-PCCにおいては、ステップ9200において、OM(u,v)=0は、3Dサンプルが、ロケーション(u,v)において投影されていないことを示し、別のロケーションが、ステップ9100において検討される。OM(u,v)=1は、キャンバス内の占有ブロッを示し、D1(u,v)-D0(u,v)>1は、少なくとも1つの追加3Dサンプルの深度値が記憶されることがあることを示す。
【0186】
占有マップ内の座標(u,v)に配置されたピクセルの値OM(u,v)が、3Dサンプルが、投影線PLに沿って投影されないことを示す場合、ステップ9200の後には、ステップ9100が続き、占有マップ内の別のロケーションを検討する。
【0187】
そうでない場合、ステップ9300において、モジュールは、少なくとも1つの追加の3Dサンプルの深度値をデコードするために使用される、(N-1)ビット長のPCMコードPCM(u,v)の長さN(u,v)を初期化する。
【0188】
V-PCCにおいては、N(u,v)=D1(u,v)-D0(u,v)である。
【0189】
ステップ9400において、モジュールは、座標(u,v)における占有マップOM(u,v)のピクセル値から、投影線PLに沿って投影された少なくとも1つの3Dサンプルの深度値をデコードするための、(N-1)ビット長のPCM符号PCM(u,v)を生成する。
【0190】
V-PCCにおいては、PCMコードPCM(u,v)は、EOMコードワードC(u,v)から、
PCMコード(u,v)=1+(2^(N-1)-1-C(u,v))
によって獲得される。
【0191】
ステップ9500において、モジュールは、PCMコードPCM(u,v)から、少なくとも1つの追加の3Dサンプルの深度値を導出する。
【0192】
V-PCCにおいては、D0から投影線PLに沿って投影された第iの3Dサンプルの深度値は、D0(u,v)+iに等しい。
【0193】
図8および
図9に示されるように、V-PCCにおいては、PCMコードの長さは、ニアレイヤおよびファーレイヤに依存するので、単一のレイヤが、使用される場合、EOMコードワードは、計算されることができない。また、
図7に示されるように、EOMコードワードを使用することは、「0」および「1」とマーク付けされた投影された3Dサンプルと同じ投影線上にあるが、それらの間にない3Dサンプルを、すなわち、投影された3Dサンプルが、D0からの距離がD1-D0よりも大きいところに配置される場合の、3Dサンプルを符号化することを可能にしない。D1-D0に対して許容される最大値は、一般に、「表面厚さ」と呼ばれ、したがって、それは、中間点についてのD0からの最大可能距離を制限する-列E、列F、および列Hにおける例を参照されたい。
【0194】
少なくとも1つの実施形態の一般的な態様に従うと、占有マップ(画像)のピクセル値は、同じ投影線に沿って投影された点群フレームの少なくとも1つの3Dサンプルの深度値が、少なくとも1つのレイヤ(深度画像)のピクセル値として記憶されるか、それとも投影線に沿った少なくとも1つの3Dサンプル投影の深度値を表す、固定長コードワードに等しいかを示す。
【0195】
同じ投影線に沿って投影された少なくとも1つの3Dサンプルの深度値を表すために、固定長コードワードを使用することは、PCMコード長が、今では、ニアレイヤおよびファーレイヤに依存しない固定値であるので、単一のレイヤを使用することを可能にする。さらに、後でさらに詳細に説明されるように、固定長コードワードを使用することは、中間3Dサンプルでない、投影された3Dサンプル、すなわち、ファーレイヤ内に記憶された深度値よりも大きい深度値を有する3Dサンプルの深度値の符号化を可能にする。
【0196】
少なくとも1つの実施形態に従うと、ステップ8600およびステップ9300において、モジュールは、(N-1)ビット長のPCMコードPCM(u,v)の長さN(u,v)を、固定PCMコード長PCMLとして、初期化し得る。
【0197】
ステップ8500の実施形態に従うと、2つのレイヤD0およびD1が、使用されるとき、モジュールは、追加の3Dサンプルのロケーションが、D0(u,v)よりも大きく、D0(u,v)+PCMLよりも小さいかどうかをチェックし得る。
【0198】
図10は、少なくとも1つの実施形態に従った、占有マップOM(u,v)のピクセル値を決定する例を例示している。
【0199】
この例においては、2つのレイヤ(深度画像)、すなわち、レイヤ0およびレイヤ1が、使用される。PCMコード長PCMLは、9に等しく、それは、PCMコード(EOMコードワード)当たり、3Dサンプルの8つのロケーションが、エンコードされ得ることを意味する。斜線の正方形は、8つのロケーションを示す。8つのロケーションのうちの1つが、ブロック正方形を覆うとき、正方形は、黒いままであることに留意されたい。例えば、列Aにおいては、ニアレイヤ内に記憶された深度値は、2に等しく(「0」を有する黒い正方形)、ファーレイヤ内に記憶された深度値は、7に等しく(「1」を有する黒い正方形)、EOMコードワードとして記憶される深度値は、cに等しい。この黒い正方形から開始して、列Aに沿った8つの斜線の正方形は、ロケーション3から10までである。表現を明瞭にするために、ロケーション4、5は、ブロック正方形のままである。ロケーション4および5を含む、ロケーション3から10は、それらの深度値がPCMコード内にエンコードされる、投影された3Dサンプルに対応する。
【0200】
ニアレイヤD0とD0+PCMLとの間に配置される、投影された3Dサンプルのジオメトリは、列E、列F、および列Gに例示されるように、中間3Dサンプルでない3Dサンプルであっても、キャプチャされ得る。
【0201】
その結果、固定長PCMコードを使用することは、点群フレームのジオメトリの符号化効率を向上させる。
【0202】
ステップ8700の実施形態に従うと、モジュールは、投影線PLに沿って投影された3Dサンプルの深度値の、PCMコードPCM(u,v)のビットとしてのエンコーディングを、その深度値が、レイヤ値(深度画像の値)として、すでにエンコードされているときは、スキップし得る。
【0203】
例えば、モジュールは、PCM(u,v)の各第iのビットについての現在ロケーションD0(u,v)+iを算出し得、ニアレイヤおよびファーレイヤ(深度画像)内のピクセルが、そのような深度値を、投影された3Dサンプルとして記憶するかどうかをチェックし得る。そのケースにおいては、PCM(u,v)の第iのビットは、0になるように設定される。そうでないケースにおいては、1である。
【0204】
ステップ8700のこの実施形態は、ファーレイヤ、およびEOMコードワードのビットを使用することによって、同じ投影された3Dサンプルの深度値を2回にエンコードすることを回避し、
図10に例示されるように、固定長PCMコードFLPCMがニアレイヤとファーレイヤとの間の最大距離(最大表面厚さ)よりも大きいとき、黒い正方形に対する列A、列B、列C、列E、列F、および列Hは「1」とマーク付けされる。
【0205】
ステップ8700のこの実施形態は、
図11に関連してさらに説明されるように、それが、カバーされる領域を拡張し得るので、それは、有利でもある。
【0206】
図11は、変形に従った、占有マップOM(u,v)のピクセル値を決定する例を例示している。
【0207】
PCMコード長PCMLは、9に等しい。例えば、列Aにおいて、ビットb0...b7は、それぞれ、この列Aに関連するPCMコードのロケーション3...10を参照する。この例においては、列Aのロケーション7の深度値は、すでにファーレイヤ内にエンコードされており、EOMコードワードとしてエンコードされない。したがって、PCMコードのビットb4、...、b7は、今では、ロケーション8、...、11を参照し得、領域をロケーション2(ニアレイヤ)から11個のロケーションに拡張する。
【0208】
同様の状況が、列Eのロケーション3、列Fのロケーション2、および列Hのロケーション2について発生する。
【0209】
多数の点が打たれ「1」とマーク付けされた白い正方形は、それらの深度値がすでにレイヤ内に記憶されている3Dサンプルのロケーションを参照することに留意されたい。例えば、列Hのロケーション2は、ファーレイヤ内に記憶されている3Dサンプルの深度値を参照する。
【0210】
ステップ9200の実施形態に従うと、単一のレイヤD0が、使用されるとき、モジュールは、占有マップ内の座標(u,v)に配置されたピクセルの値OM(u,v)が、3Dサンプルが、投影線PLに沿って、このロケーションに投影されないこと(例えば、OM(u,v)=0)を示すかどうかを決定し得る。OM(u,v)は、キャンバス内における占有ブロックを示す、別の値に等しいこともある。言い換えると、別の値は、投影線PLに沿った少なくとも1つの投影された3Dサンプルの深度値が、レイヤD0内のピクセル値として記憶されること、場合によっては、追加の3Dサンプルの深度値を表すEOMコードワードC(u,v)が、占有マップ内のロケーション(u,v)に記憶されることを示す。
【0211】
図12は、少なくとも1つの実施形態に従った、占有マップOM(u,v)のピクセル値を決定する例を例示している。
【0212】
この例においては、単一のレイヤ、すなわち、レイヤ0が、使用される。PCMコード長PCMLは、9に等しい。例えば、列Aにおいては、単一のレイヤ内に記憶されている深度値は、2に等しい(「0」を有する黒い正方形)。この黒い正方形から開始して、列Aに沿った8つの斜線の正方形は、ロケーション3から10までである。ロケーション4、5、および7は、それらの深度値がPCMコード内にエンコードされる、投影された3Dサンプルに対応する、黒い正方形のままである。
【0213】
図8および
図9に例示される方法の実施形態に従うと、固定長のPCMコードが使用されるか否かを示す、情報INFO1が、シグナリングされ得る。
【0214】
この実施形態に従うと、その情報INFO1は、場合によっては、ネットワーク上において送信される、ビットストリームに追加され得、その情報は、場合によっては、通信手段から受信される、ビットストリームから抽出(獲得)され得る。
【0215】
この実施形態に従うと、モジュールは、固定長のコードワードが使用されるか否かを示す情報INFO1を、ビットストリームから獲得し得、その情報INFO1が、固定長のPCMコードが、使用されないことを示す場合、PCMコードの長さは、
図8のステップ8600および
図9のステップ9300の両方において、V-PCCにあるように、2つのレイヤから導出され得る。その後、深度値が、異なる長さを有し得る、PCMコードから導出される。情報INFO1が、固定長のPCMコードが、使用されることを示す場合、PCMコードの長さは、エンコーディング側およびデコーディング側において知られ得る、PCMコード長PCMLに等しくなり得る。その後、深度値が、固定長のコードワードから導出される。
【0216】
変形においては、PCMコード長PCMLは、占有マップのビット深度に等しいと仮定され得る。例えば、占有マップが、色成分当たり8ビットを使用して、エンコードされる場合、PCMコード長PCMLは、自動的に8になるように設定され、それは、PCMコード内に7ビットが存在することを意味する。
【0217】
この変形は、EOMコードワードの長さを最適化するための最も低い柔軟性を提供するが、それは、最も単純な手法でもある。
【0218】
実施形態に従うと、PCMコード長PCMLを表す情報INFO2が、シグナリングされ得る。
【0219】
この実施形態に従うと、その情報INFO2は、場合によっては、ネットワーク上において送信される、ビットストリームに追加され得、その後、その情報は、場合によっては、通信手段から受信される、ビットストリームから抽出され得る。
【0220】
実施形態に従うと、情報INFO1および/またはINFO2は、シーケンスレベルにおいて、シグナリングされ得る。したがって、点群フレームのシーケンスをエンコードするために、情報INFO1の単一の値と、情報INFO2の単一の値が、シグナリングされ得る。
【0221】
図13は、少なくとも1つの実施形態に従った、情報INFO1およびINFO2をシグナリングするために使用される、シンタックス要素の例を例示している。
【0222】
この例においては、情報INFO1は、シンタックス要素「sps_enhanced_occupancy_map_code_fixed_bit_count_flag」であり、情報INFO2は、シンタックス要素「sequence_parameter_set」でシグナリングされる、シンタックス要素「sps_enhanced_occupancy_map_code_fixed_bit_count」である。
【0223】
実施形態に従うと、情報INFO1および/またはINFO2は、占有パラメータセットでシグナリングされ得る。
【0224】
図14は、少なくとも1つの実施形態に従った、情報INFO1およびINFO2をシグナリングするために使用される、シンタックス要素の例を例示している。
【0225】
この例においては、情報INFO1は、シンタックス要素「ops_occupancy_code_fixed_bit_count_flag」であり、情報INFO2は、シンタックス要素「ops_parameter_set」でシグナリングされる、シンタックス要素「ops_occupancy_code__bit_count_minus1」である。
【0226】
実施形態の変形に従うと、情報INFO1および/またはINFO2は、ジオメトリパラメータセットのシンタックス要素として、シグナリングされ得る。
【0227】
方法の実施形態に従うと、情報INFO1および/またはINFO2は、フレームごとに、シグナリングされ得る。
【0228】
この実施形態は、情報INFO1および/またはINFO2が、よりしばしば送信されるので、より高いビットレートを必要とするが、各フレームについて、エンコーディング/デコーディング方法をより良好に調整することを可能にする。
【0229】
実施形態の変形においては、情報INFO1および/またはINFO2は、geometry_frame_params unitのシンタックス要素として、シグナリングされ得る(V-PCCのセクション7.3.18)。
【0230】
実施形態の変形においては、情報INFO1および/またはINFO2は、ジオメトリフレームパラメータユニットに類似した、occupancy_frame_params unitのシンタックス要素として、対応するoccupancy_frame_parameter_set unit、および対応するパッチシーケンスユニットタイプ(例えば、PSD_OFPS、占有フレームパラメータセット、V-PCCの表7-4を参照)とともに、シグナリングされ得る。
【0231】
方法の実施形態に従うと、情報INFO1および/またはINFO2は、パッチごとに、シグナリングされ得る。
【0232】
この実施形態は、情報INFO1および/またはINFO2が、よりしばしば送信されるので、より高いビットレートを必要とするが、各パッチについて、エンコーディング/デコーディング方法をより良好に調整することを可能にする。
【0233】
実施形態の変形に従うと、情報INFO1および/またはINFO2は、patch_data unitおよびdelta_patch_data unitのシンタックス要素として、シグナリングされ得る。
【0234】
実施形態の変形に従うと、情報INFO1および/またはINFO2は、geometry_patch_params unitのシンタックス要素として、シグナリングされ得る(V-PCCのセクション7.3.22)。
【0235】
実施形態の変形に従うと、情報INFO1および/またはINFO2は、occupancy_patch_params unitのシンタックス要素として、対応するoccupancy_patch_parameter_set unitとともに、シグナリングされ得る。
【0236】
本明細書においては、
図1~
図14において、様々な方法が、説明され、方法の各々は、説明された方法を達成するための、1つまたは複数のステップまたはアクションを含む。ステップまたはアクションの特定の順序が、方法の適切な動作のために必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、変更され、または組み合わされてよい。
【0237】
いくつかの例は、ブロック図および動作フローチャートに関して、説明される。各ブロックは、回路要素、モジュール、または指定された論理機能を実施するための1つもしくは複数の実行可能命令を含むコードの一部を表す。他の実施においては、ブロック内に記された機能は、示された順序とは異なって、発生することがあることも留意されるべきである。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されることがあり、またはブロックは、含まれる機能性に応じて、ときには逆の順序で実行されることがある。
【0238】
本明細書において説明される実施および態様は、例えば、方法もしくはプロセス、装置、コンピュータプログラム、データストリーム、ビットストリーム、または信号で実施され得る。単一の形態の実施だけに関連して論じられる(例えば、方法としてだけ論じられる)としても、論じられる特徴の実施は、他の形態(例えば、装置またはコンピュータプログラム)でも実施されてよい。
【0239】
方法は、例えば、一般に、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む、処理デバイスを指す、プロセッサで実施され得る。プロセッサは、通信デバイスも含む。
【0240】
加えて、方法は、プロセッサによって実行される、命令によって実施され得、そのような命令(および/または実施によって作り出されたデータ値)は、コンピュータ可読記憶媒体上に記憶され得る。コンピュータ可読記憶媒体は、1つまたは複数のコンピュータ可読媒体内に具現化され、コンピュータによって実行可能な、その上に具現化されたコンピュータ可読プログラムコードを有する、コンピュータ可読プログラム製品の形態を取り得る。本明細書において使用される場合のコンピュータ可読記憶媒体は、その中に情報を記憶する固有の能力、およびその中からの情報の取得を提供する固有の能力を与えられた、非一時的記憶媒体と見なされ得る。コンピュータ可読記憶媒体は、例えば、電子的な、磁気的な、光学的な、電磁的な、赤外線の、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の適切な組み合わせであり得るが、それらに限定されない。以下のものは、本実施形態がそれに適用され得る、コンピュータ可読記憶媒体のより具体的な例を提供するが、当業者によって容易に理解されるように、例示的なリストにすぎず、網羅的なリストではないことが、理解されるべきであり、そのリストとは、ポータブルコンピュータディスケット、ハードディスク、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMもしくはフラッシュメモリ)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、光学記憶デバイス、磁気記憶デバイス、または前述のものの任意の適切な組み合わせである。
【0241】
命令は、プロセッサ可読媒体上に有形に具現化された、アプリケーションプログラムを形成し得る。
【0242】
命令は、例えば、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせの中にあり得る。命令は、例えば、オペレーティングシステム、個別のアプリケーション、または2つの組み合わせの中に見出され得る。したがって、プロセッサは、例えば、プロセスを遂行するように構成されたデバイスと、プロセスを遂行するための命令を有する、(記憶デバイスなどの)プロセッサ可読媒体を含むデバイスの両方として特徴付けられ得る。さらに、プロセッサ可読媒体は、命令に加えて、または命令の代わりに、実施によって作り出されたデータ値を記憶し得る。
【0243】
装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施され得る。そのような装置の例は、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家電製品、ヘッドマウントディスプレイデバイス(HMD、シースルーグラス)、プロジェクタ(ビーマ)、「cave」(多数のディスプレイを含むシステム)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダからの出力を処理するポストプロセッサ、ビデオエンコーダに入力を提供するプリプロセッサ、ウェブサーバ、セットトップボックス、ならびに点群、ビデオもしくは画像を処理するための他の任意のデバイス、または他の通信デバイスを含む。明らかであるように、機器は、移動式であってよく、移動車両内に設置されさえしてよい。
【0244】
コンピュータソフトウェアは、プロセッサ6010によって、もしくはハードウェアによって、またはハードウェアとソフトウェアの組み合わせによって実施され得る。非限定的な例として、実施形態は、1つまたは複数の集積回路によっても実施され得る。メモリ6020は、技術環境に適した任意のタイプのものであってよく、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、およびリムーバブルメモリなどの、任意の適切なデータストレージ技術を使用して、実施され得る。プロセッサ6010は、技術環境に適した任意のタイプのものであってよく、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づいたプロセッサのうちの1つまたは複数を包含し得る。
【0245】
当業者に明らかであるように、実施は、例えば、記憶または送信され得る情報を搬送するようにフォーマットされた、様々な信号を作り出し得る。情報は、例えば、方法を実行するための命令、または説明した実施のうちの1つによって作り出されたデータを含み得る。例えば、信号は、説明された実施形態のビットストリームを搬送するように、フォーマットされ得る。そのような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)電磁波として、またはベースバンド信号として、フォーマットされ得る。フォーマットは、例えば、データストリームをエンコードすること、およびエンコードされたデータストリームを用いて搬送波を変調することを含み得る。信号が搬送する情報は、例えば、アナログ情報またはデジタル情報であり得る。信号は、知られているように、様々な異なる有線リンクまたは無線リンク上において、送信され得る。信号は、プロセッサ可読媒体上に記憶され得る。
【0246】
本明細書において使用される用語は、特定の実施形態を説明することを目的としているにすぎず、限定的であることは意図されていない。本明細書において使用される場合、文脈が明らかにそうでないことを示さない限り、「a」、「an」、および「the」を冠する単数形は、複数形も含むことが意図され得る。本明細書内において使用されるとき、「includes(含む)/comprises(含む)」、および/または「including(含む)/comprising(含む)」という用語は、述べられた、例えば、特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を指定し得るが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはそれらのグループの存在または追加を排除しないことが、さらに理解されよう。さらに、要素が、別の要素に「応答する」または「接続される」と言われるとき、それは、他の要素に直接的に応答してよく、もしくは接続されてよく、または介在要素が、存在してよい。対照的に、要素が、他の要素に「直接的に応答する」または「直接的に接続される」と言われるとき、介在要素は、存在しない。
【0247】
例えば、「A/B」、「Aおよび/またはB」、および「AおよびBのうちの少なくとも1つ」のケースにおける、「/」、「および/または」、および「~のうちの少なくとも1つ」という記号/用語のいずれかの使用は、第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)の選択を包含することが意図される。これは、当技術分野および関連技術分野の当業者に明らかなように、列挙されたアイテムの数だけ拡張され得る。
【0248】
例えば、様々な数値が、本出願において、使用され得る。特定の数値は、例示的な目的のためであり得、説明された態様は、これらの特定の数値に限定されない。
【0249】
様々な要素を説明するために、本明細書においては、第1の、第2のなどの用語が、使用されることがあるが、これらの要素は、これらの用語によって限定されないことが、理解されよう。これらの用語は、1つの要素を別の要素から区別するために使用されるにすぎない。例えば、本出願の教示から逸脱することなく、第1の要素は、第2の要素と呼ばれることができ、同様に、第2の要素は、第1の要素と呼ばれることができる。第1の要素と第2の要素との間の順序付けは、暗示されない。
【0250】
「1つの実施形態」もしくは「実施形態」、または「1つの実施」もしくは「実施」、およびそれらの他の変形に対する言及は、(実施形態/実施との関連において説明される)特定の特徴、構造、および特性などが、少なくとも1つの実施形態/実施に含まれることを伝えるために頻繁に使用される。したがって、本出願全体の様々な場所に出現する、「1つの実施形態において」もしくは「実施形態において」という語句、または「1つの実施において」もしくは「実施において」という語句、および他の任意の変形の出現は、必ずしもすべてが同じ実施形態に言及しているわけではない。
【0251】
同様に、本明細書における、「実施形態/例/実施に従うと」、または「実施形態/例/実施においては」、およびそれらの他の変形に対する言及は、(実施形態/例/実施との関連において説明される)特定の特徴、構造、または特性が、少なくとも1つの実施形態/例/実施に含まれ得ることを伝えるために頻繁に使用される。したがって、本明細書内の様々な場所における、「実施形態/例/実施に従うと」という表現、または「実施形態/例/実施において」という表現の出現は、必ずしもすべてが同じ実施形態/例/実施に言及しているわけではなく、別のまたは代替の実施形態/例/実施は、他の実施形態/例/実施と必ずしも相互に排他的であるわけではない。
【0252】
請求項内に出現する参照番号は、例示のためのものにすぎず、請求項の範囲に対して限定的な効果を有さないものとする。明示的に説明されていないが、本実施形態/例および変形は、任意のコンビネーションまたはサブコンビネーションにおいて、利用され得る。
【0253】
図が、フロー図として提示されるとき、それは、対応する装置のブロック図も提供することが、理解されるべきである。同様に、図が、ブロック図として提示されるとき、それは、対応する方法/プロセスのフロー図も提供することが、理解されるべきである。
【0254】
いくつかの図は、通信の主要な方向を示すために、通信経路上に矢印を含むが、通信は、描かれた矢印と反対の方向に生じてよいことが、理解されるべきである。
【0255】
様々な実施は、デコーディングを含む。「デコーディング」は、本出願において使用される場合、表示に適した、または再構築された点群領域におけるさらなる処理に適した、最終出力を作り出すために、例えば、(場合によっては、1つまたは複数の点群フレームをエンコードした受信されたビットストリームを含む)受信された点群フレームに対して実行されるプロセスのすべてまたは一部を包含し得る。様々な実施形態においては、そのようなプロセスは、一般に画像ベースのデコーダによって実行されるプロセスのうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、例えば、本出願において説明される様々な実施のデコーダによって実行されるプロセスも含み、またはプロセスを代替的に含む。
【0256】
さらなる例として、1つの実施形態においては、「デコーディング」は、エントロピデコーディングだけを指してよく、別の実施形態においては、「デコーディング」は、差分デコーディングだけを指してよく、別の実施形態においては、「デコーディング」は、エントロピデコーディングと差分デコーディングとの組み合わせを指してよい。「デコーディングプロセス」という語句が、特定的に動作のサブセットを指すか、それとも一般的により広範なデコーディングプロセスを指すかは、具体的な説明の文脈に基づいて、明らかであり、当業者によってよく理解されると信じられる。
【0257】
様々な実施は、エンコーディングを含む。「デコーディング」についての上の論考と類似した方法で、「エンコーディング」は、本出願において使用される場合、エンコードされたビットストリームを生成するために、例えば、入力点群フレームに対して実行されるプロセスのすべてまたは一部を包含し得る。様々な実施形態においては、そのようなプロセスは、一般に画像ベースのデコーダによって実行されるプロセスのうちの1つまたは複数を含む。
【0258】
さらなる例として、1つの実施形態においては、「エンコーディング」は、エントロピエンコーディングだけを指してよく、別の実施形態においては、「エンコーディング」は、差分エンコーディングだけを指してよく、別の実施形態においては、「エンコーディング」は、差分エンコーディングとエントロピエンコーディングとの組み合わせを指してよい。「エンコーディングプロセス」という語句が、特定的に動作のサブセットを指すか、それとも一般的により広範なエンコーディングプロセスを指すかは、具体的な説明の文脈に基づいて、明らかであり、当業者によってよく理解されると信じられる。
【0259】
本明細書において使用される場合、シンタックス要素、例えば、sps_enhanced_occupancy_map_code_fixed_bit_count_flag、sps_enhanced_occupancy_map_code_fixed_bit_count、ops_occupancy_code_fixed_bit_count_flag、ops_occupancy_code__bit_count_minus1、ops_parameter_set、occupancy_frame_params unit、patch_data unit、occupancy_patch_params unitは、記述的用語であることに留意されたい。そのため、それらは、他のシンタックス要素名の使用を排除しない。
【0260】
様々な実施形態は、レート歪み最適化に言及する。特に、エンコーディングプロセス中、レートと歪みとの間のバランスまたはトレードオフが、通常、検討され、計算複雑さの制約をしばしば与えられる。レート歪み最適化は、通常、レートと歪みの加重和である、レート歪み関数を最小化することとして、定式化され得る。レート歪み最適化問題を解決するための異なる手法が、存在する。例えば、手法は、すべての検討されるモードまたは符号化パラメータ値を含む、すべてのエンコーディング選択肢の、それらの符号化コスト、ならびに符号化およびデコーディング後の再構築された信号の関連する歪みの完全な評価を伴った、広範なテストに基づき得る。エンコーディング複雑さを減じるために、特に、再構築されたものではない、予測または予測残差信号に基づいた、近似された歪みの計算を用いる、より高速な手法も、使用され得る。可能なエンコーディング選択肢のいくつかだけに対して近似された歪みを使用し、他のエンコーディング選択肢に対しては完全な歪みを使用することなどによる、これら2つの手法の混合も、使用され得る。他の手法は、可能なエンコーディング選択肢のサブセットだけを評価する。より一般には、多くの手法は、最適化を実行するために、様々な技法のいずれかを利用するが、最適化は、必ずしも、符号化コストと、関連する歪みの両方の完全な評価ではない。
【0261】
加えて、本出願は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を算出すること、情報を予測すること、または情報をメモリから取得することのうちの1つまたは複数を含み得る。
【0262】
さらに、本出願は、様々な情報に「アクセス」することに言及することがある。情報にアクセスすることは、例えば、情報を受信すること、情報を(例えば、メモリから)取得すること、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を算出すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含み得る。
【0263】
加えて、本出願は、様々な情報を「受信する」ことに言及することがある。「受信する」は、「アクセスする」と同様に、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または情報を(例えば、メモリから)取得することのうちの1つまたは複数を含み得る。さらに、「受信する」ことは、一般に、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を算出すること、情報を決定すること、情報を予測すること、または情報を推定することなどの動作中に、様々な方法で含まれる。
【0264】
また、本明細書において使用される場合、「signal(シグナリングする)」という単語は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、ある実施形態においては、エンコーダは、特定の情報INFO1および/またはINFO2をシグナリングする。このようにして、実施形態においては、エンコーダ側とデコーダ側の両方において、同じパラメータが、使用され得る。したがって、例えば、エンコーダは、デコーダが、同じ特定のパラメータを使用し得るように、特定のパラメータをデコーダに送信し得る(明示的なシグナリング)。反対に、デコーダが、すでに特定のパラメータおよびその他を有する場合、デコーダが、特定のパラメータを知り、選択することを単に可能にするために、送信せずに、シグナリングが、使用され得る(暗黙的なシグナリング)。いずれの実際の機能の送信も回避することによって、様々な実施形態において、ビット節約が、実現される。シグナリングは、様々な方法で達成され得ることが、理解されるべきである。例えば、様々な実施形態においては、情報を対応するデコーダにシグナリングするために、1つまたは複数のシンタックス要素およびフラグなどが、使用される。前述のことは、「signal」という単語の動詞形に関連するが、「signal(信号)」という単語は、本明細書においては、名詞としても使用され得る。
【0265】
数々の実施が、説明された。それにもかかわらず、様々な変更が、行われ得ることが、理解されよう。例えば、異なる実施の要素は、他の実施を作り出すために、組み合わされ、補足され、変更され、取り除かれてよい。加えて、当業者は、他の構造およびプロセスが、開示されたそれらに取って代わってよく、結果として得られた実施は、開示された実施と少なくとも実質的に同じ結果を達成するために、少なくとも実質的に同じ方法で、少なくとも実質的に同じ機能を実行することを理解するであろう。したがって、これらの実施および他の実施は、本出願によって企図されている。