编码原理详解(三)---量化

7189222 2019-9-12 209

本节开始介绍编码过程中的量化环节。还记得上一篇的变换吗?变换之后得到了一个新的矩阵,一个经过从空域变换到频域的一个矩阵。那么,量化呢,就是基于变换后得到的矩阵,再做进一步的处理,本质也就是进一步的压缩。

一、原理

    量化的原理是把变换后的DCT系数除以一个常量,经过量化后的结果是量化步长的整数倍或者为更多的零值,从而达到了压缩的目的。
二、量化公式

    q(x, y) = round(F(x, y) / Q + 0.5);
公式说明:F(x, y)为经过DCT变换后的DCT系数, Q为量化步长,在x264中对应qp的值。round()函数返回四舍五入的整数值。q(x, y)则是经过量化之后的值喽。简单举个栗子:如果某个像素点经过DCT变换后的值为203, 量化步长QP 取28,辣么,q(x,y) = round(205 / 28 + 0.5) = round(7.8214) = 8. 有没有懂了呢,哈哈,还是来个图吧。

三、量化示意



四、说明

    (1) 我的天哪,量化完之后肿么这么多零呢,哈哈,这个不正式咱们想要的结果吗,哈哈;
    (2) 从公式可以看粗来,量化值QP越大,那么量化的粒度越粗,相应的也会省更多的比特,但是画质相应的就会差很多;量化值QP越小,那么量化粒度越细,相应的会占用更多的比特,画质也就会好一些喽。
    (3) 从公式也可以看出,编码过程中,量化是一个有损的过程哦,这一点一定要注意哦。

    好了,量化就到这里喽,量化后的数据该怎么处理呢,敬请期待下一篇ZIG-ZAG之字形扫描喽。
编码原理 量化 QP
最新回复 (0)
返回
发新帖