搜档网
当前位置:搜档网 › 图像压缩(JPEG)编码算法及压缩过程的实现

图像压缩(JPEG)编码算法及压缩过程的实现

图像压缩(JPEG)编码算法及压缩过程的实现
图像压缩(JPEG)编码算法及压缩过程的实现

秋风,秋雨,秋天的景色

?博客园

?首页

?博问

?闪存

?新随笔

?联系

?订阅

?管理

随笔- 234 文章- 0 评论- 22 图象压缩(JPEG)编码算法及压缩过程的实现转

图象压缩(JPEG)编码算法及压缩过程的实现

摘要

本文首先介绍了静态图像压缩(JPEG)编码算法的基本原理、压缩的实现过程及其重要过程的离散余弦变换(DCT)算法的实现原理及软件实现的例程,其次着重介绍了压缩过程中的DCT、量化和编码三个重要步骤的实现原理。

关键词:图像压缩有损压缩 JPEG 离散余弦变换 DCT 量化

第一章图像压缩编码的综述

1.1 图象压缩的目的和方法

图象的数字化表示使得图象信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是数字图像的表示需要大量的数据,必须进行数据的压缩。即使采用多种方法对数据进行了压缩,其数据量仍然巨大,对传输介质、传输方法和存储介质的要求较高。因此图象压缩编码技术的研究显得特别有意义,也正

是由于图象压缩编码技术及传输技术的不断发展、更新,推动了现代多媒体技术应用的迅速发展。

1.1.1 图象压缩的目的

图象采样后,如果对之进行简单的8bit量化和PCM编码,其数据量是

巨大的。以CIF(Common Intermediate Format)格式的彩色视频信号为例,若采样速率为25帧/秒,采样样点的Y、U、V分量均为8bit量化,则一秒钟的数据量为:

352×288×3×8×25=60.83Mbit

要传输或存储这样大的数据量是非常困难的,必需对其进行压缩编码,在满足实际需要的前提下,尽量减少要传输或存储的数据量。

虽然数字图象的数据量巨大,但图象数据是高度相关的。一幅图象的内部相邻象素之间,相邻行之间的视频序列中相邻图象之间有大量冗余信息—空间相关性和时间相关性,可以使用各种方法尽量去除这些冗余信息,减少图象的数据量。

除了时间冗余和空间冗余外,在一般的图象数据中还存在信息熵冗余、结构冗余、知识冗余和视觉冗余。各种冗余就是压缩图象数据的出发点。图象编码的目的就在于采用各种方法去除冗余,以尽量少的数据量来表示个重建图象。

1.1.2图象压缩的几种方法

1.统计和字典的压缩方法

常规程序和计算机熵的数据对于那些基于利用统计变种的压缩,效果很好,这些统计变种表现在单个符号的频率以及符号或短语字符串的频率等方面,而基于字典的系统实际山就是假扮统计程序。可是遗憾的是,这类压缩对于连续色调图象的作用并不很好。

这些程序的主要问题产生于这样的一个事实:照片图象的象素广泛地分布在整个范围。如果将图象中的彩色用频率分布画出,那么频率分布图中,没有我们在统计压缩的成功的情况下所看到的“尖峰”状,实际上,如果延长这个分布图,那么从类似于电视那样的生活图象源中得出的分布图会趋于平展。这意味着,每个象素代码彼此是大约相同的出现机会,决定不存在挖掘熵差的任何机会。

基于字典的压缩程序的运行也有类似的问题,基于扫描照片的图象决定没有任何类型的数据特征以产生相同的短语的多次出现。例如,一个栅格化的图象,

类似房子墙边的垂直部分,在图片的许多连续的行中可能可以给出相似的字符串。但不幸的是,由于真实世界是变化多端的,每行中的相同的性能将彼此地略有不同,对于20个象素的一个字符串,其中的一两个象素会因扫描而彼此出现一步长的变化,虽然这些不同点小到人眼不能探测或对人眼不起作用,但他们毕竟妨碍了基于字典压缩的工作,对于这类压缩方法来说,字符串必须严格匹配,由于小的变化,而使匹配的字符串长度趋于很小,这就限制了压缩的效率。

2.有损压缩

类似于音频数据,图形图象也同样有一个比常规计算机数据文件优越的地方:在压缩/扩展的循环中,他们可以被略微改动,而不会影响用户的立即质量。如果仔细修改,那么各处象素的精确灰度可以完全不被注意地进行小的改变。由于计算机栅的图形图象通常来自对真实世界源的扫描,所有他们通常表达一个已经不完美的照片的表达或是不完美的其他打印接着的表达。没有改变图象基本性能的有损压缩程序应该是可行的。

假设图形图象的有损压缩是可能的,那么它是如何实现的呢?研究人员最初试验了用于语音信号的同样的技术,如差分编码和自适应编码,虽然这些技术对图象有帮助,但并没有达到所希望的那么好,原因之一是音频数据和视频数据根本不同。

用常规格式采样的音频数据是趋于反复的,声音,包括讲话,是由每次几秒的重复的正弦波组成的。虽然计算机上DAC的输入流可能由许多不同的频率叠加在一起而成,但是正弦波通常产生反复的波形。

音频反复的本性自然使他利于压缩,线性预言编码和自适应差分脉冲编码调制等技术就利于了这一点,因此将音频数据流压缩了50%到95%。

但开始研究图形压缩时,人们也试图用相似的技术压缩数字化的图象,取得了一些成功。最初,研究人员进行栅格化数据流的压缩,如显示在电视机栅的数据。

图形数据栅格化时,图形显示成一个象素流,每次一行地显示在屏幕上,从左到右,从上到下。这样,当完成一行时,图片的一个细片就画出了,直到整个屏幕填满。数字化时,象素可以使用从1位到24位,如今的琢磨图形常常使用8位来定义一个象素。

3.差分调制

差分调制依赖余模拟数据趋于“平缓”

的变化,信号幅度撒谎那个的大的跳变是例外,而不是常规。在音频数据中,只要信号的采样率一定程度地高于信息本身的最大的频率分量,那么大的跳变就不会产生。

音频信号的差分调制通过编码一个样点与前一个样点的不同来利用这一个特点。例如,如果单频样点位8位,差分编码系统可能用4位来编码样点之差,这就将输入数据压缩了50%。这种压缩方法中所产生的损失是来自于:使用标准的差分方法不可能总是精确地编码。信号的增长可能快于比编码的允许,或者,编码可能太粗而不能容纳下的差别,差分编码的有损性可以很好的处理,以产生出好的信号。

当压缩图形数据时,差分调制有很多问题。首先,图形中的象素依赖于平缓的增加或减少时不可靠的,一幅图中不同的分量间的明显界限时常有的事情。这意味着,使用差分编码的系统需要接受样点间的大的不同和小的不同。这就限制了压缩的效率。带有数据长结构的许多图象可以压缩的很好。长结构中的象素,彼此之间没有什么差别或差别很少;但时,带有突变部分的那些图象不可能压缩的很好。

通常,图形图象的差分的编码似乎不产生非常强于最好的无损算法的压缩结果,他当然也不会产生所需要的、对压缩的数量级上的改进。

4.自适应编码

自适应编码(常常于差分编码一同使用)根据前面看到的一些象素而对将要到来的一些象素的信息做预言。例如,如果一幅灰度级照片中的最新的十个象素的值都在45到50之间,那么自适应压缩系统可能预言,下一个象素很大可能也在这个范围中,之后,类似于霍夫曼或算术编码那样的基于熵的编码方案可能给将来到来的各种代码赋以概率值。可以代替地使用压缩-扩展方法,将最细的粒度赋给最接近预言猜测的范围。

第二章JPEG编码算法

2.1JPEG压缩编码基础

七十年代末八十年代初,研究工作开始着眼于新的图像压缩类型,希望能够大大地优于前面所讨论过的那些非常一般的压缩技术。到八十年代末,开始可为桌面系统的图像处理而寻找应用的工作,大多是是为UNIX和Macintosh工作站

加入的协处理器卡的形式,这些卡的图象质量没有任何可见退化的情况下,可以以95%的比率执行图像的有损压缩。

同时,另一部分人开始发展一个国际标准,它能够包括这些新的压缩的种类。如果标准允许方便的图形格式的互换,那么,显然,对于各方面都是有利的,关于标准化工作,早期的担心是:它会限制进一步革新的可能性。两个标准化组织,CCITT和ISO,分别从涉及图像压缩的工业和学术两个入手,并且,似乎已经潜在的阻止了工作的负结果。

