月份:2014年4月
已解决:Scala SBT 第一次运行时下载文件失败
已解决:CodeWarrior调试提示ILLEGAL_BP
[Week2.5]图像量化——JPEG在此压缩
图像经过分块、DCT变化,已经为压缩作好准备了。纳尼!折腾了大半天才算“作好准备”,你大爷逗我吧?客官请息怒,“量化”就正式开始压缩啦,3天瘦20斤,效果显著,无用退款!
JPEG量化:更多地保留低频信息
经过DCT变换后,图像低频部分都集中在左上角,这部分信息对人类理解图像内容非常重要;图像高频部分集中在右下角,这部分记录图像的细微变化,人眼几乎不能察觉。
所以,更多地保留DCT左上方的低频信息,去除DCT右下方的高频信息,既能大大压缩图像大小,同时较好地保证了图像质量。
说得容易,实现方法也很容易,那就是“量化”。
Soga!那...量化是啥?
简单地说,“量化”是将“连续量”转换为“离散量”的过程。“四舍五入”、“向下取整”就是典型的量化。
比如,设量化器(Quantizer)为8,那么,16,21,24,59的量化结果是:
[16/8] * 8 = 16;
[21/8] * 8 = 16;
[24/8] * 8 = 24;
[59/8] * 8 = 56;
( 这里[ ]表示向下取整 )
继续阅读“[Week2.5]图像量化——JPEG在此压缩”
已解决: CodeWarrior提示Error: C2801: '}'missing
[Week2.4]图像DCT变换
均方差(Mean Square Error, MSE)
评价一幅图像压缩前和压缩还原后的差异,有两种常用方法:
①大家来找茬——进化程度高的人类可轻易识别;
②数学方法——压缩前和还原后的图像作均方差;
均方差计算方法:
显然,MSE越小,图像的质量越好。
K-L 转换:
要想获得最小均方差的转换,可以使用K-L转换。K-L转换(Karhunen-Loève Transform)是建立在统计特性基础上的一种转换,它是均方差(MSE, Mean Square Error)意义下的最佳转换,因此在资料压缩技术中占有重要的地位。K-L转换是对输入的向量x,做一个正交变换,使得输出的向量得以去除数据的相关性。
简单地说,只要能不辞劳苦地算出图像的K-L转换,就能找到MSE最小的转换。
我的天啊,这听起来真棒!等等,K-L转换的计算复杂度奇高,半天压缩才压缩一副图片,恐怕自拍狂们会hold不住。
那有没有简单的变换方法,计算简单,又能保证图像质量?
继续阅读“[Week2.4]图像DCT变换”
[Week2.3]JPEG采用8×8分块处理
JPEG分块对图像进行处理
JPEG压缩图像的第一步,是将图像分解成一个个8×8的小图像,之后再分别对这些小图像进行变换量化编码。
继续阅读“[Week2.3]JPEG采用8×8分块处理”