图像压缩算法论文

图像压缩算法论文
图像压缩算法论文

算法论文

基于huffman编码的图像压缩技术

姓名:康凯

学院:计算机学院

专业:网络工程1102

学号:201126680208

摘要

随着多媒体技术和通讯技术的不断发展, 多媒体娱乐、信息高速公路等不断对信息数据的存储和传输提出了更高的要求, 也给现有的有限带宽以严峻的考验, 特别是具有庞大数据量的数字图像通信, 更难以传输和存储, 极大地制约了图像通信的发展, 因此图像压缩技术受到了越来越多的关注。图像压缩的目的就是把原来较大的图像用尽量少的字节表示和传输,并且要求复原图像有较好的质量。利用图像压缩, 可以减轻图像存储和传输的负担, 使图像在网络上实现快速传输和实时处理。

本文主要介绍数字图像处理的发展概况,图像压缩处理的原理和特点,对多种压缩编码方法进行描述和比较,详细讨论了Huffman编码的图像压缩处理的原理和应用。

关键词:图像处理,图像压缩,压缩算法,图像编码,霍夫曼编码

Abstract

With the developing of multimedia technology and communication technology, multimedia entertainment, information, information highway have kept on data storage and transmission put forward higher requirements, but also to the limited bandwidth available to a severe test, especially with large data amount of digital image communication, more difficult to transport and storage, greatly restricted the development of image communication, image compression techniques are therefore more and more attention. The purpose of image compression is to exhaust the original image less the larger the bytes and transmission, and requires better quality of

reconstructed images. Use of image compression, image storage and transmission can reduce the burden of making the network fast image transfer and real-time processing.

This paper mainly introduces the development situation of the digital image processing, the principle and feature of image compression processing , and the variety of compression coding method was described and compared, detailedly discussed the principle and application of compression processing based on Huffman

Keywords: Image Processing,Image Compression,Compression algorithm,Image Coding,Huf.fman

1.数字图像处理概述

1.1数字图像处理发展概况

数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理最早出现于20世纪50

年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。1

在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI 公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(Computer Tomograph)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类作出了划时代的贡献。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科.图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。

1.2数字图像处理主要研究的内容

数字图像处理主要研究的内容有以下几个方面:

1)

图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。2

2)图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。3)图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立"降质模型",再采用某种滤波方法,恢复或重建原来的图像。4)图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。5)图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。6)图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。

2.图像压缩

2.1图像数据压缩原理

由于图像数据之间存在这一定的冗余,所以使得数据的压缩成为可能。信息论的创始人Shannon 提出把数据看作是信息和冗余度(redundancy)的组合。所谓冗余度是由于一副图像的各像素之间存在着很大的相关性,可利用一些编码的方法删去它们,从而达到减少冗余压缩数据的目的。为了去掉数据中的冗余,常常要考虑信号源的统计特性,或建立信号源的统计模型。3

图像的冗余包括以下几种:

●空间冗余:像素点之间的相关性;

●时间冗余:活动图像两个连续帧之间的冗余;

●信息熵冗余:单位信息量大于其熵;

●结构冗余:区域上存在非常强的纹理结构;

●知识冗余:有固定的结构,如人的头像;

●视觉冗余:某些图像的失真是人眼不易觉察的。

对数字图像进行压缩通常利用两个基本原理:一是数字图像的相关性。在图像的同一行相邻象素之间,相邻象素之间,活动图像的相邻帧的对应象素之间往往存在很强的相关性,去除或减少这些相关性,也即去除或减少图像信息中的冗余度也就实现了对数字图像的压缩。帧内象素的相关称做空域相关性。相邻帧间对应象素之间的相关性称做时域相关性。二是人的视觉心理特征。人的视觉对于边缘急剧变化不敏感(视觉掩盖效应),对颜色分辨力弱,利用这些特征可以在相应部分适当降低编码精度而使人从视觉上并不感觉到图像质量的下降,从而达到对数字图像压缩的目的。

2.2霍夫曼编码

Huffman编码在无损压缩的编码方法中,它是一种有效的编码方法。它是霍夫曼博士在1952 年根据可变长最佳编码定理提出的。依据信源数据中各信号出现的频率分配不同长度的编码。其基本思想是在编码过程中,对出现频率越高的值,分配越短的编码长度,相应地对出现频率越低的值则分配较长的编码长度,它是一种无损编码方法。采用霍夫曼编码方法的实质是针对统计结果对字符本身重新编码,而不是对重复字符或重复子串编码,得到的单位像素的比特数最接近图像的实际熵值。

例如,在英文中,e的出现概率很高,而z的出现概率则最低。当利用哈夫曼编码对一篇英文进行压缩时,e极有可能用一个位(bit)来表示,而z则可能花去25个位(不是26)。用普通的表示方法时,每个英文字母均占用一个字节(byte),即8个位。二者相比,e使

用了一般编码的1/8的长度,z则使用了3倍多。倘若我们能实现对于英文中各个字母出现概率的较准确的估算,就可以大幅度提高无损压缩的比例。

例如:假设信源符号为【a、b、c、d、e、f、g】,其出现的概率相应的为【0.25、0.025、0.025、0.05、0.35、0.25、0.05】,一共7个字符,对其进行huffman 编码,算法如下:

首先按照每个字符出现的频率大小从左到右排列:0.35、0.25、0.25、0.05、0.05、0.025、0.025;选出最小的两个值作为叶子节点构成一棵二叉树,值较大的叶子节点在左,两个叶子节点对应的频率之和作为根节点。把原排列中最小的两个节点删除,新的根节点插入排列保持大小从左到右的排列顺序不变;重复执行2),直到最后得到值为1 的根节点。得到一棵huffman 树,如下图所示:

图 2.1

在得到的huffman 树上左分支标记1,右分支标记0,所有的字符根据其频率标记到对应的叶子节点上,从根节点到叶子节点路径上遇到的0、1 字符串即为对应叶子节点所在字符的编码。a、b、c、d、e、f、g七个字符的huffman 编码分别是:10、0001、0000、0011、11、

