基于APIDCT和自适应霍夫曼编码的静态图像压缩算法

 第一章 绪 论

  1.1 课题背景及研究意义

通信,是指人与人、人与客观事物之间凭借某种媒介建立的联系进行的信息传递或交流。人们存储、记录或传输信息的需求随着社会生产力的发展,越来越难以满足。尤其是近些年复数个摄像头合成的图片像素急剧增加,日常生活中使用的图片存储占用的空间和传输时消耗的时间也急剧增加。传统媒介主要包括收音机等,不能集声音、图像、动画等各种方式于一身,其传送、储存信息的能力不足。而随着科技的发展,人们迫切的需要寻求一个能满足自身各类需求的新媒介。为了能够大量且快速地储存、记录和传输通信所需要的信息,并满足图像质量高、传输速度快和设备稳定可靠的需求,信息需要在传输和存储时进行压缩,在接受和读取时进行解压。

图像是日常生活中最常用的携带信息的重要载体,包含了对象的很多信息,也更容易给人深刻印象。但图像占的空间原比文字等方式大很多。为了解决图像的传输问题,可以使图像数字化,以解决图像的传输和存储时占用的空间和耗费的时间。此种方法把难以直接处理的图像信息转换为便于处理的数字信号,同时在压缩时去除在人的视觉系统对与图像质量影响很小的的高频信息,有损压缩可以缩小需要处理的数据量,进而提高处理、传输和存储的效率,并且能保证传输质量。正是因为编码压缩技术的日益进步,图像信息的快速传输和低占用存储才得以实现。

图像的数据文件格式有很多,如BMP、TIFF、GIF、PNG、JPEG等。BMP(位图)几乎不进行压缩,是目前常用的操作系统中的标准图像文件格式,这种格式占用存储空间过大,只在单机上较为流行;TIFF(标签图像文件格式)格式灵活应用广泛,但格式复杂;;PNG是GIF和TIFF文件格式派生的无损压缩格式,增加了二者不具备的特性; JPEG由于其拥有较高的压缩比,被广泛应用于各类场合,但其存在失真的缺点。

 1.2 国内外研究现状

图像变换是图像压缩的关键技术之一,其本质就是将原处于图像空间的图像由空间域通过某种变换改变为转换域图像,再利用变换后的图像便于分析的特性来进行处理。由于数字信号处理方法、计算机存储能力的进步,以及网络传输能力的日益增强,图像处理技术有了更多的发展。对于APIDCT变换,目前的研究都是在国内进行,研究成果应用范围不广,研究的图像为标准512×512像素大小的彩色图像,采用matlab编程实现。文献[1]和[2]是对图像变换的处理。

自适应Huffman编码算法在压缩或传送图像时需要传送码表,不适用于实际应用。[3]

1.3 目前存在的主要问题

JPEG标准主要面对静止图像,是常用的图像压缩格式之一,压缩时使用离散余弦变换(DCT)作为向频域变换的手段。图像经过DCT变化后,高频分量所含的能量少,低频分量所含的能量高,故需对低频分量细量化,可对高频分量粗量化。DCT需要有复杂的量化表进行量化,量化表要占用存储空间来存储;改变压缩率的计算复杂,硬件实现较为繁琐。而APIDCT的量化表有了很大的简化,可以用一个固定值来进行量化。且重建图像的质量也不会有所降低。

熵编码部分,静态哈夫曼方法虽然简单易懂,但需要两遍扫描原始数据,在第一遍扫描时得到符号在数据中的概率值,并用概率值构造哈夫曼树;第二遍扫描时通过已构建的哈夫曼树对字符进行编码,并存储编码信息供解压时使用。静态霍夫曼编码用于网络通信时,其二次扫描和传送霍夫曼树的行为会引起较大的延时;用于文件压缩和数据传输时,需要访问磁盘空间,这种做法会降低算法的数据压缩速度。而自适应霍夫曼编码无需二次扫描来确定各字符出现的概率。

 1.4 本文内容和组织结构

