image compression

图片压缩

图片压缩算法概览

1 JPEG压缩

JPEG压缩算法用失真的压缩方式来处理图像,但失真的程度是肉眼无法辨认的。

压缩过程
1.颜色模式转换及采样;2.DCT变换;3.量化;4.编码

1.1 颜色模式转换及采样

RGB色彩系统是我们最常用的表示颜色的方式。JPEG采用的是YCbCr色彩系统,Y代表亮度,Cb代表色度,Cr代表饱和度,计算公式如下:

Y=0.2990R+0.5870G+0.1140B
Cb=-0.1687R-0.3313G+0.5000B+128
Cr=0.5000R-0.4187G-0.0813B+128

人类的眼睛对低频的数据比对高频的数据具有更高的敏感度,对亮度的改变也比对色彩的改变要敏感的多,因此Y成分的数据是比较重要的,而Cb和Cr成分的数据相对不重要,就可以只取部分数据来处理。JPEG通常有两种采样方式:YUV411和YUV422,它们所代表的意义是Y,Cb和Cr三个成分的数据取样比例。

1.2 DCT变换

DCT,Discrete Cosine Transform,离散余弦变换
经过DCT转换后,矩阵左上角代表低频向量,矩阵右下角代表低频向量

1.3 量化

量化过程有量化表的,JPEG压缩标准中有推荐的亮度量化表和色度量化表(饱和度不用量化吗???)
量化过程说明

1.4 编码

huffman编码是JPEG最常用的编码方式
DC编码,DC是采用差值脉冲编码调制(DPCM)的差值编码法,也就是在同一图像分量中取得每个DC值与前一个DC值的差

AC编码,AC编码方式与DC略有不同,在AC编码之前,首先得将63个AC值按Zig-zag排
序,即按照下图箭头所指示的顺序串联起来。
Zig-zag排序

视频压缩

H.264

帧间压缩,
视频帧示意
I-frame是完全编码的图片,每个I-frame包含了显示图片的所有内容,I-frame本身是进行了压缩的,如JPEG压缩方式,
P-frame只需要存储与上一个I-frame不同的地方
B-frame是双向帧,需要的数据来自上一个P-frame和下一个I-frame
帧压缩示意

不采用帧间压缩的视频所有帧都是I-frame的

DSIC是深度立体图像压缩的一种方法,通过将深度数据与图像数据结合在一起,实现了更高效的压缩和解压缩。以下是DSIC深度立体图像压缩的代码实现: 1. 数据准备阶段: - 获取左眼和右眼的彩色图像作为输入。 - 通过深度传感器获取左眼和右眼的深度图像。 - 将深度图像进行预处理,例如去噪、缩放等操作。 2. 特征提取阶段: - 对输入的彩色图像进行特征提取,例如采用卷积神经网络(CNN)提取特征。 - 对深度图像进行特征提取,可以选择不同的方法,例如基于几何形状的方法或基于结构的方法。 3. 特征融合阶段: - 将彩色图像特征和深度图像特征进行融合,可以使用简单的加权平均或更复杂的融合方法,如使用神经网络融合。 4. 压缩阶段: - 对融合后的特征进行压缩,可以使用传统的图像压缩算法,如JPEG或JPEG2000。 - 对深度图像进行压缩,可以使用无损压缩算法,如RLE或Huffman编码。 5. 解压缩阶段: - 对压缩后的特征进行解压缩,还原为融合前的特征。 - 对深度图像进行解压缩,恢复为原始的深度图像。 6. 重建阶段: - 将恢复的特征进行重建,生成立体图像。 - 可以使用图像合成方法,如深度图与彩色图的一致性重建算法。 通过上述步骤,DSIC深度立体图像压缩的代码实现可以实现对深度图像和彩色图像的高效压缩和解压缩。具体的算法和实现细节可能会根据具体情况而有所不同,上述只是一个基本的实现框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值