01、0010,可以看到,符号只能出现在树叶上,任何一个字符的路径都不会是另一字符路径的前缀路径。

3 哈夫曼编码的图像压缩

3.1 需求分析

设计目标是实现Huffman压缩的编码器。编码器的工作过程呢个如下;首先读入待压缩的源文件,为保证与源文件信息完全一致,对文件的读写操作都用二进制文件的方式进行。与这只偶那个方式对应的是ASCII方式读写。然后建立并分析字母表,对读入内存的源文件我们以字节为单元进行分析,将类型表示,其用C++内建的CHAR,最多将有256中可能的字符。我们对每种字符的出现频度进行统计,以频度作为建立Huffman树的权值。频度表建好之后,就可以根据前述算法建立Huffman树,对出现的每种字符进行Huffman编码。此入时,再次读入源文件,逐字节编码,将得到的编码流写入到磁盘文件。

可以看出编码的核心是Huffman树,它也是连接编码的纽带。考虑到Huffman树节点的设计。编码时从叶节点逐步构建中间节点,到整颗树。树的节点应该应该包括的信息有:节点表示的字符,子字节的位置,字符出现的频度,父节点的位置等,这些都是构造Huffman 所需要的。而解码时,我们只需要能够根据位序列从树的根节点循次遍历到叶节点,叶节点保留其表示的字符,这就足够了。

3.2 设计流程图

本设计目的是为了实现图像压缩,霍夫曼算法是实现此目的关键步骤。因此本设计流程图是以霍夫曼为中心展开叙述的。流程图如图3-1所示。

需求分析

构建Huffman

设计

Huffman压缩类

结果显示

测试及分析

图3-1流程图

3.3 Huffman树的构造

基类设计如下:

// NIL 表示一个空子树

const short NIL = -1;

// 压缩文件中Huffman树的节点对象

class DiskHuffNode

{

public:

// 存储的字符

unsigned char ch;

// 子节点的指针(索引)

short left;

short right;

DiskHuffNode (unsigned char c = 0, short lptr = NIL, short rptr = NIL): ch(c), left(lptr), right(rptr)

{}

};

// 单个字符的最大位码大小

const int MAXBITSIZE = 255;

typedef bitset BitCode;

// 构建Huffman树的节点

// 压缩算法使用这些属性以及基类DiskHuffNode建立节点

// 此类中的属性在解压缩算法中并不需要

class HuffNode: public DiskHuffNode

{

public:

int freq; // f字符ch的出现频度

int index; // 自身节点在树中的索引

int parent; // 自身节点的父节点

int numberOfBits; // ch的Huffman编码的bit数目

BitCode bits; // 放置Huffman码的bitset容器

HuffNode (unsigned char c = 0, short lptr = NIL, short rptr = NIL,

int f = 0, int indx = NIL, int p = 0,

int numBits = 0, int maxSizeOfBits = MAXBITSIZE):

DiskHuffNode(c, lptr, rptr), freq(f), index(indx),

parent(p), numberOfBits(numBits), bits(0)

{}

// “<”和“>”运算符是构建最大优先级队列和最小优先级队列必须的friend bool operator< (const HuffNode& lhs, const HuffNode& rhs)

{

return lhs.freq < rhs.freq;

}

friend bool operator> (const HuffNode& lhs, const HuffNode& rhs)

{

return lhs.freq > rhs.freq;

}

};

3.4 图像压缩的具体实现

3.4.1 压缩类的实现

https://www.360docs.net/doc/0a2847428.html,press()成员函数是控制文件压缩的关键模块,Huffman树的构造是算法的核心功能所在。本设计就从这两点出发考虑Huffman压缩类得实现。

Compress()成员函数的定义如下:

void HCompress::compress()

{

int i;

DiskHuffNode tmp;

if (verbose)

cout << "源文件字符集频度分析中 ..." << endl;

// 执行频度分析

freqAnalysis();

if (verbose)

cout << "构造Huffman树中 ..." << endl;

// 构建Huffman树

buildTree();

if (verbose)

cout << "生成Huffman码中 ..." << endl << endl;

// 为每个字符生成Huffman码,并计算压缩字符中的总字符数目

generateCodes();

// 如果选择verbose,此时树已生成,可以输出树数据

if (verbose)

treeData();

if (verbose)

cout << "生成压缩文件中 ..." << endl << endl;

// 输出树大小

dest.write((char *)&treeSize, sizeof(short));

// 输出树:注意我们只输出HuffNode对象的基类部分,

// 解压缩Huffman所需要的仅是字符和子节点指针

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

{

tmp = (DiskHuffNode)tree[i];

dest.write((char *) &tmp, sizeof(DiskHuffNode));

}

// 对于仅含有单个字符的源文件,

// 删除由于附加叶节点所添加到总体代价的多余位

if (oneChar)

totalBits--;

// 输出Huffman压缩文件的比特总数目

dest.write((char *)&totalBits, sizeof(unsigned long));

// 完整读入源文件,在Huffman树中查找对应每个字符的Huffman码

// 写入到dest文件中

writeCompressedData();

// 关闭源文件和目的文件

source.close();

dest.close();

filesOpen = false;

}

它的执行过程如下:

(1)调用freeAnalysis()

读取源文件,列出文件中每个字符出现的个数。当首次读到一个字符时,将叶节点计数数目numberLeaves加1。算法利用叶节点数目来分配Huffman树。另外函数也计算文件的大小,以支持下面计算压缩比的需要。

(2)调用bulidTree ()

为文件构造Huffman树。为了将Huffman树写入到压缩文件,如前面的需求分析中所描述那样,我们采用基于vector实现的数。这时指针是整数索引,可任意把它理解为相对地址,而不是基于链表的数结构的动态生成的内存地址。动态的内存地址指向程序特定的一次运行中的内存,写它到文件将毫无意义。基于vector的树使用相对地址作为指针,就回避了动态内存地址的问题。

(3)调用generateCode()

