IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特表2025-501351点群コーディング方法、装置、及び媒体
<>
  • 特表-点群コーディング方法、装置、及び媒体 図1
  • 特表-点群コーディング方法、装置、及び媒体 図2
  • 特表-点群コーディング方法、装置、及び媒体 図
  • 特表-点群コーディング方法、装置、及び媒体 図3
  • 特表-点群コーディング方法、装置、及び媒体 図4
  • 特表-点群コーディング方法、装置、及び媒体 図5
  • 特表-点群コーディング方法、装置、及び媒体 図6
  • 特表-点群コーディング方法、装置、及び媒体 図7
  • 特表-点群コーディング方法、装置、及び媒体 図8
  • 特表-点群コーディング方法、装置、及び媒体 図9
  • 特表-点群コーディング方法、装置、及び媒体 図10
  • 特表-点群コーディング方法、装置、及び媒体 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-17
(54)【発明の名称】点群コーディング方法、装置、及び媒体
(51)【国際特許分類】
   G06T 9/40 20060101AFI20250109BHJP
【FI】
G06T9/40
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024540777
(86)(22)【出願日】2023-01-03
(85)【翻訳文提出日】2024-08-02
(86)【国際出願番号】 CN2023070231
(87)【国際公開番号】W WO2023131131
(87)【国際公開日】2023-07-13
(31)【優先権主張番号】PCT/CN2022/070180
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2022/087111
(32)【優先日】2022-04-15
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2022/104777
(32)【優先日】2022-07-09
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】シュイ,インジャン
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】ザン,リー
(57)【要約】
本開示の実施形態は、点群コーディングのための方案を提供する。点群コーディング方法を提供する。前記方法は、点群シーケンスの現在の点群(PC)サンプルと前記点群シーケンスのビットストリームとの間の変換中、前記現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて変換を実行するステップと、を含む。
【特許請求の範囲】
【請求項1】
点群コーディング方法であって、
点群シーケンスの現在の点群(PC)サンプルと前記点群シーケンスのビットストリームとの間の変換中、前記現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、
前記ターゲットPCサンプルに基づいて変換を実行するステップと、を含む、方法。
【請求項2】
前記ターゲットPCサンプルは、前記少なくとも1つの再構成されたPCサンプルの1つである、
請求項1に記載の方法。
【請求項3】
前記ターゲットPCサンプルを決定するステップは、
前記ターゲットPCサンプルを取得するために、前記少なくとも1つの再構成されたPCサンプルに対して処理手順を実行するステップを含む、
請求項1に記載の方法。
【請求項4】
前記処理手順は、
サンプリング手順、又は、
アップサンプリング手順のうちの少なくとも1つを含む、
請求項3に記載の方法。
【請求項5】
前記少なくとも1つの再構成されたPCサンプルは、複数の再構成されたPCサンプルを含み、
前記ターゲットPCサンプルを決定するステップは、
前記複数の再構成されたPCサンプルをマージして、前記ターゲットPCサンプルを取得するステップを含む、
請求項1に記載の方法。
【請求項6】
前記ターゲットPCサンプルは、前記複数の再構成されたPCサンプル内の全ての点を含む、
請求項5に記載の方法。
【請求項7】
前記ターゲットPCサンプルは、前記複数の再構成されたPCサンプル内の一部の点を含む、
請求項5に記載の方法。
【請求項8】
前記一部の点は、ダウンサンプリング手順によって生成される、
請求項7に記載の方法。
【請求項9】
前記少なくとも1つの再構成されたPCサンプルは、複数の再構成されたPCサンプルを含み、前記ターゲットPCサンプルを決定するステップは、
前記複数の再構成されたPCサンプルをマージすることで、少なくとも1つのマージされたPCサンプルを取得するステップと、
前記ターゲットPCサンプルを取得するために、前記少なくとも1つのマージされたPCサンプルに対して処理手順を実行するステップと、を含む、
請求項1に記載の方法。
【請求項10】
前記処理手順は、
サンプリング手順、又は、
アップサンプリング手順のうちの少なくとも1つを含む、
請求項9に記載の方法。
【請求項11】
前記点群シーケンスのサンプルは、複数のサンプルグループ(GOS)に分割され、前記複数のGOSは、少なくとも1つのGOS構造に関連付けられる、
請求項1~10のいずれか1項に記載の方法。
【請求項12】
前記少なくとも1つのGOS構造の第1GOS構造内のサンプルは、前記少なくとも1つのGOS構造の第2GOS構造内のサンプルと異なる参照関係を有し、前記第2GOS構造は、前記第1GOS構造と異なる、
請求項11に記載の方法。
【請求項13】
前記複数のGOSの第1GOSは、前記少なくとも1つのGOS構造の第1GOS構造を有し、前記第1GOSは、前記第1GOS内の第1サンプルに続くサンプルのセットを含み、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記サンプルのセットの各々は、それぞれのサンプルの直前に単一の参照サンプルを有する、
請求項11に記載の方法。
【請求項14】
前記第1GOS構造は、IPPP GOS構造である、
請求項13に記載の方法。
【請求項15】
前記複数のGOSの第2GOSは、前記少なくとも1つのGOS構造の第2GOS構造を有し、前記第2GOSは、前記第2GOS内の第1サンプルに続くサンプルのセットを含み、前記第1サンプルは、前記第2GOS内の最初の位置にあり、前記サンプルのセットのそれぞれは、2つの参照サンプルを有する、
請求項11に記載の方法。
【請求項16】
前記第2GOS構造は、IBBB GOS構造である、
請求項13に記載の方法。
【請求項17】
前記少なくとも1つのGOS構造は、単一のGOS構造を含む、
請求項11に記載の方法。
【請求項18】
前記少なくとも1つのGOS構造は、複数のGOS構造を含む、
請求項11~16のいずれか1項に記載の方法。
【請求項19】
1つのGOS構造のみが前記複数のサンプルグループの全てに適用されるか否かを示す少なくとも1つの第1指示は存在する、
請求項11~18のいずれか1項に記載の方法。
【請求項20】
前記少なくとも1つの第1指示は、前記ビットストリーム内に示される、
請求項19に記載の方法。
【請求項21】
前記少なくとも1つの第1指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、
請求項19又は20に記載の方法。
【請求項22】
前記少なくとも1つの第1指示は、予測的にコーディングされる、
請求項19又は20に記載の方法。
【請求項23】
第1GOS構造のみは前記複数のサンプルグループの全てに適用され、前記第1GOS構造を示す少なくとも1つの第2指示は存在し、又は、
複数のGOS構造は前記複数のサンプルグループの全てに適用され、前記現在のPCサンプルについて、前記複数のGOS構造の第1GOS構造が現在のPCサンプルに適用されること示す少なくとも1つの第3指示は存在する、
請求項11~22のいずれか1項に記載の方法。
【請求項24】
前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、前記ビットストリーム内に示される、
請求項23に記載の方法。
【請求項25】
前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、
請求項23又は24に記載の方法。
【請求項26】
前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、予測的にコーディングされる、
請求項23又は24に記載の方法。
【請求項27】
前記複数のGOSの第1GOSの第1GOS構造は、前記第1GOSのGOS動き情報に基づいて決定される、
請求項11に記載の方法。
【請求項28】
前記GOS動き情報は、エンコーダで決定される、
請求項27に記載の方法。
【請求項29】
前記GOS動き情報は、前記第1GOS内の第1サンプルと前記第1GOSに続く第2GOS内の第2サンプルとの間の動き情報であり、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記第2サンプルは、前記第2GOS内の最初の位置にある、
請求項27又は28に記載の方法。
【請求項30】
前記GOS動き情報は、前記第1GOS内の第1サンプルと前記第1GOS内の第2サンプルとの間の動き情報であり、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記第2サンプルは、前記第1GOS内の最後の位置にある、
請求項27又は28に記載の方法。
【請求項31】
前記GOS動き情報は、前記第1GOS内の最初のI-sampleと前記第1GOS内の次のI-sampleとの間の動き情報である、
請求項27又は28に記載の方法。
【請求項32】
前記GOS動き情報がGOS制約条件を満たす場合に、前記第1GOS構造がIBBB GOS構造であると決定され、
前記GOS動き情報が前記GOS制約条件を満たさない場合に、前記第1GOS構造がIPPP GOS構造であると決定される、
請求項27に記載の方法。
【請求項33】
前記GOS制約条件は、前記GOS動き情報が少なくとも1つの閾値よりも小さいことである、
請求項32に記載の方法。
【請求項34】
前記少なくとも1つの閾値は、エンコーダで決定される、
請求項33に記載の方法。
【請求項35】
前記少なくとも1つの閾値は、事前定義される、
請求項33に記載の方法。
【請求項36】
前記決定は、エンコーダ、又は、デコーダで行われる、
請求項27に記載の方法。
【請求項37】
サンプルは、フレームであり、GOSは、フレームグループ(GOF)である、
請求項11~36のいずれか1項に記載の方法。
【請求項38】
サンプルは、スライス、又は、ブロックである、
請求項11~36のいずれか1項に記載の方法。
【請求項39】
前記変換を実行するステップは、
前記点群シーケンスの少なくとも1つのPCサンプルの少なくとも1つのグローバル動きに基づいて、前記現在のPCサンプルと前記参照PCサンプルとの間の累積グローバル動きを決定するステップと、
前記累積グローバル動きに基づいて、前記変換を実行するステップと、を含む、
請求項1~10のいずれか1項に記載の方法。
【請求項40】
前記少なくとも1つのグローバル動きは、前記現在のPCサンプルと前記現在のPCサンプルの直前のPCサンプルとの間の第1グローバル動きを含み、前記第1グローバル動きは、外部で決定される、
請求項39に記載の方法。
【請求項41】
前記第1グローバル動きは、点群圧縮が実行される前に決定される、
請求項40に記載の方法。
【請求項42】
前記第1グローバル動きは、生データの一部である、
請求項41に記載の方法。
【請求項43】
前記第1グローバル動きは、前記現在のPCサンプルのグローバル動き推定に使用される、
請求項40~42のいずれか1項に記載の方法。
【請求項44】
前記現在のPCサンプルと前記参照PCサンプルとの間のフレーム距離は、距離閾値よりも大きく、前記累積グローバル動きは、外部で決定されたグローバル動きの代わりに使用される、
請求項39に記載の方法。
【請求項45】
前記累積グローバル動きは、エンコーダで決定される、
請求項39~44のいずれか1項に記載の方法。
【請求項46】
前記少なくとも1つのグローバル動きは、前記参照PCサンプル、及び、タイムスタンプ順での前記現在のPCサンプルの直前の少なくとも1つの連続するPCサンプルの、外部で決定されたグローバル動きを含む、
請求項39~45のいずれか1項に記載の方法。
【請求項47】
前記少なくとも1つのグローバル動きは、前記現在のPCサンプル、及び、タイムスタンプ順での前記参照PCサンプルの直前の少なくとも1つの連続するPCサンプルの、外部で決定されたグローバル動きを含む、
請求項39~45のいずれか1項に記載の方法。
【請求項48】
前記累積グローバル動きは、前記ビットストリーム内に示される、
請求項39~47のいずれか1項に記載の方法。
【請求項49】
前記累積グローバル動きは、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、
請求項39~48のいずれか1項に記載の方法。
【請求項50】
前記累積グローバル動きは、予測的にコーディングされる、
請求項39~48のいずれか1項に記載の方法。
【請求項51】
前記累積グローバル動きは、コンテキストコーディングでコーディングされる、
請求項39~48のいずれか1項に記載の方法。
【請求項52】
前記累積グローバル動きは、バイパスコーディングでコーディングされる、
請求項39~48のいずれか1項に記載の方法。
【請求項53】
属性インター閾値のセットは、前記現在のPCサンプルと前記少なくとも1つの参照PCサンプルの各々との間のフレーム距離に基づいて決定される、
請求項1~10のいずれか1項に記載の方法。
【請求項54】
前記少なくとも1つの参照PCサンプルの第1参照PCサンプルについて、前記属性インター閾値のセット内の少なくとも1つの属性インター閾値は、前記第1参照PCサンプルに基づいて、属性インター予測が前記現在のPCサンプルに適用される否かを決定することに使用される、
請求項53に記載の方法。
【請求項55】
前記少なくとも1つの属性インター閾値は、所定の閾値、及び、前記現在のPCサンプルと前記第1参照PCサンプルとの間のフレーム距離に基づいて決定される、
請求項54に記載の方法。
【請求項56】
前記少なくとも1つの参照PCサンプルは、第1参照PCサンプル及び第2参照PCサンプルを含み、前記第1参照PCサンプルの属性インター閾値要件は、前記第2参照PCサンプルの属性インター閾値要件よりも厳しく、前記第1参照PCサンプルと前記現在のPCサンプルとの間のフレーム距離は、前記第2参照PCサンプルと前記現在のPCサンプルとの間のフレーム距離よりも大きい、
請求項53に記載の方法。
【請求項57】
前記第1参照PCサンプルの属性インター閾値は、所定の閾値を前記第1参照PCサンプルと前記現在のPCサンプルとの間のフレーム距離で割ることで決定される、
請求項56に記載の方法。
【請求項58】
前記属性インター閾値のセットは、デコーダで決定される、
請求項53~57のいずれか1項に記載の方法。
【請求項59】
前記属性インター閾値のセットは、前記ビットストリーム内に示される、
請求項53~57のいずれか1項に記載の方法。
【請求項60】
前記現在のPCサンプルは、現在の点を含み、
前記変換を実行するステップは、
現在のPCサンプルの参照関係に基づく、前記現在のPCサンプルの探索範囲に基づいて、前記現在のPCサンプル内及び前記少なくとも1つの参照PCサンプル内の点から前記現在の点の少なくとも1つの近傍点を決定するステップと、
前記少なくとも1つの近傍点に基づいて、前記変換を実行するステップと、を含む、
請求項1~10のいずれか1項に記載の方法。
【請求項61】
前記少なくとも1つの近傍点は、前記現在の点の少なくとも1つの最近傍点を含む、
請求項60に記載の方法。
【請求項62】
前記現在のPCサンプルは、複数の参照PCサンプルを含み、前記現在のPCサンプルに使用される前記探索範囲は、前記点群シーケンスのさらなるPCサンプルに使用される探索範囲よりも小さく、前記さらなるPCサンプルは、1つの参照PCサンプルを有する、
請求項60又は61に記載の方法。
【請求項63】
前記さらなるPCサンプルに使用される前記探索範囲は、第1数で示され、前記現在のPCサンプルに使用される前記探索範囲は、前記第1数よりも小さい第2数で示される、
請求項62に記載の方法。
【請求項64】
前記第2数は、前記第1数を前記複数の参照PCサンプル内の参照PCサンプルの数で割った数に等しい、
請求項63に記載の方法。
【請求項65】
前記現在のPCサンプルは、複数の参照PCサンプルを有し、前記現在のPCサンプルに使用される前記探索範囲は、前記点群シーケンスのさらなるPCサンプルに使用される探索範囲よりも大きく、前記さらなるPCサンプルは、1つの参照PCサンプルを有する、
請求項60又は61に記載の方法。
【請求項66】
前記現在のPCサンプルは、複数の参照PCサンプルを有し、前記現在のPCサンプルに使用される前記探索範囲は、前記点群シーケンスのさらなるPCサンプルに使用される探索範囲に等しく、前記さらなるPCサンプルは、1つの参照PCサンプルを有する、
請求項60又は61に記載の方法。
【請求項67】
前記現在のPCサンプルの前記探索範囲は、前記ビットストリーム内に示される、
請求項60~66のいずれか1項に記載の方法。
【請求項68】
前記変換を実行するステップは、
前記少なくとも1つの参照PCサンプルに基づいて、前記現在のPCサンプルの八分木構造の層のセットに対してジオメトリインター予測を実行するステップを含む、
請求項1~10のいずれか1項に記載の方法。
【請求項69】
前記層のセットは、前記八分木構造の上位のN層を含み、Nは、非負の整数である、
請求項68に記載の方法。
【請求項70】
前記層のセットは、前記八分木構造の最後のN層を含み、Nは、非負の整数である、
請求項68に記載の方法。
【請求項71】
前記八分木構造は、複数の層を含み、ジオメトリコーディングは、前記八分木構造内で実行される、
請求項68~70のいずれか1項に記載の方法。
【請求項72】
ジオメトリイントラ予測は、前記八分木構造の全ての層に対して実行される、
請求項68~70のいずれか1項に記載の方法。
【請求項73】
前記少なくとも1つの参照PCサンプルは、1つの参照PCサンプルを含み、前記層のセットは、前記八分木構造の全ての層を含む、
請求項68に記載の方法。
【請求項74】
前記少なくとも1つの参照PCサンプルは、複数の参照PCサンプルを含み、前記層のセットは、前記八分木構造の上位のN層を含み、Nは、非負の整数である、
請求項68に記載の方法。
【請求項75】
Nは、所定の値である、
請求項74に記載の方法。
【請求項76】
Nは、エンコーダで決定される、
請求項74に記載の方法。
【請求項77】
Nは、前記層のセット内の各層のノードサイズに基づいて決定される、
請求項76に記載の方法。
【請求項78】
Nは、ローカル動き推定のための動きブロックのサイズに基づいて決定される、
請求項76に記載の方法。
【請求項79】
Nは、デコーダで決定される、
請求項74に記載の方法。
【請求項80】
Nは、前記層のセット内の各層のノードサイズに基づいて決定される、
請求項79に記載の方法。
【請求項81】
Nは、ローカル動き推定のための動きブロックのサイズに基づいて決定される、
請求項79に記載の方法。
【請求項82】
Nは、前記ビットストリーム内に示される、
請求項74~78のいずれか1項に記載の方法。
【請求項83】
Nは、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、
請求項82に記載の方法。
【請求項84】
Nは、予測的にコーディングされる、
請求項82に記載の方法。
【請求項85】
再構成されたPCサンプルが前記点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルである場合に、前記再構成されたPCサンプルは、一時的に保存される、
請求項1~10のいずれか1項に記載の方法。
【請求項86】
前記再構成されたPCサンプルは、エンコーダ又はデコーダで前記点群シーケンスのPCサンプルを再構成することで取得される、
請求項85に記載の方法。
【請求項87】
前記再構成されたPCサンプルは、エンコーダ及びデコーダで前記点群シーケンスのPCサンプルを再構成することで取得される、
請求項85に記載の方法。
【請求項88】
前記再構成されたPCサンプルは、前記点群シーケンスのPCサンプルの参照PCサンプルである、
請求項85~87のいずれか1項に記載の方法。
【請求項89】
前記再構成されたPCサンプルが前記少なくとも1つのPCサンプルの参照PCサンプルである場合に、前記再構成されたPCサンプルは、前記少なくとも1つのPCサンプルが処理されているときにメモリに記憶される、
請求項85に記載の方法。
【請求項90】
前記メモリは、前記再構成されたPCサンプルが他の任意のコーディング対象となるPCサンプルの参照PCではない場合に、解放される、
請求項86に記載の方法。
【請求項91】
前記現在のPCサンプルについて、前記現在のPCサンプルが前記点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルであるか否かを示す少なくとも1つの指示は存在する、
請求項86に記載の方法。
【請求項92】
前記少なくとも1つの指示の1つは、フラグである、
請求項91に記載の方法。
【請求項93】
前記フラグは、エンコーダで決定される、
請求項92に記載の方法。
【請求項94】
前記フラグは、デコーダで決定される、
請求項92に記載の方法。
【請求項95】
前記フラグは、前記ビットストリーム内に示される、
請求項92に記載の方法。
【請求項96】
前記少なくとも1つの指示の1つは、前記現在のPCサンプルを参照PCサンプルとして使用する前記少なくとも1つのPCサンプルの数である、
請求項91に記載の方法。
【請求項97】
前記数は、エンコーダで決定される、
請求項96に記載の方法。
【請求項98】
前記数は、前記少なくとも1つのPCサンプルがコーディングされているときに変更される、
請求項96又は97に記載の方法。
【請求項99】
前記数は、前記少なくとも1つのPCサンプルの1つがコーディングされた後に1つ減らされる、
請求項98に記載の方法。
【請求項100】
前記数が0に減らされた場合に、前記現在のPCサンプルを記憶するメモリは、解放される、
請求項98又は99に記載の方法。
【請求項101】
前記数は、デコーダで決定される、
請求項96に記載の方法。
【請求項102】
前記数は、前記ビットストリーム内に示される、
請求項96~100のいずれか1項に記載の方法。
【請求項103】
前記少なくとも1つの再構成されたPCサンプルをどのように記憶するかに関する情報は、前記現在のPCサンプルの前記ビットストリーム内に示される、
請求項1~10のいずれか1項に記載の方法。
【請求項104】
前記少なくとも1つの再構成されたPCサンプルの1つは、表示順でカウントされたインデックスによって識別される、
請求項103に記載の方法。
【請求項105】
前記少なくとも1つの再構成されたPCサンプルの1つは、符号化順又は復号順でカウントされたインデックスによって識別される、
請求項103に記載の方法。
【請求項106】
前記情報は、記憶対象となる再構成されたPCサンプルのセットを含む、
請求項103~105のいずれか1項に記載の方法。
【請求項107】
前記情報は、前記再構成されたPCサンプルのセットを記憶するバッファから削除されようとする再構成されたPCサンプルのセットを含む、
請求項103~105のいずれか1項に記載の方法。
【請求項108】
前記情報は、前記現在のPCサンプルの参照PCサンプルとして使用される再構成されたPCサンプルのセットを含む、
請求項103~105のいずれか1項に記載の方法。
【請求項109】
前記情報は、参照リスト内に含まれようとする再構成されたPCサンプルのセットを含む、
請求項103~105のいずれか1項に記載の方法。
【請求項110】
前記情報は、前記現在のPCサンプルの参照PCサンプルの順序を含む、
請求項103~105のいずれか1項に記載の方法。
【請求項111】
前記情報は、前記現在のPCサンプルに関連付けられた形態で前記ビットストリーム内に示される、
請求項103~110のいずれか1項に記載の方法。
【請求項112】
前記情報は、前記現在のPCサンプルと独立して前記ビットストリーム内に示される、
請求項103~110のいずれか1項に記載の方法。
【請求項113】
前記ターゲットPCサンプルは、前記現在のPCサンプルをコーディングするために、参照PCサンプルとして使用される、
請求項1~112のいずれか1項に記載の方法。
【請求項114】
PCサンプルは、
フレーム、
ピクチャ、
スライス、
タイル、
サブピクチャ、
ノード、
点、又は、
1つ又は複数のノード又は点を含むユニット、のうちの1つである、
請求項1~113のいずれか1項に記載の方法。
【請求項115】
前記変換は、前記現在のPCサンプルを前記ビットストリームに符号化すること、を含む、
請求項1~114のいずれか1項に記載の方法。
【請求項116】
前記変換は、前記ビットストリームから前記現在のPCサンプルを復号化すること、を含む、
請求項1~114のいずれか1項に記載の方法。
【請求項117】
プロセッサと命令が記憶される非一時的なメモリと、を含む、点群データを処理する装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに請求項1~116のいずれか1項に記載の方法を実行させる、装置。
【請求項118】
プロセッサに請求項1~116のいずれか1項に記載の方法を実行させる命令を記憶する、
非一時的なコンピュータ可読記憶媒体。
【請求項119】
点群処理装置によって実行される方法で生成される、点群シーケンスのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、
前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、
前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、を含む、
非一時的なコンピュータ可読記録媒体。
【請求項120】
点群シーケンスのビットストリームを記憶する方法であって、
前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、
前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体内に記憶するステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、概して、点群コーディング技術に関し、より具体的には、点群圧縮のためのマルチ参照インター予測に関する。
【背景技術】
【0002】
点群は、三次元(3D)平面内の個々のデータ点の集合であり、各点はX、Y、Z軸上に設定された座標を持つ。従って、点群は、三次元空間の物理的コンテンツを表すことに使用されることができる。点群は、拡張現実から自動運転車まで幅広い没入型アプリケーションの3Dビジュアルデータを表現する有望な方法であると判明されている。
【0003】
点群コーディング規格は、主によく知られているMPEG組織の発展を通じて進化してきた。MPEGは、Moving Picture Experts Groupの略であり、マルチメディアを扱う主な標準化グループの1つである。2017において、MPEG 3Dグラフィックスコーディンググループ(3DG)は、点群コーディング規格の開発を開始する発表募集(CFP)書類を発行した。最終的な規格は2つのクラスの方案を含むようになる。ビデオベースの点群圧縮(V-PCC又はVPCC)は、点が比較的均一に分布される点集合に適する。ジオメトリベースの点群圧縮(G-PCC又はGPCC)は、より疎な分布に適する。しかし、従来の点群コーディング技術のコーディング効率は、一般的に更なる改善が期待されている。
【発明の概要】
【0004】
本開示の実施形態は、点群コーディングの方案を提供する。
【0005】
第1態様では、点群コーディング方法を提案する。前記方法は、点群シーケンスの現在の点群(PC)サンプルと前記点群シーケンスのビットストリームとの間の変換中、前記現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて変換を実行するステップと、を含む。
【0006】
本開示の第1態様による方法によれば、現在のPCサンプルの参照PCサンプルとして使用されるターゲットPCサンプルは、少なくとも1つの再構成されたPCサンプルに基づいて生成される。従来の方案と比較して、提案した方法は、フレームのインター予測の効率及び品質を有利に改善するため、点群処理効率及び品質を向上させることができる.
【0007】
第2態様では、点群データを処理する装置を提案する。前記点群データを処理する装置は、プロセッサと、命令が記憶される非一時的メモリと、を含む。前記命令は、前記プロセッサによって実行されると、前記プロセッサに本開示の第1態様による方法を実行させる。
【0008】
第3態様では、非一時的なコンピュータ可読記憶媒体を提案する。前記非一時的なコンピュータ可読記憶媒体は、プロセッサに本開示の第1態様による方法を実行させる命令を記憶する。
【0009】
第4態様では、他の非一時的なコンピュータ可読記録媒体を提案する。非一時的なコンピュータ可読記録媒体は、点群処理装置によって実行される方法で生成される、点群シーケンスのビットストリームを記憶する。前記方法は、前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、を含む。
【0010】
第5態様では、点群シーケンスのビットストリームを記憶するための方法を提案する。前記方法は、前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体内に記憶するステップと、を含む。
【0011】
この発明の概要は、以下の詳細な説明でさらに記述される概念の選択を簡略化した形で紹介するために提供される。この発明の概要は、請求される技術的事項の主な特徴又は本質的な特徴を特定することを意図したものではなく、また、請求される技術的事項の範囲を制限するために使用されることを意図したものでもない。
【図面の簡単な説明】
【0012】
添付の図面を参照した以下の詳細な説明を通じて、本開示の例示的な実施形態の上記及び他の目的、特徴、及び利点がより明らかになるであろう。本開示の例示的な実施形態では、同じ参照番号は、通常、同じコンポーネントを指す。
【0013】
図1】本開示の技術を利用できる例示的な点群コーディングシステムを示すブロック図である。
【0014】
図2】本開示のいくつかの実施形態による例示的な点群エンコーダを示すブロック図である。
【0015】
図3】本開示のいくつかの実施形態による例示的な点群デコーダを示すブロック図である。
【0016】
図4】予測的ジオメトリコーディングのためのインター予測の一例を示す概略図を示す。
【0017】
図5】GOFサイズが8であるフレームグループ(GOF)構造の一例を示す概略図を示す。
【0018】
図6】1つのGOFの階層的参照関係の一例を示す概略図を示す。
【0019】
図7】1つのGOFの階層的参照関係のもう一例を示す概略図を示す。
【0020】
図8】子ノードの予測方向を導出する一例を示す概略図を示す。
【0021】
図9】1つのIPPP GOF構造の参照関係の一例を示す概略図を示す。
【0022】
図10】本開示のいくつかの実施形態による点群コーディング方法のフローチャートを示す。
【0023】
図11】本開示の様々な実施形態を実施できるコンピューティングデバイスのブロック図を示す。
【0024】
図面の全体にわたって、同じ又は類似の参照番号は、通常、同じ又は類似の要素を指す。
【発明を実施するための形態】
【0025】
以下、いくつかの実施形態を参照しながら本開示の原理を説明する。これらの実施形態は、例示の目的で、かつ、当業者が本開示を理解して実施することに寄与するために記載されるにすぎず、本開示の範囲に関していかなる限定も示唆しないと理解すべきである。本明細書に記載の開示は、以下に記載する方法以外にも、様々な方法で実施することができる。
【0026】
以下の説明及び特許請求の範囲において、別段の定義がない限り、本明細書で使用されるすべての技術用語及び科学用語は、本開示が属する技術分野の当業者によって一般に理解されるものと同じ意味を有する。
【0027】
本開示における「一つの実施形態」、「一実施形態」、「例示的な実施形態」などへの言及は、記載される実施形態が、特定の特徴、構造、又は特性を含み得ることを示すが、必ずしもすべての実施形態が、特定の特徴、構造、又は特性を含むとは限らない。また、そのような語句は、必ずしも同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性が、例示的な実施形態に関連して説明される場合、明示的に記載されているかどうかにかかわらず、他の実施形態に関連して、そのような特徴、構造、又は特性に影響を与えることは、当業者の知識の範囲内であることが指摘される。
【0028】
「第1」及び「第2」などの用語は、本明細書では、様々な要素を説明するために使用され得るが、これらの要素は、これらの用語によって限定されるべきではないことを理解すべきである。これらの用語は、ある要素を別の要素と区別するためにのみ使用されている。例えば、例示的な実施形態の範囲から逸脱することなく、第1の要素が第2の要素と呼ばれ得る。同様に、第2の要素が第1の要素と呼ばれ得る。本明細書で使用される「及び/又は」という用語には、列挙された用語の1つ又は複数のあらゆる組み合わせが含まれる。
【0029】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、例示的な実施形態を限定することを意図したものではない。本明細書で使用されるように、単数形「a(一つの)」、「an(一つの)」、及び「the(その)」は、文脈上明らかに別段の指示がない限り、複数形も含むものとする。「含む」、「備える」、「有する」、「持つ」、「含む」、及び/又は「包含する」という用語は、本明細書で使用される場合、記載された特徴、要素、及び/又は、コンポーネントなど、の存在を特定するが、1つ又は複数の他の特徴、要素、コンポーネント、及び/又は、それらの組み合わせの存在又は追加を排除するものではないことが、さらに理解されるであろう。
例示的な環境
【0030】
図1は、本開示の技術を利用できる例示的な点群コーディングシステム100を示すブロック図である。図示されるように、点群コーディングシステム100はソースデバイス110及び宛先デバイス120を含み得る。ソースデバイス110は点群符号化デバイスとも呼ばれることができ、宛先デバイス120は点群復号化デバイスとも呼ばれることができる。動作中、ソースデバイス110は符号化された点群データを生成するように構成されることができ、宛先デバイス120はソースデバイス110により生成された符号化の点群データを復号するように構成されることができる。本開示の技術は、概して、点群データのコーディング(符号化及び/又は復号化)、即ち、点群圧縮のサポートを対象とする。コーディングは、点群データの圧縮及び/又は解凍に効果的であり得る。
【0031】
ソースデバイス100及び宛先デバイス120は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォン及びモバイルフォンなどの電話機、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス、地上車両又は海洋車両、宇宙船、航空機、ロボット、LIDARデバイス、衛星、拡張現実デバイスなど含む幅広いデバイスのいずれかを含み得る。いくつかの場合に、ソースデバイス100及び宛先デバイス120は、無線通信用に装備され得る。
【0032】
ソースデバイス100は、データソース112、メモリ114、GPCCエンコーダ116、及び入力/出力(I/O)インターフェース118を含み得る。宛先デバイス120は、入力/出力(I/O)インターフェース128、GPCCデコーダ126、メモリ124、及びデータコンシューマー122を含み得る。本開示によれば、ソースデバイス100のGPCCエンコーダ116及び宛先デバイス120のGPCCデコーダ126は、点群コーディングに関連する本開示の技術を適用するように構成され得る。従って、ソースデバイス100は符号化デバイスの一例を表し、宛先デバイス120は復号化デバイスの一例を表す。他の例では、ソースデバイス100及び宛先デバイス120は他のコンポーネント及び配置を含み得る。例えば、ソースデバイス100は、内部ソース又は外部ソースからデータ(例えば、点群データ)を受信し得る。同様に、宛先デバイス120は、本デバイス内にデータコンシューマーを含まず、外部のデータコンシューマーとインターフェースし得る。
【0033】
概して、データソース112は、点群データ(即ち、符号化されていない生点群データ)のソースを表し、点群データの連続した一連の「フレーム」を、フレームの点群データを符号化するGPCCエンコーダ116へ提供し得る。いくつかの例では、データソース112は点群データを生成する。ソースデバイス100のデータソース112は、例えば、1つ又は複数のビデオカメラ、以前に捕捉された点群データを格納するアーカイブ、3Dスキャナ又はLIDAR(Light Detection And Ranging)デバイス、及び/又は、データコンテンツプロバイダーから点群データを受信するためのデータフィードインターフェースなど、様々なカメラ又はセンサのいずれかのような点群キャプチャデバイスを含み得る。従って、いくつかの例では、データソース112は、LIDAR装置からの信号に基づいて点群データを生成し得る。代替的又は追加的に、点群データは、スキャナ、カメラ、センサ又は他のデータからコンピュータにより生成されてもよい。例えば、データソース112は、点群データを生成してもよく、又は、ライブ点群データ、アーカイブされた点群データ、及びコンピュータにより生成された点群データの組み合わせを作成してもよい。いずれの場合にも、GPCCエンコーダ116は捕捉された点群データ、事前捕捉された点群データ、又はコンピュータにより生成された点群データを符号化する。GPCCエンコーダ116は、点群データのフレームを、受信順(「表示順」と呼ばれることもがる)からコーディングするためのコーディング順に並べ替え得る。GPCCエンコーダ116は符号化された点群データを含む1つ又は複数のビットストリームを生成し得る。そして、ソースデバイス100は、例えば、宛先デバイス120のI/Oインターフェース128による受信及び/又は取得のために、I/Oインターフェース118を介して符号化された点群データを出力する。符号化された点群データはI/Oインターフェース118を介してネットワーク130Aを通じて宛先デバイス120へ直接送信され得る。符号化された点群データは、宛先デバイス120によってアクセスされるように記憶媒体/サーバ130Bに記憶され得る。
【0034】
ソースデバイス100のメモリ114及び宛先デバイス120のメモリ124は汎用メモリを表し得る。いくつかの例では、メモリ114及びメモリ124は、生点群データ、例えば、データソース112からの生点群データ及びGPCCデコーダ126からの復号された生点群データを格納することができる。追加的又は代替的に、メモリ114及びメモリ124は、例えばGPCCエンコーダ116及びGPCCデコーダ126のそれぞれによって実行可能なソフトウェア命令を格納してもよい。この例において、メモリ114及びメモリ124はGPCCエンコーダ116及びGPCCデコーダ126と別個に示されているが、GPCCエンコーダ116及びGPCCデコーダ126は機能上同様又は同等の目的で内部メモリを含み得ると理解すべきである。さらに、メモリ114及びメモリ124は、符号化された点群データ(例えばGPCCエンコーダ116からの出力、及びGPCCデコーダ126への入力)を格納し得る。いくつかの例では、メモリ114及びメモリ124の一部は、例えば、生点群データ、復号された点群データ、及び/又は符号化された点群データを格納するために1つ又は複数のバッファとして割り当てられ得る。例えば、メモリ114及びメモリ124は、点群データを格納し得る。
【0035】
I/Oインターフェース118及びI/Oインターフェース128は、無線送信機/受信機、モデム、有線ネットワーキングコンポーネント(例えば、イーサネットカード)、様々なIEEE802.11規格のいずれかに従って動作する無線通信コンポーネント、又は他の物理的コンポーネントを表し得る。I/Oインターフェース118及びI/Oインターフェース128が無線コンポーネントを含む例では、I/Oインターフェース118及びI/Oインターフェース128は、4G、4G-LTE(Long-Term Evolution)、LTEアドバンスト、5Gなどのようなセルラー通信規格に従って、符号化された点群データなどのデータを送信するように構成され得る。I/Oインターフェース118が無線送信機を含むいくつかの例では、I/Oインターフェース118及びI/Oインターフェース128は、IEEE802.11仕様などの他の無線規格に従って、符号化された点群データなどのデータを送信するように構成され得る。いくつかの例では、ソースデバイス100及び/又は宛先デバイス120は、それぞれのSoC(system-on-a-chip)デバイスを含み得る。例えば、ソースデバイス100は、GPCCエンコーダ116及び/又はI/Oインターフェース118に起因する機能を実行するSoCデバイスを含み得、宛先デバイス120は、GPCCデコーダ126及び/又はI/Oインターフェース128に起因する機能を実行するSoCデバイスを含み得る。
【0036】
本開示の技術は、自動運転車の間の通信、スキャナ、カメラ、センサ、ローカル又はリモートサーバなどの処理デバイスとの間の通信、地理的マッピング、又は他の応用などの様々な応用のいずれかをサポートする符号化及び復号化に適用されることができる。
【0037】
宛先デバイス120のI/Oインターフェース128は、ソースデバイス110から符号化されたビットストリームを受信する。符号化されたビットストリームは、点群を表す値を有する構文要素などのシグナリング情報を含み、当該シグナリング情報は、GPCCエンコーダ116によって定義され、GPCCデコーダ126によっても使用される。データコンシューマー122は復号されたデータを使用する。例えば、データコンシューマー122は、復号された点群データを使用して物理的オブジェクトの位置を決定し得る。いくつかの例では、データコンシューマー122は、点群データに基づいて画像を表示するためのディスプレイを含み得る。
【0038】
GPCCエンコーダ116及びGPCCデコーダ126は、それぞれ、1つ又は複数のマイクロプロセッサ、DSP(digital signal processor)、ASIC(application specific integrated circuit)、FPGA(field programmable gate array)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらの組み合わせなどの様々な適切なエンコーダ及び/又はデコーダ回路のいずれかとして実装され得る。当該技術が部分的にソフトウェアで実装される場合、デバイスは、適切な非一時的なコンピュータ可読媒体にソフトウェア用の命令を格納し、そして、1つ又は複数のプロセッサを使用してハードウェアで命令を実行することで、本開示の技術を実行し得る。GPCCエンコーダ116及びGPCCデコーダ126の各々は、1つ又は複数のエンコーダ又はデコーダに含まされてよく、どちらがそれぞれのデバイス内の複合エンコーダ/デコーダ(コーデック))の一部として集積されてもよい。GPCCエンコーダ116及び/又はGPCCデコーダ126を含むデバイスは、1つ又は複数の集積回路、マイクロプロセッサ、及び/又は他のタイプのデバイスを含み得る。
【0039】
GPCCエンコーダ116及びGPCCデコーダ126は、ビデオ点群圧縮(VPCC)規格又はジオメトリ点群圧縮(GPCC)規格などのコーディング規格に従って動作し得る。本開示は、データを符号化又は復号する処理を含むフレームのコーディング(例えば、符号化及び復号化)を指す場合がある。符号化されたビットストリームは、通常、コーディング決定(例えば、コーディングモード)を表す構文要素の一連の値を含む。
【0040】
点群は、3D空間内の点集合を含み、点に関連付けられる属性を有する。属性は、R、G、BやY、Cb、Crなどの色情報、反射率情報、又は他の属性であり得る。点群は、LIDARセンサ及び3Dスキャナなどの様々なカメラやセンサによって取得される場合がり、コンピュータで生成される場合もある。点群データは、建築(造形)、グラフィックス(視覚化及びアニメーション用の3Dモデル)、及び自動車産業(ナビゲーションに使用されるLIDARセンサ)を含む様々な応用に使用されるが、これらに限定されない。
【0041】
図2は、本開示のいくつかの実施形態による、図1に示すシステム100内のGPCCエンコーダ116の一例であり得るGPCCエンコーダ200の一例を示すブロック図である。図3は、本開示のいくつかの実施形態による、図1に示すシステム100内のGPCCデコーダ126の一例であり得るGPCCデコーダ300の一例を示すブロック図である。
【0042】
GPCCエンコーダ200及びGPCCデコーダ300の両方において、点群位置は最初にコーディングされる。属性コーディングは、復号されたジオメトリに依存する。図2及び図3において、領域適応階層変換(RAHT)ユニット218、表面近似ユニット212、RAHTユニット314及び表面近似合成ユニット310は、カテゴリ1のデータに通常使用されるオプションである。LOD(Level of Detail)生成ユニット220、リフティングユニット222、LOD生成ユニット316及び逆リフティングユニット318は、カテゴリ3のデータに通常使用されるオプションである。他のすべてのユニットはカテゴリ1とカテゴリ3との間で共通される。
【0043】
カテゴリ3のデータの場合に、圧縮されたジオメトリは、典型的に、根から個々のボクセルの葉レベルで至る八分木として表される。カテゴリ1のデータの場合に、圧縮されたジオメトリは、典型的に、プルーニングされた八分木(即ち、根からボクセルよりも大きいブロックの葉レベルまでの八分木)とプルーニングされた八分木の各葉内の表面を近似するモデルによって現れる。このようにして、カテゴリ1及び3のデータの両方は八分木のコーディングメカニズムを共有するが、カテゴリ1のデータは、それに加えて表面モデルを使用して各葉内のボクセルを近似し得る。使用される表面モデルは、ブロックごとに1~10個の三角形を含む三角形分割であり、三角形スープが生成される。カテゴリ1のジオメトリコーデックは、Trisoupジオメトリコーデックとして知られており、カテゴリ3ジオメトリのコーデックは、八分木ジオメトリコーデックとして知られている。
【0044】
図2の例では、GPCCエンコーダ200は、座標変換ユニット202、色変換ユニット204、ボクセル化ユニット206、属性転送ユニット208、八分木解析ユニット210、表面近似解析ユニット212、算術符号化ユニット214、ジオメトリ再構成ユニット216、RAHTユニット218、LOD生成ユニット220、リフティングユニット222、係数量子化ユニット224、及び算術符号化ユニット226を含み得る。
【0045】
図2の例に示されるように、GPCCエンコーダ200は、位置のセット及び属性のセットを受信し得る。位置は、点群における点の座標を含み得る。属性は、点群における点に関連つけられた色など、点群における点に関する情報を含み得る。
【0046】
座標変換ユニット202は、座標を初期領域から変換領域に変換するために、点の座標に変換を適用し得る。本開示は、変換された座標を変換座標と呼ぶことがある。色変換ユニット204は、属性の色情報を異なる領域に変換するために変換を適用し得る。例えば、色変換ユニット204は、色情報をRGB色空間からYCbCr色空間に変換し得る。
【0047】
さらに、図2の例では、ボクセル化ユニット206は、変換座標をボクセル化し得る。変換座標のボクセル化は、量子化すること及び点群のいくつかの点を除去するステップを含み得る。言い換えれば、点群の複数の点は、単一の「ボクセル」内に包含されることができ、単一の「ボクセル」は、それ以降いくつかの観点において1つの点として扱われ得る。さらに、八分木解析ユニット210は、ボクセル化された変換座標に基づいて八分木を生成し得る。さらに、図2の例では、表面近似解析ユニット212は、点を解析して点セットの表面表現潜在的に決定し得る。算術符号化ユニット214は、表面近似解析ユニット212によって決定された八分木及び/又は表面の情報を表す構文要素に対して算術符号化を実行し得る。GPCCエンコーダ200は、ジオメトリビットストリーム内でこれらの構文要素を出力し得る。
【0048】
ジオメトリ再構成ユニット216は、八分木、表面近似解析ユニット212によって決定された表面を示すデータ、及び/又は他の情報に基づいて、点群における点の変換座標を再構成し得る。ジオメトリ再構成ユニット216によって再構成された変換座標の数は、ボクセル化及び表面近似のため、点群の点の元の数と異なることがある。本開示では、得られる点を再構成された点と呼ぶことがある。属性転送ユニット208は、点群の元の点の属性を点群データの再構成された点に転送し得る。
【0049】
さらに、RAHTユニット218は、再構成された点の属性にRAHTコーディングを適用し得る。代替的又は追加的に、LOD生成ユニット220及びリフティングユニット222は、それぞれ、再構成された点の属性にLOD処理及びリフティングを適用してもよい。RAHTユニット218及びリフティングユニット222は、属性に基づいて係数を生成し得る。係数量子化ユニット224は、RAHTユニット218又はリフティングユニット222によって生成された係数を量子化し得る。算術符号化ユニット226は、量子化された係数を表す構文要素に対して算術コーディングを適用し得る。GPCCエンコーダ200は、属性ビットストリーム内でこれらの構文要素を出力し得る。
【0050】
図3の例では、GPCCデコーダ300は、ジオメトリ算術復号化ユニット302、属性算術復号化ユニット304、八分木合成ユニット306、逆量子化ユニット308、表面近似合成ユニット310、ジオメトリ再構成ユニット312、RAHTユニット314、LOD生成ユニット316、逆リフティングユニット318、座標逆変換ユニット320、及び色逆変換ユニット322を含み得る。
【0051】
GPCCデコーダ300は、ジオメトリビットストリーム及び属性ビットストリームを取得し得る。デコーダ300のジオメトリ算術復号化ユニット302は、算術復号化(例えば、CABAC又は他のタイプの算術復号化)をジオメトリビットストリーム内の構文要素に適用し得る。同様に、属性算術復号化ユニット304は、算術復号化を属性ビットストリーム内の構文要素に適用し得る。
【0052】
八分木合成ユニット306は、ジオメトリビットストリームからパースされた構文要素に基づいて八分を合成し得る。表面近似がジオメトリビットストリームにおいて使用される事例では、表面近似合成ユニット310は、ジオメトリビットストリームからパースされた構文要素及び八分木に基づいて表面モデルを決定し得る。
【0053】
さらに、ジオメトリ再構成ユニット312は、点群の点の座標を決定するために再構成を実行し得る。座標逆変換ユニット320は、再構成された座標に逆変換して、点群の点の再構成された座標(位置)を変換領域から初期領域に戻して変換し得る。
【0054】
さらに、図3の例では、逆量子化ユニット308は、属性値を逆量子化し得る。属性値は、(例えば、属性算術復号化ユニット304によって復号された構文要素を含む)属性ビットストリームから取得された構文要素に基づくものであり得る。
【0055】
属性値がどのように符号化されるかに応じて、RAHTユニット314は、RAHTコーディングを実行して、逆量子化された属性値に基づいて点群の点についての色値を決定し得る。代替的に、LOD生成ユニット316及び逆リフティングユニット318は、詳細レベルで基づく技法を使用して点群の点についての色値を決定してもよい。
【0056】
さらに、図3の例では、色逆変換ユニット322は、色値に逆色変換を適用し得る。逆色変換は、エンコーダ200の色変換ユニット204によって適用された色変換の逆であり得る。例えば、色変換ユニット204は、色情報をRGB色空間からYCbCr色空間に変換し得る。よって、色逆変換ユニット322は、色情報をYCbCr色空間からRGB色空間に変換し得る。
【0057】
図2及び図3の様々なユニットは、エンコーダ200及びデコーダ300によって実施される動作の理解を支援するために示されている。ユニットは、固定機能回路、プログラマブル回路、又はそれらの組合せとして実装され得る。固定機能回路は、特定の機能を提供する回路を指し、実施され得る動作に関してあらかじめ設定される。プログラマブル回路は、様々なタスクを実施するとともに、実施され得る動作においてフレキシブルな機能を提供するようにプログラミングされることができる回路を指す。例えば、プログラマブル回路は、ソフトウェア又はファームウェアの命令によって定義された態様でプログラマブル回路を動作させるソフトウェア又はファームウェアを実行し得る。固定機能回路は、(例えば、パラメータを受信する、又は、パラメータを出力するために)ソフトウェア命令を実行し得るが、固定機能回路が実施する動作のタイプは、概して不変である。いくつかの例では、ユニットのうちの1つ又は複数は、別個の回路ブロック(固定機能又はプログラマブル)であり得、いくつかの例では、ユニットのうちの1つ又は複数は、集積回路であり得る。
【0058】
以下、本開示のいくつかの例示的な実施形態について詳細に説明する。本明細書では、理解を容易にするためにセクション見出しが使用されているが、セクションで開示される実施形態をそのセクションのみに限定するものではないことを理解すべきである。さらに、特定の実施形態が多用途のGPCC又は他の特定の点群コーデックを参照して説明するが、開示技術は、他の点群コーディング技術にも適用可能である。さらに、いくつかの実施形態は、点群コーディングステップを詳細に説明するが、コーディングを元に戻す対応のステップである復号化はデコーダによって実施されることが理解されるであろう。
1.概要
本開示は、点群コーディング技術に関する。特に、点群コーディングにおけるコーディングパラメータのコーディング及びカプセル化に関する。このアイデアは、点群コーディング規格、又は、例えば開発中のジオメトリベースの点群圧縮(G-PCC)の規格外の点群コーディングに個別に又は様々な組み合わせで適用され得る。
2.略語
G-PCC ジオメトリベースの点群圧縮
MPEG ムービングピクチャーエクスパーツグループ
3DG 3Dグラフィックスコーディンググループ
CFP 発表募集
V-PCC ビデオベースの点群圧縮
CE コア実験
EE 探査実験
inter-EM インター探査モデル
GOF フレームグループ
RDO レート歪み最適化
GM グローバル動き
QP 量子化パラメータ
RA ランダムアクセス
FIFO 先入先出
OC 占有コード
POC ピクチャ順序カウント
PC 点群
3.背景
点群コーディング規格は、主によく知られているMPEG組織の発展を通じて進化してきた。MPEGは、Moving Picture Experts Groupの略であり、マルチメディアを扱う主な標準化グループの1つである。2017において、MPEG 3Dグラフィックスコーディンググループ(3DG)は、点群コーディング規格の開発を開始する発表募集(CFP)書類を発行した。最終的な規格は2つのクラスの方案を含むようになる。ビデオベースの点群圧縮(V-PCC)は、点が比較的均一に分布される点集合に適する。ジオメトリベースの点群圧縮(G-PCC)は、より疎な分布に適する。
G-PCCにおける将来の点群コーディング技術を探索するために、コア実験(CE)13.5及び探査実験(EE)13.2は設立されて、G-PCCにおけるインター予測技術が開発された。それ以来、多くの新のインター予測方法は、MPEGに採用されて、インター探査モデル(inter-EM)と命名された参照ソフトウェアに組み込まれている。
1つの点群フレームには、3Dオブジェクト又はシーンを記述するための多数のデータ点がある。データ点ごとに、対応するジオメトリ情報及び属性情報が存在し得る。ジオメトリ情報は、データ点の空間的位置を記録するために使用される。属性情報は、テクスチャ、法線ベクトル及び反射などのデータ点の詳細を記録するために使用される。inter-EM内では、ジオメトリ情報及び属性情報のコーディング及び復号化をそれぞれサポートするオプションのツールがいくつかある。
属性情報について、コーデックは、参照点の属性情報を使用して、現在のフレーム内の各点に対するインター予測を実行する。当該参照点は、点のジオメトレク距離に基づいて、現在のフレーム及び参照フレーム内のデータ点から選択される。各参照点は、現在の点からのジオメトレク距離に基づく1つの重み値に対応する。予測属性値は、参照点の属性値の加重平均値、又は、参照点の属性値の1つであり得る。予測属性値の決定は、レート歪み最適化(RDO)方法に基づくものである。
ジオメトリ情報について、インター予測コーディングを実行する主な方法は2つがあり、これらは、八分木ベースの方法及び予測木ベースの方法である。
第1方法では、ジオメトリ情報は、八分木構造及び各ノードの占有コード(OC)によって表れる。現在のフレームの八分木内の各ノードについて、コーデックは、現在のノード内の点の数に基づいて、八角形の分割を実行するか否かを決定する。参照フレーム内の対応する参照ノードに対して同じ分割が実行される。同時に、現在のノード及び参照ノードの占有コードは計算される。コーデックは、参照ノードの占有コードを使用して、現在のノードの占有コードの予測コーディングを実行する。
第2方法では、予測木を形成するために、点群内の点をソートする。図4に示すように、各点について、前の復号された点は点Aとして選択される。次に、参照フレーム内の、点Aと同じスケール方位角及びレーザIDを有する点は、点Bとして選択される。最後に、参照フレーム内の、点Bのスケール方位角よりも大きいスケール方位角を有する点のうち、最初の点は、点Cとして選択される。コーデックは、点Cのジオメトリ情報を使用して現在の点のジオメトリ情報に対する予測コーディングを実行する。
現在のinter-EMでは、IPPP構造は適用され、つまり、現在のフレームがインター予測を適用する場合に、現在のフレームの参照フレームは、それの前のフレームである。同時に、inter-EMは、量子化パラメータ(QP)を使用してビットレート点を制御し、全てのフレームは、同じQP値を共有する。
4.問題点
点群圧縮のインター予測のための既存の設計は、以下の問題点を有する:
1.現在のinter-EMでは、各フレームについて、インター予測を実行するための参照フレームは1つのみ存在する。理論上、参照情報が多いほど、予測結果の精度が高くなる。1つのみの参照フレームを使用すると、予測精度が制限され、コーディング効率に影響する。
2.現在のinter-EMでは、参照フレームは、タイムスタンプが比較的古い(つまり、POC値が小さい)フレームのみである。インター予測の目的は、連続するフレームの間の冗長情報を排除することである。しかしながら、冗長情報は、前のフレームと現在のフレームとの間だけでなく、現在のフレームと次のフレームとの間にも存在する。タイムスタンプが比較的古いフレームのみを使用すると、コーディングのパフォーマンスが制限される。
3.現在のinter-EMでは、各フレームのQP値は同じである。しかしながら、いくつのフレームは、他のフレームの参照フレームであり、つまり、それらのコーディング優先度は高いはずである。送信リソースが限られている場合に、それらをより正確に送信できるように、より低いQP値を割り当てる必要がある。送信リソースがかなり限られている場合には、全てのフレームに対して同じコーディング精度を適用すると、コーディングのパフォーマンスに影響する。
5.詳細な解決方案
上記の問題及び言及していない他のいくつかの問題を解決するために、以下のように要約される方法を開示する。解決方案は、一般的な概念を説明するための例として考慮されるべきであり、狭く解釈されるべきではない。さらに、これらの解決方案は、任意の態様で組み合わせて適用することもできる。
以下の説明では、「PCサンプル」という用語は、点群シーケンスコーディング内で予測コーディングを実行するユニットを指し、例えば、フレーム/ピクチャ/スライス/タイル/サブピクチャ/ノード/点/1つ又は複数のノード、又は、点を含む他のユニットを指す。
1)点群圧縮を実行するために、1つの点群シーケンス内でフレームを1つ又は複数のフレームグループ(GOF)に分割することは提案される。
a.一例では、タイムスタンプ順でのN個の連続するフレームは、1つのGOFとしてクラスタ化され得る。
i.一例では、各フレームは、1つのGOFに属し得る。
ii.一例では、NはGOFサイズに等しいであり得る。
b.一例では、復号順でのGOFの最初のフレームは、I-フレームであり得る。
i.一例では、I-フレームに対して、イントラ予測のみがある。
c.一例では、復号順でのGOFの最初のフレームは、I-フレームではない。
i.一例では、復号順でのGOFの最初のフレームは、P-フレームであり得る。
ii.一例では、復号順でのGOFの最初のフレームは、タイムスタンプ順で全ての参照フレームが現在のフレームよりも前にあるP-フレーム、又は、B-フレームであり得る。
d.復号順に従ってI-フレームでGOFの最初のフレームをコード化するか否かは、イントラ期間/ランダムアクセス期間に依存し得る。
e.一例では、GOFサイズは、イントラ期間/ランダムアクセス期間と等しいであり得る。
f.一例では、GOFサイズは、イントラ期間/ランダムアクセス期間よりも小さいであり得る。
g.一例では、GOFサイズ及び/又はGOF内のコーディング構造の指示は、シグナリングされ得る。
2)1つ又は複数の参照PCサンプルを使用して現在のPCサンプルのインター予測を実行することは提案される。
a.一例では、現在のPCサンプルについて、1つ又は複数の参照PCサンプルが存在し得る。
b.一例では、複数の参照PCサンプルは、異なる参照スライス/フレームからのものであり得る。
i.又は、複数の参照PCサンプルは、同じ参照スライス/フレームからのものであり得る。
c.一例では、1つの参照PCサンプルは、少なくとも1つのサンプルから導出され得る。
i.一例では、1つの参照PCサンプルは、1つのPC再構成サンプルであり得る。
ii.一例では、1つの参照PCサンプルは、手順を少なくとも1つのPC再構成サンプルに適用した結果であり得る。例えば、手順は、サンプリング又はアップサンプリングであり得る。
iii.一例では、1つの参照PCサンプルは、複数のPCサンプルからのマージされたPCサンプルであり得る。
(1)一例では、複数のPCサンプルのマージされたPCサンプルは、PCサンプル内の全ての点のクラスタであり得る。
(2)又は、複数のPCサンプルのマージされたPCサンプルは、PCサンプル内の一部の点のクラスタであり得る。
a)一例では、一部の点は、ダウンサンプリング処理によって生成される。
iv.一例では、1つの参照PCサンプルは、手順を複数のPC再構成サンプルからの少なくとも1つのマージサンプルに適用した結果であり得る。例えば、手順は、例えばサンプリング又はアップサンプリングであり得る。
d.一例では、参照PCサンプルは、現在のPCサンプルと同じスライス/フレームからのものであり得る。
e.又は、さらに、複数の参照PCサンプルを使用するかの指示は、デコーダへシグナリングされ得る。
f.一例では、現在のPCサンプルの参照情報(例えば、参照PCサンプルがどこからのものであること、及び/又は、どの参照PCサンプルが使用されること)は、デコーダで導出され得る。
g.一例では、現在のPCサンプルの参照情報(例えば、参照PCサンプルがどこからのものであること、及び/又は、どの参照PCサンプルが使用されること)は、デコーダで導出され得る。
i.一例では、参照方向は、シグナリングされ得る。
(1)一例では、参照方向は、以下のものを含む:
a)参照方向は、第1参照リスト(L0と表記)内の参照フレームからの単方向予測であり得る。
b)参照方向は、第2参照リスト(L1と表記)内の参照フレームからの単方向予測であり得る。
c)参照方向は双方向予測(L0内の第1参照フレーム及びL1内の第2参照フレーム)であり得る。
(2)一例では、参照リスト内の参照フレームの相対位置は、1つのGOF内の特定のフレームに対して固定され得る。
a)一例では、表示順で以前にコード化されたN(例えば、N=2)個のフレームは、参照フレームとして利用され得る。
i.又は、さらに、Nの指示は、シグナリングされ得る。
ii.又は、さらに、N個のフレームは、特定の現在のフレームの直前に連続する、以前にコード化されたフレームである。
b)一例では、参照リスト内の参照フレームの相対位置は、GOF内の特定のフレームに対して適応的であり得る。例えば、当該位置は、GOFサイズに基づいて導出され得る。
(3)一例では、参照方向は、例えば、参照ピクチャリスト情報に従って、条件付きでシグナリングされ得る。
ii.一例では、参照PCサンプルの元となる参照フレームの指示は、シグナリングされ得る
(1)参照フレームの指示は、参照リストインデックス(L0、又は、L1)及び参照リスト内の参照フレームインデックスとしてシグナリングされ得る。
a)又は、必要に応じて、参照方向、及び各方向の参照フレームインデックスによってシグナリングされ得る。
(2)参照リストインデックスは、条件付きでシグナリングされ得る。
a)1つの参照リストが1つのみ存在する場合に、参照リストインデックスのシグナリングは、スキップされ得る。
(3)参照リストの参照フレームインデックスは、条件付きでシグナリングされ得る。
a)参照リスト内に1つの参照フレームのみが存在する場合に、参照フレームインデックスのシグナリングは、スキップされ得る。
iii.又は、さらに、参照PCサンプルの数の指示は、デコーダへシグナリングされ得る。
iv.さらに、サンプルについて、少なくとも1つの参照PCサンプルを指す少なくとも1つの指示は、参照関係を示すためにデコーダにシグナリングされ得る。
(1)指示は、例えば、1つ前のサンプルではなく、他のサンプルを参照PCサンプルとして使用するか否かに応じて、条件付きでシグナリングされ得る。
(2)指示は、参照PCサンプルとして使用される関連サンプルを示すいくつかのインデックス(例えば、サンプルid)によって表れ得る。
(3)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(4)当該指示は、予測的にコーディングされ得る。
v.一例では、少なくとも1つの参照サンプル。
h.一例では、参照PCサンプルのジオメトリ情報は、現在のPCサンプルのジオメトリインター予測を実行するために使用され得る。
i.一例では、参照PCサンプルのジオメトリ情報は、現在のPCサンプルの予測ジオメトリ値を導出するために使用され得る。
(1)一例では、予測ジオメトリ値は、いくつかの候補予測子から選択され得る。
a)候補予測子は、参照サンプルの1つ又は複数のジオメトリ値によって導出され得る。
b)候補予測子は、参照PCサンプルの1つ又は複数のジオメトリ値の関数によって導出され得る。
c)候補予測子は、現在のPCサンプル又は以前に復号されたサンプルの1つ又は複数の予測ジオメトリ値によって導出され得る。
d)候補予測子は、現在のPCサンプル又は以前に復号されたサンプルの1つ又は複数の予測ジオメトリ値の関数として導出され得る。
(2)一例では、候補予測子は、平均値、加重平均値、参照PCサンプルのジオメトリ情報の1つなどを含むが、これらに限定されない。
(3)一例では、予測子の選択は、レート最適化方法、歪み最適化方法、RDO方法などに基づいて行われ得る。
(4)一例では、選択は、デコーダで導出され得る。
(5)一例では、各サンプルについて、選択された予測子を指す指示は、デコーダへシグナリングされ得る。
a)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
b)当該指示は、予測的にコーディングされ得る。
(6)一例では、予測ジオメトリ情報と実際のジオメトリ情報との間の残差は導出されて、デコーダへシグナリングされ得る。
a)残差は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
b)残差は、予測的にコーディングされ得る。
ii.一例では、参照PCサンプルのジオメトリ情報は、現在のノードのジオメトリ情報の予測コーディングのコンテキスト情報として使用され得る。
i.一例では、参照PCサンプルの属性情報は、現在のPCサンプルの属性インター予測を実行するために使用され得る。
i.一例では、参照PCサンプルの属性情報は、現在のPCサンプルの予測属性値を導出するために使用され得る。
(1)一例では、予測属性値は、いくつかの候補予測子から選択され得る。
a)候補予測子は、参照PCサンプルの1つ又は複数の属性値によって導出され得る。
b)候補予測子は、参照PCサンプルの1つ又は複数の属性値の関数として導出され得る。
c)候補予測子は、現在のPCサンプル又は以前に復号されたサンプルの1つ又は複数の予測属性値によって導出され得る。
d)候補予測子は、現在のPCサンプル又は以前に復号されたサンプルの1つ又は複数の予測属性値の関数として導出され得る。
(2)一例では、候補予測子は、平均値、加重平均値、参照PCサンプルの属性情報の1つなどを含むが、これらに限定されない。
(3)一例では、予測子の選択は、レート最適化方法、歪み最適化方法、RDO方法などに基づいて行われ得る。
(4)一例では、選択は、デコーダで導出され得る。
(5)一例では、各サンプルについて、選択された予測子を指す指示は、デコーダへシグナリングされ得る。
a)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
b)当該指示は、予測的にコーディングされ得る。
(6)一例では、予測属性情報と実際の属性情報との間の残差は、導出されてデコーダへシグナリングされ得る。
a)残差は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
b)残差は、予測的にコーディングされ得る。
ii.一例では、参照PCサンプルの属性情報は、現在のノードの属性情報の予測コーディングのためのコンテキスト情報として使用され得る。
3)1つの点群シーケンス内で少なくとも1種類のGOF構造を使用することは提案される。
a.一例では、異なるGOF構造内のフレームは、異なる参照関係を有する。
i.一例では、IPPP GOF構造内のフレームは、最初のフレームを除いて、1つ前のフレームのみを参照フレームとして有し得る。
ii.一例では、IBBB GOF構造内のフレームは、最初のフレームを除いて、2つの参照フレームを有し得る。
b.一例では、1つのGOF構造は、1つの点群シーケンス内の全てのGOFに適用され得る。
c.一例では、複数のGOF構造は、1つの点群シーケンス内のGOFに適用され得る。
d.一例では、1つのGOF構造のみが1つの点群シーケンス内の全てのGOFに適用されるか否かを示す少なくとも1つの指示は存在し得る
i.一例では、指示は、デコーダへシグナリングされ得る。
(1)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)当該指示は、予測的にコーディングされ得る。
e.一例では、1つのGOF構造のみが1つの点群シーケンス内の全てのGOFに適用される場合に、どのGOF構造が適用されることを示す少なくとも1つの指示は存在し得る。
i.一例では、指示は、デコーダへシグナリングされ得る。
(1)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)当該指示は、予測的にコーディングされ得る。
f.一例では、GOF動き情報は、どのGOF構造が1つのGOFに適用されることを決定するために使用され得る。
i.一例では、GOF動き情報は、エンコーダで導出され得る。
(1)一例では、GOF動き情報は、GOF内の最初のフレームと次のGOF内の最初のフレームとの間の動き情報であり得る。
(2)又は、GOF動き情報は、GOF内の最初のフレームとGOF内の最後のフレームとの間の動き情報であり得る。
(3)又は、GOF動き情報は、GOF内の最初のI-フレームと次のI-フレームとの間の動き情報であり得る。
ii.一例では、GOF動き情報がGOF制約条件を満たす場合にのみ、IBBB GOF構造が1つのGOFに適用されると決定される。さもなければ、IPPP GOF構造がGOFに適用されると決定される。
(1)一例では、GOF動き条件は、GOF動き情報が少なくとも1つの閾値未満であることであり得る。
a)一例では、閾値は、エンコーダで導出され得る。
b)一例では、閾値は、事前定義であり得る。
iii.一例では、決定は、エンコーダで行われる。
iv.一例では、決定は、デコーダで行われる。

