CN117375631A - 一种基于哈夫曼编码的快速编码方法 - Google Patents
一种基于哈夫曼编码的快速编码方法 Download PDFInfo
- Publication number
- CN117375631A CN117375631A CN202311667581.XA CN202311667581A CN117375631A CN 117375631 A CN117375631 A CN 117375631A CN 202311667581 A CN202311667581 A CN 202311667581A CN 117375631 A CN117375631 A CN 117375631A
- Authority
- CN
- China
- Prior art keywords
- data
- frequency
- segment
- node
- encoded
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000011218 segmentation Effects 0.000 claims abstract description 59
- 238000010606 normalization Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据编码技术领域,具体涉及一种基于哈夫曼编码的快速编码方法。方法包括:获取网页文本数据;基于网页文本数据中各类字符的频率得到待编码的网页文本数据对应的频率分布指标和频率差异值,进而确定每个频率差异值对应的优选程度;基于优选程度确定分段节点,基于分段节点对频率序列进行划分获得分段节点对应的数据段;根据各数据段中频率数据的分布情况,判断是否再次对各数据段进行划分,若是,则继续确定新的分段节点,基于新的分段节点对所对应的数据段进行划分获得各分段节点对应的数据段;基于各分段节点对应的数据段构建哈夫曼编码树,对网页文本数据进行编码存储。本发明提高了网页文本数据的编码效率。
Description
技术领域
本发明涉及数据编码技术领域,具体涉及一种基于哈夫曼编码的快速编码方法。
背景技术
目前大量的电子信息数据替代了传统的纸质文本数据,随着信息数据的不断增加,有效的压缩方法对信息数据的压缩是非常有必要的。以网页文本数据为例,网页文本数据多种多样,存在大量的不同种类的字符,为了保证用户的使用体验,通常会对网页文本数据进行压缩,减小网页文本数据的大小,使用户的设备可以更好的加载页面内容。
传统的哈夫曼编码是一种较为快速的编码方法,通过遍历数据,获取字符的频率,不断将频率最小的两个字符频率相加,并将其放入频率序列中,不断遍历频率序列,直到频率序列中的所有数据相加完成截止。然而,在处理网络数据时,由于网页文本数据中存在大量的字符种类较多,且字符种类越多,在构建哈夫曼编码树时所需要的时间越长,进而使得网页文本数据的编码效率较低。
发明内容
为了解决现有方法在对网页文本数据进行编码处理时存在的编码效率较低的问题,本发明的目的在于提供一种基于哈夫曼编码的快速编码方法,所采用的技术方案具体如下:
本发明提供了一种基于哈夫曼编码的快速编码方法,该方法包括以下步骤:
获取待编码的网页文本数据;
基于待编码的网页文本数据中各类字符的频率构建频率序列;根据所述频率序列,分别得到待编码的网页文本数据对应的频率分布指标和频率差异值;根据所有频率差异值和所述频率分布指标,确定每个频率差异值对应的优选程度;
基于所述优选程度确定所述频率序列中的分段节点,基于所述分段节点对所述频率序列进行划分获得分段节点对应的各数据段;根据各数据段中频率数据的分布情况,判断是否再次对各数据段进行划分,若是,则继续确定新的分段节点,基于新的分段节点对所对应的数据段进行划分获得各分段节点对应的数据段;
基于各分段节点对应的数据段构建哈夫曼编码树,基于所述哈夫曼编码树对待编码的网页文本数据进行编码存储。
优选的,根据待编码的网页文本数据中各类字符的频率分布情况,得到待编码的网页文本数据对应的频率分布指标,包括:
将待编码的网页文本数据中所有种类的字符的平均频率与所有种类的字符的频率的中位数的差值,记为第一差值;
根据待编码的网页文本数据中所有种类的字符的频率的方差和所述第一差值,计算待编码的网页文本数据对应的频率分布指标。
优选的,采用如下公式计算待编码的网页文本数据对应的频率分布指标:
其中,D表示待编码的网页文本数据对应的频率分布指标,表示待编码的网页文本数据中所有种类的字符的平均频率,/>表示待编码的网页文本数据中所有种类的字符的频率的中位数,/>表示待编码的网页文本数据中的字符种类总数,/>表示待编码的网页文本数据中第i类字符的频率,norm( )表示归一化函数,/>表示预设调整参数,/>大于0。
优选的,所述基于待编码的网页文本数据中各类字符的频率构建频率序列,包括:
将待编码的网页文本数据中各类字符的频率按照从小到大的顺序进行排序,获得频率序列。
优选的,根据所述频率序列,得到频率差异值,包括:
分别将所述频率序列中每两个相邻频率数据中后一个频率数据与前一个频率数据的差值,记为频率差异值。
优选的,所述根据所有频率差异值和所述频率分布指标,确定每个频率差异值对应的优选程度,包括:
对于第a个频率差异值:
将第a个频率差异值与所述频率分布指标的比值,作为第a个频率差异值对应的优选程度。
优选的,所述基于所述优选程度确定所述频率序列中的分段节点,基于所述分段节点对所述频率序列进行划分获得分段节点对应的各数据段,包括:
在优选程度最大时对应的频率差异值所对应的两个频率数据之间插入新的数据点,将所述新的数据点作为分段节点对所述频率序列进行划分获得分段节点对应的两个数据段。
优选的,所述根据各数据段中频率数据的分布情况,判断是否再次对各数据段进行划分,若是,则继续确定新的分段节点,基于新的分段节点对所对应的数据段进行划分获得各分段节点对应的数据段,包括:
对于第j个数据段:
根据第j个数据段中所有频率数据获得第j个数据段划分的必要性指标;
若第j个数据段划分的必要性指标小于或等于预设阈值,则不再对第j个数据段进行划分;若第j个数据段划分的必要性指标大于预设阈值,则获得第j个数据段对应的频率差异序列中每个频率差异值对应的优选程度;基于优选程度确定第j个数据段中新的分段节点,基于第j个数据段中新的分段节点对第j个数据段进行划分获得新的分段节点对应的各数据段;根据新的分段节点对应的各数据段中频率数据的分布情况,判断是否再次对新的分段节点对应的各数据段进行划分,以此类推,直到对应数据段划分的必要性指标小于或等于预设阈值,获得各分段节点对应的数据段。
优选的,根据第j个数据段中所有频率数据获得第j个数据段划分的必要性指标,包括:
将第j个数据段中所有频率数据代入熵的计算公式中获得对应的熵值;
将所述熵值的负相关归一化结果作为第j个数据段划分的必要性指标。
优选的,所述基于各分段节点对应的数据段构建哈夫曼编码树,基于所述哈夫曼编码树对待编码的网页文本数据进行编码存储,包括:
基于分段节点的获取顺序获得分段节点的等级,其中,最先获得的分段节点的等级最高;
从最低级分段节点开始,将每两个最低级分段节点之间的所有频率数据利用哈夫曼编码构造编码树的方法来构造局部哈夫曼树,继续对下一级分段节点之间的所有频率数据构造局部哈夫曼树,以此类推,直到将所有频率数据合并为一个节点,获得哈夫曼编码树;
根据哈夫曼编码树对待编码的网页文本数据进行编码存储。
本发明至少具有如下有益效果:
本发明考虑到传统的哈夫曼编码在构建哈夫曼编码树时,需要不断重复遍历所有字符的频率数据来构建哈夫曼编码树,消耗大量的时间,使得对网页文本数据进行编码时的编码效率较低,本发明通过分析待编码的网页文本数据中各类字符频率间的差异确定多个分段节点,进而根据分段节点构建哈夫曼编码树,可以大幅度减少在构建哈夫曼编码树时所遍历的数据字符频率数量,节省大量的构建哈夫曼编码树的时间,提高了待编码的网页文本数据的编码效率,从而提升用户浏览网页文本数据时的加载速度和用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例所提供的一种基于哈夫曼编码的快速编码方法的流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于哈夫曼编码的快速编码方法进行详细说明如下。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种基于哈夫曼编码的快速编码方法的具体方案。
一种基于哈夫曼编码的快速编码方法实施例:
本实施例所针对的具体场景为:网页文本数据的数据量较大,为了保证用户的使用体验,通常会对网页文本数据进行压缩,减小网页文本数据的大小,使用户的设备可以更好的加载页面内容,本实施例通过分析待编码的网页文本数据中字符频率间的差异获取多级分段节点,根据分段节点构建多棵局部子哈夫曼树,可以大幅度减少在构建哈夫曼树时所遍历的数据字符频率数量,节省大量构建哈夫曼树的时间,从而提升用户浏览网页文本数据时的加载速度,提升用户使用体验。
本实施例提出了一种基于哈夫曼编码的快速编码方法,如图1所示,本实施例的一种基于哈夫曼编码的快速编码方法包括以下步骤:
步骤S1,获取待编码的网页文本数据。
网页文本数据是指在网页中以文本形式呈现的信息内容,它包括网页的标题、段落、标签、链接文本等文字内容。通常情况下,很多网站和服务都提供了应用程序接口(Application Program Interface,API),允许开发者以编程方式访问和获取网页相关的数据,可以通过使用网页的API获取特定网页的文本数据,然后处理和分析这些数据,本实施例使用网页的API获取待编码的网页文本数据。需要说明的是,本实施例获取的待编码的网页文本数据为对应网站允许被获取的数据。
至此,获取了待编码的网页文本数据。
步骤S2,基于待编码的网页文本数据中各类字符的频率构建频率序列;根据所述频率序列,分别得到待编码的网页文本数据对应的频率分布指标和频率差异值;根据所有频率差异值和所述频率分布指标,确定每个频率差异值对应的优选程度。
传统的哈夫曼编码通过重复遍历数据的频率表来构建哈夫曼编码树,在构建哈夫曼编码树时,字符的种类越多,消耗的时间较长。由于网页文本数据通常为自然语言文本,其中存在一些常用语以及一些生僻字,常用语、常用字词的使用频率高,网页文本数据中的各类字符的出现频率不同,这些字符之间的频率存在差异,本实施例将根据这些频率差异进行分析,对频率数据进行排序,并根据频率之间的差异获取多级频率分段节点,直接根据多级分段节点来构建哈夫曼编码树,剔除了不断重复遍历频率序列的过程,节省大量构建哈夫曼树的时间。
传统哈夫曼编码构建哈夫曼编码树的核心是通过反复合并频率最低的节点来完成的,直到只剩下一个根节点为止,这个过程需要不断的重复去遍历数据,消耗大量的时间,由于字符的频率存在一定的差异,因此可以根据字符的频率差异情况,来确定多级分段节点,并直接根据多级分段节点来构建哈夫曼编码树,节省了大量的构建哈夫曼编码树的时间。
基于此,本实施例首先获取待编码的网页文本数据中每类字符的频率,然后将待编码的网页文本数据中所有种类字符的频率按照从小到大的顺序进行排序,获得频率序列。接下来根据待编码的网页文本数据中各类字符的频率分布情况,得到待编码的网页文本数据对应的频率分布指标。具体地,将待编码的网页文本数据中所有种类的字符的平均频率与所有种类的字符的频率的中位数的差值,记为第一差值;根据待编码的网页文本数据中所有种类的字符的频率的方差和所述第一差值,计算待编码的网页文本数据对应的频率分布指标。待编码的网页文本数据对应的频率分布指标的具体计算公式为:
其中,D表示待编码的网页文本数据对应的频率分布指标,表示待编码的网页文本数据中所有种类的字符的平均频率,/>表示待编码的网页文本数据中所有种类的字符的频率的中位数,/>表示待编码的网页文本数据中的字符种类总数,/>表示待编码的网页文本数据中第i类字符的频率,norm( )表示归一化函数,/>表示预设调整参数,/>大于0。
频率分布指标的计算公式中引入预设调整参数是为了防止分母为0,本实施例中预设调整参数的值为1,在具体应用中,实施者可根据具体情况进行设置。表示第一差值,若待编码的网页文本数据中每类字符的频率都较小且较为集中,则第一差值较小。表示待编码的网页文本数据中所有种类的字符的频率的方差。当待编码的网页文本数据中各类字符的频率越靠前,则待编码的网页文本数据对应的频率分布指标越小;当待编码的网页文本数据中各类字符的频率越靠后,则待编码的网页文本数据对应的频率分布指标越大。
在传统哈夫曼编码树中,同一层哈夫曼编码树中的字符频率都较为接近,而不同层之间的字符频率会存在一定的差异,故可根据字符的频率差异确定频率的分段节点。
本实施例获得的频率分布指标可以反映出频率序列中的所有字符的频率的大概分布位置,即这些频率是分布在频率序列中靠前的位置还是分布在频率序列中靠后的位置。需要说明的是,若频率分布在频率序列中靠前的位置,则说明频率较小;若频率分布在频率序列中靠后的位置,则说明频率较大。若这些字符的频率都分布在频率较小的位置,则说明数据中频率较小的字符较多,且数据中频率较小的字符数量远高于频率较大的字符的数量,即说明在哈夫曼编码树中,层深较大的哈夫曼编码树层的分段节点数量越多;若这些字符的频率分布在频率较大的位置,此时则说明数据中频率较大的字符数量远高于频率较小的字符数量,即说明在哈夫曼编码树中,层深较小的哈夫曼编码树层的分段节点数量越多。因此本实施例根据频率分布位置获取每一级的分段节点。
本实施例分别将频率序列中每两个相邻频率数据中后一个频率数据与前一个频率数据的差值,记为频率差异值,也即频率序列中每两个相邻频率数据均对应一个频率差异值。频率差异值的总个数为n-1。
对于第a个频率差异值:将第a个频率差异值与所述频率分布指标的比值,作为第a个频率差异值对应的优选程度。在待编码的网页文本数据中各类字符的频率在频率序列中的整体分布位置都较为靠前,也即频率分布指标较小时,对于频率较大的数据,其相邻项的频率数据做差时的差异值也越大,差异值越大,则说明二者在不同的哈夫曼树层的可能性越大,在不同的哈夫曼树层,即说明二者为在不同的子哈夫曼树的可能性越大,故若待编码的网页文本数据中各类字符的频率在频率序列中的整体位置都较为靠前时,频率差异越大的数据的优选程度越高;在待编码的网页文本数据中各类字符的频率在频率序列中的整体分布位置都较为靠后,也即频率分布指标较大时,频率较大的数据分布较多,即在哈夫曼树中距离根节点较近的字符频率较多,此时较大频率的字符差异优先程度降低。采用该方法,能够获得每个频率差异值对应的优选程度。
步骤S3,基于所述优选程度确定所述频率序列中的分段节点,基于所述分段节点对所述频率序列进行划分获得分段节点对应的各数据段;根据各数据段中频率数据的分布情况,判断是否再次对各数据段进行划分,若是,则继续确定新的分段节点,基于新的分段节点对所对应的数据段进行划分获得各分段节点对应的数据段。
本实施例已经获得了每个频率差异值对应的优选程度,接下来将基于优选程度确定频率数据的分段节点。
具体地,在优选程度最大时对应的频率差异值所对应的两个频率数据之间插入新的数据点,将所述新的数据点作为分段节点对所述频率序列进行划分获得分段节点对应的两个数据段,将此时确定的分段节点作为一级分段节点。需要说明的是:此处插入新的数据点只是为了将频率序列中的数据划分为两个数据段,也即将优选程度最大时对应的频率差异值所对应的两个频率数据中前一个频率数据作为第一个数据段中的最后一个数据,将优选程度最大时对应的频率差异值所对应的两个频率数据中的后一个频率数据作为第二个数据段中的第一个数据,这两个数据段组合到一起即为频率序列。
本实施例将频率序列划分为了两个数据段,也即将待编码的网页文本数据中所有种类的字符的频率划分为了两部分,若某一部分内的数据离散程度较高,则此时确定数据的分段节点时,更容易使数据趋近于传统哈夫曼树的形状,而当该部分内的数据离散程度较低,即该部分内的频率数据较为集中,则此时贸然对该部分的频率数据继续进行划分,则会与传统哈夫曼树存在较大的差异,即压缩效果会下降较多,故本实施例分别对每个数据段进行分析,获得每个数据段划分的必要性指标。
对于第j个数据段:
将第j个数据段中所有频率数据代入熵的计算公式中获得对应的熵值;将所述熵值的负相关归一化结果作为第j个数据段划分的必要性指标。第j个数据段划分的必要性指标的具体计算公式为:
其中,表示第j个数据段划分的必要性指标,/>表示第j个数据段内频率数据的数量,/>表示第j个数据段内的第r个频率数据;/>表示以自然常数为底数的指数函数,/>表示以常数2为底数的对数函数。
表示频率数据的熵值,熵值越小,说明第j个数据段中的频率数据分布越离散,则此时对第j个数据段中的频率数据进行下一级节点划分时与传统哈夫曼编码树更近似,即压缩效果损失越小,对该部分数据继续进行划分的必要性越大。
若第j个数据段划分的必要性指标小于或等于预设阈值,则不再对第j个数据段进行划分;若第j个数据段划分的必要性指标大于预设阈值,则获得第j个数据段对应的频率差异序列中每个频率差异值对应的优选程度;优选程度的获取过程的步骤S2中已经进行了详细说明,因此此处不再对优选程度的获取过程进行赘述。需要说明的是:第j个数据段对应的频率差异序列是由第j个数据段中每两个相邻频率数据对应的频率差异值构成的序列。在第j个数据段对应的频率差异序列中,在优选程度最大时对应的频率差异值所对应的两个频率数据之间插入新的数据点,将新的数据点作为分段节点对第j个数据段进行划分获得分段节点对应的两个数据段,并将此时获取的分段节点作为二级分段节点。根据二级分段节点对应的各数据段中频率数据的分布情况,判断是否再次对新的分段节点对应的各数据段进行划分,以此类推,直到对应数据段划分的必要性指标小于或等于预设阈值,获得各分段节点对应的数据段。本实施例中预设阈值为0.5,在具体应用中,实施者可根据具体情况进行设置。
至此,采用本实施例提供的方法对频率序列进行了划分,并获得了各级分段节点对应的数据段。
步骤S4,基于各分段节点对应的数据段构建哈夫曼编码树,基于所述哈夫曼编码树对待编码的网页文本数据进行编码存储。
本实施例已经获得了各级分段节点对应的数据段,从一级分段节点开始,在其位置添加其后续所有多级分段节点,例如在该位置存在一级分段节点,最终的分段节点分到了十级,则将该位置原始的一级分段节点继续添加二级分段节点、三级分段节点、…、十级分段节点,即令高级节点包含低级节点;一级分段最高,十级分段最低,也即基于分段节点的获取顺序获得分段节点的等级,其中,最先获得的分段节点的等级最高。
从最低级分段节点开始,将每两个最低级分段节点之间的所有频率数据利用哈夫曼编码构造编码树的方法来构造局部哈夫曼树,继续对下一级分段节点之间的所有频率数据构造局部哈夫曼树,以此类推,不断重复上述步骤,直到将所有频率数据合并为一个节点,即可获得最终的哈夫曼编码树。
根据所构建出的哈夫曼编码树对待编码的网页文本数据进行编码存储,减小网页文本数据大小,以减少用户浏览该网页数据时所消耗的时间。
本实施例考虑到传统的哈夫曼编码在构建哈夫曼编码树时,需要不断重复遍历所有字符的频率数据来构建哈夫曼编码树,消耗大量的时间,使得对网页文本数据进行编码时的编码效率较低,本实施例通过分析待编码的网页文本数据中各类字符频率间的差异确定多个分段节点,进而根据分段节点构建哈夫曼编码树,可以大幅度减少在构建哈夫曼编码树时所遍历的数据字符频率数量,节省大量的构建哈夫曼编码树的时间,提高了待编码的网页文本数据的编码效率,从而提升用户浏览网页文本数据时的加载速度和用户的使用体验。
需要说明的是:以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于哈夫曼编码的快速编码方法,其特征在于,该方法包括以下步骤:
获取待编码的网页文本数据;
基于待编码的网页文本数据中各类字符的频率构建频率序列;根据所述频率序列,分别得到待编码的网页文本数据对应的频率分布指标和频率差异值;根据所有频率差异值和所述频率分布指标,确定每个频率差异值对应的优选程度;
基于所述优选程度确定所述频率序列中的分段节点,基于所述分段节点对所述频率序列进行划分获得分段节点对应的各数据段;根据各数据段中频率数据的分布情况,判断是否再次对各数据段进行划分,若是,则继续确定新的分段节点,基于新的分段节点对所对应的数据段进行划分获得各分段节点对应的数据段;
基于各分段节点对应的数据段构建哈夫曼编码树,基于所述哈夫曼编码树对待编码的网页文本数据进行编码存储。
2.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,根据待编码的网页文本数据中各类字符的频率分布情况,得到待编码的网页文本数据对应的频率分布指标,包括:
将待编码的网页文本数据中所有种类的字符的平均频率与所有种类的字符的频率的中位数的差值,记为第一差值;
根据待编码的网页文本数据中所有种类的字符的频率的方差和所述第一差值,计算待编码的网页文本数据对应的频率分布指标。
3.根据权利要求2所述的一种基于哈夫曼编码的快速编码方法,其特征在于,采用如下公式计算待编码的网页文本数据对应的频率分布指标:
其中,D表示待编码的网页文本数据对应的频率分布指标,表示待编码的网页文本数据中所有种类的字符的平均频率,/>表示待编码的网页文本数据中所有种类的字符的频率的中位数,/>表示待编码的网页文本数据中的字符种类总数,/>表示待编码的网页文本数据中第i类字符的频率,norm( )表示归一化函数,/>表示预设调整参数,/>大于0。
4.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,所述基于待编码的网页文本数据中各类字符的频率构建频率序列,包括:
将待编码的网页文本数据中各类字符的频率按照从小到大的顺序进行排序,获得频率序列。
5.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,根据所述频率序列,得到频率差异值,包括:
分别将所述频率序列中每两个相邻频率数据中后一个频率数据与前一个频率数据的差值,记为频率差异值。
6.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,所述根据所有频率差异值和所述频率分布指标,确定每个频率差异值对应的优选程度,包括:
对于第a个频率差异值:
将第a个频率差异值与所述频率分布指标的比值,作为第a个频率差异值对应的优选程度。
7.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,所述基于所述优选程度确定所述频率序列中的分段节点,基于所述分段节点对所述频率序列进行划分获得分段节点对应的各数据段,包括:
在优选程度最大时对应的频率差异值所对应的两个频率数据之间插入新的数据点,将所述新的数据点作为分段节点对所述频率序列进行划分获得分段节点对应的两个数据段。
8.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,所述根据各数据段中频率数据的分布情况,判断是否再次对各数据段进行划分,若是,则继续确定新的分段节点,基于新的分段节点对所对应的数据段进行划分获得各分段节点对应的数据段,包括:
对于第j个数据段:
根据第j个数据段中所有频率数据获得第j个数据段划分的必要性指标;
若第j个数据段划分的必要性指标小于或等于预设阈值,则不再对第j个数据段进行划分;若第j个数据段划分的必要性指标大于预设阈值,则获得第j个数据段对应的频率差异序列中每个频率差异值对应的优选程度;基于优选程度确定第j个数据段中新的分段节点,基于第j个数据段中新的分段节点对第j个数据段进行划分获得新的分段节点对应的各数据段;根据新的分段节点对应的各数据段中频率数据的分布情况,判断是否再次对新的分段节点对应的各数据段进行划分,以此类推,直到对应数据段划分的必要性指标小于或等于预设阈值,获得各分段节点对应的数据段。
9.根据权利要求8所述的一种基于哈夫曼编码的快速编码方法,其特征在于,根据第j个数据段中所有频率数据获得第j个数据段划分的必要性指标,包括:
将第j个数据段中所有频率数据代入熵的计算公式中获得对应的熵值;
将所述熵值的负相关归一化结果作为第j个数据段划分的必要性指标。
10.根据权利要求1所述的一种基于哈夫曼编码的快速编码方法,其特征在于,所述基于各分段节点对应的数据段构建哈夫曼编码树,基于所述哈夫曼编码树对待编码的网页文本数据进行编码存储,包括:
基于分段节点的获取顺序获得分段节点的等级,其中,最先获得的分段节点的等级最高;
从最低级分段节点开始,将每两个最低级分段节点之间的所有频率数据利用哈夫曼编码构造编码树的方法来构造局部哈夫曼树,继续对下一级分段节点之间的所有频率数据构造局部哈夫曼树,以此类推,直到将所有频率数据合并为一个节点,获得哈夫曼编码树;
根据哈夫曼编码树对待编码的网页文本数据进行编码存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667581.XA CN117375631B (zh) | 2023-12-07 | 2023-12-07 | 一种基于哈夫曼编码的快速编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667581.XA CN117375631B (zh) | 2023-12-07 | 2023-12-07 | 一种基于哈夫曼编码的快速编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117375631A true CN117375631A (zh) | 2024-01-09 |
CN117375631B CN117375631B (zh) | 2024-02-06 |
Family
ID=89394902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311667581.XA Active CN117375631B (zh) | 2023-12-07 | 2023-12-07 | 一种基于哈夫曼编码的快速编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117375631B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118018615A (zh) * | 2024-01-25 | 2024-05-10 | 中国兵器工业计算机应用技术研究所 | 一种基于带内网络遥测的遥测数据实时压缩方法和系统 |
CN118523779A (zh) * | 2024-07-22 | 2024-08-20 | 山东省科学院海洋仪器仪表研究所 | 基于传感技术的设备运行状态智能监控方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322442A (zh) * | 1999-07-20 | 2001-11-14 | 皇家菲利浦电子有限公司 | 用于压缩视频序列的编码方法 |
JP2006080927A (ja) * | 2004-09-09 | 2006-03-23 | Toa Corp | 符号化方法、符号化装置、復号化方法及び復号化装置 |
US20140336539A1 (en) * | 2011-11-11 | 2014-11-13 | Rutgers, The State University Of New Jersey | Methods for the Diagnosis and Treatment of Neurological Disorders |
CN111510156A (zh) * | 2020-06-03 | 2020-08-07 | 合肥师范学院 | 一种基于分段的哈夫曼动态压缩及解压大文件的方法 |
-
2023
- 2023-12-07 CN CN202311667581.XA patent/CN117375631B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322442A (zh) * | 1999-07-20 | 2001-11-14 | 皇家菲利浦电子有限公司 | 用于压缩视频序列的编码方法 |
JP2006080927A (ja) * | 2004-09-09 | 2006-03-23 | Toa Corp | 符号化方法、符号化装置、復号化方法及び復号化装置 |
US20140336539A1 (en) * | 2011-11-11 | 2014-11-13 | Rutgers, The State University Of New Jersey | Methods for the Diagnosis and Treatment of Neurological Disorders |
CN111510156A (zh) * | 2020-06-03 | 2020-08-07 | 合肥师范学院 | 一种基于分段的哈夫曼动态压缩及解压大文件的方法 |
Non-Patent Citations (1)
Title |
---|
陆军;刘大昕;: "常数级压缩方法的优化", 江苏大学学报(自然科学版), no. 01, pages 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118018615A (zh) * | 2024-01-25 | 2024-05-10 | 中国兵器工业计算机应用技术研究所 | 一种基于带内网络遥测的遥测数据实时压缩方法和系统 |
CN118523779A (zh) * | 2024-07-22 | 2024-08-20 | 山东省科学院海洋仪器仪表研究所 | 基于传感技术的设备运行状态智能监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117375631B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117375631B (zh) | 一种基于哈夫曼编码的快速编码方法 | |
US8037034B2 (en) | Methods of creating a dictionary for data compression | |
KR101515660B1 (ko) | 두 번의 패스를 통한 텍스트 스트링의 해시 추출 | |
CN116388767B (zh) | 用于软件开发数据的安全管理方法 | |
US6542640B1 (en) | Data compressing apparatus, reconstructing apparatus, and its method | |
CN116861041B (zh) | 一种电子公文处理方法及系统 | |
CN116610265B (zh) | 一种商务信息咨询系统的数据存储方法 | |
CN117216023B (zh) | 一种大规模网络数据存储方法及系统 | |
CN1135876C (zh) | 用于移动通信终端的短消息发送设备和方法 | |
CN115840799B (zh) | 一种基于深度学习的知识产权综合管理系统 | |
CN117290364B (zh) | 一种市场调查数据智能存储方法 | |
CN115543946A (zh) | 一种金融大数据优化存储方法 | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
CN116915259A (zh) | 基于物联网的仓配数据优化储存方法及系统 | |
CN115361026A (zh) | 一种lz系列压缩算法自适应优化方法 | |
CN110874526B (zh) | 一种文件相似性检测方法、装置、电子设备及存储介质 | |
CN114880318A (zh) | 一种基于数据标准实现自动化数据治理的方法及系统 | |
CN107832341B (zh) | Agnss用户去重统计方法 | |
US7519619B2 (en) | Facilitating document classification using branch associations | |
JP2006323575A (ja) | 文書検索システム、文書検索方法、文書検索プログラム及び記録媒体 | |
CN115913248A (zh) | 一种直播软件开发数据智能管理系统 | |
CN114443820A (zh) | 一种文本聚合方法以及文本推荐方法 | |
CN118445264B (zh) | 一种电子归档数据存储方法及系统 | |
CN109684442B (zh) | 一种文本检索方法、装置、设备及程序产品 | |
US20240184763A1 (en) | Data compression method, data decompression method, and electronic device |
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 |