JPEG&H.264的DCT变换与量化

JPEG的DCT变换和量化的内容
参考 https://blog.csdn.net/jubincn/article/details/6882179
补充说明:

  1. JPEG中的DCT变换是浮点运算。存在的缺点:
    (1)由于在解码端的浮点运算精度问题,会造成解码后的数据失配,进而引起漂移;
    (2)硬件实现中浮点运算的效率较低,导致编码效率较低。
  2. 霍夫曼编码背景知识参考 https://thecodeway.com/blog/?p=522

H.264的整数DCT变换和量化的内容
参考自《新一代视频压缩标准H264_AVC_毕厚杰》(书名可能不准确)

H.264标准对整数DCT_4x4变换及量化的过程讲得十分详细,为了更好地学习和理解整个过程,下面提出一些问题(大部分可在文中找到答案)。

Q1:JPEG和H.264的DCT变换有什么异同?

Q2:整数DCT变换有哪些优点?

Q3:为什么要避免浮点运算和除法?(额外问题)
答案可参考 https://blog.csdn.net/zzhongcy/article/details/77185573
关于硬件实现复杂运算的背景知识可参考
https://wenku.baidu.com/view/6c623aa8910ef12d2bf9e732.html?pn=51

Q4:蝶形快速算法的原理是什么?

提示:基于矩阵的对称关系,行方向上对称和反对称隔行出现。

Q5:为什么要进一步对直流系数(intra16x16 luma_DC4x4&chroma dc2x2)进行Hadamard变换?

Q6:Hadamard变换矩阵有什么特点?
提示:对称矩阵,可逆矩阵

Q7:为什么要取d的近似值为1/2,b的近似值是怎么得到的?

Q8:MF的值是怎么算的?和什么有关?

Q9:整数DCT变换的逆过程是怎样的?(额外问题,毕厚杰的文中未涉及)
提示:与MF对应的值是V,计算方法类似MF。
具体可参考H.264 / MPEG-4 Part 10 White Paper Transform & Quantization

Q10:编码分块大小对压缩有什么影响?
答案可参考 http://www.docin.com/p-756389232.html
“在实际应用中,为了便于实现和后处理,DCT变换采用了分块变换技术。图像块大,相关性就高,压缩比也就大。但是块的尺寸太大又会丢失数据的平稳性,从而引入误差,包括失去高频细节、引入物体边界的振铃效应和可见的DCT分块效应。这种分块的单独变换和处理,带来了压缩效率上的限制和块效应问题。当压缩倍数较高时,块效应(类似于马赛克效应)成为限制DCT变换编码质量的主要因素。究其根本原因,在于DCT变换不具有良好时-频局部性和全局变换的特点。”——源自《小波编码与网络视频传输》第3章(沈兰荪 卓力编著)

Q11:方块效应产生的原因是什么?

**参考自《新一代视频压缩标准H264_AVC_毕厚杰》**

版权声明:本文为allen_sdz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。