2.2.1JPEG算法于JPEG小组简介

JPEG(Joint Photographic Experts Group)是由 ISO/IEC JTC1/SC2/WG 8和CCITT VIII/NIC于1986年底联合组成的专家小组。JPEG小组的工组事研究具有连续色调的图像(包括灰度及彩色图像)的压缩算法,并将其制定为适用于大多数图像存储及通信局设备的标准算法,JPEG小组于1990年提出JPEG算法的建议,并决定对建议中的算法不再修改,除非发现了危害压缩算法标准的问题。

作为静态图像压缩的标准算法,JPEG算法必须满足以下要求:算法独立于图像的分辨率;具有低于1bit/象素的编码率,并且能够在五秒钟内建立图像,以满足实时要求;在压缩比大约是2的情况下能够无失真地恢复原图像;支持顺序编解码和渐进编解码;以及对各种图像成分及数据精度的自适应能力;最后,要求编解码设备简单易实现。

JPEG小组指定了一系列实现静态图像压缩编码的方法,这些方法的选择决定于具体应用的要求及性能价格比的考虑。这些方法基本上可以分为两类:基于离散余弦变换的编码和基于空间域预测编码的方法。前者,即离散余弦变化的方法压缩倍率较高但算法复杂,较难实现;后者,即预测编码的方法虽然压缩倍率较低,但是可以实现无损压缩。

JPEG中允许四种编解码模式:

(1)基于DCT的顺序模式(sequential DCT-based)

(2)基于DCT的渐进模式(progressive DCT-based)

(3)无失真模式(Lossless)

(4)层次模式(hierarchical).

其中,(1)和(2)是基于DCT的有损压缩;(3)是基于线性预测的无损压缩;(4)可以是DCT与线性预测的分层混合。

JPEG算法可分为基本JPEG和扩展,即Baseline System 与Extended Syste m。在Baseline System中生成的编码文件,在Extended System中一定可以正确解码。

2.1.2 JPEG压缩

JPEG有损压缩算法在三个成功的阶段中操作,见图2-1

这三个步骤形成了一个强有力的压缩器。,可以将连续色调图像压缩到少于原大小的10%,同时丢失很少的原始逼真度。

2.2 JPEG中的二维DCT

本文所讨论的压缩过程的关键是被称为离散余弦变换(Discrete Cosine T ransform,DCT)的数学变换。Baseline System中的DCT要求输入数据是一个8×8的矩阵,且每个矩阵元素具有8bit精度,分为从-128到127,故DCT变换前,象素值先要减去128。所谓8×8的二维DCT是指将8×8的象素值矩阵变换成8×8系数矩阵。8×8象素值矩阵是由输入图像分块得到的,若图像的高或宽不是8的整数倍,必须扩展其下边或右边到8的整数倍。

下面(式2-1)给出了二维DCT的实用公式。式2-2是反离散余弦变化(I DCT)公式。式中表示的是8×8个象素值的矩阵进行计算的,产生出8×8频率系数的矩阵。

8×8的DCT及IDCT 公式如

下:

这个公式初看起来让人害怕,但它可以用相当直接的代码段来表示。

for ( i = 0 ; i < 8 ; i + + )

for ( j = 0 ;j < 8 : j + + ){

temp = 0.0;

for ( x = 0 ; x < 8 ; x ++ )

for ( y = 0 ; y < 8 ; y ++ ){

temp += Cosines [ x ] [ i ]*Cosines[ y ][ j ]*pixel [ x ][ y ];

}

temp * = sqrt ( 2 * 8 ) * Coefficient[ i ][ j ];

DCT [ i ][ j ] = INT_ROUND (temp);

}

2.3DCT的实现

测验DCT算法时所表现出的首要的问题之一是计算DCT中每个元素所需

要的世界紧紧地依赖于矩阵的大小。由于使用双层嵌套循环,所以计算量为:随着N的增长,处理DCT输出数组中每个元素所要的时间也将增长。DCT的实现将图像分成更小更能处理的块,JPEG小组选用8×8的块大小进行DCT计算。

虽然DCT大小的增加可能得到更好的压缩,但是,达到减弱返回点的时间也不会很长。研究表明,象素之间的联系很快趋于减弱,因此,原点15或20个象素位以外的象素对于预言器来说用处不大,这意味着64×64的DCT块比起将它分成四个16×16块,不会有更好的压缩,并且,越是不重要,花费的计算时间越多。

虽然,使用16×16的块做为DCT计算的基础的确是一个好的选择,但是J PEG委员会选择的就是8×8的块,这主要是,为了允许那些使用今天技术所建立起的使用实现。这类压缩称作“块压缩”。

2.3.1矩阵相乘

上面显示的DCT定义是相当直接的双层嵌套循环。循环的内层元素为每个要计算的元素执行N×N次,循环的内层有两个相乘操作和一个相加操作。

更为有效的DCT形式可能是使用矩阵操作进行计算。为实现这个操作。首先要建立称为余弦变化矩阵(Cosine Transform Matrix)的一个矩阵C,该矩阵由式2-3给出。

= if i=0

if i>0一旦建立了余弦变换矩阵,我们绕着它的主对角线旋转,将其转置,这个转置矩阵在代码中表示,称作转置余弦变换矩阵。矩阵的建立只需在程序初

始化时进行一次,两个矩阵可以用相对短小的循环在同一时刻建立。见下面的代码:

for ( j = 0 ;j < N;j ++){

C[ 0 ][ j ] = 1.0 / sqrt (N);

Ct[ j ][ 0 ] = C[ 0 ][ j ];

}

for ( i = 1 ;i < N; i ++)

for ( j = 0; j < N ;j ++) {

C[ i ][ j ] = sqrt ( 2.0/N )*cos( ( 2* j + 1 ) * i * pi / ( 2.0 * N )) ;

Ct[ j ][ i ] = C[ i ][ j ];

}

}

一旦这两个矩阵建立,我们就可以使用DCT函数的替代定义:

DCT = C * 象素 * Ct

在这个等式中,“*”运算符表示的事矩阵相乘,而不是一般的算术相乘。等式中的每个因子是一个N*N的矩阵,在JPEG算法以及本章所只用的程序中,矩阵为8×8。进行两个矩阵相乘时,输出矩阵中每个元素的运算代价时N个乘法操作和N个加法操作,由于我们用两个矩阵相乘来建立DCT矩阵,在变换后的DCT矩阵中的每个元素都是用2N个乘法和加大建立起来的,这一点,大大地改进了前面使用嵌套循环的DCT定义。

/ * MatrixMultiply( temp , input , Ct )*/