本文在传统JPEG算法的基础上,将DCT变换替换为APIDCT变换(下称APIDCT-JPEG),并使用了自适应霍夫曼算法作为编码算法。

本文分为七章,各章的主要内容如下:

第一章对本课题的研究背景及意义、研究现状、存在的问题及全文逻辑作了介绍。

第二章描述了APIDCT-JPEG图像编解码的基本信息,介绍了APIDCT-JPEG编解码的基本框架和基本概念。

第三章介绍压缩数据格式,并对用到的标记予以具体说明。

第四章介绍了自适应Huffman编解码的相关流程。

第五章介绍了算法由局部到系统的编解码控制流程,。

第六章基于前人所做的工作基础,实现了一个APIDCT-JPEG图像压缩程序,通过系统性能评测的实验分析并与传统JPEG的对比,证明该程序具有很好的实用性。

第七章为总结与展望。对本论文进行的工作进行了总结,并对图像压缩未来的发展提出了自己的见解。

第二章 APIDCT-JPEG图像编解码的基本信息

  2.1 JPEG标准概述

JPEG是即联合图像专家组(Joint Photographic Experts Group)的简称,常用于连续色调静态图像压缩,文件后缀名为.jpg或.jpeg,是最常用的图像文件格式。其主要是采用离散余弦变换(DCT)、预测编码(DPCM)以及熵编码的联合编码方式,来去除图像数据中的冗余,是有损压缩格式的一种,它能够将图像用很小的储存空间来储存,但会造成图像数据的失真。尤其当希望拥有过高的压缩比例时,使用JPEG压缩算法会使最终解压缩后重建的图像质量不高,如果希望得到完全不失真的图像,则不宜使压缩比例过高。[4]

JPEG定义了如下三种编码系统:

有损的离散余弦变换DCT

这一系统可应用于绝大部分场合。是大部分场合下应用的方法。

无损的预测压缩技术

应用于需要图像质量很高的无失真场合,此种功能确保了图像解压后的数据没有造成任何细节的损失。

扩展编码系统

扩展系统包括渐进编码、变长编码和分层编码等,这些编码方法是基本顺序编码方法的扩展。

JPEG定义了如下两种熵编码方法:

1.Huffman编码

哈夫曼编码技术是一种比较常用的变长编码方法,由David Huffman提出。它是静态编码方法,该算法可产生具有最小的加权路长之和的二叉树。[5]

2.算术编码

算术编码是图像压缩的主要算法之一,不会损失数据。与其他熵编码方法不同,其他的熵编码方法使用不同的编码来代替数据,而算术编码的思想是使用一个满足(0.0 ≤ n < 1.0)的小数n来代替数据。 [6]

JPEG定义了如下四种方式:

基本DCT顺序:一次将图像由左到右、由上到下顺序处理。

基于DCT的扩展:主体与基本DCT顺序相同,但图像传输时间较长时,使用多次扫描处理。

无失真编码:使用熵编码,不使用DCT变换,所以不产生失真。

分层编码:是以上三种编码方式的组合。

 2.2 APIDCT-JPEG静态图像压缩算法编解码的基本框架

核心过程的编码器和解码器图示类似于DCT编解码器。基于APIDCT变换针对8×8子像素块的灰度图像数据流进行压缩,如需对彩色图像进行处理,将每个分量当作灰度图像依次处理即可。

编码过程中,将源数据图像分为8×8像素的像素块,每个像素块经过APIDCT变换,成为一组APIDCT系数。随后,64个系数经过量化器。量化器的量化因子可以根据实际情况来选定。

量化完成后,首先需要进行的是熵编码的前期准备工作。量化后的DC系数作为每一个8×8子像素块链接的枢纽,可以预测下一像素块量化后的DC系数,进行差分值编码。使用Zig-zag扫描处理可将量化后的AC系数转换为一维序列之后,使用一维编码方式进行编码。本文对AC系数进行编码的方法为自适应Huffman方法。

 2.3 DCT/APIDCT模式

