(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-25
(45)【発行日】2025-01-09
(54)【発明の名称】点群符号化および復号化方法、エンコーダ、デコーダ、ならびにコンピュータ記憶媒体
(51)【国際特許分類】
G06T 9/00 20060101AFI20241226BHJP
【FI】
G06T9/00
(21)【出願番号】P 2023540105
(86)(22)【出願日】2020-12-31
(86)【国際出願番号】 CN2020142301
(87)【国際公開番号】W WO2022141461
(87)【国際公開日】2022-07-07
【審査請求日】2023-12-07
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(74)【代理人】
【識別番号】100120385
【氏名又は名称】鈴木 健之
(72)【発明者】
【氏名】ワン、シューアイ
(72)【発明者】
【氏名】ウェイ、レイ
(72)【発明者】
【氏名】ヤン、フーチョン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/191260(WO,A1)
【文献】国際公開第2020/184443(WO,A1)
【文献】国際公開第2019/240284(WO,A1)
【文献】国際公開第2019/235587(WO,A1)
【文献】Khaled Mammou, Philip A. Chou, David Flynn, Maja Krivokuca, Ohji Nakagami and Toshiyasu Sugio,G-PCC codec description v2,ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO,ISO/IEC JTC1/SC29/WG11 N18189,INTERNATIONAL ORGANISATION FOR STANDARDISATION,2019年01月,pp.1-3,26-33,https://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w18189.zip
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00 - 9/40
(57)【特許請求の範囲】
【請求項1】
エンコーダに適用される、点群符号化方法であって、
入力点群の幾何学的情報と属性情報を取得することと、
前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することと、
前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定することと、
前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることと、
前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むことと、を含む、点群符号化方法。
【請求項2】
前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することは、
前記入力点群に含まれる総点数を決定することと、
前記入力点群に含まれる総点数がスライス(slice)に包含可能な最大許容点数より大きい場合、前記入力点群を分割して、少なくとも1つのsliceを得、前記少なくとも1つのsliceに含まれる点数を決定することと、
前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含む
請求項1に記載の点群符号化方法。
【請求項3】
前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記点数から最大値を選択し、前記最大値を前記サンプリング周期の最大許容値として決定することを含む
請求項
2に記載の点群符号化方法。
【請求項4】
前記点群符号化方法は、
前記サンプリング周期の最大許容値を前記sliceに包含可能な最大許容点数に等しくなるように設定することをさらに含む
請求項
2に記載の点群符号化方法。
【請求項5】
前記点群符号化方法は、
前記少なくとも1つのsliceに含まれる点数に基づいて、前記少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することであって、前記第1シンタックス要素は、前記少なくとも1つのsliceに含まれる点数を示すために使用される、ことと、
前記第1シンタックス要素の値を前記ビットストリームに書き込むことと、をさらに含む
請求項
2に記載の点群符号化方法。
【請求項6】
前記点群符号化方法は、
前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定することであって、前記第2シンタックス要素は、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期を示すために使用される、ことをさらに含む
請求項1に記載の点群符号化方法。
【請求項7】
前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値と第2定数値との和に等しくなるように設定することであって、前記第2定数値は、プリセット整数値である、ことを含
み、前記第2定数値は、-2に等しい
請求項
6に記載の点群符号化方法。
【請求項8】
前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値に等しくなるように設定することを含む
請求項
6に記載の点群符号化方法。
【請求項9】
前記サンプリング周期のプリセット値を前記ビットストリームに書き込むことは、
前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定することと、
前記第2シンタックス要素の値を属性パラメータセットに書き込み、前記属性パラメータセットを前記ビットストリームに書き込むことと、を含む
請求項1に記載の点群符号化方法。
【請求項10】
前記第2シンタックス要素の値は、前記第2シンタックス要素の最大許容値以下である
請求項
9に記載の点群符号化方法。
【請求項11】
前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定することは、
前記第2シンタックス要素の値を前記サンプリング周期のプリセット値と第3定数値との和に等しくなるように設定することであって、前記第3定数値は、プリセット整数値である、ことを含
み、前記第3定数値は、-2に等しい
請求項
9に記載の点群符号化方法。
【請求項12】
デコーダに適用される、点群復号化方法であって、
ビットストリームを解析し、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定することと、
前記サンプリング周期の最大許容値を決定することと、
前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることと、
前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定することと、を含む、点群復号化方法。
【請求項13】
前記サンプリング周期の最大許容値を決定することは、
スライス(slice)に包含可能な最大許容点数を決定することと、
前記sliceに包含可能な最大許容点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含む
請求項
12に記載の点群復号化方法。
【請求項14】
前記sliceに包含可能な最大許容点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記サンプリング周期の最大許容値を前記sliceに包含可能な最大許容点数に等しくなるように設定することを含む
請求項
13に記載の点群復号化方法。
【請求項15】
前記サンプリング周期の最大許容値を決定することは、
前記ビットストリームを解析し、少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することであって、前記第1シンタックス要素は、前記少なくとも1つのsliceに含まれる点数を示すために使用される、ことと、
前記第1シンタックス要素の値に基づいて、前記少なくとも1つのsliceに含まれる点数を決定することと、
前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含む
請求項
12に記載の点群復号化方法。
【請求項16】
前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記点数から最大値を選択し、前記最大値を前記サンプリング周期の最大許容値として決定することを含む
請求項
15に記載の点群復号化方法。
【請求項17】
前記ビットストリームを解析し、前記サンプリング周期の解析値を決定することは、
前記ビットストリームを解析し、第2シンタックス要素の値を決定することであって、前記第2シンタックス要素は、前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期を示すために使用される、ことと、
前記第2シンタックス要素の値に基づいて、前記サンプリング周期の解析値を決定することと、を含む
請求項
12に記載の点群復号化方法。
【請求項18】
前記ビットストリームを解析し、第2シンタックス要素の値を決定することは、
前記ビットストリームを解析し、属性パラメータセットを取得することと、
前記属性パラメータセットから、前記第2シンタックス要素の値を決定することと、を含む
請求項
17に記載の点群復号化方法。
【請求項19】
前記点群復号化方法は、
前記サンプリング周期の最大許容値に基づいて、前記第2シンタックス要素の最大許容値を決定することをさらに含む
請求項
17に記載の点群復号化方法。
【請求項20】
前記サンプリング周期の最大許容値に基づいて、前記第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値と第2定数値との和に等しくなるように設定することであって、前記第2定数値は、プリセット整数値である、ことを含
み、前記第2定数値は、-2に等しい
請求項
19に記載の点群復号化方法。
【請求項21】
前記第2シンタックス要素の値は、前記第2シンタックス要素の最大許容値以下である
請求項
19に記載の点群復号化方法。
【請求項22】
前記第2シンタックス要素の値に基づいて、前記サンプリング周期の解析値を決定することは、
前記サンプリング周期の解析値を前記第2シンタックス要素に対する値と第3定数値との和に等しくなるように設定することであって、前記第3定数値は、プリセット整数値である、ことを含
み、前記第3定数値は、2に等しい
請求項
17に記載の点群復号化方法。
【請求項23】
エンコーダであって、前記エンコーダは
、メモリと
、プロセッサとを備え、
前
記メモリは、前
記プロセッサ上で実行可能なコンピュータプログラムを記憶するために使用され、
前
記プロセッサは、前記コンピュータプログラムを実行するときに、請求項1ないし
11のいずれか一項に記載の点群符号化方法を実行するために使用される、エンコーダ。
【請求項24】
デコーダであって、前記デコーダは
、メモリと
、プロセッサとを備え、
前
記メモリは、前
記プロセッサ上で実行可能なコンピュータプログラムを記憶するために使用され、
前
記プロセッサは、前記コンピュータプログラムを実行するときに、請求項
12ないし
22のいずれか一項に記載の点群復号化方法を実行するために使用される、デコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本願の実施例は、コーデック技術分野に関し、特に、点群符号化および復号化方法、エンコーダ、デコーダ、ならびにコンピュータ記憶媒体に関する。
【背景技術】
【0002】
ジオメトリベースの点群圧縮(G-PCC:Geometry-based Point Cloud Compression)エンコーダフレームにおいて、点群の幾何学的情報と属性情報は、別々に符号化される。属性情報部分の符号化については、まず、色空間変換を行い、次に点群でボクセル化した後の点を再着色して、その属性情報を付与する。
【0003】
しかしながら、現在の関連技術では、点群属性の詳細レベル(LOD:Level of Detail)分割プロセスでは、固定サンプリング周期の方法を使用してLODを生成する。当該方法の複雑度が低く、初期点の分布をうまく捉えることができるが、システムの整合性を考慮しておらず、それにより、コーデック効率に影響を与える。
【発明の概要】
【0004】
本願の実施例は、システムの整合性を向上させるとともに、コーデック効率も向上させることができる点群符号化および復号化方法、エンコーダ、デコーダ、ならびにコンピュータ記憶媒体を提供する。
【0005】
本願の実施例の技術的解決策は、次のように実現することができる。
【0006】
第1態様において、本願の実施例は、エンコーダに適用される、点群符号化方法を提供し、当該方法は、
入力点群の幾何学的情報と属性情報を取得することと、
前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することと、
前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定することと、
前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることと、
前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むことと、を含む。
【0007】
第2態様において、本願の実施例は、デコーダに適用される、点群復号化方法を提供し、当該方法は、
ビットストリームを解析し、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定することと、
前記サンプリング周期の最大許容値を決定することと、
前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることと、
前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定することと、を含む。
【0008】
第3態様において、本願の実施例は、エンコーダを提供し、前記エンコーダは、第1取得ユニットと、第1決定ユニットと、第1サンプリングユニットと、符号化ユニットとを備え、ここで、
前記第1取得ユニットは、入力点群の幾何学的情報と属性情報を取得するように構成され、
前記第1決定ユニットは、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定し、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定するように構成され、
前記第1サンプリングユニットは、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得るように構成され、
前記符号化ユニットは、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むように構成される。
【0009】
第4態様において、本願の実施例は、エンコーダを提供し、前記エンコーダは、第1メモリと、第1プロセッサとを備え、ここで、
前記第1メモリは、前記第1プロセッサ上で実行可能なコンピュータプログラムを記憶するために使用され、
前記第1プロセッサは、前記コンピュータプログラムを実行するときに、第1態様に記載の方法を実行するために使用される。
【0010】
第5態様において、本願の実施例は、デコーダを提供し、前記デコーダは、復号化ユニットと、第2決定ユニットと、第2サンプリングユニットとを備え、ここで、
前記復号化ユニットは、ビットストリームを解析し、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定するように構成され、
前記第2決定ユニットは、前記サンプリング周期の最大許容値を決定するように構成され、
前記第2サンプリングユニットは、前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得るように構成され、
前記復号化ユニットはさらに、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定するように構成される。
【0011】
第6態様において、本願の実施例は、デコーダを提供し、前記デコーダは、第2メモリと、第2プロセッサとを備え、ここで、
前記第2メモリは、前記第2プロセッサ上で実行可能なコンピュータプログラムを記憶するために使用され、
前記第2プロセッサは、前記コンピュータプログラムを実行するときに、第2態様に記載の方法を実行するために使用される。
【0012】
第7態様において、本願の実施例は、コンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体にコンピュータプログラムが記憶され、前記コンピュータプログラムが第1プロセッサによって実行されるときに、第1態様に記載の方法、又は第2プロセッサによって実行されるときに、第2態様に記載の方法を実現する。
【0013】
本願の実施例は、点群符号化および復号化方法、エンコーダ、デコーダ、ならびにコンピュータ記憶媒体を提供し、エンコーダ側で、入力点群の幾何学的情報と属性情報を取得することにより、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定し、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定し、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込む。デコーダ側では、ビットストリームを解析することにより、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定し、前記サンプリング周期の最大許容値を決定し、前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定する。このように、エンコーダ及びデコーダにサンプリング周期の最大値が規定されているため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を実行する際、システムの整合性を向上させることができ、コーデック効率も向上する。
【図面の簡単な説明】
【0014】
【
図1A】関連技術によるG-PCCエンコーダのフレーム構成を例示的に示す図である。
【
図1B】関連技術によるG-PCCデコーダのフレーム構成を例示的に示す図である。
【
図2】関連技術によるサンプリングベースのLOD分割プロセスの構造を例示的に示す図である。
【
図3】本願の実施例による点群符号化方法の例示的なフローチャートである。
【
図4】本願の実施例による点群復号化方法の例示的なフローチャートである。
【
図5】本願の実施例によるエンコーダの構成構造を例示的に示す図である。
【
図6】本願の実施例によるエンコーダの具体的なハードウェア構成を例示的に示す図である。
【
図7】本願の実施例によるデコーダの構成構造を例示的に示す図である。
【
図8】本願の実施例によるデコーダの具体的なハードウェア構成を例示的に示す図である。
【発明を実施するための形態】
【0015】
本願の実施例の特徴及び技術内容をより詳細に理解するために、以下は、図面に組み合わせて本願の実施例の実現について詳細に説明し、添付の図面は、参照説明用だけに提供され、本願の実施例を限定するものではない。
【0016】
特に定義されていない限り、本明細書で使用されるすべての技術及び化学用語は、当業者が通常理解する意味と同じである。本明細書で使用される用語は、本願の実施例を説明する目的のためであり、本願を制限することを意図するものではない。
【0017】
以下の説明では、すべての可能な実施例のサブセットを説明する「いくつかの実施例」について言及するが、理解できることのように、「いくつかの実施例」は、すべての可能な実施例の同じサブセット又は異なるサブセットであってもよく、競合することなく相互に結合されてもよい。
【0018】
なお、本願の実施例に係る用語「第1\第2\第3」は、オブジェクトに対する特定の順序を示すものではなく、単に類似するオブジェクトを区別するものであり、理解できることのように、「第1\第2\第3」は、本明細書で記載された本願の実施例を、本明細書で図示又は説明されているもの以外の順序で実施できるように、許容される場合には、特定の順序又は優先順位を入れ替えてもよい。
【0019】
本願の実施例をさらに詳しく説明する前に、本願の実施例に係る名詞及び用語について説明し、本願の実施例に係る名詞及び用語は、次のような解釈に適用される。点群圧縮(PCC:Point Cloud Compression)、ジオメトリベースの点群圧縮(G-PCC:Geometry- based Point Cloud Compression)、ビデオベースの点群圧縮(V-PCC:Video Point Cloud Compression)、詳細レベル(LOD:Level of Detail)、領域適応階層化変換(RAHT:Region Adaptive Hierarchal Transform)、スライス(slice)、バウンディングボックス(bounding box)、八分木(octree)、トライアングルスープ(trisoup:triangle soup)、ブロック(block)、頂点(vertex)、ルートノード(RootNode)、動画専門家集団(MPEG:Moving Picture Experts Group)、国際標準化機構(ISO:International Standardization Organization)、国際電気標準会議(IEC:International Electrotechnical Commission)、オーディオビデオコーディング標準(AVS:Audio Video Standard)。
【0020】
ここで、点群は、物体表面の3次元表現形態であり、光電レーダー、レーザレーダー、レーザスキャナ、多視点カメラ等の収集機器により、物体表面の点群(データ)を収集することが可能である。
【0021】
点群(Point Cloud)は、大量の3次元点の集合を意味し、点群内の点は、点の位置情報と点の属性情報を含み得る。例えば、点の位置情報は、点の3次元座標情報であってもよい。点の位置情報は、点の幾何学的情報とも呼ばれる。例えば、点の属性情報は、色情報及び/又は反射率等を含んでもよい。例えば、色情報は、いずれかの色空間上の情報であってもよい。例えば、色情報は、RGB情報であってもよい。ここで、Rは、赤(R:Red)を表し、Gは、緑(G:Green)を表し、Bは、青(B:Blue)を表す。さらに例えば、色情報は、輝度彩度(YUV:YcbCr)情報であってもよい。ここで、Yは、明るさ(Luma)を表し、Cb(U)は、青の色収差を表し、Cr(V)は、赤の色収差を表す。
【0022】
レーザ計測原理によって得られる点群の場合、点群内の点は、点の3次元座標情報及び点のレーザ反射強度(reflectance)を含み得る。例えば、撮影計測原理によって得られる点群の場合、点群内の点は、点の3次元座標情報及び点の色情報を含み得る。さらに例えば、レーザ計測と撮影計測の原理を組み合わせて点群を得る場合、点群内の点は、点の3次元座標情報、点のレーザ反射強度(reflectance)及び点の色情報を含み得る。
【0023】
点群は、取得するパスに応じて次のように分類できる。
【0024】
クラス1の静的点群:物体が静止しており、点群を取得する機器も静止している。
【0025】
クラス2の動的点群:物体が移動しているが、点群を取得する機器は静止している。
【0026】
クラス3の動的に取得する点群:点群を取得する機器が移動している。
【0027】
例えば、点群の用途に従って、2つのカテゴリに分けられる。
【0028】
カテゴリ1:機械感知点群であって、自律航法システム、リアルタイムパトロールシステム、地理情報システム、視覚選別ロボット、緊急救助ロボット等のシーンに使用可能である。
【0029】
カテゴリ2:人眼感知点群であって、デジタル文化遺産、自由視点放送、3次元没入通信、3次元没入インタラクション等の点群適用シーンで使用できる。
【0030】
点群は大量の点の集合であるため、点群を記憶すると、大量のメモリを消費するだけでなく、伝送にも不利になり、さらに、点群を圧縮せずにネットワーク層で直接伝送できる帯域幅もそれほど大きくないため、点群を圧縮する必要がある。
【0031】
これまで、点群を圧縮できる点群符号化フレームは、MPEGによって提供されるG-PCCコーデックフレーム又はV-PCCコーデックフレームであってもよく、AVSによって提供されるAVS-PCCコーデックフレームであってもよい。G-PCCコーデックフレームは、クラス1の静的点群とクラス3の動的に取得する点群との圧縮に使用でき、V-PCCコーデックフレームは、クラス2の動的点群の圧縮に使用できる。G-PCCコーデックフレームは、点群コーデックTMC13とも呼ばれ、V-PCCコーデックフレームは、点群コーデックTMC2とも呼ばれる。
【0032】
理解できることのように、点群G-PCCエンコーダフレームでは、入力点群をslice分割した後、sliceを独立に符号化する。
【0033】
図1Aに示すようなG-PCCエンコーダのフレームでは、入力点群をslice分割した後、sliceを独立に符号化する。sliceでは、点群の幾何学的情報と属性情報は、別々に符号化される。G-PCCエンコーダは、まず、幾何学的情報を符号化する。エンコーダは、幾何学的情報を座標変換し、点群がすべて1つのbounding boxに含まれるようにする。次に量子化を実行し、この量子化ステップは主にスケーリングの役割を果たし、量子化トリミングにより、一部の点の幾何学的情報が同一となり、パラメータに基づいて重複点を除去するか否かを決定し、量子化及び重複点の除去のプロセスをボクセル化プロセスとも呼ばれる。次に、bounding boxに対して八分木に基づく分割を実行する。八分木分割レベルの異なる深さによって、幾何学的情報の符号化は、八分木とトライアングルスープに基づく2つのフレームに分けられる。
【0034】
八分木に基づく幾何学的情報の符号化フレームでは、バウンディングボックスを8つのサブキューブに8等分し、サブキューブのプレースホルダビット(ここでは、1は非空、0は空)を記録し、非空のサブキューブに対して8等分し続け、通常は、分割して得られた葉ノードが1×1×1の単位立方体である場合に分割を停止する。この過程で、ノード(node)と周辺ノードとの空間的相関を使用して、プレースホルダビットをイントラ予測し、最後に算術符号化、例えばコンテキストモデルに基づく適応バイナリ算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)を行い、バイナリ方式の幾何学的ビットストリーム、即ち、幾何学的ビットストリームを生成する。
【0035】
トライアングルスープに基づく幾何学的情報符号化フレームでも、同様に八分木分割を先に行うが、八分木に基づく幾何学的情報符号化と比べて、当該方法は、点群を辺長が1×1×1である単位立方体に段階的に分割する必要がなく、blockの辺長がWである場合に分割を停止し、各blockにおける点群の分布からなる表面に基づいて、当該表面とblockの12個の辺から生じる最大12個のvertexを得る。最後に、blockごとにvertex座標を順次符号化し、バイナリの幾何学的ビットストリーム、即ち、幾何学的ビットストリームを生成する。
【0036】
G-PCCエンコーダは、幾何学的情報の符号化を完了した後、幾何学的情報を再構成し、再構成された幾何学的情報を使用して点群の属性情報を符号化する。現在、点群の属性符号化は、主に、点群内の点の色情報を符号化することである。まず、エンコーダは、点の色情報に対して色変換を行うことができ、例えば、入力点群内の点の色情報がRGB色空間で示される場合、エンコーダは、色情報をRGB色空間からYUV色空間に変換することができる。次に、再構成された幾何学的情報を使用して点群を再着色することにより、符号化されない属性情報が再構成された幾何学的情報に対応するようにする。色情報符号化は、主に、LOD分割に依存する距離ベースのリフティング変換と、直接にRAHT変換を行う変換との2つの変換方法があり、この2つの方法は、いずれも色情報を空間領域から周波数領域に変換して、高周波係数と低周波係数を得、最後に、係数に対して量子化及び算術符号化を行い、バイナリの属性ビットストリーム、即ち、属性ビットストリームを生成する。
【0037】
図1Bに示すようなG-PCCデコーダのフレームにおいて、バイナリビットストリームを取得した後、バイナリビットストリームにおける幾何学的ビットストリームと属性ビットストリームに対してそれぞれ独立した復号化を行う。幾何学的ビットストリームに対する復号化の際、算術復号化-八分木合成-表面フィッティング-ジオメトリの再構成-逆座標変換により、点群の幾何学的情報を得、属性ビットストリームに対する復号化の際、算術復号化-逆量子化-LODベースの逆リフティング又はRAHTベースの逆変換-逆色変換により、点群の属性情報を得、幾何学的情報及び属性情報に基づいて符号化対象の点群データの3次元図像モデルを復元する。
【0038】
なお、属性情報の符号化は、予測モード、リフティングモード、RAHTモードの3つのモードに分けられる。予測モードとリフティングモードの場合、点群をLOD分割する必要がある。LODは、特定の方式に基づいて点群を一連のリファインメントレイヤと詳細レイヤに分割する。
図2に示すように、関連技術によるサンプリングベースのLOD分割プロセスの構成を例示的に示す図である。
図2では、固定サンプリング周期の方法を使用してLODを生成する。固定サンプリング周期を使用する方法は、具体的に次の通りである。まず、点群をソートし、次に、ユーザが設定したサンプリング周期に従ってサンプリングして、リファインメントレイヤ(refinement layer)と詳細レイヤを得る。次に、詳細レイヤを再度サンプリングして、新しいリファインメントレイヤと新しい詳細レイヤを得る。候補は、新しい詳細レイヤを順次サンプリングし続け、詳細レイヤに1つの点しかないか、又はユーザが設定したLOD分割レイヤ数に達するまで分割を停止する。具体的に、
図2を参照して下記のように説明する。
【0039】
点群データ201(LOD1)の場合、サンプリング周期を2としてサンプリングして、リファインメントレイヤ202と詳細レイヤ203(即ちLOD2)を得、次に、詳細レイヤ203に対して、サンプリング周期を2としてサンプリングし続けて、新しいリファインメントレイヤ304と新しい詳細レイヤ305(即ちLOD3)を得、後続に、詳細レイヤ中に1つの点しかないか、又はユーザが設定したLOD分割レイヤ数に達するまで分割を停止する。
【0040】
LOD分割後、これらの詳細レイヤを使用して予測又はリフティング変換を行う。予測符号化中に、符号化された詳細レイヤ内の点と、現在のリファインメントレイヤ内の符号化された点とを使用して、現在の点を予測するが、リフティング変換中に、詳細レイヤ内の点を使用して、リファインメントレイヤ内の点を予測し、次に、予測残差を使用して、詳細レイヤ内の点を更新する。
【0041】
しかしながら、現在の関連技術において、固定サンプリング周期に基づくLOD生成方法では、サンプリング周期は、点群をサンプリングして詳細レイヤを取得するが、残りの点はリファインメントレイヤとして使用される。詳細レイヤの一連のサンプリングにより、一連のリファインメントレイヤと最終的な詳細レイヤを取得することができる。当該方法の複雑度は低いが、初期点の分布をうまく捉えることができ、さらに不規則なサンプリング点群上の非滑らかな属性情報をより効果的に予測することができる。しかしながら、現在、LODのサンプリング周期の最大値については規定がないため、シンタックス要素sampling_period_minus2の値の範囲も明確に規定されておらず、それにより、エンコーダ/デコーダでユーザが設定したサンプリングのLOD生成方式におけるサンプリング周期に基づいて整合性チェックを行うことができず、システムの整合性及び符号化効率に一定の影響を与え、当該シンタックス要素の範囲の不確実性によりコーデック効率が低下する。
【0042】
本願の一実施例は、点群符号化方法を提供し、エンコーダ側で、当該方法の基本的な考え方は、次の通りである。入力点群の幾何学的情報と属性情報を取得し、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定し、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定し、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込む。このように、エンコーダ及びデコーダにサンプリング周期の最大値が規定されているため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を実行する際に、システムの整合性を向上させることができ、さらに、コーデック効率も向上させることができる。
【0043】
以下、図面に組み合わせて本願の各実施例について詳細に説明する。
【0044】
本願の一実施例において、本願の実施例によって提供される点群符号化方法は、ビデオ符号化装置であるG-PCCエンコーダに適用され、エンコーダとも略称される。当該方法によって実現される機能は、エンコーダ内の第1プロセッサがコンピュータプログラムを呼び出すことにより実現されることができ、もちろん、コンピュータプログラムは、第1メモリに記憶されてもよく、これから、エンコーダは少なくとも第1プロセッサ及び第1メモリを含むことが分かる。
【0045】
図3を参照すると、本願の実施例による点群符号化方法の例示的なフローチャートである。
図3に示すように、当該方法は、次のステップを含み得る。
【0046】
ステップS301において、入力点群の幾何学的情報と属性情報を取得する。
【0047】
なお、点群において、点は、点群内のすべての点であってもよく、点群内の点の一部であってもよく、これらの点は、空間上で相対的に集中する。
【0048】
なお、
図1Aに示すG-PCCエンコーダのフレームに基づいて、本願の実施例の方法は、主に、「LODを生成する」部分に適用されるものであり、現在の関連技術におけるLODに関するサンプリング周期の問題に対して、点群の内容に基づいて、システムの整合性を保証するために、適応的にサンプリング周期の最大値を計算することができる。
【0049】
ここで、入力点群は、3次元ビデオを形成するための点群データ等、階層化が必要な点群データとして理解できる。入力点群の場合、幾何学的情報及び属性情報を含み得る。点群を符号化する際、点群の幾何学的情報と属性情報は、別々に符号化される。ここで、幾何学的情報は、点群法線ベクトル、曲率、点群密度、点群表面粗さ、点群重心、点群重み重心、点群共分散及び点群相互共分散等を含む。属性情報は、入力点群の分割距離の二乗、分割総レイヤ数、色空間の情報、空間解像度、点位置精度及び表面法線ベクトル等を含む。幾何学的情報の符号化後、属性情報の符号化について、この場合にはLOD階層化に関連し、ここでの階層化の方式は、モートンコードによって実現されてもよく、サンプリング周期によって実現されてもよい。本願の実施例は、サンプリング周期の方式を使用してLOD階層化を実現する。
【0050】
ステップS302において、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定する。
【0051】
ステップS303において、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定する。
【0052】
なお、サンプリング周期の方式を使用してLOD階層化を実現するプロセスには、サンプリング周期のプリセット値を決定する必要があるだけでなく、サンプリング周期のプリセット値がサンプリング周期の最大許容値を超えないことを保証するために、サンプリング周期の最大許容値も決定する必要があり、それにより、システムの整合性を向上させることができる。
【0053】
なお、サンプリング周期の最大許容値の場合、入力点群に含まれる総点数、sliceに含まれる点数、sliceに包含可能な最大許容点数等、主に入力点群の関連内容に関するものである。
【0054】
いくつかの実施例において、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することは、
前記入力点群に含まれる総点数を決定することと、
前記入力点群に含まれる総点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含む。
【0055】
具体的な実施例において、前記入力点群に含まれる総点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記サンプリング周期の最大許容値を前記入力点群に含まれる総点数に等しくなるように設定することを含み得る。
【0056】
即ち、可能な実施形態において、本願の実施例は、入力点群に含まれる総点数を決定し、次に、入力点群に含まれる総点数をサンプリング周期の最大許容値として決定してもよい。この場合、サンプリング周期のプリセット値は、入力点群に含まれる総点数以下になる。
【0057】
なお、適合性(Conformance)パラメータは、当該点群ビットストリーム自体の属性を表し、少なくとも、プロファイル(Profile)、階層(Tier)又はレベル(Level)のうちの1つのパラメータを含み、サンプリング周期の最大許容値を決定するためにも使用されることができる。具体的には、いくつかの実施例において、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することは、
前記入力点群の適合性パラメータを決定することであって、前記適合性パラメータは、プロファイルパラメータ、階層パラメータ、レベルパラメータのうちの少なくとも1つを含む、ことと、
前記適合性パラメータに基づいて、前記サンプリング周期の最大許容値を決定することと、を含み得る。
【0058】
具体的な実施例において、前記適合性パラメータに基づいて、前記サンプリング周期の最大許容値を決定することは、前記サンプリング周期の最大許容値を前記適合性パラメータに対応するプリセット値に等しくなるように設定することを含み得る。
【0059】
即ち、別の可能な実施形態において、本願の実施例は、入力点群の適合性パラメータを決定し、次に、入力点群の適合性パラメータに基づいてサンプリング周期の最大許容値を決定することができる。ここで、本願の実施例において、サンプリング周期の最大許容値は、適合性パラメータに対応するプリセット値に等しくなるように設定することができる。
【0060】
いくつかの実施例において、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することは、
前記サンプリング周期の最大許容値をプリセット定数値に設定することを含み得る。
【0061】
即ち、更に別の可能な実施形態において、本願の実施例は、サンプリング周期の最大許容値をプリセット定数値に設定することができる。ここで、プリセット定数値は、ゼロより大きい整数値である。
【0062】
いくつかの実施例において、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することは、
前記入力点群に含まれる総点数を決定することと、
前記入力点群に含まれる総点数がsliceに包含可能な最大許容点数より大きい場合、前記入力点群を分割して、少なくとも1つのsliceを得、前記少なくとも1つのsliceに含まれる点数を決定することと、
前記少なくとも1つのsliceに含まれる点数を決定し、前記サンプリング周期の最大許容値を決定することと、を含み得る。
【0063】
具体的な実施例において、前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記点数から最大値を選択し、前記最大値を前記サンプリング周期の最大許容値として決定することを含み得る。
【0064】
【0065】
さらに、いくつかの実施例において、当該方法は、前記サンプリング周期の最大許容値を前記sliceに包含可能な最大許容点数に等しくなるように設定することも含み得る。
【0066】
即ち、更に別の可能な実施形態において、入力点群の1つ又は複数のsliceについて、各sliceに含まれる点数をsliceに包含可能な最大許容点数で置き換えることができ、この場合、sliceに包含可能な最大許容点数をサンプリング周期の最大許容値として決定することができる。
【0067】
理解できることのように、少なくとも1つのsliceに含まれる点数を取得した後、デコーダがビットストリームを解析することにより少なくとも1つのsliceに含まれる点数を取得できることを容易にするために、本願の実施例はさらに、第1シンタックス要素を介して、この少なくとも1つのsliceに含まれる点数をビットストリームに書き込むことができる。したがって、いくつかの実施例において、当該方法は、
前記少なくとも1つのsliceに含まれる点数に基づいて、前記少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することであって、前記第1シンタックス要素は、前記少なくとも1つのsliceに含まれる点数を示すために使用される、ことと、
前記第1シンタックス要素の値を前記ビットストリームに書き込むことと、をさらに含み得る。
【0068】
なお、第1シンタックス要素は、geom_num_points_minus1で表され、且つsliceの点数を示すために使用される。このように、この少なくとも1つのsliceに含まれる点数に基づいて、この少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することができる。具体的には、いくつかの実施例において、前記少なくとも1つのsliceに含まれる点数に基づいて、前記少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することは、
前記第1シンタックス要素の値を前記少なくとも1つのsliceに含まれる点数と第1定数値との和に等しくなるように設定することであって、前記第1定数値は、プリセット整数値である、ことを含み得る。
【0069】
具体的な実施例において、前記第1定数値は、-1に等しい。
【0070】
例示的に、第1シンタックス要素の場合、少なくとも1つのsliceに含まれる点数に対して1を減算する動作を実行し、それにより、この少なくとも1つのsliceに対応する第1シンタックス要素の値を得ることができる。
【0071】
即ち、この少なくとも1つのsliceに含まれる点数を得た後、この少なくとも1つのsliceに含まれる点数に対して1を減算する動作を実行し、それにより、この少なくとも1つのsliceに対応する第1シンタックス要素の値を得ることができる。言い換えれば、デコーダでは、第1シンタックス要素の値を取得した後、それに対して1を加算する動作を実行すれば、この少なくとも1つのsliceに含まれる点数を得ることができる。
【0072】
なお、第1シンタックス要素の値をビットストリームに書き込む際、まず、それを対応するsliceの幾何学的データユニット(geometry data unit)に書き込み、次に、幾何学的データユニットを介してそれをビットストリームに書き込んで、デコーダに伝送する必要もある。具体的には、いくつかの実施例において、前記第1シンタックス要素の値を前記ビットストリームに書き込むことは、
前記第1シンタックス要素の値を前記少なくとも1つのsliceの幾何学的データユニットに書き込むことと、
前記少なくとも1つのsliceの幾何学的データユニットを前記ビットストリームに書き込むことと、を含み得る。
【0073】
本願の実施例において、各sliceの第1シンタックス要素の値を当該sliceの幾何学的データユニットに対応して書き込み、次に、幾何学的データユニットを介してビットストリームに書き込む。後続に、デコーダがビットストリームを解析した後、第1シンタックス要素の値に対して1を加算する動作を実行すれば、この少なくとも1つのsliceの点数を得ることができる。
【0074】
なお、1つのsliceには、1つ又は複数の幾何学的データユニット(geometry data unit)と、いくつかの属性データユニット(attribute data unit)を含み得る。属性データユニットは、同一のslice内の対応する幾何学的データユニットに依存する。sliceでは、幾何学的データユニットは、任意の対応する属性データユニットの前に出現する必要があり、slice内のデータユニットは連続的である必要がある。
【0075】
より具体的には、第1シンタックス要素(geom_num_points_minus1)の場合、geom_num_points_minus1をgeometry data unit footerに書き込むが、geometry data unit footerは、geometry data unitに位置する。
【0076】
なお、サンプリング周期のプリセット値はユーザによって予め設定されるものであり、当該サンプリング周期のプリセット値に基づいて入力点群を処理(サンプリング処理等)して、LODを生成する。いくつかの実施例において、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定することは、
前記サンプリング周期の候補入力値を取得することと、
前記サンプリング周期の候補入力値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の候補入力値を前記サンプリング周期のプリセット値として決定することと、を含み得る。
【0077】
ここで、エンコーダでは、ユーザが実際の状況に応じてサンプリング周期の候補入力値を入力する。サンプリング周期の候補入力値がサンプリング周期の最大許容値以下である場合、サンプリング周期の候補入力値をサンプリング周期のプリセット値として決定することができる。さらに、サンプリング周期の候補入力値がサンプリング周期の最大許容値より大きい場合、このとき、当該サンプリング周期の候補入力値は、不正な値となり、この場合、当該サンプリング周期の候補入力値を使用して入力点群を処理してLODを生成することは、システムの整合性に不利となる。
【0078】
このように、いくつかの実施例において、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定することは、前記サンプリング周期のプリセット値を前記サンプリング周期の最大許容値以下に設定することを含み得る。
【0079】
即ち、本願の実施例において、システムの整合性を向上させるために、サンプリング周期のプリセット値がサンプリング周期の最大許容値以下である。
【0080】
理解できることのように、サンプリング周期については、第2シンタックス要素(sampling_period_minus2)で表される。このように、第2シンタックス要素の場合、本願の実施例は、第2シンタックス要素の最大許容値と第2シンタックス要素のプリセット値にも関する。
【0081】
いくつかの実施例において、当該方法は、
前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定することであって、前記第2シンタックス要素は、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期を示すために使用される、ことをさらに含み得る。
【0082】
なお、サンプリング周期の最大許容値に基づいて第2シンタックス要素の最大許容値を決定することができる。具体的な実施例において、前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値と第2定数値との和に等しくなるように設定することであって、前記第2定数値は、プリセット整数値である、ことを含み得る。
【0083】
具体的な実施例において、前記第2定数値は、-2に等しい。
【0084】
例示的に、第2シンタックス要素の場合、前記サンプリング周期の最大許容値に対して2を減算する動作を実行し、それにより、第2シンタックス要素の最大許容値を得ることができる。
【0085】
別の具体的な実施例において、前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値に等しくなるように設定することを含み得る。
【0086】
簡単に言えば、第2シンタックス要素の最大許容値については、サンプリング周期の最大許容値に対して2を減算する動作を実行することにより得ることもでき、あるいは、サンプリング周期の最大許容値を第2シンタックス要素の最大許容値として直接決定することもできる。
【0087】
さらに、いくつかの実施例において、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むことは、
前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定することと、
前記第2シンタックス要素の値を前記ビットストリームに書き込むことと、を含み得る。
【0088】
なお、サンプリング周期のプリセット値を取得した後、サンプリング周期のプリセット値に基づいて第2シンタックス要素の値を決定し、次に、第2シンタックス要素の値をビットストリームに書き込むことができる。
【0089】
なお、第2シンタックス要素の値は、属性パラメータセット(APS:Attribute Parameter Set)に配置され、次に、属性パラメータセットを介してビットストリームに書き込まれることができる。いくつかの実施例において、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むことは、
前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定することと、
前記第2シンタックス要素の値を属性パラメータセットに書き込み、前記属性パラメータセットを前記ビットストリームに書き込むことと、を含み得る。
【0090】
即ち、サンプリング周期のプリセット値に基づいて第2シンタックス要素の値を決定した後、第2シンタックス要素の値を属性パラメータセットに書き込み、次に、属性パラメータセットをビットストリームに書き込むことができる。後続に、デコーダは、ビットストリームを解析した後、属性パラメータセットを取得し、次に、属性パラメータセットから第1シンタックス要素の値を取得し、さらに、サンプリング周期のプリセット値を取得することができる。
【0091】
いくつかの実施例において、第2シンタックス要素の値が第2シンタックス要素の最大許容値以下である。
【0092】
いくつかの実施例において、前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定することは、
前記第2シンタックス要素の値を前記サンプリング周期のプリセット値と第3定数値との和に等しくなるように設定することであって、前記第3定数値は、プリセット整数値である、ことを含み得る。
【0093】
具体的な実施例において、前記第3定数値は、-2に等しい。
【0094】
例示的に、第2シンタックス要素の場合、前記サンプリング周期の設定値に対して2を減算する処理を実行し、それにより、前記第2シンタックス要素の値を得ることができる。例えば、サンプリング周期のプリセット値が4である場合、第2シンタックス要素の値は2に等しいと決定する。
【0095】
それに加えて、いくつかの実施例において、前記第2シンタックス要素の値を前記ビットストリームに書き込むことは、
前記サンプリング周期の最大許容値に基づいて、前記ビットストリームにおける前記第2シンタックス要素の対応する第1ビット数を決定することと、
前記第2シンタックス要素の値を前記第1ビット数のバイナリビット列に変換し、前記第1ビット数のバイナリビット列を前記ビットストリームに書き込むことと、を含み得る。
【0096】
本願の実施例において、第1ビット数を前記サンプリング周期の最大許容値より大きい、2を底とする対数値の最小整数値に等しくなるように設定する。
【0097】
即ち、サンプリング周期の最大許容値を決定した後、まず、ビットストリームにおける第2シンタックス要素の対応する第1ビット数Mを決定する。可能な実施形態において、Mは、サンプリング周期の最大許容値より大きい、2を底とする対数値の最小整数値であってもよい。このように、第2シンタックス要素の値をM個のバイナリビット列に変換し、M個のバイナリビット列を前記ビットストリームに書き込むことができる。
【0098】
例示的に、サンプリング周期の最大許容値をN(ここでの「N」は、入力点群の点数を表す)とすると、sampling_period_minus2の最大許容値は、N-2であり得る。本願の実施例において、サンプリング周期の最小値が2である場合、2≦T≦Nであり、Tは、サンプリング周期を表す。この場合、sampling_period_minus2について、sampling_period_minus2の値は、[0、N-2]の区間内にあってもよい。さらに、sampling_period_minus2の値をM個のバイナリビット列に変換し、次に、M個のバイナリビット列をビットストリームに書き込む。
【0099】
さらに、入力点群は、1つ又は複数のsliceであってもよいが、sliceが規定する最大許容点数は、Max points in a sliceで表す。それでは、各slice内の点数をG-PCC内のMax points in a sliceで置き換え、それにより、シンタックス要素sampling_period_minus2の値の範囲を固定することができる。例えば、G-PCC内で、Max points in a sliceを1100000とすると、sampling_period_minus2の値の範囲を、[0、Max points in a slice - 2]として規定してもよく、又はシンタックス要素の値がいずれもゼロ以上の値であるため、当該値の範囲は簡単にMax points in a sliceと書いてもよい。このように、本願の実施例は、点群コンテンツに基づいて、その最大サンプリング周期を適応的に決定することができ、シンタックス要素sampling_period_minus2の値の範囲を明確に規定することができる。エンコーダで、ユーザが設定したサンプリング周期をチェックすることができ、それにより、システムの整合性を向上させるとともに、コーデック性能を向上させることができる。
【0100】
ステップS304において、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得る。
【0101】
なお、可能な実施形態において、モートンコードに基づいて入力点群に対してLOD分割を実行するプロセスは、次の通りである。
【0102】
【0103】
【0104】
【0105】
別の可能な実施形態において、本願の実施例は、サンプリング周期に基づいて入力点群をLOD分割することを実現する。具体的には、サンプリング周期のプリセット値を決定した後、サンプリング周期のプリセット値及び幾何学的情報に基づいて入力点群を処理(具体的には、サンプリング処理であってもよい)して、LOD階層化を実現し、それにより、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることができる。
【0106】
いくつかの実施例において、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることは、
前記幾何学的情報に基づいて、前記サンプリング周期のプリセット値を使用して前記入力点群を処理し、第1リファインメントレイヤ及び第1詳細レイヤを得ることを含み得る。
【0107】
即ち、サンプリング周期のプリセット値を使用して入力点群を処理することにより、第i=1レイヤの第1リファインメントレイヤ及び第1詳細レイヤが得られる。
【0108】
i=1以外の他のレイヤの場合、得られた詳細レイヤをレイヤごとに処理する必要がある。例えば、第iレイヤ、この場合の詳細レイヤは、ターゲット詳細レイヤと呼ばれ、サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、第i+1レイヤ(即ち、次のリファインメントレイヤ及び次の詳細レイヤ)を得て、次の詳細レイヤの点数が1に等しくなるまで、又は予め設定された分割レベルに達するまで処理を停止する。
【0109】
可能な実施形態において、LOD分割停止条件として、詳細レイヤの点数がわずか1である場合である。この場合、当該方法は、
前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得ることと、
前記次の詳細レイヤの点数が1より大きい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記次の詳細レイヤの点数が1に等しくなるまで、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得るステップを継続して実行し、処理を終了することと、をさらに含み得る。
【0110】
例示的に、i=1以外の他のレイヤの場合、第iレイヤにより第i+1レイヤが得られることで説明する。
【0111】
前記サンプリング周期のプリセット値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得、iは、ゼロより大きい整数であり、
第i+1詳細レイヤの点数が1より大きい場合、i+1をiに代入(assignment)し、前記第i+1詳細レイヤの点数が1に等しくなるまで、前記サンプリング周期のプリセット値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得るステップを継続して実行し、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを得る。
【0112】
別の可能な実施形態において、LOD階層化が予め設定された分割レイヤ数に達することをLOD分割停止条件としてもよい。この場合、当該方法は、
前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行することと、
前記現在の分割レイヤ数が予め設定された分割レイヤ数より小さい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記現在の分割レイヤ数が予め設定された分割レイヤ数に等しくなるまで、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行するステップを継続して実行し、処理を終了することと、を含み得る。
【0113】
例示的に、i=1以外の他のレイヤの場合、第iレイヤにより第i+1レイヤが得られることで説明する。
【0114】
前記サンプリング周期のプリセット値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得、現在の分割レイヤ数がiであることを決定し、iは、ゼロより大きい整数であり、
iが予め設定された分割レイヤ数より小さい場合、i+1をiに代入し、前記サンプリング周期のプリセット値を使用して第i詳細レイヤを処理し、iが予め設定された分割レイヤ数に等しくなるまで、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得るステップを継続して実行することにより、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを得る。
【0115】
本願の実施例において、入力点群の場合、ソートされた入力点群である必要がある。即ち、まず、入力点群をソートする必要があり、次に、サンプリング周期のプリセット値に基づいてサンプリングして、第1リファインメントレイヤ及び第1詳細レイヤを得、続いて、第i詳細レイヤを再度サンプリングして、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得、iは、ゼロより大きい整数であり、第i+1詳細レイヤの点数が1に等しくなるまで、又はユーザが設定した予め設定された分割レイヤ数に達するまで分割を停止する。
【0116】
いくつかの実施例において、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定することは、
前記サンプリング周期の最大許容値に基づいて、前記ターゲット詳細レイヤに対応する前記サンプリング周期のターゲットプリセット値を決定することを含み得る。
【0117】
これに対応して、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得ることは、
前記サンプリング周期のターゲットプリセット値を使用して前記ターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得ることを含み得る。
【0118】
本願の実施例において、前記サンプリング周期のターゲットプリセット値は、前記サンプリング周期の最大許容値以下である。
【0119】
なお、上記のプロセスにおいて、この少なくとも1つの詳細レイヤに対応するサンプリング周期は、固定サンプリング周期であってもよく、可変サンプリング周期であってもよい。ここで、第i詳細レイヤに対応するサンプリング周期のプリセット値は、サンプリング周期の第iプリセット値で表される。いくつかの実施例において、当該方法は、第i詳細レイヤに対応する前記サンプリング周期のプリセット値を前記サンプリング周期の第iプリセット値に設定することを更に含み得、且つ前記サンプリング周期の第iプリセット値は前記サンプリング周期の最大許容値以下である。
【0120】
さらに、いくつかの実施例において、当該方法は、
前記サンプリング周期の第iプリセット値が前記サンプリング周期の第i+1プリセット値と異なる場合、前記少なくとも1つの詳細レイヤ内の異なる詳細レイヤが異なる前記サンプリング周期のプリセット値に対応すると決定することと、
前記サンプリング周期の第iプリセット値が前記サンプリング周期の第i+1プリセット値と同一である場合、前記少なくとも1つの詳細レイヤ内の異なる詳細レイヤが同一の前記サンプリング周期のプリセット値に対応すると決定することと、を含み得る。
【0121】
即ち、この少なくとも1つの詳細レイヤの場合、各レイヤに対応するサンプリング周期のプリセット値は、いずれもサンプリング周期の最大許容値以下である。さらに、この少なくとも1つの詳細レイヤ内の異なる詳細レイヤが異なるサンプリング周期のプリセット値に対応してもよく、同一のサンプリング周期のプリセット値に対応してもよい。通常の場合、この少なくとも1つの詳細レイヤ内の異なる詳細レイヤが異なるサンプリング周期のプリセット値に対応する場合、第i詳細レイヤに対応するサンプリング周期のプリセット値は、第i+1詳細レイヤに対応するサンプリング周期のプリセット値より大きいが、ここでは具体的に限定しない。
【0122】
言い換えれば、第idx詳細レイヤに対応する第2シンタックス要素の値は、sampling_period_minus2[idx]で表すことができ、それでは、詳細レイヤidx(又は第idx詳細レイヤと呼ばれる)に対応するサンプリング周期のプリセット値は、sampling_period_minus2[idx]に2を加算して得られる。ここで、sampling_period_minus2[idx]が第2シンタックス要素の最大許容値以下である。
【0123】
ステップS305において、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込む。
【0124】
なお、LOD分割が完了した後、この少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを使用して属性情報を符号化し、具体的には、符号化された詳細レイヤ内の点及び現在のリファインメントレイヤ内の符号化された点を使用して現在の点を予測して、予測データを得、次に、現在の点の原始データ及び予測データを使用して差分計算を実行して、予測残差を得ることができ、予測残差をビットストリームに書き込んで、後続にデコーダが点群の再構築を実行する時に使用されるようにする。
【0125】
簡単に言えば、本願の実施例において、サンプリング周期の方式を使用して入力点群をサンプリングして、LOD分割を実現し、当該方法の複雑度が低く、さらに、初期点の分布をうまく捉えることができ、不規則なサンプリング点群上の非滑らかな属性情報をより効果的に予測する。さらに、シンタックス要素sampling_period_minus2の最大許容値が定義されていない問題について、本願の実施例では、その最大値をMAXとして予め定義する。サンプリング周期に基づくLOD生成方式において、まず、入力点群をソートし、次に、ユーザによって設定されたサンプリング周期に基づいてソートされた入力点群をサンプリングすると、そのサンプリング周期が最大である場合は、現在の点群の点数以下であり、さらに、最小値は2となるはずである。この場合、2≦T≦Nで表され、ここで、Tは、サンプリング周期であり、Nは、入力点群の点数である。それにより、sampling_period_minus2の区間は、0からN-2まで定義可能である。なお、シンタックス要素は、通常、エンコーダでゼロから始まるため、サンプリング周期では2を減算する処理を実行する。
【0126】
なお、シンタックス要素sampling_period_minus2は、属性パラメータセットにあり、ピクチャレベルである。属性パラメータセットの優先順位が高いため、各sliceは、いずれもこのシンタックス要素(sampling_period_minus2)を参照する。
【0127】
sampling_period_minus2の場合、当該シンタックス要素の記述子はue(v)である。共通実験条件(CTC:Common Test Conditions)では、sampling_period_minus2の値は、一般的に、2に設定され、つまり、これは、ユーザが設定したサンプリング周期(即ち、サンプリング周期のプリセット値)が4に等しいことを意味する。別の可能な実施形態において、当該シンタックス要素の記述子は、u(v)も使用できるが、これは、主にgeom_num_points_minus1に依存し、且つgeom_num_points_minus1の記述子がu(24)である。
【0128】
なお、MAXは、ビットストリームに書き込まれないが、主に入力点群の関連内容(例えば、入力点群の点数、sliceの点数及びsliceの最大許容点数等)を使用して得られ、さらに、システムの整合性チェックにのみ使用される。エンコーダは、サンプリング周期のプリセット値(即ち、sampling_period_minus2の値)をビットストリームに書き込むだけである。
【0129】
【0130】
各sliceについて、sliceに対応する幾何学的情報へのヘッダ情報(GSH:Geometry Slice Header)には、1つのシンタックス要素を含むことにより、現在のsliceの点数を表し、このシンタックス要素は、geom_num_points_minus1である。具体的には、geom_num_points_minus1がgeometry data unit footerに書き込まれるが、geometry data unit footerは、geometry data unitに位置する。属性パラメータセットがGSHの前にあってもGSHの後にあっても、sliceの点数はいずれもsampling_period_minus2の値を示すために使用されず、これは、sliceの点数がsampling_period_minus2の最大許容値を制限するためにのみ使用されるためである。
【0131】
ドラフトテキストでは、「sampling_period_minus2[idx]に2を加算することは、詳細レイヤidxのサンプリング周期の値を表すことができ、さらにサンプリング周期の値は0~xxの区間内である」と定義する。本願の実施例において、サンプリング周期の値について、「MAX以下」と略記することができる。このように、本願の実施例は、点群コンテンツに基づいて、その最大サンプリング周期を適応的に決定することができ、それにより、シンタックス要素sampling_period_minus2の値の範囲を明確に規定することができる。
【0132】
本実施例は、点群符号化方法を提供し、入力点群の幾何学的情報と属性情報を取得することにより、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定し、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定し、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込む。このように、エンコーダでサンプリング周期の最大値が規定されるため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を行う際に、システムの整合性を向上させることができ、さらに、符号化効率も向上して、符号化性能も向上することができる。
【0133】
本願の別の実施例において、本願の実施例によって提供される点群復号化方法は、ビデオ復号化機器に適用され、即ち、G-PCCデコーダであり、デコーダとも略称されることができる。当該方法によって実現される機能は、デコーダ内の第2プロセッサがコンピュータプログラムを呼び出すことによって実現されることができ、もちろん、コンピュータプログラムは、第2メモリに記憶されてもよく、デコーダが少なくとも第2プロセッサと第2メモリとを含むことが分かることができる。
【0134】
図4を参照すると、
図4は、本願の実施例による点群復号化方法の例示的なフローチャートである。
図4に示すように、当該方法は、ステップS401~ステップS404を含み得る。
【0135】
ステップS401において、ビットストリームを解析し、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定する。
【0136】
なお、点群において、点は、点群内のすべての点であってもよく、または点群内の点の一部であってもよく、これらの点は、空間上で相対的に集中する。
【0137】
なお、
図1Bに示すG-PCCデコーダのフレームに基づいて、本願の実施例の方法は主に、「LODを生成する」セッションに適用され、現在の関連技術のLODに関するサンプリング周期の問題に対して、点群の内容からサンプリング周期の最大値を適応的に計算することができ、システムの整合性を保証する。
【0138】
ここで、ビットストリームを解析することにより、復号化点群を得ることができ、当該復号化点群は、階層化が必要な点群データ、例えば、3次元ビデオを形成するための点群データ等として理解できる。復号化点群の場合、幾何学的情報と属性情報を含み得る。ここで、幾何学的情報は、点群法線ベクトル、曲率、点群密度、点群表面粗さ、点群重心、点群重み重心、点群共分散及び点群相互共分散等を含む。属性情報は、入力点群の分割距離の二乗、分割総レイヤ数、色空間の情報、空間解像度、点位置精度及び表面法線ベクトル等を含む。幾何学的情報の復号化後、属性情報の復号化について、この場合、LOD階層化(layering)に関し、ここで、階層化の方式は、モートンコードによって実現されてもよく、サンプリング周期によって実現されてもよい。本願の実施例は、サンプリング周期の方式を使用してLOD階層化を実現する。
【0139】
理解できることのように、サンプリング周期の場合、第2シンタックス要素(sampling_period_minus2)で表すことができる。このように、いくつかの実施例において、前記ビットストリームを解析し、前記サンプリング周期の解析値を取得することは、
前記ビットストリームを解析し、第2シンタックス要素の値を決定することであって、前記第2シンタックス要素は、前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期を示すために使用される、ことと、
前記第2シンタックス要素の値に基づいて、前記サンプリング周期の解析値を決定することと、を含み得る。
【0140】
なお、エンコーダが第2シンタックス要素の値をビットストリームに書き込むため、デコーダでは、ビットストリームを解析することにより、第2シンタックス要素の値を取得することができ、次に、第2シンタックス要素の値に基づいて、サンプリング周期の解析値を決定することができる。
【0141】
なお、エンコーダが第2シンタックス要素の値を属性パラメータセットに書き込み、次に、属性パラメータセットをビットストリームに書き込む。したがって、いくつかの実施例において、前記ビットストリームを解析し、第2シンタックス要素の値を決定することは、
前記ビットストリームを解析し、属性パラメータセットを取得することと、
前記属性パラメータセットから、前記第2シンタックス要素の値を決定することと、を含み得る。
【0142】
即ち、デコーダは、ビットストリームを解析することにより、属性パラメータセットを取得することができ、次に、属性パラメータセットから第2シンタックス要素の値を取得することができ、次に、第2シンタックス要素の値に基づいて、サンプリング周期の解析値を決定することができる。
【0143】
即ち、ビットストリームを解析することにより、第2シンタックス要素の値を取得した後、サンプリング周期の解析値を決定することができ、後続に、サンプリング周期の解析値に基づいて、復号化点群を処理(例えば、サンプリング処理)して、LOD階層化を実現することができる。
【0144】
ステップS402において、前記サンプリング周期の最大許容値を決定する。
【0145】
なお、サンプリング周期の方式を使用してLOD階層化を実現するプロセスで、サンプリング周期の解析値がサンプリング周期の最大許容値を超えないことを保証するために、サンプリング周期の解析値だけでなく、サンプリング周期の最大許容値も決定する必要があり、それにより、システムの整合性を向上させることができる。
【0146】
なお、サンプリング周期の最大許容値の場合、復号化点群に含まれる点数、sliceに含まれる点数、sliceに包含可能な最大許容点数等、主に復号化点群との関連内容に関するものである。
【0147】
いくつかの実施例において、前記サンプリング周期の最大許容値を決定することは、
sliceに包含可能な最大許容点数を取得することと、
前記sliceに包含可能な最大許容点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含み得る。
【0148】
具体的な実施例において、前記sliceに包含可能な最大許容点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記サンプリング周期の最大許容値を前記sliceに包含可能な最大許容点数に等しくなるように設定することを含み得る。
【0149】
即ち、可能な実施形態において、デコーダに、sliceに包含可能な最大許容点数が既に含まれている場合、復号化点群の1つ又は複数のsliceについて、各slice内の点数をsliceに包含可能な最大許容点数を使用して置き換えることができ、この場合、sliceに包含可能な最大許容点数をサンプリング周期の最大許容値として決定することができる。
【0150】
いくつかの実施例において、前記サンプリング周期の最大許容値を決定することは、
前記ビットストリームを解析し、少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することであって、前記第1シンタックス要素は、前記少なくとも1つのsliceに含まれる点数を示すために使用される、ことと、
前記第1シンタックス要素の値に基づいて、前記少なくとも1つのsliceに含まれる点数を決定することと、
前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含み得る。
【0151】
具体的な実施例において、前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定することは、
前記点数から最大値を選択し、前記最大値を前記サンプリング周期の最大許容値として決定することを含み得る。
【0152】
【0153】
さらに、いくつかの実施例において、前記ビットストリームを解析し、少なくとも1つのsliceに対応する第1シンタックス要素の値を取得することは、
前記ビットストリームを解析し、前記少なくとも1つのsliceの幾何学的データユニットを取得することと、
前記少なくとも1つのsliceの幾何学的データユニットから、前記少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することと、を含み得る。
【0154】
なお、デコーダでは、ビットストリームを解析することにより、少なくとも1つのsliceの幾何学的データユニットを取得することができ、次に、この少なくとも1つのsliceの幾何学的データユニットから、この少なくとも1つのsliceに対応する第1シンタックス要素の値を取得し、さらに、この少なくとも1つのsliceに含まれる点数を決定することができる。
【0155】
なお、1つのsliceにおいて、1つ又は複数の幾何学的データユニット(geometry data unit)といくつかの属性データユニット(attribute data unit)を含み得る。属性データユニットは、同一のslice内の対応する幾何学的データユニットに依存する。sliceにおいて、幾何学的データユニットは、いずれの対応する属性データユニットの前に出現する必要があり、slice内のデータユニットは連続的である必要がある。
【0156】
より具体的には、第1シンタックス要素(geom_num_points_minus1)の場合、geom_num_points_minus1は、geometry data unit footer中に書き込むが、geometry data unit footerは、geometry data unitに位置する。
【0157】
さらに、いくつかの実施例において、前記第1シンタックス要素の値に基づいて、前記少なくとも1つのsliceに含まれる点数を決定することは、
前記少なくとも1つのsliceに含まれる点数の値を前記第1シンタックス要素の値と第1定数値との和に等しくなるように設定することであって、前記第1定数値は、プリセット整数値である、ことを含み得る。
【0158】
具体的な実施例において、前記第1定数値は、1に等しい。
【0159】
例示的に、第1シンタックス要素の場合、前記第1シンタックス要素の値に1を加算する動作を実行し、それにより、前記少なくとも1つのsliceに含まれる点数を得る。
【0160】
即ち、デコーダでは、第1シンタックス要素の値を取得した後、それに対して1を加算する動作を実行することにより、この少なくとも1つのsliceに含まれる点数を得ることができ、次に、これらの点数から最大値を選択し、選択された最大値をサンプリング周期の最大許容値として決定する。
【0161】
いくつかの実施例において、前記サンプリング周期の最大許容値を決定することは、
前記ビットストリームを解析し、前記復号化点群に含まれる総点数を決定することと、
前記復号化点群に含まれる総点数に基づいて、前記サンプリング周期の最大許容値を決定することと、を含み得る。
【0162】
さらに、前記ビットストリームを解析し、前記復号化点群に含まれる総点数を決定することは、
前記ビットストリームを解析し、少なくとも1つのsliceに対応する第1シンタックス要素の値を決定することと、
少なくとも1つのsliceに対応する第1シンタックス要素の値に基づいて、前記復号化点群に含まれる総点数を決定することと、を含み得る。
【0163】
即ち、ビットストリームを解析し、少なくとも1つのsliceに対応する第1シンタックス要素の値を得た後、この少なくとも1つのsliceに含まれる点数を決定することができる。点群が分割されない場合、即ち、1つのsliceのみある場合、復号化された当該sliceに含まれる点数を復号化点群に含まれる総点数として決定し、点群が分割された場合、即ち、少なくとも2つのsliceが存在する場合、復号化されたこの少なくとも2つのsliceに含まれる点数に対して加算計算して、計算結果を復号化点群に含まれる総点数として決定することができる。
【0164】
具体的な実施例において、前記復号化点群に含まれる総点数に基づいて、前記サンプリング周期の最大許容値を決定することは、前記復号化点群に含まれる総点数を前記サンプリング周期の最大許容値として決定することを含み得る。
【0165】
即ち、更に別の可能な実施形態において、デコーダにおいて、ビットストリームを解析することにより、復号化点群に含まれる総点数を決定することもでき、次に、復号化点群に含まれる総点数をサンプリング周期の最大許容値として決定することができる。この場合、サンプリング周期のプリセット値は、復号化点群に含まれる総点数以下となる。
【0166】
なお、適合(Conformance)パラメータは、当該点群ビットストリーム自体の属性を表すために使用され、少なくとも、プロファイル(Profile)、階層(Tier)又はレベル(Level)の1つのパラメータを含み、サンプリング周期の最大許容値を決定するためにも使用される。具体的には、いくつかの実施例において、前記サンプリング周期の最大許容値を決定することは、
前記ビットストリームを解析し、適合性パラメータを決定することであって、前記適合性パラメータは、プロファイルパラメータ、階層パラメータ、レベルパラメータのうちの少なくとも1つを含む、ことと、
前記適合性パラメータに基づいて、前記サンプリング周期の最大許容値を決定することと、を含み得る。
【0167】
具体的な実施例において、前記適合性パラメータに基づいて、前記サンプリング周期の最大許容値を決定することは、前記サンプリング周期の最大許容値を前記適合性パラメータに対応するプリセット値に等しくなるように設定することを含み得る。
【0168】
即ち、更に別の可能な実施形態において、本願の実施例は、入力点群の適合性パラメータを決定し、次に、入力点群の適合性パラメータに基づいてサンプリング周期の最大許容値を決定することができる。ここで、本願の実施例において、サンプリング周期の最大許容値は、適合性パラメータに対応するプリセット値に等しくなるように設定することができる。
【0169】
いくつかの実施例において、前記サンプリング周期の最大許容値を決定することは、
前記サンプリング周期の最大許容値をプリセット定数値に設定することを含み得る。
【0170】
即ち、更に別の可能な実施形態において、本願の実施例は、サンプリング周期の最大許容値をプリセット定数値として設定してもよい。ここで、プリセット定数値は、ゼロより大きい整数値である。
【0171】
本願の実施例において、サンプリング周期は、最大許容値とプリセット値の区分を有すると、第2シンタックス要素の場合、本願の実施例は、第2シンタックス要素の最大許容値と第2シンタックス要素のプリセット値にも関する。
【0172】
いくつかの実施例において、当該方法は、
前記サンプリング周期の最大許容値に基づいて、前記第2シンタックス要素の最大許容値を決定することをさらに含み得る。
【0173】
なお、サンプリング周期の最大許容値に基づいて第2シンタックス要素の最大許容値を決定することができる。具体的な実施例において、前記サンプリング周期の最大許容値に基づいて、前記第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値と第2定数値との和に等しくなるように設定することであって、前記第2定数値は、プリセット整数値である、ことを含み得る。
【0174】
具体的な実施例において、前記第2定数値は、-2に等しい。
【0175】
例示的に、第2シンタックス要素の場合、前記サンプリング周期の最大許容値に対して2を減算する動作を実行することにより、前記第2シンタックス要素の最大許容値を得ることができる。
【0176】
別の具体的な実施例において、前記サンプリング周期の最大許容値に基づいて、前記第2シンタックス要素の最大許容値を決定することは、
前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値に等しくなるように設定することを含み得る。
【0177】
簡単に言えば、第2シンタックス要素の最大許容値は、サンプリング周期の最大許容値に対して2を減算する動作を実行することにより得ることができ、サンプリング周期の最大許容値を第2シンタックス要素の最大許容値として直接決定することもできる。
【0178】
なお、第2シンタックス要素の値の場合、第2シンタックス要素の値は、第2シンタックス要素の最大許容値以下である。
【0179】
いくつかの実施例において、前記第2シンタックス要素の値に基づいて、前記サンプリング周期の解析値を決定することは、
前記サンプリング周期の解析値を前記第2シンタックス要素に対する値と第3定数値との和に等しくなるように設定することであって、前記第3定数値は、プリセット整数値であることを含み得る。
【0180】
具体的な実施例において、前記第3定数値は、2に等しい。
【0181】
例示的に、第2シンタックス要素の場合、第2シンタックス要素の値に対して2を加算する処理を行い、それにより、前記サンプリング周期のプリセット値を得る。例えば、第2シンタックス要素の値が2である場合、サンプリング周期のプリセット値が4に等しい。
【0182】
それに加えて、いくつかの実施例において、前記ビットストリームを解析し、第2シンタックス要素の値を決定することは、
前記サンプリング周期の最大許容値に基づいて、前記ビットストリームにおける前記第2シンタックス要素の対応する第1ビット数を決定することを含み得る。
【0183】
本願の実施例において、第1ビット数を前記サンプリング周期の最大許容値より大きい、2を底とする対数値の最小整数値に等しくなるように設定する。
【0184】
さらに、当該方法は、
前記ビットストリームから前記第1ビット数に等しい数のバイナリビット列を読み取ることと、
前記第2シンタックス要素の値を、前記バイナリビット列に対応する符号なし整数に等しくなるように設定することと、をさらに含み得る。
【0185】
即ち、サンプリング周期の最大許容値を決定した後、まず、ビットストリームにおける第2シンタックス要素の対応する第1ビット数Mを決定する。可能な実施形態において、Mは、サンプリング周期の最大許容値より大きい、2を底とする対数値の最小整数値であってもよい。このように、ビットストリームからM個のバイナリビット列を読み取り、第2シンタックス要素の値をM個のバイナリビット列に対応する符号なし整数に等しくなるように設定してもよい。
【0186】
例示的に、サンプリング周期の最大許容値をN(ここでの「N」は、入力点群の点数を表す)とすると、sampling_period_minus2の最大許容値は、N-2であり得る。本願の実施例において、サンプリング周期の最小値が2である場合、2≦T≦Nであり、Tは、サンプリング周期を表す。この場合、sampling_period_minus2の場合、sampling_period_minus2の値は、[0,N-2]の区間内にあってもよい。ビットストリームを解析し、得られたsampling_period_minus2の値が[0,N-2]の区間内にない場合、解析エラー又は解析されたサンプリング周期が使用できないことを示し、この場合、当該サンプリング周期の候補入力値を使用して入力点群を処理してLODを生成することは、システムの整合性に不利である。
【0187】
本願の実施例において、復号化点群は、1つ又は複数のsliceであってもよいが、sliceによって規定された最大許容点数は、Max points in a sliceで表す。それでは、各slice内の点数をG-PCC内のMax points in a sliceを使用して置き換えることで、それにより、シンタックス要素sampling_period_minus2の値の範囲を固定することができる。例えば、G-PCC内のMax points in a sliceを1100000とすると、sampling_period_minus2の値の範囲を[0,Max points in a slice - 2]に規定することができ、又はシンタックス要素の値がいずれもゼロ以上の値である場合、当該値の範囲はさらに、簡単にMax points in a sliceとして書くことができる。このように、本願の実施例は、点群コンテンツに基づいて、その最大のサンプリング周期を適応的に決定することができ、シンタックス要素sampling_period_minus2の値の範囲を明確にすることができ、デコーダ内で、ユーザが設定したサンプリング周期をチェックでき、それにより、システムの整合性を向上させるとともに、コーデック性能を向上させることができる。
【0188】
ステップS403において、前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得る。
【0189】
なお、システムの整合性を向上させるために、本願の実施例は、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得るために、サンプリング周期の解析値が前記サンプリング周期の最大許容値以下であり、その後に、サンプリング周期の解析値と幾何学的情報に基づいて復号化点群を処理するという条件を満たす必要がある。
【0190】
なお、本願の実施例は、サンプリング周期に基づいて復号化点群に対してLOD分割を行うことができる。具体的には、サンプリング周期の解析値を決定した後、サンプリング周期の解析値と幾何学的情報に基づいて復号化点群を処理(具体的には、サンプリング処理)してLOD階層化を実現し、それにより、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることができる。
【0191】
いくつかの実施例において、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることは、
前記幾何学的情報に基づいて、前記サンプリング周期の解析値を使用して前記復号化点群を処理し、第1リファインメントレイヤ及び第1詳細レイヤを得ることを含み得る。
【0192】
即ち、サンプリング周期のプリセット値を使用して復号化点群を処理し、第i=1層の第1リファインメントレイヤ及び第1詳細レイヤを得ることができる。
【0193】
i=1以外の他のレイヤの場合、得られた詳細レイヤをレイヤごとに処理する必要がある。例えば、第iレイヤ、この場合の詳細レイヤは、ターゲット詳細レイヤと呼ばれ、サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、第i+1レイヤ(即ち、次のリファインメントレイヤ及び次の詳細レイヤ)を得、次の詳細レイヤの点数が1に等しくなるまで、又は予め設定された分割レベルに達するまで、処理を停止する。
【0194】
可能な実施形態において、LOD分割停止条件として、詳細レイヤの点数がわずか1である場合である。この場合、当該方法は、
前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得ることと、
前記次の詳細レイヤの点数が1より大きい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記次の詳細レイヤの点数が1に等しくなるまで、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得るステップを継続して実行し、処理を終了することと、をさらに含み得る。
【0195】
例示的に、i=1以外の他のレイヤの場合、第iレイヤにより第i+1レイヤが得られることで説明する。
【0196】
前記サンプリング周期の解析値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得、iは、ゼロより大きい整数であり、
第i+1詳細レイヤの点数が1より大きい場合、i+1をiに代入し、前記第i+1詳細レイヤの点数が1に等しくなるまで、前記サンプリング周期のプリセット値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得るステップを継続して実行し、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを得る。
【0197】
別の可能な実施形態において、LOD階層化が予め設定された分割レイヤ数に達することをLOD分割停止条件としてもよい。この場合、当該方法は、
前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行することと、
前記現在の分割レイヤ数が予め設定された分割レイヤ数より小さい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記現在の分割レイヤ数が予め設定された分割レイヤ数に等しくなるまで、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行するステップを継続して実行し、処理を終了することと、を含み得る。
【0198】
例示的に、i=1以外の他のレイヤの場合、第iレイヤにより第i+1レイヤが得られることで説明する。前記サンプリング周期の解析値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得、iは、ゼロより大きい整数であり、
iが予め設定された分割レイヤ数より小さい場合、i+1をiに代入し、iが予め設定された分割レイヤ数に等しくなるまで、前記前記サンプリング周期のプリセット値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得るステップを継続して実行し、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを得る。
【0199】
本願の実施例において、復号化点群の場合、ソートされた復号化点群である必要がある。即ち、まず、復号化点群をソートする必要があり、次に、サンプリング周期の解析値に基づいてサンプリングして、第1リファインメントレイヤ及び第1詳細レイヤを得、続いて、第i詳細レイヤを再度サンプリングして、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得、iは、ゼロより大きい整数であり、第i+1詳細レイヤの点数が1に等しくなるまで、又はユーザが設定した予め設定された分割レイヤ数に達するまで分割を停止する。
【0200】
G-PCC規格において、LOD分割に対する処理(Level of Detail Generation)は、次の通りである。
【0201】
現在の詳細レイヤがLodLvlに対応し、出力(ダウンサンプリング、subsample)後の次の詳細レイヤがLodLvl+1に対応する。ここで、LodLvl=0,…,num_detail_levels_minus1の場合、inLodSizeは、lodSizes[LodLvl]と同等である。
【0202】
ここで、現在の詳細レイヤ(又は「入力詳細レイヤ」と呼ばれる)に単一の点が含まれ、又は所定数の分割レイヤ数(即ち、予め設定された分割レイヤ数)が構築されている場合には、更なる処理を行われない。
【0203】
if (inLodSize == 1 || LodLvl == num_detail_levels_minus1) {
OutLodSize = 0
for (i = 0; i < InLodSize; i++)
OutDiffIdxs[i] = InLodIdxs[i]
}
【0204】
そうでないと、次のいずれかのパーティションプロセスを使用してダウンサンプリングを行う。
【0205】
lod_scalability_enabled_flagが1に等しい場合、八分木ベースのダウンサンプリングを実行する。
【0206】
そうでないと、lod_regular_sampling_enabled_flagが1に等しい場合、周期サンプリングを実行する。
【0207】
そうでないと、距離ベースのダウンサンプリングを実行する。
【0208】
周期ダウンサンプリングのプロセス:
現在の詳細レイヤのサンプリング周期は、
samplingPeriod = 2 + sampling_period_minus2[LodLvl]
入力詳細レイヤ内のインデックスに基づいて、入力点を次の詳細レイヤと次のリファインメントレイヤに割り当てる。
【0209】
OutLodSize = OutDiffSize = 0
for (i = 0; i < InLodSize; i++) {
if (i % samplingPeriod)
OutDiffIdxs[OutDiffSize++] = InLodIdxs[i]
else
OutLodIdxs[OutLodSize++] = InLodIdxs[i]
}
【0210】
なお、G-PCC規格における上記の内容の具体的なパラメータの定義及び具体的なプロセスについて規格テキストを参照することができ、ここでは詳細な説明を省略する。
【0211】
いくつかの実施例において、前記ビットストリームを解析し、前記サンプリング周期の解析値を決定することは、
前記ビットストリームを解析し、前記ターゲット詳細レイヤに対応する前記サンプリング周期のターゲット解析値を決定することを含み得る。
【0212】
これに対応して、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得ることは、
前記サンプリング周期のターゲット解析値を使用して前記ターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得ることを含み得る。
【0213】
本願の実施例において、前記サンプリング周期のターゲット解析値は、前記サンプリング周期の最大許容値以下である。
【0214】
なお、上記のプロセスにおいて、この少なくとも1つの詳細レイヤに対応するサンプリング周期は、固定サンプリング周期であってもよく、可変サンプリング周期であってもよい。ここで、第i詳細レイヤに対応するサンプリング周期の解析値は、サンプリング周期の第i解析値で表すことができる。いくつかの実施例において、前記ビットストリームを解析し、前記サンプリング周期の解析値を決定することは、
前記ビットストリームを解析し、第i詳細レイヤに対応する前記サンプリング周期の第i解析値を決定することであって、iは、ゼロより大きい整数である、ことを含み、
これに対応して、前記サンプリング周期の解析値を使用して第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得ることは、前記第i詳細レイヤに対応する前記サンプリング周期の第i解析値を使用して、第i詳細レイヤを処理し、第i+1リファインメントレイヤ及び第i+1詳細レイヤを得ることを含み得る。
【0215】
さらに、いくつかの実施例において、前記サンプリング周期の第i解析値は、前記サンプリング周期の最大許容値以下である。
【0216】
なお、この少なくとも1つの詳細レイヤの場合、各レイヤに対応するサンプリング周期のプリセット値は、いずれもサンプリング周期の最大許容値以下である。さらに、この少なくとも1つの詳細レイヤ内の異なる詳細レイヤは、異なるサンプリング周期のプリセット値に対応し、同一のサンプリング周期のプリセット値に対応してもよい。通常、この少なくとも1つの詳細レイヤ内の異なる詳細レイヤが異なるサンプリング周期のプリセット値に対応する場合、第i詳細レイヤに対応するサンプリング周期のプリセット値が第i+1詳細レイヤに対応するサンプリング周期のプリセット値より大きいが、ここでは特に限定しない。
【0217】
言い換えれば、第idx詳細レイヤに対応する第2シンタックス要素の値は、sampling_period_minus2[idx]で表すことができ、それでは、詳細レイヤidx(又は第idx詳細レイヤと呼ばれる)に対応するサンプリング周期のプリセット値は、sampling_period_minus2[idx]に2を加算することにより得られる。ここで、sampling_period_minus2[idx]が第2シンタックス要素の最大許容値以下である。
【0218】
ステップS404において、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定する。
【0219】
なお、LOD分割が完了した後、この少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを使用して属性情報を復号化し、具体的には、復号化された詳細レイヤ内の再構成点及び現在のリファインメントレイヤ内の復号化された再構成点を使用して現在の点を予測して、予測データを得るとともに、ビットストリームを解析することにより、予測残差を取得し、予測データと予測残差とを加算計算を実行して、現在の点の再構成データ(即ち、再構成点)を得ることができ、さらに、当該再構成点群を再構築することができる。
【0220】
簡単に言えば、本願の実施例において、サンプリング周期の方式を使用して復号化点群に対してサンプリングして、LOD分割を実現し、当該方法の複雑度が低く、さらに、初期点の分布をうまく捉えることができるが、不規則なサンプリング点群上の非滑らかな属性情報をより効果的に予測する。さらに、シンタックス要素sampling_period_minus2の最大許容値が定義されていない問題について、本願の実施例では、さらに、その最大値をMAXとして予め定義する。サンプリング周期に基づくLOD生成方式において、まず、復号化点群をソートし、次に、ユーザによって設定されたサンプリング周期に基づいてソートされた入力点群をサンプリングすると、そのサンプリング周期が最大である場合は、現在の点群の点数以下であり、さらに、最小値は2となるはずである。この場合、2≦T≦Nで表され、ここで、Tは、サンプリング周期であり、Nは、復号化点群の点数である。それにより、sampling_period_minus2の区間は、0からN-2まで定義可能である。なお、シンタックス要素在は、デコーダで通常ゼロから始まるため、サンプリング周期では、2を減算する処理を実行する。
【0221】
なお、シンタックス要素sampling_period_minus2は、属性パラメータセットにあり、ピクチャレベルである。属性パラメータセットの優先順位が高いため、各sliceは、いずれもこのシンタックス要素(sampling_period_minus2)を参照する。
【0222】
さらに、MAXはビットストリームに書き込まれないが、主に復号化点群の関連内容(例えば、入力点群の点数、sliceの点数、sliceの最大許容点数等)を使用して得られ、システムの整合性チェックにのみ使用される。エンコーダは、サンプリング周期のプリセット値(即ち、sampling_period_minus2の値)をビットストリームに書き込むだけである。
【0223】
【0224】
なお、ドラフトテキストでは、「sampling_period_minus2[idx]に2を加算することが、詳細レイヤidxのサンプリング周期の値を表すことができ、さらに、サンプリング周期の値は0~xxの区間内である」と定義する。本願の実施例において、サンプリング周期の値について、「MAX以下」と略記することができる。このように、本願の実施例は、点群コンテンツに基づいて最大サンプリング周期を適応的に決定することができ、シンタックス要素sampling_period_minus2の値の範囲を明確に規定することができる。
【0225】
本実施例は、点群復号化方法を提供し、ビットストリームを解析することにより、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定し、前記サンプリング周期の最大許容値を決定し、前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定する。このように、デコーダでサンプリング周期の最大値が規定されるため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を行う際に、システムの整合性を向上させることができ、さらに、復号化効率も向上して、復号化性能も向上することができる。
【0226】
本願のさらに別の実施例において、前述した実施例と同様の発明構想に基づいて、
図5を参照すると、
図5は、本願の実施例によるエンコーダ50の構成構造を例示的に示す図である。
図5に示すように、当該エンコーダ50は、第1取得ユニット501と、第1決定ユニット502と、第1サンプリングユニット503と、符号化ユニット504とを備えることができ、ここで、
第1取得ユニット501は、入力点群の幾何学的情報と属性情報を取得するように構成され、
第1決定ユニット502は、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定し、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定するように構成され、
第1サンプリングユニット503は、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得るように構成され、
符号化ユニット504は、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むように構成される。
【0227】
いくつかの実施例において、第1決定ユニット502はさらに、前記入力点群に含まれる総点数を決定し、前記入力点群に含まれる総点数に基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0228】
いくつかの実施例において、
図5を参照すると、エンコーダ50はさらに、前記サンプリング周期の最大許容値を前記入力点群に含まれる総点数に等しくなるように設定するように構成される第1設定ユニット505を備えることができる。
【0229】
いくつかの実施例において、第1決定ユニット502はさらに、前記入力点群の適合性パラメータを決定し、前記適合性パラメータは、プロファイルパラメータ、階層パラメータ、レベルパラメータのうちの少なくとも1つを含み、前記適合性パラメータに基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0230】
いくつかの実施例において、第1設定ユニット505はさらに、前記サンプリング周期の最大許容値を前記適合性パラメータに対応するプリセット値に等しくなるように設定するように構成される。
【0231】
いくつかの実施例において、第1設定ユニット505はさらに、前記サンプリング周期の最大許容値をプリセット定数値に設定するように構成される。
【0232】
いくつかの実施例において、
図5を参照すると、エンコーダ50はさらに、分割ユニット506を備えることができ、
第1決定ユニット502はさらに、前記入力点群に含まれる総点数を決定するように構成され、
分割ユニット506は、前記入力点群に含まれる総点数がsliceに包含可能な最大許容点数より大きい場合、前記入力点群を分割して、少なくとも1つのsliceを得るように構成され、
第1決定ユニット502はさらに、前記少なくとも1つのsliceに含まれる点数を決定し、前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0233】
いくつかの実施例において、第1決定ユニット502はさらに、前記点数から最大値を選択し、前記最大値を前記サンプリング周期の最大許容値として決定するように構成される。
【0234】
いくつかの実施例において、第1設定ユニット505は、前記サンプリング周期の最大許容値を前記sliceに包含可能な最大許容点数に等しくなるように設定するように構成される。
【0235】
いくつかの実施例において、
図5を参照すると、エンコーダ50はさらに、書き込みユニット507を備え、
第1決定ユニット502はさらに、前記少なくとも1つのsliceに含まれる点数に基づいて、前記少なくとも1つのsliceに対応する第1シンタックス要素の値を決定するように構成され、前記第1シンタックス要素は、前記少なくとも1つのsliceに含まれる点数を示すために使用される。
【0236】
書き込みユニット507は、前記第1シンタックス要素の値を前記ビットストリームに書き込むように構成される。
【0237】
いくつかの実施例において、第1設定ユニット505はさらに、前記第1シンタックス要素の値を前記少なくとも1つのsliceに含まれる点数と第1定数値との和に等しくなるように設定するように構成され、前記第1定数値は、プリセット整数値である。
【0238】
いくつかの実施例において、前記第1定数値は、-1に等しい。
【0239】
いくつかの実施例において、書き込みユニット507はさらに、前記第1シンタックス要素の値を前記少なくとも1つのsliceの幾何学的データユニットに書き込み、前記少なくとも1つのsliceの幾何学的データユニットを前記ビットストリームに書き込むように構成される。
【0240】
いくつかの実施例において、第1取得ユニット501は、前記サンプリング周期の候補入力値を取得するように構成され、
第1決定ユニット502はさらに、前記サンプリング周期の候補入力値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の候補入力値を前記サンプリング周期のプリセット値として決定するように構成される。
【0241】
いくつかの実施例において、第1設定ユニット505はさらに、前記サンプリング周期のプリセット値を前記サンプリング周期の最大許容値以下に設定するように構成される。
【0242】
いくつかの実施例において、第1決定ユニット502はさらに、前記サンプリング周期の最大許容値に基づいて、第2シンタックス要素の最大許容値を決定するように構成され、前記第2シンタックス要素は、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期を示すために使用される。
【0243】
いくつかの実施例において、第1設定ユニット505はさらに、前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値と第2定数値との和に等しくなるように設定するように構成され、前記第2定数値は、プリセット整数値である。
【0244】
いくつかの実施例において、前記第2定数値は、-2に等しい。
【0245】
いくつかの実施例において、第1設定ユニット505はさらに、前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値に等しくなるように設定するように構成される。
【0246】
いくつかの実施例において、第1決定ユニット502はさらに、前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定するように構成され、
書き込みユニット507はさらに、前記第2シンタックス要素の値を前記ビットストリームに書き込むように構成される。
【0247】
いくつかの実施例において、第1決定ユニット502はさらに、前記サンプリング周期のプリセット値に基づいて、第2シンタックス要素の値を決定するように構成され、
書き込みユニット507はさらに、前記第2シンタックス要素の値を属性パラメータセットに書き込み、前記属性パラメータセットを前記ビットストリームに書き込むように構成される。
【0248】
いくつかの実施例において、前記第2シンタックス要素の値は、前記第2シンタックス要素の最大許容値以下である。
【0249】
いくつかの実施例において、第1設定ユニット505はさらに、前記第2シンタックス要素の値を前記サンプリング周期のプリセット値と第3定数値との和に等しくなるように設定するように構成され、前記第3定数値は、プリセット整数値である。
【0250】
いくつかの実施例において、前記第3定数値は、-2に等しい。
【0251】
いくつかの実施例において、第1決定ユニット502はさらに、前記サンプリング周期の最大許容値に基づいて、前記ビットストリームにおける前記第2シンタックス要素の対応する第1ビット数を決定するように構成され、
書き込みユニット507はさらに、前記第2シンタックス要素の値を前記第1ビット数のバイナリビット列に変換し、前記第1ビット数のバイナリビット列を前記ビットストリームに書き込むように構成される。
【0252】
いくつかの実施例において、第1設定ユニット505はさらに、前記第1ビット数を前記サンプリング周期の最大許容値より大きい、2を底とする対数値の最小整数値に等しくなるように設定するように構成される。
【0253】
いくつかの実施例において、第1サンプリングユニット503はさらに、前記幾何学的情報に基づいて、前記サンプリング周期のプリセット値を使用して前記入力点群を処理し、第1リファインメントレイヤ及び第1詳細レイヤを得るように構成される。
【0254】
いくつかの実施例において、第1サンプリングユニット503はさらに、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、前記次の詳細レイヤの点数が1より大きい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記次の詳細レイヤの点数が1に等しくなるまで、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得るステップを継続して実行し、処理を終了するように構成される。
【0255】
いくつかの実施例において、第1サンプリングユニット503はさらに、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行し、前記現在の分割レイヤ数が予め設定された分割レイヤ数より小さい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記現在の分割レイヤ数が予め設定された分割レイヤ数に等しくなるまで、前記サンプリング周期のプリセット値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行するステップを継続して実行し、処理を終了するように構成される。
【0256】
いくつかの実施例において、第1決定ユニット502はさらに、前記サンプリング周期の最大許容値に基づいて、前記ターゲット詳細レイヤに対応する前記サンプリング周期のターゲットプリセット値を決定するように構成され、
第1サンプリングユニット503はさらに、前記サンプリング周期のターゲットプリセット値を使用して前記ターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得るように構成される。
【0257】
いくつかの実施例において、前記サンプリング周期のターゲットプリセット値は、前記サンプリング周期の最大許容値以下である。
【0258】
理解できることのように、本願の実施例において、「ユニット」は、部分回路、部分プロセッサ、部分プログラム又はソフトウェア等であってもよいが、もちろん、モジュールであってもよく、非モジュール化されたものであってもよい。さらに、本実施例における各構成要素は、1つの処理ユニットに統合されてもよく、各ユニットが独立して物理的に存在してもよく、2つ又は2つ以上のユニットが1つのユニットに統合されてもよい。上記の統合されたユニットは、ハードウェアの形で実現されてもよく、ソフトウェア機能モジュールの形で実現されてもよい。
【0259】
前記統合されたユニットが独立した製品として販売又は使用されず、ソフトウェア機能モジュールの形で実現される場合、1つのコンピュータ読み取り可能な記憶媒体に記憶されてもよく、このような理解に基づいて、本実施例の技術的解決策は、本質的にあるいは従来技術に寄与する部分、あるいは当該技術的解決策の全部又は一部をソフトウェア製品の形で具現されることができ、当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、1台のコンピュータ機器(パーソナルコンピュータ、サーバ、又はネットワーク機器等であってもよい)又はprocessor(プロセッサ)に本実施例に記載の方法のステップの全部又は一部を実行させるためのいくつかの命令を含む。前述した記憶媒体は、Uディスク、リムーバブルハードディスク、リードオンリーメモリ(ROM:Read Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスク等の各種プログラムコードを記憶可能な媒体を含む。
【0260】
したがって、本願の実施例は、エンコーダ50に適用されるコンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムが第1プロセッサによって実行されるときに、前述した実施例のいずれかに記載の方法を実現する。
【0261】
上記のエンコーダ50の構成及びコンピュータ記憶媒体に基づいて、
図6を参照すると、
図6は、本願の実施例によって提供されるエンコーダ50の具体的なハードウェア構成を例示的に示す図である。
図6に示すように、第1通信インタフェース601と、第1メモリ602と、第1プロセッサ603とを備え、各構成要素は、第1バスシステム604を介して結合されてもよい。理解できることのように、第1バスシステム604は、これらの構成要素間の接続通信を実現するために使用される。第1バスシステム604は、データバスに加えて、電源バス、制御バス及び状態信号バスを有する。しかしながら、説明を明確にするために、
図6では各バスをすべて第1バスシステム604と表記する。ここで、
第1通信インタフェース601は、他の外部ネットワーク要素との間で情報を送受信する過程において、信号の送受信を実行するために使用され、
第1メモリ602は、第1プロセッサ603上で実行可能なコンピュータプログラムを記憶するために使用され、
第1プロセッサ603は、前記コンピュータプログラムを実行するときに、
入力点群の幾何学的情報と属性情報を取得することと、
前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定することと、
前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定することと、
前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることと、
前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込むことと、を実行するために使用される。
【0262】
理解できることのように、本願の実施例における第1メモリ602は、揮発性メモリ又は不揮発性メモリであってもよく、揮発性及び不揮発性メモリの両方を含んでもよい。ここで、不揮発性メモリは、リードオンリーメモリ(ROM:Read-Only Memory)、プログラマブルリードオンリーメモリ(PROM:Programmable ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM:Erasable PROM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM:Electrically EPROM)又はフラッシュメモリであってもよい。揮発性メモリは、外部キャッシュとして機能するランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。例示的であるが限定的ではない説明によって、例えば、スタティックランダムアクセスメモリ(SRAM:Static RAM)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic RAM)、同期ダイナミックランダムアクセスメモリ(SDRAM:Synchronous DRAM)、ダブルデータレート同期ダイナミックランダムアクセスメモリ(DDRSDRAM:Double Data Rate SDRAM)、エンハンスド同期ダイナミックランダムアクセスメモリ(ESDRAM:Enhanced SDRAM)、同期接続ダイナミックランダムアクセスメモリ(SLDRAM:Synchlink DRAM)及びダイレクトメモリバスランダムアクセスメモリ(DRRAM:Direct Rambus RAM)の多くの形態のRAMを使用することができる。本願で記載されたシステム及び方法の第1メモリ602は、これら及びその他の任意の適切なタイプのメモリを含むがこれに限定されないことを目的とする。
【0263】
しかしながら、第1プロセッサ603は、信号の処理能力を有する集積回路チップであってもよい。実現プロセスにおいて、上記の方法の各ステップは、第1プロセッサ603内のハードウェアの集積論理回路又はソフトウェア形態の命令によって完了される。上記の第1プロセッサ603は、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、専用集積回路(ASIC:Application Specific Integrated Circuit)、既存のプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであってもよい。本願の実施例において開示された各方法、ステップ及びロジックブロック図を実現又は実行することができる。汎用プロセッサは、マイクロプロセッサであってもよく、あるいは当該プロセッサは、任意の従来のプロセッサであってもよい。本願の実施例で開示された方法のステップは、ハードウェアデコードプロセッサ実行完了として直接実装されてもよく、又はデコードプロセッサ内のハードウェア及びソフトウェアモジュールの組み合わせによって実行完了として実装されてもよい。ソフトウェアモジュールは、ランダムメモリ、フラッシュメモリ、リードオンリーメモリ、プログラマブルリードオンリーメモリ、又は電気的に消去可能なプログラマブルメモリ、レジスタ等の本分野の成熟した記憶媒体に配置されてもよい。当該記憶媒体は、第1メモリ602に配置され、第1プロセッサ603は、第1メモリ602内の情報を読み取って、そのハードウェアに組み合わせて上記の方法のステップを完了する。
【0264】
理解できることのように、本願に記載のこれらの実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード又はそれらの組み合わせによって実装されてもよい。ハードウェアによる実装の場合、処理ユニットは、1つ又は複数の専用集積回路(ASIC:Application Specific Integrated Circuits)、デジタル信号処理装置(DSP:Digital Signal Processing)、デジタル信号処理機器(DSPD:DSP Device)、プログラマブルロジックデバイス(PLD:Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本願に記載した機能を実行するための他の電子ユニット又はそれらの組み合わせに実装されてもよい。ソフトウェアによる実装の場合、本願に記載した技術を本願に記載した機能を実行するモジュール(例えば、プロセス、関数等)によって実装されてもよい。ソフトウェアコードは、メモリに記憶され、プロセッサを介して実行されてもよい。メモリは、プロセッサ内又はプロセッサ外部に実装されてもよい。
【0265】
選択可能に、別の実施例として、第1プロセッサ603はさらに、前記コンピュータプログラムを実行するときに、前述した実施例のいずれかに記載された方法を実行するために使用されてもよい。
【0266】
本実施例は、第1取得ユニットと、第1決定ユニットと、第1サンプリングユニットと、符号化ユニットとを備えることができるエンコーダを提供する。このように、エンコーダでサンプリング周期の最大値が規定されるため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を実行する際に、システムの整合性を向上させることができ、符号化効率も向上して、符号化性能も向上することができる。
【0267】
本願のさらに別の実施例において、前述した実施例と同様の発明構想に基づいて、
図7を参照すると、
図7は、本願の実施例によるデコーダ70の構成構造を例示的に示す図である。
図7に示すように、当該デコーダ70は、復号化ユニット701と、第2決定ユニット702と、第2サンプリングユニット703とを備えることができ、ここで、
復号化ユニット701は、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定するように構成され、
第2決定ユニット702は、前記サンプリング周期の最大許容値を決定するように構成され、
第2サンプリングユニット703は、前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得るように構成され、
復号化ユニット701はさらに、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定するように構成される。
【0268】
いくつかの実施例において、第2決定ユニット702はさらに、sliceに包含可能な最大許容点数を決定し、前記sliceに包含可能な最大許容点数に基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0269】
いくつかの実施例において、
図7を参照すると、デコーダ70はさらに、前記サンプリング周期の最大許容値を前記sliceに包含可能な最大許容点数に等しくなるように設定するように構成される第2設定ユニット704を備えることができる。
【0270】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、少なくとも1つのsliceに対応する第1シンタックス要素の値を決定するように構成され、前記第1シンタックス要素は、前記少なくとも1つのsliceに含まれる点数を示すために使用され、
第2決定ユニット702はさらに、前記第1シンタックス要素の値に基づいて、前記少なくとも1つのsliceに含まれる点数を決定し、前記少なくとも1つのsliceに含まれる点数に基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0271】
いくつかの実施例において、第2決定ユニット702はさらに、前記点数から最大値を選択し、前記最大値を前記サンプリング周期の最大許容値として決定するように構成される。
【0272】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、前記少なくとも1つのsliceの幾何学的データユニットを決定するように構成される、
第2決定ユニット702はさらに、前記少なくとも1つのsliceの幾何学的データユニットから、前記少なくとも1つのsliceに対応する第1シンタックス要素の値を決定するように構成される。
【0273】
いくつかの実施例において、第2設定ユニット704はさらに、前記少なくとも1つのsliceに含まれる点数の値を前記第1シンタックス要素の値と第1定数値との和に等しくなるように設定するように構成され、前記第1定数値は、プリセット整数値である。
【0274】
いくつかの実施例において、前記第1定数値は、1に等しい。
【0275】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、前記復号化点群に含まれる総点数を決定するように構成され、
第2決定ユニット702はさらに、前記復号化点群に含まれる総点数に基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0276】
いくつかの実施例において、第2設定ユニット704はさらに、前記サンプリング周期の最大許容値を前記復号化点群に含まれる総点数に等しくなるように設定するように構成される。
【0277】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、適合性パラメータを決定するように構成され、前記適合性パラメータは、プロファイルパラメータ、階層パラメータ、レベルパラメータのうちの少なくとも1つを含み、
第2決定ユニット702はさらに、前記適合性パラメータに基づいて、前記サンプリング周期の最大許容値を決定するように構成される。
【0278】
いくつかの実施例において、第2設定ユニット704はさらに、前記サンプリング周期の最大許容値を前記適合性パラメータに対応するプリセット値に等しくなるように設定するように構成される。
【0279】
いくつかの実施例において、第2設定ユニット704はさらに、前記サンプリング周期の最大許容値をプリセット定数値に設定するように構成される。
【0280】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、第2シンタックス要素の値を決定するように構成され、前記第2シンタックス要素は、前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期を示すために使用され、
第2決定ユニット702はさらに、前記第2シンタックス要素の値に基づいて、前記サンプリング周期の解析値を決定するように構成される。
【0281】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、属性パラメータセットを取得するように構成され、
第2取得ユニット704はさらに、前記属性パラメータセットから、前記第2シンタックス要素の値を決定するように構成される。
【0282】
いくつかの実施例において、第2決定ユニット702はさらに、前記サンプリング周期の最大許容値に基づいて、前記ビットストリームにおける前記第2シンタックス要素の対応する第1ビット数を決定するように構成される。
【0283】
いくつかの実施例において、第2設定ユニット704はさらに、前記第1ビット数を前記サンプリング周期の最大許容値より大きい、2を底とする対数値の最小整数値に等しくなるように設定するように構成される。
【0284】
いくつかの実施例において、第2設定ユニット704はさらに、前記ビットストリームから前記第1ビット数に等しい数のバイナリビット列を読み取り、前記第2シンタックス要素の値を、前記バイナリビット列に対応する符号なし整数に等しくなるように設定するように構成される。
【0285】
いくつかの実施例において、第2決定ユニット702はさらに、前記サンプリング周期の最大許容値に基づいて、前記第2シンタックス要素の最大許容値を決定するように構成される。
【0286】
いくつかの実施例において、第2設定ユニット704はさらに、前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値と第2定数値との和に等しくなるように設定するように構成され、前記第2定数値は、プリセット整数値である。
【0287】
いくつかの実施例において、前記第2定数値は、-2に等しい。
【0288】
いくつかの実施例において、第2設定ユニット704はさらに、前記第2シンタックス要素の最大許容値を前記サンプリング周期の最大許容値に等しくなるように設定するように構成される。
【0289】
いくつかの実施例において、前記第2シンタックス要素の値は、前記第2シンタックス要素の最大許容値以下である。
【0290】
いくつかの実施例において、第2設定ユニット704はさらに、前記サンプリング周期の解析値を前記第2シンタックス要素に対する値と第3定数値との和に等しくなるように設定するように構成され、前記第3定数値は、プリセット整数値である。
【0291】
いくつかの実施例において、前記第3定数値は、2に等しい。
【0292】
いくつかの実施例において、第2サンプリングユニット703はさらに、前記幾何学的情報に基づいて、前記サンプリング周期の解析値を使用して前記復号化点群を処理し、第1リファインメントレイヤ及び第1詳細レイヤを得るように構成される。
【0293】
いくつかの実施例において、第2サンプリングユニット703はさらに、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、前記次の詳細レイヤの点数が1より大きい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記次の詳細レイヤの点数が1に等しくなるまで、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得るステップを継続して実行し、処理を終了するように構成される。
【0294】
いくつかの実施例において、第2サンプリングユニット703はさらに、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行し、前記現在の分割レイヤ数が予め設定された分割レイヤ数より小さい場合、得られた前記次の詳細レイヤを前記ターゲット詳細レイヤとして設定し、前記現在の分割レイヤ数が予め設定された分割レイヤ数に等しくなるまで、前記サンプリング周期の解析値を使用してターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得、現在の分割レイヤ数に対して1を加算する動作を実行するステップを継続して実行し、処理を終了するように構成される。
【0295】
いくつかの実施例において、復号化ユニット701はさらに、前記ビットストリームを解析し、前記ターゲット詳細レイヤに対応する前記サンプリング周期のターゲット解析値を決定するように構成される。
【0296】
いくつかの実施例において、第2サンプリングユニット703はさらに、前記サンプリング周期のターゲット解析値を使用して前記ターゲット詳細レイヤを処理し、次のリファインメントレイヤ及び次の詳細レイヤを得るように構成される。
【0297】
いくつかの実施例において、前記サンプリング周期のターゲット解析値は、前記サンプリング周期の最大許容値以下である。
【0298】
理解できることのように、本実施例において、「ユニット」は、部分回路、部分プロセッサ、部分プログラム又はソフトウェア等であってもよいが、もちろん、モジュールであってもよく、非モジュール化されたものであってもよい。さらに、本実施例における各構成要素は、1つの処理ユニットに統合されてもよく、各ユニットが独立して物理的に存在してもよく、2つ又は2つ以上のユニットが1つのユニットに統合されてもよい。上記の統合されたユニットは、ハードウェアの形で実現されてもよく、ソフトウェア機能モジュールの形で実現されてもよい。
【0299】
前記統合されたユニットが独立した製品として販売又は使用されず、ソフトウェア機能モジュールの形で実現される場合、1つのコンピュータ読み取り可能な記憶媒体に記憶されてもよい。このような理解に基づいて、本実施例は、デコーダ70に適用されるコンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムが第2プロセッサによって実行されるときに、前述した実施例のいずれかに記載の方法を実現する。
【0300】
上記のデコーダ70の構成及びコンピュータ記憶媒体に基づいて、
図8を参照すると、
図8は、本願の実施例によって提供されるデコーダ70の具体的なハードウェア構成を例示的に示す図である。
図8に示すように、第2通信インタフェース801と、第2メモリ802と、第2プロセッサ803とを備え、各構成要素は、第2バスシステム804を介して結合されてもよい。理解できることのように、第2バスシステム804は、これらの構成要素間の接続通信を実現するために使用される。第2バスシステム804は、データバスに加えて、電源バス、制御バス及び状態信号バスを有する。しかしながら、説明を明確にするために、
図8では各バスをすべて第2バスシステム804と表記する。ここで、
第2通信インタフェース801は、他の外部ネットワーク要素との間で情報を送受信する過程において、信号の送受信を実行するために使用され、
第2メモリ802は、第2プロセッサ803上で実行可能なコンピュータプログラムを記憶するために使用され、
第2プロセッサ803は、前記コンピュータプログラムを実行するときに、
ビットストリームを解析し、復号化点群の幾何学的情報、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定することと、
前記サンプリング周期の最大許容値を決定することと、
前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得ることと、
前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定することと、を実行するために使用される。
【0301】
選択可能に、別の実施例として、第2プロセッサ803はさらに、前記コンピュータプログラムを実行するときに、前述した実施例のいずれかに記載された方法を実行するために使用されてもよい。
【0302】
理解できることのように、第2メモリ802は、第1メモリ602と同様のハードウェアの機能を有し、第2プロセッサ803は、第1プロセッサ603と同様のハードウェア機能を有し、ここでは詳細な説明は省略する。
【0303】
本実施例は、復号化ユニットと、第2決定ユニットと、第2サンプリングユニットとを備えることができるデコーダを提供する。このように、デコーダでサンプリング周期の最大値が規定されるため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を実行する際に、システムの整合性を向上させることができ、さらに、復号化効率も向上して、復号化性能も向上することができる。
【0304】
なお、本願において、用語「含む」、「包含」又はその他の変形体は、非排他的包含を含むことを意味し、それにより、一連の要素を含むプロセス、方法、物品又は装置は、それらの要素だけでなく、明示的に記載されていない他の要素も含み、あるいは、このようなプロセス、方法、物品又は装置に固有の要素として含んでもよい。これ以上の制限がない限り、「1つの……を含む」というステートメントによって限定される要素は、当該要素を含むプロセス、方法、物品又は装置に追加的な同じ要素が存在する可能性を排除するものではない。
【0305】
上記の本願の実施例の番号は、説明のために記載されたものであり、実施例の優劣を表すものではない。
【0306】
本願によって提供されるいくつかの方法の実施例において開示される方法は、競合することなく任意に組み合わせて、新しい方法の実施例を得ることができる。
【0307】
本願によって提供されるいくつかの製品の実施例において開示される特徴は、競合することなく任意に組み合わせて、新しい製品の実施例を得ることができる。
【0308】
本願によって提供されるいくつかの方法又は装置の実施例において開示される特徴は、競合することなく任意に組み合わせて、新しい方法の実施例又は装置の実施例を得ることができる。
【0309】
以上の説明は、本願の具体的な実施形態に過ぎないが、本願の保護範囲はこれに限定されるものではなく、本願が開示した技術的範囲内で、変更又は置換を容易に想到し得る当業者なら誰でも本願の保護範囲内に含まれるものとする。したがって、本願の保護範囲は、前述した特許請求の範囲に準拠するものとする。
【産業上の利用可能性】
【0310】
本願の実施例において、エンコーダ側では、入力点群の幾何学的情報と属性情報を取得することにより、前記入力点群に対して詳細レベル分割を実行する際のサンプリング周期の最大許容値を決定し、前記サンプリング周期の最大許容値に基づいて、前記サンプリング周期のプリセット値を決定し、前記サンプリング周期のプリセット値及び前記幾何学的情報に基づいて前記入力点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記属性情報を符号化し、ビットストリームを生成し、前記サンプリング周期のプリセット値を前記ビットストリームに書き込む。デコーダ側では、ビットストリームを解析することにより、復号化点群、及び前記復号化点群に対して詳細レベル分割を実行する際のサンプリング周期の解析値を決定し、前記サンプリング周期の解析値が前記サンプリング周期の最大許容値以下である場合、前記サンプリング周期の解析値及び前記幾何学的情報に基づいて前記復号化点群を処理し、少なくとも1つのリファインメントレイヤ及び少なくとも1つの詳細レイヤを得、前記少なくとも1つのリファインメントレイヤ及び前記少なくとも1つの詳細レイヤを使用して前記復号化点群の属性情報を復号化し、前記復号化点群の再構成点群を決定する。このように、エンコーダ及びデコーダではサンプリング周期の最大値が規定されるため、サンプリング周期のプリセット値がサンプリング周期の最大値を超えないように保証することができ、それにより、当該サンプリング周期のプリセット値を使用して点群に対して一連の処理を実行する際に、システムの整合性を向上させることができ、さらに、コーデック効率を向上させることができる。