Fast Coding Unit Size Selection for HEVC based on Bayesian Decision Rule
《HEVC标准介绍、HEVC帧间预测论文笔记》系列博客,目录见:http://www.cnblogs.com/DwyaneTalk/p/5711333.html
2012 Picture Coding Symposium May 7-9, 2012
以最小决策代价来进行贝叶斯决策,判断对于当前CU是否进行四叉树划分。代价是RD值,每个块选取3个值作为特征。
核心公式:
W是决策分类, 分别表示划分和不划分。
(1)
(1)式为naïve bayes的公式,、、依次是类条件、先验和后验(似然)概率。
(2)
(2)表示决策代价,表示应该决策为Ws而实际是Wn的代价,其他类似。
(3)、(4)式为最终的决策表达式。决策如下:
对于特征F,可以表示图像的特征很多,算法中从下面6个中间选择3个:
A、fvar :The variance of mode Inter_2Nx2N prediction errors in current CU
B、fsatd:The sum of absolute transformed difference (SATD) between original and prediction of mode Inter_2Nx2N
C、fvsatd :The variance of 4 SATDs (The prediction errors of mode Inter_2Nx2N is split into 4 sub-squares and calculate SATD on each sub-square)
D、fmvg:MV magnitude(就是MV的模)
E、fp:Percentage of coefficients cost in RD cost。就是中拉格朗日系数lamda
F、frdc:RD cost of mode Inter_2Nx2N
从A~F的6个特征中选择3个,是通过贪心的sequential forward selection (SFS) algorithm 来选择使互信息量MI最大的3个特征f。
I(F:W)就是互信息量MI。在5个1080p的测试序列上,计算不同f的MI如下表:
根据表格可以看出,最优的三个特征是fvar、fp和fvsatd。所以最终选择这三个组成决策表达式中的F。
fvar、fp和fvsatd都量化成10个取值,所以F有1000个取值,相应有2000个取值,所以是通过特定的方法进行off-line估计,然后存在查找表(LUT)中。
则是一个和QP、图像分辨率、CU划分深度等有关的判断阈值。通过测试2个1080p和2个WVGA的视频序列,计算其中的值,然后保存在另一个LUT里。
算法流程:
算法简述:
1、Initialize Bayesian threshold in (6) with the QP and resolution settings.
2、RDO process starts from one LCU with CU_depth=0;
3、For the current CU_depth, try mode Inter_2Nx2N, and calculate the feature vector F=[f
var, fp, fvsatd] online;
4、For a feature F, find the class-conditional probability according to pdf p(F|wi) i∈{N, S} in the LUT. Make a decision according to (6). If the Non-SPLIT decision is made, proceed to step 5); otherwise, set CU_depth as CU_depth+1, and then return back to step 3) to perform the RDO process of the four sub-CU;
5、Perform RDO on mode Inter_2NxN, Inter_Nx2N and Intra_2Nx2N (Inter_NxN and Intra_NxN) to decide the optimal mode of the current CU.
6、Exit the RDO process and encode the LCU.
实验结果:(HM4.0rc1,4个测试序列,Rand Access和Low Delay两种HM的configuration)