2.3.1 DCT变换

8×8的DCT及IDCT的变换公式如下

JPEG基本系统中取值范围为0~255,为8bit像素,故由公式可求出DC系数的取值范围为0~2040。算法过程中精度设置为8,输入像素的动态变化范围由无符号数转为有符号数,减去即128即可,变化范围由0~256偏移至-128~127;反变换后再加上128,消除此偏移。

2.3.2 DCT量化

8×8子像素块经过DCT变换后,子像素块的左上角大量集中了人眼较为敏感的低频分量,右下角大量集中了人眼不太敏感的高频分量。由此可看出,忽略掉图像的高频分量可以在视觉感受损失很小的情况下减少数据量。这些被去掉的高频分量导致了信息损失。

DCT算法的量化指每个DCT、系数与各自的量化步长做除法,进而得到量化后的DCT系数,公式如下:

反量化过程即是量化后的量化值乘对应的量化系数,恢复为DC系数,公式如下:

表2-1和2-2是亮度信号和色差信号的量化表,亮度信号的量化表中数字多样,而色度信号大部分数字都为99,这是因为在人的视觉系统中,亮度信号比色度信号重要,故需要对亮度分量进行精细的量化,对色差分量只需粗略量化即可。量化表左上方向的值较小,可以达到抑制高频分量的目的;而右下角的值较大,可以达到保持低频分量的目的。这两个量化表适用于8bit精度,是综合了人的视觉心理阈值和大量图像的预测得出。目前大部分JPEG算法中均采用这两个量化表。

2.3.3 APIDCT预处理

APIDCT是基于DCT方法的改进,对于灰度图像,可跳过此步骤;对于彩色图像,需进行RGB转YUV的操作。

RGB转YUV在matlab中的代码如下:

function yuv = myrgb2yuv(image)

image = double(image);

R = image(:,:,1);

G = image(:,:,2);

B = image(:,:,3);

yuv(:,:,1) = 0.299 .* R + 0.587 .* G + 0.114 .* B;

yuv(:,:,2) = – 0.1687 .* R – 0.3313 .* G + 0.5 .* B + 128;

yuv(:,:,3) = 0.5 .* R – 0.4187 .* G – 0.0813 .* B + 128;

end

转为YUV三个分量后,仍需要进行采样,本论文采用4:1:1采样来缩小数据量。

2.3.3 APIDCT后期处理

后期处理需要将YUV分量转回RGB分量。

程序如下:

function rgb = myyuv2rgb(image)

image = double(image);

Y = image(:,:,1);

U = image(:,:,2);

V = image(:,:,3);

rgb(:,:,1) = Y + 1.14 .* V;

rgb(:,:,2) = Y – 0.39 .* U – 0.58 .* V;

rgb(:,:,3) = Y + 2.03 .* U;

end

2.3.4 APIDCT变换

全相位反离散余弦变换(APIDCT)是一种新型变换矩阵,可以用来代替原版JPEG图像压缩算法中的DCT部分。

变换的公式为:

当N=8时,变换矩阵为

虽然矩阵V不正交,即,但由于矩阵V满秩,可以用其逆矩阵来完成数据的重建不会影响图片的质量。

二维APIDCT表达式为

反变换公式为

2.3.5 APDCT量化

APIDCT对于亮度和色度有一个固定的量化值,各个变换系数进行量化无需量化表,所以能节省传输量化表的时间与空间的损耗。

像块经过APIDCT变换后,在系数矩阵上与DCT有相同的特性,即的低频分量大量集中左上角,高频频率分量反映在右下角。不同点在于APIDCT在变换时已经分别按照矩阵的行、列进行逐渐增强的线性衰减。故可省略复杂的量化表,使用一个固定值对所有系数进行量化。默认亮度量化因子为58,色度量化因子为116。[7]

2.4 本章小结

本章首先简要介绍了JPEG标准,然后介绍了基于APIDCT和自适应霍夫曼编码的静态图像压缩算法的基本框架,最后对DCT和APIDCT予以简要介绍。

