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

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

▶ 北京小米移動軟件有限公司の特許一覧 ▶ 西安▲電▼子科技大学の特許一覧

<>
  • 特表-点群の符号化及び復号方法 図1
  • 特表-点群の符号化及び復号方法 図2
  • 特表-点群の符号化及び復号方法 図3
  • 特表-点群の符号化及び復号方法 図4
  • 特表-点群の符号化及び復号方法 図5
  • 特表-点群の符号化及び復号方法 図6
  • 特表-点群の符号化及び復号方法 図7
  • 特表-点群の符号化及び復号方法 図8
  • 特表-点群の符号化及び復号方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-14
(54)【発明の名称】点群の符号化及び復号方法
(51)【国際特許分類】
   G06T 9/40 20060101AFI20230707BHJP
【FI】
G06T9/40
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022578799
(86)(22)【出願日】2020-06-24
(85)【翻訳文提出日】2022-12-20
(86)【国際出願番号】 CN2020098272
(87)【国際公開番号】W WO2021258374
(87)【国際公開日】2021-12-30
(81)【指定国・地域】
(71)【出願人】
【識別番号】516180667
【氏名又は名称】北京小米移動軟件有限公司
【氏名又は名称原語表記】Beijing Xiaomi Mobile Software Co.,Ltd.
【住所又は居所原語表記】No.018, Floor 8, Building 6, Yard 33, Middle Xierqi Road, Haidian District, Beijing 100085, China
(71)【出願人】
【識別番号】511235939
【氏名又は名称】西安▲電▼子科技大学
(74)【代理人】
【識別番号】110000729
【氏名又は名称】弁理士法人ユニアス国際特許事務所
(72)【発明者】
【氏名】張 偉
(72)【発明者】
【氏名】シャンペル,マリー-リュック ジョルジュ アンリ
(57)【要約】
本発明では、点群の属性の符号化と復号方法及びエンコーダとデコーダを提供する。そのうち、点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法であって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定するステップと、現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、前記真の変換係数と前記予測変換係数から残差を決定するステップと、前記残差を符号化し、前記ビットストリームに対して前記点群の属性の符号化データを生成するステップと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法であって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定するステップと、
現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、
前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、
前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、
前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
前記真の変換係数と前記予測変換係数とから残差を決定するステップと、
前記残差を符号化し、前記ビットストリームに対して前記点群の属性の符号化データを生成するステップと、を含む
ことを特徴とする点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法。
【請求項2】
圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法であって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
前記ビットストリームから前記点群の現在のノードの属性の残差を復号するステップと、
現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、
前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、
前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、
前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
逆RAHTを適用することで前記残差と前記予測変換係数とから前記現在のノードの属性を決定するステップと、を含む
ことを特徴とする圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法。
【請求項3】
前記現在の親ノードと、前記第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、
前記第1のセットの親ノードにおける各親ノードと、前記現在の親ノードとの最大の差を決定するステップと、
第1の閾値を提供するステップと、
前記最大の差が前記第1の閾値より小さい場合、前記第1のセットの親ノードにおけるすべての親ノードを選択するステップと、を含む
ことを特徴とする請求項1又は請求項2に記載の方法。
【請求項4】
前記現在の親ノードと、前記第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、
前記第1のセットの親ノードにおける各親ノードと、前記現在の親ノードとの差を決定するステップと、
第2の閾値を提供するステップと、
当該差が前記第2の閾値より小さい場合、前記第1のセットにおける親ノードを選択するステップと、を含む
ことを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記第1の閾値及び/又は前記第2の閾値は固定値である
ことを特徴とする請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記第1の閾値及び/又は前記第2の閾値は、完全な点群内の属性の分布に基づいて決定される
ことを特徴とする請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記第1の閾値及び/又は前記第2の閾値は、前記第1のセットの親ノードに基づいて決定される
ことを特徴とする請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記第2の閾値は、前記第1の閾値のパーセンテージである
ことを特徴とする請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記第1の閾値と前記第2の閾値が等しいか、又は異なる
ことを特徴とする請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記第1の閾値及び/又は前記第2の閾値は、前記現在のノードの属性と前記第1のセットの親ノードにおける親ノードの属性との比率に基づいて決定される
ことを特徴とする請求項1~9のいずれか1項に記載の方法。
【請求項11】
前記第1の閾値及び/又は前記第2の閾値は、前記ビットストリームに含まれる
ことを特徴とする請求項1~9のいずれか1項に記載の方法。
【請求項12】
前記第1の閾値及び/又は前記第2の閾値は、前記第1の閾値及び/又は前記第2の閾値を使用すべき少なくとも1つのサブ木の頂点におけるビットストリームのみに含まれ、別の第1又は第2の閾値の明示的なシグナルがない、サブ木内のすべてのノードに継承される
ことを特徴とする請求項11に記載の方法。
【請求項13】
点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するためのエンコーダであって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
プロセッサと、
前記プロセッサによって実行可能な命令が格納されており、前記命令が実行されると、前記プロセッサに請求項1及び請求項1に従属する請求項3~11のいずれか1項に記載の方法を実行させる、メモリ記憶デバイスと、を備える
ことを特徴とする点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するためのエンコーダ。
【請求項14】
圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するためのデコーダであって、ただし、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有するようにし、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
プロセッサと、
前記プロセッサによって実行可能な命令が格納されており、前記命令が実行されると、前記プロセッサに請求項2~11のいずれか1項に記載の方法を実行させる、メモリ記憶デバイスと、を備える
ことを特徴とする圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するためのデコーダ。
【請求項15】
プロセッサによる実行のための命令を格納する非一時的なコンピュータ可読記憶媒体であって、前記命令がプロセッサによって実行されると、前記プロセッサに請求項1~11のいずれか1項に記載の方法を実行させる
ことを特徴とする非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は全体的に、点群内の点の属性圧縮に関し、本発明は特に、点群の属性の符号化を改善するための符号化方法と復号方法、及びエンコーダとデコーダに関する。
【背景技術】
【0002】
近年、3次元メディア情報の表現方法として、3次元メッシュに代わる3次元点群が注目されている。点群データに関連するユースケースは非常に多岐にわたり、
映画制作における3D資産(asset)、
リアルタイム3D没入型テレプレゼンス、又は仮想現実(VR)アプリケーションのための3D資産、
3D自由視点映像(例えば、スポーツ観戦のために用いられる)、
地理情報システム(地図作成)、
文化遺産(壊れやすい資産のデジタル形式での保存)、
自動運転(大規模な環境の3Dマッピング)などを含む。
【0003】
点群とは、3D空間内の点の集合であり、各点は色や材料特性などの関連する属性を持つ。点群を使って、オブジェクトやシーンをこれらの点の集合として再構成することができる。異なる設定の複数のカメラと深さセンサを使用して点群を取得することができ、再構成されたシーンをリアルに再現するために、点群は、数千から数十億の点で構成されることもある。
【0004】
点群の各点には、その位置(通常は32ビット又は64ビットの浮動小数点として符号化されたX、Y、Z情報)とその属性(通常は少なくとも24ビットで符号化されたRGBカラー)を格納する必要がある。点群に含まれる点は数十億個に及ぶこともあるため、点群の生データは数ギガバイトに及ぶことが容易に理解できる。従って、点群を表現するために必要なデータ量を削減するための圧縮技術が強く求められている。
【0005】
点群の圧縮には、2つの異なる方法が開発された。
【0006】
まず、ビデオベース点群圧縮(Video based Point Cloud Compression、VPCC)方法では、点群を3つの異なる軸X、Y、Zと異なる深さに複数回投影し、それによりすべての点が1つの投影画像に存在する。次に、投影して得られた複数の投影画像を複数の部分(patch)に処理することで冗長性を除去し、再アレンジして最終的な画像を得、当該最終的な画像に付加されたメタデータは画素位置を空間上の点位置に変換するために用いられる。その後、従来の画像/動画用MPEGエンコーダで圧縮を行う。この方法の利点は、既存のエンコーダを再利用し、動的な点群を自然にサポートする(ビデオエンコーダを使用)ことであるが、この方法は希少な点群にはほとんど適用できず、点群専用の方法でより高い圧縮利得が得られると予想される。
【0007】
第二に、ジオメトリベース点群圧縮(Geometry based Point Cloud Compression、GPCC)方法では、点位置(通常ジオメトリと呼ばれる)と対応する点の属性(色、透明度など)が別々に符号化される。ジオメトリを符号化するために、八分木構造が使用される。点群全体は1つの立方体に収められ、当該立方体を8つのサブ立方体に分割し続け、各サブ立方体に1つの点しか含まれないようにする。従って、点の位置は、木の各ノードの占有情報に置き換えられる。
【0008】
属性は、領域適応階層変換(Region-Adaptive Hierarchal Transform、RAHT)により符号化され得る。RAHTは、既知技術であり、例えばUS10223810B2から知られており、ボクセル位置のMortonコードによって定義される階層に関する2点変換である。RAHTは、八分木の深さについて下から上まで、例えば八分木の葉から根まで再帰的に実行される。木の各深さで、各ノードに対してRAHTをループする。各ノードに対して、RAHTを3つの方向でループする。ここで、DC係数又はハイパス係数(high pass coefficient)は次のステップのために保持され、AC係数又はローパス係数(low pass coefficient)は量子化されてビットストリームに符号化される。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、効果的な符号化と復号方法、及びエンコーダとデコーダを提供し、それにより改善された点群の属性圧縮を提供することである。
【課題を解決するための手段】
【0010】
本発明の一態様により、点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法が提供され、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、
現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定するステップと、
現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、
前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、
前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、
前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
前記真の変換係数と前記予測変換係数から残差を決定するステップと、
前記残差を符号化し、前記ビットストリームに対して前記点群の属性の符号化データを生成するステップと、を含む。
【0011】
ここで、符号化すべき現在のノードを符号化するために、現在のノードの属性にRAHTを適用することで、真の変換係数を決定する。さらに、復号すべき現在のノードの属性の予測値を決定し、予測値に再びRAHTを適用することで、現在のノードの属性の予測変換係数を決定する。
【0012】
予測変換係数と真の変換係数から残差を決定し、好ましくは、エントロピー符号化により残差をビットストリームに含まれるようにし、それにより、点の属性の符号化データを生成する。
【0013】
ここで、現在のノードの属性の予測値を決定するために、現在のノードの親ノード(現在の親ノードと呼ぶ)と、符号化すべき現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定する。現在のノードと面又はエッジを共有するノードのセットは、常に6個のノードを含む。6個のノードからなるセットから、決定された差に従って、第2のセットを選択する。好ましくは、現在の親ノードも第2のセットに含まれる。従って、第2のセットは、現在のノード(木構造においてレベルDに位置する)の属性の予測値を予測するために、1~7個の親ノード(木構造においてレベルD-1に位置する)を含み得る。予測値から、RAHTを適用することによって予測変換係数を決定し、ただし、予測変換係数は、現在のノードの属性に対する残差を決定するために使用される。
【0014】
ここで、各占有されたノードに対して、木の根から葉まで上記のステップを繰り返し、木構造における各占有されたノードの残差を決定する。次に、前記残差を符号化し、好ましくは、前記残差をビットストリームにエントロピー符号化する。
【0015】
このように、予測値の決定には、現在のノードと面又はエッジを共有するすべての親ノードを考慮するとは限らない。また、第1のセットの親ノードにおける各親ノードと現在の親ノードとの属性の差に従って、第1のセットの親ノードにおける親ノードのみを考慮する。従って、第1のセットの親ノードにおけるすべての親ノードと現在の親ノードとを選択する必要はない。その結果、特に、親ノードに大きな変化がある場合に、改善された予測値を決定することができる。次に、予測値を予測するための差に従って、現在のノードの属性の真値から大きく逸脱する親ノードを除外する。
【0016】
従って、現在のノードの属性の予測値は、現在のノードの属性の元の値又は真値により近くなり、それによって残差は減少する。従って、属性の符号化効率を上げるためには、ビットストリームに含まれる残差は比較的小さくなければならない。
【0017】
好ましくは、前記現在の親ノードと、前記第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、
すべてのノードの属性の均質性を定量化するために、前記第1のセットの親ノードにおける各親ノードと、前記現在の親ノードとの最大の差を決定するステップと、
第1の閾値を提供するステップと、
前記最大の差が前記第1の閾値より小さい場合(すなわち、属性値がすべてのノード間でかなり均質である場合)、前記第1のセットの親ノードにおけるすべての親ノードを選択するステップと、を含む。
【0018】
従って、第1のセットのノードにおける各親ノードと現在のノードとの最大の差が、提供された第1の閾値より小さい場合、対応する親ノードは、点群における均質な領域に属すると見なされるため、すべてのノードを第2のセットに入るように選択し、現在のノードの属性の予測値を予測するために使用してもよい。従って、点群の均質な領域では、現在の親ノードだけでなく、現在のノードと面又はエッジを共有するすべての親ノードも予測値の予測に使用される。
【0019】
好ましくは、前記現在の親ノードと、前記第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、
すべてのノードの属性値の不均質性を定量化するために、前記第1のセットの親ノードにおける各親ノードと、前記現在の親ノードとの差を決定するステップと、
第2の閾値を提供するステップと、
当該差が前記第2の閾値より小さい場合、前記第1のセットの親ノードを選択するステップと、を含む。
【0020】
従って、第1のセットの親ノードにおける各ノードiに対して、差deltaAttrを決定し、第2の閾値と比較する。特定のノードiの差が第2の閾値より小さい場合、当該ノードは第2のセットに選択され、現在のノードの属性の予測値を予測するために用いられると考えられる。従って、差が大きすぎなく、すなわち所定の第2の閾値を超えないノードのみが選択される。従って、特に点群における属性の不均質な領域では、現在のノードの属性の予測値を決定する際に、逸脱した属性を持つ親ノードは除外される。その結果、現在のノードの属性の予測値と真値の偏差が減少し、より正確な予測値が提供され、それによってビットストリームに符号化される残差も減少する。
【0021】
好ましくは、前記第1の閾値は固定値であり、エンコーダとデコーダに知られている。代替的又は付加的に、前記第2の閾値は固定値である。従って、前記第1の閾値及び/又は前記第2の閾値は、エンコーダ又はデコーダにおいて実現することができ、ビットストリームに符号化する必要はない。
【0022】
好ましくは、前記第1の閾値は、完全な点群内の属性の分布に基づいて決定される。従って、点群内の属性の分布が均質なほど、第一閾値を低くしてもよい。代替的に又は追加的に、第2の閾値は、完全な点群内の属性の分布に基づいて決定される。そこで、前記第1の閾値及び/又は前記第2の閾値は、各点群のビットストリームに含まれてもよく、例えば、メタデータに含まれてもよい。従って、第1の閾値及び/又は第2の閾値は、完全な点群に対して固定値であるが、連続する2つの点群間において異なってもよい。
【0023】
好ましくは、前記第1の閾値及び/又は前記第2の閾値は、前記第1のセットの親ノードに基づいて決定される。従って、各現在のノードに対して、個別の第1の閾値及び/又は個別の第2の閾値が決定され、従って、現在のノードの周囲の属性の特定の変化に適合させてもよい。ここで、第1の閾値及び/又は第2の閾値は、復号のためにエンコーダからデコーダに転送されるビットストリームに含まれてもよい。
【0024】
好ましくは、前記第1の閾値及び/又は前記第2の閾値は、第1のセットの親ノードに基づいて決定され、前記第1の閾値又は前記第2の閾値の異なる値が第1のセットの親ノードのサブ木に割り当てられるまで、すべてのサブノードによって継承される。従って、各現在のノードに対して、個別の第1の閾値及び/又は個別の第2の閾値が決定され、それによって現在のノードの周囲の属性の特定の変化に適合させてもよい。ここで、前記第1の閾値及び/又は前記第2の閾値は、エンコーダからデコーダに転送されるビットストリームに含まれてもよく、それによって、それらが関連するか継承される(それによりビットストリームに含まれていない)サブ木の頂点でこのようなサブ木の頂点にないノードを復号する。
【0025】
好ましくは、前記第2の閾値は、前記第1の閾値のパーセンテージである。従って、前記第1の閾値が増加した場合、それに応じて第1の閾値のパーセンテージである第2の閾値は増加する。ここで、パーセンテージは固定であっても、完全な点群内の属性の分布に基づいて決定されても、又は第1のセットの親ノードにおける属性の分布に基づいて決定されてもよい。従って、前記第1の閾値又は前記第2の閾値は、それぞれのパーセンテージとともに、エンコーダからデコーダに転送されるビットストリームに含まれる。
【0026】
好ましくは、前記第1の閾値及び/又は前記第2の閾値は、前記現在のノードの属性と前記第1のセットの親ノードにおける親ノードの属性との比率に基づいて決定される。ここで、前記比率に対して、第1のセットの親ノードにおける親ノードの属性の平均値、最大値、最小値のうちの1つが決定、考慮される。代替的に、現在のノードの属性と、前記第1のセットの親ノードにおける各親ノードの属性との比率が、前記第1の閾値及び/又は前記第2の閾値を決定するために使用される。
【0027】
好ましくは、前記第1の閾値及び/又は前記第2の閾値は、前記ビットストリームに含まれる。
【0028】
好ましくは、前記第1の閾値及び/又は前記第2の閾値は、前記第1の閾値及び/又は前記第2の閾値を使用すべきボクセルベース構造の少なくとも1つのサブ木の頂点におけるビットストリームのみに含まれ、別の第1又は第2の閾値の明示的なシグナルがないサブ木内のすべてのノードに継承される。従って、前記第1の閾値及び前記第2の閾値は、更新された場合、ビットストリームのみに含まれ、更新されない限り、サブ木に対して有効なままである。前記第1の閾値及び/又は前記第2の閾値は、ビットストリームに第1の閾値又は第2の閾値を送信することにより更新された場合、新しいサブ木は更新された閾値で開始される。
【0029】
好ましくは、第1の閾値と第2の閾値は等しい。代替的に、第1の閾値と第2の閾値は異なる。
【0030】
本発明の一態様により、圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法が提供され、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、
前記ビットストリームから前記点群の現在のノードの属性の残差を復号するステップと、
現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、
前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、
前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、
前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
逆RAHTを適用することで前記残差と前記予測変換係数とから前記現在のノードの属性を決定するステップと、を含む。
【0031】
好ましくは、復号方法は、さらに、上述した符号化方法に関する特徴に従って構成される。これらの特徴は、復号方法と自由に組み合わせることができる
【0032】
本発明の一態様により、点群を符号化して圧縮点群データのビットストリームを生成するためのエンコーダが提供され、前記点群のジオメトリは、複数のノードを有する八分木ベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記八分木ベース構造のノードに関連し、前記エンコーダは、
プロセッサと、
前記プロセッサによって実行可能な命令が格納されており、前記命令が実行されると、前記プロセッサに上述の符号化及び復号のため方法を実行させる、メモリ記憶デバイスと、を備える。
【0033】
本発明の一態様により、圧縮点群データのビットストリームを復号して再構成された点群を生成するためのデコーダが提供され、前記点群のジオメトリは、複数のノードを有する八分木ベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有するようにし、各前記サブボリュームは、前記八分木ベース構造のノードに関連し、前記デコーダは、
プロセッサと、
前記プロセッサによって実行可能な命令が格納されており、前記命令が実行されると、前記プロセッサに上述の復号方法を実行させる、メモリ記憶デバイスと、を備える。
【0034】
本発明の一態様により、プロセッサによる実行のための命令を格納する非一時的なコンピュータ可読記憶媒体であって、前記命令がプロセッサによって実行されると、前記プロセッサに上述の符号化及び/又は復号方法を実行させる、非一時的なコンピュータ可読記憶媒体が提供される。
【図面の簡単な説明】
【0035】
ここで例として図面を参照し、図面は本出願の例示的な実施例を示す。
図1】本発明の符号化方法の一実施形態を示す図である。
図2】本発明の復号方法の一実施形態を示す図である。
図3】本発明の符号化ステップの一例を示す図である。
図4】本発明の復号ステップの一例を示す図である。
図5】本発明の予測値を決定するための図である。
図6】本発明の一詳細な実施形態を示す図である。
図7】本発明の一詳細な実施形態を示す図である。
図8】エンコーダデバイスの概略を示す図である。
図9】デコーダデバイスの概略を示す図である。
【発明を実施するための形態】
【0036】
本発明は、点群中の点の属性を符号化及び復号する方法、並びに点群中の点の属性を符号化及び復号するためのエンコーダ及びデコーダについて説明する。
【0037】
本発明は、点群内の点の属性を符号化して圧縮点群データのビットストリームを生成する方法に関し、ただし、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、
現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定するステップと、
現在の親ノードと、現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、現在の親ノードは、現在のノードの親ノードであるステップと、
前記差に従って、第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、第2のセットの親ノードは、現在の親ノードを含むステップと、
第2のセットの親ノードの属性に従って現在のノードの属性の予測値を決定するステップと、
現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
真の変換係数と予測変換係数とから残差を決定するステップと、
残差を符号化し、ビットストリームの点群の属性の符号化データを生成するステップと、を含む。
【0038】
当業者であれば、添付の図面と併せて以下の実施例の説明を検討すると、本発明の他の態様及び特徴を理解することができる。
【0039】
以下の説明では、時として、「ノード」と「サブボリューム」という用語が互換的に使用されることがある。ノードがサブボリュームに関連していることは理解されるべきである。ノードは、木の上の特定の点であり、内部ノード又は葉ノードであってもよい。サブボリュームは、ノードが表現する境界あり物理的空間である。「ボリューム」という用語は、点群を含むために定義された最大の境界あり空間を意味するために使用されてもよい。ボリュームは、点群データを符号化するための相互接続されたノードの木構造を構築するために、サブボリュームに再帰的に分割される。また、「親ノード」という用語は、木の次の上位レベルにあるノードを指す。ノードは木のレベル又は深さDに位置する可能性がある場合、親ノードはレベル/深さD-1に位置するノードである。
【0040】
点群とは、3次元座標系における点の集合である。これらの点は、通常、1つ又は複数の物体の外面を表現することを意図している。各点は、3次元座標系における位置(ポジション)がある。当該位置は、デカルト座標系又は他の任意の座標系における3つの座標(X、Y、Z)で表されてもよい。これらの点には、さらに色などの関連属性があり、場合によっては、R、G、B又はY、Cb、Crのような3成分の値であってもよい。他の関連属性は、所望の点群データの用途に応じて、透明度、反射率、法線ベクトルなどを含み得る。
【0041】
点群は、静的なものであっても、動的なものであってもよい。例えば、物体や地形の詳細なスキャンやマッピングは、静的な点群データであってもよい。マシンビジョン目的の環境のLiDARベースのスキャンは、点群が(少なくとも潜在的に)時間の経過とともに(例えばボリュームの連続したスキャンごとに)変化するため、動的であってもよい。従って、動的な点群は、時間順に並んだ点群のシーケンスである。
【0042】
点群データは、保存(歴史的・文化的な物体のスキャン)、地図作成、マシンビジョン(自動運転・半自動運転車など)、仮想現実システムなど、様々な用途で利用され得る。マシンビジョンなどの用途で使われる動的な点群データは、保存用の静的な点群データとはかなり異なってもよい。例えば、車載ビジョンは、通常、解像度が比較的低く、無色で、高度に動的な点群に係り、前記点群は、高い収集頻度を持つLiDAR(又は類似のもの)センサによって取得される。このような点群の目的は、人間が使用したり見たりするためではなく、決定プロセスにおける機械オブジェクト検出/分類のためである。例えば、一般的なLiDARフレームには数万点が含まれるが、高品質の仮想現実アプリケーションでは数百万点が必要となる。計算速度の向上や新しいアプリケーションの開発に伴い、時間の経過とともに、より高解像度のデータが求められるようになることが予想される。
【0043】
点群データは有用であるが、そのような点群の属性やジオメトリに対して、効率的かつ効率的な圧縮、すなわち符号化及び復号処理がないため、採用や配置に支障をきたす可能性がある。
【0044】
点群データを符号化するための一般的なメカニズムの1つは、木ベース構造を使用することである。木ベース構造では、点群の境界あり三次元ボリュームはサブボリュームに再帰的に分割される。木のノードはサブボリュームに対応する。サブボリュームをさらに分割するか否かの判断は、木の解像度及び/又はサブボリュームに含まれる点の有無に基づいて行ってもよい。葉ノードは、その関連するサブボリュームが点を含むか否かを示す占有フラグを有してもよい。分割フラグは、ノードがサブノードを有するか否か(すなわち、現在のボリュームがさらにサブボリュームに分割されているか否か)を示してもよい。これらのフラグは、場合によってはエントロピー符号化され、場合によっては予測符号化が使用されてもよい。一般的に使用される木構造は八分木(octree)である。この構造では、ボリューム/サブボリュームはすべて立方体であり、サブボリュームは分割ごとに、さらに8つのサブボリューム/サブ立方体が生成される。
【0045】
点群を符号化するためのオクツリーの基本的な作成方法は、以下を含み得る。
座標系の点群を含むバウンディングボリューム(立方体)から開始する。
1.当該バウンディングボリュームを8つのサブボリューム(8つのサブ立方体)に分割する。
2.各サブボリュームに対して、サブボリュームが空の場合は0でマーキングし、サブボリュームが少なくとも1つの点がある場合は1でマーキングする。
3.1でマーキングされたすべてのサブボリュームに対して、最大の分割の深さになるまで、ポイント1を繰り返し、サブボリュームを分割する。
4.最大の深さのすべての葉サブボリューム(サブ立方体)に対して、葉立方体が空でない場合は1でマーキングし、そうでない場合は0でマーキングする。
【0046】
木を所定の順序で(分割して得られた各サブボリュームにおいて、幅優先又は深さ優先で、スキャンパターン/順序に従って)トラバースし、各ノードの占有パターンを表すビットシーケンスを生成してもよい。
【0047】
前述したように、点群内の点は属性を含み得る。これらの属性の符号化は、点群のジオメトリの符号化とは独立している。従って、各占有されたノード、すなわち点群の少なくとも1つの点を含むノードは、点群の属性をさらに指定するために、1つ又は複数の属性に関連する。
【0048】
本発明は、点群中の点の属性を符号化する方法を提供する。前記方法を図1に示す。
【0049】
点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法を提供し、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有するようにし、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、以下のステップを含む。
ステップS01、現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定する。
ステップS02、現在の親ノードと、現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定し、ただし、現在の親ノードは、現在のノードの親ノードである。
ステップS03、前記差に従って、第1のセットの親ノードから第2のセットを選択し、好ましくは、第2のセットの親ノードは、現在の親ノードを含む。
ステップS04、第2のセットの親ノードの属性に従って現在のノードの属性の予測値を決定する。
ステップS05、現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定する。
ステップS06、真の変換係数と予測変換係数とから残差を決定する。
ステップS07、残差を符号化し、ビットストリームの点群の属性の符号化データを生成する。
【0050】
図3には、現在のノードの属性を符号化する方法を示す。図3の例では、八分木構造12のレベルDにおいて、ある数の占有ノード10が描かれている。シェーディングされていない立方体は、占有されていないノードに関連している。ここで、例えば、本ステップでは、現在のノード14の属性をビットストリームに符号化すべきとする。ここで、図3のピクチャa)において、占有ノードが真の属性によって表現されている。ステップS01によれば、ピクチャa)のこれらの真の属性を、領域適応型階層変換(RAHT)により変換することで、真の変換係数が取得される。RAHTは周知技術であり、例えばUS10223810B2を参照し、そのファイルの全体が引用により本文に含まれる。ここで、ピクチャa)において、他の親ノードは、レベルDにおける他の占有ノードを含み得、これらの占有ノードは明瞭のために省略された。
【0051】
さらに、図3のピクチャb)によれば、現在の親ノード18の隣接親ノード16を考慮し、現在の親ノード18は、符号化すべき現在のノード14を含む。従って、図3のピクチャb)において、空でない、すなわち点群の少なくとも1つの点を含む隣接親ノード16のみがシェーディングされる。一般に、現在の親ノード18と面を共有する隣接親ノードは6個、現在の親ノード18とエッジを共有する隣接親ノードは12個である。これらのノードのうちの1つ、これらのノードのうちの2つ以上、又はこれらのノードのすべてが空であってもよいし、点群の点を含むため、空でなくてもよい。ここで、現在の親ノード18及び隣接親ノード16は、木構造における深さD-1に位置する。
【0052】
ステップS02によれば、現在の親ノード18と、隣接する占有親ノードとの属性の差を決定する。ただし、各現在の親ノード及び隣接する占有親ノード16に対して、現在の親ノード18と隣接する占有親ノード16との属性の差を算出するのではない。第1のセットの親ノードは、木構造の深さDにおける現在のノード14と面又はエッジを共有する隣接親ノード16のみを含む。従って、第1のセットの親ノードにおけるすべての親ノードが、点群の点によって占有されている場合、第1のセットの親ノードは現在の親ノード18自身を含む最大7つの親ノードを含み得る。図3の例では、現在のノード14に対して、第1のセットは、3つの隣接親ノード20を含む(ここで、現在の親ノード18の後に、隣接親ノード16は空であると仮定される)。
【0053】
決定された現在の親ノード18と第1のセットの親ノード20との属性の差に従って第2のセットを選択する。さらに、現在の親ノード18も第2のセットに含まれる。図3の例では、第2のセットは、属性の差に従って1~4個のノードを含み得る。
【0054】
ステップS04によれば、第2のセットの親ノードの属性に従って、現在のノード14の属性の予測値が決定される。ここで、図5は、2D(2 Dimension、2次元)において予測値を決定するステップの一実施例を示す。2Dの例では、第2のセットの親ノードは、現在の親ノードを含む4つの親ノードのみを含み得る。図5の例において現在のノード14の属性の予測値を決定するために、現在のノード14の現在の親ノード24を含む、現在のノード14とエッジ又は面を共有するすべての隣接親ノード22が考慮される。第2のセットの親ノード22、24の属性aから、下式に従って、現在のノード14の予測値apredictedに対して重み付け予測を行う。
【数1】
ただし、dは、現在のノード14の中心と、対応する親ノード22、24の中心との距離を表す。上述したように、図5では、第2のセットのすべての親ノードが考慮されている。しかし、考慮された親ノードの数は、より少ない可能性がある。
【0055】
図3に戻って説明する。図3のピクチャc)において、現在のノード14の予測値を示す。ここで、現在の親ノード18における他の占有ノード10に対して上述したステップを繰り返す。従って、図3のピクチャc)に示されるように、現在の親ノード18における深さDの各占有ノード10に対して、予測値が決定される。現在の親ノード18内の各占有ノード10の予測変換係数を得るために、各予測値は、RAHTを適用して変換される。
【0056】
ステップS06によれば、予測変換係数と真の変換係数とに従って、現在のノード14を含む各ノードに対して残差を決定する。ステップS07によれば、残差はエントロピー符号化され、ビットストリームの属性の符号化データが生成される。
【0057】
従って、現在の親ノード18と、現在のノード14と面又はエッジを共有する隣接親ノード20と、の属性の差に従って、互いの偏差が十分小さい隣接親ノード20のみが第2のセットに選択される。従って、各ノードの残差は減少し、ビットストリームへの属性の符号化の効率が向上した。
【0058】
例えば、図3のピクチャb)において、隣接親ノード25が、点群における、現在のノード14の色から逸脱する異なる色を有する領域に属する場合、予測値を決定するステップにはこれらの隣接親ノードが含まれ、それにより符号化すべき残差を増大させ、予測の失敗をもたらす。従って、この例では、第1のセットの親ノードからの隣接親ノード25は、第2のセットに含まれるように選択されず、従って、これらの親ノード25の属性は、上述の重み付け予測において考慮されない。
【0059】
本発明は、点群中の点の属性を復号する方法を提供する。前記方法を図2に示す。
【0060】
圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法が提供し、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、以下のステップを含む。
ステップS10、ビットストリームから点群の現在のノードの属性の残差を復号する。
ステップS11、現在の親ノードと、現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定し、ただし、現在の親ノードは、現在のノードの親ノードである。
ステップS12、前記差に従って、第1のセットの親ノードから第2のセットを選択し、好ましくは、第2のセットの親ノードは、現在の親ノードを含む。
ステップS13、第2のセットの親ノードの属性に従って現在のノードの属性の予測値を決定する。
ステップS14、現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定する
ステップS15、逆RAHTを適用することで残差と予測変換係数とから現在のノードの属性を決定すると、を含む。
【0061】
点群中の現在の点の属性を得るためにビットストリームを復号化する方法のステップは、図4にさらに示されており、図4のピクチャd)に表される残差は、復号化されたビットストリームによって提供される。これらの残差は予測値と結合され、ここで、図4のピクチャb)とc)に描かれている予測は、上述した対応する符号化のステップと同じである。ここで、復号化は根から葉へと行われることに留意すべきである。従って、深さD-1における、現在のノード14と面又はエッジを共有する親ノードの属性は、すでに知られている。
【0062】
RAHTにより変換された予測値と、ビットストリームを復号することにより得られた残差から、逆RAHTにより現在のノード14の属性を得る。
【0063】
図6には、一詳細な実施形態を示す。ここで、現在の親ノードと、第1のセットのノードにおける各親ノードと、の属性の差を決定するステップは、以下のステップを含む。
ステップS21、第1のセットの親ノードにおける各親ノードと、現在の親ノードとの最大の差を決定する。
ステップS22、第1の閾値を提供する。
ステップS23、最大の差が第1の閾値より小さい場合、第1のセットの親ノードにおけるすべての親ノードを選択する。
【0064】
従って、第1のセットの親ノードにおける各親ノードと、現在の親ノードとの最大の差を決定することで、点群における考慮されたボリュームの均質性(homogeneity)が決定される。従って、前記差が第1の閾値より小さい場合、前記属性は、現在のノード14の属性の予測値を予測するためにすべて考慮されるほど均質である。
【0065】
図7には、一詳細な実施形態を示す。ここで、現在の親ノードと、第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、以下のステップを含む。
ステップS31、第1のセットの親ノードにおける各親ノードと、現在の親ノードとの差を決定する。
ステップS32、第2の閾値を提供する。
ステップS33、当該差が第2の閾値より小さい場合、前記第1のセットの親ノードを選択する。
【0066】
特に、点群の考慮されたボリュームにおける属性の均質性、即ち第1のセットの親ノードにおける各親ノードと現在の親ノードとの最大の差が第1の閾値以上である場合、第1のセットの親ノードにおける各親ノードiの属性aと現在の親ノードの属性aPresentParentNodeとの差deltaAttrを決定し、ただし、deltaAttr=a-aPresentParentNodeとなる。ここで、第1のセットの親ノードにおける、deltaAttrが第2の閾値より小さい親ノードを選択する。
【0067】
もちろん、第1のセットの親ノードにおける各親ノードと現在の親ノードとの差を決定し、第1のセットの親ノードにおける親ノードを選択するためにこの差を第2の閾値と比較することは、前述の考慮されたボリュームにおける属性の均質性の決定とは独立して使用してもよい。
【0068】
一実施形態において、第1の閾値は固定値である。従って、前記固定値である第1の閾値はエンコーダとデコーダに知られており、送信されるビットストリームに含まれる必要がない。
【0069】
一実施形態において、第2の閾値は固定値である。従って、前記固定値である第2の閾値はエンコーダとデコーダに知られており、送信されるビットストリームに含まれる必要がない。
【0070】
一実施形態では、第1の閾値は、エンコーダからデコーダに転送されるビットストリームに含まれる。
【0071】
一実施形態では、第2の閾値は、エンコーダからデコーダに転送されるビットストリームに含まれる。
【0072】
一実施形態では、第1の閾値は、完全な点群内の属性の分布に基づいて決定される。従って、属性の不均質な分布に対して、それに応じて第1の閾値を適合させることができる。ここで、決定された、ビットストリームに符号化される第1の閾値は、各点群について1回のみ送信されればよく、例えば、決定された第1の閾値をメタデータに符号化する。
【0073】
一実施形態では、第2の閾値は、完全な点群内の属性の分布に基づいて決定される。従って、属性の不均質な分布に対して、それに応じて第2の閾値を適合させることができる。ここで、決定された、ビットストリームに符号化される第2の閾値は、各点群について1回のみ送信されればよく、例えば、決定された第2の閾値をメタデータに符号化する。
【0074】
一実施形態では、第1の閾値は、第1のセットの親ノードに基づいて決定される。従って、第1の閾値を、第1のセットの親ノードにおける親ノード間の属性の分布に基づいて個別に適合させることができる。この場合、十分な結果を提供するために、各ノードの予測するステップのための個別の閾値を個別に提供し、及び相応的に適合させることができる。あるいは、第1の閾値は、現在の親ノードの属性に対する第1のセット内の属性の平均値に基づいて決定されてもよい。あるいは、第1の閾値は、現在の親ノードの属性に対する第1のセット内の属性の最小値又は最大値に基づいて決定されてもよい。ここで、第1の閾値は、エンコーダからデコーダに送信されるビットストリームに含まれる必要がある。
【0075】
一実施形態では、第2の閾値は、第1のセットの親ノードに基づいて決定される。従って、第2の閾値を、第1のセットの親ノードにおける親ノード間の属性の分布に基づいて個別に適合させることができる。この場合、十分な結果を提供するために、各ノードの予測するステップのための個別の閾値を個別に提供し、及び相応的に適合させることができる。あるいは、第2の閾値は、現在の親ノードの属性に対する第1のセット内の属性の平均値に基づいて決定されてもよい。あるいは、第2の閾値は、現在の親ノードの属性に対する第1のセット内の属性の最小値又は最大値に基づいて決定されてもよい。ここで、第2の閾値は、エンコーダからデコーダに送信されるビットストリームに含まれる必要がある。
【0076】
一実施形態では、第1の閾値及び/又は第2の閾値は、第1のセットの親ノードに基づいて決定され、第1の閾値又は第2の閾値の異なる値が第1のセットの親ノードのサブ木に割り当てられるまで、すべてのサブノードによって継承される。従って、各現在のノードに対して、個別の第1の閾値及び/又は個別の第2の閾値が決定され、それによって現在のノードの周囲の属性の特定の変化に適合させてもよい。ここで、第1の閾値及び/又は第2の閾値は、エンコーダからデコーダに転送されるビットストリームに含まれてもよく、それによって、それらが関連するか継承される(かつそれによりビットストリームに含まれていない)サブ木の頂点でこのようなサブ木の頂点にないノードを復号する。
【0077】
一実施形態では、第2の閾値は、第1の閾値のパーセンテージである。従って、第1の閾値が増加した場合、それに応じて第1の閾値のパーセンテージである第2の閾値も増加する。ここで、パーセンテージは固定であっても、完全な点群内の属性の分布に基づいて決定されても、又は第1のセットの親ノード内の属性の分布に基づいて決定されてもよい。ここで、第1の閾値とパーセンテージは、ビットストリームに含まれる。第1の閾値又はパーセンテージは固定である場合、この情報を送信する必要がないため、残りの情報のみを含めばよい。
【0078】
一実施形態では、第1の閾値と第2の閾値は等しくなるように設定される。別の実施形態では、第1の閾値と第2の閾値は異なる。
【0079】
一実施形態では、第1の閾値は、現在のノードの属性と第1のセットの親ノードにおける親ノードの属性との比率に基づいて決定される。ここで、当該比率は、第1のセットの親ノードにおける属性の平均値、最大値、又は最小値に基づいて決定されてもよい。あるいは、現在の親ノードの属性と、第1のセットの親ノードにおける対応する親ノードの属性と、の比率とされる第1の閾値は、第1のセットの親ノードにおける各親ノードについて個別に決定されてもよい。
【0080】
一実施形態では、第2の閾値は、現在のノードの属性と第1のセットの親ノードにおける親ノードの属性との比率に基づいて決定される。ここで、当該比率は、第1のセットの親ノードにおける属性の平均値、最大値、又は最小値に基づいて決定されてもよい。あるいは、現在の親ノードの属性と、第1のセットの親ノードにおける対応する親ノードの属性と、の比率とされる第2の閾値は、第1のセットの親ノードにおける各親ノードについて個別に決定されてもよい。
【0081】
異なる実施形態は自由に組み合わせることができる。特に、第1の閾値と第2の閾値の異なる定義は、上記の実施形態から自由に選択し、特定の適用のニーズに合わせて調整してもよい。
【0082】
従って、本発明により、属性の分布/偏差は、符号化すべき現在のノードの予測値を予測する際に考慮される。そのため、すべての可能な情報が考慮されるわけではない。その代わり、符号化すべき現在のノードの属性に十分に類似し、予測値を決定するための情報のみが考慮される。その結果、予測誤差が減少し、点群内の属性の分布の不均質性が十分に考慮され、しかも予測誤差の増加につながらない。結果として、予測誤差が減少するため、残差も減少し、これらの残差を点群のビットストリームに符号化する効率が向上した。
【0083】
従って、点群の属性を符号化するための従来の符号化方法と比較して、少なくとも1%の大幅なデータ削減を実現することができる。
【0084】
C1試験条件での結果
【表1】
【0085】
C2試験条件での結果
【表2】
【0086】
上表に示すシミュレーションは、最新のTMC13v10プラットフォームで実行され、すべてのシーケンスにおいて、2つの閾値、即ち第1閾値と第2閾値の両方が固定値である。
【0087】
次に、エンコーダ1100の例示的な実施形態の簡略化されたブロック図を示す図8を参照する。エンコーダ1100は、プロセッサ1102と、メモリ記憶デバイス1104とを含む。メモリ記憶装置1104は命令を含むコンピュータプログラム又はアプリケーションを記憶することができ、当該命令が実行されると、プロセッサ1102に本明細書に記載されるような操作を実行させる。例えば、命令は、本明細書に記載された方法に従って符号化されたビットストリームを符号化し、出力するために用いられてもよい。命令は、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブなどの非一時的なコンピュータ可読媒体に格納されてもよいことが理解されるべきである。命令が実行されると、プロセッサ1102は、上述のプロセスを実施するための専用のプロセッサとして動作するように、命令で指定された動作及び機能を実施する。このようなプロセッサは、いくつかの例では、「プロセッサ電気回路(processor circuit)」又は「プロセッサ回路(processor circuitry)」と呼ばれてもよい。
【0088】
次に、デコーダ1200の例示的な実施形態の簡略化されたブロック図を示す図9を参照する。エンコーダ1200は、プロセッサ1202と、メモリ記憶デバイス1204とを含む。メモリ記憶装置1204は命令を含むコンピュータプログラム又はアプリケーションを記憶することができ、当該命令が実行されると、プロセッサ1202に本明細書に記載されるような操作を実行させる。命令は、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブなどの非一時的なコンピュータ可読媒体に格納されてもよいことが理解されるべきである。命令が実行されると、プロセッサ1202は、上述のプロセスと方法を実施するための専用のプロセッサとして動作するように、命令で指定された動作及び機能を実施する。このようなプロセッサは、いくつかの例では、「プロセッサ電気回路(processor circuit)」又は「プロセッサ回路(processor circuitry)」と呼ばれてもよい。
【0089】
本発明によるデコーダ及び/又はエンコーダは、限定されないが、サーバ、適切にプログラムされた汎用コンピュータ、マシンビジョンシステム、及びモバイルデバイスを含む、複数のコンピューティングデバイスにおいて実現されてもよいことが理解されるべきである。デコーダ又はエンコーダは、本明細書に記載された機能を実行するために1つ又は複数のプロセッサを設置するための命令を含むソフトウェアによって実現されてもよい。ソフトウェア命令は、CD、RAM、ROM、フラッシュメモリなどを含む、任意の適切な非一時的コンピュータ可読メモリに格納されてもよい。
【0090】
本明細書に記載されたデコーダ及び/又はエンコーダ、及び記載された、エンコーダ又はデコーダを設置するための方法/プロセスを実現するためのモジュール、ルーチン、プロセス、スレッド、又は他のソフトウェアコンポーネントは、標準的なコンピュータプログラミング技術及び言語を使って実現されてもよいことが理解されるべきである。本発明は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミングの規約、データ構造、他のこのような実現の詳細に限定されない。当業者は、記載されたプロセスが、揮発性又は不揮発性メモリに格納されたコンピュータ実行可能コードの一部、特定用途向け集積チップ(ASIC)の一部などとして実現されてもよいことを認識するはずである。
【0091】
本発明は、本発明に従った符号化プロセスの適用により生成されたデータを符号化するコンピュータ可読信号も提供する。
【0092】
説明された実施形態の特定の調整及び変更が可能である。従って、上述した実施形態は、例示的なものであり、制限的なものではないと考えられる。特に、実施形態は、互いに自由に組み合わせることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2022-12-20
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0037
【補正方法】変更
【補正の内容】
【0037】
本発明は、点群内の点の属性を符号化して圧縮点群データのビットストリームを生成する方法に関し、ただし、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、
現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定するステップと、
現在の親ノードと、現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、現在の親ノードは、現在のノードの親ノードであるステップと、
前記差に従って、第1のセットの親ノードから第2のセットを選択するステップであって、好ましくは、第2のセットの親ノードは、現在の親ノードを含むステップと、
第2のセットの親ノードの属性に従って現在のノードの属性の予測値を決定するステップと、
現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
真の変換係数と予測変換係数とから残差を決定するステップと、
残差を符号化し、ビットストリームの点群の属性の符号化データを生成するステップと、を含む。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0049
【補正方法】変更
【補正の内容】
【0049】
点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法を提供し、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有するようにし、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、以下のステップを含む。
ステップS01、現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定する。
ステップS02、現在の親ノードと、現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定し、ただし、現在の親ノードは、現在のノードの親ノードである。
ステップS03、前記差に従って、第1のセットの親ノードから第2のセットを選択し、好ましくは、第2のセットの親ノードは、現在の親ノードを含む。
ステップS04、第2のセットの親ノードの属性に従って現在のノードの属性の予測値を決定する。
ステップS05、現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定する。
ステップS06、真の変換係数と予測変換係数とから残差を決定する。
ステップS07、残差を符号化し、ビットストリームの点群の属性の符号化データを生成する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0060
【補正方法】変更
【補正の内容】
【0060】
圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法が提供し、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、前記方法は、以下のステップを含む。
ステップS10、ビットストリームから点群の現在のノードの属性の残差を復号する。
ステップS11、現在の親ノードと、現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定し、ただし、現在の親ノードは、現在のノードの親ノードである。
ステップS12、前記差に従って、第1のセットの親ノードから第2のセットを選択し、好ましくは、第2のセットの親ノードは、現在の親ノードを含む。
ステップS13、第2のセットの親ノードの属性に従って現在のノードの属性の予測値を決定する。
ステップS14、現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定する
ステップS15、逆RAHTを適用することで残差と予測変換係数とから現在のノードの属性を決定すると、を含む。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0063
【補正方法】変更
【補正の内容】
【0063】
図6には、一詳細な実施形態を示す。ここで、現在の親ノードと、第1のセットのノードにおける各親ノードと、の属性の差を決定するステップは、以下のステップを含む。
ステップS21、第1のセットの親ノードにおける各親ノードと、現在の親ノードとの最大の差を決定する。
ステップS22、第1の閾値を提供する。
ステップS23、最大の差が第1の閾値より小さい場合、第1のセットの親ノードにおけるすべての親ノードを選択する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0065
【補正方法】変更
【補正の内容】
【0065】
図7には、一詳細な実施形態を示す。ここで、現在の親ノードと、第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、以下のステップを含む。
ステップS31、第1のセットの親ノードにおける各親ノードと、現在の親ノードとの差を決定する。
ステップS32、第2の閾値を提供する。
ステップS33、当該差が第2の閾値より小さい場合、前記第1のセットの親ノードを選択する。
【手続補正6】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法であって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
現在のノードの属性に領域適応階層変換RAHTを適用することで真の変換係数を決定するステップと、
現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、
前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、
前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、
前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
前記真の変換係数と前記予測変換係数とから残差を決定するステップと、
前記残差を符号化し、前記ビットストリームに対して前記点群の属性の符号化データを生成するステップと、を含む
ことを特徴とする点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するための方法。
【請求項2】
圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法であって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
前記ビットストリームから前記点群の現在のノードの属性の残差を復号するステップと、
現在の親ノードと、前記現在のノードと面又はエッジを共有する第1のセットのノードにおける各親ノードと、の属性の差を決定するステップであって、前記現在の親ノードは、前記現在のノードの親ノードであるステップと、
前記差に従って、前記第1のセットの親ノードから第2のセットを選択するステップであって前記第2のセットの親ノードは、前記現在の親ノードを含むステップと、
前記第2のセットの親ノードの属性に従って前記現在のノードの属性の予測値を決定するステップと、
前記現在のノードの属性の予測値に対してRAHTを適用することで予測変換係数を決定するステップと、
逆RAHTを適用することで前記残差と前記予測変換係数とから前記現在のノードの属性を決定するステップと、を含む
ことを特徴とする圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するための方法。
【請求項3】
前記現在の親ノードと、前記第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、
前記第1のセットの親ノードにおける各親ノードと、前記現在の親ノードとの属性の最大の差を決定するステップと、
第1の閾値を提供するステップと、
前記最大の差が前記第1の閾値より小さい場合、前記第1のセットの親ノードにおけるすべての親ノードを選択するステップと、を含む
ことを特徴とする請求項1又は請求項2に記載の方法。
【請求項4】
前記現在の親ノードと、前記第1のセットのノードにおける各親ノードとの属性の差を決定するステップは、
前記第1のセットの親ノードにおける各親ノードと、前記現在の親ノードとの属性の差を決定するステップと、
第2の閾値を提供するステップと、
当該差が前記第2の閾値より小さい場合、前記第1のセットにおける親ノードを選択するステップと、を含む
ことを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記第1の閾値及び/又は前記第2の閾値は固定値である
ことを特徴とする請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記第1の閾値及び/又は前記第2の閾値は、完全な点群内の属性の分布に基づいて決定される
ことを特徴とする請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記第1の閾値及び/又は前記第2の閾値は、前記第1のセットの親ノードに基づいて決定される
ことを特徴とする請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記第2の閾値は、前記第1の閾値のパーセンテージである
ことを特徴とする請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記第1の閾値と前記第2の閾値が等しいか、又は異なる
ことを特徴とする請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記第1の閾値及び/又は前記第2の閾値は、前記現在のノードの属性と前記第1のセットの親ノードにおける親ノードの属性との比率に基づいて決定される
ことを特徴とする請求項1~9のいずれか1項に記載の方法。
【請求項11】
前記第1の閾値及び/又は前記第2の閾値は、前記ビットストリームに含まれる
ことを特徴とする請求項1~9のいずれか1項に記載の方法。
【請求項12】
前記第1の閾値及び/又は前記第2の閾値は、前記第1の閾値及び/又は前記第2の閾値を使用すべき少なくとも1つのサブ木の頂点におけるビットストリームのみに含まれ、別の第1又は第2の閾値の明示的なシグナルがない、サブ木内のすべてのノードに継承される
ことを特徴とする請求項11に記載の方法。
【請求項13】
点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するためのエンコーダであって、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有し、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
プロセッサと、
前記プロセッサによって実行可能な命令が格納されており、前記命令が実行されると、前記プロセッサに請求項1及び請求項1に従属する請求項3~11のいずれか1項に記載の方法を実行させる、メモリ記憶デバイスと、を備える
ことを特徴とする点群内の点の属性を符号化して圧縮点群データのビットストリームを生成するためのエンコーダ。
【請求項14】
圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するためのデコーダであって、ただし、前記点群のジオメトリは、複数のノードを有するボクセルベース構造によって表現され、前記点群を含むボリューム空間を複数のサブボリュームに再帰的に分割することによって前記複数のノードが親子関係を有するようにし、各前記サブボリュームは、前記ボクセルベース構造のノードに関連し、
プロセッサと、
前記プロセッサによって実行可能な命令が格納されており、前記命令が実行されると、前記プロセッサに請求項2~11のいずれか1項に記載の方法を実行させる、メモリ記憶デバイスと、を備える
ことを特徴とする圧縮点群データのビットストリームを復号して再構成された点群内の点の属性を生成するためのデコーダ。
【請求項15】
プロセッサによる実行のための命令を格納する非一時的なコンピュータ可読記憶媒体であって、前記命令がプロセッサによって実行されると、前記プロセッサに請求項1~11のいずれか1項に記載の方法を実行させる
ことを特徴とする非一時的なコンピュータ可読記憶媒体。
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正の内容】
図1
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正の内容】
図2
【国際調査報告】