Nothing Special   »   [go: up one dir, main page]

JP2023507879A - ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 - Google Patents

ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 Download PDF

Info

Publication number
JP2023507879A
JP2023507879A JP2022525017A JP2022525017A JP2023507879A JP 2023507879 A JP2023507879 A JP 2023507879A JP 2022525017 A JP2022525017 A JP 2022525017A JP 2022525017 A JP2022525017 A JP 2022525017A JP 2023507879 A JP2023507879 A JP 2023507879A
Authority
JP
Japan
Prior art keywords
point cloud
moulton
cloud data
code
geometry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022525017A
Other languages
English (en)
Inventor
ユソン パク
ソチン オ
へチョン ホ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2023507879A publication Critical patent/JP2023507879A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】ポイントクラウドデータを効率的に処理するための装置及び方法を提供する。【解決手段】実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階、及びポイントクラウドデータを含むビットストリームを送信する段階を含む。実施例によるポイントクラウドデータ 受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階、及びポイントクラウドデータを復号する段階を含む。【選択図】図1

Description

実施例はポイントクラウドコンテンツ(point Cloud Content)を処理する方法及び装置に関する。
ポイントクラウドコンテンツは3次元空間を表現する座標系に属する点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは3次元からなるメディアを表現でき、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、複合現実)及び自律走行サービスなどの様々なサービスを提供するために使用される。しかし、ポイントクラウドコンテンツを表現するためには、数万から数十万個のポイントデータが必要である。従って、膨大な量のポイントデータを効率的に処理する方法が求められる。
実施例はポイントクラウドデータを効率的に処理するための装置及び方法を提供する。実施例は遅延(latency)及び符号化/復号複雑度を解決するためのポイントクラウドデータ処理方法及び装置を提供する。
但し、上述した技術的課題のみに制限されず、記載する全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
技術的解決方法として、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階、及びポイントクラウドデータを含むビットストリームを送信する段階を含む。
また実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階、及びポイントクラウドデータを復号する段階を含む。
実施例による装置及び方法は、高効率でポイントクラウドデータを処理することができる。
実施例による装置及び方法は、良質のポイントクラウドサービスを提供することができる。
実施例による装置及び方法は、VRサービス、自律走行サービスなどの汎用的なサービスを提供するためのポイントクラウドコンテンツを提供することができる。
添付図面は実施例の理解を助けるためのものであり、実施例に関連する説明と共に実施例を示す。後述する様々な実施例に対するより適切な理解のために、添付図面において類似する参照番号に対応する部分を含む次の図面に関連して以下の実施例の説明を必ず参照すべきである。
実施例によるポイントクラウドコンテンツ提供システムの一例を示す。 実施例によるポイントクラウドコンテンツ提供動作を示すブロック図である。 実施例によるポイントクラウドビデオキャプチャー過程の一例を示す。 実施例によるポイントクラウドエンコーダ(Point Cloud Encoder)の一例を示す。 実施例によるボクセルの一例を示す。 実施例による八分木及び占有コード(occupancy code)の一例を示す。 実施例による隣接ノードパターンの一例を示す。 実施例によるLODごとのポイント構成の一例を示す。 実施例によるLODごとのポイント構成の一例を示す。 実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す。 実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す。 実施例による送信装置の一例を示す。 実施例による受信装置の一例を示す。 実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。 実施例によるモールトンコード生成方法を示す。 実施例によるモールトンコード生成方法を示す。 実施例によるモールトンコード生成方法を示す。 実施例によるモールトンコード生成順序のしきい値を示す。 実施例によるモールトンコード生成器を示す。 実施例によるポイントクラウドビットストリームの構成を示す。 実施例によるTPS(Tile Parameter Set、TPS)を示す。 実施例によるGPS(Geometry Parameter Set、GPS)を示す。 実施例によるAPS(attribute Parameter Set、APS)を示す。 実施例によるジオメトリスライスヘッダ(Geometry slice Header、GSH)を示す。 実施例によるポイントクラウドデータ送信方法を示す。 実施例によるポイントクラウドデータ受信方法を示す。
添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというより、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に関する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。
実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものもあり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解されるべきである。
図1は実施例によるポイントクラウドコンテンツ提供システムの一例を示す図である。
図1に示したポイントクラウドコンテンツ提供システムは、送信装置(transmission device)10000及び受信装置(reception device)10004を含む。送信装置10000及び受信装置10004はポイントクラウドデータを送受信するために有無線通信が可能である。
実施例による送信装置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機器/サーバーなどを含む。
実施例による送信装置10000は、ポイントクラウドビデオ獲得部(Point Cloud Video Acquisition)10001、ポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)10002及び/又は送信機(Transmitter(又は通信モジュール)10003を含む。
実施例によるポイントクラウドビデオ獲得部10001は、キャプチャー、合成又は生成などの処理過程によりポイントクラウドビデオを獲得する。ポイントクラウドビデオは、3次元空間に位置するポイントの集合であるポイントクラウドで表現されるポイントクラウドコンテンツであって、ポイントクラウドビデオデータなどと呼ばれる。実施例によるポイントクラウドビデオは、一つ又はそれ以上のフレームを含む。一つのフレームは停止映像/ピクチャを示す。よって、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャを含み、ポイントクラウド映像、フレーム及びピクチャのうちのいずれかに呼ばれる。
実施例によるポイントクラウドビデオエンコーダ10002は、確保したポイントクラウドビデオデータを符号化する。ポイントクラウドビデオエンコーダ10002はポイントクラウド圧縮(Point Cloud Compression)コーディングに基づいてポイントクラウドビデオデータを符号化する。実施例によるポイントクラウド圧縮コーディングは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング又は次世代コーディングを含む。なお、実施例によるポイントクラウド圧縮コーディングは、上述した実施例に限られない。ポイントクラウドビデオエンコーダ10002は、符号化されたポイントクラウドビデオデータを含むビットストリームを出力することができる。ビットストリームは符号化されたポイントクラウドビデオデータだけではなく、ポイントクラウドビデオデータの符号化に関連するシグナリング情報を含む。
実施例による送信機10003は、符号化されたポイントクラウドビデオデータを含むビットストリームを送信する。実施例によるビットストリームはファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化されて、放送網及び/又はブロードバンド網などの様々なネットワークにより送信される。図示していないが、送信装置10000はカプセル化動作を行うカプセル化部(又はカプセル化モジュール)を含む。また実施例において、カプセル化部は送信機10003に含まれる。実施例において、ファイル又はセグメントはネットワークにより受信装置10004に送信されるか、又はデジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信機10003は受信装置10004(又は受信機(Receiver)10005)と4G、5G、6Gなどのネットワークにより有無線通信が可能である。また送信機10003はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行うことができる。また送信装置10000はオン・デマンド(On Demand)方式によってカプセル化されたデータを送信することもできる。
実施例による受信装置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機器/サーバーなどを含む。
実施例による受信機10005は、ポイントクラウドビデオデータを含むビットストリーム又はビットストリームがカプセル化されたファイル/セグメントなどをネットワーク又は格納媒体から受信する。受信機10005はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)により必要なデータ処理動作を行う。実施例による受信機10005は、受信したファイル/セグメントをデカプセル化してビットストリームを出力する。また実施例において、受信機10005はデカプセル化の動作を行うためのデカプセル化部(又はデカプセル化モジュール)を含む。またデカプセル化部は受信機10005とは別個のエレメント(又はコンポーネント)で具現される。
ポイントクラウドビデオデコーダ10006は、ポイントクラウドビデオデータを含むビットストリームを復号する。ポイントクラウドビデオデコーダ10006はポイントクラウドビデオデータが符号化された方式により復号することができる(例えば、ポイントクラウドビデオエンコーダ10002の動作の逆の過程)。従って、ポイントクラウドビデオデコーダ10006はポイントクラウド圧縮の逆過程であるポイントクラウド復元コーディングを行って、ポイントクラウドビデオデータを復号することができる。ポイントクラウド復元コーディングはG-PCCコーディングを含む。
レンダラー10007は復号されたポイントクラウドビデオデータをレンダリングする。レンダラー10007はポイントクラウドビデオデータだけではなく、オディオデータもレンダリングしてポイントクラウドコンテンツを出力する。実施例において、レンダラー10007はポイントクラウドコンテンツをディスプレイするためのディスプレイを含む。実施例において、ディスプレイはレンダラー10007に含まれず、別のデバイス又はコンポーネントで具現される。
図面において、点線で示した矢印は、受信装置10004で得たフィードバック情報(feedback information)の送信経路を示す。フィードバック情報はポイントクラウドコンテンツを消費するユーザとの相互作用を反映するための情報であって、ユーザの情報を含む(例えば、ヘッドオリエンテーション情報)、ビューポート情報など)。特に、ポイントクラウドコンテンツがユーザとの相互作用が必要なサービス(例えば、自律走行サービスなど)のためのものである場合には、フィードバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサービス供給者に伝達されることができる。実施例において、フィードバック情報は送信装置10000だけではなく受信装置10004でも使用されることができ、提供されないこともできる。
実施例によるヘッドオリエンテーション情報はユーザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10004はヘッドオリエンテーション情報に基づいてビューポート情報を計算する。ビューポート情報はユーザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユーザがポイントクラウドビデオを見ている点であり、ビューポート領域の真ん中を意味する。即ち、ビューポートは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004はヘッドオリエンテーション情報以外に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビューポート情報を抽出することができる。また受信装置10004はゲイズ分析(Gaze Analysis)などを行って、ユーザのポイントクラウド消費方式、ユーザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例において、受信装置10004はゲイズ分析の結果を含むフィードバック情報を送信装置10000に送信することができる。実施例によるフィードバック情報はレンダリング及び/又はディスプレイ過程で得られる。実施例によるフィードバック情報は受信装置10004に含まれた一つ又はそれ以上のセンサにより確保される。また実施例において、フィードバック情報はレンダラー10007又は別の外部エレメント(又はデバイス、コンポーネントなど)により確保される。図1に示された点線はレンダラー10007で確保したフィードバック情報の伝達過程を示す。ポイントクラウドコンテンツ提供システムはフィードバック情報に基づいてポイントクラウドデータを処理(符号化/復号)する。従って、ポイントクラウドビデオデータデコーダ10006はフィードバック情報に基づいて復号の動作を行うことができる。また受信装置10004はフィードバック情報を送信装置10000に送信することができる。送信装置10000(又はポイントクラウドビデオデータエンコーダ10002)はフィードバック情報に基づいて符号化の動作を行うことができる。従って、ポイントクラウドコンテンツ提供システムは全てのポイントクラウドデータを処理(符号化/復号)せず、フィードバック情報に基づいて必要なデータ(例えば、ユーザのヘッド位置に対応するポイントクラウドデータ)を効率的に処理して、ユーザにポイントクラウドコンテンツを提供することができる。
実施例において、送信装置10000はエンコーダ、送信デバイス、送信機などに呼ばれ、受信装置10004はデコーダ、受信デバイス、受信機などに呼ばれる。
実施例による図1のポイントクラウドコンテンツ提供システムで処理される(獲得/符号化/送信/復号/レンダリングの一連の過程で処理される)ポイントクラウドデータは、ポイントクラウドコンテンツデータ又はポイントクラウドビデオデータとも呼ばれる。実施例において、ポイントクラウドコンテンツデータはポイントクラウドデータに関連するメタデータ或いはシグナリング情報を含む概念として使用することができる。
図1に示したポイントクラウドコンテンツ提供システムのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はこれらの組み合わせなどで具現される。
図2は実施例によるポイントクラウドコンテンツ提供の動作を示すブロック図である。
図2は図1で説明したポイントクラウドコンテンツ提供システムの動作を示すブロック図である。上述したように、ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディング(例えば、G-PCC)に基づいてポイントクラウドデータを処理する。
実施例によるポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置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)は、ポイントクラウドビデオの獲得過程に関連する情報(例えば、深さ情報、色相情報など)からポイントクラウドデータを確保することができる。
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又はポイントクラウドビデオエンコーダ10002)は、ポイントクラウドデータを符号化する(20001)。ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディングに基づいてポイントクラウドデータを符号化する。上述したように、ポイントクラウドデータはポイントのジオメトリ及び特質を含む。よって、ポイントクラウドコンテンツ提供システムは、ジオメトリを符号化するジオメトリ符号化を行ってジオメトリビットストリームを出力することができる。ポイントクラウドコンテンツ提供システムは、特質を符号化する特質符号化を行って特質ビットストリームを出力することができる。実施例において、ポイントクラウドコンテンツ提供システムはジオメトリ符号化に基づいて特質符号化を行うことができる。実施例によるジオメトリビットストリーム及び特質ビットストリームは多重化されて一つのビットストリームで出力される。実施例によるビットストリームはジオメトリ符号化及び特質符号化に関連するシグナリング情報をさらに含む。
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又は送信機10003)は、符号化されたポイントクラウドデータを送信する(20002)。図1で説明したように、符号化されたポイントクラウドデータはジオメトリビットストリーム、特質ビットストリームで表現される。また符号化されたポイントクラウドデータはポイントクラウドデータの符号化に関連するシグナリング情報(例えば、ジオメトリ符号化及び特質符号化に関連するシグナリング情報)と共に、ビットストリームの形態で送信される。またポイントクラウドコンテンツ提供システムは符号化されたポイントクラウドデータを送信するビットストリームをカプセル化してファイル又はセグメントの形態で送信する。
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、符号化されたポイントクラウドデータを含むビットストリームを受信する。またポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、ビットストリームを逆多重化することができる。
ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームで送信される符号化されたポイントクラウドデータ(例えば、ジオメトリビットストリーム、特質ビットストリーム)を復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームに含まれたポイントクラウドビデオデータの符号化に関連するシグナリング情報に基づいてポイントクラウドビデオデータを復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ジオメトリビットストリームを復号してポイントの位置(ジオメトリ)を復元する。ポイントクラウドコンテンツ提供システムは、復元したジオメトリに基づいて特質ビットストリームを復号してポイントの特質を復元する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、復元されたジオメトリによる位置及び復号された特質に基づいてポイントクラウドビデオを復元する。
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号されたポイントクラウドデータをレンダリングする(20004)。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号過程で復号されたジオメトリ及び特質を様々なレンダリング方式によってレンダリングする。ポイントクラウドコンテンツのポイントは、一定の厚さを有する定点、該当定点の位置を中央とする所定の最小サイズを有する立方体、又は定点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域はディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004)は、フィードバック情報を確保することができる(20005)。ポイントクラウドコンテンツ提供システムは、フィードバック情報に基づいてポイントクラウドデータを符号化及び/又は復号する。実施例によるフィードバック情報及びポイントクラウドコンテンツ提供システムの動作は、図1で説明したフィードバック情報及び動作と同一であるので、具体的な説明は省略する。
図3は実施例によるポイントクラウドビデオキャプチャー過程の一例を示す図である。
図3は図1及び図2で説明したポイントクラウドコンテンツ提供システムのポイントクラウドビデオキャプチャー過程の一例を示す。
ポイントクラウドコンテンツは、様々な3次元空間(例えば、現実環境を示す3次元空間、仮想環境を示す3次元空間など)に位置するオブジェクト(object)及び/又は環境を示すポイントクラウドビデオ(イメージ及び/又は映像)を含む。従って、実施例によるポイントクラウドコンテンツ提供システムは、ポイントクラウドコンテンツを生成するために一つ又はそれ以上のカメラ(例えば、深さ情報を確保できる赤外線カメラ、深さ情報に対応する色相情報を抽出できるRGBカメラなど)、プロジェクト(例えば、深さ情報を確保するための赤外線パターンプロジェクターなど)、LiDARなどを使用してポイントクラウドビデオをキャプチャーする。実施例によるポイントクラウドコンテンツ提供システムは、深さ情報から3次元空間上のポイントで構成されたジオメトリの形態を抽出し、色相情報からそれぞれのポイントの特質を抽出してポイントクラウドデータを確保する。実施例によるイメージ及び/又は映像は内向き(inward-facing)方式及び外向き(outward-facing)方式のうちのいずれかに基づいてキャプチャーされる。
図3の左側には内向き方式が示されている。内向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトをキャプチャーする方式である。内向き方式は核心核心客体に対する360°イメージをユーザに提供するポイントクラウドコンテンツ(例えば、ユーザに客体(例:キャラクター、選手、品物、俳優などの核心となる客体)の360°イメージを提供するVR/ARコンテンツ)を生成するために使用される。
図3の右側には外向き方式が示されている。外向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトではない中心オブジェクトの環境をキャプチャーする方式である。外向き方式はユーザの視点からの周辺環境を提供するためのポイントクラウドコンテンツ(例えば、自律走行車両のユーザに提供される外部環境を示すコンテンツ)を生成するために使用される。
図示したように、ポイントクラウドコンテンツは一つ又はそれ以上のカメラのキャプチャー動作に基づいて生成される。この場合、それぞれのカメラの座標系が異なるので、ポイントクラウドコンテンツ提供システムはキャプチャー動作前にグローバル空間座標系(global coordinate system)を設定するために、一つ又はそれ以上のカメラの較正(calibration)を行う。またポイントクラウドコンテンツ提供システムは、上述したキャプチャー方式でキャプチャーされたイメージ及び/又は映像と任意のイメージ及び/又は映像を合成してポイントクラウドコンテンツを生成する。またポイントクラウドコンテンツ提供システムは、仮想空間を示すポイントクラウドコンテンツを生成する場合、図3で説明したキャプチャー動作を行わない。実施例によるポイントクラウドコンテンツ提供システムは、キャプチャーしたイメージ及び/又は映像に対して後処理を行うこともできる。即ち、ポイントクラウドコンテンツ提供システムは、望まない領域(例えば、背景)を除去したり、キャプチャーしたイメージ及び/又は映像が連結された空間を認識して空間(spatial hole)がある場合、それを埋める動作を行うことができる。
またポイントクラウドコンテンツ提供システムは、それぞれのカメラから確保したポイントクラウドビデオのポイントに対して座標系変換を行って、一つのポイントクラウドコンテンツを生成することができる。ポイントクラウドコンテンツ提供システムは、それぞれのカメラの位置座標を基準としてポイントの座標系変換を行う。これにより、ポイントクラウドコンテンツ提供システムは、一つの広い範囲を示すコンテンツを生成するか、或いはポイントの密度が高いポイントクラウドコンテンツを生成することができる。
図4は実施例によるポイントクラウドエンコーダ(Point Cloud Encoder)の一例を示す図である。
図4は図1のポイントクラウドビデオエンコーダ10002の一例を示す。ポイントクラウドエンコーダは、ネットワーク状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、損失に近い-near-lossless)を調節するために、ポイントクラウドデータ(例えば、ポイントの位置及び/又は特質)を再構成して符号化動作を行う。ポイントクラウドコンテンツの全体サイズが大きい場合(例えば、30fpsの場合、60Gbpsであるポイントクラウドコンテンツ)、ポイントクラウドコンテンツ提供システムは該当コンテンツをリアルタイムストリーミングすることができない。従って、ポイントクラウドコンテンツ提供システムは、ネットワーク環境などに合わせて提供するために、最大ターゲットビットレートに基づいてポイントクラウドコンテンツを再構成することができる。
図1及び図2に示したように、ポイントクラウドエンコーダはジオメトリ符号化及び特質符号化を行うことができる。ジオメトリ符号化は特質符号化よりも先に行われる。
実施例によるポイントクラウドエンコーダは、座標系変換部(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を含む。
座標系変換部40000、量子化部40001、八分木分析部40002、表面近似分析部40003、演算エンコーダ40004及びジオメトリ再構成部40005は、ジオメトリ符号化を行うことができる。実施例によるジオメトリ符号化は、八分木ジオメトリコーディング、ダイレクトコーディング(direct coding)、trisoupジオメトリ符号化(trisoup geometry encoding)及びエントロピー符号化を含む。ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に或いは組み合わせて適用される。なお、ジオメトリ符号化は上記の例示に限られない。
図示したように、実施例による座標系変換部40000は、位置を受信して座標系(coordinate)に変換する。例えば、位置は3次元空間(例えば、XYZ座標系で表現される3次元空間など)の位置情報に変換される。実施例による3次元空間の位置情報はジオメトリ情報とも称される。
実施例による量子化部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)、該当ボクセルに割り当てられる。
実施例による八分木分析部40002は、ボクセルを八分木構造で表すための八分木ジオメトリコーディング(又は八分木コーディング)を行う。八分木構造は八分割構造に基づいてボクセルにマッチングされたポイントを表現する。
実施例による表面近似分析部40003は、八分木を分析して近似化する。実施例による八分木分析及び近似化は、八分木及びボクセル化を効率的に提供するために、多数のポイントを含む領域をボクセル化するために分析を行う過程である。
実施例による演算エンコーダ40004は、八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。符号化の結果としてジオメトリビットストリームが生成される。
色変換部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コーディング、予測変換コーディング及びリフト変換コーディングが選択的に使用されるか、又は一つ又はそれ以上のコーディングの組み合わせが使用される。また実施例による特質符号化は上述した例示に限られない。
実施例による色変換部40006は、特質に含まれた色値(又はテクスチャ)を変換する色変換コーディングを行う。例えば、色変換部40006は色相情報のフォーマットを変換(例えば、RGBからYCbCrに変換)する。実施例による色変換部40006の動作は、特質に含まれた色値によって任意に(optional)適用される。
実施例によるジオメトリ再構成部40005は、八分木及び/又は近似化した八分木を再構成(復元)する。ジオメトリ再構成部40005はポイントの分布を分析した結果に基づいて八分木/ボクセルを再構成する。再構成された八分木/ボクセルは再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
実施例による特質変換部40007は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。上述したように、特質はジオメトリに従属するので、特質変換部40007は再構成されたジオメトリ情報に基づいて特質を変換することができる。例えば、特質変換部40007は、ボクセルに含まれたポイントの位置値に基づいてその位置のポイントが有する特質を変換することができる。上述したように、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて該当ボクセルの中央点の位置が設定される場合、特質変換部40007は一つ又はそれ以上のポイントの特質を変換する。trisoupジオメトリ符号化が行われた場合、特質変換部40007はtrisoupジオメトリ符号化に基づいて特質を変換することができる。
特質変換部40007は、各ボクセルの中央点の位置(又は位置値)から特定の位置/半径内に隣接しているポイントの特質又は特質値(例えば、各ポイントの色相、又は反射率など)の平均値を計算して特質変換を行う。特質変換部40007は平均値の計算時、中央点から各ポイントまでの距離による加重値を適用する。従って、各ボクセルは位置及び計算された特質(又は特質値)を有する。
特質変換部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ツリー又はモールトンコードが活用される。
図示したように、変換された特質はRAHT変換部40008及び/又はLOD生成部40009に入力される。
実施例によるRAHT変換部40008は、再構成されたジオメトリ情報に基づいて特質情報を予測するRAHTコーディングを行う。例えば、RAHT変換部40008は、八分木の下位レベルにあるノードに連関する特質情報に基づいて、八分木の上位レベルにあるノードの特質情報を予測することができる。
実施例によるLOD生成部40009は予測変換コーディングを行うために、LOD(Level of Detail)を生成する。実施例によるLODはポイントクラウドコンテンツの詳細を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が下がり、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことが示されている。ポイントをLODによって分類できる。
実施例によるリフト変換部40010は、ポイントクラウドの特質を加重値に基づいて変換するリフト変換コーディングを行う。上述したように、リフト変換コーディングは選択的に適用される。
実施例による係数量子化部40011は、特質コーディングされた特質を係数に基づいて量子化する。
実施例による演算エンコーダ40012は、量子化された特質を演算コーディングに基づいて符号化する。
図4のポイントクラウドエンコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した図4のポイントクラウドエンコーダのエレメントの動作及び/又は機能のうち、いずれか一つを行うことができる。また、一つ又はそれ以上のプロセッサは、図4のポイントクラウドエンコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行することができる。実施例による一つ又はそれ以上のメモリは高速ランダムアクセスメモリを含むか、又は非揮発性メモリ(例えば、一つ又はそれ以上のマグネチックディスク格納デバイス、フラッシュメモリデバイス、又は他の非揮発性固体のメモリデバイス(Solid-state memory devices)など)を含む。
図5は実施例によるボクセルの一例を示す図である。
図5はX軸、Y軸、Z軸の3つの軸で構成された座標系で表現される3次元空間上に位置するボクセルを示す。図4に示すように、ポイントクラウドエンコーダ(例えば、量子化部40001など)はボクセル化を行う。ボクセルは3次元空間を表現する軸(例えば、X軸、Y軸、Z軸)に基づいて3次元空間をユニット(unit=1.0)単位で分けたときに発生する3次元キュービック空間を意味する。図5は2つの極点(0,0,0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)する八分木構造により生成されたボクセルの一例を示す。一つのボクセルは少なくとも一つ以上のポイントを含む。ボクセルはボクセル群(voxel group)との位置関係から空間座標を推定することができる。上述したように、ボクセルは2次元イメージ/映像のピクセルと同様に、特質(色相又は反射率など)を有する。ボクセルに対する具体的な説明は図4で説明した通りであるので、省略する。
図6は実施例による八分木及び占有コード(occupancy code)の一例を示す図である。
図1ないし図4に示したように、ポイントクラウドコンテンツ提供システム(ポイントクラウドビデオエンコーダ10002)又はポイントクラウドエンコーダ(例えば、八分木分析部40002)は、ボクセルの領域及び/又は位置を効率的に管理するために、八分木構造基盤の八分木ジオメトリコーディング(又は八分木コーディング)を行う。
図6の上側は八分木構造を示している。実施例によるポイントクラウドコンテンツの3次元空間は座標系の軸(例えば、X軸、Y軸、Z軸)で表現される。八分木構造は2つの極点(0,0,0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。dは八分木の深さを示す。d値は以下の式により決定される。以下の式において、(xint n、yint n、zint n)は量子化されたポイントの位置(又は位置値)を示す。
Figure 2023507879000002
図6の上側中央に示したように、分割によって全体3次元空間は8つの空間に分かれる。分割されたそれぞれの空間は6つの面を有するキューブで表現される。図6の右上側に示したように、8つの空間はそれぞれ再び座標系の軸(例えば、X軸、Y軸、Z軸)により分かれる。よって、それぞれの空間は再び8つの小さい空間に分かれる。分割された小さい空間も6つの面を有するキューブで表現される。このような分割方式は八分木のリーフノード(leaf node)がボクセルになるまで適用される。
図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)は占有コードに基づいて八分木を再構成する。
実施例によるポイントクラウドエンコーダ(例えば、図4のポイントクラウドエンコーダ、又は八分木分析部40002)は、ポイントの位置を格納するためにボクセル化及び八分木コーディングを行う。しかし、3次元空間内のポイントがいつも均一に分布していることではないので、ポイントが多く存在しない特定の領域が存在し得る。従って、3次元空間の全体に対してボクセル化を行うことは非効率的である。例えば、特定の領域にポイントがほぼ存在しないと、該当領域までボクセル化を行う必要はない。
従って、実施例によるポイントクラウドエンコーダは、上述した特定の領域(又は八分木のリーフノードを除いたノード)についてはボクセル化を行わず、特定の領域に含まれたポイントの位置を直接コーディングするダイレクトコーディング(Direct coding)を行う。実施例によるダイレクトコーディングポイントの座標は、ダイレクトコーディングモード(Direct Coding Mode、DCM)と呼ばれる。また実施例によるポイントクラウドエンコーダは、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化(Trisoup geometry encoding)を行うことができる。trisoupジオメトリ符号化はオブジェクトの表現を三角形メッシュ(triangle mesh)のシリーズで表現するジオメトリ符号化である。従って、ポイントクラウドデコーダはメッシュ表面からポイントクラウドを生成することができる。実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に行われる。また実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は八分木ジオメトリコーディング(又は八分木コーディング)と結合して行うことができる。
ダイレクトコーディング(Direct coding)を行うためには、ダイレクトコーディングを適用するための直接モード(direct mode)の使用オプションが活性化されている必要があり、ダイレクトコーディングを適用するノードはリーフノードではなく、特定のノード内に閾値(threshold)以下のポイントが存在する必要がある。またダイレクトコーディングの対象となる全体ポイントの個数は所定の閾値を超えてはいけない。上記条件を満たすと、実施例によるポイントクラウドエンコーダ(又は演算エンコーダ40004)はポイントの位置(又は位置値)をエントロピーコーディングすることができる。
実施例によるポイントクラウドエンコーダ(例えば、表面近似分析部40003)は、八分木の特定のレベルを定め(レベルは八分木の深さdよりは小さい場合)、そのレベルからは表面モデルを使用してノード領域内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化を行うことができる(trisoupモード)。実施例によるポイントクラウドエンコーダは、trisoupジオメトリ符号化を適用するレベルを指定できる。例えば、指定されたレベルが八分木の深さと同一であると、ポイントクラウドエンコーダはtrisoupモードで動作しない。即ち、実施例によるポイントクラウドエンコーダは指定されたレベルが八分木の深さ値よりも小さい場合にのみtrisoupモードで動作することができる。実施例による指定されたレベルのノードの3次元立方体領域をブロック(block)と呼ぶ。一つのブロックは一つ又はそれ以上のボクセルを含む。ブロック又はボクセルはブリック(brick)に対応することもできる。それぞれのブロック内においてジオメトリは表面(surface)と表現される。実施例による表面は最大1回、ブロックの各エッジ(edge)と交差することができる。
一つのブロックは12つのエッジを有するので、一つのブロック内に少なくとも12つの交差点が存在する。それぞれの交差点はバーテックス(vertex、頂点又は頂上)と呼ばれる。エッジに沿って存在するバーテックスは該当エッジを共有する全てのブロックのうち、そのエッジに隣接する少なくとも一つの占有ボクセル(occupied voxel)がある場合に検知される。実施例による占有ボクセルはポイントを含むボクセルを意味する。エッジに沿って検出されたバーテックスの位置は、該当エッジを共有する全てのブロックのうち、該当エッジに隣接する全てのボクセルのエッジによる平均位置である(the average position along the edge of all voxels)。
バーテックスが検出されると、実施例によるポイントクラウドエンコーダは、エッジの開始点(x、y、z)、エッジの方向ベクトル(Δx、Δy、Δz)、バーテックス位置値(エッジ内の相対的位置値)をエントロピーコーディングすることができる。trisoupジオメトリ符号化が適用された場合、実施例によるポイントクラウドエンコーダ(例えば、ジオメトリ再構成部40005)は三角形再構成(triangle reconstruction)、アップ-サンプリング(up-sampling)、ボクセル化過程を行って復元されたジオメトリ(再構成されたジオメトリ)を生成することができる。
ブロックのエッジに位置するバーテックスはブロックを通過する表面を決定する。実施例による表面は非平面多角形である。三角形再構成の過程ではエッジの開始点、エッジの方向ベクトルとバーテックスの位置値に基づいて三角形で示される表面を再構成する。三角形再構成の過程は以下の通りである。(1)各バーテックスの中心(centroid)値を計算し、(2)各バーテックスの値から中心値を引いた値に(3)自乗を行って、その値を全て併せた値を得る。
Figure 2023507879000003
加えられた値の最小値を求め、最小値がある軸に沿って投影(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番目のバーテックスで構成される。
表2-1.Triangles formed from vertices ordered 1,…,n
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)
アップサンプリング過程は三角形のエッジに沿って中間に点を追加してボクセル化するために行われる。アップサンプリング係数(upsampling factor)とブロックの幅を基準として追加点を生成する。追加点はリファインドバーテックス(refined vertice)と呼ばれる。実施例によるポイントクラウドエンコーダはリファインドバーテックスをボクセル化することができる。またポイントクラウドエンコーダはボクセル化された位置(又は位置値)に基づいて特質符号化を行うことができる。
図7は実施例による隣接ノードパターンの一例を示す図である。
ポイントクラウドビデオの圧縮効率を増加させるために、実施例によるポイントクラウドエンコーダはコンテキスト適応演算(context adaptive arithmetic)コーディングに基づいてエントロピーコーディングを行う。
図1ないし図6で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダ(例えば、ポイントクラウドビデオエンコーダ10002、図4のポイントクラウドエンコーダ又は演算エンコーダ40004)は、占有コードをすぐエントロピーコーディングすることができる。またポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダは、現在ノードの占有コードと隣接ノードの占有率に基づいてエントロピー符号化(イントラ符号化)を行うか、又は以前フレームの占有コードに基づいてエントロピー符号化(インター符号化)を行うことができる。実施例によるフレームは、同時間に生成されたポイントクラウドビデオの集合を意味する。実施例によるイントラ符号化/インター符号化の圧縮効率は、参照する隣接ノードの個数によって異なる。ビットが大きくなると複雑になるが、一側に傾くようにして圧縮効率を高めることができる。例えば、3-bit contextを有すると、2の3乗である8つの方法でコーディングする。分けてコーディングする部分は具現の複雑度に影響を及ぼす。従って、圧縮効率と複雑度の適正水準を合わせる必要がある。
図7は隣接ノードの占有率に基づいて占有パターンを求める過程を示す。実施例によるポイントクラウドエンコーダは、八分木の各ノードの隣接ノードの占有率(occupancy)を判断して隣接ノードパターン(neighbor pattern)値を得る。隣接ノードパターンは該当ノードの占有パターンを推論するために使用される。図7の左側はノードに対応するキューブ(真ん中に位置するキューブ)及び該当キューブと少なくとも一面を共有する6つのキューブ(隣接ノード)を示している。図示したノードは同じ深さのノードである。図示した数字は6つのノードとそれぞれ連関する加重値(1、2、4、8、16、32、など)を示す。各加重値は隣接ノードの位置によって順に付与される。
図7の右側は隣接ノードパターン値を示す。隣接ノードパターン値は占有された隣接ノード(ポイントを有する隣接ノード)の加重値が掛けられた値の合計である。従って、隣接ノードパターン値は0から63までの値を有する。隣接ノードパターン値が0であることは、該当ノードの隣接ノードのうち、ポイントを有するノード(占有ノード)がないことを意味する。隣接ノードパターン値が63であることは、隣接ノードが全て占有ノードであることを意味する。図示したように、加重値1、2、4、8が付与された隣接ノードは占有ノードであるので、隣接ノードパターン値は1、2、4、8を併せた値である15である。ポイントクラウドエンコーダは隣接ノードパターン値によってコーディングを行うことができる(例えば、隣接ノードパターン値が63である場合、64つのコーディングを行う)。実施例においてポイントクラウドエンコーダは隣接ノードパターン値を変更して(例えば、64を10又は6に変更するテーブルに基づく)、コーディングの複雑度を減らすことができる。
図8は実施例によるLODごとのポイント構成の一例を示す図である。
図1ないし図7で説明したように、特質符号化が行われる前、符号化されたジオメトリは再構成(復元)される。ダイレクトコーディングが適用された場合、ジオメトリ再構成の動作はダイレクトコーディングされたポイントの配置を変更することを含む(例えば、ダイレクトコーディングされたポイントをポイントクラウドデータの前方に配置)。trisoupジオメトリ符号化が適用された場合、ジオメトリ再構成の過程は三角形再構成、アップサンプリング、ボクセル化の過程を特質はジオメトリに従属するので、特質符号化は再構成されたジオメトリに基づいて行われる。
ポイントクラウドエンコーダ(例えば、LOD生成部40009)はポイントをLODごとに分類する(reorganization)。図面はLODに対応するポイントクラウドコンテンツを示す。図において左側はオリジナルポイントクラウドコンテンツを示す。図において左側から2番目は最低LODのポイントの分布を示し、最右側は最高LODのポイントの分布を示す。即ち、最低LODのポイントは粗い(sparse)分布であり、最高LODのポイントは細かい分布である。即ち、図面の下側に示された矢印方向に沿ってLODが増加するほどポイント間の間隔(又は距離)は短くなる。
図9は実施例によるLODごとのポイント構成の一例を示す図である。
図1ないし図8で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダ(例えば、ポイントクラウドビデオエンコーダ10002、図4のポイントクラウドエンコーダ又はLOD生成部40009)はLODを生成する。LODはポイントを設定されたLOD距離値(又はユークリッド距離(Euclidean Distance)のセット)によって改良レベル(refinement levels)のセットで再整列して生成される。LOD生成過程はポイントクラウドエンコーダだけではなく、ポイントクラウドデコーダでも行われる。
図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を含む。
図4で説明したように、実施例によるポイントクラウドエンコーダは予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングを選択的に又は組み合わせて行うことができる。
実施例によるポイントクラウドエンコーダは、ポイントに対する予測機(predictor)を生成して各ポイントの予測特質(又は予測特質値)を設定するための予測変換コーディングを行う。即ち、N個のポイントに対してN個の予測機が生成される。実施例による予測機は各ポイントのLOD値とLODごとに設定された距離内に存在する隣接ポイントに対するインデックス情報及び隣接ポイントまでの距離値に基づいて加重値(=1/距離)を計算することができる。
実施例による予測特質(又は特質値)は、各ポイントの予測機に設定された隣接ポイントの特質(又は特質値、例えば、色相、反射率など)に各隣接ポイントまでの距離に基づいて計算された加重(又は加重値)を掛けた値の平均値で設定される。実施例によるポイントクラウドエンコーダ(例えば、係数量子化部40011)は、各ポイントの特質(特質値)から予測特質(特質値)を引いた残余値(residuals、残余特質、残余特質値、特質予測残余値などとも呼ばれる)を量子化(quatization)及び逆量子化(inverse quantization)することができる。量子化過程は以下の表の通りである。
表.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);