for ( i = 0 ; i < N; i ++ ){

for ( j = 0 ;j < N ; j ++ ) {

temp[ i ][ j ] = 0.0

for ( k = 0 ; k < N ; k ++ )

temp[ i ][ j ] + = ( pixel [ i ][ k ] * Ct[ k ] [ j ] ;

}

}

/ * MatrixMultiply( output ,C, temp ); */

for ( i = 0 ; i < N ; i ++ ) {

for ( j = 0 ; j < N ; j ++ ) {

temp1 = 0.0;

for ( k = 0 ; k < N ; k ++ )

temp1 + = C[ i ][ j ] * temp [ k ][ j ];

DCT[ i ][ j ] = temp1 ;

}

}

上面显示的是通过矩阵运算实现DCT的简单代码片段。值得注意的是,代码中主要是两个三层的嵌套循环,第一个三层嵌套循环是用输入的象素序列于转置余弦变换矩阵相乘,产生临时矩阵;之后,在第二个三层嵌套循环中,临时矩阵于余弦变换矩阵相乘,产生输出的DCT矩阵。

第三章压缩过程

3.1DCT的输出

由输入的象素值矩阵及输出的DCT矩阵可已经看出DCT所建立的频谱压缩特性。“直流系数”位于矩阵左上角的位置,这个表示的是输入矩阵的所有幅度的一个平均,它代表了X和Y坐标轴上的DC分量,而且直流系数要比DCT矩阵中任意值都打至少一个数量级。另外,在DCT矩阵中有一个通常的趋势,随着元素离直流系数越来越远,这些元素的幅度上也变的越来越小。这意味着,通过在输入数据中执行DCT,我们已经将图像的表达集中在输出矩阵的左上角的系数上,而DCT矩阵的右下角部分所包含的是没有用的信息。也很有利于数据的压缩。

3.2 量化

由图2-1可知JPEG压缩过程分为三个步骤。第一步是DCT变换,这是一个无损压缩变换,它实际上并不实现压缩,是“有损”的准备,即为“量化”处理阶段做准备。DCT输出矩阵比原始象素矩阵占有更多的存贮空间,DCT函数的输入包括8位象素值,但输出值的范围从-1024到1023,占用11位,因此,为使DCT矩阵占用较少空间,就需要做些事情。减少DCT矩阵存贮位数的行为称为“量化”(Quantization)。量化只不过是通过减少整数单精度来减少存贮整数值所需要的位数第一个过程。一旦DCT图像压缩,我们可以随着原理原点处的直流系数越来越多的减少系数的精度:离(0,0)点越远,这个元素对于图形图像的贡献就越小,所有我们就越不用注意去维持这个值的精确精度。

3.2.1量化的算法描述

JPEG算法使用量化矩阵(Quantization Matrix)来实现量化。对于DCT

矩阵中的每个元素位置,两个矩阵中的相应位置给出了一个量子值(Quantum V alue),量子值指示出图像压缩时元素的步长大小是多少,其范围是1到255。

与图像关系最密切的元素用小步长编码,大小为1表示最高精度。随着我们从原点移开,值将变得较高,量化的实际公式相当简单:

量化后的值(i, j)=圆整成最近的整数

从公式中可以清楚地看到,大于25或50的量化值可能可以保证素有高频分量实际上将近似到0,只有高频系数达到不寻常大值,才会编码成非0。

译码时,逆量化公式为:

DCT(i, j)=量化后的值(i,j)*量子(i, j)

3.2.2量化矩阵的选择

显然有许多方法可以用来定义两个矩阵中的值,至少有两个试验途径可以测试不同的量化方案。一个是在图像还原以后,测量输入输出图像之间的数学误差;第二个途径试图用人眼来判断还原的结果,它与误差方面的数学差别不可能总是绝对一致。由于量化矩阵可以定义在压缩进行的运行时间,所以JPEG允许使用任何量化矩阵。在运行时间选择量化矩阵的好处之一是在被压缩的图形使用JPEG算法时可以相当简单地“打入”图像的质量值。可以基于突袭拿过需要和存贮容量来选择图像质量。

下面的程序所提供的用于测试代码的量化表是使用非常简单的算法卷里起来的。要确定量子步长大小的值,用户输入一个单个的“质量因子”(quality factor),它的范围为1到25。大于25的值是可以工作的,但是值为25时,图像质量已经退化得很厉害,所以任何进一步的实验都是无意义的。

for ( i = 0 ; i < N ; i ++ )

for ( j = 0 ; j < N ; j ++ )

Quantum[ i ][ j ] = 1 + (( 1 + i + j ) * quality ) ;

质量等级设置了彼此相邻的相同量化水平带的不同,这些量化水平带是面向横贯矩阵的对角线。所以,一个值的量化水平都与原点有大约相同的距离。

由配置的结果看,位置(7,7)处的DCT系数值为16,编码成非零值,在元素值为图像提供任何有意义的信息之前,,它为该元素值设定了界限,任何此界限一下的贡献都被扔掉。这就是算法中发生“有损”效果的地方。DCT的第一个步骤中除了数学精度损失外没有任何损失,并且量化之后的步骤也是无所的编码过程,所以我们有机会丢掉数据的唯一地方就在这儿。

由将DCT矩阵量化后的量化结果来看,量化/逆量化周期有明显的压缩效果,矩阵的高频部分已大部分截成0,消除了在被还原图像中的影响,矩阵中接近直流系数的系数可能被修改,但与原系数相比修改不大。下图即为量化前和逆量化后的DCT矩阵的结果。

DCT Matrix before 92 3 -9 -7 3 -

1 0 2

Quantization -39 -58 12 17 -

2 2 4 2

-84 62 1 -18 3 4 -5 5

-52 -36 -10 14 -10 4 -2 0

-86 -40 49 -7 17 -6 -2 5

-62 65 -12 -2 3 -8 -2 0

-17 14 -36 17 -1

1 3 3 -1

-54 32 -9 -9 2

2 0 1 3

DCT Matrix after 90 0 -

7 0 0 0 0 0

Dequantization -35 -56 9 1

1 0 0 0 0

-84 54 0 -1

3 0 0 0 0

-45 -3

3 0 0 0 0 0 0

-77 -39 4

5 0 0 0 0 0

-52 6

0 0 0 0 0 0 0

-15 0 -1

9 0 0 0 0 0

-51 1

9 0 0 0 0 0 0

3.3编码

JPEG过程的最后步骤湿编码量化了的图像。JPEG的编码阶段由压缩图像的三个不同步骤组成。

(1)第一步是将(0,0)处的直流系数由绝对值变为相对值,因为图像中相邻的块表现出了高度的相关。用与前一个直流元素的差来编码直流元素,就回产生一个非常小的数值。

(2)第二步是将图像系数安排成“zig-zag”序列。

(3)最后一步是用两种不同的机制编码。第一个机制是0值的行程编码。第二个是JPEG所称作的熵编码(Entropy Coding),这是根据现实者的选择,用霍夫曼代码或算术编码送出系数代码的一步。

3.3.1Zig-Zag序列

JPEG算法压缩如此有效的原因之一是,在量化过程中,DCT图像的大量的系数截断成了0值,有这么多的0值,JPEG委员会就选择了与处理其他系数值不同的方法处理0值。

不使用霍夫曼或算术编码来压缩0值,而是使用行程编码算法(Run-Leng th Coding,RLE),所开发的程序代码很简单,只是给出图像中连续0值的计数。由于在许多图像中,近一半的系数已量化成0,这就给杰出的压缩提供了机会。

增加行程差功能度的算法是将系数序列重新排序成Zig-Zag序列。JPEG算法没有象程序员可能进行的那样按照主行的顺序压缩系数,而使沿着对角线路径移动块,首先选择最大的元素值,并向可能是最小的值方向走。

Zig-Zag序列的实际路线显示在图3-1中。

用C实现Zig-Zag序列可能用简单的查寻表来完成是最好的。本章的样例代码中,序列编码程序成结构的一部分,该结构可以顺序存取以确定要编码的行和列。

struck zigzag{

int row;

int col;

} Zigzag [ N * N ] =

{

{0,0},

{0,1},{1,0},

{2,0},{1,1},{0,2},

{0,3},{1,2},{2,1},{3,0},

{4,0},{3,1},{2,2},{1,3},{0,4},

{0,5},{1,4},{2,3},{3,2,},{4,1},{5,0},

{6,0},{5,1},{4,2},{3,3},{2,4},{1,5},{0,6},

{0,7},{1,6},{2,5},{3,4},{4,3},{5,2},{6,1},{7,0}, {7,1},{6,2},{5,3},{4,4},{3,5},{2,6},{1,7},

{2,7},{3,6},{4,5},{5,4},{4,6},{3,7},

{7,3},{6,4},{5,5},{4,6},{3,7},

{4,7},{5,6},{6,5},{7,4},

{7,5},{6,6},{5,7},

{6,7},{7,6},

{7,7}

}

下面是将每个DCT结果送到压缩器中的C代码。其中,并没有直接查寻每个结果,而使通过查寻Zig-Zag结构来确定要使用的下一个行与列,之后再对通过Zig-Zag结构中得到的行和列所确定的元素进行编码。

for ( i = 0 ; i < ( N * N );i ++ ){

row = ZigZag[ i ] .row;

col = ZigZag[ i ] .col;

result = DCT[ row ][ col ]/Quantum[ row ][ col ];

OutputCode( output_file .ROUND( result ) ) ;

}

3.3.2 熵编码

讲直流元素转换成与上一个之差之后,接下来将DCT块重新排序成Zig-Za g序列,再后,JPEG用一个熵编码机制送出元素,输出带有建立在其中的RLE,它是编码机制的主要部分,基本上,熵编码输出包括三个单词的序列,不断重复直到块结束,三个单词如下:

1.行程长度——DCT输出矩阵中,当前元素之前的连续0 的个数

2.位计数——后面跟着的幅度值所用的位数

3.幅度——DCT系数的幅度

本设计采取的编码序列是行程编码和可变长度整型数编码的组合。行程长度和位计数这两个值的组合,形成了输出的代码。,位计数是将幅度可变长度整型编码所使用的位数目。

可变长度整型数编码方案利用了DCT的输出应该由大多数较小的数值所组成的事实,因此我们想用较少的位数目进行编码。下面是位计数及用这个数目编码的系数幅度:

位计数幅度

1 -1,1

2 -3到-2, 2到3

3 -7到-4, 4到7

4 -15到-8, 8到15

5 -31到-16,16到31

6 -63到-32,32到63

7 -127到-63,64到127

8 -255到-128,128到-255

9 -511到-256,256到511

10 -1023到-512,512到1023

要注意的是每一个位计数编码高低值的对称序列,中间跳过的值用表中从1位开始的较小的位计数进行编码。

参考资料:1、《多媒体网络通信》北京理工大学出版社李小平等编著

2、《数据通信和网络》鲁士文等编著清华大学出版社

3、《网络多媒体技术开发与应用》冯博琴等译著机械工业出版社

4、《中国多媒体视训》杂志 2002年 1—10期

图像压缩编码方法

图像压缩编码方法综述 概述: 近年来, 随着数字化信息时代的到来和多媒体计算机技术的发展, 使得人 们所面对的各种数据量剧增, 数据压缩技术的研究受到人们越来越多的重视。 图像压缩编码就是在满足一定保真度和图像质量的前提下,对图像数据进行变换、编码和压缩,去除多余的数据以减少表示数字图像时需要的数据量,便于 图像的存储和传输。即以较少的数据量有损或无损地表示原来的像素矩阵的技术,也称图像编码。 图像压缩编码原理: 图像数据的压缩机理来自两个方面:一是利用图像中存在大量冗余度可供压缩;二是利用人眼的视觉特性。 图像数据的冗余度又可以分为空间冗余、时间冗余、结构冗余、知识冗余 和视觉冗余几个方面。 空间冗余:在一幅图像中规则的物体和规则的背景具有很强的相关性。 时间冗余:电视图像序列中相邻两幅图像之间有较大的相关性。 结构冗余和知识冗余:图像从大面积上看常存在有纹理结构,称之为结构 冗余。 视觉冗余:人眼的视觉系统对于图像的感知是非均匀和非线性的,对图像 的变化并不都能察觉出来。 人眼的视觉特性: 亮度辨别阈值:当景物的亮度在背景亮度基础上增加很少时,人眼是辨别 不出的,只有当亮度增加到某一数值时,人眼才能感觉其亮度有变化。人眼刚 刚能察觉的亮度变化值称为亮度辨别阈值。 视觉阈值:视觉阈值是指干扰或失真刚好可以被察觉的门限值,低于它就 察觉不出来,高于它才看得出来,这是一个统计值。 空间分辨力:空间分辨力是指对一幅图像相邻像素的灰度和细节的分辨力,视觉对于不同图像内容的分辨力不同。 掩盖效应:“掩盖效应”是指人眼对图像中量化误差的敏感程度,与图像 信号变化的剧烈程度有关。 图像压缩编码的分类: 根据编码过程中是否存在信息损耗可将图像编码分为: 无损压缩:又称为可逆编码(Reversible Coding),解压缩时可完全回复原始数据而不引起任何失真; 有损压缩:又称不可逆压缩(Non-Reversible Coding),不能完全恢复原始数据,一定的失真换来可观的压缩比。 根据编码原理可以将图像编码分为: 熵编码:熵编码是编码过程中按熵原理不丢失任何信息的编码。熵编码基

jpeg编码原理

一、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压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。 压缩编码大致分成三个步骤: 1、使用正向离散余弦变换(Forward Discrete Cosine Transform,FDCT)把空间域表示的图变换成频率域表示的图。 2、使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。 3、使用霍夫曼可变字长编码器对量化系数进行编码。 译码或者叫做解压缩的过程与压缩编码过程正好相反。 JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在

图像压缩编码实验报告

图像压缩编码实验报告 一、实验目的 1.了解有关数字图像压缩的基本概念,了解几种常用的图像压缩编码方式; 2.进一步熟悉JPEG编码与离散余弦变换(DCT)变换的原理及含义; 3.掌握编程实现离散余弦变换(DCT)变换及JPEG编码的方法; 4.对重建图像的质量进行评价。 二、实验原理 1、图像压缩基本概念及原理 图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类: (1)无损压缩编码种类 哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。(2)有损压缩编码种类 预测编码,DPCM,运动补偿; 频率域方法:正交变换编码(如DCT),子带编码; 空间域方法:统计分块编码; 模型方法:分形编码,模型基编码; 基于重要性:滤波,子采样,比特分配,向量量化; (3)混合编码 JBIG,H.261,JPEG,MPEG等技术标准。 2、JPEG 压缩编码原理 JPEG是一个应用广泛的静态图像数据压缩标准,其中包含两种压缩算法(DCT和DPCM),并考虑了人眼的视觉特性,在量化和无损压缩编码方面综合权衡,达到较大的压缩比(25:1以上)。JPEG既适用于灰度图像也适用于彩色图像。其中最常用的是基于DCT变换的顺序式模式,又称为基本系统。JPEG 的压缩编码大致分

图像压缩原理

1、为什么要对图像数据进行压缩?其压缩原理是什么? 答:(1)数字图像如果不进行压缩,数据量是比较大的,例如一幅分辨率为1024×768的静态真彩色图像,其数据量为1024×768×24=2.25(MB)。这无疑对图像的存储、处理、传送带来很大的困难。事实上,在图像像素之间,无论在行方向还是列方向,都存在一定的相关性。也就是说,在一般图像中都存在很大的相关性,即冗余度。静态图像数据的冗余包括:空间冗余、时间冗余、结构冗余、知识冗余和视觉冗余、图像区域的相同性冗余、纹理的统计冗余等。图像压缩编码技术就是利用图像数据固有的冗余性和相干性,将一个大的图像数据文件转换为较小的同性质的文件。 (2)其压缩原理: 空间冗余、时间冗余、结构冗余、和视觉冗余。 2、图像压缩编码的目的是什么?目前有哪些编码方法? 答:(1)视频经过数字化处理后易于加密、抗干扰能力强、可再生中继等诸多优点,但是由于数字化的视频数据量十分巨大,不利于传输和存储。若不经压缩,数字视频传输所需的高传输率和数字视频存储所需的巨大容量,将成为推广数字电视视频通信的最大障碍,这就是进行视频压缩编码的目的。 (2)目前主要是预测编码,变换编码,和统计编码三种编码方法。 3、某信号源共有7个符号,概率分别为0.2,0.18,0.1,0.15,0.07,0.05,0.25,试进行霍夫曼编码,并解释是否进

行了压缩,压缩比为多少? 0000 0001 000 00 111 110 10 0.05 0.07 0.1 0.2 0.18 0.15 0.25 0.05×4+0.07×4+0.1×3+0.2×2+0.18×3+0.15×3+0.25×2=2.67

浅析图像压缩编码方法

Computer Knowledge and Technology 电脑知识 与技术第6卷第23期(2010年8月)浅析图像压缩编码方法 徐飞 (闽西职业技术学院,福建龙岩364021) 摘要:该文描述了图像压缩编码的概念,原理以及主要分类,介绍了目前常见的三种图像压缩编码方法的原理,特点以及简单讨论了其中两种方法的MATLAB 代码实现。 关键词:图像压缩编码;编码原理;编码分类;编码方法;MATLAB 中图分类号:TP301文献标识码:A 文章编号:1009-3044(2010)23-6584-03 Analysis of the Image Compression Coding Method XU Fei (Minxi Vocational &Technical College,Longyan 364021,China) Abstract:This paper is mainly about the concept,principle and classification of image compression coding,introduces the concepts and characteristic of three kinds of image compression coding methods that are common used,and discusses how to using matlab to accomplish the two common methods which mentions in the front. Key words:image compression coding;coding principle;coding classification;coding method;MATLAB 现代社会是信息社会,随着信息技术的发展,图像信息被广泛应用于多媒体通信、计算机系统和网络中。因为对图像的要求越来越高,图像信息量也越来越大,所以在传输之前需要进行信息处理,必须采用合适的方法对其进行压缩,因此有必要对图像压缩编码方法进行研究。 1图像压缩编码 1.1概述 图像压缩编码就是在满足一定保真度和图像质量的前提下,对图像数据进行变换、编码和压缩,去除多余的数据以减少表示数字图像时需要的数据量,便于图像的存储和传输。即以较少的数据量有损或无损地表示原来的像素矩阵的技术,也称图像编码。 1.2图像压缩编码原理 图像数据的压缩机理来自两个方面:一是利用图像中存在大量冗余度可供压缩;二是利用人眼的视觉特性。 1.2.1图像数据的冗余度 1)空间冗余: 在一幅图像中规则的物体和规则的背景具有很强的相关性。 2)时间冗余:电视图像序列中相邻两幅图像之间有较大的相关性。 3)结构冗余和知识冗余: 图像从大面积上看常存在有纹理结构,称之为结构冗余。 4)视觉冗余:人眼的视觉系统对于图像的感知是非均匀和非线性的,对图像的变化并不都能察觉出来。 1.2.2人眼的视觉特性 1)亮度辨别阈值:当景物的亮度在背景亮度基础上增加很少时,人眼是辨别不出的,只有当亮度增加到某一数值时,人眼才能感觉其亮度有变化。人眼刚刚能察觉的亮度变化值称为亮度辨别阈值。 2)视觉阈值:视觉阈值是指干扰或失真刚好可以被察觉的门限值,低于它就察觉不出来,高于它才看得出来,这是一个统计值。3)空间分辨力:空间分辨力是指对一幅图像相邻像素的灰度和细节的分辨力,视觉对于不同图像内容的分辨力不同。 4)掩盖效应:“掩盖效应”是指人眼对图像中量化误差的敏感程度,与图像信号变化的剧烈程度有关。 1.3图像压缩编码的分类 根据编码过程中是否存在信息损耗可将图像编码分为: 1)无损压缩:又称为可逆编码(Reversible Coding),解压缩时可完全回复原始数据而不引起任何失真; 2)有损压缩:又称不可逆压缩(Non-Reversible Coding),不能完全恢复原始数据,一定的失真换来可观的压缩比。 根据编码原理可以将图像编码分为: 1)熵编码:熵编码是编码过程中按熵原理不丢失任何信息的编码。熵编码基本原理是给出现概率大的信息符号赋予短码字,出收稿日期:2010-06-10 作者简介;徐飞(1982-),男,福建龙岩人,闽西职业技术学院,助教,理学学士,主要研究方向为数字图象,软件开发,软件测试。ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.23,August 2010,pp.6584-6586,6589E-mail:eduf@https://www.sodocs.net/doc/5c10842978.html, https://www.sodocs.net/doc/5c10842978.html, Tel:+86-551-56909635690964

