单片机中实现数字图像压缩的算法研究
数字图像的压缩和编辑技术研究

数字图像的压缩和编辑技术研究第一章:前言随着数字图像在人们的生活中越来越重要,如今的社会存在着对于数字图像大规模存储和传递的需求。
而数字图像压缩技术能够将图像的数据量降低,从而实现图像的高效存储和传输。
同时,数字图像编辑技术则可在压缩后的图像上进行各种操作,如调整亮度对比度、添加滤镜等,从而实现个性化需求。
本文将分析数字图像压缩和编辑技术的研究现状和未来发展方向,探讨数字图像处理的发展趋势。
第二章:数字图像压缩技术研究数字图像压缩技术是数字图像处理的重要方面。
它能够将图像的数据量降低到最小化,以提高图像的存储效率。
数字图像压缩技术主要分为有损压缩和无损压缩两种。
2.1 有损压缩有损压缩指的是在压缩数字图像过程中,去除一些对图像视觉感知不重要的信息,如低频信号、较小的高频信号等。
尽管这种方式能够使图像的数据量被大大降低,但也很容易导致图像在一定程度上失真。
2.2 无损压缩无损压缩则是在压缩数字图像的过程中,尽量保留所有的信息,同时保证压缩后的数字图像与原图像的误差在一定的客观限度内。
常见的无损压缩算法包括:LZW、霍夫曼编码和无失真预测编码等。
而有损压缩算法通常是采用离散余弦变换(DCT)、离散小波变换(DWT)、以及JPEG、MPEG等标准算法进行压缩。
第三章:数字图像编辑技术研究数字图像编辑技术是指对于数字图像进行各种修改和处理的方法,包括改变图像的亮度、对比度、色彩、大小、形状等等。
这些操作能够使得人们对于数字图像的创作和改进变得更加便捷和高效。
3.1 数字图像处理软件数字图像处理软件是数字图像编辑技术的重要工具。
目前市面上常见的数字图像处理软件有Photoshop、GIMP、Lightroom等。
这些软件都为用户提供了一个友好的交互环境,使得用户可以自由设计和编辑数字图像,得到满足自己需求的图像。
3.2 其他数字图像编辑技术除了软件工具以外,数字图像的编辑技术还包括其他方面的技术研究,如人工智能生成、图像语义分割等。
单片机多级通信系统中的数据压缩与解压缩算法研究

单片机多级通信系统中的数据压缩与解压缩算法研究单片机多级通信系统是一种将多个单片机相互连接起来进行数据传输和通信的系统。
在这个系统中,数据的传输效率是非常重要的。
数据压缩与解压缩算法可以有效地减小数据的大小,提高数据传输的效率。
本文将研究在单片机多级通信系统中的数据压缩与解压缩算法。
1. 数据压缩算法的研究数据压缩算法是将原始数据在保持重要信息的前提下,通过某种方式减少数据的存储空间。
在单片机多级通信系统中,数据压缩可以减小数据的传输量,降低通信系统的负载,提高数据传输的效率。
1.1. Huffman编码Huffman编码是一种常用的数据压缩算法,其基本思想是将出现频率较高的字符用较短的编码表示,出现频率较低的字符用较长的编码表示。
在单片机多级通信系统中,可以通过统计原始数据中不同字符的出现频率,然后根据频率构建Huffman树,进而生成对应的Huffman编码。
在数据传输过程中,发送方将原始数据编码为对应的Huffman编码,接收方根据Huffman编码解码还原出原始数据。
1.2. Lempel-Ziv-Welch(LZW)编码LZW编码是一种无损数据压缩算法,其基本思想是通过建立字典表来动态地对数据进行编码。
在单片机多级通信系统中,可以使用LZW编码对原始数据进行压缩。
发送方首先建立一个初始字典表,包含所有的可能字符。
然后,发送方将原始数据从左到右逐个字符进行匹配,并将匹配的字符串在字典表中查找。
如果匹配成功,则继续向右匹配,直到无法匹配为止。
发送方将匹配成功的字符串对应的编码发送给接收方。
接收方根据接收到的编码和字典表,可以还原出原始数据。
2. 数据解压缩算法的研究数据解压缩算法是将压缩后的数据恢复到原始数据的过程。
在单片机多级通信系统中,解压缩算法可以对接收到的压缩数据进行解码,还原出原始数据。
2.1. Huffman解码Huffman解码是对Huffman编码进行解码的过程。
在单片机多级通信系统中,接收方根据发送方传输的Huffman编码和Huffman树,可以解码出原始数据。
数字图像处理数字图像的压缩编码

debbie. bmp BMP是一种与设备无关的位图格式。 256×256,65KB 一般采用非压缩模 式
8
400×400,10.9KB,
原图像数据468KB
5.1.1 图像压缩编码的必要性
2000年5月植被指数遥感图.bmp,原图像数据976×720=2MB
9
5.1.1 图像压缩编码的必要性
Buaa.jpg,0.98MB ,原图像数据1900×1560=8.5MB
35
5.1.3 图像压缩编码的分类
3.按压缩方法进行分类
静图:静止图像(要求质量高) 动图:活动的序列图像(相对质量要求低,压缩 倍数要高)
36
5.1.3 图像压缩编码的分类
4.按失真与否进行分类
无失真压缩:经压缩后再恢复图像与原图像无任何 区别, 一般压缩倍数 < 2
有限失真压缩:单帧(静)4~20倍。图像序列 (x、y、t)50~200倍
像素相关性大:压缩潜力大
评价受人的影响大(军标)
4
5.1 概述
图像的特点
数据量大,为其存储、传输带来困难,需压缩
例:电话线传输速率一般为56kbit/s(波特率)
一幅彩色图像640×480×24bit = 7Mbit大小 1.传输一幅图像:时间约2分钟左右 如压缩20倍,传一幅图6s左右,可以接受,实用 2.实时传送:640×480×24bit×25帧/s=175Mbit/s,
小,这种信息就被称为视觉心理冗余。
33K
15K
28
5.1.2 图像压缩编码的可能性
图像无损压缩的原理
RGB RGB RGB RGB
RGB
RGB RGB
RGB
RGB RGB
基于单片机的数据压缩算法的实现

