JM8.6(H.264编码器)源码注释——码率控制部分主要推导
作者:互联网
1 void MADModelEstimator (int n_windowSize) 2 { 3 int n_realSize = n_windowSize; 4 int i; 5 double oneSampleQ; 6 double a00 = 0.0, a01 = 0.0, a10 = 0.0, a11 = 0.0, b0 = 0.0, b1 = 0.0; 7 double MatrixValue; 8 Boolean estimateX2 = FALSE; 9 10 for (i = 0; i < n_windowSize; i++) {// find the number of samples which are not rejected 11 if (PictureRejected[i])//如果某一帧图像被限制了 n_realSize就减一次 最后记录的是没有被限制使用的图像 12 n_realSize--; 13 } 14 15 // default MAD model estimation results 16 17 MADPictureC1 = MADPictureC2 = 0.0;//某一帧图像MAD线性预测的参数 18 19 for (i = 0; i < n_windowSize; i++) { 20 if (!PictureRejected[i])//如果图像没有被限制 21 //难道是记录最后一帧没有被限制图像的MAD??? 22 oneSampleQ = PictureMAD[i];//把最后一个没有被限制的图像的MAD赋值给oneSampleQ变量 23 } 24 for (i = 0; i < n_windowSize; i++) {// if all non-rejected MAD are the same, take 1st order model 25 if ((PictureMAD[i] != oneSampleQ) && !PictureRejected[i])//图像没有被限制且不是最后一帧被限制的图像 26 estimateX2 = TRUE;//estimateX2标志位赋值为真 27 if (!PictureRejected[i])//如果图像没有被限制 28 //这句话不知道在做怎样的优化??? W值 29 MADPictureC1 += PictureMAD[i] / (ReferenceMAD[i]*n_realSize);// 30 } 31 32 // take 2nd order model to estimate X1 and X2 33 if ((n_realSize >= 1) && estimateX2) { 34 for (i = 0; i < n_windowSize; i++) { 35 if (!PictureRejected[i]) { 36 //图像没有被限制 好厉害这部分就是在求解参数 37 //平方差求和最小来优化 线性回归 38 a00 = a00 + 1.0; 39 a01 += ReferenceMAD[i]; 40 a10 = a01; 41 a11 += ReferenceMAD[i]*ReferenceMAD[i]; 42 b0 += PictureMAD[i]; 43 b1 += PictureMAD[i]*ReferenceMAD[i]; 44 } 45 } 46 // solve the equation of AX = B 47 MatrixValue=a00*a11-a01*a10; 48 if(fabs(MatrixValue)>0.000001)//行列式不为0 A可逆 有解 49 { 50 //通过伴随矩阵求解 51 MADPictureC2=(b0*a11-b1*a01)/MatrixValue;//b 52 MADPictureC1=(b1*a00-b0*a10)/MatrixValue;//W 53 } 54 else//行列式为0 A不可逆 55 { 56 //只是一个特解 57 MADPictureC2=0.0;//b 58 MADPictureC1=b0/a01;//W 59 } 60 61 } 62 if(img->type==P_SLICE)//如果是P帧 把上面刚刚计算的结果覆盖掉前面计算的 63 { 64 PMADPictureC1=MADPictureC1; 65 PMADPictureC2=MADPictureC2; 66 } 67 }
标签:编码器,码率,0.0,a00,a01,windowSize,源码,图像,realSize 来源: https://www.cnblogs.com/weitter/p/13525229.html