DCT及JPEG编码Word文档下载推荐.docx

上传人:b****5 文档编号:20260025 上传时间:2023-01-21 格式:DOCX 页数:19 大小:210.05KB
下载 相关 举报
DCT及JPEG编码Word文档下载推荐.docx_第1页
第1页 / 共19页
DCT及JPEG编码Word文档下载推荐.docx_第2页
第2页 / 共19页
DCT及JPEG编码Word文档下载推荐.docx_第3页
第3页 / 共19页
DCT及JPEG编码Word文档下载推荐.docx_第4页
第4页 / 共19页
DCT及JPEG编码Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

DCT及JPEG编码Word文档下载推荐.docx

《DCT及JPEG编码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《DCT及JPEG编码Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

DCT及JPEG编码Word文档下载推荐.docx

JPEG-LS是JPEG标准中无损模式的补充和强调,采用的是LOCO-I(LOwCOmplexityLOsslessCOmpressionforImages,图像的低复杂性无损压缩)算法,主要应用于对图像质量要求较高的一些专门领域(如遥感和医学图像),由于时间和篇幅的限制,本书不作介绍。

2000年12月JPEG在JBIG(JointBi-levelImageexpertsGroup联合二值图像专家组)的帮助下又推出了比JPEG标准的压缩率更高、性能更优越的JPEG2000标准ISO/IEC15444(ITUT.800~808)——JPEG2000图像编码系统,适用于二值图、灰度图、伪彩图和真彩图的静态图像压缩。

8.2.1JPEG标准系列

JPEG标准ISO/IEC10918:

1992--Digitalcompressionandcodingofcontinuous-tonestillimages(连续色调静态图像的数字压缩与编码)(ITUT.81、T.83、T.84、T.86)(参见网站www.jpeg.org、www.iso.org、www.itu.org和www.iec.ch)被分成如下4个部分:

ISO/IEC10918-1:

1994Informationtechnology--Digitalcompressionandcodingofcontinuous-tonestillimages:

Requirementsandguidelines(需求与指导方针)

1994/Cor1:

2005Patentinformationupdate(专利信息更新)

ISO/IEC10918-2:

1995Informationtechnology--Digitalcompressionandcodingofcontinuous-tonestillimages:

Compliancetesting(顺从测试)

ISO/IEC10918-3:

1997Informationtechnology--Digitalcompressionandcodingofcontinuous-tonestillimages:

Extensions(扩展)

1997/Amd1:

1999ProvisionstoallowregistrationofnewcompressiontypesandversionsintheSPIFFheader(可供在SPIFF头中注册新压缩类型和版本)

ISO/IEC10918-4:

1999Informationtechnology--Digitalcompressionandcodingofcontinuous-tonestillimages:

RegistrationofJPEGprofiles,SPIFFprofiles,SPIFFtags,SPIFFcolourspaces,APPnmarkers,SPIFFcompressiontypesandRegistrationAuthorities(REGAUT)(注册JPEG简表、SPIFF简表、SPIFF标签、SPIFF颜色空间、APPn标记、SPIFF压缩类型和注册权限)

8.2.2压缩算法

JPEG专家组开发了两种基本的压缩算法,一种是采用以DCT为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。

●编码模式

在JPEG标准中定义了四种编码模式:

⏹无损模式:

基于DPCM

⏹基准模式:

基于DCT,一遍扫描

⏹递进模式:

基于DCT,从粗到细多遍扫描

⏹层次模式:

含多种分辨率的图(2n倍)

这四种模式的关系参见图8-2。

基准无损

递进

层次

图8-2JPEG编码模式的关系图

本节只介绍应用最广泛的基于DCT有损压缩算法的基线(baseline)模式中的顺序(sequential)处理所对应的算法和格式(其熵编码只使用Huffman编码,而在扩展的基于DCT的无损压缩算法中,既可以使用Huffman编码,又可以使用算术编码)。

JPEG在使用DCT进行有损压缩时,压缩比可调整,在压缩10~30倍后,图像效果仍然不错,因此得到了广泛的应用(尤其是网络),参见表8-1。

表8-1JPEG图像的压缩比与质量

压缩倍数

比特率(bit/pixel)

图像质量

12~16

2.0~1.5

同原图

16~32

1.5~0.75

很好

32~48

0.75~0.5

48~96

0.5~0.25

中等

●算法概要

JPEG压缩是有损压缩,它利用了人的视觉系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。

JPEG属于结合变换编码(DCT)与熵编码(RLE/Huffman)的混合编码。

JPEG算法框图如图8-3所示:

图8-3JPEG压缩编码-解压缩算法框图

JPEG的压缩编码可以分成如下三个主要步骤:

(1)使用FDCT把空间域表示的图像变换成频率域表示的图像。

(2)使用(对于人的视觉系统是最佳的)加权函数对DCT系数进行量化。

(3)使用Huffman可变字长编码器对量化系数进行编码。

译码(解压缩)的过程与压缩编码过程正好相反。

另外,JPEG算法与彩色空间无关,因此在JPEG算法中没有包含对颜色空间的变换。

