场景:数据(fpga images- .bin文件)在主机上压缩,以62字节的数据包发送到fpga(嵌入端)并在那里解压缩。我的目标是最小化嵌入端的内存使用和CPU成本。
问题 - 使用大块大小的LZSS数据压缩技术:在嵌入端 - 我假设块大小是压缩前的一块数据。如果我们选择一个2048块大小,然后压缩到1000字节......我们是否需要在嵌入端同时拥有所有1000个字节才能解压缩?或者我们可以接受1000个字节并在运行时解压缩它,因为我们一次流式传输62个字节?
答案 0 :(得分:0)
要查找匹配项,编码器必须跟踪一些数量 最新数据,例如最后2 kB,4 kB或32 kB。结构 保存这些数据的人称为滑动窗口,这就是原因 LZ77有时被称为滑动窗口压缩。编码器需要 保持这些数据寻找匹配,解码器需要保持 此数据用于解释编码器所指的匹配项。更大 滑动窗口是编码器可以搜索的较长的后面 创建参考。
因此,您需要在压缩期间适当地配置滑动窗口的大小为< = 62字节。否则,您需要保留较旧的压缩包,以防它们被引用,这将使实现变得复杂。
在我看来,一次压缩62个字节更容易。这将导致压缩效率降低,但实施速度更快。