TW202236216A - 基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質 - Google Patents

基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質 Download PDF

Info

Publication number
TW202236216A
TW202236216A TW111108454A TW111108454A TW202236216A TW 202236216 A TW202236216 A TW 202236216A TW 111108454 A TW111108454 A TW 111108454A TW 111108454 A TW111108454 A TW 111108454A TW 202236216 A TW202236216 A TW 202236216A
Authority
TW
Taiwan
Prior art keywords
points
point
neighbor
target point
candidate
Prior art date
Application number
TW111108454A
Other languages
English (en)
Other versions
TWI815339B (zh
Inventor
朱文婕
Original Assignee
大陸商騰訊科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商騰訊科技(深圳)有限公司 filed Critical 大陸商騰訊科技(深圳)有限公司
Publication of TW202236216A publication Critical patent/TW202236216A/zh
Application granted granted Critical
Publication of TWI815339B publication Critical patent/TWI815339B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一種基於點雲屬性預測的解碼方法,包括:對點雲的碼流進行解析,得到該點雲中的目標點的位置資訊的重建資訊;從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點;基於該目標點的位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點;利用該k個鄰居點的屬性值,確定該目標點的屬性資訊的預測值,進而基於該目標點的屬性資訊的預測值得到解碼點雲。還提供一種基於點雲屬性預測的編碼方法、解碼器、編碼器、電子設備以及電腦可讀存儲介質。

Description

基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質
本申請涉及人工智慧的電腦視覺(圖像)技術領域,特別涉及點雲編解碼技術領域,並且更具體地,涉及基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質。
點雲已經開始普及到各個領域,例如,虛擬/增強現實、機器人、地理資訊系統、醫學領域等。隨著掃描設備的基準度和速率的不斷提升,可以準確地獲取物體表面的大量點雲,往往一個場景下就可以對應幾十萬個點。數量如此龐大的點也給電腦的存儲和傳輸帶來了挑戰。因此,對點的壓縮也就成為一個熱點問題。
對於點雲的壓縮來說,主要需要壓縮其位置資訊和屬性資訊。具體而言,先通過對點雲的位置資訊進行八叉樹編碼;同時,根據八叉樹編碼後的當前點的位置資訊,在已編碼的點中選擇出用於預測當前點屬性資訊的預測值的點後,基於選擇出的點對其屬性資訊進行預測,再通過與屬性資訊的原始值進行做差的方式來編碼顏色資訊,以實現對點雲的編碼。
在對屬性資訊進行預測的過程中,如何在保證預測效果的基礎上降低預測複雜度,是本領域極需解決的技術問題。
根據本申請提供的各種實施例,提供一種基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質。
一方面,本申請提供了一種基於點雲屬性預測的解碼方法,包括:獲取點雲的碼流,對點雲的碼流進行解析,得到該點雲中的目標點位置資訊的重建資訊;從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點,M≥N≥1;基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值;對該碼流進行解析,得到該目標點屬性資訊的殘差值;用於根據該目標點屬性資訊的預測值和該目標點屬性資訊的殘差值,得到該目標點屬性資訊的最終重建值;以及根據該目標點屬性資訊的最終重建值,得到解碼點雲。
另一方面,本申請提供了一種基於點雲屬性預測的編碼方法,包括:獲取點雲中的目標點位置資訊的重建資訊;從該點雲中的M個已編碼點中選擇N個已編碼點作為該目標點的N個備選點,M≥N≥1;基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值或該k個鄰居點屬性資訊的原始值;根據該目標點屬性資訊的預測值和該目標點屬性資訊的原始值,得到該目標點屬性資訊的殘差值;以及對該目標點屬性資訊的殘差值進行編碼,得到該點雲的碼流。
另一方面,本申請提供了一種基於點雲屬性預測的解碼器,用於執行上述基於點雲屬性預測的解碼方法。具體地,該解碼器包括用於執行上述基於點雲屬性預測的解碼方法的功能模組。
在一種實現方式中,該解碼器包括:解析單元,用於獲取點雲的碼流,對點雲的碼流進行解析,得到該點雲中的目標點位置資訊的重建資訊;預測單元,用於從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點,M≥N≥1;基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值;該解析單元還用於對該碼流進行解析,得到該目標點屬性資訊的殘差值;殘差單元,用於根據該目標點屬性資訊的預測值和該目標點屬性資訊的殘差值,得到該目標點屬性資訊的最終重建值;以及解碼單元,用於根據該目標點屬性資訊的最終重建值,得到解碼點雲。
另一方面,本申請提供了一種基於點雲屬性預測的編碼器,用於執行上述基於點雲屬性預測的編碼方法。具體地,該編碼器包括用於執行上述基於點雲屬性預測的編碼方法的功能模組。
在一種實現方式中,該編碼器包括:獲取單元,用於獲取點雲中的目標點位置資訊的重建資訊;預測單元,用於:從該點雲中的M個已編碼點中選擇N個已編碼點作為該目標點的N個備選點,M≥N≥1;基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值或該k個鄰居點的原始值;殘差單元,用於根據該目標點屬性資訊的預測值和該目標點屬性資訊的原始值,得到該目標點屬性資訊的殘差值;以及編碼單元,用於對該目標點屬性資訊的殘差值進行編碼,得到該點雲的碼流。
另一方面,本申請提供了一種電子設備,包括:處理器,適於實現電腦指令;以及電腦可讀存儲介質,電腦可讀存儲介質存儲有電腦指令,電腦指令適於由處理器載入並執行上述基於點雲屬性預測的解碼方法及基於點雲屬性預測的編碼方法。
在一種實現方式中,該處理器為一個或多個,該記憶體為一個或多個。
在一種實現方式中,該電腦可讀存儲介質可以與該處理器集成在一起,或者該電腦可讀存儲介質與處理器分離設置。
另一方面,本申請實施例提供一種電腦可讀存儲介質,該電腦可讀存儲介質存儲有電腦指令,該電腦指令被電腦設備的處理器讀取並執行時,使得電腦設備執行上述基於點雲屬性預測的解碼方法及基於點雲屬性預測的編碼方法。
本申請實施例中,從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點後,基於該目標點的位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,針對密集點雲,能夠避免用於選擇該k個鄰居點的備選點的數量過大,降低預測複雜度。另一方面,在利用該k個鄰居點的屬性值,確定該目標點的屬性資訊的預測值,能夠保證針對目標點的屬性資訊的預測準確度。因此,本申請提供的方案,能夠在保證預測效果的基礎上降低預測複雜度。
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本申請所屬技術領域中具有通常知識者在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
第1圖是本申請實施例提供的編碼框架100的示意性方塊圖。
如第1圖所示,編碼框架100可以從採集設備獲取點雲的位置資訊和屬性資訊。點雲的編碼包括位置編碼和屬性編碼。在一個實施例中,位置編碼的過程包括:對原始點雲進行座標變換、量化去除重複點等預處理;構建八叉樹後進行編碼形成幾何碼流。屬性編碼過程包括:通過給定輸入點雲的位置資訊的重建資訊和屬性資訊的原始值,選擇三種預測模式的一種進行點雲預測,對預測後的結果進行量化,並進行算術編碼形成屬性碼流。
如第1圖所示,位置編碼可通過以下單元實現:
座標變換(Transform coordinates)單元101、量化和移除重複點(Quantize and remove points)單元102、八叉樹分析(Analyze octree)單元103、幾何重建(Reconstruct geometry)單元104以及第一算術編碼(Arithmetic enconde)單元105。
座標變換單元101可用於預處理(Pre-processing)點雲中的點,即可用於座標變換和體素化(Voxelize),座標變換可以指將點雲中點的世界座標變換為相對座標。例如,通過縮放操作(點的幾何座標分別減去xyz坐標軸的最小值)和平移操作,將3D空間中的點雲中的點的資料轉換成整數形式,並將其最小幾何位置移至座標原點處。針對點的縮放操作相當於去直流操作,以實現將點雲中的點的座標從世界座標變換為相對座標。
量化和移除重複點單元102可通過幾何量化(Geometry quantization)減少座標的數目。幾何量化的精細程度通常由量化參數(QP)來決定,QP取值較大,表示更大取值範圍的係數將被量化為同一個輸出,因此通常會帶來更大的失真,及較低的碼率;相反,QP取值較小,表示較小取值範圍的係數將被量化為同一個輸出,因此通常會帶來較小的失真,同時對應較高的碼率。在點雲編碼中,量化是直接對點的座標資訊進行的。量化後原先不同的點可能被賦予相同的座標,基於此,可通過去重操作將重複的點刪除;例如,具有相同量化位置和不同屬性資訊的多個點可通過屬性變換合併到一個點中。在本申請的一些實施例中,量化和移除重複點單元102可作為可選的單元模組。
幾何編碼(Geometry encoding)中包含兩種模式,即基於八叉樹的幾何編碼(Octree)和基於三角表示的幾何編碼(Trisoup),其可在不同條件下使用。八叉樹分析單元103可利用八叉樹(octree)編碼方式編碼量化的點的位置資訊。八叉樹是一種樹形資料結構,在3D空間劃分中,對預先設定的包圍盒進行均勻劃分,每個節點都具有八個子節點。通過對八叉樹各個子節點的佔用與否採用‘1’和‘0’指示,獲得佔用碼資訊(occupancy code)作為點雲幾何資訊的碼流。例如,將點雲按照八叉樹的形式進行劃分,由此,點的位置可以和八叉樹的位置一一對應,通過統計八叉樹中有點的位置,並將其標識(flag)記為1,以進行幾何編碼。基於三角表示的幾何編碼將點雲劃分為一定大小的塊(block),定位點雲表面在塊的邊緣的交點並構建三角形,通過編碼交點位置實現幾何資訊的壓縮。
第一算術編碼單元105可用於幾何熵編碼(Geometry entropy encoding),即針對八叉樹的佔用碼資訊進行統計壓縮編碼,最後輸出二值化(0或者1)的壓縮碼流。統計壓縮編碼是一種無損編碼方式,可以有效的降低表達同樣的信號所需要的碼率。常用的統計壓縮編碼可以是基於上下文的二值化算術編碼(Content Adaptive Binary Arithmetic Coding,CABAC)。簡言之,採用熵編碼方式對八叉樹分析單元103輸出的位置資訊進行算術編碼,即將八叉樹分析單元103輸出的位置資訊利用算術編碼方式生成幾何碼流;幾何碼流也可稱為幾何位元流(geometry bitstream)。
在有損編碼情況下,在幾何資訊編碼後,編碼端需解碼並重建幾何資訊,即恢復3D點雲的各點座標資訊。針對每一個點,在原始點雲中尋找其對應一個或多個鄰近點的屬性資訊的重建值,作為該點的屬性資訊的預測值,基於該點的屬性資訊的預測值和原始值即可得到該點的屬性資訊的殘差值,編碼器通過對點雲的所有點的屬性資訊的殘差值進行編碼,以得到屬性位元流。編碼器基於屬性資訊的重建值可基於預測值和原始值,可以得到屬性資訊的重建值。
屬性編碼可通過以下單元實現:
顏色空間變換(Transform colors)單元110、屬性變換(Transfer attributes)單元111、區域自我調整分層變換(Region Adaptive Hierarchical Transform ,RAHT) 單元112、預測變換(Predicting transform)單元113以及提升變換(Lifting transform)單元114、量化(Quantize)單元115以及第二算術編碼單元116。
顏色空間變換單元110可用於將點雲中點的RGB色彩空間變換為YCbCr格式或其他格式。
屬性變換單元111可用於變換點雲中點的屬性資訊,以最小化屬性失真。例如,屬性變換單元111可用於得到點的屬性資訊的原始值。例如,該屬性資訊可以是點的顏色資訊。經過屬性變換單元111變換得到點的屬性資訊的原始值後,可選擇任一種預測單元,對點雲中的點進行預測。
用於對點雲中的點進行預測編碼的單元可包括:分層區域自我調整變換編碼單元112、預測變換單元113以及提升變換單元114中的至少一項,即屬性變換編碼中包含三種模式,可在不同條件下使用。換言之,分層區域自我調整變換編碼單元112、預測變換單元113以及提升變換單元114中的任一項可用於對點雲中點的屬性資訊進行預測,以得到點的屬性資訊的預測值,進而可基於點的屬性資訊的預測值得到點的屬性資訊的殘差值。例如,點的屬性資訊的殘差值可以是點的屬性資訊的原始值減去點的屬性資訊的預測值。利用分層區域自我調整變換編碼單元112進行預測編碼時,屬性資訊經過RAHT變換,將信號轉換到變換域中,稱之為變換係數。利用提升變換單元114進行預測編碼時,在LOD相鄰層預測的基礎上,引入鄰域點的權重更新策略,最終獲得各點的屬性資訊的預測值,進而獲得對應的殘差值。預測變換單元113還可用于生成LOD,並對LOD中點的屬性資訊依次進行預測,計算得到預測殘差以便後續進行量化編碼。利用預測變換單元113進行預測編碼時,根據距離選擇子點集,將點雲劃分成多個不同的層級(Level of Detail,LOD),實現由粗糙到精細化的點雲表示。相鄰層之間可以實現自下而上的預測,即由粗糙層中的鄰近點預測精細層中引入的點的屬性資訊,獲得對應的殘差值。其中,LOD中的最底層的點作為參考資訊進行編碼。
量化單元115可用於屬性資訊的量化(Attribute quantization),量化的精細程度通常由量化參數來決定。在預測變換編碼及提升變換編碼中,是對殘差值進行量化後進行熵編碼;在RAHT中,是對變換係數進行量化後進行熵編碼。例如,若該量化單元115和該預測變換單元113相連,則該量化單元可用於量化該預測變換單元113輸出的點的屬性資訊的殘差值。例如,對預測變換單元113輸出的點的屬性資訊的殘差值使用量化步長進行量化,以實現提升系統性能。
針對屬性資訊進行預測編碼時,通過對幾何資訊或屬性資訊的鄰近關係,選擇一個或多個點作為預測值,並求加權平均獲得屬性資訊的最終預測值,對原始值與預測值之間的差值進行編碼。以利用預測變換單元113進行預測編碼為例,對LOD中的每一個點,在其前面的LOD中找到3個距離最近的鄰居點,然後利用3個鄰居點的重建值對當前點進行預測,得到預測值,其中,可以使用歐式距離或曼哈頓距離進行距離計算;基於此,可基於當前點的預測值和當前點的原始值得到當前點的殘差值。
在一些實施例中,可以基於下述方公式確定殘差值:
attrResidualQuant=(attrValue-attrPred)/Qstep;
其中,attrResidualQuant表示當前點的殘差值,attrPred表示當前點的預測值, attrValue表示當前點的原始值,Qstep表示量化步長。其中,Qstep由量化參數(Quantization Parameter,Qp)計算得到。
在一些實施例中,當前點將會作為後續點的最近鄰居,並利用當前點的重建值對後續點的屬性資訊進行預測。當前點的屬性資訊的重建值可通過以下公式得到:
reconstructedColor=attrResidualQuant×Qstep+attrPred;
其中,reconstructedColor表示當前點的重建值,attrResidualQuant表示當前點的殘差值,Qstep表示量化步長,attrPred表示當前點的預測值。其中,Qstep由量化參數(Quantization Parameter,Qp)計算得到。
第二算術編碼單元116可用於屬性資訊的熵編碼(Attribute entropy coding),量化後的屬性資訊的殘差值或變換係數可使用行程編碼(Run length coding)及算數編碼(Arithmetic coding)實現最終的壓縮。相應的編碼模式,量化參數等資訊也同樣採用熵編碼器進行編碼。對點的屬性資訊的殘差值進行熵編碼,可以得到屬性碼流。該屬性碼流可以是位元流資訊。
需要說明的是,在本申請實施例中,點雲中的點的屬性資訊的預測值(predictedvalue)也可稱為LOD模式下的顏色預測值(predictedColor)。點的屬性資訊的原始值減去點的屬性資訊的預測值可得到點的殘差值(residualvalue)。點的屬性資訊的殘差值也可稱為LOD模式下的顏色殘差值(residualColor)。點的屬性資訊的預測值和點的屬性資訊的殘差值相加可生成點的屬性資訊的重建值(reconstructedvalue)。點的屬性資訊的重建值也可稱為LOD模式下的顏色重建值(reconstructedColor)。當然,上述術語僅為示例性說明,不應理解為對本申請的限制。
基於編碼框架100的編碼過程,解碼器獲得壓縮碼流後,首先進行熵解碼,獲得各種模式資訊及量化後的幾何資訊以及屬性資訊。首先,幾何資訊經過反量化,得到重建的3D點位置資訊。另一方面,屬性資訊經過反量化得到殘差值,並根據採用的變換模式確認參考信號,得到屬性資訊的預測值,按順序與幾何資訊一一對應,產生並輸出的每一個點的重建值,即輸出重建點雲資料。
第2圖是本申請實施例提供的解碼框架200的示意性方塊圖。
如第2圖所示,解碼框架200可以從編碼設備獲取點雲的碼流,通過解析點雲的碼流得到點雲中的點的位置資訊和屬性資訊。點雲的解碼包括位置解碼和屬性解碼。
在一個實施例中,位置解碼的過程包括:對幾何碼流進行算術解碼;構建八叉樹後進行合併,對點的位置資訊進行重建,以得到點的位置資訊的重建資訊;對點的位置資訊的重建資訊進行座標變換,得到點的位置資訊。點的位置資訊也可稱為點的幾何資訊。
屬性解碼過程包括:通過解析屬性碼流,獲取點雲中點的屬性資訊的殘差值;通過對點的屬性資訊的殘差值進行反量化,得到反量化後的點的屬性資訊的殘差值;基於位置解碼過程中獲取的點的位置資訊的重建資訊,選擇三種預測模式的一種進行點雲預測,得到點的屬性資訊的重建值;對點的屬性資訊的重建值進行顏色空間反變換,以得到解碼點雲。
如第2圖所示,位置解碼可通過以下單元實現:第一算數解碼單元201、八叉樹分析(Synthesize octree)單元202、幾何重建(Reconstruct geometry)單元203以及座標反變換(Inverse transform coordinates)單元204。屬性編碼可通過以下單元實現:第二算數解碼單元210、反量化(Inverse quantize)單元211、區域自我調整分層變換單元212、預測變換(Predicting transform)單元213、提升變換(Lifting transform)單元214以及顏色空間反變換(Inverse transform colors)單元215。
需要說明的是,解壓縮是壓縮的逆過程,類似的,解碼框架200中的各個單元的功能可參見編碼框架100中相應的單元的功能。例如,解碼框架200可根據點雲中點與點之間的歐式距離將點雲劃分為多個LOD;然後,依次對LOD中點的屬性資訊進行解碼;例如,計算零行程編碼技術中零的數量(zero_cnt),以基於零的數量對殘差進行解碼;接著,解碼框架200可基於解碼出的殘差值進行反量化,並基於反量化後的殘差值與當前點的預測值相加得到該點雲的重建值,直到解碼完所有的點雲。當前點將會作為後續LOD中點的最近鄰居,並利用當前點的重建值對後續點的屬性資訊進行預測。此外,關於反變換(transform)和反量化(scale/scaling),對於正交變換,如果將其中的一個矩陣用於變換,則另一個矩陣用於反變換。對於解碼方法,可將解碼器中使用的矩陣稱為“變換”(transform)矩陣。
為便於描述,下面對屬性資訊的預測編碼方法進行說明。屬性資訊的預測編碼方法可包括針對反射率屬性資訊的預測編碼方法、針對顏色屬性資訊的預測編碼方法以及自我調整選擇屬性預測值的方法。
1)、針對反射率屬性資訊的預測編碼方法。
i)、莫頓序鄰居點選取。
基於偏移莫頓碼的方法找到當前點的k個已編碼的點作為鄰居點。莫頓碼是一種將多維空間中的點座標用一個一維的數值來表示,通過利用莫頓編碼的方式來可以將空間中點所對應的空間關係用莫頓碼的值之間的相鄰關係來近似表示。換言之,點雲經過莫頓碼編碼後可形成由多個莫頓碼基於莫頓排序的方式形成的莫頓順序。排序(sorting)是指將一組資料按特定規則(排序演算法)調換位置,使得資料按序排列,可以是從大到小排列,也可以是從小到大排列。莫頓排序是指基於莫頓碼的值之間的相鄰關係進行排序的過程。
第3圖是本申請實施例提供的原始莫頓順序下的點雲的示意圖。第4圖是本申請實施例提供的偏移莫頓順序下的點雲的示意圖。
如第3圖所示,獲取點雲中所有點的座標,並按照莫頓排序的方式得到莫頓順序1;把所有點的座標(x, y, z)加上一個固定值(j1, j2, j3),用新的座標(x+j1, y+j2, z+j3)生成點雲對應的莫頓碼,按照莫頓排序的方式得到莫頓順序2。如第4圖所示,在第3圖中的A,B,C,D移到圖4中的不同位置,對應的莫頓碼也發生了變化,但相對位置保持不變。另外,在第4圖中,點D的莫頓碼是23,點D的鄰居點B的莫頓碼是21,所以,從點D向前最多搜索兩個點就可以找到點B。但在第3圖中,從點D的莫頓碼是16,點D的鄰居點B的莫頓碼是2,所以,從點D向前最多需要搜索14個點才能找到點B。
解碼器根據莫頓順序進行解碼,查找當前點的最近預測點。具體地,在莫頓順序1中選取該當前點的前N個點作為備選點,N取值範圍是大於等於1,在莫頓順序2中選取該當前點的前M個點作為備選點,M的取值範圍是大於等於1。在上述N個備選點和M個備選點中,計算每個備選點到當前點的距離d,其中,可以使用歐式距離或曼哈頓距離進行計算,比如,當前點的座標為(x, y, x),備選點的座標為(x1, y1, z1),距離d計算方法為 d=|x-x1|+|y-y1|+|z-z1|,從這N+M個備選點中選取距離最小的k個已解碼點作為當前點的預測點。作為本申請的示例,在PCEM軟體中, j1=j2=j3=42, k=3,N=M=4。
ii)、希爾伯特(Hilbert)序鄰居點選取。
其中,Hilbert序鄰居點的選取方式通過在Hilbert序下當前編碼點的前的鄰居點的最大數目(maxNumOfNeighbours)個點中查找距離當前點最近的k個點作為鄰居點,其中maxNumOfNeighbours表示備選點的個數,maxNumOfNeighbours默認取128,k默認取3,距離計算方法為曼哈頓距離,即d=|x1-x2|+|y1-y2|+|z1-z2|。其中,在編碼中,進行希爾伯特排序時採用離散的希爾伯特曲線進行計算。
iii)、預測值計算。
在進行當前點的屬性資訊的預測值計算時,用上述選定的k個鄰居點與當前點之間的曼哈頓距離的倒數作為權重,最後計算k個鄰居點的屬性重構值的加權平均獲得當前點的屬性資訊的預測值。設當前點的序號為i,當前點的幾何座標為(xi, yi, zi),每個鄰居點的幾何座標為(xij, yij, zij)。其中,j=0, 1, 2, ……, k , 則每個鄰居點的權重wij如下列公式1所示:
Figure 02_image001
(公式1)。
其中,設每個鄰居點的屬性資訊的重建值為
Figure 02_image003
,則當前點的屬性資訊的預測值
Figure 02_image005
如列下式2:
Figure 02_image007
(公式2)。
對於反射率屬性,若式1中的權重計算在x、y、z方向的分量採用不同權重,則每個鄰居點的權重wij如下列公式3所示:
Figure 02_image009
(公式3)。
其中a、b、c分別為x、y、z方向的分量上的不同權重。
2)、針對顏色屬性資訊的預測編碼方法。
在顏色屬性的預測方法中,首先利用莫頓碼來查找當前點的空間鄰居點,然後根據查找的空間鄰居點對當前點進行屬性預測。
第5圖是本申請實施例提供的鄰居點的空間關係的示意性結構圖。第6圖是本申請實施例提供的鄰域範圍內與待編碼當前點共面的鄰居點之間的莫頓碼關係的示例。第7圖是本申請實施例提供的鄰域範圍內與待編碼當前點共線的鄰居點之間的莫頓碼關係的示例。
如第5圖所示,待編碼的當前點為粗線條標記塊A,鄰居查找範圍為待編碼的當前點的3X3X3鄰域。首先利用當前點的莫頓碼得到該鄰域中莫頓碼值最小的塊,將該塊作為基準塊,利用基準塊來查找與待編碼當前點7共面、共線的已編碼鄰居點。如第6圖所示,鄰域範圍內,待編碼當前點7與鄰居點3、鄰居點5和鄰居點6共面。如第7圖所示,鄰域範圍內,待編碼當前點7與鄰居點1、鄰居點2和鄰居點4共線。
利用基準塊來搜索與待編碼當前點共面、共線的已編解碼的k個鄰居點(比如當選擇鄰域時,k≤6),利用這k個鄰居點來預測待編碼當前點的屬性資訊。例如k=3的情況下,在已編碼的點一定範圍[j- maxNumOfNeighbours, j-1]內進行查找與待編碼當前點共面的鄰居點,其中,當前點的索引為j,maxNumOfNeighbours表示備選點的個數,如果查找到共面的已編解碼的鄰居點,則將共面的鄰居點的權重分配為2;繼續在已編解碼的點中查找與待編碼當前點共線的鄰居點,如果在已解碼點集中查找到共線的鄰居點,則對共線的鄰居點的權重分配為1,最終,利用查找到的鄰居點進行加權平均對待編碼當前點進行屬性預測;如果沒有查找到與待編碼當前點共面和共線的已編解碼鄰居點,則可以利用待編碼當前點的前一個莫頓碼對應的點進行屬性預測。
例如,利用鄰居點進行加權平均對待編碼當前點進行屬性預測時,若有一個共麵點和一個共線點,共麵點與當前點距離為d1(比如d1=1),屬性值為r1;共線點與當前點距離為d2(比如d2≥2),屬性值為r2,則待編碼當前點的屬性預測值為r = (2*r1+r2)/(2+1)。
3)、自我調整選擇屬性預測值的方法。
針對反射率屬性資訊的預測方法和針對顏色屬性屬性資訊的預測方法均是根據幾何位置資訊來確定屬性資訊的預測值,針對反射率屬性資訊的預測方法和針對顏色屬性屬性資訊的預測方法可以稱為基於幾何位置的預測值方法。基於幾何位置的預測值方法通常適合於比較稠密、較易預測的點雲,比如人物點雲,或者適合於預測殘差較小的情況。如果基於幾何位置的預測值方法產生的殘差很大的情況下,基於屬性值的預測值方法通常能降低預測殘差,並提高編碼效率。
其中,基於屬性值的預測值方法可以通過以下步驟實現:
i)、將最近已編碼的已編碼點中32個不同的屬性預測值保存在候選預測值表中;
ii)、從候選預測值表中選取跟當前點的屬性資訊最近的點,並用被選取點的屬性值作為當前點的屬性預測值;
iii)、將被選取點在候選預測值表的序號二值化成5個位元,並用有上下文的熵編碼進行編碼。
針對顏色屬性資訊的預測方法中,通過尋找已編碼點中的共面共線點作為當前點的鄰居點,並給共麵點和共線點設置不同的權重進行加權計算,最終獲得對應點的屬性資訊的預測值。對於較稀疏的點雲資料,在90%以上找不到共面共線點,則在AVS編碼中會採取前一個點進行預測。一個場景下的點雲就可以對應幾十萬個點,數量如此龐大的點也給電腦的存儲和傳輸帶來了挑戰,直接在已編碼點中的共面共線點作為當前點的鄰居點需要的計算量過大,導致預測複雜度過高。
本申請提出了一種面向顏色預測的鄰居點優化方法,通過更好地利用點雲鄰近點的空間關聯性,能夠在保證預測效果的基礎上降低預測複雜度。具體地,通過分析點雲資料的空間鄰域關係在M個已編碼點中選擇N個已編碼點作為N個備選點,然後設計距離優先或幾何結構優先的方式在N個備選點中選擇k個鄰居點,最後基於選擇的k個鄰居點進行屬性預測。需要說明的是,本申請實施例中,針對在M個已編碼點中選擇N個備選點的方案,以及針對在N個備選點中選擇k個鄰居點的方案,可以通過搜索或映射等多種方式實現。在不同的情況下,可能採取單獨的選擇方式,或採取多種選擇方式相結合,以實現在保證預測效果的基礎上降低預測複雜度。此外,本申請提出的面向點雲屬性預測的鄰居點選擇優化方式可應用於任意一種3D點雲編解碼產品中。
第8圖是本申請實施例提供的基於點雲屬性預測的編碼方法300的示意性流程圖。該編碼方法300可由編碼器或編碼端來執行。例如,第1圖所示的編碼框架100。
如第8圖所示,該編碼方法300可包括:
操作S310,獲取點雲中的目標點位置資訊的重建資訊;
S320,從該點雲中的M個已編碼點中選擇N個已編碼點作為該目標點的N個備選點,M≥N≥1;
操作S330,基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;
操作S340,利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值或該k個鄰居點屬性資訊的原始值;
操作S350,根據該目標點屬性資訊的預測值和該目標點屬性資訊的原始值,得到該目標點屬性資訊的殘差值;
操作S360,對該目標點屬性資訊的殘差值進行編碼,得到該點雲的碼流。
簡言之,編碼端針對目標點的屬性資訊進行編碼時,先在M個已編碼點中選擇N個已編碼點作為該目標點的N個備選點,再從該N個備選點中選擇k個鄰居點,接著利用該k個鄰居點的屬性值,確定該目標點的屬性資訊的預測值,最後,根據該目標點的屬性資訊的預測值和該目標點的屬性資訊的原始值,得到該目標點的屬性資訊的殘差值;並對該目標點的屬性資訊的殘差值進行編碼,得到該點雲的碼流。
本申請實施例中,從該點雲中的M個已編碼點中選擇N個已編碼點作為該目標點的N個備選點後,基於該目標點的位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,針對密集點雲,能夠避免用於選擇該k個鄰居點的備選點的數量過大,降低預測複雜度。另一方面,在利用該k個鄰居點的屬性值,確定該目標點的屬性資訊的預測值,能夠保證針對目標點的屬性資訊的預測準確度。因此,本申請提供的方案,能夠在保證預測效果的基礎上降低預測複雜度。
在一些實施例中,已編碼點數量M超過備選點數量N;其中,該操作S320可包括:
基於該M個已編碼點的第一順序,從該M個已編碼點中選擇該N個已編碼點;其中,該第一順序為按照從小到大或從大到小的順序對該M個已編碼點和該目標點進行莫頓排序或希爾伯特排序所得到的順序,或該第一順序為該M個已編碼點和該目標點的編碼順序;將該N個已編碼點作為該N個備選點。
換言之,編碼端對點雲中的點進行排序,例如,採用莫頓(morton)碼或希爾伯特(hilbert)碼表示點雲中點的座標,並從小到大或從大到小進行排序;或不進行排序,保持各點的編碼順序;點的編碼順序也可以稱為點的輸入順序。以希爾伯特排序為例,當前待編碼點序號為i,對應希爾伯特碼為m_i,其前序的已編碼點包括i-1, i-2, …, 1, 0,對應的希爾伯特碼為m_(i-1), m_(i-2), …, m_1, m_0。在序號為i-1, i-2, …, 1, 0的已編碼點中選擇N個已編碼點,即為當前點選擇N個備選點作為當前點的鄰居點的備選點,選擇N個已編碼點的方法包括但是不限於:
1、採用所有已編碼點作為備選點。
2、採用已編碼點中的部分點作為備選點。
在一些實施例中,該操作S320可具體包括:
沿該第一順序,將在該目標點之前且與該目標點相鄰的N個點,確定為該N個已編碼點;或者,沿該第一順序,將在該目標點之前且連續的N個點,確定為該N個已編碼點,其中,該連續的N個點與該目標點相鄰或間隔至少一個已編碼點。
換言之,編碼端採用已編碼點中的部分點作為備選點時,可實現的方案包括但是不限於以下方式中的至少一項:
1、按照該第一順序逐漸向前搜索,選擇N個點加入備選點。
2、按該第一順序選擇前序的N個點,即選擇序號為i-1, i-2, …, i-N的點作為備選點。
3、按該第一順序在已編碼點中任選連續的N個點。例如,跳過前序N1個點,即選擇序號為i-N1-1, i-N1-2, …, i-N1-N的N個點加入備選點。
本實施例中,基於該M個已編碼點的第一順序,直接從該M個已編碼點中選擇該N個已編碼點,能夠有效控制備選點的選擇複雜度,提升預測效率。
當然,在其他可替代實施例中,編碼端也可以從該M個已編碼點中隨機選擇該N個已編碼點,本申請實施例對此不作具體限定。
需要說明的是,該第一順序可以是編碼端直接對該點雲進行排序形成的順序,也可以是僅對該M個已編碼點和該目標點排序形成的順序,例如,該點雲為密集點雲時,該第一順序可以是僅對該M個已編碼點和該目標點排序形成的順序,該點雲為稀疏點雲時,該第一順序可以是對該點雲中所有的點進行排序形成的順序,以降低工作量並提升預測效率。此外,編碼端對點雲中的點進行排序或僅對該M個已編碼點和該目標點進行排序時,可對所有方向(x, y, z)進行處理,或者對其中一個或多個方向進行處理,本申請實施例對此不作具體限定。例如,編碼端根據點的位置資訊對點雲中的點進行排序(或僅對該M個已編碼點和該目標點進行排序)時,編碼端可以根據點的位置資訊對點雲中的點進行莫頓排序(或僅對該M個已編碼點和該目標點進行莫頓排序),也可以根據點的位置資訊對點雲中的點進行希爾伯特排序(或僅對該M個已編碼點和該目標點進行希爾伯特排序)。可選的,該點的位置資訊可以是該雲的三維位置資訊,也可以是一個維度或多個維度上的位置資訊。可選的,編碼端可根據實際需求確定採用幾個維度的位置資訊對點雲中的點(或該M個已編碼點和該目標點)進行排序。
編碼端選擇出該N個備選點後,可以在該N個備選點中選擇用於預測目標點的屬性資訊的鄰居點。
需要說明的是,編碼端可計算該N個備選點中的每一個備選點與目標點的距離,並基於每一個備選點與目標點的距離確定k個鄰居點;也可通過點的幾何結構關係,如利用基於該N個備選點和目標點形成的八叉樹結構定位出符合條件的k鄰居點;也可通過其他映射方式進行定位;還可以在對N個備選點和目標點進行排序,並在排序後的備選點中選擇k個鄰居點,例如,可以基於對N個備選點和目標點進行排序形成的順序選擇k個鄰居點,本申請實施例對此不作具體限定。還需要說明的是,本申請對計算過程中涉及的距離所採用的度量方式或具體實現方式不作限定。例如,可以採用歐式(Euclidean)距離或曼哈頓(Manhattan)距離。還需要說明的是,對N個備選點和目標點進行排序形成的順序可以是直接對該點雲進行排序形成的順序,也可以是僅對該N個備選點和目標點排序形成的順序,例如,該點雲為密集點雲時,對N個備選點和目標點進行排序形成的順序可以是僅對該N個備選點和目標點排序形成的順序,該點雲為稀疏點雲時,該對N個備選點和目標點進行排序形成的順序可以是對該點雲中所有的點進行排序形成的順序,以降低工作量並提升預測效率。此外,編碼端對點雲中的點進行排序(或僅對該N個備選點和目標點進行排序)時,可對所有方向(x, y, z)進行處理,或者對其中一個或多個方向進行處理,本申請實施例對此不作具體限定。例如,編碼端根據點的位置資訊對點雲中的點進行排序(或僅對該N個備選點和目標點進行排序)時,編碼端可以根據點的位置資訊對點雲中的點進行莫頓排序(或僅對該N個備選點和目標點進行莫頓排序),也可以根據點的位置資訊對點雲中的點進行希爾伯特排序(或僅對該N個備選點和目標點進行希爾伯特排序)。可選的,該點的位置資訊可以是該雲的三維位置資訊,也可以是一個維度或多個維度上的位置資訊。可選的,編碼端可根據實際需求確定採用幾個維度的位置資訊對點雲中的點或該N個備選點進行排序。
在一些實施例中,該操作S330可包括:
基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點和該目標點的幾何結構關係;基於該幾何結構關係,從該N個備選點中選擇該k個鄰居點。
在一種實現方式中,該幾何結構關係通過八叉樹結構表示; 基於該八叉樹結構,確定該目標點的k個最近鄰點;將該k個最近鄰點,確定為該k個鄰居點。
簡言之,編碼端基於該八叉樹結構,選擇k個最近鄰點作為鄰居點;即,在該N個備選點中選擇與目標點距離最近的k個點。例如,編碼端可利用K最近鄰(k-Nearest Neighbor,KNN)分類演算法計算獲取其的K個最近鄰點。其中,K最近鄰是指K個最近的鄰居,相當於,每個點都可以用它最接近的K個鄰近點來代表。
在另一種實現方式中,基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;若備選點數量p大於或等於鄰居點數量k,則將該p個備選點確定為該k個鄰居點;或者,若備選點數量p大於或等於鄰居點數量k,則在該p個備選點中選擇k個備選點作為該k個鄰居點。在另一種實現方式中,基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;若備選點數量p小於鄰居點數量k或備選點數量p等於0,則基於該目標位置資訊的重建資訊和該N個備選點的位置資訊的重建資訊,確定該N個備選點中的各個備選點到該目標點之間的距離;基於該N個備選點中的各個備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的各個備選點到該目標點的距離為歐式距離或曼哈頓距離。在另一種實現方式中,基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;若備選點數量p小於鄰居點數量k或備選點數量p等於0,則利用該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊確定第二順序;基於該第二順序,從該N個備選點中選擇該k個鄰居點;其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的各個備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的各個備選點到該目標點的距離為歐式距離或曼哈頓距離。
簡言之,編碼端可基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的備選點;若從與該目標點共線和/或共面的備選點的數目小於k或者不存在與該目標點共線或共面的備選點,則編碼端基於該N個備選點中的備選點到該目標點之間的距離或第二順序確定該k個鄰居點,若從與該目標點共線和/或共面的備選點的數目大於或等於k,則將所有的與該目標點共線和/或共面的備選點確定為該k個鄰居點或從所有的與該目標點共線和/或共面的備選點中選擇出k和點作為該k個鄰居點。
編碼端基於該N個備選點中的各個備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點時,將該N個備選點中的與該目標點的距離小於第一閾值的點,確定為該k個鄰居點;或,將該N個備選點中的與該目標點的距離為第二閾值的點,確定為k個鄰居點。換言之,編碼端從該N個備選點中選擇該k個鄰居點的方法具體包括但是不限於以下方法中的至少一項:
1、選擇所有距離小於d的點作為鄰居點。例如,d=2。
2、選擇所有距離為d_0的點作為鄰居點。可選的,d_0可選一個固定值或多個固定值。例如,d_0可以為1或2,即選擇密集點雲中與目標點共面或共線的點。
編碼端基於該第二順序,從該N個備選點中選擇該k個鄰居點時,可以基於該目標點在該第二順序中的序號,從該N個備選點中選擇該k個鄰居點。換言之,編碼端採用該N個備選點中的部分點作為該k個鄰居點時,可實現的方案包括但是不限於以下方式中的至少一項:
1、按照該第二順序逐漸向前搜索,選擇k個點加入鄰居點。
2、按該第二順序選擇前序的k個點,即選擇序號為i-1, i-2, …, i-k的點作為鄰居點。
3、按該第二順序在該N個備選點中任選連續的k個點。例如,跳過前序N1個點,即選擇序號為i-N1-1, i-N1-2, …, i-N1-k的N個點加入鄰居點。
當然,在其他可替代實施例中,編碼端也可以從該N個備選點中隨機選擇該k個鄰居點,本申請實施例對此不作具體限定。
在一些實施例中,該操作S330可包括:
基於該目標點位置資訊的重建資訊和該N個備選點的位置資訊的重建資訊,確定該N個備選點中的各個備選點到該目標點之間的距離;基於該N個備選點中的各個備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
由於備選點到該目標點之間的距離大小,能夠體現備選點的屬性資訊和目標點的屬性資訊之間的相關度或相似度,編碼端可基於該N個備選點中的備選點到該目標點之間的距離大小,優先從該N個備選點中選擇符合預設條件或屬性預測條件的該k個鄰居點。
在一種實現方式中,該操作S330可具體包括:
將該N個備選點中的第一目標備選點,確定為該k個鄰居點,第一目標備選點是指N個備選點中與目標點的距離小於第一閾值的點;或,將該N個備選點中的第二目標備選點,確定為k個鄰居點,第二目標備選點是指N個備選點中與目標點的距離小於第二閾值的點。
換言之,編碼端從該N個備選點中選擇該k個鄰居點的方法具體包括但是不限於以下方法中的至少一項:
1、選擇所有距離小於d的點作為鄰居點。例如,d=2。
2、選擇所有距離為d_0的點作為鄰居點。可選的,d_0可選一個固定值或多個固定值。例如,d_0可以為1或2,即選擇密集點雲中與目標點共面或共線的點。
在一些實施例中,該操作S330可包括:
利用該目標點的位置資訊的重建資訊和該N個備選點的位置資訊的重建資訊確定第二順序;基於該第二順序,從該N個備選點中選擇該k個鄰居點;其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的各個備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的各個備選點到該目標點的距離為歐式距離或曼哈頓距離。
換言之,編碼端可基於第二順序,按序號從該N個備選點中選擇該k個鄰居點。例如,基於該N個備選點的第二順序,從該N個備選點中選擇部分備選點作為該k個鄰居點。例如,沿該第二順序,將該目標點前面的且與該目標點相鄰的k個點,確定為該k個鄰居點;或者,沿該第二順序,將在該目標點之前且連續的k個點,確定為該k個鄰居點,其中,該連續的k個點與該目標點相鄰或間隔至少一個備選點。
換言之,編碼端採用該N個備選點中的部分點作為該k個鄰居點時,可實現的方案包括但是不限於以下方式中的至少一項:
1、按照該第二順序逐漸向前搜索,選擇k個點加入鄰居點。
2、按該第二順序選擇前序的k個點,即選擇序號為i-1, i-2, …, i-k的點作為鄰居點。
3、按該第二順序在該N個備選點中任選連續的k個點。例如,跳過前序N1個點,即選擇序號為i-N1-1, i-N1-2, …, i-N1-k的N個點加入鄰居點。
當然,在其他可替代實施例中,編碼端也可以從該N個備選點中隨機選擇該k個鄰居點,本申請實施例對此不作具體限定。
在一些實施例中,該操作S340可包括:
以該k個鄰居點中的每一個鄰居點與該目標點的距離的倒數為該每一個鄰居點的權重,基於該k個鄰居點中每一個鄰居點的屬性值和權重進行加權平均計算,得到k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值;或者,針對該k個鄰居點中的不同鄰居點設置相同或不同的初始權重,基於該k個鄰居點中每一個鄰居點的屬性值和初始權重進行加權平均計算,得到k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值,其中該k個鄰居點中的一個鄰居點的初始權重隨該一個鄰居點與該目標點的距離的增大而減小,該碼流包括該k個鄰居點中的每一個鄰居點的初始權重;或者,將該k個鄰居點中與該目標點的距離最近的鄰居點的屬性值,確定為該目標點的屬性資訊的預測值。
換言之,編碼端可利用所獲得的鄰居點的屬性值計算目標點的屬性資訊的預測值,具體計算過程包括但是不限於以下方法中的至少一項:
1、根據鄰居點與目標點的距離計算加權平均值。例如,採用歐式距離度量,以距離的倒數作為各個鄰居點的權重,預測值為各個鄰居點屬性值的加權平均。
2、根據設置的初始權重計算加權平均值,可由編碼端為不同鄰居點設置相同或不同的權重值,例如,給距離較近的點設置較大的權重值;預測值為各個鄰居點屬性值的加權平均。相應的,解碼端可通過解析碼流獲得對應的權重值。
3、採用最鄰近點的屬性值作為目標點的屬性值預測值。
在一些實施例中,該操作S350可包括:
丟棄該k個鄰居點中的第一鄰居點和第二鄰居點,得到k個鄰居點中剩餘的鄰居點;其中,第一鄰居點是指k個鄰居點中與參考點的距離大於第一閾值的鄰居點,所述第二鄰居點是指k個鄰居點中與參考點的距離大於或者等於第二閾值的鄰居點,該k個鄰居點包括該參考點;利用該k個鄰居點中剩餘的鄰居點的屬性值,確定該目標點的屬性資訊的預測值。
換言之,編碼端對所獲得的鄰居點可進行處理,可剔除差異較大的點,避免引入誤差,包括但是不限於以下方法中的至少一項:
1、剔除鄰居點中距離相差較大的鄰居點。例如,已選擇k個最近鄰點作為鄰居點,設置閾值為d_0,其中距離最近的鄰居點為j,若其餘鄰居點與j的距離大於d_0,則剔除。
2、剔除鄰居點中屬性相差較大的鄰居點。例如,已選擇k個最近鄰點作為鄰居點,設置閾值為r_0,其中距離最近的鄰居點為j,若其餘鄰居點與j的屬性值之差大於d_0,則剔除。
以上結合附圖詳細描述了本申請的優選實施方式,但是,本申請並不限於上述實施方式中的具體細節,在本申請的技術構思範圍內,可以對本申請的技術方案進行多種簡單變型,這些簡單變型均屬於本申請的保護範圍。例如,在上述具體實施方式中所描述的各個具體技術特徵,在不矛盾的情況下,可以通過任何合適的方式進行組合,為了避免不必要的重複,本申請對各種可能的組合方式不再另行說明。又例如,本申請的各種不同的實施方式之間也可以進行任意組合,只要其不違背本申請的思想,其同樣應當視為本申請所公開的內容。還應理解,在本申請的各種方法實施例中,上述各過程的序號的大小並不意味著執行順序的先後,各過程的執行順序應以其功能和內在邏輯確定,而不應對本申請實施例的實施過程構成任何限定。
第9圖是本申請實施例提供的基於點雲屬性預測的解碼方法400的示意性流程圖。
如第9圖所示,該解碼方法400可包括:
操作S410,獲取點雲的碼流,對點雲的碼流進行解析,得到該點雲中目標點位置資訊的重建資訊;
操作S420,從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點,M≥N≥1;
操作S430,基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;
操作S440,利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值;
操作S450,對該碼流進行解析,得到該目標點屬性資訊的殘差值;
操作S460,用於根據該目標點屬性資訊的預測值和該目標點屬性資訊的殘差值,得到該目標點屬性資訊的最終重建值;
操作S470,根據該目標點的屬性資訊的最終重建值,得到解碼點雲。
在一些實施例中,已解碼點數量M超過備選點數量N;其中,該S420可包括:
基於該M個已解碼點的第一順序,從該M個已解碼點中選擇該N個已解碼點;其中,該第一順序為按照從小到大或從大到小的順序對該M個已解碼點和該目標點進行莫頓排序或希爾伯特排序所得到的順序,或該第一順序為該M個已解碼點和該目標點的解碼順序;將該N個已解碼點,確定為該N個備選點。
本申請實施例中,從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點後,基於該目標點的位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,針對密集點雲,能夠避免用於選擇該k個鄰居點的備選點的數量過大,降低預測複雜度。另一方面,在利用該k個鄰居點的屬性值,確定該目標點的屬性資訊的預測值,能夠保證針對目標點的屬性資訊的預測準確度。因此,本申請提供的方案,能夠在保證預測效果的基礎上降低預測複雜度。
在一些實施例中,該操作S420可具體包括:
沿該第一順序,將在該目標點之前且與該目標點相鄰的N個點,確定為該N個已解碼點;或者,沿該第一順序,將在該目標點之前且連續的N個點,確定為該N個已解碼點,其中,該連續的N個點與該目標點相鄰或間隔至少一個已解碼點。
在一些實施例中,該操作S430可包括:
基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點和該目標點的幾何結構關係;基於該幾何結構關係,從該N個備選點中選擇該k個鄰居點。
在一些實施例中,該幾何結構關係通過八叉樹結構表示;該S430可具體包括:
基於該八叉樹結構,確定該目標點的k個最近鄰點;將該k個最近鄰點,確定為該k個鄰居點。
在一些實施例中,該操作S430可包括:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p大於或等於鄰居點數量k,則將該p個備選點確定為該k個鄰居點;或者
若備選點數量p大於或等於鄰居點數量k,則在該p個備選點中選擇k個備選點作為該k個鄰居點。
在一些實施例中,該操作S430可包括:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p小於鄰居點數量k或備選點數量p等於0,則基於該目標點的位置資訊的重建資訊和該N個備選點的位置資訊的重建資訊,確定該N個備選點中的備選點到該目標點之間的距離;
基於該N個備選點中的備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該操作S430可包括:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p小於鄰居點數量k或備選點數量p等於0,則利用該目標點的位置資訊的重建資訊和該N個備選點的位置資訊的重建資訊確定第二順序;基於該第二順序,從該N個備選點中選擇該k個鄰居點;
其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該操作S430可包括:
基於該目標點位置資訊的重建資訊和該N個備選點的位置資訊的重建資訊,確定該N個備選點中的各個備選點到該目標點之間的距離;基於該N個備選點中的各個備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該操作S430可具體包括:
將該N個備選點中的第一目標備選點,確定為該k個鄰居點,第一目標備選點是指N個備選點中與目標點的距離小於第一閾值的點;或,將該N個備選點中的第二目標備選點,確定為k個鄰居點,第二目標備選點是指N個備選點中與目標點的距離小於第二閾值的點。
在一些實施例中,該操作S430可包括:
利用該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊確定第二順序;基於該第二順序,從該N個備選點中選擇該k個鄰居點;
其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該操作S440可包括:
以該k個鄰居點中的每一個鄰居點與該目標點的距離的倒數為該每一個鄰居點的權重,基於該k個鄰居點中每一個鄰居點的屬性值和權重進行加權平均計算,得到k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值;或者,針對該k個鄰居點中的不同鄰居點設置相同或不同的初始權重進行加權平均計算,得到k個鄰居點屬性值的加權平均值,基於該k個鄰居點中每一個鄰居點的屬性值和初始權重,將計算的該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值,其中該k個鄰居點中的每一個鄰居點的初始權重隨該每一個鄰居點與該目標點的距離的增大而減小,該碼流包括該k個鄰居點中的每一個鄰居點的初始權重;或者,將該k個鄰居點中與該目標點的距離最近的鄰居點的屬性值,確定為該目標點的屬性資訊的預測值。
在一些實施例中,該操作S440可包括:
丟棄該k個鄰居點中的第一鄰居點和第二鄰居點,得到k個鄰居點中剩餘的鄰居點;其中,第一鄰居點是指k個鄰居點中與參考點的距離大於第一閾值的鄰居點,所述第二鄰居點是指k個鄰居點中與參考點的距離大於或者等於第二閾值的鄰居點,該k個鄰居點包括該參考點;利用該k個鄰居點中剩餘的鄰居點的屬性值,確定該目標點的屬性資訊的預測值。
應理解,解碼方法400可參考編碼方法300的相關描述,為避免重複,此處不再贅述。
下面將結合附圖對本申請實施例提供的編碼器或解碼器進行說明。
第10圖是本申請實施例提供的點雲的編碼器500的示意性框圖。
如第10圖所示,該編碼器500可包括:
獲取單元510,用於獲取點雲中目標點位置資訊的重建資訊;
預測單元520,用於:從該點雲中的M個已編碼點中選擇N個已編碼點作為該目標點的N個備選點,M≥N≥1;基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值或該k個鄰居點屬性資訊的原始值;
殘差單元530,用於根據該目標點屬性資訊的預測值和該目標點屬性資訊的原始值,得到該目標點屬性資訊的殘差值;
編碼單元540,用於對該目標點屬性資訊的殘差值進行編碼,得到該點雲的碼流。
在一些實施例中,已編碼點數量M超過備選點數量N;其中,該預測單元520具體用於:
基於該M個已編碼點的第一順序,從該M個已編碼點中選擇該N個已編碼點;其中,該第一順序為按照從小到大或從大到小的順序對該M個已編碼點和該目標點進行莫頓排序或希爾伯特排序所得到的順序,或該第一順序為該M個已編碼點和該目標點的編碼順序;
將該N個已編碼點作為該N個備選點。
在一些實施例中,該預測單元520具體用於:
沿該第一順序,將在該目標點之前且與該目標點相鄰的N個點,確定為該N個已編碼點;或者
沿該第一順序,將在該目標點之前且連續的N個點,確定為該N個已編碼點,其中,該連續的N個點與該目標點相鄰或間隔至少一個已編碼點。
在一些實施例中,該預測單元520具體用於:
基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點和該目標點的幾何結構關係;
基於該幾何結構關係,從該N個備選點中選擇該k個鄰居點。
在一些實施例中,該幾何結構關係通過八叉樹結構表示;該預測單元520具體用於:
基於該八叉樹結構,確定該目標點的k個最近鄰點;
將該k個最近鄰點,確定為該k個鄰居點。
在一些實施例中,該預測單元520具體用於:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p大於或等於鄰居點數量k,則將該p個備選點確定為該k個鄰居點;或者
若備選點數量p大於或等於鄰居點數量k,則在該p個備選點中選擇k個備選點作為該k個鄰居點。
在一些實施例中,該預測單元520具體用於:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p小於鄰居點數量k或備選點數量p等於0,則基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點中的備選點到該目標點之間的距離;
基於該N個備選點中的備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元520具體用於:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p小於鄰居點數量k或備選點數量p等於0,則利用該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊確定第二順序;基於該第二順序,從該N個備選點中選擇該k個鄰居點;
其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元520具體用於:
基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點中的備選點到該目標點之間的距離;
基於該N個備選點中的備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元520具體用於:
將該N個備選點中的第一目標備選點,確定為該k個鄰居點;第一目標備選點是指N個備選點中與目標點的距離小於第一閾值的點,或
將該N個備選點中的第二目標備選點,確定為k個鄰居點,第二目標備選點是指N個備選點中與目標點的距離小於第二閾值的點。
在一些實施例中,該預測單元520具體用於:
利用該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊確定第二順序;
基於該第二順序,從該N個備選點中選擇該k個鄰居點;
其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元520具體用於:
以該k個鄰居點中的每一個鄰居點與該目標點的距離的倒數為該每一個鄰居點的權重,基於該k個鄰居點中每一個鄰居點的屬性值和權重進行加權平均計算,得到所述k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值,該碼流包括該k個鄰居點中的每一個鄰居點的初始權重;或者
針對該k個鄰居點中的不同鄰居點設置相同或不同的初始權重,基於該k個鄰居點中每一個鄰居點的屬性值和初始權重進行加權平均計算,得到所述k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值,其中該k個鄰居點中的每一個鄰居點的初始權重隨該每一個鄰居點與該目標點的距離的增大而減小;或者
將該k個鄰居點中與該目標點的距離最近的鄰居點的屬性值,確定為該目標點的屬性資訊的預測值。
在一些實施例中,該預測單元520具體用於:
丟棄該k個鄰居點中的第一鄰居點和第二鄰居點,得到k個鄰居點中剩餘的鄰居點;其中,第一鄰居點是指k個鄰居點中與參考點的距離大於第一閾值的鄰居點,第二鄰居點是指所述k個鄰居點中與參考點的距離大於或者等於第二閾值的鄰居點,該k個鄰居點包括該參考點。
需要說明的是,該編碼器500也可以結合至第1圖所示的編碼框架100,即可將該編碼器500中的單元替換或結合至編碼框架100中的相關單元。例如,該預測單元520和殘差單元530可用於實現編碼框架100中的預測變換單元113的相關功能,甚至可用於實現位置編碼功能以及針對屬性資訊進行預測之前的功能。再如,該編碼單元540可用於替換該編碼框架100中的第二算數編碼單元116。
第11圖是本申請實施例提供的解碼器600的示意性框圖。
如第11圖所示,該解碼器600可包括:
解析單元610,用於獲取點雲的碼流,對點雲的碼流進行解析,得到該點雲中目標點位置資訊的重建資訊;
預測單元620,用於:從該點雲中的M個已解碼點中選擇N個已解碼點作為該目標點的N個備選點,M≥N≥1;基於該目標點位置資訊的重建資訊,從該N個備選點中選擇k個鄰居點,N≥k≥1;利用該k個鄰居點的屬性值,確定該目標點屬性資訊的預測值;該k個鄰居點的屬性值為該k個鄰居點屬性資訊的重建值;
該解析單元610還用於對該碼流進行解析,得到該目標點屬性資訊的殘差值;
殘差單元630,用於根據該目標點屬性資訊的預測值和該目標點屬性資訊的殘差值,得到該目標點屬性資訊的最終重建值;
解碼單元640,用於根據該目標點屬性資訊的最終重建值,得到解碼點雲。
在一些實施例中,已解碼點數量M超過備選點數量N;其中,該預測單元620具體用於:
基於該M個已解碼點的第一順序,從該M個已解碼點中選擇該N個已解碼點;其中,該第一順序為按照從小到大或從大到小的順序對該M個已解碼點和該目標點進行莫頓排序或希爾伯特排序所得到的順序,或該第一順序為該M個已解碼點和該目標點的解碼順序;
將該N個已解碼點,確定為該N個備選點。
在一些實施例中,該預測單元620具體用於:
沿該第一順序,將在該目標點之前且與該目標點相鄰的N個點,確定為該N個已解碼點;或者
沿該第一順序,將在該目標點之前且連續的N個點,確定為該N個已解碼點,其中,該連續的N個點與該目標點相鄰或間隔至少一個已解碼點。
在一些實施例中,該預測單元620具體用於:
基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點和該目標點的幾何結構關係;
基於該幾何結構關係,從該N個備選點中選擇該k個鄰居點。
在一些實施例中,該幾何結構關係通過八叉樹結構表示;該預測單元620具體用於:
基於該八叉樹結構,確定該目標點的k個最近鄰點;
將該k個最近鄰點,確定為該k個鄰居點。
在一些實施例中,該預測單元620具體用於:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p大於或等於鄰居點數量k,則將該p個備選點確定為該k個鄰居點;或者
若備選點數量p大於或等於鄰居點數量k,則在該p個備選點中選擇k個備選點作為該k個鄰居點。
在一些實施例中,該預測單元620具體用於:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p小於鄰居點數量k或備選點數量p等於0,則基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點中的各個備選點到該目標點之間的距離;
基於該N個備選點中的各個備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元620具體用於:
基於該幾何結構關係,從該N個備選點中選擇與該目標點共線和/或共面的p個備選點;
若備選點數量p小於鄰居點數量k或備選點數量p等於0,則利用該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊確定第二順序;基於該第二順序,從該N個備選點中選擇該k個鄰居點;
其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元620具體用於:
基於該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊,確定該N個備選點中的各個備選點到該目標點之間的距離;
基於該N個備選點中的各個備選點到該目標點之間的距離,從該N個備選點中選擇該k個鄰居點,其中,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元620具體用於:
將該N個備選點中的第一目標備選點,確定為該k個鄰居點,第一目標備選點是指N個備選點中與目標點的距離小於第一閾值的點;或
將該N個備選點中的第二目標備選點,確定為k個鄰居點,第二目標備選點是指N個備選點中與目標點的距離小於第二閾值的點。
在一些實施例中,該預測單元620具體用於:
利用該目標點位置資訊的重建資訊和該N個備選點位置資訊的重建資訊確定第二順序;
基於該第二順序,從該N個備選點中選擇該k個鄰居點;
其中,該第二順序為按照從小到大或從大到小的順序對該N個備選點和該目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,該第二順序為按照該N個備選點中的備選點與該目標點的距離由大到小或有小到大進行排序後得到的順序,該N個備選點中的備選點到該目標點的距離為歐式距離或曼哈頓距離。
在一些實施例中,該預測單元620具體用於:
以該k個鄰居點中的每一個鄰居點與該目標點的距離的倒數為該每一個鄰居點的權重,基於該k個鄰居點中每一個鄰居點的屬性值和權重進行加權平均計算,得到所述k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值;或者
針對該k個鄰居點中的不同鄰居點設置相同或不同的初始權重,基於該k個鄰居點中每一個鄰居點的屬性值和初始權重進行加權平均計算,得到所述k個鄰居點屬性值的加權平均值,將該k個鄰居點的屬性值的加權平均值,確定為該目標點的屬性資訊的預測值,其中該k個鄰居點中的每一個鄰居點的初始權重隨該每一個鄰居點與該目標點的距離的增大而減小,該碼流包括該k個鄰居點中的每一個鄰居點的初始權重;或者
將該k個鄰居點中與該目標點的距離最近的鄰居點的屬性值,確定為該目標點的屬性資訊的預測值。
在一些實施例中,該預測單元620具體用於:
丟棄該k個鄰居點中的第一鄰居點和第二鄰居點,得到k個鄰居點中剩餘的鄰居點;其中,第一鄰居點是指k個鄰居點中與參考點的距離大於第一閾值的鄰居點,第二鄰居點是指k個鄰居點中與參考點的距離大於或者等於第二閾值的鄰居點,該k個鄰居點包括該參考點。
需要說明的是,該解碼器600也可以結合至第2圖所示的解碼框架200,即可將該解碼器600中的單元替換或結合至解碼框架200中的相關單元。例如,該解析單元610可用於實現解碼框架200中的預測變換單元213的相關功能,甚至可用於實現反量化單元211以及第二算數解碼單元210的相關功能。再如,預測單元620和殘差單元630可用於實現預測變換單元213的相關功能。再如,解碼單元640可用於實現該解碼框架200中的顏色空間反變換單元215的功能。
應理解,裝置實施例與方法實施例可以相互對應,類似的描述可以參照方法實施例。為避免重複,此處不再贅述。具體地,編碼器500可以對應於執行本申請實施例的編碼方法300中的相應主體,並且編碼器500中的各個單元分別為了實現編碼方法300中的相應流程,類似的,解碼器600可以對應於執行本申請實施例的解碼方法400中的相應主體,並且解碼器600中的各個單元分別為了實現解碼方法400中的相應流程,為了簡潔,在此不再贅述。
還應當理解,本申請實施例涉及的點雲媒體的資料處理裝置中的各個單元可以分別或全部合併為一個或若干個另外的單元來構成,或者其中的某個(些)單元還可以再拆分為功能上更小的多個單元來構成,這可以實現同樣的操作,而不影響本申請的實施例的技術效果的實現。上述單元是基於邏輯功能劃分的,在實際應用中,一個單元的功能也可以由多個單元來實現,或者多個單元的功能由一個單元實現。在本申請的其它實施例中,該點雲媒體的資料處理裝置也可以包括其它單元,在實際應用中,這些功能也可以由其它單元協助實現,並且可以由多個單元協作實現。根據本申請的另一個實施例,可以通過在包括例如中央處理單元(CPU)、隨機存取存儲介質(RAM)、唯讀存儲介質(ROM)等處理元件和記憶元件的通用電腦的通用計算設備上運行能夠執行相應方法所涉及的各步驟的電腦可讀指令(包括程式碼),來構造本申請實施例涉及的點雲媒體的資料處理裝置,以及來實現本申請實施例的基於點雲屬性預測的編解碼方法。電腦可讀指令可以記載於例如電腦可讀存儲介質上,並通過電腦可讀存儲介質裝載於任意具有資料處理能力的電子設備,並在其中運行,來實現本申請實施例的相應方法。
換言之,上文涉及的單元可以通過硬體形式實現,也可以通過軟體形式的指令實現,還可以通過軟硬體結合的形式實現。具體地,本申請實施例中的方法實施例的各步驟可以通過處理器中的硬體的集成邏輯電路和/或軟體形式的指令完成,結合本申請實施例公開的方法的步驟可以直接體現為硬體解碼處理器執行完成,或者用解碼處理器中的硬體及軟體組合執行完成。可選地,軟體可以位於隨機記憶體,快閃記憶體、唯讀記憶體、可程式設計唯讀記憶體、電可讀寫可程式設計記憶體、寄存器等本領域的成熟的存儲介質中。該存儲介質位於記憶體,處理器讀取記憶體中的資訊,結合其硬體完成上述方法實施例中的步驟。
第12圖是本申請實施例提供的編解碼設備700的示意結構圖。
如圖12所示,該編解碼設備700至少包括處理器710、電腦可讀存儲介質720以及收發器730。其中,處理器710以及電腦可讀存儲介質720可通過匯流排或者其它方式連接。電腦可讀存儲介質720用於存儲電腦可讀指令721,電腦可讀指令721包括電腦指令,處理器710用於執行電腦可讀存儲介質720存儲的電腦指令。處理器710是編解碼設備700的計算核心以及控制核心,其適於實現一條或多條電腦指令,具體適於載入並執行一條或多條電腦指令從而實現相應方法流程或相應功能。收發器730可用於資料的接收與發送。
作為示例,處理器710也可稱為中央處理器(Central Processing Unit,CPU)。處理器710可以包括但不限於:通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式設計閘陣列(Field Programmable Gate Array,FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等等。
作為示例,電腦可讀存儲介質720可以是高速RAM記憶體,也可以為非易失性的記憶體(Non-VolatileMemory),例如至少一個磁碟記憶體;可選的,還可以是至少一個位於遠離前述處理器710的電腦可讀存儲介質。具體而言,電腦可讀存儲介質720包括但不限於:易失性記憶體和/或非易失性記憶體。其中,非易失性記憶體可以是唯讀記憶體(Read-Only Memory,ROM)、可程式設計唯讀記憶體(Programmable ROM,PROM)、可擦除可程式設計唯讀記憶體(Erasable PROM,EPROM)、電可擦除可程式設計唯讀記憶體(Electrically EPROM,EEPROM)或快閃記憶體。易失性記憶體可以是隨機存取記憶體(Random Access Memory,RAM),其用作外部快取記憶體。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態隨機存取記憶體(Static RAM,SRAM)、動態隨機存取記憶體(Dynamic RAM,DRAM)、同步動態隨機存取記憶體(Synchronous DRAM,SDRAM)、雙倍數據速率同步動態隨機存取記憶體(Double Data Rate SDRAM,DDR SDRAM)、增強型同步動態隨機存取記憶體(Enhanced SDRAM,ESDRAM)、同步連接動態隨機存取記憶體(synch link DRAM,SLDRAM)和直接記憶體匯流排隨機存取記憶體(Direct Rambus RAM,DR RAM)。
在一種實現方式中,該編解碼設備700可以是第1圖所示的編碼框架100或第10圖10所示的編碼器500;該電腦可讀存儲介質720中存儲有第一電腦指令;由處理器710載入並執行電腦可讀存儲介質720中存放的第一電腦指令,以實現第8圖所示方法實施例中的相應步驟;具體實現中,電腦可讀存儲介質720中的第一電腦指令由處理器710載入並執行相應步驟,為避免重複,此處不再贅述。
在一種實現方式中,該編解碼設備700可以是第2圖所示的解碼框架200或第11圖所示的解碼器600;該電腦可讀存儲介質720中存儲有第二電腦指令;由處理器710載入並執行電腦可讀存儲介質720中存放的第二電腦指令,以實現第9圖所示方法實施例中的相應步驟;具體實現中,電腦可讀存儲介質720中的第二電腦指令由處理器710載入並執行相應步驟,為避免重複,此處不再贅述。
根據本申請的另一方面,本申請實施例還提供了一種電腦可讀存儲介質(Memory),電腦可讀存儲介質是編解碼設備700中的記憶設備,用於存放程式和資料。例如,電腦可讀存儲介質720。可以理解的是,此處的電腦可讀存儲介質720既可以包括編解碼設備700中的內置存儲介質,當然也可以包括編解碼設備700所支援的擴展存儲介質。電腦可讀存儲介質提供存儲空間,該存儲空間存儲了編解碼設備700的作業系統。並且,在該存儲空間中還存放了適於被處理器710載入並執行的一條或多條的電腦指令,這些電腦指令可以是一個或多個的電腦可讀指令721(包括程式碼)。這些電腦指令指令用於電腦執行上述各種可選方式中提供的基於點雲屬性預測的編解碼方法。
根據本申請的另一方面,提供了一種電腦可讀指令產品或電腦可讀指令,該電腦可讀指令產品或電腦可讀指令包括電腦指令,該電腦指令存儲在電腦可讀存儲介質中。例如,電腦可讀指令721。此時,編解碼設備700可以是電腦,處理器710從電腦可讀存儲介質720讀取該電腦指令,處理器710執行該電腦指令,使得該電腦執行上述各種可選方式中提供的基於點雲屬性預測的編解碼方法。
換言之,當使用軟體實現時,可以全部或部分地以電腦可讀指令產品的形式實現。該電腦可讀指令產品包括一個或多個電腦指令。在電腦上載入和執行該電腦指令時,全部或部分地運行本申請實施例的流程或實現本申請實施例的功能。該電腦可以是通用電腦、專用電腦、電腦網路、或者其他可程式設計裝置。該電腦指令可以存儲在電腦可讀存儲介質中,或者從一個電腦可讀存儲介質向另一個電腦可讀存儲介質進行傳輸,例如,該電腦指令可以從一個網站網站、電腦、伺服器或資料中心通過有線(例如同軸電纜、光纖、數位用戶線路(digital subscriber line,DSL)或無線(例如紅外、無線、微波等)方式向另一個網站網站、電腦、伺服器或資料中心進行傳輸。
本申請所屬技術領域中具有通常知識者可以意識到,結合本文中所公開的實施例描述的各示例的單元以及流程步驟,能夠以電子硬體、或者電腦軟體和電子硬體的結合來實現。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的範圍。
雖然本申請已用較佳實施例揭露如上,然其並非用以限定本申請,本申請所屬技術領域中具有通常知識者在不脫離本申請之精神與範圍內,可作各種之更動與潤飾,因此本申請之保護範圍當視後附之申請專利範圍所界定者為準。
100:編碼框架 101:座標變換單元 102:量化和移除重複點單元 103:八叉樹分析單元 104:幾何重建單元 105:第一算術編碼單元 110:顏色空間變換單元 111:屬性變換單元 112:區域自我調整分層變換單元 113:預測變換單元 114:提升變換單元 115:量化單元 116:第二算術編碼單元 200:解碼框架 201:第一算數解碼單元 202:八叉樹分析單元 203:幾何重建單元 204:座標反變換單元 210:第二算數解碼單元 211:反量化單元 212:區域自我調整分層變換單元 213:預測變換單元 214:提升變換單元 215:顏色空間反變換單元 300:編碼方法 400:解碼方法 500:編碼器 510:獲取單元 520:預測單元 530:殘差單元 540:編碼單元 600:解碼器 610:解析單元 620:預測單元 630:殘差單元 640:解碼單元 700:編解碼設備 710:處理器 720:電腦可讀存儲介質 721:電腦可讀指令 730:收發器 A、B、C、D:點 S310-S360、S410-S470:操作
[第1圖]顯示本申請實施例提供的編碼框架的示意性方塊圖。 [第2圖]顯示本申請實施例提供的解碼框架的示意性方塊圖。 [第3圖]顯示本申請實施例提供的原始莫頓順序下的點雲的示意圖。 [第4圖]顯示本申請實施例提供的偏移莫頓順序下的點雲的示意圖。 [第5圖]顯示本申請實施例提供的鄰居點的空間關係的示意性結構圖。 [第6圖]顯示本申請實施例提供的鄰域範圍內與待編碼當前點共面的鄰居點之間的莫頓碼關係的示例。 [第7圖]顯示本申請實施例提供的鄰域範圍內與待編碼當前點共線的鄰居點之間的莫頓碼關係的示例。 [第8圖]顯示本申請實施例提供的編碼方法的示意性流程圖。 [第9圖]顯示本申請實施例提供的解碼方法的示意性流程圖。 [第10圖]顯示本申請實施例提供的編碼器的示意性方塊圖。 [第11圖]顯示本申請實施例提供的解碼器的示意性方塊圖。 [第12圖]顯示本申請實施例提供的電子設備的示意性方塊圖。
400:解碼方法
S410-S470:操作

Claims (20)

  1. 一種基於點雲屬性預測的解碼方法,由編解碼設備執行,所述方法包括: 獲取點雲的碼流,對所述點雲的碼流進行解析,得到所述點雲中目標點位置資訊的重建資訊; 從所述點雲中的M個已解碼點中選擇N個已解碼點作為所述目標點的N個備選點,M≥N≥1; 基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,N≥k≥1; 利用所述k個鄰居點的屬性值,確定所述目標點屬性資訊的預測值;所述k個鄰居點的屬性值為所述k個鄰居點屬性資訊的重建值; 對所述碼流進行解析,得到所述目標點屬性資訊的殘差值; 根據所述目標點屬性資訊的預測值和所述目標點屬性資訊的殘差值,得到所述目標點屬性資訊的最終重建值;以及 根據所述目標點屬性資訊的最終重建值,得到解碼點雲。
  2. 如請求項1之方法,其中所述已解碼點數量M超過所述備選點數量N; 所述從所述點雲中的M個已解碼點中選擇N個已解碼點作為所述目標點的N個備選點,包括: 基於所述M個已解碼點的第一順序,從所述M個已解碼點中選擇所述N個已解碼點;其中,所述第一順序為對所述M個已解碼點和所述目標點進行莫頓排序或希爾伯特排序所得到的順序,或所述第一順序為所述M個已解碼點和所述目標點的解碼順序;以及 將所述N個已解碼點,確定為所述N個備選點。
  3. 如請求項2之方法,其中所述基於所述M個已解碼點的第一順序,從所述M個已解碼點中選擇所述N個已解碼點,包括: 沿所述第一順序,將在所述目標點之前且與所述目標點相鄰的N個點,確定為所述N個已解碼點;或者 沿所述第一順序,將在所述目標點之前且連續的N個點,確定為所述N個已解碼點,其中,所述連續的N個點與所述目標點相鄰或間隔至少一個已解碼點。
  4. 如請求項1之方法,其中所述基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,包括: 基於所述目標點位置資訊的重建資訊和所述N個備選點位置資訊的重建資訊,確定所述N個備選點和所述目標點間的幾何結構關係;以及 基於所述幾何結構關係,從所述N個備選點中選擇所述k個鄰居點。
  5. 如請求項4之方法,其中所述幾何結構關係通過八叉樹結構表示;所述基於所述幾何結構關係,從所述N個備選點中選擇所述k個鄰居點,包括: 基於所述八叉樹結構,確定所述目標點的k個最近鄰點;以及 將所述k個最近鄰點,確定為所述k個鄰居點。
  6. 如請求項4之方法,其中所述基於所述幾何結構關係,從所述N個備選點中選擇所述k個鄰居點,包括: 基於所述幾何結構關係,從所述N個備選點中選擇與所述目標點共線和/或共面的p個備選點;以及 若所述備選點數量p大於或等於所述鄰居點數量k,則將所述p個備選點確定為所述k個鄰居點;或者 若所述備選點數量p大於或等於所述鄰居點數量k,則在所述p個備選點中選擇k個備選點作為所述k個鄰居點。
  7. 如請求項4之方法,其中所述基於所述幾何結構關係,從所述N個備選點中選擇所述k個鄰居點,包括: 基於所述幾何結構關係,從所述N個備選點中選擇與所述目標點共線和/或共面的p個備選點; 若所述備選點數量p小於所述鄰居點數量k或所述備選點數量p等於0,則基於所述目標點位置資訊的重建資訊和所述N個備選點位置資訊的重建資訊,確定所述N個備選點中的各個備選點到所述目標點之間的距離;以及 基於所述N個備選點中的各個備選點到所述目標點之間的距離,從所述N個備選點中選擇所述k個鄰居點。
  8. 如請求項4之方法,其中所述基於所述幾何結構關係,從所述N個備選點中選擇所述k個鄰居點,包括: 基於所述幾何結構關係,從所述N個備選點中選擇與所述目標點共線和/或共面的p個備選點; 若所述備選點數量p小於所述鄰居點數量k或所述備選點數量p等於0,則利用所述目標點位置資訊的重建資訊和所述N個備選點位置資訊的重建資訊確定第二順序;以及 基於所述第二順序,從所述N個備選點中選擇所述k個鄰居點; 其中,所述第二順序為對所述N個備選點和所述目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,所述第二順序為按照所述N個備選點中的備選點與所述目標點的距離由大到小或有小到大進行排序後得到的順序,所述N個備選點中的備選點到所述目標點的距離為歐式距離或曼哈頓距離。
  9. 如請求項1之方法,其中所述基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,包括: 基於所述目標點位置資訊的重建資訊和所述N個備選點的位置資訊的重建資訊,確定所述N個備選點中的各個備選點到所述目標點之間的距離;以及 基於所述N個備選點中的各個備選點到所述目標點之間的距離,從所述N個備選點中選擇所述k個鄰居點。
  10. 如請求項7或9之方法,其中所述基於所述N個備選點中的各個備選點到所述目標點之間的距離,從所述N個備選點中選擇所述k個鄰居點,包括: 將所述N個備選點中的第一目標備選點,確定為所述k個鄰居點,所述第一目標備選點是指所述N個備選點中與所述目標點的距離小於第一閾值的點;或 將所述N個備選點中的第二目標備選點,確定為k個鄰居點,所述第二目標備選點是指所述N個備選點中與所述目標點的距離小於第二閾值的點。
  11. 如請求項1之方法,其中所述基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,包括: 利用所述目標點位置資訊的重建資訊和所述N個備選點的位置資訊的重建資訊確定第二順序;以及 基於所述第二順序,從所述N個備選點中選擇所述k個鄰居點; 其中,所述第二順序為對所述N個備選點和所述目標點進行莫頓排序或希爾伯特排序所得到的順序;或者,所述第二順序為按照所述N個備選點中的各個備選點與所述目標點的距離進行排序後得到的順序。
  12. 如請求項1至9任一項之方法,其中所述利用所述k個鄰居點的屬性值,確定所述目標點屬性資訊的預測值,包括: 以所述k個鄰居點中的每一個鄰居點與所述目標點的距離的倒數作為所述每一個鄰居點的權重,基於所述k個鄰居點中每一個鄰居點的屬性值和權重進行加權平均計算,得到所述k個鄰居點屬性值的加權平均值,將所述k個鄰居點屬性值的加權平均值,確定為所述目標點屬性資訊的預測值;或者 針對所述k個鄰居點中的不同鄰居點設置相同或不同的初始權重,基於所述k個鄰居點中每一個鄰居點的屬性值和初始權重進行加權平均計算,得到所述k個鄰居點屬性值的加權平均值,將所述k個鄰居點屬性值的加權平均值,確定為所述目標點屬性資訊的預測值,其中所述k個鄰居點中的每一個鄰居點的初始權重隨所述每一個鄰居點與所述目標點的距離的增大而減小,所述碼流包括所述k個鄰居點中的每一個鄰居點的初始權重;或者 將所述k個鄰居點中與所述目標點的距離最近的鄰居點的屬性值,確定為所述目標點屬性資訊的預測值。
  13. 如請求項1至9任一項之方法,其中所述利用所述k個鄰居點的屬性值,確定所述目標點的屬性資訊的預測值,包括: 丟棄所述k個鄰居點中的第一鄰居點和第二鄰居點,得到所述k個鄰居點中剩餘的鄰居點;其中,所述第一鄰居點是指所述k個鄰居點中與參考點的距離大於第一閾值的鄰居點,所述第二鄰居點是指所述k個鄰居點中與參考點的距離大於或者等於第二閾值的鄰居點,所述k個鄰居點包括所述參考點;以及 利用所述k個鄰居點中剩餘的鄰居點的屬性值,確定所述目標點的屬性資訊的預測值。
  14. 一種基於點雲屬性預測的編碼方法,由編解碼設備執行,所述方法包括: 獲取點雲中目標點位置資訊的重建資訊; 從所述點雲中的M個已編碼點中選擇N個已編碼點作為所述目標點的N個備選點,M≥N≥1; 基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,N≥k≥1; 利用所述k個鄰居點的屬性值,確定所述目標點屬性資訊的預測值;所述k個鄰居點的屬性值為所述k個鄰居點屬性資訊的重建值或所述k個鄰居點屬性資訊的原始值; 根據所述目標點屬性資訊的預測值和所述目標點屬性資訊的原始值,得到所述目標點屬性資訊的殘差值;以及 對所述目標點屬性資訊的殘差值進行編碼,得到所述點雲的碼流。
  15. 如請求項14之方法,其中已編碼點數量M超過備選點數量N; 所述從所述點雲中的M個已編碼點中選擇N個已編碼點作為所述目標點的N個備選點,包括: 基於所述M個已編碼點的第一順序,從所述M個已編碼點中選擇該N個已編碼點;其中,所述第一順序為對所述M個已編碼點和所述目標點進行排序所得到的順序,或所述第一順序為所述M個已編碼點和所述目標點的編碼順序;以及 將所述N個已編碼點作為所述N個備選點。
  16. 如請求項15之方法,其中所述基於所述M個已編碼點的第一順序,從所述M個已編碼點中選擇該N個已編碼點,包括: 沿所述第一順序,將在所述目標點之前且與所述目標點相鄰的N個點,確定為所述N個已編碼點;或者,沿所述第一順序,將在所述目標點之前且連續的N個點,確定為所述N個已編碼點,其中,所述連續的N個點與所述目標點相鄰或間隔至少一個已編碼點。
  17. 一種基於點雲屬性預測的解碼器,包括: 解析單元,用於獲取點雲的碼流,對所述點雲的碼流進行解析,得到所述點雲中目標點位置資訊的重建資訊; 預測單元,用於從所述點雲中的M個已解碼點中選擇N個已解碼點作為所述目標點的N個備選點,M≥N≥1;基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,N≥k≥1;利用所述k個鄰居點的屬性值,確定所述目標點屬性資訊的預測值;所述k個鄰居點的屬性值為所述k個鄰居點屬性資訊的重建值; 所述解析單元還用於對所述碼流進行解析,得到所述目標點屬性資訊的殘差值; 殘差單元,用於根據所述目標點屬性資訊的預測值和所述目標點屬性資訊的殘差值,得到所述目標點屬性資訊的最終重建值;以及 解碼單元,用於根據所述目標點的屬性資訊的最終重建值,得到解碼點雲。
  18. 一種基於點雲屬性預測的編碼器,包括: 獲取單元,用於獲取點雲中的目標點位置資訊的重建資訊; 預測單元,用於: 從所述點雲中的M個已編碼點中選擇N個已編碼點作為所述目標點的N個備選點,M≥N≥1; 基於所述目標點位置資訊的重建資訊,從所述N個備選點中選擇k個鄰居點,N≥k≥1;以及 利用所述k個鄰居點的屬性值,確定所述目標點屬性資訊的預測值;所述k個鄰居點的屬性值為所述k個鄰居點的屬性資訊的重建值或所述k個鄰居點屬性資訊的原始值; 殘差單元,用於根據所述目標點屬性資訊的預測值和所述目標點屬性資訊的原始值,得到所述目標點屬性資訊的殘差值;以及 編碼單元,用於對所述目標點屬性資訊的殘差值進行編碼,得到所述點雲的碼流。
  19. 一種電子設備,包括: 處理器,適於執行電腦可讀指令; 電腦可讀存儲介質,所述電腦可讀存儲介質中存儲有電腦可讀指令,所述電腦可讀指令被所述處理器執行時,實現如請求項1至13中任一項之基於點雲屬性預測的解碼方法,或實現如請求項14至16之基於點雲屬性預測的編碼方法。
  20. 一種電腦可讀存儲介質,用於存儲電腦可讀指令,所述電腦可讀指令使得電腦執行如請求項1至13中任一項之基於點雲屬性預測的解碼方法,或如請求項14至16之基於點雲屬性預測的編碼方法。
TW111108454A 2021-03-12 2022-03-08 基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質 TWI815339B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110278568.X 2021-03-12
CN202110278568.XA CN115086660B (zh) 2021-03-12 2021-03-12 基于点云属性预测的解码、编码方法、解码器及编码器

Publications (2)

Publication Number Publication Date
TW202236216A true TW202236216A (zh) 2022-09-16
TWI815339B TWI815339B (zh) 2023-09-11

Family

ID=83226313

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111108454A TWI815339B (zh) 2021-03-12 2022-03-08 基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質

Country Status (5)

Country Link
US (1) US20230086264A1 (zh)
EP (1) EP4307663A4 (zh)
CN (2) CN115086660B (zh)
TW (1) TWI815339B (zh)
WO (1) WO2022188583A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115688004B (zh) * 2022-11-08 2023-09-29 中国民用航空总局第二研究所 一种基于希尔伯特编码的目标属性确定方法、介质及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897269B2 (en) * 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) * 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10904564B2 (en) * 2018-07-10 2021-01-26 Tencent America LLC Method and apparatus for video coding
US10911787B2 (en) * 2018-07-10 2021-02-02 Apple Inc. Hierarchical point cloud compression
US11010931B2 (en) * 2018-10-02 2021-05-18 Tencent America LLC Method and apparatus for video coding
US20220286713A1 (en) * 2019-03-20 2022-09-08 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
US10979730B2 (en) * 2019-03-20 2021-04-13 Tencent America LLC Techniques and apparatus for interframe point cloud attribute coding
CN111145090B (zh) * 2019-11-29 2023-04-25 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN112470469B (zh) * 2020-03-31 2023-07-07 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备

Also Published As

Publication number Publication date
EP4307663A1 (en) 2024-01-17
TWI815339B (zh) 2023-09-11
CN117097898A (zh) 2023-11-21
CN115086660B (zh) 2023-07-25
CN115086660A (zh) 2022-09-20
EP4307663A4 (en) 2024-04-17
US20230086264A1 (en) 2023-03-23
WO2022188583A1 (zh) 2022-09-15

Similar Documents

Publication Publication Date Title
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
WO2023130333A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2021062772A1 (zh) 预测方法、编码器、解码器及计算机存储介质
TWI815339B (zh) 基於點雲屬性預測的解碼方法、編碼方法、解碼器及編碼器、電子設備以及電腦可讀存儲介質
WO2022121650A1 (zh) 点云属性的预测方法、编码器、解码器及存储介质
WO2022067775A1 (zh) 点云的编码、解码方法、编码器、解码器以及编解码系统
CN117014633B (zh) 一种跨模态数据压缩方法、装置、设备及介质
WO2024037244A1 (zh) 点云数据的解码方法、编码方法、装置、存储介质及设备
TW202406344A (zh) 一種點雲幾何資料增強、編解碼方法、裝置、碼流、編解碼器、系統和儲存媒介
WO2023241107A1 (zh) 点云处理方法、装置及计算机设备、存储介质
Khmelevskiy et al. Model of Transformation of the Alphabet of the Encoded Data as a Tool to Provide the Necessary Level of Video Image Qualityi in Aeromonitoring Systems.
WO2022067776A1 (zh) 点云的解码、编码方法、解码器、编码器和编解码系统
WO2023103564A1 (zh) 点云解码方法、点云编码方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024060161A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2023103565A1 (zh) 点云属性信息的编解码方法、装置、设备及存储介质
WO2022257528A1 (zh) 点云属性的预测方法、装置及相关设备
WO2023197337A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023197338A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024026712A1 (zh) 点云编解码方法、装置、设备及存储介质
TWI806481B (zh) 點雲中鄰居點的選擇方法及裝置、編碼設備、解碼設備及電腦設備
WO2024082153A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
US20230274465A1 (en) Information compression system and information compression method