JPEG算法处理的彩色图像是单独的颜色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB、YCbCr和CMYK等。

8.2.3编码步骤

JPEG压缩编码算法的主要计算步骤如下:

(0)8*8分块。

(1)正向离散余弦变换(FDCT)。

(2)量化(quantization)。

(3)Z字形编码(zigzagscan)。

(4)使用差分脉冲编码调制(DPCM)对直流系数(DC)进行编码。

(5)使用行程长度编码(RLE)对交流系数(AC)进行编码。

(6)熵编码。

下面分别加以介绍。

1.正向离散余弦变换

JPEG编码是对每个单独的颜色图像分量分别进行的,在进行正向离散余弦变换(FDCT=ForwardDiscreteCosineTransform)之前,需要先将整个分量图像分成8×

8像素的图像块(不足部分可以通过重复图像的最后一行/列来填充),这些图像块被作为二维正向离散余弦变换(FDCT)的输入。

参见图8-4。

图8-4离散余弦变换

JPEG编码的DCT变换使用下式计算(注意,在变换之前,需要先对源图像中的每个样本数据v减去128),

f(i,j)=v(i,j)–128

其中,

并称

为直流系数,称其他F(u,v)为交流系数。

它的逆变换使用下式计算:

在计算二维的DCT变换时,可使用下式

将二维的DCT变换转换成一维的DCT变换,如图8-5所示。

图8-5二维DCT变换方法

2.量化

量化(quantization)是对经过FDCT变换后的频率系数进行量化。

量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。

量化是使图像质量下降的最主要原因。

对于JPEG的有损压缩算法,使用的是如图8-6所示的均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定的。

图8-6均匀量化器

因为人眼对亮度信号比对色差信号更敏感,因此JPEG编码中使用了两种标准的量化表:

亮度量化表和色差量化表,参见表8-2。

此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小。

这两个表中的数值对CCIR601标准电视图像已经是最佳的。

如果不想使用这两种标准表,你也可以用自己的量化表替换它们。

表8-2标准量化表

色差量化值亮度量化值

16

11

10

24

40

51

61

17

18

47

99

12

14

19

26

58

60

55

21

66

13

57

69

56

22

29

87

80

62

37

68

109

103

77

35

64

81

104

113

92

49

78

121

120

101

72

95

98

112

100

量化的具体计算公式为:

其中,Sq(u,v)为量化后的结果、F(u,v)为DCT系数、Q(u,v)为量化表中的数值、round为舍入取整函数。

3.Z字形编排

量化后的二维系数要重新编排,并转换为一维系数,为了增加连续的“0”系数的个数,就是“0”的游程长度,JPEG编码中采用的Z字形编排方法,如图8-7所示。

图8-7量化DCT系数的编排

DCT系数的序号如表8-3所示,这样就把一个8×

8的矩阵变成一个1×

64的矢量,频率较低的系数放在矢量的头部。

表8-3Z字形排列的量化DCT系数之序号

1

5

6

15

27

28

2

4

7

42

3

8

25

30

41

43

9

31

44

53

23

32

39

45

52

54

20

33

38

46

34

50

59

36

48

63

4.直流系数的编码

8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8×

8图像块的DC系数值变化不大。

根据这些特点,JPEG算法使用了差分脉冲编码调制(DPCM)技术,对相邻图像块之间的DC系数的差值Δ进行编码,

Δ=DC(0,0)k-DC(0,0)k-1

5.交流系数的编码

量化AC系数的特点是1×

63矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。

JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。

6.熵编码

使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。

在JPEG有损压缩算法中,可以使用Huffman或算术编码来减少熵,这里只介绍最常用的Huffman编码。

使用Huffman编码器的理由是可以使用很简单的查表(lookuptable)方法进行快速的编码。

压缩数据符号时,Huffman编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。

这种可变长度的Huffman码表可以事先进行定义(标准H表)。

表8-4所示的是DC码表符号举例。

如果DC的值(Value)为4,符号SS...S用于表达实际值所需要的二进制位数,SSS的实际位数就等于3。

表8-4DC码表符号举例

Value

SSS

-1,1

-3,-2,2,3

-7...-4,4...7

表8-5/6分别是JPEG标准提供的亮度与色差DC系数差的Huffman编码表:

表8-5标准亮度DC系数差的H表

表8-5标准色差DC系数差的H表

表8-7/8分别是是JPEG标准提供的亮度与色差的AC系数的Huffman编码表的开始部分(每个完整的表有162项),至于完整码表参见标准文档。

表8-7标准亮度AC系数差的H表的开始部分

表8-8标准色差AC系数差的H表的开始部分

7.组成位数据流

JPEG编码的最后一个步骤是把各种标记代码和编码后的图像数据组成一帧一帧的数据,这样做的目的是为了便于传输、存储和译码器进行译码,这样的组织的数据通常称为JPEG位数据流(JPEGbitstream)。

8.2.4算法举例

图8-8是使用JPEG算法,对一个8×

8像素的色差图像块,进行FDCT/量化和反量化/IDCT的计算结果。

