网站开发文档 php,哪里有做网站培训的,对红色网站建设的建议,网页界面设计的构成要素http://blog.csdn.net/timebomb/article/details/5960624 timebomb的博客
DCT变换的基本思路是将图像分解为88的子块或1616的子块#xff0c;并对每一个子块进行单独的DCT变换#xff0c;然后对变换结果进行量化、编码。随着子块尺寸的增加#xff0c;算法的复杂度急剧上升…http://blog.csdn.net/timebomb/article/details/5960624 timebomb的博客
DCT变换的基本思路是将图像分解为8×8的子块或16×16的子块并对每一个子块进行单独的DCT变换然后对变换结果进行量化、编码。随着子块尺寸的增加算法的复杂度急剧上升因此实用中通常采用8×8的子块进行变换但采用较大的子块可以明显减少图像分块效应。 在图像压缩中一般把图像分解为8×8的子块然后对每一个子块进行DCT变换、量化并对量化后的数据进行Huffman编码。DCT变换可以消除图像的空间冗余Huffman编码可以消除图像的信息熵冗余。 DCT 是无损的它只将图像从空间域转换到变换域上使之更能有效地被编码。对一个图像子块而言将对变换后的6?个系数进行量化并对Z字顺序扫描系数表进行 编码。这种排列方法有助于将低频非0系数置于高频系数之前直流系数由于包含了所有图像特征中的关键部分而被单独编码。量化后的系数经过熵编码进一步无损 压缩通常采用的是Huffman编码。这种压缩编码方法中图像质量的降低主要是由于对系数的量化造成且不可恢复。假设子图像为f(x, y)则DCT变换可以由下面的公式实现 其中式(1)的f(u, v)表示变换域的高频成分也称为交流系数式(2)中F(0, 0)表示变换域中的低频成分也称为直流系数。对变换结果进行分析可以看出能量主要集中到左上角。DCT变换具有良好的去相关特性。在图像的压缩编码中N一般取8。 在解码时首先得到各点的DCT系数然后根据下面的DCT反变换即可恢复出原图像。DCT的反变换公式为 利用公式(3)可以无损地恢复原图像。在实际的应用中使用DCT变换的矩阵描述形式更容易理解。
基于系数重要性的分层编码 按照上面的方法对图像变换之后的系数进行编码产生的码流不具有分层的特性因而不具有分级传输的能力。为了实现分层压缩我们对变换后的系数进行重新排列(见图1)再进行支持分级传输特性的编码。 由上面图中的方法可知变换后能量集中到变换域的左上角。因此基于DCT变换的 图像压缩方法是对系数采用“Z”字型扫描的方式处理。为了实现分层编码我们将这些系数重新排列然后进行分层次的编码左上角的4个系数作为基本层的数 据左上角16个系数作为第一增强层的数据这16个系数是除基本层中的四个系数以外的其余系数从16-47的数据作为第二增强层的数据其余的16个 系数作为第三增强层数据。 经过重排并进行分层压缩之后在各个层次上进行测试可以发现在只传输基本层时可提供峰值信噪比为23.23dB以上的图像增加一个增强层图像的峰值信噪比强达到28.9dB以上如果加入第二个增强层恢复图像的峰值信噪比可以达到37.35dB。 采用这种方法通过对DCT变换后 的系数按照其重要性进行取舍可以非常方便地实现图像序列的分层压缩和分级传输大大提高压缩算法对不同传输通道的适应能力并兼顾到帧内图像质量与帧速 率。在一般的应用场合下只传输第一增强层的数据即可达到较好的视觉效果此时需要熵编码的数据量已经减少为原数据量的1/4通过熵编码的方法可以获 得很高的压缩比。