JPEG图像压缩原理

JPEG编码 JPEG是联合图象专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织(ISO)和CCITT联合制定的静态图象的压缩编码标准。和相同图象质量的其它常用文件格式(如GIF,TIFF,PCX)相比,JPEG是目前静态图象中压缩比最高的。我们给出具体的数据来对比一下。例图采用Windows95目录下的Clouds.bmp,原图大小为640*480,256色。用工具SEA(version1.3)将其分别转成24位色BMP、24位色JPEG、GIF(只能转成256色)压缩格式、24位色TIFF压缩格式、24位色TGA压缩格式。得到的文件大小(以字节为单位)分别为:921,654,17,707,177,152,923,044,768,136。可见JPEG比其它几种压缩比要高得多,而图象质量都差不多(JPEG处理的颜色只有真彩和灰度图)。 正是由于JPEG的高压缩比,使得它广泛地应用于多媒体和网络程序中,例如HTML语法中选用的图象格式之一就是JPEG(另一种是GIF)。这是显然的,因为网络的带宽非常宝贵,选用一种高压缩比的文件格式是十分必要的。 JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基线系统(Baseline),以下将针对这种格式进行讨论。 1.JPEG的压缩原理 JPEG的压缩原理其实上面介绍的那些原理的综合,博采众家之长,这也