其中,在进行FDCT之前,先对源图像中的每个样本数据减去了128,在逆向离散余弦变换之后,又对重构图像中的每个样本数据加了128。

图8-8JPEG压缩算法举例

8.3JPEG文件格式

JPEG在制定JPEG标准时,虽然定义了许多标记(marker)用来区分和识别图像数据及其相关信息,但并没有具体定义明确的JPEG文件格式。

C-CubeMicrosystems公司的EricHamilton于1992.9.1所定义的JFIF(JPEGFileInterchangeFormat,JPEG文件交换格式)1.02成为JPEG文件(*.JPG)的事实标准。

下面只介绍JPEG的基准模式(BaselineDCT)下的JFIF格式。

8.3.1图像准备

在进行JPEG编码前,需要做的主要准备工作是分组元、颜色空间转换和8×

8分块。

1.分组元

●灰度图:

一个组元

●真彩图:

三个组元

⏹RGB——等分辨率

⏹YCbCr——不等分辨率:

4:

2:

2或4:

1:

2.颜色空间转换

JPEG文件使用的颜色空间是1982年推荐的电视图像信号数字化标准CCIR601(现改为ITU-RBT.601)。

在这个彩色空间中,每个分量、每个像素的电平规定为256级,用8位代码表示。

可使用前面介绍过的公式,在RGB空间与YCbCr空间之间相互转换:

(1)RGB→YCbCr

Y=0.299R+0.587G+0.114B

Cb=-0.1687R–0.3313G+0.5B+128

Cr=0.5R–0.4187G–0.0813B+128

(2)YCbCr→RGB

R=Y+1.402*(Cr-128)

G=Y–0.34414*(Cb–128)–0.71414*(Cr-128)

B=Y+1.772*(Cb-128)

3.分块

一般分成8*8的块,不足的部分补图像边缘的像素。

8.3.2文件格式框架

JFIF格式的JPEG文件以<

图象开始标记>

开始,后跟含JFIF标识与版本号及图像参数的<

应用0标记段>

,接着是若干可选的存放商业公司信息或应用软件与扩展信息的<

应用n标记段>

<

量化表定义段>

也是可选的和可多个的;

对Baseline,一幅图象只有一个帧,所以只有一个描写具体图像参数的<

帧参数段>

,而一帧只有一个记录Huffman表序号与频率分量信息的<

扫描参数段>

一个可包含若干Huffman表说明的<

Huffman表定义段>

是可选的;

图像的压缩数据存放在一系列由若干8*8的数据块组成的MCU(MinimumDataUnit最小数据单元)中;

文件最后以<

图象结束标记>

结束。

即:

[应用n标记段]...>

[量化表定义段]...>

[Huffman表定义段]>

压缩数据>

8.3.3文件格式内容

注意:

多字节无符号整数的高位字节在前,这与IntelCPU不同。

图象开始标记(StartofImagemarker):

0xff,SOI(0xd8)

应用0标记段(APP0markersegment):

应用0标记(APP0marker):

0xff,APP0(0xe0)

段长度(length):

2B(无符号整数,长度从本字段开始计算,下同)

标识符(identifier):

5B:

"

JFIF\0"

版本(version):

2B:

主版本号(1B,=1),次版本号(1B,≤2)

密度单位(unit):

1B(=0:

X与Y的密度表示X与Y的象素形状比,=1:

点数/英寸,=2:

点数/厘米)

X方向象素密度(Xdensity):

2B(无符号整数)

Y方向象素密度(Ydensity):

略图水平象素数(Xthumbnail):

1B

略图垂直象素数(Ythumbnail):

[略图(thumbnail)]:

3*Xthumbnail*YthumbnailB(若Xthumbnail=Ythumbnail=0则无略图)

[应用n标记段(APPnmarkersegment)]:

(可选,可若干段)

应用n标记(APPnmarker):

0xff,APPn(0xen)(n=0~15)

段内容(content):

(length-2)B

[量化表定义段(quantizationtabledefinesegment)]:

定义量化表标记(DefineQuantizationTablemarker):

0xff,DQT(0xdb)

量化表说明(quantizationtablespecification):

(可若干个,一般只一个)

量化表精度与序号(precisionandnumberofquantization

table):

1B(精度Pm:

高4位,=0(8b),1(16b),Baseline=0;

序号Nm:

低4位,=0,1,2,3)

量化表(quantizationtable):

64*(Pm+1)B(Z字形排序)

帧参数段(frameparameterssegment):

(对Baseline,一幅图象只有一个帧)

帧开始标记(StartofFramemarker):

0xff,SOF0(0xc0)(BaselineDCT帧)

数据精度(dataprecision):

1B(位数/象素/颜色分量,为输入数据的位数,Baseline=8)

图象高(numberoflines):

2B(无符号整数,光栅行数,不包含为得整数个MCU而对底边的复制行,若=0则行数由第一个扫描(scan)末尾的DNL标记(0xff,0xdc)确定)

图象宽(linelength):

2B(无符号整数,光栅行内的象素数,不包含为得整数个MCU而对最右列的复制列)

颜色分量说明

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1