图像压缩编码的理论算法。

基于 DCT 的 JPEG 图像压缩编码的理论算法和压缩过程的框图,如图 2-1所示。

 

 

图 2-1 基于 DCT 编码的 JPEG 压缩过程简化图

图 2-1 是基于 DCT 变换的图像压缩编码的压缩过程,但是解压缩过程是与

上图的过程完全相反的。 在编码过程中,首先是把输入图像的颜色空间转换后分解为 8×8 大小的数

据块,其次是用正向二维 DCT 将每个块转变成 64 个 DCT 系数值,其中有 1 个 数值是直流(DC)系数,其余的 63 个是交流(AC)系数,然后对 DCT 系数进行量化, 最后把量化得到的 DCT 系数进行,这就是图像压缩的过程。论文网

在解码的时候,会先压缩成图像格式,但是要先解码已经编码的量子化 DCT 系数,然后运用逆量化的方法,使用二维 DCT 反变换把 DCT 系数换成 8×8 样 本像块,最后把操作完成的块合在一起变成一个完整的图像,这个就是图像的解 压过程[13]。

2。2 DCT 的基本原理

在压缩算法中,先将输入图像划分为 8×8 或 16×16,的图像块,对每个图 像块作 DCT 变换;然后舍弃高频的系数,并对余下的系数进行量化以进一步减 少数据量;最后使用无失真编码来完成压缩任务。解压缩时首先对每个图像块做 DCT 反变换,然后将图像拼接成一副完整的图像。

DCT 的定义 :

DCT 变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数形 式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余 弦变换。

二维离散余弦变换 DCT(Discrete Cosine Transform)的定义为,假设矩阵 A 的大小为 M ×N。

其中 B p q 称为矩阵 A 的 DCT 系数。在 MATLAB 中,矩阵的下标从 1 开始而

不是从 0 开始的,所以 MATLAB 中的矩阵元素 A(1,1)和 B(1,1)分别对应于上面 定义中的值 A00 和 B00    ,

依此类推。 DCT 是一种可逆变换,离散反余弦变换定义如下:

上式的含义是任何 M×N 的矩阵 A 都可以表示为一系列具有下面形式的函 数的和:

B  cos (2m 1) p cos (2n 1)q

 p q pq 2M 2N

0 p M 1,0 q N 1

这些函数称为 DCT 变换的基函数。这样, , Bp。q 就可以看成是应用于每 个基函数的加权。

DCT的算法 : 离散余弦变换可以由定义式出发进行计算。但这样的计算量太大,在实际应

用中很不方便。所以需要寻求一种快速算法。以一维离散余弦变换为列,对快速 算法进行推导。

对时域数据向量做如下列延拓:

当 x=0,1,2,。。。。。。。。。N-1 fe(x) =f(x) 当 x=N,N+1,。。。。。。。。2N-1 时 fe(x)=0

则 fe(x)的离散余弦变换可写成下列:

由上式可见:是 2N 点的;离散傅里叶变换所以在离散余弦变换时,可以吧序列长度延拓 为 2N,然后作离散傅里叶变换,产生的结果取其实部即可得到余弦变换。

同理对于离散余弦变换 IDCT,可首先在变换空间将[F(u)]作如下延拓: 当 u=0,1,2,3,。。。。。。。。N-1 时 Fe(u)=F(u)

当 u=N,N+1,N+2,。。。。。。。。。,2N-1 时

上一篇:MQAM调制解调系统仿真+程序
下一篇:基于PCA方法的人脸识别技术研究

5d电子体系的晶体场效应与自旋轨道耦合

基于Java的串口通信设计

基于Kinect的深度图像编码

PSpice的电容式加速度计闭环反馈控制模块设计

基于混沌的数字图像加密技术研究

HFSS频率选择表面的设计仿真与分析

基于Virtex-5FPGA的图像处理系统研究

老年2型糖尿病患者运动疗...

新課改下小學语文洧效阅...

ASP.net+sqlserver企业设备管理系统设计与开发

互联网教育”变革路径研究进展【7972字】

网络语言“XX体”研究

张洁小说《无字》中的女性意识

我国风险投资的发展现状问题及对策分析

安康汉江网讯

麦秸秆还田和沼液灌溉对...

LiMn1-xFexPO4正极材料合成及充放电性能研究