(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】イントラ予測方法、装置、エンコーダ、デコーダ、及び記憶媒体
(51)【国際特許分類】
G06T 9/40 20060101AFI20241111BHJP
【FI】
G06T9/40
(21)【出願番号】P 2022557779
(86)(22)【出願日】2020-03-24
(86)【国際出願番号】 CN2020080965
(87)【国際公開番号】W WO2021189262
(87)【国際公開日】2021-09-30
【審査請求日】2023-02-28
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(74)【代理人】
【識別番号】100096921
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】ワン、シューアイ
(72)【発明者】
【氏名】ワン、チョーチョン
(72)【発明者】
【氏名】ヤン、フーチョン
(72)【発明者】
【氏名】マー、イェンチュオ
(72)【発明者】
【氏名】フオ、チュンイェン
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】中国特許出願公開第110418135(CN,A)
【文献】国際公開第2019/079397(WO,A1)
【文献】国際公開第2020/004461(WO,A1)
【文献】Description of Core Experiment 13.11 for G-PCC: On Intra Occupancy Prediction,ISO/IEC JTC 1/SC 29/WG 11 N19147,イタリア,ITU,2020年02月21日,pp.1-3,[online],[retrieved on 2024-04-26],Retrieved from the Internet: <URL: https://www.mpeg.org/wp-content/uploads/mpeg_meetings/129_Brussels/w19147.zip>
【文献】SCHNABEL, Ruwen et al.,Octree-Based Point-Cloud Compression,Proc. 3rd Eurographics / IEEE VGTC Conference on Point-Based Graphics 2006,米国,The Eurographics Association,2006年07月29日,pp.111-121,[online],[retrieved on 2024-04-26],Retrieved from the Internet: <URL: https://dl.acm.org/doi/10.5555/2386388.2386404>
【文献】LASSERRE, Sebastien et al.,Using Neighbouring Nodes for the Compression of Octrees Representing the Geometry of Point Clouds,Proc. 10th ACM Multimedia Systems Conference 2019,米国,Association for Computing Machinery,2019年06月18日,pp.145-153,[online],[retrieved on 2024-04-26],Retrieved from the Internet: <URL: https://dl.acm.org/doi/abs/10.1145/3304109.3306224>,https://doi.org/10.1145/3304109.3306224
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00- 9/40
H04N 7/12
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
エンコーダに適用されるイントラ予測方法であって、
イントラ予測をイネーブルし、現在のノードの第1数量の隣接ノードの占有情報及び前記第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を決定することと、
第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を決定することであって、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有することと、
前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することと、を含む、イントラ予測方法。
【請求項2】
前記関連関係は、前記第2数量の隣接ノードと前記現在のノードの前記サブノードとの間で、面、エッジ、又は頂点を共有することを含む、
請求項1に記載のイントラ予測方法。
【請求項3】
前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記現在のノードの第1数量の隣接ノードの占有情報及び前記第1占有数量に基づいて、前記第1数量の隣接ノードにおける第1目標占有数量を決定することと、
前記現在のノードの第1数量の隣接ノードの占有情報及び前記第2占有数量に基づいて、前記第2数量の隣接ノードにおける第2目標占有数量を決定することと、
前記第1目標占有数量、前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することと、を含む、
請求項2に記載のイントラ予測方法。
【請求項4】
前記第1目標占有数量、前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記第1数量に関連する第4数量を決定することと、
前記第4数量と前記第1目標占有数量との大小関係を決定することと、
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することと、を含む、
請求項3に記載のイントラ予測方法。
【請求項5】
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記大小関係が、前記第1目標占有数量が前記第4数量より大きいことを表す場合、
前記第2目標占有数量が第1目標閾値以下である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含まないことであると決定することと、
前記第2目標占有数量が第2目標閾値以上である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含むことであると決定し、前記第1目標閾値は前記第2目標閾値より小さい、ことと、
前記第2目標占有数量が前記第1目標閾値より大きく、且つ前記第2目標閾値より小さい場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードの占有情報を予測しないことであると決定することと、含む、
請求項4に記載のイントラ予測方法。
【請求項6】
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記大小関係が、前記第1目標占有数量が前記第4数量以下であることを表す場合、
前記第2目標占有数量が第3目標閾値以下である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含まないことであると決定し、前記第3目標閾値は第1目標閾値に等しい、ことと、
前記第2目標占有数量が第4目標閾値以上である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含むことであると決定し、前記第3目標閾値は前記第4目標閾値より小さく、前記第4目標閾値は前記第2目標閾値より小さい、ことと、
前記第2目標占有数量が前記第3目標閾値より大きく、且つ前記第4目標閾値より小さい場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードの占有情報を予測しないことであると決定することと、含む、
請求項5に記載のイントラ予測方法。
【請求項7】
デコーダに適用されるイントラ予測方法であって、
イントラ予測をイネーブルし、現在のノードの第1数量の隣接ノードの占有情報及び前記第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を決定することと、
第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を決定することであって、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有することと、
前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することと、を含む、イントラ予測方法。
【請求項8】
前記関連関係は、前記第2数量の隣接ノードと前記現在のノードの前記サブノードとの間で、面、エッジ、又は頂点を共有することを含む、
請求項7に記載のイントラ予測方法。
【請求項9】
前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記現在のノードの第1数量の隣接ノードの占有情報及び前記第1占有数量に基づいて、前記第1数量の隣接ノードにおける第1目標占有数量を決定することと、
前記現在のノードの第1数量の隣接ノードの占有情報及び前記第2占有数量に基づいて、前記第2数量の隣接ノードにおける第2目標占有数量を決定することと、
前記第1目標占有数量、前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することと、を含む、
請求項8に記載のイントラ予測方法。
【請求項10】
前記第1目標占有数量、前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記第1数量に関連する第4数量を決定することと、
前記第4数量と前記第1目標占有数量との大小関係を決定することと、
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することと、を含む、
請求項9に記載のイントラ予測方法。
【請求項11】
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記大小関係が、前記第1目標占有数量が前記第4数量より大きいことを表す場合、
前記第2目標占有数量が第1目標閾値以下である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含まないことであると決定することと、
前記第2目標占有数量が第2目標閾値以上である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含むことであると決定し、前記第1目標閾値は前記第2目標閾値より小さい、ことと、
前記第2目標占有数量が前記第1目標閾値より大きく、且つ前記第2目標閾値より小さい場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードの占有情報を予測しないことであると決定することと、含む、
請求項10に記載のイントラ予測方法。
【請求項12】
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有予測結果を決定することは、
前記大小関係が、前記第1目標占有数量が前記第4数量以下であることを表す場合、
前記第2目標占有数量が第3目標閾値以下である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含まないことであると決定し、前記第3目標閾値は第1目標閾値に等しい、ことと、
前記第2目標占有数量が第4目標閾値以上である場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードが点を含むことであると決定し、前記第3目標閾値は前記第4目標閾値より小さく、前記第4目標閾値は前記第2目標閾値より小さい、ことと、
前記第2目標占有数量が前記第3目標閾値より大きく、且つ前記第4目標閾値より小さい場合、前記現在のノードのサブノードの占有予測結果が、前記サブノードの占有情報を予測しないことであると決定することと、含む、
請求項11に記載のイントラ予測方法。
【請求項13】
実行可能なイントラ予測命令を記憶する、第1メモリと、
前記第1メモリに記憶された実行可能なイントラ予測命令を実行するときに、請求項1~6のいずれか一項に記載の方法を実現する第1プロセッサと、を備える、エンコーダで使用する装置。
【請求項14】
実行可能なイントラ予測命令を記憶する、第2メモリと、
前記第2メモリに記憶された実行可能なイントラ予測命令を実行するときに、請求項7~12のいずれか一項に記載の方法を実現する第2プロセッサと、を備える、デコーダで使用する装置。
【請求項15】
第1プロセッサに、請求項1~6
のいずれか一項に記載の方法を実行させるための実行可能なイントラ予測命令を記憶する、コンピュータ可読記憶媒体。
【請求項16】
第2プロセッサに、請求項7~12のいずれか一項に記載の方法を実行させるための実行可能なイントラ予測命令を記憶する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願実施例は、通信分野におけるコーデック技術に関し、特に、イントラ予測方法、装置、エンコーダ、デコーダ、及び記憶媒体に関する。
【背景技術】
【0002】
現在、関連技術における八分木に基づくジオメトリ情報符号化のイントラ予測技術案では、現在のノードの26個の隣接ノードの占有情報と複数の所定の閾値を使用して、計算及び比較を行う。上記の予測技術案をイントラ予測に使用する場合、多くのルックアップテーブル(Look Up Table)が関与し、少なくとも16個の重み及び10個の閾値がイントラ予測に関与するため、最適解を求めることは困難であり、それにより、イントラ予測の結果が最適になれないことに留意されたい。これにより、関連技術で、イントラ予測を行う際に計算量が多く、コーデック時間が長く、及びイントラ予測結果が不正確であるという問題があることが分かる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本願実施例は、コーデック処理時のイントラ予測の速度及び精度を向上させ、さらにコーデックの品質を向上させることができるイントラ予測方法、装置、エンコーダ、デコーダ、及び記憶媒体を提供する。
【課題を解決するための手段】
【0004】
本願実施例の技術的解決策は、以下のように実現できる。
【0005】
第1態様によれば、本願実施例は、イントラ予測方法を提供し、前記方法は、
入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得することと、
前記第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出することであって、ここで、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有することと、
前記第2数量の隣接ノードの占有情報に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることと、を含む。
【0006】
第2態様によれば、本願実施例は、イントラ予測方法を提供し、前記方法は、
入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び前記第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得することと、
第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得することであって、ここで、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有することと、
前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることと、を含む。
【0007】
第3態様によれば、本願実施例は、イントラ予測装置を更に提供し、前記装置は、
入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得するように構成される第1処理モジュールと、
前記第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出するように構成される第1抽出モジュールであって、ここで、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有する、第1抽出モジュールと、
前記第2数量の隣接ノードの占有情報に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される第2処理モジュールと、を備える。
【0008】
第4態様によれば、本願実施例は、イントラ予測装置を更に提供し、前記装置は、
入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び前記第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得するように構成される第3処理モジュールと、
第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得するように構成される第1取得モジュールであって、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有する、第1取得モジュールと、
前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される第4処理モジュールと、を備える。
【0009】
第5態様によれば、本願実施例は、エンコーダを提供し、前記エンコーダは、
実行可能なイントラ予測命令を記憶する、第1メモリと、
前記第1メモリに記憶された実行可能なイントラ予測命令を実行するときに、第1態様に記載のイントラ予測方法を実現する第1プロセッサと、を備える。
【0010】
第6態様によれば、本願実施例は、デコーダを更に提供し、前記デコーダは、
実行可能なイントラ予測命令を記憶する、第2メモリと、
前記第2メモリに記憶された実行可能なイントラ予測命令を実行するときに、第1態様に記載のイントラ予測方法を実現する第1プロセッサと、を備える。
【0011】
第7態様によれば、本願実施例は、実行可能なイントラ予測命令が記憶されたコンピュータ可読記憶媒体を提供し、前記実行可能なイントラ予測命令は、第1プロセッサによって実行されるときに、第1態様に記載のイントラ予測方法を実現する。
【0012】
本願実施例は、イントラ予測方法、装置、エンコーダ、デコーダ、及び記憶媒体を提供し、前記イントラ予測方法は、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得することと、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出することであって、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有することと、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることと、を含み、つまり、本願実施例は、現在のノードのサブノードの占有情報に対してイントラ予測を実行するとき、現在のノードのサブノードとの間に関連系を有する現在のノードのサブノードのみを考慮し、それにより、ルックアップテーブルを削減し、計算複雑度を低下し、イントラ予測結果の精度を向上させ、コーデックの時間を短縮し、コーデックの精度を向上させるという目的を達成する。
【図面の簡単な説明】
【0013】
【
図1】本願実施例による例示的な符号化のフロチャートである。
【
図2】本願実施例による例示的なイントラ予測方法の第1のフロチャートである。
【
図3】本願実施例による例示的なイントラ予測方法の第2のフロチャートである。
【
図4】本願実施例による例示的な現在のノードの異なるサブノードが点群を含む概略図である。
【
図5】本願実施例による例示的なエンコーダよって実行されるイントラ予測方法の第1のフローチャートである。
【
図6】本願実施例による例示的なデコーダよって実行されるイントラ予測方法の第1のフローチャートである。
【
図7】本願実施例による例示的な現在のノードの特定のサブノードが点群を含む概略図である。
【
図8】本願実施例による例示的なイントラ予測方法の第3のフロチャートである。
【
図9】本願実施例による例示的なイントラ予測方法の第4のフロチャートである。
【
図10】本願実施例による例示的なエンコーダよって実行されるイントラ予測方法の第2のフローチャートである。
【
図11】本願実施例による例示的なデコーダによって実行されるイントラ予測方法の第2のフローチャートである。
【
図12】本願実施例による非可逆圧縮下でのBDレートを示す。
【
図13】本願実施例による可逆圧縮下でのbpip ratioを示す。
【
図14】本願実施例によるイントラ予測装置の構造概略図である。
【
図15】本願実施例によるデコーダの構造概略図である。
【
図16】本願実施例によるエンコーダの構造概略図である。
【発明を実施するための形態】
【0014】
本願実施例の目的、技術的解決策及び利点をより明確にするために、以下では、本願実施例の図面を参照して、本願の具体的な技術的解決策を更に詳細に説明する。以下の実施例は、本願を説明するために使用されるが、本願を限定することを意図するものではない。
【0015】
特に明記されていない限り、本願で使用されるすべての技術用語及び科学用語は、本願の当業者によって通常理解されるものと同じ意味を有する。本願で使用される用語は、本願実施例を説明するためにのみ採用され、本願を限定することを意図するものではない。
【0016】
以下の説明において、「いくつかの実施例」とは、全ての可能な実施例のサブセットを指すが、「いくつかの実施例」というのは、全ての可能な実施例の同じサブセット又は異なるサブセットであり得、競合することなく互いに組み合わせることができることが理解できる。
【0017】
本願実施例に係る「第1\第2\第3」などの用語は、対象に対する特定の順番を表すものではなく、類似する対象を区別するものであることに留意されたい。「第1\第2\第3」は、許可された場合において特定の順番又は前後順番を交換できるので、本明細書に記載の本願実施例は、本明細書に図示された又は記載されたもの以外の順番で実行できることが理解できる。
【0018】
本願実施例を更に詳細に説明する前に、本願実施例に係る名詞及び用語を説明し、本願実施例に係る名詞及び用語は、以下の説明に適している。
【0019】
1)点群圧縮(PCC:Point Cloud Compression)
2)ジオメトリベースの点群圧縮(G-PCC:Geometry-based Point Cloud Compression)
3)シート/ストリップ:slice
4)バウンディングボックス:bounding box
5)八分木:octree
6)イントラ予測:intra prediction
7)トリスープ(trisoup:triangle soup)
8)コンテキストモデルベースの適応バイナリ算術コーディング(CABAC:Context-based Adaptive Binary Arithmetic Coding)
9)ブロック:block
10)バーテックス:vertex
11)レッドグリーンブルー(RGB:Red-Green-Blue)
12)輝度クロミナンス(YUV:Luminance-Chrominance)
13)詳細レベル(LOD:Level of Detail)
14)領域適応階層変換(RAHT:Region Adaptive Hierarchal Transform)
15)ルックアップテーブル(LUT:Look Up Table)
16)動画専門家グループ(MPEG:Moving Picture Experts Group)
17)国際標準化機構(ISO:International Standardization Organization)
18)国際電気技術委員会(IEC:International Electrotechnical Commission)
19)隣接ノードにおける占有ノードの数(No:number of occupied neighbours)
本願実施例では、点群G-PCCエンコーダフレームワークにおいて、3D画像モデルへの入力点群をslice分割した後、各sliceを独立して符号化する。
【0020】
図1に示すようなG-PCC符号化のフローチャートでは、入力点群をslice分割した後、各sliceを独立して符号化する。各sliceにおいて、点群のジオメトリ情報と各点に対応する属性情報が別々に符号化される。まず、点群がすべてbounding boxに含まれるように、ジオメトリ情報の座標変換を実行する。次に、量子化を実行し、この量子化のステップは主にスケーリングの役割を果たし、量子化の丸めにより、一部の点のジオメトリ情報が同じになり、パラメータに基づいて、重複点を除去するかどうかを決定し、重複点を量子化および除去するプロセスをボクセル化プロセスとも呼ぶ。次に、bounding boxに対してoctreeに基づく分割を実行する。八分木分割階層の異なる深さに基づいて、ジオメトリ情報の符号化はさらに、八分木及びtrisoupに基づく2つのフレームワークに分割される。
【0021】
八分木に基づくジオメトリ情報符号化フレームワークでは、バウンディングボックスを八等分して8つのサブキューブに分割し、各キューブの占有情報(1は非空であり、0は空である)を記録し、非空のサブキューブを八等分し続け、分割して得られた葉ノードが1x1x1のユニットキューブになると、分割を停止する。このプロセスでは、ノードと周囲のノード間の空間相関性を使用して、占有情報に対してintra predictionを実行し、最後にCABACを実行して、バイナリコードストリームを生成する。
【0022】
trisoupに基づくジオメトリ情報符号化フレームワークでは、同様に、まず八分木分割を実行する必要があるが、八分木に基づくジオメトリ情報符号化とは異なり、当該方法は、点群を、辺長が1x1x1のユニットキューブに段階的に分割する必要はなく、blockの辺長がWであるときに分割を停止し、各bloc内の点群の分布によって形成される表面に基づいて、当該表面とblockの12個の辺によって生成される最大12個のvertexを取得する。各blockのvertex座標を順次符号化して、バイナリコードストリームを生成する。
【0023】
ジオメトリ符号化が完了した後、ジオメトリ情報を再構築する。現在、属性符号化は、主に色情報に対して実行される。まず、色情報をRGB色空間からYUV色空間に変換する。次に、符号化されていない属性情報が再構成されたジオメトリ情報に対応するように、再構成されたジオメトリ情報を使用して、点群を再着色する。色情報の符号化では、主に、2つの変換方法があり、1つは、LOD分割に依存する距離ベースのリフティング変換であり、もう1つは、RAHT変換を直接実行することであり、これらの2つの変換方法は、色情報を空間領域から周波数領域に変換し、変換によって高周波係数と低周波係数を取得し、最後に係数を量子化して符号化し、バイナリコードストリームを生成する。
【0024】
ここで、八分木に基づくジオメトリ情報符号化のイントラ予測について説明する。
【0025】
現在のノードの26個の隣接ノードの占有情報に基づいて、現在のノードのサブノードが占有されているかどうかを予測することが、イントラ予測であり、イントラ予測の実施は、以下の通りである。
【0026】
まず、八分木分割の現在の階層レベルが所定の階層の数L未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0027】
【0028】
最後に、出力0又は1によって表される「予測するかどうか」及び「予測値」は、後の占有情報に対するエントロピー符号化に使用される。ここで、1、1は「占有」を表し、1、0は「占有しない」を表し、0、0は「予測しない」を表す。
【0029】
【0030】
【0031】
本願実施例は、イントラ予測方法を提供し、
図2に示すように、当該方法は、以下のステップを含む。
【0032】
ステップ101において、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得する。
【0033】
本願実施例では、エンコーダ又はデコーダが、ステップ101~ステップ103を実行して、現在のノードのサブノードの占有情報に対してイントラ予測の第1予測結果を得ることができる。
【0034】
ここで、エンコーダがステップ101~ステップ103を実行することを例にとると、当該エンコーダは、G-PCCエンコーダなどの三次元点群エンコーダを含む。G-PCCエンコーダは、入力点群をslice分割した後、各sliceを独立して符号化し、ここで、エンコーダは、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得する。いくつかの実施例では、エンコーダは、octreeに基づいて入力点群を分割することができる。
【0035】
ステップ102において、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出する。
【0036】
ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有する。
【0037】
本願実施例では、エンコーダは、現在のノードの第1数量の隣接ノードの占有情報を取得した後、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出し、なお、第2数量の隣接ノードと現在のノードのサブノードとの間は関連関係を有し、つまり、現在のノードの第1数量の隣接ノードの占有情報を得た後、まず、現在のノードの第1数量の隣接ノードの占有情報を選別して、現在のノードのサブノードに一定の影響を与える隣接ノードの占有情報を決定し、選別された占有情報を、現在のノードのサブノードの占有情報のイントラ予測の参照因子として使用し、このようにして、第1数量の隣接ノードの占有情報のすべてを考慮した計算量が削減され、符号化時間の短縮、符号化効率の向上、符号化精度の向上の基礎となることに留意されたい。
【0038】
ステップ103において、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0039】
本願実施例では、エンコーダが第2数量の隣接ノードの占有情報を選別した後、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0040】
本願実施例によって提供されるイントラ予測方法では、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得し、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出し、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有し、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。つまり、本願実施例において、現在のノードのサブノードの占有情報に対してイントラ予測を実行する場合、現在のノードのサブノードとの間に関連関係を有する第2数量の隣接ノードのみを考慮し、それにより、ルックアップテーブルを削減し、計算の複雑さを軽減し、イントラ予測結果の精度を向上させ、コーデックの時間を短縮し、コーデックの精度を向上させるという目的に達成できる。
【0041】
本願実施例は、イントラ予測方法を提供し、
図3を参照すれば、イントラ予測方法がエンコーダに適用される場合、当該方法は、ステップ201~ステップ206を含み、イントラ予測方法がデコーダに適用される場合、当該方法は、ステップ201~ステップ204及びステップ207~ステップ208を含むことに留意されたい。
【0042】
いくつかの実施例では、エンコーダは、三次元点群エンコーダを含み、デコーダは、三次元点群デコーダを含む。
【0043】
ステップ201において、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得する。
【0044】
本願実施例では、エンコーダ又はデコーダは、入力点群を分割した後に得られた現在の階層Lが目標階層より小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得する。例示的に、エンコーダ又はデコーダは、入力点群に基づいて、現在のノードkの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1である。
【0045】
ステップ202において、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出する。
【0046】
ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有する。ここで、関連関係は、第2数量の隣接ノードと現在のノードのサブノードとの間で、面、エッジ、及び頂点を共有することを含む。
【0047】
本願実施例では、第2数量の隣接ノードは、現在のノードのサブノードとの間で、面、エッジ、及び頂点を共有する隣接ノードを含み、それにより、第1数量の隣接ノードのうち、現在のノードの特定のサブノードにほとんど影響を与えない又は影響が小さい隣接ノードを除外し、このようにして、計算量が削減されるだけでなく、同時にコーデックの時間を効果的に短縮させ、コーデックの精度を保証することができる。
【0048】
ステップ203において、第2数量の隣接ノードの占有情報に基づいて、サブノードの第2数量の隣接ノードに対応する占有数量を決定する。
【0049】
【0050】
【0051】
【0052】
ステップ204において、占有数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0053】
ここで、第1予測結果は、予測するかどうかの予測パラメータ及び予測状況での予測値パラメータを指示するために使用される。
【0054】
本願実施例では、ステップ204における占有数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップによって実現できる。
【0055】
ステップ204aにおいて、第2数量に関連する第3数量を取得する。
【0056】
いくつかの実施例では、第3数量は、第2数量の半分に等しくてもよい。もちろん、本願の別の実施例では、実際の状況に応じて、第2数量に基づいて第3数量を柔軟に決定することもできる。
【0057】
例示的に、サブノードmの7近傍のノードを考慮する場合、第3数量は、4であり得る。
【0058】
ステップ204bにおいて、占有数量及び第3数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0059】
本願のいくつかの実施例では、ステップ204bにおける占有数量及び第3数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含む。
【0060】
ステップ204b1において、占有数量と第3数量が異なると決定した場合、占有数量、第1閾値、第2閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0061】
【0062】
さらに、占有数量と第3数量が異なると決定した場合、一実現可能なシナリオでは、ステップ204b1における占有数量、第1閾値、第2閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含み得る。
【0063】
Step11において、占有数量を第1閾値と比較する。
【0064】
Step12において、占有数量が第1閾値以下であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含まないという第1予測結果を得る。
【0065】
さらに、占有数量と第3数量が異なると決定した場合、別の実現可能なシナリオでは、占有数量、第1閾値、第2閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含み得る。
【0066】
Step21において、占有数量を第1閾値と比較する。
【0067】
Step22において、占有数量が第2閾値以上であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含むという第1予測結果を得る。
【0068】
本願の更に別の実現可能なシナリオでは、占有数量を第1閾値と比較して、占有数量が第1閾値より大きく、且つ第2閾値より小さいと決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得る。
【0069】
本願の別の実施例では、ステップ204bにおける占有数量及び第3数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含む。
【0070】
ステップ204b2において、占有数量が第3数量と同じであると決定した場合、占有数量、第3閾値、第4閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0071】
本願実施例では、ステップ204b2における占有数量が第3数量と同じであると決定した場合、占有数量、第3閾値、第4閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含み得る。
【0072】
ステップ204b21において、占有数量が第3数量と同じであると決定した場合、サブノードの第2数量の隣接ノードからサブノードまでの距離に基づいて、第2数量の隣接ノードの占有情報の重みを設定する。
【0073】
ステップ204b22において、第2数量の隣接ノードの占有情報、及び第2数量の隣接ノードの占有情報に対応する重みに基づいて、サブノードの目標パラメータを決定する。
【0074】
ステップ204b23において、目標パラメータ、第3閾値、第4閾値に基づいて、第1予測結果を決定する。
【0075】
さらに、実現可能な1つのシナリオでは、ステップ204b23における目標パラメータ、第3閾値、第4閾値に基づいて、第1予測結果を決定することは、目標パラメータが第3閾値以下であると決定した場合、現在のノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含まないという第1予測結果を得るステップを含み得る。
【0076】
【0077】
【0078】
例示的に、
図4における(A)~(H)を参照すれば、現在のノードの異なるサブノードに対応する占有状態、即ち、現在のノードの異なるサブノードの占有情報をそれぞれ表す。
【0079】
【0080】
本願実施例では、例示的に、
LUT_I[8][7]={{0,1,3,4,9,10,12},{1,2,4,5,10,11,13},{3,4,6,7,12,14,15},{4,5,7,8,13,15,16},{9,10,12,17,18,20,21},{10,11,13,18,19,21,22},{12,14,15,20,21,23,24},{13,15,16,21,22,24,25}}であり、
LUT_d[8][7]={{2,1,1,0,1,0,0},{1,2,0,1,0,1,0},{1,0,2,1,0,1,0},{0,1,1,2,0,0,1},{1,0,0,2,1,1,0},{0,1,0,1,2,0,1},{0,1,0,1,0,2,1},{0,0,1,0,1,1,2}}であり、
【0081】
【0082】
さらに、別の実現可能なシナリオでは、ステップ204b23における目標パラメータ、第3閾値、第4閾値に基づいて、第1予測結果を決定することは、目標パラメータが第4閾値以上であると決定した場合、現在のノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含むという第1予測結果を得る、ステップを含み得る。
【0083】
さらに、更に別の実現可能なシナリオでは、ステップ204b23における目標パラメータ、第3閾値、第4閾値に基づいて、第1予測結果を決定することは、目標パラメータが第3閾値より大きく、且つ第4閾値より小さいと決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得る、ステップを含み得る。
【0084】
ステップ205において、第1予測結果に関連する符号化モデルを決定する。
【0085】
本願実施例では、エンコーダが第1予測結果を取得した後、第1予測結果に関連する符号化モデルを決定する。
【0086】
ステップ206において、符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込む。
【0087】
本願実施例では、エンコーダが符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込む。
【0088】
ステップ207において、第1予測結果に関連する復号化モデルを決定する。
【0089】
本願実施例では、エンコーダが第1予測結果を取得した後、第1予測結果に関連する復号化モデルを決定する。
【0090】
ステップ208において、復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得る。
【0091】
本願実施例では、エンコーダが復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得る。
【0092】
一実現可能なシナリオでは、
図5に示すように、エンコーダに適用されるイントラ予測方法を例にとると、エンコーダが現在のノードの特定のサブノードを予測する場合、それと面、エッジ、頂点を共有する7つの隣接する親ノードの影響のみを考慮する。次に、重みの計算、及び閾値の設定に基づいて、予測結果を3種類に分類し、エンコーダがイントラ予測を実行する方法のステップは、以下の通りである。
【0093】
第1のステップにおいて、八分木分割の現在の階層レベルLが所定の階層数未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0094】
第2のステップにおいて、入力情報に基づいて、隣接ノードkの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1である。
【0095】
【0096】
【0097】
【0098】
【0099】
【0100】
例示的に、いくつかの実施例では、
LUT_I[8][7]={{0,1,3,4,9,10,12},{1,2,4,5,10,11,13},{3,4,6,7,12,14,15},{4,5,7,8,13,15,16},{9,10,12,17,18,20,21},{10,11,13,18,19,21,22},{12,14,15,20,21,23,24},{13,15,16,21,22,24,25}}であり、
LUT_d[8][7]={{2,1,1,0,1,0,0},{1,2,0,1,0,1,0},{1,0,2,1,0,1,0},{0,1,1,2,0,0,1},{1,0,0,2,1,1,0},{0,1,0,1,2,0,1},{0,1,0,1,0,2,1},{0,0,1,0,1,1,2}}であり、
【0101】
【0102】
さらに、エンコーダは、第1予測結果に関連する符号化モデルを決定し、符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込む。
【0103】
一実現可能なシナリオでは、
図6に示すように、デコーダに適用されるイントラ予測方法を例にとると、デコーダが現在のノードの特定のサブノードを予測する場合、それと面、エッジ、頂点を共有する7つの隣接する親ノードの影響のみを考慮する。次に、重みの計算、及び閾値の設定に基づいて、予測結果を3種類に分類し、デコーダがイントラ予測を実行する方法のステップは、以下の通りである。
【0104】
第1のステップにおいて、八分木分割の現在の階層レベルLが所定の階層数未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0105】
第2のステップにおいて、入力情報に基づいて、隣接ノードkの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1である。
【0106】
【0107】
【0108】
【0109】
【0110】
第5のステップにおいて、出力0又は1によって表される「予測するかどうか」及び「予測値」は、後の占有情報に対するエントロピー符号化に使用される。ここで、1、1は「占有」を表し、1、0は「占有しない」を表し、0、0は「予測しない」を表す。
【0111】
さらに、デコーダが第1予測結果に関連する復号化モデルを決定し、復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得る。
【0112】
【0113】
例示的に、いくつかの実施例では、
LUT_I[8][7]={{0,1,3,4,9,10,12},{1,2,4,5,10,11,13},{3,4,6,7,12,14,15},{4,5,7,8,13,15,16},{9,10,12,17,18,20,21},{10,11,13,18,19,21,22},{12,14,15,20,21,23,24},{13,15,16,21,22,24,25}}であり、
LUT_d[8][7]={{2,1,1,0,1,0,0},{1,2,0,1,0,1,0},{1,0,2,1,0,1,0},{0,1,1,2,0,0,1},{1,0,0,2,1,1,0},{0,1,0,1,2,0,1},{0,1,0,1,0,2,1},{0,0,1,0,1,1,2}}であり、
【0114】
【0115】
別の実現可能なシナリオでは、エンコーダに適用されるイントラ予測方法を例にとると、上記のイントラ予測の技術案をより単純化し、それにより、イントラ予測の計算量を更に削減することができ、エンコーダがイントラ予測を実行する方法ステップは、以下の通りである。
【0116】
【0117】
第1のステップにおいて、八分木分割の現在の階層レベルLが所定の階層数未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0118】
第2のステップにおいて、入力情報に基づいて、隣接ノードkの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1である。
【0119】
【0120】
【0121】
第5のステップにおいて、出力0又は1によって表される「予測するかどうか」及び「予測値」は、後の占有情報に対するエントロピー符号化に使用される。ここで、1、1は「占有」を表し、1、0は「占有しない」を表し、0、0は「予測しない」を表す。
【0122】
【0123】
【0124】
第1のステップにおいて、八分木分割の現在の階層レベルLが所定の階層数未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0125】
第2のステップにおいて、入力情報に基づいて、隣接ノードkの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1である。
【0126】
【0127】
【0128】
第5のステップにおいて、出力0又は1によって表される「予測するかどうか」及び「予測値」は、後の占有情報に対するエントロピー符号化に使用される。ここで、1、1は「占有」を表し、1、0は「占有しない」を表し、0、0は「予測しない」を表す。
【0129】
【0130】
本願実施例は、イントラ予測方法を提供し、
図8に示すように、当該方法は、以下のステップを含む。
【0131】
ステップ301において、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得する。
【0132】
本願実施例では、エンコーダ又はデコーダは、ステップ301~ステップ303を実行して、現在のノードのサブノードの占有情報に対するイントラ予測の第1予測結果を得ることができる。占有情報とは、ノードが占有又は占有していない情報を指す。占有数量とは、占有情報がノードが占有する情報の隣接ノードの数を指す。エンコーダ側では、入力点群は、符号化された点群データを指し、デコーダ側では、入力点群は、復号化された点群データを指すことに留意されたい。
【0133】
ここで、ステップ301~ステップ303を実行するエンコーダを例にとると、このエンコーダは、G-PCCエンコーダなどの三次元点群エンコーダを含む。G-PCCエンコーダは、入力点群をslice分割した後、各sliceを独立して符号化し、ここで、エンコーダが入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得する。いくつかの実施例では、エンコーダは、octreeに基づいて入力点群を分割することができる。
【0134】
ステップ302において、第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得する。
【0135】
ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有する。
【0136】
本願実施例では、エンコーダは、第1数量の隣接ノードから第2数量の隣接ノードを選択し、第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を記録する。
【0137】
ステップ303において、現在のノードの第1数量の隣接ノードの占有情報、第1占有数量、及び第2占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0138】
本願実施例では、エンコーダは、現在のノードの第1数量の隣接ノードの占有情報、第1占有数量、及び第2占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0139】
本願実施例によって提供されるイントラ予測方法では、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得し、第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得し、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有し、現在のノードの第1数量の隣接ノードの占有情報、第1占有数量、及び第2占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を取得し、つまり、本願実施例では、第1数量の隣接ノードにおけるコーデックされたノードのサブノードの占有情報の状況に基づいて、現在のノードの特定のサブノードを予測する場合、面、エッジ、頂点を共有するような関連関係を有する7つの隣接ノードの親ノードなど、複数の隣接ノードの親ノードの影響のみを考慮し、それにより、ルックアップテーブルを削減し、計算の複雑さを軽減し、コーデックの時間を短縮し、コーデックの精度を向上させることができる。
【0140】
本願実施例は、イントラ予測方法を提供し、
図9に示すように、イントラ予測方法がエンコーダに適用される場合、当該方法は、ステップ401~ステップ407を含み、イントラ予測方法がデコーダに適用される場合、当該方法は、ステップ401~ステップ405及びステップ408~ステップ409を含むことに留意されたい。
【0141】
いくつかの実施例では、エンコーダは、三次元点群エンコーダを含み、デコーダは、三次元点群デコーダを含む。
【0142】
ステップ401において、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得する。
【0143】
ステップ402において、第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得する。
【0144】
ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有する。第2数量の隣接ノードと現在のノードのサブノードとの間で、面、エッジ、及び頂点を共有する。
【0145】
ステップ403において、現在のノードの第1数量の隣接ノードの占有情報及び第1占有数量に基づいて、第1数量の隣接ノードにおける第1目標占有数量を決定する。
【0146】
ここで、エンコーダ又はデコーダは、第1数量の隣接ノードにおけるk番目の隣接ノードについて、k番目の隣接ノードの占有情報及びk番目の隣接ノードに対応する第1占有数量を取得し、例示的に、kの値は、[0,25]であり、エンコーダ又はデコーダは、番号に応じて0から25までサイクルで実行し、26個の隣接ノードにおける合計占有数量、即ち、第1目標占有数量を取得する。
【0147】
ステップ404において、現在のノードの第1数量の隣接ノードの占有情報及び第2占有数量に基づいて、第2数量の隣接ノードにおける第2目標占有数量を決定する。
【0148】
ここで、エンコーダ又はデコーダは、第1数量の隣接ノードから現在のノードにおける隣接ノードkと面、エッジ、及び頂点を共有するサブノードmを見つけ、例示的に、mの値は、[0,7]であり、エンコーダ又はデコーダは、番号に応じて0から7までサイクルで実行して、7つの隣接ノードにおける合計占有数量、即ち、第2目標占有数量を取得する。
【0149】
ステップ405において、第1目標占有数量、第2目標占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0150】
本願実施例では、ステップ405における第1目標占有数量、第2目標占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含む。
【0151】
ステップ405aにおいて、第1数量に関連する第4数量を取得する。
【0152】
ここで、第4数量は、第1数量によって決定され、例えば、第4数量は、第1数量の半分である。例示的に、第1数量は、26であり、第4数量は、13である。
【0153】
ステップ405bにおいて、第4数量と第1目標占有数量との大小関係を取得する。
【0154】
ステップ405cにおいて、大小関係及び第2目標占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得る。
【0155】
本願のいくつかの実施例では、ステップ405cにおける大小関係及び第2目標占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含む。
【0156】
ステップ405c11において、大小関係が、第1目標占有数量が第4数量より大きいことを表す場合、第1目標閾値及び第2目標閾値を生成する。
【0157】
ここで、第1目標閾値は、第2目標閾値より小さい。
【0158】
ステップ405c12において、第2目標占有数量が第1目標閾値以下であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含まないという第1予測結果を得る。
【0159】
ステップ405c13において、第2目標占有数量が第2目標閾値以上であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含むという第1予測結果を得る。
【0160】
ステップ405c14において、第2目標占有数量が第1目標閾値より大きく、且つ第2目標閾値より小さいと決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得る。
【0161】
本願の別のいくつかの実施例では、ステップ405cにおける大小関係及び第2目標占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得ることは、以下のステップを含む。
【0162】
ステップ405c21において、大小関係が、第1目標占有数量が第4数量以下であることを表す場合、第3目標閾値及び第4目標閾値を生成する。
【0163】
ここで、第3目標閾値は、第4目標閾値より小さく、且つ第3目標閾値は、第2目標閾値に等しく、第4目標閾値は、第2目標閾値より小さい。
【0164】
いくつかの実施例では、第1数量の変化につれて、第4数量が対応的に変化し、例示的に、第1数量が26未満である場合、第3目標閾値は、第2目標閾値と異なってもよく、第4目標閾値は、第2目標閾値と異なる。
【0165】
ステップ405c22において、第2目標占有数量が第3目標閾値以下であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含まないという第1予測結果を得る。
【0166】
ステップ405c23において、第2目標占有数量が第4目標閾値以上であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含むという第1予測結果を得る。
【0167】
ステップ405c24において、第2目標占有数量が第3目標閾値より大きく、且つ第4目標閾値より小さいと決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得る。
【0168】
ステップ406において、第1予測結果に関連する符号化モデルを決定する。
【0169】
本願実施例では、エンコーダが第1予測結果を取得した後、第1予測結果に関連する符号化モデルを決定する。
【0170】
ステップ407において、符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込む。
【0171】
本願実施例では、エンコーダは、符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込む。
【0172】
ステップ408において、第1予測結果に関連する復号化モデルを決定する。
【0173】
本願実施例では、エンコーダが第1予測結果を取得した後、第1予測結果に関連する復号化モデルを決定する。
【0174】
ステップ409において、復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得る。
【0175】
本願実施例では、エンコーダは、復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得る。
【0176】
一実現可能なシナリオでは、
図10に示すように、エンコーダに適用されるイントラ予測方法を例にとると、エンコーダは、現在のノードの特定のサブノードを予測する場合、それと面、エッジ、頂点を共有する7つの隣接する親ノードの影響のみを考慮する。エンコーダがイントラ予測方法を実行するステップは、以下の通りである。
【0177】
第1のステップにおいて、八分木分割の現在の階層レベルLが所定の階層数未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0178】
第2のステップにおいて、入力情報に基づいて、現在のノードのk番目の隣接ノードの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1であり、Kの0から25までのサイクルに従って、26個の隣接ノードにおける第1目標占有数量Noを取得する。第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量は、No初期+δに等しく、ここで、No初期は、通常0であり、δは、0又は1であり、つまり、各隣接ノードが更新された後の第1占有数量は、1又は0である。
【0179】
【0180】
【0181】
【0182】
【0183】
【0184】
【0185】
第8のステップにおいて、出力0又は1によって表される「予測するかどうか」及び「予測値」は、後の占有情報に対するエントロピー符号化に使用される。ここで、1、1は「現在のノードのサブノードが点群を含む」ことを表し、1、0は「現在のノードのサブノードが点群を含まない」ことを表し、0、0は「現在のノードのサブノードの占有情報に対してイントラ予測を実行しない」ことを表す。
【0186】
本願実施例では、例示的に、
LUT_I[26][4]={{1,0,0,0},{1,2,0,0},{2,0,0,0},{1,3,0,0},{1,2,3,4},{2,4,0,0},{3,0,0,0},{3,4,0,0},{4,0,0,0},{1,5,0,0},{1,2,5,6},{2,6,0,0},{1,3,5,7},{2,4,6,8},{3,7,0,0},{3,4,7,8},{4,8,0,0},{5,0,0,0},{5,6,0,0},{6,0,0,0},{5,7,0,0},{5,6,7,8},{6,8,0,0},{7,0,0,0},{7,8,0,0},{8,0,0,0}}であり、
【0187】
【0188】
さらに、エンコーダは、第1予測結果に関連する符号化モデルを決定し、符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込む。
【0189】
一実現可能なシナリオでは、
図11に示すように、デコーダに適用されるイントラ予測方法を例にとると、デコーダは、現在のノードの特定のサブノードを予測する場合、それと面、エッジ、頂点を共有する7つの隣接する親ノードの影響のみを考慮する。デコーダがイントラ予測方法を実行するステップは、以下の通りである。
【0190】
第1のステップにおいて、八分木分割の現在の階層レベルLが所定の階層数未満である場合、イントラ予測をイネーブルする。入力は、(x,y,z)座標とフラグビットのマッピングに使用されるモートン3Dマップ、マップシフトパラメータ、及び現在のノードの原点の座標である。
【0191】
第2のステップにおいて、入力情報に基づいて、現在のノードのk番目の隣接ノードの占有情報δを取得し、ここで、kの値は、[0,25]であり、δは、0又は1であり、26個の隣接ノードにおける第1目標占有数量Noを取得する。
【0192】
【0193】
【0194】
【0195】
【0196】
【0197】
第8のステップにおいて、出力0又は1によって表される「予測するかどうか」及び「予測値」は、後の占有情報に対するエントロピー符号化に使用される。ここで、1、1は「現在のノードのサブノードが点群を含む」ことを表し、1、0は「現在のノードのサブノードが点群を含まない」ことを表し、0、0は「現在のノードのサブノードの占有情報に対してイントラ予測を実行しない」ことを表す。
【0198】
本願実施例では、例示的に、
LUT_I[26][4]={{1,0,0,0},{1,2,0,0},{2,0,0,0},{1,3,0,0},{1,2,3,4},{2,4,0,0},{3,0,0,0},{3,4,0,0},{4,0,0,0},{1,5,0,0},{1,2,5,6},{2,6,0,0},{1,3,5,7},{2,4,6,8},{3,7,0,0},{3,4,7,8},{4,8,0,0},{5,0,0,0},{5,6,0,0},{6,0,0,0},{5,7,0,0},{5,6,7,8},{6,8,0,0},{7,0,0,0},{7,8,0,0},{8,0,0,0}}であり、
【0199】
【0200】
さらに、デコーダは、第1予測結果に関連する復号化モデルを決定し、復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得る。
【0201】
【0202】
本願によって提供されるイントラ予測方法に基づいて、
図12に示すように、表1は、非可逆圧縮の場合、関連技術における点群圧縮に基づく解決策と比較して、同じ符号化品質の場合、ビットレートをどのぐらい節約できるかを表し、ここで、テストシーケンスは、13種類の状況を含み、表1に基づいて、本願によって提供されるイントラ予測方法は、各テストシーケンスを処理することによって、コードストリームを節約できることが分かる。
図13に示すように、表2は、可逆圧縮下での圧縮コードストリームのサイズを表し、表2から、圧縮されたコードストリームはすべて100%未満であり、関連技術におけるコード率の一部を使用するだけでコードストリームを得られることが分かる。
【0203】
本願実施例によれば、以下の有益な効果を取得できる。26個の隣接ノードにおけるコーデックされたノードのサブノードの占有情報の状況に基づいて、現在のノードの特定のサブノードを予測する場合、それと面、エッジ、頂点を共有する7つの隣接する親ノードの影響のみを考慮し、それにより、ルックアップテーブルを削減し、計算の複雑さを軽減する効果を実現する。同時に、単純な重みと閾値の設定により、最適解を簡単に見つけることができ、最適な重み及び閾値の設定下で、本技術は、コード率を削減し、且つPSNRを変更しないという効果を実現する。同時に、点群の空間相関はより簡単且つ正確に使用され、八分木に基づくジオメトリ情報符号化のイントラ予測結果は、CABACでの確率モデルの構築により適し、それにより、バイナリコードストリームを削減する。
【0204】
図14は、本願実施例によるイントラ予測装置の構造概略図であり、
図14に示すように、イントラ予測装置30は、第1処理モジュール31、第1抽出モジュール32、及び第2処理モジュール33を備え、
前記第1処理モジュール31は、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得するように構成され、
前記第1抽出モジュール32は、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出するように構成され、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有し、
前記第2処理モジュール33は、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される。
【0205】
別の実施例では、関連関係は、第2数量の隣接ノードと現在のノードのサブノードとの間で、面、エッジ、及び頂点を共有することを含む。
【0206】
別の実施例では、第2処理モジュール33は、第2数量の隣接ノードの占有情報に基づいて、サブノードの第2数量の隣接ノードに対応する占有数量を決定し、
占有数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成され、ここで、第1予測結果は、予測するかどうかの予測パラメータ及び予測状況での予測値パラメータを指示するために使用される。
【0207】
別の実施例では、第2処理モジュール33は、第2数量に関連する第3数量を取得し、
占有数量及び第3数量に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される。
【0208】
別の実施例では、第2処理モジュール33は、占有数量と第3数量が異なると決定した場合、占有数量、第1閾値、第2閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される。
【0209】
別の実施例では、第2処理モジュール33は、占有数量と第3数量が異なると決定した場合、占有数量を第1閾値と比較し、
占有数量が第1閾値以下であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含まないという第1予測結果を得るように構成される。
【0210】
別の実施例では、第2処理モジュール33は、占有数量が第2閾値以上であると決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含むという第1予測結果を得るように構成される。
【0211】
別の実施例では、第2処理モジュール33は、占有数量が第1閾値より大きく、且つ第2閾値より小さいと決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得るように構成される。
【0212】
別の実施例では、第2処理モジュール33は、占有数量が第3数量と同じであると決定した場合、占有数量、第3閾値、第4閾値に基づいて、現在のノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される。
【0213】
別の実施例では、第2処理モジュール33は、占有数量が第3数量と同じであると決定した場合、サブノードの第2数量の隣接ノードからサブノードまでの距離に基づいて、第2数量の隣接ノードの占有情報の重みを設定し、
第2数量の隣接ノードの占有情報、及び第2数量の隣接ノードの占有情報に対応する重みに基づいて、サブノードの目標パラメータを決定し、
目標パラメータ、第3閾値、第4閾値に基づいて、第1予測結果を決定するように構成される。
【0214】
別の実施例では、第2処理モジュール33は、目標パラメータが第3閾値以下であると決定した場合、現在のノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含まないという第1予測結果を得るように構成される。
【0215】
別の実施例では、第2処理モジュール33は、目標パラメータが第4閾値以上であると決定した場合、現在のノードの占有情報に対してイントラ予測を実行して、現在のノードのサブノードが点群を含むという第1予測結果を得るように構成される。
【0216】
別の実施例では、第2処理モジュール33は、目標パラメータが第3閾値より大きく、且つ第4閾値より小さいと決定した場合、現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得るように構成される。
【0217】
別の実施例では、イントラ予測装置は、符号化装置であり、前記符号化装置はさらに、第1予測結果に関連する符号化モデルを決定するように構成される第1決定モジュールと、
符号化モデルに基づいて、現在のノードのサブノードの占有情報に対して符号化を実行して、コードストリームに書き込むように構成される符号化モジュールと、を備える。
【0218】
別の実施例では、イントラ予測装置は、復号化装置であり、前記復号化装置はさらに、第1予測結果に関連する復号化モデルを決定するように構成される第2決定モジュールと、
復号化モデルに基づいて、取得されたコードストリームを解析して、現在のノードのサブノードの占有情報を得るように構成される復号化モジュールと、を備える。
【0219】
本願のいくつかの実施例では、イントラ予測装置は、第3処理モジュール、第1取得モジュール、及び第4処理モジュールを備え、
前記第3処理モジュールは、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び前記第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得するように構成され、
第1取得モジュールは、第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得するように構成され、前記第1数量は、前記第2数量より大きく、且つ前記第2数量の隣接ノードと前記現在のノードのサブノードとの間は、関連関係を有し、
第4処理モジュールは、前記現在のノードの第1数量の隣接ノードの占有情報、前記第1占有数量、及び前記第2占有数量に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るように構成される。
【0220】
別の実施例では、前記第2数量の隣接ノードと前記現在のノードの前記サブノードとの間で、面、エッジ、及び頂点を共有する。
【0221】
別の実施例では、第4処理モジュールは、前記現在のノードの第1数量の隣接ノードの占有情報及び前記第1占有数量に基づいて、前記第1数量の隣接ノードにおける第1目標占有数量を決定し、
前記現在のノードの第1数量の隣接ノードの占有情報及び前記第2占有数量に基づいて、前記第2数量の隣接ノードにおける第2目標占有数量を決定し、
前記第1目標占有数量、前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、前記第1予測結果を得るように構成される。
【0222】
別の実施例では、第4処理モジュールは、前記第1数量に関連する第4数量を取得し、
前記第4数量と前記第1目標占有数量との大小関係を取得し、
前記大小関係及び前記第2目標占有数量に基づいて、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、前記第1予測結果を得るように構成される。
【0223】
別の実施例では、第4処理モジュールは、前記大小関係が、前記第1目標占有数量が前記第4数量より大きいことを表す場合、第1目標閾値及び第2目標閾値を生成し、前記第1目標閾値は、前記第2目標閾値より小さく、
前記第2目標占有数量が前記第1目標閾値以下であると決定した場合、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、前記現在のノードのサブノードが点群を含まないという前記第1予測結果を得るように構成される。
【0224】
別の実施例では、第4処理モジュールは、前記第2目標占有数量が前記第2目標閾値以上であると決定した場合、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、前記現在のノードのサブノードが点群を含むという前記第1予測結果を得るように構成される。
【0225】
別の実施例では、第4処理モジュールは、前記第2目標占有数量が前記第1目標閾値より大きく、且つ前記第2目標閾値より小さいと決定した場合、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得るように構成される。
【0226】
別の実施例では、第4処理モジュールは、前記大小関係が、前記第1目標占有数量が前記第4数量以下であることを表す場合、第3目標閾値及び第4目標閾値を生成し、前記第3目標閾値は、前記第4目標閾値より小さく、且つ前記第3目標閾値は、前記第2目標閾値に等しく、前記第4目標閾値は、前記第2目標閾値より小さく、
前記第2目標占有数量が前記第3目標閾値以下であると決定した場合、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、前記現在のノードのサブノードが点群を含まないという前記第1予測結果を得るように構成される。
【0227】
別の実施例では、第4処理モジュールは、前記第2目標占有数量が前記第4目標閾値以上であると決定した場合、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行して、前記現在のノードのサブノードが点群を含むという前記第1予測結果を得るように構成される。
【0228】
別の実施例では、第4処理モジュールは、前記第2目標占有数量が前記第3目標閾値より大きく、且つ前記第4目標閾値より小さいと決定した場合、前記現在のノードのサブノードの占有情報に対してイントラ予測を実行しないという第2予測結果を得るように構成される。
【0229】
実際の適用では、
図15に示すように、本願実施例は、エンコーダを更に提供し、前記エンコーダは、
実行可能なイントラ予測命令を記憶する、第1メモリ41と、
第1メモリ41に記憶された実行可能なイントラ予測命令を実行するときに、本願実施例による符号化装置側のイントラ予測方法を実現する、第1プロセッサ42と、を備える。
【0230】
ここで、プロセッサは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせで実装でき、回路、単一又は複数の特定用途向け集積回路(ASIC:application specific integrated circuits)、単一又は複数の汎用集積回路、単一又は複数のマイクロプロセッサ、単一又は複数のプログラマブルロジックデバイス、又は前述の回路又はデバイスの組み合わせ、又は他の適切な回路又はデバイスを使用でき、それにより、当該プロセッサは、符号化装置の前述の実施例におけるイントラ予測方法の対応するステップを実行することができる。
【0231】
入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得し、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出し、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有し、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得るため、つまり、本願実施例において、現在のノードのサブノードの占有情報に対してイントラ予測を実行する場合、現在のノードのサブノードと関連関係を有する第2数量の隣接ノードのみを考慮し、それにより、ルックアップテーブルを削減し、計算量を削減し、イントラ予測結果の精度を向上させ、コーデックの時間を短縮し、コーデックの精度を向上させるという目的に達成できることが理解できる。
【0232】
実際の適用では、
図16に示すように、本願実施例は、エンコーダを更に提供し、前記エンコーダは、
実行可能なイントラ予測命令を記憶する、第2メモリ51と、
第2メモリ52に記憶された実行可能なイントラ予測命令を実行するときに、本願実施例による符号化装置側のイントラ予測方法を実現する、第2プロセッサ52と、を備える。
【0233】
ここで、プロセッサは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせで実装でき、回路、単一又は複数の特定用途向け集積回路(ASIC:application specific integrated circuits)、単一又は複数の汎用集積回路、単一又は複数のマイクロプロセッサ、単一又は複数のプログラマブルロジックデバイス、又は前述の回路又はデバイスの組み合わせ、又は他の適切な回路又はデバイスを使用でき、それにより、当該プロセッサは、復号化装置の前述の実施例におけるイントラ予測方法の対応するステップを実行することができる。
【0234】
入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報を取得し、第1数量の隣接ノードの占有情報から、第2数量の隣接ノードの占有情報を抽出し、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有し、第2数量の隣接ノードの占有情報に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を取得し、つまり、本願実施例において、現在のノードのサブノードの占有情報に対してイントラ予測を実行する場合、現在のノードのサブノードと関連関係を有する第2数量の隣接ノードのみを考慮し、それにより、ルックアップテーブルを削減し、計算量を削減し、イントラ予測結果の精度を向上させ、コーデックの時間を短縮し、コーデックの精度を向上させるという目的に達成できることが理解できる。
【0235】
本願実施例における各構成要素は、1つの処理ユニットに統合されてもよく、各ユニットが物理的に別個に存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。上記統合されたユニットは、ハードウェアの形で実現されてもよく、ソフトウェア機能モジュールの形で実現されてもよい。
【0236】
統合されたユニットが、ソフトウェア機能モジュールの形で実装され、独立した製品として販売又は使用されていない場合、1つのコンピュータ可読記憶媒体に記憶することができる。このような理解に基づいて、本実施例の技術的解決策の本質的な部分、即ち、先行技術に貢献のある部分、又は当該技術の解決策の全部又は一部は、ソフトウェア製品の形で具現されることができ、当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、一台のコンピュータ機器(パーソナルコンピュータ、サーバ、又はネットワーク機器などであリ得る)又はprocessor(プロセッサ)に、本実施例に記載の方法のステップの全部又は一部を実行させるためのいくつかの命令を含む。前述した記憶媒体は、強磁性ランダムアクセスメモリ(FRAM:ferromagnetic random access memory)、読み取り専用メモリ(ROM:read only memory)、プログラム可能な読み取り専用メモリ(PROM:programmable read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM:erasable PROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM:electrically erasable programmable read-only memory)、フラッシュメモリ(flash memory)、磁気メモリ、コンパクトディスク、又は読み取り専用コンパクトディスク(CD-ROM:Compact Disc Read-Only Memory)などのプログラムコードを記憶することができる様々な媒体を含み、本願実施例はこれらに限定されない。
【0237】
本願実施例は、実行可能なイントラ予測命令が記憶されたコンピュータ可読記憶媒体を更に提供し、前記実行可能なイントラ予測命令は、第1プロセッサによって実行されるときに、本願実施例によるエンコーダ側のイントラ予測方法を実現する。
【0238】
本願実施例は、実行可能なイントラ予測命令が記憶されたコンピュータ可読記憶媒体を更に提供し、前記実行可能なイントラ予測命令は、第2プロセッサによって実行されるときに、本願実施例によるデコーダ側のイントラ予測方法を実現する。
【産業上の利用可能性】
【0239】
本願実施例は、イントラ予測方法、装置、エンコーダ、デコーダ、及び記憶媒体を提供し、入力点群を分割した後に得られた現在の階層レベルが目標階層レベルより小さいと決定した場合、現在のノードの第1数量の隣接ノードの占有情報及び第1数量の隣接ノードにおける各隣接ノードに対応する第1占有数量を取得し、第2数量の隣接ノードにおける各隣接ノードに対応する第2占有数量を取得し、ここで、第1数量は、第2数量より大きく、且つ第2数量の隣接ノードと現在のノードのサブノードとの間は、関連関係を有し、現在のノードの第1数量の隣接ノードの占有情報、第1占有数量、及び第2占有数量に基づいて、現在のノードのサブノードの占有情報に対してイントラ予測を実行して、第1予測結果を得て、つまり、本願実施例では、現在のノードのサブノードの占有情報に対してイントラ予測を実行する場合、第1数量の隣接ノードにおけるコーデックされたノードのサブノードの占有情報の状況に基づいて、現在のノードの特定のサブノードを予測する場合、面、エッジ、頂点を共有するなどの関連関係を有する複数の隣接する親ノードの影響のみを考慮し、それにより、ルックアップテーブルを削減し、計算の複雑さを軽減し、コーデックの時間を短縮し、コーデックの精度を向上させることができる。