(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置、及びポイントクラウドデータ受信方法
(51)【国際特許分類】
G06T 9/40 20060101AFI20241024BHJP
【FI】
G06T9/40
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525551
(86)(22)【出願日】2022-10-27
(85)【翻訳文提出日】2024-04-26
(86)【国際出願番号】 KR2022016584
(87)【国際公開番号】W WO2023075453
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】10-2021-0144944
(32)【優先日】2021-10-27
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】オ ヒョンムク
(57)【要約】
実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータ内のジオメトリデータを符号化するステップ、ジオメトリデータに基づいてポイントクラウドデータ内の特質データを符号化するステップ、及び符号化されたジオメトリデータ、符号化された特質データ、及びシグナリング情報を送信するステップを含む。
【選択図】
図18
【特許請求の範囲】
【請求項1】
ポイントクラウドデータ内のジオメトリデータを符号化するステップと、
前記ジオメトリデータに基づいて前記ポイントクラウドデータ内の特質データを符号化するステップと、
前記符号化されたジオメトリデータ、前記符号化された特質データ、及びシグナリング情報を送信するステップと、を含み、
前記ジオメトリデータを符号化するステップは、
前記ジオメトリデータに基づいて現在フレームの予測ツリーを生成するステップ、
参照フレームのジオメトリデータに基づいて前記参照フレームの予測ツリーを生成するステップ、及び
前記現在フレームの予測ツリー構造において符号化されるノードの親ノードと前記シグナリング情報に基づいて前記参照フレームの予測ツリーで予測値を生成するステップ、及び
前記生成された予測値に基づいて前記符号化されるノードの予測を行い、残余情報を取得するステップを含む、ポイントクラウドデータ送信方法。
【請求項2】
前記予測値は、前記参照フレームの1つ以上の参照ノードに基づいて決定されることを特徴とする、請求項1に記載のポイントクラウドデータ送信方法。
【請求項3】
前記予測値は、前記参照フレームの1つ以上の参照ノード間の変化量を適用して決定される、請求項2に記載のポイントクラウドデータ送信方法。
【請求項4】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、
前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは同一であることを特徴とする、請求項1に記載のポイントクラウドデータ送信方法。
【請求項5】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、
前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは異なることを特徴とする、請求項1に記載のポイントクラウドデータ送信方法。
【請求項6】
前記残余情報は、前記現在フレームのレーザーIDと前記参照フレームのレーザーIDとの差値をさらに含む、請求項5に記載のポイントクラウドデータ送信方法。
【請求項7】
前記シグナリング情報は、
前記予測値を決定する方法を指示するための予測モード情報を含む、請求項1に記載のポイントクラウドデータ送信方法。
【請求項8】
ポイントクラウドデータ内のジオメトリデータを符号化するジオメトリエンコーダと、
前記ジオメトリデータに基づいて前記ポイントクラウドデータ内の特質データを符号化する特質エンコーダと、
前記符号化されたジオメトリデータ、前記符号化された特質データ、及びシグナリング情報を送信する送信部と、を含み、
前記ジオメトリエンコーダは、
前記ジオメトリデータに基づいて現在フレームの予測ツリーを生成する第1の予測ツリー生成部、
参照フレームのジオメトリデータに基づいて前記参照フレームの予測ツリーを生成する第2の予測ツリー生成部、及び
前記現在フレームの予測ツリー構造において符号化されるノードの親ノードと前記シグナリング情報に基づいて前記参照フレームの予測ツリーで予測値を生成し、前記生成された予測値に基づいて前記符号化されるノードの予測を行い、残余情報を取得する予測部を含む、ポイントクラウドデータ送信装置。
【請求項9】
前記予測値は、前記参照フレームの1つ以上の参照ノードに基づいて決定されることを特徴とする、請求項8に記載のポイントクラウドデータ送信装置。
【請求項10】
前記予測値は、前記参照フレームの1つ以上の参照ノード間の変化量を適用して決定される、請求項9に記載のポイントクラウドデータ送信装置。
【請求項11】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、
前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは同一であることを特徴とする、請求項8に記載のポイントクラウドデータ送信装置。
【請求項12】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、
前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは異なることを特徴とする、請求項8に記載のポイントクラウドデータ送信装置。
【請求項13】
前記残余情報は、前記現在フレームのレーザーIDと前記参照フレームのレーザーIDとの差値をさらに含む、請求項12に記載のポイントクラウドデータ送信装置。
【請求項14】
前記シグナリング情報は、
前記予測値を決定する方法を指示するための予測モード情報を含む、請求項8に記載のポイントクラウドデータ送信装置。
【請求項15】
ジオメトリデータ、特質データ、及びシグナリング情報を受信するステップと、
前記シグナリング情報に基づいて前記ジオメトリデータを復号するステップと、
前記シグナリング情報と前記復号されたジオメトリデータに基づいて前記特質データを復号するステップと、
前記シグナリング情報に基づいて前記復号されたジオメトリデータと前記復号された特質データから復元されたポイントクラウドデータをレンダリングするステップと、を含み、
前記ジオメトリデータを復号するステップは、
前記シグナリング情報と現在フレームの復号されるノードに基づいて参照フレーム上で予測値を生成するステップ、及び
前記生成された予測値と前記受信されたジオメトリデータに含まれた残余情報に基づいて前記ジオメトリデータを復元するステップを含む、ポイントクラウドデータ受信方法。
【発明の詳細な説明】
【技術分野】
【0001】
実施例はポイントクラウドコンテンツ(Point Cloud Content)を処理する方法及び装置に関する。
【背景技術】
【0002】
ポイントクラウドコンテンツは3次元空間を表現する座標系に属する点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは3次元からなるメディアを表現でき、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、XR(Extended Reality), 複合現実)及び自律走行サービスなどの様々なサービスを提供するために使用される。しかし、ポイントクラウドコンテンツを表現するためには、数万から数十万個のポイントデータが必要である。従って、膨大な量のポイントデータを効率的に処理する方法が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
実施例による技術的課題は、上述した問題などを解決するために、ポイントクラウドを効率的に送受信するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0004】
実施例による技術的課題は、遅延時間(latency)及び符号化/復号の複雑度を解決するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0005】
実施例による技術的な課題は、ジオメトリ-ポイントクラウド圧縮(Geometry-point cloud compression、G-PCC)ビットストリームを効率的に送受信するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0006】
実施例による技術的な課題は、予測基盤コーディング方法を適用し、ポイントクラウドデータを圧縮して送/受信することで、ポイントクラウドデータを効率的に圧縮するポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0007】
実施例による技術的な課題は、予測基盤コーディング方法を適用し、ポイントクラウドデータを圧縮するとき、フレーム間の相関関係に基づいて重複情報を除去することで、圧縮効率を高めるポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
【0008】
但し、上述した技術的課題のみに制限されず、記載する全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
【課題を解決するための手段】
【0009】
前述した目的及びその他の利点を達成するために、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータ内のジオメトリデータを符号化するステップ、前記ジオメトリデータに基づいて前記ポイントクラウドデータ内の特質データを符号化するステップ、及び前記符号化されたジオメトリデータ、前記符号化された特質データ、及びシグナリング情報を送信するステップを含む。
【0010】
前記ジオメトリデータを符号化するステップは、前記ジオメトリデータに基づいて現在フレームの予測ツリーを生成するステップ、参照フレームのジオメトリデータに基づいて前記参照フレームの予測ツリーを生成するステップ、前記現在フレームの予測ツリー構造において符号化されるノードの親ノードと前記シグナリング情報に基づいて前記参照フレームの予測ツリーで予測値を生成するステップ、及び前記生成された予測値に基づいて前記符号化されるノードの予測を行い、残余情報を取得するステップを含む。
【0011】
前記予測値は、前記参照フレームの1つ以上の参照ノードに基づいて決定されることを一実施例とする。
【0012】
前記予測値は、前記参照フレームの1つ以上の参照ノード間の変化量が適用されて決定されることを一実施例とする。
【0013】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは同一であることを一実施例とする。
【0014】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは異なることを一実施例とする。
【0015】
前記残余情報は、前記現在フレームのレーザーIDと前記参照フレームのレーザーIDとの差値をさらに含むことを一実施例とする。
【0016】
前記シグナリング情報は、前記予測値を決定する方法を指示するための予測モード情報を含むことを一実施例とする。
【0017】
実施例によるポイントクラウドデータ送信装置は、ポイントクラウドデータ内のジオメトリデータを符号化するジオメトリエンコーダ、前記ジオメトリデータに基づいて前記ポイントクラウドデータ内の特質データを符号化する特質エンコーダ、及び前記符号化されたジオメトリデータ、前記符号化された特質データ、及びシグナリング情報を送信する送信部を含む。
【0018】
前記ジオメトリエンコーダは、前記ジオメトリデータに基づいて現在フレームの予測ツリーを生成する第1の予測ツリー生成部、参照フレームのジオメトリデータに基づいて前記参照フレームの予測ツリーを生成する第2の予測ツリー生成部、及び前記現在フレームの予測ツリー構造において符号化されるノードの親ノードと前記シグナリング情報に基づいて前記参照フレームの予測ツリーで予測値を生成し、前記生成された予測値に基づいて前記符号化されるノードの予測を行い、残余情報を取得する予測部を含む。
【0019】
前記予測値は、前記参照フレームの1つ以上の参照ノードに基づいて決定されることを一実施例とする。
【0020】
前記予測値は、前記参照フレームの1つ以上の参照ノード間の変化量が適用されて決定されることを一実施例とする。
【0021】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは同一であることを一実施例とする。
【0022】
前記ポイントクラウドデータは、1つ以上のレーザーを用いて取得され、前記現在フレームのエレベーション角度と前記参照フレームのエレベーション角度とは異なることを一実施例とする。
【0023】
前記残余情報は、前記現在フレームのレーザーIDと前記参照フレームのレーザーIDとの差値をさらに含むことを一実施例とする。
【0024】
前記シグナリング情報は、前記予測値を決定する方法を指示するための予測モード情報を含むことを一実施例とする。
【0025】
実施例によるポイントクラウドデータ受信方法は、ジオメトリデータ、特質データ、及びシグナリング情報を受信するステップ、前記シグナリング情報に基づいて前記ジオメトリデータを復号するステップ、前記シグナリング情報と前記復号されたジオメトリデータに基づいて前記特質データを復号するステップ、及び前記シグナリング情報に基づいて前記復号されたジオメトリデータと前記復号された特質データから復元されたポイントクラウドデータをレンダリングするステップを含む。
【0026】
前記ジオメトリデータを復号するステップは、前記シグナリング情報と現在フレームの復号されるノードに基づいて参照フレーム上で予測値を生成するステップ、及び前記生成された予測値と前記受信されたジオメトリデータに含まれた残余情報に基づいて前記ジオメトリデータを復元するステップを含む。
【発明の効果】
【0027】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、良質のポイントクラウドサービスを提供する。
【0028】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、様々なビデオコーデック方式を達成する。
【0029】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、自立走行サービスなどの汎用的なポイントクラウドコンテンツを提供する。
【0030】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、ポイントクラウドデータの独立的な符号化及び復号のためにポイントクラウドデータの空間適応的分割を行うことにより、並列処理の向上及び拡張性(scalability)を提供する。
【0031】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、ポイントクラウドデータをタイル及び/又はスライス単位に分割して符号化及び復号を行い、このために必要なデータをシグナリングすることで、ポイントクラウドの符号化及び復号の性能を向上させることができる。
【0032】
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、予測基盤ポイントクラウド圧縮方法を使用することで、低遅延(low delay又はlow latency)が求められる環境に対して早い速度の符号化及び復号を提供することができる。
【0033】
実施例によるポイントクラウドデータ送信方法、送信装置、及びエンコーダは、フレーム内の予測だけではなく、フレーム間の予測をさらに考慮することで、ポイントクラウドデータを効率的に圧縮する効果がある。
【0034】
実施例によるポイントクラウドデータ受信方法、受信装置及びデコーダは、ポイントクラウドデータを含むビットストリームを受信し、ビットストリーム内のシグナリング情報に基づいてフレーム間の予測を行うことで、ポイントクラウドデータを効率的に復元する効果がある。
【0035】
実施例によるポイントクラウドデータ送信方法及び送信装置において、ポイントクラウドデータが連続したフレームからなる場合、隣接フレームの隣接ノード間の差異類似性に基づいて、フレーム間の重複情報を除去することで、ポイントクラウドデータの圧縮効率を高めることができる。
【0036】
実施例によるポイントクラウドデータ送信方法及び送信装置において、ポイントクラウドデータが連続したフレームからなる場合、参照フレームの隣接レーザープレーンのノード間の変化量に基づいてフレーム間の予測を行うことで、ポイントクラウドデータの圧縮効率を高めることができる。
【0037】
実施例によれば、実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、予測ツリーのルートのように、フレーム内の予測が不可能であるか、フレーム内の予測の正確性が落ちる場合、参照フレーム(例えば、以前フレーム又は先行フレーム)において関連するポイントの情報を使用することで、ビットストリームのサイズを減らす効果を得ることができる。特に、参照フレームの関連するノード間の差異情報を用いるか、又は隣接したレーザーを用いることで、予測の正確性を高めることができる。
【図面の簡単な説明】
【0038】
図面は実施例をさらに理解するために添付され、実施例に関する説明と共に実施例を示す。
【0039】
【
図1】実施例によるポイントクラウドのコンテンツ提供のためのシステムを示す図である。
【
図2】実施例によるポイントクラウドのコンテンツ提供のための過程を示す図である。
【
図3】実施例によるポイントクラウドのキャプチャー装備の配列構成を示す図である。
【
図4】実施例によるポイントクラウドビデオエンコーダ(point Cloud Video Encoder)を示す図である。
【
図5】実施例による3次元空間上のボクセルを示す図である。
【
図6】実施例による八分木及び占有コードの一例を示す図である。
【
図7】実施例による隣接ノードパターンの一例を示す図である。
【
図8】実施例によるLODごとのポイントクラウドコンテンツのポイント構成の一例を示す図である。
【
図9】実施例によるLODごとのポイントクラウドコンテンツのポイント構成の一例を示す図である。
【
図10】実施例によるポイントクラウドビデオデコーダ(point Cloud Video Decoder)のブロック図(block diagram)の一例である。
【
図11】実施例によるポイントクラウドビデオデコーダ(point Cloud Video Decoder)の一例を示す図である。
【
図12】実施例による送信機のポイントクラウドビデオ符号化のための構成要素を示す図である。
【
図13】実施例による受信機のポイントクラウドビデオ復号のための構成要素を示す図である。
【
図14】実施例によるポイントクラウドデータ方法/装置に連動可能な構造の一例を示す図である。
【
図15】実施例による特定のスライスの予測ツリー構造の一例を示す図である。
【
図16】実施例によるポイントクラウド送信装置のまた他の一例を示す図である。
【
図17】実施例による予測ツリー構造においてフレーム間の予測を行う一例を示す図である。
【
図18】実施例による予測ツリー構造においてフレーム間の予測を行う他の一例を示す図である。
【
図19】実施例による低いエレベーション角度の参照フレーム内の参照ノードを予測値として使用する一例を示す図である。
【
図20】実施例による高いエレベーション角度の参照フレーム内の参照ノードを予測値として使用する一例を示す図である。
【
図21】実施例による低いエレベーション角度の参照フレーム内の参照ノード間の変化量に基づいて予測を行う一例を示す図である。
【
図22】実施例による高いエレベーション角度の参照フレーム内の参照ノード間の変化量に基づいて予測を行う一例を示す図である。
【
図23】実施例によるジオメトリエンコーダの詳細なブロック図の一例を示す図である。
【
図24】実施例による予測基盤の圧縮を行うためのジオメトリ符号化の過程の一例を示す図である。
【
図25】実施例による送/受信のためのポイントクラウドデータのビットストリーム構造の一例を示す図である。
【
図26】実施例によるジオメトリデータユニット(geometry_data_unit())のシンタックス構造の一例を示す図である。
【
図27】実施例によるジオメトリデータユニットヘッダ(geometry_data_unit_header())のシンタックス構造の一例を示す図である。
【
図28】実施例によるジオメトリ予測ツリーデータ(geometry_predtree_data())のシンタックス構造の一例を示す図である。
【
図29】実施例によるgeometry_predtree_node(PtnNodeIdx)のシンタックス構造の一例を示す図である。
【
図30】実施例によるpredtree_inter_prediction()のシンタックス構造の一例を示す図である。
【
図31】実施例によるポイントクラウド受信装置のまた他の一例を示す図である。
【
図32】実施例によるジオメトリデコーダの詳細なブロック図の一例を示す図である。
【
図33】実施例による予測基盤で圧縮されたジオメトリを復元するためのジオメトリ復号方法の一例を示す図である。
【発明を実施するための形態】
【0040】
以下、添付図面を参照しながらこの明細書に記載された実施例について詳しく説明するが、図面符号に関係なく、同一又は類似する構成要素には同じ参照符号を付し、重複する説明は省略する。以下の実施例は本発明を具体化するためのものであり、本発明の権利範囲を制限又は限定するものではない。本発明の詳細な説明及び実施例から本発明が属する技術分野の専門家が容易に類推できるものは本発明の権利範囲に属するものと解釈される。
【0041】
この明細書の詳細な説明は全ての面で制限的に解釈されてはいけず、例示的なものとして考慮されるべきである。本発明の範囲は添付する請求範囲の合理的な解釈に基づいて決定されるべきであり、本発明の等価的範囲内での全ての変更は本発明の範囲に含まれる。
【0042】
添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというより、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に関する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものもあり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解されるべきである。また、以下の図面及び詳細な説明は具体的に記載された実施例に限って解釈してはいけず、図面及び詳細な説明に記載の実施例と均等又は代替可能なものまで含むものと解釈すべきである。
【0043】
図1は実施例によるポイントクラウドコンテンツ提供システムの一例を示す図である。
【0044】
図1に示したポイントクラウドコンテンツ提供システムは、送信装置(transmission device)10000及び受信装置(reception device)10004を含む。送信装置10000及び受信装置10004はポイントクラウドデータを送受信するために有無線通信が可能である。
【0045】
実施例による送信装置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機器/サーバーなどを含む。
【0046】
実施例による送信装置10000は、ポイントクラウドビデオ獲得部(Point Cloud Video Acquisition)10001、ポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)10002及び/又は送信機(Transmitter(又は通信モジュール)10003を含む。
【0047】
実施例によるポイントクラウドビデオ獲得部10001は、キャプチャー、合成又は生成などの処理過程によりポイントクラウドビデオを獲得する。ポイントクラウドビデオは、3次元空間に位置するポイントの集合であるポイントクラウドで表現されるポイントクラウドコンテンツであって、ポイントクラウドビデオデータなどと呼ばれる。実施例によるポイントクラウドビデオは、一つ又はそれ以上のフレームを含む。一つのフレームは停止映像/ピクチャを示す。よって、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャを含み、ポイントクラウド映像、フレーム及びピクチャのうちのいずれかに呼ばれる。
【0048】
実施例によるポイントクラウドビデオエンコーダ10002は、確保したポイントクラウドビデオデータを符号化する。ポイントクラウドビデオエンコーダ10002はポイントクラウド圧縮(Point Cloud Compression)コーディングに基づいてポイントクラウドビデオデータを符号化する。実施例によるポイントクラウド圧縮コーディングは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング又は次世代コーディングを含む。なお、実施例によるポイントクラウド圧縮コーディングは、上述した実施例に限られない。ポイントクラウドビデオエンコーダ10002は、符号化されたポイントクラウドビデオデータを含むビットストリームを出力することができる。ビットストリームは符号化されたポイントクラウドビデオデータだけではなく、ポイントクラウドビデオデータの符号化に関連するシグナリング情報を含む。
【0049】
実施例による送信機10003は、符号化されたポイントクラウドビデオデータを含むビットストリームを送信する。実施例によるビットストリームはファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化されて、放送網及び/又はブロードバンド網などの様々なネットワークにより送信される。図示していないが、送信装置10000はカプセル化動作を行うカプセル化部(又はカプセル化モジュール)を含む。また実施例において、カプセル化部は送信機10003に含まれる。実施例において、ファイル又はセグメントはネットワークにより受信装置10004に送信されるか、又はデジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信機10003は受信装置10004(又は受信機(Receiver)10005)と4G、5G、6Gなどのネットワークにより有無線通信が可能である。また送信機10003はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行うことができる。また送信装置10000はオンデマンド(On Demand)方式によってカプセル化されたデータを送信することもできる。
【0050】
実施例による受信装置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機器/サーバーなどを含む。
【0051】
実施例による受信機10005は、ポイントクラウドビデオデータを含むビットストリーム又はビットストリームがカプセル化されたファイル/セグメントなどをネットワーク又は格納媒体から受信する。受信機10005はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)により必要なデータ処理動作を行う。実施例による受信機10005は、受信したファイル/セグメントをデカプセル化してビットストリームを出力する。また実施例において、受信機10005はデカプセル化の動作を行うためのデカプセル化部(又はデカプセル化モジュール)を含む。またデカプセル化部は受信機10005とは別個のエレメント(又はコンポーネント)で具現される。
【0052】
ポイントクラウドビデオデコーダ10006は、ポイントクラウドビデオデータを含むビットストリームを復号する。ポイントクラウドビデオデコーダ10006はポイントクラウドビデオデータが符号化された方式により復号することができる(例えば、ポイントクラウドビデオエンコーダ10002の動作の逆の過程)。従って、ポイントクラウドビデオデコーダ10006はポイントクラウド圧縮の逆過程であるポイントクラウド復元コーディングを行って、ポイントクラウドビデオデータを復号することができる。ポイントクラウド復元コーディングはG-PCCコーディングを含む。
【0053】
レンダラー10007は復号されたポイントクラウドビデオデータをレンダリングする。レンダラー10007はポイントクラウドビデオデータだけではなく、オディオデータもレンダリングしてポイントクラウドコンテンツを出力する。実施例において、レンダラー10007はポイントクラウドコンテンツをディスプレイするためのディスプレイを含む。実施例において、ディスプレイはレンダラー10007に含まれず、別のデバイス又はコンポーネントで具現される。
【0054】
図面において、点線で示した矢印は、受信装置10004で得たフィードバック情報(feedback information)の送信経路を示す。フィードバック情報はポイントクラウドコンテンツを消費するユーザとの相互作用を反映するための情報であって、ユーザの情報を含む(例えば、ヘッドオリエンテーション情報)、ビューポート情報など)。特に、ポイントクラウドコンテンツがユーザとの相互作用が必要なサービス(例えば、自律走行サービスなど)のためのものである場合には、フィードバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサービス供給者に伝達されることができる。実施例において、フィードバック情報は送信装置10000だけではなく受信装置10004でも使用されることができ、提供されないこともできる。
【0055】
実施例によるヘッドオリエンテーション情報はユーザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10004はヘッドオリエンテーション情報に基づいてビューポート情報を計算する。ビューポート情報はユーザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユーザがポイントクラウドビデオを見ている点であり、ビューポート領域の真ん中を意味する。即ち、ビューポートは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004はヘッドオリエンテーション情報以外に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビューポート情報を抽出することができる。また受信装置10004はゲイズ分析(Gaze Analysis)などを行って、ユーザのポイントクラウド消費方式、ユーザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例において、受信装置10004はゲイズ分析の結果を含むフィードバック情報を送信装置10000に送信することができる。実施例によるフィードバック情報はレンダリング及び/又はディスプレイ過程で得られる。実施例によるフィードバック情報は受信装置10004に含まれた一つ又はそれ以上のセンサにより確保される。また実施例において、フィードバック情報はレンダラー10007又は別の外部エレメント(又はデバイス、コンポーネントなど)により確保される。
【0056】
図1に示された点線はレンダラー10007で確保したフィードバック情報の伝達過程を示す。ポイントクラウドコンテンツ提供システムはフィードバック情報に基づいてポイントクラウドデータを処理(符号化/復号)する。従って、ポイントクラウドビデオデータデコーダ10006はフィードバック情報に基づいて復号の動作を行うことができる。また受信装置10004はフィードバック情報を送信装置10000に送信することができる。送信装置10000(又はポイントクラウドビデオデータエンコーダ10002)はフィードバック情報に基づいて符号化の動作を行うことができる。従って、ポイントクラウドコンテンツ提供システムは全てのポイントクラウドデータを処理(符号化/復号)せず、フィードバック情報に基づいて必要なデータ(例えば、ユーザのヘッド位置に対応するポイントクラウドデータ)を効率的に処理して、ユーザにポイントクラウドコンテンツを提供することができる。
【0057】
実施例において、送信装置10000はエンコーダ、送信デバイス、送信機などに呼ばれ、受信装置10004はデコーダ、受信デバイス、受信機などに呼ばれる。
【0058】
実施例による
図1のポイントクラウドコンテンツ提供システムで処理される(獲得/符号化/送信/復号/レンダリングの一連の過程で処理される)ポイントクラウドデータは、ポイントクラウドコンテンツデータ又はポイントクラウドビデオデータとも呼ばれる。実施例において、ポイントクラウドコンテンツデータはポイントクラウドデータに関連するメタデータ或いはシグナリング情報を含む概念として使用することができる。
【0059】
図1に示したポイントクラウドコンテンツ提供システムのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はこれらの組み合わせなどで具現される。
【0060】
図2は実施例によるポイントクラウドコンテンツ提供の動作を示すブロック図である。
【0061】
図2は
図1で説明したポイントクラウドコンテンツ提供システムの動作を示すブロック図である。上述したように、ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディング(例えば、G-PCC)に基づいてポイントクラウドデータを処理する。
【0062】
実施例によるポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置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)は、ポイントクラウドビデオの獲得過程に関連する情報(例えば、深さ情報、色相情報など)からポイントクラウドデータを確保することができる。
【0063】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又はポイントクラウドビデオエンコーダ10002)は、ポイントクラウドデータを符号化する(20001)。ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディングに基づいてポイントクラウドデータを符号化する。上述したように、ポイントクラウドデータはポイントのジオメトリ及び特質を含む。よって、ポイントクラウドコンテンツ提供システムは、ジオメトリを符号化するジオメトリ符号化を行ってジオメトリビットストリームを出力することができる。ポイントクラウドコンテンツ提供システムは、特質を符号化する特質符号化を行って特質ビットストリームを出力することができる。実施例において、ポイントクラウドコンテンツ提供システムはジオメトリ符号化に基づいて特質符号化を行うことができる。実施例によるジオメトリビットストリーム及び特質ビットストリームは多重化されて一つのビットストリームで出力される。実施例によるビットストリームはジオメトリ符号化及び特質符号化に関連するシグナリング情報をさらに含む。
【0064】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又は送信機10003)は、符号化されたポイントクラウドデータを送信する(20002)。
図1で説明したように、符号化されたポイントクラウドデータはジオメトリビットストリーム、特質ビットストリームで表現される。また符号化されたポイントクラウドデータはポイントクラウドデータの符号化に関連するシグナリング情報(例えば、ジオメトリ符号化及び特質符号化に関連するシグナリング情報)と共に、ビットストリームの形態で送信される。またポイントクラウドコンテンツ提供システムは符号化されたポイントクラウドデータを送信するビットストリームをカプセル化してファイル又はセグメントの形態で送信する。
【0065】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、符号化されたポイントクラウドデータを含むビットストリームを受信する。またポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、ビットストリームを逆多重化することができる。
【0066】
ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームで送信される符号化されたポイントクラウドデータ(例えば、ジオメトリビットストリーム、特質ビットストリーム)を復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームに含まれたポイントクラウドビデオデータの符号化に関連するシグナリング情報に基づいてポイントクラウドビデオデータを復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ジオメトリビットストリームを復号してポイントの位置(ジオメトリ)を復元する。ポイントクラウドコンテンツ提供システムは、復元したジオメトリに基づいて特質ビットストリームを復号してポイントの特質を復元する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、復元されたジオメトリによる位置及び復号された特質に基づいてポイントクラウドビデオを復元する。
【0067】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号されたポイントクラウドデータをレンダリングする(20004)。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号過程で復号されたジオメトリ及び特質を様々なレンダリング方式によってレンダリングする。ポイントクラウドコンテンツのポイントは、一定の厚さを有する定点、該当定点の位置を中央とする所定の最小サイズを有する立方体、又は定点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域はディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
【0068】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004)は、フィードバック情報を確保することができる(20005)。ポイントクラウドコンテンツ提供システムは、フィードバック情報に基づいてポイントクラウドデータを符号化及び/又は復号する。実施例によるフィードバック情報及びポイントクラウドコンテンツ提供システムの動作は、
図1で説明したフィードバック情報及び動作と同一であるので、具体的な説明は省略する。
【0069】
図3は実施例によるポイントクラウドビデオキャプチャー過程の一例を示す図である。
【0070】
図3は
図1及び
図2で説明したポイントクラウドコンテンツ提供システムのポイントクラウドビデオキャプチャー過程の一例を示す。
【0071】
ポイントクラウドコンテンツは、様々な3次元空間(例えば、現実環境を示す3次元空間、仮想環境を示す3次元空間など)に位置するオブジェクト(object)及び/又は環境を示すポイントクラウドビデオ(イメージ及び/又は映像)を含む。従って、実施例によるポイントクラウドコンテンツ提供システムは、ポイントクラウドコンテンツを生成するために一つ又はそれ以上のカメラ(例えば、深さ情報を確保できる赤外線カメラ、深さ情報に対応する色相情報を抽出できるRGBカメラなど)、プロジェクト(例えば、深さ情報を確保するための赤外線パターンプロジェクターなど)、LiDARなどを使用してポイントクラウドビデオをキャプチャーする。実施例によるポイントクラウドコンテンツ提供システムは、深さ情報から3次元空間上のポイントで構成されたジオメトリの形態を抽出し、色相情報からそれぞれのポイントの特質を抽出してポイントクラウドデータを確保する。実施例によるイメージ及び/又は映像は内向き(inward-facing)方式及び外向き(outward-facing)方式のうちのいずれかに基づいてキャプチャーされる。
【0072】
図3の左側には内向き方式が示されている。内向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトをキャプチャーする方式である。内向き方式は核心核心客体に対する360°イメージをユーザに提供するポイントクラウドコンテンツ(例えば、ユーザに客体(例:キャラクター、選手、品物、俳優などの核心となる客体)の360°イメージを提供するVR/ARコンテンツ)を生成するために使用される。
【0073】
図3の右側には外向き方式が示されている。外向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトではない中心オブジェクトの環境をキャプチャーする方式である。外向き方式はユーザの視点からの周辺環境を提供するためのポイントクラウドコンテンツ(例えば、自律走行車両のユーザに提供される外部環境を示すコンテンツ)を生成するために使用される。
【0074】
図3したように、ポイントクラウドコンテンツは一つ又はそれ以上のカメラのキャプチャー動作に基づいて生成される。この場合、それぞれのカメラの座標系が異なるので、ポイントクラウドコンテンツ提供システムはキャプチャー動作前にグローバル空間座標系(global coordinate system)を設定するために、一つ又はそれ以上のカメラの較正(calibration)を行う。またポイントクラウドコンテンツ提供システムは、上述したキャプチャー方式でキャプチャーされたイメージ及び/又は映像と任意のイメージ及び/又は映像を合成してポイントクラウドコンテンツを生成する。またポイントクラウドコンテンツ提供システムは、仮想空間を示すポイントクラウドコンテンツを生成する場合、
図3で説明したキャプチャー動作を行わない。実施例によるポイントクラウドコンテンツ提供システムは、キャプチャーしたイメージ及び/又は映像に対して後処理を行うこともできる。即ち、ポイントクラウドコンテンツ提供システムは、望まない領域(例えば、背景)を除去したり、キャプチャーしたイメージ及び/又は映像が連結された空間を認識して空間(spatial hole)がある場合、それを埋める動作を行うことができる。
【0075】
またポイントクラウドコンテンツ提供システムは、それぞれのカメラから確保したポイントクラウドビデオのポイントに対して座標系変換を行って、一つのポイントクラウドコンテンツを生成することができる。ポイントクラウドコンテンツ提供システムは、それぞれのカメラの位置座標を基準としてポイントの座標系変換を行う。これにより、ポイントクラウドコンテンツ提供システムは、一つの広い範囲を示すコンテンツを生成するか、或いはポイントの密度が高いポイントクラウドコンテンツを生成することができる。
【0076】
図4は実施例によるポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)の一例を示す図である。
【0077】
図4は
図1のポイントクラウドビデオエンコーダ10002の一例を示す。ポイントクラウドビデオエンコーダは、ネットワーク状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、損失に近い-near-lossless)を調節するために、ポイントクラウドデータ(例えば、ポイントの位置及び/又は特質)を再構成して符号化動作を行う。ポイントクラウドコンテンツの全体サイズが大きい場合(例えば、30fpsの場合、60Gbpsであるポイントクラウドコンテンツ)、ポイントクラウドコンテンツ提供システムは該当コンテンツをリアルタイムストリーミングすることができない。従って、ポイントクラウドコンテンツ提供システムは、ネットワーク環境などに合わせて提供するために、最大ターゲットビットレートに基づいてポイントクラウドコンテンツを再構成することができる。
【0078】
図1及び
図2に示したように、ポイントクラウドビデオエンコーダはジオメトリ符号化及び特質符号化を行うことができる。ジオメトリ符号化は特質符号化よりも先に行われる。
【0079】
実施例によるポイントクラウドビデオエンコーダは、座標系変換部(Transformation Coordinates unit)40000、量子化部(Quantization unit)40001、八分木分析部(Octree Analysis unit)40002、表面近似分析部(Surface Approximation Analysis unit)40003、演算エンコーダ(Arithmetic Encode)40004、ジオメトリ再構成部(Geometry Reconstruction unit)40005、色変換部(Color Transformation unit)40006、特質変換部(Attribute Transformation unit)40007、RAHT(Region Adaptive Hierarchical Transform)変換部40008、LOD生成部(LOD Generation unit)40009、リフト変換部(Lifting Transformation unit)40010、係数量子化部(Coefficient Quantization unit)40011及び/又は演算エンコーダ(Arithmetic Encoder)40012を含む。
【0080】
座標系変換部40000、量子化部40001、八分木分析部40002、表面近似分析部40003、演算エンコーダ40004及びジオメトリ再構成部40005は、ジオメトリ符号化を行うことができる。実施例によるジオメトリ符号化は、八分木ジオメトリコーディング、ダイレクトコーディング(direct coding)、trisoupジオメトリ符号化(trisoup geometry encoding)及びエントロピー符号化を含む。ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に或いは組み合わせて適用される。なお、ジオメトリ符号化は上記の例示に限られない。
【0081】
図示したように、実施例による座標系変換部40000は、位置を受信して座標系(coordinate)に変換する。例えば、位置は3次元空間(例えば、XYZ座標系で表現される3次元空間など)の位置情報に変換される。実施例による3次元空間の位置情報はジオメトリ情報とも称される。
【0082】
実施例による量子化部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)、該当ボクセルに割り当てられる。
【0083】
実施例による八分木分析部40002は、ボクセルを八分木構造で表すための八分木ジオメトリコーディング(又は八分木コーディング)を行う。八分木構造は八分割構造に基づいてボクセルにマッチングされたポイントを表現する。
【0084】
実施例による表面近似分析部40003は、八分木を分析して近似化する。実施例による八分木分析及び近似化は、八分木及びボクセル化を効率的に提供するために、多数のポイントを含む領域をボクセル化するために分析を行う過程である。
【0085】
実施例による演算エンコーダ40004は、八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。符号化の結果としてジオメトリビットストリームが生成される。
【0086】
色変換部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コーディング、予測変換コーディング及びリフト変換コーディングが選択的に使用されるか、又は一つ又はそれ以上のコーディングの組み合わせが使用される。また実施例による特質符号化は上述した例示に限られない。
【0087】
実施例による色変換部40006は、特質に含まれた色値(又はテクスチャ)を変換する色変換コーディングを行う。例えば、色変換部40006は色相情報のフォーマットを変換(例えば、RGBからYCbCrに変換)する。実施例による色変換部40006の動作は、特質に含まれた色値によって任意に(optional)適用される。
【0088】
実施例によるジオメトリ再構成部40005は、八分木及び/又は近似化した八分木を再構成(復元)する。ジオメトリ再構成部40005はポイントの分布を分析した結果に基づいて八分木/ボクセルを再構成する。再構成された八分木/ボクセルは再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
【0089】
実施例による特質変換部40007は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。上述したように、特質はジオメトリに従属するので、特質変換部40007は再構成されたジオメトリ情報に基づいて特質を変換することができる。例えば、特質変換部40007は、ボクセルに含まれたポイントの位置値に基づいてその位置のポイントが有する特質を変換することができる。上述したように、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて該当ボクセルの中央点の位置が設定される場合、特質変換部40007は一つ又はそれ以上のポイントの特質を変換する。trisoupジオメトリ符号化が行われた場合、特質変換部40007はtrisoupジオメトリ符号化に基づいて特質を変換することができる。
【0090】
特質変換部40007は、各ボクセルの中央点の位置(又は位置値)から特定の位置/半径内に隣接しているポイントの特質又は特質値(例えば、各ポイントの色相、又は反射率など)の平均値を計算して特質変換を行う。特質変換部40007は平均値の計算時、中央点から各ポイントまでの距離による加重値を適用する。従って、各ボクセルは位置及び計算された特質(又は特質値)を有する。
【0091】
特質変換部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ツリー又はモールトンコードが活用される。
【0092】
図示したように、変換された特質はRAHT変換部40008及び/又はLOD生成部40009に入力される。
【0093】
実施例によるRAHT変換部40008は、再構成されたジオメトリ情報に基づいて特質情報を予測するRAHTコーディングを行う。例えば、RAHT変換部40008は、八分木の下位レベルにあるノードに連関する特質情報に基づいて、八分木の上位レベルにあるノードの特質情報を予測することができる。
【0094】
実施例によるLOD生成部40009はLOD(Level of Detail)を生成する。実施例によるLODはポイントクラウドコンテンツの詳細を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が下がり、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことが示されている。ポイントをLODによって分類できる。
【0095】
実施例によるリフト変換部40010は、ポイントクラウドの特質を加重値に基づいて変換するリフト変換コーディングを行う。上述したように、リフト変換コーディングは選択的に適用される。
【0096】
実施例による係数量子化部40011は、特質コーディングされた特質を係数に基づいて量子化する。
【0097】
実施例による演算エンコーダ40012は、量子化された特質を演算コーディングに基づいて符号化する。
【0098】
図4のポイントクラウドビデオエンコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図4のポイントクラウドビデオエンコーダのエレメントの動作及び/又は機能のうち、いずれか一つを行うことができる。また、一つ又はそれ以上のプロセッサは、
図4のポイントクラウドビデオエンコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行することができる。実施例による一つ又はそれ以上のメモリは高速ランダムアクセスメモリを含むか、又は非揮発性メモリ(例えば、一つ又はそれ以上のマグネチックディスク格納デバイス、フラッシュメモリデバイス、又は他の非揮発性固体のメモリデバイス(Solid-state memory devices)など)を含む。
【0099】
【0100】
図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で説明した通りであるので、省略する。
【0101】
図6は実施例による八分木及び占有コード(occupancy code)の一例を示す図である。
【0102】
図1ないし
図4に示したように、ポイントクラウドコンテンツ提供システム(ポイントクラウドビデオエンコーダ10002)又はポイントクラウドビデオエンコーダの八分木分析部40002は、ボクセルの領域及び/又は位置を効率的に管理するために、八分木構造基盤の八分木ジオメトリコーディング(又は八分木コーディング)を行う。
【0103】
図6の上側は八分木構造を示している。実施例によるポイントクラウドコンテンツの3次元空間は座標系の軸(例えば、X軸、Y軸、Z軸)で表現される。八分木構造は2つの極点(0,0,0)及び(2
d、2
d、2
d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。d値は以下の数1により決定される。以下の数1において、(x
int
n、y
int
n、z
int
n)は量子化されたポイントの位置(又は位置値)を示す。
【0104】
【0105】
図6の上側中央に示したように、分割によって全体3次元空間は8つの空間に分かれる。分割されたそれぞれの空間は6つの面を有するキューブで表現される。
図6の右上側に示したように、8つの空間はそれぞれ再び座標系の軸(例えば、X軸、Y軸、Z軸)により分かれる。よって、それぞれの空間は再び8つの小さい空間に分かれる。分割された小さい空間も6つの面を有するキューブで表現される。このような分割方式は八分木のリーフノード(leaf node)がボクセルになるまで適用される。
【0106】
図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)は占有コードに基づいて八分木を再構成する。
【0107】
実施例によるポイントクラウドビデオエンコーダ(例えば、八分木分析部40002)は、ポイントの位置を格納するためにボクセル化及び八分木コーディングを行う。しかし、3次元空間内のポイントがいつも均一に分布していることではないので、ポイントが多く存在しない特定の領域があり得る。従って、3次元空間の全体に対してボクセル化を行うことは非効率的である。例えば、特定の領域にポイントがほぼ存在しないと、該当領域までボクセル化を行う必要はない。
【0108】
従って、実施例によるポイントクラウドビデオエンコーダは、上述した特定の領域(又は八分木のリーフノードを除いたノード)についてはボクセル化を行わず、特定の領域に含まれたポイントの位置を直接コーディングするダイレクトコーディング(Direct coding)を行う。実施例によるダイレクトコーディングポイントの座標は、ダイレクトコーディングモード(Direct Coding Mode、DCM)と呼ばれる。また実施例によるポイントクラウドビデオエンコーダは、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化(Trisoup geometry encoding)を行うことができる。trisoupジオメトリ符号化はオブジェクトの表現を三角形メッシュ(triangle mesh)のシリーズで表現するジオメトリ符号化である。従って、ポイントクラウドビデオデコーダはメッシュ表面からポイントクラウドを生成することができる。実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に行われる。また実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は八分木ジオメトリコーディング(又は八分木コーディング)と結合して行うことができる。
【0109】
ダイレクトコーディング(Direct coding)を行うためには、ダイレクトコーディングを適用するための直接モード(direct mode)の使用オプションが活性化されている必要があり、ダイレクトコーディングを適用するノードはリーフノードではなく、特定のノード内に閾値(threshold)以下のポイントが存在する必要がある。またダイレクトコーディングの対象となる全体ポイントの個数は所定の閾値を超えてはいけない。上記条件を満たすと、実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40004)はポイントの位置(又は位置値)をエントロピーコーディングすることができる。
【0110】
実施例によるポイントクラウドビデオエンコーダ(例えば、表面近似分析部40003)は、八分木の特定のレベルを定め(レベルは八分木の深さdよりは小さい場合)、そのレベルからは表面モデルを使用してノード領域内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化を行うことができる(trisoupモード)。実施例によるポイントクラウドビデオエンコーダは、trisoupジオメトリ符号化を適用するレベルを指定できる。例えば、指定されたレベルが八分木の深さと同一であると、ポイントクラウドビデオエンコーダはtrisoupモードで動作しない。即ち、実施例によるポイントクラウドビデオエンコーダは指定されたレベルが八分木の深さ値よりも小さい場合にのみtrisoupモードで動作することができる。実施例による指定されたレベルのノードの3次元立方体領域をブロック(block)と呼ぶ。一つのブロックは一つ又はそれ以上のボクセルを含む。ブロック又はボクセルはブリック(brick)に対応することもできる。それぞれのブロック内においてジオメトリは表面(surface)と表現される。実施例による表面は最大1回、ブロックの各エッジ(edge)と交差することができる。
【0111】
一つのブロックは12つのエッジを有するので、一つのブロック内に少なくとも12つの交差点が存在する。それぞれの交差点はバーテックス(vertex、頂点又は頂上)と呼ばれる。エッジに沿って存在するバーテックスは該当エッジを共有する全てのブロックのうち、そのエッジに隣接する少なくとも一つの占有ボクセル(occupied voxel)がある場合に検知される。実施例による占有ボクセルはポイントを含むボクセルを意味する。エッジに沿って検出されたバーテックスの位置は、該当エッジを共有する全てのブロックのうち、該当エッジに隣接する全てのボクセルのエッジによる平均位置である(the average position along the edge of all voxels)。
【0112】
バーテックスが検出されると、実施例によるポイントクラウドビデオエンコーダは、エッジの開始点(x、y、z)、エッジの方向ベクトル(Δx、Δy、Δz)、バーテックス位置値(エッジ内の相対的位置値)をエントロピーコーディングすることができる。trisoupジオメトリ符号化が適用された場合、実施例によるポイントクラウドビデオエンコーダ(例えば、ジオメトリ再構成部40005)は三角形再構成(triangle reconstruction)、アップ-サンプリング(up-sampling)、ボクセル化過程を行って復元されたジオメトリ(再構成されたジオメトリ)を生成することができる。
【0113】
ブロックのエッジに位置するバーテックスはブロックを通過する表面を決定する。実施例による表面は非平面多角形である。三角形再構成の過程ではエッジの開始点、エッジの方向ベクトルとバーテックスの位置値に基づいて三角形で示される表面を再構成する。三角形再構成の過程は以下の数2の通りである。(1)各バーテックスの中心(centroid)値を計算し、(2)各バーテックスの値から中心値を引いた値に、(3)自乗を行って、その値を全て加算した値を得る。
【0114】
【0115】
その後、加えられた値の最小値を求め、最小値がある軸に沿って投影(Projection)過程を行う。例えば、x要素(element)が最小である場合、各バーテックスをブロックの中心を基準としてx軸に投影し、(y,z)平面に投影させる。(y,z)平面に投影させて得た値が(ai,bi)であれば、atan2(bi、ai)によりθ値を求め、θ値を基準としてバーテックスを整列する。以下の表1はバーテックスの個数によって三角形を生成するためのバーテックスの組み合わせを示している。バーテックスは1からnまで順に整列される。以下の表1は4つのバーテックスに対して、バーテックスの組み合わせによって2つの三角形が構成されることを示している。1番目の三角形は整列されたバーテックスのうち、1、2、3番目のバーテックスで構成され、2番目の三角形は整列されたバーテックスのうち、3,4,1番目のバーテックスで構成される。
【0116】
表1.Triangles formed from vertices ordered 1
【0117】
【0118】
アップサンプリング過程は三角形のエッジに沿って中間に点を追加してボクセル化するために行われる。アップサンプリング係数(upsampling factor)とブロックの幅を基準として追加点を生成する。追加点はリファインドバーテックス(refined vertice)と呼ばれる。実施例によるポイントクラウドビデオエンコーダはリファインドバーテックスをボクセル化することができる。またポイントクラウドビデオエンコーダはボクセル化された位置(又は位置値)に基づいて特質符号化を行うことができる。
【0119】
図7は実施例による隣接ノードパターンの一例を示す図である。
【0120】
ポイントクラウドビデオの圧縮効率を増加させるために、実施例によるポイントクラウドビデオエンコーダはコンテキスト適応演算(context adaptive arithmetic)コーディングに基づいてエントロピーコーディングを行う。
【0121】
図1ないし
図6で説明したように、ポイントクラウドコンテンツ提供システム又は
図2のポイントクラウドビデオエンコーダ10002又は
図4のポイントクラウドビデオエンコーダ又は演算エンコーダ40004は、占有コードをすぐエントロピーコーディングすることができる。またポイントクラウドコンテンツ提供システム又はポイントクラウドビデオエンコーダは、現在ノードの占有コードと隣接ノードの占有率に基づいてエントロピー符号化(イントラ符号化)を行うか、又は以前フレームの占有コードに基づいてエントロピー符号化(インター符号化)を行うことができる。実施例によるフレームは、同時間に生成されたポイントクラウドビデオの集合を意味する。実施例によるイントラ符号化/インター符号化の圧縮効率は、参照する隣接ノードの個数によって異なる。ビットが大きくなると複雑になるが、一側に傾くようにして圧縮効率を高めることができる。例えば、3-bit contextを有すると、2の3乗である8つの方法でコーディングする。分けてコーディングする部分は具現の複雑度に影響を及ぼす。従って、圧縮効率と複雑度の適正水準を合わせる必要がある。
【0122】
図7は隣接ノードの占有率に基づいて占有パターンを求める過程を示す。実施例によるポイントクラウドビデオエンコーダは、八分木の各ノードの隣接ノードの占有率(occupancy)を判断して隣接ノードパターン(neighbor pattern)値を得る。隣接ノードパターンは該当ノードの占有パターンを推論するために使用される。
図7の左側はノードに対応するキューブ(真ん中に位置するキューブ)及び該当キューブと少なくとも一面を共有する6つのキューブ(隣接ノード)を示している。図示したノードは同じ深さのノードである。図示した数字は6つのノードとそれぞれ連関する加重値(1、2、4、8、16、32、など)を示す。各加重値は隣接ノードの位置によって順に付与される。
【0123】
図7の右側は隣接ノードパターン値を示す。隣接ノードパターン値は占有された隣接ノード(ポイントを有する隣接ノード)の加重値が掛けられた値の合計である。従って、隣接ノードパターン値は0から63までの値を有する。隣接ノードパターン値が0であることは、該当ノードの隣接ノードのうち、ポイントを有するノード(占有ノード)がないことを意味する。隣接ノードパターン値が63であることは、隣接ノードが全て占有ノードであることを意味する。図示したように、加重値1、2、4、8が付与された隣接ノードは占有ノードであるので、隣接ノードパターン値は1、2、4、8を併せた値である15である。ポイントクラウドビデオエンコーダは隣接ノードパターン値によってコーディングを行うことができる(例えば、隣接ノードパターン値が63である場合、64つのコーディングを行う)。実施例においてポイントクラウドビデオエンコーダは隣接ノードパターン値を変更して(例えば、64を10又は6に変更するテーブルに基づく)、コーディングの複雑度を減らすことができる。
【0124】
図8は実施例によるLODごとのポイント構成の一例を示す図である。
【0125】
図1ないし
図7で説明したように、特質符号化が行われる前、符号化されたジオメトリは再構成(復元)される。ダイレクトコーディングが適用された場合、ジオメトリ再構成の動作はダイレクトコーディングされたポイントの配置を変更することを含む(例えば、ダイレクトコーディングされたポイントをポイントクラウドデータの前方に配置)。trisoupジオメトリ符号化が適用された場合、ジオメトリ再構成の過程は三角形再構成、アップサンプリング、ボクセル化の過程を特質はジオメトリに従属するので、特質符号化は再構成されたジオメトリに基づいて行われる。
【0126】
ポイントクラウドビデオエンコーダ(例えば、LOD生成部40009)はポイントをLODごとに分類(reorganization)又はグルーピング(grouping)することができる。
図8はLODに対応するポイントクラウドコンテンツを示す。
図8の最左側はオリジナルポイントクラウドコンテンツを示す。
図8の左側から2番目は最低LODのポイントの分布を示し、
図8の最右側は最高LODのポイントの分布を示す。即ち、最低LODのポイントは粗い(sparse)分布であり、最高LODのポイントは細かい分布である。即ち、
図8の下側に示された矢印方向に沿ってLODが増加するほどポイント間の間隔(又は距離)は短くなる。
【0127】
図9は実施例によるLODごとのポイント構成の一例を示す図である。
【0128】
図1ないし
図8で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドビデオエンコーダ(例えば、
図2のポイントクラウドビデオエンコーダ10002、
図4のポイントクラウドビデオエンコーダ又はLOD生成部40009)はLODを生成する。LODはポイントを設定されたLOD距離値(又はユークリッド距離(Euclidean Distance)のセット)によって改良レベル(refinement levels)のセットで再整列して生成される。LOD生成過程はポイントクラウドビデオエンコーダだけではなく、ポイントクラウドビデオデコーダでも行われる。
【0129】
図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を含む。
【0130】
図4で説明したように、実施例によるポイントクラウドビデオエンコーダはLOD基盤の予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングを選択的に又は組み合わせて行うことができる。
【0131】
実施例によるポイントクラウドビデオエンコーダは、ポイントに対する予測器(predictor)を生成して各ポイントの予測特質(又は予測特質値)を設定するためのLOD基盤の予測変換コーディングを行う。即ち、N個のポイントに対してN個の予測器が生成される。実施例による予測器は各ポイントのLOD値とLODごとに設定された距離内に存在する隣接ポイントに対するインデックス情報及び隣接ポイントまでの距離値に基づいて加重値(=1/距離)を計算することができる。
【0132】
実施例による予測特質(又は特質値)は、各ポイントの予測器に設定された隣接ポイントの特質(又は特質値、例えば、色相、反射率など)に各隣接ポイントまでの距離に基づいて計算された加重(又は加重値)を掛けた値の平均値で設定される。実施例によるポイントクラウドビデオエンコーダ(例えば、係数量子化部40011)は、該当ポイントの特質(即ち、オリジナル特質値)から該当予測特質(特質値)を引いた該当ポイントの残余値(residual、残余の特質、残余の特質値、特質予測残余値、予測エラー特質値などとも呼ばれる)を量子化(quatization)及び逆量子化(inverse quantization)することができる。残余の特質値に対して行われる送信機での量子化過程は表2の通りである。また表2のように量子化された残余の特質値に対して行われる受信機での逆量子化過程は表3の通りである。
【0133】
【0134】
【0135】
実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測器に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余の特質値をエントロピーコーディングする。実施例によるポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測器に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。
【0136】
実施例によるポイントクラウドビデオエンコーダ(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
【0137】
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
【0138】
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
【0139】
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
【0140】
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
【0141】
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
【0142】
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドビデオエンコーダ(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドビデオエンコーダ(例えば、演算エンコーダ40012)は量子化された特質値をエントロピーコーディングする。
【0143】
実施例によるポイントクラウドビデオエンコーダ(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドビデオエンコーダは、ボクセルから全体領域にスキャンし、各ステップもぽてボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
【0144】
以下の数3はRAHT変換行列を示す。
はレベルlでのボクセル(voxel)の平均特質値を示す。
【0145】
【0146】
はローパス(low-pass)値であって、次の上位レベルでの併合過程で使用される。
はハイパス係数(high-pass coefficients)であって、各ステップでのハイパス係数は量子化されてエントロピーコーディングされる(例えば、計算エンコーダ40012の符号化)。加重値は
により計算される。ルートノードは最後の
により以下の数4のように生成される。
【0147】
【0148】
gDC値もハイパス係数のように量子化されてエントロピーコーディングされる。
【0149】
図10は実施例によるポイントクラウドビデオデコーダ(Point Cloud Video Decoder)の一例を示す図である。
【0150】
図10に示したポイントクラウドビデオデコーダは、
図1に示したポイントクラウドビデオデコーダ10006の一例であり、
図1で説明したポイントクラウドビデオデコーダ10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドビデオデコーダは一つ又はそれ以上のビットストリームに含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドビデオデコーダはジオメトリデコーダ(geometry decoder)及び特質デコーダ(Attribute decoder)を含む。ジオメトリデコーダはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダは復号されたジオメトリに基づいて特質ビットストリームに対して特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
【0151】
図11は実施例によるポイントクラウドビデオデコーダの一例を示す図である。
【0152】
図11に示したポイントクラウドビデオデコーダは
図10で説明したポイントクラウドビデオデコーダの一例であり、
図1ないし
図9で説明したポイントクラウドビデオエンコーダの符号化動作の逆過程である復号動作を行う。
【0153】
図1及び
図10で説明したように、ポイントクラウドビデオデコーダはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
【0154】
実施例によるポイントクラウドビデオデコーダは、演算デコーダ(arithmetic decoder、11000)、八分木合成部(octree synthesis unit、11001)、表面近似合成部(surface approximation synthesis unit、11002)、ジオメトリ再構成部(geometry reconstruction unit、11003)、座標系逆変換部(coordinates inverse transformation unit、11004)、演算デコーダ(arithmetic decoder、11005)、逆量子化部(inverse quantization unit、11006)、RAHT変換部11007、LOD生成部(LOD generation unit、11008)、逆リフト部(Inverse lifting unit、11009)、及び/又は色逆変換部(color inverse transformation unit、11010)を含む。
【0155】
演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004は、ジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクト復号(direct decoding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクト復号及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、
図1ないし
図9で説明したジオメトリ符号化の逆過程により行われる。
【0156】
実施例による演算デコーダ11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ11000の動作は演算エンコーダ40004の逆過程に対応する。
【0157】
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は
図1ないし
図9に説明した通りである。
【0158】
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
【0159】
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。
図1ないし
図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は
図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
【0160】
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
【0161】
演算デコーダ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つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
【0162】
実施例による演算デコーダ11005は、特質ビットストリームを演算コーディングに復号する。
【0163】
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドビデオエンコーダの特質符号化に基づいて選択的に適用される。
【0164】
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドビデオエンコーダの符号化によってそれに対応する復号動作を選択的に行う。
【0165】
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドビデオエンコーダの色変換部40006の動作に基づいて選択的に行われる。
【0166】
図11のポイントクラウドビデオデコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した
図11のポイントクラウドビデオデコーダのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、
図11のポイントクラウドビデオデコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
【0167】
【0168】
図12に示した送信装置は、
図1の送信装置10000(又は
図4のポイントクラウドビデオエンコーダ)の一例である。
図12に示した送信装置は、
図1ないし
図9で説明したポイントクラウドビデオエンコーダの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダー12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011及び/又は送信処理部12012を含む。
【0169】
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は
図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
【0170】
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダー12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、
図1ないし
図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
【0171】
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、
図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は
図1ないし
図9に説明した通りである。
【0172】
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は
図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0173】
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は
図4及び
図6で説明したポイントクラウドエンコーダ(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0174】
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は
図4に示したポイントクラウドビデオエンコーダ(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は
図1ないし
図9に説明した通りである。
【0175】
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、
図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は
図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダー12006に含まれる。
【0176】
実施例による演算コーダー12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダー12006は演算エンコーダ40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0177】
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
【0178】
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダー12011は特質符号化を行う。実施例による特質符号化は、
図1ないし
図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
【0179】
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、
図1ないし
図9に説明した通りである。また
図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
【0180】
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は
図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は
図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は
図1ないし
図9に説明した通りであるので、具体的な説明は省略する。
【0181】
実施例による演算コーダー12011は、コーディングされた特質を演算コーディングに基づいて符号化する。演算コーダー12011は演算エンコーダ40012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0182】
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom00)及び一つ又はそれ以上の特質ビットストリーム(Attr00、Attr10)を含む。
【0183】
実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。
【0184】
ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は
図1及び
図2に説明した通りであるので、省略する。
【0185】
【0186】
図13に示した受信装置は、
図1の受信装置10004(又は
図10及び
図11のポイントクラウドビデオデコーダ)の一例である。
図13に示した受信装置は、
図1ないし
図11で説明したポイントクラウドビデオデコーダの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
【0187】
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダ13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータ分析13006、演算(arithmetic)デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
【0188】
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は
図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
【0189】
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
【0190】
演算デコーダ13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は
図1ないし
図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
【0191】
実施例による演算デコーダ13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ13002は演算デコーダ11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0192】
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
【0193】
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
【0194】
実施例によるメタデータ分析13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータ分析13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は
図12で説明した通りであるので省略する。
【0195】
演算デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は
図1なしい
図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
【0196】
実施例による演算デコーダ13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダ13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダ13007は演算デコーダ11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0197】
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
【0198】
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
【0199】
図14は実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。
【0200】
図14の構造はサーバー17600、ロボット17100、自律走行車両17200、XR装置17300、スマートフォン17400、家電17500及び/又はHMD(Head-Mount Display)17700のうちのいずれかがクラウドネットワーク17100に連結された構成を示している。ロボット17100、自律走行車両17200、XR装置17300、スマートフォン17400又は家電17500などは装置とも呼ばれる。またXR装置17300は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
【0201】
クラウドネットワーク17000はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク17000は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
【0202】
サーバー17600はロボット17100、自律走行車両17200、XR装置17300、スマートフォン17400、家電17500及び/又はHMD17700のいずれかにクラウドネットワーク17000により連結され、連結された装置17100~17700のプロセシングの少なくとも一部を助けることができる。
【0203】
HMD(Head-Mount Display)17700は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパーワ供給ユニットなどを含む。
【0204】
以下、上記技術が適用される装置17100~17500の様々な実施例について説明する。ここで、
図14に示した装置17100~17500は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
【0205】
<PCC+XR>
【0206】
XR/PCC装置17300はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
【0207】
XR/PCC装置17300は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置17300は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
【0208】
<PCC+自立走行+XR>
【0209】
自律走行車両17200はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
【0210】
XR/PCC技術が適用された自律走行車両17200は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両17200はXR装置17300とは区分されて互いに連動されることができる。
【0211】
XR/PCC映像を提供する手段を備えた自律走行車両17200は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両17200はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
【0212】
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
【0213】
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
【0214】
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
【0215】
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
【0216】
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
【0217】
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
【0218】
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
【0219】
図1ないし
図14に示すように、ポイントクラウドデータは、ポイントの集合からなり、各ポイントは、ジオメトリ(又は、ジオメトリ情報という)と特質(又は、特質情報という)を有することができる。ジオメトリ情報は、各ポイントの3次元の位置情報(xyz)である。すなわち、各ポイントの位置は、3次元空間を示す座標系上のパラメータ(例えば、空間を示す3つの軸であるX軸、Y軸及びZ軸のパラメータ(x、y、z))で表現される。また、特質情報は、そのポイントの色相(RGB、YUVなど)、反射度(reflectance)、法線(normal vectors)、透明度(transparency)などを意味する。
【0220】
実施例によれば、ポイントクラウドデータの符号化過程は、八分木、trisoup又は予測基盤でジオメトリ情報を圧縮し、圧縮によって変更された位置情報で再構成されたジオメトリ(reconstructed geometry=復号されたジオメトリ)情報に基づいて特質情報を圧縮する過程からなる。また、ポイントクラウドデータの復号過程は、符号化されたジオメトリビットストリーム(bitstream)と特質ビットストリームが送信され、八分木、trisoup又は予測基盤でジオメトリ情報を復号し、復号過程によって再構成されたジオメトリ情報に基づいて特質情報を復号化する過程からなる。
【0221】
実施例による八分木基盤又はtrisoup基盤のジオメトリ情報圧縮は、
図4ないし
図13において詳説したので、ここでは省略する。
【0222】
この後、本明細書は、予測基盤でジオメトリ情報を圧縮することを一実施例として説明する。実施例による予測基盤のジオメトリ情報圧縮は、ポイントクラウドデータに対して予測構造(prediction structure)を定義して行われる。このような構造は、ポイントクラウドデータの各ポイントと関連するバーテックス(vertex、頂点)を有する予測ツリー(predictive tree)で表現される。予測ツリーは、ルートバーテックス(root vertex又はルートポイントという)及びリーフバーテックス(leaf vertex又はリーフポイントという)を含み、ルートポイント以下のポイントは少なくとも1つ以上の子を有し、リーフポイント方向に深さ(depth)が増加する。各ポイントは、予測ツリー内の親ノードから予測することができる。実施例によれば、各ポイントは、そのポイントの親(parent)、祖父母(grand-parent)、曽祖父母(grand-grandparent)などのポイント位置に基づいて、様々な予測モード(例えば、予測無し、デルタ予測(delta prediction)、リニア予測(linear prediction)、平行四辺形予測(parallelogram prediction))のいずれか1つを適用して予測される。
【0223】
このとき、ルートノード(すなわち、初期値)は予測が行われず、すなわち、圧縮無しでポイントの位置情報(すなわち、ルートノードのx、y、z座標)が受信側に送信される。これは予測ツリー内の各ポイントは、少なくとも1つの親ノードに基づいて予測が行われるが、ルートノードは親ノードが存在しないからである。
【0224】
すなわち、予測基盤のジオメトリ圧縮方法は、連続したポイントの位置類似性に基づいて伝達される情報量を減らすために使用される。このとき、各ポイントは、様々な予測モードを適用して予測されるが、このうちの初期値(例えば、ルートノード)は、参照するポイント(すなわち、親ポイント)がないので、予測せずに実際値(すなわち、x、y、z座標値)を受信側に送信する。
【0225】
図15は実施例による予測ツリー構造の一例を示す図である。
【0226】
すなわち、最終的な予測ツリーは、圧縮対象となるポイント(
図15のように、親、祖父母(grandparent)、曽祖父母(grand-grandparent)などの関係を有するポイントクラウド集合のうちの特定のポイント)を子(child)として定義し、予測対象となるポイントを親として定義し、親-子(parent-child)の関係を探す過程であると定義することができ、親-子の連続によって構成される。例えば、ポイント50013を圧縮対象となるポイントと仮定する場合、ポイント50012は親となり、ポイント50011は祖父母となり、ポイント50010は曽祖父母となる。
【0227】
実施例によれば、予測ツリーを構成するとき、圧縮の開始となるポイントをルートバーテックス(又は、ルートノード)として設定する。そして、ポイント50011はルートバーテックス(すなわち、ルートポイント)50010を親とする子になる。実施例によれば、ポイント50011はジオメトリに基づいてルートポイント50010との類似性が最も高いと仮定できる。実施例によれば、予測ツリーは、複数の子を有するポイント(又はバーテックス)が存在する。実施例によれば、子の数は所定数(例えば、3)に限定されてもよく無限でもよい。例えば、ポイント(又はバーテックス)50014は3つの子を有し、ポイント(バーテックス)50015は2つの子を有することが示されている。
【0228】
実施例によれば、
図15のように、予測ツリーが生成されると、予測モード(prediction mode)を用いてポイントの予測を行う。
【0229】
例えば、V(p)を予測ツリー上で圧縮対象となるポイント、すなわち、p番目のポイントと定義し、V(p-1)をp番目のポイントの親(parent)ポイント(又はバーテックス)、V(p-2)をp番目のポイントの祖父母(grandparent)ポイント、V(p-3)をp番目のポイントの曽祖父母(grand-grandparent又はgreat-grandparent)ポイント、V(p-4)をp番目のポイントの高祖父母(grand-grand grandparent又はgreat-great grandparent)ポイントと定義するとき、各予測モードごとの予測エラー(E)は、以下の数式5のように定義することができる。例えば、ポイント(V(p))に対して、以下の数式5の予測モードのそれぞれを適用し、7つの予測エラー値(E)を算出し、算出した7つの予測エラー値のうちの最小の予測エラー値を有する予測モードをポイント(V(p))の予測モードとして設定する。例えば、7つの予測エラー値のうち、2番目の式を適用して求めた予測エラー値(E={[V(p)-V(p-1)]-a*[V(p-1)-V(p-2)]-b})が最小値(すなわち、エラーを最小化する値)であれば、ポイント(V(p))の予測モードは、予測モード2(mode 2)に設定(又は、選択)する。また、設定(選択)された予測モード情報(pred_mode)と、このときの係数情報(例えば、a、bなど)は、シグナリング情報及び/又はスライスにシグナリングされ、受信装置に送信される。このシグナリング情報は、パラメータセット(例えば、SPS、GPS、APS、及びTPS(又は、タイルインベントリという)など)、当該残余情報(又は、予測エラーという)を運ぶスライスのヘッダなどを含む。この予測モード情報は、イントラモード情報又はイントラ予測モードとも呼ぶ。
【0230】
【0231】
以下の数式6は、各予測モードごとの予測情報を求める式の例示である。例えば、数式5を適用して選択されたポイント(V(p))の予測モードが予測モード2(mode 2)である場合、予測モード2に相当する予測情報(V’(p))は、数式6の2番目の式(V’(p)=(a+1)*V(p-1)-a*V(p-2)+b)を適用して求められる。すなわち、前記した数式5に対してエラーを最小化するV’(p)は、以下の数式6のように予測することができる。
【0232】
【0233】
実施例によれば、モード1をデルタ予測(delta prediction)、モード2又はモード3をリニア予測(linear prediction)、モード4、モード5、モード6又はモード7を平行四辺形予測(parallelogram predictor or parallelogram prediction)とも呼ぶ。
【0234】
このとき、ルートノードを除くその他のノード(すなわち、ポイント)の場合、送信端では各ポイントに対するイントラ予測モード及びポイントの位置と予測位置との差異(これを残余情報又は予測エラーという)を受信側に送信する。
【0235】
また、本明細書では、前述した様々な予測方法に対して、予め定められた方法を所定単位(例えば、スライス単位、コーディングブロック単位、フレーム単位、N個単位など)に使用及びシグナリングしてもよく、又は毎ポイントごとにエラーが最小化される方法に対してシグナリングしてもよい。また、予測係数a、bに対しても予め定められた値を使用及びシグナリングしてもよく、又は毎ポイントごとにエラーが最小化される方法に対してシグナリングしてもよい。
【0236】
このとき、ルートノード50010の場合、従来には予測を行わず、また別の予測モードをシグナリングし、位置情報を受信側に直接に送信する。
【0237】
実施例によれば、予測基盤の圧縮は、類似するポイントが隣接して存在するほど予測の正確度が高くなるが、これを考慮して、予測対象ポイントを類似するポイント同士で隣接するように再配列してもよい。再配列は、ポイントクラウドの全体に対して行ってもよく、又はスライス単位に行ってもよく、又は2つの方法を両方用いてもよい。
【0238】
前述した予測基盤の圧縮は、現在フレーム内でポイント間の類似性を減らすための方法である。
【0239】
一方、ポイントクラウドデータが連続したフレームからなる場合、隣接フレーム間の相関関係が高い。本明細書は、このような特徴を用いて、フレーム間の相関関係に基づいて重複する情報を除去することで、さらに高いコーディング効率(すなわち、圧縮効率)が得られるようにする。
【0240】
このとき、ライダー(LiDAR)によって得られたデータの場合、レーザーのサンプリング特性によって隣接フレーム間の類似度が正確に推定できず、圧縮効率が低下する可能性がある。
【0241】
本明細書では、ポイントクラウドデータが連続したフレームからなる場合、予測基盤のジオメトリ(すなわち、位置)情報の圧縮効率を高める方法について説明する。
【0242】
このために、本明細書では、フレーム間の連続性に基づいて、予測ジオメトリコーディング方法を用いる場合、隣接フレーム(例えば、参照フレーム)の隣接ノード間の差異類似性に基づいて、フレーム間の重複情報を除去することで、予測の正確度を向上させることができる。
【0243】
すなわち、本明細書は、ジオメトリ情報を圧縮するに当たって予測基盤コーディングの圧縮効率を高めるための技術を取り扱い、特に、互いに異なるフレーム間の情報類似性に基づいて圧縮効率を高める方法について説明する。言い換えれば、ポイントクラウドデータが連続したフレーム上に存在する場合、隣接フレームの隣接ノード間の差異類似性に基づいて、フレーム間の類似性を除去することで、ポイントクラウドデータの予測の正確度を向上させ、圧縮効率を高めることができる。特に、本明細書は、隣接エレベーション(elevation)角度プレーンの参照ノードに基づいて予測を行うことで、ポイントクラウドデータの圧縮効率を高めることができる。
【0244】
本明細書で提案する方法は、一般にポイントクラウドデータの圧縮に使用することができ、またポイントクラウドデータのスケーラブルな圧縮に使用することもできる。また、本明細書で説明する予測基盤のジオメトリ圧縮方法は、予測基盤の特質圧縮にも使用できる。
【0245】
実施例によれば、ポイントクラウドデータの符号化過程は、
図1のポイントクラウドビデオエンコーダ10002、
図2の符号化20001、
図4のポイントクラウドビデオエンコーダ、
図12のポイントクラウドビデオエンコーダ、
図16のジオメトリエンコーダ51003、
図23のジオメトリエンコーダ、又は
図24のジオメトリ符号化過程で行われる。実施例によるポイントクラウドデータの復号過程は、
図1のポイントクラウドビデオデコーダ10006、
図2の復号20003、
図11のポイントクラウドビデオデコーダ、
図13のポイントクラウドビデオデコーダ、
図31のジオメトリデコーダ61003、
図32のジオメトリデコーダ又は
図33のジオメトリ復号過程で行われる。
図31ないし
図33の詳細な説明は後述する。
【0246】
図16は実施例によるポイントクラウド送信装置のまた他の一例を示す図である。
図16に示したポイントクラウド送信装置のエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせなどで具現できる。
【0247】
実施例によれば、ポイントクラウド送信装置は、データ入力部51001、シグナリング処理部51002、ジオメトリエンコーダ51003、特質エンコーダ51004、及び送信処理部51005を含む。
【0248】
ジオメトリエンコーダ51003及び特質エンコーダ51004は、
図1のポイントクラウドビデオエンコーダ10002、
図2の符号化20001、
図4のポイントクラウドビデオエンコーダ、
図12のポイントクラウドビデオエンコーダで説明した動作の一部又は全部を行うことができる。
【0249】
実施例によるデータ入力部51001は、ポイントクラウドデータを受信又は取得する。このデータ入力部51001は、
図1のポイントクラウドビデオ取得部10001の動作の一部又は全部を行ってもよく、又は
図12のデータ入力部12000の動作の一部又は全部を行ってもよい。
【0250】
データ入力部51001は、ポイントクラウドデータのポイントの位置をジオメトリエンコーダ51003に出力し、ポイントクラウドデータのポイントの特質を特質エンコーダ51004に出力する。また、パラメータは、シグナリング処理部51002に出力する。実施例によれば、パラメータは、ジオメトリエンコーダ51003及び特質エンコーダ51004に提供されてもよい。
【0251】
ジオメトリエンコーダ51003は、入力されるポイントの位置を用いて予測ツリーを構成し、予測ツリーに基づいてジオメトリ圧縮を行う。このとき、ジオメトリ圧縮のための予測は、フレーム内で行われてもよく、フレーム間で行われてもよい。本明細書では、前者をイントラフレーム予測といい、後者をインターフレーム予測という。このジオメトリエンコーダ51003は、圧縮されたジオメトリ情報に対してエントロピー符号化を行い、ジオメトリビットストリームの形態で送信処理部51005に出力する。
【0252】
ジオメトリエンコーダ51003は、圧縮によって変更された位置に基づいてジオメトリ情報を再構成し、再構成された(又は、復号化された)ジオメトリ情報を特質エンコーダ51004に出力する。
【0253】
特質エンコーダ51004は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリ情報に基づいて特質情報を圧縮する。一実施例として、特質情報は、RAHTコーディング、LOD基盤の予測変換コーディング及びリフト変換コーディングのいずれか1つ又は1つ以上を組み合わせてコーディングされる。特質エンコーダ51004は、圧縮された特質情報に対してエントロピー符号化を行い、特質ビットストリームの形態で送信処理部51005に出力する。
【0254】
シグナリング処理部51002は、ジオメトリ情報及び特質情報の符号化/復号/レンダリングなどに必要なシグナリング情報を生成及び/又は処理し、ジオメトリエンコーダ51003、特質エンコーダ51004及び/又は送信処理部51005に提供することができる。又は、シグナリング処理部51002にジオメトリエンコーダ51003、特質エンコーダ51004及び/又は送信処理部51005で生成されたシグナリング情報が提供されてもよい。シグナリング処理部51002は、受信装置でフィードバックされる情報(例えば、ヘッドオリエンテーション情報及び/又はビューポート情報をジオメトリエンコーダ51003、特質エンコーダ51004及び/又は送信処理部51005に提供してもよい。
【0255】
本明細書において、シグナリング情報は、パラメータセット(parameter set)(SPS: sequence parameter set、GPS: geometry parameter set、APS: attribute parameter set、TPS: Tile Parameter Set(又は、tile inventoryという)など)単位にシグナリングされて送信される。また、スライス又はタイルのように、各映像のコーディングユニット(又は、圧縮単位又は予測単位)単位にシグナリングされて送信されてもよい。
【0256】
送信処理部51005は、
図12の送信処理部12012の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行ってもよく、
図1の送信装置1003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行ってもよい。具体的な説明は、
図1又は
図12の説明を参照すればよく、ここでは省略する。
【0257】
送信処理部51005は、ジオメトリエンコーダ51003から出力されるジオメトリビットストリーム、特質エンコーダ51004から出力される特質ビットストリーム、シグナリング処理部51002から出力されるシグナリングビットストリームを1つのビットストリームに多重化した後、そのまま送信するか、又はファイルやセグメントなどにカプセル化して送信する。本明細書において、ファイルは、ISOBMFFファイルフォーマットであることを一実施例とする。
【0258】
実施例によれば、ファイル又はセグメントは、受信装置に送信されるか、デジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信処理部51005は、受信装置と4G、5G、6Gなどのネットワークを介して有/無線通信が可能である。また、送信処理部51005は、ネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行うことができる。また、送信処理部51005は、オンデマンド(On Demand)方式に従ってカプセル化されたデータを送信することもできる。
【0259】
実施例によれば、ジオメトリ予測に関する情報は、シグナリング処理部51002、ジオメトリエンコーダ51003、送信処理部51005のうちの少なくとも1つによってGPS及び/又はTPS及び/又はジオメトリデータユニット(又は、ジオメトリスライスビットストリームという)に含まれて送信されることができる。
【0260】
一方、データ入力部51001は、垂直に配列された複数のレーザーを水平方向に360度回転させるLiDARヘッドからポイントクラウドデータを収集(又は取得)することができる。このとき、LiDARヘッドは、垂直方向(elevation or vertical)に所定角度に配置された1つ又はそれ以上のレーザー(又はレーザーセンサ)を含み、垂直軸を中心として水平に回転してデータを取得する。各レーザーから出力されたレーザー光が対象(例えば、object)から反射されて戻る時間(及び/又は波長)は互いに等しいか異なる。よって、LiDARデータは、対象からレーザー光が戻る時間の差及び/又は波長の差などに基づいて構成される3次元表現(3D representation)である。
【0261】
このとき、垂直に配列された複数のレーザーのそれぞれは、レーザーIDによって識別される。すなわち、レーザーのそれぞれは固有のIDを有する。
【0262】
以下、前述のようにLiDAR装置を用いてポイントクラウドデータを取得するとき、ジオメトリエンコーダ51003においてフレーム間の予測を行い、ジオメトリ情報を圧縮する方法について説明する。
【0263】
図17は実施例による予測ツリー構造においてフレーム間の予測を行う一例を示す図である。
【0264】
すなわち、
図17は、前述したインター予測(inter prediction)に基づく予測ジオメトリコーディング(predictive geometry coding)方法に対して隣接フレーム間の参照を行う方法を示す。特に、
図17は、同一のレーザーid/エレベーション角度(elevation angle)プレーン(plane)に対して類似した方位角度(azimuthal angle)を有する参照フレームのノードを参照ノードとして使用する一例を示す。
【0265】
このとき、同一のエレベーション角度(elevation angle)を有するポイントに対して(又は、同一のレーザーIDを有するか、同一のレーザーから取得したポイントに対して)、方位角度(azimuthal angle)が増加する方向に予測ツリー(predictive tree)が構成される。
【0266】
この場合、
図17のように、ノードが存在するとき、反時計回りに予測ツリーが構成され、現在フレームの圧縮対象ノードP(n)(すなわち、現在ポイント又は現在ノード)と直前ノードP(n-1)(すなわち、親ノード)が子-親(child-parent)の関係を有する。このとき、参照フレームに対して、参照ノード(reference node、又は現在フレームの現在ポイント(P(n))の予測値又は予測機(predictor)という)は、現在フレームの直前圧縮ノードP(n-1)と同じエレベーション角度及び類似した方位角度を有するポイントP
r(n-1)(すなわち、参照親ノード)を選択することができ、選択されたノードP
r(n-1)の子ノードP
r(n)(すなわち、参照ノード)又はその子ノードP
r(n+1)(すなわち、参照子ノード)を予測値(すなわち、予測機)として選択することができる。
【0267】
言い換えれば、現在予測ツリー構造におけるフレーム(又は画面)間の予測は、1つの直前コーディングされたフレームを参照フレームとして選択する。また、現在フレームにおいて以前に復号されたポイント(P(n-1))と方位(azimuthal)が最も類似し、レーザーID(laserID)が同じポジション(position)に位置したポイント(例えば、Pr(n-1))を参照フレームから探す。また、そのポイントから方位が最も大きいものの中で最も近いポイント(例えば、Pr(n))又はその次に近いポイント(例えば、Pr(n+1))を現在フレームの現在ポイント(P(n))の予測値、すなわち、予測機(predictor)として選択する。このとき、最も近いポイントを予測機として選択する場合と、2番目に近いポイントを予測機として選択する場合とをフラグ情報として分離してシグナリングし、フレーム間の予測であるとき、いずれのポイント情報を現在ポイントの位置として選択するかを判断した後、その予測機の情報を受信機に伝達する。実施例による予測値又は予測機は、現在ポイントを予測するための候補ポイント(又はノード)又は予測対象ポイント(又はノード)と呼ぶことができる。
【0268】
このとき、同じエレベーション角度に対して参照フレームと現在フレームとの類似性が高い場合、参照フレームの参照ノード(すなわち、選択された予測機)を現在フレームの圧縮対象ノードの予測値として直接に使用する場合、予測の正確度が高い。すなわち、ジオメトリエンコーダ51003は、現在フレームの現在ノード(すなわち、圧縮対象ノード)の位置と参照フレームの参照ノードの位置(すなわち、予測値)との差(すなわち、残差又は残余情報)を受信側に送信することで、ジオメトリ情報を圧縮することができる。
【0269】
しかし、参照フレームと現在フレームとの類似性が劣る場合、予測の正確度が低下し、これにより残差(residual)が大きくなり、ビットストリームのサイズが大きくなる。これを補完する方法として、本明細書は、参照フレーム内の参照ノード間の変化量によって現在フレームの圧縮対象ノードを予測する方法を使用する。
【0270】
図18は実施例による予測ツリー構造においてフレーム間の予測を行う他の一例を示す図である。
【0271】
すなわち、
図18は、参照フレームに対して参照ノードP
r(n-1)、P
r(n)、P
r(n+1)間の変化量d
r(n)、d
r(n+1)、d
r(n-1)を示す。
【0272】
ここで、dr(n)は、参照フレーム内の第1の参照ノード(Pr(n))と第2の参照ノード(Pr(n-1))との間の変化量を示し(dr(n)=Pr(n)-Pr(n-1))、dr(n+1)は、第3の参照ノード(Pr(n+1))と第1の参照ノード(Pr(n))との間の変化量を示す(dr(n+1)=Pr(n+1)-Pr(n))。また、dr(n-1)は、第2の参照ノード(Pr(n-1))と第4の参照ノード(Pr(n-2))との変化量を示す(dr(n-1)=Pr(n-1)-Pr(n-2))。
【0273】
ここで、参照ノード間の変化量は、親-子の関係にある参照ノード間の差値、すなわち、増減であると定義できる。
【0274】
このとき、参照ノード間の変化量は、前述のように、ノード間の線形的な差異だけではなく、加重値に基づく差異、又は予め定められた変化量推定式による値を使用することができる。例えば、参照ノードごとに異なる加重値を与える。また、隣接した2つの参照ノード間の変化量だけではなく、3つ以上の参照ノードを用いて変化量を推定してもよい。
【0275】
以下、参照フレームに対して隣接ポイント間の差異類似性に基づく予測具現の実施例を示す。フレーム間の参照が使用される場合(例えば、interModeFlag=1)、予測方法に応じて、以下のように参照フレームのノード間の変化量に基づいて予測を行うことができる。以下の実施例では、参照フレームの参照ノードPr(n)又はPr(n+1)又はPr(n-1)(又はP(n)又はP(n+1)又はP(n-1))を予測値として使用するか、参照ノード間の変化量dr(n)又はdr(n+1)又はdr(n-1)を使用して予測する場合に対する具現実施例である。このとき、参照ノード間の変化量を使用して予測する場合、予測値(P’(n))は、以下のように求められる。すなわち、予測値は、参照フレームの選択された参照ノードのみを適用して決定されてもよく、選択された参照モードと参照ノード間の変化量を共に適用して決定されてもよい。又は、現在フレームの現在ノードの親ノードと参照フレームの参照ノード間の変化量が共に適用されて決定されてもよい。また、予測値が決定されると、現在フレームの現在ノード(すなわち、圧縮対象ポイント)の位置と決定された予測値の位置との差異(すなわち、残差又は残余情報)をエントロピー符号化した後、受信側に伝達する。以下、P’(n)は、現在フレームの現在ポイント(P(n)、又はノードという)に対する予測値を示す。
【0276】
予測値(Predicted value):
【0277】
P’(n)=P(n-1)+dr(n)又は
【0278】
P’(n)=P(n-1)+dr(n+1)又は
【0279】
P’(n)=P(n-1)+dr(n-1)
【0280】
if(interModeFlag){
【0281】
if(PredMothod==0){
【0282】
interPred=refFrameSph.getClosestPred(prevPos[1], prevPos[2]);
【0283】
pred=interPre d.second;
【0284】
}
【0285】
else if(PredMothod==1){
【0286】
interPred=refFrameSph.getNextClosestPred(prevPos[1], prevPos[2]);
【0287】
pred=interPre d.second;
【0288】
}
【0289】
else if(PredMothod==2){
【0290】
interPred=refFrameSph.getClosestPredDiff(prevPos[1], prevPos[2]);
【0291】
pred=interPre d.second+prevPos;
【0292】
}
【0293】
else if(PredMothod==3){
【0294】
interPred=refFrameSph.getNextClosestPredDiff(prevPos[1], prevPos[2]);
【0295】
pred=interPre d.second+prevPos;
【0296】
}
【0297】
}
【0298】
前記したコードにおいて、interModeFlagの値が真である場合(interModeFlag=1)、フレーム間の参照が使用されることを示す。また、PredMothodの値が0である場合(PredMothod==0)、参照フレームの参照ノードを予測ノード(すなわち、予測値)として使用することを示す。PredMothodの値が1である場合(PredMothod==1)、参照フレームの参照子ノード(すなわち、参照ノードの子ノード)を予測ノードとして使用することを示す。PredMothodの値が2である場合(PredMothod==2)、参照フレームの参照ノードと参照ノードの子ノードとの変化量を使用して予測ノードを定めることを示す。例えば、PredMothodの値が2である場合(PredMothod==2)、参照フレームの参照ノードに変化量(すなわち、参照ノードと参照ノードの子ノードとの変化量)を足して予測値として使用する。また、PredMothodの値が3である場合(PredMothod==3)、参照フレームの参照子ノードとその子ノードとの変化量を使用して予測ノードを定めることを示す。例えば、PredMothodの値が3である場合(PredMothod==3)、参照フレームの参照ノードに変化量(すなわち、参照ノードの子ノードとその子ノードとの変化量)を足して予測値として使用する。PredMothodは、シグナリング情報(例えば、inter_pred_mothodフィールド)として受信側に送信される。
【0299】
ここで、参照ノードは、現在フレームにおいて現在ポイント(current point)の以前に復号されたポイントと方位(又は方位角という)が最も類似し、レーザーID(laserID)が同一の参照フレーム内のポイント(又はノード)(Pr(n-1))であることを一実施例とする。この場合、Pr(n)は、参照ノードPr(n-1の子ノードとなり、Pr(n+1)は、参照ノードPr(n-1)の参照子ノードの子ノードとなる。その他の例として、参照ノードは、現在フレームにおいて現在ポイントの以前に復号されたポイントと方位(又は方位角という)が最も類似し、レーザーID(laserID)が同一の参照フレーム内のポイント(又はノード)(Pr(n-1))の子ノード(Pr(n))ともなる。
【0300】
本明細書は、4つの予測方法(PredMothod 0-3)を適用して求めた各予測値と現在フレームの現在ノードとの差値(すなわち、残差又は残余情報)のうちの最小値を有する予測方法を予測モードとして選択し、選択した予測モードと、このときの差値(すなわち、残差又は残余情報)を受信側に送信する。又は、4つの予測方法(PredMothod 0-3)のうちの1つを固定した後、固定した予測方法を適用して求めた予測値と現在フレームの現在ノードとの差値(すなわち、残差又は残余情報)を求めて受信側に送信してもよい。
【0301】
以下、前述した内容をコードで示す。
【0302】
1)PredMothod==0:参照ノードを予測ノードとして使用する場合
【0303】
std::pair<bool,point_t> getClosestPred(int currAzim,int currLaserId)
【0304】
{
【0305】
auto quantizedPhi=computePhiQuantized(currAzim);
【0306】
if (refPointVals[currLaserId].size()){
【0307】
auto idx=refPointVals[currLaserId].upper_bound(quantizedPhi);
【0308】
if (idx==refPointVals[currLaserId].end())
【0309】
return std::pair<bool,point_t>(false,0);
【0310】
else
【0311】
return std::pair<bool,point_t>(true,idx->second);
【0312】
}
【0313】
return std::pair<bool,point_t>(false,0);
【0314】
}
【0315】
2)PredMothod==1:参照子ノードを予測ノードとして使用する場合
【0316】
std::pair<bool,point_t> getNextClosestPred(int currAzim,int currLaserId)
【0317】
{
【0318】
auto quantizedPhi=computePhiQuantized(currAzim);
【0319】
if (refPointVals[currLaserId].size()){
【0320】
auto idx=refPointVals[currLaserId].upper_bound(quantizedPhi);
【0321】
if (idx==refPointVals[currLaserId].end())
【0322】
return std::pair<bool,point_t>(false,0);
【0323】
else
【0324】
quantizedPhi=computePhiQuantized(idx->second[1]);
【0325】
idx=refPointVals[currLaserId].upper_bound(quantizedPhi);
【0326】
if (idx==refPointVals[currLaserId].end())
【0327】
return std::pair<bool,point_t>(false,0);
【0328】
else
【0329】
return std::pair<bool,point_t>(true,idx->second);
【0330】
}
【0331】
return std::pair<bool,point_t>(false,0);
【0332】
}
【0333】
3)PredMothod==2:参照フレームの参照ノードと参照ノードの子ノードの変化量を使用する場合
【0334】
std::pair<bool,point_t> getClosestPredDiff(int currAzim,int currLaserId)
【0335】
{
【0336】
auto quantizedPhi=computePhiQuantized(currAzim);
【0337】
if (refPointVals[currLaserId].size()){
【0338】
auto idx=refPointVals[currLaserId].upper_bound(quantizedPhi);
【0339】
auto idx_next=refPointVals[currLaserId].begin();
【0340】
auto idx_parent=idx_next;
【0341】
while (idx_next->second[1]<=quantizedPhi){
【0342】
idx_parent=idx_next;
【0343】
auto quantizedPhi_parent=computePhiQuantized(idx_parent->second[1]);
【0344】
idx_next=refPointVals[currLaserId].upper_bound(quantizedPhi_parent);
【0345】
}
【0346】
if (idx==refPointVals[currLaserId].end())
【0347】
return std::pair<bool,point_t>(false、0);
【0348】
else
【0349】
return std::pair<bool,point_t>(true,idx->second-idx_parent->second);
【0350】
}
【0351】
return std::pair<bool,point_t>(false,0);
【0352】
}
【0353】
4)PredMothod==3: 参照フレームの参照ノードの子ノードとその子ノードとの変化量を使用する場合
【0354】
std::pair<bool,point_t> getNextClosestPredDiff(int currAzim,int currLaserId)
【0355】
{
【0356】
auto quantizedPhi=computePhiQuantized(currAzim);
【0357】
if (refPointVals[currLaserId].size()){
【0358】
auto idx=refPointVals[currLaserId].upper_bound(quantizedPhi);
【0359】
if (idx==refPointVals[currLaserId].end())
【0360】
return std::pair<bool,point_t>(false,0);
【0361】
else
【0362】
quantizedPhi=computePhiQuantized(idx->second[1]);
【0363】
auto idx_parent=idx;
【0364】
idx=refPointVals[currLaserId].upper_bound(quantizedPhi);
【0365】
if (idx==refPointVals[currLaserId].end())
【0366】
return std::pair<bool,point_t>(false,0);
【0367】
else
【0368】
return std::pair<bool,point_t>(true,idx->second-idx_parent->second);
【0369】
}
【0370】
return std::pair<bool,point_t>(false,0);
【0371】
}
【0372】
今までは同じエレベーション角度(elevation angle)を有するポイントに対して(又は同じレーザーIDを有するか、同じレーザーから取得したポイントに対して)、方位角度(azimuthal angle)が増加する方向に参照フレームの予測ツリー(predictive tree)を構成し、予測値を決定する方法について説明した。
【0373】
一方、本明細書は、同じエレベーション角度(elevation angle)だけではなく、隣接エレベーション角度(elevation angle)の隣接ノードを予測値として決定のために使用することができる。このとき、参照フレームに対しては全てのポイントに対して復元が行われたと仮定する場合、上、下のエレベーション角度の隣接ノードを使用することができる。
【0374】
現在エレベーション角度のレーザーID(laser ID)をMとするとき、上、下方向への隣接エレベーション角度のレーザーIDは、M+1、M-1とすることができる。すなわち、エレベーション角度が変化すると、レーザーIDも変化する。
【0375】
以下の実施例では、最隣接エレベーション角度プレーン(elevation angle plane)を使用する場合を示すが、応用分野に応じて、任意の整数mだけ離れたM+m又はM-mのエレベーション角度プレーンを参照してもよい。
【0376】
また、隣接エレベーション角度プレーン(elevation angle plane)が定められた後、現在フレームの参照ノードP(n-1)(又は、現在ノードの親ノード)の方位角度に基づいて参照フレームの参照ノードPrを求めることができる。すなわち、Pr(M+m)の方位角度は、P(n-1)の方位角度より大きい数の中で最小の数で求めるなどの方法が用いられる。
【0377】
図19は実施例による現在フレームより低いエレベーション角度の参照フレーム内の参照ノードを予測値として使用する一例を示す図である。
【0378】
図20は実施例による現在フレームより高いエレベーション角度の参照フレーム内の参照ノードを予測値として使用する一例を示す図である。
【0379】
図21は実施例による現在フレームより低いエレベーション角度の参照フレーム内の参照ノード間の変化量に基づいて予測を行う一例を示す図である。
【0380】
図22は実施例による現在フレームより高いエレベーション角度の参照フレーム内の参照ノード間の変化量に基づいて予測を行う一例を示す図である。
【0381】
実施例によれば、
図19ないし
図22のように、現在フレームのエレベーション角度と参照フレームのエレベーション角度とが異なる場合、エレベーション角度情報及び/又はレーザーID情報をシグナリングして受信側に送信する。このとき、レーザーID情報はそのまま送信されてもよく、参照フレームのレーザーID情報と現在フレームのレーザーID情報との差を送信してもよい。受信側では、受信したレーザーID情報又はレーザーID情報の残差に基づいてエレベーション角度を推定する。
【0382】
以下、予測ジオメトリコーディング(predictive geometry coding、pred-geom)を使用する場合、伝達される残余情報(又は、残差(residual)又は残差信号という)の一例を示す。まず、球面ドメイン(spherical domain)での半径(radius)、方位角度(azimuthal angle)、エレベーション角度に対する残余情報は、以下の数式7のように求められる。すなわち、半径に対する残余情報(rres)は、現在フレームの現在ポイント(すなわち、現在ノード、予測ポイント)の半径と参照フレーム(例えば、以前フレーム)の参照ポイント(すなわち、参照ノード)の半径との差値である。方位角度に対する残余情報(Φres)は、現在フレームの現在ポイントの方位角度と参照フレームの参照ポイントの方位角度との差値である。エレベーション角度(Θres)に対する残余情報は、現在フレームの現在ポイントのエレベーション角度と以前フレームの参照ポイントのエレベーション角度との差値である。このとき、エレベーション角度は、レーザーIDを使用してもよい。
【0383】
実施例によれば、参照フレーム内で隣接エレベーション角度プレーンの参照ノードを使用する場合、レーザーID(laser ID)の残余情報は、現在フレームのレーザーID(laser ID)と参照フレームのレーザーID(laser ID)との差で求められる。このとき、レーザーIDの残余情報Lresは、エレベーション角度の残余情報Φresと別として送信することができる。仮にエレベーション角度の残余情報Φresが小さい場合、又は親ノードP(n-1)のレーザーIDを使用することで、別のシグナルを送信しなくてもよい場合は、レーザーIDの残余情報Lresのみを送信することで、圧縮効率をさらに高めることができる。実施例によれば、レーザーIDの残余情報Lresは、res_laser_idフィールド値に割り当てられ、受信側に送信される。
【0384】
【0385】
例えば、半径の残余情報(rres=rcur-rref)の場合、参照フレームに対してM番目のレーザーを用いて、N番目の方位サンプリング位置で取得した参照フレームのポイントPrefは、以下の数式8のように、直交座標(Cartesian coordinate)及び球面座標(spherical coordinate)上で表現される。
【0386】
【0387】
数式8において、L
refは、LiDARの中心
からオブジェクト(又はポイント)までの距離を示し、以下の数式9のように求められる。
【0388】
【0389】
また、現在フレームの現在ポイントPcurは、以下の数式10のように、直交座標(Cartesian coordinate)及び球面座標(spherical coordinate)上で表現される。
【0390】
【0391】
数式10において、r
curは、LiDARの中心
からオブジェクト(又はポイント)までの距離を示し、以下の数式11のように求められる。
【0392】
【0393】
一方、出力座標系(output coordinate system)が直交座標系(Cartesian coordinate system)である場合、さらにx、y、zに対する直交残余(Cartesianl residual)情報を以下の数式12のように伝達する。
【0394】
【0395】
このとき、受信装置のジオメトリデコーダ(例えば、61003)では、球面座標系(sphereical coordinate system)上でのポイント位置を以下の数式13のように復元する。すなわち、ポイント位置の復元は、受信装置のジオメトリデコーダ又は復号ステップで行うことができる。
【0396】
【0397】
これによって復元された直交座標系(Cartesian coordinate system)上のポイント位置は、以下の数式14のように求められる。
【0398】
【0399】
図23は実施例によるジオメトリエンコーダ51003の詳細なブロック図の一例を示す図である。
図23に示すジオメトリエンコーダのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせなどで具現できる。
【0400】
実施例によれば、ジオメトリエンコーダ51003は、クラスタリング及び整列部51031、第1の予測ツリー生成部51032、イントラフレーム予測部51033、モード選択部51034、エントロピー符号化部51035、第2の予測ツリー生成部51036、及びインターフレーム予測部51037を含む。
【0401】
クラスタリング及び整列部51031は、クラスタリング部と整列部とに区分される。クラスタリング部は、デバイダーと呼ぶ。各ブロックの実行手順は、変更することができ、一部のブロックは省略してもよく、一部のブロックは新しく追加してもよい。
【0402】
一実施例として、クラスタリング及び整列部51031は、同じフレームに属するポイントを整列する。このとき、圧縮効率が高くなるようにポイントの位置情報を整列する。
【0403】
他の実施例として、クラスタリング及び整列部51031は、入力されるポイントクラウドデータのポイントの位置情報に基づいてクラスタリングを行い、入力されるポイントクラウドデータのポイントを複数のクラスタ(例えば、スライス)に分ける。そして、クラスタ別に、クラスタ内で各ポイントのジオメトリ情報を考慮し、ポイントクラウドデータのポイントを整列(sorting)する。
【0404】
このとき、圧縮効率が高くなるように、各クラスタ内のポイントを整列する。例えば、LiDARのように回転軸から放射状にデータを取得する場合、レーザーの方位(azimuthal)(又は水平方向)位置、回転角度、中心軸からの距離に座標系を変換して整列(sorting)することができるが、この場合、整列の方向性をジグザグ状にすることで、ポイント間の連関性を高めることができる。
【0405】
第1の予測ツリー生成部51032は、クラスタリング及び整列部51031においてフレーム又は各クラスタ内のポイントクラウドデータのポイントの整列が行われた後、フレーム又は各クラスタ内で予測ツリーを構成することができる。説明の便宜のために、第1の予測ツリー生成部51032は、クラスタリング及び整列部51031で整列された現在フレーム内で予測ツリーを構成することを一実施例とする。
【0406】
イントラフレーム予測部51033は、予測ツリー生成部51032において予測ツリーが生成されると、予測ツリー内のポイントに対して親-子の関係を設定して、各ポイントのイントラ予測モードを決定し、決定したイントラ予測モードに基づいて各ポイントの残余情報を求めた後、イントラ予測モード情報と残余情報をモード選択部51034に出力する。一実施例として、イントラフレーム予測部51033は、各ポイントに数式5及び数式6を適用し、最適な圧縮率を提供するイントラ予測モードを決定する。一実施例として、各ポイントのイントラ予測モードは、モード1ないしモード7のいずれか1つとなる。
【0407】
第2の予測ツリー生成部51036は、入力される参照フレーム内で予測ツリーを構成することを一実施例とする。このとき、現在フレームのエレベーション角度と参照フレームのエレベーション角度とは同一であってもよく異なってもよい。
図17及び
図18は、現在フレームのエレベーション角度と参照フレームのエレベーション角度が同一である場合の例示であり、
図19ないし
図22は、現在フレームのエレベーション角度と参照フレームのエレベーション角度とが異なる場合の例示である。
【0408】
インターフレーム予測部51037は、参照フレームから参照ノードを探し、現在フレームの現在ポイントの予測のために使用される予測値を決定する。このとき、予測値は、参照フレームの選択された参照ノードのみを適用して決定されてもよく、選択された参照モードと参照ノード間の変換量を共に適用して決定されてもよい。又は、現在フレームの現在ノードの親ノードと参照フレームの参照ノード間の変化量を共に適用して決定されてもよい。そして、予測値が決定されると、現在フレームの現在ノード(すなわち、圧縮対象ポイント)の位置と決定された予測値の位置との差異(すなわち、残差又は残余情報)を求める。
【0409】
インターフレーム予測部51037は、前述した4つの予測方法(PredMothod 0-3)を適用して求めた各予測値と現在フレームの現在ノードとの差値(すなわち、残差又は残余情報)のうち、最小値を有する予測方法を予測モードとして選択し、選択した予測モードと、このときの差値(すなわち、残差又は残余情報)をモード選択部51034に出力する。又は、4つの予測方法(PredMothod 0-3)のうちの1つを固定した後、固定した予測方法を適用して求めた予測値と現在フレームの現在ノードとの差値(すなわち、残差又は残余情報)をモード選択部51035に出力してもよい。
【0410】
実施例によれば、予測方法0(PredMothod==0)は、参照フレームの参照ノードを予測ノード(すなわち、予測値)として使用する場合である。予測方法1(PredMotho==1)は、参照フレームの参照子ノード(すなわち、参照ノードの子ノード)を予測ノードとして使用する場合である。予測方法2(PredMothod==2)は、参照フレームの参照ノードと参照ノードの子ノード間の変化量を使用して予測ノードを定める場合である。例えば、PredMothodの値が2である場合(PredMothod==2)、参照フレームの参照ノードに変化量(すなわち、参照ノードと参照ノードの子ノード間の変化量)を足して予測値として使用する。予測ノード3(PredMothod==3)は、参照フレームの参照子ノードとその子ノード間の変化量を使用して予測ノードを定める場合を示す。例えば、PredMothodの値が3である場合(PredMothod==3)、参照フレームの参照ノードに変化量(すなわち、参照ノードの子ノードとその子ノードとの変化量)を足して予測値として使用する。
【0411】
ここで、参照ノードは、現在フレームにおいて現在ポイント(current point)の以前に復号されたポイントと方位(又は方位角という)が最も類似し、レーザーID(laserID)が同じ参照フレーム内のポイント(又はノード)(Pr(n-1))であることを一実施例とする。この場合、Pr(n)は、参照ノードPr(n-1の子ノードとなり、Pr(n+1)は参照ノードPr(n-1)の参照子ノードの子ノードとなる。その他の例として、参照ノードは、現在フレームにおいて現在ポイントの以前に復号されたポイントと方位(又は方位角という)が最も類似し、レーザーID(laserID)が同じ参照フレーム内のポイント(又はノード)(Pr(n-1))の子ノード(Pr(n))ともなる。
【0412】
前述のように、予測方法(すなわち、予測モード)が決定される場合、決定された予測モードに基づいて残余情報が求められるが、球面ドメイン(spherical domain)での半径(radius)、方位角度(azimuthal angle)、エレベーション角度に対する残余情報(rres、Φres、Θres)は、数式7のように求められる。
【0413】
一方、参照フレーム内で隣接エレベーション角度プレーンの参照ノードを使用する場合、すなわち、現在フレームのエレベーション角度と参照フレームのエレベーション角度とが異なる場合、レーザーID(laser ID)の残余情報がさらに送信される。レーザーIDの残余情報は、数式7のように、現在フレームのレーザーID(laser ID)と参照フレームのレーザーID(laser ID)との差異で求められる。このとき、レーザーIDの残余情報Lresは、エレベーション角度の残余情報Φresとは別として送信する。仮に、エレベーション角度の残余情報Φresが小さい場合又は親ノードP(n-1)のレーザーIDを使用することで、別のシグナルを送信しなくてもよい場合には、レーザーIDの残余情報Lresのみを送信することで、圧縮効率をさらに高めることができる。
【0414】
モード選択部51034は、イントラフレーム予測部51033から出力されるイントラ予測モード情報と残余情報、及びインターフレーム予測部51037から出力されるインター予測モード情報と残余情報のうちの1つを選択し、エントロピーコーディング部51035に出力する。
【0415】
モード選択部51034は、ポイント/PU/スライス/予測ツリー/データユニット/フレーム単位にインター予測モード情報と残余情報又はイントラ予測モード情報と残余情報を先行的に選択することができる。
【0416】
モード選択部51034において各ノード(又はポイント)に対して最適な圧縮率を提供する予測モードが決定されると、決定された予測モード、決定された予測モードに基づいて求めた残余情報(すなわち、予測エラーによる残差(residual))がエントロピー符号化部51035でエントロピー符号化され、ビットストリーム(又はジオメトリビットストリームという)の形態で出力される。
【0417】
図24は実施例による予測基盤の圧縮を行うためのジオメトリ符号化の過程の一例を示す図である。
図24は、本明細書においてフレーム間の相関度に基づく圧縮方法を具現したジオメトリエンコーダの一実施例である。
【0418】
図24を参照すれば、参照フレームに適用する参照レーザープレーンを選択する(51051)。すなわち、現在フレームに対して圧縮対象ノードがあるとき、そのノードの直前に圧縮されたノードのエレベーション角度に基づいて参照フレームのレーザープレーン(laser plane)を決定する。また、参照方位角度を選択する(51052)。すなわち、ステップ51051において選択されたレーザープレーンに存在するノードに対して、直前に圧縮されたノードの方位角度に基づいて参照ノードを選択する。
【0419】
ステップ51052において参照ノードが選択されると、ノード間の変化量に基づいて予測を行うか否かを確認する(51053)。
【0420】
ステップ51053においてノード間の変化量に基づいて予測を行うことを確認した場合、参照ノードの周りのノードを用いて方位角度の変化量を推定し(51054)、これに基づいて球面座標系においてradius(r)、phi(Φ)、theta(θ)に対する予測を行う(51055)。仮に、ステップ51053においてノード間の変化量に基づいて予測を行っていないことを確認した場合、ステップ51052で選択された参照ノードに基づいて球面座標系においてradius、phi、thetaに対する予測を行う(51055)。
【0421】
ステップ51055において予測を行って求めた参照フレームの予測値(radius、phi、theta)と現在フレームのそのノードの位置値(radius、phi、theta)に基づいて、残余情報(res_r、res_phi、res_theta又はrres、Φres、θresという)を推定する(51056)。残余情報を推定する方法は、前述した数式7ないし数式11の説明を参照すればよい。
【0422】
次いで、球面座標系の残余情報(res_r、res_phi、res_theta又はrres、Φres、θresという)と、このときの予測値(又は予測モード)に基づいて球面ドメイン上のradius、phi、thetaを復元した後(51058)、座標系変換によって球面座標系を直交座標系に変換する(51058)。また、直交座標ドメインでの残余情報(res_x、res_y、res_z又はxres、yres、zres)という)を数式12のように推定する(51059)。
【0423】
前述したステップが各inter_pred_methodに従って行われた後、ステップ51060では各方法に対するコスト(例えば、その方法を使用するときに必要とするビット数)を算出し、このうち、最小コストを有するモードがあれば(51061)これを選択し、選択した残余情報と予測モードをエントロピー符号化する(51062)。この過程は、各inter_pred_methodに従って行った後、各方法に対するコスト(例えば、その方法を使用するときに必要とするビット数)を比較して、最適な方法を選択する。
【0424】
以上のように、ジオメトリエンコーダ51031では、現在フレームに対して圧縮対象ノードがある場合、そのノードの直前に圧縮されたノードのエレベーション角度に基づいて参照フレームのレーザープレーンを選択し、選択したレーザープレーンに存在するノードに対して、直前に圧縮されたノードの方位角度に基づいて参照ノードを選択する。また、ノード間の変化量に基づいて予測を行う場合、参照ノードの周りのノードを用いて方位角度の変化量を推定し、これに基づいてradius、phi、thetaに対する予測を行う。
【0425】
このとき、球面ドメイン上での予測値に基づいて残差成分(すなわち、残余情報)を推定することができ、残差及び予測値(又は予測モード)に基づいて球面ドメイン上のradius、phi、thetaを復元した後、座標系変換によって直交座標ドメイン(Cartesian coordinate domain)での残差成分(すなわち、残余情報)を推定することができる。この過程は、各inter_pred_methodに従って行った後、各方法に対するコスト(例えば、その方法を使用するときに必要とするビット数)を比較して最適な方法を選択する。
【0426】
図25は実施例による送/受信のためのポイントクラウドデータのビットストリーム構造の一例を示す図である。実施例によれば、
図1、
図2、
図4、
図12、
図16のいずれか1つのポイントクラウドビデオエンコーダから出力されるビットストリームは、
図25の形態である。
【0427】
実施例によれば、ポイントクラウドデータのビットストリームは、ポイントクラウドデータを領域別に分けて処理するようにタイル又はスライスを提供する。実施例によるビットストリームの各々の領域は互いに異なる重要度を有してもよい。よって、ポイントクラウドデータがタイルに分けられる場合、各タイルごとに異なるフィルタ(符号化方法)、異なるフィルタユニットを適用することができる。また、ポイントクラウドデータがスライスに分けられる場合、各スライスごとに異なるフィルタ、異なるフィルタユニットを適用することができる。
【0428】
実施例による送信装置は、
図25のようなビットストリームの構造に従ってポイントクラウドデータを送信することで、重要度に応じて異なる符号化動作を適用することができ、品質(quality)のよい符号化方法を重要な領域に使用する方案を提供することができる。また、ポイントクラウドデータの特性による効率的な符号化及び送信を支援し、ユーザの要求事項に応じる特質値を提供することができる。
【0429】
実施例による受信装置は、
図25のようなビットストリームの構造に従ってポイントクラウドデータを受信することで、受信装置の処理能力(capacity)に応じて、ポイントクラウドデータの全体に複雑な復号(フィルタリング)方法を使用する代わりに、領域ごとに(タイル又はスライスに分けられた領域)互いに異なるフィルタリング(復号方法)を適用することができる。よって、ユーザにとって重要な領域にさらに良好な画質及びシステム上で適宜な待ち時間(latency)を保障することができる。
【0430】
実施例によるジオメトリビットストリーム、特質ビットストリーム、及び/又はシグナリングビットストリーム(又はシグナリング情報)が、
図25のように、1つのビットストリーム(又はG-PCCビットストリーム)からなる場合、ビットストリームは1つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームは、シーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのための1つ以上のAPS(Attribute Parameter Set、APS
0、APS
1)、タイルレベルのシグナリングのためのタイルインベントリ(又はTPSという)、1つ以上のスライス(slice 0~slice n)を含む。すなわち、実施例によるポイントクラウドデータのビットストリームは、1つ以上のタイルを含み、各タイルは、1つ以上のスライス(slice 0~slice n)を含むスライスのグループである。実施例によるタイルインベントリ(すなわち、TPS)は、1つ以上のタイルに対して、各タイルに関する情報(例えば、tile bounding boxの座標値情報及び高さ/大きさ情報など)を含む。各スライスは、1つのジオメトリビットストリーム(Geom0)及び/又は1つ以上の特質ビットストリーム(Attr0、Attr1)を含む。例えば、スライス0(slice 0)は、1つのジオメトリビットストリーム(Geom0
0)及び1つ以上の特質ビットストリーム(Attr0
0、Attr1
0)を含む。
【0431】
各スライス内のジオメトリビットストリームは、ジオメトリスライスヘッダ(geom_slice_header)とジオメトリスライスデータ(geom_slice_data)からなる。実施例によれば、各スライス内のジオメトリビットストリームはジオメトリデータユニット、ジオメトリスライスヘッダはジオメトリデータユニットヘッダ、ジオメトリスライスデータはジオメトリデータユニットデータとも呼ぶ。実施例によるジオメトリスライスヘッダ(又はジオメトリデータユニットヘッダ)は、ジオメトリパラメータセット(GPS)に含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びジオメトリスライスデータ(geom_slice_data)に含まれたデータに関する情報(geomBoxOrigin、geom_box_log2_scale、geom_max_node_size_log2、geom_num_points)などを含む。geomBoxOriginは、そのジオメトリスライスデータのボックス原点を示すジオメトリボックスオリジン情報であり、geom_box_log2_scaleは、そのジオメトリスライスデータのログスケールを示す情報であり、geom_max_node_size_log2は、ルートジオメトリ八分木ノードのサイズを示す情報であり、geom_num_pointsは、そのジオメトリスライスデータのポイントの数に関する情報である。実施例によるジオメトリスライスデータ(又はジオメトリデータユニットデータ)は、そのスライス内のポイントクラウドデータのジオメトリ情報(又はジオメトリデータ)を含む。
【0432】
各スライス内の各特質ビットストリームは、特質スライスヘッダ(attr_slice_header)と特質スライスデータ(attr_slice_data)からなる。実施例によれば、各スライス内の特質ビットストリームは特質データユニット、特質スライスヘッダは特質データユニットヘッダ、特質スライスデータは特質データユニットデータとも呼ぶ。実施例による特質スライスヘッダ(又は特質データユニットヘッダ)は、その特質スライスデータ(又はその特質データユニット)に関する情報を含み、特質スライスデータは、そのスライス内のポイントクラウドデータの特質情報(又は特質データ又は特質値という)を含む。1つのスライス内の特質ビットストリームが複数である場合、各々は互いに異なる特質情報を含む。例えば、1つの特質ビットストリームは色相に相当する特質情報を含み、その他の1つの特質ストリームは反射率に相当する特質情報を含む。
【0433】
実施例によれば、ポイントクラウドデータの符号化及び/又は復号に必要なパラメータは、ポイントクラウドデータのパラメータセット(例えば、SPS、GPS、APS及びTPS(又はタイルインベントリという)など)及び/又はそのスライスのヘッダなどに新しく定義される。例えば、ジオメトリ情報の符号化及び/又は復号を行うときには、ジオメトリパラメータセット(GPS)に、タイル基盤の符号化及び/又は復号を行うときには、タイル及び/又はスライスヘッダに追加する。
【0434】
実施例によれば、予測基盤のジオメトリ圧縮情報は、ジオメトリパラメータセット、ジオメトリスライスヘッダ(又はジオメトリデータユニットヘッダという)、又はジオメトリスライスデータ(又はジオメトリデータユニットデータという)のうちの少なくとも1つにシグナリングされる。
【0435】
実施例によれば、予測基盤のジオメトリ圧縮情報は、特質コーディング方法と連携するか、特質コーディングに適用するために、特質パラメータセット及び/又は特質スライスヘッダ(又は特質データユニットヘッダという)にシグナリングされる。
【0436】
実施例によれば、予測基盤のジオメトリ圧縮情報は、シーケンスパラメータセット及び/又はタイルパラメータセットにシグナリングされる。
【0437】
実施例によれば、予測基盤のジオメトリ圧縮情報は、ジオメトリ予測ツリーデータ(geometry_predtree_data())にシグナリングされる。ジオメトリ予測ツリーデータ(geometry_predtree_data())は、ジオメトリスライス(又はジオメトリデータユニットという)に含まれる。
【0438】
実施例によれば、以下に定義されているシンタックスエレメント(syntax element)が現在ポイントクラウドデータストリームだけではなく、複数のポイントクラウドデータストリームに適用される場合には、上位概念のパラメータセットなどによって予測基盤のジオメトリ圧縮情報を伝達する。
【0439】
実施例によれば、予測基盤のジオメトリ圧縮情報は、アプリケーション、システムに相応する位置又は別の位置に定義して、適用範囲、適用方法などを変えて使用することができる。後述する本明細書のシンタックスにおいて使用される用語であるフィールドは、パラメータ又はシンタックスエレメントと同じ意味を有する。
【0440】
実施例によれば、予測基盤のジオメトリ圧縮情報を含むパラメータ(メタデータ、シグナリング情報などと様々に呼ばれる)は、送信装置のメタデータ処理部(又はメタデータ生成部)やシグナリング処理部で生成され、受信装置に伝達されて、復号/再構成の過程に用いられる。例えば、送信装置で生成されて送信されるパラメータは、受信装置のメタデータパーザで取得される。
【0441】
実施例によれば、スライス間の参照関係による圧縮は、スライスの開始ノード(すなわち、ルートノード)だけではなく、任意のノードに対しても他のスライス内のノードを参照(reference)するように適用する。また、予測ツリー間の参照関係に拡張して適用する。
【0442】
前述のように、ジオメトリスライスビットストリームは、ジオメトリスライスヘッダとジオメトリスライスデータを含む。本明細書は、説明の便宜のために、ジオメトリスライスビットストリームはジオメトリデータユニットといい、ジオメトリスライスヘッダはジオメトリデータユニットヘッダといい、ジオメトリスライスデータはジオメトリデータユニットデータという。
【0443】
実施例によるジオメトリパラメータセットは、geom_tree_typeフィールドを含む。geom_tree_typeフィールドは、位置情報(すなわち、ジオメトリ情報)が八分木を用いて符号化されたか、又は予測ツリーを用いて符号化されたかを指示する。例えば、geom_tree_typeフィールドの値が0である場合、位置情報(すなわち、ジオメトリ情報)が八分木を用いて符号化されたことを指示し、1である場合、位置情報(すなわち、ジオメトリ情報)が予測ツリーを用いて符号化されたことを指示する。
【0444】
図26は実施例によるジオメトリデータユニット(geometry_data_unit())のシンタックス構造の一例を示す図である。
【0445】
実施例によるジオメトリデータユニット(geometry_data_unit())は、ジオメトリデータユニットヘッダ(geometry_data_unit_header())、byte_alignment()、及びgeometry_data_unit_footer()を含む。
【0446】
実施例によるジオメトリデータユニット(geometry_data_unit())は、ジオメトリパラメータセットに含まれたgeom_tree_typeフィールドの値が0である場合、ジオメトリ八分木データ(geometry_octree())をさらに含み、1である場合、ジオメトリ予測ツリーデータ(geometry_predtree_data())をさらに含む。
【0447】
図27は実施例によるジオメトリデータユニットヘッダ(geometry_data_unit_header())のシンタックス構造の一例を示す図である。
【0448】
図27において、gsh_geometry_parameter_set_idフィールドは、アクティブGPSのgps_geom_parameter_set_idフィールドの値を示す(gsh_geometry_parameter_set_id specifies the value of the gps_geom_parameter_set_id of the active GPS)。
【0449】
gsh_tile_idフィールドは、そのジオメトリデータユニットヘッダによって参照されるそのタイル(tile)の識別子を示す。
【0450】
gsh_slice_idフィールドは、他のシンタックスエレメントによる参照のために、当該スライスの識別子を示す(identifies the slice header for reference by other syntax elements)。
【0451】
slice_tagフィールドは、slice_tagの所定値を有する1つ以上のスライスを識別するために使用される。
【0452】
frame_ctr_lsbフィールドは、notional frame number counterのLSB(least significant bits)を示す。
【0453】
実施例によるジオメトリデータユニットヘッダは、entropy_continuation_enabled_flagフィールドの値が偽である場合、gsh_entropy_continuation_flagフィールドをさらに含み、gsh_entropy_continuation_flagフィールドの値が真である場合、gsh_prev_slice_idフィールドをさらに含む。
【0454】
entropy_continuation_enabled_flagフィールドはSPSに含まれる。entropy_continuation_enabled_flagフィールドの値が1(すなわち、真)である場合、スライスの初期エントロピーコンテクスト状態が以前スライス(preceeding slice)の最後のエントロピーコンテクスト状態に従属的であることを指示する(equal to 1 indicates that a slice’s initial entropy context state may depend upon the final entropy context state of the preceeding slice)。entropy_continuation_enabled_flagフィールドの値が0(すなわち、偽)である場合、各スライスの初期エントロピーコンテクスト状態が独立的であることを指示する。
【0455】
gsh_prev_slice_idフィールドは、ビットストリーム手順において以前ジオメトリデータユニットのスライス識別子(すなわち、gsh_slice_idフィールド)の値を示す。
【0456】
実施例によるジオメトリデータユニットヘッダは、gps_gsh_box_log2_scale_present_flagフィールドの値が真である場合、gsh_box_log2_scaleフィールドを含む。
【0457】
gps_gsh_box_log2_scale_present_flagフィールドはGPSに含まれる。gps_gsh_box_log2_scale_present_flagフィールドの値が1である場合、gsh_box_log2_scaleフィールドが現在GPSを参照する各ジオメトリデータユニットにシグナリングされることを指示する。gps_gsh_box_log2_scale_present_flagフィールドの値が0である場合、gsh_box_log2_scaleフィールドが各ジオメトリデータユニットにシグナリングされないことを指示し、また全てのスライスのためのコモンスケールが現在GPSのgps_gsh_box_log2_scaleフィールドにシグナリングされることを指示する。
【0458】
gsh_box_log2_scaleフィールドは、当該スライスオリジンのスケジューリングファクタを示す。
【0459】
実施例によるジオメトリデータユニットヘッダは、gsh_box_origin_bits_minus1フィールドを含む。
【0460】
gsh_box_origin_bits_minus1フィールドの値に1を足して、次に位置したgsh_box_origin_xyz[k]フィールドの長さをビット単位で示す。
【0461】
gsh_box_origin_xyz[k]フィールドは、当該スライスオリジンの量子化された(x、y、z)座標のk番目のコンポーネントを示す。
【0462】
実施例によるジオメトリデータユニットヘッダは、geom_slice_angular_origin_present_flagフィールドの値が真である場合、gsh_angular_origin_bits_minus1フィールドとgsh_angular_origin_xyz[k]フィールドを含む。
【0463】
geom_slice_angular_origin_present_flagフィールドはGPSに含まれる。geom_slice_angular_origin_present_flagフィールドの値が1である場合、スライス関連アンギュラオリジン(slice relative angular origin)が当該ジオメトリデータユニットヘッダに存在することを指示する。geom_slice_angular_origin_present_flagフィールドの値が0である場合、アンギュラオリジンが当該ジオメトリデータユニットヘッダに存在しないことを指示する。
【0464】
gsh_angular_origin_bits_minus1フィールドに1を足して、次に位置したgsh_angular_origin_xyz[k]フィールドの長さをビット単位で示す。
【0465】
gsh_angular_origin_xyz[k]フィールドは、アンギュラコーディングモードのプロセシングにおいて使用されたオリジンの(x、y、z)座標のk番目のコンポーネントを示す。
【0466】
実施例によるジオメトリデータユニットヘッダは、geom_tree_typeフィールドの値が0(すなわち、八分木基盤コーディング)である場合、geom_tree_depth_minus1フィールドとgsh_entropy_stream_cnt_minus1フィールドを含む。
【0467】
geom_tree_depth_minus1フィールドに1を足して、そのデータユニットに存在するジオメトリツリーレベルの数を指示する。
【0468】
gsh_entropy_stream_cnt_minus1フィールドに1を足して、ジオメトリツリーデータを運ぶ(convey)ために使用されたエントロピーストリームの最大数を示す。
【0469】
実施例によるジオメトリデータユニットヘッダは、geom_tree_typeフィールドの値が0(すなわち、八分木基盤コーディング)であり、geom_tree_coded_axis_list_present_flagフィールドの値が真である場合、geom_tree_depth_minus1フィールドの値だけ繰り返される繰返し文を含む。この繰返し文は、geom_tree_coded_axis_flag[lvl][k]フィールドを含む。
【0470】
geom_tree_coded_axis_list_present_flagフィールドはGPSに含まれる。geom_tree_coded_axis_list_present_flagフィールドの値が1である場合、各ジオメトリデータユニットがジオメトリルートノードサイズを類推(derive)するために使用されたgeom_tree_coded_axis_flagフィールドを含むことを指示する。geom_tree_coded_axis_list_present_flagフィールドの値が0である場合、geom_tree_coded_axis_flagフィールドが当該ジオメトリデータユニットに存在せず、コードされたジオメトリツリーはキュービックボリューム(cubic volume)を示す。
【0471】
geom_tree_coded_axis_flag[lvl][k]フィールドは、k番目の軸(k-th axis)がジオメトリツリーのv番目のレベル(すなわち、与えられた深さ)でコードされたか否かを指示する。geom_tree_coded_axis_flag[lvl][k]フィールドは、ルートノードのサイズを決定するために使用される。
【0472】
実施例によるジオメトリデータユニットヘッダは、geom_scaling_enabled_flagフィールドの値が真である場合、geom_slice_qp_offsetフィールドを含み、geom_tree_typeフィールドの値が1(すなわち、予測ツリー基盤コーディング)である場合、geom_qp_offset_intvl_log2_deltaフィールドをさらに含む。
【0473】
geom_scaling_enabled_flagフィールドはGPSに含まれる。geom_scaling_enabled_flagフィールドの値が1である場合、ジオメトリポジションのためのスケーリング過程がジオメトリ復号過程の間に適用(invoked)されることを指示する。geom_scaling_enabled_flagフィールドの値が0である場合、ジオメトリポジションはスケーリングを要求しないことを指示する。
【0474】
実施例によるジオメトリデータユニットヘッダは、geom_tree_typeフィールドの値が1(すなわち、予測ツリー基盤コーディング)である場合、ptn_residual_abs_log2_bits[k]フィールドを含み、geometry_angular_enabled_flagフィールドの値が真である場合、ptn_radius_min_valueフィールドをさらに含む。
【0475】
ptn_residual_abs_log2_bits[k]フィールドは、ptn_residual_abs_log2フィールドのk番目のコンポーネントをコーディングするために使用されたビン(bins)の数を指示する。ptn_residual_abs_log2フィールドについては後述する。
【0476】
geometry_angular_enabled_flagフィールドはGPSに含まれる。geometry_angular_enabled_flagフィールドの値が1である場合、アンギュラコーディングモードがアクティブであることを指示する。geometry_angular_enabled_flagフィールドの値が0である場合、アンギュラコーディングモード(angular coding mode)がアクティブではないことを指示する。
【0477】
ptn_radius_min_valueフィールドは、radiusの最小値を示す。
【0478】
図28は実施例によるジオメトリ予測ツリーデータ(geometry_predtree_data())のシンタックス構造の一例を示す図である。
【0479】
実施例によれば、
図28のジオメトリ予測ツリーデータ(geometry_predtree_data())は、
図26のジオメトリデータユニットに含まれる。ジオメトリ予測ツリーデータ(geometry_predtree_data())は、ジオメトリスライスデータ又はジオメトリデータユニットデータとも呼ぶ。
【0480】
ジオメトリ予測ツリーデータ(geometry_predtree_data())は、変数PtnNodeIdx=0で始まり、gpt_end_of_trees_flagフィールドの値が偽(false)である場合に終了される繰返し文を含む。この繰返し文は、geometry_predtree_node(PtnNodeIdx)及びgpt_end_of_trees_flagフィールドを含む。
【0481】
変数PtnNodeIdxは、深さ優先順序(depth-first order)からパーシングされた予測ツリーノード上で繰り返しのために使用されるカウンターである(The variable PtnNodeIdx is a counter used to iterate over parsed predictive tree nodes in a depth-first order)。変数PtnNodeIdxは、復号過程の開始において0に初期化され、そのツリーの繰り返される巡回(recusrive traversal)の間に増加する(It is initialized to 0 at the start of the decoding process and incremented during the recusrive traversal of the tree)。
【0482】
gpt_end_of_trees_flagフィールドの値が0である場合、また他の予測ツリーがこのデータユニットに従うことを指示する(equal to 0 specifies that another predictive tree is following in the data unit)。gpt_end_of_trees_flagフィールドの値が1である場合、このデータユニットに存在する予測ツリーはないことを指示する。
【0483】
図29は実施例によるgeometry_predtree_node(PtnNodeIdx)のシンタックス構造の一例を示す図である。
【0484】
すなわち、
図29のgeometry_predtree_node(PtnNodeIdx)は、予測基盤のジオメトリ圧縮情報をシグナリングすることを一実施例とする。
【0485】
このために、geometry_predtree_node(PtnNodeIdx)は、ptn_qp_offset_abs_gt0_flagフィールド、ptn_qp_offset_sign_flagフィールド、ptn_qp_offset_abs_minus1フィールド、ptn_point_cnt_gt1_flagフィールド、ptn_point_cnt_minus2フィールド、ptn_child_cnt[nodeIdx]フィールド、inter_prediction_enabled_flagフィールド、predtree_inter_prediction()、ptn_pred_mode[nodeIdx]、ptn_phi_mult_abs_gt0_flagフィールド、ptn_phi_mult_sign_flagフィールド、ptn_phi_mult_abs_gt1_flagフィールド、ptn_phi_mult_abs_minus2フィールド、ptn_phi_mult_abs_minus9フィールド、ptn_residual_abs_gt0_flag[k]フィールド、ptn_residual_sign_flag[k]フィールド、ptn_residual_abs_log2[k]フィールド、ptn_residual_abs_remaining[k]フィールド、ptn_sec_residual_abs_gt0_flag[k]フィールド、ptn_sec_residual_sign_flag[k]フィールド、ptn_sec_residual_abs_gt1_flag[k]フィールド、ptn_sec_residual_abs_minus2[k]フィールド、又はgeometry_predtree_node(++PtnNodeIdx)フィールドのうちの少なくとも1つを含む。
【0486】
実施例によれば、geom_scaling_enabled_flagフィールドの値が1であり、nodeIdx%PtnQpIntervalの値が0である場合、geometry_predtree_node(PtnNodeIdx)は、ptn_qp_offset_abs_gt0_flagフィールドを含み、ptn_qp_offset_abs_gt0_flagフィールドの値が1である場合、geometry_predtree_node(PtnNodeIdx)は、ptn_qp_offset_sign_flagフィールド及びptn_qp_offset_abs_minus1フィールドを含む。
【0487】
geom_scaling_enabled_flagフィールドはGPSに含まれる。geom_scaling_enabled_flagフィールドの値が1である場合、ジオメトリポジションのためのスケーリング過程がジオメトリ復号過程の間に適用(invoked)されることを指示する。geom_scaling_enabled_flagフィールドの値が0である場合、ジオメトリポジションはスケーリングを要求しないことを指示する。
【0488】
ptn_qp_offset_abs_gt0_flagフィールド、ptn_qp_offset_sign_flagフィールド、及びptn_qp_offset_abs_minus1フィールドは共にスライスジオメトリ量子化パラメータに対するオフセットを示す(together specify an offset to the slice geometry quantisation parameter)。
【0489】
実施例によれば、duplicate_points_enabled_flagフィールドの値が1である場合、geometry_predtree_node(PtnNodeIdx)は、ptn_point_cnt_gt1_flagフィールドを含み、ptn_point_cnt_gt1_flagフィールドの値が1である場合、geometry_predtree_node(PtnNodeIdx)は、ptn_point_cnt_minus2フィールドを含む。
【0490】
duplicate_points_enabled_flagフィールドはGPSに含まれる。duplicate_points_enabled_flagフィールドの値が0である場合、現在GPSを参照する全てのスライスにおいて、全ての出力ポイントは1つのスライス内でユニークなポジションを有することを指示する(duplicate_points_enabled_flag equal to 0 indicates that in all slices that refer to the current GPS、all output points have unique positions within a slice)。duplicate_points_enabled_flagフィールドの値が1である場合、現在GPSを参照する全てのスライスにおいて、出力ポイントのうちの2つ以上が1つのスライス内で同じポジションを有することを指示する(duplicate_points_enabled_flag equal to 1 indicates that in all slices that refer to the current GPS, two or more of the output points may have same positions within a slice)。
【0491】
ptn_point_cnt_gt1_flagフィールドとptn_point_cnt_minus2フィールドは共に現在予測ツリーノードによって表示される(represent)ポイントの数を指示する。
【0492】
実施例によれば、現在予測ツリーノードによって表示されるポイントの数(PtnPointCount[nodeIdx])は、以下のように求められる。
【0493】
PtnPointCount[nodeIdx]=1+ptn_point_cnt_gt1_flagフィールド+ptn_point_cnt_minus2フィールド
【0494】
ptn_child_cnt[nodeIdx]フィールドは、そのジオメトリ予測ツリーに存在する現在予測ツリーノードのダイレクト子ノードの数を示す。
【0495】
実施例によれば、inter_prediction_enabled_flagフィールドの値が1である場合、geometry_predtree_node(PtnNodeIdx)は、predtree_inter_prediction()を含み、0である場合は、ptn_pred_mode[nodeIdx]を含む。
【0496】
inter_prediction_enabled_flagフィールドは、geometry_predtree_node(PtnNodeIdx)がpredtree_inter_prediction()を含むか、又はptn_pred_mode[nodeIdx]を含むかを指示する。
【0497】
predtree_inter_prediction()は、予測基盤のジオメトリ圧縮情報に含まれるインターフレーム予測に関する情報をシグナリングすることを一実施例とする。
【0498】
predtree_inter_prediction()に含まれるフィールドの詳細については、
図29において説明する。
【0499】
ptn_pred_mode[nodeIdx]は、現在ノードと関連するポジションを予測するために用いられたモードを示す。
【0500】
geometry_angular_enabled_flagフィールドの値が1である場合、geometry_predtree_node(PtnNodeIdx)に含まれるptn_phi_mult_abs_gt0_flagフィールド、ptn_phi_mult_sign_flagフィールド、ptn_phi_mult_abs_gt1_flagフィールド、ptn_phi_mult_abs_minus2フィールド、及びptn_phi_mult_abs_minus9フィールドは共にデルタアンギュラ予測において使用された乗算因子(multiplicative factor)を示す。ptn_phi_mult_sign_flagフィールドの値が1である場合、因子の符号(factor’s sign)はポジティブであり、0である場合は、ネガティブであることを指示する。
【0501】
実施例によれば、現在ツリーノードのためのファイ因子(phi factor)(PtnPhiMult[nodeIdx])は、以下のように抽出される。
【0502】
PtnPhiMult[nodeIdx]=(2×ptn_phi_mult_sign_flag-1)
【0503】
×(ptn_phi_mult_abs_gt0_flag+ptn_phi_mult_abs_gt1_flag
【0504】
+ptn_phi_mult_abs_minus2+ptn_phi_mult_abs_minus9)
【0505】
実施例によれば、geometry_predtree_node(PtnNodeIdx)においてnumCompは、以下のように求められる。
【0506】
numComp=geometry_angular_enabled_flag&&!number_lasers_minus1 ? 2:3
【0507】
実施例によれば、geometry_predtree_node(PtnNodeIdx)は、numCompの値だけ繰り返される繰返し文を含む。この繰返し文に含まれるptn_residual_abs_gt0_flag[k]フィールド、ptn_residual_sign_flag[k]フィールド、ptn_residual_abs_log2[k]フィールド、及びptn_residual_abs_remaining[k]フィールドは、共にk番目のジオメトリポジションコンポーネントの1番目の予測残余情報を示す。例えば、ptn_residual_sign_flag[k]フィールドの値が1である場合、残余コンポーネントの符号はポジティブであり、0である場合は、ネガティブであることを示す。
【0508】
実施例によれば、現在ツリーノードに関連する1番目の予測残余情報(first prediction residual associated with the current tree node)(PtnResidual[nodeIdx][k])は、以下のように抽出される。ここで、kは、x、y、z座標のそれぞれを示す。
【0509】
for(k=0;k<3;k++)
【0510】
PtnResidual[nodeIdx][k]=(2×ptn_residual_sign_flag-1)×(ptn_residual_abs_gt0_flag[k]+((1<<ptn_residual_abs_log2[k])>>1)+ptn_residual_abs_remaining[k])
【0511】
geometry_angular_enabled_flagフィールドの値が1である場合、ptn_sec_residual_abs_gt0_flag[k]フィールド、ptn_sec_residual_sign_flag[k]フィールド、ptn_sec_residual_abs_gt1_flag[k]フィールド、及びptn_sec_residual_abs_minus2[k]フィールドは、共にk番目のジオメトリポジションコンポーネントの2番目の予測残余情報を示す。例えば、ptn_sec_residual_sign_flag[k]フィールドの値が1である場合、残余コンポーネントの符号はポジティブであり、0である場合は、ネガティブであることを示す。
【0512】
実施例によれば、現在ツリーノードに関連する2番目の予測残余情報(second prediction residual associated with the current tree node)(PtnResidual[nodeIdx][k])は、以下のように抽出される。ここで、kは、x、y、z座標のそれぞれを示す。
【0513】
for(k=0;k<3;k++)
【0514】
PtnSecResidual[nodeIdx][k]=(2×ptn_sec_residual_sign_flag-1)×(ptn_sec_residual_abs_gt0_flag[k]+ptn_sec_residual_abs_gt1_flag[k]+ptn_sec_residual_abs_minus2[k])
【0515】
実施例によれば、geometry_predtree_node(PtnNodeIdx)は、ptn_child_cnt[nodeIdx]フィールドの値だけ繰り返される繰返し文を含む。この繰返し文は、geometry_predtree_node(++PtnNodeIdx)を含む。すなわち、1増加したgeometry_predtree_node(PtnNodeIdx)が含まれる。
【0516】
図30は実施例によるpredtree_inter_prediction()のシンタックス構造の一例を示す図である。
【0517】
実施例によれば、predtree_inter_prediction()は、geometry_predtree_node(PtnNodeIdx)に含まれる。
【0518】
図30のpredtree_inter_prediction()は、予測基盤のジオメトリ圧縮情報に含まれるインターフレーム予測に関する情報をシグナリングすることを一実施例とする。
【0519】
実施例によれば、インターフレーム予測に関する情報、すなわち、predtree_inter_prediction()は、res_laser_idフィールド、inter_pred_mothodフィールド、res_radiusフィールド、res_phiフィールド、res_thetaフィールド、res_xフィールド、res_yフィールド、及びres_zフィールドを含む。
図30のインターフレーム予測に関する情報に含まれたフィールドのうち、inter_pred_mothodフィールドはシグナリング情報であり、その他のフィールド(res_laser_idフィールド、res_radiusフィールド、res_phiフィールド、res_thetaフィールド、res_xフィールド、res_yフィールド、及びres_zフィールド)は圧縮されたジオメトリ情報(又は、ジオメトリデータ)に相当する。本明細書は、説明の便宜のため、
図30のフィールドをインターフレーム予測関連情報と呼ぶ。
【0520】
res_laser_idフィールドは、現在フレームの現在ノード(又は、現在ノードの親ノード)と参照フレームの参照ノードのエレベーション角度プレーン(elevation angle plane)の差異又はレーザーIDの差異を示す。すなわち、res_laser_idフィールドは、レーザーIDの残余情報を示す。この場合は、現在フレームのエレベーション角度と参照フレームのエレベーション角度が異なるか、又はレーザーIDが異なるときに利用することができる。言い換えれば、res_laser_idフィールドは、参照フレーム内で隣接エレベーション角度プレーンの参照ノードを使用する場合に適用できる。
【0521】
inter_pred_mothodフィールドは、予測を行うとき、参照フレームの参照ノードを使用する方法を示す。言い換えれば、インターフレーム予測基盤のジオメトリ圧縮が使用される場合、インター予測モードを示す。インター予測を行うときに適用された予測モードを示す。inter_pred_mothodフィールドはPredMothodと呼ぶ。
【0522】
実施例によれば、inter_pred_mothodフィールドの値が0である場合、現在フレームの圧縮対象ノードと対応する参照フレーム内の参照ノードを直接に予測値として使用する場合を示す。inter_pred_mothodフィールドの値が1である場合、現在フレームの圧縮対象ノードと対応する参照フレーム内の参照ノードの子ノードを直接に予測値として使用する場合を示す。inter_pred_mothodフィールドの値が2である場合、現在フレームの圧縮対象ノードと対応する参照フレーム内の参照ノード間の変化量に基づいて予測値を定めて予測を行う場合を示す。inter_pred_mothodフィールドの値が3である場合、現在フレームの圧縮対象ノードと対応する参照フレーム内の参照ノードの子ノード間の変化量に基づいて予測値を定めて予測を行う場合を示す。
【0523】
言い換えれば、予測方法0(PredMothod==0)は、参照フレームの参照ノードを予測ノード(すなわち、予測値)として使用する場合である。予測方法1(PredMotho==1)は、参照フレームの参照子ノード(すなわち、参照ノードの子ノード)を予測ノードとして使用する場合である。予測方法2(PredMothod==2)は、参照フレームの参照ノードと参照ノードの子ノード間の変化量を用いて予測ノードを定める場合である。例えば、PredMothodの値が2である場合(PredMothod==2)、参照フレームの参照ノードに変化量(すなわち、参照ノードと参照ノードの子ノード間の変化量)を足して予測値として使用する。予測ノード3(PredMothod==3)は、参照フレームの参照子ノードとその子ノード間の変化量を用いて予測ノードを定める場合を示す。例えば、PredMothodの値が3である場合(PredMothod==3)、参照フレームの参照ノードに変化量(すなわち、参照ノードの子ノードとその子ノード間の変化量)を足して予測値として使用する。
【0524】
res_radiusフィールド、res_phiフィールド、及びres_thetaフィールドは、球面ドメインにおける半径(radius)残余情報、方位(azimuthal)角度残余情報、及びエレベーション角度残余情報を示す。すなわち、送信側は球面ドメインにおける残余情報(すなわち、残差)を半径(radius)、方位角度(azimuthal angle)、エレベーション角度(elevation angle)のそれぞれに対して伝達する。
【0525】
res_xフィールド、res_yフィールド、及びres_zフィールドは直交ドメインにおけるx軸残余情報、y軸残余情報、及びz軸残余情報を示す。すなわち、送信側は、直交ドメインにおける残余情報(すなわち、残差)をx、y、z軸のそれぞれに対して伝達する。
【0526】
図31は実施例によるポイントクラウド受信装置のまた他の一例を示す図である。
図31に示すポイントクラウド受信装置のエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせなどで具現できる。
【0527】
実施例によれば、ポイントクラウド受信装置は、受信処理部61001、シグナリング処理部61002、ジオメトリデコーダ61003、特質デコーダ61004、及び後処理部(Post-processor)61005を含む。
【0528】
実施例による受信処理部61001は、1つのビットストリームを受信してもよく、又はジオメトリビットストリーム、特質ビットストリーム、シグナリングビットストリームのそれぞれを受信してもよい。実施例による受信処理部61001は、ファイル及び/又はセグメントが受信される場合、受信されたファイル及び/又はセグメントをデカプセル化し、ビットストリームに出力する。
【0529】
実施例による受信処理部61001は、1つのビットストリームが受信(又はデカプセル化)される場合、1つのビットストリームからジオメトリビットストリーム、特質ビットストリーム、及び/又はシグナリングビットストリームをデマルチプレックスし、デマルチプレックスされたシグナリングビットストリームはシグナリング処理部61002に、ジオメトリビットストリームはジオメトリデコーダ61003に、特質ビットストリームは特質デコーダ61004に出力する。
【0530】
実施例による受信処理部61001は、ジオメトリビットストリーム、特質ビットストリーム、及び/又はシグナリングビットストリームのそれぞれが受信(又はデカプセル化)される場合、シグナリングビットストリームはシグナリング処理部61002に、ジオメトリビットストリームはジオメトリデコーダ61003に、特質ビットストリームは特質デコーダ61004に伝達される。
【0531】
シグナリング処理部61002は、入力されたシグナリングビットストリームからシグナリング情報、例えば、SPS、GPS、APS、TPS、メタデータなどに含まれた情報をパーシング及び処理し、ジオメトリデコーダ61003、特質デコーダ61004、後処理部61005に提供する。他の実施例として、ジオメトリデータユニットヘッダ及び/又は特質データユニットヘッダに含まれたシグナリング情報も当該スライスデータを復号する前にシグナリング処理部61002で予めパーシングされてもよい。
【0532】
実施例によれば、シグナリング処理部61002は、ジオメトリデータユニットにシグナリングされたシグナリング情報(例えば、予測基盤のジオメトリ圧縮情報)もパーシング及び処理し、ジオメトリデコーダ61003に提供する。
【0533】
実施例によれば、ジオメトリデコーダ61003は、圧縮されたジオメトリビットストリームに対して、シグナリング情報に基づいて、
図16又は
図23又は
図24のジオメトリエンコーダ51003の逆過程を行い、ジオメトリを復元する。ジオメトリデコーダ61003において復元された(又は再構成された(reconstructed))ジオメトリ情報は特質デコーダ61004に提供される。特質デコーダ61004は、圧縮された特質ビットストリームに対してシグナリング情報と再構成されたジオメトリ情報に基づいて、
図16の特質エンコーダ51004の逆過程を行い、特質を復元する。
【0534】
実施例によれば、後処理部61005は、ジオメトリデコーダ61003で復元されて出力されるジオメトリ情報(すなわち、ポジション)と特質デコーダ61004で復元されて出力される特質情報をマッチングしてポイントクラウドデータを再構成し、ディスプレイ/レンダリングする。
【0535】
図32は実施例によるジオメトリデコーダ61003の詳細なブロック図の一例を示す図である。
図32に示すジオメトリデコーダのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせなどで具現できる。
【0536】
実施例によれば、ジオメトリデコーダ61003は、エントロピー復号部61031、モード検出部61032、イントラフレーム予測部61033、インターフレーム予測部61034、及び再構成部61035を含む。各ブロックの実行手順は、変更することができ、一部のブロックは省略してもよい、一部のブロックを新しく追加してもよい。
【0537】
実施例によれば、ジオメトリデコーダ61003は、送信装置のジオメトリエンコーダの逆過程を行い、ジオメトリ情報を復元する。すなわち、エントロピー復号部61031は、受信処理部61001を介して入力されるビットストリームに含まれた各フレーム(又はスライス)のポイントに関する残余情報(すなわち、予測エラー)と予測モード情報をエントロピー復号する。
【0538】
モード検出部61032は、エントロピー復号部61031においてエントロピー復号された予測モード情報がインター予測モード情報であるか又はイントラ予測モード情報であるかを確認する。実施例によれば、ジオメトリデータユニットに含まれた予測基盤のジオメトリ圧縮情報(すなわち、geometry_predtree_node(PtnNodeIdx))に含まれたinter_prediction_enabled_flagフィールドを用いて、イントラ予測モードであるかインター予測モードであるかを検出する。このとき、inter_prediction_enabled_flagフィールドを伝達する単位に応じて、フレーム/データユニット/スライス/予測ツリー/予測単位/ポイントなどのインター予測又はイントラ予測を使用する。
【0539】
モード検出部61032においてイントラ予測モードであると検出された場合、イントラフレーム予測部61033は予測基盤のジオメトリ情報に含まれたイントラ予測モード情報を用いてフレーム内の予測(すなわち、イントラフレーム予測)を行い、予測値(又は予測された情報という)を生成する。再構成部61035は、イントラフレーム予測部61033で生成された復号するポイントの予測された情報とイントラ予測モード情報と共に受信されて復号によって復元された残余情報(residual)(又は予測残余情報という)を足して最終のポイントを復元する。すなわち、再構成部61037は、イントラフレーム予測によって予測された情報とこのときの残余情報を用いてジオメトリ情報(すなわち、最終のポイントの位置)を再構成(又は復元)する。
【0540】
モード検出部61032においてインター予測モードであると検出された場合、インターフレーム予測部61034は復元対象ノードの直前に圧縮された(又は復元された)ノードのエレベーション角度によって参照フレームのレーザープレーンを選択し、選択したレーザープレーンに存在する予測ツリーのノードに対して、直前に圧縮されたノードの方位角度に基づいて参照ノードを選択する。
【0541】
また、インターフレーム予測部61034は、選択された参照ノードと受信された予測モード情報と残余情報に基づいて復元する現在フレームのポイントの予測値(すなわち、予測機又は予測された情報という)を生成する。ここで、予測モード情報は、inter_pred_mothodフィールドから取得し、残余情報は、res_laser_idフィールド、res_radiusフィールド、res_phiフィールド、res_thetaフィールド、res_xフィールド、res_yフィールド、及びres_zフィールドのうちの少なくとも1つから取得することができる。res_laser_idフィールドはレーザーIDの残余情報を示し、res_radiusフィールド、res_phiフィールド、及びres_thetaフィールドは、球面ドメイン上における半径、方位角度残余情報、及びエレベーション角度残余情報を示す。また、res_xフィールド、res_yフィールド、及びres_zフィールドは、直交ドメインにおけるx軸、y軸、z軸の残余情報を示す。
【0542】
再構成部61035は、インターフレーム予測部61034で生成された復号されるポイントの予測された情報とインター予測モード情報(interModeフィールド)と共に受信された残余情報(residual)(又は予測残余情報という)を足して最終のポイントを復元する。すなわち、再構成部61035は、インターフレーム予測によって予測された情報とこのときの残余情報を用いて、ジオメトリ情報(すなわち、最終ポイントの位置)を再構成(又は復元)する。
図32で言及された予測基盤のジオメトリ圧縮情報及び予測基盤のジオメトリ圧縮情報に含まれたインターフレーム予測に関する情報の詳細な内容は、
図26ないし
図30の説明を参照すればよい。
【0543】
図33は実施例による予測基盤で圧縮されたジオメトリを復元するためのジオメトリ復号方法の一例を示す図である。
【0544】
すなわち、復元対象ノードの直前に圧縮されたノードのエレベーション角度によって参照フレームのレーザープレーンを選択する(61051)。また、ステップ61051で選択されたレーザープレーンに存在するノードに対して、直前に圧縮されたノードの方位角度に基づいて参照ノードを選択する(61052)。
【0545】
また、インターフレーム予測に関する情報に含まれたinter_pred_modeフィールドに基づいて、送信側で参照ノード間の変化量に基づいて予測を行ったか否かを確認する(61053)。
【0546】
ステップ61053において参照ノード間の変化量に基づいて予測を行ったことを確認した場合、参照ノードの周りのノードを用いて方位角度の変化量を推定し(61054)、これに基づいて球面座標系のradius、phi、thetaに対する予測を行う(61055)。
【0547】
ステップ61053において参照ノード間の変化量に基づいて予測を行っていないことを確認した場合、ステップ61052で選択された参照ノードに基づいて球面座標系のradius、phi、thetaに対する予測を行い、予測値(又は予測機又は予測された情報という)を生成する(61055)。
【0548】
また、生成された予測値とインターフレーム予測に関する情報に含まれた球面座標系の残余情報(すなわち、res_rフィールド、res_phiフィールド、res_thetaフィールド)に基づいて、球面ドメインにおけるradius、phi、thetaを復元する(61056)。インターフレーム予測に関する情報は、少なくともSPS、GPS、TPS又はジオメトリデータユニットに含まれる。
【0549】
この後、球面座標系から直交座標系への座標系変換によって(61057)、直交座標ドメインにおける予測値(又は予測機又は予測された情報という)を生成する。また、球面ドメインで生成された予測値とインターフレーム予測に関する情報に含まれた直交座標系の残余情報(すなわち、res_xフィールド、res_yフィールド、res_zフィールド)に基づいて直交ドメインにおけるx、y、z座標を復元する。インターフレーム予測に関する情報は、少なくともSPS、GPS、TPS又はジオメトリデータユニットに含まれる。すなわち、直交ドメインにおいて生成された予測値と受信された直交ドメインの残余情報(すなわち、残差成分)によって現在フレームの復号されるポイントの最終位置を復元する。
【0550】
以上のように、ジオメトリデコーダ61003では、inter_pred_methodフィールドによって定められた予測モードと球面ドメイン、直交ドメイン上での残差値(すなわち、残余情報)に基づいて、現在フレームの復元(又は復号という)を行う。このとき、予測過程は、ジオメトリエンコーダ51003と同様に、復元対象ノードの直前に圧縮されたノードのエレベーション角度によって参照フレームのレーザープレーンを決定する過程で開始される。また、決定された(又は選択された)参照フレームのレーザープレーンに存在するノードに対して、直前に圧縮されたノードの方位角度に基づいて参照ノードを選択する。また、参照ノード間の変化量に基づいて予測を行う場合、参照ノードの周りのノードを用いて方位角度の変化量を推定し、これに基づいてradius、phi、thetaに対する予測を行う。球面ドメイン上での予測値と受信された残余情報(すなわち、球面ドメインの残差成分)に基づいて、球面ドメイン上のradius、phi、thetaを復元する。この後、球面座標系から直交座標系への座標系変換によって、直交座標ドメインにおいて予測値を生成する。また、生成された予測値と受信された残余情報(すなわち、直交ドメインでの残差成分)によって最終位置を復元する。
【0551】
前述した圧縮方法は、ポイントクラウドデータ圧縮に使用される。特に、予測基盤ジオメトリ(又は位置という)圧縮に使用され、予測基盤特質圧縮方法にも使用される。
【0552】
実施例によれば、フレーム内のポイントの相関関係に比べてフレーム間のポイントの相関関係が高い場合、少ないビットストリームサイズに向上された復元性能を表すことができる。特に、予測ツリーのルートのように、フレーム内の予測が不可能であるか、フレーム内の予測の正確性が落ちる場合、参照フレーム(例えば、以前フレーム又は先行フレーム)において関連するポイントの情報を使用することで、ビットストリームサイズを減らすという効果を得ることができる。特に、参照フレームの関連したノード間の差異情報を用いるか、又は隣接したレーザーを用いることで、予測の正確性を高めることができる。すなわち、ポイントクラウドデータが連続したフレームからなる場合、フレーム間の相関関係に基づいて重複情報を除去することで、ジオメトリ情報の圧縮効率を高めることができる。
【0553】
実施例によるポイントクラウドデータ送信装置及びエンコーダは、フレーム内の予測だけではなく、フレーム間のデータ予測モードをさらに考慮することで、ポイントクラウドデータを効率的に圧縮するという効果がある。同様に、実施例によるポイントクラウドデータ受信装置及びデコーダは、ポイントクラウドデータを含むビットストリームを受信し、ビットストリーム内のシグナリング情報及び/又は実施例による復号動作に基づいて、ポイントクラウドデータを効率的に復元するという効果がある。
【0554】
前述した実施例の動作は、メモリ及び/又はプロセッサを含むポイントクラウド送受信装置/方法の構成要素によって行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納する。実施例によるポイントクラウド送受信装置/方法の各構成要素は、ハードウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせに対応する。プロセッサは本明細書で説明した様々な動作を制御する。プロセッサはコントローラなどとも呼ぶ。実施例による動作は、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせによって行われ、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせは、プロセッサ又はメモリに格納される。本実施例では、ポイントクラウドデータのジオメトリ情報を圧縮する方法について説明したが、特質情報圧縮及びその他の圧縮方法に本明細書で説明する方法を適用することができる。
【0555】
上述したそれぞれのパート、モジュール又はユニットはメモリ(又は貯蔵ユニット)に貯蔵された連続する実行過程を行うソフトウェア、プロセッサ、ハードウェアパートである。上記実施例に記載された各段階は、プロセッサ、ソフトウェア、ハードウェアパートにより行われる。上記実施例に記載のそれぞれのモジュール/ブロック/ユニットは、プロセッサ、ソフトウェア、ハードウェアとして動作する。また実施例が提示する方法はコードとして実行される。このコードはプロセッサが読み取り可能な格納媒体に書き込まれ、よって装置が提供するプロセッサにより読み取られる。
【0556】
また全明細書において、ある部分がある構成要素を“含む”とするとき、これは特に記載しない限り、他の構成要素を除くことではなく、他の構成要素をさらに含むことを意味する。また明細書に記載の“…部”などの用語は、少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアやソフトウェア又はハードウェアとソフトウェアの組み合わせにより具現される。
【0557】
説明の便宜のために、各図を区分して説明したが、各図に述べられている実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。
【0558】
実施例による装置及び方法は、上述したように、説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。
【0559】
実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
【0560】
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。この明細書において、“/”と“,”は“及び/又は”に解釈される。例えば、“A/B”は“A及び/又はB”に解釈され、“A、B”は“A及び/又はB”に解釈される。さらに、“A/B/C”は“A、B及び/又はCのうちのいずれか”を意味する。また、“A、B、C”も“A、B及び/又はCのうちのいずれか”を意味する。
【0561】
さらに、この文書において、“又は”は“及び/又は”に解釈される。例えば、“A又はB”は、1)“A”のみを意味するか、2)“B”のみを意味するか、又は3)“A及びB”を意味する。言い換えれば、この明細書において“又は”は“さらに(additionally)又は代わりに(alternatively)”を意味する。
【0562】
実施例の様々な要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより実行される。実施例の様々な要素は、ハードウェア回路のような1つのチップで実行される。実施例において、実施例は選択的に個々のチップで実行される。実施例において、実施例の要素のうちの少なくとも1つは実施例による動作を行うための指示を含む1つ又はそれ以上のプロセッサにより実行される。
【0563】
また、この明細書で説明する実施例による動作は、実施例によって1つ以上のメモリ及び/又は1つ以上のプロセッサを含む送受信装置によって行われる。1つ以上のメモリは実施例による動作を処理/制御するためのプログラムを格納し、1つ以上のプロセッサはこの明細書で説明した様々な動作を制御する。1つ以上のプロセッサはコントローラなどとも呼ばれる。実施例において、動作はファームウェア、ソフトウェア、及び/又はそれらの組み合わせによって行われ、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせはプロセッサに格納されるかメモリに格納される。
【0564】
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
【0565】
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。また、この明細書で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細書で説明した様々な動作を制御する。プロセッサはコントローラとも称される。実施例において、動作はファームウェア、ソフトウェア及び/又はそれらの組み合わせにより行われ、ファームウェア、ソフトウェア及び/又はそれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
【0566】
また、本明細書で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置によって行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサは本明細書で説明する様々な動作を制御する。プロセッサはコントローラとも呼ぶ。実施例による動作は、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせによって行われ、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせは、プロセッサ又はメモリに格納される。
【0567】
[発明の実施のための形態]
以上、実施例を実施するための最善の形態について説明した。
【産業上の利用可能性】
【0568】
上述したように、実施例はポイントクラウドデータの送受信装置及びシステムに全体的又は部分的に適用することができる。当業者は実施例の範囲内で実施例を様々に変更又は変形することができる。実施例は変更/変形を含み、変更/変形は請求の範囲及びそれらの範囲内のものである。
【国際調査報告】