基于DCT的JPEG图像编解码概述
基于DCT的JPEG图像压缩及实现_read
万方数据
40
青海师范大学学报(自然科学版)
2010皇
(3)Z字形编码(Zigzag scan).
(4)使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数进行编码.
(5)使用行程长度编码(run—length encoding,RLE)对交流系数进行编码.、
应用MATLAB图像处理工具箱中的相关函数和命令来实现基于DCT的JPEG图像压缩编码理 论算法的压缩方法简单,仿真程序思路清晰,既保证有较高的压缩比,又保证有较好的图像质量.
4结束语
DCT具有算法简单,易于硬件实现等优点,从而广泛应用于图像压缩领域,尤其在高比特率传输条 件下能取得令人满意的压缩效果.然而它在低比特率条件下的“方块效应”成了不容忽视的“瓶颈”缺陷. 原因就在于DCT处理的图像是分块进行的,块与块边界两边的像素相关性不能去掉,从而形成了明显 的方块边界.但事无绝对的,一种压缩图像的方法不可能尽善尽美,每一种压缩算法都有优缺点,要想得 到很好的图像压缩,就要综合地利用多种技术来完成. 参考文献:
基于DCT的压缩编码属于有损压缩,通过去除图像本身的冗余量和人的视觉冗余量来达到压缩 数据的目的,主要经过以下几个步骤:
(1)正向离散余弦变换(DCT). (2)量化(quantization).
收稿日期:2010一05—1Z 作者简介:吴术路(1964一),男(汉族),浙江安吉人,青海师范大学在职硕士研究生,主要从事计算机教学.
参考文献(6条) 1.秦襄培 Matlab图像处理与界面编程宝典 2009 2.张汗灵 MATLAB在图像处理中的应用 2008 3.郑阿奇;曹戈;赵阳 MATLAB实用教程 2002 4.阮秋琦 数字图像处理学 2001
基于DCT的图像压缩编码算法的研究 王晓飞
课程设计任务书学生姓名:王晓飞专业班级:通信1001班指导教师:魏洪涛工作单位:信息工程学院题目:通信工程应用技术综合训练与实习初始条件:MATLAB软件平台设计任务与要求:图像通信之前需要进行数据量压缩,编程实现JPEG图像压缩标准的主要环节,完成压缩和解压过程,计算压缩比。
要求:将彩色图像进行颜色空间转换、对不同的颜色分量进行不同的采样、对于3个分量进行8×8的DCT变换、对DCT系数矩阵按照JPEG推荐的量化表进行量化;对量化后的系数进行Z形扫描,最后进行熵编码,形成码流,计算比特数,和压缩比。
解压从量化后的DCT系数表开始逆向进行。
时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (3)1概述 (5)1.1 图像压缩编码技术 (5)1.2 离散余弦变换(DCT) (5)1.3 MATLAB 及其图像处理工具箱 (6)2 基于DCT的图像压缩编码算法 (6)2.1 基于DCT的图像压缩编码算法的过程 (6)2.2 基于DCT的JPEG图像压缩编码步骤 (7)2.2.1 颜色空间的转换和采样 (7)2.2.2 二维离散余弦变换 (8)2.2.3 DCT系数的量化 (9)2.2.4 量化系数的编排 (10)2.2.5 DC系数的编码 (11)2.2.6 AC系数的编码 (11)2.2.7 组成位数据流 (12)3 基于DCT图像压缩的MATLAB实现 (13)4 matlab仿真结果 (14)5 心得体会 (15)参考文献 (17)附录 (18)摘要随着科学技术的发展,图像压缩技术越来越引起人们的关注,本论文研究了基于DCT 变换的JPEG图像压缩编码算法。
首先说明了图像压缩在现代通信中的必要性和可行性以及MATLAB图像处理工具箱的相关知识,然后重点介绍了JPEG压缩编码的具体过程和方法,详细介绍了编码中DCT变换、量化、熵编码和霍夫曼编码等模块的原理。
最后分析了图像经过不同压缩比时,图像质量的变化情况。
基于DCT的图像压缩编码算法的MATLAB实现
摘要随着科学技术的发展,图像压缩技术越来越引起人们的关注。
为此从众多的图像压缩编码标准中选取了基于DCT变换的JPEG图像压缩编码算法进行研究,并通过对比分析各种软件特性选取了MATLAB进行实验仿真。
首先说明了图像压缩在现代通信中的必要性和可行性,然后讲述了MATLAB及其图像处理工具箱的相关知识,并对基于DCT变换的JPEG图像压缩算法进行了详细的研究,重点介绍了JPEG压缩编码的具体过程和方法 ,详细介绍了编码中DCT变换、量化、熵编码和霍夫曼编码等模块的原理和数学推导以及各模块的功能分析。
最后应用MATLAB进行了实验仿真并分析结果得出结论。
实验结果表明基于DCT 变换的JPEG 图像压缩方法简单、方便,既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB仿真出来的结果较好的反应了其编码算法原理。
关键词JPEG图像压缩;DCT;MATLAB;图像处理工具箱目录摘要 (I)Abstract ....................................... 错误!未定义书签。
第1章绪论. (1)1.1课题背景 (1)1.1.1 离散余弦变换 (2)1.1.2 预测技术 (3)1.2图像压缩技术的发展和现状 (3)1.2.1 图像编码技术发展历史 (3)1.2.2 图像编码技术的现状 (4)1.3MATLAB及其图像处理工具箱 (4)第2章图像压缩编码理论算法 (6)2.1DCT变换的思想来源 (6)2.2基于DCT的JPEG图像压缩编码步骤 (8)2.2.1 颜色空间的转换和采样 (8)2.2.2 二维离散余弦变换 (9)2.2.3 DCT系数的量化 (13)2.2.4 量化系数的编排 (14)2.2.5 DC系数的编码 (16)2.2.6 AC系数的编码 (16)2.2.7 组成位数据流 (18)2.2.8 DCT变换在图像压缩中的应用 (21)2.3代码实现................................ 错误!未定义书签。
多媒体技术08DCT与JPEG编码
第8章 DCT 与JPEG 编码JPEG 是用于灰度图与真彩图的静态图像压缩的国际标准,JPEG 主要采用了以DCT (Discrete Cosine Transform ,离散余弦变换)为基础的有损压缩算法,在本章中会作较为详细的介绍。
JPEG 2000则是用于二值图、灰度图、伪彩图和真彩图的静态图像压缩的新标准,它采用的是性能更优秀的DWT (Discrete Wavelet Transform ,离散小波变换),将在下一章介绍。
因为视频的帧内编码就是静态图像编码,所以JPEG 和JPEG 2000的编码算法也用于MPEG 的视频编码标准中。
8.1 DCT与上一章所讲的几种熵编码不同,DCT (Discrete Cosine Transform 离散余弦变换)是一种变换型的源编码,使用十分广泛,也是JPEG 编码的一种基础算法。
DCT 将时间或空间数据变成频率数据,利用人的听觉和视觉对高频信号(的变化)不敏感和对不同频带数据的感知特征不一样等特点,可以对多媒体数据进行压缩。
8.1.1 余弦变换DCT 是计算(Fourier 级数的特例)余弦级数之系数的变换。
若函数f (x ) 以2 l 为周期,在[-l , l ]上绝对可积,则f (x )可展开成Fourier 级数:∑∞=⎪⎭⎫ ⎝⎛++=10sin cos 2)(n n n l x n b l x n a a x f ππ其中正弦变换余弦变换 sin )(1 cos )(1⎰⎰--==l l n l l n dx l x n x f l b dx lxn x f l a ππ若f (x )为奇或偶函数,有 a n ≡0或b n ≡0,则f (x )可展开为正弦或余弦级数:∑∑∞=∞=+==101cos 2)( sin )(n n n n l xn a a x f l x n b x f ππ或任给f (x ),x ∈[0, l ],总可以将其偶延拓到[-l , l ]:⎩⎨⎧-∈-∈=]0,[),(],0[ ),()(l x x f l x x f x f 然后再以2l 为周期进行周期延拓,使其成为以2l 为周期的偶函数。
DCT及JPEG编码.
DCT 与JPEG 编码JPEG 是用于灰度图与真彩图的静态图像压缩的国际标准,JPEG 主要采用了以DCT (Discrete Cosine Transform ,离散余弦变换)为基础的有损压缩算法,在本章中会作较为详细的介绍。
JPEG 2000则是用于二值图、灰度图、伪彩图和真彩图的静态图像压缩的新标准,它采用的是性能更优秀的DWT (Discrete Wavelet Transform ,离散小波变换),将在下一章介绍。
因为视频的帧内编码就是静态图像编码,所以JPEG 和JPEG 2000的编码算法也用于MPEG 的视频编码标准中。
8.1 DCT与上一章所讲的几种熵编码不同,DCT (Discrete Cosine Transform 离散余弦变换)是一种变换型的源编码,使用十分广泛,也是JPEG 编码的一种基础算法。
DCT 将时间或空间数据变成频率数据,利用人的听觉和视觉对高频信号(的变化)不敏感和对不同频带数据的感知特征不一样等特点,可以对多媒体数据进行压缩。
8.1.1 余弦变换DCT 是计算(Fourier 级数的特例)余弦级数之系数的变换。
若函数f (x ) 以2 l 为周期,在[-l , l ]上绝对可积,则f (x )可展开成Fourier 级数:∑∞=⎪⎭⎫⎝⎛++=10sin cos 2)(n n n l x n b l x n a a x f ππ其中正弦变换余弦变换sin )(1 cos )(1⎰⎰--==l l n l l n dx lx n x f l b dx lx n x f l a ππ若f (x )为奇或偶函数,有 a n ≡0或b n ≡0,则f (x )可展开为正弦或余弦级数:∑∑∞=∞=+==101cos2)( sin )(n n n n l xn a a x f l x n b x f ππ或任给f (x ),x ∈[0, l ],总可以将其偶延拓到[-l , l ]:⎩⎨⎧-∈-∈=]0,[),(],0[ ),()(l x x f l x x f x f 然后再以2l 为周期进行周期延拓,使其成为以2l 为周期的偶函数。
DCT+语音压缩编码+JPEG图像压缩
- 0.64 - 1.43 - 0.08 1.28 - 1.29 - 0.99 0.33 1.05 0.59 - 0.37 - 1.65 1.11 - 0.33 - 0.41 0.31 0.51 高频 - 0.26 0.65 - 1.04 - 0.73 0.66 - 0.56 0.20 0.78
应用较多的一些正交变换在变换域中能量 集中从优至劣排列如下: KLT DCT SLT DFT WHT HRT
Байду номын сангаас
而运算量由小到大排列如下:
HRT WHT SLT DCT DFT KLT
综合变换效果和运算量考虑,DCT变换 是很好的选择,它常常被认为是对声音及图像 的信号进行变换的准最佳变换。在实际的音频 变换编码中,DCT变换也是最常用的。
正弦型实变换的出现,它们以DCT和离散正弦变换 (DST为代表,均具有快速算法。其中最重要的是 N.Anmed等人于1974年提出的DCT,因为其变换矩 阵的基向量很近似于Toeplitz矩阵的特征向量,而 TOeplitz矩阵又体现了人类语言及图像信号的相关 特性。因此,DCT常常被认为是对语音和图像信号 的准最佳变换,其性能接近KLT。进一步的研究表 明,对于常用的马尔可夫过程数据模型,当相关系 数9—l时,KLT便退化为经典的DCT。因此,对于 大多数相关性很强的图像数据,DCT是KLT的最佳 替代者。
上述变换本身是可逆的,因而其也是一种无损 技术。然而,为了取得更满意的结果,某些重 要系数的编码位数比其他的要多,某些系数干 脆就被忽略了。这样,该过程就成为有损的了 x2 A
B
x1
KLT(Karhunen-Loeve)是所谓的最佳变换。
DCT是性能优秀的实际应用型变换。
基于DCT量化系数重组的JPEG图像加密算法
基于DCT量化系数重组的JPEG图像加密算法
王方超;李斌;周佳虹
【期刊名称】《微电子学与计算机》
【年(卷),期】2014(0)8
【摘要】整个加密算法分两个过程,首先在DCT变换之前对原始图像进行以8×8图像块为单位的统一图像置乱,使图像整体视觉效果上杂乱无章.其次,DCT变换量化系数之后,将相邻两个8×8系数块的低频系数组成一个新块,高频系数组成一个新块,分别进行块内的系数置乱,在改变原始图像频率成分的同时,可以减少改变零游程结构带来的加密对JPEG图像压缩影响,而且8×8系数块内的非零系数个数发生了变化,可以有效抵御统计非零系数个数攻击.
【总页数】5页(P139-143)
【关键词】JPEG图像;DCT量化系数;系数重组;置乱加密
【作者】王方超;李斌;周佳虹
【作者单位】镇江船艇学院
【正文语种】中文
【中图分类】TN918.4
【相关文献】
1.一种基于DCT系数直方图差异的JPEG图像篡改检测 [J], 王浩明;杨晓元
2.基于DCT系数统计特性的JPEG图像隐写分析 [J], 徐志杰;蔡晓霞
3.基于DCT系数的JPEG图像检索算法 [J], 赵珊;赵倩
4.基于DCT系数首位数字特征抽取的JPEG图像重压缩检测及篡改定位 [J], 刘洪利;刘本永
5.基于DCT变换的JPEG图像加密算法 [J], 单泽润;龚涛
因版权原因,仅展示原文概要,查看原文内容请购买。
DCT及JPEG编码
DCT 与JPEG 编码JPEG 是用于灰度图与真彩图的静态图像压缩的国际标准,JPEG 主要采用了以DCT (Discrete Cosine Transform ,离散余弦变换)为基础的有损压缩算法,在本章中会作较为详细的介绍。
JPEG 2000则是用于二值图、灰度图、伪彩图和真彩图的静态图像压缩的新标准,它采用的是性能更优秀的DWT (Discrete Wavelet Transform ,离散小波变换),将在下一章介绍。
因为视频的帧内编码就是静态图像编码,所以JPEG 和JPEG 2000的编码算法也用于MPEG 的视频编码标准中。
8.1 DCT与上一章所讲的几种熵编码不同,DCT (Discrete Cosine Transform 离散余弦变换)是一种变换型的源编码,使用十分广泛,也是JPEG 编码的一种基础算法。
DCT 将时间或空间数据变成频率数据,利用人的听觉和视觉对高频信号(的变化)不敏感和对不同频带数据的感知特征不一样等特点,可以对多媒体数据进行压缩。
8.1.1 余弦变换DCT 是计算(Fourier 级数的特例)余弦级数之系数的变换。
若函数f (x ) 以2 l 为周期,在[-l , l ]上绝对可积,则f (x )可展开成Fourier 级数:∑∞=⎪⎭⎫⎝⎛++=10sin cos 2)(n n n l x n b l x n a a x f ππ其中正弦变换余弦变换sin )(1 cos )(1⎰⎰--==l l n l l n dx lx n x f l b dx lx n x f l a ππ若f (x )为奇或偶函数,有 a n ≡0或b n ≡0,则f (x )可展开为正弦或余弦级数:∑∑∞=∞=+==101cos2)( sin )(n n n n l xn a a x f l x n b x f ππ或任给f (x ),x ∈[0, l ],总可以将其偶延拓到[-l , l ]:⎩⎨⎧-∈-∈=]0,[),(],0[ ),()(l x x f l x x f x f 然后再以2l 为周期进行周期延拓,使其成为以2l 为周期的偶函数。
jpeg 原理
jpeg 原理
JPEG(Joint Photographic Experts Group;联合图像专家组)是一种使用有损压缩方法的图像格式,常用于储存数字照片和网络图像。
JPEG 原理基于两个主要的概念:离散余弦变换(DCT)和量化。
首先,将输入的图像划分为若干个8x8像素块,每个像素块的像素值通过离散余弦变换得到频域系数。
然后,对频域系数进行量化,即将其除以一个固定的矩阵,得到一个近似的压缩表示。
量化可以在频域上实现较高的压缩比率,但会带来明显的失真,因为一些高频信息被舍弃。
最后,以二进制形式储存量化后的系数。
在解码时,储存的量化系数乘以相应的量化矩阵得到频域系数,再反变换回时域,就可以得到图像的近似重建。
由于量化和舍弃了一些高频信息,所以重建图像会有明显的失真。
但是,如果选择一个适当的量化矩阵,可以在可接受的失真下实现高压缩比。
JPEG图像数据格式简明分析
总结
总的来说,JPEG图像数据格式凭借其高压缩比、兼容性强和适用范围广等优 点,成为图像处理、数字摄影、网络传输和科学数据可视化等领域的首选格式。 然而,我们也应意识到其存在的损失细节和速度较慢等缺点。未来,随着技术的 不断发展和新的图像格式的出现,JPEG可能会面临挑战。但就目前而言,JPEG仍 然是图像处理和存储领域的重要支柱。
3、离散余弦变换:接下来,图像数据将经过离散余弦变换(DCT)。DCT将 图像的像素值从空间域转换到频域,使得图像的能量集中在一些低频区域。
4、量化和编码:在完成DCT后,JPEG算法对DCT系数进行量化,将它们转换 为更小的值。然后对这些值进行编码,以产生最终的压缩数据。编码过程中使用 的哈夫曼编码(Huffman Coding)是一种无损压缩技术,它可以根据数据的统计 特性来生成更短的编码。
%读取原始图像
%将原始图像转换为灰度图像
%对灰度图像进行DCT变换
%设定量化表
quantization_table = [16 11 10 16 24 40 51 61;
12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;
14 17 22 29 51 87 80 62;
参考内容
JPEG静态图像压缩算法是一种重要的数字图像处理技术,它通过去除图像中 的冗余信息来减小图像的文件大小,从而方便了图像的存储和传输。JPEG算法采 用了一种基于离散余弦变换(DCT)的压缩方法,将图像数据转化为一种更有效 的表示形式,从而实现了图像的压缩。
JPEG算法主要由以下几个步骤构成:
组成结构
JPEG图像数据格式的组成结构包括三个主要部分:头部、图像部分和尾部。 头部包含关于图像的一些基本信息,如文件号、量化表、色彩空间等。图像部分 是实际的图像数据,包括经DCT变换和量化的像素值。尾部包含一些附加信息, 如压缩方法、图像大小等。
JPEG图片文件编解码详解
JPEG文件编/解码详解(1)2.初步了解图像数据流的结构1)理论说明分析图像数据流的结构,笔者准备以一个从宏观到微观的顺序为读者详细剖析,即:数据流→最小编码单元→数据单元与颜色分量。
a)在图片像素数据流中,信息可以被分为一段接一段的最小编码单元(Minimum Coded Unit,MCU)数据流。
所谓MCU,是图像中一个正方矩阵像素的数据。
矩阵的大小是这样确定的:查阅标记SOF0,可以得到图像不同颜色分量的采样因子,即Y、Cr、Cb三个分量各自的水平采样因子和垂直采样因子。
大多图片的采样因子为4:1:1或1:1:1。
其中,4:1:1即(2*2):(1*1):(1*1));1:1:1即(1*1):(1*1):(1*1)。
记三个分量中水平采样因子最大值为Hmax,垂直采样因子最大值为Vmax,那么单个MCU矩阵的宽就是Hmax*8像素,高就是Vmax*8像素。
如果,整幅图像的宽度和高度不是MCU宽度和高度的整数倍,那么编码时会用某些数值填充进去,保证解码过程中MCU的完整性(解码完成后,可直接忽视图像宽度和高度外的数据)。
在数据流中,MCU的排列方法是从左到右,从上到下。
b)每个MCU又分为若干个数据单元。
数据单元的大小必定为8*8,所以每个MCU的数据单元个数为Hmax*Vmax。
另外JPEG的压缩方法与BMP文件有所不同,它不是把每个像素的颜色分量连续存储在一起的,而是把图片分成Y,Cr,Cb三张子图,然后分别压缩。
而三个颜色分量的采样密度(即采样因子)可能一样(例如1:1:1)也可能不一样(例如4:1:1)。
每个MCU内部,数据的顺序是Y、Cr、Cb。
如果一个颜色分量有多个数据单元,则顺序是从左到右,从上到下。
2)举例说明下面通过一幅32*35的图像,对上面两个问题列出两种采样因子的具体说明。
图1 整张完整的图像(4:1:1)图2 将图像的MCU1放大图1及图3中灰色部分为实际图像大小(32px*35px);粗虚线表示各个MCU的分界;细虚线表示MCU内部数据单元的分界。
JPEG编码解码流程
JPEG图片压缩算法流程详解薛晓利JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。
该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG 算法。
JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。
如下所示:压缩算法:(1)有损的离散余弦变换DCT(Discrete Cosine Transform)(2)无损的预测压缩技术;熵编码方法:(1)Huffman编码;(2)算术编码;编码模式:(1)基于DCT的顺序模式:编码、解码通过一次扫描完成;(2)基于DCT的渐进模式:编码、解码需要多次扫描完成,扫描效果由粗到精,逐级递增;(3)无损模式:基于DPCM,保证解码后完全精确恢复到原图像采样值;(4)层次模式:图像在多个空间分辨率中进行编码,可以根据需要只对低分辨率数据做解码,放弃高分辨率信息;在实际应用中,JPEG图像编码算法使用的大多是离散余弦变换、Huffman编码、顺序编码模式。
这样的方式,被人们称为JPEG的基本系统。
这里介绍的JPEG编码算法的流程,也是针对基本系统而言。
基本系统的JPEG压缩编码算法一共分为11个步骤:颜色模式转换、采样、分块、离散余弦变换(DCT)、Zigzag 扫描排序、量化、DC系数的差分脉冲调制编码、DC系数的中间格式计算、AC系数的游程长度编码、AC系数的中间格式计算、熵编码。
下面,将一一介绍这11个步骤的详细原理和计算过程。
(1)颜色模式转换JPEG采用的是YCrCb颜色空间,而BMP采用的是RGB颜色空间,要想对BMP图片进行压缩,首先需要进行颜色空间的转换。
YCrCb颜色空间中,Y代表亮度,Cr,Cb则代表色度和饱和度(也有人将Cb,Cr两者统称为色度),三者通常以Y,U,V来表示,即用U代表Cb,用V代表Cr。
RGB和YCrCb之间的转换关系如下所示:Y = 0.299R+0.587G+0.114BCb = -0.1687R-0.3313G+0.5B+128Cr = 0.5R=0.418G-0.0813B+128一般来说,C 值(包括Cb Cr) 应该是一个有符号的数字, 但这里通过加上128,使其变为8位的无符号整数,从而方便数据的存储和计算。
《JPEG图像编码标准》课件
将图像数据从空间域变换到频率域,通过量化操 作减少数据量。
熵编码
根据图像数据的统计特性,采用可变长编码方法 进一步压缩数据。
解码算法的实现
逆量化和反变换
将经过量化和编码的数据进行逆量化和反变换,恢复到频率域。
逆预测和重构
根据预测编码和解码算法,逆向计算并重构图像像素值。
错误纠正和检测
在解码过程中,采用错误纠正和检测技术确保解码数据的完整性。
算术编码是一种高级的数据压 缩算法,用于处理具有复杂概 率分布的数据。在JPEG中,算 术编码用于处理经过哈夫曼编 码的数据。
编码效率的评价
80%
压缩比
压缩比是衡量图像压缩效果的重 要指标,指原始图像大小与压缩 后图像大小的比值。JPEG算法的 压缩比通常在20:1到100:1之间 。
100%
图像质量
高效的压缩比
JPEG通过离散余弦变换(DCT)和量化技术实现了较高的压缩比, 能在较低的比特率下保持较好的图像质量。
灵活的压缩参数
JPEG允许用户根据需求选择不同的压缩参数,如压缩质量、色彩模式 等,以满足不同的应用场景和性能要求。
JPEG图像编码标准的缺点
有损压缩
JPEG采用有损压缩方式,在压缩过程中会丢失部分图像信息,导 致图像质量的损失。尤其在低比特率下,图像细节和颜色过渡可
DCT的性质
DCT具有能量压缩和去相关性的特点。在JPEG编码中,通过应用 DCT,可以有效地去除图像中的空间冗余,将大部分能量集中在 少量的系数上,从而实现高效的图像压缩。
DCT在JPEG中的应用
JPEG编码流程
JPEG标准采用离散余弦变换作为核心的图像压缩技术。首先,将原始图像划分为8x8的块,然后对每个块进行 DCT变换,得到DCT系数矩阵。接下来,对系数矩阵进行量化,去除不重要的信息,最后采用游程编码和哈夫曼 编码进行压缩编码。
第8章DCT与JPEG编码ppt课件
JPEG标准的组成部分
• ISO/IEC 10918-1:1994:Requirements and guidelines(需求与指导方针)
• ISO/IEC 10918-2:1995:Compliance testing(一致 测试)
• ISO/IEC 10918-3:1997:Extensions(扩展) • ISO/IEC 10918-3:1997/Amd 1:1999:Provisions to
f
(x)
a0 2
n1
a
n
cos nx
l
bn
sin
nx
l
其中
an
1 l
l l
f (x) cos nx dx
l
余弦变换
bn
1 l
l l
f (x) sin nx dx
l
正弦变换
余弦级数
• 若f (x)为奇或偶函数,有 an≡0或bn≡0,则f (x)可展开为正弦或余弦级数:
f
(x)
bn
N u0 v02N2N• 若N = 8,则上式变为:
FDCT : F(u, v) 1 C(u)C(v) 7 7 f (i, j) cos (2i 1)u cos (2 j 1)v
4
i0 j0
16
16
1 7 7
(2i 1)u (2 j 1)v
IDCT : f (i, j)
C(u)C(v)F (u, v) cos
反
JPEG压缩编码-解压缩算法框图
二、JPEG压缩编码算法的 主要计算步骤
• (0) 8*8分块
• (1) 正向离散余弦变换(FDCT)
• (2) 量化(quantization)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
7 12 18 23 33 37 48
量化间隔较大。量化处理是造成压缩编码信息失真的关键因素之一 ,在JPEG解码,需要进行逆量化,使用到的矩阵与编码时完全相 同。
16
12 14 14 18 24 49 72
11
12 13 17 22 35 64 92
10
14 16 22 37 55 78 95
16
19 24 29 56 64 87 98
24
26 40 51 68 81 103 112
40
58 57 87 109 104 121 100
51
60 69 80 103 113 120 103
61
55 56 62 77 92 101 99
表1 默认的JPEG标准化数组
0
2 3 9 10 20 21 35
1
4 8 11 19 22 34 36
基于DCT的JPEG图像编解码
Name: id: Name: id:
1 课题背景 2 JPEG静止图像解压缩的基本原理 2.1 DCT变换 2.2 量化 2.3 熵编码 3 matlab仿真实现
1 课题背景
随着信息技术的发展,图像信息被广泛应用于多媒体通信和 计算机系统中,但是图像数据的一个显著特点就是信息量大。 具有庞大的数据量,如果不经过压缩,不仅超出了计算机的存 储和处理能力,而且在现有的通信信道的传输速率下,是无法 完成大量多媒体信息实时传输的,因此,为了更有效的存储、 处理和传输这些图像数据,必须对其进行压缩,因此有必要对 图像压缩编码进行研究。由于组成图像的各像素之间,无论是 在水平方向还是在垂直方向上都存在着一定的相关性,因此只 要应用某种图像压缩编码方法减少这种相关性,就可以达到压 缩数据的目的。
Q(u,v)
图1(b)
JPEG解码框图
图1 基于DCT的JPEG编/解码原理框图
2.1 DCT变换 DCT变换利用了傅里叶变换的对称性,变换后的结果只包含 余弦项。虽然变换的种类很多,比如DCT、DFT(Discrete Fourier Transform,离散傅里叶变换) 、KLT(Karhunen Loeve Transform,卡洛变换) 、WHT(Walsh-Hadamard,沃尔什-哈达 玛变换)等,但从变换后能量集中从优到劣的排列顺序KLT、 DCT、DFT、WHT和运算量从小到大的排列顺序WHT、DCT、 DFT、KLT来看,DCT的压缩能力与KLT最佳变换相近,计算量 适中,性能优于DFT、WHT等其他变换。同时,相对于KLT而 言,DCT具有固定的基和物理含义,更易于实现,因此DCT变 换成为变换编码的首选。 输入端把原始图像分成8*8像素块(Block)之后进行DCT变换 ,目的是去除图像数据的空间冗余,并实现能量集中。DCT 变
高,是JPEG 标准的基础。无损压缩方法又称预测压缩方法, 是以二维DPCM为基础的压缩方式,解码后能完全精确地恢 复原图像采样值,其压缩比低于有损压缩方法。 从图1中注意到图中的编码器负责降低输入图像的编码、 像素间和心理视觉冗余。在编码处理的第一阶段,离散余弦 变换器将输入图像变换成一种(通常不可见的) 格式,以便减 少像素间的冗余。在第二阶段,量化器根据预定义的保真度 准则来减少映射变换器输出的精确性,以便试图去除心理视 觉冗余数据。这种操作是不可逆的,当进行无损压缩时,则 必须将其忽略。在第三个即最后一个处理阶段,熵编码器根 据所用的码字对量化器输出和离散余弦变换输出创建码字(减 少编码冗余)。
率分量的大小。在变换后系数矩阵的右下角,高频系数几乎 趋近于0。图2描绘了DCT变换块系数分布情况。 DC DC 垂直方向
低频
中频
水 平 方 向
高频
对 角 线
方 向
图2 DCT系数频带和方向信息
2.2 量化 JPEG是一种利用了量化的图像有损压缩。JPEG的编码过程 对原始的图像数据作离散余弦变换,然后对离散结果进行量化并 作熵编码。JPEG算法的第二步是量化处理,这里DCT输出利用 同维数的整数矩阵进行点状处理,基本JPEG的“损耗” 特性就 是由量化过程产生的。通过剔除图像中的不必要的信息,量化完 成JPEG主要压缩部分。因为图像在特定位置通常会由较低空间频 率改变,并且人类倾向于忽略高空间频率改变,所以量化可以过 滤掉很多这类因素。在量化过程中,系数量化过程可通过选择合 适的量化因子完成,量化值越高,系数就越接近零。量化损耗是 由于它的值总是要取整而造成的,这也是量化因子越大,丢失的 信息就越多的原因过量化位数的选择加以控制。 JPEG的色度量化表与亮度量化表不尽相同(见表1和表2)。从 量化表中可以看出各变换系数的量化间隔是不一样的。对于低频 分量,量化间隔小,量化误差也会较小,对于高频分量,因为它 只影响图像的细节,从整体上看它没有低频分量那么重要,因此
2 JPEG静止图像解压缩的基本原理
JPEG提出的JPEG标准是为连续色调图像的压缩提供的公共 标准。连续色调图像并不局限于单色调(黑白)图像,该标准可适 用于各种多媒体存储和通信应用所使用的灰度图像、摄影图像及 静止视频压缩文件。 JPEG 标准还提出 : ①必须将图像质量控制在可视保真度高的范围内,同时编码器 可被参数化,允许设置压缩或质量水平。 ②压缩标准可以应用于任何一类连续色调数字图像,并不应受 到维数、颜色、画面尺寸、内容和色调的限制。 ③压缩标准必须从完全无损到有损范围内可选,以适应不同的 存储CPU和显示要求。 图像压缩编码方法从压缩编码算法原理上可以分为无损压缩编 码、有损压缩编码、混合编码方法。而文中介绍的JPEG标准就 是一种混合编码方法,既有损的压缩编码又有有损的压缩编码。 有损压缩方法是以DCT变换为基础的压缩方法,其压缩率比较量 化 器
[F(u,v)]Q
熵编 码器
压缩后图像
f(x,y) 8*8像素块
量化表 Q(u,v)
Huffman表
图1(a)
JPEG编码框图
F’(u,v)
量 化 器
f’(x,y)
DCT 反变换
压缩后图像
熵编码器
解压缩后图像
f(x,y) 8*8像素块
Huffman表
量化表