对于每个叶节点,顺着到根节点的路径,可以判断每个字符的bit码。在此过程中,确定树的代价,它是生成的位码的总位数。

(4)完成所有数据收集

Huffman树的最大节点数目为2*256-1=511。将此数值以16位整数写入到压缩文件中。(5)将Huffman树的基类以字符流的形式写入到压缩文件中。

(6)将位码总数写入到压缩文件中

(7)调用writeCompressData()

再次读取源文件。对每个字符,将它对应的位码写入到压缩文件中。

2.构造Huffman树

前面部分已经设计好了树节点的集成层次类,并详述了构造Huffman树的原理,现在我们从freeAnalysis()的分析结果出发,构造Huffman树。

void HCompress::buildTree()

{

// 顺序遍历Huffman树节点

int i, nodeIndex;

// 捕捉从优先级队列中出来的节点

HuffNode x, y;

// 最小优先级队列,用于构建Huffman树

priority_queue, greater > pq;

// 处理文件仅有一个独特字符的特殊情形

if (numberLeaves == 1)

{

// 设置叶节点数目为2,

// 并在索引0或1位置添加1个叶节点

// 因为在这些位置的字符不出现在文件中

numberLeaves = 2;

if (charFreq[0] != 0)

charFreq[1] = 1;

else

charFreq[0] = 1;

// 记录我们已经添加了填充节点

oneChar = true;

}

else

oneChar = false;

// 树的大小为2*numberLeaves-1

treeSize = 2*numberLeaves - 1;

tree.resize(treeSize);

// 检索我们构造中的树

nodeIndex = 0;

// 开始构造各个叶节点

// value = char(i)

// left/right = NIL,

// frequency = charFreq[i]

// index = nodeIndex

// parent, numberOfBits, maxSizeOfBits 为默认值

// 在charLoc中记录叶节点的位置,将节点插入到最小优先级队列中

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

if (charFreq[i] != 0)

{

tree[nodeIndex] = HuffNode((unsigned char)(i), NIL, NIL, charFreq[i], nodeIndex);

pq.push(tree[nodeIndex]);

// 记录该叶节点的索引,用于

// writeCompressedData()函数

charLoc[i] = nodeIndex;

// 准备构造下一个节点

nodeIndex++;

}

// 对于 numberLeaves-1 次迭代, 移除节点对,

// 生成父节点, 并将父节点插入树中

for (i=1; i <= numberLeaves-1; i++)

{

// 移除频率最低的两个节点。它们在向量树中对应节点的副本

// 位置为x.index和y.index

x = pq.top();

pq.pop();

y = pq.top();

pq.pop();

// 生成父节点(内部节点),它的子节点

// 在数组树中的索引位置为x.index和y.index,

// 它的频度为x和y的频度和

// 这个节点的索引为nodeIndex,

// 其父节点暂时设为0

tree[nodeIndex] = HuffNode(char(0), x.index, y.index,

x.freq + y.freq,

nodeIndex, 0, 0, 0);

// 使用x.index和y.index,

// 将nodeIndex分配为x和y的父节点成员变量的值

tree[x.index].parent = nodeIndex;

tree[y.index].parent = nodeIndex;

// 将新的父节点插入到优先级队列

pq.push(tree[nodeIndex]);

nodeIndex++;

}

if (verbose)

cout << " Huffman树的节点数目: "

<< treeSize << endl << endl;

}

在算法中需要注意这样一个细节问题,即包括这样的特殊情况:树只包含有一个唯一的字符。在这种情两况下,为了满足扩展二叉树的内部节点必须有两个子节点的要求,此函数还须生成另外一叶节点个节点作为填充的辅助节点。函数首先生成叶节点,索引范围为0~number-1,每个叶节点都含有字符值,它出现的频率和节点自身的索引值,然后再生成内部节点。此步需要执行一个number-1次的循环。来自优先队列中的每个节点都包含自己在向量树中的索引值,这便利了节点关系的建立,可以将索引值赋值给父节点的左指针或右指针,也能够通过索引快速设置对应子节点的父节点属性。

3.生成位码

函数generateCode()从每个叶节点开始,沿着父节点路径往上直到发现根节点,就能够确定每个叶节点位码。每向上一步,如果此节点是其父节点的左子节点,就把位码相应位设为0,如果是右子节点,则设为1。这样发现的位码是逆序的,当将它赋值给叶节点的位码数据成员时,需要将位码再次逆转。

4.写位码

成员函数writeCompressData()参考上面已经生成的Huffman 编码方案,实现将源文件转换为压缩文件的过程。它首先以二进制方式再次读入源文件,将其诸字节解释为字符,并产生对应的压缩编码,此时压缩编码时在内存中,再将整个压缩码由内存转移到磁盘文件。其代码如下:

void HCompress::writeCompressedData()

{ // 用于容纳压缩文件Huffman码的位向量

bit_vector compressedData(totalBits,false);

int bitPos, i, j;

unsigned char ch;

// 为源文件清除end-of-file状态标记

// 并将文件指针设为文件的开始位置

source.clear();

source.seekg(0, ios::beg);

// bitPos用于将bits位码放入compressedData中

bitPos = 0;

// 再次读取源文件

// 并在compressedData中生成Huffman码

while (true)

{

// 获取下一个字符

ch = source.get();

if (!source)

break;

// 含有ch的树节点的index

i = charLoc[ch];

// 将tree[i].ch的位码放入位向量中

for (j=0;j < tree[i].numberOfBits; j++)

{

// 当tree[i].bits[j]为1时,

// 对compressedData相应位置位

if (tree[i].bits.test(j))

compressedData[bitPos] = true;

// 一直将bitPos向前推进

bitPos++;

}

}

// 将位码由内存compressedData中写入到磁盘文件

mem_to_file(compressedData,dest);

}

men_to_file()的实现如下:

void HCompress::mem_to_file(bit_vector& bv,fstream& ostr)

