RT.假设源和输出都是8bit.
對於YUV 4:2:0的顏色空間,luma分量的qp範圍為0-51,chroma分量的qp範圍為0-39 其中,qp就是x264 --qp中的那個qp. quantization parameter,Qstep是量化步長,即: Zij=round(Wij/Qstep) 其中Wij代表一個宏塊(macroblock)經DCT變換后的係數.這個宏塊在h264標準鐘可以是16x16,16x8,8x16,8x8,8x4,4x8,4x4等大小,其來源可以是I幀或者P/B幀的殘差值等等. 這裡同樣和JPEG標準不同,每個宏塊採用相同的量化步長量化. QP和ln(Qstep)具有線性相關性,每當QP值增加6,Qstep便增加一倍. 因此當raw源中每當某分量每像素平均比特數增加一,最大QP值便可以增加6;反之如果減少一,最大QP值便應該減少6.這一點在x264源碼中也有體現. 因此10bit視頻的luma(亮度)分量其最大量化值就是51+2*6=63. 此外也可以看到當x264 --qp 0時並不是嚴格意義上的無損編碼,只不過是0.625的量化步長幾乎難以產生量化噪聲,因此可以近似看成無損編碼. 而x264的crf和2pass碼率控制模式就是通過marco-block tree等工具,採用一定的預測算法,考慮人眼對不同內容的敏感程度,來確定不同宏塊/幀的量化值,從而完成最終成品的碼率控制的. (bilibili) |