1.一种霍夫曼编码的硬件实现方法,其特征在于,所述方法包括:
读取待编码字符串,并通过多个计数器对所述待编码字符串的各个字符值进行统计,得到所述待编码字符串的字符值的数量n和各字符值的频数;
构建n个第一结构体,其中,所述第一结构体的属性包括字符值、第一频数和第一编码值,所述第一频数对应所述字符值的频数;
构建与所述n个第一结构体一一对应的n个第二结构体,其中,所述第二结构体的属性包括第二频数,所述第二频数为与所述第二结构体对应的第一结构体的第一频数之和;
根据所述第二结构体的第二频数,循环更新所述第二结构体和所述第一结构体之间的对应关系,并根据所述第二结构体和所述第一结构体之间的对应关系更新所述第一结构体的第一编码值,以生成各字符值的霍夫曼编码值。
2.根据权利要求1所述的方法,其特征在于,所述根据第二结构体的第二频数,循环更新所述第二结构体和所述第一结构体之间的对应关系,并根据所述第二结构体和所述第一结构体之间的对应关系更新所述第一结构体的第一编码值,以生成各字符值的霍夫曼编码值,包括:根据所述第二结构体的第二频数,对所述第二结构体进行排序;
根据所述第二结构体的排序结果,查找到所述第二频数中的最小频数和次小频数,以及查找到最小频数第二结构体和次小频数第二结构体;
对所述最小频数第二结构体的第二频数和次小频数第二结构体的第二频数进行更新,以及对与所述最小频数第二结构体和所述次小频数第二结构体对应的第一结构体的第一编码值进行更新;
建立所述最小频数第二结构体对应的第一结构体与所述次小频数第二结构体之间的对应关系,删除所述最小频数第二结构体与所有第一结构体之间的对应关系;
循环操作上述步骤,直至得到一个与全部第一结构体均存在对应关系的第二结构体,并将所述各第一结构体的第一编码值作为各字符值的霍夫曼编码值。
3.根据权利要求2所述的方法,其特征在于,所述根据第二结构体的第二频数,对所述第二结构体进行排序,包括:通过比较器阵列逐一的将每两个第二结构体的第二频数进行比较,得到每个第二结构体每一轮比较后的频数比较值;
通过加法器对每个第二结构体每一轮比较后的频数比较值进行求和,得到每个第二结构体的频数比较总和;
根据所述每个第二结构体的频数比较总和,对所述第二结构体进行排序。
4.根据权利要求3所述的方法,其特征在于,所述根据第二结构体的排序结果,查找到所述第二频数中的最小频数和次小频数,以及查找到最小频数第二结构体和次小频数第二结构体,包括:通过多个比较器,将所述每个第二结构体的频数比较总和与最小频数对应的比较值和次小频数对应的比较值进行比较,查找到所述第二频数中的最小频数和次小频数;
通过多路复用器,根据所述第二频数中的最小频数和次小频数,查找到最小频数第二结构体和次小频数第二结构体。
5.根据权利要求2所述的方法,其特征在于,所述对最小频数第二结构体的第二频数和次小频数第二结构体的第二频数进行更新,以及对与所述最小频数第二结构体和所述次小频数第二结构体对应的第一结构体的第一编码值进行更新,包括:通过多位加法器,对所述第二频数中的最小频数和次小频数进行求和,得到最小频数和次小频数的频数之和;
将所述最小频数第二结构体的第二频数更新为无效值,将所述次小频数第二结构体的第二频数更新为所述最小频数和次小频数的频数之和;
将与所述最小频数第二结构体对应的第一结构体的第一编码值左移一位后在最后一位补入第一数值,将与所述次小频数第二结构体对应的第一结构体的第一编码值左移一位后在最后一位补入第二数值。
6.根据权利要求1所述的方法,其特征在于,所述第二结构体的属性还包括唯一标识,所述第一结构体的属性还包括与所述第一结构体对应的第二结构体的唯一标识;
则所述更新所述第二结构体和所述第一结构体之间的对应关系,包括:
更新所述与第一结构体对应的第二结构体的唯一标识。
7.根据权利要求1所述的方法,其特征在于,所述第一结构体的属性还包括第一编码长度;则所述方法还包括:根据所述第二结构体和所述第一结构体之间的对应关系更新所述第一结构体的第一编码长度,以生成各字符值的霍夫曼编码值码长。
8.一种霍夫曼编码的硬件实现装置,其特征在于,所述装置包括:
字符串读取模块,用于读取待编码字符串,并通过多个计数器对所述待编码字符串的各个字符值进行统计,得到所述待编码字符串的字符值的数量n和各字符值的频数;
第一结构体构建模块,用于构建n个第一结构体,其中,所述第一结构体的属性包括字符值、第一频数和第一编码值,所述第一频数对应所述字符值的频数;
第二结构体构建模块,用于构建与所述n个第一结构体一一对应的n个第二结构体,其中,所述第二结构体的属性包括第二频数,所述第二频数为与所述第二结构体对应的第一结构体的第一频数之和;
循环编码模块,用于根据所述第二结构体的第二频数,循环更新所述第二结构体和所述第一结构体之间的对应关系,并根据所述第二结构体和所述第一结构体之间的对应关系更新所述第一结构体的第一编码值,以生成各字符值的霍夫曼编码值。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。