多媒体知识点整理(5)
2017-12-23 本文已影响34人
球球球球笨
JPEG
JPEG压缩效果基于哪三个特性
- 图像内容变化缓慢
- 人对高频感知低于低频
- 灰度敏感性高于彩色敏感性
JPEG baseline的流程,步骤,各模块的原因分析,计算
为何使用YUV
因为灰度敏感性高于彩色敏感性。若图像是RGB格式,则编码器会执行颜色空间转换。
图像分块
为何选8x8?
因为尺寸太小,速度快,但是压缩能力有限制。
尺寸太大,去相关效果变好,但是由于DCT有渐进最佳性,也会趋于饱和。若图像本身相关性小,反而使得压缩的计算复杂性高。
DCT模块
变换后,直流分量一般最大,低频分量较大于高频分量。
DCT本身并不能进行码率压缩,因为仍然得到64个系数。
直流分量范围2040,交流-1023---1023
能量集中于系数块的左上角,因此可以丢弃大多数系数从而达到数据压缩。
量化模块
根据人眼的视觉特性,对低频分量进行较细的量化,对高频分量采取较粗的量化。
为何说压缩是由量化开始的?
由于不同位置对应不同的空间频率,每个DCT系数对应的量化值并不相同,高频系数的量化值更大,量化使得绝大多数系数为0,因此得到更好的压缩性能,也带了损失。
质量因子
质量因子值越大,量化矩阵中各元素的值越大,压缩出来的图像越失真。
细节越多的图像,图像变化较为剧烈,JPEG会引起较大的损失,因为损失了很多本该存在的高频分量。
熵编码的准备
A. AC系数
- Zigzag扫描
- 游程编码
B.DC系数 DPCM编码
为何使用zigzag?
因为系数大多数集中在左上角,按照频率的高低顺序读出可以出现很多连零的机会,故可以使用游程编码,结尾都是0。
AC系数的游程编码需要对每一块单独进行,而JPEG的DC系数的DPCM编码对整个图像实施一次即可。
熵编码(不太懂 需要再看一次 待补)
DC系数的huffman编码
- 构造中间码 (size,amplitude)
size:需要多少位表示DC系数
amplitude:差分DC系数幅度
对size进行huffman编码 - 利用size查找亮度DC系数的huffman编码表,得到该size分组的编码,将此编码放在前面。
- 在查得size编码的后面附加上DC系数的编码值
AC系数的huffman编码
啊啊啊啊 不太会再说吧
对JPEG编解码进行性能分析
压缩比 = 编码前的平均码长/编码后的平均码长
JPEG四种模式
-
顺序模式(eg.motionJPEG)
对灰度图或彩色图像分量进行从左到右,从上到下的扫描并编码。
- 基于DCT的顺序编码
- 熵编码使用huffman
- 8比特数据精度
-
累进模式
图像传输过程中,可快速的由粗到细,首先快速传送低质量的图像,接着传送高质量的图像
- 对图像进行粗略但是可接受的编码
-
对图像逐次细化直到得到最后的图像
频谱选择,逐步逼近
两种方法比较.PNG
-
分层模式
对于处于不同分辨率层次中的图像进行编码。低分辨率图像是通过低通滤波器压缩后的图像,更高分辨率的图像提供更多的细节信息。
(金字塔型编码)
步骤
- 将原图像经过下采样和滤波,得到降低分辨率的图像
- 使用上述编码模式对降低分辨率后的图像进行编码
- 将经过上采样后的图像作为原图像的预测图像,对差值进行编码。
-
不断重复,直到对原图像编码完毕
分层模型举例.PNG
-
无损模型(压缩率较低)
采用一种简单的差分编码方法,不涉及任何的变换编码。
JPEG2000的新改进
- 低位率压缩
- 感兴趣区域编码
- 大图像
- 无损和有损压缩,噪声环境中的传输,渐进传输,计算机生成的影像
所有的新功能和改进功能都基于小波变换