{

// 我们无法直接将二进制bit序列vector传递到文件

// 借助字符串流ostringstream将位流转换,并传递到文件中ostringstream os; // 位向量中包含的字节单元个数,如果尾部不足整字节,

// 则补齐为整字节

int bytecnt = (bv.size()+7) >> 3;

// bitset对象具有转换为unsigned long的方法

bitset<8> btemp;

for (int i = 0; i < bytecnt; i++)

{

// 将向量每8位转换为bitset<8>对象

// 再进一步转换为unsigned long

for(int j=0; j<8; j++)

btemp[j]= bv[8*i+j];

char ch=btemp.to_ulong();

ostr.put(ch);

// 将二进制bit序列从内存传递到文件中

}

}

4 运行结果显示及其分析

4.1 结果显示:

1 .对文件mspaint.exe进行压缩,结果如图4-1所示。

图4-1压缩结果

2 对文件demo.dat压缩:结果如图4-2所示。

图4-2压缩结果

3.对文件films.dat 压缩,结果如图4-3所示。

图4-3压缩结果4.对文件webster.dict进行压缩,结果如图4-4所示。

图4-4压缩结果

4.2 结果分析:

我们对不同的文件类型进行压缩,测试对象除了demo.dat,还包括webster.dict以及mspaint.exe文件。Webster.dict有234,946个词,2,251,959个字符,53个不同的字符(26 个大写字母,26个小写字母,以及一个换行符)。对这个文件应用Huffman算法的压缩比为1.83.mspaint.exe是较大的二进制文件,共包含有255种不同字符,而压缩比只有1.36。而对于更小的文件,由于Huffman压缩文件格式的要求,甚至会有压缩比小于1的情形。不过这种情况毕竟是少数。对于大文件的压缩自然能不畅附加信息的代价。

总结

通过本次设计,我学到很多。数据压缩有两种基本类型:无损压缩和有损压缩。使用无损压缩算法压缩的文件buhui8丢失任何信息,它与源文件具有可逆性,即经过压缩算法可以恢复原来的数据。通常我们对“离散”的数据采用这种算法:文本文件,字处理文件,应用程序等。有损压缩技术在压缩时会丢失一些信息,压缩后不能完全恢复出所有信息。而实际上,对于音频,图像和视频数据,我们人类可以感知的信息阀值是有限的,有选择的丢弃部分频率成分会产生更好的压缩比。

本设计主要讨论和利用的是霍夫曼编码。通过本次毕业设计,我对此种编码方法理解更加深入。本设计是利用C++进行设计实现的,首先构建Huffman树,这涉及到数据结构,然后开始实现压缩类的接口与应用。压缩类的实现中compress()成员函数是控制文件压缩的关键模块。

参考文献

[1] 朱梦宇,杨裕亮.基于JPEG2000的实时红外图像压缩系统设计[J].激光与红外.2005.04.

[2] 林林.JPEG2000及其兴趣区域(ROI)编码在数字图书馆中的应用[J].现代图书情报技术.2003.03.

[3] 赵杰,王海松.数字图像压缩技术的现状及前景分析. 2010(3).

[4] 陈文森.图像压缩技术进展.2010(2).

[6] 张元伟, 刘彦隆.基于JPEG标准的静态图像压缩算法研究电子设计工程. 2010(2).

[7] 李昌坤.JPEG2000标准算法研究及改进[D].四川大学.2005.

[8] Peter Syme.Digital Video Compresion.New York.McGraw-Hill.2004.

[9] K.R.Rao and P.C.Yip.The Transform and Data Compression Handbook,Boca Raton.Fla.CRC Press.2001.

[10] Khalido Sayood ,Introduction Data Compression.2nd ed.San Francisco Mordan Kaufmann Fla. CRC Press.2001.

[11] P Chaturvedi and TVerma, R Jain .Design of Pipelined architecture for jpeg image compression with 2D-DCT and Huffman Encoding- International Journal of Advanced …, 2013 -

[12] S Srikanth, S Meher Compression Efficiency for Combining Different

Embedded Image Compression Techniques withHuffman Encoding.2013 -

dspace.nitrkl.ac.in

[1]赵杰,王海松.数字图像压缩技术的现状及前景分析. 2010(3)

[2]Peter Syme.Digital Video Compresion.New York.McGraw-Hill.2004.

[3]李昌坤.JPEG2000标准算法研究及改进[D].四川大学.2005.

0016算法笔记——【动态规划】图像压缩问题

0016算法笔记——【动态规划】图像压缩问题 1、问题描述: 在计算机中,常用像素点的灰度值序列{p1,p1,……p n}表示图像。其中整数p i,1<=i<=n,表示像素点i的灰度值。通常灰度值的范围是0~255。因此最多需要8位表示一个像素。 压缩的原理就是把序列{p1,p1,……pn}进行设断点,将其分割成一段一段的。分段的过程就是要找出断点,让一段里面的像素的最大灰度值比较小,那么这一段像素(本来需要8位)就可以用较少的位(比如7位)来表示,从而减少存储空间。 b代表bits,l代表length,分段是,b[i]表示每段一个像素点需要的最少存储空间(少于8位才有意义),l[i]表示每段里面有多少个像素点,s[i]表示从0到i压缩为一共占多少存储空间。 如果限制l[i]<=255,则需要8位来表示l[i]。而b[i]<=8,需要3位表示b[i]。所以每段所需的存储空间为l[i]*b[i]+11位。假设将原图像分成 m段,那么需要位的存储空间。 图像压缩问题就是要确定像素序列{p1,p1,……pn}的最优分段,使得依此分段所需的存储空间最小。 2、最优子结构性质

设l[i],b[i],1<=i<=m是{p1,p1,……p n}的一个最优分段,则l[1],b[1]是{p1,……,p l[1]}的一个最优分段,且l[i],b[i],2<=i<=m是{p l[1]+1,……,p n}的一个最优分段。即图像压缩问题满足最优子结构性质。 3、递推关系 设s[i],1<=i<=n是像素序列{p1,p1,……p i}的最优分段所需的存储位数,则s[i]为前i-k个的存储位数加上后k个的存储空间。由最优子结构性质可得: ,式中 4、构造最优解 数组l[i],b[i]记录了最优分段所需的信息最优分段的最后一段的段长度和像素位数分别存储在l[n]和b[n]中,其前一段的段长度和像素位数存储于l[n-l[n]]和b[n-l[n]]中,依此类推,可在O(n)时间内构造最优解。 算法具体实现代码如下: [cpp]view plain copy 1.//3d7 动态规划图像压缩问题 2.#include "stdafx.h" 3.#include https://www.360docs.net/doc/0a2847428.html,ing namespace std; 5.

