CN110072114A - 用于静态霍夫曼表生成的全并行频数生成电路结构与方法 - Google Patents

用于静态霍夫曼表生成的全并行频数生成电路结构与方法 Download PDF

Info

Publication number
CN110072114A
CN110072114A CN201910302433.5A CN201910302433A CN110072114A CN 110072114 A CN110072114 A CN 110072114A CN 201910302433 A CN201910302433 A CN 201910302433A CN 110072114 A CN110072114 A CN 110072114A
Authority
CN
China
Prior art keywords
symbol
freq
submodule
value
frequency
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.)
Granted
Application number
CN201910302433.5A
Other languages
English (en)
Other versions
CN110072114B (zh
Inventor
邸志雄
叶帅
林思成
冯全源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest Jiaotong University
Original Assignee
Southwest Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN201910302433.5A priority Critical patent/CN110072114B/zh
Publication of CN110072114A publication Critical patent/CN110072114A/zh
Application granted granted Critical
Publication of CN110072114B publication Critical patent/CN110072114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

本发明公开一种用于静态霍夫曼表生成的全并行频数生成电路结构与方法,包括257个Cell子模块以及信号发生模块;每个Cell子模块存储有符号值SYMBOL和该符号值对应的频数值FREQ;各Cell子模块接收信号Input_symbol,当前子模块的输出信号Freq_out与Symbol_Out接入下一级子模块,分别作为下一级子模块的输入的控制信号Freq_Right和Symbol_Right;下一级子模块根据输入的控制信号决定自身存储的符号值SYMBOL和频数值FREQ是否发生变化,以实现更新的功能。本发明所提出的电路结构和方法能够有效地减小霍夫曼表生成的时间,提高图片编码效率。

Description

用于静态霍夫曼表生成的全并行频数生成电路结构与方法
技术领域
本发明涉及数字图像编码芯片设计技术领域,具体为一种用于静态霍夫曼表生成的全并行频数生成电路结构与方法。
背景技术
霍夫曼编码是可变长编码的一种,由Huffman于1952年提出,其基本的实现原理是先对图像数据扫描一遍,经过DCT、量化、Zigzag排序、DC/AC系数中间符号转换等操作,再统计出其中各种符号出现的概率,按概率的出现的频率对应每个字符生成不同长度的唯一码字,由此得到一张图像的霍夫曼码表。最后,用对应码字来替换经过中间符号转换后的字符。由于霍夫曼码表中出现频率大的字符对应码字长度短,频率小的字符对应的码字长度长,所以最后得到的码流相比原数据会显著减小,这样就可以达到压缩数据的目的。
针对固有霍夫曼表与被压缩数据关联性较小、压缩率较低的问题,现有基于静态霍夫曼编码方法采用了统计图片或者码块中所有符号实际频数的策略,进而精确地给出所有符号频数,最终提升了压缩率。但是,该方法需要在图片编码前对图片扫描一遍,增大了图片处理时间,降低了图片编码效率。
发明内容
针对上述问题,本发明的目的在于提供一种能够有效地减小霍夫曼表生成的时间,提高图片编码效率的用于静态霍夫曼表生成的全并行频数生成电路结构与方法。技术方案如下:
一种用于静态霍夫曼表生成的全并行频数生成电路结构,包括257个Cell子模块:Cell_0子模块、Cell_1子模块、…、Cell_256子模块,以及信号发生模块;每个Cell子模块存储有符号值SYMBOL和该符号值对应的频数值FREQ;输入字符值的范围为0-255,Cell_256子模块用于提供取反码点;各Cell子模块接收信号Input_symbol,当前子模块的输出信号Freq_out与Symbol_out接入下一级子模块,分别作为下一级子模块的输入的控制信号Freq_Right和Symbol_Right;下一级子模块根据输入的控制信号决定自身存储的符号值SYMBOL和频数值FREQ是否发生变化;被输入新的一个字符后,该子模块存储的对应的符号频数值FREQ发生改变,从而更新该子模块的控制信号Symbol_EN,Freq_New 和Symbol_Set;信号Symbol_EN通过所述信号发生模块更新信号Shift_EN的值来选定需要更新的子模块,选定完成后,通过信号Freq_New 和Symbol_Set来实现对各个模块的更新。
一种全并行频数生成方法,每个Cell子模块包含置位Freq_New、保持Freq_0和移位Freq_Right三种更新方式,更新方式的选择由输入的控制信号shift_EN、Min_EN、SORT;Freq_Right、Freq_New、Freq _0的大小关系,以及Symbol_Set、Symbol_0、Symbol_ Right的大小关系来选择;shift_EN控制子模块数据的更新;若shift_EN为1,表示该子模块需要更新,若为0,则该子模块的值保持不变;Min_EN为1表示该模块符号最小,则将其频数置零,符号置为左边子模块的符号;当SORT为1,shift_EN为1,Min_EN为0时,则根据Freq_Right、Freq_New、Freq_0的关系来判断。
进一步的,所述判断的过程如下:
步骤1:.若Freq_Right等于Freq_New,需要将符号值SYMBOL大的放在右边;即若Symbol_ Right大于等于Symbol_Set,则将该子模块符号和频数都置位为左边子模块的值;若Symbol_0大于Symbol_Set或者Freq _0不等于Freq_Right,则将该子模块符号和频数都置位;若都不满足,则符号和频数值都保持不变;若Freq_Right不等于Freq_New,则进入步骤2;
步骤2:若Freq_New等于Freq _0,则将符号值SYMBOL大的放在右边;即若Symbol_0大于Symbol_Set,则将该子模块符号和频数都置位,否则保持不变;若Freq_New不等于Freq _0,则进入步骤3;
步骤3:若Freq_New大于Freq_Right,则将该子模块的符号和频数都置为左边子模块的值;否则进入步骤4;
步骤4.若Freq_New大于Freq _0,则将该子模块的符号和频数置位,否则进入步骤5;
步骤5:若以上条件都不满足,则该子模块里的值保持不变。
更进一步的,还包括代表新统计的字符的输入信号Input_symbol,其与子模块中的寄存器Symbol_0作对比,若Input_symbol与Symbol_0相等,则使能信号Symbol_EN变为1。
更进一步的,还包括能够判断当前子模块的频数值FREQ是否为0的输出信号Z_EN,用于在主电路中寻找两个非零的且频数最小的符号,并在第二阶段中使用。
本发明的有益效果是:本发明所提出的电路结构和方法能够有效地减小霍夫曼表生成的时间,提高图片编码效率。
附图说明
图1为本发明256个Cell 模块电路结构图。
图2为本发明Cell子模块工作流程。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明。全并行频数生成电路结构共257(0~256)个Cell子模块,Cell子模块的作用:Cell子模块会根据输入的控制信号来决定自身存储的符号和频数是否发生变化,即主要实现更新的功能。每个子模块存储着符号值SYMBOL和该符号值对应的频数值FREQ。输入字符的范围为0-255,Cell_256模块的作用是为了提供取反码点,因此图中不再给出。SORT信号来自外部,是排序模块工作的使能信号。若SORT信号为1,表示需要进行排序,否则所有子模块的值保持不变。
输入的数据,输出都能对应更新,将信号Input_symbol接入所有的子模块中。当前Cell模块的输出信号Freq_out与Symbol_out接入下一级Cell的输入控制信号Symbol_Right和Freq_Right,如图1所示。
工作机制为:当输入新的一个字符后,其子模块存储的对应的符号频数会发生改变,从而更新子模块的控制信号Symbol_EN,Freq_New 和Symbol_Set。之后,信号Symbol_EN通过Signals_Generating 模块更新新信号Shift_EN的值来选定需要更新的Cell 模块,选定完成后,通过信号Freq_New 和Symbol_Set来实现对各个模块的更新。这样就实现了根据输入的数据对256个Cell模块进行更新的功能,使各个模块输出的符号是按频数大小排序的,控制信号的更新采用组合逻辑实现,节省时间周期,实时更新数据。
具体流程如图2所示:
对于一个Cell来说,控制信号决定该模块最终输出的FREQ和SYMBOL 信号。每个子模块内部都包含置位(Freq_New),保持(Freq_0)移位(Freq_Right)三种更新方式,更新方式的选择由输入的控制信号shift_EN、Min_EN、SORT;Freq_Right、Freq_New、Freq _0的大小关系;Symbol_Set、Symbol_0、Symbol_ Right的大小关系来选择。
shift_EN控制子模块数据的更新。若shift_EN为1,表示此子模块需要更新,若其为0,则该子模块的值保持不变;Min_EN为1的模块表示该模块符号最小,则将其频数置零,符号置为左边子模块的符号;
当SORT为1,shift_EN为1,Min_EN为0时,则根据Freq_Right、Freq_New、Freq _0的关系来判断:
1.若Freq_Right等于Freq_New,需要将SYMBOL值大的放在右边。即若Symbol_ Right大于等于Symbol_Set,则将该子模块符号和频数都置位为左边子模块的值,若Symbol_0大于Symbol_Set或者Freq _0不等于Freq_Right,则将该子模块符号和频数都置位。若都不满足,则符号和频数值都保持不变。若Freq_Right不等于Freq_New,则进入“步骤2”。
2.若Freq_New等于Freq _0,同样需要将SYMBOL值大的放在右边。即若Symbol_0大于Symbol_Set,则将该子模块符号和频数都置位。否则保持不变。若Freq_New不等于Freq _0,则进入“步骤3”。
3.若Freq_New大于Freq_Right,则将该子模块的算符号和频数都置为左边子模块的值。否则进入“步骤4”。
4.若Freq_New大于Freq _0,将该子模块的符号和频数置位。否则进入“步骤5”。
5.若以上条件都不满足,则该子模块里的值保持不变。
另外,该子模块还有几个输入输出信号。Input_symbol为输入信号,代表新统计的字符,与子模块中的寄存器Symbol_0作对比,若Input_symbol与Symbol_0相等,则使能信号Symbol_EN会变为1(Symbol_EN信号为输出信号,用来在外部做一些数据更新的判断)。
最后还存在一个判断该子模块的FERQ值是否为0的输出信号Z_EN(图中未示出),主要用来在主电路中寻找两个非零的且频数最小的符号,在第二阶段会使用。

Claims (5)

1.一种用于静态霍夫曼表生成的全并行频数生成电路结构,其特征在于,包括257个Cell子模块:Cell_0子模块、Cell_1子模块、…、Cell_256子模块,以及信号发生模块;每个Cell子模块存储有符号值SYMBOL和该符号值对应的频数值FREQ;输入字符的值的范围为0-255,Cell_256子模块用于提供取反码点;各Cell子模块接收信号Input_symbol,当前子模块的输出信号Freq_out与Symbol_out接入下一级子模块,分别作为下一级子模块的输入的控制信号Freq_Right和Symbol_Right;下一级子模块根据输入的控制信号决定自身存储的符号值SYMBOL和频数值FREQ是否发生变化;被输入新的一个字符后,该子模块存储的对应的符号频数值FREQ发生改变,从而更新该子模块的控制信号Symbol_EN,Freq_New 和Symbol_Set;信号Symbol_EN通过所述信号发生模块更新信号Shift_EN的值来选定需要更新的子模块,选定完成后,通过信号Freq_New 和Symbol_Set来实现对各个模块的更新。
2.一种采用权利要求1所述的电路结构进行的全并行频数生成方法,其特征在于,每个Cell子模块包含置位Freq_New、保持Freq_0和移位Freq_Right三种更新方式,更新方式的选择由输入的控制信号shift_EN、Min_EN、SORT;Freq_Right、Freq_New、Freq _0的大小关系,以及Symbol_Set、Symbol_0、Symbol_ Right的大小关系来选择;shift_EN控制子模块数据的更新;若shift_EN为1,表示该子模块需要更新,若为0,则该子模块的值保持不变;Min_EN为1表示该模块符号最小,则将其频数置零,符号置为左边子模块的符号;当SORT为1,shift_EN为1,Min_EN为0时,则根据Freq_Right、Freq_New、Freq_0的关系来判断。
3.根据权利要求2所述的全并行频数生成方法,其特征在于,所述判断的过程如下:
步骤1:若Freq_Right等于Freq_New,需要将符号值SYMBOL大的放在右边;即若Symbol_Right大于等于Symbol_Set,则将该子模块符号和频数都置位为左边子模块的值;若Symbol_0大于Symbol_Set或者Freq _0不等于Freq_Right,则将该子模块符号和频数都置位;若都不满足,则符号和频数值都保持不变;若Freq_Right不等于Freq_New,则进入步骤2;
步骤2:若Freq_New等于Freq _0,则将符号值SYMBOL大的放在右边;即若Symbol_0大于Symbol_Set,则将该子模块符号和频数都置位,否则保持不变;若Freq_New不等于Freq _0,则进入步骤3;
步骤3:若Freq_New大于Freq_Right,则将该子模块的符号和频数都置为左边子模块的值;否则进入步骤4;
步骤4.若Freq_New大于Freq _0,则将该子模块的符号和频数置位,否则进入步骤5;
步骤5:若以上条件都不满足,则该子模块里的值保持不变。
4.根据权利要求3所述的全并行频数生成方法,其特征在于,还包括代表新统计的字符的输入信号Input_symbol,其与子模块中的寄存器Symbol_0作对比,若Input_symbol与Symbol_0相等,则使能信号Symbol_EN变为1。
5.根据权利要求3所述的全并行频数生成方法,其特征在于,还包括能够判断当前子模块的频数值FREQ是否为0的输出信号Z_EN,用于在主电路中寻找两个非零的且频数最小符号,并在第二阶段中使用。
CN201910302433.5A 2019-04-16 2019-04-16 用于静态霍夫曼表生成的全并行频数生成电路结构与方法 Active CN110072114B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910302433.5A CN110072114B (zh) 2019-04-16 2019-04-16 用于静态霍夫曼表生成的全并行频数生成电路结构与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910302433.5A CN110072114B (zh) 2019-04-16 2019-04-16 用于静态霍夫曼表生成的全并行频数生成电路结构与方法

Publications (2)

Publication Number Publication Date
CN110072114A true CN110072114A (zh) 2019-07-30
CN110072114B CN110072114B (zh) 2021-04-09

Family

ID=67367754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910302433.5A Active CN110072114B (zh) 2019-04-16 2019-04-16 用于静态霍夫曼表生成的全并行频数生成电路结构与方法

Country Status (1)

Country Link
CN (1) CN110072114B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332854A (zh) * 2020-11-27 2021-02-05 平安普惠企业管理有限公司 霍夫曼编码的硬件实现方法、装置及存储介质
CN112969074A (zh) * 2021-02-01 2021-06-15 西南交通大学 一种应用于静态霍夫曼表的全并行频数排序生成方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626504A (zh) * 2008-07-09 2010-01-13 上海飞来飞去多媒体创意有限公司 一种高速jpeg解码的方法
US9258013B1 (en) * 2015-09-01 2016-02-09 Rockwell Collins, Inc. Data compression with Huffman code on multicore processors
CN107257463A (zh) * 2011-11-07 2017-10-17 太阳专利托管公司 图像编码方法和图像编码装置
CN107294539A (zh) * 2017-05-23 2017-10-24 浙江大学 一种准动态霍夫曼硬件编码器及编码方法
CN206712982U (zh) * 2017-04-25 2017-12-05 福州大学 一种用于VLSI设计的Huffman编码系统
CN107565974A (zh) * 2017-08-14 2018-01-09 同济大学 一种静态哈夫曼并行全编码实现方法
JP2019022040A (ja) * 2017-07-14 2019-02-07 株式会社シキノハイテック 画像復号化装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626504A (zh) * 2008-07-09 2010-01-13 上海飞来飞去多媒体创意有限公司 一种高速jpeg解码的方法
CN107257463A (zh) * 2011-11-07 2017-10-17 太阳专利托管公司 图像编码方法和图像编码装置
US9258013B1 (en) * 2015-09-01 2016-02-09 Rockwell Collins, Inc. Data compression with Huffman code on multicore processors
CN206712982U (zh) * 2017-04-25 2017-12-05 福州大学 一种用于VLSI设计的Huffman编码系统
CN107294539A (zh) * 2017-05-23 2017-10-24 浙江大学 一种准动态霍夫曼硬件编码器及编码方法
JP2019022040A (ja) * 2017-07-14 2019-02-07 株式会社シキノハイテック 画像復号化装置
CN107565974A (zh) * 2017-08-14 2018-01-09 同济大学 一种静态哈夫曼并行全编码实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHIXIONG DI: "A high speed SoftMax VLSI architecture based on basic-split", 《2018 14TH IEEE INTERNATIONAL CONFERENCE ON SOLID-STATE AND INTEGRATED CIRCUIT TECHNOLOGY 》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332854A (zh) * 2020-11-27 2021-02-05 平安普惠企业管理有限公司 霍夫曼编码的硬件实现方法、装置及存储介质
CN112969074A (zh) * 2021-02-01 2021-06-15 西南交通大学 一种应用于静态霍夫曼表的全并行频数排序生成方法
CN112969074B (zh) * 2021-02-01 2021-11-16 西南交通大学 一种应用于静态霍夫曼表的全并行频数排序生成方法

Also Published As

Publication number Publication date
CN110072114B (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN102687404B (zh) 用于数据压缩的数据值出现信息
CN102550027B (zh) 用于图像和视频压缩的局部可变量化和混合可变长度编码
CN1093669C (zh) 运动图像对比度增强的直方图均衡装置及其方法
CN101800897B (zh) 解码设备和解码方法
CN110072114A (zh) 用于静态霍夫曼表生成的全并行频数生成电路结构与方法
US6611620B1 (en) Reversible coding method, reversible coding apparatus, and memory medium used therein
CN109618157A (zh) 一种视频显示流压缩编码的硬件实现系统及方法
CN107862161A (zh) 一种基于层次化处理与分簇约束的多阈值单元替换方法
CN200956040Y (zh) 一种数字示波器
CN101547368A (zh) 一种图像中参考帧的处理装置、方法以及解码器
JP3593884B2 (ja) 符号化装置および復号装置
US5768425A (en) Method and system for improved threshold based screening
US6055273A (en) Data encoding and decoding method and device of a multiple-valued information source
CN102855305A (zh) 数据升级方法与装置
CN113038125A (zh) 帧内预测模式选择方法、装置、设备及存储介质
CN103248896A (zh) Mq算术编码器
CN102088607A (zh) 基于jpeg2000标准的mq编码方法和电路
CN102263881A (zh) 半色调图像调频挂网处理方法及装置
CN107277553A (zh) 一种二元算术编码器
CN112306859B (zh) 一种改进的软件自适应测试方法
CN106231303A (zh) 一种hevc编码中使用预测模式进行复杂度控制的方法
CN102215383A (zh) 一种基于h.264的cavlc编码器的实现方法
US20010017943A1 (en) Image filter circuit and image filtering method
CN110362580A (zh) 一种bim建筑工程数据检索优化归类方法及其系统
CN108012151A (zh) 一种基于贝叶斯分类的自适应运动矢量精度快速选择方法与装置

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