H.264学习笔记4——变换量化
来源:互联网 发布:鱼摆摆淘宝免费模板 编辑:程序博客网 时间:2024/05/30 04:28
A、变换量化过程总体介绍
经过帧内(16x16和4x4亮度、8x8色度)和帧间(4x4~16x16亮度、4x4~8x8色度)像素块预测之后,得到预测块的残差,为了压缩残差信息的统计冗余,需要对残差数据进行变换和量化操作。变换和量化的总体操作过程如下图:
对于Intra_16x16的亮度块,通过16(4x4)个4x4的前向DCT变换,然后对得到的16个DC系数再进行4x4的Hadamard变换,然后对于16个DC系数和240个AC系数进行量化(DC和AC的量化公式略有不同,为了控制量化死区大小,详见量化器设计)。
对于8x8的色度块(帧内、帧间),进行4x4的DCT变换后,得到4个DC和60个AC系数,同样对于DC系数先进行2x2的Hadamard变换后,分别对DC和AC系数进行量化。
由于变换块越大,编码的效率越高,且图像的细节信息越能得以保留。所以H.264在HD档次中,支持进行8x8的DCT变换(设置标志transform_size_8x8_flag=1),且不需要对DC系数进行Hadamard变换,DCT变换后对DC和AC系数进行统一的量化处理。
然后对于其他尺寸的变换块(不是Intra_16x16、8x8色度,没有transform_size_8x8_flag=1标志),则简单采用4x4的DCT变换,然后直接对DC和AC系数进行统一量化。
B、量化介绍
量化是通过多对一的映射,降低比特率。主要有均匀量化、非均匀量化和自适应量化。根据最优量化器设计准则:最佳量化区间的边界值为相邻两个最佳量化值的平均数,最佳量化值为所在量化区间的均值。
1、简单的定长标量量化器公式如下:
Z = int(|W|/S) * sng(W)。
其中W表示输入值,S是量化步长,int(x)表示小于等于x的最大整数,sng(x)表示x的符号,取值-1、0、+1。
反量化公式:
- H.264学习笔记4——变换量化
- H.264 学习笔记(四)——变换与量化(ZT)
- H.264变换量化反量化反变换过程
- 理解H.264离散余弦变换和量化
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)
- 【H.264/AVC视频编解码技术详解】十五、H.264的变换编码(二):H.264整数变换和量化的实现
- H凹变换—lhMorpHConcave
- H凸变换—lhMorpHConvex
- homerHEVC代码阅读(34)——变换和量化
- HEVC函数入门(22)——变换&量化
- OSG学习笔记4—使用空间变换节点
- Opencv学习笔记——透视变换
- Ffmpeg结构体——AVFormatContext
- 如何反编译android的apk文件得到资源文件
- Git系列之操作标签
- HDU 3018 Ant Trip
- 可变参数问题以及实现简单的myprintf
- H.264学习笔记4——变换量化
- Web应用程序中调度器的启动和关闭问题
- iOS与Android中webview的css适配
- BZOJ 1798: [Ahoi2009]Seq 维护序列seq (线段树乘法加法的混合操作)
- 最新版本的Struts2+Spring4+Hibernate4三大框架整合(截止2014-10-15)
- TCP长连接与短连接的区别
- OpenGL入门1——安装及编程环境配置
- HDU—— 1711 Number Sequence
- TCP阻塞模式开发