图像压缩的技术按照压缩的格式有多重,不同的实现方式也有一定的差异,其中JPEG作为国际静态图像压缩标准,是一项成熟的图像编码技术,压缩比例高、失真小、运行速度快且易于实现,因此,被广泛的应用于多媒体、网络传输等多个领域。在STM32上也应用广泛。 1、图像压缩编码流程 JPEG 为连续色调静止图像压缩编码制定的国际通用标准. 标准包括压缩编码、解码、数据格式三部分,JPEG 定义了两种基本的压缩算法,一种为基于DCT 的有损压缩,包括基本系统、扩展系统. 另一种为预测压缩算法,即无损压缩. 其中,基本DCT 顺序型方式是最常用的压缩方法,其图像压缩编码流程如图1 所示.
2、基于STM32F4的图像压缩处理 图像压缩处理主要包括: ①图像预处理; ②进行离散余弦变换(DCT); ③量化处理; ④编码; 其中,图像的预处理为了是将原始图像的格式转换成YCrCb空间上;DCT将数据进行优化,降低运算量,提高运算速度;为了实现图像数据的压缩,必须对数据进行量化处理. 量化是多对一的映射,因此会造成图像信息损失;编码是图像压缩的最后一步. 经DCT变换后,图像的大部分能量集中在低频分量部分,而高频分量经过量化出现了一些0,因此,对DC系数和其他63个AC系数采用分别编码.由于相邻8×8块的DC系数之间相关性比较强,采用了差值脉冲编码(DPCM)方法进行DC编码,为了保证低频分量先出现,同时增加连续零的个数,首先对AC系数进行“Z”(Zig-Zag)排序,然后,将8×8的矩阵变成一个1×64的矢量,之后再进行亮度和色度编码。
|