图像压缩标准知多少

电子科技 2004年第7期(总第178期) 61 图像压缩标准知多少 徐庆征,镇桂勤 (西安通信学院二系,陕西 西安 710106) 摘 要 介绍了一些典型的静止图像压缩标准和活动图像压缩标准,并分析了各自的技术特点及其应用场合。 关键词 图像压缩;JPEG ;H.26x ;MPEG4 中图分类号 TN919.8 图像通信直观生动,包含极其丰富的信息,是人们传递信息的重要媒介。同时,巨大的数据量也给图像的采集、存储、处理和传输带来了极大的困难,严重影响了图像媒体成为主要媒体,因此,压缩数字图像信号的数码率就成为图像通信和图像信号处理领域的首要任务,受到全世界科技工作者的关注。 20世纪80年代以来,国际标准化组织(ISO)和国际电信联盟(ITU)组织了一批专家,开展了大量细致、全面的工作,陆续制定了一系列有关图像通信方面建议和标准,极大地推动了图像编码技术的发展与应用。这些标准可以归为两种类型:静止图像压缩标准和活动图像压缩标准(包括ITU-T 制定的H.263系列和ISO 制定的MPEG-x 系列)。 1 静止图像压缩编码标准 1.1 JBIG 标准 1988年,ISO 和ITU-T 成立了“联合二值图像专家组”(Joint Binary Image Expert Group ,JBIG), 1991年10月提出了ITU-T T.82标准。这一标准确定了具有逐层、逐层兼容顺序和单层顺序3种模式的编码方法,并提出了获得任意低分辨率图像的方法。 1.2 JPEG 标准 收稿日期: 2004-04-21 1986年底,ISO 和ITU-T 成立了联合图像专家小组(Joint Photographic Experts Group ,JPEG),该小组近年来一直致力于静止图像压缩算法的标准化工作。1991年3月正式提出ISO CD10918号建议草案“连续色调静止图像的数字压缩编码”(通常简称为JPEG 标准),这是第一个适用于连续色调、多级灰度、彩色或黑白静止图像的国际标准。 JPEG 标准提供了一种无损编码的模式和3种有损编码模式(基于DCT 的顺序模式、基于DCT 的渐进模式、层次模式)。所有符合JPEG 的 遍解码器都必须支持基准模式,其他模式可作为选择项根据不同的应用目的来取舍。基准模式编解码框图如图1所示。 尽管JPEG 建议主要是应用于静止图像的编码技术,但是在某些场合也可将它应用于视频编辑系统。此时JPEG 把视频序列中的每一帧当作一幅静止图像来处理,这就是所谓的Motion JPEG 的处理方法。 1.3 JPEG-LS 标准 JPEG 组织从1994年开始征集新的无损/近无损(简称JPEG-LS)算法提案,并于1998年2月作 图1 JPEG 基准模式遍解码框图

数字图像处理毕业论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

图像压缩算法论文

算法论文 基于huffman编码的图像压缩技术 姓名:康凯 学院:计算机学院 专业:网络工程1102 学号:201126680208 摘要 随着多媒体技术和通讯技术的不断发展, 多媒体娱乐、信息高速公路等不断对信息数据的存储和传输提出了更高的要求, 也给现有的有限带宽以严峻的考验, 特别是具有庞大数据量的数字图像通信, 更难以传输和存储, 极大地制约了图像通信的发展, 因此图像压缩技术受到了越来越多的关注。图像压缩的目的就是把原来较大的图像用尽量少的字节表示和传输,并且要求复原图像有较好的质量。利用图像压缩, 可以减轻图像存储和传输的负担, 使图像在网络上实现快速传输和实时处理。 本文主要介绍数字图像处理的发展概况,图像压缩处理的原理和特点,对多种压缩编码方法进行描述和比较,详细讨论了Huffman编码的图像压缩处理的原理和应用。 关键词:图像处理,图像压缩,压缩算法,图像编码,霍夫曼编码 Abstract With the developing of multimedia technology and communication technology, multimedia entertainment, information, information highway have kept on data storage and transmission put forward higher requirements, but also to the limited bandwidth available to a severe test, especially with large data amount of digital image communication, more difficult to transport and storage, greatly restricted the development of image communication, image compression techniques are therefore more and more attention. The purpose of image compression is to exhaust the original image less the larger the bytes and transmission, and requires better quality of

多媒体图像压缩技术

多媒体图像压缩技术 2010级电子信息科学与技术刘小辉2010271022 摘要:随着计算机多媒体技术的不断发展,人们期望更高性能的图像压缩技术的出现。图像压缩是用最少的数据量来表示尽可能多的原图像的信息。多媒体数据压缩技术是现代网络发展的关键性技术之一。由于图像和声音信号中存在各种各样的冗余,为数据压缩提供了可能。数据压缩技术有无损压缩缩和有损压缩两大类,这些压缩技术又各有不同的标准。 Abstract:With the ever-growing multimedia technology, people are looking for ward to new image compression technologies with better performances. Image compression with the least amount of data is represented as much information of original image .Multimedia data compression technology is the modern network development of the key technology of. Because of the image and sound signal in the presence of various kinds of redundancy, compression of data is possible. Data compression technology of lossless and lossy compression two categories, these compression techniques and different standards. 关键字(Keyword):多媒体数据压缩技术(Multimedia data compression technology) 无损压缩和有损压缩(Lossless and lossy compression) 图像和声音信号(The image and sound signal) 最少的数据量(The least amount of data) 随着计算机多媒体技术和通信技术的日益发展,以及网络的迅速普及,图像数据信息以

