CN110995274B - 一种解压缩方法及装置 - Google Patents
一种解压缩方法及装置 Download PDFInfo
- Publication number
- CN110995274B CN110995274B CN201911126193.4A CN201911126193A CN110995274B CN 110995274 B CN110995274 B CN 110995274B CN 201911126193 A CN201911126193 A CN 201911126193A CN 110995274 B CN110995274 B CN 110995274B
- Authority
- CN
- China
- Prior art keywords
- data
- sending
- unit
- value
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000006837 decompression Effects 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000007781 pre-processing Methods 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims description 157
- 238000012546 transfer Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Abstract
本发明涉及解压缩技术领域,具体涉及一种解压缩方法和装置。为了解决现有解压缩电路硬件资源开销大的问题,本发明提出一种解压缩方法,所述方法包括获取预先存储的待解压缩数据,所述待解压缩数据预先存储在预处理缓冲单元中;从所述待解压缩数据中获取前缀编码,对前缀编码进行译码得到第一数据和第二数据,所述第一数据控制解压缩后数据的发送模式,所述第二数据用于控制解压缩后数据的数据发送量;根据所述第一数据和第二数据控制解压缩后数据的发送过程。利用本发明的解压缩方法和装置能够有效改善解压缩电路硬件资源开销大的问题。
Description
技术领域
本发明涉及解压缩技术领域,具体涉及一种解压缩方法及装置。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA是由其对应的配置码流进行配置的,而FPGA内部资源越多,其所需要的配置码流信息也就越多,相应地,存储配置码流信息所需的外部存储空间也就越大。通过压缩算法对FPGA配置码流进行压缩,从而达到减少FPGA配置码流所占用的存储空间的目的。
将FPGA配置码流压缩后,需要相应的解压缩电路获取压缩前的原始数据。以LZ77为代表的字典型压缩算法,为了保证一定的解压速度,需要维持一个较大容量的字典,相应地,其对应的解压缩电路所需要的硬件资源开销也就更大。
因此,如何提出一种使用较少硬件资源但保证较快解压缩速度的解压缩装置是本领域技术人员需要解决的技术问题。
发明内容
为了解决现有技术中的上述问题,即为了解决现有解压缩电路硬件资源开销大的问题,本发明的第一方面提供了一种解压缩方法,获取预先存储的待解压缩数据,所述待解压缩数据预先存储在预处理缓冲单元中;从所述待解压缩数据中获取前缀编码,对所述前缀编码进行译码得到第一数据和第二数据,所述第一数据控制解压缩后数据的发送模式,所述第二数据用于控制解压缩后数据的数据发送量;根据所述第一数据和第二数据控制解压缩后数据的发送过程。
优选地,所述前缀编码包括第一前缀编码、第二前缀编码以及第三前缀编码;所述第一数据包括第一发送模式值、第二发送模式值和第三发送模式值;所述第二数据包括第一发送数量值、第二发送数量值和第三发送数量值;当所述前缀编码为第一前缀编码时,得到第一发送模式值和第一发送数量值;当所述前缀编码为第二前缀编码时,得到第二发送模式值和第二发送数量值;当所述前缀编码为第三前缀编码时,得到第三发送模式值和第三发送数量值。
优选地,一个前缀编码对应一轮数据发送,所述根据所述第一数据和第二数据控制解压缩后数据的发送过程的方法包括:根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程包括:若所述第一数据为第一发送模式值,所述第二数据为第一发送数量值,则发送第一发送数量值减1个bit的0后再发送1个1bit的1;若所述第一数据为第二发送模式值,所述第二数据为第二发送数量值,则发送第二发送数量值个1bit的0;若所述第一数据为第三发送模式值,所述第二数据为第三发送数量值,则发送第三发送数量值个1bit的0。
优选地,根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程的方法包括:获取发送计数值,所述发送计数值用于指示发送数据的次数;根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程的方法包括:比较所述发送计数值与所述第二数据,若所述发送计数值等于所述第二数据减1,则发送所述一轮数据发送过程的最后1bit数据,并将所述发送计数值清零;若所述发送计数值不等于所述第二数据减1,则发送1bit0,并将所述发送计数值加1。
本发明的第二方面提供了一种解压缩装置,所述解压缩装置包括预处理缓冲单元、解压缩单元、发送控制单元以及发送单元;所述预处理缓冲单元、解压缩单元、发送控制单元以及发送单元顺次连接;所述预处理缓冲单元用于将预先存储的待解压缩数据发送至所述解压缩单元;所述解压缩单元用于从所述待解压缩数据中获取前缀编码,对所述前缀编码进行译码得到第一数据和第二数据,并将所述第一数据和第二数据发送至所述发送控制单元;所述发送控制单元用于根据所述第一数据和所述第二数据控制所述发送单元的数据发送过程;其中,所述预处理缓冲单元用于存储待解压缩数据;所述解压缩单元用于对所述预处理缓冲单元中的数据进行译码;所述发送控制单元用于存储所述解压缩单元发送的数据并且用于控制所述发送单元数据发送过程;所述发送单元用于发送解压缩得到的数据;所述第一数据用于控制所述发送单元的发送模式;所述第二数据用于控制所述发送单元的数据发送量。
优选地,所述前缀编码包括第一前缀编码、第二前缀编码以及第三前缀编码;所述第一数据包括第一发送模式值、第二发送模式值和第三发送模式值;所述第二数据包括第一发送数量值、第二发送数量值和第三发送数量值;当所述前缀编码为第一前缀编码时,得到第一发送模式值和第一发送数量值;当所述前缀编码为第二前缀编码时,得到第二发送模式值和第二发送数量值;当所述前缀编码为第三前缀编码时,得到第三发送模式值和第三发送数量值。
优选地,一个前缀编码对应一轮数据发送,所述发送单元的数据发送过程包括:根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程包括:若所述第一数据为第一发送模式值,所述第二数据为第一发送数量值,则所述发送单元发送第一发送数量值减1个bit的0后再发送1个1bit的1;若所述第一数据为第二发送模式值,所述第二数据为第二发送数量值,则所述发送单元发送第二发送数量值个1bit的0;若所述第一数据为第三发送模式值,所述第二数据为第三发送数量值,则所述发送单元发送第三发送数量值个1bit的0。
优选地,所述发送单元还用于:获取发送计数值,所述发送计数值用于指示发送数据的次数;所述发送单元根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程的方法包括:比较所述发送计数值与所述第二数据,若所述发送计数值等于所述第二数据减1,则发送所述一轮数据发送过程的最后1bit数据,并将所述发送计数值清零;若所述发送计数值不等于所述第二数据减1,则发送1bit0,并将所述发送计数值加1。
优选地,所述装置还包括输入控制逻辑单元、读数据缓冲单元以及传输控制逻辑单元;所述输入控制逻辑单元、读数据缓冲单元以及传输控制逻辑单元顺次连接;所述传输控制逻辑单元与所述预处理缓冲单元连接;所述输入控制逻辑单元从所述传输控制逻辑单元中读取更新数据,并根据所述更新数据判断所述读数据缓冲单元中的数据是否满足所述预处理缓冲单元数据更新的要求,若满足,则不进行数据传输;
若不满足,则将指定位宽数据传送到所述读数据缓冲单元以及所述传输控制逻辑单元;其中,所述更新数据用于指示所述预处理缓冲单元是否需要进行数据更新。
本发明提供的解压缩方法和装置只需要采用较为简单的解压缩逻辑,因此硬件结构简单,相应地硬件资源开销也较小。此外,本发明提供的解压缩方法和装置采用3级流水线结构,能够获得较高的工作频率,进行获得较好的解压缩效率。
附图说明
图1是本发明所对应的压缩算法的编码方法示意图;
图2是本发明对FPGA配码的处理过程;
图3是本发明提供的解压缩装置的电路结构示意图;
图4是本发明提供的通过解压缩装置进行解压缩的过程示意图。
具体实施方式
为使本发明的实施例、技术方案和优点更加明显,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
参照图1,图1是本发明所对应的压缩算法的编码方法示意图。
设定压缩算法所用的参数分别为x,k,i,p,q,其中x=2N,N为正整数且为常数,k为正整数且为常数,(i,p,q)∈{(0,10,11),(0,11,10),(1,00,01),(1,01,00),(10,0,11),(11,0,10),(00,1,01),(01,1,00),(10,11,0),(11,10,0),(00,01,1),(01,00,1)}。采用如下三种形式对待压缩文件中的bit串进行编码:
如图1所示,图1示例性地示出了编码过程:如101所示,当待压缩的bit串有如下形式:0……01,其中1之前全部为0,且0的个数a小于x时,将其编码为a,并用长度为(log2x+1)bit或(log2x+2)bit的二进制数来表示,且最高1(或2)位设置为i,即如104所示;如102所示,当输入的bit串为连续的x bit的0时,将其编码为如105所示的p;如103所示,当输入的bit串为连续的(k*x)bit的0时,将其编码为如106所示的q。
该压缩算法主要针对具有“稀疏特性”即值为0的bit占很大比重的bit流文件进行压缩,尤其对FPGA的配置码流(以下简称为“配码”)有良好的压缩效果。
如图2所示,图2示例性地示出了对FPGA配码的处理过程。首先在PC上将原始配码经过指定的压缩算法转换成压缩过的配码;然后将压缩过的配码保存到外部存储器(如PROM)中,然后从PROM中取出送入本发明提出的解压电路进行解压;由以上解压电路得到的解压后的配码,即原始配码,发送到FPGA,对其进行配置。
为了能够更清楚地说明本申请对待解压缩数据解压以及控制数据发送的过程,结合图3和图4对本申请解压缩方法和解压缩装置进行说明。
如图3所示,图3示例性地示出了本发明提供的解压缩装置的电路结构示意图。
输入控制逻辑单元301接收发送控制单元307的使能信号,同时从第一传输控制逻辑单元303读取数据,判断读数据缓冲区单元302中剩余的数据是否满足预处理缓冲单元304的更新需要,如果不满足,当使能信号到来时,将指定位宽的数据传送到读数据缓冲单元302,同时通过前递通路312将指定位宽的数据传送到第一传输控制逻辑单元303的输入端;如果满足,则不传输数据。
读数据缓冲单元302暂存一定量的输入数据。第一传输控制逻辑单元303接收发送控制单元(307)的使能信号,当使能信号来到时,将指定位宽的数据由读数据缓冲单元302传送到预处理缓冲单元304中。同时,当读数据缓冲单元302中剩余的数据不满足预处理缓冲单元304的更新需要时,输入控制逻辑单元301接收到来自前递通路312的数据,将此数据也传送到预处理缓冲单元304中。
预处理缓冲单元304保存待译码的数据,数据量为一次译码所需的最大数据量。解压缩单元305对预处理缓冲单元304中的数据进行译码得到前缀编码,基于前缀编码得到第一数据和第二数据。
其中,第一数据为发送模式值,第一数据用于控制发送单元的发送模式,第二数据为发送数量值,第二数据用于控制发送单元的数据发送量。为了说明的方便,本案以第一数据为发送模式值,第二数据为发送数量值为例进行说明。
第二传输控制逻辑单元306接收发送控制单元307的使能信号,当使能信号来到时将解压缩单元305译码得到的发送模式值和发送数量值传递给发送控制单元307。
发送控制单元307将从解压缩单元305接收到的发送模式值和发送数量值分别保存到其内部的发送模式寄存器310和发送数量寄存器309,并根据这两个值结合发送单元308反馈的发送计数值来控制发送单元308的数据发送过程。发送单元308以bit为单位串行发送解压缩得到的数据。
在解压缩过程中,将对每一组压缩编码解压后得到的一组原始数据的发送过程作为一轮发送。在数据的发送过程中,发送单元308利用其内部的发送计数器311记录该轮已发送bit数,并将该计数值反馈给发送控制单元307。发送控制单元307将发送计数值与其内部发送数量寄存器309中的发送数量值进行比较,当收到的发送计数值等于发送数量值减1,即下一个时钟周期将发送本轮发送的最后1bit数据时,发送控制单元307向输入控制逻辑单元301、第一传输控制逻辑单元303以及第二传输控制逻辑单元306发送使能信号,并且向发送单元308发出发送计数器清零信号。
整个电路在下一个时钟周期发送本轮发送的最后1bit数据的同时,完成对读数据缓冲单元303、预处理缓冲单元304、发送控制单元307中的发送模式寄存器310和发送数量寄存器309的更新以及发送计数器311的清零。本轮发送结束后,发送控制单元307中存储的发送模式值和发送数量值均已更新,并且发送单元308内的发送计数器311也已清零,所以在本轮发送结束后的第一个周期便可以发起下一轮发送过程。因此,实现了连续不间断的数据发送。
如图4所示,图4示例性地示出了通过解压缩装置进行解压缩的过程示意图。
解压缩单元305对预处理缓冲单元304中的数据进行译码。具体的译码方法与如图1所示的编码方法相对应。其中包含的五个参数x,k,i,p,q分别满足以下要求:x=2N(N为正整数且为常数),k为正整数且为常数,(i,p,q)∈{(0,10,11),(0,11,10),(1,00,01),(1,01,00),(10,0,11),(11,0,10),(00,1,01),(01,1,00),(10,11,0),(11,10,0),(00,01,1),(01,00,1)}。
解压缩单元305的译码过程如下:
(1)当预处理缓冲单元304中的数据的前缀为i时(402),即第一前缀编码,根据前缀i之后长度为log2x bit的数据值a,得到发送模式值和发送数量值为分别为00、a+1,即第一发送模式值和第一发送数量值;
(2)当预处理缓冲单元304中的数据的前缀为p时(403),即第二前缀编码,得到发送模式值和发送数量值分别为01、x,即第二发送模式值和第二发送数量值。
(3)当预处理缓冲单元304中的数据的前缀为q时(404),即第三前缀编码,得到发送模式值和发送数量值分别为10、k*x,即第三发送模式值和第三发送数量值。
在解压缩单元305根据预处理缓冲单元304中的数据得到发送模式值和发送数量值之后,将这两个值传递给发送控制单元307。发送控制单元307根据从解压缩单元305接收到以上两个值以及发送单元308的发送计数器412的反馈值对发送单元308的数据发送过程进行控制。
发送控制单元(406)控制发送单元(410)进行数据发送的具体过程如下:
(1)当发送控制单元(406)中存储的发送模式值为00(407)时,即第一数据为第一发送模式值,第二数据为第二发送数量值时,发送单元每个时钟周期发送1bit的数据,且每发送1bit的数据发送计数器c的值加1,并且在每次发送之前检查但前发送计数器c中的值是否等于发送数量值减1即a,如果否,则本周期发送1bit的0,如果是,则本周期发送1bit的1且结束本轮发送。最终本轮发送依次发送的数据即为连续的a bit的0然后1bit的1(413)与图1中压缩前的原始数据(101)相同。
(2)当发送控制单元(406)中存储的发送模式值为01(408)时,即第一数据为第二发送模式值,第二数据为第二发送数量值时,发送单元每个时钟周期发送1bit的0,且每发送1bit的数据发送计数器c的值加1,并且在每次发送之前检查但前发送计数器c中的值是否等于发送数量值减1即x-1,如果是则继续发送过程,如果否,则本周期发送完成之后结束本轮发送。最终本轮发送依次发送的数据即为连续的x bit的0与图1中压缩前的原始数据相同。
(3)当发送控制单元307中存储的发送模式值为10时,即第一数据为第三发送模式值,第二数据为第三发送数量值时,发送单元每个时钟周期发送1bit的0,且每发送1bit的数据发送计数器c的值加1,并且在每次发送之前检查但前发送计数器c中的值是否等于发送数量值减1即k*x-1,如果是则继续发送过程,如果否,则本周期发送完成之后结束本轮发送。最终本轮发送依次发送的数据即为连续的k*x bit的0与图1中压缩前的原始数据相同。
本发明提供的解压缩装置只需要采用较为简单的解压缩逻辑,因此硬件结构简单,相应地硬件资源开销也较小。此外,本发明提供的解压缩装置采用3级流水线结构,能够获得较高的工作频率,进行获得较好的解压缩效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种解压缩方法,其特征在于,所述方法包括:
获取预先存储的待解压缩数据,所述待解压缩数据预先存储在预处理缓冲单元中;
从所述待解压缩数据中获取前缀编码,对所述前缀编码进行译码得到第一数据和第二数据,所述第一数据控制解压缩后数据的发送模式,所述第二数据用于控制解压缩后数据的数据发送量;
根据所述第一数据和第二数据控制解压缩后数据的发送过程;
一个前缀编码对应一轮数据发送;
根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程包括:
若所述第一数据为第一发送模式值,所述第二数据为第一发送数量值,则发送第一发送数量值减1个bit的0后再发送1个1bit的1;
若所述第一数据为第二发送模式值,所述第二数据为第二发送数量值,则发送第二发送数量值个1bit的0;
若所述第一数据为第三发送模式值,所述第二数据为第三发送数量值,则发送第三发送数量值个1bit的0。
2.根据权利要求1所述的解压缩方法,其特征在于,
所述前缀编码包括第一前缀编码、第二前缀编码以及第三前缀编码;
所述第一数据包括第一发送模式值、第二发送模式值和第三发送模式值;所述第二数据包括第一发送数量值、第二发送数量值和第三发送数量值;
当所述前缀编码为第一前缀编码时,得到第一发送模式值和第一发送数量值;
当所述前缀编码为第二前缀编码时,得到第二发送模式值和第二发送数量值;
当所述前缀编码为第三前缀编码时,得到第三发送模式值和第三发送数量值。
3.根据权利要求1或2任一项所述的解压缩方法,其特征在于,根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程的方法包括:
获取发送计数值,所述发送计数值用于指示发送数据的次数;
根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程的方法包括:
比较所述发送计数值与所述第二数据,
若所述发送计数值等于所述第二数据减1,则发送所述一轮数据发送过程的最后1bit数据,并将所述发送计数值清零;
若所述发送计数值不等于所述第二数据减1,则发送1bit0,并将所述发送计数值加1。
4.一种解压缩装置,其特征在于,所述解压缩装置包括预处理缓冲单元、解压缩单元、发送控制单元以及发送单元;所述预处理缓冲单元、解压缩单元、发送控制单元以及发送单元顺次连接;
所述预处理缓冲单元用于将预先存储的待解压缩数据发送至所述解压缩单元;
所述解压缩单元用于从所述待解压缩数据中获取前缀编码,对所述前缀编码进行译码得到第一数据和第二数据,并将所述第一数据和第二数据发送至所述发送控制单元;
所述发送控制单元用于根据所述第一数据和所述第二数据控制所述发送单元的数据发送过程;
一个前缀编码对应一轮数据发送;
根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程,包括:
若所述第一数据为第一发送模式值,所述第二数据为第一发送数量值,则所述发送单元发送第一发送数量值减1个bit的0后再发送1个1bit的1;
若所述第一数据为第二发送模式值,所述第二数据为第二发送数量值,则所述发送单元发送第二发送数量值个1bit的0;
若所述第一数据为第三发送模式值,所述第二数据为第三发送数量值,则所述发送单元发送第三发送数量值个1bit的0;
其中,
所述预处理缓冲单元用于存储待解压缩数据;
所述解压缩单元用于对所述预处理缓冲单元中的数据进行译码;
所述发送控制单元用于存储所述解压缩单元发送的数据并且用于控制所述发送单元数据发送过程;
所述发送单元用于发送解压缩得到的数据;
所述第一数据用于控制所述发送单元的发送模式;
所述第二数据用于控制所述发送单元的数据发送量。
5.根据权利要求4所述的解压缩装置,其特征在于,
所述前缀编码包括第一前缀编码、第二前缀编码以及第三前缀编码;
所述第一数据包括第一发送模式值、第二发送模式值和第三发送模式值;所述第二数据包括第一发送数量值、第二发送数量值和第三发送数量值;
当所述前缀编码为第一前缀编码时,得到第一发送模式值和第一发送数量值;
当所述前缀编码为第二前缀编码时,得到第二发送模式值和第二发送数量值;
当所述前缀编码为第三前缀编码时,得到第三发送模式值和第三发送数量值。
6.根据权利要求4所述的解压缩装置,其特征在于,所述发送单元还用于:
获取发送计数值,所述发送计数值用于指示发送数据的次数;
所述发送单元根据所述第一数据和第二数据控制解压缩后数据进行一轮数据发送过程的方法包括:
比较所述发送计数值与所述第二数据,
若所述发送计数值等于所述第二数据减1,则发送所述一轮数据发送过程的最后1bit数据,并将所述发送计数值清零;
若所述发送计数值不等于所述第二数据减1,则发送1bit0,并将所述发送计数值加1。
7.根据权利要求4至6中任一项所述的解压缩装置,其特征在于,所述装置还包括输入控制逻辑单元、读数据缓冲单元以及传输控制逻辑单元;所述输入控制逻辑单元、读数据缓冲单元以及传输控制逻辑单元顺次连接;所述传输控制逻辑单元与所述预处理缓冲单元连接;
所述输入控制逻辑单元从所述传输控制逻辑单元中读取更新数据,并根据所述更新数据判断所述读数据缓冲单元中的数据是否满足所述预处理缓冲单元数据更新的要求,
若满足,则不进行数据传输;
若不满足,则将指定位宽数据传送到所述读数据缓冲单元以及所述传输控制逻辑单元;
其中,所述更新数据用于指示所述预处理缓冲单元是否需要进行数据更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911126193.4A CN110995274B (zh) | 2019-11-18 | 2019-11-18 | 一种解压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911126193.4A CN110995274B (zh) | 2019-11-18 | 2019-11-18 | 一种解压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110995274A CN110995274A (zh) | 2020-04-10 |
CN110995274B true CN110995274B (zh) | 2022-02-08 |
Family
ID=70084717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911126193.4A Active CN110995274B (zh) | 2019-11-18 | 2019-11-18 | 一种解压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110995274B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2840481A1 (en) * | 2011-06-28 | 2013-01-03 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
CN104104967A (zh) * | 2013-04-12 | 2014-10-15 | 索尼公司 | 图像处理设备及图像处理方法 |
CN109661780A (zh) * | 2016-09-08 | 2019-04-19 | 高通股份有限公司 | 实现对基于处理器的系统中的小数据块的高效无损压缩 |
-
2019
- 2019-11-18 CN CN201911126193.4A patent/CN110995274B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2840481A1 (en) * | 2011-06-28 | 2013-01-03 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
CN104104967A (zh) * | 2013-04-12 | 2014-10-15 | 索尼公司 | 图像处理设备及图像处理方法 |
CN109661780A (zh) * | 2016-09-08 | 2019-04-19 | 高通股份有限公司 | 实现对基于处理器的系统中的小数据块的高效无损压缩 |
Non-Patent Citations (1)
Title |
---|
综述:面向SoC-FPGA的开源处理器;余乐 等;《电子学报》;20180430;第992-1004页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110995274A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268380B2 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
CN106815875B (zh) | 信息位图的编码、解码方法及装置 | |
RU2630750C1 (ru) | Устройство и способ для кодирования и декодирования исходных данных | |
US10666289B1 (en) | Data compression using dictionary encoding | |
RU2595916C1 (ru) | Кодер, декодер и способ | |
US5594435A (en) | Permutation-based data compression | |
CN105052040A (zh) | 多流压缩与解压的方法与系统 | |
CN112399479B (zh) | 用于数据传输的方法、电子设备和存储介质 | |
CN1675842B (zh) | 算术编码的方法、设备以及相应解码方法 | |
WO2001063772A1 (en) | Method and apparatus for optimized lossless compression using a plurality of coders | |
CN112968706A (zh) | 数据压缩方法、fpga芯片及fpga在线升级方法 | |
US6748520B1 (en) | System and method for compressing and decompressing a binary code image | |
KR102068383B1 (ko) | 엔트로피 변형기 및 방법 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
CN110995274B (zh) | 一种解压缩方法及装置 | |
WO2014029081A1 (zh) | 压缩方法及设备 | |
CN112449191A (zh) | 压缩多个图像的方法、解压缩图像的方法和装置 | |
US7930435B2 (en) | Hub and spoke compression | |
GB2608030A (en) | Power-aware transmission of quantum control signals | |
CN1656688B (zh) | 在压缩之前处理数字数据 | |
CN110545435B (zh) | 一种基于概率模型的桌面像素编码方法、装置及存储介质 | |
CN112262578A (zh) | 点云属性编码方法和装置以及点云属性解码方法和装置 | |
US11469773B1 (en) | Deflate compression using sub-literals for reduced complexity Huffman coding | |
CN116318171B (zh) | Lz4解压缩硬件加速实现/压缩方法、装置、介质及芯片 | |
US7999705B2 (en) | Unicode-compatible base-N range coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |