(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
(51)【国際特許分類】
H04N 19/597 20140101AFI20240123BHJP
H04N 19/96 20140101ALI20240123BHJP
H04N 19/182 20140101ALI20240123BHJP
H04N 19/132 20140101ALI20240123BHJP
G06T 9/40 20060101ALI20240123BHJP
【FI】
H04N19/597
H04N19/96
H04N19/182
H04N19/132
G06T9/40
(21)【出願番号】P 2022541851
(86)(22)【出願日】2020-11-02
(86)【国際出願番号】 KR2020015138
(87)【国際公開番号】W WO2021141221
(87)【国際公開日】2021-07-15
【審査請求日】2022-07-25
(32)【優先日】2020-01-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-01-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100109841
【氏名又は名称】堅田 健史
(74)【代理人】
【識別番号】230112025
【氏名又は名称】小林 英了
(74)【代理人】
【識別番号】230117802
【氏名又は名称】大野 浩之
(74)【代理人】
【識別番号】100131451
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100167933
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【氏名又は名称】酒谷 誠一
(74)【代理人】
【識別番号】100184181
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】ユル,ヒジュン
(72)【発明者】
【氏名】オ,セジン
【審査官】久保 光宏
(56)【参考文献】
【文献】Khaled Mammou, et al.,"G-PCC codec description v2",N18189,[online], ISO/IEC JTC1/SC29/WG11,2019年01月18日,Pages 1-39,[令和5年6月28日検索], インターネット, <URL: https://mpeg.chiariglione.org/meetings/125> and <URL: https://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w18189.zip> ,and <URL: https://mpeg.chiariglione.org/standards/mpeg-i/geometry-based-point-cloud-compression/g-pcc-codec-description-v2>.
【文献】Antoine Dricot, et al.,"Hybrid Octree-Plane Point Cloud Geometry Coding",Proceedings of 2019 27th European Signal Processing Conference (EUSIPCO),IEEE,2019年09月06日,Pages 1-5,ISBN: 978-9-0827-9703-9, <DOI: 10.23919/EUSIPCO.2019.8902800>.
【文献】"G-PCC codec description v9", [online],N0011,ISO/IEC JTC 1/SC 29/WG 7,2020年12月31日,Pages 1,2,127-133,140-146,[令和5年6月28日検索], インターネット, <URL: https://www.mpeg.org/standards/MPEG-I/9/> and <URL: https://www.mpeg.org/wp-content/uploads/mpeg_meetings/132_OnLine/w19620.zip>.,(See sections 3.15.4 and 3.15.4.7)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
G06T9/00-9/40
H04N13/00-13/398
H04N21/00-21/858
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
ポイントクラウドデータ
のジオメトリを符号化する段階
であって、前記符号化されたジオメトリが占有情報に関連する木構造に基づいて表現され、前記木構造のLOD(Level of Detail)が前記木構造の底(bottom)からスキップされ、前記木構造のノードのジオメトリ位置が空間拡張のために前記ノードの中央位置に基づいて再構成される、段階;
前記再構成されたジオメトリ位置に基づいて前記ポイントクラウドデータの特質を符号化する段階;及び
前記ポイントクラウドデータ
の前記符号化されたジオメトリおよび前記符号化された特質を含むビットストリームを送信する段階;を含む、ポイントクラウドデータ送信方法。
【請求項2】
前記ジオメトリを符号化する段階は、
前記ジオメトリをボクセル化する段階を含む、請求項
1に記載のポイントクラウドデータ送信方法。
【請求項3】
前記
ジオメトリを符号化する段階は、
前記ジオメトリの位置を再構成する段階を含み、
前記ジオメトリの
前記位置を再構成する段階は、
前記ジオメトリに対する
前記木構造に基づいて、前記
木構造の特定のレベルまで前記ジオメトリの
前記位置を再構成する、請求項1に記載のポイントクラウドデータ送信方法。
【請求項4】
ポイントクラウドデータ
のジオメトリを符号化
し、前記符号化されたジオメトリが占有情報に関連する木構造に基づいて表現され、前記木構造のLOD(Level of Detail)が前記木構造の底(bottom)からスキップされ、前記木構造のノードのジオメトリ位置が空間拡張のために前記ノードの中央位置に基づいて再構成され、前記再構成されたジオメトリ位置に基づいて前記ポイントクラウドデータの特質を符号化するエンコーダ;及び
前記ポイントクラウドデータ
の前記符号化されたジオメトリおよび前記符号化された特質を含むビットストリームを送信する送信機;を含む、ポイントクラウドデータ送信装置。
【請求項5】
前記ジオメトリを符号化するジオメトリエンコーダは、
前記ジオメトリをボクセル化する、請求項
4に記載のポイントクラウドデータ送信装置。
【請求項6】
前記エンコーダは、
前記ジオメトリに対する
前記木構造に基づいて、前記
木構造の特定のレベルまで前記ジオメトリの位置を再構成する、請求項
4に記載のポイントクラウドデータ送信装置。
【請求項7】
ポイントクラウドデータを含むビットストリームを受信する段階;
前記ポイントクラウドデータ
のジオメトリの一部のみを復号する段階
であって、前記復号されたジオメトリが占有情報に関連する木構造に基づいて表現され、前記木構造のLOD(Level of Detail)が前記木構造の底(bottom)からスキップされ、前記木構造のノードのジオメトリ位置が空間拡張のために前記ノードの中央位置に基づいて再構成される、段階;及び
前記再構成されたジオメトリ位置に基づいて前記ポイントクラウドデータの特質を復号する段階;を含む、ポイントクラウドデータ受信方法。
【請求項8】
前記復号する段階は、
前記ジオメトリに対する
前記木構造に基づいて、前記
木構造の特定のレベルまで前記ジオメトリの位置を再構成する段階を含む、請求項
7に記載のポイントクラウドデータ受信方法。
【請求項9】
ポイントクラウドデータを含むビットストリームを受信する受信機;及び
前記ポイントクラウドデータ
のジオメトリの一部のみを復号
し、前記復号されたジオメトリが占有情報に関連する木構造に基づいて表現され、前記木構造のLOD(Level of Detail)が前記木構造の底(bottom)からスキップされ、前記木構造のノードのジオメトリ位置が空間拡張のために前記ノードの中央位置に基づいて再構成され、前記再構成されたジオメトリ位置に基づいて前記ポイントクラウドデータの特質を復号するデコーダ;を含む、ポイントクラウドデータ受信装置。
【請求項10】
前記デコーダは、
前記ジオメトリに対する
前記木構造に基づいて、前記
木構造の特定のレベルまで前記ジオメトリの位置を再構成する、請求項
9に記載のポイントクラウドデータ受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
実施例はポイントクラウドコンテンツ(Point Cloud Content)を処理する方法及び装置に関する。
【背景技術】
【0002】
ポイントクラウドコンテンツは3次元空間を表現する座標系に属する点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは3次元からなるメディアを表現でき、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、複合現実)及び自律走行サービスなどの様々なサービスを提供するために使用される。しかし、ポイントクラウドコンテンツを表現するためには、数万から数十万個のポイントデータが必要である。従って、膨大な量のポイントデータを効率的に処理する方法が求められる。
【発明の概要】
【0003】
(技術的課題)
実施例はポイントクラウドデータを効率的に処理するための装置及び方法を提供する。実施例は遅延(latency)及び符号化/復号複雑度を解決するためのポイントクラウドデータ処理方法及び装置を提供する。
【0004】
但し、上述した技術的課題のみに制限されず、記載する全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
【0005】
(技術的解決方法)
上記技術的課題を達成するために、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階;及びポイントクラウドデータを含むビットストリームを送信する段階;を含む。また実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階;及びポイントクラウドデータを復号する段階;を含む。
【0006】
(発明の効果)
実施例による装置及び方法は、高効率でポイントクラウドデータを処理することができる。
【0007】
実施例による装置及び方法は、良質のポイントクラウドサービスを提供することができる。
【0008】
実施例による装置及び方法は、VRサービス、自律走行サービスなどの汎用的なサービスを提供するためのポイントクラウドコンテンツを提供することができる。
【0009】
添付図面は実施例の理解を助けるためのものであり、実施例に関連する説明と共に実施例を示す。後述する様々な実施例に対するより適切な理解のために、添付図面において類似する参照番号に対応する部分を含む次の図面に関連して以下の実施例の説明を必ず参照すべきである。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施例によるポイントクラウドコンテンツ提供システムの一例を示す。
【
図2】
図2は、実施例によるポイントクラウドコンテンツ提供動作を示すブロック図である。
【
図3】
図3は、実施例によるポイントクラウドビデオキャプチャー過程の一例を示す。
【
図4】
図4は、実施例によるポイントクラウドエンコーダ(Point Cloud Encoder)の一例を示す。
【
図5】
図5は、実施例によるボクセルの一例を示す。
【
図6】
図6は、実施例による八分木及び占有コード(occupancy code)の一例を示す。
【
図7】
図7は、実施例による隣接ノードパターンの一例を示す。
【
図8】
図8は、実施例によるLODごとのポイント構成の一例を示す。
【
図9】
図9は、実施例によるLODごとのポイント構成の一例を示す。
【
図10】
図10は、実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す。
【
図11】
図11は、実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す。
【
図14】
図14は、実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。
【
図15】
図15は、実施例によるジオメトリの八分木及び八分木に基づいて生成された特質のLOD(Level of Detail)を示す。
【
図16】
図16は、実施例によるLODに基づいてビットストリームを処理する方案を示す。
【
図17】
図17は、実施例によるジオメトリ及び特質の空間拡張構造を示す。
【
図18】
図18は、実施例によるジオメトリ符号化の動作を示す。
【
図19】
図19は、実施例による切り捨て量子化(Truncation quantization)及び丸め量子化(Rounding quantization)を示す。
【
図20】
図20は、実施例による八分木の中間ノード上のジオメトリ(位置)を再構成する動作を示す。
【
図21】
図21は、実施例による部分ジオメトリ復号動作を示す。
【
図22】
図22は、実施例によるポイントクラウドデータエンコーダの構造を示す。
【
図23】
図23は、実施例によるポイントクラウドデータデコーダの構造を示す。
【
図24】
図24は、実施例によるポイントクラウドデータに関するビットストリームの構造を示す。
【
図25】
図25は、実施例によるシーケンスパラメータセット(Sequence Parameter Set, SPS)を示す。
【
図26】
図26は、実施例によるジオメトリパラメータセット(Geometry Parameter Set, GPS)を示す。
【
図27】
図27は、実施例によるタイルパラメータセット(Tile Parameter Set, TPS)を示す。
【
図28】
図28は、実施例によるジオメトリスライスヘッダ(Geometry slice Header)を示す。
【
図30】
図30は、実施例によるシーケンスパラメータセットを示す。
【
図31】
図31は、実施例によるジオメトリパラメータセットを示す。
【
図32】
図32は、実施例によるタイルパラメータセットを示す。
【
図33】
図33は、実施例によるジオメトリスライスヘッダを示す。
【
図34】
図34は、実施例によるポイントクラウドデータ送信方法を示す。
【
図35】
図35は、実施例によるポイントクラウドデータ受信方法を示す。
【発明を実施するための形態】
【0011】
添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというより、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に関する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。
【0012】
実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものもあり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解すべきである。
【0013】
図1は実施例によるポイントクラウドコンテンツ提供システムの一例を示す図である。
【0014】
図1に示したポイントクラウドコンテンツ提供システムは、送信装置(transmission device)10000及び受信装置(reception device)10004を含む。送信装置10000及び受信装置10004はポイントクラウドデータを送受信するために有無線通信が可能である。
【0015】
実施例による送信装置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機器/サーバーなどを含む。
【0016】
実施例による送信装置10000は、ポイントクラウドビデオ獲得部(Point Cloud Video Acquisition)10001、ポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)10002及び/又は送信機(Transmitter(又は通信モジュール)10003を含む。
【0017】
実施例によるポイントクラウドビデオ獲得部10001は、キャプチャー、合成又は生成などの処理過程によりポイントクラウドビデオを獲得する。ポイントクラウドビデオは、3次元空間に位置するポイントの集合であるポイントクラウドで表現されるポイントクラウドコンテンツであって、ポイントクラウドビデオデータなどと呼ばれる。実施例によるポイントクラウドビデオは、一つ又はそれ以上のフレームを含む。一つのフレームは停止映像/ピクチャを示す。よって、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャを含み、ポイントクラウド映像、フレーム及びピクチャのうちのいずれかに呼ばれる。
【0018】
実施例によるポイントクラウドビデオエンコーダ10002は、確保したポイントクラウドビデオデータを符号化する。ポイントクラウドビデオエンコーダ10002はポイントクラウド圧縮(Point Cloud Compression)コーディングに基づいてポイントクラウドビデオデータを符号化する。実施例によるポイントクラウド圧縮コーディングは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング又は次世代コーディングを含む。なお、実施例によるポイントクラウド圧縮コーディングは、上述した実施例に限られない。ポイントクラウドビデオエンコーダ10002は、符号化されたポイントクラウドビデオデータを含むビットストリームを出力する。ビットストリームは符号化されたポイントクラウドビデオデータだけではなく、ポイントクラウドビデオデータの符号化に関連するシグナリング情報を含む。
【0019】
実施例による送信機10003は、符号化されたポイントクラウドビデオデータを含むビットストリームを送信する。実施例によるビットストリームはファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化されて、放送網及び/又はブロードバンド網などの様々なネットワークにより送信される。図示していないが、送信装置10000はカプセル化動作を行うカプセル化部(又はカプセル化モジュール)を含む。また実施例において、カプセル化部は送信機10003に含まれる。実施例において、ファイル又はセグメントはネットワークにより受信装置10004に送信されるか、又はデジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信機10003は受信装置10004(又は受信機(Receiver)10005)と4G、5G、6Gなどのネットワークにより有無線通信が可能である。また送信機10003はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行う。また送信装置10000はオン・デマンド(On Demand)方式によってカプセル化されたデータを送信することもできる。
【0020】
実施例による受信装置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機器/サーバーなどを含む。
【0021】
実施例による受信機10005は、ポイントクラウドビデオデータを含むビットストリーム又はビットストリームがカプセル化されたファイル/セグメントなどをネットワーク又は格納媒体から受信する。受信機10005はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)により必要なデータ処理動作を行う。実施例による受信機10005は、受信したファイル/セグメントをデカプセル化してビットストリームを出力する。また実施例において、受信機10005はデカプセル化の動作を行うためのデカプセル化部(又はデカプセル化モジュール)を含む。またデカプセル化部は受信機10005とは別個のエレメント(又はコンポーネント)で具現される。
【0022】
ポイントクラウドビデオデコーダ10006は、ポイントクラウドビデオデータを含むビットストリームを復号する。ポイントクラウドビデオデコーダ10006はポイントクラウドビデオデータが符号化された方式により復号することができる(例えば、ポイントクラウドビデオエンコーダ10002の動作の逆の過程)。従って、ポイントクラウドビデオデコーダ10006はポイントクラウド圧縮の逆過程であるポイントクラウド復元コーディングを行って、ポイントクラウドビデオデータを復号することができる。ポイントクラウド復元コーディングはG-PCCコーディングを含む。
【0023】
レンダラー10007は復号されたポイントクラウドビデオデータをレンダリングする。レンダラー10007はポイントクラウドビデオデータだけではなく、オディオデータもレンダリングしてポイントクラウドコンテンツを出力する。実施例において、レンダラー10007はポイントクラウドコンテンツをディスプレイするためのディスプレイを含む。実施例において、ディスプレイはレンダラー10007に含まれず、別のデバイス又はコンポーネントで具現される。
【0024】
図面において、点線で示した矢印は、受信装置10004で得たフィードバック情報(feedback information)の送信経路を示す。フィードバック情報はポイントクラウドコンテンツを消費するユーザとの相互作用を反映するための情報であって、ユーザの情報を含む(例えば、ヘッドオリエンテーション情報)、ビューポート情報など)。特にポイントクラウドコンテンツがユーザとの相互作用が必要なサービス(例えば、自律走行サービスなど)のためのものである場合には、フィードバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサービス供給者に伝達されることができる。実施例において、フィードバック情報は送信装置10000だけではなく受信装置10004でも使用されることができ、提供されないこともできる。
【0025】
実施例によるヘッドオリエンテーション情報はユーザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10004はヘッドオリエンテーション情報に基づいてビューポート情報を計算する。ビューポート情報はユーザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユーザがポイントクラウドビデオを見ている点であり、ビューポート領域の真ん中を意味する。即ち、ビューポートは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004はヘッドオリエンテーション情報以外に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビューポート情報を抽出することができる。また受信装置10004はゲイズ分析(Gaze Analysis)などを行って、ユーザのポイントクラウド消費方式、ユーザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例において、受信装置10004はゲイズ分析の結果を含むフィードバック情報を送信装置10000に送信する。実施例によるフィードバック情報はレンダリング及び/又はディスプレイ過程で得られる。実施例によるフィードバック情報は受信装置10004に含まれた一つ又はそれ以上のセンサにより確保される。また実施例において、フィードバック情報はレンダラー10007又は別の外部エレメント(又はデバイス、コンポーネントなど)により確保される。
図1に示された点線はレンダラー10007で確保したフィードバック情報の伝達過程を示す。ポイントクラウドコンテンツ提供システムはフィードバック情報に基づいてポイントクラウドデータを処理(符号化/復号)する。従って、ポイントクラウドビデオデータデコーダ10006はフィードバック情報に基づいて復号の動作を行うことができる。また受信装置10004はフィードバック情報を送信装置10000に送信することができる。送信装置10000(又はポイントクラウドビデオデータエンコーダ10002)はフィードバック情報に基づいて符号化の動作を行う。従って、ポイントクラウドコンテンツ提供システムは全てのポイントクラウドデータを処理(符号化/復号)せず、フィードバック情報に基づいて必要なデータ(例えば、ユーザのヘッド位置に対応するポイントクラウドデータ)を効率的に処理して、ユーザにポイントクラウドコンテンツを提供することができる。
【0026】
実施例において、送信装置10000はエンコーダ、送信デバイス、送信機などと呼ばれ、受信装置10004はデコーダ、受信デバイス、受信機などと呼ばれる。
【0027】
実施例による
図1のポイントクラウドコンテンツ提供システムで処理される(獲得/符号化/送信/復号/レンダリングの一連の過程で処理される)ポイントクラウドデータは、ポイントクラウドコンテンツデータ又はポイントクラウドビデオデータとも呼ばれる。実施例において、ポイントクラウドコンテンツデータはポイントクラウドデータに関連するメタデータ或いはシグナリング情報を含む概念として使用される。
【0028】
図1に示したポイントクラウドコンテンツ提供システムのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はこれらの組み合わせなどで具現される。
【0029】
図2は実施例によるポイントクラウドコンテンツ提供の動作を示すブロック図である。
【0030】
図2は
図1で説明したポイントクラウドコンテンツ提供システムの動作を示すブロック図である。上述したように、ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディング(例えば、G-PCC)に基づいてポイントクラウドデータを処理する。
【0031】
実施例によるポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置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)、透明度など)を含む。一つのポイントは一つ又はそれ以上の特質(又は属性)を有する。例えば、一つのポイントは、色相の一つの特質を有するか、或いは色相及び反射率の二つの特質を有することができる。実施例において、ジオメトリは位置、ジオメトリ情報、ジオメトリデータなどとも呼ばれ、特質は特質、特質情報、特質データなどとも呼ばれる。またポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置10000又はポイントクラウドビデオ獲得部10001)は、ポイントクラウドビデオの獲得過程に関連する情報(例えば、深さ情報、色相情報など)からポイントクラウドデータを確保することができる。
【0032】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又はポイントクラウドビデオエンコーダ10002)は、ポイントクラウドデータを符号化する(20001)。ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディングに基づいてポイントクラウドデータを符号化する。上述したように、ポイントクラウドデータはポイントのジオメトリ及び特質を含む。よって、ポイントクラウドコンテンツ提供システムは、ジオメトリを符号化するジオメトリ符号化を行ってジオメトリビットストリームを出力する。ポイントクラウドコンテンツ提供システムは、特質を符号化する特質符号化を行って特質ビットストリームを出力する。実施例において、ポイントクラウドコンテンツ提供システムはジオメトリ符号化に基づいて特質符号化を行う。実施例によるジオメトリビットストリーム及び特質ビットストリームは多重化されて一つのビットストリームで出力される。実施例によるビットストリームはさらにジオメトリ符号化及び特質符号化に関連するシグナリング情報を含む。
【0033】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又は送信機10003)は、符号化されたポイントクラウドデータを送信する(20002)。
図1で説明したように、符号化されたポイントクラウドデータはジオメトリビットストリーム、特質ビットストリームで表現される。また符号化されたポイントクラウドデータはポイントクラウドデータの符号化に関連するシグナリング情報(例えば、ジオメトリ符号化及び特質符号化に関連するシグナリング情報)と共に、ビットストリームの形態で送信される。またポイントクラウドコンテンツ提供システムは符号化されたポイントクラウドデータを送信するビットストリームをカプセル化してファイル又はセグメントの形態で送信する。
【0034】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、符号化されたポイントクラウドデータを含むビットストリームを受信する。またポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、ビットストリームを逆多重化する。
【0035】
ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームで送信される符号化されたポイントクラウドデータ(例えば、ジオメトリビットストリーム、特質ビットストリーム)を復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームに含まれたポイントクラウドビデオデータの符号化に関連するシグナリング情報に基づいてポイントクラウドビデオデータを復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ジオメトリビットストリームを復号してポイントの位置(ジオメトリ)を復元する。ポイントクラウドコンテンツ提供システムは、復元したジオメトリに基づいて特質ビットストリームを復号してポイントの特質を復元する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、復元されたジオメトリによる位置及び復号された特質に基づいてポイントクラウドビデオを復元する。
【0036】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号されたポイントクラウドデータをレンダリングする(20004)。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号過程で復号されたジオメトリ及び特質を様々なレンダリング方式によってレンダリングする。ポイントクラウドコンテンツのポイントは、一定の厚さを有する定点、該当定点の位置を中央とする所定の最小サイズを有する立方体、又は定点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域はディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
【0037】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004)は、フィードバック情報を確保することができる(20005)。ポイントクラウドコンテンツ提供システムは、フィードバック情報に基づいてポイントクラウドデータを符号化及び/又は復号する。実施例によるフィードバック情報及びポイントクラウドコンテンツ提供システムの動作は、
図1で説明したフィードバック情報及び動作と同一であるので、具体的な説明は省略する。
【0038】
図3は実施例によるポイントクラウドビデオキャプチャー過程の一例を示す図である。
【0039】
図3は
図1及び
図2で説明したポイントクラウドコンテンツ提供システムのポイントクラウドビデオキャプチャー過程の一例を示す。
【0040】
ポイントクラウドコンテンツは、様々な3次元空間(例えば、現実環境を示す3次元空間、仮想環境を示す3次元空間など)に位置するオブジェクト(object)及び/又は環境を示すポイントクラウドビデオ(イメージ及び/又は映像)を含む。従って、実施例によるポイントクラウドコンテンツ提供システムは、ポイントクラウドコンテンツを生成するために一つ又はそれ以上のカメラ(例えば、深さ情報を確保できる赤外線カメラ、深さ情報に対応する色相情報を抽出できるRGBカメラなど)、プロジェクト(例えば、深さ情報を確保するための赤外線パターンプロジェクターなど)、LiDARなどを使用してポイントクラウドビデオをキャプチャーする。実施例によるポイントクラウドコンテンツ提供システムは、深さ情報から3次元空間上のポイントで構成されたジオメトリの形態を抽出し、色相情報からそれぞれのポイントの特質を抽出してポイントクラウドデータを確保する。実施例によるイメージ及び/又は映像は内向き(inward-facing)方式及び外向き(outward-facing)方式のうちのいずれかに基づいてキャプチャーされる。
【0041】
図3の左側には内向き方式が示されている。内向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトをキャプチャーする方式である。内向き方式は核心核心客体に対する360°イメージをユーザに提供するポイントクラウドコンテンツ(例えば、ユーザに客体(例:キャラクター、選手、品物、俳優などの核心となる客体)の360°イメージを提供するVR/ARコンテンツ)を生成するために使用される。
【0042】
図3の右側には外向き方式が示されている。外向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトではない中心オブジェクトの環境をキャプチャーする方式である。外向き方式はユーザの視点からの周辺環境を提供するためのポイントクラウドコンテンツ(例えば、自律走行車両のユーザに提供される外部環境を示すコンテンツ)を生成するために使用される。
【0043】
図示したように、ポイントクラウドコンテンツは一つ又はそれ以上のカメラのキャプチャー動作に基づいて生成される。この場合、それぞれのカメラの座標系が異なるので、ポイントクラウドコンテンツ提供システムはキャプチャー動作前にグローバル空間座標系(global coordinate system)を設定するために、一つ又はそれ以上のカメラの較正(calibration)を行う。またポイントクラウドコンテンツ提供システムは、上述したキャプチャー方式でキャプチャーされたイメージ及び/又は映像と任意のイメージ及び/又は映像を合成してポイントクラウドコンテンツを生成する。またポイントクラウドコンテンツ提供システムは、仮想空間を示すポイントクラウドコンテンツを生成する場合、
図3で説明したキャプチャー動作を行わない。実施例によるポイントクラウドコンテンツ提供システムは、キャプチャーしたイメージ及び/又は映像に対して後処理を行うこともできる。即ち、ポイントクラウドコンテンツ提供システムは、望まない領域(例えば、背景)を除去したり、キャプチャーしたイメージ及び/又は映像が連結された空間を認識して空間(spatial hole)がある場合、それを埋める動作を行うことができる。
【0044】
またポイントクラウドコンテンツ提供システムは、それぞれのカメラから確保したポイントクラウドビデオのポイントに対して座標系変換を行って、一つのポイントクラウドコンテンツを生成することができる。ポイントクラウドコンテンツ提供システムは、それぞれのカメラの位置座標を基準としてポイントの座標系変換を行う。これにより、ポイントクラウドコンテンツ提供システムは、一つの広い範囲を示すコンテンツを生成するか、或いはポイントの密度が高いポイントクラウドコンテンツを生成することができる。
【0045】
図4は実施例によるポイントクラウドエンコーダ(Point Cloud Encoder)の一例を示す図である。
【0046】
図4は
図1のポイントクラウドビデオエンコーダ10002の一例を示す。ポイントクラウドエンコーダは、ネットワーク状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、損失に近い-near-lossless)を調節するために、ポイントクラウドデータ(例えば、ポイントの位置及び/又は特質)を再構成して符号化動作を行う。ポイントクラウドコンテンツの全体サイズが大きい場合(例えば、30fpsの場合、60Gbpsであるポイントクラウドコンテンツ)、ポイントクラウドコンテンツ提供システムは該当コンテンツをリアルタイムストリーミングすることができない。従って、ポイントクラウドコンテンツ提供システムは、ネットワーク環境などに合わせて提供するために、最大ターゲットビットレートに基づいてポイントクラウドコンテンツを再構成することができる。
【0047】
図1及び
図2に示したように、ポイントクラウドエンコーダはジオメトリ符号化及び特質符号化を行うことができる。ジオメトリ符号化は特質符号化よりも先に行われる。
【0048】
実施例によるポイントクラウドエンコーダは、座標系変換部(Transformation Coordinates)40000、量子化部(Quantize and Remove Points(Voxelize))40001、八分木分析部(Analyze Octree)40002、表面近似分析部(Analyze Surface Approximation)40003、演算エンコーダ(Arithmetic Encode)40004、ジオメトリ再構成部(Reconstruct Geometry)40005、色変換部(Transform Colors)40006、特質変換部(Transfer Attributes)40007、RAHT変換部40008、LOD生成部(Generated LOD)40009、リフト変換部(Lifting)40010、係数量子化部(Quantize Coefficients)40011及び/又は演算エンコーダ(Arithmetic Encode)40012を含む。
【0049】
座標系変換部40000、量子化部40001、八分木分析部40002、表面近似分析部40003、演算エンコーダ40004及びジオメトリ再構成部40005は、ジオメトリ符号化を行う。実施例によるジオメトリ符号化は、八分木ジオメトリコーディング、ダイレクトコーディング(direct coding)、trisoupジオメトリ符号化(trisoup geometry encoding)及びエントロピー符号化を含む。ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に或いは組み合わせて適用される。なお、ジオメトリ符号化は上記の例示に限られない。
【0050】
図示したように、実施例による座標系変換部40000は、位置を受信して座標系(coordinate)に変換する。例えば、位置は3次元空間(例えば、XYZ座標系で表現される3次元空間など)の位置情報に変換される。実施例による3次元空間の位置情報はジオメトリ情報とも称される。
【0051】
実施例による量子化部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)、該当ボクセルに割り当てられる。
【0052】
実施例による八分木分析部40002は、ボクセルを八分木構造で表すための八分木ジオメトリコーディング(又は八分木コーディング)を行う。八分木構造は八分割構造に基づいてボクセルにマッチングされたポイントを表現する。
【0053】
実施例による表面近似分析部40003は、八分木を分析して近似化する。実施例による八分木分析及び近似化は、八分木及びボクセル化を効率的に提供するために、多数のポイントを含む領域をボクセル化するために分析を行う過程である。
【0054】
実施例による演算エンコーダ40004は、八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。符号化の結果としてジオメトリビットストリームが生成される。
【0055】
色変換部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コーディング、予測変換コーディング及びリフト変換コーディングが選択的に使用されるか、又は一つ又はそれ以上のコーディングの組み合わせが使用される。また実施例による特質符号化は上述した例示に限られない。
【0056】
実施例による色変換部40006は、特質に含まれた色値(又はテクスチャ)を変換する色変換コーディングを行う。例えば、色変換部40006は色相情報のフォーマットを変換(例えば、RGBからYCbCrに変換)する。実施例による色変換部40006の動作は、特質に含まれた色値によって任意に(optional)適用される。
【0057】
実施例によるジオメトリ再構成部40005は、八分木及び/又は近似化した八分木を再構成(復元)する。ジオメトリ再構成部40005はポイントの分布を分析した結果に基づいて八分木/ボクセルを再構成する。再構成された八分木/ボクセルは再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
【0058】
実施例による特質変換部40007は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。上述したように、特質はジオメトリに従属するので、特質変換部40007は再構成されたジオメトリ情報に基づいて特質を変換することができる。例えば、特質変換部40007は、ボクセルに含まれたポイントの位置値に基づいてその位置のポイントが有する特質を変換する。上述したように、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて該当ボクセルの中央点の位置が設定される場合、特質変換部40007は一つ又はそれ以上のポイントの特質を変換する。trisoupジオメトリ符号化が行われた場合、特質変換部40007はtrisoupジオメトリ符号化に基づいて特質を変換する。
【0059】
特質変換部40007は、各ボクセルの中央点の位置(又は位置値)から特定の位置/半径内に隣接しているポイントの特質又は特質値(例えば、各ポイントの色相、又は反射率など)の平均値を計算して特質変換を行う。特質変換部40007は平均値の計算時、中央点から各ポイントまでの距離による加重値を適用する。従って、各ボクセルは位置及び計算された特質(又は特質値)を有する。
【0060】
特質変換部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ツリー又はモールトンコードが活用される。
【0061】
図示したように、変換された特質はRAHT変換部40008及び/又はLOD生成部40009に入力される。
【0062】
実施例によるRAHT変換部40008は、再構成されたジオメトリ情報に基づいて特質情報を予測するRAHTコーディングを行う。例えば、RAHT変換部40008は、八分木の下位レベルにあるノードに連関する特質情報に基づいて、八分木の上位レベルにあるノードの特質情報を予測することができる。
【0063】
実施例によるLOD生成部40009は予測変換コーディングを行うために、LOD(Level of Detail)を生成する。実施例によるLODはポイントクラウドコンテンツの詳細を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が下がり、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことを示す。ポイントをLODによって分類できる。
【0064】
実施例によるリフト変換部40010は、ポイントクラウドの特質を加重値に基づいて変換するリフト変換コーディングを行う。上述したように、リフト変換コーディングは選択的に適用される。
【0065】
実施例による係数量子化部40011は、特質コーディングされた特質を係数に基づいて量子化する。
【0066】
実施例による演算エンコーダ40012は、量子化された特質を演算コーディングに基づいて符号化する。
【0067】
図4のポイントクラウドエンコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図4のポイントクラウドエンコーダのエレメントの動作及び/又は機能のうち、いずれか一つを行うことができる。また、一つ又はそれ以上のプロセッサは、
図4のポイントクラウドエンコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行することができる。実施例による一つ又はそれ以上のメモリは高速ランダムアクセスメモリを含むか、又は非揮発性メモリ(例えば、一つ又はそれ以上のマグネチックディスク格納デバイス、フラッシュメモリデバイス、又は他の非揮発性固体のメモリデバイス(Solid-state memory devices)など)を含む。
【0068】
【0069】
図5はX軸、Y軸、Z軸の3つの軸で構成された座標系で表現される3次元空間上に位置するボクセルを示す。
図4に示すように、ポイントクラウドエンコーダ(例えば、量子化部40001など)はボクセル化を行う。ボクセルは3次元空間を表現する軸(例えば、X軸、Y軸、Z軸)に基づいて3次元空間をユニット(unit=1.0)単位で分けたときに発生する3次元キュービック空間を意味する。
図5は2つの極点(0,0,0)及び(2
d、2
d、2
d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)する八分木構造により生成されたボクセルの一例を示す。一つのボクセルは少なくとも一つ以上のポイントを含む。ボクセルはボクセル群(voxel group)との位置関係から空間座標を推定することができる。上述したように、ボクセルは2次元イメージ/映像のピクセルと同様に、特質(色相又は反射率など)を有する。ボクセルに対する具体的な説明は
図4で説明した通りであるので省略する。
【0070】
図6は実施例による八分木及び占有コード(occupancy code)の一例を示す図である。
【0071】
図1ないし
図4に示したように、ポイントクラウドコンテンツ提供システム(ポイントクラウドビデオエンコーダ10002)又はポイントクラウドエンコーダ(例えば、八分木分析部40002)は、ボクセルの領域及び/又は位置を効率的に管理するために、八分木構造基盤の八分木ジオメトリコーディング(又は八分木コーディング)を行う。
【0072】
図6の上側は八分木構造を示している。実施例によるポイントクラウドコンテンツの3次元空間は座標系の軸(例えば、X軸、Y軸、Z軸)で表現される。八分木構造は2つの極点(0,0,0)及び(2
d、2
d、2
d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。dは八分木の深さを示す。d値は以下の式により決定される。以下の式において、(x
int
n、y
int
n、z
int
n)は量子化されたポイントの位置(又は位置値)を示す。
【0073】
【0074】
図6の上側中央に示したように、分割によって全体3次元空間は8つの空間に分かれる。分割されたそれぞれの空間は6つの面を有するキューブで表現される。
図6の右上側に示したように、8つの空間はそれぞれ再び座標系の軸(例えば、X軸、Y軸、Z軸)により分かれる。よって、それぞれの空間は再び8つの小さい空間に分かれる。分割された小さい空間も6つの面を有するキューブで表現される。このような分割方式は八分木のリーフノード(leaf node)がボクセルになるまで適用される。
【0075】
図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)は占有コードに基づいて八分木を再構成する。
【0076】
実施例によるポイントクラウドエンコーダ(例えば、
図4のポイントクラウドエンコーダ、又は八分木分析部40002)は、ポイントの位置を格納するためにボクセル化及び八分木コーディングを行う。しかし、3次元空間内のポイントがいつも均一に分布していることではないので、ポイントが多く存在しない特定の領域が存在し得る。従って、3次元空間の全体に対してボクセル化を行うことは非効率的である。例えば、特定の領域にポイントがほぼ存在しないと、該当領域までボクセル化を行う必要はない。
【0077】
従って、実施例によるポイントクラウドエンコーダは、上述した特定の領域(又は八分木のリーフノードを除いたノード)についてはボクセル化を行わず、特定の領域に含まれたポイントの位置を直接コーディングするダイレクトコーディング(Direct coding)を行う。実施例によるダイレクトコーディングポイントの座標は、ダイレクトコーディングモード(Direct Coding Mode、DCM)と呼ばれる。また実施例によるポイントクラウドエンコーダは、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化(Trisoup geometry encoding)を行うことができる。trisoupジオメトリ符号化はオブジェクトの表現を三角形メッシュ(triangle mesh)のシリーズで表現するジオメトリ符号化である。従って、ポイントクラウドデコーダはメッシュ表面からポイントクラウドを生成することができる。実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に行われる。また実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は八分木ジオメトリコーディング(又は八分木コーディング)と結合して行うことができる。
【0078】
ダイレクトコーディング(Direct coding)を行うためには、ダイレクトコーディングを適用するための直接モード(direct mode)の使用オプションが活性化されている必要があり、ダイレクトコーディングを適用するノードはリーフノードではなく、特定のノード内に閾値(threshold)以下のポイントが存在する必要がある。またダイレクトコーディングの対象となる全体ポイントの個数は所定の閾値を超えてはいけない。上記条件を満たすと、実施例によるポイントクラウドエンコーダ(又は演算エンコーダ40004)はポイントの位置(又は位置値)をエントロピーコーディングすることができる。
【0079】
実施例によるポイントクラウドエンコーダ(例えば、表面近似分析部40003)は、八分木の特定のレベルを定め(レベルは八分木の深さdよりは小さい場合)、そのレベルからは表面モデルを使用してノード領域内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化を行うことができる(trisoupモード)。実施例によるポイントクラウドエンコーダは、trisoupジオメトリ符号化を適用するレベルを指定できる。例えば、指定されたレベルが八分木の深さと同一であると、ポイントクラウドエンコーダはtrisoupモードで動作しない。即ち、実施例によるポイントクラウドエンコーダは指定されたレベルが八分木の深さ値よりも小さい場合にのみtrisoupモードで動作することができる。実施例による指定されたレベルのノードの3次元立方体領域をブロック(block)と呼ぶ。一つのブロックは一つ又はそれ以上のボクセルを含む。ブロック又はボクセルはブリック(brick)に対応することもできる。それぞれのブロック内においてジオメトリは表面(surface)と表現される。実施例による表面は最大1回、ブロックの各エッジ(edge)と交差することができる。
【0080】
一つのブロックは12つのエッジを有するので、一つのブロック内に少なくとも12つの交差点が存在する。それぞれの交差点はバーテックス(vertex、頂点又は頂上)と呼ばれる。エッジに沿って存在するバーテックスは該当エッジを共有する全てのブロックのうち、そのエッジに隣接する少なくとも一つの占有ボクセル(occupied voxel)がある場合に検知される。実施例による占有ボクセルはポイントを含むボクセルを意味する。エッジに沿って検出されたバーテックスの位置は、該当エッジを共有する全てのブロックのうち、該当エッジに隣接する全てのボクセルのエッジによる平均位置である(the average position along the edge of all voxels)。
【0081】
バーテックスが検出されると、実施例によるポイントクラウドエンコーダは、エッジの開始点(x、y、z)、エッジの方向ベクトル(Δx、Δy、Δz)、バーテックス位置値(エッジ内の相対的位置値)をエントロピーコーディングする。trisoupジオメトリ符号化が適用された場合、実施例によるポイントクラウドエンコーダ(例えば、ジオメトリ再構成部40005)は、三角形再構成(triangle reconstruction)、アップ-サンプリング(up-sampling)、ボクセル化過程を行って復元されたジオメトリ(再構成されたジオメトリ)を生成する。
【0082】
ブロックのエッジに位置するバーテックスはブロックを通過する表面を決定する。実施例による表面は非平面多角形である。三角形再構成の過程ではエッジの開始点、エッジの方向ベクトルとバーテックスの位置値に基づいて三角形で示される表面を再構成する。三角形再構成の過程は以下の通りである。(1)各バーテックスの中心(centroid)値を計算し、(2)各バーテックスの値から中心値を引いた値に(3)自乗を行って、その値を全て併せた値を得る。
【0083】
【0084】
加えられた値の最小値を求め、最小値がある軸に沿って投影(Projection)過程を行う。例えば、x要素(element)が最小である場合、各バーテックスをブロックの中心を基準としてx軸に投影し、(y,z)平面に投影させる。(y,z)平面に投影させて得た値が(ai,bi)であれば、atan2(bi、ai)によりθ値を求め、θ値を基準としてバーテックスを整列する。以下の表はバーテックスの個数によって三角形を生成するためのバーテックスの組み合わせを示している。バーテックスは1からnまで順に整列される。以下の表は4つのバーテックスに対して、バーテックスの組み合わせによって2つの三角形が構成されることを示している。1番目の三角形は整列されたバーテックスのうち、1、2、3番目のバーテックスで構成され、2番目の三角形は整列されたバーテックスのうち、3,4,1番目のバーテックスで構成される。
【0085】
表2-1.Triangles formed from vertices ordered 1,…,n
【0086】
n triangles
3 (1,2,3)
4 (1,2,3), (3,4,1)
5 (1,2,3), (3,4,5), (5,1,3)
6 (1,2,3), (3,4,5), (5,6,1), (1,3,5)
7 (1,2,3), (3,4,5), (5,6,7), (7,1,3), (3,5,7)
8 (1,2,3), (3,4,5), (5,6,7), (7,8,1), (1,3,5), (5,7,1)
9 (1,2,3), (3,4,5), (5,6,7), (7,8,9), (9,1,3), (3,5,7), (7,9,3)
10 (1,2,3), (3,4,5), (5,6,7), (7,8,9), (9,10,1), (1,3,5), (5,7,9), (9,1,5)
11 (1,2,3), (3,4,5), (5,6,7), (7,8,9), (9,10,11), (11,1,3), (3,5,7), (7,9,11), (11,3,7)
12 (1,2,3), (3,4,5), (5,6,7), (7,8,9), (9,10,11), (11,12,1), (1,3,5), (5,7,9), (9,11,1), (1,5,9)
【0087】
アップサンプリング過程は三角形のエッジに沿って中間に点を追加してボクセル化するために行われる。アップサンプリング係数(upsampling factor)とブロックの幅を基準として追加点を生成する。追加点はリファインドバーテックス(refined vertice)と呼ばれる。実施例によるポイントクラウドエンコーダはリファインドバーテックスをボクセル化することができる。またポイントクラウドエンコーダはボクセル化された位置(又は位置値)に基づいて特質符号化を行うことができる。
【0088】
図7は実施例による隣接ノードパターンの一例を示す図である。
【0089】
ポイントクラウドビデオの圧縮効率を増加させるために、実施例によるポイントクラウドエンコーダはコンテキスト適応演算(context adaptive arithmetic)コーディングに基づいてエントロピーコーディングを行う。
【0090】
図1ないし
図6で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダ(例えば、ポイントクラウドビデオエンコーダ10002、
図4のポイントクラウドエンコーダ又は演算エンコーダ40004)は、占有コードをすぐエントロピーコーディングする。またポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダは、現在ノードの占有コードと隣接ノードの占有率に基づいてエントロピー符号化(イントラ符号化)を行うか、又は以前フレームの占有コードに基づいてエントロピー符号化(インター符号化)を行う。実施例によるフレームは、同時間に生成されたポイントクラウドビデオの集合を意味する。実施例によるイントラ符号化/インター符号化の圧縮効率は、参照する隣接ノードの個数によって異なる。ビットが大きくなると複雑になるが、一側に傾くようにして圧縮効率を高めることができる。例えば、3-bit contextを有すると、2の3乗である8つの方法でコーディングする。分けてコーディングする部分は具現の複雑度に影響を及ぼす。従って、圧縮効率と複雑度の適正水準を合わせる必要がある。
【0091】
図7は隣接ノードの占有率に基づいて占有パターンを求める過程を示す。実施例によるポイントクラウドエンコーダは、八分木の各ノードの隣接ノードの占有率(occupancy)を判断して隣接ノードパターン(neighbor pattern)値を得る。隣接ノードパターンは該当ノードの占有パターンを推論するために使用される。
図7の左側はノードに対応するキューブ(真ん中に位置するキューブ)及び該当キューブと少なくとも一面を共有する6つのキューブ(隣接ノード)を示している。図示したノードは同じ深さのノードである。図示した数字は6つのノードとそれぞれ連関する加重値(1、2、4、8、16、32、など)を示す。各加重値は隣接ノードの位置によって順に付与される。
【0092】
図7の右側は隣接ノードパターン値を示す。隣接ノードパターン値は占有された隣接ノード(ポイントを有する隣接ノード)の加重値が掛けられた値の合計である。従って、隣接ノードパターン値は0から63までの値を有する。隣接ノードパターン値が0であることは、該当ノードの隣接ノードのうち、ポイントを有するノード(占有ノード)がないことを意味する。隣接ノードパターン値が63であることは、隣接ノードが全て占有ノードであることを意味する。図示したように、加重値1、2、4、8が付与された隣接ノードは占有ノードであるので、隣接ノードパターン値は1、2、4、8を併せた値である15である。ポイントクラウドエンコーダは隣接ノードパターン値によってコーディングを行うことができる(例えば、隣接ノードパターン値が63である場合、64つのコーディングを行う)。実施例においてポイントクラウドエンコーダは隣接ノードパターン値を変更して(例えば、64を10又は6に変更するテーブルに基づく)、コーディングの複雑度を減らすことができる。
【0093】
図8は実施例によるLODごとのポイント構成の一例を示す図である。
【0094】
図1ないし
図7で説明したように、特質符号化が行われる前、符号化されたジオメトリは再構成(復元)される。ダイレクトコーディングが適用された場合、ジオメトリ再構成の動作はダイレクトコーディングされたポイントの配置を変更することを含む(例えば、ダイレクトコーディングされたポイントをポイントクラウドデータの前方に配置)。trisoupジオメトリ符号化が適用された場合、ジオメトリ再構成の過程は三角形再構成、アップサンプリング、ボクセル化の過程を特質はジオメトリに従属するので、特質符号化は再構成されたジオメトリに基づいて行われる。
【0095】
ポイントクラウドエンコーダ(例えば、LOD生成部40009)はポイントをLODごとに分類する(reorganization)。図面はLODに対応するポイントクラウドコンテンツを示す。図において左側はオリジナルポイントクラウドコンテンツを示す。図において左側から2番目は最低LODのポイントの分布を示し、最右側は最高LODのポイントの分布を示す。即ち、最低LODのポイントは粗い(sparse)分布であり、最高LODのポイントは細かい分布である。即ち、図面の下側に示された矢印方向に沿ってLODが増加するほどポイント間の間隔(又は距離)は短くなる。
【0096】
図9は実施例によるLODごとのポイント構成の一例を示す図である。
【0097】
図1ないし
図8で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダ(例えば、ポイントクラウドビデオエンコーダ10002、
図4のポイントクラウドエンコーダ又はLOD生成部40009)はLODを生成する。LODはポイントを設定されたLOD距離値(又はユークリッド距離(Euclidean Distance)のセット)によって改良レベル(refinement levels)のセットで再整列して生成される。LOD生成過程はポイントクラウドエンコーダだけではなく、ポイントクラウドデコーダでも行われる。
【0098】
図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を含む。
【0099】
図4で説明したように、実施例によるポイントクラウドエンコーダは予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングを選択的に又は組み合わせて行うことができる。
【0100】
実施例によるポイントクラウドエンコーダは、ポイントに対する予測機(predictor)を生成して各ポイントの予測特質(又は予測特質値)を設定するための予測変換コーディングを行う。即ち、N個のポイントに対してN個の予測機が生成される。実施例による予測機は各ポイントのLOD値とLODごとに設定された距離内に存在する隣接ポイントに対するインデックス情報及び隣接ポイントまでの距離値に基づいて加重値(=1/距離)を計算することができる。
【0101】
実施例による予測特質(又は特質値)は、各ポイントの予測機に設定された隣接ポイントの特質(又は特質値、例えば、色相、反射率など)に各隣接ポイントまでの距離に基づいて計算された加重(又は加重値)を掛けた値の平均値で設定される。実施例によるポイントクラウドエンコーダ(例えば、係数量子化部40011)は、各ポイントの特質(特質値)から予測特質(特質値)を引いた残余値(residuals、残余特質、残余特質値、特質予測残余値などとも呼ばれる)を量子化(quatization)及び逆量子化(inverse quantization)することができる。量子化過程は以下の表の通りである。
【0102】
表.Attribute prediction residuals quantization pseudo code
int PCCQuantization(inT value, inT quantStep) {
if( value >=0) {
return floor(value / quantStep + 1.0 / 3.0);
} else {
return -floor(-value / quantStep + 1.0 / 3.0);
}
}
【0103】
表.Attribute prediction residuals inverse quantization pseudo Code
int PCCInverseQuantization(inT value, inT quantStep) {
if( quantStep ==0) {
return value;
} else {
return value*quantStep;
}
}
【0104】
実施例によるポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測機に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余値をエントロピーコーディングする。実施例によるポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測機に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。
【0105】
実施例によるポイントクラウドエンコーダ(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
【0106】
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
【0107】
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
【0108】
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
【0109】
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
【0110】
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
【0111】
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドエンコーダ(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は量子化された特質値をエントロピーコーディングする。
【0112】
実施例によるポイントクラウドエンコーダ(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドエンコーダは、ボクセルから全体領域にスキャンし、各ステップにおいてボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
【0113】
【0114】
【0115】
【0116】
【0117】
gDC値もハイパス係数のように量子化されてエントロピーコーディングされる。
【0118】
図10は実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す図である。
【0119】
図10に示したポイントクラウドデコーダは、
図1に示したポイントクラウドビデオデコーダ10006の一例であり、
図1で説明したイントクラウドビデオデコーダ10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドデコーダは一つ又はそれ以上のビットストリーム(bitstream)に含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドデコーダはジオメトリデコーダ(geometry decoder)及び特質デコーダ(Attribute decoder)を含む。ジオメトリデコーダはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダは復号されたジオメトリ及び特質ビットストリームに基づいて特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
【0120】
図11は実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す図である。
【0121】
図11に示したポイントクラウドデコーダは
図10で説明したポイントクラウドデコーダの一例であり、
図1ないし
図9で説明したポイントクラウドエンコーダの符号化動作の逆過程である復号動作を行う。
【0122】
図1及び
図10で説明したように、ポイントクラウドデコーダはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
【0123】
実施例によるポイントクラウドデコーダは、演算デコーダ(arithmetic decode)11000、八分木合成部(synthesize octree)11001、表面近似合成部(synthesize surface approximation)11002、ジオメトリ再構成部(reconstruct geometry)11003、座標系逆変換部(inverse transform coordinates)11004、演算デコーダ(arithmetic decode)11005、逆量子化部(inverse quantize)11006、RAHT変換部11007、LOD生成部(generate LOD)11008、逆リフト部(Inverse lifting)11009及び/又は色逆変換部(inverse transform colors)11010を含む。
【0124】
演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004はジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクトコーディング(direct coding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクトコーディング及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、
図1ないし
図9で説明したジオメトリ符号化の逆過程で行われる。
【0125】
実施例による演算デコーダ11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ11000の動作は演算エンコーダ40004の逆過程に対応する。
【0126】
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は
図1ないし
図9に説明した通りである。
【0127】
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
【0128】
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。
図1ないし
図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は
図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
【0129】
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
【0130】
演算デコーダ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つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
【0131】
実施例による演算デコーダ11005は、特質ビットストリームを演算コーディングに復号する。
【0132】
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドエンコーダの特質符号化に基づいて選択的に適用される。
【0133】
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドエンコーダの符号化によってそれに対応する復号動作を選択的に行う。
【0134】
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドエンコーダの色変換部40006の動作に基づいて選択的に行われる。
【0135】
図11のポイントクラウドデコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図11のポイントクラウドデコーダのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、
図11のポイントクラウドデコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
【0136】
【0137】
図12に示した送信装置は、
図1の送信装置10000(又は
図4のポイントクラウドエンコーダ)の一例である。
図12に示した送信装置は、
図1ないし
図9で説明したポイントクラウドエンコーダの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダー12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011及び/又は送信処理部12012を含む。
【0138】
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は
図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
【0139】
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダー12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、
図1ないし
図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
【0140】
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、
図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は
図1ないし
図9に説明した通りである。
【0141】
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は
図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0142】
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は
図4及び
図6で説明したポイントクラウドエンコーダ(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0143】
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は
図4に示したポイントクラウドエンコーダ(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0144】
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、
図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は
図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダー12006に含まれる。
【0145】
実施例による演算コーダー12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダー12006は演算エンコーダ40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0146】
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
【0147】
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダー12011は特質符号化を行う。実施例による特質符号化は、
図1ないし
図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
【0148】
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、
図1ないし
図9に説明した通りである。また
図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
【0149】
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は
図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は
図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は
図1ないし
図9に説明した通りであるので、具体的な説明は省略する。
【0150】
実施例による演算コーダー12011は、コーディングされた特質を演算コーディングに基づいて符号化する。演算コーダー12011は演算エンコーダ400012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0151】
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom00)及び一つ又はそれ以上の特質ビットストリーム(Attr00、Attr10)を含む。
【0152】
スライス(slice)とは、コーディングされたポイントクラウドフレームの全体又は一部を示すシンタックスエレメントのシリーズをいう。
【0153】
実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は
図1及び
図2に説明した通りであるので、省略する。
【0154】
【0155】
図13に示した受信装置は、
図1の受信装置10004(又は
図10及び
図11のポイントクラウドデコーダ)の一例である。
図13に示した受信装置は、
図1ないし
図11で説明したポイントクラウドデコーダの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
【0156】
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダ13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータ分析13006、演算(arithmetic)デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
【0157】
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は
図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
【0158】
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
【0159】
演算デコーダ13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は
図1ないし
図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
【0160】
実施例による演算デコーダ13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ13002は演算デコーダ11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0161】
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
【0162】
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
【0163】
実施例によるメタデータ分析13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータ分析13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は
図12で説明した通りであるので省略する。
【0164】
演算デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は
図1なしい
図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
【0165】
実施例による演算デコーダ13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダ13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダ13007は演算デコーダ11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0166】
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
【0167】
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
【0168】
図14は実施例によるポイントクラウドデータの送受信方法/装置に連動可能な構造の一例を示す図である。
【0169】
図14の構造はサーバー1460、ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のうちのいずれかがクラウドネットワーク1410に連結された構成を示している。ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440又は家電1450などは装置とも呼ばれる。またXR装置1430は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
【0170】
クラウドネットワーク1400はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク1400は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
【0171】
サーバー1460はロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のいずれかにクラウドネットワーク1400により連結され、連結された装置1410~1470のプロセシングの少なくとも一部を助けることができる。
【0172】
HMD(Head-Mount Display)1470は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパワー供給ユニットなどを含む。
【0173】
以下、上記技術が適用される装置1410~1450の様々な実施例について説明する。ここで、
図14に示した装置1410~1450は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
【0174】
<PCC+XR>
【0175】
XR/PCC装置1430はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
【0176】
XR/PCC装置1430は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置1430は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
【0177】
<PCC+XR+モバイルフォン>
【0178】
XR/PCC装置1430はPCC技術が適用されてモバイルフォン1440などで具現される。
【0179】
モバイルフォン1440はPCC技術に基づいてポイントクラウドコンテンツを復号し、ディスプレイする。
【0180】
<PCC+自立走行+XR>
【0181】
自律走行車両1420はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
【0182】
XR/PCC技術が適用された自律走行車両1420は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両1420はXR装置1430とは区分されて互いに連動される。
【0183】
XR/PCC映像を提供する手段を備えた自律走行車両1420は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両1420はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
【0184】
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
【0185】
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
【0186】
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
【0187】
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
【0188】
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
【0189】
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
【0190】
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
【0191】
この明細書において、実施例によるポイントクラウドデータ送受信方法/装置を簡単に実施例による方法/装置とも称する。
【0192】
この明細書において、ジオメトリはジオメトリデータ、ジオメトリ情報、ポイントの位置値などとも称される。
【0193】
この明細書において、特質は特質データ、特質情報、ポイントの属性値(カラー、反射度など)なととも称される。
【0194】
図15は実施例によるジオメトリの八分木及び八分木に基づいて生成された特質のLOD(Level of Detail)を示す。
【0195】
図15は
図1のポイントクラウドビデオエンコーダ10002、
図2の符号化20001、
図4のエンコーダ、
図12の送信装置のポイントの符号化過程により生成されるジオメトリの八分木15000及び特質のLOD15010を示す。
【0196】
また
図1のポイントクラウドビデオデコーダ10006、
図2の復号20003、
図4のデコーダ、
図11のデコーダ、
図13の受信装置のポイントクラウドデータを含むビットストリームの復号過程により生成されるジオメトリの八分木15000及び特質のLOD15010を示す。
【0197】
実施例は3次元ポイントクラウドデータ圧縮のためのジオメトリ基盤のポイントクラウド圧縮(Geometry-based point Cloud Compression、G-PCC)の空間拡張(spatial scalability)機能を提供するために、八分木に基づいてポイントの位置を再構成してジオメトリ圧縮効率を向上させる方案に関する。
【0198】
ジオメトリの八分木15000は実施例によるエンコーダの八分木分析部40002により生成されるポイントの位置値に対する八分木(Octree)である(
図5及び
図6を参照)。
【0199】
特質のLOD15010は実施例によるエンコーダのLOD生成部40009により生成される八分木基盤の特質に対するLODの集合である(
図8及び
図9を参照)。
【0200】
ジオメトリの八分木15000及び特質のLOD15010は特定のレベル15030を含む。レベルによって、LODのインデックスが低いと、最大解像度のポイントクラウドオリジナルであり、LODのインデックスが高いと、最大解像度のポイントクラウドビットストリームを意味する(
図8を参照)。
【0201】
特定のレベル15030に基づいて、実施例による方法/装置は拡張可能な符号化及び/又は復号を行うことができる。
【0202】
即ち、実施例は八分木の特定の深さ(depth、15030)で拡張可能な(scalable)ジオメトリ符号化/復号により生成されたポイントの八分木15000を生成する。また拡張可能な(scalable)属性符号化/復号(リフト方式)により特質LOD15010を生成する。
【0203】
このとき、ポイントの八分木15000の八分木上の位置15040のリーフノード(leaf node)及び特質LOD15010の八分木上の位置15050の位置が最大限一致15060するほどポイントクラウドデータの圧縮効率が増加することを意味する。
【0204】
よって、実施例はジオメトリ八分木15040と属性八分木のポイントの位置15050が類似するようにポイントクラウドデータを処理するエンコーダ/デコーダの動作及びそのためのシグナリング情報のシンタックスを提案する。
【0205】
実施例による方法/装置は、空間拡張(Spatial scalability)のためにジオメトリ位置再構成(geometry position reconstruction)を行うことができ、このような方法を支援するためのシグナリング情報を生成して送受信することができる。
【0206】
図16は実施例によるLODに基づいてビットストリームを処理する方案を示す。
【0207】
エンコーダ16020は
図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、
図2のエンコーダ20001、
図4のエンコーダ、
図12の送信装置、
図14のXRデバイス1430に対応する。
【0208】
デコーダ16030は
図1の受信装置10004、ポイントクラウドビデオデコーダ10006、
図2のデコーダ20003、
図10及び
図11のデコーダ、
図13の受信装置、
図14のXRデバイス1430、
図17のデコーダ17000,17010に対応する。
【0209】
実施例は3次元ポイントクラウドデータ圧縮のためのGeometry-based point Cloud Compression(G-PCC)の空間拡張(Spatial scalability)支援のためのジオメトリ位置(position)の符号化/復号を行う。
【0210】
実施例による方法/装置は、ポイントクラウドデータが高密度(dense)でかつ帯域幅は低いとき、低解像度のポイントクラウドを送って処理する機能を提供する。実施例による方法/装置は、受信装置の機能に合わせて受信装置がポイントクラウドデータをレンダリングするようにデータ処理を行う。
【0211】
また実施例による方法/装置は、ポイントクラウドデータが高密度でかつデコーダ性能が低いとき、デコーダ側の計算量を減らすように一部のみを復号して低解像度のポイントクラウドを提供する機能を提供する。
【0212】
動作16000のように、エンコーダ16020は最大解像度のポイントクラウドオリジナルデータを受信する。エンコーダ16020はポイントクラウドデータのジオメトリを八分木で構成する。エンコーダ16020はLODに基づいて特定のレベルまでのジオメトリ16040までのみ符号化する。LODのレベルによって、エンコーダ16020は低解像度のポイントクラウドi番目のLOD或いは高解像度のポイントクラウドビットストリームを生成する。デコーダ16030はエンコーダに送信された低解像度のポイントクラウドi番目のLOD又は高解像度のポイントクラウドビットストリームを受信する。デコーダ16030は特定のレベル16050に該当するポイントクラウドデータを復号して復元してレンダリングする。デコーダ16030は低解像度の復号されたポイントクラウド或いは高解像度の復号されたポイントクラウドを生成する。
【0213】
動作16010のように、エンコーダ16020は最大解像度のポイントクラウドオリジナルデータを受信する。エンコーダ16020は特定のレベルではない全てのレベルのジオメトリ八分木を符号化する。エンコーダ16020は最大解像度のポイントクラウドビットストリームを生成する。デコーダ16030は最大解像度のポイントクラウドビットストリームを受信する。デコーダ16030は特定のレベル16060までポイントクラウドデータを復号して復元する。デコーダ16030は低解像度のポイントクラウドデータを生成する。
【0214】
図16のようなデータ処理は、ポイントクラウドデータの空間拡大性(spatial scalability)に対する効果を提供する。
【0215】
動作16000のように、実施例による送信装置又はエンコーダがポイントクラウドデータの一部のみを符号化して送信し、動作160010のように、実施例による送信装置又はエンコーダがポイントクラウドデータを全て符号化して送信することができる。実施例による受信装置又はデコーダは受信したポイントクラウドデータを八分木の特定のレベルに基づいて拡張できるようにポイントクラウドデータを部分的に復号して復元する。
【0216】
実施例による空間拡張機能は、送信環境、受信装置の特性、性能などによってポイントクラウドデータを効率的に処理する効果がある。
【0217】
図17は実施例によるジオメトリ及び特質の空間拡張構造を示す。
【0218】
デコーダ17000,17010は
図1の受信装置10004のポイントクラウドビデオデコーダ10006、
図2の復号を行うデコーダ20003、
図11のジオメトリビットストリーム及び特質ビットストリームを復号するデコーダ、
図13の受信装置、
図14のXRデバイス1430、
図16のデコーダ16030に対応するか又は結合される。
【0219】
実施例によるデコーダ17000は特質を有する低解像度のポイントクラウドデータを復元する。デコーダ17000はLOD(level of detail)により表現されるジオメトリビットストリーム及び特質ビットストリームから八分木の特定のレベル17020に該当する部分ジオメトリデータ及び部分特質データを受信して特質を有する低解像度のポイントクラウドデータを復元する。
【0220】
実施例によるデコーダ17010は最大解像度のポイントクラウドデータを復元する。デコーダ17010はLOD(level of detail)により表現されるジオメトリビットストリーム及び特質ビットストリームから八分木の終わりのレベルまでを全て含むジオメトリデータ及び特質データを受信して最大解像度のポイントクラウドデータを復元する。
【0221】
実施例によるジオメトリ符号化及びジオメトリ復号は八分木の深さレベルを調節して選択された深さレベル(例えば、15030,16040,16050,16060)までのみ占有ビット(occupancy bits)を符号化又は復号する過程により空間拡張機能を提供する。
【0222】
実施例による空間拡張機能を提供するために、エンコーダ及び/又はデコーダはジオメトリ位置値を再配置する必要がある。
【0223】
実施例による送受信装置のエンコーダ及び/又はデコーダは空間拡張機能のために八分木基盤にポイントの位置(例えば、ジオメトリ)を再構成してジオメトリ圧縮効率を高めることができる。
【0224】
さらに実施例による空間拡張機能は他の実施例と結合可能である。即ち、この明細書で使用する用語は、該当分野において広く使用される範囲内で、用語が意図する意味に基づいて理解されるべきである。
【0225】
実施例による方法/装置は、符号化及び/又は復号時、空間拡張機能を提供するように、ジオメトリに同じ八分木構造を提供する(
図17を参照)。実施例による方法/装置は、全体ジオメトリビットストリームから八分木の選択された深さレベル17020まで該当する部分ジオメトリを構成する方式を提案する。LODごとにジオメトリを再構成する方法は実施例によるPCCデコーダ/エンコーダで行われる。
【0226】
図18は実施例によるジオメトリ符号化の動作を示す。
【0227】
図18は
図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、
図2のエンコーダ20001、
図4のエンコーダ、
図12の送信装置、
図14のXRデバイス1430などがジオメトリを符号化するとき、
図15及び
図16などのように空間拡張性を支援するための動作を示す。
【0228】
S18000、損失ジオメトリ(lossy geometry)コーディングのための量子化
【0229】
実施例によるエンコーダは損失ジオメトリコーディングを行う。損失ジオメトリコーディングのために、実施例によるエンコーダはジオメトリを量子化する。実施例による量子化の具体的な動作について
図19を参照しながら説明する。
【0230】
S18010、部分ジオメトリ(partial geometry)符号化
【0231】
実施例によるエンコーダはジオメトリを部分的に符号化する。実施例による部分ジオメトリ符号化については
図20を参照しながら説明する。
【0232】
図19は実施例による切り捨て量子化及び丸め量子化を示す。
【0233】
【0234】
図19は実施例によるエンコーダがジオメトリを量子化する動作を示す。例えば、
図4の量子化器又はボクセル化器40001、
図12のボクセル化処理機12002などが
図19のような量子化を行うことができる。
【0235】
実施例によるエンコーダは損失ジオメトリコーディングのために、ジオメトリ位置値にスケール値を掛けることにより量子化(quantization)を行う。ジオメトリが量子化されると、ジオメトリデータが示す位置値が変更される。
【0236】
実施例による量子化は、切り上げ(ceil)、切り捨て(floor)、丸め(round)などを含む。
【0237】
実施例によるエンコーダは、空間拡張のための様々な量子化タイプに基づいてジオメトリを量子化する。エンコーダはジオメトリに適用された量子化タイプ情報をポイントクラウドビットストリームに含ませて送信する。実施例によるデコーダはビットストリームに含まれた量子化タイプ情報に基づいてジオメトリの位置を復元する。
【0238】
実施例による切り捨て量子化19000は、ジオメトリのポイント位置値を切り捨てることにより変更することができる。ポイント19020はボクセル19030内の座標系上の位置値(1.2,1.1,1.4)を有する。エンコーダがポイント19020を切り捨て量子化すると、各位置値の小数点値が除去される。例えば、位置値(1.2,1.1,1.4)は位置値(1,1,1)に量子化される。ポイント19050はボクセル19060内の座標系上の位置値(0.6,0.5,0.6)を有する。エンコーダがポイント19050を切り捨て量子化すると、位置値(0.6,0.5,0.6)は(0,0,0)に量子化される。
【0239】
実施例による丸め量子化19010は、ジオメトリのポイント位置値を近接する整数値に変換することができる。ポイント19080はボクセル19090内の位置値(1.2,1.1,1.4)を有する。1.2,1.1,1.4は1と2の間に位置する。丸め量子化は各座標値を1と2のうち近い値に設定する。即ち、(1.2,1.1,1.4)は(1,1,1)に量子化される。ポイント19100はボクセル19110内の位置値(0.6,0.5,0.6)を有する。位置値(0.6,0.5,0.6)は位置値(1,1,1)に量子化される。実施例によって、0.5は1に丸め量子化される。実施例によって0.5のように中間に位置するポイントは実施例による設定によって0又は1に量子化される。
【0240】
実施例による方法/装置は八分木のノードの代表位置を量子化技法(例えば、切り上げ、切り捨て、丸めなど)に基づいて設定する。
【0241】
図19のように、実施例によるエンコーダはジオメトリが有する位置値を量子化することにより損失コーディングを行う。
【0242】
実施例によるエンコーダは符号化オーダーによる方向19140,19150によってポイントを量子化する。
【0243】
実施例による量子化は損失ジオメトリコーディングのために使用され、損失コーディングではない無損失コーディングが適用される場合、量子化動作は選択的(optional)である。
【0244】
図20は実施例による八分木の中間ノード上のジオメトリ(位置)を再構成する動作を示す。
【0245】
【0246】
実施例によるエンコーダは、空間拡張のために全体八分木(八分木のリーフノードまで)を符号化せず、八分木の特定の深さレベルまでのみ符号化して部分ジオメトリビットストリームを生成して送信する。
【0247】
実施例によるエンコーダは、
図15及び
図16のように、八分木の特定の深さレベルまで占有ビットが生成され、属性を符号化するために符号化されたジオメトリ情報に基づいてジオメトリ位置情報を再構成(reconstruct)する。
【0248】
実施例によるエンコーダは、
図18乃至
図20のようにジオメトリ位置を再構成するとき、リーフノード(leaf node)ではない八分木の中間ノード(
図20のLOD N)の代表位置を設定して該当位置をポイントとして再構成する。
【0249】
代表位置はノード領域(又はバウンディングボックス、ボクセルなど)20020,20070,20090,20100)の左、下、前(left、bottom、front)のポイント(20000)、中央(middle/center)の位置(20010)、又は分布によって中心点(Centroid)にすることができる(20010)。また様々な他のコーナー位置に設定することもできる。
【0250】
実施例による中央位置はLOD Nにおいて各ノード領域の中央位置(ノード内のポイント位置とは関係なく、バウンディングボックスの中央値)を意味する。
【0251】
実施例による中心点はLOD Nにおいて各ノード領域に含まれたポイントの実際中心値であって、ポイントを含む下位ノードの左/下/前側であるか、或いは下位ノードの中央であるかを確認した後、その位置に対するタイプとその下位ノードのインデックス(0~7)をシグナリングする情報でデコーダに知らせる。
【0252】
実施例による方法/装置は、ジオメトリ位置を復元するとき、ジオメトリ値自体を代表位置として復元する。そうすると、属性コーディングからの結果とよくマッチングする効果がある。その理由は、属性コーディングにおいてウェイト(weight)(距離)を代表中央位置に移して計算するためである。また部分復号(partial decoding)において中間レベルでの位置復元を底/左/前(bottom/left/front)とするとき、その値は実際値ではないこともある。即ち、仮想の値である。該当領域内のどこに実際ポイントがあるかはリーフレベルまで復号しないと知らないためである。従って、代表位置を中央とする方がもっと符号化/復号効率が増加する。
【0253】
実施例による部分復号(partial decoding)では、デコーダがフルレベル(full level)を復号したくないか、復号できないか、復号する必要がないなどの特定の理由により、複数のレベルのうち、特定のレベルであるLレベルまでのデータを復元する。従って、0からNレベルまでの全ノードの代表位置が復元されることではなく、デコーダが望むLレベルでの八分木ノードごとに占有ビットに合わせて代表位置に復元される。該当八分木ノードの占有ビットが0であると、復元されない。
【0254】
実施例によるエンコーダはポイントクラウドデータ、例えば、ジオメトリを八分木構造で表すことができる。八分木は八分木レベルによるノード領域20020及びノード領域20020に含まれたポイントで構成される。
【0255】
八分木レベルはLOD20030で表現される。LOD 0ないしLOD Nに、インデックスNに行くほどノード領域のサイズが小さくなり、リーフノードに該当するレベルの場合、ノード領域がボクセルに対応する。
【0256】
動作20000のように、実施例によるエンコーダはLODのようなポイント距離に基づいて空間上に位置するジオメトリのポイントを八分木構造で表すことができる。
【0257】
例えば、LOD N-1レベルの場合、ノード領域20020は1つ又は1つ以上のポイントを含む。実施例によるエンコーダはノード領域20020のポイントの代表位置を左、下、前の位置20040に設定することができる。ノード領域20020のポイントは代表位置20040のポイントとして見なされる。八分木構造上、LOD N-1レベルのノードは下位ノード(又は子ノード)として最大8つのノードを含む。LOD Nレベルに含まれた1つ又は1つ以上のノードも各ノード領域の代表位置を各ノード領域の左、下、前の位置20050に設定することができる。
【0258】
動作20010は動作20000と比較して、実施例によるエンコーダは各ノード領域の代表位置をノード領域の中央位置20060に設定することができる。
【0259】
例えば、LOD N-1のレベルにおいて、ノード領域20070の代表位置は中央になる。八分木構造上のノード領域20070は最大8個の下位ノード(又は子ノード)を含む。LOD Nレベルにおいて、1つ又は1つ以上のノードは各ノードの中央位置がノードが含む1つ又は1つ以上のポイントの代表位置20080になる。
【0260】
実施例による八分木ノードの代表位置タイプはシグナリングされる。実施例によるエンコーダは実施例による八分木ノードの代表位置タイプ(20000,20010などを示す)を示す情報をポイントクラウドビットストリームにメタデータ、シグナリング情報又はパラメータなどにより含めて送信する。実施例による受信装置はビットストリームに含まれた代表位置タイプ関連情報に基づいてポイントクラウドビットストリームに含まれたジオメトリの位置を復元する。
【0261】
一方、実施例によるエンコーダが特質をLODに基づいて符号化する場合、特質の代表位置を中央と見なして隣接ポイントをサーチすることができる。
【0262】
例えば、特質コーディングにおいてウェイト計算方法を使用する場合、中央移動に基づいて基準距離を計算することができる。
【0263】
特質符号化と比較するとき、
図20は空間拡大可能なジオメトリ符号化方法を示す。
【0264】
実施例によるエンコーダが空間上のポイントの分布によってポイントの中心点を設定する場合、現在八分木の深さレベル(0~N)において下位子レベル位置の中心点がどこに属するかを計算することができる。下位レベルの左、下、前の位置にポイント、又は中央位置、又は各コーナーに設定することができる。
【0265】
実施例によるエンコーダ又はメタデータ処理機は、下位レベルの位置インデックス値と下位レベルでの代表位置タイプをポイントクラウドビットストリームにシグナリング情報又はパラメータにより追加することができる。シグナリング情報に基づいて実施例によるデコーダは部分ジオメトリ位置復元を行うことができる。
【0266】
部分ジオメトリ符号化の時に適用される代表位置タイプは、損失ジオメトリの量子化段階で適用した量子化タイプに合わせて代表値を設定することもできる。
【0267】
例えば、量子化タイプが丸めである場合、代表位置タイプを中央に設定し、量子化タイプが切り上げ方式である場合は、代表位置タイプを右-上-後(right-top-back)の位置に構成する。実施例による量子化タイプ及び/又は代表位置タイプはビットストリームのパラメータ、シグナリング情報により含まれて送信される。デコーダはパラメータ又はシグナリング情報に基づいて、部分ジオメトリポイントの位置を再構成する。
【0268】
上述した実施例による方式は、エンコーダ及び/又はデコーダにも同じ方式で適用できる。特質符号化及び/又は特質復号時、同一のポイントに基づいて特質符号化/復号が行われる。
【0269】
部分ジオメトリに符号化された場合、全体八分木の深さだけではなく、符号化に使用された八分木の深さレベルもシグナリング情報としてビットストリームに含めて送信される。
【0270】
実施例によるシグナリング情報については
図24にポイントクラウドビットストリームの構造と共に具体的に説明する。
【0271】
図20のジオメトリ位置の再構成動作は以下に基づいて動作する。
【0272】
for(child=0;child<GeometryNodeChildrenCnt;child++) {
childIdx=GeometryNodeChildren[child];
x=2×xN+(childIdx&4)==1;
y=2×yN+(childIdx&2)==1;
z=2×zN+(childIdx&1)==1;
for(i=0;i<GeometryNodeDupPoints[child]+1;i++, PointCount++) {
PointPos[PointCount][0]=geomScale(x, 0);
PointPos[PointCount][1]=geomScale(y, 1);
PointPos[PointCount][2]=geomScale(z, 2);
}
if(direct_mode_flag) {
if(!duplicatedPointFlag) {
for(i=0;i<=num_direct_points_minus1;i++, PointCount++ ) {
PointPos[PointCount][0]=geomScale((x<<EffectiveChildNodeSizeLog2 )+PointOffsetX[i], 0);
PointPos[PointCount][1]=geomScale((y<<EffectiveChildNodeSizeLog2 )+PointOffsetY[i], 1);
PointPos[PointCount][2]=geomScale((z<<EffectiveChildNodeSizeLog2)+PointOffsetZ[i], 2);
}
}
else {
for(i=0;i<=num_direct_points_minus1;i++, PointCount++ ) {
PointPos[PointCount][0]=geomScale((x<<EffectiveChildNodeSizeLog2 )+PointOffsetX[0], 0);
PointPos[PointCount][1]=geomScale((y<<EffectiveChildNodeSizeLog2 )+PointOffsetY[0], 1);
PointPos[PointCount][2]=geomScale((z<<EffectiveChildNodeSizeLog2 )+PointOffsetZ[0], 2);
}
}
}
}
if(minGeomNodeSizeLog2>1) {
mask=(-1)<<minGeomNodeSizeLog2;
for(i=0;i<PointCount;i++) {
PointPos[i][0]=(PointPos[i][0]&mask)+(1<<(minGeomNodeSizeLog2-1))
PointPos[i][1]=(PointPos[i][1]&mask)+(1<<(minGeomNodeSizeLog2-1))
PointPos[i][2]=(PointPos[i][2]&mask)+(1<<(minGeomNodeSizeLog2-1))
}
}
【0273】
実施例による方法/装置はビット演算により特定の八分木レベル(例えば、LOD 0ないしN)の各ノードの位置を中央値(例えば、20060,20080)として設定する。即ち、&と<<演算が0/1ビットを残すか又は削除して、位置を中央に移動させることができる。
【0274】
八分木のレベルはminGeomNodeSizeLog2に設定される。
【0275】
Mask=(-1)<<minGeomNodeSizeLog2動作は、特定の八分木レベルを適用するために、右側の末位を0sと&演算に基づいて削除するためのビットを生成する。
【0276】
PointPos[i][0]&mask動作は、位置値から右側の位を削除する。そうすると、該当レベルの八分木の左、底、前(left,bottom,front)の位置値が生成される。
【0277】
+(1<<(minGeomNodeSizeLog2-1))動作は、1つのサブ八分木ノード(sub-Octree node)のサイズ値を求める。該当値を加えると、該当八分木レベルの中央位置が導き出される。
【0278】
図20のジオメトリ位置再構成動作はジオメトリエンコーダにより実行され、又はポイントクラウドエンコーダにより実行される。さらにジオメトリ位置再構成は特質符号化及び/又は特質復号に連関して実行される。即ち、ジオメトリ位置を再構成すると、ポイントクラウドデータをよく復元できるという効果がある。
【0279】
ポイントクラウドデータの復元時、全レベルを全て復元することではない場合、中間レベルまで復元する場合(部分復号partial decoding、16030)、復元された位置値の左/底/前(left/bottom/front)値をデフォルト(default)として設定することができる(即ち、仮想の値)。中間ノードにおいてどのサブ八分木ノード(sub-Octree node)が占有されているかを知らない。左/底/前(left/bottom/front)も仮想の値であるが、特質を符号化及び/又は復号するとき、各ポイントのNN(Nearest Neighbour、最も近い隣接)とのウェイト値を計算する必要がある。従って、ノード値を中央位置値にシフト(shifting)した後、ウェイト(weight(distance))値を計算する。
【0280】
従って、ジオメトリも全体レベルの復元ではない中間レベルでのジオメトリの復元時17020、特質のウェイト(weight)計算方法に合わせてジオメトリの位置を中央値に復元すると、復元されたポイントと復元された色相とのマッチングが成立してPSNRが非常に高くなる効果がある。
【0281】
ジオメトリは左/底/前(left/bottom/front)ポイントに復元し、特質は中央にあると仮定してNNのウェイトを計算したときの不一致が出るエラーを減少させる効果がある。部分復号時、ジオメトリ/特質を全て中央20060,20080に復元して一致させることによりPSNRが向上する。
【0282】
代表位置を再構成することは、特定のレベルまでのみ復号するためのことである。即ち、部分復号を可能にする。実施例によって符号化はフルレベルで進行される16010。特質符号化において、特質コーディングNNウェイトを中央に移動させることとは別に、ジオメトリ位置の再構成は上記のような効果を提供することができる。
【0283】
属性コーディング時、NNとの距離計算によりウェイト(weight)を求めるとき、自分のポイントNNのポイントを全て中央に位置変更して、距離(distance)を計算することができる。即ち、拡張コーディングが可能である。これは部分復号又はフルレベルの復号時、全て同じウェイトが適用される。
【0284】
図21は実施例による部分ジオメトリ復号動作を示す。
【0285】
デコーダ17000,17010は
図1の受信装置10004のポイントクラウドビデオデコーダ10006、
図2の復号を行うデコーダ20003、
図11のジオメトリビットストリーム及び特質ビットストリームを復号するデコーダ、
図13の受信装置、
図14のXRデバイス1430、
図16のデコーダ16030、
図17のデコーダ17000,17010により行われる部分ジオメトリ復号動作である。
【0286】
動作21000は実施例による部分ジオメトリ復号動作を示す。
【0287】
空間拡張機能を提供するために全体八分木(ツリーのリーフノードまで)を符号化せず、特定の深さレベルまでのみ符号化して部分ジオメトリビットストリームを生成してデコーダに送信してもよい。例えば、サムネイルを支援するために部分ジオメトリ符号化が用いられる。
【0288】
また全体八分木ビットストリームを符号化したが、デコーダでデコーダの性能又はリソースの不足、又はシナリオ上、サムネイル(thumbnail)を優先して迅速に必要とする場合があり得る。このとき、デコーダが受信した全体八分木基盤のビットストリームを全部復号せず、八分木の特定の深さレベルまでのみ復号することもできる。
【0289】
ジオメトリ復号は以下の3つの場合を含む。実施例による受信装置及び/又はデコーダは以下の3つの場合を実施例によってそれぞれ実行することができる。
【0290】
第1の場合(S21000):全体ジオメトリビットストリームを受信し(full geometry encoding)、八分木全体によりジオメトリ位置情報を再構成(full geometry decoding)。
【0291】
実施例による受信装置又はデコーダは、送信装置又はエンコーダから最大解像度の全体ジオメトリを含むビットストリームを受信する。受信装置は八分木に基づく全体ジオメトリからジオメトリ全体の位置情報を復元する。
【0292】
第2の場合(S21010):全体ジオメトリビットストリームを受信し(full geometry encoding)、部分八分木によりジオメトリ位置情報を再構成(partial geometry decoding)。
【0293】
受信装置は送信装置から最大解像度の全体ジオメトリを含むビットストリームを受信する。受信装置は八分木に基づくジオメトリから部分的に(partial)特定のレベルまでジオメトリ部分の位置情報を復元する(spatial scalability)。
【0294】
第3の場合(S21020):部分ジオメトリビットストリームを受信し(partial geometry encoding)、受信された八分木全体を再構成(partial geometry decoding)。
【0295】
受信装置は送信装置から部分ジオメトリビットストリームを受信する。受信装置は部分ジオメトリに該当する八分木全体を復元する。
【0296】
第2の場合(S21010)及び/又は第3の場合(S21020)が部分ジオメトリ復号に該当する。第2の場合(S21010)が
図16の動作16010に対応し、第3の場合(S21020)が
図16の動作16000に対応する。
【0297】
部分ジオメトリ復号のために、実施例による受信装置は、以下の情報を使用して以下の動作(S21030、S21040)を行う。
【0298】
S21030、量子化タイプ情報に基づいてジオメトリを復号し、ジオメトリの位置を再構成。
【0299】
エンコーダから受信したビットストリームに含まれた量子化タイプ情報に基づいて、デコーダはジオメトリを復号し、ジオメトリの位置値を再構成する。
【0300】
S21040、代表位置情報に基づいてジオメトリを復号し、ジオメトリの位置を再構成。
【0301】
エンコーダから受信したビットストリームに含まれた代表位置情報に基づいて、デコーダはジオメトリを復号し、ジオメトリの位置値を再構成する。
【0302】
受信装置は実施例による部分ジオメトリの位置を以下のように復号する(S21050、S21060)。
【0303】
S21050、特定のレベルの八分木まで占有ビットを分析し、八分木構成(partial decoding)。
【0304】
デコーダは受信したジオメトリに含まれた占有ビットを分析する。このとき、部分復号のために特定のレベルに八分木まで該当する占有ビットが分析される。分析された占有ビットに基づいて八分木を構成する。
【0305】
即ち、ジオメトリビットストリームから部分復号のための特定のレベルの八分木まで占有ビット(occupancy bits)を分析して八分木を構成する。特定のレベルの占有ビットの有無によってノードが構成される。
【0306】
S21060、ノードの位置を再構成。
【0307】
デコーダは構成されたノードの位置値を再構成する。位置値を構成する過程は量子化タイプと同じ位置にノード内の位置を計算する。例えば、
図19のように、ポイント19120に量子化されたポイント19080の位置が再構成されて計算される。
【0308】
図22は実施例によるポイントクラウドデータエンコーダの構造を示す。
【0309】
図22は
図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、
図2のエンコーダ20001、
図4のエンコーダ、
図12の送信装置、
図14のXRデバイス1430、
図16のエンコーダ16020に対応する実施例によるエンコーダの詳細構造図である。各構成要素はハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
【0310】
図22の各構成要素は実施例によるエンコーダ内に常に含まれるか、又は構成要素ごとに選択的に含まれる。エンコーダの符号化構成要素の動作に関するシグナリング情報はビットストリームに含まれて送信される。
【0311】
実施例による送信装置又は送信装置に含まれたエンコーダはポイントクラウドデータを符号化し、幾何情報ビットストリーム及び/又は属性情報ビットストリームを生成する。
【0312】
データ入力機22000はジオメトリデータ、特質データ及び/又はそれに関連するパラメータを受信する。
【0313】
座標系変換器22010はジオメトリデータの位置(座標)情報に関する座標系を変換する。座標系変換部17010は
図4の座標系変換部40000に対応する。
【0314】
幾何情報変換量子化処理機22020は幾何情報変換量子化器などとも称される。幾何情報変換量子化処理部20020は
図4の量子化器40001に対応する。幾何情報変換量子化処理部22020には1つの全体スケール値(量子化値)が入力され、コンテンツの分布によってスケール調節が可能である。
【0315】
空間分割機22030はポイントクラウドデータを実施例による空間分割単位に分割する。空間分割部22030はポイントクラウドデータのデータ特性によって空間適応的にタイル、ブロック、密度基盤、軸基盤、特質基盤、ジオメトリ基盤などの方法を使用してデータの空間を分割する。空間分割部22030はデータ分割(partitioning)を行う。フレームがタイル及びスライスに分割される。ソースポイントクラウドデータは複数のスライスに分割され、ビットストリーム内で符号化される。スライスは独立して符号化又は復号されるポイントの集合である。スライスは1つのジオメトリデータユニット及びゼロ又は1つ以上の特質データユニットを含む。特質データユニットは同一のスライス内に対応するジオメトリデータに依存的である。スライス内においてジオメトリデータユニットは関連する特質ユニットの前に示される。スライスのデータユニットは隣接している。スライスのグループは共通のタイル識別子により識別される。各タイルのためのバウンディングボックスを記述するタイル情報がビットストリーム内にあり得る。タイルはバウンディングボックス内の他のタイルをオーバーラップする。各スライスはタイルが属することを識別するインデックスを含んでもよい。
【0316】
幾何情報符号化器22040はポイントクラウドデータのジオメトリデータを符号化することができる。ジオメトリ符号化の詳細過程は以下の構成要素により行われる。幾何情報符号化器22040は八分木生成部で量子化されたポイントクラウドを基準として八分木を生成し、色相再調整部で使用可能にする。
【0317】
ジオメトリエンコーダ22040(例えば、八分木生成器22060)は空間拡張を提供するために、八分木の深さレベルを設定し、設定された八分木深さレベルから符号化するポイントを設定する。
【0318】
部分ジオメトリに適用された八分木深さレベルをビットストリームにパラメータとして含めて送信することによりデコーダにシグナリングすることができ、使用用途又はデコーダのコンピューティング性能によって八分木深さレベル設定環境が変更される。
【0319】
ボクセル化処理機22050はジオメトリデータをボクセル化する。ボクセル化処理部22050は
図4のボクセル化器40001に対応する。
【0320】
ボクセル化タイプは実施例による量子化タイプ設定によってジオメトリを量子化することができる(
図18及び
図19を参照)。
【0321】
実施例によるエンコーダがジオメトリに適用した量子化タイプはパラメータ(シグナリング情報)としてビットストリームに含めて実施例による受信装置に送信される。
【0322】
このようにボクセル化処理機22050は損失ジオメトリのコーディング時に使用された量子化タイプをデコーダにシグナリングし、エンコーダ及び/又はデコーダのジオメトリ位置復元機22090、23030で使用することができる。量子化タイプは切り上げ(ceil)、切り捨て(floor)、丸め(round)方式がある。
【0323】
八分木生成器22060は
図4の八分木分析部40002に対応する。八分木生成部22060はジオメトリデータを八分木構造で生成する。
【0324】
ジオメトリ八分木が使用される場合、ジオメトリ符号化が以下のように行われる:1)2つのポイントにより定義されるバウンディングボックスが定義される。バウンディングボックスを再帰的に分割(recursively subdividing)しながら八分木構造が設けられる。それぞれのキューブは8つのサブキューブに分割される。8ビットコードは占有コードとも称される。それぞれのサブ-キューブごとに1ビットのポイントが満たされていると1、ポイントが空いていると0のように表現される。1よりサイズが大きいサブキューブはさらに分割される。サイズ1のサブキューブがボクセルである。複数のポイントが重複可能であり、同一のサブキューブ(ボクセル)にマッピングされる。それぞれのサブキューブのポイントは演算的に符号化される。
【0325】
一方、復号プロセスはビットストリームからバウンディングボックスの次元を読み取ることにより開始される。占有コードによってバウンディングボックスを分割することにより同一の八分木構造が生成される。次元1のサブキューブに到達すると、サブキューブのポイントが演算的に復号される。
【0326】
八分木生成器22060はジオメトリに対する八分木を生成する。ジオメトリ全体に対する八分木を生成するか、又はジオメトリ部分に対する八分木を生成する。
【0327】
実施例による深さレベルのインデックスによって、八分木生成器22060は全てのレベルを含むリーフノードを含む八分木を生成するか16000、又は特定のレベルまでのノードを含む部分八分木を生成する16010。送信装置は八分木の深さレベルをビットストリームにパラメータ(シグナリング情報)として含めて受信装置に送信する。
【0328】
幾何情報予測器22070はジオメトリデータに対する予測を行う。幾何情報予測部22070は八分木構造において親ノード及び子ノードの間のジオメトリデータの予測値を生成する。予測値により残差値を生成して残差値をエントロピーコーディングしてジオメトリビットストリームを構成する。予測値との残差値のみをコーディングして効率的なビットストリーム送信が可能であるという効果がある。幾何情報予測部22070は特質コーディングのためにジオメトリ八分木からジオメトリデータを復元(再構成)する。再構成されたジオメトリデータに基づいて特質コーディングが行われるためである。
【0329】
幾何情報予測器22070が常に動作することではない。動作に対するオプションがある。オプション値によって幾何情報予測が行われる。例えば、Adjacent Child Neibhgour flagにより動作有無がシグナリングされる。
【0330】
幾何情報予測器22070により生成された値から現在八分木ノードが占有されているか否かを把握できる。その値が伝達されてジオメトリ位置再構成部22090に入力される。
【0331】
ジオメトリ位置再構成部22090の入力値が幾何情報予測器22070により予測されて得られた占有されたビットであるか否かはジオメトリ位置再構成部22090では関係ない。即ち、ジオメトリ位置再構成部22090では該当ノードが占有されているか否かのみが重要である。
【0332】
幾何情報エントロピーエンコーダ22080はジオメトリデータをエントロピーコーディングして、ジオメトリビットストリームを生成する。
【0333】
ジオメトリ位置再構成器22090はジオメトリを復元する。即ち、ジオメトリエンコーダ22040により符号化されたジオメトリを再度復元することができる。ジオメトリ位置値が再構成される。復元されたジオメトリ位置値は特質エンコーダ22100に提供される。
【0334】
ジオメトリ位置再構成器22090はそれぞれの八分木ノードの代表位置タイプを受けて代表位置タイプによってジオメトリ位置値を再構成する(
図20を参照)。エンコーダで使用された代表位置タイプは、ビットストリームのパラメータに含まれてデコーダに提供される。代表位置タイプは量子化タイプのようなタイプを使用する方式(
図19を参照)、左-下-前(Left、Bottom、Front)/右-下-前などの全てのコーナー位置選択(
図20の20000を参照)、中央位置選択(
図20の20010を参照)、中心点(Centroid)位置選択方式などを含む。
【0335】
中央位置とは、ノード領域であるバウンディングボックスの中心を意味する。
【0336】
ジオメトリ位置再構成器22090は中心点(centroid)の位置を選択するとき、ポイントの分布を分析して計算された中心値が属する八分木深さレベルの下位レベルのノードのインデックスをデコーダにシグナリング情報(パラメータ)としてビットストリームに含めて送信することができる。例えば、下位レベルのノードインデックス0ないし7の値が送信される。
【0337】
ジオメトリ位置再構成器22090は中心点(centroid)位置の選択する時、中心点が位置する下位レベルのノードインデックスを基準として再構成される位置の代表位置タイプによってジオメトリ位置値を再構成する。代表位置タイプはビットストリームのパラメータ情報として含まれてデコーダに送信される。代表位置タイプは量子化タイプのようなタイプを使用する方式、左-下-前(Left、Bottom、Front)/右-下-前などの全てのコーナー位置選択、中央(Middle)位置選択の方式がある。
【0338】
実施例によって、エンコーダでデータをフル(full)送信し、デコーダで部分的(partial)に復号を行う。また実施例によって、エンコーダがデータを部分的に(partial)符号化して送信してもよい。エンコーダで部分的にデータを符号化して送信したとき、中心点位置選択により復元する動作は子ノードに関する追加情報がないので、さらに下位レベルのノードのインデックスを必要とする。従って、下位レベルのノードのインデックスをデコーダに送信することができる。下位ノードは8つが最大であるので、そのうち、中心位置値に該当する下位ノードのインデックス値をエンコーダがデコーダに送信する。
【0339】
復号時に伝達されたノードインデックスが中心点になる。エンコーダで最大解像度にデータを符号化して伝達する場合は、下位レベルのノードのインデックスをデコーダに伝達する必要がない。デコーダで下位レベルを探して中心点を得ることができるためである。しかし、エンコーダで最大解像度ではない部分符号化する場合は、中心点インデックスをデコーダに伝達して代表位置値として設定することができる。
【0340】
属性情報エンコーダ22100は特質データを符号化する。
【0341】
属性情報エンコーダ22100は代表位置タイプによって再構成されたジオメトリに基づいて特質を符号化する。
【0342】
部分符号化する場合、特定のレベルまで含む八分木に基づいて八分木のノードの代表位置に基づいて特質を符号化する。
【0343】
属性情報エンコーダ22100は以下のエレメントを含む。
【0344】
色相変換処理機22110は特質データの色相をデータ特性に合わせて変換する。
【0345】
色相再調整器(図示せず)は、実施例によって、再構成されたジオメトリ八分木構造上の重畳ポイントが併合されている場合、色相再調整を行うか、それともRAHT特質コーディングするか、又は予測/リフト変換特質コーディングによってLODを構成する。
【0346】
LOD構成器(図示せず)はポイントクラウドデータからLODを構成する。LOD構成器は復元された幾何情報(ジオメトリデータ)に基づいて色相再調整された特質データからLODを生成する。特質コーディングのうち、RAHTではない予測(Prediction)/リフト変換(Lift Transform)が適用される場合、LODを生成することができる。
【0347】
隣接ポイント集合構成器(図示せず)はLODに基づいてLODに属するポイントの隣接ポイント集合を該当LOD及び上位LOD内で構成する。
【0348】
LODL集合を生成した後、LODL集合に基づいてLODが等しいか又は小さい(ノード間の距離が遠い)グループでX(>0)個の一番近い隣接ポイント(nearest neighbor)を探して予測器(predictor)に隣接ポイント集合として登録する。
【0349】
全てのポイントは1つの予測器を有する。予測器に登録され隣接ポイントから属性を予測する。
【0350】
予測器により属性を予測することができる。登録された隣接ポイントの属性に加重値を掛けた値の平均を予測された結果として使用し、特定のポイントを予測された結果として使用することができる。どの方法を使用するかは圧縮された結果値を予め計算した後、一番小さいストリームを生成する方法を選択する。
【0351】
ポイントの属性値とポイントの予測器が予測した属性値の残差は予測器で選択した方法と共に符号化して受信機にシグナルされる。
【0352】
復号機では段階送信された予測方法を復号化してその方法によって属性値を予測することができる。送信された残差値を復号化して予測された値を加えて属性値を復元することができる。
【0353】
属性情報予測器(図示せず)は、隣接ポイント集合からポイントの属性値を予測する。例えば、Pxを符号化するとき、Pxの隣接ポイント集合が構成されると、集合内の隣接ポイントの属性値に基づいてPxの属性値を予測し、予測された属性値とPx属性値の残差を求め、残差値を符号化してデコーダに送信する。一方、デコーダではLOD生成と送信された追加情報によりPxの隣接ポイント集合を構成し、隣接集合内の隣接ポイントの属性値に基づいてPxの属性値を予測し、送信された残差値を加えてPxの属性値を復元する。
【0354】
残差属性情報量子化処理機(図示せず)は、特質データに対する予測値を生成し、予測値及び属性値間の残差値を生成して、残差値を量子化する。
【0355】
属性情報エントロピーエンコーダ22120は、特質データをエントロピーコーディングして特質ビットストリームを生成する。例えば、残差値がコーディングされて特質ビットストリームが生成される。
【0356】
実施例による送信装置は、ジオメトリ符号化及び/又は特質符号化に関する動作を示すシグナリング情報(メタデータ)又はパラメータを生成する。実施例による送信装置は、符号化されたジオメトリデータ、符号化された特質データ、関連するメタデータなどを含むビットストリームを生成して送信する(
図24ないし
図31を参照)。
【0357】
実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階;及びポイントクラウドデータを含むビットストリームを送信する段階;を含む。
【0358】
実施例によるポイントクラウドデータを符号化する段階は、ポイントクラウドデータのジオメトリ データを符号化する段階、及びポイントクラウドデータの特質データを符号化する段階を含む。
【0359】
実施例による特質データを符号化する段階は、ポイントクラウドデータに基づいてLODを生成する段階、LODから現在ポイントに対する一番近い隣接ポイントを検索する段階、一番近い隣接ポイントに基づいて現在ポイントの特質値に対する予測値を生成する段階、及び現在ポイントの特質値及び予測値間の残差値を符号化する段階を含む。
【0360】
実施例によるジオメトリを符号化する段階は、ジオメトリをボクセル化する段階又はジオメトリを八分木に基づいて表現する段階を含む。
【0361】
実施例による符号化する段階はさらにジオメトリの位置を再構成する段階を含み、ジオメトリの位置を再構成する段階ではジオメトリに対する八分木に基づいて八分木の特定のレベルまでジオメトリの位置を再構成する。
【0362】
実施例によるジオメトリの位置を再構成する段階では、特定のレベルの各々の八分木ノードの中央位置に基づいてジオメトリの位置を再構成する。
【0363】
図23は実施例によるポイントクラウドデータデコーダの構造を示す。
【0364】
図23は
図1の受信装置10004のポイントクラウドビデオデコーダ10006、
図2の復号20003、
図10及び
図11のデコーダ、
図13のジオメトリビットストリーム及び特質ビットストリームを復号する受信装置、
図14のポイントクラウドデータを処理するXRデバイス1430などに対応するか又は結合される。各構成要素はハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
【0365】
図23の各構成要素は実施例によるデコーダ内に常に含まれるか、又は構成要素ごとに選択敵に含まれる。エンコーダの符号化構成要素の動作に関するシグナリング情報に基づいてデコーダの各構成要素ごとの動作が行われる。
【0366】
実施例による受信装置又は受信装置に含まれたデコーダはビットストリームを受信する。ビットストリームは符号化されたジオメトリデータ、符号化された特質データ、関連するメタデータなどを含む。実施例による受信装置はビットストリーム及び/又はビットストリームに含まれたジオメトリ符号化に関するメタデータ(パラメータ)、特質符号化に関するメタデータ(パラメータ)に基づいてポイントクラウドデータを復号して復元する。
【0367】
幾何情報デコーダ23000は幾何情報ビットストリームを受信して幾何情報を復号する。幾何情報復号化部23000は送信側の幾何情報符号化部22040に対応する受信側のデコーダに該当し、幾何情報復号化部23000は幾何情報符号化部22040の動作の逆過程を行う。
【0368】
幾何情報エントロピーデコーダ23010は幾何情報ビットストリームを受信して幾何情報をエントロピー方式に基づいて復号する。幾何情報エントロピー復号化部23010は幾何情報エントロピー符号化部22080の動作の逆の過程を行う。
【0369】
八分木再構成器23020は幾何情報から八分木を再構成する。八分木再構成部23020は八分木生成部22060の動作の逆の過程を行う。
【0370】
八分木再構成器23020は部分ジオメトリ復号のために復元された八分木深さレベルから属性復号するポイントを構成して復号する。
【0371】
八分木再構成器23020は受信したビットストリームに含まれた部分八分木レベルに関連する情報に基づいて全体又は部分八分木を生成する。
【0372】
ジオメトリ位置再構成器23030は復元された量子化タイプ又は復元された代表位置タイプにより部分的に復号された八分木で占有ビットによって復元されたノードの位置値を再構成する。
【0373】
ジオメトリ位置再構成器23030は受信したビットストリームに含まれた量子化タイプ、代表位置タイプなどに関連する情報に基づいてジオメトリ位置を再構成する。
【0374】
幾何情報予測器23040は幾何情報の予測値を生成する。例えば、八分木構造においてノード間の予測値を生成、予測値に関する残差値を用いて幾何情報を効率的に復号する。幾何情報予測部23040は幾何情報予測部22070の動作の逆の過程を行う。
【0375】
幾何情報変換逆量子化処理機23050はジオメトリデータを逆に量子化する。例えば、幾何情報変換逆量子化処理部23050はスケール値(量子化値)をビットストリーム内に含まれたシグナリング情報(パラメータ)から得て、スケール値に基づいて再構成された幾何情報に逆量子化を適用する。
【0376】
座標系逆変換器23060は幾何情報の座標系情報を逆に変換する。座標系逆変換部23060は座標系変換部22010の動作の逆の過程を行う。
【0377】
属性情報デコーダ23070は属性情報ビットストリームを受信して属性情報を復号する。属性情報復号化部23070は属性情報符号化部22100の動作の逆の過程を行う。
【0378】
属性残差情報エントロピーデコーダ23080は属性情報ビットストリーム内に含まれた属性残差情報(例えば、属性情報に対する残差値)をエントロピー方式に基づいて復号する。属性残差情報エントロピー復号化部23080は属性情報エントロピー符号化部21160の動作の逆の過程を行う。
【0379】
属性情報デコーダ23070はさらに以下のエレメントを含む。
【0380】
LOD構成器(図示せず)はポイントクラウドデータからLODを構成する。LOD構成部22080は復元された幾何情報(ジオメトリデータ)に基づいて色相再調整された特質データからLODを生成する。特質コーディングのうち、RAHTではない予測(Prediction)/リフト変換(Lift Transform)が適用される場合、LODを生成することができる。LOD構成部は
図22の属性情報エンコーダに含まれるLOD構成部に対応する。
【0381】
隣接ポイント集合構成器(図示せず)は属性情報ビットストリームから生成されたLODに基づいてLOD内に含まれたポイントの隣接ポイントを検索し、隣接ポイント集合として登録する。隣接ポイント集合構成部は
図22の属性情報エンコーダに含まれる隣接ポイント集合構成部に対応する。
【0382】
属性情報予測器(図示せず)は属性情報に対する予測値を生成する。例えば、LOD及び隣接ポイント集合からポイントに対する予測値を生成し、予測値に対する残差値を生成する。属性情報予測部は
図22の属性情報エンコーダに含まれる属性情報予測部の動作の逆過程を行う。
【0383】
残差属性情報逆量子化処理機23090は残差属性情報、例えば、属性情報に対する残差値を逆に量子化する。残差属性情報逆量子化処理部23090は
図22の属性情報エンコーダに含まれる残差属性情報量子化処理部の動作の逆の過程を行う。
【0384】
色相逆変換処理機23100は属性情報である色相情報を逆に変換する。色相逆変換処理部23100は色相変換処理部22100の動作の逆の過程を行う。
【0385】
実施例によるポイントクラウドデータ受信装置は、ポイントクラウドデータを含むビットストリームを受信する受信機;及びポイントクラウドデータを復号するデコーダ;を含む。
【0386】
実施例によるポイントクラウドデータを復号するデコーダは、ポイントクラウドデータのジオメトリデータを復号するジオメトリデコーダ、及びポイントクラウドデータの特質データを復号する特質デコーダを含む。
【0387】
実施例による特質データを復号する特質デコーダは、ポイントクラウドデータに基づいてLODを生成し、LODから現在ポイントに対する一番近い隣接ポイントを検索して、一番近い隣接ポイントに基づいて前記現在ポイントの特質値に対する予測値を生成し、予測値及び前記ポイントクラウドデータの残差値に基づいてポイントクラウドデータを復元し、予測値は予測モードに基づいて生成される。
【0388】
実施例によるジオメトリを復号するジオメトリデコーダはジオメトリを八分木に基づいて表現することができる。
【0389】
実施例によるデコーダはジオメトリに対する八分木に基づいて、八分木の特定のレベルまでジオメトリの位置を再構成する。
【0390】
実施例によるデコーダは特定のレベルの各々の八分木ノードの中央位置に基づいてジオメトリの位置を再構成する。
【0391】
図24は実施例によるポイントクラウドデータに関するビットストリームの構造を示す。
【0392】
図24は
図1の送信装置10000のポイントクラウドビデオエンコーダ10002、
図2の符号化20001、
図4のエンコーダ、
図12の送信装置、
図14のXRデバイス、
図22のエンコーダなどにより符号化されて生成されるビットストリームの構造を示す。
【0393】
図24のビットストリームは
図1の受信装置10004のポイントクラウドビデオデコーダ10006、
図2の復号20003、
図10及び
図11のデコーダ、
図13の受信装置、
図14のXRデバイス、
図23のデコーダなどにより受信されて復号される。
【0394】
実施例による方法/装置はポイントクラウドデータを符号化し、関連情報を生成してビットストリームに含ませて送受信することができる。例えば、ジオメトリ符号化及び/又は特質符号化を行うポイントクラウドデータエンコーダは、以下のような符号化されたポイントクラウド(又はポイントクラウドを含むビットストリーム)を生成する。またポイントクラウドデータに関するシグナリング情報は、ポイントクラウドデータ送信装置のメタデータ処理部により生成され処理されて、以下のようにポイントクラウドに含まれる。
【0395】
実施例によるシグナリング情報は、実施例による送受信装置、例えば、送信装置のメタデータ処理機12007(メタデータ生成器などとも称される)で生成されて送信されて受信装置のメタデータ分析13006で受信されて獲得される。実施例による受信装置の各動作はシグナリング情報に基づいて各動作を行うことができる。
【0396】
各略語の意味は以下の通りである。SPS:シーケンスパラメータセット(Sequence Parameter Set)、GPS:ジオメトリパラメータセット(Geometry Parameter Set)、APS:特質パラメータセット(Attribute Parameter Set)、TPS:タイルパラメータセット(Tile Parameter Set)、Geom:ジオメトリビットストリーム(Geometry bitstream)=ジオメトリスライスヘッダ(Geometry slice header)+ジオメトリスライスデータ(Geometry slice data)、Attr:特質ビットストリーム(Attribute bitstream)=特質ブリックヘッダ(Attribute brick header)+特質ブリックデータ(Attribute brick data)。ここで、ブリックはブロック、スライスなどの用語とも称される。
【0397】
実施例によるポイントクラウドデータは、
図24のようなビットストリームの形態を有する。ポイントクラウドデータは実施例によるシグナリング情報などを含むSPS(Sequence Parameter Set)、GPS(Geometry Parameter Set)、APS(Attribute Parameter Set)、TPS(Tile Parameter Set)を含む。ポイントクラウドデータは一つ又はそれ以上のジオメトリ及び/又は特質を含む。ポイントクラウドデータのジオメトリ及び/又は特質は一つ又はそれ以上のスライス単位(又はブリック/ブロック単位)で区分される。ジオメトリはジオメトリスライスヘッダ及びジオメトリスライスデータの構造を有する。例えば、シグナリング情報を含むTPSはTile(0)。Tile_bounding_box_xyz0、Tile(0)_Tile_bounding_box_whdなどを含む。ジオメトリはGeom_Geom_parameter_set_id、Geom_Tile_id、Geom_slice_id、GeomBoxOrigin、Geom_box_log2_scale、Geom_max_node_size_log2、Geom_num_pointsなどを含む。
【0398】
実施例によるシグナリング情報はSPS、GPS、APS、TPSなどに追加されてシグナリングされる。
【0399】
実施例によって、シグナリング情報はTPS又は各スライスごとのジオメトリ(Geom)又はスライスごとの特質(Attr)に追加されてシグナリングされる。
【0400】
実施例によるポイントクラウドデータの構造はシグナリング情報を含むパラメータセット、ジオメトリ、特質を符号化/復号/データアクセスの観点で効率的な効果を提供する。
【0401】
実施例によるポイントクラウドデータ送信/受信装置に関連するポイントクラウドデータは、シーケンスパラメータ、ジオメトリパラメータ、特質パラメータ、タイルパラメータ、ジオメトリビットストリーム及び特質ビットストリームのうちのいずれかを含む。
【0402】
以下、図面を参照しながら、具体的なシグナリング情報のシンタックスについて説明する。参考として、実施例によるシグナリング情報の名称はシグナリング情報が意図する意味/機能範囲内で変形/拡張して理解することができる。シグナリング情報のフィールドは第1シグナリング情報、第2シグナリング情報などに区別して呼ばれる。
【0403】
上述したように、ポイントクラウドデータ送信装置は、符号化されたポイントクラウドデータをビットストリーム形態で送信する。実施例によるビットストリームは一つ又はそれ以上のサブビットストリームを含む。
【0404】
ポイントクラウドデータ送信装置は、送信チャネルのエラーを考慮して、ポイントクラウドデータの映像を一つ又はそれ以上のパケットに分けてネットワークを介して送信する。実施例によるビットストリームは一つ又はそれ以上のパケット(例えば、NAL(Network Abstraction Layer)ユニット)を含む。従って、劣悪なネットワーク環境で一部パケットが損失されてもポイントクラウドデータ受信装置は残りのパケットを用いて該当映像を復元することができる。ポイントクラウドデータを一つ又はそれ以上のスライス又は一つ又はそれ以上のタイルに分割して処理することができる。実施例によるタイル及びスライスはポイントクラウドデータのピクチャを分割(partitioning)してポイントクラウド圧縮符号化処理するための領域である。ポイントクラウドデータ送信装置はポイントクラウドデータの分けられた領域ごとの重要度によって各領域に対応するデータを処理して高品質のポイントクラウドコンテンツを提供する。即ち、実施例によるポイントクラウドデータ送信装置は、ユーザに重要な領域に対応するデータをより良好な圧縮効率と適切な遅延(latency)を有してポイントクラウド圧縮符号化処理することができる。
【0405】
実施例によるポイントクラウドコンテンツの映像(又はピクチャ)は、ポイントクラウド圧縮符号化のための基本プロセシングユニット単位に分割される。実施例によるポイントクラウド圧縮符号化のための基本プロセシングユニットは、CTU(Coding Tree unit)、ブリック(brick=スライス)などを含み、この例示に限られない。
【0406】
実施例によるスライスは、一つ又はそれ以上の整数個のポイントクラウド圧縮符号化のための基本プロセシングユニットを含む領域であり、直方体形態ではない。実施例によるスライスは、パケットにより送信されるデータを含む。実施例によるタイルは、映像内に矩形状形態に分割された領域であり、一つ又はそれ以上のポイントクラウド圧縮符号化のための基本プロセシングユニットを含む。実施例による一つのスライスは、一つ又はそれ以上のタイルに含まれる。また実施例による一つのタイルは一つ又はそれ以上のスライスに含まれる。
【0407】
実施例によるビットストリームは、シーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、及びタイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及び一つ又はそれ以上のスライスを含む。
【0408】
実施例によるSPSはプロファイル、レベルなどのシーケンス全体に関する符号化情報であって、ピクチャ解像度、ビデオフォーマットなどのファイル全体に関する包括的な情報を含む。
【0409】
実施例による一つのスライス(例えば、slice 0)は、スライスヘッダ及びスライスデータを含む。スライスデータは一つのジオメトリビットストリーム(Geom00)及び一つ又はそれ以上の特質ビットストリーム(Attr00、Attr10)を含む。ジオメトリビットストリームはヘッダ(例えば、ジオメトリスライスヘッダ)及びペイロード(例えば、ジオメトリスライスデータ)を含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_geom_parameter_set_id)、タイル識別子(geom_tile id)、スライス識別子(geom_slice_id)、ジオメトリボックスの原点情報(geomBoxOrigin)、ジオメトリボックススケール(geom_box_log2_scale)、ジオメトリノードマックスサイズ(geom_max_node_size_log2)、ジオメトリポイント数(geom_num_poins)及びペイロードに含まれたデータに関する情報などを含む。特質ビットストリームはヘッダ(例えば、特質スライスヘッダ又は特質ブリックヘッダ)及びペイロード(例えば、特質スライスデータ又は特質ブリックデータ)を含む。
【0410】
実施例を行うために関連情報をシグナリングすることができる。実施例によるシグナリング情報は送信端又は受信端などで使用される。
【0411】
ジオメトリデータ(Geom):ジオメトリビットストリーム(Geometry bitstream)=ジオメトリスライスヘッダ(Geometry slice header)+ジオメトリスライスデータ(Geometry slice data)
【0412】
特質データ(Attr):特質ビットストリーム(attribute bitstream)=特質ブリックヘッダ(attribute brick header)+特質ブリックデータ(attribute brick data)。実施例によってブリックはスライスとも称される(brick=slice)。
【0413】
実施例による方法/装置は実施例による予測器選択関連オプション情報をSPS又はAPSに追加して送信することができる。
【0414】
実施例による方法/装置は予測器選択関連オプション情報をTPS、又は各スライスごとの特質ヘッダに追加して送信することができる。
【0415】
実施例による方法/装置はポイントクラウドを領域ごとに分けて処理するように、タイル、又はスライスにデータを分割し、タイル/スライスごとにシグナリング情報を生成して送信することができる。
【0416】
領域ごとに分けるとき、各々の領域ごとに異なる隣接ポイント集合生成オプションを設定して、複雑度(complexity)は低く、結果の信頼度は多少落ちるか、逆に複雑度は高く、信頼度が高い選択方案を提供することができる。受信機の処理能力によって異なるように設定される。
【0417】
実施例による方法/装置においては、ジオメトリを符号化及び/又は復号する過程で使用される空間拡張機能のためのジオメトリポイント再構成関連情報はSPS及び/又はGPSに追加してシグナリングすることができる。
【0418】
実施例による方法/装置においては、ジオメトリを符号化及び/又は復号する過程で使用される空間拡張機能のためのジオメトリポイントの再構成関連情報をTPS及び/又は各スライスごとにGeom_slice_headerに追加してシグナリングすることができる。
【0419】
3次元空間上の特定の領域によって互いに異なるジオメトリ符号化が可能であるので、実施例による方法/装置がポイントクラウドデータを領域ごとに分けるとき、互いに異なるジオメトリ位置再構成方法を使用してもよい。
【0420】
従って実施例による方法/装置がポイントクラウドをタイルに分ける場合、各タイルごとに異なるジオメトリ位置再構成方法を適用することができる。
【0421】
実施例による方法/装置がポイントクラウドをスライスに分ける場合、各スライスごとに異なるジオメトリ位置再構成方法を提供することができる。
【0422】
実施例による方法/装置がジオメトリ(Geom)の部分符号化されたノードに対して分布分析による中心点位置情報をジオメトリノード(Geometry Node)に追加してシグナリングすることができる。
【0423】
以下、ビットストリームに含まれる具体的な情報(エレメント)のシンタックス又は定義について説明する。
【0424】
図25は実施例によるシーケンスパラメータセット(Sequence Parameter Set、SPS)を示す。
【0425】
【0426】
実施例によるSPSはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0427】
プロファイル(profile_idc):実施例によるビットストリームが従うプロファイルを示す。実施例による値以外に、他の値をビットストリームが含まず、プロファイルの他の値はISO/IECの今後の使用のために予約される(indicates a profile to which the bitstream conforms as specified in Annex A. Bitstreams shall not contain values of profile_idc other than those specifiedin Annex A. Other values of profile_idc are reserved for future use by ISO/IEC)。
【0428】
プロファイル互換性フラグ(profile_compatibility_flags):この値が1であると、jと同一のプロファイル(profile_idc)により指示されるプロファイルをビットストリームが従うことを示す(indicates that the bitstream conforms to the profile indicated by profile_idc equal to j)。
【0429】
SPS特質セット数(sps_num_attribute_sets):ビットストリーム内にコーディングされた特質の数を示す。この値は0~63の範囲内である(sps_num_attribute_sets indicates the number of coded attributes in the bitstream. The value of sps_num_attribute_sets shall be in the range of 0 to 63)。
【0430】
SPS特質セット数だけ特質に対する以下のエレメントがSPSに含まれる。
【0431】
特質次元(attribute_dimension[i]):i番目の特質のコンポーネントの数を示す(attribute_dimension[i] specifies the number of components of the i-th attribute)。
【0432】
特質インスタンス識別子(attribute_instance_id[i]):i番目の特質のためのインスタンス識別子を示す(attribute_instance_id[i] specifies the instance id for the i-th attribute)。
【0433】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のための符号化された八分木深さレベルを示す。
【0434】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):ジオメトリ量子化タイプを示す。
【0435】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。各々の指示情報に対する整数値は実施例によって様々に変更される。
【0436】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_position_type):ノードに属するジオメトリ位置を再構成する方法を示す。
【0437】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0438】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがSPSに含まれる。
【0439】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0440】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0441】
図26は実施例によるジオメトリパラメータセット(Geometry Parameter Set、GPS)を示す。
【0442】
【0443】
実施例によるGPSはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0444】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のための符号化された八分木深さレベルを示す。
【0445】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):ジオメトリ量子化タイプを示す。
【0446】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0447】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_poshition_type):ノードに属するジオメトリ位置を再構成する方法を示す。
【0448】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0449】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがGPSに含まれる。
【0450】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0451】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0452】
空間拡張タイル基盤のジオメトリ再構成フラグ(spatial_scalability_tile_based_geom_reconstruction_flag):タイル単位で互いに異なるジオメトリ再構成方案が適用されたかを示すフラグである。
【0453】
GPSジオメトリパラメータセットID(GPS_geom_parameter_set_いd):他のシンタックスエレメントによる参照のためのGPSに対する識別子を提供する。gps_seq_parameter_set_idの値は0~15(含み)の範囲である(provides an identifier for the GPS for reference by other syntax elements. The value of gps_seq_parameter_set_id shall be in the range of0 to 15、inclusive)。
【0454】
GPSシーケンスパラメータセットID(gps_seq_parameter_set_id):アクティブSPSに対するsps_seq_parameter_set_idの値を示す。gps_seq_parameter_set_idの値は0~15(含み)の範囲である(specifies the value of sps_seq_parameter_set_id for the active SPS. The value of gps_seq_parameter_set_id shall be in the range of0 to 15、inclusive)。
【0455】
図27は実施例によるタイルパラメータセット(Tile Parameter Set、TPS)を示す。
【0456】
【0457】
実施例によるTPSはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0458】
spatial_scalability_tile_based_geom_reconstructiong_flagがtrueであると、以下のエレメントがTPSに含まれる。
【0459】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のためのタイルに適用された符号化された八分木深さレベルを示す。
【0460】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):タイルに適用されたジオメトリ量子化タイプを示す。
【0461】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0462】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_position_type):タイルに適用されたノードに属するジオメトリ位置を再構成する方法を示す。
【0463】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0464】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがTPSに含まれる。
【0465】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0466】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0467】
空間拡張スライス基盤のジオメトリ再構成フラグ(spatial_scalability_slice_based_geom_reconstuction_flag):スライス単位で互いに異なるジオメトリ再構成方案が適用されたかどうかを示すフラグである。
【0468】
タイル数(num_tiles):ビットストリームに対してシグナリングされるタイルの数を示す。存在しない場合、タイルの数は0に推論される。
【0469】
タイル数によって、タイルバウンディングボックスオフセットエレメントが以下のようにTPSに伝達される。
【0470】
タイルバウンディングボックスオフセットX(tile_bounding_box_offset_x[i]):座標系内のi番目のタイルのXオフセットを示す。存在しない場合、tile_bounding_box_offset_x[0]の値はsps_bounding_box_offset_xと推論される。
【0471】
タイルバウンディングボックスオフセットY(tile_bounding_box_offset_y[i]):座標系内のi番目のタイルのYオフセットを示す。存在しない場合、tile_bounding_box_offset_y[0]の値はsps_bounding_box_offset_yと推論される。
【0472】
タイルバウンディングボックスオフセットZ(tile_bounding_box_offset_z[i]):座標系内のi番目のタイルのZオフセットを示す。存在しない場合、tile_bounding_box_offset_z[0]の値はsps_bounding_box_offset_zと推論される。
【0473】
図28は実施例によるジオメトリスライスヘッダ(Geometry slice Header)を示す。
【0474】
【0475】
実施例によるGSHはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0476】
spatial_scalability_slice_based_geom_reconstruction_flagがtrueであると、以下のエレメントがGSHに含まれる。
【0477】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のためのスライスに適用された符号化された八分木深さレベルを示す。
【0478】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):スライスに適用されたジオメトリ量子化タイプを示す。
【0479】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0480】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_poshition_type):スライスに適用されたノードに属するジオメトリ位置を再構成する方法を示す。
【0481】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0482】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがGSHに含まれる。
【0483】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0484】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0485】
GSHジオメトリパラメータセットID(gsh_geometry_parameter_set_id):アクティブGPSのgps_geom_parameter_set_idの値を示す。
【0486】
GSHタイルID(gsh_tile_id):GSHにより参照できるタイルIDの値を示す。gsh_tile_idの値は0ないしXX(含み)の範囲である。
【0487】
GSHスライスID(gsh_slice_id):他のシンタックスエレメントによる参照のためのスライスヘッダを識別する。gsh_slice_idの値は0ないしXX(含み)の範囲である。
【0488】
【0489】
図29は
図24のビットストリームに含まれたジオメトリのノード情報を示す。
【0490】
実施例による方法/装置は、ジオメトリ符号化及び/又は復号時の空間拡張のためのジオメトリのポイントを再構成する過程において、代表位置タイプが中心点(centroid)である場合、中心点関連情報をジオメトリノードに含めることができる。
【0491】
子占有インデックス(child_occupancy_idx):分布により計算された中心点に基づいてジオメトリ位置を再構成するとき、中心点が属するノードの位置を示す。ノード位置は下位子ノードのインデックスに対応する。例えば、0~7の値を有する。
【0492】
シングル占有フラグ(single_occupancy_flag):この値が1であると、現在ノードがシングル子ノードを含むことを示す。この値が0であると、現在ノードがマルチ子ノードを含むことを示す。
【0493】
spatial_scalability_geom_poshition_typeが10(中心点)である場合、ジオメトリノードが子占有インデックスを含む。
【0494】
実施例による方法/装置は、実施例による動作及びシグナリング情報に基づいて空間拡張のような効果を提供する。
【0495】
空間拡張はポイントクラウドデータが高密度(dense)で、かつ帯域幅が低いとき、低解像度のポイントクラウドを送って処理する機能である。またポイントクラウドデータが高密度(dense)で、かつ全体八分木ビットストリームが送信されたが、デコーダでデコーダの性能又はリソースの不足、又はシナリオ上、サムネイル(thumbnail)を優先して迅速に必要とする場合、送信された全体八分木基盤のビットストリームを全部復号せず、八分木の特定の深さレベルまでのみ復号して低解像度のポイントクラウドを提供する機能である。
【0496】
実施例のG-PCCジオメトリ符号化/復号過程において、空間拡張効果を提供するために、部分八分木構成と構成された最後のレベルの八分木ノードから位置を再構成する動作を提供する。
【0497】
提案した八分木ノードのポイント再構成方法はジオメトリの位置をどこに再構成するかによって空間拡張のために部分符号化/復号されたジオメトリ圧縮効率を高めることができる。
【0498】
これにより、この実施例では、3次元ポイントクラウドデータ圧縮のためのジオメトリ基盤のポイントクラウド圧縮(Geometry-based point Cloud Compression)(G-PCC)のエンコーダ/デコーダの空間拡張機能提供のためのジオメトリ圧縮方法を提供し、ジオメトリ圧縮効率を高めて提供することができる。
【0499】
実施例による方法/装置(送信方法/装置及び/又は受信方法/装置)は、空間拡張のための様々なジオメトリ位置再構成(geometry position reconstruction)方法を提供することにより、様々なタイプのポイントクラウドデータを効率的に符号化/復号できる効果を提供する。
【0500】
図20を参照して、実施例による方法/装置は、ジオメトリを再構成する場合、LODレベルごとに異なるように中心点を設定することができる。即ち、
図20の場合、1つのタイプの中心点設定方法に基づいてLOD 0から特定のレベル(LOD N)までノードの代表位置に基づいてジオメトリを再構成すると、追加実施例として、LODレベルごとに互いに異なるタイプの中心点設定方式を様々に適用することができる。即ち、S21040の動作をLODレベルごとに様々に行うことができる。実施例による送信装置及び/又はエンコーダは各LODごとに中心点を分析して実施例による受信装置及び/又はデコーダにLODごとに中心点分析方法を示す情報を送信することができる。
【0501】
実施例による代表位置タイプに関する全ての方式は各LODごとに適用され、デコーダにシグナリングされる。
【0502】
実施例による動作21020(ジオメトリ位置再構成)は八分木のLODごとに行われる。
【0503】
図30は実施例によるシーケンスパラメータセットを示す。
【0504】
【0505】
図30に含まれたエレメントの定義は
図25に対応するエレメントの説明を参照できる。
【0506】
実施例によるSPSはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0507】
プロファイル(profile_idc):実施例によるビットストリームが従うプロファイルを示す。実施例による値以外に他の値をビットストリームが含まず、プロファイルの他の値はISO/IECの今後の使用のために予約される(indicates a profile to which the bitstream conforms as specified in Annex A. Bitstreams shall not contain values of profile_idc other than those specified in Annex A. Other values of profile_idc are reserved for future use by ISO/IEC)。
【0508】
プロファイル交換性フラグ(profile_compatibility_flags):この値が1であると、jと同一のプロファイル(profile_idc)により指示されるプロファイルをビットストリームが従うことを示す(indicates that the bitstream conforms to the profile indicated by profile_idc equal to j)。
【0509】
SPS特質セット数(sps_num_attribute_sets):ビットストリーム内にコーディングされた特質の数を示す。この値は0ないし63の範囲を有する(sps_num_attribute_sets indicates the number of coded attributes in the bitstream. The value of sps_num_attribute_sets shall be in the range of 0 to63)。
【0510】
SPS特質セット数だけ特質に対する以下のエレメントがSPSに含まれる。
【0511】
特質次元(attribute_dimension[i]):i番目の特質のコンポーネントの数を示す(attribute_dimension[i] specifieS the number of components of the i-th attribute)。
【0512】
特質インスタンス識別子(attribute_instance_id[i]):i番目の特質のためのインスタンス識別子を示す(attribute_instance_id[i] specifies the instance id for the i-th attribute)。
【0513】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のための符号化された八分木深さレベルを示す。
【0514】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):ジオメトリ量子化タイプを示す。
【0515】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0516】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_poshition_type):ノードに属するジオメトリ位置を再構成する方法を示す。
【0517】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0518】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがSPSに含まれる。
【0519】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0520】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0521】
八分木高さ深さ(octree_height_depth):八分木の高さを示す。
【0522】
深さに対する分析された分布(analyzed_distribution_at_depth):各々の八分木深さにおいてポイントの分布を分析した中心点位置結果値を示す。具体的には、八分木子ノード基盤のインデックスを示す。
【0523】
例えば、深さに対して分析された分布が1であると、中心点位置は左-底-前(left-bottom-front)の位置である。深さに対して分析された分布が2であると、中心点位置は左-底-後(left-bottom-back)の位置である。深さに対して分析された分布が3であると、中心点位置は左-上-前(left-top-front)の位置である。深さに対して分析された分布が4であると、中心点位置は左-上-後(left-top-back)の位置である。深さに対して分析された分布が5であると、中心点位置は右-底-前(right-bottom-front)の位置である。深さに対して分析された分布が6であると、中心点位置は左-底-後(right-bottom-back)の位置である。深さに対して分析された分布が7であると、中心点位置は右-上-前(right-top-front)の位置である。深さに対して分析された分布が8であると、中心点位置は右-上-後(right-top-back)の位置である。
【0524】
図31は実施例によるジオメトリパラメータセットを示す。
【0525】
【0526】
図31に含まれたエレメントの定義は
図26に対応するエレメントの説明を参照できる。
【0527】
実施例によるGPSはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0528】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のための符号化された八分木深さレベルを示す。
【0529】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):ジオメトリ量子化タイプを示す。
【0530】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0531】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_poshition_type):ノードに属するジオメトリ位置を再構成する方法を示す。
【0532】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0533】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがGPSに含まれる。
【0534】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0535】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0536】
空間拡張タイル基盤のジオメトリ再構成フラグ(spatial_scalability_tile_based_geom_reconstruction_flag):タイル単位で互いに異なるジオメトリ再構成方案が適用されたかどうを示すフラグである。
【0537】
LODごとの空間拡張フラグ(spatial_scalability_per_lod_flag):八分木深さごとに異なるジオメトリ再構成方案を適用するか否かに対するフラグである。
【0538】
八分木高さ深さ(octree_height_depth):八分木の高さを示す。
【0539】
GPSジオメトリパラメータセットID(gps_geom_parameter_set_id):他のシンタックスエレメントによる参照のためのGPSに対する識別子を提供する。gps_seq_parameter_set_idの値は0ないし15(含み)の範囲である(provides an identifier for the GPS for reference by other syntax elements. The value of gps_seq_parameter_set_id shall be in the range of 0 to 15、inclusive)。
【0540】
GPSシーケンスパラメータセットID(gps_seq_parameter_set_id):アクティブSPSに対するsps_seq_parameter_set_idの値を示す。gps_seq_parameter_set_idの値は0ないし15(含み)の範囲である(specifies the value of sps_seq_parameter_set_id for the active SPS. The value of gps_seq_parameter_set_id shall be in the range of0 to 15、inclusive)。
【0541】
図32は実施例によるタイルパラメータセットを示す。
【0542】
【0543】
図32に含まれたエレメントの定義は
図27に対応するエレメントの説明を参照できる。
【0544】
実施例によるTPSはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0545】
spatial_scalability_tile_based_geom_reconstruction_flagがtrueであると、以下のエレメントがTPSに含まれる。
【0546】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のためのタイルに適用された符号化された八分木深さレベルを示す。
【0547】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):タイルに適用されたジオメトリ量子化タイプを示す。
【0548】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0549】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_poshition_type):タイルに適用されたノードに属するジオメトリ位置を再構成する方法を示す。
【0550】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0551】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがTPSに含まれる。
【0552】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0553】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0554】
空間拡張スライス基盤のジオメトリ再構成フラグ(spatial_scalability_slice_based_geom_reconstuction_flag):スライス単位で互いに異なるジオメトリ再構成方案が適用されたか否かを示すフラグである。
【0555】
LODごとの空間拡張フラグ(spatial_scalability_per_lod_flag):八分木深さごとに異なるジオメトリ再構成方案を適用するか否かに関するフラグである。
【0556】
八分木高さ深さ(octree_height_depth):八分木の高さを示す。
【0557】
タイル数(num_tiles):ビットストリームに対してシグナリングされるタイルの数を示す。存在しない場合、タイル数は0と推論される。
【0558】
タイル数によって、タイルバウンディングボックスオフセットエレメントが以下のようにTPSに伝達される。
【0559】
タイルバウンディングボックスオフセットX(tile_bounding_box_offset_x[i]):座標系内のi番目のタイルのXオフセットを示す。存在しない場合、tile_bounding_box_offset_x[0]の値はsps_bounding_box_offset_xと推論される。
【0560】
タイルバウンディングボックスオフセットY(tile_bounding_box_offset_y[i]):座標系内のi番目のタイルのYオフセットを示す。存在しない場合、tile_bounding_box_offset_y[0]の値はsps_bounding_box_offset_yと推論される。
【0561】
タイルバウンディングボックスオフセットZ(tile_bounding_box_offset_z[i]):座標系内のi番目のタイルのZオフセットを示す。存在しない場合、tile_bounding_box_offset_z[0]の値はsps_bounding_box_offset_zと推論される。
【0562】
図33は実施例によるジオメトリスライスヘッダを示す。
【0563】
【0564】
図32に含まれたエレメントの定義は
図28に対応するエレメントの説明を参照できる。
【0565】
実施例によるGSHはジオメトリの空間拡張のための符号化及び/又は復号のためのジオメトリのポイント再構成に用いられる情報を含む。
【0566】
spatial_scalability_slice_based_geom_reconstruction_flagがtrueであると、以下のエレメントがGSHに含まれる。
【0567】
空間拡張LOD(spatial_scalability_lod):空間拡張支援のためのスライスに適用された符号化された八分木深さレベルを示す。
【0568】
空間拡張ジオメトリ量子化タイプ(spatial_scalability_geom_quantization_type):スライスに適用されたジオメトリ量子化タイプを示す。
【0569】
例えば、空間拡張ジオメトリ量子化タイプが0であると、丸め(rounding)方式を示し、空間拡張ジオメトリ量子化タイプが1であると、切り上げ(ceil)方式を示し、空間拡張ジオメトリ量子化タイプが2であると、切り下げ(floor)方式を示す。それぞれの指示情報に対する整数値は実施例によって様々に変更される。
【0570】
空間拡張ジオメトリ位置タイプ(spatial_scalability_geom_poshition_type):スライスに適用されたノードに属するジオメトリ位置を再構成する方法を示す。
【0571】
例えば、空間拡張ジオメトリ位置タイプが0であると、ジオメトリ位置再構成方法は量子化タイプのような方式で、丸めの場合は中央、切り上げ方式の場合には右-上-後(right-top-back)の位置にジオメトリを再構成する。空間拡張ジオメトリ位置タイプが1であると、ジオメトリ位置を左-底-前(left-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが2であると、ジオメトリ位置を左-底-後(left-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが3であると、ジオメトリ位置を左-上-前(left-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが4であると、ジオメトリ位置を左-上-後(left-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが5であると、ジオメトリ位置を右-底-前(right-bottom-front)の位置に構成する。空間拡張ジオメトリ位置タイプが6であると、ジオメトリ位置を右-底-後(right-bottom-back)の位置に構成する。空間拡張ジオメトリ位置タイプが7であると、ジオメトリ位置を左-上-前(right-top-front)の位置に構成する。空間拡張ジオメトリ位置タイプが8であると、ジオメトリ位置を右-上-後(right-top-back)の位置に構成する。空間拡張ジオメトリ位置タイプが9であると、ジオメトリ位置を中央(middle/center)の位置に構成する。空間拡張ジオメトリ位置タイプが10であると、ジオメトリ位置を分布により計算された中心点のある下位ノード位置に構成する。
【0572】
spatial_scalability_geom_poshition_typeが10であると、空間拡張ジオメトリ重心位置タイプがGSHに含まれる。
【0573】
空間拡張ジオメトリ重心位置タイプ(spatial_scalability_geom_centroid_poshition_type):分布により計算された中心点をジオメトリ位置を再構成するとき、中心点が属するノードの位置を再構成する方法を示す。
【0574】
例えば、空間拡張ジオメトリ重心位置タイプが0であると、中心点が属するノードの位置を量子化タイプのような方式で再構成することができる。量子化タイプが丸めである場合は中央方式、量子化タイプが切り上げ方式である場合には右-上-後(right-top-back)の位置に構成する方式でノードの位置を再構成する。空間拡張ジオメトリ重心位置タイプが1であると、左-底-前(left-bottom-front)の位置に中心点が属するノード上の位置を構成する。空間拡張ジオメトリ重心位置タイプが2であると、左-底-後(left-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが3であると、左-上-前(left-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが4であると、左-上-後(left-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが5であると、右-底-前(right-bottom-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが6であると、右-底-後(right-bottom-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが7であると、右-上-前(right-top-front)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが8であると、右-上-後(right-top-back)の位置に中心点が属するノードの位置を構成する。空間拡張ジオメトリ重心位置タイプが9であると、中央(middle/center)の位置に中心点が属するノードの位置を構成する。
【0575】
LODごとの空間拡張フラグ(spatial_scalability_per_lod_flag):八分木深さごとに異なるジオメトリ再構成方案を適用するか否かに対するフラグである。
【0576】
八分木高さ深さ(octree_height_depth):八分木の高さを示す。
【0577】
GSHジオメトリパラメータセットID(gsh_geometry_parameter_set_id):アクティブGPSのgps_geom_parameter_set_idの値を示す。
【0578】
GSHタイルID(gsh_tile_id):GSHにより参照されるタイルIDの値を示す。gsh_tile_idの値は0ないしXX(含み)の範囲である。
【0579】
GSHスライスID(gsh_slice_id):他のシンタックスエレメントによる参照のためのスライスヘッダを識別する。gsh_slice_idの値は0ないしXX(含み)の範囲を有する。
【0580】
図34は実施例によるポイントクラウドデータ送信方法を示す。
【0581】
S43000、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階を含む。実施例による符号化動作は、
図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、
図2の符号化20001、
図4のエンコーダ、
図12の送信装置のポイントクラウドデータ処理、
図14のXRデバイス1430、
図15及び
図16のポイントクラウドデータ符号化、
図18乃至
図20のジオメトリ符号化、
図22のエンコーダ、
図24ないし
図33のビットストリーム生成及び符号化などの動作を含む。
【0582】
S34010、実施例によるポイントクラウドデータ送信方法は、さらにポイントクラウドデータを含むビットストリームを送信する段階を含む。実施例による送信動作は、
図1の送信機10003、
図2の送信20002などの動作を含む。
【0583】
図35は実施例によるポイントクラウドデータ受信方法を示す。
【0584】
S35000、実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階を含む。実施例による受信動作は、
図1の受信装置10004、受信機10005、
図2の送信による受信2002、
図24ないし
図33のビットストリーム受信などの動作を含む。
【0585】
S35010、実施例によるポイントクラウドデータ受信方法は、さらにポイントクラウドデータを復号する段階を含む。実施例による復号動作は、
図1のポイントクラウドビデオデコーダ10006、
図2の復号20003、レンダリング20004、
図10及び
図11のデコーダ、
図13の受信装置のポイントクラウドデータ処理、
図14のXRデバイス1430、
図16及び
図17のポイントクラウドデータ復号、
図21のジオメトリ復号、
図23のデコーダ、
図24ないし
図33のビットストリーム復号などの動作を含む。
【0586】
空間拡張はポイントクラウドデータが高密度(dense)で、かつ帯域幅が低いとき、低解像度のポイントクラウドを送って処理する機能である。またポイントクラウドデータが高密度(dense)で、かつ全体八分木ビットストリームが送信されたが、デコーダでデコーダの性能又はリソースの不足、又はシナリオ上、サムネイルを優先して迅速に必要とする場合には、送信された全体八分木基盤のビットストリームを全部復号せず、八分木の特定の深さレベルまでのみ復号して低解像度のポイントクラウドを提供する機能である。
【0587】
実施例のG-PCCジオメトリ符号化/復号の過程において、空間拡張機能を提供するために、部分八分木の構成と構成された最後のレベルの八分木ノードから位置を再構成する方案を提供する。
【0588】
実施例による八分木ノードのポイント再構成方法は、ジオメトリの位置をどこに再構成するかによって空間拡張のために部分符号化/復号されたジオメトリ圧縮効率を高めることができる。
【0589】
これにより、この実施例では、3次元ポイントクラウドデータ圧縮のためのGeometry-based point Cloud Compression(G-PCC)のエンコーダ/デコーダの空間拡張機能提供のためのジオメトリ圧縮方法を提供し、ジオメトリ圧縮効率を高めて提供することができる。
【0590】
実施例による方法/装置(送信方法/装置及び/又は受信方法/装置)は、空間拡張のための様々なジオメトリ位置再構成(geometry position reconstruction)方法を提供することにより、様々なタイプのポイントクラウドデータを効率的に符号化/復号する効果を提供する。
【0591】
実施例によるポイントクラウドデータ送受信方法/装置は、上述した実施例による空間拡張のためにジオメトリ位置再構成(geometry position reconstruction)方案及びシグナル方案によって、空間拡張機能を提供するために八分木基盤にポイントの位置を再構成して、ジオメトリ圧縮効率を向上させる効果を提供することができる。
【0592】
実施例は方法及び/又は装置の観点で説明しており、方法の説明及び装置の説明は互いに補完して適用できる。
【0593】
説明の便宜のために、各図を区分して説明したが、各図に述べられている実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように、説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
【0594】
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。
【0595】
この明細書において、“/”と“,”は“及び/又は”に解釈される。例えば、“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)”を意味する。
【0596】
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
【0597】
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。
【0598】
また、この明細で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細で説明した様々な動作を制御する。プロセッサはコントローラなどとも称される。実施例の動作はファームウェア、ソフトウェア及び/又はこれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はこれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
【0599】
一方、上述した実施例による動作は、実施例による送信装置及び/又は受信装置により行われる。送受信装置はメディアデータを送受信する送受信部、実施例によるプロセスに対する指示(プログラムコード、アルゴリズム、フローチャート及び/又はデータ)を格納するメモリ、及び送受信装置の動作を制御するプロセッサを含む。
【0600】
プロセッサはコントローラなどとも称され、例えば、ハードウェア、ソフトウェア及び/又はそれらの組み合わせに対応する。上述した実施例による動作はプロセッサにより行われる。またプロセッサは上述した実施例の動作のためのエンコーダ/デコーダなどで具現される。
【0601】
(発明の実施のための形態)
上述したように、実施例を実施するための最善の形態について関連内容を説明する。
【0602】
(産業上の利用可能性)
上述したように、実施例はポイントクラウドデータ送受信装置及びシステムに全体又は部分的に適用することができる。
【0603】
当業者であれば、実施例の範囲内で実施例を様々に変更及び変形することができる。
【0604】
実施例は変更/変形を含み、変更/変形は請求項及びそれと同一のものの範囲内である。