第三章 压缩数据格式

基于APIDCT和自适应霍夫曼编码的静态图像压缩算法包含标记码和压缩数据。在标记部分中存储了图像的宽、高、量化因子等图像信息。

3.1 APIDCT-JPEG标记

标记码占用两个字节存储,高字节的固定格式是0XFF。表中列出了本文可能用到的APIDCT-JPEG标记,并说明了这些标记的功能。

表3-1 APIDCT-JPEG标记码

如图3-1所示,APIDCT-JPEG文件从FFD8开始,至FFD9结束。在FFD8至FFD9中,压缩的文件划分为以帧为单位。在本设计中,处理的对象是一帧。同时,帧中包含一个帧头和几个可选表,APIDCT-JPEG所有的MCU都包含在一个熵编码段中。

 3.2 APIDCT-JPEG标记说明

下面将对本设计中用到的一些标记进行说明。

3.2.1 量化表DQT

APIDCT的量化表只有亮度和色差两个量化因子,如下图所示

图3-2 量化表段语法

其中的参数说明见下表:

表3-2 量化表参数说明

3.2.2 帧头SO

帧头是帧的开头,包含了源图像的采样位深度、行列数、图像的分量数、每种分量的水平和垂直采样因子和量化表的选取方式等关键信息。帧头语法如图所示:

3.2.3 Huffman编码条件DHT

DHT是对霍夫曼编码条件的定义,下图对其进行说明;下表对使用的参数进行说明:

3.2.4 扫描头SOS

扫描头出现在扫描段之前,制定了扫描的分量数,每个分量选取霍夫曼编码的方式,如下图所示。参数说明见下表。

 3.3 本章小结

本章介绍了压缩格式和APIDCT-JPEG所用的标记,为不同应用环境交流奠定了基础。

 第四章 Huffman编码

1952年,David·A·Huffman发表了首篇研究Huffman编码的论文。Huffman编码是可变字长编码。为每一个字符构造不同的的平均长度最短的码字代替字符。Huffman编码思想是将较短的编码码字分配给较大概率的信源输出,将较长的编码码字分配给较小概率的信源输出。在JPEG算法中,可以采用固定码表的Huffman编码,也可根据实际情况,实时构建码表。这种方法一般称作自适应Huffman编码。本文即采用自适应Huffman编码算法。

 4.1 原理

自适应霍夫曼编码关键是在霍夫曼树中增添新字符。在此步骤中,需要将前t个字符的霍夫曼树调整为一颗前t+1个字符的霍夫曼树。自适应霍夫曼编码过程主要包括霍夫曼树初始化即建树和加入新字符时霍夫曼树的更新。

自适应霍夫曼编码方式不需要通过得到或储存Huffman树,其建树过程发生在编码进行时,同时,由于因为这种编码方案对符号的统计是实时进行的,故编码时,同一符号的编码可能发生改变,同一编码代表的符号也可能不同。

4.2 编码

4.2.1 初始化

由于自适应霍夫曼编码方式只进行一次字符扫描,提前不知道各个字符的概率,故以对一切字符一视同仁为初衷,霍夫曼树初始化时只包括一个符号为NYT,表示尚未传送的逸出码作为叶子节点,定义与任何一个符号都不同的符号。当存在一个即将编码的符号时,系统输出NYT和符号的原始表达;解码器检测到存在NYT符号,表示下面的符号是需要填入霍夫曼树的新符号。NYT是新符号插入点。

4.2.2 霍夫曼树更新

构建自适应霍夫曼树时,节点的编号有兄弟属性需要遵守,表现为重要原则:

(1)节点编号较大代表节点的权重值大。

(2)子节点编号小于父节点。

每次增加新的字符时,都需检测这两条属性是否被改变。

霍夫曼树的更新过程如下:

(1)增加输入字符的所在叶结点的权重。

