CN112969074B - 一种应用于静态霍夫曼表的全并行频数排序生成方法 - Google Patents
一种应用于静态霍夫曼表的全并行频数排序生成方法 Download PDFInfo
- Publication number
- CN112969074B CN112969074B CN202110133517.8A CN202110133517A CN112969074B CN 112969074 B CN112969074 B CN 112969074B CN 202110133517 A CN202110133517 A CN 202110133517A CN 112969074 B CN112969074 B CN 112969074B
- Authority
- CN
- China
- Prior art keywords
- frequency
- symbol
- freq
- sum
- symbols
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- 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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种应用于静态霍夫曼表的全并行频数排序生成方法,具体为:对257个符号的频数进行排序,排序基于桶排序算法进行设计分为3级:频数大小比较:把所有257个符号的频数与除它以外剩下256个符号的频数进行比较;比较结果相加:将每个符号对应的寄存器中比较的结果进过3级相加得到对应符号的频数的位置的大小;输出排序结果:将每个符号对应的频数存入新的寄存器组输出得到排序结果。本发明能够在三个周期之内完成对频数的排序有效地减小霍夫曼表生成的时间。
Description
技术领域
本发明属于微电子技术领域,涉及数字图像编码芯片设计领域,尤其是一种应用于静态霍夫曼表的全并行频数排序生成方法。
背景技术
霍夫曼编码是可变长编码的一种,由霍夫曼于1952年提出,因其具有高压缩率的特点而广泛应用于数据压缩、音频压缩和图像压缩等领域。霍夫曼表是霍夫曼编码的重要组成部分,霍夫曼表能准确的反映数据的压缩情况,一张精确的霍夫曼表能够在一定程度上对提高压缩霍夫曼编码起到重要作用。
静态霍夫曼表的生成通常分为两个过程,首先对待编码字符进行一遍与扫描,然后进行对编码的分配过程,这两个过程为编码预扫描过程和编码分配过程。在编码预扫描阶段,首先通过对待编码字符进行扫描来进行对码字表的构建,然后在编码分配阶段,按照预扫描过程中得到的码字表对码字进行编码的分配。这样的编码方式对所有数据都进行了扫描与分配,得到精度较高的霍夫曼表,但是这样的编码方式需要对数据本身进行2次扫描,对时间消耗比较大。所以静态霍夫曼表的建立,有编码速度慢、时间周期长和消耗大量硬件资源的缺点。
发明内容
为解决上述问题,本发明提供一种应用于静态霍夫曼表的全并行频数排序生成方法。
本发明的一种应用于静态霍夫曼表的全并行频数排序生成方法,对257(0~256)个符号的频数进行排序;排序基于桶排序算法进行设计分为3级,分别是:频数大小比较、比较结果相加和输出排序结果。具体包括以下步骤:
步骤1:把所有257个符号的频数与除它以外剩下256个符号的频数进行比较。
其中,符号0的频数FREQ_00就与符号1的频数FREQ_01、符号2的频数FREQ_02、…、符号256的频数FREQ_256相比,得到比较结果存入freq0寄存器中,分别为:freq0[0]表示符号0的频数FREQ_00和符号1的频数FREQ_01比较大小的结果,freq0[1]表示符号0的频数和符号2的频数比较大小的结果,…,freq0[255]表示符号0的频数和符号256的频数比较大小的结果。
同理,符号1的频数FREQ_01与其他256个符号的频数进行比较,相比得到比较结果存入freq1寄存器中,…,符号256的频数FREQ_256与其他256个符号的频数进行比较,相比得到比较结果存入freq256寄存器中。
这样得到257个比较大小的结果freq0、freq1、…、freq256;总共需要65792个比较器实现一个周期完成所有257个符号的频数与除它以外剩下256个符号的频数进行比较。
步骤2:将每个符号对应的寄存器中比较的结果经过3级相加得到对应符号的频数的位置的大小。
其中,符号0对应的freq0寄存器中比较的结果freq0[0]、freq0[1]、…、freq0[255]每8个分成一组进行相加得到中间结果sum0[0]、sum0[1]、…、sum0[31],再把得到的8个比较结果之和32个sum0每8个一组进行再次求和得到4组64个比较大小之和的结果sum_mid0[0]、sum_mid0[1]、sum_mid0[2]、sum_mid0[3],把这4个结果进行相加就得到了最终的符号0的位置的大小sum_end0。
同理,得到257个符号对应的频数的位置的大小sum_end0、sum_end1、…、sun_end256;
每个符号比较结果的大小计算都有256个加法器进行相加,得到257个符号对应的频数排序位置的大小sum_end0、sum_end1、…、sun_end256。
步骤3:将每个符号对应的频数存入新的寄存器组输出得到排序结果。
把符号0的频数FREQ_00存入FREQ_NEW_SORT[sum_end0]中,把符号1的频数FREQ_01存入FREQ_NEW_SORT[sum_end1],…,把符号256的频数FREQ_256存入FREQ_NEW_SORT[sum_end256],再把FREQ_NEW_SORT寄存器组输出就得到排序结果,完成排序。
本发明的有益及技术效果为:
本发明能够在三个周期之内完成对频数的排序有效地减小霍夫曼表生成的时间。
附图说明
图1为符号0的频数排序示意图。
图2为本发明频数排序电路结构设计。
具体实施方式
下面结合附图和具体实施方法对本发明做进一步详细说明。
本发明的一种应用于静态霍夫曼表的全并行频数排序生成方法,使用如图2所示的电路结构,对257(0~256)个符号的频数进行排序;排序基于桶排序算法进行设计分为3级,分别是:频数大小比较、比较结果相加和输出排序结果。
用符号0的频数作为排序示例如图1所示,第一级输入的是257个符号的频数,FREQ_00、FREQ_01、FREQ_02、…、FREQ_255表示每个符号对应的频数。FREQ_00对应的是符号0的频数,FREQ_01对应是符号1的频数,FREQ_02对应的是符号2的频数,…,FREQ_256对应的是256的频数。freq0[0]表示符号0的频数FREQ_00和符号1的频数FREQ_01比较大小的结果,freq0[1]表示符号0的频数和符号2的频数比较大小的结果,…,freq0[255]表示符号0的频数和符号256的频数比较大小的结果。第二级输入为第一级输入的256个比较结果即freq0[0]、freq0[1]、freq0[2]、…、freq0[255],把它们每8个分成一组进行相加得到中间结果sum0[0]、sum0[1]、sum0[2]、…、sum0[31],再把得到的8个比较结果之和32个sum0每8个一组进行再次求和得到4组64个比较大小之和的结果sum_mid0[0]、sum_mid0[1]、sum_mid0[2]、sum_mid0[3],把这4个结果进行相加就得到了最终的符号0的大小位置sum_end0。第三级的输入为第二级的输出,即符号0与其他剩下的256个符号频数大小相比的结果sum_end0,将符号FREQ_00存入FEEQ_NEW_SORT[sum_end0],再把FREQ_NEW_SORT寄存器组输出就得到排序结果。
同理,输入257个符号对应的频数在3个周期之内就能得到排序的结果。
Claims (1)
1.一种应用于静态霍夫曼表的全并行频数排序生成方法,其特征在于,对257个符号的频数进行排序,即对符号0~256的频数进行排序;排序基于桶排序算法进行设计分为3级,分别是:频数大小比较、比较结果相加和输出排序结果;具体包括以下步骤:
步骤1:把所有257个符号的频数与除它以外剩下256个符号的频数进行比较:
其中,符号0的频数FREQ_00就与符号1的频数FREQ_01、符号2的频数FREQ_02、…、符号256的频数FREQ_256相比,得到比较结果存入freq0寄存器中,分别为:freq0[0]表示符号0的频数FREQ_00和符号1的频数FREQ_01比较大小的结果,freq0[1]表示符号0的频数和符号2的频数比较大小的结果,…,freq0[255]表示符号0的频数和符号256的频数比较大小的结果;
同理,符号1的频数与其他256个符号的频数进行比较,相比得到比较结果存入freq1寄存器中,…,符号256的频数FREQ_256与其他256个符号的频数进行比较,相比得到比较结果存入freq256寄存器中;
这样得到257个比较大小的结果freq0、freq1、…、freq256;总共需要65792个比较器实现一个周期完成所有257个符号的频数与除它以外剩下256个符号的频数进行比较;
步骤2:将每个符号对应的寄存器中比较的结果经过3级相加得到对应符号的频数的位置的大小:
其中,符号0对应的freq0寄存器中比较的结果freq0[0]、freq0[1]、…、freq0[255]每8个分成一组进行相加得到中间结果sum0[0]、sum0[1]、…、sum0[31],再把得到的8个比较结果之和32个sum0每8个一组进行再次求和得到4组64个比较大小之和的结果sum_mid0[0]、sum_mid0[1]、sum_mid0[2]、sum_mid0[3],把这4个结果进行相加就得到了最终的符号0的位置的大小sum_end0;
同理,得到257个符号对应的频数的位置的大小sum_end0、sum_end1、…、sun_end256;
每个符号比较结果的大小计算都有256个加法器进行相加,得到257个符号对应的频数排序位置的大小sum_end0、sum_end1、…、sun_end256;
步骤3:将每个符号对应的频数存入新的寄存器组输出得到排序结果:
把符号0的频数FREQ_00存入FREQ_NEW_SORT[sum_end0]中,把符号1的频数FREQ_01存入FREQ_NEW_SORT[sum_end1],…,把符号256的频数FREQ_256存入FREQ_NEW_SORT[sum_end256],再把FREQ_NEW_SORT寄存器组输出就得到排序结果,完成排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110133517.8A CN112969074B (zh) | 2021-02-01 | 2021-02-01 | 一种应用于静态霍夫曼表的全并行频数排序生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110133517.8A CN112969074B (zh) | 2021-02-01 | 2021-02-01 | 一种应用于静态霍夫曼表的全并行频数排序生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112969074A CN112969074A (zh) | 2021-06-15 |
CN112969074B true CN112969074B (zh) | 2021-11-16 |
Family
ID=76272563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110133517.8A Active CN112969074B (zh) | 2021-02-01 | 2021-02-01 | 一种应用于静态霍夫曼表的全并行频数排序生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112969074B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094401A (zh) * | 2006-06-23 | 2007-12-26 | 深圳安凯微电子技术有限公司 | 一种图像压缩/解压缩方法和系统 |
CN107294539A (zh) * | 2017-05-23 | 2017-10-24 | 浙江大学 | 一种准动态霍夫曼硬件编码器及编码方法 |
CN107483059A (zh) * | 2017-07-31 | 2017-12-15 | 广东工业大学 | 一种基于动态霍夫曼树的多路数据编解码方法及装置 |
CN107565974A (zh) * | 2017-08-14 | 2018-01-09 | 同济大学 | 一种静态哈夫曼并行全编码实现方法 |
CN110072114A (zh) * | 2019-04-16 | 2019-07-30 | 西南交通大学 | 用于静态霍夫曼表生成的全并行频数生成电路结构与方法 |
CN111787335A (zh) * | 2020-07-08 | 2020-10-16 | 绍兴聚量数据技术有限公司 | 基于ambtc压缩技术和霍夫曼编码的可逆信息隐藏方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3720132A1 (en) * | 2013-10-14 | 2020-10-07 | Microsoft Technology Licensing LLC | Features of color index map mode for video and image coding and decoding |
-
2021
- 2021-02-01 CN CN202110133517.8A patent/CN112969074B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094401A (zh) * | 2006-06-23 | 2007-12-26 | 深圳安凯微电子技术有限公司 | 一种图像压缩/解压缩方法和系统 |
CN107294539A (zh) * | 2017-05-23 | 2017-10-24 | 浙江大学 | 一种准动态霍夫曼硬件编码器及编码方法 |
CN107483059A (zh) * | 2017-07-31 | 2017-12-15 | 广东工业大学 | 一种基于动态霍夫曼树的多路数据编解码方法及装置 |
CN107565974A (zh) * | 2017-08-14 | 2018-01-09 | 同济大学 | 一种静态哈夫曼并行全编码实现方法 |
CN110072114A (zh) * | 2019-04-16 | 2019-07-30 | 西南交通大学 | 用于静态霍夫曼表生成的全并行频数生成电路结构与方法 |
CN111787335A (zh) * | 2020-07-08 | 2020-10-16 | 绍兴聚量数据技术有限公司 | 基于ambtc压缩技术和霍夫曼编码的可逆信息隐藏方法 |
Non-Patent Citations (1)
Title |
---|
一种分组并行的范式霍夫曼编码VLSI结构;叶帅 等;《微电子学》;20200430;第50卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112969074A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Said | Comparative Analysis of Arithmetic Coding Computational Complexity. | |
Nguyen et al. | Number-splitting with shift-and-add decomposition for power and hardware optimization in linear DSP synthesis | |
CN107294539B (zh) | 一种准动态霍夫曼硬件编码器及编码方法 | |
CN108628898B (zh) | 数据入库的方法、装置和设备 | |
CN113572479A (zh) | 一种有限状态熵编码表的生成方法及系统 | |
Chen et al. | Hybrid stochastic-binary computing for low-latency and high-precision inference of CNNs | |
CN112969074B (zh) | 一种应用于静态霍夫曼表的全并行频数排序生成方法 | |
Lyu et al. | Ultralow-latency VLSI architecture based on a linear approximation method for computing Nth roots of floating-point numbers | |
Lin et al. | Accelerating stochastic computing using deterministic halton sequences | |
CN107565974A (zh) | 一种静态哈夫曼并行全编码实现方法 | |
CN110072114A (zh) | 用于静态霍夫曼表生成的全并行频数生成电路结构与方法 | |
JPH0556070B2 (zh) | ||
CN110097613A (zh) | 一种基于概率计算的b样条曲线生成方法和系统 | |
CN112332854A (zh) | 霍夫曼编码的硬件实现方法、装置及存储介质 | |
Yu et al. | Approximate divider design based on counting-based stochastic computing division | |
CN106452451A (zh) | 数据处理方法及装置 | |
Ping-hua et al. | High-speed parallel 32× 32-b multiplier using a radix-16 Booth encoder | |
Nuray | Lacunary statistical harmonic summability | |
Ma et al. | A 2 n scaling scheme for signed RNS integers and its VLSI implementation | |
Bhattacharyya | Complexity analysis of a lossless data compression algorithm using Fibonacci sequence | |
US20130222159A1 (en) | Entropy method of binary-ternary lossless data coding | |
KR100852220B1 (ko) | 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법 | |
JP2003174365A (ja) | 復号化装置及びその方法 | |
JP2019047450A (ja) | 圧縮処理装置、伸長処理装置、圧縮処理用プログラム、伸長処理用プログラム | |
Pan et al. | Non-redundant VQ channel coding using tabu search strategy |
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 |