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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7261300適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム
<>
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図1
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図2
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図3
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図4
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図5
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図6
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図7
  • 特許-適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-11
(45)【発行日】2023-04-19
(54)【発明の名称】適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
   G06T 9/40 20060101AFI20230412BHJP
   H04N 19/597 20140101ALI20230412BHJP
   H04N 19/46 20140101ALI20230412BHJP
【FI】
G06T9/40
H04N19/597
H04N19/46
【請求項の数】 15
(21)【出願番号】P 2021535208
(86)(22)【出願日】2020-03-24
(65)【公表番号】
(43)【公表日】2022-03-03
(86)【国際出願番号】 US2020024371
(87)【国際公開番号】W WO2020198180
(87)【国際公開日】2020-10-01
【審査請求日】2021-06-17
(31)【優先権主張番号】62/824,262
(32)【優先日】2019-03-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/823,563
(32)【優先日】2020-03-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イエア,セフーン
(72)【発明者】
【氏名】ヴォソウギ,アラシュ
(72)【発明者】
【氏名】リィウ,シャン
【審査官】橘 高志
(56)【参考文献】
【文献】米国特許出願公開第2019/0081638(US,A1)
【文献】特表2013-502601(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/40
H04N 19/597
H04N 19/46
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する適応ポイントクラウド属性コーディングの方法であって、
ポイントクラウドデータに含まれる現在ポイントの属性を取得するステップと、
前記取得した属性の候補予測値を取得するステップであり、前記候補予測値は、前記現在ポイントから前記ポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、前記現在ポイントから前記他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び前記現在ポイントから前記他のポイントのうち前記一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを有する、ステップと、
前記取得した属性について、レート歪み最適化を用いて、前記取得した候補予測値のうち1つを選択するステップと、
デコーダに対して、前記取得した候補予測値が前記加重平均値を有するかを指し示すフラグを設定するステップと、
を有する方法。
【請求項2】
シーケンス毎に又はフレーム毎に前記フラグを前記デコーダに送信するステップ、を更に有する請求項1に記載の方法。
【請求項3】
当該方法は更に、前記加重平均値の使用回数が所定の閾値未満であるかを特定するステップを有し、
前記フラグを前記設定するステップは、前記加重平均値の前記使用回数が前記所定の閾値未満であると特定されたことに基づいて、前記取得した候補予測値から前記加重平均値を除去するとともに、前記取得した候補予測値が前記加重平均値を有しないことを指し示すように前記フラグを設定することを有する、
請求項1に記載の方法。
【請求項4】
前記取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、前記加重平均値の前記使用回数を特定するステップ、を更に有する請求項3に記載の方法。
【請求項5】
前記取得した候補予測値の各々の使用回数に基づいて、前記取得した候補予測値の順序を取得するステップ、を更に有する請求項1に記載の方法。
【請求項6】
前記取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、前記取得した候補予測値の各々の前記使用回数を特定するステップ、を更に有する請求項5に記載の方法。
【請求項7】
前記取得した候補予測値のうち前記1つを前記選択するステップは、前記レート歪み最適化を用いて、且つ前記取得した候補予測値の前記取得した順序に基づいて、前記取得した属性について、前記取得した候補予測値のうち1つを選択することを有する、請求項5に記載の方法。
【請求項8】
適応ポイントクラウド属性コーディング用の装置であって、
コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと、
を有し、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、ポイントクラウドデータに含まれる現在ポイントの属性を取得させるように構成された第1の取得コードと、
前記少なくとも1つのプロセッサに、前記取得した属性の候補予測値を取得させるように構成された第2の取得コードであり、前記候補予測値は、前記現在ポイントから前記ポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、前記現在ポイントから前記他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び前記現在ポイントから前記他のポイントのうち前記一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを有する、第2の取得コードと、
前記少なくとも1つのプロセッサに、前記取得した属性について、レート歪み最適化を用いて、前記取得した候補予測値のうち1つを選択させるように構成された選択コードと、
前記少なくとも1つのプロセッサに、デコーダに対して、前記取得した候補予測値が前記加重平均値を有するかを指し示すフラグを設定させるように構成された設定コードと、
を有する、装置。
【請求項9】
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、シーケンス毎に又はフレーム毎に前記フラグを前記デコーダに送信させるように構成された送信コード、
を更に有する、請求項8に記載の装置。
【請求項10】
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、前記加重平均値の使用回数が所定の閾値未満であるかを特定させるように構成された特定コード、を更に有し、
前記設定コードは更に、前記少なくとも1つのプロセッサに、前記加重平均値の前記使用回数が前記所定の閾値未満であると特定されたことに基づいて、前記取得した候補予測値から前記加重平均値を除去させるとともに、前記取得した候補予測値が前記加重平均値を有しないことを指し示すように前記フラグを設定させるように構成される、
請求項8に記載の装置。
【請求項11】
前記特定コードは更に、前記少なくとも1つのプロセッサに、前記取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、前記加重平均値の前記使用回数を特定させるように構成される、請求項10に記載の装置。
【請求項12】
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、前記取得した候補予測値の各々の使用回数に基づいて、前記取得した候補予測値の順序を取得させるように構成された第3の取得コード、を更に有する、請求項8に記載の装置。
【請求項13】
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、前記取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、前記取得した候補予測値の各々の前記使用回数を特定させるように構成された特定コード、を更に有する、請求項12に記載の装置。
【請求項14】
前記選択コードは更に、前記少なくとも1つのプロセッサに、前記レート歪み最適化を用いて、且つ前記取得した候補予測値の前記取得した順序に基づいて、前記取得した属性について、前記取得した候補予測値のうち1つを選択させるように構成される、請求項12に記載の装置。
【請求項15】
コンピュータに請求項1乃至7のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、米国特許商標庁に、2019年3月26日に出願された米国仮特許出願第62/824,262号、及び2020年3月19日に出願された米国出願第16/823,563からの優先権を主張するものであり、それらの開示をそれらの全体にてここに援用する。
【0002】
実施形態と一致する方法及び装置は、グラフベースのポイントクラウド圧縮(graph-based point cloud compression;G-PCC)に関し、より具体的には、適応ポイントクラウド属性コーディングのための方法及び装置に関する。
【背景技術】
【0003】
世界の高度な三次元(3D)表現が、より没入的な形態でのインタラクション及びコミュニケーションを可能にしつつあり、また機械が我々の世界を理解し、解釈し、ナビゲートすることを可能にする。そのような情報の表現を可能にするものとして3Dポイントクラウドが浮上している。ポイントクラウドデータに関連する多数の使用事例が確認されており、対応するポイントクラウド表現及び圧縮の要件が開発されている。
【0004】
ポイントクラウドは、各点が例えば色や材料特性などといった属性に関連付けられた、3D空間内の点(ポイント)の集合である。ポイントクラウドは、オブジェクト又はシーンを、そのような点から成るものとして再構成するために使用されることができる。それらは、様々なセットアップにある複数のカメラ及び深さセンサを使用して捕捉されることができ、再構成されるシーンを現実のもののように表現するために数千から数十億もの点で構成され得る。
【0005】
ポイントクラウドを表現するためのデータの量を減らすために、圧縮技術が必要とされる。従って、リアルタイム通信及び6自由度(6DoF)の仮想現実での使用には、ポイントクラウドの非可逆圧縮の技術が必要とされている。また、自律運転用途及び文化遺産用途などでの動的マッピングのコンテキストにおいて、可逆ポイントクラウド圧縮の技術が求められている。ムービングピクチャエキスパートグループ(MPEG)は、例えば色及び反射率などのジオメトリ及び属性の圧縮、スケーラブル/プログレッシブコーディング、時間をかけてキャプチャされるポイントクラウドのシーケンスの符号化、及びポイントクラウドのサブセットへのランダムアクセスに対処する標準について作業を開始している。
【0006】
図1は、G-PCCにおいてレベル・オブ・ディテール(level of detail;LoD)を生成する方法を示す図である。
【0007】
図1を参照するに、現行のG-PCC属性コーディングでは、各3Dポイント(例えば、P0-P9)のLoD(すなわち、グループ)が各3Dポイントの距離に基づいて生成され、そして、各LoD内の3Dポイントの属性値が、3Dポイントの元々の順序105の代わりにLoDベースの順序110で予測を適用することによって符号化される。例えば、3DポイントP2の属性値は、3DポイントP2の前に符号化又は復号された3DポイントP0、P5及びP4の距離に基づく加重平均値を計算することによって予測される。
【0008】
G-PCCにおける現行のアンカー方法は以下のように進められる。
【0009】
第一に、近傍の値がどれだけ異なるかを検査するために、3Dポイントの近傍の可変性が計算され、可変性が閾値より低い場合、現在ポイントiの最近傍の距離に基づく線形補間プロセスを用いて、属性値(ai∈0,…,k-1を予測することによって、距離に基づく加重平均予測の計算が行われる。
【数1】
を現在ポイントiのk個の最近傍の集合とし、
【数2】
をそれらの復号/再構成された属性値とし、
【数3】
を現在ポイントiまでのそれらの距離とする。すると、予測される属性値:
【数4】
は、
【数5】
によって与えられる。
【0010】
なお、属性が符号化されるときに、既に全てのポイントクラウドの幾何学的位置が利用可能である。加えて、隣接ポイントは、それらの再構成された属性値と共に、エンコーダ及びデコーダの双方において、同じ手法での各ポイントについての最近傍探索を支援するために使用されるk次元ツリー構造として利用可能である。
【0011】
第二に、可変性が閾値より高い場合には、レート歪み最適化(rate-distortion optimized;RDO)予測子選択が実行される。複数の予測子候補又は候補予測値が、LoDを生成する際の隣接ポイント探索の結果に基づいて作成される。例えば、予測を用いて3DポイントP2の属性値を符号化されるとき、3DポイントP2から3DポイントP0、P5及びP4それぞれまでの距離の加重平均値が、0に等しい予測子インデックスに設定される。次いで、3DポイントP2から最隣接ポイントP4までの距離が、1に等しい予測子インデックスに設定される。さらに、下の表1に示すように、3DポイントP2から次の最隣接ポイントP5及びP0それぞれまでの距離が、2及び3に等しい予測子インデックスに設定される。
【表1】
【0012】
予測子候補を作成した後、レート歪み最適化手順を適用することによって最良の予測子が選択され、次いで、選択された予測子インデックスが、それらのビンが算術的に符号化されることになるトランケーテッドユナリー(truncated unary;TU)コードにマッピングされる。なお、表1中の、より小さい予測子インデックスに、より短いTUコードが割り当てられることになる。
【0013】
予測子候補の最大数MaxNumCandが定められ、属性ヘッダ内にエンコードされる。現行の実装では、予測子候補の最大数MaxNumCandは、numberOfNearestNeighborsInPrediction+1に等しく設定され、トランケーテッドユナリー二値化を用いて予測子インデックスを符号化及び復号する際に使用される。
【0014】
G-PCCにおける属性コーディングのための予測では、表1に示したように、予測子候補選択の順序が固定される。しかしながら、データ特性及び可変性閾値に依存して、選択される予測子インデックスの頻度は、表1に与えられるような固定の順序に従わず、それが圧縮効率の低下につながることになる。
【発明の概要】
【0015】
実施形態によれば、適応ポイントクラウド属性コーディングの方法は、少なくとも1つのプロセッサによって実行され、ポイントクラウドデータに含まれる現在ポイントの属性を取し、そして、取得した属性の候補予測値を取得することを含み、候補予測値は、現在ポイントからポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、現在ポイントから他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び現在ポイントから他のポイントのうち一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを含む。当該方法は更に、取得した属性について、レート歪み最適化を用いて、取得した候補予測値のうち1つを選択し、そして、デコーダに対して、取得した候補予測値が加重平均値を含むかを指し示すフラグを設定することを含む。
【0016】
実施形態によれば、適応ポイントクラウド属性コーディング用の装置は、コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、該少なくとも1つのメモリにアクセスし、上記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと、を含む。上記コンピュータプログラムコードは、上記少なくとも1つのプロセッサに、ポイントクラウドデータに含まれる現在ポイントの属性を取得させるように構成された第1の取得コードと、上記少なくとも1つのプロセッサに、取得した属性の候補予測値を取得させるように構成された第2の取得コードとを含み、候補予測値は、現在ポイントからポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、現在ポイントから他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び現在ポイントから他のポイントのうち一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを含む。上記コンピュータプログラムコードは更に、上記少なくとも1つのプロセッサに、取得した属性について、レート歪み最適化を用いて、取得した候補予測値のうち1つを選択させるように構成された選択コードと、上記少なくとも1つのプロセッサに、デコーダに対して、取得した候補予測値が加重平均値を含むかを指し示すフラグを設定させるように構成された設定コードとを含む。
【0017】
実施形態によれば、非一時的なコンピュータ読み取り可能記憶媒体は命令を格納し、該命令は、少なくとも1つのプロセッサに、ポイントクラウドデータに含まれる現在ポイントの属性を取得させ、そして、取得した属性の候補予測値を取得させ、候補予測値は、現在ポイントからポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、現在ポイントから他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び現在ポイントから他のポイントのうち一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを含む。上記命令は更に、上記少なくとも1つのプロセッサに、取得した属性について、レート歪み最適化を用いて、取得した候補予測値のうち1つを選択させ、そして、デコーダに対して、取得した候補予測値が加重平均値を有するかを指し示すフラグを設定させる。
【図面の簡単な説明】
【0018】
図1】G-PCCにおいてLoDを生成する方法を示す図である。
図2】実施形態に従った通信システムのブロック図である。
図3】実施形態に従った環境におけるG-PCC圧縮器及びG-PCC解凍器の配置の図である。
図4】実施形態に従ったG-PCC圧縮器の機能ブロック図である。
図5】実施形態に従ったG-PCC解凍器の機能ブロック図である。
図6】実施形態に従った適応ポイントクラウド属性コーディングの方法を示すフローチャートである。
図7】実施形態に従った適応ポイントクラウド属性コーディング用の装置のブロック図である。
図8】実施形態を実装するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0019】
ここに記載される実施形態は、適応ポイントクラウド属性コーディングのための方法及び装置を提供する。上述のように、G-PCCにおけるRDO予測子は、各ポイントクラウド属性に対して最適な予測子インデックスを符号化する。これが意味することは、低い可変性の信号の場合のように、対応する歪み抑制が、サイド情報の使用の代償として比較的小さい場合に、又は低いビットレートで符号化する場合に、そのようなサイド情報の符号化コストが負担となり得るということである。
【0020】
従って、この開示にて、予測子インデックスの適応的な決定の方法が提案される。理論的根拠となるのは、上述のように可変性閾値検査ステップにおいて平均予測子の使用が既に検討されているので、後続のRDO決定ステップに平均予測子を含めることは、幾分冗長であり、レート歪み効率の低下につながる可能性が高いということである。これは、低ダイナミックレンジの反射率データの符号化又は低ビットレートでの符号化においてのように、予測子インデックスの符号化の相対的なオーバヘッドが大きいときに、よりいっそう有用になり得る。
【0021】
図2は、実施形態に従った通信システム200のブロック図である。通信システム200は、ネットワーク250を介して相互接続された少なくとも2つの端末210及び220を含み得る。データの一方向伝送では、第1の端末210は、ネットワーク250を介した他方の端末220への伝送のために、ローカル位置でポイントクラウドデータを符号化し得る。第2の端末220は、第1の端末210の符号化されたポイントクラウドデータをネットワーク250から受信し、符号化されたポイントクラウドデータを復号し、そして、復元されたポイントクラウドデータを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにおいて一般的であり得る。
【0022】
図2は更に、例えばテレビ会議中に発生し得る符号化されたポイントクラウドデータの双方向伝送をサポートするように設けられた第2対の端末230及び240を例示している。データの双方向伝送では、各端末230又は240が、ローカル位置でキャプチャされたポイントクラウドデータを、ネットワーク250を介した他方の端末への伝送のために符号化し得る。各端末230又は240はまた、他方の端末によって送信された符号化されたポイントクラウドデータを受信することができ、符号化されたポイントクラウドデータを復号し、そして、復元されたポイントクラウドデータをローカルのディスプレイ装置に表示し得る。
【0023】
図2において、端末210-240は、サーバ、パーソナルコンピュータ、及びスマートフォンとして例示され得るが、実施形態の原理はそのように限定されるものではない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議機器での用途を見出す。ネットワーク250は、例えば、有線通信ネットワーク及び/又は無線通信ネットワークを含め、端末210-240間で符号化されたポイントクラウドデータを伝達するあらゆる数のネットワークを表す。通信ネットワーク250は、回線交換チャネル及び/又はパケット交換チャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク250のアーキテクチャ及びトポロジーは、以下にて説明しない限り、実施形態の動作にとって重要ではないとし得る。
【0024】
図3は、実施形態に従った、環境におけるG-PCC圧縮器303及びG-PCC解凍器310の配置の図である。開示に係る事項は、例えば、テレビ会議や、デジタルTVや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮ポイントクラウドデータの格納などを含め、ポイントクラウドを使用可能な他の用途にも等しく適用可能であることができる。
【0025】
ストリーミングシステム300は、例えば未圧縮のポイントクラウドデータ302を作り出す例えばデジタルカメラといったポイントクラウドソース301を含むことができるキャプチャサブシステム313を含み得る。大きめのデータボリュームを持つこのポイントクラウドデータ302は、ポイントクラウドソース301に結合されたG-PCC圧縮器303によって処理されることができる。G-PCC圧縮器303は、更に詳細に後述される開示に係る事項の態様を使用可能にする又は実装するための、ハードウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。より小さいデータボリュームを持つ符号化されたポイントクラウドデータ304は、後の使用のためにストリーミングサーバ305に格納されることができる。1つ以上のストリーミングクライアント306及び308が、符号化されたポイントクラウドデータ304のコピー307及び309を取り出すためにストリーミングサーバ305にアクセスすることができる。クライアント306は、G-PCC解凍器310を含むことができ、これが、符号化されたポイントクラウドデータの入力コピー307を復号し、ディスプレイ312又は他のレンダリング装置(図示せず)上にレンダリングされることが可能な出力ポイントクラウドデータ311を作り出す。一部のストリーミングシステムにおいて、符号化されたポイントクラウドデータ304、307及び309は、映像符号化/圧縮標準に従って符号化されることができる。それら標準の例は、G-PCCようにMPEGによって開発されているものを含む。
【0026】
図4は、実施形態に従ったG-PCC圧縮器303の機能ブロック図である。
【0027】
図4に示すように、G-PCC圧縮器303は、量子化器405、ポイント除去モジュール410、オクツリー(八分木)エンコーダ415、属性転送モジュール420、LoD生成器425、予測モジュール430、量子化器435、及び算術コーダ440を含む。
【0028】
量子化器405は、入力ポイントクラウド内のポイントの位置を受信する。位置は(x,y,z)座標とし得る。量子化器405は更に、例えばスケーリングアルゴリズム及び/又はシフトアルゴリズムを用いて、受信した位置を量子化する。
【0029】
ポイント除去モジュール410は、量子化器405から量子化された位置を受信し、受信した量子化された位置から重複する位置を除去又はフィルタリングする。
【0030】
オクツリーエンコーダ415は、ポイント除去モジュール410からフィルタリングされた位置を受信し、受信したフィルタリングされた位置を、八分木符号化アルゴリズムを用いて、入力ポイントクラウドを表す八分木の占有シンボルへと符号化する。八分木に対応する入力ポイントクラウドの境界ボックスは、任意の3D形状、例えば立方体、とし得る。
【0031】
オクツリーエンコーダ415は更に、受信したフィルタリングされた位置を、フィルタリングされた位置の符号化に基づいて並べ替える。
【0032】
属性転送モジュール420は、入力ポイントクラウド内のポイントの属性を受信する。属性は、例えば、各ポイントの色若しくはRGB値及び/又は反射率を含み得る。属性転送モジュール420は更に、オクツリーエンコーダ415から、並べ替えられた位置を受信する。
【0033】
属性転送モジュール420は更に、受信した並べ替えられた位置に基づいて、受信した属性を更新する。例えば、属性転送モジュール420は、受信した属性に対して、数ある前処理アルゴリズムのうち1つ以上を実行することができ、前処理アルゴリズムは、例えば、受信した属性の重み付け及び平均化、並びに受信した属性からの追加の属性の補間を含む。属性転送モジュール420は更に、更新した属性を予測モジュール430に転送する。
【0034】
LoD生成器425は、オクツリーエンコーダ415から並べ替えられた位置を受信し、受信した並べ替えられた位置に対応するポイントの各々のLoDを取得する。各LoDは一群のポイントであると見なすことができ、それらのポイントの各々の距離に基づいて取得され得る。例えば、図1に示したように、ポイントP0、P5、P4及びP2は、LOD0なるLoD内にあるとすることができ、ポイントP0、P5、P4、P2、P1、P6及びP3は、LOD1なるLoD内にあるとすることができ、ポイントP0、P5、P4、P2、P1、P6、P3、P9、P8及びP7は、LOD2なるLoD内にあるとすることができる。
【0035】
予測モジュール430は、属性転送モジュール420から転送された属性を受信するとともに、LoD生成器425から、ポイントの各々の取得されたLoDを受信する。予測モジュール430は、ポイントの各々の受信したLoDに基づく順序で、受信した属性に予測アルゴリズムを適用することにより、受信した属性それぞれの予測残差(値)を取得する。予測アルゴリズムは、例えば、補間、加重平均計算、最近接アルゴリズム及びRDOなどの様々な予測アルゴリズムのうちのいずれかを含み得る。
【0036】
例えば、図1に示したように、LOD0なるLoDに含まれるポイントP0、P5、P4及びP2の受信した属性それぞれの予測残差が、LOD1及びLOD2なるLoDに含まれるポイントP1、P6、P3、P9、P8及びP7の受信した属性それぞれの予測残差に先立って、最初に取得され得る。ポイントP2の受信した属性の予測残差は、ポイントP0、P5及びP4の加重平均に基づく距離を計算することによって取得され得る。
【0037】
量子化器435は、予測モジュール430から、取得された予測残差を受信し、例えばスケーリングアルゴリズム及び/又はシフトアルゴリズムを用いて、受信した予測残差を量子化する。
【0038】
算術コーダ440は、オクツリーエンコーダ415から占有シンボルを受信するとともに、量子化器435から、量子化された予測残差を受信する。算術コーダ440は、受信した占有シンボル及び量子化された予測残差に対して算術符号化を実行して、圧縮されたビットストリームを得る。算術符号化は、例えば、コンテキスト適応バイナリ算術符号化などの様々なエントロピー符号化アルゴリズムのうちのいずれかを含み得る。
【0039】
図5は、実施形態に従ったG-PCC解凍器310の機能ブロック図である。
【0040】
図5に示すように、G-PCC解凍器310は、算術デコーダ505、オクツリーデコーダ510、逆量子化器515、LoD生成器520、逆量子化器525、及び逆予測モジュール530を含む。
【0041】
算術デコーダ505は、G-PCC圧縮器303から、圧縮されたビットストリームを受信し、受信した圧縮ビットストリームに対して算術復号を実行して、占有シンボル及び量子化された予測残差を取得する。算術復号は、例えば、コンテキスト適応バイナリ算術復号化などの様々なのエントロピー復号アルゴリズムのうちのいずれかを含み得る。
【0042】
オクツリーデコーダ510は、算術デコーダ505から、取得された占有シンボルを受信し、オクツリー復号アルゴリズムを用いて、受信した占有シンボルを量子化された位置へと復号する。
【0043】
逆量子化器515は、オクツリーデコーダ510から量子化された位置を受信し、例えばスケーリングアルゴリズム及び/又はシフトアルゴリズムを用いて、受信した量子化された位置を逆量子化して、入力ポイントクラウド内のポイントの再構成された位置を取得する。
【0044】
LoD生成器520は、オクツリーデコーダ510から量子化された位置を受信し、受信した量子化された位置に対応するポイントの各々のLoDを取得する。
【0045】
逆量子化器525は、取得された量子化された予測残差を受信し、例えばスケーリングアルゴリズム及び/又はシフトアルゴリズムを用いて、受信した量子化された予測残差を逆量子化して、再構成された予測残差を取得する。
【0046】
逆予測モジュール530は、逆量子化器525から、取得された再構成された予測残差を受信するとともに、LoD生成器520から、ポイントの各々の取得されたLoDを受信する。逆予測モジュール530は、ポイントの各々の受信したLoDに基づく順序で、受信した再構成された予測残差に予測アルゴリズムを適用することにより、受信した再構成された予測残差それぞれの再構成された属性を取得する。予測アルゴリズムは、例えば、補間、加重平均計算、最近接アルゴリズム及びRDOなどの様々な予測アルゴリズムのうちのいずれかを含み得る。再構成された属性は、入力ポイントクラウド内のポイントのものである。
【0047】
次に、適応ポイントクラウド属性コーディングのための方法及び装置を詳細に説明する。このような方法及び装置は、上述のG-PCC圧縮器303、はっきり言えば、予測モジュール430に実装され得る。
【0048】
実施形態において、上の表1に示した予測子インデックスのリストからの平均予測子又は平均予測値を含めるか除外するかを指し示す信号フラグが、エンコーダ(G-PCC圧縮器303)からデコーダ(G-PCC解凍器310)に送信される。このような信号フラグは、シーケンス毎又はフレーム毎にエンコーダから送信されることができる。
【0049】
実施形態において、エンコーダは、エンコーダ及びデコーダの双方で取得可能な局所統計に基づいて、信号フラグを設定することができる。一例として、予め指定された過去の時間ウィンドウ内で最も頻繁に選択される予測子候補のヒストグラム計数を使用して、平均予測子がリストに含められるべきかを決定することができる。平均予測子の使用回数が所定の閾値未満である場合、エンコーダは、平均予測子を候補リストから除去する。
【0050】
実施形態において、予測値に割り当てられる予測子インデックスの適応的な並べ替えが、各予測子候補の可能性を反映する基準に基づいて行われる。一例として、最も近いポイントP4が平均よりも頻繁に選択されている場合、最も近いポイントP4の予測値が第1の予測子インデックス0に割り当てられ、平均予測値が第2の予測子インデックス1に(又は更に後ろに)割り当てられる。このプロセスは、全ての予測子候補を選択又は使用の頻度の順序でソートし、対応する予測子インデックスを予測子候補に割り当てるように一般化され得る。より高いランクの予測値(例えば、第1の予測子インデックス0を持つ)は、より低いランクの予測値(例えば、第2の予測子インデックス1を持つ)の前に選択され得る。
【0051】
実施形態において、信号フラグと予測子インデックスの適応的な並べ替えとの組み合わせを使用することができる。
【0052】
図6は、実施形態に従った適応ポイントクラウド属性コーディングの方法600を示すフローチャートである。一部の実装において、図6の1つ以上のプロセスブロックは、G-PCC解凍器310によって実行され得る。一部の実装において、図6の1つ以上のプロセスブロックは、例えばG-PCC圧縮器303などの、G-PCC解凍器310かとは別個の又はそれを含んだ別の装置又は装置群によって実行されてもよい。
【0053】
図6を参照するに、第1のブロック610にて、方法600は、ポイントクラウドデータに含まれる現在ポイントの属性を取得することを含む。
【0054】
第2のブロック620にて、方法600は、取得した属性の候補予測値を取得することを含み、候補予測値は、現在ポイントからポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、現在ポイントから他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び現在ポイントから他のポイントのうち一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを含む。
【0055】
第3のブロック630にて、方法600は、取得した属性について、レート歪み最適化を用いて、取得した候補予測値のうち1つを選択することを含む。
【0056】
第4のブロック640にて、方法600は、デコーダに対して、取得した候補予測値が加重平均値を含むかを指し示すフラグを設定することを含む。
【0057】
当該方法は更に、シーケンス毎に又はフレーム毎にフラグをデコーダに送信することを含み得る。
【0058】
当該方法は更に、加重平均値の使用回数が所定の閾値未満であるかを特定することを含み得る。フラグを設定することは、加重平均値の使用回数が所定の閾値未満であると特定されたことに基づいて、取得した候補予測値から加重平均値を除去するとともに、取得した候補予測値が加重平均値を含まないことを指し示すようにフラグを設定することを含み得る。
【0059】
当該方法は更に、取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、加重平均値の使用回数を特定することを含み得る。
【0060】
当該方法は更に、取得した候補予測値の各々の使用回数に基づいて、取得した候補予測値の順序を取得することを含み得る。
【0061】
当該方法は更に、取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、取得した候補予測値の各々の使用回数を特定することを含み得る。
【0062】
取得した候補予測値のうち1つを選択することは、レート歪み最適化を用いて、且つ取得した候補予測値の取得した順序に基づいて、取得した属性について、取得した候補予測値のうち1つを選択することを含み得る。
【0063】
図6は、方法600のブロック例を示しているが、一部の実装において、方法600は、図6に示されたものに対して、追加のブロック、より少ないブロック、異なるブロック、又は異なるように編成されたブロックを含んでもよい。
加えて、あるいは代わりに、方法600のブロックのうちの2つ以上が並行して実行されてもよい。
【0064】
また、提案される方法は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例において、1つ以上のプロセッサが、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを実行することで、提案される方法のうちの1つ以上を実行する。
【0065】
図7は、実施形態に従った適応ポイントクラウド属性コーディング用の装置700のブロック図である。
【0066】
図7を参照するに、装置700は、第1の取得コード710、第2の取得コード720、選択コード730、及び設定コード740を含む。
【0067】
第1の取得コード710は、少なくとも1つのプロセッサに、ポイントクラウドデータに含まれる現在ポイントの属性を取得させるように構成される。
【0068】
第2の取得コード720は、少なくとも1つのプロセッサに、取得した属性の候補予測値を取得させるように構成され、候補予測値は、現在ポイントからポイントクラウドデータに含まれる他のポイントそれぞれまでの複数の距離の加重平均値、現在ポイントから他のポイントのうち一番近いポイントまでの第1の距離の第1の予測値、及び現在ポイントから他のポイントのうち一番近いポイントの後の二番目に近いポイントまでの第2の距離の第2の予測値、のいずれか1つ又は組み合わせを含む。
【0069】
選択コード730は、少なくとも1つのプロセッサに、取得した属性について、レート歪み最適化を用いて、取得した候補予測値のうち1つを選択させるように構成される。
【0070】
設定コード740は、少なくとも1つのプロセッサに、デコーダに対して、取得した候補予測値が加重平均値を含むかを指し示すフラグを設定させるように構成される。
【0071】
装置700は更に、少なくとも1つのプロセッサに、シーケンス毎に又はフレーム毎にフラグをデコーダに送信させるように構成された送信コード、を含み得る。
更に有する請求項8に記載の装置。
【0072】
当該装置は更に、少なくとも1つのプロセッサに、加重平均値の使用回数が所定の閾値未満であるかを特定させるように構成された特定コード、を含み得る。設定コードは更に、少なくとも1つのプロセッサに、加重平均値の使用回数が所定の閾値未満であると特定されたことに基づいて、取得した候補予測値から加重平均値を除去させるとともに、取得した候補予測値が加重平均値を含まないことを指し示すようにフラグを設定させるように構成され得る。
【0073】
特定コードは更に、少なくとも1つのプロセッサに、取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、加重平均値の使用回数を特定させるように構成され得る。
【0074】
当該装置は更に、少なくとも1つのプロセッサに、取得した候補予測値の各々の使用回数に基づいて、取得した候補予測値の順序を取得させるように構成された第3の取得コード、を含み得る。
【0075】
特定コードは更に、少なくとも1つのプロセッサに、取得した候補予測値の中で最も頻繁に選択されたものを予め指定された時間ウィンドウ内でカウントするヒストグラムに基づいて、取得した候補予測値の各々の使用回数を特定させるように構成され得る。
【0076】
選択コードは更に、少なくとも1つのプロセッサに、レート歪み最適化を用いて、且つ取得した候補予測値の取得した順序に基づいて、取得した属性について、取得した候補予測値のうち1つを選択させるように構成され得る。
【0077】
図8は、実施形態を実装するのに適したコンピュータシステム800の図である。
【0078】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介してコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を含むコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコード化され得る。
【0079】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0080】
コンピュータシステム800に関して図8に示したコンポーネントは、本質的に例であり、実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム800の実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0081】
コンピュータシステム800は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、2次元映像、立体視映像を含む3次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
【0082】
入力ヒューマンインタフェース装置は、キーボード801、マウス802、トラックパッド803、タッチスクリーン810、ジョイスティック805、マイクロフォン806、スキャナ807、及びカメラ808(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0083】
コンピュータシステム800はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン810又はジョイスティック805による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー809、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン810(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。グラフィックスアダプタ850が、画像を生成し、タッチスクリーン810に出力する。
【0084】
コンピュータシステム800はまた、例えば、CD/DVD若しくは類似の媒体821を有するCD/DVD ROM/RWドライブ820を含む光媒体、サムドライブ822、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ823、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
【0085】
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0086】
コンピュータシステム800はまた、1つ以上の通信ネットワーク855への(1つ以上の)インタフェースを含み得る。通信ネットワーク855は、例えば、無線、有線、光とし得る。ネットワーク855は更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワーク855の例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、グローバルシステムフォーモバイルコミュニケーションズ(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)、及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANBusを含む車両及び産業などを含む。ネットワーク855は一般に、特定の汎用データポート又はペリフェラルバス849(例えば、コンピュータシステム800のユニバーサルシリアルバス(USB)ポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコンピュータシステムへのセルラネットワークインタフェースを含むネットワークインタフェース854など、後述のシステムバスへの取り付けによってコンピュータシステム800のコアに統合される。これらのネットワーク855のいずれかを使用して、コンピュータシステム800は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク855及びネットワークインタフェース854の各々上で使用され得る。
【0087】
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェース854は、コンピュータシステム800のコア840に取り付けられることができる。
【0088】
コア840は、1つ以上の中央演算処理ユニット(CPU)841、グラフィックス処理ユニット(GPU)842、フィールドプログラマブルゲートアレイ(FPGA)843の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ844などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)845、ランダムアクセスメモリ846、例えば内部のユーザアクセス可能でないハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量ストレージ847、及びこれらに類するものと共に、システムバス848を介して接続され得る。一部のコンピュータシステムにおいて、システムバス848は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス848に直接的に、又はペリフェラルバス849を介して、のいずれで取り付けられてもよい。ペリフェラルバスのアーキテクチャは、ペリフェラルコンポーネントインターコネクト(PCI)、USB、及びこれらに類するものを含む。
【0089】
CPU841、GPU842、FPGA843、及びハードウェアアクセラレータ844は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM845又はRAM846に格納され得る。RAM846には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ847に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、CPU841、GPU842、内部大容量ストレージ847、ROM845、RAM846、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
【0090】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、実施形態の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
【0091】
一例として、限定ではなく、アーキテクチャ、特にコア840、を有するコンピュータシステム800は、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ847又はROM845などの、非一時的性質のものであるコア840の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア840によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア840及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM846に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、ハードウェアアクセラレータ844)にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。実施形態は、ハードウェア及びソフトウェアの好適な組み合わせを含む。
【0092】
この開示は幾つかの実施形態を記述しているが、開示の範囲に入る変更、置換、及び様々な均等な代替が存在する。従って、理解されることには、当業者は、ここでは明示的に図示されたり説明されたりしていないものの、開示の原理を具体化し、それ故に、その精神及び範囲の中にあるような、数多くのシステム及び方法を考案することができるであろう。
図1
図2
図3
図4
図5
図6
図7
図8