TW202249488A - 點雲屬性的預測方法、裝置及編解碼器 - Google Patents
點雲屬性的預測方法、裝置及編解碼器 Download PDFInfo
- Publication number
- TW202249488A TW202249488A TW111121611A TW111121611A TW202249488A TW 202249488 A TW202249488 A TW 202249488A TW 111121611 A TW111121611 A TW 111121611A TW 111121611 A TW111121611 A TW 111121611A TW 202249488 A TW202249488 A TW 202249488A
- Authority
- TW
- Taiwan
- Prior art keywords
- point
- decoded
- encoded
- reference point
- points
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
一種點雲屬性的預測方法、裝置及編解碼器,該方法包括:獲得點雲的已解碼點的屬性訊息的重建值;對於點雲中的待解碼點,在待解碼點的索引大於N時,從點雲的已解碼點中,確定待解碼點的參考點查找範圍;在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點;根據至少一個參考點的屬性訊息的重建值,確定待解碼點的屬性訊息的預測值。本申請以參考點與待解碼點之間的距離為考量,使確定的參考點為距離待解碼點空間距離最近的已解碼點,基於空間距離待解碼點最近的至少一個參考點的屬性訊息進行屬性預測時,可提高屬性預測的準確性。
Description
本申請涉及點雲技術領域,尤其涉及一種點雲屬性的預測方法、裝置及編解碼器。
透過採集設備對物體表面進行採集,形成點雲資料,點雲資料包括幾十萬甚至更多的點。在影像製作過程中,將點雲資料以點雲媒體檔的形式在點雲編碼設備和點雲解碼設備之間傳輸。但是,如此龐大的點給傳輸帶來了挑戰,因此,點雲編碼設備需要對點雲資料進行壓縮後傳輸。
目前透過預測來減少或消除點雲資料中的冗餘訊息,以實現點雲資料的壓縮。但是目前的點雲預測準確性差。
本申請實施例提供了一種點雲屬性的預測方法、裝置及編解碼器,以提高點雲的預測準確性。
第一方面,本申請實施例提供一種點雲屬性的預測方法,包括:
解碼點雲碼流,得到點雲的已解碼點的屬性訊息的重建值;
對於所述點雲中的待解碼點,在所述待解碼點的索引大於N時,從所述點雲的已解碼點中,確定所述待解碼點的參考點查找範圍,其中,所述待解碼點的索引為所述待解碼點在屬性解碼順序中的排序,N為正整數;
在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點;
根據所述至少一個參考點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值。
第二方面,本申請提供了一種點雲屬性的預測方法,包括:
獲取點雲的已編碼點的屬性訊息的重建值;
對於所述點雲中的待編碼點,在所述待編碼點的索引大於N時,從所述點雲的已編碼點中,確定所述待編碼點的參考點查找範圍,其中,所述待編碼點的索引為所述待編碼點在屬性編碼順序中的排序,N為正整數;
在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點;
根據所述至少一個參考點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值。
第三方面,提供了一種點雲屬性的預測裝置,用於執行上述第一方面或其各實現方式中的方法。具體地,該裝置包括用於執行上述第一方面或其各實現方式中的方法的功能單元。
第四方面,提供了一種點雲屬性的預測裝置,用於執行上述第二方面或其各實現方式中的方法。具體地,該裝置包括用於執行上述第二方面或其各實現方式中的方法的功能單元。
第五方面,提供了一種點雲解碼器,包括處理器和記憶體。該記憶體用於儲存電腦程式,該處理器用於調用並運行該記憶體中儲存的電腦程式,以執行上述第一方面或其各實現方式中的方法。
第六方面,提供了一種點雲解碼器,包括處理器和記憶體。該記憶體用於儲存電腦程式,該處理器用於調用並運行該記憶體中儲存的電腦程式,以執行上述第二方面或其各實現方式中的方法。
第七方面,提供了一種晶片,用於實現上述第一方面至第二方面中的任一方面或其各實現方式中的方法。具體地,該晶片包括:處理器,用於從記憶體中調用並運行電腦程式,使得安裝有該晶片的設備執行如上述第一方面至第二方面中的任一方面或其各實現方式中的方法。
第八方面,提供了一種電腦可讀儲存媒介,用於儲存電腦程式,該電腦程式使得電腦執行上述第一方面至第二方面中的任一方面或其各實現方式中的方法。
第九方面,提供了一種電腦程式產品,包括電腦程式指令,該電腦程式指令使得電腦執行上述第一方面至第二方面中的任一方面或其各實現方式中的方法。
第十方面,提供了一種電腦程式,當其在電腦上運行時,使得電腦執行上述第一方面至第二方面中的任一方面或其各實現方式中的方法。
基於以上技術方案,透過獲取點雲的已解碼點的屬性訊息的重建值;對於點雲中的待解碼點,在待解碼點的索引大於N時,從點雲的已解碼點中,確定待解碼點的參考點查找範圍;在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點;根據至少一個參考點的屬性訊息的重建值,確定待解碼點的屬性訊息的預測值。即本申請在確定參考點時,透過全域搜索的方法,以參考點與待解碼點之間的距離為考量,進而使得確定的至少一個參考點為距離待解碼點空間距離最近的已解碼點。由於點雲中空間距離較近的各點的屬性訊息相關性強,這樣基於空間距離待解碼點最近的參考點的屬性訊息進行屬性預測時,可以提高屬性預測的準確性。
本申請可應用於點雲上採樣技術領域,例如可以應用於點雲壓縮技術領域。
為了便於理解本申請的實施例,首先對本申請實施例涉及到的相關概念進行如下簡單介紹:
點雲(Point Cloud)是指空間中一組無規則分佈的、表達三維物體或三維場景的空間結構及表面屬性的離散點集,例如圖1A所示的三維點雲圖像,以及圖1B所示的圖1A中局部放大的點雲圖像,可以看到點雲表面是由分佈稠密的點所組成的。
點雲資料(Point Cloud Data)是點雲的具體記錄形式,點雲中的點可以包括點的位置訊息和點的屬性訊息。例如,點的位置訊息可以是點的三維座標訊息。點的位置訊息也可稱為點的幾何訊息。例如,點的屬性訊息可包括顏色訊息和/或反射率等等。例如,所述顏色訊息可以是任意一種色彩空間上的訊息。例如,所述顏色訊息可以是(RGB)。再如,所述顏色訊息可以是於亮度色度(YcbCr,YUV)訊息。例如,Y 表示明亮度(Luma),Cb (U)表示藍色色差,Cr (V)表示紅色,U 和 V 表示為色度(Chroma)用於描述色差訊息。例如,根據雷射測量原理得到的點雲,所述點雲中的點可以包括點的三維座標訊息和點的雷射反射強度(reflectance)。再如,根據攝影測量原理得到的點雲,所述點雲中的點可以包括點的三維座標訊息和點的顏色訊息。再如,結合雷射測量和攝影測量原理得到點雲,所述點雲中的點可以包括點的三維座標訊息、點的雷射反射強度(reflectance)和點的顏色訊息。
點雲可以按獲取的途徑分為:密集型點雲和稀疏性點雲。
點雲按照資料的時序類型劃分為:
第一類靜態點雲:即物體是靜止的,獲取點雲的設備也是靜止的;
第二類動態點雲:物體是運動的,但獲取點雲的設備是靜止的;
第三類動態獲取點雲:獲取點雲的設備是運動的。
按點雲的用途分為兩大類:
類別一:機器感知點雲,其可以用於自主導航系統、即時巡檢系統、地理訊息系統、視覺分揀機器人、搶險救災機器人等場景;
類別二:人眼感知點雲,其可以用於數位文化遺產、自由視點廣播、三維沉浸通訊、三維沉浸交互等點雲應用場景。
點雲可以靈活方便地表達三維物體或場景的空間結構及表面屬性,並且由於點雲透過直接對真實物體採樣獲得,在保證精度的前提下能提供極強的真實感,因而應用廣泛,其範圍包括虛擬實境遊戲、電腦輔助設計、地理訊息系統、自動導航系統、數位文化遺產、自由視點廣播、三維沉浸遠端呈現、生物組織器官三維重建等。
點雲資料的獲取途徑可以包括但不限於以下至少一種:(1)電腦設備生成。電腦設備可以根據虛擬三維物體及虛擬三維場景的生成點雲資料。(2)3D(3-Dimension,三維)雷射掃描獲取。透過3D 雷射掃描可以獲取靜態現實世界三維物體或三維場景的點雲資料,每秒可以獲取百萬級點雲資料;(3)3D 攝影測量獲取。透過3D 攝影設備(即一組攝影機或具有多個鏡頭和感測器的攝影機設備)對現實世界的視覺場景進行採集以獲取現實世界的視覺場景的點雲資料,透過3D 攝影可以獲得動態現實世界三維物體或三維場景的點雲資料。(4)透過醫學設備獲取生物組織器官的點雲資料。在醫學領域可以透過核磁共振影像(Magnetic Resonance Imaging,MRI)、電腦斷層掃描(Computed Tomography,CT)、電磁定位訊息等醫學設備獲取生物組織器官的點雲資料。
這些技術降低了點雲資料獲取成本和時間週期,提高了資料的精度。點雲資料獲取方式的變革,使大量點雲資料的獲取成為可能,伴隨著應用需求的增長,海量3D點雲資料的處理遭遇儲存空間和傳輸頻寬限制的瓶頸。
以幀率為30fps(幀每秒)的點雲影像為例,每幀點雲的點數為70萬,每個點具有座標訊息xyz(float)和顏色訊息RGB(uchar),則10s點雲影像的資料量大約為0.7million∙(4Byte∙3+1Byte∙3)∙30fps∙10s=3.15GB,而YUV採樣格式為4:2:0,幀率為24fps的1280∙720二維影像,其10s的資料量約為1280∙720∙12bit∙24frames∙10s≈0.33GB,10s的兩視角3D影像的資料量約為0.33∙2=0.66GB。由此可見,點雲影像的資料量遠超過相同時長的二維影像和三維影像的資料量。因此,為更好地實現資料管理,節省伺服器儲存空間,降低伺服器與用戶端之間的傳輸流量及傳輸時間,點雲壓縮成為促進點雲產業發展的關鍵問題。
點雲壓縮一般包括點雲幾何訊息和屬性訊息的壓縮,下面對點雲壓縮的相關知識進行介紹。
圖2為本申請實施例涉及的一種點雲編解碼系統的示意性方塊圖。需要說明的是,圖2只是一種示例,本申請實施例的點雲編解碼系統包括但不限於圖2所示。如圖2所示,該點雲編解碼系統100包含編碼設備110和解碼設備120。其中編碼設備用於對點雲資料進行編碼(可以理解成壓縮)產生碼流,並將碼流傳輸給解碼設備。解碼設備對編碼設備編碼產生的碼流進行解碼,得到解碼後的點雲資料。
本申請實施例的編碼設備110可以理解為具有點雲編碼功能的設備,解碼設備120可以理解為具有點雲解碼功能的設備,即本申請實施例對編碼設備110和解碼設備120包括更廣泛的裝置,例如包含智慧手機、臺式電腦、行動計算裝置、筆記本(例如,膝上型)電腦、平板電腦、機上盒、電視、相機、顯示裝置、數位媒體播放機、點雲遊戲控制台、車載電腦等。
在一些實施例中,編碼設備110可以經由通道130將編碼後的點雲資料(如碼流)傳輸給解碼設備120。通道130可以包括能夠將編碼後的點雲資料從編碼設備110傳輸到解碼設備120的一個或多個媒體和/或裝置。
在一個實例中,通道130包括使編碼設備110能夠即時地將編碼後的點雲資料直接發射到解碼設備120的一個或多個通訊媒體。在此實例中,編碼設備110可根據通訊標準來調製編碼後的點雲資料,且將調製後的點雲資料發射到解碼設備120。其中通訊媒體包含無線通訊媒體,例如射頻頻譜,可選的,通訊媒體還可以包含有線通訊媒體,例如一根或多根實體傳輸線。
在另一實例中,通道130包括儲存媒介,該儲存媒介可以儲存編碼設備110編碼後的點雲資料。儲存媒介包含多種本地存取式資料儲存媒介,例如光碟、DVD、快閃記憶體等。在該實例中,解碼設備120可從該儲存媒介中獲取編碼後的點雲資料。
在另一實例中,通道130可包含儲存伺服器,該儲存伺服器可以儲存編碼設備110編碼後的點雲資料。在此實例中,解碼設備120可以從該儲存伺服器中下載儲存的編碼後的點雲資料。可選的,該儲存伺服器可以儲存編碼後的點雲資料且可以將該編碼後的點雲資料發射到解碼設備120,例如web伺服器(例如,用於網站)、檔案傳輸協定(FTP)伺服器等。
一些實施例中,編碼設備110包含點雲編碼器112及輸出介面113。其中,輸出介面113可以包含調製器/解調器(數據機)和/或發射器。
在一些實施例中,編碼設備110除了包括點雲編碼器112和輸入介面113外,還可以包括點雲源111。
點雲源111可包含點雲採集裝置(例如,掃描器)、點雲存檔、點雲輸入介面、電腦圖形系統中的至少一個,其中,點雲輸入介面用於從點雲內容提供者處接收點雲資料,電腦圖形系統用於產生點雲資料。
點雲編碼器112對來自點雲源111的點雲資料進行編碼,產生碼流。點雲編碼器112經由輸出介面113將編碼後的點雲資料直接傳輸到解碼設備120。編碼後的點雲資料還可儲存於儲存媒介或儲存伺服器上,以供解碼設備120後續讀取。
在一些實施例中,解碼設備120包含輸入介面121和點雲解碼器122。
在一些實施例中,解碼設備120除包括輸入介面121和點雲解碼器122外,還可以包括顯示裝置123。
其中,輸入介面121包含接收器及/或數據機。輸入介面121可透過通道130接收編碼後的點雲資料。
點雲解碼器122用於對編碼後的點雲資料進行解碼,得到解碼後的點雲資料,並將解碼後的點雲資料傳輸至顯示裝置123。
顯示裝置123顯示解碼後的點雲資料。顯示裝置123可與解碼設備120整合或在解碼設備120外部。顯示裝置123可包括多種顯示裝置,例如液晶顯示器(LCD)、等離子體顯示器、有機發光二極體(OLED)顯示器或其它類型的顯示裝置。
此外,圖2僅為實例,本申請實施例的技術方案不限於圖2,例如本申請的技術還可以應用於單側的點雲編碼或單側的點雲解碼。
目前的點雲編碼器或點雲解碼器可以採用動態影像專家群(Moving Picture Experts Group,MPEG)提供的基於幾何的點雲壓縮(Geometry Point Cloud Compression,G-PCC)編解碼框架或基於影像的點雲壓縮 (Video Point Cloud Compression,V-PCC)編解碼框架,也可以採用音頻視頻編碼標準(Audio Video Standard,AVS)提供的AVS-PCC編解碼框架。G-PCC及AVS-PCC均針對靜態的稀疏型點雲,其編碼框架大致相同。G-PCC編解碼框架可用於針對第一靜態點雲和第三類動態獲取點雲進行壓縮,V-PCC編解碼框架可用於針對第二類動態點雲進行壓縮。G-PCC編解碼框架也稱為點雲編解碼器TMC13,V-PCC編解碼框架也稱為點雲編解碼器TMC2。點雲壓縮框還包括點雲壓縮參考平臺(Point Cloud Reference Model,PCRM)。
下面以PCRM編解碼框架為例,對本申請實施例可適用的點雲編碼器和點雲解碼器進行說明。
圖3是本申請實施例提供的點雲編碼器的示意性方塊圖。
由上述可知點雲中的點可以包括點的位置訊息和點的屬性訊息,因此,點雲中的點的編碼主要包括位置編碼和屬性編碼。在一些示例中點雲中點的位置訊息又稱為幾何訊息,對應的點雲中點的位置編碼也可以稱為幾何編碼。
在編碼端,首先在幾何編碼部分編碼點雲幾何訊息,然後將重建幾何訊息作為附加訊息輸入到屬性編碼部分中,輔助點雲屬性的壓縮。整個編碼器由預處理、幾何編碼、屬性編碼幾部分組成。
位置編碼的過程包括:首先對原始幾何訊息進行預處理,例如透過座標平移將幾何原點歸一化到點雲空間中的最小值位置,透過座標量化將幾何訊息從浮點數轉化為整形,便於後續的規則化處理。接著,對規則化的幾何訊息進行幾何編碼,例如採用八元樹結構對點雲空間進行遞迴劃分,每次將當前節點劃分成八個相同大小的子塊,並判斷每個子塊的佔有碼字情況,當子塊內不包含點時記為空,否則記為非空,在遞迴劃分的最後一層記錄所有塊的佔有碼字訊息,並進行編碼。其中,透過八元樹結構表達的幾何訊息一方面輸入到幾何熵編碼器中形成幾何碼流,一方面在編碼器內進行幾何重建處理,重建後的幾何訊息作為附加訊息輸入到屬性編碼部分中。
屬性編碼過程包括:首先對原始屬性訊息進行預處理,由於幾何訊息在幾何編碼之後有所異動,因此需要為幾何編碼後的每一個點重新分配屬性值,這個過程叫做屬性重上色,此外,如果處理的屬性訊息為顏色訊息,還需要將原始顏色進行顏色空間變換,將其轉變成更符合人眼視覺特性的YUV色彩空間。接著,對預處理後屬性訊息進行屬性編碼,屬性編碼首先需要將點雲進行重排序,重排序的方式例如是莫頓碼,因此屬性編碼的遍歷順序為莫頓順序,PCRM中的屬性預測方法為基於莫頓順序的單點預測,即按照莫頓順序從當前待編碼點向前回溯一個點,找到的點為當前待編碼點的預測參考點。然後,根據預測參考點的屬性重建值確定當前待編碼點的屬性預測值,屬性殘差為當前待編碼點的屬性值與屬性預測值之間的差值;最後對殘差進行量化,將量化殘差輸入到屬性熵編碼器中形成屬性碼流。
下面對圖3所示的點雲編碼器中的各單元進行介紹。
如圖3所示,位置編碼可透過以下單元實現:
座標平移單元201、座標量化單元202、八元樹構建單元203、幾何重建單元204以及幾何熵編碼單元205。
座標平移單元201可用於將點雲中點的世界座標變換為相對座標。例如,點的幾何座標分別減去xyz坐標軸的最小值,相當於去直流操作,以實現將點雲中的點的座標從世界座標轉換為相對座標。
座標量化單元202可透過量化減少座標的數目;量化後原先不同的點可能被賦予相同的座標,基於此,可透過去重操作將重複的點刪除;例如,具有相同量化位置和不同屬性訊息的多個雲可透過屬性轉換合併到一個雲中。座標量化可以將幾何訊息從浮點數轉化為整形,便於後續的規則化處理。在本申請的一些實施例中,座標量化單元202為可選的單元模組。
八元樹構建單元203可利用八元樹(octree)編碼方式編碼量化的點的位置訊息。例如,將點雲按照八元樹的形式進行劃分,由此,點的位置可以和八元樹的位置一一對應,透過統計八元樹中有點的位置,並將其標識(flag)記為1,以進行幾何編碼。
幾何重建單元204可以基於八元樹構建單元203輸出的位置訊息進行位置重建,得到點雲資料中各點的位置訊息的重建值。
幾何熵編碼單元205可以採用熵編碼方式對八元樹構建單元203輸出的位置訊息進行算術編碼,即將八元樹構建單元203輸出的位置訊息利用算術編碼方式生成幾何碼流;幾何碼流也可稱為幾何位元流(geometry bitstream)。
屬性編碼可透過以下單元實現:
顏色空間轉換(Transform colors)單元210、屬性重上色單元211、屬性預測單元212、量化單元213以及屬性熵編碼單元214。
需要說明的是,點雲編碼器200可包含比圖3更多、更少或不同的功能組件。
顏色空間轉換單元210可用於將點雲中點的RGB色彩空間變換為YCbCr格式或其他格式。
屬性重上色單元211由於幾何訊息在幾何編碼之後有所異動,因此需要為幾何編碼後的每一個點重新分配屬性值,這個過程叫做屬性重上色。
屬性預測單元212可包括:區域自我調整分層變換(Region Adaptive Hierarchical Transform ,RAHT) 、預測變化(predicting transform)以及提升變化(lifting transform)等。換言之,RAHT、預測變化以及提升變化214中的任一項可用於對點雲中點的屬性訊息進行預測,以得到點的屬性訊息的預測值,進而基於點的屬性訊息的預測值得到點的屬性訊息的殘差值。例如,點的屬性訊息的殘差值可以是點的屬性訊息的原始值減去點的屬性訊息的預測值。
在本申請的一實施例中,屬性預測單元212還可用於生成細節層(level of detail,LOD)。LOD的生成過程包括:根據點雲中點的位置訊息,獲取點與點之間的歐式距離;根據歐式距離,將點分為不同的細節表達層。在一個實施例中,可以將歐式距離進行排序後,將不同範圍的歐式距離劃分為不同的細節表達層。例如,可以隨機挑選一個點,作為第一細節表達層。然後計算剩餘點與該點的歐式距離,並將歐式距離符合第一閾值要求的點,歸為第二細節表達層。獲取第二細節表達層中點的質心,計算除第一、第二細節表達層以外的點與該質心的歐式距離,並將歐式距離符合第二閾值的點,歸為第三細節表達層。以此類推,將所有的點都歸到細節表達層中。透過調整歐式距離的閾值,可以使得每層LOD層的點的數量是遞增的。應理解,LOD劃分的方式還可以採用其它方式,本申請對此不進行限制。
需要說明的是,可以直接將點雲劃分為一個或多個細節表達層,也可以先將點雲劃分為多個點雲切塊(slice),再將每一個點雲切塊劃分為一個或多個LOD層。
例如,可將點雲劃分為多個點雲切塊,每個點雲切塊的點的個數可以在55萬-110萬之間。每個點雲切塊可看成單獨的點雲。每個點雲切塊又可以劃分為多個細節表達層,每個細節表達層包括多個點。在一個實施例中,可根據點與點之間的歐式距離,進行細節表達層的劃分。
量化單元213可用於量化點的屬性訊息的殘差值。例如,若所述量化單元213和所述屬性預測單元212相連,則所述量化單元213可用於量化所述屬性預測單元212輸出的點的屬性訊息的殘差值。例如,對屬性預測單元212輸出的點的屬性訊息的殘差值使用量化步長進行量化,以實現提升系統性能。
屬性熵編碼單元214可使用零行程編碼(Zero run length coding)對點的屬性訊息的殘差值進行熵編碼,以得到屬性碼流。所述屬性碼流可以是位元流訊息。
圖4是本申請實施例提供的點雲解碼器的示意性方塊圖。
如圖4所示,解碼器300可以從編碼設備獲取點雲碼流,透過解析碼得到點雲中的點的位置訊息和屬性訊息。點雲的解碼包括位置解碼和屬性解碼。
位置解碼的過程包括:首先對幾何碼流進行熵解碼,得到每個節點的幾何訊息,然後按照和幾何編碼相同的方式構建八元樹結構,結合解碼幾何重建出座標變換後的、透過八元樹結構表達的幾何訊息,一方面將該訊息進行座標反量化和反平移,得到解碼幾何訊息,一方面作為附加訊息輸入到屬性解碼器中。
屬性解碼過程包括:按照與編碼端相同的方式構建莫頓順序,先對屬性碼流進行熵解碼,得到量化後的殘差訊息;然後進行反量化,得到點雲殘差。按照與屬性編碼相同的方式,獲得當前待解碼點的屬性預測值,然後將屬性預測值與殘差值相加,可以恢復出當前待解碼點的YUV屬性值。最後,經過顏色空間反變換得到解碼屬性訊息。
如圖4所示,位置解碼可透過以下單元實現:
幾何熵解碼單元301、八元樹構建單元302、座標反量化單元303以及座標反平移單元304。
屬性編碼可透過以下單元實現:
屬性熵解碼單元310、反量化(inverse quantize)單元311、預測單元312以及顏色空間反轉換(inverse transform colors)單元313。
需要說明的是,解壓縮是壓縮的逆過程,類似的,解碼器300中的各個單元的功能可參見編碼器200中相應的單元的功能。另外,點雲解碼器300可包含比圖4更多、更少或不同的功能組件。
例如,解碼器300可根據點雲中點與點之間的歐式距離將點雲劃分為多個LOD;然後,依次對LOD中點的屬性訊息進行解碼;例如,計算零行程編碼技術中零的數量(zero_cnt),以基於zero_cnt對殘差進行解碼;接著,解碼框架200可基於解碼出的殘差值進行反量化,並基於反量化後的殘差值與當前點的預測值相加得到該點雲的重建值,直到解碼完所有的點雲。當前點將會作為後續LOD中點的最鄰近點,並利用當前點的重建值對後續點的屬性訊息進行預測。
上述是基於PCRM編解碼框架下的點雲編解碼器的基本流程,隨著技術的發展,該框架或流程的一些模組或步驟可能會被優化,本申請適用於該基於PCRM編解碼框架下的點雲編解碼器的基本流程,但不限於該框架及流程。
下面對點雲的規則化處理過程進行介紹。
由於點雲在空間中無規則分佈的特性,給編碼過程帶來挑戰,因此採用遞迴八元樹的結構,將點雲中的點規則化地表達成立方體的中心。如圖5A,首先將整幅點雲放置在一個正方體包圍盒內,點雲中點的座標表示為(x
k, y
k, z
k), k=0, …, K-1,其中K是點雲的總點數,點雲在x、y、z方向上的邊界值分別為:
接著,如圖5B所示,首先對包圍盒進行八元樹劃分,每次得到八個子塊,然後對子塊中的非空塊(包含點的塊)進行再一次的八元樹劃分,如此遞迴劃分直到某個深度,將最終大小的非空子塊稱作voxel,每個voxel中包含一個或多個點,將這些點的幾何位置歸一化為voxel的中心點,該中心點的屬性值取voxel中所有點的屬性值的平均值。
將點雲規則化為空間中的塊,有利於點雲中點與點的關係描述,進而能夠表達特定的編碼順序,按照一定的順序編碼每一個voxel,即編碼voxel所代表的點(或稱“節點”),一種常用的編碼順序為交叉分離式的莫頓順序。圖6A至圖6C展示了莫頓碼在二維空間中的編碼順序,以8*8大小的塊為例,其中箭頭的順序表示莫頓順序下點的編碼順序。圖6A為塊中2*2個像素的“z”字形莫頓順序示意圖,圖6B為4個2*2塊之間的“z”字形莫頓順序示意圖,圖6C為4個4*4塊之間的“z”字形莫頓順序示意圖,組成為整個8*8塊的莫頓順序。擴展到三維空間中的莫頓順序如圖6D所示,圖6D中展示了16個節點,每個“z”字內部以及每個“z”與“z”之間的莫頓順序均是先沿x軸方向編碼,再沿y軸,最後沿z軸。
本申請實施例涉及點雲壓縮中的屬性預測部分。屬性預測過程中,首先需要確定當前點的預測參考點,根據當前點的預測參考點的屬性訊息,確定當前點的屬性訊息的預測值。
在一些實施例中,根據點雲中點與點之間的幾何關係,例如,從與當前點幾何共面、共線、共點的已編碼點中選取當前點的預測參考點。也就是說,當前點的預測參考點必須滿足如下兩個條件:
條件1,與當前節點滿足共面、共線、共點關係;
條件2,在當前點之前編碼完成。
舉例說明,假設當前點O的序號為7,共有6個面,12條邊,8個點,假設與當前點O共面節點有3、5、6、14、21、35,假設與當前點O共線節點有1、2、4、10、12、17、20、28、33、34、42、49,假設與當前點O共點節點有0、8、16、24、32、40、48、56。
在上述與當前點共面共線共點的已編碼點中,選取當前點的預測參考點,假設上述與當前點共面且已編碼的點為:3、5、6,與當前點共線且已編碼的點為:1、2、4、10、12、17、20、33、34,與當前點共點且已編碼的點為:0、8、16、24、32、40、48,因此當前點的預測參考點從上述:共面的點3、5、6,共線的點1、2、4、10、12、17、20、33、34,共點的點0、8、16、24、32、40、48當中產生。
由上述實施例可知,該實施例確定當前點的預測參考點的過程複雜,由於點雲中相鄰點之間通常具有相似的屬性訊息,但該實施例選取的預測參考點不一定是距離當前點距離最近的點,進而導致當前點的屬性預測不準確。
為了解決上述技術問題,本申請實施例提供了一種點雲屬性的預測方法,透過從當前點的已編碼點中查詢距離當前點最近的至少一個點作為當前點的預測參考點,進而保證了預測參考點為距離當前點最近的點,這樣根據距離當前點最近的預測參考點的屬性訊息,可以準確確定出當前點的屬性訊息的預測值,進而提高了點雲屬性預測的準確性,且整個預測過程簡單,易於實現。
下面結合具體的實施例,對本申請實施例涉及的點雲屬性的預測方法進行介紹。
首先以解碼端為例。
圖7為本申請一實施例提供的點雲屬性的預測方法的流程示意圖,本申請實施例的執行主體可以為上述圖4所示的解碼器,也可以是解碼器中的部分元件。如圖7所示,點雲屬性的預測方法包括:
S701、解碼點雲碼流,得到點雲的已解碼點的屬性訊息的重建值。
點雲碼流包括屬性碼流和幾何碼流,解碼幾何碼流可以得到點雲的幾何訊息,解碼屬性碼流可以得到點雲的屬性訊息。
具體是,如圖4所示,對幾何碼流進行幾何熵解碼,得到點雲中每個點的幾何訊息,對解碼出點雲的幾何訊息構建八元樹重建,例如採用八元樹結構對點雲空間進行遞迴劃分,每次將當前塊劃分成八個相同大小的子塊,得到點雲的八元樹結構表達的幾何訊息。對八元樹結構表達的幾何訊息進行反量化以及反變換後,得到點雲的幾何訊息的重建值並輸出。另一方面,點雲的幾何訊息的重建值輸入點雲的屬性解碼部分,參與點雲的屬性解碼,得到點雲中已解碼點的屬性訊息的重建值。
S702、對於點雲中的待解碼點,在待解碼點的索引大於N時,從點雲的已解碼點中,確定待解碼點的參考點查找範圍。
其中,待解碼點的索引為待解碼點在屬性解碼順序中的排序,N為正整數。
在點雲的屬性解碼中,按照點雲的屬性解碼順序對點雲中的點的屬性訊息進行解碼。
本申請實施例對點雲的屬性解碼順序的具體形式不做限制,可以根據實際需要進行確定。
在一種示例中,上述點雲的屬性解碼順序可以為莫頓順序。莫頓碼可以將多維資料轉化為一維資料編碼,根據一維編碼位元數可確定多維資料保留精度,是一種比較常用的壓縮編碼方法,其編解碼順序按照空間z序。
在一種示例中,上述點雲的屬性解碼順序可以為希爾伯特(Hilbert)順序。Hilbert順序也稱為Hilbert曲線,是將多維空間轉換為一維空間且很好地保留了空間鄰近性。
在一種示例中,點雲的屬性解碼順序還可以是先沿著y方向解碼,再沿著x方向解碼,最後沿著z方向解碼;也可以是先沿著y方向解碼,再沿著z方向解碼,最後沿著x方向解碼;也可以是先沿著x方向解碼,再沿著z方向解碼,最後沿著y方向解碼;也可以是先沿著z方向解碼,再沿著x方向解碼,最後沿著y方向解碼;也可以是先沿著z方向解碼,再沿著y方向解碼,最後沿著x方向解碼。
需要說明的是,上述只是本申請實施例涉及的兩種屬性解碼順序的具體示例,本申請實施例的屬性解碼順序包括但不限於如上兩種。
需要說明的是,上述待解碼點也可以稱為當前點,或者當前待解碼點,或當前待處理點等。
在一種可能的實現方式中,屬性解碼順序中各點的索引從0開始,例如,點雲中包括100個點,則該點雲中點在屬性解碼順序下的索引為0至99。也就是說,在屬性解碼順序下點雲中的第一個點的索引為0,第二個點的索引為1。
可選的,上述N大於或等於2,也就是說,待解碼點為屬性解碼順序下點雲中第3個點以後的任意一個屬性訊息未解碼的點。
對於點雲中當前待解碼點,在確定該待解碼點的屬性訊息的重建值之前,需要確定該待解碼點的屬性訊息的預測值,而確定該待解碼點的屬性訊息的預測值時,首先需要確定該待解碼點的參考點。
具體是,在該待解碼點的索引大於N,例如待解碼點為點雲中第3個點以後的未解碼點時,從屬性解碼順序下點雲的已解碼點中,確定該待解碼點的參考點查找範圍,進而保證參考點查找範圍內的各候選點均為已解碼點,進而保證了參考點查找的有效性。
本申請實施例中,根據待解碼點的索引不同,也就是待解碼點之前的已解碼點的數量不同,確定待解碼點的參考點查找範圍的方式也不相同。
在一些實施例中,上述S702中確定待解碼點的參考點查找範圍的方式包括但不限於如下幾種:
方式一,在待解碼點的索引大於M時,將屬性解碼順序下點雲中位於待解碼點之前的M個已解碼點,確定為待解碼點的參考點查找範圍,其中M大於N。
需要說明的是,本申請實施例對上述N、M的具體取值不做限制,只有N、M均為正整數,且M大於N即可。
在一種示例中,上述M=2
s,其中s為大於1的正整數,例如M為4、32、64、256等。
在一種示例中,上述M=128。也就是說,在待解碼點的索引大於128時,說明待解碼點之前已有至少128個已解碼點,這樣,為了降低索引資料量,則將屬性解碼順序下點雲中位於待解碼點之前的M個已解碼點,確定為待解碼點的參考點查找範圍。
例如,待解碼點的索引為300,則確定待解碼點的參考點查找範圍為屬性解碼順序下點雲中索引為299至172的已解碼點。
方式二,在待解碼點的索引大於N且小於或等於M時,例如待解碼點為點雲中第4個點至第127個點中的任意一個未解碼的點時,為了提高確定的參考點的準確性,則將屬性解碼順序下點雲中位於待解碼點之前的所有已解碼點,確定為待解碼點的參考點查找範圍。
例如,待解碼點的索引為60,則確定待解碼點的參考點查找範圍為屬性解碼順序下點雲中索引為0至59的所有已解碼點。
根據上述方式,從屬性解碼順序下點雲的已解碼點中,確定出待解碼點的參考點查找範圍後,執行如下S703。
S703、在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點。
在一些實施例中,參考點也稱為預測參考點,或預測點等。
在一種可能的實現方式中,上述S703包括:在參考點查找範圍內,查找距離待解碼點最近的R個點作為待解碼點的參考點。
具體是,針對參考點查找範圍內每個候選點,根據每個候選點的幾何訊息和待解碼點的幾何訊息,計算每個候選點與待解碼點之間的距離,將距離最小的前R個候選點,確定為待解碼點的參考點。
本實施例對上述R的具體取值不做限制,具體根據實際需要設定。
可選的,上述R=3。
在一些實施例中,本步驟在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點時,根據屬性解碼順序中與所述待解碼點從近到遠的順序進行查找。例如,先計算屬性解碼順序中位於待解碼點前的第一個候選點與待解碼點之間的距離,再計算代解碼點前的第二個候選點與待解碼點之間的距離,以此類推。
在一種實施例中,本申請實施例還對待解碼點的至少一個參考點的數量進行了限定,例如,限定待解碼點的至少一個殘差點的數量大於或等於P,且小於或等於Q,其中P、Q均為正整數,且P大於Q。
本申請實施例對P、Q的具體取值不做限制。
在一種示例中,P=3。
在一種示例中,Q=6。
在該實施例中,在參考點查找範圍內查找待解碼點的參考點的數量,最少查找出P個參考點,例如3個參考點,最多查找出Q個參考點,例如6個參考點。
針對參考點查找範圍內的每一個候選點,確定候選點是否為待解碼點的參考點的具體過程相同,且整個過程為反覆運算過程。
在一種可能的實現方式中,S703中在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點的方式包括如下步驟:
S703-A1,針對參考點查找範圍內的每個候選點,首先,確定待解碼點的已確定參考點的數量。在待解碼點的已確定參考點的數量小於P時,執行如下S703-A2;在待解碼點的已確定參考點的數量大於或等於P且小於Q,執行如下S703-A3;在待解碼點的已確定參考點的數量等於Q,執行如下S703-A4。
S703-A2、在待解碼點的已確定參考點的數量小於P時,將候選點確定為待解碼點的一個參考點。
在該情況下,待解碼點已確定參考點的數量小於待解碼點的參考點數量的最小值,此時,直接將該候選點確定為待解碼點的一個參考點,儲存在待解碼點的參考點快取中。
S703-A3、在待解碼點的已確定參考點的數量大於或等於P且小於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,將候選點確定為待解碼點的一個參考點,其中目標點的第一權重是目標點與待解碼點之間距離的倒數,目標點為候選點或已確定參考點。
在該情況下,待解碼點已確定參考點的數量大於或等於待解碼點的參考點數量的最小值,但沒有達到最大值。此時,為了保證將距離待解碼點較遠的點確定為參考點,則需要對該候選點的第一權重與當前已確定參考點的第一權重進行比較,若該候選點的第一權重大於或等於已確定參考點的第一權重中的最小值,則說明該候選點距離待解碼點較近,則將該候選點確定為待解碼點的一個參考點,並儲存在待解碼點的參考點快取中。
在一種示例中,若該候選點的第一權重小於已確定參考點的第一權重中的最小值,則說明該候選點距離待解碼點較遠,則跳過該候選點。
可選的,目標點的第一權重是目標點與待解碼點之間距離的倒數,目標點可以為候選點或已確定參考點。也就是說,將候選點與待解碼點之間的距離的倒數確定為候選點的第一權重,候選點的第一權重越大,表示候選點距離待解碼點越近,候選點的第一權重越小,則表示候選點距離待解碼越遠。將已確定參考點與待解碼點之間的距離的倒數確定為已確定參考點的第一權重,已確定參考點的第一權重越大,表示已確定參考點距離待解碼點越近,已確定參考點的第一權重越小,則表示已確定參考點距離待解碼越遠。即本申請實施例透過第一權重來比較點雲中兩點之間的距離。
可選的,上述第一權重可以為歐式距離或曼哈頓距離的倒數。
S703-A4,在待解碼點的已確定參考點的數量等於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,使用候選點替換最小第一權重值對應的已確定參考點。或者,在待解碼點的已確定參考點的數量等於Q,且候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用候選點替換最小第一權重值對應的已確定參考點。
在該情況下,待解碼點已確定參考點的數量已達到待解碼點的參考點數量的最大值,此時對參考點快取中已確定參考點進行替換。具體是,當該候選點的第一權重大於已確定參考點的第一權重中的最小值時,說明該候選點距離待解碼點的距離小於最小第一權重對應的已確定參考點與待解碼點的距離,因此,使用該候選點替換掉最小第一權重對應的已確定參考點。或者,當該候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引小於最小第一權重值對應的已確定參考點的索引時,說明該候選點在屬性解碼順序中距離待解碼點近,該候選點與待解碼點的屬性訊息更相關,因此,使用候選點替換最小第一權重值對應的已確定參考點。
在一種示例中,在該情況下,若該候選點的第一權重小於已確定參考點的第一權重中的最小值,或者,該候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引大於最小第一權重值對應的已確定參考點的索引時,跳過該候選點。
針對參考點查找範圍內的每個候選點執行上述步驟,直到參考點查找範圍內的最後一個候選點判斷結束為止,將最終得到的參考點確定為待解碼點的至少一個參考點。
由上述步驟可知,在確定參考點時,是以參考點與待解碼點之間的距離為考量,進而使得最後確定的至少一個參考點為距離待解碼點最近的已解碼點。由於點雲中距離較近的各點的屬性訊息相關性強,這樣基於距離待解碼點最近的至少一個參考點的屬性訊息對待解碼點的屬性進行預測時,可以提高屬性預測的準確性。
在一些實施例中,本申請實施例還包括:根據第一權重的大小,對待解碼點的已確定參考點進行排序。即針對每一個候選點,在判斷候選點是否為待解碼點的參考點時,通常是將候選點的第一權重與已確定參考點的最小第一權重進行比較,基於此,為了便於差值最小第一權重對應的已確定參考點,根據第一權重的大小,對已確定參考點進行排序,例如按照第一權重大小從大到小或從小到大的順序進行排序。這樣在判斷下一個候選點是否為參考點時,直接從排序後的已確定參考點的首位或末尾獲取第一權重進行比較即可,以提高候選點的判斷效率。
在一種可能的實現方式中,上述的S703包括S703-B1和S703-B2:
S703-B1、從參考點查找範圍內,選取待編碼點的至少一個初始參考點。
本申請實施例對從參考點查找範圍內,選取待編碼點的至少一個初始參考點的選取方式不做限制。
在一種示例中,從參考點查找範圍內,選取屬性解碼順序下距離待解碼點最近的至少一個候選點作為待解碼點的初始參考點。
在一種示例中,從參考點查找範圍內,選取屬性解碼順序下距離待解碼點最遠的至少一個候選點作為待解碼點的初始參考點。
在一種示例中,從參考點查找範圍內,選取屬性解碼順序下任意位置處的至少一個候選點作為待解碼點的初始參考點。
S703-B2、遍歷參考點查找範圍內除初始參考點之外的每個候選點,使用候選點對至少一個初始參考點進行補充和/或替換,得到距離待解碼點最近的至少一個參考點。
可選的,在遍歷參考點查找範圍內除初始參考點之外的每個候選點時,可以根據屬性解碼順序下與待解碼點從近到遠的順序進行遍歷。
在一種實施例中,S703-B2中使用候選點對至少一個初始參考點進行補充和/或替換,得到距離待解碼點最近的至少一個參考點的實現方式包括但不限於如下幾種:
方式一,在至少一個初始參考點的數量小於P時,將候選點補充至初始參考點中,得到新的至少一個初始參考點。
方式二,在至少一個初始參考點的數量大於等於P且小於Q時,若候選點與待解碼點之間的第一距離小於或等於最大的第二距離,則將候選點補充至至少一個初始參考點中,得到新的至少一個初始參考點,第二距離為初始參考點與待解碼點之間的空間距離。
方式三,在至少一個初始參考點的數量等於Q時,若第一距離小於最大的第二距離,則使用候選點替換最大的第二距離對應的初始參考點,或者,若第一距離等於最大的第二距離、且候選點的索引小於最大的第二距離對應的初始參考點的索引時,則使用候選點替換最大的第二距離對應的初始參考點,得到新的至少一個初始參考點。
舉例說明,假設P=3,Q=6,首次從參考點查找範圍內,選取屬性解碼屬性下與待編碼點相鄰的前兩個候選點作為待解碼點初始參考點。接著,遍歷參考點查找範圍內除初始參考點之外的每個候選點,例如,遍歷參考點查找範圍內待解碼點的第前3個候選點,此時,待解碼點的初始參考點的數量小於3,則直接將待解碼點的第前3個候選點補充至待解碼點的初始參考點中,得到待解碼點的新的初始參考點,其中新的初始參考點的數量為3。接著,遍歷參考點查找範圍內待解碼點的第前4個候選點,計算該第前4個候選點與待解碼點之間的第一距離,並在確定該第一距離小於或等於上次確定的3個初始參考點中的最大的第二距離時,則將該第前4個候選點補充至待解碼點的初始參考點中,此時得到待解碼點的4個初始參考點。若第前4個候選點的第一距離小於上次確定的3個初始參考點中的最大的第二距離時,則跳過該第前4個候選點。接著,遍歷參考點查找範圍內待解碼點的第前5個候選點,依次類推。當確定的初始參考點的數量達到6個時,則執行上述方式三,即本次候選點的第一距離小於上次已確定的初始參考點中的最大的第二距離時,則使用本次候選點替換最大的第二距離對應的初始參考點,或者,若本次候選點的第一距離等於上次已確定的初始參考點中的最大的第二距離、且本次候選點的索引小於最大的第二距離對應的初始參考點的索引時,則使用本次候選點替換最大的第二距離對應的初始參考點,得到本次新的初始參考點。將參考點查找範圍內最後一個被遍歷的點時所確定的初始參考點,確定為待解碼點的最終用於屬性預測的參考點。
在該實施方式中,透過距離對預先選取的初始參考點進行補充或替換,保證最終獲得的參考點為距離待解碼點空間距離最近的點,這樣基於距離待解碼點最近的至少一個參考點的屬性訊息對待解碼點的屬性進行預測時,可以提高屬性預測的準確性。
根據上述步驟從參考點查找範圍內,查找距離待解碼點最近的至少一個參考點後執行如下S704進行屬性預測。
S704、根據至少一個參考點的屬性訊息的重建值,確定待解碼點的屬性訊息的預測值。
在一種可能的實現方式中,將上述確定的至少一個參考點的屬性訊息的重建值的算數平均值,確定為待解碼點的屬性訊息的預測值。
在一種可能實現方式中,將上述確定的至少一個參考點的屬性訊息的重建值的加權平均值,確定為待解碼點的屬性訊息的預測值。
在該實現方式中,上述S704包括:S704-A1和S704-A2:
S704-A1、確定至少一個參考點中每個參考點的第二權重。
S704-A2、根據至少一個參考點中每個參考點的第二權重,將至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
在一些實施例中,S704-A1中確定至少一個參考點中每個參考點的第二權重的方式包括但不限於如下幾種:
方式一,針對至少一個參考點中每個參考點,將參考點與待編碼點的距離的倒數,確定為參考點的第二權重。
可選的,上述距離可以為歐式距離或曼哈頓距離,即將參考點與待編碼點之間的歐式距離或曼哈頓距離的倒數,確定為參考點的第二權重。
其中,“∣.∣”表示絕對值運算。
方式二,上述各參考點的第二權重為預設權重值。在該方式中各參考點的第二權重可以相同,也可以不同。
根據上述方式確定至少一個參考點中每個參考點的第二權重後,根據至少一個參考點中每個參考點的第二權重,將至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
在本申請實施例的一具體實施例中,本申請實施例的點雲屬性的預測方法包括如下步驟:
步驟1、解碼點雲碼流,得到點雲的已解碼點。
步驟2,判斷待解碼點的索引是否大於2,若待解碼點的索引大於2,則執行如下步驟3至5,若待解碼點的索引小於或等於2,則執行如下步驟6。
步驟3,在待解碼點的索引大於2時,從點雲的已解碼點中,確定待解碼點的參考點查找範圍。
步驟4,在待解碼點的參考點查找範圍內,查找距離該待解碼點最近的至少一個參考點。
步驟5,根據查找到的至少一個參考點的屬性訊息的重建值,確定待解碼點的屬性訊息的預測值。
步驟6,若待編碼點為點雲在屬性解碼順序下的第一個點時,則確定待編碼點的屬性訊息的預測值為預設值;或者,
若待編碼點為點雲在屬性解碼順序下的第二個點時,則將點雲在屬性解碼順序下的第一個點的屬性訊息的重建值,確定為待編碼點的屬性訊息的預測值;或者,
若待編碼點為點雲在屬性解碼順序下的第三個點時,則根據點雲在屬性解碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值,例如,將第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
下面透過實驗對本申請實施例的技術效果進行說明:
將本申請實施例的點雲屬性的預測方法在AVS最新的點雲壓縮平臺PCRM3.0上進行測試,其測試結果如表1.1至1.4所示:
表1.1
分類 | 端到端(end to end) BD-AttrRate[%] | ||
Y | Cb | Cr | |
Cat1B | -0.6% | -2.3% | -3.3% |
Cat3 | 0.7% | 1.2% | 1.3% |
其中,Cat1B和Cat3點雲序列中的點包括顏色屬性訊息。BD-AttrRate是評價影像編碼演算法性能的主要參數之一,表示新演算法(即本申請技術方案)編碼的影像相對於原來的演算法在碼率和PSNR(Peak Signal to Noise Ratio,峰值信噪比)上的變化情況,即新演算法與原有演算法在相同信噪比情況下碼率的變化情況。“-”表示性能提升,例如碼率和PSNR性能提升。
表1.1是在幾何有限有損,屬性無損(limit-lossy geometry, lossy attributes)情況下,對Cat1B和Cat3點雲序列使用本申請的技術方案進行預測時,產生的測試結果。如表1.1所示,對Cat1B點雲序列,採用本申請的技術方案,其中亮度分量上性能提升了0.6%,色度分量Cb上性能提升了2.3%,色度分量Cr上性能提升了3.3%。對Cat3點雲序列,採用本申請的技術方案,其性能稍有下降。
表1.2
分類 | 端到端(end to end) BD-AttrRate[%] | ||
Y | Cb | Cr | |
Cat1B | -7.3% | -8.0% | -8.4% |
Cat3 | -2.5% | -2.4% | -3.2% |
表1.2是在幾何無損,屬性有損(lossless geometry, lossy attributes)情況下,對Cat1B和Cat3點雲序列使用本申請的技術方案進行預測時,產生的測試結果。如表1.2所示,對Cat1B點雲序列,採用本申請的技術方案,其亮度分量上性能提升了7.3%,色度分量Cb上性能提升了8%,色度分量Cr上性能提升了8.4%。對Cat3點雲序列,採用本申請的技術方案,其亮度分量上性能提升了2.5%,色度分量Cb上性能提升了2.4%,色度分量Cr上性能提升了3.2%。
表1.3
分類 | 端到端(end to end) BD-AttrRate[%] | ||
Y | Cb | Cr | |
Cat1B | -6.6% | -6.6% | -6.6% |
Cat3 | -4.1% | -4.1% | -4.1% |
表1.3是在幾何無損,屬性有限無損(lossless geometry, limit-lossy attributes)情況下,對Cat1B和Cat3點雲序列使用本申請的技術方案進行預測時,產生的測試結果。如表1.3所示,對Cat1B點雲序列,採用本申請的技術方案,其亮度分量上性能提升了6.6%,色度分量Cb上性能提升了6.6%,色度分量Cr上性能提升了6.6%。對Cat3點雲序列,採用本申請的技術方案,其亮度分量上性能提升了4.1%,色度分量Cb上性能提升了4.1%,色度分量Cr上性能提升了4.1%。
表1.4
分類 | 碼率 |
顏色 | |
Cat1B | 98.5% |
Cat3 | 100.9% |
表1.4是在幾何無損,屬性無損(lossless geometry, lossless attributes)情況下,對Cat1B和Cat3點雲序列使用本申請的技術方案進行預測時,產生的測試結果。如表1.4所示,對Cat1B點雲序列,採用本申請的技術方案,其顏色性能提升了1.5%。對Cat3點雲序列,採用本申請的技術方案,其顏色性能稍有下降。
由上述表1.1至表1.4所示,本申請實施例提供的點雲屬性的預測方法可以顯著提升點雲的解碼性能。
本申請實施例的點雲屬性的預測方法,透過解碼點雲碼流,得到點雲的已解碼點的屬性訊息的重建值;對於點雲中的待解碼點,在待解碼點的索引大於N時,從屬性解碼順序下點雲的已解碼點中,確定待解碼點的參考點查找範圍;在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點;根據至少一個參考點的屬性訊息的重建值,確定待解碼點的屬性訊息的預測值。即本申請在確定參考點時,透過全域搜索的方法,以參考點與待解碼點之間的距離為考量,進而使得確定的至少一個參考點為距離待解碼點空間距離最近的已解碼點。由於點雲中空間距離較近的各點的屬性訊息相關性強,這樣基於空間距離待解碼點最近的至少一個參考點的屬性訊息對待解碼點的屬性進行預測時,可以提高屬性預測的準確性。
圖8為本申請一實施例提供的點雲解碼方法的流程示意圖,如圖8所示,點雲解碼過程包括:
S801、解碼點雲的幾何碼流,得到點雲的幾何訊息的重建值。
點雲碼流包括屬性碼流和幾何碼流,解碼幾何碼流可以得到點雲的幾何訊息,解碼屬性碼流可以得到點雲的屬性訊息。
S802、解碼點雲的屬性碼流,得到點雲中待解碼點的屬性訊息的殘差值。
具體是,解碼點雲的屬性碼流,得到待解碼點的反量化後的屬性訊息的殘差值,對待解碼點的量化後的屬性殘差值進行反量化,得到待解碼點的屬性訊息的殘差值。
S803、解碼點雲的屬性碼流,得到點雲的已解碼點的屬性訊息的重建值。
S804、在待解碼點的索引大於N時,從點雲的已解碼點中,確定待解碼點的參考點查找範圍。其中,待解碼點的索引為待解碼點在屬性解碼順序中的排序,N為正整數。
例如,在待解碼點的索引大於M時,將屬性解碼順序下點雲中位於待解碼點之前的N個已解碼點,確定為待解碼點的參考點查找範圍,其中M大於N。
例如,在待解碼點的索引大於N且小於或等於M時,將屬性解碼順序下點雲中位於待解碼點之前的所有已解碼點,確定為待解碼點的參考點查找範圍。
上述S804的具體實現方式與上述S702的實現過程一致,參照上述S702的描述,在此不再贅述。
S805、在參考點查找範圍內,查找距離待解碼點最近的至少一個參考點。
在一些實施例中,在參考點查找範圍內,查找距離待解碼點最近的R個點作為待解碼點的參考點,其中R為預設值。
在一種實施例中,針對參考點查找範圍內的每個候選點,在待解碼點的已確定參考點的數量小於P時,將候選點確定為待解碼點的一個參考點。或者,在待解碼點的已確定參考點的數量大於或等於P且小於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,將候選點確定為待解碼點的一個參考點,其中目標點的第一權重是目標點與待解碼點之間距離的倒數,目標點為候選點或已確定參考點。或者,在待解碼點的已確定參考點的數量等於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,或者,在待解碼點的已確定參考點的數量等於Q,且候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用候選點替換最小第一權重值對應的已確定參考點。
上述S805的具體實現方式與上述S703的實現過程一致,參照上述S703的描述,在此不再贅述。
S806、根據至少一個參考點的屬性訊息的重建值,確定待解碼點的屬性訊息的預測值。
例如,確定至少一個參考點中每個參考點的第二權重;根據至少一個參考點中每個參考點的第二權重,將至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
其中,確定至少一個參考點中每個參考點的第二權重的方式包括但不限於如下幾種:
方式一,針對至少一個參考點中每個參考點,將參考點與待編碼點的距離的倒數,確定為參考點的第二權重。例如,將參考點與待編碼點之間的歐式距離或曼哈頓距離的倒數,確定為參考點的第二權重。
方式二,將預設權重值確定為參考點的第二權重。
上述S806的具體實現方式與上述S704的實現過程一致,參照上述S704的描述,在此不再贅述。
在一些實施例中,本申請還包括:
若待編碼點為點雲在屬性解碼順序下的第一個點時,則確定待編碼點的屬性訊息的預測值為預設值;或者,
若待編碼點為點雲在屬性解碼順序下的第二個點時,則將點雲在屬性解碼順序下的第一個點的屬性訊息的重建值,確定為待編碼點的屬性訊息的預測值;或者,
若待編碼點為點雲在屬性解碼順序下的第三個點時,則根據點雲在屬性解碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值。
S807、根據待解碼點的屬性訊息的預測值和殘差值,得到待解碼點的屬性訊息的重建值。例如,將待解碼點的屬性訊息的預測值和殘差值的和,作為待解碼點的屬性訊息的重建值。
本申請實施例,在確定參考點時,透過全域搜索的方法,以參考點與待解碼點之間的距離為考量,進而使得確定的至少一個參考點為距離待解碼點空間距離最近的已解碼點。這樣基於空間距離待解碼點最近的至少一個參考點的屬性訊息對待解碼點的屬性進行預測時,可以提高屬性預測的準確性,進而提高了點雲的屬性解碼效率。
上文結合圖7和圖8對解碼端的點雲屬性預測過程進行介紹,下面結合圖9和圖10對編碼端的點雲屬性預測過程進行介紹。
圖9為本申請一實施例提供的點雲屬性的預測方法的流程示意圖,本申請實施例的執行主體可以為上述圖3所示的編碼器,也可以是編碼器中的部分元件。如圖9所示,點雲屬性的預測方法包括:
S901、獲取點雲的已編碼點的屬性訊息的重建值。
具體是,對點雲的原始幾何訊息進行預處理,透過座標平移將幾何原點歸一化到點雲空間中的最小值位置,透過座標量化將幾何訊息從浮點數轉化為整形,便於後續的規則化處理。然後對規則化的幾何訊息進行幾何編碼,採用八元樹結構對點雲空間進行遞迴劃分,每次將當前節點劃分成八個相同大小的子塊,並判斷每個子塊的佔有碼字情況,當子塊內不包含點時記為空,否則記為非空,在遞迴劃分的最後一層記錄所有塊的佔有碼字訊息,並進行編碼。透過八元樹結構表達的幾何訊息一方面輸入到幾何熵編碼器中形成幾何碼流,一方面在編碼器內進行幾何重建處理,參與點雲的屬性編碼,得到點雲中已解碼點的屬性訊息的重建值。
S902、對於點雲中的待編碼點,在待編碼點的索引大於N時,從點雲的已編碼點中,確定待編碼點的參考點查找範圍。
其中,待編碼點的索引為待編碼點在屬性編碼順序中的排序,N為正整數。
本申請實施例對點雲的屬性編碼順序的具體排序方式不做限制,可以根據實際需要進行確定。
在一種示例中,上述點雲的屬性編碼順序可以為莫頓順序。
在一種示例中,上述點雲的屬性編碼順序可以為希爾伯特(Hilbert)順序。
在一種示例中,點雲的屬性編碼順序還可以是先沿著y方向編碼,再沿著x方向編碼,最後沿著z方向編碼;也可以是先沿著y方向編碼,再沿著z方向編碼,最後沿著x方向編碼;也可以是先沿著x方向編碼,再沿著z方向編碼,最後沿著y方向編碼;也可以是先沿著z方向編碼,再沿著x方向編碼,最後沿著y方向編碼;也可以是先沿著z方向編碼,再沿著y方向編碼,最後沿著x方向編碼。
需要說明的是,上述只是本申請實施例涉及的兩種屬性編碼順序的具體示例,本申請實施例的屬性編碼順序包括但不限於如上兩種。
可選的,上述N大於或等於2。
需要說明的是,上述待編碼點也可以稱為當前點,或者當前待編碼點,或當前待處理點等。
本申請實施例中,根據待編碼點的索引不同,也就是待編碼點之前的已編碼點的數量不同,確定待編碼點的參考點查找範圍的方式也不相同。
在一些實施例中,上述S902中確定待編碼點的參考點查找範圍的方式包括但不限於如下幾種:
方式一,在待編碼點的索引大於M時,將屬性編碼順序下點雲中位於待編碼點之前的M個已編碼點,確定為待編碼點的參考點查找範圍,其中M大於N。
需要說明的是,本申請實施例對上述N、M的具體取值不做限制,只有N、M均為正整數,且M大於N即可。
在一種示例中,上述M=2
s,其中s為大於1的正整數,例如M為4、32、64、256等。
可選的,M=128。
方式二,在待編碼點的索引大於N且小於或等於M時,為了提高確定的參考點的準確性,則將屬性編碼順序下點雲中位於待編碼點之前的所有已編碼點,確定為待編碼點的參考點查找範圍。
根據上述方式,從屬性編碼順序下點雲的已編碼點中,確定出待編碼點的參考點查找範圍後,執行如下S903。
S903、在參考點查找範圍內,查找距離待編碼點最近的至少一個參考點。
在一種可能的實現方式中,上述S903包括:在參考點查找範圍內,查找距離待編碼點最近的R個點作為待編碼點的參考點。
在一些實施例中,本步驟在參考點查找範圍內,查找距離待編碼點最近的至少一個參考點時,根據屬性編碼順序中與所述待編碼點從近到遠的順序進行查找。例如,先計算屬性編碼順序中位於待編碼點前的第一個候選點與待編碼點之間的距離,再計算代編碼點前的第二個候選點與待編碼點之間的距離,以此類推。
在一種實施例中,本申請實施例還對待編碼點的至少一個參考點的數量進行了限定,例如,限定待編碼點的至少一個殘差點的數量大於或等於P,且小於或等於Q,其中P、Q均為正整數,且P大於Q。
本申請實施例對P、Q的具體取值不做限制。
在一種示例中,P=3。
在一種示例中,Q=6。
在該實施例中,在參考點查找範圍內查找待編碼點的參考點的數量,最少查找出P個參考點,例如3個參考點,最多查找出Q個參考點,例如6個參考點。
針對參考點查找範圍內的每一個候選點,確定候選點是否為待編碼點的參考點的具體過程相同,且整個過程為反覆運算過程。
在一種可能的實現方式中,S903中在參考點查找範圍內,查找距離待編碼點最近的至少一個參考點的方式包括如下步驟:
S903-A1,針對參考點查找範圍內的每個候選點,首先,確定待編碼點的已確定參考點的數量。在待編碼點的已確定參考點的數量小於P時,執行如下S903-A2;在待編碼點的已確定參考點的數量大於或等於P且小於Q,執行如下S903-A3;在待編碼點的已確定參考點的數量等於Q,執行如下S903-A4。
S903-A2、在待編碼點的已確定參考點的數量小於P時,將候選點確定為待編碼點的一個參考點。
在該情況下,待編碼點已確定參考點的數量小於待編碼點的參考點數量的最小值,此時,直接將該候選點確定為待編碼點的一個參考點,儲存在待編碼點的參考點快取中。
S903-A3、在待編碼點的已確定參考點的數量大於或等於P且小於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,將候選點確定為待編碼點的一個參考點,其中目標點的第一權重是目標點與待編碼點之間距離的倒數,目標點為候選點或已確定參考點。
在該情況下,待編碼點已確定參考點的數量大於或等於待編碼點的參考點數量的最小值,但沒有達到最大值。此時,為了保證將距離待編碼點較遠的點確定為參考點,則需要對該候選點的第一權重與當前已確定參考點的第一權重進行比較,若該候選點的第一權重大於或等於已確定參考點的第一權重中的最小值,則說明該候選點距離待編碼點較近,則將該候選點確定為待編碼點的一個參考點,並儲存在待編碼點的參考點快取中。
在一種示例中,若該候選點的第一權重小於已確定參考點的第一權重中的最小值,則說明該候選點距離待編碼點較遠,則跳過該候選點。
可選的,目標點的第一權重是目標點與待編碼點之間距離的倒數,目標點可以為候選點或已確定參考點。也就是說,將候選點與待編碼點之間的距離的倒數確定為候選點的第一權重,候選點的第一權重越大,表示候選點距離待編碼點越近,候選點的第一權重越小,則表示候選點距離待編碼越遠。將已確定參考點與待編碼點之間的距離的倒數確定為已確定參考點的第一權重,已確定參考點的第一權重越大,表示已確定參考點距離待編碼點越近,已確定參考點的第一權重越小,則表示已確定參考點距離待編碼越遠。即本申請實施例透過第一權重來比較點雲中兩點之間的距離。
可選的,上述第一權重可以為歐式距離或曼哈頓距離的倒數。
S903-A4,在待編碼點的已確定參考點的數量等於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,使用候選點替換最小第一權重值對應的已確定參考點。或者,在待編碼點的已確定參考點的數量等於Q,且候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用候選點替換最小第一權重值對應的已確定參考點。
在一種示例中,在該情況下,若該候選點的第一權重小於已確定參考點的第一權重中的最小值,或者,該候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引大於最小第一權重值對應的已確定參考點的索引時,跳過該候選點。
針對參考點查找範圍內的每個候選點執行上述步驟,直到參考點查找範圍內的最後一個候選點判斷結束為止,將最終得到的參考點確定為待編碼點的至少一個參考點。
由上述步驟可知,在確定參考點時,是以參考點與待編碼點之間的距離為考量,進而使得最後確定的至少一個參考點為距離待編碼點最近的已編碼點。由於點雲中距離較近的各點的屬性訊息相關性強,這樣基於距離待編碼點最近的至少一個參考點的屬性訊息對待編碼點的屬性進行預測時,可以提高屬性預測的準確性。
在一些實施例中,本申請實施例還包括:根據第一權重的大小,對待編碼點的已確定參考點進行排序。即針對每一個候選點,在判斷候選點是否為待編碼點的參考點時,通常是將候選點的第一權重與已確定參考點的最小第一權重進行比較,基於此,為了便於差值最小第一權重對應的已確定參考點,根據第一權重的大小,對已確定參考點進行排序,例如按照第一權重大小從大到小或從小到大的順序進行排序。這樣在判斷下一個候選點是否為參考點時,直接從排序後的已確定參考點的首位或末尾獲取第一權重進行比較即可,以提高候選點的判斷效率。
在一種可能的實現方式中,上述的S903包括S903-B1和S903-B2:
S903-B1、從參考點查找範圍內,選取待編碼點的至少一個初始參考點。
本申請實施例對從參考點查找範圍內,選取待編碼點的至少一個初始參考點的選取方式不做限制。
在一種示例中,從參考點查找範圍內,選取屬性編碼順序下距離待編碼點最近的至少一個候選點作為待編碼點的初始參考點。
在一種示例中,從參考點查找範圍內,選取屬性編碼順序下距離待編碼點最遠的至少一個候選點作為待編碼點的初始參考點。
在一種示例中,從參考點查找範圍內,選取屬性編碼順序下任意位置處的至少一個候選點作為待編碼點的初始參考點。
S903-B2、遍歷參考點查找範圍內除初始參考點之外的每個候選點,使用候選點對至少一個初始參考點進行補充和/或替換,得到距離待編碼點最近的至少一個參考點。
在一種實施例中,S903-B2中使用候選點對至少一個初始參考點進行補充和/或替換,得到距離待編碼點最近的至少一個參考點的實現方式包括但不限於如下幾種:
方式一,在至少一個初始參考點的數量小於P時,將候選點補充至初始參考點中,得到新的至少一個初始參考點。
方式二,在至少一個初始參考點的數量大於等於P且小於Q時,若候選點與待編碼點之間的第一距離小於或等於最大的第二距離,則將候選點補充至至少一個初始參考點中,得到新的至少一個初始參考點,第二距離為初始參考點與待編碼點之間的空間距離。
方式三,在至少一個初始參考點的數量等於Q時,若第一距離小於最大的第二距離,則使用候選點替換最大的第二距離對應的初始參考點,或者,若第一距離等於最大的第二距離、且候選點的索引小於最大的第二距離對應的初始參考點的索引時,則使用候選點替換最大的第二距離對應的初始參考點,得到新的至少一個初始參考點。
在該實施方式中,透過距離對預先選取的初始參考點進行補充或替換,保證最終獲得的參考點為距離待編碼點空間距離最近的點,這樣基於距離待編碼點最近的至少一個參考點的屬性訊息對待編碼點的屬性進行預測時,可以提高屬性預測的準確性。
根據上述步驟從參考點查找範圍內,查找距離待編碼點最近的至少一個參考點後執行如下S904進行屬性預測。
S904、根據至少一個參考點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值。
在一種可能的實現方式中,將上述確定的至少一個參考點的屬性訊息的重建值的算數平均值,確定為待編碼點的屬性訊息的預測值。
在一種可能實現方式中,將上述確定的至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
在該實現方式中,上述S904包括:S904-A1和S904-A2:
S904-A1、確定至少一個參考點中每個參考點的第二權重。
S904-A2、根據至少一個參考點中每個參考點的第二權重,將至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
在一些實施例中,S904-A1中確定至少一個參考點中每個參考點的第二權重的方式包括但不限於如下幾種:
方式一,針對至少一個參考點中每個參考點,將參考點與待編碼點的距離的倒數,確定為參考點的第二權重。
可選的,上述距離可以為歐式距離或曼哈頓距離,即將參考點與待編碼點之間的歐式距離或曼哈頓距離的倒數,確定為參考點的第二權重。
方式二,上述各參考點的第二權重為預設權重值。在該方式中各參考點的第二權重可以相同,也可以不同。
根據上述方式確定至少一個參考點中每個參考點的第二權重後,根據至少一個參考點中每個參考點的第二權重,將至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
上述實施例對待編碼點的索引大於N(例如2)時,從待編碼點的參考點查找範圍,查找距離所述待編碼點最近的至少一個參考點,並根據查找到的至少一個參考點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值的過程進行了介紹。
在一些實施例中,本申請還包括:
若待編碼點為點雲在屬性編碼順序下的第一個點時,則確定待編碼點的屬性訊息的預測值為預設值;或者,
若待編碼點為點雲在屬性編碼順序下的第二個點時,則將點雲在屬性編碼順序下的第一個點的屬性訊息的重建值,確定為待編碼點的屬性訊息的預測值;或者,
若待編碼點為點雲在屬性編碼順序下的第三個點時,則根據點雲在屬性編碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值,例如,將第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
本申請實施例的點雲屬性的預測方法,透過獲取點雲的已編碼點的屬性訊息的重建值;對於點雲中的待編碼點,在待編碼點的索引大於N時,從點雲的已編碼點中,確定待編碼點的參考點查找範圍;在參考點查找範圍內,查找距離待編碼點最近的至少一個參考點;根據至少一個參考點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值。即本申請在確定參考點時,透過全域搜索的方法,以參考點與待編碼點之間的距離為考量,進而使得確定的至少一個參考點為距離待編碼點空間距離最近的已編碼點。由於點雲中空間距離較近的各點的屬性訊息相關性強,這樣基於空間距離待編碼點最近的至少一個參考點的屬性訊息對待編碼點的屬性進行預測時,可以提高屬性預測的準確性。
圖10為本申請一實施例提供的點雲編碼方法的流程示意圖,如圖10所示,本申請實施例的點雲編碼方法包括:
S101、獲取點雲的幾何訊息,對點雲的幾何訊息進行編碼,得到點雲的幾何碼流。
例如,對點雲的原始幾何訊息進行預處理,透過座標平移將幾何原點歸一化到點雲空間中的最小值位置,透過座標量化將幾何訊息從浮點數轉化為整形,便於後續的規則化處理。然後對規則化的幾何訊息進行幾何編碼,採用八元樹結構對點雲空間進行遞迴劃分,每次將當前節點劃分成八個相同大小的子塊,並判斷每個子塊的佔有碼字情況,當子塊內不包含點時記為空,否則記為非空,在遞迴劃分的最後一層記錄所有塊的佔有碼字訊息,並進行編碼,得到點雲的幾何碼流。
S102、獲取點雲的已編碼點的屬性訊息的重建值。
S103、對於點雲中的待編碼點,在待編碼點的索引大於N時,從屬性編碼順序下點雲的已編碼點中,確定待編碼點的參考點查找範圍。
例如,在待編碼點的索引大於M時,將屬性編碼順序下點雲中位於待編碼點之前的M個已編碼點,確定為待編碼點的參考點查找範圍,其中M大於N。
例如,在待編碼點的索引大於N且小於或等於M時,為了提高確定的參考點的準確性,則將屬性編碼順序下點雲中位於待編碼點之前的所有已編碼點,確定為待編碼點的參考點查找範圍。
S104、在參考點查找範圍內,查找距離待編碼點最近的至少一個參考點。
例如,在參考點查找範圍內,查找距離待編碼點最近的R個點作為待編碼點的參考點。
例如,針對參考點查找範圍內的每個候選點,首先,確定待編碼點的已確定參考點的數量。在待編碼點的已確定參考點的數量小於P時,將候選點確定為待編碼點的一個參考點。在待編碼點的已確定參考點的數量大於或等於P且小於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,將候選點確定為待編碼點的一個參考點,其中目標點的第一權重是目標點與待編碼點之間距離的倒數,目標點為候選點或已確定參考點。在待編碼點的已確定參考點的數量等於Q,且候選點的第一權重大於已確定參考點的第一權重中的最小值時,使用候選點替換最小第一權重值對應的已確定參考點。或者,在待編碼點的已確定參考點的數量等於Q,且候選點的第一權重等於已確定參考點的第一權重中的最小值,且候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用候選點替換最小第一權重值對應的已確定參考點。
S105、根據至少一個參考點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值。
例如,將上述確定的至少一個參考點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
在一些實施例中,本申請還包括:
若待編碼點為點雲在屬性編碼順序下的第一個點時,則確定待編碼點的屬性訊息的預測值為預設值;或者,
若待編碼點為點雲在屬性編碼順序下的第二個點時,則將點雲在屬性編碼順序下的第一個點的屬性訊息的重建值,確定為待編碼點的屬性訊息的預測值;或者,
若待編碼點為點雲在屬性編碼順序下的第三個點時,則根據點雲在屬性編碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定待編碼點的屬性訊息的預測值,例如,將第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值的加權平均值,確定為待編碼點的屬性訊息的預測值。
上述S102至S105的具體實現過程參照上述S901至S904的描述,在此不再贅述。
S106、根據待編碼點的屬性訊息和待編碼點的屬性訊息的預測值,得到待編碼點的屬性訊息的殘差值,例如,將待編碼點的屬性訊息和待編碼點的屬性訊息的預測值的差值,確定為待編碼點的屬性訊息的殘差值。
S107、對待編碼點的屬性訊息的殘差值進行量化以及編碼,得到點雲的屬性碼流。
本申請實施例,在確定參考點時,透過全域搜索的方法,以參考點與待編碼點之間的距離為考量,進而使得確定的至少一個參考點為距離待編碼點空間距離最近的已編碼點。這樣基於空間距離待編碼點最近的至少一個參考點的屬性訊息對待編碼點的屬性進行預測時,可以提高屬性預測的準確性,進而提高了點雲的屬性編碼效率。
應理解,圖7至圖10僅為本申請的示例,不應理解為對本申請的限制。
以上結合附圖詳細描述了本申請的優選實施方式,但是,本申請並不限於上述實施方式中的具體細節,在本申請的技術構思範圍內,可以對本申請的技術方案進行多種簡單變型,這些簡單變型均屬於本申請的保護範圍。例如,在上述具體實施方式中所描述的各個具體技術特徵,在不矛盾的情況下,可以透過任何合適的方式進行組合,為了避免不必要的重複,本申請對各種可能的組合方式不再另行說明。又例如,本申請的各種不同的實施方式之間也可以進行任意組合,只要其不違背本申請的思想,其同樣應當視為本申請所公開的內容。
還應理解,在本申請的各種方法實施例中,上述各過程的序號的大小並不意味著執行順序的先後,各過程的執行順序應以其功能和內在邏輯確定,而不應對本申請實施例的實施過程構成任何限定。另外,本申請實施例中,術語“和/或”,僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係。具體地,A和/或B可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字元“/”,一般表示前後關聯物件是一種“或”的關係。
上文結合圖7至圖10,詳細描述了本申請的方法實施例,下文結合圖11至圖13,詳細描述本申請的裝置實施例。
圖11是本申請一實施例提供的點雲屬性的預測裝置的示意性方塊圖。
如圖11所示,該點雲屬性的預測裝置20可包括:
解碼單元21,用於解碼點雲碼流,得到點雲的已解碼點的屬性訊息的重建值;
範圍確定單元22,用於對於所述點雲中的待解碼點,在所述待解碼點的索引大於N時,從點雲的已解碼點中,確定所述待解碼點的參考點查找範圍,其中,所述待解碼點的索引為所述待解碼點在所述屬性解碼順序中的排序,N為正整數;
查找單元23,用於在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點;
預測單元24,用於根據所述至少一個參考點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值。
在一些實施例中,上述範圍確定單元22,具體用於在所述待解碼點的索引大於M時,將所述屬性解碼順序下點雲中位於所述待解碼點之前的M個已解碼點,確定為所述待解碼點的參考點查找範圍,其中M大於N;或者,
在所述待解碼點的索引大於N且小於或等於M時,將所述屬性解碼順序下點雲中位於所述待解碼點之前的所有已解碼點,確定為所述待解碼點的參考點查找範圍。
在一些實施例中,上述查找單元23,具體用於根據所述屬性解碼順序中與所述待解碼點從近到遠的順序,在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點。
在一些實施例中,所述至少一個參考點的數量大於或等於P,且小於或等於Q,其中P、Q均為正整數,且P大於Q。
在一些實施例中,上述查找單元23,具體用於針對所述參考點查找範圍內的每個候選點,在所述待解碼點的已確定參考點的數量小於所述P時,將所述候選點確定為所述待解碼點的一個參考點;或者,
在所述待解碼點的已確定參考點的數量大於或等於所述P且小於所述Q,且所述候選點的第一權重大於或等於所述已確定參考點的第一權重中的最小值時,將所述候選點確定為所述待解碼點的一個參考點,其中目標點的第一權重是所述目標點與所述待解碼點之間距離的倒數,所述目標點為所述候選點或所述已確定參考點;或者,
在所述待解碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重大於所述已確定參考點的第一權重中的最小值時,或者,在所述待解碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重等於所述已確定參考點的第一權重中的最小值,且所述候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用所述候選點替換所述最小第一權重值對應的已確定參考點。
在一些實施例中,上述查找單元23,還用於根據第一權重的大小,對所述待解碼點的已確定參考點進行排序。
可選的,所述目標點的第一權重為所述目標點與所述待解碼點之間的歐式距離或曼哈頓距離的倒數。
在一些實施例中,上述預測單元24,還用於若所述待解碼點為所述點雲在屬性解碼順序下的第一個點時,則確定所述待解碼點的屬性訊息的預測值為預設值;或者,
若所述待解碼點為所述點雲在屬性解碼順序下的第二個點時,則將所述點雲在屬性解碼順序下的第一個點的屬性訊息的重建值,確定為所述待解碼點的屬性訊息的預測值;或者,
若所述待解碼點為所述點雲在屬性解碼順序下的第三個點時,則根據所述點雲在屬性解碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值。
在一些實施例中,預測單元24,具體用於確定所述至少一個參考點中每個參考點的第二權重;根據所述至少一個參考點中每個參考點的第二權重,將所述至少一個參考點的屬性訊息的重建值的加權平均值,確定為所述待解碼點的屬性訊息的預測值。
在一些實施例中,預測單元24,具體用於針對所述至少一個參考點中每個參考點,將所述參考點與所述待解碼點的距離的倒數,確定為所述參考點的第二權重;或者,確定所述參考點的第二權重為預設權重值。
在一些實施例中,預測單元24,具體用於將所述參考點與所述待解碼點之間的歐式距離或曼哈頓距離的倒數,確定為所述參考點的第二權重。
可選的,所述點雲的屬性解碼順序包括莫頓順序和希爾伯特順序中的任意一種。
可選的,所述N為大於或等於2的正整數。
可選的,所述M為128。
可選的,所述P為3。
可選的,所述Q為6。
應理解,裝置實施例與方法實施例可以相互對應,類似的描述可以參照方法實施例。為避免重複,此處不再贅述。具體地,圖11所示的裝置20可以對應於執行本申請實施例的點雲解碼方法中的相應主體,並且裝置20中的各個單元的前述和其它操作和/或功能分別為了實現點雲解碼方法中的相應流程,為了簡潔,在此不再贅述。
圖12是本申請一實施例提供的點雲屬性的預測裝置的示意性方塊圖。
如圖12所示,該點雲屬性的預測裝置10可包括:
獲取單元11,用於獲取點雲的已編碼點的屬性訊息的重建值;
範圍確定單元12,用於對於所述點雲中的待編碼點,在所述待編碼點的索引大於N時,從所述點雲的已編碼點中,確定所述待編碼點的參考點查找範圍,其中,所述待編碼點的索引為所述待編碼點在所述屬性編碼順序中的排序,N為正整數;
查找單元13,用於在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點;
預測單元14,用於根據所述至少一個參考點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值。
在一些實施例中,範圍確定單元12,具體用於在所述待編碼點的索引大於M時,將所述屬性編碼順序下點雲中位於所述待編碼點之前的M個已編碼點,確定為所述待編碼點的參考點查找範圍,其中M大於N;或者,
在所述待編碼點的索引大於N且小於或等於M時,將所述屬性編碼順序下點雲中位於所述待編碼點之前的所有已編碼點,確定為所述待編碼點的參考點查找範圍。
在一些實施例中,查找單元13,具體用於根據所述屬性編碼順序中與所述待編碼點從近到遠的順序,在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點。
在一些實施例中,所述至少一個參考點的數量大於或等於P,且小於或等於Q,其中P、Q均為正整數,且P大於Q。
在一些實施例中,查找單元13,具體用於針對所述參考點查找範圍內的每個候選點,在所述待編碼點的已確定參考點的數量小於所述P時,將所述候選點確定為所述待編碼點的一個參考點;或者,
在所述待編碼點的已確定參考點的數量大於或等於所述P且小於所述Q,且所述候選點的第一權重大於或等於所述已確定參考點的第一權重中的最小值時,將所述候選點確定為所述待編碼點的一個參考點,其中目標點的第一權重是所述目標點與所述待編碼點之間距離的倒數,所述目標點為所述候選點或所述已確定參考點;
在所述待編碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重大於所述已確定參考點的第一權重中的最小值時,或者,在所述待編碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重等於所述已確定參考點的第一權重中的最小值,且所述候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用所述候選點替換所述最小第一權重值對應的已確定參考點。
在一些實施例中,查找單元13,還用於根據第一權重的大小,對所述待編碼點的已確定參考點進行排序。
可選的,所述目標點的第一權重為所述目標點與所述待編碼點之間的歐式距離或曼哈頓距離的倒數。
在一些實施例中,預測單元14,還用於若所述待編碼點為所述點雲在屬性編碼順序下的第一個點時,則確定所述待編碼點的屬性訊息的預測值為預設值;或者,
若所述待編碼點為所述點雲在屬性編碼順序下的第二個點時,則將所述點雲在屬性編碼順序下的第一個點的屬性訊息的重建值,確定為所述待編碼點的屬性訊息的預測值;或者,
若所述待編碼點為所述點雲在屬性編碼順序下的第三個點時,則根據所述點雲在屬性編碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值。
在一些實施例中,預測單元14,具體用於確定所述至少一個參考點中每個參考點的第二權重;根據所述至少一個參考點中每個參考點的第二權重,將所述至少一個參考點的屬性訊息的重建值的加權平均值,確定為所述待編碼點的屬性訊息的預測值。
在一些實施例中,預測單元14,具體用於針對所述至少一個參考點中每個參考點,將所述參考點與所述待編碼點的距離的倒數,確定為所述參考點的第二權重;或者,確定所述參考點的第二權重為預設權重值。
在一些實施例中,預測單元14,具體用於將所述參考點與所述待編碼點之間的歐式距離或曼哈頓距離的倒數,確定為所述參考點的第二權重。
可選的,所述點雲的屬性編碼順序包括莫頓順序和希爾伯特順序中的任意一種。
可選的,所述N為大於或等於2的正整數。
可選的,所述M為128。
可選的,所述P為3。
可選的,所述Q為6。
應理解,裝置實施例與方法實施例可以相互對應,類似的描述可以參照方法實施例。為避免重複,此處不再贅述。具體地,圖12所示的裝置10可以對應於執行本申請實施例的點雲編碼方法中的相應主體,並且裝置10中的各個單元的前述和其它操作和/或功能分別為了實現點雲編碼方法中的相應流程,為了簡潔,在此不再贅述。
上文中結合附圖從功能單元的角度描述了本申請實施例的裝置和系統。應理解,該功能單元可以透過硬體形式實現,也可以透過軟體形式的指令實現,還可以透過硬體和軟體單元組合實現。具體地,本申請實施例中的方法實施例的各步驟可以透過處理器中的硬體的集成邏輯電路和/或軟體形式的指令完成,結合本申請實施例公開的方法的步驟可以直接體現為硬體解碼處理器執行完成,或者用解碼處理器中的硬體及軟體單元組合執行完成。可選地,軟體單元可以位於隨機記憶體,快閃記憶體、唯讀記憶體、可程式唯讀記憶體、電可讀寫可程式記憶體、暫存器等本領域的成熟的儲存媒介中。該儲存媒介位於記憶體,處理器讀取記憶體中的訊息,結合其硬體完成上述方法實施例中的步驟。
圖13是本申請實施例提供的電子設備的示意性方塊圖。
如圖13所示,該電子設備30可以為本申請實施例所述點雲解碼器,或者點雲編碼器,該電子設備30可包括:
記憶體31和處理器32,該記憶體31用於儲存電腦程式34,並將該程式碼34傳輸給該處理器32。換言之,該處理器32可以從記憶體31中調用並運行電腦程式34,以實現本申請實施例中的方法。
例如,該處理器32可用於根據該電腦程式34中的指令執行上述方法200中的步驟。
在本申請的一些實施例中,該處理器32可以包括但不限於:
通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路(Application Specific Integrated Circuit,ASIC)、場域可程式閘陣列(Field Programmable Gate Array,FPGA)或者其他可程式邏輯器件、離散閘或者電晶體邏輯器件、離散硬體元件等等。
在本申請的一些實施例中,該記憶體31包括但不限於:
揮發性記憶體和/或非揮發性記憶體。其中,非揮發性記憶體可以是唯讀記憶體(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)。
在本申請的一些實施例中,該電腦程式34可以被分割成一個或多個單元,該一個或者多個單元被儲存在該記憶體31中,並由該處理器32執行,以完成本申請提供的方法。該一個或多個單元可以是能夠完成特定功能的一系列電腦程式指令段,該指令段用於描述該電腦程式34在該電子設備30中的執行過程。
如圖13所示,該電子設備30還可包括:
收發器33,該收發器33可連接至該處理器32或記憶體31。
其中,處理器32可以控制該收發器33與其他設備進行通訊,具體地,可以向其他設備發送訊息或資料,或接收其他設備發送的訊息或資料。收發器33可以包括發射機和接收機。收發器33還可以進一步包括天線,天線的數量可以為一個或多個。
應當理解,該電子設備30中的各個元件透過匯流排系統相連,其中,匯流排系統除包括資料匯流排之外,還包括電源匯流排、控制匯流排和狀態信號匯流排。
本申請還提供了一種電腦儲存媒介,其上儲存有電腦程式,該電腦程式被電腦執行時使得該電腦能夠執行上述方法實施例的方法。或者說,本申請實施例還提供一種包含指令的電腦程式產品,該指令被電腦執行時使得電腦執行上述方法實施例的方法。
當使用軟體實現時,可以全部或部分地以電腦程式產品的形式實現。該電腦程式產品包括一個或多個電腦指令。在電腦上載入和執行該電腦程式指令時,全部或部分地產生按照本申請實施例該的流程或功能。該電腦可以是通用電腦、專用電腦、電腦網路、或者其他可程式裝置。該電腦指令可以儲存在電腦可讀儲存媒介中,或者從一個電腦可讀儲存媒介向另一個電腦可讀儲存媒介傳輸,例如,該電腦指令可以從一個網站、電腦、伺服器或資料中心透過有線(例如同軸電纜、光纖、數位用戶線路(digital subscriber line,DSL))或無線(例如紅外、無線、微波等)方式向另一個網站、電腦、伺服器或資料中心進行傳輸。該電腦可讀儲存媒介可以是電腦能夠存取的任何可用媒介或者是包含一個或多個可用媒介集成的伺服器、資料中心等資料存放裝置。該可用媒介可以是磁性媒介(例如,軟碟、硬碟、磁帶)、光媒介(例如數位點雲光碟(digital video disc,DVD))、或者半導體媒介(例如固態硬碟(solid state disk,SSD))等。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及演算法步驟,能夠以電子硬體、或者電腦軟體和電子硬體的結合來實現。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的範圍。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以透過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,該單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是透過一些介面,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。例如,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨實體存在,也可以兩個或兩個以上單元集成在一個單元中。
以上內容,僅為本申請的具體實施方式,但本申請的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本申請揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本申請的保護範圍之內。因此,本申請的保護範圍應以該請求項的保護範圍為準。
10:點雲屬性的預測裝置
11:獲取單元
12:範圍確定單元
13:查找單元
14:預測單元
20:點雲屬性的預測裝置
21:解碼單元
22:範圍確定單元
23:查找單元
24:預測單元
30:電子設備
31:記憶體
32:處理器
33:收發器
34:電腦程式
100:點雲編解碼系統
110:編碼設備
111:點雲源
112:點雲編碼器
113:輸出介面
120:解碼設備
121:輸入介面
122:點雲解碼器
123:顯示裝置
130:通道
200:點雲編碼器
201:座標平移單元
202:座標量化單元
203:八元樹構建單元
204:幾何重建單元
205:幾何熵編碼單元
210:顏色空間轉換單元
211:屬性重上色單元
212:屬性預測單元
213:量化單元
214:屬性熵編碼單元
300:解碼器
301:幾何熵解碼單元
302:八元樹構建單元
303:座標反量化單元
304:座標反平移單元
310:屬性熵解碼單元
311:反量化單元
312:預測單元
313:顏色空間反轉換單元
S701~S704:步驟
S801~S807:步驟
S901~S904:步驟
S101~S107:步驟
圖1A為三維點雲圖像的示意圖;
圖1B為三維點雲圖像的局部放大示意圖;
圖2為本申請實施例涉及的一種點雲編解碼系統的示意性方塊圖;
圖3是本申請實施例提供的點雲編碼器的示意性方塊圖;
圖4是本申請實施例提供的點雲解碼器的示意性方塊圖;
圖5A是點雲的一種包圍盒的示意圖;
圖5B是點雲的另一種包圍盒的示意圖;
圖6A為一種莫頓順序示意圖;
圖6B為一種莫頓順序示意圖;
圖6C為一種莫頓順序示意圖;
圖6D為一種莫頓順序示意圖;
圖7為本申請一實施例提供的點雲屬性的預測方法的流程示意圖;
圖8為本申請一實施例提供的點雲解碼方法的流程示意圖;
圖9為本申請一實施例提供的點雲屬性的預測方法的流程示意圖;
圖10為本申請一實施例提供的點雲編碼方法的流程示意圖;
圖11是本申請一實施例提供的點雲屬性的預測裝置的示意性方塊圖;
圖12是本申請一實施例提供的點雲屬性的預測裝置的示意性方塊圖;
圖13是本申請實施例提供的電子設備的示意性方塊圖。
S701~S704:步驟
Claims (37)
- 一種點雲屬性的預測方法,包括: 解碼點雲碼流,得到點雲的已解碼點的屬性訊息的重建值; 對於所述點雲中的待解碼點,在所述待解碼點的索引大於N時,從所述點雲的已解碼點中,確定所述待解碼點的參考點查找範圍,其中,所述待解碼點的索引為所述待解碼點在屬性解碼順序中的排序,N為正整數; 在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點; 根據所述至少一個參考點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值。
- 根據請求項1所述的方法,其中,所述在所述待解碼點的索引大於N時,從所述點雲的已解碼點中,確定所述待解碼點的參考點查找範圍,包括: 在所述待解碼點的索引大於M時,將所述屬性解碼順序下點雲中位於所述待解碼點之前的M個已解碼點,確定為所述待解碼點的參考點查找範圍,其中M大於N;或者, 在所述待解碼點的索引大於N且小於或等於M時,將所述屬性解碼順序下點雲中位於所述待解碼點之前的所有已解碼點,確定為所述待解碼點的參考點查找範圍。
- 根據請求項1所述的方法,其中,所述在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點,包括: 根據所述屬性解碼順序中與所述待解碼點從近到遠的順序,在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點。
- 根據請求項1-3任一項所述的方法,其中,所述至少一個參考點的數量大於或等於P,且小於或等於Q,其中P、Q均為正整數,且P大於Q。
- 根據請求項4所述的方法,其中,所述在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點,包括: 針對所述參考點查找範圍內的每個候選點,在所述待解碼點的已確定參考點的數量小於所述P時,將所述候選點確定為所述待解碼點的一個參考點;或者, 在所述待解碼點的已確定參考點的數量大於或等於所述P且小於所述Q,且所述候選點的第一權重大於或等於所述已確定參考點的第一權重中的最小值時,將所述候選點確定為所述待解碼點的一個參考點,其中目標點的第一權重是所述目標點與所述待解碼點之間距離的倒數,所述目標點為所述候選點或所述已確定參考點;或者, 在所述待解碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重大於所述已確定參考點的第一權重中的最小值時,或者,在所述待解碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重等於所述已確定參考點的第一權重中的最小值,且所述候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用所述候選點替換所述最小第一權重值對應的已確定參考點。
- 根據請求項5所述的方法,其中,所述方法還包括: 根據第一權重的大小,對所述待解碼點的已確定參考點進行排序。
- 根據請求項5所述的方法,其中,所述目標點的第一權重為所述目標點與所述待解碼點之間的歐式距離或曼哈頓距離的倒數。
- 根據請求項1所述的方法,其中,所述方法還包括: 若所述待解碼點為所述點雲在屬性解碼順序下的第一個點時,則確定所述待解碼點的屬性訊息的預測值為預設值;或者, 若所述待解碼點為所述點雲在屬性解碼順序下的第二個點時,則將所述點雲在屬性解碼順序下的第一個點的屬性訊息的重建值,確定為所述待解碼點的屬性訊息的預測值;或者, 若所述待解碼點為所述點雲在屬性解碼順序下的第三個點時,則根據所述點雲在屬性解碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值。
- 根據請求項1所述的方法,其中,所述根據所述至少一個參考點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值,包括: 確定所述至少一個參考點中每個參考點的第二權重; 根據所述至少一個參考點中每個參考點的第二權重,將所述至少一個參考點的屬性訊息的重建值的加權平均值,確定為所述待解碼點的屬性訊息的預測值。
- 根據請求項9所述的方法,其中,所述確定所述至少一個參考點中每個參考點的第二權重,包括: 針對所述至少一個參考點中每個參考點,將所述參考點與所述待解碼點的距離的倒數,確定為所述參考點的第二權重;或者, 確定所述參考點的第二權重為預設權重值。
- 根據請求項10所述的方法,其中,所述將所述參考點與所述待解碼點的距離的倒數,確定為所述參考點的第二權重,包括: 將所述參考點與所述待解碼點之間的歐式距離或曼哈頓距離的倒數,確定為所述參考點的第二權重。
- 根據請求項1所述的方法,其中,所述點雲的屬性解碼順序包括莫頓順序和希爾伯特順序中的任意一種。
- 根據請求項1所述的方法,其中,所述N為大於或等於2的正整數。
- 根據請求項2所述的方法,其中,所述M為128。
- 根據請求項4所述的方法,其中,所述P為3。
- 根據請求項4所述的方法,其中,所述Q為6。
- 一種點雲屬性的預測方法,包括: 獲取點雲的已編碼點的屬性訊息的重建值; 對於所述點雲中的待編碼點,在所述待編碼點的索引大於N時,從所述點雲的已編碼點中,確定所述待編碼點的參考點查找範圍,其中,所述待編碼點的索引為所述待編碼點在屬性編碼順序中的排序,N為正整數; 在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點; 根據所述至少一個參考點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值。
- 根據請求項17所述的方法,其中,所述在所述待編碼點的索引大於N時,從所述點雲的已編碼點中,確定所述待編碼點的參考點查找範圍,包括: 在所述待編碼點的索引大於M時,將所述屬性編碼順序下點雲中位於所述待編碼點之前的M個已編碼點,確定為所述待編碼點的參考點查找範圍,其中M大於N;或者, 在所述待編碼點的索引大於N且小於或等於M時,將所述屬性編碼順序下點雲中位於所述待編碼點之前的所有已編碼點,確定為所述待編碼點的參考點查找範圍。
- 根據請求項17所述的方法,其中,所述在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點,包括: 根據所述屬性編碼順序中與所述待編碼點從近到遠的順序,在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點。
- 根據請求項17-19任一項所述的方法,其中,所述至少一個參考點的數量大於或等於P,且小於或等於Q,其中P、Q均為正整數,且P大於Q。
- 根據請求項20所述的方法,其中,所述在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點,包括: 針對所述參考點查找範圍內的每個候選點,在所述待編碼點的已確定參考點的數量小於所述P時,將所述候選點確定為所述待編碼點的一個參考點;或者, 在所述待編碼點的已確定參考點的數量大於或等於所述P且小於所述Q,且所述候選點的第一權重大於或等於所述已確定參考點的第一權重中的最小值時,將所述候選點確定為所述待編碼點的一個參考點,其中目標點的第一權重是所述目標點與所述待編碼點之間距離的倒數,所述目標點為所述候選點或所述已確定參考點; 在所述待編碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重大於所述已確定參考點的第一權重中的最小值時,或者,在所述待編碼點的已確定參考點的數量等於所述Q,且所述候選點的第一權重等於所述已確定參考點的第一權重中的最小值,且所述候選點的索引小於最小第一權重值對應的已確定參考點的索引時,使用所述候選點替換所述最小第一權重值對應的已確定參考點。
- 根據請求項21所述的方法,其中,所述方法還包括: 根據第一權重的大小,對所述待編碼點的已確定參考點進行排序。
- 根據請求項21所述的方法,其中,所述目標點的第一權重為所述目標點與所述待編碼點之間的歐式距離或曼哈頓距離的倒數。
- 根據請求項17所述的方法,其中,所述方法還包括: 若所述待編碼點為所述點雲在屬性編碼順序下的第一個點時,則確定所述待編碼點的屬性訊息的預測值為預設值;或者, 若所述待編碼點為所述點雲在屬性編碼順序下的第二個點時,則將所述點雲在屬性編碼順序下的第一個點的屬性訊息的重建值,確定為所述待編碼點的屬性訊息的預測值;或者, 若所述待編碼點為所述點雲在屬性編碼順序下的第三個點時,則根據所述點雲在屬性編碼順序下的第一個點的屬性訊息的重建值和第二個點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值。
- 根據請求項17所述的方法,其中,所述根據所述至少一個參考點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值,包括: 確定所述至少一個參考點中每個參考點的第二權重; 根據所述至少一個參考點中每個參考點的第二權重,將所述至少一個參考點的屬性訊息的重建值的加權平均值,確定為所述待編碼點的屬性訊息的預測值。
- 根據請求項25所述的方法,其中,所述確定所述至少一個參考點中每個參考點的第二權重,包括: 針對所述至少一個參考點中每個參考點,將所述參考點與所述待編碼點的距離的倒數,確定為所述參考點的第二權重;或者, 確定所述參考點的第二權重為預設權重值。
- 根據請求項26所述的方法,其中,所述將所述參考點與所述待編碼點的距離的倒數,確定為所述參考點的第二權重,包括: 將所述參考點與所述待編碼點之間的歐式距離或曼哈頓距離的倒數,確定為所述參考點的第二權重。
- 根據請求項17所述的方法,其中,所述點雲的屬性編碼順序包括莫頓順序和希爾伯特順序中的任意一種。
- 根據請求項17所述的方法,其中,所述N為大於或等於2的正整數。
- 根據請求項18所述的方法,其中,所述M為128。
- 根據請求項20所述的方法,其中,所述P為3。
- 根據請求項20所述的方法,其中,所述Q為6。
- 一種點雲屬性的預測裝置,包括: 解碼單元,用於解碼點雲碼流,得到點雲的已解碼點的屬性訊息的重建值; 範圍確定單元,用於對於所述點雲中的待解碼點,在所述待解碼點的索引大於N時,從所述點雲的已解碼點中,確定所述待解碼點的參考點查找範圍,其中,所述待解碼點的索引為所述待解碼點在屬性解碼順序中的排序,N為正整數; 查找單元,用於在所述參考點查找範圍內,查找距離所述待解碼點最近的至少一個參考點; 預測單元,用於根據所述至少一個參考點的屬性訊息的重建值,確定所述待解碼點的屬性訊息的預測值。
- 一種點雲屬性的預測裝置,包括: 獲取單元,用於獲取點雲的已編碼點的屬性訊息的重建值; 範圍確定單元,用於對於所述點雲中的待編碼點,在所述待編碼點的索引大於N時,從所述點雲的已編碼點中,確定所述待編碼點的參考點查找範圍,其中,所述待編碼點的索引為所述待編碼點在屬性編碼順序中的排序,N為正整數; 查找單元,用於在所述參考點查找範圍內,查找距離所述待編碼點最近的至少一個參考點; 預測單元,用於根據所述至少一個參考點的屬性訊息的重建值,確定所述待編碼點的屬性訊息的預測值。
- 一種點雲解碼器,包括:處理器和記憶體; 所述記憶體用於儲存電腦程式; 所述處理器用於調用並運行所述記憶體中儲存的電腦程式,以執行如請求項1-16任一項所述的方法。
- 一種點雲編碼器,包括:處理器和記憶體; 所述記憶體用於儲存電腦程式; 所述處理器用於調用並運行所述記憶體中儲存的電腦程式,以執行如請求項17-32任一項所述的方法。
- 一種電腦可讀儲存媒介,用於儲存電腦程式,所述電腦程式使得電腦執行如請求項1至16或17至32任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/099872 WO2022257145A1 (zh) | 2021-06-11 | 2021-06-11 | 点云属性的预测方法、装置及编解码器 |
WOPCT/CN2021/099872 | 2021-06-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202249488A true TW202249488A (zh) | 2022-12-16 |
Family
ID=84425588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111121611A TW202249488A (zh) | 2021-06-11 | 2022-06-10 | 點雲屬性的預測方法、裝置及編解碼器 |
Country Status (3)
Country | Link |
---|---|
CN (2) | CN118075464A (zh) |
TW (1) | TW202249488A (zh) |
WO (1) | WO2022257145A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10897269B2 (en) * | 2017-09-14 | 2021-01-19 | Apple Inc. | Hierarchical point cloud compression |
US10499054B2 (en) * | 2017-10-12 | 2019-12-03 | Mitsubishi Electric Research Laboratories, Inc. | System and method for inter-frame predictive compression for point clouds |
KR20220029595A (ko) * | 2019-07-03 | 2022-03-08 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 포인트 클라우드 인코딩과 디코딩 방법, 인코더, 디코더 및 컴퓨터 저장 매체 |
WO2021003726A1 (zh) * | 2019-07-10 | 2021-01-14 | 深圳市大疆创新科技有限公司 | 一种数据编码、数据解码方法、设备及存储介质 |
CN110418135B (zh) * | 2019-08-05 | 2022-05-27 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110572655B (zh) * | 2019-09-30 | 2023-01-10 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
CN112437312B (zh) * | 2019-08-26 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、设备及存储介质 |
WO2021049758A1 (ko) * | 2019-09-11 | 2021-03-18 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN111145090B (zh) * | 2019-11-29 | 2023-04-25 | 鹏城实验室 | 一种点云属性编码方法、解码方法、编码设备及解码设备 |
CN112218079B (zh) * | 2020-08-24 | 2022-10-25 | 北京大学深圳研究生院 | 一种基于空间顺序的点云分层方法、点云预测方法及设备 |
-
2021
- 2021-06-11 WO PCT/CN2021/099872 patent/WO2022257145A1/zh active Application Filing
- 2021-06-11 CN CN202410165643.5A patent/CN118075464A/zh active Pending
- 2021-06-11 CN CN202180098263.9A patent/CN117321991A/zh active Pending
-
2022
- 2022-06-10 TW TW111121611A patent/TW202249488A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN117321991A (zh) | 2023-12-29 |
CN118075464A (zh) | 2024-05-24 |
WO2022257145A1 (zh) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11910017B2 (en) | Method for predicting point cloud attribute, encoder, decoder, and storage medium | |
WO2022133753A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
WO2022257145A1 (zh) | 点云属性的预测方法、装置及编解码器 | |
WO2024065270A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2023024842A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2024065269A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2022188582A1 (zh) | 点云中邻居点的选择方法、装置及编解码器 | |
WO2022257150A1 (zh) | 点云编解码方法、装置、点云编解码器及存储介质 | |
WO2022257528A1 (zh) | 点云属性的预测方法、装置及相关设备 | |
WO2023159428A1 (zh) | 编码方法、编码器以及存储介质 | |
WO2024065272A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2024026712A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2024065271A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2023173237A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2022140937A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
WO2023173238A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024011381A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2022257143A1 (zh) | 帧内预测、编解码方法及装置、编解码器、设备、介质 | |
WO2023097694A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023197338A1 (zh) | 索引确定方法、装置、解码器以及编码器 | |
WO2023103565A1 (zh) | 点云属性信息的编解码方法、装置、设备及存储介质 | |
WO2023123284A1 (zh) | 一种解码方法、编码方法、解码器、编码器及存储介质 | |
WO2022257155A1 (zh) | 解码方法、编码方法、解码器、编码器以及编解码设备 | |
WO2023197337A1 (zh) | 索引确定方法、装置、解码器以及编码器 | |
WO2023023918A1 (zh) | 解码方法、编码方法、解码器以及编码器 |