(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-01
(54)【発明の名称】ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
(51)【国際特許分類】
G06T 9/40 20060101AFI20241025BHJP
H04N 19/597 20140101ALI20241025BHJP
H04N 19/527 20140101ALI20241025BHJP
【FI】
G06T9/40
H04N19/597
H04N19/527
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525096
(86)(22)【出願日】2022-10-26
(85)【翻訳文提出日】2024-05-16
(86)【国際出願番号】 KR2022016413
(87)【国際公開番号】W WO2023075389
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】10-2021-0144393
(32)【優先日】2021-10-27
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100109841
【氏名又は名称】堅田 健史
(74)【代理人】
【識別番号】230112025
【氏名又は名称】小林 英了
(74)【代理人】
【識別番号】230117802
【氏名又は名称】大野 浩之
(74)【代理人】
【識別番号】100131451
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100167933
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100184181
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】ホ,ヘジョン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP03
5C159UA02
5C159UA05
(57)【要約】
【要約】 本発明によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階;及びポイントクラウドデータを含むビットストリームを送信する段階;を含む。実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階;及びポイントクラウドデータを復号する段階;を含む。
【特許請求の範囲】
【請求項1】
ポイントクラウドデータ送信方法であって、
ポイントクラウドデータを符号化する段階;及び
前記ポイントクラウドデータを含むビットストリームを送信する段階;を含んでなる、ポイントクラウドデータ送信方法。
【請求項2】
前記ポイントクラウドデータを符号化する段階は、前記ポイントクラウドデータを含むフレーム間のインター-予測を行う段階を含み、
前記インター-予測を行う段階は、
予測ユニットに基づいて、前記ポイントクラウドデータに対するグローバル動きを予測する段階、
前記予測ユニットを分割し、前記ポイントクラウドデータに対するローカル動きを予測する段階、を含む、請求項1に記載のポイントクラウドデータ送信方法。
【請求項3】
前記ポイントクラウドデータを符号化する段階は、前記ポイントクラウドデータに関する予測ツリーを生成する段階を含み、
前記予測ツリーを生成する段階は、
前記ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを前記現在フレームの参照フレームに対する予測ツリーから探し出して前記予測ツリーに登録する段階を含み、
前記参照フレームに対する前記予測ツリーに含まれた少なくとも1つ以上のノードから子ノードの数及び距離に基づいて、前記現在フレームに含まれたポイントに対する前記親ノードが生成され、
前記現在フレームに含まれたポイントに対する予測が参照フレームに基づいて行われた場合、インター参照情報が生成される、請求項1に記載のポイントクラウドデータ送信方法。
【請求項4】
前記予測ツリーを生成する段階は、前記ポイントクラウドデータを含む現在フレームに含まれた次のポイントに対する親ノードを前記予測ツリーに基づいて登録する段階を更に含み、
前記次のポイントに対する親ノードが前記参照フレームに基づいて登録された場合、インター参照情報が生成される、請求項3に記載のポイントクラウドデータ送信方法。
【請求項5】
前記ポイントクラウドデータを符号化する段階は、
前記ポイントクラウドデータを含む現在フレームに対する予測ツリーを生成し、
前記現在フレームに含まれたポイントに対する親ノードを、前記現在フレームに対する予測ツリー及び前記現在フレームに対する参照フレームの予測ツリーに基づいて探し出し、
前記現在フレームに対する予測ツリーに含まれたノードと前記参照フレームに対する予測ツリーに含まれたノードとの距離に基づいて、前記親ノードを探し出し、
前記参照フレームの予測ツリーに含まれたノードが前記親ノードとして指定される場合、前記現在フレームに対する予測ツリー及び前記参照フレームの予測ツリー間の仮想リンクが生成され、インター参照情報が生成される、請求項1に記載のポイントクラウドデータ送信方法。
【請求項6】
前記ビットストリームは、予測ツリー生成に関する情報を含む、請求項1に記載のポイントクラウドデータ送信方法。
【請求項7】
ポイントクラウドデータ送信装置であって、
ポイントクラウドデータを符号化するエンコーダー;及び
前記ポイントクラウドデータを含むビットストリームを送信する送信機;を備えてなる、ポイントクラウドデータ送信装置。
【請求項8】
ポイントクラウドデータ受信方法であって、
ポイントクラウドデータを含むビットストリームを受信する段階;及び
前記ポイントクラウドデータを復号する段階;を含む、ポイントクラウドデータ受信方法。
【請求項9】
前記ポイントクラウドデータを復号する段階は、
前記ビットストリームに含まれたパラメータ情報に基づいて、前記ポイントクラウドデータに対する動き補償を行う段階、
前記ポイントクラウドデータに対する予測ツリーを復元する段階、を含む、請求項8に記載のポイントクラウドデータ受信方法。
【請求項10】
前記ポイントクラウドデータを復号する段階は、前記ビットストリームに含まれたインター参照情報に基づいて、
前記ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを前記現在フレームの参照フレームに対する予測ツリーから探し出すか、又は、前記現在フレームに対する予測ツリーから探し出す、請求項9に記載のポイントクラウドデータ受信方法。
【請求項11】
前記ポイントクラウドデータを復号する段階は、
前記ポイントクラウドデータを含む現在フレームに対する予測ツリーを復元し、
前記現在フレームに含まれたポイントに対する親ノードを、前記現在フレームに対する予測ツリー及び前記現在フレームに対する参照フレームの予測ツリーに基づいて探し出し、
前記現在フレームに対する予測ツリーに含まれたノードと前記参照フレームに対する予測ツリーに含まれたノードとの距離に基づいて、前記親ノードを探し出し、
前記参照フレームの予測ツリーに含まれたノードが前記親ノードとして指定される場合、前記現在フレームに対する予測ツリー及び前記参照フレームに対する予測ツリー間の仮想リンクが生成される、請求項9に記載のポイントクラウドデータ受信方法。
【請求項12】
前記ビットストリームは、予測ツリー生成に関する情報を含む、請求項8に記載のポイントクラウドデータ受信方法。
【請求項13】
ポイントクラウドデータ受信装置であって、
ポイントクラウドデータを含むビットストリームを受信する受信部;及び
前記ポイントクラウドデータを復号するデコーダー;を備えてなる、ポイントクラウドデータ受信装置。
【請求項14】
前記デコーダーは、
前記ビットストリームに含まれたパラメータ情報に基づいて、前記ポイントクラウドデータに対する動き補償を行い、
前記ポイントクラウドデータに対する予測ツリーを復元する、請求項13に記載のポイントクラウドデータ受信装置。
【請求項15】
前記デコーダーは、前記ビットストリームに含まれたインター参照情報に基づいて、
前記ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを前記現在フレームの参照フレームに対する予測ツリーから探し出すか、又は、前記現在フレームに対する予測ツリーから探し出す、請求項14に記載のポイントクラウドデータ受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
実施例はポイントクラウドコンテンツ(Point Cloud Content)を処理する方法及び装置に関する。
【背景技術】
【0002】
ポイントクラウドコンテンツは3次元空間を表現する座標系に属する点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは3次元からなるメディアを表現でき、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、複合現実)及び自律走行サービスなどの様々なサービスを提供するために使用される。しかし、ポイントクラウドコンテンツを表現するためには、数万から数十万個のポイントデータが必要である。従って、膨大な量のポイントデータを効率的に処理する方法が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
実施例はポイントクラウドデータを効率的に処理するための装置及び方法を提供する。実施例は遅延(latency)及び符号化/復号複雑度を解決するためのポイントクラウドデータ処理方法及び装置を提供する。
【0004】
但し、上述した技術的課題のみに制限されず、記載する全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
【課題を解決するための手段】
【0005】
実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階;及びポイントクラウドデータを含むビットストリームを送信する段階;を含む(備える;構成する;構築する;設定する;包接する;包含する;含有する)。また実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階;及びポイントクラウドデータを復号する段階;を含む。
【発明の効果】
【0006】
実施例による装置及び方法は、高効率でポイントクラウドデータを処理することができる。
【0007】
実施例による装置及び方法は、良質のポイントクラウドサービスを提供することができる。
【0008】
実施例による装置及び方法は、VRサービス、自律走行サービスなどの汎用的なサービスを提供するためのポイントクラウドコンテンツを提供することができる。
【図面の簡単な説明】
【0009】
添付図面は実施例の理解を助けるためのものであり、実施例に関連する説明と共に実施例を示す。後述する様々な実施例に対するより適切な理解のために、添付図面において類似する参照番号に対応する部分を含む次の図面に関連して以下の実施例の説明を必ず参照すべきである。
【
図1】実施例によるポイントクラウドコンテンツ提供システムの一例を示す。
【
図2】実施例によるポイントクラウドコンテンツ提供動作を示すブロック図である。
【
図3】実施例によるポイントクラウドビデオキャプチャー過程の一例を示す。
【
図4】実施例によるポイントクラウドエンコーダー(Point Cloud Encoder)の一例を示す。
【
図6】実施例による八分木及び占有コード(occupancy code)の一例を示す。
【
図7】実施例による隣接ノードパターンの一例を示す。
【
図8】実施例によるLODごとのポイント構成の一例を示す。
【
図9】実施例によるLODごとのポイント構成の一例を示す。
【
図10】実施例によるポイントクラウドデコーダー(Point Cloud Decoder)の一例を示す。
【
図11】実施例によるポイントクラウドデコーダー(Point Cloud Decoder)の一例を示す。
【
図12】実施例によるポイントクラウドデータ送信装置の一例を示す。
【
図13】実施例によるポイントクラウドデータ受信装置の一例を示す。
【
図14】実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。
【
図16】実施例によるポイントクラウドデータ送信装置を示す。
【
図17】実施例によるポイントクラウドデータ受信装置を示す。
【
図18】実施例によるポイントクラウドデータを含むビットストリームを示す。
【
図19】実施例によるシーケンスパラメータセットを示す。
【
図20】実施例によるジオメトリパラメータセットを示す。
【
図21】実施例によるタイルパラメータセットを示す。
【
図22】実施例によるジオメトリスライスヘッダを示す。
【
図23】実施例によるジオメトリ予測ツリーデータを示す。
【
図24】実施例によるポイントクラウドデータ送信方法を示す。
【
図25】実施例によるポイントクラウドデータ受信方法を示す。
【発明を実施するための形態】
【0010】
添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというより、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に関する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。
【0011】
実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものもあり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解すべきである。
【0012】
図1は実施例によるポイントクラウドコンテンツ提供システムの一例を示す図である。
【0013】
図1に示したポイントクラウドコンテンツ提供システムは、送信装置(transmission device)10000及び受信装置(reception device)10004を含む。送信装置10000及び受信装置10004はポイントクラウドデータを送受信するために有無線通信が可能である。
【0014】
実施例による送信装置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機器/サーバーなどを含む。
【0015】
実施例による送信装置10000は、ポイントクラウドビデオ獲得部(Point Cloud Video Acquisition)10001、ポイントクラウドビデオエンコーダー(Point Cloud Video Encoder)10002及び/又は送信機(Transmitter(又は通信モジュール)10003を含む。
【0016】
実施例によるポイントクラウドビデオ獲得部10001は、キャプチャー、合成又は生成などの処理過程によりポイントクラウドビデオを獲得する。ポイントクラウドビデオは、3次元空間に位置するポイントの集合であるポイントクラウドで表現されるポイントクラウドコンテンツであって、ポイントクラウドビデオデータなどと呼ばれる。実施例によるポイントクラウドビデオは、一つ又はそれ以上のフレームを含む。一つのフレームは停止映像/ピクチャを示す。よって、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャを含み、ポイントクラウド映像、フレーム及びピクチャのうちのいずれかに呼ばれる。
【0017】
実施例によるポイントクラウドビデオエンコーダー10002は、確保したポイントクラウドビデオデータを符号化する。ポイントクラウドビデオエンコーダー10002はポイントクラウド圧縮(Point Cloud Compression)コーディングに基づいてポイントクラウドビデオデータを符号化する。実施例によるポイントクラウド圧縮コーディングは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング又は次世代コーディングを含む。なお、実施例によるポイントクラウド圧縮コーディングは、上述した実施例に限られない。ポイントクラウドビデオエンコーダー10002は、符号化されたポイントクラウドビデオデータを含むビットストリームを出力する。ビットストリームは符号化されたポイントクラウドビデオデータだけではなく、ポイントクラウドビデオデータの符号化に関連するシグナリング情報を含む。
【0018】
実施例による送信機10003は、符号化されたポイントクラウドビデオデータを含むビットストリームを送信する。実施例によるビットストリームはファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化されて、放送網及び/又はブロードバンド網などの様々なネットワークにより送信される。図示していないが、送信装置10000はカプセル化動作を行うカプセル化部(又はカプセル化モジュール)を含む。また実施例において、カプセル化部は送信機10003に含まれる。実施例において、ファイル又はセグメントはネットワークにより受信装置10004に送信されるか、又はデジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信機10003は受信装置10004(又は受信機(Receiver)10005)と4G、5G、6Gなどのネットワークにより有無線通信が可能である。また送信機10003はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行う。また送信装置10000はオン・デマンド(On Demand)方式によってカプセル化されたデータを送信することもできる。
【0019】
実施例による受信装置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機器/サーバーなどを含む。
【0020】
実施例による受信機10005は、ポイントクラウドビデオデータを含むビットストリーム又はビットストリームがカプセル化されたファイル/セグメントなどをネットワーク又は格納媒体から受信する。受信機10005はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)により必要なデータ処理動作を行う。実施例による受信機10005は、受信したファイル/セグメントをデカプセル化してビットストリームを出力する。また実施例において、受信機10005はデカプセル化の動作を行うためのデカプセル化部(又はデカプセル化モジュール)を含む。またデカプセル化部は受信機10005とは別個のエレメント(又はコンポーネント)で具現される。
【0021】
ポイントクラウドビデオデコーダー10006は、ポイントクラウドビデオデータを含むビットストリームを復号する。ポイントクラウドビデオデコーダー10006はポイントクラウドビデオデータが符号化された方式により復号することができる(例えば、ポイントクラウドビデオエンコーダー10002の動作の逆の過程)。従って、ポイントクラウドビデオデコーダー10006はポイントクラウド圧縮の逆過程であるポイントクラウド復元コーディングを行って、ポイントクラウドビデオデータを復号することができる。ポイントクラウド復元コーディングはG-PCCコーディングを含む。
【0022】
レンダラー10007は復号されたポイントクラウドビデオデータをレンダリングする。レンダラー10007はポイントクラウドビデオデータだけではなく、オディオデータもレンダリングしてポイントクラウドコンテンツを出力する。実施例において、レンダラー10007はポイントクラウドコンテンツをディスプレイするためのディスプレイを含む。実施例において、ディスプレイはレンダラー10007に含まれず、別のデバイス又はコンポーネントで具現される。
【0023】
図面において、点線で示した矢印は、受信装置10004で得たフィードバック情報(feedback information)の送信経路を示す。フィードバック情報はポイントクラウドコンテンツを消費するユーザとの相互作用を反映するための情報であって、ユーザの情報を含む(例えば、ヘッドオリエンテーション情報、ビューポート情報など)。特にポイントクラウドコンテンツがユーザとの相互作用が必要なサービス(例えば、自律走行サービスなど)のためのものである場合には、フィードバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサービス供給者に伝達されることができる。実施例において、フィードバック情報は送信装置10000だけではなく受信装置10004でも使用されることができ、提供されないこともできる。
【0024】
実施例によるヘッドオリエンテーション情報はユーザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10004はヘッドオリエンテーション情報に基づいてビューポート情報を計算する。ビューポート情報はユーザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユーザがポイントクラウドビデオを見ている点であり、ビューポート領域の真ん中を意味する。即ち、ビューポートは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004はヘッドオリエンテーション情報以外に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビューポート情報を抽出することができる。また受信装置10004はゲイズ分析(Gaze Analysis)などを行って、ユーザのポイントクラウド消費方式、ユーザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例において、受信装置10004はゲイズ分析の結果を含むフィードバック情報を送信装置10000に送信する。実施例によるフィードバック情報はレンダリング及び/又はディスプレイ過程で得られる。実施例によるフィードバック情報は受信装置10004に含まれた一つ又はそれ以上のセンサにより確保される。また実施例において、フィードバック情報はレンダラー10007又は別の外部エレメント(又はデバイス、コンポーネントなど)により確保される。
図1に示された点線はレンダラー10007で確保したフィードバック情報の伝達過程を示す。ポイントクラウドコンテンツ提供システムはフィードバック情報に基づいてポイントクラウドデータを処理(符号化/復号)する。従って、ポイントクラウドビデオデータデコーダー10006はフィードバック情報に基づいて復号の動作を行うことができる。また受信装置10004はフィードバック情報を送信装置10000に送信することができる。送信装置10000(又はポイントクラウドビデオデータエンコーダー10002)はフィードバック情報に基づいて符号化の動作を行う。従って、ポイントクラウドコンテンツ提供システムは全てのポイントクラウドデータを処理(符号化/復号)せず、フィードバック情報に基づいて必要なデータ(例えば、ユーザのヘッド位置に対応するポイントクラウドデータ)を効率的に処理して、ユーザにポイントクラウドコンテンツを提供することができる。
【0025】
実施例において、送信装置10000はエンコーダー、送信デバイス、送信機などと呼ばれ、受信装置10004はデコーダー、受信デバイス、受信機などと呼ばれる。
【0026】
実施例による
図1のポイントクラウドコンテンツ提供システムで処理される(獲得/符号化/送信/復号/レンダリングの一連の過程で処理される)ポイントクラウドデータは、ポイントクラウドコンテンツデータ又はポイントクラウドビデオデータとも呼ばれる。実施例において、ポイントクラウドコンテンツデータはポイントクラウドデータに関連するメタデータ或いはシグナリング情報を含む概念として使用される。
【0027】
図1に示したポイントクラウドコンテンツ提供システムのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はこれらの組み合わせなどで具現される。
【0028】
図2は実施例によるポイントクラウドコンテンツ提供の動作を示すブロック図である。
【0029】
図2は
図1で説明したポイントクラウドコンテンツ提供システムの動作を示すブロック図である。上述したように、ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディング(例えば、G-PCC)に基づいてポイントクラウドデータを処理する。
【0030】
実施例によるポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置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)は、ポイントクラウドビデオの獲得過程に関連する情報(例えば、深さ情報、色相情報など)からポイントクラウドデータを確保することができる。
【0031】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又はポイントクラウドビデオエンコーダー10002)は、ポイントクラウドデータを符号化する(20001)。ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディングに基づいてポイントクラウドデータを符号化する。上述したように、ポイントクラウドデータはポイントのジオメトリ及び特質を含む。よって、ポイントクラウドコンテンツ提供システムは、ジオメトリを符号化するジオメトリ符号化を行ってジオメトリビットストリームを出力する。ポイントクラウドコンテンツ提供システムは、特質を符号化する特質符号化を行って特質ビットストリームを出力する。実施例において、ポイントクラウドコンテンツ提供システムはジオメトリ符号化に基づいて特質符号化を行う。実施例によるジオメトリビットストリーム及び特質ビットストリームは多重化されて一つのビットストリームで出力される。実施例によるビットストリームはさらにジオメトリ符号化及び特質符号化に関連するシグナリング情報を含む。
【0032】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又は送信機10003)は、符号化されたポイントクラウドデータを送信する(20002)。
図1で説明したように、符号化されたポイントクラウドデータはジオメトリビットストリーム、特質ビットストリームで表現される。また符号化されたポイントクラウドデータはポイントクラウドデータの符号化に関連するシグナリング情報(例えば、ジオメトリ符号化及び特質符号化に関連するシグナリング情報)と共に、ビットストリームの形態で送信される。またポイントクラウドコンテンツ提供システムは符号化されたポイントクラウドデータを送信するビットストリームをカプセル化してファイル又はセグメントの形態で送信する。
【0033】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、符号化されたポイントクラウドデータを含むビットストリームを受信する。またポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、ビットストリームを逆多重化する。
【0034】
ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダー10005)は、ビットストリームで送信される符号化されたポイントクラウドデータ(例えば、ジオメトリビットストリーム、特質ビットストリーム)を復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダー10005)は、ビットストリームに含まれたポイントクラウドビデオデータの符号化に関連するシグナリング情報に基づいてポイントクラウドビデオデータを復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダー10005)は、ジオメトリビットストリームを復号してポイントの位置(ジオメトリ)を復元する。ポイントクラウドコンテンツ提供システムは、復元したジオメトリに基づいて特質ビットストリームを復号してポイントの特質を復元する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダー10005)は、復元されたジオメトリによる位置及び復号された特質に基づいてポイントクラウドビデオを復元する。
【0035】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号されたポイントクラウドデータをレンダリングする(20004)。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号過程で復号されたジオメトリ及び特質を様々なレンダリング方式によってレンダリングする。ポイントクラウドコンテンツのポイントは、一定の厚さを有する定点、該当定点の位置を中央とする所定の最小サイズを有する立方体、又は定点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域はディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
【0036】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004)は、フィードバック情報を確保することができる(20005)。ポイントクラウドコンテンツ提供システムは、フィードバック情報に基づいてポイントクラウドデータを符号化及び/又は復号する。実施例によるフィードバック情報及びポイントクラウドコンテンツ提供システムの動作は、
図1で説明したフィードバック情報及び動作と同一であるので、具体的な説明は省略する。
【0037】
図3は実施例によるポイントクラウドビデオキャプチャー過程の一例を示す図である。
【0038】
図3は
図1及び
図2で説明したポイントクラウドコンテンツ提供システムのポイントクラウドビデオキャプチャー過程の一例を示す。
【0039】
ポイントクラウドコンテンツは、様々な3次元空間(例えば、現実環境を示す3次元空間、仮想環境を示す3次元空間など)に位置するオブジェクト(object)及び/又は環境を示すポイントクラウドビデオ(イメージ及び/又は映像)を含む。従って、実施例によるポイントクラウドコンテンツ提供システムは、ポイントクラウドコンテンツを生成するために一つ又はそれ以上のカメラ(例えば、深さ情報を確保できる赤外線カメラ、深さ情報に対応する色相情報を抽出できるRGBカメラなど)、プロジェクト(例えば、深さ情報を確保するための赤外線パターンプロジェクターなど)、LiDARなどを使用してポイントクラウドビデオをキャプチャーする。実施例によるポイントクラウドコンテンツ提供システムは、深さ情報から3次元空間上のポイントで構成されたジオメトリの形態を抽出し、色相情報からそれぞれのポイントの特質を抽出してポイントクラウドデータを確保する。実施例によるイメージ及び/又は映像は内向き(inward-facing)方式及び外向き(outward-facing)方式のうちのいずれかに基づいてキャプチャーされる。
【0040】
図3の左側には内向き方式が示されている。内向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトをキャプチャーする方式である。内向き方式は核心核心客体に対する360°イメージをユーザに提供するポイントクラウドコンテンツ(例えば、ユーザに客体(例:キャラクター、選手、品物、俳優などの核心となる客体)の360°イメージを提供するVR/ARコンテンツ)を生成するために使用される。
【0041】
図3の右側には外向き方式が示されている。外向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトではない中心オブジェクトの環境をキャプチャーする方式である。外向き方式はユーザの視点からの周辺環境を提供するためのポイントクラウドコンテンツ(例えば、自律走行車両のユーザに提供される外部環境を示すコンテンツ)を生成するために使用される。
【0042】
図示したように、ポイントクラウドコンテンツは一つ又はそれ以上のカメラのキャプチャー動作に基づいて生成される。この場合、それぞれのカメラの座標系が異なるので、ポイントクラウドコンテンツ提供システムはキャプチャー動作前にグローバル空間座標系(global coordinate system)を設定するために、一つ又はそれ以上のカメラの較正(calibration)を行う。またポイントクラウドコンテンツ提供システムは、上述したキャプチャー方式でキャプチャーされたイメージ及び/又は映像と任意のイメージ及び/又は映像を合成してポイントクラウドコンテンツを生成する。またポイントクラウドコンテンツ提供システムは、仮想空間を示すポイントクラウドコンテンツを生成する場合、
図3で説明したキャプチャー動作を行わない。実施例によるポイントクラウドコンテンツ提供システムは、キャプチャーしたイメージ及び/又は映像に対して後処理を行うこともできる。即ち、ポイントクラウドコンテンツ提供システムは、望まない領域(例えば、背景)を除去したり、キャプチャーしたイメージ及び/又は映像が連結された空間を認識して空間(spatial hole)がある場合、それを埋めたりする動作を行うことができる。
【0043】
またポイントクラウドコンテンツ提供システムは、それぞれのカメラから確保したポイントクラウドビデオのポイントに対して座標系変換を行って、一つのポイントクラウドコンテンツを生成することができる。ポイントクラウドコンテンツ提供システムは、それぞれのカメラの位置座標を基準としてポイントの座標系変換を行う。これにより、ポイントクラウドコンテンツ提供システムは、一つの広い範囲を示すコンテンツを生成するか、或いはポイントの密度が高いポイントクラウドコンテンツを生成することができる。
【0044】
図4は実施例によるポイントクラウドエンコーダー(Point Cloud Encoder)の一例を示す図である。
【0045】
図4は
図1のポイントクラウドビデオエンコーダー10002の一例を示す。ポイントクラウドエンコーダーは、ネットワーク状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、損失に近い-near-lossless)を調節するために、ポイントクラウドデータ(例えば、ポイントの位置及び/又は特質)を再構成して符号化動作を行う。ポイントクラウドコンテンツの全体サイズが大きい場合(例えば、30fpsの場合、60Gbpsであるポイントクラウドコンテンツ)、ポイントクラウドコンテンツ提供システムは該当コンテンツをリアルタイムストリーミングすることができない。従って、ポイントクラウドコンテンツ提供システムは、ネットワーク環境などに合わせて提供するために、最大ターゲットビットレートに基づいてポイントクラウドコンテンツを再構成することができる。
【0046】
図1及び
図2に示したように、ポイントクラウドエンコーダーはジオメトリ符号化及び特質符号化を行うことができる。ジオメトリ符号化は特質符号化よりも先に行われる。
【0047】
実施例によるポイントクラウドエンコーダーは、座標系変換部(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を含む。
【0048】
座標系変換部40000、量子化部40001、八分木分析部40002、表面近似分析部40003、演算エンコーダー40004及びジオメトリ再構成部40005は、ジオメトリ符号化を行う。実施例によるジオメトリ符号化は、八分木ジオメトリコーディング、ダイレクトコーディング(direct coding)、trisoupジオメトリ符号化(trisoup geometry encoding)及びエントロピー符号化を含む。ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に或いは組み合わせて適用される。なお、ジオメトリ符号化は上記の例示に限られない。
【0049】
図示したように、実施例による座標系変換部40000は、位置を受信して座標系(coordinate)に変換する。例えば、位置は3次元空間(例えば、XYZ座標系で表現される3次元空間など)の位置情報に変換される。実施例による3次元空間の位置情報はジオメトリ情報とも称される。
【0050】
実施例による量子化部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)、該当ボクセルに割り当てられる。
【0051】
実施例による八分木分析部40002は、ボクセルを八分木構造で表すための八分木ジオメトリコーディング(又は八分木コーディング)を行う。八分木構造は八分割構造に基づいてボクセルにマッチングされたポイントを表現する。
【0052】
実施例による表面近似分析部40003は、八分木を分析して近似化する。実施例による八分木分析及び近似化は、八分木及びボクセル化を効率的に提供するために、多数のポイントを含む領域をボクセル化するために分析を行う過程である。
【0053】
実施例による演算エンコーダー40004は、八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。符号化の結果としてジオメトリビットストリームが生成される。
【0054】
色変換部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コーディング、予測変換コーディング及びリフト変換コーディングが選択的に使用されるか、又は一つ又はそれ以上のコーディングの組み合わせが使用される。また実施例による特質符号化は上述した例示に限られない。
【0055】
実施例による色変換部40006は、特質に含まれた色値(又はテクスチャ)を変換する色変換コーディングを行う。例えば、色変換部40006は色相情報のフォーマットを変換(例えば、RGBからYCbCrに変換)する。実施例による色変換部40006の動作は、特質に含まれた色値によって任意に(optional)適用される。
【0056】
実施例によるジオメトリ再構成部40005は、八分木及び/又は近似化した八分木を再構成(復元)する。ジオメトリ再構成部40005はポイントの分布を分析した結果に基づいて八分木/ボクセルを再構成する。再構成された八分木/ボクセルは再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
【0057】
実施例による特質変換部40007は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。上述したように、特質はジオメトリに従属するので、特質変換部40007は再構成されたジオメトリ情報に基づいて特質を変換することができる。例えば、特質変換部40007は、ボクセルに含まれたポイントの位置値に基づいてその位置のポイントが有する特質を変換する。上述したように、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて該当ボクセルの中央点の位置が設定される場合、特質変換部40007は一つ又はそれ以上のポイントの特質を変換する。trisoupジオメトリ符号化が行われた場合、特質変換部40007はtrisoupジオメトリ符号化に基づいて特質を変換する。
【0058】
特質変換部40007は、各ボクセルの中央点の位置(又は位置値)から特定の位置/半径内に隣接しているポイントの特質又は特質値(例えば、各ポイントの色相、又は反射率など)の平均値を計算して特質変換を行う。特質変換部40007は平均値の計算時、中央点から各ポイントまでの距離による加重値を適用する。従って、各ボクセルは位置及び計算された特質(又は特質値)を有する。
【0059】
特質変換部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ツリー又はモールトンコードが活用される。
【0060】
図示したように、変換された特質はRAHT変換部40008及び/又はLOD生成部40009に入力される。
【0061】
実施例によるRAHT変換部40008は、再構成されたジオメトリ情報に基づいて特質情報を予測するRAHTコーディングを行う。例えば、RAHT変換部40008は、八分木の下位レベルにあるノードに連関する特質情報に基づいて、八分木の上位レベルにあるノードの特質情報を予測することができる。
【0062】
実施例によるLOD生成部40009は予測変換コーディングを行うために、LOD(Level of Detail)を生成する。実施例によるLODはポイントクラウドコンテンツの詳細を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が下がり、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことを示す。ポイントをLODによって分類できる。
【0063】
実施例によるリフト変換部40010は、ポイントクラウドの特質を加重値に基づいて変換するリフト変換コーディングを行う。上述したように、リフト変換コーディングは選択的に適用される。
【0064】
実施例による係数量子化部40011は、特質符号化された特質を係数に基づいて量子化する。
【0065】
実施例による演算エンコーダー40012は、量子化された特質を演算コーディングに基づいて符号化する。
【0066】
図4のポイントクラウドエンコーダーのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図4のポイントクラウドエンコーダーのエレメントの動作及び/又は機能のうち、いずれか一つを行うことができる。また、一つ又はそれ以上のプロセッサは、
図4のポイントクラウドエンコーダーのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行することができる。実施例による一つ又はそれ以上のメモリは高速ランダムアクセスメモリを含むか、又は非揮発性メモリ(例えば、一つ又はそれ以上のマグネチックディスク格納デバイス、フラッシュメモリデバイス、又は他の非揮発性固体のメモリデバイス(Solid-state memory devices)など)を含む。
【0067】
【0068】
図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で説明した通りであるので省略する。
【0069】
図6は実施例による八分木及び占有コード(occupancy code)の一例を示す図である。
【0070】
図1乃至
図4に示したように、ポイントクラウドコンテンツ提供システム(ポイントクラウドビデオエンコーダー10002)又はポイントクラウドエンコーダー(例えば、八分木分析部40002)は、ボクセルの領域及び/又は位置を効率的に管理するために、八分木構造基盤の八分木ジオメトリコーディング(又は八分木コーディング)を行う。
【0071】
図6の上側は八分木構造を示している。実施例によるポイントクラウドコンテンツの3次元空間は座標系の軸(例えば、X軸、Y軸、Z軸)で表現される。八分木構造は2つの極点(0、0、0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。dは八分木の深さを示す。d値は以下の式により決定される。以下の式において、(xintn、yintn、zintn)は量子化されたポイントの位置(又は位置値)を示す。
【0072】
【0073】
図6の上側中央に示したように、分割によって全体3次元空間は8つの空間に分かれる。分割されたそれぞれの空間は6つの面を有するキューブで表現される。
図6の右上側に示したように、8つの空間はそれぞれ再び座標系の軸(例えば、X軸、Y軸、Z軸)により分かれる。よって、それぞれの空間は再び8つの小さい空間に分かれる。分割された小さい空間も6つの面を有するキューブで表現される。このような分割方式は八分木のリーフノード(leaf node)がボクセルになるまで適用される。
【0074】
図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)は占有コードに基づいて八分木を再構成する。
【0075】
実施例によるポイントクラウドエンコーダー(例えば、
図4のポイントクラウドエンコーダー、又は八分木分析部40002)は、ポイントの位置を格納するためにボクセル化及び八分木コーディングを行う。しかし、3次元空間内のポイントがいつも均一に分布していることではないので、ポイントが多く存在しない特定の領域が存在し得る。従って、3次元空間の全体に対してボクセル化を行うことは非効率的である。例えば、特定の領域にポイントがほぼ存在しないと、該当領域までボクセル化を行う必要はない。
【0076】
従って、実施例によるポイントクラウドエンコーダーは、上述した特定の領域(又は八分木のリーフノードを除いたノード)についてはボクセル化を行わず、特定の領域に含まれたポイントの位置を直接コーディングするダイレクトコーディング(Direct coding)を行う。実施例によるダイレクトコーディングポイントの座標は、ダイレクトコーディングモード(Direct Coding Mode、DCM)と呼ばれる。また実施例によるポイントクラウドエンコーダーは、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化(Trisoup geometry encoding)を行うことができる。trisoupジオメトリ符号化はオブジェクトの表現を三角形メッシュ(triangle mesh)のシリーズで表現するジオメトリ符号化である。従って、ポイントクラウドデコーダーはメッシュ表面からポイントクラウドを生成することができる。実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に行われる。また実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は八分木ジオメトリコーディング(又は八分木コーディング)と結合して行うことができる。
【0077】
ダイレクトコーディング(Direct coding)を行うためには、ダイレクトコーディングを適用するための直接モード(direct mode)の使用オプションが活性化されている必要があり、ダイレクトコーディングを適用するノードはリーフノードではなく、特定のノード内に閾値(threshold)以下のポイントが存在する必要がある。またダイレクトコーディングの対象となる全体ポイントの個数は所定の閾値を超えてはいけない。上記条件を満たすと、実施例によるポイントクラウドエンコーダー(又は演算エンコーダー40004)はポイントの位置(又は位置値)をエントロピーコーディングすることができる。
【0078】
実施例によるポイントクラウドエンコーダー(例えば、表面近似分析部40003)は、八分木の特定のレベルを定め(レベルは八分木の深さdよりは小さい場合)、そのレベルからは表面モデルを使用してノード領域内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化を行うことができる(trisoupモード)。実施例によるポイントクラウドエンコーダーは、trisoupジオメトリ符号化を適用するレベルを指定できる。例えば、指定されたレベルが八分木の深さと同一であると、ポイントクラウドエンコーダーはtrisoupモードで動作しない。即ち、実施例によるポイントクラウドエンコーダーは指定されたレベルが八分木の深さ値よりも小さい場合にのみtrisoupモードで動作することができる。実施例による指定されたレベルのノードの3次元立方体領域をブロック(block)と呼ぶ。一つのブロックは一つ又はそれ以上のボクセルを含む。ブロック又はボクセルはブリック(brick)に対応することもできる。それぞれのブロック内においてジオメトリは表面(surface)と表現される。実施例による表面は最大1回、ブロックの各エッジ(edge)と交差することができる。
【0079】
一つのブロックは12つのエッジを有するので、一つのブロック内に少なくとも12つの交差点が存在する。それぞれの交差点はバーテックス(vertex、頂点又は頂上)と呼ばれる。エッジに沿って存在するバーテックスは該当エッジを共有する全てのブロックのうち、そのエッジに隣接する少なくとも一つの占有ボクセル(occupied voxel)がある場合に検知される。実施例による占有ボクセルはポイントを含むボクセルを意味する。エッジに沿って検出されたバーテックスの位置は、該当エッジを共有する全てのブロックのうち、該当エッジに隣接する全てのボクセルのエッジによる平均位置である(the average position along the edge of all voxels)。
【0080】
バーテックスが検出されると、実施例によるポイントクラウドエンコーダーは、エッジの開始点(x、y、z)、エッジの方向ベクトル(Δx、Δy、Δz)、バーテックス位置値(エッジ内の相対的位置値)をエントロピーコーディングする。trisoupジオメトリ符号化が適用された場合、実施例によるポイントクラウドエンコーダー(例えば、ジオメトリ再構成部40005)は、三角形再構成(triangle reconstruction)、アップ-サンプリング(up-sampling)、ボクセル化過程を行って復元されたジオメトリ(再構成されたジオメトリ)を生成する。
【0081】
ブロックのエッジに位置するバーテックスはブロックを通過する表面を決定する。実施例による表面は非平面多角形である。三角形再構成の過程ではエッジの開始点、エッジの方向ベクトルとバーテックスの位置値に基づいて三角形で示される表面を再構成する。三角形再構成の過程は以下の通りである。丸1各バーテックスの中心(centroid)値を計算し、丸2各バーテックスの値から中心値を引いた値に丸3自乗を行っって、その値を全て併せた値を得る。
【0082】
【0083】
加えられた値の最小値を求め、最小値がある軸に沿って投影(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番目のバーテックスで構成される。
【0084】
表2-1.Triangles formed from vertices ordered 1,…,n
【0085】
n triangles
【0086】
3(1,2,3)
【0087】
4(1,2,3), (3,4,1)
【0088】
5(1,2,3), (3,4,5), (5,1,3)
【0089】
6(1,2,3), (3,4,5), (5,6,1), (1,3,5)
【0090】
7(1,2,3), (3,4,5), (5,6,7), (7,1,3), (3,5,7)
【0091】
8(1,2,3), (3,4,5), (5,6,7), (7,8,1), (1,3,5), (5,7,1)
【0092】
9(1,2,3), (3,4,5), (5,6,7), (7,8,9), (9,1,3), (3,5,7), (7,9,3)
【0093】
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)
【0094】
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)
【0095】
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)
【0096】
アップサンプリング過程は三角形のエッジに沿って中間に点を追加してボクセル化するために行われる。アップサンプリング係数(upsampling factor)とブロックの幅を基準として追加点を生成する。追加点はリファインドバーテックス(refined vertice)と呼ばれる。実施例によるポイントクラウドエンコーダーはリファインドバーテックスをボクセル化することができる。またポイントクラウドエンコーダーはボクセル化された位置(又は位置値)に基づいて特質符号化を行うことができる。
【0097】
図7は実施例による隣接ノードパターンの一例を示す図である。
【0098】
ポイントクラウドビデオの圧縮効率を増加させるために、実施例によるポイントクラウドエンコーダーはコンテキスト適応演算(context adaptive arithmetic)コーディングに基づいてエントロピーコーディングを行う。
【0099】
図1乃至
図6で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダー(例えば、ポイントクラウドビデオエンコーダー10002、
図4のポイントクラウドエンコーダー又は演算エンコーダー40004)は、占有コードをすぐエントロピーコーディングする。またポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダーは、現在ノードの占有コードと隣接ノードの占有率に基づいてエントロピー符号化(イントラ符号化)を行うか、又は以前フレームの占有コードに基づいてエントロピー符号化(インター符号化)を行う。実施例によるフレームは、同時間に生成されたポイントクラウドビデオの集合を意味する。実施例によるイントラ符号化/インター符号化の圧縮効率は、参照する隣接ノードの個数によって異なる。ビットが大きくなると複雑になるが、一側に傾くようにして圧縮効率を高めることができる。例えば、3-bit contextを有すると、2の3乗である8つの方法でコーディングする。分けてコーディングする部分は具現の複雑度に影響を及ぼす。従って、圧縮効率と複雑度の適正水準を合わせる必要がある。
【0100】
図7は隣接ノードの占有率に基づいて占有パターンを求める過程を示す。実施例によるポイントクラウドエンコーダーは、八分木の各ノードの隣接ノードの占有率(occupancy)を判断して隣接ノードパターン(neighbor pattern)値を得る。隣接ノードパターンは該当ノードの占有パターンを推論するために使用される。
図7の左側はノードに対応するキューブ(真ん中に位置するキューブ)及び該当キューブと少なくとも一面を共有する6つのキューブ(隣接ノード)を示している。図示したノードは同じ深さのノードである。図示した数字は6つのノードとそれぞれ連関する加重値(1、2、4、8、16、32、など)を示す。各加重値は隣接ノードの位置によって順に付与される。
【0101】
図7の右側は隣接ノードパターン値を示す。隣接ノードパターン値は占有された隣接ノード(ポイントを有する隣接ノード)の加重値が掛けられた値の合計である。従って、隣接ノードパターン値は0から63までの値を有する。隣接ノードパターン値が0であることは、該当ノードの隣接ノードのうち、ポイントを有するノード(占有ノード)がないことを意味する。隣接ノードパターン値が63であることは、隣接ノードが全て占有ノードであることを意味する。図示したように、加重値1、2、4、8が付与された隣接ノードは占有ノードであるので、隣接ノードパターン値は1、2、4、8を併せた値である15である。ポイントクラウドエンコーダーは隣接ノードパターン値によってコーディングを行うことができる(例えば、隣接ノードパターン値が63である場合、64つのコーディングを行う)。実施例においてポイントクラウドエンコーダーは隣接ノードパターン値を変更して(例えば、64を10又は6に変更するテーブルに基づく)、コーディングの複雑度を減らすことができる。
【0102】
図8は実施例によるLODごとのポイント構成の一例を示す図である。
【0103】
図1乃至
図7で説明したように、特質符号化が行われる前、符号化されたジオメトリは再構成(復元)される。ダイレクトコーディングが適用された場合、ジオメトリ再構成の動作はダイレクトコーディングされたポイントの配置を変更することを含む(例えば、ダイレクトコーディングされたポイントをポイントクラウドデータの前方に配置)。trisoupジオメトリ符号化が適用された場合、ジオメトリ再構成の過程は三角形再構成、アップサンプリング、ボクセル化の過程を特質はジオメトリに従属するので、特質符号化は再構成されたジオメトリに基づいて行われる。
【0104】
ポイントクラウドエンコーダー(例えば、LOD生成部40009)はポイントをLODごとに分類する(reorganization)。図面はLODに対応するポイントクラウドコンテンツを示す。図において左側はオリジナルポイントクラウドコンテンツを示す。図において左側から2番目は最低LODのポイントの分布を示し、最右側は最高LODのポイントの分布を示す。即ち、最低LODのポイントは粗い(sparse)分布であり、最高LODのポイントは細かい分布である。即ち、図面の下側に示された矢印方向に沿ってLODが増加するほどポイント間の間隔(又は距離)は短くなる。
【0105】
図9は実施例によるLODごとのポイント構成の一例を示す図である。
【0106】
図1乃至
図8で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダー(例えば、ポイントクラウドビデオエンコーダー10002、
図4のポイントクラウドエンコーダー又はLOD生成部40009)はLODを生成する。LODはポイントを設定されたLOD距離値(又はユークリッド距離(Euclidean Distance)のセット)によって改良レベル(refinement levels)のセットで再整列して生成される。LOD生成過程はポイントクラウドエンコーダーだけではなく、ポイントクラウドデコーダーでも行われる。
【0107】
図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を含む。
【0108】
図4で説明したように、実施例によるポイントクラウドエンコーダーは予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングを選択的に又は組み合わせて行うことができる。
【0109】
実施例によるポイントクラウドエンコーダーは、ポイントに対する予測機(predictor)を生成して各ポイントの予測特質(又は予測特質値)を設定するための予測変換コーディングを行う。即ち、N個のポイントに対してN個の予測機が生成される。実施例による予測機は各ポイントのLOD値とLODごとに設定された距離内に存在する隣接ポイントに対するインデックス情報及び隣接ポイントまでの距離値に基づいて加重値(=1/距離)を計算することができる。
【0110】
実施例による予測特質(又は特質値)は、各ポイントの予測機に設定された隣接ポイントの特質(又は特質値、例えば、色相、反射率など)に各隣接ポイントまでの距離に基づいて計算された加重(又は加重値)を掛けた値の平均値で設定される。実施例によるポイントクラウドエンコーダー(例えば、係数量子化部40011)は、各ポイントの特質(特質値)から予測特質(特質値)を引いた残余値(residuals、残余特質、残余特質値、特質予測残余値などとも呼ばれる)を量子化(quatization)及び逆量子化(inverse quantization)することができる。量子化過程は以下の表の通りである。
【0111】
表.Attribute prediction residuals quantization pseudo code
【0112】
int PCCQuantization(int value, int quantStep) {
【0113】
if( value >=0) {
【0114】
return floor(value / quantStep + 1.0 / 3.0);
【0115】
} else {
【0116】
return -floor(-value / quantStep + 1.0 / 3.0);
【0117】
}
【0118】
}
【0119】
Attribute prediction residuals inverse quantization pseudo code
【0120】
int PCCInverseQuantization (int value, int quantStep) {
【0121】
if(quantStep ==0) {
【0122】
return value;
【0123】
} else {
【0124】
return value* quantStep;
【0125】
}
【0126】
}
【0127】
実施例によるポイントクラウドエンコーダー(例えば、演算エンコーダー40012)は、各ポイントの予測機に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余値をエントロピーコーディングする。実施例によるポイントクラウドエンコーダー(例えば、演算エンコーダー40012)は、各ポイントの予測機に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。
【0128】
実施例によるポイントクラウドエンコーダー(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
【0129】
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
【0130】
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
【0131】
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
【0132】
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
【0133】
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
【0134】
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドエンコーダー(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドエンコーダー(例えば、演算エンコーダー40012)は量子化された特質値をエントロピーコーディングする。
【0135】
実施例によるポイントクラウドエンコーダー(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドエンコーダーは、ボクセルから全体領域にスキャンし、各ステップもボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
【0136】
【0137】
図10は実施例によるポイントクラウドデコーダー(Point Cloud Decoder)の一例を示す図である。
【0138】
図10に示したポイントクラウドデコーダーは、
図1に示したポイントクラウドビデオデコーダー10006の一例であり、
図1で説明したイントクラウドビデオデコーダー10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドデコーダーは一つ又はそれ以上のビットストリーム(bitstream)に含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドデコーダーはジオメトリデコーダー(geometry decoder)及び特質デコーダー(Attribute decoder)を含む。ジオメトリデコーダーはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダーは復号されたジオメトリ及び特質ビットストリームに基づいて特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
【0139】
図11は実施例によるポイントクラウドデコーダー(Point Cloud Decoder)の一例を示す図である。
【0140】
図11に示したポイントクラウドデコーダーは
図10で説明したポイントクラウドデコーダーの一例であり、
図1乃至
図9で説明したポイントクラウドエンコーダーの符号化動作の逆過程である復号動作を行う。
【0141】
図1及び
図10で説明したように、ポイントクラウドデコーダーはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
【0142】
実施例によるポイントクラウドデコーダーは、演算デコーダー(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を含む。
【0143】
演算デコーダー11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004はジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクトコーディング(direct coding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクトコーディング及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、
図1乃至
図9で説明したジオメトリ符号化の逆過程で行われる。
【0144】
実施例による演算デコーダー11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダー11000の動作は演算エンコーダー40004の逆過程に対応する。
【0145】
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は
図1乃至
図9に説明した通りである。
【0146】
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
【0147】
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。
図1乃至
図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は
図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
【0148】
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
【0149】
演算デコーダー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つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
【0150】
実施例による演算デコーダー11005は、特質ビットストリームを演算コーディングに復号する。
【0151】
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドエンコーダーの特質符号化に基づいて選択的に適用される。
【0152】
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドエンコーダーの符号化によってそれに対応する復号動作を選択的に行う。
【0153】
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドエンコーダーの色変換部40006の動作に基づいて選択的に行われる。
【0154】
図11のポイントクラウドデコーダーのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図11のポイントクラウドデコーダーのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、
図11のポイントクラウドデコーダーのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
【0155】
【0156】
図12に示した送信装置は、
図1の送信装置10000(又は
図4のポイントクラウドエンコーダー)の一例である。
図12に示した送信装置は、
図1乃至
図9で説明したポイントクラウドエンコーダーの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダー12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011及び/又は送信処理部12012を含む。
【0157】
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は
図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
【0158】
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダー12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、
図1乃至
図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
【0159】
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、
図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は
図1乃至
図9に説明した通りである。
【0160】
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は
図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は
図1乃至
図9に説明した通りである。
【0161】
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は
図4及び
図6で説明したポイントクラウドエンコーダー(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1乃至
図9に説明した通りである。
【0162】
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は
図4に示したポイントクラウドエンコーダー(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1乃至
図9に説明した通りである。
【0163】
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、
図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は
図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダー12006に含まれる。
【0164】
実施例による演算コーダー12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダー12006は演算エンコーダー40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0165】
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
【0166】
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダー12011は特質符号化を行う。実施例による特質符号化は、
図1乃至
図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
【0167】
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、
図1乃至
図9に説明した通りである。また
図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
【0168】
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は
図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は
図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は
図1乃至
図9に説明した通りであるので、具体的な説明は省略する。
【0169】
実施例による演算コーダー12011は、符号化された特質を演算コーディングに基づいて符号化する。演算コーダー12011は演算エンコーダー400012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0170】
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom00)及び一つ又はそれ以上の特質ビットストリーム(Attr00、Attr10)を含む。
【0171】
スライス(slice)とは、符号化されたポイントクラウドフレームの全体又は一部を示すシンタックスエレメントのシリーズをいう。
【0172】
実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は
図1及び
図2に説明した通りであるので、省略する。
【0173】
【0174】
図13に示した受信装置は、
図1の受信装置10004(又は
図10及び
図11のポイントクラウドデコーダー)の一例である。
図13に示した受信装置は、
図1乃至
図11で説明したポイントクラウドデコーダーの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
【0175】
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダー13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータパーサ13006、演算(arithmetic)デコーダー13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
【0176】
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は
図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
【0177】
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
【0178】
演算デコーダー13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は
図1乃至
図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
【0179】
実施例による演算デコーダー13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダー13002は演算デコーダー11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0180】
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
【0181】
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
【0182】
実施例によるメタデータパーサ13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータパーサ13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は
図12で説明した通りであるので省略する。
【0183】
演算デコーダー13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は
図1なしい
図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
【0184】
実施例による演算デコーダー13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダー13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダー13007は演算デコーダー11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0185】
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
【0186】
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
【0187】
図14は実施例によるポイントクラウドデータの送受信方法/装置に連動可能な構造の一例を示す図である。
【0188】
図14の構造はサーバー1460、ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のうちのいずれかがクラウドネットワーク1410に連結された構成を示している。ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440又は家電1450などは装置とも呼ばれる。またXR装置1430は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
【0189】
クラウドネットワーク1400はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク1400は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
【0190】
サーバー1460はロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のいずれかにクラウドネットワーク1400により連結され、連結された装置1410~1470のプロセシングの少なくとも一部を助けることができる。
【0191】
HMD(Head-Mount Display)1470は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパワー供給ユニットなどを含む。
【0192】
以下、上記技術が適用される装置1410~1450の様々な実施例について説明する。ここで、
図14に示した装置1410~1450は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
【0193】
<PCC+XR>
【0194】
XR/PCC装置1430はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
【0195】
XR/PCC装置1430は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置1430は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
【0196】
<PCC+XR+モバイルフォン>
【0197】
XR/PCC装置1430はPCC技術が適用されてモバイルフォン1440などで具現される。
【0198】
モバイルフォン1440はPCC技術に基づいてポイントクラウドコンテンツを復号し、ディスプレイする。
【0199】
<PCC+自立走行+XR>
【0200】
自律走行車両1420はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
【0201】
XR/PCC技術が適用された自律走行車両1420は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両1420はXR装置1430とは区分されて互いに連動される。
【0202】
XR/PCC映像を提供する手段を備えた自律走行車両1420は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両1420はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
【0203】
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
【0204】
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
【0205】
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
【0206】
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
【0207】
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
【0208】
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
【0209】
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
【0210】
実施例によるポイントクラウドデータ送信方法/装置は、
図1の送信装置10000、ポイントクラウドビデオエンコーダー10002、送信機10003、
図2の獲得-符号化-送信20000-20001-20002、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図16のエンコーダー、
図24の送信方法などを称する用語として解釈される。
【0211】
実施例によるポイントクラウドデータ受信方法/装置は、
図1の受信装置10004、受信機10005、ポイントクラウドビデオデコーダー10006、
図2の送信-復号-レンダリング20002-20003-20004、
図10~
図11のデコーダー、
図13の受信装置、
図14のデバイス、
図17のデコーダー、
図25の受信方法などを称する用語として解釈される。
【0212】
また、実施例によるポイントクラウドデータ送受信方法/装置は、実施例による方法/装置と略称してもよい。
【0213】
実施例により、ポイントクラウドデータを構成するジオメトリデータ、ジオメトリ情報、位置情報などは互いに同じ意味で解釈される。ポイントクラウドデータを構成する特質データ、特質情報、属性情報などは互いに同じ意味で解釈される。
【0214】
実施例による方法/装置は、インター予測のための予測ツリーの構成方案を提供する(Predictive Tree Building Method for Inter-Prediction)。
【0215】
例えば、LiDARからポイントクラウドデータをリアルタイムでキャプチャーして送信する場合、又は3D Mapデータがリアルタイムで送信されて処理する場合、実施例による方法/装置は、ポイントクラウドデータを効率的に圧縮して、復元することができる。
【0216】
実施例は、低遅延コーディングが必要なクラウドコンテンツのジオメトリ基盤ポイントクラウド圧縮/復元(Geometry-based Point Cloud Compression)(G-PCC)のジオメトリ圧縮時に適用可能な予測ツリー基盤ジオメトリ情報コーディング圧縮の効率を高めるためのインター予測(inter-prediction)圧縮のための予測ツリー(Predictive Tree)の構成方案を含む。例えば、実施例は、以下の方法を含む:インター予測のための予測ツリー構成方案、及び/又はシグナリング方案。各図面を参照として各動作を説明する。
【0217】
実施例は、3次元ポイントクラウド(point cloud)データ圧縮のためのジオメトリ基盤ポイントクラウド圧縮(G-PCC)の圧縮効率を高めるための方法に関する。
【0218】
以下、エンコーダー(encoder)及び符号化器は符号化器と称し、デコーダー(decoder)及び復号器は復号器と称する。
【0219】
ポイントクラウドは、ポイント(point)の集合で構成され、各ポイントは、ジオメトリ(geometry)情報及び属性(attributes)情報を有する。ジオメトリ情報は、3次元位置(XYZ)情報であり、属性情報は、色相(RGB、YUVなど)又は/及び反射(Reflectance)値である。
【0220】
G-PCC符号化(encoding)過程は、ポイントクラウドを領域に応じてタイルに分割し、並列処理のために、各タイルをスライスに分割する。各スライス単位でジオメトリを圧縮し、圧縮によって変更された位置情報で再構成されたジオメトリ(reconstructed geometry=復号されたジオメトリ)に基づいて属性情報を圧縮する過程からなる。
【0221】
G-PCC復号(decoding)過程は、符号化されたスライス単位のジオメトリビットストリーム(bitstream)と属性ビットストリームが送信され、ジオメトリを復号し、復号過程によって再構成されたジオメトリに基づいて属性情報を復号する過程からなる。
【0222】
ジオメトリ情報圧縮のために、八分木(octree)基盤、予測ツリー(predictive tree)基盤、又はtrisoup基盤の圧縮方法が用いられる。
【0223】
実施例は、低遅延ジオメトリ圧縮を支援するための予測ツリー基盤ジオメトリインター圧縮方法を含む。
【0224】
低遅延が求められるポイントクラウドサービスの例としては、3Dマップ(map)ポイントクラウドを用いるリアルタイムナビゲーション、又はLiDARによってリアルタイムでポイントクラウドをキャプチャーして圧縮送信する場合が代表的である。
【0225】
低遅延サービスのためにエンコーダー及びデコーダーの方式を改善するためには、ポイントクラウドデータの一部に対して先に圧縮を開始する機能が必要となる。八分木(octree)基盤ジオメトリコーディング方法は、幅優先(breadth-first)によってポイントをスキャニングしてコーディングするが、低遅延ジオメトリ圧縮をターゲットとする予測ツリー基盤ジオメトリ圧縮方法は、深さ優先(depth-first)によって、段階的なポイントスキャニングをできる限り減らし、ツリーの親と子ノード間のジオメトリ情報によって予測値を生成し、残差値(residual)をエントロピーコーディングしてジオメトリビットストリームで構成する。深さ優先方法は、全体ポイントに対する段階的なスキャニングが不要であるため、全てのデータがキャプチャーされることを待つ必要がなく、漸次的に(progressive)キャプチャーされたポイントクラウドデータをジオメトリコーディングすることができるという長所がある。
【0226】
但し、予測ツリー基盤ジオメトリ圧縮方法は、イントラ予測のみを含んでいるため、インター予測への拡張が必要となる。インター予測は、フレーム間の相関関係からビットストリームのサイズを減らすことができる。
【0227】
実施例は、LiDARでキャプチャーされてマルチフレームを有するポイントクラウドに、参照フレームによるインター予測圧縮技術を支援しようとする。インター予測圧縮のために、予測ツリー生成/復元方案を修正提案し、参照フレームによって圧縮率を高めることができる。
【0228】
実施例間において変更及び組み合わせが可能である。本明細書において使用される用語は、当該分野において広く使用される範囲内で、用語の意図する意味に基づいて理解できる。予測ツリー生成はPCC符号化器で行われ、PCC復号器で復元される。
【0229】
実施例による方法/装置は、グローバル及び/又はローカル動き推定及び補償(Global/Local Motion Estimation and Compensation)動作を含んで行われる。
【0230】
フレーム間予測(Inter-Prediction)のために、フレーム間のグローバル動きを予測し、LPU(Largest Prediction unit)に分割されたコンテンツを再びPUに分割する。PU分割は、グローバル動きを適用でき、現在フレームとマッチングできない場合、ローカル動きが存在するかを調査し、ローカル動きベクトルを探し出すために、PUに分割してローカル動きを探し出す過程が行われる。LPUごとにRDOを予測してグローバル動き補償(compensation)を行ってもよく、行わなくてもよい。PUごとにRDOを予測してグローバル動き補償又はローカル動き補償の適否を決定して適用する。
【0231】
【0232】
実施例によるポイントクラウドデータ送信方法/装置(
図1の送信装置10000、ポイントクラウドビデオエンコーダー10002、送信機10003、
図2の獲得-符号化-送信20000-20001-20002、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図16のエンコーダー、
図24の送信方法)は、
図15のような予測ツリーを生成し、予測ツリーに基づいてポイントクラウドデータを圧縮する。
【0233】
実施例によるポイントクラウドデータ受信方法/装置(
図1の受信装置10004、受信機10005、ポイントクラウドビデオデコーダー10006、
図2の送信-復号-レンダリング20002-20003-20004、
図10~
図11のデコーダー、
図13の受信装置、
図14のデバイス、
図17のデコーダー、
図25の受信方法)は、
図15のような予測ツリーを生成し、予測ツリーに基づいてポイントクラウドデータを復元する。
【0234】
実施例による方法/装置は、予測ツリー生成動作を含んで行われる。
【0235】
実施例による方法/装置は、参照フレームに対してグローバル/ローカル動き補償を行い、予測ツリーを生成する。現在フレームによって予測ツリーを生成する方法を拡張して、参照フレームと現在フレームによってインター予測ツリーを生成する。実施例による統合予測ツリーは、予測ツリーに略称してもよい。
【0236】
実施例による統合予測ツリーの生成手順は、以下のようである。
【0237】
生成手順を説明するために、以下のような条件が設定される。この条件は一例に過ぎず、実施例によってその構成は様々に設定することができる。
【0238】
例えば、インター予測ツリーの子ノードの最大数は、インター予測子ノード(下位ノード)の最大数(MaxNumChildrenForInter)である。各ノードは、親(parent)、子(children)、モード(mode)、インター参照フラグ(inter_reference_flag)情報を有する。即ち、各ノード(1つ又は1つ以上のポイント)ごとに親、子、モード、インター参照フラグが等しく設定されるか、又は相違に設定される。インター参照フラグ(inter_reference_flag)は、インター予測のために参照フレームの予測ツリーを使用したか否かを知らせる。親は上位ノード、子は下位ノードなどの用語とも称される。
【0239】
S1500、実施例による方法/装置は、現在フレームにおいて整列された(又は入力された)順に応じて、1番目のポイント(point)を開始ノード(=a)として登録する。
【0240】
S1501、参照フレームにおいてRDO基準として生成された予測ツリーから親(parent)を探し出して登録する。
【0241】
S1501-1、ノードaと近い3つのノードを探し出し、子ノードの最大数(MaxNumChildrenForInter)より小さい最も近いノードを親(parent)として登録する。
【0242】
S1501-2、ノードaにインター参照フラグ(inter_reference_flag)=1と設定する。
【0243】
S1501-3、探し出した親(parent)を基準として予測ツリーにノードaを追加する。
【0244】
S1502、次のポイントを持って来て、現在統合された予測ツリーから親(parent)を探し出して登録する。
【0245】
S1502-1、ノードと近い3つのノードを探し出し、子ノードの最大数(MaxNumChildrenForInter)より小さい最も近いノードを親として登録する。
【0246】
S1502-2、親(parent)として設定されたノードが参照フレームに存在する場合、インター参照フラグ(inter_reference_flag)を1と設定する。
【0247】
S1502-3、現在フレームの全てのポイントが予測ツリーに登録されるまでS1502を繰り返す。
【0248】
S1503、統合予測ツリーが完成される場合、現在フレームに属するポイントに登録されたノードに対してRDOに応じてモードを選択する。
【0249】
S1504、1番目の開始ノードは、ルート(root)のように符号化され、各ノードのインター参照フラグ(inter_reference_flag)はシグナリングされる。
【0250】
前述のような過程を経て、インター予測のための予測ツリーが現在フレームと参照フレームから生成される。
【0251】
図15を参照すれば、参照フレームに含まれたポイント(ノード)に対する予測ツリー及び現在フレームに含まれたポイント(ノード)に対する予測ツリーに基づいて、(統合)予測ツリーを生成する一例を示す。現在フレームの符号化/復号の開始ノードa(次のノードはb)を予測するために、ノードaの周りからノードaに最も近い隣接ノードをサーチする。最も近い隣接ノードは、参照フレーム及び/又は現在フレームからサーチされる。参照フレームに含まれた候補隣接ノードのうち、子ノード数の少ない候補隣接ノードをノードaの親ノードと設定する。また、次のノードbに対する予測ツリーを続けて生成する。ノードaを符号化/復号するために、ノードaの予測値である親ノードと現在ノードとの差値である残差値を符号化して送信し、残差値を合算してノードaを復元する。
【0252】
実施例による方法/装置は、参照予測ツリーによる生成方法を含んで行われる。参照予測ツリーと現在予測ツリーが共に用いられる。
【0253】
現在予測ツリーを予測ツリー生成方法に合わせて設定し、ツリーレベル(tree level)とトラバース(traverse)順にマッチングされるノードを参照予測ツリーから探し出し、仮想のリンクを連結する。
【0254】
現在フレームから生成された予測ツリーと参照フレームから生成された予測ツリーにおいてマッチングされたポイントを基準としてRDOを算出してモードを設定し、参照予測ツリーにあるノードのRDOがより良い値を示す場合、インター参照フラグ(inter_reference_flag)を真(True)と設定する。
【0255】
実施例による方法/装置は、予測ツリー復元方案を含んで行われる。
【0256】
参照フレームにグローバル/ローカル動きの適否がシグナリングされ、その適否に応じて動き補償が行われた後、予測ツリーを復元する。
【0257】
現在フレームによって予測ツリーを復元する方法を拡張して、参照フレームと現在フレームによってインター予測ツリーを復元する。
【0258】
実施例による方法/装置は、統合予測ツリー復元方法を含んで行われる。
【0259】
統合予測ツリーによって生成される場合、ツリー復元の手順は、以下のようである。
【0260】
生成手順を説明するために、以下のような条件が設定される。この条件は一例に過ぎず、実施例によってその構造は様々に設定することができる。
【0261】
例えば、インター予測ツリーの子ノードの最大数=MaxNumChildrenForInterである。各ノードは、親(parent)、子(children)、モード(mode)、インター参照フラグ(inter_reference_flag)情報を有する。インター参照フラグ(inter_reference_flag)は、インター予測のために参照フレームの予測ツリーを使用したか否かを知らせる。親は上位ノード、子は下位ノードなどの用語とも称される。
【0262】
S15000、実施例による方法/装置は、受信した1番目のノード情報を復号する。
【0263】
S15000-1、1番目のノードをルートノードのように復号する。
【0264】
S15001、但し、以後の子ノードは、送信されたインター参照フラグ(inter_reference_flag)=真(True)である場合、自分の親(parent)を参照フレームで生成された予測ツリーから探し出す。
【0265】
S15001-1、参照フラグ(reference_flag)=1である場合、参照フレームにおいてRDO基準として復号/再構成された予測ツリーから親(parent)を探し出して登録する。
【0266】
S15001-2、参照フラグ(reference_flag)=0である場合、現在復号によって構成された予測ツリーの親(parent)を基準として進行する。
【0267】
S15002、再構成された予測ツリーによってポイント(point)値を復元する。
【0268】
S15003、全てのポイントが復号されるまでS15001~S15002を繰り返す。
【0269】
実施例による方法/装置は、参照予測ツリーによる復元方法を含んで行われる。
【0270】
参照予測ツリーと現在予測ツリーが共に用いられる。
【0271】
現在予測ツリーを予測ツリー生成方法に合わせて復元し、ツリーレベル(tree level)とトラバース(traverse)順にマッチングされるノードを参照予測ツリーから探し出し、仮想のリンクを連結する。
【0272】
インター参照フラグ(inter_reference_flag)が真(True)である場合、参照フレームにおいて生成された予測ツリーで仮想のリンクにマッチングされたノードを基準としてモードに応じてポイント(point)値を復元する。
【0273】
図16は実施例によるポイントクラウドデータ送信装置を示す。
【0274】
実施例によるポイントクラウドデータ送信方法は、
図16の送信装置などによって行われる。送信装置の各構成要素は、ハードウェア、ソフトウェア、プロセッサ、及び/又はそれらの組み合わせに対応する。
【0275】
実施例によるポイントクラウドデータ送信装置は、
図1の送信装置10000、ポイントクラウドビデオエンコーダー10002、送信機10003、
図2の獲得-符号化-送信20000-20001-20002、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図24の送信方法などに対応する。
【0276】
図16を参照して、PCCデータ符号化器の動作を説明する。符号化器の入力としてPCCデータが入り、符号化され、ジオメトリ情報ビットストリームと属性情報ビットストリームが出力される。
【0277】
実施例によるジオメトリ情報符号化部は、以下のようである。実施例によるツリーに関する動作は、符号化器(エンコーダー)の予測ツリー生成部(又はプロセッサ)によって行われる。
【0278】
一方、実施例によるジオメトリ情報符号化部は、ポイントクラウドビデオエンコーダー、符号化、ポイントクラウドエンコーダー、及び/又は送信機のポイントクラウド(Point Cloud)ビデオ符号化のための構成要素に対応する。
【0279】
ジオメトリ情報符号化部(又はジオメトリ情報符号化器)は、ジオメトリコーディングタイプが予測基盤コーディングである場合、予測ツリー生成部によって予測ツリーが生成され、予測決定部によって生成された予測ツリーに基づいてRDO過程を行い、最適な予測モードを選択する。最適な予測モードによるジオメトリ予測値を生成する。
【0280】
ジオメトリ情報エントロピー符号化部(又はジオメトリ情報エントロピー符号化器)は、予測された値との残差値をエントロピーコーディングし、ジオメトリ情報ビットストリームを構成する。
【0281】
予測ツリー生成部(又は予測ツリージェネレーター)は、予測ツリー生成部では予測ツリー生成方法が入力され、入力された方法に従って予測ツリーを生成する。予測ツリー生成方法は、統合予測ツリー生成方案、参照予測ツリーによる生成方法がある。コンテンツ特性、サービスのタイプに応じて選択する。適用された予測ツリー生成方法は、デコーダーにシグナリングされる。予測ツリー生成方法に従って予測ツリーを構成する。
【0282】
図16を参照すれば、データ入力部は、ジオメトリ(ジオメトリデータ、ジオメトリ情報、位置情報などと様々に称される)、属性(特質データ、特質情報、属性情報などと様々に称される)、及び/又はジオメトリ及び属性に関するパラメータ情報を受信する。ジオメトリ/特質は、獲得部又はカメラ/センサーなどによってポイントクラウドデータを含むフレーム/シーケンスなどから獲得され、パラメータはエンコーダー方法に応じて設定される。
【0283】
座標系変換部は、ジオメトリ及び/又は特質が位置(座標)に基づいて表現されるため、符号化のための座標系にデータの座標設定を変換する。
【0284】
ジオメトリ情報変換量子化処理部は、ジオメトリ情報を量子化パラメータに基づいて量子化する。
【0285】
空間分割部は、ジオメトリ及び/又は特質が空間に位置するため、符号化のために空間を分割する。
【0286】
ジオメトリ情報符号化部は、ボクセル処理部によってジオメトリをボクセル化する。ジオメトリ情報符号化部は、ジオメトリコーディングタイプを確認する。実施例によるコーディングタイプは、八分木基盤コーディング方法、trisoup基盤コーディング方法、及び/又は予測ツリー方法などを含む。八分木基盤コーディングの場合、ジオメトリを含む八分木を八分木生成部によって生成し、ジオメトリ位置を再構成して復元されたジオメトリ情報を属性情報符号化部に伝達し、ジオメトリ情報をエントロピー方法に基づいて符号化し、ジオメトリ情報を含むビットストリームを生成する。trisoup基盤コーディングの場合、ジオメトリを含むtrisoupを生成し、同様に、ジオメトリを復元し、復元されたジオメトリ情報を属性情報符号化部に伝達し、ジオメトリ情報をエントロピー方法に基づいて符号化し、ジオメトリ情報を含むビットストリームを生成する。予測ツリー基盤コーディングの場合、ジオメトリノードを符号化するための予測ツリーを生成する。実施例による予測ツリー生成方法は、予測ツリー生成方法を示すパラメータに基づいて設定される。適用された予測ツリー生成方法を示すパラメータを生成し、ビットストリームに含ませてデコーダーに伝達する。パラメータについては、
図18などにおいて再び説明する。属性情報符号化部は、入力されたデータ(ジオメトリ、特質、及び/又はパラメータ)及び/又は復元されたジオメトリ情報に基づいて特質を符号化する。特質、例えば、色相情報を符号化するための色相体系に変換する。属性情報符号化方法は、
図1などにおいて説明した属性情報符号化に関する説明を参照する。属性情報をエントロピー方法に基づいて符号化し、属性情報を含むビットストリームを生成する。
【0287】
図16の各動作の詳細な説明は、本明細書の符号化器に関する説明を参照すればよい。
【0288】
図17は実施例によるポイントクラウドデータ受信装置を示す。
【0289】
実施例によるポイントクラウドデータ受信方法は、
図17の受信装置などによって行われる。送信装置の各構成要素は、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
【0290】
実施例によるポイントクラウドデータ受信装置は、
図1の受信装置10004、受信機10005、ポイントクラウドビデオデコーダー10006、
図2の送信-復号-レンダリング20002-20003-20004、
図10~
図11のデコーダー、
図13の受信装置、
図14のデバイス、
図25の受信方法などに対応する。
【0291】
図17を参照して、PCCデータ復号器を説明する。復号器の入力として符号化されたジオメトリ情報ビットストリームと属性情報ビットストリームが入り、復号され、復元されたPCCデータが出力される。
【0292】
実施例によるジオメトリ情報復号部は、以下のようである。実施例によるツリーに関する動作は、予測ツリー再構成部(又はプロセッサ)によって行われる。
【0293】
一方、実施例によるジオメトリ情報復号部は、ポイントクラウドビデオデコーダー、復号、ポイントクラウドデコーダー、受信機のポイントクラウド(Point Cloud)ビデオ復号のための構成要素に対応する。
【0294】
予測ツリー再構成部(又は予測ツリー再構成器)は、予測ツリー生成方法を送信側(エンコーダー側)から受信し、復元して、それによって予測ツリーを再構成し、ジオメトリの予測値を復号するために用いられる。
【0295】
図17のように、実施例による受信方法/装置(ポイントクラウドデータ受信方法/装置)、ポイントクラウドデータデコーダーは、
図17の復号プロセスを行う。
【0296】
実施例による予測ツリー再構成部の復元過程は、予測ツリー生成部の逆過程に対応する。実施例によるポイントクラウドデータ送信装置及び受信装置の動作は、互いに対応し、逆過程に従う。
【0297】
図17の各動作の詳細な説明は、本明細書の復号器に関する説明を参照すればよい。
【0298】
図18は実施例によるポイントクラウドデータを含むビットストリームを示す。
【0299】
実施例によるポイントクラウドデータ送信装置(
図1の送信装置10000、ポイントクラウドビデオエンコーダー10002、送信機10003、
図2の獲得-符号化-送信20000-20001-20002、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図24の送信方法など)は、ポイントクラウドデータを符号化し、パラメータ情報を生成し、
図18のようなビットストリームを生成して送信する。
【0300】
実施例によるポイントクラウドデータ受信装置(
図1の受信装置10004、受信機10005、ポイントクラウドビデオデコーダー10006、
図2の送信-復号-レンダリング20002-20003-20004、
図10~
図11のデコーダー、
図13の受信装置、
図14のデバイス、
図25の受信方法など)は、
図18のようなビットストリームを受信し、パラメータ情報に基づいてポイントクラウドデータを復号する。
【0301】
実施例を追加/実行するために、関連情報をシグナリングする。実施例によるシグナリング情報は、送信端又は受信端などにおいて用いられる。
【0302】
符号化されたポイントクラウドの構成は、以下のようである。ジオメトリ符号化及び/又は特質符号化を行うポイントクラウドデータエンコーダーは、以下のような符号化されたポイントクラウド(又はポイントクラウドを含むビットストリーム)を生成する。また、ポイントクラウドデータに関するシグナリング情報は、ポイントクラウドデータ送信装置のメタデータ処理部によって生成されて処理され、以下のようにポイントクラウドに含まれる。
【0303】
各略語は、以下の意味である。各略語は、同等な意味の範囲内で他の用語にも称される。SPS:シーケンスパラメータセット(Sequence Parameter Set)、GPS:ジオメトリパラメータセット(Geometry Parameter Set)、APS:特質パラメータセット(Attribute Parameter Set)、TPS:タイルパラメータセット(Tile Parameter Set)、ジオメトリ(Geom):ジオメトリビットストリーム(Geometry bitstream)=ジオメトリスライスヘッダ(geometry slice header)+[ジオメトリPUヘッダ(geometry PU header)+ジオメトリPUデータ(Geometry PU data)] | ジオメトリスライスデータ(geometry slice data)、特質(Attr):特質ビットストリーム(Attribute bitstream)=特質データユニットヘッダ(attribute data unit header)+[特質PUヘッダ(attribute PU header)+特質PUデータ(attribute PU data]) | 特質データユニットヘッダ(attribute data unit data)。
【0304】
実施例によるスライスは、データユニットなどとも称される。
【0305】
実施例による予測ツリー生成関連オプション情報は、SPS又はGPSに追加されてシグナリングされる。実施例による予測ツリー生成関連オプション情報は、TPS、又は各スライス(Slice)ごとのジオメトリヘッダ(Geometry header)に追加されてシグナリングされる。ポイントクラウドを領域別に分けて処理するように、タイル又はスライスを提供する。
【0306】
領域別に分けるとき、各々の領域別に異なる隣接ポイント集合生成オプションを設定し、複雑度(complexity)は低いものの、結果の信頼度は少し落ちる方案、又は、逆に、複雑度は高いものの、信頼度が高い方案が選択できる。受信機の処理能力(capacity)に応じて異なる設定を行う。
【0307】
よって、ポイントクラウドは、タイル(Tile)に分けられる場合、各タイルごとに異なるオプションを適用することができる。ポイントクラウドは、スライス(Slice)に分けられる場合、各スライスごとに異なるオプションを適用することができる。各ポイントの参照予測ツリーを用いて復元するか否かは、ジオメトリ予測ツリーデータ(Geometry Predtree data)に追加してもよい。
【0308】
以下、各図面を参照して、
図18のビットストリームに含まれるパラメータのシンタックスを説明する。
【0309】
図19は実施例によるシーケンスパラメータセットを示す。
【0310】
実施例による予測ツリー生成関連オプション情報は、シーケンスパラメータセット(Sequence Parameter Set)に追加されてシグナリングされる。予測ツリー生成処理を効率的にシグナリングすることができる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0311】
プロファイル(profile_idc)は、ビットストリームが順守するプロファイルを示す。ビットストリーム(Bitstream)は、指定値以外のprofile_idc値を含まなくてもよい。profile_idcの他の値は、ISO/IECにおいて今後の使用のために予約されている。
【0312】
プロファイル互換性フラグ(profile_compatibility_flags)が1である場合、ビットストリームがjと同一のprofile_idcによって表示されたプロファイルを順守することを示す。
【0313】
特質セット数(sps_num_attribute_sets)は、ビットストリームにおいて符号化された属性の数を示す。sps_num_attribute_setsの値は、0~63の範囲である。
【0314】
特質ディメンション(attribute_dimension[ i ])は、i番目の属性の構成要素の数を示す。
【0315】
特質インスタンスID(attribute_instance_id[ i ])は、i番目の属性に対するインスタンスIDを示す。
【0316】
予測ジオメトリツリー生成方法(pred_geom_tree_build_method):当該シーケンスにおいて予測ジオメトリツリー生成方法を示す。例えば、0=参照フレーム無しの予測ツリー生成方案、1=統合予測ツリー生成方案、2=参照予測ツリーによる生成方案のように示される。各整数値による情報は、変更が可能である。
【0317】
実施例によるSPSは、以下のパラメータをさらに含んでもよい。
【0318】
simple_profile_compliantは、ビットストリームが単純プロファイルに従うか(1であるとき)、否か(0であるとき)を示す。
【0319】
Dense_profile_compliantは、ビットストリームがDenseプロファイルに従うか(1であるとき)、否か(0であるとき)を示す。
【0320】
predictive_profile_compliantは、ビットストリームが予測プロファイルに従うか(1であるとき)、否か(0であるとき)を示す。
【0321】
main_profile_compliantは、ビットストリームが基本プロファイルに従うか(1であるとき)、否か(0であるとき)を示す。
【0322】
reserved_profile_18bitsは、本文書の本バージョンに従うビットストリームにおいて0に等しい。reserved_profile_18bitsに対する他の値は、ISO/IECにおいて今後の使用のために予約されている。
【0323】
slice_reordering_constraintは、ビットストリームが符号化されたポイントクラウドフレーム内でスライスの再整列又は除去に敏感であるか(1であるとき)、否か(0であるとき)を示す。slice_reordering_constraintが1であるとき、スライスが再整列又は除去されると、ビットストリームが完全に復号されない場合がある。
【0324】
unique_point_positions_constraintが1である場合、符号化された各ポイントクラウドフレームにおいて全てのポイントが固有な位置を有すべきであることを示す。unique_point_positions_constraintが0である場合は、符号化されたポイントクラウドフレームにおいて2つ以上のポイントが同じ位置を有してもよいことを示す。
【0325】
各スライスのポイントが固有な位置を有しても、同じフレーム内の他のスライスのポイントが一致する場合がある。この場合、unique_point_positions_constraintは0と設定される。
【0326】
unique_point_positions_constraintが1である場合、フレームインデックス/番号の属性値が異なっても、同じフレームにおいて位置の同じポイントは禁止される。
【0327】
level_idcは、付録Aに示されたように、ビットストリームが順守するレベルを示す。ビットストリームは、付録Aに示された値以外のlevel_idc値を含まない。level_idcの他の値は、ISO/IECにおいて今後の使用のために予約されている。
【0328】
sps_seq_parameter_set_idは、他のDUが参照するようにSPSを識別する。sps_seq_parameter_set_idは、この明細書のこのバージョンに従うビットストリームにおいて0である。sps_seq_parameter_set_idの他の値は、ISO/IECにおいて今後の使用のために予約されている。
【0329】
frame_ctr_lsb_bitsは、構文要素frame_ctr_lsbの長さをビット単位で示す。
【0330】
slice_tag_bitsは、構文要素slice_tagの長さをビット単位で指定する。
【0331】
bypass_stream_enabledは、算術符号化された構文要素に対するバイパスビンを別のデータストリームで伝達するか否かを指定する。1である場合、2つのデータストリームは固定長さチャンクシーケンス(11.3)を用いて多重化される。0であるとき、バイパスビンは、算術符号化されたビットストリームの一部を形成する。
【0332】
entropy_continuation_enabledは、DUのエントロピー構文解析が以前スライスにおいてDUの最終エントロピー構文解釈状態に依存できるか(1であるとき)否か(0であるとき)を示す。slice_reordering_constraintが0であるとき、entropy_continuation_enabledが0であることは、ビットストリーム適合性の要求事項である。
【0333】
sps_extension_presentは、sps_extension_data構文要素がSPS構文構造に存在するか(1であるとき)否か(0であるとき)を示す。sps_extension_presentは、この明細書のこのバージョンに従うビットストリームにおいて0である。sps_extension_presentに対する1の値は、ISO/IECにおいて今後の使用のために予約されている。
【0334】
sps_extension_dataはいずれの値を有してもよい。その存在及び価値は、この明細書のこのバージョンに指定されているプロファイルに対するデコーダー適合性に影響を及ぼさない。
【0335】
seq_origin_bitsは、符号ビットを除く各seq_origin_xyz構文要素の長さをビット単位で示す。
【0336】
seq_origin_xyz[ ]及びseq_origin_log2_scaleは、応用プログラム別の座標系原点においてシーケンス座標系単位でシーケンス及びコーディング座標系のXYZ原点を示す。seq_origin_bitsが0であるとき、seq_origin_xyz[ ]とseq_origin_log2_scaleは0と類推される。原点の番目のXYZ成分は、SeqOrigin[ ]と示される。
【0337】
seq_bbox_size_bitsは、各seq_bbox_size_minus1_xyz構文要素の長さをビット単位で示す。
【0338】
seq_bbox_size_minus1_xyz[ ]+1は、シーケンス座標系において符号化されたボリューム次元の番目のXYZ構成要素を示す。seq_bbox_size_bitsが0である場合、符号化されたボリューム次元が指定されない。
【0339】
seq_unit_numerator_minus1、seq_unit_denominator_minus1及びseq_unit_is_metresは、シーケンス座標系の単位ベクトルが示す長さである。
【0340】
seq_unit_is_metresが1である場合、シーケンス単位ベクトルの長さを示す。
【0341】
seq_unit_is_metresが0である場合、シーケンス単位ベクトルが以下のようなアプリケーション別の座標系単位ベクトル長さAppUnitに相対的な長さを有することを示す。
【0342】
seq_coded_scale_exponent、seq_coded_scale_mantissa_bits及びseq_coded_scale_mantissaは、コーディング座標系をシーケンス座標系に変換するスケール因子を示す。スケール因子は、1より大きいか等しい正規化された二進浮動小数点値で構文要素によって示される。seq_coded_scale_mantisssa_bitsは、構文要素seq_coded_scale_mantissaの長さをビット単位で示す。スケール因子は、SeqCodedScaleのように示される。
【0343】
geom_axis_orderは、符号化されたポイントクラウドのXYZ軸とSTV軸との対応関係を示す。
【0344】
num_attributesは、SPS属性リストに列挙された属性の数を示す。
【0345】
AttrDim、AttrBitDepth及びAttrMaxValのそれぞれは、AttrIdx変数で識別される属性の構成要素の数、ビット深さ及び最大値を示す。
【0346】
AttrDim:=attr_components_minus1[AttrIdx]+1
【0347】
AttrBitDepth:=attr_bitdepth_minus1[AttrIdx] + 1
【0348】
AttrMaxVal:=Exp2(AttrBitDepth)-1
【0349】
を示す。_components_minus1[attrIdx]+1は、識別された属性の構成要素の数を指定する。
【0350】
3つ以上の構成要素のある属性は、原始属性データのみでコーディングすることができる(attr_coding_type=3)。
【0351】
attr_instance_id値は、属性ラベルの同じ属性を区別するために使用される。例えば、ポイントクラウドには、互いに異なる観点でサンプリングされた複数の色相属性がある。この場合、アプリケーションにおいてattr_instance_idを用いてその観点を区分することができる。
【0352】
attr_bitdepth_minus1[ attrIdx ]+1は、識別された属性の全ての構成要素のビット深さを指定する。
【0353】
attr_label_known[ attrIdx ]、attr_label[ attrIdx ]及びattr_label_oid[ attrIdx ]は、識別された属性によって伝達されるデータタイプを識別する。attr_label_known[ attrIdx ]は、属性がattr_label[ attrIdx ]の値によってこの明細書に指定された属性であるか(0であるとき)、客体識別子attr_label_oid[ attrIdx ]で識別される外部指定の属性であるかを指定する。
【0354】
attr_labelによって識別された属性タイプは、表9に指定されている。attr_labelによって識別された属性は、有効な数だけ構成要素を有すべきであるビットストリーム適合性の要求事項がある。未指定のattr_labelの値は、ISO/IECにおいて今後の使用のために予約されている。デコーダーは、attr_labelの予約された値で属性を復号する。
【0355】
attr_label_oidで識別される属性タイプは、この明細書において指定されない。
【0356】
attr_property_cntは、属性に対するSPSにあるattribute_property構文構造の数を示す。
【0357】
図20は実施例によるジオメトリパラメータセットを示す。
【0358】
ジオメトリ情報符号化/復号の過程において予測ツリー生成機能のための関連オプション情報は、ジオメトリパラメータセット(Geometry Parameter Set)に追加されてシグナリングされる。ジオメトリのインター予測(inter-prediction)を支援するために、効率的にシグナリングされる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0359】
ジオメトリパラメータセットID(gps_geom_parameter_set_id):他の構文要素で参照するようにGPSに対する識別子を示す。gps_seq_parameter_set_idの値は、0~15の範囲内である。
【0360】
シーケンスパラメータセットID(gps_seq_parameter_set_id):活性SPSに対するsps_seq_parameter_set_id値を示す。gps_seq_parameter_set_idの値は、0~15の範囲内である。
【0361】
ジオメトリツリータイプ(geom_tree_type):geom_tree_typeが0である場合、位置情報が八分木(Octree)を用いて符号化されることを示す。geom_tree_typeが1である場合は、位置情報が予測ツリーを用いて符号化されることを示す。
【0362】
予測ジオメトリ生成方法(pred_geom_tree_build_method):フレームに予測ジオメトリツリー生成方法を示す。例えば、0=参照フレーム無しの予測ツリー生成方案、1=統合予測ツリー生成方案、2=参照予測ツリー使用による生成方案のようにシグナリングされる。各整数値による情報は変更が可能である。
【0363】
実施例によるGPSは、以下のパラメータをさらに含んでもよい。
【0364】
gps_geom_parameter_set_idは、他のDUが参照するようにGPSを識別する。
【0365】
gps_seq_parameter_set_idは、sps_seq_parameter_set_idで活性SPSを識別する。
【0366】
slice_geom_origin_scale_presentは、GDUヘッダにslice_geom_origin_log2_scaleが存在するか(1である場合)否か(0である場合)を示す。slice_geom_origin_scale_presentが0である場合、スライス原点スケールがgps_geom_origin_log2_scaleによって指定されることを示す。
【0367】
gps_geom_origin_log2_scaleは、slice_geom_origin_scale_presentが0であるとき、slice_geom_origin_xyzにおいてスライス原点を導出するために使用されるスケール因子を示す。
【0368】
geom_dup_point_counts_enabledは、重複ポイントがポイントごとの重複カウントによってGDUでシグナリングされるか(1であるとき)否か(0であるとき)を示す。
【0369】
geom_dup_point_counts_enabledが0である場合は、direct_dup_point_cnt、occ_dup_point_cnt又はptn_dup_point_cnt構文要素以外の方法によって単一スライス内において同じポイント位置を複数回コーディングすることを禁止しない。
【0370】
geom_tree_typeが0である場合は、スライスジオメトリが占有ツリー(7.3.3.4)を用いて符号化されることを示す。geom_tree_typeが1である場合は、スライスジオメトリが予測ツリー(7.3.3.8)を用いて符号化されることを示す。
【0371】
gps_extension_presentは、GPS構文構造にgps_extension_data構文要素が存在するか(1であるとき)否か(0であるとき)を示す。gps_extension_presentは、この明細書のこのバージョンに従うビットストリームにおいて0である。gps_extension_presentに対する1の値は、ISO/IECにおいて今後の使用のために予約されている。
【0372】
gps_extension_dataはいずれの値を有してもよい。その存在及び価値は、この明細書のこのバージョンに指定されたプロファイルに対するデコーダー適合性に影響を及ぼさない。
【0373】
geom_angular_enabledは、角度原点のV軸に沿って位置して回転するビームセットに対する情報を用いてスライスジオメトリが符号化されるか(1であるとき)否か(0であるとき)を示す。活性化される場合、ポイント位置は、ビームによって投射される光線に沿ってサンプリングされたものと仮定される。
【0374】
slice_angular_origin_presentは、スライス関連角度原点がGDUヘッダでシグナリングされるか(1であるとき)否か(0であるとき)を示す。slice_angular_origin_presentが0である場合は、角度原点がgps_angular_origin_xyzであることを示す。slice_angular_origin_presentがない場合には0と類推される。
【0375】
gps_angular_origin_bits_minus1+1は、各gps_angular_origin_xyz構文要素の長さをビット単位で示す。
【0376】
gps_angular_origin_xyz[]は、コーディング座標系において角度原点の番目のXYZ座標を示す。
【0377】
num_beams_minus1+1は、GPSによって列挙されたビームの数を示す。
【0378】
beam_elevation_init及びbeam_elevation_diff[]は、ビーム高度をS-T平面上の傾きによって示す。番目のビームの高度傾きは、BeamElev[]のように示される。18つの少数ビットのある二進固定小数点の値である。
【0379】
beam_voffset_init及びbeam_voffset_diff[]は、角度原点で列挙されたビームのV軸オフセットを示す。オフセットは、コーディング座標系の単位で示される。番目のビームのオフセットは、BeamOffsetV[]のように示される。
【0380】
beam_steps_per_rotation_init_minus1及びbeam_steps_per_rotation_diff[]は、回転ビームによって回転当たり行われる段階の数を示す。番目のビームの値は、BeamStepsPerRev[]のように示される。
【0381】
ptree_ang_azimuth_pi_bits_minus11+11は、V軸周りのビームの半回転を示すビット数である。半回転は、*ラジアンである。
【0382】
ptree_ang_radius_scale_log2は、デカルト座標に変換する間、点の放射型角度座標を調整するために用いられる要素を示す。
【0383】
ptree_ang_azimuth_step_minus1+1は、符号化された点間で回転するビームの方位角から予想される変化を示す。角度予測ツリーコーディングに使用される方位角予測残差は、ptree_ang_azimuth_step_minus1+1の倍数と余りで符号化される。
【0384】
occtree_point_cnt_list_presentは、GDUフッターが各占有ツリーレベルのポイント数を列挙するか(1であるとき)否か(0であるとき)を示す。occtree_point_cnt_list_presentがない場合は0と類推される。
【0385】
0より大きいocctree_direct_coding_modeは、点位置が占有ツリーの適合する直接ノードによって符号化可能であることを示す。occtree_direct_coding_modeが0である場合は、直接ノードが占有ツリーに存在してはいけないことを示す。
【0386】
一般に、occtree_direct_coding_modeの値が大きいほど直接ノード適合性が高くなる。
【0387】
occtree_direct_joint_coding_enabledは、2つのポイントを符号化する直接ノードがポイントの所定順に従って位置を共通して符号化すべきか(1であるとき)否か(0であるとき)を示す。
【0388】
occtree_coded_axis_list_presentが1である場合は、GDUヘッダが各占有ツリーレベルに対するノードサイズを誘導するために用いられるocctree_coded_axis構文要素を含むことを示す。occtree_coded_axis_list_presentが0である場合は、occtree_coded_axis構文要素がGDU構文に存在せず、占有ツリーがツリー深さによって指定された3次体積を示すことを示す。
【0389】
occtree_neigh_window_log2_minus1+1は、ツリーレベル内で各可用性ウィンドウを形成する占有ツリーノード位置の数を示す。ウィンドウの外部のノードは、ウィンドウ内のノードに関連するプロセスに使用できない。occtree_neigh_window_log2_minus1が0である場合は、兄弟ノードのみを現在ノードで使用可能なものとみなす必要があることを示す。
【0390】
occtree_adjacent_child_enabledは、隣接占有ツリーノードの隣接子がビット占有状況化に使用されるか(1であるとき)否か(0であるとき)を示す。occtree_adjacent_child_enabledがない場合は0と類推される。
【0391】
occtree_intra_pred_max_nodesize_log2-1は、スライス内の占有予測に適合する占有ツリーノードの最大サイズを示す。occtree_intra_pred_max_nodesize_log2がない場合は0と類推される。
【0392】
occtree_bitwise_codingは、ノード占有ビットマップが(1であるとき)occupancy_bit構文要素、又は(0であるとき)予め符号化された構文要素occupancy_byteを用いてコーディングされることを示す。
【0393】
occtree_planar_enabledは、ノード占有ビットマップのコーディングが部分的に占有及び非占有平面のシグナリングによって行われるか(1であるとき)否か(0であるとき)を示す。occtree_planar_enabledがない場合は0と類推される。
【0394】
occtree_planar_threshold[]は、平面占有コーディングに対する軸別の適合性を決定するために部分的に使用される閾値を示す。閾値は、最も可能性のある平面軸(=0)から最小(=2)まで示される。各閾値は、occ_single_planeが1であると予想される適合軸に対する最小の可能性を示す。occtree_planar_thresholdに対する範囲[8、120]は、可能度間隔[0、1]に相当する。
【0395】
occtree_direct_node_rate_minus1は、存在する場合、32つの全ての適合ノードのうち、occtree_direct_node_rate_minus1+1のみが直接ノードで符号化されることを示す。
【0396】
occtree_planar_buffer_disabledは、以前に符号化されたノードの平面位置を用いて、ノードごとの占有平面位置のコンテキスト化が非活性化されるか(1であるとき)否か(0であるとき)を示す。occtree_planar_buffer_disabledがない場合は0と類推される。
【0397】
geom_scaling_enabledは、ジオメトリ復号プロセス中に符号化されたジオメトリのサイズを調整すべきか(1であるとき)否か(0であるとき)を示す。
【0398】
geom_qpは、スライス及びノード当たりオフセットを追加する前のジオメトリQPを示す。
【0399】
geom_qp_mul_log2は、ジオメトリQPに適用するスケール因子を示す。スケーリング段階のサイズが2倍になる度に、Exp2(3-geom_qp_mul_log2)QP値がある。
【0400】
ptree_qp_period_log2は、予測ツリーノードQPオフセットがシグナリングされるノードの周期を示す。この周期は、全てのExp2(ptree_qp_period_log2)ノードにおいて1つである。
【0401】
occtree_direct_node_qp_offsetは、直接ノード符号化されたポイントの位置をスケーリングするために、スライスジオメトリQPに対する相対的なオフセットを示す。
【0402】
図21は実施例によるタイルパラメータセットを示す。
【0403】
予測ツリー生成関連オプション情報は、タイルパラメータセット(Tile Parameter Set)に追加されてシグナリングされる。インター予測(inter-prediction)を効率的にシグナリングすることができる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0404】
タイル数(num_tiles)は、ビットストリームに対してシグナリングされたタイル数を示す。これが存在しない場合、num_tilesは0と類推される。
【0405】
タイル境界ボックスオフセットx(tile_bounding_box_offset_x[i])は、直交座標においてi番目のタイルのxオフセットを示す。これが存在しない場合、tile_bounding_box_offset_x[0]の値はsps_bounding_box_offset_xであると類推される。
【0406】
タイル境界ボックスオフセットy(tile_bounding_box_offset_y[i])は、直交座標においてi番目のタイルのyオフセットを示す。これが存在しない場合、tile_bounding_box_offset_y[0]の値は、sps_bounding_box_offset_yと類推される。
【0407】
予測ジオメトリツリー生成方法(pred_geom_tree_build_method):タイルに予測ジオメトリツリーを生成する方法を示す。例えば、0=参照フレーム無しの予測ツリー生成方案、1=統合予測ツリー生成方案、2=参照予測ツリー使用による生成方案などのように示される。各整数値が示す情報は、互いに変更が可能である。
【0408】
実施例によるタイルパラメータセットは、以下のパラメータをさらに含んでもよい。実施例によるタイルパラメータセットは、タイルインベントリと称される。
【0409】
シーケンスパラメータセットID(ti_seq_parameter_set_id)は、sps_seq_parameter_set_idで活性SPSを示す。
【0410】
フレーム数lsbビット(ti_frame_ctr_lsb_bits)は、構文要素ti_frame_ctr_lsbの長さをビット単位で示す。ti_frame_ctr_lsb_bitsは活性SPSのframe_ctr_lsb_bitsと同一である。
【0411】
フレーム数lsb(ti_frame_ctr_lsb)は、次に符号化されたポイントクラウドフレームに対するFrameCtrのti_frame_ctr_lsb_bits LSBである。
【0412】
タイル数(tile_cnt)は、タイルインベントリによって列挙されるタイル数を示す。
【0413】
タイルID(tile_id_bits)は、各tile_id構文要素の長さをビット単位で示す。tile_id_bitsが0である場合、タイルがインデックスtileIdxによって識別されることを示す。
【0414】
タイル原点ビット(tile_origin_bits_minus1)+1は、符号ビットを除く各タイル原点xyz(tile_origin_xyz)構文要素の長さをビット単位で示す。
【0415】
タイルサイズビット(tile_size_bits_minus1)+1は、各タイルサイズ(tile_size_minus1_xyz)構文要素の長さをビット単位で示す。
【0416】
タイルID(tile_id[tileIdx])は、タイルインベントリにおいてtileIdx番目のタイルの識別子を示す。tile_id_bitsが0であるとき、tile_id[ tileIdx ]の値はtileIdxと類推される。tile_idの全ての値は、タイルインベントリにおいて固有である。
【0417】
タイル原点xyz及びタイルサイズxyz(tile_origin_xyz[tileId][]及びtile_size_minus1_xyz[ tileId ][ ])は、tileIdと同じslice_tagによって識別されるスライスを含むシーケンス座標系の境界ボックスを示す。
【0418】
タイル原点xyz(tile_origin_xyz[tileId][])は、タイルインベントリ原点を基準として、タイル境界ボックスの下方隅の番目のXYZ座標を示す。
【0419】
タイルサイズxyz(tile_size_minus1_xyz[tileId][]):+1はタイル境界ボックスの番目のXYZ次元を示す。
【0420】
原点xyz(ti_origin_bits_minus1):+1は符号ビットを除く各ti_origin_xyz構文要素の長さをビット単位で示す。
【0421】
原点xyz及び原点スケール(ti_origin_xyz[]及びti_origin_log2_scale)は、seq_origin_xyz[]及びseq_origin_log2_scaleによって指定されたシーケンス座標系のXYZ原点を示す。ti_origin_xyz[]及びti_origin_log2_scaleのそれぞれの値は、seq_origin_xyz[]及びseq_origin_log2_scaleと同一である。
【0422】
図22は実施例によるジオメトリスライスヘッダを示す。
【0423】
ジオメトリ情報の符号化/復号の過程において予測ツリー生成のための関連オプション情報は、ジオメトリスライスヘッダ(Geometry Slice header)に追加されてシグナリングされる。インター予測(inter-prediction)を支援するために効率的にシグナリングすることができる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0424】
ジオメトリパラメータセットID(gsh_geometry_parameter_set_id)は、活性GPSのgps_geom_parameter_set_id値を示す。
【0425】
タイルID(gsh_tile_id)は、GSHが参照するタイルIDの値を示す。タイルID(gsh_tile_id)の値は、0~XXの範囲内である。
【0426】
スライスID(gsh_slice_id)は、他の構文要素において参照するスライスヘッダを識別する。gsh_slice_idの値は、0~XXの範囲内である。
【0427】
予測ジオメトリツリー生成方法(pred_geom_tree_build_method):スライスに予測ジオメトリツリーを生成する方法を示す。例えば、0=参照フレーム無しの予測ツリー生成方案、1=統合予測ツリー生成方案、2=参照予測ツリー使用による生成方案などのようにシグナリングされる。各整数値は変更が可能である。
【0428】
ジオメトリスライスヘッダは、ジオメトリデータユニットヘッダとも称される。ジオメトリスライスヘッダは、以下のパラメータをさらに含んでもよい。
【0429】
ジオメトリパラメータセットID(gdu_geometry_parameter_set_id)は、gps_geom_parameter_set_idで活性GPSを示す。
【0430】
スライスID(slice_id)は、他のDU(データユニット、スライスユニットに対応)が参照するスライスを示す。
【0431】
slice_tagは、slice_tagに対して同値を有するスライスグループのメンバーでスライスを識別する。タイルインベントリDUがある場合、スライスグループは、タイルIDで識別されるタイルである。一方、タイルインベントリDUがない場合は、slice_tagの解釈は、アプリケーションに応じて異なる。
【0432】
frame_ctr_lsbは、概念的フレームカウンタFrameCtrのframe_ctr_lsb_bits LSBを指定する。frame_ctr_lsb値の異なる連続スライスは、個々の出力ポイントクラウドフレームの一部を形成する。中間フレーム境界マーカーデータ単位のないframe_ctr_lsbの同値を有する連続スライスは、同一の符号化されたポイントクラウドフレームの一部を形成する。
【0433】
slice_entropy_continuationが1である場合、エントロピー構文解析状態復元プロセス(11.6.2.2及び11.6.3.2)がスライスのGDU及びADUの開始時に適用されることを指定する。slice_entropy_continuationが0である場合、スライスのGDU及びADUの構文解釈が他のスライスと独立していることを指定する。slice_entropy_continuationがない場合は0と類推される。
【0434】
GDUが符号化されたポイントクラウドフレームにおいて1番目のGDUである場合、slice_entropy_continuationが0であることは、ビットストリーム適合性の要求事項である。デコーダーは、slice_entropy_continuationが0である同じフレームのスライスが先行しないslice_entropy_continuationが1である符号化されたポイントクラウドフレームの全てのスライスを無視(ビットストリームから除去して廃棄)することができる。
【0435】
prev_slice_idは、ビットストリーム順において以前スライスのGDUのslice_idと同一である。デコーダーは、prev_slice_idが存在し、同一のフレームにおいて以前スライスのslice_idと同一ではないスライスを無視(ビットストリームから除去して廃棄)することができる。
【0436】
slice_tagがprev_slice_idによって識別されるGDUのslice_tagと同一ではない場合、slice_entropy_continuationが0であることが推奨される。例えば、slice_tagがスライスの下位集合を選択するために使用されるとき、選択されないスライスに対する従属性がある場合、復号が防止される。
【0437】
slice_geom_origin_bits_minus1+1は、各slice_geom_origin_xyz構文要素の長さをビット単位で指定する。
【0438】
slice_geom_origin_xyz[]及びslice_geom_origin_log2_scaleは、コーディング座標系においてスライス原点の番目のXYZ座標を指定する。STV座標のスライス原点は、SliceOrigin[]のように示される。slice_geom_origin_log2_scaleが存在しない場合、gps_geom_origin_log2_scaleと類推される。
【0439】
slice_angular_origin_bits_minus1+1は、各slice_angular_origin_xyz構文要素の長さをビット単位で指定する。
【0440】
slice_angular_origin_xyz[]は、スライス座標系において相対角度原点の番目のXYZ座標を指定する。slice_angular_origin_xyz[]がない場合は0と類推される。
【0441】
slice_geom_qp_offsetは、スライスジオメトリQPをGPSのgeom_qpに対するオフセットとして指定する。slice_geom_qp_offsetがない場合は0と類推される。
【0442】
図23は実施例によるジオメトリ予測ツリーデータを示す。
【0443】
各ポイントの参照予測ツリーを用いて復元するか否かは、ジオメトリ予測ツリーデータ(Geometry Predtree data)においてシグナリングされる。インター予測(inter-prediction)を支援するために効率的にシグナリングすることができる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0444】
予測ツリーノードID(PtnNodeIdx):ノードインデックスを示す。
【0445】
ツリー終了(gpt_end_of_trees_flag):0である場合、データ単位において他の予測ツリーが後続することを示す。1である場合、gpt_end_of_trees_flagは、データユニットにそれ以上の予測ツリーが存在しないことを示す。
【0446】
子の数(ptn_child_cnt[nodeIdx])は、ジオメトリ予測ツリー内の現在予測ツリーノードの直系の子ノードの数である。
【0447】
予測モード(ptn_pred_mode[nodeIdx])は、現在ノードに関連する位置を予測するために用いられるモードを示す。
【0448】
インター参照フラグ(inter_reference_flag[nodeIdx]):参照フレームによって生成された予測ツリーからポイントを復元する情報を参照すべきか否かを示す。
【0449】
図24は実施例によるポイントクラウドデータ送信方法を示す。
【0450】
実施例によるポイントクラウドデータ送信方法/装置(
図1の送信装置10000、ポイントクラウドビデオエンコーダー10002、送信機10003、
図2の獲得-符号化-送信20000-20001-20002、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図16のエンコーダー)の方法は、
図24のような方法に対応する。
【0451】
S2400、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化するステップを含む。
【0452】
実施例による符号化の動作は、
図1~
図14に説明したように、ポイントクラウドデータを符号化することができる。また、
図15~
図16に説明したように、予測ツリーを生成し、ポイントクラウドデータを効率的に圧縮することができる。実施例による予測ツリーは、現在フレームの予測ツリー、参照フレームの予測ツリー、現在フレームの予測ツリー及び参照フレームの予測ツリーが統合された予測ツリーを含む。
図18~
図23に説明したように、符号化されたポイントクラウドデータ及び関連パラメータ情報を含むビットストリームを生成することができる。
【0453】
S2401、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを含むビットストリームを送信する段階をさらに含む。
【0454】
実施例による送信動作は、
図1~
図14に説明したように、符号化されたポイントクラウドデータを送信することができる。
図15~
図16に説明したように、予測ツリーに基づいて符号化されたポイントクラウドデータを含むビットストリームを送信することができる。ビットストリームの構造は、
図18~
図23の説明を参照すればよい。
【0455】
図25は実施例によるポイントクラウドデータ受信方法を示す。
【0456】
実施例によるポイントクラウドデータ受信方法/装置(
図1の受信装置10004、受信機10005、ポイントクラウドビデオデコーダー10006、
図2の送信-復号-レンダリング20002-20003-20004、
図10~
図11のデコーダー、
図13の受信装置、
図14のデバイス、
図17のデコーダー)は、
図25のような方法に対応する。
【0457】
S2500、実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階を含む。
【0458】
実施例による受信動作は、
図1~
図14に説明したように、符号化されたポイントクラウドデータ及びパラメータを含むビットストリーム(
図18~
図23)を受信することができる。
図15、
図17に説明したように、予測ツリーに基づいて符号化されたポイントクラウドデータを受信することができる。
【0459】
S2501、実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを復号する段階をさらに含む。
【0460】
実施例による復号動作は、
図1~
図14に説明したように、ポイントクラウドデータを復号することができる。
図15、
図17に説明したように、予測ツリーを生成し、予測ツリーに基づいてポイントクラウドデータを復号することができる。
図18のビットストリームに含まれたポイントクラウドデータを
図19~
図23のパラメータ情報に基づいて復号することができる。
【0461】
図1を参照すれば、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階;及びポイントクラウドデータを含むビットストリームを送信する段階;を含む。
【0462】
図15を参照すれば、グローバル及びローカル動き推定及び補償に関連して、ポイントクラウドデータを符号化する段階は、ポイントクラウドデータを含むフレーム間のインター-予測を行う段階を含み、インター-予測を行う段階は、予測ユニットに基づいて、ポイントクラウドデータに対するグローバル動きを予測する段階、予測ユニットを分割し、ポイントクラウドデータに対するローカル動きを予測する段階を含む。予測ユニットは、サイズ及び分割程度に応じて、LPU、PUなどを含む。
【0463】
図15を参照すれば、予測ツリー生成方案及び統合予測ツリー生成方案に関連して、実施例による符号化方法は、現在フレームの現在ポイントを予測するために、参照フレームの予測ツリーを用いて統合予測ツリーを生成する。ポイントクラウドデータを符号化する段階は、ポイントクラウドデータに関する予測ツリーを生成する段階を含み、予測ツリーを生成する段階は、ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを現在フレームの参照フレームに対する予測ツリーから探し出して予測ツリーに登録する段階を含み、参照フレームに対する予測ツリーに含まれた少なくとも1つ以上のノードから子ノードの数及び距離に基づいて、現在フレームに含まれたポイントに対する親ノードが生成され、現在フレームに含まれたポイントに対する予測が参照フレームに基づいて行われた場合、インター参照情報が生成される。親ノードは上位ノードとも称される。ノードは、1つ又は1つ以上のポイントを含む。ノードは、ポイントとも称される。予測ツリーは、現在フレームの予測ツリー、参照フレームの予測ツリー、現在フレーム及び参照フレームの統合予測ツリーを含む。統合予測ツリーは、予測ツリーとも称される。統合予測ツリーは、現在フレームのポイントを符号化するために、現在フレームの予測ツリー及び参照フレームの予測ツリーから生成された予測ツリーを意味する。
【0464】
図15を参照すれば、予測ツリー生成方案及び統合予測ツリー生成方案に関連して、実施例による符号化方法は、現在ポイントの次のポイントを続けて予測するために、統合予測ツリーを生成する。予測ツリーを生成する段階は、ポイントクラウドデータを含む現在フレーム内の次のポイントに対する親ノードを予測ツリーに基づいて登録する段階をさらに含み、次のポイントに対する親ノードが参照フレームに基づいて登録された場合、インター参照情報が生成される。現在フレームにポイント(又はノード)が、例えば、a、b、cのように存在する場合、aが現在ポイントであり、bが次のポイントである。
【0465】
図15を参照すれば、参照予測ツリーによる生成方法に関連して、ポイントクラウドデータを符号化する段階は、ポイントクラウドデータを含む現在フレームに対する予測ツリーを生成し、現在フレームに含まれたポイントに対する親ノードを、現在フレームに対する予測ツリー及び現在フレームに対する参照フレームの予測ツリーに基づいて探し出し、現在フレームに対する予測ツリーに含まれたノードと参照フレームに対する予測ツリーに含まれたノードとの距離に基づいて、親ノードがサーチされ、参照フレームの予測ツリーに含まれたノードが親ノードとして指定される場合、現在フレームに対する予測ツリー及び参照フレームの予測ツリー間の仮想リンクが生成され、インター参照情報が生成される。
【0466】
図18~
図23を参照すれば、予測ジオメトリツリー生成方法(pred_geom_tree_building_method)及びインター参照情報(inter_reference_flag)などに関連して、ビットストリームは予測ツリー生成に関する情報を含む。
【0467】
ポイントクラウドデータ送信方法は送信装置によって行われる。送信装置は、メモリ及び/又はプロセッサを含むエンコーダーである。送信装置は、ポイントクラウドデータを符号化するエンコーダー;及びポイントクラウドデータを含むビットストリームを送信する送信機;を含む。
【0468】
受信方法は、ポイントクラウドデータ送信方法に対応して、逆過程を行う。受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階;及びポイントクラウドデータを復号する段階;を含む。
【0469】
図15を参照すれば、予測ツリー復元方案及び動き補償及び予測ツリー復元に関連して、ポイントクラウドデータを復号する段階は、ビットストリームに含まれたパラメータ情報に基づいて、ポイントクラウドデータに対する動き補償を行う段階、ポイントクラウドデータに対する予測ツリーを復元する段階を含む。
【0470】
図15を参照すれば、統合予測ツリー復元方法及びインター参照情報(reference_flag=1 or 0)に関連して、ポイントクラウドデータを復号する段階は、ビットストリームに含まれたインター参照情報に基づいて、ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを現在フレームの参照フレームに対する予測ツリーから探し出すか、現在フレームに対する予測ツリーから探し出す。
【0471】
図15を参照すれば、参照予測ツリーによる復元方法に関連して、ポイントクラウドデータを復号する段階は、ポイントクラウドデータを含む現在フレームに対する予測ツリーを復元し、現在フレームに含まれたポイントに対する親ノードを、現在フレームに対する予測ツリー及び現在フレームに対する参照フレームの予測ツリーに基づいて探し出し、現在フレームに対する予測ツリーに含まれたノードと参照フレームに対する予測ツリーに含まれたノードとの距離に基づいて、親ノードがサーチされ、参照フレームの予測ツリーに含まれたノードが親ノードとして指定される場合、現在フレームに対する予測ツリー及び参照フレームに対する予測ツリー間の仮想リンクが生成される。
【0472】
受信方法は受信装置によって行われる。受信装置は、メモリ及び/又はプロセッサを含むデコーダーとして構成される。受信装置は、ポイントクラウドデータを含むビットストリームを受信する受信部;及びポイントクラウドデータを復号するデコーダー;を含む。
【0473】
予測ツリーの生成時に現在ポイントと近いポイントを探すが、実施例は、予測ツリーそのものを現在フレームのツリー及び参照フレームのツリーではなく、インター予測のための予測ツリーとして生成する効果がある。すなわち、実施例によるエンコーダー及び/又はデコーダーは、全体のポイントの相関関係を考慮して予測ツリーを生成し、効率的な圧縮/復元が可能である。ジオメトリ情報圧縮方法の圧縮効率を高めることができる。リアルタイムポイントクラウドデータのキャプチャー/圧縮/送信/復元/再生サービスを効率的に支援することができる。
【0474】
前述した実施例のPCC符号化方法、PCC復号方法、シグナリング方法は、以下のような効果を提供する。低遅延サービスが必要なシナリオ、例えば LiDARからポイントクラウドデータをリアルタイムでキャプチャーして送信する場合、又は3D Mapデータがリアルタイムで送信されて処理するサービスを提供する場合に備え、符号化と復号時間の短縮が必要となる。その短縮方法として、ポイントクラウドの全体情報がなくても、一部のみで符号化を開始し、ストリーミングを行い、復号することで、遅延(latency)を下げることができる。
【0475】
実施例は、低遅延サービスのために、3次元ポイントクラウド(point cloud)データ圧縮のためのジオメトリ基盤ポイントクラウド圧縮(Geometry-based Point Cloud Compression(G-PCC))のジオメトリ情報圧縮方法の遅延(latency)を減らし、且つビットストリームのサイズが維持可能な予測ツリー生成方法によってインター予測を行う方案を提供することができる。
【0476】
これにより、実施例は、3次元ポイントクラウド(point cloud)データ圧縮のためのジオメトリ基盤ポイントクラウド圧縮(G-PCC)のエンコーダー(符号化器)/デコーダー(復号器)のジオメトリ圧縮の効率を高め、ポイントクラウドコンテンツストリームを提供することができる。
【0477】
実施例によるPCC符号化器及び/又はPCC復号器は、効率的な予測ツリー生成方案を提供することができ、フレーム間の相関関係を考慮することで、ジオメトリ圧縮符号化/復号の効率性を増加させる効果を提供することができる。
【0478】
前述した実施例による送受信装置の動作は、以下のポイントクラウド圧縮処理の過程と結合して説明することができる。
【0479】
よって、実施例による送信方法/装置は、ポイントクラウドデータを効率的に圧縮してデータを送信することができ、これによるシグナリング情報を送信することで、実施例による受信方法/装置もまたポイントクラウドデータを効率的に復号/復元することができる。
【0480】
実施例は方法及び/又は装置の観点で説明しており、方法の説明及び装置の説明は互いに補完して適用できる。
【0481】
説明の便宜のために各図を区分して説明したが、各図に述べている実施例を併合して新しい実施例を具現するように設計することも可能である。また、通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように、説明された実施例の構成と方法を限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
【0482】
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。
【0483】
この明細書において、「/」と「、」は「及び/又は」に解釈される。例えば、「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 or alternatively)」を意味する。
【0484】
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
【0485】
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。
【0486】
また、この明細で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細で説明した様々な動作を制御する。プロセッサはコントローラなどとも称される。実施例の動作はファームウェア、ソフトウェア及び/又はこれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はこれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
【0487】
一方、上述した実施例による動作は、実施例による送信装置及び/又は受信装置により行われる。送受信装置はメディアデータを送受信する送受信部、実施例によるプロセスに対する指示(プログラムコード、アルゴリズム、フローチャート及び/又はデータ)を格納するメモリ、及び送受信装置の動作を制御するプロセッサを含む。
【0488】
プロセッサはコントローラなどとも称され、例えば、ハードウェア、ソフトウェア及び/又はそれらの組み合わせに対応する。上述した実施例による動作はプロセッサにより行われる。またプロセッサは上述した実施例の動作のためのエンコーダー/デコーダーなどで具現される。
【0489】
上述したように、実施例を実施するための最善の形態について関連内容を説明する。
【0490】
上述したように、実施例はポイントクラウドデータ送受信装置及びシステムに全体又は部分的に適用することができる。
【0491】
当業者であれば、実施例の範囲内で実施例を様々に変更及び変形することができる。
【0492】
実施例は変更/変形を含み、変更/変形は請求項及びそれと同一のものの範囲内である。
【0493】
〔特許請求の範囲(国際出願時)〕
〔請求項1〕
ポイントクラウドデータ送信方法であって、
ポイントクラウドデータを符号化する段階;及び
前記ポイントクラウドデータを含むビットストリームを送信する段階;を含んでなる、ポイントクラウドデータ送信方法。
〔請求項2〕
前記ポイントクラウドデータを符号化する段階は、前記ポイントクラウドデータを含むフレーム間のインター-予測を行う段階を含み、
前記インター-予測を行う段階は、
予測ユニットに基づいて、前記ポイントクラウドデータに対するグローバル動きを予測する段階、
前記予測ユニットを分割し、前記ポイントクラウドデータに対するローカル動きを予測する段階、を含む、請求項1に記載のポイントクラウドデータ送信方法。
〔請求項3〕
前記ポイントクラウドデータを符号化する段階は、前記ポイントクラウドデータに関する予測ツリーを生成する段階を含み、
前記予測ツリーを生成する段階は、
前記ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを前記現在フレームの参照フレームに対する予測ツリーから探し出して前記予測ツリーに登録する段階を含み、
前記参照フレームに対する前記予測ツリーに含まれた少なくとも1つ以上のノードから子ノードの数及び距離に基づいて、前記現在フレームに含まれたポイントに対する前記親ノードが生成され、
前記現在フレームに含まれたポイントに対する予測が参照フレームに基づいて行われた場合、インター参照情報が生成される、請求項1に記載のポイントクラウドデータ送信方法。
〔請求項4〕
前記予測ツリーを生成する段階は、前記ポイントクラウドデータを含む現在フレームに含まれた次のポイントに対する親ノードを前記予測ツリーに基づいて登録する段階を更に含み、
前記次のポイントに対する親ノードが前記参照フレームに基づいて登録された場合、インター参照情報が生成される、請求項3に記載のポイントクラウドデータ送信方法。
〔請求項5〕
前記ポイントクラウドデータを符号化する段階は、
前記ポイントクラウドデータを含む現在フレームに対する予測ツリーを生成し、
前記現在フレームに含まれたポイントに対する親ノードを、前記現在フレームに対する予測ツリー及び前記現在フレームに対する参照フレームの予測ツリーに基づいて探し出し、
前記現在フレームに対する予測ツリーに含まれたノードと前記参照フレームに対する予測ツリーに含まれたノードとの距離に基づいて、前記親ノードを探し出し、
前記参照フレームの予測ツリーに含まれたノードが前記親ノードとして指定される場合、前記現在フレームに対する予測ツリー及び前記参照フレームの予測ツリー間の仮想リンクが生成され、インター参照情報が生成される、請求項1に記載のポイントクラウドデータ送信方法。
〔請求項6〕
前記ビットストリームは、予測ツリー生成に関する情報を含む、請求項1に記載のポイントクラウドデータ送信方法。
〔請求項7〕
ポイントクラウドデータ送信装置であって、
ポイントクラウドデータを符号化するエンコーダー;及び
前記ポイントクラウドデータを含むビットストリームを送信する送信機;を備えてなる、ポイントクラウドデータ送信装置。
〔請求項8〕
ポイントクラウドデータ受信方法であって、
ポイントクラウドデータを含むビットストリームを受信する段階;及び
前記ポイントクラウドデータを復号する段階;を含む、ポイントクラウドデータ受信方法。
〔請求項9〕
前記ポイントクラウドデータを復号する段階は、
前記ビットストリームに含まれたパラメータ情報に基づいて、前記ポイントクラウドデータに対する動き補償を行う段階、
前記ポイントクラウドデータに対する予測ツリーを復元する段階、を含む、請求項8に記載のポイントクラウドデータ受信方法。
〔請求項10〕
前記ポイントクラウドデータを復号する段階は、前記ビットストリームに含まれたインター参照情報に基づいて、
前記ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを前記現在フレームの参照フレームに対する予測ツリーから探し出すか、又は、前記現在フレームに対する予測ツリーから探し出す、請求項9に記載のポイントクラウドデータ受信方法。
〔請求項11〕
前記ポイントクラウドデータを復号する段階は、
前記ポイントクラウドデータを含む現在フレームに対する予測ツリーを復元し、
前記現在フレームに含まれたポイントに対する親ノードを、前記現在フレームに対する予測ツリー及び前記現在フレームに対する参照フレームの予測ツリーに基づいて探し出し、
前記現在フレームに対する予測ツリーに含まれたノードと前記参照フレームに対する予測ツリーに含まれたノードとの距離に基づいて、前記親ノードを探し出し、
前記参照フレームの予測ツリーに含まれたノードが前記親ノードとして指定される場合、前記現在フレームに対する予測ツリー及び前記参照フレームに対する予測ツリー間の仮想リンクが生成される、請求項9に記載のポイントクラウドデータ受信方法。
〔請求項12〕
前記ビットストリームは、予測ツリー生成に関する情報を含む、請求項8に記載のポイントクラウドデータ受信方法。
〔請求項13〕
ポイントクラウドデータ受信装置であって、
ポイントクラウドデータを含むビットストリームを受信する受信部;及び
前記ポイントクラウドデータを復号するデコーダー;を備えてなる、ポイントクラウドデータ受信装置。
〔請求項14〕
前記デコーダーは、
前記ビットストリームに含まれたパラメータ情報に基づいて、前記ポイントクラウドデータに対する動き補償を行い、
前記ポイントクラウドデータに対する予測ツリーを復元する、請求項13に記載のポイントクラウドデータ受信装置。
〔請求項15〕
前記デコーダーは、前記ビットストリームに含まれたインター参照情報に基づいて、
前記ポイントクラウドデータを含む現在フレームに含まれたポイントに対する親ノードを前記現在フレームの参照フレームに対する予測ツリーから探し出すか、又は、前記現在フレームに対する予測ツリーから探し出す、請求項14に記載のポイントクラウドデータ受信装置。
【国際調査報告】