(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-14
(45)【発行日】2024-11-22
(54)【発明の名称】方位コーディングモードを使用して点群ジオメトリデータを符号化/復号化する方法及び装置
(51)【国際特許分類】
G06T 9/00 20060101AFI20241115BHJP
【FI】
G06T9/00
(21)【出願番号】P 2023559993
(86)(22)【出願日】2021-10-13
(86)【国際出願番号】 CN2021123664
(87)【国際公開番号】W WO2022213571
(87)【国際公開日】2022-10-13
【審査請求日】2023-10-27
(32)【優先日】2021-04-08
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】516180667
【氏名又は名称】北京小米移動軟件有限公司
【氏名又は名称原語表記】Beijing Xiaomi Mobile Software Co.,Ltd.
【住所又は居所原語表記】No.018, Floor 8, Building 6, Yard 33, Middle Xierqi Road, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ガオ,シュオ
(72)【発明者】
【氏名】ラセール,セバスチャン
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2021/0326734(US,A1)
【文献】米国特許出願公開第2020/0394822(US,A1)
【文献】米国特許出願公開第2020/0302237(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00 ー 9/40
(57)【特許請求の範囲】
【請求項1】
点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法であって、前記方法は、前記点群の点の座標を符号化するための一連のビットを提供する方位コーディングモードを含み、前記方法は、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、ビット(b
d)を前記ビットストリームにコンテキスト自己適応バイナリエントロピー符号化するステップであって、前記符号化されたビット(b
d)は、前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法。
【請求項2】
物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法であって、前記方法は、前記点群の点の座標を復号化するための一連のビットを提供する方位コーディングモードを含み、前記方法は、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、前記ビットストリームからビット(b
d)をコンテキスト自己適応バイナリエントロピー復号化するステップであって、前記復号化されたビット(b
d)は、前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法。
【請求項3】
第1の角度(φ
1,d)と、第2の角度(φ
2,d)と第3の角度(φ
3,d)との重み付け差とを加算することにより、前記左角(φ
left,d)を補間し、第4の角度(φ
4,d)と、第5の角度(φ
5,d)と第6の角度(φ
6,d)との重み付け差とを加算することにより、前記右角(φ
right,d)を補間する、
請求項1または2に記載の方法。
【請求項4】
前記第1の角度、第2の角度、第3の角度、第4の角度、第5の角度及び第6の角度は前記親区間に関連する継承角度である、
請求項3に記載の方法。
【請求項5】
前記第1の角度、第3の角度及び第4の角度はいずれも前記親区間に関連する同じ継承角度(φ
1,d-1)に等しく、前記第2の角度、第4の角度及び第5の角度はいずれも前記親区間の中点に関連する別の継承角度(φ
middle,d-1)に等しく、アークタンジェント関数を実行することにより前記左半区間または右半区間の中点に関連する角度(φ
middle,d)を計算する、
請求項4に記載の方法。
【請求項6】
前記第1の角度、第3の角度及び第5の角度はいずれも同じ継承角度(φ
1,d-1)に等しく、前記第2の角度、第4の角度及び第6の角度はいずれも前記親区間の上限に等しい別の継承角度(φ
top,d-1)に等しく、アークタンジェント関数を実行することにより前記左半区間の上限に関連する角度(φ
top,d)または前記右半区間の下限に関連する角度(φ
low,d)を計算する、
請求項4に記載の方法。
【請求項7】
前記左半区間の前記上限に関連する前記角度(φ
top,d)または前記右半区間の前記下限に関連する前記角度(φ
low,d)は前記親区間の
中点に関連する継承角度(φ
middle,d-1)に等しい、
請求項6に記載の方法。
【請求項8】
1番目のビットを符号化するために、アークタンジェント関数を実行することにより前記左半区間の前記上限に関連する前記角度(φ
top,d)または前記右半区間の前記下限に関連する前記角度(φ
low,d)を計算し、後続のビットを符号化するために、前記左半区間の前記上限に関連する前記角度(φ
top,d)または前記右半区間の前記下限に関連する前記角度(φ
low,d)は前記親区間の
中点に関連する継承角度(φ
middle,d-1)に等しい、
請求項6に記載の方法。
【請求項9】
前記親区間の前記中点に関連する前記継承角度(φ
middle,d-1)は前記親区間に関連する2つの継承角度(φ
1,d-1)及び(φ
top,d-1)から補間される、
請求項7に記載の方法。
【請求項10】
前記親区間の寸法が決定された閾値以上である場合、アークタンジェント関数を実行することにより前記親区間の前記中点に関連する前記継承角度(φ
middle,d-1)を計算し、または、前記親区間の寸法が決定された閾値より小さい場合、前記親区間に関連する2つの継承角度(φ
1,d-1)及び(φ
top,d-1)から補間する、
請求項7に記載の方法。
【請求項11】
点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する装置であって、前記装置は、前記点群の点の座標を符号化するための一連のビットを提供する方位コーディングモードを実現するように構成される1つまたは複数のプロセッサを含み、前記方位コーディングモードは、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、ビット(b
d)を前記ビットストリームにコンテキスト自己適応バイナリエントロピー符号化するステップであって、前記符号化されたビット(b
d)は前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する装置。
【請求項12】
物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する装置であって、前記装置は、前記点群の点の座標を符号化するための一連のビットを提供する方位コーディングモードを実現するように構成される1つまたは複数のプロセッサを含み、前記方位コーディングモードは、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、前記ビットストリームからビット(b
d)をコンテキスト自己適応的バイナリエントロピー復号化するステップであって、前記復号化されたビット(b
d)は前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する装置。
【請求項13】
コンピュータプログラムであって、前記コンピュータプログラムが1つまたは複数のプロセッサによって実行される場合、1つまたは複数のプロセッサに、点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法を実行させ、前記方法は、前記点群の点の座標を符号化するための一連のビットを提供する方位コーディングモードを含み、前記方法は、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、ビット(b
d)を前記ビットストリームにコンテキスト自己適応バイナリエントロピー符号化するステップであって、前記符号化されたビット(b
d)は前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
コンピュータプログラム。
【請求項14】
プログラムコードの命令を運ぶ非一時的な記憶媒体であって、前記命令は点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法を実行し、前記方法は、前記点群の点の座標を符号化するための一連のビットを提供する方位コーディングモードを含み、前記方法は、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、ビット(b
d)を前記ビットストリームにコンテキスト自己適応バイナリエントロピー符号化するステップであって、前記符号化されたビット(b
d)は前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
非一時的な記憶媒体。
【請求項15】
コンピュータプログラムであって、前記コンピュータプログラムが1つまたは複数のプロセッサによって実行される場合、前記1つまたは複数のプロセッサに、物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法を実行させ、前記方法は前記点群の点の座標を復号化するための一連のビットを提供する方位コーディングモードを含み、前記方法は、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、前記ビットストリームからビット(b
d)をコンテキスト自己適応バイナリエントロピー復号化するステップであって、前記復号化されたビット(b
d)は前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
コンピュータプログラム。
【請求項16】
プログラムコードの命令を運ぶ非一時的な記憶媒体であって、前記命令は物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法を実行し、前記方法は前記点群の点の座標を復号化するための一連のビットを提供する方位コーディングモードを含み、前記方法は、
-前記点の座標が属する親区間を左半区間と右半区間とに分割するステップと、
-前記親区間に関連する少なくとも1つの継承角度から、前記左半区間に関連する左角(φ
left,d)と前記右半区間に関連する右角(φ
right,d)とを補間するステップと、
-前記左角(φ
left,d)と前記右角(φ
right,d)とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、前記ビットストリームからビット(b
d)をコンテキスト自己適応バイナリエントロピー復号化するステップであって、前記復号化されたビット(b
d)は前記点の座標が前記2つの半区間のどちらに属するかを指示するステップと、を含む、
非一時的な記憶媒体。
【発明の詳細な説明】
【関連出願の相互引用】
【0001】
本出願は、2021年4月8日に提出された欧州特許出願番号No.EP21305455.4の優先権を要求し、その内容は参照によって全体的に本開示に組み込まれる。
【技術分野】
【0002】
本出願は、一般に点群圧縮に関し、具体的に、方位コーディングモードを使用して点群ジオメトリデータを符号化/復号化する方法及び装置に関する。
【背景技術】
【0003】
このセクションは、読者に当分野の様々な態様を紹介することを目的とし、これらの態様は、以下に記載および/または特許請求される本出願の少なくとも1つの例示的な実施例の様々な態様に関連する。この議論は、本出願のあらゆる態様をよりよく理解するために、読者に背景情報を提供するのに役立つと考えられる。
【0004】
点群は、3Dデータを表すフォーマットとして最近注目されている。これは、すべてのタイプの物理的オブジェクトまたはシナリオを表す能力が様々である。点群は文化遺産/建築物など、様々な目的で使用でき、ここで、物体を送信したりアクセスしたりすることなく物体の空間設定(configuration)を共有するために、彫刻や建物のような物体を3D方式でスキャンする。また、それは物体が破壊される可能性がある場合、その物体の知識を確実に保存する方式である。例えば、地震では破壊されたお寺。通常、このタイプの点群は静的でカラーで巨大である。
【0005】
もう一つの使用例は地形学と製図学において、ここで3D表現を使用して地図が平面に限らず起伏を含むことができることを許可する。Googleマップは現在3Dマップの良い例であるが、点群ではなくメッシュを使用している。しかし、点群は3Dマップの適切なデータフォーマットであってもよく、通常、このタイプの点群は静的でカラーで巨大である。
【0006】
バーチャルリアリティ、没入型の世界は最近話題となり、多くの人に2Dタブレットビデオの未来と予見されている。基本的な考え方は、視聴者が視聴者の周囲の環境に浸らせることであり、視聴者が視聴者の前の仮想世界しか見られない標準的なTVとは対照的である。視聴者の環境における自由度により、没入感はいくつかのレベルがある。点群は仮想現実(VR)世界を配布する良いフォーマット候補である。
【0007】
自動車工業と自律型自動車も点群を使用できる分野である。自律型自動車は、近隣の現実的な状況に基づいて適切な運転決定を行うために、それらの環境を「探知」すべきである。
【0008】
点群は、三次元(3D)空間に位置する点の集合であり、選択的に各点に付加値を付加する。これらの付加値は、通常、属性と呼ばれる。属性は、例えば、3成分の色、材料特性(例えば、反射率)、及び/又は点に関連する表面の2成分の法線ベクトルであってもよい。
【0009】
したがって、点群はジオメトリ(3D空間における点の位置であり、3Dデカルト座標x、y、zで表される)と属性との組み合わせである。
【0010】
点群は、カメラのアレイ、深さセンサー、レーザー(光検出と測距)など、様々なタイプのデバイスでキャプチャすることができ、または、コンピュータで生成することもできる(例えば、映画のポストプロダクションなど)。使用例に応じて、地図作成のために、点群には数千から数十億の点が含まれてもよい。点群の元の表現には、点ごとに非常に多くのビット数が必要であり、デカルト座標x、y、またはzごとに少なくとも十数ビットがあり、さらに選択的に(1つまたは複数)属性により多くのビット、例えば、色用の10ビットの3倍、を提供する。
【0011】
多くのアプリケーションでは、許容できる(またはできれば好ましくは非常に優れた)体験品質を維持しながら、適切な数のビットレート(またはアプリケーションを格納するための記憶空間)を消費するだけで、エンドユーザーに動的点群を配布する(または、それらをサーバーに記憶する)ことができることが重要である。これらの動的点群の効率的な圧縮は、多くの没入型の世界の配布チェーンを実用化するための重要なポイントである。
【0012】
エンドユーザーによる配布と可視化に対して、例えばAR/VRグラスやその他の任意の3D対応デバイスでは、圧縮は非可逆圧縮(例えば、ビデオ圧縮の場合)であってもよい。しかし、医療アプリケーションや自律運転などの他の使用例は、圧縮されて伝送された点群の解析から取得される判断結果を変更しないようにするために、可逆圧縮を必要とする。
【0013】
最近まで、マスマーケットは点群圧縮(別名PCC)の問題を解決せず、標準化された点群 HYPERLINK "https://cjjc.weblio.jp/content/%E3%82%B3%E3%83%BC%E3%83%87%E3%83%83%E3%82%AF" \o "コーデック" コーデックもない。2017年、標準化ワーキンググループISO/JCT1/SC29/WG11は、動画像専門家グループまたはMPEGとも呼ばれ、点群圧縮の作業プロジェクトを開始した。その結果、次の2つの規格が制定された。
MPEG-I パート5(ISO/IEC 23090-5)またはビデオベースの点 群圧縮(V-PCC)
MPEG-I パート9(ISO/IEC 23090-9)またはジオメトリベース の点群圧縮(G-PCC)
【0014】
V-PCC符号化方法は、3Dオブジェクトに複数回の投影を行って点群を圧縮して、画像(移動した点群を処理する場合のビデオ)にパッケージ化された2Dパッチを取得する。既存の画像/ビデオコーデックで取得された画像やビデオを圧縮し、すでに配置された画像とビデオ解決案を最大限に活用可能になる。画像/ビデオコーデックは、例えば、レーザーライダーでキャプチャされた疎なジオメトリデータの投影から取得された非平滑なパッチを圧縮することができないため、V-PCCは、本質的には、密集した点群と連続した点群のみで効率的である。
【0015】
G-PCCコーディング方法は、キャプチャされた疎なジオメトリデータを圧縮するための2つの方案を備える。
【0016】
第1の方案は、点群ジオメトリ学的形状の占有ツリー(オクトリーツリー)表現に基づくものである。占有されたノードは一定のサイズに達するまで分割され、占有されたリーフノードによって点の3D位置が提供される。リーフノードは通常、体積で表され、通常、既知の3D位置に所定のサイズを有する立方体である。この体積の中心は、点の3D位置を定義することができる。代替的には、推定直接コーディングモード(IDCM)は、占有ツリーのリーフノード内の点に属する3D位置を直接コーディングすることができる。非最小サイズを有するノード内の1つまたは複数の点の3D位置を直接コーディングすることにより、ノードに孤立点のみが存在する場合にツリー構造を停止することにより、疎な点群は推定直接コーディングモード(IDCM)からメリットを取得することができる。
【0017】
第2の方案は、各ノードが1点の3D位置を表し、ノード間の関係が親ノードから子ノードへの空間予測である予測ツリーに基づくものである。この方法は疎な点群しか解決せず、占有ツリーよりも遅延が低く簡単な復号化という利点が提供される。しかし、占有ベースの最初の方法に比べて、圧縮性能はわずかしか向上せ、且つ、符号化が複雑であり、予測ツリーを構築する際に(長い列の潜在予測器の中から)最適な予測器を集中して見つける。
【0018】
第1の方案では、現在のリーフノードに適用されるIDCMを改善するために方位コーディングモードが導入される。基本的に、方位コーディングモードは、コーディングされた点(コーディングされたリーフノードに属する)の方位角を使用して、点群の点のxまたはy座標を符号化するための一連のビットを提供する。これにより、現在のリーフノードの位置に対するこの点の圧縮が非常に改善される。まず、x軸とy軸に対する点P(現在のノード内)のxとy座標に基づいて、方位コーディング方向(水平面に沿ったx軸またはy軸)を選択し、この方位コーディング方向に対して、点Pの座標はコンテキスト自己適応バイナリエントロピー符号化される。例えば、xnodeとynodeが、現在のリーフノード位置を表すxとy座標であり、|xnode|≦|ynode|である場合、方位コーディング方向はx軸に沿い、そうでなければ、y軸に沿う。例えば、xnodeとynodeは現在のリーフノードの中心のxとy座標であってもよい。(xP,yP,zP)で点Pの座標を表しよう。選択された方位コーディング方向がx(またはy)軸に沿う場合、以下の座標符号化を処理する:
・まず、yP(またはxP)座標ビットをコーディングし、
・次に、xP(またはyP)座標ビットをコンテキスト自己適応バイナリエントロ ピー符号化し、
・最後に、点PのzP座標をエントロピー符号化する。
【0019】
第1の符号化yP(またはxP)は、バイパスエントロピー符号化を使用して実行することができ、すなわち、yP(またはxP)を表すビットは単純にビットストリームに押し込まれる。代替的には、コンテキスト自己適応バイナリエントロピー符号化を使用して第1の符号化yP(またはxP)を実行することができる。
【0020】
図面上では、角度はサポート区間の線分上の点として明確に示される。角度は線分上の一意の点に対応し、任意の点は一意の方位角に対応する。以下では、点に関連する方位角は、2D(xy)水平面の原点をこの点に結合する線と、他方のx軸との間で定義される。これは方位角φの典型的な定義に対応する。
【数1】
【0021】
本発明は、このような方位角の定義に限定されず、例えば、代替軸を角度の原点(φ=0)として使用することができる。
【0022】
図1は、従来技術による方位コーディング方向がx軸に沿う場合に方位コーディングモードを使用して点のx座標を符号化する方法100のステップを示すブロック図である。
【0023】
方位コーディング方向がx軸に沿う場合、方法100を詳細に説明する。方位コーディング方向がy軸に沿う場合、x座標とx軸をそれぞれy座標とy軸に置き換え、逆方向にすることにより、等価な方法を導出することができる。
【0024】
ステップ101において、現在の(リーフ)ノードの中から(xP,yP,zP)座標を有する点Pをピックアップし、方位コーディング方向(ここでx軸に沿う)を選択し、この方位コーディング方向に沿う1つの点座標(ここではxP)はビットストリームBにおいてコンテキスト自己適応バイナリエントロピー符号化される。
【0025】
ステップ102において、逆方向(ここではy軸)に沿う別の点座標(ここではyP)はビットストリームBにバイパスエントロピーコーディングされる。
【0026】
ステップ103において、点Pに対して方位予測角φpredを決定する。この方位角予測角φpredは、(最も近い)コーディングされた点の方位角φalと、センサ回転サンプリングを表す基本方位シフトΔφの倍数nから取得される。整数nは、現在のノードの中心に関連する方位角からφpred=φal+nΔφが最も近い可能性のある角度として取得するために選択することができる(nのすべての可能な選択の中で)。
【0027】
ステップ104において、方位コーディング方向(ここではx軸)に沿う親区間(ここではx区間)が初期化される。
【0028】
図形上では、
図2に示すように、2D
xy平面において、この区間は方位コーディング方向(ここではx軸)と平行な線に属し、コーディングされた逆座標(ここではy
P)を有する。(ここではx-)区間はこの線(y=y
P)と現在のノードの2D
xy平面への投影との交点である。
【0029】
ステップ105において、x区間を左半区間と右半区間の2つの半区間に分割する。2つの角度φleft,dとφright,dを決定する。角度φleft,dは左半区間に関連する角度であり、角度φright,dは右半区間に関連する角度である。
【0030】
ステップ106において、予測角度φpredと2つの角度φleft,d及びφright,dとに基づいてコンテキスト(context)を選択する。
【0031】
例えば、
図3を考えてみよう、
図3は、例示的な点を示し、この点はx軸(選択された方位コーディング方向)に沿う区間における位置が3つのビットb
d(d=1、2、3)で表され、8つの可能性におけるこの点の位置を表す。コーディング点が左側の4つの点の1つである場合、最初のビット(b1)は0に等しく、コーディング点が右側の4つの点の1つである場合、最初のビット(b1)は1に等しい。予測角度φ
predは、点位置に関するある種類の予測情報を提供し、予測角度φ
predは左半区間を指しているため、統計的に見ると、コーディング点が左半区間(すなわち、b
d=0)に属する可能性は、右半区間(すなわち、b
d=1)に属する可能性よりも大きい。角度差|φ
pred-φ
left,d)|と|φ
pred-φ
right,d|とを比較して、対応的にコンテキストを選択することにより、簡単に予測角度φ
predに運ばれる情報の中からメリットを取得することができる。例えば、
・|φ
pred-φ
left,d|<|φ
pred-φ
right,d|である場合、第1のコンテ キストを選択してb
dをエントロピーコーディングする。
・そうでない場合、第2のコンテキストを選択してb
dをエントロピーコーディン グする。
【0032】
ステップ107において、選択されたコンテキストを使用することにより、xPの最上位残りのビットbdをビットストリームBにコンテキスト自己適応バイナリエントロピー符号化する。このビットbdは、xPが左半区間(bd=0)または右半区間(bd=1)に位置することを指示する。
【0033】
ステップ108において、x区間は、xPが属する半区間(コーディングビットbdが示すように)に更新される。コーディングビットbdが0に等しい場合、xPが左半区間に位置することを指示し、x区間を左半区間に更新する。コーディングビットbdが1に等しい場合、xPが右半区間に位置することを指示し、この区間を右半区間に更新する。
【0034】
次に、この方法はxP符号化が完了したか否かを確認する。例えば、この方法は、更新後の区間寸法が最小x区間寸法以下であるか、またはすべてのビットbdが符号化されたか否かを等価に確認する。
【0035】
xPのコーディングが完了した(すなわち、例えば、x区間寸法が最小x区間寸法以下である)場合、ステップ109において、残りの座標zPをコードストリームBに符号化する。
【0036】
xPのコーディングが完了していない場合、ステップ105に繰り返して、xPを表す次のビットbd+1をコーディングする。
【0037】
図4は、ビットb
dがx
Pが右半区間内にあることを指示する場合にx区間を更新することを示す。その後、ステップ105において、現在の反復(深さd-1)の右半区間は、次の反復(深さd)で2つの半区間に分割される。
【0038】
G-PCC規格の現在のテストモデルでは、ステップ105において、2つの半区間の中間を表す(とは限らないが)位置x
left,dとx
right,dから2つの角度φ
left,dとφ
right,dを決定することができる。2つの角度を計算する直接的な方法の1つは、
図5に示すように、アークタンジェント式を使用することである。
【数2】
【0039】
いくつかのプラットフォームでは、2つのアークタンジェント関数を計算する計算コストが課題になる可能性がある。
【0040】
点座標の各b
dの方位コーディング方向に沿うコーディングのために2つのアークタンジェントを計算することを避けるために、G_PCCテストモデルの実施形態は、
図6に示されるように、x
left,dとx
right,dの特定の位置を使用する。すなわち、x
left,dはx区間の最も左境界であり、x
right,dはx区間の中間である。これにより、更新後の(半)区間は、その親区間の角度を継承して、更新後の角度φ
left,dを取得することができる。
・b
d-1=0である場合、角度φ
left,d=φ
left,d-1である。
・b
d-1=1である場合、角度φ
left,d=φ
right,d-1である。
【0041】
このように、反復ごとに(深さdごとに)アークタンジェント関数を1つだけ実行してφright,dを計算する。
【0042】
図6に示される角度φ
left,dとφ
right,dで、G_PCCテストモデル実施形態は、この2つの角度が半区間の中間をうまく表すことができず、計算の単純性に影響するため、圧縮効率を犠牲にする。
【0043】
なぜ圧縮効率が最適でないのかを理解するために、
図6の例を振り返ってみよう。コンテキスト自己適応バイナリエントロピーコーデック(例えば、CABAC)において選択されたコンテキストを使用してビットb
dをコーディングする場合、コーディング確率は自然に進化し、第1のコンテキストに対してp(b
d=1)<0.5、第2コンテキストに対してp(b
d=1)>0.5となる。一般的な規則として、pがビットb
dが1である確率であると仮定すると、1を符号化するコストは-log2(p)であり、0を符号化するコストは-log2(1-p)である。
【0044】
図5から理解できるように、角度φ
left,dが左半区間の中間を指し、かつ角度φ
right,dが右半区間の中間を指している場合、コンテキスト選択はb
d=0またはb
d=1をよく予想することができるため、選択されたコンテキストに関連する確率はコーディングコストの減少に対応する。
【0045】
図7は、同じ例示的な点を示すが、角度をφ
left,dとφ
right,dとを有し、
図6に示された従来技術と同様に、G-PCCテストモデルで実現される。この例では、予測角度φ
predは依然として左半区間を指し、b
d=0の可能性がb
d=1の可能性よりも大きいことを示す。ただし、このような特定の角度設定に対して|φ
pred-φ
left,d|≧|φ
pred-φ
right,d|を有するため、コンテキスト選択は、第2のコンテキストを選択する。
【0046】
bd=0が第2のコンテキストでコーディングされる可能性が高く、第2のコンテキストの確率がp(bd=0)=1-p(bd=1)<0.5であり、コンテキストコスト-log2(1-p(bd=1))が高いため、このような好ましくないコンテキスト選択は、bdをコーディングするコストに影響する。
【0047】
したがって、現在のテストモデル(TMC13)におけるコンテキスト選択のための角度φleft,dとφright,dとはわずかな次善であり、非最適な圧縮効率をもたらす。
【0048】
したがって、圧縮効率を向上させるとともに、合理的な複雑さを維持するために最適な角度φleft,dとφright,dとを取得することが非常に必要である。基本的に、合理的な複雑さを維持することは、主に複雑なアークタンジェント関数の計算を最小化することを意味する。
【0049】
上記の内容を考慮して本出願の少なくとも1つの例示的な実施例は設計される。
【発明の概要】
【発明が解決しようとする課題】
【0050】
次節では、本出願のいくつかの態様の基本的な理解を提供するために、少なくとも1つの例示的な実施例の簡素化された概要を提示する。この概要は、例示的な実施例の詳細な概要ではない。これは、実施例の肝心な要素または重要な要素を特定することを意図していない。以下の概要は、文書中の他の場所で提供されるより詳細な説明の前置きとして、例示的な実施形態の少なくとも1つの態様のいくつかの態様のみを簡略化された形で提示する。
【0051】
簡単に言えば、本発明は方位コーディングモードに関し、このモードは角度補間を用いて、先行ビットを符号化するための親区間に関連するオフセット量と継承角度とに基づいて角度φleft,dとφright,dとを決定する。
【0052】
本発明は、方位コーディングモードの反復のたびに角度φleft,dのアークタンジェント関数と角度φright,dのアークタンジェント関数を系統的に実行することを回避する。上記で説明した方位コーディングモードに比べて、圧縮効率を向上させるとともに、合理的な複雑さを維持する。角度φleft,dとφright,dの選択の柔軟性も提供する。
【0053】
本出願の第1の態様によれば、点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法を提供し、この方法は、点群の点の座標を符号化するための一連のビットを提供する方位コーディングモードを含む。この方法は、
-点座標が属する親区間を左半区間と右半区間とに分割するステップと、
-親区間に関連する少なくとも1つの継承角度の中から、左半区間に関連する左角と右半区間に関連する右角とを補間するステップと、
-左角と右角とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、ビットをビットストリームにコンテキスト自己適応バイナリエントロピー符号化するステップであって、前記符号化されたビットが、点座標が2つの半区間のどちらに属するかを指示するステップと、を含む。
【0054】
本出願の第2の態様によれば、物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法を提供し、この方法は点群の点の座標を復号化するための一連のビットを提供する方位コーディングモードを含む。この方法は、
-点座標が属する親区間を左半区間と右半区間とに分割するステップと、
-親区間に関連する少なくとも1つの継承角度の中から、左半区間に関連する左角と右半区間に関連する右角とを補間するステップと、
-左角と右角とに基づいてコンテキストを選択するステップと、
-選択されたコンテキストに基づいて、ビットストリームからビットをコンテキスト自己適応バイナリエントロピー復号化するステップであって、前記復号化されたビットが、点座標が2つの半区間のどちらに属するかを指示するステップと、を含む。
【0055】
例示的な実施例によれば、第1の角度と、第2の角度と第3の角度との重み付け差とを加算することにより、左角を補間し、第4の角度と、第5の角度と第6の角度との重み付け差とを加算することにより、右角を補間する。
【0056】
例示的な実施例によれば、第1、第2、第3、第4、第5、及び第6の角度は、親区間に関連する継承角度である。
【0057】
例示的な実施例によれば、第1、第3、第4の角度は、いずれも、親区間に関連する同じ継承角度に等しく、且つ、第2、第4、及び第5の角度は、いずれも、親区間の中点に関連する別の継承角度に等しく、且つ、アークタンジェント関数を実行することにより、左半区間または右半区間の中点に関連する角度を計算する。
【0058】
例示的な実施例によれば、第1、第3及び第5の角度は、いずれも、同じ継承角度に等しく、且つ第2、第4及び第6の角度は、いずれも、親区間の上限に等しい別の継承角度に等しく、且つ、アークタンジェント関数を実行することにより、左半区間の上限に関連する角度または右半区間の下限に関連する角度を計算する。
【0059】
例示的な実施例によれば、左半区間の上限に関連する角度または右半区間の下限に関連する角度は、親区間の中点に関連する継承角度に等しい。
【0060】
例示的な実施例によれば、1番目のビットを符号化するために、アークタンジェント関数を実行することにより、左半区間の上限に関連する角度または右半区間の下限に関連する角度を計算し、且つ、後続のビットを符号化するために、左半区間の上限に関連する角度または右半区間の下限に関連する角度は、親区間の中点に関連する継承角度に等しい。
【0061】
例示的な実施例によれば、親区間の中点に関連する継承角度は、親区間に関連する2つの継承角度から補間される。
【0062】
例示的な実施例によれば、親区間の寸法が決定された閾値以上である場合、アークタンジェント関数を実行することにより親区間の中点に関連する継承角度を計算するか、または、そうでない場合に親区間に関連する2つの継承角度から補間する。
【0063】
本出願の第3の態様によれば、点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する装置を提供する。この装置は、本出願の第1の態様に係る方法を実行するように構成される1つまたは複数のプロセッサを含む。
【0064】
本出願の第4の態様によれば、物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する装置を提供する。この装置は、本出願の第2の態様に係る方法を実行するように構成される1つまたは複数のプロセッサを含む。
【0065】
本出願の第5の態様によれば、コンピュータプログラムが提供され、プログラムが1つまたは複数のプロセッサによって実行される場合、1つまたは複数のプロセッサに、本出願の第1の態様に係る点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法を実行させる。
【0066】
本出願の第6の態様によれば、プログラムコードの命令を運ぶ非一時的な記憶媒体を提供し、この命令は、本出願の第1の態様に係る点群を物理的オブジェクトを表す符号化された点群データのビットストリームに符号化する方法を実行するために使用される。
【0067】
本出願の第7の態様によれば、コンピュータプログラムを提供し、プログラムが1つまたは複数のプロセッサによって実行される場合、1つまたは複数のプロセッサに、本出願の第2の態様に係る物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法を実行させる。
【0068】
本出願の第8の態様によれば、プログラムコードの命令を運ぶ非一時的な記憶媒体を提供し、この命令は、本出願の第2の態様に係る物理的オブジェクトを表す符号化された点群データのビットストリームから点群を復号化する方法を実行するために使用され、この方法は点群の点の座標を復号化するための一連のビットを提供する方位コーディングモードを含む。
【0069】
例示的な実施例のうちの少なくとも1つの具体的な性質、及び前記例示的な実施例のうちの少なくとも1つの他の目的、利点、特徴、及び用途は、以下図面と併せた例の説明から明らかになる。
【図面の簡単な説明】
【0070】
ここで、本出願の例示的な実施例を示す図面が例示的に参照され、ここで、
【
図1】従来技術による方位コーディング方向がx軸に沿う場合に方位コーディングモードを使用して点のx座標を符号化する方法のステップを示すブロック図である。
【
図2】従来技術による方位コーディング方向に沿う区間の定義を示す図である。
【
図3】従来技術による1つの点座標が左半区間に属すると予測された場合に、
図1の方位コーディングモードの区間を更新する概略図である。
【
図4】従来技術によるビットb
dがxPが右半区間内にあることを指示する場合にx区間を更新することを示す図である。
【
図5】従来技術による2つの角度φ
left,dとφ
right,dを決定するための例示的な実施例を示す図である。
【
図6】従来技術による2つの角度φ
left,dとφ
right,dを計算するための例示的な実施例を示す図である。
【
図7】従来技術による2つの角度φ
left,dとφ
right,dを計算するための
図6の例示的な実施例の欠点を示す図である。
【
図8】少なくとも1つの例示的な実施例に係る方位コーディング方向がx軸に沿う場合に方位コーディングモードを使用して点のx座標を符号化する方法のステップを示すブロック図である。
【
図9】少なくとも1つの例示的な実施例に係る2つの角度φ
left,dとφ
right,dとを補間するための例示的な実施例を示す図である。
【
図10】少なくとも1つの例示的な実施例に係る2つの角度φ
left,dとφ
right,dとを補間するための例示的な実施例を示す図である。
【
図11】少なくとも1つの例示的な実施例に係る2つの角度φ
left,dとφ
right,dとを補間するための
図10の例示的な実施例の変形例を示す図である。
【
図12】区間の中間を計算するための例示的な実施例を示す図である。
【
図13】少なくとも1つの例示的な実施例に係る方位コーディング方向がx軸に沿う場合に方位コーディングモードを使用して点のx座標を復号化する方法300のステップを示すブロック図である。
【
図14】様々な態様と例示的な実施例が実装されるシステムの一例の概略ブロック図である。 異なる図において、使用された類似した符号で類似した構成要素を表すことができる。
【発明を実施するための形態】
【0071】
以下、図面を参照しながら、例示的な実施例のうちの少なくとも1つの例を説明し、例示的な実施例のうちの少なくとも1つを図示する。しかし、例示的な実施形態は、多くの代替形態で実行されることができ、本明細書に記載された例に限定されるものとして解釈されるべきではない。したがって、例示的な実施例が開示された特定の形態に限定されることは意図されていないことが理解されたい。対照的に、本出願は、本出願の精神および範囲内に含まれるすべての修正、均等物および代替案をカバーすることを意図している。
【0072】
図面がフローチャートの形態で提示されるとき、対応する装置のブロック図も提供することが理解されたい。同様に、図面がブロック図の形態で提示されるとき、対応する方法/プロセスのフローチャートも提供することが理解されたい。
【0073】
これら態様のうちの少なくとも1つは、一般に、点群の符号化と復号化に関するものであり、少なくとも1つの他の態様は、一般に、生成または符号化されたビットストリームの伝送に関するものである。
【0074】
さらに、本態様は、点群圧縮などに関連するMPEG-Iパート5またはパート9のようなMPEG標準に限定されるものではなく、例えば、既存または将来開発されるものを問わず他の標準および推奨、およびそのような標準および推奨の拡張(MPEG-Iパート5およびパート9を含む)に適用されることができる。特に指示がない限り、又は技術的に除外されない限り、本出願に記載された態様は、単独で又は組み合わせて使用されることができる。
【0075】
本発明は符号化と復号化技術の分野に関し、点群データを符号化/復号化する技術案を提供することを目的とする。点群は大量のデータの集合であるため、大量のメモリは記憶点群によって消費され、点群を圧縮せずにネットワーク層内で点群を直接伝送することはできないため、点群を圧縮する必要がある。したがって、点群が自律ナビゲーション、リアルタイム巡回検査、地理情報サービス、文化遺産/建築物保護、3D没入型通信、及びインタラクションなどの分野でますます広く使用されるようになるにつれて、本発明は多くの応用シーンに使用することができる。
【0076】
本発明は方位コーディングモードに関し、それは角度補間を用いて、先行ビットを符号化するための親区間に関連するオフセット量と継承角度とに基づいて角度φleft,dとφright,dとを決定する。本開示に開示された方位コーディングモードは、圧縮効率を向上させるとともに合理的な複雑性を維持するために、点群を符号化/復号化する方法に使用することができる。
【0077】
図8は少なくとも1つの例示的な実施例に係る方位コーディング方向がx軸に沿う場合に方位コーディングモードを使用して点のx座標を符号化する方法200のステップを示すブロック図である。
【0078】
方法200は、
図1の方法100の改良である。占有ツリーの現在の(リーフ)ノードから例示的な点Pを選択する(ステップ101)。選択された方位コーディング方向に沿う点位置はビットb
dで表され、各ビットはx軸に沿うx区間におけるx
Pの位置を表す。以下では、選択された方位コーディング方向はx軸に沿うが、方位コーディング方向がy軸に沿う場合、x座標、x軸をそれぞれy座標、y軸に置き換え、逆方向にすることで等価方法200を導出することができる。別の点座標(ここではy
P)は、逆方向(ここではy軸)に沿ってコーディングされる(ステップ102)。点Pの方位予測角φ
predを決定する(ステップ103)。x軸に沿うx区間は初期化される(ステップ104)。
【0079】
ステップ201において、現在のノードの角度φ
nodeを取得する。この角度φ
nodeはすでに既知で、メモリから取得されるか、または次の式で計算されることができる:
【数3】
ここで、nodepos_xはIDCMの所定のパラメータである。例えば、パラメータnodepos_xは、現在のノードに関連する立方体に関連する最低x座標値であってもよい。そしてφ
node角度を親区間の下限に関連付ける。
【0080】
ステップ202において、親区間を左半区間と右半区間との2つの半区間に分割する。親区間はステップ104において初期化されたx区間であるか、または先行ビットbd-1を符号化するためのx区間である。
【0081】
ステップ203において、親区間に関連する少なくとも1つの継承角度の中から、左半区間に関連する左角φleft,dと右半区間に関連する右角φright,dとを補間する。
【0082】
ステップ106において、予測角度φpredと2つの角度φleft,d及びφright,dとに基づいてコンテキストを選択する。
【0083】
ステップ107において、選択されたコンテキストを使用することにより、xPのための最上位残りのビットbdをビットストリームBにコンテキスト自己適応バイナリエントロピー符号化する。このビットはxPが左半区間(bd=0)または右半区間(bd=1)に位置することを指示する。
【0084】
例示的な実施例によれば、コンテキスト自己適応バイナリエントロピー符号化はコンテキスト自己適応バイナリ算術コーディング(CABAC)である。
【0085】
ステップ108において、親区間をxPが属する半区間(符号化ビットが示すように)に更新する。符号化ビットbdが0に等しい場合、xPが左半区間に位置することを指示し、親区間を左半区間に更新する。符号化ビットbdが1に等しい場合、xPが右半区間に位置することを指示し、親区間を右半区間に更新する。
【0086】
次に、この方法はxP符号化が完了したか否かを確認する。
【0087】
xP符号化が完了すると、ステップ109において、残りの座標zPをビットストリームBに符号化する。
【0088】
xP符号化が完了していない場合、ステップ202に繰り返して、xPを表す次のビットbd+1を符号化する。
【0089】
ステップ203の例示的な実施例によれば、第1の角度(φ1,d)と、第2の角度(φ2,d)と第3の角度(φ3,d)との重み付け差とを加算することにより、左角φleft,dを補間し、第4の角度(φ4,d)と、第5の角度(φ5,d)と第6の角度(φ6,d)との重み付け差とを加算することにより、右角φright,dを補間する。
【0090】
この補間は次式で与えられることができる:
【数4】
ここで、size
dは、角度φ
2,dとφ
3,d(φ
5,dとφ
6,d)によって定義される区間の寸法を指示し、Off
leftとOff
rightはこの方法のパラメータであり、角度φ
1,d、φ
2,d、φ
3,d、φ
4,d、φ
5,d、φ
6,dのうちの少なくとも1つは先行ビットb
d-1(先行反復、深さd-1で)を符号化するための親区間に関連する継承角度である。深さdで使用されるビットb
dを符号化するためのx区間は親区間に含まれる。
【0091】
角度φleft,dとφright,dは、左半区間と右半区間の中間を系統的に指しない可能性がある。パラメータOffleftとOffrightの値を自由に設定することにより、角度φleft,dとφright,dの選択に柔軟性を提供する。
【0092】
図9に示されるステップ203の例示的な実施例によれば、式(2)の角度φ
1,d、φ
2,d、φ
3,d、φ
4,d、φ
5,d、φ
6,dはいずれも親区間に関連する継承角度であり、φ
1,d=φ
3,d=φ
6,d=φ
1,d-1、φ
2,d=φ
4,d=φ
5,d=φ
middle,d-1である。その後に以下の式で角度φ
left,dとφ
right,dとを補間する。
【数5】
ここで、角度φ
1,d-1とφ
middle,d-1は親区間に関連する継承角度である。
【0093】
1番目のビットbd=1を符号化する(1回目の反復)ために、継承角度φ1,d-1はステップ201から取得された角度φnodeであり、且つ継承角度φmiddle,d-1は初期x区間の中点に関連付けられる(ステップ104)。
【0094】
後続のビットb
dを符号化する(後続の反復)ために、継承角度φ
1,d-1及びφ
middle,d-1は親区間に関連付けられる。
図9の破線は継承チェーンを示す。
【0095】
各深さに対して、アークタンジェント関数を実行することで角度φmiddle,dを計算することができる。
【0096】
1番目のビットb
d=1を符号化する(1回目の反復)ために、親角度φ
middle,0は以下の式で計算される:
【数6】
ここで、s’
0=s
0/2であり、初期x区間の寸法s
0の半分の寸法であり(ステ
ップ104)、且つx
lbは初期x区間の下限の値である(ステップ104)。
【0097】
後続のビットb
dを符号化する(後続の反復)ために、アークタンジェント関数を実行することで親角度φ
middle,d-1を計算する:
【数7】
ここで、s’
d-1=s
d-1/2であり、親区間の寸法s
d-1の半分であり、且つx
lbは親区間の下限の値である。
【0098】
この例示的な実施例は、各ビットbdを符号化するために単一のアークタンジェント関数を実行することを要求する(式4または5)。したがって、従来技術と同じ数のアークタンジェント関数を実行しながら、高い符号化性能と角度φleft,d及びφright,dの選択の柔軟性とを維持することができるため、利点を提供する。
【0099】
図10に示されるステップ203の別の例示的な実施例によれば、式(2)の角度φ
1,d、φ
2,d、φ
3,d、φ
4,d、φ
5,d、φ
6,dはいずれも親区間に関連する継承角度であり、φ
1,d=φ
3,d=φ
5,d=φ
1,d-1、φ
2,d=φ
4,d=φ
6,d=φ
top,d-1である。角度φ
left,dとφ
right,dは以下の式で補間される:
【数8】
ここで、角度φ
1,d-1とφ
top,d-1は親区間に関連する継承角度である。
【0100】
1番目のビットbd=1を符号化する(1回目の反復)ために、継承角度φ1,d-1はステップ201から取得された角度φnodeであり、継承角度φtop,d-1は初期x区間の上限に関連する角度である。
【0101】
後続のビットbdを符号化する(後続の反復)ために、継承角度φ
1,d-1及びφ
top,d-1は親区間に関連付けられる。
図10の破線は継承チェーンを示す。
【0102】
所与の深さdにおいて、左半区間の上限に関連する角度φtop,dまたは右半区間の下限に関連する角度φlow,dは、アークタンジェント関数を実行することによって計算される。
【0103】
1番目のビットb
d=1(1回目の反復))を符号化するために、角度φ
top,0は次式によって計算される:
【数9】
ここでs
0は初期x区間の寸法であり(ステップ104)、且つ、x
lbは初期x区間の下限の値である(ステップ104)。
【0104】
bd-1=0の場合、左半区間は次の深さd(次回の反復)のための親区間であり、角度φtop,dはアークタンジェント関数を実行することによって計算される。
【0105】
後続のビットb
dを符号化する(後続の反復)ために、アークタンジェント関数を実行することで角度φ
top,d-1を計算する:
【数10】
ここで、s
d-1は深さd-1におけるx区間の寸法であり、x
lbは深さd-1におけるx区間の下限の値である。
【0106】
bd-1=1の場合、右半区間は次の深さdのための親区間であり、アークタンジェント関数を実行することで角度φlow,dを計算する。
【0107】
後続のビットb
dを符号化する(後続の反復)ために、角度は次式φ
low,d-1によって計算される:
【数11】
ここでは、s
d-1は深さd-1におけるx区間の寸法であり、且つ、x
lbは深さd-1におけるx区間の下限の値である。
【0108】
この例示的な実施例は、各ビットbdを符号化するために、単一のアークタンジェント関数を実行する必要がある(式7~10)。したがって、従来技術と同じ数のアークタンジェント関数を実行しながら、高い符号化性能と、角度φleft,d及びφright,dの選択の柔軟性とを維持することができるため、利点を提供する。
【0109】
図11に示される
図10の実施例の第1の変形例では、角度φ
top,dまたは角度φ
low,dは、親区間の中点に関連する継承角度φ
middle,d-1に等しい。
【0110】
この第1の変形例は、アークタンジェント関数を呼び出さずにφmiddle,d-1が決定されたと仮定して、各ビットbdを符号化するためにアークタンジェント関数を実行する必要がないため、より低い複雑性を提供する。また、高い符号化性能と角度φleft,dとφright,dの選択の柔軟性を維持する。
【0111】
図10の例示的な実施例の第2の変形例では、1番目のビットb
d=1を符号化するために、式7または9によって角度φ
top,dまたは角度φ
low,dを計算し、後続のビットbdを符号化するために、角度φ
top,dまたは角度φ
low,dは親区間の中点に関連する継承角度φ
middle,d-1に等しい。
【0112】
この変形例は、一連のビットを符号化するために2回のアークタンジェント関数を実行する必要があり、これによって方法の複雑さが低減し、方位コーディングモードを実現するための計算リソースが低減しながら、高い符号化性能(高い補間精度)及び角度φleft,dとφright,dの選択の柔軟性を維持する。
【0113】
前記第1または第2の変形例の変形例では、継承角度φ
middle,d-1は、親区間に関連する2つの継承角度φ
1,d-1とφ
top,d-1を補間することによって取得される:
【数12】
ここで、角度φ
1,d-1とφ
top,d-1は、
図9、
図10及び
図11と併せて説明したように、親区間に関連する継承角度である。
【0114】
この変形例は、アークタンジェント関数を再帰的に呼び出して一連のビットの符号化を実行する必要がなく、方法の複雑さが低減し、これによって方位コーディングモードを実現するための計算リソースが低減しながら、高い符号化性能及びφleft,dとφright,dの選択の柔軟性を維持する。
【0115】
前記第1または第2の変形例の別の変形例では、親区間の寸法が決定された閾値より大きい場合、アークタンジェント関数(式4または5)を実行することによって継承角度φmiddle,d-1を取得し、親区間の寸法が決定された値より低い場合、式(11)によって2つの継承角度φ1,d-1とφtop,d-1から継承角度φmiddle,d-1を補間する。
【0116】
この変形例は重要なサイズを有するノードに高精度を維持し、これらのノードに対して、式(11)の補間はあまりにも不正確な結果を提供し、そのため圧縮性能を損なう。
【0117】
代替的に、角度φ1,d-1とφtop,d-1との差の絶対値が決定された閾値より大きい場合、アークタンジェント関数(式4または5)を実行することによって継承角度φmiddle,d-1を取得し、そうでない場、式(11)によって2つの継承角度φ1,d-1とφtop,d-1から継承角度φmiddle,d-1を補間する。
【0118】
この変形例は、補間精度を維持するため、圧縮性能を維持し、区間寸法が十分に小さくなるとφmiddle,d-1の補間が行われるため、より低い複雑さを確保し、これによって有利である。
【0119】
ステップ203の例示的な実施例によれば、パラメータOff
leftは左半区間の中心の平均位置offset
left,midとオフセット量Offset2との差と定義され、パラメータOff
rightは右半区間の中心の平均位置ffset
right,midとオフセット量Offset2との和と定義される:
【数13】
【0120】
良好なコンテキスト選択を取得するための基本的な考え方は、それぞれの半区間の中心を指すことに近い角度φleft,dとφright,dとを取得することである。しかし、角度φleft,dとφright,dとがその半区間の中心を正確に指す場合、最適な圧縮性能が取得されることがすでに観察された。
【0121】
例えば、左半区間における点の位置は離散的であるため、この左半区間の中間は簡単(φ
middle,d-1-φ
1,d-1)/2ではない。代わりに、左半区間の中間は、
図12に示されるように、左半区間に属するすべての潜在的な点の平均位置と定義される。
【0122】
長さがs’
dである半区間を考えると、潜在的な点は左半区間の下限の位置0、1、
…、s’
d-1に位置する。次に、左半区間の中心の平均位置offset
right、
midは次式によって与えられる:
【数14】
【0123】
現在、算術級数式を用いて、以下の式が得られる:
【数15】
【0124】
より良い圧縮効率を実現するために、第2のオフセット量offset2が左半区間の中心の平均位置とされる細分化されたoffsetleft,midを導入することは、コンテキストをより効果的に選択し、小さな追加の圧縮メリットを取得することをもたらすことがすでに観察された。第2のオフセット量offset2の基本的な効果は、左角φleft,dを左半区間の下限に少しプッシュし、右角φright,dを右半区間の上限に少しプッシュすることである。
【0125】
右半区間に関連するパラメータOffrightの推論は同様である。
【0126】
offset2の例示的な値はoffset2=2である。また、offset2は取决于深さdに依存してもよく、最後の深さ(すなわち、最後のビットbdを符号化するために使用される)に対してoffset2は2に等しくてもよく、最後から2番目の深さに対してoffset2は1に等しくてもよく、他の深さに対してoffset2は0に等しくてもよい。
【0127】
方法200と300において、いくつかの除算演算が実行される。例えば、
【数16】
【0128】
これらの除算は実際の実施形態では問題がある可能性があるが、実際には、特に現在のG_PCC TMC13ソフトウェアのフレームワークにおいて、それらをシフト>>演算で置き換えることができる。この置き換えは、ノードの寸法が2のべき乗であるため、区間の長さも2のべき乗であるため、実行可能である。
【数17】
【0129】
【0130】
ここで、Ldは区間の長さs
dのlog2であり、L
dは次式によって再帰的に取得されることができる:
【数19】
【0131】
値2Off
leftは次の式によって計算される:
【数20】
【0132】
図13は少なくとも1つの例示的な実施例に係る方位コーディング方向がx軸に沿う場合に方位コーディングモードを使用して点のx座標を復号化する方法300のステップを示すブロック図である。
【0133】
以下、選択された方位コーディング方向はx軸に沿っているが、方位コーディング方向がy軸に沿う場合、それぞれy座標とy軸とでx座標とx軸とを置き換え、逆方向にすることで等価な方法300を導出することができる。
【0134】
方位コーディング方向は、IDCMが適用されている現在の(リーフ)ノードを表すxとy座標(xnode,ynode)から決定される。代替的に、ビットストリームBから方位コーディング方向を復号化することができる。
【0135】
ステップ301において、逆方向(ここではy軸)に沿ってビットストリームBから点座標(ここではyP)を復号化する。
【0136】
ステップ103において、点Pの方位予測角φpredを決定する。x軸に沿うx区間が初期化される(ステップ104)。(最も近い)復号化された点の方位角φalを用いて、デコーダによって基本方位角オフセットの倍数nを決定する。代替的に、ビットストリームBから倍数nを復号化する。
【0137】
ステップ104において、方位コーディング方向(ここではx軸)に沿う親区間(ここではx区間)が初期化される。
【0138】
ステップ201において、現在のノードの角度φnodeを式(1)によって取得する。座標yPはすでにビットストリームから復号化され、nodepos_xはIDCMの既知のパラメータである。
【0139】
ステップ202において、親区間を左半区間と右半区間との2つの半区間に分割する。親区間は、ステップ104で初期化されたx区間、または先行ビットbd-1を復号化するためのx区間である。
【0140】
ステップ203において、親区間に関連する少なくとも1つの継承角度から、左半区間に関連する左角φleft,dと右半区間に関連する右角φright,dとを補間する。
【0141】
ステップ106において、予測角度φpredと2つの角度φleft,d及びφright,dとに基づいてコンテキストを選択する。
【0142】
テップ302において、選択されたコンテキストを用いてxPの最上位ビット残りのbdをコンテキスト自己適応バイナリエントロピー復号化する。このビットは、xPが左半区間(bd=0)または右半区間(bd=1)に位置することを指示する。
【0143】
例示的な実施例によれば、コンテキスト自己適応バイナリエントロピー復号化はコンテキスト自己適応バイナリ算術コーディング(CABAC)である。
【0144】
ステップ108において、親区間をxPが属する半区間(復号化ビットが指示するように)に更新する。
【0145】
次に、この方法は座標xPの復号化が完了したか否かを確認する。
【0146】
xPの復号化が完了すると、ステップ303において、ビットストリームBから残りの座標zPを復号化する。
【0147】
xPの復号化が完了していない場合、ステップ202に繰り返して、xPの次のビットbd+1を復号化する。
【0148】
方法200の例示的な実施例と変形例は、方法300に適用される。
【0149】
本符号化/復号方法は点群を符号化/復号化するために使用されることができ、特に、複数の目的のために使用され、特に点群の点の座標を符号化/復号化するために使用されることができ、これにより、合理的な複雑さを維持しながら圧縮効率を向上させる。
【0150】
図14は各態様及び例示的な実施例のシステムを実現する概略ブロック図を示す。
【0151】
システム400は1つ又は複数のデバイスとして組み込まれてもよく、以下に説明される様々なコンポーネントを含む。様々な実施例では、システム400は、本出願で説明される1つ又は複数の態様を実現するように構成されてもよい。
【0152】
システム400のすべて又は一部の装置を構成できる例は、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレット、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ記録システム、コネクテッド家電製品、コネクテッドカーとその関連処理システム、ヘッドマウント ディスプレイ(HMD、透視メガネ)、プロジェクタ(投影機)、「洞窟」(複数のディスプレイを含むシステム)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダから出力を処理するポストプロセッサ 、ビデオエンコーダに入力を提供するプリプロセッサ、webサーバ、セットトップボックス、及び点群、ビデオ又は画像を処理するため他の任意のデバイス、又は他の通信デバイスを含む。システム400の素子は単一の集積回路(IC)、複数のIC及び/又はディスクリートコンポーネントに単独でまたは組み合わせて実装することができる。例えば、少なくとも1つの実施例では、システム400の処理及びエンコーダ/デコーダ素子は複数のIC及び/又はディスクリートコンポーネントにわたって分布することができる。様々な実施例では、システム400は例えば通信バス又は専用の入力及び/又は出力ポートを介して、他の類似するシステム又は他の電子機器に通信可能に結合することができる。
【0153】
システム400は、少なくとも1つのプロセッサ410を含み、該少なくとも1つのプロセッサ410はそれにロードされる命令を実行することで、例えば本出願で説明される各態様を実現するように構成される。プロセッサ410は組み込みメモリ、入力出力インターフェース及び当分野で周知の他の様々な回路を含むことができる。システム400は少なくとも1つのメモリ420(例えば、揮発性メモリデバイス及び/又は非揮発性メモリデバイス)を含むことができる。システム400は、非揮発性メモリ及び/又は揮発性メモリを含むストレージデバイス440を含むことができ、電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、フラッシュメモリ、磁気ディスクドライブ及び/又は光ディスクドライブを含むが、これらに限らない。非限定的な例として、ストレージデバイス440は内部ストレージデバイス、追加ストレージデバイス及び/又はネットワークアクセス可能なストレージデバイスを含むことができる。
【0154】
システム400は、例えばデータを処理することで符号化/復号化された点群ジオメトリ形状データを提供するように構成されるエンコーダ/デコーダモジュール430を含みことができ、そしてエンコーダ/デコーダモジュール430は自身のプロセッサとメモリを含むことができる。エンコーダ/デコーダモジュール430は、符号化及び/又は復号化機能を実行するようにデバイスに含まれる(1つ又は複数の)モジュールを表すことができる。周知のように、デバイスは符号化及び復号化モジュールのいずれか1つ又は両方を含むことができる。また、エンコーダ/デコーダモジュール430はシステム400の分離した素子として実現することができ、又は当業者に知られているハードウェアとソフトウェアの組み合せとしてプロセッサ410内に結合することができる。
【0155】
本出願で説明される各態様を実行するようにプロセッサ410又はエンコーダ/デコーダ430にロードされるプログラムコードはストレージデバイス440に記憶することができ、そしてその後にメモリ420にロードされてプロセッサ410によって実行される。様々な実施例によると、本出願で説明されるプロセスを実行する間、プロセッサ410、メモリ420、ストレージデバイス440及びエンコーダ/デコーダモジュール430のうちの1つ又は複数は、各項目のうちの1つ又は複数を記憶することができる。このように記憶される項目は、点群フレーム、符号化/復号化されたジオメトリ形状/属性ビデオ/画像又は符号化/復号化されたジオメトリ形状/属性ビデオ/画像の一部、ビットストリーム、行列、変量、及び式、公式、演算や演算の中間又は最終結果ロジックを含むが、これらに限らない。
【0156】
いくつかの実施例では、プロセッサ410及び/又はエンコーダ/デコーダモジュール430内部のメモリは、命令を記憶し且つ符号化又は復号化の間に実行される処理のためにワーキングメモリを提供するために使用することができる。
【0157】
しかし、他の実施例では、処理デバイス外部のメモリ(例えば、処理デバイスはプロセッサ410又はエンコーダ/デコーダモジュール430であってもよい)はこれらの機能のうちの1つ又は複数に用いられる。外部メモリはメモリ420及び/又はストレージデバイス440、例えば、動的揮発性メモリ及び/又は不揮発性フラッシュメモリであってもよい。いくつかの実施例では、外部不揮発性フラッシュメモリは、例えばテレビの操作システムを記憶するために使用される。少なくとも1つの実施例において、RAMのような快速外部動的揮発性メモリは、ビデオ符号化復号化及び復号化操作のワーキングメモリとして利用することができ、例えば、MPEG-2第2部分(ITU-TRecommendation H.262及びISO /IEC 13818-2とも呼ばれ、MPEG-2ビデオとも呼ばれる)、HEVC(高効率ビデオ符号化復号化)、VVC(汎用ビデオ符号化復号化)又はMPEG-I第5部分又は第9部分を対象とする。
【0158】
ブロック490に示すように、様々な入力デバイスを介してシステム400の素子へ入力を提供することができる。このような入力デバイスは、(i)放送局などで無線送信されたRF信号を受信できるRF部、(ii)複合入力端子、(iii)USB入力端子、及び/又は(iv)HDMI入力端子を含むが、これらに限らない。
【0159】
様々な実施例において、ブロック490の入力デバイスは、当分野で周知のように、関連し且つ対応する入力処理素子を有する。例えば、RF部分は以下の必要とされる素子を関連付けることができる。(i)所望の周波数(信号選択とも呼ばれ、又は信号を周波数帯域内に制限する)を選択すること、(ii)選択される信号をダウンコンバートすること、(iii)周波数帯域を再び狭い周波数帯域に制御することで、(例えば)いくつかの実施例でチャネルと呼ばれる信号周波数帯域を選択すること、(iv)ダウンコンバートされた信号と周波数帯域が制限された信号を復調すること、(v)誤り訂正を実行すること、及び(vi)逆多重化をして所望のデータパケットフローを選択すること。様々な実施例のRF部分はわざとこれらの機能を実行する素子、例えば、周波数セレクタ、信号セレクタ、周波数帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調装置、誤り訂正装置及びデマルチプレクサを含む。RF部分は、これらの各機能(例えば、受信した信号をより低い周波数(例えば、中間周波数又はベースバンド付近の周波数)又はベースバンドにダウンコンバートすることを含む)を実行するチューナーを含むことができる。
【0160】
1つのセットトップボックスの実施例では、RF部分及びその関連する入力処理素子は有線(例えば、ケーブル)媒体において伝送されるRF信号を受信することができる。その後、RF部分はフィルタリング、ダウンコンバート及び再フィルタリングにより所望の周波数帯域を得て周波数選択を実行することができる。
【0161】
様々な実施例では、上記(及び他の)素子の順序を設定し、これらの素子のうちの一部を削除し、及び/又は類似又は異なる機能を実行する他の素子を追加する。
【0162】
素子の追加は、既存の素子の間に、増幅器やアナログデジタルコンバータのような素子を挿入することを含むことができる。様々な実施例において、RF部分はアンテナを含む。
【0163】
また、USB及び/又はHDMI端子は、対応するインターフェースプロセッサを含むことができ、USB及び/又はHDMI接続によりシステム400を他の電子機器に接続するために使用される。なお、必要な時に、入力処理の各態様(例えば、Reed-Solomon誤り訂正)は、例えば、分離した入力処理IC内又はプロセッサ410内で実現することができる。このように、必要な時に、分離したインターフェースIC内又はプロセッサ410内でUSB又はHDMIインターフェース処理の各態様を実現することができることを理解されたい。復調により、誤り訂正と逆多重化のストリームは、プロセッサ410、及びメモリと記憶素子に組み合わせて操作するエンコーダ/デコーダ430などを含む様々な処理素子に提供することができることにより、必要な時にデータストリームを処理して出力デバイスに表示する。
【0164】
一体型ハウジング内でシステム400の様々な素子を提供することができる。一体型ハウジング内において、適切な接続レイアウト490、例えば、当分野で周知の内部バス(I2Cバスを含む)、配線及びプリント回路基板を用いて各素子を互いに接続しかつそれらの間でデータを伝送することができる。
【0165】
システム400は通信インターフェース450を含むことができるので、通信チャネル500を介して他のデバイスと通信することができる。通信インターフェース450は、通信チャネル500においてデータを送受信するように構成される送受信機を含むが、これに限らない。通信インターフェース450は、モデム又はネットワークカードを含むが、これに限らず、通信チャネル500は例えば有線及び/又は無線媒体内で実現することができる。
【0166】
様々な実施例において、IEEE 802.11のようなWi-Fiネットワークを用いてデータストリームをシステム400に伝送することができる。これらの実施例のWi-Fi信号は、Wi-Fi通信に適する通信チャネル500及び通信インターフェース450により受信可能である。これらの実施例の通信チャネル500は、一般に、ストリーミングアプリケーションおよび他のクラウド上(Over-the-top)通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続することができる。
【0167】
他の実施例はセットトップボックスを用いてシステム400にストリーミングデータを提供することができ、該セットトップボックスは入力ブロック490のHDMI接続によりデータを搬送する。
【0168】
入力ブロック490のRF接続を用いてストリーミングデータをシステム400に提供する実施例は他にもある。
【0169】
ストリーミングデータは、システム300が用いるシグナリング情報の方式として使用することができる。シグナリング情報は、点群の点の数、点座標が2つの半区間のどちらに属するかを指示する符号化ビット(bd)、方位コーディング方向、点座標、基本方位シフト方位角の倍数n、基本方位シフト方位角、パラメータnodepos_xなどのビットストリームBおよび/または情報を含むことができる。
【0170】
なお、様々な方式でシグナリングを実現できる。例えば、様々な実施例において、1つ又は複数の構文要素、フラグなどは、対応するデコーダに信号通知情報を送信するために使用することができる。
【0171】
システム400は、ディスプレイ600、スピーカ700及び他の周辺機器800を含む様々な出力デバイスに出力信号を提供することができる。実施例の様々な例において、他の周辺機器800は独立したDVR、ディスクプレーヤ、ステレオシステム、照明システム、及びシステム400の出力に基づいて機能を提供する他のデバイスのうちの1つ又は複数を含むことができる。
【0172】
様々な実施例において、制御信号はAV.Link(オーディオ/ビデオリンク)、CEC(家電制御)又はデバイスからデバイスへの制御を有効にする他の通信プロトコルのシグナリングを用いてシステム400とディスプレイ600、スピーカ700又は他の周辺機器800との間で通信することができ、ユーザがあってもなくてもよい。
【0173】
出力デバイスは、対応するインターフェース460、470及び480により、専用接続経由で通信可能にシステム400に接続することができる。
【0174】
代替的に、通信インターフェース450経由で通信チャネル500を用いて出力デバイスをシステム400に接続することができる。ディスプレイ600とスピーカ700は電子機器(例えばテレビ)のシステム400の他のコンポーネントとともに単一ユニットに統合することができる。
【0175】
様々な実施例において、表示インターフェース460は、タイミングコントローラ(T Con)チップのようなディスプレイドライバを含むことができる。
【0176】
例えば、入力端490のRF部分が、分離したセットトップボックスの一部である場合、ディスプレイ600とスピーカ700は代替可能に他のコンポーネントのうちの1つ又は複数と分離する。ディスプレイ400とスピーカ700が外部コンポーネントであってもよい様々な実施例では、専用の出力接続(例えばHDMIポート、USBポート又はCOMP出力端子を含む)経由で出力信号を提供することができる。
【0177】
図1-14では、様々な方法が説明され、各方法は、説明される方法を実現するように、1つ又は複数のステップ又は動作を含む。方法の正確な操作には特定のステップ又は動作順序が必要である場合でない限り、特定のステップ及び/又は動作の順序及び/又は使用を修正したり、組み合わせたりすることができる。
【0178】
ブロック図及び/又は操作フローチャートについていくつかの例が説明されたが、各ブロックは、回路素子、モジュール、或いは(1つ又は複数の)指定ロジック機能を実現するための1つ又は複数の実行可能な命令のコードを含む部分を表す。なお、他の実施形態では、ブロックに示されている(1つ又は複数の)機能は、指示された順序に従って発生しなくてもよいことに留意されたい。例えば、関わる機能によると、次々と表示される2つのブロックは実際に、基本的に並列して実行されてもよいし、又は逆の順序でこれらのブロックを実行してもよい。
【0179】
例えば方法又はプロセス、装置、コンピュータプログラム、データストリーム、ビットストリーム又は信号において本明細書で説明される実施形態と態様を実現することができる。単一形式の実施形態のコンテキストのみにおいて検討(例えば、方法のみとして検討する)しても、議論される特徴の実施形態は他の形式(例えば、装置又はコンピュータプログラム)で実現することができる。
【0180】
方法は例えばプロセッサにおいて実現することができ、プロセッサは通常、例えばコンピュータ、マイクロプロセッサ、集積回路又はプログラム可能なロジックデバイスなどを含む処理デバイスを指す。プロセッサは通信デバイスをさらに含む。
【0181】
また、方法は、プロセッサにより実行される命令で実現することができ、そして、このような命令(及び/又は実施形態により生成されたデータ値)はコンピュータ読み取り可能な記憶媒体に記憶することができる。コンピュータ読み取り可能な記憶媒体は、1つ又は複数のコンピュータ読み取り可能な媒体において実施され、かつそれにそれにおいて実施された、コンピュータにより実行可能なコンピュータ読み取り可能なプログラムコードを有するコンピュータ読み取り可能なプログラム製品の形式を用いることができる。それに情報を記憶する固有の能力及びそれにより提供される情報から検索する固有の能力を考慮すると、本明細書で使用されるコンピュータ読み取り可能な記憶媒体は、非一時的な記憶媒体として見なすことができる。コンピュータ読み取り可能な記憶媒体は、電子、磁気、光学、電磁、赤外線又は半導体システム、装置又はデバイス、又は前述したものの任意の適切な組み合せであってもよいが、これらに限らない。なお、以下は、本実施例を適用できるコンピュータ読み取り可能な記憶媒体のより更具的な例を提供したが、当業者dであれば容易に認識できるように、それらは網羅的なリストではなく例示的なものに過ぎないことを理解されたい:ポータブルコンピュータフロッピーディスク、ハードディスク、読み取り専用メモリ(ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM 又はフラッシュメモリ)、コンパクトディスク読み取り専用メモリ(CD-ROM)、光学ストレージデバイス、磁気ストレージデバイス、又は前述したものの任意の適切な組み合せ。
【0182】
命令は、プロセッサ読み取り可能な媒体に有形に実施されるアプリケーションを生成することができる。
【0183】
例えば、命令はハードウェア、ファームウェア、ソフトウェア又はその組み合せに存在することができる。例えば、操作システム、独立したアプリケーション、又は両者の組み合せにおいて命令を見つけることができる。したがって、プロセッサは、例えばプロセスを実行するように構成されるデバイスやプロセスを実行するための命令を有するプロセッサ読み取り可能な媒体(例えばストレージデバイス)を含むデバイスとして特徴付けることができる。また、命令に加え又は命令の代わりに、プロセッサ読み取り可能な媒体可は、実施形態により生成したデータ値を記憶することができる。
【0184】
装置は例えば適切なハードウェア、ソフトウェア及びファームウェアにおいて実現することができる。このような装置の例はパーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレット、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、コネクテッド家電製品、ヘッドマウント ディスプレイ(HMD、透視メガネ)、プロジェクタ(投影機)、「洞窟」(複数のディスプレイを含むシステム)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダから出力を処理するポストプロセッサ 、ビデオエンコーダに入力を提供するプリプロセッサ、web サーバ、セットトップボックス、及び処理点群、ビデオ又は画像を処理するための他の任意のデバイス、又は他の通信デバイスを含む。なお、装置は移動可能であり、移動中の車両に取り付けることもできる。
【0185】
コンピュータソフトウェアは、プロセッサ410、ハードウェア、又はハードウェアとソフトウェアとの組み合せで実現することができる。非限定的な例として、1つ又は複数の集積回路で実施例を実現することができる。メモリ420は、技術環境に自己適応する任意のタイプであってもよく、任意の適切なデータ記憶技術(非限定的な例として、例えば光学メモリデバイス、磁気メモリデバイス、半導体に基づくメモリデバイス、固定メモリ及び移動可能なメモリ)で実現することができる。非限定的な例として、プロセッサ410は技術環境に適合する任意のタイプであってもよく、マイクロプロセッサ、汎用コンピュータ、専用のコンピュータ及びマルチコアアーキテクチャに基づくプロセッサのうちの1つ又は複数をカバーすることができる。
【0186】
当業者にとって明らかなように、実施形態は、例えば記憶可能又は伝送可能な情報を運搬するように定形化される様々な信号を生成することができる。情報は、例えば方法を実行するための命令又は説明される実施形態の1つにより生成されたデータを含むことができる。例えば、信号は、説明される実施例のビットストリームを搬送するように定形化されてもよい。この信号は、例えば電磁波(例えば、周波数スペクトルを用いる無線周波数部分)又はベースバンド信号に定形化されてもよい。定形化は、例えばデータストリームに対して符号化し、かつ符号化されたデータストリームを用いて搬送波を変調することを含むことができる。信号により搬送される情報は、例えばアナログ又はデジタル情報であってもよい。周知のように、信号は異なる有線又は無線リンクで伝送することができる。信号はプロセッサ読み取り可能な媒体に記憶することができる。
【0187】
本明細書で使用される用語は、特定の実施例を説明することのみに使用され、限定するためのものではない。コンテキストに明確な指示がない限り、本明細書で使用される単数形の「1つ」、「1種」及び「該」は複数形をも含む。さらに、本明細書で使用される場合、「含む/包含(include/comprise)」及び/又は「含む/包含(including/comprising)」という用語は、説明される特徴、整数、ステップ、操作、要素及び/又はコンポーネントなどの存在を指示することができるが、1つ又は複数の他の特徴、整数、ステップ、操作、要素、コンポーネント及び/又はこれらの組み合せの存在又は追加を排除しない。また、1つの要素がもう1つの要素に「応答」又は「接続」すると呼ばれる時、もう1つの要素に直接応答又は接続してもよいし、中間要素が存在してもよい。逆に、1つの要素がもう1つの要素に「直接応答」又は「直接接続」すると呼ばれる時、中間要素が存在しない。
【0188】
なお、例えば、「A/B」、「A及び/又は B」及び「AとBのうちの少なくとも1つ」の場合、「/」、「及び/又は」及び「少なくとも1つ」という符号/用語のうちのいずれか1つの使用は、一番目に挙げられた選択肢(A)の選択、又は二番目に挙げられた選択肢(B)の選択、又は2つの選択肢(AとB)の選択をカバーすることを意図している。更なる例として、「A、B及び/又はC」及び「A、B及びCのうちの少なくとも1つ」の場合、このような言葉遣いは、一番目に挙げられた選択肢(A)の選択のみ、又は二番目に挙げられた選択肢(B)の選択のみ、又は又は三番目に挙げられた選択肢(C)の選択のみ、又は一番目と二番目に挙げられた選択肢(AとB)の選択のみ、又は一番目と三番目に挙げられた選択肢(AとC)の選択、又は二番目と三番目に挙げられた選択肢(BとC)の選択のみ、又は3つの選択肢(AとBとC)のすべての選択をカバーすることを意図している。当分野及び当業者には明らかなように、このようにして、挙げられた項目の数に拡張することができる。
【0189】
本出願では様々な数値を用いることができる。特定値は例示的なものであり、そして説明される各態様はこれらの特定値に限らない。
【0190】
なお、第1、第2などの用語は本明細書において様々な要素を説明することに用いることができるが、これらの要素がこれらの用語に限らない。これらの用語は、1つの要素をもう1つの要素と区別することだけに用いられる。例えば、本出願の教示から逸脱しない限り、第1要素は第2要素と呼ぶことができ、同様に、第2要素は第1要素と呼ぶこともできる。第1要素と第2要素との間は順序付けが暗黙的に示されていない。
【0191】
「1つの例示的な実施例」又は「例示的な実施例」又は「一実施形態」又は「実施形態」及びその他の変化の引用は、頻繁に、特定の特徴、構造、特点等(実施例/実施形態に合わせて説明されるもの)が少なくとも1つの実施例/実施形態に含まれることを伝えるために使用される。したがって、本出願の各箇所に現れる用語の「1つの例示的な実施例において」又は「例示的な実施例において」又は「一実施形態において」又は「実施形態において」およびその他の任意の変化の出現は、必ずしも同じ実施例を指すとは限らない。
【0192】
同様に、本明細書の「例示的な実施例/例/実施形態によると」又は「例示的な実施例/例/実施形態において」およびその他の変化の引用は、頻繁に、特定の特徴、構造又は特点(実施例/実施形態に合わせて説明されるもの)が少なくとも1つの例示的な実施例/例/実施形態に含まれ得ることを伝えることに使用される。したがって、明細書の各箇所に現れる「例示的な実施例/例/実施形態によると」又は「例示的な実施例/例/実施形態において」という表現は、必ずしも同じ例示的な実施例/例/実施形態を指すとは限らず、独立又は代替的な例示的な実施例/例/実施形態が必ず他の例示的な実施例/例/実施形態とは相互排他的であるとも限らない。
【0193】
請求項に現れる図面の符号は説明だけに用いられ、かつ請求項の範囲を限定しない。明確な説明がないにもかかわらず、任意の組み合せ又は一部の組み合せにより本実施例/例および変形例を用いることができる。
【0194】
図がフローチャートとして示される時、対応する装置のブロック図も提供されることを理解されたい。同様に、図がブロック図として示される時、対応する方法/プロセスのフローチャートも提供されることを理解されたい。
【0195】
一部の図には、通信路径において通信の主な方向を示す矢印が含まれるが、通信が、説明される矢印と逆の方向に発生することもできることを理解されたい。
【0196】
様々な実施形態は復号化に関連する。本出願で使用されるように、「復号化」は、例えば受信した点群フレーム(1つ又は複数の点群フレームを符号化して受信したビットストリームを含む可能性がある)を実行することにより、表示又は再構築された点群領域内の更なる処理に適合する最終出力を生成するプロセスの全部又は一部をカバーすることができる。様々な実施例において、このようなプロセスは、通常デコーダにより実行されるプロセスのうちの1つ又は複数を含む。様々な実施例において、例えば、このようなプロセスは、本出願で説明される様々な実施形態のデコーダにより実行されるプロセスを代替的に含むこともできる。
【0197】
更なる例として、一実施例では、「復号化」は逆量子化のみを指すことができ、一実施例では、「復号化」はエントロピー復号化を指すことができ、もう1つの実施例において、「復号化」は差分復号化を指すことができ、もう1つの実施例において、「復号化」は逆量子化、エントロピー復号化および差分復号化の組み合せを指すことができる。具体的に説明されるコンテキストに基づいて、「復号化プロセス」という用語は、具体的には、操作のサブセットを指すか、それともより一般的な復号化プロセスを指すかが自明なことであり、当業者にとって理解しやすいものでもある。
【0198】
様々な実施形態は符号化に関連する。以上の「復号化」に係る検討と同様に、本出願において使用される「符号化」は、例えば、入力点群フレームを実行することにより符号化のビットストリームを生成するプロセスの全部又は一部をカバーすることができる。様々な実施例において、この種類のプロセスは、通常エンコーダにより実行されるプロセスのうちの1つ又は複数を含む。様々な実施例において、このようなプロセスは、本出願で説明される各実施形態のエンコーダにより実行されるプロセスを代替的に含むこともできる。
【0199】
更なる例として、1つの実施例において、「符号化」は量子化のみを指すことができ、1つの実施例において、「符号化」はエントロピー符号化のみを指すことができ、もう1つの実施例において、「符号化」は差分符号化のみを指すことができ、もう1つの実施例において、「符号化」は量子化、差分符号化およびエントロピー符号化の組み合せを指すことができる。特定の説明がなされているコンテキストに基づいて、「符号化プロセス」という用語は、操作のサブセットを専門に指すか、それともより一般的な符号化プロセスを指すかが自明なことであり、当業者にとって理解しやすいものでもある。
【0200】
また、本出願は、様々な情報の「決定」について言及した。情報の決定は、情報の推定、情報の計算、情報の予測又はメモリから情報を検査することのうちの1つ又は複数を含むことができる。
【0201】
また、本出願は、様々な情報への「アクセス」について言及した。情報へのアクセスは情報の受信、(例えば、メモリから)情報を検索すること、情報の記憶、情報の移動、情報のコピー、情報の計算、情報の決定、情報の予測又は情報の推定のうちの1つ又は複数を含むことができる。
【0202】
また、本出願は様々な情報の「受信」について言及した。「アクセス」と同様に、受信というのは広義的な用語である。情報の受信は、例えば、情報へのアクセス又は情報の検索(例えば、メモリから)のうちの1つ又は複数を含むことができる。また、もう1つの方式として、例えば、情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の削除、情報の計算、情報の決定、情報の予測又は情報の推定などの操作期間は、通常、「受信」に関連する。
【0203】
それに、本明細書で使用されるように、「信号」という用語は、特に対応するデコーダが特定のことを指示するなどを指示する。例えば、ある実施形態では、エンコーダは、点群の点の数、点座標が2つの半区間のどちらに属するかを指示する符号化ビット(bd)、方位コーディング方向、点座標、基本方位シフト方位角の倍数n、基本方位シフト方位角、パラメータnodepos_xなどの特定の情報を信号を送信することで通知する。この様式により、実施例において、エンコーダ側とデコーダ側において同じパラメータを用いることができる。したがって、例えば、エンコーダはデコーダに(明確なシグナリング)特定パラメータを送信することができ、これにより、デコーダは同じ特定パラメータを用いることができる。逆に、デコーダが特定のパラメータおよび他のパラメータを有している場合、伝送を必要としないシグナリング(間接的なシグナリング)を用いて、デコーダに知らせかつ特定パラメータを選択させることを容易にする。如何なる実際の機能の伝送を回避するために、様々な実施例においてビット節約を実現している。なお、様々な方式でシグナリングを完成できることを認識されたい。例えば、様々な実施例において、1つ又は複数の文法要素、フラグなどは、情報を対応するデコーダに送信するために使用される。上記は「信号」という単語の動詞の形に関連するが、「信号」という単語は本明細書において名詞として使用されても良い。
【0204】
すでに複数の実施形態を説明したが、様々な修正を行っても良いことを理解されたい。例えば、異なる実施形態の要素を組み合せ、補充、修正又は削除することによって他の実施形態を生成することができる。また、当業者であれば理解できるように、他の構造とプロセスは、開示された構造とプロセスを代替でき、これにより生成された実施形態は基本的に同じである(1つ又は複数の)方式で、基本的に同じ(1つ又は複数の)である機能を実行することによって、少なくとも開示された実施形態と基本的に同じである(1つ又は複数の)結果を実現する。したがって、本出願では、これらの内容及び他の実施形態が構想される。