基于JPEG标准的静态图像压缩算法概述
- 格式:pdf
- 大小:375.83 KB
- 文档页数:6
JPEG静图像压缩实验
一.实验目的
1.了解数字图像压缩的一类方法
2.掌握2D快速DCT变换的算法
二.实验原理
JPEG标准是面向连续色调静止图像的图像压缩标准。
它定义了多种类型的工作模式,其中最基本的是基于8*8块的DCT变换的顺序编码。
就是将一帧图像分为8*8的数据块单元,按照从左到右,自上到下的顺序对”块流”编码,其编码解码框图如下:
三.实验内容
按照如上框图实现一帧图像的压缩编码和解码
四.代码理解
1.编码主程序
五、实验结果
六.思考题
1.计算图像压缩比,并比较原图像的效果
使用lady.dat做实验的图像压缩比为:63/5.436=11.8:1
左图为压缩前的lady.bmp,右图为压缩后的lady.jpg
两图没有明显的区别,但比较细节,右图稍微模糊,并且局部区域有一些块化现象。
2.改变g-scale和量化矩阵的元素,比较压缩比和恢复图像的效果
Gscale141625
压缩比 3.197.5418.122.91
G_scale=1G_scale=4
G_scale=16G_scale=25
量化矩阵Q1Q2
压缩比7.3418.44
Q1=0.5*Q0,Q2=2*Q0,Q0为原始的量化矩阵
Q1Q2
3.对于8bit的像素值,在经过DCT变换后,值域为[-2048,2047],有可能超过码表范围。
JPEG-静止图像压缩标准国际标准化组织(ID)和国际电报电话咨询委员会(CCITT)联合成立的专家组JPEG(Joint Photographic Experts Group)经过五年艰苦细致地工作后,于1991年3月提出了ISO CDIO918号建议草案:多灰度静止图像的数字压缩编码(通常简称为JPEG标准)。
这是一个适用于彩色和单色多灰度或连续色调静止数字图像的压缩标准。
它包括基于DPCM(差分脉冲编码调制、DCT(离散余弦变换)和Huffman编码的两个部分。
JPEG标准实际上有三个范畴:1)基本顺序过程Baseline Sequential processes) 实现有损图像压缩,重建图像质量达到人眼难以观察出来的要求。
采用的是8x8像素自适应DCT算法、量化及Huffman型的墒编码器。
2)基于DCT的扩展过程(Extended DCT Based Process) 使用累进工作方式,采用自适应算术编码过程。
3)无失真过程(Losslesss Process)采用预测编码及Huffman编码(或算术编码),可保证重建图像数据与原始图像数据完全相同。
其中的基本顺序过程是JPEG最基本的压缩过程:符合JPEG标准的硬软件编码/解码器都必须支持和实现这个过程。
另两个过程是可选扩展,对一些特定的应用项目有很大实用价值。
(l)JPEG算法基本JPEG算法操作可分成以下三个步骤:通过离散余弦变换(DCT)去除数据冗余;使用量化表对以DCT系数进行量化,量化表是根据人类视觉系统和压缩图像类型的特点进行优化的量化系数矩阵;对量化后的DCT系数进行编码使其熵达到最小,熵编码采用Huffman 可变字长编码。
(2)离散余弦变换JPEG采用8x8子块的二维离散余弦变换算法。
在编码器的输入端,把原始图像(对彩色图像是每个颜色成分)顺序地分割成一系列8x8的子块。
在8x8图像块中,像素值一般变化较平缓,因此具有较低的空间频率。
静态图像压缩标准静态图像压缩是指通过某种算法或技术对图像文件进行处理,以减小文件的体积,同时尽量保持图像质量的技术。
在数字图像处理领域,静态图像压缩是一项非常重要的技术,它涉及到图像文件的存储、传输和显示等方面。
本文将介绍静态图像压缩的标准,包括常见的压缩算法、压缩标准以及其应用。
一、静态图像压缩的基本原理。
静态图像压缩的基本原理是利用图像中的冗余信息和人眼对图像的感知特性,通过一定的算法将图像文件的体积减小,同时尽量保持图像质量。
常见的静态图像压缩算法包括JPEG、PNG、GIF等,它们都采用了不同的压缩原理和方法。
二、静态图像压缩的标准。
1. JPEG压缩标准。
JPEG(Joint Photographic Experts Group)是一种广泛应用的图像压缩标准,它采用了基于DCT(Discrete Cosine Transform)的压缩算法。
JPEG压缩标准在保持图像质量的同时,能够将图像文件的体积减小到较小的程度,适合用于存储和传输静态图像文件。
2. PNG压缩标准。
PNG(Portable Network Graphics)是一种无损压缩的图像格式,它采用了DEFLATE压缩算法。
相比于JPEG,PNG能够更好地保持图像的质量,但文件体积通常会更大一些。
PNG格式适合用于对图像质量要求较高的场景,如图像编辑和网页设计等领域。
3. GIF压缩标准。
GIF(Graphics Interchange Format)是一种支持动画的图像格式,它采用了LZW压缩算法。
GIF格式在保持图像质量的同时,能够实现较高的压缩比,适合用于制作简单的动画和图标等场景。
三、静态图像压缩标准的应用。
静态图像压缩标准在各个领域都有着广泛的应用。
在数字摄影、图像编辑和网页设计等领域,人们经常会用到JPEG和PNG格式的图像文件。
而在制作简单动画和图标时,GIF格式也是一种常见的选择。
总结。
静态图像压缩标准是数字图像处理领域中的重要技术,它通过一定的算法和方法,能够将图像文件的体积减小,同时尽量保持图像质量。
一、JPEG算法概要JPEG(Joint Photographic Experts Group)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG 算法,并且成为国际上通用的标准,因此又称为JPEG标准。
JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。
JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。
使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。
例如,在VCD和DVD-Video电视图像压缩技术中,就使用JPEG的有损压缩算法来取消空间方向上的冗余数据。
为了在保证图像质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG2000标准,这个标准中将采用小波变换(Wavelet)算法。
JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。
JPEG算法框图如图:压缩编码大致分成三个步骤:1、使用正向离散余弦变换(Forward Discrete Cosine Transform,FDCT)把空间域表示的图变换成频率域表示的图。
2、使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。
3、使用霍夫曼可变字长编码器对量化系数进行编码。
译码或者叫做解压缩的过程与压缩编码过程正好相反。
JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG 算法中。
JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB, YCbCr和CMYK。
jpeg静态图像压缩编码原理及实现技术jpeg静态图像压缩编码原理及实现技术2011-03-09 21:29 MPEG视频压缩技术是针对运动图象的数据压缩技术。
为了提高压缩比,帧内图象数据和帧间图象数据压缩技术必须同时使用。
MPEG通过帧运动补偿有效地压缩了数据的比特数,它采用了三种图象,帧内图、预测图和双向预测图。
有效地减少了冗余信息。
对于MPEG来说,帧间数据压缩、运动补偿和双向预测,这是和JPEG主要不同的地方。
而JPEG和MPEG相同的地方均采用了DCT帧内图象数据压缩编码。
在JPEG压缩算法中,针对静态图象对DCT系数采用等宽量化,而是MPEG 中视频信号包含有静止画面(帧内图)和运动信息(帧间预测图)等不同的内容,量化器的设计不能采用等宽量化需要作特殊考虑。
从两方面设计,一是量化器综合行程编码能使大部分数据得到压缩;另一方面是通过量化器、编码器使之输出一个与信道传输速率匹配的比特流。
图象压缩的目的和方法图象的数字化表示使得图象信号可以高质量地传输,并便于图像的检索、分析、处理和存储。
但是数字图像的表示需要大量的数据,必须进行数据的压缩。
即使采用多种方法对数据进行了压缩,其数据量仍然巨大,对传输介质、传输方法和存储介质的要求较高。
因此图象压缩编码技术的研究显得特别有意义,也正是由于图象压缩编码技术及传输技术的不断发展、更新,推动了现代多媒体技术应用的迅速发展。
《1》图象压缩的目的图象采样后,如果对之进行简单的8bit量化和PCM编码,其数据量是巨大的。
以CIF(Common Intermediate Format)格式的彩色视频信号为例,若采样速率为25帧/秒,采样样点的Y、U、V分量均为8bit量化,则一秒钟的数据量为:要传输或存储这样大的数据量是非常困难的,必需对其进行压缩编码,在满足实际需要的前提下,尽量减少要传输或存储的数据量。
虽然数字图象的数据量巨大,但图象数据是高度相关的。
淺談JPEG圖像壓縮演算法餘科亮本文僅討論靜止圖像的壓縮基本演算法,圖像壓縮的目的在於以較少的資料來表示圖像以節約存儲費用,或者傳輸時間和費用。
JPEG壓縮演算法可以用失真的壓縮方式來處理圖像,但失真的程度卻是肉眼所無法辯認的。
這也就是爲什麽JPEG會有如此滿意的壓縮比例的原因。
下面主要討論,JPEG基本壓縮法。
一.JPEG壓縮過程JPEG壓縮分四個步驟實現:1.顔色模式轉換及採樣;2.DCT變換;3.量化;4.編碼。
二.1.顔色模式轉換及採樣RGB色彩系統是我們最常用的表示顔色的方式。
JPEG採用的是YCbCr色彩系統。
想要用JPEG基本壓縮法處理全彩色圖像,得先把RGB顔色模式圖像資料,轉換爲YCbCr顔色模式的資料。
Y代表亮度,Cb和Cr則代表色度、飽和度。
通過下列計算公式可完成資料轉換。
Y=0.2990R+0.5870G+0.1140BCb=-0.1687R-0.3313G+0.5000B+128Cr=0.5000R-0.4187G-0.0813B+128人類的眼晴對低頻的資料比對高頻的資料具有更高的敏感度,事實上,人類的眼睛對亮度的改變也比對色彩的改變要敏感得多,也就是說Y成份的資料是比較重要的。
既然Cb成份和Cr成份的資料比較相對不重要,就可以只取部分資料來處理。
以增加壓縮的比例。
JPEG通常有兩種採樣方式:YUV411和YUV422,它們所代表的意義是Y、Cb和Cr三個成份的資料取樣比例。
2.DCT變換DCT變換的全稱是離散余弦變換(Discrete Cosine Transform),是指將一組光強資料轉換成頻率資料,以便得知強度變化的情形。
若對高頻的資料做些修飾,再轉回原來形式的資料時,顯然與原始資料有些差異,但是人類的眼睛卻是不容易辨認出來。
壓縮時,將原始圖像資料分成8*8資料單元矩陣,例如亮度值的第一個矩陣內容如下:JPEG將整個亮度矩陣與色度Cb矩陣,飽和度Cr矩陣,視爲一個基本單元稱作MCU。
JPEG图像压缩算法及其实现⼀、JEPG压缩算法(标准)(⼀)JPEG压缩标准JPEG(Joint Photographic Experts Group)是⼀个由ISO/IEC JTC1/SC2/WG8和CCITT VIII/NIC于1986年底联合组成的⼀个专家组,负责制定静态的数字图像数据压缩编码标准。
迄今为⽌,该组织已经指定了3个静⽌图像编码标准,分别为JPEG、JPEG-LS和JPEG2000。
这个专家组于1991年前后指定完毕第⼀个静⽌图像压缩标准JPEG标准,并且成为国际上通⽤的标准。
JPEG标准是⼀个适⽤范围很⼴的静态图像数据压缩标准,既可⽤于灰度图像⼜可⽤于彩⾊图像。
JPEG专家组开发了两种基本的静⽌图像压缩算法,⼀种是采⽤以离散余弦变换(Discrete Cosine Transform, DCT)为基础的有损压缩算法,另⼀种是采⽤以预测技术为基础的⽆损压缩算法。
使⽤⽆损压缩算法时,其压缩⽐⽐较低,但可保证图像不失真。
使⽤有损压缩算法时,其算法实现较为复杂,但其压缩⽐⼤,按25:1压缩后还原得到的图像与原始图像相⽐较,⾮图像专家难于找出它们之间的区别,因此得到了⼴泛的应⽤。
JPEG有4种⼯作模式,分别为顺序编码,渐近编码,⽆失真编码和分层编码,他们有各⾃的应⽤场合,其中基于顺序编码⼯作模式的JPEG压缩系统也称为基本系统,该系统采⽤单遍扫描完成⼀个图像分量的编码,扫描次序从左到右、从上到下,基本系统要求图像像素的各个⾊彩分量都是8bit,并可通过量化线性地改变DCT系统的量化结果来调整图像质量和压缩⽐。
下⾯介绍图像压缩采⽤基于DCT的顺序模式有损压缩算法,该算法下的JPEG压缩为基本系统。
(⼆)JPEG压缩基本系统编码器JPEG压缩是有损压缩,它利⽤了⼈的视觉系统的特性,将量化和⽆损压缩编码相结合来去掉视觉的冗余信息和数据本⾝的冗余信息。
基于基本系统的JPEG压缩编码器框图如图1所⽰,该编码器是对单个图像分量的处理,对于多个分量的图像,则⾸先应将图像多分量按照⼀定顺序和⽐例组成若⼲个最⼩压缩单元(MCU),然后同样按该编码器对每个MCU各个分量进⾏独⽴编码处理,最终图像压缩数据将由多个MCU压缩数据组成。
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(Joint Photographic Experts Group)是一种常用的图像压缩格式。
它通过减少图像数据中的冗余信息来实现压缩,从而减小图像的文件大小,同时尽量保持图像的质量。
JPEG压缩的原理主要涉及离散余弦变换(Discrete Cosine Transform,DCT)和量化两个步骤。
下面将详细说明JPEG压缩的流程和原理。
压缩流程:1. 分块:将图像分为8x8大小的块,每个块包含64个像素。
2. 颜色空间转换:对于彩色图像,首先将其转换为亮度(Y)和色度(Cb和Cr)三个通道。
色度通道的分辨率比较低,因为人眼对亮度的敏感度要高于对颜色信息的敏感度。
3. DCT变换:对每个8x8的块进行DCT变换。
DCT变换将图像从像素域转换到频率域,提取图像中的频率信息。
4. 量化:对于DCT变换的系数,使用量化表对其进行量化。
量化表中由于包含了不同频率信息的权重,对高频信号的量化较为严格,对低频信号的量化较为宽松。
这样可以减少高频信号的细节信息,从而减少存储空间。
量化后的DCT系数除以相应的量化表值,然后四舍五入,并取整数部分。
5. 编码:将量化后的DCT系数进行熵编码,以进一步减小文件大小。
JPEG中使用的熵编码算法是基于哈夫曼编码的算法。
通过根据系数的出现概率来分配变长编码,出现概率较高的系数使用较短的编码,出现概率较低的系数使用较长的编码。
这样可以保证较常见的系数使用较短的编码,从而进一步减小文件大小。
6. 存储:将编码后的数据存储为JPEG文件。
解压缩流程:1. 读取:读取JPEG文件。
2. 解码:将文件中的编码数据还原为量化后的DCT系数。
3. 逆量化:对量化后的DCT系数进行逆量化操作,恢复DCT系数的值。
4. 逆DCT变换:对逆量化后的DCT系数进行逆DCT变换,从频率域恢复到像素域。
5. 颜色空间还原:对于彩色图像,将亮度(Y)和色度(Cb和Cr)三个通道合并,恢复为原始的RGB颜色空间。