0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA压缩算法有哪些

FPGA开源工坊 来源:FPGA开源工坊 2024-04-15 11:48 次阅读

压缩算法

简介

压缩算法是通过去除冗余信息来达到的,在图像压缩算法中一般是通过去除编码冗余、像素间冗余、心理视觉冗余这三者之间的一个或多个来完成的。

编码冗余:当所用码字大于最佳编码长度的时候出现的冗余

像素间冗余:因为图像数据间是存在相关性的,所以像素间的数据可以通过一定的表达式来进行转换从而达到数据压缩的目的

心理视觉冗余:也就是视觉上不重要的信息,因为人眼对色彩信息的敏感度是有限的

在图像压缩算法中可以采用哈夫曼编码的方式对编码冗余的信息进行压缩,可以采用预测的方式来减少像素间冗余,可以采用量化的方式完成心理视觉冗余信息的去除

图像压缩方法按照压缩后的图像数据能否恢复为原图像可以分为两种压缩算法

有损压缩

无损压缩

有损压缩技术在图像压缩之后会有信息的损失,也就是信息熵的减少,从而导致压缩后的图像不能完整的恢复为原始图像,比如采用DCT、FFT的方式对数据进行处理。无损压缩技术在图像压缩的过程中不会有信息的丢失,所以压缩后的图像可以完整的被恢复为原始数据。

图像压缩的过程如下图所示

430feaba-fa4a-11ee-a297-92fbcf53809c.png

其中映射变换器是将原始输入图像进行变换从而降低像素间的冗余,通常进行变换后的数据是不可以直接进行显示的。量化器根据预定义的逼真度标准来减少映射变换器输出的精确性,以便试图去除心理视觉的冗余信息,这个过程是不可逆的,也是区分无损压缩和有损压缩的关键步骤,如果在量化的过程中有信息的丢失,那么就是有损压缩,若量化过程中没有信息的丢失那么就是无损压缩,最后的编码器用于减少编码冗余。

常见的压缩算法有:DEFLATE、LZW、JPEG、JPEG 2000、JPEG LS等。

图像编码方法

常见的图像编码方法有三种

预测编码

统计编码

变换编码

预测编码

图像相邻的元素之间有很高的相关性,预测编码就是利用图像相邻元素之间时间和空间上的相关性进行编码。通过待编码数据的相邻数据来推断当前待编码数据的预测值,然后计算预测值和实际值之间的差值,最后对差值进行编码。JPEG LS就使用了这种方式来提高编码效率。

统计编码

统计编码是通过对数据进行统计之后,将出现概率大的数据用较少的位宽来表示,出现概率小的数据用较大的位宽来表示,从而使得平均码字长度尽可能的短来达到数据压缩的目的。在不同的压缩算法中使用的统计编码方式不太相同,比如在JPEG算法中在哈夫曼编码的方式降低平均码字长度,在JPEG LS算法中则采用的是Golomb-Rice编码和游程编码的方式。

变换编码

变换编码是指将空间域描述的数据变换到频域从而减少图像像素间的相关性,常用的方法有离散余弦变换(Discrete Cosine Transform, DCT),离散傅里叶变换(Discrete Fourier Transform, DFT),小波变换(Wavelet Transform)等。在JPEG 2000中采用了DWT的方式来进行变换编码。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593275
  • 变换器
    +关注

    关注

    17

    文章

    2027

    浏览量

    108399
  • 图像压缩
    +关注

    关注

    1

    文章

    60

    浏览量

    22236
  • 压缩算法
    +关注

    关注

    1

    文章

    20

    浏览量

    10416

原文标题:FPGA压缩算法(一) -- 简介

