在hevc標準中基本上僅僅使用dct2作為變換核,只在幀內4*4的塊的亮度分量使用了dst變換,而h.266的多核變換技術引入了更多的選擇,新引入了dst7,dct8,dct5,dst1,目前僅僅幀間保留了dct8和dst7,幀內全部存在,由於266不存在tu的概念,即cu=pu=tu那麼就出現了非方形的變換塊,且可以使用非對稱的變換核,因此,以幀間為例出現了五組變換核(dct2,dct2),(dst7,dst7),(dct8.dct8),(dct8,dst7),(dst7,dc78),
對於幀間這五組變換核根據rdo的結果,選擇最好的一組,傳輸index標記,存在兩個語法元素,乙個多核變換的flag,標記使用傳統的265的dct2,還是使用新引人的,如flag=true,傳輸index標記使用四組中的某乙個,複雜度很高,但是對於大序列的效能很好,可達到2%左右,後期由於快速演算法的提出,其實複雜度已經只有10%左右,完全可以接受。
對於幀內,由於幀內存在上述提到的5中變換核,如果組合的話或出現很多結果,並且幀內的殘差分布跟模式是有一定聯絡的,同時變換核也有某種特性,例如dst適合殘差從左向右,從上向下增大的變換塊,dct8跟它相反,因此,提案方,根據這些資訊,訓練確定了模式和變換核的選取,如下:
根據上圖可知,幀內其實對於每種模式組合後也只有五中變換對,然後根據rdo的原則選擇最優的變換對。
由描述可知,多核變換的複雜度很高,要做多次rdo,因此出現了下圖的快速演算法:
H 266的目前探索的情況
h.266的編碼框架目前還是跟265相同,變換 量化 反量化 反變換 濾波 熵編碼,基本相似,都是在這個框架上增加或者優化原有的技術,最大的變化可能是劃分框架變了,不在是原來的四叉樹劃分,變為了四叉樹二叉樹 聯發科提出 劃分,之後有人也提出三叉樹劃分,效能提公升較大,但是複雜度太大,沒被採納,對於單...
H 266的目前探索的情況
h.266的編碼框架目前還是跟265相同,變換 量化 反量化 反變換 濾波 熵編碼,基本相似,都是在這個框架上增加或者優化原有的技術,最大的變化可能是劃分框架變了,不在是原來的四叉樹劃分,變為了四叉樹二叉樹 聯發科提出 劃分,之後有人也提出三叉樹劃分,效能提公升較大,但是複雜度太大,沒被採納,對於單...
H 266中幀內相關理解糾正
之前對幀內的一部分理解有很多誤區,記錄下剛糾正過來的知識點 慢慢更新 1.xintracodingtubloc函式裡沒有熵編碼過程,這個函式的主要功能是重構影象,以用於下一幀影象的 同時還會傳出失真,用於計算rd cost 2.執行完xintracodingtubloc後,有乙個計算位元數的函式,而...