正是JPEG有高压缩比的原因。其编码器的流程为: 图9.3 JPEG编码器流程 解码器基本上为上述过程的逆过程: 图9.4 解码器流程 DCT 下面对正向离散余弦变换(FDCT)变换作几点说明。 (1)对每个单独的彩色图像分量,把整个分量图像分成8×8的图像块,如图所示,并作为两维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。 (2)DCT变换使用下式计算: 它的逆变换使用下式计算:

图像压缩与编码

实验项目3、图像压缩与编码 一、实验目的 (1)理解图像压缩编码的基本原理; (2)掌握用程序代码实现DCT变换编码; (3)掌握用程序代码实现游程编码。 二、实验原理及知识点 1、图像压缩编码 图像信号经过数字化后,数据量相当大,很难直接进行保存。为了提高信道利用率和在有限的信道容量下传输更多的图像信息,必须对图像进行压缩编码。 图像压缩技术标准一般可分为如下几种:JPEG压缩(JPEG Compression)、JPEG 2000 、H.26X标准(H.26X standards)以及MPEG标准(MPEG standards)。数字压缩技术的性能指标包括:压缩比、平均码字长度、编码效率、冗余度。 从信息论角度分,可以将图像的压缩编码方法分为无失真压缩编码和有限失真编码。前者主要包括Huffman编码、算术编码和游程编码;后者主要包括预测编码、变换编码和矢量量化编码以及运动检测和运动补偿技术。 图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。 2、游程编码 某些图像特别是计算机生成的图像往往包含许多颜色相同的块,在这些块中,许多连续的扫描行或者同一扫描行上有许多连续的像素都具有相同的颜色值。在这些情况下就不需要存储每一个像素的颜色值,而是仅仅存储一个像素值以及具有相同颜色的像素数目,将这种编码方法称为游程(或行程)编码,连续的具有相同颜色值的所有像素构成一个行程。 在对图像数据进行编码时,沿一定方向排列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量。游程编码记录方式有两种:①逐行记录每个游程的终点列号:②逐行记录每个游程的长度 3、DCT变换编码 变换编码是在变换域进行图像压缩的一种技术。图1显示了一个典型的变换编码系统。 压缩 图像输入图 像N×N 图1 变换编码系统 在变换编码系统中,如果正变换采用DCT变换就称为DCT变换(离散余弦变换)编码系统。DCT用于把一幅图像映射为一组变换系数,然后对系数进行量化和编码。对于大多数的正常图像来说,多数系数具有较小的数值且可以被粗略地量化(或者完全抛弃),而产生的图像失真较小。

图像压缩技术的综述

题目:图像压缩技术的综述 学生姓名:徐欢学号: 系别:计算机与信息学院专业:计算机科学与技术 入学年份:年月 导师姓名:陈蕴谷职称学位:讲师硕士研究生 导师所在单位:中国科学院合肥物质研究院 完成时间年月 .引言 随着多媒体技术和通讯技术的不断发展,多媒体娱乐、信息高速公路等不断对信息数据的存储和传输提出了更高的要求,也给现有的有限带宽以严峻的考验,特别是具有庞大数据量的数字图像通信,更难以传输和存储,极大地制约了图像通信的发展,因此图像压缩技术受到了越来越多的关注。图像压缩的目的就是把原来较大的图像用尽量少的字节表示和传输,并且要求复原图像有较好的质量。利用图像压缩,可以减轻图像存储和传输的负担,使图像在网络上实现快速传输和实时处理。 图像数据是用来表示图像信息的,如果不同的方法为表示相同的信息使用了不同的数据量,那么使用较多数据量的方法中,有些数据必然代表了无用的信息,或者是重复的表示了其他数据表示的信息,前者成为数据冗余,后者成为不相干信息。图像压缩编码的主要目的,就是通过删除冗余的或者是不相干的信息,以尽可能地的数码率来存储和传输数字图像数据。 图像压缩编码技术可以追溯到年提出的电视信号数字化,到今天已经有多年的历史了。在此期间出现了很多种图像压缩编码方法,特别是到了年代后期以后,由于小波变换理论,分形理论,人工神经网络理论,视觉仿真理论的建立,图像压缩技术得到了前所未有的发展,其中分形图像压缩和小波图像压缩是当前研究的热点。本文对当前最为广泛使用的图像压缩算法进行综述,讨论了它们的优缺点以及发展前景。 图像编码基础 图像编码压缩是指在满足一定图像质量的条件下,用尽可能少的数据量来表示图像。编码技术比较系统的研究始于信息论,从此理论出发可以得到数据压缩的两种基本途径。一种是联合信源的冗余度也寓于信源间的相关性之中,去除他

图像压缩编码