数字图像处理系统毕业论文

数字图像处理系统毕业论文基于ARM的嵌入式数字图像处理系统设计

摘要 简述了数字图像处理的应用以及一些基本原理。使用S3C2440处理器芯片,linux内核来构建一个简易的嵌入式图像处理系统。该系统使用u-boot作为启动引导程序来引导linux内核以及加载跟文件系统,其中linux内核与跟文件系统均采用菜单配置方式来进行相应配置。应用界面使用QT制作,系统主要实现了一些简单的图像处理功能,比如灰度话、增强、边缘检测等。整个程序是基于C++编写的,因此有些图像变换的算法可能并不是最优化的,但基本可以满足要求。在此基础上还会对系统进行不断地完善。 关键词:linnux 嵌入式图像处理边缘检测 Abstract This paper expounds the application of digital image processing and some basic principles. The use of S3C2440 processor chip, the Linux kernel to construct a simple embedded image processing system. The system uses u-boot as the bootloader to boot the Linux kernel and loaded with file system, Linux kernel and file system are used to menu configuration to make corresponding configuration. The application interface is made using QT, system is mainly to achieve some simple image processing functions, such as gray, enhancement, edge detection. The whole procedure is prepared based on the C++, so some image transform algorithm may not be optimal, but it can meet the basic requirements. On this basis, but also on the system constantly improve. Keywords:linux embedded system image processing edge detection

JPEG图像压缩算法及其实现

多媒体技术及应用 JPEG图像压缩算法及其实现 罗群书 0411102班 2011211684

一、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压缩数据组成。 图1 JPEG压缩编码器结构框图

基于Matlab的数字图像处理系统毕业设计论文

论文(设计)题目: 基于MATLAB的数字图像处理系统设计 姓名宋立涛 学号201211867 学院信息学院 专业电子与通信工程 年级2012级 2013年6月16日

基于MATLAB的数字图像处理系统设计 摘要 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。 笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。 上述功能均是在MA TLAB 语言的基础上,编写代码实现的。这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。 关键词:MATLAB 数字图像处理图像处理工具箱图像变换

第一章绪论 1.1 研究目的及意义 图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。 MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,是近几年来在国内外广泛流行的一种可视化科学计算软件。MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一样。它编写简单、编程效率高并且通俗易懂。 1.2 国内外研究现状 1.2.1 国内研究现状 国内在此领域的研究中具有代表性的是清华大学研制的数字图像处理实验开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件。 TDB-IDK 系列产品是一款基于TMS320C6000 DSP 数字信号处理器的高级视频和图像系统,也是一套DSP 的完整的视频、图像解决方案,该系统适合院校、研究所和企业进行视频、图像方面的实验与开发。该软件能够完成图像采集输入程序、图像输出程序、图像基本算法程序。可实现对图像信号的实时分析,图像数据相对DSP独立方便开发人员对图像进行处理,该产品融合DSP 和FPGACPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

JPEG2000图像压缩算法标准剖析

JPEG2000图像压缩算法标准 摘要:JPEG2000是为适应不断发展的图像压缩应用而出现的新的静止图像压缩标准。本文介绍了JPEG2000图像编码系统的实现过程, 对其中采用的基本算法和关键技术进行了描述,介绍了这一新标准的特点及应用场合,并对其性能进行了分析。 关键词:JPEG2000;图像压缩;基本原理;感兴趣区域 引言 随着多媒体技术的不断运用,图像压缩要求更高的性能和新的特征。为了满足静止图像在特殊领域编码的需求,JPEG2000作为一个新的标准处于不断的发展中。它不仅希望提供优于现行标准的失真率和个人图像压缩性能,而且还可以提供一些现行标准不能有效地实现甚至在很多情况下完全无法实现的功能和特性。这种新的标准更加注重图像的可伸缩表述。所以就可以在任意给定的分辨率级别上来提供一个低质量的图像恢复,或者在要求的分辨率和信噪比的情况下提取图像的部分区域。 1.JPEG2000的基本介绍及优势 相信大家对JPEG这种图像格式都非常熟悉,在我们日常所接触的图像中,绝大多数都是JPEG格式的。JPEG的全称为Joint Photographic Experts Group,它是一个在国际标准组织(ISO)下从事静态图像压缩标准制定的委员会,它制定出了第一套国际静态图像压缩标准:ISO 10918-1,俗称JPEG。由于相对于BMP等格式而言,品质相差无己的JPEG格式能让图像文件“苗条”很多,无论是传送还是保存都非常方便,因此JPEG格式在推出后大受欢迎。随着网络的发展,JPEG的应用更加广泛,目前网站上80%的图像都采用JPEG格式。 但是,随着多媒体应用领域的快速增长,传统JPEG压缩技术已无法满足人们对数字化多媒体图像资料的要求:网上JPEG图像只能一行一行地下载,直到全部下载完毕,才可以看到整个图像,如果只对图像的局部感兴趣也只能将整个图片载下来再处理;JPEG格式的图像文件体积仍然嫌大;JPEG格式属于有损压缩,当被压缩的图像上有大片近似颜色时,会出现马赛克现象;同样由于有损压缩的原因,许多对图像质量要求较高的应用JPEG无法胜任。 JPEG2000是为21世纪准备的压缩标准,它采用改进的压缩技术来提供更高的解像度,其伸缩能力可以为一个文件提供从无损到有损的多种画质和解像选择。JPEG2000被认为是互联网和无线接入应用的理想影像编码解决方案。 “高压缩、低比特速率”是JPEG2000的目标。在压缩率相同的情况下,JPEG2000的信噪比将比JPEG提高30%左右。JPEG2000拥有5种层次的编码形式:彩色静态画面采用的JPEG 编码、2值图像采用的JBIG、低压缩率图像采用JPEGLS等,成为应对各种图像的通用编码方式。在编码算法上,JPEG2000采用离散小波变换(DWT)和bit plain算术编码(MQ coder)。此外,JPEG2000还能根据用户的线路速度以及利用方式(是在个人电脑上观看还是在PDA上观看),以不同的分辨率及压缩率发送图像。 JPEG2000的制定始于1997年3月,但因为无法很快确定算法,因此耽误了不少时间,直到2000年 3 月,规定基本编码系统的最终协议草案才出台。目前JPEG2000已由ISO和