文章出处:【微信号:FPGA开源工坊,微信公众号:FPGA开源工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA实现滑动平均滤波算法和LZW压缩算法

    采集数据中的量化噪声,在进行数据压缩前采用滤波的预处理技术。介绍LZW算法和滑动滤波算法的基本理论,详细阐述用单片FPGA实现两种算法的方法
    发表于 04-24 09:05

    基于FPGA的数字脉冲压缩技术

    基于FPGA的数字脉冲压缩技术1.数字脉冲压缩实现原理2.电路设计2.1APEX2OKE系列FPGA 简介2.2 基于FPGA
    发表于 03-02 09:41

    CCSDS星载图像压缩模块的FPGA

    CCSDS星载图像压缩模块摘 要:  根据航天应用的需要,采用CCSDS122. 02B21推荐的新一代空间图像压缩算法,基于FPGA设计实现了高速星载图像
    发表于 08-11 11:45

    语音压缩算法研究

    位机跑5M可以解码的算法。编码可以复杂一些。最也参考了很多国外关于语音压缩算法,但是感觉好点的算法解码都相对比较复杂。欢迎广大工程师跟我一起探讨音频
    发表于 09-18 17:38

    FPGA图像压缩设计开发

    FPGA设计开发问题:设计要求种要求数据处理能力≥40M· samples/s 怎么理解?这是什么单位呀?根据这个单位怎么推算数据速率?哪些接口能满足此数据处理能力?序号指标描述 1核心压缩芯片
    发表于 08-01 15:27

    什么是压缩算法呢?压缩算法又是怎么定义的呢?

    认识压缩算法想必都有过压缩和解压缩文件的经历,当文件太大时,我们会使用文件压缩来降低文件的占用空间。比如微信上传文件的限制是100MB,
    发表于 07-28 07:22

    认识压缩算法

    压缩算法认识压缩算法我们想必都有过压缩和 解压缩文件的经历,当文件太大时,我们会使用文件
    发表于 07-28 08:12

    什么是压缩算法

    什么是压缩算法呢?压缩算法又是怎么定义的呢?
    发表于 10-19 07:25

    压缩算法是怎么定义的呢

    什么是压缩算法呢?压缩算法又是怎么定义的呢?文件是如何存储的?
    发表于 10-19 07:01

    基于LZW算法的数据无损压缩硬件实现

    本文利用FPGA实现了改进的LZW压缩算法,仿真证明其算法具有很高压缩率,适合工程的实际应用。
    发表于 04-02 10:59 3147次阅读
    基于LZW<b class='flag-5'>算法</b>的数据无损<b class='flag-5'>压缩</b>硬件实现

    基于双FPGA+ARM架构的图像压缩系统

    本设计开发出了一套基于双FPGA+ARM架构的高速计算机屏幕图像压缩系统。系统通过对图像压缩系统任务的划分,利用FPGA的并行计算能力和灵活的编程方式,完成图像
    发表于 08-22 11:44 2051次阅读
    基于双<b class='flag-5'>FPGA</b>+ARM架构的图像<b class='flag-5'>压缩</b>系统

    一种图像动态范围压缩算法及其FPGA实现

    一种图像动态范围压缩算法及其FPGA实现,感兴趣的小伙伴们可以看一看。
    发表于 09-14 17:17 5次下载

    空间图像CCSDS压缩算法研究与FPGA实现

    空间图像CCSDS压缩算法研究与FPGA实现,感兴趣小伙伴们可以瞧一瞧。
    发表于 09-18 14:57 16次下载

    FPGA实现滑动平均滤波算法和LZW压缩算法的论文资料说明

    针对数据采集系统高速长时间的采样和后端数据传榆及存储能力有限的问题,提出基于FPGA的数据压缩解决方案。同时为平滑采集数据中的量化噪声,在进行数据压缩前采用滤波的预处理技术。介绍LZW算法
    发表于 01-25 14:26 4次下载
    <b class='flag-5'>FPGA</b>实现滑动平均滤波<b class='flag-5'>算法</b>和LZW<b class='flag-5'>压缩</b><b class='flag-5'>算法</b>的论文资料说明

    如何使用FPGA实现图像动态范围压缩算法

    灰度动态范围压缩是一种基本的图像增强处理方法,广泛应用于图像识别,视频监控等领域中。结合这一应用,提出了一种基于非线性变换的动态范围压缩算法,并且以FPGA为基础,针对一幅图像的处理进
    发表于 02-05 17:00 22次下载
    如何使用<b class='flag-5'>FPGA</b>实现图像动态范围<b class='flag-5'>压缩</b><b class='flag-5'>算法</b>