计算机知识一锅烩

多媒体知识点整理(5)

2017-12-23  本文已影响34人  球球球球笨

JPEG

JPEG压缩效果基于哪三个特性
  1. 图像内容变化缓慢
  2. 人对高频感知低于低频
  3. 灰度敏感性高于彩色敏感性

JPEG baseline的流程,步骤,各模块的原因分析,计算
JPEG baseline.PNG
为何使用YUV

因为灰度敏感性高于彩色敏感性。若图像是RGB格式,则编码器会执行颜色空间转换。

图像分块

为何选8x8?
因为尺寸太小,速度快,但是压缩能力有限制。
尺寸太大,去相关效果变好,但是由于DCT有渐进最佳性,也会趋于饱和。若图像本身相关性小,反而使得压缩的计算复杂性高。

DCT模块

变换后,直流分量一般最大,低频分量较大于高频分量。
DCT本身并不能进行码率压缩,因为仍然得到64个系数。
直流分量范围2040,交流-1023---1023
能量集中于系数块的左上角,因此可以丢弃大多数系数从而达到数据压缩。

量化模块

根据人眼的视觉特性,对低频分量进行较细的量化,对高频分量采取较粗的量化。
为何说压缩是由量化开始的?
由于不同位置对应不同的空间频率,每个DCT系数对应的量化值并不相同,高频系数的量化值更大,量化使得绝大多数系数为0,因此得到更好的压缩性能,也带了损失。

逆过程.PNG
质量因子
质量因子值越大,量化矩阵中各元素的值越大,压缩出来的图像越失真。
细节越多的图像,图像变化较为剧烈,JPEG会引起较大的损失,因为损失了很多本该存在的高频分量。
熵编码的准备

A. AC系数

为何使用zigzag?
因为系数大多数集中在左上角,按照频率的高低顺序读出可以出现很多连零的机会,故可以使用游程编码,结尾都是0。

AC系数的游程编码需要对每一块单独进行,而JPEG的DC系数的DPCM编码对整个图像实施一次即可。

熵编码(不太懂 需要再看一次 待补)

DC系数的huffman编码

  1. 构造中间码 (size,amplitude)
    size:需要多少位表示DC系数
    amplitude:差分DC系数幅度
    对size进行huffman编码
  2. 利用size查找亮度DC系数的huffman编码表,得到该size分组的编码,将此编码放在前面。
  3. 在查得size编码的后面附加上DC系数的编码值
    AC系数的huffman编码
    啊啊啊啊 不太会再说吧

对JPEG编解码进行性能分析

压缩比 = 编码前的平均码长/编码后的平均码长

JPEG四种模式
图像压缩系统.PNG
  1. 顺序模式(eg.motionJPEG)
    对灰度图或彩色图像分量进行从左到右,从上到下的扫描并编码。
  1. 累进模式
    图像传输过程中,可快速的由粗到细,首先快速传送低质量的图像,接着传送高质量的图像
  1. 分层模式
    对于处于不同分辨率层次中的图像进行编码。低分辨率图像是通过低通滤波器压缩后的图像,更高分辨率的图像提供更多的细节信息。
    (金字塔型编码)
    步骤
  1. 无损模型(压缩率较低)
    采用一种简单的差分编码方法,不涉及任何的变换编码。

JPEG2000的新改进
  1. 低位率压缩
  2. 感兴趣区域编码
  3. 大图像
  4. 无损和有损压缩,噪声环境中的传输,渐进传输,计算机生成的影像

所有的新功能和改进功能都基于小波变换

上一篇 下一篇

猜你喜欢

热点阅读