Discussion on Wavelet B ases Selection for Digital Image Compression H AN Fang2f ang,XU Shuang,ZHENG De2zhong (College o f Electric Engineering,Yanshan Univer sity,Qinhuangdao Hebei066004,China) Abstract: This paper studies the selection of optimal wavelet bases.The merits of biorthog onal spline wavelets are dis2 cussed and dem onstrated.C ontinuity of spline derivatives assures wavelets sm ooth and symmetry of biorthog onal wavelets makes the filters have linear phase.Those features can reduce distortion and guarantee the reconstructed images quality. K ey w ords: Optimal wavelet bases;Image com pression;S pline wavelets;Biorthog onal wavelets 关于数字图像压缩中小波基选择问题的探讨① 韩芳芳,徐 爽,郑德忠 (燕山大学,电气工程学院,河北 秦皇岛 066004) 摘要:针对数字图像压缩编码中最优小波基的选择问题,论证了双正交样条小波基的优点,并对其进行了推导。样条小波的导数连续性保证了小波基的光滑性,双正交对偶小波的对称性使得滤波器具有线性相位,可减小失真,保证重构图像的质量。 关键词:最优小波基;图像压缩;样条小波;双正交小波 中图分类号:T N919 文献标识码:A 文章编号:1004-1699(2004)01-0154-04 图像是人类感知信息的重要途径之一。然而图像经过采样及量化编码后数据量巨大,给传输与存储带来很多困难,因而需要对图像数据进行有效的压缩。在F ourier分析基础上发展起来的小波分析,提供了一种自适应的时域和频域同时局部化的分析方法,通过伸缩和平移等运算功能进行多尺度细化分析,能够有效地从信号中提取信息。小波分析用于数字图像压缩,压缩比高,压缩速度快,压缩后信号与图像的特征不变,且在传递过程中可以抗干扰。因此小波分析成为数字图像处理及压缩编码的有力工具。 如何选择最优小波基是图像压缩编码中所面临的一个棘手问题。对于图像信号而言,一方面要对巨大的数据量进行有效压缩,另一方面,要保持重建图像的质量满足视觉要求。小波基的选择存在一些标准,如平滑性、逼近精度、支撑大小和滤波频率等,如何最佳的组合这些特征是一个难点所在。 1 小波基的选择问题 如何最合理、快速的选择小波基,目前这方面的研究并无定论。在小波基的选择中,一般较为看重以下几方面: 平滑性与消失矩。消失矩表明了小波变换后的能量集中程度,消失矩阶数很大时,精细尺度下的高频部分数值有许多是小得可以忽略的(奇异点除外)[1]。从重构图像质量角度而言,平滑性的影响要 2004年3月 传 感 技 术 学 报 第1期 ①收稿日期:2003211210 作者简介:韩芳芳(1978-)女,硕士研究生,主要研究方向为视频信号压缩编码; 徐 爽(1978-)女,硕士研究生,主要研究方向为信号处理与语音编码; 郑德忠(1952-)男,教授,博士生导师,河北省人工智能学会副理事长,中国电子协会高级会员,主要从事信号 处理和先进控制等方面的研究工作,已在国内外发表论文50余篇。qhdzdz@https://www.sodocs.net/doc/5c10842978.html,.

图像压缩(JPEG)编码算法及压缩过程的实现

秋风,秋雨,秋天的景色 ?博客园 ?首页 ?博问 ?闪存 ?新随笔 ?联系 ?订阅 ?管理 随笔- 234 文章- 0 评论- 22 图象压缩(JPEG)编码算法及压缩过程的实现转 图象压缩(JPEG)编码算法及压缩过程的实现 摘要 本文首先介绍了静态图像压缩(JPEG)编码算法的基本原理、压缩的实现过程及其重要过程的离散余弦变换(DCT)算法的实现原理及软件实现的例程,其次着重介绍了压缩过程中的DCT、量化和编码三个重要步骤的实现原理。 关键词:图像压缩有损压缩 JPEG 离散余弦变换 DCT 量化 第一章图像压缩编码的综述 1.1 图象压缩的目的和方法 图象的数字化表示使得图象信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是数字图像的表示需要大量的数据,必须进行数据的压缩。即使采用多种方法对数据进行了压缩,其数据量仍然巨大,对传输介质、传输方法和存储介质的要求较高。因此图象压缩编码技术的研究显得特别有意义,也正

是由于图象压缩编码技术及传输技术的不断发展、更新,推动了现代多媒体技术应用的迅速发展。 1.1.1 图象压缩的目的 图象采样后,如果对之进行简单的8bit量化和PCM编码,其数据量是 巨大的。以CIF(Common Intermediate Format)格式的彩色视频信号为例,若采样速率为25帧/秒,采样样点的Y、U、V分量均为8bit量化,则一秒钟的数据量为: 352×288×3×8×25=60.83Mbit 要传输或存储这样大的数据量是非常困难的,必需对其进行压缩编码,在满足实际需要的前提下,尽量减少要传输或存储的数据量。 虽然数字图象的数据量巨大,但图象数据是高度相关的。一幅图象的内部相邻象素之间,相邻行之间的视频序列中相邻图象之间有大量冗余信息—空间相关性和时间相关性,可以使用各种方法尽量去除这些冗余信息,减少图象的数据量。 除了时间冗余和空间冗余外,在一般的图象数据中还存在信息熵冗余、结构冗余、知识冗余和视觉冗余。各种冗余就是压缩图象数据的出发点。图象编码的目的就在于采用各种方法去除冗余,以尽量少的数据量来表示个重建图象。 1.1.2图象压缩的几种方法 1.统计和字典的压缩方法 常规程序和计算机熵的数据对于那些基于利用统计变种的压缩,效果很好,这些统计变种表现在单个符号的频率以及符号或短语字符串的频率等方面,而基于字典的系统实际山就是假扮统计程序。可是遗憾的是,这类压缩对于连续色调图象的作用并不很好。 这些程序的主要问题产生于这样的一个事实:照片图象的象素广泛地分布在整个范围。如果将图象中的彩色用频率分布画出,那么频率分布图中,没有我们在统计压缩的成功的情况下所看到的“尖峰”状,实际上,如果延长这个分布图,那么从类似于电视那样的生活图象源中得出的分布图会趋于平展。这意味着,每个象素代码彼此是大约相同的出现机会,决定不存在挖掘熵差的任何机会。 基于字典的压缩程序的运行也有类似的问题,基于扫描照片的图象决定没有任何类型的数据特征以产生相同的短语的多次出现。例如,一个栅格化的图象,

图像压缩编码

小波变换在图像压缩中的应用 学院精密仪器与光电子工程学院 专业光学工程 年级2014级 学号1014202009 姓名孙学斌

一、图像压缩编码 数字图像 图像是自然界景物的客观反映。自然界的图像无论在亮度、色彩,还是空间分布上都是以模拟函数的形式出现的,无法采用数字计算机进行处理、传输和存储。 在数字图像领域,将图像看成是由许多大小相同、形状一致的像素(Picture Element简称Pixel组成)用二维矩阵表示。图像的数字化包括取样和量化两个主要步骤。在空间将连续坐标离散化的过程为取样,而进一步将图像的幅度值整数化的过程称为量化。 图像编码技术 数据压缩就是以较少的数据量表示信源以原始形式所代表的信息,其目的在于节省存储空间、传输时间、信号频带或发送能量等。其组成系统如图所示。 过程应尽量保证去除冗余量而不会减少或较少减少信息量,即压缩后的数据要能够完全或在一定的容差内近似恢复。完全恢复被压缩信源信息的方法称为无损压缩或无失真压缩,近似恢复的方法称为有损压缩或有失真压缩。 图像压缩编码的必要性与可行性 1.图像压缩编码的必要性 采用数字技术会使信号处理技术性能大为提高,但其数据量的增加也是十分惊人的。图像数据更是多媒体、网络通信等技术重点研究的压缩对象。不加压缩的图像数据是计算机的处理速度、通信信道的容量等所无法承受的。 如果将上述的图像信号压缩几倍、十几倍、甚至上百倍,将十分有利于图像的存储和传输。可见,在现有硬件设施条件下,对图像信号本身进行压缩是解决上述矛盾的主要出路。 2.图像压缩编码的可能性 图像数据量大,同时冗余数据也是客观存在的。在有些图像中可压缩的可能性很大。一般图像中存在着以下数据冗余因素。 (1)编码冗余 编码冗余也称信息熵冗余。去除信源编码中的冗余量可以在对信息无损的前提下减少代表信息的数据量。对图像进行编码时,要建立表达图像信息的一系列符号码本。如果码本不能使每个像素所需的平均比特数最小,则说明存在编码冗余,就存在压缩的可能性。 (2)空间冗余