(完整版)基于matlab的数字图像处理毕业设计论文

优秀论文审核通过 未经允许切勿外传 摘要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文介绍了MATLAB 语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行数字图像处理,并通过一些例子来说明利用MATLAB图像处理工具箱进行图像处理的方法。主要论述了利用MATLAB实现图像增强、二值图像分析等图像处理。关键词:MATLAB,数字图像处理,图像增强,二值图像

Abstract Digital image processing is an emerging technology, with the development of computer in various areas on the processing speed requirement is relatively ),线性量化(liner quantization ),对数量化,MAX 量化,锥形量化(tapered quantization )等。 3. 采样、量化和图像细节的关系 上面的数字化过程,需要确定数值N 和灰度级的级数K 。在数字图像处理中,一般都取成2的整数幂,即: (2.1) (2.2) 一幅数字图像在计算机中所占的二进制存储位数b 为: *log(2)**()m N N b N N m bit == (2.3) 例如,灰度级为256级(m=8)的512×512的一幅数字图像,需要大约210万个存储位。随着N 和m 的增加,计算机所需要的存储量也随之迅速增加。 由于数字图像是连续图像的近似,从图像数字化的过程可以看到。这种近似的程度主要取决于采样样本的大小和数量(N 值)以及量化的级数K(或m 值)。N 和K 的值越大,图像越清晰。 2.2 数字图像处理概述 2.2.1 基本概念 数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的

图像压缩算法

《算法设计与分析》课程报告 姓名:文亮 学号:201322220254 学院:信息与软件工程学院 老师:屈老师;王老师

算法实现与应用——《算法设计与分析》课程报告 一. 基本要求 1. 题目: 图像压缩 2. 问题描述 掌握基于DCT 变换的图像压缩的基本原理及其实现步骤;对同一幅原 始图像进行压缩,进一步掌握DCT 和图像压缩。 3. 算法基本思想 图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。压缩技术分为无损压缩和有损压缩两大类,前者在解码时可以精确地恢复原图像,没有任何损失;后者在解码时只能近似原图像,不能无失真地恢复原图像。 假设有一个无记忆的信源,它产生的消息为{}N ≤≤i a i 1,其出现的概率是已知的,记为()i a p 。则其信息量定义为: ()()i i a p a log -=I 由此可见一个消息出现的可能性越小,其信息量就越多,其出现对信息的贡献量越大,反之亦然。 信源的平均信息量称为“熵”(entropy ),可以表示为: ()()[]()()∑∑==-=?=H N i i i N i i i a p a p a p I a p 1 1 log 对上式取以2为底的对数时,单位为比特(bits ): ()()∑=-=H N i i i a p a p 1log 根据香农(Shannon )无噪声编码定理,对于熵为H 的信号源,对其进行无

浅析动态图像采集压缩技术

浅析动态图像采集压缩技术 【摘要】在互联网飞速发展和广泛普及的今天,在实战中的具体功能、实际威力以及真实效果,使决策者和科技人员获得动态和感性的认识,有身临其境之感。在工业上,需要对一些多变的、有毒的、人类不宜久留的场合进行监测。在医疗上,则需要一些高级专家对异地的病人进行诊断和治疗,这些都是基于高保真实时准动态图像采集压缩和远程传输技术的综合实现。 1 系统设计思想 本系统的设计目标是基于互联网实现远程站点之间的高保真准动态图像的实时传输。整个系统贯彻如下设计思想:发送站点和接收站点都具有对图像质量的控制功能,以适应互联网传输率不稳定的情况;对图像采用多种类型的压缩技术,以适应不同的图像分辨率和环境要求;在互联网信道传输率较差时,能够启动自适应功能。 2 系统设计中的关键技术和优化策略 2.1 视频采集技术分析和选择 为了实时视频采集,需要安装相应的视频采集设备。即视频采集卡和摄像头等。并需要安装相应的驱动软件来支持这些设备的运行。 实际运行过程表明,上述分析是正确的。本系统设计中采用了overlay模式。这一选择对稳定性起到了较好的优化作用。 2.2 视频压缩、解压缩技术的优选和优化 针对视频应用中可能遇到的各种情况,本系统的压缩、解压缩模块设计采用三种压缩方案,使用时可以从中选择一种,以适应不同环境和不同需求。 一是国际通用的高压缩比方案H.263,该方案压缩比高,但图像质量较差,适用于网络传输性能较差的情况,该方案大体符合现场图像的处理要求。二是图像压缩质量最好、算法最先进的MPEG-4方案,该方案图像质量好,但压缩比较低,适用于网络传输性能良好的情况。三是在H.263的基础上作了较大幅度修改和优化的TH.263方案,该方案在压缩比与H.263相近的情况下,图像质量有明显改善。TH.263方案是在对H.263深入分析基础上实施的。通过分析H.263的整个系统程序,得到其设计思想如下:首先将采集到的原始图像划分成8×8的宏块,然后判断此帧是不是关键帧。如果是关键帧,则对每个宏块作DCT (Discrete Cosine Transform)变换,对变换后的视频数据采用视觉能够接受的量化比量化,量化后许多高频分量将变成零,为了最大限度提高压缩编码效果,采用Z形扫描技术将其重新组合,然后对组合串做行程编码,最后对得到的结果进行哈夫曼编码;如果是非关键帧,则对每个宏块先进行运动矢量的计算,然后

基于matlab的数字图像处理本科毕业设计论文

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

图像压缩算法性能的测试与分析工具

