图片的压缩编码处理

图片的压缩编码处理

此文作为我对于图像压缩编码处理的学习记录,包含一个较全面的视角以及一些技术细节的解读。文章脉络:本文首先科普图片“颜色空间”的基本概念,然后阐述了无失真信源编码的极限和信息压缩的基本原理,接着详细介绍了图像压缩的编码模型,最后列举了图像缩放算法的对比分析

颜色空间

在图像处理中,颜色空间用来描述和表示颜色的数学模型。不同的颜色空间有不同的特性和用途,选择合适的颜色空间可以让我们更好地理解和操作图像。

RGB

8bit位深时,每个值占一个字节,每个像素的颜色由3个0~255的值决定

CMYK

CMYK红黄蓝,区别于光的三原色红绿蓝

用于颜色、打印相关

YUV/YCbCr

亮度信息Y与色彩信息U、V

用于视频编码,可以兼容黑白图像

压缩的极限

信息熵:经常出现的符号使用短的编码,出现频率低的使用更长的编码。如果做到每个符号的代码长度等于它出现概率的对数,则编码总长度就是信息熵

香农第一定理指出:

一段信息的信息量是固定的,这称为这段信息的信息熵

无论怎么压缩,信息熵是无失真信源编码的极限值

若编码的平均码长小于信息熵值,必然发生差错(也就是有损)

编码模型

映射

分割子块 -> 转YUV颜色空间 -> 去中心/预测 -> DCT

利用“人眼对亮度更为敏感”,将图像从RGB模型转为YCbCr模型,然后再分别对亮度矩阵、色度矩阵进行映射,保留尽量多的亮度信息

去中心/预测:

jpeg:去中心化(所有像素值减去128)

webp:通过帧内预测或者帧间预测去除空间冗余和时间冗余,从而得到一个像素值相比编码块小很多的残差块

映射器:常见如 DCT (离散余弦变换)

映射后产生优势:

高低频信息分离,低频信息在左上角,高频信息数量多且人眼不敏感

利于后续通过量化将大部分高频信息置为0

量化

让变换块的系数都同时除以一个值(QStep量化步长,对应QP量化参数)

QP值越大,清晰度损失越大

熵编码

去除信息熵冗余。在出现连续多个0像素的时候压缩率会更高

方法:Z排列、哈夫曼编码

缩放算法

插值算法

做法

优点

缺点

最近邻插值

将目标像素映射到原图像位置,取周围4个像素离得最近的像素值

速度快

效果差,锯齿

双线性插值

与原像素点距离作为权重,水平和竖直分别计算得到像素值

效果好

速度慢

双三次插值

16个像素点复杂计算

效果最好

速度最慢

相关推荐

一台VIVO手机能用多久?
beat365英超欧冠平台

一台VIVO手机能用多久?

📅 07-16 👁️ 1795
真鲷鱼档次高吗(真鲷鱼多少钱一斤)
be365

真鲷鱼档次高吗(真鲷鱼多少钱一斤)

📅 10-16 👁️ 6115
陈平简介(汉初人物志:陈平)
be365

陈平简介(汉初人物志:陈平)

📅 08-20 👁️ 9107
命运之刃任务怎么做
beat365英超欧冠平台

命运之刃任务怎么做

📅 01-25 👁️ 5002
烤箱可以烤些什么东西?烤箱使用全指南:从面包烘焙到肉类烤制
点晴阁加盟介绍
365betappios

点晴阁加盟介绍

📅 12-24 👁️ 7672