IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特許7440546ポイントクラウドデータ処理装置及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】ポイントクラウドデータ処理装置及び方法
(51)【国際特許分類】
   G06T 9/40 20060101AFI20240220BHJP
   H04N 19/597 20140101ALI20240220BHJP
   H04N 19/96 20140101ALI20240220BHJP
【FI】
G06T9/40
H04N19/597
H04N19/96
【請求項の数】 14
(21)【出願番号】P 2021577128
(86)(22)【出願日】2020-07-01
(65)【公表番号】
(43)【公表日】2022-09-06
(86)【国際出願番号】 KR2020008571
(87)【国際公開番号】W WO2021002665
(87)【国際公開日】2021-01-07
【審査請求日】2021-12-24
(31)【優先権主張番号】10-2019-0078664
(32)【優先日】2019-07-01
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】オ ヒョンムク
(72)【発明者】
【氏名】オ セチン
【審査官】岡本 俊威
(56)【参考文献】
【文献】米国特許出願公開第2019/0080483(US,A1)
【文献】国際公開第2019/081087(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00- 9/40
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ジオメトリ情報及び特質情報を含むポイントクラウドデータを符号化する段階であって、
前記ジオメトリ情報は、前記ポイントクラウドデータのポイントの位置を示し、
前記特質情報は、前記ポイントクラウドデータの前記ポイントの特質を示し、
前記ジオメトリ情報は、占有情報に関連するツリーに基づいて符号化され、
前記ツリーは、ルートレベルからリーフレベルまでのノードを含み、
前記ノードは、前記ポイントクラウドデータの前記ポイントに関連し、
前記ポイントの重複する特質情報が除去される、段階と、
前記符号化されたポイントクラウドデータを含むビットストリームを送信する段階と、を含む、ポイントクラウドデータ処理するための方法。
【請求項2】
前記ポイントクラウドデータを符号化する段階は、
前記ジオメトリ情報を符号化する段階と、
前記特質情報を符号化する段階と、を含む、請求項1に記載の方法。
【請求項3】
前記特質情報を符号化する段階は、
前記ジオメトリ情報の前記ツリーを受信する段階であって、前記ツリーは、一つ又はそれ以上のレベルで表現される、段階と、
前記ツリーのそれぞれのレベルを一つ又はそれ以上の特質にマッチングしてカラー化されたツリーを生成する段階であって、前記カラー化されたツリーは、特質情報の一部又は全部のスケーラブル表現のために前記特質情報を符号化するために使用される、段階と、を含む、請求項2に記載の方法。
【請求項4】
前記カラー化されたツリーは、一つ又はそれ以上の特質を前記ツリーのリーフノードにマッチングし、前記リーフノードにマッチングされた前記一つ又はそれ以上の特質を前記リーフノードではないノードにマッチングすることにより生成され、
前記カラー化されたツリーは、前記ツリーのルートノードからリーフノードまで下げることによって前記一つ又はそれ以上の特質を前記リーフノードではない前記ノードにマッチングすることにより生成される、請求項3に記載の方法。
【請求項5】
シグナリング情報は、前記ビットストリームが前記ツリーのフルレベルに対応するデータを含むか、又は前記ツリーの一部レベルに対応するデータを含むかを示す情報を含む、請求項3に記載の方法。
【請求項6】
ジオメトリ情報及び特質情報を含むポイントクラウドデータを符号化するように構成されるエンコーダであって、
前記ジオメトリ情報は、前記ポイントクラウドデータのポイントの位置を示し、
前記特質情報は、前記ポイントクラウドデータの前記ポイントの特質を示し、
前記ジオメトリ情報は、占有情報に関連するツリーに基づいて符号化され、
前記ツリーは、ルートレベルからリーフレベルまでのノードを含み、
前記ノードは、前記ポイントクラウドデータの前記ポイントに関連し、
前記ポイントの重複する特質情報が除去される、エンコーダと、
前記符号化されたポイントクラウドデータを含むビットストリームを送信するように構成される送信部と、を含む、ポイントクラウドデータを処理するための装置。
【請求項7】
前記エンコーダは、
前記ジオメトリ情報を符号化するように構成された第1エンコーダと、
前記特質情報を符号化するように構成された第2エンコーダと、を含む、請求項6に記載の装置。
【請求項8】
前記エンコーダは、
前記ジオメトリ情報の前記ツリーを受信し、前記ツリーは、一つ又はそれ以上のレベルで表現され、
前記ツリーのそれぞれのレベルを一つ又はそれ以上の特質にマッチングしてカラー化されたツリーを生成し、前記カラー化されたツリーは、特質情報の一部又は全部のスケーラブル表現のために前記特質情報を符号化するために使用される、ように構成される、請求項7に記載の装置。
【請求項9】
前記カラー化されたツリーは、一つ又はそれ以上の特質を前記ツリーのリーフノードにマッチングし、前記リーフノードにマッチングされた前記一つ又はそれ以上の特質を前記リーフノードではないノードにマッチングすることにより生成され、
前記カラー化されたツリーは、前記ツリーのルートノードからリーフノードまで下げることによって前記一つ又はそれ以上の特質を前記リーフノードではない前記ノードにマッチングすることにより生成され、
シグナリング情報は、前記ビットストリームが前記ツリーのフルレベルに対応するデータを含むか、又は前記ツリーの一部レベルに対応するデータを含むかを示す情報を含む、請求項8に記載の装置。
【請求項10】
ポイントクラウドデータを含むビットストリームを受信する段階であって、
前記ポイントクラウドデータは、ジオメトリ情報及び特質情報を含み、
前記ジオメトリ情報は、前記ポイントクラウドデータのポイントの位置を示し、
前記特質情報は、前記ポイントクラウドデータの前記ポイントの特質を示す、段階と、
前記ポイントクラウドデータを復号する段階と、を含み、
前記ジオメトリ情報は、占有情報に関連するツリーに基づいて符号化され、
前記ツリーは、ルートレベルからリーフレベルまでのノードを含み、
前記ノードは、前記ポイントクラウドデータの前記ポイントに関連し、
前記ポイントの重複する特質情報が除去される、ポイントクラウドデータを処理する方法。
【請求項11】
前記ポイントクラウドデータを復号する段階は、
前記ジオメトリ情報を復号する段階と、
前記特質情報を復号する段階と、を含む、請求項10に記載の方法。
【請求項12】
シグナリング情報は、前記ビットストリームが前記ツリーのフルレベルに対応するデータを含むか、又は前記ツリーの一部レベルに対応するデータを含むかを示す情報を含み、
前記特質情報を復号する段階は、前記情報に基づいて前記ポイントクラウドデータのスケーラブル表現のために前記特質情報を符号化するためのカラー化されたツリーを生成する段階を含む、請求項11に記載の方法。
【請求項13】
ポイントクラウドデータを含むビットストリームを受信するように構成された受信部であって、
前記ポイントクラウドデータは、ジオメトリ情報及び特質情報を含み、
前記ジオメトリ情報は、前記ポイントクラウドデータのポイントの位置を示し、
前記特質情報は、前記ポイントクラウドデータの前記ポイントの特質を示す、受信部と、
前記ポイントクラウドデータを復号するように構成されたデコーダと、を含み、
前記ジオメトリ情報は、占有情報に関連するツリーに基づいて符号化され、
前記ツリーは、ルートレベルからリーフレベルまでのノードを含み、
前記ノードは、前記ポイントクラウドデータの前記ポイントに関連し、
前記ポイントの重複する特質情報が除去される、ポイントクラウドデータを処理する装置。
【請求項14】
前記デコーダは、
前記ジオメトリ情報を復号するように構成された第1デコーダと、
前記特質情報を復号するように構成された第2デコーダと、を含み、
シグナリング情報は、前記ビットストリームが前記ツリーのフルレベルに対応するデータを含むか、又は前記ツリーの一部レベルに対応するデータを含むかを示す情報を含み、
前記デコーダは、前記情報に基づいて前記ポイントクラウドデータのスケーラブル表現のために前記特質情報を符号化するためのカラー化されたツリーを生成するようにさらに構成される、請求項13に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
実施例はユーザにVR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、複合現実)及び自律走行サービスなどの様々なサービスを提供するために、ポイントクラウド(Point Cloud)コンテンツを提供する方案を提供する。
【背景技術】
【0002】
ポイントクラウドコンテンツは3次元空間を表現する座標系に属する点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは3次元からなるメディアを表現でき、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、拡張現実)、MR(Mixed Reality、複合現実)及び自律走行サービスなどの様々なサービスを提供するために使用される。しかし、ポイントクラウドコンテンツを表現するためには、数万から数十万個のポイントデータが必要である。従って、膨大な量のポイントデータを効率的に処理する方法が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
実施例はポイントクラウドデータを効率的に処理するための装置及び方法を提供する。実施例は遅延(latency)及び符号化/復号複雑度を解決するためのポイントクラウドデータ処理方法及び装置を提供する。
【0004】
但し、上述した技術的課題のみに制限されず、記載する全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
【課題を解決するための手段】
【0005】
よって、効率的にポイントクラウドデータを処理するために、実施例によるポイントクラウド処理方法では、ジオメトリ(geometry)情報及び特質(attribute)情報を含むポイントクラウドデータ(point cloud data)を符号化する段階;及び符号化されたポイントクラウドデータを含むビットストリームを送信する段階を含む。
【0006】
実施例によれば、ジオメトリ情報はポイントクラウドデータのポイントの位置(position)を示す情報であり、又は特質情報はポイントクラウドデータのポイントの特質を示す情報である。
【0007】
実施例によるポイントクラウドデータを符号化する段階は、ジオメトリ情報を符号化する段階;及び特質情報を符号化する段階を含む。さらに、特質情報を符号化する段階は、ジオメトリ情報の八分木(Octree)構造を受信する段階及び八分木構造のそれぞれのレベルに一つ又はそれ以上の特質をマッチングしてカラー化された八分木(colorized octree)を生成する段階を含む。
【0008】
実施例によれば、八分木構造は一つ又はそれ以上のレベルで表現され、カラー化された八分木は特質情報の一部又は全部をスケーラブル表現(scalable representation)できるように特質情報を符号化するために使用される。
【0009】
実施例によれば、カラー化された八分木は、一つ又はそれ以上の特質を八分木構造のリーフノード(leaf node)にマッチングすることができ、リーフノードにマッチングされた一つ又はそれ以上の特質をリーフノードではないノードにマッチングすることにより生成することができる。また、カラー化された八分木は、八分木構造のルートノード(root node)からリーフノードまで下げて(step down)、一つ又はそれ以上の特質をリーフノードではないノードにマッチングすることにより生成することができる。
【0010】
実施例によれば、シグナリング情報はビットストリームが八分木構造のフルレベル(full level)に対するデータを含むか、又は八分木構造の一部レベルに対するデータのみを含むかを示す情報を含む。
【0011】
また実施例によれば、さらに特質情報を符号化する段階は、カラー化された八分木にマッチングされたデータのうち、重複するデータを除去する段階を含む。
【0012】
また効率的にポイントクラウドデータを処理するために、実施例によるポイントクラウド処理方法では、ポイントクラウドデータを含むビットストリームを受信する段階及びポイントクラウドデータを復号する段階;を含む。
【0013】
実施例によるポイントクラウドデータはジオメトリ情報及び特質情報を含み、ジオメトリ情報はポイントクラウドデータのポイントの位置を示す情報であり、特質情報はポイントクラウドデータのポイントの一つ又はそれ以上の特質を示す情報である。
【0014】
ポイントクラウドデータを復号する段階は、ジオメトリ情報を復号する段階;及び特質情報を復号する段階;を含む。
【0015】
さらに、シグナリング情報はビットストリームが八分木構造のフルレベルに対するデータを含むか、又は八分木構造の一部レベルに対するデータのみを含むかを示す情報を含む。また、特質情報を復号する段階では、ポイントクラウドデータを情報に基づいてスケーラブル表現できるように特質情報を復号するためのカラー化された八分木を生成することができる。
【発明の効果】
【0016】
実施例による装置及び方法は、高効率でポイントクラウドデータを処理することができる。
【0017】
実施例による装置及び方法は、良質のポイントクラウドサービスを提供することができる。
【0018】
実施例による装置及び方法は、VRサービス、自律走行サービスなどの汎用的なサービスを提供するためのポイントクラウドコンテンツを提供することができる。
【0019】
実施例によるポイントクラウドデータ送信装置は、重要度によって異なる符号化動作を適用可能であり、良質の符号化方法を重要な領域に使用可能な方案を提供することができる。また、ポイントクラウドの特性による効率的な符号化/復号化及び送信を支援して、ユーザの要求事項による属性値を提供することができる。
【0020】
実施例によるポイントクラウドデータ送信装置及び受信装置は、タイル(tile)及び/又はスライス(slice)単位で独立的に又は独立せずに符号化及び復号化を行うことにより、符号化及び復号化過程で重なるエラーを防止することができる。
【0021】
実施例によるポイントクラウドデータ送信装置は、カラー化された八分木を生成して特質情報を符号化して送信することにより、八分木構造を全て符号化しなくても特質符号化を行うことができ、高速処理が求められるシステムにおいて不要な遅延が発生する問題を解決することができる。
【0022】
実施例によるポイントクラウドデータ受信装置は、カラー化された八分木(colorized octree)を受信して復号することにより、必ず特質情報を全て復号しなくても特質情報を復号することができ、スケーラブル(scalable)復号が可能である。
【図面の簡単な説明】
【0023】
添付図面は本発明の実施例を示し、説明と共に本発明の原理を説明する。
【0024】
図面は実施例をより理解するために添付し、実施例に関連する説明と共に実施例を示す。
【0025】
図1】実施例によるポイントクラウドコンテンツ提供システムの一例を示す。
図2】実施例によるポイントクラウドコンテンツ提供動作を示すブロック図である。
図3】実施例によるポイントクラウドビデオキャプチャー過程の一例を示す。
図4】実施例によるポイントクラウドエンコーダ(Point Cloud Encoder)の一例を示す。
図5】実施例によるボクセルの一例を示す。
図6】実施例による八分木及び占有コード(occupancy code)の一例を示す。
図7】実施例による隣接ノードパターンの一例を示す。
図8】実施例によるLODごとのポイント構成の一例を示す。
図9】実施例によるLODごとのポイント構成の一例を示す。
図10】実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す。
図11】実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す。
図12】実施例による送信装置の一例を示す。
図13】実施例による受信装置の一例を示す。
図14】実施例によるG-PCC基盤のポイントクラウドコンテンツストリーミングのためのアーキテクチャを示す。
図15】実施例による送信装置の一例を示す。
図16】実施例による受信装置の一例を示す。
図17】実施例によるポイントクラウドデータ送受信方法/装置に連動可能な構造の一例を示す。
図18】実施例によるポイントクラウドエンコーダを示す。
図19】実施例による八分木とカラー化された八分木(colorized octree)を示す。
図20】実施例によるポイントクラウドデータエンコーダを示す。
図21】実施例によるカラー化された八分木を生成する過程を示す。
図22】八分木構造のリーフノードをカラー化する(colorize)動作を示す。
図23】実施例によるエンコーダが実施例による隣接(neighbor)を検出する過程を示す。
図24】実施例によるエンコーダが実施例による隣接(neighbor)に基づいて親ノード(parent node)に特質情報をマッチングするための数式を示す。
図25】実施例によるエンコーダが、特質情報がマッチングされた八分木内の重複した特質(duplicate attribute)を除去する動作を示す。
図26】実施例によるエンコーダの動作を示す。
図27】実施例によるポイントクラウドデータのビットストリーム構造の一例を示す。
図28】実施例によるAPS(Attribute Parameter Set)を示す。
図29】実施例による特質ビットストリーム(attribute bitstream)を示す。
図30】スケーラブル表現のための実施例によるポイントクラウドデータ送信装置及び受信装置の動作を示す。
図31】実施例によるポイントクラウドデータデコーダを示す。
図32】実施例によるポイントクラウドデータデコーダを示す。
図33】実施例によるポイントクラウドデータ受信装置がカラー化された八分木を生成する過程を示す。
図34】実施例によるポイントクラウドデータデコーダが特質-ノードマッチング(attribute to node matching)を行う動作を示す。
図35】実施例による受信装置が実施例による位置予測(position estimation)を行う過程を示す。
図36】実施例によるポイントクラウドデータデコーダがカラー化された八分木(colorized octree)を生成する過程の他の例を示す。
図37】実施例によるポイントクラウドデータデコーダがスケーラブル表現のために復号する過程を示す。
図38】実施例によるポイントクラウドデータデコーダがスケーラブル表現のために復号する過程を示す。
図39】実施例によるポイントクラウドデータ送信段階を示す。
図40】実施例によるポイントクラウドデータ受信段階を示す。
【発明を実施するための形態】
【0026】
添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというより、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に関する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。
【0027】
実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものもあり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解されるべきである。
【0028】
図1は実施例によるポイントクラウドコンテンツ提供システムの一例を示す図である。
【0029】
図1に示したポイントクラウドコンテンツ提供システムは、送信装置(transmission device)10000及び受信装置(reception device)10004を含む。送信装置10000及び受信装置10004はポイントクラウドデータを送受信するために有無線通信が可能である。
【0030】
実施例による送信装置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機器/サーバーなどを含む。
【0031】
実施例による送信装置10000は、ポイントクラウドビデオ獲得部(Point Cloud Video Acquisition)10001、ポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)10002及び/又は送信機(Transmitter(又は通信モジュール)10003を含む。
【0032】
実施例によるポイントクラウドビデオ獲得部10001は、キャプチャー、合成又は生成などの処理過程によりポイントクラウドビデオを獲得する。ポイントクラウドビデオは、3次元空間に位置するポイントの集合であるポイントクラウドで表現されるポイントクラウドコンテンツであって、ポイントクラウドビデオデータなどと呼ばれる。実施例によるポイントクラウドビデオは、一つ又はそれ以上のフレームを含む。一つのフレームは停止映像/ピクチャを示す。よって、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャを含み、ポイントクラウド映像、フレーム及びピクチャのうちのいずれかに呼ばれる。
【0033】
実施例によるポイントクラウドビデオエンコーダ10002は、確保したポイントクラウドビデオデータを符号化する。ポイントクラウドビデオエンコーダ10002はポイントクラウド圧縮(Point Cloud Compression)コーディングに基づいてポイントクラウドビデオデータを符号化する。実施例によるポイントクラウド圧縮コーディングは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング又は次世代コーディングを含む。なお、実施例によるポイントクラウド圧縮コーディングは、上述した実施例に限られない。ポイントクラウドビデオエンコーダ10002は、符号化されたポイントクラウドビデオデータを含むビットストリームを出力することができる。ビットストリームは符号化されたポイントクラウドビデオデータだけではなく、ポイントクラウドビデオデータの符号化に関連するシグナリング情報を含む。
【0034】
実施例による送信機10003は、符号化されたポイントクラウドビデオデータを含むビットストリームを送信する。実施例によるビットストリームはファイル又はセグメント(例えば、ストリーミングセグメント)などにカプセル化されて、放送網及び/又はブロードバンド網などの様々なネットワークにより送信される。図示していないが、送信装置10000はカプセル化動作を行うカプセル化部(又はカプセル化モジュール)を含む。また実施例において、カプセル化部は送信機10003に含まれる。実施例において、ファイル又はセグメントはネットワークにより受信装置10004に送信されるか、又はデジタル格納媒体(例えば、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど)に格納される。実施例による送信機10003は受信装置10004(又は受信機(Receiver)10005)と4G、5G、6Gなどのネットワークにより有無線通信が可能である。また送信機10003はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)によって必要なデータ処理動作を行うことができる。また送信装置10000はオン・デマンド(On Demand)方式によってカプセル化されたデータを送信することもできる。
【0035】
実施例による受信装置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機器/サーバーなどを含む。
【0036】
実施例による受信機10005は、ポイントクラウドビデオデータを含むビットストリーム又はビットストリームがカプセル化されたファイル/セグメントなどをネットワーク又は格納媒体から受信する。受信機10005はネットワークシステム(例えば、4G、5G、6Gなどの通信ネットワークシステム)により必要なデータ処理動作を行う。実施例による受信機10005は、受信したファイル/セグメントをデカプセル化してビットストリームを出力する。また実施例において、受信機10005はデカプセル化の動作を行うためのデカプセル化部(又はデカプセル化モジュール)を含む。またデカプセル化部は受信機10005とは別個のエレメント(又はコンポーネント)で具現される。
【0037】
ポイントクラウドビデオデコーダ10006は、ポイントクラウドビデオデータを含むビットストリームを復号する。ポイントクラウドビデオデコーダ10006はポイントクラウドビデオデータが符号化された方式により復号することができる(例えば、ポイントクラウドビデオエンコーダ10002の動作の逆の過程)。従って、ポイントクラウドビデオデコーダ10006はポイントクラウド圧縮の逆過程であるポイントクラウド復元コーディングを行って、ポイントクラウドビデオデータを復号することができる。ポイントクラウド復元コーディングはG-PCCコーディングを含む。
【0038】
レンダラー10007は復号されたポイントクラウドビデオデータをレンダリングする。レンダラー10007はポイントクラウドビデオデータだけではなく、オディオデータもレンダリングしてポイントクラウドコンテンツを出力する。実施例において、レンダラー10007はポイントクラウドコンテンツをディスプレイするためのディスプレイを含む。実施例において、ディスプレイはレンダラー10007に含まれず、別のデバイス又はコンポーネントで具現される。
【0039】
図面において、点線で示した矢印は、受信装置10004で得たフィードバック情報(feedback information)の送信経路を示す。フィードバック情報はポイントクラウドコンテンツを消費するユーザとの相互作用を反映するための情報であって、ユーザの情報を含む(例えば、ヘッドオリエンテーション情報)、ビューポート情報など)。特に、ポイントクラウドコンテンツがユーザとの相互作用が必要なサービス(例えば、自律走行サービスなど)のためのものである場合には、フィードバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサービス供給者に伝達されることができる。実施例において、フィードバック情報は送信装置10000だけではなく受信装置10004でも使用されることができ、提供されないこともできる。
【0040】
実施例によるヘッドオリエンテーション情報はユーザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10004はヘッドオリエンテーション情報に基づいてビューポート情報を計算する。ビューポート情報はユーザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユーザがポイントクラウドビデオを見ている点であり、ビューポート領域の真ん中を意味する。即ち、ビューポートは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004はヘッドオリエンテーション情報以外に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビューポート情報を抽出することができる。また受信装置10004はゲイズ分析(Gaze Analysis)などを行って、ユーザのポイントクラウド消費方式、ユーザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例において、受信装置10004はゲイズ分析の結果を含むフィードバック情報を送信装置10000に送信することができる。実施例によるフィードバック情報はレンダリング及び/又はディスプレイ過程で得られる。実施例によるフィードバック情報は受信装置10004に含まれた一つ又はそれ以上のセンサにより確保される。また実施例において、フィードバック情報はレンダラー10007又は別の外部エレメント(又はデバイス、コンポーネントなど)により確保される。図1に示された点線はレンダラー10007で確保したフィードバック情報の伝達過程を示す。ポイントクラウドコンテンツ提供システムはフィードバック情報に基づいてポイントクラウドデータを処理(符号化/復号)する。従って、ポイントクラウドビデオデータデコーダ10006はフィードバック情報に基づいて復号の動作を行うことができる。また受信装置10004はフィードバック情報を送信装置10000に送信することができる。送信装置10000(又はポイントクラウドビデオデータエンコーダ10002)はフィードバック情報に基づいて符号化の動作を行うことができる。従って、ポイントクラウドコンテンツ提供システムは全てのポイントクラウドデータを処理(符号化/復号)せず、フィードバック情報に基づいて必要なデータ(例えば、ユーザのヘッド位置に対応するポイントクラウドデータ)を効率的に処理して、ユーザにポイントクラウドコンテンツを提供することができる。
【0041】
実施例において、送信装置10000はエンコーダ、送信デバイス、送信機などに呼ばれ、受信装置10004はデコーダ、受信デバイス、受信機などに呼ばれる。
【0042】
実施例による図1のポイントクラウドコンテンツ提供システムで処理される(獲得/符号化/送信/復号/レンダリングの一連の過程で処理される)ポイントクラウドデータは、ポイントクラウドコンテンツデータ又はポイントクラウドビデオデータとも呼ばれる。実施例において、ポイントクラウドコンテンツデータはポイントクラウドデータに関連するメタデータ或いはシグナリング情報を含む概念として使用することができる。
【0043】
図1に示したポイントクラウドコンテンツ提供システムのエレメントは、ハードウェア、ソフトウェア、プロセッサ及び/又はこれらの組み合わせなどで具現される。
【0044】
図2は実施例によるポイントクラウドコンテンツ提供の動作を示すブロック図である。
【0045】
図2図1で説明したポイントクラウドコンテンツ提供システムの動作を示すブロック図である。上述したように、ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディング(例えば、G-PCC)に基づいてポイントクラウドデータを処理する。
【0046】
実施例によるポイントクラウドコンテンツ提供システム(例えば、ポイントクラウド送信装置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)は、ポイントクラウドビデオの獲得過程に関連する情報(例えば、深さ情報、色相情報など)からポイントクラウドデータを確保することができる。
【0047】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又はポイントクラウドビデオエンコーダ10002)は、ポイントクラウドデータを符号化する(20001)。ポイントクラウドコンテンツ提供システムは、ポイントクラウド圧縮コーディングに基づいてポイントクラウドデータを符号化する。上述したように、ポイントクラウドデータはポイントのジオメトリ及び特質を含む。よって、ポイントクラウドコンテンツ提供システムは、ジオメトリを符号化するジオメトリ符号化を行ってジオメトリビットストリームを出力することができる。ポイントクラウドコンテンツ提供システムは、特質を符号化する特質符号化を行って特質ビットストリームを出力することができる。実施例において、ポイントクラウドコンテンツ提供システムはジオメトリ符号化に基づいて特質符号化を行うことができる。実施例によるジオメトリビットストリーム及び特質ビットストリームは多重化されて一つのビットストリームで出力される。実施例によるビットストリームはジオメトリ符号化及び特質符号化に関連するシグナリング情報をさらに含む。
【0048】
実施例によるポイントクラウドコンテンツ提供システム(例えば、送信装置10000又は送信機10003)は、符号化されたポイントクラウドデータを送信する(20002)。図1で説明したように、符号化されたポイントクラウドデータはジオメトリビットストリーム、特質ビットストリームで表現される。また符号化されたポイントクラウドデータはポイントクラウドデータの符号化に関連するシグナリング情報(例えば、ジオメトリ符号化及び特質符号化に関連するシグナリング情報)と共に、ビットストリームの形態で送信される。またポイントクラウドコンテンツ提供システムは符号化されたポイントクラウドデータを送信するビットストリームをカプセル化してファイル又はセグメントの形態で送信する。
【0049】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、符号化されたポイントクラウドデータを含むビットストリームを受信する。またポイントクラウドコンテンツ提供システム(例えば、受信装置10004又は受信機10005)は、ビットストリームを逆多重化することができる。
【0050】
ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームで送信される符号化されたポイントクラウドデータ(例えば、ジオメトリビットストリーム、特質ビットストリーム)を復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ビットストリームに含まれたポイントクラウドビデオデータの符号化に関連するシグナリング情報に基づいてポイントクラウドビデオデータを復号する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、ジオメトリビットストリームを復号してポイントの位置(ジオメトリ)を復元する。ポイントクラウドコンテンツ提供システムは、復元したジオメトリに基づいて特質ビットストリームを復号してポイントの特質を復元する。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はポイントクラウドビデオデコーダ10005)は、復元されたジオメトリによる位置及び復号された特質に基づいてポイントクラウドビデオを復元する。
【0051】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号されたポイントクラウドデータをレンダリングする(20004)。ポイントクラウドコンテンツ提供システム(例えば、受信装置10004又はレンダラー10007)は、復号過程で復号されたジオメトリ及び特質を様々なレンダリング方式によってレンダリングする。ポイントクラウドコンテンツのポイントは、一定の厚さを有する定点、該当定点の位置を中央とする所定の最小サイズを有する立方体、又は定点の位置を中央とする円などにレンダリングされる。レンダリングされたポイントクラウドコンテンツの全部又は一部の領域はディスプレイ(例えば、VR/ARディスプレイ、一般ディスプレイなど)によりユーザに提供される。
【0052】
実施例によるポイントクラウドコンテンツ提供システム(例えば、受信装置10004)は、フィードバック情報を確保することができる(20005)。ポイントクラウドコンテンツ提供システムは、フィードバック情報に基づいてポイントクラウドデータを符号化及び/又は復号する。実施例によるフィードバック情報及びポイントクラウドコンテンツ提供システムの動作は、図1で説明したフィードバック情報及び動作と同一であるので、具体的な説明は省略する。
【0053】
図3は実施例によるポイントクラウドビデオキャプチャー過程の一例を示す図である。
【0054】
図3図1及び図2で説明したポイントクラウドコンテンツ提供システムのポイントクラウドビデオキャプチャー過程の一例を示す。
【0055】
ポイントクラウドコンテンツは、様々な3次元空間(例えば、現実環境を示す3次元空間、仮想環境を示す3次元空間など)に位置するオブジェクト(object)及び/又は環境を示すポイントクラウドビデオ(イメージ及び/又は映像)を含む。従って、実施例によるポイントクラウドコンテンツ提供システムは、ポイントクラウドコンテンツを生成するために一つ又はそれ以上のカメラ(例えば、深さ情報を確保できる赤外線カメラ、深さ情報に対応する色相情報を抽出できるRGBカメラなど)、プロジェクト(例えば、深さ情報を確保するための赤外線パターンプロジェクターなど)、LiDARなどを使用してポイントクラウドビデオをキャプチャーする。実施例によるポイントクラウドコンテンツ提供システムは、深さ情報から3次元空間上のポイントで構成されたジオメトリの形態を抽出し、色相情報からそれぞれのポイントの特質を抽出してポイントクラウドデータを確保する。実施例によるイメージ及び/又は映像は内向き(inward-facing)方式及び外向き(outward-facing)方式のうちのいずれかに基づいてキャプチャーされる。
【0056】
図3の左側には内向き方式が示されている。内向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトをキャプチャーする方式である。内向き方式は核心客体に対する360°イメージをユーザに提供するポイントクラウドコンテンツ(例えば、ユーザに客体(例:キャラクター、選手、品物、俳優などの核心となる客体)の360°イメージを提供するVR/ARコンテンツ)を生成するために使用される。
【0057】
図3の右側には外向き方式が示されている。外向き方式は中心オブジェクトを取り囲んで位置する一つ又はそれ以上のカメラ(又はカメラセンサ)が中心オブジェクトではない中心オブジェクトの環境をキャプチャーする方式である。外向き方式はユーザの視点からの周辺環境を提供するためのポイントクラウドコンテンツ(例えば、自律走行車両のユーザに提供される外部環境を示すコンテンツ)を生成するために使用される。
【0058】
図示したように、ポイントクラウドコンテンツは一つ又はそれ以上のカメラのキャプチャー動作に基づいて生成される。この場合、それぞれのカメラの座標系が異なるので、ポイントクラウドコンテンツ提供システムはキャプチャー動作前にグローバル空間座標系(global coordinate system)を設定するために、一つ又はそれ以上のカメラの較正(calibration)を行う。またポイントクラウドコンテンツ提供システムは、上述したキャプチャー方式でキャプチャーされたイメージ及び/又は映像と任意のイメージ及び/又は映像を合成してポイントクラウドコンテンツを生成する。またポイントクラウドコンテンツ提供システムは、仮想空間を示すポイントクラウドコンテンツを生成する場合、図3で説明したキャプチャー動作を行わない。実施例によるポイントクラウドコンテンツ提供システムは、キャプチャーしたイメージ及び/又は映像に対して後処理を行うこともできる。即ち、ポイントクラウドコンテンツ提供システムは、望まない領域(例えば、背景)を除去したり、キャプチャーしたイメージ及び/又は映像が連結された空間を認識して空間(spatial hole)がある場合、それを埋める動作を行うことができる。
【0059】
またポイントクラウドコンテンツ提供システムは、それぞれのカメラから確保したポイントクラウドビデオのポイントに対して座標系変換を行って、一つのポイントクラウドコンテンツを生成することができる。ポイントクラウドコンテンツ提供システムは、それぞれのカメラの位置座標を基準としてポイントの座標系変換を行う。これにより、ポイントクラウドコンテンツ提供システムは、一つの広い範囲を示すコンテンツを生成するか、或いはポイントの密度が高いポイントクラウドコンテンツを生成することができる。
【0060】
図4は実施例によるポイントクラウドエンコーダ(Point Cloud Encoder)の一例を示す図である。
【0061】
図4図1のポイントクラウドビデオエンコーダ10002の一例を示す。ポイントクラウドエンコーダは、ネットワーク状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、損失に近い-near-lossless)を調節するために、ポイントクラウドデータ(例えば、ポイントの位置及び/又は特質)を再構成して符号化動作を行う。ポイントクラウドコンテンツの全体サイズが大きい場合(例えば、30fpsの場合、60Gbpsであるポイントクラウドコンテンツ)、ポイントクラウドコンテンツ提供システムは該当コンテンツをリアルタイムストリーミングすることができない。従って、ポイントクラウドコンテンツ提供システムは、ネットワーク環境などに合わせて提供するために、最大ターゲットビットレートに基づいてポイントクラウドコンテンツを再構成することができる。
【0062】
図1及び図2に示したように、ポイントクラウドエンコーダはジオメトリ符号化及び特質符号化を行うことができる。ジオメトリ符号化は特質符号化よりも先に行われる。
【0063】
実施例によるポイントクラウドエンコーダは、座標系変換部(Transformation Coordinates)40000、量子化部(Quantize and Remove Points(Voxelize))40001、八分木分析部(Analyze Octree)40002、表面近似分析部(Analyze Surface Approximation)40003、演算エンコーダ(Arithmetic Encode)40004、ジオメトリ再構成部(Reconstruct Geometry)40005、色変換部(Transform Colors)40006、特質変換部(Transfer Attributes)40007、RAHT変換部40008、LOD生成部(Generated LOD)40009、リフト変換部(Lifting)40010、係数量子化部(Quantize Coefficients)40011及び/又は演算エンコーダ(Arithmetic Encode)40012を含む。
【0064】
座標系変換部40000、量子化部40001、八分木分析部40002、表面近似分析部40003、演算エンコーダ40004及びジオメトリ再構成部40005は、ジオメトリ符号化を行うことができる。実施例によるジオメトリ符号化は、八分木ジオメトリコーディング、ダイレクトコーディング(direct coding)、trisoupジオメトリ符号化(trisoup geometry encoding)及びエントロピー符号化を含む。ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に或いは組み合わせて適用される。なお、ジオメトリ符号化は上記の例示に限られない。
【0065】
図示したように、実施例による座標系変換部40000は、位置を受信して座標系(coordinate)に変換する。例えば、位置は3次元空間(例えば、XYZ座標系で表現される3次元空間など)の位置情報に変換される。実施例による3次元空間の位置情報はジオメトリ情報とも称される。
【0066】
実施例による量子化部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)、該当ボクセルに割り当てられる。
【0067】
実施例による八分木分析部40002は、ボクセルを八分木構造で表すための八分木ジオメトリコーディング(又は八分木コーディング)を行う。八分木構造は八分割構造に基づいてボクセルにマッチングされたポイントを表現する。
【0068】
実施例による表面近似分析部40003は、八分木を分析して近似化する。実施例による八分木分析及び近似化は、八分木及びボクセル化を効率的に提供するために、多数のポイントを含む領域をボクセル化するために分析を行う過程である。
【0069】
実施例による演算エンコーダ40004は、八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。符号化の結果としてジオメトリビットストリームが生成される。
【0070】
色変換部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コーディング、予測変換コーディング及びリフト変換コーディングが選択的に使用されるか、又は一つ又はそれ以上のコーディングの組み合わせが使用される。また実施例による特質符号化は上述した例示に限られない。
【0071】
実施例による色変換部40006は、特質に含まれた色値(又はテクスチャ)を変換する色変換コーディングを行う。例えば、色変換部40006は色相情報のフォーマットを変換(例えば、RGBからYCbCrに変換)する。実施例による色変換部40006の動作は、特質に含まれた色値によって任意に(optional)適用される。
【0072】
実施例によるジオメトリ再構成部40005は、八分木及び/又は近似化した八分木を再構成(復元)する。ジオメトリ再構成部40005はポイントの分布を分析した結果に基づいて八分木/ボクセルを再構成する。再構成された八分木/ボクセルは再構成されたジオメトリ(又は復元されたジオメトリ)とも呼ばれる。
【0073】
実施例による特質変換部40007は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。上述したように、特質はジオメトリに従属するので、特質変換部40007は再構成されたジオメトリ情報に基づいて特質を変換することができる。例えば、特質変換部40007は、ボクセルに含まれたポイントの位置値に基づいてその位置のポイントが有する特質を変換することができる。上述したように、一つのボクセルに含まれた一つ又はそれ以上のポイントの位置に基づいて該当ボクセルの中央点の位置が設定される場合、特質変換部40007は一つ又はそれ以上のポイントの特質を変換する。trisoupジオメトリ符号化が行われた場合、特質変換部40007はtrisoupジオメトリ符号化に基づいて特質を変換することができる。
【0074】
特質変換部40007は、各ボクセルの中央点の位置(又は位置値)から特定の位置/半径内に隣接しているポイントの特質又は特質値(例えば、各ポイントの色相、又は反射率など)の平均値を計算して特質変換を行う。特質変換部40007は平均値の計算時、中央点から各ポイントまでの距離による加重値を適用する。従って、各ボクセルは位置及び計算された特質(又は特質値)を有する。
【0075】
特質変換部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ツリー又はモールトンコードが活用される。
【0076】
図示したように、変換された特質はRAHT変換部40008及び/又はLOD生成部40009に入力される。
【0077】
実施例によるRAHT変換部40008は、再構成されたジオメトリ情報に基づいて特質情報を予測するRAHTコーディングを行う。例えば、RAHT変換部40008は、八分木の下位レベルにあるノードに連関する特質情報に基づいて、八分木の上位レベルにあるノードの特質情報を予測することができる。
【0078】
実施例によるLOD生成部40009は予測変換コーディングを行うために、LOD(Level of Detail)を生成する。実施例によるLODはポイントクラウドコンテンツの詳細を示す程度であり、LOD値が小さいほどポイントクラウドコンテンツの詳細が下がり、LOD値が大きいほどポイントクラウドコンテンツの詳細が高いことが示されている。ポイントをLODによって分類できる。
【0079】
実施例によるリフト変換部40010は、ポイントクラウドの特質を加重値に基づいて変換するリフト変換コーディングを行う。上述したように、リフト変換コーディングは選択的に適用される。
【0080】
実施例による係数量子化部40011は、特質コーディングされた特質を係数に基づいて量子化する。
【0081】
実施例による演算エンコーダ40012は、量子化された特質を演算コーディングに基づいて符号化する。
【0082】
図4のポイントクラウドエンコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した図4のポイントクラウドエンコーダのエレメントの動作及び/又は機能のうち、いずれか一つを行うことができる。また、一つ又はそれ以上のプロセッサは、図4のポイントクラウドエンコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行することができる。実施例による一つ又はそれ以上のメモリは高速ランダムアクセスメモリを含むか、又は非揮発性メモリ(例えば、一つ又はそれ以上のマグネチックディスク格納デバイス、フラッシュメモリデバイス、又は他の非揮発性固体のメモリデバイス(Solid-state memory devices)など)を含む。
【0083】
図5は実施例によるボクセルの一例を示す図である。
【0084】
図5はX軸、Y軸、Z軸の3つの軸で構成された座標系で表現される3次元空間上に位置するボクセルを示す。図4に示すように、ポイントクラウドエンコーダ(例えば、量子化部40001など)はボクセル化を行う。ボクセルは3次元空間を表現する軸(例えば、X軸、Y軸、Z軸)に基づいて3次元空間をユニット(unit=1.0)単位で分けたときに発生する3次元キュービック空間を意味する。図5は2つの極点(0,0,0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)する八分木構造により生成されたボクセルの一例を示す。一つのボクセルは少なくとも一つ以上のポイントを含む。ボクセルはボクセル群(voxel group)との位置関係から空間座標を推定することができる。上述したように、ボクセルは2次元イメージ/映像のピクセルと同様に、特質(色相又は反射率など)を有する。ボクセルに対する具体的な説明は図4で説明した通りであるので、省略する。
【0085】
図6は実施例による八分木及び占有コード(occupancy code)の一例を示す図である。
【0086】
図1ないし図4に示したように、ポイントクラウドコンテンツ提供システム(ポイントクラウドビデオエンコーダ10002)又はポイントクラウドエンコーダ(例えば、八分木分析部40002)は、ボクセルの領域及び/又は位置を効率的に管理するために、八分木構造基盤の八分木ジオメトリコーディング(又は八分木コーディング)を行う。
【0087】
図6の上側は八分木構造を示している。実施例によるポイントクラウドコンテンツの3次元空間は座標系の軸(例えば、X軸、Y軸、Z軸)で表現される。八分木構造は2つの極点(0,0,0)及び(2d、2d、2d)により定義される境界ボックス(cubical axis-aligned bounding box)を再帰的に分割(reculsive subdividing)して生される。2dはポイントクラウドコンテンツ(又はポイントクラウドビデオ)の全体ポイントを取り囲む最小の境界ボックスを構成する値で設定される。dは八分木の深さを示す。d値は以下の式により決定される。以下の式において、(xint n、yint n、zint n)は量子化されたポイントの位置(又は位置値)を示す。
【0088】
【0089】
図6の上側中央に示したように、分割によって全体3次元空間は8つの空間に分かれる。分割されたそれぞれの空間は6つの面を有するキューブで表現される。図6の右上側に示したように、8つの空間はそれぞれ再び座標系の軸(例えば、X軸、Y軸、Z軸)により分かれる。よって、それぞれの空間は再び8つの小さい空間に分かれる。分割された小さい空間も6つの面を有するキューブで表現される。このような分割方式は八分木のリーフノード(leaf node)がボクセルになるまで適用される。
【0090】
図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)は占有コードに基づいて八分木を再構成する。
【0091】
実施例によるポイントクラウドエンコーダ(例えば、図4のポイントクラウドエンコーダ、又は八分木分析部40002)は、ポイントの位置を格納するためにボクセル化及び八分木コーディングを行う。しかし、3次元空間内のポイントがいつも均一に分布していることではないので、ポイントが多く存在しない特定の領域が存在し得る。従って、3次元空間の全体に対してボクセル化を行うことは非効率的である。例えば、特定の領域にポイントがほぼ存在しないと、該当領域までボクセル化を行う必要はない。
【0092】
従って、実施例によるポイントクラウドエンコーダは、上述した特定の領域(又は八分木のリーフノードを除いたノード)についてはボクセル化を行わず、特定の領域に含まれたポイントの位置を直接コーディングするダイレクトコーディング(Direct coding)を行う。実施例によるダイレクトコーディングポイントの座標は、ダイレクトコーディングモード(Direct Coding Mode、DCM)と呼ばれる。また実施例によるポイントクラウドエンコーダは、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化(Trisoup geometry encoding)を行うことができる。trisoupジオメトリ符号化はオブジェクトの表現を三角形メッシュ(triangle mesh)のシリーズで表現するジオメトリ符号化である。従って、ポイントクラウドデコーダはメッシュ表面からポイントクラウドを生成することができる。実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に行われる。また実施例によるダイレクトコーディング及びtrisoupジオメトリ符号化は八分木ジオメトリコーディング(又は八分木コーディング)と結合して行うことができる。
【0093】
ダイレクトコーディング(Direct coding)を行うためには、ダイレクトコーディングを適用するための直接モード(direct mode)の使用オプションが活性化されている必要があり、ダイレクトコーディングを適用するノードはリーフノードではなく、特定のノード内に閾値(threshold)以下のポイントが存在する必要がある。またダイレクトコーディングの対象となる全体ポイントの個数は所定の閾値を超えてはいけない。上記条件を満たすと、実施例によるポイントクラウドエンコーダ(又は演算エンコーダ40004)はポイントの位置(又は位置値)をエントロピーコーディングすることができる。
【0094】
実施例によるポイントクラウドエンコーダ(例えば、表面近似分析部40003)は、八分木の特定のレベルを定め(レベルは八分木の深さdよりは小さい場合)、そのレベルからは表面モデルを使用してノード領域内のポイントの位置をボクセルに基づいて再構成するtrisoupジオメトリ符号化を行うことができる(trisoupモード)。実施例によるポイントクラウドエンコーダは、trisoupジオメトリ符号化を適用するレベルを指定できる。例えば、指定されたレベルが八分木の深さと同一であると、ポイントクラウドエンコーダはtrisoupモードで動作しない。即ち、実施例によるポイントクラウドエンコーダは指定されたレベルが八分木の深さ値よりも小さい場合にのみtrisoupモードで動作することができる。実施例による指定されたレベルのノードの3次元立方体領域をブロック(block)と呼ぶ。一つのブロックは一つ又はそれ以上のボクセルを含む。ブロック又はボクセルはブリック(brick)に対応することもできる。それぞれのブロック内においてジオメトリは表面(surface)と表現される。実施例による表面は最大1回、ブロックの各エッジ(edge)と交差することができる。
【0095】
一つのブロックは12つのエッジを有するので、一つのブロック内に少なくとも12つの交差点が存在する。それぞれの交差点はバーテックス(vertex、頂点又は頂上)と呼ばれる。エッジに沿って存在するバーテックスは該当エッジを共有する全てのブロックのうち、そのエッジに隣接する少なくとも一つの占有ボクセル(occupied voxel)がある場合に検知される。実施例による占有ボクセルはポイントを含むボクセルを意味する。エッジに沿って検出されたバーテックスの位置は、該当エッジを共有する全てのブロックのうち、該当エッジに隣接する全てのボクセルのエッジによる平均位置である(the average position along the edge of all voxels)。
【0096】
バーテックスが検出されると、実施例によるポイントクラウドエンコーダは、エッジの開始点(x、y、z)、エッジの方向ベクトル(Δx、Δy、Δz)、バーテックス位置値(エッジ内の相対的位置値)をエントロピーコーディングすることができる。trisoupジオメトリ符号化が適用された場合、実施例によるポイントクラウドエンコーダ(例えば、ジオメトリ再構成部40005)は三角形再構成(triangle reconstruction)、アップ-サンプリング(up-sampling)、ボクセル化過程を行って復元されたジオメトリ(再構成されたジオメトリ)を生成することができる。
【0097】
【0098】
【0099】
加えられた値の最小値を求め、最小値がある軸に沿って投影(Projection)過程を行う。例えば、x要素(element)が最小である場合、各バーテックスをブロックの中心を基準としてx軸に投影し、(y,z)平面に投影させる。(y,z)平面に投影させて得た値が(ai,bi)であれば、atan2(bi、ai)によりθ値を求め、θ値を基準としてバーテックスを整列する。以下の表はバーテックスの個数によって三角形を生成するためのバーテックスの組み合わせを示している。バーテックスは1からnまで順に整列される。以下の表は4つのバーテックスに対して、バーテックスの組み合わせによって2つの三角形が構成されることを示している。1番目の三角形は整列されたバーテックスのうち、1、2、3番目のバーテックスで構成され、2番目の三角形は整列されたバーテックスのうち、3,4,1番目のバーテックスで構成される。
【0100】
表.Triangles formed from vertices ordered 1
【0101】
【表1】
【0102】
アップサンプリング過程は三角形のエッジに沿って中間に点を追加してボクセル化するために行われる。アップサンプリング係数(upsampling factor)とブロックの幅を基準として追加点を生成する。追加点はリファインドバーテックス(refined vertice)と呼ばれる。実施例によるポイントクラウドエンコーダはリファインドバーテックスをボクセル化することができる。またポイントクラウドエンコーダはボクセル化された位置(又は位置値)に基づいて特質符号化を行うことができる。
【0103】
図7は実施例による隣接ノードパターンの一例を示す図である。
【0104】
ポイントクラウドビデオの圧縮効率を増加させるために、実施例によるポイントクラウドエンコーダはコンテキスト適応演算(context adaptive arithmetic)コーディングに基づいてエントロピーコーディングを行う。
【0105】
図1ないし図6で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダ(例えば、ポイントクラウドビデオエンコーダ10002、図4のポイントクラウドエンコーダ又は演算エンコーダ40004)は、占有コードをすぐエントロピーコーディングすることができる。またポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダは、現在ノードの占有コードと隣接ノードの占有率に基づいてエントロピー符号化(イントラ符号化)を行うか、又は以前フレームの占有コードに基づいてエントロピー符号化(インター符号化)を行うことができる。実施例によるフレームは、同時間に生成されたポイントクラウドビデオの集合を意味する。実施例によるイントラ符号化/インター符号化の圧縮効率は、参照する隣接ノードの個数によって異なる。ビットが大きくなると複雑になるが、一側に傾くようにして圧縮効率を高めることができる。例えば、3-bit contextを有すると、2の3乗である8つの方法でコーディングする。分けてコーディングする部分は具現の複雑度に影響を及ぼす。従って、圧縮効率と複雑度の適正水準を合わせる必要がある。
【0106】
図7は隣接ノードの占有率に基づいて占有パターンを求める過程を示す。実施例によるポイントクラウドエンコーダは、八分木の各ノードの隣接ノードの占有率(occupancy)を判断して隣接ノードパターン(neighbor pattern)値を得る。隣接ノードパターンは該当ノードの占有パターンを推論するために使用される。図7の左側はノードに対応するキューブ(真ん中に位置するキューブ)及び該当キューブと少なくとも一面を共有する6つのキューブ(隣接ノード)を示している。図示したノードは同じ深さのノードである。図示した数字は6つのノードとそれぞれ連関する加重値(1、2、4、8、16、32、など)を示す。各加重値は隣接ノードの位置によって順に付与される。
【0107】
図7の右側は隣接ノードパターン値を示す。隣接ノードパターン値は占有された隣接ノード(ポイントを有する隣接ノード)の加重値が掛けられた値の合計である。従って、隣接ノードパターン値は0から63までの値を有する。隣接ノードパターン値が0であることは、該当ノードの隣接ノードのうち、ポイントを有するノード(占有ノード)がないことを意味する。隣接ノードパターン値が63であることは、隣接ノードが全て占有ノードであることを意味する。図示したように、加重値1、2、4、8が付与された隣接ノードは占有ノードであるので、隣接ノードパターン値は1、2、4、8を併せた値である15である。ポイントクラウドエンコーダは隣接ノードパターン値によってコーディングを行うことができる(例えば、隣接ノードパターン値が63である場合、64つのコーディングを行う)。実施例においてポイントクラウドエンコーダは隣接ノードパターン値を変更して(例えば、64を10又は6に変更するテーブルに基づく)、コーディングの複雑度を減らすことができる。
【0108】
図8は実施例によるLODごとのポイント構成の一例を示す図である。
【0109】
図1ないし図7で説明したように、特質符号化が行われる前、符号化されたジオメトリは再構成(復元)される。ダイレクトコーディングが適用された場合、ジオメトリ再構成の動作はダイレクトコーディングされたポイントの配置を変更することを含む(例えば、ダイレクトコーディングされたポイントをポイントクラウドデータの前方に配置)。trisoupジオメトリ符号化が適用された場合、ジオメトリ再構成の過程は三角形再構成、アップサンプリング、ボクセル化の過程を特質はジオメトリに従属するので、特質符号化は再構成されたジオメトリに基づいて行われる。
【0110】
ポイントクラウドエンコーダ(例えば、LOD生成部40009)はポイントをLODごとに分類する(reorganization)。図面はLODに対応するポイントクラウドコンテンツを示す。図において左側はオリジナルポイントクラウドコンテンツを示す。図において左側から2番目は最低LODのポイントの分布を示し、最右側は最高LODのポイントの分布を示す。即ち、最低LODのポイントは粗い(sparse)分布であり、最高LODのポイントは細かい分布である。即ち、図面の下側に示された矢印方向に沿ってLODが増加するほどポイント間の間隔(又は距離)は短くなる。
【0111】
図9は実施例によるLODごとのポイント構成の一例を示す図である。
【0112】
図1ないし図8で説明したように、ポイントクラウドコンテンツ提供システム又はポイントクラウドエンコーダ(例えば、ポイントクラウドビデオエンコーダ10002、図4のポイントクラウドエンコーダ又はLOD生成部40009)はLODを生成する。LODはポイントを設定されたLOD距離値(又はユークリッド距離(Euclidean Distance)のセット)によって改良レベル(refinement levels)のセットで再整列して生成される。LOD生成過程はポイントクラウドエンコーダだけではなく、ポイントクラウドデコーダでも行われる。
【0113】
図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を含む。
【0114】
図4で説明したように、実施例によるポイントクラウドエンコーダは予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングを選択的に又は組み合わせて行うことができる。
【0115】
実施例によるポイントクラウドエンコーダは、ポイントに対する予測機(predictor)を生成して各ポイントの予測特質(又は予測特質値)を設定するための予測変換コーディングを行う。即ち、N個のポイントに対してN個の予測機が生成される。実施例による予測機は各ポイントのLOD値とLODごとに設定された距離内に存在する隣接ポイントに対するインデックス情報及び隣接ポイントまでの距離値に基づいて加重値(=1/距離)を計算することができる。
【0116】
実施例による予測特質(又は特質値)は、各ポイントの予測機に設定された隣接ポイントの特質(又は特質値、例えば、色相、反射率など)に各隣接ポイントまでの距離に基づいて計算された加重(又は加重値)を掛けた値の平均値で設定される。実施例によるポイントクラウドエンコーダ(例えば、係数量子化部40011)は、各ポイントの特質(特質値)から予測特質(特質値)を引いた残余値(residuals、残余特質、残余特質値、特質予測残余値などとも呼ばれる)を量子化(quatization)及び逆量子化(inverse quantization)することができる。量子化過程は以下の表の通りである。
【0117】
Attribute prediction residuals quantization pseudo code
【0118】
【表2】
【0119】
Attribute prediction residuals inverse quantization pseudo Code
【0120】
【表3】
【0121】
実施例によるポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測機に隣接するポイントがあれば、上述したように、量子化及び逆量子化された残余値をエントロピーコーディングする。実施例によるポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は、各ポイントの予測機に隣接するポイントがないと、上述した過程を行わず、該当ポイントの特質をエントロピーコーディングする。実施例によるポイントクラウドエンコーダ(例えば、リフト変換部40010)は、各ポイントの予測機を生成し、予測機に計算されたLODを設定及び隣接ポイントを登録し、隣接ポイントまでの距離による加重値を設定してリフト変換コーディングを行う。実施例によるリフト変換コーディングは、上述した測変換コーディングと類似するが、特質値に加重値を累積適用するという点で差がある。実施例による特質値に加重値を累積適用する過程は以下の通りである。
【0122】
1)各ポイントの加重値を貯蔵する配列QW(QuantizationWieght)を生成する。QWの全ての要素の初期値は1.0である。予測機に登録された隣接ノードの予測機インデックスのQW値に現在ポイントの予測機の加重値を掛けた値を加える。
【0123】
2)リフト予測過程:予測された特質値を計算するために、ポイントの特質値に加重値を掛けた値を既存の特質値から引く。
【0124】
3)アップデートウェイト(updateweight)及びアップデートという臨時配列を生成し、臨時配列を0に初期化する。
【0125】
4)全ての予測機に対して計算された加重値に予測機インデックスに該当するQWに貯蔵された加重値をさらに掛けて算出された加重値をアップデートウェイト配列に隣接ノードのインデックスとして累積して合算する。アップデート配列には隣接ノードのインデックスの特質値に算出された加重値を掛けた値を累積して合算する。
【0126】
5)リフトアップデート過程:全ての予測機に対して、アップデート配列の特質値を予測機インデックスのアップデートウェイト配列の加重値で割り、割った値に再び既存の特質値を加える。
【0127】
6)全ての予測機に対して、リフトアップデート過程でアップデートされた特質値にリフト予測過程でアップデートされた(QWに貯蔵された)加重値をさらに掛けて予測特質値を算出する。実施例によるポイントクラウドエンコーダ(例えば、係数量子化部40011)は予測特質値を量子化する。またポイントクラウドエンコーダ(例えば、演算エンコーダ40012)は量子化された特質値をエントロピーコーディングする。
【0128】
実施例によるポイントクラウドエンコーダ(例えば、RAHT変換部40008)は、八分木の下位レベルのノードに連関する特質を使用して上位レベルのノードの特質を予測するRAHT変換コーディングを行う。RAHT変換コーディングは八分木バックワードスキャンによる特質イントラコーディングの一例である。実施例によるポイントクラウドエンコーダは、ボクセルから全体領域にスキャンし、各ステップもぽてボクセルをもっと大きいブロックに合わせながらルートノード(root node)までの併合過程を繰り返して行う。実施例による併合過程は、占有ノードのみについて行われる。空ノード(empty node)については併合過程が行われず、空ノードの直上位ノードについて併合過程が行われる。
【0129】
以下の式はRAHT変換行列を示す。
はレベルlでのボクセル(voxel)の平均特質値を示す。


