TW202408244A - 用於幾何點雲端壓縮的內部預測譯碼 - Google Patents
用於幾何點雲端壓縮的內部預測譯碼 Download PDFInfo
- Publication number
- TW202408244A TW202408244A TW112114744A TW112114744A TW202408244A TW 202408244 A TW202408244 A TW 202408244A TW 112114744 A TW112114744 A TW 112114744A TW 112114744 A TW112114744 A TW 112114744A TW 202408244 A TW202408244 A TW 202408244A
- Authority
- TW
- Taiwan
- Prior art keywords
- point
- points
- frame
- radius
- inter
- Prior art date
Links
- 230000006835 compression Effects 0.000 title description 21
- 238000007906 compression Methods 0.000 title description 21
- 238000000034 method Methods 0.000 claims description 108
- 238000003860 storage Methods 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 32
- 238000012952 Resampling Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 17
- 238000012800 visualization Methods 0.000 claims description 6
- 238000013139 quantization Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000011664 signaling Effects 0.000 description 16
- 239000013598 vector Substances 0.000 description 16
- 238000012546 transfer Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000014616 translation Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一種用於對點雲端資料進行編碼或解碼的設備可以被配置為:回應於決定使用訊框間預測模式來預測當前訊框中的當前點:辨識參考訊框;從參考訊框推導出一或多個運動補償參考點;基於一或多個運動補償參考點來選擇性地對參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及,基於重新取樣參考訊框,來對當前訊框中的當前點進行訊框間預測。
Description
本專利申請案主張以下申請案的權益:
2022年4月20日提出申請的美國臨時專利申請案63/363,306;及
2022年4月25日提出申請的美國臨時專利申請案62/363,552,
上述每個美國申請案的全部內容經由引用的方式合併入本文。
本案內容係關於點雲端編碼和解碼。
點雲端是三維空間中的點的集合。該等點可以對應於三維空間內的物件上的點。因此,點雲端可以用於表示三維空間的實體內容。點雲端在很多情況下皆有用處。例如,點雲端可以在自主車輛的上下文中用於表示道路上的物件的位置。在另一實例中,點雲端可以用於表示環境的實體內容的上下文中,以便在增強現實(AR)或混合現實(MR)應用程式中定位虛擬物件。點雲端壓縮是用於對點雲端進行編碼和解碼的程序。對點雲端進行編碼可以減少儲存和傳輸點雲端所需的資料量。
一般而言,本案內容描述了用於使用訊框間預測對點雲端的節點進行譯碼的技術,諸如用於當前正在開發的幾何點雲端壓縮(G-PCC)標準。然而,示例性技術不限於G-PCC標準。在G-PCC的一些實例中,點雲端的節點(亦稱為點)的位置的座標可以被轉換到
域中,其中節點的位置由三個參數表示,亦即,半徑
r、方位
和鐳射索引
i(例如,鐳射辨識符)。當使用角模式用於G-PCC中的預測幾何譯碼時,G-PCC譯碼器可以在
域中執行預測。例如,為了對點雲端的特定訊框的特定節點進行譯碼,G-PCC譯碼器可以基於特定訊框的另一節點來決定特定節點的半徑
r、方位
和鐳射索引
i中的一項或多項的預測值,並將預測值添加到殘差資料(例如,殘差半徑
r、殘差方位
或殘差鐳射索引
i)以決定特定節點的重建的半徑
r、方位
或鐳射索引
i。由於對殘差資料進行譯碼可能佔用譯碼管理負擔的大部分,因此譯碼效率(例如,用於對點進行譯碼的位元量)可能受到特定節點的預測值(例如,預測的半徑
r、方位
或鐳射索引
i)與特定節點的重建值(例如,重建的半徑
r、方位
或鐳射索引
i)的接近程度的影響。因此,為節點產生更精確的預測參數可以提高整體譯碼效能。
根據本案內容的一或多個技術,G-PCC譯碼器可以使用訊框間預測來預測點雲端的當前訊框的當前點。例如,為了使用訊框間預測來預測當前點,G-PCC譯碼器可以辨識與當前訊框不同的訊框中的參考點,並基於參考點的一或多個參數來預測當前點的一或多個參數(例如,半徑
r、方位
和鐳射索引
i)。在參考點的參數比當前訊框中的父點或其他可用點更接近當前點的參數的譯碼場景中,使用訊框間預測來預測當前點可以減小殘差資料的大小。經由此種方式,本案內容的訊框間預測技術可以使G-PCC譯碼器能夠提高譯碼效率。
根據本案內容的實例,一種用於處理(例如,編碼或解碼)點雲端資料的設備包括:記憶體,其被配置為儲存點雲端資料;及一或多個處理器,其被實現在電路系統中並且被配置為:回應於決定使用訊框間預測模式預測當前訊框中的當前點:辨識參考訊框;從參考訊框推導出一或多個運動補償參考點;基於一或多個運動補償參考點來選擇性地對參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及基於重新取樣參考訊框對當前訊框中的當前點進行訊框間預測。
根據本案內容的一個實例,一種處理(例如,編碼或解碼)點雲端的方法包括以下步驟:回應於決定使用訊框間預測模式來預測當前訊框中的當前點:辨識參考訊框;從參考訊框推導出一或多個運動補償參考點;基於一或多個點運動補償參考點來選擇性地對參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及基於重新取樣參考訊框來對當前訊框中的當前點進行訊框間預測。
一種儲存指令的電腦可讀取儲存媒體,該等指令在由一或多個處理器執行時,使一或多個處理器:回應於決定使用訊框間預測模式預測當前訊框中的當前點:辨識參考訊框;從參考訊框推導出一或多個運動補償參考點;基於一或多個點運動補償參考點來選擇性地對參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及基於重新取樣參考訊框來對當前訊框中的當前點進行訊框間預測。
在附圖和以下描述中闡述了一或多個實例的細節。根據說明書、附圖和請求項,其他特徵、目的和優點將是清楚的。
當使用角模式用於G-PCC中的預測幾何譯碼時,G-PCC譯碼器可以在角域(亦被稱為
域)中執行預測。例如,為了對點雲端的特定訊框的特定節點進行譯碼,G-PCC譯碼器可以基於特定訊框的另一節點來決定特定節點的半徑
r、方位
或鐳射索引
i中的一項或多項的預測值,並將節點的預測半徑
r、方位
或鐳射索引
i添加到殘差資料(例如,殘差半徑
r、殘差方位
或殘差鐳射索引
i)以決定特定節點的重建半徑
r、方位
或鐳射索引
i。由於對殘差資料進行譯碼可能會導致顯著的譯碼管理負擔,因此譯碼效率(例如,用於對點進行譯碼的位元量)可能會受到特定節點的預測半徑
r、方位
和鐳射索引
i與特定節點的重建半徑
r、方位
和鐳射索引
i的接近程度的影響。因此,為節點產生更精確的預測參數可以提高整體譯碼效能。
根據本案內容的一或多個技術,G-PCC譯碼器可以使用訊框間預測來預測點雲端的當前訊框的當前點。例如,為了使用訊框間預測來預測當前點,G-PCC譯碼器可以辨識與當前訊框不同的訊框中的參考點,並基於參考點的一或多個參數來預測當前點的一或多個參數(例如,半徑
r、方位
和鐳射索引
i)。在參考點的參數比當前訊框中的父點或其他可用點更接近當前點的參數的譯碼場景中,與訊框內預測相比,使用訊框間預測來預測當前點可以減小殘差資料的大小。以此方式,本案內容的訊框間預測技術可以使G-PCC譯碼器能夠提高譯碼效率。
如下文將更詳細地解釋的,訊框間預測使用參考訊框中的點來預測當前訊框中的點。在一些實例中,可以使用零運動補償參考訊框,亦稱為零補償參考訊框,並且在一些情況下,全域運動補償參考訊框可以用於預測。在零補償訊框中,使用參考訊框中的點而不應用運動補償。因此,在本案內容中,零運動補償參考訊框有時亦可以簡單地稱為參考訊框。經由基於運動參數集合執行運動補償,可以從(零補償)參考訊框獲得全域運動補償參考訊框。運動參數可以例如使用運動估計技術進行推導,或者從外部源獲得(諸如使用GPS參數,或者從擷取點雲端的汽車的運動獲得)。當對參考訊框中的點應用運動補償時,點的位置被修改,並且此舉可能導致譯碼效率的降低。
參考訊框包含點,並且每個點與重建位置相關聯。該重建位置是該點相對於參考訊框中的第一位置的位置。例如,若該點被安裝在車輛上的光偵測和測距(LIDAR)感測器擷取,則第一位置可以指示與車輛相關聯的位置,諸如,車輛/感測器中的特定點的位置。點在參考訊框的位置可以相對於第一位置。與參考訊框相比,車輛可能已經移動,因此,第二位置可以與當前訊框中的車輛相關聯,使得點在當前訊框中的位置相對於第二位置。若在參考訊框與當前訊框之間有運動,則第一位置和第二位置是不同的。在此種情況下,若應用運動補償,則可以修改參考訊框中的一或多個點(相對於第一位置)的位置,使得該等點的位置相對於第二位置。例如,假設車輛位於參考訊框中的位置(1,1,1),並且移動到第二訊框中的位置(3,4,5)。第一位置是(1,1,1),並且第二位置是(3,4,5)。本實例中的運動參數僅為平移,並且運動向量是(2,3,4)(分別從3,4,5減去1,1,1來獲得)。假設參考訊框中的點X相對於第一位置具有位置(a,b,c)。在運動補償之後,位置被修改為(a-2,b-3,c-4)。該位置可以被認為是點X相對於第二位置的位置。
上文的實例僅包含平移,並且是在笛卡爾域中描述的。然而,運動參數亦可以包括旋轉。例如,假設在訊框F1中存在由LIDAR感測器的鐳射擷取的三個連續點P1、P2、P3。由於LIDAR感測器鐳射的取樣速率通常是常數,因此鐳射的連續點之間的方位差是相同的(例如,delAzim)。因此,P1和P2之間的方位差是與P2和P3之間的方位差相同的(不包括雜訊),兩者皆等於delAzim。考慮另一訊框F2,其中F1是用於F2的參考訊框。當對F1中的點應用運動補償時,點P1、P2和P3的位置被修改。由於運動補償(旋轉,並且在某些情況下平移)的操作,在P1的補償點和P2的補償點之間的方位值的差可能不等於delAzim。類似地,P2的補償點和P3的補償點之間的方位值的差可能不等於delAzim。當該等補償點用於當前訊框F2中的點的訊框間預測時,其中鐳射的連續點具有delAzim的方位差,此舉導致次優預測值,因為P1、P2和P3的補償點可能不對應於當前訊框F2中的任何點。此舉導致譯碼效率低下。
本案內容描述了修改P1、P2和P3的補償點的技術,使得該等點退回到一般取樣網格上。此舉可以經由查看點在訊框F1(亦即,零補償參考訊框)中的方位值,並從訊框F1中的點的補償位置推導出與該等方位值相對應的新位置值來執行。此舉導致參考訊框中的點更接近感測器的取樣網格,並且因此,預測值更接近當前訊框中的點。必須注意,由於存在雜訊,由LIDAR感測器擷取的點位置通常不在規則取樣網格中;然而,在大多數情況下,跨訊框的取樣模式和頻率是相同的或幾乎相同的。
根據本案內容的技術,G-PCC譯碼器可以回應於決定當前訊框中的當前點是使用訊框間預測模式進行譯碼的,而從參考訊框推導出一或多個運動補償參考點,並且基於一或多個運動補償參考點來選擇性地對參考訊框中的點進行重新取樣,以產生重新取樣參考訊框。經由基於重新取樣參考訊框對當前訊框中的當前點進行訊框間預測,G-PCC譯碼器可以執行更精確的訊框間預測,此舉減少了用信號發送殘差資料所需的位元,並且因此在不增加失真的情況下改良壓縮。
圖1是圖示可執行本案內容的技術的示例性編碼和解碼系統100的方塊圖。本案內容的技術通常涉及對點雲端資料進行譯碼(編碼及/或解碼),亦即支援點雲端壓縮。一般地,點雲端資料包括用於處理點雲端的任何資料。該譯碼在對點雲端資料進行壓縮及/或解壓縮態樣是有效的。
如圖1所示,系統100包括源設備102和目的地設備116。源設備102提供要由目的地設備116解碼的經編碼點雲端資料。特別地,在圖1的實例中,源設備102經由電腦可讀取媒體110向目的地設備116提供點雲端資料。源設備102和目的地設備116可以包括多種設備中的任何一種,包括桌上型電腦、筆記本(亦即,膝上型)電腦、平板電腦、機上盒、手持電話(諸如,智慧型電話)、電視、照相機、顯示設備、數位媒體播放機、視訊遊戲控制台、視訊串流設備、陸地或海上運載工具、航天器、飛機、機器人、LIDAR設備、衛星等。在一些情況下,源設備102和目的地設備116可以被配備用於無線通訊。
在圖1的實例中,源設備102包括資料來源104、記憶體106、G-PCC編碼器200和輸出介面108。目的地設備116包括輸入介面122、G-PCC解碼器300、記憶體120和資料消費者118。根據本案內容,源設備102的G-PCC編碼器200和目的地設備116的G-PCC解碼器300可以被配置為應用本案內容的與預測幾何譯碼有關的技術。因而,源設備102表示編碼設備的實例,而目的地設備116表示解碼設備的實例。在其他實例中,源設備102和目的地設備116可以包括其他元件或佈置。例如,源設備102可以從內部或外部源接收資料(例如,點雲端資料)。同樣,目的地設備116可以與外部資料消費者對接,而不是在同一設備中包括資料消費者。
如圖1所示的系統100僅是一個實例。通常,其他數位編碼及/或解碼設備可以執行本案內容的與預測幾何譯碼有關的技術。源設備102和目的地設備116僅是此種設備的實例,其中源設備102產生經譯碼的資料以用於傳輸給目的地設備116。本案內容將「譯碼」設備代表為執行對資料的譯碼(例如,編碼及/或解碼)的設備。因此,G-PCC編碼器200和G-PCC解碼器300分別表示譯碼設備(具體地,編碼器和解碼器)的實例。在一些實例中,源設備102和目的地設備116可以以基本上對稱的方式進行操作,使得源設備102和目的地設備116中的每一個皆包括編碼和解碼用元件。因此,系統100可以支援在源設備102與目的地設備116之間的單向或雙向傳輸,例如,以用於串流、重播、廣播、電話、導航和其他應用。
一般地,資料來源104表示資料(亦即,原始的、未編碼的點雲端資料)的源,並且可以向G-PCC編碼器200提供資料的「訊框」的順序系列,該編碼器對訊框的資料進行編碼。源設備102的資料來源104可以包括點雲端擷取設備,諸如各種相機或感測器中的任一個,例如3D掃瞄器、LIDAR設備、一或多個視訊相機、包含先前擷取的資料的存檔,及/或用於從資料內容提供者接收資料的資料饋送介面。替代地或附加地,點雲端資料可以由電腦從掃瞄器、相機、感測器或其他資料來產生。例如,資料來源104可以產生基於電腦圖形的資料作為來源資料,或者產生即時資料、存檔資料和電腦產生資料的組合。在每種情況下,G-PCC編碼器200對擷取的、預擷取的或電腦產生的資料進行編碼。G-PCC編碼器200可以將訊框從接收順序(有時稱為「顯示順序」)重新排列為用於譯碼的譯碼順序。G-PCC編碼器200可以產生包括經編碼資料的一或多個位元串流。隨後,源設備102可以經由輸出介面108將經編碼的資料輸出到電腦可讀取媒體110上,以供例如目的地設備116的輸入介面122進行接收及/或取得。
源設備102的記憶體106和目的地設備116的記憶體120可以表示通用記憶體。在一些實例中,記憶體106和記憶體120可以儲存原始資料,例如,來自資料來源104的原始資料和來自G-PCC解碼器300的原始的經解碼資料。附加地或替代地,記憶體106和記憶體120可以分別儲存可由例如G-PCC編碼器200和G-PCC解碼器300執行的軟體指令。儘管在此實例中記憶體106和記憶體120與G-PCC編碼器200和G-PCC解碼器300分開圖示,但是應當理解,G-PCC編碼器200和G-PCC解碼器300亦可以包括實現功能上相似或等效目的的內部記憶體。此外,記憶體106和記憶體120可以儲存例如從G-PCC編碼器200輸出並輸入到G-PCC解碼器300的編碼資料。在一些實例中,記憶體106和記憶體120的多個部分可以分配為一或多個緩衝區,例如,用來儲存原始的、經解碼及/或經編碼的資料。例如,記憶體106和記憶體120可以儲存表示點雲端的資料。
電腦可讀取媒體110可以表示能夠將經編碼的資料從源設備102輸送到目的地設備116的任何類型的媒體或設備。在一個實例中,電腦可讀取媒體110表示通訊媒體,其使得源設備102能夠例如經由射頻網路或基於電腦的網路,來即時地向目的地設備116直接傳輸經編碼的資料。根據諸如無線通訊協定之類的通訊標準,輸出介面108可以對包括經編碼的資料的傳輸信號進行調制,並且輸入介面122可以對所接收的傳輸信號進行解調。通訊媒體可以包括任何無線或有線通訊媒體,例如,射頻(RF)頻譜或者一或多條實體傳輸線。通訊媒體可以形成諸如以下各項的基於封包的網路的一部分:區域網路、廣域網路,或諸如網際網路之類的全球網路。通訊媒體可以包括路由器、交換機、基地站,或對於促進從源設備102到目的地設備116的通訊而言可以有用的任何其他設備。
在一些實例中,源設備102可以將經編碼的資料從輸出介面108輸出到儲存設備112。類似地,目的地設備116可以經由輸入介面122從儲存設備112存取經編碼的資料。儲存設備112可以包括各種分散式或本端存取的資料儲存媒體中的任何一種,諸如硬碟、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼的資料的任何其他適當的數位儲存媒體。
在一些實例中,源設備102可以將經編碼的資料輸出到檔案伺服器114或者可以儲存由源設備102產生的經編碼的資料的另一中間儲存設備。目的地設備116可以經由串流或下載來從檔案伺服器114存取被儲存的資料。檔案伺服器114可以是能夠儲存經編碼的資料並將經編碼的資料傳輸到目的地設備116的任何類型的伺服器設備。檔案伺服器114可以表示(例如,用於網站的)web伺服器、檔案傳遞通訊協定(FTP)伺服器、內容遞送網路設備或網路附加儲存(NAS)設備。目的地設備116可以經由任何標準資料連接(包括網際網路連接)來從檔案伺服器114存取經編碼的資料。該連接可以包括適於存取被儲存在檔案伺服器114上的經編碼的資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,數位用戶線路(DSL)、纜線數據機等),或該兩者的組合。檔案伺服器114和輸入介面122可以被配置為根據串流傳輸協定、下載傳輸協定或其組合來操作。
輸出介面108和輸入介面122可以表示無線傳輸器/接收器、數據機、有線聯網元件(例如,乙太網路卡)、根據各種IEEE 802.11標準中的任何一種標準進行操作的無線通訊元件,或其他實體元件。在其中輸出介面108和輸入介面122包括無線元件的實例中,輸出介面108和輸入介面122可以被配置為根據蜂巢通訊標準(諸如4G、4G-LTE(長期進化)、改進的LTE、5G等)來傳遞資料(諸如,經編碼的資料)。在其中輸出介面108包括無線傳輸器的一些實例中,輸出介面108和輸入介面122可以被配置為根據其他無線標準(諸如IEEE 802.11規範、IEEE 802.15規範(例如,ZigBee
™)、藍芽
™標準等)來傳遞資料(諸如經編碼的資料)。在一些實例中,源設備102及/或目的地設備116可以包括相應的晶片上系統(SoC)元件。例如,源設備102可以包括用於執行被賦予於G-PCC編碼器200及/或輸出介面108的功能的SoC元件,並且目的地設備116可以包括用於執行被賦予於G-PCC解碼器300及/或輸入介面122的功能的SoC元件。
本案內容的技術可以應用於支援各種應用中的任何應用的編碼和解碼,諸如自主車輛之間的通訊、掃瞄器、相機、感測器和諸如本端或遠端伺服器之類的處理設備之間的通訊、地理測繪,或其他應用。
目的地設備116的輸入介面122從電腦可讀取媒體110(例如,通訊媒體、儲存設備112、檔案伺服器114等)接收經編碼的位元串流。經編碼的位元串流可以包括由G-PCC編碼器200定義的、亦由G-PCC解碼器300使用的信號傳遞資訊,諸如語法元素,該等語法元素具有描述譯碼單元(例如,條帶(slice)、圖片、圖片群組、序列等)的特性及/或處理的值。資料消費者118使用經解碼的資料。例如,資料消費者118可以使用經解碼的資料來決定實體物件的位置。在一些實例中,資料消費者118可以包括基於點雲端來呈現圖像的顯示器。
G-PCC編碼器200和G-PCC解碼器300各自可以被實現為各種適當的編碼器及/或解碼器電路系統中的任何一種,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、個別邏輯、軟體、硬體、韌體,或其任何組合。當該等技術部分地用軟體實現時,設備可以將用於軟體的指令儲存在適當的非暫時性電腦可讀取媒體中,並且使用一或多個處理器,用硬體來執行指令以執行本案內容的技術。G-PCC編碼器200和G-PCC解碼器300中的每一者可以被包括在一或多個編碼器或解碼器中,編碼器或解碼器中的任一者可以被整合為相應設備中的組合編碼器/解碼器(CODEC)的一部分。包括G-PCC編碼器200及/或G-PCC解碼器300的設備可以包括一或多個積體電路、微處理器及/或其他類型的設備。
G-PCC編碼器200和G-PCC解碼器300可以根據譯碼標準進行操作,諸如,視訊點雲端壓縮(V-PCC)標準或幾何點雲端壓縮(G-PCC)標準。本案內容通常涉及圖片的譯碼(例如,編碼和解碼),以包括對資料進行編碼或解碼的程序。經編碼的位元串流通常包括對於表示譯碼決策(例如,譯碼模式)的語法元素的一系列值。
本案內容可以通常涉及「用信號發送」某些資訊(諸如語法元素)。術語「用信號發送」通常可以代表對用於語法元素的值及/或用於對經編碼的資料進行解碼的其他資料的傳送。亦即,G-PCC編碼器200可以在位元串流中以信號發送用於語法元素的值。通常,以信號發送代表在位元串流中產生值。如前述,源設備102可以基本上即時地或不是即時地(諸如,可能在將語法元素儲存到儲存設備112以供目的地設備116稍後取得時發生)將位元串流輸送給目的地設備116。
ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究點雲端譯碼技術的標準化的潛在需求,其壓縮能力大大超過當前方法,並將致力於建立標準。該小組正在合作開展該項探索活動,被稱為三維圖形團隊(3DG),以評估由該領域中的專家提出的壓縮技術設計。
點雲端壓縮活動分為兩種不同的方法。第一種方法是「視訊點雲端壓縮」(V-PCC),其對3D物件進行分段,並將分段投影在多個2D平面(在2D訊框中表示為「分塊(patch)」)中,該等平面進一步由傳統2D視訊轉碼器(諸如高效視訊譯碼(HEVC)(ITU-T H.265)轉碼器)進行譯碼。第二種方法是「基於幾何的點雲端壓縮」(G-PCC),其直接壓縮三維幾何(亦即,點的集合在三維空間中的位置)以及相關聯的屬性值(對於與3D幾何相關聯的每個點)。G-PCC解決了類別1點雲端(靜態點雲端)和類別3點雲端(動態地獲取點雲端)的壓縮。G-PCC標準的草案可以在2020年1月,比利時布魯塞爾,G-PCC DIS,ISO/IEC JTC1/SC29/WG11 w19328中獲得,並且轉碼器的描述可以在2020年1月,比利時布魯塞爾,G-PCC Codec Description v8,ISO/IEC JTC1/SC29/WG11 w19525中獲得。
點雲端包含3D空間中的點集合,並且可以具有與該等點相關聯的屬性。屬性可以是諸如R、G、B或Y、Cb、Cr之類的色彩資訊,或反射率資訊,或其他屬性。點雲端可以由各種相機或感測器(諸如,LIDAR感測器和3D掃瞄器)來擷取,並且亦可以是電腦產生的。點雲端資料用於各種應用,包括但不限於建築(建模)、圖形(用於視覺化和動畫的3D模型)和汽車行業(用於幫助導航的LIDAR感測器)。
點雲端資料所佔用的3D空間可以由虛擬邊界框封閉。邊界框中的點的位置可以用一定的精度來表示;因此,可以基於該精度來量化一或多個點的位置。在最小的級別上,邊界框被分離成體素(voxel),體素是由單位立方體表示的最小空間單位。邊界框中的體素可以與零個、一或多個點相關聯。邊界框可以被分離成多個立方體/長方體區域,該等區域可以被稱為片(tile)。每個片可以被譯碼成一或多個條帶。可以基於每個分割中的點的數量,或者基於其他考慮(例如,特定區域可以被譯碼為片),來將邊界框分割為條帶和片。可以使用類似於視訊轉碼器中的分離決策來進一步分割條帶區域。
圖2提供G-PCC編碼器200的概述。圖3提供G-PCC解碼器300的概述。所示的模組是邏輯的,並且不一定與G-PCC轉碼器的參考實現方式中的實現代碼一一對應,亦即,ISO/IEC MPEG(JTC 1/SC 29/WG11)研究的TMC13測試模型軟體。
在G-PCC編碼器200和G-PCC解碼器300兩者中,首先對點雲端位置進行譯碼。屬性譯碼依賴於解碼的幾何圖形。在圖2和圖3中,模組212、模組218、模組310和模組314是通常用於類別1資料的選項。模組220、模組222、模組316和模組318是通常用於類別3資料的選項。所有其他模組在類別1和類別3之間是通用的。
對於類別3資料,經壓縮幾何通常表示為八叉樹,從根一直向下到各個體素的葉級別。對於類別1資料,經壓縮幾何通常由經修剪(prune)的八叉樹(亦即,從根向下到大於體素的區塊(block)的葉級別的八叉樹)加上近似在經修剪的八叉樹的每個葉內的表面的模型來表示。如此,類別1和類別3兩者的資料皆共享八叉樹譯碼機制,而類別1的資料亦可以用表面模型來近似每個葉內的體素。所使用的表面模型是三角劃分(triangulation),其每個區塊包含1-10個三角形,得到三角形集合(triangle soup)。因此,類別1幾何轉碼器被稱為Trisoup幾何轉碼器,而類別3幾何轉碼器被稱為八叉樹幾何轉碼器。
圖4是圖示根據本案內容的技術的用於幾何譯碼的示例性八叉樹分離的概念圖。在圖4所示的實例中,八叉樹400可以被分離成一系列節點。例如,每個節點可以是立方體節點。在八叉樹的每個節點處,當G-PCC解碼器300沒有推斷出用於節點的一或多個子節點(可包括多達八個節點)的佔用時,G-PCC編碼器200可以用信號發送G-PCC解碼器300點雲端的點對節點的佔用。指定多個鄰域,其包括(a)與當前八叉樹節點共享面的節點,(b)與當前八叉樹節點共享面、邊或頂點的節點等。在每個鄰域內,節點及/或其子節點的佔用可以被用於預測當前節點或其子節點的佔用。對於稀疏地填充在八叉樹的某些節點中的點,轉碼器亦支援直接譯碼模式,其中點的3D位置被直接編碼。可以用信號傳遞發送一個標誌(flag)以指示用信號傳遞發送直接模式。利用直接模式,點雲端中的點的位置可以無需任何壓縮而直接進行譯碼。在最低級別處,亦可以對與八叉樹節點/葉節點相關聯的點的數量進行譯碼。
一旦幾何被譯碼,對應於幾何點的屬性亦被譯碼。當有多個屬性點對應於一個經重建/解碼的幾何點時,可以推導出代表該重建點的屬性值。
G-PCC中有三種屬性譯碼程序:區域自我調整分層變換(RAHT)譯碼,基於內插的分層最近鄰點預測(預測變換),以及具有更新/提升步驟的基於內插的分層最近鄰點預測(提升變換)。RAHT和提升變換通常用於類別1資料,而預測變換通常用於類別3資料。然而,任何一種程序皆可以用於任何資料,並且,與G-PCC中的幾何轉碼器類似,在位元串流中指定用於對點雲端進行譯碼的屬性譯碼程序。
屬性的譯碼可以在細節級別(LOD)中進行,其中對於每一個細節級別,可以獲得點雲端屬性的更精細的表示。每個細節級別可以基於與相鄰節點的距離度量或基於取樣距離來指定。
在G-PCC編碼器200處,作為針對屬性的譯碼程序的輸出而獲得的殘差被量化(例如,經由算術編碼單元214及/或226之一)。可以使用上下文自我調整算術譯碼來對經量化殘差進行譯碼。
在圖2的實例中,G-PCC編碼器200可以包括座標變換單元202、色彩變換單元204、體素化單元206、屬性傳遞單元208、八叉樹分析單元210、表面近似分析單元212、算術編碼單元214、幾何重建單元(GRU)216、RAHT單元218、LOD產生單元220、提升單元222、係數量化單元224和算術編碼單元226。
如圖2的實例所示,G-PCC編碼器200可以接收位置集和屬性集。位置可以包括點雲端中的點的座標。屬性可以包括關於點雲端中的點的資訊,諸如與點雲端中的點相關聯的色彩。
座標變換單元202可以對點的座標應用變換,以將座標從初始域變換到變換域。本案內容可以將經變換的座標稱為變換座標。色彩變換單元204可以應用變換以將屬性的色彩資訊變換到不同的域。例如,色彩變換單元204可以將色彩資訊從RGB色彩空間變換到YCbCr色彩空間。
此外,在圖2的實例中,體素化單元206可以對變換座標進行體素化。變換座標的體素化可以包括量化和移除點雲端的一些點。換言之,點雲端的多個點可以被歸入(subsum)到單個「體素」內,其此後在某些態樣中可以被視為一個點。此外,八叉樹分析單元210可以基於體素化變換座標來產生八叉樹。附加地,在圖2的實例中,表面近似分析單元212可以分析點以潛在地決定點集合的表面表示。算術編碼單元214可以對語法元素進行熵編碼,該等語法元素表示八叉樹及/或由表面近似分析單元212決定的表面的資訊。G-PCC編碼器200可以在幾何位元串流中輸出該等語法元素。
幾何重建單元216可以基於八叉樹、表示由表面近似分析單元212決定的表面的資料及/或其他資訊來重建點雲端中的點的變換座標。由於體素化和表面近似,由幾何重建單元216重建的變換座標的數量可以不同於點雲端的原始點數。本案內容可以將得到的點稱為重建點。屬性傳遞單元208可以將點雲端的原始點的屬性傳遞到點雲端的重建點。如圖2所示,屬性傳遞單元208可以將屬性傳遞到RAHT單元218和LOD產生單元220中的一者或兩者。
此外,RAHT單元218可以對重建點的屬性應用RAHT譯碼。替代地或附加地,LOD產生單元220和提升單元222可以分別對重建點的屬性應用LOD處理和提升。RAHT單元218和提升單元222可以基於屬性來產生係數。係數量化單元224可以量化由RAHT單元218或提升單元222產生的係數。算術編碼單元226可以對表示經量化係數的語法元素應用算術譯碼。G-PCC編碼器200可以在屬性位元串流中輸出該等語法元素。
在圖3的實例中,G-PCC解碼器300可以包括幾何算術解碼單元302、屬性算術解碼單元304、八叉樹合成單元306、逆量化單元308、表面近似合成單元310、幾何重建單元312、RAHT單元314、LoD產生單元316、逆提升單元318、逆變換座標單元320和逆變換色彩單元322。
G-PCC解碼器300可以獲得幾何位元串流和屬性位元串流。解碼器300的幾何算術解碼單元302可以對幾何位元串流中的語法元素應用算術解碼(例如,上下文自我調整二進位算術譯碼(CABAC)或其他類型的算術解碼)。類似地,屬性算術解碼單元304可以對屬性位元串流中的語法元素應用算術解碼。
八叉樹合成單元306可以基於從幾何位元串流解析出的語法元素來合成八叉樹。在幾何位元串流中使用表面近似的情況下,表面近似合成單元310可以基於從幾何位元串流解析出的語法元素並且基於八叉樹來決定表面模型。
此外,幾何重建單元312可以執行重建以決定點雲端中的點的座標。逆變換座標單元320可以對重建座標應用逆變換,以將點雲端中的點的重建座標(位置)從變換域轉換回初始域。
附加地,在圖3的實例中,逆量化單元308可以對屬性值進行逆量化。屬性值可以基於從屬性位元串流獲得的語法元素(例如,包括由屬性算術解碼單元304解碼的語法元素)。如圖3所示,逆量化單元308可以將屬性值傳遞到RAHT單元314和LOD產生單元316中的一者或兩者。
取決於如何對屬性值進行編碼,RAHT單元314可以執行RAHT譯碼以基於逆量化屬性值來決定點雲端的點的色彩值。或者,LOD產生單元316和逆提升單元318可以使用基於細節級別的技術來決定點雲端的點的色彩值。
此外,在圖3的實例中,逆變換色彩單元322可以對色彩值應用逆色彩變換。逆色彩變換可以是由G-PCC編碼器200的色彩變換單元204應用的色彩變換的逆。例如,色彩變換單元204可以將色彩資訊從RGB色彩空間變換到YCbCr色彩空間。相應的,逆色彩變換單元322可以將色彩資訊從YCbCr色彩空間變換到RGB色彩空間。
圖示圖2和圖3的各個單元以幫助理解由G-PCC編碼器200和G-PCC解碼器300執行的操作。該等單元可以被實現為固定功能電路、可程式設計電路,或其組合。固定功能電路代表提供特定功能並且關於可以執行的操作而預先設置的電路。可程式設計電路代表能夠被程式設計以執行各種任務並且以能夠執行的操作來提供靈活功能的電路。例如,可程式設計電路可以執行軟體或韌體,軟體或韌體使得可程式設計電路以軟體或韌體的指令所定義的方式進行操作。固定功能電路可以執行軟體指令(例如,以接收參數或輸出參數),但是固定功能電路執行的操作類型通常是不可變的。在一些實例中,該等單元中的一或多個單元可以是不同的電路區塊(固定功能或可程式設計),並且在一些實例中,該等單元中的一或多個單元可以是積體電路。
引入預測幾何譯碼作為八叉樹幾何譯碼的替代,其中節點排列在樹結構中(其定義了預測結構),並且使用各種預測策略來預測樹中每個節點相對於其預測值的座標。圖6是圖示預測樹600的實例的概念圖,預測樹600是其中箭頭指向預測方向的有向圖。水平陰影節點是根頂點並且沒有預測值;網格陰影節點有兩個子節點;對角陰影節點有3個子節點;非陰影節點有一個子節點,並且垂直陰影節點是葉節點,並且該等節點沒有子節點。每個節點僅有一個父節點。
可以基於其父節點(p0)、祖父母節點(p1)和曾祖父母節點(p2)為每個節點指定四種預測策略。預測策略包括:無預測、增量預測(p0)、線性預測(2*p0-p1)和平行四邊形預測(p0+p1-p2)。
編碼器(例如,G-PCC編碼器200)可以採用任何演算法來產生預測樹;可以基於應用/用例來決定所使用的演算法,並且可以使用幾種策略。對於每個節點,編碼器可以以深度優先的方式從根節點開始對位元串流中的殘差座標值進行編碼。預測幾何譯碼對於類別3(LIDAR獲取的)點雲端資料(例如,針對低時延應用)可能特別有用。
角模式可用於預測幾何譯碼,其中LIDAR感測器的特性可以用於更有效地對預測樹進行譯碼。位置的座標被轉換成
(半徑、方位和鐳射索引),並且在該域中執行預測(殘差在
域中被譯碼)。由於捨入中的誤差,
中的譯碼不是無損的,並且因此可以對對應於笛卡爾座標的第二殘差集進行譯碼。下文再現了用於預測幾何譯碼的角模式的編碼和解碼策略的描述。該描述基於圖5A和圖5B,其是旋轉LIDAR獲取模型的概念圖。
本案內容的技術可以應用於使用旋轉鐳射雷達模型獲取的至少點雲端。此處,鐳射雷達502具有依照方位角
圍繞Z軸旋轉的N個鐳射器(例如,N=16、32、64)(參見圖5A和圖5B)。每個鐳射器可以具有不同的仰角
和高度
。鐳射器
i擊中根據圖5A中描述的座標系500定義的具有笛卡爾整數座標
的點
。
M的位置用三個參數
建模,其可以如下計算:
,
譯碼程序可以使用
的量化版本,表示為
,其中三個整數
和
可以如下計算:
其中
(
)和(
)分別是控制
和
的精度的量化參數。
是若t為正,則返回1,否則返回(-1)的函數。
是
的絕對值。
為了避免由於使用浮點運算而導致的重建不匹配,
和
的值可以預先計算並如下量化:
其中
(
)和(
)分別是控制
和
的精度的量化參數。
如下獲得重建的笛卡爾座標:
,
其中
和
是
和
的近似值。計算可以使用定點表示、查閱資料表和線性內插。
在一些實例中,
可能由於各種原因而不同於
,包括:
-量化
-近似值
-模型不精確性
-模型參數不精確性
在一些實例中,重建殘差
可以如下定義:
-
-
-
在該程序中,G-PCC編碼器200可以如下繼續進行:
對模型參數
和
和量化參數
和
進行編碼
將G-PCC DIS中描述的幾何預測方案應用於表示
可以引入利用鐳射雷達特性的新預測值。例如,鐳射雷達掃瞄器圍繞z軸的旋轉速度通常是常數。因此,G-PCC解碼器可以如下預測當前
:
其中
是編碼器可以選擇的一組潛在速度。索引
可以顯式地寫入位元串流,或者可以基於由編碼器和解碼器兩者應用的決定性策略從上下文中推斷,並且
是跳過的點的數量,其可以被顯式地寫入位元串流,或者可以基於編碼器和解碼器兩者皆應用的決定性策略從上下文中推斷出來。
與每個節點對重建殘差
進行編碼。
G-PCC解碼器300可以如下繼續進行:
對模型參數
和
和量化參數
和
進行解碼
根據G-PCC國際標準草案(DIS)中描述的幾何預測方案對與節點相關聯的
參數進行解碼
如前述地計算重建的座標
對殘差
進行解碼
如下一節所論述的,失真壓縮可以經由量化重建殘差
來支援
如下計算原始座標
:
失真壓縮可以經由對重建殘差
應用量化或經由丟棄點來實現。
經量化的重建殘差如下計算:
其中
,
和
分別是控制
、
和
的精度的量化參數。
在一些實例中,G-PCC編碼器200及/或G-PCC解碼器300可以使用網格量化來進一步改良RD(率失真)效能結果。量化參數可以在序列/訊框/條帶/區塊級別改變,以實現區域自我調整品質並用於速率控制目的。
G-PCC譯碼器(例如,G-PCC編碼器200及/或G-PCC解碼器300)可以使用訊框間預測來執行點雲端壓縮。經由使用訊框間預測,G-PCC譯碼器可以使用跨訊框的點的冗餘來提供附加的位元速率節省。本案內容的各個態樣中的實例可以單獨使用或以任何組合使用。
儘管論述主要是關於極座標系統,但是本案中揭示的程序亦可以應用於其他座標系,諸如笛卡爾座標系、球座標系或可用於表示/譯碼點雲端位置和屬性的任何定製座標系。
G-PCC譯碼器可以決定是使用訊框間預測還是訊框內預測來對點進行譯碼。例如,G-PCC編碼器可以執行分析以決定使用訊框間或訊框內預測來對特定點進行譯碼是否有益(例如,在位元速率或其他條件態樣)。在一些實例中,G-PCC譯碼器可以以下方式之一來執行該決定。在一些實例中,G-PCC編碼器200可以在編碼期間使用第一組條件,並且G-PCC解碼器300可以在解碼期間使用第一組條件。在一些實例中,G-PCC編碼器200可以在編碼期間使用第一組條件,並且用信號發送指示訊框間預測模式的語法元素,並且G-PCC解碼器300可以基於用信號發送的語法元素來決定模式。
第一組條件可以使用點的一或多個特性來推導出,諸如笛卡爾位置、角座標(半徑、方位、仰角)、相鄰節點的預測模式等。包括在第一組條件中的一些示例性條件如下。在第一示例性條件中,該點屬於不是訊框內譯碼訊框的訊框,或者不對應於隨機存取點的訊框。在第二示例性條件中,當前點的方位不同於當前訊框的一或多個先前解碼點的方位,或者當前點和先前點之間的增量方位是非零的。在一些實例中,增量方位的近似值或增量方位的量化版本可以用於決定當前節點的訊框間預測模式。在第三示例性條件中,該點屬於特定類型的條帶(亦即,可以應用指示訊框間預測的P條帶或B條帶)。在第四示例性條件中,用信號發送標誌以指示是否為特定訊框啟用訊框間預測。該標誌可以在與訊框相關聯的語法元素(例如,條帶/條帶標頭、訊框標頭等)或訊框所參考的參數集中用信號發送。例如,可以在幾何參數集(GPS)中用信號發送inter_prediction_enabled_flag,以指定是否針對參考該GPS的點雲端訊框/條帶啟用了訊框間預測。當inter_prediction_enabled_flag指示未啟用訊框間預測時,可以不用信號發送針對點雲端中的點的訊框間預測指示。
在一些實例中,點的訊框間預測模式可以基於與該點相關聯的方位或phi乘數的殘差來決定。
在一些實例中,可以僅當啟用角模式時才啟用訊框間預測(或一或多個訊框間預測模式)(亦即,在角模式未啟用的情況下,可以禁用訊框間預測)。
G-PCC譯碼器可以選擇參考訊框。在一些實例中,G-PCC譯碼器可以使用先前解碼的訊框(或者在一些情況下以解碼順序的先前訊框)作為參考訊框。在其他實例中,訊框號的指示(使用LSB值或增量訊框號值)可以用於指定參考訊框。更一般地,兩個或更多個訊框可以被指定為參考訊框,並且可以利用來自任何參考訊框的訊框間預測來對點進行譯碼(與該點相關聯的參考訊框的指示可以被用信號發送或推導出)。
在另一實例中,可以從兩個或更多個訊框執行預測(例如,雙向預測)。因此,G-PCC譯碼器可以基於第一參考訊框中的參考點和第二參考訊框中的參考點來預測當前訊框的點。
G-PCC譯碼器可以利用複數個訊框間預測模式。當一個點被訊框間預測時,可能有一或多個方式根據參考訊框來預測該點。可以使用不同的模式值來指定每種預測類型(例如,G-PCC譯碼器可以用信號發送指示用於當前點的訊框間預測模式的語法元素)。作為一個示例性訊框間預測模式,可以根據來自參考訊框的零運動候選(例如,參考訊框中的參考點可以是零運動候選)來預測點。作為另一示例性訊框間預測模式,可以根據來自參考訊框的全域運動候選來預測點。作為另一示例性訊框間預測模式,可以根據來自參考訊框的候選點來預測點,並且其他參數(例如,運動向量等)可以用於指定候選點。
下文提供了關於不同類型的訊框間預測實例的一些細節。G-PCC譯碼器可以利用部分訊框間預測模式。在一個實例中,訊框間預測可以僅應用於預測點雲端中的點的特性的子集。可以使用訊框內預測或經由其他技術對訊框內預測不適用的一或多個特性進行譯碼。在一個實例中,當點被指示為訊框間預測時,當啟用角模式時可以根據參考點(或參考訊框)來預測該點的半徑,並且可以基於訊框內預測或其他技術來推導出方位和鐳射器ID(或仰角)。在另一實例中,若點被指示為被訊框間預測,則當啟用角模式時,根據參考點(或參考訊框)來預測該點的半徑和方位兩者;G-PCC譯碼器可以基於訊框內預測或其他技術,來推導出鐳射器ID(或仰角)。
G-PCC譯碼器可以執行訊框間預測模式的信號傳遞。在一些實例中,可以在位元串流中用信號發送與點相關聯的訊框間預測模式。該訊框間預測模式可以作為標誌或作為模式值來用信號發送。在一個示例性訊框間預測模式信號傳遞技術中,等於0的inter-pred-flag可以指示使用訊框內預測來預測該點,並且等於1的inter-pred-flag可以指示使用訊框間預測來預測該點。在一些實例中,基於使用訊框間預測來預測該點的指示,可以用信號發送模式值以指定執行該點的訊框間預測的程序。在另一示例性訊框間預測模式信號傳遞技術中,當用訊框間預測來預測點時,可以用信號發送模式值,其中模式值0指定零運動候選用於預測,並且模式值1指定全域運動候選用於預測。
在本案內容中,訊框間預測模式可以與點是否用訊框間預測進行譯碼的指示以及所使用的特定訊框間預測技術互換使用。
某些條件可能影響G-PCC譯碼器用信號發送訊框間預測模式的方式。在某些情況下,可以僅當第二組條件應用時,才用信號發送訊框間預測模式。第二組條件可以使用點的一或多個特性來推導,諸如笛卡爾位置、角座標(半徑、方位、仰角)、相鄰節點的預測模式等。包括在第二組條件中的示例性條件可以包括該點屬於如下訊框:該訊框不是訊框內譯碼訊框,或者不對應於隨機存取點。包括在第二組條件中的示例性條件可以包括當前點的方位不同於先前解碼點的方位,或者在當前點與先前點之間的增量方位不為零。在一些實例中,增量方位的近似值或增量方位的量化版本可以用於決定當前節點的訊框間預測模式。包括在第二組條件中的示例性條件可以包括在當前點與先前點之間的增量方位大於閾值;閾值的值可以是固定的或在位元串流中用信號發送的,或者基於在位元串流中用信號發送的語法元素來推導。
更一般地,第二組條件可以包括一或多個標準,包括但不限於增量方位值、增量半徑值、增量鐳射器ID值、增量仰角值。特性的該增量值可以由在位元串流中針對點用信號發送的對應殘差值來指示。第二組條件亦可以包括笛卡爾域(增量x,增量y,增量z)中的增量座標值。
當沒有針對特定點用信號發送訊框間預測模式時,可以推斷該訊框間預測模式對於該點是固定值。當沒有針對某一點用信號發送訊框間預測模式時,可以假定該值為0(或指定訊框內預測的值)。
現在將論述信號傳遞最佳化。在某些情況下,可以不針對所有點用信號發送訊框間預測模式,而是可以從位元串流中用信號發送的語法元素推導出訊框間預測模式。可以針對預測樹用信號發送訊框間預測模式,並且訊框間預測模式可以應用於預測樹中的所有點。可以在幾何條帶中用信號發送訊框間預測模式,並且訊框間預測模式可以應用於條帶中的所有點。可以針對預測區塊用信號發送訊框間預測模式(指定為固定數量的點,或用信號發送的點數等),並且訊框間預測模式可以應用於預測區塊中的所有點。
在一些實例中,訊框間預測模式可以僅用信號發送給由樹深度指定的一些節點。例如,可以僅針對預測樹的根節點,用信號發送訊框間預測模式。
在一個實例中,當針對點的一些特性(例如,半徑)應用訊框間預測,並且針對點的其他特性(例如,方位、鐳射器ID)應用訊框內預測時,可以僅允許訊框內預測模式的子集(例如,針對方位、鐳射器ID可以僅允許訊框內預測的模式0)。在一些實例中,若僅允許一個訊框內預測模式,則在解碼器處不用信號發送和推斷模式值。在一些實例中,若允許訊框內預測模式的子集(兩個或更多個),則可以應用模式語法元素的更最佳化的譯碼(例如,更少的位元可能足以將索引譯碼到模式的子集)。
針對每個點並且對應於每個預測模式,G-PCC譯碼器可以基於參考訊框中的一或多個點的位置來推導出當前點的一或多個特性的預測值。示例性預測程序如下:
1a. 當選擇零運動候選時,預測候選可以被選擇為具有對應於方位和鐳射器ID的特定值(例如,當前點的重建方位值和鐳射器ID)的最接近方位和鐳射器ID的點;預測候選的半徑的值被選擇作為當前節點的半徑的預測值。
1b. 當選擇零運動候選時,預測候選可以被選擇為具有與方位和鐳射器ID的特定值(例如,先前解碼和重建點的重建方位值和鐳射器ID)相對應的最接近方位和鐳射器ID的點;預測候選的半徑、方位和鐳射器ID的值被選擇作為當前節點的半徑、方位和鐳射器ID的預測值。
2a. 當選擇全域運動候選時,在對預測候選應用全域運動補償之後,預測候選可以被選擇為具有與方位和鐳射器ID的特定值相對應的最接近的方位和鐳射器ID的點;預測候選的半徑的值被選擇作為當前節點的半徑的預測值。
2b. 當選擇全域運動候選時,在對預測候選應用全域運動補償之後,預測候選可以被選擇為具有與方位和鐳射器ID的特定值(例如,先前解碼和重建點的重建方位值和鐳射器ID)相對應的最接近方位和鐳射器ID的點;選擇預測候選的半徑、方位和鐳射器ID的值作為當前節點的半徑、方位和鐳射器ID的預測值。
3a. 當選擇通用候選時,在對預測候選應用(與當前點相關聯的)運動向量之後,預測候選可以被選擇為具有與方位和鐳射器ID的特定值相對應的最接近的方位和鐳射器ID的點;預測候選的半徑的值被選擇作為當前節點的半徑的預測值。
3b. 當選擇通用候選時,在對預測候選應用運動向量之後,預測候選可以被選擇為具有與方位和鐳射器ID的特定值(例如,先前解碼和重建點的重建方位值和鐳射器ID)相對應的最接近方位和鐳射器ID的點;選擇預測候選的半徑、方位和鐳射器ID的值作為當前節點的半徑、方位和鐳射器ID的預測值。
在一些實例中,運動向量可以用於推導出用於推導當前點的半徑、方位和鐳射器ID(或仰角)或該等值的預測的點。在一些實例中,運動向量可以用於推導出x、y、z座標的預測或該等值的預測。
在一些實例中,參考訊框中的多於一個點可以用於推導出預測值。點的數量可以在條帶標頭或GPS中用信號發送。在一些實例中,可以用信號發送參考訊框中的兩個或更多個點的索引,以指定用於訊框間預測的特定點。當選擇零運動候選時,兩個預測候選被選擇為具有與方位和鐳射器ID的特定值相對應的兩個最接近的方位和鐳射器ID的兩個點;兩個預測候選的半徑的平均值被選擇作為當前節點的半徑的預測值。當兩個或更多個預測候選被選擇為用於訊框間預測的候選時(例如,基於鐳射器ID及/或方位的接近度),可以經由用信號發送對包括兩個或更多個預測候選的列表的索引,來選擇預測候選。在一些實例中,加權平均值(基於當前點和預測值的鐳射器ID值的差及/或在當前點和預測值的方位之間的差而計算的權重)亦可以用作預測候選。
G-PCC譯碼器可以執行參考訊框的準備。在一些實例中,可以在訊框間預測之前對參考訊框進行運動補償。例如,參考訊框的一或多個點可以與運動(例如,全域運動)相關聯,並且可以經由用相關聯的運動來補償點的位置,來獲得對後續訊框的預測。可以從外部資訊(例如,GPS資訊)來估計或獲得該運動。因此,用於訊框間預測的「參考訊框」可以是「補償參考訊框」。換言之,參考訊框可以是運動補償參考訊框。
在一些實例中,補償參考訊框中的一或多個點可以被認為是當前訊框的零運動候選。在一些實例中,對其應用運動補償的參考訊框中的點可以屬於在點雲端中的特定特徵(例如,物件),或者其可以被一些估計演算法標記(例如,地面、非地面)。可以在位元串流中用信號發送全域運動參數(例如,旋轉、平移)。
在一些實例中,除了全域運動參數以外,亦可以針對如下一或多個用信號發送附加調整值:x、y、z、半徑、方位、鐳射器ID。例如,當經由應用運動補償(例如,使用運動參數)來準備預測訊框時,可以在笛卡爾域中應用x、y、z的一或多個附加調整值;可以在球面域中應用半徑、方位、鐳射器ID的一個或附加調整值。
在一些實例中,可以為整個序列指定調整值(表示「全域」調整);該等值亦可以合併到全域運動參數中。
在一些實例中,可以為訊框群組指定調整值(表示「群組」調整);該等值亦可以合併到全域運動參數中。
在一些實例中,可以為訊框指定調整值(表示「訊框」調整);該等值亦可以合併到全域運動參數中。
在一些實例中,可以為點雲端的不同區域指定調整值(表示「局部」調整);該等值亦可以被合併到全域運動參數中,或者作為對適用於訊框的全域運動的修改而用信號發送。
可以用信號發送全域、訊框和局部調整中的一或多個;當存在該等參數中的多於一個參數時,可以連續地或一起地應用相應調整(例如,對於屬於該區域的點,全域、訊框和局部x調整xg、xf、xl可以分別作為xg+xf+xl進行應用)。在其他實例中,可以在一個級別(例如,全域)應用所有調整,之後才在不同級別(例如,訊框)應用調整。
可以在位元串流中用信號發送與點的訊框間預測模式相關聯的運動向量。在某些情況下,多個點可以共享相同的運動向量,並且可以在條帶或參數集(例如,GPS,或專門用於運動參數的參數集)中用信號發送。在某些情況下,可以從空間或時間訊框間預測的相鄰點來預測與特定點相關聯的運動向量,並且僅能用信號發送在實際運動向量與預測運動向量之間的差。
G-PCC譯碼器可以執行上下文選擇。例如,G-PCC譯碼器可以基於位元串流中用信號發送的一或多個語法元素或其推導出的變數,來決定要用於預測幾何參數/語法元素的上下文。附加上下文的使用可以提高轉碼器的壓縮效率。
在一些實例中,G-PCC譯碼器可以利用與點相關聯的第一參數來決定與該點相關聯的其他語法元素的上下文。例如,與phi乘數相關聯的一或多個語法元素(例如,ptn_phi_mult_abs_gt0_flag、ptn_phi_mult_sign_flag、ptn_phi_mult_abs_gt1_flag、ptn_phi_mult_abs_minus2、ptn_phi_mult_abs_minus9)的上下文可以基於訊框間標誌來選擇。
在一個實例中,訊框間標誌指示在使用訊框間預測的情況下是否選擇第一組上下文,或者在使用訊框內預測的情況下是否選擇第二組上下文。在啟用具有角模式的預測幾何的情況下(球面位置譯碼:方位、半徑、仰角或鐳射器ID),此舉可以應用於phi乘數、主殘差和次殘差的譯碼。
若語法元素的上下文依賴於第一組條件,則當第一組條件為真並且與點相關聯的第一參數取第一值時,可以選擇一個上下文,並且當第一組條件為真並且與點相關聯的第一參數取與第一值不同的第二值時,可以選擇第二上下文。
描述了第一參數的不同選擇。每個選擇可能在壓縮效率和儲存之間呈現不同的權衡(更多的上下文可能需要與上下文狀態相關聯的更多儲存)。在一個實例中,第一參數可以是與點相關聯的訊框間標誌。在另一實例中,第一參數可以是與該點相關聯的預測模式(例如,在預測幾何中使用的預測模式)。在另一實例中,第一參數可以是由與點相關聯的訊框間標誌和預測模式組成的元組,例如(interFlag,predMode)。當存在多於一個訊框間預測候選(例如,零運動候選、全域運動候選等)時,令interPredMode表示各種訊框間預測候選(例如,0表示訊框內預測,1表示零運動候選,2表示全域運動候選等)。第一參數可以是interPredMode。
在一些實例中,G-PCC譯碼器可以對不同類型的訊框使用不同的條件/參數。例如,對於訊框內譯碼的訊框(沒有參考在序列中的其他訊框進行預測),可以選擇第二參數來決定本案內容中描述的上下文,而其他訊框(例如,訊框間譯碼的訊框),可以選擇第三參數來決定本案內容中描述的上下文。第二參數和第三參數可以是不同的(例如,對於訊框內訊框,預測模式可以被選擇作為第二參數,並且對於訊框間訊框,預測模式和訊框間標誌的元組可以被選擇作為第三參數)。G-PCC譯碼器可以將類似的上下文選擇擴展到一或多個語法元素/分量(主殘差、次殘差等)。
圖7是圖示根據本案內容的一或多個態樣的用於預測點雲端的點的示例性訊框間預測程序的概念圖。如圖7所示,當前訊框750可以包括複數個點752A-752L(統稱為「點752」),並且參考訊框754可以包括複數個點756A-756L(統稱為「點756」)。參考訊框754可以是在當前訊框750被解碼及/或重建之前被編碼及/或重建的訊框(例如,參考訊框754可以在譯碼順序中位於當前訊框750之前)。G-PCC譯碼器可以利用訊框內預測來基於參考訊框754的一或多個點756來預測當前訊框750的一或多個點752。例如,G-PCC解碼器(或G-PCC編碼器的重建迴路)可以預測一或多個參數(例如,基於一或多個點756的點752的當前點752A的
)。
為了執行訊框間預測以預測當前訊框中的當前點,G-PCC譯碼器可以決定與當前訊框不同的參考訊框中的參考點,並基於該參考點來預測當前點的一或多個參數。例如,為了預測當前點752A,G-PCC譯碼器可以決定參考點756A,並基於參考點756A的一或多個參數來預測當前點752A的一或多個參數。所決定的參考點可以被稱為所辨識的參考點。
G-PCC譯碼器可以使用任何合適的技術來決定參考點。作為一個實例,G-PCC譯碼器可以在當前訊框中決定在譯碼順序中位於當前點之前的樞軸點;並且基於該樞軸點的一或多個參數來決定參考點。例如,在譯碼順序是逆時針的情況下,G-PCC譯碼器可以決定點752B是當前點752A的前一點(例如,在譯碼順序中緊接在當前點之前的點)(亦即,決定點752B是樞軸點),並且基於樞軸點752B的一或多個參數來決定參考點。
為了基於樞軸點的一或多個參數來決定參考點,G-PCC譯碼器可以基於樞軸點的方位,在參考訊框中決定參考樞軸點;並且基於該參考樞軸點來決定參考點。例如,G-PCC譯碼器可以在參考訊框754中決定與樞軸點752B具有相同方位(或相同方位和相同鐳射器ID)的點。在圖7的實例中,G-PCC譯碼器可以決定點756B是參考樞軸點,因為點756B與樞軸點752B具有相同的方位。儘管圖7的實例中的參考樞軸點對應於實際點(例如,訊框754中的實際點),但本案內容的技術不必如此限制。例如,在一些實例中,參考樞軸點可以是不對應於參考訊框754中的重建點的虛擬點。
在一些實例中,G-PCC譯碼器可以基於樞軸點的實際(例如,未縮放的)方位來決定參考樞軸點。在其他實例中,G-PCC譯碼器可以基於樞軸點的縮放方位來決定參考樞軸點。例如,G-PCC譯碼器可以經由將樞軸點的方位縮放常數值,來決定經縮放的方位。
為了基於參考樞軸點來決定參考點,G-PCC譯碼器可以將具有比參考樞軸點的方位更大的方位的點辨識為參考訊框中的參考點。例如,G-PCC譯碼器可以決定何者點756具有比參考樞軸點的方位值更大的方位值,並且(從具有比參考樞軸點的方位值更大的方位值的點的集合756中)選擇具有最小方位值的點。在圖7的該實例中,點756A可以是參考訊框754中的具有比參考樞軸點765B的方位更大的最小方位的點。因此,G-PCC譯碼器可以將點756A辨識為用於執行當前點752A的訊框內預測的參考點。
在一些實例中,G-PCC譯碼器可以基於參考樞軸點的實際(例如,未縮放的)方位來決定參考點。在其他實例中,G-PCC譯碼器可以基於參考樞軸點的縮放方位來決定參考點。例如,G-PCC譯碼器可以經由將樞軸點的方位縮放常數值,來決定參考樞軸點的經縮放的方位。因此,在一些實例中,G-PCC譯碼器可以經由將具有比參考樞軸點(例如,點756A)的經縮放方位更大的最小經縮放方位的點辨識為參考點,來決定參考點。在一些實例中,G-PCC譯碼器可以利用具有比經縮放方位更大的第二最小方位的點。因此,在一些實例中,G-PCC譯碼器可以經由將具有比參考樞軸點(例如,點756L)的經縮放方位更大的第二最小經縮放方位的點辨識為參考點,來決定參考點。
G-PCC譯碼器可以基於參考點756A的參數,來預測當前點752A的參數。例如,G-PCC譯碼器可以用信號發送表示當前點752A與參考點756A的參數之間的差的殘差資料。G-PCC解碼器可以將殘差資料添加到參考點756A的參數,以重建當前點752A的參數。
儘管上文論述的是使用單個參考訊框中的單個參考點,但本案內容的技術不限於此。作為一個實例,單個參考訊框中的多個參考點可以共同用於預測當前點。例如,G-PCC譯碼器可以在參考訊框中並基於參考樞軸點來決定複數個參考點。G-PCC譯碼器可以基於複數個參考點來預測當前訊框中的當前點的一或多個參數。作為另一實例,來自多個參考訊框的參考點可以用於預測當前點。
如上所論述的,G-PCC譯碼器可以執行方位預測。令(r,phi,鐳射器ID)是樞軸點在球座標系中的三個座標(稱為半徑、方位和鐳射器ID)。本文揭示的技術亦可以應用於其他座標系。
在一些實例中,G-PCC譯碼器可以按如下的有序方式對當前點雲端訊框中的點進行譯碼:
首先,對於當前訊框中的當前點,G-PCC譯碼器可以選擇當前訊框中在解碼順序中位於第一點之前的樞軸點。在一些實例中,樞軸點是在解碼順序中的當前訊框中的前一點。在一些實例中,樞軸點是解碼順序中的當前訊框中的前第二點。更一般地,可以選擇多於一個的先前點作為當前點的樞軸點。在一些實例中,樞軸點可以是基於當前訊框中的先前解碼的點和方位位移推導出的虛擬點,方位位移是方位量化標度值的倍數(預先決定的或根據用信號發送的語法元素推導出的)。
第二,G-PCC譯碼器可以選擇參考訊框中的點,與樞軸點相關聯的參考樞軸點。參考樞軸點可以被選擇為參考訊框中的具有與樞軸點相同的方位和鐳射器ID的點。在一些實例中,具有其他鐳射器ID值的點亦可以是參考樞軸點的候選(例如,參考樞軸點可以被選擇為參考訊框中的具有與樞軸點相同的方位以及在[LaserID-M,LaserID+M]的範圍內的鐳射器ID的點,其中鐳射器ID是樞軸點的鐳射器ID,並且M是固定值(例如,1)或者基於樞軸點與原點的距離來選擇,或者根據鐳射器ID進行推導(例如,對於較小的鐳射器ID值,M可以較小,而對於較大的鐳射器ID值,M可以較大))。在一些實例中,可以使用方位和鐳射器ID來定義距離度量,並且使用距離度量將參考樞軸點選擇為具有與樞軸點的方位和鐳射器ID有最小距離的點。正規化方位值可以經由將方位縮放第一常數值而獲得;可以經由將鐳射器ID縮放第二常數值來獲得正規化的鐳射器ID;距離度量可以經由計算樞軸點和參考點的正規化鐳射器ID和方位值的範數(例如,L2範數,L1範數)來獲得。更一般地,參考樞軸點可以被選擇為參考訊框中的位於與樞軸點具有相同方位和鐳射器ID的點的鄰域中的點。在一些實例中,參考樞軸點可以是參考訊框中的根據具有與樞軸點相同的方位和鐳射器ID的樞軸點推導出的虛擬點。
第三,G-PCC譯碼器可以選擇參考訊框中的與參考樞軸點相關聯的參考點。參考點可以被選擇為參考訊框中的具有大於參考樞軸點的最小方位以及與參考樞軸點相同的鐳射器ID的點。參考點可以被選擇為參考訊框中的具有大於參考樞軸點的第二最小方位以及與參考樞軸點相同的鐳射器ID的點。在一些實例中,當參考點不可用時,可以對當前點禁用訊框間預測。在一些實例中,參考點可以被選擇為參考樞軸點。
第四,G-PCC譯碼器可以計算參考點與參考樞軸點之間的第一殘差。
第五,G-PCC譯碼器可以使用第一殘差來推導出當前值的第一預測。可以經由將第一殘差的分量加到樞軸點的各個分量來推導出預測(例如,可以經由將第一殘差的半徑分量加到樞軸點的半徑分量來獲得半徑預測(類似用於方位))。在一些實例中,第一預測可以被設置為等於參考點。
第六,G-PCC譯碼器可以對第一預測與當前點的位置之間的第二殘差進行譯碼。
第七,殘差分量:本案內容中揭示的一或多個殘差可以包括如下一項或多項:殘差可以包括參考樞軸點與參考點之間的半徑殘差。殘差可以包括參考樞軸點與參考點之間的方位殘差。
第八,G-PCC譯碼器可以基於第一預測和第二殘差來推導出當前點。在一些實例中,G-PCC譯碼器可以從第二殘差(例如,並且不基於第一預測)推導出當前點。
G-PCC譯碼器可以將上述一或多個技術應用於經量化方位值;用於量化的標度值可以根據用信號發送的值推導出或預先決定。經量化方位值和鐳射器ID可用於搜尋參考中的訊框間預測點。例如,先前解碼和重建的點的方位可以被量化,並且具有最接近先前點的經量化方位和鐳射器ID的經量化方位和鐳射器ID的訊框間預測點可以被選擇為用於當前點的方位、半徑和鐳射器ID的預測值,作為經量化/去量化的預測值或未量化的預測值。
G-PCC譯碼器可以將上述一或多個技術應用於經量化鐳射器ID值;用於量化的標度值可以根據用信號發送的值推導出或預先決定。方位和經量化鐳射器ID值可用於搜尋參考中的訊框間預測點。例如,先前解碼和重建的點的鐳射器ID可以被量化,並且具有最接近先前點的方位和經量化鐳射器ID的方位和經量化鐳射器ID的訊框間預測點可以被選擇為用於當前點的方位、半徑和鐳射器ID的預測值,作為經量化/去量化的預測值或未量化的預測值。
G-PCC譯碼器可以將上述一或多個技術應用於經量化方位和經量化鐳射器ID值;用於量化的標度值可以從用信號發送的值推導出或預先決定。經量化方位和經量化鐳射器ID值可用於搜尋參考中的訊框間預測點。例如,先前解碼和重建的點的方位和鐳射器ID可以被量化,並且具有最接近先前點的經量化方位和經量化鐳射器ID的經量化方位和經量化鐳射器ID的訊框間預測點可以被選擇為用於當前點的方位、半徑和鐳射器ID的預測值,作為經量化/去量化的預測值或未量化的預測值。
在一些實例中,參考訊框可以指從參考訊框推導出的(半徑、方位、鐳射器ID)元組集合。例如,對於參考訊框之每一者點,若該集合中沒有其他點具有相同的方位和鐳射器ID,則G-PCC譯碼器可以將半徑、方位、鐳射器ID添加到該集合中。在一些情況下,可以添加方位的量化值。在某些情況下,若r的值小於r1的值,則即使該集合中存在具有相同phi和鐳射器ID的另一元組(例如(r1,phi,鐳射器ID)),亦可以添加a(r,phi,鐳射器ID)(在此種情況下,存在的元組(r1,phi,鐳射器ID)可以被新的(r,phi,鐳射器ID)替換)。在某些情況下,參考訊框中的點可能在x、y、z域中;該等點可以按原樣儲存以供參考,或者經由將其轉換為球面域進行儲存。某些情況下,可以將運動補償位置添加到參考訊框。補償可以基於與當前訊框和參考訊框相關聯的用信號發送的運動向量(例如,具有旋轉及/或平移的全域運動向量)。
G-PCC譯碼器可以執行訊框間預測模式的上下文選擇。如上所論述的,G-PCC譯碼器可以用信號發送訊框間預測標誌和訊框間預測模式。可以如下選擇G-PCC譯碼器用於對訊框間預測標誌或訊框間預測模式進行譯碼的上下文:G-PCC譯碼器可以將b1、b2、b3,...bN設置為N個先前解碼點的訊框間預測標誌值(b1是前一節點,b2位於b1的前一個,等等)。G-PCC譯碼器可以選擇上下文索引作為經由使用b1、b2,...bN產生的數值,如下所示:ctxIdx=b1+b2<<1+b3<<2+…bN<<(N-1)。在另一實例中,G-PCC譯碼器可以選擇上下文索引作為b1+b2+...+bN。在一些實例中,b1、b2,...bN的值亦可以用於選擇諸如訊框間預測模式、運動向量等其他語法元素的上下文。在一些實例中,N可以固定為5。
G-PCC譯碼器可以執行改良的半徑殘差譯碼。與每個點相關聯的半徑、方位和鐳射器ID可以用預測幾何譯碼來進行譯碼。每個點的半徑分量的殘差可以用「equal_to_zero」標誌、符號位元、剩餘殘差的位元數量及/或剩餘殘差來進行譯碼。位元數量可以是半徑殘差的相對大小的指示符。當LIDAR擷取的點在點雲端中彼此靠近時(例如,由其中一個鐳射器擷取的物件或建築物的點),半徑在該等點之間可能不會改變太多。由於物件(很可能是固體)是連續的,連續的LIDAR掃瞄點可以返回到感測器,其中連續點之間的方位差接近方位的取樣頻率。物件上(同一鐳射器的)相鄰點的方位差或方位殘差接近於零。
基於當前點的方位殘差來選擇半徑殘差的位元數量的上下文。例如,基於方位殘差的大小,可以如下切換上下文,其中N是固定值(用信號發送的或預定的)。下文的表1提供了半徑殘差N的位元數量中使用的位元數量的上下文索引的一個實例。
表1:半徑殘差的位元數量中使用的位元數量的上下文索引
Abs(azimResi) | N=3 | N=4 |
0 | 1 | 1 |
1 | 1 | 1 |
2 | 2 | 2 |
3 | 3 | 3 |
4 | 0 | 4 |
>=5 | 0 | 0 |
注意,亦可以使用基於半徑殘差來選擇上下文索引的其他程序。
以下具體實例展示本案內容的幾種技術的實現方式。
實例A
對於點雲端訊框中不是全訊框內譯碼的每個點(隨機存取點),可以使用標誌來指定點是否用訊框間預測進行譯碼。當應用訊框間預測時,選擇「零運動向量」候選以根據參考訊框中的具有與當前點相同的鐳射器ID值並且具有與當前點最接近的經量化方位值的點來預測預測點的半徑。下文提供了對語法結構的變化(<ADD>…</ADD>標籤指示添加,而<DELETE>…</DELETE>標籤指示刪除):
<ADD>
ptn_inter_flag[nodeIdx]等於0,指定用訊框內預測對當前節點的半徑殘差進行譯碼。ptn_inter_flag[nodeIdx] 等於1,指定用訊框間預測對當前節點的半徑殘差進行譯碼。當不存在時,ptn_inter_flag[nodeIdx]的值被推斷為等於0。
</ADD>
geometry_predtree_node( nodeIdx ) { | 描述符 |
if( geom_scaling_enabled_flag && !( nodeIdx % PtnQpInterval ) ) { | |
ptn_qp_offset_abs_gt0_flag | ae(v) |
if( ptn_qp_offset_abs_gt0_flag ) { | |
ptn_qp_offset_sign_flag | ae(v) |
ptn_qp_offset_abs_minus1 | ae(v) |
} | |
} | |
if( unique_geometry_points_flag ) { | |
ptn_point_cnt_gt1_flag | ae(v) |
if( ptn_point_cnt_gt1_flag ) | |
ptn_point_cnt_minus2 | ae(v) |
} | |
ptn_child_cnt[ nodeIdx ] | ae(v) |
ptn_pred_mode[ nodeIdx ] | ae(v) |
if( geometry_angular_enabled_flag ) { | |
ptn_phi_mult_abs_gt0_flag | ae(v) |
if( ptn_phi_mult_abs_gt0_flag ) { | |
ptn_phi_mult_sign_flag | ae(v) |
ptn_phi_mult_abs_gt1_flag | ae(v) |
if( ptn_phi_mult_abs_gt1_flag ) | |
ptn_phi_mult_abs_minus2 | ae(v) |
if( ptn_phi_mult_abs_minus2 = = 7 ) | |
ptn_phi_mult_abs_minus9 | ae(v) |
} | |
} | |
<ADD>if( PtnPhiMult[nodeIdx] && InterEnableFlag ) | |
ptn_inter_flag[ nodeIdx ] | u(1) </ADD> |
numComp = geometry_angular_enabled_flag && !number_lasers_minus1 ? 2 : 3 | |
for( k = 0; k < numComp; k++ ) { | |
ptn_residual_abs_gt0_flag[ k ] | ae(v) |
if( ptn_residual_abs_gt0_flag[ k ] ) { | |
if( k || ptn_pred_mode[ nodeIdx ] <ADD> || ptn_inter_flag[ nodeIdx ] </ADD>) | |
ptn_residual_sign_flag[ k ] | ae(v) |
ptn_residual_abs_log2[ k ] | ae(v) |
ptn_residual_abs_remaining[ k ] | ae(v) |
} | |
} | |
if( geometry_angular_enabled_flag ) | |
for( k = 0; k < 3; k++ ) { | |
ptn_sec_residual_abs_gt0_flag[ k ] | ae(v) |
if( ptn_sec_residual_abs_gt0_flag[ k ] ) { | |
ptn_sec_residual_sign_flag[ k ] | ae(v) |
ptn_sec_residual_abs_gt1_flag[ k ] | ae(v) |
if( ptn_sec_residual_abs_gt1_flag[ k ] ) | |
ptn_sec_residual_abs_minus2[ k ] | ae(v) |
} | |
} | |
for( i = 0; i < ptn_child_cnt[ nodeIdx ]; i++) | |
geometry_predtree_node( ++PtnNodeIdx ) | |
} |
當當前點雲端訊框是隨機存取點或全訊框內預測訊框時,InterEnableFlag的值設置為0,否則設置為1。
在一些實例中,當ptn_inter_flag等於1時,語法元素ptn_pred_mode[]不用信號發送,並且被推斷為預設值(例如,等於0對應於預測幾何模式0)。
位置預測程序的變化如下:
位置預測程序
對該程序的輸入是:
-變數predMode,指示當前節點的預測模式,
-陣列aPos0、aPos1和aPos2具有值aPosX[k],k=0..2且X=0..2。每個陣列包含與深度優先樹遍歷順序中的第X代祖先節點相關聯的位置,
-變數curDepth,指示當前預測樹的當前節點與根節點之間的節點距離,
<ADD>
-變數interFlag,指示當前節點的半徑是否用訊框間預測進行譯碼。
</ADD>
從該程序的輸出是陣列predPos,值為predPos[k],k=0..2,指示與第nodeIdx個樹節點相關聯的預測點位置。
當predMode等於0時,如下計算預測點位置,
for (k = 0; k < 3; k++)
predPos[k] = 0
if (geometry_angular_enabled_flag) {
predPos[0] = ptn_radius_min_value
if (curDepth > 0) {
predPos[1] = aPos0[1]
predPos[2] = aPos0[2]
}
}
當predMode等於1時,預測點位置是與第一祖先相關聯的位置。
for (k = 0; k < 3; k++)
predPos[k] = aPos0[k]
當predMode等於2時,預測點位置是與前兩個祖先相關聯的位置的線性組合
for (k = 0; k < 3; k++)
predPos[k] = aPos0[k] + aPos0[k] - aPos1[k]
否則,當predMode等於3時,預測點位置是與全部三個祖先相關聯的位置的線性組合
for (k = 0; k < 3; k++)
predPos[k] = aPos0[k] + aPos1[k] - aPos2[k]
<ADD>
當interFlag等於1時,如下推導predPos[0]。令針對k=0..2的refFramePos[k]是該點在參考訊框中的位置,使得refFramePos[2]=predPos[2],並且refFramePos[1]和predPos[1]的值之間的絕對差是參考訊框中的各點中的最低值。predPos[0]被設置為等於refFramePos[0]。
</ADD>
在一個實例中,refFramePos[1]和predPos[1]的經量化值用於量測值的絕對差,其中量化標度可以是固定數量(例如,geom_angular_azimuth_step_minus1+1)
實例B
在實例B中,當使用訊框間預測時,預測模式可以不被用信號發送。例如,當使用訊框間預測時,預測模式被推斷為等於0。下文提供了對語法結構的改變(<ADD>…</ADD>標籤指示添加,<DELETE>…</DELETE>標籤指示刪除):
} | |
ptn_child_cnt[ nodeIdx ] | ae(v) |
<DELETE> ptn_pred_mode[ nodeIdx ] | ae(v) </DELETE> |
if( geometry_angular_enabled_flag ) { | |
ptn_phi_mult_abs_gt0_flag | ae(v) |
if( ptn_phi_mult_abs_gt0_flag ) { | |
ptn_phi_mult_sign_flag | ae(v) |
ptn_phi_mult_abs_gt1_flag | ae(v) |
if( ptn_phi_mult_abs_gt1_flag ) | |
ptn_phi_mult_abs_minus2 | ae(v) |
if( ptn_phi_mult_abs_minus2 = = 7 ) | |
ptn_phi_mult_abs_minus9 | ae(v) |
} | |
} | |
<ADD>if( PtnPhiMult[nodeIdx] && InterEnableFlag ) | |
ptn_inter_flag[ nodeIdx ] | u(1) |
if( !ptn_inter_flag[ nodeIdx ] ) | |
ptn_pred_mode[ nodeIdx ] | ae(v) </ADD> |
numComp = geometry_angular_enabled_flag && !number_lasers_minus1 ? 2 : 3 | |
for( k = 0; k < numComp; k++ ) { |
當未用信號發送ptn_pred_mode[nodeIdx]時,ptn_pred_mode[nodeIdx]可以被推斷為等於0。在一些實例中,可以添加以下推論:當ptn_inter_flag[nodeIdx]等於1時,ptn_pred_mode[nodeIdx]被推斷為等於0。
實例C
在實例C中,可以不修改phi和預測模式的信號傳遞順序。預測模式的信號傳遞通知可以以訊框間標誌的信號傳遞為條件。ptn_phi_mult_abs_gt0_flag的信號傳遞亦可以以訊框間標誌為條件。下文提供了對語法結構的改變(<ADD>…</ADD>標籤指示添加,<DELETE>…</DELETE>標籤指示刪除):
} | |
ptn_child_cnt[ nodeIdx ] | ae(v) |
<ADD>if( InterEnableFlag ) | |
ptn_inter_flag[ nodeIdx ] | u(1) |
if( !ptn_inter_flag[ nodeIdx ] ) | |
ptn_pred_mode[ nodeIdx ] | ae(v) </ADD> |
if( geometry_angular_enabled_flag ) { | |
<ADD>if( !ptn_inter_flag[ nodeIdx ] ) </ADD> | |
ptn_phi_mult_abs_gt0_flag | ae(v) |
if( ptn_phi_mult_abs_gt0_flag ) { | |
ptn_phi_mult_sign_flag | ae(v) |
ptn_phi_mult_abs_gt1_flag | ae(v) |
if( ptn_phi_mult_abs_gt1_flag ) | |
ptn_phi_mult_abs_minus2 | ae(v) |
if( ptn_phi_mult_abs_minus2 = = 7 ) | |
ptn_phi_mult_abs_minus9 | ae(v) |
} | |
} | |
numComp = geometry_angular_enabled_flag && !number_lasers_minus1 ? 2 : 3 | |
for( k = 0; k < numComp; k++ ) { |
當未用信號發送ptn_inter_flag[nodeIdx]時,ptn_inter_flag[nodeIdx]被推斷為等於0。
當未用信號發送ptn_phi_mult_abs_gt0_flag[nodeIdx]時,ptn_phi_mult_abs_gt0_flag[nodeIdx]被推斷為等於0。在另一實例中,添加了以下推論:當ptn_inter_flag[nodeIdx]等於1時,ptn_phi_mult_abs_gt0_flag[nodeIdx]被推斷為等於1。
實例D
在實例D中,預測模式和phi語法元素的順序可以不變。例如,可以在預測模式之後但在phi語法元素之前用信號發送訊框間標誌。
} | |
ptn_child_cnt[ nodeIdx ] | ae(v) |
ptn_pred_mode[ nodeIdx ] | ae(v) |
<ADD>if( InterEnableFlag && !ptn_pred_mode[ nodeIdx ] ) | |
ptn_inter_flag[ nodeIdx ] | u(1) </ADD> |
if( geometry_angular_enabled_flag ) { | |
<ADD> if( !ptn_inter_flag[ nodeIdx ] ) </ADD> | |
ptn_phi_mult_abs_gt0_flag | ae(v) |
if( ptn_phi_mult_abs_gt0_flag ) { | |
ptn_phi_mult_sign_flag | ae(v) |
ptn_phi_mult_abs_gt1_flag | ae(v) |
if( ptn_phi_mult_abs_gt1_flag ) | |
ptn_phi_mult_abs_minus2 | ae(v) |
if( ptn_phi_mult_abs_minus2 = = 7 ) | |
ptn_phi_mult_abs_minus9 | ae(v) |
} | |
} | |
numComp = geometry_angular_enabled_flag && !number_lasers_minus1 ? 2 : 3 | |
for( k = 0; k < numComp; k++ ) { |
當ptn_pred_mode[nodeIdx]大於0且InterEnableFlag等於1(未用信號發送ptn_inter_flag[])時,ptn_inter_flag[nodeIdx]被推斷為0。
實例E
實例E類似於實例A,其中修改之處在於訊框間標誌的信號傳遞亦依賴於pred_mode的值。添加了以下全部語法。
if( ( PtnPhiMult[nodeIdx] || !ptn_pred_mode[ nodeIdx ] ) && InterEnableFlag ) | |
ptn_inter_flag[ nodeIdx ] | u(1) |
當InterEnableFlag等於1且PtnPhiMult[nodeIdx]等於0或ptn_pred_mode[nodeIdx]不等於0時,ptn_inter_flag[nodeIdx]被推斷為等於0。
實例F
在該實例中,不僅經由比較與當前點具有相同鐳射器ID的點的方位,而且經由比較相鄰鐳射器ID的點的方位,來獲得半徑的預測predPos[0]。
當interFlag等於1時,G-PCC譯碼器可以如下推導predPos[0]。G-PCC譯碼器可以將針對k=0..2的refFramePos[k]設置為參考訊框中的點的位置,使得refFramePos[2]取{predPos[2]-1、predPos[2]、predPos[2]+1}中的值之一,並且refFramePos[1]和predPos[1]的值之間的絕對差是參考訊框中的點中的最低值。G-PCC譯碼器可以將predPos[0]設置為等於refFramePos[0]。
在一種情況下,可以考慮來自參考訊框中的更多鐳射器ID的點來獲得參考點。
在另一種情況下,取代比較方位(亦即,refFramePos[1]和predPos[1]),可以如下規定加權成本函數:
J (refPos) = w1 * f1(refPos[1], predPos[1]) + w2 * f2 (refPos[2], predPos[2])
被選擇用於預測半徑的參考訊框中的具有位置refPos[k],k=0..2的點是具有J(refPos)的最小值的點。
在一種情況下,f1(x,y)的值可以是x和y之間的差的平方,或者更一般地,指示方位(或第二)維度中的當前點與參考點之間的距離的任何函數。
在一種情況下,f2(x,y)的值可以是x和y之間的差的平方/絕對差,或者更一般地,指示鐳射器ID(或第三)維度中的當前點與參考點之間的距離的任何函數。
在另一種情況下,可以為點選擇多於一個的參考候選,並且可以用信號發送訊框間預測候選索引以指定為該點選擇何者參考候選。
例如,對於當前點,可以如下選擇參考訊框中的三個點:
-鐳射器ID等於predPos[2]-1的點,其具有最接近predPos[1]的方位值
-鐳射器ID等於predPos[2]的點,其具有最接近predPos[1]的方位值
-鐳射器ID等於predPos[2]+1的點,其具有最接近predPos[1]的方位值
可以用信號發送該集合/列表的索引,以指定選擇用於預測的點。
更一般地,對於用針對半徑的訊框間預測進行譯碼的每個當前點:
-基於預先決定的決策(例如,先前解碼的訊框)或基於一或多個用信號發送的指示(例如,訊框索引/計數器值),來選擇參考訊框。
-基於第一組條件(例如,本文揭示的基於鐳射器ID範圍及/或方位範圍的一或多個程序),在參考訊框中的點之間選擇集合RefCandSuperSet
-基於第二組條件(例如,與針對特定鐳射器ID的當前點最近的方位等)從RefCandSuperSet中選擇子集RefCandSubset
-若RefCandSubset具有多於一個的條目,則基於第三組條件在列表RefCandList中排列條目(例如,基於與當前點的增加的鐳射器ID差來排列條目);否則(RefCandSubset中僅有一個候選),則RefCandSubset中的一個候選被用於預測。
-用信號發送RefCandList中用於預測的條目的索引。
-使用預測條目來預測當前點的半徑。
在一些實例中,當參考訊框中的點不存在於RefCandSubset中時,可以禁用訊框間預測,並且在此種情況下可以用信號發送或不用信號發送訊框間標誌。
實例G
根據本案內容的一或多個態樣,G-PCC譯碼器可以在位元串流中用信號發送用於推導出方位量化/標度的參數。在一些實例中,G-PCC譯碼器可以使用當前點雲端訊框中先前解碼的點來訊框間預測所有三個分量。
方位標度值(用於推導出訊框間預測候選)可以在GPS中以如下方式用信號發送:
geometry_parameter_set( ) { | 描述符 |
gps_geom_parameter_set_id | u(4) |
… | |
} | |
gps_extension_flag | u(1) |
if( gps_extension_flag ) { | |
inter_prediction_enabled_flag | u(1) |
if(inter_prediciton_enabled_flag && pred_geom_enabled_flag) | |
inter_azim_scale_log2 | ue(v) |
} | |
byte_alignment( ) | |
} |
在一些實例中,可以與inter_prediction_enabled_flag無關地用信號發送inter_azim_scale_log2。
在另一實例中,角模式亦可用於調節inter_azim_scale_log2的信號傳遞。
if (inter_prediction_enabled_flag && pred_geom_enabled_flag && geom_angular_enabled_flag) | |
inter_azim_scale_log2 | ue(v) |
下文是上述語法元素的示例性語義。
inter_prediction_enabled_flag等於1指定訊框間預測可以用於參考GPS的點雲端訊框。inter_prediction_enabled_flag等於0指定訊框間預測不用於參考GPS的點雲端訊框。
inter_azim_scale_log2用於對可以用於推導出訊框間預測參考的方位點進行縮放。inter_azim_scale_log2的值應當位於0到numAzimBits的閉區間內。
(變數numAzimBits可以指定用於表示方位的最大位元數量。)
在一些實例中,inter_azim_scale_log2語法元素可以是指定縮放因數的對數底為2值的語法元素的實例。G-PCC譯碼器可以基於縮放因數來決定經縮放的方位(例如,樞軸點的經縮放方位)。
當訊框被譯碼時,訊框中的一或多個點的重建球面位置可以被儲存在參考訊框中,該參考訊框可以被未來訊框用作訊框間預測參考。重建的球面位置可以如下儲存在雜湊表中:
-G-PCC譯碼器可以獲得重建點的球面座標表示。
-G-PCC譯碼器可以從重建點獲得經推導的方位和鐳射索引,並且使用經推導的方位和鐳射器索引的元組作為雜湊表的索引。
例如,經推導的量化方位,表示為量化(val),可以由G-PCC譯碼器如下推導:
int offset = azimScaleLog2 ? (1 << (azimScaleLog2 - 1)) : 0;
quantized(val) = val >= 0 ? (val + offset) >> azimScaleLog2
: -((-val + offset) >> azimScaleLog2);
注意,在某些情況下,azimScaleLog2可能不會被用信號發送並且被推斷為以下之一:
-值0(亦即,沒有量化)。
-小於或等於位元串流中用信號發送的方位速度的2的最小冪。
-小於或等於位元串流中用信號發送的(方位速度/2)的2的最小冪。
不同的序列可能具有不同的方位標度值。
-雜湊表之每一者條目可以從一或多個重建點推導出。
-在一個實例中,訊框的雜湊表條目可以是重建訊框中的具有經推導的方位和鐳射器索引的特定值的解碼順序中的第一點。
-在一個實例中,訊框的雜湊表條目可以是重建訊框中的具有經推導的方位和鐳射器索引的特定值的點中的具有最小半徑的點。
-在另一實例中,訊框的雜湊表條目可以是對應於使用具有經推導的方位和鐳射器索引的特定值的點計算出平均值、中間值、中值、加權平均值、幾何中間值等的點值。
在一些實例中,球面域(r,phi,鐳射器ID)中的重建點位置可以如下被輸入方位表:表格索引=(經量化(Phi),鐳射器ID),表格條目=(r,Phi,鐳射器ID)。
當對當前點(在當前訊框中)進行譯碼時,可以執行以下步驟:
G-PCC譯碼器可以按照解碼順序將prevNode=(r1,phi1,鐳射器ID1)設置為當前訊框中的前一節點。在一些實例中,prevNode可以被選擇作為當前節點的父節點。
在與參考訊框相關聯的表中,G-PCC譯碼器可以檢查是否存在經量化(phi)大於經量化(phi1)的索引(經量化(phi),鐳射器ID1)。若不存在此種索引,則G-PCC譯碼器可以不對當前節點應用訊框間預測。若存在至少一個此種索引,則G-PCC譯碼器可以選擇具有最小經量化(phi)(其大於經量化(phi1))的索引。
G-PCC譯碼器可以使用與上述選擇的索引(r_inter,phi_inter,laserId_inter)相關聯的條目作為當前點的訊框間預測值。
在一些實例中,下文的代碼可以用於用雜湊表格陣列的組合(而不是2D雜湊表格)來實現上述技術,其中computePhiQuantized()對應於前面描述的quantize()函數。在下文的情況下,refPointVals是儲存參考點的雜湊表格的向量,refPointVals[currLaserId]是對應於索引laserID=currLaserId的雜湊表格,並且refPointVals[currLaserId]中的所有條目皆以經量化(phi)的遞增值進行儲存。因為該表格是以遞增的經量化(phi)儲存的,所以上限函數(upper_bound)用於搜尋第一經量化(phi)鐳射器大於經量化的當前方位量化(currAzim)。在下文的實例中,idx等於refPointVals[currLaserId].end(),沒有此種表格索引,因此不使用訊框間預測。當存在時,idx->second指定訊框間預測候選(r_inter,phi_inter,laserID_inter)。
在一些實例中,雜湊表格可以不以經量化(phi)的遞增值來儲存點,而是使用雜湊函數來解析和恢復表格條目。在另一實例中,通用表格/資料結構可以用於儲存來自參考訊框的點。如前述,以下代碼可以用於實現上述技術。
auto quantizedPhi = computePhiQuantized(currAzim);
if (refPointVals[currLaserId].size()) {
auto idx = refPointVals[currLaserId].upper_bound(quantizedPhi);
if (idx == refPointVals[currLaserId].end())
return std::pair<bool, point_t>(false, 0);
else
return std::pair<bool, point_t>(true, idx->second);
}
return std::pair<bool, point_t>(false, 0);
若使用訊框間預測,則G-PCC譯碼器可以用信號發送指示使用訊框間預測的標誌。
使用上文推導出的訊框間預測候選來對殘差進行譯碼(在解碼器處,預測候選被用於添加殘差並推導當前點的重建球座標位置)。
預測幾何譯碼使用預測樹結構來預測點的位置。當啟用角譯碼時,x、y、z座標可以被變換成半徑、方位和鐳射器ID,並且殘差可以在該三個座標中以及在x、y、z維度中用信號發送。用於半徑、方位和鐳射器ID的訊框內預測可以是四種模式中的一種,並且預測值是相對於當前節點在預測樹中被分類為父節點、祖父母節點以及曾祖父母節點的節點。當前在G-PCC Ed.1中設計的預測幾何譯碼是一種訊框內譯碼工具,因為其使用同一訊框中的點進行預測。附加地,使用來自先前解碼訊框的點可以提供更好的預測並且因此提供更好的壓縮效能。
已經提出訊框間預測來根據參考訊框來預測點的半徑。對於預測樹之每一者點,G-PCC譯碼器可以決定該點是訊框間預測還是訊框內預測(例如,由標誌指示)。當訊框內預測時,可以使用預測幾何譯碼的訊框內預測模式。當使用訊框間預測時,方位和鐳射器ID仍然用訊框內預測來預測,而半徑可以根據參考訊框中的具有與當前點相同的鐳射器ID以及最接近當前方位的方位的點進行預測。在一些實例中,G-PCC譯碼器(例如,除了半徑預測以外)亦可以執行方位和鐳射器ID的訊框間預測。當應用訊框間譯碼時,G-PCC譯碼器可以基於靠近參考訊框中的先前解碼點的方位位置的點來預測當前點的半徑、方位和鐳射器ID。另外,單獨的上下文集合可以用於訊框間和訊框內預測。
如上所論述的,圖7圖示根據參考訊框中的點(interPredPt)來對當前點(curPoint)進行訊框間預測的實例。將訊框間預測擴展到方位、半徑和鐳射器ID可以包括以下步驟:
對於給定的點,G-PCC譯碼器可以選擇前一解碼點(prevDecP0)。
G-PCC譯碼器可以選擇參考訊框中的位置(refFrameP0),該位置具有與prevDecP0相同的經縮放的方位和鐳射器ID。
在參考點雲端訊框中,G-PCC譯碼器可以找到方位大於refFrameP0的方位的第一點(interPredPt)。interPredPt亦可以被稱為「下一」訊框間預測值。
圖8是圖示與針對每個點用信號發送的「訊框間標誌」相關聯的示例性解碼流程的流程圖。針對點用信號發送的訊框間標誌指示是否對該點應用訊框間預測。本案內容的流程圖作為實例提供。其他實例可以包括更多、更少或不同的步驟,或者可以以不同的順序執行步驟。
在圖8的實例中,G-PCC解碼器300可以決定要解碼的下一個點(亦即,點雲端資料的當前訊框的當前點)的訊框間標誌是否指示當前點是訊框間預測的(800)。若當前點的訊框間標誌不指示當前點是訊框間預測的(800的「否」分支),則G-PCC解碼器300可以辨識訊框內預測候選(812)。例如,G-PCC解碼器300可以決定訊框內預測策略(例如,無預測、增量預測、線性預測、平行四邊形預測等)以決定用於當前點的預測值。在幾何位元串流203中用信號發送的語法元素(pred_mode)可以指示用於決定當前點的預測值的訊框內預測策略。
另一態樣,若當前點的訊框間標誌指示當前點是訊框間預測的(800的「是」分支),則G-PCC解碼器300可以按照解碼順序辨識前一點(例如,前一點708)(802)。前一點可能有座標(r、phi和鐳射器ID)。G-PCC解碼器300隨後可以推導出前一點的經量化phi座標(亦即,方位座標)(804)。經量化phi座標可以表示為Q(phi)。隨後,G-PCC解碼器300可以檢查參考訊框(例如,參考訊框706)以找到具有大於前一點的經量化phi座標的經量化phi座標的點(亦即,訊框間預測點(例如,interPredPt 704))(806)。G-PCC解碼器300可以使用訊框間預測點作為當前點的預測值(808)。
不管G-PCC解碼器300是使用訊框內預測(例如,如關於步驟812所描述的)還是使用訊框間預測(例如,如關於步驟802-步驟808所描述的)來決定用於當前點的預測值,G-PCC解碼器300皆可以添加增量phi乘數(810)。
LIDAR系統可以以特定的方位頻率對內容進行掃瞄和取樣。G-PCC編碼器200可以使用方位殘差值(resAz2)來用信號發送點的方位。方位殘差不是當前點的方位與用於當前點的預測值的方位(該等方位可以使用訊框間或訊框內預測來決定)的直接差。相反,G-PCC編碼器200將方位殘差編碼為增量phi乘數和殘差的組合。例如,azimSpeed可以表示一個旋轉LIDAR感測器的連續擷取之間的方位差(注意,在每個旋轉LIDAR系統中有多個感測器)。因此,若旋轉LIDAR系統之每一者LIDAR感測器每次旋轉擷取1000個點,則azimSpeed將是(1<<azimBitDepth)/1000,有效地是相鄰點擷取之間的方位差。此處,azimBitDepth是用於表示G-PCC編碼器200處的方位值的位元深度。(1<<azimBitDepth)表示一個完整的旋轉(360度)。因此,(1<<azimBitDepth)/1000表示兩次擷取的方位之差。儘管LIDAR感測器可以被設計成在旋轉中以恆定的間隔進行取樣,但是由於雜訊和其他不準確性,相鄰擷取的方位值之差可能不是azimSpeed,或者不是azimSpeed的倍數。作為當前點和預測值的方位的差的第一方位殘差resAz1被作為增量phi乘數(qphi)和第二方位殘差(resAz2)的組合來進行譯碼。qphi可以如下推導出:
qphi = deltaPhi >= 0 ? (deltaPhi + (_geomAngularAzimuthSpeed >> 1)) / _geomAngularAzimuthSpeed
: -(-deltaPhi + (_geomAngularAzimuthSpeed >> 1)) / _geomAngularAzimuthSpeed;
譯碼方位殘差的值resAz2被獲得為resAz1–deltaPhi*azimSpeed。qphi和resAz2兩者是在位元串流中用信號發送的。G-PCC解碼器300可以對resAz2和qphi進行解碼。G-PCC解碼器300可以獲得重建的方位殘差(resAz1)為resAz2+qphi*azimSpeed。
圖9是圖示從方位大於訊框間預測值點914的第一點獲得的示例性附加訊框間預測值點900的概念圖。在上文關於圖7描述的用於預測幾何的訊框間預測方法中,當應用訊框間譯碼時,基於在參考訊框(參考訊框706)中的共置方位位置(參考位置710)附近的點(訊框間預測點704)來預測當前點(當前點700)的半徑、方位和鐳射器ID。在圖9的實例中,G-PCC編碼器200和G-PCC解碼器300可以使用以下步驟來決定附加的訊框間預測值點900:
a)對於給定點(當前訊框904的當前點900),決定當前訊框904中的前一點902(圖9中的「前一解碼點」);
b)決定參考訊框908中的參考位置906,其具有與在步驟a)中決定的先前點902(圖9中的「具有相同經縮放方位和鐳射器ID的參考點」)相同的經縮放方位和鐳射器ID,
c)將參考訊框908中的位置決定為具有大於在步驟b)中決定的參考位置906的方位(例如,經縮放方位)的第一點,以用作訊框間預測值點(圖9中的訊框間預測點910)。
可以經由找到具有大於如圖9中所示在步驟c)中決定的訊框間預測點910的方位(例如,經縮放方位)的第一點(圖9中的「附加訊框間預測點912」)來獲得附加訊框間預測值點。若已經應用了訊框間譯碼,則可以使用附加信號傳遞來指示選擇何者預測值。附加的訊框間預測值點亦可以稱為「下下個」訊框間預測值。
在一些實例中,G-PCC編碼器200(例如,G-PCC編碼器200的算術編碼單元214)和G-PCC解碼器300(例如,G-PCC解碼器300的幾何算術解碼單元302)可以應用改良的上下文選擇演算法來對訊框間預測標誌進行譯碼。五個先前譯碼的點的訊框間預測標誌值可以用於在預測幾何譯碼中選擇訊框間預測標誌的上下文。
前述技術可能存在一或多個缺點。訊框間預測使用參考訊框中的點來預測給定訊框中的點。在一些實例中,可以使用零補償參考訊框;並且在一些情況下,全域運動補償參考訊框可以用於預測。在零運動補償訊框中,使用參考訊框中的點而不應用運動補償;經由基於一組運動參數的運動補償,從(零補償的)參考訊框獲得全域運動補償參考訊框;該等參數可以例如使用運動估計技術推導出或從外部構件獲得(例如,使用GPS參數或從擷取點雲端的汽車的運動獲得)。當對參考訊框中的點應用運動補償時,點的位置被修改,並且此舉導致譯碼效率的降低。
根據本案內容的一或多個技術,G-PCC譯碼器可以對參考訊框(例如,零補償參考訊框、未補償參考訊框等)執行重新取樣。零補償參考通常是指零運動和零旋轉的補償。在很多情況下,零補償參考和無補償參考是等效的。
G-PCC譯碼器可以選擇性地對參考訊框的點執行如下重新取樣操作:
-對於參考訊框之每一者點
pt(零補償的),G-PCC譯碼器可以決定是否對該點應用重新取樣。
-若不應用重新取樣,G-PCC譯碼器可以按原樣保留該點。
-否則(應用重新取樣),G-PCC譯碼器可以選擇(例如,選定)全域補償參考訊框(GlobRef)中與
pt相關聯的第一組點。
-對於
pt的一或多個分量,G-PCC譯碼器可以從第一組點推導值;並且將
pt的經推導值用於對應的分量。
例如,若點
pt用(r,phi,鐳射器ID)表示作為分量,並且r_d是從第一組點推導出的半徑,則點
pt被更新為(r_d,phi,鐳射器ID)並且被保留。
下文描述與點pt相關聯的示例性重新取樣操作的各個步驟:
G-PCC譯碼器決定是否將重新取樣應用於一個點:
-G-PCC譯碼器可以使用以下條件決定是否將重新取樣應用於一個點:
點是否屬於道路或該點是否屬於場景中的建築物/其他物件。「道路」點可由位元串流中用信號發送的一或多個閾值來決定;例如,若兩個閾值a1和a2是用信號發送的指示道路點的兩個z閾值,則對於具有[a1,a2)範圍內的z值的點,不應用重新取樣;對於其他點,應用重新取樣。
-在一些實例中,所有點皆可以被重新取樣。
G-PCC譯碼器選擇與零補償訊框中的當前點
pt相關聯的第一組點,如下所示:
-對於具有分量(r,phi,lId)的給定點
pt,GlobRef中的第一組點可以被選擇為靠近GlobRef中的共置點的點。
例如,GlobRef中的鐳射器ID值等於lId並且方位在[phi-增量,phi+增量]的範圍內的點,其中增量是基於鐳射器ID的固定值。
在另一實例中,方位標度值可以用於決定所有點的經量化方位值(例如,phi可以被量化為phiQ)。與經量化方位值phiQ相關聯的參考訊框中的點可以被認為是與phiQ相關聯的位元的一部分。第一組點可以被決定為GlobRef中的具有等於lId的鐳射器ID的點,並且屬於:
與phiQ相關聯的位元,
與大於phiQ的經量化方位值相關聯的第一非空位元,以及
與小於phiQ的經量化方位值相關聯的第一非空位元。
-G-PCC譯碼器將第一組點修剪為具有最接近phi的方位值的一個或兩個點。
在一個實例中,若存在屬於GlobRef並且與位元phiQ相關聯的點P1(r_a,phi_a,lId):
若phi_a=phi,則第一組中僅保留P1。
若phi_a>phi,則P1被保留並且選擇另一點P2(r_b,phi_b,lId)使得phi_b<phi。
若phi_a<phi,則P1被保留並且選擇另一點P3(r_c,phi_c,lId)使得phi_c>phi。
若不存在此種點P1,則從第一組中選擇兩個點P2(r_b,phi_b,lId)和點P3(r_c,phi_c,lId),使得phi_b<phi且phi_c>phi。
若點P2或點P3中的一或多個點在GlobRef中不可用,則第一組點中可能不包括該不可用點。
G-PCC譯碼器可以如下從第一組中的點推導出半徑值(此舉亦可以應用於其他分量):
-若在第一組中僅存在一個點(r_x,phi_x,lId),則點
pt的半徑被更新為r_x。換言之,點pt從(r,phi,lId)更新為(r_x,phi,lId)。
-若第一組中存在兩個或更多個點,則點pt的半徑作為從第一組中的點的半徑值進行內插的值而獲得。
提供本案內容的技術的以下實例以供參考。在一個實例中,G-PCC譯碼器可以推導出全域補償參考訊框GlobRef並且使用基於GlobRef中的點進行重新取樣來更新零補償參考訊框ZeroRef中的點。G-PCC譯碼器可以使用更新的(重新取樣的)零補償參考訊框進行訊框間預測。
圖10是圖示根據本案內容的一或多個技術的重新取樣點如何可以用於訊框間預測的示例性技術的流程圖。在圖10的實例中,G-PCC譯碼器(例如,G-PCC編碼器200或G-PCC解碼器300)決定將使用訊框間預測模式來預測當前訊框中的當前點。回應於決定使用訊框間預測模式預測當前訊框中的當前點,G-PCC譯碼器辨識與當前訊框相關聯的零補償參考訊框,例如ZeroRef(1002)。G-PCC譯碼器推導出與當前訊框相關聯的運動補償參考訊框,例如GlobRef(1004),並且基於運動補償參考訊框中的一或多個點選擇性地對零補償參考訊框中的點進行重新取樣,以產生重新取樣零補償參考訊框(1006)。G-PCC譯碼器基於重新取樣的零補償參考訊框來訊框間預測當前訊框中的當前點(1008)。
上述操作(重新取樣)亦可以實現為使用來自ZeroRef的方位值來對GlobRef中的點進行重新取樣。對於ZeroRef之每一者點PT,G-PCC譯碼器可以決定是否將重新取樣應用於該點。若是,則G-PCC譯碼器可以從GlobRef中選擇第一組點;從第一組點獲得內插半徑值r_int,並且用內插半徑值r_int更新PT的半徑值。
圖11是圖示根據本案內容的一或多個技術的如何使用來自ZeroRef的點來對GlobRef中的點進行重新取樣的示例性技術的流程圖。為了選擇性地對零補償參考訊框中的點進行重新取樣,G-PCC譯碼器選擇零補償參考訊框中的特定點(1102),並且決定是否對該特定點進行重新取樣(1104)。回應於決定對特定點進行重新取樣,G-PCC譯碼器決定在運動補償參考訊框中的與該特定點相關聯的第一組點(1106),並基於第一組點來推導出經推導的半徑值(1108)。G-PCC譯碼器基於經推導的半徑值來更新特定點的半徑值(1110)。
圖12A-圖12D是圖示根據本案內容的一或多個態樣如何為ZeroRef中的點1208選擇GlobRef中的第一組點1202、1204和1206的概念圖。圖12A-圖12D中所示的所有點可以具有相同的鐳射器ID。實線1210、1212、1214和1216可以指示方位位元的邊界(位元內的所有方位值被量化為相同的值)。虛線1218指示等於點1208的方位的方位值。基於與點1208相同的方位位元中的GlobRef中的點的可用性,以及點1202、1204和1206(若可用的話)和點1208的方位值之間的差值,G-PCC譯碼器可以從點1202、1204和1206中選擇第一組點。
在圖12A的實例中,點1204存在於與點1208相同的方位位元中,並且點1204的方位等於點1208的方位。基於此,G-PCC譯碼器可以選擇第一組點作為點1204(例如,在第一組點中包括點1204)。
在圖12B的實例中,點1204存在於與PT相同的方位位元中,並且點1204的方位大於點1208的方位。基於此,G-PCC譯碼器可以選擇第一組點作為點1202和點1204(例如,在第一組點中包括點1202和點1204)。
在圖12C的實例中,點1204存在於與點1208相同的方位位元中,並且點1204的方位小於點1208的方位。基於此,G-PCC譯碼器可以選擇第一組點作為點1204和點1206(例如,在第一組點中包括點1204和點1206)。
在圖12D的實例中,點1204不存在於與點1208相同的方位位元中。基於此,G-PCC譯碼器可以選擇第一組點作為點1202和點1206(例如,在第一組點中包括點1202和點1206)。
當第一組點僅包含一個點(r_x,phi_x,lId)時,則點PT的半徑可以被設置為等於r_x。當第一組點包含兩個點(r_x,phi_x,lId)和(r_y,phi_y,lId)時,點PT的半徑可以被設置為等於r_xy,其可以如下推導出:
delAzim = phi_x – phi_y
delRad = r_x – r_y
if (delRad = = 0 || delAzim = = 0)
r_xy = r_x
else
r_xy = r_x + (phi_PT – phi_x) * delRad / delAzim
上文的實例展示半徑點的線性內插(例如,第一組點的點的內插),但是亦可以使用更高階的內插器(例如,三次內插等)並且第一組中的點的數量亦可以大於兩個。
在一些實例中,諸如當delRad大於特定閾值(例如,1024或2048)時,G-PCC譯碼器可以不執行內插。
在一些實例中,諸如當delAzim大於特定閾值時,或者當delAzim的量化值大於特定閾值時(用方位標度值量化的delAzim大於N,其中N是固定數,例如4),G-PCC譯碼器可以不執行內插。
在一些實例中,諸如當不執行內插時(例如,因為閾值),G-PCC譯碼器可以不更新ZeroRef中的點。在一些實例中,諸如當不執行內插時(例如,因為閾值),G-PCC譯碼器可以將點設置為具有更接近於phi_PT的方位的點的半徑(例如,若abs(phi_PT-phi_x)小於abs(phi_PT-phi_y),則r_xy可以被設置為等於r_x,否則r_xy被設置為等於r_y)。
圖14是圖示根據本案內容的一或多個技術的用於執行訊框間預測的示例性技術的流程圖。在圖10的實例中,G-PCC譯碼器(例如,G-PCC編碼器200或G-PCC解碼器300)辨識參考訊框(1302)並且根據參考訊框(1304)推導出一或多個運動補償參考點。
G-PCC譯碼器基於一或多個運動補償參考點選擇性地對參考訊框中的點進行重新取樣,以產生重新取樣參考訊框(1306)。為了選擇性地對參考訊框中的點進行重新取樣,G-PCC譯碼器可以被配置為:選擇參考訊框中的特定點;決定是否對該特定點進行重新取樣;及,回應於決定對特定點進行重新取樣:決定參考訊框中的與該特定點相關聯的第一組點,其中第一組點包括一或多個運動補償參考點中的至少一個;基於第一組點來推導出經推導的半徑值;及根據經推導的半徑值來更新特定點的半徑值。為了基於第一組點來推導出經推導的半徑值,G-PCC譯碼器可以被配置為:選擇性地對複數個點的半徑值進行內插,以決定經推導的半徑值,其中第一組點包括複數個點。為了選擇性地對複數個點的半徑值進行內插,G-PCC譯碼器可以被配置為:回應於該複數個點中的第一點和第二點的半徑值之差大於第一閾值,或者該第一點和該第二點的方位值之差大於第二閾值中的一者或兩者,決定不對該第一點和該第二點的該等半徑值進行內插。
G-PCC譯碼器可以被配置為:回應於決定不對複數個點的半徑值進行內插,避免基於經推導的半徑值來更新特定點的半徑值。G-PCC譯碼器可以被配置為:回應於決定不對複數個點的半徑值進行內插,將特定點的半徑值設置為第一組點中的單個點的半徑值。例如,第一組點中的單個點可以是具有最接近特定點的方位值的方位值的點。
G-PCC譯碼器基於重新取樣參考訊框來訊框間預測當前訊框中的當前點(1308)。G-PCC譯碼器可以重建包括當前點的點雲端。
圖14是圖示可以與本案內容的一或多個技術一起使用的示例性測距系統1400的概念圖。在圖14的實例中,測距系統1400包括照明器1402和感測器1404。照明器1402可以發出光1406。在一些實例中,照明器1402可以發出作為一或多個鐳射光束的光1406。光1406可以是一或多個波長,諸如,紅外波長或可見光波長。在其他實例中,光1406不是相干的鐳射。當光1406遇到諸如物件1408之類的物件時,光1406產生返回光1410。返回光1410可以包括後向散射及/或反射光。返回光1410可以通過透鏡1411,透鏡1411導引返回光1410以在感測器1404上建立物件1408的圖像1412。感測器1404基於圖像1412來產生信號1414。圖像1412可以包括點集(例如,如由圖14的圖像1412中的點所表示的)。
在一些實例中,照明器1402和感測器1404可以安裝在旋轉結構上,使得照明器1402和感測器1404擷取環境的360度視圖。在其他實例中,測距系統1400可以包括一或多個光學元件(例如,反射鏡、準直器、衍射光柵等),其使照明器1402和感測器1404能夠偵測特定範圍內(例如,高達360度)的物件範圍。儘管圖14的實例僅圖示單個照明器1402和感測器1404,但是測距系統1400可以包括多組照明器和感測器。
在一些實例中,照明器1402產生結構光圖案。在該等實例中,測距系統1400可以包括多個感測器1404,在該等感測器上形成結構光圖案的相應圖像。測距系統1400可以使用結構光圖案的圖像之間的差異來決定到物件1408的距離,結構光圖案是從該物件1408反向散射的。當物件1408相對靠近感測器1404(例如,0.2米至2米)時,基於結構光的測距系統可以具有高水平的精度(例如,在亞毫米範圍內的精度)。此種高精度水平可以用於臉孔辨識應用,諸如,解鎖行動設備(例如,行動電話、平板電腦等)以及用於安全性應用。
在一些實例中,測距系統1400是基於飛行時間(ToF)的系統。在測距系統1400是基於TOF的系統的一些實例中,照明器1402產生光脈衝。換言之,照明器1402可以調制發射光1406的振幅。在該等實例中,感測器1404從由照明器1402產生的光脈衝1406中偵測返回光1410。隨後,測距系統1400可以基於當光1406被發射和偵測到之間的延遲以及已知的光在空氣中的速度來決定到光1406從其反向散射的物件1408的距離。在一些實例中,照明器1402可以調制發射光1406的相位,而取代(或者補充)調制發射光1406的振幅。在該等實例中,感測器1404可以偵測來自物件1408的返回光1410的相位,並且使用光速並基於當照明器1402在特定相位處產生光1406時與當感測器1404在特定相位處偵測到返回光1410時之間的時間差,來決定到物件1408上的點的距離。
在其他實例中,可以在不使用照明器1402的情況下產生點雲端。例如,在一些實例中,測距系統1400的感測器1404可以包括兩個或更多個光學相機。在此種實例中,測距系統1400可以使用光學相機來擷取環境的立體圖像(包括物件1408)。測距系統1400可以包括點雲端產生器1416,其可以計算立體圖像中的位置之間的差異。隨後,測距系統1400可以使用該等差異來決定到立體圖像中所示位置的距離。根據該等距離,點雲端產生器1416可以產生點雲端。
感測器1404亦可以偵測物件1408的其他屬性,諸如,色彩和反射率資訊。在圖14的實例中,點雲端產生器1416可以基於由感測器1404產生的信號1414,來產生點雲端。測距系統1400及/或點雲端產生器1416可以形成資料來源104(圖1)的一部分。因此,根據本案內容的任何技術,可以對由測距系統1400產生的點雲端進行編碼及/或解碼。
圖15是圖示其中可以使用本案內容的一或多個技術的示例性基於車輛的場景的概念圖。在圖15的實例中,車輛1500包括測距系統1502。可以以關於圖15論述的方式來實現測距系統1502。儘管未在圖15的實例中圖示,但車輛1500亦可以包括資料來源(諸如,資料來源104(圖1))和G-PCC編碼器(諸如,G-PCC編碼器200(圖1))。在圖15的實例中,測距系統1502發出鐳射光束1504,鐳射光束1504從行人1506A或道路中的其他物件反射。車輛1500的資料來源可以基於由測距系統1502產生的信號來產生點雲端。車輛1500的G-PCC編碼器可以對點雲端進行編碼以產生位元串流1508,諸如,幾何位元串流(圖2)和屬性位元串流(圖2)。位元串流1508可以包括比G-PCC編碼器獲得的未編碼點雲端少得多的位元。在一些實例中,車輛1500的G-PCC編碼器可以使用如前述的半徑內插來對位元串流1508進行編碼。在一些實例中,車輛1510的G-PCC解碼器可以使用如前述的半徑內插來對位元串流1508進行解碼。
車輛1500的輸出介面(例如,輸出介面108(圖1))可以將位元串流1508傳輸到一或多個其他設備。位元串流1508可以包括比G-PCC編碼器獲得的未編碼點雲端少得多的位元。因此,車輛1500亦許能夠比未編碼點雲端資料更快地將位元串流1508傳輸給其他設備。附加地,位元串流1508可能需要較少的資料儲存容量。
在圖15的實例中,車輛1500可以向另一車輛1510傳輸位元串流1508。車輛1510可以包括G-PCC解碼器(諸如,G-PCC解碼器300(圖1))。車輛1510的G-PCC解碼器可以對位元串流1508進行解碼以重建點雲端。車輛1510可以將重建的點雲端用於各種目的。例如,車輛1510可以基於重建的點雲端來決定行人1506位於車輛1500前面的道路中,並且因此例如甚至在車輛1510的駕駛員意識到行人1206位於道路中之前就開始減速。因此,在一些實例中,車輛1510可以基於重建的點雲端來執行自主導航操作。
附加地或替代地,車輛1500可以向伺服器系統1512傳輸位元串流1508。伺服器系統1512可以將位元串流1508用於各種目的。例如,伺服器系統1512可以儲存位元串流1508,用於點雲端的後續重建。在該實例中,伺服器系統1512可以使用點雲端以及其他資料(例如,由車輛1500產生的車輛遙測資料)來訓練自主駕駛系統。在其他實例中,伺服器系統1512可以儲存位元串流1508,用於後續重建以進行取證事故調查。
圖16是圖示其中可以使用本案內容的一或多個技術的示例性擴展現實系統的概念圖。擴展現實(XR)是用於涵蓋一系列技術的術語,該一系列技術包括增強現實(AR)、混合現實(MR)和虛擬實境(VR)。在圖16的實例中,使用者1600位於第一位置1602。使用者1600佩戴XR頭盔1604。作為XR頭盔1604的替代方案,使用者1600可以使用行動設備(例如,行動電話、平板電腦等)。XR頭盔1604包括深度偵測感測器(諸如測距系統),其偵測在位置1602處的物件1606上的點的位置。XR頭盔1604的資料來源可以使用由深度偵測感測器產生的信號來產生位置1602處的物件1606的點雲端表示。XR頭盔1604可以包括G-PCC編碼器(例如,圖1的G-PCC編碼器200),其被配置為對點雲端進行編碼以產生位元串流1608。在一些實例中,如前述,XR頭盔1604的G-PCC編碼器可以在對點雲端進行編碼時使用半徑內插。
XR頭盔1604可以向使用者1612在第二位置1614處佩戴的XR頭盔1610傳輸位元串流1608(例如,經由諸如網際網路之類的網路)。XR頭盔1610可以對位元串流1608進行解碼以重建點雲端。在一些實例中,如前述,XR頭盔1610的G-PCC解碼器可以在對點雲端進行解碼時使用半徑內插。
XR頭盔1610可以使用點雲端來產生表示位置1602處的物件1606的XR視覺化(例如,AR、MR、VR視覺化)。因此,在一些實例中,例如當XR頭盔1610產生VR視覺化時,使用者1612可以具有位置1602的3D沉浸式體驗。在一些實例中,XR頭盔1610可以基於重建的點雲端來決定虛擬物件的位置。例如,XR頭盔1610可以基於重建的點雲端來決定環境(例如,位置1602)包括平坦表面,隨後決定虛擬物件(例如,卡通人物)將被定位在該平坦表面上。XR頭盔1610可以產生XR視覺化,其中虛擬物件位於所決定的位置。例如,XR頭盔1610可以圖示坐在平坦表面上的卡通人物。
圖17是圖示其中可以使用本案內容的一或多個技術的示例性行動設備系統的概念圖。在圖17的實例中,諸如行動電話或平板電腦之類的行動設備1700包括諸如LIDAR系統之類的測距系統,其偵測行動設備1700的環境中的物件1702上的點的位置。行動設備1700的資料來源可以使用由深度偵測感測器產生的信號來產生物件1702的點雲端表示。行動設備1700可以包括G-PCC編碼器(例如,圖1的G-PCC編碼器200),其被配置為對點雲端進行編碼以產生位元串流1704。
在圖17的實例中,行動設備1700可以向遠端設備1706(諸如伺服器系統或其他行動設備)傳輸位元串流。遠端設備1706可以對位元串流1704進行解碼以重建點雲端。在一些實例中,如前述,遠端設備1706的G-PCC解碼器可以在對點雲端進行解碼時使用半徑內插。
遠端設備1706可以將點雲端用於各種目的。例如,遠端設備1706可以使用點雲端來產生行動設備1700的環境的地圖。例如,遠端設備1706可以基於重建的點雲端來產生建築物內部的地圖。在另一實例中,遠端設備1706可以基於點雲端來產生圖像(例如,電腦圖形)。例如,遠端設備1706可以使用點雲端的點作為多邊形的頂點,並且使用點的色彩屬性作為對多邊形著色的基礎。在一些實例中,遠端設備1706可以將重建的點雲端用於臉孔辨識或其他安全性應用。
以下編號的條款可以說明本案內容的一或多個態樣:
條款1A:一種處理點雲端的方法,該方法包括以下步驟:回應於決定使用訊框間預測模式來預測當前訊框中的當前點:辨識零補償參考訊框;推導出運動補償參考訊框;基於運動補償參考訊框中的一或多個點來選擇性地對零補償參考訊框中的點進行重新取樣,以產生重新取樣零補償參考訊框;及,基於重新取樣零補償參考訊框來對當前訊框中的當前點進行訊框間預測。
條款2A:根據條款1A之方法,其中該零補償參考訊框是ZeroRef,並且該運動補償參考訊框是GlobRef。
條款3A:根據條款1A或條款2A之方法,其中選擇性地對零補償參考訊框中的點進行重新取樣包括:選擇零補償參考訊框中的特定點;決定是否對特定點進行重新取樣;回應於決定對特定點進行重新取樣:決定運動補償參考訊框中的與特定點相關聯的第一組點;基於第一組點來推導出經推導的半徑值;及,基於經推導的半徑值,來更新特定點的半徑值。
條款4A:根據條款3A之方法,其中基於第一組點推導出該經推導的半徑值包括:基於該複數個點來選擇性地對該經推導的半徑值進行內插,其中該第一組點包括複數個點。
條款5A:根據條款4A之方法,其中選擇性地對該經推導的半徑值進行內插包括:在該複數個點的半徑值之差大於閾值的情況下,決定不對該經推導的半徑值進行內插。
條款6A:根據條款4A之方法,其中選擇性地對該經推導的半徑值進行內插包括:在該複數個點的方位值之差大於閾值的情況下,決定不對該經推導的半徑值進行內插。
條款7A:根據條款4A-條款6A中任一項之方法,亦包括以下步驟:回應於決定不對該經推導的半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的半徑值。
條款8A:根據條款4A-條款6A中任一項之方法,亦包括以下步驟:回應於決定不對該經推導的半徑值進行內插,將該特定點的半徑值設置為該第一組點中的單個點的半徑值。
條款9A:根據條款8A之方法,其中第一組點中的單個點具有最接近特定點的方位值的方位值。
條款10A:一種用於處理點雲端的設備,該設備包括:用於執行根據條款1A-條款9A中任一項之方法的一或多個構件。
條款11A:根據條款10A之設備,其中該一或多個構件包括在電路系統中實現的一或多個處理器。
條款12A:根據條款10A或條款11A中任一項之設備,亦包括:用於儲存表示點雲端的資料的記憶體。條款13A:根據條款10A-條款12A中任一項之設備,其中該設備包括解碼器。
條款14A:根據條款10A-條款13A中任一項之設備,其中該設備包括編碼器。
條款15A:根據條款10A-條款14A中任一項之設備,亦包括用於產生點雲端的設備。
條款16A:根據條款10A-條款15A中任一項之設備,亦包括:用於基於該點雲端來呈現圖像的顯示器。
條款17A:一種在其上儲存有指令的電腦可讀取儲存媒體,該等指令在被執行時使一或多個處理器執行根據條款1A-條款9A中任一項之方法。
條款1B:一種用於處理點雲端資料的設備,該設備包括:記憶體,其被配置為儲存點雲端資料;及一或多個處理器,其被實現在電路系統中並且被配置為:回應於決定使用訊框間預測模式來預測當前訊框中的當前點:辨識參考訊框;從該參考訊框推導出一或多個運動補償參考點;基於該一或多個運動補償參考點來選擇性地對該參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及,基於重新取樣參考訊框,來對該當前訊框中的該當前點進行訊框間預測。
條款2B:根據條款1B之設備,其中為了選擇性地對該參考訊框中的點進行重新取樣,該一或多個處理器亦被配置為:選擇該參考訊框中的特定點;決定是否對該特定點進行重新取樣;回應於決定對該特定點進行重新取樣:決定該參考訊框中的與該特定點相關聯的第一組點,其中該第一組點包括該一或多個運動補償參考點中的至少一個;基於該第一組點來推導經推導的半徑值;及,基於該經推導的半徑值來更新該特定點的半徑值。
條款3B:根據條款2B之設備,其中為了基於該第一組點來推導該經推導的半徑值,該一或多個處理器亦被配置為:選擇性地對複數個點的半徑值進行內插以決定該經推導的半徑值,其中該第一組點包括該複數個點。
條款4B:根據條款3B之設備,其中為了選擇性地對該複數個點的半徑值進行內插,該一或多個處理器亦被配置為:回應於該複數個點中的第一點和第二點的半徑值之差大於第一閾值,或者該第一點和該第二點的方位值之差大於第二閾值中的一者或兩者,決定不對該第一點和該第二點的該等半徑值進行內插。
條款5B:根據條款4B之設備,其中該一或多個處理器亦被配置為:回應於決定不對該複數個點的半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的半徑值。
條款6B:根據條款4B之設備,其中該一或多個處理器亦被配置為:回應於決定不對該複數個點的半徑值進行內插,將該特定點的半徑值設置為該第一組點中的單個點的半徑值。
條款7B:根據條款6B之設備,其中該第一組點中的單個點具有最接近該特定點的方位值的方位值。
條款8B:根據條款1B-條款7B中任一項之設備,其中該一或多個處理器亦被配置為:重建包括該當前點的點雲端,以形成重建的點雲端。
條款9B:根據條款8B之設備,其中該一或多個處理器亦被配置為:基於該重建的點雲端,來產生建築物內部的地圖。
條款10B:根據條款8B或條款9B之設備,其中該一或多個處理器亦被配置為:基於該重建的點雲端,來執行自主導航操作。
條款11B:根據條款8B-條款10B中任一項之設備,其中該一或多個處理器亦被配置為:基於該重建的點雲端,來產生電腦圖形。
條款12B:根據條款8B-條款11B中任一項之設備,其中該一或多個處理器被配置為:基於該重建的點雲端來決定虛擬物件的位置;及,產生擴展現實(XR)視覺化,其中該虛擬物件處於所決定的位置。
條款13B:根據條款8B-條款12B中任一項之設備,亦包括:用於基於該重建的點雲端來呈現圖像的顯示器。
條款14B:根據條款1B-條款13B中任一項之設備,其中該設備包括行動電話、平板電腦、車輛或擴展現實設備中的一項或多項。
條款15B:一種處理點雲端的方法,該方法包括以下步驟:回應於決定使用訊框間預測模式來預測當前訊框中的當前點:辨識參考訊框;根據該參考訊框來推導一或多個運動補償參考點;基於該一或多個點運動補償參考點來選擇性地對該參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及,基於該重新取樣參考訊框,對該當前訊框中的當前點進行訊框間預測。
條款16B:根據條款15B之方法,其中選擇性地對該參考訊框中的點進行重新取樣包括:選擇該參考訊框中的特定點;決定是否對該特定點進行重新取樣;回應於決定對該特定點進行重新取樣:決定該參考訊框中的與該特定點相關聯的第一組點,其中該第一組點包括該一或多個運動補償參考點中的至少一個;基於該第一組點來推導經推導的半徑值;及基於該經推導的半徑值來更新該特定點的半徑值。
條款17B:根據條款16B之方法,其中基於該第一組點來推導該經推導的半徑值包括:選擇性地對複數個點的半徑值進行內插以決定該經推導的半徑值,其中該第一組點包括該複數個點。
條款18B:根據條款17B之方法,其中選擇性地對該經推導的半徑值進行內插包括:回應於該複數個點中的第一點和第二點的半徑值之差大於第一閾值,或者該第一點和該第二點的方位值之差大於第二閾值中的一者或兩者,決定不對該第一點和該第二點的半徑值進行內插。
條款19B:根據條款18B之方法,亦包括以下步驟:回應於決定不對該複數個點的半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的半徑值。
條款20B:根據條款18B之方法,亦包括以下步驟:回應於決定不對該複數個點的半徑值進行內插,將該特定點的半徑值設置為該第一組點的單個點的半徑值。
條款21B:根據條款20B之方法,其中該第一組點中的單個點具有最接近該特定點的方位值的方位值。
條款22B:根據條款15B-條款21B中任一項之方法,其中處理該點雲端的該方法包括:對該點雲端進行編碼的方法。
條款23B:根據條款15B-條款21B中任一項之方法,其中處理該點雲端的該方法包括:對該點雲端進行解碼的方法。
條款24B:一種儲存指令的電腦可讀取儲存媒體,該等指令在由一或多個處理器執行時,使該一或多個處理器用於:回應於決定使用訊框間預測模式來預測當前訊框中的當前點:辨識參考訊框;根據該參考訊框來推導一或多個運動補償參考點;基於該一或多個點運動補償參考點來選擇性地對該參考訊框中的點進行重新取樣,以產生重新取樣參考訊框;及,基於該重新取樣參考訊框,對該當前訊框中的當前點進行訊框間預測。
條款25B:根據條款24B之電腦可讀取儲存媒體,其中為了選擇性地對該參考訊框中的點進行重新取樣,該等指令使該一或多個處理器:選擇該參考訊框中的特定點;決定是否對該特定點進行重新取樣;回應於決定對該特定點進行重新取樣:決定該參考訊框中的與該特定點相關聯的第一組點,其中該第一組點包括該一或多個運動補償參考點中的至少一個;基於該第一組點來推導經推導的半徑值;及,基於該經推導的半徑值來更新該特定點的半徑值。
條款26B:根據條款25B之電腦可讀取儲存媒體,其中為了基於該第一組點來推導經推導的半徑值,該等指令使一或多個處理器用於:選擇性地對複數個點的半徑值進行內插以決定該經推導的半徑值,其中該第一組點包括該複數個點。
條款27B:根據條款26B之電腦可讀取儲存媒體,其中為了選擇性地對該經推導的半徑值進行內插,該等指令使該一或多個處理器用於:回應於該複數個點中的第一點和第二點的半徑值之差大於第一閾值,或者該第一點和該第二點的方位值之差大於第二閾值中的一者或兩者,決定不對該第一點和該第二點的半徑值進行內插。
條款28B:根據條款27B之電腦可讀取儲存媒體,其中該等指令亦使該一或多個處理器用於:回應於決定不對該複數個點的半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的半徑值。
條款29B:根據條款27B之電腦可讀取儲存媒體,其中該等指令亦使該一或多個處理器用於:回應於決定不對該複數個點的半徑值進行內插,將該特定點的半徑值設置為該第一組點中的單個點的半徑值。
條款30B:根據條款29B之電腦可讀取儲存媒體,其中該第一組點中的該單個點具有最接近該特定點的方位值的方位值。
要認識到,依據實例,本文描述的任何技術的某些動作或事件可以以不同的順序執行,可以被添加、合併或完全省略(例如,並非所有描述的動作或事件是對於實施該等技術皆是必要的)。此外,在某些實例中,動作或事件可以例如經由多執行緒處理、中斷處理或多個處理器併發地而不是順序地執行。
在一或多個實例中,所描述的功能可以用硬體、軟體、韌體或其任何組合來實現。若用軟體來實現,則該等功能可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或者經由其進行傳輸並且由基於硬體的處理單元執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體,其對應於諸如資料儲存媒體之類的有形媒體或者通訊媒體,該等通訊媒體包括例如根據通訊協定來促進電腦程式從一個地方傳遞到另一個地方的任何媒體。以此種方式,電腦可讀取媒體通常可以對應於(1)非暫時性的有形電腦可讀取儲存媒體,或者(2)諸如信號或載波之類的通訊媒體。資料儲存媒體可以是可以由一或多個電腦或者一或多個處理器存取以取得用於實現在本案內容中描述的技術的指令、代碼及/或資料結構的任何可用的媒體。電腦程式產品可以包括電腦可讀取媒體。
舉例而言而非進行限制,此種電腦可讀取儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁儲存設備、快閃記憶體,或者能夠用於以指令或資料結構形式儲存期望的程式碼以及能夠由電腦存取的任何其他媒體。此外,任何連接被適當地稱為電腦可讀取媒體。例如,若使用同軸電纜、光纖光纜、雙絞線、數位用戶線路(DSL)或者無線技術(例如,紅外線、無線電和微波)從網站、伺服器或其他遠端源傳輸指令,則同軸電纜、光纖光纜、雙絞線、DSL或者無線技術(例如,紅外線、無線電和微波)被包括在媒體的定義中。然而,應當理解的是,電腦可讀取儲存媒體和資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是替代地針對非暫時性的有形儲存媒體。如本文所使用的,磁碟和光碟包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地複製資料,而光碟利用鐳射來光學地複製資料。上述各項的組合亦應當被包括在電腦可讀取媒體的範疇之內。
指令可以由一或多個處理器來執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA),或其他等效的整合或個別邏輯電路系統。因此,如本文所使用的術語「處理器」和「處理電路系統」可以代表前述結構中的任何一者或者適於實現本文描述的技術的任何其他結構。另外,在一些態樣中,本文描述的功能可以在被配置用於編碼和解碼的專用硬體及/或軟體模組內提供,或者被併入經組合的轉碼器中。此外,該等技術可以完全在一或多個電路或邏輯元件中實現。
本案內容的技術可以在多種多樣的設備或裝置中實現,包括無線手機、積體電路(IC)或一組IC(例如,晶片組)。在本案內容中描述了各種元件、模組或單元以強調被配置為執行所揭示的技術的設備的功能性態樣,但是不一定需要經由不同的硬體單元來實現。確切而言,如前述,各種單元可以被組合在轉碼器硬體單元中,或者由可交互操作的硬體單元的集合(包括如前述的一或多個處理器)結合適當的軟體及/或韌體來提供。
已經描述了各個實例。該等和其他實例在所附的條款的範疇內。
100:編碼和解碼系統
102:源設備
104:資料來源
106:記憶體
108:輸出介面
110:電腦可讀取媒體
112:儲存設備
114:檔案伺服器
116:目的地設備
118:資料消費者
120:記憶體
122:輸入介面
200:G-PCC編碼器
202:座標變換單元
204:色彩變換單元
206:體素化單元
208:屬性傳遞單元
210:八叉樹分析單元
212:表面近似分析單元
214:算術編碼單元
216:幾何重建單元(GRU)
218:RAHT單元
220:LOD產生單元
222:提升單元
224:係數量化單元
226:算術編碼單元
300:G-PCC解碼器
302:幾何算術解碼單元
304:屬性算術解碼單元
306:八叉樹合成單元
308:逆量化單元
310:表面近似合成單元
312:幾何重建單元
314:RAHT單元
316:LoD產生單元
318:逆提升單元
320:逆變換座標單元
322:逆變換色彩單元
400:八叉樹
500:座標系
502:鐳射雷達
600:預測樹
750:當前訊框
752A:點
752B:點
752C:點
752D:點
752E:點
752F:點
752G:點
752H:點
752I:點
752J:點
752K:點
752L:點
754:參考訊框
756A:點
756B:點
756C:點
756D:點
756E:點
756F:點
756G:點
756H:點
756I:點
756J:點
756K:點
756L:點
800:步驟
802:步驟
804:步驟
806:步驟
808:步驟
810:步驟
812:步驟
900:附加訊框間預測值點
902:先前點
904:當前訊框
906:參考位置
908:參考訊框
910:訊框間預測點
912:附加訊框間預測點
1002:步驟
1004:步驟
1006:步驟
1008:步驟
1102:步驟
1104:步驟
1106:步驟
1108:步驟
1110:步驟
1202:點
1204:點
1206:點
1208:點
1210:實線
1212:實線
1214:實線
1216:實線
1218:虛線
1302:步驟
1304:步驟
1306:步驟
1308:步驟
1400:測距系統
1402:照明器
1404:感測器
1406:光
1408:物件
1410:返回光
1411:透鏡
1412:圖像
1414:信號
1416:點雲端產生器
1500:車輛
1502:測距系統
1504:鐳射光束
1506:行人
1508:位元串流
1510:車輛
1512:伺服器系統
1600:使用者
1602:位置
1604:XR頭盔
1606:物件
1608:位元串流
1610:XR頭盔
1612:使用者
1614:第二位置
1700:行動設備
1702:物件
1704:位元串流
1706:遠端設備
P1:點
P2:點
P3:點
PT:點
r:半徑
X:座標
Y:座標
Z:座標
Φ:方位
圖1是圖示可以執行本案內容的技術的示例性編碼和解碼系統的方塊圖。
圖2是根據本案內容的一或多個態樣圖示示例性幾何點雲端壓縮(G-PCC)編碼器的方塊圖。
圖3是根據本案內容的一或多個態樣圖示示例性G-PCC解碼器的方塊圖。
圖4是圖示根據本案內容的一或多個態樣的用於幾何譯碼的八叉樹分離的概念圖。
圖5A和圖5B是根據本案內容的一或多個態樣的旋轉光偵測和測距(LIDAR)獲取模型的概念圖。
圖6是根據本案內容的一或多個態樣的用於預測幾何譯碼的預測樹的概念圖。
圖7是圖示根據本案內容的一或多個態樣的用於預測點雲端的點的示例性訊框間預測程序的概念圖。
圖8是圖示與指示節點是以訊框間預測模式還是訊框內預測模式進行譯碼的語法元素相關聯的示例性解碼流程的流程圖。
圖9是圖示從方位大於訊框間預測值點的第一點獲得的附加訊框間預測值點的概念圖。
圖10是圖示根據本案內容的一或多個技術的如何將重新取樣點用於訊框間預測的示例性技術的流程圖。
圖11是圖示根據本案內容的一或多個技術的如何使用來自零補償參考訊框的點來對全域補償參考訊框中的點進行重新取樣的示例性技術的流程圖。
圖12A-圖12D是圖示根據本案內容的一或多個態樣的如何為零補償參考訊框中的點選擇全域補償參考訊框中的第一組點的概念圖。
圖13是圖示根據本案內容的技術的程序的流程圖。
圖14是圖示可以與本案內容的一或多個技術一起使用的示例性測距系統的概念圖。
圖15是圖示其中可以使用本案內容的一或多個技術的示例性基於車輛的場景的概念圖。
圖16是圖示其中可以使用本案內容的一或多個技術的示例性擴展現實系統的概念圖。
圖17是圖示其中可以使用本案內容的一或多個技術的示例性行動設備系統的概念圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
1302:步驟
1304:步驟
1306:步驟
1308:步驟
Claims (30)
- 一種用於處理點雲端資料的設備,該設備包括: 一記憶體,其被配置為儲存該點雲端資料;及 一或多個處理器,其實現在電路系統中並且被配置為,回應於決定使用一訊框間預測模式來預測一當前訊框中的一當前點: 辨識一參考訊框; 從該參考訊框推導出一或多個運動補償參考點; 基於該一或多個運動補償參考點來選擇性地對該參考訊框中的點進行重新取樣,以產生一重新取樣參考訊框;及 基於該重新取樣參考訊框,對該當前訊框中的該當前點進行訊框間預測。
- 根據請求項1之設備,其中為了選擇性地對該參考訊框中的該等點進行重新取樣,該一或多個處理器亦被配置為: 選擇該參考訊框中的一特定點; 決定是否對該特定點進行重新取樣; 回應於決定對該特定點進行重新取樣: 決定該參考訊框中的與該特定點相關聯的一第一組點,其中該第一組點包括該一或多個運動補償參考點中的至少一個; 基於該第一組點,來推導出一經推導的半徑值;及 基於該經推導出的半徑值,來更新該特定點的一半徑值。
- 根據請求項2之設備,其中為了基於該第一組點來推導出該經推導的半徑值,該一或多個處理器亦被配置為: 選擇性地對複數個點的半徑值進行內插以決定該經推導出的半徑值,其中該第一組點包括該複數個點。
- 根據請求項3之設備,其中為了選擇性地對該複數個點的該等半徑值進行內插,該一或多個處理器亦被配置為: 回應於該複數個點中的一第一點和一第二點的半徑值之一差大於一第一閾值,或者該第一點和該第二點的方位值之一差大於一第二閾值中的一者或兩者,決定不對該第一點和該第二點的半徑值進行內插。
- 根據請求項4之設備,其中該一或多個處理器亦被配置為: 回應於決定不對該複數個點的該等半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的該半徑值。
- 根據請求項4之設備,其中該一或多個處理器亦被配置為: 回應於決定不對該複數個點的該等半徑值進行內插,將該特定點的該半徑值設置為該第一組點中的一單個點的一半徑值。
- 根據請求項6之設備,其中該第一組點中的該單個點具有最接近該特定點的一方位值的一方位值。
- 根據請求項1之設備,其中該一或多個處理器亦被配置為重建包括該當前點的一點雲端,以形成一重建的點雲端。
- 根據請求項8之設備,其中該一或多個處理器亦被配置為基於該重建的點雲端來產生一建築物內部的一地圖。
- 根據請求項8之設備,其中該一或多個處理器亦被配置為基於該重建的點雲端來執行一自主導航操作。
- 根據請求項8之設備,其中該一或多個處理器亦被配置為基於該重建的點雲端來產生電腦圖形。
- 根據請求項8之設備,其中該一或多個處理器被配置為: 基於該重建的點雲端來決定一虛擬物件的一位置;及 產生一擴展現實(XR)視覺化,其中該虛擬物件處於該決定的位置。
- 根據請求項8之設備,亦包括:用於基於該重建的點雲端來呈現圖像的一顯示器。
- 根據請求項1之設備,其中該設備包括一行動電話、一平板電腦、一車輛或一擴展現實設備中的一或多個。
- 一種處理一點雲端的方法,該方法包括以下步驟: 回應於決定使用一訊框間預測模式預測一當前訊框中的一當前點: 辨識一參考訊框; 從該參考訊框推出一或多個運動補償參考點; 基於該一或多個點運動補償參考點來選擇性地對該參考訊框中的點進行重新取樣,以產生一重新取樣參考訊框;及 基於該重新取樣參考訊框,對該當前訊框中的該當前點進行訊框間預測。
- 根據請求項15之方法,其中選擇性地對該參考訊框中的該等點進行重新取樣之步驟包括以下步驟: 選擇該參考訊框中的一特定點; 決定是否對該特定點進行重新取樣; 回應於對該特定點進行重新取樣的決定: 決定該參考訊框中的與該特定點相關聯的一第一組點,其中該第一組點包括該一或多個運動補償參考點中的至少一個; 基於該第一組點,來推導出一經推導的半徑值;及 基於該經推導的半徑值,來更新該特定點的一半徑值。
- 根據請求項16之方法,其中基於該第一組點來推導出該經推導的半徑值之步驟包括以下步驟: 選擇性地對複數個點的半徑值進行內插以決定該經推導的半徑值,其中該第一組點包括該複數個點。
- 根據請求項17之方法,其中選擇性地對該經推導的半徑值進行內插之步驟包括以下步驟: 回應於該複數個點中的一第一點和一第二點的半徑值之一差大於一第一閾值,或者該第一點和該第二點的方位值之一差大於一第二閾值中的一者或兩者,決定不對該第一點和該第二點的半徑值進行內插。
- 根據請求項18之方法,亦包括以下步驟: 回應於決定不對該複數個點的該等半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的該半徑值。
- 根據請求項18之方法,亦包括以下步驟: 回應於決定不對該複數個點的該等半徑值進行內插,將該特定點的該半徑值設置為該第一組點中的一單個點的一半徑值。
- 根據請求項20之方法,其中該第一組點中的該單個點具有最接近該特定點的一方位值的一方位值。
- 根據請求項15之方法,其中處理該點雲端的該方法包括:對該點雲端進行編碼的一方法。
- 根據請求項15之方法,其中處理該點雲端的該方法包括:對該點雲端進行解碼的一方法。
- 一種儲存指令的電腦可讀取儲存媒體,該等指令在由一或多個處理器執行時使該一或多個處理器用於: 回應於決定使用一訊框間預測模式來預測一當前訊框中的一當前點: 辨識一參考訊框; 從該參考訊框推導出一或多個運動補償參考點; 基於該一或多個點運動補償參考點來選擇性地對該參考訊框中的點重新取樣,以產生一重新取樣參考訊框;及 基於該重新取樣參考訊框,來對該當前訊框中的該當前點進行訊框間預測。
- 根據請求項24之電腦可讀取儲存媒體,其中為了選擇性地對該參考訊框中的該等點重新取樣,該等指令使該一或多個處理器用於: 選擇該參考訊框中的一特定點; 決定是否對該特定點進行重新取樣; 回應於決定對該特定點進行重新取樣: 決定該參考訊框中的與該特定點相關聯的一第一組點,其中該第一組點包括該一或多個運動補償參考點中的至少一個; 基於該第一組點來推導出一經推導的半徑值;及 基於該經推導的半徑值,來更新該特定點的一半徑值。
- 根據請求項25之電腦可讀取儲存媒體,其中為了基於該第一組點來推導出該經推導的半徑值,該等指令使該一或多個處理器用於: 選擇性地對複數個點的半徑值進行內插以決定該經推導的半徑值,其中該第一組點包括該複數個點。
- 根據請求項26之電腦可讀取儲存媒體,其中為了選擇性地對該經推導的半徑值進行內插,該等指令使該一或多個處理器用於: 回應於該複數個點中的一第一點和一第二點的半徑值之一差大於一第一閾值,或者該第一點和該第二點的方位值之一差大於一第二閾值中的一者或兩者,決定不對該第一點和該第二點的半徑值進行內插。
- 根據請求項27之電腦可讀取儲存媒體,其中該等指令亦使該一或多個處理器用於: 回應於決定不對該複數個點的該等半徑值進行內插,避免基於該經推導的半徑值來更新該特定點的該半徑值。
- 根據請求項27之電腦可讀取儲存媒體,其中該等指令亦使該一或多個處理器用於: 回應於決定不對該複數個點的該等半徑值進行內插,將該特定點的該半徑值設置為該第一組點中的一單個點的一半徑值。
- 根據請求項29之電腦可讀取儲存媒體,其中該第一組點中的該單個點具有最接近該特定點的一方位值的一方位值。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263363306P | 2022-04-20 | 2022-04-20 | |
US63/363,306 | 2022-04-20 | ||
US202263363552P | 2022-04-25 | 2022-04-25 | |
US63/363,552 | 2022-04-25 | ||
US18/303,390 US20230345045A1 (en) | 2022-04-20 | 2023-04-19 | Inter prediction coding for geometry point cloud compression |
US18/303,390 | 2023-04-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202408244A true TW202408244A (zh) | 2024-02-16 |
Family
ID=86330379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112114744A TW202408244A (zh) | 2022-04-20 | 2023-04-20 | 用於幾何點雲端壓縮的內部預測譯碼 |
Country Status (5)
Country | Link |
---|---|
AU (1) | AU2023255485A1 (zh) |
CO (1) | CO2024013552A2 (zh) |
IL (1) | IL314909A (zh) |
TW (1) | TW202408244A (zh) |
WO (1) | WO2023205321A1 (zh) |
-
2023
- 2023-04-20 TW TW112114744A patent/TW202408244A/zh unknown
- 2023-04-20 AU AU2023255485A patent/AU2023255485A1/en active Pending
- 2023-04-20 IL IL314909A patent/IL314909A/en unknown
- 2023-04-20 WO PCT/US2023/019252 patent/WO2023205321A1/en active Application Filing
-
2024
- 2024-10-07 CO CONC2024/0013552A patent/CO2024013552A2/es unknown
Also Published As
Publication number | Publication date |
---|---|
CO2024013552A2 (es) | 2024-10-21 |
IL314909A (en) | 2024-10-01 |
WO2023205321A1 (en) | 2023-10-26 |
AU2023255485A1 (en) | 2024-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220207780A1 (en) | Inter prediction coding for geometry point cloud compression | |
JP2023520855A (ja) | ジオメトリベースのポイントクラウド圧縮における角度モードおよび方位角モードについてのレーザー角度のコーディング | |
TW202234884A (zh) | 用於幾何點雲壓縮的幀間預測譯碼 | |
KR20220164702A (ko) | 지오메트리 기반 포인트 클라우드 압축에서의 각도 및 방위각 모드들에 대한 레이저 각도들의 코딩 | |
US20230105931A1 (en) | Inter prediction coding with radius interpolation for predictive geometry-based point cloud compression | |
TW202234894A (zh) | 用於幾何形狀譯碼的用於幀間和幀內預測的混合樹譯碼 | |
US20230099908A1 (en) | Coding point cloud data using direct mode for inter-prediction in g-pcc | |
WO2023059987A1 (en) | Inter prediction coding with radius interpolation for predictive geometry-based point cloud compression | |
TW202232953A (zh) | 用於幾何點雲壓縮的基於模型的預測 | |
KR20230027033A (ko) | 지오메트리 기반 포인트 클라우드 압축 (g-pcc) 을 위한 소팅된 레이저 각도들 | |
TW202408244A (zh) | 用於幾何點雲端壓縮的內部預測譯碼 | |
US20230345045A1 (en) | Inter prediction coding for geometry point cloud compression | |
US20240185470A1 (en) | Decoding attribute values in geometry-based point cloud compression | |
US11910021B2 (en) | Planar and direct mode signaling in G-PCC | |
US20230177739A1 (en) | Local adaptive inter prediction for g-pcc | |
CN116711313A (zh) | 用于几何体点云压缩的帧间预测编解码 | |
WO2023102484A1 (en) | Local adaptive inter prediction for g-pcc | |
TW202433934A (zh) | 預測幾何寫碼的幀間預測 | |
CN116636204A (zh) | 用于几何编解码的帧间和帧内预测的混合树编解码 | |
WO2024226507A1 (en) | Entropy continuation and dependent frame entropy coding in point cloud compression | |
TW202420822A (zh) | 使用垂直預測進行幾何點雲壓縮 | |
CN118872275A (zh) | 用于几何点云压缩的改进的残差预测 | |
WO2023205318A1 (en) | Improved residual prediction for geometry point cloud compression |