1 LZW算法简介
数据压缩分为有损压缩和无损压缩。有损压缩是对压缩后的数据进行重构 (解压缩 ) ,重构后的数据与原来的数据有所不同,换来了大的压缩比。无损压缩指对压缩后的数据进行重构 ,重构后的数据与原来的数据完全相同。这里只介绍LZW无损压缩和解压缩算法。
LZW压缩算法是一种通用的无损压缩方法,该压缩算法是根据其发明人Lempel、Zif、Welch名字的首字母命名的。LZW压缩算法可以软件实现也可以硬件实现;软件压缩一般应用在对时间要求不高的场合,而对运行速度有特殊要求的情况下,对数据进行实时压缩一般都要用硬件实现。笔者主要研究基于FPGA实现LZW算法(包括压缩和解压缩),即用硬件电路来实现LZW算法。
2 LZW压缩原理
LZW算法采用了一种先进的串表(String Table)。将每个第一次出现的字符串放在串表中,并用一个代码(Code Word)来表示。压缩文件只存贮数字。而不存贮串从而可以使文件的压缩效率得到较大的提高。不管是在压缩还是解压缩的过程中,都能正确地建立相同串表,压缩或解压缩完成后,这个串表将被丢弃。
串表好比一部字典,把输入字串(单词)转换成字典中的所有的页码和页中的序号。解码就是据页码和页中的序号找到字串(单词)。使用同一部字典是正确还原的基础。(LZW算法基本原理不做介绍,可以参考网络资源)。
3 LZW压缩实现难点
FPGA实现LZW算法要解决以下5个问题:
1)字典容量选择
在实现LZW压缩与解压缩算法的时候,需要构建一个字典,用来存放压缩过程中形成的字符串表。LZW算法的字典是自适应生成的,在实际应用中,若无限制地增大字典的容量,虽然可能获得更好的压缩率,但进行字符串匹配时查找的时间会变长,并且随着编码的码字位数增加ÿ

基于xilinx FPGA实现LZW压缩算法相关推荐

  1. 基于Xilinx FPGA生态,加速提升视频处理质量

    随着5G开启万物互联的崭新纪元,用户.流量.应用场景不断扩张,视频服务不仅会深入渗透全产业领域,也将为各行各业的产品应用增值赋能.不断提升的存储.传输与计算资源,从分辨率.码率.色彩与传输稳定性上全方 ...

  2. MIPI DPHY接口(基于Xilinx FPGA实现)案例分析

    大家好,我是"FPGA功夫熊猫",这次分享一个在Xilinx FPGA实现MIPI DPHY接口的案例(包括CIS协议层).截止目前为止,Xilinx仅在Ultrascale+及其 ...

  3. 基于xilinx fpga的ofdm通信系统基带设计_仪器设备研制 | 基于AD9361的雷达干扰信号模拟器设计...

    点击蓝字关注我们 基于AD9361的雷达干扰信号 模拟器设计 Design of radar jamming signal simulator based on AD9361 作者单位 罗勇江,杨腾飞 ...

  4. 基于xilinx fpga的ofdm通信系统基带设计_基于嵌入式Wi-Fi处理器的无线系统设计...

    0 引 言 随着物联网技术的发展,众多的嵌入式系统均有增加Wi-Fi特性的需求,比如利用智能手机内建的Wi-Fi来遥控各种嵌入式设备,使支持机器对机器的通信(M2M)具有物联网通讯功能的嵌入式网络解决 ...

  5. 基于Xilinx FPGA XCZU6CG的ADAS辅助驾驶深度学习平台

    主芯片型号:XCZU6CG-1FFVB1156E 计算性能:峰值计算性能789.2GOPS (FPGA) + 12000DMIPS(ARM每秒运算12亿条指令集) 主要应用场景:深度学习视觉感知.深度 ...

  6. 基于XILINX FPGA芯片高速串行接口GTX学习笔记

    前言: 综合全网各路老鸟的优质博客加上一些自己的理解,整理了如下学习笔记:蛮开心入职了自己满意的单位,分享出来,希望大家都有所收获. 吉比特收发器(MGT)是吉比特级串行器/解串器(SERDES)的别 ...

  7. 基于Xilinx FPGA实现PCIE2.0接口

    1 理论知识 1.1 总线发展 1.ISA总线.工业标准架构总线(ISA),传输速率为16MBps,扩展ISA(EISA),传输速率为32MBps: 2.PCI总线.第一版:PCI总线,工作频率33M ...

  8. xilinx c语言u16,Xilinx FPGA LVDS应用

    最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...

  9. 利用Xilinx FPGA实现PCI Express 2.0接口

    利用Xilinx FPGA实现PCI Express 2.0接口 在现代电子系统中,高速数据传输是非常关键的.PCI Express(Peripheral Component Interconnect ...

最新文章

  1. sql查询时间大于某一时间_查询时间从24分钟到2秒钟:记一次神奇的SQL优化
  2. JVM内存管理–GC算法精解(五分钟让你彻底明白标记/清除算法)
  3. Java后端架构开荒实战(二)——单机到集群
  4. EL表达式和Jstl常见的用法
  5. spring bean配置_在运行时交换出Spring Bean配置
  6. php mysql5.7.110安装教程_MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10)
  7. mysql8.1改密码,mysql 8.0以上版本修改root密码的方法
  8. hadoop hdfs 集群配置
  9. 江西 高职 分数 计算机,快讯!江西高职(专科)批次各高校投档分数线出炉…...
  10. 形式语义学关于带权有向图最短路径的有模式函数算法
  11. 如何基于Spring Boot搭建一个完整的项目
  12. 设计模式 (五) 原型模式
  13. lisp6 暖通cad_这些高效插件,学CAD的基本用过两种以上
  14. 听说某琳系统停止更新了,其他的主机管理系统哪个好?
  15. Pr删除视频中的某一帧
  16. 《胡雪岩·红顶商人》—— 读后总结
  17. ftp服务器怎样批量删除文件,ftp地址不能从快速访问中删除,其他的文件夹可以...
  18. 意语口语学习:意大利语的发音
  19. Vulnhub靶场篇:SkyDogConCTF2016
  20. LuoGu_2947 [USACO09MAR] 向右看齐 Look Up

热门文章

  1. Java NIO学习篇之通道Channel详解
  2. 3-3Tensor和机器学习的关系
  3. 图像检索从入门到进阶
  4. python程序设计考哪些_Python程序设计试题库
  5. 网络发展之网络电话应用
  6. 兰顿蚂蚁 java源代码_兰顿蚂蚁 (Java代码)41行代码
  7. LGBM模型取消打印日志(关闭日志)
  8. pcap文件提取后的dataframe,切分前向流与后向流
  9. jenkins运行日志时间与linux,查看日志
  10. 关于机器学习的最佳科普文章:《从机器学习谈起》