g.一例では、複数のGOF構造が1つの点群シーケンス内のGOFに適用される場合に、1つのGOFについて、どのGOF構造がGOFに適用されることを示す少なくとも1つの指示は存在し得る。
i.一例では、指示は、デコーダへシグナリングされ得る。
(1)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)当該指示は、予測的にコーディングされ得る。
h.上記の説明において、フレームは、スライス/ブロック、又は、他の処理単位に置き換えられ得る。
4)一例では、点群コーディング内のフレームについて、復号されたフレームをどのように管理することに関する情報は、シグナリングされ得る。
a.一例では、復号されたフレームは、表示順でカウントされたインデックスによって識別され得る。
b.一例では、復号されたフレームは、コーディング/復号順でカウントされたインデックスによって識別され得る。
c.一例では、どの復号されたフレームがフレームバッファ内に保持されるべきであることは、シグナリングされ得る。
d.一例では、どの復号されたフレームがフレームバッファから削除されるべきであることは、シグナリングされ得る。
e.一例では、どの復号されたフレームが特定のフレームの参照フレームとして使用されるべきであることは、シグナリングされ得る。
f.一例では、どの復号されたフレームがどの参照リスト内に入れられるべきであることは、シグナリングされ得る。
g.一例では、参照フレームの順序は、シグナリングされ得る。
h.一例では、情報は、フレームに関連付けてシグナリングされ得る。
i.一例では、情報は、フレームと独立してシグナリングされ得る。
5)タイムスタンプが比較的新しいフレーム内のサンプルは、現在のPCサンプルの参照PCサンプルとして使用され得る。
a.一例では、1つのタイム点群シーケンス内の各フレームのタイムスタンプ情報が存在する。
b.一例では、タイムスタンプ順は、表示順と同じであり得る。
c.一例では、タイムスタンプ順は、レンダリング順と同じであり得る。
d.一例では、各サンプルのタイムスタンプは、それが属するフレームのタイムスタンプに等しい。
e.一例では、タイムスタンプが比較的古いサンプルは、現在のPCサンプルの参照PCサンプルとして使用され得る。
f.一例では、同じタイムスタンプを有するサンプルは、現在のPCサンプルの参照PCサンプルとして使用され得る。
g.一例では、タイムスタンプが比較的新しいサンプルは、現在のPCサンプルの参照PCサンプルとして使用され得る。
h.又は、さらに、タイムスタンプが比較的新しいサンプルを参照PCサンプルとして使用することを許可するか否かの指示は、デコーダへシグナリングされ得る。
6)一例では、点群圧縮のための低遅延モードが存在し得る。
a.又は、さらに、低遅延モードでは、タイムスタンプ順及び復号順は同じである必要がある。
b.又は、さらに、低遅延モードを使用するか否かの指示は、デコーダへシグナリングされ得る。
c.又は、さらに、複数の参照フレームは低遅延モードのために使用され得る。
7)低遅延モードでは、フレーム内の、タイムスタンプが比較的古いフレーム、又は、タイムスタンプが同じのサンプルを参照サンプルとして使用することは提案される。
a.一例では、低遅延モードでは、タイムスタンプが比較的古いサンプルは、現在のPCサンプルの参照PCサンプルとして使用され得る。
b.一例では、低遅延モードでは、タイムスタンプが同じのサンプルは、現在のPCサンプルの参照PCサンプルとして使用され得る。
8)サンプルのタイムスタンプ順ではなく、参照関係に基づいて符号化及び復号処理を実行することは提案される。
a.一例では、参照PCサンプルは、現在のPCサンプルの前に符号化され得る。
b.一例では、参照PCサンプルは、現在のPCサンプルの前に復号され得る。
9)インター予測が有効になる、インターコード化されたスライス/フレームの場合に、参照フレームの情報は、シグナリングされ得る。
a.参照フレームの情報は以下のものを含む:
i.参照フレームの数、
ii.参照リストの数、
iii.各参照リスト内の参照フレームの数、
iv.各参照リスト内の参照フレーム。
(1)参照フレームは、そのタイムスタンプ、又は、POC、又は、他の方法によって示され得る。
b.情報は、より高いレベルの構文構造(例えば、SPS/PPS)内でシグナリングされるなど、複数のフレームで共有され得る。
10)固定順序及び/又はPCサンプルの異なるコーディング精度ではなく、異なる順序でPCサンプルをコーディングすることは提案される。
a.一例では、PCサンプルのコーディング優先度に基づいて、階層的なコーディング精度を適用することは提案される。
i.一例では、PCサンプルは、1つの点群シーケンス内で異なるコーディング優先度を有し得る。
b.一例では、参照PCサンプルのコーディング優先度は、現在のPCサンプルよりも高くすべきである。
c.一例では、コーディング優先度が高いサンプルのコーディング精度は、コーディング精度が低いサンプルよりも高くすべきである。
d.一例では、コーディング精度は、点群シーケンスコーディング内のQP値/量子化ステップによって制御され得る。
e.一例では、参照PCサンプルのQP/量子化ステップ値は、現在のPCサンプルよりも低い/小さいであり得る。
f.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、固定され得る。
g.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、デコーダで導出され得る。
i.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、GOFサイズに基づいて導出され得る。
ii.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、イントラ期間/ランダムアクセス期間に基づいて導出され得る。
iii.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、ロスレスコーディングモードのインジケータに基づいて導出され得る。
iv.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、低遅延コーディングモードのインジケータに基づいて導出され得る。
h.一例では、参照PCサンプルのQP/量子化ステップ値のデルタ値は、デコーダへシグナリングされ得る。
i.上記例では、「参照PCサンプル」は、「現在のPCサンプル」に置き換えられ得る。
j.又は、さらに、階層的QP値及び/又はQP値/量子化ステップを使用するか否かの指示は、デコーダへシグナリングされ得る。
k.一例では、各サンプルのQP値は、デコーダで導出され得る。
11)一例では、各フレーム/ブロック/キューブ/タイル/スライスのQP値は、デコーダへシグナリングされ得る。
a.QP値は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
b.QP値は、予測的にコーディングされ得る。
12)八分木ジオメトリコーディングを使用する際に、現在のノードのインター予測を実行するために、複数の参照ノードの占有情報を使用することは提案される。
a.一例では、ジオメトリ情報は、八分木ジオメトリコーディングを使用する際に、八分木構造及び八分木ノードの占有情報(例えば、占有コード)によって表れ得る。
b.一例では、各フレームについて、複数の参照フレームが存在し得る。
c.又は、さらに、複数の参照フレームを使用するか否かの指示は、デコーダへシグナリングされ得る。
d.一例では、各ノードについて、各参照フレーム内に少なくとも1つの対応する参照ノードが存在し得る。
e.一例では、各ノードについて、参照占有コードは、いくつかの候補値から選択され得る。
i.候補値は、1つ又は複数の参照ノードの占有情報によって導出され得る。
ii.候補値は、1つ又は複数の参照ノードの占有情報の関数として導出され得る。
iii.一例では、候補値は、XOR、同じ、又は、参照ノードの占有情報の1つを含むが、これらに限定されない。
iv.一例では、候補値の選択は、レート最適化方法、歪み最適化方法、RDO方法などに基づいて行われ得る。
v.一例では、選択は、デコーダで導出され得る。
vi.一例では、選択された候補値を指す指示は、デコーダへシグナリングされ得る。
(1)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)当該指示は、予測的にコーディングされ得る。
f.一例では、各ノードについて、参照占有コードは、予測占有情報として使用され得る。
i.さらに、予測占有情報と実際の占有情報との間の残差は、導出されてデコーダへシグナリングされ得る。
(1)残差は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)残差は、予測的にコーディングされ得る。
g.一例では、各ノードについて、参照占有情報は、現在のノードの占有情報の予測コーディングのためのコンテキスト情報として使用され得る。
13)八分木ジオメトリコーディングを使用する際に、現在のノード及び現在のノードの参照ノードに基づいて、子ノードの参照占有情報の選択を導出することは、提案される。
a.一例では、八分木ジオメトリコーディングを使用する際に、ジオメトリ情報は、八分木構造及び八分木ノードの占有情報(例えば、占有コード)によって表れ得る。
b.一例では、各ノードについて、8ビットの2進数である占有コードは1つ存在し得る。各ビットは、1つの子ノードに対応する。
c.一例では、各ノードについて、複数の参照ノード及び対応する占有コードは存在し得る。
d.一例では、各ノードについて、1つの参照占有コードは存在し得る。
e.一例では、各ノードについて、参照占有コードは、参照ノードの占有コードの1つから選択され得る。
f.一例では、各ノードについて、子ノードの参照占有コードの選択は、現在のノードの占有コード及び現在のノードの参照ノードに基づいて導出され得る。
i.一例では、現在のノードの占有コード及び現在のノードの参照ノード内の各ビットについて、
(1)現在のノードと1つの参照ノードとの同じビット位置でビット値が同じである場合に、参照ノードの子ノードの占有コードは、現在のノードの子ノードの参照占有コードとして選択され得る。子ノードは、ビット位置に対応する。
ii.一例では、現在のノードの占有コードと現在のノードの参照ノードとの間の一致しないビットの数は、計算される。
(1)一致しないビットの数が全ての参照ノードで同じである場合に、子ノードの選択は、現在のノードの選択を継承し得る。
(2)一致しないビットの数が全ての参照ノードで同じではない場合に、一致しない数が最も少ない参照ノードの子ノードの占有コードは、子ノードの参照占有コードとして選択され得る。
14)少なくとも1つのフレームについて、少なくとも1つの外部推定されたグローバルフレームに基づいて、累積グローバル動きを導出することは提案される。
a.一例では、フレームとそれに続くフレームとの間のグローバル動きは、外部で推定され得る。
i.一例では、グローバル動きは、点群圧縮の前に前処理として推定され得る。
ii.一例では、グローバル動きは、生データの一部であり得る。
b.一例では、外部で推定されたグローバル動きは、グローバル動き推定に使用され得る。
c.一例では、現在のフレームと参照フレームとの間のフレーム距離が閾値(例えば、1)よりも大きい場合に、累積グローバル動きは、外部で推定されたグローバル動きの代わりに使用され得る。
d.一例では、累積グローバル動きは、エンコーダで導出され得る。
e.一例では、参照フレームと現在のフレームとの間の累積グローバル動きは、参照フレーム及びタイムスタンプ順での現在のフレームの前の連続するフレームの、外部で推定されたグローバル動きに基づいて導出され得る。
f.一例では、参照フレームと現在のフレームとの間の累積グローバル動きは、現在のフレーム及びタイムスタンプ順での参照フレームの前の1つ又は複数の連続するフレームの、外部で推定されたグローバル動きに基づいて導出され得る。
g.一例では、累積グローバル動きは、デコーダへシグナリングされ得る。
i.累積グローバル動きは、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
ii.累積グローバル動きは、予測的にコーディングされ得る。
iii.累積グローバル動きは、コンテキストコーディングでコーディングされ得る。
iv.累積グローバル動きは、バイパスコーディングでコーディングされ得る。
15)少なくとも1つの参照フレームのフレーム距離に基づいて属性インター閾値を導出することは提案される。
a.一例では、参照フレームについて、属性インター予測が参照フレームに適用されるか否かを決定するための少なくとも1つの属性インター閾値が存在し得る。
b.一例では、参照フレームについて、属性インター閾値は、元の属性インター閾値及び参照フレームのフレーム距離に基づいて導出され得る。
c.一例では、フレーム距離が遠い参照フレームの属性インター閾値要件は、フレーム距離が近い参照フレームの属性インター閾値要件よりも厳しいであり得る。
i.一例では、属性インター閾値は、元の属性インター閾値をフレーム距離で割った値であり得る。
d.閾値は、デコーダで導出され得、又は、エンコーダからデコーダへシグナリングされ得る。
16)属性インター予測の探索範囲は、参照関係に基づくものであることは提案される。
a.複数の参照サンプルを含むサンプルの探索範囲は、1つの参照サンプルを含むサンプルよりも小さくてもよい。
i.1つの参照サンプルを含むサンプルの探索範囲は、整数(例えば、N)によって示され、M個の参照サンプルを有するサンプルの探索範囲は、比較的小さい整数(例えば、N/M)によって示され得る。
b.又は、複数の参照サンプルを含むサンプルの探索範囲は、1つの参照サンプルを含むサンプルよりも大きくてもよい。
c.又は、複数の参照サンプルを含むサンプルの探索範囲は、1つの参照サンプルを含むサンプルと等しいであり得る。
d.又は、探索範囲は、エンコーダからデコーダへシグナリングされ得る。
17)1つ又は複数の参照フレームを使用して八分木構造の層のセットに対してジオメトリインター予測を実行することは提案される。
a.一例では、当該セットは、八分木構造の最初のN層である。
b.一例では、当該セットは、八分木構造の最後のN層である。
c.一例では、ジオメトリコーディングは、複数の層を有する八分木構造内で実行され得る。
d.一例では、ジオメトリイントラ予測コーディングは、八分木構造の全ての層に対して実行され得る。
e.一例では、1つの参照フレームによるジオメトリインター予測コーディングは、八分木構造の全ての層に対して実行され得る。
f.一例では、複数の参照フレームによるジオメトリインター予測コーディングは、八分木構造の最初のN層に対して実行され得る。Nは、1つの非負の整数であり得る。
i.一例では、Nは、1つの事前定義値であり得る。
ii.一例では、Nは、エンコーダで導出される。
(1)Nは、各層のノードサイズに基づいて導出され得る。
(2)Nは、動きブロックサイズに基づいて導出され得る。
iii.一例では、Nは、デコーダで導出され得る。
(1)Nは、各層のノードサイズに基づいて導出され得る。
(2)Nは、動きブロックサイズに基づいて導出され得る。
iv.一例では、Nは、デコーダへシグナリングされ得る。
(1)Nは、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)Nは、予測的にコーディングされ得る。
18)PC再構成サンプルが他のPCサンプルの参照PCサンプルである場合に、PC再構成サンプルを一時的に記録することは提案される。
a.一例では、1つのPCサンプルは、エンコーダ及び/又はデコーダで再構成され得る。
b.一例では、1つのPC再構成サンプルは、他のPCサンプルの参照PCサンプルであり得る。
c.一例では、PC再構成サンプルが他のPCサンプルの参照PCサンプルである場合に、いくつかのメモリは、他のPCサンプルを処理する際に1つのPC再構成サンプルを記録することに使用され得る。
d.一例では、PC再構成サンプルが他の任意のPCサンプルの参照PCサンプルではない場合に、1つのPC再構成サンプルを記録するためのメモリは、解放され得る。
e.一例では、各PCサンプルについて、PCサンプルが他のPCサンプルの参照PCサンプルであるか否かを示すための少なくとも1つの指示は存在し得る。
i.一例では、指示は、PCサンプルが他のPCサンプルの参照PCサンプルであるか否かを示すための1つのフラグであり得る。
(1)一例では、フラグは、エンコーダで導出され得る。
(2)一例では、フラグは、デコーダで導出され得る。
(3)又は、フラグは、デコーダへシグナリングされ得る。
ii.一例では、指示は、現在のPCサンプルを参照PCサンプルとして使用するPCサンプルの数であり得る。
(1)一例では、当該数は、エンコーダで導出され得る。
(2)一例では、当該数は、他のPCサンプルのコーディング中に変更され得る。例えば、PCサンプルが他のPCサンプルにより参照された後、当該数は1つ減らされる。当該数が0になると、対応するPCサンプルを記録するためのメモリは、解放され得る。
(3)一例では、当該数は、デコーダで導出され得る。
(4)一例では、当該数は、デコーダへシグナリングされ得る。
19)現在のPC点について、異なる参照PCサンプルから参照点を選択して、属性インター予測を実行することは提案される。
a.一例では、各点について、属性インター予測を実行するための複数の参照点が存在し得る。
b.一例では、参照点は、参照点と現在の点との間のジオメトリ距離に基づいて複数のサンプルから選択され得る。
c.一例では、参照点の属性情報は、現在の点の予測属性値を導出するために使用され得る。
d.一例では、予測属性値は、いくつかの候補予測子から選択され得る。
i.候補予測子は、1つ又は複数の参照PCサンプルからの参照点の属性情報によって導出され得る。
ii.候補予測子は、1つ又は複数の参照PCサンプルからの参照点の属性情報の関数として導出され得る。
iii.一例では、候補予測子は、平均値、加重平均値、参照点の属性情報の1つなどを含むが、これらに限定されない。
(1)一例では、各参照点の重みは、現在の点からのジオメトリ距離であり得る。
iv.一例では、予測子の選択は、レート最適化方法、歪み最適化方法、RDO方法などに基づいて行われ得る。
v.一例では、各点について、選択された予測子を指す指示は、デコーダへシグナリングされ得る。
(1)当該指示は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
(2)当該指示は、予測的にコーディングされ得る。
e.一例では、予測属性値と実際の属性値との残差は、導出されて、デコーダへシグナリングされ得る。
i.残差は、固定長コーディング、単項コーディング、切り捨て単項コーディングなどでコーディングされ得る。
ii.残差は、予測的にコーディングされ得る。
f.一例では、予測属性値は、現在の点の属性情報の予測コーディングのためのコンテキスト情報として使用され得る。
6.実施形態
1)本実施形態は、どのように2つの参照フレームを使用し、タイムスタンプが比較的新しいフレームを参照フレームとして使用して現在のフレームのインター予測を実行する例について説明する。
この例では、点群シーケンス内の点群フレームは、複数のGOFに分割され、GOFサイズは、8に設定される。
図5に示すように、各GOFには‘タイムスタンプ順での8つの連続するフレームが存在する。図示の番号は、GOF内のフレームの相対的なタイムスタンプ順を示す。フレーム「0」は、GOF内の最も古いタイムスタンプを有する、GOF内の最初のフレームである。
最初のフレームは、ランダムアクセス(RA)点であり、これは、イントラ予測コーディングのみが行われ、インター予測コーディングが行わないことを意味する。
他の7つのフレームについて、イントラ予測コーディング及びインター予測コーディングの両方は、参照関係に基づいて実行される。
図6に示すように、階層的参照関係は各GOFに適用される。図において、フレーム「8」は、次のGOFの最初のフレームである。
フレーム「1」~「7」について、各フレームは、2つの参照フレームを有する。1つの参照フレームは、現在のフレームよりも古いタイムスタンプを有し、他の参照フレームは、現在のフレームよりも新しいタイムスタンプを有する。各フレームについて、参照フレームは、表1に示される。
【表1】
現在のフレームの前に符号化・復号されることを保証するために、フレーム「0」~「8」のための符号化順及び復号順は、{0、8、4、2、1、3、6、5、7}である。
フレーム「8」が次のGOFの最初のフレームであり、フレーム「1」~「7」の前に処理されるべきであると注意すべきである。フレーム「8」が現在のGOF内に符号化され、又は、復号される場合に、次のGOF内のフレーム「0」でもあるフレーム「8」の処理は、次のGOFでスキップされるべきである。
2)本実施形態は、サンプルのコーディング優先度に基づいて、属性インター予測に階層的なコーディング精度をどのように適用する一例について説明する。
この例では、点群シーケンス内の点群フレームは、複数のGOFに分割され、GOFサイズは、8に設定される。図6に示すように、階層的参照関係は適用される。
階層的なコーディング優先度は、参照フレームのコーディング優先度が現在のフレームよりも高いという原則に基づいて計算される。コーディング優先度結果は、表2に示す。
【表2】
この例では、QP値は、コーディング精度を制御するために使用される。QP値が低いほど、コーディング精度が高い。したがって、階層的QP値構造がフレームに適用されることで、コーディング精度は、コーディング精度に基づいて変更されることができる。
各フレームについて、QP値は、次のように計算される:
【数1】
各フレームのQP_shift値は、表3に示す。
【表3】
パラメータstepは、階層的QP値の変更スケールを制御するために使用される1つの非負の数である。テストでは、2/3/4などである。
例えば、stepが3に設定されると、各フレームのQP_shift値は、表4に示す。
【表4】
3)本実施形態は、八分木ジオメトリコーディングを使用するときに2つの参照フレームによるジオメトリインター予測をどのように実行する一例について説明する。
この例では、ジオメトリ情報は、八分木構造及び各ノードの占有コードによって表れる。図6に示すように、階層的参照関係は適用される。各フレームについて、ジオメトリインター予測のために使用される2つの参照フレームは存在する。
エンコーダでは、現在のフレーム及び参照フレームに対して同じ八分木分割を実行するしたがって、八分木構造は、現在のフレーム及び参照フレームで同じである。FIFOキューは、処理する必要のあるノードを記憶するために使用される。
ブールフラグpredicted_forwardは、各ノードで参照占有コードのソースを示すために使用される:
a.参照占有コードがタイムスタンプの比較的古い参照フレーム内のノードの占有コードである場合に、predicted_forwardは、1に設定される。
b.参照占有コードがタイムスタンプの比較的新しい参照フレーム内のノードの占有コードである場合に、predicted_forwardは、0に設定される。
パラメータmismatched_count_parent_nodeは、親ノードの占有コードと親ノードの参照占有コードとの間の一致しないビットの数を示すために使用される。
まず、現在のノードの八分木のルートノードは、生成されてキュー内にプッシュされる。ルートノードのpredicted_forward値は、1に設定される。ルートノードのmismatched_count_parent_node値は、0に設定される。
次に、キューが空になるまで次の処理を実行する:
a.キューのヘッダーにあるノード及びそれの対応する前方参照ノード及び後方参照ノードを取得する。前方参照ノード及び後方参照ノードは、2つの参照フレーム内で八分木構造内の位置が現在のノードと同じであるノードである。最初の参照ノードは、タイムスタンプが比較的古い参照フレーム内にあり、他の参照ノードは、タイムスタンプが比較的新しい参照フレーム内にある。
b.現在のノード、前方参照ノード及び後方参照ノードの占有コードをOCcurrent、OCforward、OCbackwardとして計算する。
c.現在のOCcurrentとOCforwardとの間の一致しないビットの数をmismatched_count_forwardとしてカウントする。現在のOCcurrentとOCbackwardとの間の一致しないビットの数をmismatched_count_backwardとしてカウントする。
d.現在のノードのpredicted_forwardが1である場合に、参照占有コードOCreferenceはOCforwardに設定される。さもなければ、OCreferenceはOCbackwardに設定される。
e.mismatched_count_parent_nodeが4より大きい場合に、OCreferenceは、オールゼロに設定される。
f.OCreference及びイントラ予測結果をコンテキストの一部として使用してOCcurrentの予測コーディングを実行する。
g.現在のノードが8つの子ノードに分割されることができ、OCcurrent内の各ビット及びそれに対応する子ノードについて:
i.子ノード内に点がない場合に、スキップする。さもなければ、次のステップに進む。
ii.OCforward及びOCbackward内の対応するビットを、それぞれ、bit_0及びbit_1として取得する。
iii.bit_0=1及びbit_1=1の場合に、子ノードのpredicted_forward値は0に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_backwardに設定される。
iv.bit_0=1及びbit_1=0の場合に、子ノードのpredicted_forward値は1に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_forwardに設定される。
v.bit_0=0及びbit_1=0、又は、bit_0=1及びbit_1=1:
(1)mismatched_count_backward<mismatched_count_forwardである場合に、子ノードのpredicted_forward値は0に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_backwardに設定される。
(2)mismatched_count_backward>mismatched_count_forwardである場合に、子ノードのpredicted_forward値は1に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_forwardに設定される。
(3)mismatched_count_backward=mismatched_count_forwardである場合に、子ノードのpredicted_forward値は、現在のノードのpredicted_forward値に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_forwardに設定される。
vi.子ノードをキューにプッシュする。
h.現在のノードをキューからポップする。
デコーダでは、同じ処理は、現在のフレーム及び参照フレームに対して実行される。したがって、参照占有コードは、各ノードに対して導出されることができる。占有コードは、参照占有コードに基づいて復号される。
4)本実施形態は、八分木ジオメトリコーディングを使用するときに2つの参照フレームによるジオメトリインター予測をどのように実行する一例について説明する。
この例では、ジオメトリ情報は、八分木構造及び各ノードの占有コードによって表される。図6に示すように、階層的参照関係は適用される。各フレームについて、ジオメトリインター予測のために使用される2つの参照フレームが存在する。
エンコーダでは、同じ八分木分割は、現在のフレーム及び参照フレームに対して実行される。したがって、八分木構造は、現在のフレーム及び参照フレームで同じである。FIFOキューは、処理する必要のあるノードを記憶するために使用される。
ブールフラグpredicted_forwardは、各ノードで参照占有コードのソースを示すために使用される:
c.参照占有コードがタイムスタンプの比較的古い参照フレーム内のノードの占有コードである場合に、predicted_forwardは、1に設定される。
d.参照占有コードがタイムスタンプの比較的新しい参照フレーム内のノードの占有コードである場合に、predicted_forwardは、0に設定される。
パラメータmismatched_count_parent_nodeは、親ノードの占有コードと親ノードの参照占有コードとの間の一致しないビットの数を示すために使用される。
まず、現在のノードの八分木のルートノードは、生成されてキュー内にプッシュされる。ルートノードのpredicted_forward値は、1に設定される。ルートノードのmismatched_count_parent_node値は、0に設定される。
次に、キューが空になるまで次の処理を実行する。
i.キューのヘッダーにあるノード及びそれの対応する前方参照ノード及び後方参照ノードを取得する。前方参照ノード及び後方参照ノードは、2つの参照フレーム内で八分木構造内の位置が現在のノードと同じであるノードである。最初の参照ノードは、タイムスタンプが比較的古い参照フレーム内にあり、他の参照ノードは、タイムスタンプが比較的新しい参照フレーム内にある。
j.現在のノード、前方参照ノード及び後方参照ノードの占有コードをOCcurrent、OCforward、OCbackwardとして計算する。
k.現在のOCcurrentとOCforwardとの間の一致しないビットの数をmismatched_count_forwardとしてカウントする。現在のOCcurrentとOCbackwardとの間の一致しないビットの数をmismatched_count_backwardとしてカウントする。
l.現在のノードのpredicted_forwardが1である場合に、参照占有コードOCreferenceはOCforwardに設定される。さもなければ、OCreferenceはOCbackwardに設定される。
m.mismatched_count_parent_nodeが4より大きい場合に、OCreferenceは、オールゼロに設定される。
n.OCreference及びイントラ予測結果をコンテキストの一部として使用してOCcurrentの予測コーディングを実行する。
o.現在のノードが8つの子ノードに分割されることができ、OCcurrent内の各ビット及びそれに対応する子ノードについて、
i.子ノード内に点がない場合に、スキップする。さもなければ、次のステップに進む。
ii.OCforward及びOCbackward内の対応するビットを、それぞれ、bit_0及びbit_1として取得する。
iii.bit_0=0及びbit_1=1の場合に、子ノードのpredicted_forward値は0に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_backwardに設定される。
iv.bit_0=1及びbit_1=0の場合に、子ノードのpredicted_forward値は、1に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_forwardに設定される。
v.bit_0=0及びbit_1=0、又は、bit_0=1及びbit_1=1の場合に、
(1)mismatched_count_backward<mismatched_count_forwardの場合に、子ノードのpredicted_forward値は0に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_backwardに設定される。
(2)mismatched_count_backward>mismatched_count_forwardの場合に、子ノードのpredicted_forward値は1に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_forwardに設定される。
(3)mismatched_count_backward=mismatched_count_forwardの場合に、子ノードのpredicted_forward値は、現在のノードのpredicted_forward値に設定され、子ノードのmismatched_count_parent_node値は、mismatched_count_forwardに設定される。
vi.子ノードをキューにプッシュする。
p.現在のノードをキューからポップする。
デコーダでは、同じ処理は、現在のフレーム及び参照フレームに対して実行される。したがって、参照占有コードは、各ノードに対して導出されることができる。占有コードは、参照占有コードに基づいて復号される。
5)本実施形態は、2つの参照フレームによる属性インター予測をどのように実行する一例について説明する。
この例では、属性情報は、各点の反射値によって表れる。図6に示すように、階層的参照関係は適用される。各フレームについて、属性インター予測のために使用される2つの参照フレームが存在する。
エンコーダでは、3つの参照点{点0、点1、点2}は、現在のフレーム及び参照フレームから選択される。予測属性値は、参照点の属性値に基づいて計算される。そして、予測属性値と現在の属性値との間の残差は、計算されてデコーダへシグナリングされる。
各点について、配列neighborsは、重み値とともに選択された参照点を記憶するために使用される。各参照点の重み値は、参照点と現在の点との間の距離である。
最初に、現在のフレーム及び参照フレーム内の点は、動きコード順で並べ替えられる。
2番目に、各点について、エンコーダは、現在の点と最も近い3つの参照点を探索する。探索結果及びそれらの重み値は、neighbors内に記憶される:
a.参照点探索は、現在のフレームに対して実行される:
i.同じ動きコードレベル内のコード化された点をスキャンする。
ii.探索範囲内のコード化された点をスキャンする。探索範囲は、パラメータによって定義される。
b.参照点探索は、参照フレームに対して実行される:
iii.同じ動きコードレベル内のコード化された点をスキャンする。
iv.探索範囲内のコード化された点をスキャンする。探索範囲は、パラメータによって定義される。
3番目に、参照点の重み値は再計算される。現在のフレームからの参照点は、より高い重み値を有すべきである。
4番目に、予測属性値は、候補リストから選択される:
a.参照点の属性値の加重平均、
b.参照点0の属性値、
c.参照点1の属性値、
d.参照点2の属性値。
各候補値について、コーディングスコアは、圧縮ビット及び予測残差に基づいて計算される。そして、エンコーダは、コーディングスコアが最も高い候補値を選択する。選択された候補を指す指示は、デコーダへシグナリングされる。
最後に、属性値と予測属性値との間の残差は、計算されてデコーダへシグナリングされる。
デコーダでは、参照点は、各点について符号化処理と同じ方法によって探索される。候補リストは同じように計算され、指示は、予測属性値を取得するために各点について復号される。これにより、予測残差は復号され、実際の属性値は生成される。
6)本実施形態は、2つの参照フレームを使用してジオメトリコーディング及び属性コーディングの両方のインター予測をどのように実行する一例について説明する。
階層的GOF構造は、ジオメトリコーディング及び属性コーディングのインター予測を実行するために提案される。
階層的GOF構造では、各GOF内の最初のフレームは、I-フレームである。GOF内の他のフレームは、B-フレームであり、これは、フレームが前方及び後方方向からの2つの参照フレームを使用することを意味する。
図7に示すように、フレーム「0」~「7」は、1つのGOF内のフレームであり、フレーム「8」は、次のGOFの最初のフレームである。
フレーム「0」~「8」について、参照フレームは、表5に示す。
【表5】
フレーム「0」~「8」の符号化順及び復号順は、{0、8、4、2、1、3、6、5、7}である。
ジオメトリコーディングについて、同じ八分木分割は、現在のフレーム及び2つの参照フレームに対して実行される。
八分木内の各ノードについて、現在のノード及び参照ノードの占有コードは計算される。図8に示すように、現在のノードの子ノードの予測方向は、現在のノード及び参照ノードの占有コードに基づいて導出される。
各現在のノードの子ノードについて、参照ノードの占有コード内の対応するビット値は、bit_pre及びbit_followとして示される:
bit_pre=1及びbit_follow=0の場合に、子ノードの予測方向は、前の参照(前方)ノードを使用してインター予測を実行することに設定される。
bit_pre=0及びbit_follow=1の場合に、子ノードの予測方向は、次の参照(後方)ノードを使用してインター予測を実行することに設定される。
bit_pre=bit_followの場合に、現在のノードの占有コードと参照ノードの占有コードとの間の一致しないビットの数は、計算される。
一致しないビットの数が異なる場合に、子ノードの予測方向は、一致しない数が少ない予測方向に設定される。さもなければ、子ノードの予測方向は、現在のノードの予測方向に設定される。
属性をコーディングする際に、3つの参照点{点0、点1、点2}は、現在のフレーム及び2つの参照フレームから選択される。予測属性値は、参照点の属性値に基づいて計算され、これはInter-EMと同様である。
さらに、階層的QP構造は、属性コーディングを実行するために適用される。参照関係に基づいて、各フレームにQPshift値が存在する。参照フレームのQPshift値は、現在のフレームよりも低いべきである。
各フレームについて、実際の属性QP値は、
【数2】
に設定される。
量子化処理は、実際の属性QP値に基づいて実行される。
7)本実施形態は、2つの参照フレームをマージしてジオメトリコーディング及び属性コーディングの両方のインター予測をどのように実行する一例について説明する。
階層的GOF構造は、ジオメトリコーディング及び属性コーディングのインター予測を実行するために提案される。
階層的GOF構造では、各GOF内の最初のフレームはI-フレームである。GOF内の他のフレームは、B-フレームであり、これはフレームが前方及び後方方向からの2つの参照フレームを使用する。
図7に示すように、フレーム「0」~「7」は、1つのGOF内のフレームであり、フレーム「8」は、次のGOFの最初のフレームである。
フレーム「0」~「8」について、参照フレームは、表5に示す。フレーム「0」~「8」の符号化順及び復号順は、{0、8、4、2、1、3、6、5、7}である。
各フレームについて、まず、グローバル動きを2つの参照フレームに適用する。そして、2つの参照フレーム内の全ての点を、1つの新のマージ参照フレームにマージする。
ジオメトリコーディングでは、同じ八分木分割は、現在のフレーム及びマージ参照フレームに対して実行される。そして、ジオメトリインター予測は、現在のフレーム及びマージ参照フレームに対して実行される。
属性をコーディングするときに、3つの参照点{点0、点1、点2}は、現在のフレーム及びマージ参照フレームから選択される。予測属性値は、参照点の属性値に基づいて計算され、これはInter-EMと同様である。
さらに、階層的QP構造は、属性コーディングを実行するために適用される。参照関係に基づいて、各フレームにQPshift値が存在する。参照フレームのQPshift値は、現在のフレームよりも低いべきである。
各フレームについて、実際の属性QP値は、
【数3】
に設定される。
量子化処理は、実際の属性QP値に基づいて実行される。
8)本実施形態は、どのGOF構造が1つのGOFに適用されることをどのように決定する一例について説明する。
1つのIBBB GOF構造の例は、図7に示され、1つのGOF内の最初のフレームを除く各フレームに2つの参照フレームが存在する。
1つのIPPP GOF構造の例は、図9に示され、1つのGOF内の最初のフレームを除く各フレームに1つの参照フレームが存在する。フレーム8は、次のGOF内の最初のフレームである。
エンコーダでは、各GOFについて、フレーム0は最初に処理される。GOFが1つの点群シーケンス内の最初のGOFである場合に、フレーム0は、符号化され、又は、復号される。さもなければ、当該フレーム0は、1つ前のGOFの処理中にすでに符号化され、又は、復号されたため、スキップされる。
そして、フレーム8は処理されて、フレーム0とフレーム8との間の動き情報は、導出される。回転角度(Rx、Ry、Rz)及び並進ベクトル(Sx、Sy、Sz)は、動き情報に基づいて導出される。
動き情報が2つの条件を満たす場合に、IBBB GOF構造はGOFに適用される。さもなければ、IPPP GOF構造は、GOFに適用される。
(1)全ての回転角度はthr1未満である:
【数4】
random_access_periodは、2つのI-フレームの間の最短フレーム距離を示すためのパラメータである。
(2)並進ベクトルは、thr2未満である:
【数5】
ここで、quantization_bitsは、ジオメトリ量子化スケールを示すためのパラメータであり、slice_sizeは、フレーム8の境界ボックスのサイズを示すためのパラメータである。
GOF構造選択結果を示す1つの信号change_GOF_structureは存在し、当該信号は、デコーダへシグナリングされる。IBBB GOF構造が適用される場合に、change_GOF_structureは、0に設定される。さもなければ、change_GOF_structureは、1に設定される。
デコーダでは、IBBB GOF構造は、最初に各GOFに適用される。change_GOF_structureが1に等しい場合にのみ、IPPP GOF構造は、GOFの復号処理に適用される。
【0059】
以下、点群圧縮のためのマルチ参照インター予測に関連する本開示の実施形態のさらなる詳細を説明する。本開示の実施形態は、一般的な概念を説明するための例として考慮されるべきであり、狭く解釈されるべきではない。さらに、これらの実施形態は、任意の態様で組み合わせて適用することもできる。
【0060】
本明細書で使用される場合、「点群シーケンス」という用語は、1つ又は複数の点群のシーケンスを指し得る。「点群フレーム」、又は、「フレーム」という用語は、点群シーケンス内の点群を指し得る。「点群(PC)サンプル」という用語は、フレーム、ピクチャ、スライス、タイル、サブピクチャ、ノード、点、又は、1つ又は複数のノード又は点を含むユニットを指し得る。
【0061】
図10は、本開示のいくつかの実施形態による点群コーディング方法1000のフローチャートを示す。方法1000は、点群シーケンスの現在のPCサンプルと点群シーケンスのビットストリームの間の変換中に実施され得る。図10に示されるように、当該方法1000は、現在のPCサンプルの少なくとも1つのターゲットPCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、現在のPCサンプルのターゲットPCサンプルを決定する1002で開始する。いくつかの実施形態では、少なくとも1つの再構成されたPCサンプルの1つは、ターゲットPCサンプルとして決定され得る。つまり、ターゲットPCサンプルは、少なくとも1つの再構成されたPCサンプルの1つであり得る。又は、少なくとも1つの再構成されたPCサンプルは、ターゲットPCサンプルを取得するために処理され得、これについて以下で詳細に説明する。上記の例は、単に説明を目的として記載されたものであること理解すべきである。本開示の範囲は、これに限定されない。
【0062】
1004で、ターゲットPCサンプルに基づいて変換を実行する。いくつかの実施形態では、ターゲットPCサンプルは、現在のPCサンプルをコーディングするための参照PCサンプルとして使用され得る。いくつかの実施形態では、変換は、現在のPCサンプルをビットストリームに符号化することを含み得る。代替的に又は追加的に、変換は、ビットストリームから現在のPCサンプルを復号することを含み得る。
【0063】
上記を考慮して、現在のPCサンプルの参照PCサンプルとして使用されるターゲットPCサンプルは、少なくとも1つの再構成されたPCサンプルに基づいて生成される。従来の方案と比較して、提案した方法は、フレームのインター予測の効率及び品質を有利に改善するため、点群処理効率及び品質を向上させることができる。
【0064】
いくつかの実施形態では、1002で、処理手順は、ターゲットPCサンプルを取得するために、少なくとも1つの再構成されたPCサンプルに対して実行され得る。限定ではなく例として、処理手順は、サンプリング手順、アップサンプリング手順などを含み得る。
【0065】
いくつかの実施形態では、少なくとも1つの再構成されたPCサンプルは、複数の再構成されたPCサンプルを含み得る。1002では、複数の再構成されたPCサンプルは、ターゲットPCサンプルを取得するために、マージされ得る、一例では、マージ結果、すなわち、ターゲットPCサンプルは、複数の再構成されたPCサンプル内の全ての点を含み得る。又は、マージ結果、すなわち、ターゲットPCサンプルは、複数の再構成されたPCサンプル内の一部の点を含み得る。点の一部は、ダウンサンプリング手順によって生成され得る。
【0066】
又は、1002で、複数の再構成されたPCサンプルは、少なくとも1つのマージされたPCサンプルを取得するためにマージされ得る。処理手順は、ターゲットPCサンプルを取得するために、少なくとも1つのマージされたPCサンプルに対して実行され得る。限定ではなく例として、処理手順は、サンプリング手順、アップサンプリング手順などを含み得る。
【0067】
いくつかの実施形態では、点群シーケンスのサンプルは、複数のサンプルグループ(GOS)に分割され得、複数のGOSは、少なくとも1つのGOS構造に関連付けられ得る。つまり、少なくとも1種類のGOS構造は、1つの点群シーケンス内に使用され得る。いくつかの実施形態では、サンプルは、フレームであり、GOSは、フレームグループ(GOF)である。又は、サンプルは、スライス、又は、ブロックである、
【0068】
いくつかの実施形態では、少なくとも1つのGOS構造の第1GOS構造内のサンプルは、少なくとも1つのGOS構造の第2GOS構造内のサンプルと異なる参照関係を有する。第2GOS構造は、第1GOS構造と異なり得る。例えば、異なるGOF構造内のフレームは、異なる参照関係を含み得る。
【0069】
いくつかの実施形態では、複数のGOSの第1GOSは、少なくとも1つのGOS構造の第1GOS構造を有し得る。第1GOSは、第1GOS内の第1サンプルに続くサンプルのセットを含み得る。第1サンプルは、第1GOS内の最初の位置にあり得、サンプルのセットの各々は、それぞれのサンプルの直前に単一の参照サンプルを有する。例えば、第1GOS構造は、IPPPGOS構造であり得る。いくつかの代替的又は追加の実施形態では、複数のGOSの第2GOSは、少なくとも1つのGOS構造の第2GOS構造を有し得る。第2GOSは、第2GOS内の第1サンプルに続くサンプルのセットを含み得る。第1サンプルは、第2GOS内の最初の位置にあり得、サンプルのセットのそれぞれは、2つの参照サンプルを有し得る。例えば、第2GOS構造は、IBBBGOS構造であり得る。
【0070】
いくつかの実施形態では、少なくとも1つのGOS構造は、単一のGOS構造を含み得る。例えば、1つのGOF構造は、1つの点群シーケンス内の全てのGOFに適用され得る。又は、少なくとも1つのGOS構造は、複数のGOS構造を含み得る。例えば、複数のGOF構造は、1つの点群シーケンス内のGOFに適用され得る。1つのGOS構造のみが前記複数のサンプルグループの全てに適用されるか否かを示す少なくとも1つの第1指示は存在し得る。一例では、少なくとも1つの第1指示は、ビットストリーム内に示され得る。限定ではなく例として、少なくとも1つの第1指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされ得る。又は、少なくとも1つの第1指示は、予測的にコーディングされ得る。
【0071】
いくつかの実施形態では、第1GOS構造のみは前記複数のサンプルグループの全てに適用され得る。第1GOS構造を示す少なくとも1つの第2指示は存在し得る。例えば、1つのGOF構造のみが1つの点群シーケンス内の全てのGOFに適用される場合に、どのGOF構造が適用されることを示す少なくとも1つの第2指示は存在し得る。一例では、少なくとも1つの第2指示は、ビットストリーム内に示され得る。限定ではなく例として、少なくとも1つの第2指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされ得る。又は、少なくとも1つの第2指示 は、予測的にコーディングされ得る。
【0072】
又は、複数のGOS構造は、複数のサンプルグループの全てに適用される。現在のPCサンプルについて、複数のGOS構造の第1GOS構造が現在のPCサンプルに適用されること示す少なくとも1つの第3指示は存在し得る。例えば、複数のGOF構造が1つの点群シーケンス内のGOFに適用される場合に、1つのGOFについて、どのGOF構造がGOFに適用されることを示す少なくとも1つの第3指示は存在しる。一例では、少なくとも1つの第3指示は、ビットストリーム内に示され得る。限定ではなく例として、少なくとも1つの第3指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされ得る。又は、少なくとも1つの第3指示 は、予測的にコーディングされ得る。
【0073】
いくつかの実施形態では、複数のGOSの第1GOSの第1GOS構造は、第1GOSのGOS動き情報に基づいて決定され得る。当該決定は、エンコーダ、又は、デコーダで行われ得る。例えば、GOF動き情報は、どのGOF構造がGOFに使用されることを決定するために使用され得る。例えば、GOS動き情報は、エンコーダで決定され得る。
【0074】
いくつかの実施形態では、GOS動き情報は、第1GOS内の第1サンプルと第1GOSに続く第2GOS内の第2サンプルとの間の動き情報であり得る。第1サンプルは、第1GOS内の最初の位置にあり得、第2サンプルは、第2GOS内の最初の位置にあり得る。又は、GOS動き情報は、第1GOS内の第1サンプルと第1GOS内の第2サンプルとの間の動き情報であり得る。第1サンプルは、第1GOS内の最初の位置にあり得、第2サンプルは、第1GOS内の最後の位置にあり得る。いくつかのさらなる実施形態では、GOS動き情報は、第1GOS内の最初のI-sampleと第1GOS内の次のI-sampleとの間の動き情報であり得る。
【0075】
いくつかの実施形態では、GOS動き情報がGOS制約条件を満たす場合に、第1GOS構造は、IBBB GOS構造であると決定され得る。さもなければ、GOS動き情報がGOS制約条件を満たさない場合に、第1GOS構造は、IPPP GOS構造であると決定され得る。限定ではなく例として、GOS制約条件は、GOS動き情報が少なくとも1つの閾値未満であることであり得る。一例では、少なくとも1つの閾値は、エンコーダで決定され得る。もう一例では、少なくとも1つの閾値は、事前定義され得る。
【0076】
いくつかの実施形態では、1004では、点群シーケンスの少なくとも1つのPCサンプルの少なくとも1つのグローバル動きに基づいて、現在のPCサンプルと参照PCサンプルとの間の累積グローバル動きを決定し得る。少なくとも1つのグローバル動きは、点群データの収集中に例えば外部で決定され得る。当該変換は、累積グローバル動きに基づいて実行され得る。
【0077】
いくつかの実施形態では、少なくとも1つのグローバル動きは、現在のPCサンプルと現在のPCサンプルの直前のPCサンプルとの間の第1グローバル動きを含み第1グローバル動きは、外部で決定され得る。例えば、フレームとそれに続くフレームの間のグローバル動きは、外部で推定され得る。いくつかの実施形態では、第1グローバル動きは、点群圧縮が実行される前に決定され得る。このような場合には、第1グローバル動きの決定は、点群圧縮の前処理である。又は、第1グローバル動きは、生データの一部であり得る。限定ではなく例として、第1グローバル動きは現在のPCサンプルのためのグローバル動き推定に使用され得る。
【0078】
いくつかの実施形態では、現在のPCサンプルと参照PCサンプルとの間のフレーム距離は、距離閾値よりも大きく、例えば、1である。累積グローバル動きは、外部で決定されたグローバル動きの代わりに使用され得る。
【0079】
いくつかの実施形態では、少なくとも1つのグローバル動きは、参照PCサンプルの、外部で決定されたグローバル動き、及び、タイムスタンプ順での現在のPCサンプルの直前の少なくとも1つの連続するPCサンプルを含み得る。例えば、参照フレームと現在のフレームとの間の累積グローバル動きは、参照フレームの、外部で推定されたグローバル動き、及び、タイムスタンプ順での現在のフレームの前の連続するフレームに基づいて、導出され得る。又は、少なくとも1つのグローバル動きは、現在のPCサンプルの、外部で決定されたグローバル動き、及び、タイムスタンプ順での参照PCサンプルの直前の少なくとも1つの連続するPCサンプルを含み得る。例えば、参照フレームと現在のフレームとの間の累積グローバル動きは、現在のフレームの、外部で推定されたグローバル動き、及び、タイムスタンプ順での参照フレームの前の1つ又は複数の連続するフレームに基づいて、導出され得る。
【0080】
いくつかの実施形態では、累積グローバル動きは、エンコーダで決定され得る。代替的に又は追加的に、累積グローバル動きは、ビットストリーム内に示され得る。一例では、累積グローバル動きは、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされ得る。もう一例では、累積グローバル動きは、予測的にコーディングされ得る。さらなる例では、累積グローバル動きは、コンテキストコーディングでコーディングされ得る。さらに別の例では、累積グローバル動きは、バイパスコーディングでコーディングされ得る。
【0081】
いくつかの実施形態では、属性インター閾値のセットは、現在のPCサンプルと少なくとも1つの参照PCサンプルの各々との間のフレーム距離に基づいて、決定され得る。一例では、属性インター閾値のセットは、デコーダで決定され得る。又は、属性インター閾値のセットは、ビットストリーム内に示され得る.
【0082】
いくつかの実施形態では、少なくとも1つの参照PCサンプルの第1参照PCサンプルについて、属性インター閾値のセット内の少なくとも1つの属性インター閾値は、第1参照PCサンプルに基づいて、属性インター予測が現在のPCサンプルに適用される否かを決定することに使用され得る。いくつかの実施形態では、少なくとも1つの属性インター閾値は、所定の閾値、及び、現在のPCサンプルと第1参照PCサンプルとの間のフレーム距離に基づいて決定され得る。
【0083】
いくつかの実施形態では、少なくとも1つの参照PCサンプルは、第1参照PCサンプル及び第2参照PCサンプルを含み得る。第1参照PCサンプルと現在のPCサンプルとの間のフレーム距離は、第2参照PCサンプルと現在のPCサンプルとの間のフレーム距離よりも大きい。第1参照PCサンプルの属性インター閾値要件は、第2参照PCサンプルの属性インター閾値要件よりも厳しい。例えば、フレーム距離が遠い参照フレームの属性インター閾値要件は、フレーム距離が近い参照フレームの属性インター閾値要件よりも厳しい。一例では、第1参照PCサンプルの属性インター閾値は、第1参照PCサンプルと現在のPCサンプルとの間のフレーム距離で所定の閾値を割ることで決定され得る。
【0084】
いくつかの実施形態では、現在のPCサンプルは、現在の点を含み得る。1004で、現在の点の少なくとも1つの近傍点は、現在のPCサンプルの探索範囲に基づいて、現在のPCサンプル内及び前記少なくとも1つの参照PCサンプル内の点から決定される。探索範囲は、現在のPCサンプルの参照関係に基づくものであり得る。当該変換は、少なくとも1つの近傍点に基づいて実行され得る。つまり、属性インター予測の探索範囲は、参照関係に基づくものであり得る。一例では、少なくとも1つの近傍点は、現在の点の少なくとも1つの最近傍を含み得る。いくつかの実施形態では、現在のPCサンプルの探索範囲は、ビットストリーム内に示され得る。
【0085】
いくつかの実施形態では、現在のPCサンプルは、複数の参照PCサンプルを有し得る。現在のPCサンプルに使用される探索範囲は、点群シーケンスのさらなるPCサンプルの探索範囲よりも小さい。さらなるPCサンプルは、1つの参照PCサンプルを有し得る。つまり、複数の参照サンプルを含むサンプルの探索範囲は、1つの参照サンプルを含むサンプルの探索範囲よりも小さい。一例では、さらなるPCサンプルに使用される探索範囲は、第1数で示され得、現在のPCサンプルに使用される探索範囲は、第1数よりも小さい第2数で示され得る。限定ではなく例として、第2数は、第1数を複数の参照PCサンプル内の参照PCサンプルの数で割った数に等しい。例えば、1つの参照サンプルを含むサンプルの探索範囲は、整数(例えば、N)で示され得、M個の参照サンプルを含むサンプルの探索範囲は、比較的小さい整数(例えば、N/M)で示され得る。
【0086】
いくつかの実施形態では、現在のPCサンプルは、複数の参照PCサンプルを含み得る。現在のPCサンプルに使用される探索範囲は、点群シーケンスのさらなるPCサンプルに使用される探索範囲よりも大きく、又は、それに等しいであり得る。さらなるPCサンプルは、1つの参照PCサンプルを含み得る。つまり、the複数の参照サンプルを含むサンプルの探索範囲は、1つの参照サンプルを含むサンプルの探索範囲よりも大きく、又は、それに等しいであり得る。
【0087】
いくつかの実施形態では、1004で、ジオメトリインター予測は、少なくとも1つの参照PCサンプルに基づいて、現在のPCサンプルの八分木構造の層のセットに対して実行される。一例では、層のセットは、八分木構造の上位のN層、又は、八分木構造の最後のN層を含み得る。Nは、非負の整数であり、例えば、1、2、3などである。
【0088】
いくつかの実施形態では、八分木構造は、複数の層を含み得、ジオメトリコーディングは、八分木構造内で実行され得る。一例では、ジオメトリイントラ予測は、八分木構造の全ての層に対して実行され得る。
【0089】
いくつかの実施形態では、少なくとも1つの参照PCサンプルは、1つの参照PCサンプルを含み得、層のセットは、八分木構造の全ての層を含み得る。つまり、1つの参照フレームを使用したジオメトリインター予測コーディングは、八分木構造の全ての層に対して実行され得る。
【0090】
いくつかの実施形態では、少なくとも1つの参照PCサンプルは、複数の参照PCサンプルを含み得る。層のセットは、八分木構造の上位のN層を含み得る。Nは、非負の整数である、一例では、Nは、所定の値であり得る。もう一例では、Nは、エンコーダ、又は、デコーダで決定され得る。例えば、Nは、層のセット内の各層のノードサイズに基づいて決定され得る。追加的に又は代替的に、Nは、ローカル動き推定のための動きブロックのサイズに基づいて決定され得る。さらなる例では、Nは、ビットストリーム内に示され得る。例えば、Nは、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされ得る。又は、Nは、予測的にコーディングされ得る。
【0091】
いくつかの実施形態では、再構成されたPCサンプルが点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルである場合に、再構成されたPCサンプルは、一時的に保存され得る。限定ではなく例として、再構成されたPCサンプルは、バッファ内に一時的に保存され得る。一例では、再構成されたPCサンプルは、エンコーダ及び/又はデコーダで点群シーケンスのPCサンプルを再構成することで取得され得る。いくつかの実施形態では、再構成されたPCサンプルは、点群シーケンスのPCサンプルの参照PCサンプルであり得る。
【0092】
いくつかの実施形態では、再構成されたPCサンプルが少なくとも1つのPCサンプルの参照PCサンプルである場合に、再構成されたPCサンプルは、少なくとも1つのPCサンプルが処理されているときにメモリに記憶され得る。メモリは、再構成されたPCサンプルが他の任意のコーディング対象となるPCサンプルの参照PCではない場合に、解放され得る。
【0093】
いくつかの実施形態では、現在のPCサンプルについて、現在のPCサンプルが点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルであるか否かを示す少なくとも1つの指示は存在し得る。限定ではなく例として、少なくとも1つの指示の1つは、フラグであり得る。一例では、フラグは、エンコーダ、又は、デコーダで決定され得る。もう一例では、フラグは、ビットストリーム内に示され得る。又は、少なくとも1つの指示の1つは、現在のPCサンプルを参照PCサンプルとして使用する少なくとも1つのPCサンプルの数であり得る。一例では、当該数は、エンコーダ、又は、デコーダで決定され得る。追加的に又は代替的に、当該数は、ビットストリーム内に示され得る。当該数は、少なくとも1つのPCサンプルがコーディングされているときに変更され得る。例えば、当該数は、少なくとも1つのPCサンプルの1つがコーディングされた後に1つ減り得る。さらに、数が0に減らされた場合に、現在のPCサンプルを記憶するメモリは、解放され得る。
【0094】
いくつかの実施形態では、少なくとも1つの再構成されたPCサンプルをどのように記憶するかに関する情報は、現在のPCサンプルのビットストリーム内に示され得る。再構成されたPCサンプルは、復号されたPCサンプルとも呼ばれることに注意すべきである。例えば、当該情報は、現在のPCサンプルに関連付けられるように、ビットストリーム内に示され得る。又は、当該情報は、現在のPCサンプルと独立してビットストリーム内に示され得る。一例では、少なくとも1つの再構成されたPCサンプルの1つは、表示順でカウントされたインデックスによって識別され得る。又は、少なくとも1つの再構成されたPCサンプルの1つは、符号化順又は復号順でカウントされたインデックスによって識別され得る。
【0095】
いくつかの実施形態では、当該情報は、記憶対象となる再構成されたPCサンプルのセット、例えば、バッファに記憶されようとする再構成されたPCサンプルを含み得る。例えば、どの復号されたフレームがフレームバッファ内に保持されるべきかは、シグナリングされ得る。追加的に又は代替的に、当該情報は、再構成されたPCサンプルのセットを記憶するバッファから削除されようとする、再構成されたPCサンプルのセットを含み得る。例えば、どの復号されたフレームがフレームバッファから削除されるべきであることはシグナリングされ得る。いくつかのさらなる実施形態では、当該情報は、現在のPCサンプルの参照PCサンプルとして使用される、再構成されたPCサンプルのセットを含み得る。例えば、どの復号されたフレームは、特定のフレームの参照フレームとして使用されるべきであることはシグナリングされ得る。さらに他の実施形態では、当該情報は、参照リスト内に含まれようとする、再構成されたPCサンプルのセットを含み得る。例えば、どの復号されたフレームが参照リストに入れられるべきであることはシグナリングされ得る。いくつかの追加的又は代替的な実施形態では、情報は、現在のPCサンプルの参照PCサンプルの順序を含み得る。
【0096】
本開示の実施形態によれば、非一時的なコンピュータ可読記録媒体を提供する。点群シーケンスのビットストリームは、非一時的なコンピュータ可読記録媒体内に記憶される。ビットストリームは、点群処理装置によって実行される方法で生成されることができる。当該方法によれば、前記点群シーケンスの現在のPCサンプルのターゲットPCサンプルは、前記現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて決定される。さらに、ビットストリームは、ターゲットPCサンプルに基づいて生成される。
【0097】
本開示の実施形態によれば、点群シーケンスのビットストリームを記憶する方法を提供する。当該方法では、前記点群シーケンスの現在のPCサンプルのターゲットPCサンプルは、現在のPCサンプルの少なくとも1つの参照PCサンプルに基づいて決定される。さらに、ビットストリームは、ターゲットPCサンプルに基づいて生成され、ビットストリームは、非一時的なコンピュータ可読記録媒体内に記憶される。
【0098】
本開示の実施形態は、以下の条項を考慮して説明することができ、その特徴は任意の合理的な態様で組み合わせることができる。
【0099】
条項1.点群コーディング方法であって、点群シーケンスの現在の点群(PC)サンプルと前記点群シーケンスのビットストリームとの間の変換中、前記現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて変換を実行するステップと、を含む、方法。
【0100】
条項2.前記ターゲットPCサンプルは、前記少なくとも1つの再構成されたPCサンプルの1つである、条項1に記載の方法。
【0101】
条項3.前記ターゲットPCサンプルを決定するステップは、前記ターゲットPCサンプルを取得するために、前記少なくとも1つの再構成されたPCサンプルに対して処理手順を実行するステップを含む、条項1に記載の方法。
【0102】
条項4.前記処理手順は、サンプリング手順、又は、アップサンプリング手順のうちの少なくとも1つを含む、条項3に記載の方法。
【0103】
条項5.前記少なくとも1つの再構成されたPCサンプルは、複数の再構成されたPCサンプルを含み、前記ターゲットPCサンプルを決定するステップは、前記複数の再構成されたPCサンプルをマージして、前記ターゲットPCサンプルを取得するステップを含む、条項1に記載の方法。
【0104】
条項6.前記ターゲットPCサンプルは、前記複数の再構成されたPCサンプル内の全ての点を含む、条項5に記載の方法。
【0105】
条項7.前記ターゲットPCサンプルは、前記複数の再構成されたPCサンプル内の一部の点を含む、条項5に記載の方法。
【0106】
条項8.前記一部の点は、ダウンサンプリング手順によって生成される、条項7に記載の方法。
【0107】
条項9.前記少なくとも1つの再構成されたPCサンプルは、複数の再構成されたPCサンプルを含み、前記ターゲットPCサンプルを決定するステップは、前記複数の再構成されたPCサンプルをマージすることで、少なくとも1つのマージされたPCサンプルを取得するステップと、前記ターゲットPCサンプルを取得するために、前記少なくとも1つのマージされたPCサンプルに対して処理手順を実行するステップと、を含む、条項1に記載の方法。
【0108】
条項10.前記処理手順は、サンプリング手順、又は、アップサンプリング手順のうちの少なくとも1つを含む、条項9に記載の方法。
【0109】
条項11.前記点群シーケンスのサンプルは、複数のサンプルグループ(GOS)に分割され、前記複数のGOSは、少なくとも1つのGOS構造に関連付けられる、条項1~10のいずれか1項に記載の方法。
【0110】
条項12.前記少なくとも1つのGOS構造の第1GOS構造内のサンプルは、前記少なくとも1つのGOS構造の第2GOS構造内のサンプルと異なる参照関係を有し、前記第2GOS構造は、前記第1GOS構造と異なる、条項11に記載の方法。
【0111】
条項13.前記複数のGOSの第1GOSは、前記少なくとも1つのGOS構造の第1GOS構造を有し、前記第a1GOSは、前記第1GOS内の第1サンプルに続くサンプルのセットを含み、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記サンプルのセットの各々は、それぞれのサンプルの直前に単一の参照サンプルを有する、条項11に記載の方法。
【0112】
条項14.前記第1GOS構造は、IPPPGOS構造である、条項13に記載の方法。
【0113】
条項15.前記複数のGOSの第2GOSは、前記少なくとも1つのGOS構造の第2GOS構造を有し、前記第2GOSは、前記第2GOS内の第1サンプルに続くサンプルのセットを含み、前記第1サンプルは、前記第2GOS内の最初の位置にあり、前記サンプルのセットのそれぞれは、2つの参照サンプルを有する、条項11に記載の方法。
【0114】
条項16.前記第2GOS構造は、IBBBGOS構造である、条項13に記載の方法。
【0115】
条項17.前記少なくとも1つのGOS構造は、単一のGOS構造を含む、条項11に記載の方法。
【0116】
条項18.前記少なくとも1つのGOS構造は、複数のGOS構造を含む、条項11~16のいずれか1項に記載の方法。
【0117】
条項19.1つのGOS構造のみが前記複数のサンプルグループの全てに適用されるか否かを示す少なくとも1つの第1指示は存在する、条項11~18のいずれか1項に記載の方法。
【0118】
条項20.前記少なくとも1つの第1指示は、前記ビットストリーム内に示される、条項19に記載の方法。
【0119】
条項21.前記少なくとも1つの第1指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、条項19又は20に記載の方法。
【0120】
条項22.前記少なくとも1つの第1指示は、予測的にコーディングされる、条項19又は20に記載の方法。
【0121】
条項23.第1GOS構造のみは前記複数のサンプルグループの全てに適用され、前記第1GOS構造を示す少なくとも1つの第2指示は存在し、又は、複数のGOS構造は前記複数のサンプルグループの全てに適用され、前記現在のPCサンプルについて、前記複数のGOS構造の第1GOS構造が現在のPCサンプルに適用されること示す少なくとも1つの第3指示は存在する、条項11~22のいずれか1項に記載の方法。
【0122】
条項24.前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、前記ビットストリーム内に示される、条項23に記載の方法。
【0123】
条項25.前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、条項23又は24に記載の方法。
【0124】
条項26.前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、予測的にコーディングされる、条項23又は24に記載の方法。
【0125】
条項27.前記複数のGOSの第1GOSの第1GOS構造は、前記第1GOSのGOS動き情報に基づいて決定される、条項11に記載の方法。
【0126】
条項28.前記GOS動き情報は、エンコーダで決定される、条項27に記載の方法。
【0127】
条項29.前記GOS動き情報は、前記第1GOS内の第1サンプルと前記第1GOSに続く第2GOS内の第2サンプルとの間の動き情報であり、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記第2サンプルは、前記第2GOS内の最初の位置にある、条項27又は28に記載の方法。
【0128】
条項30.前記GOS動き情報は、前記第1GOS内の第1サンプルと前記第1GOS内の第2サンプルとの間の動き情報であり、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記第2サンプルは、前記第1GOS内の最後の位置にある、条項27又は28に記載の方法。
【0129】
条項31.前記GOS動き情報は、前記第1GOS内の最初のI-sampleと前記第1GOS内の次のI-sampleとの間の動き情報である、条項27又は28に記載の方法。
【0130】
条項32.前記GOS動き情報がGOS制約条件を満たす場合に、前記第1GOS構造がIBBB GOS構造であると決定され、前記GOS動き情報が前記GOS制約条件を満たさない場合に、前記第1GOS構造がIPPP GOS構造であると決定される、条項27に記載の方法。
【0131】
条項33.前記GOS制約条件は、前記GOS動き情報が少なくとも1つの閾値よりも小さいことである、条項32に記載の方法。
【0132】
条項34.前記少なくとも1つの閾値は、エンコーダで決定される、条項33に記載の方法。
【0133】
条項35.前記少なくとも1つの閾値は、事前定義される、条項33に記載の方法。
【0134】
条項36.前記決定は、エンコーダ、又は、デコーダで行われる、条項27に記載の方法。
【0135】
条項37.サンプルは、フレームであり、GOSは、フレームグループ(GOF)である、条項11~36のいずれか1項に記載の方法。
【0136】
条項38.サンプルは、スライス、又は、ブロックである、条項11~36のいずれか1項に記載の方法。
【0137】
条項39.前記変換を実行するステップは、前記点群シーケンスの少なくとも1つのPCサンプルの少なくとも1つのグローバル動きに基づいて、前記現在のPCサンプルと前記参照PCサンプルとの間の累積グローバル動きを決定するステップと、前記累積グローバル動きに基づいて、前記変換を実行するステップと、を含む、条項1~10のいずれか1項に記載の方法。
【0138】
条項40.前記少なくとも1つのグローバル動きは、前記現在のPCサンプルと前記現在のPCサンプルの直前のPCサンプルとの間の第1グローバル動きを含み、前記第1グローバル動きは、外部で決定される、条項39に記載の方法。
【0139】
条項41.前記第1グローバル動きは、点群圧縮が実行される前に決定される、条項40に記載の方法。
【0140】
条項42.前記第1グローバル動きは、生データの一部である、条項41に記載の方法。
【0141】
条項43.前記第1グローバル動きは、前記現在のPCサンプルのグローバル動き推定に使用される、条項40~42のいずれか1項に記載の方法。
【0142】
条項44.前記現在のPCサンプルと前記参照PCサンプルとの間のフレーム距離は、距離閾値よりも大きく、前記累積グローバル動きは、外部で決定されたグローバル動きの代わりに使用される、条項39に記載の方法。
【0143】
条項45.前記累積グローバル動きは、エンコーダで決定される、条項39~44のいずれか1項に記載の方法。
【0144】
条項46.前記少なくとも1つのグローバル動きは、前記参照PCサンプル、及び、タイムスタンプ順での前記現在のPCサンプルの直前の少なくとも1つの連続するPCサンプルの、外部で決定されたグローバル動きを含む、条項39~45のいずれか1項に記載の方法。
【0145】
条項47.前記少なくとも1つのグローバル動きは、前記現在のPCサンプル、及び、タイムスタンプ順での前記参照PCサンプルの直前の少なくとも1つの連続するPCサンプルの、外部で決定されたグローバル動きを含む、条項39~45のいずれか1項に記載の方法。
【0146】
条項48.前記累積グローバル動きは、前記ビットストリーム内に示される、条項39~47のいずれか1項に記載の方法。
【0147】
条項49.前記累積グローバル動きは、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、条項39~48のいずれか1項に記載の方法。
【0148】
条項50.前記累積グローバル動きは、予測的にコーディングされる、条項39~48のいずれか1項に記載の方法。
【0149】
条項51.前記累積グローバル動きは、コンテキストコーディングでコーディングされる、条項39~48のいずれか1項に記載の方法。
【0150】
条項52.前記累積グローバル動きは、バイパスコーディングでコーディングされる、条項39~48のいずれか1項に記載の方法。
【0151】
条項53.属性インター閾値のセットは、前記現在のPCサンプルと前記少なくとも1つの参照PCサンプルの各々との間のフレーム距離に基づいて決定される、条項1~10のいずれか1項に記載の方法。
【0152】
条項54.前記少なくとも1つの参照PCサンプルの第1参照PCサンプルについて、前記属性インター閾値のセット内の少なくとも1つの属性インター閾値は、前記第1参照PCサンプルに基づいて、属性インター予測が前記現在のPCサンプルに適用される否かを決定することに使用される、条項53に記載の方法。
【0153】
条項55.前記少なくとも1つの属性インター閾値は、所定の閾値、及び、前記現在のPCサンプルと前記第1参照PCサンプルとの間のフレーム距離に基づいて決定される、条項54に記載の方法。
【0154】
条項56.前記少なくとも1つの参照PCサンプルは、第1参照PCサンプル及び第2参照PCサンプルを含み、前記第1参照PCサンプルの属性インター閾値要件は、前記第2参照PCサンプルの属性インター閾値要件よりも厳しく、前記第1参照PCサンプルと前記現在のPCサンプルとの間のフレーム距離は、前記第2参照PCサンプルと前記現在のPCサンプルとの間のフレーム距離よりも大きい、条項53に記載の方法。
【0155】
条項57.前記第1参照PCサンプルの属性インター閾値は、所定の閾値を前記第1参照PCサンプルと前記現在のPCサンプルとの間のフレーム距離で割ることで決定される、条項56に記載の方法。
【0156】
条項58.前記属性インター閾値のセットは、デコーダで決定される、条項53~57のいずれか1項に記載の方法。
【0157】
条項59.前記属性インター閾値のセットは、前記ビットストリーム内に示される、条項53~57のいずれか1項に記載の方法。
【0158】
条項60.前記現在のPCサンプルは、現在の点を含み、前記変換を実行するステップは、現在のPCサンプルの参照関係に基づく、前記現在のPCサンプルの探索範囲に基づいて、前記現在のPCサンプル内及び前記少なくとも1つの参照PCサンプル内の点から前記現在の点の少なくとも1つの近傍点を決定するステップと、前記少なくとも1つの近傍点に基づいて、前記変換を実行するステップと、を含む、条項1~10のいずれか1項に記載の方法。
【0159】
条項61.前記少なくとも1つの近傍点は、前記現在の点の少なくとも1つの最近傍点を含む、条項60に記載の方法。
【0160】
条項62.前記現在のPCサンプルは、複数の参照PCサンプルを含み、前記現在のPCサンプルに使用される前記探索範囲は、前記点群シーケンスのさらなるPCサンプルに使用される探索範囲よりも小さく、前記さらなるPCサンプルは、1つの参照PCサンプルを有する、条項60又は61に記載の方法。
【0161】
条項63.前記さらなるPCサンプルに使用される前記探索範囲は、第1数で示され、前記現在のPCサンプルに使用される前記探索範囲は、前記第1数よりも小さい第2数で示される、条項62に記載の方法。
【0162】
条項64.前記第2数は、前記第1数を前記複数の参照PCサンプル内の参照PCサンプルの数で割った数に等しい、条項63に記載の方法。
【0163】
条項65.前記現在のPCサンプルは、複数の参照PCサンプルを有し、前記現在のPCサンプルに使用される前記探索範囲は、前記点群シーケンスのさらなるPCサンプルに使用される探索範囲よりも大きく、前記さらなるPCサンプルは、1つの参照PCサンプルを有する、条項60又は61に記載の方法。
【0164】
条項66.前記現在のPCサンプルは、複数の参照PCサンプルを有し、前記現在のPCサンプルに使用される前記探索範囲は、前記点群シーケンスのさらなるPCサンプルに使用される探索範囲に等しく、前記さらなるPCサンプルは、1つの参照PCサンプルを有する、条項60又は61に記載の方法。
【0165】
条項67.前記現在のPCサンプルの前記探索範囲は、前記ビットストリーム内に示される、条項60~66のいずれか1項に記載の方法。
【0166】
条項68.前記変換を実行するステップは、前記少なくとも1つの参照PCサンプルに基づいて、前記現在のPCサンプルの八分木構造の層のセットに対してジオメトリインター予測を実行するステップを含む、条項1~10のいずれか1項に記載の方法。
【0167】
条項69.前記層のセットは、前記八分木構造の上位のN層を含み、Nは、非負の整数である、条項68に記載の方法。
【0168】
条項70.前記層のセットは、前記八分木構造の最後のN層を含み、Nは、非負の整数である、条項68に記載の方法。
【0169】
条項71.前記八分木構造は、複数の層を含み、ジオメトリコーディングは、前記八分木構造内で実行される、条項68~70のいずれか1項に記載の方法。
【0170】
条項72.ジオメトリイントラ予測は、前記八分木構造の全ての層に対して実行される、条項68~70のいずれか1項に記載の方法。
【0171】
条項73.前記少なくとも1つの参照PCサンプルは、1つの参照PCサンプルを含み、前記層のセットは、前記八分木構造の全ての層を含む、条項68に記載の方法。
【0172】
条項74.前記少なくとも1つの参照PCサンプルは、複数の参照PCサンプルを含み、前記層のセットは、前記八分木構造の上位のN層を含み、Nは、非負の整数である、条項68に記載の方法。
【0173】
条項75.Nは、所定の値である、条項74に記載の方法。
【0174】
条項76.Nは、エンコーダで決定される、条項74に記載の方法。
【0175】
条項77.Nは、前記層のセット内の各層のノードサイズに基づいて決定される、条項76に記載の方法。
【0176】
条項78.Nは、ローカル動き推定のための動きブロックのサイズに基づいて決定される、条項76に記載の方法。
【0177】
条項79.Nは、デコーダで決定される、条項74に記載の方法。
【0178】
条項80.Nは、前記層のセット内の各層のノードサイズに基づいて決定される、条項79に記載の方法。
【0179】
条項81.Nは、ローカル動き推定のための動きブロックのサイズに基づいて決定される、条項79に記載の方法。
【0180】
条項82.Nは、前記ビットストリーム内に示される、条項74~78のいずれか1項に記載の方法。
【0181】
条項83.Nは、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされる、条項82に記載の方法。
【0182】
条項84.Nは、予測的にコーディングされる、条項82に記載の方法。
【0183】
条項85.再構成されたPCサンプルが前記点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルである場合に、前記再構成されたPCサンプルは、一時的に保存される、条項1~10のいずれか1項に記載の方法。
【0184】
条項86.前記再構成されたPCサンプルは、エンコーダ又はデコーダで前記点群シーケンスのPCサンプルを再構成することで取得される、条項85に記載の方法。
【0185】
条項87.前記再構成されたPCサンプルは、エンコーダ及びデコーダで前記点群シーケンスのPCサンプルを再構成することで取得される、条項85に記載の方法。
【0186】
条項88.前記再構成されたPCサンプルは、前記点群シーケンスのPCサンプルの参照PCサンプルである、条項85~87のいずれか1項に記載の方法。
【0187】
条項89.前記再構成されたPCサンプルが前記少なくとも1つのPCサンプルの参照PCサンプルである場合に、前記再構成されたPCサンプルは、前記少なくとも1つのPCサンプルが処理されているときにメモリに記憶される、条項85に記載の方法。
【0188】
条項90.前記メモリは、前記再構成されたPCサンプルが他の任意のコーディング対象となるPCサンプルの参照PCではない場合に、解放される、条項86に記載の方法。
【0189】
条項91.前記現在のPCサンプルについて、前記現在のPCサンプルが前記点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルであるか否かを示す少なくとも1つの指示は存在する、条項86に記載の方法。
【0190】
条項92.前記少なくとも1つの指示の1つは、フラグである、条項91に記載の方法。
【0191】
条項93.前記フラグは、エンコーダで決定される、条項92に記載の方法。
【0192】
条項94.前記フラグは、デコーダで決定される、条項92に記載の方法。
【0193】
条項95.前記フラグは、前記ビットストリーム内に示される、条項92に記載の方法。
【0194】
条項96.前記少なくとも1つの指示の1つは、前記現在のPCサンプルを参照PCサンプルとして使用する前記少なくとも1つのPCサンプルの数である、条項91に記載の方法。
【0195】
条項97.前記数は、エンコーダで決定される、条項96に記載の方法。
【0196】
条項98.前記数は、前記少なくとも1つのPCサンプルがコーディングされているときに変更される、条項96又は97に記載の方法。
【0197】
条項99.前記数は、前記少なくとも1つのPCサンプルの1つがコーディングされた後に1つ減らされる、条項98に記載の方法。
【0198】
条項100.前記数が0に減らされた場合に、前記現在のPCサンプルを記憶するメモリは、解放される、条項98又は99に記載の方法。
【0199】
条項101.前記数は、デコーダで決定される、条項96に記載の方法。
【0200】
条項102.前記数は、前記ビットストリーム内に示される、条項96~100のいずれか1項に記載の方法。
【0201】
条項103.前記少なくとも1つの再構成されたPCサンプルをどのように記憶するかに関する情報は、前記現在のPCサンプルの前記ビットストリーム内に示される、条項1~10のいずれか1項に記載の方法。
【0202】
条項104.前記少なくとも1つの再構成されたPCサンプルの1つは、表示順でカウントされたインデックスによって識別される、条項103に記載の方法。
【0203】
条項105.前記少なくとも1つの再構成されたPCサンプルの1つは、符号化順又は復号順でカウントされたインデックスによって識別される、条項103に記載の方法。
【0204】
条項106.前記情報は、記憶対象となる再構成されたPCサンプルのセットを含む、条項103~105のいずれか1項に記載の方法。
【0205】
条項107.前記情報は、前記再構成されたPCサンプルのセットを記憶するバッファから削除されようとする再構成されたPCサンプルのセットを含む、条項103~105のいずれか1項に記載の方法。
【0206】
条項108.前記情報は、前記現在のPCサンプルの参照PCサンプルとして使用される再構成されたPCサンプルのセットを含む、条項103~105のいずれか1項に記載の方法。
【0207】
条項109.前記情報は、参照リスト内に含まれようとする再構成されたPCサンプルのセットを含む、条項103~105のいずれか1項に記載の方法。
【0208】
条項110.前記情報は、前記現在のPCサンプルの参照PCサンプルの順序を含む、条項103~105のいずれか1項に記載の方法。
【0209】
条項111.前記情報は、前記現在のPCサンプルに関連付けられた形態で前記ビットストリーム内に示される、条項103~110のいずれか1項に記載の方法。
【0210】
条項112.前記情報は、前記現在のPCサンプルと独立して前記ビットストリーム内に示される、条項103~110のいずれか1項に記載の方法。
【0211】
条項113.前記ターゲットPCサンプルは、前記現在のPCサンプルをコーディングするために、参照PCサンプルとして使用される、条項1~112のいずれか1項に記載の方法。
【0212】
条項114.PCサンプルは、フレーム、ピクチャ、スライス、タイル、サブピクチャ、ノード、点、又は、1つ又は複数のノード又は点を含むユニット、のうちの1つである、条項1~113のいずれか1項に記載の方法。
【0213】
条項115.前記変換は、前記現在のPCサンプルを前記ビットストリームに符号化すること、を含む、条項1~114のいずれか1項に記載の方法。
【0214】
条項116.前記変換は、前記ビットストリームから前記現在のPCサンプルを復号すること、を含む、条項1~114のいずれか1項に記載の方法。
【0215】
条項117.プロセッサと命令が記憶される非一時的なメモリと、を含む、点群データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに条項1~116のいずれか1項に記載の方法を実行させる、装置。
【0216】
条項118.プロセッサに条項1~116のいずれか1項に記載の方法を実行させる命令を記憶する、非一時的なコンピュータ可読記憶媒体。
【0217】
条項119.点群処理装置によって実行される方法で生成される、点群シーケンスのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、を含む、非一時的なコンピュータ可読記録媒体。
【0218】
条項120.点群シーケンスのビットストリームを記憶する方法であって、前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体内に記憶するステップと、を含む。
【0219】
例示的なデバイス
図11は、本開示の様々な実施形態を実施できるコンピューティングデバイス1100のブロック図を示す。コンピューティングデバイス1100は、ソースデバイス110(或いは、GPCCエンコーダ116又は200)又は宛先デバイス120(或いは、GPCCデコーダ126又は300)として実施されるか、又は、それに含まれ得る。
【0220】
図11に示されるコンピューティングデバイス1100は、単に説明を目的としたものであり、本開示の実施形態の機能及び範囲をいかなる態様でも制限することを示唆するものではないことが理解されるだろう。
【0221】
図11に示すように、コンピューティングデバイス1100は、汎用コンピューティングデバイス1100を含む。コンピューティングデバイス1100は、少なくとも1つ又は複数のプロセッサ又は処理ユニット1110と、メモリ1120と、記憶ユニット1130と、1つ又は複数の通信ユニット1140と、1つ又は複数の入力デバイス1150と、1つ又は複数の出力デバイス1160と、を含み得る。
【0222】
いくつかの実施形態では、コンピューティングデバイス1100は、コンピューティング能力を有する任意のユーザ端末又はサーバ端末として実施され得る。前記サーバ端末は、サービスプロバイダが提供するサーバや大規模コンピューティングデバイスなどであり得る。前記ユーザ端末は、例えば、携帯電話、ステーション、ユニット、デバイス、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、コミュニケータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、パーソナルコミュニケーションシステム(PCS)デバイス、パーソナルナビゲーションデバイス、携帯情報端末(PDA)、オーディオ/GPCCプレーヤー、デジタルカメラ/GPCCカメラ、測位デバイス、テレビ受信機、ラジオ放送受信機、電子ブックデバイス、ゲームデバイス、又は、それらの任意の組み合わせ(これらのデバイスのアクセサリ及び周辺機器、又は、それらの任意の組み合わせを含む)を含む、任意のタイプの移動端末、固定端末、又は、携帯端末であり得る。コンピューティングデバイス1100は、ユーザに対する任意のタイプのインターフェース(「ウェアラブル」回路など)をサポートできることが考えられる。
【0223】
処理ユニット1110は、物理又は仮想プロセッサであり、メモリ1120に格納されたプログラムに基づいて様々なプロセスを実施し得る。マルチプロセッサシステムでは、コンピューティングデバイス1100の並列処理能力を向上させるために、複数の処理ユニットが、コンピュータ実行可能命令を並列に実行する。処理ユニット1110は、中央処理ユニット(CPU)、マイクロプロセッサ、コントローラ、又はマイクロコントローラと呼ばれ得る。
【0224】
コンピューティングデバイス1100は、通常、様々なコンピュータ記憶媒体を含む。このような媒体は、揮発性及び不揮発性媒体、又は、取り外し可能及び取り外し不可能な媒体を含むが、これらに限定されない、コンピューティングデバイス1100によってアクセス可能な任意の媒体であり得る。メモリ1120は、揮発性メモリ(例えば、レジスタ、キャッシュ、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、フラッシュ メモリ)、又は、それらの任意の組み合わせであり得る。記憶ユニット1130は、任意の取り外し可能又は取り外し不可能な媒体であり、情報及び/又はデータを記憶するために使用でき、コンピューティングデバイス1100でアクセスできる、メモリ、フラッシュメモリドライブ、磁気ディスク、又は別の他の媒体などの機械可読媒体を含み得る。
【0225】
コンピューティングデバイス1100は、追加の取り外し可能/取り外し不可能、揮発性/不揮発性メモリ媒体をさらに含み得る。なお、図11には示していないが、着脱可能な不揮発性磁気ディスクの読み書きを行う磁気ディスクドライブや、着脱可能な不揮発性光ディスクの読み書きを行う光ディスクドライブを提供することが可能である。このような場合、各ドライブは、1つ又は複数のデータ媒体インターフェースを介して、バス(図示せず)に接続され得る。
【0226】
通信ユニット1140は、通信媒体を介して、さらなるコンピューティングデバイスと通信する。さらに、コンピューティングデバイス1100内のコンポーネントの機能は、通信接続を介して通信できる単一のコンピューティングクラスタ又は複数のコンピューティングマシンによって実施することができる。したがって、コンピューティングデバイス1100は、1つ又は複数の他のサーバ、ネットワーク化されたパーソナルコンピュータ(PC)、又は、さらなる一般的なネットワークノードとの論理接続を使用して、ネットワーク化された環境で動作することができる。
【0227】
入力デバイス1150は、マウス、キーボード、トラッキングボール、音声入力デバイスなどの様々な入力デバイスのうちの1つ又は複数であり得る。出力デバイス1160は、ディスプレイ、スピーカ、プリンタなどの様々な出力デバイスのうちの1つ又は複数であり得る。通信ユニット1140によって、コンピューティングデバイス1100は、記憶デバイス及び表示デバイスなどの1つ又は複数の外部デバイス(図示せず)とさらに通信することができ、1つ又は複数のデバイスにより、ユーザがコンピューティングデバイス1100と対話可能にするか、又は、必要に応じて、任意のデバイス(ネットワークカード、モデムなど)により、コンピューティングデバイス1100が1つ又は複数の他のコンピューティングデバイスと通信可能にする。このような通信は、入出力(I/O)インターフェース(図示せず)を介して、実行できる。
【0228】
いくつかの実施形態では、単一のデバイスに統合される代わりに、コンピューティングデバイス1100のいくつかの又はすべてのコンポーネントが、クラウドコンピューティングアーキテクチャに配置され得る。クラウドコンピューティングアーキテクチャでは、コンポーネントは遠隔的に提供され、連携して本開示で説明される機能を実施し得る。いくつかの実施形態では、クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス及びストレージサービスを提供し、これらのサービスを提供するシステム又はハードウェアの物理的な位置又は構成をエンドユーザが認識する必要はない。様々な実施形態において、クラウドコンピューティングは、適切なプロトコルを使用して、広域ネットワーク(インターネットなど)を介して、サービスを提供する。例えば、クラウドコンピューティングプロバイダーは、Webブラウザ又はその他のコンピューティングコンポーネントを通じてアクセスできる、広域ネットワーク経由でアプリケーションを提供する。クラウドコンピューティングアーキテクチャのソフトウェア又はコンポーネント及び対応するデータは、遠隔地にあるサーバに保存され得る。クラウドコンピューティング環境におけるコンピューティングリソースは、リモートデータセンターの場所に併合又は分散され得る。クラウドコンピューティングインフラストラクチャは、ユーザにとって単一のアクセスポイントとして動作するが、共有データセンターを通じて、サービスを提供し得る。したがって、クラウドコンピューティングアーキテクチャを使用して、本明細書で説明されるコンポーネント及び機能を、遠隔地にあるサービスプロバイダから提供し得る。代替形態として、それらは、従来のサーバから提供されるか、又は、クライアントデバイスに直接又はその他の方法でインストールされ得る。
【0229】
コンピューティングデバイス1100は、本開示の実施形態において、点群符号化/復号化を実施するために使用され得る。メモリ1120は、1つ又は複数のプログラム命令を有する1つ又は複数の点群コーディングモジュール1125を含み得る。これらのモジュールは、本明細書で説明される様々な実施形態の機能を実行するように、処理ユニット1110によって、アクセス可能かつ実行可能である。
【0230】
点群符号化を実行する例示的な実施形態では、入力デバイス1150は、符号化される点群データを、入力1170として受信し得る。点群データは、例えば、点群コーディングモジュール1125によって処理されて、符号化されたビットストリームを生成し得る。符号化されたビットストリームは、出力デバイス1160を介して、出力1180として提供され得る。
【0231】
点群復号化を実行する例示的な実施形態では、入力デバイス1150は、符号化されたビットストリームを、入力1170として受信し得る。符号化されたビットストリームは、例えば、点群コーディングモジュール1125によって処理されて、復号された点群データを生成し得る。復号されたGPCCデータは、出力デバイス1160を介して、出力1180として提供され得る。
【0232】
本開示は、その好ましい実施形態を参照して、特に、図示及び説明されたが、添付の特許請求の範囲によって定義される本出願の精神及び範囲から逸脱することなく、形態及び詳細における様々な変更を行うことができることが当業者には理解されるであろう。このような変形は、本出願の範囲に含まれるものとする。したがって、本出願の実施形態に関する前述の説明は、限定することを意図したものではない。
図1
図2
【図
図3
図4
図5
図6
図7
図8
図9
図10
図11
【手続補正書】
【提出日】2024-09-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
点群コーディング方法であって、
点群シーケンスの現在の点群(PC)サンプルと前記点群シーケンスのビットストリームとの間の変換中、前記現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、
前記ターゲットPCサンプルに基づいて変換を実行するステップと、を含む、方法。
【請求項2】
前記点群シーケンスのサンプルは、複数のサンプルグループ(GOS)に分割され、前記複数のGOSは、少なくとも1つのGOS構造に関連付けられる、
請求項に記載の方法。
【請求項3】
前記少なくとも1つのGOS構造の第1GOS構造内のサンプルは、前記少なくとも1つのGOS構造の第2GOS構造内のサンプルと異なる参照関係を有し、前記第2GOS構造は、前記第1GOS構造と異なるか、又は
前記複数のGOSの第1GOSは、前記少なくとも1つのGOS構造の第1GOS構造を有し、前記第1GOSは、前記第1GOS内の第1サンプルに続くサンプルのセットを含み、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記サンプルのセットの各々は、それぞれのサンプルの直前に単一の参照サンプルを有する、又は
前記複数のGOSの第2のGOSは、前記少なくとも1つのGOS構造の第2のGOS構造を有し、前記第2のGOSは、前記第2のGOS内の第1のサンプルに続くサンプルのセットを含み、前記第1のサンプルは、前記第2のGOS内の第1の位置にあり、前記サンプルのセットの各々は、2つの参照サンプルを有する、
請求項に記載の方法。
【請求項4】
前記第1GOS構造は、IPPP GOS構造であり、及び/又は、
前記第2GOS構造は、IBBB GOS構造である、
請求項に記載の方法。
【請求項5】
前記少なくとも1つのGOS構造は、単一のGOS構造を含むか、又は
前記少なくとも1つのGOS構造は、複数のGOS構造を含む、
請求項に記載の方法。
【請求項6】
複数GOS構造前記複数のサンプルグループの全てに適用され、前記現在のPCサンプルについて、前記複数のGOS構造の第1GOS構造が現在のPCサンプルに適用されること示す少なくとも1つの第3指示は存在する、
請求項に記載の方法。
【請求項7】
なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、前記ビットストリーム内に示され、及び/又は、
前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、固定長コーディング、単項コーディング、又は、切り捨て単項コーディングのうちの1つでコーディングされ、及び又は
前記少なくとも1つの第2指示、又は、前記少なくとも1つの第3指示は、予測的にコーディングされる、
請求項に記載の方法。
【請求項8】
前記複数のGOSの第1GOSの第1GOS構造は、前記第1GOSのGOS動き情報に基づいて決定される、
請求項に記載の方法。
【請求項9】
前記GOS動き情報は、エンコーダで決定され、及び/又は、
前記GOS動き情報は、前記第1GOS内の第1サンプルと前記第1GOSに続く第2GOS内の第2サンプルとの間の動き情報であり、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記第2サンプルは、前記第2GOS内の最初の位置にあり、及び/又は、
前記GOS動き情報は、前記第1GOS内の第1サンプルと前記第1GOS内の第2サンプルとの間の動き情報であり、前記第1サンプルは、前記第1GOS内の最初の位置にあり、前記第2サンプルは、前記第1GOS内の最後の位置にあり、及び/又は、
前記GOS動き情報は、前記第1GOS内の最初のI-sampleと前記第1GOS内の次のI-sampleとの間の動き情報であり、及び/又は、
前記GOS動き情報がGOS制約条件を満たす場合に、前記第1GOS構造がIBBB GOS構造であると決定され、 前記GOS動き情報が前記GOS制約条件を満たさない場合に、前記第1GOS構造がIPPP GOS構造であると決定される、
請求項に記載の方法。
【請求項10】
前記GOS制約条件は、前記GOS動き情報が少なくとも1つの閾値よりも小さいことである、
請求項に記載の方法。
【請求項11】
前記少なくとも1つの閾値は、エンコーダで決定されるか、又は
前記少なくとも1つの閾値は、事前定義される、
請求項10に記載の方法。
【請求項12】
前記変換を実行するステップは、
前記点群シーケンスの少なくとも1つのPCサンプルの少なくとも1つのグローバル動きに基づいて、前記現在のPCサンプルと前記参照PCサンプルとの間の累積グローバル動きを決定するステップと、
前記累積グローバル動きに基づいて、前記変換を実行するステップと、を含む、
請求項に記載の方法。
【請求項13】
属性インター閾値のセットは、前記現在のPCサンプルと前記少なくとも1つの参照PCサンプルの各々との間のフレーム距離に基づいて決定される、
請求項に記載の方法。
【請求項14】
前記現在のPCサンプルは、現在の点を含み、
前記変換を実行するステップは、
現在のPCサンプルの参照関係に基づく、前記現在のPCサンプルの探索範囲に基づいて、前記現在のPCサンプル内及び前記少なくとも1つの参照PCサンプル内の点から前記現在の点の少なくとも1つの近傍点を決定するステップと、
前記少なくとも1つの近傍点に基づいて、前記変換を実行するステップと、を含む、
請求項に記載の方法。
【請求項15】
再構成されたPCサンプルが前記点群シーケンスの少なくとも1つのPCサンプルの参照PCサンプルである場合に、前記再構成されたPCサンプルは、一時的に保存される、
請求項に記載の方法。
【請求項16】
前記変換は、前記現在のPCサンプルを前記ビットストリームに符号化すること、を含む、
請求項に記載の方法。
【請求項17】
前記変換は、前記ビットストリームから前記現在のPCサンプルを復号化すること、を含む、
請求項に記載の方法。
【請求項18】
プロセッサと命令が記憶される非一時的なメモリと、を含む、点群データを処理する装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに請求項1~17のいずれか1項に記載の方法を実行させる、装置。
【請求項19】
プロセッサに請求項1~17のいずれか1項に記載の方法を実行させる命令を記憶する、
非一時的なコンピュータ可読記憶媒体。
【請求項20】
点群シーケンスのビットストリームを記憶する方法であって、
前記点群シーケンスの現在のPCサンプルの少なくとも1つの参照PCサンプルの少なくとも1つの再構成されたPCサンプルに基づいて、前記現在のPCサンプルのターゲットPCサンプルを決定するステップと、
前記ターゲットPCサンプルに基づいて前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体内に記憶するステップと、を含む、方法。
【国際調査報告】