(2)检测增加字符后的新霍夫曼树是否满足兄弟特性,满足则保持树的结构不变跳过(3)执行(4)。不满足兄弟特性则继续执行(3)。

(3)调整霍夫曼树结构的具体操作为:与序号高于该结点,且权重小于该结点的结点交换字符及权重。若复数个结点满足此条件,则与最右边的结点或结点及其子树进行交换。

(4)调整后的霍夫曼树该指针结点及以上的父节点直至根节点需权重加1。

自适应huffman编码流程图如下:

 4.3解码

解码时霍夫曼树构建的方法与编码时一样,流程图如下

 4.4 霍夫曼编码方法

4.4.1 Zigzag扫描排列

未经处理的8×8像素块中的值是二维的,为了便于进行处理,先将其整合为一维数字序列ZZ(i)。Zigzag扫描主要目的是将二元信号转化为一元信号,如图示进行。扫描后的顺序设为ZZ(k)(k=0,1,…,63)。

即有

ZZ(0)=, ZZ(1), ZZ(2),…, ZZ(63)=,

其中,ZZ(0)是DC系数,ZZ(1)~ZZ(63)是AC系数。霍夫曼编码针对DC系数间的差分值Diff以及AC系数连续零值个数和非零值的AC系数进行编码。

4.4.2 DC差分值编码

1. DC差分值编码的方法

在此步骤中,进行的是DC差分值的编码。将前一像块的ZZ(0)即DC(i-1)作为当前像块ZZ(0)即DC(i)的预测值PRED,对差分值进行无失真编码。DC系数范围为-1024~1023,由此可知,对应DIFF的范畴为-2047~2047。在编码中,求出DIFF对应的范畴SSSS,以此为标准将DC差分值分组。然后将指定DIFF值的补充比特增加在霍夫曼编码的后面。具体规则为解码时检测到补充比特的最高位为1,表示正数;最高位为0,表示负数。

2. DC差分值编码的实现

DC差分值编码的流程图为图4-12,Encode_DC_coffcients子程序实现DC差分值编码;Encode_DIFF子程序增添补充比特。

(a)DC差分值编码主程序 (b)DC差分值编码子程序

4.4.3 AC系数编码

1. AC系数编码的方法

在编码工作进行前,首先应将非零的AC系数前的零值AC系数表达为四比特的RRRR(0),非零值的AC系数表示为四比特的SSSS(方法同DC差分值求SSSS方法),这样可以将连续零值用一组编码表示,从而提高效率。

但此项处理中存在一些特别的情况:

AC系数中包含16个连续零值因为四比特不能表示16个以上的零值行程,故以ZRL(Zero Rum Length)表示RRRR/SSSS=15/0来表示16个零值输出对应的编码。

最后的AC系数ZZ(63)为零值此时将块最后的零值用EOB(End Of Block)来表示RRRR/SSSS=0/0,输出EOB后,立即结束该块的编码处理;否则不能使用EOB

表4-2AC系数(亮度分量)霍夫曼编码的例子

ZRL和EOB以外的霍夫曼编码应添加补充比特来指定非零AC系数的大小。

 4.5 霍夫曼解码方法

4.5.1 DC差分值编码

主要由三步实现:

(1)从待解压的数据中获取对应的码字,解码后得到编码要素SSSS范畴。

(2)继续读取补充比特来得到DC差分值DIFF。

(3)DIFF最高位如果为0,将其转换为负数。

当前像素块德ZZ(0)由算出来的差分值DIFF和前一像素块的DC系数相加得到。公式如下:

4.5.2 AC系数编码

AC系数的解码按照如下六个步骤进行:

首先将AC系数组ZZ(K)(K1)全部置为0.从待解压的数据中获取对应的码字,解码后得到编码要素RS,其中包含零行程和非零AC系数。从编码要素RS中得到零行程RRRR和AC系数的SSSS范畴。如果监测出EOB即RRRR/SSSS=0/0,立即停止对该块的处理,并将剩下的AC系数全部置为0。如果检测出ZRL即RRRR/SSSS=15/0,更新16个AC系数为0后,返回步骤(2)如果SSSS不为零,则读取补充比特,当补充比特的高位为0时,将AC系数转换为负数,如此时的系数地址为63,中止解码并返回步骤(2)。4.6 编码性能相关的参数