Attribute prediction residuals inverse quantization pseudo Code
inT PCCInverseQuantization(inT value, inT quantStep) {
if( quantStep ==0) {
return value;
} else {
return value*quantStep;

実施例によるポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測機に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余値をエントロピーコーディングする。実施例によるポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測機に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。
実施例によるポイントクラウドエンコーダ(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドエンコーダ(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は量子化された特質値をエントロピーコーディングする。
実施例によるポイントクラウドエンコーダ(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドエンコーダは、ボクセルから全体領域にスキャンし、各ステップもぽてボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
Figure 2023507879000004
Figure 2023507879000005
Figure 2023507879000006
Figure 2023507879000007
図10は実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す図である。
図10に示したポイントクラウドデコーダは、図1に示したポイントクラウドビデオデコーダ10006の一例であり、図1で説明したイントクラウドビデオデコーダ10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドデコーダは一つ又はそれ以上のビットストリーム(bitstream)に含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドデコーダはジオメトリデコーダ(geometry decoder)及び特質デコーダ(Attribute decoder)を含む。ジオメトリデコーダはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダは復号されたジオメトリ及び特質ビットストリームに基づいて特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
図11は実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す図である。
図11に示したポイントクラウドデコーダは図10で説明したポイントクラウドデコーダの一例であり、図1ないし図9で説明したポイントクラウドエンコーダの符号化動作の逆過程である復号動作を行う。
図1及び図10で説明したように、ポイントクラウドデコーダはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
実施例によるポイントクラウドデコーダは、演算デコーダ(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を含む。
演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004はジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクトコーディング(direct coding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクトコーディング及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、図1ないし図9で説明したジオメトリ符号化の逆過程で行われる。
実施例による演算デコーダ11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ11000の動作は演算エンコーダ40004の逆過程に対応する。
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は図1ないし図9に説明した通りである。
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。図1ないし図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
演算デコーダ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つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
実施例による演算デコーダ11005は、特質ビットストリームを演算コーディングに復号する。
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドエンコーダの特質符号化に基づいて選択的に適用される。
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドエンコーダの符号化によってそれに対応する復号動作を選択的に行う。
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドエンコーダの色変換部40006の動作に基づいて選択的に行われる。
図11のポイントクラウドデコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した図11のポイントクラウドデコーダのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、図11のポイントクラウドデコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
図12は実施例による送信装置の一例を示す。
図12に示した送信装置は、図1の送信装置10000(又は図4のポイントクラウドエンコーダ)の一例である。図12に示した送信装置は、図1ないし図9で説明したポイントクラウドエンコーダの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダー12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011及び/又は送信処理部12012を含む。
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダー12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、図1ないし図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は図1ないし図9に説明した通りである。
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は図1ないし図9に説明した通りである。
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は図4及び図6で説明したポイントクラウドエンコーダ(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は図1ないし図9に説明した通りである。
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は図4に示したポイントクラウドエンコーダ(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は図1ないし図9に説明した通りである。
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダー12006に含まれる。
実施例による演算コーダー12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダー12006は演算エンコーダ40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダー12011は特質符号化を行う。実施例による特質符号化は、図1ないし図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、図1ないし図9に説明した通りである。また図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は図1ないし図9に説明した通りであるので、具体的な説明は省略する。
実施例による演算コーダー12011は、コーディングされた特質を演算コーディングに基づいて符号化する。演算コーダー12011は演算エンコーダ400012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom0)及び一つ又はそれ以上の特質ビットストリーム(Attr0、Attr1)を含む。
スライス(slice)とは、コーディングされたポイントクラウドフレームの全体又は一部を示すシンタックスエレメントのシリーズをいう。
実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は図1及び図2に説明した通りであるので、省略する。
図13は実施例による受信装置の一例を示す。
図13に示した受信装置は、図1の受信装置10004(又は図10及び図11のポイントクラウドデコーダ)の一例である。図13に示した受信装置は、図1ないし図11で説明したポイントクラウドデコーダの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダ13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータ分析13006、演算(arithmetic)デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
演算デコーダ13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は図1ないし図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
実施例による演算デコーダ13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ13002は演算デコーダ11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
実施例によるメタデータ分析13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータ分析13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は図12で説明した通りであるので省略する。
演算デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は図1なしい図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
実施例による演算デコーダ13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダ13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダ13007は演算デコーダ11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
図14は実施例によるポイントクラウドデータの送受信方法/装置に連動可能な構造の一例を示す図である。
図14の構造はサーバー1460、ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のうちのいずれかがクラウドネットワーク1410に連結された構成を示している。ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440又は家電1450などは装置とも呼ばれる。またXR装置1430は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
クラウドネットワーク1400はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク1400は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
サーバー1460はロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のいずれかにクラウドネットワーク1400により連結され、連結された装置1410~1470のプロセシングの少なくとも一部を助けることができる。
HMD(Head-Mount Display)1470は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパーワ供給ユニットなどを含む。
以下、上記技術が適用される装置1410~1450の様々な実施例について説明する。ここで、図14に示した装置1410~1450は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
<PCC+XR>
XR/PCC装置1430はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
XR/PCC装置1430は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置1430は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
<PCC+自立走行+XR>
自律走行車両1420はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
XR/PCC技術が適用された自律走行車両1420は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両1420はXR装置1430とは区分されて互いに連動されることができる。
XR/PCC映像を提供する手段を備えた自律走行車両1420は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両1420はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
実施例によるPCCデータ符号化器は、符号化器、エンコーダ、ポイントクラウド送信装置、ポイントクラウドデータエンコーダなどに対応する。
実施例によるPCCデータ復号器は、復号器、デコーダ、ポイントクラウド受信装置、ポイントクラウドデータデコーダなどに対応する。
実施例によって幾何情報はジオメトリ情報、ジオメトリデータなどとも称され、属性情報は特質情報、特質データなどとも称される。
実施例による方法/装置は、実施例によるポイントクラウドデータ送受信方法/装置を意味する。
図15は実施例によるモールトンコード生成方法を示す。
図15の実施例によるモールトンコード生成は、図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、受信装置10004、ポイントクラウドビデオデコーダ10006、図2の符号化20001、復号20003、図4のPCC符号化器(エンコーダ)、図10及び図11のPCC復号器(デコーダ)、図12のポイントクラウドデータ送信装置、図13のポイントクラウドデータ受信装置、図14のXRデバイス1730、スマートフォン1440、及び図19のモールトンコード生成器19000などにより行われる。実施例によるモールトンコード生成に関連する動作を行う装置及びその方法を実施例による方法/装置と簡単に称する。実施例による装置の各構成要素はハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
実施例はポイントクラウド圧縮をシーケンス及び/又はスライスごとの軸変換を用いて効率的な圧縮及び/又は復号性能向上を支援するための方案に関する。ポイントクラウド圧縮時、属性値が最も近接するように軸変換により点間類似度を上げて、ビットストリームのサイズを縮め、原本対比復号されたポイントクラウドの質が増加する効果がある。
実施例によるポイントクラウドデータ送受信方法/装置は符号化/復号性能を増加させるモールトンコード生成方案を提供する。
実施例は3次元ポイントクラウドデータ(オブジェクトに関するポイントの位置及び属性に関するデータ)を圧縮するために、空間上の座標探索方法であるモールトンコード生成を用いる。
また実施例による方法/装置は実施例によるモールトンコード生成方法を軸の属性に基づいて適応的に行うことができる。実施例によるポイントクラウドはxyz順にジオメトリ圧縮され、xyz順によるモールトンコードのアドレス値が生成される。属性値の予測もジオメトリのxyz順により順序が決定される。
実施例による方法/装置はこのようなxyz順のみに限られず、ポイントクラウドの3次元空間上の位置に適用した属性値のモールトンコードをより補完することができる。実施例によるモールトンコードは、空間上Z順序探索としてポイントクラウドデータのジオメトリ値と属性値を連結する役割をする。このとき、空間上の探索としてジオメトリ値を整列するが、実際ジオメトリ値の距離をモールトンコードが反映できないという短所がある。従って、実施例による方法/装置ではさらに、軸変換を用いた適応型モールトンコードを生成する方案を提案する。
実施例によるポイントクラウド圧縮は3次元空間上の距離を基準として近い点を隣接ノードとして探し、隣接ノードを基準として一番近い1つの値或いは3つの平均値を復号するためにインデックスを伝達する。実施例による復号器は、伝達されたインデックスから現在ポイントに一番近い隣接ノードの位置を確認し、加重値計算により現在ポイントの属性値から隣接ノードの属性値を予測する。従って、符号化器と復号器では属性が類似しながら空間上距離が近い隣接ノードを選択することにより、圧縮、符号化、復号などの効率を上げることができる。
実施例によって、空間上隣接ノードを探す方法として適応型モールトンコード方法を利用することができる。
実施例によるモールトンコードは、実施例による送信装置、エンコーダ、モールトンコード生成器などにより生成される。実施例によるモールトンコード生成方法では、加重値基盤のモールトンコードを生成する。例えば、1)軸基盤の適応型モールトンコード生成方法、2)ビット割り当て型モールトンコード生成方法、3)値分布によるモールトンコード生成方法などがある。
実施例による軸基盤の適応型モールトンコード生成方法に関連して、実施例による方法/装置は軸基盤の適応型モールトンコード生成方案を行う。実施例による方法/装置はポイントクラウドの境界ボックスを計算し、軸の長さに基づいてビットインターリービング単位を調節する。実施例によるモールトンコード演算方式はポイントに対するxyz軸に対する座標値の2進ビット値があるとき、zyxzyxzyx…の順に基づいてビットインターリービングしてモールトンコードを生成する。実施例による方法/装置はx、y、z軸の長さをそれぞれの最大エッジ(max edge)、中間エッジ(mid edge)、最小エッジ(min edge)で割り当て、最も長い軸を確認する。最も小さい軸を基準として長い軸と中間軸の長さを分け、分けた値にlog2をつける。ここで、計算された値を切り上げた数値がカウントY(count y)とカウントZ(count z)になる。各カウント値はビットを何回繰り返すかに関する回数を示す。例えば、x軸の長さが10、y軸の長さが40、z軸の長さが20であると、カウントyが2であり、カウントzが1になる。またモールトンコードのビット順序はzzyyxzyyxzyxzyx..のようである。即ち、zは1回繰り返され、yは2回繰り返されて、モールトンコードが軸の長さに基づいて生成される。
実施例による方法/装置では境界ボックス内の全ての点に対して上記の過程を行う。各点はモールトンコードに一対一マッピングされる。マッピングされたモールトンコードを昇順整列すると、八分木(octree)上で深い優先の探索順で点を探索することができる。
実施例によるビット割り当て型のモールトンコード生成方法に関連して、実施例による方法/装置は、ポイントクラウドのデータとは関係なく、任意のx、y、zのうちの一つに対して加重値を適用してモールトンコードをビットインターリービングする。実施例によって、データの特性に関連する境界ボックスを計算しなくても、実施例による方法/装置はポイントクラウドデータの獲得過程で幅(width)、高さ(height)、深さ(depth)に基づいて、特定の軸は短く或いは長くデータを得ることができる。即ち、特に境界ボックスの情報がなくても、モールトンコードを生成することができる。
例えば、ポイントクラウドデータが空間上x軸とz軸に広く分散しているが、y軸に点が集まっている分布度を有することができる。また、ライダーデータの場合、差の左右と前後にはデータが広がっている場合が多いが、上下のデータは重要度が落ちる。
従って、かかるデータシーケンスの場合は、x、z軸にモールトンコード生成のためのビットをもっと割り当ててモールトンコードを生成することができる。
実施例による値分布によるモールトンコード生成方法に関連して、実施例による方法/装置は値分布によるモールトンコードを生成する。実施例による方法/装置はポイントクラウドのデータx、y、z値の全てをスキャンして得た分布度に基づいてモールトンコードをビットインターリービングしてモールトンコードを生成する。値分布によるモールトンコード生成方案と軸基盤のモールトンコード生成方案との差は、値のない部分に対して加重値を計算しなくてもよいということである。例えば、y軸の境界ボックスは0~100の値を有するが、境界ボックス内で10~50の区間は実際に点が分布していないこともある。点がない部分まで考慮して値分布によるモールトンコードを生成することができる。
実施例による適応型モールトンコード方法に加えて、ポイントクラウドの境界ボックスを拡張して適応型モールトンコードの演算方法を具体化して多様化することができ、適応型モールトンコード方法を使用したとき、性能向上の効果が得られる。
実施例は空間上ユークリッド距離が同一であっても、モールトンコード上では差がある問題を解決することができる。軸によるxyz軸の順序を様々に変更し、コンテンツ単位、タイル単位、スライス単位、ジオメトリ値単位、属性値単位などに基づいて適用可能な様々な条件を提示する。また実施例はしきい値によって軸変換の変更有無を定義する。従って、実施例はコンテンツ、タイル、スライス、範囲、属性値単位で適応型空間探索を行い、近い隣接ノードの探索のための適応型モールトンコードのマッピング条件を提案する。実施例によるポイントクラウド符号化及び復号動作は、一つのモールトンコードタイプのみを利用することではなく、ポイントクラウドデータの様々なデータ特性に合わせてモールトンコードを変形できる効果を提供する。
実施例はポイントクラウドデータのモールトンコード生成過程で発生する実際座標系とモールトンコード距離の差を反映できない問題を改善するための適応型モールトンコード生成方案を提供する。即ち、実施例による方法はコンテンツごと、タイルごと、スライスごと、範囲、属性値、ジオメトリ値単位で軸ごとの適応型モールトンコードを異なるように生成できるという効果がある。また実施例によるしきい値の設定方式により、軸ごと/密度ごとなどのオプションを異なるようにして、コンテンツごと、タイルこと、スライスごと、属性値、ジオメトリ値に適用するか否かを異なるように設定することができる。
例えば、実施例による軸順序変更動作は、実施例による送信装置又はエンコーダでジオメトリ符号化(エンコーディング)前に行われる。また実施例による軸順序変更動作は、ジオメトリ符号化後の属性符号化時、軸の順序を変更する過程で行われる。さらに軸ごとの変更時、しきい値がある場合としきい値がない場合がいずれも可能である。しきい値の有無に関連する動作はジオメトリ符号化前に行われるか、又はジオメトリ符号化後の属性符号化時に行われる。
実施例は上述した軸基盤の適応型モールトンコード生成方法、ビット割り当て型モールトンコード生成方法と値分布によるモールトンコード生成方法などに結合して行われる。
実施例による方法/装置は、実施例による方法(軸基盤の適応型モールトンコード生成方法、ビット割り当て型モールトンコード生成方法と値分布によるモールトンコード生成方法)などに基づいてモールトンコードを生成し、軸/密度/しきい値による条件などに基づいてモールトンコードの生成順序をさらに変更することができる。実施例による条件などに基づいてモールトンアドレスを変更して、範囲によるモールトンコードを異なるように生成することができる。
図15を参照すると、実施例によるモールトンコード生成方法を示す。
実施例によるモールトンコード生成順序は2つの方法を含む。軸長さによるモールトンコード生成順序、密度によるモールトンコード生成順序がある。
ポイントはジオメトリデータの位置値であるXYZ座標値15000を有する。各軸のX、Y、Z座標値はビット15010で表される。各軸の座標値がN個のビットを有すると、各軸をスキャンしながら各軸のビットを用いて一つのビットストリームで整列して15020、モールトンコードを生成することができる15030。例えば、ビットを整列する順序がXYZ順であり、X軸のN番目のビット、Y軸のN番目のビット、Z軸のN番目のビット、… 、X軸の2番目のビット、Y軸の2番目のビット、Z軸の2番目のビット、… 、X軸の1番目のビット、Y軸の1番目のビット、Z軸の1番目のビットの順にモールトンコードを生成することができる。
実施例によるモールトンコード生成は、図4のPCCエンコーダ内、図4のPCCエンコーダ内のジオメトリ符号化及び特質符号化の間、図4の特質変換器4007、図11のPCCデコーダ、図11のPCCデコーダのジオメトリ復号及び特質復号の間、及び/又は図4及び図11に対応するエンコーダ/デコーダなどにより行われる。
実施例によるポイントクラウドデータのポイントを表現する座標系はXYZ軸であってもよく、他のタイプの座標系をさらに含んでもよい。実施例によるモールトンコード生成方式を様々な座標系によるポイントの位置値にも適用できる。以下では、例えば、XYZでポイントを表す。XYZは座標系タイプによって他の因子に置き換えられて解釈されることができる。例えば、更なる座標系は円筒座標系、或いは球面座標系、以下、xyzからポイントクラウドを表現するための変換された座標系をさらに含む。
図16は実施例によるモールトンコード生成方法を示す。
図16は図15で説明したモールトンコード生成方法と結合可能な実施例による一つ又はそれ以上のモールトンコード生成動作を示す。図16の各動作は図15で説明した実施例による方法/装置などによって行われることができる。
実施例による方法/装置は軸によるモールトンコードを生成する(S16000)。実施例による方法/装置は軸によるモールトンコードを生成する(S16010)。実施例による方法/装置は軸によるモールトンコードを生成する(S16020)。実施例による方法/装置は軸基盤方式(S16000)、密度基盤の方式(S16010)及びしきい値基盤(S16020)のうちのいずれかを使用するか、又は少なくとも一つの方式を互いに結合して使用することができる。以下、各方式について説明する。各方式の説明順序は実施例の意味を制限しない。
例えば、実施例によるモールトンコード生成方法は、ただ軸によるモールトンコード生成、ただ密度によるモールトンコード生成、軸及び密度の全てによるモールトンコード生成、軸によるモールトンコード生成及びしきい値適用の全てを用いる方法、密度によるモールトンコード生成及びしきい値適用の全てを用いる方法、軸及び密度の全てによるモールトンコード生成、及びしきい値適用の全てを用いる方法などを含む。
S16000 軸によるモールトンコード生成
実施例によるポイントクラウドデータは一つ又はそれ以上のフレームを含む。一つのフレームはx、y、z軸上に存在するポイントを含む。空間上分布している点を含む単位を境界ボックスという。境界ボックスはx、y、z値のmaxからx、y、z値のminを含む空間により定義される。シーケンスによって境界ボックスの長さ/サイズが変わる。各軸の長さ(X軸の長さ、Y軸の長さ、Z軸の長さ)は点の分布がどのくらい長く或いは短く分布しているかを示す。xyzの3つの軸を昇順及び/又は降順に整列して3つの軸の順序を変えることができる。実施例による軸の順序をシーケンスごと、タイルごと、スライスごと或いはジオメトリ単位、属性単位、ジオメトリと属性単位などに基づいて決定することができる。
実施例によって、各軸ごとに同一のモールトンコードを生成することができる。実施例によって、各軸ごとに異なるモールトンコードを生成することができる。実施例による境界ボックスは幅(width)、深さ(depth)、高さ(height)を有する。境界ボックスが位置する各軸に基づいて、軸の長さを確認することができる。例えば、y軸、z軸、x軸の順序が一番長い軸から降順に短い軸の順序である。3つの軸からモールトンコードを生成するとき、モールトンコードを構成するビットを1番目にはy軸のn番目のビット、z軸のn番目のビット、x軸のn番目のビットの順に生成することができる。3つの軸の長さの昇順及び/又は降順にモールトンコードのビット順序を混ぜる動作である。即ち、各軸のビットを実施例による方式と基準に基づいてビットインターリービングしてモールトンコードを生成することができる。
従って、実施例による方法/装置は境界ボックスの各軸の長さを比較して、長さ特性に基づいて様々なビットインターリービングを行うことができる。かかるモールトンコードのビットインターリービングは、実際データの特性及びデータの分布度を反映するモールトンコードの変化を提供し、結果としてポイントクラウドの効率的圧縮及び復元に対する効果を提供する。
実施例による軸基盤のモールトンコード生成動作に関連して、
(x_i,y_i,z_i)が現在ポイントIの位置であると、全ての3つの軸内の境界ボックスの長さはlength_x、length_y、length_zのように計算される。一番長い軸の方向を考慮するとき、より関連する特質隣接候補を探すことができる。対応する隣接サーチのための一番長い軸を考慮することができる。特に、カテゴリ3データの場合、X軸又はY軸内の密度分布度がもっと密である。Z軸よりX軸及びY軸をサーチすれば、最も近い隣接をより速く探すことができる。
得られたlength_x、length_y、length_zは昇順に格納される。各軸の長さはSortedAxisOrder[0]、SortedAxisOrder[1]、SortedAxisOrder[2]にそれぞれ対応する。分類(Sorting)されたオーダーはモールトンコードX、Y、Z座標系順の入力(input)になる。
実施例による分類されたオーダーは、ビットインターリービングの順になる。現在z、y、x順は整列されたaxisSortedAxisOrder[2]、SortedAxisOrder[1]、SortedAxisOrder[0]により変更可能である。同一のモールトンコード実装(implementation)を有するように順序を生成することができる。整列された軸は空間検索順序に対応するMC_iの順に適応的に変更可能である。最も近い隣接の重量予測(weight prediction)の1番目の候補のために、一番長い軸方向の影響が考慮される。実施例による方法/装置はyxzビットインターリービング順の変更された空間順序を提供することができる。
実施例は動的モールトンコードによる空間を検索する順序を設定する。
最も近い隣接の候補は変更された適応的モールトンコードによって変更される。
一番長い軸方向に隣接候補がもっと近い。従って、適応的モールトンコード予測が空間存在の側面でより効果的である。
実施例によるモールトンコード生成動作は、モールトンアドレス生成を変更することにより、効率的に適応的モールトンコードを提供できるという長所がある。
実施例はモールトンアドレス順を変更するために、スライスの最小/最大長さ比率のしきい値をさらに適用することができる。
実施例によるモールトンコードを使用すると、時間複雑度が低く、符号化/復号の時間効率が増加する効果がある。
S16010 密度によるモールトンコード生成
ポイントクラウドデータを構成するポイントが分布した空間の各軸に対する密度が存在する。実施例による方法/装置は、実施例による軸基盤の適応型モールトンコード生成方法、ビット割り当て型モールトンコード生成方法、及び値分布によるモールトンコード生成方法などに基づいて各軸に対するポイントの密度を生成することができる。
各軸ごとに密度が異なってもよい。例えば、軸の長さが短いほど密度値は大きくなる。
実施例によって、密度が高い順に各軸に対する座標値のビットを整列(ビットインターリービング)することができる。実施例によって、密度が低い順に各軸に対する座標値のビットを整列(ビットインターリービング)することができる。密度が高い順にビット整列する場合、実施例によって、x、y、z軸の順にデータが表現されたポイントを再度密度によって整列することができる。例えば、x軸の密度が10であり、y軸の密度が5であり、z軸の密度が8であれば、密度の昇順にビットインターリービングしてモールトンコード生成時、y、z、xの順にモールトンコードを生成することができる。
ポイントの変更位置はジオメトリ単位、属性単位、ジオメトリ及び属性単位などにより変えることができる。またシーケンス単位、タイル単位、スライス単位で軸順序の単位を変えることができる。
実施例によるxyz順をモールトンコードをそのまま使用する方式(図16)からさらに進んで、様々な基準に基づいてxyz順を変更してモールトンコードを生成する。かかるモールトンコードを使用してポイントクラウドデータを圧縮して復元する。ポイント位置が変更されることにより、一番長い軸及び/又は短い軸に対して、関連するジオメトリ値及び/又は属性値の隣接するノードを容易に探すことができる。即ち、軸又は密度などの実際ポイントクラウドデータのポイントの特性に合わせてビットインターリービングされたモールトンコードによって、隣接ノードを容易に探せるように分布される効果がある。
即ち、実施例による符号化器及び/又は復号器に入力されたポイントクラウドのxyzデータの順序のみを変えることにより、符号化/復号の効率を高めることができる。軸順を変更する動作の遅延(latency)が問題にならず、効率的に符号化/復号の効率が増加する。
特に、カテゴリ3に該当するポイントクラウドデータ、例えば、自律走行データなどの低密度データであって隣接データ間の連関性が低いか、又はカテゴリ1のような静的なデータであって高密度を有して隣接データ間の連関性の高いデータなどがあり得る。かかるデータの反射度情報は特定の軸が短い特性がある。長い軸を1の位(モールトンコード構成時、順序上1の位、ビットストリーム上最も右の1番目のビット)に先に整列するほど、長い軸の探索を先に行うことができる。特定の軸で先に探索すると、探索範囲内により多い隣接ノードを有することができるので、属性値予測に効率的な効果を提供することができる。さらに長い軸を先に探索することにより、圧縮効率が増加する。従って、実施例による方法/装置はポイントクラウドデータの速い圧縮及び復元のために、軸、密度、その他の特性などに基づいて範囲内のより多い隣接ノードを探索できるモールトンコード整列方法を用いる。
図17に実施例による条件によってモールトンコードを生成する方法についてもっと説明する。
実施例による密度基盤のモールトンコード生成動作は、空間上、特定の平面にxoy/yoz/xozに基づいてプロジェクションを行って比率(ratio)を生成する。この時、比率(ratio)は全体ポイントの数でポイントの数を割って生成される。ここに、密度基盤のモールトンコード変換に対するしきい値を、例えば、20%に設定する。
実施例による条件によってモールトンコードに関する設定情報をエンコーダで生成し、デコーダにビットストリームのシグナリング情報として伝達する。
S16020 モールトンコード生成順序のしきい値
例えば、境界ボックスの形態はポイントの分布、即ち、データ特性によって様々である。境界ボックスが立方体に近い形態であれば、モールトンコードのビットインターリービングを行わなくてもよい。従って、かかる様々なシナリオをカバーするために、実施例によるしきい値により、境界ボックスが立方体に近いか否かを判断する方案をさらに提供する。
実施例によるポイントクラウドデータの特性に関連して、境界ボックスの一軸が長いか又は短い直方体形態を有する境界ボックスがあり得る。
かかる直方体の境界ボックスのポイントの圧縮及び復元効率は、直方体ではない境界ボックスのポイントの圧縮及び復元効率より高い。
実施例によるポイントクラウドデータはカテゴリ1のようなデータ特性を有し得る。かかるポイントの境界ボックスは立方体のタイプを有することができる。即ち、静的なオブジェクトを3Dスキャンして得たデータ、高密度及び高連関性のデータなどは立方体のシーケンスを有し得る。ポイントクラウドデータを分割(partitioning)すると、スライスが立方体を有するデータなどがあり得る。かかるデータ特性により、データの圧縮及び復元の効率を増加させることが難しい。
従って、実施例による軸/密度基盤の昇順/降順方式などを決定した後、データの形態を判断することができる。例えば、境界ボックスの一番長い軸対比一番短い軸の比率が特定のしきい値より小さいか又は大きいと、モールトンコード生成順序を変更しないことができる。実施例による軸基盤(S16000)及び/又は密度基盤(S16010)に加えて、さらにしきい値基盤の追加判断オプションがあってもよい。図18を参照しながら、実施例によるしきい値基盤の判断方法について説明する。
実施例によるポイントクラウドデータ送信装置は、ポイントクラウドデータを符号化するエンコーダ;及びポイントクラウドデータを含むビットストリームを送信する送信機;を含む。
実施例によるエンコーダはポイントクラウドデータに対するモールトンコードを生成する。
実施例によるエンコーダはポイントクラウドデータのジオメトリデータに対する各軸に基づいてモールトンコードの順序を生成する。
ジオメトリデータは各軸に対する座標値を含み、モールトンコードは各軸に対する座標値の2進ビットに基づいて生成され、モールトンコードの2進ビットは各軸の長さに基づいて整列される。
実施例によるエンコーダはポイントクラウドデータのジオメトリデータに対する密度に基づいてモールトンコードの順序を生成する。
ジオメトリデータは各軸に対する座標値を含み、モールトンコードは座標値の2進ビットに基づいて生成され、モールトンコードの2進ビットは各軸に対する一つ又はそれ以上のポイントの密度の大きさに基づいて整列される。
実施例によるエンコーダはポイントクラウドデータのジオメトリデータに対する密度に基づいてモールトンコードの順序を生成する。
ジオメトリデータは各軸に対する座標値を含み、モールトンコードは座標値の2進ビットに基づいて生成され、モールトンコードの2進ビットは各軸に対する一つ又はそれ以上のポイントの密度の大きさに基づいて整列される。
実施例によるエンコーダのモールトンコード生成動作は、ポイントクラウドデータの一つ又はそれ以上のポイントの分布に関連するしきい値に基づいて行われる。
実施例によるポイントクラウドデータを含むビットストリームを受信する受信機又は受信インターフェース;及びポイントクラウドデータを復号するデコーダ;を含む。
実施例によるデコーダはポイントクラウドデータに対するモールトンコードを生成する。
図17は実施例によるモールトンコード生成方法を示す。
図17は図16の軸によるモールトンコード生成(S16000)及び密度によるモールトンコード生成(S16010)の具現を示す。実施例による方法/装置はモールトンコードを軸によって生成し、密度によってモールトンコードを生成し、及び/又は軸+密度によってモールトンコードを生成する。
実施例によるエンコーダ及びデコーダのためのポイントクラウドデータのポイントは位置値を有する。この位置値はビットで表された値を有する17000。空間上の全ての点はx,y,zのジオメトリ座標値を有する17000。座標値は2進ビットを有する17000。
実施例による方法/装置は2進ビットで表されたx,y,z17000を軸(S16000)の昇順、降順、密度の昇順、降順(S16010)、又は軸+密度組み合わせ基盤のうち、整列方式のタイプを定めることができる。定められた順序に基づいて各軸の位置値を再整列する17010。
例えば、上記特定の基準によってx、y、zの順からz,y,xの順に整列されたxyzビットを生成する17020。
また実施例によって、特定の基準なしにすぐ(ユーザがzxyの順に符号化することを入力)入力がエンコーダに入力されると、分類(sorting)を省略することができる。シグナリングのみで分類なしにすぐモールトンコードを生成することもできる。
変更された順にビットインターリービングを行った後17020、一つの2進ビットを有する座標値に対するモールトンアドレスを生成する17030。z、x、yの順に1つのビットずつ整列して3つの軸に対する一つのビットストリームであるモールトンコード17030を生成する。
実施例による方法/装置は変更されたモールトンアドレスに基づいてポイントを符号化し、復号する。
変更されたモールトンアドレスによって、一番長い軸の点を先に検索することができる。効率的な検索のためのモールトンアドレスの生成のために、実施例による方法/装置はポイントを含む境界ボックスに関連する情報(軸長さ、密度値)を用いる。
実施例による方法/装置は各軸ごとに密度を計算する。密度は軸の長さが短いほど高くなる。軸ごとにポイントの数が異なることではなく、一定の空間又は境界ボックスに含まれるポイントの数が同一であるためである。密度を考慮してモールトンコードのビットをインターリービングすることができる。また実施例によって、モールトンコードのビットインターリービング時、しきい値を適用することができる(S16020)。
実施例によって、長さが短い軸は隣接ノードを探索しなくてもよい。従って、長い軸を中心として隣接ノードを探索することがより効率的である。かかる隣接ノード探索の効率性のために、モールトンコードをビットインターリービングする。
図18は実施例によるモールトンコード生成順序のしきい値を示す。
図18は図16のモールトンコード生成順序のしきい値に関連する動作(S16020)を示す。
一例として、しきい値を入力する過程を疑似コード(pseudo-code)で示すと以下の通りである。
inline void
computeAxisOrder()
{
auto bbox = pointCloud.computeBoundingBox();
for(int i = 0; i <3; i++) {
axisInfo[i].length = bbox.max[i] - bbox.min[i];
axisInfo[i].order = i;
}
sort(axisInfo.begin(), axisInfo.end());
double minMaxAxisRatio = double(axisInfo[2].length) / double(axisInfo[0].length);
if(minMaxAxisRatio < 5.0) {
axisInfo[0].order = 0;
axisInfo[1].order = 1;
axisInfo[2].order = 2;
}
}
実施例による各軸に対する長さ(axisInfo[i].length)は境界ボックスの長い軸(bbox.max[i])及び境界ボックスの短い軸(bbox.min[i])の間の差に基づいて得られる。
各軸ごと(for(int i=0;i<3;i++))に各軸に対する長さ及び各軸の順序(axisInfo[i].order)を確認することができる。
実施例による最小最大軸比率(minMaxAxisRatio)はしきい値を示す。実施例によるしきい値は、長い軸対比中間軸の比率である。また実施例によって、しきい値はさらに中間軸対比短い軸の比率、長い軸対比短い軸の比率などを含む。軸の長さに対する様々な比率値が実施例によるしきい値として適用される。
実施例によって、2つの軸間の比率を計算する(double minMaxAxisRatio=double(axisInfo[2].length)/double(axisInfo[0].length))。
しきい値(minMaxAxisRatio)を比較する動作は、例えば、5.0を基準として最小最大軸比率が5.0より小さいか否かを確認する。最小最大軸比率が一定値より小さい場合(5.0値以外に他の値を利用できる)、軸の順序をaxisInfo[0].order=0;axisInfo[1].order=1;axisInfo[2].order=2;のように決定する。例えば、境界ボックスが立方体形態に近い場合、モールトンコード順序を変更しなくてもよい。境界ボックスが直方体形態に近い場合には、モールトンコード順序を変更することができる。
実施例によって、モールトンコード生成順序(S16000及び/又はS16010)及びモールトンコード生成順序のしきい値(S16020)は共に使われてもよい。また各動作(S16000、S16010、S16020)はジオメトリごと、属性ごと、ジオメトリと属性ごとに個々に異なるように適用される。
図19は実施例によるモールトンコード生成器を示す。
図19は図15ないし図18などに説明した動作を行う実施例によるモールトンコード生成器19000を示す。
図19のモールトンコード生成器は、図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、受信装置10004、ポイントクラウドビデオデコーダ10006、図2の符号化20001、復号20003、図4のPCC符号化器(エンコーダ)、図10及び図11のPCC復号器(デコーダ)、図12のポイントクラウドデータ送信装置、図13のポイントクラウドデータ受信装置、及び図14のXRデバイス1730、スマートフォン1440などに対応するか、又は含まれる。
図19は図16などの関連動作を行う実施例によるPCC符号化器及び復号器の構成要素を示す。
モールトンコード生成器19000は、実施例による条件によるモールトンコード生成動作及びしきい値の確認後、ジオメトリ/属性ごとのモールトンコードを生成する動作を行う。
モールトンコード生成器19000は実施例によるPCC符号化器内に含まれる。モールトンコード生成器19000はPCC符号化器内のジオメトリコーディング部及び特質コーディング部の間でモールトンコードを生成する。実施例による方法/装置は実施例によって生成されたモールトンコードに基づいて、LOD生成などの動作を行う。
実施例によるモールトンコード生成器19000は、軸ごと/密度ごとの条件に基づいてモールトンコードを生成する。実施例による軸ごと/密度ごとの条件はシステムの設定値であるか、又はユーザから入力された値である。また実施例による送信方法/装置は、軸ごと/密度ごとの条件に関連してパラメータ情報(図21ないし図24を参照)をビットストリーム(図20を参照)に含ませて受信方法/装置に伝達する。
実施例によるモールトンコード生成器19000はモールトンコード生成部などとも称される。
実施例によるモールトンコード生成器19000は、ジオメトリ符号化前に(例えば、図4のジオメトリ符号化パート)行われ、ジオメトリ符号化後(例えば、図4のジオメトリ符号化パート及び特質符号化パートの間)に行われる。例えば、実施例によるモールトンコード生成部は実施例によるジオメトリエンコーダに連結される。実施例によって、モールトンコード生成部/ジオメトリエンコーダ及び/又はジオメトリエンコーダ/モールトンコード生成部などの構成がある。また送信側に対応する受信側に対して実施例によるモールトンコード処理部はジオメトリデコーダに連結され、実施例によってモールトンコード処理部/ジオメトリデコーダ及び/又はジオメトリデコーダ/モールトンコード処理部などの構成がある。
実施例による受信方法/装置はモールトンコード生成器19000の逆過程に基づいてポイントクラウドデータを復号する。
実施例による送信方法/装置は以下のようなパラメータ(シグナリング情報又はメタデータなどとも称される)に基づいてポイントクラウドデータを符号化する。
実施例による方法/装置は実施例による符号化動作を行い、符号化動作に関連する以下のようなパラメータを生成し、ビットストリーム(図20ないし図24を参照)に含ませて、実施例による受信方法/装置に伝達する。
実施例による送信方法/装置は軸ごと/密度ごとの条件(axis_condition_selection)を定める。所定の条件でモールトンコード生成部19000でモールトンコードのビットインターリービングを行う。
実施例による送信方法/装置はビットインターリービング順序を昇順/降順(ascending_order_flag)に基づいて定義する。ビットインターリービング順序はビットストリーム(図20ないし図24を参照)により符号化器から復号器に伝達される。例えば、昇順オーダーフラグ(ascending_order_flag)が0であると昇順を示し、昇順オーダーフラグ(ascending_order_flag)が1であると降順を示す。各整数値は様々に変更可能である。
実施例による方法/装置はデータ特性によって所定のしきい値(axis_ordering_threshold)に基づいてモールトン生成の有無を決定する。
シーケンスごと/タイルごと/スライスごとにモールトンコード生成条件及びしきい値適用有無を異なるように適用することができる。このとき、使用された値はそれぞれシグナリング情報として(図20ないし図24を参照)定義できる。
実施例による符号化器に対応する復号器は符号化器の一連の過程を全て同一に行う。
条件によるモールトンコード生成部19000としきい値による順序変更有無19000はジオメトリコーディング前、ジオメトリコーディング後にそれぞれ或いは両方に適用される。
図20は実施例によるポイントクラウドビットストリームの構成を示す。
実施例による方法/装置は、図20のようなポイントクラウドビットストリームを生成して得られる。例えば、図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、受信装置10004、ポイントクラウドビデオデコーダ10006、図2の符号化20001、復号20003、図4の符号化過程、図11の復号過程、図12の送信装置、図13の受信装置、図14のXRデバイス1430、図19のモールトンコード生成器19000、図25及び図26の実施例による方法などにより、ジオメトリ情報、特質情報及び/又はそのためのメタデータを含むパラメータを含むポイントクラウドビットストリームがそれぞれ生成(符号化)され、受信(復号)される。
実施例のための情報をシグナリングすることができる。
各略語の意味は以下の通りである。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)。ここで、ブリックはブロック、スライスなどの用語とも称される。
実施例によるポイントクラウドデータは、図20のようなビットストリームの形態を有する。ポイントクラウドデータは実施例によるシグナリング情報などを含む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などを含む。
実施例によるシグナリング情報はSPS、GPS、APS、TPSなどに追加されてシグナリングされる。
実施例によって、シグナリング情報はTPS又は各スライスごとのジオメトリ(Geom)又はスライスごとの特質(Attr)に追加されてシグナリングされる。
実施例によるポイントクラウドデータの構造はシグナリング情報を含むパラメータセット、ジオメトリ、特質を符号化/復号/データアクセスの観点で効率的な効果を提供する。
実施例によるポイントクラウドデータ送信/受信装置に関連するポイントクラウドデータは、シーケンスパラメータ、ジオメトリパラメータ、特質パラメータ、タイルパラメータ、ジオメトリビットストリーム及び特質ビットストリームのうちのいずれかを含む。
以下、図面を参照しながら、具体的なシグナリング情報のシンタックスについて説明する。参考として、実施例によるシグナリング情報の名称はシグナリング情報が意図する意味/機能範囲内で変形/拡張して理解することができる。シグナリング情報のフィールドは第1シグナリング情報、第2シグナリング情報などに区別して呼ばれる。
上述したように、ポイントクラウドデータ送信装置(例えば、図1、図11、図14及び図1で説明したポイントクラウドデータ送信装置)は、符号化されたポイントクラウドデータをビットストリーム形態で送信する。実施例によるビットストリームは一つ又はそれ以上のサブビットストリームを含む。
ポイントクラウドデータ送信装置(例えば、図1、図4、図12及び図19などで説明したポイントクラウドデータ送信装置)は、送信チャネルのエラーを考慮して、ポイントクラウドデータの映像を一つ又はそれ以上のパケットに分けてネットワークを介して送信する。実施例によるビットストリームは一つ又はそれ以上のパケット(例えば、NAL(Network Abstraction Layer)ユニット)を含む。従って、劣悪なネットワーク環境で一部パケットが損失されてもポイントクラウドデータ受信装置は残りのパケットを用いて該当映像を復元することができる。ポイントクラウドデータを一つ又はそれ以上のスライス又は一つ又はそれ以上のタイルに分割して処理することができる。実施例によるタイル及びスライスはポイントクラウドデータのピクチャを分割(partitioning)してポイントクラウド圧縮符号化処理するための領域である。ポイントクラウドデータ送信装置はポイントクラウドデータの分けられた領域ごとの重要度によって各領域に対応するデータを処理して高品質のポイントクラウドコンテンツを提供する。即ち、実施例によるポイントクラウドデータ送信装置は、ユーザに重要な領域に対応するデータをより良好な圧縮効率と適切な遅延(latency)を有してポイントクラウド圧縮符号化処理することができる。
実施例によるポイントクラウドコンテンツの映像(又はピクチャ)は、ポイントクラウド圧縮符号化のための基本プロセシングユニット単位に分割される。実施例によるポイントクラウド圧縮符号化のための基本プロセシングユニットは、CTU(Coding Tree unit)、ブリック(brick=スライス)などを含み、この例示に限られない。
実施例によるスライスは、一つ又はそれ以上の整数個のポイントクラウド圧縮符号化のための基本プロセシングユニットを含む領域であり、直方体形態ではない。実施例によるスライスは、パケットにより送信されるデータを含む。実施例によるタイルは、映像内に矩形状形態に分割された領域であり、一つ又はそれ以上のポイントクラウド圧縮符号化のための基本プロセシングユニットを含む。実施例による一つのスライスは、一つ又はそれ以上のタイルに含まれる。また実施例による一つのタイルは一つ又はそれ以上のスライスに含まれる。
実施例によるビットストリームは、シーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、及びタイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及び一つ又はそれ以上のスライスを含む。
実施例によるSPSはプロファイル、レベルなどのシーケンス全体に関する符号化情報であって、ピクチャ解像度、ビデオフォーマットなどのファイル全体に関する包括的な情報を含む。
実施例による一つのスライス(例えば、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)及びペイロードに含まれたデータに関する情報などを含む。特質ビットストリームはヘッダ(例えば、特質スライスヘッダ又は特質ブリックヘッダ)及びペイロード(例えば、特質スライスデータ又は特質ブリックデータ)を含む。
実施例に関連するパラメータ情報は、シーケンス、ジオメトリ、特質、タイル、スライスなどの様々な領域(ユニット)に伝達され、実施例による受信方法/装置は静的/動的にポイントクラウドデータをアクセスできる効果がある。
実施例を行うために関連情報をシグナリングすることができる。実施例によるシグナリング情報は送信端又は受信端などで使用される。
ジオメトリデータ(Geom):ジオメトリビットストリーム(Geometry bitstream)=ジオメトリスライスヘッダ(Geometry slice header)+ジオメトリスライスデータ(Geometry slice data)
特質データ(Attr):特質ビットストリーム(Attribute bitstream)=特質スライスヘッダ+特質スライスデータ(Attribute brick data)
実施例による方法/装置はポイントクラウドを領域ごとに分けて処理できるように、タイル又はスライスを提供する。領域ごとに分けるとき、それぞれの領域は互いに異なる重要度を有する。
その重要度によって他のフィルタ、他のフィルタユニットを適用できるように提供することにより、複雑度(complexity)は高いが、結果品質(quality)が良好なフィルタリング方法を重要な領域に使用できる方案を提供することができる。
領域ごとにポイントクラウドデータを分けるとき、それぞれの領域ごとに異なる隣接ポイント集合生成オプションを設定して、複雑度(complexity)は低いが結果の信頼度は多少落ちるか、又は逆に複雑度は高いが信頼度が高い選択方案を提供することができる。受信機の処理能力(capacity)によって異なるように設定できる。
受信機の処理能力(capacity)によってポイントクラウド全体に複雑なフィルタリング方法を使用する代わりに、領域ごとに(タイルに分けるか、又はスライスに分けられた領域)互いに異なるフィルタリングを適用することによりユーザに重要な領域により良好な画質とシステム上適切な遅延(latency)を保障することができる。
実施例による方法/装置がポイントクラウドデータをタイルに分ける場合、各タイルごとに異なるフィルタ、異なるフィルタユニットを適用することができる。
実施例による方法/装置がポイントクラウドデータをスライスに分ける場合、各スライスごとに異なるフィルタ、異なるフィルタユニットを適用することができる。
ポイントクラウドがタイルに分けられる場合、各タイルごとにシグナリング情報を伝達することができる。ポイントクラウドがスライスに分けられる場合、各スライスごとにシグナリング情報を伝達することができる。
実施例によるシグナリング情報は様々な位置に選択的又は重複的に含まれる。
実施例によるシーケンスは複数のタイルを有し、タイルは複数のスライスを有し、一つのスライスは一つの八分木を含む。SPSはシーケンスレベルであり、APSもシーケンスレベルである。SPSはより全般的な(general)な情報を含む。ASPはAttributeにもっと固有の(specific)情報を含む。TPSはシーケンスをタイルに分けるとき、タイルごとに異なる技法を適用する。APSに設定された情報があり、TPSに設定された情報があれば、APSはデフォルト(default)することができる。TPSに設定情報がなければ、デフォルト(default)を使用し、TPSに設定情報があれば、TPS情報を実施例による受信方法/装置が用いることができる。特質スライスヘッダ(Attribute Slice header)は各タイルをスライスに分けることができる。即ち、各スライスに関する設定情報である。
図21ないし24は図20のポイントクラウドデータのビットストリームに含まれるシグナリング情報の詳細シンタックスを示す。実施例による送受信装置は実施例による動作を支援するために、以下のようにシグナリング方案を提供する。シグナリング情報の名称はシグナリング情報の意味及び機能の範囲内で理解できる。
実施例によるモールトンコード生成順序の基準及びしきい値情報に関するシグナリング情報をビットストリームにより伝達することができる。モールトンコード生成順序の基準及びしきい値関連動作を行うために、生成基準としきい値に関連するパラメータ情報をシグナリングすることができる。
以下の実施例によるパラメータ情報に基づいて、モールトンコード生成順序による符号化/復号器のシグナリング情報を説明する。
モールトンコード生成基準のしきい値によって符号化/復号器にシグナリング動作を追加することができる。
図21は実施例によるTPS(Tile Parameter Set、TPS)を示す。
図21は図20に含まれたTPSを示す。
実施例による送信方法/装置はモールトンコード生成関連情報をTPSに追加して送信することができ、実施例による受信方法/装置はTPSに基づいてモールトンコード生成関連情報を得ることができる。
軸条件選択(axis_condition_selection):モールトンコード生成のための軸条件選択方法を示す。軸ごと/密度ごと/その他の条件などを示す。例えば、0は軸による順序整列(S16000)、1は密度による順序整列(S16010)、2はその他の方法の使用を示す。各整数値は様々に変更可能である。
昇順順序フラグ(ascending_order_flag):軸条件選択(axis_condition_selection)で指示された条件による順序が昇順であるか又は降順であるか、整列の順序に関する情報を示す。例えば、0は昇順整列を行うこと、1は降順整列を行うことを示す。各整数値は様々に変更可能である。
軸オーダリングしきい値(axis_ordering_threshold):モールトンコードに関連して所定の条件によるしきい値を適用して、条件によるモールトンインターリービングを行うか否かに関連する情報を示す。
タイル数(num_tiles):ビットストリームのためにシグナリングされるタイルの数を示す。存在しない場合、この値は0に推論される(num_tiles specifies the number of tiles signalled for the bitstream. When not present、num_tiles is inferred to be 0)。
タイル数のよって、タイル数ごとに以下のタイル関連パラメータ情報がTPSに含まれる。
タイル境界ボックスオフセットX(tile_bounding_box_offset_x[i]):座標系内のi番目のタイルのXオフセットを示す。存在しない場合、tile_bounding_box_offset_x[0]はsps_bounding_box_offset_xに推論される(tile_bounding_box_offset_x[i] indicates the x offset of the i-th tile in the cartesian coordinates. When not present、the value of tile_bounding_box_offset_x[0] is inferred to be sps_bounding_box_offset_x)。
タイル境界ボックスオフセットY(tile_bounding_box_offset_y[i]):座標系内のi番目のタイルのYオフセットを示す。存在しない場合、tile_bounding_box_offset_y[0]はsps_bounding_box_offset_yに推論される(tile_bounding_box_offset_y[i] indicates indicates the y offset of the i-th tile in the cartesian coordinates. When not present、the value of tile_bounding_box_offset_y[0] is inferred to be sps_bounding_box_offset_y)。
タイル境界ボックスオフセットZ(tile_bounding_box_offset_z[i]):座標系内のi番目のタイルのZオフセットを示す。存在しない場合、sps_bounding_box_offset_zに推論される(tile_bounding_box_offset_z[0]の値は(tile_bounding_box_offset_z[i] indicates indicates the z offset of the i-th tile in the Cartesian coordinates. When not present、the value of tile_bounding_box_offset_z[0] is inferred to be sps_bounding_box_offset_z)。
タイル境界ボックス倍率(tile_bounding_box_scale_factor[i]):座標系内のi番目のタイルの倍率を示す。存在しない場合、tile_bounding_box_scale_factor[0]の値はsps_bounding_box_scale_factorに推論される(indicates the scale factor the i-th tile in the Cartesian coordinates. When not present、the value of tile_bounding_box_scale_factor[0] is inferred to be sps_bounding_box_scale_factor)。
タイル境界ボックスサイズ幅(tile_bounding_box_size_width[i]):座標系内のi番目のタイルの幅を示す。存在しない場合、tile_bounding_box_size_width[0]の値はsps_bounding_box_size_widthに推論される(indicates the width of the i-th tile in the Cartesian coordinates. When not present、the value of tile_bounding_box_size_width[0] is inferred to be sps_bounding_box_size_width)。
タイル境界ボックスサイズ高さ(tile_bounding_box_size_height[i]):座標系内のi番目のタイルの高さを示す。存在しない場合、tile_bounding_box_size_height[0]の値はsps_bounding_box_size_heightに推論される(indicates the height of the i-th tile in the Cartesian coordinates. When not present、the value of tile_bounding_box_size_height[0] is inferred to be sps_bounding_box_size_height)。
タイル境界ボックスサイズ深さ(tile_bounding_box_size_depth[i]):座標系内のi番目のタイルの深さを示す。存在しない場合、tile_bounding_box_size_depth[0]の値はsps_bounding_box_size_depthに推論される(indicates the depth of the i-th tile in the Cartesian coordinates. When not present、the value of tile_bounding_box_size_depth[0] is inferred to be sps_bounding_box_size_depth)。
図22は実施例によるGPS(Geometry Parameter Set、GPS)を示す。
図22は図20に含まれたGPSを示す。
実施例による送信方法/装置はモールトンコード生成関連情報をGPSに追加して送信し、実施例による受信方法/装置はGPSに基づいてモールトンコード生成関連情報を得られる。
軸条件選択(axis_condition_selection):モールトンコード生成のための軸条件選択方法を示す。軸ごと/密度ごと/その他の条件などを示す。例えば、0は軸による順序整列(S16000)、1は密度による順序整列(S16010)、2はその他の方法の使用を示す。各整数値は様々に変更可能である。
昇順順序フラグ(ascending_order_flag):軸条件選択(axis_condition_selection)で指示された条件による順序が昇順であるか又は降順であるか、整列の順序に関する情報を示す。例えば、0は昇順整列を行うこと、1は降順整列を行うことを示す。各整数値は様々に変更可能である。
軸オーダリングしきい値(axis_ordering_threshold):モールトンコードに関連して所定の条件によるしきい値を適用して、条件によるモールトンインターリービングを行うか否かに関連する情報を示す。
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)。
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 of 0 to 15、inclusive)。
ジオメトリコーディングタイプ(geometry_coding_type):ジオメトリのためのコーディングタイプを示す。ジオメトリコーディングタイプは0又は1である。0は八分木、1はtriangle soup(trisoup)を示す。ジオメトリコーディングタイプの他の値が今後の使用のために予約されることができる(indicates that the coding type for the geometry in Table 7 1Table 7 1 for the given value of geometry_coding_type. The value of geometry _coding_type shall be equal to 0 or 1 in bitstreams conforming to this version of this Specification. other values of geometry_coding_type are reserved for future use by ISO/IEC. Decoders conforming to this version of this Specification shall ignore reserved values of Geometry_coding_type. 0=Octree、1=Triangle Soup(Trisoup))。
GPSボックス存在フラグ(gps_box_present_flag):現在GPSを参照する、追加境界ボックス情報がジオメトリヘッダ内に提供されることを示す。gps_bounding_box_present_flagが0であると、ジオメトリヘッダ内の追加境界ボックス情報がシグナリングされないことを示す(equal to 1 specifies an additional bounding box information is provided in a geometry header that references the current GPS. gps_bounding_box_present_flag equal to 0 specifies that additional bounding box information is not signalled in the geometry header)。
ユニークジオメトリポイントフラグ(unique_geometry_points_flag):この値が1であると、全ての出力ポイントがユニークなポジションを有することを示す。この値が0であると、出力ポイントが同じ位置を有することを示す(equal to 1 indicates that all output pointS have unique positions. unique_geometry_points_flag equal to 0 indicates that the output points may have same positions)。
隣接コンテキスト制限フラグ(neighbour_context_restriction_flag):この値が0であると、八分木占有コーディングが6つの隣接親ノード(parent node)から決定されたコンテキストを使用することを示す。この値が1であると、八分木コーディングがただ兄弟ノード(sibling node)から決定されたコンテキストを使用することを示す(equal to 0 indicates that octree occupancy coding uses contexts determined from six neighbouring parent nodes. neighbour_context_restriction_flag equal to 1 indicates that octree coding uses contexts determined from sibling nodes only)。
ダイレクトコーディングモード使用可能フラグ(inferred_direct_coding_mode_enabled_flag):この値が0であると、八分木コーディングが推論されたダイレクトコーディングモードを使用することを示す。この値が1であると、八分木コーディングが隣接兄弟ノードから決定された多重コンテキストを使用することを示す(equal to 0 indicates the octree coding uses inferred_direct_coding_mode. inferred_direct_coding_mode_enabled_flag equal to 1 indicates the octree coding uses multiple context determined from sibling neighbouring nodes)。
ビット単位占有コーディングフラグ(bitwise_occupancy_coding_flag):占有コーディングの存在有無を示す。この値が1であると、ジオメトリノード占有が占有マップのビット単位のコンテキストを使用して符号化されることを示す。この値が0であると、辞書符号化された占有バイトを使用して符号化されることを示す(equal to 1 indicates that geometry node occupancy is encoded using bit-wise contextualisation of the syntax element ocupancy_map. bitwise_occupancy_coding_flag equal to 0 indicates that geometry node occupancy is encoded using the dictionary encoded syntax element occypancy_byte)。
子隣接使用可能フラグ(child_neighbours_enabled_flag): 隣接子ノードが使用可能であるか否かを示す。
隣接子コンテキスト化使用可能フラグ(adjacent_child_contextualisation_enabled_flag):この値が1であると、隣接八分木ノードの子がビット単位の占有コンテキスト化のために使用されることを示す。この値が0であると、隣接八分木ノードの子が占有コンテキスト化のために使用されないことを示す(equal to 1 indicates that the adjacent children of neighbouring octree nodes are used for bit-wise occupancy contextualization. Adjacent_child_contextualization_enabled_flag equal to 0 indicates that the children of neighbouring octree nodes are is not used for the occupancy contextualization)。
ジオメトリ占有ctx減衰因子(geom_occupancy_ctx_reduction_factor):占有に対する減衰因子(reduction factor)を示す。
隣接境界(log2_neighbour_avail_boundary):復号プロセスに使用される変数NeighbAvailBoundaryの値を示す。変数NeighbAvailBoundaryは2log2_neighbour_avail_boundaryと同一であってもよい(specifies the value of the variable NeighbAvailBoundary that is used in the decoding process as follows:NeighbAvailBoundary=2log2_neighbour_avail_boundary)。
隣接コンテキスト制限フラグ(neighbour_context_restriction_flag)が1であると、NeighbAvailabilityMask(NeighbAvailBoundary)は13にセットされる。neighbour_context_restriction_flagが0であると、NeighbAvailabilityMask(NeighbAvailBoundary)は(1<<log2_neighbour_avail_boundary)にセットされる(When neighbour_context_restriction_flag is equal to 1、NeighbAvailabilityMask is set equal to 13. Otherwise、 neighbour_context_restriction_flag equal to 0、 NeighbAvailabilityMask is set equal to (1 << log2_neighbour_avail_boundary))。
イントラ予測最大ノードサイズ(log2_intra_pred_max_node_size):占有イントラ予測のための八分木ノードサイズを示す。
trisoupノードサイズ(log2_trisoup_node_size):三角ノードのサイズのような変数TrisoupNodeSizeを示す。trisoupノードサイズは2log2_trisoup_node_sizeと同一であってもよい(specifies the variable TrisoupNodeSize as the size of the triangle nodes as follows. TrisoupNodeSize=2log2_trisoup_node_size)。log2_trisoup_node_sizeの値は0より大きいか又は等しい。log2_trisoup_node_sizeが0であると、ジオメトリビットストリームは八分木コーディングシンタックスのみを含む(The value of log2_trisoup_node_size shall be equal to or greater than 0. When log2_trisoup_node_size is equal to 0、the Geometry bitstream includes only the octree coding syntax)。
trisoup深さ(trisoup_depth):ポイント座標の各コンポーネントを示すために使用されるビット数を示す。trisoup_depthの値は2ないし21の範囲を有する(Specifies the number of bits used to represent each component of a point coordinate. The value of trisoup_depth shall be in the range of 2 to 21. [Ed(df):21 should perhaps be a level limit])。
trisoup三角レベル(trisoup_triangle_level):八分木が枝打ちされるレベルを示す。trisoup_triangle_levelは1ないしtrisoup_depth-1の範囲を有する(Specifies the level at which the octree is pruned. The value of trisoup_triangle_level shall be in the range of 1 to trisoup_depth-1)。
GPS拡張存在フラグ(gps_extension_present_flag):この値が1であると、GPSシンタックス構造内のgps_extension_dataシンタックス構造が存在することを示す。この値が0であると、このシンタックス構造が存在しないことを示す。存在しない場合、gps_ extension_present_flagの値は0に推論される(equal to 1 specifies that the gps_extension_data syntax structure is present in the GPS RBSP syntax structure. gps_extension_present_flag equal to 0 specifies that this syntax structure is not present. When not present、the value of gps_ extension_present_flag is inferred to be equal to 0)。
GSP拡張データフラグ(gps_extension_data_flag):拡張データの存在有無を示す(may have any value. Its presence and value do not affect decoder conformance to profiles specified in Annex A. Decoders conforming to a profile specified in Annex A)。
図23は実施例によるAPS(Attribute Parameter Set、APS)を示す。
図23は図20に含まれたAPSを示す。
実施例による送信方法/装置はモールトンコード生成関連情報をAPSに追加して送信することができ、実施例による受信方法/装置はAPSに基づいてモールトンコード生成関連情報を得ることができる。
軸条件選択(axis_condition_selection):モールトンコード生成のための軸条件選択方法を示す。軸ごと/密度ごと/その他の条件などを示す。例えば、0は軸による順序整列(S16000)、1は密度による順序整列(S16010)、2はその他の方法の使用を示す。各整数値は様々に変更可能である。
昇順順序フラグ(ascending_order_flag):軸条件選択(axis_condition_selection)で指示された条件による順序が昇順であるか又は降順であるか、整列の順序に関する情報を示す。例えば、0は昇順整列を行うこと、1は降順整列を行うことを示す。各整数値は様々に変更可能である。
軸オーダリングしきい値(axis_ordering_threshold):モールトンコードに関連して所定の条件によるしきい値を適用して、条件によるモールトンインターリービングを行うか否かに関連する情報を示す。
APS特質パラメータセットID(aps_attr_parameter_set_id):他のシンタックスエレメントによる参照に対するAPSに関する識別子を示す。aps_attr_parameter_set_idは0ないし15の値を有する(provides an identifier for the APS for reference by other syntax elements. The value of aps_attr_parameter_set_id shall be in the range of 0 to 15、inclusive)。
APSシーケンスパラメータセットID(aps_seq_parameter_set_id):アクティグSPS(active SPS)に対するSPSシーケンスパラメータセットID(sps_seq_parameter_set_id)の値を示す。aps_seq_parameter_set_idは0ないし15(含み)の範囲を有する(specifies the value of sps_seq_parameter_set_id for the active SPS. The value of aps_seq_parameter_set_id shall be in the range of 0 to 15、inclusive)。
特質コーディングタイプ(attr_coding_type):特質コーディングタイプを示す。特質コーディングタイプは0、1、2などである。0は予測ウエートリフティング、1は領域適応階層的変換(Region Adaptive Hierarchical Transferm(RAHT))、2は固定ウエートリフティングを示す。各整数値は様々に変更可能である(indicates that the coding type for the Attribute in Table 7 2Table 7 2 for the given value of Attr_coding_type. The value of Attr_coding_type shall be equal to 0、1、or 2 in bitstreams conforming to this version of this Specification. Other values of Attr_coding_type are reserved for future use by ISO/IEC. Decoders conforming to this version of this Specification shall ignore reserved valueS of Attr_coding_type. 0=Predicting weight lifting、1=Region Adaptive Hierarchical Transferm(RAHT)、2=Fixed weight lifting)。
最隣接の予測数(num_pred_nearest_neighbours):予測のために使用される最隣接の最大個数を示す。numberOfNearestNeighboursInPredictionの値は1ないしxxの範囲を有する(Specifies the maximum number of nearest neighbours to be used for prediction. The value of numberOfNearestNeighboursInPrediction shall be in the range of 1 to xx)。
ダイレクト予測機の最大個数(max_num_direct_predictors):ダイレクト予測のために使用される予測機の最大個数を示す。max_num_direct_predictorsの値は0ないしnum_pred_nearest_neighboursの範囲を有する。変数MaxNumPredictorsは以下のように復号プロセス内で使用される。MaxNumPredictorsはmax_num_direct_predicots+1である(Specifies the maximum number of predictor to be used for direct prediction. The value of max_num_direct_predictors shall be range of 0 to num_pred_nearest_neighbours. The value of the variable MaxNumPredictors that is used in the decoding process as follows:MaxNumPredictors=max_num_direct_predicots+1)。
リフト探索範囲(lifting_search_range):リフトのための探索範囲を示す(Specifies search range for the lifting)。
リフト量子化ステップサイズ(lifting_quant_step_size):特質の1stコンポーネントの量子化ステップサイズを示す。quant_step_sizeの値は1ないしxxの範囲を有する(Specifies the quantization step size for the 1st component of the Attribute. The value of quant_step_size shall be in the range of 1 to xx)。
リフト量子化ステップサイズクロマ(lifting_quant_step_size_chroma):特質がカラーであるとき、特質のクロマコンポーネントのための量子化ステップサイズを示す。quant_step_size_chromaの値は1ないしxxの範囲を有する(Specifies the quantization step size for the chroma component of the Attribute when the Attribute is colour. The value of quant_step_size_chroma shall be in the range of 1 to xx)。
LOD2分木有効フラグ(lod_binary_tree_enabled_flag):ログ生成に対する2分木が有効であるか否かを示す(Specifies whether binary tree is enable or not for the log generation)。
LOD数(num_detail_levels_minus1):特質コーディングのためのLODの数を示す。num_detail_levels_minus1の値は0ないしxxの範囲を有する(Specifies the number of levelS of detail for the Attribute coding. The value of num_detail_levels_minus1 shall be in the range of 0 to xx)。
サンプリング距離二乗[インデックス](sampling_distance_squared[idx]):インデックス(idx)に対するサンプリング距離の二乗を示す。sampling_distance_squared[]の値は0ないしxxのは範囲を有する(Specifies the square of the sampling distance for idx. The value of sampling_distance_squared[] shall be in the range of 0 to xx)。
適応予測しきい値(adaptive_prediction_threshold):予測のしきい値を示す(Specifies the threshold of prediction).
RAHT深さ(raht_depth):RAHTのためのLODの数を示す。depthRAHTの値は1ないしxxの範囲を有する(Specifies the number of levelS of detail for RAHT. The value of depthRAHT shall be in the range of 1 to xx)。
RAHTバイナリレベルしきい値(raht_binarylevel_threshold):RAHT係数を切り出すためのLODを示す。binaryLevelThresholdRAHTの値は0ないしxxの範囲を有する(Specifies the levelS of detail to cut out the RAHT coefficient. The value of binaryLevelThresholdRAHT shall be in the range of 0 to xx)。
RAHT量子化ステップサイズ(raht_quant_step_size):特質の1stコンポーネントのための量子化ステップサイズを示す。quant_step_sizeの値は1ないしxxの範囲を有する(Specifies the quantization step size for the 1st component of the Attribute. The value of quant_step_size shall be in the range of 1to xx)。
APS拡張存在フラグ(aps_extension_present_flag):この値が1であると、APSシンタックス構造内のaps_extension_dataシンタックス構造が存在することを示す。この値が0であると、このシンタックス構造が存在しないことを示す。存在しない場合、aps_ extension_present_flagの値は0に推論される(equal to 1 specifieS that the aps_extension_data syntax structure is present in the APS RBSP syntax structure. aps_extension_present_flag equal to 0 specifies that this syntax structure is not present. When not present、the value of aps_ extension_present_flag is inferred to be equal to 0)。
APS拡張データフラグ(aps_extension_data_flag):APS拡張データの存在有無を示す(may have any value. Its presence and value do not affect decoder conformance to profiles specified in Annex A. Decoders conforming to a profile specified in Annex A)。
図24は実施例によるジオメトリスライスヘッダ(Geometry Slice header、GSH)を示す。
実施例による送信方法/装置はモールトンコード生成関連情報をGSHに追加して送信することができ、実施例による受信方法/装置はGSHに基づいてモールトンコード生成関連情報を得ることができる。
軸条件選択(axis_condition_selection):モールトンコード生成のための軸条件選択方法を示す。軸ごと/密度ごと/その他の条件などを示す。例えば、0は軸による順序整列(S16000)、1は密度による順序整列(S16010)、2はその他の方法の使用を示す。各整数値は様々に変更可能である。
昇順順序フラグ(ascending_order_flag):軸条件選択(axis_condition_selection)で指示された条件による順序が昇順であるか又は降順であるか、整列順序に関する情報を示す。例えば、0は昇順整列を行うこと、1は降順整列を行うことを示す。各整数値は様々に変更可能である。
軸オーダリングしきい値(axis_ordering_threshold):モールトンコード関連して所定の条件によるしきい値を適用して、条件によるモールトンインターリービングを行うか否かに関連する情報を示す。
GSHジオメトリパラメータセットID(gsh_Geometry_parameter_set_id):アクティグGPSのgps_Geom_parameter_set_idの値を示す。
GSHタイルID(gsh_Tile_id):タイルのIDを示す。
GSHスライスID(gsh_slice_id):スライスのIDを示す。
GPSボックス存在フラグ(gps_box_present_flag)の値によって、GSH内のボックスに関連する以下のパラメータがジオメトリスライスヘッダ内に含まれる。
GSHボックスログスケール(gsh_box_log2_scale):スケール値を示す。スライス境界ボックスのオリジンの倍率を示す。存在しない場合、gsh_box_log2_scaleはgps_gs_box_log2_scaleに推論される。
GSHボックスオリジンX(gsh_box_origin_x):座標系内のソース境界ボックスのx値を示す。
GSHボックスオリジンY(gsh_box_origin_y):座標系内のソース境界ボックスのy値を示す。
GSHボックスオリジンZ(gsh_box_origin_z):座標系内のソース境界ボックスのz値を示す。
GSHログノード最大サイズ(gsh_log2_max_nodesize):復号プレオセスで使用される変数MaxNodeSizeの値を示す。最大のノードサイズ(MaxNodeSize)は2(gbh_log2_max_nodesize)と同一であってもよい。
GSHポイントの数(gbh_points_number):スライス内の符号化されたポイントの数を示す。
図25は実施例によるポイントクラウドデータ送信方法を示す。
S25000、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階を含む。実施例による符号化動作は、図1の送信装置10000、ポイントクラウドビデオエンコーダ10002、図2の獲得20000、符号化20001、図4のポジションからジオメトリビットストリーム符号化、特質から特質ビットストリーム符号化、図12の送信装置のポイントの位置値及び/又はポイントの属性値の符号化、図14のXRデバイス1430、図15ないし図19によるモールトンコード生成及びモールトンコードに基づくポイントクラウドデータの符号化、図20ないし図24のビットストリームの生成などの動作を含む。
S25010、実施例によるポイントクラウドデータ送信方法はさらに、ポイントクラウドデータを含むビットストリームを送信する段階を含む。実施例による送信動作は、図1の送信機10003、図2の送信20002、図12の送信処理部12012、図14のXRデバイス1430、図20ないし図24のビットストリームの送信などの動作を含む。
図26は実施例によるポイントクラウドデータ受信方法を示す。
S26000、実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階を含む。実施例による受信動作は、図1の受信装置10004、図2の送信20002による受信、図13の受信部13000及び受信処理部13001、図14のXRデバイス1430の受信、図20ないし図24のビットストリームの受信などの動作を含む。
S26010、実施例によるポイントクラウドデータ受信方法はさらに、ポイントクラウドデータを復号する段階を含む。実施例による復号動作は、図1のポイントクラウドビデオデコーダ10006、図2の復号20003、図10及び図11のジオメトリビットストリーム及び/又は特質ビットストリームから位置(position)及び/又は特質の復号、図13の受信装置のジオメトリビットストリーム及び特質ビットストリームの復号及びポイントクラウドデータのレンダリング、図14のXRデバイス1430の復号、図15ないし図19によるモールトンコード生成及びモールトンコードに基づくポイントクラウドデータの復号、図20ないし図24のビットストリームのパース/復号などの動作を含む。
実施例による方法/装置は、適応型モールトンコード生成方法及びモールトンコード順序を変更できる基準及びそれに対するしきい値に関連する動作を提供する。条件によるモールトンコード生成を異なるようにする動作において、実施例による条件は軸ごと/密度ごとによる昇順/降順などの条件を含む。コンテンツの特性、シーケンス/スライス/タイルごと、ジオメトリ、属性、ジオメトリと属性によって条件を異なるように適用する。
実施例による方法/装置は、距離基盤/属性基盤の隣接ノードの探索時、ビットストリームのサイズを減らして画質を向上させる効果を提供する。またこれに関連するシグナリングにより符号化/復号の過程で同じ条件による順序としきい値によりモールトンコードを生成する。モールトンコードに基づいて、エンコーダ/送信装置はポイントクラウドデータを効率的に圧縮する。モールトンコードに基づいて、デコーダ/受信装置はポイントクラウドデータを効率的に復元してレンダリングする。
実施例によるポイントクラウドデータ送/受信方法/装置及び/又はPCC符号化器/復号器は、空間上においてポイントクラウドデータのポイント間のユークリッド距離が同一であても、モールトンコード上では差がある問題を解決する。
また、軸によるxyz軸の順序を異なるようにしてコンテンツ単位、タイル単位、スライス単位、ジオメトリ値単位、属性値単位で符号化及び復号を行える効果を提供する。さらに、しきい値によって軸変換の変更有無を提供することができる。従って、実施例はコンテンツ、タイル、スライス、範囲、属性値単位で適応型空間を探索し、近い隣接ノードの探索のための適応型モールトンコードのマッピング条件を提供することができる。
ポイントクラウドデータのタイプ及びPCCデータ符号化プロセス、例えば、モールトンコード生成処理などによるポイントクラウド圧縮の所要時間及び複雑度を下げすことができる。また、圧縮性能を向上させるポイントクラウド送/受信方法/装置を提供することができる。
実施例による動作は隣接ノード探索の遅延を下げ、正確度を増加させる。また、ポイントクラウドデータを含むビットストリームのサイズの負担を減らすことができる。
実施例による方法/装置は様々なポイントクラウドデータの特性を反映して、モールトンコードのビットインターリービングの順序を変更することができる。
この明細においてA/BはA及び/又はBと解釈できる。
実施例は方法及び/又は装置の観点で説明しており、方法の説明及び装置の説明は互いに補完して適用できる。
説明の便宜のために、各図を区分して説明したが、各図に述べられている実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように、説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。
この明細書において、“/”と“,”は“及び/又は”に解釈される。例えば、“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)”を意味する。
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。
また、この明細で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細で説明した様々な動作を制御する。プロセッサはコントローラなどとも称される。実施例の動作はファームウェア、ソフトウェア及び/又はこれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はこれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
〔発明を実施するための形態〕
上述したように、実施例を実施するための最善の形態について関連内容を説明する。
上述したように、実施例はポイントクラウドデータ送受信装置及びシステムに全体又は部分的に適用することができる。
当業者であれば、実施例の範囲内で実施例を様々に変更及び変形することができる。
実施例は変更/変形を含み、変更/変形は請求項及びそれと同一のものの範囲内である。

Claims (20)

  1. ポイントクラウドデータを符号化する段階と、
    前記ポイントクラウドデータを含むビットストリームを送信する段階と、を含む、ポイントクラウドデータ送信方法。
  2. 前記符号化する段階は、
    前記ポイントクラウドデータに対するモールトンコードを生成する段階を含む、請求項1に記載のポイントクラウドデータ送信方法。
  3. 前記モールトンコードを生成する段階は、
    前記ポイントクラウドデータのジオメトリデータに対する各軸に基づいてモールトンコードの順序を生成する段階を含む、請求項2に記載のポイントクラウドデータ送信方法。
  4. 前記ジオメトリデータは各軸に対する座標値を含み、
    前記モールトンコードは各軸に対する座標値の2進ビットに基づいて生成され、
    前記モールトンコードの前記2進ビットは各軸の長さに基づいて整列される、請求項3に記載のポイントクラウドデータ送信方法。
  5. 前記モールトンコードを生成する段階は、
    前記ポイントクラウドデータのジオメトリデータに対する密度に基づいてモールトンコードの順序を生成する段階を含む、請求項2に記載のポイントクラウドデータ送信方法。
  6. 前記ジオメトリデータは各軸に対する座標値を含み、
    前記モールトンコードは前記座標値の2進ビットに基づいて生成され、
    前記モールトンコードの前記2進ビットは前記各軸に対する一つ又はそれ以上のポイントの密度の大きさに基づいて整列される、請求項5に記載のポイントクラウドデータ送信方法。
  7. 前記モールトンコードを生成する段階は、
    前記ポイントクラウドデータの一つ又はそれ以上のポイントの分布に関連するしきい値に基づいて行われる、請求項2に記載のポイントクラウドデータ送信方法。
  8. 前記ビットストリームは前記ポイントクラウドデータをシグナリングするための一つ又はそれ以上のパラメータを含む、請求項1に記載のポイントクラウドデータ送信方法。
  9. ポイントクラウドデータを符号化するエンコーダと、
    前記ポイントクラウドデータを含むビットストリームを送信する送信機と、を含む、ポイントクラウドデータ送信装置。
  10. 前記エンコーダは、
    前記ポイントクラウドデータに対するモールトンコードを生成する、請求項9に記載のポイントクラウドデータ送信装置。
  11. 前記エンコーダは、
    前記ポイントクラウドデータのジオメトリデータに対する各軸に基づいてモールトンコードの順序を生成する、請求項10に記載のポイントクラウドデータ送信装置。
  12. 前記ジオメトリデータは各軸に対する座標値を含み、
    前記モールトンコードは各軸に対する座標値の2進ビットに基づいて生成され、
    前記モールトンコードの前記2進ビットは各軸の長さに基づいて整列される、請求項11に記載のポイントクラウドデータ送信装置。
  13. 前記エンコーダは、
    前記ポイントクラウドデータのジオメトリデータに対する密度に基づいてモールトンコードの順序を生成する、請求項10に記載のポイントクラウドデータ送信装置。
  14. 前記ジオメトリデータは各軸に対する座標値を含み、
    前記モールトンコードは前記座標値の2進ビットに基づいて生成され、
    前記モールトンコードの前記2進ビットは前記各軸に対する一つ又はそれ以上のポイントの密度の大きさに基づいて整列される、請求項13に記載のポイントクラウドデータ送信装置。
  15. 前記エンコーダのモールトンコード生成動作は、
    前記ポイントクラウドデータの一つ又はそれ以上のポイントの分布に関連するしきい値に基づいて行われる、請求項10に記載のポイントクラウドデータ送信装置。
  16. 前記ビットストリームは前記ポイントクラウドデータをシグナリングするための一つ又はそれ以上のパラメータを含む、請求項9に記載のポイントクラウドデータ送信装置。
  17. ポイントクラウドデータを含むビットストリームを受信する段階と、
    前記ポイントクラウドデータを復号する段階と、を含む、ポイントクラウドデータ受信方法。
  18. 前記復号する段階は、
    前記ポイントクラウドデータに対するモールトンコードを生成する段階を含む、請求項17に記載のポイントクラウドデータ受信方法。
  19. ポイントクラウドデータを含むビットストリームを受信する受信機と、
    前記ポイントクラウドデータを復号するデコーダと、を含む、ポイントクラウドデータ受信装置。
  20. 前記デコーダは、
    前記ポイントクラウドデータに対するモールトンコードを生成する、請求項19に記載のポイントクラウドデータ受信装置。
JP2022525017A 2019-12-26 2020-08-24 ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 Pending JP2023507879A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962953884P 2019-12-26 2019-12-26
US62/953,884 2019-12-26
PCT/KR2020/011254 WO2021132834A1 (ko) 2019-12-26 2020-08-24 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (1)

Publication Number Publication Date
JP2023507879A true JP2023507879A (ja) 2023-02-28

Family

ID=76575577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022525017A Pending JP2023507879A (ja) 2019-12-26 2020-08-24 ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法

Country Status (5)

Country Link
US (1) US20220383553A1 (ja)
EP (1) EP4083922A4 (ja)
JP (1) JP2023507879A (ja)
CN (1) CN114667542A (ja)
WO (1) WO2021132834A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118042192A (zh) * 2021-03-12 2024-05-14 腾讯科技(深圳)有限公司 点云编码、解码的方法、装置及设备
CN118226402B (zh) * 2024-05-23 2024-07-23 成都航空职业技术学院 一种基于三维激光雷达点云的滑坡体积计算方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858433B (zh) * 2011-08-25 2017-08-15 汤姆逊许可公司 分层熵编码及解码
US20140098868A1 (en) * 2012-10-04 2014-04-10 Qualcomm Incorporated File format for video data
KR102604737B1 (ko) * 2016-01-11 2023-11-22 삼성전자주식회사 가속 구조를 생성하는 방법 및 장치
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
KR101723823B1 (ko) * 2016-08-24 2017-04-19 주식회사 케이쓰리아이 인터랙티브 공간증강 체험전시를 위한 동적 객체와 가상 객체 간의 인터랙션 구현 장치
US10897269B2 (en) * 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US11113845B2 (en) * 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
WO2021029511A1 (ko) * 2019-08-09 2021-02-18 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021062732A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 变换方法、逆变换方法、编码器、解码器及存储介质

Also Published As

Publication number Publication date
US20220383553A1 (en) 2022-12-01
CN114667542A (zh) 2022-06-24
WO2021132834A1 (ko) 2021-07-01
EP4083922A1 (en) 2022-11-02
EP4083922A4 (en) 2024-01-31

Similar Documents

Publication Publication Date Title
KR102340238B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JP7328447B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
EP4002277A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
KR102609776B1 (ko) 포인트 클라우드 데이터 처리 방법 및 장치
JP2022550877A (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
JP7451576B2 (ja) ポイントクラウドデータ処理方法及び装置
KR102634079B1 (ko) 포인트 클라우드 데이터 처리 장치 및 방법
JP2023511263A (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置、及びポイントクラウドデータ受信方法
JP2023510179A (ja) ポイントクラウドデータ送信装置、送信方法、処理装置および処理方法
JP7307260B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
KR102300045B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JP2022539762A (ja) ポイントクラウドデータ処理装置及び方法
JP2022538857A (ja) ポイントクラウドデータ処理装置及び方法
US20230334703A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP2023507879A (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
KR102294613B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN114402624B (zh) 点云数据处理设备和方法
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
CN115702568A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20230334719A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR20240095203A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR20240047385A (ko) 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
KR20240117567A (ko) 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
KR20240056739A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240827