thisnode = node[thisnode].nParent;
}
// 内容拷贝
for(nBitCount = cd.nStartPos; nBitCount < MAXBITS; nBitCount++)
node[previous].nParent = nWhich;
}
else
{
// 插入到开始位置
rootnodes = nWhich;
}
}
}
//从优先队列里去掉第一个结点
int QueueDelete(void)
{
int thisnode = rootnodes;
};
// 队列的插入删除处理
void QueueInsert(int nWhich);
int QueueDelete(void);
// 定义全局变量
struct NodeType node[MAXNODES];
// 队列最初位空
int rootnodes = -1;
void main(void)
scanf("%d", &nSymbolsNum);
printf("Please input char and frequencies\n");
// 得到数据和每个字符的频率
for(i = 0; i < nSymbolsNum; i++)
{
scanf("%s%d", &symbol, &node[i].nFrequency);
基于TMS320C5409图像压缩系统的实现

T s ak
Pr pr e sng e oc s i
C ce P x l y l / ie
22
Itr oain n e p lt o 0t e s h r
4 1 2 7
TMS 2C 4 9作 为 主处 理 器 , 以 8 30 50 并 X8的 数 据 块 作 J E 压 PG
缩编码时 , 所需要的机器周期为 6C ce , 2 yls 内存空 间为6 3 B。 .K
如 表 2 1 示 — 所
经 过 模 数 转 换 的 原 始 图 像 数 据 是 非 常 大 的, TMS 2C 4 9的内部仅有 3K 的 随机 存储 器和 1KW 的 30 50 2W 6
中图 分 类 号 : P 9 . l T 3 1 4 文献标识码 : A
1 引言
随着 多媒体 和网络技 术 的发 展和应 用 , 字 图像 大信息 数
量 的特 点 使 得 图 像 压 缩 技 术 的要 求 也 越 来 越 高 , 因此 , 用 高 专
*4 0 . 9 6 s当所 处 理 的 图像 分 辨 率 更 小 时 , 压 缩 每 帧 8 =0 1 8 6 则 所 花 的 时 间则 更 少 , 对 于 应 用 在 对 实 时 性 要 求 不 是 很 高 的 这 场合是完全可 行的。 袁 2 1 TMS 2C 4 性 能 和 内存 需要 — 30 5X
控 制 图像 A/ D芯 片进 行 图 像 采 集 , 部 分 由 C L 这 P D实 现 控 制 ; 图像 采集 芯 片 的 寄 存器 控 制 由 5 单 片机 完成 。 1 2 3 存 储 空 间 的 扩 展 方 案 .
单片机能用的压缩算法

单片机能用的压缩算法标题:单片机中常用的压缩算法简介:本文将介绍在单片机中常用的压缩算法,包括哈夫曼编码、LZW算法和RLE算法,旨在提供对于单片机压缩算法的基本理解和应用。
正文:在单片机应用中,由于资源的有限性和存储容量的限制,压缩算法成为一种重要的解决方案。
压缩算法可以通过减小数据的存储空间和传输带宽来优化单片机应用的性能。
首先介绍的是哈夫曼编码,这是一种经典的无损压缩算法。
它根据数据出现的频率来构建一棵哈夫曼树,将出现频率高的字符用较短的编码表示,而出现频率低的字符用较长的编码表示。
通过这种方式,可以有效地减少数据的存储空间。
在单片机中,可以利用哈夫曼编码对传感器采集的数据进行压缩,从而节省存储空间和传输带宽。
另一个常用的压缩算法是LZW算法。
LZW算法是一种字典压缩算法,它通过建立一个字典来记录出现的字符串,并用较短的编码替代较长的字符串。
在单片机中,LZW算法可以应用于图像压缩,将图像中的连续像素序列转换为较短的编码,从而减小图像的存储空间和传输带宽。
此外,还有一种简单且高效的压缩算法是RLE算法。
RLE算法是一种基于重复数据的压缩算法,它将连续出现的相同数据用一个计数值和该数据表示。
在单片机中,RLE算法可以应用于音频数据的压缩,将连续相同的音频采样数据用一个计数值表示,从而减小音频数据的存储空间和传输带宽。
综上所述,单片机中常用的压缩算法包括哈夫曼编码、LZW算法和RLE算法。
这些压缩算法可以在有限的资源条件下优化单片机应用的性能。
使用这些算法可以减小数据的存储空间和传输带宽,提高单片机应用的效率和响应速度。
通过合理选择和应用压缩算法,可以充分利用单片机的资源,并满足对存储和传输效率的要求。
在实际应用中,需要根据具体的场景和需求选择最适合的压缩算法,并根据实际情况进行参数调节和优化。
数据压缩算法在单片机上的实现

收稿日期:2007-03-01作者简介:马强(1969-),男,河南焦作人,焦作建设银行工程师。
数据压缩算法在单片机上的实现马 强1王 琛2(1.焦作建设银行,河南焦作454000;2.焦作大学,河南焦作454003)摘要:信息时代测量数据以爆炸形式倍增,对/海量0数据的压缩存储,保证数据主要特征基本不变的前提下,研制数据压缩在单片机上来实现,对HUFF MAN 压缩算法研究,获得较快的压缩速度,减少数据存储空间和传输的通信流量,节省数据的存储空间,保证大压缩比,同时具有还原恢复特性。
关键词:/海量0数据;数据压缩;静态数据压缩;压缩算法;编码中图分类号:TP311.13 文献标识码:A 文章编号:1008-7257(2008)04-0078-021.引言随着计算机技术的发展,数据压缩技术的研究受到人们越来越多的关注与应用。
数据压缩技术,作为信息论研究中的一个重要课题,一直受到人们的广泛关注。
数据压缩技术的主要目的是力求用最少的数据表示信源所发出的信号,使信号占用的存储空间尽可能小,以达到提高信息传输速度的目的。
各种压缩算法在一定程度上,都具有个性,对某一类型的数据其压缩率可能很大,但对于另一类型数据其压缩率则可能很小。
所以在应用中,若想得到较好的综合压缩性能,必须考虑各种因素,并对现有算法进行综合比较,最终确定合适的压缩算法。
2.数据压缩的产生和发展及M SP430单片机简介2.1数据压缩的产生关于数据压缩理论研究,有人认为始于19世纪末研制的莫尔斯代码是数据压缩的第一次尝试。
早期信息论研究,是已知消息中各符号出现频率,设法构造一种编码,使消息所占空间尽可能少。
尽管当时数字计算机尚未出现,但所进行的研究与当今数字计算机所使用的压缩技术有着密切联系,数据压缩是将输入数据流(原始数据)转变为另一种比较小的数据流(输出流或是压缩流)的过程,目的是通过数据压缩手段将数据流以压缩形式进行存储和传输。
2.2M SP 430功能简介M SP 430是T I 公司近几年推出的16位系列单片机,最早面向于驱动LED 显示的应用设计,具有极好的应用效果和很大的市场潜力,很快发展为通用单片机系列。
数字图像压缩技术研究与实现

数字图像压缩技术研究与实现一、引言数字图像在生活和工作中已经得到了广泛的应用,包括电影、医学图像、卫星图像、遥感图像等各种领域中。
然而,数字图像的存储和传输需要大量的存储资源和传输带宽,因此,数字图像压缩技术成为处理数字图像的关键技术之一。
本文就数字图像压缩的技术研究与实现进行探讨。
二、数字图像压缩技术分类数字图像压缩技术通常分为有损压缩和无损压缩两大类。
1. 无损压缩无损压缩的目的是对图像进行压缩同时尽可能地保持它的原始信息。
无损压缩常用的技术包括:(1)Huffman编码在Huffman编码中,根据不同符号的出现频率来分配不同的编码。
出现频率越高的符号,分配的编码越短。
由于该编码是基于统计数据进行计算的,因此,无损压缩的比例视数据本身的特点而定。
(2)LZW算法LZW算法是一种经典的无损压缩算法。
该算法按照字典进行压缩,将一段连续的固定长度的数据表达成字典中已有的某个字符串。
由于不需要像Huffman编码那样建立概率模型,因此LZW算法的压缩比往往较高。
2. 有损压缩有损压缩一般会对图像进行一定的信息损失,从而对图像进行压缩,常用的有损压缩技术包括:(1)离散余弦变换(DCT)DCT是一种基于频域的有损压缩技术。
该技术使用的基矢量是正弦函数,因此它可以将图像分解成频域的若干个频率分量。
由于图像中的高频部分相对于低频部分所包含的信息较少,因此可以选择将高频部分信息舍去进行有损压缩。
(2)小波变换小波变换也是一种基于频域的有损压缩技术,它和DCT相比具有更好的局部性能。
小波变换将原始数据分解为多个尺度,即逐级分解,使得分解出的数据相互独立且无重叠,从而可以分别对不同的分解数据进行压缩。
三、数字图像压缩算法实现数字图像压缩算法的实现过程需要针对不同的压缩技术选择不同的算法模型,并通过编程实现算法。
以下将以Python语言为例,介绍两个常用的数字图像压缩算法。
1. LZW算法实现以下是Python语言中实现LZW算法的示例代码:```pythondef LZW_compress(data):dict_size = 256dictionary = {chr(i): chr(i) for i in range(dict_size)}seq = ""result = []for symbol in data:symbol_seq = seq + symbolif symbol_seq in dictionary:seq = symbol_seqelse:result.append(dictionary[seq])dictionary[symbol_seq] = str(dict_size)dict_size += 1seq = symbolif seq in dictionary:result.append(dictionary[seq])return resultdef LZW_decompress(data):dict_size = 256dictionary = {chr(i): chr(i) for i in range(dict_size)} seq = ""result = []for symbol in data:entry = ""if symbol in dictionary:entry = dictionary[symbol]elif symbol == dict_size:entry = seq + seq[0]result.append(entry)if seq:dictionary[seq + entry[0]] = str(dict_size)dict_size += 1seq = entryreturn "".join(result)```2. 小波变换实现以下是Python语言中实现小波变换的示例代码:```pythonimport pywtimport numpy as npfrom PIL import Imagedef wavelet_transform(image):coeffs2 = pywt.dwt2(image, 'haar')LL, (LH, HL, HH) = coeffs2return LL, LH, HL, HHdef wavelet_compress(image, threshold):LL, LH, HL, HH = wavelet_transform(image)abs_HH = np.abs(HH)thresh_HH = np.max(abs_HH) * thresholdHH[H < thresh_HH] = 0return LL, LH, HL, HHdef wavelet_decompress(LL, LH, HL, HH):coeffs2 = LL, (LH, HL, HH)return pywt.idwt2(coeffs2, 'haar')if __name__ == '__main__':img = Image.open('lena.bmp').convert('L')img.show()img_data = np.array(img)threshold = 0.05LL, LH, HL, HH = wavelet_compress(img_data, threshold)img_new = Image.fromarray(wavelet_decompress(LL, LH, HL, HH))img_new.show()```四、总结数字图像压缩技术是处理数字图像的关键技术之一,其目的是在不损失图像质量的前提下提高存储和传输的效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用三字节的定点小数加以实现 ,其精度完全达到 DCT
算法的要求 。
2. 2 Huffm a n 编码
Huffman编码是一种比较经典的算法 ,是 1952年由
Huffman提出的一种编码方法 。这种编码方法的主要
思想是根据源数据符号出现的概率进行编码 ,出现概率
越高的符号 ,分配以越短的编码 ,反之 ,分配以较长的编
2 图像压缩
图像压缩的算法很多 。我们选取比较流行的 JPEG 压缩标准进行压缩 。基本 JPEG编码器和解码器 (基于 DCT)的结构如图 2所示。其算法的基本思路是 : DCT函 数通过把数据从空间域变换到频率域 ,从而去除数据的 冗余度 ;量化器用加权函数来产生对人眼优化的量化 DCT系数 , 同 时 熵 编 码 器 将 量 化 DCT 系 数 的 熵 最 小 化 [4]。
系统实现的关键是如何将图像芯片中的数据信息 存储到图像扇入存储芯片 ,以及经过压缩后形成 JPEG 图像格式转存到图像扇入存储芯片 。在本设计中图像 芯片使用 3620 /OV3610 (OV3620 /OV3610,是 Omni V i2 sion Technologies , inc. 2005年推出的高度集成 、高分辨 率 ( 1024 ×768) 、隔行 /逐行扫描 、CMOS的彩色 /黑白的 图像采集芯片 ) [3 ] 。根据图像芯片的行时序图和场时 序 ,以及 L4V8M440的读写时序 ,利用 OV3620 /3610 的 输出 信 号 PCLK、HREF、VSYNC; L4V8M440 的 WCK、 W E、RCK、RE 和 OE 等 信 号 ; 单 片 机 的 P1. 1、P2. 7、 ALE、WR 和 RD 等 信 号 之 间 的 逻 辑 关 系 为 : W CK = PCL K ; RCK = AL E +W R + RD ; IN T0 = VS YN C ; W E = HR EF + VS YN C + P1. 1 ; R E /O E = RD + P2. 7 ;从而实 现了图像数据的扇入与扇出存储 。
算速度 。利用浮点数求解在主频 12MHZ 时约需 2. 2 m s,但用定点小数求解只需 250μs。二者相差十倍 。如 用本文提出的 CPU 来处理 ,用定点小数求解只需 2. 5μs
左右 。我们采用的求解公式为 : π
co sx = sin - x 2
和
sin π x≈ x + (0. 57036 - (0. 6425 - 0. 07185x2 ) ×x2 ) ×x 2
∑∑ 7 7 F ( u, v) cos (2 i + 1) uπco s (2 j + 1) vπ (2)
i =0 j=0
16
16
在 ( 1)式 、( 2)式中 :
C ( u) , C ( v) = 1 / 2 (当 u , v = 0) C ( u) , C ( v) = 1 (其它情况 ) f ( i, j) 表示位于 ( i, j) 坐标处的像素函数 (如亮度等 ) 。 这样经过正变换所得的结果就为 DCT系数 ,其中的 F (0, 0)称为直流系数 (DC) ,而其他的则称为交流系数
因此 , 我们在硬件设计中设计了两片 F IFO 芯片 L4V8M440,在具体实现的过程中 ,根据 F IFO 芯片的特 点 ,我们每次从 L4V8M440 读入一定量的图像数据 ,经 过 DCT处理后存放在 C8051F120 的内部 ,同时对其进 行统计 ,当 DCT完成第一遍后 ,统计也就完成 。第二遍 时对其建立 Huffman树并进行编码 ,进行数据压缩 ,形 成 JPEG图像数据存放在另一片 L4V8M440 中 ,从而完 成了对整个图像数据的压缩和编码 。
其二维 DCT正变换的公式为 (采用 8 ×8的块 ) :
F ( u, v) = 1 C ( u) C ( v) 4
∑∑ 7 7 f ( i, j) co s ( 2 i + 1) uπco s ( 2 j + 1) vπ ( 1)
i =0 j=0
16
16
DCT的逆变换采用公式 :
f ( i, j) = 1 c ( u) c ( v) 4
第 23卷第 1期 2010年 2月
四川理工学院学报 (自然科学版 )
Journal of Sichuan University of Science & Engineering (Natural Science Edition)
文章编号 : 167321549 (2010) 0120038203
单片机中实现数字图像压缩的算法研究
图 2 基于 J P EG编码器和解码器 (基于 DC T)的结构 基本 JPEG的编码方法为顺序编码 。其步骤是 :首
先 ,将图像分为 8 ×8 的像素块 ,根据从左到右 ,从上到 下的光栅扫描方式进行排序 (如图 3 所示 ) 。DCT对 8 ×8的像素块进行计算 ,再对 64 个 DCT系数用均匀量 化器进行量化 ,均匀量化表是根据心理听觉的实验得出 的 。这种均匀的标量量化表可以作为 JPEG标准的一 部分 ,但不是必须的 。将 DCT系数量化后 ,块中的系数 再根据“Z”形扫描方式 (如图 4所示 )排序 ,得到的比特 流用行顺序编码生成中间的符号序列 ,然后这些符号经 过 Huffman编码用于传输或存储 [5 ] 。
图 3 将图像分成 8 ×8 的像素块 由此可以得出 ,基于 DCT编码的 JPEG压缩算法可 由如下几个步骤实现 : ( 1)颜色模式转换及采样 ; ( 2)正向离散余弦变换 ( FDCT) ; ( 3)量化 (Quantization) ;
图 4 “Z”行排列
( 4) Z字型编码 ; ( 5)使用差分脉冲编码调制 (DPCM ) 对直流系数 (DC)进行编码 ; ( 6)使用行程长度编码 ( RLE)对交流系数 (AC)进 行编码 ; ( 7)熵编码 ( Entropy Coding) 。 在整个过程中 ,最为关键的编程技术是离散余弦变 换 (DCT)和 Huffman编码 。 2. 1 离散余弦变换 (DC T) 离散 余 弦 变 换 ( D iscrete Cosine Transform, 简 称 DCT)是一种与傅立叶变换紧密相关的数学运算 。由于 彩色图像由像素组成 ,这些像素具有 RGB 彩色值 。每 个像素都带有 x, y坐标 ,对每种原色使用 8 ×8 或者 16 ×16矩阵 。在灰度图像中像素具有灰度值 ,它的 x, y坐 标由灰色的幅度组成 。为了在 JPEG中压缩灰度图像 , 每个像素被翻译成亮度或灰度值 。为了压缩 RGB 彩色 图像 ,这项工作必须进行三遍 ,因为 JPEG分别地处理 每个颜色成分 , R ( Red红 )成分第一个被压缩 ,然后是 G ( Green绿 )成分 ,最后是 B (B lue蓝 )成分 。而一个 8 ×8 矩阵的 64个值 ,每个值都带有各自的 x, y坐标 ,这样就 有了一个像素的三维表示法 ,称作空间表达式或空间 域 。通过 DCT变换 ,空间表达式就转化为频谱表达式 后频率域 。从而达到了数据压缩的目的 [6 ] 。
3 结束语
用以上的原理和方法 ,在钻井平台井下倾角测试系 统中得到了很好的应用 ,并实现了图像数据很好的压缩 效果 。具有很高的推广价值 。为 CNG储气井检测技术 与系统研发中的数字成像 、存储和压缩提供了可靠的技 术支持 。
( 5)在每次合并信源时 ,将合并的信源分别赋“0 ”
和“1”;
( 6)寻找从每一信源符号到概率为 1 处的路径 ,记
录路径上的“1 ”和“0 ”; (7)写出每一符号的“1”,“0”序列 (从树跟到信源
符号节点 ) 。 可见在计算 Huffman编码时 ,需要对原始图像扫描
两遍 :第一遍扫描要精确地统计出原始图像中的每个灰 度值出现的概率 ;第二遍扫描是建立 Huffman树并进行 编码 ,进行数据压缩 ,形成 JPEG图像数据 。
王 晓 , 杨维剑
(四川理工学院计算机学院 , 四川 自贡 643000)
Vo l123 No11 Feb12010
摘 要 :文章主要论述了在单片机中对数字图像压缩算法的硬件设计和如何在单片机实现对数字
图像压缩成 JPEG格式算法的具体实现方法 ,给出了在图像压缩算法中离散余弦变换 (DCT)函数 、Huff2
40
四川理工学院学报 (自然科学版 ) 2010年 2月
(AC) 。二维的离散余弦变换具有可分离性 ,所以其正
变换和逆变换均可以将二维变换分解成一系列一维变
换 (行 ,列 )进行计算 。即 :
∑ F ( u, v) = 1 C ( u) 2
7 G ( i, v) cos ( 2 i + 1) uπ
方便进行总线扩展 。一片用于扇入 ,一片用于扇出 。其 硬件逻辑框图如图 1所示 。
图 1 硬件逻辑框图
为了解决速度问题 , 我们选取了 C8051F120 作为 CPU , Cygnal公司推出高性能 8051微控制器 C8051F120 系列产品 , CPU 吞吐量达 100 M IPS,具备两个周期 16 × 16 MAC, 12位 ADC 和 DAC,包括 128KB 闪存 、8448KB RAM [2 ] 。
man编码函数等关键函数 ,并对其算法加以改进 ,对其复杂性进行了可靠的分析 。
关键词 :图像压缩 ; DCT; Huffman;数字图像 ; JPEG
中图分类号 : TP393. 02
文献标识码 : A
引言
目前实现图像压缩的方法很多 , 但是主要集中在 DSP和 PC机中进行 ,而在单片机中实现数字图像压缩 , 则主要存在内存容量和计算速度两大问题 。随着单片 机技术和存储技术的发展 ,在单片机中实现数字图像压 缩成为可能 。由于数字图像的数据量很大 , 远距离成 像 、传输等就必须对其进行压缩编码 。利用单片机实现 数字图像压缩 ,提供高可靠性 、高性价比的应用系统 ,不 仅在军事侦察 、抢险救灾 、气象擦测等领域有着广泛应 用 ,而且在工业检测领域 (如外观在线检测 、特殊图形 检测等 ) 、高温作业等领域有着更加广泛的应用 。