(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】ポイントクラウドデータ送信方法、ポイントクラウドデータ送信装置、ポイントクラウドデータ受信方法及びポイントクラウドデータ受信装置
(51)【国際特許分類】
G06T 9/40 20060101AFI20241024BHJP
H04N 19/597 20140101ALI20241024BHJP
【FI】
G06T9/40
H04N19/597
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525217
(86)(22)【出願日】2022-10-31
(85)【翻訳文提出日】2024-05-22
(86)【国際出願番号】 KR2022016786
(87)【国際公開番号】W WO2023075535
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】10-2021-0146946
(32)【優先日】2021-10-29
(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ターム(参考)】
5C159PP03
(57)【要約】
【要約】実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階;及びポイントクラウドデータを含むビットストリームを送信する段階を含む。また、実施例によるポイントクラウドデータ送信装置は、ポイントクラウドデータを符号化するエンコーダー;及びポイントクラウドデータを含むビットストリームを送信する送信機;を含む。
【特許請求の範囲】
【請求項1】
ポイントクラウドデータ送信方法であって、
ポイントクラウドデータを符号化する段階;及び
前記ポイントクラウドデータを含むビットストリームを送信する段階;を含んでなる、ポイントクラウドデータ送信方法。
【請求項2】
前記ポイントクラウドデータを符号化する段階は、ジオメトリを符号化する段階及び特質を符号化する段階を含み、
前記ジオメトリを符号化する段階は、第1のポイントクラウドデータの動き予測を行う段階を含み、
前記動き予測を行う段階は、第2のポイントクラウドデータから算出された第1のベクトルに基づいて動き予測を行う、請求項1に記載のポイントクラウドデータ送信方法。
【請求項3】
前記動き予測を行う段階は、原点から第1の範囲内にあるポイントのうち、座標軸の値が第2の範囲にあるポイントに基づいて前記第1のベクトルを算出する、請求項2に記載のポイントクラウドデータ送信方法。
【請求項4】
前記動き予測を行う段階は、前記第2の範囲にあるポイントの第2のベクトルの平均値で前記第1のベクトルを算出する、請求項3に記載のポイントクラウドデータ送信方法。
【請求項5】
前記動き予測を行う段階は、前記第2の範囲にあるポイントを連結する面(face)を生成する段階と、
前記面の法線ベクトルの平均値で前記第1のベクトルを算出する段階と、を含む、請求項3に記載のポイントクラウドデータ送信方法。
【請求項6】
前記動き予測を行う段階は、前記第1のベクトルに基づいて、前記ジオメトリに加重値を適用して、回転動きベクトルを算出する段階、を更に含む、請求項4又は5に記載のポイントクラウドデータ送信方法。
【請求項7】
前記回転動きベクトルを算出する段階は、ICP(Iterative closest point)又はLMS(Least Mean Square)アルゴリズムを用いて回転動きベクトルを算出する、請求項6に記載のポイントクラウドデータ送信方法。
【請求項8】
前記ビットストリームは、前記第1のベクトルに関する情報を含む、請求項7に記載のポイントクラウドデータ送信方法。
【請求項9】
ポイントクラウドデータ送信装置であって、
ポイントクラウドデータを符号化するエンコーダー;及び
前記ポイントクラウドデータを含むビットストリームを送信する送信機;を備えてなる、ポイントクラウドデータ送信装置。
【請求項10】
ポイントクラウドデータ受信方法であって、
ポイントクラウドデータを含むビットストリームを受信する段階;及び
前記ポイントクラウドデータを復号する段階;を含んでなる、ポイントクラウドデータ受信方法。
【請求項11】
前記ポイントクラウドデータを復号する段階は、ジオメトリを復号する段階及び特質を復号する段階を含み、
前記ジオメトリを復号する段階は、第1のポイントクラウドデータの動き予測を行う段階を含み、
前記動き予測を行う段階は、第2のポイントクラウドデータから算出された第1のベクトルに基づいて動き予測を行う、請求項10に記載のポイントクラウドデータ受信方法。
【請求項12】
前記ビットストリームは、前記第1のベクトルに関する情報を含み、
前記第1のベクトルは、原点から第1の範囲内にあるポイントのうち、座標軸の値が第2の範囲内にあるポイントに基づいて算出される、請求項11に記載のポイントクラウドデータ受信方法。
【請求項13】
前記第1のベクトルは、前記第2の範囲にあるポイントの第2のベクトルの平均値で算出される、請求項12に記載のポイントクラウドデータ受信方法。
【請求項14】
前記第1のベクトルは、前記第2の範囲にあるポイントを連結する面(face)の法線ベクトルの平均値で算出される、請求項12に記載のポイントクラウドデータ受信方法。
【請求項15】
前記動き予測を行う段階は、前記第1のベクトルに基づいて、前記ジオメトリに加重値を適用して、回転動きベクトルを算出する、請求項13又は14に記載のポイントクラウドデータ受信方法。
【請求項16】
前記回転動きベクトルは、ICP(Iterative closest point)又はLMS(Least Mean Square)アルゴリズムを用いて算出される、請求項15に記載のポイントクラウドデータ受信方法。
【請求項17】
ポイントクラウドデータ受信装置であって、
ポイントクラウドデータを含むビットストリームを受信する受信部;及び
前記ポイントクラウドデータを復号するデコーダー;を備えてなる、ポイントクラウドデータ受信装置。
【発明の詳細な説明】
【技術分野】
【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】実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。
【
図15】実施例による道路の法線ベクトルの一例を示す。
【
図16】実施例による予測された回転動きの確度を示すグラフの一例を示す。
【
図17】実施例による予測された回転動きの確度を示すグラフの一例を示す。
【
図18】実施例によるポイントクラウドデータの属性情報に含まれた法線ベクトルの値の一例を示す。
【
図19】実施例によるポイントクラウドデータの中心点から所定の半径を表示した一例を示す。
【
図20】実施例によるポイントクラウドデータの送信装置/方法の一例を示す。
【
図21】実施例によるポイントクラウドデータの受信装置/方法の一例を示す。
【
図22】実施例による符号化されたビットストリームの一例を示す。
【
図23】実施例によるジオメトリパラメータセット(geometry_parameter_set)の構文(syntax)の一例を示す。
【
図24】実施例によるタイルパラメータセット(tile_parameter_set)の構文(syntax)の一例を示す。
【
図25】実施例によるジオメトリスライスヘッダ(geometry_slice_header)の構文(syntax)の一例を示す。
【
図26】実施例によるジオメトリPUヘッダ(geometry_pu_header)の構文(syntax)の一例を示す。
【
図27】実施例によるポイントクラウドデータ送信方法を示すフローチャートの一例を示す。
【
図28】実施例によるポイントクラウドデータ受信方法を示すフローチャートの一例を示す。
【発明を実施するための形態】
【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)及び(2
d、2
d、2
d)により定義される境界ボックス(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)及び(2
d、2
d、2
d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。dは八分木の深さを示す。d値は以下の式により決定される。以下の式において、(x
int
n、y
int
n、z
int
n)は量子化されたポイントの位置(又は位置値)を示す。
【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(1)各バーテックスの中心(centroid)値を計算し、丸2(2)各バーテックスの値から中心値を引いた値に丸3(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】
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】
【0112】
【0113】
実施例によるポイントクラウドエンコーダー(例えば、演算エンコーダー40012)は、各ポイントの予測機に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余値をエントロピーコーディングする。実施例によるポイントクラウドエンコーダー(例えば、演算エンコーダー40012)は、各ポイントの予測機に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。
【0114】
実施例によるポイントクラウドエンコーダー(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
【0115】
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
【0116】
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
【0117】
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
【0118】
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
【0119】
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
【0120】
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドエンコーダー(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドエンコーダー(例えば、演算エンコーダー40012)は量子化された特質値をエントロピーコーディングする。
【0121】
実施例によるポイントクラウドエンコーダー(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドエンコーダーは、ボクセルから全体領域にスキャンし、各ステップもぽてボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
【0122】
【0123】
図10は実施例によるポイントクラウドデコーダー(Point Cloud Decoder)の一例を示す図である。
【0124】
図10に示したポイントクラウドデコーダーは、
図1に示したポイントクラウドビデオデコーダー10006の一例であり、
図1で説明したイントクラウドビデオデコーダー10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドデコーダーは一つ又はそれ以上のビットストリーム(bitstream)に含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドデコーダーはジオメトリデコーダー(geometry decoder)及び特質デコーダー(Attribute decoder)を含む。ジオメトリデコーダーはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダーは復号されたジオメトリ及び特質ビットストリームに基づいて特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
【0125】
図11は実施例によるポイントクラウドデコーダー(Point Cloud Decoder)の一例を示す図である。
【0126】
図11に示したポイントクラウドデコーダーは
図10で説明したポイントクラウドデコーダーの一例であり、
図1ないし
図9で説明したポイントクラウドエンコーダーの符号化動作の逆過程である復号動作を行う。
【0127】
図1及び
図10で説明したように、ポイントクラウドデコーダーはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
【0128】
実施例によるポイントクラウドデコーダーは、演算デコーダー(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を含む。
【0129】
演算デコーダー11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004はジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクトコーディング(direct coding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクトコーディング及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、
図1ないし
図9で説明したジオメトリ符号化の逆過程で行われる。
【0130】
実施例による演算デコーダー11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダー11000の動作は演算エンコーダー40004の逆過程に対応する。
【0131】
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は
図1ないし
図9に説明した通りである。
【0132】
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
【0133】
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。
図1ないし
図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は
図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
【0134】
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
【0135】
演算デコーダー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つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
【0136】
実施例による演算デコーダー11005は、特質ビットストリームを演算コーディングに復号する。
【0137】
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドエンコーダーの特質符号化に基づいて選択的に適用される。
【0138】
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドエンコーダーの符号化によってそれに対応する復号動作を選択的に行う。
【0139】
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドエンコーダーの色変換部40006の動作に基づいて選択的に行われる。
【0140】
図11のポイントクラウドデコーダーのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図11のポイントクラウドデコーダーのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、
図11のポイントクラウドデコーダーのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
【0141】
【0142】
図12に示した送信装置は、
図1の送信装置10000(又は
図4のポイントクラウドエンコーダー)の一例である。
図12に示した送信装置は、
図1ないし
図9で説明したポイントクラウドエンコーダーの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダー12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011及び/又は送信処理部12012を含む。
【0143】
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は
図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
【0144】
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダー12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、
図1ないし
図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
【0145】
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、
図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は
図1ないし
図9に説明した通りである。
【0146】
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は
図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0147】
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は
図4及び
図6で説明したポイントクラウドエンコーダー(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0148】
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は
図4に示したポイントクラウドエンコーダー(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0149】
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、
図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は
図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダー12006に含まれる。
【0150】
実施例による演算コーダー12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダー12006は演算エンコーダー40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0151】
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
【0152】
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダー12011は特質符号化を行う。実施例による特質符号化は、
図1ないし
図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
【0153】
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、
図1ないし
図9に説明した通りである。また
図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
【0154】
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は
図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は
図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は
図1ないし
図9に説明した通りであるので、具体的な説明は省略する。
【0155】
実施例による演算コーダー12011は、符号化された特質を演算コーディングに基づいて符号化する。演算コーダー12011は演算エンコーダー400012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0156】
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom00)及び一つ又はそれ以上の特質ビットストリーム(Attr00、Attr10)を含む。
【0157】
スライス(slice)とは、符号化されたポイントクラウドフレームの全体又は一部を示すシンタックスエレメントのシリーズをいう。
【0158】
実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は
図1及び
図2に説明した通りであるので、省略する。
【0159】
【0160】
図13に示した受信装置は、
図1の受信装置10004(又は
図10及び
図11のポイントクラウドデコーダー)の一例である。
図13に示した受信装置は、
図1ないし
図11で説明したポイントクラウドデコーダーの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
【0161】
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダー13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータパーサ13006、演算(arithmetic)デコーダー13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
【0162】
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は
図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
【0163】
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
【0164】
演算デコーダー13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は
図1ないし
図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
【0165】
実施例による演算デコーダー13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダー13002は演算デコーダー11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0166】
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
【0167】
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
【0168】
実施例によるメタデータパーサ13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータパーサ13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は
図12で説明した通りであるので省略する。
【0169】
演算デコーダー13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は
図1なしい
図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
【0170】
実施例による演算デコーダー13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダー13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダー13007は演算デコーダー11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0171】
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
【0172】
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
【0173】
図14は実施例によるポイントクラウドデータの送受信方法/装置に連動可能な構造の一例を示す図である。
【0174】
図14の構造はサーバー1460、ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のうちのいずれかがクラウドネットワーク1410に連結された構成を示している。ロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440又は家電1450などは装置とも呼ばれる。またXR装置1430は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
【0175】
クラウドネットワーク1400はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク1400は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
【0176】
サーバー1460はロボット1410、自律走行車両1420、XR装置1430、スマートフォン1440、家電1450及び/又はHMD1470のいずれかにクラウドネットワーク1400により連結され、連結された装置1410~1470のプロセシングの少なくとも一部を助けることができる。
【0177】
HMD(Head-Mount Display)1470は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパワー供給ユニットなどを含む。
【0178】
以下、上記技術が適用される装置1410~1450の様々な実施例について説明する。ここで、
図14に示した装置1410~1450は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
【0179】
<PCC+XR>
【0180】
XR/PCC装置1430はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
【0181】
XR/PCC装置1430は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置1430は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
【0182】
<PCC+XR+モバイルフォン>
【0183】
XR/PCC装置1430はPCC技術が適用されてモバイルフォン1440などで具現される。
【0184】
モバイルフォン1440はPCC技術に基づいてポイントクラウドコンテンツを復号し、ディスプレイする。
【0185】
<PCC+自立走行+XR>
【0186】
自律走行車両1420はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
【0187】
XR/PCC技術が適用された自律走行車両1420は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両1420はXR装置1430とは区分されて互いに連動される。
【0188】
XR/PCC映像を提供する手段を備えた自律走行車両1420は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両1420はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
【0189】
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
【0190】
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
【0191】
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
【0192】
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
【0193】
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
【0194】
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
【0195】
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
【0196】
図1ないし
図14で説明したように、ポイントクラウドデータはポイントの集合からなり、各ポイントはジオメトリデータ(ジオメトリ情報)と特質データ(特質情報)を有する。ジオメトリデータは各ポイントの3次元位置情報である(例えば、x、y、z軸の座標値)。即ち、各ポイントの位置は3次元空間を表す座標系上のパラメータ(例えば、空間を表す3つの軸であるX軸、Y軸及びZ軸のパラメータ(x、y、z))で表現される。また特質情報はポイントの色相(RGB、YUVなど)、反射度(reflectance)、法線(normal vectors)、透明度(transparency)などを意味する。特質情報はスカラー又はベクトルの形態で表現される。
【0197】
実施例によれば、ポイントクラウドデータはポイントクラウドデータの種類及び取得方法によって、静的ポイントクラウドデータのカテゴリー1、動的ポイントクラウドデータのカテゴリー2、及び動的に動きながら得たカテゴリー3に分類される。カテゴリー1はオブジェクトや空間に対してポイント密度が高い単一フレームのポイントクラウドで構成される。カテゴリー3のデータは移動しながら得られた多数のフレームを有するフレーム基盤のデータ、及び大規模空間に対してライダー(LiDAR)センサーから得られたポイントクラウドと2D映像から得られた色相映像が整合した単一フレームの融合(fused)データに区分される。
【0198】
実施例によれば、複数のフレームを有するフレーム-基盤ポイントクラウドデータのように、時間によるマルチプルフレーム(multiple frames)を有する3次元ポイントクラウドデータを効率的に圧縮するために、インター予測(inter prediction)符号化/復号が用いられる。インター予測符号化/復号は、ジオメトリ情報及び/又は特質情報に適用される。インター予測は、画面間予測又はフレーム間予測とも称され、イントラ予測は、画面内予測とも称される。
【0199】
実施例によれば、ポイントクラウドデータ送受信装置/方法は、マルチプルフレーム間の多方向予測が可能である。ポイントクラウドデータ送受信装置/方法は、フレームのコーティング手順とディスプレイ手順を分離し、定められたコーディング手順に従ってポイントクラウドデータを予測する。実施例によるポイントクラウドデータ送受信装置/方法は、マルチプルフレーム間参照によって予測ツリー構造においてインター予測を行う。
【0200】
また、実施例によれば、ポイントクラウドデータ送受信装置/方法は、累積された参照フレームを生成してインター予測を行う。累積された参照フレームは、複数の参照フレームが累積されたものである。
【0201】
実施例によるポイントクラウドデータ送受信装置/方法は、1つ以上のフレームを有するポイントクラウドデータの圧縮効率を高めるための方法であって、マルチプルフレーム間予測技術を適用するために、予測ユニット(prediction unit)を定義する。実施例による予測ユニット(prediction unit)は、ユニット、第1のユニット、領域、第1の領域、ボックス、区域、単位などの様々な用語でも称される。
【0202】
実施例によるポイントクラウドデータ送受信装置/方法は、ポイントクラウド(point cloud)からなるデータを圧縮/復元する。具体的に、1つ以上のフレームを有するポイントクラウドの効果的な圧縮のために、LiDARセンサーでキャプチャーされたポイントクラウドのキャプチャー特性及び予測ユニットに含まれたデータ分布を考慮して、動きエスティメーション(又は、動き予測)及びデータ予測を行う。
【0203】
実施例による送受信装置/方法は、ジオメトリ基盤ポイントクラウド圧縮(Geometry-based Point Cloud Compression(G-PCC))の効率的なジオメトリ圧縮のために、動く車両でLiDAR装備によってキャプチャーされたポイントクラウド(point cloud)コンテンツの動き予測(Motion Estimation)及びシグナリングを支援する。
【0204】
ポイントクラウドデータは、複数のフレームを含む。複数のフレームは、GOF(Group Of Frames)と称される。このとき、実施例による送受信装置/方法において、符号化又は復号を行うフレームを現在フレーム(Current frame)といい、現在フレームの符号化又は復号を行うために参照するフレームを参照フレーム(Reference frame)という。
【0205】
実施例は、3次元ポイントクラウド(point cloud)データ圧縮のためのジオメトリ基盤ポイントクラウド圧縮(G-PCC)の圧縮効率を高めるための方案に関する。
【0206】
ポイントクラウドは、ポイント(point)の集合からなり、各ポイントは、ジオメトリ(geometry)情報及び属性(attributes)情報を有する。ジオメトリ情報は、3次元位置(X、Y、Z)情報であり、属性情報は、色相(RGB、YUVなど)及び/又は反射(Reflectance)値を含む。
【0207】
G-PCC符号化(encoding)過程は、ポイントクラウドデータを領域に応じてタイルなどに分割し、並列処理のために、各タイルをスライスに分割する。各スライス単位でジオメトリが圧縮され、圧縮によって変更された位置情報で再構成されたジオメトリ(reconstructed geometry=復号されたジオメトリ)に基づいて属性情報が圧縮される。
【0208】
G-PCC復号(decoding)過程は、符号化されたスライス単位のジオメトリビットストリーム(bitstream)と属性ビットストリームが送信され、ジオメトリを復号し、復号過程によって再構成されたジオメトリに基づいて属性情報を復号する過程からなる。
【0209】
実施例による送受信装置/方法は、ジオメトリ情報の圧縮のために、八分木(octree)基盤、予測ツリー(predictive tree)基盤、又はtrisoup基盤の圧縮方法が用いられる。
【0210】
実施例による送受信装置/方法は、動く車両でLiDAR装備によってキャプチャーされたコンテンツ(又は、ポイントクラウドデータ)のジオメトリの圧縮効率を高めるための動き(グローバル動き/ローカル動き)予測方法が用いられる。
【0211】
実施例による送受信装置/方法は、ポイントクラウドフレーム間の変化を測定するために、ICP(Iterative Closest Point)又はLMS(Least Mean Square)アルゴリズムなどを用いて動きを予測する。
【0212】
図15は実施例による道路の法線ベクトルの一例を示す。
【0213】
図15を参照すれば、車両が通行する道路の路面に垂直な法線ベクトル1501が表示される。動く車両でLiDARセンサーがポイントクラウドデータをキャプチャーする状況を仮定すると、車両が道路の方向に沿って、左側又は右側に回転しながらLiDARセンサーがポイントをキャプチャーする。よって、フレーム間データに回転動きが発生し、この回転動きは、路面に垂直な法線ベクトルを基準として予測を行う場合、確度を高めることができる。
【0214】
動く車両でLiDAR装備によってキャプチャーしたコンテンツの場合、動きが発生する回転軸は、路面に直交する法線ベクトル(normal vector)である可能性が高い。車両が道路に沿って移動しながらポイントクラウドデータをキャプチャーするので、車両の回転は道路の法線ベクトルを基準として発生する可能性が高い。
【0215】
図16は実施例による予測された回転動きの確度を示すグラフの一例を示す。
【0216】
図17は実施例による予測された回転動きの確度を示すグラフの一例を示す。
【0217】
図16及び
図17は同じコンテンツに対して動きを予測した結果を示す。
【0218】
図16は、道路の法線ベクトルがZ軸に近い場合、Z軸を基準として回転を動き予測する場合のエラーを示し、
図17は、道路の法線ベクトルに近くないX軸、Y軸又はZ軸を基準として回転を動き予測する場合のエラーを示す。
【0219】
図17の場合、回転のエラーによる補償を移動(translation)に代わることが発生する。
【0220】
図16に示したグラフによって動き予測を行った結果と原本値との差が少ないことが分かり、
図17に示したグラフによって動き予測を行った結果と原本値との差が大きいことが類推できる。すなわち、
図16による結果において予測の確度が高いことが確認できる。実施例による送受信装置/方法は、道路の法線ベクトルに近いベクトルに基づいて動き予測を行い、誤差の少ない予測値を算出することができ、データ送受信の効率を高めることができる。
【0221】
実施例による動き予測を早くて正確に行うことは、圧縮時間に影響を及ぼし、正確な予測によってインター予測(フレーム間予測)の効率的を高めると、ビットストリームのサイズを減らすことができる。不正確な動き予測は、ビットストリームのサイズを増加させ、圧縮効率を低下する。
【0222】
実施例による送受信装置/方法は、動く車両でLiDAR装備によってキャプチャーされたコンテンツ(又は、ポイントクラウドデータ)の効率的なジオメトリ圧縮のための動き(グローバル動き/ローカル動き)の予測方法を支援する。
【0223】
図18は実施例によるポイントクラウドデータの属性情報に含まれた法線ベクトルの値の一例を示す。
【0224】
図19は実施例によるポイントクラウドデータの中心点から所定の半径を表示した一例を示す。
【0225】
実施例による送受信装置/方法は、動く車両のLiDAR装備によってキャプチャーされたコンテンツのフレーム間の動きを予測するために道路の法線ベクトルを求める。
【0226】
図18を参照すれば、表の各行は、ポイントクラウドデータに属するポイントのジオメトリ及び特質情報を示す。ポイントの特質情報に含まれた法線ベクトルの各座標値は、nx、ny、nz列に表示される。
【0227】
図19を参照すれば、動く車両のLiDARセンサーによってキャプチャーされたポイントクラウドデータを示し、中心点1910から所定の半径内の領域1920を表示する。中心点1910はLiDARセンサーの原点を示す。所定の半径は、車両回りの道路に該当するポイントを分類するために適宜な距離値で設定される。
【0228】
図18のように、ポイントが属性情報に法線ベクトル(normal)を有している場合、中心点(例えば、LiDARセンサーの原点)から所定の半径内にあるポイントのうち、指定された軸(例えば、Z軸)に最大のポイント数を有する領域(例えば、上位10%)に該当するポイントを分類し、分類したポイントの法線ベクトルの平均値を道路の法線ベクトルとして算出する。
【0229】
図18のように、ポイントクラウドデータの各ポイントの属性情報が法線ベクトル値を含む場合、実施例による送受信装置/方法は、ポイントクラウドデータの中心点(例えば、LiDARセンサーの原点)から所定の半径内にあるポイントに基づいて道路の法線ベクトルを算出する。具体的に、所定の距離内にあるポイントのうち、特定の軸(例えば、z軸)の値が所定の範囲内にあるポイントの法線ベクトル値を平均して道路の法線ベクトルを算出する。このとき、所定の範囲は、半径内のポイントのうちの10%が該当する範囲に設定される。実施例による送受信装置/方法は、ポイントの属性情報に含まれた法線ベクトル情報を平均して道路の法線ベクトルを算出又は推定し、算出した道路の法線ベクトルを用いて動き予測を行うことで、予測の確度及び送受信の効率を高める。
【0230】
ポイントが属性情報に法線ベクトル(normal)を含まない場合、中心点(例えば、センサー原点)から所定の半径内にあるポイントのうち、指定された軸(例えば、z軸)に最大のポイント数を有する領域(例えば、上位10%)に該当するポイントを分類し、分類したポイントを連結する面(face)を生成し、各面に対して法線ベクトルを求めた後、平均した法線ベクトルの値を道路の法線ベクトルとして設定する。又は、所定の軸(例えば、+z軸)を道路の法線ベクトルとして設定する。
【0231】
ポイントクラウドデータのポイントの属性情報が法線ベクトル値を含まない場合、実施例による送受信装置/方法は、ポイントクラウドデータの中心点(例えば、LiDARセンサーの原点)から所定の距離内にあるポイントに基づいて道路の法線ベクトルを算出する。具体的に、所定の距離内にあるポインのうち、所定の軸(例えば、z軸)の値が所定の範囲内にあるポイントを連結する面(face)を生成し、各面に対する法線ベクトルを算出した後、算出した法線ベクトルを平均した値を道路の法線ベクトルとして設定する。
【0232】
実施例によって算出した道路の法線ベクトルは、正規化(normalize)される。すなわち、道路の法線ベクトルは、サイズ1のベクトルに正規化される。例えば、+z軸を道路の法線ベクトルとして設定する場合、法線ベクトルは(0、0、1)である。道路の法線ベクトルは、シグナリングされる。
【0233】
実施例による送受信装置/方法は、道路の法線ベクトルに基づいて、ポイントクラウドデータの各軸の値に対して加重値を与える。
【0234】
実施例による送受信装置/方法は、動く車両のLiDAR装備によってキャプチャーされたコンテンツのフレーム間の動きを予測するために、道路の法線ベクトルを基準としてポイントの位置値に加重値を与える。
【0235】
例えば、道路の法線ベクトルが(X_road_norm、Y_road_norm、Z_road_norm)である場合、回転動きベクトルを求めるとき、Point_n(Xn、Yn、Zn)をPoint’n(Xn*(X_road_norm+1)、Yn*(Y_road_norm+1)、Zn*(Z_road_norm+1))に変更する。
【0236】
実施例による送受信装置/方法は、ポイントのジオメトリ情報に道路の法線ベクトルに基づいて加重値を与える。加重値を与えることで、所定の軸に大きく影響された動き値を容易に探すことができる。例えば、z軸が他の軸に比べて非常に多く動くように、位置値に加重値が適用された状態で動きが探索される。
【0237】
実施例による送受信装置/方法は、動く車両のLiDAR装備によってキャプチャーされたコンテンツのフレーム間の動きを予測するために、道路の法線ベクトルを基準として、ポイントの位置値に加重値を与え、ICP又はLMSアルゴリズムを用いて、回転動きベクトルを求める。移動動きベクトルを予測するときには加重値を適用しなくてもよい。
【0238】
回転動きベクトルは、移動動きベクトルと結合したマトリックス状で送信してもよく、道路の法線ベクトルを基準として回転値(radian又はdegree)で送信してもよい。
【0239】
図20は実施例によるポイントクラウドデータの送信装置/方法の一例を示す。
【0240】
図20は実施例による送信装置/方法を示す。
図20に示した送信装置/方法の構成要素は、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
【0241】
実施例による送信装置/方法は、
図1の送信装置10000、
図2の送信方法、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図20の送信方法/装置に対応するか、複数の実施例の組み合わせに対応する。
【0242】
実施例による送信装置/方法は、入力としてPCC(ポイントクラウド)データが入って符号化され、ジオメトリビットストリーム及び特質ビットストリームが出力される。
【0243】
実施例による送信装置は、ジオメトリ符号化部2010及び特質符号化部2020を含む。
【0244】
ジオメトリ符号化部2010はジオメトリエンコーダーとも称され、特質符号化部2020は特質エンコーダーとも称される。
【0245】
ジオメトリ符号化部2010は、動き予測部2012及び動き補償適用部2014を含む。
【0246】
ジオメトリ符号化部2010は、フレームの種類がP-frameである場合、LPU分割部を経て動き予測部2012によってグローバル動きを予測し、PU(Prediction Unit)分割部によって分割の必要な領域に対して分割を行い、動き予測部2012によってローカル動きを予測する。この過程は、これ以上分割が必要ないときまで、又は指定されたレベルまで行われる。LPU/PU分割の可否、及び各LPU/PUの予測された動きは、復号器にシグナリングされる。
【0247】
動き補償適用部2014は、生成されたLPU/PUに予測された動きを適用するか否かをRDO(Rate-distortion optimization)によって決定し、決定に応じて参照フレームに動きを適用する。動きを適用するか否かは、復号器にシグナリングされる。
【0248】
実施例による送信装置/方法は、補償されたポイントを用いて、ジオメトリ情報インター予測部によってジオメトリ情報を圧縮し、関連情報をシグナリングする。
【0249】
実施例による動き予測部2012には、フレームの中心軸ベクトル、中心点(原点)又は中心点から道路の法線ベクトル予測に使用される半径、動き情報のタイプ、道路の法線ベクトルの算出可否が入力される。
【0250】
実施例による動き予測部2012は、道路の法線ベクトル算出の可否がFalseである場合、フレームの中心軸(例えば、Z軸)ベクトルを道路の法線ベクトルとして使用し、デコーダーにシグナリングする。
【0251】
実施例による動き予測部2012は、道路の法線ベクトル算出の可否がTrueである場合、実施例による道路の法線ベクトル算出方法に従って道路の法線ベクトルを求め、デコーダーにシグナリングする。中心軸ベクトル、中心点、中心点からの半径によって道路の法線ベクトルを求める。
【0252】
実施例による動き予測部2012は、道路の法線ベクトルを参照フレーム及び現在フレームのポイントに加重値として適用し、ICP又はLMSアルゴリズムなどの動き予測アルゴリズムによって回転動きを求める。予測された回転動きは、動き行列(motion matrix)で移動動きと統合されてデコーダーにシグナリングされ、又は道路の法線ベクトル基準の回転動き値(radian又はdegree)でデコーダーにシグナリングされる。送信方式は、動き情報タイプによって決定され、動き情報タイプはデコーダーにシグナリングされる。
【0253】
実施例による動き予測部2012は、道路の法線ベクトルを参照フレーム及び現在フレームのポイントに加重値として適用せず、移動動きを予測する。回転に既に加重値が適用されているため、移動動きを予測するときには適用しなくてもよい。予測された移動動きは、動き行列(motion matrix)で回転動きと統合されてデコーダーにシグナリングされ、又は移動動き値でデコーダーにシグナリングされる。送信方式は、動き情報タイプによって決定され、動き情報タイプはデコーダーにシグナリングされる。
【0254】
実施例による動き補償適用部2014では、動き予測部2012で予測された動きをRDO(Rate-Distortion Optimization)によって適用するか否かを判断して適用する。
【0255】
動き補償適用部2014では、動きの適用が決定される場合、動き予測部2012で算出した道路の法線ベクトルを基準として回転と位置値を適用するか、動き行列値を参照フレームに適用する。
【0256】
図21は実施例によるポイントクラウドデータの受信装置/方法の一例を示す。
【0257】
図21は実施例による受信装置/方法を示す。
図21に示した受信装置/方法の構成要素は、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
【0258】
実施例による受信装置/方法は、
図1の受信装置20000、
図2の受信方法、
図11のデコーダー、
図13の受信装置、
図14のデバイス及び/又は
図21の受信方法/装置に対応するか、複数の実施例の組み合わせに対応する。
【0259】
実施例による受信装置/方法は、入力として符号化されたジオメトリビットストリーム及び特質ビットストリームが入り、復号して復元されたポイントクラウドデータが出力される。
【0260】
実施例による受信装置は、ジオメトリ復号部2110及び特質復号部2120を含む。復号部はデコーダーとも称される。
【0261】
実施例によるジオメトリ復号部2110は、LPU/PU分割部2114及び動き補償適用部2116を含む。
【0262】
実施例による動き補償適用部2116には、動きを適用するか否か、動き情報タイプ、道路の法線ベクトル、回転動き又は移動動き情報が伝達され、復元して、それによって道路の法線ベクトルを基準として回転又は位置値を適用するか、動き行列値を参照フレームに適用する。
【0263】
実施例による動き補償適用部におけるポイント復元過程は、エンコーダーの動き補償適用部の逆過程に対応する。
【0264】
実施例による受信装置/方法は、イントラ予測が行われたか否かを判別し、イントラ予測が行われた場合、イントラ予測に対してジオメトリを復元し(2112)、インター予測が行われた場合は、インター予測に対してジオメトリを復元する。
【0265】
実施例による受信装置/方法は、復元されたジオメトリに基づいて特質のインター/イントラ予測を判別し、各予測方法に適合するように特質情報を復元する。特質のイントラ又はインター予測の可否はシグナリングされる。
【0266】
図22は実施例による符号化されたビットストリームの一例を示す。
【0267】
実施例によるビットストリームは、
図1の送信装置10000、
図2の送信方法、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図20の送信方法/装置に基づいて送信される。また、実施例によるビットストリームは、
図1の受信装置20000、
図2の受信方法、
図11のデコーダー、
図13の受信装置、
図14のデバイス及び/又は
図21の受信方法/装置に基づいて受信される。
【0268】
実施例による送受信装置/方法は、動き予測を行うために関連情報をシグナリングする。以下、実施例によるパラメータ(メタデータ、シグナリング情報など様々に称される)は、後述する実施例による送信機のプロセス上で生成され、実施例による受信機に伝達され、再構成の過程に用いられる。例えば、実施例によるパラメータは、後述する実施例による送信装置のメタデータ処理部(又は、メタデータジェネレータ)で生成され、実施例による受信装置のメタデータパーザで獲得される。
【0269】
また、実施例による送受信装置は、動き予測に関する情報をアプリケーション、システムに応じて相応する位置又は別の位置に定義し、適用範囲、適用方法などを変更して使用する。上位に類似機能を含んでいる情報がシグナリングされる場合、下位概念のパラメータセット(parameter set)では、シグナリングを省略して適用可能である。また、以下に定義する構文要素(syntax element)が現在ポイントクラウドデータストリーム(point cloud data stream)だけではなく、複数のポイントクラウドデータストリーム(point cloud data stream)に適用可能である場合、上位概念のパラメータセット(parameter set)などを介して伝達される。
【0270】
実施例によるビットストリームは、ポイントクラウドデータを予測するために、動き予測方法に関する情報を含む。
【0271】
符号化されたポイントクラウドの構成は、以下のようである。ジオメトリ符号化及び/又は特質符号化を行うポイントクラウドデータエンコーダーは、以下のように符号化されたポイントクラウド(又は、ポイントクラウドを含むビットストリーム)を生成する。また、ポイントクラウドデータに関するシグナリング情報は、ポイントクラウドデータ送信装置のメタデータ処理部によって生成して処理され、以下のようにポイントクラウドに含まれる。
【0272】
図22において各略語は、以下の意味である。各略語は、同等な意味の範囲内で他の用語でも称される。
【0273】
SPS: Sequence Parameter Set
【0274】
GPS: Geometry Parameter Set
【0275】
APS: Attribute Parameter Set
【0276】
TPS: Tile Parameter Set
【0277】
Geom: Geometry bitstream = geometry slice header+ [geometry PU header + Geometry PU data] | geometry slice data
【0278】
Attr: Attribute bitstream = attribute data unit header + [attribute PU header + attribute PU data] | attribute data unit data
【0279】
インター予測のための動きオプション情報は、GPS、TPSに追加されてシグナリングされる。
【0280】
インター予測のための動きオプション情報は、TPS、又は各スライスごとのジオメトリデータヘッダ(Geometry data header)に追加されてシグナリングされる。
【0281】
ポイントクラウドを領域別に分けて処理するように、タイル又はスライスが提供される。
【0282】
領域別に分けるとき、各々の領域別に異なる隣接ポイント集合生成オプションを設定し、複雑度(complexity)は低いものの、結果の信頼度は少し落ちる方案、又は、逆に、複雑度は高いものの、信頼度が高い方案が選択できる。受信機の処理能力(capacity)に応じて異なる設定を行う。よって、ポイントクラウドは、タイル(Tile)に分けられる場合、各タイルごとに異なるオプションを適用することができる。ポイントクラウドは、スライス(Slice)に分けられる場合、各スライスごとに異なるオプションを適用することができる。
【0283】
実施例によるビットストリームは、Geometry PUを追加し、Geometry PU header、Geometry PU dataを追加する。
【0284】
実施例によるスライス(slice)は、データユニット(data unit)に対応し、スライスヘッダ(slice header)は、データユニットヘッダ(data unit header)に対応する。
【0285】
図23は実施例によるジオメトリパラメータセット(geometry_parameter_set)の構文(syntax)の一例を示す。
【0286】
実施例による送受信装置/方法は、ジオメトリ符号化/復号の過程において、ポイントのインター予測に関する動きオプション情報をジオメトリパラメータセット(Geometry Parameter Set)でシグナリングする。Motion_desc_type及びroad_normal_vectorシグナリング情報が結合することで、ジオメトリのインター予測に関する情報が効率的にシグナリングされる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0287】
gps_geom_parameter_set_idは、他の構文要素による参照のためにGPSに対する識別子を提供する。gps_seq_parameter_set_idの値は、0~15の範囲内である。
【0288】
gps_seq_parameter_set_idは、活性(active)SPSのためのsps_seq_parameter_set_idの値を指定する。gps_seq_parameter_set_idの値は、0~15の範囲内である。
【0289】
geom_tree_typeが0である場合、位置情報が八分木を用いて符号化されることを示し、1である場合、位置情報が予測ツリーを用いて符号化されることを示す。
【0290】
motion_desc_typeは、フレーム(又は、ポイントクラウドデータ)に適用された動きの表現方法を示す。
【0291】
: 0=動き行列方法
【0292】
: 1=動きベクトル方法
【0293】
: 2=動き角度方法
【0294】
road_normal_vectorは、フレーム(又は、ポイントクラウドデータ)に適用された道路の法線ベクトル値を示す。
【0295】
図24は実施例によるタイルパラメータセット(tile_parameter_set)の構文(syntax)の一例を示す。
【0296】
実施例による送受信装置/方法は、ジオメトリ符号化/復号の過程において、ポイントのインター予測に関する動きオプション情報をタイルパラメータセット(Tile Parameter Set)でシグナリングする。Motion_desc_type及びroad_normal_vectorシグナリング情報が結合することで、ジオメトリのインター予測に関する情報が効率的にシグナリングされる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0297】
num_tilesは、ビットストリームに対してシグナリングされたタイルの数を示す。値が存在しない場合、num_tilesは0と推定される。
【0298】
tile_bounding_box_offset_x[ i ]は、カルテシアン座標のi番目のタイルのxオフセットを示す。値が存在しない場合、tile_bounding_box_offset_x[ 0 ]の値は、sps_bounding_box_offset_xと推定される。
【0299】
tile_bounding_box_offset_y[ i ]は、カルテシアン座標のi番目のタイルのyオフセットを示す。値が存在しない場合、tile_bounding_box_offset_y[ 0 ]の値は、sps_bounding_box_offset_yと推定される。
【0300】
motion_desc_typeは、フレーム(又は、ポイントクラウドデータ)に適用された動きの表現方法を示す。
【0301】
: 0=動き行列方法
【0302】
: 1=動きベクトル方法
【0303】
: 2=動き角度方法
【0304】
road_normal_vectorは、フレーム(又は、ポイントクラウドデータ)に適用された道路の法線ベクトル値を示す。
【0305】
図25は実施例によるジオメトリスライスヘッダ(geometry_slice_header)の構文(syntax)の一例を示す。
【0306】
実施例による送受信装置/方法は、ジオメトリ符号化/復号の過程において、ポイントのインター予測に関する動きオプション情報をジオメトリデータヘッダ(Geometry data header)にシグナリングする。Motion_desc_type及びroad_normal_vectorシグナリング情報が結合することで、ジオメトリのインター予測に関する情報が効率的にシグナリングされる。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0307】
gsh_geometry_parameter_set_idは、活性(active)GPSのgps_geom_parameter_set_idの値を示す。
【0308】
gsh_tile_idは、GSHによって参照されるタイルIDの値を示す。gsh_tile_idの値は、0~xxの範囲内である。
【0309】
gsh_slice_idは、他の構文要素による参照のためにスライスヘッダを識別する。gsh_slice_idの値は、0~xxの範囲内である。
【0310】
motion_desc_typeは、フレーム(又は、ポイントクラウドデータ)に適用された動きの表現方法を示す。
【0311】
: 0=動き行列方法
【0312】
: 1=動きベクトル方法
【0313】
: 2=動き角度方法
【0314】
road_normal_vectorは、フレーム(又は、ポイントクラウドデータ)に適用された道路の法線ベクトル値を示す。
【0315】
図26は実施例によるジオメトリPUヘッダ(geometry_pu_header)の構文(syntax)の一例を示す。
【0316】
実施例による送受信装置/方法は、ジオメトリ符号化/復号の過程において、ポイントのインター予測に関するLPU/PUの動き情報をGeom PU Headerを生成してシグナリングする。
図26に示されたシグナリング情報が結合することで、インター予測のために効率的にシグナリングする。シグナリング情報の名称は、シグナリング情報の意味及び機能の範囲内で理解できる。
【0317】
pu_tile_idは、PUが属するタイルIDを示す。
【0318】
pu_slice_idは、PUが属するスライスIDを示す。
【0319】
pu_cntは、スライスに含まれたPUの数を示す。
【0320】
pu_idは、PU IDを示す。
【0321】
pu_split_flagは、PUブロックが以後にさらに分割されたか否かを示す。
【0322】
pu_has_motion_vector_flagは、PUブロックが動きベクトルを有するか否かを示す。
【0323】
pu_motion_mat[][][]は、PUブロックに適用される動き行列を示す。
【0324】
pu_motion_rot_vector[][]は、PUブロックに適用される動き回転ベクトルを示す。
【0325】
pu_motion_trans [][]は、PUブロックに適用される動き移動ベクトルを示す。
【0326】
pu_motion_rot_type[]は、PUブロックに適用される動き回転値のタイプを示す。
【0327】
: 0=radian
【0328】
: 1= degree
【0329】
pu_motion_rot[]は、PUブロックに適用される動き回転値を示す。回転軸は、道路の法線ベクトルを基準として回転することを示す。
【0330】
図27は実施例によるポイントクラウドデータ送信方法を示すフローチャートの一例を示す。
【0331】
実施例によるポイントクラウドデータ送信方法は、
図1の送信装置10000、
図2の送信方法、
図4のエンコーダー、
図12の送信装置、
図14のデバイス、
図20の送信方法/装置に基づいて行われる。
【0332】
実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化する段階(S2700)及びポイントクラウドデータを含むビットストリームを送信する段階(S2710)を含む。
【0333】
ポイントクラウドデータを符号化する段階は、ジオメトリを符号化する段階及び特質を符号化する段階を含む。
【0334】
図20を参照すれば、ジオメトリを符号化する段階は、第1のポイントクラウドデータを動き予測する段階を含み、動き予測する段階は、第2のポイントクラウドデータから算出された第1のベクトルに基づいて動き予測を行う。このとき、第1のベクトルは、実施例による道路の法線ベクトルを示す。
【0335】
第1のポイントクラウドデータは、現在フレームに属するポイントクラウドデータを示し、第2のポイントクラウドデータは、参照フレームに属するポイントクラウドデータを示す。実施例による動き予測を行うとき、現在フレームに属するポイントクラウドデータは、参照フレームに属するポイントクラウドデータを参照して予測される。
【0336】
又は、同じフレーム内にあるポイントクラウドデータにおいて、所定の領域にあるポイントクラウドデータは、他の領域にあるポイントクラウドデータから予測される。このように、所定の単位によって区分されたポイントクラウドデータは、第1のポイントクラウドデータ、第2のポイントクラウドデータなどのように区分して称されてもよい。
【0337】
図18及び
図19を参照すれば、動き予測を行う段階は、原点から所定の範囲(第1の範囲)内にあるポイントのうち、所定の座標軸(例えば、x、y又はz軸のいずれか1つの軸)の値が所定の範囲(第2の範囲)内にあるポイントに基づいて第1のベクトルを算出する。第1のベクトルは、道路の法線ベクトルを示す。
【0338】
例えば、LiDARセンサーの原点から所定の距離(第1の範囲)内にあるポイントを分類し、当該ポイントのうち、z軸座標値が所定の範囲(第2の範囲)内にあるポイントを分類する。このとき、z軸座標値の所定の範囲は、該当するポイントの数が全体のポイントの数の10%になる範囲に設定される。又は、所定の範囲(第2の範囲)は、ポイントクラウドデータの分布特性に応じて任意に設定される。このような過程によって道路面に生成されたポイントを収集し、道路の法線ベクトルを算出する。
【0339】
実施例による動き予測を行う段階は、所定の範囲(第2の範囲)にあるポイントの第2のベクトルの平均値で第1のベクトルを算出する。前述した基準によって分類されたポイントは、属性情報に法線ベクトル値(第2のベクトル)を含む。道路の法線ベクトル(第1のベクトル)は、分類したポイントの法線ベクトル(第2のベクトル)の平均で算出される。
【0340】
また、実施例による動き予測を行う段階は、所定の範囲(第2の範囲)にあるポイントを連結する面(face)を生成する段階、及び面の法線ベクトルの平均値で道路の法線ベクトル(第1のベクトル)を算出する段階を含む。
【0341】
ポイントの属性情報が法線ベクトル情報を含まない場合、前述した所定の範囲内にあるポイントを連結する面を生成し、面の法線ベクトルを平均して道路の法線ベクトルが算出される。
【0342】
また、動き予測を行う段階は、道路の法線ベクトル(第1のベクトル)に基づいて、ジオメトリに加重値を適用し、回転動きベクトルを算出する。
【0343】
また、回転動きベクトルを算出する段階は、ICP(Iterative closest point)又はLMS(Least Mean Square)アルゴリズムを用いて回転動きベクトルを算出する。
【0344】
図23ないし
図26を参照すれば、実施例によるビットストリームは、道路の法線ベクトル(第1のベクトル)に関する情報を含む。具体的に、実施例によるビットストリームは、ポイントクラウドデータの動き情報タイプ、道路の法線ベクトル、回転動き又は移動動きなどを含む。
【0345】
実施例による動き予測は、
図20のジオメトリ符号化部2010、動き予測部2012又は動き補償適用部2014で行われる。
【0346】
実施例による送信装置は、ポイントクラウドデータを符号化するエンコーダー、及びポイントクラウドデータを含むビットストリームを送信する送信機を含む。
【0347】
図28は実施例によるポイントクラウドデータ受信方法を示すフローチャートの一例を示す。
【0348】
実施例による受信方法は、ポイントクラウドデータを含むビットストリームを受信する段階(S2800)及びポイントクラウドデータを復号する段階(S2810)を含む。
【0349】
実施例による受信方法は、
図1の受信装置20000、
図2の受信方法、
図11のデコーダー、
図13の受信装置、
図14のデバイス及び/又は
図21の受信方法/装置によって行われるか、複数の実施例の組み合わせによって行われる。
【0350】
ポイントクラウドデータを復号する段階(S2810)は、ジオメトリを復号する段階及び特質を復号する段階を含み、ジオメトリを復号する段階は、第1のポイントクラウドデータの動き予測を行う段階を含み、動き予測を行う段階は、第2のポイントクラウドデータから算出された道路の法線ベクトル(第1のベクトル)に基づいて動き予測を行う。
【0351】
第1のポイントクラウドデータは、現在フレームに属するポイントクラウドデータを示し、第2のポイントクラウドデータは、参照フレームに属するポイントクラウドデータを示す。実施例による動き予測を行うとき、現在フレームに属するポイントクラウドデータは、参照フレームに属するポイントクラウドデータを参照して予測される。
【0352】
ビットストリームは、道路の法線ベクトル(第1のベクトル)に関する情報を含み、道路の法線ベクトル(第1のベクトル)は、原点から所定の範囲(第1の範囲)内にあるポイントのうち、所定の座標軸(例えば、x、y又はz軸のいずれか1つの軸)の値が所定の範囲(第2の範囲)内にあるポイントに基づいて算出される。
【0353】
道路の法線ベクトル(第1のベクトル)は、所定の範囲(第2の範囲)内にあるポイントの法線ベクトル(第2のベクトル)の平均値で算出される。
【0354】
又は、道路の法線ベクトル(第1のベクトル)は、所定の範囲(第2の範囲)内にあるポイントを連結する面(face)の法線ベクトルの平均値で算出される。
【0355】
ポイントの属性情報が法線ベクトル情報を含まない場合、前述した所定の範囲(第2の範囲)内にあるポイントを連結する面を生成し、面の法線ベクトルを平均して道路の法線ベクトルが算出される。
【0356】
実施例による動き予測を行う段階は、道路の法線ベクトル(第1のベクトル)に基づいて、ジオメトリに加重値を適用して回転動きベクトルを算出する。
【0357】
回転動きベクトルは、ICP(Iterative closest point)又はLMS(Least Mean Square)アルゴリズムを用いて算出される。
【0358】
実施例による受信装置は、ポイントクラウドデータを含むビットストリームを受信する受信部及びポイントクラウドデータを復号するデコーダーを含む。
【0359】
実施例によるポイントクラウドデータ送受信装置/方法の符号化/復号及びシグナリング方法は、以下のような効果を提供する。
【0360】
実施例による送受信装置/方法は、動く車両でLiDAR装備によって1つのフレームずつキャプチャーして格納する場合のシナリオの場合、フレーム間の連続性が存在し得るため、インター予測を用いて圧縮を効率的に進行することができる。動き予測を早くて正確に行うことは、圧縮時間に影響を及ぼし、正確な予測によるインター予測の効率性を高めれる場合、ビットストリームのサイズを減らすことができる。不正確な動き予測は、ビットストリームのサイズを大きく増加させ、圧縮効率を低下する。
【0361】
よって、動く車両でLiDAR装備によってキャプチャーされたポイントクラウドデータの特性を利用して、動きを早くて正確に予測する方案が必要である。
【0362】
実施例によるポイントクラウドデータの受信装置/方法は、動く車両でLiDAR装備によってキャプチャーされたコンテンツの効率的なジオメトリ圧縮のために、動き(グローバル動き/ローカル動き)予測方法を支援する。
【0363】
実施例によるポイントクラウドデータの送受信装置/方法は、3次元ポイントクラウド(point cloud)データ圧縮のためのジオメトリ基盤ポイントクラウド圧縮(Geometry-based Point Cloud Compression(G-PCC))のエンコーダー(符号化器)/デコーダー(復号器)のインタージオメトリ圧縮効率を高め、ポイントクラウドコンテンツストリームを提供することができる。
【0364】
実施例による送信方法/装置は、ポイントクラウドデータを効率的に圧縮してデータを送信し、そのためのシグナリング情報を伝達することで、実施例による受信方法/装置においてポイントクラウドデータを効率的に復号/復元することができる。
【0365】
実施例による送受信装置/方法の動作は、
図1ないし
図28に示すポイントクラウド圧縮処理過程を互いに組み合わせて行われる。
【0366】
この明細で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細で説明した様々な動作を制御する。プロセッサはコントローラなどとも称される。実施例の動作はファームウェア、ソフトウェア及び/又はこれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はこれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
【0367】
実施例は方法及び/又は装置の観点で説明しており、方法の説明及び装置の説明は互いに補完して適用できる。
【0368】
説明の便宜のために各図を区分して説明したが、各図に述べている実施例を併合して新しい実施例を具現するように設計することも可能である。また、通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように、説明された実施例の構成と方法を限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
【0369】
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。
【0370】
実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。
【0371】
また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。
【0372】
この明細書において、「/」と「、」は「及び/又は」に解釈される。例えば、「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)」を意味する。
【0373】
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
【0374】
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。
【0375】
また、この明細で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細で説明した様々な動作を制御する。プロセッサはコントローラなどとも称される。実施例の動作はファームウェア、ソフトウェア及び/又はこれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はこれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
【0376】
一方、上述した実施例による動作は、実施例による送信装置及び/又は受信装置により行われる。送受信装置はメディアデータを送受信する送受信部、実施例によるプロセスに対する指示(プログラムコード、アルゴリズム、フローチャート及び/又はデータ)を格納するメモリ、及び送受信装置の動作を制御するプロセッサを含む。
【0377】
プロセッサはコントローラなどとも称され、例えば、ハードウェア、ソフトウェア及び/又はそれらの組み合わせに対応する。上述した実施例による動作はプロセッサにより行われる。またプロセッサは上述した実施例の動作のためのエンコーダー/デコーダーなどで具現される。
【0378】
上述したように、実施例を実施するための最善の形態について関連内容を説明する。
【0379】
〔産業上の利用可能性〕
上述したように、実施例はポイントクラウドデータ送受信装置及びシステムに全体又は部分的に適用することができる。当業者であれば、実施例の範囲内で実施例を様々に変更及び変形することができる。実施例は変更/変形を含み、変更/変形は請求項及びそれと同一のものの範囲内である。
【0380】
〔特許請求の範囲(国際出願時)〕
〔請求項1〕
ポイントクラウドデータ送信方法であって、
ポイントクラウドデータを符号化する段階;及び
前記ポイントクラウドデータを含むビットストリームを送信する段階;を含んでなる、ポイントクラウドデータ送信方法。
〔請求項2〕
前記ポイントクラウドデータを符号化する段階は、ジオメトリを符号化する段階及び特質を符号化する段階を含み、
前記ジオメトリを符号化する段階は、第1のポイントクラウドデータの動き予測を行う段階を含み、
前記動き予測を行う段階は、第2のポイントクラウドデータから算出された第1のベクトルに基づいて動き予測を行う、請求項1に記載のポイントクラウドデータ送信方法。
〔請求項3〕
前記動き予測を行う段階は、原点から第1の範囲内にあるポイントのうち、座標軸の値が第2の範囲にあるポイントに基づいて前記第1のベクトルを算出する、請求項2に記載のポイントクラウドデータ送信方法。
〔請求項4〕
前記動き予測を行う段階は、前記第2の範囲にあるポイントの第2のベクトルの平均値で前記第1のベクトルを算出する、請求項3に記載のポイントクラウドデータ送信方法。
〔請求項5〕
前記動き予測を行う段階は、前記第2の範囲にあるポイントを連結する面(face)を生成する段階と、
前記面の法線ベクトルの平均値で前記第1のベクトルを算出する段階と、を含む、請求項3に記載のポイントクラウドデータ送信方法。
〔請求項6〕
前記動き予測を行う段階は、前記第1のベクトルに基づいて、前記ジオメトリに加重値を適用して、回転動きベクトルを算出する段階、を更に含む、請求項4又は5に記載のポイントクラウドデータ送信方法。
〔請求項7〕
前記回転動きベクトルを算出する段階は、ICP(Iterative closest point)又はLMS(Least Mean Square)アルゴリズムを用いて回転動きベクトルを算出する、請求項6に記載のポイントクラウドデータ送信方法。
〔請求項8〕
前記ビットストリームは、前記第1のベクトルに関する情報を含む、請求項7に記載のポイントクラウドデータ送信方法。
〔請求項9〕
ポイントクラウドデータ送信装置であって、
ポイントクラウドデータを符号化するエンコーダー;及び
前記ポイントクラウドデータを含むビットストリームを送信する送信機;を備えてなる、ポイントクラウドデータ送信装置。
〔請求項10〕
ポイントクラウドデータ受信方法であって、
ポイントクラウドデータを含むビットストリームを受信する段階;及び
前記ポイントクラウドデータを復号する段階;を含んでなる、ポイントクラウドデータ受信方法。
〔請求項11〕
前記ポイントクラウドデータを復号する段階は、ジオメトリを復号する段階及び特質を復号する段階を含み、
前記ジオメトリを復号する段階は、第1のポイントクラウドデータの動き予測を行う段階を含み、
前記動き予測を行う段階は、第2のポイントクラウドデータから算出された第1のベクトルに基づいて動き予測を行う、請求項10に記載のポイントクラウドデータ受信方法。
〔請求項12〕
前記ビットストリームは、前記第1のベクトルに関する情報を含み、
前記第1のベクトルは、原点から第1の範囲内にあるポイントのうち、座標軸の値が第2の範囲内にあるポイントに基づいて算出される、請求項11に記載のポイントクラウドデータ受信方法。
〔請求項13〕
前記第1のベクトルは、前記第2の範囲にあるポイントの第2のベクトルの平均値で算出される、請求項12に記載のポイントクラウドデータ受信方法。
〔請求項14〕
前記第1のベクトルは、前記第2の範囲にあるポイントを連結する面(face)の法線ベクトルの平均値で算出される、請求項12に記載のポイントクラウドデータ受信方法。
〔請求項15〕
前記動き予測を行う段階は、前記第1のベクトルに基づいて、前記ジオメトリに加重値を適用して、回転動きベクトルを算出する、請求項13又は14に記載のポイントクラウドデータ受信方法。
〔請求項16〕
前記回転動きベクトルは、ICP(Iterative closest point)又はLMS(Least Mean Square)アルゴリズムを用いて算出される、請求項15に記載のポイントクラウドデータ受信方法。
〔請求項17〕
ポイントクラウドデータ受信装置であって、
ポイントクラウドデータを含むビットストリームを受信する受信部;及び
前記ポイントクラウドデータを復号するデコーダー;を備えてなる、ポイントクラウドデータ受信装置。
【国際調査報告】