1. 熵

信息熵这个词用来描述信源的不确定度。熵的计算公式为:

其中是从N个数中选定一个数s的概率,是该事件包含的信息量。

2.冗余度

数据中间常存在一些多余成分,不管是无损压缩还是有损压缩,这些部分都是一定会被压缩的多余部分。冗余度的计算公式如下:

3.编码效率

编码效率定义为原始图像的熵与图像平均码长的比值,当编码效率为1时,冗余度为0,此时编码效率最高。计算公式如下:

4.压缩比

图像的压缩比特率定义为像素编码的位数。压缩比定义为原始图像的压缩比特率与编码后的平均比特率之比。由香农无干扰编码可知,无失真编码的最大压缩比为

4.7 本章小结

本章描述了Huffman简表生成原理,然后介绍了Huffman编解码表的生成流程,最后介绍了DC系数、AC系数编解码的步骤。

第五章 编解码流程

前几章均是对压缩算法的原理进行介绍,本章将详细讲解编解码控制流程。

 5.1 编码控制流程

5.1.1 图像编码控制流程

流程如图所示,自图像开始标记(SOI)至图像结束标志(EOI)结束

5.1.2 帧编码控制流程

帧编码控制流程如图5-2,表格标记优于SO标记,添加DQT标记之后,添加帧标记,之后进行扫描编码。由于设计上需要进行扫描的图像为一帧且只需要一次扫描,也没有非线性部分,程序流程图直线向下。

图5-1 图像编码控制流程图 图5-2 帧编码控制流程图

5.1.3 扫描编码控制流程

扫描编码控制流程如5-3所示。表格标记优先于SOS标记,先添加DHT标记再添加扫描标记。本设计没有多次间隔,故在“更多次间隔”处选择No分支

5.1.4 重启编码控制流程

重启编码控制流程如图5-4所示,重启编码程序中,每个分量的DC预测值PRED设置为0。在准备标记程序中,将填充比特凑成整字节可以中止熵编码。扫描标记中的参数和帧标记可计算出MCU的数量。

5.1.5 MCU编码控制流程

图5-5 MCU编码控制流程图

5.2 解码控制流程

5.2.1 图像解码控制流程

解码的核心是解析标记,检测到SOI标记后,启动解码器

5.2.2 帧解码控制流程

解析帧头后,如发现SOS标记,进入扫描解码流程;未发现则继续解析标记。循环直至发现EOI标记。

图5-6 图像解码控制流程图 图5-7 帧解码控制流程图

5.2.3 扫描解码控制流程

扫描解码流程如图5-8所示,由于本次设计没有多次间隔,选择No分支结束流程。

5.2.4 重启解码控制流程

重启解码流程如图5-9所示,“重置译码器”步骤将每个分量的DC预测值PRED置为零。

图5-8 扫描解码控制流程 图5-9 重启解码控制流程

5.2.5 MCU解码控制流程

图5-10表示解码流程,其中Nb表示的是MCU中数据单元的个数。

图5-10 解码流程

 5.3 本章小结

本章介绍了编解码的流程,编解码流程对正确编解码有着非常重要的作用,且为程序能够通用奠定了基础。

 第六章 仿真结果与分析

为了测试基于APIDCT变换和自适应Huffman编码的静态图像压缩算法的性能使用了三幅图像处理常用的图像Len、Peppers、Baboon作为实验对象,并与传统JPEG基本系统的性能进行比较。并且选用了多幅512×512像素的JPG格式的图像作为测试对象进行对比以使实验更具代表性。

6.1 图像质量的评估标准

目前图像质量使用的评价标准主要分为两个方面,即主观评价标准和客观评价标准。下面进行简要介绍。

