本願の実施例の特徴と技術的内容をより詳しく理解するために、以下、図面を参照しながら、本願の実施例の実現を詳しく説明する。添付される図面は、参照と説明のためのものだけであり、本願の実施例を限定するものではない。
オーディオビデオ符号化基準(Audio Video coding Standard:AVS)の点群探索モデル(Point cloud exploration model:PCEM)のエンコーダフレームワークにおいて、入力された点群を幾何学的情報と各点に対応する属性情報に分けてもよく、ここで、点群の幾何学的情報と各点に対応する属性情報は、別々に符号化される。
図1は、PCEMの符号化のフローチャートである。図1に示すように、幾何学的符号化プロセスにおいて、幾何学的情報に対して座標変換を行い、点群の全てを1つのbounding box(バウンディングボックス)に含ませ、続いて、量子化を行う。この量子化は、主にスケーリングの役割を果たす。量子化において、小数を切り捨てるため、一部の点群の幾何学的情報が同じである。従って、さらにパラメータに基づいて、重複点を除去するかどうかを決定する。量子化及び重複点の除去というプロセスは、ボクセル化とも呼ばれる。続いて、bounding boxに対して、八分木分割を行う。八分木分割階層の深さによって、幾何学的情報の符号化は、八分木に基づくフレームワークとtrisoupに基づくフレームワークという2つのフレームワークに分けられてもよい。
幾何学的符号化を完了した後、属性の符号化を指導するために幾何学的情報に対して再構築を行う。現在では、属性の符号化は、主に、色情報に対して行われる。色情報(即ち、属性情報)をRGB(Red-Green-Blue:赤緑赤)色空間からYUV(Luminance-Chrominance:輝度彩度)色空間に変換する。続いて、再構築された幾何学的情報を利用して、点群に対して再着色を行い、符号化されていない属性情報と再構築された幾何学的情報を対応させる。
続いて、属性予測を行う。まず、モートンコードに基づいて、点群に対して再ソートをかけ、点群属性予測に用いられる点群順序を生成し、続いて、差分方法を用いて、属性情報の予測を行い、属性予測残差を得、それによって、属性予測残差に対して引き続き量子化と符号化を行い、エントロピー符号化エンジンに入力し、コードストリームを得る。
図2は、PCEMの復号のフローチャートである。図2に示すように、取得されたバイナリコードストリームに対して、まず、バイナリコードストリームにおける幾何学的ビットストリームと属性ビットストリームに対してそれぞれ独立した復号を行う。幾何学的ビットストリームを復号する時、エントロピー復号-八分木再構築-逆座標量子化-逆座標平行移動によって、点群の幾何学的情報を得て、属性ビットストリームを復号する時、エントロピー復号-逆量子化-属性再構築-逆空間変換によって、点群の属性情報を得て、幾何学的情報と属性情報に基づいて、符号化対象点群データの三次元画像モデルを還元する。
理解できるように、点群の属性情報に対して符号化を行う時、点の座標情報を利用して、点群における各点に対応するモートンコードを得て、続いて、モートンコードに基づいて、後退差分法によって、属性情報に対して予測を行うことができる。その符号化順序が空間的z順序に従うため、モートンコードは、z-order codeとも呼ばれる。具体的なモートンコードの計算方法は、以下のとおりである。各成分がdビットのバイナリ数値で表される三次元座標は、その3つの座標成分は、
で表される。
ここで、xl,yl,zl∈{0,1}は、それぞれ、x,y,zの最上位(l=1)~最下位(l=d)に対応するバイナリ数値である。モートンコードMは、x,y,zに対して、最上位から最下位まで、xl,yl,zlを交差配列したものであり、Mの計算式は、以下のとおりである。
ここで、ml'∈{0,1}は、それぞれ、Mの最上位(l'=1)から最下位(l'=3d)までの値である。点群における各点のモートンコードMを得た後、点群における点を、モートンコードの小さい順に従って並べ、配列wを得、各点の重み値wを1とする。コンピュータ言語で表され、z|(y<<1)|(x<<2)の組み合わせと類似する。
図3を参照しながら説明すると、上下位配列順序がz、y、x(x|(y<<1)|(z<<2))であることを例として説明する。
図3は、8×8の画像の各画素の空間的符号を示す。図3に示すように、000000から111111まで、一次元バイナリ数値を用いて、x,yが0-7である位置座標を符号化する。バイナリ座標値を交差し、バイナリz値図を得る。数値方向に沿ってz型を接続し、再帰したz形曲線を生成する。図面における各位置に、接続順序に従ってz値が配置される。実際に、上記図は、z方向に従って繰り返して生じたものであり、00-11(図全体に1つのzがある)で、0000-1111(この前のzの各点に1つのzを配置する)で、000000-111111(この前のzの各点に1つのzを配置する)で、毎回、2桁増加し、再帰的に上昇する。
図4は、4×4の画像の各画素の空間的符号を示す。図4に示すように、二次元座標のモートンコードに対して、座標x、yをまず二値化し、更に、x、yの最上位ビットから下位ビットへの順で各桁における値を交差して配列する。最後に、モートンコードの値を小さい順に従って接続すると、Z字状の接続順序を得る。4つごとの点を小さいブロックと見なしてもよい。最後の2桁が異なるが、上位の4桁がいずれも同じである。このように、上位の4桁が同じであるモートンコードによって、親ブロックを決定することができる。この場合、これら4つの点のモートンコードを右へ2桁シフトすると、これらの親ブロックのモートンコードを得ることができる。このように、4つごとの同じ階層のブロックが絶え間なく結合し、即ち、モートンコード値が右へ2桁シフトすると、これらの親ブロックを得ることができる。同様に、三次元座標では、8つごとの小さいブロックが結合し、即ち、モートンコード値が右へ3桁シフトすると、これらの親ブロックを得ることができる。
現在では、後退差分法に基づいて、属性情報を予測するプロセスにおいて、モートンコードの隣接する点を利用して現在点を予測することができる。具体的なプロセスは、以下のとおりである。
Step1において、モートンで再ソートされた点群をトラバースする。1番目の点について、予測のための基準点がなく、その予測値は、0である。現在点の属性値をA0とすれば、予測残差は、R0=A0である。
Step2において、残りの点について、いずれも、モートン順序における現在点の1つ前の点を基準点とし、基準点の属性再構築値A’(i-1)を予測値とし、現在点の属性値をAiとすれば、予測残差は、Ri=Ai-A’(i-1)である。
Step3において、Step2を繰り返し、点群全体のトラバースを完了するまで継続する。
続いて、属性予測残差に対して量子化と符号化を継続し、エントロピー符号化エンジンに入力し、コードストリームを得ることができる。
しかしながら、モートンコードに周期的なジャンプポイントが存在し、即ち、モートンコードの隣接する2つの点に対応する空間的位置は、必ずしも隣接するものと限らない。従って、モートンコードの隣接する点をのみ利用して、現在点に対して予測を行うと、空間的には不正確であり、即ち、PCEMにおいて、1つ前のモートンコードのみに基づいて、現在点に対して属性情報の予測を行い、この場合、誤差が存在し、予測の正確性に影響を与える。
上記欠陥を克服するために、本願は、予測対象点の現在モートンコードを利用して、予測対象点との相関性がより高い真の隣接点を見つけ出し、該隣接点の属性再構築値を用いて、予測対象点の属性情報に対して予測を行うことによって、エンコーダ性能を向上させることを提案した。つまり、本願において、エンコーダとデコーダは、予測対象点に対して属性情報の予測を行う時、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して、予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができる。点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
本願による属性情報の予測方法は、PCEM点群エンコーダデコーダフレームワークにおける属性予測プロセスと属性再構築プロセスに影響を及ぼすことができる。例示的に、図5は、予測方法の応用の概略図のその一である。図5に示すように、本願の属性予測方法は、PCEM点群エンコーダフレームワークにおける属性予測に適用することができる。図6は、予測方法の応用の概略図のその二である。図6に示すように、本願の属性予測方法は、PCEM点群デコーダフレームワークにおける属性再構築に適用することができる。更に、該属性情報の予測方法は、符号化側と復号側に同時に作用を果たし、該属性情報の予測方法のフロー、フレームワーク及びアルゴリズムは、符号化側と復号側において全く同じである。
以下、本願の実施例における図面を参照しながら、本願の実施例における技術的解決手段を明瞭かつ完全に説明する。
本願の一実施例は、属性情報の予測方法を提供し、該方法は、エンコーダに適用される。図7は、属性情報の予測方法のフローチャートのその一である。図7に示すように、エンコーダによって予測対象点の属性情報を予測する方法は、以下のステップを含んでもよい。
ステップ101において、符号化対象点群における予測対象点の現在モートンコードを決定する。
本願の実施例において、エンコーダは、まず、符号化対象点群における予測対象点の現在モートンコードを決定することができる。
説明すべきこととして、本願の実施例において、符号化対象点群に対して符号化処理を行う時、符号化対象点群の幾何学的情報と符号化対象点に対応する属性情報は、別々に符号化される。ここで、幾何学的情報の符号化を完了した後、幾何学的情報に対して再構築を行い、属性情報の符号化は、再構築された幾何学的情報に依存する。
具体的には、属性情報の符号化は、主に、色情報に対する符号化である。まず、色情報をRGB色空間からYUV色空間に変換する。続いて、再構築された幾何学的情報を利用して、点群に対して再着色を行い、符号化されていない属性情報と再構築された幾何学的情報を対応させる。続いて、属性情報の予測を行う。まず、モートンコードに基づいて、符号化対象点群に対して再ソートをかけ、符号化対象点群の属性情報を予測するための点群順序を生成する。
更に、本願の実施例において、符号化対象点群の幾何学的情報に対して符号化を行った後、エンコーダは、符号化対象点群における各点の集合情報を利用して、各点のモートンコードを決定することができる。各点のモートンコードを得た後、エンコーダは、符号化対象点群における全ての点に対して、小さい順に従って、全ての点の全てのモートンコードをソートし、符号化対象点群に対応する点群シーケンス集合を生成することができる。ここで、点群シーケンス集合に符号化対象点群における全ての点の全てのモートンコードが記憶されている。
説明すべきこととして、本願の実施例において、エンコーダは、符号化対象点群の属性情報に対して符号化を行う時、モートンコードの小さい順に従って、符号化対象点群の全ての点に対して、属性情報の予測を順に行うことができる。
理解できるように、本願の実施例において、予測対象点は、符号化対象点群におけるいずれか1つの点であってもよく、現在モートンコードは、予測対象点のモートンコードである。予測対象点に対して属性情報の予測を行う時、現在モートンコードよりも小さい他のモートンコードに対応する他の点の属性情報の予測が既に完了しており、対応する属性再構築情報を生成する。
更に、本願の実施例において、エンコーダは、予測対象点に対して属性情報の予測を行う時、まず、予測対象点のモートンコードを決定し、現在モートンコードを得る必要がある。
ステップ102において、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものである。
本願の実施例において、エンコーダは、予測対象点の現在モートンコードを決定した後、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定することができる。ここで、目標モートンコードは、予測対象点の周囲の隣接位置に対応するモートンコードを表すことができる。
説明すべきこととして、本願の実施例において、所定の隣接情報テーブルは、予測対象点の周囲の隣接位置と所定基準点との座標差を表すことができる。ここで、予測対象点の隣接位置は、予測対象点と共面であり且つ隣接する共面隣接点を含んでもよく、更に、予測対象点と共線であり且つ隣接する共線隣接点を含んでもよい。
理解できるように、本願の実施例において、予測対象点に対して属性情報の予測を行う時、予測対象点を符号化対象点群の空間的中心とすれば、所定基準点は、予測対象点を中心とした空間の座標原点としてもよい。具体的に、同一の所定基準点に基づいて、所定基準点と予測対象点との距離と、所定基準点と予測対象点の隣接位置との距離に対して、差の演算を行うことで、隣接位置と予測対象点との座標差を得ることができる。ここで、所定基準点は、符号化対象点群におけるモートンコードが最も小さい点であってもよい。
図8は、隣接位置の概略図である。図8に示すように、所定基準点は、Oであり、予測対象点は、Aであり、Aと共面であり且つ隣接するB、C及びDは、共面隣接点であり、Aと共線であり且つ隣接するE、F及びGは、共線隣接点である。
理解できるように、本願の実施例において、エンコーダは、八分木分割を行うため、予測対象点に対して、単位距離に従って、その周囲に26個の隣接位置が存在する。しかしながら、エンコーダが符号化対象点群の属性情報に対して符号化を行う時、モートンコードの小さい順に従って属性情報の予測を順に行うため、エンコーダは、モートンコードが現在モートンコードよりも小さい点をのみ考慮すればよい。例示的に、上記図8におけるB、C、D、E、F及びGをのみ考慮すればよい。
更に、本願の実施例において、エンコーダは、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する前に、まず、予測対象点に対応する所定の隣接情報テーブルを構築する必要がある。つまり、所定の隣接情報テーブルは、予測対象点に基づいて構築されたものである。
説明すべきこととして、本願の実施例において、エンコーダは、予測対象点に対応する所定の隣接情報テーブルを構築する時、予測対象点の現在モートンコード(cur_pos)に対して操作を行ってもよい。具体的には、エンコーダは、所定基準点のモートンコード(base_pos)に位置決めし、続いて、所定基準点のモートンコードに基づいて、所定基準点と予測対象点の隣接位置との座標差値を計算し、次に、引き続きこれらの座標差値に対してモートン符号化を行うことによって、予測対象点に対応する所定の隣接情報テーブルを構築することができる。
つまり、本願の実施例において、予測対象点の隣接位置は、予測対象点と共面であり且つ隣接する共面隣接点と、予測対象点と共線であり且つ隣接する共線隣接点とを含んでもよく、そのため、エンコーダは、予測対象点に対応する所定の隣接情報テーブルを構築する時、所定基準点と共面隣接点との第1座標差、所定基準点と共線隣接点との第2座標差をそれぞれ計算し、続いて、第1座標差に対してモートン符号化を行い、共面隣接点に対応する共面モートンコードを得ると同時に、第2座標差に対してモートン符号化を行い、共線隣接点に対応する共線モートンコードを得ることができ、最後に、エンコーダは、共面モートンコードと共線モートンコードに基づいて、予測対象点に対応する所定の隣接情報テーブルを構築することができる。
更に、本願の実施例において、エンコーダは、符号化対象点群における予測対象点の現在モートンコードを決定した後、現在モートンコードに対応する所定の隣接情報テーブルに基づいて、予測対象点に対応する目標モートンコードを決定することができ、ここで、目標モートンコードは、予測対象点の周囲の隣接位置に対応するモートンコードを表すことができる。
具体的には、本願の実施例において、エンコーダは、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する時、所定の隣接情報テーブルに、所定基準点と隣接位置との座標差値に対してモートン符号化を行った後のモートンコードが記憶されているため、エンコーダは、所定の隣接情報テーブルから、隣接位置に対応する座標差値のモートンコードを抽出し、更に、該座標差値のモートンコードを利用して、目標モートンコードを決定することができる。
理解できるように、本願の実施例において、所定の隣接情報テーブルに、予測対象点に対応する共面モートンコードと共線モートンコードが記憶されているため、エンコーダは、目標モートンコードの決定を行う時、所定の隣接情報テーブルから、共面モートンコード及び/又は共線モートンコードを抽出し、続いて、現在モートンコードと共面モートンコード及び/又は共線モートンコードに対して加算を行うことによって、目標モートンコードを得ることができる。
説明すべきこととして、本願の実施例において、予測対象点の隣接位置が共面隣接点を含むだけでなく、共線隣接点も含むため、エンコーダは、目標モートンコードの決定を行う時、まず、隣接タイプの決定を行ってもよい。ここで、隣接タイプは、共面隣接と共線隣接を含んでもよい。続いて、決定された隣接タイプに基づいて、更に、所定の隣接情報テーブルから、共面モートンコード又は共線モートンコードを抽出し、共面モートンコード又は共線モートンコードに基づいて、目標モートンコードを決定してもよい。
説明すべきこととして、本願の実施例において、目標モートンコードが、予測対象点の周囲の隣接位置に対応するモートンコードを表すことができるため、エンコーダは、目標モートンコードを利用して、予測対象点の周囲の隣接点に対して検索と決定を行うことができる。
ステップ103において、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断する。
本願の実施例において、エンコーダは、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定した後、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断することができる。つまり、エンコーダは、予測対象点の周囲の隣接位置に対応するモートンコードを利用して、更に、符号化対象点群に予測対象点に隣接する点が存在するかどうかを判定することができる。
説明すべきこととして、本願の実施例において、エンコーダは、目標モートンコードを決定した後、直接的に目標モートンコードに基づいて予測対象点の隣接点を決定することができない。その理由は、点群が空間において均一に分布するものではなく、予測対象点の隣接位置に必ずしも本当に隣接点が存在するとは限らないためである。つまり、符号化対象点群において、予測対象点の隣接位置に従って決定された目標モートンコードに対応する点が必ずしも本当に存在するとは限らない。従って、エンコーダは、目標モートンコードを決定した後、更に、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断する必要がある。
理解できるように、本願の実施例において、エンコーダは、各点のモートンコードを得た後、小さい順に従って、全ての点の全てのモートンコードに対してソートをかけ、符号化対象点群に対応する点群シーケンス集合を生成するため、エンコーダは、目標モートンコードを決定した後、符号化対象点群に対応する点群シーケンス集合を利用して、目標モートンコードを基づいて、予測対象点の隣接点が存在するかどうかを更に判断することができる。
更に、本願の実施例において、エンコーダは、点群シーケンス集合と目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断する時、まず、符号化対象点群の点群シーケンス集合を取得し、続いて、目標モートンコードを利用して、点群シーケンス集合において検索処理を行い、検索結果を得ることができる。検索結果として、点群シーケンス集合に目標モートンコードが存在すれば、エンコーダは、符号化対象点群に予測対象点に対応する隣接点が存在すると判定することができる。つまり、本願において、エンコーダは、目標モートンコードを決定した後、点群シーケンス集合において、目標モートンコードが存在するかどうかを検索し、存在すれば、空間において予測対象点の隣接点が存在すると見なす。これに対応して、存在しなければ、空間において予測対象点の隣接点が存在しないと見なす。
説明すべきこととして、本願の実施例において、エンコーダは、目標モートンコードに基づいて、点群シーケンス集合において、検索処理を行う時、目標モートンコードに基づいて、点群シーケンス集合における各モートンコードをトラバースして検索し、検索結果を得ても良く、目標モートンコードに基づいて、所定の検索アルゴリズムに従って、点群シーケンス集合の検索処理を行い、検索結果を得ても良い。
つまり、本願の実施例において、エンコーダは、目標モートンコードに基づいて、点群シーケンス集合において、検索処理を行う時、点群シーケンス集合に対するトラバース方法を用いてもよく、点群シーケンス集合に対する他の迅速な検索アルゴリズムを用いてもよい。
ステップ104において、符号化対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。
本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在すれば、エンコーダは、直接的に予測対象点の隣接点の属性再構築情報に基づいて、予測対象点の属性情報に対して予測を行い、属性予測値を得ることができる。
説明すべきこととして、本願の実施例において、予測対象点の隣接点が存在すれば、エンコーダは、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する時、まず、隣接点の属性再構築値を取得し、続いて、属性再構築値の平均値を計算し、属性再構築値に対応する平均値を得ることによって、該平均値を属性予測値として決定することができる。
理解できるように、本願の実施例において、予測対象点の隣接点は、予測対象点と共面であり且つ隣接する共面隣接点であってもよく、更に、予測対象点と共線であり且つ隣接する共線隣接点であってもよく、そのため、エンコーダは、予測対象点の隣接点の共面隣接点又は共線隣接点が決定できれば、エンコーダは、隣接点の属性再構築値を取得する時、共面隣接点に対応する第1属性再構築値を取得し、又は、共線隣接点に対応する第2属性再構築値を取得することができる。
これに対応して、本願において、予測対象点と共面であり且つ隣接する少なくとも1つの共面隣接点と、共線であり且つ隣接する少なくとも1つの共線隣接点が存在するため、エンコーダは、属性再構築値の平均値を計算する時、少なくとも1つの第1再構築値に対応する第1平均値を計算してもよく、又は、少なくとも1つの第2再構築値に対応する第2平均値を計算してもよい。最後に、エンコーダは、第1平均値又は第2平均値を属性予測値として決定することによって、予測対象点の属性情報の予測を完了する。
更に、本願の実施例において、エンコーダは、予測対象点の隣接点が共面隣接点と共線隣接点であると決定すれば、エンコーダは、隣接点の属性再構築値を取得する時、共面隣接点に対応する第1属性再構築値を取得すると同時に、共線隣接点に対応する第2属性再構築値を取得してもよい。
これに対応して、本願の実施例において、予測対象点と共面であり且つ隣接する少なくとも1つの共面隣接点と共線であり且つ隣接する少なくとも1つの共線隣接点が存在するため、エンコーダは、属性再構築値の計算値を計算する時、所定の重みに従って、第1属性再構築値と第2属性再構築値に対して加重平均値の計算を行うことによって、加重平均値を得ることができる。最後に、エンコーダは、加重平均値を属性予測値として決定することによって、予測対象点の属性情報の予測を完了することができる。
理解できるように、本願の実施例において、エンコーダは、所定の重みを利用して第1属性再構築値と第2属性再構築値に対して加重平均値の計算を行う時、第1属性再構築値と第2属性再構築値に対して、異なる重み値をそれぞれ割り当ててもよい。具体的には、距離が近いほど、相関性が高くなるという原則に基づいて、第1属性再構築値に対応する重み値を、第2属性再構築値に対応する重み値よりも大きく設定すべきである。
例示的に、本願において、予測対象点が共面隣接点と共線隣接点などの複数の隣接点を有し、例えば、予測対象点について、属性情報の予測のための6つの隣接点が存在し、隣接点は、3つの共面隣接点と3つの共線隣接点を含む。エンコーダは、全ての隣接点の属性再構築値に対して距離に基づく加重平均値の演算を行い、それによって予測対象点の属性情報の予測を実現し、予測対象点の属性予測値を得ることができる。具体的には、エンコーダは、式(2)を利用して予測対象点の属性情報の予測を行うことができる。
理解できるように、本願の実施例において、エンコーダは、予測対象点の属性情報の予測を行う時、予測対象点の共面隣接点の第1属性再構築値と共線隣接点の第2属性再構築値を同時に利用して、予測対象点の属性予測値を決定してもよく、予測対象点の共面隣接点の第1属性再構築値又は共線隣接点の第2属性再構築値を利用して予測対象点の属性予測値を決定してもよい。ここで、距離が近いほど、相関性が高くなるという原則に基づいて、距離がより近い共面隣接点を優先して選択し、予測対象点の属性情報の予測を行ってもよい。
図9は、属性情報の予測方法のフローチャートのその二である。図9に示すように、本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に隣接点が存在するかどうかを判断した後、即ち、ステップ103の後、エンコーダによって予測対象点の属性情報を予測する方法は、以下のステップを更に含んでもよい。
ステップ105において、符号化対象点群に隣接点が存在しなければ、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性予測値を予測する。
本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在しなければ、エンコーダは、予測対象点の隣接点に基づいて、予測対象点の属性情報を予測することができない。従って、エンコーダは、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性情報を予測し、予測対象点の属性予測値を得る必要がある。
説明すべきこととして、本願の実施例において、予測対象点の隣接点が存在しないことは、予測対象点の周囲に共面隣接点と共線隣接点が存在しない。予測対象点の属性情報を予測するために、現在モートンコードの1つ前のモートンコードに対応する属性再構築値を利用しなければならない。
更に、本願の実施例において、エンコーダは、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性予測値を予測する時、まず、符号化対象点群から、1つ前のモートンコードに対応する再構築済み点を決定し、続いて、該再構築済み点の属性再構築値を取得し、該再構築済み点の属性再構築値を予測対象点の属性予測値として決定する。つまり、本願において、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在しないと判断すれば、直接的に、現在モートンコードの1つ前のモートンコードに対応する再構築済み点の属性再構築値を予測対象点の属性予測値として利用し、それによって予測対象点の属性情報の予測を完了する。
理解できるように、本願の実施例において、符号化対象点群に予測対象点の隣接点が存在しなければ、エンコーダは、まず、符号化対象点群の点群シーケンス集合において、現在モートンコードの1つ前のモートンコードを検索してもよい。ここで、点群シーケンス集合において、小さい順に従って、符号化対象点群における全ての点の全てのモートンコードが記憶されている。
図10は、属性情報の予測方法のフローチャートのその三である。図10に示すように、本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に隣接点が存在するかどうかを判断した後、即ち、ステップ103の後、且つ隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する前に、即ちステップ104の前に、エンコーダによって予測対象点の属性情報を予測する方法は、以下のステップを更に含んでもよい。
ステップ106において、符号化対象点群から、1つ前のモートンコードに対応する再構築済み点を決定する。
ステップ107において、再構築済み点を予測対象点の隣接点として決定する。
本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在しなければ、つまり、予測対象点の周囲に共面隣接点と共線隣接点が存在しなければ、エンコーダは、まず、符号化対象点群から、1つ前のモートンコードに対応する再構築済み点を決定してもよい。
更に、本願の実施例において、エンコーダは、符号化対象点群から、1つ前のモートンコードに対応する再構築済み点を決定した後、該再構築済み点を予測対象点の隣接点として決定してもよい。つまり、本願において、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在しいと判断すれば、直接的に現在モートンコードの1つ前のモートンコードに対応する再構築済み点を予測対象点の隣接点とし、続いて、引き続きステップ104の方法に従って、予測対象点の属性情報の予測を完了する。
理解できるように、本願の実施例において、ステップ103の後、即ち、エンコーダは、目標モートンコードに基づいて、符号化対象点群に隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在すれば、エンコーダは、直接的に隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測し、符号化対象点群に予測対象点の隣接点が存在しなければ、エンコーダは、まず、符号化対象点群の点群シーケンス集合から、現在モートンコードの1つ前のモートンコードを検索し、続いて、符号化対象点群から、1つ前のモートンコードに対応する再構築済み点を検索し、該再構築済み点を予測対象点の隣接点として決定することによって、引き続き隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測することができる。
これから分かるように、本願の実施例において、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在しないと決定すれば、エンコーダは、点群シーケンス集合における、現在モートンコードの1つ前のモートンコードに対応する再構築済み点を予測対象点の隣接点とし、続いて、該隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測することができる。
本願の実施例において、更に、エンコーダが隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測した後、エンコーダは、属性予測値に基づいて、予測対象点の予測残差を計算し、続いて、予測残差に対して符号化を行い、コードストリームを生成する。
説明すべきこととして、本願の実施例において、上記ステップ101から107の方法に基づいて、エンコーダは、予測対象点に対して属性情報の予測を行う時、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して、予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点を利用して、予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させることができる。本願において、予測対象点の現在モートンコードに基づいて、隣接点のモートンコードを直接的に求め、検索して隣接点が確実に存在すると決定した場合、隣接点の属性再構築値を利用して、予測対象点の属性情報を予測することによって、PCEMの関連技術的技術案に比べて、点群の空間的相関性を大幅に利用し、ピーク信号対雑音比(Peak Signal to Noise Ratio:PSNR)性能が維持され、ひいてはやや好ましい上で、出力されるバイナリコードストリームを大幅に減少させる。
更に、本願の実施例において、符号化対象点群に対して階層化処理を行った場合、エンコーダは、上記ステップ101からステップ107の方法を符号化対象点群の層内予測に適用することができる。
本願の実施例において、更に、本願による属性情報の予測方法は、点群の空間的相関性を十分に利用し、予測残差をより小さくすることができ、後続の量子化及びエントロピー符号化に更に適用可能であり、PSNR性能を維持する上で、より高い利得を実現する。表1は、本願による属性情報の予測方法の性能を示す。表1から分かるように、PCEMの関連技術的技術案に比べて、異なる目標に対して、同じ客観的品質の場合、本願による属性情報の予測方法を用いると、コードレートがいずれも減少し、エンコーダの性能がより高い。
本願の実施例は、属性情報の予測方法を提供する。エンコーダは、符号化対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断し、符号化対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、エンコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
上記実施例によれば、本願の別の実施例において、図11は、属性情報の予測方法のフローチャートである。図11に示すように、予測対象点の隣接位置が、予測対象点と共面であり且つ隣接する共面隣接点を含んでもよく、更に、予測対象点と共線であり且つ隣接する共線隣接点を含んでもよいため、エンコーダによって予測対象点に対応する所定の隣接情報テーブルを構築する方法は、以下のステップを含んでもよい。
ステップ201において、所定基準点を位置決めする。
ステップ202において、所定基準点と共面隣接点との第1座標差を計算し、所定基準点と共線隣接点との第2座標差を計算する。
ステップ203において、第1座標差に対してモートン符号化を行い、共面隣接点に対応する共面モートンコードを得て、第2座標差に対してモートン符号化を行い、共線隣接点に対応する共線モートンコードを得る。
ステップ204において、共面モートンコードと共線モートンコードに基づいて、予測対象点に対応する所定の隣接情報テーブルを構築する。
本願の実施例において、エンコーダは、所定の隣接情報テーブルを構築する時、まず、所定基準点を位置決めする必要がある。ここで、所定基準点は、符号化対象点群における予測対象点を中心とした空間の座標原点を表す。ここで、所定基準点は、符号化対象点群におけるモートンコードが最も小さい点であってもよい。
例示的に、本願において、予測対象点の座標が(1,1,2)であり、予測対象点を空間の中心として、エンコーダは、所定基準点の座標を(0,0,0)と位置決めしてもよい。
説明すべきこととして、本願の実施例において、所定基準点を位置決めした後、所定基準点に基づいて、まず、予測対象点の周囲の隣接位置の座標を決定してもよく、例えば、ある隣接位置の座標が(1,1,1)であると決定する。
更に、本願の実施例において、所定基準点と予測対象点の隣接位置との座標差値は、具体的には、所定基準点と共面隣接点との第1座標差を含んでもよく、所定基準点と共線隣接点との第2座標差を含んでもよい。
説明すべきこととして、本願の実施例において、エンコーダは、所定基準点を利用して、所定基準点と隣接位置との座標差値を計算した後、該座標差値に対してモートン符号化を行い、対応するモートンコードを得るこができる。
理解できるように、本願の実施例において、エンコーダは、所定基準点と共面隣接点との第1座標差を計算した後、第1座標差に対してモートン符号化を行い、対応するモートンコード、即ち、共面モートンコードを得ることができる。対応的に、エンコーダは、所定基準点と共線隣接点との第2座標差を計算した後、第2座標差に対してモートン符号化を行い、対応するモートンコード、即ち、共線モートンコードを得ることができる。
更に、本願の実施例において、エンコーダは、所定基準点と隣接位置との座標差値のモートン符号化を完了した後、得られたモートンコードに基づいて、所定の隣接情報テーブルを構築することができる。具体的には、エンコーダは、隣接位置とモートンコードとの対応関係を利用して、所定の隣接情報テーブルを構築してもよい。つまり、所定の隣接情報テーブルは、隣接位置のモートンコードの決定に用いられてもよい。
理解できるように、本願の実施例において、エンコーダは、共面モートンコードと共線モートンコードに基づいて、予測対象点に対応する所定の隣接情報テーブルを構築することができる。具体的には、エンコーダは、予測対象点の共面隣接点とそれに対応する共面モートンコードを所定の隣接情報テーブルに記憶すると同時に、予測対象点の共線隣接点とそれに対応する共線モートンコードを所定の隣接情報テーブルに記憶することによって、所定の隣接情報テーブルの確立を完了することができる。
本願の実施例において、更に、図12は、属性情報の予測方法のフローチャートのその五である。図12に示すように、エンコーダによって現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する方法は、以下のステップを含んでもよい。
ステップ102aにおいて、所定の隣接情報テーブルから、予測対象点に対応する共面モートンコードと共線モートンコードを読み取る。
ステップ102bにおいて、共面モートンコードと所定基準点のモートンコードを加算し、第1和の値を得て、共線モートンコードと所定基準点のモートンコードを加算し、第2和の値を得る。
ステップ102cにおいて、第1和の値と第2和の値を目標モートンコードとして決定する。
本願の実施例において、エンコーダは、現在モートンコードと予測対象点に対応する所定の隣接情報テーブルを利用して、目標モートンコードの決定を行う時、まず、所定の隣接情報テーブルから、共面モートンコードと共線モートンコードを読み取ってもよい。つまり、エンコーダは、まず、所定の隣接情報テーブルから、予測対象点の共面隣接点に対応するモートンコード、即ち、共面モートンコードを取得すると同時に、所定の隣接情報テーブルから、予測対象点の共線隣接点に対応するモートンコード、即ち、共線モートンコードを取得してもよい。続いて、更に、共面モートンコードと共線モートンコードを利用して、目標モートンコードを決定してもよい。
理解できるように、本願の実施例において、エンコーダは、共面モートンコードと所定基準点のモートンコードを加算し、第1和の値を得てもよい。具体的には、共面モートンコードが所定基準点と共面隣接点との距離差を表すことができるため、エンコーダは、共面モートンコードと所定基準点のモートンコードを加算した後、直接的に共面隣接点のモートンコードを得ることができ、即ち、第1和の値は、予測対象点の共面隣接点のモートンコードとしてもよい。従って、第1和の値を目標モートンコードとして決定してもよい。
これに対応して、本願において、エンコーダは、共線モートンコードと所定基準点のモートンコードを加算し、第2和の値を得てもよい。具体的には、共線モートンコードが所定基準点と共線隣接点との距離差を表すことができるため、エンコーダは、共線モートンコードと所定基準点のモートンコードを加算した後、直接的に共線隣接点のモートンコードを得ることができ、即ち、第2和の値は、予測対象点の共線隣接点のモートンコードとしてもよい。従って、第2和の値を目標モートンコードとして決定してもよい。
本願の実施例において、更に、エンコーダが現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する前に、即ち、ステップ102の前に、まず、予測対象点の隣接タイプを選択し、隣接タイプによって共面タイプであるかそれとも共線タイプであるかを決定してもよい。つまり、エンコーダ予測対象点の共面隣接点のモートンコードのみを取得するように選択してもよいか、又は予測対象点の共線隣接点のモートンコードのみを取得するように選択してもよい。
理解できるように、本願の実施例において、エンコーダによって現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する方法は、以下のステップを含んでもよい。
ステップ102dにおいて、隣接タイプが共面タイプであれば、所定の隣接情報テーブルから、予測対象点に対応する共面モートンコードを読み取る。
ステップ102eにおいて、共面モートンコードと所定基準点のモートンコードを加算し、第1和の値を得る。
ステップ102fにおいて、第1和の値を目標モートンコードとして決定する。
本願の実施例において、エンコーダがまず共面隣接の隣接タイプを選択すれば、エンコーダは、所定の隣接情報テーブルから、予測対象点に対応する共面モートンコードを読み取り、共面モートンコードと所定基準点のモートンコードを加算し、第1和の値を得、最終的に第1和の値を目標モートンコードとして決定することができる。
つまり、本願の実施例において、エンコーダが予測対象点の共面隣接点のモートンコードのみを取得するように選択すれば、エンコーダは、現在モートンコードと予測対象点に対応する所定の隣接情報テーブルを利用して目標モートンコードの決定を行う時、まず、所定の隣接情報テーブルから、予測対象点の共面隣接点に対応する共面モートンコードを決定してもよい。続いて、更に、共面モートンコードと所定基準点のモートンコードを加算してもよい。共面モートンコードが所定基準点と共面隣接点との距離差値を表すことができるため、エンコーダは、共面モートンコードと所定基準点のモートンコードを加算した後、第1和の値を目標モートンコードとして決定することができる。
理解できるように、本願の実施例において、距離が近いほど、類似度が高くなるという原則に基づいて、エンコーダは、共面隣接の隣接タイプを優先して選択してもよい。それにより、予測残差を低減させる上で、出力されるバイナリコードストリームを最大限減少させ、符号化効率を向上させることができる。
更に、本願の実施例において、エンコーダによって現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する方法は、以下のステップを更に含んでもよい。
ステップ102gにおいて、隣接タイプが共線タイプであれば、所定の隣接情報テーブルから、予測対象点に対応する共線モートンコードを読み取る。
ステップ102hにおいて、共線モートンコードと所定基準点のモートンコードを加算し、第2和の値を得る。
ステップ102iにおいて、第2和の値を目標モートンコードとして決定する。
本願の実施例において、エンコーダがまず共線隣接の隣接タイプを選択すれば、エンコーダは、所定の隣接情報テーブルから、予測対象点に対応する共線モートンコードを読み取り、共線モートンコードと所定基準点のモートンコードを加算し、第2和の値を得、最終的に第2和の値を目標モートンコードとして決定することができる。
つまり、本願の実施例において、エンコーダが予測対象点の共線隣接点のモートンコードのみを取得するように選択すれば、エンコーダは、現在モートンコードと予測対象点に対応する所定の隣接情報テーブルを利用して目標モートンコードの決定を行う時、まず、所定の隣接情報テーブルから、予測対象点の共線隣接点に対応する共線モートンコードを決定してもよい。続いて、更に、共線モートンコードと所定基準点のモートンコードを加算してもよい。共線モートンコードが所定基準点と共線隣接点との距離差値を表すことができるため、エンコーダは、共線モートンコードと所定基準点のモートンコードを加算した後、第2和の値を目標モートンコードとして決定することができる。
理解できるように、本願の実施例において、距離が近いほど、類似度が高くなるという原則に基づいて、エンコーダは、共面隣接の隣接タイプを優先して選択してもよいが、符号化対象点群に、予測対象点と共面であり且つ隣接する共面隣接点が存在しなければ、エンコーダは、共線隣接の隣接タイプを選択してもよい。それにより、予測残差を低減させる上で、出力されるバイナリコードストリームを最大限減少させ、符号化効率を向上させることができる。
本願の実施例は、属性情報の予測方法を提供する。エンコーダは、符号化対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断し、符号化対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、エンコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
上記実施例によれば、本願の別の実施例において、符号化対象点群に予測対象点の隣接点が存在すれば、隣接点が具体的には予測対象点と共面であり且つ隣接する共面隣接点を含んでもよく、更に、予測対象点と共線であり且つ隣接する共線隣接点を含んでもよいため、エンコーダによって隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する方法は、以下のステップを含んでもよい。
ステップ301において、隣接点が予測対象点と共面であり且つ隣接する共面隣接点であれば、共面隣接点に対応する第1属性再構築値を取得する。
ステップ302において、第1属性再構築値の第1平均値を計算し、第1平均値を属性予測値として決定する。
本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在し、且つ存在する予測対象点の隣接点が予測対象点と共面であり且つ隣接する共面隣接点だけであれば、エンコーダは、隣接点の属性再構築値を取得する時、共面隣接点に対応する第1属性再構築値を取得してもよい。
更に、本願の実施例において、予測対象点と共面であり且つ隣接する少なくとも1つの共面隣接点が存在するため、エンコーダは、属性再構築値の平均値を計算する時、少なくとも1つの第1再構築値に対応する第1平均値を計算してもよい。続いて、エンコーダは、第1平均値を属性予測値として決定することによって、予測対象点の属性情報の予測を完了することができる。
例示的に、本願において、予測対象点が3つの共面隣接点のみを有するとした場合、エンコーダは、下記式式(4)を利用して、全ての隣接点の属性再構築値の平均値を計算し、予測対象点の属性予測値を得ることができる。
本願の実施例において、更に、エンコーダによって隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する方法は、以下のステップを含んでもよい。
ステップ303において、隣接点が予測対象点と共線であり且つ隣接する共線隣接点であれば、共線隣接点に対応する第2属性再構築値を取得する。
ステップ304において、第2属性再構築値の第2平均値を計算し、第2平均値を属性予測値として決定する。
本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在し、且つ存在する予測対象点の隣接点が予測対象点と共線であり且つ隣接する共線隣接点だけであれば、エンコーダは、隣接点の属性再構築値を取得する時、共線隣接点に対応する第2属性再構築値を取得してもよい。
更に、本願の実施例において、予測対象点と共線であり且つ隣接する少なくとも1つの共線隣接点が存在するため、エンコーダは、属性再構築値の平均値を計算する時、少なくとも1つの第2再構築値に対応する第2平均値を計算してもよい。続いて、エンコーダは、第2平均値を属性予測値として決定することによって、予測対象点の属性情報の予測を完了することができる。
例示的に、本願において、予測対象点が2つの共線隣接点のみを有するとした場合、エンコーダは、下記式式(5)を利用して、全ての隣接点の属性再構築値の平均値を計算し、予測対象点の属性予測値を得ることができる。
本願の実施例において、更に、エンコーダによって隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する方法は、以下のステップを含んでもよい。
ステップ305において、隣接点が予測対象点と共面であり且つ隣接する共面隣接点と予測対象点と共線であり且つ隣接する共線隣接点とを含むとした場合、共面隣接点に対応する第1属性再構築値と共線隣接点に対応する第2属性再構築値を取得する。
ステップ306において、所定の重みに従って、第1属性再構築値と第2属性再構築値に対して加重平均値の計算を行い、加重平均値を得る。
ステップ307において、加重平均値を属性予測値として決定する。
本願の実施例において、エンコーダは、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断した後、符号化対象点群に予測対象点の隣接点が存在し、且つ予測対象点の隣接点が共面隣接点を含むだけでなく、共線隣接点も含めば、エンコーダは、隣接点の属性再構築値を取得する時、共面隣接点に対応する第1属性再構築値を取得すると同時に、共線隣接点に対応する第2属性再構築値を取得してもよい。
更に、本願の実施例において、予測対象点と共面であり且つ隣接する少なくとも1つの共面隣接点と共線であり且つ隣接する少なくとも1つの共線隣接点が存在するため、エンコーダは、属性再構築値の平均値を計算する時、所定の重みに従って、第1属性再構築値と第2属性再構築値に対して加重平均値の計算を行うことによって、加重平均値を得ることができる。ここで、エンコーダは、距離が近いほど、相関性が高くなるという原則に基づいて、第1属性再構築値と第2属性再構築値に対して異なる重み値をそれぞれ割り当てることができる。具体的には、第1属性再構築値に対応する重み値は、第2属性再構築値に対応する重み値よりも大きく設定すべきである。
本願の実施例は、属性情報の予測方法を提供する。エンコーダは、符号化対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断し、符号化対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、エンコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
上記実施例によれば、本願のまた1つの実施例において、図13は、属性情報の予測のフレームワーク概略図である。図13に示すように、エンコーダによって現在モートンコードを利用して属性情報を予測する方法は、以下のステップを含んでもよい。
ステップ401において、予測対象点の現在モートンコードを計算する。
エンコーダは、まず、符号化対象点群における予測対象点のモートンコード、即ち、現在モートンコードを決定してもよい。
ステップ402において、隣接点の隣接タイプを選択する。
理解できるように、本願の実施例において、エンコーダは、隣接点の目標モートンコードを決定する前に、まず、隣接タイプを選択してもよい。ここで、隣接タイプは、共面タイプと、共線タイプと、を含んでもよい。続いて、隣接タイプに基づいて、共面モートンコードを取得するか、それとも共線モートンコードを取得することを更に選択する。
説明すべきこととして、本願の実施例において、ステップ404の前に、エンコーダは、符号化対象点群に予測対象点の隣接点が存在するかどうかを決定することができないため、ここでの隣接点について、予測対象点の周囲の隣接位置に点が存在すると仮設したものである。
ステップ403において、隣接タイプに基づいて、隣接点の目標モートンコードを決定する。
エンコーダによって選択された隣接タイプが共面隣接であれば、予め構築された所定の隣接情報テーブルから、共面隣接点に対応する共面モートンコードを取得し、それを目標モートンコードとしてもよい。エンコーダによって選択された隣接タイプが共線隣接であれば、予め構築された所定の隣接情報テーブルから、共線隣接点に対応する共線モートンコードを取得し、それを目標モートンコードとしてもよい。
ステップ404において、隣接点が存在するかどうかを判断し、存在すれば、ステップ405を実行し、存在しなければ、ステップ406を実行する。
エンコーダは、目標モートンコードを利用して、符号化対象点群に隣接点が存在するかどうかを判断することできる。具体的には、エンコーダは、符号化対象点群の点群シーケンス集合において検索処理を行い、即ち、直接的に点群シーケンス集合において目標モートンコードが存在するかどうかを検索し、存在すれば、空間において予測対象点の隣接点が存在すると見なし、対応的に、存在しなければ、空間において予測対象点の隣接点が存在しないと見なす。
ステップ405において、隣接点の属性再構築値を利用して、予測対象点に対して属性情報の予測を行う。
符号化対象点群に予測対象点の隣接点が存在すれば、エンコーダは、直接的に予測対象点の隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を取得する。ここで、エンコーダは、隣接点の属性再構築値の平均値を計算し、属性再構築値の平均値を属性予測値として決定してもよい。
ステップ406において、現在モートンコードの1つ前のモートンコードを利用して、予測対象点に対して属性情報の予測を行う。
符号化対象点群に予測対象点の隣接点が存在しなければ、エンコーダは、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性予測値を得る必要がある。ここで、エンコーダは、1つ前のモートンコードに対応する再構築済み点を決定し、続いて、該再構築済み点の属性再構築値を取得し、該再構築済み点の属性再構築値を予測対象点の属性予測値として決定してもよい。
ステップ407、予測対象点に対応する予測残差を計算する。
ステップ408において、コードストリームを生成する。
エンコーダは、予測対象点の属性予測値を予測により得た後、属性予測値を利用して、予測残差の計算を行い、続いて、予測残差に対して符号化を行い、バイナリコードストリームを得て出力することができる。
本願の実施例において、例示的な別の属性情報の予測の実現形態について、図14は、属性情報の予測アルゴリズムのフローチャートである。図14に示すように、エンコーダが属性情報の予測を行う時、具体的な実現フローは、以下のステップを含んでもよい。
ステップ501において、予測対象点の現在モートンコードCur_posを決定する。
エンコーダは、まず、符号化対象点群における予測対象点のモートンコード、即ち、現在モートンコードCur_posを決定してもよい。
ステップ502において、所定基準点のモートンコードbase_posを位置決めする。
エンコーダは、Cur_posに対して操作を行い、基準点のモートンコードbase_posに位置決めする。ここで、エンコーダは、基準点base_posと予測対象点の隣接点との座標差値を予め計算し、これらの差値に対してモートン符号化を行い、所定のテーブルを構築することができる。
ステップ503において、base_posに基づいて、隣接点の目標モートンコードneighbor_posを計算する。
エンコーダは、所定のテーブルに基づいて、モートンコードの加算を行うことで、予測対象点に隣接する各位置の目標モートンコードを計算することができる。具体的には、エンコーダは、base_posに基づいて、モートンコードの加算によって、neighbor_posを計算することができる。ここで、neighbor_pos=morton3dAdd(base_pos,mortonOffset)である。MortonOffsetは、モートン符号化された座標差値を表す。
ステップ504において、neighbor_posに基づいて、隣接点Neighborが存在するかどうかを検索し、存在すれば、直接的にステップ506を実行し、存在しなければ、まず、ステップ505を実行し、続いて、ステップ506を実行する。
エンコーダは、目標モートンコードを利用して、符号化対象点群に隣接点が存在するかどうかを判断することできる。具体的には、エンコーダは、符号化対象点群の点群シーケンス集合において検索処理を行い、即ち、直接的に点群シーケンス集合において目標モートンコードが存在するかどうかを検索し、存在すれば、空間において予測対象点の隣接点が存在すると見なし、対応的に、存在しなければ、空間において予測対象点の隣接点が存在しないと見なす。
ステップ505において、現在モートンコードの1つ前のモートンコードlastMortonCodeに対応する点を予測対象点の隣接点とする。
符号化対象点群に予測対象点の隣接点が存在しなければ、エンコーダは、現在モートンコードに対応する1つ前のモートンコードlastMortonCodeを利用して、予測対象点の属性情報を予測する必要がある。具体的には、1つ前のモートンコードが予測対象点の隣接点のモートンコードであると見なしてもよい。即ち、現在モートンコードの1つ前のモートンコードlastMortonCodeに対応する点を予測対象点の隣接点とする。ここで、Neighbor=lastMortonCodeである。
ステップ506において、隣接点の再構築値neighbor[i]を利用して、予測対象点の属性予測値Predを決定する。
エンコーダは、予測対象点の隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を取得する。ここで、エンコーダは、隣接点の属性再構築値neighbor[i]の平均値を計算し、属性再構築値の平均値を属性予測値として決定してもよい。具体的には、Pred=average(neighbor[i])である。
ステップ507において、Predに基づいて、予測対象点の予測残差Residualを計算する。
エンコーダは、予測対象点の属性予測値を予測により得た後、属性予測値を利用して予測残差の計算を行い、続いて、予測残差に対して符号化を行い、属性コードストリームを生成して出力することができる。
これから分かるように、本願の実施例において、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在しないと決定すれば、エンコーダは、点群シーケンス集合における、現在モートンコードの1つ前のモートンコードに対応する再構築済み点を予測対象点の隣接点とし、続いて、該隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測することができる。
本願の実施例は、属性情報の予測方法を提供する。エンコーダは、符号化対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断し、符号化対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、エンコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
本願の一実施例は、属性情報の予測方法を提供する。該方法は、デコーダに適用され、図15は、属性情報の予測方法のフローチャートのその六である。図15に示すように、デコーダによって予測対象点の属性情報を予測する方法は、以下のステップを含んでもよい。
ステップ601、復号対象点群における予測対象点の現在モートンコードを決定する。
本願の実施例において、デコーダは、まず、復号対象点群における予測対象点の現在モートンコードを決定することができる。
説明すべきこととして、本願の実施例において、復号対象点群に対して復号処理を行う時、復号対象点群の幾何学的情報と復号対象点に対応する属性情報は、別々に復号される。ここで、幾何学的情報の復号を完了した後、幾何学的情報に対して再構築を行う。属性情報の復号は、再構築された幾何学的情報に依存する。
更に、本願の実施例において、復号対象点群の幾何学的情報に対して復号を行った後、デコーダは、復号対象点群における各点の集合情報を利用して、各点のモートンコードを決定することができる。各点のモートンコードを得た後、デコーダは、復号対象点群における全ての点に対して、小さい順に従って、全ての点の全てのモートンコードをソートし、復号対象点群に対応する点群シーケンス集合を生成することができる。ここで、点群シーケンス集合に復号対象点群における全ての点の全てのモートンコードが記憶されている。
説明すべきこととして、本願の実施例において、デコーダは、復号対象点群の属性情報に対して復号を行う時、モートンコードの小さい順に従って、復号対象点群の全ての点に対して、属性情報の予測を順に行うことができる。
理解できるように、本願の実施例において、予測対象点は、復号対象点群におけるいずれか1つの点であってもよく、現在モートンコードは、予測対象点のモートンコードである。予測対象点に対して属性情報の予測を行う時、現在モートンコードよりも小さい他のモートンコードに対応する他の点の属性情報の予測が既に完了しており、対応する属性再構築情報を生成する。
更に、本願の実施例において、デコーダは、予測対象点に対して属性情報の予測を行う時、まず、予測対象点のモートンコードを決定し、現在モートンコードを得る必要がある。
ステップ602において、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものである。
本願の実施例において、デコーダは、予測対象点の現在モートンコードを決定した後、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定することができる。ここで、目標モートンコードは、予測対象点の周囲の隣接位置に対応するモートンコードを表すことができる。
説明すべきこととして、本願の実施例において、所定の隣接情報テーブルは、予測対象点の周囲の隣接位置と所定基準点との座標差を表すことができる。ここで、予測対象点の隣接位置は、予測対象点と共面であり且つ隣接する共面隣接点を含んでもよく、更に、予測対象点と共線であり且つ隣接する共線隣接点を含んでもよい。
理解できるように、本願の実施例において、予測対象点に対して属性情報の予測を行う時、予測対象点を復号対象点群の空間的中心とすれば、所定基準点は、予測対象点を中心とした空間の座標原点としてもよい。具体的に、同一の所定基準点に基づいて、所定基準点と予測対象点との距離と、所定基準点と予測対象点の隣接位置との距離に対して、差の演算を行うことで、隣接位置と予測対象点との座標差を得ることができる。ここで、所定基準点は、復号対象点群におけるモートンコードが最も小さい点であってもよい。
更に、本願の実施例において、デコーダは、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する前に、まず、予測対象点に対応する所定の隣接情報テーブルを構築する必要がある。つまり、所定の隣接情報テーブルは、予測対象点に基づいて構築されたものである。
説明すべきこととして、本願の実施例において、デコーダは、予測対象点に対応する所定の隣接情報テーブルを構築する時、予測対象点の現在モートンコード(cur_pos)に対して操作を行ってもよい。具体的には、デコーダは、所定基準点のモートンコード(base_pos)に位置決めし、続いて、所定基準点のモートンコードに基づいて、所定基準点と予測対象点の隣接位置との座標差値を計算し、次に、引き続きこれらの座標差値に対してモートン符号化を行うことによって、予測対象点に対応する所定の隣接情報テーブルを構築することができる。
つまり、本願の実施例において、予測対象点の隣接位置は、予測対象点と共面であり且つ隣接する共面隣接点と、予測対象点と共線であり且つ隣接する共線隣接点とを含んでもよいため、デコーダは、予測対象点に対応する所定の隣接情報テーブルを構築する時、所定基準点と共面隣接点との第1座標差、所定基準点と共線隣接点との第2座標差をそれぞれ計算し、続いて、第1座標差に対してモートン符号化を行い、共面隣接点に対応する共面モートンコードを得ると同時に、第2座標差に対してモートン符号化を行い、共線隣接点に対応する共線モートンコードを得ることができ、最後に、デコーダは、共面モートンコードと共線モートンコードに基づいて、予測対象点に対応する所定の隣接情報テーブルを構築することができる。
更に、本願の実施例において、デコーダは、復号対象点群における予測対象点の現在モートンコードを決定した後、現在モートンコードに対応する所定の隣接情報テーブルに基づいて、予測対象点に対応する目標モートンコードを決定することができ、ここで、目標モートンコードは、予測対象点の周囲の隣接位置に対応するモートンコードを表すことができる。
具体的には、本願の実施例において、デコーダは、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定する時、所定の隣接情報テーブルに、所定基準点と隣接位置との座標差値に対してモートン復号を行った後のモートンコードが記憶されているため、デコーダは、所定の隣接情報テーブルから、隣接位置に対応する座標差値のモートンコードを抽出し、更に、該座標差値のモートンコードを利用して、目標モートンコードを決定することができる。
理解できるように、本願の実施例において、所定の隣接情報テーブルに、予測対象点に対応する共面モートンコードと共線モートンコードが記憶されているため、デコーダは、目標モートンコードの決定を行う時、所定の隣接情報テーブルから、共面モートンコード及び/又は共線モートンコードを抽出し、続いて、現在モートンコードと共面モートンコード及び/又は共線モートンコードに対して加算を行うことによって、目標モートンコードを得ることができる。
説明すべきこととして、本願の実施例において、予測対象点の隣接位置が共面隣接点を含むだけでなく、共線隣接点も含むため、デコーダは、目標モートンコードの決定を行う時、まず、隣接タイプの決定を行ってもよい。ここで、隣接タイプは、共面隣接と共線隣接を含んでもよい。続いて、決定された隣接タイプに基づいて、更に、所定の隣接情報テーブルから、共面モートンコード又は共線モートンコードを抽出し、共面モートンコード又は共線モートンコードに基づいて、目標モートンコードを決定してもよい。
説明すべきこととして、本願の実施例において、目標モートンコードが、予測対象点の周囲の隣接位置に対応するモートンコードを表すことができるため、デコーダは、目標モートンコードを利用して、予測対象点の周囲の隣接点に対して検索と決定を行うことができる。
ステップ603において、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断する。
本願の実施例において、デコーダは、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定した後、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断することができる。つまり、デコーダは、予測対象点の周囲の隣接位置に対応するモートンコードを利用して、更に、復号対象点群に予測対象点に隣接する点が存在するかどうかを判定することができる。
説明すべきこととして、本願の実施例において、デコーダは、目標モートンコードを決定した後、直接的に目標モートンコードに基づいて予測対象点の隣接点を決定することができない。その理由は、点群が空間において均一に分布するものではなく、予測対象点の隣接位置に必ずしも本当に隣接点が存在するとは限らない。つまり、復号対象点群において、予測対象点の隣接位置に従って決定された目標モートンコードに対応する点が必ずしも本当に存在するとは限らない。従って、デコーダは、目標モートンコードを決定した後、更に、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断する必要がある。
理解できるように、本願の実施例において、デコーダは、各点のモートンコードを得た後、小さい順に従って、全ての点の全てのモートンコードに対してソートをかけ、復号対象点群に対応する点群シーケンス集合を生成するため、デコーダは、目標モートンコードを決定した後、復号対象点群に対応する点群シーケンス集合を利用して、目標モートンコードに基づいて、予測対象点の隣接点が存在するかどうかを更に判断することができる。
更に、本願の実施例において、デコーダは、点群シーケンス集合と目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断する時、まず、復号対象点群の点群シーケンス集合を取得し、続いて、目標モートンコードを利用して、点群シーケンス集合において検索処理を行い、検索結果を得ることができる。検索結果として、点群シーケンス集合に目標モートンコードが存在すれば、デコーダは、復号対象点群に予測対象点に対応する隣接点が存在すると判定することができる。つまり、本願において、デコーダは、目標モートンコードを決定した後、点群シーケンス集合において、目標モートンコードが存在するかどうかを検索し、存在すれば、空間において予測対象点の隣接点が存在すると見なし、対応的に、存在しなければ、空間において予測対象点の隣接点が存在しないと見なす。
説明すべきこととして、本願の実施例において、デコーダは、目標モートンコードに基づいて、点群シーケンス集合において、検索処理を行う時、目標モートンコードに基づいて、点群シーケンス集合における各モートンコードをトラバースして検索し、検索結果を得ることができるだけでなく、目標モートンコードに基づいて、所定の検索アルゴリズムによって、点群シーケンス集合の検索処理を行い、検索結果を得ることができる。
つまり、本願の実施例において、デコーダは、目標モートンコードに基づいて、点群シーケンス集合において、検索処理を行う時、点群シーケンス集合に対するトラバース方法を用いてもよく、点群シーケンス集合に対する他の迅速な検索アルゴリズムを用いてもよい。
ステップ604において、復号対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。
本願の実施例において、デコーダは、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断した後、復号対象点群に予測対象点の隣接点が存在すれば、デコーダは、直接的に予測対象点の隣接点の属性再構築情報に基づいて、予測対象点の属性情報に対して予測を行い、属性予測値を得ることができる。
説明すべきこととして、本願の実施例において、予測対象点の隣接点が存在すれば、デコーダは、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する時、まず、隣接点の属性再構築値を取得し、続いて、属性再構築値の平均値を計算し、属性再構築値に対応する平均値を得ることによって、該平均値を属性予測値として決定することができる。
理解できるように、本願の実施例において、予測対象点の隣接点は、予測対象点と共面であり且つ隣接する共面隣接点であってもよく、更に、予測対象点と共線であり且つ隣接する共線隣接点であってもよいため、デコーダは、予測対象点の隣接点が共面隣接点又は共線隣接点であると決定すれば、デコーダは、隣接点の属性再構築値を取得する時、共面隣接点に対応する第1属性再構築値を取得してもよく、又は、共線隣接点に対応する第2属性再構築値を取得してもよい。
これに対応して、本願において、予測対象点と共面であり且つ隣接する少なくとも1つの共面隣接点と共線であり且つ隣接する共線隣接点が存在するため、デコーダは、属性再構築値の平均値を計算する時、少なくとも1つの第1再構築値に対応する第1平均値を計算してもよく、又は、少なくとも1つの第2再構築値に対応する第2平均値を計算してもよい。最後に、デコーダは、第1平均値又は第2平均値を属性予測値として決定することによって、予測対象点の属性情報の予測を完了する。
更に、本願の実施例において、デコーダは、予測対象点の隣接点が共面隣接点と共線隣接点であると決定すれば、デコーダは、隣接点の属性再構築値を取得する時、共面隣接点に対応する第1属性再構築値を取得すると同時に、共線隣接点に対応する第2属性再構築値を取得してもよい。
これに対応して、本願の実施例において、予測対象点と共面であり且つ隣接する少なくとも1つの共面隣接点と共線であり且つ隣接する少なくとも1つの共線隣接点が存在するため、デコーダは、属性再構築値の計算値を計算する時、所定の重みに従って、第1属性再構築値と第2属性再構築値に対して加重平均値の計算を行うことによって、加重平均値を得ることができる。最後に、デコーダは、加重平均値を属性予測値として決定することによって、予測対象点の属性情報の予測を完了することができる。
理解できるように、本願の実施例において、デコーダは、所定の重みを利用して第1属性再構築値と第2属性再構築値に対して加重平均値の計算を行う時、第1属性再構築値と第2属性再構築値に対して、異なる重み値をそれぞれ割り当ててもよい。具体的には、距離が近いほど、相関性が高くなるという原則に基づいて、第1属性再構築値に対応する重み値は、第2属性再構築値に対応する重み値よりも大きく設定すべきである。
例示的に、本願において、予測対象点が共面隣接点と共線隣接点などの複数の隣接点を有し、例えば、予測対象点について、属性情報の予測のための6つの隣接点が存在し、隣接点は、3つの共面隣接点と3つの共線隣接点を含む。デコーダは、全ての隣接点の属性再構築値に対して距離に基づく加重平均値の演算を行い、予測対象点の属性情報の予測を実現し、予測対象点の属性予測値を得ることができる。つまり、各隣接点と予測対象点との距離によれば、距離の増加に伴い、相関性が低減するため、距離が小さい隣接点の属性再構築値に対して、大きい重みを与える。
理解できるように、本願の実施例において、デコーダは、予測対象点の属性情報の予測を行う時、予測対象点の共面隣接点の第1属性再構築値と共線隣接点の第2属性再構築値を同時に利用して予測対象点の属性予測値を決定してもよく、予測対象点の共面隣接点の第1属性再構築値又は共線隣接点の第2属性再構築値を利用して予測対象点の属性予測値を決定してもよい。ここで、距離が近いほど、相関性が高くなるという原則に基づいて、距離がより近い共面隣接点を優先して選択し、予測対象点の属性情報の予測を行ってもよい。
図16は、属性情報の予測方法のフローチャートのその七である。図16に示すように、本願の実施例において、デコーダは、目標モートンコードに基づいて、復号対象点群に隣接点が存在するかどうかを判断した後、即ち、ステップ603の後、デコーダによって予測対象点の属性情報を予測する方法は、以下のステップを更に含んでもよい。
ステップ605において、復号対象点群に隣接点が存在しなければ、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性予測値を予測する。
本願の実施例において、デコーダは、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断した後、復号対象点群に予測対象点の隣接点が存在しなければ、デコーダは、予測対象点の隣接点に基づいて、予測対象点の属性情報を予測することができない。従って、デコーダは、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性情報を予測し、予測対象点の属性予測値を得る必要がある。
説明すべきこととして、本願の実施例において、予測対象点の隣接点が存在せず、つまり、予測対象点の周囲に共面隣接点と共線隣接点が存在しない。予測対象点の属性情報を予測するために、現在モートンコードの1つ前のモートンコードに対応する属性再構築値を利用しなければならない。
更に、本願の実施例において、デコーダは、現在モートンコードに対応する1つ前のモートンコードを利用して、予測対象点の属性予測値を予測する時、まず、復号対象点群から、1つ前のモートンコードに対応する再構築済み点を決定し、続いて、該再構築済み点の属性再構築値を取得し、該再構築済み点の属性再構築値を予測対象点の属性予測値として決定する。つまり、本願において、目標モートンコードによれば、復号対象点群に予測対象点の隣接点が存在しなければ、直接的に、現在モートンコードの1つ前のモートンコードに対応する再構築済み点の属性再構築値を予測対象点の属性予測値として、予測対象点の属性情報の予測を完了する。
理解できるように、本願の実施例において、復号対象点群に予測対象点の隣接点が存在しなければ、デコーダは、まず、復号対象点群の点群シーケンス集合において、現在モートンコードの1つ前のモートンコードを検索してもよい。ここで、点群シーケンス集合において、小さい順に従って、復号対象点群における全ての点の全てのモートンコードが記憶されている。
図17は、属性情報の予測方法のフローチャートのその八である。図17に示すように、本願の実施例において、デコーダは、目標モートンコードに基づいて、復号対象点群に隣接点が存在するかどうかを判断した後、即ち、ステップ603の後、且つ隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する前に、即ちステップ604の前に、デコーダによって予測対象点の属性情報を予測する方法は、以下のステップを更に含んでもよい。
ステップ606において、復号対象点群から、1つ前のモートンコードに対応する再構築済み点を決定する。
ステップ607において、再構築済み点を予測対象点の隣接点として決定する。
本願の実施例において、デコーダは、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断した後、復号対象点群に予測対象点の隣接点が存在しなければ、つまり、予測対象点の周囲に共面隣接点と共線隣接点が存在しなければ、デコーダは、まず、復号対象点群から、1つ前のモートンコードに対応する再構築済み点を決定してもよい。
更に、本願の実施例において、デコーダは、復号対象点群から、1つ前のモートンコードに対応する再構築済み点を決定した後、該再構築済み点を予測対象点の隣接点として決定してもよい。つまり、本願において、目標モートンコードによれば、復号対象点群に予測対象点の隣接点が存在しなければ、直接的に現在モートンコードの1つ前のモートンコードに対応する再構築済み点を予測対象点の隣接点とし、続いて、引き続きステップ604の方法に従って、予測対象点の属性情報の予測を完了する。
理解できるように、本願の実施例において、ステップ603の後、即ち、デコーダは、目標モートンコードに基づいて、復号対象点群に隣接点が存在するかどうかを判断した後、復号対象点群に予測対象点の隣接点が存在すれば、デコーダは、直接的に隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測し、復号対象点群に予測対象点の隣接点が存在しなければ、デコーダは、まず、復号対象点群の点群シーケンス集合から、現在モートンコードの1つ前のモートンコードを検索し、続いて、復号対象点群から、1つ前のモートンコードに対応する再構築済み点を検索し、該再構築済み点を予測対象点の隣接点として決定することによって、引き続き隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測することができる。
これから分かるように、本願の実施例において、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在しないと決定すれば、デコーダは、点群シーケンス集合における、現在モートンコードの1つ前のモートンコードに対応する再構築済み点を予測対象点の隣接点とし、続いて、該隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測することができる。
説明すべきこととして、本願の実施例において、上記ステップ601から607の方法に基づいて、デコーダは、予測対象点に対して属性情報の予測を行う時、所定の隣接情報テーブルによれば、予測対象点の現在モートンコードを利用して、予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、デコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点により、予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させることができる。
更に、本願の実施例において、復号対象点群に対して階層化処理を行った場合、デコーダは、上記ステップ601からステップ607の方法を復号対象点群の階層内予測に用いてもよい。
本願の実施例において、更に、本願による属性情報の予測方法は、点群の空間的相関性を十分に利用し、予測残差をより小さくすることができ、後続の量子化及びエントロピー復号に更に適用可能であり、PSNR性能を維持する上で、より高い利得を実現する。
本願の実施例は、属性情報の予測方法を提供する。デコーダは、復号対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断し、復号対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、デコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、デコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
上記実施例によれば、本願のまた1つの実施例は、エンコーダを提供する。図18は、エンコーダの構造の概略図のその一である。図18に示すように、本願の実施例によるエンコーダ100は、第1決定部101と、第1判断部102と、第1予測部103と、を備えてもよい。
前記第1決定部101は、符号化対象点群における予測対象点の現在モートンコードを決定し、前記現在モートンコードに基づいて、所定の隣接情報テーブルによって、前記予測対象点に対応する目標モートンコードを決定するように構成され、ここで、前記所定の隣接情報テーブルは、前記予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、
前記第1判断部102は、前記目標モートンコードに基づいて、前記符号化対象点群に前記予測対象点の隣接点が存在するかどうかを判断するように構成され、
前記第1予測部103は、前記符号化対象点群に前記隣接点が存在すれば、前記隣接点の属性再構築情報に基づいて、前記予測対象点の属性予測値を予測するように構成される。
図19は、エンコーダの構造の概略図のその二である。図19に示すように、本願の実施例によるエンコーダ100は、第1プロセッサ104と、第1プロセッサ104による実行可能な命令が記憶されている第1メモリ105と、第1通信インタフェース106と、第1プロセッサ104、第1メモリ105及び第1通信インタフェース106を接続するための第1バス107とを更に備えてもよい。
更に、本願の実施例において、上記第1プロセッサ104は、符号化対象点群における予測対象点の現在モートンコードを決定し、前記現在モートンコードに基づいて、所定の隣接情報テーブルによって、前記予測対象点に対応する目標モートンコードを決定し、ここで、前記所定の隣接情報テーブルは、前記予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、
前記目標モートンコードに基づいて、前記符号化対象点群に前記予測対象点の隣接点が存在するかどうかを判断し、前記符号化対象点群に前記隣接点が存在すれば、前記隣接点の属性再構築情報に基づいて、前記予測対象点の属性予測値を予測するように構成される。
また、本願の各実施例における各機能モジュールは1つの処理ユニットに集積されてもよいし、各ユニットが物理的に別個のものとして存在してもよいし、2つ又は2つ以上のユニットが1つのユニットに集積されてもよい。上記集積したユニットは、ハードウェア形式で実現してもよく、ハードウェアとソフトウェア機能ユニットとの組み合わせの形式で実現してもよい。
集積したユニットは、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売または使用されるとき、コンピュータ可読記憶媒体に記憶されてもよい。このような理解のもと、本願の技術案は、本質的に、又は、従来技術に対して貢献をもたらした部分又は該技術的解決手段の一部は、ソフトウェア製品の形式で具現化することができ、該コンピュータソフトウェア製品は、記憶媒体に記憶してもよく、また、1台のコンピュータ機器(パソコン、サーバ、又はネットワーク機器など)又はprocessor(プロセッサ)に、本実施例に記載の方法の全部又は一部のステップを実行させるための若干の命令を含む。上述した記憶媒体は、USBメモリ、ポータブルハードディスク、読み出し専用メモリ(Read Only Memory:ROM)、ランダムアクセスメモリ(Random Access Memory:RAM)、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な各種の媒体を含む。
本願の実施例は、エンコーダを提供する。該エンコーダは、符号化対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、符号化対象点群に予測対象点の隣接点が存在するかどうかを判断し、符号化対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、エンコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、エンコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
上記実施例によれば、本願の別の実施例において、図20は、デコーダの構造の概略図のその一である。図20に示すように、本願の実施例によるデコーダ200は、第2決定部201と、第2判断部202と、第2予測部203と、を備えてもよい。
前記第2決定部201は、復号対象点群における予測対象点の現在モートンコードを決定し、前記現在モートンコードに基づいて、所定の隣接情報テーブルによって、前記予測対象点に対応する目標モートンコードを決定するように構成され、ここで、前記所定の隣接情報テーブルは、前記予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、
前記第2判断部202は、前記目標モートンコードに基づいて、前記復号対象点群に前記予測対象点の隣接点が存在するかどうかを判断するように構成され、
前記第2予測部203は、前記復号対象点群に前記隣接点が存在すれば、前記隣接点の属性再構築情報に基づいて、前記予測対象点の属性予測値を予測するように構成される。
図21は、デコーダの構造の概略図のその二である。図21に示すように、本願の実施例によるデコーダ200は、第2プロセッサ204と、第2プロセッサ204による実行可能な命令が記憶されている第1メモリ205と、第2通信インタフェース206と、第2プロセッサ104、第2メモリ205及び第2通信インタフェース206を接続するための第2バス207とを更に備えてもよい。
更に、本願の実施例において、上記第2プロセッサ204は、復号対象点群における予測対象点の現在モートンコードを決定し、前記現在モートンコードに基づいて、所定の隣接情報テーブルによって、前記予測対象点に対応する目標モートンコードを決定し、ここで、前記所定の隣接情報テーブルは、前記予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、前記目標モートンコードに基づいて、前記復号対象点群に前記予測対象点の隣接点が存在するかどうかを判断し、前記復号対象点群に前記隣接点が存在すれば、前記隣接点の属性再構築情報に基づいて、前記予測対象点の属性予測値を予測するように構成される。
また、本願の各実施例における各機能モジュールは1つの処理ユニットに集積されてもよいし、各ユニットが物理的に別個のものとして存在してもよいし、2つ又は2つ以上のユニットが1つのユニットに集積されてもよい。上記集積したユニットは、ハードウェア形式で実現してもよく、ハードウェアとソフトウェア機能ユニットとの組み合わせの形式で実現してもよい。
集積したユニットは、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売または使用されるとき、コンピュータ可読記憶媒体に記憶されてもよい。このような理解のもと、本願の技術案は、本質的に、又は、従来技術に対して貢献をもたらした部分又は該技術的解決手段の一部は、ソフトウェア製品の形式で具現化することができ、該コンピュータソフトウェア製品は、記憶媒体に記憶してもよく、また、1台のコンピュータ機器(パソコン、サーバ、又はネットワーク機器など)又はprocessorに、本実施例に記載の方法の全部又は一部のステップを実行させるための若干の命令を含む。上述した記憶媒体は、USBメモリ、ポータブルハードディスク、ROM、RAM、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な各種の媒体を含む。
本願の実施例は、デコーダを提供する。該デコーダは、復号対象点群における予測対象点の現在モートンコードを決定し、現在モートンコードに基づいて、所定の隣接情報テーブルによって、予測対象点に対応する目標モートンコードを決定し、ここで、所定の隣接情報テーブルは、予測対象点の隣接位置と所定基準点との座標差を決定するためのものであり、目標モートンコードに基づいて、復号対象点群に予測対象点の隣接点が存在するかどうかを判断し、復号対象点群に隣接点が存在すれば、隣接点の属性再構築情報に基づいて、予測対象点の属性予測値を予測する。これからわかるように、本願の実施例において、デコーダとデコーダは、予測対象点に対して属性情報の予測を行う場合、所定の隣接情報テーブルに基づいて、予測対象点の現在モートンコードを利用して予測対象点の周囲の隣接位置に対応する目標モートンコードを決定することができ、点群において、該隣接位置に予測対象点の隣接点が存在すれば、デコーダとデコーダは、直接的に該隣接点の属性再構築値を利用して予測を行い、予測対象点の属性予測値を得ることができる。予測対象点と隣接点との相関性がより高いため、隣接点によって予測対象点の属性情報の予測を実現することで、予測の正確性を効果的に向上させ、予測残差を大幅に減少させ、符号化効率を向上させることができる。
本願の実施例は、コンピュータ可読記憶媒体を提供する。前記コンピュータ可読記憶媒体に、プログラムが記憶されており、該プログラムがプロセッサにより実行される時、上記実施例に記載の方法を実現する。
具体的には、本実施例における属性情報の予測方法に対応するプログラム命令は、光ディスク、ハードディスク、USBメモリなどの記憶媒体に記憶されてもよく、記憶媒体における、属性情報の予測方法に対応するプログラム命令が電子機器により読み取られるか又は実行される時、
符号化対象点群における予測対象点の現在モートンコードを決定するステップと、
前記現在モートンコードに基づいて、所定の隣接情報テーブルによって、前記予測対象点に対応する目標モートンコードを決定するステップであって、ここで、前記所定の隣接情報テーブルは、前記予測対象点の隣接位置と所定基準点との座標差を決定するためのものである、ステップと、
前記目標モートンコードに基づいて、前記符号化対象点群に前記予測対象点の隣接点が存在するかどうかを判断するステップと、
前記符号化対象点群に前記隣接点が存在すれば、前記隣接点の属性再構築情報に基づいて、前記予測対象点の属性予測値を予測するステップと、を含む。
記憶媒体における、属性情報の予測方法に対応するプログラム命令が電子機器により読み取られるか又は実行される時、
復号対象点群における予測対象点の現在モートンコードを決定するステップと、
前記現在モートンコードに基づいて、所定の隣接情報テーブルによって、前記予測対象点に対応する目標モートンコードを決定するステップであって、ここで、前記所定の隣接情報テーブルは、前記予測対象点の隣接位置と所定基準点との座標差を決定するためのものである、ステップと、
前記目標モートンコードに基づいて、前記復号対象点群に前記予測対象点の隣接点が存在するかどうかを判断するステップと、
前記復号対象点群に前記隣接点が存在すれば、前記隣接点の属性再構築情報に基づいて、前記予測対象点の属性予測値を予測するステップと、を更に含む。
当業者であれば理解できるように、本願の実施例は、方法、システム又はコンピュータプログラム製品として提供されてもよい。従って、本願は、ハードウェア実施例、ソフトウェア実施例、又はハードウェアとソフトウェアを組みわせた実施例の形式を用いてもよい。そして、本願は、コンピュータによる利用可能なプログラムコードを含む1つ又は複数のコンピュータによる利用可能な記憶媒体(磁気ディスクメモリと光学メモリなどを含むが、これらに限らない)で実施されるコンピュータプログラム製品の形式を用いてもよい。
本願は、本願の実施例の方法、機器(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照しながら、説明する。コンピュータプログラム命令によって、フローチャート及び/又はブロック図における各フロー及び/又はブロックを実現し、フローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせを実現してもよいことが、理解されるべきである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、埋め込み型プロセッサまたはその他プログラマブルデータ処理機器のプロセッサに提供でき、それによって機器を生み出し、これら命令はコンピュータまたはその他プログラマブルデータ処理機器のプロセッサにより実行される時、フローチャートにおける1つ又は複数のフロー及び/又はブロック図における1つ又は複数のブロック中で規定している機能を実現する装置を生み出した。
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理機器を特定の方式で作動するように案内できるコンピュータ可読記憶媒体に記憶されてもよい。これによって、該コンピュータ可読記憶媒体に記憶されている命令によって、命令装置を含む製造品を生み出す。該命令装置は、フローチャートにおける1つ又は複数のフロー及び/又はブロック図における1つ又は複数のブロック中で規定している機能を実現する。
これらのコンピュータプログラム命令をコンピュータ又は他のプログラマブルデータ処理機器にロードしてもよい。これにより、コンピュータ又は他のプログラマブルデータ処理機器で一連の操作のステップを実行して、コンピュータで実施されるプロセスを生成する。従って、コンピュータ又は他のプログラマブルデータ処理機器で実行される命令により、フローチャートにおける1つ又は複数のフロー及び/又はブロック図における1つ又は複数のブロック中で規定している機能を実現するためのステップを提供する。
以上は本願の好適な実施例に過ぎず、本願の保護範囲を限定するものではない。