から計算される。

の加重値は

である。
【0130】
【0131】
はローパス(low-pass)値であって、次の上位レベルでの併合過程で使用される。
はハイパス係数(high-pass coefficients)であって、各ステップでのハイパス係数は量子化されてエントロピーコーディングされる(例えば、計算エンコーダ400012の符号化)。加重値は
により計算される。ルートノードは最後の

により以下のように生成される。
【0132】
【0133】
gDC値もハイパス係数のように量子化されてエントロピーコーディングされる。
【0134】
図10は実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す図である。
【0135】
図10に示したポイントクラウドデコーダは、図1に示したポイントクラウドビデオデコーダ10006の一例であり、図1で説明したイントクラウドビデオデコーダ10006の動作などと同一又は類似する動作を行う。図示したように、ポイントクラウドデコーダは一つ又はそれ以上のビットストリーム(bitstream)に含まれたジオメトリビットストリーム(geometry bitstream)及び特質ビットストリーム(Attribute bitstream)を受信する。ポイントクラウドデコーダはジオメトリデコーダ(geometry decoder)及び特質デコーダ(Attribute decoder)を含む。ジオメトリデコーダはジオメトリビットストリームに対してジオメトリ復号を行って復号されたジオメトリ(decoded geometry)を出力する。特質デコーダは復号されたジオメトリ及び特質ビットストリームに基づいて特質復号を行って復号された特質(decoded Attributes)を出力する。復号されたジオメトリ及び復号された特質はポイントクラウドコンテンツを復元(decoded point cloud)するために使用される。
【0136】
図11は実施例によるポイントクラウドデコーダ(Point Cloud Decoder)の一例を示す図である。
【0137】
図11に示したポイントクラウドデコーダは図10で説明したポイントクラウドデコーダの一例であり、図1ないし図9で説明したポイントクラウドエンコーダの符号化動作の逆過程である復号動作を行う。
【0138】
図1及び図10で説明したように、ポイントクラウドデコーダはジオメトリ復号及び特質復号を行う。ジオメトリ復号は特質復号よりも先に行われる。
【0139】
実施例によるポイントクラウドデコーダは、演算デコーダ(arithmetic decode)11000、八分木合成部(synthesize octree)11001、表面近似合成部(synthesize surface approximation)11002、ジオメトリ再構成部(reconstruct geometry)11003、座標系逆変換部(inverse transform coordinates)11004、演算デコーダ(arithmetic decode)11005、逆量子化部(inverse quantize)11006、RAHT変換部11007、LOD生成部(generate LOD)11008、逆リフト部(Inverse lifting)11009及び/又は色逆変換部(inverse transform colors)11010を含む。
【0140】
演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び座標系逆変換部11004はジオメトリ復号を行う。実施例によるジオメトリ復号はダイレクトコーディング(direct coding)及びtrisoupジオメトリ復号(trisoup geometry decoding)を含む。ダイレクトコーディング及びtrisoupジオメトリ復号は選択的に適用される。またジオメトリ復号は上記の例示に限られず、図1ないし図9で説明したジオメトリ符号化の逆過程で行われる。
【0141】
実施例による演算デコーダ11000は、受信したジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ11000の動作は演算エンコーダ40004の逆過程に対応する。
【0142】
実施例による八分木合成部11001は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を生成する。占有コードに関する具体的な説明は図1ないし図9に説明した通りである。
【0143】
実施例による表面近似合成部11002は、trisoupジオメトリ符号化が適用された場合、復号されたジオメトリ及び/又は生成された八分木に基づいて表面を合成する。
【0144】
実施例によるジオメトリ再構成部11003は、表面及び/又は復号されたジオメトリに基づいてジオメトリを再生成する。図1ないし図9で説明したように、ダイレクトコーディング及びtrisoupジオメトリ符号化は選択的に適用される。従って、ジオメトリ再構成部11003はダイレクトコーディングが適用されたポイントの位置情報を直接持ってきて追加する。また、trisoupジオメトリ符号化が適用される場合、ジオメトリ再構成部11003はジオメトリ再構成部40005の再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作を行ってジオメトリを復元する。具体的な内容は図6で説明した通りであるので省略する。復元されたジオメトリは特質を含まないポイントクラウドピクチャ又はフレームを含む。
【0145】
実施例による座標系逆変換部11004は復元されたジオメトリに基づいて座標系を変換してポイントの位置を得る。
【0146】
演算デコーダ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つの復号は選択的に使用されるか、又は一つ又はそれ以上の復号の組み合わせが使用される。また実施例による特質復号は上述した例示に限られない。
【0147】
実施例による演算デコーダ11005は、特質ビットストリームを演算コーディングに復号する。
【0148】
実施例による逆量子化部11006は、復号された特質ビットストリーム又は復号結果確保した特質に関する情報を逆量子化(inverse quantization)して、逆量子化された特質(又は特質値)を出力する。逆量子化はポイントクラウドエンコーダの特質符号化に基づいて選択的に適用される。
【0149】
実施例においてRAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、再構成されたジオメトリ及び逆量子化された特質を処理する。上述したように、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009は、ポイントクラウドエンコーダの符号化によってそれに対応する復号動作を選択的に行う。
【0150】
実施例による色逆変換部11010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色逆変換部11010の動作はポイントクラウドエンコーダの色変換部40006の動作に基づいて選択的に行われる。
【0151】
図11のポイントクラウドデコーダのエレメントは、図示していないが、ポイントクラウド提供装置に含まれた一つ又はそれ以上のメモリと通信可能に設定された一つ又はそれ以上のプロセッサ又は集積回路(integrated circuits)を含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。一つ又はそれ以上のプロセッサは、上述した図11のポイントクラウドデコーダのエレメント動作及び/又は機能のうちのいずれかを行う。また、一つ又はそれ以上のプロセッサは、図11のポイントクラウドデコーダのエレメントの動作及び/又は機能を行うためのソフトウェアプログラム及び/又は指示(instruction)のセットを動作又は実行する。
【0152】
図12は実施例による送信装置の一例を示す。
【0153】
図12に示した送信装置は、図1の送信装置10000(又は図4のポイントクラウドエンコーダ)の一例である。図12に示した送信装置は、図1ないし図9で説明したポイントクラウドエンコーダの動作及び符号化方法と同一又は類似する動作及び方法のうちのいずれかを行う。実施例による送信装置は、データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005、演算コーダー12006、メタデータ処理部12007、色相変換処理部12008、特質変換処理部(又は属性変換処理部)12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011及び/又は送信処理部12012を含む。
【0154】
実施例によるデータ入力部12000はポイントクラウドデータを受信又は獲得する。データ入力部12000はポイントクラウドビデオ獲得部10001の動作及び/又は獲得方法(又は図2に示した獲得過程20000)と同一又は類似する動作及び/又は獲得方法を行う。
【0155】
データ入力部12000、量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び演算コーダー12006はジオメトリ符号化を行う。実施例によるジオメトリ符号化は、図1ないし図9で説明したジオメトリ符号化と同一又は類似するので、具体的な説明は省略する。
【0156】
実施例による量子化処理部12001は、ジオメトリ(例えば、ポイントの位置値、又はポジション値)を量子化する。量子化処理部12001の動作及び/又は量子化は、図4に示した量子化部40001の動作及び/又は量子化と同一又は類似する。具体的な説明は図1ないし図9に説明した通りである。
【0157】
実施例によるボクセル化処理部12002は、量子化されたポイントの位置値をボクセル化する。ボクセル化処理部120002は図4に示した量子化部40001の動作及び/又はボクセル化過程と同一又は類似する動作及び/又は過程を行う。具体的な説明は図1ないし図9に説明した通りである。
【0158】
実施例による八分木占有コード生成部12003は、ボクセル化されたポイントの位置を八分木構造に基づいて八分木コーディングを行う。八分木占有コード生成部12003は占有コードを生成する。八分木占有コード生成部12003は図4及び図6で説明したポイントクラウドエンコーダ(又は八分木分析部40002)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は図1ないし図9に説明した通りである。
【0159】
実施例による表面モデル処理部12004は、表面モデル(surface model)に基づいて特定の領域(又はノード)内のポイントの位置をボクセル基盤に再構成するtrisoupジオメトリ符号化を行う。表面モデル処理部12004は図4に示したポイントクラウドエンコーダ(例えば、表面近似分析部40003)の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は図1ないし図9に説明した通りである。
【0160】
実施例によるイントラ/インターコーディング処理部12005は、ポイントクラウドデータをイントラ/インターコーディングする。イントラ/インターコーディング処理部12005は、図7で説明したイントラ/インターコーディングと同一又は類似するコーディングを行う。具体的な説明は図7に説明した通りである。実施例においてイントラ/インターコーディング処理部12005は演算コーダー12006に含まれる。
【0161】
実施例による演算コーダー12006は、ポイントクラウドデータの八分木及び/又は近似化された八分木をエントロピー符号化する。例えば、符号化方式は演算(Arithmetic)符号化方法を含む。演算コーダー12006は演算エンコーダ40004の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0162】
実施例によるメタデータ処理部12007は、ポイントクラウドデータに関するメタデータ、例えば、設定値などを処理してジオメトリ符号化及び/又は特質符号化などの必要な処理過程に提供する。また実施例によるメタデータ処理部12007は、ジオメトリ符号化及び/又は特質符号化に関連するシグナリング情報を生成及び/又は処理する。実施例によるシグナリング情報はジオメトリ符号化及び/又は特質符号化とは別途に符号化処理される。また実施例によるシグナリング情報はインターリービングされることもある。
【0163】
色相変換処理部12008、特質変換処理部12009、予測/リフト/RAHT変換処理部12010及び演算コーダー12011は特質符号化を行う。実施例による特質符号化は、図1ないし図9で説明した特質符号化と同一又は類似するので具体的な説明は省略する。
【0164】
実施例による色相変換処理部12008は、特質に含まれた色相値を変換する色相変換コーディングを行う。色相変換処理部12008は再構成されたジオメトリに基づいて色相変換コーディングを行う。再構成されたジオメトリに関する説明は、図1ないし図9に説明した通りである。また図4で説明した色変換部40006の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。
【0165】
実施例による特質変換処理部12009は、ジオメトリ符号化が行われていない位置及び/又は再構成されたジオメトリに基づいて特質を変換する特質変換を行う。特質変換処理部12009は図4に説明した特質変換部40007の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。具体的な説明は省略する。実施例による予測/リフト/RAHT変換処理部12010は変換された特質をRAHTコーディング、予測変換コーディング及びリフト変換コーディングのうちのいずれか一つ又は組み合わせてコーディングする。予測/リフト/RAHT変換処理部12010は図4に説明したRAHT変換部40008、LOD生成部40009及びリフト変換部40010の動作と同一又は類似する動作のうちのいずれかを行う。また、予測変換コーディング、リフト変換コーディング及びRAHT変換コーディングに関する説明は図1ないし図9に説明した通りであるので、具体的な説明は省略する。
【0166】
実施例による演算コーダー12011は、コーディングされた特質を演算コーディングに基づいて符号化する。演算コーダー12011は演算エンコーダ400012の動作及び/又は方法と同一又は類似する動作及び/又は方法を行う。
【0167】
実施例による送信処理部12012は、符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を含む各ビットストリームを送信するか、又は符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報を一つのビットストリームで構成して送信する。実施例による符号化されたジオメトリ及び/又は符号化された特質、メタデータ情報が一つのビットストリームで構成された場合、ビットストリームは一つ又はそれ以上のサブビットストリームを含む。実施例によるビットストリームはシーケンスレベルのシグナリングのためのSPS(Sequence Parameter Set)、ジオメトリ情報コーディングのシグナリングのためのGPS(Geometry Parameter Set)、特質情報コーディングのシグナリングのためのAPS(Attribute Parameter Set)、タイルレベルのシグナリングのためのTPS(Tile Parameter Set)を含むシグナリング情報及びスライスデータを含む。スライスデータは一つ又はそれ以上のスライスに関する情報を含む。実施例による一つのスライスは一つのジオメトリビットストリーム(Geom0)及び一つ又はそれ以上の特質ビットストリーム(Attr0、Attr1)を含む。実施例によるTPSは一つ又はそれ以上のタイルに対してそれぞれのタイルに関する情報(例えば、bounding boxの座標値情報及び高さ/サイズ情報など)を含む。ジオメトリビットストリームはヘッダとペイロードを含む。実施例によるジオメトリビットストリームのヘッダはGPSに含まれたパラメータセットの識別情報(geom_parameter_set_id)、タイル識別子(geom_tile_id)、スライス識別子(geom_slice_id)及びペイロードに含まれたデータに関する情報などを含む。上述したように、実施例によるメタデータ処理部12007はシグナリング情報を生成及び/又は処理して送信処理部12012に送信することができる。実施例において、ジオメトリ符号化を行うエレメント及び特質符号化を行うエレメントは、点線処理したように、相互データ/情報を共有することができる。実施例による送信処理部12012は送信機10003の動作及び/又は送信方法と同一又は類似する動作及び/又は送信方法を行う。具体的な説明は図1及び図2に説明した通りであるので、省略する。
【0168】
図13は実施例による受信装置の一例を示す。
【0169】
図13に示した受信装置は、図1の受信装置10004(又は図10及び図11のポイントクラウドデコーダ)の一例である。図13に示した受信装置は、図1ないし図11で説明したポイントクラウドデコーダの動作及び復号方法と同一又は類似する動作及び方法のうちのいずれかを行う。
【0170】
実施例による受信装置は、受信部13000、受信処理部13001、演算(arithmetic)デコーダ13002、占有コード(Occupancy code)基盤の八分木再構成処理部13003、表面モデル処理部(三角形再構成、アップサンプリング、ボクセル化)13004、逆(inverse)量子化処理部13005、メタデータ分析13006、演算(arithmetic)デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011を含む。実施例による復号の各構成要素は実施例による符号化の構成要素の逆過程を行う。
【0171】
実施例による受信部13000は、ポイントクラウドデータを受信する。受信部13000は図1の受信機10005の動作及び/又は受信方法と同一又は類似する動作及び/又は受信方法を行う。具体的な説明は省略する。
【0172】
実施例による受信処理部13001は受信したデータからジオメトリビットストリーム及び/又は特質ビットストリームを得る。受信処理部13001は受信部13000に含まれる。
【0173】
演算デコーダ13002、占有コード基盤の八分木再構成処理部13003、表面モデル処理部13004及び逆量子化処理部13005はジオメトリ復号を行う。実施例によるジオメトリ復号は図1ないし図10で説明したジオメトリ復号と同一又は類似するので、具体的な説明は省略する。
【0174】
実施例による演算デコーダ13002はジオメトリビットストリームを演算コーディングに基づいて復号する。演算デコーダ13002は演算デコーダ11000の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0175】
実施例による占有コード基盤の八分木再構成処理部13003は、復号されたジオメトリビットストリームから(又は復号結果、確保されたジオメトリに関する情報)から占有コードを獲得して八分木を再構成する。占有コード基盤の八分木再構成処理部13003は、八分木合成部11001の動作及び/又は八分木生成方法と同一又は類似する動作及び/又は方法を行う。実施例による表面モデル処理部13004はtrisoupジオメトリ符号化が適用された場合、表面モデル方式に基づいてtrisoupジオメトリ復号及びそれに関連するジオメトリ再構成(例えば、三角形再構成、アップサンプリング、ボクセル化)を行う。表面モデル処理部13004は表面近似合成部11002及び/又はジオメトリ再構成部11003の動作と同一又は類似する動作を行う。
【0176】
実施例による逆量子化処理部13005は復号されたジオメトリを逆量子化する。
【0177】
実施例によるメタデータ分析13006は受信したポイントクラウドデータに含まれたメタデータ、例えば、設定値などを分析する。メタデータ分析13006はメタデータをジオメトリ復号及び/又は特質復号に伝達する。メタデータに関する具体的な説明は図12で説明した通りであるので省略する。
【0178】
演算デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009及び色相逆変換処理部13010は特質復号を行う。特質復号は図1なしい図10で説明した特質復号と同一又は類似するので、具体的な説明は省略する。
【0179】
実施例による演算デコーダ13007は、特質ビットストリームを演算コーディングに復号する。演算デコーダ13007は再構成されたジオメトリに基づいて特質ビットストリームの復号を行う。演算デコーダ13007は演算デコーダ11005の動作及び/又はコーディングと同一又は類似する動作及び/又はコーディングを行う。
【0180】
実施例による逆量子化処理部13008は、復号された特質ビットストリームを逆量子化する。逆量子化処理部13008は逆量子化部11006の動作及び/又は逆量子化方法と同一又は類似する動作及び/又は方法を行う。
【0181】
実施例による予測/リフト/RAHT逆変換処理部13009は、再構成されたジオメトリ及び逆量子化された特質を処理する。予測/リフト/RAHT逆変換処理部13009は、RAHT変換部11007、LOD生成部11008及び/又は逆リフト部11009の動作及び/又は復号と同一又は類似する動作及び/又は復号のうちのいずれかを行う。実施例による色相逆変換処理部13010は、復号された特質に含まれた色値(又はテクスチャ)を逆変換するための逆変換コーディングを行う。色相逆変換処理部13010は色逆変換部11010の動作及び/又は逆変換コーディングと同一又は類似する動作及び/又は逆変換コーディングを行う。実施例によるレンダラー13011はポイントクラウドデータをレンダリングする。
【0182】
図14は実施例によるG-PCC基盤のポイントクラウドコンテンツストリーミングためのアーキテクチャを示す図である。
【0183】
図14の上側は図1ないし図13で説明した送信装置(例えば、送信装置10000、図12の送信装置など)がポイントクラウドコンテンツを処理及び送信する過程を示す。
【0184】
図1ないし図13で説明したように、送信装置はポイントクラウドコンテンツのオディオ(Ba)を得(Audio Acquisition)、得られたオディオを符号化(Audio encoding)してオディオビットストリーム(Ea)を出力する。また送信装置はポイントクラウドコンテンツのポイントクラウド(Bv)(又はポイントクラウドビデオ)を確保し(Point Acqusition)、確保したポイントクラウドについてポイントクラウド符号化(Point cloud encoding)を行ってポイントクラウドビデオビットストリーム(Ebを出力する。送信装置のポイントクラウド符号化は、図1ないし図13で説明したポイントクラウド符号化(例えば、図4のポイントクラウドエンコーダの符号化など)と同一又は類似するので具体的な説明は省略する。
【0185】
送信装置は生成されたオディオビットストリーム及びビデオビットストリームをファイル及び/又はセグメントにカプセル化(File/segment encapsulation)する。カプセル化されたファイル及び/又はセグメント(Fs、File)は、ISOBMFFなどのファイルフォーマットのファイル又はDASHセグメントを含む。実施例によるポイントクラウド関連メタ データ(metadata)は、カプセル化されたファイルフォーマット及び/又はセグメントに含まれる。メタデータはISOBMFFファイルフォーマット上の様々なレベルのボックスに含まれるか、又はファイル内で別のトラックに含まれる。実施例において、送信装置はメタデータ自体を別のファイルにカプセル化することができる。実施例による送信装置は、カプセル化されたファイルフォーマット及び/又はセグメントをネットワークにより送信する。送信装置のカプセル化及び送信処理方法は図1ないし図13で説明した通りであるので(例えば、送信機10003、図2の送信段階20002など)、具体的な説明は省略する。
【0186】
図14の下側は図1ないし図13で説明した受信装置(例えば、受信装置10004、図13の受信装置など)がポイントクラウドコンテンツを処理及び出力する過程を示している。
【0187】
実施例において、受信装置は最終オディオデータ及び最終ビデオデータを出力するデバイス(例えば、スピーカー(Loudspeakers)、ヘッドホン(headphones)、ディスプレイ(Display)及びポイントクラウドコンテンツを処理するポイントクラウドプレーヤー(Point Cloud Player)を含む。最終データ出力デバイス及びポイントクラウドプレーヤーは別の物理的なデバイスで構成される。実施例によるポイントクラウドプレーヤーは、G-PCC(Geometry-based Point Cloud Compression)コーディング及び/又はV-PCC(Video based Point Cloud Compression)コーディング及び/又は次世代コーディングを行う。
【0188】
実施例による受信装置は受信したデータ(例えば、放送信号、ネットワークにより送信される信号など)に含まれたファイル及び/又はセグメント(F',Fs')を確保し、デカプセル化(File/segment decapsulation)する。受信装置の受信及びデカプセル化方法は図1ないし図13で説明した通りであるので(例えば、受信機10005、受信部13000、受信処理部13001など)、具体的な説明は省略する。
【0189】
実施例による受信装置は、ファイル及び/又はセグメントに含まれたオディオビットストリーム(E'a)及びビデオビットストリーム(E'v)を確保する。図示したように、受信装置はオディオビットストリームに対してオディオ復号(audio decoding)を行って復号されたオディオデータ(B'a)を出力し、復号されたオディオデータをレンダリングして(audio rendering)最終オディオデータ(A'a)をスピーカー又はヘッドホンなどで出力する。
【0190】
また受信装置は、ビデオビットストリーム(E'v)に対してポイントクラウド復号(point cloud decoding)を行って復号されたビデオデータ(B'v)を出力する。実施例によるポイントクラウド復号は、図1ないし図13で説明したポイントクラウド復号と同一又は類似するので(例えば、図11のポイントクラウドデコーダの復号など)、具体的な説明は省略する。受信装置は復号されたビデオデータをレンダリングして(rendering)最終ビデオデータをディスプレイに出力する。
【0191】
実施例による受信装置は、共に送信されたメタデータに基づいてデカプセル化、オディオ復号、オディオレンダリング、ポイントクラウド復号及びレンダリング動作のうちのいずれかを行う。メタデータに関する説明は図12及び図13で説明した通りであるので省略する。
【0192】
図示した点線のように、実施例による受信装置(例えば、ポイントクラウドプレーヤー又はポイントクラウドプレーヤー内のセンシング/トラッキング部(sensing/tracking)は、フィードバック情報(orientation、viewport)を生成する。実施例によるフィードバック情報は受信装置のデカプセル化、ポイントクラウド復号過程及び/又はレンダリング過程で使用され、送信装置に伝達されることもできる。フィードバック情報に関する説明は図1ないし図13で説明した通りであるので省略する。
【0193】
図15は実施例による送信装置の一例を示す図である。
【0194】
図15の送信装置はポイントクラウドコンテンツを送信する装置であり、図1ないし図14で説明した送信装置(例えば、図1の送信装置10000、図4のポイントクラウドエンコーダ、図12の送信装置、図14の送信装置など)の例示に該当する。従って、図15の送信装置は図1ないし図14で説明した送信装置の動作と同一又は類似する動作を行う。
【0195】
実施例による送信装置は、ポイントクラウド獲得(point cloud acquisition)、ポイントクラウド符号化(point cloud encoding)、ファイル/セグメントカプセル化(file/segement encapsulation)及び送信(delivery)のうちのいずれか又はそれ以上を行うことができる。
【0196】
図示したポイントクラウド獲得及び送信動作は図1ないし図14で説明した通りであるので具体的な説明は省略する。
【0197】
図1ないし図14で説明したように、実施例による送信装置はジオメトリ符号化及び特質符号化を行う。実施例によるジオメトリ符号化はジオメトリ圧縮(geometry compression)とも呼ばれ、特質符号化は特質圧縮(Attribute compression)とも呼ばれる。上述したように、一つのポイントは一つのジオメトリと一つ又はそれ以上の特質を有する。従って、送信装置はそれぞれの特質に対して特質符号化を行う。図面では送信装置が一つ又はそれ以上の特質圧縮(Attribute #1 compression、… Attribute #N compression)を行った例示を示している。また実施例による送信装置は追加圧縮(auxiliary compression)を行うことができる。追加圧縮はメタデータ(metadata)に対して行われる。メタデータに関する説明は図1ないし図14に説明した通りであるので省略する。また送信装置はメッシュデータ圧縮(Mesh data compression)を行うことができる。実施例によるメッシュデータ圧縮は図1ないし図14で説明したtrisoupジオメトリ符号化を含む。
【0198】
実施例による送信装置はポイントクラウド符号化により出力されたビットストリーム(例えば、ポイントクラウドストリーム)をファイル及び/又はセグメントにカプセル化する。実施例において、送信装置はメタデータ以外のデータ(例えば、メディアデータ)を運ぶメディアトラックカプセル化(media track encapsulation)を行い、メタデータを運ぶメタデータトラックカプセル化(metadata tracak encapsulation)を行う。実施例においてメタデータはメディアトラックにカプセル化される。
【0199】
図1ないし図14に説明したように、送信装置は受信装置からフィードバック情報(オリエンテーション/ビューポートメタデータ)を受信し、受信したフィードバック情報に基づいてポイントクラウド符号化、ファイル/セグメントカプセル化及び送信動作のうちのいずれかを行う。具体的な説明は図1ないし図14に説明した通りであるので省略する。
【0200】
図16は実施例による受信装置の一例を示す図である。
【0201】
図16の受信装置はポイントクラウドコンテンツを受信する装置であり、図1ないし図14で説明した受信装置(例えば、図1の受信装置10004、図11のポイントクラウドデコーダ、図13の受信装置、図14の受信装置など)の例示に該当する。従って、図16の受信装置は図1ないし図14で説明した受信装置の動作と同一又は類似する動作を行う。また図16の受信装置は図15の送信装置で送信した信号などを受け、図15の送信装置の動作の逆過程を行うことができる。
【0202】
実施例による受信装置は受信(delivery)、ファイル/セグメントデカプセル化(file/segement decapsulation)、ポイントクラウド復号(point cloud decoding)及びポイントクラウドレンダリング(point cloud rendering)のうちのいずれか又はそれ以上を行う。
【0203】
図示されたポイントクラウド受信及びポイントクラウドレンダリング動作は図1ないし図14に説明した通りであるので具体的な説明は省略する。
【0204】
図1ないし図14に説明したように、実施例による受信装置はネットワーク又は格納装置から得たファイル及び/又はセグメントに対してデカプセル化を行う。実施例において、受信装置はメタデータ以外のデータ(例えば、メディアデータ)を運ぶメディアトラックデカプセル化(media track decapsulation)を行い、メタデータを運ぶメタデータトラックデカプセル化(metadata tracak decapsulation)を行うことができる。実施例において、メタデータがメディアトラックにカプセル化された場合、メタデータトラックデカプセル化は省略される。
【0205】
図1ないし図14に説明したように、受信装置はデカプセル化により確保したビットストリーム(例えば、ポイントクラウドストリーム)に対してジオメトリ復号及び特質復号を行う。実施例によるジオメトリ復号はジオメトリ復元(geometry decompression)とも呼ばれ、特質復号は特質復元(Attribute decompression)とも呼ばれる。上述したように、一つのポイントは一つのジオメトリと一つ又はそれ以上の特質を有し、それぞれ符号化される。従って、受信装置は各特質に対して特質復号を行う。図面では受信装置が一つ又はそれ以上の特質復元(Attribute #1 decompression、…ute #N decompression)を行った例示を示している。また実施例による受信装置は追加復元(auxiliary decompression)を行うことができる。追加復元はメタデータに対して行われる。メタデータに関する説明は図1ないし図14に説明した通りであるので省略する。また受信装置はメッシュデータ復元(Mesh data decompression)を行う。実施例によるメッシュデータ復元は図1ないし図14で説明したtrisoupジオメトリ復号を含む。実施例による受信装置はポイントクラウド復号によって出力されたポイントクラウドデータをレンダリングする。
【0206】
図1ないし図14に説明したように、受信装置は別のセンシング/トラッキングエレメントなどを用いてオリエンテーション/ビューポートメタデータを確保し、それを含むフィードバック情報を送信装置(例えば、図15の送信装置)に送信することができる。また受信装置はフィードバック情報に基づいて受信動作、ファイル/セグメントデカプセル化及びポイントクラウド復号のうちのいずれかを行うことができる。具体的な説明は図1ないし図14に説明した通りであるので省略する。
【0207】
図17は実施例によるポイントクラウドデータの送受信方法/装置に連動可能な構造の一例を示す図である。
【0208】
図17の構造はサーバー1760、ロボット1710、自律走行車両1720、XR装置1730、スマートフォン1740、家電1750及び/又はHMD1770のうちのいずれかがクラウドネットワーク1710に連結された構成を示している。ロボット1710、自律走行車両1720、XR装置1730、スマートフォン1740又は家電1750などは装置とも呼ばれる。またXR装置1730は実施例によるポイントクラウドデータ(PCC)装置に対応するか又はPCC装置に連動する。
【0209】
クラウドネットワーク1700はクラウドコンピューティングインフラの一部を構成するか、又はクラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク1700は3Gネットワーク、4G又はLTEネットワーク又は5Gネットワークなどを用いて構成される。
【0210】
サーバー1760はロボット1710、自律走行車両1720、XR装置1730、スマートフォン1740、家電1750及び/又はHMD1770のいずれかにクラウドネットワーク1700により連結され、連結された装置1710~1770のプロセシングの少なくとも一部を助けることができる。
【0211】
HMD(Head-Mount Display)1770は実施例によるXRデバイス及び/又はPCCデバイスが具現されるタイプのうちのいずれかを示す。実施例によるHMDタイプのデバイスは、コミュニケーションズユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット及びパーワ供給ユニットなどを含む。
【0212】
以下、上記技術が適用される装置1710~1750の様々な実施例について説明する。ここで、図17に示した装置1710~1750は上述した実施例によるポイントクラウドデータ送受信装置に連動/結合することができる。
【0213】
<PCC+XR>
【0214】
XR/PCC装置1730はPCC及び/又はXR(AR+VR)技術が適用されて、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマートフォン、コンピューター、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどに具現されることもできる。
【0215】
XR/PCC装置1730は、様々なセンサにより又は外部装置から獲得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び特質データを生成することにより周辺空間又は現実オブジェクトに関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置1730は認識された物体に関する追加情報を含むXR客体を該当認識された物体に対応して出力することができる。
【0216】
<PCC+自立走行+XR>
【0217】
自律走行車両1720はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
【0218】
XR/PCC技術が適用された自律走行車両1720は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味する。特に、XR映像内での制御/相互作用の対象となる自律走行車両1720はXR装置1730とは区分されて互いに連動されることができる。
【0219】
XR/PCC映像を提供する手段を備えた自律走行車両1720は、カメラを含むセンサからセンサ情報を得、得たセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両1720はHUDを備えてXR/PCC映像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCC客体を提供することができる。
【0220】
この時、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオーバーラップされるように出力される。反面、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
【0221】
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
【0222】
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。反面、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は現実世界に仮想客体を混ぜて見せるという点では上記AR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体の区別が明らかであり、現実客体を補完する形態で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体が同様の性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサービスである。
【0223】
但し、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術とも呼ぶ。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術基盤の符号化/復号が適用される。
【0224】
実施例によるPCC方法/装置は自律走行サービスを提供する車両に適用できる。
【0225】
自律走行サービスを提供する車両はPCCデバイスと有無線通信可能に連結される。
【0226】
実施例によるポイントクラウドデータ(PCC)送受信装置は、車両と有無線通信可能に連結された場合、自律走行サービスと共に提供できるAR/VR/PCCサービス関連コンテンツデータを受信/処理して車両に送信することができる。またポイントクラウドデータ送受信装置車両に搭載された場合は、ポイントクラウド送受信装置はユーザインターフェース装置で入力されたユーザ入力信号によってAR/VR/PCCサービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
【0227】
図18は実施例によるポイントクラウドデータエンコーダを示す図である。
【0228】
実施例によるポイントクラウドエンコーダ18000は、ポイントクラウドデータ(PCCデータ、18000a)を受信して、これらを符号化する。実施例によるポイントクラウドエンコーダは幾何情報ビットストリーム18000b及び属性情報ビットストリーム18000cを出力する。実施例によるポイントクラウドエンコーダ18000は空間分割部18001、幾何情報符号化部18002及び/又は属性情報符号化部18003を含む。
【0229】
空間分割部18001は、ポイントクラウドエンコーダはポイントクラウドデータ(PCCデータ、18000a)を受信し、ポイントクラウドデータを一つ又はそれ以上の3次元空間に分割する。空間分割部18001はポイントクラウドデータを受信し、ポイントクラウドデータを3次元ブロックに空間分割する。ポイントクラウドデータはポイント(又は複数のポイント)の幾何情報及び/又は属性情報を含む。空間分割部18001は境界ボックス(bounding box)及び/又は副境界ボックスなどに基づいてポイントクラウドデータ(PCCデータ)を空間分割する。実施例による方法/装置は分割された単位(ボックス)に基づいて符号化/復号を行う。
【0230】
空間分割部18001は図1のクラウド獲得(Point Cloud Acquisition)10001、図2の獲得20000の動作、図3ないし図5による動作、図12のデータ入力部12000動作の一部/全部を行うことができる。
【0231】
幾何情報符号化部18002は、実施例によるポイントクラウドデータ(PCCデータ)のジオメトリ情報を受信してそれを符号化する。ジオメトリ情報はポイントクラウドデータに含まれたポイントの位置情報を意味する。幾何情報符号化部18002はジオメトリ情報を符号化して幾何情報ビットストリームを出力する。幾何情報符号化部18002はポイントの位置情報を再構成して復元された幾何情報18002aを出力することができる。幾何情報符号化部18002は復元さえた幾何情報を属性情報符号化部18002に伝達する。
【0232】
幾何情報符号化部18002は、図1のポイントクラウドビデオエンコーダ(Point Cloud Video Encoder)10002、図2の符号化20001、図4の座標系変換部40000、量子化40001、八分木分析部40002、表面近似分析部40003、演算エンコーダ40004、ジオメトリ再構成部40005、図12の量子化処理部12001、ボクセル化処理部12002、八分木占有コード生成部12003、表面モデル処理部12004、イントラ/インターコーディング処理部12005及び/又は演算コーダー12006の動作の一部/全部を行う。
【0233】
属性情報符号化部18003は実施例によるポイントクラウドデータの属性情報を受信し、幾何情報符号化部18003から受信した復元された幾何情報を用いて属性情報を符号化する。属性情報符号化部18003は属性情報を符号化して属性情報ビットストリーム18000cを出力する。属性情報符号化部18003は例えば、実施例による予測変換(prediction transform)、リフト変換(lifting transform)及び/又はRAHT(Region Adaptive Hierarchical Transform)変換を行う。属性情報符号化部18003は、例えば、予測リフト(prediction lifting、又は予測リフト)変換を行う。予測リフト変換は実施例による予測変換及び/又はリフト変換の各々の詳しい動作の一部又は全部を組み合わせたことを意味する。
【0234】
実施例によるポイントクラウドエンコーダは、実施例による予測変換(prediction transform)、リフト変換(lifting transform)及び/又はRAHT(Region Adaptive Hierarchical Transform)変換の一部、全部及び/又はそれぞれの組み合わせにより符号化を行う。
【0235】
属性情報符号化部18003は、図1のポイントクラウドビデオエンコーダ10002、図2の符号化20001、図4の色変換部40006、属性変換部40007、RATH変換部40008、LOD生成部40009、リフト変換部40010、係数量子化部40011及び/又は演算符号化部40012の動作、図12の色相変換処理部12008、属性変換処理部12009、予測/リフト/RAHT変換処理部12010、演算コーダー12011の動作の全部/一部を行う。
【0236】
ここで、復元された幾何情報18002cは、図4で説明したジオメトリ再構成部(Reconstruct Geometry)40005により再構成された八分木及び/又は近似化された八分木を意味する。復元された幾何情報は図6で説明した占有コードを意味するか又は八分木構造を意味する。復元された幾何情報は図12で説明した八分木占有コード生成部12003により生成された八分木占有コードを意味することもできる。
【0237】
属性情報符号化部18003は、実施例によるポイントクラウドデータの属性情報を符号化する。ここで、実施例による符号化部18003は実施例による復元された幾何情報(又は復元されたジオメトリ情報)を用いて属性情報を符号化する。属性情報符号化部18003は受信されたデータを符号化して特質情報(又は属性情報)を含むビットストリームを生成することができる。
【0238】
実施例による属性情報符号化部18003は、図4の色相変換部40006、属性送信部40007、RAHT変換部40008、LOD生成部40009、リフト部40010、量子化部40011及び/又は演算符号化部400012を含む。
【0239】
ポイントクラウドデータはそれぞれのポイントの位置を示すジオメトリ(geometry)情報、各ポイントの属性(特質)を示す特質(Attribute)情報を含む。ポイントクラウドデータは3次元空間上に不均一に分布することもあるので、それを効率的に圧縮するために、実施例による八分木構造を用いて圧縮を行う。即ち、実施例によるエンコーダは八分木を生成し、生成された八分木に基づいて特質情報を符号化する。実施例による特質情報を符号化する方法は、RAHT(region adaptive hierarchical transform)、LoD(Level of Detail)に基づいて行われる。
【0240】
実施例によるRAHT基盤の特質符号化は、図9で説明した変換行列を使用する。変換行列に使用される係数は八分木構造のレベルによって計算されるので、八分木構造に依存する。よって、RAHT基盤の特質符号化は八分木構造を符号化した後(即ち、ジオメトリ符号化を行った後)に行われるので、高速処理が求められるシステムで不要な遅延が発生することもある。
【0241】
また、実施例によるLoD基盤の特質符号化は、特定ポイントで隣接ポイントを探索するための最隣接探索(nearest neighbor search)過程を行う。最隣接探索過程では正確な隣接ポイントを探索できるが、探索過程に所要される時間が相対的に長いので、高速処理が求められるシステムでは不要な遅延(delay)が発生することもある。
【0242】
よって、実施例によるエンコーダは、八分木のノードにポイントの特質及び/又は位置情報をマッチングしてカラー化された八分木(colorized octree)を生成し、カラー化された八分木に基づいて特質符号化を行う。実施例によるエンコーダはカラー化された八分木に基づいて少ない演算量で特質符号化を行う。実施例による送信装置はカラー化された八分木に関連するシグナリング情報を受信装置に送信する。受信装置はカラー化された八分木に関連するシグナリング情報を確保し、カラー化された八分木を生成する。実施例によるデコーダはカラー化された八分木に基づいてジオメトリ復号と同時に特質復号を行うことができるので、ポイントクラウドデータの提供時に不要な遅延を防止することができる。また、実施例によるデコーダはカラー化された八分木に基づいて符号化された特質を処理するので、より少ない演算量で特質復号を行うことができる。実施例による受信装置はカラー化された八分木に基づいて受信装置の性能(例えば、レンダラー性能、出力性能など)によって様々なレベルの解像度を有するコンテンツをレンダリング又は出力できる。以下、実施例による八分木をカラー化してカラー化された八分木を生成し、それを送信する過程について説明する。
【0243】
図19は実施例による八分木とカラー化された八分木を示す図である。
【0244】
実施例によるポイントクラウドデータエンコーダは実施例による八分木を生成し、生成された八分木を用いてカラー化された八分木を生成する。図19はカラー化された八分木を生成する方法を示す。
【0245】
カラー化された八分木は、八分木内に含まれた一つ又はそれ以上のノードに特質情報が含まれたカラー化された八分木構造(colorized octree structure)を意味する。即ち、カラー化された八分木は八分木構造を用いることによりポイントの位置情報を示すと同時に、該当位置にマッチングされる特質情報を同時に含んでいる構造を意味する。
【0246】
図19(a)は実施例による八分木構造を示す。八分木構造(octree structure)はポイントの位置情報を示すデータ構造を意味する。八分木構造は図5及び図6に説明した八分木を意味する。
【0247】
八分木構造は一つ又はそれ以上のノードからなるK-分割木で構成される。八分木構造では、図5及び図6に説明したように、3次元空間上のポイントの占有有無を0と1を用いて示す。八分木構造は一つのルートノード19000aを含む。ルートノード19000aは8つの子ノード(child node)19000b-1~19000b-2を含む。子ノードは3次元空間内でポイントの占有有無により0の値を有するか又は1の値を有する。8つの子ノードはレベルが1であるノードと呼ばれる。8つの子ノードの一部は下位子ノードをさらに含む。
【0248】
八分木構造は最下位レベルのノード、即ち、一つ又はそれ以上のリーフノード19000c-1~19000c-2を含む。リーフノードはそれ以上分割されない3次元空間(即ち、ボクセル)に対応する。
【0249】
図19(a)に示された八分木構造は図18の幾何情報符号化部18002で生成され、図11のジオメトリ再構成部11003で生成されることができる。図19(a)に示された八分木構造は3次元空間上のポイントの位置情報のみを含む。八分木構造内のリーフノードはボクセル(voxel)単位内の空間内ポイントの存在有無のみを0と1を用いて示す。
【0250】
図19(b)は八分木構造のリーフノードに特質情報をマッチングしたことを示す。八分木構造内のリーフノードはボクセル(voxel)単位内の空間内ポイントの存在有無のみを示すので、実施例によるエンコーダはリーフノードに対応するボクセル単位内の空間に対応する特質情報をマッチングすることができる。
【0251】
例えば、図19(a)のリーフノード19000c-1は該当ボクセル内にポイントがないので、実施例によるエンコーダは該当リーフノードに特質情報をマッチングする必要がない19001-1。しかし、図19(a)の他のリーフノード19000c-2は該当ボクセル内に一つ又はそれ以上のポイントがある。従って、実施例によるエンコーダは、該当リーフノードに一つ又はそれ以上のポイントを代弁する特質情報をマッチング19001a-2することができる。リーフノードに特質情報をマッチングするとは、該当リーフノードの値を該当特質情報に代入することと理解できる。
【0252】
以下、八分木構造内の一つ又はそれ以上のノードにジオメトリ情報及び/又は特質情報をマッチングする動作を‘カラー化する(colorize)’と呼ぶ。即ち、八分木構造内の特定のノード(リーフノード含み)にジオメトリ情報及び/又は特質情報をマッチングする場合、これを特定のノードをカラー化すると表現する。例えば、八分木構造内のリーフノードにジオメトリ情報及び/又は特質情報をマッチングする場合、これをリーフノードをカラー化すると表現する。また八分木ノードのルートノードにジオメトリ情報及び/又は特質情報をマッチングする場合、これをルートノードをカラー化すると表現する。
【0253】
例えば、該当ボクセル内に一つのポイントが存在する場合、実施例によるエンコーダは該当ポイントの特質情報を該当ボクセルに対応するリーフノードにマッチングすることができる。例えば、該当ボクセル内に複数のポイントが存在する場合、実施例によるエンコーダは複数のポイントを代弁する特質情報(例えば、平均情報など)をリーフノードにマッチングすることができる。
【0254】
図19(c)はリーフノードに特質情報がマッチングされた八分木を用いてカラー化された八分木を生成する過程を示す。図19(b)において、エンコーダはリーフノードにマッチングされた特質情報の一部データが八分木のリーフノードではないノードにマッチングする。例えば、図19(c)において、全体ポイントクラウドデータで代弁する特質情報がC2であれば、C2をルートノード19002aにマッチングすることができる。
【0255】
実施例によるエンコーダは、リーフノードではないノードに特質情報がマッチングされると、マッチングされた特質情報がリーフノードのうちのいずれかに重複して含まれることができるので、重複した情報を有するリーフノードをさらに除去することができる(19002b-1及び19002b-2)。
【0256】
実施例によるエンコーダは、カラー化された八分木を生成して特質情報を符号化することにより、八分木構造を全て符号化しなくても特質符号化を行うことができるので、高速処理が求められるシステムで不要な遅延が発生する問題を解決することができる。また実施例によるエンコーダは、八分木構造を用いてカラー化された八分木を生成することにより、周辺部ポイントを探索するための過程をLoDを用いた特質コーディング方式よりも迅速に行うことができる。従って、実施例による送信端では少ない演算量で属性情報を圧縮することができる。
【0257】
また実施例によるポイントクラウドデータ受信装置(又はデコーダ)は、カラー化された八分木を用いて復号することにより、必ず特質情報を全て復号しなくても特質情報を復号することができ、スケーラブル(scalable)な復号が可能である。即ち、実施例によるカラー化された八分木を用いて一つの圧縮されたビットストリームに基づいて様々な性能の受信機を支援することができる。例えば、実施例による送信装置が様々な性能のデコーダを対象として情報を圧縮する場合、それぞれのデコーダ性能に合う独立した圧縮情報を生成或いは格納する代わりに、一つのビットストリームにより様々な性能の受信機を支援できるので、送信部の格納空間及びビット効率を高めることができる。また送信帯域幅に制限がある場合は、送信部で低解像度のポイントクラウドデータ生成後に伝達することができる。
【0258】
以下、カラー化された八分木を生成するための実施例によるエンコーダの構造と動作の一例を具体的に説明する。
【0259】
図20は実施例によるポイントクラウドデータエンコーダを示す図である。
【0260】
実施例によるポイントクラウドデータエンコーダ20000は、ポイントクラウドデータ(point cloud data)を受信して符号化した後、ジオメトリビットストリーム(geometry bitstream)及び特質ビットストリームを出力する。実施例によるポイントクラウドデータエンコーダ20000は、八分木生成部(Octree generation)20001、ジオメトリ予測部(Geometry prediction)20002、ジオメトリエントロピーコーディング部(Entropy coding)20003、八分木マッチング部(Octree matching)20004、カラー化された八分木生成部(Colorized octree generation)20004、特質予測部(Attribute prediction)20005、変形及び量子化部(Transform & Quantization)20006及び特質エントロピーコーディング部(Entropy coding)20007を含む。
【0261】
実施例によるポイントクラウドデータは、図18のPCCデータ18000a又は空間分割部18001により分割されたデータを意味する。ポイントクラウドデータはジオメトリデータ(geometry data)及び特質データ(Attribute data)を含む。ジオメトリデータはポイントクラウドデータの位置情報を示す情報である。特質データはポイントクラウドデータの属性情報を示す情報である。
【0262】
ジオメトリビットストリーム(geometry bitstream)は図18の幾何情報ビットストリーム18000bに対応する。特質ビットストリームは図18の属性情報ビットストリーム18000cに対応する。
【0263】
八分木生成部20001は実施例によるジオメトリデータを受信する。八分木生成部20001はジオメトリデータを用いてポイントの位置情報を八分木構造で生成する。八分木構造は図5及び図6で説明した八分木構造を意味する。八分木生成部20001は生成された八分木構造をジオメトリ予測部19002及び/又は八分木マッチング部20004に伝達する。八分木生成部20001は図18の幾何情報符号化部18002に含まれ、図11のジオメトリ再構成部11003を意味する。
【0264】
実施例によるジオメトリ予測部20002は実施例による八分木を用いてジオメトリ情報を予測する。
【0265】
実施例によれば、送信装置は周辺部ノードを検出する方法で、特定ポイントから一定の範囲内の子ノード間の位置隣接性に基づいて予測を行うことができる。例えば、送信装置又は受信装置は八分木構造において同一の親ノードを有する下位ノード同士に隣接していると仮定し、送信装置又は受信装置は隣接する子ノード間の予測値が類似すると仮定することができる。従って、受信装置はそれぞれの子ノードに対する予測特質値を導き出すことではなく、同一の親ノードを有する兄弟ノード(Sibling node)が同じ予測特質値を有するように定義して、親ノードの特質データを予測する。かかる構成により、送信及び受信装置はそれぞれの子ノードを符号化するときに必要な係数の数を減らすことにより、コーディング効率を増加させることができる。また、それぞれの親ノードに対する代表値として作用することにより、八分木構造にマッチングされる属性を予測することができる。
【0266】
【0267】
実施例によれば、送信装置は予測情報に基づいてそれぞれの子ノードの属性予測エラー(predition error)を以下のように求めることができる。特質予測エラーは、元の特質データと予測した特質データとの差を意味する。特質予測エラー(prediction error)は目的によって異なる方法(e.g.,weighted difference、weighted averaged differenceなど)を使用する。
【0268】
【0269】
実施例によるジオメトリエントロピーコーディング部20003は、実施例による予測されたジオメトリ情報をエントロピーコーディング(Entropy coding)してジオメトリビットストリームを出力する。
【0270】
実施例によるカラー化された八分木生成部20004は、八分木生成部20001で生成した八分木構造と特質データを受信して実施例によるカラー化された八分木を生成する。生成部20004は図21で説明した動作によってカラー化された八分木を生成する。八分木生成部20001で生成した八分木構造は図19(a)に示した八分木構造を意味する。
【0271】
カラー化された八分木生成部20004は、例えば、八分木マッチング部20004a及び/又はインターノード重複データ除去部(Inter-node duplication removal)24000bを含む。
【0272】
八分木マッチング部20004aは八分木構造と特質データを受信して特質データを八分木構造のリーフノードにマッチングする。八分木マッチング部20004aはリーフノードにマッチングされた八分木を用いて特質データをリーフノードではないノードに特質データをマッチングする。例えば、八分木マッチング部20004は、図19(b)に示すように、リーフノードに特質情報がマッチングされた八分木構造を生成し、図19(c)に示すように、リーフノードに特質情報がマッチングされた八分木構造を用いてリーフノードではないノードに特質情報をマッチングすることができる。即ち、八分木マッチング部20004は八分木構造のノードに特質データがマッチングされたカラー化された八分木を生成する。
【0273】
インターノード重複データ除去部20004bは、実施例によるカラー化された八分木を受信して、カラー化された八分木内に含まれた重複データを除去する。例えば、インターノード重複データ除去部20004bは、図19(c)に示したように、リーフノードとリーフノードではないノードに重複して含まれたデータがある場合、該当重複して含まれたデータを除去することができる(19002b-1)。インターノード重複データ除去部20004bは重複したデータが除去されたカラー化された八分木を生成して出力する。
【0274】
特質予測部20005は実施例によるカラー化された八分木を受信して、必要な特質情報を予測する。特質予測部20005は残差(residual)又は予測された(predicted)特質情報を深さレベル(depth level)ごとに生成する。
【0275】
変形及び量子化部20006は特質予測部20005で生成した予測された特質データ又は残差の特質データを受信して、それらを変換(transform)して量子化する。
【0276】
特質エントロピーコーディング部20007は、実施例による変換及び量子化された特質情報をエントロピーコーディングして、特質ビットストリームを出力する。
【0277】
カラー化された八分木を生成して特質情報を送信することにより、実施例によるエンコーダは、八分木構造を全て符号化しなくても特質符号化を行うことができ、高速処理が求められるシステムで不要な遅延が発生する問題を解決することができ、少ない演算量に基づいて属性情報を圧縮することができる。
【0278】
カラー化された八分木は八分木構造を用いることによりポイントの位置情報を示すと同時に、該当位置にマッチングされる特質情報を同時に含んでいる構造である。また、カラー化された八分木では特質情報がリーフノードにのみ限定して分布せず、複数のノードに分散して分布している。よって、実施例によるデコーダは、カラー化された八分木をルートノードからリーフノードまで順にジオメトリ情報と特質情報を巡回しながらデコーダの性能に適応的に復号を行うことができる。即ち、実施例によるポイントクラウドデータ受信装置(又はデコーダ)は、カラー化された八分木を受信することにより、必ず特質情報を全て復号しなくても特質情報を復号することができ、スケーラブルな復号が可能である。またカラー化された八分木ではデコーダ性能に合わせて特質情報がノードにマッチングされているので、様々な性能の受信機を支援することができる。
【0279】
以下、実施例によるカラー化された八分木生成部20004の動作について具体的に説明する。
【0280】
図21は実施例によるポイントクラウドデータ送信装置がカラー化された八分木を生成する過程を示す図である。
【0281】
図21に示したカラー化された八分木を生成する過程は、図20のカラー化された八分木生成部20004で行われる。
【0282】
以下、八分木構造内の一つ又はそれ以上のノードに特質情報をマッチングする動作をカラー化する(colorize)と呼ぶ。即ち、八分木構造内の特定のノード(リーフノード含み)に特質情報をマッチングする場合、これを特定のノードをカラー化すると表現する。例えば、八分木構造内のリーフノードに特質情報をマッチングする場合、これをリーフノードをカラー化すると表現する。また、八分木ノードのルートノードに特質情報をマッチングする場合、これをルートノードをカラー化すると表現する。
【0283】
カラー化された八分木を生成する過程は、リーフノードカラー化段階(Leaf node colorization、21000)、隣接検出(Neighbor detection、21001)段階、ポイントデータ選択段階(Point data selection、21002)、八分木ノードカラー化段階(Octree node colorization、21003)、及びインターノード重複データ除去段階(Inter-node Attribute duplication removal、21004)を含む。
【0284】
まずカラー化された八分木はルートノードに特質データをマッチングした後、ルートノードカラー化された八分木を生成する過程は、リーフノードカラー化段階(Leaf node colorization、21000)、隣接検出(Neighbor detection、21001)段階、ポイントデータ選択段階(Point data selection、21002)、ポイントデータ選択段階(21002)、八分木ノードカラー化段階(21003)及び/又はインターノード重複データ除去段階(21004)を行う。カラー化された八分木を生成する過程は、リーフノードが含まれたレベルを除いた全てのレベルに対してレベルごとに行われる(21005、21006)。
【0285】
リーフノードカラー化段階(21000)は、ポイントクラウドデータの特質データと八分木構造を受信して、八分木構造のリーフノードに該当特質データをマッチングする。
【0286】
隣接検出(Neighbor detection、21001)段階は、ポイントクラウドデータの特定ポイントの隣接(neighbor)に対応するポイントを検出する。特定ポイントの隣接は、特定ポイントから隣接する隣接ポイントの集合を意味する。隣接は実施例による八分木構造に基づいて定義できる。八分木構造に基づく隣接は、特定ポイントに該当するリーフノードの親ノードの下位ノードに対応するポイントの集合を意味する。親ノードは該当するリーフノードから一定のレベルの上位ノードを意味し、一定のレベルは任意に決定される。隣接を検出する段階の具体的な過程については図23で説明する。
【0287】
具体的には、例えば、エンコーダがルートノードに特質データをマッチングするためには、ルートノードより下位ノードに存在するリーフノードに対応するポイントを検出する必要がある。よって、エンコーダはルートノードに特質データをマッチングするためには、親ノードをルートノードとし、親ノード(ルートノード)よりも下位レベルに含まれたリーフノードに対応するポイントを検出することができる。
【0288】
例えば、レベル4の特定の位置に含まれた第1ノード(リーフノードではないノード)に特質情報をマッチングする必要がある。実施例によれば、レベル4に該当する3次元空間内のポイントの隣接(neighbor)を検出しなければならない。親ノード(parent node)を第1ノードとし、親ノード(第1ノード)よりも下位レベルに含まれたリーフノードに対応するポイントを検出することができる。かかる方式で隣接ポイントを検出することにより、実施例によるエンコーダは、ポイントクラウドデータの特質情報の分布を考慮したカラー化された八分木を具現することができる。
【0289】
ポイントデータ選択段階(Point data selection、21002)は、隣接検出段階で検出された隣接に対応するポイントのうち、特定ポイント(又は特定ポイントの特質情報)を選択する。特定ポイントは隣接検出段階(21001)で検出された隣接に対応するポイントを代表するポイントを意味する。実施例によるエンコーダは様々な方法により特定ポイントを選択することができる。実施例によるエンコーダは一つの3D空間内でも多様な方法で特定ポイントを選択することができる。実施例によるエンコーダは選択された特定ポイントを八分木構造内のリーフノードではないノード(即ち、親ノード)にマッチングすることができる。
【0290】
例えば、特定ポイントは該当親ノードに対応する位置に近いポイントを意味する。即ち、実施例によるエンコーダは該当親ノードに対応する位置から近いポイントに対応するリーフノードを選択することができる。
【0291】
例えば、特定ポイントは隣接に対応するポイントの平均位置に近いポイントを意味する。即ち、実施例によるエンコーダは検出された隣接の平均位置に近いポイントに対応するリーフノードを選択することができる。
【0292】
実施例によるエンコーダは選択された特定ポイントを八分木構造内のリーフノードではないノード(即ち、親ノード)にマッチングする。また実施例によるエンコーダは選択された特定ポイントの特質情報と、隣接に対応するポイントの平均特質の残差(residual)情報(e.g. point-Attr(x_n、y_n、z_n))を親ノードにマッチングすることもできる。
【0293】
実施例によるエンコーダが特定ポイントを選択する過程については図24で説明する。
【0294】
八分木ノードカラー化段階(Octree node colorization、21003)では、実施例による選択された特定ポイントを親ノードにマッチングする。選択された特定ポイントを親ノードにマッチングすることを、親ノードをカラー化する(colorize)という。
【0295】
インターノード重複データ除去段階(Inter-node Attribute duplication removal、21004)は、親ノードにマッチングされた特質と、該当特質情報が存在したリーフノードに重複するデータを除去する。実施例において、検出された隣接に対応するポイントの特質情報に基づいて親ノードをマッチングすると、リーフノードと親ノードの重複データが発生し得る。実施例によるエンコーダはかかる重複データをさらに除去することができる。
【0296】
実施例によるインターノード重複データ除去段階(21004)は、それぞれのノードに特質データをマッチングすると同時に行われるか、又は全てのノードに特質データがマッチングされた後に行われることができる。
【0297】
実施例によるエンコーダは、八分木構造に対してリーフノードカラー化段階(21000)を行った後、隣接検出(21001)段階、ポイントデータ選択段階(21002)、八分木ノードカラー化段階(21003)及びインターノード重複データ除去段階(21004)を以下のように行う。
【0298】
1)ルートノード(レベル0に該当するノード)に対して、上述した段階21001ないし段階21004を行って、ルートノードに特質情報をマッチングする。
【0299】
2)ルートノードの子ノード(レベル1に該当するノード)のうち、占有されたノード(即ち、1であるノード)に対して、上述した段階21001ないし段階21004を行って、それぞれのノードに特質情報をマッチングする。
【0300】
3)占有されたノードの下位ノードに対して、上述した段階21001ないし段階21004を再帰的に(又は反復的に)行う(21007)。仮に占有されたノードの下位ノードがリーフノードである場合には、それ以上上述した段階21001ないし段階21004を行わない(21006)。
【0301】
実施例によるエンコーダは、カラー化された八分木を生成して特質情報を送信することにより、八分木構造を全て符号化しなくても特質符号化を行うことができ、高速処理が求められるシステムで不要な遅延が発生する問題を解決することができ、少ない演算量に基づいて属性情報を圧縮することができる。
【0302】
カラー化された八分木は、八分木構造を用いることによりポイントの位置情報を示すと同時に、該当位置にマッチングされる特質情報を同時に含んでいる構造である。また、カラー化された八分木は特質情報がリーフノードに限定して分布せず、ノードに分散して分布している。従って、実施例によるデコーダは、カラー化された八分木をルートノードからリーフノードまで順にジオメトリ情報と特質情報を巡回しながらデコーダの性能に適応的に復号を行うことができる。即ち、実施例によるポイントクラウドデータ受信装置(又はデコーダ)は、カラー化された八分木を受信することにより、必ず特質情報を全て復号しなくても特質情報を復号することができ、スケーラブル(scalable)な復号が可能である。またカラー化された八分木は、デコーダ性能に合わせて特質情報がノードにマッチングされているので、様々な性能の受信機を支援することができる。
【0303】
図22は八分木構造のリーフノードをカラー化する(colorize)動作を示す図である。
【0304】
図22図21のリーフノードカラー化(leaf node colorization、21000)の段階で行われる動作を意味し、図20のカラー化された八分木生成部(colorized octree generation)20004又は八分木マッチング部20004aで行われる。
【0305】
図22(a)は実施例による特質データ(特質情報)の一例を示す。
【0306】
特質データは、例えば、色値を含む。図22(a)に示した特質データは図1ないし図17で説明した特質情報(特質データ)の一例を示す。
【0307】
c1ないしc9はそれぞれのポイントの特質情報を示す。Attrは特定の位置を有するポイントの特質情報を示す。即ち、Attr(0、2、0)は(0、2、0)位置に存在するポイントの特質情報を示す。従って、c1=Attr(0、2、0)とは、c1は(0、2、0)に位置するポイントの特質情報を意味する。
【0308】
図22(a)は3次元空間に分布するポイントの特質情報を例示的に示す。3次元空間に9つのポイントが存在し、それぞれの特質情報は図22(a)に示されている。
【0309】
図22(b)はカラー化されたリーフノードを含む八分木構造を示す。図22(b)は図22(a)に示したポイントで実施例による八分木構造に特質情報をマッチングする過程を示す。例えば、c1に対応するポイントは(0、2、0)の位置に分布するので、図22(b)に示した八分木の22000B-1リーフノードに対応する。該当22000B-1リーフノードにc1特質情報をマッチングする。同様に、c2ないしc9も対応するリーフノードにマッチングする。
【0310】
図23は実施例によるエンコーダが実施例による隣接(neighbor)を検出する過程を示す図である。
【0311】
図23(a)及び図23(b)に示された隣接を検出する動作は、図21の隣接を検出する段階(21001)の動作を意味する。実施例によるエンコーダは、八分木構造のノードに特質情報をマッチングするために特定ポイントに対する隣接ポイントを検出することができる。実施例によるエンコーダは、検出された隣接ポイントに基づいて特質情報を選択した後、選択された特質情報を八分木構造のノードにマッチングすることができる。
【0312】
実施例によるエンコーダは、ルートノードからレベルを増加させながら(即ち、下位ノードに下がりながら)、ノードに特質情報をマッチングすることができる。
【0313】
図23(a)は実施例によるエンコーダがルートノードにマッチングする特質情報を導き出すために、ルートノードを親ノードとする隣接ポイントを検出する過程を示す。
【0314】
実施例によるエンコーダは、親ノード(ルートノード)に対応する3次元空間内のポイント23001のうちのいずれか(例えば、C1に対応するポイント、23000a)を選択する。実施例によるエンコーダは、選択されたポイント以外に同じ親ノードの子ノードで有するリーフノードを探索することができる。例えば、C1に対応するポイントと親ノード(ルートノード)を共有する下位リーフノードであって、C2~C9に対応するノードを隣接ポイント23000bで探索することができる。
【0315】
実施例によるエンコーダは、選択された隣接ポイント23000bに基づいて特質情報を選択した後、該当親ノード(ルートノード)にマッチングすることができる。
【0316】
図23(b)は実施例によるエンコーダがルートノードではない他のノードにマッチングする特質情報を導き出すために、該当ノードを親ノードとする隣接ポイントを検出する過程を示す。
【0317】
実施例によるエンコーダは、親ノードに対応する3次元空間内のポイント23001のうちのいずれか(例えば、C1に対応するポイント、23001a)を選択する。実施例によるエンコーダは、選択されたポイント以外に同じ親ノードの子ノードで有するリーフノードを探索することができる。例えば、C1に対応するポイントと親ノードを共有する下位リーフノードであって、C2~C4に対応するノードを隣接ポイント23000bで探索することができる。
【0318】
実施例によるエンコーダは、選択された隣接ポイント23001bに基づいて特質情報23001aを選択した後、該当親ノードにマッチングする。
【0319】
図24は実施例によるエンコーダが実施例による隣接に基づいて親ノードに特質情報をマッチングするための数式を示す。
【0320】
図24(a)は実施例による隣接ポイントのうち、親ノードに特質情報をマッチングするための特質情報を選択する方法の一例を示す数式である。
【0321】
(x_n、y_n、z_n)は実施例によるn個のポイントを(x、y、z)座標で示すものである。例えば、図22において、c1の特質を有するポイントは(0、2、0)であり、x_1=0、y_1=2及びz_1=0のように表現できる。
【0322】
Attr(x_n、y_n、z_n)はn個のポイントに対する特質情報を示す。即ち、Attr(x_n、y_n、z_n)は(x_n、y_n、z_n)位置に存在するポイントの特質情報を示す。言い換えれば、Attr(point)関数はポイントの特質情報を返還する関数であると理解できる。
【0323】
P_GeoCtr(x、y、z)は実施例による親ノードの特質情報を意味する。即ち、図24(a)はP_GeoCtr(x、y、z)、即ち、親ノードの特質情報を決定する過程である。
【0324】
NEIGHBORは(x_n、y_n、z_n)ポイントの隣接に対応するポイントの集合を意味する。
【0325】
f{Attr(x_n、y_n、z_n)|(x_n、y_n、z_n)∈NEIGHBOR}は、特定ポイントの隣接に対応するポイントをインプット(input)とするとき、該当隣接ポイントの一つである(x_n、y_n、z_n)ポイントの特質情報を返還する関数を意味する。即ち、隣接ポイントに対応するポイントのうち、一つのポイント(x_n、y_n、z_n)の特質情報を返還する関数である。
【0326】
f{Attr(x_n、y_n、z_n)|(x_n、y_n、z_n)∈NEIGHBOR}は、24000aに示された数式の値が最小になるポイント(x_n、y_n、z_n)の特質値を意味する。
【0327】
s(x_n、y_n、z_n)は実施例によるポイントのうち、親ノードとして選択されたか否かを示す。例えば、該当ノードに対するs(x_n、y_n、z_n)値が0であると、このポイントは親ノードとして選択されてマッチングされたことを示。例えば、該当ノードに対するx(x_n、y_n、z_n)値が1であると、このポイントは親ノードとして選択されたことがないことを示す。
【0328】
実施例によるポイントクラウドデータエンコーダは、特定の親ノードに特質をマッチングするために、該当親ノードに対する隣接ポイントを検出した後、隣接ポイントのs(x_n、y_n、z_n)値を確認する。その後、実施例によるエンコーダは、s(x_n、y_n、z_n)の値が1であるポイントのうち、一つのポイントの特質を該当親ノードにマッチングする。このような構成により、実施例によるエンコーダは複数の親ノードに対して同一の特質データをマッチングしないことができる。
【0329】
Mは実施例による隣接ポイントの個数を意味する。
【0330】
[x^-、y^-、z^-]^Tは実施例による隣接ポイントの平均位置を意味する。実施例による隣接ポイントの平均位置は隣接ポイントの位置情報に基づいて計算される。具体的には、実施例による隣接ポイントの平均位置は隣接ポイントの各位置の和に隣接ポイントの数を割ることにより計算できる。例えば、実施例による隣接ポイントの平均位置は、隣接ポイントと該当隣接ポイントのそれぞれに適用されるウェート値(weight(x_n、y_n、z_n))を掛けた値の和に、隣接ポイントの数を割ることにより計算できる(24000b)。
【0331】
隣接ポイントのそれぞれに適用されるウェイト値(weight(x_n、y_n、z_n))は、
【0332】
||[x^-、y^-、z^-]^T-[x_n、y_n、z_n]^T||は、それぞれの隣接ポイントと隣接ポイントの平均位置の距離(例えば、ユークリッド距離)を意味する。
【0333】
隣接ポイントのうちの一つのポイントを選択するとき、既に親ノードとしてマッチングされたポイントは考慮しなくても良い。即ち、実施例によるポイントクラウドデータエンコーダは、||[x^-、yy-、z^-]^T-[x_n、y_n、z_n]^T||^2にs(x_n、y_n、z_n)を掛けることにより、既に親ノードとしてマッチングされたポイントは考慮しないことができる。
【0334】
整理すると、実施例による親ノードにマッチングする特質値は、24000aに示した数式が最小値を有するポイントの特質データを意味する。即ち、実施例によるポイントクラウドデータエンコーダは、||[x^-、y^-、z^-]^T-[x_n、y_n、z_n]^T||^2にs(x_n、y_n、z_n)を掛けた値の平均を計算した後、その値が最小値として決定されるポイント(x_n、y_n、z_n)を選択した後、そのポイントの特質情報(Attr(x_n、y_n、z_n))を親ノードとしてマッチングすることができる。
【0335】
図24(b)は実施例による隣接ポイントのうち、親ノードに特質情報をマッチングするための特質情報を選択する他の方法の一例を示す数式である。
【0336】
実施例によるポイントクラウドデータエンコーダは、隣接ポイントを昇順に整列したとき、これらの中間(median)値を有するポイントを選択することができる。また実施例によるポイントクラウドデータエンコーダは、各隣接ポイントとこれらにそれぞれ適用されるウェートを掛けた値を昇順に整列したとき、これらの中間(median)値を有するポイントを選択することができる。同様に、隣接ポイントのうちの一つを選択するとき、既に親ノードとしてマッチングされたポイントは考慮しなくても良い。即ち、実施例によるポイントクラウドデータエンコーダは、{weight(x_n、y_n、z_n|x、y、z)*[x_n、y_n、z_n]^T}にs(x_n、y_n、z_n)を掛けることにより、既に親ノードとしてマッチングされたポイントは考慮しないことができる。
【0337】
図24(c)は実施例による隣接ポイントのうち、親ノードに特質情報をマッチングするための特質情報を選択する他の方法の一例を示す数式である。
【0338】
実施例によるポイントクラウドデータエンコーダは、隣接ポイントを昇順に整列したとき、これらのk番目の値を有するポイントを選択することができる。また実施例によるポイントクラウドデータエンコーダは、各隣接ポイントとこれらにそれぞれ適用されるウェートを掛けた値を昇順に整列したとき、これらのk番目の値を有するポイントを選択することができる。同様に、隣接ポイントのうちの一つを選択するとき、既に親ノードとしてマッチングされたポイントは考慮しなくても良い。
【0339】
図25は実施例によるエンコーダが、特質情報がマッチングされた八分木内の重複した特質(duplicate Attribute)を除去する動作を示す図である。
【0340】
図25(a)は実施例による特質情報が各ノードにマッチングされたツリーを示す。図25(a)における特質情報がマッチングされた八分木構造をカラー化された八分木と呼ぶ。図25(a)のカラー化された八分木は、図21においてリーフノードカラー化動作(21000)、隣接検出動作(21001)、ポイントデータ選択動作(21002)及び八分木ノードカラー化動作(21003)が行われた八分木構造を意味する。
【0341】
重複した特質データ(duplicate Attribute)とは、ポイントの特質データがリーフノード以外に他のノードに重複してマッチングされた場合、重複してマッチングされた特質データを意味する。即ち、かかる動作により、再帰的な選択(recursive selection)によって同じ情報がさらに上位レベルまで重複する可能性があり、これにより全体データの数が増えてコーディング効率を減らす要因となる。例えば、カラー化された八分木を生成する過程において、C1がリーフノード25000b-1にも存在することができ、上位ノード25000bにも存在することができる。実施例によるエンコーダは2つの特質データを全て送信する場合、送信効率が落ちることもある。またビット効率を上げながら、スケーラブルな表現(scalable representation)を達成するという目的を達成することができない。よって、上記重複した特質データを除去する必要がある。
【0342】
従って、実施例によるエンコーダは、上記重複データ25000b、25000b-1のうち、リーフノードに該当する特質情報25000b-1を除去することができる。同様に、C2特質情報もルートノード25000aとリーフノード25000a-1に重複して存在することができる。実施例によれば、ルートノード25000aとリーフノード25000a-1のうちのリーフノードの特質情報を除去することができる。
【0343】
同様に、C5特質情報も特定のノード25000cとリーフノード25000c-1に重複して存在することができる。実施例によれば、特定のノード25000cとリーフノード25000c-1のうち、リーフノードの特質情報を除去することができる。
【0344】
このように重複したデータのうち、リーフノードに特質データを除去することにより、実施例によるデコーダは、リーフノードまで探索して復号しなくても迅速に特質情報を復号することができ、迅速にユーザにPCCデータをレンダリングすることができる。
【0345】
図26は実施例によるエンコーダの動作を示す図である。
【0346】
図26に示した動作は実施例によるエンコーダで行われる。図25に示した動作は具体的に、図20のカラー化された八分木生成部20004により行われる。
【0347】
実施例によるエンコーダは、ポイントクラウドデータをリーフノードにマッチングする段階(26000)、ルートノードに特質情報をマッチングする段階(26001)、下位ノードからリーフノードの上位ノードまで(leaf-1level)特質情報をマッチングする段階(26002)及び/又は特質情報がマッチングされた八分木構造内の重複データを除去する段階(26003)を含む。
【0348】
ポイントクラウドデータをリーフノードにマッチングする段階(26000)は、図22で説明した動作により行われる。即ち、実施例によるエンコーダは、特質データ(Input:c1、c2、c3、c4、c5、c6、c7、c8、c9)と実施例による八分木構造を受信する。実施例によるエンコーダは、受信した特質データを八分木構造の対応するリーフノード26000aにマッチングする。
【0349】
ルートノードに特質情報をマッチングする段階(26001)は、ルートノードを親ノードとする隣接ポイントを検出した後、検出された隣接ポイントのうちの一つの特質情報を選択した後、選択された特質情報をルートノードにマッチングする。例えば、ルートノードを親ノードとする隣接ポイントはC1ないしC9に対応するポイントである。実施例によるエンコーダは、該当ポイントのうち、C2に対応するポイントを選択することができ、エンコーダは選択されたポイントの特質情報をルートノードにマッチングすることができる(selected and matched:c2)。実施例による選択されたポイントは別途の配列ないし適合するデータ構造を用いて0又は1として貯蔵することができる。
【0350】
下位ノードからリーフノードの上位ノードまで(leaf-1level)特質情報をマッチングする段階(26002)は、上記ルートノードに特質情報をマッチングする段階(26001)で行った動作を下位ノードに対して反復的に又は再帰的に行うことができる。
【0351】
特質情報がマッチングされた八分木構造内の重複データを除去する段階(26003)は、特質情報がルートノードないしそれぞれのノードにマッチングされた八分木構造から重複する特質データを除去することができる。特質情報がマッチングされた八分木構造内の重複データを除去する段階26003は、図25で説明した動作により行われる。
【0352】
図27は実施例によるポイントクラウドデータのビットストリーム構造の一例を示す図である。
【0353】
実施例によるポイントクラウドデータ送信装置は、図27に示したようなビットストリーム構造を有するビットストリーム27000を送信する。ポイントクラウドデータのビットストリーム27000は、SPS(Sequential Parameter Set)27001、GPS(Geometry Parameter Set)27002、APS(Attribute Parameter Set)27003、TPS(Tile Parameter Set)27004及び一つ又はそれ以上のスライス(slice 0、slice 1 … slice n)27005を含む。ポイントクラウドデータのビットストリームは一つ又はそれ以上のタイルを含む。実施例によるタイルは一つ又はそれ以上のスライスを含むスライスのグループである。
【0354】
実施例によるビットストリーム27000は、ポイントクラウドデータを領域ごとに分けて処理できるようにタイル又はスライスを提供する。実施例によるビットストリーム27000のそれぞれの領域は互いに重要度が異なる。したがって、ポイントクラウドデータはタイルで分けられる場合、タイルごとに異なるフィルタ(符号化方法)、異なるフィルタユニットを適用することができる。ポイントクラウドはスライスで分けられる場合、(各)スライスごとに異なるフィルタ、異なるフィルタユニットを適用する。
【0355】
実施例による送受信装置はポイントクラウドの分割圧縮時、分割された領域内の属性情報の選択的送信のためのハイレベルシンタックス構造によってビットストリームを送信及び受信する。
【0356】
実施例によるポイントクラウドデータ送信装置は、図27のようなビットストリーム27000の構造によってポイントクラウドデータを送信することにより、重要度によって異なる符号化動作を適用でき、高品質の符号化方法を重要な領域に使用する方案を提供できる。またポイントクラウドの特性による効率的な符号化/復号化及び送信を支援し、ユーザの要求事項による属性値を提供することができる。
【0357】
実施例によるポイントクラウドデータ送信装置及び受信装置は、タイル及び/又はスライス単位で独立的に又は独立せずに符号化及び復号化を行うことにより、符号化及び復号化過程で累積されるエラーを防止することができる。
【0358】
SPS(Sequence Parameter Set)27001は、それぞれのスライスセグメントヘッダ(slice segment header)内のシンタックス要素(syntax element)により参照されるPPS内のシンタックス要素のコンテンツにより決定される0個又はそれ以上の全体CVSに適用されるシンタックス要素を含むシンタックス構造である(a syntax structure containing syntax elements that apply to zero or more entire CVSs as determined by the content of a syntax element found in the PPS referred to by a syntax element found in each slice segment header)。SPSは実施例によるポイントクラウドデータビットストリームのシーケンス情報を含む。
【0359】
GPS(Geometry Parameter Set)27002)は、0個又はそれ以上の全体ジオメトリ(又は符号化されたジオメトリ)が適用されるシンタックス要素を含むシンタックス構造を意味する。実施例によるGPS27002は、一つ又はそれ以上のスライス27005に含まれたポイントクラウドデータの特質(属性)情報を符号化する方法に関する情報を含む。GPS27002は実施例によるどのSPS27001に関連するジオメトリパラメータを含むかを示すSPS識別子情報、該当GPSを識別するGPS識別子情報を含む。
【0360】
APS(Attribute Parameter Set)27003は、0個又はそれ以上の全体特質(又は符号化された特質)が適用されるシンタックス要素(syntax elements)を含むシンタックス構造を意味する。実施例によるAPS27003は、一つ又はそれ以上のスライス19005に含まれたポイントクラウドデータの特質(属性)情報を符号化する方法に関する情報を含む。APS27003は実施例によるどのSPS27001に関連するジオメトリパラメータを含むかを示すSPS識別子情報、該当APSを識別するGPS識別子情報を含む。
【0361】
TPS(Tile Parameter Set)27004は、0個又はそれ以上の全体タイル(又は符号化されたタイル)が適用されるシンタックス要素を含むシンタックス構造を意味する。タイルリストは実施例によるポイントクラウドデータビットストリームに含まれた0個又はそれ以上のタイルに関する情報を含む。実施例において、タイルリストはTPS(Tile Parameter Set)とも呼ばれる。
【0362】
TPS(Tile Parameter Set)27004は、一つ又はそれ以上のタイルを識別する識別子情報及び一つ又はそれ以上のタイルの範囲(即ち、タイルの境界ボックス)を示す情報を含む。一つ又はそれ以上のタイルの範囲(即ち、タイルの境界ボックス)を示す情報は、該当タイルが示す境界ボックスの基準となる点の座標情報(例えば、Tile(n).tile_bounding_box_xyz0)及び該当境界ボックスの幅、高さ及び深さに関する情報(例えば、Tile(n).tile_boudning_box_whd)を含む。複数のタイルが存在する場合、タイルリスト(Tile Inventory)27004は、それぞれのタイルに関する境界ボックスを示す情報を含む。例えば、各タイルがタイルの識別子情報により0ないしnで表現される場合、それぞれのタイルの境界ボックスを示す情報は、Tile(0).tile_bounding_box_xyz0、Tile(0).tile_bounding_box_whd、Tile(1).tile_bounding_box_xyz0、Tile(1).tile_bounding_box_whd …などで表現される。
【0363】
スライス27005は実施例によるポイントクラウドデータの送信装置がポイントクラウドデータを符号化するための単位を意味する。実施例によるスライス27005は、一つのジオメトリビットストリーム(Geom00、27005a)及び一つ又はそれ以上の特質ビットストリーム(Attr00、Attr10、27005b、27005c)を含む単位を意味する。
【0364】
スライス27005は該当スライス内に含まれたポイントクラウドデータのジオメトリ情報を示すジオメトリスライス(Geometry Slice、Geom)27005a及び該当スライス内に含まれたポイントクラウドデータの特質情報を示す一つ又はそれ以上の特質スライス(Attribute Slice、Attr)27005b、27005cを含む。
【0365】
ジオメトリスライス(Geometry Slice、Geom)27005aは、ポイントクラウドデータのジオメトリ情報を含むジオメトリスライスデータ(Geometry Slice Data、Geom_slice_data)19005a-2及びジオメトリスライスデータに関する情報を含むジオメトリスライスヘッダ(Geometry Slice Header、Geom_slice_header、GSH)27005a-1を含む。
【0366】
ジオメトリスライスヘッダ27005a-1は該当スライス内のジオメトリスライスデータ27005a-2に関する情報を含む。例えば、ジオメトリスライスヘッダ27005a-1はどのGPS27002が該当スライスのジオメトリ情報を示すかを識別するためのジオメトリパラメータセット識別子(geom_geom_parameter_set_id)、該当ジオメトリスライスを識別するためのジオメトリスライス識別子(geom_slice_id)、該当ジオメトリスライスデータのボックス元点を示すジオメトリボックスオリジン情報(geomBoxOrigin)、ジオメトリスライスのログスケールを示す情報(geom_box_log2_scale)、該当ジオメトリスライスのポイントの個数に関連する情報(geom_num_points)などを含む。
【0367】
実施例によるポイントクラウドデータビットストリームが一つ又はそれ以上のタイルを含む場合、実施例によるジオメトリビットストリームのヘッダは該当ジオメトリビットストリームを含むタイルを識別するための情報(geom_tile_id)をさらに含む。
【0368】
特質スライス(Attribute Slice、Attr)27005bは、ポイントクラウドデータの特質情報を含む特質スライスデータ(Attribute Slice Data、Attr_slice_data)27005b-2及び特質スライスデータに関する情報を含む特質スライスヘッダ(Attribute Slice Header、Attr_slice_header、ASH)27005b-1を含む。
【0369】
実施例によれば、ポイントクラウド符号化に必要なパラメータはポイントクラウドのパラメータセット及びヘッダ情報により新しく定義される。例えば、属性情報符号化を行うときには、attribute parameter set RBSP syntaxに、タイル基盤の符号化を行うときには、tile_header syntaxなどに追加することができる。
【0370】
実施例によるポイントクラウドデータ送受信方法は、かかるビットストリーム構造を提供することにより、受信機をしてイントクラウドデータの属性情報の復号化性能を高めることができる。
【0371】
図28は実施例によるAPS(Attribute Parameter Set)を示す。
【0372】
実施例によるポイントクラウドデータ送信装置が送信するビットストリーム(又はポイントクラウドデータ受信装置が受信するビットストリーム)は、一つ又はそれ以上のAPS(Attribute Parameter Set)を含む。実施例によるAPSは図27のAPSを意味する。
【0373】
実施例によるAPSは。例えば、aps_attr_parameter_set_id、aps_seq_parameter_set_id、octree_full_level_present_flag、scalable_represenatation_available_flag、octree_colorization_type、matched_Attribute_type、Attribute_selection_type及び/又はpoint_data_selection_type、point_cloud_geometry_info_present_flagを含む。
【0374】
aps_attr_parameter_set_idは、他のシンタックス要素(syntax element)による参照のためのAPSの識別子(id)を示す。このパラメータは0~15の値を有する(provides an identifier for the APS for reference by other syntax elements. The value of aps_attr_parameter_set_id may be in the range of 0 to 15、inclusive)。
【0375】
aps_seq_parameter_set_idは、現在アクティブ(active)SPSに対するsps_seq_parameter_set_idの値を示す。aps_seq_parameter_set_idは0~15の値を有する(specifies the value of sps_seq_parameter_set_id for the active SPS. The value of aps_seq_parameter_set_id may be in the range of 0 to 15、inclusive)。
【0376】
octree_full_level_present_flagの値が1である場合、実施例による八分木構造の全レベル(full level)に対するデータが伝達されることを示す。即ち、このパラメータの値が1であることは、実施例によるポイントクラウドデータ送信装置が、ジオメトリデータの八分木構造の全レベルに対するデータがビットストリームで送信されることを意味する。
【0377】
octree_full_level_present_flagの値が0である場合、実施例による八分木構造の一部レベル(partial level)に対するデータが伝達されることを示す。即ち、このパラメータの値が1であるとは、実施例によるポイントクラウドデータ送信装置が、ジオメトリデータの八分木構造の一部レベル、即ち、一部の八分木(partial octree)に対するデータがビットストリームで送信されることを意味する。
【0378】
例えば、実施例によるポイントクラウドデータ送信装置が八分木構造のルートレベルからリーフノードではないレベルkのノードに対する占有情報のみ伝達する場合、octree_full_level_present_flagの値は0である。例えば、実施例によるポイントクラウドデータ送信装置が八分木構造のルートレベルからリーフノードに該当する全てのノードに対する占有情報を全て伝達する場合、octree_full_level_present_flaの値は1である。
【0379】
実施例によるポイントクラウドデータ受信装置(デコーダ)は、octree_full_level_present_flagの値が1である場合、特質-ノードマッチング(Attribute to node matching)及び特質-ポイントマッチング(Attribute to point matching)の過程を行うことにより、一部及び/又は全てのポイントクラウドデータを出力することができる。実施例によるポイントクラウドデータ受信装置(デコーダ)は、octree_full_level_present_flagの値が0である場合、特質-ノードマッチング過程を行うことにより、一部のポイントクラウドデータを出力することができる。実施例によるデコーダの動作のうち、特質-ノードマッチング及び特質-ポイントマッチングの動作は以下の図33などで説明する。
【0380】
scalable_representation_available_flagは、スケーラブル復号(又はスケーラブル表現(scalable representation))が適用可能であるか否かを示す。実施例によるポイントクラウドエンコーダはスケーラブル表現可能にカラー化された八分木を生成し、カラー化された八分木に基づいて特質を処理する。scalable_representation_available_flagの値が1であると、scalable_representation_available_flagはデコードされたポイントクラウドデータ(デコードされた特質)がスケーラブル表現可能な構造(カラー化された八分木構造)を有することを示す。従って、受信装置はこの情報に基づいてカラー化された八分木を生成してスケーラブル表現を提供する。scalable_representation_available_flagの値が0であると、scalable_representation_available_flagはデコードされたポイントクラウドデータがスケーラブル表現が可能な構造を有さないことを示す。
【0381】
octree_colorization_typeは、カラー化された八分木タイプ又はカラー化された八分木を生成する方法を示す。octree_colorization_typeの値が0であると、カラー化された八分木は特質対の八分木の生成方法によって生成されることを示す。octree_colorization_typeの値が1である場合、カラー化された八分木はポイント対の八分木の生成方法によって生成されることを示す。
【0382】
以下はoctree_colorization_type値が0である場合、即ち、カラー化された八分木が特質対の八分木である場合に関連するパラメータである。
【0383】
matched_Attribute_typeは、八分木ノードにマッチングされた特質のタイプを示す。matched_Attribute_typeの値が0である場合、matched_Attribute_typeは特質が推定特質(例えば、周辺ノード又は子ノードの特質に基づいて推定された特質)であることを示す。matched_Attribute_typeの値が1である場合、matched_Attribute_typeは特質が実際の特質(例えば、子ノードの特質)であることを示す。
【0384】
Attribute_selection_typeは、八分木ノードに特質をマッチングする方法を示す。Attribute_selection_type値が0である場合、推定特質は子ノードの特質の平均値に対応する。Attribute_selection_type値が1である場合、推定特質は子ノードの特質の中間値に対応する。Attribute_selection_type値が2である場合、特質は固定した順の子ノードの特質(例えば、昇順に整列された子ノードのうち、1番目の子ノードの特質又は2番目の子ノードの特質)に対応する。
【0385】
以下はoctree_colorization_typeの値が1である場合、即ち、カラー化された八分木がポイント対の八分木である場合に関連するパラメータである。
【0386】
point_data_selection_typeは、八分木ノードにマッチングするポイントデータを選択する方法又はタイプを示す。point_data_selection_typeの値が0である場合、point_data_selection_typeは該当ノードの子ノードのうち、固定された順のノード(例えば、子ノードを昇順に整列した順(ascending order)上の1番目のノード)のポイントクラウドデータ(又はポイント)を選択する方法を示す。point_data_selection_typeの値が1である場合、point_data_selection_typeは子ノードのうち、占有されたノードの位置の平均値に最も近い子ノードのポイントを選択する方法を示す。point_data_selection_typeの値が2である場合、point_data_selection_typeは子ノードのうち、占有されたノードの位置の中間値に最も近い子ノードのポイントを選択する方法を示す。
【0387】
以下はpoint_data_selection_typeの値が0又は3である場合に関連するパラメータである。
【0388】
point_cloud_geometry_info_present_flagは、八分木ノードにマッチングされたポイントデータ(又はポイント)に関するジオメトリ情報を直接提供するか否かを示す。point_cloud_geometry_info_present_flagの値が1である場合、八分木ノードにマッチングされたポイントデータ(又はポイント)に関するジオメトリ情報(例えば、位置)が共に送信される。point_cloud_geometry_info_present_flagの値が0である場合、八分木ノードにマッチングされたポイントデータ(又はポイント)に関するジオメトリ情報が共に送信される。
【0389】
図29は実施例による特質ビットストリームを示す図である。
【0390】
図29の特質ビットストリーム29000は、図27の特質スライスに対応する。即ち、実施例による特質ビットストリーム29000は、特質スライスヘッダ(Attribute Slice header)29001及び/又は特質スライスデータ(Attribute slice data)29002を含む。
【0391】
特質スライスヘッダ29001は、図27の特質スライスヘッダを意味する。特質スライスヘッダ29001はabh_attr_parameter_set_id、abh_attr_sps_attr_idxを含む。
【0392】
abh_attr_parameter_set_idは、現在アクティブAPSのaps_attr_parameter_set_idの値を示す(specifies the value of the aps_attr_parameter_set_id of the active APS)。
【0393】
abh_attr_sps_attr_idxは、現在アクティブSPS内の特質セットを示す。abh_attr_sps_attr_idxの値は0ないし現在アクティブSPSのsps_num_Attribute_setsdの値の範囲内である(specifies the Attribute set in the active SPS. The value of abh_attr_sps_attr_idx may be in the range of 0 to sps_num_Attribute_sets in the active SPS)。
【0394】
特質スライスデータ(Attribute slice data)29002は、実施例による特質コーディングタイプに対応して特質データが含まれる。Attr_coding_type情報が0である場合、PredictingWeight_Lifting_bitstreamを含む。Attr_coding_type情報が1である場合、RAHT_bitstreamを含む。Attr_coding_type情報が2である場合、FixedWeight_Lifting_bitstreamを含む。
【0395】
図30はスケーラブル表現(scalable representation)のための実施例によるポイントクラウドデータ送信装置及び受信装置の動作を示す図である。
【0396】
図19ないし図26に示した実施例によるエンコーダの動作は、実施例によるポイントクラウドデータ受信装置がスケーラブルな表現を効果的に行うようにポイントクラウドデータを符号化することを示す。実施例によるポイントクラウドデータ送信装置は、スケーラブルな表現を提供することにより、受信装置は様々な性能のポイントクラウドデータコンテンツを提供することができ、様々な性能の受信装置でも効果的にユーザに表現を行うことができる。例えば、実施例による送信装置は、実施例によるカラー化された八分木を生成することにより様々な性能のデコーダを対象としてポイントクラウドデータを圧縮する。かかる構成は、それぞれのデコーダ性能に合う独立した圧縮情報を生成又は格納しなくても、一つのビットストリームにより様々な性能の受信機を支援できるので、送信装置の格納空間及びビット効率の側面でも効果的である。また送信帯域幅の制限がある場合、実施例による送信装置でも低解像度のポイントクラウドデータを生成した後に伝達できるという長所がある。
【0397】
実施例によるポイントクラウドデータ送信装置は、図19ないし図26に示した動作を行って符号化する、スケーラブルエンコーダ(scalable encoder)30001を含む。スケーラブルエンコーダ30001は実施例によるカラー化された八分木を生成して特質ビットストリームを生成する。即ち、スケーラブルエンコーダは実施例によるジオメトリビットストリーム(geometry bitstream)と特質ビットストリームを含む単一のPCCビットストリーム(Single PCC bitstream)30002aを生成する。
【0398】
スケーラブルエンコーダ30001はソースジオメトリ(Source geometry)30000aとソース特質(Source Attribute)30000bを生成する。ソースジオメトリ30000aはポイントクラウドデータのポイントの位置情報を示す。ソースジオメトリ30000aはジオメトリ情報を含む八分木構造を意味する。ソース特質30000bはポイントクラウドデータのポイントの特質情報を示す。ソースジオメトリ30000bは特質情報を含む実施例によるカラー化された八分木構造を意味する。
【0399】
スケーラブルエンコーダ30001は、即ち、八分木構造に対応するジオメトリビットストリームとカラー化された八分木に対応する特質ビットストリームを生成する。
【0400】
実施例によるポイントクラウドデータ送信装置及び受信装置はさらに格納部(Storage)30002bを含む。格納部30002bは実施例によるジオメトリビットストリームと特質ビットストリーム(又はそれを含む単一PCCビットストリーム)を格納する。
【0401】
実施例によるポイントクラウドデータ送信装置は、格納部30002bに格納されたデータを実施例によるポイントクラウドデータ受信装置に送信する。実施例によるポイントクラウドデータ受信装置はそれを受信して格納部30002bに格納する。
【0402】
実施例によるポイントクラウドデータ受信装置は、実施例によるポイントクラウドデータを含むビットストリームのうちの一部又は全部を選択するビットストリーム選択部(Bitstream selector)30003及び/又はそれを復号する一つ又はそれ以上のスケーラブルデコーダ(scalable decoder)30004a~30004cを含む。
【0403】
ビットストリーム選択部30003は実施例による受信したビットストリームを受信して、これらを全て復号するか、或いは一部のみ復号するかを決定する。実施例によるビットストリーム選択部30003は、受信したビットストリームに含まれたジオメトリビットストリーム及び特質ビットストリームのそれぞれについて一部のみを復号するか、又は全部復号するかを決定することができる。
【0404】
実施例によるスケーラブルデコーダ30004a~30004cは、実施例による受信ビットストリームのうち、ビットストリーム選択部30003により選択されたビットストリームを復号する。スケーラブルデコーダ30004a~30004cは3つの方式で復号を行う。
【0405】
1番目の実施例によるスケーラブルデコーダ30004aは、ビットストリーム選択部30003から、ジオメトリビットストリームの一部と特質ビットストリームの一部のみを受信してこれらを復号する。ジオメトリビットストリームは八分木構造に対応する。従って、ジオメトリビットストリームの一部30004a-1は実施例によるジオメトリデータを含む八分木構造の一部レベル(即ち、ルートレベルから一部レベルの範囲まで)のみを含むデータである。特質ビットストリームは実施例によるカラー化された八分木構造に対応する。従って、特質ビットストリームの一部30004a-2は実施例による特質データを含むカラー化された八分木構造の一部レベル(即ち、ルートレベルから一部レベルの範囲まで)のみを含むデータである。
【0406】
即ち、実施例によるスケーラブルデコーダ30004aは、ジオメトリビットストリームの一部(部分ジオメトリデータ、partial geometry)と特質ビットストリームの一部(部分特質データ、partial Attribute)を受信して復号することができる。
【0407】
2番目の実施例によるスケーラブルデコーダ30004bは、ビットストリーム選択部30003から、ジオメトリビットストリームの全部と特質ビットストリームの一部のみを受信してこれらを復号する。ジオメトリビットストリームは八分木構造に対応する。従って、ジオメトリビットストリームの全部30004b-1は実施例によるジオメトリデータを含む八分木構造の全体レベルを含むデータである。特質ビットストリームは実施例によるカラー化された八分木構造に対応する。従って、特質ビットストリームの一部30004b-2は実施例による特質データを含むカラー化された八分木構造の一部レベル(即ち、ルートレベルから一部レベルの範囲まで)のみを含むデータである。
【0408】
即ち、実施例によるスケーラブルデコーダ30004bは、ジオメトリビットストリームの全部(全体ジオメトリデータ、full geometry)と特質ビットストリームの一部(部分特質データ、partial Attribute)を受信して復号することができる。
【0409】
3番目の実施例によるスケーラブルデコーダ30004cは、ビットストリーム選択部30003から、ジオメトリビットストリームの全部と特質ビットストリームの全部を受信してこれらを復号する。ジオメトリビットストリームは八分木構造に対応する。従って、ジオメトリビットストリームの全部30004c-1は実施例によるジオメトリデータを含む八分木構造の全体レベルを含むデータである。特質ビットストリームは実施例によるカラー化された八分木構造に対応する。従って、特質ビットストリームの全部30004b-2は実施例による特質データを含むカラー化された八分木構造の全体レベルを含むデータである。
【0410】
即ち、実施例によるスケーラブルデコーダ30004cは、ジオメトリビットストリームの全部(全体ジオメトリデータ、full geometry)と特質ビットストリームの一部(全体特質データ、full Attribute)を受信して復号することができる。
【0411】
実施例によるポイントクラウドデータ送信装置は、図27のようなビットストリーム27000の構造によってポイントクラウドデータを送信することにより、重要度によって異なる符号化動作を適用でき、高品質の符号化方法を重要な領域に使用する方案を提供する。またポイントクラウドの特性による効率的な符号化/復号化及び送信を支援し、ユーザの要求事項による属性値を提供することができる。
【0412】
実施例によるポイントクラウドデータ送信装置及び受信装置は、タイル及び/又はスライス単位で独立的に又は独立せずに符号化及び復号化を行うことにより、符号化及び復号化過程で累積されるエラーを防止することができる。
【0413】
図31は実施例によるポイントクラウドデータデコーダを示す。
【0414】
実施例によるポイントクラウドデコーダ31000は、幾何情報復号化部31001及び/又は属性情報復号化部31002を含む。実施例によれば、ポイントクラウドデコーダはPCC復号化器、PCC復号化部、ポイントクラウド復号化器、ポイントクラウド復号化部及びPCCデコーダなどとも呼ばれる。
【0415】
幾何情報復号化部31001はポイントクラウドデータの幾何情報ビットストリーム31000aを受信する。幾何情報復号化部31001はポイントクラウドデータの幾何情報ビットストリーム31000aを復号化(復号)して復元されたポイントクラウドデータ31000cの特質情報を出力する。幾何情報復号化部31001は幾何情報ビットストリームをジオメトリ情報で再構成して復元された幾何情報31001を出力する。幾何情報ビットストリーム31000aは図18ないし図26の幾何情報ビットストリーム、ジオメトリビットストリームを意味する。属性情報ビットストリーム31000bは図18ないし図26の属性情報ビットストリーム、特質ビットストリームを意味する。
【0416】
幾何情報復号化部31001は入力された幾何情報ビットストリームを復号化して幾何情報を復元する。復元された幾何情報は属性情報復号化部に入力される。属性情報復号化部31002は入力された属性情報ビットストリームと幾何情報復号化部から入力された復元された幾何情報が入力されて属性情報を復元する。復元された幾何情報は図11で説明したジオメトリ再構成部11003により再構成されたジオメトリックを意味する。復元された幾何情報は図13で説明した占有コード基盤の八分木再構成処理部13003により再構成された八分木占有コードを意味することもできる。
【0417】
幾何情報復号化部31001は実施例による受信装置が受信した幾何情報ビットストリームを受信する。幾何情報復号化部31001は幾何情報ビットストリームを復号化する。
【0418】
幾何情報復号化部31001では、図1のポイントクラウドビデオデコーダの動作、図2の復号20003、図10のジオメトリデコーダの動作、図11で説明した演算デコーダ11000、八分木合成部11001、表面近似合成部11002、ジオメトリ再構成部11003及び/又は座標系逆変換部11004の動作の全部/一部を行う。
【0419】
属性情報復号化部31002はポイントクラウドデータの属性情報ビットストリーム31000bを受信する。属性情報復号化部31002はポイントクラウドデータの属性情報ビットストリーム31000bを復号化(復号)して復元されたポイントクラウドデータ31000cの特質情報を出力する。属性情報復号化部31002は幾何情報復号化部31001により生成された復元された幾何情報31001aに基づいて属性情報ビットストリームを復号化(復号)する。
【0420】
属性情報復号化部31002は実施例による受信装置が受信した属性情報ビットストリームを受信する。属性情報復号化部は復元された幾何情報に基づいて属性情報ビットストリームの属性情報を復号化する。ポイントクラウドデータに含まれた幾何情報及び/又は属性情報は復号化されて復元されたPCCデータになる。
【0421】
属性情報復号化部31002では、図1のポイントクラウドビデオデコーダ、図2の復号20003の動作、図10で説明した特質デコーダの動作、図11の逆量子化部11006、RAHT11007、LOD生成部11008、逆リフト部11009及び/又は色逆変換部11010動作、図13で説明した演算デコーダ13007、逆量子化処理部13008、予測/リフト/RAHT逆変換処理部13009、色相逆変換処理部13010及び/又はレンダラー13011の動作の一部又は全部を行う。
【0422】
図32は実施例によるポイントクラウドデータデコーダを示す。
【0423】
実施例によるポイントクラウドデータデコーダ32000は、符号化されたポイントクラウドデータを含むビットストリームを受信して復号した後、ジオメトリデータ及び特質データを出力する。実施例による符号化されたポイントクラウドデータを含むビットストリームは、ジオメトリデータを含むジオメトリビットストリーム及び/又は特質データを含む特質ビットストリームを含む。
【0424】
実施例によるポイントクラウドデータデコーダ32000は、ジオメトリビットストリームを復号するエントロピーデコーダ32001、八分木再構成部32002、特質ビットストリームを復号するエントロピーデコーダ32003、逆量子化部32004、逆変換部32005、特質再構成及び八分木マッチング部32006及び/又はスケーラブル表現部32007を含む。実施例による特質再構成及び八分木マッチング部32006は、特質再構成部32006a、特質-ノードマッチング部32006b及び/又は八分木-ポイントクラウドデータマッチング部32006cを含む。
【0425】
ジオメトリビットストリームを復号するエントロピーデコーダ32001は、実施例によるジオメトリビットストリームを受信する。ジオメトリビットストリームを復号するエントロピーデコーダ32001はジオメトリビットストリームを復号してジオメトリデータを出力する。
【0426】
八分木再構成部32002は実施例によるジオメトリデータを受信し、これらを用いてポイントクラウドデータのポイントの位置を示すジオメトリデータを八分木構造に変換(又は再構成)する。八分木再構成部32002はジオメトリデータに基づく八分木構造を出力する。
【0427】
特質ビットストリームを復号するエントロピーデコーダ32003は、実施例による特質ビットストリームを受信してこれらを復号する。特質ビットストリームを復号するエントロピーデコーダ32003は、特質ビットストリームを復号して非-量子化された特質情報を出力する。非-量子化された特質情報は非-量子化された残差(residual)特質情報及び/又は予測(predicted)特質情報を含む。
【0428】
逆量子化部32004はエントロピーデコーダ32003により復号されたデータを受信してこれらを逆-量子化する。逆量子化部32004はエントロピーデコーダ32003により復号されたデータを受信してそれを逆-量子化して変換された特質情報を出力する。変換された特質情報は変換された残差(residual)特質情報及び/又は予測(predicted 特質情報を含む。
【0429】
逆変換部32005は実施例による逆量子化部32004により逆量子化されたデータを受信してこれらを逆変換する。逆変換部32005は逆量子化部32004により逆量子化されたデータを逆量子化して再構成された特質情報を出力する。再構成された特質情報は再構成された残差(residual)特質情報及び/又は予測(predicted)特質情報を含む。
【0430】
実施例による受信装置は、実施例による送信装置で行う特質予測のようにレベルが下がりながら(ルートノードからリーフノードに向かう方向に)特質データを予測することができる。実施例による予測方法では、送信部で使用した方法と同じ方法を使用できる。例えば、親ノードの再構成された特質データを親ノードの子ノードに対する予測値として使用することができる。例えば、予測値は、隣接に対する定義によって決定される範囲によってその適用が異なる。例えば、実施例による親ノードの特質データは実施例による送信装置により以下のように予測できる。
【0431】
【0432】
実施例による受信装置は、予測された特質データに基づいて各子ノードの属性を再構成するために送信装置で使用した予測エラース生成方法を逆に行う。例えば、実施例による送信装置が、元の特質(source Attribute)と予測属性(predicted Attribute)の差(残余)により予測エラー(prediction error)を生成した場合、受信装置は実施例による受信装置が推定した予測特質と復号された予測エラーの値を加えることにより、特質データを再構成する。実施例による送信装置は特質エラー生成方法に関する情報を受信装置に伝達する。例えば、実施例による子ノード(又はリーフノード)の特質データは実施例による受信装置により以下のように予測できる。
【0433】
【0434】
C^l(x、y、z)は実施例による子ノードの特質データである。g-1{ }は実施例による送信装置が予測を行う方法の逆を示す関数である。p^l(x、y、z)は実施例による予測された親ノードの特質データを意味する。r^l(x、y、z)は実施例による予測された親ノードの特質データに適用される残差(復号された特質データに含まれる)を意味する。
【0435】
特質再構成及び八分木マッチング部32006は、再構成された特質情報と実施例による八分木構造を受信してカラー化された八分木構造を生成及び出力する。
【0436】
スケーラブル表現部32007は実施例によるカラー化された八分木を受信し、これらに基づいてスケーラブル表現を提供する。
【0437】
図33は実施例によるポイントクラウドデータ受信装置がカラー化された八分木を生成する過程を示す図である。
【0438】
図33に示した動作の全部又は一部は、図32の実施例による特質再構成及び八分木マッチング部32006及び/又はスケーラブル表現部32007で行われる。
【0439】
ポイントクラウドデータをスケーラブルに表現(scalable representation)するために、
【0440】
実施例によるポイントクラウドデータ受信装置は実施例による受信した特質データ及び八分木構造に基づいて再構成されたポイントクラウドデータ(reconstructed point cloud data)を生成する。
【0441】
実施例によるポイントクラウドデータ受信装置がポイントクラウドデータを再構成する動作は、復号された特質(decoded Attribute)及び八分木構造を受信する段階、特質を再構成する段階(Attribute reconstruction)33000、特質-ノードマッチング段階33001、位置予測段階(position estimation)33003、及び特質-ポイントマッチング段階33004を含む。
【0442】
実施例による特質を再構成する段階33000、特質-ノードマッチング段階33001、位置予測段階33003及び特質-ポイントマッチング段階33004は、実施例による八分木構造の毎ノードごとに繰り返して行われる。
【0443】
実施例によるデコーダは、八分木構造のルートノードから始まってリーフノードの以前レベルまで下げながら(step down)、各レベルに含まれたノードに対して特質を再構成する段階33000、特質-ノードマッチング段階33001、位置予測段階33003及び特質-ポイントマッチング段階33004を行う(33007)。
【0444】
実施例によるデコーダは、八分木構造のノードをレベル順に巡回しながら特質を再構成する段階33000、特質-ノードマッチング段階33001、及び位置予測段階33003、特質-ポイントマッチング段階33004を行う。即ち、実施例によるデコーダは、まずルートノードに対して特質を再構成する段階33000、特質-ノードマッチング段階33001、位置予測段階33003、及び特質-ポイントマッチング段階33004を行うことができる。次いで、実施例によるデコーダは、ルートノードの子ノード、即ち、レベルが1であるノードに対して特質を再構成する段階33000、特質-ノードマッチング段階33001、位置予測段階33003、及び特質-ポイントマッチング段階33004を行うことができる。実施例によるデコーダがレベル1に含まれたノードに対して上記の過程を行った場合、実施例によるデコーダはレベル2に含まれたノードに対して再び行うことができる。このような方法により、実施例によるデコーダはリーフノードの以前レベルのノードまで上記動作を行うことができる(33005)。
【0445】
実施例による位置予測段階(position estimation)33003、特質-ポイントマッチング段階33004は、実施例による受信ビットストリーム内のシグナリング情報に含まれたoctree_full_level_present_flagパラメータ値に基づいて行われる(33002)。例えば、octree_full_level_present_flagの値が1であると、位置予測段階33003、特質-ポイント マッチング段階33004が(各)ノードごとに又は全体的に行われる。
【0446】
復号された特質及び八分木構造を受信する段階について説明する。復号された特質は実施例によるデコーダにより復号された特質情報を意味する。即ち、受信したビットストリーム内の特質ビットストリームが復号されたデータを意味する。例えば、復号された特質は、図32の特質ビットストリームがエントロピーデコーダ32003、逆量子化部32004及び/又は逆変換部32005により復号、逆量子化及び/又は逆変換されたデータを意味する。また八分木構造は実施例による図32の八分木再構成部32002により再構成された八分木構造を意味する。
【0447】
特質-ノード マッチング32001とは、実施例によるポイントクラウドデータ受信装置(デコーダ)が受信した復号された特質を八分木構造のノードにマッチングすることを意味する。例えば、実施例によるデコーダは、まず復号された特質データのうち、ルートノードに対応する特質データを八分木構造のルートノードにマッチングする。その後、リーフノードではない下位ノード(子ノード)に対応する特質データをそれぞれ下位ノード(子ノード)からリーフノードのレベルに含まれたノードまでマッチングする。
【0448】
位置予測段階33003は、受信した復号された特質がマッチングされるポイントの実際位置を予測する。位置予測段階33003は、例えば、八分木構造で受信した復号された特質がマッチングされるポイントの実際位置に該当するリーフノードを予測することができる。
【0449】
位置予測段階33003において、実施例によるポイントクラウドデータデコーダがポイントの実際位置又は実際位置に該当するリーフノードを予測する方法は図35で詳しく説明する。
【0450】
位置予測段階33003は復号(復元)されたポイントクラウドデータの特質に対応するポイントの実際位置情報を推定できる場合、スケーラブル復号/表現(scalable decoding/representation)のために八分木の全てのレベルのノードをマッチングしなくても、ポイントを任意の位置ではない実際ポイントの位置を出力することができる。
【0451】
特質-ポイントマッチング33004とは、位置予測段階33003で予測されたポイントの実際位置(又はそれに該当するリーフノード)に復号された特質をマッチングすることを意味する。即ち、特質-ノードマッチングでマッチングされた特質データを実際位置するポイントに対応するリーフノードにマッチングすることを意味する。
【0452】
実施例によるデコーダは、図33に示したように、位置予測段階33003及び特質-ポイントマッチング段階33004をルートノードからリーフノードの上位ノードに該当するノードのそれぞれに対して別途に行うこともできる。また、実施例によるデコーダは、位置予測段階33003及び特質-ポイントマッチング段階33004を八分木構造に含まれたリーフノードを除いた全てのノードに特質データをまずマッチングした後、最後に行うこともできる。
【0453】
図34は実施例によるポイントクラウドデータデコーダが特質-ノードマッチングを行う動作を示す図である。
【0454】
実施例によるポイントクラウドデータのデコーダは実施例によるカラー化された八分木を生成する。図34で説明した実施例による動作は、図32の特質再構成及び八分木マッチング部32006で行われる。図34で説明した実施例による動作は、図33で説明した実施例による動作のうちの一部又は全部に対応する。
【0455】
図34は実施例による八分木構造(全体ジオメトリ)に含まれた占有されたノード(occupied node)に特質データをマッチングする過程を示す。
【0456】
実施例によるポイントクラウドデータデコーダ(又はスケーラブルデコーダ、scalable decoder)は、実施例によるカラー化された八分木を生成するために、特質ビットストリームを復号して復号された特質データ(decoded Attribute data)を生成する段階34000、復号して復号された特質データのうち、八分木構造のルートノードに対応する特質データを八分木構造のルートノードにマッチングする段階(34001)、ルートノードの子ノードからリーフノードの直前の上位ノードまで復号された特質データをマッチングする段階34002及び/又はリーフノードに復号された特質データをマッチングする段階34003を含む。実施例による受信装置は特質ビットストリームを復号する段階34000を行う。
【0457】
実施例による受信装置は復号された特質データ(decoded Attribute data)のうち、ルートノードに対応する特質データを八分木構造のルートノードにマッチング34001aすることができる。
【0458】
実施例による受信装置は、ルートノードに特質データがマッチングされると34001a、復号された特質データのうち、マッチングされた特質データを別途にシグナリング又は格納することができる。例えば、マッチングされた特質データを再構成された(reconstructed)配列内に格納することにより、c2特質データが既にマッチングされた復号されたデータであることを示すことができる。
【0459】
実施例による受信装置は、ルートノードに特質データがマッチングされると34001a、復号された特質データのうち、マッチングされた特質データを除いた残りの特質データを別途にシグナリング又は格納することができる。例えば、残りの特質データをresiduals配列内に格納することにより、c'1、c'5特質データが未だマッチングされていない残りの復号されたデータに関するものであることを示すことができる。
【0460】
実施例による受信装置は、復号された特質データ(decoded Attribute data)のうち、リーフノードを除いた残りのノードに対応する特質データを八分木構造の該当ノードにマッチングすることができる(34002a)。
【0461】
実施例による受信装置は、リーフノードを除いた残りのノードに特質データがマッチングされると34002a、復号された特質データのうち、マッチングされた特質データを別途にシグナリング又は格納することができる。例えば、マッチングされた特質データを再構成された(reconstructred)配列内に格納することにより、c2、c1、c5特質データが予めマッチングされた復号されたデータであることを示すことができる。
【0462】
実施例による受信装置は、リーフノードを除いた残りのノードに特質データがマッチングされると34002a、復号された特質データのうち、マッチングされた特質データを除いた残りの特質データを別途にシグナリング又は格納することができる。例えば、残りの特質データをresiduals配列内に格納することにより、c'3、c'4、c'6、c'7、c'8、c'9の特質データが未だマッチングされていない残りの復号されたデータに関するものであることを示すことができる。
【0463】
実施例による受信装置は、リーフノードのレベルに含まれたノードに対しても復号された特質データをマッチングすることができる(34003)。段階34003は、図32の特質-ポイントクラウドデータマッチング部32006c及び/又は図33の特質-ノードマッチング33001に対応する。
【0464】
例えば、受信装置は、リーフノードの直前のノードまで特質データをマッチングする場合、復号された特質データのうち、c3、c4、c6、c7、c8、c9に該当する特質データが残る。c3、c4、c6、c7、c8、c9に該当する特質データはいずれもリーフノードにマッチングされる。
【0465】
実施例によるポイントクラウドデータ受信装置(デコーダ)は、図34に説明した特質-ノードマッチングを行った後、シグナリング情報(例えば、実施例によるoctree_full_level_present_flag情報など)に基づいて特質-ポイントマッチング(Attribute-point matching)を行うことができる。この過程は図33で説明した位置予測段階33003及び/又は特質-ポイントマッチング段階33004を意味する。
【0466】
図35は実施例による受信装置が実施例による位置予測(position estimation)を行う過程を示す図である。
【0467】
図35に示した数式による動作は、図33の位置予測段階33003及び/又は特質-ポイントマッチング段階33004に対応する。即ち、実施例によるポイントクラウドデータ受信装置(又はデコーダ)は、図35に示した数式に基づいてポイントの実際位置又は八分木構造の実際位置に該当するリーフノードを予測して、予測されたリーフノードに復号された特質データをマッチングすることができる。
【0468】
図35に示した数式による動作は、図32の八分木-ポイントクラウドデータマッチング部32006cで行われ、図34に示した34003段階に対応する。
【0469】
図35に示した数式は、復号された特質データをリーフノードにマッチングするために、即ち、実施例による特質-ポイントマッチングを行うために、特質データに対応するリーフノード(又はその位置)を予測するために使用される数式である。
【0470】
実施例による受信装置は、実施例による送信装置で行う特質予測のようにレベルが下がりながら(ルートノードからリーフノードに向かう方向に)特質データを予測することができる。実施例による予測方法では送信部で使用した方法と同じ方法を使用する。例えば、親ノードの再構成された特質データを親ノードの子ノードに対する予測値として使用する。例えば、予測値は隣接に対する定義によって決定される範囲を異なるように適用することができる。例えば、実施例による親ノードの特質データは実施例による送信装置により以下のように予測される。
【0471】
【0472】
実施例による受信装置では、予測された特質データに基づいて、各子ノードの属性を再構成するために送信装置で使用した予測エラー生成方法を逆に行う。例えば、実施例による送信装置が元の特質(source Attribute)と予測属性(predicted Attribute)の差(残差)により予測エラーを生成した場合、受信装置は実施例による受信装置が推定した予測特質と復号された予測エラーの値を加えることにより、特質データを再構成することができる。実施例による送信装置は特質エラー生成方法に関する情報を受信装置に伝達する。例えば、実施例による子ノード(又はリーフノード)の特質データは実施例による受信装置により以下のように予測される。
【0473】
【0474】
C^l(x、y、z)は実施例による個ノードの特質データである。g-1{ }は実施例による送信装置が予測を行う方法の逆の方法を示す関数である。p^l(x、y、z)は実施例による予測された親ノードの特質データを意味する。r^l(x、y、z)は実施例による予測された親ノードの特質データに適用される残差値(復号された特質データに含まれる)を意味する。
【0475】
まず受信装置は実施例による復号された特質データについて特質-ノードマッチングを行う。即ち、受信装置は実施例による復号された特質データをリーフノードではない特定のノードにマッチングする。
【0476】
次に、受信装置はマッチングされたノードを親ノードとする占有されたリーフノードを検出する。占有されたリーフノードはマッチングされたノードを親ノードとする隣接ノードとも呼ばれる。
【0477】
P_GeoCtr(x、y、z)は、実施例による親ノードの特質情報を意味する。(x_n、y_n、z_n)は実施例によるn個のポイントを(x、y、z)座標で示すものである。NEIGHBORは(x_n、y_n、z_n)ポイントの隣接に対応するポイントの集合を意味する。Attr(x_n、y_n、z_n)はn個のポイントのそれぞれに対する特質情報を示す。即ち、Attr(x_n、y_n、z_n)は(x_n、y_n、z_n)の位置にあるポイントの特質情報を示す。言い換えれば、Attr(point)関数はpointの特質情報を返還する関数であると理解できる。f{Attr(x_n、y_n、z_n)|(x_n、y_n、z_n)∈NEIGHBOR}は、特定ポイントの隣接に対応するポイントをインプット(input)するとき、該当隣接ポイントの一つである(x_n、y_n、z_n)ポイントの特質情報を返還する関数を意味する。f{Attr(x_n、y_n、z_n)|(x_n、y_n、z_n)∈NEIGHBOR}は、35000aに示した数式の値が最小になるポイント(x_n、y_n、z_n)の特質値を意味する。s(x_n、y_n、z_n)は実施例によるポイントのうち、親ノードとして選択されたか否か示す。
【0478】
例えば、x(x_n、y_n、z_n)は未だ実施例によるエンコーダにより、親ノードにマッチングするノードとして選択されていないノードを意味する。実施例によるポイントクラウドデータ送信装置及び/又は受信装置は、選択されたポイントのs()=0としてセットして他のノードをマッチングするとき、重複して選択されないようにすることができる。
【0479】
Mは実施例による隣接ポイントの個数を意味する。[x^-、y^-、z^-]^Tは実施例による隣接ポイントの平均位置を意味する。実施例による隣接ポイントの平均位置は、図24に示すように決定される。||[x^-、y^-、z^-]^T-[x_n、y_n、z_n]^T||は、それぞれの隣接ポイントと隣接ポイントの平均位置の距離(例えば、ユークリッド距離)を意味する。
【0480】
整理すると、実施例による受信装置は、図35に示した数式を用いて復号された特質に対応するポイントの実際位置を予測することができる。例えば、受信装置はジオメトリデータを用いて、特定のノードのNEIGHBORに該当する(x_n、y_n、z_n)を探索して、NEIGHBORに該当するポイントの上述したM値、s(x_n、y_n、z_n)値、weight(x_n、y_n、z_n)値、[x^-、y^-、z^-]^T値及び||[x^-、y^-、z^-]^T-[x_n、y_n、z_n]^T||などを計算することができる。従って、各ポイントの位置について35000aに該当する値を計算した後、復号された特質情報と合うか否かを確認することにより、特定のノードにマッチングしようとする特質データに対応するポイントの位置を予測することができる。
【0481】
図36は実施例によるポイントクラウドデータデコーダがカラー化された八分木を生成する過程の他の実施例を示す図である。
【0482】
具体的には、図36は実施例によるデコーダが特質-ノードマッチング及び/又は特質-ポイントマッチングを行って部分表現(partial representation)又は全体表現(full representation)のためのカラー化された八分木を生成する過程を示す。
【0483】
実施例によるポイントクラウドデータのデコーダは実施例によるカラー化された八分木を生成する。図36で説明した実施例による動作は、図32の特質再構成及び八分木マッチング部32006及び/又はスケーラブル表現部32007で行われる。図36で説明した実施例による動作は、図33で説明した実施例による動作の一部又は全部に対応する。また図36で説明した実施例による動作は、図34で説明した動作を含む。
【0484】
実施例によるポイントクラウドデータデコーダ(又はスケーラブルデコーダ、scalable decoder)は、実施例によるカラー化された八分木を生成するために、特質ビットストリームを復号して復号された特質データ(decoded Attribute data)を生成する段階34000、復号して復号された特質データのうち、八分木構造のルートノードに対応する特質データを八分木構造のルートノードにマッチングする段階34001、ルートノードの子ノードからリーフノードの直前の上位ノードまで復号された特質データをマッチングする段階34002を行う。さらに実施例によるポイントクラウドデータデコーダはリーフノードをマッチングする段階34003を含む。
【0485】
実施例による受信装置は特質ビットストリームを復号する段階34000を行う。この段階で受信された特質ビットストリームは図30のビットストリーム選択部30003により選択された、一部の特質データを含むビットストリームを意味する。即ち、この段階において、特質ビットストリームは部分特質情報のみを含むので、34000bに示した特質データは含まないことができる。
【0486】
実施例による受信装置は復号された特質データ(decoded Attribute data)のうち、ルートノードに対応する特質データを八分木構造のルートノードにマッチングする(36002a)。段階36002aは図32の特質-ノードマッチング部32006b及び/又は図33の特質-ノードマッチング33001に対応する。
【0487】
実施例による受信装置はルートノードに特質データがマッチングされると36002a、図34で説明したように、復号された特質データのうち、マッチングされた特質データを別途にシグナリング又は格納することができる。また実施例による受信装置はルートノードに特質データがマッチングされると36002a、図34で説明したように、復号された特質データのうち、マッチングされた特質データを除いた残りの特質データを別途にシグナリング又は格納することができる。
【0488】
もし実施例によるジオメトリビットストリームが全体ジオメトリ情報を含むと、即ち、八分木構造が全体ジオメトリ情報に対応すると(例えば、octree_full_level_present_flag==1である場合)、マッチングする特質データに対応する実際ポイントのリーフノードに実施例による特質データをさらにマッチングすることができる(36002b)。段階36002bは図32の特質-ノードマッチング部32006c及び/又は図33の特質-ポイントマッチング33004に対応する。
【0489】
実施例による受信装置は実際ポイントのリーフノードに特質データがマッチングされると36002b、実際ポイントのリーフノードに該当特質情報がマッチングされたことを別途にシグナリング又は格納することができる。例えば、受信装置は実際ポイントのリーフノードに該当特質情報がマッチングされたことをマッチングされたシグナリング情報又は配列に格納することができる。
【0490】
実施例による受信装置は復号された特質データのうち、リーフノードを除いた残りのノードに対応する特質データを八分木構造の該当ノードにマッチングすることができる(36003a)。段階36003aは図32の特質-ノードマッチング部32006b及び/又は図33の特質-ノードマッチング33001に対応する。
【0491】
同様に、もし実施例によるジオメトリビットストリームが全体ジオメトリ情報を含むと、即ち、八分木構造が全体ジオメトリ情報に対応すると(例えば、octree_full_level_present_flag==1である場合)、マッチングする特質データに対応する実際のポイントのリーフノードに実施例による特質データをさらにマッチングすることができる(36003b)。段階36003bは図32の特質-ノードマッチング部32006c及び/又は図33の特質-ポイントマッチング33004に対応する。
【0492】
実施例による受信装置は復号された特質データのうち、リーフノードに対応する特質データを八分木構造の該当ノードにマッチングすることができる(36004a)。段階36004aは図32の特質-ノードマッチング部32006b及び/又は図33の特質-ノードマッチング33001に対応する。
【0493】
段階36004aではリーフノードに特質データがマッチングされたので、マッチングされた特質データに対して特質-ポイントマッチングが行われなくこともある。
【0494】
実施例によれば、特質-ノードマッチングが行われない特質データをマッチングされていない占有されたリーフノードにマッチングする。即ち、受信装置は特質-ノードマッチングが行われていない特質データに対して特質-ポイントマッチングを行うことができる(36004b)。
【0495】
以下、上述した実施例による動作を、図30で説明したスケーラブルデコーダに連関して説明する。
【0496】
図36で説明する動作は、図30で説明したスケーラブルデコーダ30004a-30004cを意味する。
【0497】
例えば、図36で説明する動作の一部の組み合わせ又は全部は、図30で説明した1番目の実施例によるスケーラブルデコーダ30004a、2番目の実施例によるスケーラブルデコーダ30004b又は3番目の実施例によるスケーラブルデコーダ30004cの動作を意味する。
【0498】
まず図30で説明した1番目の実施例によるスケーラブルデコーダ30004aの動作を図36の動作に連関して説明する。
【0499】
図30を参照すると、1番目の実施例によるスケーラブルデコーダ30004aは、部分ジオメトリ(partial geometry)情報と部分特質(partial Attribute)情報を受信する。実施例によれば、図36に示した八分木構造は受信ポイントクラウドデータのポイントの位置情報を示す八分木構造の一部レベルのみを示す(即ち、部分ジオメトリ情報)。
【0500】
従って、実施例によれば、ビットストリームに含まれたシグナリング情報内に含まれたoctree_full_level_present_flag情報は0である。従って、1番目の実施例によるスケーラブルデコーダ30004bは、octree_full_level_present_flagの値が0であることに対応して、実施例による特質-ポイントマッチング動作が行われない。1番目の実施例によるスケーラブルデコーダが受信した実施例による八分木構造は一部レベルに対する八分木構造であり、ポイントの正確な位置情報を含まないためである。
【0501】
従って、実施例による受信装置は、低解像度(low resolution)のポイントクラウドコンテンツを提供するために部分表現を行う代わりに、特質-ポイントマッチング動作を行わないことによりユーザに迅速にポイントクラウドコンテンツを提供することができる。
【0502】
整理すると、部分ジオメトリ情報と部分特質情報情報を受信する実施例によるスケーラブルデコーダ30004bは、octree_full_level_present_flagの値が0であることに対応して、八分木構造に含まれたノードに対して上述した特質-ノードマッチングを行って(36002a、36003a)、通信状態が悪い環境でもユーザに迅速にポイントクラウドコンテンツを提供することができる。
【0503】
次に、図30で説明した2番目の実施例によるスケーラブルデコーダ30004bの動作を図36の動作に連関して説明する。
【0504】
図30を参照すると、2番目の実施例によるスケーラブルデコーダ30004bは、全体ジオメトリ情報と部分特質情報を受信する。実施例によれば、図36に示した八分木構造は受信ポイントクラウドデータのポイントの位置情報を示す八分木構造の全てのレベルを含む(即ち、全体ジオメトリ情報)。
【0505】
従って、ビットストリームに含まれたシグナリング情報内に含まれたoctree_full_level_present_flag情報は1である。従って、2番目の実施例によるスケーラブルデコーダ30004bは、octree_full_level_present_flagの値が1であることに対応して、実施例による特質-ポイントマッチング動作が行われる。2番目の実施例によるスケーラブルデコーダが受信した実施例による八分木構造は全てのレベルに対する八分木構造であり、ポイントの正確な位置情報を含むためである。
【0506】
実施例によるスケーラブルデコーダは部分特質情報を受信するので、全てのポイントに対して特質情報をマッチングすることができない。従って、2番目の実施例によるスケーラブルデコーダ30004bは受信した特質データに対応するポイント(ノード)のみに対してマッチングを行うことができる。従って、2番目の実施例によるスケーラブルデコーダ30004bは受信した特質データのみに対して八分木構造に特質-ノードマッチングを行い(36002a、36003a)、特質-ポイントマッチングを行うことができる(36002b、36003b)。
【0507】
従って、実施例による受信装置は、ポイントの位置情報が相対的に重要なポイントクラウドデータに対して相対的に高い解像度のポイントクラウドコンテンツを提供するために部分表現を行う代わりに、不要な特質情報に対してマッチング動作を行わないことにより、ユーザに迅速にポイントクラウドコンテンツを提供することができる。
【0508】
整理すると、全体ジオメトリ情報と部分特質情報を受信する実施例によるスケーラブルデコーダ30004bは、octree_full_level_present_flagの値が1であることに対応して、八分木構造に含まれた受信した特質データに該当するノードに対して上述した特質-ノードマッチング及び/又は特質-ポイントマッチングを行って、ユーザに適合なポイントクラウドコンテンツを提供することができる。
【0509】
次に、図30で説明した3番目の実施例によるスケーラブルデコーダ30004cの動作を図36の動作に連関して説明する。
【0510】
図30を参照すると、3番目の実施例によるスケーラブルデコーダ30004cは、全体ジオメトリ情報と全体特質情報を受信する。実施例によれば、図36示した八分木構造は受信ポイントクラウドデータのポイントの位置情報を示す八分木構造の全てのレベルを含む(即ち、全体ジオメトリ情報)。
【0511】
従って、実施例によれば、ビットストリームに含まれたシグナリング情報内に含まれたoctree_full_level_present_flag情報は1である。従って、3番目の実施例によるスケーラブルデコーダ30004cはoctree_full_level_present_flagの値が1であることに対応して、実施例による特質-ポイントマッチング動作が行われる。
【0512】
実施例によるスケーラブルデコーダは全体特質情報を受信するので、全てのポイントに対して特質情報をマッチングすることができる。従って、3番目の実施例によるスケーラブルデコーダ30004cは受信した特質データに対応するポイント(ノード)のみに対してマッチングを行うことができる。従って、3番目の実施例によるスケーラブルデコーダ30004cは受信した全ての特質データに対して八分木構造に含まれたノードに対して特質-ノードマッチングを行い(36002a、36003a、36004a)、特質-ポイントマッチングを行うことができる(36002b、36003b、36004b)。即ち、3番目の実施例によるスケーラブルデコーダ30004cは八分木構造に含まれた全ての占有されたノードに対して特質データをマッチングすることができる。
【0513】
従って、実施例による受信装置は、ポイントの位置と特質が正確に現出される高い解像度のポイントクラウドコンテンツを提供するために全体表現を行って、受信環境の良い場合又は正確なポイントクラウドコンテンツが提供される必要があるコンテンツに適合する。
【0514】
整理すると、全体ジオメトリ情報と全体特質情報を受信する実施例によるスケーラブルデコーダ30004cは、octree_full_level_present_flagの値が1であることに対応して、八分木構造に含まれたノードに対して上述した特質-ノードマッチング及び/又は特質-ポイントマッチングを行って、ユーザに適合するポイントクラウドコンテンツを提供することができる。
【0515】
図37は実施例によるポイントクラウドデータデコーダがスケーラブル表現のために復号する過程を示す図である。
【0516】
図37(a)は実施例によるスケーラブル表現の一例である。
【0517】
図37(a)は実施例によるポイントクラウドデコーダ(例えば、図30ないし図36で説明)のスケーラブル表現の一例である。図37(a)の左側に示した矢印はジオメトリの八分木構造の深さが増加する方向を示す。実施例による八分木構造の最上位ノードは最下位深さ又は最初の深さに対応し、ルートと呼ばれる。実施例による八分木構造の最下位ノードは最上位深さ又は最後の深さに対応し、リーフ(Leaf)と呼ばれる。実施例による八分木構造の深さはルートからリーフ方向に増加する。
【0518】
実施例によるポイントクラウドデコーダは性能によって高い解像度のポイントクラウドコンテンツ37004bを提供するためのスケーラブル復号37003b又は低い解像度のポイントクラウドコンテンツ37004aを提供するためのスケーラブル復号37003aを行う。
【0519】
高い解像度ポイントクラウドコンテンツを提供するために、ポイントクラウドデコーダは八分木構造の全体に対応するジオメトリビットストリーム37001及び特質ビットストリーム37002を復号する(37003b)。
【0520】
低い解像度のポイントクラウドコンテンツを提供するためのポイントクラウドデコーダは八分木構造の特定の深さに対応する部分ジオメトリビットストリーム37001及び部分特質ビットストリーム37002を復号する(37003a)。
【0521】
実施例による特質復号はジオメトリ復号に基づいて行われる。従って、ポイントクラウドデコーダが部分特質ビットストリーム1812-2に対応する特質を復号する場合にも、ポイントクラウドデコーダはジオメトリビットストリーム37001を復号しなければならない。即ち、37001において、斜線処理した部分はディスプレイされないジオメトリ情報に対応するが、部分特質ビットストリーム37002に対応する特質を復号するために送信及び復号される。
【0522】
また実施例による送信装置(例えば、図1で説明した送信装置10000又は図12で説明した送信装置)又はポイントクラウドエンコーダ(図1のポイントクラウドビデオエンコーダ10002、図4のポイントクラウドエンコーダ、図12図14及び図15で説明したポイントクラウドエンコーダなど)は、八分木構造の特定の深さに対応する部分ジオメトリビットストリーム(37001の上端)及び部分特質ビットストリーム(37002の上端)のみを送信することができる。低い解像度のポイントクラウドコンテンツを提供するためのポイントクラウドデコーダは、八分木構造の特定の深さに対応する部分ジオメトリビットストリーム(37001の上端)及び部分特質ビットストリーム(37002の上端)を復号する(37003a)。
【0523】
実施例によるポイントクラウドエンコーダは、ジオメトリ構造に特質をマッチングして図30ないし図36で説明したカラー化された八分木を生成する。実施例によるカラー化された八分木は、ジオメトリの八分木構造を示す一つ又はそれ以上のレベル(又は深さ)に対して各レベルのノードと特質をマッチングして生成される。実施例によるポイントクラウドエンコーダは、生成されたカラー化された八分木に基づいて特質符号化を行う。また、ポイントクラウドエンコーダは、受信装置でスケーラブル復号及びスケーラブル表現を行うように、カラー化された八分木に関連する情報を含むスケーラブル表現情報を生成して、エンコードされたジオメトリ及びエンコードされた属性と共にビットストリームにより送信する。
【0524】
受信装置はスケーラブル表現情報に基づいて、送信装置又はポイントクラウドエンコーダの逆過程によりカラー化された八分木を生成することができる。上述したように、カラー化された八分木はジオメトリの八分木構造にマッチングされた特質を示す。従って、受信装置はカラー化された八分木に基づいて特定のレベルを選択してマッチングされた特質によって低解像度のポイントクラウドコンテンツを出力又はレンダリングすることができる。特に受信装置は別途の受信過程又は処理過程なしに受信装置の性能による様々な解像度のポイントクラウドコンテンツを提供することができる。実施例による送信装置(又はポイントクラウドエンコーダ)及び受信装置(又はポイントクラウドデコーダ)のいずれもカラー化された八分木を生成することができる。実施例によるカラー化された八分木生成過程又は方法は八分木カラー化とも呼ぶ。実施例によるポイントクラウドエンコーダは八分木構造の最上位ノード(最下位レベル)から再下位ノード(最上位レベル)に対して全体八分木構造に対して八分木カラー化を行うこともできる。また実施例によるポイントクラウドエンコーダは八分木構造の任意の深さ区間(例えば、n-1レベルからnレベルまで)に対して八分木カラー化を行うことができる。実施例によるポイントクラウドデコーダは上述したスケーラブルコーディング情報に基づいて八分木カラー化を行うことができる。
【0525】
図37(b)は実施例によるスケーラブル復号によるジオメトリ及び特質の詳細を示す図である。
【0526】
図37(b)の上側はスケーラブル復号によるジオメトリの詳細を示す例示である。第1矢印37005cは八分木の上位ノード(即ち、ルートノードに近いノード)から下位ノード(即ち、リーフノードに近いノード)の方向を示す。図示したように、八分木の上位ノードから下位ノードの方向にスケーラブル復号が進行されると、より多いポイントが存在するので、ジオメトリの詳細が増加する。八分木構造のリーフノードはジオメトリーの最上位レベルの詳細に対応する。
【0527】
図37(b)の下側はスケーラブル復号による特質の詳細を示す例示である。第2矢印37005dは八分木の上位ノードから下位ノードの方向を示す。図示したように、八分木の上位ノードから下位ノードの方向にスケーラブル復号が進行されると、特質の詳細が増加する。
【0528】
図38は実施例によるポイントクラウドデータデコーダがスケーラブル表現(scalable representation)のために復号する過程を示す図である。
【0529】
具体的には、図38図36で説明した、実施例によるスケーラブルデコーダが復号する方法を示す。
【0530】
<case1>は実施例によるスケーラブルデコーダが実施例による全体ジオメトリ(full geometry)38001aの情報及び全体特質(full Attribute)38001b情報を受信してスケーラブル復号(scalable decodeing)を行うことを示す。
【0531】
<case1>で説明する動作は、図36及び図30で説明した3番目の実施例によるスケーラブルデコーダ30004cで行われる。<case1>の動作を行うスケーラブルデコーダは、全てのポイントの位置を示す八分木構造に含まれた占有されたノードに特質データをマッチングした再構成されたカラー化された八分木(reconstructed colorized octree、カラー化された八分木とも呼ぶ)を生成する。<case1>の動作を行うスケーラブルデコーダで生成した再構成されたカラー化された八分木は、図30ないし図37で説明した特質-ノードマッチング及び特質-ポイントマッチングの動作により生成される。
【0532】
スケーラブルデコーダは、<case1>で説明する動作を行うことにより、必要時、ポイントクラウドコンテンツを高い解像度で良質のコンテンツをユーザに提供することができる。
【0533】
<case2>は実施例によるスケーラブルデコーダが実施例による部分ジオメトリ(partial geometry)38002aの情報及び部分特質(partial Attribute)38002bの情報を受信してスケーラブル復号(scalable decodeing)することを示す。
【0534】
<case2>で説明する動作は、図36及び図30で説明する1番目の実施例によるスケーラブルデコーダ30004aで行われる。<case2>の動作を行うスケーラブルデコーダは、ポイントの位置を示す八分木構造の一部レベルに対するデータのみを含む八分木構造に含まれた占有されたノードに特質データをマッチングした再構成されたカラー化された八分木(カラー化された八分木とも呼ぶ)を生成する。<case2>の動作を行うスケーラブルデコーダで生成した再構成されたカラー化された八分木は、図30ないし図37で説明した特質-ノードマッチング動作により生成される。
【0535】
スケーラブルデコーダは<case2>で説明する動作を行うことにより、ポイントクラウドコンテンツを平均水準の解像度に迅速にユーザに提供することができる。
【0536】
例えば、全体octree depth=N、geometry octree depth=N-a、Attribute octree depth=N-bである場合、S=max(a,b)と定義するとき、出力ポイントクラウドデータはS x S x Sと下げられた情報になる。この時、出力されるポイントクラウドデータは入力データに存在する実際の位置に対する復元値ではなく、下げられるポイントクラウドデータをまとめるS x S x Sサイズのキューブの中心位置を示す。
【0537】
<case3>は実施例によるスケーラブルデコーダが実施例による全体ジオメトリ38003aの情報及び部分特質38003bの情報を受信してスケーラブル復号することを示す。
【0538】
<case3>で説明する動作は、図36及び図30で説明した2番目の実施例によるスケーラブルデコーダ30004bで行われる。<case3>の動作を行うスケーラブルデコーダは、ポイントの位置を示す八分木構造の全てのレベルに対するデータのみを含む八分木構造に含まれた占有されたノードに特質データの一部をマッチングした再構成されたカラー化された八分木(カラー化された八分木とも呼ぶ)を生成する。<case3>の動作を行うスケーラブルデコーダで生成した再構成されたカラー化された八分木は、図30ないし図37で説明した特質-ノードマッチング及び特質-ポイントマッチングの動作により生成される。
【0539】
スケーラブルデコーダは<case3>で説明した動作を行うことにより、ポイントの位置情報が相対的に重要なポイントクラウドデータに対して相対的に高い解像度のポイントクラウドコンテンツを提供するために部分表現を行う代わりに、不要な特質情報に対してマッチング動作を行わないようにして、ユーザに迅速にポイントクラウドコンテンツを提供することができる。
【0540】
図39は実施例によるポイントクラウドデータ送信段階を示す図である。
【0541】
実施例によるポイントクラウドデータ送信段階は、ポイントクラウドデータを符号化する段階39000及び/又はポイントクラウドデータ及びポイントクラウドデータに関するシグナリング情報を含むビットストリームを送信する段階39001を含む。
【0542】
実施例によるポイントクラウドデータはポイントクラウドデータのポイントの位置情報(位置、position)を示すジオメトリ情報、イントラクラウドデータのポイントの属性(特質、Attribute)を示す特質情報を含む。
【0543】
ポイントクラウドデータを符号化する段階39000は、実施例によるポイントクラウドに含まれたジオメトリ情報を符号化する段階、及び実施例によるポイントクラウドに含まれた特質情報を符号化する段階を含む。ポイントクラウドデータを符号化する段階39000は、図18及び図20で説明した動作、図19図21ないし図26で説明した動作を行うことができる。
【0544】
例えば、特質情報を符号化する段階は、ジオメトリ情報の八分木構造を受信する段階、及び八分木構造の各レベルに一つ又はそれ以上の特質をマッチングしてカラー化された八分木を生成する段階を含む。八分木構造は一つ又はそれ以上のレベルで表現され、カラー化された八分木は特質情報の一部又は全部をスケーラブル表現するように特質情報を符号化するために使用される。実施例による特質情報を符号化する段階はさらに、カラー化された八分木にマッチングされたデータのうち、重複するデータを除去する段階を含む。
【0545】
ポイントクラウドデータ及びポイントクラウドデータに関するシグナリング情報を含むビットストリームを送信する段階39001は、上述した符号化されたポイントクラウドデータを送信する。実施例によるシグナリング情報は図27で説明した情報を含む。また、シグナリング情報は、ビットストリームが八分木構造のフルレベルに対するデータを含むか、又は八分木構造の一部レベルに対するデータのみを含むかを示す情報(例えば、実施例によるoctree_full_level_present_flag情報)を含む。
【0546】
図40は実施例によるポイントクラウドデータ受信段階を示す図である。
【0547】
実施例によるポイントクラウドデータ受信段階は、ポイントクラウドデータ及びシグナリング情報を含むビットストリームを受信する段階40000、ポイントクラウドデータを復号する段階40001及び/又は復号されたポイントクラウドデータをレンダリングする段階40002を含む。
【0548】
実施例によるビットストリームに含まれたポイントクラウドデータは、ポイントクラウドデータのポイントの位置を示すジオメトリ情報及びポイントクラウドデータのポイントの一つ又はそれ以上の特質を示す特質情報を含む。
【0549】
実施例によるシグナリング情報は、実施例によるビットストリームが八分木構造のフルレベルに対するデータを含むか、又は八分木構造の一部レベルに対するデータのみを含むかを示す情報(例えば、実施例によるoctree_full_level_present_flag情報)を含む。
【0550】
ポイントクラウドデータを復号する段階40001は、ジオメトリ情報を復号する段階及び特質情報を復号する段階を含む。ポイントクラウドデータを復号する段階40001は、ポイントクラウドデータを八分木構造の一部レベルに対するデータのみを含むか否かを示す情報(例えば、octree_full_level_present_flag)に基づいてスケーラブル表現できるように特質情報を復号するためのカラー化された八分木を生成することができる。
【0551】
復号する段階40001は、図30ないし図38で説明した実施例によるデコーダの動作又は復号する段階を意味する。
【0552】
レンダリングする段階40002は、実施例による復号されたポイントクラウドデータをレンダリングする。実施例によるレンダリングする段階40002は、生成されたカラー化された八分木に基づいて全体表現(full representation)又は一部表現(partial represeneation)を行う。
【0553】
図1ないし図40で説明した実施例によるポイントクラウドデータ処理装置の構成要素は、メモリと結合した一つ又はそれ以上のプロセッサを含むハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせで具現される。実施例によるデバイスの構成要素は、一つのチップ、例えば、一つのハードウェア回路で具現される。また実施例によるポイントクラウドデータ処理装置の構成要素は、それぞれのチップで具現される。また実施例によるポイントクラウドデータ処理装置の構成要素のいずれかは、一つ又はそれ以上のプログラムを実行可能な一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは図1ないし図40で説明したポイントクラウドデータ処理装置の動作/方法のうちのいずれか一つ又はそれ以上の動作を実行させたり、実行するための指示(Instruction)を含む。
【0554】
説明の便宜のために、各図を区分して説明したが、各図に述べられている実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように、説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
【0555】
実施例による装置及び方法に関する説明は互いに補完して適用できる。例えば、実施例によるポイントクラウドデータ送信方法は実施例によるポイントクラウドデータ送信装置又はポイントクラウドデータ送信装置に含まれた構成要素により行われる。また、実施例によるポイントクラウドデータ受信方法は実施例によるポイントクラウドデータ受信装置又はポイントクラウドデータ受信装置に含まれた構成要素により行われる。
【0556】
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュータープログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュータープログラム製品に格納されることができる。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インターネットによる送信などのような搬送波の形態で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワークで連結されたコンピューターシステムに分散されて、分散方式によりプロセッサが読み取られるコードが格納されて実行されることができる。
【0557】
この明細書において、“/”と“,”は“及び/又は”に解釈される。例えば、“A/B”は“A及び/又はB”に解釈され、“A、B”は“A及び/又はB”に解釈される。さらに、“A/B/C”は“A、B及び/又はCのうちのいずれか”を意味する。また、“A、B、C”も“A、B及び/又はCのうちのいずれか”を意味する。さらに、この文書において、“又は”は“及び/又は”に解釈される。例えば、“A又はB”は、1)“A”のみを意味するか、2)“B”のみを意味するか、又は3)“A及びB”を意味する。言い換えれば、この明細書において“又は”は“さらに(additionally)又は代わりに(alternatively)”を意味する。
【0558】
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユーザ入力信号は第2ユーザ入力信号と称することができる。同様に、第2ユーザ入力信号は第1ユーザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユーザ入力信号及び第2ユーザ入力信号はいずれもユーザ入力信号であるが、文脈上、明確に示していない限り、同一のユーザ入力信号を意味してはいない。
【0559】
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限されるものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポーネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポーネントを含まないことを意味しない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。
【0560】
発明の実施のための最善の形態で具体的に説明する。
【産業上の利用可能性】
【0561】
本発明の思想や範囲内で本発明を様々な変更及び変形が可能であることは当業者にとって明らかである。よって、本発明は添付する請求範囲及びその同等な範囲内で提供される本発明の変更及び変形を含む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40