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

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

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特開2024-71473ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024071473
(43)【公開日】2024-05-24
(54)【発明の名称】ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
(51)【国際特許分類】
   G06T 9/40 20060101AFI20240517BHJP
   G06T 7/50 20170101ALI20240517BHJP
【FI】
G06T9/40
G06T7/50
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2024045132
(22)【出願日】2024-03-21
(62)【分割の表示】P 2022520572の分割
【原出願日】2020-10-05
(31)【優先権主張番号】62/910,398
(32)【優先日】2019-10-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】ホ ヘチョン
(72)【発明者】
【氏名】オ セチン
(57)【要約】
【課題】ポイントクラウドを効率的に送受信するためのポイントクラウドデータ送信方法を提供する。
【解決手段】実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを獲得する段階、前記ポイントクラウドデータのポイントの位置を含むジオメトリ情報を符号化する段階、前記ジオメトリ情報に基づいて前記ポイントクラウドデータのポイントの特質値を含む特質情報を符号化する段階、及び前記符号化されたジオメトリ情報、前記符号化された特質情報及びシグナリング情報を送信する段階を含む。
【選択図】図17
【特許請求の範囲】
【請求項1】
ポイントクラウドデータを獲得する段階と、
前記ポイントクラウドデータのポイントの位置を含むジオメトリ情報を符号化する段階と、
前記ジオメトリ情報に基づいて前記ポイントクラウドデータのポイントの特質値を含む特質情報を符号化する段階と、
前記符号化されたジオメトリ情報、前記符号化された特質情報及びシグナリング情報を送信する段階を含み、
前記特質情報を符号化する段階は、
符号化されるポイントの最隣接ポイントに基づいて予測器候補を生成する段階、
各予測器候補のスコアを得、最低のスコアを有する予測器候補に対応する予測モードを前記ポイントの予測モードとして設定する段階、及び
前記ポイントの予測モードと前記ポイントの予測モードに基づいて得られた残余の特質値を符号化する段階を含む、ポイントクラウドデータ送信方法。
【請求項2】
前記ポイントの最隣接ポイントの特質値の間の最大差値がしきい値と等しいか又は大きい、請求項1に記載のポイントクラウドデータ送信方法。
【請求項3】
前記特質情報を符号化する段階は、
予測モード1ないし予測モード3のうちのいずれかを前記ポイントの予測モードとして設定し、
前記予測モード1において、前記ポイントの予測特質値は前記最隣接ポイントのうち、一番近い隣接ポイントの特質値に基づいて決定され、
前記予測モード2において、前記ポイントの予測特質値は前記最隣接ポイントのうち、二番目に近い隣接ポイントの特質値に基づいて決定され、
前記予測モード3において、前記ポイントの予測特質値は前記最隣接ポイントのうち、三番目に近い隣接ポイントの特質値に基づいて決定される、請求項2に記載のポイントクラウドデータ送信方法。
【請求項4】
前記特質情報を符号化する段階は、
前記予測モード1ないし予測モード3をそれぞれ適用して求めた各残余の特質値に基づいて、各予測器候補のスコアを得る、請求項3に記載のポイントクラウドデータ送信方法。
【請求項5】
前記特質情報を符号化する段階は、
前記ポイントの最隣接ポイントの特質値の間の最大差値がしきい値より小さいと、前記ポイントの予測モードとして所定の予測モードを設定する段階と、
前記設定された予測モードに基づいて得られた残余の特質値を符号化する段階を含み、
前記所定の予測モードは予測モード0であり、
前記予測モード0において、前記ポイントの予測特質値は前記最隣接ポイントの距離基盤の加重値平均値により決定される、請求項2に記載のポイントクラウドデータ送信方法。
【請求項6】
ポイントクラウドデータを獲得する獲得部と、
前記ポイントクラウドデータのポイントの位置を含むジオメトリ情報を符号化するジオメトリエンコーダと、
前記ジオメトリ情報に基づいて前記ポイントクラウドデータのポイントの特質値を含む特質情報を符号化する特質エンコーダと、
前記符号化されたジオメトリ情報、前記符号化された特質情報及びシグナリング情報を送信する送信部を含み、
前記特質エンコーダは、
符号化されるポイントの最隣接ポイントに基づいて予測器候補を生成し、
各予測器候補のスコアを得た後、最低のスコアを有する予測器候補に対応する予測モードを前記ポイントの予測モードとして設定し、
前記ポイントの予測モードと前記予測モードに基づいて得られた残余の特質値を符号化する、ポイントクラウドデータ送信装置。
【請求項7】
前記ポイントの最隣接ポイントの特質値の間の最大差値がしきい値と等しいか又は大きい、請求項6に記載のポイントクラウドデータ送信装置。
【請求項8】
前記特質エンコーダは、
予測モード1ないし予測モード3のうちのいずれかを前記ポイントの予測モードとして設定し、
前記予測モード1において、前記ポイントの予測特質値は前記最隣接ポイントのうち、一番近い隣接ポイントの特質値に基づいて決定され、
前記予測モード2において、前記ポイントの予測特質値は前記最隣接ポイントのうち、二番目に近い隣接ポイントの特質値に基づいて決定され、
前記予測モード3において、前記ポイントの予測特質値は前記最隣接ポイントのうち、三番目に近い隣接ポイントの特質値に基づいて決定される、請求項7に記載のポイントクラウドデータ送信装置。
【請求項9】
前記特質エンコーダは、
前記予測モード1ないし予測モード3をそれぞれ適用して求めた各残余の特質値に基づいて、各予測器候補のスコアを得る、請求項8に記載のポイントクラウドデータ送信装置。
【請求項10】
前記特質エンコーダは、
前記ポイントの最隣接ポイントの特質値の間の最大差値がしきい値より小さいと、前記ポイントの予測モードとして所定の予測モードを設定し、前記設定された予測モードに基づいて得られた残余の特質値を符号化し、
前記所定の予測モードは予測モード0であり、
前記予測モード0において、前記ポイントの予測特質値は前記最隣接ポイントの距離基盤の加重値平均値により決定される、請求項7に記載のポイントクラウドデータ送信装置。
【請求項11】
ジオメトリ情報、特質情報及びシグナリング情報を受信する受信部と、
前記シグナリング情報に基づいて前記ジオメトリ情報を復号してポイントの位置を復元するジオメトリデコーダと、
前記シグナリング情報と前記ジオメトリ情報に基づいて前記特質情報を復号して前記ポイントの特質値を復元する特質デコーダと、
前記ポイントの位置と特質値に基づいて復元されたポイントクラウドデータをレンダリングするレンダラーを含み、
前記特質デコーダは、
復号されるポイントの予測モードを得、前記ポイントの予測モードに基づいて前記ポイントの予測特質値を得、前記ポイントの予測特質値と前記特質情報に含まれた前記ポイントの残余の特質値に基づいて前記ポイントの特質値を復元する、ポイントクラウドデータ受信装置。
【請求項12】
前記特質デコーダは、
前記ポイントの最隣接ポイントの特質値の間の最大差値がしきい値と等しいか又は大きいと、前記特質情報から前記ポイントの予測モードを得、
前記得られた予測モードは予測モード1ないし予測モード3のうちのいずれかである、請求項11に記載のポイントクラウドデータ受信装置。
【請求項13】
前記予測モード1において、前記ポイントの予測特質値は前記最隣接ポイントのうち、一番近い隣接ポイントの特質値に基づいて決定され、
前記予測モード2において、前記ポイントの予測特質値は前記最隣接ポイントのうち、二番目に近い隣接ポイントの特質値に基づいて決定され、
前記予測モード3において、前記ポイントの予測特質値は前記最隣接ポイントのうち、三番目に近い隣接ポイントの特質値に基づいて決定される、請求項12に記載のポイントクラウドデータ受信装置。
【請求項14】
前記ポイントの最隣接ポイントの特質値の間の最大差値がしきい値より小さいと、前記ポイントの予測モードは所定の予測モードである、請求項12に記載のポイントクラウドデータ受信装置。
【請求項15】
前記所定の予測モードは予測モード0であり、
前記予測モード0において、前記ポイントの予測特質値は前記最隣接ポイントの距離基盤の加重値平均値により決定される、請求項14に記載のポイントクラウドデータ受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
実施例はポイントクラウドコンテンツ(Point Cloud Content)を処理する方法及び装置に関する。
【背景技術】
【0002】
ポイントクラウドコンテンツは3次元空間を表現する座標系に属する点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは3次元からなるメディアを表現でき、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、XR(Extended Reality),複合現実)及び自律走行サービスなどの様々なサービスを提供するために使用される。しかし、ポイントクラウドコンテンツを表現するためには、数万から数十万個のポイントデータが必要である。従って、膨大な量のポイントデータを効率的に処理する方法が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
実施例による技術的課題は、上述した問題などを解決するために、ポイントクラウドを効率的に送受信するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0004】
実施例による技術的課題は、遅延時間(latency)及び符号化/復号の複雑度を解決するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0005】
実施例による技術的課題は、ジオメトリ基盤のポイントクラウド圧縮(Geometry-based point cloud compression、G-PCC)の特質(attribute)情報の符号化技術を改善してポイントクラウドの圧縮性能を向上させるポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0006】
実施例による技術的課題は、G-PCCの特質情報の並列処理を支援しながら圧縮効率を向上させるためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0007】
実施例による技術的課題は、G-PCCの特質情報を符号化するとき、予測器候補のうち、適合する予測器候補を選択する方法を提案することにより、特質ビットストリームのサイズを縮め、特質圧縮の効率を高めるポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0008】
但し、上述した技術的課題のみに制限されず、記載する全ての内容に基づいて当業者が導き出される他の技術的課題まで実施例の権利範囲を拡張することができる。
【課題を解決するための手段】
【0009】
上記の目的及び他の利点を達成するために、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを獲得する段階、ポイントクラウドデータのポイントの位置を含むジオメトリ情報を符号化する段階、ジオメトリ情報に基づいてポイントクラウドデータのポイントの特質値を含む特質情報を符号化する段階、及び符号化されたジオメトリ情報、符号化された特質情報及びシグナリング情報を送信する段階を含む。
【0010】
特質情報を符号化する段階は、符号化されるポイントの最隣接ポイントに基づいて予測器候補を生成する段階、各予測器候補のスコアを得、最低のスコアを有する予測器候補に対応する予測モードをポイントの予測モードとして設定する段階、及びポイントの予測モードとポイントの予測モードに基づいて得られた残余の特質値を符号化する段階を含むことを一実施例とする。
【0011】
最隣接ポイントの特質値の間の最大差値がしきい値と等しいか又は大きいことを一実施例とする。
【0012】
特質情報を符号化する段階は、予測モード1ないし予測モード3のうちのいずれかをポイントの予測モードとして設定し、予測モード1において、ポイントの予測特質値は最隣接ポイントのうち、一番近い隣接ポイントの特質値に基づいて決定され、予測モード2において、ポイントの予測特質値は最隣接ポイントのうち、二番目に近い隣接ポイントの特質値に基づいて決定され、予測モード3において、ポイントの予測特質値は最隣接ポイントのうち、三番目に近い隣接ポイントの特質値に基づいて決定されることを一実施例とする。
【0013】
特質情報を符号化する段階は、予測モード1ないし予測モード3をそれぞれ適用して求めた各残余の特質値に基づいて、各予測器候補のスコアを得ることを一実施例とする。
【0014】
特質情報を符号化する段階は、ポイントの最隣接ポイントの特質値の間の最大差値がしきい値より小さいと、ポイントの予測モードとして所定の予測モードを設定する段階、及び設定された予測モードに基づいて得られた残余の特質値を符号化する段階を含む。
【0015】
所定の予測モードは予測モード0であり、予測モード0において、ポイントの予測特質値は最隣接ポイントの距離基盤の加重値平均値により決定されることを一実施例とする。
【0016】
実施例によるポイントクラウドデータ送信装置は、ポイントクラウドデータを獲得する獲得部、ポイントクラウドデータのポイントの位置を含むジオメトリ情報を符号化するジオメトリエンコーダ、ジオメトリ情報に基づいてポイントクラウドデータのポイントの特質値を含む特質情報を符号化する特質エンコーダ、及び符号化されたジオメトリ情報、符号化された特質情報及びシグナリング情報を送信する送信部を含む。
【0017】
特質エンコーダは、符号化されるポイントの最隣接ポイントに基づいて予測器候補を生成し、各予測器候補のスコアを得た後、最低のスコアを有する予測器候補に対応する予測モードをポイントの予測モードとして設定し、ポイントの予測モードと予測モードに基づいて得られた残余の特質値を符号化することを一実施例とする。
【0018】
ポイントの最隣接ポイントの特質値の間の最大差値がしきい値と等しいか又は大きいことを一実施例とする。
【0019】
特質エンコーダは、予測モード1ないし予測モード3のうちのいずれかをポイントの予測モードとして設定し、予測モード1において、ポイントの予測特質値は最隣接ポイントのうち、一番近い隣接ポイントの特質値に基づいて決定され、予測モード2において、ポイントの予測特質値は最隣接ポイントのうち、二番目に近い隣接ポイントの特質値に基づいて決定され、予測モード3において、ポイントの予測特質値は最隣接ポイントのうち、三番目に近い隣接ポイントの特質値に基づいて決定されることを一実施例とする。
【0020】
特質エンコーダは、予測モード1ないし予測モード3をそれぞれ適用して求めた各残余の特質値に基づいて、各予測器候補のスコアを得ることを一実施例とする。
【0021】
特質エンコーダは、ポイントの最隣接ポイントの特質値の間の最大差値がしきい値より小さいと、ポイントの予測モードとして所定の予測モードを設定し、設定された予測モードに基づいて得られた残余の特質値を符号化することを一実施例とする。
【0022】
所定の予測モードは予測モード0であり、予測モード0において、ポイントの予測特質値は最隣接ポイントの距離基盤の加重値平均値により決定されることを一実施例とする。
【0023】
実施例によるポイントクラウドデータ受信装置は、ジオメトリ情報、特質情報及びシグナリング情報を受信する受信部、シグナリング情報に基づいてジオメトリ情報を復号してポイントの位置を復元するジオメトリデコーダ、シグナリング情報とジオメトリ情報に基づいて特質情報を復号してポイントの特質値を復元する特質デコーダ、及びポイントの位置と特質値に基づいて復元されたポイントクラウドデータをレンダリングするレンダラーを含む。
【0024】
特質デコーダは、復号されるポイントの予測モードを得、ポイントの予測モードに基づいてポイントの予測特質値を得、ポイントの予測特質値と特質情報に含まれたポイントの残余の特質値に基づいてポイントの特質値を復元することを一実施例とする。
【0025】
特質デコーダは、ポイントの最隣接ポイントの特質値の間の最大差値がしきい値と等しいか又は大きいと、特質情報からポイントの予測モードを得、得られた予測モードは予測モード1ないし予測モード3のうちのいずれかであることを一実施例とする。
【0026】
予測モード1において、ポイントの予測特質値は最隣接ポイントのうち、一番近い隣接ポイントの特質値に基づいて決定され、予測モード2において、ポイントの予測特質値は最隣接ポイントのうち、二番目に近い隣接ポイントの特質値に基づいて決定され、予測モード3において、ポイントの予測特質値は最隣接ポイントのうち、三番目に近い隣接ポイントの特質値に基づいて決定されることを一実施例とする。
【0027】
ポイントの最隣接ポイントの特質値の間の最大差値がしきい値より小さいと、ポイントの予測モードは所定の予測モードであることを一実施例とする。
【0028】
所定の予測モードは予測モード0であり、予測モード0において、ポイントの予測特質値は最隣接ポイントの距離基盤の加重値平均値により決定されることを一実施例とする。
【発明の効果】
【0029】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、良質のポイントクラウドサービスを提供する。
【0030】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、様々なビデオコーデック方式を達成する。
【0031】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、自立走行サービスなどの汎用的なポイントクラウドコンテンツを提供する。
【0032】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、ポイントクラウドデータの独立的な符号化及び復号のためにポイントクラウドデータの空間適応的分割を行うことにより、並列処理の向上及び拡張性(scalability)を提供する。
【0033】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、ポイントクラウドデータをタイル及び/又はスライス単位に空間分割して符号化及び復号を行い、そのために必要なデータをシグナリングすることにより、ポイントクラウドの符号化及び復号の性能を向上させることができる。
【0034】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、特質情報を符号化するとき、予測器候補のうち、最も適合する予測器を選択する方法を変更することにより、特質情報のビットストリームのサイズを縮め、特質情報の圧縮効率を向上させることができる。
【0035】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差値が所定のしきい値と等しいか又は大きいと、加重値平均により予測特質値を計算する予測モードが、該当ポイントの予測モードとして設定されないようにすることにより、残余の特質値を含む特質ビットストリームのサイズを縮めることができ、これにより、特質の圧縮効率を向上させることができる。
【図面の簡単な説明】
【0036】
添付図面は実施例をより明確に理解するためのものであり、実施例に関連する説明と共に実施例を示している。
【0037】
図1】実施例によるポイントクラウドのコンテンツ提供のためのシステムを示す図である。
【0038】
図2】実施例によるポイントクラウドのコンテンツ提供のための過程を示す図である。
【0039】
図3】実施例によるポイントクラウドのキャプチャー装備の配列構成を示す図である。
【0040】
図4】実施例によるポイントクラウドビデオエンコーダ(point Cloud Video Encoder)を示す図である。
【0041】
図5】実施例による3次元空間上のボクセルを示す図である。
【0042】
図6】実施例による八分木及び占有コードの一例を示す図である。
【0043】
図7】実施例による隣接ノードパターンの一例を示す図である。
【0044】
図8】実施例によるLODごとのポイントクラウドコンテンツのポイント構成の一例を示す図である。
【0045】
図9】実施例によるLODごとのポイントクラウドコンテンツのポイント構成の一例を示す図である。
【0046】
図10】実施例によるポイントクラウドビデオデコーダ(point Cloud Video Decoder)のブロック図(block diagram)の一例である。
【0047】
図11】実施例によるポイントクラウドビデオデコーダ(point Cloud Video Decoder)の一例を示す図である。
【0048】
図12】実施例による送信機のポイントクラウドビデオ符号化のための構成要素を示す図である。
【0049】
図13】実施例による受信機のポイントクラウドビデオ復号のための構成要素を示す図である。
【0050】
図14】実施例によるポイントクラウドデータ方法/装置に連動可能な構造の一例を示す図である。
【0051】
図15】実施例によるポイントクラウド送信装置のさらに他の例を示す図である。
【0052】
図16】境界ボックスを一つ以上のタイルに分割する一例を示す図である。
【0053】
図17】実施例によるジオメトリエンコーダと特質エンコーダのさらに他の例を示す詳細ブロック図である。
【0054】
図18】実施例による予測モードを設定する方法の一例を示すフローチャートである。
【0055】
図19】実施例による予測モードを設定する方法の他の例を示すフローチャートである。
【0056】
図20】実施例によるポイントクラウド受信装置のさらに他の例を示す図である。
【0057】
図21】実施例によるジオメトリデコーダと特質デコーダのさらに他の例を示す詳細ブロック図である。
【0058】
図22】実施例による送受信のためのポイントクラウドデータのビットストリーム構造の一例を示す図である。
【0059】
図23】実施例によるポイントクラウドデータのビットストリーム構造の一例を示す図である。
【0060】
図24】実施例によるポイントクラウドデータのビットストリーム内の構成間連結関係を示す図である。
【0061】
図25】この明細書によるシーケンスパラメータセットのシンタックス構造の一例を示す図である。
【0062】
図26】この明細書によるジオメトリパラメータセットのシンタックス構造の一例を示す図である。
【0063】
図27】この明細書による特質パラメータセットのシンタックス構造の一例を示す図である。
【0064】
図28】この明細書によるタイルのパラメータセットのシンタックス構造の一例を示す図である。
【0065】
図29】この明細書によるジオメトリスライスビットストリームのシンタックス構造の一例を示す図である。
【0066】
図30】この明細書によるジオメトリスライスヘッダのシンタックス構造の一例を示す図である。
【0067】
図31】この明細書によるジオメトリスライスデータのシンタックス構造の一例を示す図である。
【0068】
図32】この明細書による特質スライスビットストリームのシンタックス構造の一例を示す図である。
【0069】
図33】この明細書による特質スライスヘッダのシンタックス構造の一例を示す図である。
【0070】
図34】この明細書による特質スライスデータのシンタックス構造の一例を示す図である。
【0071】
図35】実施例によるポイントクラウドデータ送信方法を示すフローチャートである。
【0072】
図36】実施例によるポイントクラウドデータ受信方法を示すフローチャートである。
【発明を実施するための形態】
【0073】
以下、添付図面を参照しながらこの明細書に記載された実施例について詳しく説明するが、図面符号に関係なく、同一又は類似する構成要素には同じ参照符号を付し、重複する説明は省略する。以下の実施例は本発明を具体化するためのものであり、本発明の権利範囲を制限又は限定するものではない。本発明の詳細な説明及び実施例から本発明が属する技術分野の専門家が容易に類推できるものは本発明の権利範囲に属するものと解釈される。
【0074】
この明細書の詳細な説明は全ての面で制限的に解釈されてはいけず、例示的なものとして考慮されるべきである。本発明の範囲は添付する請求範囲の合理的な解釈に基づいて決定されるべきであり、本発明の等価的範囲内での全ての変更は本発明の範囲に含まれる。
【0075】
添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというより、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に関する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものもあり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解されるべきである。また、以下の図面及び詳細な説明は具体的に記載された実施例に限って解釈してはいけず、図面及び詳細な説明に記載の実施例と均等又は代替可能なものまで含むものと解釈すべきである。
【0076】
図1は実施例によるポイントクラウドコンテンツ提供システムの一例を示す図である。
【0077】
図1に示したポイントクラウドコンテンツ提供システムは、送信装置(transmission device)10000及び受信装置(reception device)10004を含む。送信装置10000及び受信装置10004はポイントクラウドデータを送受信するために有無線通信が可能である。
【0078】
実施例による送信装置10000は、ポイントクラウドビデオ(又はポイントクラウドコンテンツ)を確保し処理して送信する。実施例において、送信装置10000は固定局(fixed station)、BTS(base transceiver system)、ネットワーク、AI(Ariticial Intelligence)機器及び/又はシステム、ロボット、AR/VR/XR機器及び/又はサーバーなどを含む。また実施例において、送信装置10000は無線接続技術(例、5G NR(New RAT)、LTE(Long Term Evolution))を用いて、基地局及び/又は他の無線機器と通信を行う機器、ロボット、車両、AR/VR/XR機器、携帯機器、家電、IoT(Internet of Thing)機器、AI機器/サーバーなどを含む。
【0079】
実施例による送信装置10000は、ポイントクラウドビデオ獲得部(Point Cloud Video Acquisition)10001、ポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)10002及び/又は送信機(Transmitter(又は通信モジュール)10003を含む。
【0080】
実施例によるポイントクラウドビデオ獲得部10001は、キャプチャー、合成又は生成などの処理過程によりポイントクラウドビデオを獲得する。ポイントクラウドビデオは、3次元空間に位置するポイントの集合であるポイントクラウドで表現されるポイントクラウドコンテンツであって、ポイントクラウドビデオデータなどと呼ばれる。実施例によるポイントクラウドビデオは、一つ又はそれ以上のフレームを含む。一つのフレームは停止映像/ピクチャを示す。よって、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャを含み、ポイントクラウド映像、フレーム及びピクチャのうちのいずれかに呼ばれる。
【0081】
実施例によるポイントクラウドビデオエンコーダ10002は、確保したポイントクラウドビデオデータを符号化する。ポイントクラウドビデオエンコーダ10002はポイントクラウド圧縮(Point Cloud Compression)コーディングに基づいてポイントクラウドビデオデータを符号化する。実施例によるポイントクラウド圧縮コーディングは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング又は次世代コーディングを含む。なお、実施例によるポイントクラウド圧縮コーディングは、上述した実施例に限られない。ポイントクラウドビデオエンコーダ10002は、符号化されたポイントクラウドビデオデータを含むビットストリームを出力することができる。ビットストリームは符号化されたポイントクラウドビデオデータだけではなく、ポイントクラウドビデオデータの符号化に関連するシグナリング情報を含む。
【0082】
実施例による送信機10003は、符号化されたポイントクラウドビデオデータを含むビットストリームを送信する。実施例によるビットストリームはファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化されて、放送網及び/又はブロードバンド網などの様々なネットワークにより送信される。図示していないが、送信装置10000はカプセル化動作を行うカプセル化部(又はカプセル化モジュール)を含む。また実施例において、カプセル化部は送信機10003に含まれる。実施例において、ファイル又はセグメントはネットワークにより受信装置10004に送信されるか、又はデジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信機10003は受信装置10004(又は受信機(Receiver)10005)と4G、5G、6Gなどのネットワークにより有無線通信が可能である。また送信機10003はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行うことができる。また送信装置10000はオン・デマンド(On Demand)方式によってカプセル化されたデータを送信することもできる。
【0083】
実施例による受信装置10004は、受信機(Receiver)10005、ポイントクラウドビデオデコーダ(Point Cloud Decoder)10006及び/又はレンダラー(Renderer)10007を含む。実施例において、受信装置10004は無線接続技術(例、5G NR(New RAT)、LTE(Long Term Evolution))を用いて、基地局及び/又は他の無線機器と通信を行う機器、ロボット、車両、AR/VR/XR機器、携帯機器、家電、IoT(Internet of Thing)機器、AI機器/サーバーなどを含む。
【0084】
実施例による受信機10005は、ポイントクラウドビデオデータを含むビットストリーム又はビットストリームがカプセル化されたファイル/セグメントなどをネットワーク又は格納媒体から受信する。受信機10005はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)により必要なデータ処理動作を行う。実施例による受信機10005は、受信したファイル/セグメントをデカプセル化してビットストリームを出力する。また実施例において、受信機10005はデカプセル化の動作を行うためのデカプセル化部(又はデカプセル化モジュール)を含む。またデカプセル化部は受信機10005とは別個のエレメント(又はコンポーネント)で具現される。
【0085】
ポイントクラウドビデオデコーダ10006は、ポイントクラウドビデオデータを含むビットストリームを復号する。ポイントクラウドビデオデコーダ10006はポイントクラウドビデオデータが符号化された方式により復号することができる(例えば、ポイントクラウドビデオエンコーダ10002の動作の逆の過程)。従って、ポイントクラウドビデオデコーダ10006はポイントクラウド圧縮の逆過程であるポイントクラウド復元コーディングを行って、ポイントクラウドビデオデータを復号することができる。ポイントクラウド復元コーディングはG-PCCコーディングを含む。
【0086】
レンダラー10007は復号されたポイントクラウドビデオデータをレンダリングする。レンダラー10007はポイントクラウドビデオデータだけではなく、オディオデータもレンダリングしてポイントクラウドコンテンツを出力する。実施例において、レンダラー10007はポイントクラウドコンテンツをディスプレイするためのディスプレイを含む。実施例において、ディスプレイはレンダラー10007に含まれず、別のデバイス又はコンポーネントで具現される。
【0087】
図面において、点線で示した矢印は、受信装置10004で得たフィードバック情報(feedback information)の送信経路を示す。フィードバック情報はポイントクラウドコンテンツを消費するユーザとの相互作用を反映するための情報であって、ユーザの情報を含む(例えば、ヘッドオリエンテーション情報)、ビューポート情報など)。特に、ポイントクラウドコンテンツがユーザとの相互作用が必要なサービス(例えば、自律走行サービスなど)のためのものである場合には、フィードバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサービス供給者に伝達されることができる。実施例において、フィードバック情報は送信装置10000だけではなく受信装置10004でも使用されることができ、提供されないこともできる。
【0088】
実施例によるヘッドオリエンテーション情報はユーザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10004はヘッドオリエンテーション情報に基づいてビューポート情報を計算する。ビューポート情報はユーザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユーザがポイントクラウドビデオを見ている点であり、ビューポート領域の真ん中を意味する。即ち、ビューポートは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004はヘッドオリエンテーション情報以外に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビューポート情報を抽出することができる。また受信装置10004はゲイズ分析(Gaze Analysis)などを行って、ユーザのポイントクラウド消費方式、ユーザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例において、受信装置10004はゲイズ分析の結果を含むフィードバック情報を送信装置10000に送信することができる。実施例によるフィードバック情報はレンダリング及び/又はディスプレイ過程で得られる。実施例によるフィードバック情報は受信装置10004に含まれた一つ又はそれ以上のセンサにより確保される。また実施例において、フィードバック情報はレンダラー10007又は別の外部エレメント(又はデバイス、コンポーネントなど)により確保される。
【0089】
図1に示された点線はレンダラー10007で確保したフィードバック情報の伝達過程を示す。ポイントクラウドコンテンツ提供システムはフィードバック情報に基づいてポイントクラウドデータを処理(符号化/復号)する。従って、ポイントクラウドビデオデータデコーダ10006はフィードバック情報に基づいて復号の動作を行うことができる。また受信装置10004はフィードバック情報を送信装置10000に送信することができる。送信装置10000(又はポイントクラウドビデオデータエンコーダ10002)はフィードバック情報に基づいて符号化の動作を行うことができる。従って、ポイントクラウドコンテンツ提供システムは全てのポイントクラウドデータを処理(符号化/復号)せず、フィードバック情報に基づいて必要なデータ(例えば、ユーザのヘッド位置に対応するポイントクラウドデータ)を効率的に処理して、ユーザにポイントクラウドコンテンツを提供することができる。
【0090】
実施例において、送信装置10000はエンコーダ、送信デバイス、送信機などに呼ばれ、受信装置10004はデコーダ、受信デバイス、受信機などに呼ばれる。
【0091】
実施例による図1のポイントクラウドコンテンツ提供システムで処理される(獲得/符号化/送信/復号/レンダリングの一連の過程で処理される)ポイントクラウドデータは、ポイントクラウドコンテンツデータ又はポイントクラウドビデオデータとも呼ばれる。実施例において、ポイントクラウドコンテンツデータはポイントクラウドデータに関連するメタデータ或いはシグナリング情報を含む概念として使用することができる。
【0092】
図1に示したポイントクラウドコンテンツ提供システムのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はこれらの組み合わせなどで具現される。
【0093】
図2は実施例によるポイントクラウドコンテンツ提供の動作を示すブロック図である。
【0094】
図2図1で説明したポイントクラウドコンテンツ提供システムの動作を示すブロック図である。上述したように、ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディング(例えば、G-PCC)に基づいてポイントクラウドデータを処理する。
【0095】
実施例によるポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置10000又はポイントクラウドビデオ獲得部10001)では、ポイントクラウドビデオを獲得する(20000)。ポイントクラウドビデオは3次元空間を表現する座標系に属するポイントクラウドで表現される。実施例によるポイントクラウドビデオはPly(Polygon File format or the Stanford Triangle format)ファイルを含む。ポイントクラウドビデオが一つ又はそれ以上のフレームを有する場合、獲得したポイントクラウドビデオは一つ又はそれ以上のPlyファイルを含む。Plyファイルはポイントのジオメトリ(Geometry)及び/又は特質(Attribute)のようなポイントクラウドデータを含む。ジオメトリはポイントの位置を含む。それぞれのポイントの位置は3次元座標系(例えば、XYZ軸からなる座標系など)を示すパラメータ(例えば、X軸、Y軸、Z軸それぞれの値)で表現される。特質はポイントの特質(例えば、それぞれのポイントのテクスチャ情報、色相(YCbCr又はRGB)、反射率(r)、透明度など)を含む。一つのポイントは一つ又はそれ以上の特質(又は属性)を有する。例えば、一つのポイントは、色相の一つの特質を有するか、或いは色相及び反射率の二つの特質を有することができる。
【0096】
実施例において、ジオメトリは位置、ジオメトリ情報、ジオメトリデータなどとも呼ばれ、特質は特質、特質情報、特質データなどとも呼ばれる。
【0097】
またポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置10000又はポイントクラウドビデオ獲得部10001)は、ポイントクラウドビデオの獲得過程に関連する情報(例えば、深さ情報、色相情報など)からポイントクラウドデータを確保することができる。
【0098】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又はポイントクラウドビデオエンコーダ10002)は、ポイントクラウドデータを符号化する(20001)。ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディングに基づいてポイントクラウドデータを符号化する。上述したように、ポイントクラウドデータはポイントのジオメトリ及び特質を含む。よって、ポイントクラウドコンテンツ提供システムは、ジオメトリを符号化するジオメトリ符号化を行ってジオメトリビットストリームを出力することができる。ポイントクラウドコンテンツ提供システムは、特質を符号化する特質符号化を行って特質ビットストリームを出力することができる。実施例において、ポイントクラウドコンテンツ提供システムはジオメトリ符号化に基づいて特質符号化を行うことができる。実施例によるジオメトリビットストリーム及び特質ビットストリームは多重化されて一つのビットストリームで出力される。実施例によるビットストリームはジオメトリ符号化及び特質符号化に関連するシグナリング情報をさらに含む。
【0099】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又は送信機10003)は、符号化されたポイントクラウドデータを送信する(20002)。図1で説明したように、符号化されたポイントクラウドデータはジオメトリビットストリーム、特質ビットストリームで表現される。また符号化されたポイントクラウドデータはポイントクラウドデータの符号化に関連するシグナリング情報(例えば、ジオメトリ符号化及び特質符号化に関連するシグナリング情報)と共に、ビットストリームの形態で送信される。またポイントクラウドコンテンツ提供システムは符号化されたポイントクラウドデータを送信するビットストリームをカプセル化してファイル又はセグメントの形態で送信する。
【0100】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、符号化されたポイントクラウドデータを含むビットストリームを受信する。またポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、ビットストリームを逆多重化することができる。
【0101】
ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームで送信される符号化されたポイントクラウドデータ(例えば、ジオメトリビットストリーム、特質ビットストリーム)を復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームに含まれたポイントクラウドビデオデータの符号化に関連するシグナリング情報に基づいてポイントクラウドビデオデータを復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ジオメトリビットストリームを復号してポイントの位置(ジオメトリ)を復元する。ポイントクラウドコンテンツ提供システムは、復元したジオメトリに基づいて特質ビットストリームを復号してポイントの特質を復元する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、復元されたジオメトリによる位置及び復号された特質に基づいてポイントクラウドビデオを復元する。
【0102】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号されたポイントクラウドデータをレンダリングする(20004)。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号過程で復号されたジオメトリ及び特質を様々なレンダリング方式によってレンダリングする。ポイントクラウドコンテンツのポイントは、一定の厚さを有する定点、該当定点の位置を中央とする所定の最小サイズを有する立方体、又は定点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域はディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
【0103】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004)は、フィードバック情報を確保することができる(20005)。ポイントクラウドコンテンツ提供システムは、フィードバック情報に基づいてポイントクラウドデータを符号化及び/又は復号する。実施例によるフィードバック情報及びポイントクラウドコンテンツ提供システムの動作は、図1で説明したフィードバック情報及び動作と同一であるので、具体的な説明は省略する。
【0104】
図3は実施例によるポイントクラウドビデオキャプチャー過程の一例を示す図である。
【0105】
図3図1及び図2で説明したポイントクラウドコンテンツ提供システムのポイントクラウドビデオキャプチャー過程の一例を示す。
【0106】
ポイントクラウドコンテンツは、様々な3次元空間(例えば、現実環境を示す3次元空間、仮想環境を示す3次元空間など)に位置するオブジェクト(object)及び/又は環境を示すポイントクラウドビデオ(イメージ及び/又は映像)を含む。従って、実施例によるポイントクラウドコンテンツ提供システムは、ポイントクラウドコンテンツを生成するために一つ又はそれ以上のカメラ(例えば、深さ情報を確保できる赤外線カメラ、深さ情報に対応する色相情報を抽出できるRGBカメラなど)、プロジェクト(例えば、深さ情報を確保するための赤外線パターンプロジェクターなど)、LiDARなどを使用してポイントクラウドビデオをキャプチャーする。実施例によるポイントクラウドコンテンツ提供システムは、深さ情報から3次元空間上のポイントで構成されたジオメトリの形態を抽出し、色相情報からそれぞれのポイントの特質を抽出してポイントクラウドデータを確保する。実施例によるイメージ及び/又は映像は内向き(inward-facing)方式及び外向き(outward-facing)方式のうちのいずれかに基づいてキャプチャーされる。
【0107】
図3の左側には内向き方式が示されている。内向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトをキャプチャーする方式である。内向き方式は核心客体に対する360°イメージをユーザに提供するポイントクラウドコンテンツ(例えば、ユーザに客体(例:キャラクター、選手、品物、俳優などの核心となる客体)の360°イメージを提供するVR/ARコンテンツ)を生成するために使用される。
【0108】
図3の右側には外向き方式が示されている。外向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトではない中心オブジェクトの環境をキャプチャーする方式である。外向き方式はユーザの視点からの周辺環境を提供するためのポイントクラウドコンテンツ(例えば、自律走行車両のユーザに提供される外部環境を示すコンテンツ)を生成するために使用される。
【0109】
図3のように、ポイントクラウドコンテンツは一つ又はそれ以上のカメラのキャプチャー動作に基づいて生成される。この場合、それぞれのカメラの座標系が異なるので、ポイントクラウドコンテンツ提供システムはキャプチャー動作前にグローバル空間座標系(global coordinate system)を設定するために、一つ又はそれ以上のカメラの較正(calibration)を行う。またポイントクラウドコンテンツ提供システムは、上述したキャプチャー方式でキャプチャーされたイメージ及び/又は映像と任意のイメージ及び/又は映像を合成してポイントクラウドコンテンツを生成する。またポイントクラウドコンテンツ提供システムは、仮想空間を示すポイントクラウドコンテンツを生成する場合、図3で説明したキャプチャー動作を行わない。実施例によるポイントクラウドコンテンツ提供システムは、キャプチャーしたイメージ及び/又は映像に対して後処理を行うこともできる。即ち、ポイントクラウドコンテンツ提供システムは、望まない領域(例えば、背景)を除去したり、キャプチャーしたイメージ及び/又は映像が連結された空間を認識して空間(spatial hole)がある場合、それを埋める動作を行うことができる。
【0110】
またポイントクラウドコンテンツ提供システムは、それぞれのカメラから確保したポイントクラウドビデオのポイントに対して座標系変換を行って、一つのポイントクラウドコンテンツを生成することができる。ポイントクラウドコンテンツ提供システムは、それぞれのカメラの位置座標を基準としてポイントの座標系変換を行う。これにより、ポイントクラウドコンテンツ提供システムは、一つの広い範囲を示すコンテンツを生成するか、或いはポイントの密度が高いポイントクラウドコンテンツを生成することができる。
【0111】
図4は実施例によるポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)の一例を示す図である。
【0112】
図4図1のポイントクラウドビデオエンコーダ10002の一例を示す。ポイントクラウドビデオエンコーダは、ネットワーク状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、損失に近い-near-lossless)を調節するために、ポイントクラウドデータ(例えば、ポイントの位置及び/又は特質)を再構成して符号化動作を行う。ポイントクラウドコンテンツの全体サイズが大きい場合(例えば、30fpsの場合、60Gbpsであるポイントクラウドコンテンツ)、ポイントクラウドコンテンツ提供システムは該当コンテンツをリアルタイムストリーミングすることができない。従って、ポイントクラウドコンテンツ提供システムは、ネットワーク環境などに合わせて提供するために、最大ターゲットビットレートに基づいてポイントクラウドコンテンツを再構成することができる。
【0113】
図1及び図2に示したように、ポイントクラウドビデオエンコーダはジオメトリ符号化及び特質符号化を行うことができる。ジオメトリ符号化は特質符号化よりも先に行われる。
【0114】
実施例によるポイントクラウドビデオエンコーダは、座標系変換部(Transformation Coordinates unit)40000、量子化部(Quantization Unit)40001、八分木分析部(Octree Analysis unit)40002、表面近似分析部(Surface Approximation Analysis unit)40003、演算エンコーダ(Arithmetic Encode)40004、ジオメトリ再構成部(Geometry Reconstruction unit)40005、色変換部(Color Transformation unit)40006、特質変換部(Attribute Transformation unit)40007、RAHT(Region Adaptive Hierachical Transform)変換部40008、LOD生成部(LOD Generation unit)40009、リフト変換部(Lifting Transformation unit)40010、係数量子化部(Coefficient Quantization unit)40011及び/又は演算エンコーダ(Arithmetic Encoder)40012を含む。
【0115】
座標系変換部40000、量子化部40001、八分木分析部40002、表面近似分析部40003、演算エンコーダ40004及びジオメトリ再構成部40005は、ジオメトリ符号化を行うことができる。実施例によるジオメトリ符号化は、八分木ジオメトリコーディング、ダイレクトコーディング(direct coding)、trisoupジオメトリ符号化(trisoup geometry encoding)及びエントロピー符号化を含む。ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に或いは組み合わせて適用される。なお、ジオメトリ符号化は上記の例示に限られない。
【0116】
図示したように、実施例による座標系変換部40000は、位置を受信して座標系(coordinate)に変換する。例えば、位置は3次元空間(例えば、XYZ座標系で表現される3次元空間など)の位置情報に変換される。実施例による3次元空間の位置情報はジオメトリ情報とも称される。
【0117】
実施例による量子化部40001はジオメトリを量子化する。例えば、量子化部40001は全体ポイントの最小位置値(例えば、X軸、Y軸、Z軸に対して各軸上の最小値)に基づいてポイントを量子化する。量子化部40001は最小の位置値とそれぞれのポイントの位置値との差に所定の量子スケール(quatization scale)値を掛けた後、切り下げ又は切り上げをして最も近い整数値を探す量子化動作を行う。従って、一つ又はそれ以上のポイントは同一の量子化された位置(又は位置値)を有することができる。実施例による量子化部40001は量子化されたポイントを再構成するために、量子化された位置に基づいてボクセル化(voxelization)を行う。2次元イメージ/ビデオ情報を含む最小単位はピクセル(pixel)のように、実施例によるポイントクラウドコンテンツ(又は3次元ポイントクラウドビデオ)のポイントは一つ又はそれ以上のボクセル(voxel)に含まれる。ボクセルはボリューム(Volume)とピクセル(Pixel)を組み合わせた言葉であり、3次元空間を表現する軸(例えば、X軸、Y軸、Z軸)に基づいて3次元空間をユニット(unit=1.0)単位で分けたときに発生する3次元キュービック空間を意味する。量子化部40001は3次元空間のポイントのグループをボクセルでマッチングすることができる。実施例において、一つのボクセルは一つのポイントのみを含むことができる。実施例において、一つのボクセルは一つ又はそれ以上のポイントを含む。また一つのボクセルを一つのポイントで表現するために、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて、該当ボクセルの中央点(ceter)の位置を設定することができる。この場合、一つのボクセルに含まれた全ての位置の特質が統合されて(combined)、該当ボクセルに割り当てられる。
【0118】
実施例による八分木分析部40002は、ボクセルを八分木構造で表すための八分木ジオメトリコーディング(又は八分木コーディング)を行う。八分木構造は八分割構造に基づいてボクセルにマッチングされたポイントを表現する。
【0119】
実施例による表面近似分析部40003は、八分木を分析して近似化する。実施例による八分木分析及び近似化は、八分木及びボクセル化を効率的に提供するために、多数のポイントを含む領域をボクセル化するために分析を行う過程である。
【0120】
実施例による演算エンコーダ40004は、八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。符号化の結果としてジオメトリビットストリームが生成される。
【0121】
色変換部40006、特質変換部40007、RAHT変換部40008、LOD生成部40009、リフト変換部40010、係数量子化部40011及び/又は演算エンコーダ40012は、特質符号化を行う。上述したように、一つのポイントは一つ又はそれ以上の特質を有する。実施例による特質符号化は、一つのポイントが有する特質に対して等しく適用される。但し、一つの特質(例えば、色相)が一つ又はそれ以上の要素を含む場合は、各要素ごとに独立した特質符号化が適用される。実施例による特質符号化は、色変換コーディング、特質変換コーディング、RAHT(Region Adaptive Hierarchial Transform)コーディング、予測変換(Interpolaration-based hierarchical nearest-neighbour prediction-Prediction Transform)コーディング及びリフト変換(interpolation-based hierarchical nearest-neighbour prediction with an update/lifting step(Lifting Transform))コーディングを含む。ポイントクラウドコンテンツによって、上述したRAHTコーディング、予測変換コーディング及びリフト変換コーディングが選択的に使用されるか、又は一つ又はそれ以上のコーディングの組み合わせが使用される。また実施例による特質符号化は上述した例示に限られない。
【0122】
実施例による色変換部40006は、特質に含まれた色値(又はテクスチャ)を変換する色変換コーディングを行う。例えば、色変換部40006は色相情報のフォーマットを変換(例えば、RGBからYCbCrに変換)する。実施例による色変換部40006の動作は、特質に含まれた色値によって任意に(optional)適用される。
【0123】
実施例によるジオメトリ再構成部40005は、八分木及び/又は近似化した八分木を再構成(復元)する。ジオメトリ再構成部40005はポイントの分布を分析した結果に基づいて八分木/ボクセルを再構成する。再構成された八分木/ボクセルは再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
【0124】
実施例による特質変換部40007は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。上述したように、特質はジオメトリに従属するので、特質変換部40007は再構成されたジオメトリ情報に基づいて特質を変換することができる。例えば、特質変換部40007は、ボクセルに含まれたポイントの位置値に基づいてその位置のポイントが有する特質を変換することができる。上述したように、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて該当ボクセルの中央点の位置が設定される場合、特質変換部40007は一つ又はそれ以上のポイントの特質を変換する。trisoupジオメトリ符号化が行われた場合、特質変換部40007はtrisoupジオメトリ符号化に基づいて特質を変換することができる。
【0125】
特質変換部40007は、各ボクセルの中央点の位置(又は位置値)から特定の位置/半径内に隣接しているポイントの特質又は特質値(例えば、各ポイントの色相、又は反射率など)の平均値を計算して特質変換を行う。特質変換部40007は平均値の計算時、中央点から各ポイントまでの距離による加重値を適用する。従って、各ボクセルは位置及び計算された特質(又は特質値)を有する。
【0126】
特質変換部40007はK-Dツリー又はモールトンコード(moulton code)に基づいて各ボクセルの中央点の位置から特定の位置/半径内に存在する隣接ポイントを探索する。K-Dツリーは二分探索木(binary search tree)で迅速に最短隣接点探索(Nearest Neighbor Search-NNS)をできるように、ポイントを位置基盤に管理する資料構造を支援する。モールトンコードは全てのポイントの3次元位置を示す座標値(例えば、(x,y,z))をビット値で示し、ビットを混ぜて生成される。例えば、ポイントの位置を示す座標値が(5,9,1)であると、座標値のビット値は(0101、1001、0001)である。ビット値をz、y、xの順にビットインデックスに合わせて混ぜると、010001000111である。この値を10進数で示すと1095になる。即ち、座標値が(5,9,1)であるポイントのモールトンコード値は1095である。特質変換部40007はモールトンコード値を基準としてポイントを整列し、depth-first traversal過程により最短隣接点探索(NNS)を行う。特質変換動作後、特質コーディングのための他の変換過程でも最短隣接点探索(NNS)が必要であれば、K-Dツリー又はモールトンコードが活用される。
【0127】
図示したように、変換された特質はRAHT変換部40008及び/又はLOD生成部40009に入力される。
【0128】
実施例によるRAHT変換部40008は、再構成されたジオメトリ情報に基づいて特質情報を予測するRAHTコーディングを行う。例えば、RAHT変換部40008は、八分木の下位レベルにあるノードに連関する特質情報に基づいて、八分木の上位レベルにあるノードの特質情報を予測することができる。
【0129】
実施例によるLOD生成部40009はLOD(Level of Detail)を生成する。実施例によるLODはポイントクラウドコンテンツの詳細を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が下がり、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことが示されている。ポイントをLODによって分類できる。
【0130】
実施例によるリフト変換部40010は、ポイントクラウドの特質を加重値に基づいて変換するリフト変換コーディングを行う。上述したように、リフト変換コーディングは選択的に適用される。
【0131】
実施例による係数量子化部40011は、特質コーディングされた特質を係数に基づいて量子化する。
【0132】
実施例による演算エンコーダ40012は、量子化された特質を演算コーディングに基づいて符号化する。
【0133】
図4のポイントクラウドビデオエンコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した図4のポイントクラウドビデオエンコーダのエレメントの動作及び/又は機能のうち、いずれか一つを行うことができる。また、一つ又はそれ以上のプロセッサは、図4のポイントクラウドビデオエンコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行することができる。実施例による一つ又はそれ以上のメモリは高速ランダムアクセスメモリを含むか、又は非揮発性メモリ(例えば、一つ又はそれ以上のマグネチックディスク格納デバイス、フラッシュメモリデバイス、又は他の非揮発性固体のメモリデバイス(Solid-state memory devices)など)を含む。
【0134】
図5は実施例によるボクセルの一例を示す図である。
【0135】
図5はX軸、Y軸、Z軸の3つの軸で構成された座標系で表現される3次元空間上に位置するボクセルを示す。図4に示すように、ポイントクラウドビデオエンコーダ(例えば、量子化部40001など)はボクセル化を行う。ボクセルは3次元空間を表現する軸(例えば、X軸、Y軸、Z軸)に基づいて3次元空間をユニット(unit=1.0)単位で分けたときに発生する3次元キュービック空間を意味する。図5は2つの極点(0,0,0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)する八分木構造により生成されたボクセルの一例を示す。一つのボクセルは少なくとも一つ以上のポイントを含む。ボクセルはボクセル群(voxel group)との位置関係から空間座標を推定することができる。上述したように、ボクセルは2次元イメージ/映像のピクセルと同様に、特質(色相又は反射率など)を有する。ボクセルに対する具体的な説明は図4で説明した通りであるので、省略する。
【0136】
図6は実施例による八分木及び占有コード(occupancy code)の一例を示す図である。
【0137】
図1ないし図4に示したように、ポイントクラウドコンテンツ提供システム(ポイントクラウドビデオエンコーダ10002)又はポイントクラウドビデオエンコーダの八分木分析部40002は、ボクセルの領域及び/又は位置を効率的に管理するために、八分木構造基盤の八分木ジオメトリコーディング(又は八分木コーディング)を行う。
【0138】
図6の上側は八分木構造を示している。実施例によるポイントクラウドコンテンツの3次元空間は座標系の軸(例えば、X軸、Y軸、Z軸)で表現される。八分木構造は2つの極点(0,0,0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。d値は以下の数1により決定される。以下の数1において、(xint n、yint n、zint n)は量子化されたポイントの位置(又は位置値)を示す。
【0139】
【数1】
【0140】
図6の上側中央に示したように、分割によって全体3次元空間は8つの空間に分かれる。分割されたそれぞれの空間は6つの面を有するキューブで表現される。図6の右上側に示したように、8つの空間はそれぞれ再び座標系の軸(例えば、X軸、Y軸、Z軸)により分かれる。よって、それぞれの空間は再び8つの小さい空間に分かれる。分割された小さい空間も6つの面を有するキューブで表現される。このような分割方式は八分木のリーフノード(leaf node)がボクセルになるまで適用される。
【0141】
図6の下側は八分木の占有コードを示す。八分木の占有コードは一つの空間が分かれて発生する8つの分割空間がそれぞれ少なくとも一つのポイントを含むか否かを示すために生成される。従って、一つの占有コードは8つの子ノード(child node)で表現される。それぞれの子ノードは分割された空間の占有率(occupancy)を示し、子ノードは1ビットの値を有する。従って、占有コードは8ビットコードで表現される。即ち、子ノードに対応する空間に少なくとも一つのポイントが含まれていると、該当ノードは1値を有する。ノードに対応する空間にポイントが含まれていないと(empty)、該当ノードは0値を有する。図6に示した占有コードは00100001であるので、8つの子ノードのうち、3番目の子ノード及び8番目の子ノードに対応する空間はそれぞれ少なくとも一つのポイントを含むことを示している。図示したように、3番目の子ノード及び8番目の子ノードはそれぞれ8つの子ノードを有し、それぞれの子ノードは8ビットの占有コードで表現される。図面では、3番目の子ノードの占有コードが10000111であり、8番目の子ノードの占有コードが01001111であることを示している。実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40004)は占有コードをエントロピー符号化することができる。また圧縮効率を高めるために、ポイントクラウドビデオエンコーダは占有コードをイントラ/インターコーディングすることができる。実施例による受信装置(例えば、受信装置10004又はポイントクラウドビデオデコーダ10006)は占有コードに基づいて八分木を再構成する。
【0142】
実施例によるポイントクラウドビデオエンコーダ(例えば、八分木分析部40002)は、ポイントの位置を格納するためにボクセル化及び八分木コーディングを行う。しかし、3次元空間内のポイントがいつも均一に分布していることではないので、ポイントが多く存在しない特定の領域があり得る。従って、3次元空間の全体に対してボクセル化を行うことは非効率的である。例えば、特定の領域にポイントがほぼ存在しないと、該当領域までボクセル化を行う必要はない。
【0143】
従って、実施例によるポイントクラウドビデオエンコーダは、上述した特定の領域(又は八分木のリーフノードを除いたノード)についてはボクセル化を行わず、特定の領域に含まれたポイントの位置を直接コーディングするダイレクトコーディング(Direct coding)を行う。実施例によるダイレクトコーディングポイントの座標は、ダイレクトコーディングモード(Direct Coding Mode、DCM)と呼ばれる。また実施例によるポイントクラウドビデオエンコーダは、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化(Trisoup geometry encoding)を行うことができる。trisoupジオメトリ符号化はオブジェクトの表現を三角形メッシュ(triangle mesh)のシリーズで表現するジオメトリ符号化である。従って、ポイントクラウドビデオデコーダはメッシュ表面からポイントクラウドを生成することができる。実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に行われる。また実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は八分木ジオメトリコーディング(又は八分木コーディング)と結合して行うことができる。
【0144】
ダイレクトコーディング(Direct coding)を行うためには、ダイレクトコーディングを適用するための直接モード(direct mode)の使用オプションが活性化されている必要があり、ダイレクトコーディングを適用するノードはリーフノードではなく、特定のノード内に閾値(threshold)以下のポイントが存在する必要がある。またダイレクトコーディングの対象となる全体ポイントの個数は所定の閾値を超えてはいけない。上記条件を満たすと、実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40004)はポイントの位置(又は位置値)をエントロピーコーディングすることができる。
【0145】
実施例によるポイントクラウドビデオエンコーダ(例えば、表面近似分析部40003)は、八分木の特定のレベルを定め(レベルは八分木の深さdよりは小さい場合)、そのレベルからは表面モデルを使用してノード領域内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化を行うことができる(trisoupモード)。実施例によるポイントクラウドビデオエンコーダは、trisoupジオメトリ符号化を適用するレベルを指定できる。例えば、指定されたレベルが八分木の深さと同一であると、ポイントクラウドビデオエンコーダはtrisoupモードで動作しない。即ち、実施例によるポイントクラウドビデオエンコーダは指定されたレベルが八分木の深さ値よりも小さい場合にのみtrisoupモードで動作することができる。実施例による指定されたレベルのノードの3次元立方体領域をブロック(block)と呼ぶ。一つのブロックは一つ又はそれ以上のボクセルを含む。ブロック又はボクセルはブリック(brick)に対応することもできる。それぞれのブロック内においてジオメトリは表面(surface)と表現される。実施例による表面は最大1回、ブロックの各エッジ(edge)と交差することができる。
【0146】
一つのブロックは12つのエッジを有するので、一つのブロック内に少なくとも12つの交差点が存在する。それぞれの交差点はバーテックス(vertex、頂点又は頂上)と呼ばれる。エッジに沿って存在するバーテックスは該当エッジを共有する全てのブロックのうち、そのエッジに隣接する少なくとも一つの占有ボクセル(occupied voxel)がある場合に検知される。実施例による占有ボクセルはポイントを含むボクセルを意味する。エッジに沿って検出されたバーテックスの位置は、該当エッジを共有する全てのブロックのうち、該当エッジに隣接する全てのボクセルのエッジによる平均位置である(the average position along the edge of all voxels)。
【0147】
バーテックスが検出されると、実施例によるポイントクラウドビデオエンコーダは、エッジの開始点(x、y、z)、エッジの方向ベクトル(Δx、Δy、Δz)、バーテックス位置値(エッジ内の相対的位置値)をエントロピーコーディングすることができる。trisoupジオメトリ符号化が適用された場合、実施例によるポイントクラウドビデオエンコーダ(例えば、ジオメトリ再構成部40005)は三角形再構成(triangle reconstruction)、アップ-サンプリング(up-sampling)、ボクセル化過程を行って復元されたジオメトリ(再構成されたジオメトリ)を生成することができる。
【0148】
ブロックのエッジに位置するバーテックスはブロックを通過する表面を決定する。実施例による表面は非平面多角形である。三角形再構成の過程ではエッジの開始点、エッジの方向ベクトルとバーテックスの位置値に基づいて三角形で示される表面を再構成する。三角形再構成の過程は以下の数2の通りである。(1)各バーテックスの中心(centroid)値を計算し、(2)各バーテックスの値から中心値を引いた値に、(3)自乗を行って、その値を全て加算した値を得る。
【0149】
【数2】
【0150】
その後、加えられた値の最小値を求め、最小値がある軸に沿って投影(Projection)過程を行う。 例えば、x要素(element)が最小である場合、各バーテックスをブロックの中心を基準としてx軸に投影し、(y,z)平面に投影させる。(y,z)平面に投影させて得た値が(ai,bi)であれば、atan2(bi、ai)によりθ値を求め、θ値を基準としてバーテックスを整列する。以下の表1はバーテックスの個数によって三角形を生成するためのバーテックスの組み合わせを示している。バーテックスは1からnまで順に整列される。以下の表1は4つのバーテックスに対して、バーテックスの組み合わせによって2つの三角形が構成されることを示している。1番目の三角形は整列されたバーテックスのうち、1、2、3番目のバーテックスで構成され、2番目の三角形は整列されたバーテックスのうち、3,4,1番目のバーテックスで構成される。
【0151】
表1.Triangles formed from vertices ordered 1
【0152】
【表1】
【0153】
アップサンプリング過程は三角形のエッジに沿って中間に点を追加してボクセル化するために行われる。アップサンプリング係数(upsampling factor)とブロックの幅を基準として追加点を生成する。追加点はリファインドバーテックス(refined vertice)と呼ばれる。実施例によるポイントクラウドビデオエンコーダはリファインドバーテックスをボクセル化することができる。またポイントクラウドビデオエンコーダはボクセル化された位置(又は位置値)に基づいて特質符号化を行うことができる。
【0154】
図7は実施例による隣接ノードパターンの一例を示す図である。
【0155】
ポイントクラウドビデオの圧縮効率を増加させるために、実施例によるポイントクラウドビデオエンコーダはコンテキスト適応演算(context adaptive arithmetic)コーディングに基づいてエントロピーコーディングを行う。
【0156】
図1ないし図6で説明したように、ポイントクラウドコンテンツ提供システム又は図2のポイントクラウドビデオエンコーダ10002又は図4のポイントクラウドビデオエンコーダ又は演算エンコーダ40004は、占有コードをすぐエントロピーコーディングすることができる。またポイントクラウドコンテンツ提供システム又はポイントクラウドビデオエンコーダは、現在ノードの占有コードと隣接ノードの占有率に基づいてエントロピー符号化(イントラ符号化)を行うか、又は以前フレームの占有コードに基づいてエントロピー符号化(インター符号化)を行うことができる。実施例によるフレームは、同時間に生成されたポイントクラウドビデオの集合を意味する。実施例によるイントラ符号化/インター符号化の圧縮効率は、参照する隣接ノードの個数によって異なる。ビットが大きくなると複雑になるが、一側に傾くようにして圧縮効率を高めることができる。例えば、3-bit contextを有すると、2の3乗である8つの方法でコーディングする。分けてコーディングする部分は具現の複雑度に影響を及ぼす。従って、圧縮効率と複雑度の適正水準を合わせる必要がある。
【0157】
図7は隣接ノードの占有率に基づいて占有パターンを求める過程を示す。実施例によるポイントクラウドビデオエンコーダは、八分木の各ノードの隣接ノードの占有率(occupancy)を判断して隣接ノードパターン(neighbor pattern)値を得る。隣接ノードパターンは該当ノードの占有パターンを推論するために使用される。図7の左側はノードに対応するキューブ(真ん中に位置するキューブ)及び該当キューブと少なくとも一面を共有する6つのキューブ(隣接ノード)を示している。図示したノードは同じ深さのノードである。図示した数字は6つのノードとそれぞれ連関する加重値(1、2、4、8、16、32、など)を示す。各加重値は隣接ノードの位置によって順に付与される。
【0158】
図7の右側は隣接ノードパターン値を示す。隣接ノードパターン値は占有された隣接ノード(ポイントを有する隣接ノード)の加重値が掛けられた値の合計である。従って、隣接ノードパターン値は0から63までの値を有する。隣接ノードパターン値が0であることは、該当ノードの隣接ノードのうち、ポイントを有するノード(占有ノード)がないことを意味する。隣接ノードパターン値が63であることは、隣接ノードが全て占有ノードであることを意味する。図示したように、加重値1、2、4、8が付与された隣接ノードは占有ノードであるので、隣接ノードパターン値は1、2、4、8を併せた値である15である。ポイントクラウドビデオエンコーダは隣接ノードパターン値によってコーディングを行うことができる(例えば、隣接ノードパターン値が63である場合、64つのコーディングを行う)。実施例においてポイントクラウドビデオエンコーダは隣接ノードパターン値を変更して(例えば、64を10又は6に変更するテーブルに基づく)、コーディングの複雑度を減らすことができる。
【0159】
図8は実施例によるLODごとのポイント構成の一例を示す図である。
【0160】
図1ないし図7で説明したように、特質符号化が行われる前、符号化されたジオメトリは再構成(復元)される。ダイレクトコーディングが適用された場合、ジオメトリ再構成の動作はダイレクトコーディングされたポイントの配置を変更することを含む(例えば、ダイレクトコーディングされたポイントをポイントクラウドデータの前方に配置)。trisoupジオメトリ符号化が適用された場合、ジオメトリ再構成の過程は三角形再構成、アップサンプリング、ボクセル化の過程を特質はジオメトリに従属するので、特質符号化は再構成されたジオメトリに基づいて行われる。
【0161】
ポイントクラウドビデオエンコーダ(例えば、LOD生成部40009)はポイントをLODごとに分類(reorganization)又はグルーピング(grouping)することができる。図8はLODに対応するポイントクラウドコンテンツを示す。図8の最左側はオリジナルポイントクラウドコンテンツを示す。図8の左側から2番目は最低LODのポイントの分布を示し、図8の最右側は最高LODのポイントの分布を示す。即ち、最低LODのポイントは粗い(sparse)分布であり、最高LODのポイントは細かい分布である。即ち、図8の下側に示された矢印方向に沿ってLODが増加するほどポイント間の間隔(又は距離)は短くなる。
【0162】
図9は実施例によるLODごとのポイント構成の一例を示す図である。
【0163】
図1ないし図8で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドビデオエンコーダ(例えば、図2のポイントクラウドビデオエンコーダ10002、図4のポイントクラウドビデオエンコーダ又はLOD生成部40009)はLODを生成する。LODはポイントを設定されたLOD距離値(又はユークリッド距離(Euclidean Distance)のセット)によって改良レベル(refinement levels)のセットで再整列して生成される。LOD生成過程はポイントクラウドビデオエンコーダだけではなく、ポイントクラウドビデオデコーダでも行われる。
【0164】
図9の上側は3次元空間に分布されたポイントクラウドコンテンツのポイントの一例(P0~P9)を示す。図9のオリジナルオーダー(Original order)はLOD生成前のポイントP0~P9の順を示す。図9のLoD基盤のオーダー(LOD based order)はLOD生成によるポイントの順を示す。ポイントはLODごとに再整列される。また高いLODは低いLODに属するポイントを含む。図9に示すように、LOD0はP0、P5、P4及びP2を含む。LOD1はLOD0のポイントとP1、P6及びP3を含む。LOD2はLOD0のポイント、LOD1のポイント及びP9、P8及びP7を含む。
【0165】
図4で説明したように、実施例によるポイントクラウドビデオエンコーダはLOD基盤の予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングを選択的に又は組み合わせて行うことができる。
【0166】
実施例によるポイントクラウドビデオエンコーダは、ポイントに対する予測器(predictor)を生成して各ポイントの予測特質(又は予測特質値)を設定するためのLOD基盤の予測変換コーディングを行う。即ち、N個のポイントに対してN個の予測器が生成される。実施例による予測器は各ポイントのLOD値とLODごとに設定された距離内に存在する隣接ポイントに対するインデックス情報及び隣接ポイントまでの距離値に基づいて加重値(=1/距離)を計算することができる。
【0167】
実施例による予測特質(又は特質値)は、各ポイントの予測器に設定された隣接ポイントの特質(又は特質値、例えば、色相、反射率など)に各隣接ポイントまでの距離に基づいて計算された加重(又は加重値)を掛けた値の平均値で設定される。実施例によるポイントクラウドビデオエンコーダ(例えば、係数量子化部40011)は、該当ポイントの特質(即ち、オリジナル特質値)から該当予測特質(特質値)を引いた該当ポイントの残余値(residual、残余の特質、残余の特質値、特質予測残余値、予測エラー特質値などとも呼ばれる)を量子化(quatization)及び逆量子化(inverse quantization)することができる。残余の特質値に対して行われる送信機での量子化過程は表2の通りである。また表2のように量子化された残余の特質値に対して行われる受信機での逆量子化過程は表3の通りである。
【0168】
【表2】
【0169】
【表3】
【0170】
実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測器に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余の特質値をエントロピーコーディングする。実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測器に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。
【0171】
実施例によるポイントクラウドビデオエンコーダ(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
【0172】
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
【0173】
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
【0174】
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
【0175】
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
【0176】
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
【0177】
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドビデオエンコーダ(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40012)は量子化された特質値をエントロピーコーディングする。
【0178】
実施例によるポイントクラウドビデオエンコーダ(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドビデオエンコーダは、ボクセルから全体領域にスキャンし、各ステップにおいてボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
【0179】
以下の数3はRAHT変換行列を示す。

はレベルlでのボクセル(voxel)の平均特質値を示す。


から計算される。

の加重値は

である。
【0180】
【数3】
【0181】
はローパス(low-pass)値であって、次の上位レベルでの併合過程で使用される。
はハイパス係数(high-pass coefficients)であって、各ステップでのハイパス係数は量子化されてエントロピーコーディングされる(例えば、計算エンコーダ40012の符号化)。加重値は
により計算される。ルートノードは最後の

により以下の 数4のように生成される。
【0182】
【数4】
【0183】
gDC値もハイパス係数のように量子化されてエントロピーコーディングされる。
【0184】
図10は実施例によるポイントクラウドビデオデコーダ(Point Cloud Video Decoder)の一例を示す図である。
【0185】
図10に示したポイントクラウドビデオデコーダは、図1に示したポイントクラウドビデオデコーダ10006の一例であり、図1で説明したポイントクラウドビデオデコーダ10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドビデオデコーダは一つ又はそれ以上のビットストリームに含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドビデオデコーダはジオメトリデコーダ(geometry decoder)及び特質デコーダ(Attribute decoder)を含む。ジオメトリデコーダはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダは復号されたジオメトリに基づいて特質ビットストリームに対して特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
【0186】
図11は実施例によるポイントクラウドビデオデコーダの一例を示す図である。
【0187】
図11に示したポイントクラウドビデオデコーダは図10で説明したポイントクラウドビデオデコーダの一例であり、図1ないし図9で説明したポイントクラウドビデオエンコーダの符号化動作の逆過程である復号動作を行う。
【0188】
図1及び図10で説明したように、ポイントクラウドビデオデコーダはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
【0189】
実施例によるポイントクラウドビデオデコーダは、演算デコーダ(arithmetic decoder、11000)、八分木合成部(octree synthesis unit、11001)、表面近似合成部(surface approximation synthesis unit、11002)、ジオメトリ再構成部(geometry reconstruction unit、11003)、座標系逆変換部(coordinates inverse transformation unit、11004)、演算デコーダ(arithmetic decoder、11005)、逆量子化部(inverse quantization unit、11006)、RAHT変換部11007、LOD生成部(LOD generation unit、11008)、逆リフト部(Inverse lifting unit、11009)、及び/又は色逆変換部(color inverse transformation unit、11010)を含む。
【0190】
演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004は、ジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクト復号(direct decoding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクト復号及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、図1ないし図9で説明したジオメトリ符号化の逆過程により行われる。
【0191】
実施例による演算デコーダ11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ11000の動作は演算エンコーダ40004の逆過程に対応する。
【0192】
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は図1ないし図9に説明した通りである。
【0193】
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
【0194】
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。図1ないし図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
【0195】
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
【0196】
演算デコーダ11005、逆量子化部11006、RAHT変換部11007、LOD生成部11008、逆リフト部11009及び/又は色逆変換部11010は、図10で説明した特質復号を行う。実施例による特質復号は、RAHT(Region Adaptive Hierarchial Transform)復号、予測変換(Interpolaration-based hierarchical nearest-neighbour prediction-Prediction Transform)復号、及びリフト変換(interpolation-based hierarchical nearest-neighbour prediction with an update/lifting step (Lifting Transform))復号を含む。上記3つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
【0197】
実施例による演算デコーダ11005は、特質ビットストリームを演算コーディングに復号する。
【0198】
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドビデオエンコーダの特質符号化に基づいて選択的に適用される。
【0199】
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドビデオエンコーダの符号化によってそれに対応する復号動作を選択的に行う。
【0200】
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドビデオエンコーダの色変換部40006の動作に基づいて選択的に行われる。
【0201】
図11のポイントクラウドビデオデコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した図11のポイントクラウドビデオデコーダのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、図11のポイントクラウドビデオデコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
【0202】
図12は実施例による送信装置の一例を示す。
【0203】
図12に示した送信装置は、図1の送信装置10000(又は図4のポイントクラウドビデオエンコーダ)の一例である。図12に示した送信装置は、図1ないし図9で説明したポイントクラウドビデオエンコーダの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダ12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダ12011及び/又は送信処理部12012を含む。
【0204】
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
【0205】
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダ12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、図1ないし図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
【0206】
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は図1ないし図9に説明した通りである。
【0207】
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は図1ないし図9に説明した通りである。
【0208】
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は図4及び図6で説明したポイントクラウドエンコーダ(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は図1ないし図9に説明した通りである。
【0209】
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は図4に示したポイントクラウドビデオエンコーダ(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は図1ないし図9に説明した通りである。
【0210】
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダ12006に含まれる。
【0211】
実施例による演算コーダ12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダ12006は演算エンコーダ40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0212】
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
【0213】
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダ12011は特質符号化を行う。実施例による特質符号化は、図1ないし図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
【0214】
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、図1ないし図9に説明した通りである。また図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
【0215】
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は図1ないし図9に説明した通りであるので、具体的な説明は省略する。
【0216】
実施例による演算コーダ12011は、コーディングされた特質を演算コーディングに基づいて符号化する。演算コーダ12011は演算エンコーダ40012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0217】
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom0)及び一つ又はそれ以上の特質ビットストリーム(Attr0、Attr1)を含む。
【0218】
実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。
【0219】
ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は図1及び図2に説明した通りであるので、省略する。
【0220】
図13は実施例による受信装置の一例を示す。
【0221】
図13に示した受信装置は、図1の受信装置10004(又は図10及び図11のポイントクラウドビデオデコーダ)の一例である。図13に示した受信装置は、図1ないし図11で説明したポイントクラウドビデオデコーダの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
【0222】
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダ13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータ分析13006、演算(arithmetic)デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
【0223】
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
【0224】
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
【0225】
演算デコーダ13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は図1ないし図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
【0226】
実施例による演算デコーダ13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ13002は演算デコーダ11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0227】
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
【0228】
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
【0229】
実施例によるメタデータ分析13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータ分析13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は図12で説明した通りであるので省略する。
【0230】
演算デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は図1なしい図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
【0231】
実施例による演算デコーダ13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダ13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダ13007は演算デコーダ11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0232】
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
【0233】
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
【0234】
図14は実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。
【0235】
図14の構造はサーバー17600、ロボット17100、自律走行車両17200、XR装置17300、スマートフォン17400、家電17500及び/又はHMD(Head-Mount Display)17700のうちのいずれかがクラウドネットワーク17100に連結された構成を示している。ロボット17100、自律走行車両17200、XR装置17300、スマートフォン17400又は家電17500などは装置とも呼ばれる。またXR装置17300は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
【0236】
クラウドネットワーク17000はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク17000は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
【0237】
サーバー17600はロボット17100、自律走行車両17200、XR装置17300、スマートフォン17400、家電17500及び/又はHMD17700のいずれかにクラウドネットワーク17000により連結され、連結された装置17100~17700のプロセシングの少なくとも一部を助けることができる。
【0238】
HMD(Head-Mount Display)17700は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパーワ供給ユニットなどを含む。
【0239】
以下、上記技術が適用される装置17100~17500の様々な実施例について説明する。ここで、図14に示した装置17100~17500は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
【0240】
<PCC+XR>
【0241】
XR/PCC装置17300はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
【0242】
XR/PCC装置17300は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置17300は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
【0243】
<PCC+自立走行+XR>
【0244】
自律走行車両17200はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
【0245】
XR/PCC技術が適用された自律走行車両17200は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両17200はXR装置17300とは区分されて互いに連動されることができる。
【0246】
XR/PCC映像を提供する手段を備えた自律走行車両17200は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両17200はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
【0247】
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
【0248】
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
【0249】
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
【0250】
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
【0251】
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
【0252】
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
【0253】
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
【0254】
一方、送信側のポイントクラウドビデオエンコーダは、ポイントクラウドデータを符号化する前に、ポイントクラウドデータを一つ以上の3次元ブロックで空間分割(division or partition)する空間分割過程をさらに行う。即ち、送信装置の符号化及び送信動作、また受信装置の復号及びレンダリング動作がリアルタイムで行われると同時に低遅延処理するために、送信装置においてポイントクラウドデータを複数の領域に空間分割する。また送信装置は空間分割された領域(又はブロック)をそれぞれ独立または非独立に符号化することにより、ポイントクラウドデータが占める3次元空間上の任意接続(random access)と並列符号化を可能にする効果を提供する。また送信装置及び受信装置は、空間分割された領域(又はブロック)単位で独立又は非独立に符号化及び復号を行うことにより、符号化及び復号の過程で繰り返されるエラーを防止することができる。
【0255】
図15は実施例によるポイントクラウド送信装置のさらに他の例を示す図であり、空間分割部を備えている。
【0256】
実施例によるポイントクラウド送信装置は、データ入力部51001、座標系変換部51002、量子化処理部51003、空間分割部51004、シグナリング処理部51005、ジオメトリエンコーダ51006、特質エンコーダ51007及び送信処理部51008を含む。実施例によって、座標系変換部51002、量子化処理部51003、空間分割部51004、ジオメトリエンコーダ51006及び特質エンコーダ51007をポイントクラウドビデオエンコーダと称する。
【0257】
データ入力部51001は、図1のポイントクラウドビデオ獲得部10001の動作の一部又は全部を行い、又は図12のデータ入力部12000の動作の一部又は全部を行う。座標系変換部51002は、図4の座標系変換部40000の動作の一部又は全部を行う。また量子化処理部51003は、図4の量子化部40001の動作の一部又は全部を行い、又は図12の量子化処理部12001の動作の一部又は全部を行う。
【0258】
空間分割部51004は、量子化処理部51003で量子化されて出力されるポイントクラウドデータを境界ボックス(bounding box)及び/又は副境界ボックスなどに基づいて一つ以上の3次元ブロックで空間分割する。このとき、3次元ブロックはタイルグループ(Tile Group)又はタイル又はスライス又はコーディング単位(Coding Unit、CU)、予測単位(Prediction Unit、PU)又は変換単位(TU)を意味する。また空間分割のためのシグナリング情報は、シグナリング処理部51005でエントロピー符号化された後、ビットストリーム形態で送信処理部51008により送信されることを一実施例とする。
【0259】
図16(a)ないし図16(c)は境界ボックスを一つ以上のタイルに分割する一例を示している。図16(a)のように、ポイントクラウドデータに該当するポイントクラウドオブジェクトは座標系に基づくボックス形態に示されるが、これを境界ボックスという。即ち、境界ボックスはポイントクラウドポイントを全部入れられる六面体を意味する。
【0260】
図16(b)及び図16(c)は図16(a)の境界ボックスがタイル1(tile1#)とタイル2(tile2#)に分割される例を示しており、タイル2(tile2#)はさらにスライス1(slice1#)とスライス2(slice2#)に分割される例が示されている。
【0261】
一実施例において、ポイントクラウドコンテンツはアクタ(actor)などの一人或いは複数の人、又は一つの事物或いは複数の事物であるが、より大きい範囲では、自律走行のためのマップ、ロボットの実内ナビゲーションのためのマップなどであることもできる。この場合、ポイントクラウドコンテンツは地域的に連結された膨大な量のデータである。そうすると、ポイントクラウドコンテンツを一度に符号化/復号することはできないので、ポイントクラウドコンテンツの圧縮を行う前にタイル分配(partitioning)が行われる。例えば、建物内の101号を一つのタイルに、他の102号は他のタイルに分割する。分割されたタイルを並列化を適用して迅速な符号化/復号のための支援を行うために、さらにスライスに分配(又は分割)する。これをスライス分配(又は分割)という。
【0262】
即ち、タイル(tile)とは、実施例によるポイントクラウドデータが占める3次元空間の一部の領域(例えば、矩形の立方体)を意味する。実施例によるタイルは、一つ又はそれ以上のスライスを含む。実施例によるタイルは、一つ又はそれ以上のスライスに分割(分配)されることにより、ポイントクラウドビデオエンコーダはポイントクラウドデータを並列的に符号化することができる。
【0263】
スライス(slice)とは、実施例によるポイントクラウドビデオエンコーダにおいて独立して符号化を行えるデータ(又はビットストリーム)の単位、及び/又はポイントクラウドビデオデコーダにおいて独立して復号を行えるデータ(又はビットストリーム)の単位を意味する。実施例によるスライスは、ポイントクラウドデータが占める3次元空間上のデータの集合を意味するか、又はポイントクラウドデータのうちの一部データの集合を意味する。スライスは、実施例によるタイル内に含まれたポイントの領域又はポイントの集合を意味する。実施例によるタイルは、一つのタイル内に含まれたポイントの数に基づいて一つ又はそれ以上のスライスに分割される。例えば、一つのタイルは、ポイントの数ごとに分割されたポイントの集合を意味する。実施例によるタイルは、ポイントの数に基づいて一つ以上のスライスに分割することができ、分割する過程において一部のデータが分離(split)又は併合(merge)されることもある。即ち、スライスは該当タイル内において独立してコーディングされる単位である。このように空間分割されたタイルは、迅速かつ効率的な処理のために、さらに一つ以上のスライスに分けられる。
【0264】
実施例によるポイントクラウドビデオエンコーダは、スライス単位又は一つ以上のスライスを含むタイル単位にポイントクラウドデータの符号化を行う。また実施例によるポイントクラウドビデオエンコーダは、タイルごと又はスライスごとに量子化及び/又は変換を異なるように行うことができる。
【0265】
空間分割部51004で空間分割された一つ以上の3次元ブロック(例えば、スライス)の位置はジオメトリエンコーダ51006に出力され、特質情報(又は特質という)は特質エンコーダ51007に出力される。位置は分割された単位(ボックス又はブロック又はタイル又はタイルグループ又はスライス)に含まれたポイントの位置情報であり、ジオメトリ情報と称する。
【0266】
ジオメトリエンコーダ51006は、空間分割部51004で出力される位置に基づいて八分木を構成し、符号化(即ち、圧縮)してジオメトリビットストリームを出力する。またジオメトリエンコーダ51006は、八分木及び/又は近似化された八分木を再構成して特質エンコーダ51007に出力する。再構成された八分木(reconstructed octree)は再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
【0267】
特質エンコーダ51007は、ジオメトリエンコーダ51006で出力される再構成されたジオメトリに基づいて空間分割部51004で出力される特質を符号化(即ち、圧縮)して特質ビットストリームを出力する。
【0268】
図17は実施例によるジオメトリエンコーダ51006と特質エンコーダ51007の他の例を示す詳細ブロック図である。
【0269】
図17のジオメトリエンコーダ51006のボクセル化処理部53001、八分木生成部53002、ジオメトリ情報予測部53003及び演算コーダ53004は、図4の八分木分析部40002、表面近似分析部40003、演算エンコーダ40004及びジオメトリ再構成部40005の動作の一部又は全部を行うか、又は図12のボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算(Arithmetic)コーダ12006の動作の一部又は全部を行う。
【0270】
図17の特質エンコーダ51007は、色相変換処理部53005、特質変換処理部53006、LOD構成部53007、隣接ポイント集合構成部53008、特質情報予測部53009、残余特質情報量子化処理部53010及び演算コーダ53011を含む。
【0271】
一実施例において、空間分割部51004とボクセル化処理部53001の間にさらに量子化処理部が備えられる。量子化処理部は、空間分割部51004で空間分割された一つ以上の3次元ブロック(例えば、スライス)の位置を量子化する。この場合、量子化部は図4の量子化部40001の動作の一部又は全部を行うか、又は図12の量子化処理部12001の動作の一部又は全部を行う。空間分割部51004とボクセル化処理部53001の間にさらに量子化処理部が備えられる場合、図15の量子化処理部51003は省略されても、省略されなくてもよい。
【0272】
実施例によるボクセル化処理部53001は、空間分割された一つ以上の3次元ブロック(例えば、スライス)の位置又は量子化された位置に基づいてボクセル化(voxelization)を行う。ボクセル化は3次元空間上の位置情報を表す最小限のユニットを意味する。実施例によるポイントクラウドコンテンツ(又は3次元ポイントクラウドビデオ)のポイントは、一つ又はそれ以上のボクセル(voxel)に含まれることができる。実施例によって、一つのボクセルは一つ又はそれ以上のポイントを含む。一実施例において、ボクセル化を行う前に量子化が行われた場合には、複数のポイントが一つのボクセルに属することが発生し得る。
【0273】
この明細書においては、二つ以上のポイントが一つのボクセルに含まれる場合、これら二つ以上のポイントを重複ポイント(又は重畳ポイント、duplicated points)と称する。即ち、ジオメトリ符号化過程において、ジオメトリ量子化とボクセル化により重複ポイントが生成されることができる。
【0274】
実施例によるボクセル化処理部53001は、一つのボクセルに属する重複ポイントを併合せず、そのまま八分木生成部53002に出力するか、又は重複ポイントを一つのポイントに併合して八分木生成部53002に出力する。
【0275】
実施例による八分木生成部53002は、ボクセル化処理部53001で出力されるボクセルに基づいて八分木を生成する。
【0276】
実施例によるジオメトリ情報予測部53003は、八分木生成部53002で生成された八分木に基づいてジオメトリ情報の予測及び圧縮を行って演算コーディング部53004に出力する。また、ジオメトリ情報予測部53003は、圧縮により変更された位置に基づいてジオメトリを再構成し、再構成された(又は復号された)ジオメトリを特質エンコーダ51007のLOD構成部53007に出力する。ジオメトリ情報の再構成は、ジオメトリ情報予測部53003とは別のデバイス又はコンポーネントで行われることもできる。他の実施例においては、再構成されたジオメトリは特質エンコーダ51007の特質変換処理部53006にも提供される。
【0277】
特質エンコーダ51007の色相変換処理部53005は、図4の色変換部40006又は図12の色相変換処理部12008に対応する。実施例による色相変換処理部53005は、データ入力部51001及び/又は空間分割部51004で提供される特質に含まれた色相値(又はテクスチャー)を変換する色相変換コーディングを行う。例えば、色相変換処理部53005は色相情報のフォーマットを変換することができる(例えば、RGBからYCbCrに変換)。実施例による色相変換処理部53005の動作は、特質に含まれた色相値によって選択的に(optional)適用される。他の実施例においては、色相変換処理部53005は再構成されたジオメトリに基づいて色相変換コーディングを行う。ジオメトリ再構成に関する詳しい説明は、図1ないし図9の説明を参照できる。
【0278】
実施例による特質変換処理部53006は、ジオメトリ符号化が行われない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。
【0279】
特質変換処理部53006は、色相再調整部(recoloring)とも呼ばれる。
【0280】
実施例による特質変換処理部53006の動作は、重畳ポイント(duplicated points)の併合有無によって選択的に(optional)適用される。重畳ポイントの併合有無はジオメトリエンコーダ51006のボクセル化処理部53001又は八分木生成部53002で行われることを一実施例とする。
【0281】
この明細書においては、ボクセル化処理部53001又は八分木生成部53002で一つのボクセルに属するポイントが一つのポイントに併合された場合、特質変換処理部53006で特質変換を行うことを一実施例とする。
【0282】
特質変換処理部53006は、図4の特質変換部40007又は図12の特質変換処理部12009の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0283】
実施例によって、ジオメトリ情報予測部53003で再構成されたジオメトリ情報と特質変換処理部53006で出力される特質情報は、特質圧縮のためにLOD構成部53007に提供される。
【0284】
実施例によって、特質変換処理部53006で出力された特質情報は、再構成されたジオメトリ情報に基づいてRAHTコーディング技法、LOD基盤の予測変換コーディング技法及びリフト変換コーディング技法のうちの一つ又は二つ以上を組み合わせて圧縮される。
【0285】
その後、この明細書においては、LOD基盤の予測変換コーディング技法及びリフト変換コーディング技法のうちの一つ又は二つを組み合わせて特質圧縮を行うことを一実施例とする。よって、RAHTコーディング技法については説明を省略する。RAHT変換コーディングに関する説明は図1ないし図9の説明を参照する。
【0286】
実施例によるLOD構成部53007は、LOD(Level of Detail)を生成する。
【0287】
LODはポイントクラウドコンテンツの詳細(detail)を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が落ち、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことを示す。ポイントはLODによって分類される。
【0288】
一実施例においては、予測変換コーディング技法とリフト変換コーディング技法ではLODによりポイントを分けてグルーピングすることができる。
【0289】
これをLOD生成過程といい、互いに異なるLODを有するグループをLOD集合と称する。ここで、lはLODを示し、0から始まる整数である。LODはポイント間の距離が最も大きいポイントで構成された集合であり、lが大きくなるほどLODに属するポイント間の距離は短くなる。
【0290】
実施例による隣接ポイント集合構成部53008は、LOD構成部53007でLODl集合が生成されると、LODl集合に基づいてLODが等しいか又は小さい(即ち、ノード間の距離が大きい)グループにおいてX個(>0)の最隣接ポイント(nearest neighbor)を探して予測器(predictor)に隣接ポイント集合として登録する。X個は隣接ポイントとして設定できる最大数であり、ユーザパラメータにより入力されるか、又はシグナリング処理部51005を介してシグナリング情報にシグナリングされる(例えば、APSにシグナリングされたlifting_num_pred_nearest_neighboursフィールド)。
【0291】
例えば、図9においては、LODに属するP3の隣接ポイントをLODとLODから探す。例えば、隣接ポイントとして設定される最大数(X)が3であると、P3と最も近い3つの隣接ノードはP2、P4、P6になる。これらのノードがP3の予測器に隣接ポイント集合として登録される。これらのうち、隣接ノードP4が距離を基盤としてP3と最も近く、次にP6、その次にP2であることを一実施例とする。ここで、X=3であることは当業者の理解を助けるための一例であり、X値は変更可能である。
【0292】
上述したように、ポイントクラウドデータの全てのポイントはそれぞれ予測器を有することができる。
【0293】
実施例による特質情報予測部53009は、予測器に登録された隣接ポイントから特質値を予測する。予測器は、登録された隣接ポイント集合を有し、各隣接ポイントからの距離値に基づいて1/2距離=加重値(weight)を登録する。例えば、P3ノードの予測器は、隣接ポイント集合として(P2 P4 P6)を有し、それぞれの隣接ポイントとの距離値に基づいて加重値を計算する。実施例によって、各隣接ポイントの加重値は
になる。
【0294】
実施例によって、隣接ポイント集合構成部53008又は特質情報予測部53009は、予測器の隣接ポイント集合が設定されると、隣接ポイントの加重値の総合により各隣接ポイントの加重値を正規化(normalize)することができる。
【0295】
例えば、P3ノードの隣接ポイント集合内の全ての隣接ポイントの加重値を加算し(total_weight=

)、その値を各隣接ポイントの加重値で再度割ることにより、(
/total_weight、
/total_weight、
/total_weight)、各隣接ポイントの加重値を正規化する。
【0296】
その後、特質情報予測部53009は予測器を介して特質値を予測することができる。
【0297】
実施例によって、予測器に登録された隣接ポイントの特質(例えば、色相、反射率など)に加重値(又は正規化された加重値)をかけた値の平均を予測された結果(即ち、予測特質値)として設定するか、又は特定のポイントの特質を予測された結果(即ち、予測特質値)として設定する。実施例によれば、予測特質値は予測特質情報とも称される。また、残余(residual)の特質値(又は残余特質情報、又は残差という)は、該当ポイントの特質値(即ち、オリジナル特質値)から該当ポイントの予測特質値(これを予測特質値、又は予測特質情報という)を引くことにより求めることができる。
【0298】
実施例によれば、様々な予測モード(又は予測器インデックスという)を適用して圧縮された結果値を予め計算した後、これらのうち、最小のビットストリームを生成する予測モード(即ち、予測器インデックス)を選択することができる。
【0299】
次に、予測モードを選択する過程について詳しく説明する。
【0300】
この明細書において、予測モード(prediction mode)は予測器インデックス(predictor index、Preindex)と同じ意味で使用され、広くは予測方法とも呼ばれる。
【0301】
この明細書において、各ポイントごとに最適な予測モードを探し、この探した予測モードを該当ポイントの予測器に設定する過程を特質情報予測部53009で行うことを一実施例とする。
【0302】
実施例によれば、加重値平均(即ち、各ポイントの予測器に設定された隣接ポイントの特質に各隣接ポイントまでの距離に基づいて計算された加重値をかけた値の平均値)により予測特質値を計算する予測モードを予測モード0と称する。また、1番目の隣接ポイントの特質を予測特質値とする予測モードを予測モード1、2番目の隣接ポイントの特質を予測特質値とする予測モードを予測モード2、また3番目の隣接ポイントの特質を予測特質値とする予測モードを予測モード3と称する。つまり、予測モード(又は予測器インデックス)の値が0であると加重値平均、1であると1番目の隣接ノード(即ち、隣接ポイント)、2であると2番目の隣接ノード、また3であると3番目の隣接ノードにより特質値を予測したことを示す。
【0303】
実施例によれば、予測モード0であるときの残余特質値、予測モード1であるときの残余特質値、予測モード2であるときの残余特質値、及び予測モード3であるときの残余特質値を求め、各残余特質値に基づいて各スコア(score or double score)を計算することができる。また計算したスコアが一番低い値を有する予測モードを選択して、該当ポイントの予測モードとして設定する。スコア計算法については後に詳しく説明する。
【0304】
例えば、2番目の隣接ポイントの特質を予測特質値としたときの残余特質値に基づいて計算されたスコアが一番低い値であったら、予測器インデックス値が2、即ち、予測モード2が該当ポイントの予測モードとして選択される。
【0305】
上記のように、P3の隣接ポイントP2、P4、P6のうち、距離に基づいて隣接ポイントP4がポイントP3と最も近く、次に隣接ポイントP6、その次に隣接ポイントP2であると仮定すると、1番目の隣接ポイントはP4、2番目の隣接ポイントはP6、また3番目の隣接ポイントはP2になる。
【0306】
これはこの明細書の理解を助けるための一実施例であり、予測モードに割り当てられる値、候補予測モードの数及び予測方法は当業者が追加、削除及び変更できるので、この明細書は上記の実施例に制限されない。
【0307】
実施例によれば、複数の予測モードのうち、最適な予測モードを探して該当ポイントの予測モードとして設定する過程は、所定の条件を満たす場合に行われる。よって、所定の条件を満たさない場合には、最適な予測モードを探す過程を行わず、固定した予測モード、例えば、加重値平均により予測特質値を計算する予測モード0を該当ポイントの予測モードとして設定する。かかる過程は各ポイントごとに行うことを一実施例とする。
【0308】
実施例によれば、特定のポイントに対して所定の条件を満たす場合とは、該当ポイントの予測器に登録された隣接ポイント間の特質要素(例えば、R、G、B)の差の値が所定のしきい値(例えば、lifting_adaptive_prediction_threshold)と等しいか又は大きい場合、又は該当ポイントの予測器に登録された隣接ポイント間の特質要素(例えば、R、G、B)の差の値を求めて、最も大きい要素値の和が所定のしきい値と等しいか又は大きい場合である。例えば、P3ポイントが該当ポイントであり、P3ポイントの隣接ポイントとしてP2、P4、P6ポイントが登録されたと仮定する。さらに、P2ポイントとP4ポイントの間のR、G、Bのそれぞれの差の値を求め、P2ポイントとP6ポイントの間のR、G、Bのそれぞれの差の値を求め、P4ポイントとP6ポイントの間のR、G、Bのそれぞれの差の値を求めたとき、R差の値はP2ポイントとP4ポイントの間で最も大きく、G差の値はP4ポイントとP6ポイントの間で最も大きく、またB差の値はP2ポイントとP6ポイントの間で最も大きいと仮定する。また、最も大きいR差の値(即ち、P2とP4の間)、最も大きいG差の値(即ち、P4とP6の間)、及び最も大きいB差の値(即ち、P2とP6の間)のうち、P2ポイントとP4ポイントの間のR差の値が最も大きいと仮定する。
【0309】
このような仮定において、P2ポイントとP4ポイントの間のR差の値が所定のしきい値と等しいか又は大きい場合、又はP2ポイントとP4ポイントの間のR差の値、P4ポイントとP6ポイントの間のG差の値、そしてP2ポイントとP6ポイントの間のB差の値の和が所定のしきい値と等しいか又は大きい場合には、複数の候補予測モードのうち、最適な予測モードを探す過程を行うことができる。また、P2ポイントとP4ポイントの間のR差の値が所定のしきい値と等しいか又は大きい場合、又はP2ポイントとP4ポイントの間のR差の値、P4ポイントとP6ポイントの間のG差の値、そしてP2ポイントとP6ポイントの間のB差の値の和が所定のしきい値と等しいか又は大きい場合のみに予測モード(例えば、predIndex)をシグナリングすることができる。
【0310】
特定のポイントに対して所定の条件を満たす他の実施例によれば、該当ポイントの予測器に登録された隣接ポイントの特質値(例えば、反射率)の間の最大差の値が、所定のしきい値(例えば、lifting_adaptive_prediction_threshold)と等しいか又は大きい場合であることもできる。例えば、P2ポイントとP4ポイントの間の反射率差の値、P2ポイントとP6ポイントの間の反射率差の値、P4ポイントとP6ポイントの間の反射率差の値を求めたとき、P2ポイントとP4ポイントの間の反射率差の値が最も大きいと仮定する。
【0311】
このような仮定において、P2ポイントとP4ポイントの間の反射率差の値が所定のしきい値と等しいか又は大きい場合、複数の候補予測モードのうち、最適な予測モードを探す過程を行うことができる。また、P2ポイントとP4ポイントの間の反射率差の値が所定のしきい値と等しいか又は大きい場合のみに予測モード(例えば、predIndex)をシグナリングすることができる。
【0312】
実施例によれば、予測モード(例えば、predIndex)は特質スライスデータにシグナリングすることができる。他の実施例においては、予測モードがシグナリングされないと、送信側ではデフォルトとした予測モード(例えば、予測モード0)に基づいて予測特質値を求め、オリジナル特質値と予測特質値の差により残余特質値を求めて送信し、受信側ではデフォルトとした予測モード(例えば、予測モード0)に基づいて予測特質値を求め、受信された残余特質値と併せて特質値を復元することができる。
【0313】
実施例によれば、しきい値は直接入力されるか、又はシグナリング処理部51005によりシグナリング情報にシグナリングされる(例えば、APSにシグナリングされたlifting_adaptive_prediction_thresholdフィールド)。
【0314】
実施例によれば、上述したように、特定のポイントに対して所定の条件を満たす場合、予測器候補を生成することができる。予測器候補は予測モード又は予測器インデックスと称する。
【0315】
実施例によれば、予測器候補に予測モード1ないし予測モード3が含まれる。実施例によれば、予測モード0は予測器候補に含まれても含まれなくてもよい。実施例によれば、さらに上述していない少なくとも一つの予測モードが予測器候補に含まれることもできる。
【0316】
図18は実施例による特質符号化のために予測モードを選択する方法の一例を示す図である。図18は特質情報予測部53009で行うことを一実施例とする。
【0317】
図18は特質のi番目のポイントに対して予測モード0ないし予測モード3を用いて最適な予測モードを探す一実施例を示している。
【0318】
即ち、該当ポイントの予測器に登録された隣接ポイントの特質値間の最大差(maximum difference)の値を計算し(段階55001)、段階55001で計算された最大差の値が所定のしきい値と等しいか又は大きいか否かを確認する(段階55002)。
【0319】
実施例による段階55002において、最大差の値が所定のしきい値より小さいことが確認されると、所定の基本予測モードとして該当ポイントの予測モードが設定される(段階55003)。所定の基本予測モードは予測モード0(即ち、加重値平均に基づいて特質値予測)であることを一実施例とする。所定の基本予測モードは予測モード0以外の他の予測モードであってもよい。実施例によれば、所定の基本予測モードとして該当ポイントの予測モードが設定される場合、該当ポイントの予測モードをシグナリングしない。この場合、所定の基本予測モードは送/受信側で既に知っていると仮定する。
【0320】
実施例による段階55002において、最大差の値が所定のしきい値と等しいか又は大きいことが確認されると、予測器候補を生成する(段階55004)。
【0321】
段階55004で生成される予測器候補の数は1より大きいことを一実施例とする。実施例によれば、段階55004で生成される予測器候補は予測モード0ないし予測モード3に該当する予測器候補である。
【0322】
段階55004において、予測器候補が生成されると、RDO(Rate-Distortion Optimization)方法(procedure)を適用して最適な予測器を選択する過程を行う。
【0323】
このために、段階55004で予測モード0ないし予測モード3に該当する4つの予測器候補が生成されると、各予測器のスコア(score or double score)を計算する(段階55005)。
【0324】
実施例によれば、4つの予測器候補のうちのいずれかを基本予測器として設定し、基本予測器と残りの予測器のスコアを計算する。予測モード0に該当する予測器を基本予測器として設定することを一実施例とする。
【0325】
基本予測器のスコアは以下の数5のように計算される。
【0326】
[数5]
double score=attrResidualQuant+kAttrPredLambdaR
*(quant.stepSize()>>kFixedPointAttributeShift)
【0327】
残りの予測器の各スコアは以下の数6のように計算される。
【0328】
[数6]
double score=attrResidualQuant+idxBits*kAttrPredLambdaR
*(quant.stepSize()>>kFixedPointAttributeShift)
【0329】
ここで、idxBits=i+(i==lifting_max_num_direct_predictors-1?1:2)である。
【0330】
数5及び数6において、attrResidualQuantは特質の残余特質値を量子化した値であり、kAttrPredLambdaRは常数であって、0.01であることを一実施例とする。また、iは何番目の隣接ポイント(即ち、ノード)であるかを指示し(0,1,2,…)、quant.stepSizeは特質量子化のサイズを表す。また、kFixedPointAttributeShiftは常数であって、8であることを一実施例とし、この時、quant.stepSize()>>kFixedPointAttributeShiftは8ビットだけ右側に特質量子化サイズをシフトすることを意味する。lifting_max_num_direct_predictorshは予測のために使用される予測器の最大数である。実施例によるlifting_max_num_direct_predictorsの値は3つがデフォルトとして設定され、ユーザパラメータにより入力されるか、又はシグナリング処理部51005によりシグナリング情報にシグナリングされることもできる。
【0331】
数5と数6の差は、基本予測器のスコア計算ではidxBitsが適用されないことである。
【0332】
数5及び数6を適用して求めた4つの予測器候補のスコアのうち、最低のスコアを有する予測器候補を探す(段階55006)。また最低のスコアを有する予測器候補に該当する予測モードを該当ポイントの予測モードとして設定する(段階55007)。即ち、予測モード0ないし予測モード3のうちのいずれかが該当ポイントの予測モードとして設定される(段階55008)。例えば、1番目の隣接ポイントを適用して求めたスコアが最も小さいと、予測モード1(即ち、予測器インデックス1)が該当ポイントの予測モードとして設定される。
【0333】
実施例によれば、段階55007で設定された該当ポイントの予測モード(例えば、predIndex)は特質スライスデータにシグナリングされる。
【0334】
複数の予測器候補(即ち、複数の候補予測モード)のうち、数5及び数6を適用して予測器候補(即ち、予測モード)を選択すると、予測モード0に該当する基本予測器のスコア計算にはidxBitsを適用しないので、予測モード0に該当する基本予測器が選択される確率が高い。
【0335】
このとき、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差の値が所定のしきい値と等しいか又は大きいとは、既に隣接ポイントの特質差が大きいことを意味する。ところが、該当ポイントの予測モードとして予測モード0が選択されると、このときの予測特質値は隣接ポイントの特質に加重値をかけた値の平均値(即ち、各ポイントの予測器に設定された隣接ポイントの特質に各隣接ポイントまでの距離に基づいて計算された加重値をかけた値の平均値)により求められる。従って、オリジナル特質値と予測特質値の差である残余特質値のビットストリームのサイズが、登録された各隣接ポイントから求めたサイズよりも大きくなる。
【0336】
このように、複数の予測器候補から選択された予測器候補により予測特質値が影響を受け、この予測特質値は残余特質値に影響を与える。
【0337】
この明細書の他の実施例においては、特質効率を向上させるために、予測モード0に該当する予測器を除いた残りの予測器候補のうち、最適な予測器候補を選択することができる。
【0338】
例えば、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差の値が所定のしきい値と等しいか又は大きいと、3つの予測器候補、即ち、予測モード1ないし予測モード3(即ち、予測モード0は除外)のうち、スコアが一番低い予測モードが該当ポイントの予測モードとして設定され、最大差の値が所定のしきい値より小さいと、予測モード0が該当ポイントの予測モードとして設定される。予測モード0は加重値平均(即ち、各ポイントの測器に設定された隣接ポイントの特質に各隣接ポイントまでの距離に基づいて計算された加重値をかけた値の平均値)により予測特質値を計算する予測モードである。
【0339】
図19は実施例による特質符号化のために予測モードを選択する方法の他の実施例を示す図である。図19は特質情報予測部53009で行うことを一実施例とする。
【0340】
図19は特質のi番目のポイントに対して予測モード1ないし予測モード3を用いて最適な予測モードを探す一実施例を示している。
【0341】
即ち、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値を計算し(段階57001)、段階57001で計算された最大差の値が所定のしきい値と等しいか又は大きいか否かを確認する(段階57002)。
【0342】
実施例による段階57002において、最大差の値が所定のしきい値より小さいことが確認されると、所定の基本予測モードとして該当ポイントの予測モードが設定される(段階57003)。所定の基本予測モードは予測モード0(即ち、加重値平均に基づいて特質値予測)であることを一実施例とする。所定の基本予測モードは予測モード0以外の他の予測モードであってもよい。実施例によれば、所定の基本予測モードとして該当ポイントの予測モードが設定される場合、該当ポイントの予測モードをシグナリングしない。この場合、所定の基本予測モードは送/受信側で既に知っていると仮定する。
【0343】
実施例による段階57002において、最大差の値が所定のしきい値と等しいか又は大きいことが確認されると、予測器候補を生成する(段階57004)。
【0344】
段階57004で生成される予測器候補の数は1より大きいことを一実施例とする。実施例によれば、段階57004で生成される予測器候補は予測モード1ないし予測モード3に該当する予測器候補である。即ち、予測モード0に該当する予測器は予測器候補に含まれない。言い換えれば、予測器候補は該当ポイントに登録された隣接ポイントの特質値を予測特質値として設定する予測モードに該当する。
【0345】
段階57004において予測器候補が生成されると、RDO(Rate-Distortion Optimization)方法(procedure)を適用して最適な予測器を選択する過程を行う。
【0346】
このために、段階57004で予測モード1ないし予測モード3に該当する3つの予測器候補が生成されると、各予測器のスコア(score or double score)を計算する(段階57005)。
【0347】
各予測器のスコアは以下の数7のように計算される。
【0348】
[数7]
double score=attrResidualQuant+kAttrPredLambdaR
*(quant.stepSize()>>kFixedPointAttributeShift)
【0349】
数7において、attrResidualQuantは特質の残余特質値を量子化した値であり、kAttrPredLambdaRは常数であって、0.01であることを一実施例とする。また、quant.stepSizeは特質量子化サイズを示し、kFixedPointAttributeShiftは常数であって、8であることを一実施例とする。このとき、quant.stepSize()>>kFixedPointAttributeShiftは8ビットだけ右側に特質量子化サイズをシフトすることを意味する。
【0350】
実施例によれば、数7において、kAttrPredLambdaR、quant.stepSize()及びkFixedPointAttributeShiftのうちのいずれかは省略してもよい。
【0351】
他の実施例において、数6を適用して各予測器のスコアを計算することもできる。
【0352】
この明細書においては、数7を適用した求めた3つの予測器候補のスコアのうち、最低のスコアを有する予測器候補を探すことを一実施例とする(段階57006)。また最低のスコアを有する予測器候補に該当する予測モードを該当ポイントの予測モードとして設定する(段階57007)。即ち、予測モード1ないし予測モード3のうちのいずれかが該当ポイントの予測モードとして設定される(段階57008)。例えば、1番目の隣接ポイントを適用して求めたスコアが最も小さいと、予測モード1(即ち、予測器インデックス1)が該当ポイントの予測モードとして設定される。
【0353】
実施例によれば、段階57007で設定された該当ポイントの予測モード(例えば、predIndex)は特質スライスデータにシグナリングされることができる。
【0354】
このように該当ポイントに登録された隣接ポイント間の特質要素の差の値が限界値と等しいか又は大きいと、該当ポイントの予測モードで加重値平均により予測特質値を計算する予測モード0が使用されないようにすることにより、該当ポイントの残余特質値のサイズを縮めることができる。
【0355】
この明細書は、他の実施例においては、段階57004で予測モード1ないし予測モード3に該当する3つの予測器候補が生成されると、3つの予測器候補のうちのいずれかを基本予測器に設定した後、基本予測器は数5を適用し、残りの2つの予測器は数6を適用してスコアを計算する。また、3つの予測器候補のスコアのうち、最低のスコアを有する予測器候補に該当する予測モードを該当ポイントの予測モードとして設定し、設定された予測モード(例えば、predIndex)は特質スライスデータにシグナリングする。
【0356】
実施例によれば、該当ポイントの特質値と該当ポイントに登録された隣接ポイントの間の類似特質値を求め、該当ポイントに登録された隣接ポイントのうち、最も類似した特質値を有する隣接ポイントを選択して、該当隣接ポイントを選択する予測器候補を基本予測器として設定する。
【0357】
実施例による特質類似性を検証するために、ユークリッド色距離(Euclidean Color Distance)、相関色温度(Correlated Color Temperature)、又はCIE(Commission on Illumination)で定義した距離メトリック(distance metric)CIE94を選択的に使用することができる。
【0358】
実施例によるユークリッド色距離は以下の数8により求められる。
【0359】
【数8】
【0360】
実施例によるCCT(相関色温度)は、以下の数9のように、RGB値をCIE(XYZ)値に変更して彩度(chromatic value)に正規化した後、CCT値が計算される。
【0361】
【数9】
【0362】
実施例によるCIE94は以下の数10により求められる。
【0363】
【数10】
【0364】
このように該当ポイントの特質値と該当ポイントに登録された隣接ポイントの間で最も類似する特質値を有する隣接ポイントを選択し、該当隣接ポイントに該当する予測器候補を基本予測器として設定する。
【0365】
実施例によれば、特質類似性を検証するために使用された予測器選択関連のオプション情報はシグナリング情報にシグナリングされる。実施例による予測器選択関連のオプション情報は類似特質検索方法(attribute_similarity_check_method_type)と基本予測器選択方法(attribute_base_predictor selection_type)を含む。実施例によるシグナリング情報はシーケンスパラメータセット、特質パラメータセット、タイルパラメータセット及び特質スライスヘッダのうちのいずれかである。
【0366】
このように該当ポイントに登録された隣接ポイント間の特質要素の差の値が限界値と等しいか又は大きいと、該当ポイントの特質値と該当ポイントに登録された隣接ポイントの間で最も類似する特質値を有する隣接ポイントに該当する予測器候補を基本予測器として設定することにより、該当ポイントの残余特質値のサイズを縮めることができる。
【0367】
上記過程により、各ポイントごとに設定された予測モードと設定された予測モードにおける残余特質値は、残余特質情報量子化処理部53010に出力される。
【0368】
実施例によれば、残余特質情報量子化処理部53010は入力される残余特質値に対してゼロランレングス符号化を適用する。
【0369】
この明細書は残余特質値に対して量子化及びゼロランレングス符号化を行うことを一実施例とする。
【0370】
実施例による演算コーダ53011は、残余特質情報量子化処理部53010で出力される予測モードと残余特質値に対して演算コーディングを適用して特質ビットストリームに出力する。
【0371】
ジオメトリエンコーダ51006で圧縮されて出力されるジオメトリビットストリームと特質エンコーダ51007で圧縮されて出力される特質ビットストリームは、送信処理部51008に出力される。
【0372】
実施例による送信処理部51008は、図12の送信処理部12012の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行い、図1の送受信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は図1又は図12の説明を参照でき、ここでは省略する。
【0373】
実施例による送信処理部51008は、ジオメトリエンコーダ51006で出力されるジオメトリビットストリーム、特質エンコーダ51007で出力される特質ビットストリーム、及びシグナリング処理部51005で出力されるシグナリングビットストリームをそれぞれ送信するか、又は一つのビットストリームに多重化して送信する。
【0374】
実施例による送信処理部51008は、ビットストリームをファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化した後、放送網及び/又はブロードバンド網などの様々なネットワークにより送信することもできる。
【0375】
実施例によるシグナリング処理部51005は、シグナリング情報を生成及び/又は処理してビットストリーム形態で送信処理部51008に出力する。シグナリング処理部51005で生成及び/又は処理されたシグナリング情報は、ジオメトリ符号化、特質符号化及び送信処理のためにジオメトリエンコーダ51006、特質エンコーダ51007及び/又は送信処理部51008に提供されるか、又はシグナリング処理部51005にジオメトリエンコーダ51006、特質エンコーダ51007及び/又は送信処理部51008で生成されたシグナリング情報が提供される。
【0376】
この明細書において、シグナリング情報は、パラメータセット(SPS:sequence parameter set、GPS:geometry parameter set、APS:attribute parameter set、TPS:Tile Parameter Setなど)単位でシグナリングされて送信される。またスライス又はタイルのように各映像のコーディングユニット単位でシグナリングされて送信されることもできる。この明細書において、シグナリング情報はポイントクラウドデータに関するメタデータ(例えば、設定値など)を含み、ジオメトリ符号化、特質符号化及び送信処理のためにジオメトリエンコーダ51006と特質エンコーダ51007及び/又は送信処理部51008に提供される。アプリケーションによってシグナリング情報は、ファイルフォーマット、DASH(dynamic adaptive streaming over HTTP)、MMT(MPEG media transport)などのシステム端、又はHDMI(High Definition Multimedia Interface)(登録商標)、ディスプレイポート、VESA(Video Electronics Standards Association)、CTAなどの有線インターフェース端でも定義される。
【0377】
実施例による方法/装置が実施例の動作を追加する/行うために、関連情報をシグナリングすることができる。実施例によるシグナリング情報は送信装置及び/又は受信装置で使用される。
【0378】
この明細書において、特質予測のために使用される予測器の最大個数情報(lifting_max_num_direct_predictors)、特質の適応的予測を可能にするためのしきい値情報(lifting_adaptive_prediction_threshold)、予測器選択関連のオプション情報、例えば、基本予測器選択方法(attribute_base_predictor selection_type)、類似特質検索方法(attribute_similarity_check_method_type)などは、シーケンスパラメータセット、特質パラメータセット、タイルパラメータセット及び特質スライスヘッダのうちのいずれかにシグナリングされることを一実施例とする。また複数の予測器候補から選択された予測器候補に該当する予測モードを指示する予測器インデックス情報(predIndex)は、特質スライスデータにシグナリングされることを一実施例とする。
【0379】
一方、受信装置のポイントクラウドビデオデコーダでも、上記送信装置のポイントクラウドビデオエンコーダのように、LODl集合を生成し、LODl集合に基づいて最隣接(nearest neighbor)ポイントを探して予測器に隣接ポイント集合として登録し、それぞれの隣接ポイントとの距離値に基づいて加重値を計算して正規化する過程を同一又は類似に行う。また受信された予測モードを復号し、復号された予測モードによって該当ポイントの特質値を予測する。また受信された残余特質値を復号した後、予測された特質値を加えて該当ポイントの特質値を復元する。
【0380】
図20は実施例によるポイントクラウド受信装置のさらに他の例を示す図である。
【0381】
実施例によるポイントクラウド受信装置は、受信処理部61001、シグナリング処理部61002、ジオメトリデコーダ61003、特質デコーダ61004、及び後処理部(post-processor)61005を含む。実施例によってジオメトリデコーダ61003と特質デコーダ61004をポイントクラウドビデオデコーダとも称する。実施例によれば、ポイントクラウドビデオデコーダはPCCデコーダ、PCC復号部、ポイントクラウドデコーダ、ポイントクラウド復号部などとも呼ばれる。
【0382】
実施例による受信処理部61001は、一つのビットストリームを受信し、又はジオメトリビットストリーム、特質ビットストリーム、シグナリングビットストリームをそれぞれ受信する。実施例による受信処理部61001は、ファイル及び/又はセグメントが受信されると、受信されたファイル及び/又はセグメントをカプセル化解除してビットストリームで出力する。
【0383】
実施例による受信処理部61001は、一つのビットストリームが受信(又はカプセル化解除)されると、一つのビットストリームからジオメトリビットストリーム、特質ビットストリーム、及び/又はシグナリングビットストリームを逆多重化し、逆多重化されたシグナリングビットストリームはシグナリング処理部61002に、ジオメトリビットストリームはジオメトリデコーダ61003に、また特質ビットストリームは特質デコーダ61004に出力する。
【0384】
実施例による受信処理部61001は、ジオメトリビットストリーム、特質ビットストリーム、及び/又はシグナリングビットストリームがそれぞれ受信(又はカプセル化解除)されると、シグナリングビットストリームはシグナリング処理部61002に、ジオメトリビットストリームはジオメトリデコーダ61003に、また特質ビットストリームは特質デコーダ61004に伝達する。
【0385】
シグナリング処理部61002は、入力されたシグナリングビットストリームからシグナリング情報、例えば、SPS、GPS、APS、TPS、メタデータなどに含まれた情報をパース(parse)及び処理して、ジオメトリデコーダ61003、特質デコーダ61004、後処理部61005に提供する。他の例として、ジオメトリスライスヘッダ及び/又は特質スライスヘッダに含まれたシグナリング情報も該当スライスデータを復号する前にシグナリング処理部61002で予めパースされることもできる。即ち、送信側でポイントクラウドデータが図16のようにタイル及び/又はスライスに分割されたら、TPSはそれぞれのタイル内に含まれたスライスの数を含むので、実施例によるポイントクラウドビデオデコーダはスライスの数を確認でき、並列的な復号のための情報を迅速にパースすることができる。
【0386】
よって、この明細書によるポイントクラウドビデオデコーダは、データの量が減少したSPSを受信することにより、ポイントクラウドデータを含むビットストリームを迅速にパース(parsing)することができる。受信装置はタイルを受信し次第、該当タイルの復号を行い、タイルごとにタイル内に含まれたGPSとAPSに基づいてスライスごとに復号を行うことにより、復号の効率を極大化することができる。
【0387】
即ち、ジオメトリデコーダ61003は圧縮されたジオメトリビットストリームに対してシグナリング情報(例えば、ジオメトリ関連パラメータ)に基づいて、図15のジオメトリエンコーダ51006の逆過程を行ってジオメトリを復元する。ジオメトリデコーダ61003で復元された(又は再構成された(reconstructed))ジオメトリは特質デコーダ61004に提供される。特質デコーダ61004は圧縮された特質ビットストリームに対してシグナリング情報(例えば、特質関連パラメータ)と再構成されたジオメトリに基づいて図15の特質エンコーダ51007の逆過程を行って特質を復元する。実施例によれば、送信側でポイントクラウドデータが図16のようにタイル及び/又はスライス単位に分割されたら、ジオメトリデコーダ61003と特質デコーダ61004でタイル及び/又はスライス単位でジオメトリ復号と特質復号を行う。
【0388】
図21は実施例によるジオメトリデコーダ61003と特質デコーダ61004の他の例を示す詳細ブロック図である。
【0389】
図21のジオメトリデコーダ61003に含まれた演算デコーダ63001、八分木再構成部63002、ジオメトリ情報予測部63003、逆量子化処理部63004及び座標系逆変換部63005は、図11の演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004の動作の一部又は全部を行うか、又は図13の演算デコーダ13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005の動作の一部又は全部を行う。ジオメトリデコーダ61003で復元された位置は、後処理部(post-process)61005に出力される。
【0390】
実施例によれば、シーケンスパラメータセット(SPS)、特質パラメータセット(APS)、タイルパラメータセット(TPS)、及び特質スライスヘッダのうちのいずれかに特質予測のために使用される予測器の最大個数情報(lifting_max_num_direct_predictors)、特質の適応的予測を可能にするためのしきい値情報(lifting_adaptive_prediction_threshold)、予測器選択関連のオプション情報、例えば、基本予測器選択方法(attribute_base_predictor selection_type)、類似特質検索方法(attribute_similarity_check_method_type)などがシグナリングされていると、シグナリング処理部61002で得て特質デコーダ61004に提供するか、又は直接特質デコーダ61004で得ることができる。
【0391】
実施例による特質デコーダ61004は、演算デコーダ63006、LOD構成部63007、隣接ポイント集合構成部63008、特質情報予測部63009、残余特質情報逆量子化処理部63010及び色相逆変換処理部63011を含む。
【0392】
実施例による演算デコーダ63006は、入力される特質ビットストリームを演算復号する。演算デコーダ63006は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダ63006は図11の演算デコーダ11005又は図13の演算デコーダ13007の動作及び/又は復号と同一又は類似する動作及び/又は復号を行う。
【0393】
実施例によって演算デコーダ63006で出力される特質ビットストリームは、再構成されたジオメトリ情報に基づいてRAHT復号、LOD基盤の予測変換復号技法及びリフト変換復号技法のうちのいずれか一つ又は二つを組み合わせて復号される。
【0394】
この明細書においては、送信装置でLOD基盤の予測変換コーディング技法とリフト変換コーディング技法のうちのいずれか一つ又は二つを組み合わせて特質圧縮を行うことを一実施例として説明したので、受信装置でもLOD基盤の予測変換復号技法とリフト変換復号技法のうちのいずれか一つ又は二つを組み合わせて特質復号を行うことを一実施例として説明する。よって、受信装置でもRAHT復号技法については説明を省略する。
【0395】
一実施例によれば、演算デコーダ63006で演算復号された特質ビットストリームはLOD構成部63007に提供される。実施例によれば、演算デコーダ63006からLOD構成部63007に提供される特質ビットストリームは、予測モードと残余特質値を含む。
【0396】
実施例によるLOD構成部63007は、送信装置のLOD構成部53007と同一又は類似する方法でLODを生成して、隣接ポイント集合構成部63008に出力する。
【0397】
実施例によれば、LOD構成部63007はポイントをLODに分けてグルーピングする。このとき、互いに異なるLODを有するグループをLODl集合と称する。ここで、lはLODを示し、0から始める整数である。LODはポイント間の距離が最も大きいポイントで構成された集合であり、lが大きくなるほどLODlに属するポイント間の距離が短くなる。
【0398】
実施例によれば、送信装置で符号化された予測モードと残余特質値は、LODごとに存在するか、又はリーフノードに対してのみ存在する。
【0399】
一実施例において、LOD構成部63007でLODl集合が生成されると、隣接ポイント集合構成部63008はLODl集合に基づいてLODが等しいか又は小さい(即ち、ノード間の距離が大きい)グループからX個(>0)の最隣接ポイント(nearest neighbor)を探して、予測器に隣接ポイント集合として登録する。ここで、X個は隣接ポイントとして設定できる最大個数(例えば、lifting_num_pred_nearest_neighbours)であり、ユーザパラメータにより入力されるか、又はSPS、APS、GPS、TPS、ジオメトリスライスヘッダ及び特質スライスヘッダのようなシグナリング情報に含まれて受信される。
【0400】
他の実施例において、隣接ポイント集合構成部63008はSPS、APS、GPS、TPS、ジオメトリスライスヘッダ及び特質スライスヘッダのようなシグナリング情報に基づいて各ポイントごとに該当ポイントの隣接ポイントを選択する。このために隣接ポイント集合構成部63008には該当情報がシグナリング処理部61002から提供される。
【0401】
例えば、図9において、LODに属するP3ポイント(即ち、ノード)の隣接ポイントとしてP2 P4 P6ポイントが選択されてP3の予測器に隣接ポイント集合として登録されることができる。
【0402】
実施例により、特質情報予測部63009は特定のポイントの予測モードに基づいて該当ポイントの特質値を予測する過程を行う。かかる特質予測過程は再構成されたジオメトリの全てのポイント又は少なくとも一部のポイントに対して行うことを一実施例とする。
【0403】
実施例による特定のポイントの予測モードは予測モード0ないし予測モード3のうちのいずれかである。
【0404】
実施例によれば、送信側の特質エンコーダでは、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値より小さいと、予測モード0を該当ポイントの予測モードとして設定し、所定のしきい値と等しいか又は大きいと、複数の候補予測モードに対してRDO方法を適用して、そのうちのいずれかを該当ポイントの予測モードとして設定する。かかる過程を各ポイントごとに行うことを一実施例とする。
【0405】
実施例によれば、送信側の特質エンコーダでは、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値と等しいか又は大きいと、予測モード0に該当する予測器を基本予測器として設定した後、基本予測器は数5を適用し、該当ポイントの隣接ポイントに対応する予測器は数6を適用してスコアを計算する。またスコアが一番低い予測器に該当する予測モードを該当ポイントの予測モードとして設定する。該当ポイントの予測モードは予測モード0ないし予測モード3のうちのいずれかに設定される。
【0406】
実施例によれば、送信側の特質エンコーダでは、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値と等しいか又は大きいと、該当ポイントの特質値と該当ポイントに登録された隣接ポイントの間の類似特質値を求め、該当ポイントに登録された隣接ポイントのうち、最も類似する特質値を有する隣接ポイントの予測器を基本予測器として設定する。また、基本予測器は数5を適用し、基本予測器として設定された隣接ポイントを除いた残りの隣接ポイントに対応する予測器は数6を適用してスコアを計算した後、スコアが一番低い予測器に該当する予測モードを該当ポイントの予測モードとして設定する。即ち、該当ポイントの予測モードを設定するために、予測モード0に該当する予測器が使用されない。言い換えれば、該当ポイントの予測モードは予測モード1ないし予測モード3のうちのいずれかに設定される。
【0407】
実施例によれば、送信側の特質エンコーダでは、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値と等しいか又は大きいと、該当ポイントの隣接ポイントに対応する予測器に数7を適用してスコアを計算した後、スコアが一番低い予測器に該当する予測モードを該当ポイントの予測モードとして設定する。即ち、該当ポイントの予測モードを設定するために予測モード0に該当する予測器が使用されない。言い換えれば、該当ポイントの予測モードは予測モード1ないし3のうちのいずれかに設定される。
【0408】
実施例によれば、RDO方法を適用して選択される該当ポイントの予測モード(predIndex)は、特質スライスデータにシグナリングされる。よって、該当ポイントの予測モードは特質スライスデータから得られる。
【0409】
実施例により、特質情報予測部63009は上述したように設定された各ポイントの予測モードに基づいて各ポイントの特質値を予測することもできる。
【0410】
例えば、P3ポイントの予測モードが0であると仮定すると、P3の予測器に登録された隣接ポイントであるP2 P4 P6の特質に加重値(又は正規化された加重値)をかけた値の平均を求め、その平均値にP3ポイントの予測特質値として決定する。
【0411】
他の例として、P3ポイントの予測モードが1であると仮定すると、P3の予測器に登録された隣接ポイントP4の特質値をP3イントの予測特質値として決定する。
【0412】
さらに他の例として、P3ポイントの予測モードが2であると仮定すると、P3の予測器に登録された隣接ポイントP6の特質値をP3ポイントの予測特質値として決定する。
【0413】
さらに他の例として、P3ポイントの予測モードが3であると仮定すると、P3の予測器に登録された隣接ポイントP2の特質値をP3ポイントの予測特質値として決定する。
【0414】
特質情報予測部63009で該当ポイントの予測モードに基づいて該当ポイントの予測特質値が求められると、残余特質情報逆量子化処理部63010は受信された該当ポイントの残余特質値に特質情報予測部63009で予測された該当ポイントの予測特質値を加えて該当ポイントの特質値を復元した後、送信装置の量子化過程の逆に逆量子化を行う。
【0415】
一実施例において、送信側でポイントの残余特質値に対してゼロランレングス符号化を適用した場合は、残余特質情報逆量子化処理部63010はポイントの残余特質値に対してゼロランレングス復号を行った後、逆量子化を行う。
【0416】
残余特質情報逆量子化処理部63010で復元された特質値は色相逆変換処理部63011に出力される。
【0417】
色相逆変換処理部63011は復元された特質値に含まれた色値(又はテクスチャー)を逆変換するための逆変換コーディングを行って特質を後処理部61005に出力する。色相逆変換処理部63011は図11の色逆変換部11010又は図13の色相逆変換処理部13010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。
【0418】
後処理部61005は、ジオメトリデコーダ61003で復元されて出力される位置と特質デコーダ61004で復元されて出力される特質をマッチングして、ポイントクラウドデータを再構成する。また後処理部61005は、再構成されたポイントクラウドデータがタイル及び/又はスライス単位であれば、シグナリング情報に基づいて送信側の空間分割の逆過程を行う。例えば、図16(a)のような境界ボックスが図16(b)、図16(c)のようにタイル及びスライスに分割されたら、シグナリング情報に基づいてタイル及び/又はスライスを結合して、図16(a)のように境界ボックスを復元する。
【0419】
図22は実施例による送/受信のためのポイントクラウドデータのビットストリーム構造の一例を示す図である。
【0420】
実施例によるジオメトリビットストリーム、特質ビットストリーム、及びシグナリングビットストリームが一つのビットストリームで構成される場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームは、シーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのための一つ以上のAPS(Attribute Parameter Set、APS、APS)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)、及び一つ以上のスライス(slice 0~slice N)を含む。即ち、実施例によるポイントクラウドデータのビットストリームは一つ以上のタイルを含み、それぞれのタイルは一つ以上のスライス(slice0~slice n)を含むスライスのグループである。実施例によるTPSは一つ以上のタイルに対して各タイルに関する情報(例えば、境界ボックスの座標値情報及び高さ/サイズ情報など)を含む。それぞれのスライスは一つのジオメトリビットストリーム(Geom0)及び一つ以上の特質ビットストリーム(Attr0、Attr1)を含む。例えば、第1スライス(slice 0)は一つのジオメトリビットストリーム(Geom0)及び一つ以上の特質ビットストリーム(Attr0、Attr1)を含む。
【0421】
それぞれのスライス内のジオメトリビットストリーム(又はジオメトリスライスという)は、ジオメトリスライスヘッダ(geom_slice_header)及びジオメトリスライスデータ(geom_slice_data)で構成される。実施例によるジオメトリスライスヘッダ(geom_slice_header)は、ジオメトリパラメータセット(GPS)に含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びジオメトリスライスデータ(geom_slice_data)に含まれたデータに関する情報(geomBoxOrigin、geom_box_log2_scale、geom_max_node_size_log2、geom_num_points)などを含む。geomBoxOriginは該当ジオメトリスライスデータのボックス原点を示すジオメトリボックスオリジン情報であり、geom_box_log2_scaleは該当ジオメトリスライスデータの対数スケール(Log Scale)を示す情報であり、geom_max_node_size_log2はルートジオメトリ八分木ノードのサイズを示す情報であり、geom_num_pointsは該当ジオメトリスライスデータのポイントの数に関する情報である。実施例によるジオメトリスライスデータ(geom_slice_data)は、該当スライス内のポイントクラウドデータのジオメトリ情報(又はジオメトリデータ)を含む。
【0422】
それぞれのスライス内のそれぞれの特質ビットストリーム(又は特質スライスという)は、特質スライスヘッダ(attr_slice_header)及び特質スライスデータ(attr_slice_data)で構成される。実施例による特質スライスヘッダ(attr_slice_header)は該当特質スライスデータに関する情報を含み、特質スライスデータは該当スライス内のポイントクラウドデータの特質情報(又は特質データ又は特質値という)を含む。一つのスライス内の特質ビットストリームが複数個ある場合、それぞれは互いに異なる特質情報を含む。例えば、一つの特質ビットストリームは色相に該当する特質情報を含み、他の一つの特質ストリームは反射率に該当する特質情報を含む。
【0423】
図23は実施例によるポイントクラウドデータのビットストリーム構造の一例を示す図である。
【0424】
図24は実施例によるポイントクラウドデータのビットストリーム内における構成間連結関係を示す図である。
【0425】
図23及び図24に示したポイントクラウドデータのビットストリーム構造は、図22に示したポイントクラウドデータのビットストリーム構造を意味する。
【0426】
実施例によるSPSは、該当SPSを識別するための識別子(seq_parameter_set_id)を含み、GPSは該当GPSを識別するための識別子(geom_parameter_set_id)と該当GPSが属するアクティブSPS(Active SPS)を示す識別子(seq_parameter_set_id)を含み、APSは該当APSを識別するための識別子(attr_parameter_set_id)と該当APSが属するアクティブSPS(Active SPS)を示す識別子(seq_parameter_set_id)を含む。
【0427】
実施例によるジオメトリビットストリーム(又はジオメトリスライスという)はジオメトリスライスヘッダとジオメトリスライスデータを含み、ジオメトリスライスヘッダは該当ジオメトリスライスで参照するアクティブGPSの識別子(geom_parameter_set_id)を含む。さらにジオメトリスライスヘッダは該当ジオメトリスライスを識別するための識別子(geom_slice_id)及び/又は該当タイルを識別するための識別子(geom_tile_id)を含む。ジオメトリスライスデータは該当スライスに属するジオメトリ情報を含む。
【0428】
実施例による特質ビットストリーム(又は特質スライスという)は特質スライスヘッダと特質スライスデータを含み、特質スライスヘッダは該当特質スライスで参照するアクティブAPSの識別子(attr_parameter_set_id)と該当特質スライスに関連するジオメトリスライスを識別するための識別子(geom_slice_id)を含む。特質スライスデータは該当スライスに属する特質情報を含む。
【0429】
即ち、ジオメトリスライスはGPSを参照し、GPSはSPSを参照する。また、SPSは利用可能な特質を並べ、それぞれに識別子を割り当て、復号方法を識別する。特質スライスは識別子により出力特質にマッピングされ、特質スライス自体は先行(復号された)ジオメトリスライスとAPSに対して従属性を有する。APSはSPSを参照する。
【0430】
実施例によれば、ポイントクラウドデータの符号化に必要なパラメータはポイントクラウドデータのパラメータセット及び/又は該当スライスヘッダに新しく定義される。例えば、特質情報の符号化を行うときには特質パラメータセット(APS)に、タイル基盤の符号化を行うときにはタイル及び/又はスライスヘッダに追加することができる。
【0431】
図22ないし図24に示したように、ポイントクラウドデータのビットストリームはポイントクラウドデータを領域ごとに分けて処理できるように、タイル又はスライスを提供する。実施例によるビットストリームのそれぞれの領域は互いに異なる重要度を有する。従って、ポイントクラウドデータがタイルに分けられる場合、各タイルごとに異なるフィルター(符号化方法)、異なるフィルターユニットを提供することができる。また、ポイントクラウドデータがスライスに分けられる場合は、各スライスごとに異なるフィルター、異なるフィルターユニットを適用することができる。
【0432】
実施例による送信装置及び受信装置はポイントクラウドデータを分割して圧縮するとき、分割された領域内の特質情報の選択的送信のために、高レベルのシンタックス構造でビットストリームを送信及び受信することができる。
【0433】
実施例による送信装置は、図22ないし図24のようなビットストリームの構造によってポイントクラウドデータを送信することにより、重要度によって異なる符号化動作を適用して、良質の符号化方法を重要な領域に使用する案を提供することができる。またポイントクラウドデータの特性による効率的な符号化及び送信を支援して、ユーザの要求事項による特質値を提供することができる。
【0434】
実施例による受信装置は、図22ないし図24のようなビットストリームの構造によってポイントクラウドデータを受信することにより、受信装置の処理能力によってポイントクラウドデータの全体に複雑な復号(フィルタリング)方法を使用する代わりに、領域ごとに(タイル又はスライスに分けられた領域)互いに異なるフィルタリング(復号)を適用することができる。従って、ユーザにもっと重要な領域にはより良質の画質を提供し、システム上適切な遅延(latency)を保障することができる。
【0435】
上述したように、タイル又はスライスはポイントクラウドデータを領域ごとに分けて処理するために提供される。また、ポイントクラウドデータを領域ごとに分けるとき、それぞれの領域ごとに異なる隣接ポイント集合を生成するオプションを設定して、複雑度(complexity)は低いが信頼度が多少落ちる案、又は逆に複雑度は高いが信頼度が高い選択案を提供することができる。
【0436】
実施例によるSPS、APS、TPS及び各スライスごとの特質スライスヘッダのうちのいずれかは予測器選択関連のオプション情報を含む。実施例によれば、予測器選択関連のオプション情報は、基本予測器選択方法(attribute_base_predictor selection_type)と類似特質検索方法(attribute_similarity_check_method_type)を含む。
【0437】
以下説明するこの明細書のシンタックスで使用される用語であるフィールドは、パラメータ又はエレメントと同じ意味を有する。
【0438】
図25はこの明細書によるシーケンスパラメータセット(seq_parameter_set_rbsp())(SPS)のシンタックス構造の一例を示す図である。SPSはポイントクラウドデータビットストリームのシーケンス情報を含み、特に予測器選択関連のオプション情報を含む例を示している。
【0439】
実施例によるSPSは、profile_idcフィールド、profile_compatibility_flagsフィールド、level_idcフィールド、sps_bounding_box_present_flagフィールド、sps_source_scale_factorフィールド、sps_seq_parameter_set_idフィールド、sps_num_attribute_setsフィールド及びsps_extension_present_flagフィールドを含む。
【0440】
profile_idcフィールドは、そのビットストリームが従う(conform)プロファイルを示す。
【0441】
profile_compatibility_flagsフィールドの値が1であると、そのビットストリームがprofile_idcフィールドにより指示されたそのプロファイルに従うことを示す(the bitstream conforms to the profile indicated by profile_idc)。
【0442】
level_idcフィールドは、そのビットストリームが従うレベルを示す。
【0443】
sps_bounding_box_present_flagフィールドは、ソース境界ボックス情報がSPSにシグナリングされるか否かを示す。ソース境界ボックス情報はソース境界ボックスオフセットとサイズ情報を含む。例えば、sps_bounding_box_present_flagフィールドの値が1であると、ソース境界ボックス情報がSPSにシグナリングされ、0であると、シグナリングされないことを示す。sps_source_scale_factorフィールドは、ソースポイントクラウドの倍率(scale factor)を示す(indicates the scale factor of the source point cloud)。
【0444】
sps_seq_parameter_set_idフィールドは、他のシンタックスエレメントにより参照されるSPSに関する識別子を提供する(provides an identifier for the SPS for reference by other syntax elements)。
【0445】
sps_num_attribute_setsフィールドは、そのビットストリーム内のコーディングされた特質の数を示す(indicates the number of coded attributes in the bitstream)。
【0446】
sps_extension_present_flagフィールドは、sps_extension_dataシンタックス構造が該当SPSシンタックス構造に存在するか否かを示す。例えば、sps_extension_present_flagフィールドの値が1であると、sps_extension_dataシンタックス構造がこのSPSシンタックス構造に存在し、0であると、存在しないことを示す(equal to 1 specifies that the sps_extension_data syntax structure is present in the SPS syntax structure. The sps_extension_present_flag field equal to 0 specifies that this syntax structure is not present. When not present、the value of the sps_extension_present_flag field is inferred to be equal to 0)。
【0447】
実施例によるSPSは、sps_bounding_box_present_flagフィールドの値が1であると、さらにsps_bounding_box_offset_xフィールド、sps_bounding_box_offset_yフィールド、sps_bounding_box_offset_zフィールド、sps_bounding_box_scale_factorフィールド、sps_bounding_box_size_widthフィールド、sps_bounding_box_size_heightフィールド及びsps_bounding_box_size_depthフィールドを含む。
【0448】
sps_bounding_box_offset_xフィールドは、直交座標系(Cartesian coordinates)において、ソース境界ボックスのxオフセットを示す。ソース境界ボックスのxオフセットが存在しないと、sps_bounding_box_offset_xフィールドの値は0である。
【0449】
sps_bounding_box_offset_yフィールドは、直交座標系においてソース境界ボックスのyオフセットを示す。ソース境界ボックスのyオフセットが存在しないと、sps_bounding_box_offset_yフィールドの値は0である。
【0450】
sps_bounding_box_offset_zフィールドは、直交座標系においてソース境界ボックスのzオフセットを示す。ソース境界ボックスのzオフセットが存在しないと、sps_bounding_box_offset_zフィールドの値は0である。
【0451】
sps_bounding_box_scale_factorフィールドは、直交座標系においてソース境界ボックスの倍率を示す。ソース境界ボックスの倍率が存在しないと、sps_bounding_box_scale_factorフィールドの値は1である。
【0452】
sps_bounding_box_size_widthフィールドは、直交座標系においてソース境界ボックスの幅を示す。ソース境界ボックスの幅が存在しないと、sps_bounding_box_size_widthフィールドの値は1である。
【0453】
sps_bounding_box_size_heightフィールドは、直交座標系においてソース境界ボックスの高さを示す。ソース境界ボックスの高さが存在しないと、sps_bounding_box_size_heightフィールドの値は1である。
【0454】
sps_bounding_box_size_depthフィールドは、直交座標系においてソース境界ボックスの深さを示す。ソース境界ボックスの深さが存在しないと、sps_bounding_box_size_depthフィールドの値は1である。
【0455】
実施例によるSPSは、sps_num_attribute_setsフィールドの値だけ繰り返される繰り返し文を含む。このとき、iは0に初期化され、繰り返し文が行われるたびに1ずつ増加し、i値がsps_num_attribute_setsフィールドの値になるまで繰り返し文が繰り返されることを一実施例とする。この繰り返し文は、attribute_dimension[i]フィールド、attribute_instance_id[i]フィールド、attribute_bitdepth[i]フィールド、attribute_cicp_colour_primaries[i]フィールド、attribute_cicp_transfer_characteristics[i]フィールド、attribute_cicp_matrix_coeffs[i]フィールド、attribute_cicp_video_full_range_flag[i]フィールド、及びknown_attribute_label_flag[i]フィールドを含む。
【0456】
attribute_dimension[i]フィールドは、i番目の特質のコンポーネントの数を示す(specifies the number of components of the i-th attribute)。
【0457】
attribute_instance_id[i]フィールドは、i番目の特質のインスタンス識別子を示す。
【0458】
attribute_bitdepth[i]フィールドは、i番目の特質信号のビット深さ(bitdepth)を示す(specifies the bitdepth of the i-th attribute signal(s))。
【0459】
Attribute_cicp_colour_primaries[i]フィールドは、i番目の特質の色特質ソースプライマリの色度座標(chromaticity coordinates)を示す。
【0460】
attribute_cicp_transfer_characteristics[i]フィールドは、i番目の特質の0から1の間の公称実数値範囲を有するソース入力線形光強度(input linear optical intensity)であって、参照光電子伝達特性関数(reference opto-electronic transfer characteristic function)を示すか、又は出力線形光強度(output linear optical intensity)の関数であって、参照電子光伝達特性関数(reference opto-electronic transfer characteristic function)の逆(inverse)を示す(either indicates the reference opto-electronic transfer characteristic function of the colour attribute as a function of a source input linear optical intensity with a nominal real-valued range of 0 to 1 or indicates the inverse of the reference electro-optical transfer characteristic function as a function of an output linear optical intensity)。
【0461】
attribute_cicp_matrix_coeffs[i]フィールドは、i番目の特質の緑色、青色及び赤色(又はY、Z、Xの三原色)からルマ(luma)と彩度(chroma)信号を導き出すために使用されたマトリックス係数を示す(describes the matrix coefficients used in deriving luma and chroma signals from the green、blue、and red、or Y、Z、and X primaries)。
【0462】
attribute_cicp_video_full_range_flag[i]フィールドは、i番目の特質のE’Y、E’PB及びE’PR又はE’R、E’G及びE’Bの実際値のコンポーネント信号から導き出されるブラックレベルとルマ及び彩度信号の範囲を示す。(specifies indicates the black level and range of the luma and chroma signals as derived from E‘Y、E’PB、and E‘PR or E’R、E‘G、and E’B real-valued component signals)。
【0463】
known_attribute_label[i]フィールドは、i番目の特質のためにknow_attribute_labelフィールド又はattribute_label_four_bytesフィールドがシグナリングされるか否かを示す。例えば、known_attribute_label_flag[i]フィールドの値が1であると、i番目の特質のためにknow_attribute_labelフィールドがシグナリングされ、known_attribute_label_flag[i]フィールドの値が1であると、i番目の特質のためにattribute_label_four_bytesフィールドがシグナリングされることを示す。
【0464】
known_attribute_label[i]フィールドは、特質のタイプを示す。例えば、known_attribute_label[i]フィールドの値が0であると、i番目の特質はカラーであることを示し、known_attribute_label[i]フィールドの値が1であると、i番目の特質は反射率(reflectance)であることを示し、known_attribute_label[i]フィールドの値が1であると、i番目の特質はフレームインデックス(frame index)であることを示す。
【0465】
attribute_label_four_bytesフィールドは、既知の特質タイプを4バイトコードで示す。
【0466】
一実施例において、attribute_label_four_bytesフィールドの値が0であるとカラーを、1であると反射率を示す。
【0467】
実施例によるSPSは、SPS_extension_present_flagフィールドの値が1であると、さらにSPS_extension_data_flagフィールドを含むことができる。
【0468】
sps_extension_data_flagフィールドはいずれの値であってもよい。
【0469】
実施例によるSPSはさらに予測器選択関連のオプション情報を含む。実施例によれば、予測器選択関連のオプション情報は基本予測器選択方法(attribute_base_predictor selection_type)と類似特質検索方法(attribute_similarity_check_method_type)を含む。
【0470】
実施例によれば、予測器選択関連のオプション情報は上記sps_num_attribute_setsフィールドの値だけ繰り返される繰り返し文に含まれる。
【0471】
即ち、繰り返し文はさらにattribute_base_predictor selection_type[i]フィールドとattribute_similarity_check_method_type[i]フィールドを含むことができる。
【0472】
attribute_base_predictor selection_type[i]フィールドは、i番目の特質の基本予測器選択方法を明示する。例えば、attribute_base_predictor selection_type[i]フィールドの値が0であると、隣接の加重値平均(weighted average of neighbours)に基づいて基本予測器が選択され、1であると、特質類似性(attribute similarity)に基づいて基本予測器が選択されたことを示す。
【0473】
attribute_similarity_check_method_type[i]フィールドは、i番目の特質の特質類似性を参照するとき、特質類似性検索方法を示す。例えば、attribute_similarity_check_method_type[i]フィールドの値が0であると、数8のようなユークリッド色距離(Euclidean Color Distance)を使用し、1であると、数9のような相関色温度(Correlated Color Temperature)を使用し、2であると、数10のようなCIE94を使用したことを示す。
【0474】
このようにattribute_base_predictor selection_type[i]フィールドとattribute_similarity_check_method_type[i]フィールドは、SPSにシグナリングされる。
【0475】
図26はこの明細書によるジオメトリパラメータセット(geometry_parameter_set())(GPS)のシンタックス構造の一例を示す図である。実施例によるGPSは一つ又はそれ以上のスライスに含まれたポイントクラウドデータのジオメトリ情報を符号化する方法に関する情報を含む。
【0476】
実施例によるGPSは、gps_geom_parameter_set_idフィールド、gps_seq_parameter_set_idフィールド、gps_box_present_flagフィールド、unique_geometry_points_flagフィールド、neighbour_context_restriction_flagフィールド、inferred_direct_coding_mode_enabled_flagフィールド、bitwise_occupancy_coding_flagフィールド、adjacent_child_contextualization_enabled_flagフィールド、log2_neighbour_avail_boundaryフィールド、log2_intra_pred_max_node_sizeフィールド、log2_trisoup_node_sizeフィールド、及びgps_extension_present_flagフィールドを含む。
【0477】
gps_geom_parameter_set_idフィールドは、他のシンタックスエレメントにより参照されるGPSの識別子を提供する(provides an identifier for the GPS for reference by other syntax elements)。
【0478】
gps_seq_parameter_set_idフィールドは、該当アクティブSPSに対するseq_parameter_set_idフィールドの値を示す(specifies the value of sps_seq_parameter_set_id for the active SPS)。
【0479】
gps_box_present_flagフィールドは、追加境界ボックスの情報が現在のGPSを参照するジオメトリスライスヘッダから提供されるか否かを示す。例えば、gps_box_present_flagフィールドの値が1であると、追加境界ボックスの情報が現在のGPSを参照するジオメトリヘッダ内に提供されることを示す。よって、gps_box_present_flagフィールドの値が1であると、GPSはさらにgps_gsh_box_log2_scale_present_flagフィールドを含む。
【0480】
gps_gsh_box_log2_scale_present_flagフィールドは、gps_gsh_box_log2_scale フィールドが現在のGPSを参照する各ジオメトリスライスヘッダにシグナリングされるか否かを示す。例えば、gps_gsh_box_log2_scale_present_flagフィールドの値が1であると、gps_gsh_box_log2_scale フィールドが現在のGPSを参照する各ジオメトリスライスヘッダにシグナリングされることを示す。他の例として、gps_gsh_box_log2_scale_present_flagフィールドの値が0であると、gps_gsh_box_log2_scaleフィールドが現在のGPSを参照する各ジオメトリスライスヘッダにシグナリングされず、全てのスライスのための共通スケール(common scale)が現在のGPSのgps_gsh_box_log2_scale フィールドにシグナリングされることを示す。
【0481】
gps_gsh_box_log2_scale_present_flagフィールドの値が0であると、GPSはさらにgps_gsh_box_log2_scaleフィールドを含む。
【0482】
gps_gsh_box_log2_scaleフィールドは、現在のGPSを参照する全てのスライスに対する境界ボックスオリジンの共通倍率(common scale factor)を示す。
【0483】
unique_geometry_points_flagフィールドは、全ての出力されたポイントが固有の位置を有するか否かを示す。例えば、unique_geometry_points_flagフィールドの値が1であると、全ての出力ポイントが固有の位置を有することを示す。unique_geometry_points_flagフィールドの値が0であると、2個以上の出力ポイントが同じ位置を有することができることを示す(equal to 1 indicates that all output points have unique positions. unique_geometry_points_flag field equal to 0 indicates that the output points may have same positions)。
【0484】
neighbour_context_restriction_flagフィールドは、八分木占有率コーディングが使用するコンテキストを示す。例えば、neighbour_context_restriction_flagフィールドの値が0であると、八分木占有率コーディングが6つの隣接親ノード(neighboring parent nodes)に基づいて決定されたコンテキストを使用することを示す。neighbour_context_restriction_flagフィールドの値が1であると、八分木占有率コーディングが兄弟ノード(sibling nodes)のみに基づいて決定されたコンテキストを使用することを示す(equal to 0 indicates that octree occupancy coding uses contexts determined from six neighbouring parent nodes. neighbour_context_restriction_flag field equal to 1 indicates that octree occupancy coding uses contexts determined from sibling nodes only)。
【0485】
inferred_direct_coding_mode_enabled_flagフィールドは、direct_mode_flagフィールドが該当ジオメトリノードシンタックスに存在するか否かを示す。例えば、inferred_direct_coding_mode_enabled_flagフィールドの値が1であると、direct_mode_flagフィールドが該当ジオメトリノードシンタックスに存在することを示す。例えば、inferred_direct_coding_mode_enabled_flagフィールドの値が0であると、direct_mode_flagフィールドが該当ジオメトリノードシンタックスに存在しないことを示す。
【0486】
bitwise_occupancy_coding_flagフィールドは、ジオメトリノード占有率がそのシンタックスエレメント占有率マップのビット文脈(bitwise contextualization)を使用して符号化されるか否かを示す。例えば、bitwise_occupancy_coding_flagフィールドの値が1であると、ジオメトリノード占有率がそのシンタックスエレメントoccupancy_mapのビット文脈を使用して符号化されることを示す。例えば、bitwise_occupancy_coding_flagフィールドの値が0であると、ジオメトリノード占有率がそのディレクトリ符号化されたシンタックスエレメントoccupancy_byteを使用して符号化されることを示す。
【0487】
adjacent_child_contextualization_enabled_flagフィールドは、隣接八分木ノード(neighbouring octree nodes)の隣接する子(adjacent children)がビット占有率の文脈化(bitwise occupancy contextualization)のために使用されるか否かを示す。例えば、adjacent_child_contextualization_enabled_flagフィールドの値が1であると、隣接八分木ノード(neighbouring octree nodes)の隣接する子がビット占有率の文脈化のために使用されることを示す。例えば、adjacent_child_contextualization_enabled_flagフィールドの値が0であると、隣接八分木ノード(neighbouring octree nodes)の子(children)がビット占有率の文脈化のために使用されないことを示す。
【0488】
log2_neighbour_avail_boundaryフィールドは、復号プロセスにおいて以下のように用いられる変数(variable) NeighbAvailBoundaryの値を示す(specifies the value of the variable NeighbAvailBoundary that is used in the decoding process as follows: )。
【0489】
NeighbAvailBoundary=2log2_neighbour_avail_boundary
【0490】
例えば、neighbour_context_restriction_flagフィールドの値が1であると、NeighbAvailabilityMaskは1に設定される。例えば、neighbour_context_restriction_flagフィールドの値が0であると、NeighbAvailabilityMaskは1<<log2_neighbour_avail_boundaryに設定される。
【0491】
log2_intra_pred_max_node_sizeフィールドは、占有率イントラ予測資格のある八分木ノードサイズを示す(specifies the octree nodesize eligible for occupancy intra prediction)。
【0492】
log2_trisoup_node_sizeフィールドは、以下のように決定される三角形ノードのサイズであって、変数(variable)TrisoupNodeSizeを示す(specifies the variable TrisoupNodeSize as the size of the triangle nodes as follows).
【0493】
TrisoupNodeSize=1<<log2_trisoup_node_size
【0494】
gps_extension_present_flagフィールドは、gps_extension_dataシンタックス構造が該当GPSシンタックスに存在するか否かを示す。例えば、gps_extension_present_flagフィールドの値が1であると、gps_extension_dataシンタックス構造が該当GPSシンタックスに存在することを示す。例えば、gps_extension_present_flagフィールドの値が0であると、gps_extension_dataシンタックス構造が該当GPSシンタックスに存在しないことを示す。
【0495】
実施例によるGPSは、gps_extension_present_flagフィールドの値が1であると、さらにgps_extension_data_flagフィールドを含む。
【0496】
gps_extension_data_flagフィールドはいずれの値であってもよい。その存在と値はデコーダ規格(decoder conformance to profiles)に影響を与えない。
【0497】
図27はこの明細書による特質パラメータセット(attribute_parameter_set())(APS)のシンタックス構造の一例を示す図である。実施例によるAPSは一つ又はそれ以上のスライスに含まれたポイントクラウドデータの特質情報を符号化する方法に関する情報を含み、特に予測器選択関連のオプション情報を含む例を示している。
【0498】
実施例によるAPSは、aps_attr_parameter_set_idフィールド、aps_seq_parameter_set_idフィールド、attr_coding_typeフィールド、aps_attr_initial_qpフィールド、aps_attr_chroma_qp_offsetフィールド、aps_Slice_qp_delta_present_flagフィールド、及びaps_extension_present_flagフィールドを含む。
【0499】
aps_attr_parameter_set_idフィールドは、他のシンタックスエレメントによる参照のためにAPSの識別子を示す。
【0500】
aps_seq_parameter_set_idフィールドは、アクティブ(active)SPSに対するsps_seq_parameter_set_idの値を示す。
【0501】
attr_coding_typeフィールドは、特質に対するコーディングタイプを示す。
【0502】
一実施例において、attr_coding_typeフィールドの値が0であると、コーディングタイプは予測加重値リフト(predicting weight lifting)を、1であると、コーディングタイプはRAHTを、2であると、固定加重値リフト(fix weight lifting)を示す。
【0503】
aps_attr_initial_qpフィールドは、APSを参照するそれぞれのスライスに対する変数スライス量子化パラメータ(SliceQp)の初期値を示す(=pecifies the initial value of the variable SliceQp for each Slice referring to the APS)。SliceQp初期値はslice_qp_delta_luma又はslice_qp_delta_lumaの非ゼロ(non-zero)値が復号されるとき、該当特質スライスセグメントレイヤで修正される(The initial value of SliceQp is modified at the attribute slice segment layer when a non-zero value of Slice_qp_delta_luma or Slice_qp_delta_luma are decoded)。
【0504】
aps_attr_chroma_qp_offsetフィールドは、シンタックスaps_attr_initial_qpによりシグナリングされた初期量子化パラメータに対するオフセットを示す(specifies the offsets to the initial quantization parameter signalled by the syntax aps_attr_initial_qp)。
【0505】
aps_Slice_qp_delta_present_flagフィールドは、ash_attr_qp_delta_luma及びash_attr_qp_delta_lumaシンタックスエレメントが該当特質スライスヘッダ(ASH)に存在するか否かを示す。例えば、aps_slice_qp_delta_present_flagフィールドの値が1であると、ash_attr_qp_delta_luma及びash_attr_qp_delta_lumaシンタックスエレメントが該当特質スライスヘッダ(ASH)に存在することを示す(equal to 1 specifies that the ash_attr_qp_delta_luma and ash_attr_qp_delta_luma syntax elementS are present in the ASH)。例えば、aps_slice_qp_delta_present_flagフィールドの値が0であると、ash_attr_qp_delta_luma及びash_attr_qp_delta_lumaシンタックスエレメントが該当特質スライスヘッダ(ASH)に存在しないことを示す(specifies that the ash_attr_qp_delta_luma and ash_attr_qp_delta_luma syntax elements are not present in the ASH)。
【0506】
実施例によるAPSは、attr_coding_typeフィールドの値が0又は2であると、即ち、コーティングタイプが予測加重値リフト(predicting weight lifting)であるか又は固定加重値リフト(fix weight lifting)であると、さらにlifting_num_pred_nearest_neighboursフィールド、lifting_max_num_direct_predictorsフィールド、lifting_search_rangeフィールド、lifting_lod_regular_sampling_enabled_flagフィールド、及びLifting_num_detail_levels_minus1フィールドを含む。
【0507】
lifting_num_pred_nearest_neighboursフィールドは、予測(prediction)のために使用される最隣接(nearest neighbor)の最大の数を示す。
【0508】
lifting_max_num_direct_predictorsフィールドは、ダイレクト予測(direct prediction)のために使用される予測器の最大の数を示す。実施例によるポイントクラウドデータ復号過程で使用される変数(variable)MaxNumPredictorsの値は以下のように表現される(specifies the maximum number of predictor to be used for direct prediction. The value of the variable MaxNumPredictors that is used in the decoding process as follows:)
【0509】
MaxNumPredictors=lifting_max_num_direct_predictorsフィールド+1
【0510】
lifting_lifting_search_rangeフィールドは、予測に使用される最隣接を決定し、距離基盤のLOD(distance-based levels of detail)を構築するために使用される探索範囲を示す(specifieS the search range used to determine nearest neighbours to be used for prediction and to build distance-based levels of detail)。
【0511】
lifting_num_detail_levels_minus1フィールドは、特質コーティングのためのLODの数を示す(specifies the number of levels of detail for the attribute coding)。
【0512】
lifting_lod_regular_sampling_enabled_flagフィールドは、LOD(levels of detail)が規格サンプリングの戦略により形成されるか否かを示す。例えば、lifting_lod_regular_sampling_enabled_flagフィールドの値が1であると、LODが規格サンプリングの戦略により形成されることを示す。例えば、lifting_lod_regular_sampling_enabled_flagフィールドの値が0であると、代わりに距離基盤のサンプリング戦略(distance_based sampling strategy)が使用されることを示す(The lifting_lod_regular_sampling_enabled_flag equal to 1 specifies levels of detail are built by using a regular sampling strategy. The lifting_lod_regular_sampling_enabled_flag equal to 0 specifies that a distance-based sampling strategy is used instead)。
【0513】
実施例によるAPSは、lifting_num_detail_levels_minus1フィールドの値だけ繰り返される繰り返し文を含む。このとき、インデックス(idx)は0に初期化され、繰り返し文が行われるたびに1ずつ増加し、インデックス(idx)がlifting_num_detail_levels_minus1フィールドの値より大きくなるまで繰り返し文が繰り返されることを一実施例とする。この繰り返し文は、lifting_lod_decimation_enabled_flagフィールドの値が真(例えば、1)であると、lifting_sampling_period[idx]フィールドを含み、偽(例えば、0)であると、lifting_sampling_distance_squared[idx]フィールドを含む。
【0514】
lifting_sampling_period[idx]フィールドは、LOD idxのためのサンプリング周期を示す(specifies the sampling period for the level of detail idx)。
【0515】
lifting_sampling_distance_squared[idx]フィールドは、LOD idxのためのサンプリング距離の自乗を示す(specifies the square of the sampling distance for the level of detail idx)。
【0516】
実施例によるAPSはattr_coding_typeフィールドの値が0であると、即ち、コーディングタイプが予測加重値リフト(predicting weight lifting)であると、さらにlifting_adaptive_prediction_thresholdフィールドとlifting_intra_lod_prediction_num_layerSフィールドを含む。
【0517】
lifting_adaptive_prediction_thresholdフィールドは、適応的予測を可能にするためのしきい値を示す(specifies the threshold to enable adaptive prediction)。
【0518】
lifting_intra_lod_prediction_num_layersフィールドは、同じLODレイヤ内の復号されたポイントがターゲットポイントの予測値を生成するために参照できるLODレイヤの数を示す(specifies number of LOD layer where decoded points in the same LOD layer could be referred to generate prediction value of target point)。例えば、lifting_intra_lod_prediction_num_layerSフィールドの値がnum_detail_levels_minus1フィールド+1の値であると、ターゲットポイントは全てのLODレイヤのための同じLODレイヤ内の復号されたポイントを参照できることを示す(The lifting_intra_lod_prediction_num_layers field equal to num_detail_levels_minus1 plus 1 indicates that target point could refer decoded points in the same LOD layer for all LOD layers)。例えば、lifting_intra_lod_prediction_num_layersフィールドの値が0であると、ターゲットポイントは任意のLODレイヤのための同じLODレイヤ内の復号されたポイントを参照できないことを示す(The lifting_intra_lod_prediction_num_layers field equal to 0 indicates that target point could not refer decoded points in the same LOD layer for any LOD layers)。
【0519】
aps_extension_present_flagフィールドは、aps_extension_dataシンタックス構造が該当APSシンタックス構造に存在するか否かを示す。例えば、aps_extension_present_flagフィールドの値が1であると、aps_extension_dataシンタックス構造が該当APSシンタックス構造に存在することを示す。例えば、aps_extension_present_flagフィールドの値が0であると、aps_extension_dataシンタックス構造が該当APSシンタックス構造に存在しないことを示す。
【0520】
実施例によるAPSは、aps_extension_present_flagフィールドの値が1であると、さらにaps_extension_data_flagフィールドを含む。
【0521】
aps_extension_data_flagフィールドはいずれの値であってもよい。その存在と値はデコーダ規格(decoder conformance to profiles)に影響を与えない。
【0522】
実施例によるAPSはさらに予測器選択関連のオプション情報を含む。
【0523】
実施例によるAPSは、attr_coding_typeフィールドの値が0又は2であると、即ち、コーティングタイプが予測加重値リフト(predicting weight lifting)、又は固定加重値リフト(fix weight lifting)であると、さらにattribute_base_predictor selection_typeフィールドとattribute_similarity_check_method_typeフィールドを含む。
【0524】
attribute_base_predictor selection_typeフィールドは、基本予測器選択方法を示す。例えば、attribute_base_predictor selection_typeフィールドの値が0であると、隣接の加重値平均(weighted average of neighbours)に基づいて基本予測器が選択され、1であると、特質類似性(attribute similarity)に基づいて基本予測器が選択されたことを示す。
【0525】
attribute_similarity_check_method_typeフィールドは、特質類似性の検索方法を示す。例えば、attribute_similarity_check_method_typeフィールドの値が0であると、数8のようなユークリッド色距離(Euclidean Color Distance)を使用し、1であると、数9のような相関色温度(Correlated Color Temperature)を使用し、2であると、数10のようなCIE94を使用したことを示す。
【0526】
このようにattribute_base_predictor selection_typeフィールドとattribute_similarity_check_method_typeフィールドは、APSにシグナリングされることができる。
【0527】
図28はこの明細書によるタイルパラメータセット(tile_parameter_set())(TPS)のシンタックス構造の一例を示す図である。実施例によって、TPS(Tile Parameter Set)はタイルインベントリ (tile inventory)とも呼ばれる。実施例によるTPSはタイルごとに各タイルに関連する情報を含み、特に予測予測器選択関連のオプション情報を含む例を示している。
【0528】
実施例によるTPSはnum_tilesフィールドを含む。
【0529】
num_tilesフィールドは、そのビットストリームのためにシグナリングされたタイルの数を示す。もしタイルが存在しないと、num_tilesフィールドの値は0になる(when not present、num_tilesis inferred to be 0)。
【0530】
実施例によるTPSは、num_tilesフィールドの値だけ繰り返される繰り返し文を含む。このとき、iは0に初期化され、繰り返し文が行われるたびに1ずつ増加し、i値がnum_tilesフィールドの値がなるまで繰り返し文が繰り返されることを一実施例とする。この繰り返し文は、tile_bounding_box_offset_x[i]フィールド、tile_bounding_box_offset_y[i]フィールド、tile_bounding_box_offset_z[i]フィールド、tile_bounding_box_size_width[i]フィールド、tile_bounding_box_size_height[i]フィールド、及びtile_bounding_box_size_depth[i]フィールドを含む。
【0531】
tile_bounding_box_offset_x[i]フィールドは、直交座標系においてi番目のタイルのxオフセットを示す(indicates the X offset of the i-th tile in the cartesian coordinates)。
【0532】
tile_bounding_box_offset_y[i]フィールドは、直交座標系においてi番目のタイルのyオフセットを示す.
【0533】
tile_bounding_box_offset_z[i]フィールドは、直交座標系においてi番目のタイルのzオフセットを示す。
【0534】
tile_bounding_box_size_width[i]フィールドは、直交座標系においてi番目のタイルの幅(width)を示す。
【0535】
tile_bounding_box_size_height[i]フィールドは、直交座標系においてi番目のタイルの高さ(height)を示す。
【0536】
tile_bounding_box_size_depth[i]フィールドは、直交座標系においてi番目のタイルの深さ(depth)を示す。
【0537】
実施例によるTPSはさらに予測器選択関連のオプション情報を含む。
【0538】
実施例によれば、予測器選択関連のオプション情報は、上述したnum_tilesフィールドの値だけ繰り返される繰り返し文に含まれる。
【0539】
即ち、繰り返し文はさらに、attribute_base_predictor selection_type[i]フィールドとattribute_similarity_check_method_type[i]フィールドを含む。
【0540】
attribute_base_predictor selection_type[i]フィールドは、i番目のタイルにおいて基本予測器選択方法を示す。例えば、attribute_base_predictor selection_type[i]フィールドの値が0であると、隣接の加重値平均(weighted average of neighbours)に基づいて基本予測器が選択され、1であると、特質類似性(attribute similarity)に基づいて基本予測器が選択されたことを示す。
【0541】
attribute_similarity_check_method_type[i]フィールドは、i番目のタイルにおいて特質類似性検索方法を示す。例えば、attribute_similarity_check_method_type[i]フィールドの値が0であると、数8のようなユークリッド色距離(Euclidean Color Distance)を使用し、1であると、数9のような相関色温度(Correlated Color Temperature)を使用し、2であると、数10のようなCIE94を使用したことを示す。
【0542】
このようにattribute_base_predictor selection_type[i]フィールドとattribute_similarity_check_method_type[i]フィールドは、TPSにシグナリングされることができる。
【0543】
図29はこの明細書によるジオメトリスライスビットストリームのシンタックス構造の一例を示す図である。
【0544】
実施例によるジオメトリスライスビットストリーム(geometry_slice_bitstream())はジオメトリスライスヘッダ(geometry_slice_header())とジオメトリスライスデータ(geometry_slice_data())を含む。
【0545】
図30はこの明細書によるジオメトリスライスヘッダ(geometry_slice_header())のシンタックス構造の一例を示す図である。
【0546】
実施例による送信装置が送信するビットストリーム(又は受信装置が受信するビットストリーム)は、一つ以上のスライスを含む。それぞれのスライスはジオメトリスライス及び特質スライスを含む。ジオメトリスライスはジオメトリスライスヘッダ(GSH、Geometry slice Header)を含む。特質スライスは特質スライスヘッダ(ASH、attribute slice Header)を含む。
【0547】
実施例によるジオメトリスライスヘッダ(geometry_slice_header())は、gsh_geom_parameter_set_idフィールド、gsh_tile_idフィールド、gsh_slice_idフィールド、gsh_max_node_size_log2フィールド、gsh_num_pointsフィールド及びbyte_alignment()フィールドを含む。
【0548】
実施例によるジオメトリスライスヘッダ(geometry_slice_header())は、ジオメトリパラメータセット(GPS)に含まれたgps_box_present_flagフィールドの値が真(例えば、1)であり、gps_gsh_box_log2_scale_present_flagフィールドの値が真(例えば、1)であると、さらにgsh_box_log2_scaleフィールド、gsh_box_origin_xフィールド、gsh_box_origin_yフィールド、及びgsh_box_origin_zフィールドを含む。
【0549】
gsh_geom_parameter_set_idフィールドは、アクティブGPSのgps_geom_parameter_set_idの値を示す(specifies the value of the gps_geom_parameter_set_id of the active gps)。
【0550】
gsh_tile_idフィールドは、該当ジオメトリスライスヘッダ(GSH)により参照される該当タイルの識別子を示す。
【0551】
gsh_slice_idは、他のシンタックスエレメントによる参照のための該当スライスの識別子を示す。
【0552】
gsh_box_log2_scaleフィールドは、該当スライスのための境界ボックスオリジンの倍率を示す。
【0553】
gsh_box_origin_xフィールドは、gsh_box_log2_scaleフィールドの値によりスケーリングされた境界ボックスオリジンのx値を示す。
【0554】
gsh_box_origin_yフィールドは、gsh_box_log2_scaleフィールドの値によりスケーリングされた境界ボックスオリジンのy値を示す。
【0555】
gsh_box_origin_zフィールドは、gsh_box_log2_scaleフィールドの値によりスケーリングされた境界ボックスオリジンのz値を示す。
【0556】
gsh_max_node_size_log2フィールドは、ルートジオメトリ八分木ノードのサイズを示す。
【0557】
gsh_points_numberフィールドは、該当スライス内のコーディングされたポイントの数を示す。
【0558】
図31はこの明細書によるジオメトリスライスデータ(geometry_slice_data())のシンタックス構造の一例を示す図である。実施例によるジオメトリスライスデータ(geometry_slice_data())は該当スライスに属するジオメトリビットストリームを送信する。
【0559】
実施例によるジオメトリスライスデータ(geometry_slice_data())は、MaxGeometryOctreeDepthの値だけ繰り返される第1繰り返し文を含む。このとき、depthは0に初期化され、繰り返し文が行われるたびに1ずつ増加し、depthがMaxGeometryOctreeDepthの値になるまで第1繰り返し文が繰り返されることを一実施例とする。第1繰り返し文は、NumNodesAtDepthの値だけ繰り返される第2繰り返し文を含む。このとき、nodeIdxは0に初期化され、繰り返し文が行われるたびに1ずつ増加し、nodeIdxがNumNodesAtDepthの値になるまで第2繰り返し文が繰り返されることを一実施例とする。第2繰り返し文は、xN=NodeX[depth][nodeIdx]、yN=NodeY[depth][nodeIdx]、zN=NodeZ[depth][nodeIdx]、geometry_node(depth、nodeIdx、xN、yN、zN)を含む。MaxGeometryOctreeDepthはジオメトリ八分木深さの最大値を示し、NumNodesAtDepthは該当深さで復号されるノードの数を示す。変数NodeX[depth][nodeIdx]、NodeY[depth][nodeIdx]、NodeZ[depth][nodeIdx]は所定の深さで復号順にnodeIdx番目のノードのx、y、z座標を示す。geometry_node(depth、nodeIdx、xN、yN、zN)により該当深さの該当ノードのジオメトリビットストリームを送信する。
【0560】
実施例によるジオメトリスライスデータ(geometry_slice_data()は、log2_trisoup_node_sizeフィールドの値が0より大きいと、さらにgeometry_trisoup_data()を含む。即ち、三角形ノードのサイズが0より大きいと、geometry_trisoup_data()によりtrisoupジオメトリ符号化されたジオメトリビットストリームを送信する。
【0561】
図32はこの明細書による特質スライスビットストリーム()のシンタックス構造の一例を示す図である。
【0562】
実施例による特質スライスビットストリーム(attribute_slice_bitstream())は、特質スライスヘッダ(attribute_slice_header())と特質スライスデータ(attribute_slice_data())を含む。
【0563】
図33はこの明細書による特質スライスヘッダ(attribute_slice_header())のシンタックス構造の一例を示す図である。実施例による特質スライスヘッダは該当特質スライスのためのシグナリング情報を含み、特に予測器選択関連のオプション情報を含む例を示している。
【0564】
実施例による特質スライスヘッダ(attribute_slice_header())は、ash_attr_parameter_set_idフィールド、ash_attr_sps_attr_idxフィールド及びash_attr_geom_slice_idフィールドを含む。
【0565】
実施例による特質スライスヘッダ(attribute_slice_header())は、特質パラメータセット(APS)のaps_slice_qp_delta_present_flagフィールドの値が真(例えば、1)であると、さらにash_qp_delta_lumaフィールドとash_qp_delta_chromaフィールドを含む。
【0566】
ash_attr_parameter_set_idフィールドは、現在のアクティブAPSのaps_attr_parameter_set_idフィールド(例えば、図27で説明したAPSに含まれたaps_attr_parameter_set_idフィールド)の値を示す。
【0567】
ash_attr_sps_attr_idxフィールドは、現在のアクティブSPS内の特質セットを識別する。ash_attr_sps_attr_idxフィールドの値は0から現在のアクティブSPSに含まれたsps_num_attribute_setsフィールドの範囲内にある。
【0568】
ash_attr_geom_slice_idフィールドは、現在のジオメトリスライスヘッダのgsh_slice_idフィールドの値を示す。
【0569】
ash_qp_delta_lumaフィールドは、アクティブ特質パラメータセット内の初期スライスqpから導き出されたルマ・デルタ量子化パラメータ(qp)を示す。
【0570】
ash_qp_delta_chromaフィールドは、アクティブ特質パラメータセット内の初期スライスqpから導き出されたクロマ・デルタ量子化パラメータ(qp)を示す。
【0571】
実施例による特質スライスヘッダ(attribute_slice_header())は、さらに予測器選択関連のオプション情報、例えば、attribute_base_predictor selection_typeフィールドとattribute_similarity_check_method_typeフィールドを含む。
【0572】
attribute_base_predictor selection_typeフィールドは基本予測器選択方法を示す。例えば、attribute_base_predictor selection_typeフィールドの値が0であると、隣接の加重値平均(weighted average of neighbours)に基づいて基本予測器が選択され、1であると、特質類似性(attribute similarity)に基づいて基本予測器が選択されたことを示す。
【0573】
attribute_similarity_check_method_typeフィールドは特質類似性検索方法を示す。例えば、attribute_similarity_check_method_typeフィールドの値が0であると、数8のようなユークリッド色距離(Euclidean Color Distance)を使用し、1であると、数9のような(Correlated Color Temperature)を使用し、2であると、数10のようなCIE94を使用したことを示す。
【0574】
このようにattribute_base_predictor selection_typeフィールドとattribute_similarity_check_method_typeフィールドは、特質スライスヘッダ(attribute_slice_header())にシグナリングされることができる。
【0575】
図34はこの明細書による特質スライスデータ(attribute_slice_data())のシンタックス構造の一実施例を示す図である。実施例による特質スライスデータ(attribute_slice_data())は該当スライスに属する特質ビットストリームを送信する。
【0576】
図34の特質スライスデータ(attribute_slice_data())において、dimension=attribute_dimension[ash_attr_sps_attr_idx]は、該当特質スライスヘッダ内のash_attr_sps_attr_idxフィールドにより識別される特質セットの特質次元(attribute_dimension)を示す。特質次元(attribute_dimension)は特質を構成するコンポーネントの数を意味する。実施例による特質は反射率、色相などを示す。よって、特質が有するコンポーネントの数は異なる。例えば、色相に対応する特質は3つの色相コンポーネント(例えば、RGB)を有する。よって、反射率に対応する特質はモノ次元特質(mono-dimensional attribute)になり、色相に対応する特質は3次元特質(three-dimensional attribute)になる。
【0577】
実施例による特質は次元(demension)ごとに特質符号化される。
【0578】
例えば、反射率に対応する特質と色相に対応する特質はそれぞれ特質符号化される。また、実施例による特質は次元に関係なく一緒に特質符号化される。例えば、反射率に対応する特質及び色相に対応する特質は一緒に特質符号化されることができる。
【0579】
図34において、zerorunは残余特質値(residual)の前の0の数を示す(zerorun specifies the number of 0 prior to residual)。
【0580】
また図34において、iはその特質のi番目のポイント値を意味し、attr_coding_typeフィールドとlifting_adaptive_prediction_thresholdフィールドはAPSにシグナリングされることを一実施例とする。
【0581】
また、図34において、変数MaxNumPredictorsはポイントクラウドデータ復号の過程で使用される変数であり、APSにシグナリングされたlifting_adaptive_prediction_thresholdフィールド値に基づいて以下のように得られる。
【0582】
MaxNumPredictoRS=lifting_max_num_direct_predictorsフィールド+1
【0583】
ここで、lifting_max_num_direct_predictorsフィールドは、ダイレクト予測のために使用される予測器の最大個数を示す。
【0584】
実施例によるpredIindex[i]は、その特質のi番目のポイント値を復号するための予測器インデックス(predictor index又はprediction modeという)を示す(specifies the predictor index(or prediction mode) to decode the i-th point value of the attribute)。predIndex[i]の値は0からlifting_max_num_direct_predictorsフィールド値までの範囲にある。
【0585】
実施例による変数(variable)MaxPredDiff「i]は以下のように計算される。
【0586】
minValue=maxValue=
【0587】
for (j=0;j<k;j++){
【0588】
minValue=Min(minValue、
)
【0589】
maxValue=Max(maxValue、
)
【0590】
}
【0591】
MaxPredDiff[i]=maxValue-minValue;
【0592】
ここで、kiは現在ポイントiのk-最隣接のセットであり、
はそれらの復号された/再構成された特質値であると定義される(Let ki be the set of the k-nearest neighbours of the current point い and let
be their decoded/reconstructed attribute values)。また最隣接の数であるkiは1からlifting_num_pred_nearest_neighboursフィールドの値までの範囲にある(The number of nearest neighbours、ki shall be range of 1 to lifting_num_pred_nearest_neighbours)。実施例によれば、隣接の復号された/再構成された特質値は予測リフト復号の過程により導き出される(得られる)(The decoded/reconstructed attribute value of neighbours are derived according to the Predictive lifting decoding process)。
【0593】
lifting_num_pred_nearest_neighboursフィールドはAPSにシグナリングされ、予測のために使用される最隣接の最大数を示す。
【0594】
図35は実施例によるポイントクラウドデータ送信方法のフローチャートである。
【0595】
実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータに含まれたジオメトリを符号化する段階71001、入力された及び/又は再構成されたジオメトリに基づいてポイントクラウドデータに含まれた特質を符号化する段階71002、また符号化されたジオメトリ、符号化された特質及びシグナリング情報を含むビットストリームを送信する段階71003を含む。
【0596】
ポイントクラウドデータに含まれたジオメトリと特質を符号化する段階71001、71002は、図1のポイントクラウドビデオエンコーダ10002、図2の符号化20001、図4のポイントクラウドビデオエンコーダ、図12のポイントクラウドビデオエンコーダ、図14のポイントクラウド符号化、図15のポイントクラウドビデオエンコーダ、図17のジオメトリエンコーダと特質エンコーダの動作の一部又は全体を行う。
【0597】
一実施例において、特質を符号化する段階71002で設定される特定のポイントの予測モードは予測モード0ないし予測モード3のうちのいずれかである。
【0598】
実施例によれば、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値より小さいと、予測モード0を該当ポイントの予測モードとして設定し、所定のしきい値と等しいか又は大きいと、複数の候補予測モードに対してRDO方法を適用して、これらのうちのいずれかを該当ポイントの予測モードとして設定する。かかる過程は各ポイントごとに行うことを一実施例とする。
【0599】
実施例によれば、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値と等しいか又は大きいと、予測モード0に該当する予測器を基本予測器として設定した後、基本予測器は数5を適用し、該当ポイントの隣接ポイントに対応する予測器は数6を適用してスコアを計算する。またスコアが一番低い予測器に該当する予測モードを該当ポイントの予測モードとして設定する。該当ポイントの予測モードは予測モード0ないし予測モード3のうちのいずれかに設定される。
【0600】
実施例によれば、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値と等しいか又は大きいと、該当ポイントの特質値と該当ポイントに登録された隣接ポイントの間の類似特質値を求め、該当ポイントに登録された隣接ポイントのうち、最も類似した特質値を有する隣接ポイントの予測器を基本予測器として設定する。また基本予測器は数5を適用し、基本予測器として設定された隣接ポイントを除いた残りの隣接ポイントに対応する予測器は数6を適用してスコアを計算した後、スコアが一番低い予測器に該当する予測モードを該当ポイントの予測モードとして設定する。即ち、該当ポイントの予測モードを設定するために、予測モード0に該当する予測器が使用されない。言い換えれば、該当ポイントの予測モードは予測モード1ないし予測モード3のうちのいずれかに設定される。
【0601】
実施例によれば、該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差(maximum difference)の値が所定のしきい値と等しいか又は大きいと、該当ポイントの隣接ポイントに対応する予測器に数7を適用してスコアを計算した後、スコアが一番低い予測器に該当する予測モードを該当ポイントの予測モードとして設定する。即ち、該当ポイントの予測モードを設定するために、予測モード0に該当する予測器が使用されない。言い換えれば、該当ポイントの予測モードは予測モード1ないし3のうちのいずれかに設定される。
【0602】
実施例によれば、RDO方法を適用して選択される該当ポイントの予測モード(predIndex)は、特質スライスデータにシグナリングされる。
【0603】
実施例によれば、特質を符号化する段階71002は、各ポイントの残余特質値にゼロランレングス符号化を適用することができる。
【0604】
実施例によるジオメトリと特質を符号化する段階71001、71002は、スライス又は一つ又はそれ以上のスライスを含むタイル単位で符号化を行うことができる。
【0605】
符号化されたジオメトリ、符号化された特質、及びシグナリング情報を含むビットストリームを送信する段階71003は、図1の送受信機10003、図2の送信段階20002、図12の送信処理部12012又は図15の送信処理部51008で行われることもできる。
【0606】
図36は実施例によるポイントクラウドデータ受信方法のフローチャートである。
【0607】
実施例によるポイントクラウドデータ受信方法は、符号化されたジオメトリ、符号化された特質、及びシグナリング情報を含むビットストリームを受信する段階81001、シグナリング情報に基づいてジオメトリを復号する段階81002、復号/再構成されたジオメトリとシグナリング情報に基づいて特質を復号する段階81003、及び復号されたジオメトリと復号された特質に基づいて復元されたポイントクラウドデータをレンダリングする段階81004を含む。
【0608】
実施例による符号化されたジオメトリ、符号化された特質、及び シグナリング情報を含むビットストリームを受信する段階81001は、図1の受信10005、図2の送信20002又は復号20003、図13の受信部13000又は受信処理部13001、又は図20の受信処理部61001で行われることができる。
【0609】
実施例によるジオメトリと特質を復号する段階81002、81003は、スライス又は一つ又はそれ以上のスライスを含むタイル単位で復号を行う。
【0610】
実施例によるジオメトリを復号する段階81002は、図1のポイントクラウドビデオデコーダ10006、図2の復号20003、図11のポイントクラウドビデオデコーダ、図13のポイントクラウドビデオデコーダ、図20のジオメトリデコーダ、図21のジオメトリデコーダの動作の一部又は全体を行う。
【0611】
実施例による特質を復号する段階81003は、図1のポイントクラウドビデオデコーダ10006、図2の復号20003、図11のポイントクラウドビデオデコーダ、図13のポイントクラウドビデオデコーダ、図20の特質デコーダ、図21の特質デコーダの動作の一部又は全体を行う。
【0612】
実施例によれば、シグナリング情報、例えば、シーケンスパラメータセット、特質パラメータセット、タイルパラメータセット、及び特質スライスヘッダのうちのいずれかは、特質予測のために使用された予測器の最大数の情報(lifting_max_num_direct_predictors)、特質の適応的予測を可能にするためのしきい値の情報(lifting_adaptive_prediction_threshold)、基本予測器選択 方法(attribute_base_predictor selection_type)、及び類似特質検索方法(attribute_similarity_check_method_type)などを含む。
【0613】
実施例によれば、特質スライスデータは、特定のポイントに対して予測モードを示す予測器インデックス情報(predIndex)を含む。
【0614】
実施例によって、特質を復号する段階81003は、特定のポイントを特質復号するとき、該当特質スライスデータに該当ポイントの予測器インデックス情報がシグナリングされていないと、予測モード0に基づいて該当ポイントの特質値を予測する。
【0615】
実施例によって、特質を復号する段階81003は、特定のポイントを特質復号するとき、該当特質スライスデータに該当ポイントの予測器インデックス情報がシグナリングされていると、シグナリングされた予測モードに基づいて該当ポイントの特質値を予測する。
【0616】
実施例によって、特質を復号する段階81003は、特定のポイントを特質復号するとき、予測された特質値に受信された該当ポイントの残余特質値を加えて該当ポイントの特質値を復元する。特質を復号する段階81003では、かかる過程を各ポイントごとに行って各ポイントの特質値を復元する。
【0617】
実施例によって、特質を復号する段階81003は、残余特質値に対してゼロランレングス符号化されていると、特質値の復元前に、送信側の逆過程であるゼロランレングス復号を行う。
【0618】
実施例による復号されたジオメトリと復号された特質に基づいて復元されたポイントクラウドデータをレンダリングする段階81004は、復元されたポイントクラウドデータを様々なレンダリング方式でレンダリングすることができる。例えば、ポイントクラウドコンテンツのポイントは、一定の厚さを有する頂点、該当頂点の位置を中央とする特定の最小サイズを有する立方体、又は頂点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域は、ディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
【0619】
実施例によるポイントクラウドデータをレンダリングする段階81004は、図1のレンダラー10007又は図2のレンダリング20004又は図13のレンダラー13011で行われる。
【0620】
この明細書は該当ポイントの予測器に登録された隣接ポイントの特質値の間の最大差の値が所定のしきい値と等しいか又は大きいと、予測器候補に加重値平均により予測特質値を計算する予測モードが該当ポイントの予測モードとして設定されないようにして、残余特質値を含むビットストリームのサイズを縮めることができ、これにより、特質の圧縮効率を高めることができる。
【0621】
上述したそれぞれのパート、モジュール又はユニットはメモリ(又は貯蔵ユニット)に貯蔵された連続する実行過程を行うソフトウェア、プロセッサ、ハードウェアパートである。上記実施例に記載された各段階は、プロセッサ、ソフトウェア、ハードウェアパートにより行われる。上記実施例に記載のそれぞれのモジュール/ブロック/ユニットは、プロセッサ、ソフトウェア、ハードウェアとして動作する。また実施例が提示する方法はコードとして実行される。このコードはプロセッサが読み取り可能な格納媒体に書き込まれ、よって装置が提供するプロセッサにより読み取られる。
【0622】
また全明細書において、ある部分がある構成要素を“含む”とするとき、これは特に記載しない限り、他の構成要素を除くことではなく、他の構成要素をさらに含むことを意味する。また明細書に記載の“…部”などの用語は、少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアやソフトウェア又はハードウェアとソフトウェアの組み合わせにより具現される。
【0623】
説明の便宜のために、各図を区分して説明したが、各図に述べられている実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。
【0624】
実施例による装置及び方法は、上述したように、説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。
【0625】
実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
【0626】
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。
【0627】
この明細書において、“/”と“,”は“及び/又は”に解釈される。例えば、“A/B”は“A及び/又はB”に解釈され、“A、B”は“A及び/又はB”に解釈される。さらに、“A/B/C”は“A、B及び/又はCのうちのいずれか”を意味する。また、“A、B、C”も“A、B及び/又はCのうちのいずれか”を意味する。さらに、この文書において、“又は”は“及び/又は”に解釈される。例えば、“A又はB”は、1)“A”のみを意味するか、2)“B”のみを意味するか、又は3)“A及びB”を意味する。言い換えれば、この明細書において“又は”は“さらに(additionally)又は代わりに(alternatively)”を意味する。
【0628】
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
【0629】
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。また、この明細書で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細書で説明した様々な動作を制御する。プロセッサはコントローラとも称される。実施例において、動作はファームウェア、ソフトウェア及び/又はそれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はそれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
【0630】
以上、実施例を実施するための最善の形態について説明した。
【産業上の利用可能性】
【0631】
上述したように、実施例はポイントクラウドデータの送受信装置及びシステムに全体的又は部分的に適用することができる。
【0632】
当業者は実施例の範囲内で実施例を様々に変更又は変形することができる。
【0633】
実施例は変更/変形を含み、変更/変形は請求の範囲及びそれらの範囲内のものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
【手続補正書】
【提出日】2024-04-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
符号化装置においてポイントクラウドデータを符号化する方法であって、
前記ポイントクラウドデータ内のポイントの位置を含むジオメトリ情報を符号化する段階と、
前記ポイントクラウドデータ内のポイントの特質値を含む特質情報を符号化する段階と、を含み、
前記特質情報を符号化する段階は、
符号化されるポイントの複数の最隣接ポイントの特質値の間の最大差値が、しきい値と等しいか又は大きい場合、前記複数の最隣接ポイントに基づいて予測器候補を生成する段階であって、各予測器候補は、それぞれの予測モードに対応し、予測モード0に対応する予測器は、前記予測器候補から除外され、前記予測モード0は、前記複数の最隣接ポイントの距離基盤の加重値平均値に基づくモードである、段階と、
前記各予測器候補のスコアを取得し、最低のスコアを有する予測器候補に対応する予測モードを設定する段階であって、前記設定された予測モードは、予測モード1、予測モード2又は予測モード3の1つである、段階と、
前記設定された予測モードに基づいて、前記ポイントの残余の特質値を符号化する段階と、を含む、ポイントクラウドデータ符号化方法。
【請求項2】
前記各予測器候補のスコアは、前記それぞれの予測モードに対する予測特質値に前記ポイントの入力特質値を適用することにより得られるそれぞれの残余の特質値に基づいて取得される、請求項1に記載のポイントクラウドデータ符号化方法。
【請求項3】
前記予測モード1に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの一番目に近い隣接ポイントの特質値として設定され、
前記予測モード2に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの二番目に近い隣接ポイントの特質値として設定され、
前記予測モード3に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの三番目に近い隣接ポイントの特質値として設定される、請求項1に記載のポイントクラウドデータ符号化方法。
【請求項4】
前記複数の最隣接ポイントの特質値の間の前記最大差値が前記しきい値より小さい場合、前記予測モード0を設定する段階と、
前記設定された予測モード0に基づいて、前記ポイントの残余の特質値を符号化する段階と、をさらに含む、請求項1に記載のポイントクラウドデータ符号化方法。
【請求項5】
ポイントクラウドデータを符号化するための符号化装置であって、
前記ポイントクラウドデータ内のポイントの位置を含むジオメトリ情報を符号化するよう構成されたジオメトリエンコーダと、
前記ポイントクラウドデータ内のポイントの特質値を含む特質情報を符号化するよう構成された特質エンコーダと、を含み、
前記特質エンコーダは、
符号化されるポイントの複数の最隣接ポイントの特質値の間の最大差値が、しきい値と等しいか又は大きい場合、前記複数の最隣接ポイントに基づいて予測器候補を生成し、各予測器候補は、それぞれの予測モードに対応し、予測モード0に対応する予測器は、前記予測器候補から除外され、前記予測モード0は、前記複数の最隣接ポイントの距離基盤の加重値平均値に基づくモードであり、
前記各予測器候補のスコアを取得し、最低のスコアを有する予測器候補に対応する予測モードを設定し、前記設定された予測モードは、予測モード1、予測モード2又は予測モード3の1つであり、
前記設定された予測モードに基づいて、前記ポイントの残余の特質値を符号化する、符号化装置
【請求項6】
前記各予測器候補のスコアは、前記それぞれの予測モードに対する予測特質値に前記ポイントの入力特質値を適用することにより得られるそれぞれの残余の特質値に基づいて取得される、請求項5に記載の符号化装置。
【請求項7】
前記予測モード1に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの一番目に近い隣接ポイントの特質値として設定され、
前記予測モード2に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの二番目に近い隣接ポイントの特質値として設定され、
前記予測モード3に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの三番目に近い隣接ポイントの特質値として設定される、請求項5に記載の符号化装置。
【請求項8】
前記特質エンコーダは、
前記複数の最隣接ポイントの特質値の間の前記最大差値が前記しきい値より小さい場合、前記予測モード0を設定し、
前記設定された予測モード0に基づいて、前記ポイントの残余の特質値を符号化する、請求項5に記載の符号化装置。
【請求項9】
ポイントクラウドデータを復号するための復号装置であって、
ジオメトリ情報を復号し、前記ポイントクラウドデータ内のポイントの位置を導出するよう構成されたジオメトリデコーダと、
特質情報を復号し、前記ポイントクラウドデータ内の前記ポイントの特質値を導出するよう構成された特質デコーダと、を含み、
前記特質デコーダは、
復号されるポイントの予測モードを取得し、前記ポイントの複数の最隣接ポイントの特質値の間の最大差値が、しきい値と等しいか又は大きい場合、予測モード0は、前記取得された予測モードから除外され、前記予測モード0は、前記複数の最隣接ポイントの距離基盤の加重値平均値に基づくモードであり、前記ポイントの予測特質値は、前記取得された予測モードに従って、前記複数の最隣接ポイントの1つの特質値として設定され、前記複数の最隣接ポイントの特質値の間の前記最大差値が、前記しきい値と等しいか又は大きい場合、前記ポイントの前記取得された予測モードは、予測モード1、予測モード2又は予測モード3の1つであり、
前記ポイントの前記予測特質値と前記特質情報内の前記ポイントの残余の特質値に基づいて、前記ポイントの特質値を導出する、復号装置。
【請求項10】
前記予測モード1に対する前記ポイントの前記予測特質値は、前記複数の最隣接ポイントの一番目に近い隣接ポイントの特質値として設定され、
前記予測モード2に対する前記ポイントの前記予測特質値は、前記複数の最隣接ポイントの二番目に近い隣接ポイントの特質値として設定され、
前記予測モード3に対する前記ポイントの前記予測特質値は、前記複数の最隣接ポイントの三番目に近い隣接ポイントの特質値として設定される、請求項9に記載の復号装置。
【請求項11】
前記複数の最隣接ポイントの特質値の間の前記最大差値が前記しきい値より小さい場合、前記ポイントの前記取得された予測モードは、前記予測モード0であり、
前記予測モード0に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの前記距離基盤の加重値平均値として設定される、請求項9に記載の復号装置。
【請求項12】
復号装置においてポイントクラウドデータを復号する方法であって、
ジオメトリ情報を復号し、前記ポイントクラウドデータ内のポイントの位置を導出する段階と、
特質情報を復号し、前記ポイントクラウドデータ内の前記ポイントの特質値を導出する段階と、を含み、
前記特質情報を復号する段階は、
復号されるポイントの予測モードを取得する段階であって、前記ポイントの複数の最隣接ポイントの特質値の間の最大差値が、しきい値と等しいか又は大きい場合、予測モード0は、前記取得された予測モードから除外され、前記予測モード0は、前記複数の最隣接ポイントの距離基盤の加重値平均値に基づくモードであり、前記ポイントの予測特質値は、前記取得された予測モードに従って、前記複数の最隣接ポイントの1つの特質値として設定され、前記複数の最隣接ポイントの特質値の間の前記最大差値が、前記しきい値と等しいか又は大きい場合、前記ポイントの前記取得された予測モードは、予測モード1、予測モード2又は予測モード3の1つである、段階と、
前記ポイントの前記予測特質値と前記特質情報内の前記ポイントの残余の特質値に基づいて、前記ポイントの特質値を導出する段階と、を含む、ポイントクラウドデータ復号方法。
【請求項13】
前記予測モード1に対する前記ポイントの前記予測特質値は、前記複数の最隣接ポイントの一番目に近い隣接ポイントの特質値として設定され、
前記予測モード2に対する前記ポイントの前記予測特質値は、前記複数の最隣接ポイントの二番目に近い隣接ポイントの特質値として設定され、
前記予測モード3に対する前記ポイントの前記予測特質値は、前記複数の最隣接ポイントの三番目に近い隣接ポイントの特質値として設定される、請求項12に記載のポイントクラウドデータ復号方法。
【請求項14】
前記複数の最隣接ポイントの特質値の間の前記最大差値が前記しきい値より小さい場合、前記ポイントの前記取得された予測モードは、前記予測モード0であり、
前記予測モード0に対する前記ポイントの予測特質値は、前記複数の最隣接ポイントの前記距離基盤の加重値平均値として設定される、請求項12に記載のポイントクラウドデータ復号方法。