传统的点云编码流程:
- 几何编码:八叉树几何编码->几何量化->几何熵编码;
- 属性编解:重着色->属性变换->属性预测->属性残差量化->残差二值化->属性残差熵编码
1量化
1.1什么是量化
量化(Quantization)是在不降低视觉效果的前提下减少图像编码长度,减少视觉恢复中不必要的信息。
H264采用标量量化技术,它将每个图像样点编码映射成较小的数值
一般**标量量化器的原理**为:FQ = round(y/Qstep)。其中,y为输入样本点编码,Qstep为量化步长,FQ为y的量化值。其相反过程即反量化为:y' = FQ ·Qstep。
注:
1)Round(x)函数
其功能采用“银行家舍入”算法,即四舍五入取偶。
详细地说是这样,**四舍六入五考虑**,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一。
2)在YUV中,“Y”代表明亮度(Luminance或Luma),也就是灰阶值; 而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述图像色彩及饱和度,用于指定像素的颜色。
1.2量化方法
- 标量(Scalar)量化
- 矢量(Vector)量化
1.3量化模型
在量化时,为了减少码率的大小,需要减少Bin的个数,而Bin的个数减少导致重构的误差增大,失真也就随着增大
1.4均匀量化
1.5非均匀量化
如果信源不是均匀分布的,采用均匀量化不是最优的
对于非均匀量化,为了减少MSE,当概率密度函数fX(x)高时,使Bin的量化步长减小,当概率密度函数fX(x)低时, 使Bin的量化步长增加。
1.6量化编码
定长编码量化水平
- 使用等长的码字编码每个量化水平,码字长为:
熵编码量化水平
- 根据量化水平的概率分布情况,用变长的码字编码每个量化水平
- 平均码字长
- 比定长编码量化水平效率高
- 广泛应用在图像和视频编码中
1.7矢量量化
标量量化:对数据一个一个的进行量化,称为标量量化。
矢量量化:将数据分组,每组K个数据构成K维矢量,再以矢量为处理单元进行量化。
- 矢量量化是标量量化的多维扩展,标量量化是矢量量化的特殊情况
矢量量化优点: - 只传码字的下标,编码效率高 - 在相同码率下,比标量量化失真小 - 在相同失真下,比标量量化码率低
矢量量化缺点:复杂度随着维数的增加呈指数增加
二维矢量量化:
2量化参数QP
现有的码率控制算法主要是通过调整离散余弦变换的量化参数大小输出目标码率。
也就是说:复杂场景,正常编码码率往往偏高,甚至超出设定值。为应对此问题,降低复杂场景的编码码率,对QP进行调整。
通过调整量化参数QP,以达到调整输出目标码率的目的。
1、QP量化参数,反映了空间细节压缩情况,如QP小,大部分的细节都会被保留;QP增大,一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说,QP和比特率成反比的关系,而且随着视频源复杂度的提高,这种反比关系会更明显。
2、量化参数QP,是量化步长Qstep的序号。QP值越小,量化步长越小,量化的精度就越高,意味着同样画质的情况下,产生的数据量可能会更大。
对于亮度(Luma)编码而言,量化步长Qstep共有52个值,QP取值0~51,对于色度(Chroma)编码,Q的取值0~39。
其对应关系如下表。
QP与Qstep呈线性关系,QP值每增加6,量化步长就增加一倍。
参考:https://blog.csdn.net/weixin_44312010/article/details/102764275关于点云压缩QP与属性量化步长的映射
https://blog.csdn.net/qq_36083818/article/details/106135758量化 & 量化之QP编码量化
https://blog.csdn.net/coloriy/article/details/48002437?locationNum=3&fps=1熵编码