图像压缩算法性能的测试与分析工具1 蔡正兴,张虹 中国矿业大学计算机科学与技术学院,江苏徐州 (221008) 摘要:本文研究了图像压缩算法性能的评价方法,提出了图像压缩算法性能的测试算法,包括横向比较测试和纵向分解测试,并在此基础上设计并实现了压缩算法性能的测试与分析工具。该工具能够测试和分析压缩算法的性能,并自动生成各种分析图表,为用户提供了方便,具有较大的实用价值。为了提高评价的效率、准确性和全面性,文中提出了测试图像的选择方法和测试结果的分析方法,具有一定的理论意义。 关键词:压缩性能,测试方法,分析方法,图像选择方法 1. 引言 近年来,图像压缩得到快速发展[1],各种算法层出不穷,比如有损的压缩算法可以在低失真的条件下达到高压缩比[2,3],而无损的压缩算法则可以保证重建图像的无失真[4]。因此在实际应用中得知各种压缩算法的性能及特点是必要的。在评价图像压缩算法性能时主要考虑压缩比、重建质量、时间复杂度、空间复杂度和实现代价这几个方面[5],其中较为重要的是压缩比、重建质量和时间复杂度。为了计算这些压缩性能指标,常常使用一些工具软件,比如在图像处理领域广泛使用的MATLAB系列软件,它提供了大量的内置函数[6],操作方便,功能强大,但它不是评价图像压缩算法性能的专业工具,需要进行二次开发,不能有效的分析和评价压缩性能。其次,利用性能指标来评价压缩方法,尽管方便快捷,但还不能反映图像压缩算法的全部特点。例如,在考虑变换编码系统的失真性质时,一般采用MSE(均方误差),有时利用MSE计算得到的重建质量很好,但视觉效果却不好,这是因为MSE对图像中的失真显著性不敏感[7],可见,性能指标仅仅是对压缩算法进行宏观上的评价,无法评价每个过程对压缩性能的影响。再次,在评价压缩性能时,不可避免地要使用测试图像,用户在选择测试图像时带有随机性,不利于全面地评价压缩方法。针对这些不足,本文设计了图像压缩算法性能的测试与分析工具——AutoTA。AutoTA的目标是自动地对图像压缩算法进行测试与分析,并生成各种分析图表,全面的评价图像压缩算法的性能。AutoTA具有广泛的应用前景,科研人员利用AutoTA可横向比较各种压缩算法的性能,也可纵向分析压缩算法的特点;工程技术人员也可以根据AutoTA的测试结果,在实际应用中选择合适的图像压缩算法。 2. 压缩算法性能指标 压缩性能指标是评价压缩算法的重要方面,也是AutoTA分析图像压缩算法性能的重要依据,下面将描述相关的性能指标。 2.1压缩比 压缩比是指压缩过程中输入数据量和输出数据量之比,反映了图像压缩算法的压缩性能,当压缩比小于1时为正压缩,当压缩比大于1时为负压缩。压缩比的计算公式为: 1本课题得到国家自然科学基金项目(编号:60372102)、教育部博士点基金项目(编号:20030290011)、软件新技术国家重点实验室课题(编号:A200309)资助。

3D相机图像处理与显示技术研究毕业论文

3D相机图像处理与显示技术研究

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

图像压缩(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.统计和字典的压缩方法 常规程序和计算机熵的数据对于那些基于利用统计变种的压缩,效果很好,这些统计变种表现在单个符号的频率以及符号或短语字符串的频率等方面,而基于字典的系统实际山就是假扮统计程序。可是遗憾的是,这类压缩对于连续色调图象的作用并不很好。 这些程序的主要问题产生于这样的一个事实:照片图象的象素广泛地分布在整个范围。如果将图象中的彩色用频率分布画出,那么频率分布图中,没有我们在统计压缩的成功的情况下所看到的“尖峰”状,实际上,如果延长这个分布图,那么从类似于电视那样的生活图象源中得出的分布图会趋于平展。这意味着,每个象素代码彼此是大约相同的出现机会,决定不存在挖掘熵差的任何机会。 基于字典的压缩程序的运行也有类似的问题,基于扫描照片的图象决定没有任何类型的数据特征以产生相同的短语的多次出现。例如,一个栅格化的图象,

(完整版)图像处理本科毕业设计

摘要 本文以VC++6.0做为编程语言,对图像降噪技术进行研究。本文通过介绍位图的基本操作以及在图像中加入椒盐噪声的操作,从而进一步引出几种降噪方法。 本文分别介绍“均值滤波”、“中值滤波”以及“傅里叶降噪”和“小波降噪”四种算法,实现图像降噪。详细介绍了其基本原理、实现方法以及具体算法,并对降噪效果加以比较与分析。 “均值滤波”把每个像素都用周围的8个像素来做均值操作,可以平滑图像,速度快,算法简单。“中值滤波”是常用的非线性滤波方法,也是图像处理技术中最常用的预处理技术。同时在“低通滤波”及“小波降噪”中分别引入“快速傅里叶变换”和“Mallat 算法”,使得其取得更快速的计算,有效地解决了其计算量太大,运算时间过长的弊端,从而达到更好的综合降噪效果。 关键词:图像降噪;滤波;傅里叶降噪;小波降噪

Abstract Taking VC++6.0 as the programming language, this paper is a study about image noise reduction technology. Furthermore, introducing several noise reducing measures through the introduction of the basic processing and the operation to put the salt and pepper noise into the image. The paper introduces Averaging Filter, Median Filter,Fourier Lowpass Filtering and Wavelet Filter to achieve image noise reducing. Here we introduce the basic principles, implement methods, detailed arithmetic, and make comparison and analysis the noise reducing effects. Averaging Filter operates every pixel by using 8 pixels meanly. It can make the images smoothing, fast and easy to calculate. Median Filter Fourier is a common nonlinear filtering way and also common preprocessing technique when processing images. Introducing FFT and Mallat Algorithm separately into Lowpass Filtering and Wavelet Filter, and then we can make faster calculating and solve the massive calculating more efficiently. Therefore, we can have a more effective noise reducing. Keywords:Image Noise Reduction;Filter;Fourier Filter;Wavelet filter

相关文档
最新文档