1. 主观评价标准:以人的主体视觉评价为主要评价手段,反映了人对经过图像处理后的图像的主观感受,因为很多图像处理是为了人的视觉服务,所以主观评价对于处理后的图像相当重要,相对较为准确,下面的表6-1给出标准环境下对标准图像的质量评估。

表6-1 图像质量评估标准

2. 客观评价标准:使用根据人眼的研究而模拟出来的算式进行数值计算而得来的客观评价。常用公式如下,其中,M、N为图像大小:

均方误差MSE,反映了估计量与被估计量之间差异程度,公式如下:

峰值信噪比PSNR,定义为信号功率与噪声功率的比率,可以用来比较所需信号的强度与背景噪声的强度。公式如下,其中,8位二进制图像的客观评价是在数学上对压缩并解压后图像与原图像的数字差别,客观评价质量较为优秀的处理方法不一定能让主观感受上让人觉得优秀。本论文采用客观评价标准作为衡量压缩解压算法质量好坏的衡量尺度,使用峰值信噪比PSNR进行图像处理前后图像的压缩性能评价。

6.2 实验结果与分析

6.2.1 图像压缩实例

选择三幅图像处理常用的大小为512×512像素的彩色PNG格式图像,分别进行DCT变换和APIDCT变换,进行对比。从主观评价标准来看,均处于质量优的情况,人眼很难看出失真。

(a)Lena原图 (b)DCT压缩方式 (c)APIDCT压缩方式

(d)Peppers原图 (e)DCT压缩方式 (f)APIDCT压缩方式

(g)Baboon原图 (h)DCT压缩方式 (i)APIDCT压缩方式

图6-1实验结果图

6.2.2 压缩性能分析

表6-2APIDCT与DCT对于图像压缩的效果

  6.3本章小结

本章作为实验结果段,通过实验评测了系统性能。实验证明,APIDCT在有效减少了DCT因为量化表的产生、存储和发送带来的时间、空间的占用,同时压缩效果与DCT基本持平。可得出,AOIDCT-JPEG是DCT-JPEG的良好替代品。

 第七章 总结与展望

目前摄像头的像素越来越好,对于图像存储和传输的需求越来越高,所以数据压缩日益引起了众多学者的关注,虽然图像的压缩一直未离开过诸多学者的眼界,但目前的研究仍有很多不足之处,本论文使用的APIDCT数据压缩、图像去噪、模式识别等方面都有很好的应用价值,可以有效替代基于DCT的JPEG算法。但是目前研发的软件离实际应用还有一定的距离,因此基于APIDCT和自适应Huffman编码的静态图像压缩方法仍有很多需要进一步研究的内容。熵编码应用较单一。

本文所做的主要工作如下:

使用APIDCT来替换传统JPEG图像压缩算法中的DCT变换,完成图像的压缩。编程实现了压缩算法中泛用性极强的Huffman编码,对其编解码的流程有了全面的理解。编写了基于DCT/APIDCT和Huffman编码的图像压缩算法,可以处理市面上常见的各种格式的图像。通过将基于APIDCT的JPEG图像压缩算法和基于DCT的JPEG图像压缩算法的比较,证明了基于APIDCT和Huffman编码的静态图像压缩方法在拥有很好的压缩效率的同时还具有很好的图像质量。

本文主要编写的是算法实现部分,如想实际使用并且做到替代原版JPEG压缩方法,还有很多需要实现的方面:

编写一个高效的可执行的应用软件,使其压缩时间更短,更民用化、智能化。随着科学技术的发展,如今图像中包含了越来越丰富的信息,本文的思想也可考虑用于多帧图像的压缩。

基于APIDCT和自适应霍夫曼编码的静态图像压缩算法

基于APIDCT和自适应霍夫曼编码的静态图像压缩算法

价格 ¥5.50 发布时间 2023年4月28日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/132497.html,

Like (0)
1158的头像1158编辑
Previous 2023年4月28日
Next 2023年4月28日

相关推荐

My title page contents