图像压缩综述

图像压缩综述 摘要:随着信息时代的不断发展,数字图像处理技术得到了广泛的应用,而作为数字图像处理技术的重要组成部分——数字图像压缩,也得到了迅猛的发展。本文从数字图像压缩的概念、发展历史、图像压缩的必要性和可能性、图像压缩标准、图像压缩基本方法和图像压缩效果评价等方面进行了综述。 引言 在当前这个信息化社会中,新信息技术革命使人类被日益增多的多媒体信息所包围。多媒体信息主要是由图像、文本和声音三大元素组成。图像作为其主要元素之一,发挥着越来越重要的作用。而传输和存储图像需要占用大量的数据空间,这严重影响了传输速率和实时处理量,极大地制约了图像通信的发展。其中,数据量最大的是数字视频数据。未经处理的数字视频信息需要消耗巨大的存储资源,以主流高清视频为例,在分辨率为1280×720,帧率为30帧每秒的视频应用中,存储一分钟的视频信息,需要约18.5G(以常4:2:0视频,每像素12比特)比特存储空间,一部120分钟高清电影约需要2225G比特的存储空间。可见未经处理的视频信息量非常大,为了满足存储和传输需求,视频信息的压缩是十分必要的。在同等的通信容量下,如果图像数据可以压缩之后再传输,就可以使传输的数据量变得很小,也就能够增加通信能力。因此图像压缩编码技术受到了越来越多的关注及广泛的应用。如数码相机、USB摄像头、可视电话、视频点播、视频会议系统、数字监控系统等等,都使用到了图像或视频的压缩技术。 数字图像压缩是以尽可能少的比特数代表图像或图像中所包含的信息量的技术,图像通过压缩处理去掉其中的数据冗余、符号冗余、视觉冗余等各种冗余信息,提高传输速率,节省存储空间。 1图像压缩的发展历史 自1948年提出的电视信号数字化设想后, 即开始了图像压缩的研究,到现在已有60多年的历史。20世纪五六十年代的图像压缩编码主要集中在预测编码、哈夫曼编码等技术的研究,还不成熟。1969年在美国召开的第一届“图像编码会议”,标志着图像编码作为一门独立学科的诞生。到了七八十年代,图像压缩技术的主要成果体现在变换编码技术上, 矢量量化编码技术也有较大的发展。80年代末,小波变换理论、分形理论、人工神经网络理论、视觉仿真理论建立,人们开始突破传统的信源编码理论, 图像压缩编码向着更高的压缩率和更好的压缩质量的方向发展,进入了一个崭新的发展时期。 2图像压缩的可能性 图像之所以能够进行压缩有以下几个方面的原因: 一是原始图像数据是高度相关的,存在很大的数据冗余。如图像内相邻像素之间的空间冗余度、系列图像前后帧之间的时间冗余度、多光谱遥感图像各频谱间的频率域冗余度等,它们造成了大量的比特数浪费,消除这些冗余就可以节约码字,大大减少数据量,达到数据压 缩的目的。 二是信源符号出现的概率不同,若用相同码长表示不同出现概率的符号,就会造成符号冗余度。如果采用可变长编码技术,对出现概率高的符号用短码字,对出现概率低的符号用长码字表示,就可以消除符号冗余度,从而节约码字。 三是人眼具有视觉冗余,允许图像编码有一定的失真。人类视觉系统(HVS)是有缺陷的,人眼对于某些失真不敏感难以察觉。在许多场合中,并不要求经压缩及复原以后的图像和原始图像完全相同,可以允许有少量的失真,只要这些失真并不被人眼所察觉即可。这就为压缩比的提高提供了十分有利的条件,这种有失真的编码称为限失真编码。在多数应用中,人眼往

图像压缩编码的方法概述

图像压缩编码的方法概述摘要:在图像压缩的领域,存在各种各样的压缩方法。不 同的压缩编码方法在压缩比、压缩速度等方面各不相同。本文从压缩方法分类、压缩原理等方面分析了人工神经网络压缩、正交变换等压缩编码方法的实现与效果。 关键词:图像压缩;编码;方法 图像压缩编码一般可以大致分为三个步骤。输入的原始图像首先需要经过映射变换,之后还需经过量化器以及熵编码器的处理最终成为码流输出。 一、图像压缩方法的分类 1.按照原始信息和压缩解码后的信息的相近程度分为以下两类:(1)无失真编码又称无损编码。它要求经过编解码处理后恢复出的图像和原图完全一样,编码过程不丢失任何信息。如果对已量化的信号进行编码,必须注意到量化所产生的失真是不可逆的。所以我们这里所说的无失真是对已量化的信号而言的。特点在于信息无失真,但压缩比有限。(2)限失真编码中会损失部分信息,但此种方法以忽略人的视觉不敏感的次要信息的方法来得到高的压缩比。图像的失真怎么度量,至今没有一个很好的评判标准。在由人眼主观判读的情况下,唯有人眼是对图像质量的最有利评判者。但是人眼视觉机理到现在为止仍为被完全掌握,所以我们很难得到一个和主观评价十分相符的客观标准。目前用的最多的仍是均方误差。这个失真度量标准并不好,之所以广泛应用,是因为方便。

2.按照图像压缩的方法原理可分为以下三类:(1)在图像编码过程中映射变换模块所做的工作是对编码图像进行预测,之后将预测差输出供量化编码,而在接受端将量化的预测差与预测值相加以恢复原图,则这种编码方法称为预测编码。预测编码中,我们只对新的信息进行编码。并且是利用去除邻近像素之间的相关性和冗余性的方法来达到压缩的目的。(2)若压缩编码中的映射变换模块用某种形式的正交变换来代替,则我们把这种方式的编码方法称为变换编码。在变换编码中常用的变换方法有很多,我们主要用到的有离散余弦变换(DCT),离散傅立叶变换(DFT)和离散小波变换(DWT)等。(3)混合编码,LZW算法以及近些年来的一些新的压缩编码方法,最主要的有分形编码算法、小波变换压缩算法、基于模型的压缩算法等。 3.按照压缩对象来分,我们可将图像压缩方法分为静止图像压缩和运动图像压缩。它们所采用的压缩编码标准有所不同,对于静止图像压缩而言,采用的是JPEG、JPEG2000标准;而对运动的图像进行压缩时,我们则采用的是、、、MPEG-1、MPEG-2、MPEG-4、MPEG-7等。 二、常用的图像压缩方法 图像压缩方法至研究开始至今,已经有将近70年的发展了,随着科技的不断发展和人们越来越高的期望和要求,使得图像压缩技术也在不断的发展着,不断的进步着,各种各样的方法层出不穷,争对不同的要求我们可以选择不同的方法对图像进行压缩,以达到

实验四 图像压缩编码

