H.264/AVC 变换量化

本文详细介绍了H.264编码中的变换和量化过程,包括亮度和色度分量的处理。对于亮度,讨论了不同情况下的变换流程,如16x16 Intra Prediction和8x8 Inter Prediction宏块的处理方式。色度变换与亮度类似,但与亮度的16x16宏块不同,它对应于8x8的色度宏块。量化步长和变换核的具体细节在实际应用中尤为重要,是理解H.264编码效率的关键。

先说一句,在传统的混合编码框架中,预测和变换是不会产生失真的,只有量化才会导致失真。

貌似264没有把变换和量化分的很清楚,没有特别明显的界限感,下面实际看看。

264的basic transform或者说是core transform是4x4或者8x8的整数变换,是DCT的近似。

首先聊聊亮度的变换量化

除了(a)使用16x16Intra Prediction进行编码的宏块和(b)在High profile打开用于宏块的8x8整数变换两种情况,都是使用下图的流程进行亮度分量的变换量化的:

 图中每一个小块尺寸为4x4,使用4x4的变换核进行变换,在缩放和量化之后,按照z顺序扫描。

 如果出现前面说的(a)情况,那么流程会有一些变化,如下所示:

 在4x4的小块使用4x4的变换核进行变化之后,每个4x4小块的DC系数拼起来,得到一个4x4的DC系数组成的块,再进行一次哈达玛变换。这是因为这些直流系数是高度相关的,使用两次变换可以更彻底的去除频域冗余,提高编码性能。反变换过程如下所示:

 如果出现前面说的(b)情况,就是使用8x8的变换核,对于那些使用8x8Intra Prediction或者是任一Inter Prediction的宏块,变换流程如下所示:

 再聊聊色度的变换量化

 现在假设是YUV420格式,对应16x16大小的亮度宏块,有两个8x8大小的色度宏块。色度的变换量化过程和亮度的(a)情况相似,流程如下所示:

 反流程如下所示:

 

先建立一个对264的变换量化的整体认识,具体细节比如量化步长、变换核什么的等实际用到了再看。。。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值