點雲的幀間預測3(m42522)
零、前言
這篇部落格是我寫的一個筆記總結,主要是對MPEG的m42522提案做的簡單總結,該提案是有關於點雲壓縮中的二進位制熵編碼器。
一、目的
在點雲壓縮測試模型3(TM3)中,對於使用八叉樹的幾何編碼,由具有255種([1,255],0因為沒有點,所以不需要進行編碼傳輸)輸入的非二進位制算術編碼器對8位佔用模式進行算術編碼。
除此之外,在MPEG 121會議上,提出了在TM3中使用鄰近資訊(2^6 = 64種)來改善第三類點雲內容的幾何編碼的壓縮效能。該技術提供了很好的收益,但代價是增加了非二進位制分佈的數量(64 * 255 = 16320),即每個所謂的相鄰配置的數目。雖然有提出了一種減少鄰居配置以將配置數量從64減少到10的方法。然而,這還是會導致需要10 * 255個的概率分佈,這需要10個非二進位制255種輸入的熵編碼器進行算術編碼。
眾所周知,由於概率更新和更困難的實現,非二進位制編碼器不如二進位制編碼器好用。因此,這篇提案的目的是:
- 將非二進位制編碼器更改為二進位制編碼器
- 減少要跟蹤的概率數(等效地減少二進位制編碼器使用的所需上下文數)
- 同時使用鄰居配置保持TM3的壓縮效能
二、技術方案
使用條件熵公式將8位非二進位制編碼器更改為八個二進位制編碼器的級聯,如下圖所示。
通過這樣的步驟,將非二進位制算術編碼器轉換為二進位制算術編碼器,但上下文的數量依然很多,所以提出了三種方法,通過減少二進位制熵編碼器之間的依賴關係來減少所需上下文的數量,即
- 鄰居遮蔽(Neighbour reduction)
- 條件模式減少(Conditional pattern reduction)
- 暴力減少(Brute force reduction)
(1)鄰居遮蔽(Neighbour reduction):
從下圖中我們可以看到,因為當前節點上方的四個子節點已經進行過編碼,所以該節點上方的那個鄰居節點的資訊對預測編碼下面四個子節點的幫助不是特別大,所以說頂部鄰居被四個已經編碼的子節點遮蔽。
根據上面提到的頂部鄰居遮蔽,就可以通過篩選頂部鄰居,從10種配置變為7種配置。
然後如下圖中所示我們也可以看到,因為當前節點的七個子節點已經進行過編碼,所以該節點前面和右邊的鄰居節點的資訊對預測編碼最後一個子節點的幫助不是特別大,所以前/右鄰居被七個已經編碼的子節點遮蔽。
根據上面提到的前/右鄰居遮蔽,就可以將鄰居配置從7種變為5種。
(2)條件模式減少(Conditional pattern reduction):
當前節點沒有鄰居時(空鄰居的情況(N10 = 0)),它的佔用模式位bi的順序不是很重要,而各個子節點位為1的概率又與其他子節點被佔領的數量有關,所以就可以根據這種方式,將條件模式從從2^j減少到j + 1。
(3)暴力減少(Brute force reduction):
重新組合具有相似統計資訊的依賴項,使用函式(BR)將上下文數量從M1減少到M2,通過對具有相似統計行為的上下文進行分組來找到該函式。
要想找到該函式,首先先計算兩個上下文之間的距離,我們假設p(p′)是位b(b′)等於零的概率,二進位制熵編碼器藉助上下文c(c’)來編碼b(b’)。因此我們將上下文c與c’之間的距離定義為:
d ( c , c ′ ) = ∣ p l o g 2 p − p ′ l o g 2 p ′ ∣ + ∣ ( 1 − p ) l o g 2 ( 1 − p ) − ( 1 − p ′ ) l o g 2 ( 1 − p ′ ) ∣ d(c,c') = |plog2p - p'log2p'| + |(1-p)log2(1-p) - (1-p')log2(1-p')| d(c,c′)=∣plog2p−p′log2p′∣+∣(1−p)log2(1−p)−(1−p′)log2(1−p′)∣
然後使用距離來對上下文進行分組,決定的變數是修復閾值ε(epsilon),對於給定的上下文,將距給定上下文的距離小於epsilon的所有上下文重新組合為一類,然後迭代仍未重組的上下文,直到將所有的上下文都放入類中。從1到M2標記M2類以獲得函式BR
- 如果epsilon = 0,則M2 = M1
- 如果epsilon =∞,則M2 = 1
三、總結
利用條件熵公式將非二進位制熵編碼器轉換為了二進位制熵編碼器,同時利用一些技術來減少了二進位制熵編碼器中所需要的上下文來降低運算複雜度。
二進位制熵編碼器中所有的依賴關係減少的總結圖如下所示:
二進位制編碼器級聯和依賴性降低的實現如下圖所示。
相關文章
- 幀間預測merge、skip、PCM模式模式
- HEVC幀內預測學習(二) 35種預測模式的計算模式
- 影片編碼中幀內預測的發展
- 在點雲上計算兩點之間的測地線
- 通過幀間確定動態障礙物,剔除動態3D點雲資料後用於生成柵格地圖3D地圖
- H.266VVC的關鍵編碼技術(一):幀內預測
- CSS3動畫實戰之多關鍵幀實現無限迴圈動效的時間間隔CSSS3動畫
- 校園雲盤搭建的3點作用
- 拒絕低效丨只需十分鐘,提升十倍3D點雲連續幀標註效率3D
- 小米MAX3上市時間與價格預測 小米max3什麼時候上市?
- Facebook時間序列預測演算法Prophet的研究演算法
- [譯] 層次時間序列預測法
- 應用時間序列法預測收入
- 如何用XGBoost做時間序列預測?
- 多維灰色預測模型的一點改進模型
- SOFTS: 時間序列預測的最新模型以及Python使用示例模型Python
- 間歇性需求預測之Croston‘s methodROS
- CSS3 animation逐幀動畫CSSS3動畫
- Python做點選率資料預測Python
- 做測試,除了點點滑鼠,你還有更大的發展空間!
- 谷歌的時間序列預測的基礎模型TimesFM詳解和對比測試谷歌模型
- BiTCN:基於卷積網路的多元時間序列預測卷積
- 時間序列基本概念、任務、預測方法
- 控制元件測試功能點3控制元件
- css3實現逐幀動畫CSSS3動畫
- 畫像預先計算的一點設想.時間段分片
- SiMBA:基於Mamba的跨影像和多元時間序列的預測模型模型
- 【python3】基於隨機森林的氣溫預測Python隨機森林
- AAAI 2020 | 華科Oral提出TANet:提升點雲3D目標檢測的穩健性AI3D
- 用Python預測「週期性時間序列」的正確姿勢Python
- MNIST3_tf2.keras訓練預測TF2Keras
- 上篇 | 使用 ? Transformers 進行機率時間序列預測ORM
- 下篇 | 使用 ? Transformers 進行機率時間序列預測ORM
- 用python做時間序列預測一:初識概念Python
- 小鳥雲:2022年雲端計算趨勢和預測
- 3款自助型BI分析平臺功能盤點,幫助你預測商業發展方向
- 測試員的兩大型別特點及發展空間型別
- CSS3動畫之逐幀動畫CSSS3動畫