系:信息与机电工程系专业:电子信息工程年级: 2013级 姓名:学号: 136710093 实验课程:数字图像处理 实验室号:_ 实验设备号:实验时间: 2015.6.16 指导教师签字:成绩: 实验四图像压缩编码 一、实验目的 1.了解有关数字图像压缩的基本概念 2.理解有损压缩和无损压缩的概念; 3.理解图像压缩的主要原则和目的; 4.了解几种常用的图像压缩编码方式。 5.进一步熟悉DCT的概念和原理; 6.掌握对灰度和彩色图像作离散余弦变换和反变换的方法; 7.掌握利用MATLAB软件进行图像压缩。 二、实验原理 1、图像压缩原理 图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。 信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。 编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。 (1).冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。 (2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是

说解码图像和原始图像是有差别的,允许有一定的失真。 应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类: (1)无损压缩编码种类 哈夫曼(Huffman )编码,算术编码,行程(RLE )编码,Lempel zev 编码。 (2)有损压缩编码种类 预测编码,DPCM ,运动补偿; 频率域方法:正交变换编码(如DCT),子带编码; 空间域方法:统计分块编码; 模型方法:分形编码,模型基编码; 基于重要性:滤波,子采样,比特分配,向量量化; (3)混合编码。 有JBIG ,H261,JPEG ,MPEG 等技术标准。 本实验主要利用MATLAB 程序进行离散余弦变换(DCT )压缩。 2、离散余弦变换(DCT)图像压缩原理 离散余弦变换DCT 在图像压缩中具有广泛的应用,它是JPEG 、MPEG 等数据压缩标准的重要数学基础。 和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式))相比,JPEG 是目前静态图像中压缩比最高的。JPEG 比其他几种压缩比要高得多,而图像质量都差不多(JPEG 处理的图像只有真彩图和灰度图)。正是由于其高压缩比,使得JPEG 被广泛地应用于多媒体和网络程序中。JPEG 有几种模式,其中最常用的是基于DCT 变换的顺序型模式,又称为基本系统(Baseline)。 用DCT 压缩图像的过程为: (1)首先将输入图像分解为8×8或16×16的块,然后对每个子块进行二维DCT 变换。 (2)将变换后得到的量化的DCT 系数进行编码和传送,形成压缩后的图像格 式。 2-DCT 变换公式如下: ]16 )12(cos 16)12(cos ),()()([41),(7070ππv y u x y x f v E u E v u C x y ++=∑∑==

图像压缩编码

多媒体技术实验—图像压缩编码 一、实验目的 1.了解有关数字图像压缩的基本概念,了解几种常用的图像压缩编码方式; 2.进一步熟悉JPEG编码与离散余弦变换(DCT)变换的原理及含义; 3.掌握编程实现离散余弦变换(DCT)变换及JPEG编码的方法; 4.对重建图像的质量进行评价。 二、实验原理 1、图像压缩基本概念及原理 图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类: (1)无损压缩编码种类 哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。(2)有损压缩编码种类 预测编码,DPCM,运动补偿; 频率域方法:正交变换编码(如DCT),子带编码; 空间域方法:统计分块编码; 模型方法:分形编码,模型基编码; 基于重要性:滤波,子采样,比特分配,向量量化; (3)混合编码 JBIG,H.261,JPEG,MPEG等技术标准。 2、JPEG 压缩编码原理 JPEG是一个应用广泛的静态图像数据压缩标准,其中包含两种压缩算法(DCT 和DPCM),并考虑了人眼的视觉特性,在量化和无损压缩编码方面综合权衡,达到较大的压缩比(25:1以上)。JPEG既适用于灰度图像也适用于彩色图像。其

中最常用的是基于DCT变换的顺序式模式,又称为基本系统。JPEG 的压缩编码大致分成三个步骤: (1)使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。 (2)使用加权函数对DCT系数进行量化,该加权函数使得压缩效果对于人的视觉系统最佳。 (3)使用霍夫曼可变字长编码器对量化系数进行编码。 3、离散余弦变换(DCT)变换原理 离散余弦变换(DCT)是一种实数域变换,其变换核为实数余弦函数,图像处理运用的是二维离散余弦变换,对图像进行DCT,可以使得图像的重要可视信息都集中在DCT的一小部分系数中。二维DCT变换是在一维的基础上再进行一次DCT变换,公式如下: 11 (0.5)(0.5) (,)()()(,)cos cos () N N i j i j F u v c u c v f i j u v N N u c u u ππ == ++ ???? =???? ???? = = ≠ ∑∑ (1) f为原图像,经DCT 变换之后,F为变换矩阵。(0,0) F是直流分量,其他为交流分量。上述公式可表示为矩阵形式: (0.5) (,)()cos T F AfA j A i j c i i N π = + ?? =?? ?? (2) 其中A是变换系数矩阵,为正交阵。 逆DCT 变换: (,)(,) T f i j A F u v A = (3) 这里我们只讨论两个N相等的情况,即图像为方形(行列数相等),在实际应用中对不是方阵的数据都应先补齐再进行变换的。 4、图象质量评价 保真度准则是压缩后图象质量评价的标准。客观保真度准则:原图象和压缩图象

语音编码和图像编码的分类及特点

语音编码和图像编码的分类及特点 一、语音编码 一般而言,语音编码分三大类:波形编码、参数编码及混合编码。 <1>、波形编码 波形编码将时域模拟话音的波形信号进过采样、量化和编码形成数字语音信号,是将语音信号作为一般的波形信号来处理,力图使重建的波形保持原语音信号的波形形状。具有适应能力强、合成质量高的优点。但所需编码速率较高,通常在16KB/S以上,并且编码质量随着编码速率的降低显著下降,且占用的较高的带宽。 波形编码又可以分为时域上和频域上的波形编码,频域上有子带编码和自适应变换域编码,时域上PCM、DPCM、ADPCM、APC和?M增量调制等。 ①、子带编码 它首先用一组带通滤波器将输入信号按频谱分开,然后让每路子信号通过各自的自适应PCM编码器(ADPCM)编码,经过分接和解码再复合成原始信号。 特点:1、每个子带独立自适应,可按每个子带的能量调节量化阶;2、可根据各个子带对听觉的作用大小共设计最佳的比特数;3、量化噪声都限制在子带内某一频带的量化噪声串到另一频带中去。 ②、自适应变换域编码 利用正交变换将信号有时域变换到另外的一个域,使变换域系数密集化,从而使信号相邻样本间冗余度得到降低。 特点:对变换域系数进行量化编码,可以降低数码率。 ③、PCM(Pulse-code modulation),脉冲编码调制 对连续变化的模拟信号进行进行抽样、量化和编码产生。 特点是保真度高,解码速度快,缺点是编码后的数据量大。 ④、DPCM(Differential Pulse Code Modulation)差分脉冲编码调制 是对模拟信号幅度抽样的差值进行量化编码的调制方式,是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。 特点:对于有些信号瞬时斜率比较大,很容易引起过载;而且瞬时斜率较大的信号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的方法;传输的比特率要比PCM低;一个典型的缺点就是易受到传输线路上噪声的干扰。 ⑤、ADPCM(adaptive differential pulse code modulation),自适应差分脉冲编码调制 是DPCM的扩展,区别在于较DPCM在实现上预测器和量化器会随着相关的参数自适应的变化,达到较好的编码效果。 特点:优点在算法复杂度低,压缩比小,编解码延时最短,压缩/解压缩算法非常的简单,低空间消耗。缺点是声音的质量一般。 ⑥、?M增量调制 只保留每一信号样值与其预测值之差的符号,并用一位二进制数编码的差分脉冲编码调制。 特点:1、电路简单,而脉码调制编码器需要较多逻辑电路;2、数据率低于

图像压缩方法综述

图像压缩方法综述 陈清早 (电信科学技术研究院PT1400158) 摘要:图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合,从而达到以尽可能少的数据流(代码)来表示尽可能多的数据信息。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。图像压缩分为无损图像压缩和有损图像压缩或者分为变换编码、统计编码。在这里,我们简单的介绍几种几种图像压缩编码的方法,如:DCT编码、DWT编码、哈夫曼(Huffman)编码和算术编码。 关键字:图像压缩;DCT压缩编码;DWT压缩编码;哈夫曼编码;算术编码 1引言 在随着计算机与数字通信技术的迅速发展,特别是网络和多媒体技术的兴起,大数据量的图像信息会给存储器的存储容量、通信信道的带宽以及计算机的处理速度增加极大的压力。为了解决这个问题,必须进行压缩处理。图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。信息时代带来了“信息爆炸”,使数据量大增,无论传输或存储都需要对数据进行有效的压缩。因此图像数据的压缩就显得非常重要。 在此,我们主要介绍变换编码的DCT编码和DWT编码和统计编码的哈夫曼(Huffman)编码和算术编码。 2变换编码 变换编码是将空域中描述的图像数据经过某种正交变换转换到另一个变换域(频率域)中进行描述,变换后的结果是一批变换系数,然后对这些变换系数进行编码处理,从而达到压缩图像数据的目的。主要的变换编码有DCT编码和DWT编码 1.1DCT编码 DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。也就是说,图像变换本身并不能压缩数据,但变换后图像大部分能量集中到了少数几个变换系数上,再采用适当的量化和熵编码便可以有效地压缩图像。量化是对经过DCT变换后的频率系数进行量化,其目的是减小非“0”系数的幅度以及增加“0”值系数的数目,它是图像质量下降的最主要原因。 图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。 由于图像可看成二维数据矩阵,所以在图像编码中多采用二维正交变换方式,然而其正交变换的计算量太大,所以在实用中变换编码并不是对整幅图像进行变换和编码,而是将图像分成若

相关主题